T24gRnJpLCBGZWIgNiwgMjAxNSBhdCAyOjIwIFBNLCBKYXJvc2xhdyBTdGFuaWVrIDxzdGFuaWVr QGtkZS5vcmc+IHdyb3RlOgo+IEhpLAo+IFRoYW5rcyBmb3IgdGhlIGVmZm9ydC4gQ2hhbGxlbmdl IGFjY2VwdGVkLgo+IERpc2NsYWltZXIsIEkgYW0ganVzdCBhZnRlciBjYXJlZnVsIHJlYWRpbmcg dGhlIG5ld2VyICJEb24ndCBtYWtlIG1lCj4gdGhpbmsiIGJvb2suCgpHb29kIGJvb2shCgo+IFRo ZSB0ZXh0IGlzIHN0aWxsIGxvbmcgYW5kIGJvb29yaW5nLCBnaXZlbiB0aGlzIGlzIGEgcGxhY2Ug d2hlbiB3ZSBwYXkuCj4KPiBNeSBwcm9wb3NhbCB3aXRoIGFsdGVyZWQgSUE6Cj4KPiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiA9PSBEb25hdGUgdG8gS0RFIC0tIGl0J3MgZWFzeSBhbmQgZmFzdCEgPT0KPgo+ICguKSAoUmVj b21tZW5kZWQpIFJlY3VycmluZyBkb25hdGlvbjogW3BlcnNvbmFsXSBvciBbY29ycG9yYXRlXQo+ Cj4gKCApIE9uZSB0aW1lIGRvbmF0aW9uOiAgW18zMF9dIOKCrCBbRG9uYXRlXQo+Cj4KPiAqIElz IHRoaXMgc2FmZT8gW2Fib3V0IEtERSBlLlYuXQo+ICogV2h5IHdlIG5lZWQgeW91ciBzdXBwb3J0 Pwo+ICogVGF4IGRlZHVjdGlvbgo+ICogT3RoZXIgd2F5cyB0byBkb25hdGUKPiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPgo+ IFRoZSBsYXN0IDQgbGluZXMgYXJlIGxpbmtzLgo+Cj4gQlRXLCByZXBvcnRlZCA4IHllYXJzIGFn byBvciBzbzogbGlua3MgYXJlIHBvb3JseSB2aXNpYmxlLCBlaXRoZXIKPiBsaWdodGVuIHRoZW0g b3IgdW5kZXJsaW5lLgoKVGhlIGxlc3MgdGV4dCB0aGUgYmV0dGVyLiBXaGVuIHBlb3BsZSBjb21l IHRvIHRoYXQgcGFnZSB0aGV5IGtub3cgd2h5CnRoZXkgY2FtZSwgc28gbWFrZSBpdCBlYXN5IGZv ciB0aGVtIHRvIGdpdmUuCgpTb21lIGxpbmtzIGFyZSBmaW5lIGp1c3QgaW4gY2FzZSB0aGV5IGhh dmUgdGhlIG1lbW9yeS1zcGFuIG9mIGEgZ25hdC4KClZhbG9yaWUKCj4gT24gNiBGZWJydWFyeSAy MDE1IGF0IDIwOjI0LCBBbGJlcnQgQXN0YWxzIENpZCA8YWFjaWRAa2RlLm9yZz4gd3JvdGU6Cj4+ IEhpIHRoZXJlLCBvbmUgb2YgdGhlIGlzc3VlcyB3ZSBoYWQgd2l0aCB0aGUgZG9uYXRpb24gcGFn ZSBpcyB0aGF0IGl0IGlzIHZlcnkKPj4gY29tcGxleCwgQWxlaXggYW5kIG1lIGhhdmUgd29ya2Vk IGluIGEgbmV3IHZlcnNpb24gdGhhdCBpcyBtdWNoIHNpbXBsZXIgYnkKPj4gcmV3b3JkaW5nIHNv bWUgdGV4dCBhbmQgbW92aW5nIHRoZSBtb3JlIGNvcm5lci1jYXNlIHdheXMgdG8gZG9uYXRlIHRv IGEKPj4gZGlmZmVyZW50IHBhZ2UuCj4+Cj4+IGh0dHA6Ly9rZGUub3JnL2NvbW11bml0eS9kb25h dGlvbnMvaW5kZXgyLnBocAo+Pgo+PiBUaGlzIGlzIHN0aWxsIG5vdCBsaW5rZWQgZnJvbSB0aGUg bWFpbiBwYWdlIGJlY2F1c2UKPj4gICAqIFdlIHdhbnQgeW91ciBpbnB1dAo+PiAgICogV2UgbmVl ZCB0byBtYWtlIHRoZSByYWRpbyBidXR0b24gdG8gY2hvb3NlIGJldHdlZW4gb25lIHRpbWUgYW5k IHJlY3VycmluZwo+PiBsZXNzIHVnbHkKPj4KPj4gT3BpbmlvbnM/Cj4+Cj4+IEFsc28gaWYgc29t ZSBkZWlzZ24vd2ViIGd1cnUgY2FuIGhlbHAgdXMgd2l0aCBtYWtpbmcgdGhlIHJhZGlvIGJ1dHRv bnMgYmUKPj4gbmljZXIgKG91ciBpZGVhIGlzIHRvIG1ha2UgdGhlbSBtb3JlIGxpa2UgYnV0dG9u cykgaXQnZCBiZSBncmVhdC4KPj4KPj4gVGhhbmtzLAo+PiAgIEFsZWl4ICYmIEFsYmVydAo+Pgo+ Cj4gLS0KPiByZWdhcmRzLCBKYXJvc2xhdyBTdGFuaWVrCgotLSAKaHR0cDovL2Fib3V0Lm1lL3Zh bG9yaWV6CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpU aGlzIG1lc3NhZ2UgaXMgZnJvbSB0aGUga2RlLXByb21vIG1haWxpbmcgbGlzdC4KClZpc2l0IGh0 dHBzOi8vbWFpbC5rZGUub3JnL21haWxtYW4vbGlzdGluZm8va2RlLXByb21vIHRvIHVuc3Vic2Ny aWJlLCBzZXQgZGlnZXN0IG9uIG9yIHRlbXBvcmFyaWx5IHN0b3AgeW91ciBzdWJzY3JpcHRpb24u