TEFSVEOjrGhlbGxvo6ENCg0KoaGhoUkgd2FudCB0byBzZW5kIGEgY29tbWFuZCAidGMgcWRpc2Mg YWRkIGRldiBldGgwIHJvb3QgdGJmIHJhdGUgMjIwa2JpdCBsYXRlbmN5IDUwbXMgYnVyc3QgMTU0 MCIgZnJvbSBUQywNCkkgZm91bmQgdGhhdCBhIGF0dHJpYnV0ZSB3aXRoIHR5cGUgb2YgMSBpcyBh ZGRlZCB0byB0aGUgbmxtc2cgdHdpY2U6DQogICAgZmlyc3QgdGltZSBpbiB0aGUgZnVuY3Rpb24g b2YgdGNfcWRpc2NfbW9kaWZ5KCkgaW4gZmlsZSBvZiB0Y19xZGlzYy5jOg0KCSJpZiAoa1swXSkN CgkJYWRkYXR0cl9sKCZyZXEubiwgc2l6ZW9mKHJlcSksIFRDQV9LSU5ELCBrLCBzdHJsZW4oaykr MSk7Ig0KDQoJc2Vjb25kIHRpbWUgaW4gdGhlIGZ1bmN0aW9uIG9mIHRiZl9wYXJzZV9vcHQoKSBp biBmaWxlIG9mIHFfdGJmLmM6DQogICAgImFkZGF0dHJfbChuLCAyMDI0LCBUQ0FfVEJGX1BBUk1T LCAmb3B0LCBzaXplb2Yob3B0KSk7Ig0KDQoJdGhlIHZhbHVlIG9mIFRDQV9LSU5EIGFuZCBUQ0Ff VEJGX1BBUkFNUyBpcyAxLHNvIHRoZSBubG1zZyBjb25zaXN0cyB0d28gYXR0cmlidXRlIHdpdGgg dHlwZSBvZiAxLg0KDQogICAgd2hlbiB0aGlzIG5sbXNnIGlzIGRlYWxlZCB3aXRoIGluIHRoZSBr ZXJuZWwsSSBmb3VuZCBhIHByb2JsZW06DQoNCiAgICBpbiB0aGUgbmV0L2NvcmUvcnRuZXRsaW5r LmMsIGZ1bmN0aW9uIHJ0bmV0bGlua19yZXZfbXNnKCksd2hlbjoNCg0KCSJpZiAobmxoLT5ubG1z Z19sZW4gPiBtaW5fbGVuKSB7DQoJCWludCBhdHRybGVuID0gbmxoLT5ubG1zZ19sZW4gLSBOTE1T R19BTElHTihtaW5fbGVuKTsNCgkJc3RydWN0IHJ0YXR0ciAqYXR0ciA9ICh2b2lkKilubGggKyBO TE1TR19BTElHTihtaW5fbGVuKTsNCg0KCQl3aGlsZSAoUlRBX09LKGF0dHIsIGF0dHJsZW4pKSB7 DQoJCQl1bnNpZ25lZCBmbGF2b3IgPSBhdHRyLT5ydGFfdHlwZTsNCgkJCWlmIChmbGF2b3IpIHsN CgkJCQlpZiAoZmxhdm9yID4gcnRhX21heFtzel9pZHhdKQ0KCQkJCQlnb3RvIGVycl9pbnZhbDsN CgkJCQlydGFbZmxhdm9yLTFdID0gYXR0cjsNCgkJCX0NCgkJCWF0dHIgPSBSVEFfTkVYVChhdHRy LCBhdHRybGVuKTsNCgkJfQ0KCX0iDQoNCglhdCB0aGUgYmVnaW5pbmcgb2YgdGhlc2UgbGluZXMs IHRoZSBmaXJzdCBhdHRyaWJ1dGUoVENBX0tJTkQpIGNhbiBiZSBzdG9yZWQgaW4gcnRhWzFdLCBi dXQgd2hlbiBoYW5kbGluZw0KdGhlIHNlY29uZCBhdHRyaWJ1dGUsIGl0IGlzIHN0b3JlZCBpbiB0 aGUgc2FtZSBydGFbMV0hIHNvIHRoZSBmaXJzdCBhdHRyaWJ1dGUgZGlzYXBwZWFyZWQhIQ0KICAg IG9mIGNvdXJzZSB0aGUgdHJlYXRtZW50IGZvbGxvd2VkIHdpbGwgbWFrZSBhIG1pc3Rha2UuDQog ICAgd2hvIGNhbiB0ZWxsIG1lIHdoeT8NCg0KDQoNCqGhoaGhoWJlc3QgcmVnYXJkcyENCg0KIAkJ CQkNCqGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFNZWJpdXMgSHVhbmcNCqGhoaGhoaGhoaGh oaGhoaGhoaGhoaGhoaGhoaFoeGdhbmdAY3NuZXQ0LmNzLnRzaW5naHVhLmVkdS5jbg0KoaGhoaGh oaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoTIwMDItMDMtMTkNCg==