UnVzc2VsbCwKCk5pY2Ugc3RvcnkuIFN0aWxsLCB5b3VyIGV4YW1wbGUgbWFrZXMgc2Vuc2UuLi4g aXQncyBhIG9uZS10aW1lIGxvZ2dlci4gCk15IHJlZmxvdyBvdmVuIGhhcyBiZWVuIGluIHNlcnZp Y2UgZm9yIG5lYXJseSAyMCB5ZWFycyAoYWx0aG91Z2ggb25seSAKbWluZSBmb3IgYSBsaXR0bGUg b3ZlciBhIHllYXIpLiBJIHNlZSBjb21wbGV0ZWx5IGRpZmZlcmVudCBleHBlY3RhdGlvbnMgCm9u IHdvcmtpbmcgbGlmZXRpbWUuIEkgZG9uJ3QgZ2V0IHJhbS1iYWNrZWQgYXBwbGljYXRpb25zIGlu IHN1Y2ggYSBwcm9kdWN0LgoKVGhlIFBMQyBoYXMgcmVwb3J0ZWRseSBiZWVuIHJlcHJvZ3JhbW1l ZCBzdWNjZXNzZnVsbHkgYW5kIGl0J3Mgb24gdGhlIAp3YXkgYmFjay4gSSBmaW5kIG91dCB0b21v cnJvdyBpZiB0aGF0IGlzIGVub3VnaCB0byBmaXggdGhlIG1hY2hpbmUuCgoKTGFzdCB3ZWVrIHdh cyBub3Qgc28gZ29vZCBmb3IgdXNlZCBlcXVpcG1lbnQuIE15IENOQyBrbmVlIG1pbGwgd2VudCBk b3duIApGcmlkYXksIGFsdGhvdWdoIGl0IHdhcyBiYWNrIHVwIFNhdHVyZGF5LiAzIG1pbnV0ZSBk aWFnbm9zaXMhIFRoZSBFTUkgCmxpbmUgZmlsdGVyIHdlbnQgYmFkLi4uICg/ISkgd2hpY2ggd2Fz IGFib3V0IHRoZSBmaXJzdCB0aGluZyBJIGxvb2tlZCBhdCAKdHJhY2luZyB2b2x0YWdlcyBmcm9t IHRoZSBsaW5lIGlucHV0LiBJIHdhcyB2ZXJ5IHBsZWFzZWQgdG8gZmluZCBpdCB0aGF0IApxdWlj a2x5LCBhbmQgc2VyaW91c2x5IHJlbGlldmVkIGl0IHdhcyBub3QgdGhlIGFuY2llbnQgRE9TLWJh c2VkIFBDIHRoYXQgCmRyaXZlcyBpdC4KCkkgYWxzbyBoYWQgdG8gc3dhcCBvdXQgYSBmYW4gdGhh dCB3ZW50IGJhZCBpbiBhIEhQIHN5c3RlbSBwb3dlciBzdXBwbHkgCig2NjQzQSkuCgpMYXN0LCBJ IG5vdGljZWQgdHdvIGlkZW50aWNhbCBjaGVhcCBQQ3MgYm90aCBoYWQgQ1BVIGZhbnMgc2VpemUg dXAgKGxlc3MgCnRoYW4gMSB5ZWFyIGxpZmUuLi4gaW5jcmVkaWJseSBjcmFwcHkgYmVhcmluZ3Mu LiBkZWZpbml0ZWx5IHN0YXkgYXdheSAKZnJvbSAiY29vbGVyIG1hc3RlciIgYnJhbmQgZmFucykg IEFtYXppbmdseSwgYm90aCBjb250aW51ZWQgdG8gZnVuY3Rpb24gCndpdGgganVzdCBwYXNzaXZl IGNvb2xpbmcuICAoTm90IGEgYmlnIGxvYWQgb24gdGhlbSwgb2J2aW91c2x5KSAKQWN0dWFsbHks IHRoaXMgbWFrZXMgMyBvdXQgb2YgNSBvZiB0aGVzZSBjaGVhcCAiQ3liZXJQb3dlclBDIiBQQ3Mg dGhhdCAKaGF2ZSBoYWQgZmFuLXJlbGF0ZWQgcHJvYmxlbXMuIEl0J3MgcXVpdGUgc3VycHJpc2lu ZyBob3cgY29uc2lzdGVudGx5IAp0ZXJyaWJsZSB0aGUgZmFucyB0aGV5IGNob3NlIGFyZSBkb2lu Zy4KClNvbWV0aW1lcyBpdCBwb3Vycy4KCgpEYXJyb24gQmxhY2sKCgpPbiAxMS8xNS8xNSA0OjU3 IFBNLCBSdXNzZWxsTWMgd3JvdGU6Cj4gT24gMTYgTm92ZW1iZXIgMjAxNSBhdCAwNDo1NiwgRGFy cm9uIEJsYWNrIDxkYXJyb25AZ3JpZmZpbi5uZXQ+IHdyb3RlOgo+Cj4+IEEgZGVzaWduIHdpdGgg YSBiYXR0ZXJ5IGJhY2tlZCBwcm9ncmFtIGFuZCBubyByZWNvdmVyeSBtZWNoYW5pc20gaXMKPj4g cmlkaWN1bG91cy4gV2hhdCBpcyB0aGlzLCBhbiBJUCBzZWN1cml0eSBmZWF0dXJlPwo+Cj4g4oCL SXQgaGFwcGVucy4KPgo+IEEgY2xpZW50IHdhbnRlZCBhIHRlbXBlcmF0dXJlIHByb2ZpbGUgaW5z aWRlIGNvbnRhaW5lcnMgYmVpbmcgc2VudAo+IFRhaXdhbi1VU0EuCj4g4oCLSSB3YXMgZ2l2ZW4g YSB1c2VkIHRlbXBlcmF0dXJlIGxvZ2dlciBieSBzb21lIGZyaWVuZHMgd2hvIG1hZGUgdGhlbS4g VGhleQo+IGFyZSB1c3VhbGx5IHVzZWQgYXMgb25lIHRpbWUgbG9nZ2VycyBmb3IgZXhwZW5zaXZl IGdvb2RzIGluIHRyYW5zaXQgYW5kCj4gcmV0dXJuZWQgYXMgcGFydCBvZiB0aGUgb3ZlcmFsbCBj b3N0LiBUaGV5IHJ1biBvbiBhIExpdGhpdW0gY2VsbCB3aXRoCj4gcHJvZ3JhbSBpbiBSQU0gc28g dGhhdCB0aGUgcHJvZ3JhbSBpcyBsb3N0IGlmIGNlbGwgaXMgcmVtb3ZlZCBvciB2b2x0YWdlCj4g ZmFsbHMgdG9vIGxvdy4KPgo+IFRoZSBsb2dnZXIgdGhhdCBJIHdhcyBnaXZlbiBoYWQgYSBsb3dp c2ggYmF0dGVyeSB2b2x0YWdlIGFuZCBJIHdhbnRlZCB0bwo+IGVuc3VyZSBpdCB3b3JrZWQgcmVs aWFibHkgd2hpbGUgc2VudCBvbiBhIE5aLVRhaXdhbiAoYnkgYWlyKSwg4oCLVGFpd2FuLVVTQQo+ IChieSBjb250YWluZXIgc2hpcCksIFVTQS1OWiAoYnkgYWlyKSBsb29wIGJhY2sgdG8gbWUuCj4g SSByZXBsYWNlZCB0aGUgYmF0dGVyeSAibGl2ZSIuIEkgYWRkZWQgYSBkaW9kZSBmZWQgcG93ZXIg c3VwcGx5IGFuZCBlbmFibGVkCj4gaXQsIFNvbWUgd2hpbGUgYWdvIG5vdyAoYWJvdXQgMTUgeWVh cnMpIGJ1dCBJIHRoaW5rIEkgcmFtcGVkIHVwIGRpb2RlIGZlZAo+IHN1cHBseSB0aWxsIGl0IG1h bmFnZWQgbG9hZCwgdGhlbiBjdXQgdHJhY2sgdG8gYmF0dGVyeSwgcmVwbGFjZWQgYmF0dGVyeSwK PiBhZGRlZCBhIHBvdCBiYXR0ZXJ5IHRvIGxvZ2dlciwgd291bGQgZG93biBwb3QsIHJlc29sZGVy ZWQgdHJhY2ssIHJhbXBlZAo+IGRvd24gZGlvZGUgZmVlZCwgIGFuZCByZW1vdmVkIGl0LiBUaGUg YWltIHdhcyAibm8gc3VkZGVuIGNoYW5nZXMiIHdoaWNoIG1heQo+IGhhdmUgY2F1c2VkIGEgZ2xp dGNoLiBJdCB3b3JrZWQuCj4KPiBUaGUgbG9nZ2VyIGRpc3Byb3ZlZCBhIHRoZW9yeSByZSBzaGlw cGluZyBjb25kaXRpb25zIGJ1dCBzaG93ZWQgdGhhdCBvbgo+IHJldHVybiB0byBOWiB0aGUgcGFy Y2VsIChvciB0aGUgd2hvbGUgZnJlaWdodGluZyBjb250YWluZXIpIHdhcyBwbGFjZWQgaW4gYQo+ IC0yMEMgY29vbC1zdG9yZSBvdmVybmlnaHQgLSBhIGZhY3Qgd2hpY2ggdGhlIGNvdXJpZXIgY29t cGFueSBkZW5pZWQKPiBjb21wbGV0ZWx5IDotKS4KPgo+Cj4KPiAgICAgICAgICAgICAgICAgICBS dXNzZWxsCgotLSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NY IEZBUSAmIGxpc3QgYXJjaGl2ZQpWaWV3L2NoYW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBh dApodHRwOi8vbWFpbG1hbi5taXQuZWR1L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo= .