Return-Path: X-Original-To: apmail-lucene-dev-archive@www.apache.org Delivered-To: apmail-lucene-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 22A27D04F for ; Fri, 14 Sep 2012 16:33:06 +0000 (UTC) Received: (qmail 51543 invoked by uid 500); 14 Sep 2012 16:33:04 -0000 Delivered-To: apmail-lucene-dev-archive@lucene.apache.org Received: (qmail 51499 invoked by uid 500); 14 Sep 2012 16:33:04 -0000 Mailing-List: contact dev-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@lucene.apache.org Delivered-To: mailing list dev@lucene.apache.org Received: (qmail 51490 invoked by uid 99); 14 Sep 2012 16:33:04 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Sep 2012 16:33:04 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=MIME_BASE64_BLANKS,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [205.139.110.56] (HELO service94-us.mimecast.com) (205.139.110.56) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 14 Sep 2012 16:32:52 +0000 Received: from ingramcontent.com (nash.tn.edge.ingrambook.com [198.183.167.2]) (Using TLS) by service94-us.mimecast.com; Fri, 14 Sep 2012 12:32:30 -0400 Received: from USLVDCMBVP01.ingramcontent.com ([fe80::a4ce:7d28:d16e:872a]) by USLVDCHUBP01.ingramcontent.com ([::1]) with mapi; Fri, 14 Sep 2012 11:31:53 -0500 From: "Dyer, James" To: "dev@lucene.apache.org" Date: Fri, 14 Sep 2012 11:32:25 -0500 Subject: RE: svn commit: r1384834 [2/3] - in /lucene/dev/branches/lucene_solr_3_6/solr: ./ contrib/ contrib/dataimporthandler/ contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ contrib/dataimporthandler/src/test/org/apache/solr/handler/da Thread-Topic: svn commit: r1384834 [2/3] - in /lucene/dev/branches/lucene_solr_3_6/solr: ./ contrib/ contrib/dataimporthandler/ contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ contrib/dataimporthandler/src/test/org/apache/solr/handler/da Thread-Index: Ac2SlYJfnmc52UxBQ9GxWV1JY3LhwwAAGK5w Message-ID: <8F0D0142CA7ECC4287A9EC1BD8CB880C18198D938E@USLVDCMBVP01.ingramcontent.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US MIME-Version: 1.0 X-MC-Unique: 112091412323005002 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Um9iZXJ0LA0KDQpUaGFua3MgZm9yIG1lbnRpb25pbmcgdGhpcy4gIEkgdGhpbmsgSSBjaGVja2Vk IHRoZSB3cm9uZyBvcHRpb24gb24gYSBtZXJnZS1jb25mbGljdCwgYW5kIGluIDMuNiBESUggY2hh bmdlcyBnbyBpbiBhIHNlcGFyYXRlIENIQU5HRVMudHh0LCBzbyBJIGRpZG4ndCBub3RpY2UgdGhl IG1haW4gb25lLiAgSXQgc2hvdWxkIGJlIGZpeGVkIG5vdy4NCg0KSmFtZXMgRHllcg0KRS1Db21t ZXJjZSBTeXN0ZW1zDQpJbmdyYW0gQ29udGVudCBHcm91cA0KKDYxNSkgMjEzLTQzMTENCg0KLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFJvYmVydCBNdWlyIFttYWlsdG86cmNtdWly QGdtYWlsLmNvbV0NClNlbnQ6IEZyaWRheSwgU2VwdGVtYmVyIDE0LCAyMDEyIDExOjE3IEFNDQpU bzogZGV2QGx1Y2VuZS5hcGFjaGUub3JnDQpTdWJqZWN0OiBSZTogc3ZuIGNvbW1pdDogcjEzODQ4 MzQgWzIvM10gLSBpbiAvbHVjZW5lL2Rldi9icmFuY2hlcy9sdWNlbmVfc29scl8zXzYvc29scjog Li8gY29udHJpYi8gY29udHJpYi9kYXRhaW1wb3J0aGFuZGxlci8gY29udHJpYi9kYXRhaW1wb3J0 aGFuZGxlci9zcmMvamF2YS9vcmcvYXBhY2hlL3NvbHIvaGFuZGxlci9kYXRhaW1wb3J0LyBjb250 cmliL2RhdGFpbXBvcnRoYW5kbGVyL3NyYy90ZXN0L29yZy9hcGFjaGUvc29sci9oYW5kbGVyL2Rh DQoNCkphbWVzIGl0IGxvb2tzIGxpa2UgdGhpcyBtZXJnZSB3ZW50IGF3cnk/IFVzdWFsbHkgSSBq dXN0ICdzdm4gcmV2ZXJ0Jw0KdGhlIENIQU5HRVMudHh0IGZpbGVzIGFuZCBhZGQgdGhlIGxpbmUg bWFudWFsbHkgZm9yIHRoZXNlIGJ1Z2ZpeA0KYnJhbmNoZXMuDQoNCk9uIEZyaSwgU2VwIDE0LCAy MDEyIGF0IDEyOjE0IFBNLCAgPGpkeWVyQGFwYWNoZS5vcmc+IHdyb3RlOg0KPg0KPiBNb2RpZmll ZDogbHVjZW5lL2Rldi9icmFuY2hlcy9sdWNlbmVfc29scl8zXzYvc29sci9DSEFOR0VTLnR4dA0K PiBVUkw6IGh0dHA6Ly9zdm4uYXBhY2hlLm9yZy92aWV3dmMvbHVjZW5lL2Rldi9icmFuY2hlcy9s dWNlbmVfc29scl8zXzYvc29sci9DSEFOR0VTLnR4dD9yZXY9MTM4NDgzNCZyMT0xMzg0ODMzJnIy PTEzODQ4MzQmdmlldz1kaWZmDQo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiAtLS0gbHVjZW5l L2Rldi9icmFuY2hlcy9sdWNlbmVfc29scl8zXzYvc29sci9DSEFOR0VTLnR4dCAob3JpZ2luYWwp DQo+ICsrKyBsdWNlbmUvZGV2L2JyYW5jaGVzL2x1Y2VuZV9zb2xyXzNfNi9zb2xyL0NIQU5HRVMu dHh0IEZyaSBTZXAgMTQgMTY6MTQ6NDYgMjAxMg0KPiBAQCAtMiwzNyArMiwxMTE2IEBADQo+DQo+ ICBJbnRyb2R1Y3Rpb24NCj4gIC0tLS0tLS0tLS0tLQ0KPiAtU29sciBpcyB0aGUgcG9wdWxhciwg YmxhemluZyBmYXN0IG9wZW4gc291cmNlIGVudGVycHJpc2Ugc2VhcmNoIHBsYXRmb3JtIGZyb20N Cj4gLXRoZSBBcGFjaGUgTHVjZW5lIHByb2plY3QuIEl0cyBtYWpvciBmZWF0dXJlcyBpbmNsdWRl IHBvd2VyZnVsIGZ1bGwtdGV4dA0KPiAtc2VhcmNoLCBoaXQgaGlnaGxpZ2h0aW5nLCBmYWNldGVk IHNlYXJjaCwgZHluYW1pYyBjbHVzdGVyaW5nLCBkYXRhYmFzZQ0KPiAtaW50ZWdyYXRpb24sIGFu ZCByaWNoIGRvY3VtZW50IChlLmcuLCBXb3JkLCBQREYpIGhhbmRsaW5nLiBTb2xyIGlzIGhpZ2hs eQ0KPiAtc2NhbGFibGUsIHByb3ZpZGluZyBkaXN0cmlidXRlZCBzZWFyY2ggYW5kIGluZGV4IHJl cGxpY2F0aW9uLCBhbmQgaXQgcG93ZXJzIHRoZQ0KPiAtc2VhcmNoIGFuZCBuYXZpZ2F0aW9uIGZl YXR1cmVzIG9mIG1hbnkgb2YgdGhlIHdvcmxkJ3MgbGFyZ2VzdCBpbnRlcm5ldCBzaXRlcy4NCj4g LQ0KPiAtU29sciBpcyB3cml0dGVuIGluIEphdmEgYW5kIHJ1bnMgYXMgYSBzdGFuZGFsb25lIGZ1 bGwtdGV4dCBzZWFyY2ggc2VydmVyIHdpdGhpbg0KPiAtYSBzZXJ2bGV0IGNvbnRhaW5lciBzdWNo IGFzIFRvbWNhdC4gU29sciB1c2VzIHRoZSBMdWNlbmUgSmF2YSBzZWFyY2ggbGlicmFyeSBhdA0K PiAtaXRzIGNvcmUgZm9yIGZ1bGwtdGV4dCBpbmRleGluZyBhbmQgc2VhcmNoLCBhbmQgaGFzIFJF U1QtbGlrZSBIVFRQL1hNTCBhbmQgSlNPTg0KPiAtQVBJcyB0aGF0IG1ha2UgaXQgZWFzeSB0byB1 c2UgZnJvbSB2aXJ0dWFsbHkgYW55IHByb2dyYW1taW5nIGxhbmd1YWdlLiBTb2xyJ3MNCj4gLXBv d2VyZnVsIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gYWxsb3dzIGl0IHRvIGJlIHRhaWxvcmVkIHRv IGFsbW9zdCBhbnkgdHlwZSBvZg0KPiAtYXBwbGljYXRpb24gd2l0aG91dCBKYXZhIGNvZGluZywg YW5kIGl0IGhhcyBhbiBleHRlbnNpdmUgcGx1Z2luIGFyY2hpdGVjdHVyZQ0KPiAtd2hlbiBtb3Jl IGFkdmFuY2VkIGN1c3RvbWl6YXRpb24gaXMgcmVxdWlyZWQuDQo+ICtBcGFjaGUgU29sciBpcyBh biBvcGVuIHNvdXJjZSBlbnRlcnByaXNlIHNlYXJjaCBzZXJ2ZXIgYmFzZWQgb24gdGhlIEFwYWNo ZSBMdWNlbmUgSmF2YQ0KPiArc2VhcmNoIGxpYnJhcnksIHdpdGggWE1ML0hUVFAgYW5kIEpTT04g QVBJcywgaGl0IGhpZ2hsaWdodGluZywgZmFjZXRlZCBzZWFyY2gsDQo+ICtjYWNoaW5nLCByZXBs aWNhdGlvbiwgYW5kIGEgd2ViIGFkbWluaXN0cmF0aW9uIGludGVyZmFjZS4gSXQgcnVucyBpbiBh IEphdmENCj4gK3NlcnZsZXQgY29udGFpbmVyIHN1Y2ggYXMgVG9tY2F0Lg0KPg0KPiAtU2VlIFJF QURNRS50eHQgYW5kIGh0dHA6Ly9sdWNlbmUuYXBhY2hlLm9yZy9zb2xyIGZvciBtb3JlIGluZm9y bWF0aW9uDQo+IC1vbiBob3cgdG8gZ2V0IHN0YXJ0ZWQuDQo+ICtTZWUgaHR0cDovL2x1Y2VuZS5h cGFjaGUub3JnL3NvbHIgZm9yIG1vcmUgaW5mb3JtYXRpb24uDQo+ICsNCj4gKw0KPiArR2V0dGlu ZyBTdGFydGVkDQo+ICstLS0tLS0tLS0tLS0tLS0NCj4gK1lvdSBuZWVkIGEgSmF2YSAxLjYgVk0g b3IgbGF0ZXIgaW5zdGFsbGVkLg0KPiArSW4gdGhpcyByZWxlYXNlLCB0aGVyZSBpcyBhbiBleGFt cGxlIFNvbHIgc2VydmVyIGluY2x1ZGluZyBhIGJ1bmRsZWQNCj4gK3NlcnZsZXQgY29udGFpbmVy IGluIHRoZSBkaXJlY3RvcnkgbmFtZWQgImV4YW1wbGUiLg0KPiArU2VlIHRoZSB0dXRvcmlhbCBh dCBodHRwOi8vbHVjZW5lLmFwYWNoZS5vcmcvc29sci90dXRvcmlhbC5odG1sDQo+ICsNCj4gKw0K PiArJElkJA0KPiArDQo+ICs9PT09PT09PT09PT09PT09PT0gIDUuMC4wID09PT09PT09PT09PT09 PT09PQ0KPiArDQo+ICsoTm8gY2hhbmdlcykNCj4gKw0KPiArPT09PT09PT09PT09PT09PT09ICA0 LjAuMCA9PT09PT09PT09PT09PT09PT0NCj4gKw0KPiArVmVyc2lvbnMgb2YgTWFqb3IgQ29tcG9u ZW50cw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICtBcGFjaGUgVGlrYSAxLjINCj4gK0Nh cnJvdDIgMy41LjANCj4gK1ZlbG9jaXR5IDEuNi40IGFuZCBWZWxvY2l0eSBUb29scyAyLjANCj4g K0FwYWNoZSBVSU1BIDIuMy4xDQo+ICtBcGFjaGUgWm9vS2VlcGVyIDMuMy42DQo+ICsNCj4gK1Vw Z3JhZGluZyBmcm9tIFNvbHIgNC4wLjAtQkVUQQ0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiArDQo+ICtJbiBvcmRlciB0byBiZXR0ZXIgc3VwcG9ydCBkaXN0cmlidXRlZCBzZWFyY2ggbW9k ZSwgdGhlIFRlcm1WZWN0b3JDb21wb25lbnQncw0KPiArcmVzcG9uc2UgZm9ybWF0IGhhcyBiZWVu IGNoYW5nZWQgc28gdGhhdCBpZiB0aGUgc2NoZW1hIGRlZmluZXMgYQ0KPiArdW5pcXVlS2V5Rmll bGQsIHRoZW4gdGhhdCBmaWVsZCB2YWx1ZSBpcyB1c2VkIGFzIHRoZSAia2V5IiBmb3IgZWFjaCBk b2N1bWVudCBpbg0KPiAraXQncyByZXNwb25zZSBzZWN0aW9uLCBpbnN0ZWFkIG9mIHRoZSBpbnRl cm5hbCBsdWNlbmUgZG9jIGlkLiAgVXNlcnMgdy9vIGENCj4gK3VuaXF1ZUtleUZpZWxkIHdpbGwg Y29udGludWUgdG8gc2VlIHRoZSBzYW1lIHJlc3BvbnNlIGZvcm1hdC4gIFNlZSBTT0xSLTMyMjkN Cj4gK2ZvciBtb3JlIGRldGFpbHMuDQo+ICsNCj4gK0lmIHlvdSBhcmUgdXNpbmcgU29sckNsb3Vk J3MgZGlzdHJpYnV0ZWQgdXBkYXRlIHJlcXVlc3QgY2FwYWJpbGl0aWVzIGFuZCBhIG5vbg0KPiAr c3RyaW5nIHR5cGUgaWQgZmllbGQsIHlvdSBtdXN0IHJlLWluZGV4Lg0KPiArDQo+ICtEZXRhaWxl ZCBDaGFuZ2UgTGlzdA0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICtOZXcgRmVh dHVyZXMNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArKiBTT0xSLTM2NzA6IE5l dyBDb3VudEZpZWxkVmFsdWVzVXBkYXRlUHJvY2Vzc29yRmFjdG9yeSBtYWtlcyBpdCBlYXN5IHRv IGluZGV4DQo+ICsgIHRoZSBudW1iZXIgb2YgdmFsdWVzIGluIGFub3RoZXIgZmllbGQgZm9yIGxh dGVyIHVzZSBhdCBxdWVyeSB0aW1lLiAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTI3Njg6IG5l dyAibW9kKHgseSkiIGZ1bmN0aW9uIGZvciBjb21wdXRpbmcgdGhlIG1vZHVsdXMgb2YgdHdvIHZh bHVlDQo+ICsgIHNvdXJjZXMuIChob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFItMzIzODogTnVtZXJv dXMgc21hbGwgaW1wcm92ZW1lbnRzIHRvIHRoZSBBZG1pbiBVSSAoc3RlZmZrZXMpDQo+ICsNCj4g KyogU09MUi0zNTk3OiBzZWVtcyBsaWtlIGEgbG90IG9mIHdhc3RlZCB3aGl0ZXNwYWNlIGF0IHRo ZSB0b3Agb2YgdGhlIGFkbWluIHNjcmVlbnMNCj4gKyAgKHN0ZWZma2VzKQ0KPiArDQo+ICtPcHRp bWl6YXRpb25zDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyogU09MUi0zNzE1 OiBpbXByb3ZlIGNvbmN1cnJlbmN5IG9mIHRoZSB0cmFuc2FjdGlvbiBsb2cgYnkgcmVtb3ZpbmcN Cj4gKyAgc3luY2hyb25pemF0aW9uIGFyb3VuZCBsb2cgcmVjb3JkIHNlcmlhbGl6YXRpb24uICh5 b25paykNCj4NCj4gLT09PT09PT09PT09PT09PT09PSAgMy42LjIgID09PT09PT09PT09PT09PT09 PQ0KPg0KPiAgQnVnIEZpeGVzDQo+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKyog U09MUi0zNjg1OiBTb2xyIENsb3VkIHNvbWV0aW1lcyBza2lwcGVkIHBlZXJzeW5jIGF0dGVtcHQg YW5kIHJlcGxpY2F0ZWQgaW5zdGVhZCBkdWUNCj4gKyAgdG8gdGxvZyBmbGFncyBub3QgYmVpbmcg Y2xlYXJlZCB3aGVuIG5vIHVwZGF0ZXMgd2VyZSBidWZmZXJlZCBkdXJpbmcgYSBwcmV2aW91cw0K PiArICByZXBsaWNhdGlvbi4gIChNYXJrdXMgSmVsc21hLCBNYXJrIE1pbGxlciwgeW9uaWspDQo+ ICsNCj4gKyogU09MUi0zMjI5OiBGaXhlZCBUZXJtVmVjdG9yQ29tcG9uZW50IHRvIHdvcmsgd2l0 aCBkaXN0cmlidXRlZCBzZWFyY2gNCj4gKyAgKEhhbmcgWGllLCBob3NzbWFuKQ0KPiArDQo+ICsq IFNPTFItMzcyNTogRml4ZWQgcGFja2FnZS1sb2NhbC1zcmMtdGd6IHRhcmdldCB0byBub3QgYnJp bmcgaW4gdW5uZWNlc3NhcnkgamFycw0KPiArICBhbmQgYmluYXJ5IGNvbnRlbnRzLiAgKE1pY2hh ZWwgRG9kc3dvcnRoIHZpYSBybXVpcikNCj4gKw0KPiArKiBTT0xSLTM2NDk6IEZpeGVkIGJ1ZyBp biBKYXZhYmluTG9hZGVyIHRoYXQgY2F1c2VkIGRlbGV0ZUJ5SWQoTGlzdDxTdHJpbmc+IGlkcykN Cj4gKyAgdG8gbm90IHdvcmsgaW4gU29sckogKHNpcmVuKQ0KPiArDQo+ICsqIFNPTFItMzczMDog Um9sbGJhY2sgaXMgbm90IGltcGxlbWVudGVkIHF1aXRlIHJpZ2h0IGFuZCBjYW4gY2F1c2UgY29y bmVyIGNhc2UgZmFpbHMgaW4NCj4gKyAgU29sckNsb3VkIHRlc3RzLiAocm11aXIsIE1hcmsgTWls bGVyKQ0KPiArDQo+ICsqIFNPTFItMjk4MTogRml4ZWQgU3RhdHNDb21wb25lbnQgdG8gbm8gbG9u Z2VyIHJldHVybiBkdXBsaWNhdGVkIGluZm9ybWF0aW9uDQo+ICsgIHdoZW4gcmVxdWVzdGluZyBt dWx0aXBsZSBzdGF0cy5mYWNldCBmaWVsZHMuDQo+ICsgIChSb21hbiBLbGlld2VyIHZpYSBob3Nz bWFuKQ0KPiArDQo+ICsqIFNPTFItMzc0MzogRml4ZWQgaXNzdWVzIHdpdGggYXRvbWljIHVwZGF0 ZXMgYW5kIG9wdGltaXN0aWMgY29uY3VycmVuY3kgaW4NCj4gKyAgY29uanVuY3Rpb24gd2l0aCBz dG9yZWQgY29weUZpZWxkIHRhcmdldHMgYnkgbWFraW5nIHJlYWwtdGltZSBnZXQgbmV2ZXINCj4g KyAgcmV0dXJuIGNvcHlGaWVsZCB0YXJnZXRzLiAoeW9uaWspDQo+ICsNCj4gKyogU09MUi0zNzQ2 OiBQcm9wZXIgZXJyb3IgcmVwb3J0aW5nIGlmIHVwZGF0ZUxvZyBpcyBjb25maWd1cmVkIHcvbyBu ZWNlc3NhcnkNCj4gKyAgIl92ZXJzaW9uXyIgZmllbGQgaW4gc2NoZW1hLnhtbCAoaG9zc21hbikN Cj4gKw0KPiArKiBTT0xSLTM3NDU6IFByb3BlciBlcnJvciByZXBvcnRpbmcgaWYgU29sckNsb3Vk IG1vZGUgaXMgdXNlZCB3L28NCj4gKyAgbmVjZXNzYXJ5ICJfdmVyc2lvbl8iIGZpZWxkIGluIHNj aGVtYS54bWwgKGhvc3NtYW4pDQo+ICsNCj4gKyogU09MUi0zNzcwOiBPdmVyc2VlciBtYXkgbG9z ZSB1cGRhdGVzIHRvIGNsdXN0ZXIgc3RhdGUgKHNpcmVuKQ0KPiArDQo+ICsqIFNPTFItMzcyMTog Rml4IGJ1ZyB0aGF0IGNvdWxkIHRoZW9yZXRpY2FsbHkgYWxsb3cgbXVsdGlwbGUgcmVjb3Zlcmll cyB0byBydW4NCj4gKyAgYnJpZWZseSBhdCB0aGUgc2FtZSB0aW1lIGlmIHRoZSByZWNvdmVyeSB0 aHJlYWQgam9pbiBjYWxsIHdhcyBpbnRlcnJ1cHRlZC4NCj4gKyAgKFBlciBTdGVmZmVuc2VuLCBN YXJrIE1pbGxlcikNCj4gKw0KPiArKiBTT0xSLTM3ODI6IEEgbGVhZGVyIGdvaW5nIGRvd24gd2hp bGUgdXBkYXRlcyBhcmUgY29taW5nIGluIGNhbiBjYXVzZSBzaGFyZA0KPiArICBpbmNvbnNpc3Rl bmN5LiAoTWFyayBNaWxsZXIpDQo+ICsNCj4gKyogU09MUi0zNjExOiBXZSBkbyBub3Qgc2hvdyBa b29LZWVwZXIgZGF0YSBpbiB0aGUgVUkgZm9yIGEgbm9kZSB0aGF0IGhhcyBjaGlsZHJlbi4NCj4g KyAgKE1hcmsgTWlsbGVyKQ0KPiArDQo+ICsqIFNPTFItMzc4OTogRml4IGJ1ZyBpbiBTbmFwUHVs bGVyIHRoYXQgY2F1c2VkICJpbnRlcm5hbCIgY29tcHJlc3Npb24gdG8gZmFpbC4NCj4gKyAgKHNp cmVuKQ0KPiArDQo+ICAqIFNPTFItMzc5MDogQ29uY3VycmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlv biBjb3VsZCBiZSB0aHJvd24gd2hlbiB1c2luZyBobC5mbD0qLg0KPiAtICAoeW9uaWssIGtvamkp DQo+ICsgIEZpeGVkIGluIHIxMjMxNjA2LiAoeW9uaWssIGtvamkpDQo+ICsNCj4gKyogU09MUi0z NjY4OiBEYXRhSW1wb3J0IDogU3BlY2lmeWluZyBDdXN0b20gUGFyYW1ldGVycyAoc3RlZmZrZXMp DQo+ICsNCj4gKyogU09MUi0zNzkzOiBVbkludmVydGVkRmllbGQgZmFjZXRpbmcgY2FjaGVkIGJp ZyB0ZXJtcyBpbiB0aGUgZmlsdGVyDQo+ICsgIGNhY2hlIHRoYXQgaWdub3JlZCBkZWxldGlvbnMs IGxlYWRpbmcgdG8gZHVwbGljYXRlIGRvY3VtZW50cyBpbiBzZWFyY2gNCj4gKyAgbGF0ZXIgd2hl biBhIGZpbHRlciBvZiB0aGUgc2FtZSB0ZXJtIHdhcyBzcGVjaWZpZWQuDQo+ICsgIChHw4PCvG50 ZXIgSGlwbGVyLCBob3NzbWFuLCB5b25paykNCj4gKw0KPiArKiBTT0xSLTM2Nzk6IENvcmUgQWRt aW4gVUkgZ2l2ZXMgbm8gZmVlZGJhY2sgaWYgIkFkZCBDb3JlIiBmYWlscyAoc3RlZmZrZXMsIGhv c3NtYW4pDQo+ICsNCj4gKyogU09MUi0zNzk1OiBGaXhlZCBMdWtlUmVxdWVzdEhhbmRsZXIgcmVz cG9uc2UgdG8gY29ycmVjdGx5IHJldHVybiBmaWVsZCBuYW1lDQo+ICsgIHN0cmluZ3MgaW4gY29w eURlc3RzIGFuZCBjb3B5U291cmNlcyBhcnJheXMgKGhvc3NtYW4pDQo+ICsNCj4gKyogU09MUi0z Njk5OiBGaXhlZCBzb21lIERpcmVjdG9yeSBsZWFrcyB3aGVuIHRoZXJlIHdlcmUgZXJyb3JzIGR1 cmluZyBTb2xyQ29yZQ0KPiArICBvciBTb2xySW5kZXhXcml0ZXIgaW5pdGlhbGl6YXRpb24uICho b3NzbWFuKQ0KPiArDQo+ICsqIFNPTFItMzUxODogSW5jbHVkZSBmaW5hbCAnaGl0cycgaW4gbG9n IGluZm9ybWF0aW9uIHdoZW4gYWdncmVnYXRpbmcgYQ0KPiArICBkaXN0aWJ1dGVkIHJlcXVlc3Qg KE1hcmt1cyBKZWxzbWEgdmlhIGhvc3NtYW4pDQo+ICsNCj4gKyogU09MUi0zNjI4OiBTb2xySW5w dXRGaWVsZCBhbmQgU29scklucHV0RG9jdW1lbnQgYXJlIG5vdyBjb25zaXN0ZW50bHkgYmFja2Vk DQo+ICsgIGJ5IENvbGxlY3Rpb25zIHBhc3NlZCBpbiB0byBzZXRWYWx1ZS9zZXRGaWVsZCwgYW5k IGRlZmVuc2l2ZWx5IGNvcHkgdmFsdWVzDQo+ICsgIGZyb20gQ29sbGVjdGlvbnMgcGFzc2VkIHRv IGFkZFZhbHVlL2FkZEZpZWxkDQo+ICsgIChUb20gU3dpdHplciB2aWEgaG9zc21hbikNCj4gKw0K PiArKiBTT0xSLTM1OTU6IEN1cnJlbmN5RmllbGQgbm93IGdlbmVyYXRlcyBhbiBhcHByb3ByaWF0 ZSBlcnJvciBvbiBzY2hlbWEgaW5pdA0KPiArICBpZiBpdCBpcyBjb25maWd1cmVkIGFzIG11bHRp VmFsdWVkIC0gdGhpcyBoYXMgbmV2ZXIgYmVlbiBwcm9wZXJseSBzdXBwb3J0ZWQsDQo+ICsgIGJ1 dCBwcmV2aW91c2x5IGZhaWxlZCBzaWxlbnRseSBpbiBvZGQgd2F5cy4gIChob3NzbWFuKQ0KPiAr DQo+ICsqIFNPTFItMzgyMzogRml4ICdicScgcGFyc2luZyBpbiBlZGlzbWF4LiAgUGxlYXNlIG5v dGUgdGhhdCB0aGlzIHJlcXVpcmVkDQo+ICsgIHJldmVydGluZyB0aGUgbmVnYXRpdmUgYm9vc3Qg c3VwcG9ydCBhZGRlZCBieSBTT0xSLTMyNzggKGhvc3NtYW4pDQo+ICsNCj4gKyogU09MUi0zODI3 OiBGaXggc2hhcmVTY2hlbWE9dHJ1ZSBpbiBzb2xyLnhtbA0KPiArICAoVG9tw4PCoXMgRmVybsOD wqFuZGV6IEzDg8K2YmJlIHZpYSBob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFItMzgwOTogRml4ZWQg Y29uZmlnIGZpbGUgcmVwbGljYXRpb24gd2hlbiBzdWJkaXJlY3RvcmllcyBhcmUgdXNlZA0KPiAr ICAoRW1tYW51ZWwgRXNwaW5hIHZpYSBob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFItMzgyODogRml4 ZWQgUXVlcnlFbGV2YXRpb25Db21wb25lbnQgc28gdGhhdCB1c2luZyAnbWFya0V4Y2x1ZGVzJyBk b2VzDQo+ICsgIG5vdCBtb2RpZnkgdGhlIHJlc3VsdCBzZXQgb3IgcmFua2luZyBvZiAnZXhjbHVk ZWQnIGRvY3VtZW50cyByZWxhdGl2ZSB0bw0KPiArICBub3QgdXNpbmcgZWxldmF0aW9uIGF0IGFs bC4gIChBbGV4ZXkgU2VyYmEgdmlhIGhvc3NtYW4pDQo+ICsNCj4gKyogU09MUi0zNTY5OiBGaXhl ZCBkZWJ1ZyBvdXRwdXQgb24gZGlzdHJpYnV0ZWQgcmVxdWVzdHMgd2hlbiB0aGVyZSBhcmUgbm8N Cj4gKyAgcmVzdWx0cyBmb3VuZC4gIChEYXZpZCBCb3dlbiB2aWEgaG9zc21hbikNCj4gKw0KPiAr KiBTT0xSLTM4MTE6IFF1ZXJ5IEZvcm0gdXNpbmcgd3JvbmcgdmFsdWVzIGZvciBkaXNtYXgsIGVk aXNtYXggKHN0ZWZma2VzKQ0KPiArDQo+ICsqIFNPTFItMzc3OTogRGF0YUltcG9ydEhhbmRsZXIn cyBMaW5lRW50aXR5UHJvY2Vzc29yIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbg0KPiArICB3aXRo IEZpbGVMaXN0RW50aXR5UHJvY2Vzc29yIHdvdWxkIG9ubHkgcHJvY2VzcyB0aGUgZmlyc3QgZmls ZS4NCj4gKyAgKEFobWV0IEFyc2xhbiB2aWEgSmFtZXMgRHllcikNCj4gKw0KPiArKiBTT0xSLTM3 OTE6IENhY2hlZFNxbEVudGl0eVByb2Nlc3NvciB3b3VsZCB0aHJvdyBhIE51bGxQb2ludGVyRXhj ZXB0aW9uIHdoZW4NCj4gKyAgYSBxdWVyeSByZXR1cm5zIGEgcm93IHdpdGggYSBOVUxMIGtleS4g IChTdGVmZmVuIE1vZWx0ZXIgdmlhIEphbWVzIER5ZXIpDQo+ICsNCj4gK090aGVyIENoYW5nZXMN Cj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArKiBTT0xSLTM2OTA6IEZpeGVkIGJp bmFyeSByZWxlYXNlIHBhY2thZ2VzIHRvIGluY2x1ZGUgZGVwZW5kZW5jaWUgbmVlZGVkIGZvcg0K PiArICB0aGUgc29sci10ZXN0LWZyYW1ld29yayAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTI4 NTc6IFRoZSAvdXBkYXRlL2pzb24gYW5kIC91cGRhdGUvY3N2IFVSTHMgd2VyZSByZXN0b3JlZCB0 byBhaWQNCj4gKyAgaW4gdGhlIG1pZ3JhdGlvbiBvZiBleGlzdGluZyBjbGllbnRzLiAgKHlvbmlr KQ0KPiArDQo+ICsqIFNPTFItMzY5MTogU2ltcGxlUG9zdFRvb2w6IE1vZGUgZm9yIGNyYXdsaW5n L3Bvc3Rpbmcgd2ViIHBhZ2VzDQo+ICsgIFNlZSBodHRwOi8vd2lraS5hcGFjaGUub3JnL3NvbHIv RXh0cmFjdGluZ1JlcXVlc3RIYW5kbGVyIGZvciBleGFtcGxlcyAoamFuaG95KQ0KPiArDQo+ICsq IFNPTFItMzcwNzogVXBncmFkZSBTb2xyIHRvIFRpa2EgMS4yIChqYW5ob3kpDQo+ICsNCj4gKyog U09MUi0yNzQ3OiBVcGRhdGVkIGNoYW5nZXMyaHRtbC5wbCB0byBoYW5kbGUgU29scidzIENIQU5H RVMudHh0OyBhZGRlZA0KPiArICB0YXJnZXQgJ2NoYW5nZXMtdG8taHRtbCcgdG8gc29sci9idWls ZC54bWwuDQo+ICsgIChTdGV2ZSBSb3dlLCBSb2JlcnQgTXVpcikNCj4gKw0KPiArKiBTT0xSLTM3 NTI6IFdoZW4gYSBsZWFkZXIgZ29lcyBkb3duLCBoYXZlIHRoZSBPdmVyc2VlciBjbGVhciB0aGUg bGVhZGVyIHN0YXRlDQo+ICsgIGluIGNsdXN0ZXIuanNvbiAoTWFyayBNaWxsZXIpDQo+ICsNCj4g KyogU09MUi0zNzUxOiBBZGQgZGVmZW5zaXZlIGNoZWNrcyBmb3IgU29sckNsb3VkIHVwZGF0ZXMg YW5kIHJlcXVlc3RzIHRoYXQgZW5zdXJlDQo+ICsgIHRoZSBsb2NhbCBzdGF0ZSBtYXRjaGVzIHdo YXQgd2UgY2FuIHRlbGwgdGhlIHJlcXVlc3QgZXhwZWN0ZWQuIChNYXJrIE1pbGxlcikNCj4gKw0K PiArKiBTT0xSLTM3NzM6IEhhc2ggYmFzZWQgb24gdGhlIGV4dGVybmFsIFN0cmluZyBpZCByYXRo ZXIgdGhhbiB0aGUgaW5kZXhlZA0KPiArICByZXByZXNlbnRhdGlvbiBmb3IgZGlzdHJpYnV0ZWQg dXBkYXRlcy4gKE1pY2hhZWwgR2Fyc2tpLCB5b25paywgTWFyayBNaWxsZXIpDQo+ICsNCj4gKyog U09MUi0zNzgwOiBNYXZlbiBidWlsZDogTWFrZSBzb2xyaiB0ZXN0cyBydW4gc2VwYXJhdGVseSBm cm9tIHNvbHItY29yZS4NCj4gKyAgKFN0ZXZlIFJvd2UpDQo+ICsNCj4gKyogU09MUi0zNzcyOiBP cHRpb25hbGx5LCBvbiBjbHVzdGVyIHN0YXJ0dXAsIHdlIGNhbiB3YWl0IHVudGlsIHdlIHNlZSBh bGwgcmVnaXN0ZXJlZA0KPiArICByZXBsaWNhcyBiZWZvcmUgcnVubmluZyB0aGUgbGVhZGVyIHBy b2Nlc3MgLSBvciBpZiB0aGV5IGFsbCBkbyBub3QgY29tZSB1cCwNCj4gKyAgTiBhbW91bnQgb2Yg dGltZS4gKEphbiBIw4PCuHlkYWhsLCBQZXIgU3RlZmZlbnNlbiwgTWFyayBNaWxsZXIpDQo+ICsN Cj4gKyogU09MUi0zNzUwOiBPcHRpb25hbHksIG9uIHNlc3Npb24gZXhwaXJhdGlvbiwgd2UgY2Fu IGV4cGxpY2l0bHkgd2FpdCBzb21lIHRpbWUgYmVmb3JlDQo+ICsgIHJ1bm5pbmcgdGhlIGxlYWRl ciBzeW5jIHByb2Nlc3Mgc28gdGhhdCB3ZSBhcmUgc3VyZSBldmVyeSBub2RlIHBhcnRpY2lwYXRl cy4NCj4gKyAgKFBlciBTdGVmZmVuc2VuLCBNYXJrIE1pbGxlcikNCj4gKw0KPiArKiBTT0xSLTM4 MjQ6IFZlbG9jaXR5OiBFcnJvciBtZXNzYWdlcyBmcm9tIHNlYXJjaCBub3QgZGlzcGxheWVkIChq YW5ob3kpDQo+ICsNCj4gKz09PT09PT09PT09PT09PT09PSAgNC4wLjAtQkVUQSA9PT09PT09PT09 PT09PT09PT09DQo+ICsNCj4gKw0KPiArVmVyc2lvbnMgb2YgTWFqb3IgQ29tcG9uZW50cw0KPiAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICtBcGFjaGUgVGlrYSAxLjENCj4gK0NhcnJvdDIgMy41 LjANCj4gK1ZlbG9jaXR5IDEuNi40IGFuZCBWZWxvY2l0eSBUb29scyAyLjANCj4gK0FwYWNoZSBV SU1BIDIuMy4xDQo+ICtBcGFjaGUgWm9vS2VlcGVyIDMuMy42DQo+ICsNCj4gK1VwZ3JhZGluZyBm cm9tIFNvbHIgNC4wLjAtQUxQSEENCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiAr U29sciBpcyBub3cgbXVjaCBtb3JlIHN0cmljdCBhYm91dCByZXF1aXJpbmcgdGhhdCB0aGUgdW5p cXVlS2V5RmllbGQgZmVhdHVyZQ0KPiArKGlmIHVzZWQpIG11c3QgcmVmZXIgdG8gYSBmaWVsZCB3 aGljaCBpcyBub3QgbXVsdGlWYWx1ZWQuICBJZiB5b3UgdXBncmFkZSBmcm9tDQo+ICthbiBlYXJs aWVyIHZlcnNpb24gb2YgU29sciBhbmQgc2VlIGFuIGVycm9yIHRoYXQgeW91ciB1bmlxdWVLZXlG aWVsZCAiY2FuIG5vdA0KPiArYmUgY29uZmlndXJlZCB0byBiZSBtdWx0aXZhbHVlZCIgcGxlYXNl IGFkZCAnbXVsdGlWYWx1ZWQ9ImZhbHNlIicgdG8gdGhlDQo+ICs8ZmllbGQgLz4gZGVjbGFyYXRp b24gZm9yIHlvdXIgdW5pcXVlS2V5RmllbGQuICBTZWUgU09MUi0zNjgyIGZvciBtb3JlIGRldGFp bHMuDQo+ICsNCj4gK0RldGFpbGVkIENoYW5nZSBMaXN0DQo+ICstLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+ICsNCj4gK05ldyBGZWF0dXJlcw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAr DQo+ICsqIExVQ0VORS00MjAxOiBBZGRlZCBKYXBhbmVzZUl0ZXJhdGlvbk1hcmtDaGFyRmlsdGVy RmFjdG9yeSB0byBub3JtYWxpemUgSmFwYW5lc2UNCj4gKyAgaXRlcmF0aW9uIG1hcmtzLiAoUm9i ZXJ0IE11aXIsIENocmlzdGlhbiBNb2VuKQ0KPiArDQo+ICsqIFNPTFItMTg1NjogSW4gU29sciBD ZWxsLCBsaXRlcmFscyBzaG91bGQgb3ZlcnJpZGUgVGlrYS1wYXJzZWQgdmFsdWVzLg0KPiArICBQ YXRjaCBhZGRzIGEgcGFyYW0gImxpdGVyYWxzT3ZlcnJpZGUiIHdoaWNoIGRlZmF1bHRzIHRvIHRy dWUsIGJ1dCBjYW4gYmUgc2V0DQo+ICsgIHRvICJmYWxzZSIgdG8gbGV0IFRpa2EtcGFyc2VkIHZh bHVlcyBiZSBhcHBlbmRlZCB0byBsaXRlcmFsIHZhbHVlcyAoQ2hyaXMgSGFycmlzLCBqYW5ob3kp DQo+ICsNCj4gKyogU09MUi0zNDg4OiBBZGRlZCBhIENvbGxlY3Rpb24gbWFuYWdlbWVudCBBUEkg Zm9yIFNvbHJDbG91ZC4NCj4gKyAgKFRvbW1hc28gVGVvZmlsaSwgU2FtaSBTaXJlbiwgeW9uaWss IE1hcmsgTWlsbGVyKQ0KPiArDQo+ICsqIFNPTFItMzU1OTogRnVsbCBkZWxldGVCeVF1ZXJ5IHN1 cHBvcnQgd2l0aCBTb2xyQ2xvdWQgZGlzdHJpYnV0ZWQgaW5kZXhpbmcuDQo+ICsgIEFsbCByZXBs aWNhcyBvZiBhIHNoYXJkIHdpbGwgYmUgY29uc2lzdGVudCwgZXZlbiBpZiB1cGRhdGVzIGFycml2 ZSBpbiBhDQo+ICsgIGRpZmZlcmVudCBvcmRlciBvbiBkaWZmZXJlbnQgcmVwbGljYXMuICAoeW9u aWspDQo+ICsNCj4gKyogU09MUi0xOTI5OiBJbmRleCBlbmNyeXB0ZWQgZG9jdW1lbnRzIHdpdGgg RXh0cmFjdGluZ1VwZGF0ZVJlcXVlc3RIYW5kbGVyLg0KPiArICBCeSBzdXBwbHlpbmcgcmVzb3Vy Y2UucGFzc3dvcmQ9PG15cHc+IG9yIHNwZWNpZnlpbmcgYW4gZXh0ZXJuYWwgZmlsZSB3aXRoIHJl Z3VsYXINCj4gKyAgZXhwcmVzc2lvbnMgbWF0Y2hpbmcgZmlsZSBuYW1lcywgU29sciB3aWxsIGRl Y3J5cHQgYW5kIGluZGV4IFBERnMgYW5kIERPQ1ggZm9ybWF0cy4NCj4gKyAgKGphbmhveSwgWWlh bm5pcyBQZXJpY2xlb3VzKQ0KPiArDQo+ICsqIFNPTFItMzU2MjogQWRkIG9wdGlvbnMgdG8gcmVt b3ZlIGluc3RhbmNlIGRpciBvciBkYXRhIGRpciBvbiBjb3JlIHVubG9hZC4NCj4gKyAgKE1hcmsg TWlsbGVyLCBQZXIgU3RlZmZlbnNlbikNCj4gKw0KPiArKiBTT0xSLTI3MDI6IFRoZSBkZWZhdWx0 IGRpcmVjdG9yeSBmYWN0b3J5IHdhcyBjaGFuZ2VkIHRvIE5SVENhY2hpbmdEaXJlY3RvcnlGYWN0 b3J5DQo+ICsgIHdoaWNoIHdyYXBzIHRoZSBTdGFuZGFyZERpcmVjdG9yeUZhY3RvcnkgYW5kIGNh Y2hlcyBzbWFsbCBmaWxlcyBmb3IgaW1wcm92ZWQNCj4gKyAgTmVhciBSZWFsLXRpbWUgKE5SVCkg cGVyZm9ybWFuY2UuIChNYXJrIE1pbGxlciwgeW9uaWspDQo+ICsNCj4gKyogU09MUi0yNjE2OiBJ bmNsdWRlIGEgc2FtcGxlIGphdmEgdXRpbCBsb2dnaW5nIGNvbmZpZ3VyYXRpb24gZmlsZS4NCj4g KyAgKERhdmlkIFNtaWxleSwgTWFyayBNaWxsZXIpDQo+ICsNCj4gKyogU09MUi0zNDYwOiBBZGQg Y2xvdWQtc2NyaXB0cyBkaXJlY3RvcnkgYW5kIGEgemtjbGkuc2h8YmF0IHRvb2wgZm9yIGVhc3kg c2NyaXB0aW5nDQo+ICsgIGFuZCBpbnRlcmFjdGlvbiB3aXRoIFpvb0tlZXBlci4gKE1hcmsgTWls bGVyKQ0KPiArDQo+ICsqIFNPTFItMTcyNTogU3RhdGVsZXNzU2NyaXB0VXBkYXRlUHJvY2Vzc29y RmFjdG9yeSBhbGxvd3MgdXNlcnMgdG8gaW1wbGVtZW50DQo+ICsgIHRoZSBmdWxsIFNjcmlwdFVw ZGF0ZVByb2Nlc3NvciBBUEkgdXNpbmcgYW55IHNjcmlwdGluZyBsYW5ndWFnZSB3aXRoIGENCj4g KyAgamF2YXguc2NyaXB0LlNjcmlwdEVuZ2luZUZhY3RvcnkNCj4gKyAgKFVyaSBCb25lc3MsIGVo YXRjaGVyLCBTaW1vbiBSb3NlbnRoYWwsIGhvc3NtYW4pDQo+ICsNCj4gKyogU09MUi0xMzk6IENo YW5nZSB0byB1cGRhdGVhYmxlIGRvY3VtZW50cyB0byBjcmVhdGUgdGhlIGRvY3VtZW50IGlmIGl0 IGRvZXNuJ3QNCj4gKyAgYWxyZWFkeSBleGlzdC4gIFRvIGFzc2VydCB0aGF0IHRoZSBkb2N1bWVu dCBtdXN0IGV4aXN0LCB1c2UgdGhlIG9wdGltaXN0aWMNCj4gKyAgY29uY3VycmVuY3kgZmVhdHVy ZSBieSBzcGVjaWZ5aW5nIGEgX3ZlcnNpb25fIG9mIDEuICAoeW9uaWspDQo+ICsNCj4gKyogTFVD RU5FLTI1MTAsIExVQ0VORS00MDQ0OiBNaWdyYXRlZCBTb2xyJ3MgVG9rZW5pemVyLSwgVG9rZW5G aWx0ZXItLCBhbmQNCj4gKyAgQ2hhckZpbHRlckZhY3RvcmllcyB0byB0aGUgbHVjZW5lLWFuYWx5 c2lzIG1vZHVsZS4gVG8gYWRkIG5ldyBhbmFseXNpcw0KPiArICBtb2R1bGVzIHRvIFNvbHIgKGxp a2UgSUNVLCBTbWFydENoaW5lc2UsIE1vcmZvbG9naWssLi4uKSwganVzdCBkcm9wIGluDQo+ICsg IHRoZSBKQVIgZmlsZXMgZnJvbSBMdWNlbmUncyBiaW5hcnkgZGlzdHJpYnV0aW9uIGludG8geW91 ciBTb2xyIGluc3RhbmNlJ3MNCj4gKyAgbGliIGZvbGRlci4gVGhlIGZhY3RvcmllcyBhcmUgYXV0 b21hdGljYWxseSBtYWRlIGF2YWlsYWJsZSB3aXRoIFNQSS4NCj4gKyAgKENocmlzIE1hbGUsIFJv YmVydCBNdWlyLCBVd2UgU2NoaW5kbGVyKQ0KPiArDQo+ICsqIFNPTFItMzYzNCwgU09MUi0zNjM1 OiBDb3JlQ29udGFpbmVyIGFuZCBDb3JlQWRtaW5IYW5kbGVyIHdpbGwgbm93IHJlbWVtYmVyDQo+ ICsgIGFuZCByZXBvcnQgYmFjayBpbmZvcm1hdGlvbiBhYm91dCBmYWlsdXJlcyB0byBpbml0aWFs aXplIFNvbHJDb3Jlcy4gIFRoZXNlDQo+ICsgIGZhaWx1cmVzIHdpbGwgYmUgYWNjZXNzaWJsZSBm cm9tIHRoZSB3ZWIgVUkgYW5kIENvcmVBZG1pbkhhbmRsZXIgU1RBVFVTDQo+ICsgIGNvbW1hbmQg dW50aWwgdGhleSBhcmUgInJlc2V0IiBieSBjcmVhdGluZy9yZW5hbWluZyBhIFNvbHJDb3JlIHdp dGggdGhlDQo+ICsgIHNhbWUgbmFtZS4gIChob3NzbWFuLCBzdGVmZmtlcykNCj4gKw0KPiArKiBT T0xSLTEyODA6IEFkZGVkIGNvbW1lbnRlZC1vdXQgZXhhbXBsZSBvZiB0aGUgbmV3IHNjcmlwdCB1 cGRhdGUgcHJvY2Vzc29yDQo+ICsgIHRvIHRoZSBleGFtcGxlIGNvbmZpZ3VyYXRpb24uICBTZWUg aHR0cDovL3dpa2kuYXBhY2hlLm9yZy9zb2xyL1NjcmlwdFVwZGF0ZVByb2Nlc3NvciAoZWhhdGNo ZXIpDQo+ICsNCj4gKyogU09MUi0zNjcyOiBTaW1wbGVQb3N0VG9vbDogSW1wcm92ZW1lbnRzIGZv ciBwb3N0aW5nIGZpbGVzDQo+ICsgIFN1cHBvcnQgZm9yIGF1dG8gbW9kZSwgcmVjdXJzaXZlIGFu ZCB3aWxkY2FyZHMgKGphbmhveSkNCj4gKw0KPiArT3B0aW1pemF0aW9ucw0KPiArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiArDQo+ICsqIFNPTFItMzcwODogQWRkIGhhc2hDb2RlIHRvIENsdXN0 ZXJTdGF0ZSBzbyB0aGF0IHN0cnVjdHVyZXMgYnVpbHQgYmFzZWQgb24gdGhlDQo+ICsgIENsdXN0 ZXJTdGF0ZSBjYW4gYmUgZWFzaWx5IGNhY2hlZC4gKE1hcmsgTWlsbGVyKQ0KPiArDQo+ICsqIFNP TFItMzcwOTogQ2FjaGUgdGhlIHVybCBsaXN0IGNyZWF0ZWQgZnJvbSB0aGUgQ2x1c3RlclN0YXRl IGluIENsb3VkU29sclNlcnZlciBvbiBlYWNoDQo+ICsgIHJlcXVlc3QuIChNYXJrIE1pbGxlciwg eW9uaWspDQo+ICsNCj4gKyogU09MUi0zNzEwOiBDaGFuZ2UgQ2xvdWRTb2xyU2VydmVyIHNvIHRo YXQgdXBkYXRlIHJlcXVlc3RzIGFyZSBvbmx5IHNlbnQgdG8gbGVhZGVycyBieQ0KPiArICBkZWZh dWx0LiAoTWFyayBNaWxsZXIpDQo+ICsNCj4gK0J1ZyBGaXhlcw0KPiArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiArDQo+ICsqIFNPTFItMzU4MjogT3VyIFpvb0tlZXBlciB3YXRjaGVycyByZXNw b25kIHRvIHNlc3Npb24gZXZlbnRzIGFzIGlmIHRoZXkgYXJlIGNoYW5nZSBldmVudHMsDQo+ICsg IGNyZWF0aW5nIHVuZGVzaXJhYmxlIHNpZGUgZWZmZWN0cy4gKFRyeW0gUi4gTcODwrhsbGVyLCBN YXJrIE1pbGxlcikNCj4gKw0KPiArKiBTT0xSLTM0Njc6IEV4dGVuZGVkRGlzbWF4IGVzY2FwaW5n IGlzIG1pc3Npbmcgc2V2ZXJhbCByZXNlcnZlZCBjaGFyYWN0ZXJzDQo+ICsgIChNaWNoYWVsIERv ZHN3b3J0aCB2aWEgamFuaG95KQ0KPiArDQo+ICsqIFNPTFItMzU4NzogQWZ0ZXIgcmVsb2FkaW5n IGEgU29sckNvcmUsIHRoZSBvcmlnaW5hbCBBbmFseXplciBpcyBzdGlsbCB1c2VkIHJhdGhlciB0 aGFuIGEgbmV3DQo+ICsgIG9uZS4gKEFsZXhleSBTZXJiYSwgeW9uaWssIHJtdWlyLCBNYXJrIE1p bGxlcikNCj4gKw0KPiArKiBMVUNFTkUtNDE4NTogRml4IGEgYnVnIHdoZXJlIENoYXJGaWx0ZXJz IHdlcmUgd3JvbmdseSBiZWluZyBhcHBsaWVkIHR3aWNlLiAoTWljaGFlbCBGcm9oLCBybXVpcikN Cj4gKw0KPiArKiBTT0xSLTM2MTA6IEFmdGVyIHJlbG9hZGluZyBhIGNvcmUsIGluZGV4aW5nIHdv dWxkIGZhaWwgb24gYW55IG5ld2x5IGFkZGVkIGZpZWxkcyB0byB0aGUgc2NoZW1hLiAoQnJlbnQg TWlsbHMsIHJtdWlyKQ0KPiArDQo+ICsqIFNPTFItMzM3NzogZWRpc21heCBmYWlscyB0byBjb3Jy ZWN0bHkgcGFyc2UgYSBmaWVsZGVkIHF1ZXJ5IHdyYXBwZWQgYnkgcGFyZW5zLg0KPiArICBUaGlz IHJlZ3Jlc3Npb24gd2FzIGludHJvZHVjZWQgaW4gMy42LiAgKEJlcm5kIEZlaGxpbmcsIEphbiBI w4PCuHlkYWhsLCB5b25paykNCj4gKw0KPiArKiBTT0xSLTM2MjE6IEZpeCByYXJlIGNvbmN1cnJl bmN5IGlzc3VlIHdoZW4gb3BlbmluZyBhIG5ldyBJbmRleFdyaXRlciBmb3IgcmVwbGljYXRpb24g b3Igcm9sbGJhY2suDQo+ICsgIChNYXJrIE1pbGxlcikNCj4gKw0KPiArKiBTT0xSLTE3ODE6IFJl cGxpY2F0aW9uIGluZGV4IGRpcmVjdG9yaWVzIG5vdCBhbHdheXMgY2xlYW5lZCB1cC4NCj4gKyAg KE1hcmt1cyBKZWxzbWEsIFRlcmplIFN0ZW4gQmplcmtzZXRoLCBNYXJrIE1pbGxlcikNCj4gKw0K PiArKiBTT0xSLTM2Mzk6IFVwZGF0ZSBab29LZWVwZXIgdG8gMy4zLjYgZm9yIGEgdmFyaWV0eSBv ZiBidWcgZml4ZXMuIChNYXJrIE1pbGxlcikNCj4gKw0KPiArKiBTT0xSLTM2Mjk6IFR5cG8gaW4g c29sci54bWwgcGVyc2lzdGVuY2Ugd2hlbiBvdmVycmlkaW5nIHRoZSBzb2xyY29uZmlnLnhtbA0K PiArICBmaWxlIG5hbWUgdXNpbmcgdGhlICJjb25maWciIGF0dHJpYnV0ZSBwcmV2ZW50ZWQgdGhl IG92ZXJyaWRlIGZpbGUgZnJvbSBiZWluZw0KPiArICB1c2VkLiAoUnlhbiBaZXplc2tpLCBob3Nz bWFuKQ0KPiArDQo+ICsqIFNPTFItMzY0MjogQ29ycmVjdCBicm9rZW4gY2hlY2sgZm9yIG11bHRp dmFsdWVkIGZpZWxkcyBpbiBzdGF0cy5mYWNldA0KPiArICAoWWFuZG9uZyBZYW8sIGhvc3NtYW4p DQo+ICsNCj4gKyogU09MUi0zNjYwOiBWZWxvY2l0eTogTGluayB0byBhZG1pbiBwYWdlIGJyb2tl biAoamFuaG95KQ0KPiArDQo+ICsqIFNPTFItMzY1ODogQWRkaW5nIHRob3VzYW5kcyBvZiBkb2Nz IHdpdGggb25lIFVwZGF0ZVByb2Nlc3NvckNoYWluIGluc3RhbmNlIGNhbiBicmllZmx5IGNyZWF0 ZQ0KPiArICBzcGlrZXMgb2YgdGhyZWFkcyBpbiB0aGUgdGhvdXNhbmRzLiAoeW9uaWssIE1hcmsg TWlsbGVyKQ0KPiArDQo+ICsqIFNPTFItMzY1NjogQSBjb3JlIHJlbG9hZCBub3cgYWx3YXlzIHVz ZXMgdGhlIHNhbWUgZGF0YURpci4gIChNYXJrIE1pbGxlciwgeW9uaWspDQo+ICsNCj4gKyogU09M Ui0zNjYyOiBDb3JlIHJlbG9hZCBidWdzOiBhIHJlbG9hZCBhbHdheXMgb2J0YWluZWQgYSBub24t TlJUIHNlYXJjaGVyLCB3aGljaA0KPiArICBjb3VsZCBnbyBiYWNrIGluIHRpbWUgd2l0aCByZXNw ZWN0IHRvIHRoZSBwcmV2aW91cyBjb3JlJ3MgTlJUIHNlYXJjaGVyLiAgVmVyc2lvbmluZw0KPiAr ICBkaWQgbm90IHdvcmsgY29ycmVjdGx5IGFjcm9zcyBhIGNvcmUgcmVsb2FkLCBhbmQgdXBkYXRl IGhhbmRsZXIgc3luY2hyb25pemF0aW9uDQo+ICsgIHdhcyBjaGFuZ2VkIHRvIHN5bmNocm9uaXpl IG9uIGNvcmUgc3RhdGUgc2luY2UgbW9yZSB0aGFuIG9uIHVwZGF0ZSBoYW5kbGVyDQo+ICsgIGNh biBjb2V4aXN0IGZvciBhIHNpbmdsZSBpbmRleCBkdXJpbmcgYSByZWxvYWQuICh5b25paykNCj4g Kw0KPiArKiBTT0xSLTM2NjM6IFRoZXJlIGFyZSBhIGNvdXBsZSBvZiBidWdzIGluIHRoZSBzeW5j IHByb2Nlc3Mgd2hlbiBhIGxlYWRlciBnb2VzIGRvd24gYW5kIGENCj4gKyAgbmV3IGxlYWRlciBp cyBlbGVjdGVkLiAoTWFyayBNaWxsZXIpDQo+ICsNCj4gKyogU09MUi0zNjIzOiBGaXhlZCBpbmNv bnNpc3RlbnQgdHJlYXRtZW50IG9mIHRoaXJkLXBhcnR5IGRlcGVuZGVuY2llcyBmb3INCj4gKyAg c29sciBjb250cmlicyBhbmFseXNpcy1leHRyYXMgJiB1aW1hIChob3NzbWFuKQ0KPiArDQo+ICsq IFNPTFItMzY1MjogRml4ZWQgcmFuZ2UgZmFjZXRpbmcgdG8gZXJyb3IgaW5zdGVhZCBvZiBsb29w aW5nIGluZmluaXRlbHkNCj4gKyAgd2hlbiAnZ2FwJyBpcyB6ZXJvIC0tIG9yIGVmZmVjdGl2ZWx5 IHplcm8gZHVlIHRvIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMNCj4gKyAgdW5kZXJmbG93LiAo aG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTM2NDg6IEZpeGVkIFZlbG9jaXR5UmVzcG9uc2VXcml0 ZXIgdGVtcGxhdGUgbG9hZGluZyBpbiBTb2xyQ2xvdWQgbW9kZS4NCj4gKyAgRm9yIHRoZSBleGFt cGxlIGNvbmZpZ3VyYXRpb24sIHRoaXMgbWVhbnMgL2Jyb3dzZSBub3cgd29ya3Mgd2l0aCBTb2xy Q2xvdWQuDQo+ICsgIChqYW5ob3ksIGVoYXRjaGVyKQ0KPiArDQo+ICsqIFNPTFItMzY3NzogRml4 ZWQgbWlzc2xlYWRpbmcgZXJyb3IgbWVzc2FnZSBpbiB3ZWIgdWkgdG8gZGlzdGluZ3Vpc2ggYmV0 d2Vlbg0KPiArICBubyBTb2xyQ29yZXMgbG9hZGVkIHZzLiBubyAvYWRtaW4vIGhhbmRsZXIgYXZh aWxhYmxlLg0KPiArICAoaG9zc21hbiwgc3RlZmZrZXMpDQo+ICsNCj4gKyogU09MUi0zNDI4OiBT b2xyQ21kRGlzdHJpYnV0b3IgZmx1c2hBZGRzL2ZsdXNoRGVsZXRlcyBjYW4gY2F1c2UgcmVwZWF0 ZWQNCj4gKyAgYWRkcy9kZWxldGVzIHRvIGJlIHNlbnQgKE1hcmsgTWlsbGVyLCBQZXIgU3RlZmZl bnNlbikNCj4gKw0KPiArKiBTT0xSLTM2NDc6IERpc3RyaWJ1dGVkUXVldWUgc2hvdWxkIHVzZSBv dXIgU29sciB6ayBjbGllbnQgcmF0aGVyIHRoYW4gdGhlIHN0ZCB6aw0KPiArICBjbGllbnQuIFpv b0tlZXBlciBleHBpcmF0aW9uIGNhbiBiZSBwZXJtYW5lbnQgb3RoZXJ3aXNlLiAoTWFyayBNaWxs ZXIpDQo+ICsNCj4gK090aGVyIENoYW5nZXMNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g Kw0KPiArKiBTT0xSLTM1MjQ6IE1ha2UgZGlzY2FyZGluZyBwdW5jdHVhdGlvbiBjb25maWd1cmFi bGUgaW4gSmFwYW5lc2VUb2tlbml6ZXJGYWN0b3J5Lg0KPiArICBUaGUgZGVmYXVsdCBpcyB0byBk aXNjYXJkIHB1bmN0dWF0aW9uLCBidXQgdGhpcyBpcyBvdmVycmlkYWJsZSBhcyBhbiBleHBlcnQg b3B0aW9uLg0KPiArICAoS2F6dWFraSBIaXJhZ2EsIEp1biBPaHRhbmkgdmlhIENocmlzdGlhbiBN b2VuKQ0KPiArDQo+ICsqIFNPTFItMTc3MDogTW92ZSB0aGUgZGVmYXVsdCBjb3JlIGluc3RhbmNl IGRpcmVjdG9yeSBpbnRvIGEgY29sbGVjdGlvbjEgZm9sZGVyLg0KPiArICAoTWFyayBNaWxsZXIp DQo+ICsNCj4gKyogU09MUi0zMzU1OiBBZGQgc2hhcmQgYW5kIGNvbGxlY3Rpb24gdG8gU29sckNv cmUgc3RhdGlzdGljcy4gKE1pY2hhZWwgR2Fyc2tpLCBNYXJrIE1pbGxlcikNCj4gKw0KPiArKiBT T0xSLTM1NzU6IHNvbHIueG1sIHNob3VsZCBkZWZhdWx0IHRvIHBlcnNpc3Q9dHJ1ZSAoTWFyayBN aWxsZXIpDQo+ICsNCj4gKyogU09MUi0zNTYzOiBVbmxvYWRpbmcgYWxsIGNvcmVzIGluIGEgU29s ckNsb3VkIGNvbGxlY3Rpb24gd2lsbCBub3cgY2F1c2UgdGhlIHJlbW92YWwgb2YNCj4gKyAgdGhh dCBjb2xsZWN0aW9uJ3MgbWV0YSBkYXRhIGZyb20gWm9vS2VlcGVyLiAoTWFyayBNaWxsZXIsIFBl ciBTdGVmZmVuc2VuKQ0KPiArDQo+ICsqIFNPTFItMzU5OTogQWRkIHprQ2xpZW50VGltZW91dCB0 byBzb2xyLnhtbCBzbyB0aGF0IGl0J3Mgb2J2aW91cyBob3cgdG8gY2hhbmdlIGl0IGFuZCBzbw0K PiArICB0aGF0IHlvdSBjYW4gY2hhbmdlIGl0IHdpdGggYSBzeXN0ZW0gcHJvcGVydHkuIChNYXJr IE1pbGxlcikNCj4gKw0KPiArKiBTT0xSLTM2MDk6IENoYW5nZSBTb2xyJ3MgZXhwYW5kZWQgd2Vi YXBwIGRpcmVjdG9yeSB0byBiZSBhdCBhIGNvbnNpc3RlbnQgcGF0aCBjYWxsZWQNCj4gKyAgc29s ci13ZWJhcHAgcmF0aGVyIHRoYW4gYSB0ZW1wb3JhcnkgZGlyZWN0b3J5LiAoTWFyayBNaWxsZXIp DQo+ICsNCj4gKyogU09MUi0zNjAwOiBSYWlzZSB0aGUgZGVmYXVsdCB6a0NsaWVudFRpbWVvdXQg ZnJvbSAxMCBzZWNvbmRzIHRvIDE1IHNlY29uZHMuIChNYXJrIE1pbGxlcikNCj4gKw0KPiArKiBT T0xSLTMyMTU6IENsb25lIFNvbHJJbnB1dERvY3VtZW50IHdoZW4gZGlzdHJpYiBpbmRleGluZyBz byB0aGF0IHVwZGF0ZSBwcm9jZXNzb3JzIGFmdGVyDQo+ICsgIHRoZSBkaXN0cmliIHVwZGF0ZSBw cm9jZXNzIGRvIG5vdCBwcm9jZXNzIHRoZSBkb2N1bWVudCB0d2ljZS4gKE1hcmsgTWlsbGVyKQ0K PiArDQo+ICsqIFNPTFItMzY4MzogSW1wcm92ZWQgZXJyb3IgaGFuZGxpbmcgaWYgYW4gPGFuYWx5 emVyPiBjb250YWlucyBib3RoIGFuDQo+ICsgIGV4cGxpY2l0IGNsYXNzIGF0dHJpYnV0ZSwgYXMg d2VsbCBhcyBuZXN0ZWQgZmFjdG9yaWVzLiAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTM2ODI6 IEZhaWwgdG8gcGFyc2Ugc2NoZW1hLnhtbCBpZiB1bmlxdWVLZXlGaWVsZCBpcyBtdWx0aXZhbHVl ZCAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTIxMTU6IERJSCBubyBsb25nZXIgcmVxdWlyZXMg dGhlICJjb25maWciIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQgaW4gc29scmNvbmZpZy54bWwu DQo+ICsgIEluc3RlYWQsIHRoZSBjb25maWd1cmF0aW9uIGlzIGxvYWRlZCBhbmQgcGFyc2VkIHdp dGggZXZlcnkgaW1wb3J0LiAgVGhpcyBhbGxvd3MgdGhlIHVzZSBvZg0KPiArICBhIGRpZmZlcmVu dCBjb25maWd1cmF0aW9uIHdpdGggZWFjaCBpbXBvcnQsIGFuZCBtYWtlcyBjb3JyZWN0aW5nIGNv bmZpZ3VyYXRpb24gZXJyb3JzIHNpbXBsZXIuDQo+ICsgIEFsc28sIHRoZSBjb25maWd1cmF0aW9u IGl0c2VsZiBjYW4gYmUgcGFzc2VkIHVzaW5nIHRoZSAiZGF0YUNvbmZpZyIgcGFyYW1ldGVyIHJh dGhlciB0aGFuDQo+ICsgIHVzaW5nIGEgZmlsZSAodGhpcyBwcmV2aW91c2x5IHdvcmtlZCBpbiBk ZWJ1ZyBtb2RlIG9ubHkpLiAgV2hlbiBjb25maWd1cmF0aW9uIGVycm9ycyBhcmUNCj4gKyAgZW5j b3VudGVyZWQsIHRoZSBlcnJvciBtZXNzYWdlIGlzIHJldHVybmVkIGluIFhNTCBmb3JtYXQuICAo SmFtZXMgRHllcikNCj4gKw0KPiArKiBTT0xSLTM0Mzk6IE1ha2UgU29sckNlbGwgZWFzaWVyIHRv IHVzZSBvdXQgb2YgdGhlIGJveC4gQWxzbyBpbXByb3ZlcyAiL2Jyb3dzZSIgdG8gZGlzcGxheQ0K PiArICByaWNoLXRleHQgZG9jdW1lbnRzIGNvcnJlY3RseSwgYWxvbmcgd2l0aCBmYWNldHMgZm9y IGF1dGhvciBhbmQgY29udGVudF90eXBlLg0KPiArICBXaXRoIHRoZSBuZXcgImNvbnRlbnQiIGZp ZWxkLCBoaWdobGlnaHRpbmcgb2YgYm9keSBpcyBzdXBwb3J0ZWQuIFNlZSBhbHNvIFNPTFItMzY3 MiBmb3INCj4gKyAgZWFzaWVyIHBvc3Rpbmcgb2YgYSB3aG9sZSBkaXJlY3Rvcnkgc3RydWN0dXJl LiAoSmFjayBLcnVwYW5za3ksIGphbmhveSkNCj4gKw0KPiArKiBTT0xSLTM1Nzk6IFNvbHJDbG91 ZCB2aWV3IHNob3VsZCBkZWZhdWx0IHRvIHRoZSBncmFwaCB2aWV3IHJhdGhlciB0aGFuIHRyZWUg dmlldy4NCj4gKyAgKHN0ZWZma2VzLCBNYXJrIE1pbGxlcikNCj4gKw0KPiArPT09PT09PT09PT09 PT09PT09ICA0LjAuMC1BTFBIQSA9PT09PT09PT09PT09PT09PT0NCj4gK01vcmUgaW5mb3JtYXRp b24gYWJvdXQgdGhpcyByZWxlYXNlLCBpbmNsdWRpbmcgYW55IGVycmF0YSByZWxhdGVkIHRvIHRo ZQ0KPiArcmVsZWFzZSBub3RlcywgdXBncmFkZSBpbnN0cnVjdGlvbnMsIG9yIG90aGVyIGNoYW5n ZXMgbWF5IGJlIGZvdW5kIG9ubGluZSBhdDoNCj4gKyAgIGh0dHBzOi8vd2lraS5hcGFjaGUub3Jn L3NvbHIvU29scjQuMA0KPiArDQo+ICsNCj4gK1ZlcnNpb25zIG9mIE1ham9yIENvbXBvbmVudHMN Cj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArQXBhY2hlIFRpa2EgMS4xDQo+ICtDYXJyb3Qy IDMuNS4wDQo+ICtWZWxvY2l0eSAxLjYuNCBhbmQgVmVsb2NpdHkgVG9vbHMgMi4wDQo+ICtBcGFj aGUgVUlNQSAyLjMuMQ0KPiArQXBhY2hlIFpvb0tlZXBlciAzLjMuNA0KPiArDQo+ICsNCj4gK1Vw Z3JhZGluZyBmcm9tIFNvbHIgMy42LWRldg0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAr DQo+ICsqIFRoZSBMdWNlbmUgaW5kZXggZm9ybWF0IGhhcyBjaGFuZ2VkIGFuZCBhcyBhIHJlc3Vs dCwgb25jZSB5b3UgdXBncmFkZSwNCj4gKyAgcHJldmlvdXMgdmVyc2lvbnMgb2YgU29sciB3aWxs IG5vIGxvbmdlciBiZSBhYmxlIHRvIHJlYWQgeW91ciBpbmRpY2VzLg0KPiArICBJbiBhIG1hc3Rl ci9zbGF2ZSBjb25maWd1cmF0aW9uLCBhbGwgc2VhcmNoZXJzL3NsYXZlcyBzaG91bGQgYmUgdXBn cmFkZWQNCj4gKyAgYmVmb3JlIHRoZSBtYXN0ZXIuICBJZiB0aGUgbWFzdGVyIHdlcmUgdG8gYmUg dXBkYXRlZCBmaXJzdCwgdGhlIG9sZGVyDQo+ICsgIHNlYXJjaGVycyB3b3VsZCBub3QgYmUgYWJs ZSB0byByZWFkIHRoZSBuZXcgaW5kZXggZm9ybWF0Lg0KPiArDQo+ICsqIFNldHRpbmcgYWJvcnRP bkNvbmZpZ3VyYXRpb25FcnJvcj1mYWxzZSBpcyBubyBsb25nZXIgc3VwcG9ydGVkDQo+ICsgIChz aW5jZSBpdCBoYXMgbmV2ZXIgd29ya2VkIHByb3Blcmx5KS4gIFNvbHIgd2lsbCBub3cgd2FybiB5 b3UgaWYNCj4gKyAgeW91IGF0dGVtcHQgdG8gc2V0IHRoaXMgY29uZmlndXJhdGlvbiBvcHRpb24g YXQgYWxsLiAoc2VlIFNPTFItMTg0NikNCj4gKw0KPiArKiBUaGUgZGVmYXVsdCBsb2dpYyBmb3Ig dGhlICdtbScgcGFyYW0gb2YgdGhlICdkaXNtYXgnIFFQYXJzZXIgaGFzDQo+ICsgIGJlZW4gY2hh bmdlZC4gIElmIG5vICdtbScgcGFyYW0gaXMgc3BlY2lmaWVkIChlaXRoZXIgaW4gdGhlIHF1ZXJ5 LA0KPiArICBvciBhcyBhIGRlZmF1bHQgaW4gc29scmNvbmZpZy54bWwpIHRoZW4gdGhlIGVmZmVj dGl2ZSB2YWx1ZSBvZiB0aGUNCj4gKyAgJ3Eub3AnIHBhcmFtIChlaXRoZXIgaW4gdGhlIHF1ZXJ5 IG9yIGFzIGEgZGVmYXVsdCBpbiBzb2xyY29uZmlnLnhtbA0KPiArICBvciBmcm9tIHRoZSAnZGVm YXVsdE9wZXJhdG9yJyBvcHRpb24gaW4gc2NoZW1hLnhtbCkgaXMgdXNlZCB0bw0KPiArICBpbmZs dWVuY2UgdGhlIGJlaGF2aW9yLiAgSWYgcS5vcCBpcyBlZmZlY3RpdmVseSAiQU5EIiB0aGVuIG1t PTEwMCUuDQo+ICsgIElmIHEub3AgaXMgZWZmZWN0aXZlbHkgIk9SIiB0aGVuIG1tPTAlLiAgVXNl cnMgd2hvIHdpc2ggdG8gZm9yY2UgdGhlDQo+ICsgIGxlZ2FjeSBiZWhhdmlvciBzaG91bGQgc2V0 IGEgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlICdtbScgcGFyYW0gaW4NCj4gKyAgdGhlaXIgc29scmNv bmZpZy54bWwgZmlsZS4NCj4gKw0KPiArKiBUaGUgVmVsb2NpdHlSZXNwb25zZVdyaXRlciBpcyBu byBsb25nZXIgYnVpbHQgaW50byB0aGUgY29yZS4gIEl0cyBKQVIgYW5kDQo+ICsgIGRlcGVuZGVu Y2llcyBub3cgbmVlZCB0byBiZSBhZGRlZCAodmlhIDxsaWI+IG9yIHNvbHIvaG9tZSBsaWIgaW5j bHVzaW9uKSwNCj4gKyAgYW5kIGl0IG5lZWRzIHRvIGJlIHJlZ2lzdGVyZWQgaW4gc29scmNvbmZp Zy54bWwgbGlrZSB0aGlzOg0KPiArICAgIDxxdWVyeVJlc3BvbnNlV3JpdGVyIG5hbWU9InZlbG9j aXR5IiBjbGFzcz0ic29sci5WZWxvY2l0eVJlc3BvbnNlV3JpdGVyIi8+DQo+ICsNCj4gKyogVGhl IHVwZGF0ZSByZXF1ZXN0IHBhcmFtZXRlciB0byBjaG9vc2UgVXBkYXRlIFJlcXVlc3QgUHJvY2Vz c29yIENoYWluIGlzDQo+ICsgIHJlbmFtZWQgZnJvbSAidXBkYXRlLnByb2Nlc3NvciIgdG8gInVw ZGF0ZS5jaGFpbiIuIFRoZSBvbGQgcGFyYW1ldGVyIHdhcw0KPiArICBkZXByZWNhdGVkIGJ1dCBz dGlsbCB3b3JraW5nIHNpbmNlIFNvbHIzLjIsIGJ1dCBpcyBub3cgcmVtb3ZlZA0KPiArICBlbnRp cmVseS4NCj4gKw0KPiArKiBUaGUgPGluZGV4RGVmYXVsdHM+IGFuZCA8bWFpbkluZGV4PiBzZWN0 aW9ucyBvZiBzb2xyY29uZmlnLnhtbCBhcmUgZGlzY29udGludWVkDQo+ICsgIGFuZCByZXBsYWNl ZCB3aXRoIHRoZSA8aW5kZXhDb25maWc+IHNlY3Rpb24uIFRoZXJlIGFyZSBhbHNvIGJldHRlciBk ZWZhdWx0cy4NCj4gKyAgV2hlbiBtaWdyYXRpbmcsIGlmIHlvdSBkb24ndCBrbm93IHdoYXQgeW91 ciBvbGQgc2V0dGluZ3MgbWVhbiwgc2ltcGx5IGRlbGV0ZQ0KPiArICBib3RoIDxpbmRleERlZmF1 bHRzPiBhbmQgPG1haW5JbmRleD4gc2VjdGlvbnMuIElmIHlvdSBoYXZlIGN1c3RvbWl6YXRpb25z LA0KPiArICBwdXQgdGhlbSBpbiA8aW5kZXhDb25maWc+IHNlY3Rpb24gLSB3aXRoIHNhbWUgc3lu dGF4IGFzIGJlZm9yZS4NCj4gKw0KPiArKiBUd28gb2YgdGhlIFNvbHJTZXJ2ZXIgc3ViY2xhc3Nl cyBpbiBTb2xySiB3ZXJlIHJlbmFtZWQvcmVwbGFjZWQuDQo+ICsgIENvbW1vbnNIdHRwU29sclNl cnZlciBpcyBub3cgSHR0cFNvbHJTZXJ2ZXIsIGFuZA0KPiArICBTdHJlYW1pbmdVcGRhdGVTb2xy U2VydmVyIGlzIG5vdyBDb25jdXJyZW50VXBkYXRlU29sclNlcnZlci4NCj4gKw0KPiArKiBUaGUg UGluZ1JlcXVlc3RIYW5kbGVyIG5vIGxvbmdlciBsb29rcyBmb3IgYSA8aGVhbHRoY2hlY2svPiBv cHRpb24gaW4gdGhlDQo+ICsgIChsZWdhY3kpIDxhZG1pbj4gc2VjdGlvbiBvZiBzb2xyY29uZmln LnhtbC4gIFVzZXJzIHdobyB3aXNoIHRvIHRha2UNCj4gKyAgYWR2YW50YWdlIG9mIHRoaXMgZmVh dHVyZSBzaG91bGQgY29uZmlndXJlIGEgImhlYWx0aGNoZWNrRmlsZSIgaW5pdCBwYXJhbQ0KPiAr ICBkaXJlY3RseSBvbiB0aGUgIFBpbmdSZXF1ZXN0SGFuZGxlci4gIEFzIHBhcnQgb2YgdGhpcyBj aGFuZ2UsIHJlbGF0aXZlIGZpbGUNCj4gKyAgcGF0aHMgaGF2ZSBiZWVuIGZpeGVkIHRvIGJlIHJl c29sdmVkIGFnYWluc3QgdGhlIGRhdGEgZGlyLiAgU2VlIHRoZSBleGFtcGxlDQo+ICsgIHNvbHJj b25maWcueG1sIGFuZCBTT0xSLTEyNTggZm9yIG1vcmUgZGV0YWlscy4NCj4gKw0KPiArKiBEdWUg dG8gbG93IGxldmVsIGNoYW5nZXMgdG8gc3VwcG9ydCBTb2xyQ2xvdWQsIHRoZSB1bmlxdWVLZXkg ZmllbGQgY2FuIG5vDQo+ICsgIGxvbmdlciBiZSBwb3B1bGF0ZWQgdmlhIDxjb3B5RmllbGQvPiBv ciA8ZmllbGQgZGVmYXVsdD0uLi4+IGluIHRoZQ0KPiArICBzY2hlbWEueG1sLiAgVXNlcnMgd2lz aGluZyB0byBoYXZlIFNvbHIgYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIHVuaXF1ZUtleQ0KPiAr ICB2YWx1ZSB3aGVuIGFkZGluZyBkb2N1bWVudHMgc2hvdWxkIGluc3RlYWQgdXNlIGFuIGluc3Rh bmNlIG9mDQo+ICsgIHNvbHIuVVVJRFVwZGF0ZVByb2Nlc3NvckZhY3RvcnkgaW4gdGhlaXIgdXBk YXRlIHByb2Nlc3NvciBjaGFpbi4gIFNlZQ0KPiArICBTT0xSLTI3OTYgZm9yIG1vcmUgZGV0YWls cy4NCj4gKw0KPiArDQo+ICtEZXRhaWxlZCBDaGFuZ2UgTGlzdA0KPiArLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiArDQo+ICtOZXcgRmVhdHVyZXMNCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gKw0KPiArKiBTT0xSLTMyNzI6IFNvbHIgZmlsdGVyIGZhY3RvcnkgZm9yIE1vcmZvbG9naWtG aWx0ZXIgKFBvbGlzaCBsZW1tYXRpc2F0aW9uKS4NCj4gKyAgKFJhZmHDheKAmiBLdcOE4oChIHZp YSBEYXdpZCBXZWlzcywgU3RldmVuIFJvd2UsIFV3ZSBTY2hpbmRsZXIpLg0KPiArDQo+ICsqIFNP TFItNTcxOiBUaGUgYXV0b3dhcm1Db3VudCBmb3IgTFJVQ2FjaGVzIChMUlVDYWNoZSBhbmQgRmFz dExSVUNhY2hlKSBub3cNCj4gKyAgc3VwcG9ydHMgInBlcmNlbnRhZ2VzIiB3aGljaCBnZXQgZXZh bHVhdGVkICByZWxhdGl2ZSB0aGUgY3VycmVudCBzaXplIG9mDQo+ICsgIHRoZSBjYWNoZSB3aGVu IHdhcm1pbmcgaGFwcGVucy4NCj4gKyAgKFRvbWFzIEZlcm5hbmRleiBMb2JiZSBhbmQgaG9zc21h bikNCj4gKw0KPiArKiBTT0xSLTE5MzI6IE5ldyByZWxldmFuY3kgZnVuY3Rpb24gcXVlcmllczog dGVybWZyZXEsIHRmLCBkb2NmcmVxLCBpZGYNCj4gKyAgbm9ybSwgbWF4ZG9jLCBudW1kb2NzLiAo eW9uaWspDQo+ICsNCj4gKyogU09MUi0xNjY1OiBBZGQgZGVidWcgY29tcG9uZW50IG9wdGlvbnMg Zm9yIHRpbWluZ3MsIHJlc3VsdHMgYW5kIHF1ZXJ5IGluZm8gb25seSAoZ3NpbmdlcnMsIGhvc3Nt YW4sIHlvbmlrKQ0KPiArDQo+ICsqIFNPTFItMjExMjogU29scmogQVBJIG5vdyBzdXBwb3J0cyBz dHJlYW1pbmcgcmVzdWx0cy4gKHJ5YW4pDQo+ICsNCj4gKyogU09MUi03OTI6IEFkZGluZyBQaXZv dEZhY2V0Q29tcG9uZW50IGZvciBIaWVyYXJjaGljYWwgZmFjZXRpbmcNCj4gKyAgKGVoYXRjaGVy LCBKZXJlbXkgSGluZWdhcmRuZXIsIFRoaWJhdXQgTGFzc2FsbGUsIHJ5YW4pDQo+ICsNCj4gKyog TFVDRU5FLTI1MDcsIFNPTFItMjU3MSwgU09MUi0yNTc2OiBBZGRlZCBEaXJlY3RTb2xyU3BlbGxD aGVja2VyLCB3aGljaCB1c2VzIEx1Y2VuZSdzDQo+ICsgIERpcmVjdFNwZWxsQ2hlY2tlciB0byBy ZXRyaWV2ZSBjb3JyZWN0aW9uIGNhbmRpZGF0ZXMgZGlyZWN0bHkgZnJvbSB0aGUgdGVybSBkaWN0 aW9uYXJ5IHVzaW5nDQo+ICsgIGxldmVuc2h0ZWluIGF1dG9tYXRhLiAgKEphbWVzIER5ZXIsIHJt dWlyKQ0KPiArDQo+ICsqIFNPTFItMTg3MywgU09MUi0yMzU4OiBTb2xyQ2xvdWQgLSBhZGRlZCBz aGFyZWQvY2VudHJhbCBjb25maWcgYW5kIGNvcmUvc2hhcmQgbWFuYWdlbWVudCB2aWEgem9va2Vl cGVyLA0KPiArICBidWlsdC1pbiBsb2FkIGJhbGFuY2luZywgYW5kIGRpc3RyaWJ1dGVkIGluZGV4 aW5nLg0KPiArICAoSmFtaWUgSm9obnNvbiwgU2FtaSBTaXJlbiwgVGVkIER1bm5pbmcsIHlvbmlr LCBNYXJrIE1pbGxlcikNCj4gKyAgQWRkaXRpb25hbCBXb3JrOg0KPiArICAtIFNPTFItMjMyNDog U29sckNsb3VkIHNvbHIueG1sIHBhcmFtZXRlcnMgYXJlIG5vdCBwZXJzaXN0ZWQgYnkgQ29yZUNv bnRhaW5lci4NCj4gKyAgICAoTWFzc2ltbyBTY2hpYXZvbiwgTWFyayBNaWxsZXIpDQo+ICsgIC0g U09MUi0yMjg3OiBBbGxvdyB1c2VycyB0byBxdWVyeSBieSBtdWx0aXBsZSwgY29tcGF0aWJsZSBj b2xsZWN0aW9ucyB3aXRoIFNvbHJDbG91ZC4NCj4gKyAgICAoU29oZWIgTWFobW9vZCwgQWxleCBD b3dlbGwsIE1hcmsgTWlsbGVyKQ0KPiArICAtIFNPTFItMjYyMjogU2hvd0ZpbGVSZXF1ZXN0SGFu ZGxlciBkb2VzIG5vdCB3b3JrIGluIFNvbHJDbG91ZCBtb2RlLg0KPiArICAgIChTdGVmYW4gTWF0 aGVpcywgTWFyayBNaWxsZXIpDQo+ICsgIC0gU09MUi0zMTA4OiBFcnJvciBpbiBTb2xyQ2xvdWQn cyByZXBsaWNhIGxvb2t1cCBjb2RlIHdoZW4gcmVwbGljYSdzIGFyZSBob3N0ZWQgaW4gc2FtZSBT b2xyIGluc3RhbmNlLg0KPiArICAgIChCcnVubyBEdW1vbiwgU2FtaSBTaXJlbiwgTWFyayBNaWxs ZXIpDQo+ICsgIC0gU09MUi0zMDgwOiBSZW1vdmUgc2hhcmQgaW5mbyBmcm9tIHpvb2tlZXBlciB3 aGVuIFNvbHJDb3JlIGlzIGV4cGxpY2l0bHkgdW5sb2FkZWQuDQo+ICsgICAgKHlvbmlrLCBNYXJr IE1pbGxlciwgc2lyZW4pDQo+ICsgIC0gU09MUi0zNDM3OiBSZWNvdmVyeSBpc3N1ZXMgYSBzcHVy aW91cyBjb21taXQgdG8gdGhlIGNsdXN0ZXIuIChUcnltIFIuIE3Dg8K4bGxlciB2aWEgTWFyayBN aWxsZXIpDQo+ICsgIC0gU09MUi0yODIyOiBTa2lwIHVwZGF0ZSBwcm9jZXNzb3JzIGFscmVhZHkg cnVuIG9uIG90aGVyIG5vZGVzIChob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFItMTU2NjogVHJhbnNm b3JtaW5nIGRvY3VtZW50cyBpbiB0aGUgUmVzcG9uc2VXcml0ZXJzLiAgVGhpcyB3aWxsIGFsbG93 DQo+ICsgIGZvciBtb3JlIGNvbXBsZXggcmVzdWx0cyBpbiByZXNwb25zZXMgYW5kIG9wZW4gdGhl IGRvb3IgZm9yIGZ1bmN0aW9uIHF1ZXJpZXMNCj4gKyAgYXMgcmVzdWx0cy4NCj4gKyAgKHJ5YW4g d2l0aCBwYXRjaGVzIGZyb20gZ3JhbnQsIG5vYmxlLCBjbWFsZSwgeW9uaWssIEphbiBIw4PCuHlk YWhsLA0KPiArICBBcnVsIEthbGFpcGFuZGlhbiwgTHVjYSBDYXZhbm5hLCBob3NzbWFuKQ0KPiAr ICAtIFNPTFItMjAzNzogVGhhbmtzIHRvIFNPTFItMTU2NiwgZG9jdW1lbnRzIGJvb3N0ZWQgYnkg dGhlIFF1ZXJ5RWxldmF0aW9uQ29tcG9uZW50DQo+ICsgICAgY2FuIGJlIG1hcmtlZCBhcyBib29z dGVkLiAgKGdzaW5nZXJzLCByeWFuLCB5b25paykNCj4gKw0KPiArKiBTT0xSLTIzOTY6IEFkZCBD b2xsYXRpb25GaWVsZCwgd2hpY2ggaXMgbXVjaCBtb3JlIGVmZmljaWVudCB0aGFuDQo+ICsgIHRo ZSBTb2xyIDMueCBDb2xsYXRpb25LZXlGaWx0ZXJGYWN0b3J5LCBhbmQgYWxzbyBzdXBwb3J0cw0K PiArICBMb2NhbGUtc2Vuc2l0aXZlIHJhbmdlIHF1ZXJpZXMuIChybXVpcikNCj4gKw0KPiArKiBT T0xSLTIzMzg6IEFkZCBzdXBwb3J0IGZvciB1c2luZyA8c2ltaWxhcml0eS8+IGluIGEgc2NoZW1h J3MgZmllbGRUeXBlLA0KPiArICBmb3IgY3VzdG9taXppbmcgc2NvcmluZyBvbiBhIHBlci1maWVs ZCBiYXNpcy4gKGhvc3NtYW4sIHlvbmlrLCBybXVpcikNCj4gKw0KPiArKiBTT0xSLTIzMzU6IE5l dyAnZmllbGQoIi4uLiIpJyBmdW5jdGlvbiBzeW50YXggZm9yIHJlZmVycmluZyB0byBjb21wbGV4 DQo+ICsgIGZpZWxkIG5hbWVzIChjb250YWluaW5nIHdoaXRlc3BhY2Ugb3Igc3BlY2lhbCBjaGFy YWN0ZXJzKSBpbiBmdW5jdGlvbnMuDQo+ICsNCj4gKyogU09MUi0yMzgzOiAvYnJvd3NlIGltcHJv dmVtZW50czogZ2VuZXJhbGl6ZSByYW5nZSBhbmQgZGF0ZSBmYWNldCBkaXNwbGF5DQo+ICsgIChK YW4gSMODwrh5ZGFobCB2aWEgeW9uaWspDQo+ICsNCj4gKyogU09MUi0yMjcyOiBQc2V1ZG8tam9p biBxdWVyaWVzIC8gZmlsdGVycy4gIEV4YW1wbGVzOg0KPiArICAtIFRvIHJlc3RyaWN0IHRvIHRo ZSBzZXQgb2YgcGFyZW50cyB3aXRoIGF0IGxlYXN0IG9uZSBibHVlLWV5ZWQgY2hpbGQ6DQo+ICsg ICAgICBmcT17IWpvaW4gZnJvbT1wYXJlbnQgdG89bmFtZX1leWVzOmJsdWUNCj4gKyAgLSBUbyBy ZXN0cmljdCB0byB0aGUgc2V0IG9mIGNoaWxkcmVuIHdpdGggYXQgbGVhc3Qgb25lIGJsdWUtZXll ZCBwYXJlbnQ6DQo+ICsgICAgICBmcT17IWpvaW4gZnJvbT1uYW1lIHRvPXBhcmVudH1leWVzOmJs dWUNCj4gKyAgKHlvbmlrKQ0KPiArDQo+ICsqIFNPTFItMTk0MjogQWRkZWQgdGhlIGFiaWxpdHkg dG8gc2VsZWN0IHBvc3RpbmdzIGZvcm1hdCBwZXIgZmllbGRUeXBlIGluIHNjaGVtYS54bWwNCj4g KyAgYXMgd2VsbCBhcyBzdXBwb3J0IGN1c3RvbSBDb2RlY3MgaW4gc29scmNvbmZpZy54bWwuDQo+ ICsgIChzaW1vbncgdmlhIHJtdWlyKQ0KPiArDQo+ICsqIFNPTFItMjEzNjogQm9vbGVhbiB0eXBl IGFkZGVkIHRvIGZ1bmN0aW9uIHF1ZXJpZXMsIGFsb25nIHdpdGgNCj4gKyAgbmV3IGZ1bmN0aW9u cyBleGlzdHMoKSwgaWYoKSwgYW5kKCksIG9yKCksIHhvcigpLCBub3QoKSwgZGVmKCksDQo+ICsg IGFuZCB0cnVlIGFuZCBmYWxzZSBjb25zdGFudHMuICh5b25paykNCj4gKw0KPiArKiBTT0xSLTI0 OTE6IEFkZCBzdXBwb3J0IGZvciB1c2luZyBzcGVsbGNoZWNrIGNvbGxhdGlvbiBpbiBjb25qdW5j dGlvbg0KPiArICB3aXRoIGdyb3VwaW5nLiBOb3RlIHRoYXQgdGhlIG51bWJlciBvZiBoaXRzIHJl dHVybmVkIGZvciBjb2xsYXRpb25zDQo+ICsgIGlzIHRoZSBudW1iZXIgb2YgdW5ncm91cGVkIGhp dHMuICAoSmFtZXMgRHllciB2aWEgcm11aXIpDQo+ICsNCj4gKyogU09MUi0xMjk4OiBSZXR1cm4g RnVuY3Rpb25RdWVyeSBhcyBwc2V1ZG8gZmllbGQuICBUaGUgc29sciAnZmwnIHBhcmFtDQo+ICsg IG5vdyBzdXBwb3J0cyBmdW5jdGlvbnMuICBGb3IgZXhhbXBsZTogIGZsPWlkLHN1bSh4LHkpIC0t IE5PVEU6IG9ubHkNCj4gKyAgZnVuY3Rpb25zIHdpdGggZmFzdCByYW5kb20gYWNjZXNzIGFyZSBy ZWNjb21lbmRlZC4gKHlvbmlrLCByeWFuKQ0KPiArDQo+ICsqIFNPTFItNzA1OiBPcHRpb25hbGx5 IHJldHVybiBzaGFyZCBpbmZvIHdpdGggZWFjaCBkb2N1bWVudCBpbiBkaXN0cmlidXRlZA0KPiAr ICBzZWFyY2guICBVc2UgZmw9aWQsW3NoYXJkXSAgdG8gcmV0dXJuIHRoZSBzaGFyZCB1cmwuICAo cnlhbikNCj4gKw0KPiArKiBTT0xSLTI0MTc6IEFkZCBleHBsYWluIGluZm8gZGlyZWN0bHkgdG8g cmV0dXJuIGRvY3VtZW50cyB1c2luZw0KPiArICA/Zmw9aWQsW2V4cGxhaW5dIChyeWFuKQ0KPiAr DQo+ICsqIFNPTFItMjUzMzogQ29udmVydGVkIFZhbHVlU291cmNlLlZhbHVlU291cmNlU29ydEZp ZWxkIG92ZXIgdG8gbmV3IHJld3JpdGVhYmxlIEx1Y2VuZQ0KPiArICBTb3J0RmllbGRzLiAgVmFs dWVTb3VyY2VTb3J0RmllbGQgaW5zdGFuY2VzIG11c3QgYmUgcmV3cml0dGVuIGJlZm9yZSB0aGV5 IGNhbiBiZSB1c2VkLg0KPiArICBUaGlzIGlzIGRvbmUgYnkgU29sckluZGV4U2VhcmNoZXIgd2hl biBuZWNlc3NhcnkuIChDaHJpcyBNYWxlKS4NCj4gKw0KPiArKiBTT0xSLTIxOTMsIFNPTFItMjU2 NTogWW91IG1heSBub3cgc3BlY2lmeSBhICdzb2Z0JyBjb21taXQgd2hlbiBjb21taXR0aW5nLiBU aGlzIHdpbGwNCj4gKyAgdXNlIEx1Y2VuZSdzIE5SVCBmZWF0dXJlIHRvIGF2b2lkIGd1YXJhbnRl ZWluZyBkb2N1bWVudHMgYXJlIG9uIHN0YWJsZSBzdG9yYWdlIGluIGV4Y2hhbmdlDQo+ICsgIGZv ciBmYXN0ZXIgcmVvcGVuIHRpbWVzLiBUaGVyZSBpcyBhbHNvIGEgbmV3ICdzb2Z0JyBhdXRvY29t bWl0IHRyYWNrZXIgdGhhdCBjYW4gYmUNCj4gKyAgY29uZmlndXJlZC4gKE1hcmsgTWlsbGVyLCBS b2JlcnQgTXVpcikNCj4gKw0KPiArKiBTT0xSLTIzOTk6IFVwZGF0ZWQgU29sciBBZG1pbiBpbnRl cmZhY2UuICBOZXcgbG9vayBhbmQgZmVlbCB3aXRoIHBlciBjb3JlIGFkbWluaXN0cmF0aW9uDQo+ ICsgIGFuZCBtYW55IG5ldyBvcHRpb25zLiAgKFN0ZWZhbiBNYXRoZWlzIHZpYSByeWFuKQ0KPiAr DQo+ICsqIFNPTFItMTAzMjogQ1NWIGhhbmRsZXIgbm93IHN1cHBvcnRzICJsaXRlcmFsLmZpZWxk X25hbWU9dmFsdWUiIHBhcmFtZXRlcnMuDQo+ICsgIChTaW1vbiBSb3NlbnRoYWwsIGVoYXRjaGVy KQ0KPiArDQo+ICsqIFNPTFItMjY1NjogcmVhbHRpbWUtZ2V0LCBlZmZpY2llbnRseSByZXRyaWV2 ZXMgdGhlIGxhdGVzdCBzdG9yZWQgZmllbGRzIGZvciBzcGVjaWZpZWQNCj4gKyAgZG9jdW1lbnRz LCBldmVuIGlmIHRoZXkgYXJlIG5vdCB5ZXQgc2VhcmNoYWJsZSAoaS5lLiB3aXRob3V0IHJlb3Bl bmluZyBhIHNlYXJjaGVyKQ0KPiArICAoeW9uaWspDQo+ICsNCj4gKyogU09MUi0yNzAzOiBBZGRl ZCBzdXBwb3J0IGZvciBMdWNlbmUncyAic3Vycm91bmQiIHF1ZXJ5IHBhcnNlci4gKFNpbW9uIFJv c2VudGhhbCwgZWhhdGNoZXIpDQo+ICsNCj4gKyogU09MUi0yNzU0OiBBZGRlZCBmYWN0b3JpZXMg Zm9yIHNldmVyYWwgcmFua2luZyBhbGdvcml0aG1zOg0KPiArICAgIC0gQk0yNVNpbWlsYXJpdHlG YWN0b3J5OiBPa2FwaSBCTTI1DQo+ICsgICAgLSBERlJTaW1pbGFyaXR5RmFjdG9yeTogRGl2ZXJn ZW5jZSBmcm9tIFJhbmRvbW5lc3MgbW9kZWxzDQo+ICsgICAgLSBJQlNpbWlsYXJpdHlGYWN0b3J5 OiBJbmZvcm1hdGlvbi1iYXNlZCBtb2RlbHMNCj4gKyAgICAtIExNRGlyaWNobGV0U2ltaWxhcml0 eTogTE0gd2l0aCBEaXJpY2hsZXQgc21vb3RoaW5nDQo+ICsgICAgLSBMTUplbGluZWtNZXJjZXJT aW1pbGFyaXR5OiBMTSB3aXRoIEplbGluZWstTWVyY2VyIHNtb290aGluZw0KPiArICAoRGF2aWQg TWFyayBOZW1lc2tleSwgUm9iZXJ0IE11aXIpDQo+ICsNCj4gKyogU09MUi0yMTM0IFRyaWUqIGZp ZWxkcyBzaG91bGQgc3VwcG9ydCBzb3J0TWlzc2luZ0xhc3Q9dHJ1ZSwgYW5kIGRlcHJlY2F0ZSBT b3J0YWJsZSogRmllbGQgVHlwZXMNCj4gKyAgKFJ5YW4gTWNLaW5sZXksIE1pa2UgTWNDYW5kbGVz cywgVXdlIFNjaGluZGxlciwgRXJpY2sgRXJpY2tzb24pDQo+ICsNCj4gKyogU09MUi0yNDM4IGFk ZGVkIE11bHRpVGVybUF3YXJlQ29tcG9uZW50IHRvIHRoZSB2YXJpb3VzIGNsYXNzZXMgdG8gYWxs b3cgYXV0b21hdGljIGxvd2VyY2FzaW5nDQo+ICsgIGZvciBtdWx0aXRlcm0gcXVlcmllcyAod2ls ZGNhcmRzLCByZWdleCwgcHJlZml4LCByYW5nZSwgZXRjKS4gWW91IGNhbiBub3cgb3B0aW9uYWxs eSBzcGVjaWZ5IGENCj4gKyAgIm11bHRpdGVybSIgYW5hbHl6ZXIgaW4gb3VyIHNjaGVtYS54bWws IGJ1dCBTb2xyIHNob3VsZCAiZG8gdGhlIHJpZ2h0IHRoaW5nIiBpZiB5b3UgZG9uJ3QNCj4gKyAg c3BlY2lmeSA8YW5hbHl6ZXIgdHlwZT0ibXVsdGl0ZXJtIj4gKFBldGUgU3R1cmdlIEVyaWNrIEVy aWNrc29uLCBNZW50b3JpbmcgZnJvbSBTZWVsZXkgYW5kIE11aXIpDQo+ICsNCj4gKyogU09MUi0y NDgxOiBBZGQgc3VwcG9ydCBmb3IgY29tbWl0V2l0aGluIGluIERhdGFJbXBvcnRIYW5kbGVyIChT YW1pIFNpcmVuIHZpYSB5b25paykNCj4gKw0KPiArKiBTT0xSLTI5OTI6IEFkZCBzdXBwb3J0IGZv ciBJbmRleFdyaXRlci5wcmVwYXJlQ29tbWl0KCkgdmlhIHByZXBhcmVDb21taXQ9dHJ1ZQ0KPiAr ICBvbiB1cGRhdGUgVVJMcy4gKHlvbmlrKQ0KPiArDQo+ICsqIFNPTFItMjkwNjogQWRkZWQgTEZV IGNhY2hlIG9wdGlvbnMgdG8gU29sci4gKFNoYXduIEhlaXNleSB2aWEgRXJpY2sgRXJpY2tzb24p DQo+ICsNCj4gKyogU09MUi0zMDY5OiBBYmlsaXR5IHRvIGFkZCBvcGVuU2VhcmNoZXI9ZmFsc2Ug dG8gbm90IG9wZW4gYSBzZWFyY2hlciB3aGVuIGRvaW5nDQo+ICsgIGEgaGFyZCBjb21taXQuICBj b21taXRXaXRoaW4gbm93IG9ubHkgaW52b2tlcyBhIHNvZnRDb21taXQuICh5b25paykNCj4gKw0K PiArKiBTT0xSLTI4MDI6IE5ldyBGaWVsZE11dGF0aW5nVXBkYXRlUHJvY2Vzc29yIGFuZCBGYWN0 b3J5IHRvIHNpbXBsaWZ5IHRoZQ0KPiArICBkZXZlbG9wbWVudCBvZiBVcGRhdGVQcm9jZXNzb3Jz IHRoYXQgbW9kaWZ5IGZpZWxkIHZhbHVlcyBvZiBkb2N1bWVudHMgYXMNCj4gKyAgdGhleSBhcmUg aW5kZXhlZC4gQWxzbyBpbmNsdWRlcyBzZXZlcmFsIHVzZWZ1bCBuZXcgaW1wbGVtZW50YXRpb25z Og0KPiArICAgIC0gUmVtb3ZlQmxhbmtGaWVsZFVwZGF0ZVByb2Nlc3NvckZhY3RvcnkNCj4gKyAg ICAtIFRyaW1GaWVsZFVwZGF0ZVByb2Nlc3NvckZhY3RvcnkNCj4gKyAgICAtIEhUTUxTdHJpcEZp ZWxkVXBkYXRlUHJvY2Vzc29yRmFjdG9yeQ0KPiArICAgIC0gUmVnZXhSZXBsYWNlUHJvY2Vzc29y RmFjdG9yeQ0KPiArICAgIC0gRmllbGRMZW5ndGhVcGRhdGVQcm9jZXNzb3JGYWN0b3J5DQo+ICsg ICAgLSBDb25jYXRGaWVsZFVwZGF0ZVByb2Nlc3NvckZhY3RvcnkNCj4gKyAgICAtIEZpcnN0Rmll bGRWYWx1ZVVwZGF0ZVByb2Nlc3NvckZhY3RvcnkNCj4gKyAgICAtIExhc3RGaWVsZFZhbHVlVXBk YXRlUHJvY2Vzc29yRmFjdG9yeQ0KPiArICAgIC0gTWluRmllbGRWYWx1ZVVwZGF0ZVByb2Nlc3Nv ckZhY3RvcnkNCj4gKyAgICAtIE1heEZpZWxkVmFsdWVVcGRhdGVQcm9jZXNzb3JGYWN0b3J5DQo+ ICsgICAgLSBUcnVuY2F0ZUZpZWxkVXBkYXRlUHJvY2Vzc29yRmFjdG9yeQ0KPiArICAgIC0gSWdu b3JlRmllbGRVcGRhdGVQcm9jZXNzb3JGYWN0b3J5DQo+ICsgIChob3NzbWFuLCBqYW5ob3kpDQo+ ICsNCj4gKyogU09MUi0zMTIwOiBPcHRpb25hbCBwb3N0IGZpbHRlcmluZyBmb3Igc3BhdGlhbCBx dWVyaWVzIGJib3ggYW5kIGdlb2ZpbHQNCj4gKyAgZm9yIExhdExvblR5cGUuICh5b25paykNCj4g Kw0KPiArKiBTT0xSLTI0NTk6IEV4cG9zZSBMb2dMZXZlbCBzZWxlY3Rpb24gd2l0aCBhIFJlcXVl c3RIYW5kbGVyIHJhdGhlciB0aGVuIHNlcnZsZXQNCj4gKyAgKFN0ZWZhbiBNYXRoZWlzLCBVcGF5 YXZpcmEsIHJ5YW4pDQo+ICsNCj4gKyogU09MUi0zMTM0OiBJbmNsdWRlIHNoYXJkIGluZm8gaW4g ZGlzdHJpYnV0ZWQgcmVzcG9uc2Ugd2hlbiBzaGFyZHMuaW5mbz10cnVlDQo+ICsgIChSdXNzZWxs IEJsYWNrLCByeWFuKQ0KPiArDQo+ICsqIFNPTFItMjg5ODogU3VwcG9ydCBncm91cGVkIGZhY2V0 aW5nLiAoTWFydGlqbiB2YW4gR3JvbmluZ2VuKQ0KPiArICBBZGRpdGlvbmFsIFdvcms6DQo+ICsg IC0gU09MUi0zNDA2OiBFeHRlbmRlZCBncm91cGVkIGZhY2V0aW5nIHN1cHBvcnQgdG8gZmFjZXQu cXVlcnkgYW5kIGZhY2V0LnJhbmdlIHBhcmFtZXRlcnMuDQo+ICsgICAgICAgICAgICAgICAoRGF2 aWQgQm95Y2h1Y2ssIE1hcnRpam4gdmFuIEdyb25pbmdlbikNCj4gKw0KPiArKiBTT0xSLTI5NDk6 IFF1ZXJ5RWxldmF0aW9uQ29tcG9uZW50IGlzIG5vdyBzdXBwb3J0ZWQgd2l0aCBkaXN0cmlidXRl ZCBzZWFyY2guDQo+ICsgIChNYXJrIE1pbGxlciwgeW9uaWspDQo+ICsNCj4gKyogU09MUi0zMjIx OiBBZGRlZCB0aGUgYWJpbGl0eSB0byBkaXJlY3RseSBjb25maWd1cmUgYXNwZWN0cyBvZiB0aGUg Y29uY3VycmVuY3kNCj4gKyBhbmQgdGhyZWFkLXBvb2xpbmcgdXNlZCB3aXRoaW4gZGlzdHJpYnV0 ZWQgc2VhcmNoIGluIHNvbHIuIFRoaXMgYWxsb3dzIGZvciBmaW5lcg0KPiArIGdyYWluZWQgY29u dHJvbGxlZCBhbmQgY2FuIGJlIHR1bmVkIGJ5IGVuZCB1c2VycyB0byB0YXJnZXQgdGhlaXIgb3du IHNwZWNpZmljDQo+ICsgcmVxdWlyZW1lbnRzLiBUaGlzIGJ1aWxkcyBvbiB0aGUgd29yayBvZiB0 aGUgSHR0cENvbW1Db21wb25lbnQgYW5kIHVzZXMgdGhlIHNhbWUgY29uZmlndXJhdGlvbg0KPiAr IGJsb2NrIHRvIGNvbmZpZ3VyZSB0aGUgdGhyZWFkIHBvb2wuIFRoZSBkZWZhdWx0IGNvbmZpZ3Vy YXRpb24gaGFzDQo+ICsgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHNvbHIgMy41LCBmYXZvdXJpbmcg dGhyb3VnaHB1dCBvdmVyIGxhdGVuY3kuIE1vcmUNCj4gKyBpbmZvcm1hdGlvbiBjYW4gYmUgZm91 bmQgb24gdGhlIHdpa2kgKGh0dHA6Ly93aWtpLmFwYWNoZS5vcmcvc29sci9Tb2xyQ29uZmlnWG1s KSAoR3JlZyBCb3d5ZXIpDQo+ICsNCj4gKyogU09MUi0zMjc4OiBOZWdhdGl2ZSBib29zdCBzdXBw b3J0IHRvIHRoZSBFeHRlbmRlZCBEaXNtYXggUXVlcnkgUGFyc2VyIEJvb3N0IFF1ZXJ5IChicSku DQo+ICsgIChKYW1lcyBEeWVyKQ0KPiArDQo+ICsqIFNPTFItMzI1NTogT3BlbkV4Y2hhbmdlUmF0 ZXMuT3JnIEV4Y2hhbmdlIFJhdGUgUHJvdmlkZXIgZm9yIEN1cnJlbmN5RmllbGQgKGphbmhveSkN Cj4gKw0KPiArKiBTT0xSLTMzNTg6IExvZ2dpbmcgZXZlbnRzIGFyZSBjYXB0dXJlZCBhbmQgYXZh aWxhYmxlIGZyb20gdGhlIC9hZG1pbi9sb2dnaW5nDQo+ICsgIHJlcXVlc3QgaGFuZGxlci4gKHJ5 YW4pDQo+ICsNCj4gKyogU09MUi0xNTM1OiBQcmVBbmFseXplZEZpZWxkIHR5cGUgcHJvdmlkZXMg YSBmdW5jdGlvbmFsaXR5IHRvIGluZGV4IChhbmQgb3B0aW9uYWxseSBzdG9yZSkNCj4gKyAgZmll bGQgY29udGVudCB0aGF0IHdhcyBhbHJlYWR5IHByb2Nlc3NlZCBhbmQgc3BsaXQgaW50byB0b2tl bnMgdXNpbmcgc29tZSBleHRlcm5hbCBwcm9jZXNzaW5nDQo+ICsgIGNoYWluLiBTZXJpYWxpemF0 aW9uIGZvcm1hdCBpcyBwbHVnZ2FibGUsIGFuZCBkZWZhdWx0cyB0byBKU09OLiAoYWIpDQo+ICsN Cj4gKyogU09MUi0zMzYzOiBDb25zb2xpZGF0ZWQgRXhjZXB0aW9ucyBpbiBBbmFseXNpcyBGYWN0 b3JpZXMgc28gdGhleSBvbmx5IHRocm93DQo+ICsgIEluaXRhbGl6YXRpb25FeGNlcHRpb25zIChD aHJpcyBNYWxlKQ0KPiArDQo+ICsqIFNPTFItMjY5MDogTmV3IHN1cHBvcnQgZm9yIGEgIlRaIiBy ZXF1ZXN0IHBhcmFtIHdoaWNoIG92ZXJyaWRlcyB0aGUgVGltZVpvbmUNCj4gKyAgdXNlZCB3aGVu IHJvdW5kaW5nIERhdGVzIGluIERhdGVNYXRoIGV4cHJlc3Npb25zIGZvciB0aGUgZW50aXJlIHJl cXVlc3QNCj4gKyAgKGFsbCBkYXRlIHJhbmdlIHF1ZXJpZXMgYW5kIGRhdGUgZmFjZXRpbmcgaXMg YWZmZWN0ZWQpLiAgVGhlIGRlZmF1bHQgVFoNCj4gKyAgaXMgc3RpbGwgVVRDLiAgKERhdmlkIFNj aGxvdGZlbGR0LCBob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFItMzQwMjogQW5hbHlzaXMgRmFjdG9y aWVzIGFyZSBub3cgY29uZmlndXJlZCB3aXRoIHRoZWlyIEx1Y2VuZSBWZXJzaW9uDQo+ICsgIHRo cm93IHNldEx1Y2VuZU1hdGNoVmVyc2lvbiwgcmF0aGVyIHRoYW4gdGhyb3VnaCB0aGUgTWFwIHBh c3NlZCB0byBpbml0Lg0KPiArICBQYXJzaW5nIGFuZCBzaW1wbGUgZXJyb3IgY2hlY2tpbmcgZm9y IHRoZSBWZXJzaW9uIGlzIG5vdyBkb25lIGluc2lkZQ0KPiArICB0aGUgY29kZSB0aGF0IGNyZWF0 ZXMgdGhlIEFuYWx5c2lzIEZhY3Rvcmllcy4gKENocmlzIE1hbGUpDQo+ICsNCj4gKyogU09MUi0z MTc4OiBPcHRpbWlzdGljIGxvY2tpbmcuICBJZiBhIF92ZXJzaW9uXyBpcyBwcm92aWRlZCB3aXRo IGFuIHVwZGF0ZQ0KPiArICB0aGF0IGRvZXMgbm90IG1hdGNoIHRoZSB2ZXJzaW9uIGluIHRoZSBp bmRleCwgYW4gSFRUUCA0MDkgZXJyb3IgKENvbmZsaWN0KQ0KPiArICB3aWxsIHJlc3VsdC4gIChQ ZXIgU3RlZmZlbnNlbiwgeW9uaWspDQo+ICsNCj4gKyogU09MUi0xMzk6IFVwZGF0ZWFibGUgZG9j dW1lbnRzLiAgSlNPTiBFeGFtcGxlOg0KPiArICB7ImlkIjoibXlkb2MiLCAiZjEiOnsic2V0Ijox MH0sICJmMiI6eyJhZGQiOjIwfX0gIHdpbGwgcmVzdWx0IGluIGZpZWxkICJmMSINCj4gKyAgYmVp bmcgc2V0IHRvIDEwLCAiZjIiIGhhdmluZyBhbiBhZGRpdGlvbmFsIHZhbHVlIG9mIDIwIGFkZGVk LCBhbmQgYWxsDQo+ICsgIG90aGVyIGV4aXN0aW5nIGZpZWxkcyB1bmNoYW5nZWQuICBBbGwgc291 cmNlIGZpZWxkcyBtdXN0IGJlIHN0b3JlZCBmb3INCj4gKyAgdGhpcyBmZWF0dXJlIHRvIHdvcmsg Y29ycmVjdGx5LiAgKFJ5YW4gTWNLaW5sZXksIEVyaWsgSGF0Y2hlciwgeW9uaWspDQo+ICsNCj4g KyogU09MUi0yODU3OiBTdXBwb3J0IFhNTCxDU1YsSlNPTiwgYW5kIGphdmFiaW4gaW4gYSBzaW5n bGUgUmVxdWVzdEhhbmRsZXIgYW5kDQo+ICsgIGNob29zZSB0aGUgY29ycmVjdCBDb250ZW50U3Ry ZWFtTG9hZGVyIGJhc2VkIG9uIENvbnRlbnQtVHlwZSBoZWFkZXIuICBUaGlzDQo+ICsgIGFsc28g ZGVwcmVjYXRlcyB0aGUgZXhpc3RpbmcgW1htbCxKU09OLENTVixCaW5hcnksWHNsdF1VcGRhdGVS ZXF1ZXN0SGFuZGxlci4NCj4gKyAgKHJ5YW4pDQo+ICsNCj4gKyogU09MUi0yNTg1OiBDb250ZXh0 LVNlbnNpdGl2ZSBTcGVsbGluZyBTdWdnZXN0aW9ucyAmIENvbGxhdGlvbnMuICBUaGlzIGFkZHMg c3VwcG9ydA0KPiArICBmb3IgdGhlICJzcGVsbGNoZWNrLmFsdGVybmF0aXZlVGVybUNvdW50IiAm ICJzcGVsbGNoZWNrLm1heFJlc3VsdHNGb3JTdWdnZXN0Ig0KPiArICBwYXJhbWV0ZXJzLCBsZXR0 aW5nIHVzZXJzIHJlY2VpdmUgc3VnZ2VzdGlvbnMgZXZlbiB3aGVuIGFsbCB0aGUgcXVlcmllZCB0 ZXJtcw0KPiArICBleGlzdCBpbiB0aGUgZGljdGlvbmFyeS4gIFRoaXMgZGlmZmVycyBmcm9tICJz cGVsbGNoZWNrLm9ubHlNb3JlUG9wdWxhciIgaW4NCj4gKyAgdGhhdCB0aGUgc3VnZ2VzdGlvbnMg bmVlZCBub3QgY29uc2lzdCBlbnRpcmVseSBvZiB0ZXJtcyB3aXRoIGEgZ3JlYXRlciBkb2N1bWVu dA0KPiArICBmcmVxdWVuY3kgdGhhbiB0aGUgcXVlcmllZCB0ZXJtcy4gKEphbWVzIER5ZXIpDQo+ ICsNCj4gKyogU09MUi0yMDU4OiBFZGlzbWF4IHF1ZXJ5IHBhcnNlciB0byBhbGxvdyAicGhyYXNl IHNsb3AiIHRvIGJlIHNwZWNpZmllZCBwZXItZmllbGQNCj4gKyAgb24gdGhlIHBmL3BmMi9wZjMg cGFyYW1ldGVycyB1c2luZyBvcHRpb25hbCAiRmllbGROYW1lfnNsb3BeYm9vc3QiIHN5bnRheC4g IFRoZQ0KPiArICBwcmlvciAiRmllbGROYW1lXmJvb3N0IiBzeW50YXggaXMgc3RpbGwgYWNjZXB0 ZWQuICBJbiBzdWNoIGNhc2VzIHRoZSB2YWx1ZSBvbiB0aGUNCj4gKyAgInBzIiBwYXJhbWV0ZXIg c2VydmVzIGFzIHRoZSBkZWZhdWx0IHNsb3AuICAoUm9uIE1heWVyIHZpYSBKYW1lcyBEeWVyKQ0K PiArDQo+ICsqIFNPTFItMzQ5NTogTmV3IFVwZGF0ZVByb2Nlc3NvcnMgaGF2ZSBiZWVuIGFkZGVk IHRvIGNyZWF0ZSBkZWZhdWx0IHZhbHVlcyBmb3INCj4gKyAgY29uZmlndXJlZCBmaWVsZHMuICBU aGVzZSB3b3JrcyBzaW1pbGFybHkgdG8gdGhlIDxmaWVsZCBkZWZhdWx0PSIuLi4iLz4NCj4gKyAg b3B0aW9uIGluIHNjaGVtYS54bWwsIGJ1dCBhcmUgYXBwbGllZCBpbiB0aGUgVXBkYXRlUHJvY2Vz c29yQ2hhaW4sIHNvIHRoZXkNCj4gKyAgbWF5IGJlIHVzZWQgcHJpb3IgdG8gb3RoZXIgVXBkYXRl UHJvY2Vzc29ycywgb3IgdG8gZ2VuZXJhdGUgYSB1bmlxdWVLZXkgZmllbGQNCj4gKyAgdmFsdWUg d2hlbiB1c2luZyB0aGUgRGlzdHJpYnV0ZWRVcGRhdGVQcm9jZXNzb3IgKGllOiBTb2xyQ2xvdWQp DQo+ICsgICAgVGltZXN0YW1wVXBkYXRlUHJvY2Vzc29yRmFjdG9yeQ0KPiArICAgIFVVSURVcGRh dGVQcm9jZXNzb3JGYWN0b3J5DQo+ICsgICAgRGVmYXVsdFZhbHVlVXBkYXRlUHJvY2Vzc29yRmFj dG9yeQ0KPiArICAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTI5OTM6IEFkZCBXb3JkQnJlYWtT b2xyU3BlbGxDaGVja2VyIHRvIG9mZmVyIHN1Z2dlc3Rpb25zIGJ5IGNvbWJpbmluZyBhZGphY2Vu dA0KPiArICBxdWVyeSB0ZXJtcyBhbmQvb3IgYnJlYWtpbmcgdGVybXMgaW50byBtdWx0aXBsZSB3 b3Jkcy4gIFRoaXMgc3BlbGxjaGVja2VyIGNhbiBiZQ0KPiArICBjb25maWd1cmVkIHdpdGggYSB0 cmFkaXRpb25hbCBjaGVja2VyIChpZTogRGlyZWN0U29sclNwZWxsQ2hlY2tlcikuICBUaGUgcmVz dWx0cw0KPiArICBhcmUgY29tYmluZWQgYW5kIGNvbGxhdGlvbnMgY2FuIGNvbnRhaW4gYSBtaXgg b2YgY29ycmVjdGlvbnMgZnJvbSBib3RoIHNwZWxsY2hlY2tlcnMuDQo+ICsgIChKYW1lcyBEeWVy KQ0KPiArDQo+ICsqIFNPTFItMzUwODogU2ltcGxpZnkgSlNPTiB1cGRhdGUgZm9ybWF0IGZvciBk ZWxldGVzIGFzIHdlbGwgYXMgYWxsb3cNCj4gKyAgdmVyc2lvbiBzcGVjaWZpY2F0aW9uIGZvciBv cHRpbWlzdGljIGxvY2tpbmcuICBFeGFtcGxlczoNCj4gKyAgICAtIHsiZGVsZXRlIjoibXlpZCJ9 DQo+ICsgICAgLSB7ImRlbGV0ZSI6WyJpZDEiLCJpZDIiLCJpZDMiXX0NCj4gKyAgICAtIHsiZGVs ZXRlIjp7ImlkIjoibXlpZCIsICJfdmVyc2lvbl8iOjEyMzQ1Njc4OX19DQo+ICsgICh5b25paykN Cj4gKw0KPiArKiBTT0xSLTMyMTE6ICBBbGxvdyBwYXJhbWV0ZXIgb3ZlcnJpZGVzIGluIGNvbmp1 bmN0aW9uIHdpdGggInNwZWxsY2hlY2subWF4Q29sbGF0aW9uVHJpZXMiLg0KPiArICBUbyBkbyBz bywgdXNlIHBhcmFtZXRlcnMgc3RhcnRpbmcgd2l0aCAic3BlbGxjaGVjay5jb2xsYXRlUGFyYW0u IiAgRm9yIGluc3RhbmNlLCB0bw0KPiArICBvdmVycmlkZSB0aGUgIm1tIiBwYXJhbWV0ZXIsIHNw ZWNpZnkgInNwZWxsY2hlY2suY29sbGF0ZVBhcmFtLm1tIi4gIFRoaXMgaXMgaGVscGZ1bA0KPiAr ICBpbiBjYXNlcyB3aGVyZSB0ZXN0aW5nIHNwZWxsY2hlY2sgY29sbGF0aW9ucyBmb3IgcmVzdWx0 IGNvdW50cyBzaG91bGQgdXNlIGRpZmZlcmVudA0KPiArICBwYXJhbWV0ZXJzIGZyb20gdGhlIG1h aW4gcXVlcnkgKEphbWVzIER5ZXIpDQo+ICsNCj4gKyogU09MUi0yNTk5OiBDbG9uZUZpZWxkVXBk YXRlUHJvY2Vzc29yRmFjdG9yeSBwcm92aWRlcyBzaW1pbGFyIGZ1bmN0aW9uYWxpdHkNCj4gKyAg dG8gc2NoZW1hLnhtbCdzIDxjb3B5RmllbGQvPiBkZWNsYXJhdGlvbiBidXQgYXMgYW4gdXBkYXRl IHByb2Nlc3NvciB0aGF0IGNhbg0KPiArICBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHByb2Nlc3Nv cnMgaW4gYW55IG9yZGVyLiAoSmFuIEjDg8K4eWRhaGwgJiBob3NzbWFuKQ0KPiArDQo+ICsqIFNP TFItMzM1MTogZURpc21heDogcHMyIGFuZCBwczMgcGFyYW1zIChqYW5ob3kpDQo+ICsNCj4gKyog U09MUi0zNTQyOiBBZGQgV2VpZ2h0ZWRGcmFnTGlzdEJ1aWxkZXIgZm9yIEZWSCBhbmQgc2V0IGl0 IHRvIGRlZmF1bHQgZnJhZ0xpc3RCdWlsZGVyDQo+ICsgIGluIGV4YW1wbGUgc29scmNvbmZpZy54 bWwuIChTZWJhc3RpYW4gTHV0emUsIGtvamkpDQo+ICsNCj4gKyogU09MUi0yMzk2OiBBZGQgSUNV Q29sbGF0aW9uRmllbGQgdG8gY29udHJpYi9hbmFseXNpcy1leHRyYXMsIHdoaWNoIGlzIG11Y2gN Cj4gKyAgbW9yZSBlZmZpY2llbnQgdGhhbiB0aGUgU29sciAzLnggSUNVQ29sbGF0aW9uS2V5Rmls dGVyRmFjdG9yeSwgYW5kIGFsc28NCj4gKyAgc3VwcG9ydHMgTG9jYWxlLXNlbnNpdGl2ZSByYW5n ZSBxdWVyaWVzLiAgKHJtdWlyKQ0KPiArDQo+ICsNCj4gK09wdGltaXphdGlvbnMNCj4gKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArKiBTT0xSLTE4NzU6IFBlci1zZWdtZW50IGZpZWxk IGZhY2V0aW5nIGZvciBzaW5nbGUgdmFsdWVkIHN0cmluZyBmaWVsZHMuDQo+ICsgIEVuYWJsZSB3 aXRoIGZhY2V0Lm1ldGhvZD1mY3MsIGNvbnRyb2wgdGhlIG51bWJlciBvZiB0aHJlYWRzIHVzZWQg d2l0aA0KPiArICB0aGUgInRocmVhZHMiIGxvY2FsIHBhcmFtIG9uIHRoZSBmYWNldC5maWVsZCBw YXJhbS4gIFRoaXMgYWxnb3JpdGhtIHdpbGwNCj4gKyAgb25seSBiZSBmYXN0ZXIgaW4gdGhlIHBy ZXNlbmNlIG9mIHJhcGlkIGluZGV4IGNoYW5nZXMuICAoeW9uaWspDQo+ICsNCj4gKyogU09MUi0x OTA0OiBXaGVuIGZhY2V0LmVudW0uY2FjaGUubWluRGYgPiAwIGFuZCB0aGUgYmFzZSBkb2Mgc2V0 IGlzIGENCj4gKyAgU29ydGVkSW50U2V0LCBjb252ZXJ0IHRvIEhhc2hEb2NTZXQgZm9yIGJldHRl ciBwZXJmb3JtYW5jZS4gKHlvbmlrKQ0KPiArDQo+ICsqIFNPTFItMjA5MjogU3BlZWQgdXAgc2lu Z2xlLXZhbHVlZCBhbmQgbXVsdGktdmFsdWVkICJmYyIgZmFjZXRpbmcuIFR5cGljYWwNCj4gKyAg aW1wcm92ZW1lbnQgaXMgNSUsIGJ1dCBjYW4gYmUgbXVjaCBncmVhdGVyICh1cCB0byAxMHggZmFz dGVyKSB3aGVuIGZhY2V0Lm9mZnNldA0KPiArICBpcyB2ZXJ5IGxhcmdlIChkZWVwIHBhZ2luZyku ICh5b25paykNCj4gKw0KPiArKiBTT0xSLTIxOTMsIFNPTFItMjU2NTogVGhlIGRlZmF1bHQgU29s ciB1cGRhdGUgaGFuZGxlciBoYXMgYmVlbiBpbXByb3ZlZCBzbw0KPiArICB0aGF0IGl0IHVzZXMg ZmV3ZXIgbG9ja3MsIGtlZXBzIHRoZSBJbmRleFdyaXRlciBvcGVuIHJhdGhlciB0aGFuIGNsb3Np bmcgaXQNCj4gKyAgb24gZWFjaCBjb21taXQgKGllIGNvbW1pdHMgbm8gbG9uZ2VyIHdhaXQgZm9y IGJhY2tncm91bmQgbWVyZ2VzIHRvIGNvbXBsZXRlKSwNCj4gKyAgd29ya3Mgd2l0aCBTb2xyQ29y ZSB0byBwcm92aWRlIGZhc3RlciAnc29mdCcgY29tbWl0cywgYW5kIGhhcyBhbiBpbXByb3ZlZCBB UEkNCj4gKyAgdGhhdCByZXF1aXJlcyBsZXNzIGluc3RhbmNlb2Ygc3BlY2lhbCBjYXNpbmcuIChN YXJrIE1pbGxlciwgUm9iZXJ0IE11aXIpDQo+ICsgIEFkZGl0aW9uYWwgV29yazoNCj4gKyAgLSBT T0xSLTI2OTc6IGNvbW1pdCBhbmQgYXV0b2NvbW1pdCBvcGVyYXRpb25zIGRvbid0IHJlc2V0DQo+ ICsgICAgRGlyZWN0VXBkYXRlSGFuZGxlcjIubnVtRG9jc1BlbmRpbmcgc3RhdHMgYXR0cmlidXRl Lg0KPiArICAgIChBbGV4ZXkgU2VyYmEsIE1hcmsgTWlsbGVyKQ0KPiArDQo+ICsqIFNPTFItMjk1 MDogVGhlIFF1ZXJ5RWxldmF0aW9uQ29tcG9uZW50IG5vdyBhdm9pZHMgdXNpbmcgdGhlIEZpZWxk Q2FjaGUgYW5kIGxvb2tpbmcgdXANCj4gKyAgZXZlcnkgZG9jdW1lbnQgaWQgKGdzaW5nZXJzLCB5 b25paykNCj4gKw0KPiArQnVnIEZpeGVzDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsq IFNPTFItMzEzOTogTWFrZSBDb25jdXJyZW50VXBkYXRlU29sclNlcnZlciBzZW5kIFVwZGF0ZVJl cXVlc3QuZ2V0UGFyYW1zKCkNCj4gKyAgYXMgSFRUUCByZXF1ZXN0IHBhcmFtcyAoc2lyZW4pDQo+ ICsNCj4gKyogU09MUi0zMTY1OiBDYW5ub3QgdXNlIERJSCBpbiBTb2xyY2xvdWQgKyBab29rZWVw ZXIgKEFsZXhleSBTZXJiYSwNCj4gKyAgTWFyayBNaWxsZXIsIHNpcmVuKQ0KPiArDQo+ICsqIFNP TFItMzA2ODogT2NjYXNpb25hbCBOUEUgaW4gVGhyZWFkRHVtcEhhbmRsZXIgKHNpcmVuKQ0KPiAr DQo+ICsqIFNPTFItMjc2MjogRlNUTG9va3VwIGNvdWxkIHJldHVybiBkdXBsaWNhdGUgcmVzdWx0 cyBvciBvbmUgcmVzdWx0cyBsZXNzDQo+ICsgIHRoYW4gcmVxdWVzdGVkLiAoRGF2aWQgU21pbGV5 LCBEYXdpZCBXZWlzcykNCj4gKw0KPiArKiBTT0xSLTI3NDE6IEJ1Z3MgaW4gZmFjZXQgcmFuZ2Ug ZGlzcGxheSBpbiB0cnVuayAoamFuaG95KQ0KPiArDQo+ICsqIFNPTFItMTkwODogRml4ZWQgU2ln bmF0dXJlVXBkYXRlUHJvY2Vzc29yIHRvIGZhaWwgdG8gaW5pdGlhbGl6ZSBvbg0KPiArICBpbnZh bGlkIGNvbmZpZy4gIFNwZWNpZmljYWxseTogYSBzaWduYXR1cmVGaWVsZCB0aGF0IGRvZXMgbm90 IGV4aXN0LA0KPiArICBvciBvdmVyd3JpdGVEdXBlcz10cnVlIHdpdGggYSBzaWduYXR1cmVGaWVs ZCB0aGF0IGlzIG5vdCBpbmRleGVkLg0KPiArICAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTE4 MjQ6IEluZGV4U2NoZW1hIHdpbGwgbm93IGZhaWwgdG8gaW5pdGlhbGl6ZSBpZiB0aGVyZSBpcyBh DQo+ICsgIHByb2JsZW0gaW5pdGlhbGl6aW5nIG9uZSBvZiB0aGUgZmllbGRzIG9yIGZpZWxkIHR5 cGVzLiAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTE5Mjg6IFRlcm1zQ29tcG9uZW50IGRpZG4n dCBjb3JyZWN0bHkgYnJlYWsgdGllcyBmb3Igbm9uLXRleHQNCj4gKyAgZmllbGRzIHNvcnRlZCBi eSBjb3VudC4gKHlvbmlrKQ0KPiArDQo+ICsqIFNPTFItMjEwNzogTW9yZUxpa2VUaGlzSGFuZGxl ciBkb2Vzbid0IHdvcmsgd2l0aCBhbHRlcm5hdGUgcXBhcnNlcnMuICh5b25paykNCj4gKw0KPiAr KiBTT0xSLTIxMDg6IEZpeGVkIGZhbHNlIHBvc2l0aXZlcyB3aGVuIHVzaW5nIHdpbGRjYXJkIHF1 ZXJpZXMgb24gZmllbGRzIHdpdGggcmV2ZXJzZWQNCj4gKyAgd2lsZGNhcmQgc3VwcG9ydC4gRm9y IGV4YW1wbGUsIGEgcXVlcnkgb2YgKnplbW9nKiB3b3VsZCBtYXRjaCBkb2N1bWVudHMgdGhhdCBj b250YWluDQo+ICsgICdnb21leicuICAoTGFuZG9uIEt1aG4gdmlhIFJvYmVydCBNdWlyKQ0KPiAr DQo+ICsqIFNPTFItMTk2MjogU29sckNvcmUjaW5pdEluZGV4IHNob3VsZCBub3QgdXNlIGEgbWl4 IG9mIGluZGV4UGF0aCBhbmQgbmV3SW5kZXhQYXRoIChNYXJrIE1pbGxlcikNCj4gKw0KPiArKiBT T0xSLTIyNzU6IGZpeCBEaXNNYXggJ21tJyBwYXJzaW5nIHRvIGJlIHRvbGVyYW50IG9mIHdoaXRl c3BhY2UNCj4gKyAgKEVyaWNrIEVyaWNrc29uIHZpYSBob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFIt MjE5MywgU09MUi0yNTY1LCBTT0xSLTI2NTE6IFNvbHJDb3JlcyBub3cgcHJvcGVybHkgc2hhcmUg SW5kZXhXcml0ZXJzIGFjcm9zcyBTb2xyQ29yZSByZWxvYWRzLg0KPiArICAoTWFyayBNaWxsZXIs IFJvYmVydCBNdWlyKQ0KPiArICBBZGRpdGlvbmFsIFdvcms6DQo+ICsgIC0gU09MUi0yNzA1OiBP biByZWxvYWQsIEluZGV4V3JpdGVyUHJvdmlkZXIgaG9sZHMgb250byB0aGUgaW5pdGlhbCBTb2xy Q29yZSBpdCB3YXMgY3JlYXRlZCB3aXRoLg0KPiArICAgIChZdXJ5IEthdHMsIE1hcmsgTWlsbGVy KQ0KPiArDQo+ICsqIFNPTFItMjY4MjogUmVtb3ZlIGFkZEV4Y2VwdGlvbigpIGluIFNpbXBsZUZh Y2V0LiBGYWNldENvbXBvbmVudCBubyBsb25nZXIgY2F0Y2hlcyBhbmQgZW1iZWRzDQo+ICsgIGV4 Y2VwdGlvbnMgb2NjdXJyZWQgZHVyaW5nIGZhY2V0IHByb2Nlc3NpbmcsIGl0IHRocm93cyBIVFRQ IDQwMCBvciA1MDAgZXhjZXB0aW9ucyBpbnN0ZWFkLiAoa29qaSkNCj4gKw0KPiArKiBTT0xSLTI2 NTQ6IERpcmVjdG9yeXMgdXNlZCBieSBhIFNvbHJDb3JlIGFyZSBub3cgY2xvc2VkIHdoZW4gdGhl eSBhcmUgbm8gbG9uZ2VyIHVzZWQuDQo+ICsgIChNYXJrIE1pbGxlcikNCj4gKw0KPiArKiBTT0xS LTI4NTQ6IE5vdyBsb2FkIFVSTCBjb250ZW50IHN0cmVhbSBkYXRhICh2aWEgc3RyZWFtLnVybCkg d2hlbiBjYWxsZWQgZm9yIGR1cmluZyByZXF1ZXN0IGhhbmRsaW5nLA0KPiArICByYXRoZXIgdGhh biBsb2FkaW5nIFVSTCBjb250ZW50IHN0cmVhbXMgYXV0b21hdGljYWxseSByZWdhcmRsZXNzIG9m IHVzZS4NCj4gKyAgKERhdmlkIFNtaWxleSBhbmQgUnlhbiBNY0tpbmxleSB2aWEgZWhhdGNoZXIp DQo+ICsNCj4gKyogU09MUi0yODI5OiBGaXggcHJvYmxlbSB3aXRoIGZhbHNlLXBvc2l0aXZlcyBk dWUgdG8gaW5jb3JyZWN0DQo+ICsgIGVxdWFscyBtZXRob2RzLiAoWW9uaWsgU2VlbGV5LCBIb3Nz bWFuLCBFcmljayBFcmlja3Nvbi4NCj4gKyAgTWFyYyBUaW5uZW1leWVyIGNhdWdodCB0aGUgYnVn KQ0KPiArDQo+ICsqIFNPTFItMjg0ODogUmVtb3ZlZCAnaW5zdGFuY2VvZiBBYnN0cmFjdEx1Y2Vu ZVNwZWxsQ2hlY2tlcicgaGFja3MgZnJvbSBkaXN0cmlidXRlZCBzcGVsbGNoZWNraW5nIGNvZGUs DQo+ICsgIGFuZCBhZGRlZCBhIG1lcmdlKCkgbWV0aG9kIHRvIFNvbHJTcGVsbENoZWNrZXIgaW5z dGVhZC4gUHJldmlvdXNseSBpZiB5b3UgZXh0ZW5kZWQgU29sclNwZWxsQ2hlY2tlcg0KPiArICB5 b3VyIHNwZWxsY2hlY2tlciB3b3VsZCBub3Qgd29yayBpbiBkaXN0cmlidXRlZCBmYXNoaW9uLiAg KEphbWVzIER5ZXIgdmlhIHJtdWlyKQ0KPiArDQo+ICsqIFNPTFItMjUwOTogU3RyaW5nSW5kZXhP dXRPZkJvdW5kc0V4Y2VwdGlvbiBpbiB0aGUgc3BlbGxjaGVja2VyIGNvbGxhdGUgd2hlbiB0aGUg dGVybSBjb250YWlucw0KPiArICBhIGh5cGhlbi4gKFRob21hcyBHYW1iaWVyIGNhdWdodCB0aGUg YnVnLCBTdGVmZmVuIEdvZHNrZXNlbiBkaWQgdGhlIHBhdGNoLCB2aWEgRXJpY2sgRXJpY2tzb24p DQo+ICsNCj4gKyogU09MUi0xNzMwOiBNYWRlIGl0IGNsZWFyZXIgd2hlbiBhIGNvcmUgZmFpbGVk IHRvIGxvYWQgYXMgd2VsbCBhcyBiZXR0ZXIgbG9nZ2luZyB3aGVuIHRoZQ0KPiArICBRdWVyeUVs ZXZhdGlvbkNvbXBvbmVudCBmYWlscyB0byBwcm9wZXJseSBpbml0aWFsaXplIChnc2luZ2VycykN Cj4gKw0KPiArKiBTT0xSLTE1MjA6IFF1ZXJ5RWxldmF0aW9uQ29tcG9uZW50IG5vdyBzdXBwb3J0 cyBub24tc3RyaW5nIGlkcyAoZ3NpbmdlcnMpDQo+ICsNCj4gKyogU09MUi0zMDM3OiBXaGVuIHVz aW5nIGJpbmFyeSBmb3JtYXQgaW4gc29scmogdGhlIGNvZGVjIHNjcmV3cyB1cCBwYXJhbWV0ZXJz DQo+ICsgIChTYW1pIFNpcmVuLCBKw4PCtnJnIE1haWVyICB2aWEgeW9uaWspDQo+ICsNCj4gKyog U09MUi0zMDYyOiBBIGpvaW4gaW4gdGhlIG1haW4gcXVlcnkgd2FzIG5vdCByZXNwZWN0aW5nIGFu eSBmaWx0ZXJzIHB1c2hlZA0KPiArICBkb3duIHRvIGl0IHZpYSBhY2NlcHREb2NzIHNpbmNlIExV Q0VORS0xNTM2LiAoTWlrZSBIdWdvLCB5b25paykNCj4gKw0KPiArKiBTT0xSLTMyMTQ6IElmIHlv dSB1c2UgbXVsdGlwbGUgZmwgZW50cmllcyByYXRoZXIgdGhhbiBhIGNvbW1hIHNlcGFyYXRlZCBs aXN0LCBhbGwgYnV0IHRoZSBmaXJzdA0KPiArICBlbnRyeSBjYW4gYmUgaWdub3JlZCBpZiB5b3Ug YXJlIHVzaW5nIGRpc3RyaWJ1dGVkIHNlYXJjaC4gKFRvbWFzIEZlcm5hbmRleiBMb2JiZSB2aWEg TWFyayBNaWxsZXIpDQo+ICsNCj4gKyogU09MUi0zMzUyOiBlRGlzbWF4OiBwZjIgc2hvdWxkIGtp Y2sgaW4gZm9yIGEgcXVlcnkgd2l0aCAyIHRlcm1zIChqYW5ob3kpDQo+ICsNCj4gKyogU09MUi0z MzYxOiBSZXBsaWNhdGlvbkhhbmRsZXIgIm1heE51bWJlck9mQmFja3VwcyIgZG9lc24ndCB3b3Jr IGlmIGJhY2t1cHMgYXJlIHRyaWdnZXJlZCBvbiBjb21taXQNCj4gKyAgKEphbWVzIER5ZXIsIFRv bWFzIEZlcm5hbmRleiBMb2JiZSkNCj4gKw0KPiArKiBTT0xSLTI2MDU6IGZpeGVkIHRyYWNraW5n IG9mIHRoZSAnZGVmYXVsdENvcmVOYW1lJyBpbiBDb3JlQ29udGFpbmVyIHNvIHRoYXQNCj4gKyAg Q29yZUFkbWluSGFuZGxlciBjb3VsZCByZXR1cm4gY29uc2lzdGVudCBpbmZvcm1hdGlvbiByZWdh cmRsZXNzIG9mIHdldGhlcg0KPiArICB0aGVyZSBpcyBhIGEgZGVmYXVsdCBjb3JlIG5hbWUgb3Ig bm90LiAoc3RlZmZrZXMsIGhvc3NtYW4pDQo+ICsNCj4gKyogU09MUi0zMzcwOiBmaXhlZCBDU1ZS ZXNwb25zZVdyaXRlciB0byByZXNwZWN0IGdsb2JzIGluIHRoZSAnZmwnIHBhcmFtDQo+ICsgIChL ZWl0aCBGbGlnZyB2aWEgaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTM0MzY6IEdyb3VwIGNvdW50 IGluY29ycmVjdCB3aGVuIG5vdCBhbGwgc2hhcmRzIGFyZSBxdWVyaWVkIGluIHRoZSBzZWNvbmQN Cj4gKyAgcGFzcy4gKEZyYW5jb2lzIFBlcnJvbiwgTWFydGlqbiB2YW4gR3JvbmluZ2VuKQ0KPiAr DQo+ICsqIFNPTFItMzQ1NDogRXhjZXB0aW9uIHdoZW4gdXNpbmcgcmVzdWx0IGdyb3VwaW5nIHdp dGggbWFpbj10cnVlIGFuZCB1c2luZw0KPiArICB3dD1qYXZhYmluLiAoTHVkb3ZpYyBCb3V0cm9z LCBNYXJ0aWpuIHZhbiBHcm9uaW5nZW4pDQo+ICsNCj4gKyogU09MUi0zNDQ2OiBCZXR0ZXIgZXJy b3JzIHdoZW4gUGF0dGVyblRva2VuaXplckZhY3RvcnkgaXMgY29uZmlndXJlZCB3aXRoDQo+ICsg IGFuIGludmFsaWQgcGF0dGVybiwgYW5kIGluY2x1ZGUgdGhlICduYW1lJyB3aGVuZXZlciBwb3Nz aWJsZSBpbiBwbHVnaW4gaW5pdA0KPiArICBlcnJvciBtZXNzYWdlcy4gKGhvc3NtYW4pDQo+ICsN Cj4gKyogTFVDRU5FLTQwNzU6IENsZWFuZXIgcGF0aCB1c2FnZSBpbiBUZXN0WFBhdGhFbnRpdHlQ cm9jZXNzb3INCj4gKyAgKEdyZWcgQm93eWVyIHZpYSBob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFIt MjkyMzogSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIHdoZW4gdXNpbmcgdXNlRmlsdGVyRm9yU29y dGVkUXVlcnkgb24gYW4NCj4gKyAgZW1wdHkgaW5kZXguIChBZHJpZW4gR3JhbmQgdmlhIE1hcmsg TWlsbGVyKQ0KPiArDQo+ICsqIFNPTFItMjM1MjogRml4ZWQgVGVybVZlY3RvckNvbXBvbmVudCBz byB0aGF0IGl0IHdpbGwgbm90IGZhaWwgaWYgdGhlIGZsDQo+ICsgIHBhcmFtIGNvbnRhaW5zIGds b2JzIG9yIHBzdWVkby1maWVsZHMgKGhvc3NtYW4pDQo+ICsNCj4gKyogU09MUi0zNTQxOiBhZGQg bWlzc2luZyBzb2xyaiBkZXBlbmRlbmNpZXMgdG8gYmluYXJ5IHBhY2thZ2VzLg0KPiArICAoVGhp anMgVm9uayB2aWEgc2lyZW4pDQo+ICsNCj4gKyogU09MUi0zNTIyOiBmaXhlZCBwYXJzaW5nIG9m IHRoZSAnbGl0ZXJhbCgpJyBmdW5jdGlvbiAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTM1NDg6 IEZpeGVkIGEgYnVnIGluIHRoZSBjYWNoYWJpbGl0eSBvZiBxdWVyaWVzIHVzaW5nIHRoZSB7IWpv aW59DQo+ICsgIHBhcnNlciBvciB0aGUgc3RyZGlzdCgpIGZ1bmN0aW9uLCBhcyB3ZWxsIGFzIHNv bWUgbWlub3IgaW1wcm92ZW1lbnRzIHRvDQo+ICsgIHRoZSBoYXNoQ29kZSBpbXBsZW1lbnRhdGlv biBvZiB7IWJib3h9IGFuZCB7IWdlb2ZpbHR9IHF1ZXJpZXMuDQo+ICsgIChob3NzbWFuKQ0KPiAr DQo+ICsqIFNPTFItMzQ3MDogY29udHJpYi9jbHVzdGVyaW5nOiBjdXN0b20gQ2Fycm90MiB0b2tl bml6ZXIgYW5kIHN0ZW1tZXIgZmFjdG9yaWVzDQo+ICsgIGFyZSByZXNwZWN0ZWQgbm93IChTdGFu aXNsYXcgT3NpbnNraSwgRGF3aWQgV2Vpc3MpDQo+ICsNCj4gKyogU09MUi0zNDMwOiBBZGRlZCBh IG5ldyBESUggdGVzdCBhZ2FpbnN0IGEgcmVhbCBTUUwgZGF0YWJhc2UuICBGaXhlZCBwcm9ibGVt cw0KPiArICByZXZlYWxlZCBieSB0aGlzIG5ldyB0ZXN0IHJlbGF0ZWQgdG8gIHRoZSBleHBhbmRl ZCBjYWNoZSBzdXBwb3J0IGFkZGVkIHRvDQo+ICsgIDMuNi9TT0xSLTIzODIgKEphbWVzIER5ZXIp DQo+ICsNCj4gKyogU09MUi0xOTU4OiBXaGVuIHVzaW5nIHRoZSBNYWlsRW50aXR5UHJvY2Vzc29y LCBpbXBvcnQgd291bGQgZmFpbCBpZg0KPiArICBmZXRjaE1haWxzU2luY2Ugd2FzIG5vdCBzcGVj aWZpZWQuIChNYXggTHluY2ggdmlhIEphbWVzIER5ZXIpDQo+ICsNCj4gKw0KPiArT3RoZXIgQ2hh bmdlcw0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICsqIFNPTFItMTg0NjogRWxp bWluYXRlIHN1cHBvcnQgZm9yIHRoZSBhYm9ydE9uQ29uZmlndXJhdGlvbkVycm9yDQo+ICsgIG9w dGlvbi4gIEl0IGhhcyBuZXZlciB3b3JrZWQgdmVyeSB3ZWxsLCBhbmQgaW4gcmVjZW50IHZlcnNp b25zIG9mDQo+ICsgIFNvbHIgaGFzbid0IHdvcmtlZCBhdCBhbGwuICAoaG9zc21hbikNCj4gKw0K PiArKiBTT0xSLTE4ODk6IFRoZSBkZWZhdWx0IGxvZ2ljIGZvciB0aGUgJ21tJyBwYXJhbSBvZiBE aXNtYXhRUGFyc2VyIGFuZA0KPiArICBFeHRlbmRlZERpc21heFFQYXJzZXIgaGFzIGJlZW4gY2hh bmdlZCB0byBiZSBkZXRlcm1pbmVkIGJhc2VkIG9uIHRoZQ0KPiArICBlZmZlY3RpdmUgdmFsdWUg b2YgdGhlICdxLm9wJyBwYXJhbSAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTE5NDY6IE1pc2Mg aW1wcm92ZW1lbnRzIHRvIHRoZSBTeXN0ZW1JbmZvSGFuZGxlcjogL2FkbWluL3N5c3RlbQ0KPiAr ICAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTIyODk6IFR3ZWFrIHNwYXRpYWwgY29vcmRzIGZv ciBleGFtcGxlIGRvY3Mgc28gdGhleSBhcmUgYSBiaXQNCj4gKyAgbW9yZSBzcHJlYWQgb3V0IChF cmljayBFcmlja3NvbiB2aWEgaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTIyODg6IFNtYWxsIHR3 ZWFrcyB0byBlbGltaW5hdGUgY29tcGlsZXIgd2FybmluZ3MuICBwcmltYXJpbHkNCj4gKyAgdXNp bmcgR2VuZXJpY3Mgd2hlcmUgYXBwbGljYWJsZSBpbiBtZXRob2Qvb2JqZWN0IGRlY2xhdGF0aW9u cywgYW5kDQo+ICsgIGFkZGluZyBAU3VwcHJlc3NXYXJuaW5ncygidW5jaGVja2VkIikgd2hlbiBh cHByb3ByaWF0ZSAoaG9zc21hbikNCj4gKw0KPiArKiBTT0xSLTIzNzU6IFN1Z2dlc3RlciBMb29r dXAgaW1wbGVtZW50YXRpb25zIG5vdyBzdG9yZSB0cmllIGRhdGENCj4gKyAgYW5kIGxvYWQgaXQg YmFjayBvbiBpbml0LiBUaGlzIG1lYW5zIHRoYXQgbGFyZ2UgdHJpZXMgZG9uJ3QgaGF2ZSB0byBi ZQ0KPiArICByZWJ1aWx0IG9uIGV2ZXJ5IGNvbW1pdCBvciBjb3JlIHJlbG9hZC4gKGFiKQ0KPiAr DQo+ICsqIFNPTFItMjQxMzogU3VwcG9ydCBmb3IgcmV0dXJuaW5nIG11bHRpLXZhbHVlZCBmaWVs ZHMgdy9vIDxhcnI+IHRhZw0KPiArICBpbiB0aGUgWE1MUmVzcG9uc2VXcml0ZXIgd2FzIHJlbW92 ZWQuICBYTUxSZXNwb25zZVdyaXRlciBvbmx5DQo+ICsgIG5vIGxvbmdlciB3b3JrIHdpdGggdmFs dWVzIGxlc3MgdGhlbiAyLjIgKHJ5YW4pDQo+ICsNCj4gKyogU09MUi0yNDIzOiBGaWVsZFR5cGUg YXJndW1lbnQgY2hhbmdlZCBmcm9tIFN0cmluZyB0byBPYmplY3QNCj4gKyAgQ29udmVyc2lvbiBm cm9tIFNvbHJJbnB1dERvY3VtZW50ID4gT2JqZWN0ID4gRmllbGRhYmxlIGlzIG5vdyBtYW5hZ2Vk DQo+ICsgIGJ5IEZpZWxkVHlwZSByYXRoZXIgdGhlbiBEb2N1bWVudEJ1aWxkZXIuICAocnlhbikN Cj4gKw0KPiArKiBTT0xSLTI0NjE6IFF1ZXJ5U2VuZGVyTGlzdGVuZXIgYW5kIEFic3RyYWN0U29s ckV2ZW50TGlzdGVuZXIgYXJlDQo+ICsgIG5vdyBwdWJsaWMgKGhvc3NtYW4pDQo+ICsNCj4gKyog TFVDRU5FLTI5OTU6IE1vdmVkIHNvbWUgc3BlbGxjaGVja2VyIGFuZCBzdWdnZXN0IEFQSXMgdG8g bW9kdWxlcy9zdWdnZXN0Og0KPiArICBIaWdoRnJlcXVlbmN5RGljdGlvbmFyeSwgU29ydGVkSXRl cmF0b3IsIFRlcm1GcmVxSXRlcmF0b3IsIGFuZCB0aGUNCj4gKyAgc3VnZ2VzdGVyIEFQSXMgYW5k IGltcGxlbWVudGF0aW9ucy4gKHJtdWlyKQ0KPiArDQo+ICsqIFNPTFItMjU3NjogUmVtb3ZlIGRl cHJlY2F0ZWQgU3BlbGxpbmdSZXN1bHQuYWRkKFRva2VuLCBpbnQpLg0KPiArICAoSmFtZXMgRHll ciB2aWEgcm11aXIpDQo+ICsNCj4gKyogTFVDRU5FLTMyMzI6IE1vdmVkIE11dGFibGVWYWx1ZSBj bGFzc2VzIHRvIG5ldyAnY29tbW9uJyBtb2R1bGUuIChDaHJpcyBNYWxlKQ0KPiArDQo+ICsqIExV Q0VORS0yODgzOiBGdW5jdGlvblF1ZXJ5LCBEb2NWYWx1ZXMgKGFuZCBpdHMgaW1wbHMpLCBWYWx1 ZVNvdXJjZSAoYW5kIGl0cw0KPiArICBpbXBscykgYW5kIEJvb3N0ZWRRdWVyeSBoYXZlIGJlZW4g Y29uc29saWRhdGVkIGludG8gdGhlIHF1ZXJpZXMgbW9kdWxlLiAgVGhleQ0KPiArICBjYW4gbm93 IGJlIGZvdW5kIGF0IG8uYS5sLnF1ZXJpZXMuZnVuY3Rpb24uDQo+ICsNCj4gKyogU09MUi0yMDI3 OiBGYWNldEZpZWxkLmdldFZhbHVlcygpIG5vdyByZXR1cm5zIGFuIGVtcHR5IGxpc3QgaWYgdGhl cmUgYXJlIG5vDQo+ICsgIHZhbHVlcywgaW5zdGVhZCBvZiBudWxsIChDaHJpcyBNYWxlKQ0KPiAr DQo+ICsqIFNPTFItMTgyNTogU29sclF1ZXJ5LmFkZEZhY2V0UXVlcnkgbm93IGVuYWJsZXMgZmFj ZXRzIGF1dG9tYXRpY2FsbHksIGxpa2UNCj4gKyAgYWRkRmFjZXRGaWVsZCAoQ2hyaXMgTWFsZSkN Cj4gKw0KPiArKiBTT0xSLTI2NjM6IEZpZWxkVHlwZVBsdWdpbkxvYWRlciBoYXMgYmVlbiByZWZh Y3RvcmVkIG91dCBvZiBJbmRleFNjaGVtYQ0KPiArICBhbmQgbWFkZSBwdWJsaWMuIChob3NzbWFu KQ0KPiArDQo+ICsqIFNPTFItMjMzMSxTT0xSLTI2OTE6IFJlZmFjdG9yIENvcmVDb250YWluZXIn cyBTb2xyWE1MIHNlcmlhbGl6YXRpb24gY29kZSBhbmQgaW1wcm92ZSB0ZXN0aW5nDQo+ICsgIChZ dXJ5IEthdHMsIGhvc3NtYW4sIE1hcmsgTWlsbGVyKQ0KPiArDQo+ICsqIFNPTFItMjY5ODogRW5o YW5jZSBDb3JlQWRtaW4gU1RBVFVTIGNvbW1hbmQgdG8gcmV0dXJuIGluZGV4IHNpemUuDQo+ICsg IChZdXJ5IEthdHMsIGhvc3NtYW4sIE1hcmsgTWlsbGVyKQ0KPiArDQo+ICsqIFNPTFItMjY1NDog VGhlIHNhbWUgRGlyZWN0b3J5IGluc3RhbmNlIGlzIG5vdyBhbHdheXMgdXNlZCBhY3Jvc3MgYSBT b2xyQ29yZSBzbyB0aGF0DQo+ICsgIGl0J3MgZWFzaWVyIHRvIGFkZCBvdGhlciBEaXJlY3RvcnlG YWN0b3J5J3Mgd2l0aG91dCBzdGF0aWMgY2FjaGluZyBoYWNrcy4NCj4gKyAgKE1hcmsgTWlsbGVy KQ0KPiArDQo+ICsqIExVQ0VORS0zMjg2OiAnbHVrZScgYW50IHRhcmdldCBoYXMgYmVlbiBkaXNh YmxlZCBkdWUgdG8gaW5jb21wYXRpYmlsaXRpZXMgd2l0aCBYTUwNCj4gKyAgcXVlcnlwYXJzZXIg bG9jYXRpb24gKENocmlzIE1hbGUpDQo+ICsNCj4gKyogU09MUi0xODk3OiBUaGUgZGF0YSBkaXIg ZnJvbSB0aGUgY29yZSBkZXNjcmlwdG9yIHNob3VsZCBvdmVycmlkZSB0aGUgZGF0YSBkaXIgZnJv bQ0KPiArICB0aGUgc29scmNvbmZpZy54bWwgcmF0aGVyIHRoYW4gdGhlIG90aGVyIHdheSByb3Vu ZC4gKE1hcmsgTWlsbGVyKQ0KPiArDQo+ICsqIFNPTFItMjc1NjogTWF2ZW4gY29uZmlndXJhdGlv bjogRXhjbHVkZWQgdHJhbnNpdGl2ZSBzdGF4OnN0YXgtYXBpIGRlcGVuZGVuY3kNCj4gKyAgZnJv bSBvcmcuY29kZWhhdXMud29vZHN0b3g6d3N0eC1hc2wgZGVwZW5kZW5jeS4gKERhdmlkIFNtaWxl eSB2aWEgU3RldmUgUm93ZSkNCj4NCj4gKyogU09MUi0yNTg4OiBNb3ZlZCBWZWxvY2l0eVJlc3Bv bnNlV3JpdGVyIGJhY2sgdG8gY29udHJpYiBtb2R1bGUgaW4gb3JkZXIgdG8NCj4gKyAgcmVtb3Zl IGl0IGFzIGEgbWFuZGF0b3J5IGNvcmUgZGVwZW5kZW5jeS4gIChlaGF0Y2hlcikNCj4gKw0KPiAr KiBTT0xSLTI4NjI6IE1vcmUgZXhwbGljaXQgbGV4aWNhbCByZXNvdXJjZXMgbG9jYXRpb24gbG9n Z2VkIGlmIENhcnJvdDIgY2x1c3RlcmluZw0KPiArICBleHRlbnNpb24gaXMgdXNlZC4gRml4ZWQg c29sci4gaW1wbC4gb2YgSVJlc291cmNlIGFuZCBJUmVzb3VyY2VMb29rdXAuIChEYXdpZCBXZWlz cykNCj4gKw0KPiArKiBTT0xSLTExMjM6IENoYW5nZWQgSlNPTlJlc3BvbnNlV3JpdGVyIHRvIG5v dyB1c2UgYXBwbGljYXRpb24vanNvbiBhcyBpdHMgQ29udGVudC1UeXBlDQo+ICsgIGJ5IGRlZmF1 bHQuICBIb3dldmVyIHRoZSBDb250ZW50LVR5cGUgY2FuIGJlIG92ZXJ3cml0dGVuIGFuZCBpcyBz ZXQgdG8gdGV4dC9wbGFpbiBpbg0KPiArICB0aGUgZXhhbXBsZSBjb25maWd1cmF0aW9uLiAoVXJp IEJvbmVzcywgQ2hyaXMgTWFsZSkNCj4gKw0KPiArKiBTT0xSLTI2MDc6IFJlbW92ZWQgZGVwcmVj YXRlZCBjbGllbnQvcnVieSBkaXJlY3RvcnksIHdoaWNoIGluY2x1ZGVkIHNvbHItcnVieSBhbmQg ZmxhcmUuDQo+ICsgIChlaGF0Y2hlcikNCj4gKw0KPiArKiBTT0xSLTMwMzI6IGxvZ09uY2UgZnJv bSBTb2xyRXhjZXB0aW9uIGxvZ09uY2UgYW5kIGFsbCB0aGUgc3VwcG9ydGluZw0KPiArICBzdHJ1 Y3R1cmUgaXMgZ29uZS4gYWJvcnRPbkNvbmZ1Z3JhdGlvbkVycm9yIGlzIGFsc28gZ29uZSBhcyBp dCBpcyBubyBsb25nZXIgcmVmZXJlbmNlZC4NCj4gKyAgRXJyb3JzIHNob3VsZCBiZSBjYXVnaHQg YW5kIGxvZ2dlZCBhdCB0aGUgdG9wLW1vc3QgbGV2ZWwgb3IgbG9nZ2VkIGFuZCBOT1QgcHJvcGFn YXRlZCB1cCB0aGUNCj4gKyAgY2hhaW4uIChFcmljayBFcmlja3NvbikNCj4gKw0KPiArKiBTT0xS LTIxMDU6IFJlbW92ZSBzdXBwb3J0IGZvciBkZXByZWNhdGVkICJ1cGRhdGUucHJvY2Vzc29yIiAo c2luY2UgMy4yKSwgaW4gZmF2b3Igb2YNCj4gKyAgInVwZGF0ZS5jaGFpbiIgKGphbmhveSkNCj4g Kw0KPiArKiBTT0xSLTMwMDU6IERlZmF1bHQgUXVlcnlSZXNwb25zZVdyaXRlcnMgYXJlIG5vdyBp bml0aWFsaXplZCB2aWEgaW5pdCgpIHdpdGggYW4gZW1wdHkNCj4gKyAgTmFtZWRMaXN0LiAoR2Fz b2wgV3UsIENocmlzIE1hbGUpDQo+ICsNCj4gKyogU09MUi0yNjA3OiBSZW1vdmVkIG9ic29sZXRl IGNsaWVudC8gZm9sZGVyIChlaGF0Y2hlciwgRXJpYyBQdWdoLCBqYW5ob3kpDQo+ICsNCj4gKyog U09MUi0zMjAyLCBTT0xSLTMyNDQ6IERyb3BwaW5nIFN1cHBvcnQgZm9yIEpTUC4gIE5ldyBBZG1p biBVSSBpcyBhbGwgY2xpZW50IHNpZGUNCj4gKyAgKHJ5YW4sIEFsaWFrc2FuZHIgWmh1aHJvdSwg VXdlIFNjaGluZGxlcikNCj4gKw0KPiArKiBTT0xSLTMxNTk6IFVwZ3JhZGUgZXhhbXBsZSBhbmQg dGVzdHMgdG8gcnVuIHdpdGggSmV0dHkgOCAocnlhbikNCj4gKw0KPiArKiBTT0xSLTMyNTQ6IFVw Z3JhZGUgU29sciB0byBUaWthIDEuMSAoamFuaG95KQ0KPiArDQo+ICsqIFNPTFItMzMyOTogRHJv cHBlZCBnZXRTb3VyY2VJRCgpIGZyb20gU29sckluZm9NQmVhbiBhbmQgdXNpbmcNCj4gKyAgZ2V0 Q2xhc3MoKS5nZXRQYWNrYWdlKCkuZ2V0U3BlY2lmaWNhdGlvblZlcnNpb24oKSBmb3IgVmVyc2lv bi4gKHJ5YW4pDQo+ICsNCj4gKyogU09MUi0zMzAyOiBVcGdyYWRlZCBTTEY0aiB0byB2ZXJzaW9u IDEuNi40IChob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFItMzMyMjogQWRkIG1vcmUgY29udGV4dCB0 byBJbmRleFJlYWRlckZhY3RvcnkubmV3UmVhZGVyIChhYikNCj4gKw0KPiArKiBTT0xSLTMzNDM6 IE1vdmVkIEZhc3RXcml0ZXIsIEZpbGVVdGlscywgUmVnZXhGaWxlRmlsdGVyLCBSVGltZXIgYW5k IFN5c3RlbUlkUmVzb2x2ZXINCj4gKyAgZnJvbSBvcmcuYXBhY2hlLnNvbHIuY29tbW9uIHRvIG9y Zy5hcGFjaGUuc29sci51dGlsIChDaHJpcyBNYWxlKQ0KPiArDQo+ICsqIFNPTFItMzM1NzogUmVz b3VyY2VMb2FkZXIubmV3SW5zdGFuY2Ugbm93IGFjY2VwdHMgYSBDbGFzcyByZXByZXNlbnRhdGlv biBvZiB0aGUgZXhwZWN0ZWQNCj4gKyAgaW5zdGFuY2UgdHlwZSAoQ2hyaXMgTWFsZSkNCj4gKw0K PiArKiBTT0xSLTMzODg6IEhUVFAgY2FjaGluZyBpcyBub3cgZGlzYWJsZWQgYnkgZGVmYXVsdCBm b3IgUmVxdWVzdFVwZGF0ZUhhbmRsZXJzLiAocnlhbikNCj4gKw0KPiArKiBTT0xSLTMzMDk6IHdl Yi54bWwgbm93IHNwZWNpZmllcyBtZXRhZGF0YS1jb21wbGV0ZT10cnVlICh3aGljaCByZXF1aXJl cw0KPiArICBTZXJ2bGV0IDIuNSkgdG8gcHJldmVudCBzZXJ2bGV0IGNvbnRhaW5lcnMgZnJvbSBz Y2FubmluZyBjbGFzcyBhbm5vdGF0aW9ucw0KPiArICBvbiBzdGFydHVwLiAgVGhpcyBhbGxvd3Mg Zm9yIGZhc3RlciBzdGFydHVwIHRpbWVzIG9uIHNvbWUgc2VydmxldCBjb250YWluZXJzLg0KPiAr ICAoQmlsbCBCZWxsLCBob3NzbWFuKQ0KPiArDQo+ICsqIFNPTFItMTg5MzogUmVmYWN0b3JlZCBz b21lIGNvbW1vbiBjb2RlIGZyb20gTFJVQ2FjaGUgYW5kIEZhc3RMUlVDYWNoZSBpbnRvDQo+ICsg IFNvbHJDYWNoZUJhc2UgKFRvbcODwqFzIEZlcm7Dg8KhbmRleiBMw4PCtmJiZSB2aWEgaG9zc21h bikNCj4gKw0KPiArKiBTT0xSLTM0MDM6IERlcHJlY2F0ZWQgQW5hbHlzaXMgRmFjdG9yaWVzIG5v dyBsb2cgdGhlaXIgb3duIGRlcHJlY2F0aW9uIG1lc3NhZ2VzLg0KPiArICBObyBsb2dnaW5nIHN1 cHBvcnQgaXMgcHJvdmlkZWQgYnkgRmFjdG9yeSBwYXJlbnQgY2xhc3Nlcy4gKENocmlzIE1hbGUp DQo+ICsNCj4gKyogU09MUi0xMjU4OiBQaW5nUmVxdWVzdEhhbmRsZXIgaXMgbm93IGRpcmVjdGx5 IGNvbmZpZ3VyZWQgd2l0aCBhDQo+ICsgICJoZWFsdGhjaGVja0ZpbGUiIGluc3RlYWQgb2YgbG9v a2luZyBmb3IgdGhlIGxlZ2FjeQ0KPiArICA8YWRtaW4+PGhlYWx0aGNoZWNrLz48L2FkbWluPiBz eW50YXguICBGaWxlbmFtZXMgc3BlY2lmaWVkIGFzIHJlbGF0aXZlDQo+ICsgIHBhdGhzIGhhdmUg YmVlbiBmaXhlZCBzbyB0aGF0IHRoZXkgYXJlIHJlc29sdmVkIGFnYWluc3QgdGhlIGRhdGEgZGly DQo+ICsgIGluc3RlYWQgb2YgdGhlIENXRCBvZiB0aGUgamF2YSBwcm9jZXNzLiAoaG9zc21hbikN Cj4gKw0KPiArKiBTT0xSLTMwODM6IEpNWCBiZWFucyBub3cgcmVwb3J0IE51bWJlcnMgYXMgbnVt ZXJpYyB2YWx1ZXMgcmF0aGVyIHRoZW4gU3RyaW5nDQo+ICsgIChUYWdnZWQgU2l0ZW9wcywgR3Jl ZyBCb3d5ZXIgdmlhIHJ5YW4pDQo+ICsNCj4gKyogU09MUi0yNzk2OiBEdWUgdG8gbG93IGxldmVs IGNoYW5nZXMgdG8gc3VwcG9ydCBTb2xyQ2xvdWQsIHRoZSB1bmlxdWVLZXkNCj4gKyAgZmllbGQg Y2FuIG5vIGxvbmdlciBiZSBwb3B1bGF0ZWQgdmlhIDxjb3B5RmllbGQvPiBvciA8ZmllbGQgZGVm YXVsdD0uLi4+DQo+ICsgIGluIHRoZSBzY2hlbWEueG1sLg0KPiArDQo+ICsqIFNPTFItMzUzNDog VGhlIERpc21heCBhbmQgZURpc21heCBxdWVyeSBwYXJzZXJzIHdpbGwgZmFsbCBiYWNrIG9uIHRo ZSAnZGYnIHBhcmFtZXRlcg0KPiArICB3aGVuICdxZicgaXMgYWJzZW50LiAgQW5kIGlmIG5laXRo ZXIgaXMgcHJlc2VudCBub3IgdGhlIHNjaGVtYSBkZWZhdWx0IHNlYXJjaCBmaWVsZA0KPiArICB0 aGVuIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93biBub3cuIChkc21pbGV5KQ0KPiArDQo+ICsq IFNPTFItMzI2MjogVGhlICJ0aHJlYWRzIiBmZWF0dXJlIG9mIERJSCBpcyByZW1vdmVkIChkZXBy ZWNhdGVkIGluIFNvbHIgMy42KQ0KPiArICAoSmFtZXMgRHllcikNCj4gKw0KPiArKiBTT0xSLTM0 MjI6IFJlZmFjdG9yZWQgRElIIGludGVybmFsIGRhdGEgY2xhc3Nlcy4gIEFsbCBlbnRpdGllcyBp bg0KPiArICBkYXRhLWNvbmZpZy54bWwgbXVzdCBoYXZlIGEgbmFtZSAoSmFtZXMgRHllcikNCj4g Kw0KPiArRG9jdW1lbnRhdGlvbg0KPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICsq IFNPTFItMjIzMjogSW1wcm92ZWQgUkVBRE1FIGluZm8gb24gc29sci5zb2xyLmhvbWUgaW4gZXhh bXBsZXMNCj4gKyAgKEVyaWMgUHVnaCBhbmQgaG9zc21hbikNCj4gKw0KPiAgPT09PT09PT09PT09 PT09PT09ICAzLjYuMSAgPT09PT09PT09PT09PT09PT09DQo+ICBNb3JlIGluZm9ybWF0aW9uIGFi b3V0IHRoaXMgcmVsZWFzZSwgaW5jbHVkaW5nIGFueSBlcnJhdGEgcmVsYXRlZCB0byB0aGUNCj4g IHJlbGVhc2Ugbm90ZXMsIHVwZ3JhZGUgaW5zdHJ1Y3Rpb25zLCBvciBvdGhlciBjaGFuZ2VzIG1h eSBiZSBmb3VuZCBvbmxpbmUgYXQ6DQo+ICAgICBodHRwczovL3dpa2kuYXBhY2hlLm9yZy9zb2xy L1NvbHIzLjYuMQ0KPg0KPiAtQnVnIEZpeGVzOg0KPiArQnVnIEZpeGVzDQo+DQo+ICAqIExVQ0VO RS0zOTY5OiBUaHJvdyBJQUUgb24gYmFkIGFyZ3VtZW50cyB0aGF0IGNvdWxkIGNhdXNlIGNvbmZ1 c2luZyBlcnJvcnMgaW4NCj4gICAgUGF0dGVyblRva2VuaXplci4gQ29tbW9uR3JhbXMgcG9wdWxh dGVzIFBvc2l0aW9uTGVuZ3RoQXR0cmlidXRlIGNvcnJlY3RseS4NCj4gQEAgLTUzLDYgKzExMzIs MjAgQEAgQnVnIEZpeGVzOg0KPg0KPiAgKiBTT0xSLTM0Nzc6IFNPTFIgZG9lcyBub3Qgc3RhcnQg dXAgd2hlbiBubyBjb3JlcyBhcmUgZGVmaW5lZCAoVG9tw4PCoXMgRmVybsODwqFuZGV6IEzDg8K2 YmJlIHZpYSB0b21tYXNvKQ0KPg0KPiArKiBTT0xSLTM0NzA6IGNvbnRyaWIvY2x1c3RlcmluZzog Y3VzdG9tIENhcnJvdDIgdG9rZW5pemVyIGFuZCBzdGVtbWVyIGZhY3Rvcmllcw0KPiArICBhcmUg cmVzcGVjdGVkIG5vdyAoU3RhbmlzbGF3IE9zaW5za2ksIERhd2lkIFdlaXNzKQ0KPiArDQo+ICsq IFNPTFItMzM2MDogTW9yZSBESUggYnVnIGZpeGVzIGZvciB0aGUgZGVwcmVjYXRlZCAidGhyZWFk cyIgcGFyYW1ldGVyLg0KPiArICAoTWlraGFpbCBLaGx1ZG5ldiwgQ2xhdWRpbyBSLCB2aWEgSmFt ZXMgRHllcikNCj4gKw0KPiArKiBTT0xSLTM0MzA6IEFkZGVkIGEgbmV3IERJSCB0ZXN0IGFnYWlu c3QgYSByZWFsIFNRTCBkYXRhYmFzZS4gIEZpeGVkIHByb2JsZW1zDQo+ICsgIHJldmVhbGVkIGJ5 IHRoaXMgbmV3IHRlc3QgcmVsYXRlZCB0byB0aGUgZXhwYW5kZWQgY2FjaGUgc3VwcG9ydCBhZGRl ZCB0bw0KPiArICAzLjYvU09MUi0yMzgyIChKYW1lcyBEeWVyKQ0KPiArDQo+ICsqIFNPTFItMzMz NjogU29sckVudGl0eVByb2Nlc3NvciBzdWJzdGl0dXRlcyBtb3N0IHZhcmlhYmxlcyBhdCBxdWVy eSB0aW1lLg0KPiArICAoTWljaGFlbCBLcm9oLCBMYW5jZSBOb3Jza29nLCB2aWEgTWFydGlqbiB2 YW4gR3JvbmluZ2VuKQ0KPiArDQo+ICsNCj4gID09PT09PT09PT09PT09PT09PSAgMy42LjAgID09 PT09PT09PT09PT09PT09PQ0KPiAgTW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIHJlbGVhc2Us IGluY2x1ZGluZyBhbnkgZXJyYXRhIHJlbGF0ZWQgdG8gdGhlDQo+ICByZWxlYXNlIG5vdGVzLCB1 cGdyYWRlIGluc3RydWN0aW9ucywgb3Igb3RoZXIgY2hhbmdlcyBtYXkgYmUgZm91bmQgb25saW5l IGF0Og0KPiBAQCAtMTkzLDcgKzEyODYsMzggQEAgTmV3IEZlYXR1cmVzDQo+ICAqIFNPTFItMjAw MTogVGhlIHF1ZXJ5IGNvbXBvbmVudCB3aWxsIHN1YnN0aXR1dGUgYW4gZW1wdHkgcXVlcnkgdGhh dCBtYXRjaGVzDQo+ICAgIG5vIGRvY3VtZW50cyBpZiB0aGUgcXVlcnkgcGFyc2VyIHJldHVybnMg bnVsbC4gIFRoaXMgYWxzbyBwcmV2ZW50cyBhbg0KPiAgICBleGNlcHRpb24gZnJvbSBiZWluZyB0 aHJvd24gYnkgdGhlIGRlZmF1bHQgcGFyc2VyIGlmICJxIiBpcyBtaXNzaW5nLiAoeW9uaWspDQo+ IC0gIFNPTFItNDM1OiBpZiBxIGlzICIiIHRoZW4gaXQncyBhbHNvIGFjY2VwdGFibGUuIChkc21p bGV5LCBob3NzKQ0KPiArICAtIFNPTFItNDM1OiBpZiBxIGlzICIiIHRoZW4gaXQncyBhbHNvIGFj Y2VwdGFibGUuIChkc21pbGV5LCBob3NzKQ0KPiArDQo+ICsqIFNPTFItMjkxOTogQWRkZWQgcGFy YW1ldHJpYyB0YWlsb3Jpbmcgb3B0aW9ucyB0byBJQ1VDb2xsYXRpb25LZXlGaWx0ZXJGYWN0b3J5 Lg0KPiArICBUaGVzZSBjYW4gYmUgdXNlZCB0byBjdXN0b21pemUgcmFuZ2UgcXVlcnkvc29ydCBi ZWhhdmlvciwgZm9yIGV4YW1wbGUgdG8NCj4gKyAgc3VwcG9ydCBudW1lcmljIGNvbGxhdGlvbiwg aWdub3JlIHB1bmN0dWF0aW9uL3doaXRlc3BhY2UsIGlnbm9yZSBhY2NlbnRzIGJ1dA0KPiArICBu b3QgY2FzZSwgY29udHJvbCB3aGV0aGVyIHVwcGVyL2xvd2VyY2FzZSB2YWx1ZXMgYXJlIHNvcnRl ZCBmaXJzdCwgZXRjLiAgKHJtdWlyKQ0KPiArDQo+ICsqIFNPTFItMjM0NjogQWRkIGEgY2hhbmNl IHRvIHNldCBjb250ZW50IGVuY29kaW5nIGV4cGxpY2l0bHkgdmlhIGNvbnRlbnQgdHlwZQ0KPiAr ICBvZiBzdHJlYW0gZm9yIGV4dHJhY3RpbmcgcmVxdWVzdCBoYW5kbGVyLiAgVGhpcyBpcyBjb252 ZW5pZW50IHdoZW4gVGlrYSdzDQo+ICsgIGF1dG8gZGV0ZWN0b3IgY2Fubm90IGRldGVjdCBlbmNv ZGluZywgZXNwZWNpYWxseSB0aGUgdGV4dCBmaWxlIGlzIHRvbyBzaG9ydA0KPiArICB0byBkZXRl Y3QgZW5jb2RpbmcuIChrb2ppKQ0KPiArDQo+ICsqIFNPTFItMTQ5OTogQWRkZWQgU29sckVudGl0 eVByb2Nlc3NvciB0aGF0IGltcG9ydHMgZGF0YSBmcm9tIGFub3RoZXIgU29sciBjb3JlDQo+ICsg IG9yIGluc3RhbmNlIGJhc2VkIG9uIGEgc3BlY2lmaWVkIHF1ZXJ5Lg0KPiArICAoTGFuY2UgTm9y c2tvZywgRXJpayBIYXRjaGVyLCBQdWxraXQgU2luZ2hhbCwgQWhtZXQgQXJzbGFuLCBMdWNhIENh dmFubmEsDQo+ICsgIE1hcnRpam4gdmFuIEdyb25pbmdlbikNCj4gKw0KPiArKiBTT0xSLTMxOTA6 IE1pbm9yIGltcHJvdmVtZW50cyB0byBTb2xyRW50aXR5UHJvY2Vzc29yLiBBZGQgbW9yZSBjb25z aXN0ZW5jeQ0KPiArICBiZXR3ZWVuIHNvbHIgcGFyYW1ldGVycyBhbmQgcGFyYW1ldGVycyB1c2Vk IGluIFNvbHJFbnRpdHlQcm9jZXNzb3IgYW5kDQo+ICsgIGFiaWxpdHkgdG8gc3BlY2lmeSBhIGN1 c3RvbSBIdHRwQ2xpZW50IGluc3RhbmNlLg0KPiArICAoTHVjYSBDYXZhbm5hIHZpYSBNYXJ0aWpu IHZhbiBHcm9uaW5nZW4pDQo+ICsNCj4gKyogU09MUi0yMzgyOiBBZGRlZCBwbHVnZ2FibGUgY2Fj aGUgc3VwcG9ydCB0byBESUggc28gdGhhdCBhbnkgRW50aXR5IGNhbiBiZQ0KPiArICBtYWRlIGNh Y2hlLWFibGUgYnkgYWRkaW5nIHRoZSAiY2FjaGVJbXBsIiBwYXJhbWV0ZXIuICBJbmNsdWRlDQo+ ICsgICJTb3J0ZWRNYXBCYWNrZWRDYWNoZSIgdG8gcHJvdmlkZSBpbi1tZW1vcnkgY2FjaGluZyAo YXMgcHJldmlvdXNseSB0aGlzIHdhcw0KPiArICB0aGUgb25seSBvcHRpb24gd2hlbiB1c2luZyBD YWNoZWRTcWxFbnRpdHlQcm9jZXNzb3IpLiAgVXNlcnMgY2FuIHByb3ZpZGUNCj4gKyAgdGhlaXIg b3duIGltcGxlbWVudGF0aW9ucyBvZiBESUhDYWNoZSBmb3Igb3RoZXIgY2FjaGluZyBzdHJhdGVn aWVzLg0KPiArICBEZXByZWNhdGUgQ2FjaGVkU3FsRW50aXR5UHJvY2Vzc29yIGluIGZhdm9yIG9m IHNwZWNpZmluZyAiY2FjaGVJbXBsIiB3aXRoDQo+ICsgIFNxbEVudGl0eVByb2Nlc3Nvci4gIE1h a2UgU29scldyaXRlciBpbXBsZW1lbnQgRElIV3JpdGVyIGFuZCBhbGxvdyB0aGUNCj4gKyAgcG9z c2liaWxpdHkgb2YgcGx1Z2dhYmxlIFdyaXRlcnMgKERJSCB3cml0aW5nIHRvIHNvbWV0aGluZyBv dGhlciB0aGFuIFNvbHIpLg0KPiArICAoSmFtZXMgRHllciwgTm9ibGUgUGF1bCkNCj4gKw0KPg0K PiAgT3B0aW1pemF0aW9ucw0KPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBAQCAtMzU2LDYg KzE0ODAsMzUgQEAgQnVnIEZpeGVzDQo+ICAqIFNPTFItMzMxNjogRGlzdHJpYnV0ZWQgZ3JvdXBp bmcgZmFpbGVkIHdoZW4gcm93cyBwYXJhbWV0ZXIgd2FzIHNldCB0byAwIGFuZA0KPiAgICBzb21l dGltZXMgcmV0dXJuZWQgYSB3cm9uZyBoaXQgY291bnQgYXMgbWF0Y2hlcy4gKENvZHkgWW91bmcs IE1hcnRpam4gdmFuIEdyb25pbmdlbikNCj4NCj4gKyogU09MUi0zMTA3OiBjb250cmliL2xhbmdp ZDogV2hlbiB1c2luZyB0aGUgTGFuZ0RldGVjdCBpbXBsZW1lbnRhdGlvbiBvZg0KPiArICBsYW5n aWQsIHNldCB0aGUgcmFuZG9tIHNlZWQgdG8gMCwgc28gdGhhdCB0aGUgc2FtZSBkb2N1bWVudCBp cyBkZXRlY3RlZCBhcw0KPiArICB0aGUgc2FtZSBsYW5ndWFnZSB3aXRoIHRoZSBzYW1lIHByb2Jh YmlsaXR5IGV2ZXJ5IHRpbWUuDQo+ICsgIChDaHJpc3RpYW4gTW9lbiB2aWEgcm11aXIpDQo+ICsN Cj4gKyogU09MUi0yOTM3OiBDb25maWd1cmluZyB0aGUgbnVtYmVyIG9mIGNvbnRleHR1YWwgc25p cHBldHMgdXNlZCBmb3INCj4gKyAgc2VhcmNoIHJlc3VsdHMgY2x1c3RlcmluZy4gVGhlIGhsLnNu aXBwZXRzIHBhcmFtZXRlciBpcyBub3cgcmVzcGVjdGVkDQo+ICsgIGJ5IHRoZSBjbHVzdGVyaW5n IHBsdWdpbiwgY2FuIGJlIG92ZXJyaWRkZW4gYnkgY2Fycm90LnN1bW1hcnlTbmlwcGV0cw0KPiAr ICBpZiBuZWVkZWQgKFN0YW5pc2xhdyBPc2luc2tpKS4NCj4gKw0KPiArKiBTT0xSLTI5Mzg6IENs dXN0ZXJpbmcgb24gbXVsdGlwbGUgZmllbGRzLiBUaGUgY2Fycm90LnRpdGxlIGFuZA0KPiArICBj YXJyb3Quc25pcHBldCBjYW4gbm93IHRha2UgY29tbWEtIG9yIHNwYWNlLXNlcGFyYXRlZCBsaXN0 cyBvZg0KPiArICBmaWVsZCBuYW1lcyB0byBjbHVzdGVyIChTdGFuaXNsYXcgT3NpbnNraSkuDQo+ ICsNCj4gKyogU09MUi0yOTM5OiBDbHVzdGVyaW5nIG9mIG11bHRpbGluZ3VhbCBzZWFyY2ggcmVz dWx0cy4gVGhlIGRvY3VtZW50J3MNCj4gKyAgbGFuZ3VhZ2UgZmllbGQgYmUgcGFzc2VkIGluIHRo ZSBjYXJyb3QubGFuZyBwYXJhbWV0ZXIsIHRoZSBjYXJyb3QubGNtYXANCj4gKyAgcGFyYW1ldGVy IGVuYWJsZXMgbWFwcGluZyBvZiBsYW5ndWFnZSBjb2RlcyB0byBJU08gNjM5IChTdGFuaXNsYXcg T3NpbnNraSkuDQo+ICsNCj4gKyogU09MUi0yOTQwOiBQYXNzaW5nIHZhbHVlcyBmb3IgY3VzdG9t IENhcnJvdDIgZmllbGRzIHRvIENsdXN0ZXJpbmcgY29tcG9uZW50Lg0KPiArICBUaGUgY3VzdG9t IGZpZWxkIG1hcHBpbmcgYXJlIGRlZmluZWQgdXNpbmcgdGhlIGNhcnJvdC5jdXN0b20gcGFyYW1l dGVyDQo+ICsgIChTdGFuaXNsYXcgT3NpbnNraSkuDQo+ICsNCj4gKyogU09MUi0yOTQxOiBOdWxs UG9pbnRlckV4Y2VwdGlvbiBvbiBjbHVzdGVyaW5nIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbg0K PiArICB3aGVuIHNjaGVtYSBkb2VzIG5vdCBoYXZlIGEgdW5pcXVlIGtleSBmaWVsZCAoU3Rhbmlz bGF3IE9zaW5za2kpLg0KPiArDQo+ICsqIFNPTFItMjk0MjogQ2xhc3NDYXN0RXhjZXB0aW9uIHdo ZW4gcGFzc2luZyBub24tdGV4dHVhbCBmaWVsZHMgdG8NCj4gKyAgY2x1c3RlcmluZyBjb21wb25l bnQgKFN0YW5pc2xhdyBPc2luc2tpKS4NCj4gKw0KPiArDQo+ICBPdGhlciBDaGFuZ2VzDQo+ICAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAqIFNPTFItMjkyMjogVXBncmFkZSBjb21tb25zLWlv IGFuZCBjb21tb25zLWxhbmcgdG8gMi4xIGFuZCAyLjYsIHJlc3BlY3RpdmVseS4gKGtvamkpDQo+ IEBAIC00MDcsNiArMTU2MCwxNiBAQCBPdGhlciBDaGFuZ2VzDQo+ICAgIHJlcG9zaXRvcnkpLiAg QWxzbyB1cGRhdGVkIGRlcGVuZGVuY2llcyBqYWNrc29uLWNvcmUtYXNsIGFuZA0KPiAgICBqYWNr c29uLW1hcHBlci1hc2wgKGJvdGggdjEuNS4yIC0+IHYxLjcuNCkuICAoRGF3aWQgV2Vpc3MsIFN0 ZXZlIFJvd2UpDQo+DQo+ICsqIFNPTFItMzI5NTogbmV0Y2RmIGphciBpcyBleGNsdWRlZCBmcm9t IHRoZSBiaW5hcnkgcmVsZWFzZSAoYW5kIGRpc2FibGVkIGluDQo+ICsgIGl2eS54bWwpIGJlY2F1 c2UgaXQgcmVxdWlyZXMgamF2YSA2LiBJZiB5b3Ugd2FudCB0byBwYXJzZSB0aGlzIGNvbnRlbnQg d2l0aA0KPiArICBleHRyYWN0aW5nIHJlcXVlc3QgaGFuZGxlciBhbmQgYXJlIHdpbGxpbmcgdG8g dXNlIGphdmEgNiwganVzdCBhZGQgdGhlIGphci4NCj4gKyAgKHJtdWlyKQ0KPiArDQo+ICsqIFNP TFItMzE0MjogRElIIEltcG9ydHMgbm8gbG9uZ2VyIGRlZmF1bHQgb3B0aW1pemUgdG8gdHJ1ZSwg aW5zdGVhZCBmYWxzZS4NCj4gKyAgSWYgeW91IHdhbnQgdG8gZm9yY2UgYWxsIHNlZ21lbnRzIHRv IGJlIG1lcmdlZCBpbnRvIG9uZSwgeW91IGNhbiBzcGVjaWZ5DQo+ICsgIHRoaXMgcGFyYW1ldGVy IHlvdXJzZWxmLiBOT1RFOiB0aGlzIGNhbiBiZSB2ZXJ5IGV4cGVuc2l2ZSBvcGVyYXRpb24gYW5k DQo+ICsgIHVzdWFsbHkgZG9lcyBub3QgbWFrZSBzZW5zZSBmb3IgZGVsdGEtaW1wb3J0cy4gIChS b2JlcnQgTXVpcikNCj4gKw0KPiAgQnVpbGQNCj4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4g ICogU09MUi0yNDg3OiBBZGQgYnVpbGQgdGFyZ2V0IHRvIHBhY2thZ2Ugd2FyIHdpdGhvdXQgc2xm NGogamFycyAoamFuaG95KQ0KPiBAQCAtNDI2LDIxICsxNTg5LDYgQEAgQnVpbGQNCj4gICAgKFJv YmVydCBNdWlyLCBDaHJpcyBNYWxlLCBVd2UgU2NoaW5kbGVyLCBTdGV2ZW4gUm93ZSwgSG9zc21h bikNCj4NCj4gID09PT09PT09PT09PT09PT09PSAgMy41LjAgID09PT09PT09PT09PT09PT09PQ0K PiAtVmVyc2lvbnMgb2YgTWFqb3IgQ29tcG9uZW50cw0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQo+IC1BcGFjaGUgVGlrYSAwLjEwDQo+IC1DYXJyb3QyIDMuNS4wDQo+IC1WZWxvY2l0eSAxLjYu NCBhbmQgVmVsb2NpdHkgVG9vbHMgMi4wDQo+IC1BcGFjaGUgVUlNQSAyLjMuMQ0KPiAtDQo+IC0N Cj4gLVVwZ3JhZGluZyBmcm9tIFNvbHIgMy40DQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ IC0NCj4gLSogVGhlIFZlbG9jaXR5UmVzcG9uc2VXcml0ZXIgaXMgbm8gbG9uZ2VyIGJ1aWx0IGlu dG8gdGhlIGNvcmUuICBJdHMgSkFSIGFuZA0KPiAtICBkZXBlbmRlbmNpZXMgbm93IG5lZWQgdG8g YmUgYWRkZWQgKHZpYSA8bGliPiBvciBzb2xyL2hvbWUgbGliIGluY2x1c2lvbiksDQo+IC0gIGFu ZCBpdCBuZWVkcyB0byBiZSByZWdpc3RlcmVkIGluIHNvbHJjb25maWcueG1sIGxpa2UgdGhpczoN Cj4gLSAgICA8cXVlcnlSZXNwb25zZVdyaXRlciBuYW1lPSJ2ZWxvY2l0eSIgY2xhc3M9InNvbHIu VmVsb2NpdHlSZXNwb25zZVdyaXRlciIvPg0KPg0KPiAgTmV3IEZlYXR1cmVzDQo+ICAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+IEBAIC00NTcsNyArMTYwNSw3IEBAIE5ldyBGZWF0dXJlcw0KPiAg KiBTT0xSLTE5Nzk6IE5ldyBjb250cmliICJsYW5naWQiLiBBZGRzIGxhbmd1YWdlIGlkZW50aWZp Y2F0aW9uIGNhcGFiaWxpdGllcyBhcyBhbg0KPiAgICBVcGRhdGUgUHJvY2Vzc29yLCB1c2luZyBU aWthJ3MgTGFuZ3VhZ2VJZGVudGlmaWVyIG9yIEN5Ym96dSBsYW5ndWFnZS1kZXRlY3Rpb24NCj4g ICAgbGlicmFyeSAoamFuaG95LCBUb21tYXNvIFRlb2ZpbGksIGdzaW5nZXJzKQ0KPiAtDQo+ICsN Cj4gICogU09MUi0yODE4OiBBZGRlZCBiZWZvcmUvYWZ0ZXIgY291bnQgcmVzcG9uc2UgcGFyc2lu ZyBzdXBwb3J0IGZvciByYW5nZSBmYWNldHMgaW4NCj4gICAgU29sckouIChCZXJuaGFyZCBGcmF1 ZW5kaWVuc3QgdmlhIE1hcnRpam4gdmFuIEdyb25pbmdlbikNCj4NCj4gQEAgLTQ3Niw2ICsxNjI0 LDkgQEAgTmV3IEZlYXR1cmVzDQo+ICAgIHJlcXVlc3QgcGFyYW0gdGhhdCBjYW4gYmUgdXNlZCB0 byBkZWxldGUgYWxsIGJ1dCB0aGUgbW9zdCByZWNlbnQgTiBiYWNrdXBzLg0KPiAgICAoSmFtZXMg RHllciB2aWEgaG9zc21hbikNCj4NCj4gKyogU09MUi0yODM5OiBBZGQgYWx0ZXJuYXRpdmUgaW1w bGVtZW50YXRpb24gdG8gY29udHJpYi9sYW5naWQgc3VwcG9ydGluZyA1Mw0KPiArICBsYW5ndWFn ZXMsIGJhc2VkIG9uIGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9sYW5ndWFnZS1kZXRlY3Rpb24v IChybXVpcikNCj4gKw0KPiAgT3B0aW1pemF0aW9ucw0KPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPg0KPiBAQCAtNDg0LDEwICsxNjM1LDYgQEAgT3B0aW1pemF0aW9ucw0KPg0KPiAgQnVnIEZp eGVzDQo+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IC0NCj4gLSogU09MUi0yNzYyOiAoYmFj a3BvcnQgZm9ybSA0LnggbGluZSk6IEZTVExvb2t1cCBjb3VsZCByZXR1cm4gZHVwbGljYXRlDQo+ IC0gIHJlc3VsdHMgb3Igb25lIHJlc3VsdHMgbGVzcyB0aGFuIHJlcXVlc3RlZC4gKERhdmlkIFNt aWxleSwgRGF3aWQgV2Vpc3MpDQo+IC0NCj4gICogU09MUi0yNzQ4OiBUaGUgQ29tbWl0VHJhY2tl ciB1c2VkIGZvciBjb21taXRXaXRoIG9yIGF1dG9Db21taXQgYnkgbWF4VGltZQ0KPiAgICBjb3Vs ZCBjb21taXQgdG9vIGZyZXF1ZW50bHkgYW5kIGNvdWxkIGJsb2NrIGFkZHMgdW50aWwgYSBuZXcg c2VhcmNoZXIgd2FzDQo+ICAgIHJlZ2lzdGVyZWQuICh5b25paykNCj4gQEAgLTUwMiw2ICsxNjQ5 LDkgQEAgQnVnIEZpeGVzDQo+DQo+ICAqIFNPTFItMjc4MDogRml4ZWQgaXNzdWUgd2hlcmUgbXVs dGkgc2VsZWN0IGZhY2V0cyBkaWRuJ3QgcmVzcGVjdCBncm91cC50cnVuY2F0ZSBwYXJhbWV0ZXIu DQo+ICAgIChNYXJ0aWpuIHZhbiBHcm9uaW5nZW4sIFJhbXppIEFscXJhaW55KQ0KPiArDQo+ICsq IFNPTFItMjc5MzogSW4gcmFyZSBjYXNlcyAobW9zdCBsaWtlbHkgZHVyaW5nIHNodXRkb3duKSwg YSBTb2xySW5kZXhTZWFyY2hlciBjYW4gYmUgbGVmdA0KPiArICBvcGVuIGlmIHRoZSBleGVjdXRv ciByZWplY3RzIGEgdGFzay4gKE1hcmsgTWlsbGVyKQ0KPg0KPiAgKiBTT0xSLTI3OTE6IFJlcGxp Y2F0aW9uOiBhYm9ydGZldGNoIGNvbW1hbmQgaXMgYnJva2VuIGlmIHJlcGxpY2F0aW9uIHdhcyBz dGFydGVkDQo+ICAgIGJ5IGZldGNoaW5kZXggY29tbWFuZCBpbnN0ZWFkIG9mIGEgcmVndWxhciBw b2xsIChZdXJ5IEthdHMgdmlhIHNoYWxpbikNCj4gQEAgLTUwOSwyMSArMTY1OSwxNyBAQCBCdWcg Rml4ZXMNCj4gICogU09MUi0yODYxOiBGaXggZXh0cmVtZWx5IHJhcmUgcmFjZSBjb25kaXRpb24g b24gY29tbWl0IHRoYXQgY2FuIHJlc3VsdA0KPiAgICBpbiBhIE5QRSAoeW9uaWspDQo+DQo+IC0q IFNPTFItMjgyOTogRml4IHByb2JsZW0gd2l0aCBmYWxzZS1wb3NpdGl2ZXMgZHVlIHRvIGluY29y cmVjdA0KPiAtICBlcXVhbHMgbWV0aG9kcy4gKFlvbmlrIFNlZWxleSwgSG9zc21hbiwgRXJpY2sg RXJpY2tzb24uDQo+IC0gIE1hcmMgVGlubmVtZXllciBjYXVnaHQgdGhlIGJ1ZykNCj4gKyogU09M Ui0yODEzOiBGaXggSFRUUCBlcnJvciBjb2RlcyByZXR1cm5lZCB3aGVuIHJlcXVlc3RzIGNvbnRh aW4gc3RyaW5ncyB0aGF0DQo+ICsgIGNhbiBub3QgYmUgcGFyc2VkIGFzIG51bWJlcnMgZm9yIFRy aWUgZmllbGRzLiAoSmVmZiBDcnVtcCBhbmQgaG9zc21hbikNCj4NCj4gICogU09MUi0yOTAyOiBM aXN0IG9mIGNvbGxhdGlvbnMgYXJlIHdyb25nIHBhcnNlZCBpbiBTcGVsbENoZWNrUmVzcG9uc2Ug Y2F1c2luZw0KPiAgICBhIHdyb25nIG51bWJlciBvZiBjb2xsYXRpb24gcmVzdWx0cyBpbiB0aGUg cmVzcG9uc2UuDQo+ICAgIChCYXN0aWFhbiBWZXJob2VmLCBKYW1lcyBEeWVyIHZpYSBTaW1vbiBX aWxsbmF1ZXIpDQo+DQo+IC0qIFNPTFItMTczMDogTWFkZSBpdCBjbGVhcmVyIHdoZW4gYSBjb3Jl IGZhaWxlZCB0byBsb2FkIGFzIHdlbGwgYXMgYmV0dGVyIGxvZ2dpbmcgd2hlbiB0aGUNCj4gLSAg UXVlcnlFbGV2YXRpb25Db21wb25lbnQgZmFpbHMgdG8gcHJvcGVybHkgaW5pdGlhbGl6ZSAoZ3Np bmdlcnMpDQo+ICsqIFNPTFItMjg3NTogRml4IHRoZSBpbmNvcnJlY3QgdXJsIGluIERJSCBleGFt cGxlIHRpa2EtZGF0YS1jb25maWcueG1sDQo+ICsgIChTaGluaWNoaXJvIEFiZSB2aWEga29qaSkN Cj4NCj4gLSogaw0KPiAtICAoUnVzc2VsbCBCbGFjayB2aWEgTWFydGlqbiB2YW4gR3JvbmluZ2Vu KQ0KPiAtDQo+IC0gT3RoZXIgQ2hhbmdlcw0KPiArT3RoZXIgQ2hhbmdlcw0KPiAgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPg0KPiAgKiBTT0xSLTI3NTA6IE1ha2UgYm90aCAidXBkYXRlLmNoYWlu IiBhbmQgdGhlIGRlcHJlY2F0ZWQgInVwZGF0ZS5wYXJhbSIgd29yaw0KPiBAQCAtNTM3LDE1ICsx NjgzLDYgQEAgQnVnIEZpeGVzDQo+ICAgIG1vZHVsZSB0byB0aGUgby5hLnMudXRpbCBwYWNrYWdl IGluIHRoZSBTb2xyIGNvcmUgbW9kdWxlLg0KPiAgICAoRGF2aWQgU21pbGV5IHZpYSBTdGV2ZSBS b3dlKQ0KPg0KPiAtKiBTT0xSLTI3NTY6IE1hdmVuIGNvbmZpZ3VyYXRpb246IFJlbW92ZWQgdW51 c2VkIHpvb2tlZXBlciBkZXBlbmRlbmN5Ow0KPiAtICBjb25kaXRpb25hbGl6ZWQgZ2Vyb25pbW8t c3RheC1hcGkgZGVwZW5kZW5jeSB0byBiZSBpbiBmb3JjZSBvbmx5IHVuZGVyDQo+IC0gIEphdmEg MS41OyBleGNsdWRlZCB0cmFuc2l0aXZlIHN0YXg6c3RheC1hcGkgZGVwZW5kZW5jeSBmcm9tDQo+ IC0gIG9yZy5jb2RlaGF1cy53b29kc3RveDp3c3R4LWFzbCBkZXBlbmRlbmN5LiAoRGF2aWQgU21p bGV5LCBTdGV2ZSBSb3dlKQ0KPiAtDQo+IC0qIFNPTFItMjc3MDogJ2FudCBnZW5lcmF0ZS1tYXZl bi1hcnRpZmFjdHMnIHNob3VsZCBnZW5lcmF0ZSB0aGUgbWF2ZW4NCj4gLSAgYXJ0aWZhY3QgZm9y IHRoZSBTb2xyLXNwZWNpZmljIGpkazE1LWNvbXBpbGVkIGNhcnJvdDItY29yZSBkZXBlbmRlbmN5 Lg0KPiAtICAoU3RldmUgUm93ZSkNCj4gLQ0KPiAgKiBTT0xSLTI3NjY6IFBhY2thZ2UgaW5kaXZp ZHVhbCBqYXZhZG9jIHNpdGVzIGZvciBzb2xyaiBhbmQgdGVzdC1mcmFtZXdvcmsuDQo+ICAgIChT dGV2ZSBSb3dlLCBNaWtlIE1jQ2FuZGxlc3MpDQo+DQo+IEBAIC01NjIsOSArMTY5OSw2IEBAIEJ1 ZyBGaXhlcw0KPg0KPiAgKiBTT0xSLTI3OTI6IEFsbG93IGNhc2UgaW5zZW5zaXRpdmUgSHVuc3Bl bGwgc3RlbW1pbmcgKGphbmhveSwgcm11aXIpDQo+DQo+IC0qIFNPTFItMjU4ODogTW92ZWQgVmVs b2NpdHlSZXNwb25zZVdyaXRlciBiYWNrIHRvIGNvbnRyaWIgbW9kdWxlIGluIG9yZGVyIHRvDQo+ IC0gIHJlbW92ZSBpdCBhcyBhIG1hbmRhdG9yeSBjb3JlIGRlcGVuZGVuY3kuICAoRXJpayBIYXRj aGVyKQ0KPiAtDQo+ICAqIFNPTFItMjg2MjogTW9yZSBleHBsaWNpdCBsZXhpY2FsIHJlc291cmNl cyBsb2NhdGlvbiBsb2dnZWQgaWYgQ2Fycm90MiBjbHVzdGVyaW5nDQo+ICAgIGV4dGVuc2lvbiBp cyB1c2VkLiBGaXhlZCBzb2xyLiBpbXBsLiBvZiBJUmVzb3VyY2UgYW5kIElSZXNvdXJjZUxvb2t1 cC4gKERhd2lkIFdlaXNzKQ0KPg0KPiBAQCAtNTcyLDEwICsxNzA2LDkgQEAgQnVnIEZpeGVzDQo+ DQo+ICAqIFNPTFItMjU5MTogUmVtb3ZlIGNvbW1pdExvY2tUaW1lb3V0IG9wdGlvbiBmcm9tIHNv bHJjb25maWcueG1sIChMdWNhIENhdmFubmEgdmlhIE1hcnRpam4gdmFuIEdyb25pbmdlbikNCj4N Cj4gLSogU09MUi0xMTIzOiBDaGFuZ2VkIEpTT05SZXNwb25zZVdyaXRlciB0byBub3cgdXNlIGFw cGxpY2F0aW9uL2pzb24gYXMgaXRzIENvbnRlbnQtVHlwZQ0KPiAtICBieSBkZWZhdWx0LiAgSG93 ZXZlciB0aGUgQ29udGVudC1UeXBlIGNhbiBiZSBvdmVyd3JpdHRlbiBhbmQgaXMgc2V0IHRvIHRl eHQvcGxhaW4gaW4NCj4gLSAgdGhlIGV4YW1wbGUgY29uZmlndXJhdGlvbi4gKFVyaSBCb25lc3Ms IENocmlzIE1hbGUpDQo+IC0NCj4gKyogU09MUi0yNzQ2OiBVcGdyYWRlZCBVSU1BIGRlcGVuZGVu Y2llcyBmcm9tICotMi4zLjEtU05BUFNIT1QuamFyIHRvICotMi4zLjEuamFyLg0KPiArDQo+ICsN Cj4gID09PT09PT09PT09PT09PT09PSAgMy40LjAgID09PT09PT09PT09PT09PT09PQ0KPg0KPiAg VXBncmFkaW5nIGZyb20gU29sciAzLjMNCj4gQEAgLTYwOSwxMCArMTc0Miw2IEBAIE5ldyBGZWF0 dXJlcw0KPiAgKiBTT0xSLTI1NDA6IENvbW1pdFdpdGhpbiBhcyBhbiBVcGRhdGUgUmVxdWVzdCBw YXJhbWV0ZXINCj4gICAgWW91IGNhbiBub3cgc3BlY2lmeSAmY29tbWl0V2l0aGluPU4gKG1zKSBv biB0aGUgdXBkYXRlIHJlcXVlc3QgKGphbmhveSkNCj4NCj4gLSogU09MUi0yMzgzOiAvYnJvd3Nl IGltcHJvdmVtZW50czogZ2VuZXJhbGl6ZSByYW5nZSBhbmQgZGF0ZSBmYWNldCBkaXNwbGF5DQo+ IC0gIEJhY2twb3J0ZWQgZnJvbSB0cnVuay4gUmVtb3ZlZCBmYWNldC5kYXRlIHN1cHBvcnQgaW4g VmVsb2NpdHksIHNpbmNlIHRoaXMgaXMNCj4gLSAgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBmYWNl dC5yYW5nZSAoZ3NpbmdlcnMsIGphbmhveSkNCj4gLQ0KPiAgKiBTT0xSLTI0NTg6IHBvc3QuamFy IGVuaGFuY2VkIHRvIGhhbmRsZSBKU09OLCBDU1YgYW5kIDxvcHRpbWl6ZT4gKGphbmhveSkNCj4N Cj4gICogTFVDRU5FLTMyMzQ6IGFkZCBhIG5ldyBwYXJhbWV0ZXIgaGwucGhyYXNlTGltaXQgZm9y IEZhc3RWZWN0b3JIaWdobGlnaHRlciBzcGVlZCB1cC4NCj4gQEAgLTY3Niw3ICsxODA1LDcgQEAg QnVnIEZpeGVzDQo+ICAqIFNPTFItMjYyNTogVGVybVZlY3RvckNvbXBvbmVudCB0aHJvd3MgTlBF IGlmIFRGLUlERiBvcHRpb24gaXMgdXNlZCB3aXRob3V0IERGDQo+ICAgIG9wdGlvbi4gKERhbmll bCBFcmVucmljaCwgU2ltb24gV2lsbG5hdWVyKQ0KPg0KPiAtKiBTT0xSLTI2MzE6IFBpbmdSZXF1 ZXN0SGFuZGxlciBzaG91bGQgbm90IGFsbG93IHRvIHBpbmcgaXRzc2VsZiB1c2luZyAicXQiDQo+ ICsqIFNPTFItMjYzMTogUGluZ1JlcXVlc3RIYW5kbGVyIHNob3VsZCBub3QgYWxsb3cgdG8gcGlu ZyBpdHNlbGYgdXNpbmcgInF0Ig0KPiAgICBwYXJhbSB0byBwcmV2ZW50IGluZmluaXRlIGxvb3Au IChFZG9hcmRvIFRvc2NhLCBVd2UgU2NoaW5kbGVyKQ0KPg0KPiAgKiBTT0xSLTI2MzY6IEZpeCBl eHBsYWluIGZ1bmN0aW9uYWxpdHkgZm9yIG5lZ2F0aXZlIHF1ZXJpZXMuIChUb20gSGlsbCB2aWEg eW9uaWspDQo+IEBAIC03MjIsMjIgKzE4NTEsNDMgQEAgQnVnIEZpeGVzDQo+ICAgIGluIHNlcnZs ZXQgY29udGFpbmVycyBzdWNoIGFzIFdlYlNwaGVyZSB0aGF0IGRvIG5vdCB1c2UgYSBkZWZhdWx0 IGxpc3QNCj4gICAgKEpheSBSLiBKYWVnZXIsIGhvc3NtYW4pDQo+DQo+IC0qIFNPTFItMjY4Mjog UmVtb3ZlIGFkZEV4Y2VwdGlvbigpIGluIFNpbXBsZUZhY2V0LiBGYWNldENvbXBvbmVudCBubyBs b25nZXIgY2F0Y2hlcyBhbmQgZW1iZWRzDQo+IC0gIGV4Y2VwdGlvbnMgb2NjdXJyZWQgZHVyaW5n IGZhY2V0IHByb2Nlc3NpbmcsIGl0IHRocm93cyBIVFRQIDQwMCBvciA1MDAgZXhjZXB0aW9ucyBp bnN0ZWFkLiAoa29qaSkNCj4gLQ0KPiAgKiBTT0xSLTI2MDY6IEZpeGVkIHNvcnQgcGFyc2luZyBv ZiBmaWVsZHMgY29udGFpbmluZyBwdW5jdHVhdGlvbiB0aGF0DQo+ICAgIGZhaWxlZCBkdWUgdG8g c29ydCBieSBmdW5jdGlvbiBjaGFuZ2VzIGludHJvZHVjZWQgaW4gU09MUi0xMjk3DQo+ICAgIChN aXRzdSBIYWRlaXNoaSwgaG9zc21hbikNCj4NCj4gLSogU09MUi0yNzM0OiBGaXggZGVidWcgaW5m byBmb3IgTW9yTGlrZVRoaXNIYW5kbGVyIChpbnRyb2R1Y2VkIHdoZW4gU09MUi04NjAgd2FzIGJh Y2twb3J0ZWQgdG8gM3gpLg0KPiAtICAoQW5kcsODwqlzIENvYmFzLCBob3NzbWFuIHZpYSBrb2pp KQ0KPiArKiBTT0xSLTI3MDY6IGNvbnRyaWIvY2x1c3RlcmluZzogVGhlIGNhcnJvdC5sZXhpY2Fs UmVzb3VyY2VzRGlyIHBhcmFtZXRlcg0KPiArICBub3cgd29ya3Mgd2l0aCBhYnNvbHV0ZSBkaXJl Y3RvcmllcyAoU3RhbmlzbGF3IE9zaW5za2kpDQo+ICsNCj4gKyogU09MUi0yNjkyOiBjb250cmli L2NsdXN0ZXJpbmc6IFR5cG8gaW4gcGFyYW0gbmFtZSBmaXhlZDogImNhcnJvdC5mcmFnemlzZSIN Cj4gKyAgY2hhbmdlZCB0byAiY2Fycm90LmZyYWdTaXplIiAoU3RhbmlzbGF3IE9zaW5za2kpLg0K PiArDQo+ICsqIFNPTFItMjY0NDogV2hlbiB1c2luZyBESUggd2l0aCB0aHJlYWRzPTIgdGhlIGRl ZmF1bHQgbG9nZ2luZyBpcyBzZXQgdG9vIGhpZ2gNCj4gKyAgKEJpbGwgQmVsbCB2aWEgc2hhbGlu KQ0KPiArDQo+ICsqIFNPTFItMjQ5MjogRElIIGRvZXMgbm90IGNvbW1pdCBpZiBvbmx5IGRlbGV0 ZXMgYXJlIHByb2Nlc3NlZA0KPiArICAoSmFtZXMgRHllciB2aWEgc2hhbGluKQ0KPiArDQo+ICsq IFNPTFItMjE4NjogRGF0YUltcG9ydEhhbmRsZXIncyBtdWx0aS10aHJlYWRlZCBvcHRpb24gdGhy b3dzIE5QRQ0KPiArICAoTGFuY2UgTm9yc2tvZywgRnJhbmsgV2VzZW1hbm4sIHNoYWxpbikNCj4g Kw0KPiArKiBTT0xSLTI2NTU6IERJSCBtdWx0aSB0aHJlYWRlZCBtb2RlIGRvZXMgbm90IHJlc29s dmUgYXR0cmlidXRlcyBjb3JyZWN0bHkNCj4gKyAgKEZyYW5rIFdlc2VtYW5uLCBzaGFsaW4pDQo+ DQo+IC0gT3RoZXIgQ2hhbmdlcw0KPiArKiBTT0xSLTI2OTU6IERJSDogRG9jdW1lbnRzIGFyZSBj b2xsZWN0ZWQgaW4gdW5zeW5jaHJvbml6ZWQgbGlzdCBpbg0KPiArICBtdWx0aS10aHJlYWRlZCBk ZWJ1ZyBtb2RlIChNaWNoYWVsIE1jQ2FuZGxlc3MsIHNoYWxpbikNCj4gKw0KPiArKiBTT0xSLTI2 Njg6IERJSCBtdWx0aXRocmVhZGVkIG1vZGUgZG9lcyBub3Qgcm9sbGJhY2sgb24gZXJyb3JzIGZy b20NCj4gKyAgRW50aXR5UHJvY2Vzc29yIChGcmFuayBXZXNlbWFubiwgc2hhbGluKQ0KPiArDQo+ ICtPdGhlciBDaGFuZ2VzDQo+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+DQo+ICAqIFNPTFIt MjYyOTogRWxpbWluYXRlIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGluIHNvbWUgSlNQcy4NCj4gICAg KEJlcm5kIEZlaGxpbmcsIGhvc3NtYW4pDQo+DQo+ICsqIFNPTFItMjc0MzogUmVtb3ZlIGNvbW1v bnMgbG9nZ2luZyBmcm9tIGNvbnRyaWIvZXh0cmFjdGlvbi4gKGtvamkpDQo+ICsNCj4gKw0KPiAg QnVpbGQNCj4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4NCj4gQEAgLTc4NSw3ICsxOTM1LDcg QEAgVXBncmFkaW5nIGZyb20gU29sciAzLjIuMA0KPiAgTmV3IEZlYXR1cmVzDQo+ICAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+DQo+IC0qIFNPTFItMjM3ODogQSBuZXcsIGF1dG9tYXRvbi1iYXNl ZCwgaW1wbGVtZW50YXRpb24gb2Ygc3VnZ2VzdCAoYXV0b2NvbXBsZXRlKQ0KPiArKiBTT0xSLTIz Nzg6IEEgbmV3LCBhdXRvbWF0b24tYmFzZWQsIGltcGxlbWVudGF0aW9uIG9mIHN1Z2dlc3QgKGF1 dG9jb21wbGV0ZSkNCj4gICAgY29tcG9uZW50LCBvZmZlcmluZyBhbiBvcmRlciBvZiBtYWduaXR1 ZGUgc21hbGxlciBtZW1vcnkgY29uc3VtcHRpb24NCj4gICAgY29tcGFyZWQgdG8gdGVybmFyeSB0 cmVlcyBhbmQgamFzcGVsbCBhbmQgdmVyeSBmYXN0IGxvb2t1cHMgYXQgcnVudGltZS4NCj4gICAg KERhd2lkIFdlaXNzKQ0KPiBAQCAtNzk1LDcgKzE5NDUsNyBAQCBOZXcgRmVhdHVyZXMNCj4gICAg VGhlIG91dHB1dCBjb250YWlucyBhIHNlcGFyYXRlIGludFtdIGF0dHJpYnV0ZSBjb250YWluaW5n IGFsbCBwb3NpdGlvbnMgZnJvbQ0KPiAgICBwcmV2aW91cyBUb2tlbml6ZXJzL1Rva2VuRmlsdGVy cyAoY2FsbGVkICJwb3NpdGlvbkhpc3RvcnkiKS4NCj4gICAgKFV3ZSBTY2hpbmRsZXIpDQo+IC0N Cj4gKw0KPiAgKiBTT0xSLTI1MjQ6IChTT0xSLTIzNiwgU09MUi0yMzcsIFNPTFItMTc3MywgU09M Ui0xMzExKSBHcm91cGluZyAvIEZpZWxkIGNvbGxhcHNpbmcNCj4gICAgdXNpbmcgdGhlIEx1Y2Vu ZSBncm91cGluZyBjb250cmliLiBUaGUgc2VhcmNoIHJlc3VsdCBjYW4gYmUgZ3JvdXBlZCBieSBm aWVsZCBhbmQgcXVlcnkuDQo+ICAgIChNYXJ0aWpuIHZhbiBHcm9uaW5nZW4sIEVtbWFudWVsIEtl bGxlciwgU2hhbGluIFNoZWtoYXIgTWFuZ2FyLCBLb2ppIFNla2lndWNoaSwNCj4gQEAgLTgwNCwx MSArMTk1NCwxOCBAQCBOZXcgRmVhdHVyZXMNCj4gICAgIEthcnN0ZW4gU3BlcmxpbmcsIE1pY2hh ZWwgR3VuZGxhY2gsIE9sZWcgR25hdG92c2tpeSwgVGhvbWFzIFRyYWVnZXIsDQo+ICAgICBIYXJp c2ggQWdhcndhbCwgeW9uaWssIE1pY2hhZWwgTWNDYW5kbGVzcywgQmlsbCBCZWxsKQ0KPg0KPiAt KiBTT0xSLTEzMzE6IEFkZGVkIGEgc3JjQ29yZSBwYXJhbWV0ZXIgdG8gQ29yZUFkbWluSGFuZGxl cidzIG1lcmdlaW5kZXhlcyBhY3Rpb24NCj4gKyogU09MUi0xMzMxIC0tIEFkZGVkIGEgc3JjQ29y ZSBwYXJhbWV0ZXIgdG8gQ29yZUFkbWluSGFuZGxlcidzIG1lcmdlaW5kZXhlcyBhY3Rpb24NCj4g ICAgdG8gbWVyZ2Ugb25lIG9yIG1vcmUgY29yZXMnIGluZGV4ZXMgdG8gYSB0YXJnZXQgY29yZSAo c2hhbGluKQ0KPg0KPiAgKiBTT0xSLTI2MTAgLS0gQWRkIGFuIG9wdGlvbiB0byBkZWxldGUgaW5k ZXggdGhyb3VnaCBDb3JlQWRtaW4gVU5MT0FEIGFjdGlvbiAoc2hhbGluKQ0KPg0KPiArKiBTT0xS LTI0ODA6IEFkZCBpZ25vcmVUaWthRXhjZXB0aW9uIGZsYWcgdG8gdGhlIGV4dHJhY3Rpb24gcmVx dWVzdCBoYW5kbGVyIHNvDQo+ICsgIHRoYXQgdXNlcnMgY2FuIGlnbm9yZSBUaWthRXhjZXB0aW9u IGJ1dCBpbmRleCBtZXRhIGRhdGEuDQo+ICsgIChTaGluaWNoaXJvIEFiZSwga29qaSkNCj4gKw0K PiArKiBTT0xSLTI1ODI6IFVzZSB1bmlxdWVLZXkgZm9yIGVycm9yIGxvZyBpbiBVSU1BVXBkYXRl UmVxdWVzdFByb2Nlc3Nvci4NCj4gKyAgKFRvbW1hc28gVGVvZmlsaSB2aWEga29qaSkNCj4gKw0K PiAgT3B0aW1pemF0aW9ucw0KPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPg0KPiBAQCAtODI4 LDE1ICsxOTg1LDIyIEBAIEJ1ZyBGaXhlcw0KPiAgICBwYXJhbWV0ZXIgaXMgYWRkZWQgdG8gYXZv aWQgZXhjZXNzaXZlIENQVSB0aW1lIGluIGV4dHJlbWUgY2FzZXMgKGUuZy4gbG9uZw0KPiAgICBx dWVyaWVzIHdpdGggbWFueSBtaXNzcGVsbGVkIHdvcmRzKS4gIChKYW1lcyBEeWVyIHZpYSBybXVp cikNCj4NCj4gKyogU09MUi0yNTc5OiBVSU1BVXBkYXRlUmVxdWVzdFByb2Nlc3NvciBpZ25vcmUg ZXJyb3IgZmFpbHMgaWYgdGV4dC5sZW5ndGgoKSA8IDEwMC4NCj4gKyAgKEVsbWVyIEdhcmR1bm8g dmlhIGtvamkpDQo+ICsNCj4gKyogU09MUi0yNTgxOiBVSU1BVG9Tb2xyTWFwcGVyIHdyb25nbHkg aW5zdGFudGlhdGVzIFR5cGUgd2l0aCByZWZsZWN0aW9uLg0KPiArICAoVG9tbWFzbyBUZW9maWxp IHZpYSBrb2ppKQ0KPiArDQo+ICsqIFNPTFItMjU1MTogQ2hlY2sgZGF0YWltcG9ydC5wcm9wZXJ0 aWVzIGZvciB3cml0ZSBhY2Nlc3MgKGlmIGRlbHRhLWltcG9ydCBpcw0KPiArICBzdXBwb3J0ZWQg aW4gRElIIGNvbmZpZ3VyYXRpb24pIGJlZm9yZSBzdGFydGluZyBhbiBpbXBvcnQgKEMgUywgc2hh bGluKQ0KPiArDQo+ICBPdGhlciBDaGFuZ2VzDQo+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ DQo+IC0qIFNPTFItMjYyMDogUmVtb3ZlZCB1bm5lY2Vzc2FyeSBsb2c0aiBqYXIgZnJvbSBjbHVz dGVyaW5nIGNvbnRyaWIgKERhd2lkIFdlaXNzKS4NCj4gLQ0KPiAgKiBTT0xSLTI1NzE6IEFkZCBh IGNvbW1lbnRlZCBvdXQgZXhhbXBsZSBvZiB0aGUgc3BlbGxjaGVja2VyJ3MgdGhyZXNob2xkVG9r ZW5GcmVxdWVuY3kNCj4gICAgcGFyYW1ldGVyIHRvIHRoZSBleGFtcGxlIHNvbHJjb25maWcueG1s LCBhbmQgYWxzbyBhZGQgYSB1bml0IHRlc3QgZm9yIHRoaXMgZmVhdHVyZS4NCj4gICAgKEphbWVz IER5ZXIgdmlhIHJtdWlyKQ0KPiAtDQo+ICsNCj4gICogU09MUi0yNTc2OiBEZXByZWNhdGUgU3Bl bGxpbmdSZXN1bHQuYWRkKFRva2VuIHRva2VuLCBpbnQgZG9jRnJlcSksIHBsZWFzZSB1c2UNCj4g ICAgU3BlbGxpbmdSZXN1bHQuYWRkRnJlcXVlbmN5KFRva2VuIHRva2VuLCBpbnQgZG9jRnJlcSkg aW5zdGVhZC4NCj4gICAgKEphbWVzIER5ZXIgdmlhIHJtdWlyKQ0KPiBAQCAtODU3LDggKzIwMjEs OSBAQCBPdGhlciBDaGFuZ2VzDQo+ICA9PT09PT09PT09PT09PT09PT0gIDMuMi4wICA9PT09PT09 PT09PT09PT09PT0NCj4gIFZlcnNpb25zIG9mIE1ham9yIENvbXBvbmVudHMNCj4gIC0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiArQXBhY2hlIEx1Y2VuZSB0cnVuaw0KPiAgQXBhY2hlIFRpa2EgMC44 DQo+IC1DYXJyb3QyIDMuNS4wDQo+ICtDYXJyb3QyIDMuNC4yDQo+DQo+DQo+ICBVcGdyYWRpbmcg ZnJvbSBTb2xyIDMuMQ0KPiBAQCAtODY4LDYgKzIwMzMsMTAgQEAgVXBncmFkaW5nIGZyb20gU29s ciAzLjENCj4gICAgd2l0aCB1cGRhdGUuY2hhaW4gcmF0aGVyIHRoYW4gdXBkYXRlLnByb2Nlc3Nv ci4gVGhlIGxhdHRlciBzdGlsbCB3b3JrcywNCj4gICAgYnV0IGhhcyBiZWVuIGRlcHJlY2F0ZWQu DQo+DQo+ICsqIDx1aW1hQ29uZmlnLz4ganVzdCBiZW5lYXRoIDxjb25maWc+IC4uLiA8L2NvbmZp Zz4gaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4NCj4gKyAgSXQgc2hvdWxkIG1vdmUgdG8gVUlNQVVw ZGF0ZVJlcXVlc3RQcm9jZXNzb3JGYWN0b3J5IHNldHRpbmcuDQo+ICsgIFNlZSBjb250cmliL3Vp bWEvUkVBRE1FLnR4dCBmb3IgbW9yZSBkZXRhaWxzLiAoU09MUi0yNDM2KQ0KPiArDQo+ICBEZXRh aWxlZCBDaGFuZ2UgTGlzdA0KPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPg0KPiBAQCAtODg4 LDYgKzIwNTcsMTggQEAgTmV3IEZlYXR1cmVzDQo+ICAgIEV4cGxhbmF0aW9uIG9iamVjdHMgaW4g aXQncyByZXNwb25zZXMgaW5zdGVhZCBvZg0KPiAgICBFeHBsYW5hdGlvbi50b1N0cmluZyAgKGhv c3NtYW4pDQo+DQo+ICsqIFNPTFItMjQ0ODogU2VhcmNoIHJlc3VsdHMgY2x1c3RlcmluZyB1cGRh dGVzOiBiaXNlY3Rpbmcgay1tZWFucw0KPiArICBjbHVzdGVyaW5nIGFsZ29yaXRobSBhZGRlZCwg bG9hZGluZyBvZiBDYXJyb3QyIHN0b3Agd29yZHMgZnJvbQ0KPiArICA8c29sci5ob21lPi9jb25m L2NhcnJvdDIgKFNPTFItMjQ0OSksIHVzaW5nIFNvbHIncyBzdG9wd29yZHMudHh0DQo+ICsgIGZv ciBjbHVzdGVyaW5nIChTT0xSLTI0NTApLCBvdXRwdXQgb2YgY2x1c3RlciBzY29yZXMgKFNPTFIt MjUwNSkNCj4gKyAgKFN0YW5pc2xhdyBPc2luc2tpLCBEYXdpZCBXZWlzcykuDQo+ICsNCj4gKyog U09MUi0yNTAzOiBleHRlbmQgVUlNQVVwZGF0ZVJlcXVlc3RQcm9jZXNzb3JGYWN0b3J5IG1hcHBp bmcgZnVuY3Rpb24gdG8NCj4gKyAgbWFwIGZlYXR1cmUgdmFsdWUgdG8gZHluYW1pY0ZpZWxkLiAo a29qaSkNCj4gKw0KPiArKiBTT0xSLTI1MTI6IGFkZCBpZ25vcmVFcnJvcnMgZmxhZyB0byBVSU1B VXBkYXRlUmVxdWVzdFByb2Nlc3NvckZhY3Rvcnkgc28NCj4gKyAgdGhhdCB1c2VycyBjYW4gaWdu b3JlIGV4Y2VwdGlvbnMgaW4gQUUuIChUb21tYXNvIFRlb2ZpbGksIGtvamkpDQo+ICsNCj4gIE9w dGltaXphdGlvbnMNCj4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4NCj4gQEAgLTk2Miw3ICsy MTQzLDcgQEAgT3RoZXIgQ2hhbmdlcw0KPg0KPiAgKiBTT0xSLTIxMDU6IFJlbmFtZSBSZXF1ZXN0 SGFuZGxlciBwYXJhbSAndXBkYXRlLnByb2Nlc3NvcicgdG8gJ3VwZGF0ZS5jaGFpbicuDQo+ICAg ICAgICAgKEphbiBIw4PCuHlkYWhsIHZpYSBNYXJrIE1pbGxlcikNCj4gLQ0KPiArDQo+ICAqIFNP TFItMjQ4NTogRGVwcmVjYXRlIEJhc2VSZXNwb25zZVdyaXRlciwgR2VuZXJpY0JpbmFyeVJlc3Bv bnNlV3JpdGVyLCBhbmQNCj4gICAgR2VuZXJpY1RleHRSZXNwb25zZVdyaXRlci4gIFRoZXNlIGNs YXNzZXMgd2lsbCBiZSByZW1vdmVkIGluIDQuMC4gIChyeWFuKQ0KPg0KPiBAQCAtOTc0LDE2ICsy MTU1LDIyIEBAIE90aGVyIENoYW5nZXMNCj4gICogU09MUi0yNTI4OiBSZW1vdmUgZGVmYXVsdD0i dHJ1ZSIgZnJvbSBIdG1sRW5jb2RlciBpbiBleGFtcGxlIHNvbHJjb25maWcueG1sLA0KPiAgICBi ZWNhdXNlIGh0bWwgZW5jb2RpbmcgY29uZnVzZXMgbm9uLWFzY2lpIHVzZXJzLiAoa29qaSkNCj4N Cj4gKyogU09MUi0yMzg3OiBhZGQgbW9jayBhbm5vdGF0b3JzIGZvciBpbXByb3ZlZCB0ZXN0aW5n IGluIGNvbnRyaWIvdWltYSwNCj4gKyAgKFRvbW1hc28gVGVvZmlsaSB2aWEgcm11aXIpDQo+ICsN Cj4gKyogU09MUi0yNDM2OiBtb3ZlIHVpbWFDb25maWcgdG8gdW5kZXIgdGhlIHVpbWEncyB1cGRh dGUgcHJvY2Vzc29yIGluDQo+ICsgIHNvbHJjb25maWcueG1sLiAgKFRvbW1hc28gVGVvZmlsaSwg a29qaSkNCj4gKw0KPiAgQnVpbGQNCj4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4NCj4gICog TFVDRU5FLTMwMDY6IEJ1aWxkaW5nIGphdmFkb2NzIHdpbGwgZmFpbCBvbiB3YXJuaW5ncyBieSBk ZWZhdWx0LiAgT3ZlcnJpZGUgd2l0aCAtRGZhaWxvbmphdmFkb2N3YXJuaW5nPWZhbHNlIChzYXJv d2UsIGdzaW5nZXJzKQ0KPg0KPiArDQo+ICBEb2N1bWVudGF0aW9uDQo+ICAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+DQo+DQo+IC0NCj4gID09PT09PT09PT09PT09PT09PSAgMy4xLjAgPT09PT09 PT09PT09PT09PT09DQo+ICBWZXJzaW9ucyBvZiBNYWpvciBDb21wb25lbnRzDQo+ICAtLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gQEAgLTExNTYsOCArMjM0Myw4IEBAIE5ldyBGZWF0dXJlcw0KPiAg ICBmb3Igc3BlY2lmeWluZyB3aGVuIHRoZSB1cHBlciAmIGxvd2VyIGVuZCBwb2ludHMgb2YgY29t cHV0ZWQgZGF0ZQ0KPiAgICByYW5nZXMgc2hvdWxkIGJlIGluY2x1ZGVkIGluIHRoZSByYW5nZS4g IExlZ2FsIHZhbHVlcyBhcmU6ICJhbGwiLA0KPiAgICAibG93ZXIiLCAidXBwZXIiLCAiZWRnZSIs IGFuZCAib3V0ZXIiLiAgRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5DQo+IC0gIHRoZSBkZWZh dWx0IHZhbHVlIGlzIHRoZSBzZXQ6IFtsb3dlcix1cHBlcixlZGdlXSwgc28gdGhhdCBhbCByYW5n ZXMNCj4gLSAgYmV0d2VlbiBzdGFydCBhbmQgZWQgYXJlIGluY2x1c2l2ZSBvZiB0aGVpciBlbmRw b2ludHMsIGJ1dCB0aGUNCj4gKyAgdGhlIGRlZmF1bHQgdmFsdWUgaXMgdGhlIHNldDogW2xvd2Vy LHVwcGVyLGVkZ2VdLCBzbyB0aGF0IGFsbCByYW5nZXMNCj4gKyAgYmV0d2VlbiBzdGFydCBhbmQg ZW5kIGFyZSBpbmNsdXNpdmUgb2YgdGhlaXIgZW5kcG9pbnRzLCBidXQgdGhlDQo+ICAgICJiZWZv cmUiIGFuZCAiYWZ0ZXIiIHJhbmdlcyBhcmUgbm90Lg0KPg0KPiAgKiBTT0xSLTk0NTogSlNPTiB1 cGRhdGUgaGFuZGxlciB0aGF0IGFjY2VwdHMgYWRkLCBkZWxldGUsIGNvbW1pdA0KPiBAQCAtMTIy Miw3ICsyNDA5LDcgQEAgTmV3IEZlYXR1cmVzDQo+ICAqIFNPTFItMjEyOTogQWRkZWQgYSBTb2xy IG1vZHVsZSBmb3IgZHluYW1pYyBtZXRhZGF0YSBleHRyYWN0aW9uL2luZGV4aW5nIHdpdGggQXBh Y2hlIFVJTUEuDQo+ICAgIFNlZSBjb250cmliL3VpbWEvUkVBRE1FLnR4dCBmb3IgbW9yZSBpbmZv cm1hdGlvbi4gIChUb21tYXNvIFRlb2ZpbGkgdmlhIHJtdWlyKQ0KPg0KPiAtKiBTT0xSLTIzMjU6 IEFsbG93IHRhZ2dpbmcgYW5kIGV4bGN1c2lvbiBvZiBtYWluIHF1ZXJ5IGZvciBmYWNldGluZy4g KHlvbmlrKQ0KPiArKiBTT0xSLTIzMjU6IEFsbG93IHRhZ2dpbmcgYW5kIGV4Y2x1c2lvbiBvZiBt YWluIHF1ZXJ5IGZvciBmYWNldGluZy4gKHlvbmlrKQ0KPg0KPiAgKiBTT0xSLTIyNjM6IEFkZCBh YmlsaXR5IGZvciBSYXdSZXNwb25zZVdyaXRlciB0byBzdHJlYW0gYmluYXJ5IGZpbGVzIGFzIHdl bGwgYXMNCj4gICAgdGV4dCBmaWxlcy4gIChFcmljIFB1Z2ggdmlhIHlvbmlrKQ0KPiBAQCAtMTIz MSw2ICsyNDE4LDUwIEBAIE5ldyBGZWF0dXJlcw0KPg0KPiAgKiBTT0xSLTEwNTc6IEFkZCBQYXRo SGllcmFyY2h5VG9rZW5pemVyRmFjdG9yeS4gKHJ5YW4sIGtvamkpDQo+DQo+ICsqIFNPTFItMTgw NDogUmUtZW5hYmxlZCBjbHVzdGVyaW5nIGNvbXBvbmVudCBvbiB0cnVuaywgdXBkYXRlZCB0byBs YXRlc3QNCj4gKyAgdmVyc2lvbiBvZiBDYXJyb3QyLiAgTm8gbW9yZSBMR1BMIHJ1bi10aW1lIGRl cGVuZGVuY2llcy4gIFRoaXMgcmVsZWFzZSBvZg0KPiArICBDMiBhbHNvIGRvZXMgbm90IGhhdmUg YSBzcGVjaWZpYyBMdWNlbmUgZGVwZW5kZW5jeS4NCj4gKyAgKFN0YW5pc2xhdyBPc2luc2tpLCBn c2luZ2VycykNCj4gKw0KPiArKiBTT0xSLTIyODI6IEFkZCBkaXN0cmlidXRlZCBzZWFyY2ggc3Vw cG9ydCBmb3Igc2VhcmNoIHJlc3VsdCBjbHVzdGVyaW5nLg0KPiArICAoQnJhZCBHaWFjY2lvLCBE YXdpZCBXZWlzcywgU3RhbmlzbGF3IE9zaW5za2ksIHJtdWlyLCBrb2ppKQ0KPiArDQo+ICsqIFNP TFItMjIxMDogQWRkIGljdS1iYXNlZCB0b2tlbml6ZXIgYW5kIGZpbHRlcnMgdG8gY29udHJpYi9h bmFseXNpcy1leHRyYXMgKHJtdWlyKQ0KPiArDQo+ICsqIFNPTFItMTMzNjogQWRkIFNtYXJ0Q2hp bmVzZSAod29yZCBzZWdtZW50YXRpb24gZm9yIFNpbXBsaWZpZWQgQ2hpbmVzZSkNCj4gKyAgdG9r ZW5pemVyIGFuZCBmaWx0ZXJzIHRvIGNvbnRyaWIvYW5hbHlzaXMtZXh0cmFzIChybXVpcikNCj4g Kw0KPiArKiBTT0xSLTIyMTEsTFVDRU5FLTI3NjM6IEFkZGVkIFVBWDI5VVJMRW1haWxUb2tlbml6 ZXJGYWN0b3J5LCB3aGljaCBpbXBsZW1lbnRzDQo+ICsgIFVBWCMyOSwgYSB1bmljb2RlIGFsZ29y aXRobSB3aXRoIGdvb2QgcmVzdWx0cyBmb3IgbW9zdCBsYW5ndWFnZXMsIGFzIHdlbGwgYXMNCj4g KyAgVVJMIGFuZCBFLW1haWwgdG9rZW5pemF0aW9uIGFjY29yZGluZyB0byB0aGUgcmVsZXZhbnQg UkZDcy4NCj4gKyAgKFRvbSBCdXJ0b24tV2VzdCB2aWEgcm11aXIpDQo+ICsNCj4gKyogU09MUi0y MjM3OiBBZGRlZCBTdGVtcGVsUG9saXNoU3RlbUZpbHRlckZhY3RvcnkgdG8gY29udHJpYi9hbmFs eXNpcy1leHRyYXMgKHJtdWlyKQ0KPiArDQo+ICsqIFNPTFItMTUyNTogYWxsb3cgRElIIHRvIHJl ZmVyIHRvIGNvcmUgcHJvcGVydGllcyAobm9ibGUpDQo+ICsNCj4gKyogU09MUi0xNTQ3OiBESUgg VGVtcGxhdGVUcmFuc2Zvcm1lciBjb3B5IG9iamVjdHMgbW9yZSBpbnRlbGxpZ2VudGx5IHdoZW4g dGhlDQo+ICsgIHRlbXBsYXRlIGlzIGEgc2luZ2xlIHZhcmlhYmxlIChub2JsZSkNCj4gKw0KPiAr KiBTT0xSLTE2Mjc6IERJSCBWYXJpYWJsZVJlc29sdmVyIHNob3VsZCBiZSBmZXRjaGVkIGp1c3Qg aW4gdGltZSAobm9ibGUpDQo+ICsNCj4gKyogU09MUi0xNTgzOiBESUggQ3JlYXRlIERhdGFTb3Vy Y2VzIHRoYXQgcmV0dXJuIElucHV0U3RyZWFtIChub2JsZSkNCj4gKw0KPiArKiBTT0xSLTEzNTg6 IEludGVncmF0aW9uIG9mIFRpa2EgYW5kIERhdGFJbXBvcnRIYW5kbGVyIChBa3NoYXkgVWtleSwg bm9ibGUpDQo+ICsNCj4gKyogU09MUi0xNjU0OiBUaWthRW50aXR5UHJvY2Vzc29yIGV4YW1wbGUg YWRkZWQgRElIRXhhbXBsZQ0KPiArICAoQWtzaGF5IFVrZXkgdmlhIG5vYmxlKQ0KPiArDQo+ICsq IFNPTFItMTY3ODogTW92ZSBvbkVycm9yIGhhbmRsaW5nIHRvIERJSCBmcmFtZXdvcmsgKG5vYmxl KQ0KPiArDQo+ICsqIFNPTFItMTM1MjogTXVsdGktdGhyZWFkZWQgaW1wbGVtZW50YXRpb24gb2Yg RElIIChub2JsZSkNCj4gKw0KPiArKiBTT0xSLTE3MjE6IEFkZCBleHBsaWNpdCBvcHRpb24gdG8g cnVuIERhdGFJbXBvcnRIYW5kbGVyIGluIHN5bmNocm9ub3VzIG1vZGUNCj4gKyAgKEFsZXhleSBT ZXJiYSB2aWEgbm9ibGUpDQo+ICsNCj4gKyogU09MUi0xNzM3OiBBZGRlZCBGaWVsZFN0cmVhbURh dGFTb3VyY2UgKG5vYmxlKQ0KPiArDQo+ICsNCj4gIE9wdGltaXphdGlvbnMNCj4gIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4NCj4gQEAgLTEyNTIsNiArMjQ4MywxMyBAQCBPcHRpbWl6YXRpb25z DQo+DQo+ICAqIFNPTFItMjA0NjogYWRkIGNvbW1vbiBmdW5jdGlvbnMgdG8gc2NyaXB0cy11dGls LiAoa29qaSkNCj4NCj4gKyogU09MUi0xNjg0OiBTd2l0Y2ggY2x1c3RlcmluZyBjb21wb25lbnQg dG8gdXNlIHRoZQ0KPiArICBTb2xySW5kZXhTZWFyY2hlci5kb2MoaW50LCBTZXQ8U3RyaW5nPikg bWV0aG9kIGIvYyBpdCBjYW4gdXNlIHRoZSBkb2N1bWVudA0KPiArICBjYWNoZSAoZ3NpbmdlcnMp DQo+ICsNCj4gKyogU09MUi0yMjAwOiBJbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSBvZiBEYXRhSW1w b3J0SGFuZGxlciBmb3IgbGFyZ2UNCj4gKyAgZGVsdGEtaW1wb3J0IHVwZGF0ZXMuIChNYXJrIFdh ZGRsZSB2aWEgcm11aXIpDQo+ICsNCj4gIEJ1ZyBGaXhlcw0KPiAgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiAgKiBTT0xSLTE3Njk6IFNvbHIgMS40IFJlcGxpY2F0aW9uIC0gUmVwZWF0ZXIgdGhy b3dpbmcgTnVsbFBvaW50ZXJFeGNlcHRpb24gKErDg8K2cmdlbiBSeWRlbml1cyB2aWEgbm9ibGUp DQo+IEBAIC0xNTA2LDEwICsyNzQ0LDc0IEBAIEJ1ZyBGaXhlcw0KPiAgKiBTT0xSLTIxOTI6IFN0 cmVhbWluZ1VwZGF0ZVNvbHJTZXJ2ZXIuYmxvY2tVbnRpbEZpbmlzaGVkIHdhcyBub3QNCj4gICAg dGhyZWFkIHNhZmUgYW5kIGNvdWxkIHRocm93IGFuIGV4Y2VwdGlvbi4gKHlvbmlrKQ0KPg0KPiAr KiBTT0xSLTE2OTI6IEZpeCBidWcgaW4gY2x1c3RlcmluZyBjb21wb25lbnQgcmVsYXRpbmcgdG8g Y2Fycm90LnByb2R1Y2VTdW1tYXJ5DQo+ICsgIG9wdGlvbiAoZ3NpbmdlcnMpDQo+ICsNCj4gKyog U09MUi0xNzU2OiBUaGUgZGF0ZS5mb3JtYXQgc2V0dGluZyBmb3IgZXh0cmFjdGlvbiByZXF1ZXN0 IGhhbmRsZXIgY2F1c2VzDQo+ICsgIENsYXNzQ2FzdEV4Y2VwdGlvbiB3aGVuIGVuYWJsZWQgYW5k IHRoZSBjb25maWcgY29kZSB0aGF0IHBhcnNlcyB0aGlzIHNldHRpbmcNCj4gKyAgZG9lcyBub3Qg cHJvcGVybHkgdXNlIHRoZSBzYW1lIGl0ZXJhdG9yIGluc3RhbmNlLg0KPiArICAoQ2hyaXN0b3Bo IEJyaWxsLCBNYXJrIE1pbGxlcikNCj4gKw0KPiArKiBTT0xSLTE2Mzg6IEZpeGVkIE51bGxQb2lu dGVyRXhjZXB0aW9uIGR1cmluZyBESUggaW1wb3J0IGlmIHVuaXF1ZUtleSBpcyBub3QNCj4gKyAg c3BlY2lmaWVkIGluIHNjaGVtYSAoQWtzaGF5IFVrZXkgdmlhIHNoYWxpbikNCj4gKw0KPiArKiBT T0xSLTE2Mzk6IEZpeGVkIG1pc2xlYWRpbmcgZXJyb3IgbWVzc2FnZSB3aGVuIGRhdGFpbXBvcnQu cHJvcGVydGllcyBpcyBub3QNCj4gKyAgd3JpdGFibGUgKHNoYWxpbikNCj4gKw0KPiArKiBTT0xS LTE1OTg6IERJSDogUmVhZGVyIHVzZWQgaW4gUGxhaW5UZXh0RW50aXR5UHJvY2Vzc29yIGlzIG5v dCBleHBsaWNpdGx5DQo+ICsgIGNsb3NlZCAoU2FzY2hhIFN6b3R0IHZpYSBub2JsZSkNCj4gKw0K PiArKiBTT0xSLTE3NTk6IERJSDogJHNraXBEb2Mgd2FzIG5vdCB3b3JraW5nIGNvcnJlY3RseQ0K PiArICAoR2lhbiBNYXJjbyBUYWdsaWFuaSB2aWEgbm9ibGUpDQo+ICsNCj4gKyogU09MUi0xNzYy OiBESUg6IERhdGVGb3JtYXRUcmFuc2Zvcm1lciBkb2VzIG5vdCB3b3JrIGNvcnJlY3RseSB3aXRo DQo+ICsgIG5vbi1kZWZhdWx0IGxvY2FsZSBkYXRlcyAodG9tbXkgY2hoZW5nIHZpYSBub2JsZSkN Cj4gKw0KPiArKiBTT0xSLTE3NTc6IERJSCBtdWx0aXRocmVhZGluZyBzb21ldGltZXMgdGhyb3dz IE5QRSAobm9ibGUpDQo+ICsNCj4gKyogU09MUi0xNzY2OiBESUggd2l0aCB0aHJlYWRzIGVuYWJs ZWQgZG9lc24ndCByZXNwb25kIHRvIHRoZSBhYm9ydCBjb21tYW5kDQo+ICsgIChNaWNoYWVsIEhl bnNvbiB2aWEgbm9ibGUpDQo+ICsNCj4gKyogU09MUi0xNzY3OiBkYXRhaW1wb3J0ZXIuZnVuY3Rp b25zLmVzY2FwZVNxbCgpIGRvZXMgbm90IGVzY2FwZSBiYWNrc2xhc2gNCj4gKyAgY2hhcmFjdGVy IChTZWFuIFRpbW0gdmlhIG5vYmxlKQ0KPiArDQo+ICsqIFNPTFItMTgxMTogZm9ybWF0RGF0ZSBz aG91bGQgdXNlIHRoZSBjdXJyZW50IE5PVyB2YWx1ZSBhbHdheXMNCj4gKyAgKFNlYW4gVGltbSB2 aWEgbm9ibGUpDQo+ICsNCj4gKyogU09MUi0xNzk0OiBEYXRhaW1wb3J0IG9mIENMT0IgZmllbGRz IGZhaWxzIHdoZW4gZ2V0Q2hhcmFjdGVyU3RyZWFtKCkgaXMNCj4gKyAgZGVmaW5lZCBpbiBhIHN1 cGVyY2xhc3MuIChHdW5uYXIgR2F1c2xhYSBCZXJnZW0gdmlhIHJtdWlyKQ0KPiArDQo+ICsqIFNP TFItMjA1NzogRGF0YUltcG9ydEhhbmRsZXIgbmV2ZXIgY2FsbHMgVXBkYXRlUmVxdWVzdFByb2Nl c3Nvci5maW5pc2goKQ0KPiArICAoRHJldyBGYXJyaXMgdmlhIGtvamkpDQo+ICsNCj4gKyogU09M Ui0xOTczOiBFbXB0eSBmaWVsZHMgaW4gWE1MIHVwZGF0ZSBtZXNzYWdlcyBjb25mdXNlIERhdGFJ bXBvcnRIYW5kbGVyLg0KPiArICAoa29qaSkNCj4gKw0KPiArKiBTT0xSLTIyMjE6IFVzZSBTdHJV dGlscy5wYXJzZUJvb2woKSB0byBnZXQgdmFsdWVzIG9mIGJvb2xlYW4gb3B0aW9ucyBpbiBESUgu DQo+ICsgIHRydWUvb24veWVzIChmb3IgVFJVRSkgYW5kIGZhbHNlL29mZi9ubyAoZm9yIEZBTFNF KSBjYW4gYmUgdXNlZCBmb3INCj4gKyAgc3ViLW9wdGlvbnMgKGRlYnVnLCB2ZXJib3NlLCBzeW5j aHJvbm91cywgY29tbWl0LCBjbGVhbiwgb3B0aW1pemUpIGZvcg0KPiArICBmdWxsL2RlbHRhLWlt cG9ydCBjb21tYW5kcy4gKGtvamkpDQo+ICsNCj4gKyogU09MUi0yMzEwOiBESUg6IGdldFRpbWVF bGFwc2VkU2luY2UoKSByZXR1cm5zIGluY29ycmVjdCBob3VyIHZhbHVlIHdoZW4NCj4gKyAgdGhl IGVsYXBzZSBpcyBvdmVyIDYwIGhvdXJzICh0b20gbGl1IHZpYSBrb2ppKQ0KPiArDQo+ICsqIFNP TFItMjI1MjogRElIOiBXaGVuIGEgY2hpbGQgZW50aXR5IGluIG5lc3RlZCBlbnRpdGllcyBpcyBy b290RW50aXR5PSJ0cnVlIiwNCj4gKyAgZGVsdGEtaW1wb3J0IGRvZXNuJ3Qgd29yay4gKGtvamkp DQo+ICsNCj4gKyogU09MUi0yMzMwOiBzb2xyY29uZmlnLnhtbCBmaWxlcyBpbiBleGFtcGxlLURJ SCBhcmUgYnJva2VuLiAoTWF0dCBQYXJrZXIsIGtvamkpDQo+ICsNCj4gKyogU09MUi0xMTkxOiBy ZXNvbHZlIERhdGFJbXBvcnRIYW5kbGVyIGRlbHRhUXVlcnkgY29sdW1uIGFnYWluc3QgcGsgd2hl biBwaw0KPiArICBoYXMgYSBwcmVmaXggKGUuZy4gcGs9ImJvb2suaWQiIGRlbHRhUXVlcnk9InNl bGVjdCBpZCBmcm9tIC4uLiIpLiBNb3JlDQo+ICsgIHVzZWZ1bCBlcnJvciByZXBvcnRpbmcgd2hl biBubyBtYXRjaCBmb3VuZCAocHJldmlvdXNseSBmYWlsZWQgd2l0aCBhDQo+ICsgIE51bGxQb2lu dGVyRXhjZXB0aW9uIGluIGxvZyBhbmQgbm8gY2xlYXIgdXNlciBmZWVkYmFjaykuIChndGhiIHZp YSB5b25paykNCj4gKw0KPiArKiBTT0xSLTIxMTY6IEZpeCBUaWthQ29uZmlnIGNsYXNzbG9hZGVy IGJ1ZyBpbiBUaWthRW50aXR5UHJvY2Vzc29yDQo+ICsgIChNYXJ0aWpuIHZhbiBHcm9uaW5nZW4g dmlhIGhvc3NtYW4pDQo+ICsNCj4gIE90aGVyIENoYW5nZXMNCj4gIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4NCj4gLSogU09MUi0xNjAyOiBSZWZhY3RvciBTT0xSIHBhY2thZ2Ugc3RydWN0dXJl IHRvIGluY2x1ZGUgby5hLnNvbHIucmVzcG9uc2UNCj4gKyogU09MUi0xNjAyOiBSZWZhY3RvciBT T0xSIHBhY2thZ2Ugc3RydWN0dXJlIHRvIGluY2x1ZGUgby5hLnNvbHIucmVzcG9uc2UNCj4gICAg YW5kIG1vdmUgUXVlcnlSZXNwb25zZVdyaXRlcnMgaW4gdGhlcmUNCj4gICAgKENocmlzIEEuIE1h dHRtYW5uLCByeWFuLCBob3NzKQ0KPg0KPiBAQCAtMTUyMiw3ICsyODI0LDcgQEAgT3RoZXIgQ2hh bmdlcw0KPg0KPiAgKiBTT0xSLTE1NjE6IEFkZGVkIEx1Y2VuZSAyLjkuMSBzcGF0aWFsIGNvbnRy aWIgamFyIHRvIGxpYi4gKGdzaW5nZXJzKQ0KPg0KPiAtKiBTT0xSLTE1NzA6IExvZyB3YXJuaW5n cyBpZiB1bmlxdWVLZXkgaXMgbXVsdGktdmFsdWVkIG9yIG5vdCBzdG9yZWQgKGhvc3NtYW4sIHNo YWxpbikNCj4gKyogU09MUi0xNTcwOiBMb2cgd2FybmluZ3MgaWYgdW5pcXVlS2V5IGlzIG11bHRp LXZhbHVlZCBvciBub3Qgc3RvcmVkIChob3NzbWFuLCBzaGFsaW4pDQo+DQo+ICAqIFNPTFItMTU1 ODogUXVlcnlFbGV2YXRpb25Db21wb25lbnQgb25seSB3b3JrcyBpZiB0aGUgdW5pcXVlS2V5IGZp ZWxkIGlzDQo+ICAgIGltcGxlbWVudGVkIHVzaW5nIFN0ckZpZWxkLiAgSW4gcHJldmlvdXMgdmVy c2lvbnMgb2YgU29sciBubyB3YXJuaW5nIG9yDQo+IEBAIC0xNTQzLDcgKzI4NDUsNyBAQCBPdGhl ciBDaGFuZ2VzDQo+DQo+ICAqIFNPTFItMTY2MjogQWRkZWQgSmF2YWRvY3MgaW4gQnVmZmVyZWRU b2tlblN0cmVhbSBhbmQgZml4ZWQgaW5jb3JyZWN0IGNsb25pbmcNCj4gICAgaW4gVGVzdEJ1ZmZl cmVkVG9rZW5TdHJlYW0gKFJvYmVydCBNdWlyLCBVd2UgU2NoaW5kbGVyIHZpYSBzaGFsaW4pDQo+ IC0NCj4gKw0KPiAgKiBTT0xSLTE2NzQ6IEltcHJvdmUgYW5hbHlzaXMgdGVzdHMgYW5kIGN1dCBv dmVyIHRvIG5ldyBUb2tlblN0cmVhbSBBUEkuDQo+ICAgIChSb2JlcnQgTXVpciB2aWEgTWFyayBN aWxsZXIpDQo+DQo+IEBAIC0xNTU2LDEwICsyODU4LDEwIEBAIE90aGVyIENoYW5nZXMNCj4gICog U09MUi0xNTM4OiBSZW9yZGVyaW5nIG9mIG9iamVjdCBhbGxvY2F0aW9ucyBpbiBDb25jdXJyZW50 TFJVQ2FjaGUgdG8gZWxpbWluYXRlDQo+ICAgIChhbiBleHRyZW1lbHkgc21hbGwpIHBvdGVudGlh bCBmb3IgZGVhZGxvY2suDQo+ICAgIChnYWJyaWVsZSByZW56aSB2aWEgaG9zc21hbikNCj4gLQ0K PiArDQo+ICAqIFNPTFItMTU4ODogUmVtb3ZlZCBzb21lIHZlcnkgb2xkIGRlYWQgY29kZS4NCj4g ICAgKENocmlzIEEuIE1hdHRtYW5uIHZpYSBob3NzbWFuKQ0KPiAtDQo+ICsNCj4gICogU09MUi0x Njk2IDogRGVwcmVjYXRlIG9sZCA8aGlnaGxpZ2h0aW5nPiBzeW50YXggYW5kIG1vdmUgY29uZmln dXJhdGlvbiB0byBIaWdobGlnaHRDb21wb25lbnQgKG5vYmxlKQ0KPg0KPiAgKiBTT0xSLTE3Mjc6 IFNvbHJFdmVudExpc3RlbmVyIHNob3VsZCBleHRlbmQgTmFtZWRMaXN0SW5pdGlhbGl6ZWRQbHVn aW4gKG5vYmxlKQ0KPiBAQCAtMTU4MSwxMiArMjg4MywxMiBAQCBPdGhlciBDaGFuZ2VzDQo+ICAg IE5vdGVwYWQuICAocm11aXIsIGhvc3NtYW4pDQo+DQo+ICAqIFNPTFItMTkzODogRWxpc2lvbkZp bHRlckZhY3Rvcnkgd2lsbCB1c2UgYSBkZWZhdWx0IHNldCBvZiBGcmVuY2ggY29udHJhY3Rpb25z DQo+IC0gIGlmIHlvdSBkbyBub3Qgc3VwcGx5IGEgY3VzdG9tIGFydGljbGVzIGZpbGUuICAocm11 aXIpDQo+IC0NCj4gKyAgaWYgeW91IGRvIG5vdCBzdXBwbHkgYSBjdXN0b20gYXJ0aWNsZXMgZmls ZS4gIChybXVpcikNCj4gKw0KPiAgKiBTT0xSLTIwMDM6IFNvbHJSZXNvdXJjZUxvYWRlciB3aWxs IHJlcG9ydCBhbnkgZW5jb2RpbmcgZXJyb3JzLCByYXRoZXIgdGhhbg0KPiAgICBzaWxlbnRseSB1 c2luZyByZXBsYWNlbWVudCBjaGFyYWN0ZXJzIGZvciBpbnZhbGlkIGlucHV0cyAoYmxhcmd5IHZp YSBybXVpcikNCj4NCj4gLSogU09MUi0xODA0OiBHb29nbGUgY29sbGVjdGlvbnMgdXBkYXRlZCB0 byBHb29nbGUgR3VhdmEgKHdoaWNoIGlzIGEgc3VwZXJzZXQgb2YgY29sbGVjdGlvbnMgYW5kIGNv bnRhaW5zIGJ1ZyBmaXhlcykgKGdzaW5nZXJzKQ0KPiArKiBTT0xSLTE4MDQ6IEdvb2dsZSBjb2xs ZWN0aW9ucyB1cGRhdGVkIHRvIEdvb2dsZSBHdWF2YSAod2hpY2ggaXMgYSBzdXBlcnNldCBvZiBj b2xsZWN0aW9ucyBhbmQgY29udGFpbnMgYnVnIGZpeGVzKSAoZ3NpbmdlcnMpDQo+DQo+ICAqIFNP TFItMjAzNDogU3dpdGNoIHRvIEphdmFCaW4gY29kZWMgdmVyc2lvbiAyLiBTdHJpbmdzIGFyZSBu b3cgc2VyaWFsaXplZA0KPiAgICBhcyB0aGUgbnVtYmVyIG9mIFVURi04IGJ5dGVzLCBmb2xsb3dl ZCBieSB0aGUgYnl0ZXMgaW4gVVRGLTguIFByZXZpb3VzbHkNCj4gQEAgLTE1OTUsNyArMjg5Nyw3 IEBAIE90aGVyIENoYW5nZXMNCj4NCj4gICogU09MUi0yMDEzOiBBZGQgbWFwcGluZy1Gb2xkVG9B U0NJSS50eHQgdG8gZXhhbXBsZSBjb25mIGRpcmVjdG9yeS4NCj4gICAgKFN0ZXZlbiBSb3dlIHZp YSBrb2ppKQ0KPiAtDQo+ICsNCj4gICogU09MUi0yMjEzOiBVcGdyYWRlIHRvIGpRdWVyeSAxLjQu MyAoRXJpY2sgRXJpY2tzb24gdmlhIHJ5YW4pDQo+DQo+ICAqIFNPTFItMTgyNjogQWRkIHVuaXQg dGVzdHMgZm9yIGhpZ2hsaWdodGluZyB3aXRoIHRlcm1PZmZzZXRzPXRydWUNCj4gQEAgLTE2MTAs NyArMjkxMiw3IEBAIE90aGVyIENoYW5nZXMNCj4NCj4gICogU09MUi0yMzY1OiBNb3ZlIERJSCBq YXJzIG91dCBvZiBzb2xyLndhciAoRGF2aWQgU21pbGV5IHZpYSB5b25paykNCj4NCj4gLSogU09M Ui0yMzgxOiBJbmNsdWRlIGEgcGF0Y2hlZCB2ZXJzaW9uIG9mIEpldHR5ICg2LjEuMjYgKyBKRVRU WS0xMzQwKQ0KPiArKiBTT0xSLTIzODE6IEluY2x1ZGUgYSBwYXRjaGVkIHZlcnNpb24gb2YgSmV0 dHkgKDYuMS4yNiArIEpFVFRZLTEzNDApDQo+ICAgIHRvIGZpeCBwcm9ibGVtYXRpYyBVVEYtOCBo YW5kbGluZyBmb3Igc3VwcGxlbWVudGFyeSBjaGFyYWN0ZXJzLg0KPiAgICAoQmVybmQgRmVobGlu ZywgdXNjaGluZGxlciwgeW9uaWssIHJtdWlyKQ0KPg0KPiBAQCAtMTYzMCwxMiArMjkzMiwyNiBA QCBPdGhlciBDaGFuZ2VzDQo+ICAgIHNlcnZsZXQgY29udGFpbmVycyB3YXMgdGhlcmVmb3JlIHJl bW92ZWQgYW5kIGlzIG5vdyBpZ25vcmVkIGlmIHNldC4NCj4gICAgT3V0cHV0IGlzIGFsd2F5cyBV VEYtOC4gICh1c2NoaW5kbGVyLCB5b25paywgcm11aXIpDQo+DQo+ICsqIFNPTFItMTQxOiBFcnJv cnMgYW5kIEV4Y2VwdGlvbnMgYXJlIGZvcm1hdGVkIGJ5IFJlc3BvbnNlV3JpdGVyLg0KPiArICAo TWlrZSBTb2tvbG92LCBSaWNoIENhcmllbnMsIERhbmllbCBOYWJlciwgcnlhbikNCj4gKw0KPiAr KiBTT0xSLTE5MDI6IFVwZ3JhZGVkIHRvIFRpa2EgMC44IGFuZCBjaGFuZ2VkIGRlcHJlY2F0ZWQg cGFyc2UgY2FsbA0KPiArDQo+ICsqIFNPTFItMTgxMzogQWRkIElDVTRqIHRvIGNvbnRyaWIvZXh0 cmFjdGlvbiBsaWJzIGFuZCBhZGQgdGVzdHMgZm9yIEFyYWJpYw0KPiArICBleHRyYWN0aW9uIChS b2JlcnQgTXVpciB2aWEgZ3NpbmdlcnMpDQo+ICsNCj4gKyogU09MUi0xODIxOiBGaXggVGltZVpv bmUtZGVwZW5kZW50IHRlc3QgZmFpbHVyZSBpbiBUZXN0RXZhbHVhdG9yQmFnLg0KPiArICAoQ2hy aXMgTWFsZSB2aWEgcm11aXIpDQo+ICsNCj4gKyogU09MUi0yMzY3OiBSZWR1Y2VkIG5vaXNlIGlu IHRlc3Qgb3V0cHV0IGJ5IGVuc3VyaW5nIHRoZSBwcm9wZXJ0aWVzIGZpbGUNCj4gKyAgY2FuIGJl IHdyaXR0ZW4uIChHdW5ubGF1Z3VyIFRob3IgQnJpZW0gdmlhIHJtdWlyKQ0KPiArDQo+ICBCdWls ZA0KPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPg0KPiAgKiBTT0xSLTE1MjI6IEF1dG9tYXRl ZCByZWxlYXNlIHNpZ25pbmcgcHJvY2Vzcy4gKGdzaW5nZXJzKQ0KPg0KPiAtKiBTT0xSLTE4OTE6 IE1ha2UgbHVjZW5lLWphcnMtdG8tc29sciBmYWlsIGlmIGNvcHlpbmcgYW55IG9mIHRoZSBqYXJz IGZhaWxzLCBhbmQNCj4gKyogU09MUi0xODkxOiBNYWtlIGx1Y2VuZS1qYXJzLXRvLXNvbHIgZmFp bCBpZiBjb3B5aW5nIGFueSBvZiB0aGUgamFycyBmYWlscywgYW5kDQo+ICAgIHVwZGF0ZSBjbGVh biB0byByZW1vdmUgdGhlIGphcnMgaW4gdGhhdCBkaXJlY3RvcnkgKE1hcmsgTWlsbGVyKQ0KPg0K PiAgKiBMVUNFTkUtMjQ2NjogQ29tbW9ucy1Db2RlYyB3YXMgdXBncmFkZWQgZnJvbSAxLjMgdG8g MS40LiAocm11aXIpDQo+IEBAIC0xNjU0LDEyMyArMjk3MCw2IEBAIERvY3VtZW50YXRpb24NCj4g ICogU09MUi0xNzkyOiBEb2N1bWVudGVkIHBlY3VsaWFyIGJlaGF2aW9yIG9mIFRlc3RIYXJuZXNz LkxvY2FsUmVxdWVzdEZhY3RvcnkNCj4gICAgKGhvc3NtYW4pDQo+DQo+IC09PT09PT09PT09PT09 PT09PT0gUmVsZWFzZSAxLjQuMSA9PT09PT09PT09PT09PT09PT0NCj4gLVJlbGVhc2UgRGF0ZTog IFNlZSBodHRwOi8vbHVjZW5lLmFwYWNoZS5vcmcvc29sciBmb3IgdGhlIG9mZmljaWFsIHJlbGVh c2UgZGF0ZS4NCj4gLQ0KPiAtVXBncmFkaW5nIGZyb20gU29sciAxLjQNCj4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+IC0NCj4gLVRoaXMgaXMgYSBidWcgZml4IHJlbGVhc2UgLSBubyBjaGFu Z2VzIGFyZSByZXF1aXJlZCB3aGVuIHVwZ3JhZGluZyBmcm9tIFNvbHIgMS40Lg0KPiAtSG93ZXZl ciwgYSByZWluZGV4IGlzIG5lZWRlZCBmb3Igc29tZSBvZiB0aGUgYW5hbHlzaXMgZml4ZXMgdG8g dGFrZSBlZmZlY3QuDQo+IC0NCj4gLVZlcnNpb25zIG9mIE1ham9yIENvbXBvbmVudHMNCj4gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gLUFwYWNoZSBMdWNlbmUgMi45LjMNCj4gLUFw YWNoZSBUaWthIDAuNA0KPiAtQ2Fycm90MiAzLjEuMA0KPiAtDQo+IC1MdWNlbmUgSW5mb3JtYXRp b24NCj4gLS0tLS0tLS0tLS0tLS0tLS0NCj4gLQ0KPiAtU2luY2UgU29sciBpcyBidWlsdCBvbiB0 b3Agb2YgTHVjZW5lLCBtYW55IHBlb3BsZSBhZGQgY3VzdG9taXphdGlvbnMgdG8gU29scg0KPiAt dGhhdCBhcmUgZGVwZW5kZW50IG9uIEx1Y2VuZS4gIFBsZWFzZSBzZWUgaHR0cDovL2x1Y2VuZS5h cGFjaGUub3JnL2phdmEvMl85XzMvLA0KPiAtZXNwZWNpYWxseSBodHRwOi8vbHVjZW5lLmFwYWNo ZS5vcmcvamF2YS8yXzlfMy9jaGFuZ2VzL0NoYW5nZXMuaHRtbCBmb3IgbW9yZQ0KPiAtaW5mb3Jt YXRpb24gb24gdGhlIHZlcnNpb24gb2YgTHVjZW5lIHVzZWQgaW4gU29sci4NCj4gLQ0KPiAtQnVn IEZpeGVzDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IC0NCj4gLSogU09MUi0xOTM0OiBV cGdyYWRlIHRvIEFwYWNoZSBMdWNlbmUgMi45LjMgdG8gb2J0YWluIHNldmVyYWwgYnVnDQo+IC0g IGZpeGVzIGZyb20gdGhlIHByZXZpb3VzIDIuOS4xLiAgU2VlIHRoZSBMdWNlbmUgMi45LjMgcmVs ZWFzZSBub3Rlcw0KPiAtICBmb3IgZGV0YWlscy4gIChob3NzbWFuLCBNYXJrIE1pbGxlcikNCj4g LQ0KPiAtKiBTT0xSLTE0MzI6IE1ha2UgdGhlIG5ldyBWYWx1ZVNvdXJjZS5nZXRWYWx1ZXMoY29u dGV4dCxyZWFkZXIpIGRlbGVnYXRlDQo+IC0gIHRvIHRoZSBvcmlnaW5hbCBWYWx1ZVNvdXJjZS5n ZXRWYWx1ZXMocmVhZGVyKSBzbyBjdXN0b20gc291cmNlcw0KPiAtICB3aWxsIHdvcmsuICh5b25p aykNCj4gLQ0KPiAtKiBTT0xSLTE1NzI6IEZhc3RMUlVDYWNoZSBjb3JyZWN0bHkgaW1wbGVtZW50 ZWQgdGhlIExSVSBwb2xpY3kgb25seQ0KPiAtICBmb3IgdGhlIGZpcnN0IDJCIGFjY2Vzc2VzLiAo eW9uaWspDQo+IC0NCj4gLSogU09MUi0xNTk1OiBTdHJlYW1pbmdVcGRhdGVTb2xyU2VydmVyIHVz ZWQgdGhlIHBsYXRmb3JtIGRlZmF1bHQgY2hhcmFjdGVyDQo+IC0gIHNldCB3aGVuIHN0cmVhbWlu ZyB1cGRhdGVzLCByYXRoZXIgdGhhbiB1c2luZyBVVEYtOCBhcyB0aGUgSFRUUCBoZWFkZXJzDQo+ IC0gIGluZGljYXRlZCwgbGVhZGluZyB0byBhbiBlbmNvZGluZyBtaXNtYXRjaC4gKGhvc3NtYW4s IHlvbmlrKQ0KPiAtDQo+IC0qIFNPTFItMTY2MDogQ2FwaXRhbGl6YXRpb25GaWx0ZXIgY3Jhc2hl cyBpZiB5b3UgdXNlIHRoZSBtYXhXb3JkQ291bnRPcHRpb24NCj4gLSAgKFJvYmVydCBNdWlyIHZp YSBzaGFsaW4pDQo+IC0NCj4gLSogU09MUi0xNjYyOiBBZGRlZCBKYXZhZG9jcyBpbiBCdWZmZXJl ZFRva2VuU3RyZWFtIGFuZCBmaXhlZCBpbmNvcnJlY3QgY2xvbmluZw0KPiAtICBpbiBUZXN0QnVm ZmVyZWRUb2tlblN0cmVhbSAoUm9iZXJ0IE11aXIsIFV3ZSBTY2hpbmRsZXIgdmlhIHNoYWxpbikN Cj4gLQ0KPiAtKiBTT0xSLTE3MTE6IFNvbHJKIC0gU3RyZWFtaW5nVXBkYXRlU29sclNlcnZlciBo YWQgYSByYWNlIGNvbmRpdGlvbiB0aGF0DQo+IC0gIGNvdWxkIGhhbHQgdGhlIHN0cmVhbWluZyBv ZiBkb2N1bWVudHMuIFRoZSBvcmlnaW5hbCBwYXRjaCB0byBmaXggdGhpcw0KPiAtICAobmV2ZXIg b2ZmaWNpYWxseSByZWxlYXNlZCkgaW50cm9kdWNlZCBhbm90aGVyIGhhbmdpbmcgYnVnIGR1ZSB0 bw0KPiAtICBjb25uZWN0aW9ucyBub3QgYmVpbmcgcmVsZWFzZWQuICAoQXR0aWxhIEJhYm8sIEVy aWsgSGV0em5lciB2aWEgeW9uaWspDQo+IC0NCj4gLSogU09MUi0xNzQ4LCBTT0xSLTE3NDcsIFNP TFItMTc0NiwgU09MUi0xNzQ1LCBTT0xSLTE3NDQ6IFN0cmVhbXMgYW5kIFJlYWRlcnMNCj4gLSAg cmV0cmlldmVkIGZyb20gQ29udGVudFN0cmVhbXMgYXJlIG5vdCBjbG9zZWQgaW4gdmFyaW91cyBw bGFjZXMsIHJlc3VsdGluZw0KPiAtICBpbiBmaWxlIGRlc2NyaXB0b3IgbGVha3MuDQo+IC0gIChD aHJpc3RvZmYgQnJpbGwsIE1hcmsgTWlsbGVyKQ0KPiAtDQo+IC0qIFNPTFItMTU4MDogU29sciBD b25maWd1cmF0aW9uIGlnbm9yZXMgJ21lcmdlRmFjdG9yJyBwYXJhbWV0ZXIsIGFsd2F5cw0KPiAt ICB1c2VzIEx1Y2VuZSBkZWZhdWx0LiAoTGFuY2UgTm9yc2tvZyB2aWEgTWFyayBNaWxsZXIpDQo+ IC0NCj4gLSogU09MUi0xNzc3OiBmaWVsZFR5cGVzIHdpdGggc29ydE1pc3NpbmdMYXN0PXRydWUg b3Igc29ydE1pc3NpbmdGaXJzdD10cnVlIGNhbg0KPiAtICByZXN1bHQgaW4gaW5jb3JyZWN0bHkg c29ydGVkIHJlc3VsdHMuICAoeW9uaWspDQo+IC0NCj4gLSogU09MUi0xNzk3OiBmaXggQ29uY3Vy cmVudE1vZGlmaWNhdGlvbkV4Y2VwdGlvbiBhbmQgcG90ZW50aWFsIG1lbW9yeQ0KPiAtICBsZWFr cyBpbiBSZXNvdXJjZUxvYWRlci4gKHlvbmlrKQ0KPiAtDQo+IC0qIFNPTFItMTc5ODogU21hbGwg bWVtb3J5IGxlYWsgKH4xMDAgYnl0ZXMpIGluIGZhc3RMUlVDYWNoZSBmb3IgZXZlcnkNCj4gLSAg Y29tbWl0LiAoeW9uaWspDQo+IC0NCj4gLSogU09MUi0xNTIyOiBTaG93IHByb3BlciBtZXNzYWdl IGlmIDxzY3JpcHQ+IHRhZyBpcyBtaXNzaW5nIGZvciBESUgNCj4gLSAgU2NyaXB0VHJhbnNmb3Jt ZXIgKG5vYmxlKQ0KPiAtDQo+IC0qIFNPTFItMTUzODogUmVvcmRlcmluZyBvZiBvYmplY3QgYWxs b2NhdGlvbnMgaW4gQ29uY3VycmVudExSVUNhY2hlIHRvIGVsaW1pbmF0ZQ0KPiAtICAoYW4gZXh0 cmVtZWx5IHNtYWxsKSBwb3RlbnRpYWwgZm9yIGRlYWRsb2NrLg0KPiAtICAoZ2FicmllbGUgcmVu emkgdmlhIGhvc3NtYW4pDQo+IC0NCj4gLSogU09MUi0xNTU4OiBRdWVyeUVsZXZhdGlvbkNvbXBv bmVudCBvbmx5IHdvcmtzIGlmIHRoZSB1bmlxdWVLZXkgZmllbGQgaXMNCj4gLSAgaW1wbGVtZW50 ZWQgdXNpbmcgU3RyRmllbGQuICBJbiBwcmV2aW91cyB2ZXJzaW9ucyBvZiBTb2xyIG5vIHdhcm5p bmcgb3INCj4gLSAgZXJyb3Igd291bGQgYmUgZ2VuZXJhdGVkIGlmIHlvdSBhdHRlbXB0ZWQgdG8g dXNlIFF1ZXJ5RWxldmF0aW9uQ29tcG9uZW50LA0KPiAtICBpdCB3b3VsZCBqdXN0IGZhaWwgaW4g dW5leHBlY3RlZCB3YXlzLiAgVGhpcyBoYXMgYmVlbiBjaGFuZ2VkIHNvIHRoYXQgaXQNCj4gLSAg d2lsbCBmYWlsIHdpdGggYSBjbGVhciBlcnJvciBtZXNzYWdlIG9uIGluaXRpYWxpemF0aW9uLiAo aG9zc21hbikNCj4gLQ0KPiAtKiBTT0xSLTE1NjM6IEJpbmFyeSBmaWVsZHMsIGluY2x1ZGluZyB0 cmllLWJhc2VkIG51bWVyaWMgZmllbGRzLCBjYXVzZWQgbnVsbA0KPiAtICBwb2ludGVyIGV4Y2Vw dGlvbnMgaW4gdGhlIGx1a2UgcmVxdWVzdCBoYW5kbGVyLiAoeW9uaWspDQo+IC0NCj4gLSogU09M Ui0xNTc5OiBGaXhlcyB0byBYTUwgZXNjYXBpbmcgaW4gc3RhdHMuanNwDQo+IC0gIChEYXZpZCBC b3dlbiBhbmQgaG9zc21hbikNCj4gLQ0KPiAtKiBTT0xSLTE1ODI6IGNvcHlGaWVsZCB3YXMgaWdu b3JlZCBmb3IgQmluYXJ5RmllbGQgdHlwZXMgKGdzaW5nZXJzKQ0KPiAtDQo+IC0qIFNPTFItMTU5 NjogQSByb2xsYmFjayBvcGVyYXRpb24gZm9sbG93ZWQgYnkgdGhlIHNodXRkb3duIG9mIFNvbHIN Cj4gLSAgb3IgdGhlIGNsb3NlIG9mIGEgY29yZSByZXN1bHRlZCBpbiBhIHdhcm5pbmc6DQo+IC0g ICJTRVZFUkU6IFNvbHJJbmRleFdyaXRlciB3YXMgbm90IGNsb3NlZCBwcmlvciB0byBmaW5hbGl6 ZSgpIiBhbHRob3VnaA0KPiAtICB0aGVyZSB3ZXJlIG5vIG90aGVyIGNvbnNlcXVlbmNlcy4gKHlv bmlrKQ0KPiAtDQo+IC0qIFNPTFItMTY1MTogRml4ZWQgSW5jb3JyZWN0IGRhdGFpbXBvcnQgaGFu ZGxlciBwYWNrYWdlIG5hbWUgaW4gU29sclJlc291cmNlTG9hZGVyDQo+IC0gIChBa3NoYXkgVWtl eSB2aWEgc2hhbGluKQ0KPiAtDQo+IC0qIFNPTFItMTkzNjogVGhlIEpTT04gcmVzcG9uc2UgZm9y bWF0IG5lZWRlZCB0byBlc2NhcGUgdW5pY29kZSBjb2RlIHBvaW50DQo+IC0gIFUrMjAyOCAtICdM SU5FIFNFUEFSQVRPUicgKFJvYmVydCBIb2ZzdHJhLCB5b25paykNCj4gLQ0KPiAtKiBTT0xSLTE4 NTI6IEZpeCBXb3JkRGVsaW1pdGVyRmlsdGVyRmFjdG9yeSBidWcgd2hlcmUgcG9zaXRpb24gaW5j cmVtZW50cw0KPiAtICB3ZXJlIG5vdCBiZWluZyBhcHBsaWVkIHByb3Blcmx5IHRvIHN1YndvcmRz LiAgKFBldGVyIFdvbGFuaW4gdmlhIFJvYmVydCBNdWlyKQ0KPiAtDQo+IC0qIFNPTFItMTcwNjog Zml4ZWQgV29yZERlbGltaXRlckZpbHRlciBmb3IgY2VydGFpbiBjb21iaW5hdGlvbnMgb2Ygb3B0 aW9ucw0KPiAtICB3aGVyZSBpdCB3b3VsZCBvdXRwdXQgaW5jb3JyZWN0IHRva2Vucy4gKFJvYmVy dCBNdWlyLCBDaHJpcyBNYWxlKQ0KPiAtDQo+IC0qIFNPTFItMTk0ODogUGF0dGVyblRva2VuaXpl ckZhY3Rvcnkgc2hvdWxkIHVzZSBwYXJlbnQncyBhcmdzIChrb2ppKQ0KPiAtDQo+IC0qIFNPTFIt MTg3MDogSW5kZXhpbmcgZG9jdW1lbnRzIHVzaW5nIHRoZSAnamF2YWJpbicgZm9ybWF0IG5vIGxv bmdlcg0KPiAtICBmYWlscyB3aXRoIGEgQ2xhc3NDYXN0RXhjZXB0aW9uIHdoZW5Tb2xySW5wdXRE b2N1bWVudHMgY29udGFpbiBmaWVsZA0KPiAtICB2YWx1ZXMgd2hpY2ggYXJlIENvbGxlY3Rpb25z IG9yIG90aGVyIGNsYXNzZXMgdGhhdCBpbXBsZW1lbnQNCj4gLSAgSXRlcmFibGUuIChub2JsZSwg aG9zc21hbikNCj4gLQ0KPiAtKiBTT0xSLTE3NjkgU29sciAxLjQgUmVwbGljYXRpb24gLSBSZXBl YXRlciB0aHJvd2luZyBOdWxsUG9pbnRlckV4Y2VwdGlvbiAobm9ibGUpDQo+IC0NCj4gLQ0KPiAg PT09PT09PT09PT09PT09PT09IFJlbGVhc2UgMS40LjAgPT09PT09PT09PT09PT09PT09DQo+ICBS ZWxlYXNlIERhdGU6ICBTZWUgaHR0cDovL2x1Y2VuZS5hcGFjaGUub3JnL3NvbHIgZm9yIHRoZSBv ZmZpY2lhbCByZWxlYXNlIGRhdGUuDQo+DQo+IEBAIC0xODI2LDEwICszMDI1LDM3IEBAIFVzZSBv ZiB0aGUgImNoYXJzZXQiIG9wdGlvbiB3aGVuIGNvbmZpZ3UNCj4gIEZhY3RvcmllcyBoYXMgYmVl biBkZXByZWNhdGVkIGFuZCB3aWxsIGNhdXNlIGEgd2FybmluZyB0byBiZSBsb2dnZWQuDQo+ICBJ biBmdXR1cmUgdmVyc2lvbnMgb2YgU29sciBhdHRlbXB0aW5nIHRvIHVzZSB0aGlzIG9wdGlvbiB3 aWxsIGNhdXNlIGFuDQo+ICBlcnJvci4gIFNlZSBTT0xSLTE0MTAgZm9yIG1vcmUgaW5mb3JtYXRp b24uDQo+IC0gKiBHcmVla0xvd2VyQ2FzZUZpbHRlckZhY3RvcnkNCj4gLSAqIFJ1c3NpYW5TdGVt RmlsdGVyRmFjdG9yeQ0KPiAtICogUnVzc2lhbkxvd2VyQ2FzZUZpbHRlckZhY3RvcnkNCj4gLSAq IFJ1c3NpYW5MZXR0ZXJUb2tlbml6ZXJGYWN0b3J5DQo+ICsgLSBHcmVla0xvd2VyQ2FzZUZpbHRl ckZhY3RvcnkNCj4gKyAtIFJ1c3NpYW5TdGVtRmlsdGVyRmFjdG9yeQ0KPiArIC0gUnVzc2lhbkxv d2VyQ2FzZUZpbHRlckZhY3RvcnkNCj4gKyAtIFJ1c3NpYW5MZXR0ZXJUb2tlbml6ZXJGYWN0b3J5 DQo+ICsNCj4gK0RJSDogRXZhbHVhdG9yIEFQSSBoYXMgYmVlbiBjaGFuZ2VkIGluIGEgbm9uIGJh Y2stY29tcGF0aWJsZSB3YXkuIFVzZXJzIHdobw0KPiAraGF2ZSBkZXZlbG9wZWQgY3VzdG9tIEV2 YWx1YXRvcnMgd2lsbCBuZWVkIHRvIGNoYW5nZSB0aGVpciBjb2RlIGFjY29yZGluZyB0bw0KPiAr dGhlIG5ldyBBUEkgZm9yIGl0IHRvIHdvcmsuIFNlZSBTT0xSLTk5NiBmb3IgZGV0YWlscy4NCj4g Kw0KPiArRElIOiBUaGUgZm9ybWF0RGF0ZSBldmFsdWF0b3IncyBzeW50YXggaGFzIGJlZW4gY2hh bmdlZC4gVGhlIG5ldyBzeW50YXggaXMNCj4gK2Zvcm1hdERhdGUoPHZhcmlhYmxlPiwgJzxmb3Jt YXRfc3RyaW5nPicpLiBGb3IgZXhhbXBsZSwNCj4gK2Zvcm1hdERhdGUoeC5kYXRlLCAneXl5eS1N TS1kZCcpLiBJbiB0aGUgb2xkIHN5bnRheCwgdGhlIGRhdGUgc3RyaW5nIHdhcw0KPiArd3JpdHRl biB3aXRob3V0IGEgc2luZ2xlLXF1b3Rlcy4gVGhlIG9sZCBzeW50YXggaGFzIGJlZW4gZGVwcmVj YXRlZCBhbmQgd2lsbA0KPiArYmUgcmVtb3ZlZCBpbiAxLjUsIHVudGlsIHRoZW4sIHVzaW5nIHRo ZSBvbGQgc3ludGF4IHdpbGwgbG9nIGEgd2FybmluZy4NCj4gKw0KPiArRElIOiBUaGUgQ29udGV4 dCBBUEkgaGFzIGJlZW4gY2hhbmdlZCBpbiBhIG5vbiBiYWNrLWNvbXBhdGlibGUgd2F5LiBJbg0K PiArcGFydGljdWxhciwgdGhlIENvbnRleHQuY3VycmVudFByb2Nlc3MoKSBtZXRob2Qgbm93IHJl dHVybnMgYSBTdHJpbmcNCj4gK2Rlc2NyaWJpbmcgdGhlIHR5cGUgb2YgdGhlIGN1cnJlbnQgaW1w b3J0IHByb2Nlc3MgaW5zdGVhZCBvZiBhbiBpbnQuDQo+ICtTaW1pbGFyaWx5LCB0aGUgcHVibGlj IGNvbnN0YW50cyBpbiBDb250ZXh0IHZpei4gRlVMTF9EVU1QLCBERUxUQV9EVU1QIGFuZA0KPiAr RklORF9ERUxUQSBhcmUgY2hhbmdlZCB0byBhIFN0cmluZyB0eXBlLiBTZWUgU09MUi05NjkgZm9y IGRldGFpbHMuDQo+ICsNCj4gK0RJSDogVGhlIEVudGl0eVByb2Nlc3NvciBBUEkgaGFzIGJlZW4g c2ltcGxpZmllZCBieSBtb3ZpbmcgbG9naWMgZm9yIGFwcGx5aW5nDQo+ICt0cmFuc2Zvcm1lcnMg YW5kIGhhbmRsaW5nIG11bHRpLXJvdyBvdXRwdXRzIGZyb20gVHJhbnNmb3JtZXJzIGludG8gYW4N Cj4gK0VudGl0eVByb2Nlc3NvcldyYXBwZXIgY2xhc3MuIFRoZSBFbnRpdHlQcm9jZXNzb3IjZGVz dHJveSBpcyBub3cgY2FsbGVkIG9uY2UNCj4gK3BlciBwYXJlbnQtcm93IGF0IHRoZSBlbmQgb2Yg cm93IChlbmQgb2YgZGF0YSkuIEEgbmV3IG1ldGhvZA0KPiArRW50aXR5UHJvY2Vzc29yI2Nsb3Nl IGlzIGFkZGVkIHdoaWNoIGlzIGNhbGxlZCBhdCB0aGUgZW5kIG9mIGltcG9ydC4NCj4gKw0KPiAr RElIOiBJbiBTb2xyIDEuMywgaWYgdGhlIGxhc3RfaW5kZXhfdGltZSB3YXMgbm90IGF2YWlsYWJs ZSAoZmlyc3QgaW1wb3J0KSBhbmQNCj4gK2EgZGVsdGEtaW1wb3J0IHdhcyByZXF1ZXN0ZWQsIGEg ZnVsbC1pbXBvcnQgd2FzIHJ1biBpbnN0ZWFkLiBUaGlzIGlzIG5vIGxvbmdlcg0KPiArdGhlIGNh c2UuIEluIFNvbHIgMS40IGRlbHRhIGltcG9ydCBpcyBydW4gd2l0aCBsYXN0X2luZGV4X3RpbWUg YXMgdGhlIGVwb2NoDQo+ICtkYXRlIChKYW51YXJ5IDEsIDE5NzAsIDAwOjAwOjAwIEdNVCkgaWYg bGFzdF9pbmRleF90aW1lIGlzIG5vdCBhdmFpbGFibGUuDQo+DQo+ICBWZXJzaW9ucyBvZiBNYWpv ciBDb21wb25lbnRzDQo+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IEBAIC0xODc5 LDcgKzMxMDUsNyBAQCBOZXcgRmVhdHVyZXMNCj4gICA3LiBTT0xSLTY4MDogQWRkIFN0YXRzQ29t cG9uZW50LiBUaGlzIGdldHMgc2ltcGxlIHN0YXRpc3RpY3Mgb24gbWF0Y2hlZCBudW1lcmljIGZp ZWxkcywNCj4gICAgICBpbmNsdWRpbmc6IG1pbiwgbWF4LCBtZWFuLCBtZWRpYW4sIHN0ZGRldi4g IChrb2ppLCByeWFuKQ0KPg0KPiAtICAgIDcuMSBTT0xSLTEzODA6IEFkZGVkIHN1cHBvcnQgZm9y IG11bHRpLXZhbHVlZCBmaWVsZHMgKEhhcmlzaCBBZ2Fyd2FsIHZpYSBnc2luZ2VycykNCj4gKyAg ICAtIFNPTFItMTM4MDogQWRkZWQgc3VwcG9ydCBmb3IgbXVsdGktdmFsdWVkIGZpZWxkcyAoSGFy aXNoIEFnYXJ3YWwgdmlhIGdzaW5nZXJzKQ0KPg0KPiAgIDguIFNPTFItNTYxOiBBZGRlZCBSZXBs aWNhdGlvbiBpbXBsZW1lbnRlZCBpbiBKYXZhIGFzIGEgcmVxdWVzdCBoYW5kbGVyLiBTdXBwb3J0 cyBpbmRleCByZXBsaWNhdGlvbg0KPiAgICAgIGFzIHdlbGwgYXMgY29uZmlndXJhdGlvbiByZXBs aWNhdGlvbiBhbmQgZXhwb3NlcyBkZXRhaWxlZCBzdGF0aXN0aWNzIGFuZCBwcm9ncmVzcyBpbmZv cm1hdGlvbg0KPiBAQCAtMjExNiw2ICszMzQyLDE0NiBAQCBOZXcgRmVhdHVyZXMNCj4gIDg0LiBT T0xSLTE0NDk6IEFkZCA8bGliPiBlbGVtZW50cyB0byBzb2xyY29uZmlnLnhtbCB0byBzcGVjaWZ5 aW5nIGFkZGl0aW9uYWwNCj4gICAgICBjbGFzc3BhdGggZGlyZWN0b3JpZXMgYW5kIHJlZ3VsYXIg ZXhwcmVzc2lvbnMuIChob3NzbWFuIHZpYSB5b25paykNCj4NCj4gKzg1LiBTT0xSLTExMjg6IEFk ZGVkIG1ldGFkYXRhIG91dHB1dCB0byBleHRyYWN0aW9uIHJlcXVlc3QgaGFuZGxlciAiZXh0cmFj dA0KPiArICAgIG9ubHkiIG9wdGlvbi4gIChnc2luZ2VycykNCj4gKw0KPiArODYuIFNPTFItMTI3 NDogQWRkZWQgdGV4dCBzZXJpYWxpemF0aW9uIG91dHB1dCBmb3IgZXh0cmFjdE9ubHkNCj4gKyAg ICAoUGV0ZXIgV29sYW5pbiwgZ3NpbmdlcnMpDQo+ICsNCj4gKzg3LiBTT0xSLTc2ODogRElIOiBT ZXQgbGFzdF9pbmRleF90aW1lIHZhcmlhYmxlIGluIGZ1bGwtaW1wb3J0IGNvbW1hbmQuDQo+DQo+ IFsuLi4gNDY0IGxpbmVzIHN0cmlwcGVkIC4uLl0NCj4NCg0KDQoNCi0tDQpsdWNpZHdvcmtzLmNv bQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGRldi11bnN1YnNjcmli ZUBsdWNlbmUuYXBhY2hlLm9yZw0KRm9yIGFkZGl0aW9uYWwgY29tbWFuZHMsIGUtbWFpbDogZGV2 LWhlbHBAbHVjZW5lLmFwYWNoZS5vcmcNCg0KDQo= DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGRldi11bnN1YnNj cmliZUBsdWNlbmUuYXBhY2hlLm9yZw0KRm9yIGFkZGl0aW9uYWwgY29tbWFuZHMsIGUtbWFp bDogZGV2LWhlbHBAbHVjZW5lLmFwYWNoZS5vcmcNCg0K