SGFyb2xkLAoKTWljcm9jaGlwIGhhcyBzb21lIHNhbXBsZSBib290LWxvYWRlcnMgdGhhdCB5b3Ug Y2FuIHVzZSBhcyBhIHRlbXBsYXRlLAppbmNsdWRpbmcgbGlua2VyLXNjcmlwdHMuCgpUbyBhdm9p ZCB0aGUgcHJvYmxlbSB5b3UgYXJlIGZhY2luZywgdGhlIGNvcnJlY3Qgc29sdXRpb24gd291bGQg YmUgdG8KY3JlYXRlIGEgY3VzdG9tIGxpbmtlci1zY3JpcHQgdGhhdCBtYXBzIGFsbCB0aGUgZXhl Y3V0YWJsZSBjb2RlIHNlY3Rpb25zCnRvIHRoZSBib290IGFyZWEgKDB4OWZjMHh4eHggYW5kIDB4 YmZjMHh4eHggYWRkcmVzc2VzKS4KCklmIHlvdSBkbyB0aGF0LCB0aGVuIHBlcmhhcHMgdGhlIGFk ZHJlc3MgYXR0cmlidXRlIHdvcmtzLCBiZWNhdXNlICp0aGVyZQppcyogYW4gZXhlY3V0YWJsZSBz ZWN0aW9uIG1hcHBlZCBpbnRvIHRoZSBhcmVhIHRoYXQgeW91ciBhZGRyZXNzIHBvaW50cyB0by4K CkJ1dCB5b3UgY291bGQgYWxzbyBjcmVhdGUgYSBzcGVjaWZpYyBzZWN0aW9uIGZvciB5b3UgZnVu Y3Rpb24uCgpDaGVlcnMsCgpJc2FhYwoKCgoKRW0gMDkvMDEvMjAxOCAxNzoxNSwgSGFyb2xkIEhh bGxpa2FpbmVuIGVzY3JldmV1Ogo+IFRIQU5LUyEgQXMgSSBtZW50aW9uZWQgYmVmb3JlLCBJIGZp bmQgbGlua2VyIHNjcmlwdHMgcHJldHR5IGNyeXB0aWMuIEknbGwKPiBzZWUgaWYgSSBjYW4gZmln dXJlIG91dCB3aGF0IHlvdSdyZSBzdWdnZXN0aW5nLgo+Cj4gWWVzLCB0aGlzIGlzIGZvciBhIGJv b3Rsb2FkZXIuIFdoYXQgSSBuZWVkIGlzIHRvIGVuc3VyZSB0aGF0IG15IGZ1bmN0aW9uCj4gdGhh dCBjb3BpZXMgZmlybXdhcmUgZnJvbSBleHRlcm5hbCBmbGFzaCB0byBpbnRlcm5hbCBmbGFzaCBp cyBhbHdheXMgYXQKPiB0aGUgc2FtZSBhZGRyZXNzIGluIHRoZSBib290IHNlY3Rpb24uIEkgb3Jp Z2luYWxseSBwdXQgYSBqdW1wIHRhYmxlIGluLAo+IGJ1dCBpdCBlbmRlZCB1cCBpbiB0aGUgYXBw bGljYXRpb24gYXJlYSBpbnN0ZWFkIG9mIHRoZSBib290IGFyZWEsIHNvIEkKPiBjYW5ub3QgcmVs eSBvbiBpdC4gSSBuZWVkIHRvIGVuc3VyZSBteSBmdW5jdGlvbiBzdGF5cyBhdCB0aGUgY29ycmVj dAo+IGFkZHJlc3MuIFNvIGZhciwgSSd2ZSBkb25lIHRoaXMgYnkgaGF2aW5nIHRoZSBhcHBsaWNh dGlvbiBzZW5kIGFuIGVycm9yCj4gbWVzc2FnZSB0byB0aGUgVUFSVCBJJ20gd2F0Y2hpbmcgZHVy aW5nIGRlYnVnIGlmIHRoZSBmdW5jdGlvbiBpcyBub3QgYXQKPiB0aGUgcmlnaHQgYWRkcmVzcy4g SSB0aGVuIGFkZCBvciBzdWJ0cmFjdCBub3BzIHRvIGZpeCBpdCAoaWRlYWxseSBpdCB3b3VsZAo+ IG5vdCBtb3ZlIGFueXdheSwgYnV0IHNvbWV0aW1lcyB0aGluZ3MgY2hhbmdlKS4KPgo+IEkgYWRh cHRlZCB0aGUgZGVmYXVsdCBsaW5rZXIgc2NyaXB0IGJhY2sgaW4gMjAxMCBmb3IgdGhpcy4gSXQg ZG9lcyBub3QKPiBoYXZlIGEgTUVNT1JZIHNlY3Rpb24sIGJ1dCwgaW5zdGVhZCwgaW5jbHVkZXMg UHJvY0RlZnMubGQsIHdoaWNoIEkKPiBtb2RpZmllZCBhbmQgcmVuYW1lZCwgYW5kIHdoaWNoIERP RVMgaGF2ZSBhIE1FTU9SWSBzZWN0aW9uLgo+Cj4gSSBoYXZlOgo+Cj4gICBrc2VnMF9ib290X21l bSAgICAgICAgICAgICA6IE9SSUdJTiA9IDB4OUZDMDA0OTAsIExFTkdUSCA9IDB4OTcwCj4gICBC b290SnVtcFRhYmxlX21lbSAgICAgICAgICA6IE9SSUdJTiA9IDB4OUZDMDEwMDAsIExFTkdUSCA9 IDB4MTAwMAo+Cj4gSG93ZXZlciwgaXQgbG9va3MgbGlrZSBJIG5ldmVyIG1hZGUgYSBzZWN0aW9u IHRoYXQgdXNlZCBCb290SnVtcFRhYmxlX21lbSwKPiBzbyB0aGF0J3MgcHJvYmFibHkgd2h5IHRo ZSBqdW1wIHRhYmxlIGVuZGVkIHVwIGluIHRoZSBhcHBsaWNhdGlvbiBmbGFzaC4KPgo+IE15IGN1 cnJlbnQgdGhpbmtpbmcgaXMgdGhhdCBJIG5lZWQgdG8gY3JlYXRlIGEgc21hbGwgTUVNT1JZIHNl Y3Rpb24gYXQgdGhlCj4gYWRkcmVzcyBJIHdhbnQgbXkgZnVuY3Rpb24gdG8gZW5kIHVwIGF0LCB0 aGVuIGNyZWF0ZSBhIFNFQ1RJT05TIHdpdGggYW4KPiBPUklHSU4gd2l0aCB0aGUgTUVNT1JZIHNl Y3Rpb24gbmFtZS4gRG9lcyB0aGF0IHNvdW5kIGFib3V0IHJpZ2h0Pwo+Cj4gSXQgd291bGQgc3Vy ZSBiZSBlYXNpZXIgaWYgdGhlIGFkZHJlc3MgYXR0cmlidXRlIHdvcmtlZCEKPgo+IFRIQU5LUyEK Pgo+IEhhcm9sZAo+Cj4KPgo+Cj4+IEhhcm9sZCwKPj4KPj4gSSB1c2VkIGFzc2VtYmx5IGp1c3Qg YmVjYXVzZSBJIHdhbnRlZCB0byBlbnN1cmUgdGhhdCB0aGUgZW50cnktcG9pbnQgaGFkCj4+IGEg Zml4ZWQgbGVuZ3RoLiBJIGhhdmUgYW4gYXJyYXkgb2YgdGhlbS4KPj4KPj4gWW91IGNhbiB1c2Ug Il9fYXR0cmlidXRlX18oKHNlY3Rpb24oLi4uKSxrZWVwKSkiIGluIGEgQyBmdW5jdGlvbi4KPj4K Pj4gQ2hlZXJzLAo+Pgo+PiBJc2FhYwo+Pgo+Pgo+Pgo+PiBFbSAwOS8wMS8yMDE4IDE1OjM4LCBJ c2FhYyBNLiBCYXZhcmVzY28gZXNjcmV2ZXU6Cj4+PiBPb3BzISBGb3Jnb3Qgc29tZSBwaWVjZXMu Li4gQW5kIHVzZWQgYSB3cm9uZyBhZGRyZXNzLi4uCj4+Pgo+Pj4KPj4+IEluIHRoZSBsaW5rZXIt c2NyaXB0Ogo+Pj4KPj4+IF9TRUNPTkRBUllfRU5UUllfUFQgPSAweEJGQzAyRjAwOwo+Pj4gTUVN T1JZCj4+PiAJewo+Pj4gCS4uLgo+Pj4gCS8qIERvIG5vdCBmb3JnZXQgdG8gcmVkdWNlIGtzZWcw X3Byb2dyYW1fbWVtIHRvIGV4Y2x1ZGUgdGhlIGJ5dGVzIG9mCj4+PiB0aGUgc2VjdGlvbiBiZWxv dyAqLwo+Pj4gCXNlY29uZGFyeV9lbnRyeV9wdCA6IE9SSUdJTiA9IDB4QkZDMDJGMDAsIExFTkdU SCA9w4LCoMOCwqDDgsKgw4LCoCAweDEwCj4+PiAJLi4uCj4+PiAJfQo+Pj4gU0VDVElPTlMKPj4+ IAl7Cj4+PiAJLi4uCj4+PiAJLnNlY29uZGFyeV9lbnRyeV9wdCBfU0VDT05EQVJZX0VOVFJZX1BU IDoKPj4+IAkJewo+Pj4gCQlLRUVQKCooLnNlY29uZGFyeV9lbnRyeV9wdC4qKSkKPj4+IAkJS0VF UCgqKC5zZWNvbmRhcnlfZW50cnlfcHQpKQo+Pj4gCQl9ID4gc2Vjb25kYXJ5X2VudHJ5X3B0Cj4+ PiAJLi4uCj4+PiAJfQo+Pj4KPj4+Cj4+PiBFbnRyeVBvaW50LlM6Cj4+Pgo+Pj4gLyo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ki8KPj4+IMOCwqDDgsKgw4LCoCDDgsKgw4LCoMOCwqAgLnNldMOCwqDDgsKg w4LCoCDDgsKgw4LCoMOCwqAgbm9taXBzMTYKPj4+IMOCwqDDgsKgw4LCoCDDgsKgw4LCoMOCwqAg LnNldMOCwqDDgsKgw4LCoCDDgsKgw4LCoMOCwqAgbm9yZW9yZGVyCj4+PiDDgsKgw4LCoMOCwqAg w4LCoMOCwqDDgsKgIC5zZXQgw4LCoMOCwqDDgsKgIMOCwqDDgsKgw4LCoCBub2F0Cj4+PiAvKj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0qLwo+Pj4gw4LCoMOCwqDDgsKgIMOCwqDDgsKgw4LCoCAuZXh0ZXJu w4LCoMOCwqDDgsKgIEVudHJ5UG9pbnQKPj4+IMOCwqDDgsKgw4LCoCDDgsKgw4LCoMOCwqAgLmds b2JhbMOCwqDDgsKgw4LCoCBTZWNvbmRhcnlFbnRyeVBvaW50Cj4+Pgo+Pj4gw4LCoMOCwqDDgsKg IMOCwqDDgsKgw4LCoCAuc2VjdGlvbiAuc2Vjb25kYXJ5X2VudHJ5X3B0LGNvZGUsa2VlcAo+Pj4K Pj4+IMOCwqDDgsKgw4LCoCDDgsKgw4LCoMOCwqAgLmVudMOCwqDDgsKgw4LCoCBTZWNvbmRhcnlF bnRyeVBvaW50Cj4+Pgo+Pj4gU2Vjb25kYXJ5RW50cnlQb2ludDoKPj4+IMOCwqDDgsKgw4LCoCDD gsKgw4LCoMOCwqAgbGHDgsKgw4LCoMOCwqAgw4LCoMOCwqDDgsKgICRrMCxFbnRyeVBvaW50Cj4+ PiDDgsKgw4LCoMOCwqAgw4LCoMOCwqDDgsKgIGpyw4LCoMOCwqDDgsKgIMOCwqDDgsKgw4LCoCAk azAKPj4+IMOCwqDDgsKgw4LCoCDDgsKgw4LCoMOCwqAgbm9wCj4+Pgo+Pj4gw4LCoMOCwqDDgsKg IMOCwqDDgsKgw4LCoCAuZW5kw4LCoMOCwqDDgsKgIFNlY29uZGFyeUVudHJ5UG9pbnQKPj4+IC8q PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PSovCj4+Pgo+Pj4gU29tZXdoZXJlLmM6Cj4+Pgo+Pj4gdm9pZCBF bnRyeVBvaW50KCB2b2lkICkKPj4+IAl7Cj4+PiAJLi4uCj4+PiAJfQo+Pj4KPj4+Cj4+Pgo+Pj4g RW0gMDkvMDEvMjAxOCAxMjozMSwgSGFyb2xkIEhhbGxpa2FpbmVuIGVzY3JldmV1Ogo+Pj4+IFRo YW5rcyEgQXBwYXJlbnRseSB0aGF0IGRvZXMgbm93IHdvcmsgaW4gdGhlIGJvb3Qgc2VjdGlvbiBv ZiBmbGFzaC4gSQo+Pj4+IHNhdwo+Pj4+IHRoYXQgd3JpdHRlbiBzb21ld2hlcmUgb25saW5lIHll c3RlcmRheS4gSSB0cmllZCBpdCBhbnl3YXkgYW5kIGdvdAo+Pj4+ICJhZGRyZXNzIGF0dHJpYnV0 ZSBpZ25vcmVkLiIKPj4+Pgo+Pj4+IFRoYW5rcyEgTW9yZSBpZGVhcz8KPj4+Pgo+Pj4+IEhhcm9s ZAo+Pj4+Cj4+Pj4+IFlvdSBjYW4gZG8gaXQgd2l0aG91dCBjaGFuZ2luZyB0aGUgbGlua2VyIHNj cmlwdDoKPj4+Pj4KPj4+Pj4gX19hdHRyaWJ1dGVfXygoYWRkcmVzcyg8eW91cl9hZGRyZXNzX2hl cmU+KSkpIDxyZXR1cm5fdHlwZT4KPj4+Pj4gPGZ1bmN0aW9uX25hbWU+KCA8YXJndW1lbnRzPiAp ey4uLgo+Pj4+Pgo+Pj4+PiBDaGVlcnMsCj4+Pj4+Cj4+Pj4+IElzYWFjCj4+Pj4+Cj4+Pj4+Cj4+ Pj4+Cj4+Pj4+IEVtIDA5LzAxLzIwMTggMDM6MjEsIEhhcm9sZCBIYWxsaWthaW5lbiBlc2NyZXZl dToKPj4+Pj4+IEknbSBmaW5kaW5nIGxpbmtlciBzY3JpcHRzIHRvIGJlIHByZXR0eSBjcnlwdGlj LCBhbmQgdGhlCj4+Pj4+PiBkb2N1bWVudGF0aW9uCj4+Pj4+PiBmcm9tIE1pY3JvY2hpcCBvbmx5 IHNsaWdodGx5IGxlc3Mgc28uCj4+Pj4+Pgo+Pj4+Pj4gSSBoYXZlIGEgY291cGxlIGZ1bmN0aW9u cyB0aGF0IEkndmUgbWFuYWdlZCB0byBnZXQgaW50byBib290IGZsYXNoLAo+Pj4+Pj4gYnV0Cj4+ Pj4+PiBJJ2QgbGlrZSB0byBzZXQgdGhlIGFkZHJlc3NlcyBvZiB0aGVzZSBmdW5jdGlvbnMuIEhv dyBkbyBJIGRvIHRoYXQ/Cj4+Pj4+Pgo+Pj4+Pj4gVGhhbmtzIQo+Pj4+Pj4KPj4+Pj4+IEhhcm9s ZAo+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+Pgo+Pj4+PiAtLS0KPj4+Pj4gRXN0ZSBlbWFpbCBmb2kgZXNj YW5lYWRvIHBlbG8gQXZhc3QgYW50aXbDg8aSw4LCrXJ1cy4KPj4+Pj4gaHR0cHM6Ly93d3cuYXZh c3QuY29tL2FudGl2aXJ1cwo+Pj4+Pgo+Pj4+Pgo+Pj4+PiAtLQo+Pj4+PiBodHRwOi8vd3d3LnBp Y2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlCj4+Pj4+ IFZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cj4+Pj4+IGh0dHA6Ly9tYWls bWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cj4+Pj4+Cj4+Cj4+IC0tLQo+PiBF c3RlIGVtYWlsIGZvaSBlc2NhbmVhZG8gcGVsbyBBdmFzdCBhbnRpdsODwq1ydXMuCj4+IGh0dHBz Oi8vd3d3LmF2YXN0LmNvbS9hbnRpdmlydXMKPj4KPj4gLS0KPj4gaHR0cDovL3d3dy5waWNsaXN0 LmNvbS90ZWNocmVmL3BpY2xpc3QgUElDL1NYIEZBUSAmIGxpc3QgYXJjaGl2ZQo+PiBWaWV3L2No YW5nZSB5b3VyIG1lbWJlcnNoaXAgb3B0aW9ucyBhdAo+PiBodHRwOi8vbWFpbG1hbi5taXQuZWR1 L21haWxtYW4vbGlzdGluZm8vcGljbGlzdAo+Pgo+CgoKLS0tCkVzdGUgZW1haWwgZm9pIGVzY2Fu ZWFkbyBwZWxvIEF2YXN0IGFudGl2w61ydXMuCmh0dHBzOi8vd3d3LmF2YXN0LmNvbS9hbnRpdmly dXMKCi0tIApodHRwOi8vd3d3LnBpY2xpc3QuY29tL3RlY2hyZWYvcGljbGlzdCBQSUMvU1ggRkFR ICYgbGlzdCBhcmNoaXZlClZpZXcvY2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0 dHA6Ly9tYWlsbWFuLm1pdC5lZHUvbWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg== .