Re: No curses detected
Luis Pascual Forner <[email protected]> Wed, 22 Mar 2023 11:46:18 +0100
| Newsgroups | gmane.comp.lang.4gl.aubit.general |
|---|---|
| Organization | IVAL informática <http://www.ival.com> |
| Message-ID | <[email protected]> |
VGhlIGxpYm5jdXJzZXM2LTMyYml0IHBhY2thZ2UgaXMgYWxzbyBpbnN0YWxsZWQsIGJ1dCAKbmN1 cnNlczYtZGV2ZWwtMzJiaXQgZG9lc24ndCBleGlzdCAobmN1cnNlczUtZGV2ZWwtMzJiaXQgZG9l cyBleGlzdCwgYW5kIAppcyBpbnN0YWxsZWQpCgpFbCAyMi8zLzIzIGEgbGFzIDExOjM1LCBNaWtl IEF1YnVyeSBlc2NyaWJpw7M6Cj4gL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8u Li8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gc2tpcHBpbmcgaW5jb21wYXRp YmxlIC9saWIvbGlibmN1cnNlcy5zby42IHdoZW4gc2VhcmNoaW5nIGZvcgo+IC9saWIvbGlibmN1 cnNlcy5zby42Cj4gL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8u Li94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gKmNhbm5vdCBmaW5kIC9saWIvbGlibmN1cnNl cy5zby42OiBmaWxlIGluIHdyb25nIGZvcm1hdCoKPiAKPiAKPiBUaGVzZSBsb29rIGxpa2UgaXQg ZG9lc24ndMKgaGF2ZSB0aGUgNjQgYml0IGJpbmFyaWVzLCBidXQgbWF5YmUgaGFzIDMyIAo+IGJp dCB2ZXJzaW9ucyA/Cj4gCj4gCj4gT24gV2VkLCAyMiBNYXIgMjAyMyBhdCAxMDozMCwgTHVpcyBQ YXNjdWFsIEZvcm5lciA8bHBhc2N1YWxAaXZhbC5jb20gCj4gPG1haWx0bzpscGFzY3VhbEBpdmFs LmNvbT4+IHdyb3RlOgo+IAo+ICAgICBUaGlzIGlzIHRoZSBwaWVjZSBvZiBjb25maWcubG9nIHJl ZmVycmluZyB0byBjdXJzZXMgKGl0J3MgYSBiaXQgbG9uZyk6Cj4gCj4gICAgIGNvbmZpZ3VyZToz MDU2MzogcmVzdWx0OsKgIFsxbUNoZWNraW5nIGZvciBjdXJzZXMgbGlicmFyaWVzOiBbbQo+ICAg ICBjb25maWd1cmU6MzA2MTA6IGNoZWNraW5nIGZvciBtYWluIGluIC1sbmN1cnNlcwo+ICAgICBj b25maWd1cmU6MzA2MzA6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vz ci9sb2NhbC9saWIKPiAgICAgLUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sbmN1cnNlc8KgIMKgPiY1 Cj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2 XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBpbmNvbXBhdGlibGUgL2xpYi9s aWJuY3Vyc2VzLnNvLjYgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIC9saWIvbGlibmN1cnNlcy5z by42Cj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4v eDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBjYW5ub3QgZmluZCAvbGliL2xpYm5jdXJz ZXMuc28uNjogZmlsZSBpbiB3cm9uZyBmb3JtYXQKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0 LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAg IHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYm5jdXJzZXMuc28uNiB3aGVuIHNlYXJjaGlu ZyBmb3IKPiAgICAgL2xpYi9saWJuY3Vyc2VzLnNvLjYKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2 XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4g ICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvdXNyL2xpYi9saWJ0aW5mby5zbyB3aGVuIHNlYXJj aGluZyBmb3IgLWx0aW5mbwo+ICAgICAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83 Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgc2tpcHBpbmcgaW5j b21wYXRpYmxlIC91c3IvbGliL2xpYnRpbmZvLmEgd2hlbiBzZWFyY2hpbmcgZm9yIC1sdGluZm8K PiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZf NjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xp YmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAg Y29sbGVjdDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCj4gICAgIGNvbmZpZ3Vy ZTozMDYzMDogJD8gPSAxCj4gICAgIGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAg ICB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0 Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ICAgICB8ICNk ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAg IHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklU X0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1 c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0Bs aXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Igo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAg ICAgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgVkVSU0lPTiAi MS42LjEiCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9TVERMSUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NU QVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfVU5JU1REX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiAgICAg fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ ICAgICB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgIHwgI2RlZmluZSBIQVZFX1Vf SU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9F UlJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9J Tl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCj4gICAgIHwgI2RlZmlu ZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNT TCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElC X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJ Ql9ERUYgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9M SUJSRUFETElORSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAg ICAgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxFWFRf SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9VTklYT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgIHwgI2RlZmlu ZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ ICAgICB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ ICAgICB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICB8IC8qIGVuZCBjb25mZGVmcy5oLsKg ICovCj4gICAgIHwKPiAgICAgfAo+ICAgICB8IGludAo+ICAgICB8IG1haW4gKHZvaWQpCj4gICAg IHwgewo+ICAgICB8IHJldHVybiBtYWluICgpOwo+ICAgICB8wqAgwqA7Cj4gICAgIHzCoCDCoHJl dHVybiAwOwo+ICAgICB8IH0KPiAgICAgY29uZmlndXJlOjMwNjQwOiByZXN1bHQ6IG5vCj4gICAg IGNvbmZpZ3VyZTozMDY1MTogY2hlY2tpbmcgZm9yIHdpbm5zdHIgaW4gLWxuY3Vyc2VzCj4gICAg IGNvbmZpZ3VyZTozMDY3NDogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwv dXNyL2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzwqAgwqA+ JjUKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94 ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGli L2xpYm5jdXJzZXMuc28uNiB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgL2xpYi9saWJuY3Vyc2Vz LnNvLjYKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8u Li94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIGNhbm5vdCBmaW5kIC9saWIvbGlibmN1 cnNlcy5zby42OiBmaWxlIGluIHdyb25nIGZvcm1hdAo+ICAgICAvdXNyL2xpYjY0L2djYy94ODZf NjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAg ICAgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGlibmN1cnNlcy5zby42IHdoZW4gc2VhcmNo aW5nIGZvcgo+ICAgICAvbGliL2xpYm5jdXJzZXMuc28uNgo+ICAgICAvdXNyL2xpYjY0L2djYy94 ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoK PiAgICAgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC91c3IvbGliL2xpYnRpbmZvLnNvIHdoZW4gc2Vh cmNoaW5nIGZvciAtbHRpbmZvCj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4 LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBp bmNvbXBhdGlibGUgL3Vzci9saWIvbGlidGluZm8uYSB3aGVuIHNlYXJjaGluZyBmb3IgLWx0aW5m bwo+ICAgICAvdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4 Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDoKPiAgICAgc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIv bGliZ2NjX3Muc28uMSB3aGVuIHNlYXJjaGluZyBmb3IKPiAgICAgbGliZ2NjX3Muc28uMQo+ICAg ICBjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKPiAgICAgY29uZmln dXJlOjMwNjc0OiAkPyA9IDEKPiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4g ICAgIHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJp dDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAg ICAgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVC SVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlz Y3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNz QGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ ICAgICB8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9O ICIxLjYuMSIKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAg ICB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx Cj4gICAgIHwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVf VV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZF X0VSUl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVU X0lOX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVm aW5lIFlZVEVYVF9QT0lOVEVSIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JF IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElC U1NMIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pM SUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9a TElCX0RFRiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZF X0xJQlJFQURMSU5FIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwg I2RlZmluZSBIQVZFX1NRTElURTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ ICAgICB8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVY VF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBI QVZFX1VOSVhPREJDIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVm aW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAw Cj4gICAgIHwgI2RlZmluZSBIQVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmgu wqAgKi8KPiAgICAgfAo+ICAgICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8K PiAgICAgfCBjaGFyIHdpbm5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAodm9pZCkK PiAgICAgfCB7Cj4gICAgIHwgcmV0dXJuIHdpbm5zdHIgKCk7Cj4gICAgIHzCoCDCoDsKPiAgICAg fMKgIMKgcmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA2ODQ6IHJlc3VsdDog bm8KPiAgICAgY29uZmlndXJlOjMwNjk0OiBjaGVja2luZyBmb3Igd2lubnN0ciBpbiAtbGN1cnNl cwo+ICAgICBjb25maWd1cmU6MzA3MTc6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1PMsKgIC1ML2xp YsKgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgLUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sY3Vyc2Vz wqAgwqA+JjUKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8u Li8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIGNhbm5vdCBmaW5kIC1sY3Vyc2Vz OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1z dXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBz a2lwcGluZyBpbmNvbXBhdGlibGUgL2xpYi9saWJnY2Nfcy5zby4xIHdoZW4gc2VhcmNoaW5nIGZv cgo+ICAgICBsaWJnY2Nfcy5zby4xCj4gICAgIGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQg MSBleGl0IHN0YXR1cwo+ICAgICBjb25maWd1cmU6MzA3MTc6ICQ/ID0gMQo+ICAgICBjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwg I2RlZmluZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJhdWJpdDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklU X1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1 Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAg ICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAg fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRn bCIKPiAgICAgfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9T VERJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxp YnMvIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1Vf SU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T WVNFWElUU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05F VElORVRfVENQX0ggMQo+ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAg ICB8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0gg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJa IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf UERGIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9MSUJTUUxJVEUzIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAg ICAgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJD SU5TVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9QR09EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwg I2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAg ICAgfCAjZGVmaW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAK PiAgICAgfCAvKiBlbmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJp ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzC oCDCoCBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBHQ0MKPiAgICAgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS7CoCAqLwo+ICAgICB8IGNoYXIgd2lubnN0ciAoKTsKPiAgICAg fCBpbnQKPiAgICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gd2lubnN0 ciAoKTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAg IGNvbmZpZ3VyZTozMDcyNzogcmVzdWx0OiBubwo+ICAgICBjb25maWd1cmU6MzA3NDU6IHJlc3Vs dDogeWVzIC0gZm91bmQKPiAgICAgY29uZmlndXJlOjMwNzQ3OiBjaGVja2luZyBGb3IgYW55IGxp Ym5jdXJzZXMgbGlicmFyeSBvbiB0aGUgc3lzdGVtCj4gICAgIGNvbmZpZ3VyZTozMDc1NzogY2hl Y2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBtdmFkZF93Y2huc3RyCj4gICAgIGNvbmZpZ3Vy ZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwvdXNyL2xvY2Fs L2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmPCoCA+JjUKPiAgICAgL3Vzci9saWI2NC9n Y2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4v bGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBz ZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2 XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4g ICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hp bmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1 c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIC90 bXAvY2NIYldHYjgubzogaW4gZnVuY3Rpb24gYG1haW4nOgo+ICAgICAvb3B0L2F1Yml0NGdsc3Jj L2NvbmZ0ZXN0LmM6NzA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG12YWRkX3djaG5zdHInCj4g ICAgIGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwo+ICAgICBjb25m aWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK PiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkF1 Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRnbCIKPiAgICAg fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRB VUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJhdWJpdDRnbC1k aXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1 c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIi Cj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAjZGVmaW5lIFZFUlNJ T04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCj4gICAgIHwg I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZ U19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4g ICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ETEZDTl9I IDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8ICNkZWZpbmUgSEFW RV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAjZGVmaW5lIEhB VkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElO RVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICAgICB8ICNk ZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJHTVAg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlBD UkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9M SUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf WkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwgI2RlZmluZSBIQVZF X1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgfCAjZGVmaW5lIEhB VkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAw Cj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCT0RC QyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FM RVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAgICB8ICNk ZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9O IDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDR0VO IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBlbmQgY29uZmRlZnMu aC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90 b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hhciBiZWNhdXNlIGlu dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAgfMKgIMKgIGJ1aWx0 aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS7CoCAq Lwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQKPiAgICAgfCBtYWlu ICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsKPiAgICAg fMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAgIGNvbmZpZ3VyZToz MDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwvdXNyL2xvY2FsL2xp Ygo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliL2xpYm5jdXJzZXMuc28uNSBvdGhl ci1saWJzwqAgwqA+JjUKPiAgICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeQo+ICAgICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1 cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwg I2RlZmluZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9U QVJOQU1FICJhdWJpdDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklU X1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1 Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tB R0VfQlVHUkVQT1JUICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAg ICA8bWFpbHRvOmF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAg fCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRn bCIKPiAgICAgfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9T VERJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9TVFJJTkdfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8 ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T WVNfVFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfU1lTX1RJTUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxp YnMvIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1Vf SU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T WVNFWElUU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05F VElORVRfVENQX0ggMQo+ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9TRU5ETUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAg ICB8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0gg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJa IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJ QiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf UERGIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9MSUJTUUxJVEUzIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAg ICAgfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJD SU5TVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9QR09EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwg I2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAg ICAgfCAjZGVmaW5lIEhBVkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAK PiAgICAgfCAvKiBlbmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJp ZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzC oCDCoCBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg YSBHQ0MKPiAgICAgfMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlw ZSB3b3VsZCBzdGlsbCBhcHBseS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsK PiAgICAgfCBpbnQKPiAgICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4g bXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAg ICAgfCB9Cj4gICAgIGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAg LUwvbGliwqAgLUwvdXNyL2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwv bGliL2xpYm5jdXJzZXMuc28uNS45IG90aGVyLWxpYnPCoCDCoD4mNQo+ICAgICBnY2M6IGVycm9y OiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgIGNvbmZpZ3VyZToz MDc4NzogJD8gPSAxCj4gICAgIGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICB8 IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wi Cj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ICAgICB8ICNkZWZp bmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgIHwg I2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JV SUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1c3NA bGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0 cy5zb3VyY2Vmb3JnZS5uZXQ+Igo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAgICAg fCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgVkVSU0lPTiAiMS42 LjEiCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T VERMSUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRf SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhB VkVfVU5JU1REX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiAgICAgfCAj ZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAg ICB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5U IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9FUlJf SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9TWVNfU09DS0VUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICB8 ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9I IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCj4gICAgIHwgI2RlZmluZSBZ WVRFWFRfUE9JTlRFUiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAg IHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNTTCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0gg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9E RUYgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJS RUFETElORSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAg fCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9V TklYT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgIHwgI2RlZmluZSBI QVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAg ICB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICov Cj4gICAgIHwKPiAgICAgfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0 byBhdm9pZCBhbiBlcnJvci4KPiAgICAgfMKgIMKgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0 IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ICAgICB8wqAgwqAgYnVpbHRpbiBhbmQg dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LsKgICovCj4gICAg IHwgY2hhciBtdmFkZF93Y2huc3RyICgpOwo+ICAgICB8IGludAo+ICAgICB8IG1haW4gKHZvaWQp Cj4gICAgIHwgewo+ICAgICB8IHJldHVybiBtdmFkZF93Y2huc3RyICgpOwo+ICAgICB8wqAgwqA7 Cj4gICAgIHzCoCDCoHJldHVybiAwOwo+ICAgICB8IH0KPiAgICAgY29uZmlndXJlOjMwNzg3OiBn Y2MgLW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWLCoCAtTC91c3IvbG9jYWwvbGliCj4gICAg IC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC9saWIvbGlibmN1cnNlcy5zby42IG90aGVyLWxpYnPC oCDCoD4mNQo+ICAgICBnY2M6IGVycm9yOiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5Cj4gICAgIGNvbmZpZ3VyZTozMDc4NzogJD8gPSAxCj4gICAgIGNvbmZpZ3VyZTogZmFp bGVkIHByb2dyYW0gd2FzOgo+ICAgICB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgfCAjZGVmaW5l IFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg ImF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lP Ti4kQVVCSVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wg JEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9CVUdS RVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWls dG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Igo+ICAgICB8ICNkZWZp bmUgUEFDS0FHRV9VUkwgIiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAg ICB8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElPX0gg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NU UklOR19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX1NURElOVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19UWVBF U19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9TWVNfVElNRV9IIDEKPiAgICAgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAgICB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCj4g ICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ ICAgICB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU0VYSVRT X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9TWVNfVUlPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9U Q1BfSCAxCj4gICAgIHwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgIHwgI2RlZmluZSBI QVZFX1NFTkRNQUlMIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgIHwgI2Rl ZmluZSBIQVZFX0xJQkdNUCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4gICAg IHwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJ QlNRTElURTMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9TQVBPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICB8ICNk ZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAgICB8 ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0gg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BH T0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5l IEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICB8ICNk ZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAgICB8 IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgIHwKPiAgICAgfCAvKiBPdmVycmlkZSBhbnkg R0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KPiAgICAgfMKgIMKgIFVz ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ ICAgICB8wqAgwqAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk IHN0aWxsIGFwcGx5LsKgICovCj4gICAgIHwgY2hhciBtdmFkZF93Y2huc3RyICgpOwo+ICAgICB8 IGludAo+ICAgICB8IG1haW4gKHZvaWQpCj4gICAgIHwgewo+ICAgICB8IHJldHVybiBtdmFkZF93 Y2huc3RyICgpOwo+ICAgICB8wqAgwqA7Cj4gICAgIHzCoCDCoHJldHVybiAwOwo+ICAgICB8IH0K PiAgICAgY29uZmlndXJlOjMwNzg3OiBnY2MgLW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWLC oCAtTC91c3IvbG9jYWwvbGliCj4gICAgIC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC9saWIvbGli bmN1cnNlcy5zby42LjEgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgIGdjYzogZXJyb3I6IG90aGVy LWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgY29uZmlndXJlOjMwNzg3OiAk PyA9IDEKPiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4gICAgIHwgLyogY29u ZmRlZnMuaCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKPiAgICAg fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNL QUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5l IFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4g ICAgIHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5z b3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJj ZWZvcmdlLm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ICAgICB8ICNkZWZp bmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURExJQl9I IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9J TlRUWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklT VERfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAgICB8ICNkZWZpbmUg U1REQ19IRUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgIHwgI2Rl ZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19T T0NLRVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVmaW5lIFlZVEVYVF9Q T0lOVEVSIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9JS1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAg IHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5F IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwgI2RlZmluZSBIQVZF X1NRTElURTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICB8ICNkZWZp bmUgSEFWRV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVhPREJD IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RL X1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2Rl ZmluZSBIQVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAg fAo+ICAgICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lk IGFuIGVycm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2gg dGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGluIGFuZCB0aGVuIGl0 cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8KPiAgICAgfCBjaGFy IG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAodm9pZCkKPiAgICAg fCB7Cj4gICAgIHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHzCoCDCoDsKPiAgICAg fMKgIMKgcmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBj b25mdGVzdMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgLUwvdXNy L2xpYiBjb25mdGVzdC5jIC1sL2xpYjY0L2xpYm5jdXJzZXMuc28uNSBvdGhlci1saWJzwqAgwqA+ JjUKPiAgICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQo+ICAgICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNL QUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJp dDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFV QklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJ VF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1 Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAj ZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8 ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf U1lTX1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0gg MQo+ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T RU5ETUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUg SEFWRV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwg I2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAg fCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJ VEUzIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhB VkVfU0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5l IEhBVkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMg MAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZF X0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5l IEhBVkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBl bmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAg fMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQK PiAgICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0 ciAoKTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAg IGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwv dXNyL2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliNjQvbGlibmN1 cnNlcy5zby41Ljkgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgIGdjYzogZXJyb3I6IG90aGVyLWxp YnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgY29uZmlndXJlOjMwNzg3OiAkPyA9 IDEKPiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4gICAgIHwgLyogY29uZmRl ZnMuaCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKPiAgICAgfCAj ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdF X1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBB Q0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAg IHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3Vy Y2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZv cmdlLm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ICAgICB8ICNkZWZpbmUg UEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAg fCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9JTlRU WVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklTVERf SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAgICB8ICNkZWZpbmUgU1RE Q19IRUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgIHwgI2RlZmlu ZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8 ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19TT0NL RVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAgIHwgI2RlZmluZSBI QVZFX05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICB8 ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVmaW5lIFlZVEVYVF9QT0lO VEVSIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9JS1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAgIHwg I2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4gICAg IHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NR TElURTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICB8ICNkZWZpbmUg SEFWRV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZF UlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmlu ZSBIQVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAgfAo+ ICAgICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu IGVycm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl IHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGluIGFuZCB0aGVuIGl0cyBh cmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8KPiAgICAgfCBjaGFyIG12 YWRkX3djaG5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAodm9pZCkKPiAgICAgfCB7 Cj4gICAgIHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHzCoCDCoDsKPiAgICAgfMKg IMKgcmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBjb25m dGVzdMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgLUwvdXNyL2xp YiBjb25mdGVzdC5jIC1sL2xpYjY0L2xpYm5jdXJzZXMuc28uNiBvdGhlci1saWJzwqAgwqA+JjUK PiAgICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+ ICAgICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBwcm9n cmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNLQUdF X05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRn bCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklU X0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9W RVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJh dWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0 NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tB R0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAjZGVm aW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T VERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RJ TUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8ICNk ZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lT X1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmluZSBI QVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TRU5E TUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUgSEFW RV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmluZSBI QVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgfCAj ZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUz IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf U0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhB VkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dU S19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5lIEhB VkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBlbmQg Y29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRl cm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hhciBi ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAgfMKg IMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh cHBseS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQKPiAg ICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAo KTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAgIGNv bmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwvdXNy L2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliNjQvbGlibmN1cnNl cy5zby42LjEgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgIGdjYzogZXJyb3I6IG90aGVyLWxpYnM6 IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgY29uZmlndXJlOjMwNzg3OiAkPyA9IDEK PiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4gICAgIHwgLyogY29uZmRlZnMu aCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKPiAgICAgfCAjZGVm aW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1ZF UlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tB R0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgIHwg I2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdl Lm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ICAgICB8ICNkZWZpbmUgUEFD S0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKPiAgICAgfCAj ZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9JTlRUWVBF U19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAgICB8ICNkZWZpbmUgU1REQ19I RUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCj4gICAgIHwgI2RlZmluZSBM VF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0VSUl9IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRf SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZF X05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVS IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9J S1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKPiAgICAgfCAjZGVmaW5lIEhB VkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCj4gICAgIHwg I2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTElU RTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFW RV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJ T04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBI QVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCj4gICAgIHwgI2RlZmluZSBI QVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmguwqAgKi8KPiAgICAgfAo+ICAg ICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVy cm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl dHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1 bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8KPiAgICAgfCBjaGFyIG12YWRk X3djaG5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAodm9pZCkKPiAgICAgfCB7Cj4g ICAgIHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHzCoCDCoDsKPiAgICAgfMKgIMKg cmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBjb25mdGVz dMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vzci9sb2NhbC9saWIKPiAgICAgLUwvdXNyL2xpYiBj b25mdGVzdC5jIC1sL3Vzci9saWIvbGlibmN1cnNlcy5zbyBvdGhlci1saWJzwqAgwqA+JjUKPiAg ICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+ICAg ICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt IHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX05B TUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRnbCIK PiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JV SUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJT SU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJhdWJp dDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1Yml0NGds LWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0Vf VVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAjZGVmaW5l IFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJ TlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2RlZmluZSBI QVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCj4gICAg IHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVf SCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9E TEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8ICNkZWZp bmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1VJ T19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZF X05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQo+ICAg ICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TRU5ETUFJ TCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9M SUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZF X0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAgfCAjZGVm aW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0FQ T0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVf TElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVmaW5lIEhB VkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAo+ICAg ICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19W RVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVf UlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBlbmQgY29u ZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5h bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hhciBiZWNh dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAgfMKgIMKg IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs eS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQKPiAgICAg fCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsK PiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAgIGNvbmZp Z3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwvdXNyL2xv Y2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvdXNyL2xpYi9uY3Vyc2VzNS9s aWJuY3Vyc2VzLnNvIG90aGVyLWxpYnPCoCDCoD4mNQo+ICAgICBnY2M6IGVycm9yOiBvdGhlci1s aWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4gICAgIGNvbmZpZ3VyZTozMDc4NzogJD8g PSAxCj4gICAgIGNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICB8IC8qIGNvbmZk ZWZzLmggKi8KPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCj4gICAgIHwg I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FH RV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQ QUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAg ICB8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291 cmNlZm9yZ2UubmV0Cj4gICAgIDxtYWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQ+Igo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAgICAgfCAjZGVmaW5l IFBBQ0tBR0UgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCj4gICAg IHwgI2RlZmluZSBIQVZFX1NURElPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU5U VFlQRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAgfCAjZGVmaW5l IEhBVkVfU1RSSU5HU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAg IHwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JU1RE X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKPiAgICAgfCAjZGVmaW5lIFNU RENfSEVBREVSUyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAgICB8ICNkZWZp bmUgTFRfT0JKRElSICIubGlicy8iCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfVV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAg IHwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU09D S0VUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9ORVREQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCj4gICAgIHwgI2RlZmluZSBZWVRFWFRfUE9J TlRFUiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAgfCAjZGVmaW5lIEhB VkVfSUtTRU1FTCAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX0dNUF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX1BDUkVfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgIHwg I2RlZmluZSBIQVZFX0xJQlogMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICB8 ICNkZWZpbmUgSEFWRV9aTElCIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9QREYgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T UUxJVEUzX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAgfCAjZGVmaW5l IEhBVkVfSU9EQkMgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfU1FMX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCj4gICAgIHwg I2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19W RVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZp bmUgSEFWRV9HVEsgMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9SUENMSUIgMAo+ICAgICB8IC8qIGVuZCBjb25mZGVmcy5oLsKgICovCj4gICAgIHwK PiAgICAgfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh biBlcnJvci4KPiAgICAgfMKgIMKgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo ZSByZXR1cm4gdHlwZSBvZiBhIEdDQwo+ICAgICB8wqAgwqAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LsKgICovCj4gICAgIHwgY2hhciBt dmFkZF93Y2huc3RyICgpOwo+ICAgICB8IGludAo+ICAgICB8IG1haW4gKHZvaWQpCj4gICAgIHwg ewo+ICAgICB8IHJldHVybiBtdmFkZF93Y2huc3RyICgpOwo+ICAgICB8wqAgwqA7Cj4gICAgIHzC oCDCoHJldHVybiAwOwo+ICAgICB8IH0KPiAgICAgY29uZmlndXJlOjMwNzg3OiBnY2MgLW8gY29u ZnRlc3TCoCAtZyAtTzLCoCAtTC9saWLCoCAtTC91c3IvbG9jYWwvbGliCj4gICAgIC1ML3Vzci9s aWIgY29uZnRlc3QuYyAtbC91c3IvbGliNjQvbGlibmN1cnNlcy5zbyBvdGhlci1saWJzwqAgwqA+ JjUKPiAgICAgZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9y eQo+ICAgICBjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQo+ICAgICBjb25maWd1cmU6IGZhaWxlZCBw cm9ncmFtIHdhczoKPiAgICAgfCAvKiBjb25mZGVmcy5oICovCj4gICAgIHwgI2RlZmluZSBQQUNL QUdFX05BTUUgIkF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJp dDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFV QklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJ VF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU ICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8bWFpbHRvOmF1 Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PiIKPiAgICAgfCAjZGVmaW5lIFBB Q0tBR0VfVVJMICIiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKPiAgICAgfCAj ZGVmaW5lIFZFUlNJT04gIjEuNi4xIgo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdf SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFW RV9TVERJTlRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX1NZU19TVEFUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lT X1RJTUVfSCAxCj4gICAgIHwgI2RlZmluZSBTVERDX0hFQURFUlMgMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9ETEZDTl9IIDEKPiAgICAgfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgo+ICAgICB8 ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfRVJSX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVf U1lTX1VJT19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX05FVElORVRfSU5fSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0gg MQo+ICAgICB8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9T RU5ETUFJTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAo+ICAgICB8ICNkZWZpbmUg SEFWRV9MSUJHTVAgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX0xJQlBDUkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9MSUJTU0wgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJaIDEKPiAgICAgfCAj ZGVmaW5lIEhBVkVfWkxJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQiAxCj4gICAgIHwg I2RlZmluZSBIQVZFX1pMSUJfREVGIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUERGIDAKPiAgICAg fCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJTUUxJ VEUzIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKPiAgICAgfCAjZGVmaW5lIEhB VkVfU0FQT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0lPREJDIDAKPiAgICAgfCAjZGVmaW5l IEhBVkVfTElCT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTF9IIDEKPiAgICAgfCAjZGVm aW5lIEhBVkVfU1FMRVhUX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QR09EQkMg MAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCj4gICAgIHwgI2RlZmluZSBIQVZF X0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfR1RLIDAKPiAgICAgfCAjZGVmaW5l IEhBVkVfUlBDR0VOIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKPiAgICAgfCAvKiBl bmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8Cj4gICAgIHwgLyogT3ZlcnJpZGUgYW55IEdDQyBp bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCj4gICAgIHzCoCDCoCBVc2UgY2hh ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKPiAgICAg fMKgIMKgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGls bCBhcHBseS7CoCAqLwo+ICAgICB8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKPiAgICAgfCBpbnQK PiAgICAgfCBtYWluICh2b2lkKQo+ICAgICB8IHsKPiAgICAgfCByZXR1cm4gbXZhZGRfd2NobnN0 ciAoKTsKPiAgICAgfMKgIMKgOwo+ICAgICB8wqAgwqByZXR1cm4gMDsKPiAgICAgfCB9Cj4gICAg IGNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0wqAgLWcgLU8ywqAgLUwvbGliwqAgLUwv dXNyL2xvY2FsL2xpYgo+ICAgICAtTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvdXNyL2xpYjY0L25j dXJzZXM1L2xpYm5jdXJzZXMuc28KPiAgICAgb3RoZXItbGlic8KgIMKgPiY1Cj4gICAgIGdjYzog ZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKPiAgICAgY29uZmln dXJlOjMwNzg3OiAkPyA9IDEKPiAgICAgY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cj4g ICAgIHwgLyogY29uZmRlZnMuaCAqLwo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJp dDRnbCIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCj4gICAgIHwg I2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKPiAg ICAgfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVC SVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlz Y3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzphdWJpdDRnbC1kaXNjdXNz QGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgo+ ICAgICB8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBWRVJTSU9O ICIxLjYuMSIKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCj4gICAgIHwgI2RlZmluZSBI QVZFX1NURExJQl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQo+ ICAgICB8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNf U1RBVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9VTklTVERfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQo+ICAg ICB8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx Cj4gICAgIHwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKPiAgICAgfCAjZGVmaW5lIEhBVkVf VV9JTlQgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCj4gICAgIHwgI2RlZmluZSBIQVZF X0VSUl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX1NZU19TT0NLRVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX05FVERCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVU X0lOX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKPiAgICAgfCAjZGVm aW5lIFlZVEVYVF9QT0lOVEVSIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCR01QIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfR01QX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJQQ1JF IDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElC U1NMIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCWiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pM SUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1pMSUIgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9a TElCX0RFRiAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BERiAwCj4gICAgIHwgI2RlZmluZSBIQVZF X0xJQlJFQURMSU5FIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCj4gICAgIHwg I2RlZmluZSBIQVZFX1NRTElURTNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAo+ ICAgICB8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQk9EQkMg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NRTEVY VF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCj4gICAgIHwgI2RlZmluZSBI QVZFX1VOSVhPREJDIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKPiAgICAgfCAjZGVm aW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAw Cj4gICAgIHwgI2RlZmluZSBIQVZFX0dUSyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0dFTiAx Cj4gICAgIHwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCj4gICAgIHwgLyogZW5kIGNvbmZkZWZzLmgu wqAgKi8KPiAgICAgfAo+ICAgICB8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90 eXBlIHRvIGF2b2lkIGFuIGVycm9yLgo+ICAgICB8wqAgwqAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCj4gICAgIHzCoCDCoCBidWlsdGlu IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuwqAgKi8K PiAgICAgfCBjaGFyIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHwgaW50Cj4gICAgIHwgbWFpbiAo dm9pZCkKPiAgICAgfCB7Cj4gICAgIHwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7Cj4gICAgIHzC oCDCoDsKPiAgICAgfMKgIMKgcmV0dXJuIDA7Cj4gICAgIHwgfQo+ICAgICBjb25maWd1cmU6MzA4 MDc6IHJlc3VsdDogbm8KPiAgICAgY29uZmlndXJlOjMwODM2OiByZXN1bHQ6IEZvdW5kIG5vdGhp bmcgd2l0aCBBQyBTRUFSQ0ggTElCUyBpbgo+ICAgICAvbGliL2xpYm5jdXJzZXMuc28uNQo+ICAg ICAvbGliL2xpYm5jdXJzZXMuc28uNS45Cj4gICAgIC9saWIvbGlibmN1cnNlcy5zby42Cj4gICAg IC9saWIvbGlibmN1cnNlcy5zby42LjEKPiAgICAgL2xpYjY0L2xpYm5jdXJzZXMuc28uNQo+ICAg ICAvbGliNjQvbGlibmN1cnNlcy5zby41LjkKPiAgICAgL2xpYjY0L2xpYm5jdXJzZXMuc28uNgo+ ICAgICAvbGliNjQvbGlibmN1cnNlcy5zby42LjEKPiAgICAgL3Vzci9saWIvbGlibmN1cnNlcy5z bwo+ICAgICAvdXNyL2xpYi9uY3Vyc2VzNS9saWJuY3Vyc2VzLnNvCj4gICAgIC91c3IvbGliNjQv bGlibmN1cnNlcy5zbwo+ICAgICAvdXNyL2xpYjY0L25jdXJzZXM1L2xpYm5jdXJzZXMuc28KPiAg ICAgY29uZmlndXJlOjMxMDc3OiBjaGVja2luZyBmb3IgY3Vyc2VzLmgKPiAgICAgY29uZmlndXJl OjMxMDc3OiBnY2MgLWPCoCAtZyAtTzLCoCBjb25mdGVzdC5jID4mNQo+ICAgICBjb25maWd1cmU6 MzEwNzc6ICQ/ID0gMAo+ICAgICBjb25maWd1cmU6MzEwNzc6IHJlc3VsdDogeWVzCj4gICAgIGNv bmZpZ3VyZTozMTA4MzogY2hlY2tpbmcgZm9yIG5jdXJzZXMuaAo+ICAgICBjb25maWd1cmU6MzEw ODM6IGdjYyAtY8KgIC1nIC1PMsKgIGNvbmZ0ZXN0LmMgPiY1Cj4gICAgIGNvbmZpZ3VyZTozMTA4 MzogJD8gPSAwCj4gICAgIGNvbmZpZ3VyZTozMTA4MzogcmVzdWx0OiB5ZXMKPiAgICAgY29uZmln dXJlOjMxMDg5OiBjaGVja2luZyBmb3IgbmN1cnNlcy9uY3Vyc2VzLmgKPiAgICAgY29uZmlndXJl OjMxMDg5OiBnY2MgLWPCoCAtZyAtTzLCoCBjb25mdGVzdC5jID4mNQo+ICAgICBjb25maWd1cmU6 MzEwODk6ICQ/ID0gMAo+ICAgICBjb25maWd1cmU6MzEwODk6IHJlc3VsdDogeWVzCj4gICAgIGNv bmZpZ3VyZTozMTA5NTogY2hlY2tpbmcgZm9yIGN1cnNlcy9jdXJzZXMuaAo+ICAgICBjb25maWd1 cmU6MzEwOTU6IGdjYyAtY8KgIC1nIC1PMsKgIGNvbmZ0ZXN0LmMgPiY1Cj4gICAgIGNvbmZ0ZXN0 LmM6OTM6MTA6IGZhdGFsIGVycm9yOiBjdXJzZXMvY3Vyc2VzLmg6IE5vIHN1Y2ggZmlsZSBvcgo+ ICAgICBkaXJlY3RvcnkKPiAgICAgIMKgICNpbmNsdWRlIDxjdXJzZXMvY3Vyc2VzLmg+Cj4gICAg ICDCoCDCoCDCoCDCoCDCoCDCoF5+fn5+fn5+fn5+fn5+fn5+Cj4gICAgIGNvbXBpbGF0aW9uIHRl cm1pbmF0ZWQuCj4gICAgIGNvbmZpZ3VyZTozMTA5NTogJD8gPSAxCj4gICAgIGNvbmZpZ3VyZTog ZmFpbGVkIHByb2dyYW0gd2FzOgo+ICAgICB8IC8qIGNvbmZkZWZzLmggKi8KPiAgICAgfCAjZGVm aW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1RBUk5B TUUgImF1Yml0NGdsIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVS U0lPTi4kQVVCSVRfQlVJTEQiCj4gICAgIHwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0 Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgo+ICAgICB8ICNkZWZpbmUgUEFDS0FHRV9C VUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gICAgIDxt YWlsdG86YXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+Igo+ICAgICB8ICNk ZWZpbmUgUEFDS0FHRV9VUkwgIiIKPiAgICAgfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgo+ ICAgICB8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCj4gICAgIHwgI2RlZmluZSBIQVZFX1NURElP X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZF X1NUUklOR19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCj4gICAgIHwgI2Rl ZmluZSBIQVZFX1NURElOVF9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKPiAg ICAgfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU19U WVBFU19IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQo+ICAgICB8ICNkZWZpbmUg SEFWRV9TWVNfVElNRV9IIDEKPiAgICAgfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCj4gICAgIHwg I2RlZmluZSBIQVZFX0RMRkNOX0ggMQo+ICAgICB8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i Cj4gICAgIHwgI2RlZmluZSBIQVZFX1VfSU5UIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfVV9JTlQg MQo+ICAgICB8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1NZU0VY SVRTX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQo+ICAgICB8ICNkZWZp bmUgSEFWRV9TWVNfVUlPX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfTkVUSU5F VF9UQ1BfSCAxCj4gICAgIHwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCj4gICAgIHwgI2RlZmlu ZSBIQVZFX1NFTkRNQUlMIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCj4gICAgIHwg I2RlZmluZSBIQVZFX0xJQkdNUCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0dNUF9IIDEKPiAgICAg fCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCj4gICAgIHwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCj4g ICAgIHwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX0xJQlogMQo+ ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9aTElCIDEK PiAgICAgfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9QREYg MAo+ICAgICB8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCj4gICAgIHwgI2RlZmluZSBIQVZF X0xJQlNRTElURTMgMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQo+ICAgICB8ICNk ZWZpbmUgSEFWRV9TQVBPREJDIDAKPiAgICAgfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAo+ICAgICB8 ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKPiAgICAgfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQo+ICAg ICB8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX09EQkNJTlNU X0ggMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCj4gICAgIHwgI2RlZmluZSBIQVZF X1BHT0RCQyAwCj4gICAgIHwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKPiAgICAgfCAjZGVm aW5lIEhBVkVfR1RLX1ZFUlNJT04gMAo+ICAgICB8ICNkZWZpbmUgSEFWRV9HVEsgMAo+ICAgICB8 ICNkZWZpbmUgSEFWRV9SUENHRU4gMQo+ICAgICB8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAo+ICAg ICB8ICNkZWZpbmUgSEFWRV9DVVJTRVNfSCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05DVVJTRVNf SCAxCj4gICAgIHwgI2RlZmluZSBIQVZFX05DVVJTRVNfTkNVUlNFU19IIDEKPiAgICAgfCAvKiBl bmQgY29uZmRlZnMuaC7CoCAqLwo+ICAgICB8ICNpbmNsdWRlIDxzdGRkZWYuaD4KPiAgICAgfCAj aWZkZWYgSEFWRV9TVERJT19ICj4gICAgIHwgIyBpbmNsdWRlIDxzdGRpby5oPgo+ICAgICB8ICNl bmRpZgo+ICAgICB8ICNpZmRlZiBIQVZFX1NURExJQl9ICj4gICAgIHwgIyBpbmNsdWRlIDxzdGRs aWIuaD4KPiAgICAgfCAjZW5kaWYKPiAgICAgfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAo+ICAgICB8 ICMgaW5jbHVkZSA8c3RyaW5nLmg+Cj4gICAgIHwgI2VuZGlmCj4gICAgIHwgI2lmZGVmIEhBVkVf SU5UVFlQRVNfSAo+ICAgICB8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KPiAgICAgfCAjZW5kaWYK PiAgICAgfCAjaWZkZWYgSEFWRV9TVERJTlRfSAo+ICAgICB8ICMgaW5jbHVkZSA8c3RkaW50Lmg+ Cj4gICAgIHwgI2VuZGlmCj4gICAgIHwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICj4gICAgIHwgIyBp bmNsdWRlIDxzdHJpbmdzLmg+Cj4gICAgIHwgI2VuZGlmCj4gICAgIHwgI2lmZGVmIEhBVkVfU1lT X1RZUEVTX0gKPiAgICAgfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgo+ICAgICB8ICNlbmRpZgo+ ICAgICB8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKPiAgICAgfCAjIGluY2x1ZGUgPHN5cy9zdGF0 Lmg+Cj4gICAgIHwgI2VuZGlmCj4gICAgIHwgI2lmZGVmIEhBVkVfVU5JU1REX0gKPiAgICAgfCAj IGluY2x1ZGUgPHVuaXN0ZC5oPgo+ICAgICB8ICNlbmRpZgo+ICAgICB8ICNpbmNsdWRlIDxjdXJz ZXMvY3Vyc2VzLmg+Cj4gICAgIGNvbmZpZ3VyZTozMTA5NTogcmVzdWx0OiBubwo+ICAgICBjb25m aWd1cmU6MzExMzY6IGNoZWNraW5nIGZvciBtYWluIGluIC1sZm9ybQo+ICAgICBjb25maWd1cmU6 MzExNTY6IGdjYyAtbyBjb25mdGVzdMKgIC1nIC1PMsKgIC1ML2xpYsKgIC1ML3Vzci9sb2NhbC9s aWIKPiAgICAgLUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sZm9ybcKgIMKgPiY1Cj4gICAgIC91c3Iv bGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGlu dXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5z byB3aGVuIHNlYXJjaGluZyBmb3IgLWxmb3JtCj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1z dXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBz a2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5hIHdoZW4gc2VhcmNoaW5nIGZv ciAtbGZvcm0KPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8u Li8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJs ZSAvbGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNv LjEKPiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94 ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGli L2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAg ICAgY29uZmlndXJlOjMxMTU2OiAkPyA9IDAKPiAgICAgY29uZmlndXJlOjMxMTY2OiByZXN1bHQ6 IHllcwo+ICAgICBjb25maWd1cmU6MzExNzc6IGNoZWNraW5nIGZvciBtYWluIGluIC1scGFuZWwK PiAgICAgY29uZmlndXJlOjMxMTk3OiBnY2MgLW8gY29uZnRlc3TCoCAtZyAtTzLCoCAtTC9saWLC oCAtTC91c3IvbG9jYWwvbGliCj4gICAgIC1ML3Vzci9saWIgY29uZnRlc3QuYyAtbHBhbmVswqAg LWxmb3JtwqAgPiY1Cj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4v Li4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBpbmNvbXBh dGlibGUgL3Vzci9saWIvbGlicGFuZWwuc28gd2hlbiBzZWFyY2hpbmcgZm9yIC1scGFuZWwKPiAg ICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQt c3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvdXNyL2xpYi9s aWJwYW5lbC5hIHdoZW4gc2VhcmNoaW5nIGZvciAtbHBhbmVsCj4gICAgIC91c3IvbGliNjQvZ2Nj L3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xk Ogo+ICAgICBza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5zbyB3aGVuIHNl YXJjaGluZyBmb3IgLWxmb3JtCj4gICAgIC91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4 LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOgo+ICAgICBza2lwcGluZyBp bmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5hIHdoZW4gc2VhcmNoaW5nIGZvciAtbGZvcm0K PiAgICAgL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZf NjQtc3VzZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xp YmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAg L3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3Vz ZS1saW51eC9iaW4vbGQ6Cj4gICAgIHNraXBwaW5nIGluY29tcGF0aWJsZSAvbGliL2xpYmdjY19z LnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yCj4gICAgIGxpYmdjY19zLnNvLjEKPiAgICAgY29uZmln dXJlOjMxMTk3OiAkPyA9IDAKPiAgICAgY29uZmlndXJlOjMxMjA3OiByZXN1bHQ6IHllcwo+ICAg ICBjb25maWd1cmU6MzEyNDA6IHJlc3VsdDoKPiAgICAgY29uZmlndXJlOjMxMjQyOiByZXN1bHQ6 wqAgWzFtQ2hlY2tpbmcgZm9yIFBEY3Vyc2VzL1hjdXJzZXM6IFttCj4gCj4gCj4gICAgIEVsIDIy LzMvMjMgYSBsYXMgMTE6MjEsIE1pa2UgQXVidXJ5IGVzY3JpYmnDszoKPiAgICAgID4gQ2FuIHlv dSBzZW5kIHRoZSByZWxldmFudCBwb3J0aW9uIG9mIHRoZSBjb25maWcubG9nID8KPiAgICAgID4K PiAgICAgID4gSWYgaXRzIG5vdCBmaW5kaW5nIHRoZSBuY3Vyc2VzIGRldmVsIGxpYnJhcnkgLSBp dCBtaWdodCBiZSB0aGF0Cj4gICAgIGl0IGp1c3QKPiAgICAgID4gbmVlZHMgYSBudWRnZSBhcyB0 byB3aGVyZSBpdCBpcyBsb2NhdGVkLi4KPiAgICAgID4KPiAgICAgID4gT24gV2VkLCAyMiBNYXIg MjAyMyBhdCAxMDoxOCwgTHVpcyBQYXNjdWFsIEZvcm5lcgo+ICAgICA8bHBhc2N1YWxAaXZhbC5j b20gPG1haWx0bzpscGFzY3VhbEBpdmFsLmNvbT4KPiAgICAgID4gPG1haWx0bzpscGFzY3VhbEBp dmFsLmNvbSA8bWFpbHRvOmxwYXNjdWFsQGl2YWwuY29tPj4+IHdyb3RlOgo+ICAgICAgPgo+ICAg ICAgPsKgIMKgIMKgRGVhciBBdWJpdDRHTCB0ZWFtLAo+ICAgICAgPgo+ICAgICAgPsKgIMKgIMKg SSBoYXZlIGNvbXBpbGVkIGF1Yml0NGdsIG9uIG9wZW5TVVNFIExlYXAgMTUuNC4gVGhlCj4gICAg IGNvbXBpbGF0aW9uIHdhcwo+ICAgICAgPsKgIMKgIMKgc3VjY2Vzc2Z1bCwgYnV0IHRoZSBjdXJz ZXMgbGlicmFyaWVzIGFyZSBub3QgZGV0ZWN0ZWQsIGV2ZW4KPiAgICAgdGhvdWdoIEkKPiAgICAg ID7CoCDCoCDCoGhhdmUgYWxsIHRoZSBkaXN0cmlidXRpb24ncyBuY3Vyc2VzIHBhY2thZ2VzIGlu c3RhbGxlZDoKPiAgICAgbGlibmN1cnNlczUsCj4gICAgICA+wqAgwqAgwqBsaWJuY3Vyc2VzNS0z MmJpdCwgbGlibmN1cnNlczYsIGxpYm5jdXJzZXM2LTMyYml0LCBuY3Vyc2VzLWRldmVsLAo+ICAg ICAgPsKgIMKgIMKgbmN1cnNlczUtZGV2ZWwgYW5kIG5jdXJzZXM1LWRldmVsLTMyYml0Lgo+ICAg ICAgPgo+ICAgICAgPsKgIMKgIMKgVGhlIG91dHB1dCBvZiBjb25maWd1cmUgaXM6Cj4gICAgICA+ Cj4gICAgICA+wqAgwqAgwqBDaGVja2luZyBmb3IgY3Vyc2VzIGxpYnJhcmllczoKPiAgICAgID7C oCDCoCDCoGNoZWNraW5nIGZvciBtYWluIGluIC1sbmN1cnNlcy4uLiBubwo+ICAgICAgPsKgIMKg IMKgY2hlY2tpbmcgZm9yIHdpbm5zdHIgaW4gLWxuY3Vyc2VzLi4uIG5vCj4gICAgICA+wqAgwqAg wqBjaGVja2luZyBmb3Igd2lubnN0ciBpbiAtbGN1cnNlcy4uLiBubwo+ICAgICAgPsKgIMKgIMKg eWVzIC0gZm91bmQKPiAgICAgID7CoCDCoCDCoGNoZWNraW5nIEZvciBhbnkgbGlibmN1cnNlcyBs aWJyYXJ5IG9uIHRoZSBzeXN0ZW0uLi4gY2hlY2tpbmcgZm9yCj4gICAgICA+wqAgwqAgwqBsaWJy YXJ5IGNvbnRhaW5pbmcgbXZhZGRfd2NobnN0ci4uLiBubwo+ICAgICAgPsKgIMKgIMKgRGlkIG5v dCBmaW5kIGl0Cj4gICAgICA+wqAgwqAgwqBGb3VuZCBub3RoaW5nIHdpdGggQUMgU0VBUkNIIExJ QlMgaW4gL2xpYi9saWJuY3Vyc2VzLnNvLjUKPiAgICAgID7CoCDCoCDCoC9saWIvbGlibmN1cnNl cy5zby41LjkKPiAgICAgID7CoCDCoCDCoC9saWIvbGlibmN1cnNlcy5zby42Cj4gICAgICA+wqAg wqAgwqAvbGliL2xpYm5jdXJzZXMuc28uNi4xCj4gICAgICA+wqAgwqAgwqAvbGliNjQvbGlibmN1 cnNlcy5zby41Cj4gICAgICA+wqAgwqAgwqAvbGliNjQvbGlibmN1cnNlcy5zby41LjkKPiAgICAg ID7CoCDCoCDCoC9saWI2NC9saWJuY3Vyc2VzLnNvLjYKPiAgICAgID7CoCDCoCDCoC9saWI2NC9s aWJuY3Vyc2VzLnNvLjYuMQo+ICAgICAgPsKgIMKgIMKgL3Vzci9saWIvbGlibmN1cnNlcy5zbwo+ ICAgICAgPsKgIMKgIMKgL3Vzci9saWIvbmN1cnNlczUvbGlibmN1cnNlcy5zbwo+ICAgICAgPsKg IMKgIMKgL3Vzci9saWI2NC9saWJuY3Vyc2VzLnNvCj4gICAgICA+wqAgwqAgwqAvdXNyL2xpYjY0 L25jdXJzZXM1L2xpYm5jdXJzZXMuc28KPiAgICAgID7CoCDCoCDCoGNoZWNraW5nIGZvciBjdXJz ZXMuaC4uLiB5ZXMKPiAgICAgID7CoCDCoCDCoGNoZWNraW5nIGZvciBuY3Vyc2VzLmguLi4geWVz Cj4gICAgICA+wqAgwqAgwqBjaGVja2luZyBmb3IgbmN1cnNlcy9uY3Vyc2VzLmguLi4geWVzCj4g ICAgICA+wqAgwqAgwqBjaGVja2luZyBmb3IgY3Vyc2VzL2N1cnNlcy5oLi4uIG5vCj4gICAgICA+ wqAgwqAgwqBjaGVja2luZyBmb3IgbWFpbiBpbiAtbGZvcm0uLi4geWVzCj4gICAgICA+wqAgwqAg wqBjaGVja2luZyBmb3IgbWFpbiBpbiAtbHBhbmVsLi4uIHllcwo+ICAgICAgPgo+ICAgICAgPsKg IMKgIMKgV2hhdCBJIGNhbiBkbz8KPiAgICAgID4KPiAgICAgID7CoCDCoCDCoFRoYW5rcyBpbiBh ZHZhbmNlCj4gICAgICA+Cj4gICAgICA+Cj4gICAgICA+wqAgwqAgwqBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ICAgICAgPsKgIMKgIMKgQXViaXQ0Z2wt ZGlzY3VzcyBtYWlsaW5nIGxpc3QKPiAgICAgID4gQXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3Vy Y2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzpBdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZv cmdlLm5ldD4KPiAgICAgID7CoCDCoCDCoDxtYWlsdG86QXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5z b3VyY2Vmb3JnZS5uZXQKPiAgICAgPG1haWx0bzpBdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJj ZWZvcmdlLm5ldD4+Cj4gICAgICA+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3Rz L2xpc3RpbmZvL2F1Yml0NGdsLWRpc2N1c3MKPiAgICAgPGh0dHBzOi8vbGlzdHMuc291cmNlZm9y Z2UubmV0L2xpc3RzL2xpc3RpbmZvL2F1Yml0NGdsLWRpc2N1c3M+Cj4gICAgICA+ICAgCj4gICAg ICDCoDxodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9hdWJpdDRn bC1kaXNjdXNzCj4gICAgIDxodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0 aW5mby9hdWJpdDRnbC1kaXNjdXNzPj4KPiAgICAgID4KPiAKCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQovRXN0 ZSBtZW5zYWplIHkgbG9zIGZpY2hlcm9zIGFuZXhvcyBzb24gY29uZmlkZW5jaWFsZXMgeSBjb250 aWVuZW4KaW5mb3JtYWNpw7NuIHJlc2VydmFkYSBkZSBsYSBlbXByZXNhIHF1ZSBubyBwdWVkZSBz ZXIgZGlmdW5kaWRhLiBTaSB1c3RlZApoYSByZWNpYmlkbyBlc3RlIGNvcnJlbyBwb3IgZXJyb3Is IGxlIHJvZ2Ftb3MgcXVlIGxvIGVsaW1pbmUgZGUgc3UKc2lzdGVtYSB5IGF2aXNlIGFsIHJlbWl0 ZW50ZSBtZWRpYW50ZSByZWVudsOtbyBhIHN1IGRpcmVjY2nDs24KZWxlY3Ryw7NuaWNhOyBubyBk ZWJlcsOhIGNvcGlhciBlbCBtZW5zYWplIG5pIGRpdnVsZ2FyIHN1IGNvbnRlbmlkbyBhCm5pbmd1 bmEgcGVyc29uYS4KLwovCi8KL1N1IGRpcmVjY2nDs24gZGUgY29ycmVvIGVsZWN0csOzbmljbyBq dW50byBhIHN1cyBkYXRvcyBwZXJzb25hbGVzIGZvcm1hbgpwYXJ0ZSBkZSB1biBmaWNoZXJvIHRp dHVsYXJpZGFkIGRlIElWQUwgaW5mb3Jtw6F0aWNhLCBjdXlhIGZpbmFsaWRhZCBlcwpsYSBkZSBt YW50ZW5lciBlbCBjb250YWN0byBjb24gVWQuIERlIGFjdWVyZG8gY29uIGxhIExleSBPcmfDoW5p Y2EKMy8yMDE4LCBkZSA1IGRlIGRpY2llbWJyZSwgZGUgUHJvdGVjY2nDs24gZGUgRGF0b3MgUGVy c29uYWxlcyB5IGdhcmFudMOtYQpkZSBsb3MgZGVyZWNob3MgZGlnaXRhbGVzLCB1c3RlZCBwdWVk ZSBlamVyY2l0YXIgc3VzIGRlcmVjaG9zIGRlIGFjY2VzbywKcmVjdGlmaWNhY2nDs24sIGNhbmNl bGFjacOzbiB5LCBlbiBzdSBjYXNvLCBvcG9zaWNpw7NuIGVudmlhbmRvIHVuYQpzb2xpY2l0dWQg cG9yIGVzY3JpdG8sIGFjb21wYcOxYWRhIGRlIHVuYSBmb3RvY29waWEgZGUgc3UgRE5JIGRpcmln aWRhIGE6CkMvIENvbXByb21pc28gZGUgQ2FzcGUsIDEtUHRhLjIgKDQ2MDA3KSBWYWxlbmNpYS4g LwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkF1Yml0 NGdsLWRpc2N1c3MgbWFpbGluZyBsaXN0CkF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9y Z2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2F1Yml0 NGdsLWRpc2N1c3MK