From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kIT2J-0003Y2-1F for barebox@lists.infradead.org; Wed, 16 Sep 2020 08:43:34 +0000 Date: Wed, 16 Sep 2020 10:43:29 +0200 From: Roland Hieber Message-ID: <20200916084329.3z6cl7u3s3hfmkrl@pengutronix.de> References: <20200915205417.15484-1-u.kleine-koenig@pengutronix.de> <20200915205417.15484-3-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200915205417.15484-3-u.kleine-koenig@pengutronix.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [PATCH 2/7] LICENSES: add used licenses to make spdxcheck happy To: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= Cc: barebox@lists.infradead.org T24gVHVlLCBTZXAgMTUsIDIwMjAgYXQgMTA6NTQ6MTJQTSArMDIwMCwgVXdlIEtsZWluZS1Lw7Zu aWcgd3JvdGU6Cj4gVGhlc2UgYXJlIGNvcGllZCB2ZXJiYXRpbSBmcm9tIHRoZSBMaW51eCBrZXJu ZWwgKDUuOS1yYzMpLiBGcm9tIHRoZQo+IExpbnV4LXN5c2NhbGwtbm90ZSBleGNlcHRpb24gYSBm ZXcgaXRlbXMgaGFkIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUKPiBTUERYLUxpY2Vuc2VzOiBsaXN0 IHRvIG1ha2Ugc3BkeGNoZWNrIGhhcHB5Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFV3ZSBLbGVpbmUt S8O2bmlnIDx1LmtsZWluZS1rb2VuaWdAcGVuZ3V0cm9uaXguZGU+Cj4gLS0tCj4gIExJQ0VOU0VT L2RlcHJlY2F0ZWQvSVNDICAgICAgICAgICAgICAgIHwgIDI0ICsrCj4gIExJQ0VOU0VTL2RlcHJl Y2F0ZWQvWDExICAgICAgICAgICAgICAgIHwgIDM3ICsrCj4gIExJQ0VOU0VTL2R1YWwvQXBhY2hl LTIuMCAgICAgICAgICAgICAgIHwgMTg3ICsrKysrKysrKwo+ICBMSUNFTlNFUy9leGNlcHRpb25z L0xpbnV4LXN5c2NhbGwtbm90ZSB8ICAyNSArKwo+ICBMSUNFTlNFUy9wcmVmZXJyZWQvQlNELTIt Q2xhdXNlICAgICAgICB8ICAzMiArKwo+ICBMSUNFTlNFUy9wcmVmZXJyZWQvTEdQTC0yLjEgICAg ICAgICAgICB8IDUwNCArKysrKysrKysrKysrKysrKysrKysrKysrCj4gIExJQ0VOU0VTL3ByZWZl cnJlZC9MR1BMLTIuMS1vci1sYXRlciAgIHwgNDY4IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g IHNjcmlwdHMvc3BkeGNoZWNrLnB5ICAgICAgICAgICAgICAgICAgIHwgICAzICstCj4gIDggZmls ZXMgY2hhbmdlZCwgODExIGluc2VydGlvbnMoKyksIDQ2OSBkZWxldGlvbnMoLSkKPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IExJQ0VOU0VTL2RlcHJlY2F0ZWQvSVNDCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBMSUNFTlNFUy9kZXByZWNhdGVkL1gxMQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTElDRU5TRVMv ZHVhbC9BcGFjaGUtMi4wCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBMSUNFTlNFUy9leGNlcHRpb25z L0xpbnV4LXN5c2NhbGwtbm90ZQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTElDRU5TRVMvcHJlZmVy cmVkL0JTRC0yLUNsYXVzZQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgTElDRU5TRVMvcHJlZmVycmVk L0xHUEwtMi4xCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBMSUNFTlNFUy9wcmVmZXJyZWQvTEdQTC0y LjEtb3ItbGF0ZXIKPiAKPiBkaWZmIC0tZ2l0IGEvTElDRU5TRVMvZGVwcmVjYXRlZC9JU0MgYi9M SUNFTlNFUy9kZXByZWNhdGVkL0lTQwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw MDAwMDAwMDAwLi44OTUzYzMxNDIwNzkKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvTElDRU5TRVMv ZGVwcmVjYXRlZC9JU0MKPiBAQCAtMCwwICsxLDI0IEBACj4gK1ZhbGlkLUxpY2Vuc2UtSWRlbnRp ZmllcjogSVNDCj4gK1NQRFgtVVJMOiBodHRwczovL3NwZHgub3JnL2xpY2Vuc2VzL0lTQy5odG1s Cj4gK1VzYWdlLUd1aWRlOgo+ICsgIFRvIHVzZSB0aGUgSVNDIExpY2Vuc2UgcHV0IHRoZSBmb2xs b3dpbmcgU1BEWCB0YWcvdmFsdWUgcGFpciBpbnRvIGEKPiArICBjb21tZW50IGFjY29yZGluZyB0 byB0aGUgcGxhY2VtZW50IGd1aWRlbGluZXMgaW4gdGhlIGxpY2Vuc2luZyBydWxlcwo+ICsgIGRv Y3VtZW50YXRpb246Cj4gKyAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogSVNDCj4gK0xpY2Vu c2UtVGV4dDoKPiArCj4gK0lTQyBMaWNlbnNlCj4gKwo+ICtDb3B5cmlnaHQgKGMpIDx5ZWFyPiA8 Y29weXJpZ2h0IGhvbGRlcnM+Cj4gKwo+ICtQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5 LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKPiArcHVycG9zZSB3aXRo IG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92 ZQo+ICtjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhciBp biBhbGwgY29waWVzLgo+ICsKPiArVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5E IFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTCj4gK1dJVEggUkVHQVJEIFRPIFRI SVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKPiArTUVSQ0hB TlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJ QUJMRSBGT1IgQU5ZCj4gK1NQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJ QUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUwo+ICtXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExP U1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OCj4gK09GIENP TlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQg T0YgT1IgSU4KPiArQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJ UyBTT0ZUV0FSRS4KPiBkaWZmIC0tZ2l0IGEvTElDRU5TRVMvZGVwcmVjYXRlZC9YMTEgYi9MSUNF TlNFUy9kZXByZWNhdGVkL1gxMQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw MDAwMDAwLi5mZTQzNTNmZDAwMDAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvTElDRU5TRVMvZGVw cmVjYXRlZC9YMTEKPiBAQCAtMCwwICsxLDM3IEBACj4gK1ZhbGlkLUxpY2Vuc2UtSWRlbnRpZmll cjogWDExCj4gK1NQRFgtVVJMOiBodHRwczovL3NwZHgub3JnL2xpY2Vuc2VzL1gxMS5odG1sCj4g K1VzYWdlLUd1aWRlOgo+ICsgIFRvIHVzZSB0aGUgWDExIHB1dCB0aGUgZm9sbG93aW5nIFNQRFgg dGFnL3ZhbHVlIHBhaXIgaW50byBhIGNvbW1lbnQKPiArICBhY2NvcmRpbmcgdG8gdGhlIHBsYWNl bWVudCBndWlkZWxpbmVzIGluIHRoZSBsaWNlbnNpbmcgcnVsZXMKPiArICBkb2N1bWVudGF0aW9u Ogo+ICsgICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IFgxMQo+ICtMaWNlbnNlLVRleHQ6Cj4g Kwo+ICsKPiArWDExIExpY2Vuc2UKPiArCj4gK0NvcHlyaWdodCAoQykgMTk5NiBYIENvbnNvcnRp dW0KPiArCj4gK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gK2NvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNz b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gK3RvIGRlYWwg aW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxp bWl0YXRpb24KPiArdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxp c2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gK2FuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg U29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ICtTb2Z0d2FyZSBp cyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25z Ogo+ICsKPiArVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu b3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KPiArYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBw b3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCj4gKwo+ICtUSEUgU09GVFdBUkUgSVMgUFJPVklERUQg IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICtJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSwKPiArRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklO RlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCj4gK1ggQ09OU09SVElVTSBCRSBMSUFC TEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIKPiAr SU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9N LCBPVVQgT0YgT1IgSU4KPiArQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KPiArCj4gK0V4Y2VwdCBhcyBjb250 YWluZWQgaW4gdGhpcyBub3RpY2UsIHRoZSBuYW1lIG9mIHRoZSBYIENvbnNvcnRpdW0gc2hhbGwg bm90Cj4gK2JlIHVzZWQgaW4gYWR2ZXJ0aXNpbmcgb3Igb3RoZXJ3aXNlIHRvIHByb21vdGUgdGhl IHNhbGUsIHVzZSBvciBvdGhlcgo+ICtkZWFsaW5ncyBpbiB0aGlzIFNvZnR3YXJlIHdpdGhvdXQg cHJpb3Igd3JpdHRlbiBhdXRob3JpemF0aW9uIGZyb20gdGhlIFgKPiArQ29uc29ydGl1bS4KPiAr Cj4gK1ggV2luZG93IFN5c3RlbSBpcyBhIHRyYWRlbWFyayBvZiBYIENvbnNvcnRpdW0sIEluYy4K PiBkaWZmIC0tZ2l0IGEvTElDRU5TRVMvZHVhbC9BcGFjaGUtMi4wIGIvTElDRU5TRVMvZHVhbC9B cGFjaGUtMi4wCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLjZl ODlkZGVhYjE4Nwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9MSUNFTlNFUy9kdWFsL0FwYWNoZS0y LjAKPiBAQCAtMCwwICsxLDE4NyBAQAo+ICtWYWxpZC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNo ZS0yLjAKPiArU1BEWC1VUkw6IGh0dHBzOi8vc3BkeC5vcmcvbGljZW5zZXMvQXBhY2hlLTIuMC5o dG1sCj4gK1VzYWdlLUd1aWRlOgo+ICsgIERvIE5PVCB1c2UuIFRoZSBBcGFjaGUtMi4wIGlzIG5v dCBHUEwyIGNvbXBhdGlibGUuIEl0IG1heSBvbmx5IGJlIHVzZWQKPiArICBmb3IgZHVhbC1saWNl bnNlZCBmaWxlcyB3aGVyZSB0aGUgb3RoZXIgbGljZW5zZSBpcyBHUEwyIGNvbXBhdGlibGUuCj4g KyAgSWYgeW91IGVuZCB1cCB1c2luZyB0aGlzIGl0IE1VU1QgYmUgdXNlZCB0b2dldGhlciB3aXRo IGEgR1BMMiBjb21wYXRpYmxlCj4gKyAgbGljZW5zZSB1c2luZyAiT1IiLgo+ICsgIFRvIHVzZSB0 aGUgQXBhY2hlIExpY2Vuc2UgdmVyc2lvbiAyLjAgcHV0IHRoZSBmb2xsb3dpbmcgU1BEWCB0YWcv dmFsdWUKPiArICBwYWlyIGludG8gYSBjb21tZW50IGFjY29yZGluZyB0byB0aGUgcGxhY2VtZW50 IGd1aWRlbGluZXMgaW4gdGhlCj4gKyAgbGljZW5zaW5nIHJ1bGVzIGRvY3VtZW50YXRpb246Cj4g KyAgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMAo+ICtMaWNlbnNlLVRleHQ6 Cj4gKwo+ICtBcGFjaGUgTGljZW5zZQo+ICsKPiArVmVyc2lvbiAyLjAsIEphbnVhcnkgMjAwNAo+ ICsKPiAraHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzLwo+ICsKPiArVEVSTVMgQU5EIENP TkRJVElPTlMgRk9SIFVTRSwgUkVQUk9EVUNUSU9OLCBBTkQgRElTVFJJQlVUSU9OCj4gKwo+ICsx LiBEZWZpbml0aW9ucy4KPiArCj4gKyJMaWNlbnNlIiBzaGFsbCBtZWFuIHRoZSB0ZXJtcyBhbmQg Y29uZGl0aW9ucyBmb3IgdXNlLCByZXByb2R1Y3Rpb24sIGFuZAo+ICtkaXN0cmlidXRpb24gYXMg ZGVmaW5lZCBieSBTZWN0aW9ucyAxIHRocm91Z2ggOSBvZiB0aGlzIGRvY3VtZW50Lgo+ICsKPiAr IkxpY2Vuc29yIiBzaGFsbCBtZWFuIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgZW50aXR5IGF1dGhv cml6ZWQgYnkgdGhlCj4gK2NvcHlyaWdodCBvd25lciB0aGF0IGlzIGdyYW50aW5nIHRoZSBMaWNl bnNlLgo+ICsKPiArIkxlZ2FsIEVudGl0eSIgc2hhbGwgbWVhbiB0aGUgdW5pb24gb2YgdGhlIGFj dGluZyBlbnRpdHkgYW5kIGFsbCBvdGhlcgo+ICtlbnRpdGllcyB0aGF0IGNvbnRyb2wsIGFyZSBj b250cm9sbGVkIGJ5LCBvciBhcmUgdW5kZXIgY29tbW9uIGNvbnRyb2wgd2l0aAo+ICt0aGF0IGVu dGl0eS4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGRlZmluaXRpb24sICJjb250cm9sIiBtZWFu cyAoaSkgdGhlCj4gK3Bvd2VyLCBkaXJlY3Qgb3IgaW5kaXJlY3QsIHRvIGNhdXNlIHRoZSBkaXJl Y3Rpb24gb3IgbWFuYWdlbWVudCBvZiBzdWNoCj4gK2VudGl0eSwgd2hldGhlciBieSBjb250cmFj dCBvciBvdGhlcndpc2UsIG9yIChpaSkgb3duZXJzaGlwIG9mIGZpZnR5Cj4gK3BlcmNlbnQgKDUw JSkgb3IgbW9yZSBvZiB0aGUgb3V0c3RhbmRpbmcgc2hhcmVzLCBvciAoaWlpKSBiZW5lZmljaWFs Cj4gK293bmVyc2hpcCBvZiBzdWNoIGVudGl0eS4KPiArCj4gKyJZb3UiIChvciAiWW91ciIpIHNo YWxsIG1lYW4gYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgZXhlcmNpc2luZwo+ICtwZXJt aXNzaW9ucyBncmFudGVkIGJ5IHRoaXMgTGljZW5zZS4KPiArCj4gKyJTb3VyY2UiIGZvcm0gc2hh bGwgbWVhbiB0aGUgcHJlZmVycmVkIGZvcm0gZm9yIG1ha2luZyBtb2RpZmljYXRpb25zLAo+ICtp bmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHNvZnR3YXJlIHNvdXJjZSBjb2RlLCBkb2N1bWVu dGF0aW9uIHNvdXJjZSwKPiArYW5kIGNvbmZpZ3VyYXRpb24gZmlsZXMuCj4gKwo+ICsiT2JqZWN0 IiBmb3JtIHNoYWxsIG1lYW4gYW55IGZvcm0gcmVzdWx0aW5nIGZyb20gbWVjaGFuaWNhbCB0cmFu c2Zvcm1hdGlvbgo+ICtvciB0cmFuc2xhdGlvbiBvZiBhIFNvdXJjZSBmb3JtLCBpbmNsdWRpbmcg YnV0IG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkCj4gK29iamVjdCBjb2RlLCBnZW5lcmF0ZWQgZG9j dW1lbnRhdGlvbiwgYW5kIGNvbnZlcnNpb25zIHRvIG90aGVyIG1lZGlhIHR5cGVzLgo+ICsKPiAr IldvcmsiIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0aG9yc2hpcCwgd2hldGhlciBpbiBTb3Vy Y2Ugb3IgT2JqZWN0IGZvcm0sCj4gK21hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSBMaWNlbnNlLCBh cyBpbmRpY2F0ZWQgYnkgYSBjb3B5cmlnaHQgbm90aWNlIHRoYXQKPiAraXMgaW5jbHVkZWQgaW4g b3IgYXR0YWNoZWQgdG8gdGhlIHdvcmsgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlCj4g K0FwcGVuZGl4IGJlbG93KS4KPiArCj4gKyJEZXJpdmF0aXZlIFdvcmtzIiBzaGFsbCBtZWFuIGFu eSB3b3JrLCB3aGV0aGVyIGluIFNvdXJjZSBvciBPYmplY3QgZm9ybSwKPiArdGhhdCBpcyBiYXNl ZCBvbiAob3IgZGVyaXZlZCBmcm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZSBlZGl0b3Jp YWwKPiArcmV2aXNpb25zLCBhbm5vdGF0aW9ucywgZWxhYm9yYXRpb25zLCBvciBvdGhlciBtb2Rp ZmljYXRpb25zIHJlcHJlc2VudCwgYXMKPiArYSB3aG9sZSwgYW4gb3JpZ2luYWwgd29yayBvZiBh dXRob3JzaGlwLiBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgTGljZW5zZSwKPiArRGVyaXZhdGl2 ZSBXb3JrcyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbiBzZXBhcmFibGUgZnJv bSwgb3IKPiArbWVyZWx5IGxpbmsgKG9yIGJpbmQgYnkgbmFtZSkgdG8gdGhlIGludGVyZmFjZXMg b2YsIHRoZSBXb3JrIGFuZCBEZXJpdmF0aXZlCj4gK1dvcmtzIHRoZXJlb2YuCj4gKwo+ICsiQ29u dHJpYnV0aW9uIiBzaGFsbCBtZWFuIGFueSB3b3JrIG9mIGF1dGhvcnNoaXAsIGluY2x1ZGluZyB0 aGUgb3JpZ2luYWwKPiArdmVyc2lvbiBvZiB0aGUgV29yayBhbmQgYW55IG1vZGlmaWNhdGlvbnMg b3IgYWRkaXRpb25zIHRvIHRoYXQgV29yayBvcgo+ICtEZXJpdmF0aXZlIFdvcmtzIHRoZXJlb2Ys IHRoYXQgaXMgaW50ZW50aW9uYWxseSBzdWJtaXR0ZWQgdG8gTGljZW5zb3IgZm9yCj4gK2luY2x1 c2lvbiBpbiB0aGUgV29yayBieSB0aGUgY29weXJpZ2h0IG93bmVyIG9yIGJ5IGFuIGluZGl2aWR1 YWwgb3IgTGVnYWwKPiArRW50aXR5IGF1dGhvcml6ZWQgdG8gc3VibWl0IG9uIGJlaGFsZiBvZiB0 aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlCj4gK3B1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlv biwgInN1Ym1pdHRlZCIgbWVhbnMgYW55IGZvcm0gb2YgZWxlY3Ryb25pYywKPiArdmVyYmFsLCBv ciB3cml0dGVuIGNvbW11bmljYXRpb24gc2VudCB0byB0aGUgTGljZW5zb3Igb3IgaXRzCj4gK3Jl cHJlc2VudGF0aXZlcywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBjb21tdW5pY2F0aW9u IG9uIGVsZWN0cm9uaWMKPiArbWFpbGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0 ZW1zLCBhbmQgaXNzdWUgdHJhY2tpbmcgc3lzdGVtcyB0aGF0Cj4gK2FyZSBtYW5hZ2VkIGJ5LCBv ciBvbiBiZWhhbGYgb2YsIHRoZSBMaWNlbnNvciBmb3IgdGhlIHB1cnBvc2Ugb2YgZGlzY3Vzc2lu Zwo+ICthbmQgaW1wcm92aW5nIHRoZSBXb3JrLCBidXQgZXhjbHVkaW5nIGNvbW11bmljYXRpb24g dGhhdCBpcyBjb25zcGljdW91c2x5Cj4gK21hcmtlZCBvciBvdGhlcndpc2UgZGVzaWduYXRlZCBp biB3cml0aW5nIGJ5IHRoZSBjb3B5cmlnaHQgb3duZXIgYXMgIk5vdCBhCj4gK0NvbnRyaWJ1dGlv bi4iCj4gKwo+ICsiQ29udHJpYnV0b3IiIHNoYWxsIG1lYW4gTGljZW5zb3IgYW5kIGFueSBpbmRp dmlkdWFsIG9yIExlZ2FsIEVudGl0eSBvbgo+ICtiZWhhbGYgb2Ygd2hvbSBhIENvbnRyaWJ1dGlv biBoYXMgYmVlbiByZWNlaXZlZCBieSBMaWNlbnNvciBhbmQKPiArc3Vic2VxdWVudGx5IGluY29y cG9yYXRlZCB3aXRoaW4gdGhlIFdvcmsuCj4gKwo+ICsyLiBHcmFudCBvZiBDb3B5cmlnaHQgTGlj ZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhpcwo+ICsgICBM aWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFs LCB3b3JsZHdpZGUsCj4gKyAgIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0eS1mcmVl LCBpcnJldm9jYWJsZSBjb3B5cmlnaHQgbGljZW5zZSB0bwo+ICsgICByZXByb2R1Y2UsIHByZXBh cmUgRGVyaXZhdGl2ZSBXb3JrcyBvZiwgcHVibGljbHkgZGlzcGxheSwgcHVibGljbHkKPiArICAg cGVyZm9ybSwgc3VibGljZW5zZSwgYW5kIGRpc3RyaWJ1dGUgdGhlIFdvcmsgYW5kIHN1Y2ggRGVy aXZhdGl2ZSBXb3Jrcwo+ICsgICBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0uCj4gKwo+ICszLiBH cmFudCBvZiBQYXRlbnQgTGljZW5zZS4gU3ViamVjdCB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlv bnMgb2YgdGhpcwo+ICsgICBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVieSBncmFudHMg dG8gWW91IGEgcGVycGV0dWFsLCB3b3JsZHdpZGUsCj4gKyAgIG5vbi1leGNsdXNpdmUsIG5vLWNo YXJnZSwgcm95YWx0eS1mcmVlLCBpcnJldm9jYWJsZSAoZXhjZXB0IGFzIHN0YXRlZCBpbgo+ICsg ICB0aGlzIHNlY3Rpb24pIHBhdGVudCBsaWNlbnNlIHRvIG1ha2UsIGhhdmUgbWFkZSwgdXNlLCBv ZmZlciB0byBzZWxsLAo+ICsgICBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndpc2UgdHJhbnNmZXIg dGhlIFdvcmssIHdoZXJlIHN1Y2ggbGljZW5zZQo+ICsgICBhcHBsaWVzIG9ubHkgdG8gdGhvc2Ug cGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlIGJ5IHN1Y2ggQ29udHJpYnV0b3IgdGhhdAo+ICsgICBh cmUgbmVjZXNzYXJpbHkgaW5mcmluZ2VkIGJ5IHRoZWlyIENvbnRyaWJ1dGlvbihzKSBhbG9uZSBv ciBieQo+ICsgICBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRpb24ocykgd2l0aCB0aGUg V29yayB0byB3aGljaCBzdWNoCj4gKyAgIENvbnRyaWJ1dGlvbihzKSB3YXMgc3VibWl0dGVkLiBJ ZiBZb3UgaW5zdGl0dXRlIHBhdGVudCBsaXRpZ2F0aW9uCj4gKyAgIGFnYWluc3QgYW55IGVudGl0 eSAoaW5jbHVkaW5nIGEgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEKPiArICAgbGF3 c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yayBvciBhIENvbnRyaWJ1dGlvbiBpbmNvcnBvcmF0 ZWQgd2l0aGluCj4gKyAgIHRoZSBXb3JrIGNvbnN0aXR1dGVzIGRpcmVjdCBvciBjb250cmlidXRv cnkgcGF0ZW50IGluZnJpbmdlbWVudCwgdGhlbgo+ICsgICBhbnkgcGF0ZW50IGxpY2Vuc2VzIGdy YW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5zZSBmb3IgdGhhdCBXb3JrCj4gKyAgIHNoYWxs IHRlcm1pbmF0ZSBhcyBvZiB0aGUgZGF0ZSBzdWNoIGxpdGlnYXRpb24gaXMgZmlsZWQuCj4gKwo+ ICs0LiBSZWRpc3RyaWJ1dGlvbi4gWW91IG1heSByZXByb2R1Y2UgYW5kIGRpc3RyaWJ1dGUgY29w aWVzIG9mIHRoZSBXb3JrIG9yCj4gKyAgIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiBpbiBhbnkg bWVkaXVtLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywKPiArICAgYW5kIGluIFNvdXJj ZSBvciBPYmplY3QgZm9ybSwgcHJvdmlkZWQgdGhhdCBZb3UgbWVldCB0aGUgZm9sbG93aW5nCj4g KyAgIGNvbmRpdGlvbnM6Cj4gKwo+ICsgICBhLiBZb3UgbXVzdCBnaXZlIGFueSBvdGhlciByZWNp cGllbnRzIG9mIHRoZSBXb3JrIG9yIERlcml2YXRpdmUgV29ya3MgYQo+ICsgICAgICBjb3B5IG9m IHRoaXMgTGljZW5zZTsgYW5kCj4gKwo+ICsgICBiLiBZb3UgbXVzdCBjYXVzZSBhbnkgbW9kaWZp ZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMgc3RhdGluZwo+ICsgICAgICB0aGF0 IFlvdSBjaGFuZ2VkIHRoZSBmaWxlczsgYW5kCj4gKwo+ICsgICBjLiBZb3UgbXVzdCByZXRhaW4s IGluIHRoZSBTb3VyY2UgZm9ybSBvZiBhbnkgRGVyaXZhdGl2ZSBXb3JrcyB0aGF0IFlvdQo+ICsg ICAgICBkaXN0cmlidXRlLCBhbGwgY29weXJpZ2h0LCBwYXRlbnQsIHRyYWRlbWFyaywgYW5kIGF0 dHJpYnV0aW9uIG5vdGljZXMKPiArICAgICAgZnJvbSB0aGUgU291cmNlIGZvcm0gb2YgdGhlIFdv cmssIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90Cj4gKyAgICAgIHBlcnRhaW4g dG8gYW55IHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3M7IGFuZAo+ICsKPiArICAgZC4gSWYg dGhlIFdvcmsgaW5jbHVkZXMgYSAiTk9USUNFIiB0ZXh0IGZpbGUgYXMgcGFydCBvZiBpdHMKPiAr ICAgICAgZGlzdHJpYnV0aW9uLCB0aGVuIGFueSBEZXJpdmF0aXZlIFdvcmtzIHRoYXQgWW91IGRp c3RyaWJ1dGUgbXVzdAo+ICsgICAgICBpbmNsdWRlIGEgcmVhZGFibGUgY29weSBvZiB0aGUgYXR0 cmlidXRpb24gbm90aWNlcyBjb250YWluZWQgd2l0aGluCj4gKyAgICAgIHN1Y2ggTk9USUNFIGZp bGUsIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90IHBlcnRhaW4gdG8gYW55Cj4g KyAgICAgIHBhcnQgb2YgdGhlIERlcml2YXRpdmUgV29ya3MsIGluIGF0IGxlYXN0IG9uZSBvZiB0 aGUgZm9sbG93aW5nCj4gKyAgICAgIHBsYWNlczogd2l0aGluIGEgTk9USUNFIHRleHQgZmlsZSBk aXN0cmlidXRlZCBhcyBwYXJ0IG9mIHRoZQo+ICsgICAgICBEZXJpdmF0aXZlIFdvcmtzOyB3aXRo aW4gdGhlIFNvdXJjZSBmb3JtIG9yIGRvY3VtZW50YXRpb24sIGlmCj4gKyAgICAgIHByb3ZpZGVk IGFsb25nIHdpdGggdGhlIERlcml2YXRpdmUgV29ya3M7IG9yLCB3aXRoaW4gYSBkaXNwbGF5Cj4g KyAgICAgIGdlbmVyYXRlZCBieSB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaWYgYW5kIHdoZXJldmVy IHN1Y2ggdGhpcmQtcGFydHkKPiArICAgICAgbm90aWNlcyBub3JtYWxseSBhcHBlYXIuIFRoZSBj b250ZW50cyBvZiB0aGUgTk9USUNFIGZpbGUgYXJlIGZvcgo+ICsgICAgICBpbmZvcm1hdGlvbmFs IHB1cnBvc2VzIG9ubHkgYW5kIGRvIG5vdCBtb2RpZnkgdGhlIExpY2Vuc2UuIFlvdSBtYXkKPiAr ICAgICAgYWRkIFlvdXIgb3duIGF0dHJpYnV0aW9uIG5vdGljZXMgd2l0aGluIERlcml2YXRpdmUg V29ya3MgdGhhdCBZb3UKPiArICAgICAgZGlzdHJpYnV0ZSwgYWxvbmdzaWRlIG9yIGFzIGFuIGFk ZGVuZHVtIHRvIHRoZSBOT1RJQ0UgdGV4dCBmcm9tIHRoZQo+ICsgICAgICBXb3JrLCBwcm92aWRl ZCB0aGF0IHN1Y2ggYWRkaXRpb25hbCBhdHRyaWJ1dGlvbiBub3RpY2VzIGNhbm5vdCBiZQo+ICsg ICAgICBjb25zdHJ1ZWQgYXMgbW9kaWZ5aW5nIHRoZSBMaWNlbnNlLgo+ICsKPiArICAgIFlvdSBt YXkgYWRkIFlvdXIgb3duIGNvcHlyaWdodCBzdGF0ZW1lbnQgdG8gWW91ciBtb2RpZmljYXRpb25z IGFuZCBtYXkKPiArICAgIHByb3ZpZGUgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQgbGljZW5zZSB0 ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgdXNlLAo+ICsgICAgcmVwcm9kdWN0aW9uLCBvciBkaXN0 cmlidXRpb24gb2YgWW91ciBtb2RpZmljYXRpb25zLCBvciBmb3IgYW55IHN1Y2gKPiArICAgIERl cml2YXRpdmUgV29ya3MgYXMgYSB3aG9sZSwgcHJvdmlkZWQgWW91ciB1c2UsIHJlcHJvZHVjdGlv biwgYW5kCj4gKyAgICBkaXN0cmlidXRpb24gb2YgdGhlIFdvcmsgb3RoZXJ3aXNlIGNvbXBsaWVz IHdpdGggdGhlIGNvbmRpdGlvbnMgc3RhdGVkCj4gKyAgICBpbiB0aGlzIExpY2Vuc2UuCj4gKwo+ ICs1LiBTdWJtaXNzaW9uIG9mIENvbnRyaWJ1dGlvbnMuIFVubGVzcyBZb3UgZXhwbGljaXRseSBz dGF0ZSBvdGhlcndpc2UsIGFueQo+ICsgICBDb250cmlidXRpb24gaW50ZW50aW9uYWxseSBzdWJt aXR0ZWQgZm9yIGluY2x1c2lvbiBpbiB0aGUgV29yayBieSBZb3UgdG8KPiArICAgdGhlIExpY2Vu c29yIHNoYWxsIGJlIHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vu c2UsCj4gKyAgIHdpdGhvdXQgYW55IGFkZGl0aW9uYWwgdGVybXMgb3IgY29uZGl0aW9ucy4gTm90 d2l0aHN0YW5kaW5nIHRoZSBhYm92ZSwKPiArICAgbm90aGluZyBoZXJlaW4gc2hhbGwgc3VwZXJz ZWRlIG9yIG1vZGlmeSB0aGUgdGVybXMgb2YgYW55IHNlcGFyYXRlCj4gKyAgIGxpY2Vuc2UgYWdy ZWVtZW50IHlvdSBtYXkgaGF2ZSBleGVjdXRlZCB3aXRoIExpY2Vuc29yIHJlZ2FyZGluZyBzdWNo Cj4gKyAgIENvbnRyaWJ1dGlvbnMuCj4gKwo+ICs2LiBUcmFkZW1hcmtzLiBUaGlzIExpY2Vuc2Ug ZG9lcyBub3QgZ3JhbnQgcGVybWlzc2lvbiB0byB1c2UgdGhlIHRyYWRlCj4gKyAgIG5hbWVzLCB0 cmFkZW1hcmtzLCBzZXJ2aWNlIG1hcmtzLCBvciBwcm9kdWN0IG5hbWVzIG9mIHRoZSBMaWNlbnNv ciwKPiArICAgZXhjZXB0IGFzIHJlcXVpcmVkIGZvciByZWFzb25hYmxlIGFuZCBjdXN0b21hcnkg dXNlIGluIGRlc2NyaWJpbmcgdGhlCj4gKyAgIG9yaWdpbiBvZiB0aGUgV29yayBhbmQgcmVwcm9k dWNpbmcgdGhlIGNvbnRlbnQgb2YgdGhlIE5PVElDRSBmaWxlLgo+ICsKPiArNy4gRGlzY2xhaW1l ciBvZiBXYXJyYW50eS4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVl ZCB0bwo+ICsgICBpbiB3cml0aW5nLCBMaWNlbnNvciBwcm92aWRlcyB0aGUgV29yayAoYW5kIGVh Y2ggQ29udHJpYnV0b3IgcHJvdmlkZXMKPiArICAgaXRzIENvbnRyaWJ1dGlvbnMpIG9uIGFuICJB UyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TCj4gKyAgIE9GIEFO WSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLCBpbmNsdWRpbmcsIHdpdGhvdXQgbGlt aXRhdGlvbiwKPiArICAgYW55IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiBUSVRMRSwgTk9O LUlORlJJTkdFTUVOVCwKPiArICAgTUVSQ0hBTlRBQklMSVRZLCBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gWW91IGFyZSBzb2xlbHkKPiArICAgcmVzcG9uc2libGUgZm9yIGRl dGVybWluaW5nIHRoZSBhcHByb3ByaWF0ZW5lc3Mgb2YgdXNpbmcgb3IKPiArICAgcmVkaXN0cmli dXRpbmcgdGhlIFdvcmsgYW5kIGFzc3VtZSBhbnkgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIK PiArICAgZXhlcmNpc2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLgo+ICsKPiAr OC4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuIEluIG5vIGV2ZW50IGFuZCB1bmRlciBubyBsZWdh bCB0aGVvcnksIHdoZXRoZXIKPiArICAgaW4gdG9ydCAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBj b250cmFjdCwgb3Igb3RoZXJ3aXNlLCB1bmxlc3MgcmVxdWlyZWQKPiArICAgYnkgYXBwbGljYWJs ZSBsYXcgKHN1Y2ggYXMgZGVsaWJlcmF0ZSBhbmQgZ3Jvc3NseSBuZWdsaWdlbnQgYWN0cykgb3IK PiArICAgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNoYWxsIGFueSBDb250cmlidXRvciBiZSBsaWFi bGUgdG8gWW91IGZvcgo+ICsgICBkYW1hZ2VzLCBpbmNsdWRpbmcgYW55IGRpcmVjdCwgaW5kaXJl Y3QsIHNwZWNpYWwsIGluY2lkZW50YWwsIG9yCj4gKyAgIGNvbnNlcXVlbnRpYWwgZGFtYWdlcyBv ZiBhbnkgY2hhcmFjdGVyIGFyaXNpbmcgYXMgYSByZXN1bHQgb2YgdGhpcwo+ICsgICBMaWNlbnNl IG9yIG91dCBvZiB0aGUgdXNlIG9yIGluYWJpbGl0eSB0byB1c2UgdGhlIFdvcmsgKGluY2x1ZGlu ZyBidXQKPiArICAgbm90IGxpbWl0ZWQgdG8gZGFtYWdlcyBmb3IgbG9zcyBvZiBnb29kd2lsbCwg d29yayBzdG9wcGFnZSwgY29tcHV0ZXIKPiArICAgZmFpbHVyZSBvciBtYWxmdW5jdGlvbiwgb3Ig YW55IGFuZCBhbGwgb3RoZXIgY29tbWVyY2lhbCBkYW1hZ2VzIG9yCj4gKyAgIGxvc3NlcyksIGV2 ZW4gaWYgc3VjaCBDb250cmlidXRvciBoYXMgYmVlbiBhZHZpc2VkIG9mIHRoZSBwb3NzaWJpbGl0 eSBvZgo+ICsgICBzdWNoIGRhbWFnZXMuCj4gKwo+ICs5LiBBY2NlcHRpbmcgV2FycmFudHkgb3Ig QWRkaXRpb25hbCBMaWFiaWxpdHkuIFdoaWxlIHJlZGlzdHJpYnV0aW5nIHRoZQo+ICsgICBXb3Jr IG9yIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgWW91IG1heSBjaG9vc2UgdG8gb2ZmZXIsIGFu ZCBjaGFyZ2UgYQo+ICsgICBmZWUgZm9yLCBhY2NlcHRhbmNlIG9mIHN1cHBvcnQsIHdhcnJhbnR5 LCBpbmRlbW5pdHksIG9yIG90aGVyIGxpYWJpbGl0eQo+ICsgICBvYmxpZ2F0aW9ucyBhbmQvb3Ig cmlnaHRzIGNvbnNpc3RlbnQgd2l0aCB0aGlzIExpY2Vuc2UuIEhvd2V2ZXIsIGluCj4gKyAgIGFj Y2VwdGluZyBzdWNoIG9ibGlnYXRpb25zLCBZb3UgbWF5IGFjdCBvbmx5IG9uIFlvdXIgb3duIGJl aGFsZiBhbmQgb24KPiArICAgWW91ciBzb2xlIHJlc3BvbnNpYmlsaXR5LCBub3Qgb24gYmVoYWxm IG9mIGFueSBvdGhlciBDb250cmlidXRvciwgYW5kCj4gKyAgIG9ubHkgaWYgWW91IGFncmVlIHRv IGluZGVtbmlmeSwgZGVmZW5kLCBhbmQgaG9sZCBlYWNoIENvbnRyaWJ1dG9yCj4gKyAgIGhhcm1s ZXNzIGZvciBhbnkgbGlhYmlsaXR5IGluY3VycmVkIGJ5LCBvciBjbGFpbXMgYXNzZXJ0ZWQgYWdh aW5zdCwgc3VjaAo+ICsgICBDb250cmlidXRvciBieSByZWFzb24gb2YgeW91ciBhY2NlcHRpbmcg YW55IHN1Y2ggd2FycmFudHkgb3IgYWRkaXRpb25hbAo+ICsgICBsaWFiaWxpdHkuCj4gKwo+ICtF TkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKPiBkaWZmIC0tZ2l0IGEvTElDRU5TRVMvZXhjZXB0 aW9ucy9MaW51eC1zeXNjYWxsLW5vdGUgYi9MSUNFTlNFUy9leGNlcHRpb25zL0xpbnV4LXN5c2Nh bGwtbm90ZQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwMDAwLi41NzZk MWI1MjliMDAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvTElDRU5TRVMvZXhjZXB0aW9ucy9MaW51 eC1zeXNjYWxsLW5vdGUKPiBAQCAtMCwwICsxLDI1IEBACj4gK1NQRFgtRXhjZXB0aW9uLUlkZW50 aWZpZXI6IExpbnV4LXN5c2NhbGwtbm90ZQo+ICtTUERYLVVSTDogaHR0cHM6Ly9zcGR4Lm9yZy9s aWNlbnNlcy9MaW51eC1zeXNjYWxsLW5vdGUuaHRtbAo+ICtTUERYLUxpY2Vuc2VzOiBHUEwtMi4w LCBHUEwtMi4wKywgTEdQTC0yLjEsIExHUEwtMi4xKywgR1BMLTIuMC1vbmx5LCBHUEwtMi4wLW9y LWxhdGVyCj4gK1VzYWdlLUd1aWRlOgo+ICsgIFRoaXMgZXhjZXB0aW9uIGlzIHVzZWQgdG9nZXRo ZXIgd2l0aCBvbmUgb2YgdGhlIGFib3ZlIFNQRFgtTGljZW5zZXMKPiArICB0byBtYXJrIHVzZXIg c3BhY2UgQVBJICh1YXBpKSBoZWFkZXIgZmlsZXMgc28gdGhleSBjYW4gYmUgaW5jbHVkZWQKPiAr ICBpbnRvIG5vbiBHUEwgY29tcGxpYW50IHVzZXIgc3BhY2UgYXBwbGljYXRpb24gY29kZS4KPiAr ICBUbyB1c2UgdGhpcyBleGNlcHRpb24gYWRkIGl0IHdpdGggdGhlIGtleXdvcmQgV0lUSCB0byBv bmUgb2YgdGhlCj4gKyAgaWRlbnRpZmllcnMgaW4gdGhlIFNQRFgtTGljZW5zZXMgdGFnOgo+ICsg ICAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IDxTUERYLUxpY2Vuc2U+IFdJVEggTGludXgtc3lz Y2FsbC1ub3RlCj4gK0xpY2Vuc2UtVGV4dDoKPiArCj4gKyAgIE5PVEUhIFRoaXMgY29weXJpZ2h0 IGRvZXMgKm5vdCogY292ZXIgdXNlciBwcm9ncmFtcyB0aGF0IHVzZSBrZXJuZWwKPiArIHNlcnZp Y2VzIGJ5IG5vcm1hbCBzeXN0ZW0gY2FsbHMgLSB0aGlzIGlzIG1lcmVseSBjb25zaWRlcmVkIG5v cm1hbCB1c2UKPiArIG9mIHRoZSBrZXJuZWwsIGFuZCBkb2VzICpub3QqIGZhbGwgdW5kZXIgdGhl IGhlYWRpbmcgb2YgImRlcml2ZWQgd29yayIuCj4gKyBBbHNvIG5vdGUgdGhhdCB0aGUgR1BMIGJl bG93IGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCj4gKyBGb3VuZGF0aW9uLCBi dXQgdGhlIGluc3RhbmNlIG9mIGNvZGUgdGhhdCBpdCByZWZlcnMgdG8gKHRoZSBMaW51eAo+ICsg a2VybmVsKSBpcyBjb3B5cmlnaHRlZCBieSBtZSBhbmQgb3RoZXJzIHdobyBhY3R1YWxseSB3cm90 ZSBpdC4KPiArCj4gKyBBbHNvIG5vdGUgdGhhdCB0aGUgb25seSB2YWxpZCB2ZXJzaW9uIG9mIHRo ZSBHUEwgYXMgZmFyIGFzIHRoZSBrZXJuZWwKPiArIGlzIGNvbmNlcm5lZCBpcyBfdGhpc18gcGFy dGljdWxhciB2ZXJzaW9uIG9mIHRoZSBsaWNlbnNlIChpZSB2Miwgbm90Cj4gKyB2Mi4yIG9yIHYz Lnggb3Igd2hhdGV2ZXIpLCB1bmxlc3MgZXhwbGljaXRseSBvdGhlcndpc2Ugc3RhdGVkLgo+ICsK PiArCQkJTGludXMgVG9ydmFsZHMKPiArCj4gZGlmZiAtLWdpdCBhL0xJQ0VOU0VTL3ByZWZlcnJl ZC9CU0QtMi1DbGF1c2UgYi9MSUNFTlNFUy9wcmVmZXJyZWQvQlNELTItQ2xhdXNlCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAuLmRhMzY2ZTJjZTUwYgo+IC0tLSAv ZGV2L251bGwKPiArKysgYi9MSUNFTlNFUy9wcmVmZXJyZWQvQlNELTItQ2xhdXNlCj4gQEAgLTAs MCArMSwzMiBAQAo+ICtWYWxpZC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZQo+ICtT UERYLVVSTDogaHR0cHM6Ly9zcGR4Lm9yZy9saWNlbnNlcy9CU0QtMi1DbGF1c2UuaHRtbAo+ICtV c2FnZS1HdWlkZToKPiArICBUbyB1c2UgdGhlIEJTRCAyLWNsYXVzZSAiU2ltcGxpZmllZCIgTGlj ZW5zZSBwdXQgdGhlIGZvbGxvd2luZyBTUERYCj4gKyAgdGFnL3ZhbHVlIHBhaXIgaW50byBhIGNv bW1lbnQgYWNjb3JkaW5nIHRvIHRoZSBwbGFjZW1lbnQgZ3VpZGVsaW5lcyBpbgo+ICsgIHRoZSBs aWNlbnNpbmcgcnVsZXMgZG9jdW1lbnRhdGlvbjoKPiArICAgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UKPiArTGljZW5zZS1UZXh0Ogo+ICsKPiArQ29weXJpZ2h0IChjKSA8 eWVhcj4gPG93bmVyPiAuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKwo+ICtSZWRpc3RyaWJ1dGlv biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiAr bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj b25kaXRpb25zIGFyZSBtZXQ6Cj4gKwo+ICsxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsCj4gKyAgIHRoaXMgbGlz dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4gKwo+ICsyLiBS ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv cHlyaWdodAo+ICsgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKyAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKwo+ICtUSElTIFNP RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU T1JTICJBUyBJUyIKPiArQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQo+ICtJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICtB UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1Ig Q09OVFJJQlVUT1JTIEJFCj4gK0xJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKPiArQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArU1VCU1RJVFVU RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV U0lORVNTCj4gK0lOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCj4gK0NPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gK0FSSVNJTkcgSU4g QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg T0YgVEhFCj4gK1BPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+IGRpZmYgLS1naXQgYS9MSUNF TlNFUy9wcmVmZXJyZWQvTEdQTC0yLjEgYi9MSUNFTlNFUy9wcmVmZXJyZWQvTEdQTC0yLjEKPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uMWFjMThhNDM2MTQwCj4g LS0tIC9kZXYvbnVsbAo+ICsrKyBiL0xJQ0VOU0VTL3ByZWZlcnJlZC9MR1BMLTIuMQo+IEBAIC0w LDAgKzEsNTA0IEBACj4gK1ZhbGlkLUxpY2Vuc2UtSWRlbnRpZmllcjogTEdQTC0yLjEKPiArVmFs aWQtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMSsKPiArVmFsaWQtTGljZW5zZS1JZGVudGlm aWVyOiBMR1BMLTIuMS1vci1sYXRlcgo+ICtTUERYLVVSTDogaHR0cHM6Ly9zcGR4Lm9yZy9saWNl bnNlcy9MR1BMLTIuMS5odG1sCj4gK1VzYWdlLUd1aWRlOgo+ICsgIFRvIHVzZSB0aGlzIGxpY2Vu c2UgaW4gc291cmNlIGNvZGUsIHB1dCBvbmUgb2YgdGhlIGZvbGxvd2luZyBTUERYCj4gKyAgdGFn L3ZhbHVlIHBhaXJzIGludG8gYSBjb21tZW50IGFjY29yZGluZyB0byB0aGUgcGxhY2VtZW50Cj4g KyAgZ3VpZGVsaW5lcyBpbiB0aGUgbGljZW5zaW5nIHJ1bGVzIGRvY3VtZW50YXRpb24uCj4gKyAg Rm9yICdHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKExHUEwpIHZlcnNpb24gMi4x IG9ubHknIHVzZToKPiArICAgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMQo+ICsg IEZvciAnR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChMR1BMKSB2ZXJzaW9uIDIu MSBvciBhbnkgbGF0ZXIKPiArICB2ZXJzaW9uJyB1c2U6Cj4gKyAgICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogTEdQTC0yLjErCgpPaCwgaXMgdGhpcyBzdGlsbCB0aGUgcHJlZmVycmVkIHdheSBp biBMaW51eD8gVGhlICsgc3ludGF4IHdhcwpkZXByZWNhdGVkIGJ5IFNQRFggWzFdIGluIGZhdm91 ciBvZiB0aGUgLW9ubHkgYW5kIC1vci1sYXRlciB2YXJpYW50cy4KKEFsc28gc2VlIGFib3ZlIGlu IHRoZSBMaW51eC1zeXNjYWxsLW5vdGUuKQoKT3IgaXMgdGhpcyB0aGUgcGFydCB0byBtYWtlIHNw ZHhjaGVjayBoYXBweT8KClsxXTogaHR0cHM6Ly9zcGR4Lm9yZy9saWNlbnNlcy8gYXQgdGhlIGJv dHRvbQoKIC0gUm9sYW5kCgo+ICtMaWNlbnNlLVRleHQ6Cj4gKwo+ICtHTlUgTEVTU0VSIEdFTkVS QUwgUFVCTElDIExJQ0VOU0UKPiArVmVyc2lvbiAyLjEsIEZlYnJ1YXJ5IDE5OTkKPiArCj4gK0Nv cHlyaWdodCAoQykgMTk5MSwgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KPiAr NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVT QQo+ICsKPiArRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVy YmF0aW0gY29waWVzIG9mIHRoaXMKPiArbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0 IGlzIG5vdCBhbGxvd2VkLgo+ICsKPiArW1RoaXMgaXMgdGhlIGZpcnN0IHJlbGVhc2VkIHZlcnNp b24gb2YgdGhlIExlc3NlciBHUEwuIEl0IGFsc28gY291bnRzIGFzCj4gK3RoZSBzdWNjZXNzb3Ig b2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsIGhlbmNlIHRoZQo+ ICt2ZXJzaW9uIG51bWJlciAyLjEuXQo+ICsKPiArUHJlYW1ibGUKPiArCj4gK1RoZSBsaWNlbnNl cyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIgZnJlZWRv bSB0bwo+ICtzaGFyZSBhbmQgY2hhbmdlIGl0LiBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlcyBhcmUKPiAraW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRv bSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUgc29mdHdhcmUtLXRvCj4gK21ha2Ugc3VyZSB0aGUg c29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4KPiArCj4gK1RoaXMgbGljZW5zZSwg dGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBhcHBsaWVzIHRvIHNvbWUgc3BlY2lh bGx5Cj4gK2Rlc2lnbmF0ZWQgc29mdHdhcmUgcGFja2FnZXMtLXR5cGljYWxseSBsaWJyYXJpZXMt LW9mIHRoZSBGcmVlIFNvZnR3YXJlCj4gK0ZvdW5kYXRpb24gYW5kIG90aGVyIGF1dGhvcnMgd2hv IGRlY2lkZSB0byB1c2UgaXQuIFlvdSBjYW4gdXNlIGl0IHRvbywgYnV0Cj4gK3dlIHN1Z2dlc3Qg eW91IGZpcnN0IHRoaW5rIGNhcmVmdWxseSBhYm91dCB3aGV0aGVyIHRoaXMgbGljZW5zZSBvciB0 aGUKPiArb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyB0aGUgYmV0dGVyIHN0cmF0 ZWd5IHRvIHVzZSBpbiBhbnkKPiArcGFydGljdWxhciBjYXNlLCBiYXNlZCBvbiB0aGUgZXhwbGFu YXRpb25zIGJlbG93Lgo+ICsKPiArV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBh cmUgcmVmZXJyaW5nIHRvIGZyZWVkb20gb2YgdXNlLCBub3QKPiArcHJpY2UuIE91ciBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91IGhhdmUK PiArdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5k IGNoYXJnZSBmb3IgdGhpcwo+ICtzZXJ2aWNlIGlmIHlvdSB3aXNoKTsgdGhhdCB5b3UgcmVjZWl2 ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdQo+ICt3YW50IGl0OyB0aGF0IHlvdSBj YW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBhbmQgdXNlIHBpZWNlcyBvZiBpdCBpbiBuZXcgZnJlZQo+ ICtwcm9ncmFtczsgYW5kIHRoYXQgeW91IGFyZSBpbmZvcm1lZCB0aGF0IHlvdSBjYW4gZG8gdGhl c2UgdGhpbmdzLgo+ICsKPiArVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtl IHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAo+ICtkaXN0cmlidXRvcnMgdG8gZGVueSB5b3UgdGhl c2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZXNlCj4gK3JpZ2h0cy4gVGhl c2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9y IHlvdSBpZgo+ICt5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIGxpYnJhcnkgb3IgaWYgeW91 IG1vZGlmeSBpdC4KPiArCj4gK0ZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMg b2YgdGhlIGxpYnJhcnksIHdoZXRoZXIgZ3JhdGlzIG9yIGZvcgo+ICthIGZlZSwgeW91IG11c3Qg Z2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0IHdlIGdhdmUgeW91LiBZb3UK PiArbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUg c291cmNlIGNvZGUuIElmIHlvdQo+ICtsaW5rIG90aGVyIGNvZGUgd2l0aCB0aGUgbGlicmFyeSwg eW91IG11c3QgcHJvdmlkZSBjb21wbGV0ZSBvYmplY3QgZmlsZXMgdG8KPiArdGhlIHJlY2lwaWVu dHMsIHNvIHRoYXQgdGhleSBjYW4gcmVsaW5rIHRoZW0gd2l0aCB0aGUgbGlicmFyeSBhZnRlciBt YWtpbmcKPiArY2hhbmdlcyB0byB0aGUgbGlicmFyeSBhbmQgcmVjb21waWxpbmcgaXQuIEFuZCB5 b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UKPiArdGVybXMgc28gdGhleSBrbm93IHRoZWlyIHJpZ2h0 cy4KPiArCj4gK1dlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCBhIHR3by1zdGVwIG1ldGhvZDog KDEpIHdlIGNvcHlyaWdodCB0aGUKPiArbGlicmFyeSwgYW5kICgyKSB3ZSBvZmZlciB5b3UgdGhp cyBsaWNlbnNlLCB3aGljaCBnaXZlcyB5b3UgbGVnYWwKPiArcGVybWlzc2lvbiB0byBjb3B5LCBk aXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIGxpYnJhcnkuCj4gKwo+ICtUbyBwcm90ZWN0IGVh Y2ggZGlzdHJpYnV0b3IsIHdlIHdhbnQgdG8gbWFrZSBpdCB2ZXJ5IGNsZWFyIHRoYXQgdGhlcmUg aXMgbm8KPiArd2FycmFudHkgZm9yIHRoZSBmcmVlIGxpYnJhcnkuIEFsc28sIGlmIHRoZSBsaWJy YXJ5IGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUKPiArZWxzZSBhbmQgcGFzc2VkIG9uLCB0aGUgcmVj aXBpZW50cyBzaG91bGQga25vdyB0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdAo+ICt0aGUgb3Jp Z2luYWwgdmVyc2lvbiwgc28gdGhhdCB0aGUgb3JpZ2luYWwgYXV0aG9yJ3MgcmVwdXRhdGlvbiB3 aWxsIG5vdCBiZQo+ICthZmZlY3RlZCBieSBwcm9ibGVtcyB0aGF0IG1pZ2h0IGJlIGludHJvZHVj ZWQgYnkgb3RoZXJzLgo+ICsKPiArRmluYWxseSwgc29mdHdhcmUgcGF0ZW50cyBwb3NlIGEgY29u c3RhbnQgdGhyZWF0IHRvIHRoZSBleGlzdGVuY2Ugb2YgYW55Cj4gK2ZyZWUgcHJvZ3JhbS4gV2Ug d2lzaCB0byBtYWtlIHN1cmUgdGhhdCBhIGNvbXBhbnkgY2Fubm90IGVmZmVjdGl2ZWx5Cj4gK3Jl c3RyaWN0IHRoZSB1c2VycyBvZiBhIGZyZWUgcHJvZ3JhbSBieSBvYnRhaW5pbmcgYSByZXN0cmlj dGl2ZSBsaWNlbnNlCj4gK2Zyb20gYSBwYXRlbnQgaG9sZGVyLiBUaGVyZWZvcmUsIHdlIGluc2lz dCB0aGF0IGFueSBwYXRlbnQgbGljZW5zZSBvYnRhaW5lZAo+ICtmb3IgYSB2ZXJzaW9uIG9mIHRo ZSBsaWJyYXJ5IG11c3QgYmUgY29uc2lzdGVudCB3aXRoIHRoZSBmdWxsIGZyZWVkb20gb2YKPiAr dXNlIHNwZWNpZmllZCBpbiB0aGlzIGxpY2Vuc2UuCj4gKwo+ICtNb3N0IEdOVSBzb2Z0d2FyZSwg aW5jbHVkaW5nIHNvbWUgbGlicmFyaWVzLCBpcyBjb3ZlcmVkIGJ5IHRoZSBvcmRpbmFyeSBHTlUK PiArR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyBsaWNlbnNlLCB0aGUgR05VIExlc3NlciBH ZW5lcmFsIFB1YmxpYwo+ICtMaWNlbnNlLCBhcHBsaWVzIHRvIGNlcnRhaW4gZGVzaWduYXRlZCBs aWJyYXJpZXMsIGFuZCBpcyBxdWl0ZSBkaWZmZXJlbnQKPiArZnJvbSB0aGUgb3JkaW5hcnkgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZS4gV2UgdXNlIHRoaXMgbGljZW5zZSBmb3IgY2VydGFpbgo+ICts aWJyYXJpZXMgaW4gb3JkZXIgdG8gcGVybWl0IGxpbmtpbmcgdGhvc2UgbGlicmFyaWVzIGludG8g bm9uLWZyZWUKPiArcHJvZ3JhbXMuCj4gKwo+ICtXaGVuIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0 aCBhIGxpYnJhcnksIHdoZXRoZXIgc3RhdGljYWxseSBvciB1c2luZyBhCj4gK3NoYXJlZCBsaWJy YXJ5LCB0aGUgY29tYmluYXRpb24gb2YgdGhlIHR3byBpcyBsZWdhbGx5IHNwZWFraW5nIGEgY29t YmluZWQKPiArd29yaywgYSBkZXJpdmF0aXZlIG9mIHRoZSBvcmlnaW5hbCBsaWJyYXJ5LiBUaGUg b3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMKPiArTGljZW5zZSB0aGVyZWZvcmUgcGVybWl0cyBzdWNo IGxpbmtpbmcgb25seSBpZiB0aGUgZW50aXJlIGNvbWJpbmF0aW9uIGZpdHMKPiAraXRzIGNyaXRl cmlhIG9mIGZyZWVkb20uIFRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBwZXJtaXRz IG1vcmUgbGF4Cj4gK2NyaXRlcmlhIGZvciBsaW5raW5nIG90aGVyIGNvZGUgd2l0aCB0aGUgbGli cmFyeS4KPiArCj4gK1dlIGNhbGwgdGhpcyBsaWNlbnNlIHRoZSAiTGVzc2VyIiBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGJlY2F1c2UgaXQgZG9lcwo+ICtMZXNzIHRvIHByb3RlY3QgdGhlIHVzZXIn cyBmcmVlZG9tIHRoYW4gdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljCj4gK0xpY2Vuc2UuIEl0 IGFsc28gcHJvdmlkZXMgb3RoZXIgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzIExlc3Mgb2YgYW4K PiArYWR2YW50YWdlIG92ZXIgY29tcGV0aW5nIG5vbi1mcmVlIHByb2dyYW1zLiBUaGVzZSBkaXNh ZHZhbnRhZ2VzIGFyZSB0aGUKPiArcmVhc29uIHdlIHVzZSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbWFueQo+ICtsaWJyYXJpZXMuIEhvd2V2ZXIsIHRoZSBMZXNzZXIg bGljZW5zZSBwcm92aWRlcyBhZHZhbnRhZ2VzIGluIGNlcnRhaW4KPiArc3BlY2lhbCBjaXJjdW1z dGFuY2VzLgo+ICsKPiArRm9yIGV4YW1wbGUsIG9uIHJhcmUgb2NjYXNpb25zLCB0aGVyZSBtYXkg YmUgYSBzcGVjaWFsIG5lZWQgdG8gZW5jb3VyYWdlCj4gK3RoZSB3aWRlc3QgcG9zc2libGUgdXNl IG9mIGEgY2VydGFpbiBsaWJyYXJ5LCBzbyB0aGF0IGl0IGJlY29tZXMgYSBkZS1mYWN0bwo+ICtz dGFuZGFyZC4gVG8gYWNoaWV2ZSB0aGlzLCBub24tZnJlZSBwcm9ncmFtcyBtdXN0IGJlIGFsbG93 ZWQgdG8gdXNlIHRoZQo+ICtsaWJyYXJ5LiBBIG1vcmUgZnJlcXVlbnQgY2FzZSBpcyB0aGF0IGEg ZnJlZSBsaWJyYXJ5IGRvZXMgdGhlIHNhbWUgam9iIGFzCj4gK3dpZGVseSB1c2VkIG5vbi1mcmVl IGxpYnJhcmllcy4gSW4gdGhpcyBjYXNlLCB0aGVyZSBpcyBsaXR0bGUgdG8gZ2FpbiBieQo+ICts aW1pdGluZyB0aGUgZnJlZSBsaWJyYXJ5IHRvIGZyZWUgc29mdHdhcmUgb25seSwgc28gd2UgdXNl IHRoZSBMZXNzZXIKPiArR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KPiArCj4gK0luIG90aGVyIGNh c2VzLCBwZXJtaXNzaW9uIHRvIHVzZSBhIHBhcnRpY3VsYXIgbGlicmFyeSBpbiBub24tZnJlZSBw cm9ncmFtcwo+ICtlbmFibGVzIGEgZ3JlYXRlciBudW1iZXIgb2YgcGVvcGxlIHRvIHVzZSBhIGxh cmdlIGJvZHkgb2YgZnJlZQo+ICtzb2Z0d2FyZS4gRm9yIGV4YW1wbGUsIHBlcm1pc3Npb24gdG8g dXNlIHRoZSBHTlUgQyBMaWJyYXJ5IGluIG5vbi1mcmVlCj4gK3Byb2dyYW1zIGVuYWJsZXMgbWFu eSBtb3JlIHBlb3BsZSB0byB1c2UgdGhlIHdob2xlIEdOVSBvcGVyYXRpbmcgc3lzdGVtLCBhcwo+ ICt3ZWxsIGFzIGl0cyB2YXJpYW50LCB0aGUgR05VL0xpbnV4IG9wZXJhdGluZyBzeXN0ZW0uCj4g Kwo+ICtBbHRob3VnaCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgTGVzcyBw cm90ZWN0aXZlIG9mIHRoZSB1c2VycycKPiArZnJlZWRvbSwgaXQgZG9lcyBlbnN1cmUgdGhhdCB0 aGUgdXNlciBvZiBhIHByb2dyYW0gdGhhdCBpcyBsaW5rZWQgd2l0aCB0aGUKPiArTGlicmFyeSBo YXMgdGhlIGZyZWVkb20gYW5kIHRoZSB3aGVyZXdpdGhhbCB0byBydW4gdGhhdCBwcm9ncmFtIHVz aW5nIGEKPiArbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgTGlicmFyeS4KPiArCj4gK1RoZSBwcmVj aXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1v ZGlmaWNhdGlvbgo+ICtmb2xsb3cuIFBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGRpZmZlcmVu Y2UgYmV0d2VlbiBhICJ3b3JrIGJhc2VkIG9uIHRoZQo+ICtsaWJyYXJ5IiBhbmQgYSAid29yayB0 aGF0IHVzZXMgdGhlIGxpYnJhcnkiLiBUaGUgZm9ybWVyIGNvbnRhaW5zIGNvZGUKPiArZGVyaXZl ZCBmcm9tIHRoZSBsaWJyYXJ5LCB3aGVyZWFzIHRoZSBsYXR0ZXIgbXVzdCBiZSBjb21iaW5lZCB3 aXRoIHRoZQo+ICtsaWJyYXJ5IGluIG9yZGVyIHRvIHJ1bi4KPiArCj4gK1RFUk1TIEFORCBDT05E SVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgo+ICsKPiAr MC4gVGhpcyBMaWNlbnNlIEFncmVlbWVudCBhcHBsaWVzIHRvIGFueSBzb2Z0d2FyZSBsaWJyYXJ5 IG9yIG90aGVyIHByb2dyYW0KPiArICAgd2hpY2ggY29udGFpbnMgYSBub3RpY2UgcGxhY2VkIGJ5 IHRoZSBjb3B5cmlnaHQgaG9sZGVyIG9yIG90aGVyCj4gKyAgIGF1dGhvcml6ZWQgcGFydHkgc2F5 aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhpcwo+ICsgICBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoYWxzbyBjYWxsZWQgInRoaXMgTGljZW5zZSIp LiBFYWNoCj4gKyAgIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KPiArCj4gKyAgIEEg ImxpYnJhcnkiIG1lYW5zIGEgY29sbGVjdGlvbiBvZiBzb2Z0d2FyZSBmdW5jdGlvbnMgYW5kL29y IGRhdGEKPiArICAgcHJlcGFyZWQgc28gYXMgdG8gYmUgY29udmVuaWVudGx5IGxpbmtlZCB3aXRo IGFwcGxpY2F0aW9uIHByb2dyYW1zCj4gKyAgICh3aGljaCB1c2Ugc29tZSBvZiB0aG9zZSBmdW5j dGlvbnMgYW5kIGRhdGEpIHRvIGZvcm0gZXhlY3V0YWJsZXMuCj4gKwo+ICsgICBUaGUgIkxpYnJh cnkiLCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHNvZnR3YXJlIGxpYnJhcnkgb3Igd29yayB3 aGljaAo+ICsgICBoYXMgYmVlbiBkaXN0cmlidXRlZCB1bmRlciB0aGVzZSB0ZXJtcy4gQSAid29y ayBiYXNlZCBvbiB0aGUgTGlicmFyeSIKPiArICAgbWVhbnMgZWl0aGVyIHRoZSBMaWJyYXJ5IG9y IGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzoKPiArICAgdGhhdCBpcyB0 byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBMaWJyYXJ5IG9yIGEgcG9ydGlvbiBvZiBpdCwg ZWl0aGVyCj4gKyAgIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNs YXRlZCBzdHJhaWdodGZvcndhcmRseSBpbnRvCj4gKyAgIGFub3RoZXIgbGFuZ3VhZ2UuIChIZXJl aW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dAo+ICsgICBsaW1pdGF0aW9u IGluIHRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikKPiArCj4gKyAgICJTb3VyY2UgY29kZSIgZm9y IGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yIG1ha2luZwo+ ICsgICBtb2RpZmljYXRpb25zIHRvIGl0LiBGb3IgYSBsaWJyYXJ5LCBjb21wbGV0ZSBzb3VyY2Ug Y29kZSBtZWFucyBhbGwgdGhlCj4gKyAgIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9kdWxlcyBpdCBj b250YWlucywgcGx1cyBhbnkgYXNzb2NpYXRlZCBpbnRlcmZhY2UKPiArICAgZGVmaW5pdGlvbiBm aWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvIGNvbnRyb2wgY29tcGlsYXRpb24gYW5kCj4g KyAgIGluc3RhbGxhdGlvbiBvZiB0aGUgbGlicmFyeS4KPiArCj4gKyAgICBBY3Rpdml0aWVzIG90 aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAo+ ICsgICAgY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3Bl LiBUaGUgYWN0IG9mIHJ1bm5pbmcKPiArICAgIGEgcHJvZ3JhbSB1c2luZyB0aGUgTGlicmFyeSBp cyBub3QgcmVzdHJpY3RlZCwgYW5kIG91dHB1dCBmcm9tIHN1Y2ggYQo+ICsgICAgcHJvZ3JhbSBp cyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkIG9u IHRoZQo+ICsgICAgTGlicmFyeSAoaW5kZXBlbmRlbnQgb2YgdGhlIHVzZSBvZiB0aGUgTGlicmFy eSBpbiBhIHRvb2wgZm9yIHdyaXRpbmcKPiArICAgIGl0KS4gV2hldGhlciB0aGF0IGlzIHRydWUg ZGVwZW5kcyBvbiB3aGF0IHRoZSBMaWJyYXJ5IGRvZXMgYW5kIHdoYXQgdGhlCj4gKyAgICBwcm9n cmFtIHRoYXQgdXNlcyB0aGUgTGlicmFyeSBkb2VzLgo+ICsKPiArMS4gWW91IG1heSBjb3B5IGFu ZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgTGlicmFyeSdzIGNvbXBsZXRlCj4g KyAgIHNvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRl ZCB0aGF0IHlvdQo+ICsgICBjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2gg b24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlCj4gKyAgIGNvcHlyaWdodCBub3RpY2UgYW5kIGRp c2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUgbm90aWNlcwo+ICsgICB0 aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55IHdhcnJh bnR5OyBhbmQKPiArICAgZGlzdHJpYnV0ZSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlIGFsb25nIHdp dGggdGhlIExpYnJhcnkuCj4gKwo+ICsgICBZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBo eXNpY2FsIGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LCBhbmQKPiArICAgeW91IG1heSBhdCB5 b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZl ZS4KPiArCj4gKzIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIExp YnJhcnkgb3IgYW55IHBvcnRpb24gb2YgaXQsCj4gKyAgIHRodXMgZm9ybWluZyBhIHdvcmsgYmFz ZWQgb24gdGhlIExpYnJhcnksIGFuZCBjb3B5IGFuZCBkaXN0cmlidXRlIHN1Y2gKPiArICAgbW9k aWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEgYWJvdmUsIHBy b3ZpZGVkIHRoYXQKPiArICAgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoK PiArCj4gKyAgIGEpIFRoZSBtb2RpZmllZCB3b3JrIG11c3QgaXRzZWxmIGJlIGEgc29mdHdhcmUg bGlicmFyeS4KPiArCj4gKyAgIGIpIFlvdSBtdXN0IGNhdXNlIHRoZSBmaWxlcyBtb2RpZmllZCB0 byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nCj4gKyAgICAgIHRoYXQgeW91IGNoYW5n ZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgo+ICsKPiArICAgYykgWW91 IG11c3QgY2F1c2UgdGhlIHdob2xlIG9mIHRoZSB3b3JrIHRvIGJlIGxpY2Vuc2VkIGF0IG5vIGNo YXJnZSB0bwo+ICsgICAgICBhbGwgdGhpcmQgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhp cyBMaWNlbnNlLgo+ICsKPiArICAgZCkgSWYgYSBmYWNpbGl0eSBpbiB0aGUgbW9kaWZpZWQgTGli cmFyeSByZWZlcnMgdG8gYSBmdW5jdGlvbiBvciBhIHRhYmxlCj4gKyAgICAgIG9mIGRhdGEgdG8g YmUgc3VwcGxpZWQgYnkgYW4gYXBwbGljYXRpb24gcHJvZ3JhbSB0aGF0IHVzZXMgdGhlCj4gKyAg ICAgIGZhY2lsaXR5LCBvdGhlciB0aGFuIGFzIGFuIGFyZ3VtZW50IHBhc3NlZCB3aGVuIHRoZSBm YWNpbGl0eSBpcwo+ICsgICAgICBpbnZva2VkLCB0aGVuIHlvdSBtdXN0IG1ha2UgYSBnb29kIGZh aXRoIGVmZm9ydCB0byBlbnN1cmUgdGhhdCwgaW4KPiArICAgICAgdGhlIGV2ZW50IGFuIGFwcGxp Y2F0aW9uIGRvZXMgbm90IHN1cHBseSBzdWNoIGZ1bmN0aW9uIG9yIHRhYmxlLCB0aGUKPiArICAg ICAgZmFjaWxpdHkgc3RpbGwgb3BlcmF0ZXMsIGFuZCBwZXJmb3JtcyB3aGF0ZXZlciBwYXJ0IG9m IGl0cyBwdXJwb3NlCj4gKyAgICAgIHJlbWFpbnMgbWVhbmluZ2Z1bC4KPiArCj4gKyAgIChGb3Ig ZXhhbXBsZSwgYSBmdW5jdGlvbiBpbiBhIGxpYnJhcnkgdG8gY29tcHV0ZSBzcXVhcmUgcm9vdHMg aGFzIGEKPiArICAgIHB1cnBvc2UgdGhhdCBpcyBlbnRpcmVseSB3ZWxsLWRlZmluZWQgaW5kZXBl bmRlbnQgb2YgdGhlCj4gKyAgICBhcHBsaWNhdGlvbi4gVGhlcmVmb3JlLCBTdWJzZWN0aW9uIDJk IHJlcXVpcmVzIHRoYXQgYW55Cj4gKyAgICBhcHBsaWNhdGlvbi1zdXBwbGllZCBmdW5jdGlvbiBv ciB0YWJsZSB1c2VkIGJ5IHRoaXMgZnVuY3Rpb24gbXVzdCBiZQo+ICsgICAgb3B0aW9uYWw6IGlm IHRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgaXQsIHRoZSBzcXVhcmUgcm9vdAo+ICsg ICAgZnVuY3Rpb24gbXVzdCBzdGlsbCBjb21wdXRlIHNxdWFyZSByb290cy4pCj4gKwo+ICsgICBU aGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4g SWYKPiArICAgaWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2 ZWQgZnJvbSB0aGUgTGlicmFyeSwgYW5kCj4gKyAgIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVy ZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCj4gKyAgIHRoZW1zZWx2ZXMsIHRo ZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKPiAr ICAgc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiBC dXQgd2hlbiB5b3UKPiArICAgZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9m IGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkIG9uCj4gKyAgIHRoZSBMaWJyYXJ5LCB0aGUg ZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZiB0aGlzCj4g KyAgIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5k IHRvIHRoZSBlbnRpcmUKPiArICAgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBh cnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCj4gKwo+ICsgICBUaHVzLCBpdCBpcyBub3Qg dGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKPiAr ICAgeW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0 aGUgaW50ZW50IGlzIHRvCj4gKyAgIGV4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBk aXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgo+ICsgICBjb2xsZWN0aXZlIHdvcmtzIGJhc2Vk IG9uIHRoZSBMaWJyYXJ5Lgo+ICsKPiArICAgSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24g b2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgTGlicmFyeQo+ICsgICB3aXRoIHRoZSBM aWJyYXJ5IChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSkgb24gYSB2b2x1bWUg b2YgYQo+ICsgICBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcg dGhlIG90aGVyIHdvcmsgdW5kZXIgdGhlCj4gKyAgIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KPiAr Cj4gKzMuIFlvdSBtYXkgb3B0IHRvIGFwcGx5IHRoZSB0ZXJtcyBvZiB0aGUgb3JkaW5hcnkgR05V IEdlbmVyYWwgUHVibGljCj4gKyAgIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UgdG8g YSBnaXZlbiBjb3B5IG9mIHRoZSBMaWJyYXJ5LiBUbyBkbwo+ICsgICB0aGlzLCB5b3UgbXVzdCBh bHRlciBhbGwgdGhlIG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UsIHNvIHRoYXQK PiArICAgdGhleSByZWZlciB0byB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UsIHZlcnNpb24gMiwKPiArICAgaW5zdGVhZCBvZiB0byB0aGlzIExpY2Vuc2UuIChJZiBhIG5l d2VyIHZlcnNpb24gdGhhbiB2ZXJzaW9uIDIgb2YgdGhlCj4gKyAgIG9yZGluYXJ5IEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGhhcyBhcHBlYXJlZCwgdGhlbiB5b3UgY2FuIHNwZWNpZnkKPiAr ICAgdGhhdCB2ZXJzaW9uIGluc3RlYWQgaWYgeW91IHdpc2guKSBEbyBub3QgbWFrZSBhbnkgb3Ro ZXIgY2hhbmdlIGluIHRoZXNlCj4gKyAgIG5vdGljZXMuCj4gKwo+ICsgICBPbmNlIHRoaXMgY2hh bmdlIGlzIG1hZGUgaW4gYSBnaXZlbiBjb3B5LCBpdCBpcyBpcnJldmVyc2libGUgZm9yIHRoYXQK PiArICAgY29weSwgc28gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFw cGxpZXMgdG8gYWxsCj4gKyAgIHN1YnNlcXVlbnQgY29waWVzIGFuZCBkZXJpdmF0aXZlIHdvcmtz IG1hZGUgZnJvbSB0aGF0IGNvcHkuCj4gKwo+ICsgICBUaGlzIG9wdGlvbiBpcyB1c2VmdWwgd2hl biB5b3Ugd2lzaCB0byBjb3B5IHBhcnQgb2YgdGhlIGNvZGUgb2YgdGhlCj4gKyAgIExpYnJhcnkg aW50byBhIHByb2dyYW0gdGhhdCBpcyBub3QgYSBsaWJyYXJ5Lgo+ICsKPiArNC4gWW91IG1heSBj b3B5IGFuZCBkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IChvciBhIHBvcnRpb24gb3IgZGVyaXZhdGl2 ZSBvZgo+ICsgICBpdCwgdW5kZXIgU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRh YmxlIGZvcm0gdW5kZXIgdGhlIHRlcm1zCj4gKyAgIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUg cHJvdmlkZWQgdGhhdCB5b3UgYWNjb21wYW55IGl0IHdpdGggdGhlCj4gKyAgIGNvbXBsZXRlIGNv cnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSwgd2hpY2ggbXVzdCBiZQo+ ICsgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92 ZSBvbiBhIG1lZGl1bQo+ICsgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNo YW5nZS4KPiArCj4gKyAgIElmIGRpc3RyaWJ1dGlvbiBvZiBvYmplY3QgY29kZSBpcyBtYWRlIGJ5 IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5IGZyb20gYQo+ICsgICBkZXNpZ25hdGVkIHBsYWNlLCB0 aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZQo+ICsgICBj b2RlIGZyb20gdGhlIHNhbWUgcGxhY2Ugc2F0aXNmaWVzIHRoZSByZXF1aXJlbWVudCB0byBkaXN0 cmlidXRlIHRoZQo+ICsgICBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2ggdGhpcmQgcGFydGllcyBh cmUgbm90IGNvbXBlbGxlZCB0byBjb3B5IHRoZQo+ICsgICBzb3VyY2UgYWxvbmcgd2l0aCB0aGUg b2JqZWN0IGNvZGUuCj4gKwo+ICs1LiBBIHByb2dyYW0gdGhhdCBjb250YWlucyBubyBkZXJpdmF0 aXZlIG9mIGFueSBwb3J0aW9uIG9mIHRoZSBMaWJyYXJ5LCBidXQKPiArICAgaXMgZGVzaWduZWQg dG8gd29yayB3aXRoIHRoZSBMaWJyYXJ5IGJ5IGJlaW5nIGNvbXBpbGVkIG9yIGxpbmtlZCB3aXRo Cj4gKyAgIGl0LCBpcyBjYWxsZWQgYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiLiBTdWNo IGEgd29yaywgaW4gaXNvbGF0aW9uLAo+ICsgICBpcyBub3QgYSBkZXJpdmF0aXZlIHdvcmsgb2Yg dGhlIExpYnJhcnksIGFuZCB0aGVyZWZvcmUgZmFsbHMgb3V0c2lkZSB0aGUKPiArICAgc2NvcGUg b2YgdGhpcyBMaWNlbnNlLgo+ICsKPiArICAgSG93ZXZlciwgbGlua2luZyBhICJ3b3JrIHRoYXQg dXNlcyB0aGUgTGlicmFyeSIgd2l0aCB0aGUgTGlicmFyeSBjcmVhdGVzCj4gKyAgIGFuIGV4ZWN1 dGFibGUgdGhhdCBpcyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnkgKGJlY2F1c2UgaXQgY29u dGFpbnMKPiArICAgcG9ydGlvbnMgb2YgdGhlIExpYnJhcnkpLCByYXRoZXIgdGhhbiBhICJ3b3Jr IHRoYXQgdXNlcyB0aGUKPiArICAgbGlicmFyeSIuIFRoZSBleGVjdXRhYmxlIGlzIHRoZXJlZm9y ZSBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZS4gU2VjdGlvbiA2Cj4gKyAgIHN0YXRlcyB0ZXJtcyBm b3IgZGlzdHJpYnV0aW9uIG9mIHN1Y2ggZXhlY3V0YWJsZXMuCj4gKwo+ICsgICBXaGVuIGEgIndv cmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB1c2VzIG1hdGVyaWFsIGZyb20gYSBoZWFkZXIgZmls ZQo+ICsgICB0aGF0IGlzIHBhcnQgb2YgdGhlIExpYnJhcnksIHRoZSBvYmplY3QgY29kZSBmb3Ig dGhlIHdvcmsgbWF5IGJlIGEKPiArICAgZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBMaWJyYXJ5IGV2 ZW4gdGhvdWdoIHRoZSBzb3VyY2UgY29kZSBpcwo+ICsgICBub3QuIFdoZXRoZXIgdGhpcyBpcyB0 cnVlIGlzIGVzcGVjaWFsbHkgc2lnbmlmaWNhbnQgaWYgdGhlIHdvcmsgY2FuIGJlCj4gKyAgIGxp bmtlZCB3aXRob3V0IHRoZSBMaWJyYXJ5LCBvciBpZiB0aGUgd29yayBpcyBpdHNlbGYgYSBsaWJy YXJ5LiBUaGUKPiArICAgdGhyZXNob2xkIGZvciB0aGlzIHRvIGJlIHRydWUgaXMgbm90IHByZWNp c2VseSBkZWZpbmVkIGJ5IGxhdy4KPiArCj4gKyAgIElmIHN1Y2ggYW4gb2JqZWN0IGZpbGUgdXNl cyBvbmx5IG51bWVyaWNhbCBwYXJhbWV0ZXJzLCBkYXRhIHN0cnVjdHVyZQo+ICsgICBsYXlvdXRz IGFuZCBhY2Nlc3NvcnMsIGFuZCBzbWFsbCBtYWNyb3MgYW5kIHNtYWxsIGlubGluZSBmdW5jdGlv bnMgKHRlbgo+ICsgICBsaW5lcyBvciBsZXNzIGluIGxlbmd0aCksIHRoZW4gdGhlIHVzZSBvZiB0 aGUgb2JqZWN0IGZpbGUgaXMKPiArICAgdW5yZXN0cmljdGVkLCByZWdhcmRsZXNzIG9mIHdoZXRo ZXIgaXQgaXMgbGVnYWxseSBhIGRlcml2YXRpdmUKPiArICAgd29yay4gKEV4ZWN1dGFibGVzIGNv bnRhaW5pbmcgdGhpcyBvYmplY3QgY29kZSBwbHVzIHBvcnRpb25zIG9mIHRoZQo+ICsgICBMaWJy YXJ5IHdpbGwgc3RpbGwgZmFsbCB1bmRlciBTZWN0aW9uIDYuKQo+ICsKPiArICAgT3RoZXJ3aXNl LCBpZiB0aGUgd29yayBpcyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnksIHlvdSBtYXkKPiAr ICAgZGlzdHJpYnV0ZSB0aGUgb2JqZWN0IGNvZGUgZm9yIHRoZSB3b3JrIHVuZGVyIHRoZSB0ZXJt cyBvZiBTZWN0aW9uCj4gKyAgIDYuIEFueSBleGVjdXRhYmxlcyBjb250YWluaW5nIHRoYXQgd29y ayBhbHNvIGZhbGwgdW5kZXIgU2VjdGlvbiA2LAo+ICsgICB3aGV0aGVyIG9yIG5vdCB0aGV5IGFy ZSBsaW5rZWQgZGlyZWN0bHkgd2l0aCB0aGUgTGlicmFyeSBpdHNlbGYuCj4gKwo+ICs2LiBBcyBh biBleGNlcHRpb24gdG8gdGhlIFNlY3Rpb25zIGFib3ZlLCB5b3UgbWF5IGFsc28gY29tYmluZSBv ciBsaW5rIGEKPiArICAgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJy YXJ5IHRvIHByb2R1Y2UgYSB3b3JrCj4gKyAgIGNvbnRhaW5pbmcgcG9ydGlvbnMgb2YgdGhlIExp YnJhcnksIGFuZCBkaXN0cmlidXRlIHRoYXQgd29yayB1bmRlciB0ZXJtcwo+ICsgICBvZiB5b3Vy IGNob2ljZSwgcHJvdmlkZWQgdGhhdCB0aGUgdGVybXMgcGVybWl0IG1vZGlmaWNhdGlvbiBvZiB0 aGUgd29yawo+ICsgICBmb3IgdGhlIGN1c3RvbWVyJ3Mgb3duIHVzZSBhbmQgcmV2ZXJzZSBlbmdp bmVlcmluZyBmb3IgZGVidWdnaW5nIHN1Y2gKPiArICAgbW9kaWZpY2F0aW9ucy4KPiArCj4gKyAg IFlvdSBtdXN0IGdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIGVhY2ggY29weSBvZiB0aGUgd29y ayB0aGF0IHRoZQo+ICsgICBMaWJyYXJ5IGlzIHVzZWQgaW4gaXQgYW5kIHRoYXQgdGhlIExpYnJh cnkgYW5kIGl0cyB1c2UgYXJlIGNvdmVyZWQgYnkKPiArICAgdGhpcyBMaWNlbnNlLiBZb3UgbXVz dCBzdXBwbHkgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gSWYgdGhlIHdvcmsgZHVyaW5nCj4gKyAg IGV4ZWN1dGlvbiBkaXNwbGF5cyBjb3B5cmlnaHQgbm90aWNlcywgeW91IG11c3QgaW5jbHVkZSB0 aGUgY29weXJpZ2h0Cj4gKyAgIG5vdGljZSBmb3IgdGhlIExpYnJhcnkgYW1vbmcgdGhlbSwgYXMg d2VsbCBhcyBhIHJlZmVyZW5jZSBkaXJlY3RpbmcgdGhlCj4gKyAgIHVzZXIgdG8gdGhlIGNvcHkg b2YgdGhpcyBMaWNlbnNlLiBBbHNvLCB5b3UgbXVzdCBkbyBvbmUgb2YgdGhlc2UgdGhpbmdzOgo+ ICsKPiArICAgYSkgQWNjb21wYW55IHRoZSB3b3JrIHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3Bv bmRpbmcgbWFjaGluZS1yZWFkYWJsZQo+ICsgICAgICBzb3VyY2UgY29kZSBmb3IgdGhlIExpYnJh cnkgaW5jbHVkaW5nIHdoYXRldmVyIGNoYW5nZXMgd2VyZSB1c2VkIGluCj4gKyAgICAgIHRoZSB3 b3JrICh3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIFNlY3Rpb25zIDEgYW5kIDIgYWJv dmUpOwo+ICsgICAgICBhbmQsIGlmIHRoZSB3b3JrIGlzIGFuIGV4ZWN1dGFibGUgbGlua2VkIHdp dGggdGhlIExpYnJhcnksIHdpdGggdGhlCj4gKyAgICAgIGNvbXBsZXRlIG1hY2hpbmUtcmVhZGFi bGUgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiwgYXMgb2JqZWN0Cj4gKyAgICAgIGNvZGUg YW5kL29yIHNvdXJjZSBjb2RlLCBzbyB0aGF0IHRoZSB1c2VyIGNhbiBtb2RpZnkgdGhlIExpYnJh cnkgYW5kCj4gKyAgICAgIHRoZW4gcmVsaW5rIHRvIHByb2R1Y2UgYSBtb2RpZmllZCBleGVjdXRh YmxlIGNvbnRhaW5pbmcgdGhlIG1vZGlmaWVkCj4gKyAgICAgIExpYnJhcnkuIChJdCBpcyB1bmRl cnN0b29kIHRoYXQgdGhlIHVzZXIgd2hvIGNoYW5nZXMgdGhlIGNvbnRlbnRzIG9mCj4gKyAgICAg IGRlZmluaXRpb25zIGZpbGVzIGluIHRoZSBMaWJyYXJ5IHdpbGwgbm90IG5lY2Vzc2FyaWx5IGJl IGFibGUgdG8KPiArICAgICAgcmVjb21waWxlIHRoZSBhcHBsaWNhdGlvbiB0byB1c2UgdGhlIG1v ZGlmaWVkIGRlZmluaXRpb25zLikKPiArCj4gKyAgIGIpIFVzZSBhIHN1aXRhYmxlIHNoYXJlZCBs aWJyYXJ5IG1lY2hhbmlzbSBmb3IgbGlua2luZyB3aXRoIHRoZQo+ICsgICAgICBMaWJyYXJ5LiBB IHN1aXRhYmxlIG1lY2hhbmlzbSBpcyBvbmUgdGhhdCAoMSkgdXNlcyBhdCBydW4gdGltZSBhIGNv cHkKPiArICAgICAgb2YgdGhlIGxpYnJhcnkgYWxyZWFkeSBwcmVzZW50IG9uIHRoZSB1c2VyJ3Mg Y29tcHV0ZXIgc3lzdGVtLCByYXRoZXIKPiArICAgICAgdGhhbiBjb3B5aW5nIGxpYnJhcnkgZnVu Y3Rpb25zIGludG8gdGhlIGV4ZWN1dGFibGUsIGFuZCAoMikgd2lsbAo+ICsgICAgICBvcGVyYXRl IHByb3Blcmx5IHdpdGggYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5LCBpZiB0aGUg dXNlcgo+ICsgICAgICBpbnN0YWxscyBvbmUsIGFzIGxvbmcgYXMgdGhlIG1vZGlmaWVkIHZlcnNp b24gaXMgaW50ZXJmYWNlLWNvbXBhdGlibGUKPiArICAgICAgd2l0aCB0aGUgdmVyc2lvbiB0aGF0 IHRoZSB3b3JrIHdhcyBtYWRlIHdpdGguCj4gKwo+ICsgICBjKSBBY2NvbXBhbnkgdGhlIHdvcmsg d2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQo+ICsgICAgICB5 ZWFycywgdG8gZ2l2ZSB0aGUgc2FtZSB1c2VyIHRoZSBtYXRlcmlhbHMgc3BlY2lmaWVkIGluIFN1 YnNlY3Rpb24KPiArICAgICAgNmEsIGFib3ZlLCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHRo ZSBjb3N0IG9mIHBlcmZvcm1pbmcgdGhpcwo+ICsgICAgICBkaXN0cmlidXRpb24uCj4gKwo+ICsg ICBkKSBJZiBkaXN0cmlidXRpb24gb2YgdGhlIHdvcmsgaXMgbWFkZSBieSBvZmZlcmluZyBhY2Nl c3MgdG8gY29weSBmcm9tIGEKPiArICAgICAgZGVzaWduYXRlZCBwbGFjZSwgb2ZmZXIgZXF1aXZh bGVudCBhY2Nlc3MgdG8gY29weSB0aGUgYWJvdmUgc3BlY2lmaWVkCj4gKyAgICAgIG1hdGVyaWFs cyBmcm9tIHRoZSBzYW1lIHBsYWNlLgo+ICsKPiArICAgZSkgVmVyaWZ5IHRoYXQgdGhlIHVzZXIg aGFzIGFscmVhZHkgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZXNlIG1hdGVyaWFscwo+ICsgICAgICBv ciB0aGF0IHlvdSBoYXZlIGFscmVhZHkgc2VudCB0aGlzIHVzZXIgYSBjb3B5Lgo+ICsKPiArICAg Rm9yIGFuIGV4ZWN1dGFibGUsIHRoZSByZXF1aXJlZCBmb3JtIG9mIHRoZSAid29yayB0aGF0IHVz ZXMgdGhlIExpYnJhcnkiCj4gKyAgIG11c3QgaW5jbHVkZSBhbnkgZGF0YSBhbmQgdXRpbGl0eSBw cm9ncmFtcyBuZWVkZWQgZm9yIHJlcHJvZHVjaW5nIHRoZQo+ICsgICBleGVjdXRhYmxlIGZyb20g aXQuIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24sIHRoZSBtYXRlcmlhbHMgdG8gYmUK PiArICAgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IGlzIG5vcm1h bGx5IGRpc3RyaWJ1dGVkIChpbgo+ICsgICBlaXRoZXIgc291cmNlIG9yIGJpbmFyeSBmb3JtKSB3 aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwKPiArICAga2VybmVsLCBhbmQgc28g b24pIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMs Cj4gKyAgIHVubGVzcyB0aGF0IGNvbXBvbmVudCBpdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1 dGFibGUuCj4gKwo+ICsgICBJdCBtYXkgaGFwcGVuIHRoYXQgdGhpcyByZXF1aXJlbWVudCBjb250 cmFkaWN0cyB0aGUgbGljZW5zZSByZXN0cmljdGlvbnMKPiArICAgb2Ygb3RoZXIgcHJvcHJpZXRh cnkgbGlicmFyaWVzIHRoYXQgZG8gbm90IG5vcm1hbGx5IGFjY29tcGFueSB0aGUKPiArICAgb3Bl cmF0aW5nIHN5c3RlbS4gU3VjaCBhIGNvbnRyYWRpY3Rpb24gbWVhbnMgeW91IGNhbm5vdCB1c2Ug Ym90aCB0aGVtCj4gKyAgIGFuZCB0aGUgTGlicmFyeSB0b2dldGhlciBpbiBhbiBleGVjdXRhYmxl IHRoYXQgeW91IGRpc3RyaWJ1dGUuCj4gKwo+ICs3LiBZb3UgbWF5IHBsYWNlIGxpYnJhcnkgZmFj aWxpdGllcyB0aGF0IGFyZSBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnkKPiArICAgc2lkZS1i eS1zaWRlIGluIGEgc2luZ2xlIGxpYnJhcnkgdG9nZXRoZXIgd2l0aCBvdGhlciBsaWJyYXJ5IGZh Y2lsaXRpZXMKPiArICAgbm90IGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLCBhbmQgZGlzdHJpYnV0 ZSBzdWNoIGEgY29tYmluZWQgbGlicmFyeSwKPiArICAgcHJvdmlkZWQgdGhhdCB0aGUgc2VwYXJh dGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5Cj4gKyAgIGFu ZCBvZiB0aGUgb3RoZXIgbGlicmFyeSBmYWNpbGl0aWVzIGlzIG90aGVyd2lzZSBwZXJtaXR0ZWQs IGFuZCBwcm92aWRlZAo+ICsgICB0aGF0IHlvdSBkbyB0aGVzZSB0d28gdGhpbmdzOgo+ICsKPiAr ICAgYSkgQWNjb21wYW55IHRoZSBjb21iaW5lZCBsaWJyYXJ5IHdpdGggYSBjb3B5IG9mIHRoZSBz YW1lIHdvcmsgYmFzZWQgb24KPiArICAgICAgdGhlIExpYnJhcnksIHVuY29tYmluZWQgd2l0aCBh bnkgb3RoZXIgbGlicmFyeSBmYWNpbGl0aWVzLiBUaGlzIG11c3QKPiArICAgICAgYmUgZGlzdHJp YnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBTZWN0aW9ucyBhYm92ZS4KPiArCj4gKyAgIGIp IEdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIHRoZSBjb21iaW5lZCBsaWJyYXJ5IG9mIHRoZSBm YWN0IHRoYXQgcGFydAo+ICsgICAgICBvZiBpdCBpcyBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJh cnksIGFuZCBleHBsYWluaW5nIHdoZXJlIHRvIGZpbmQKPiArICAgICAgdGhlIGFjY29tcGFueWlu ZyB1bmNvbWJpbmVkIGZvcm0gb2YgdGhlIHNhbWUgd29yay4KPiArCj4gKzguIFlvdSBtYXkgbm90 IGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgbGluayB3aXRoLCBvciBkaXN0cmlidXRlIHRoZQo+ ICsgICBMaWJyYXJ5IGV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNl bnNlLiBBbnkgYXR0ZW1wdAo+ICsgICBvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNl bnNlLCBsaW5rIHdpdGgsIG9yIGRpc3RyaWJ1dGUgdGhlCj4gKyAgIExpYnJhcnkgaXMgdm9pZCwg YW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcwo+ ICsgICBMaWNlbnNlLiBIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywg b3IgcmlnaHRzLCBmcm9tIHlvdQo+ICsgICB1bmRlciB0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2 ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMKPiArICAgc3VjaCBwYXJ0aWVz IHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCj4gKwo+ICs5LiBZb3UgYXJlIG5vdCByZXF1aXJl ZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3Qgc2lnbmVkCj4gKyAg IGl0LiBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlm eSBvciBkaXN0cmlidXRlCj4gKyAgIHRoZSBMaWJyYXJ5IG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtz LiBUaGVzZSBhY3Rpb25zIGFyZSBwcm9oaWJpdGVkIGJ5IGxhdwo+ICsgICBpZiB5b3UgZG8gbm90 IGFjY2VwdCB0aGlzIExpY2Vuc2UuIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yCj4gKyAgIGRp c3RyaWJ1dGluZyB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnkp LCB5b3UKPiArICAgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBk byBzbywgYW5kIGFsbCBpdHMgdGVybXMgYW5kCj4gKyAgIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcs IGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcgdGhlIExpYnJhcnkgb3Igd29ya3MKPiArICAgYmFz ZWQgb24gaXQuCj4gKwo+ICsxMC4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIExpYnJh cnkgKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQo+ICsgICAgTGlicmFyeSksIHRoZSByZWNpcGll bnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKPiArICAgIG9yaWdp bmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUsIGxpbmsgd2l0aCBvciBtb2RpZnkgdGhl IExpYnJhcnkKPiArICAgIHN1YmplY3QgdG8gdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuIFlv dSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgo+ICsgICAgcmVzdHJpY3Rpb25zIG9uIHRoZSBy ZWNpcGllbnRzJyBleGVyY2lzZSBvZiB0aGUgcmlnaHRzIGdyYW50ZWQKPiArICAgIGhlcmVpbi4g WW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJk Cj4gKyAgICBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgo+ICsKPiArMTEuIElmLCBhcyBhIGNv bnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQKPiAr ICAgIGluZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8g cGF0ZW50IGlzc3VlcyksCj4gKyAgICBjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hl dGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCj4gKyAgICBvdGhlcndpc2UpIHRoYXQg Y29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90Cj4g KyAgICBleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiBJZiB5 b3UgY2Fubm90Cj4gKyAgICBkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3Vz bHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCj4gKyAgICBMaWNlbnNlIGFuZCBhbnkgb3Ro ZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91Cj4gKyAg ICBtYXkgbm90IGRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgYXQgYWxsLiBGb3IgZXhhbXBsZSwgaWYg YSBwYXRlbnQgbGljZW5zZQo+ICsgICAgd291bGQgbm90IHBlcm1pdCByb3lhbHR5LWZyZWUgcmVk aXN0cmlidXRpb24gb2YgdGhlIExpYnJhcnkgYnkgYWxsCj4gKyAgICB0aG9zZSB3aG8gcmVjZWl2 ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbiB0aGUKPiAr ICAgIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3 b3VsZCBiZSB0byByZWZyYWluCj4gKyAgICBlbnRpcmVseSBmcm9tIGRpc3RyaWJ1dGlvbiBvZiB0 aGUgTGlicmFyeS4KPiArCj4gKyAgICBJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMg aGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIKPiArICAgIGFueSBwYXJ0aWN1bGFy IGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8K PiArICAgIGFwcGx5LCBhbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0byBh cHBseSBpbiBvdGhlcgo+ICsgICAgY2lyY3Vtc3RhbmNlcy4KPiArCj4gKyAgICBJdCBpcyBub3Qg dGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55 Cj4gKyAgICBwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250 ZXN0IHZhbGlkaXR5IG9mIGFueQo+ICsgICAgc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMg dGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQo+ICsgICAgaW50ZWdyaXR5IG9mIHRo ZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0gd2hpY2ggaXMgaW1wbGVtZW50ZWQK PiArICAgIGJ5IHB1YmxpYyBsaWNlbnNlIHByYWN0aWNlcy4gTWFueSBwZW9wbGUgaGF2ZSBtYWRl IGdlbmVyb3VzCj4gKyAgICBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3 YXJlIGRpc3RyaWJ1dGVkIHRocm91Z2ggdGhhdAo+ICsgICAgc3lzdGVtIGluIHJlbGlhbmNlIG9u IGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdCBzeXN0ZW07IGl0IGlzIHVwCj4gKyAgICB0 byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZyB0byBk aXN0cmlidXRlCj4gKyAgICBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEg bGljZW5zZWUgY2Fubm90IGltcG9zZSB0aGF0Cj4gKyAgICBjaG9pY2UuCj4gKwo+ICsgICAgVGhp cyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJl bGlldmVkIHRvCj4gKyAgICBiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGlj ZW5zZS4KPiArCj4gKzEyLiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIExp YnJhcnkgaXMgcmVzdHJpY3RlZCBpbiBjZXJ0YWluCj4gKyAgICBjb3VudHJpZXMgZWl0aGVyIGJ5 IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlIG9yaWdpbmFsCj4gKyAg ICBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIExpYnJhcnkgdW5kZXIgdGhpcyBMaWNl bnNlIG1heSBhZGQgYW4KPiArICAgIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24g bGltaXRhdGlvbiBleGNsdWRpbmcgdGhvc2UKPiArICAgIGNvdW50cmllcywgc28gdGhhdCBkaXN0 cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcgY291bnRyaWVzCj4gKyAgICBu b3QgdGh1cyBleGNsdWRlZC4gSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVz IHRoZQo+ICsgICAgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMg TGljZW5zZS4KPiArCj4gKzEzLiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJs aXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgo+ICsgICAgdGhlIExlc3NlciBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiBTdWNoIG5ldyB2ZXJzaW9ucwo+ ICsgICAgd2lsbCBiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBi dXQgbWF5IGRpZmZlciBpbgo+ICsgICAgZGV0YWlsIHRvIGFkZHJlc3MgbmV3IHByb2JsZW1zIG9y IGNvbmNlcm5zLgo+ICsKPiArICAgIEVhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNo aW5nIHZlcnNpb24gbnVtYmVyLiBJZiB0aGUgTGlicmFyeQo+ICsgICAgc3BlY2lmaWVzIGEgdmVy c2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkK PiArICAgIGxhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0 aGUgdGVybXMgYW5kCj4gKyAgICBjb25kaXRpb25zIGVpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Ig b2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5Cj4gKyAgICB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLiBJZiB0aGUgTGlicmFyeSBkb2VzIG5vdCBzcGVjaWZ5IGEgbGljZW5zZQo+ ICsgICAgdmVyc2lvbiBudW1iZXIsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlCj4gKyAgICBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ICsKPiArMTQu IElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBMaWJyYXJ5IGludG8gb3Ro ZXIgZnJlZQo+ICsgICAgcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJl IGluY29tcGF0aWJsZSB3aXRoIHRoZXNlLAo+ICsgICAgd3JpdGUgdG8gdGhlIGF1dGhvciB0byBh c2sgZm9yIHBlcm1pc3Npb24uIEZvciBzb2Z0d2FyZSB3aGljaCBpcwo+ICsgICAgY29weXJpZ2h0 ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29m dHdhcmUKPiArICAgIEZvdW5kYXRpb247IHdlIHNvbWV0aW1lcyBtYWtlIGV4Y2VwdGlvbnMgZm9y IHRoaXMuIE91ciBkZWNpc2lvbiB3aWxsIGJlCj4gKyAgICBndWlkZWQgYnkgdGhlIHR3byBnb2Fs cyBvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cyBvZiBhbGwKPiArICAgIGRlcml2YXRpdmVz IG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZCBvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJl dXNlCj4gKyAgICBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCj4gKwo+ICtOTyBXQVJSQU5UWQo+ICsK PiArMTUuIEJFQ0FVU0UgVEhFIExJQlJBUlkgSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRI RVJFIElTIE5PIFdBUlJBTlRZCj4gKyAgICBGT1IgVEhFIExJQlJBUlksIFRPIFRIRSBFWFRFTlQg UEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLiBFWENFUFQgV0hFTgo+ICsgICAgT1RIRVJXSVNF IFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFS VElFUwo+ICsgICAgUFJPVklERSBUSEUgTElCUkFSWSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkg T0YgQU5ZIEtJTkQsIEVJVEhFUgo+ICsgICAgRVhQUkVTU0VEIE9SIElNUExJRUQsIElOQ0xVRElO RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAo+ICsgICAgV0FSUkFOVElFUyBPRiBN RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBUSEUK PiArICAgIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBU SEUgTElCUkFSWSBJUyBXSVRICj4gKyAgICBZT1UuIFNIT1VMRCBUSEUgTElCUkFSWSBQUk9WRSBE RUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YgQUxMCj4gKyAgICBORUNFU1NBUlkgU0VS VklDSU5HLCBSRVBBSVIgT1IgQ09SUkVDVElPTi4KPiArCj4gKzE2LiBJTiBOTyBFVkVOVCBVTkxF U1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKPiAr ICAgIFdJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZ IE1PRElGWSBBTkQvT1IKPiArICAgIFJFRElTVFJJQlVURSBUSEUgTElCUkFSWSBBUyBQRVJNSVRU RUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SCj4gKyAgICBEQU1BR0VTLCBJTkNMVURJTkcg QU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTAo+ICsgICAg REFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIExJ QlJBUlkKPiArICAgIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIExPU1MgT0YgREFUQSBP UiBEQVRBIEJFSU5HIFJFTkRFUkVECj4gKyAgICBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlO RUQgQlkgWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GCj4gKyAgICBUSEUgTElC UkFSWSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFNPRlRXQVJFKSwgRVZFTiBJRiBTVUNIIEhP TERFUiBPUgo+ICsgICAgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lC SUxJVFkgT0YgU1VDSCBEQU1BR0VTLgo+ICsKPiArRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05T Cj4gKwo+ICtIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgTGlicmFyaWVzCj4g Kwo+ICtJZiB5b3UgZGV2ZWxvcCBhIG5ldyBsaWJyYXJ5LCBhbmQgeW91IHdhbnQgaXQgdG8gYmUg b2YgdGhlIGdyZWF0ZXN0Cj4gK3Bvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB3ZSByZWNvbW1l bmQgbWFraW5nIGl0IGZyZWUgc29mdHdhcmUgdGhhdAo+ICtldmVyeW9uZSBjYW4gcmVkaXN0cmli dXRlIGFuZCBjaGFuZ2UuIFlvdSBjYW4gZG8gc28gYnkgcGVybWl0dGluZwo+ICtyZWRpc3RyaWJ1 dGlvbiB1bmRlciB0aGVzZSB0ZXJtcyAob3IsIGFsdGVybmF0aXZlbHksIHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUKPiArb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSkuCj4gKwo+ICtUbyBh cHBseSB0aGVzZSB0ZXJtcywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgbGli cmFyeS4gSXQgaXMKPiArc2FmZXN0IHRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNo IHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKPiArY29udmV5IHRoZSBleGNsdXNpb24g b2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QgdGhlCj4gKyJj b3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMg Zm91bmQuCj4gKwo+ICtvbmUgbGluZSB0byBnaXZlIHRoZSBsaWJyYXJ5J3MgbmFtZSBhbmQgYW4g aWRlYSBvZiB3aGF0IGl0IGRvZXMuCj4gK0NvcHlyaWdodCAoQykgeWVhciBuYW1lIG9mIGF1dGhv cgo+ICsKPiArVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKPiArdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4gK3RoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3Ig KGF0Cj4gK3lvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiArCj4gK1RoaXMgbGlicmFy eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQg V0lUSE9VVAo+ICtBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IKPiArRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuIFNlZSB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCj4gK2ZvciBtb3Jl IGRldGFpbHMuCj4gKwo+ICtZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiArYWxvbmcgd2l0aCB0aGlzIGxpYnJh cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwKPiArSW5j LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAx IFVTQSBBbHNvIGFkZAo+ICtpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxl Y3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KPiArCj4gK1lvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBl bXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCj4gK3NjaG9vbCwg aWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIGxpYnJhcnks IGlmCj4gK25lY2Vzc2FyeS4gSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgo+ICsK PiArWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVz dCBpbgo+ICt0aGUgbGlicmFyeSBgRnJvYicgKGEgbGlicmFyeSBmb3IgdHdlYWtpbmcga25vYnMp IHdyaXR0ZW4KPiArYnkgSmFtZXMgUmFuZG9tIEhhY2tlci4KPiArCj4gK3NpZ25hdHVyZSBvZiBU eSBDb29uLCAxIEFwcmlsIDE5OTAKPiArVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKPiArVGhh dCdzIGFsbCB0aGVyZSBpcyB0byBpdCEKPiBkaWZmIC0tZ2l0IGEvTElDRU5TRVMvcHJlZmVycmVk L0xHUEwtMi4xLW9yLWxhdGVyIGIvTElDRU5TRVMvcHJlZmVycmVkL0xHUEwtMi4xLW9yLWxhdGVy Cj4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDRiYjE1NmU3N2Q1Li4wMDAwMDAw MDAwMDAKPiAtLS0gYS9MSUNFTlNFUy9wcmVmZXJyZWQvTEdQTC0yLjEtb3ItbGF0ZXIKPiArKysg L2Rldi9udWxsCj4gQEAgLTEsNDY4ICswLDAgQEAKPiAtR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJ QyBMSUNFTlNFCj4gLQo+IC1WZXJzaW9uIDIuMSwgRmVicnVhcnkgMTk5OQo+IC0KPiAtQ29weXJp Z2h0IChDKSAxOTkxLCAxOTk5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgo+IC0KPiAt NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVT QQo+IC0KPiAtRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVy YmF0aW0gY29waWVzIG9mIHRoaXMgbGljZW5zZQo+IC1kb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0 IGlzIG5vdCBhbGxvd2VkLgo+IC0KPiAtW1RoaXMgaXMgdGhlIGZpcnN0IHJlbGVhc2VkIHZlcnNp b24gb2YgdGhlIExlc3NlciBHUEwuIEl0IGFsc28gY291bnRzIGFzIHRoZQo+IC1zdWNjZXNzb3Ig b2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIsIGhlbmNlIHRoZSB2 ZXJzaW9uCj4gLW51bWJlciAyLjEuXQo+IC0KPiAtUHJlYW1ibGUKPiAtCj4gLVRoZSBsaWNlbnNl cyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIgZnJlZWRv bSB0byBzaGFyZQo+IC1hbmQgY2hhbmdlIGl0LiBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlcyBhcmUgaW50ZW5kZWQgdG8KPiAtZ3VhcmFudGVlIHlvdXIgZnJlZWRv bSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUgc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUKPiAt c29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4KPiAtCj4gLVRoaXMgbGljZW5zZSwg dGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBhcHBsaWVzIHRvIHNvbWUgc3BlY2lh bGx5Cj4gLWRlc2lnbmF0ZWQgc29mdHdhcmUgcGFja2FnZXMtLXR5cGljYWxseSBsaWJyYXJpZXMt LW9mIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KPiAtYW5kIG90aGVyIGF1dGhvcnMgd2hv IGRlY2lkZSB0byB1c2UgaXQuIFlvdSBjYW4gdXNlIGl0IHRvbywgYnV0IHdlIHN1Z2dlc3QKPiAt eW91IGZpcnN0IHRoaW5rIGNhcmVmdWxseSBhYm91dCB3aGV0aGVyIHRoaXMgbGljZW5zZSBvciB0 aGUgb3JkaW5hcnkgR2VuZXJhbAo+IC1QdWJsaWMgTGljZW5zZSBpcyB0aGUgYmV0dGVyIHN0cmF0 ZWd5IHRvIHVzZSBpbiBhbnkgcGFydGljdWxhciBjYXNlLCBiYXNlZAo+IC1vbiB0aGUgZXhwbGFu YXRpb25zIGJlbG93Lgo+IC0KPiAtV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBh cmUgcmVmZXJyaW5nIHRvIGZyZWVkb20gb2YgdXNlLCBub3QgcHJpY2UuCj4gLU91ciBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91IGhhdmUg dGhlIGZyZWVkb20KPiAtdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5k IGNoYXJnZSBmb3IgdGhpcyBzZXJ2aWNlIGlmIHlvdQo+IC13aXNoKTsgdGhhdCB5b3UgcmVjZWl2 ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0IGlmIHlvdSB3YW50IGl0OyB0aGF0IHlvdQo+IC1j YW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBhbmQgdXNlIHBpZWNlcyBvZiBpdCBpbiBuZXcgZnJlZSBw cm9ncmFtczsgYW5kIHRoYXQKPiAteW91IGFyZSBpbmZvcm1lZCB0aGF0IHlvdSBjYW4gZG8gdGhl c2UgdGhpbmdzLgo+IC0KPiAtVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtl IHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZCBkaXN0cmlidXRvcnMKPiAtdG8gZGVueSB5b3UgdGhl c2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZXNlIHJpZ2h0cy4gVGhlc2Ug cmVzdHJpY3Rpb25zCj4gLXRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9y IHlvdSBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YKPiAtdGhlIGxpYnJhcnkgb3IgaWYgeW91 IG1vZGlmeSBpdC4KPiAtCj4gLUZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMg b2YgdGhlIGxpYnJhcnksIHdoZXRoZXIgZ3JhdGlzIG9yIGZvcgo+IC1hIGZlZSwgeW91IG11c3Qg Z2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0IHdlIGdhdmUgeW91LiBZb3Ug bXVzdAo+IC1tYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUg c291cmNlIGNvZGUuIElmIHlvdSBsaW5rCj4gLW90aGVyIGNvZGUgd2l0aCB0aGUgbGlicmFyeSwg eW91IG11c3QgcHJvdmlkZSBjb21wbGV0ZSBvYmplY3QgZmlsZXMgdG8gdGhlCj4gLXJlY2lwaWVu dHMsIHNvIHRoYXQgdGhleSBjYW4gcmVsaW5rIHRoZW0gd2l0aCB0aGUgbGlicmFyeSBhZnRlciBt YWtpbmcgY2hhbmdlcwo+IC10byB0aGUgbGlicmFyeSBhbmQgcmVjb21waWxpbmcgaXQuIEFuZCB5 b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleQo+IC1rbm93IHRoZWlyIHJpZ2h0 cy4KPiAtCj4gLVdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCBhIHR3by1zdGVwIG1ldGhvZDog KDEpIHdlIGNvcHlyaWdodCB0aGUgbGlicmFyeSwKPiAtYW5kICgyKSB3ZSBvZmZlciB5b3UgdGhp cyBsaWNlbnNlLCB3aGljaCBnaXZlcyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LAo+IC1k aXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIGxpYnJhcnkuCj4gLQo+IC1UbyBwcm90ZWN0IGVh Y2ggZGlzdHJpYnV0b3IsIHdlIHdhbnQgdG8gbWFrZSBpdCB2ZXJ5IGNsZWFyIHRoYXQgdGhlcmUg aXMgbm8KPiAtd2FycmFudHkgZm9yIHRoZSBmcmVlIGxpYnJhcnkuIEFsc28sIGlmIHRoZSBsaWJy YXJ5IGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUKPiAtZWxzZSBhbmQgcGFzc2VkIG9uLCB0aGUgcmVj aXBpZW50cyBzaG91bGQga25vdyB0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdAo+IC10aGUgb3Jp Z2luYWwgdmVyc2lvbiwgc28gdGhhdCB0aGUgb3JpZ2luYWwgYXV0aG9yJ3MgcmVwdXRhdGlvbiB3 aWxsIG5vdCBiZQo+IC1hZmZlY3RlZCBieSBwcm9ibGVtcyB0aGF0IG1pZ2h0IGJlIGludHJvZHVj ZWQgYnkgb3RoZXJzLgo+IC0KPiAtRmluYWxseSwgc29mdHdhcmUgcGF0ZW50cyBwb3NlIGEgY29u c3RhbnQgdGhyZWF0IHRvIHRoZSBleGlzdGVuY2Ugb2YgYW55IGZyZWUKPiAtcHJvZ3JhbS4gV2Ug d2lzaCB0byBtYWtlIHN1cmUgdGhhdCBhIGNvbXBhbnkgY2Fubm90IGVmZmVjdGl2ZWx5IHJlc3Ry aWN0IHRoZQo+IC11c2VycyBvZiBhIGZyZWUgcHJvZ3JhbSBieSBvYnRhaW5pbmcgYSByZXN0cmlj dGl2ZSBsaWNlbnNlIGZyb20gYSBwYXRlbnQgaG9sZGVyLgo+IC1UaGVyZWZvcmUsIHdlIGluc2lz dCB0aGF0IGFueSBwYXRlbnQgbGljZW5zZSBvYnRhaW5lZCBmb3IgYSB2ZXJzaW9uIG9mIHRoZQo+ IC1saWJyYXJ5IG11c3QgYmUgY29uc2lzdGVudCB3aXRoIHRoZSBmdWxsIGZyZWVkb20gb2YgdXNl IHNwZWNpZmllZCBpbiB0aGlzCj4gLWxpY2Vuc2UuCj4gLQo+IC1Nb3N0IEdOVSBzb2Z0d2FyZSwg aW5jbHVkaW5nIHNvbWUgbGlicmFyaWVzLCBpcyBjb3ZlcmVkIGJ5IHRoZSBvcmRpbmFyeSBHTlUK PiAtR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gVGhpcyBsaWNlbnNlLCB0aGUgR05VIExlc3NlciBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAo+IC1hcHBsaWVzIHRvIGNlcnRhaW4gZGVzaWduYXRlZCBs aWJyYXJpZXMsIGFuZCBpcyBxdWl0ZSBkaWZmZXJlbnQgZnJvbSB0aGUgb3JkaW5hcnkKPiAtR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZS4gV2UgdXNlIHRoaXMgbGljZW5zZSBmb3IgY2VydGFpbiBsaWJy YXJpZXMgaW4gb3JkZXIKPiAtdG8gcGVybWl0IGxpbmtpbmcgdGhvc2UgbGlicmFyaWVzIGludG8g bm9uLWZyZWUgcHJvZ3JhbXMuCj4gLQo+IC1XaGVuIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCBh IGxpYnJhcnksIHdoZXRoZXIgc3RhdGljYWxseSBvciB1c2luZyBhIHNoYXJlZAo+IC1saWJyYXJ5 LCB0aGUgY29tYmluYXRpb24gb2YgdGhlIHR3byBpcyBsZWdhbGx5IHNwZWFraW5nIGEgY29tYmlu ZWQgd29yaywgYQo+IC1kZXJpdmF0aXZlIG9mIHRoZSBvcmlnaW5hbCBsaWJyYXJ5LiBUaGUgb3Jk aW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB0aGVyZWZvcmUKPiAtcGVybWl0cyBzdWNoIGxp bmtpbmcgb25seSBpZiB0aGUgZW50aXJlIGNvbWJpbmF0aW9uIGZpdHMgaXRzIGNyaXRlcmlhIG9m IGZyZWVkb20uCj4gLVRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBwZXJtaXRzIG1v cmUgbGF4IGNyaXRlcmlhIGZvciBsaW5raW5nIG90aGVyCj4gLWNvZGUgd2l0aCB0aGUgbGlicmFy eS4KPiAtCj4gLVdlIGNhbGwgdGhpcyBsaWNlbnNlIHRoZSAiTGVzc2VyIiBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGJlY2F1c2UgaXQgZG9lcyBMZXNzCj4gLXRvIHByb3RlY3QgdGhlIHVzZXIncyBm cmVlZG9tIHRoYW4gdGhlIG9yZGluYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UuIEl0Cj4gLWFs c28gcHJvdmlkZXMgb3RoZXIgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzIExlc3Mgb2YgYW4gYWR2 YW50YWdlIG92ZXIgY29tcGV0aW5nCj4gLW5vbi1mcmVlIHByb2dyYW1zLiBUaGVzZSBkaXNhZHZh bnRhZ2VzIGFyZSB0aGUgcmVhc29uIHdlIHVzZSB0aGUgb3JkaW5hcnkKPiAtR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbWFueSBsaWJyYXJpZXMuIEhvd2V2ZXIsIHRoZSBMZXNzZXIgbGljZW5z ZSBwcm92aWRlcwo+IC1hZHZhbnRhZ2VzIGluIGNlcnRhaW4gc3BlY2lhbCBjaXJjdW1zdGFuY2Vz Lgo+IC0KPiAtRm9yIGV4YW1wbGUsIG9uIHJhcmUgb2NjYXNpb25zLCB0aGVyZSBtYXkgYmUgYSBz cGVjaWFsIG5lZWQgdG8gZW5jb3VyYWdlIHRoZQo+IC13aWRlc3QgcG9zc2libGUgdXNlIG9mIGEg Y2VydGFpbiBsaWJyYXJ5LCBzbyB0aGF0IGl0IGJlY29tZXMgYSBkZS1mYWN0byBzdGFuZGFyZC4K PiAtVG8gYWNoaWV2ZSB0aGlzLCBub24tZnJlZSBwcm9ncmFtcyBtdXN0IGJlIGFsbG93ZWQgdG8g dXNlIHRoZSBsaWJyYXJ5LiBBIG1vcmUKPiAtZnJlcXVlbnQgY2FzZSBpcyB0aGF0IGEgZnJlZSBs aWJyYXJ5IGRvZXMgdGhlIHNhbWUgam9iIGFzIHdpZGVseSB1c2VkIG5vbi1mcmVlCj4gLWxpYnJh cmllcy4gSW4gdGhpcyBjYXNlLCB0aGVyZSBpcyBsaXR0bGUgdG8gZ2FpbiBieSBsaW1pdGluZyB0 aGUgZnJlZSBsaWJyYXJ5Cj4gLXRvIGZyZWUgc29mdHdhcmUgb25seSwgc28gd2UgdXNlIHRoZSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KPiAtCj4gLUluIG90aGVyIGNhc2VzLCBwZXJt aXNzaW9uIHRvIHVzZSBhIHBhcnRpY3VsYXIgbGlicmFyeSBpbiBub24tZnJlZSBwcm9ncmFtcwo+ IC1lbmFibGVzIGEgZ3JlYXRlciBudW1iZXIgb2YgcGVvcGxlIHRvIHVzZSBhIGxhcmdlIGJvZHkg b2YgZnJlZSBzb2Z0d2FyZS4gRm9yCj4gLWV4YW1wbGUsIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBH TlUgQyBMaWJyYXJ5IGluIG5vbi1mcmVlIHByb2dyYW1zIGVuYWJsZXMKPiAtbWFueSBtb3JlIHBl b3BsZSB0byB1c2UgdGhlIHdob2xlIEdOVSBvcGVyYXRpbmcgc3lzdGVtLCBhcyB3ZWxsIGFzIGl0 cyB2YXJpYW50LAo+IC10aGUgR05VL0xpbnV4IG9wZXJhdGluZyBzeXN0ZW0uCj4gLQo+IC1BbHRo b3VnaCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgTGVzcyBwcm90ZWN0aXZl IG9mIHRoZSB1c2VycycKPiAtZnJlZWRvbSwgaXQgZG9lcyBlbnN1cmUgdGhhdCB0aGUgdXNlciBv ZiBhIHByb2dyYW0gdGhhdCBpcyBsaW5rZWQgd2l0aCB0aGUKPiAtTGlicmFyeSBoYXMgdGhlIGZy ZWVkb20gYW5kIHRoZSB3aGVyZXdpdGhhbCB0byBydW4gdGhhdCBwcm9ncmFtIHVzaW5nIGEgbW9k aWZpZWQKPiAtdmVyc2lvbiBvZiB0aGUgTGlicmFyeS4KPiAtCj4gLVRoZSBwcmVjaXNlIHRlcm1z IGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlv bgo+IC1mb2xsb3cuIFBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGRpZmZlcmVuY2UgYmV0d2Vl biBhICJ3b3JrIGJhc2VkIG9uIHRoZQo+IC1saWJyYXJ5IiBhbmQgYSAid29yayB0aGF0IHVzZXMg dGhlIGxpYnJhcnkiLiBUaGUgZm9ybWVyIGNvbnRhaW5zIGNvZGUgZGVyaXZlZAo+IC1mcm9tIHRo ZSBsaWJyYXJ5LCB3aGVyZWFzIHRoZSBsYXR0ZXIgbXVzdCBiZSBjb21iaW5lZCB3aXRoIHRoZSBs aWJyYXJ5IGluCj4gLW9yZGVyIHRvIHJ1bi4KPiAtCj4gLVRFUk1TIEFORCBDT05ESVRJT05TIEZP UiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgo+IC0KPiAtMC4gVGhpcyBM aWNlbnNlIEFncmVlbWVudCBhcHBsaWVzIHRvIGFueSBzb2Z0d2FyZSBsaWJyYXJ5IG9yIG90aGVy IHByb2dyYW0KPiAtd2hpY2ggY29udGFpbnMgYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmln aHQgaG9sZGVyIG9yIG90aGVyIGF1dGhvcml6ZWQKPiAtcGFydHkgc2F5aW5nIGl0IG1heSBiZSBk aXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMZXNzZXIgR2VuZXJhbAo+IC1QdWJs aWMgTGljZW5zZSAoYWxzbyBjYWxsZWQgInRoaXMgTGljZW5zZSIpLiBFYWNoIGxpY2Vuc2VlIGlz IGFkZHJlc3NlZCBhcwo+IC0ieW91Ii4KPiAtCj4gLUEgImxpYnJhcnkiIG1lYW5zIGEgY29sbGVj dGlvbiBvZiBzb2Z0d2FyZSBmdW5jdGlvbnMgYW5kL29yIGRhdGEgcHJlcGFyZWQKPiAtc28gYXMg dG8gYmUgY29udmVuaWVudGx5IGxpbmtlZCB3aXRoIGFwcGxpY2F0aW9uIHByb2dyYW1zICh3aGlj aCB1c2Ugc29tZQo+IC1vZiB0aG9zZSBmdW5jdGlvbnMgYW5kIGRhdGEpIHRvIGZvcm0gZXhlY3V0 YWJsZXMuCj4gLQo+IC1UaGUgIkxpYnJhcnkiLCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHNv ZnR3YXJlIGxpYnJhcnkgb3Igd29yayB3aGljaCBoYXMKPiAtYmVlbiBkaXN0cmlidXRlZCB1bmRl ciB0aGVzZSB0ZXJtcy4gQSAid29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSIgbWVhbnMgZWl0aGVy Cj4gLXRoZSBMaWJyYXJ5IG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxh dzogdGhhdCBpcyB0byBzYXksIGEKPiAtd29yayBjb250YWluaW5nIHRoZSBMaWJyYXJ5IG9yIGEg cG9ydGlvbiBvZiBpdCwgZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucwo+IC1h bmQvb3IgdHJhbnNsYXRlZCBzdHJhaWdodGZvcndhcmRseSBpbnRvIGFub3RoZXIgbGFuZ3VhZ2Uu IChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24KPiAtaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0 aW9uIGluIHRoZSB0ZXJtICJtb2RpZmljYXRpb24iLikKPiAtCj4gLSJTb3VyY2UgY29kZSIgZm9y IGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yIG1ha2luZyBt b2RpZmljYXRpb25zCj4gLXRvIGl0LiBGb3IgYSBsaWJyYXJ5LCBjb21wbGV0ZSBzb3VyY2UgY29k ZSBtZWFucyBhbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwKPiAtbW9kdWxlcyBpdCBjb250YWlu cywgcGx1cyBhbnkgYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cwo+ IC10aGUgc2NyaXB0cyB1c2VkIHRvIGNvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlv biBvZiB0aGUgbGlicmFyeS4KPiAtCj4gLUFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBk aXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90IGNvdmVyZWQKPiAtYnkgdGhpcyBM aWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gVGhlIGFjdCBvZiBydW5uaW5nIGEg cHJvZ3JhbQo+IC11c2luZyB0aGUgTGlicmFyeSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIG91dHB1 dCBmcm9tIHN1Y2ggYSBwcm9ncmFtIGlzIGNvdmVyZWQKPiAtb25seSBpZiBpdHMgY29udGVudHMg Y29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnkgKGluZGVwZW5kZW50IG9mCj4g LXRoZSB1c2Ugb2YgdGhlIExpYnJhcnkgaW4gYSB0b29sIGZvciB3cml0aW5nIGl0KS4gV2hldGhl ciB0aGF0IGlzIHRydWUgZGVwZW5kcwo+IC1vbiB3aGF0IHRoZSBMaWJyYXJ5IGRvZXMgYW5kIHdo YXQgdGhlIHByb2dyYW0gdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IGRvZXMuCj4gLQo+IC0xLiBZb3Ug bWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBMaWJyYXJ5J3Mg Y29tcGxldGUgc291cmNlCj4gLWNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0s IHByb3ZpZGVkIHRoYXQgeW91IGNvbnNwaWN1b3VzbHkgYW5kCj4gLWFwcHJvcHJpYXRlbHkgcHVi bGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgZGlz Y2xhaW1lcgo+IC1vZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZSBub3RpY2VzIHRoYXQg cmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0bwo+IC10aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFu dHk7IGFuZCBkaXN0cmlidXRlIGEgY29weSBvZiB0aGlzIExpY2Vuc2UgYWxvbmcgd2l0aAo+IC10 aGUgTGlicmFyeS4KPiAtCj4gLVlvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwg YWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZCB5b3UKPiAtbWF5IGF0IHlvdXIgb3B0aW9u IG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEgZmVlLgo+IC0KPiAt Mi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgTGlicmFyeSBvciBh bnkgcG9ydGlvbiBvZiBpdCwKPiAtdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgTGli cmFyeSwgYW5kIGNvcHkgYW5kIGRpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zCj4gLW9yIHdv cmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMSBhYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3Ug YWxzbyBtZWV0IGFsbAo+IC1vZiB0aGVzZSBjb25kaXRpb25zOgo+IC0KPiAtICAgICAgYSkgVGhl IG1vZGlmaWVkIHdvcmsgbXVzdCBpdHNlbGYgYmUgYSBzb2Z0d2FyZSBsaWJyYXJ5Lgo+IC0KPiAt YikgWW91IG11c3QgY2F1c2UgdGhlIGZpbGVzIG1vZGlmaWVkIHRvIGNhcnJ5IHByb21pbmVudCBu b3RpY2VzIHN0YXRpbmcgdGhhdAo+IC15b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRl IG9mIGFueSBjaGFuZ2UuCj4gLQo+IC1jKSBZb3UgbXVzdCBjYXVzZSB0aGUgd2hvbGUgb2YgdGhl IHdvcmsgdG8gYmUgbGljZW5zZWQgYXQgbm8gY2hhcmdlIHRvIGFsbAo+IC10aGlyZCBwYXJ0aWVz IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCj4gLQo+IC1kKSBJZiBhIGZhY2lsaXR5 IGluIHRoZSBtb2RpZmllZCBMaWJyYXJ5IHJlZmVycyB0byBhIGZ1bmN0aW9uIG9yIGEgdGFibGUg b2YKPiAtZGF0YSB0byBiZSBzdXBwbGllZCBieSBhbiBhcHBsaWNhdGlvbiBwcm9ncmFtIHRoYXQg dXNlcyB0aGUgZmFjaWxpdHksIG90aGVyCj4gLXRoYW4gYXMgYW4gYXJndW1lbnQgcGFzc2VkIHdo ZW4gdGhlIGZhY2lsaXR5IGlzIGludm9rZWQsIHRoZW4geW91IG11c3QgbWFrZQo+IC1hIGdvb2Qg ZmFpdGggZWZmb3J0IHRvIGVuc3VyZSB0aGF0LCBpbiB0aGUgZXZlbnQgYW4gYXBwbGljYXRpb24g ZG9lcyBub3Qgc3VwcGx5Cj4gLXN1Y2ggZnVuY3Rpb24gb3IgdGFibGUsIHRoZSBmYWNpbGl0eSBz dGlsbCBvcGVyYXRlcywgYW5kIHBlcmZvcm1zIHdoYXRldmVyCj4gLXBhcnQgb2YgaXRzIHB1cnBv c2UgcmVtYWlucyBtZWFuaW5nZnVsLgo+IC0KPiAtKEZvciBleGFtcGxlLCBhIGZ1bmN0aW9uIGlu IGEgbGlicmFyeSB0byBjb21wdXRlIHNxdWFyZSByb290cyBoYXMgYSBwdXJwb3NlCj4gLXRoYXQg aXMgZW50aXJlbHkgd2VsbC1kZWZpbmVkIGluZGVwZW5kZW50IG9mIHRoZSBhcHBsaWNhdGlvbi4g VGhlcmVmb3JlLCBTdWJzZWN0aW9uCj4gLTJkIHJlcXVpcmVzIHRoYXQgYW55IGFwcGxpY2F0aW9u LXN1cHBsaWVkIGZ1bmN0aW9uIG9yIHRhYmxlIHVzZWQgYnkgdGhpcyBmdW5jdGlvbgo+IC1tdXN0 IGJlIG9wdGlvbmFsOiBpZiB0aGUgYXBwbGljYXRpb24gZG9lcyBub3Qgc3VwcGx5IGl0LCB0aGUg c3F1YXJlIHJvb3QgZnVuY3Rpb24KPiAtbXVzdCBzdGlsbCBjb21wdXRlIHNxdWFyZSByb290cy4p Cj4gLQo+IC1UaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMg YSB3aG9sZS4gSWYgaWRlbnRpZmlhYmxlCj4gLXNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90 IGRlcml2ZWQgZnJvbSB0aGUgTGlicmFyeSwgYW5kIGNhbiBiZSByZWFzb25hYmx5Cj4gLWNvbnNp ZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluIHRoZW1zZWx2ZXMsIHRoZW4g dGhpcyBMaWNlbnNlLAo+IC1hbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2Ugc2Vj dGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzCj4gLXNlcGFyYXRlIHdvcmtzLiBCdXQg d2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUK PiAtd2hpY2ggaXMgYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5LCB0aGUgZGlzdHJpYnV0aW9u IG9mIHRoZSB3aG9sZSBtdXN0IGJlCj4gLW9uIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHdo b3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kCj4gLXRvIHRoZSBlbnRp cmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3 aG8gd3JvdGUKPiAtaXQuCj4gLQo+IC1UaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlz IHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QgeW91cgo+IC1yaWdodHMgdG8gd29y ayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvIGV4ZXJj aXNlCj4gLXRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2 ZSBvciBjb2xsZWN0aXZlIHdvcmtzIGJhc2VkCj4gLW9uIHRoZSBMaWJyYXJ5Lgo+IC0KPiAtSW4g YWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0 aGUgTGlicmFyeSB3aXRoCj4gLXRoZSBMaWJyYXJ5IChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0 aGUgTGlicmFyeSkgb24gYSB2b2x1bWUgb2YgYSBzdG9yYWdlCj4gLW9yIGRpc3RyaWJ1dGlvbiBt ZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIgdGhlIHNjb3BlIG9mIHRo aXMKPiAtTGljZW5zZS4KPiAtCj4gLTMuIFlvdSBtYXkgb3B0IHRvIGFwcGx5IHRoZSB0ZXJtcyBv ZiB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKPiAtaW5zdGVhZCBvZiB0 aGlzIExpY2Vuc2UgdG8gYSBnaXZlbiBjb3B5IG9mIHRoZSBMaWJyYXJ5LiBUbyBkbyB0aGlzLCB5 b3UgbXVzdAo+IC1hbHRlciBhbGwgdGhlIG5vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vu c2UsIHNvIHRoYXQgdGhleSByZWZlciB0byB0aGUKPiAtb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UsIHZlcnNpb24gMiwgaW5zdGVhZCBvZiB0byB0aGlzIExpY2Vuc2UuCj4gLShJ ZiBhIG5ld2VyIHZlcnNpb24gdGhhbiB2ZXJzaW9uIDIgb2YgdGhlIG9yZGluYXJ5IEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCj4gLWhhcyBhcHBlYXJlZCwgdGhlbiB5b3UgY2FuIHNwZWNpZnkg dGhhdCB2ZXJzaW9uIGluc3RlYWQgaWYgeW91IHdpc2guKSBEbyBub3QKPiAtbWFrZSBhbnkgb3Ro ZXIgY2hhbmdlIGluIHRoZXNlIG5vdGljZXMuCj4gLQo+IC1PbmNlIHRoaXMgY2hhbmdlIGlzIG1h ZGUgaW4gYSBnaXZlbiBjb3B5LCBpdCBpcyBpcnJldmVyc2libGUgZm9yIHRoYXQgY29weSwKPiAt c28gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gYWxs IHN1YnNlcXVlbnQgY29waWVzCj4gLWFuZCBkZXJpdmF0aXZlIHdvcmtzIG1hZGUgZnJvbSB0aGF0 IGNvcHkuCj4gLQo+IC1UaGlzIG9wdGlvbiBpcyB1c2VmdWwgd2hlbiB5b3Ugd2lzaCB0byBjb3B5 IHBhcnQgb2YgdGhlIGNvZGUgb2YgdGhlIExpYnJhcnkKPiAtaW50byBhIHByb2dyYW0gdGhhdCBp cyBub3QgYSBsaWJyYXJ5Lgo+IC0KPiAtNC4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRo ZSBMaWJyYXJ5IChvciBhIHBvcnRpb24gb3IgZGVyaXZhdGl2ZSBvZgo+IC1pdCwgdW5kZXIgU2Vj dGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gdW5kZXIgdGhlIHRlcm1z IG9mCj4gLVNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgcHJvdmlkZWQgdGhhdCB5b3UgYWNjb21wYW55 IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcKPiAtbWFjaGluZS1yZWFkYWJsZSBz b3VyY2UgY29kZSwgd2hpY2ggbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YK PiAtU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZv ciBzb2Z0d2FyZSBpbnRlcmNoYW5nZS4KPiAtCj4gLUlmIGRpc3RyaWJ1dGlvbiBvZiBvYmplY3Qg Y29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVk Cj4gLXBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlIHNv dXJjZSBjb2RlIGZyb20gdGhlIHNhbWUKPiAtcGxhY2Ugc2F0aXNmaWVzIHRoZSByZXF1aXJlbWVu dCB0byBkaXN0cmlidXRlIHRoZSBzb3VyY2UgY29kZSwgZXZlbiB0aG91Z2gKPiAtdGhpcmQgcGFy dGllcyBhcmUgbm90IGNvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUg b2JqZWN0IGNvZGUuCj4gLQo+IC01LiBBIHByb2dyYW0gdGhhdCBjb250YWlucyBubyBkZXJpdmF0 aXZlIG9mIGFueSBwb3J0aW9uIG9mIHRoZSBMaWJyYXJ5LCBidXQKPiAtaXMgZGVzaWduZWQgdG8g d29yayB3aXRoIHRoZSBMaWJyYXJ5IGJ5IGJlaW5nIGNvbXBpbGVkIG9yIGxpbmtlZCB3aXRoIGl0 LAo+IC1pcyBjYWxsZWQgYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiLiBTdWNoIGEgd29y aywgaW4gaXNvbGF0aW9uLCBpcyBub3QKPiAtYSBkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJh cnksIGFuZCB0aGVyZWZvcmUgZmFsbHMgb3V0c2lkZSB0aGUgc2NvcGUgb2YKPiAtdGhpcyBMaWNl bnNlLgo+IC0KPiAtSG93ZXZlciwgbGlua2luZyBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFy eSIgd2l0aCB0aGUgTGlicmFyeSBjcmVhdGVzIGFuCj4gLWV4ZWN1dGFibGUgdGhhdCBpcyBhIGRl cml2YXRpdmUgb2YgdGhlIExpYnJhcnkgKGJlY2F1c2UgaXQgY29udGFpbnMgcG9ydGlvbnMKPiAt b2YgdGhlIExpYnJhcnkpLCByYXRoZXIgdGhhbiBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgbGlicmFy eSIuIFRoZSBleGVjdXRhYmxlCj4gLWlzIHRoZXJlZm9yZSBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5z ZS4gU2VjdGlvbiA2IHN0YXRlcyB0ZXJtcyBmb3IgZGlzdHJpYnV0aW9uCj4gLW9mIHN1Y2ggZXhl Y3V0YWJsZXMuCj4gLQo+IC1XaGVuIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB1c2Vz IG1hdGVyaWFsIGZyb20gYSBoZWFkZXIgZmlsZSB0aGF0Cj4gLWlzIHBhcnQgb2YgdGhlIExpYnJh cnksIHRoZSBvYmplY3QgY29kZSBmb3IgdGhlIHdvcmsgbWF5IGJlIGEgZGVyaXZhdGl2ZSB3b3Jr Cj4gLW9mIHRoZSBMaWJyYXJ5IGV2ZW4gdGhvdWdoIHRoZSBzb3VyY2UgY29kZSBpcyBub3QuIFdo ZXRoZXIgdGhpcyBpcyB0cnVlIGlzCj4gLWVzcGVjaWFsbHkgc2lnbmlmaWNhbnQgaWYgdGhlIHdv cmsgY2FuIGJlIGxpbmtlZCB3aXRob3V0IHRoZSBMaWJyYXJ5LCBvciBpZgo+IC10aGUgd29yayBp cyBpdHNlbGYgYSBsaWJyYXJ5LiBUaGUgdGhyZXNob2xkIGZvciB0aGlzIHRvIGJlIHRydWUgaXMg bm90IHByZWNpc2VseQo+IC1kZWZpbmVkIGJ5IGxhdy4KPiAtCj4gLUlmIHN1Y2ggYW4gb2JqZWN0 IGZpbGUgdXNlcyBvbmx5IG51bWVyaWNhbCBwYXJhbWV0ZXJzLCBkYXRhIHN0cnVjdHVyZSBsYXlv dXRzCj4gLWFuZCBhY2Nlc3NvcnMsIGFuZCBzbWFsbCBtYWNyb3MgYW5kIHNtYWxsIGlubGluZSBm dW5jdGlvbnMgKHRlbiBsaW5lcyBvciBsZXNzCj4gLWluIGxlbmd0aCksIHRoZW4gdGhlIHVzZSBv ZiB0aGUgb2JqZWN0IGZpbGUgaXMgdW5yZXN0cmljdGVkLCByZWdhcmRsZXNzIG9mCj4gLXdoZXRo ZXIgaXQgaXMgbGVnYWxseSBhIGRlcml2YXRpdmUgd29yay4gKEV4ZWN1dGFibGVzIGNvbnRhaW5p bmcgdGhpcyBvYmplY3QKPiAtY29kZSBwbHVzIHBvcnRpb25zIG9mIHRoZSBMaWJyYXJ5IHdpbGwg c3RpbGwgZmFsbCB1bmRlciBTZWN0aW9uIDYuKQo+IC0KPiAtT3RoZXJ3aXNlLCBpZiB0aGUgd29y ayBpcyBhIGRlcml2YXRpdmUgb2YgdGhlIExpYnJhcnksIHlvdSBtYXkgZGlzdHJpYnV0ZQo+IC10 aGUgb2JqZWN0IGNvZGUgZm9yIHRoZSB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDYu IEFueSBleGVjdXRhYmxlcwo+IC1jb250YWluaW5nIHRoYXQgd29yayBhbHNvIGZhbGwgdW5kZXIg U2VjdGlvbiA2LCB3aGV0aGVyIG9yIG5vdCB0aGV5IGFyZSBsaW5rZWQKPiAtZGlyZWN0bHkgd2l0 aCB0aGUgTGlicmFyeSBpdHNlbGYuCj4gLQo+IC02LiBBcyBhbiBleGNlcHRpb24gdG8gdGhlIFNl Y3Rpb25zIGFib3ZlLCB5b3UgbWF5IGFsc28gY29tYmluZSBvciBsaW5rIGEgIndvcmsKPiAtdGhh dCB1c2VzIHRoZSBMaWJyYXJ5IiB3aXRoIHRoZSBMaWJyYXJ5IHRvIHByb2R1Y2UgYSB3b3JrIGNv bnRhaW5pbmcgcG9ydGlvbnMKPiAtb2YgdGhlIExpYnJhcnksIGFuZCBkaXN0cmlidXRlIHRoYXQg d29yayB1bmRlciB0ZXJtcyBvZiB5b3VyIGNob2ljZSwgcHJvdmlkZWQKPiAtdGhhdCB0aGUgdGVy bXMgcGVybWl0IG1vZGlmaWNhdGlvbiBvZiB0aGUgd29yayBmb3IgdGhlIGN1c3RvbWVyJ3Mgb3du IHVzZQo+IC1hbmQgcmV2ZXJzZSBlbmdpbmVlcmluZyBmb3IgZGVidWdnaW5nIHN1Y2ggbW9kaWZp Y2F0aW9ucy4KPiAtCj4gLVlvdSBtdXN0IGdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIGVhY2gg Y29weSBvZiB0aGUgd29yayB0aGF0IHRoZSBMaWJyYXJ5Cj4gLWlzIHVzZWQgaW4gaXQgYW5kIHRo YXQgdGhlIExpYnJhcnkgYW5kIGl0cyB1c2UgYXJlIGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLgo+ IC1Zb3UgbXVzdCBzdXBwbHkgYSBjb3B5IG9mIHRoaXMgTGljZW5zZS4gSWYgdGhlIHdvcmsgZHVy aW5nIGV4ZWN1dGlvbiBkaXNwbGF5cwo+IC1jb3B5cmlnaHQgbm90aWNlcywgeW91IG11c3QgaW5j bHVkZSB0aGUgY29weXJpZ2h0IG5vdGljZSBmb3IgdGhlIExpYnJhcnkgYW1vbmcKPiAtdGhlbSwg YXMgd2VsbCBhcyBhIHJlZmVyZW5jZSBkaXJlY3RpbmcgdGhlIHVzZXIgdG8gdGhlIGNvcHkgb2Yg dGhpcyBMaWNlbnNlLgo+IC1BbHNvLCB5b3UgbXVzdCBkbyBvbmUgb2YgdGhlc2UgdGhpbmdzOgo+ IC0KPiAtYSkgQWNjb21wYW55IHRoZSB3b3JrIHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRp bmcgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UKPiAtY29kZSBmb3IgdGhlIExpYnJhcnkgaW5jbHVk aW5nIHdoYXRldmVyIGNoYW5nZXMgd2VyZSB1c2VkIGluIHRoZSB3b3JrICh3aGljaAo+IC1tdXN0 IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUpOyBhbmQsIGlmIHRo ZSB3b3JrIGlzIGFuCj4gLWV4ZWN1dGFibGUgbGlua2VkIHdpdGggdGhlIExpYnJhcnksIHdpdGgg dGhlIGNvbXBsZXRlIG1hY2hpbmUtcmVhZGFibGUgIndvcmsKPiAtdGhhdCB1c2VzIHRoZSBMaWJy YXJ5IiwgYXMgb2JqZWN0IGNvZGUgYW5kL29yIHNvdXJjZSBjb2RlLCBzbyB0aGF0IHRoZSB1c2Vy Cj4gLWNhbiBtb2RpZnkgdGhlIExpYnJhcnkgYW5kIHRoZW4gcmVsaW5rIHRvIHByb2R1Y2UgYSBt b2RpZmllZCBleGVjdXRhYmxlIGNvbnRhaW5pbmcKPiAtdGhlIG1vZGlmaWVkIExpYnJhcnkuIChJ dCBpcyB1bmRlcnN0b29kIHRoYXQgdGhlIHVzZXIgd2hvIGNoYW5nZXMgdGhlIGNvbnRlbnRzCj4g LW9mIGRlZmluaXRpb25zIGZpbGVzIGluIHRoZSBMaWJyYXJ5IHdpbGwgbm90IG5lY2Vzc2FyaWx5 IGJlIGFibGUgdG8gcmVjb21waWxlCj4gLXRoZSBhcHBsaWNhdGlvbiB0byB1c2UgdGhlIG1vZGlm aWVkIGRlZmluaXRpb25zLikKPiAtCj4gLWIpIFVzZSBhIHN1aXRhYmxlIHNoYXJlZCBsaWJyYXJ5 IG1lY2hhbmlzbSBmb3IgbGlua2luZyB3aXRoIHRoZSBMaWJyYXJ5LiBBCj4gLXN1aXRhYmxlIG1l Y2hhbmlzbSBpcyBvbmUgdGhhdCAoMSkgdXNlcyBhdCBydW4gdGltZSBhIGNvcHkgb2YgdGhlIGxp YnJhcnkKPiAtYWxyZWFkeSBwcmVzZW50IG9uIHRoZSB1c2VyJ3MgY29tcHV0ZXIgc3lzdGVtLCBy YXRoZXIgdGhhbiBjb3B5aW5nIGxpYnJhcnkKPiAtZnVuY3Rpb25zIGludG8gdGhlIGV4ZWN1dGFi bGUsIGFuZCAoMikgd2lsbCBvcGVyYXRlIHByb3Blcmx5IHdpdGggYSBtb2RpZmllZAo+IC12ZXJz aW9uIG9mIHRoZSBsaWJyYXJ5LCBpZiB0aGUgdXNlciBpbnN0YWxscyBvbmUsIGFzIGxvbmcgYXMg dGhlIG1vZGlmaWVkCj4gLXZlcnNpb24gaXMgaW50ZXJmYWNlLWNvbXBhdGlibGUgd2l0aCB0aGUg dmVyc2lvbiB0aGF0IHRoZSB3b3JrIHdhcyBtYWRlIHdpdGguCj4gLQo+IC1jKSBBY2NvbXBhbnkg dGhlIHdvcmsgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZSB5 ZWFycywKPiAtdG8gZ2l2ZSB0aGUgc2FtZSB1c2VyIHRoZSBtYXRlcmlhbHMgc3BlY2lmaWVkIGlu IFN1YnNlY3Rpb24gNmEsIGFib3ZlLCBmb3IKPiAtYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHRoZSBj b3N0IG9mIHBlcmZvcm1pbmcgdGhpcyBkaXN0cmlidXRpb24uCj4gLQo+IC1kKSBJZiBkaXN0cmli dXRpb24gb2YgdGhlIHdvcmsgaXMgbWFkZSBieSBvZmZlcmluZyBhY2Nlc3MgdG8gY29weSBmcm9t IGEgZGVzaWduYXRlZAo+IC1wbGFjZSwgb2ZmZXIgZXF1aXZhbGVudCBhY2Nlc3MgdG8gY29weSB0 aGUgYWJvdmUgc3BlY2lmaWVkIG1hdGVyaWFscyBmcm9tCj4gLXRoZSBzYW1lIHBsYWNlLgo+IC0K PiAtZSkgVmVyaWZ5IHRoYXQgdGhlIHVzZXIgaGFzIGFscmVhZHkgcmVjZWl2ZWQgYSBjb3B5IG9m IHRoZXNlIG1hdGVyaWFscyBvcgo+IC10aGF0IHlvdSBoYXZlIGFscmVhZHkgc2VudCB0aGlzIHVz ZXIgYSBjb3B5Lgo+IC0KPiAtRm9yIGFuIGV4ZWN1dGFibGUsIHRoZSByZXF1aXJlZCBmb3JtIG9m IHRoZSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIG11c3QKPiAtaW5jbHVkZSBhbnkgZGF0 YSBhbmQgdXRpbGl0eSBwcm9ncmFtcyBuZWVkZWQgZm9yIHJlcHJvZHVjaW5nIHRoZSBleGVjdXRh YmxlCj4gLWZyb20gaXQuIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24sIHRoZSBtYXRl cmlhbHMgdG8gYmUgZGlzdHJpYnV0ZWQKPiAtbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0 IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yCj4gLWJpbmFyeSBm b3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28g b24pIG9mIHRoZQo+IC1vcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1 bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudCBpdHNlbGYKPiAtYWNjb21wYW5pZXMgdGhlIGV4ZWN1 dGFibGUuCj4gLQo+IC1JdCBtYXkgaGFwcGVuIHRoYXQgdGhpcyByZXF1aXJlbWVudCBjb250cmFk aWN0cyB0aGUgbGljZW5zZSByZXN0cmljdGlvbnMgb2YKPiAtb3RoZXIgcHJvcHJpZXRhcnkgbGli cmFyaWVzIHRoYXQgZG8gbm90IG5vcm1hbGx5IGFjY29tcGFueSB0aGUgb3BlcmF0aW5nIHN5c3Rl bS4KPiAtU3VjaCBhIGNvbnRyYWRpY3Rpb24gbWVhbnMgeW91IGNhbm5vdCB1c2UgYm90aCB0aGVt IGFuZCB0aGUgTGlicmFyeSB0b2dldGhlcgo+IC1pbiBhbiBleGVjdXRhYmxlIHRoYXQgeW91IGRp c3RyaWJ1dGUuCj4gLQo+IC03LiBZb3UgbWF5IHBsYWNlIGxpYnJhcnkgZmFjaWxpdGllcyB0aGF0 IGFyZSBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnkgc2lkZS1ieS1zaWRlCj4gLWluIGEgc2lu Z2xlIGxpYnJhcnkgdG9nZXRoZXIgd2l0aCBvdGhlciBsaWJyYXJ5IGZhY2lsaXRpZXMgbm90IGNv dmVyZWQgYnkKPiAtdGhpcyBMaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSBzdWNoIGEgY29tYmluZWQg bGlicmFyeSwgcHJvdmlkZWQgdGhhdCB0aGUgc2VwYXJhdGUKPiAtZGlzdHJpYnV0aW9uIG9mIHRo ZSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5IGFuZCBvZiB0aGUgb3RoZXIgbGlicmFyeSBmYWNp bGl0aWVzCj4gLWlzIG90aGVyd2lzZSBwZXJtaXR0ZWQsIGFuZCBwcm92aWRlZCB0aGF0IHlvdSBk byB0aGVzZSB0d28gdGhpbmdzOgo+IC0KPiAtYSkgQWNjb21wYW55IHRoZSBjb21iaW5lZCBsaWJy YXJ5IHdpdGggYSBjb3B5IG9mIHRoZSBzYW1lIHdvcmsgYmFzZWQgb24gdGhlCj4gLUxpYnJhcnks IHVuY29tYmluZWQgd2l0aCBhbnkgb3RoZXIgbGlicmFyeSBmYWNpbGl0aWVzLiBUaGlzIG11c3Qg YmUgZGlzdHJpYnV0ZWQKPiAtdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBTZWN0aW9ucyBhYm92ZS4K PiAtCj4gLWIpIEdpdmUgcHJvbWluZW50IG5vdGljZSB3aXRoIHRoZSBjb21iaW5lZCBsaWJyYXJ5 IG9mIHRoZSBmYWN0IHRoYXQgcGFydCBvZgo+IC1pdCBpcyBhIHdvcmsgYmFzZWQgb24gdGhlIExp YnJhcnksIGFuZCBleHBsYWluaW5nIHdoZXJlIHRvIGZpbmQgdGhlIGFjY29tcGFueWluZwo+IC11 bmNvbWJpbmVkIGZvcm0gb2YgdGhlIHNhbWUgd29yay4KPiAtCj4gLTguIFlvdSBtYXkgbm90IGNv cHksIG1vZGlmeSwgc3VibGljZW5zZSwgbGluayB3aXRoLCBvciBkaXN0cmlidXRlIHRoZSBMaWJy YXJ5Cj4gLWV4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiBB bnkgYXR0ZW1wdCBvdGhlcndpc2UgdG8KPiAtY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5r IHdpdGgsIG9yIGRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgaXMgdm9pZCwgYW5kCj4gLXdpbGwgYXV0 b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLiBIb3dl dmVyLCBwYXJ0aWVzCj4gLXdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywgb3IgcmlnaHRzLCBmcm9t IHlvdSB1bmRlciB0aGlzIExpY2Vuc2Ugd2lsbCBub3QKPiAtaGF2ZSB0aGVpciBsaWNlbnNlcyB0 ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaCBwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFu Y2UuCj4gLQo+IC05LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNl LCBzaW5jZSB5b3UgaGF2ZSBub3Qgc2lnbmVkCj4gLWl0LiBIb3dldmVyLCBub3RoaW5nIGVsc2Ug Z3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvciBkaXN0cmlidXRlIHRoZQo+IC1MaWJy YXJ5IG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiBUaGVzZSBhY3Rpb25zIGFyZSBwcm9oaWJpdGVk IGJ5IGxhdyBpZiB5b3UKPiAtZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuIFRoZXJlZm9yZSwg YnkgbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgTGlicmFyeQo+IC0ob3IgYW55IHdvcmsg YmFzZWQgb24gdGhlIExpYnJhcnkpLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRo aXMgTGljZW5zZQo+IC10byBkbyBzbywgYW5kIGFsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMg Zm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKPiAtdGhlIExpYnJhcnkgb3Ig d29ya3MgYmFzZWQgb24gaXQuCj4gLQo+IC0xMC4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUg dGhlIExpYnJhcnkgKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5KSwKPiAtdGhlIHJl Y2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5h bCBsaWNlbnNvcgo+IC10byBjb3B5LCBkaXN0cmlidXRlLCBsaW5rIHdpdGggb3IgbW9kaWZ5IHRo ZSBMaWJyYXJ5IHN1YmplY3QgdG8gdGhlc2UgdGVybXMKPiAtYW5kIGNvbmRpdGlvbnMuIFlvdSBt YXkgbm90IGltcG9zZSBhbnkgZnVydGhlciByZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMn Cj4gLWV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uIFlvdSBhcmUgbm90IHJl c3BvbnNpYmxlIGZvciBlbmZvcmNpbmcKPiAtY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdp dGggdGhpcyBMaWNlbnNlLgo+IC0KPiAtMTEuIElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291 cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQgaW5mcmluZ2VtZW50Cj4gLW9yIGZv ciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwgY29uZGl0 aW9ucyBhcmUgaW1wb3NlZAo+IC1vbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVl bWVudCBvciBvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUKPiAtY29uZGl0aW9ucyBvZiB0 aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90IGV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBv Zgo+IC10aGlzIExpY2Vuc2UuIElmIHlvdSBjYW5ub3QgZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRp c2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIKPiAtb2JsaWdhdGlvbnMgdW5kZXIgdGhpcyBMaWNlbnNl IGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzCj4gLWEgY29uc2Vx dWVuY2UgeW91IG1heSBub3QgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSBhdCBhbGwuIEZvciBleGFt cGxlLCBpZiBhCj4gLXBhdGVudCBsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVl IHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBMaWJyYXJ5Cj4gLWJ5IGFsbCB0aG9zZSB3aG8gcmVjZWl2 ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbiB0aGUKPiAt b25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxk IGJlIHRvIHJlZnJhaW4gZW50aXJlbHkKPiAtZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIExpYnJh cnkuCj4gLQo+IC1JZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlk IG9yIHVuZW5mb3JjZWFibGUgdW5kZXIgYW55Cj4gLXBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0 aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBhcHBseSwKPiAtYW5kIHRo ZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIgY2lyY3Vt c3RhbmNlcy4KPiAtCj4gLUl0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8g aW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkgcGF0ZW50cwo+IC1vciBvdGhlciBwcm9wZXJ0eSBy aWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkgc3VjaCBjbGFpbXM7Cj4g LXRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZSBpbnRl Z3JpdHkgb2YgdGhlIGZyZWUKPiAtc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSB3aGljaCBp cyBpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuCj4gLU1hbnkgcGVvcGxl IGhhdmUgbWFkZSBnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNv ZnR3YXJlCj4gLWRpc3RyaWJ1dGVkIHRocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24g Y29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0Cj4gLXN5c3RlbTsgaXQgaXMgdXAgdG8gdGhl IGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcgdG8KPiAtZGlz dHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUg Y2Fubm90IGltcG9zZQo+IC10aGF0IGNob2ljZS4KPiAtCj4gLVRoaXMgc2VjdGlvbiBpcyBpbnRl bmRlZCB0byBtYWtlIHRob3JvdWdobHkgY2xlYXIgd2hhdCBpcyBiZWxpZXZlZCB0byBiZSBhCj4g LWNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KPiAtCj4gLTEyLiBJZiB0 aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIExpYnJhcnkgaXMgcmVzdHJpY3RlZCBp biBjZXJ0YWluCj4gLWNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRl ZCBpbnRlcmZhY2VzLCB0aGUgb3JpZ2luYWwgY29weXJpZ2h0Cj4gLWhvbGRlciB3aG8gcGxhY2Vz IHRoZSBMaWJyYXJ5IHVuZGVyIHRoaXMgTGljZW5zZSBtYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dy YXBoaWNhbAo+IC1kaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcgdGhvc2UgY291bnRy aWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcwo+IC1wZXJtaXR0ZWQgb25seSBpbiBvciBhbW9u ZyBjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuIEluIHN1Y2ggY2FzZSwgdGhpcwo+IC1MaWNl bnNlIGluY29ycG9yYXRlcyB0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5 IG9mIHRoaXMgTGljZW5zZS4KPiAtCj4gLTEzLiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u IG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgo+IC10aGUgTGVzc2Vy IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuIFN1Y2ggbmV3IHZlcnNp b25zIHdpbGwKPiAtYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwg YnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvIGFkZHJlc3MKPiAtbmV3IHByb2JsZW1zIG9yIGNv bmNlcm5zLgo+IC0KPiAtRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVy c2lvbiBudW1iZXIuIElmIHRoZSBMaWJyYXJ5IHNwZWNpZmllcwo+IC1hIHZlcnNpb24gbnVtYmVy IG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55IGxhdGVyIHZlcnNp b24iLAo+IC15b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNv bmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgdmVyc2lvbgo+IC1vciBvZiBhbnkgbGF0ZXIgdmVyc2lv biBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4gSWYgdGhlCj4gLUxp YnJhcnkgZG9lcyBub3Qgc3BlY2lmeSBhIGxpY2Vuc2UgdmVyc2lvbiBudW1iZXIsIHlvdSBtYXkg Y2hvb3NlIGFueSB2ZXJzaW9uCj4gLWV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCj4gLQo+IC0xNC4gSWYgeW91IHdpc2ggdG8gaW5jb3Jwb3JhdGUgcGFydHMg b2YgdGhlIExpYnJhcnkgaW50byBvdGhlciBmcmVlIHByb2dyYW1zCj4gLXdob3NlIGRpc3RyaWJ1 dGlvbiBjb25kaXRpb25zIGFyZSBpbmNvbXBhdGlibGUgd2l0aCB0aGVzZSwgd3JpdGUgdG8gdGhl IGF1dGhvcgo+IC10byBhc2sgZm9yIHBlcm1pc3Npb24uIEZvciBzb2Z0d2FyZSB3aGljaCBpcyBj b3B5cmlnaHRlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZQo+IC1Gb3VuZGF0aW9uLCB3cml0ZSB0byB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMgbWFrZSBleGNlcHRpb25z Cj4gLWZvciB0aGlzLiBPdXIgZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2Fs cyBvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlCj4gLXN0YXR1cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Yg b3VyIGZyZWUgc29mdHdhcmUgYW5kIG9mIHByb21vdGluZyB0aGUgc2hhcmluZwo+IC1hbmQgcmV1 c2Ugb2Ygc29mdHdhcmUgZ2VuZXJhbGx5Lgo+IC0KPiAtICAgTk8gV0FSUkFOVFkKPiAtCj4gLTE1 LiBCRUNBVVNFIFRIRSBMSUJSQVJZIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJ UyBOTyBXQVJSQU5UWSBGT1IKPiAtVEhFIExJQlJBUlksIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVE IEJZIEFQUExJQ0FCTEUgTEFXLiBFWENFUFQgV0hFTiBPVEhFUldJU0UKPiAtU1RBVEVEIElOIFdS SVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTIFBST1ZJREUg VEhFIExJQlJBUlkKPiAtIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFSVRI RVIgRVhQUkVTU0VEIE9SIElNUExJRUQsIElOQ0xVRElORywKPiAtQlVUIE5PVCBMSU1JVEVEIFRP LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwo+ IC1GT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFRIRSBFTlRJUkUgUklTSyBBUyBUTyBUSEUgUVVB TElUWSBBTkQgUEVSRk9STUFOQ0UKPiAtT0YgVEhFIExJQlJBUlkgSVMgV0lUSCBZT1UuIFNIT1VM RCBUSEUgTElCUkFSWSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUKPiAtVEhFIENPU1QgT0Yg QUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgo+IC0KPiAtMTYu IElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQg VE8gSU4gV1JJVElORwo+IC1XSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIg UEFSVFkgV0hPIE1BWSBNT0RJRlkgQU5EL09SIFJFRElTVFJJQlVURQo+IC1USEUgTElCUkFSWSBB UyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsIElOQ0xVRElO RyBBTlkKPiAtR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERB TUFHRVMgQVJJU0lORyBPVVQgT0YgVEhFIFVTRQo+IC1PUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBM SUJSQVJZIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIExPU1MgT0YgREFUQQo+IC1PUiBE QVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWSBZT1Ug T1IgVEhJUkQgUEFSVElFUwo+IC1PUiBBIEZBSUxVUkUgT0YgVEhFIExJQlJBUlkgVE8gT1BFUkFU RSBXSVRIIEFOWSBPVEhFUiBTT0ZUV0FSRSksIEVWRU4gSUYgU1VDSAo+IC1IT0xERVIgT1IgT1RI RVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B R0VTLgo+IC1FTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKPiAtCj4gLUhvdyB0byBBcHBseSBU aGVzZSBUZXJtcyB0byBZb3VyIE5ldyBMaWJyYXJpZXMKPiAtCj4gLUlmIHlvdSBkZXZlbG9wIGEg bmV3IGxpYnJhcnksIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QgcG9zc2li bGUKPiAtdXNlIHRvIHRoZSBwdWJsaWMsIHdlIHJlY29tbWVuZCBtYWtpbmcgaXQgZnJlZSBzb2Z0 d2FyZSB0aGF0IGV2ZXJ5b25lIGNhbgo+IC1yZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZS4gWW91IGNh biBkbyBzbyBieSBwZXJtaXR0aW5nIHJlZGlzdHJpYnV0aW9uIHVuZGVyCj4gLXRoZXNlIHRlcm1z IChvciwgYWx0ZXJuYXRpdmVseSwgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBvcmRpbmFyeSBHZW5l cmFsIFB1YmxpYwo+IC1MaWNlbnNlKS4KPiAtCj4gLVRvIGFwcGx5IHRoZXNlIHRlcm1zLCBhdHRh Y2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBsaWJyYXJ5LiBJdCBpcyBzYWZlc3QKPiAt dG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBl ZmZlY3RpdmVseSBjb252ZXkKPiAtdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2gg ZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCB0aGUgImNvcHlyaWdodCIKPiAtbGluZSBhbmQgYSBw b2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KPiAtCj4gLTxvbmUgbGlu ZSB0byBnaXZlIHRoZSBsaWJyYXJ5J3MgbmFtZSBhbmQgYW4gaWRlYSBvZiB3aGF0IGl0IGRvZXMu Pgo+IC0KPiAtQ29weXJpZ2h0IChDKSA8eWVhcj4gPG5hbWUgb2YgYXV0aG9yPgo+IC0KPiAtVGhp cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkgaXQgdW5kZXIKPiAtdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlCj4gLVNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0 aW9uKQo+IC1hbnkgbGF0ZXIgdmVyc2lvbi4KPiAtCj4gLVRoaXMgbGlicmFyeSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAo+IC1B TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUwo+IC1GT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUg R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlCj4gLWRldGFpbHMuCj4g LQo+IC1Zb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKPiAtd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwg d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEKPiAtRnJhbmts aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQo+IC0KPiAt QWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMg YW5kIHBhcGVyIG1haWwuCj4gLQo+IC1Zb3Ugc2hvdWxkIGFsc28gZ2V0IHlvdXIgZW1wbG95ZXIg KGlmIHlvdSB3b3JrIGFzIGEgcHJvZ3JhbW1lcikgb3IgeW91ciBzY2hvb2wsCj4gLWlmIGFueSwg dG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBsaWJyYXJ5LCBpZiBuZWNl c3NhcnkuIEhlcmUKPiAtaXMgYSBzYW1wbGU7IGFsdGVyIHRoZSBuYW1lczoKPiAtCj4gLVlveW9k eW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4KPiAt Cj4gLXRoZSBsaWJyYXJ5IGBGcm9iJyAoYSBsaWJyYXJ5IGZvciB0d2Vha2luZyBrbm9icykgd3Jp dHRlbgo+IC0KPiAtYnkgSmFtZXMgUmFuZG9tIEhhY2tlci4KPiAtCj4gLTwgc2lnbmF0dXJlIG9m IFR5IENvb24gPiAsIDEgQXByaWwgMTk5MAo+IC0KPiAtVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZp Y2UKPiAtCj4gLVRoYXQncyBhbGwgdGhlcmUgaXMgdG8gaXQhCj4gZGlmZiAtLWdpdCBhL3Njcmlw dHMvc3BkeGNoZWNrLnB5IGIvc2NyaXB0cy9zcGR4Y2hlY2sucHkKPiBpbmRleCA3ZTA4YzZlNDEz NmUuLjYzNzRlMDc4YTVmMiAxMDA3NTUKPiAtLS0gYS9zY3JpcHRzL3NwZHhjaGVjay5weQo+ICsr KyBiL3NjcmlwdHMvc3BkeGNoZWNrLnB5Cj4gQEAgLTMyLDcgKzMyLDggQEAgY2xhc3MgU1BEWGRh dGEob2JqZWN0KToKPiAgZGVmIHJlYWRfc3BkeGRhdGEocmVwbyk6Cj4gIAo+ICAgICAgIyBUaGUg c3ViZGlyZWN0b3JpZXMgb2YgTElDRU5TRVMgaW4gdGhlIGtlcm5lbCBzb3VyY2UKPiAtICAgIGxp Y2Vuc2VfZGlycyA9IFsgInByZWZlcnJlZCIgXQo+ICsgICAgIyBOb3RlOiBleGNlcHRpb25zIG5l ZWRzIHRvIGJlIHBhcnNlZCBhcyBsYXN0IGRpcmVjdG9yeS4KPiArICAgIGxpY2Vuc2VfZGlycyA9 IFsgInByZWZlcnJlZCIsICJkdWFsIiwgImRlcHJlY2F0ZWQiLCAiZXhjZXB0aW9ucyIgXQo+ICAg ICAgbGljdHJlZSA9IHJlcG8uaGVhZC5jb21taXQudHJlZVsnTElDRU5TRVMnXQo+ICAKPiAgICAg IHNwZHggPSBTUERYZGF0YSgpCj4gLS0gCj4gMi4yNy4wCj4gCj4gCj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBiYXJlYm94IG1haWxpbmcgbGlzdAo+ IGJhcmVib3hAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IGh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vYmFyZWJveAoKLS0gClJvbGFuZCBIaWViZXIsIFBlbmd1dHJvbml4 IGUuSy4gICAgICAgICAgfCByLmhpZWJlckBwZW5ndXRyb25peC5kZSAgICAgfApTdGV1ZXJ3YWxk ZXIgU3RyLiAyMSAgICAgICAgICAgICAgICAgICAgIHwgaHR0cHM6Ly93d3cucGVuZ3V0cm9uaXgu ZGUvIHwKMzExMzcgSGlsZGVzaGVpbSwgR2VybWFueSAgICAgICAgICAgICAgICB8IFBob25lOiAr NDktNTEyMS0yMDY5MTctMCAgICB8CkFtdHNnZXJpY2h0IEhpbGRlc2hlaW0sIEhSQSAyNjg2ICAg ICAgICAgfCBGYXg6ICAgKzQ5LTUxMjEtMjA2OTE3LTU1NTUgfAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYmFyZWJveCBtYWlsaW5nIGxpc3QKYmFyZWJv eEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vYmFyZWJveAo=