TWFyayBTY292aWxsZSB3cm90ZToKPj5Gcm9tOiBwaWNsaXN0LWJvdW5jZXNAbWl0LmVkdSBbbWFp bHRvOnBpY2xpc3QtYm91bmNlc0BtaXQuZWR1XU9uIEJlaGFsZgo+Pk9mIFRpbSBMb3NlcmVpdGgK Pj5TZW50OiBNb25kYXksIEFwcmlsIDAzLCAyMDA2IDU6MTMgQU0KPj5UbzogcGljbGlzdEBtaXQu ZWR1Cj4+U3ViamVjdDogW1BJQ10gZGVib3VuY2luZyBpbiBjCj4+Cj4+SSBhbSBsb29raW5nIGZv ciBhbiBleGFtcGxlIHRvIGRlYm91bmNlIHNldmVyYWwgcHVzaCBidXR0b25zIGluIGMuIFdoaWxl IAo+PmRlYm91bmNpbmcgdGhlIG1pY3JvIHNob3VsZG7CtHQgYmUgYmxvY2tlZCBieSBhIHRpbWVy Lgo+Pgo+IAo+IAo+IFNlZSB0aGlzIGxpbmsgb24gZGVib3VuY2luZyB3aXRoIGEgInZlcnRpY2Fs IiBjb3VudGVyLi4uIGh0dHA6Ly93d3cuZGF0dGFsby5jb20vdGVjaG5pY2FsL3NvZnR3YXJlL3Bp Yy9kZWJvdW5jZS5odG1sICBUaGlzIHdvcmtzIHZlcnkgd2VsbCBmb3IgZGVib3VuY2luZyBtdWx0 aXBsZSBpbnB1dHMuCgpBbmQgaW4gcGFydGljdWxhciwgdGhlIEMtc25pcHBldCBpbiB0aGUgY29t bWVudHMgaXMgd2hhdCBJIGJlbGlldmUgVGltIAppcyBzZWVraW5nOgoKc3RhdGljIHVuc2lnbmVk IGNsb2NrX0EsY2xvY2tfQixkZWJvdW5jZWRfc3RhdGU7Cgp1bnNpZ25lZCBkZWJvdW5jZSh1bnNp Z25lZCBuZXdfc2FtcGxlKQp7CiAgIHVuc2lnbmVkIGRlbHRhOwogICB1bnNpZ25lZCBjaGFuZ2Vz OwoKICAgZGVsdGEgPSBuZXdfc2FtcGxlIF4gZGVib3VuY2VkX3N0YXRlOyAgIC8vRmluZCBhbGwg b2YgdGhlIGNoYW5nZXMKCiAgIGNsb2NrX0EgXj0gY2xvY2tfQjsgICAgICAgICAgICAgICAgICAg ICAvL0luY3JlbWVudCB0aGUgY291bnRlcnMKICAgY2xvY2tfQiAgPSB+Y2xvY2tfQjsKCiAgIGNs b2NrX0EgJj0gZGVsdGE7ICAgICAgICAgICAgICAgICAgICAgICAvL1Jlc2V0IHRoZSBjb3VudGVy cyBpZiBubyAKY2hhbmdlcwogICBjbG9ja19CICY9IGRlbHRhOyAgICAgICAgICAgICAgICAgICAg ICAgLy93ZXJlIGRldGVjdGVkLgoKICAgY2hhbmdlcyA9IH4ofmRlbHRhIHwgY2xvY2tfQSB8IGNs b2NrX0IpOwogICBkZWJvdW5jZWRfc3RhdGUgXj0gY2hhbmdlczsKCiAgIHJldHVybiBjaGFuZ2Vz Owp9CgpUaGUgbGluayBNYXJrIGNpdGVzIGRlc2NyaWJlcyB0aGUgYWxnb3JpdGhtLiBCdXQgdGhl IGlkZWEgaXMgdG8gZG8gc29tZSAKdGhpbmcgbGlrZSB0aGlzOgoKICB3aGlsZShkb2luZ19zdHVm ZikKICB7CgogICAgIGlmIChkZWJvdW5jZShQT1JUQSkpIHsKICAgICAgIC8vIG9uZSBvZiB0aGUg OCBzd2l0Y2hlcyBjb25uZWN0ZWQgdG8gUE9SVEEKICAgICAgIC8vIGhhcyBjaGFuZ2VkIHRvIGl0 cyBuZXcgZmlsdGVyZWQgc3RhdGUuCiAgICAgIC4uLgogICAgIH0KCiAgICAvLyBkbyBvdGhlciBz dHVmZiAuLi4KICB9CgpUaGUgZGVib3VuY2Ugcm91dGluZSBoYXMgYSA0LXNhbXBsZSBzZXR0bGlu ZyB0aW1lLiBJbiBvdGhlciB3b3JkcywgaXQgCnRha2VzIDQgc2FtcGxlcyBiZWZvcmUgdGhlIHN3 aXRjaCBzdGF0ZSBpcyBjb25zaWRlcmVkIGZpbHRlcmVkLiBTbywgeW91IApzaG91bGQgYXJyYW5n ZSBmb3IgdGhlIGRlYm91bmNlKCkgcm91dGluZSB0byBiZSBjYWxsZWQgbm8gZmFzdGVyIHRoYW4g CnBlcmhhcHMgb25jZSBldmVyeSA1IG9yIDEwIG1TLgoKSSB3b25kZXIgaWYgdGhlIEMtY29tcGls ZXIgY2FuIHByb2R1Y2UgdGhlIHNhbWUgMTItaW5zdHJ1Y3Rpb24gc2VxdWVuY2U/CgpTY290dAot LSAKaHR0cDovL3d3dy5waWNsaXN0LmNvbSBQSUMvU1ggRkFRICYgbGlzdCBhcmNoaXZlClZpZXcv Y2hhbmdlIHlvdXIgbWVtYmVyc2hpcCBvcHRpb25zIGF0Cmh0dHA6Ly9tYWlsbWFuLm1pdC5lZHUv bWFpbG1hbi9saXN0aW5mby9waWNsaXN0Cg==