diff options
author | praxeology_guy <praxeology_guy@protonmail.com> | 2017-03-07 16:28:49 -0500 |
---|---|---|
committer | bitcoindev <bitcoindev@gnusha.org> | 2017-03-07 21:29:00 +0000 |
commit | 87c19535cb961ca7c91979d1afbb28de6f14a60c (patch) | |
tree | 705872df24bdb5737e52a2082d3abec8912a171d | |
parent | 2f486ef3397310617d2afab746c796589bd9c208 (diff) | |
download | pi-bitcoindev-87c19535cb961ca7c91979d1afbb28de6f14a60c.tar.gz pi-bitcoindev-87c19535cb961ca7c91979d1afbb28de6f14a60c.zip |
[bitcoin-dev] A Commitment-suitable UTXO set "Balances" file data structure
-rw-r--r-- | 4b/7f34c6eb561d4b9432f76d8497edc3dcf673db | 278 |
1 files changed, 278 insertions, 0 deletions
diff --git a/4b/7f34c6eb561d4b9432f76d8497edc3dcf673db b/4b/7f34c6eb561d4b9432f76d8497edc3dcf673db new file mode 100644 index 000000000..63283038f --- /dev/null +++ b/4b/7f34c6eb561d4b9432f76d8497edc3dcf673db @@ -0,0 +1,278 @@ +Return-Path: <praxeology_guy@protonmail.com> +Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org + [172.17.192.35]) + by mail.linuxfoundation.org (Postfix) with ESMTPS id 98AD0B7D + for <bitcoin-dev@lists.linuxfoundation.org>; + Tue, 7 Mar 2017 21:29:00 +0000 (UTC) +X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 +Received: from mail3.protonmail.ch (mail3.protonmail.ch [185.70.40.25]) + by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 4C043136 + for <bitcoin-dev@lists.linuxfoundation.org>; + Tue, 7 Mar 2017 21:28:59 +0000 (UTC) +Date: Tue, 07 Mar 2017 16:28:49 -0500 +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; + s=default; t=1488922135; + bh=OZMN7hUoLdBaxrSkB4pV4ml6Bzbppp3rERXFNlDjOzM=; + h=To:From:Reply-To:Subject:Feedback-ID:From; + b=rW5xrIZSmzeSljNTL//goEw3STNOEzlrA4O8Dt3Mzs9MFnggKxgvFK22Zo2PN4+cb + 62xVpxl8yQS6pOEzLzNX8uORmRq9ZjQ2L6vSRmBpXcaQ91TZrx0k4kElALsBVJIXkZ + kj5ZVqnUCBwXRlsD7w1xxuKa9LhNF/UrRO7MNvIU= +To: "bitcoin-dev@lists.linuxfoundation.org" + <bitcoin-dev@lists.linuxfoundation.org> +From: praxeology_guy <praxeology_guy@protonmail.com> +Reply-To: praxeology_guy <praxeology_guy@protonmail.com> +Message-ID: <_Z0S6yfN2uS1b0SYoZzU9LMo3QQ967dyn0e12ep_aXJ8cNw8wTovQWED6mKg3PH0hb2yKEG-5Cv0xH3IC2cG5rczP5qo-xLtrjJMXW1uCss=@protonmail.com> +Feedback-ID: QNIhwEyXoeVc3U4MfcUYYZvMnUQl3-PbHr6DzMyDyTNHjRI1PsDP75XnKblbXk3lrG73CSsTOH1kyRSbuPf8Gw==:Ext:ProtonMail +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="b1_4bcc52d3ddb14a985aac9beca8a30044" +X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, + DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, + MIME_BASE64_BLANKS, + RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 +X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on + smtp1.linux-foundation.org +X-Mailman-Approved-At: Tue, 07 Mar 2017 21:38:50 +0000 +Subject: [bitcoin-dev] A Commitment-suitable UTXO set "Balances" file data + structure +X-BeenThere: bitcoin-dev@lists.linuxfoundation.org +X-Mailman-Version: 2.1.12 +Precedence: list +List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org> +List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, + <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> +List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> +List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> +List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> +List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, + <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> +X-List-Received-Date: Tue, 07 Mar 2017 21:29:00 -0000 + +This is a multi-part message in MIME format. + +--b1_4bcc52d3ddb14a985aac9beca8a30044 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: base64 + +QSBDb21taXRtZW50LXN1aXRhYmxlIFVUWE8gc2V0ICJCYWxhbmNlcyIgZmlsZSBkYXRhIHN0cnVj +dHVyZQotIEFsbG93cyBwcnVuZWQgbm9kZXMgdG8gc2F0aXNmeSBTUFYgbm9kZXMKLSBBbGxvd3Mg +cHJ1bmVkIG5vZGVzIHRvIHRydXN0bGVzc2x5IHN0YXJ0IHN5bmNocm9uaXppbmcgYXQgYSBCYWxh +bmNlcyBmaWxlJ3MgYmxvY2sgaGVpZ2h0IGluc3RlYWQgb2YgdGhlIGdlbmVzaXMgYmxvY2sKLSBB +bGxvd3MgYWxsIG5vZGVzIGluIHRoZSBuZXR3b3JrIHRvIHZlcmlmeSB0aGVpciBVVFhPIHNldCdz +IGRhdGEgaW50ZWdyaXR5CgpGb3IgdGhpcyB0byB3b3JrLCBCaXRjb2luIHdvdWxkIG5lZWQgYSBu +ZXcgcG9saWN5OgotIEEgVVRYTyBjb21taXRtZW50IGlzIG1hZGUgZXZlcnkgIkJhbGFuY2VzL1VU +WE8gQ29tbWl0bWVudCBQZXJpb2QiIChCQ1ApIGJsb2Nrcy4gVGhlIFVUWE8gY29tbWl0bWVudCBp +cyBtYWRlIG9uIHRoZSBzdGF0ZSBvZiB0aGUgVVRYTyBhdCBCQ1AgYmxvY2tzIGFnby4gRm9yIGV4 +YW1wbGUsIGlmIEJDUCBpcyA1MDAwLCBhbmQgd2UgYXJlIGNyZWF0aW5nIGJsb2NrIDIwLDAwMCwg +dGhlbiBibG9jayAyMCwwMDAgd291bGQgY29udGFpbiBhIGNvbW1pdG1lbnQgb24gd2hhdCB0aGUg +c3RhdGUgb2YgdGhlIFVUWE8gd2FzIGF0IGJsb2NrIDE1LDAwMCwgcmlnaHQgYmVmb3JlIGFueSBj +aGFuZ2VzIGR1ZSB0byBibG9jayAxNSwwMDEuCi0gVGhlIGNvbW1pdG1lbnQgaXMgbWFkZSBvbiB0 +aGUgc3RhdGUgb2YgdGhlIFVUWE8gIkJDUCBibG9ja3MgYWdvIiBpbnN0ZWFkIG9mIHRoZSBVVFhP +IHN0YXRlIGF0IHRoZSB0aXAgYmVjYXVzZTogMS4gU3VjaCBhIGNvbW1pdG1lbnQgY2FuIGJlIG1h +ZGUgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZCBhbmQgbm90IGRlbGF5IG1pbmluZy9zeW5jaHJvbml6 +aW5nIG5vZGUgb3BlcmF0aW9uczsgMi4gVGhlIHdvcmsgb2YgY3JlYXRpbmcgdGhlIGNvbW1pdG1l +bnQgZG9lc24ndCBoYXZlIHRvIGJlIHJlZG9uZSBpbiB0aGUgY2FzZSBvZiBhIGZvcmsuCi0gVGhl +IGZpbGUvY29tbWl0bWVudCBpcyBtYWRlIGluIGEgYmFja2dyb3VuZCB0aHJlYWQsIHN0YXJ0aW5n +IGF0IGxlYXN0IEJDUC8yIGJsb2NrcyBhZnRlciB0aGUgbGFzdCBibG9jayBjb250YWluaW5nIGEg +dXR4byBjb21taXRtZW50LgoKQmFsYW5jZXMgZmlsZSBzdW1tYXJ5Ogp7CkhlYWRlcjogNDggYnl0 +ZXMKewpGaWxlIFR5cGU6IDQgYnl0ZXMKRmlsZSB2ZXJzaW9uOiA0IGJ5dGVzCnNpemUgb2YgYmFs +YW5jZXM6IDggYnl0ZXMKcm9vdCBoYXNoOiAzMiBieXRlcwp9CmJhbGFuY2VzOiAic2l6ZSBvZiBi +YWxhbmNlcyIgYnl0ZXMKYmFsYW5jZSBpbmRleDogInBpZWNlIGNvdW50IiAqIChOICsgNCkgYnl0 +ZXMsIE49NCBwcm9wb3NlZAptZXJrbGUgdHJlZSBoYXNoZXM6IH4gMiAqICJwaWVjZSBjb3VudCIg +KiAzMiBieXRlcwp9CgpiYWxhbmNlczogaXMgYSBsaXN0IG9mIGJhbGFuY2VzIHNvcnRlZCBieSB0 +eGlkOgp7Cmxlbmd0aDogNCBieXRlcwp0eGlkOiAzMiBieXRlcwpDQ29pbnM6IHZhcmlhYmxlIGxl +bmd0aCwgZGVwZW5kcyBvbiBVVFhPIHNpemUKfQoKQSAicGllY2UiIGlzIGxpa2UgaW4gYml0dG9y +cmVudCdzIHBpZWNlLiBJIHByb3Bvc2UgcGllY2Ugc2l6ZSA9IDMyKjEwMjQgYnl0ZXMuIDJHQiBv +ZiBiYWxhbmNlIGRhdGEgd291bGQgdGhlbiBiZSBkaXZpZGVkIGludG8gNjU1MzYgcGllY2VzLgoK +dHJhbnNhY3Rpb24gaW5kZXggaXMgYW4gYXJyYXkgKHdpdGggInBpZWNlIGNvdW50IiBlbGVtZW50 +cykgb2Y6CnsKdHhpeDogdGhlIGZpcnN0IE4gYnl0ZXMgb2YgYSB0eGlkLiBJJ20gcHJvcG9zaW5n +IE4gPSA0CnBpZWNlIG9mZnNldDogNCBieXRlcywgbG9jYXRpb24gb2YgdGhlIGZpcnN0IGJhbGFu +Y2UgaW4gdGhlIHBpZWNlLgp9CgptZXJrbGUgdHJlZSBoYXNoZXM6Ci0gYXJyYXkgb2YgInBpZWNl +IGNvdW50IiBsZWFmIGhhc2hlcywgaGFzaGluZyB0aGUgYmFsYW5jZSBwaWVjZXMKLSBhcnJheSBv +ZiAiKGNoaWxkIGxheWVyIGNvdW50ICsgMSkvMiIgbm9kZSBoYXNoZXMsIGhhc2hpbmcgcGFpcnMg +b2YgY2hpbGQgaGFzaGVzLCBvciBjb3B5aW5nIHVwIGlmIG9ubHkgb25lIGNoaWxkCi0gcmVwZWF0 +IF4gdW50aWwgdGhlIHJvb3QgaGFzaCBpcyB3cml0dGVuCi4uLiBleGNlcHQgcmV2ZXJzZSB0aGUg +bGF5ZXIgb3JkZXIuIEluIG90aGVyIHdvcmRzLCBpdCBzaG91bGQgYmUgYnJlYWR0aCBmaXJzdC4K +Cj09PT09PT09PT0KCkRhdGEgc3RydWN0dXJlIGRlc2lnbiBub3RlczoKLSBNb3N0IG9mIHRoZSBm +aWxlJ3Mgc3BhY2UgaXMgdXNlZCBieSB0aGUgYmFsYW5jZXMuIEZvciBleGFtcGxlLCBnaXZlbiBh +IDMya0IgcGllY2Ugc2l6ZSBhbmQgMkdCIGJhbGFuY2VzLCB0aGUgbm9uLWJhbGFuY2VzIGRhdGEg +b25seSBjb25zdW1lcyBhYm91dCA0LjVNQi4gSWYgTiB3YXMgaW5jcmVhc2VkIHRvIDMyLCB+Ni41 +TUIuCi0gcGllY2Ugc2l6ZSBzaG91bGQgYmUgc21hbGwgZW5vdWdoIHRoYXQgbm90IHRoYXQgbXVj +aCBlZmZvcnQgaXMgd2FzdGVkIHdoZW4gaW52YWxpZCBwaWVjZXMgYXJlIHJlY2VpdmVkLgotIHBp +ZWNlIHNpemUgc2hvdWxkIGFsc28gYmUgc21hbGwgaW4gdGhlIGNhc2UgdGhhdCB0aGlzIGRhdGEg +c3RydWN0dXJlIGlzIHVzZWQgaW5zdGVhZCBvZiBibG9jayBoaXN0b3J5IGZvciBTUFYgcHJvb2Yu +IFRoZW4gcHJ1bmVkIG5vZGVzIGNhbiBzYXRpc2Z5IFNQViBjbGllbnRzLgotIFRoZSBjaGlsZCBj +b3VudCA9IDIgbWVya2xlIHRyZWUgc3RydWN0dXJlIGlzIG9ubHkgbmVjZXNzYXJ5IGZvciBpZiB0 +aGlzIGRhdGEgc3RydWN0dXJlIGlzIHRvIGJlIHVzZWQgdG8gc2F0aXNmeSBTUFYgY2xpZW50cy4g +SWYgbm90IHVzZWQgZm9yIHN1Y2ggYSBwdXJwb3NlLCB0aGVuIHRlY2huaWNhbGx5IHRoZSByb290 +IGhhc2ggY291bGQgaGF2ZSB0aGUgbGVhZiBoYXNoZXMgYXMgaXQncyBkaXJlY3QgY2hpbGRyZW4u +IEJ1dCBwcmFjdGljYWxseSB0aGlzIGRvZXNuJ3QgbWFrZSBhIGRpZmZlcmVuY2U6IG1lcmtsZSB0 +cmVlIHNpemUgaXMgbm90aGluZyBjb21wYXJlZCB0byBzaXplb2YoYmFsYW5jZXMpLgotIFRoZSBv +bmx5IHB1cnBvc2Ugb2YgdGhlIGJhbGFuY2UgaW5kZXggaXMgdG8gc3VwcG9ydCBTUFYgY2xpZW50 +cwotIHR4aXggaXMgYSB0cnVuY2F0aW9uIG9mIHR4aWQgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZSBm +b3IgYSBmdWxseSBpbi1tZW1vcnkgaW5kZXggdG8gc3VwcG9ydCBTUFYgbm9kZXMuIE1heWJlIHRo +aXMgdHJ1bmNhdGlvbiBpc24ndCB3b3J0aHdoaWxlLgoKT3RoZXIgbm90ZXM6Ci0gV2UgY291bGQg +bWFrZSBCQ1AgNDM4MyBibG9ja3MsIHdoaWNoIHdvdWxkIGJlIDEyIHRpbWVzIHBlciB5ZWFyLCBn +aXZlbiBibG9jayBwZXJpb2Qgd2FzIGV4YWN0bHkgMTAgbWludXRlcy4gQnV0IHNpbmNlIGJsb2Nr +IHBlcmlvZCBpcyBub3QgZXhhY3RseSAxMCBtaW51dGVzLCBhbmQgZmlsZSBuYW1lcyBnZW5lcmF0 +ZWQgd2l0aCBwZXJpb2QgNDI4MyBhcmUgbXVjaCBsZXNzIGNvbXByZWhlbnNpYmxlIHRoYW4gZmls +ZSBuYW1lcyBnZW5lcmF0ZWQgd2l0aCBwZXJpb2QgNTAwMC4uLiBJIHByb3Bvc2UgNTAwMC4KLSBI +YXZpbmcgYSBzaG9ydGVyIEJDUCBwZXJpb2Qgd291bGQgcmVzdWx0IGluIG1vcmUgZnJlcXVlbnQg +Y2hlY2tzIG9uIFVUWE8gc2V0IGludGVncml0eSwgYW5kIHBlcm1pdCBuZXcgcHJ1bmluZyBub2Rl +cyB0byBzdGFydCBzeW5jaGluZyBjbG9zZXIgdG8gdGhlIHRpcC4gQnV0IGl0IG1heSByZXF1aXJl +IG5vZGVzIHRvIGtlZXAgbW9yZSBjb3BpZXMgb2YgdGhlIGJhbGFuY2VzIGZpbGUgdG8gc2F0aXNm +eSB0aGUgc2FtZSBiYWNrdXAgcGVyaW9kLCBhbmQgcmVxdWlyZSBtb3JlIGJhY2tncm91bmQgd29y +ayBvZiBjcmVhdGluZyBtb3JlIGJhbGFuY2VzIGZpbGVzLgoKPT09PT09PT09PT0KClN1Z2dlc3Rl +ZCBkZXNpZ24gY2hhbmdlIHRvIHRoZSBjaGFpbnN0YXRlICJDQ29pbnNWaWV3REIiIHV0eG8gZGF0 +YWJhc2U6Ci0gQXMgaXQgaXMgZGVzaWduZWQgbm93LCB0aGUgYWJvdmUgcHJvcG9zYWwgd291bGQg +cmVxdWlyZSBtYWludGFpbmluZyBhIGR1cGxpY2F0ZSBidXQgbGFnZ2luZyBVVFhPIGRhdGFiYXNl +LgotIEkgcHJvcG9zZSBjaGFuZ2luZyB0aGUgIkNDb2lucyIgZGF0YSBzdHJ1Y3R1cmUgc28gdGhh +dCBpdCBjYW4ga2VlcCB0cmFjayBvZiBzcGVuZHMgdGhhdCBzaG91bGRuJ3QgYmUgaW5jbHVkZWQg +aW4gdGhlIGNvbW1pdG1lbnQuIE1heWJlIGNhbGwgaXQgInZ0aXBzcGVuZHMiLgoKVGhlbiB0aGUg +cHJvY2VzcyBmb3IgdXBkYXRpbmcgdGhlIENDb2luc1ZpZXdEQiB3b3VsZCBiZToKMS4gTWFyayBh +IHR4byBhcyBzcGVudCBieSBhZGRpbmcgdGhlIHZvdXRfaXggdG8gdnRpcHNwZW5kcy4KMi4gU2V0 +TnVsbCgpIGFuZCBDbGVhbnVwKCkgZHVyaW5nIHRoZSBiYWNrZ3JvdW5kIHRocmVhZCB0aGF0IGNy +ZWF0ZXMgQmFsYW5jZXMgY29tbWl0bWVudHMuIHZ0aXBzcGVuZHMgd291bGQgYWxzbyBuZWVkIHRv +IGJlIGNsZWFuZWQuCi0gVGhlIG1ldGhvZCBmb3IgY2hlY2tpbmcgd2hldGhlciBhIHR4byB3YXMg +c3BlbnQgd291bGQgbmVlZCB0byBiZSBjaGFuZ2VkIHRvIGNoZWNrIHZ0aXBzcGVuZHMuCgpBdCB0 +aGUgc2FtZSB0aW1lLCBJIGtub3cgdGhlcmUgaXMgY3VycmVudGx5IGEgbG90IG9mIGNvZGUgY29t +cGxleGl0eSB3aXRoIGhhbmRsaW5nIGZvcmtzIGFuZCB0eG8gc3BlbmRzLiBMZXQgbWUgcHJvcG9z +ZSBzb21ldGhpbmcgdG8gaGFuZGxlIHRoaXMgYmV0dGVyIHRvbzoKLSB2dGlwc3BlbmRzIGNvdWxk +IGhvbGQge3ZvdXRfaXgsIGJsb2NraGFzaCB9IGluc3RlYWQgb2YganVzdCB2b3V0X2l4LgotIENo +ZWNraW5nIHdoZXRoZXIgYSB0eG8gaXMgc3BlbnQgd2lsbCB0aGVuIHJlcXVpcmUgYSBwYXJhbWV0 +ZXIgdGhhdCBzcGVjaWZpZXMgdGhlICJmb3JrIHRpcCBoYXNoIiBvciAiZm9yayBjaGFpbiIKClRo +ZW4gaW4gdGhlIGNhc2Ugb2YgYSBmb3JrLCBubyB3b3JrIGhhcyB0byBiZSBkb25lIHRvIHVwZGF0 +ZSB0aGUgdXR4byBkYXRhYmFzZS4uLiBpdCBpcyBpbW1lZGlhdGVseSByZWFkeSB0byBoYW5kbGUg +YW5zd2VyaW5nIHNwZW5kIHF1ZXN0aW9ucyBmb3IgYSBkaWZmZXJlbnQgZm9yay4KCkZlZWRiYWNr +IHdlbGNvbWUuIEZZSSBJIGhhdmUgY29kZWQgdXAgdGhlIGNyZWF0aW9uIG9mIHN1Y2ggYSBmaWxl +IGFscmVhZHkuLi4gU28gSSBhbSB3b3JraW5nIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiwgbm90IGp1 +c3QgdGhlIHNwZWMuIEknZCByZWFsbHkgbGlrZSB0byBoZWFyIHdoYXQgeW91IGd1eXMgdGhpbmsg +YWJvdXQgbXkgcHJvcG9zZWQgY2hhbmdlcyB0byBDQ29pbnMuCgpDaGVlcnMsClByYXhlb2xvZ3k= + + +--b1_4bcc52d3ddb14a985aac9beca8a30044 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: base64 + +PGRpdj5BIENvbW1pdG1lbnQtc3VpdGFibGUgVVRYTyBzZXQgIkJhbGFuY2VzIiBmaWxlIGRhdGEg +c3RydWN0dXJlPGJyPjwvZGl2PjxkaXY+LSBBbGxvd3MgcHJ1bmVkIG5vZGVzIHRvIHNhdGlzZnkg +U1BWIG5vZGVzPGJyPjwvZGl2PjxkaXY+LSBBbGxvd3MgcHJ1bmVkIG5vZGVzIHRvIHRydXN0bGVz +c2x5IHN0YXJ0IHN5bmNocm9uaXppbmcgYXQgYSBCYWxhbmNlcyBmaWxlJ3MgYmxvY2sgaGVpZ2h0 +IGluc3RlYWQgb2YgdGhlIGdlbmVzaXMgYmxvY2s8YnI+PC9kaXY+PGRpdj4tIEFsbG93cyBhbGwg +bm9kZXMgaW4gdGhlIG5ldHdvcmsgdG8gdmVyaWZ5IHRoZWlyIFVUWE8gc2V0J3MgZGF0YSBpbnRl +Z3JpdHk8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5Gb3IgdGhpcyB0byB3b3JrLCBCaXRj +b2luIHdvdWxkIG5lZWQgYSBuZXcgcG9saWN5Ojxicj48L2Rpdj48ZGl2Pi0gQSBVVFhPIGNvbW1p +dG1lbnQgaXMgbWFkZSBldmVyeSAiQmFsYW5jZXMvVVRYTyBDb21taXRtZW50IFBlcmlvZCIgKEJD +UCkgYmxvY2tzLiZuYnNwOyBUaGUgVVRYTyBjb21taXRtZW50IGlzIG1hZGUgb24gdGhlIHN0YXRl +IG9mIHRoZSBVVFhPIGF0IEJDUCBibG9ja3MgYWdvLiZuYnNwOyBGb3IgZXhhbXBsZSwgaWYgQkNQ +IGlzIDUwMDAsIGFuZCB3ZSBhcmUgY3JlYXRpbmcgYmxvY2sgMjAsMDAwLCB0aGVuIGJsb2NrIDIw +LDAwMCB3b3VsZCBjb250YWluIGEgY29tbWl0bWVudCBvbiB3aGF0IHRoZSBzdGF0ZSBvZiB0aGUg +VVRYTyB3YXMgYXQgYmxvY2sgMTUsMDAwLCByaWdodCBiZWZvcmUgYW55IGNoYW5nZXMgZHVlIHRv +IGJsb2NrIDE1LDAwMS48YnI+PC9kaXY+PGRpdj4tIFRoZSBjb21taXRtZW50IGlzIG1hZGUgb24g +dGhlIHN0YXRlIG9mIHRoZSBVVFhPICJCQ1AgYmxvY2tzIGFnbyIgaW5zdGVhZCBvZiB0aGUgVVRY +TyBzdGF0ZSBhdCB0aGUgdGlwIGJlY2F1c2U6IDEuIFN1Y2ggYSBjb21taXRtZW50IGNhbiBiZSBt +YWRlIGluIGEgYmFja2dyb3VuZCB0aHJlYWQgYW5kIG5vdCBkZWxheSBtaW5pbmcvc3luY2hyb25p +emluZyBub2RlIG9wZXJhdGlvbnM7IDIuIFRoZSB3b3JrIG9mIGNyZWF0aW5nIHRoZSBjb21taXRt +ZW50IGRvZXNuJ3QgaGF2ZSB0byBiZSByZWRvbmUgaW4gdGhlIGNhc2Ugb2YgYSBmb3JrLjxicj48 +L2Rpdj48ZGl2Pi0gVGhlIGZpbGUvY29tbWl0bWVudCBpcyBtYWRlIGluIGEgYmFja2dyb3VuZCB0 +aHJlYWQsIHN0YXJ0aW5nIGF0IGxlYXN0IEJDUC8yIGJsb2NrcyBhZnRlciB0aGUgbGFzdCBibG9j +ayBjb250YWluaW5nIGEgdXR4byBjb21taXRtZW50Ljxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48 +ZGl2PkJhbGFuY2VzIGZpbGUgc3VtbWFyeTo8YnI+PC9kaXY+PGRpdj57PGJyPjwvZGl2PjxkaXY+ +SGVhZGVyOiA0OCBieXRlczxicj48L2Rpdj48ZGl2Pns8YnI+PC9kaXY+PGRpdj5GaWxlIFR5cGU6 +IDQgYnl0ZXM8YnI+PC9kaXY+PGRpdj5GaWxlIHZlcnNpb246IDQgYnl0ZXM8YnI+PC9kaXY+PGRp +dj5zaXplIG9mIGJhbGFuY2VzOiA4IGJ5dGVzPGJyPjwvZGl2PjxkaXY+cm9vdCBoYXNoOiAzMiBi +eXRlczxicj48L2Rpdj48ZGl2Pn08YnI+PC9kaXY+PGRpdj5iYWxhbmNlczogInNpemUgb2YgYmFs +YW5jZXMiIGJ5dGVzPGJyPjwvZGl2PjxkaXY+YmFsYW5jZSBpbmRleDogInBpZWNlIGNvdW50IiAq +IChOICsgNCkgYnl0ZXMsIE49NCBwcm9wb3NlZDxicj48L2Rpdj48ZGl2Pm1lcmtsZSB0cmVlIGhh +c2hlczogfiAyICogInBpZWNlIGNvdW50IiAqIDMyIGJ5dGVzPGJyPjwvZGl2PjxkaXY+fTxicj48 +L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PmJhbGFuY2VzOiBpcyBhIGxpc3Qgb2YgYmFsYW5jZXMg +c29ydGVkIGJ5IHR4aWQ6PGJyPjwvZGl2PjxkaXY+ezxicj48L2Rpdj48ZGl2Pmxlbmd0aDogNCBi +eXRlczxicj48L2Rpdj48ZGl2PnR4aWQ6IDMyIGJ5dGVzPGJyPjwvZGl2PjxkaXY+Q0NvaW5zOiB2 +YXJpYWJsZSBsZW5ndGgsIGRlcGVuZHMgb24gVVRYTyBzaXplPGJyPjwvZGl2PjxkaXY+fTxicj48 +L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkEgInBpZWNlIiBpcyBsaWtlIGluIGJpdHRvcnJlbnQn +cyBwaWVjZS4mbmJzcDsgSSBwcm9wb3NlIHBpZWNlIHNpemUgPSAzMioxMDI0IGJ5dGVzLiZuYnNw +OyAyR0Igb2YgYmFsYW5jZSBkYXRhIHdvdWxkIHRoZW4gYmUgZGl2aWRlZCBpbnRvIDY1NTM2IHBp +ZWNlcy48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj50cmFuc2FjdGlvbiBpbmRleCBpcyBh +biBhcnJheSAod2l0aCAicGllY2UgY291bnQiIGVsZW1lbnRzKSBvZjo8YnI+PC9kaXY+PGRpdj57 +PGJyPjwvZGl2PjxkaXY+dHhpeDogdGhlIGZpcnN0IE4gYnl0ZXMgb2YgYSB0eGlkLiBJJ20gcHJv +cG9zaW5nIE4gPSA0PGJyPjwvZGl2PjxkaXY+cGllY2Ugb2Zmc2V0OiA0IGJ5dGVzLCBsb2NhdGlv +biBvZiB0aGUgZmlyc3QgYmFsYW5jZSBpbiB0aGUgcGllY2UuPGJyPjwvZGl2PjxkaXY+fTxicj48 +L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pm1lcmtsZSB0cmVlIGhhc2hlczo8YnI+PC9kaXY+PGRp +dj4tIGFycmF5IG9mICJwaWVjZSBjb3VudCIgbGVhZiBoYXNoZXMsIGhhc2hpbmcgdGhlIGJhbGFu +Y2UgcGllY2VzPGJyPjwvZGl2PjxkaXY+LSBhcnJheSBvZiAiKGNoaWxkIGxheWVyIGNvdW50ICsg +MSkvMiIgbm9kZSBoYXNoZXMsIGhhc2hpbmcgcGFpcnMgb2YgY2hpbGQgaGFzaGVzLCBvciBjb3B5 +aW5nIHVwIGlmIG9ubHkgb25lIGNoaWxkPGJyPjwvZGl2PjxkaXY+LSByZXBlYXQgXiB1bnRpbCB0 +aGUgcm9vdCBoYXNoIGlzIHdyaXR0ZW48YnI+PC9kaXY+PGRpdj4uLi4gZXhjZXB0IHJldmVyc2Ug +dGhlIGxheWVyIG9yZGVyLiBJbiBvdGhlciB3b3JkcywgaXQgc2hvdWxkIGJlIGJyZWFkdGggZmly +c3QuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT09PT09PT09PTxicj48L2Rpdj48ZGl2 +Pjxicj48L2Rpdj48ZGl2PkRhdGEgc3RydWN0dXJlIGRlc2lnbiBub3Rlczo8YnI+PC9kaXY+PGRp +dj4tIE1vc3Qgb2YgdGhlIGZpbGUncyBzcGFjZSBpcyB1c2VkIGJ5IHRoZSBiYWxhbmNlcy4mbmJz +cDsgRm9yIGV4YW1wbGUsIGdpdmVuIGEgMzJrQiBwaWVjZSBzaXplIGFuZCAyR0IgYmFsYW5jZXMs +IHRoZSBub24tYmFsYW5jZXMgZGF0YSBvbmx5IGNvbnN1bWVzIGFib3V0IDQuNU1CLiZuYnNwOyBJ +ZiBOIHdhcyBpbmNyZWFzZWQgdG8gMzIsIH42LjVNQi48YnI+PC9kaXY+PGRpdj4tIHBpZWNlIHNp +emUgc2hvdWxkIGJlIHNtYWxsIGVub3VnaCB0aGF0IG5vdCB0aGF0IG11Y2ggZWZmb3J0IGlzIHdh +c3RlZCB3aGVuIGludmFsaWQgcGllY2VzIGFyZSByZWNlaXZlZC48YnI+PC9kaXY+PGRpdj4tIHBp +ZWNlIHNpemUgc2hvdWxkIGFsc28gYmUgc21hbGwgaW4gdGhlIGNhc2UgdGhhdCB0aGlzIGRhdGEg +c3RydWN0dXJlIGlzIHVzZWQgaW5zdGVhZCBvZiBibG9jayBoaXN0b3J5IGZvciBTUFYgcHJvb2Yu +Jm5ic3A7IFRoZW4gcHJ1bmVkIG5vZGVzIGNhbiBzYXRpc2Z5IFNQViBjbGllbnRzLjxicj48L2Rp +dj48ZGl2Pi0gVGhlIGNoaWxkIGNvdW50ID0gMiBtZXJrbGUgdHJlZSBzdHJ1Y3R1cmUgaXMgb25s +eSBuZWNlc3NhcnkgZm9yIGlmIHRoaXMgZGF0YSBzdHJ1Y3R1cmUgaXMgdG8gYmUgdXNlZCB0byBz +YXRpc2Z5IFNQViBjbGllbnRzLiZuYnNwOyBJZiBub3QgdXNlZCBmb3Igc3VjaCBhIHB1cnBvc2Us +IHRoZW4gdGVjaG5pY2FsbHkgdGhlIHJvb3QgaGFzaCBjb3VsZCBoYXZlIHRoZSBsZWFmIGhhc2hl +cyBhcyBpdCdzIGRpcmVjdCBjaGlsZHJlbi4gQnV0IHByYWN0aWNhbGx5IHRoaXMgZG9lc24ndCBt +YWtlIGEgZGlmZmVyZW5jZTogbWVya2xlIHRyZWUgc2l6ZSBpcyBub3RoaW5nIGNvbXBhcmVkIHRv +IHNpemVvZihiYWxhbmNlcykuPGJyPjwvZGl2PjxkaXY+LSBUaGUgb25seSBwdXJwb3NlIG9mIHRo +ZSBiYWxhbmNlIGluZGV4IGlzIHRvIHN1cHBvcnQgU1BWIGNsaWVudHM8YnI+PC9kaXY+PGRpdj4t +IHR4aXggaXMgYSB0cnVuY2F0aW9uIG9mIHR4aWQgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZSBmb3Ig +YSBmdWxseSBpbi1tZW1vcnkgaW5kZXggdG8gc3VwcG9ydCBTUFYgbm9kZXMuJm5ic3A7IE1heWJl +IHRoaXMgdHJ1bmNhdGlvbiBpc24ndCB3b3J0aHdoaWxlLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rp +dj48ZGl2Pk90aGVyIG5vdGVzOjxicj48L2Rpdj48ZGl2Pi0gV2UgY291bGQgbWFrZSBCQ1AgNDM4 +MyBibG9ja3MsIHdoaWNoIHdvdWxkIGJlIDEyIHRpbWVzIHBlciB5ZWFyLCBnaXZlbiBibG9jayBw +ZXJpb2Qgd2FzIGV4YWN0bHkgMTAgbWludXRlcy4mbmJzcDsgQnV0IHNpbmNlIGJsb2NrIHBlcmlv +ZCBpcyBub3QgZXhhY3RseSAxMCBtaW51dGVzLCBhbmQgZmlsZSBuYW1lcyBnZW5lcmF0ZWQgd2l0 +aCBwZXJpb2QgNDI4MyBhcmUgbXVjaCBsZXNzIGNvbXByZWhlbnNpYmxlIHRoYW4gZmlsZSBuYW1l +cyBnZW5lcmF0ZWQgd2l0aCBwZXJpb2QgNTAwMC4uLiZuYnNwOyBJIHByb3Bvc2UgNTAwMC48YnI+ +PC9kaXY+PGRpdj4tIEhhdmluZyBhIHNob3J0ZXIgQkNQIHBlcmlvZCB3b3VsZCByZXN1bHQgaW4g +bW9yZSBmcmVxdWVudCBjaGVja3Mgb24gVVRYTyBzZXQgaW50ZWdyaXR5LCBhbmQgcGVybWl0IG5l +dyBwcnVuaW5nIG5vZGVzIHRvIHN0YXJ0IHN5bmNoaW5nIGNsb3NlciB0byB0aGUgdGlwLiZuYnNw +OyBCdXQgaXQgbWF5IHJlcXVpcmUgbm9kZXMgdG8ga2VlcCBtb3JlIGNvcGllcyBvZiB0aGUgYmFs +YW5jZXMgZmlsZSB0byBzYXRpc2Z5IHRoZSBzYW1lIGJhY2t1cCBwZXJpb2QsIGFuZCByZXF1aXJl +IG1vcmUgYmFja2dyb3VuZCB3b3JrIG9mIGNyZWF0aW5nIG1vcmUgYmFsYW5jZXMgZmlsZXMuPGJy +PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT09PT09PT09PT08YnI+PC9kaXY+PGRpdj48YnI+ +PC9kaXY+PGRpdj5TdWdnZXN0ZWQgZGVzaWduIGNoYW5nZSB0byB0aGUgY2hhaW5zdGF0ZSAiQ0Nv +aW5zVmlld0RCIiB1dHhvIGRhdGFiYXNlOjxicj48L2Rpdj48ZGl2Pi0gQXMgaXQgaXMgZGVzaWdu +ZWQgbm93LCB0aGUgYWJvdmUgcHJvcG9zYWwgd291bGQgcmVxdWlyZSBtYWludGFpbmluZyBhIGR1 +cGxpY2F0ZSBidXQgbGFnZ2luZyBVVFhPIGRhdGFiYXNlLjxicj48L2Rpdj48ZGl2Pi0gSSBwcm9w +b3NlIGNoYW5naW5nIHRoZSAiQ0NvaW5zIiBkYXRhIHN0cnVjdHVyZSBzbyB0aGF0IGl0IGNhbiBr +ZWVwIHRyYWNrIG9mIHNwZW5kcyB0aGF0IHNob3VsZG4ndCBiZSBpbmNsdWRlZCBpbiB0aGUgY29t +bWl0bWVudC4gTWF5YmUgY2FsbCBpdCAidnRpcHNwZW5kcyIuPGJyPjwvZGl2PjxkaXY+PGJyPjwv +ZGl2PjxkaXY+VGhlbiB0aGUgcHJvY2VzcyBmb3IgdXBkYXRpbmcgdGhlIENDb2luc1ZpZXdEQiB3 +b3VsZCBiZTo8YnI+PC9kaXY+PGRpdj4xLiBNYXJrIGEgdHhvIGFzIHNwZW50IGJ5IGFkZGluZyB0 +aGUgdm91dF9peCB0byB2dGlwc3BlbmRzLjxicj48L2Rpdj48ZGl2PjIuIFNldE51bGwoKSBhbmQg +Q2xlYW51cCgpIGR1cmluZyB0aGUgYmFja2dyb3VuZCB0aHJlYWQgdGhhdCBjcmVhdGVzIEJhbGFu +Y2VzIGNvbW1pdG1lbnRzLiZuYnNwOyB2dGlwc3BlbmRzIHdvdWxkIGFsc28gbmVlZCB0byBiZSBj +bGVhbmVkLjxicj48L2Rpdj48ZGl2Pi0gVGhlIG1ldGhvZCBmb3IgY2hlY2tpbmcgd2hldGhlciBh +IHR4byB3YXMgc3BlbnQgd291bGQgbmVlZCB0byBiZSBjaGFuZ2VkIHRvIGNoZWNrIHZ0aXBzcGVu +ZHMuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QXQgdGhlIHNhbWUgdGltZSwgSSBrbm93 +IHRoZXJlIGlzIGN1cnJlbnRseSBhIGxvdCBvZiBjb2RlIGNvbXBsZXhpdHkgd2l0aCBoYW5kbGlu +ZyBmb3JrcyBhbmQgdHhvIHNwZW5kcy4mbmJzcDsgTGV0IG1lIHByb3Bvc2Ugc29tZXRoaW5nIHRv +IGhhbmRsZSB0aGlzIGJldHRlciB0b286PGJyPjwvZGl2PjxkaXY+LSB2dGlwc3BlbmRzIGNvdWxk +IGhvbGQge3ZvdXRfaXgsIGJsb2NraGFzaCB9IGluc3RlYWQgb2YganVzdCB2b3V0X2l4Ljxicj48 +L2Rpdj48ZGl2Pi0gQ2hlY2tpbmcgd2hldGhlciBhIHR4byBpcyBzcGVudCB3aWxsIHRoZW4gcmVx +dWlyZSBhIHBhcmFtZXRlciB0aGF0IHNwZWNpZmllcyB0aGUgImZvcmsgdGlwIGhhc2giIG9yICJm +b3JrIGNoYWluIjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZW4gaW4gdGhlIGNhc2Ug +b2YgYSBmb3JrLCBubyB3b3JrIGhhcyB0byBiZSBkb25lIHRvIHVwZGF0ZSB0aGUgdXR4byBkYXRh +YmFzZS4uLiBpdCBpcyBpbW1lZGlhdGVseSByZWFkeSB0byBoYW5kbGUgYW5zd2VyaW5nIHNwZW5k +IHF1ZXN0aW9ucyBmb3IgYSBkaWZmZXJlbnQgZm9yay48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+ +PGRpdj5GZWVkYmFjayB3ZWxjb21lLiZuYnNwOyBGWUkgSSBoYXZlIGNvZGVkIHVwIHRoZSBjcmVh +dGlvbiBvZiBzdWNoIGEgZmlsZSBhbHJlYWR5Li4uIFNvIEkgYW0gd29ya2luZyBvbiB0aGUgaW1w +bGVtZW50YXRpb24sIG5vdCBqdXN0IHRoZSBzcGVjLiZuYnNwOyBJJ2QgcmVhbGx5IGxpa2UgdG8g +aGVhciB3aGF0IHlvdSBndXlzIHRoaW5rIGFib3V0IG15IHByb3Bvc2VkIGNoYW5nZXMgdG8gQ0Nv +aW5zLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNoZWVycyw8YnI+PC9kaXY+PGRpdj5Q +cmF4ZW9sb2d5PGJyPjwvZGl2Pg== + + + +--b1_4bcc52d3ddb14a985aac9beca8a30044-- + + |