CkhpIE1pbG9zbGF2LAoKT24gV2VkbmVzZGF5IDI5IEF1Z3VzdCAyMDEyIDE4OjQyOjQ0IE1pbG9z bGF2IFRybWHEjSB3cm90ZToKPiBDb25zaWRlcmluZyB0aGF0IGl0J3Mgbm90IHJlYXNvbmFibGUg dG8gZXhwZWN0IHRoYXQgdGhlIHJlcGxhY2VtZW50Cj4gd2lsbCBjb3ZlciAxMDAlIG9mIHRoZSBw cmV2aW91cyBmdW5jdGlvbmFsaXR5LCB0aGUgIm9sZCIgYW5kICJuZXciCj4gcHJvamVjdHMgd2ls bCBoYXZlIHRvIGxpdmUgc2lkZSBieSBzaWRlIGFnYWluIGZvciBzb21lIHRpbWUuICBTbyBhCj4g c3dpdGNoIHRvIGEgZGlmZmVyZW50IHN5c3RlbSBuZWVkcyB0byBwcm92aWRlIGJlbmVmaXRzIHRo YXQgZXhjZWVkIHRoZQo+IHF1aXRlIGxhcmdlIGNvc3RzIG9mIHRoZSBtaWdyYXRpb24uCj4gCj4g VGhlcmVmb3JlLCBpbiBnZW5lcmFsLCBJJ2QgYXNzdW1lIHRoYXQgbW9kaWZ5aW5nIE5ldHdvcmtN YW5hZ2VyIChpbiBhCj4gYmFja3dhcmQtY29tcGF0aWJsZSB3YXkpIGlzIHByb2JhYmx5IGFuIGVh c2llciB3YXkgdG8gYWRkIGZlYXR1cmVzCj4gdGhhbiByZXBsYWNpbmcgdGhlIHdob2xlIHN1YnN5 c3RlbSB3aXRoIHNvbWV0aGluZyBlbHNlLgoKSG0sIEkgYmVnIHRvIGRpZmZlciBoZXJlLiBOZXR3 b3JrTWFuYWdlciBhaW1zIGF0IGEgcmVsYXRpdmVseSBjb21wYWN0CkRCdXMgQVBJIHRoYXQgaGlk ZXMgbW9zdCBvZiB0aGUgY29tcGxleGl0aWVzIG9mIHRoZSBuZXR3b3JrIHN0YWNrLgpUaGF0LCBJ IGJlbGlldmUsIGlzIG9uZSBvZiB0aGUgbWFqb3IgcmVhc29ucyB3aHkgaXQgaGFzbid0IGNhdWdo dCBvbgptdWNoIGluIGFuIEVudGVycHJpc2Ugd29ybGQgLSB0aGVyZSdzIGFsd2F5cyBvbmUgbGl0 dGxlIGV4dHJhIGtub2IgYW4KYWRtaW4gd2FudHMgdG8gdHdpZGRsZS4KCkJ5IGNvbnRyYXN0LCBJ IHRoaW5rIGEgZ29vZCBuZXR3b3JrIG1hbmFnZW1lbnQgZnJhbWV3b3JrIG5lZWRzIHRvCmhhdmUg YSBsb3cgZW50cnkgYmFycmllciAoaW4gdGVybXMgb2Ygd3JpdGluZyBjb25maWd1cmF0aW9uIGZp bGVzKQpidXQgc3RpbGwgZXhwb3NlIGFzIG1hbnkgb2YgdGhlIHR1bmFibGVzIGFuZCBrbm9icyBh cyBwb3NzaWJsZS4KCj4gTm93LCB3aXRoIG15IG9uY2UtdXBvbi1hLXRpbWUgc3lzYWRtaW4gYW5k IGluaXRzY3JpcHRzIGNvbWFpbnRhaW5lciBoYXQgb246Cj4gCj4gWWVzLCBpdCBpcyBwb3NzaWJs ZSB0byBkZXNpZ24gYSBiZXR0ZXIgY29uZmlndXJhdGlvbiBmb3JtYXQgdGhhbiB0aGUKPiBpZmNm ZyBmaWxlcywgYnV0IEknbSBub3Qgc3VyZSB0aGF0IHRoaXMgaXMgYSByZWFsbHkgcHJlc3Npbmcg cHJvYmxlbToKPiB0aGUgcHJpbWFyeSBwcm9ibGVtIHdpdGggbmV0d29ya2luZyBpcyB1bmRlcnN0 YW5kaW5nIHRoZSBjb25jZXB0cyBhbmQKPiBkZXNpZ25pbmcgdGhlIGRlc2lyZWQgc3RhdGUsIG5v dCB0aGUgY29uZmlndXJhdGlvbiBmb3JtYXQgLSBvbmNlIHlvdQo+IGtub3cgd2hhdCB5b3Ugd2Fu dCB0byBkbywgeW91IGNhbiBhbHdheXMgZmluZCB0aGUKPiBIT1BFTEVTU0xZX1VOSU5UVUlUSVZF X09QVElPTl9OQU1FIChvciBldmVuCj4gbmljZWx5LXNjb3BlZC93ZWxsLWRlc2lnbmVkLW9wdGlv bi1uYW1lLXRoYXQteW91LW5lZWQtdG8td3JpdGUtcHJlY2lzZWx5LWNvCj4gcnJlY3RseS10by10 aGUtbGV0dGVyKSBpbiBkb2N1bWVudGF0aW9uLgoKU3VyZSwgSSdtIG5vdCB0YWxraW5nIGFib3V0 IHRoZSBzeW50YXguIEFzIEkgc2FpZCwgSSBjb3VsZG4ndCBjYXJlCmxlc3MgaWYgaXRzIFhNTCBv ciBhbnl0aGluZyBlbHNlLiBNeSBwb2ludCB3YXMgdGhhdCB0aGUgc2hlbGwgdmFyaWFibGUKc3lu dGF4IGlzIHVuYWJsZSB0byBleHByZXNzIGFueXRoaW5nIGJ1dCB0aGUgbW9zdCBiYXNpYyBjb25j ZXB0cywKYW5kIGhlbmNlIG91ciBuZXR3b3JrIG1hbmFnZW1lbnQgcmVtYWlucyBzaW1wbGlzdGlj LgoKPiBJbiBhZGRpdGlvbiB0byBhIGRpZmZlcmVudCBjb25maWd1cmF0aW9uIGZvcm1hdCwgaGF2 aW5nIG5ldyBmZWF0dXJlcwo+IGNvdWxkIGJlIG1vcmUgYXR0cmFjdGl2ZSAoZS5nLiB0aGUgYWJp bGl0eSB0byByZXBsYWNlIGEgYm9uZGluZyBzbGF2ZQo+IHdpdGhvdXQgcmVzdGFydGluZyB0aGUg d2hvbGUgaW50ZXJmYWNlLCBvciA4MDIuMXggc3VwcG9ydCkgLSBidXQKPiBiZWNhdXNlIGFueSBv ZiB0aGUgaW1wbGVtZW50YXRpb25zIGFscmVhZHkgY292ZXIgdGhlIGJhc2ljCj4gZnVuY3Rpb25h bGl0eSByZWFzb25hYmx5IHdlbGwsIHRoZSBuZXcgYXR0cmFjdGl2ZSBmZWF0dXJlcyB3b3VsZAo+ IG5lY2Vzc2FyaWx5IGJlIHNvbWV0aGluZyBvZiBhIG5pY2hlIC8gbm90LXRoYXQtZnJlcXVlbnRs eS11c2VkCj4gZmVhdHVyZXMuICBTbywgYWdhaW4sIGl0IHNlZW1zIHJlYXNvbmFibGUgdG8gYXNz dW1lIHRoYXQgdGhlIG5ldwo+IGZlYXR1cmVzIG1pZ2h0IG5vdCBiZSBhdHRyYWN0aXZlIGVub3Vn aCB0byB0cnVtcCB0aGUgY29zdHMgb2YgdGhlCj4gbWlncmF0aW9uLgoKV2VsbCwgaWYgeW91IHRh a2UgZWFjaCBvZiB0aGVzZSBuaWNoZSB0aGluZ3MgYnkgdGhlbXNlbHZlcywgdGhleQpkb24ndCBj b3VudCBmb3IgbXVjaC4gQnV0IHRoZXkgYWRkIHVwLCBhbmQgQ2xvdWQvVmlydHVhbGl6YXRpb24g aXMKcmVhbGx5IGFkZGluZyBhICpsb3QqIG9mIGNvbXBsZXhpdHkuIG5ldGNmIGJlaW5nIGEgZmlu ZSBleGFtcGxlIG9mCnRoZSBob29wcyB5b3UgbmVlZCB0byBqdW1wIHRocm91Z2ggaW4gb3JkZXIg dG8gc3VwcG9ydCB0aGUgYnJhdmUgbmV3CndvcmxkIG9mIHZpcnR1YWxpemF0aW9uIGhvc3RzLgoK TXkgcG9pbnQgaXMgdGhhdCB0aGUgY3VycmVudCBzeXN0ZW0gaGFzIHJlYWNoIGEgYnJlYWtpbmcg cG9pbnQuIFdlJ3ZlCnBpbGVkIGJyaWNrIG9uIGJyaWNrLCBhbmQgdGhlIHN0YWNrIGlzIHRlZXRl cmluZyBkYW5nZXJvdXNseSA6KQoKQW5kIHJlZ2FyZGluZyB5b3VyIGNvbW1lbnQgYXMgdG8gYWRk aW5nIG5ldyBmZWF0dXJlcyAtIHRoYXQgaXMKZGVmaW5pdGVseSBpbiBzY29wZSBmb3Igd2lja2Vk LiBJdCBkb2VzIGFscmVhZHkgYWxsb3cgdG8gY2hhbmdlCnRoZSBzZXQgb2YgYm9uZGluZyBzbGF2 ZXMgb24gdGhlIGZseSwgYW5kIDgwMi4xeCBzdXBwb3J0IGlzIG9uIHRoZQpUT0RPIGxpc3QuCgpP bGFmCi0tIApOZW8gZGlkbid0IGJyaW5nIGRvd24gdGhlIE1hdHJpeC4gU09BIGRpZC4gKHNvYWZh Y3RzLmNvbSkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KT2xh ZiBLaXJjaCAtIERpcmVjdG9yIFNVU0UgTGludXggRW50ZXJwcmlzZTsgUiZEIChva2lyQHN1c2Uu Y29tKQpTVVNFIExJTlVYIFByb2R1Y3RzIEdtYkgsIE1heGZlbGRzdHIuIDUsIDkwNDA5IE7DvHJu YmVyZywgR2VybWFueQpHRjogSmVmZiBIYXduLCBKZW5uaWZlciBHdWlsZCwgRmVsaXggSW1lbmTD tnJmZmVyLCBIUkIgMTY3NDYgKEFHIE7DvHJuYmVyZykgCi0tIApkZXZlbCBtYWlsaW5nIGxpc3QK ZGV2ZWxAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmcKaHR0cHM6Ly9hZG1pbi5mZWRvcmFwcm9qZWN0 Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVs