Return-Path: Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 46AC0C0037; Fri, 22 Dec 2023 01:25:51 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 0D7D083C23; Fri, 22 Dec 2023 01:25:51 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 0D7D083C23 Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com header.a=rsa-sha256 header.s=protonmail3 header.b=Jv0Xnewj X-Virus-Scanned: amavisd-new at osuosl.org X-Spam-Flag: NO X-Spam-Score: -2.798 X-Spam-Level: X-Spam-Status: No, score=-2.798 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id B1MetZIrbJ1p; Fri, 22 Dec 2023 01:25:47 +0000 (UTC) Received: from mail-0301.mail-europe.com (mail-0301.mail-europe.com [188.165.51.139]) by smtp1.osuosl.org (Postfix) with ESMTPS id 2DC8E83C19; Fri, 22 Dec 2023 01:25:47 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 2DC8E83C19 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1703208338; x=1703467538; bh=8AKjgxDJrGdYXF0cASO8VNG5aCvj/us8/qij+Oc33aY=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=Jv0Xnewjc6fWHLIBllVV6zsNHZl6Bv7XjZKd7YtGdMsqp/1G5OnREzYqTNDtf50wR g7/AcdpFmpAFWgPh87poQZTXqFi60Qa2Srg2c410resI2Bbm1qM+wHr43TOQIg/s8b M8iBoJymnagJGHlOvMkDtIFdGQsjCY73h/wGmKiumxYZzoybmQFpQ20+CQQvRiR4Ct a6zODCV92WEJjZHAa38OfWLaLIz5FewqqxnAshMRA/uWwHIyE1JA6xsurl3QDgUU1U 2cADBnmFc+Xp6nw/Q6MRoViI0ZMJCEbEQTGZH7hQELART8RrxWN7h80xdGqQWAKcZ/ twYvXwAUUANig== Date: Fri, 22 Dec 2023 01:25:33 +0000 To: Antoine Riard From: jlspc Message-ID: In-Reply-To: References: Feedback-ID: 36436663:user:proton MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="b1_YvT7uxFWZ1dgb37npFGqN0abrT4PfFmMrHnf35cQjA" X-Mailman-Approved-At: Fri, 22 Dec 2023 14:24:29 +0000 Cc: Bitcoin Protocol Discussion , "lightning-dev@lists.linuxfoundation.org" Subject: Re: [bitcoin-dev] Scaling Lightning Safely With Feerate-Dependent Timelocks X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Dec 2023 01:25:51 -0000 This is a multi-part message in MIME format. --b1_YvT7uxFWZ1dgb37npFGqN0abrT4PfFmMrHnf35cQjA Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 SGkgQW50b2luZSwKClRoYW5rcyBmb3IgeW91ciB0aG91Z2h0ZnVsIHJlc3BvbnNlLgoKQ29tbWVu dHMgaW5saW5lIGJlbG93OgoKPiBIaSBKb2huLAoKPiBXaGlsZSB0aGUgaWRlYSBvZiB1c2luZyBz bGlkaW5nIHJlYWN0aW9uIHdpbmRvdyBmb3IgYmxvY2tjaGFpbiBjb25nZXN0aW9uCj4gZGV0ZWN0 aW9uIGhhcyBiZWVuIHByZXNlbnQgaW4gdGhlICJzbWFydCBjb250cmFjdCIgc3BhY2UgYXQgbGFy Z2UgWzBdIGFuZAo+IHRoaXMgaGFzIGJlZW4gZGlzY3Vzc2VkIGluZm9ybWFsbHkgYW1vbmcgTGln aHRuaW5nIGRldnMgYW5kIGNvdmVuYW50Cj4gZGVzaWduZXJzIGZldyB0aW1lcyBbMV0gWzJdLCB0 aGlzIGlzIHRoZSBmaXJzdCBhbmQgYmVzdCBmb3JtYWxpemF0aW9uIG9mCj4gc2xpZGluZy10aW1l LWxvY2tzIGluIGZ1bmN0aW9uIG9mIGJsb2NrIGZlZSByYXRlcyBmb3IgQml0Y29pbiBJJ20gYXdh cmUKPiBvZmYsIHRvIHRoZSBiZXN0IG9mIG15IGtub3dsZWRnZS4KClRoYW5rcyEKCj4gSGVyZSBt eSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBmZWVyYXRlLWRlcGVuZGVudCB0aW1lbG9jayBwcm9wb3Nh bC4KCj4gQSB0cmFuc2FjdGlvbiBjYW5ub3QgYmUgaW5jbHVkZWQgaW4gYSBibG9jazoKPiAtIGhl aWdodC1iYXNlZCBvciBlcG9jaC1iYXNlZCBhYnNvbHV0ZSBvciByZWxhdGl2ZSB0aW1lbG9ja3Mg YXJlIG5vdAo+IHNhdGlzZmllZCBhY2NvcmRpbmcgdG8gY3VycmVudCBjb25zZW5zdXMgcnVsZXMg KGJpcDY4IGFuZCBiaXAgMTEzIGFuZAo+IGltcGxlbWVudGF0aW9uIGRldGFpbHMpCj4gLSBsZXNz IHRoYW4gYGJsb2NrX2NvdW50YCBoYXMgYSBibG9jayBtZWRpYW4tZmVlcmF0ZSBhYm92ZSB0aGUK PiBtZWRpYW4tZmVlcmF0ZSBvZiB0aGUgYHdpbmRvd19zaXplYCBwZXJpb2QKCkl0J3MgYSBsaXR0 bGUgYml0IGRpZmZlcmVudCBmcm9tIHRoYXQuClRoZSB0cmFuc2FjdGlvbiBjYW5ub3QgYmUgaW5j bHVkZWQgaW4gdGhlIGJsb2NrY2hhaW4gdW50aWwgYWZ0ZXIgYW4gYWxpZ25lZCB3aW5kb3cgVyBv ZiB3aW5kb3dfc2l6ZSBibG9ja3Mgd2hlcmU6CjEpIFcgc3RhcnRzIG5vIHNvb25lciB0aGFuIHdo ZW4gdGhlIGhlaWdodC1iYXNlZCBvciBlcG9jaC1iYXNlZCBhYnNvbHV0ZSBhbmQvb3IgcmVsYXRp dmUgdGltZWxvY2tzIGhhdmUgYmVlbiBzYXRpc2ZpZWQsIGFuZAoyKSBXIGNvbnRhaW5zIGZld2Vy IHRoYW4gYmxvY2tfY291bnQgYmxvY2tzIHdpdGggbWVkaWFuIGZlZXJhdGUgZ3JlYXRlciB0aGFu IGZlZXJhdGVfdmFsdWVfYm91bmQuCgpOb3RlIHRoYXQgdGhlIGFsaWduZWQgd2luZG93IGNhbm5v dCBzdGFydCB1bnRpbCB0aGUgYWJzb2x1dGUgYW5kL29yIHJlbGF0aXZlIHRpbWVsb2NrcyBoYXZl IGJlZW4gc2F0aXNmaWVkIGFuZCB0aGUgdHJhbnNhY3Rpb24gaXRzZWxmIGhhcyB0byBjb21lIGFm dGVyIHRoZSBhbGlnbmVkIHdpbmRvdy4KSG93ZXZlciwgb25jZSBzdWNoIGFuIGFsaWduZWQgd2lu ZG93IGV4aXN0cyBpbiB0aGUgYmxvY2tjaGFpbiwgdGhlIHRyYW5zYWN0aW9uIGNhbiBhcHBlYXIg YXQgYW55IGxhdGVyIHRpbWUgKGFuZCBub3QganVzdCB3aXRoaW4gYSB3aW5kb3cgdGhhdCBpdHNl bGYgbWVldHMgdGhlIGJsb2NrX2NvdW50IGFuZCBmZWVyYXRlX3ZhbHVlX2JvdW5kIGxpbWl0YXRp b25zKS4KCj4gQSBtZWRpYW4gZmVlcmF0ZSBpcyBjb21wdXRlZCBmb3IgZWFjaCBibG9jay4KPiAo VGhpcyBpcyB1bmNsZWFyIHRvIG1lIGlmIHRoaXMgaXMgdGhlIGZlZXJhdGUgZm9yIGhhbGYgb2Yg dGhlIGJsb2NrJ3MKPiB3ZWlnaHQgb3IgdGhlIG1lZGlhbiBmZWVyYXRlIHdpdGggYWxsIHdlaWdo dCB1bml0cyBpbmNsdWRlZCBpbiB0aGUKPiBibG9jayBhcyB0aGUgc2FtcGxlKQoKQSBmZWVyYXRl IEYgaXMgdGhlIG1lZGlhbiBmZWVyYXRlIG9mIGEgYmxvY2sgQiBpZiBGIGlzIHRoZSBsYXJnZXN0 IGZlZXJhdGUgc3VjaCB0aGF0IHRoZSB0b3RhbCBzaXplIG9mIHRoZSB0cmFuc2FjdGlvbnMgaW4g QiB3aXRoIGZlZXJhdGUgZ3JlYXRlciBvciBlcXVhbCB0byBGIGlzIGF0IGxlYXN0IDIgbWlsbGlv biB2Ynl0ZXMuCgo+IEZyb20gdGhlbiwgeW91IGhhdmUgMyBwYXJhbWV0ZXJzIGluY2x1ZGVkIGlu IHRoZSBuU2VxdWVuY2UgZmllbGQuCj4gLSBmZWVyYXRlX3ZhbHVlX2JvdW5kCj4gLSB3aW5kb3df c2l6ZQo+IC0gYmxvY2tfY291bnQKCj4gVGhvc2UgcGFyYW1ldGVycyBjYW4gYmUgc2VsZWN0ZWQg YnkgdGhlIHRyYW5zYWN0aW9uIGJ1aWxkZXIgKGFuZAo+IGNvbW1pdHRlZCB3aXRoIGEgc2lnbmF0 dXJlIG9yIGhhc2ggY2hhaW4tYmFzZWQgY292ZW5hbnQpLgo+IEFzIHN1Y2gsIG9mZi1jaGFpbiBj b25zdHJ1Y3Rpb24gY291bnRlcnBhcnRpZXMgY2FuIHNlbGVjdCB0aGUKPiBmZWVyYXRlX3ZhbHVl X2JvdW5kIGF0IHdoaWNoIHRoZWlyIHRpbWUtc2Vuc2l0aXZlIHRyYW5zYWN0aW9uCj4gY29uZmly bWF0aW9uIHdpbGwgYmUgZGVsYXllZC4KCj4gRS5nIGxldCdzIHNheSB5b3UgaGF2ZSBhIExOLXBl bmFsdHkgQWxpY2UtQm9iIGNoYW5uZWwuIFNlY29uZC1zdGFnZQo+IEhUTEMgdHJhbnNhY3Rpb25z IGFyZSBwcmUtc2lnbmVkIHdpdGggZmVlcmF0ZV92YWx1ZV9ib3VuZCBhdCAxMDAgc2F0IC8KPiB2 Ynl0ZXMuCj4gVGhlIHdpbmRvd19zaXplIHNlbGVjdGVkIGlzIDEwMCBibG9ja3MgYW5kIHRoZSBi bG9ja19jb3VudCBpcyA3MCAodGhpcwo+IGd1YXJhbnRlZXMgdGFtcGVyaW5nLXJvYnVzdG5lc3Mg b2YgdGhlIGZlZXJhdGVfdmFsdWVfYm91bmQgaW4gZmFjZSBvZgo+IG1pbmVycyBjb2FsaXRpb25z KS4KCj4gVGhlcmUgaXMgMSBCVEMgb2ZmZXJlZCBIVExDIHBlbmRpbmcgd2l0aCBleHBpcmF0aW9u IHRpbWUgVCwgZnJvbSBBbGljZSB0byBCb2IuCgo+IElmIGF0IHRpbWUgVCwgdGhlIHBlci1ibG9j ayBtZWRpYW4gZmVlcmF0ZSBvZiBhdCBsZWFzdCA3MCBibG9ja3Mgb3Zlcgo+IHRoZSBsYXRlc3Qg MTAwIGJsb2NrIGlzIGFib3ZlIDEwMCBzYXQgLyB2Ynl0ZXMsIGFueSBBbGljZSdzCj4gSFRMQy10 aW1lb3V0IG9yIEJvYidzIEhUTEMtcHJlaW1hZ2UgY2Fubm90IGJlIGluY2x1ZGVkIGluIHRoZSBj aGFpbi4KClRoZSBydWxlcyBhcmUgYWN0dWFsbHk6CjEpIHdhaXQgdW50aWwgdGltZSBULCB0aGVu CjIpIHdhaXQgdW50aWwgdGhlIHN0YXJ0IG9mIGEgZnVsbCBhbGlnbmVkIHdpbmRvdyBXIHdpdGgg MTAwIGNvbnNlY3V0aXZlIGJsb2NrcyB0aGF0IHN0YXJ0cyBubyBlYXJsaWVyIHRoYW4gVCBhbmQg dGhhdCBoYXMgZmV3ZXIgdGhhbiA3MCBibG9ja3Mgd2l0aCBtZWRpYW4gZmVlcmF0ZSBhYm92ZSAx MDAgc2F0cy92Ynl0ZS4KKFRoZSB2YWx1ZXMgMTAwLCA3MCwgYW5kIDEwMCBjYW5ub3QgYWN0dWFs bHkgYmUgc2VsZWN0ZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIGluIHRoZSBwYXBlciwgYnV0IHRo YXQncyBhIHRlY2huaWNhbCBkZXRhaWwgYW5kIGNvdWxkIGJlIGNoYW5nZWQgaWYgdGhlIEZEVCBp cyBzcGVjaWZpZWQgaW4gdGhlIGFubmV4LCBhcyB5b3UgcHJvcG9zZS4pCgo+IEZyb20gbXkgdW5k ZXJzdGFuZGluZywgRmVlcmF0ZS1EZXBlbmRlbnQgVGltZWxvY2tzIGVmZmVjdGl2ZWx5Cj4gY29u c3RpdHV0ZSB0aGUgbGluZWFtZW50cyBvZiBhIHNvbHV0aW9uIHRvIHRoZSAiRm9yY2VkIEV4cGly YXRpb24KPiBTcGFtIiBhcyBkZXNjcmliZWQgaW4gdGhlIExOIHBhcGVyLgoKR3JlYXQhCgo+IEkg dGhpbmsgeW91IGhhdmUgZmV3IGRlc2lnbiBjYXZlYXRzIHRvIGJlIGF3YXJlIG9mZjoKPiAtIGZv ciBjdXJyZW50IExOLXBlbmFsdHksIHRoZSByZXZva2VhYmxlIHNjcmlwdHMgc2hvdWxkIGJlIG1v ZGlmaWVkIHRvCj4gZW5zdXJlIHRoZSBDU1Ygb3Bjb2RlIGluc3BlY3QgdGhlIGVuZm9yY2VtZW50 IG9mIEZEVCdzIHBhcmFtZXRlcnMsIGFzCj4gdGhvc2UgcmV2b2tlYWJsZSBzY3JpcHRzIGFyZSBj b21taXR0ZWQgYnkgYWxsIHBhcnRpZXMKClllcywgZGVmaW5pdGVseS4KCj4gLSB0aGVyZSBzaG91 bGQgYmUgYSBkZWxheSBwZXJpb2QgYXQgdGhlIGFkdmFudGFnZSBvZiBvbmUgcGFydHkKPiBvdGhl cndpc2UgeW91IHN0aWxsIGEgZmVlcmF0ZS1yYWNlIGlmIHRoZSByZXZvY2F0aW9uIGJpcDY4IHRp bWVsb2NrCj4gaGFzIGV4cGlyZWQgZHVyaW5nIHRoZSBGRFQgZGVsYXkKCj4gQXMgc3VjaCwgSSBi ZWxpZXZlIHRoZSBGRFQgcGFyYW1ldGVycyBzaG91bGQgYmUgZW5yaWNoZWQgd2l0aCBhbm90aGVy Cj4gcGFyYW1ldGVyIDogYGNsYWltX2dyYWNlX3BlcmlvZGAsIGEgbmV3IHR5cGUgb2YgcmVsYXRp dmUgdGltZWxvY2sgb2YKPiB3aGljaCB0aGUgZW5kcG9pbnQgc2hvdWxkIGJlIHRoZSBgZmVlcmF0 ZV92YWx1ZV9ib3VuZGAgaXRzZWxmLgoKSSdtIG5vdCBzdXJlIEknbSBmb2xsb3dpbmcgeW91ciBw cm9wb3NhbC4KQXJlIHlvdSBzdWdnZXN0aW5nIHRoYXQgdGhlIHRyYW5zYWN0aW9uIHdpdGggdGhl IEZEVCBoYXMgdG8gd2FpdCBhbiBhZGRpdGlvbmFsIGNsYWltX2dyYWNlX3BlcmlvZCBpbiBvcmRl ciB0byBhbGxvdyBjb25mbGljdGluZyB0cmFuc2FjdGlvbnMgZnJvbSB0aGUgb3RoZXIgcGFydHkg dG8gd2luIHRoZSByYWNlPwpGb3IgZXhhbXBsZSwgYXNzdW1lIHRoZSBIVExDLXN1Y2Nlc3MgdHJh bnNhY3Rpb24gaGFzIGEgaGlnaGVyIGZlZXJhdGUgdGhhbiB0aGUgZmVlcmF0ZV92YWx1ZV9ib3Vu ZCwgYW5kIHRoZSBjb25mbGljdGluZyBIVExDLXRpbWVvdXQgdHJhbnNhY3Rpb24gaGFzIGFuIEZE VCB3aXRoIHRoZSBmZWVyYXRlX3ZhbHVlX2JvdW5kIChhbmQgc3VpdGFibGUgd2luZG93X3NpemUg YW5kIGJsb2NrX2NvdW50IHBhcmFtZXRlcnMgdG8gZGVmZW5kIGFnYWluc3QgbWluZXIgYXR0YWNr cykuCkluIHRoaXMgY2FzZSwgaXMgdGhlIHdvcnJ5IHRoYXQgdGhlIEhUTEMtc3VjY2VzcyBhbmQg SFRMQy10aW1lb3V0IHRyYW5zYWN0aW9ucyBjb3VsZCBib3RoIGJlIGRlbGF5ZWQgdW50aWwgdGhl cmUgaXMgYSB3aW5kb3cgVyB0aGF0IG1lZXRzIHRoZSBGRFQncyBmZWVyYXRlX3ZhbHVlX2JvdW5k LCB3aW5kb3dfc2l6ZSBhbmQgYmxvY2tfY291bnQgcGFyYW1ldGVycywgYXQgd2hpY2ggcG9pbnQg dGhleSB3b3VsZCByYWNlIGFnYWluc3QgZWFjaCBvdGhlciBhbmQgZWl0aGVyIGNvdWxkIHdpbj8K SXMgdGhlIHJlYXNvbiB0byBkZWxheSB0aGUgSFRMQy10aW1lb3V0IGJ5IGFuIGFkZGl0aW9uYWwg Y2xhaW1fZ3JhY2VfcGVyaW9kIHRvIGd1YXJhbnRlZSB0aGF0IHRoZSBIVExDLXN1Y2Nlc3MgdHJh bnNhY3Rpb24gd2lsbCB3aW4gdGhlIHJhY2U/CklmIHNvLCBJIGRvbid0IHRoaW5rIGl0J3MgbmVl ZGVkLCBnaXZlbiB0aGUgZXhhY3QgZGVmaW5pdGlvbiBvZiB0aGUgRkRUIHByb3Bvc2FsLgpUaGlz IGlzIGJlY2F1c2UgKmR1cmluZyogdGhlIHdpbmRvdyBXIHRoYXQgbWVldHMgdGhlIEZEVCdzIHJl cXVpcmVtZW50cywgdGhlIEhUTEMtc3VjY2VzcyB0cmFuc2FjdGlvbiBzaG91bGQgZ2V0IG1pbmVk IGludG8gb25lIG9mIHRoZSBibG9ja3MgaW4gVyB0aGF0IGhhcyBhIG1lZGlhbiBmZWVyYXRlIG5v IGxhcmdlciB0aGFuIGZlZXJhdGVfdmFsdWVfYm91bmQsIGFzc3VtaW5nIGhvbmVzdCBtaW5lcnMu ClRoZSBhc3N1bXB0aW9uIG9mIGhvbmVzdCBtaW5lcnMgaXMgcmVzb2x2ZWQgYnkgc2V0dGluZyB0 aGUgd2luZG93X3NpemUgYW5kIGJsb2NrX2NvdW50IHBhcmFtZXRlcnMgYXBwcm9wcmlhdGVseS4K RG9lcyB0aGF0IG1ha2Ugc2Vuc2U/Cgo+IEkgdGhpbmsgaXQgd29ya3MgaW4gdGVybXMgb2YgY29u c2Vuc3VzIGNoYWluIHN0YXRlLCB2YWxpZGF0aW9uCj4gcmVzb3VyY2VzIGFuZCByZW9yZy1zYWZl dHkgYXJlIGFsbCB0aGUgcGFyYW1ldGVycyB0aGF0IGFyZQo+IHNlbGYtY29udGFpbmVkIGluIHRo ZSBzcGVudCBGRFQtZW5jdW1iZXJlZCB0cmFuc2FjdGlvbiBpdHNlbGYuCj4gSWYgdGhlIHBlci1i bG9jayBmZWVyYXRlIGZsdWN0dWF0ZXMsIHRoZSB2YWxpZGl0eSBvZiB0aGUgdWx0ZXJpb3IKPiBG RFQtbG9ja2VkIHRyYW5zYWN0aW9ucyBjaGFuZ2VzIHRvbywgdGhvdWdoIHRoaXMgaXMgYWxyZWFk eSB0aGUgY2FzZQo+IHdpdGggdGltZWxvY2stZW5jdW1iZXJlZCB0cmFuc2FjdGlvbnMuCgo+IChP bmUgY29yb2xsYXJ5IGZvciBMaWdodG5pbmcsIGl0IHNvdW5kcyBsaWtlIGFsbCB0aGUgY2hhbm5l bHMgY2FycnlpbmcKPiBvbiBhIEhUTEMgYWxvbmcgYSBwYXltZW50IHBhdGggc2hvdWxkIGhhdmUg dGhlIHNhbWUgRkRULXBhcmFtZXRlcnMgdG8KPiBhdm9pZCBvZmYtY2hhaW4gSFRMQyBkb3VibGUt c3BlbmQsIGEgcmlzayBub3QgY2xlYXJseSBhcnRpY3VsYXRlZCBpbgo+IHRoZSBMTiBwYXBlciku CgpJdCdzIGludGVyZXN0aW5nIHRoYXQgeW91IGZvY3VzZWQgb24gc2VjdXJpbmcgSFRMQ3MsIGFz IEkgd2FzIGZvY3VzZWQgb24gc2VjdXJpbmcgTE4gY2hhbm5lbCBzdGF0ZSAoZS5nLiwgZ2V0dGlu ZyB0aGUgcmlnaHQgQ29tbWl0bWVudCB0eCkgYW5kIGZhY3Rvcnkgc3RhdGUuClRoZSBjaGFsbGVu Z2Ugd2l0aCB1c2luZyBGRFRzIHRvIHNlY3VyZSBIVExDcyBpcyB0aGF0IHlvdSBuZWVkIGEgd2F5 IHRvIHNwZWNpZnkgYSBzZXF1ZW5jZSBvZiBGRFRzIChjb3JyZXNwb25kaW5nIHRvIHRoZSBob3Bz IGluIGEgTE4gcGF5bWVudCkgdGhhdCBleHBpcmUgd2l0aCBlbm91Z2ggdGltZSBiZXR3ZWVuIHRo ZW0gYW5kIHdpdGggYSBsb3cgZmVlcmF0ZSBwZXJpb2QgYmV0d2VlbiB0aGVtLgpGb3IgZXhhbXBs ZSwgY29uc2lkZXIgYSBwYXltZW50IHdpdGggbiBob3BzLCB3aGVyZSBob3AgaSBoYXMgYW4gSFRM QyB0aGF0IGV4cGlyZXMgYXQgdGltZSBUX2ksIGFuZCB3aGVyZSBob3AgbiBpcyB0aGUgbGFzdCBo b3AuCldpdGhvdXQgRkRUcywgb25lIHdvdWxkIHNlbGVjdCBleHBpcmllcyBzdWNoIHRoYXQgVF9p ICsgY2x0dl9leHBpcnlfZGVsdGFfaSA8IFRfKGktMSkuCldpdGggRkRUcywgb25lIGNhbid0IGp1 c3QgdXNlIHRoZSBzYW1lIFRfaSdzIGFuZCBhZGQgYW4gRkRUIHRoYXQgZm9sbG93cyB0aGF0IFRf aSwgYmVjYXVzZSB0aGUgZmVlcmF0ZSBjb3VsZCBiZSBoaWdoIHVudGlsIHdlbGwgYWZ0ZXIgdGhl IGZpcnN0IGZldyBUX2kncyBhcmUgcmVhY2hlZC4KRm9yIGV4YW1wbGUsIGFzc3VtZSBUX24sIFRf KG4tMSkgYW5kIFRfKG4tMikgYWxsIG9jY3VyIGJlZm9yZSBmZWVyYXRlcyBmYWxsIGJlbG93IHRo ZSBmZWVyYXRlX3ZhbHVlX2JvdW5kLgpJbiB0aGlzIGNhc2UsIHRoZSBIVExDLXRpbWVvdXQgVFhz IGZvciBob3BzIG4sIG4tMSBhbmQgbi0yIHdvdWxkIGFsbCBiZSBkZWxheWVkIHVudGlsIHRoZSBm ZWVyYXRlcyBmZWxsLCBhbmQgdGhlbiB0aGV5IHdvdWxkIGFsbCBiZSBhYmxlIHRvIGJlIHB1dCBv bmNoYWluIGF0IHRoZSBzYW1lIHRpbWUgKHdpdGhvdXQgdGhlIHJlcXVpcmVkIGNsdHZfZXhwaXJ5 X2RlbHRhcyBiZXR3ZWVuIHRoZW0pLgoKT25lIGF0dGVtcHQgdG8gc29sdmUgdGhpcyB3b3VsZCBi ZSB0byBhZGQgYW5vdGhlciBwYXJhbWV0ZXIgdGhhdCBzcGVjaWZpZXMgaG93IG1hbnkgYmxvY2tz IHRvIHdhaXQgYWZ0ZXIgZmVlcyBoYXZlIGZhbGxlZCBiZWxvdyB0aGUgZmVlcmF0ZV92YWx1ZV9i b3VuZCAobGlrZSB0aGUgY2xhaW1fZ3JhY2VfcGVyaWQsIGlmIEkgdW5kZXJzdGFuZCBpdCBjb3Jy ZWN0bHkpLgpIb3dldmVyLCB0aGF0IGRvZXNuJ3Qgc29sdmUgdGhlIHByb2JsZW0gYmVjYXVzZSB0 aGUgY29uZ2VzdGlvbiBjb3VsZCBzdGFydCwgYW5kIHRoZSBmZWVyYXRlX3ZhbHVlX2JvdW5kIGNv dWxkIGJlIGV4Y2VlZGVkLCBhdCBhbnkgdGltZS4KRm9yIGV4YW1wbGUsIHRoZSBmZWVyYXRlX3Zh bHVlX2JvdW5kIGNvdWxkIGZpcnN0IGJlIGV4Y2VlZGVkIGp1c3QgYWZ0ZXIgVF8obi0xKSwgaW4g d2hpY2ggY2FzZSB0aGUgZmVlcyB3b3VsZCBiZSB0b28gaGlnaCB0byBwdXQgdGhlIEhUTEMtc3Vj Y2VzcyB0cmFuc2FjdGlvbiBvbmNoYWluIGluIGhvcCBUXyhuLTIpLgoKV2hhdCB3ZSByZWFsbHkg bmVlZCBpcyB0aGUgYWJpbGl0eSB0byBlbnN1cmUgdGhhdCB0aGVyZSBoYXZlIGJlZW4gZW5vdWdo IGxvdyBmZWVyYXRlIGV4cGlyaWVzLCBlYWNoIHNlcGFyYXRlZCBieSB0aGUgcmVxdWlyZWQgY2x0 dl9leHBpcnlfZGVsdGEuClRoaXMgY2FuIGJlIGFjaGlldmVkIGJ5IGFkZGluZyBhIG5ldyBwYXJh bWV0ZXIsIG51bWJlcl9vZl93aW5kb3dzLCB0aGF0IHNwZWNpZmllcyBob3cgbWFueSBsb3cgZmVl cmF0ZSB3aW5kb3dzIFdfMSwgV18yLCBldGMuLCBhcmUgcmVxdWlyZWQsIGFsbCBvZiB3aGljaCBt ZWV0IHRoZSBmZWVyYXRlX3ZhbHVlX2JvdW5kLCB3aW5kb3dfc2l6ZSBhbmQgYmxvY2tfY291bnQg cGFyYW1ldGVycyAoYW5kIGFsbCBvZiB3aGljaCBzdGFydCBubyBsYXRlciB0aGFuIHdoZW4gdGhl IHN0YW5kYXJkIGFic29sdXRlIGFuZCByZWxhdGl2ZSB0aW1lbG9ja3MgaGF2ZSBiZWVuIHNhdGlz ZmllZCkuCldpdGggdGhpcyBuZXcgcGFyYW1ldGVyLCBsb3dlciBudW1iZXJlZCBob3BzIChjbG9z ZXIgdG8gdGhlIHNlbmRlcikgY2FuIHVzZSBsYXJnZXIgdmFsdWVzIG9mIG51bWJlcl9vZl93aW5k b3dzIGluIG9yZGVyIHRvIGd1YXJhbnRlZSBsb3cgZmVlcmF0ZSBwZXJpb2RzIHRoYXQgbWVldCB0 aGUgcmVxdWlyZWQgY2x0dl9leHBpcnlfZGVsdGFzLgoKRm9yIGV4YW1wbGUsIGFzc3VtZSBmZWVy YXRlX3ZhbHVlX2JvdW5kIGlzIDI1NiBzYXRzL3ZieXRlLCB3aW5kb3dfc2l6ZSBpcyAyNTYsIGFu ZCBibG9ja19jb3VudCBpcyA2NC4KVGhlbiwgZ2l2ZSB0aGUgSFRMQy10aW1lb3V0IHRyYW5zYWN0 aW9uIGluIGhvcCBpIGFuIGFic29sdXRlIHRpbWVsb2NrIG9mIFRfbiAodGhlIHRpbWVsb2NrIGZv ciBob3AgbikgYW5kIGFuIEZEVCB3aXRoIG51bWJlcl9vZl93aW5kb3dzIGVxdWFsIHRvIChuLWkr MSkgKGFuZCB3aXRoIGZlZXJhdGVfdmFsdWVfYm91bmQsIHdpbmRvd19zaXplIGFuZCBibG9ja19j b3VudCBhcyBhYm92ZSkuCkluIHRoaXMgY2FzZSwgYXMgbG9uZyBhcyBlYWNoIGNsdHZfZXhwaXJ5 X2RlbHRhIGlzIGxlc3MgdGhhbiB3aW5kb3dfc2l6ZSAtIGJsb2NrX2NvdW50ID0gMTkyLCB0aGVu IGluIGVhY2ggaG9wIHRoZSBwYXJ0eSBvZmZlcmVkIHRoZSBIVExDIGNhbiBwdXQgdGhlaXIgSFRM Qy1zdWNjZXNzIHRyYW5zYWN0aW9uIG9uY2hhaW4gaW4gYSBsb3cgZmVlcmF0ZSBibG9jayBhZnRl ciB0aGV5IGhhdmUgc2VlbiB0aGUgaGFzaCBwcmVpbWFnZSBmb3IgYXQgbGVhc3QgY2x0dl9leHBp cnlfZGVsdGEgYmxvY2tzLgooSW4gcHJhY3RpY2UsIHRoZSBwYXJhbWV0ZXJzIGNvdWxkIGJlIHR3 ZWFrZWQgYSBiaXQgdG8gYnJlYWsgdGhlIGFzc29jaWF0aW9uIGJldHdlZW4gaG9wcywgc3VjaCBh cyBieSB1c2luZyBtb3JlIHJlc3RyaWN0aXZlIGZlZXJhdGVfdmFsdWVfYm91bmRzIGFuZC9vciBi bG9ja19jb3VudHMgYXMgb25lIGdldHMgY2xvc2VyIHRvIHRoZSBzb3VyY2UsIGFuZCBieSBpbmNy ZWFzaW5nIHRoZSBudW1iZXJfb2Zfd2luZG93cyBwYXJhbWV0ZXIgYnkgbW9yZSB0aGFuIG9uZSBw ZXIgaG9wIGFzIG9uZSBnZXRzIGNsb3NlciB0byB0aGUgc291cmNlLikKCj4gR2l2ZW4gdGhlIG9u ZSBtb3JlIGFkZGl0aW9uYWwgcGFyYW1ldGVyIGBjbGFpbV9ncmFjZV9wZXJpb2RgLCBJIHRoaW5r Cj4gaXQgd291bGQgYmUgd2lzZXIgZGVzaWduIHRvIG1vdmUgYWxsIHRoZSBGRFQgcGFyYW1ldGVy cyBpbiB0aGUgYmlwMzQxCj4gYW5uZXguCj4gVGhlcmUgaXMgbW9yZSBmcmVlIGJpdHMgcm9vbSB0 aGVyZSBhbmQgYWRkaXRpb25hbGx5IHlvdSBjYW4gaGF2ZQo+IGRpZmZlcmVudCBGRFQgcGFyYW1l dGVycyBmb3IgZWFjaCBvZiB5b3VyIEhUTEMgb3V0cHV0cyBpbiBhIHNpbmdsZSBMTgo+IHRyYW5z YWN0aW9uLCBpZiBjb21iaW5lZCB3aXRoIGZ1dHVyZSBjb3ZlbmFudCBtZWNoYW5pc21zIGxpa2Ug SFRMQwo+IGFnZ3JlZ2F0aW9uIFszXS4KPiAoVGhlIGN1cnJlbnQgYW5uZXggZGVzaWduIGRyYWZ0 IGhhcyBiZWVuIGRlc2lnbmVkIGFtb25nIG90aGVycyB0bwo+IGVuYWJsZSBzdWNoICJibG9jay1m ZWVyYXRlLWxvY2stcG9pbnQiIFs0XSBbNV0pCgpJIGxpa2UgeW91ciBpZGVhIG9mIHB1dHRpbmcg dGhlIEZEVCBwYXJhbWV0ZXJzIGluIHRoZSBhbm5leC4KVGhpcyBpcyByZXF1aXJlZCBpZiB3ZSBh ZGQgdGhlIG51bWJlcl9vZl93aW5kb3dzIHBhcmFtZXRlciB0aGF0IEkgbWVudGlvbmVkIGFib3Zl LgoKSW4gYWRkaXRpb24gdG8gZmluZGluZyBlbm91Z2ggYml0cyBpbiB0aGUgdHJhbnNhY3Rpb24g dG8gaG9sZCB0aGUgRkRUIHBhcmFtZXRlcnMsIHRoZXJlIGlzIGEgY29zdCB0byBpbmNyZWFzaW5n IHRoZSBwYXJhbWV0ZXJzLCBuYW1lbHkgdGhlIG1lbW9yeSByZXF1aXJlZCB0byB2ZXJpZnkgdHJh bnNhY3Rpb25zIHdpdGggRkRUcy4KSW4gdGhlIHByb3Bvc2FsIGluIHRoZSBwYXBlciwgRkRUcyBj b3VsZCBiZSBzcGVjaWZpZWQgd2l0aCAxNCBiaXRzLCBzbyB0aGVyZSB3ZXJlIG9ubHkgMl4xNCA9 IDE2ayBkaWZmZXJlbnQgdmFsdWVzIGZvciB3aGljaCB0aGUgc3RhcnRpbmcgYmxvY2sgb2YgdGhl IG1vc3QgcmVjZW50IGFsaWduZWQgd2luZG93IHNhdGlzZnlpbmcgdGhvc2UgcGFyYW1ldGVycyBo YXMgdG8gYmUgc3RvcmVkIGluIG9yZGVyIHRvIHF1aWNrbHkgdmVyaWZ5IEZEVHMuCkFzc3VtaW5n IDQgYnl0ZXMgdG8gc3RvcmUgdGhlIHN0YXJ0aW5nIGJsb2NrIG9mIGEgd2luZG93LCB0aGF0J3Mg anVzdCA2NGsgYnl0ZXMgb2YgRFJBTS4KSWYgd2UgYWRkIGEgNi1iaXQgbnVtYmVyX29mX3dpbmRv d3MgcGFyYW1ldGVyLCB0aGF0IGluY3JlYXNlcyB0aGUgc3RvcmFnZSBieSBhIGZhY3RvciBvZiA2 NCB0byA0TUIuClRoYXQncyBzdGlsbCBwcmV0dHkgc21hbGwsIGJ1dCB3ZSBoYXZlIHRvIGJlIGNh cmVmdWwgdG8gbm90IG1ha2UgdGhpcyB0b28gZXhwZW5zaXZlLgoKPiBJIGNhbm5vdCBhc3NlcnQg dGhhdCB0aGUgRkRUIHByb3Bvc2FsIG1ha2VzIHRoZSB0aW1lb3V0LXRyZWUgcHJvdG9jb2wKPiBt b3JlIGVmZmljaWVudCB0aGFuIHN0YXRlLW9mLXRoZS1hcnQgY2hhbm5lbCBmYWN0b3JpZXMgYW5k IHBheW1lbnQKPiBwb29sIGNvbnN0cnVjdGlvbnMuCj4gU3RpbGwgZnJvbSBteSB1bmRlcnN0YW5k aW5nLCBhbGwgdGhvc2UgY29uc3RydWN0aW9ucyBhcmUgc2hhcmluZwo+IGZyYWlsdGllcyBpbiBm YWNlIG9mIGJsb2NrY2hhaW4gY29uZ2VzdGlvbiBhbmQgdGhleSB3b3VsZCBuZWVkCj4gc29tZXRo aW5nIGxpa2UgRkRULgoKSSBhZ3JlZSB0aGF0IEZEVHMgZG9uJ3QgbWFrZSB0aW1lb3V0LXRyZWVz IG1vcmUgY29tcGV0aXRpdmUgYWdhaW5zdCBhbnkgb3RoZXIgZmFjdG9yeSBwcm90b29jb2wuCkkg YWxzbyBhZ3JlZSB0aGF0IEZEVHMgY2FuIGJlIHVzZWQgdG8gbWFrZSBhbGwgb2YgdGhlIExOIGNo YW5uZWwgYW5kIGZhY3RvcnkgcHJvdG9jb29scyBzYWZlci4KSWYgd2UgZXh0ZW5kIHRoZSBpZGVh IHRvIGluY2x1ZGUgYSBudW1iZXJfb2Zfd2luZG93cyBwYXJhbWV0ZXIsIHRoZW4gd2Ugc2hvdWxk IGV2ZW4gYmUgYWJsZSB0byBtYWtlIEhUTENzIHNhZmVyLgoKPiBJJ20gdHJ1bHkgcmVqb2ljaW5n IGF0IHRoZSBpZGVhIHRoYXQgd2UgaGF2ZSBub3cgdGhlIHN0YXJ0IG9mIGEKPiBwcm9wb3NhbCBz b2x2aW5nIG9uZSBvZiB0aGUgbW9zdCBpbXBlcmF0aXZlIGlzc3VlcyBvZiBMaWdodG5pbmcgYW5k Cj4gb3RoZXIgdGltZS1zZW5zaXRpdmUgdXNlLWNhc2VzLgoKSSdtIHZlcnkgaGFwcHkgeW91IHNl ZSBpdCB0aGF0IHdheS4KUGxlYXNlIGxldCBtZSBrbm93IHdoYXQgeW91IHRoaW5rIG9mIHRoZSBu dW1iZXJfb2Zfd2luZG93cyBpZGVhLCBhbmQgaWYgeW91IGhhdmUgYW55IG90aGVyIGlkZWFzIGZv ciBtYWtpbmcgSFRMQ3Mgc2FmZXIuCgpSZWdhcmRzLApKb2huCgpTZW50IHdpdGggW1Byb3RvbiBN YWlsXShodHRwczovL3Byb3Rvbi5tZS8pIHNlY3VyZSBlbWFpbC4KCk9uIFN1bmRheSwgRGVjZW1i ZXIgMTd0aCwgMjAyMyBhdCAzOjAxIFBNLCBBbnRvaW5lIFJpYXJkIDxhbnRvaW5lLnJpYXJkQGdt YWlsLmNvbT4gd3JvdGU6Cgo+IEhpIEpvaG4sCj4KPiBXaGlsZSB0aGUgaWRlYSBvZiB1c2luZyBz bGlkaW5nIHJlYWN0aW9uIHdpbmRvdyBmb3IgYmxvY2tjaGFpbiBjb25nZXN0aW9uIGRldGVjdGlv biBoYXMgYmVlbiBwcmVzZW50IGluIHRoZSAic21hcnQgY29udHJhY3QiIHNwYWNlIGF0IGxhcmdl IFswXSBhbmQgdGhpcyBoYXMgYmVlbiBkaXNjdXNzZWQgaW5mb3JtYWxseSBhbW9uZyBMaWdodG5p bmcgZGV2cyBhbmQgY292ZW5hbnQgZGVzaWduZXJzIGZldyB0aW1lcyBbMV0gWzJdLCB0aGlzIGlz IHRoZSBmaXJzdCBhbmQgYmVzdCBmb3JtYWxpemF0aW9uIG9mIHNsaWRpbmctdGltZS1sb2NrcyBp biBmdW5jdGlvbiBvZiBibG9jayBmZWUgcmF0ZXMgZm9yIEJpdGNvaW4gSSdtIGF3YXJlIG9mZiwg dG8gdGhlIGJlc3Qgb2YgbXkga25vd2xlZGdlLgo+Cj4gSGVyZSBteSB1bmRlcnN0YW5kaW5nIG9m IHRoZSBmZWVyYXRlLWRlcGVuZGVudCB0aW1lbG9jayBwcm9wb3NhbC4KPgo+IEEgdHJhbnNhY3Rp b24gY2Fubm90IGJlIGluY2x1ZGVkIGluIGEgYmxvY2s6Cj4gLSBoZWlnaHQtYmFzZWQgb3IgZXBv Y2gtYmFzZWQgYWJzb2x1dGUgb3IgcmVsYXRpdmUgdGltZWxvY2tzIGFyZSBub3Qgc2F0aXNmaWVk IGFjY29yZGluZyB0byBjdXJyZW50IGNvbnNlbnN1cyBydWxlcyAoYmlwNjggYW5kIGJpcCAxMTMg YW5kIGltcGxlbWVudGF0aW9uIGRldGFpbHMpCj4gLSBsZXNzIHRoYW4gYGJsb2NrX2NvdW50YCBo YXMgYSBibG9jayBtZWRpYW4tZmVlcmF0ZSBhYm92ZSB0aGUgbWVkaWFuLWZlZXJhdGUgb2YgdGhl IGB3aW5kb3dfc2l6ZWAgcGVyaW9kCj4KPiBBIG1lZGlhbiBmZWVyYXRlIGlzIGNvbXB1dGVkIGZv ciBlYWNoIGJsb2NrLgo+IChUaGlzIGlzIHVuY2xlYXIgdG8gbWUgaWYgdGhpcyBpcyB0aGUgZmVl cmF0ZSBmb3IgaGFsZiBvZiB0aGUgYmxvY2sncyB3ZWlnaHQgb3IgdGhlIG1lZGlhbiBmZWVyYXRl IHdpdGggYWxsIHdlaWdodCB1bml0cyBpbmNsdWRlZCBpbiB0aGUgYmxvY2sgYXMgdGhlIHNhbXBs ZSkKPgo+IEZyb20gdGhlbiwgeW91IGhhdmUgMyBwYXJhbWV0ZXJzIGluY2x1ZGVkIGluIHRoZSBu U2VxdWVuY2UgZmllbGQuCj4gLSBmZWVyYXRlX3ZhbHVlX2JvdW5kCj4gLSB3aW5kb3dfc2l6ZQo+ IC0gYmxvY2tfY291bnQKPgo+IFRob3NlIHBhcmFtZXRlcnMgY2FuIGJlIHNlbGVjdGVkIGJ5IHRo ZSB0cmFuc2FjdGlvbiBidWlsZGVyIChhbmQgY29tbWl0dGVkIHdpdGggYSBzaWduYXR1cmUgb3Ig aGFzaCBjaGFpbi1iYXNlZCBjb3ZlbmFudCkuCj4gQXMgc3VjaCwgb2ZmLWNoYWluIGNvbnN0cnVj dGlvbiBjb3VudGVycGFydGllcyBjYW4gc2VsZWN0IHRoZSBmZWVyYXRlX3ZhbHVlX2JvdW5kIGF0 IHdoaWNoIHRoZWlyIHRpbWUtc2Vuc2l0aXZlIHRyYW5zYWN0aW9uIGNvbmZpcm1hdGlvbiB3aWxs IGJlIGRlbGF5ZWQuCj4KPiBFLmcgbGV0J3Mgc2F5IHlvdSBoYXZlIGEgTE4tcGVuYWx0eSBBbGlj ZS1Cb2IgY2hhbm5lbC4gU2Vjb25kLXN0YWdlIEhUTEMgdHJhbnNhY3Rpb25zIGFyZSBwcmUtc2ln bmVkIHdpdGggZmVlcmF0ZV92YWx1ZV9ib3VuZCBhdCAxMDAgc2F0IC8gdmJ5dGVzLgo+IFRoZSB3 aW5kb3dfc2l6ZSBzZWxlY3RlZCBpcyAxMDAgYmxvY2tzIGFuZCB0aGUgYmxvY2tfY291bnQgaXMg NzAgKHRoaXMgZ3VhcmFudGVlcyB0YW1wZXJpbmctcm9idXN0bmVzcyBvZiB0aGUgZmVlcmF0ZV92 YWx1ZV9ib3VuZCBpbiBmYWNlIG9mIG1pbmVycyBjb2FsaXRpb25zKS4KPgo+IFRoZXJlIGlzIDEg QlRDIG9mZmVyZWQgSFRMQyBwZW5kaW5nIHdpdGggZXhwaXJhdGlvbiB0aW1lIFQsIGZyb20gQWxp Y2UgdG8gQm9iLgo+Cj4gSWYgYXQgdGltZSBULCB0aGUgcGVyLWJsb2NrIG1lZGlhbiBmZWVyYXRl IG9mIGF0IGxlYXN0IDcwIGJsb2NrcyBvdmVyIHRoZSBsYXRlc3QgMTAwIGJsb2NrIGlzIGFib3Zl IDEwMCBzYXQgLyB2Ynl0ZXMsIGFueSBBbGljZSdzIEhUTEMtdGltZW91dCBvciBCb2IncyBIVExD LXByZWltYWdlIGNhbm5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgY2hhaW4uCj4KPiBGcm9tIG15IHVu ZGVyc3RhbmRpbmcsIEZlZXJhdGUtRGVwZW5kZW50IFRpbWVsb2NrcyBlZmZlY3RpdmVseSBjb25z dGl0dXRlIHRoZSBsaW5lYW1lbnRzIG9mIGEgc29sdXRpb24gdG8gdGhlICJGb3JjZWQgRXhwaXJh dGlvbiBTcGFtIiBhcyBkZXNjcmliZWQgaW4gdGhlIExOIHBhcGVyLgo+Cj4gSSB0aGluayB5b3Ug aGF2ZSBmZXcgZGVzaWduIGNhdmVhdHMgdG8gYmUgYXdhcmUgb2ZmOgo+IC0gZm9yIGN1cnJlbnQg TE4tcGVuYWx0eSwgdGhlIHJldm9rZWFibGUgc2NyaXB0cyBzaG91bGQgYmUgbW9kaWZpZWQgdG8g ZW5zdXJlIHRoZSBDU1Ygb3Bjb2RlIGluc3BlY3QgdGhlIGVuZm9yY2VtZW50IG9mIEZEVCdzIHBh cmFtZXRlcnMsIGFzIHRob3NlIHJldm9rZWFibGUgc2NyaXB0cyBhcmUgY29tbWl0dGVkIGJ5IGFs bCBwYXJ0aWVzCj4gLSB0aGVyZSBzaG91bGQgYmUgYSBkZWxheSBwZXJpb2QgYXQgdGhlIGFkdmFu dGFnZSBvZiBvbmUgcGFydHkgb3RoZXJ3aXNlIHlvdSBzdGlsbCBhIGZlZXJhdGUtcmFjZSBpZiB0 aGUgcmV2b2NhdGlvbiBiaXA2OCB0aW1lbG9jayBoYXMgZXhwaXJlZCBkdXJpbmcgdGhlIEZEVCBk ZWxheQo+Cj4gQXMgc3VjaCwgSSBiZWxpZXZlIHRoZSBGRFQgcGFyYW1ldGVycyBzaG91bGQgYmUg ZW5yaWNoZWQgd2l0aCBhbm90aGVyIHBhcmFtZXRlciA6IGBjbGFpbV9ncmFjZV9wZXJpb2RgLCBh IG5ldyB0eXBlIG9mIHJlbGF0aXZlIHRpbWVsb2NrIG9mIHdoaWNoIHRoZSBlbmRwb2ludCBzaG91 bGQgYmUgdGhlIGBmZWVyYXRlX3ZhbHVlX2JvdW5kYCBpdHNlbGYuCj4KPiBJIHRoaW5rIGl0IHdv cmtzIGluIHRlcm1zIG9mIGNvbnNlbnN1cyBjaGFpbiBzdGF0ZSwgdmFsaWRhdGlvbiByZXNvdXJj ZXMgYW5kIHJlb3JnLXNhZmV0eSBhcmUgYWxsIHRoZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHNlbGYt Y29udGFpbmVkIGluIHRoZSBzcGVudCBGRFQtZW5jdW1iZXJlZCB0cmFuc2FjdGlvbiBpdHNlbGYu Cj4gSWYgdGhlIHBlci1ibG9jayBmZWVyYXRlIGZsdWN0dWF0ZXMsIHRoZSB2YWxpZGl0eSBvZiB0 aGUgdWx0ZXJpb3IgRkRULWxvY2tlZCB0cmFuc2FjdGlvbnMgY2hhbmdlcyB0b28sIHRob3VnaCB0 aGlzIGlzIGFscmVhZHkgdGhlIGNhc2Ugd2l0aCB0aW1lbG9jay1lbmN1bWJlcmVkIHRyYW5zYWN0 aW9ucy4KPgo+IChPbmUgY29yb2xsYXJ5IGZvciBMaWdodG5pbmcsIGl0IHNvdW5kcyBsaWtlIGFs bCB0aGUgY2hhbm5lbHMgY2Fycnlpbmcgb24gYSBIVExDIGFsb25nIGEgcGF5bWVudCBwYXRoIHNo b3VsZCBoYXZlIHRoZSBzYW1lIEZEVC1wYXJhbWV0ZXJzIHRvIGF2b2lkIG9mZi1jaGFpbiBIVExD IGRvdWJsZS1zcGVuZCwgYSByaXNrIG5vdCBjbGVhcmx5IGFydGljdWxhdGVkIGluIHRoZSBMTiBw YXBlcikuCj4KPiBHaXZlbiB0aGUgb25lIG1vcmUgYWRkaXRpb25hbCBwYXJhbWV0ZXIgYGNsYWlt X2dyYWNlX3BlcmlvZGAsIEkgdGhpbmsgaXQgd291bGQgYmUgd2lzZXIgZGVzaWduIHRvIG1vdmUg YWxsIHRoZSBGRFQgcGFyYW1ldGVycyBpbiB0aGUgYmlwMzQxIGFubmV4Lgo+IFRoZXJlIGlzIG1v cmUgZnJlZSBiaXRzIHJvb20gdGhlcmUgYW5kIGFkZGl0aW9uYWxseSB5b3UgY2FuIGhhdmUgZGlm ZmVyZW50IEZEVCBwYXJhbWV0ZXJzIGZvciBlYWNoIG9mIHlvdXIgSFRMQyBvdXRwdXRzIGluIGEg c2luZ2xlIExOIHRyYW5zYWN0aW9uLCBpZiBjb21iaW5lZCB3aXRoIGZ1dHVyZSBjb3ZlbmFudCBt ZWNoYW5pc21zIGxpa2UgSFRMQyBhZ2dyZWdhdGlvbiBbM10uCj4gKFRoZSBjdXJyZW50IGFubmV4 IGRlc2lnbiBkcmFmdCBoYXMgYmVlbiBkZXNpZ25lZCBhbW9uZyBvdGhlcnMgdG8gZW5hYmxlIHN1 Y2ggImJsb2NrLWZlZXJhdGUtbG9jay1wb2ludCIgWzRdIFs1XSkKPgo+IEkgY2Fubm90IGFzc2Vy dCB0aGF0IHRoZSBGRFQgcHJvcG9zYWwgbWFrZXMgdGhlIHRpbWVvdXQtdHJlZSBwcm90b2NvbCBt b3JlIGVmZmljaWVudCB0aGFuIHN0YXRlLW9mLXRoZS1hcnQgY2hhbm5lbCBmYWN0b3JpZXMgYW5k IHBheW1lbnQgcG9vbCBjb25zdHJ1Y3Rpb25zLgo+IFN0aWxsIGZyb20gbXkgdW5kZXJzdGFuZGlu ZywgYWxsIHRob3NlIGNvbnN0cnVjdGlvbnMgYXJlIHNoYXJpbmcgZnJhaWx0aWVzIGluIGZhY2Ug b2YgYmxvY2tjaGFpbiBjb25nZXN0aW9uIGFuZCB0aGV5IHdvdWxkIG5lZWQgc29tZXRoaW5nIGxp a2UgRkRULgo+Cj4gSSdtIHRydWx5IHJlam9pY2luZyBhdCB0aGUgaWRlYSB0aGF0IHdlIGhhdmUg bm93IHRoZSBzdGFydCBvZiBhIHByb3Bvc2FsIHNvbHZpbmcgb25lIG9mIHRoZSBtb3N0IGltcGVy YXRpdmUgaXNzdWVzIG9mIExpZ2h0bmluZyBhbmQgb3RoZXIgdGltZS1zZW5zaXRpdmUgdXNlLWNh c2VzLgo+IChOb3RlLCBJJ3ZlIG5vdCByZXZpZXdlZCB0aGUgYW5hbHlzaXMgYW5kIGdhbWUtdGhl b3J5IGluIHRoZSBmYWNlIG9mIG1pbmVycyBjb2xsdXNpb24gLyBjb2FsaXRpb24sIGFzIEkgdGhp bmsgdGhlIGludHJvZHVjdGlvbiBvZiBhIGBjbGFpbV9ncmFjZV9wZXJpb2RgIGlzIG1vZGlmeWlu ZyB0aGUgZnVuZGFtZW50YWxzKS4KPgo+IEJlc3QsCj4gQW50b2luZQo+Cj4gWzBdCj4gaHR0cHM6 Ly9mYzIyLmlmY2EuYWkvcHJlcHJvY2VlZGluZ3MvMTE5LnBkZgo+IFsxXQo+IGh0dHBzOi8vZ2l0 aHViLmNvbS9hcmlhcmQvYml0Y29pbi1jb250cmFjdGluZy1wcmltaXRpdmVzLXdnL2Jsb2IvbWFp bi9tZWV0aW5ncy9tZWV0aW5ncy0xOC0wNC5tZAo+IFsyXQo+IGh0dHBzOi8vbGlzdHMubGludXhm b3VuZGF0aW9uLm9yZy9waXBlcm1haWwvYml0Y29pbi1kZXYvMjAyMy1Ob3ZlbWJlci8wMjIxODAu aHRtbAo+IFszXQo+IGh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9waXBlcm1haWwv Yml0Y29pbi1kZXYvMjAyMy1PY3RvYmVyLzAyMjA5My5odG1sCj4gWzRdCj4gaHR0cHM6Ly9naXRo dWIuY29tL2JpdGNvaW4taW5xdWlzaXRpb24vYml0Y29pbi9wdWxsLzkKPgo+IFs1XQo+IGh0dHBz Oi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpcHMvcHVsbC8xMzgxCj4KPiBMZSB2ZW4uIDE1IGTDqWMu IDIwMjMgw6AgMDk6MjAsIGpsc3BjIHZpYSBiaXRjb2luLWRldiA8Yml0Y29pbi1kZXZAbGlzdHMu bGludXhmb3VuZGF0aW9uLm9yZz4gYSDDqWNyaXQgOgo+Cj4+IFRMO0RSCj4+ID09PT09Cj4+ICog QWxsIGtub3duIExpZ2h0bmluZyBjaGFubmVsIGFuZCBmYWN0b3J5IHByb3RvY29scyBhcmUgc3Vz Y2VwdGlibGUgdG8gZm9yY2VkIGV4cGlyYXRpb24gc3BhbSBhdHRhY2tzLCBpbiB3aGljaCBhbiBh dHRhY2tlciBmbG9vZHMgdGhlIGJsb2NrY2hhaW4gd2l0aCB0cmFuc2FjdGlvbnMgaW4gb3JkZXIg dG8gcHJldmVudCBob25lc3QgdXNlcnMgZnJvbSBwdXR0aW5nIHRoZWlyIHRyYW5zYWN0aW9ucyBv bmNoYWluIGJlZm9yZSB0aW1lbG9ja3MgZXhwaXJlLgo+PiAqIEZlZXJhdGUtRGVwZW5kZW50IFRp bWVsb2NrcyAoRkRUcykgYXJlIHRpbWVsb2NrcyB0aGF0IGF1dG9tYXRpY2FsbHkgZXh0ZW5kIHdo ZW4gYmxvY2tjaGFpbiBmZWVyYXRlcyBzcGlrZS4KPj4gICAtIEluIHRoZSBub3JtYWwgY2FzZSwg dGhlcmUncyBubyBzcGlrZSBpbiBmZWVyYXRlcyBhbmQgdGh1cyBubyB0cmFkZW9mZiBiZXR3ZWVu IGNhcGl0YWwgZWZmaWNpZW5jeSBhbmQgc2FmZXR5Lgo+PiAgIC0gSWYgYSBkaXNob25lc3QgdXNl ciBhdHRlbXB0cyBhIGZvcmNlZCBleHBpcmF0aW9uIHNwYW0gYXR0YWNrLCBmZWVyYXRlcyBpbmNy ZWFzZSBhbmQgRkRUcyBhcmUgZXh0ZW5kZWQsIHRodXMgcGVuYWxpemluZyB0aGUgYXR0YWNrZXIg Ynkga2VlcGluZyB0aGVpciBjYXBpdGFsIHRpbWVsb2NrZWQgZm9yIGxvbmdlci4KPj4gICAtIEZE VHMgYXJlIHR1bmFibGUgYW5kIGNhbiBiZSBtYWRlIHRvIGJlIGhpZ2hseSByZXNpc3RhbnQgdG8g YXR0YWNrcyBmcm9tIGRpc2hvbmVzdCBtaW5lcnMuCj4+ICogT2Ygc2VwYXJhdGUgaW50ZXJlc3Qs IGFuIGV4YWN0IGFuYWx5c2lzIG9mIHRoZSByaXNrIG9mIGRvdWJsZSBzcGVuZCBhdHRhY2tzIGlz IHByZXNlbnRlZCB0aGF0IGNvcnJlY3RzIGFuIGVycm9yIGluIHRoZSBvcmlnaW5hbCBCaXRjb2lu IHdoaXRlcGFwZXIuCj4+Cj4+IE92ZXJ2aWV3Cj4+ID09PT09PT09Cj4+Cj4+IEJlY2F1c2UgdGhl IExpZ2h0bmluZyBwcm90b2NvbCByZWxpZXMgb24gdGltZWxvY2tzIHRvIGVzdGFibGlzaCB0aGUg Y29ycmVjdCBjaGFubmVsIHN0YXRlLCBMaWdodG5pbmcgdXNlcnMgY291bGQgbG9zZSB0aGVpciBm dW5kcyBpZiB0aGV5J3JlIHVuYWJsZSB0byBwdXQgdGhlaXIgdHJhbnNhY3Rpb25zIG9uY2hhaW4g cXVpY2tseSBlbm91Z2guCj4+IFRoZSBvcmlnaW5hbCBMaWdodG5pbmcgcGFwZXIgWzFdIHN0YXRl cyB0aGF0ICJbZl1vcmNlZCBleHBpcmF0aW9uIG9mIG1hbnkgdHJhbnNhY3Rpb25zIG1heSBiZSB0 aGUgZ3JlYXRlc3Qgc3lzdGVtaWMgcmlzayB3aGVuIHVzaW5nIHRoZSBMaWdodG5pbmcgTmV0d29y ayIgYW5kIGl0IHVzZXMgdGhlIHRlcm0gImZvcmNlZCBleHBpcmF0aW9uIHNwYW0iIGZvciBhbiBh dHRhY2sgaW4gd2hpY2ggYSBtYWxpY2lvdXMgcGFydHkgImNyZWF0ZXMgbWFueSBjaGFubmVscyBh bmQgZm9yY2VzIHRoZW0gYWxsIHRvIGV4cGlyZSBhdCBvbmNlIiwgdGh1cyBhbGxvd2luZyB0aW1l bG9ja2VkIHRyYW5zYWN0aW9ucyB0byBiZWNvbWUgdmFsaWQuCj4+IFRoYXQgcGFwZXIgYWxzbyBz YXlzIHRoYXQgdGhlIGNyZWF0aW9uIG9mIGEgY3JlZGlibGUgdGhyZWF0IGFnYWluc3QgInNwYW1t aW5nIHRoZSBibG9ja2NoYWluIHRvIGVuY291cmFnZSB0cmFuc2FjdGlvbnMgdG8gdGltZW91dCIg aXMgImltcGVyYXRpdmUiIFsxXS4KPj4KPj4gQ2hhbm5lbCBmYWN0b3JpZXMgdGhhdCBjcmVhdGUg bXVsdGlwbGUgTGlnaHRuaW5nIGNoYW5uZWxzIHdpdGggYSBzaW5nbGUgb25jaGFpbiB0cmFuc2Fj dGlvbiBbMl1bM11bNF1bNV0gaW5jcmVhc2UgdGhpcyByaXNrIGluIHR3byB3YXlzLgo+PiBGaXJz dCwgZmFjdG9yaWVzIGFsbG93IG1vcmUgY2hhbm5lbHMgdG8gYmUgY3JlYXRlZCwgdGh1cyBpbmNy ZWFzaW5nIHRoZSBwb3RlbnRpYWwgZm9yIG1hbnkgY2hhbm5lbHMgdG8gcmVxdWlyZSBvbmNoYWlu IHRyYW5zYWN0aW9ucyBhdCB0aGUgc2FtZSB0aW1lLgo+PiBTZWNvbmQsIGNoYW5uZWwgZmFjdG9y aWVzIHRoZW1zZWx2ZXMgdXNlIHRpbWVsb2NrcywgYW5kIHRodXMgYXJlIHZ1bG5lcmFibGUgdG8g YSAiZm9yY2VkIGV4cGlyYXRpb24gc3BhbSIgYXR0YWNrLgo+Pgo+PiBJbiBmYWN0LCB0aGUgdGlt ZWxvY2tzIGluIExpZ2h0bmluZyBjaGFubmVscyBhbmQgZmFjdG9yaWVzIGFyZSByaXNreSBldmVu IHdpdGhvdXQgYW4gYXR0YWNrIGZyb20gYSBtYWxpY2lvdXMgcGFydHkuCj4+IEJsb2NrY2hhaW4g Y29uZ2VzdGlvbiBpcyBoaWdobHkgdmFyaWFibGUgYW5kIG5ldyBhcHBsaWNhdGlvbnMgKHN1Y2gg YXMgb3JkaW5hbHMpIGNhbiBjYXVzZSBhIHN1ZGRlbiBzcGlrZSBpbiBjb25nZXN0aW9uIGF0IGFu eSB0aW1lLgo+PiBBcyBhIHJlc3VsdCwgdGltZWxvY2tzIHRoYXQgd2VyZSBzZXQgd2hlbiBjb25n ZXN0aW9uIHdhcyBsb3cgY2FuIGJlIHRvbyBzaG9ydCB3aGVuIGNvbmdlc3Rpb24gc3Bpa2VzLgo+ PiBFdmVuIHdvcnNlLCBhIHNwaWtlIGluIGNvbmdlc3Rpb24gY291bGQgYmUgc2VsZi1yZWluZm9y Y2luZyBpZiBpdCBjYXVzZXMgbWFsaWNpb3VzIHBhcnRpZXMgdG8gYXR0YWNrIG9wcG9ydHVuaXN0 aWNhbGx5IGFuZCBob25lc3QgcGFydGllcyB0byBwdXQgdGhlaXIgY2hhbm5lbHMgb25jaGFpbiBk dWUgdG8gdGhlIGhlaWdodGVuZWQgcmlzay4KPj4KPj4gT25lIHdheSB0byByZWR1Y2UgdGhlIHJp c2sgb2YgYQ== --b1_YvT7uxFWZ1dgb37npFGqN0abrT4PfFmMrHnf35cQjA Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: base64 PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0 cHg7Ij48cHJlIHN0eWxlPSJvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJl LXdyYXAiPkhpIEFudG9pbmUsDQoNClRoYW5rcyBmb3IgeW91ciB0aG91Z2h0ZnVsIHJlc3BvbnNl Lg0KDQpDb21tZW50cyBpbmxpbmUgYmVsb3c6DQoNCiZndDsgSGkgSm9obiwNCg0KJmd0OyBXaGls ZSB0aGUgaWRlYSBvZiB1c2luZyBzbGlkaW5nIHJlYWN0aW9uIHdpbmRvdyBmb3IgYmxvY2tjaGFp biBjb25nZXN0aW9uDQomZ3Q7IGRldGVjdGlvbiBoYXMgYmVlbiBwcmVzZW50IGluIHRoZSAic21h cnQgY29udHJhY3QiIHNwYWNlIGF0IGxhcmdlIFswXSBhbmQNCiZndDsgdGhpcyBoYXMgYmVlbiBk aXNjdXNzZWQgaW5mb3JtYWxseSBhbW9uZyBMaWdodG5pbmcgZGV2cyBhbmQgY292ZW5hbnQNCiZn dDsgZGVzaWduZXJzIGZldyB0aW1lcyBbMV0gWzJdLCB0aGlzIGlzIHRoZSBmaXJzdCBhbmQgYmVz dCBmb3JtYWxpemF0aW9uIG9mDQomZ3Q7IHNsaWRpbmctdGltZS1sb2NrcyBpbiBmdW5jdGlvbiBv ZiBibG9jayBmZWUgcmF0ZXMgZm9yIEJpdGNvaW4gSSdtIGF3YXJlDQomZ3Q7IG9mZiwgdG8gdGhl IGJlc3Qgb2YgbXkga25vd2xlZGdlLg0KDQpUaGFua3MhDQoNCiZndDsgSGVyZSBteSB1bmRlcnN0 YW5kaW5nIG9mIHRoZSBmZWVyYXRlLWRlcGVuZGVudCB0aW1lbG9jayBwcm9wb3NhbC4NCg0KJmd0 OyBBIHRyYW5zYWN0aW9uIGNhbm5vdCBiZSBpbmNsdWRlZCBpbiBhIGJsb2NrOg0KJmd0OyAtIGhl aWdodC1iYXNlZCBvciBlcG9jaC1iYXNlZCBhYnNvbHV0ZSBvciByZWxhdGl2ZSB0aW1lbG9ja3Mg YXJlIG5vdA0KJmd0OyBzYXRpc2ZpZWQgYWNjb3JkaW5nIHRvIGN1cnJlbnQgY29uc2Vuc3VzIHJ1 bGVzIChiaXA2OCBhbmQgYmlwIDExMyBhbmQNCiZndDsgaW1wbGVtZW50YXRpb24gZGV0YWlscykN CiZndDsgLSBsZXNzIHRoYW4gYGJsb2NrX2NvdW50YCBoYXMgYSBibG9jayBtZWRpYW4tZmVlcmF0 ZSBhYm92ZSB0aGUNCiZndDsgbWVkaWFuLWZlZXJhdGUgb2YgdGhlIGB3aW5kb3dfc2l6ZWAgcGVy aW9kDQoNCkl0J3MgYSBsaXR0bGUgYml0IGRpZmZlcmVudCBmcm9tIHRoYXQuDQpUaGUgdHJhbnNh Y3Rpb24gY2Fubm90IGJlIGluY2x1ZGVkIGluIHRoZSBibG9ja2NoYWluIHVudGlsIGFmdGVyIGFu IGFsaWduZWQgd2luZG93IFcgb2Ygd2luZG93X3NpemUgYmxvY2tzIHdoZXJlOg0KMSkgVyBzdGFy dHMgbm8gc29vbmVyIHRoYW4gd2hlbiB0aGUgaGVpZ2h0LWJhc2VkIG9yIGVwb2NoLWJhc2VkIGFi c29sdXRlIGFuZC9vciByZWxhdGl2ZSB0aW1lbG9ja3MgaGF2ZSBiZWVuIHNhdGlzZmllZCwgYW5k DQoyKSBXIGNvbnRhaW5zIGZld2VyIHRoYW4gYmxvY2tfY291bnQgYmxvY2tzIHdpdGggbWVkaWFu IGZlZXJhdGUgZ3JlYXRlciB0aGFuIGZlZXJhdGVfdmFsdWVfYm91bmQuDQoNCk5vdGUgdGhhdCB0 aGUgYWxpZ25lZCB3aW5kb3cgY2Fubm90IHN0YXJ0IHVudGlsIHRoZSBhYnNvbHV0ZSBhbmQvb3Ig cmVsYXRpdmUgdGltZWxvY2tzIGhhdmUgYmVlbiBzYXRpc2ZpZWQgYW5kIHRoZSB0cmFuc2FjdGlv biBpdHNlbGYgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIGFsaWduZWQgd2luZG93Lg0KSG93ZXZlciwg b25jZSBzdWNoIGFuIGFsaWduZWQgd2luZG93IGV4aXN0cyBpbiB0aGUgYmxvY2tjaGFpbiwgdGhl IHRyYW5zYWN0aW9uIGNhbiBhcHBlYXIgYXQgYW55IGxhdGVyIHRpbWUgKGFuZCBub3QganVzdCB3 aXRoaW4gYSB3aW5kb3cgdGhhdCBpdHNlbGYgbWVldHMgdGhlIGJsb2NrX2NvdW50IGFuZCBmZWVy YXRlX3ZhbHVlX2JvdW5kIGxpbWl0YXRpb25zKS4NCg0KJmd0OyBBIG1lZGlhbiBmZWVyYXRlIGlz IGNvbXB1dGVkIGZvciBlYWNoIGJsb2NrLg0KJmd0OyAoVGhpcyBpcyB1bmNsZWFyIHRvIG1lIGlm IHRoaXMgaXMgdGhlIGZlZXJhdGUgZm9yIGhhbGYgb2YgdGhlIGJsb2NrJ3MNCiZndDsgd2VpZ2h0 IG9yIHRoZSBtZWRpYW4gZmVlcmF0ZSB3aXRoIGFsbCB3ZWlnaHQgdW5pdHMgaW5jbHVkZWQgaW4g dGhlDQomZ3Q7IGJsb2NrIGFzIHRoZSBzYW1wbGUpDQoNCkEgZmVlcmF0ZSBGIGlzIHRoZSBtZWRp YW4gZmVlcmF0ZSBvZiBhIGJsb2NrIEIgaWYgRiBpcyB0aGUgbGFyZ2VzdCBmZWVyYXRlIHN1Y2gg dGhhdCB0aGUgdG90YWwgc2l6ZSBvZiB0aGUgdHJhbnNhY3Rpb25zIGluIEIgd2l0aCBmZWVyYXRl IGdyZWF0ZXIgb3IgZXF1YWwgdG8gRiBpcyBhdCBsZWFzdCAyIG1pbGxpb24gdmJ5dGVzLg0KDQom Z3Q7IEZyb20gdGhlbiwgeW91IGhhdmUgMyBwYXJhbWV0ZXJzIGluY2x1ZGVkIGluIHRoZSBuU2Vx dWVuY2UgZmllbGQuDQomZ3Q7IC0gZmVlcmF0ZV92YWx1ZV9ib3VuZA0KJmd0OyAtIHdpbmRvd19z aXplDQomZ3Q7IC0gYmxvY2tfY291bnQNCg0KJmd0OyBUaG9zZSBwYXJhbWV0ZXJzIGNhbiBiZSBz ZWxlY3RlZCBieSB0aGUgdHJhbnNhY3Rpb24gYnVpbGRlciAoYW5kDQomZ3Q7IGNvbW1pdHRlZCB3 aXRoIGEgc2lnbmF0dXJlIG9yIGhhc2ggY2hhaW4tYmFzZWQgY292ZW5hbnQpLg0KJmd0OyBBcyBz dWNoLCBvZmYtY2hhaW4gY29uc3RydWN0aW9uIGNvdW50ZXJwYXJ0aWVzIGNhbiBzZWxlY3QgdGhl DQomZ3Q7IGZlZXJhdGVfdmFsdWVfYm91bmQgYXQgd2hpY2ggdGhlaXIgdGltZS1zZW5zaXRpdmUg dHJhbnNhY3Rpb24NCiZndDsgY29uZmlybWF0aW9uIHdpbGwgYmUgZGVsYXllZC4NCg0KJmd0OyBF LmcgbGV0J3Mgc2F5IHlvdSBoYXZlIGEgTE4tcGVuYWx0eSBBbGljZS1Cb2IgY2hhbm5lbC4gU2Vj b25kLXN0YWdlDQomZ3Q7IEhUTEMgdHJhbnNhY3Rpb25zIGFyZSBwcmUtc2lnbmVkIHdpdGggZmVl cmF0ZV92YWx1ZV9ib3VuZCBhdCAxMDAgc2F0IC8NCiZndDsgdmJ5dGVzLg0KJmd0OyBUaGUgd2lu ZG93X3NpemUgc2VsZWN0ZWQgaXMgMTAwIGJsb2NrcyBhbmQgdGhlIGJsb2NrX2NvdW50IGlzIDcw ICh0aGlzDQomZ3Q7IGd1YXJhbnRlZXMgdGFtcGVyaW5nLXJvYnVzdG5lc3Mgb2YgdGhlIGZlZXJh dGVfdmFsdWVfYm91bmQgaW4gZmFjZSBvZg0KJmd0OyBtaW5lcnMgY29hbGl0aW9ucykuDQoNCiZn dDsgVGhlcmUgaXMgMSBCVEMgb2ZmZXJlZCBIVExDIHBlbmRpbmcgd2l0aCBleHBpcmF0aW9uIHRp bWUgVCwgZnJvbSBBbGljZSB0byBCb2IuDQoNCiZndDsgSWYgYXQgdGltZSBULCB0aGUgcGVyLWJs b2NrIG1lZGlhbiBmZWVyYXRlIG9mIGF0IGxlYXN0IDcwIGJsb2NrcyBvdmVyDQomZ3Q7IHRoZSBs YXRlc3QgMTAwIGJsb2NrIGlzIGFib3ZlIDEwMCBzYXQgLyB2Ynl0ZXMsIGFueSBBbGljZSdzDQom Z3Q7IEhUTEMtdGltZW91dCBvciBCb2IncyBIVExDLXByZWltYWdlIGNhbm5vdCBiZSBpbmNsdWRl ZCBpbiB0aGUgY2hhaW4uDQoNClRoZSBydWxlcyBhcmUgYWN0dWFsbHk6DQoxKSB3YWl0IHVudGls IHRpbWUgVCwgdGhlbg0KMikgd2FpdCB1bnRpbCB0aGUgc3RhcnQgb2YgYSBmdWxsIGFsaWduZWQg d2luZG93IFcgd2l0aCAxMDAgY29uc2VjdXRpdmUgYmxvY2tzIHRoYXQgc3RhcnRzIG5vIGVhcmxp ZXIgdGhhbiBUIGFuZCB0aGF0IGhhcyBmZXdlciB0aGFuIDcwIGJsb2NrcyB3aXRoIG1lZGlhbiBm ZWVyYXRlIGFib3ZlIDEwMCBzYXRzL3ZieXRlLg0KKFRoZSB2YWx1ZXMgMTAwLCA3MCwgYW5kIDEw MCBjYW5ub3QgYWN0dWFsbHkgYmUgc2VsZWN0ZWQgaW4gdGhlIGltcGxlbWVudGF0aW9uIGluIHRo ZSBwYXBlciwgYnV0IHRoYXQncyBhIHRlY2huaWNhbCBkZXRhaWwgYW5kIGNvdWxkIGJlIGNoYW5n ZWQgaWYgdGhlIEZEVCBpcyBzcGVjaWZpZWQgaW4gdGhlIGFubmV4LCBhcyB5b3UgcHJvcG9zZS4p DQoNCiZndDsgRnJvbSBteSB1bmRlcnN0YW5kaW5nLCBGZWVyYXRlLURlcGVuZGVudCBUaW1lbG9j a3MgZWZmZWN0aXZlbHkNCiZndDsgY29uc3RpdHV0ZSB0aGUgbGluZWFtZW50cyBvZiBhIHNvbHV0 aW9uIHRvIHRoZSAiRm9yY2VkIEV4cGlyYXRpb24NCiZndDsgU3BhbSIgYXMgZGVzY3JpYmVkIGlu IHRoZSBMTiBwYXBlci4NCg0KR3JlYXQhDQoNCiZndDsgSSB0aGluayB5b3UgaGF2ZSBmZXcgZGVz aWduIGNhdmVhdHMgdG8gYmUgYXdhcmUgb2ZmOg0KJmd0OyAtIGZvciBjdXJyZW50IExOLXBlbmFs dHksIHRoZSByZXZva2VhYmxlIHNjcmlwdHMgc2hvdWxkIGJlIG1vZGlmaWVkIHRvDQomZ3Q7IGVu c3VyZSB0aGUgQ1NWIG9wY29kZSBpbnNwZWN0IHRoZSBlbmZvcmNlbWVudCBvZiBGRFQncyBwYXJh bWV0ZXJzLCBhcw0KJmd0OyB0aG9zZSByZXZva2VhYmxlIHNjcmlwdHMgYXJlIGNvbW1pdHRlZCBi eSBhbGwgcGFydGllcw0KDQpZZXMsIGRlZmluaXRlbHkuDQoNCiZndDsgLSB0aGVyZSBzaG91bGQg YmUgYSBkZWxheSBwZXJpb2QgYXQgdGhlIGFkdmFudGFnZSBvZiBvbmUgcGFydHkNCiZndDsgb3Ro ZXJ3aXNlIHlvdSBzdGlsbCBhIGZlZXJhdGUtcmFjZSBpZiB0aGUgcmV2b2NhdGlvbiBiaXA2OCB0 aW1lbG9jaw0KJmd0OyBoYXMgZXhwaXJlZCBkdXJpbmcgdGhlIEZEVCBkZWxheQ0KDQomZ3Q7IEFz IHN1Y2gsIEkgYmVsaWV2ZSB0aGUgRkRUIHBhcmFtZXRlcnMgc2hvdWxkIGJlIGVucmljaGVkIHdp dGggYW5vdGhlcg0KJmd0OyBwYXJhbWV0ZXIgOiBgY2xhaW1fZ3JhY2VfcGVyaW9kYCwgYSBuZXcg dHlwZSBvZiByZWxhdGl2ZSB0aW1lbG9jayBvZg0KJmd0OyB3aGljaCB0aGUgZW5kcG9pbnQgc2hv dWxkIGJlIHRoZSBgZmVlcmF0ZV92YWx1ZV9ib3VuZGAgaXRzZWxmLg0KDQpJJ20gbm90IHN1cmUg SSdtIGZvbGxvd2luZyB5b3VyIHByb3Bvc2FsLg0KQXJlIHlvdSBzdWdnZXN0aW5nIHRoYXQgdGhl IHRyYW5zYWN0aW9uIHdpdGggdGhlIEZEVCBoYXMgdG8gd2FpdCBhbiBhZGRpdGlvbmFsIGNsYWlt X2dyYWNlX3BlcmlvZCBpbiBvcmRlciB0byBhbGxvdyBjb25mbGljdGluZyB0cmFuc2FjdGlvbnMg ZnJvbSB0aGUgb3RoZXIgcGFydHkgdG8gd2luIHRoZSByYWNlPw0KRm9yIGV4YW1wbGUsIGFzc3Vt ZSB0aGUgSFRMQy1zdWNjZXNzIHRyYW5zYWN0aW9uIGhhcyBhIGhpZ2hlciBmZWVyYXRlIHRoYW4g dGhlIGZlZXJhdGVfdmFsdWVfYm91bmQsIGFuZCB0aGUgY29uZmxpY3RpbmcgSFRMQy10aW1lb3V0 IHRyYW5zYWN0aW9uIGhhcyBhbiBGRFQgd2l0aCB0aGUgZmVlcmF0ZV92YWx1ZV9ib3VuZCAoYW5k IHN1aXRhYmxlIHdpbmRvd19zaXplIGFuZCBibG9ja19jb3VudCBwYXJhbWV0ZXJzIHRvIGRlZmVu ZCBhZ2FpbnN0IG1pbmVyIGF0dGFja3MpLg0KSW4gdGhpcyBjYXNlLCBpcyB0aGUgd29ycnkgdGhh dCB0aGUgSFRMQy1zdWNjZXNzIGFuZCBIVExDLXRpbWVvdXQgdHJhbnNhY3Rpb25zIGNvdWxkIGJv dGggYmUgZGVsYXllZCB1bnRpbCB0aGVyZSBpcyBhIHdpbmRvdyBXIHRoYXQgbWVldHMgdGhlIEZE VCdzIGZlZXJhdGVfdmFsdWVfYm91bmQsIHdpbmRvd19zaXplIGFuZCBibG9ja19jb3VudCBwYXJh bWV0ZXJzLCBhdCB3aGljaCBwb2ludCB0aGV5IHdvdWxkIHJhY2UgYWdhaW5zdCBlYWNoIG90aGVy IGFuZCBlaXRoZXIgY291bGQgd2luPw0KSXMgdGhlIHJlYXNvbiB0byBkZWxheSB0aGUgSFRMQy10 aW1lb3V0IGJ5IGFuIGFkZGl0aW9uYWwgY2xhaW1fZ3JhY2VfcGVyaW9kIHRvIGd1YXJhbnRlZSB0 aGF0IHRoZSBIVExDLXN1Y2Nlc3MgdHJhbnNhY3Rpb24gd2lsbCB3aW4gdGhlIHJhY2U/DQpJZiBz bywgSSBkb24ndCB0aGluayBpdCdzIG5lZWRlZCwgZ2l2ZW4gdGhlIGV4YWN0IGRlZmluaXRpb24g b2YgdGhlIEZEVCBwcm9wb3NhbC4NClRoaXMgaXMgYmVjYXVzZSAqZHVyaW5nKiB0aGUgd2luZG93 IFcgdGhhdCBtZWV0cyB0aGUgRkRUJ3MgcmVxdWlyZW1lbnRzLCB0aGUgSFRMQy1zdWNjZXNzIHRy YW5zYWN0aW9uIHNob3VsZCBnZXQgbWluZWQgaW50byBvbmUgb2YgdGhlIGJsb2NrcyBpbiBXIHRo YXQgaGFzIGEgbWVkaWFuIGZlZXJhdGUgbm8gbGFyZ2VyIHRoYW4gZmVlcmF0ZV92YWx1ZV9ib3Vu ZCwgYXNzdW1pbmcgaG9uZXN0IG1pbmVycy4NClRoZSBhc3N1bXB0aW9uIG9mIGhvbmVzdCBtaW5l cnMgaXMgcmVzb2x2ZWQgYnkgc2V0dGluZyB0aGUgd2luZG93X3NpemUgYW5kIGJsb2NrX2NvdW50 IHBhcmFtZXRlcnMgYXBwcm9wcmlhdGVseS4NCkRvZXMgdGhhdCBtYWtlIHNlbnNlPw0KDQomZ3Q7 IEkgdGhpbmsgaXQgd29ya3MgaW4gdGVybXMgb2YgY29uc2Vuc3VzIGNoYWluIHN0YXRlLCB2YWxp ZGF0aW9uDQomZ3Q7IHJlc291cmNlcyBhbmQgcmVvcmctc2FmZXR5IGFyZSBhbGwgdGhlIHBhcmFt ZXRlcnMgdGhhdCBhcmUNCiZndDsgc2VsZi1jb250YWluZWQgaW4gdGhlIHNwZW50IEZEVC1lbmN1 bWJlcmVkIHRyYW5zYWN0aW9uIGl0c2VsZi4NCiZndDsgSWYgdGhlIHBlci1ibG9jayBmZWVyYXRl IGZsdWN0dWF0ZXMsIHRoZSB2YWxpZGl0eSBvZiB0aGUgdWx0ZXJpb3INCiZndDsgRkRULWxvY2tl ZCB0cmFuc2FjdGlvbnMgY2hhbmdlcyB0b28sIHRob3VnaCB0aGlzIGlzIGFscmVhZHkgdGhlIGNh c2UNCiZndDsgd2l0aCB0aW1lbG9jay1lbmN1bWJlcmVkIHRyYW5zYWN0aW9ucy4NCg0KJmd0OyAo T25lIGNvcm9sbGFyeSBmb3IgTGlnaHRuaW5nLCBpdCBzb3VuZHMgbGlrZSBhbGwgdGhlIGNoYW5u ZWxzIGNhcnJ5aW5nDQomZ3Q7IG9uIGEgSFRMQyBhbG9uZyBhIHBheW1lbnQgcGF0aCBzaG91bGQg aGF2ZSB0aGUgc2FtZSBGRFQtcGFyYW1ldGVycyB0bw0KJmd0OyBhdm9pZCBvZmYtY2hhaW4gSFRM QyBkb3VibGUtc3BlbmQsIGEgcmlzayBub3QgY2xlYXJseSBhcnRpY3VsYXRlZCBpbg0KJmd0OyB0 aGUgTE4gcGFwZXIpLg0KDQpJdCdzIGludGVyZXN0aW5nIHRoYXQgeW91IGZvY3VzZWQgb24gc2Vj dXJpbmcgSFRMQ3MsIGFzIEkgd2FzIGZvY3VzZWQgb24gc2VjdXJpbmcgTE4gY2hhbm5lbCBzdGF0 ZSAoZS5nLiwgZ2V0dGluZyB0aGUgcmlnaHQgQ29tbWl0bWVudCB0eCkgYW5kIGZhY3Rvcnkgc3Rh dGUuDQpUaGUgY2hhbGxlbmdlIHdpdGggdXNpbmcgRkRUcyB0byBzZWN1cmUgSFRMQ3MgaXMgdGhh dCB5b3UgbmVlZCBhIHdheSB0byBzcGVjaWZ5IGEgc2VxdWVuY2Ugb2YgRkRUcyAoY29ycmVzcG9u ZGluZyB0byB0aGUgaG9wcyBpbiBhIExOIHBheW1lbnQpIHRoYXQgZXhwaXJlIHdpdGggZW5vdWdo IHRpbWUgYmV0d2VlbiB0aGVtIGFuZCB3aXRoIGEgbG93IGZlZXJhdGUgcGVyaW9kIGJldHdlZW4g dGhlbS4NCkZvciBleGFtcGxlLCBjb25zaWRlciBhIHBheW1lbnQgd2l0aCBuIGhvcHMsIHdoZXJl IGhvcCBpIGhhcyBhbiBIVExDIHRoYXQgZXhwaXJlcyBhdCB0aW1lIFRfaSwgYW5kIHdoZXJlIGhv cCBuIGlzIHRoZSBsYXN0IGhvcC4NCldpdGhvdXQgRkRUcywgb25lIHdvdWxkIHNlbGVjdCBleHBp cmllcyBzdWNoIHRoYXQgVF9pICsgY2x0dl9leHBpcnlfZGVsdGFfaSAmbHQ7IFRfKGktMSkuDQpX aXRoIEZEVHMsIG9uZSBjYW4ndCBqdXN0IHVzZSB0aGUgc2FtZSBUX2kncyBhbmQgYWRkIGFuIEZE VCB0aGF0IGZvbGxvd3MgdGhhdCBUX2ksIGJlY2F1c2UgdGhlIGZlZXJhdGUgY291bGQgYmUgaGln aCB1bnRpbCB3ZWxsIGFmdGVyIHRoZSBmaXJzdCBmZXcgVF9pJ3MgYXJlIHJlYWNoZWQuDQpGb3Ig ZXhhbXBsZSwgYXNzdW1lIFRfbiwgVF8obi0xKSBhbmQgVF8obi0yKSBhbGwgb2NjdXIgYmVmb3Jl IGZlZXJhdGVzIGZhbGwgYmVsb3cgdGhlIGZlZXJhdGVfdmFsdWVfYm91bmQuDQpJbiB0aGlzIGNh c2UsIHRoZSBIVExDLXRpbWVvdXQgVFhzIGZvciBob3BzIG4sIG4tMSBhbmQgbi0yIHdvdWxkIGFs bCBiZSBkZWxheWVkIHVudGlsIHRoZSBmZWVyYXRlcyBmZWxsLCBhbmQgdGhlbiB0aGV5IHdvdWxk IGFsbCBiZSBhYmxlIHRvIGJlIHB1dCBvbmNoYWluIGF0IHRoZSBzYW1lIHRpbWUgKHdpdGhvdXQg dGhlIHJlcXVpcmVkIGNsdHZfZXhwaXJ5X2RlbHRhcyBiZXR3ZWVuIHRoZW0pLg0KDQpPbmUgYXR0 ZW1wdCB0byBzb2x2ZSB0aGlzIHdvdWxkIGJlIHRvIGFkZCBhbm90aGVyIHBhcmFtZXRlciB0aGF0 IHNwZWNpZmllcyBob3cgbWFueSBibG9ja3MgdG8gd2FpdCBhZnRlciBmZWVzIGhhdmUgZmFsbGVk IGJlbG93IHRoZSBmZWVyYXRlX3ZhbHVlX2JvdW5kIChsaWtlIHRoZSBjbGFpbV9ncmFjZV9wZXJp ZCwgaWYgSSB1bmRlcnN0YW5kIGl0IGNvcnJlY3RseSkuDQpIb3dldmVyLCB0aGF0IGRvZXNuJ3Qg c29sdmUgdGhlIHByb2JsZW0gYmVjYXVzZSB0aGUgY29uZ2VzdGlvbiBjb3VsZCBzdGFydCwgYW5k IHRoZSBmZWVyYXRlX3ZhbHVlX2JvdW5kIGNvdWxkIGJlIGV4Y2VlZGVkLCBhdCBhbnkgdGltZS4N CkZvciBleGFtcGxlLCB0aGUgZmVlcmF0ZV92YWx1ZV9ib3VuZCBjb3VsZCBmaXJzdCBiZSBleGNl ZWRlZCBqdXN0IGFmdGVyIFRfKG4tMSksIGluIHdoaWNoIGNhc2UgdGhlIGZlZXMgd291bGQgYmUg dG9vIGhpZ2ggdG8gcHV0IHRoZSBIVExDLXN1Y2Nlc3MgdHJhbnNhY3Rpb24gb25jaGFpbiBpbiBo b3AgVF8obi0yKS4NCg0KV2hhdCB3ZSByZWFsbHkgbmVlZCBpcyB0aGUgYWJpbGl0eSB0byBlbnN1 cmUgdGhhdCB0aGVyZSBoYXZlIGJlZW4gZW5vdWdoIGxvdyBmZWVyYXRlIGV4cGlyaWVzLCBlYWNo IHNlcGFyYXRlZCBieSB0aGUgcmVxdWlyZWQgY2x0dl9leHBpcnlfZGVsdGEuDQpUaGlzIGNhbiBi ZSBhY2hpZXZlZCBieSBhZGRpbmcgYSBuZXcgcGFyYW1ldGVyLCBudW1iZXJfb2Zfd2luZG93cywg dGhhdCBzcGVjaWZpZXMgaG93IG1hbnkgbG93IGZlZXJhdGUgd2luZG93cyBXXzEsIFdfMiwgZXRj LiwgYXJlIHJlcXVpcmVkLCBhbGwgb2Ygd2hpY2ggbWVldCB0aGUgZmVlcmF0ZV92YWx1ZV9ib3Vu ZCwgd2luZG93X3NpemUgYW5kIGJsb2NrX2NvdW50IHBhcmFtZXRlcnMgKGFuZCBhbGwgb2Ygd2hp Y2ggc3RhcnQgbm8gbGF0ZXIgdGhhbiB3aGVuIHRoZSBzdGFuZGFyZCBhYnNvbHV0ZSBhbmQgcmVs YXRpdmUgdGltZWxvY2tzIGhhdmUgYmVlbiBzYXRpc2ZpZWQpLg0KV2l0aCB0aGlzIG5ldyBwYXJh bWV0ZXIsIGxvd2VyIG51bWJlcmVkIGhvcHMgKGNsb3NlciB0byB0aGUgc2VuZGVyKSBjYW4gdXNl IGxhcmdlciB2YWx1ZXMgb2YgbnVtYmVyX29mX3dpbmRvd3MgaW4gb3JkZXIgdG8gZ3VhcmFudGVl IGxvdyBmZWVyYXRlIHBlcmlvZHMgdGhhdCBtZWV0IHRoZSByZXF1aXJlZCBjbHR2X2V4cGlyeV9k ZWx0YXMuDQoNCkZvciBleGFtcGxlLCBhc3N1bWUgZmVlcmF0ZV92YWx1ZV9ib3VuZCBpcyAyNTYg c2F0cy92Ynl0ZSwgd2luZG93X3NpemUgaXMgMjU2LCBhbmQgYmxvY2tfY291bnQgaXMgNjQuDQpU aGVuLCBnaXZlIHRoZSBIVExDLXRpbWVvdXQgdHJhbnNhY3Rpb24gaW4gaG9wIGkgYW4gYWJzb2x1 dGUgdGltZWxvY2sgb2YgVF9uICh0aGUgdGltZWxvY2sgZm9yIGhvcCBuKSBhbmQgYW4gRkRUIHdp dGggbnVtYmVyX29mX3dpbmRvd3MgZXF1YWwgdG8gKG4taSsxKSAoYW5kIHdpdGggZmVlcmF0ZV92 YWx1ZV9ib3VuZCwgd2luZG93X3NpemUgYW5kIGJsb2NrX2NvdW50IGFzIGFib3ZlKS4NCkluIHRo aXMgY2FzZSwgYXMgbG9uZyBhcyBlYWNoIGNsdHZfZXhwaXJ5X2RlbHRhIGlzIGxlc3MgdGhhbiB3 aW5kb3dfc2l6ZSAtIGJsb2NrX2NvdW50ID0gMTkyLCB0aGVuIGluIGVhY2ggaG9wIHRoZSBwYXJ0 eSBvZmZlcmVkIHRoZSBIVExDIGNhbiBwdXQgdGhlaXIgSFRMQy1zdWNjZXNzIHRyYW5zYWN0aW9u IG9uY2hhaW4gaW4gYSBsb3cgZmVlcmF0ZSBibG9jayBhZnRlciB0aGV5IGhhdmUgc2VlbiB0aGUg aGFzaCBwcmVpbWFnZSBmb3IgYXQgbGVhc3QgY2x0dl9leHBpcnlfZGVsdGEgYmxvY2tzLg0KKElu IHByYWN0aWNlLCB0aGUgcGFyYW1ldGVycyBjb3VsZCBiZSB0d2Vha2VkIGEgYml0IHRvIGJyZWFr IHRoZSBhc3NvY2lhdGlvbiBiZXR3ZWVuIGhvcHMsIHN1Y2ggYXMgYnkgdXNpbmcgbW9yZSByZXN0 cmljdGl2ZSBmZWVyYXRlX3ZhbHVlX2JvdW5kcyBhbmQvb3IgYmxvY2tfY291bnRzIGFzIG9uZSBn ZXRzIGNsb3NlciB0byB0aGUgc291cmNlLCBhbmQgYnkgaW5jcmVhc2luZyB0aGUgbnVtYmVyX29m X3dpbmRvd3MgcGFyYW1ldGVyIGJ5IG1vcmUgdGhhbiBvbmUgcGVyIGhvcCBhcyBvbmUgZ2V0cyBj bG9zZXIgdG8gdGhlIHNvdXJjZS4pDQoNCiZndDsgR2l2ZW4gdGhlIG9uZSBtb3JlIGFkZGl0aW9u YWwgcGFyYW1ldGVyIGBjbGFpbV9ncmFjZV9wZXJpb2RgLCBJIHRoaW5rDQomZ3Q7IGl0IHdvdWxk IGJlIHdpc2VyIGRlc2lnbiB0byBtb3ZlIGFsbCB0aGUgRkRUIHBhcmFtZXRlcnMgaW4gdGhlIGJp cDM0MQ0KJmd0OyBhbm5leC4NCiZndDsgVGhlcmUgaXMgbW9yZSBmcmVlIGJpdHMgcm9vbSB0aGVy ZSBhbmQgYWRkaXRpb25hbGx5IHlvdSBjYW4gaGF2ZQ0KJmd0OyBkaWZmZXJlbnQgRkRUIHBhcmFt ZXRlcnMgZm9yIGVhY2ggb2YgeW91ciBIVExDIG91dHB1dHMgaW4gYSBzaW5nbGUgTE4NCiZndDsg dHJhbnNhY3Rpb24sIGlmIGNvbWJpbmVkIHdpdGggZnV0dXJlIGNvdmVuYW50IG1lY2hhbmlzbXMg bGlrZSBIVExDDQomZ3Q7IGFnZ3JlZ2F0aW9uIFszXS4NCiZndDsgKFRoZSBjdXJyZW50IGFubmV4 IGRlc2lnbiBkcmFmdCBoYXMgYmVlbiBkZXNpZ25lZCBhbW9uZyBvdGhlcnMgdG8NCiZndDsgZW5h YmxlIHN1Y2ggImJsb2NrLWZlZXJhdGUtbG9jay1wb2ludCIgWzRdIFs1XSkNCg0KSSBsaWtlIHlv dXIgaWRlYSBvZiBwdXR0aW5nIHRoZSBGRFQgcGFyYW1ldGVycyBpbiB0aGUgYW5uZXguDQpUaGlz IGlzIHJlcXVpcmVkIGlmIHdlIGFkZCB0aGUgbnVtYmVyX29mX3dpbmRvd3MgcGFyYW1ldGVyIHRo YXQgSSBtZW50aW9uZWQgYWJvdmUuDQoNCkluIGFkZGl0aW9uIHRvIGZpbmRpbmcgZW5vdWdoIGJp dHMgaW4gdGhlIHRyYW5zYWN0aW9uIHRvIGhvbGQgdGhlIEZEVCBwYXJhbWV0ZXJzLCB0aGVyZSBp cyBhIGNvc3QgdG8gaW5jcmVhc2luZyB0aGUgcGFyYW1ldGVycywgbmFtZWx5IHRoZSBtZW1vcnkg cmVxdWlyZWQgdG8gdmVyaWZ5IHRyYW5zYWN0aW9ucyB3aXRoIEZEVHMuDQpJbiB0aGUgcHJvcG9z YWwgaW4gdGhlIHBhcGVyLCBGRFRzIGNvdWxkIGJlIHNwZWNpZmllZCB3aXRoIDE0IGJpdHMsIHNv IHRoZXJlIHdlcmUgb25seSAyXjE0ID0gMTZrIGRpZmZlcmVudCB2YWx1ZXMgZm9yIHdoaWNoIHRo ZSBzdGFydGluZyBibG9jayBvZiB0aGUgbW9zdCByZWNlbnQgYWxpZ25lZCB3aW5kb3cgc2F0aXNm eWluZyB0aG9zZSBwYXJhbWV0ZXJzIGhhcyB0byBiZSBzdG9yZWQgaW4gb3JkZXIgdG8gcXVpY2ts eSB2ZXJpZnkgRkRUcy4NCkFzc3VtaW5nIDQgYnl0ZXMgdG8gc3RvcmUgdGhlIHN0YXJ0aW5nIGJs b2NrIG9mIGEgd2luZG93LCB0aGF0J3MganVzdCA2NGsgYnl0ZXMgb2YgRFJBTS4NCklmIHdlIGFk ZCBhIDYtYml0IG51bWJlcl9vZl93aW5kb3dzIHBhcmFtZXRlciwgdGhhdCBpbmNyZWFzZXMgdGhl IHN0b3JhZ2UgYnkgYSBmYWN0b3Igb2YgNjQgdG8gNE1CLg0KVGhhdCdzIHN0aWxsIHByZXR0eSBz bWFsbCwgYnV0IHdlIGhhdmUgdG8gYmUgY2FyZWZ1bCB0byBub3QgbWFrZSB0aGlzIHRvbyBleHBl bnNpdmUuDQoNCiZndDsgSSBjYW5ub3QgYXNzZXJ0IHRoYXQgdGhlIEZEVCBwcm9wb3NhbCBtYWtl cyB0aGUgdGltZW91dC10cmVlIHByb3RvY29sDQomZ3Q7IG1vcmUgZWZmaWNpZW50IHRoYW4gc3Rh dGUtb2YtdGhlLWFydCBjaGFubmVsIGZhY3RvcmllcyBhbmQgcGF5bWVudA0KJmd0OyBwb29sIGNv bnN0cnVjdGlvbnMuDQomZ3Q7IFN0aWxsIGZyb20gbXkgdW5kZXJzdGFuZGluZywgYWxsIHRob3Nl IGNvbnN0cnVjdGlvbnMgYXJlIHNoYXJpbmcNCiZndDsgZnJhaWx0aWVzIGluIGZhY2Ugb2YgYmxv Y2tjaGFpbiBjb25nZXN0aW9uIGFuZCB0aGV5IHdvdWxkIG5lZWQNCiZndDsgc29tZXRoaW5nIGxp a2UgRkRULg0KDQpJIGFncmVlIHRoYXQgRkRUcyBkb24ndCBtYWtlIHRpbWVvdXQtdHJlZXMgbW9y ZSBjb21wZXRpdGl2ZSBhZ2FpbnN0IGFueSBvdGhlciBmYWN0b3J5IHByb3Rvb2NvbC4NCkkgYWxz byBhZ3JlZSB0aGF0IEZEVHMgY2FuIGJlIHVzZWQgdG8gbWFrZSBhbGwgb2YgdGhlIExOIGNoYW5u ZWwgYW5kIGZhY3RvcnkgcHJvdG9jb29scyBzYWZlci4NCklmIHdlIGV4dGVuZCB0aGUgaWRlYSB0 byBpbmNsdWRlIGEgbnVtYmVyX29mX3dpbmRvd3MgcGFyYW1ldGVyLCB0aGVuIHdlIHNob3VsZCBl dmVuIGJlIGFibGUgdG8gbWFrZSBIVExDcyBzYWZlci4NCg0KJmd0OyBJJ20gdHJ1bHkgcmVqb2lj aW5nIGF0IHRoZSBpZGVhIHRoYXQgd2UgaGF2ZSBub3cgdGhlIHN0YXJ0IG9mIGENCiZndDsgcHJv cG9zYWwgc29sdmluZyBvbmUgb2YgdGhlIG1vc3QgaW1wZXJhdGl2ZSBpc3N1ZXMgb2YgTGlnaHRu aW5nIGFuZA0KJmd0OyBvdGhlciB0aW1lLXNlbnNpdGl2ZSB1c2UtY2FzZXMuDQoNCkknbSB2ZXJ5 IGhhcHB5IHlvdSBzZWUgaXQgdGhhdCB3YXkuDQpQbGVhc2UgbGV0IG1lIGtub3cgd2hhdCB5b3Ug dGhpbmsgb2YgdGhlIG51bWJlcl9vZl93aW5kb3dzIGlkZWEsIGFuZCBpZiB5b3UgaGF2ZSBhbnkg b3RoZXIgaWRlYXMgZm9yIG1ha2luZyBIVExDcyBzYWZlci4NCg0KUmVnYXJkcywNCkpvaG48L3By ZT48YnI+PC9kaXY+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBm b250LXNpemU6IDE0cHg7Ij48YnI+PC9kaXY+DQo8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3NpZ25h dHVyZV9ibG9jayIgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1z aXplOiAxNHB4OyI+DQogICAgPGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2st dXNlciBwcm90b25tYWlsX3NpZ25hdHVyZV9ibG9jay1lbXB0eSI+DQogICAgICAgIA0KICAgICAg ICAgICAgPC9kaXY+DQogICAgDQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm90b25tYWlsX3Np Z25hdHVyZV9ibG9jay1wcm90b24iPg0KICAgICAgICBTZW50IHdpdGggPGEgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHBzOi8vcHJvdG9uLm1lLyIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5Q cm90b24gTWFpbDwvYT4gc2VjdXJlIGVtYWlsLg0KICAgIDwvZGl2Pg0KPC9kaXY+DQo8ZGl2IHN0 eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxi cj48L2Rpdj48ZGl2IGNsYXNzPSJwcm90b25tYWlsX3F1b3RlIj4NCiAgICAgICAgT24gU3VuZGF5 LCBEZWNlbWJlciAxN3RoLCAyMDIzIGF0IDM6MDEgUE0sIEFudG9pbmUgUmlhcmQgJmx0O2FudG9p bmUucmlhcmRAZ21haWwuY29tJmd0OyB3cm90ZTo8YnI+PGJyPg0KICAgICAgICA8YmxvY2txdW90 ZSBjbGFzcz0icHJvdG9ubWFpbF9xdW90ZSIgdHlwZT0iY2l0ZSI+DQogICAgICAgICAgICA8ZGl2 IGRpcj0ibHRyIj48Zm9udCBmYWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+SGkgSm9obiw8L2ZvbnQ+ PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IGFyaWFsLCBzYW5zLXNlcmlmOyB3aGl0ZS1z cGFjZTogcHJlLXdyYXA7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij48YnI+PC9zcGFuPjwvZGl2Pjxk aXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjsgd2hpdGUtc3Bh Y2U6IHByZS13cmFwOyBjb2xvcjogcmdiKDAsIDAsIDApOyI+V2hpbGUgdGhlIGlkZWEgb2YgdXNp bmcgc2xpZGluZyByZWFjdGlvbiB3aW5kb3cgZm9yIGJsb2NrY2hhaW4gY29uZ2VzdGlvbiBkZXRl Y3Rpb24gaGFzIGJlZW4gcHJlc2VudCBpbiB0aGUgInNtYXJ0IGNvbnRyYWN0IiBzcGFjZSBhdCBs YXJnZSBbMF0gYW5kIHRoaXMgaGFzIGJlZW4gZGlzY3Vzc2VkIGluZm9ybWFsbHkgYW1vbmcgTGln aHRuaW5nIGRldnMgYW5kIGNvdmVuYW50IGRlc2lnbmVycyBmZXcgdGltZXMgWzFdIFsyXSwgdGhp cyBpcyB0aGUgZmlyc3QgYW5kIGJlc3QgZm9ybWFsaXphdGlvbiBvZiBzbGlkaW5nLXRpbWUtbG9j a3MgaW4gZnVuY3Rpb24gb2YgYmxvY2sgZmVlIHJhdGVzIGZvciBCaXRjb2luIEknbSBhd2FyZSBv ZmYsIHRvIHRoZSBiZXN0IG9mIG15IGtub3dsZWRnZS48L3NwYW4+PC9kaXY+PGRpdj48cHJlIHN0 eWxlPSJ3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij48Zm9udCBm YWNlPSJhcmlhbCwgc2Fucy1zZXJpZiI+SGVyZSBteSB1bmRlcnN0YW5kaW5nIG9mIHRoZSBmZWVy YXRlLWRlcGVuZGVudCB0aW1lbG9jayBwcm9wb3NhbC4NCg0KQSB0cmFuc2FjdGlvbiBjYW5ub3Qg YmUgaW5jbHVkZWQgaW4gYSBibG9jazoNCi0gaGVpZ2h0LWJhc2VkIG9yIGVwb2NoLWJhc2VkIGFi c29sdXRlIG9yIHJlbGF0aXZlIHRpbWVsb2NrcyBhcmUgbm90IHNhdGlzZmllZCBhY2NvcmRpbmcg dG8gY3VycmVudCBjb25zZW5zdXMgcnVsZXMgKGJpcDY4IGFuZCBiaXAgMTEzIGFuZCBpbXBsZW1l bnRhdGlvbiBkZXRhaWxzKQ0KLSBsZXNzIHRoYW4gYGJsb2NrX2NvdW50YCBoYXMgYSBibG9jayBt ZWRpYW4tZmVlcmF0ZSBhYm92ZSB0aGUgbWVkaWFuLWZlZXJhdGUgb2YgdGhlIGB3aW5kb3dfc2l6 ZWAgcGVyaW9kDQoNCkEgbWVkaWFuIGZlZXJhdGUgaXMgY29tcHV0ZWQgZm9yIGVhY2ggYmxvY2su DQooVGhpcyBpcyB1bmNsZWFyIHRvIG1lIGlmIHRoaXMgaXMgdGhlIGZlZXJhdGUgZm9yIGhhbGYg b2YgdGhlIGJsb2NrJ3Mgd2VpZ2h0IG9yIHRoZSBtZWRpYW4gZmVlcmF0ZSB3aXRoIGFsbCB3ZWln aHQgdW5pdHMgaW5jbHVkZWQgaW4gdGhlIGJsb2NrIGFzIHRoZSBzYW1wbGUpDQoNCkZyb20gdGhl biwgeW91IGhhdmUgMyBwYXJhbWV0ZXJzIGluY2x1ZGVkIGluIHRoZSBuU2VxdWVuY2UgZmllbGQu DQotIGZlZXJhdGVfdmFsdWVfYm91bmQNCi0gd2luZG93X3NpemUNCi0gYmxvY2tfY291bnQNCg0K VGhvc2UgcGFyYW1ldGVycyBjYW4gYmUgc2VsZWN0ZWQgYnkgdGhlIHRyYW5zYWN0aW9uIGJ1aWxk ZXIgKGFuZCBjb21taXR0ZWQgd2l0aCBhIHNpZ25hdHVyZSBvciBoYXNoIGNoYWluLWJhc2VkIGNv dmVuYW50KS4NCkFzIHN1Y2gsIG9mZi1jaGFpbiBjb25zdHJ1Y3Rpb24gY291bnRlcnBhcnRpZXMg Y2FuIHNlbGVjdCB0aGUgZmVlcmF0ZV92YWx1ZV9ib3VuZCBhdCB3aGljaCB0aGVpciB0aW1lLXNl bnNpdGl2ZSB0cmFuc2FjdGlvbiBjb25maXJtYXRpb24gd2lsbCBiZSBkZWxheWVkLg0KDQpFLmcg bGV0J3Mgc2F5IHlvdSBoYXZlIGEgTE4tcGVuYWx0eSBBbGljZS1Cb2IgY2hhbm5lbC4gU2Vjb25k LXN0YWdlIEhUTEMgdHJhbnNhY3Rpb25zIGFyZSBwcmUtc2lnbmVkIHdpdGggZmVlcmF0ZV92YWx1 ZV9ib3VuZCBhdCAxMDAgc2F0IC8gdmJ5dGVzLg0KVGhlIHdpbmRvd19zaXplIHNlbGVjdGVkIGlz IDEwMCBibG9ja3MgYW5kIHRoZSBibG9ja19jb3VudCBpcyA3MCAodGhpcyBndWFyYW50ZWVzIHRh bXBlcmluZy1yb2J1c3RuZXNzIG9mIHRoZSBmZWVyYXRlX3ZhbHVlX2JvdW5kIGluIGZhY2Ugb2Yg bWluZXJzIGNvYWxpdGlvbnMpLg0KDQpUaGVyZSBpcyAxIEJUQyBvZmZlcmVkIEhUTEMgcGVuZGlu ZyB3aXRoIGV4cGlyYXRpb24gdGltZSBULCBmcm9tIEFsaWNlIHRvIEJvYi4NCg0KSWYgYXQgdGlt ZSBULCB0aGUgcGVyLWJsb2NrIG1lZGlhbiBmZWVyYXRlIG9mIGF0IGxlYXN0IDcwIGJsb2NrcyBv dmVyIHRoZSBsYXRlc3QgMTAwIGJsb2NrIGlzIGFib3ZlIDEwMCBzYXQgLyB2Ynl0ZXMsIGFueSBB bGljZSdzIEhUTEMtdGltZW91dCBvciBCb2IncyBIVExDLXByZWltYWdlIGNhbm5vdCBiZSBpbmNs dWRlZCBpbiB0aGUgY2hhaW4uDQoNCkZyb20gbXkgdW5kZXJzdGFuZGluZywgRmVlcmF0ZS1EZXBl bmRlbnQgVGltZWxvY2tzIGVmZmVjdGl2ZWx5IGNvbnN0aXR1dGUgdGhlIGxpbmVhbWVudHMgb2Yg YSBzb2x1dGlvbiB0byB0aGUgIkZvcmNlZCBFeHBpcmF0aW9uIFNwYW0iIGFzIGRlc2NyaWJlZCBp biB0aGUgTE4gcGFwZXIuDQoNCkkgdGhpbmsgeW91IGhhdmUgZmV3IGRlc2lnbiBjYXZlYXRzIHRv IGJlIGF3YXJlIG9mZjoNCi0gZm9yIGN1cnJlbnQgTE4tcGVuYWx0eSwgdGhlIHJldm9rZWFibGUg c2NyaXB0cyBzaG91bGQgYmUgbW9kaWZpZWQgdG8gZW5zdXJlIHRoZSBDU1Ygb3Bjb2RlIGluc3Bl Y3QgdGhlIGVuZm9yY2VtZW50IG9mIEZEVCdzIHBhcmFtZXRlcnMsIGFzIHRob3NlIHJldm9rZWFi bGUgc2NyaXB0cyBhcmUgY29tbWl0dGVkIGJ5IGFsbCBwYXJ0aWVzDQotIHRoZXJlIHNob3VsZCBi ZSBhIGRlbGF5IHBlcmlvZCBhdCB0aGUgYWR2YW50YWdlIG9mIG9uZSBwYXJ0eSBvdGhlcndpc2Ug eW91IHN0aWxsIGEgZmVlcmF0ZS1yYWNlIGlmIHRoZSByZXZvY2F0aW9uIGJpcDY4IHRpbWVsb2Nr IGhhcyBleHBpcmVkIGR1cmluZyB0aGUgRkRUIGRlbGF5DQoNCkFzIHN1Y2gsIEkgYmVsaWV2ZSB0 aGUgRkRUIHBhcmFtZXRlcnMgc2hvdWxkIGJlIGVucmljaGVkIHdpdGggYW5vdGhlciBwYXJhbWV0 ZXIgOiBgY2xhaW1fZ3JhY2VfcGVyaW9kYCwgYSBuZXcgdHlwZSBvZiByZWxhdGl2ZSB0aW1lbG9j ayBvZiB3aGljaCB0aGUgZW5kcG9pbnQgc2hvdWxkIGJlIHRoZSBgZmVlcmF0ZV92YWx1ZV9ib3Vu ZGAgaXRzZWxmLg0KDQpJIHRoaW5rIGl0IHdvcmtzIGluIHRlcm1zIG9mIGNvbnNlbnN1cyBjaGFp biBzdGF0ZSwgdmFsaWRhdGlvbiByZXNvdXJjZXMgYW5kIHJlb3JnLXNhZmV0eSBhcmUgYWxsIHRo ZSBwYXJhbWV0ZXJzIHRoYXQgYXJlIHNlbGYtY29udGFpbmVkIGluIHRoZSBzcGVudCBGRFQtZW5j dW1iZXJlZCB0cmFuc2FjdGlvbiBpdHNlbGYuDQpJZiB0aGUgcGVyLWJsb2NrIGZlZXJhdGUgZmx1 Y3R1YXRlcywgdGhlIHZhbGlkaXR5IG9mIHRoZSB1bHRlcmlvciBGRFQtbG9ja2VkIHRyYW5zYWN0 aW9ucyBjaGFuZ2VzIHRvbywgdGhvdWdoIHRoaXMgaXMgYWxyZWFkeSB0aGUgY2FzZSB3aXRoIHRp bWVsb2NrLWVuY3VtYmVyZWQgdHJhbnNhY3Rpb25zLg0KDQooT25lIGNvcm9sbGFyeSBmb3IgTGln aHRuaW5nLCBpdCBzb3VuZHMgbGlrZSBhbGwgdGhlIGNoYW5uZWxzIGNhcnJ5aW5nIG9uIGEgSFRM QyBhbG9uZyBhIHBheW1lbnQgcGF0aCBzaG91bGQgaGF2ZSB0aGUgc2FtZSBGRFQtcGFyYW1ldGVy cyB0byBhdm9pZCBvZmYtY2hhaW4gSFRMQyBkb3VibGUtc3BlbmQsIGEgcmlzayBub3QgY2xlYXJs eSBhcnRpY3VsYXRlZCBpbiB0aGUgTE4gcGFwZXIpLg0KDQpHaXZlbiB0aGUgb25lIG1vcmUgYWRk aXRpb25hbCBwYXJhbWV0ZXIgYGNsYWltX2dyYWNlX3BlcmlvZGAsIEkgdGhpbmsgaXQgd291bGQg YmUgd2lzZXIgZGVzaWduIHRvIG1vdmUgYWxsIHRoZSBGRFQgcGFyYW1ldGVycyBpbiB0aGUgYmlw MzQxIGFubmV4Lg0KVGhlcmUgaXMgbW9yZSBmcmVlIGJpdHMgcm9vbSB0aGVyZSBhbmQgYWRkaXRp b25hbGx5IHlvdSBjYW4gaGF2ZSBkaWZmZXJlbnQgRkRUIHBhcmFtZXRlcnMgZm9yIGVhY2ggb2Yg eW91ciBIVExDIG91dHB1dHMgaW4gYSBzaW5nbGUgTE4gdHJhbnNhY3Rpb24sIGlmIGNvbWJpbmVk IHdpdGggZnV0dXJlIGNvdmVuYW50IG1lY2hhbmlzbXMgbGlrZSBIVExDIGFnZ3JlZ2F0aW9uIFsz XS4NCihUaGUgY3VycmVudCBhbm5leCBkZXNpZ24gZHJhZnQgaGFzIGJlZW4gZGVzaWduZWQgYW1v bmcgb3RoZXJzIHRvIGVuYWJsZSBzdWNoICJibG9jay1mZWVyYXRlLWxvY2stcG9pbnQiIFs0XSBb NV0pDQoNCkkgY2Fubm90IGFzc2VydCB0aGF0IHRoZSBGRFQgcHJvcG9zYWwgbWFrZXMgdGhlIHRp bWVvdXQtdHJlZSBwcm90b2NvbCBtb3JlIGVmZmljaWVudCB0aGFuIHN0YXRlLW9mLXRoZS1hcnQg Y2hhbm5lbCBmYWN0b3JpZXMgYW5kIHBheW1lbnQgcG9vbCBjb25zdHJ1Y3Rpb25zLg0KU3RpbGwg ZnJvbSBteSB1bmRlcnN0YW5kaW5nLCBhbGwgdGhvc2UgY29uc3RydWN0aW9ucyBhcmUgc2hhcmlu ZyBmcmFpbHRpZXMgaW4gZmFjZSBvZiBibG9ja2NoYWluIGNvbmdlc3Rpb24gYW5kIHRoZXkgd291 bGQgbmVlZCBzb21ldGhpbmcgbGlrZSBGRFQuDQoNCkknbSB0cnVseSByZWpvaWNpbmcgYXQgdGhl IGlkZWEgdGhhdCB3ZSBoYXZlIG5vdyB0aGUgc3RhcnQgb2YgYSBwcm9wb3NhbCBzb2x2aW5nIG9u ZSBvZiB0aGUgbW9zdCBpbXBlcmF0aXZlIGlzc3VlcyBvZiBMaWdodG5pbmcgYW5kIG90aGVyIHRp bWUtc2Vuc2l0aXZlIHVzZS1jYXNlcy4NCihOb3RlLCBJJ3ZlIG5vdCByZXZpZXdlZCB0aGUgYW5h bHlzaXMgYW5kIGdhbWUtdGhlb3J5IGluIHRoZSBmYWNlIG9mIG1pbmVycyBjb2xsdXNpb24gLyBj b2FsaXRpb24sIGFzIEkgdGhpbmsgdGhlIGludHJvZHVjdGlvbiBvZiBhIGBjbGFpbV9ncmFjZV9w ZXJpb2RgIGlzIG1vZGlmeWluZyB0aGUgZnVuZGFtZW50YWxzKS4NCg0KQmVzdCwNCkFudG9pbmUN Cg0KWzBdIDxhIGhyZWY9Imh0dHBzOi8vZmMyMi5pZmNhLmFpL3ByZXByb2NlZWRpbmdzLzExOS5w ZGYiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPmh0 dHBzOi8vZmMyMi5pZmNhLmFpL3ByZXByb2NlZWRpbmdzLzExOS5wZGY8L2E+DQpbMV0gPGEgaHJl Zj0iaHR0cHM6Ly9naXRodWIuY29tL2FyaWFyZC9iaXRjb2luLWNvbnRyYWN0aW5nLXByaW1pdGl2 ZXMtd2cvYmxvYi9tYWluL21lZXRpbmdzL21lZXRpbmdzLTE4LTA0Lm1kIiByZWw9Im5vcmVmZXJy ZXIgbm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20v YXJpYXJkL2JpdGNvaW4tY29udHJhY3RpbmctcHJpbWl0aXZlcy13Zy9ibG9iL21haW4vbWVldGlu Z3MvbWVldGluZ3MtMTgtMDQubWQ8L2E+DQpbMl0gPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy5saW51 eGZvdW5kYXRpb24ub3JnL3BpcGVybWFpbC9iaXRjb2luLWRldi8yMDIzLU5vdmVtYmVyLzAyMjE4 MC5odG1sIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5r Ij5odHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvcGlwZXJtYWlsL2JpdGNvaW4tZGV2 LzIwMjMtTm92ZW1iZXIvMDIyMTgwLmh0bWw8L2E+DQpbM10gPGEgaHJlZj0iaHR0cHM6Ly9saXN0 cy5saW51eGZvdW5kYXRpb24ub3JnL3BpcGVybWFpbC9iaXRjb2luLWRldi8yMDIzLU9jdG9iZXIv MDIyMDkzLmh0bWwiIHJlbD0ibm9yZWZlcnJlciBub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJf YmxhbmsiPmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9waXBlcm1haWwvYml0Y29p bi1kZXYvMjAyMy1PY3RvYmVyLzAyMjA5My5odG1sPC9hPg0KWzRdIDxhIGhyZWY9Imh0dHBzOi8v Z2l0aHViLmNvbS9iaXRjb2luLWlucXVpc2l0aW9uL2JpdGNvaW4vcHVsbC85IiByZWw9Im5vcmVm ZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5j b20vYml0Y29pbi1pbnF1aXNpdGlvbi9iaXRjb2luL3B1bGwvOTwvYT48L2ZvbnQ+PC9wcmU+PHBy ZSBzdHlsZT0id2hpdGUtc3BhY2U6IHByZS13cmFwOyBjb2xvcjogcmdiKDAsIDAsIDApOyI+PHNw YW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWYiPls1XSA8L3NwYW4+PHNwYW4g c3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWYiPjxhIGhyZWY9Imh0dHBzOi8vZ2l0 aHViLmNvbS9iaXRjb2luL2JpcHMvcHVsbC8xMzgxIiByZWw9Im5vcmVmZXJyZXIgbm9mb2xsb3cg bm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBz L3B1bGwvMTM4MTwvYT48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsLHNhbnMt c2VyaWYiPiA8L3NwYW4+PC9wcmU+PC9kaXY+PC9kaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1 b3RlIj48ZGl2IGNsYXNzPSJnbWFpbF9hdHRyIiBkaXI9Imx0ciI+TGUgdmVuLiAxNSBkw6ljLiAy MDIzIMOgIDA5OjIwLCBqbHNwYyB2aWEgYml0Y29pbi1kZXYgJmx0OzxhIGhyZWY9Im1haWx0bzpi aXRjb2luLWRldkBsaXN0cy5saW51eGZvdW5kYXRpb24ub3JnIiByZWw9Im5vcmVmZXJyZXIgbm9m b2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj5iaXRjb2luLWRldkBsaXN0cy5saW51eGZv dW5kYXRpb24ub3JnPC9hPiZndDsgYSDDqWNyaXQgOjxicj48L2Rpdj48YmxvY2txdW90ZSBzdHls ZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0LXdpZHRoOjFweDtib3JkZXIt bGVmdC1zdHlsZTpzb2xpZDtib3JkZXItbGVmdC1jb2xvcjpyZ2IoMjA0LDIwNCwyMDQpO3BhZGRp bmctbGVmdDoxZXgiIGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6 QXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweCI+PHByZSBzdHlsZT0id2hpdGUtc3BhY2U6 cHJlLXdyYXAiPlRMO0RSDQo9PT09PQ0KKiBBbGwga25vd24gTGlnaHRuaW5nIGNoYW5uZWwgYW5k IGZhY3RvcnkgcHJvdG9jb2xzIGFyZSBzdXNjZXB0aWJsZSB0byBmb3JjZWQgZXhwaXJhdGlvbiBz cGFtIGF0dGFja3MsIGluIHdoaWNoIGFuIGF0dGFja2VyIGZsb29kcyB0aGUgYmxvY2tjaGFpbiB3 aXRoIHRyYW5zYWN0aW9ucyBpbiBvcmRlciB0byBwcmV2ZW50IGhvbmVzdCB1c2VycyBmcm9tIHB1 dHRpbmcgdGhlaXIgdHJhbnNhY3Rpb25zIG9uY2hhaW4gYmVmb3JlIHRpbWVsb2NrcyBleHBpcmUu DQoqIEZlZXJhdGUtRGVwZW5kZW50IFRpbWVsb2NrcyAoRkRUcykgYXJlIHRpbWVsb2NrcyB0aGF0 IGF1dG9tYXRpY2FsbHkgZXh0ZW5kIHdoZW4gYmxvY2tjaGFpbiBmZWVyYXRlcyBzcGlrZS4NCiAg LSBJbiB0aGUgbm9ybWFsIGNhc2UsIHRoZXJlJ3Mgbm8gc3Bpa2UgaW4gZmVlcmF0ZXMgYW5kIHRo dXMgbm8gdHJhZGVvZmYgYmV0d2VlbiBjYXBpdGFsIGVmZmljaWVuY3kgYW5kIHNhZmV0eS4NCiAg LSBJZiBhIGRpc2hvbmVzdCB1c2VyIGF0dGVtcHRzIGEgZm9yY2VkIGV4cGlyYXRpb24gc3BhbSBh dHRhY2ssIGZlZXJhdGVzIGluY3JlYXNlIGFuZCBGRFRzIGFyZSBleHRlbmRlZCwgdGh1cyBwZW5h bGl6aW5nIHRoZSBhdHRhY2tlciBieSBrZWVwaW5nIHRoZWlyIGNhcGl0YWwgdGltZWxvY2tlZCBm b3IgbG9uZ2VyLg0KICAtIEZEVHMgYXJlIHR1bmFibGUgYW5kIGNhbiBiZSBtYWRlIHRvIGJlIGhp Z2hseSByZXNpc3RhbnQgdG8gYXR0YWNrcyBmcm9tIGRpc2hvbmVzdCBtaW5lcnMuDQoqIE9mIHNl cGFyYXRlIGludGVyZXN0LCBhbiBleGFjdCBhbmFseXNpcyBvZiB0aGUgcmlzayBvZiBkb3VibGUg c3BlbmQgYXR0YWNrcyBpcyBwcmVzZW50ZWQgdGhhdCBjb3JyZWN0cyBhbiBlcnJvciBpbiB0aGUg b3JpZ2luYWwgQml0Y29pbiB3aGl0ZXBhcGVyLg0KDQpPdmVydmlldw0KPT09PT09PT0NCg0KQmVj YXVzZSB0aGUgTGlnaHRuaW5nIHByb3RvY29sIHJlbGllcyBvbiB0aW1lbG9ja3MgdG8gZXN0YWJs aXNoIHRoZSBjb3JyZWN0IGNoYW5uZWwgc3RhdGUsIExpZ2h0bmluZyB1c2VycyBjb3VsZCBsb3Nl IHRoZWlyIGZ1bmRzIGlmIHRoZXkncmUgdW5hYmxlIHRvIHB1dCB0aGVpciB0cmFuc2FjdGlvbnMg b25jaGFpbiBxdWlja2x5IGVub3VnaC4NClRoZSBvcmlnaW5hbCBMaWdodG5pbmcgcGFwZXIgWzFd IHN0YXRlcyB0aGF0ICJbZl1vcmNlZCBleHBpcmF0aW9uIG9mIG1hbnkgdHJhbnNhY3Rpb25zIG1h eSBiZSB0aGUgZ3JlYXRlc3Qgc3lzdGVtaWMgcmlzayB3aGVuIHVzaW5nIHRoZSBMaWdodG5pbmcg TmV0d29yayIgYW5kIGl0IHVzZXMgdGhlIHRlcm0gImZvcmNlZCBleHBpcmF0aW9uIHNwYW0iIGZv ciBhbiBhdHRhY2sgaW4gd2hpY2ggYSBtYWxpY2lvdXMgcGFydHkgImNyZWF0ZXMgbWFueSBjaGFu bmVscyBhbmQgZm9yY2VzIHRoZW0gYWxsIHRvIGV4cGlyZSBhdCBvbmNlIiwgdGh1cyBhbGxvd2lu ZyB0aW1lbG9ja2VkIHRyYW5zYWN0aW9ucyB0byBiZWNvbWUgdmFsaWQuDQpUaGF0IHBhcGVyIGFs c28gc2F5cyB0aGF0IHRoZSBjcmVhdGlvbiBvZiBhIGNyZWRpYmxlIHRocmVhdCBhZ2FpbnN0ICJz cGFtbWluZyB0aGUgYmxvY2tjaGFpbiB0byBlbmNvdXJhZ2UgdHJhbnNhY3Rpb25zIHRvIHRpbWVv dXQiIGlzICJpbXBlcmF0aXZlIiBbMV0uDQoNCkNoYW5uZWwgZmFjdG9yaWVzIHRoYXQgY3JlYXRl IG11bHRpcGxlIExpZ2h0bmluZyBjaGFubmVscyB3aXRoIGEgc2luZ2xlIG9uY2hhaW4gdHJhbnNh Y3Rpb24gWzJdWzNdWzRdWzVdIGluY3JlYXNlIHRoaXMgcmlzayBpbiB0d28gd2F5cy4NCkZpcnN0 LCBmYWN0b3JpZXMgYWxsb3cgbW9yZSBjaGFubmVscyB0byBiZSBjcmVhdGVkLCB0aHVzIGluY3Jl YXNpbmcgdGhlIHBvdGVudGlhbCBmb3IgbWFueSBjaGFubmVscyB0byByZXF1aXJlIG9uY2hhaW4g dHJhbnNhY3Rpb25zIGF0IHRoZSBzYW1lIHRpbWUuDQpTZWNvbmQsIGNoYW5uZWwgZmFjdG9yaWVz IHRoZW1zZWx2ZXMgdXNlIHRpbWVsb2NrcywgYW5kIHRodXMgYXJlIHZ1bG5lcmFibGUgdG8gYSAi Zm9yY2VkIGV4cGlyYXRpb24gc3BhbSIgYXR0YWNrLg0KDQpJbiBmYWN0LCB0aGUgdGltZWxvY2tz IGluIExpZ2h0bmluZyBjaGFubmVscyBhbmQgZmFjdG9yaWVzIGFyZSByaXNreSBldmVuIHdpdGhv dXQgYW4gYXR0YWNrIGZyb20gYSBtYWxpY2lvdXMgcGFydHkuDQpCbG9ja2NoYWluIGNvbmdlc3Rp b24gaXMgaGlnaGx5IHZhcmlhYmxlIGFuZCBuZXcgYXBwbGljYXRpb25zIChzdWNoIGFzIG9yZGlu YWxzKSBjYW4gY2F1c2UgYSBzdWRkZW4gc3Bpa2UgaW4gY29uZ2VzdGlvbiBhdCBhbnkgdGltZS4N CkFzIGEgcmVzdWx0LCB0aW1lbG9ja3MgdGhhdCB3ZXJlIHNldCB3aGVuIGNvbmdlc3Rpb24gd2Fz IGxvdyBjYW4gYmUgdG9vIHNob3J0IHdoZW4gY29uZ2VzdGlvbiBzcGlrZXMuDQpFdmVuIHdvcnNl LCBhIHNwaWtlIGluIGNvbmdlc3Rpb24gY291bGQgYmUgc2VsZi1yZWluZm9yY2luZyBpZiBpdCBj YXVzZXMgbWFsaWNpb3VzIHBhcnRpZXMgdG8gYXR0YWNrIG9wcG9ydHVuaXN0aWNhbGx5IGFuZCBo b25lc3QgcGFydGllcyB0byBwdXQgdGhlaXIgY2hhbm5lbHMgb25jaGFpbiBkdWUgdG8gdGhlIGhl aWdodGVuZWQgcmlzay4NCg0KT25lIHdheSB0byByZWR1Y2UgdGhlIHJpc2sgb2YgYSA8L3ByZT48 L2Rpdj48YnI+DQo8L2Jsb2NrcXVvdGU+PC9kaXY+DQoNCiAgICAgICAgPC9ibG9ja3F1b3RlPjxi cj4NCiAgICA8L2Rpdj4= --b1_YvT7uxFWZ1dgb37npFGqN0abrT4PfFmMrHnf35cQjA--