From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 22528 invoked from network); 3 Mar 2021 19:56:22 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 3 Mar 2021 19:56:22 -0000 Content-Type: multipart/mixed; boundary="===============1680157969873742679==" MIME-Version: 1.0 Subject: =?utf8?b?UmU6IFtQUiBQQVRDSF0gW1VwZGF0ZWRdIFtXSVBdIGNocm9taXVtOiB1cGRhdGUgdG8gODkuMC40Mzg5Ljcy?= To: ml@inbox.vuxu.org From: pullmoll Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 03 Mar 2021 20:56:22 +0100 List-Id: Message-ID: <20210303195622.oJnfCdCdyjZxEdWA5numZL0nWMpIUS8Lf7sp-pIJbmE@z> GitHub notification mails are now in MIME to allow UTF8. --===============1680157969873742679== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgcHVsbG1vbGwgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3B1 bGxtb2xsL3ZvaWQtcGFja2FnZXMgY2hyb21pdW0KaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI5MjA1CgpbV0lQXSBjaHJvbWl1bTogdXBkYXRlIHRvIDg5 LjAuNDM4OS43MgpDVkUtMjAyMS0yMTE2Ng0KDQorIHg4Nl82NCBwYXRjaCBzZXQgdXBkYXRlZCwg YnVpbHQsIHRlc3RlZCB2ZXJ5IGN1cnNvcnkgYW5kIHNlZW1zIHRvIHdvcmsNCisgaTY4NiBwYXRj aCBhcHBsaWVzIHcvbyBjaGFuZ2UsIGJ1aWx0LCBjdXJzb3J5IHRlc3QgaW4gYSBWTQ0KKyB4ODZf NjQtbXVzbCBwYXRjaCBzZXQgdXBkYXRlZCwgYnVpbHQsICJBdywgU25hcCEiIGluIGEgVk0NCiAg c2VjY29tcC1icGYgZmFpbHVyZSBpbiBzeXNjYWxsIDAzMjQNCisgcGF0Y2hlcy94eHgtcHBjNjRs ZS1zdXBwb3J0LnBhdGNoIHJlbW92ZWQgZm9yIG5vdyAoYWxyZWFkeSB1cHN0cmVhbWVkPyBuZWVk IHRvIGNoZWNrIGFnYWluKQ0KKyBmaWxlcy9tdXNsLXBhY2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0 LnBhdGNoIHN0cmlwcGVkIGRvd24gdG8gd2hhdCBzdGlsbCBhcHBsaWVzDQorIHN5c3RlbSBvcHVz IGRpc2FibGVkIGJlY2F1c2UgdGhlIGdlbmVyYXRlZCBzaGltIGhlYWRlciBvcHVzLmggdHJpZXMg dG8gaW5jbHVkZSA8b3B1cy5oPiBhbmQgZmFpbHMNCisgbm90IHN1cmUgaWYgbGliY19tYWxsb2Mu cGF0Y2ggaXMgb2ssIGkuZS4gc2ltcGx5IHVzZSBtYWxsb2MoKSBpbnN0ZWFkIG9mIF9fbGliY19t YWxsb2MoKS4NCisgbW9yZSB0byBkbw0KDQpbY2kgc2tpcF0NCg0KSWYgeW91IGRvbid0IHdhbnQg dG8gYnVpbGQgeW91cnNlbGY6DQpodHRwczovL3JlcG8udm9pZGxpbnV4LmRlL3g4Nl82NC9jaHJv bWl1bS04OS4wLjQzODkuNzJfMS54ODZfNjQueGJwcw0KaHR0cHM6Ly9yZXBvLnZvaWRsaW51eC5k ZS9pNjg2L2Nocm9taXVtLTg5LjAuNDM4OS43Ml8xLmk2ODYueGJwcw0KCgpBIHBhdGNoIGZpbGUg ZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMjky MDUucGF0Y2ggaXMgYXR0YWNoZWQ= --===============1680157969873742679== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-29205.patch" RnJvbSBhZmYwZjc0ZmVlMzk2NTZlOWE0YmFkMzEyNmU1ZGNiZjQ4ZTcxNDY2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sj1DMz1CQ3JnZW49MjBCdWNobT1DMz1CQ2xs ZXI/PSA8cHVsbG1vbGxAdC1vbmxpbmUuZGU+CkRhdGU6IFdlZCwgMyBNYXIgMjAyMSAxNTowNjoz OCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIGNocm9taXVtOiB1cGRhdGUgdG8gODkuMC40Mzg5Ljcy CgpDVkUtMjAyMS0yMTE2NgoKW2NpIHNraXBdCi0tLQogLi4uL2RlZmF1bHQtcHRocmVhZC1zdGFj a3NpemUucGF0Y2ggICAgICAgICAgIHwgICA0ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL211 c2wtZml4ZXMucGF0Y2ggICAgICAgfCAgNDAgKy0KIC4uLi9maWxlcy9tdXNsLXBhdGNoZXMvbXVz bC1oYWNrcy5wYXRjaCAgICAgICB8ICAgNCArLQogLi4uL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNs LWxpYmMrKy5wYXRjaCAgICAgIHwgICA2ICstCiAuLi4vbXVzbC1wYXRjaGVzL211c2wtbm8tZ2xp YmMtdmVyc2lvbi5wYXRjaCAgfCAgMjggKysKIC4uLi9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1z YW5kYm94LnBhdGNoICAgICB8ICAxMiArLQogLi4uL2ZpbGVzL211c2wtcGF0Y2hlcy9uby1tYWxs aW5mby5wYXRjaCAgICAgIHwgICA2ICstCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVzL3Jlc29sdmVy LnBhdGNoICAgICAgICAgfCAgIDIgKy0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9icm93c2Vy LXNpemVfdC5wYXRjaCB8ICAxMCAtCiAuLi4vY2hyb21pdW0tODgtQVhUcmVlRm9ybWF0dGVyLWlu Y2x1ZGUucGF0Y2ggfCAgMjcgLQogLi4uaXVtLTg4LUJvb2ttYXJrTW9kZWxPYnNlcnZlci1pbmNs dWRlLnBhdGNoIHwgIDIxIC0KIC4uLnVtLTg4LUNvbXBvc2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVj ay5wYXRjaCB8ICAzNiAtLQogLi4uL2Nocm9taXVtLTg4LVN0cmluZ1Bvb2wtaW5jbHVkZS5wYXRj aCAgICAgIHwgIDIwIC0KIC4uLnJvbWl1bS04OC1mZWRlcmF0ZWRfbGVhcm5pbmctaW5jbHVkZS5w YXRjaCB8ICAyMSAtCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoICAg ICAgfCAxNDQgLS0tLS0tCiAuLi5ocm9taXVtLTg4LWlkZW9ncmFwaGljU3BhY2VDaGFyYWN0ZXIu cGF0Y2ggfCAgMjcgLQogLi4uL3BhdGNoZXMvY2hyb21pdW0tODgtaXR5cC1pbmNsdWRlLnBhdGNo ICAgIHwgIDI1IC0KIC4uLi9wYXRjaGVzL2Nocm9taXVtLTg4LXZhYXBpLWF0dHJpYnV0ZS5wYXRj aCB8ICAzOSAtLQogLi4udW0tODktQ29tcG9zaXRvckZyYW1lUmVwb3J0ZXItZGNoZWNrLnBhdGNo IHwgIDExICsKIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9saWJjX21hbGxvYy5wYXRjaCAgICB8 ICAyMyArLQogLi4ucmVtb3ZlLXVuc3VwcG9ydGVkLWNvbXBpbGVyLXdhcm5pbmdzLnBhdGNoIHwg IDI2IC0KIC4uLi12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaCB8ICAy NCAtCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tZXhlY2luZm8ucGF0Y2ggICAgfCAgMTYg Ky0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1nZXRjb250ZXh0LnBhdGNoICB8ICAyNyAt CiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8tc3RkLXRpbWUucGF0Y2ggICAgfCAgMTEgKwog Li4uL2Nocm9taXVtL3BhdGNoZXMvc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoIHwgIDYxICstLQog Li4uL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaCAgICAgICAgIHwgNDc1ICsrKysr KysrLS0tLS0tLS0tLQogc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAg ICAgIHwgICA4ICstCiAyOCBmaWxlcyBjaGFuZ2VkLCAzMjEgaW5zZXJ0aW9ucygrKSwgODMzIGRl bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVz bC1wYXRjaGVzL211c2wtbm8tZ2xpYmMtdmVyc2lvbi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9icm93c2VyLXNpemVfdC5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1BWFRyZWVGb3Jt YXR0ZXItaW5jbHVkZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS04OC1Cb29rbWFya01vZGVsT2JzZXJ2ZXItaW5jbHVkZS5wYXRjaAog ZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1D b21wb3NpdG9yRnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtU3RyaW5nUG9vbC1pbmNsdWRlLnBh dGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTg4LWZlZGVyYXRlZF9sZWFybmluZy1pbmNsdWRlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2gKIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtaWRl b2dyYXBoaWNTcGFjZUNoYXJhY3Rlci5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1pdHlwLWluY2x1ZGUucGF0Y2gKIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtdmFhcGktYXR0 cmlidXRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTg5LUNvbXBvc2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVjay5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9sbHZtLXJlbW92ZS11bnN1cHBv cnRlZC1jb21waWxlci13YXJuaW5ncy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9tdXNsLXY4LW1vbm90b25pYy1wdGhyZWFkLWNvbnRfdGltZWR3YWl0 LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWdl dGNvbnRleHQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvbm8tc3RkLXRpbWUucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVz L211c2wtcGF0Y2hlcy9kZWZhdWx0LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoIGIvc3JjcGtncy9j aHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvZGVmYXVsdC1wdGhyZWFkLXN0YWNrc2l6ZS5wYXRj aAppbmRleCAxNmU0ZDIxZTZlZC4uOGJmOWEzZGZiMzQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hy b21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL2RlZmF1bHQtcHRocmVhZC1zdGFja3NpemUucGF0Y2gK KysrIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvZGVmYXVsdC1wdGhyZWFk LXN0YWNrc2l6ZS5wYXRjaApAQCAtMSwxMiArMSwxMiBAQAogLS0tIGJhc2UvdGhyZWFkaW5nL3Bs YXRmb3JtX3RocmVhZF9saW51eC5jYy5vcmlnCiArKysgYmFzZS90aHJlYWRpbmcvcGxhdGZvcm1f dGhyZWFkX2xpbnV4LmNjCi1AQCAtOTkgKzk5LDIgQEAgc2l6ZV90IEdldERlZmF1bHRUaHJlYWRT dGFja1NpemUoY29uc3QgcAorQEAgLTQ0MCArNDQwLDIgQEAgc2l6ZV90IEdldERlZmF1bHRUaHJl YWRTdGFja1NpemUoY29uc3QgcAogLSAgcmV0dXJuIDA7CiArICAvLyB1c2UgOG1iIGxpa2UgZ2xp YmMgdG8gYXZvaWQgcnVubmluZyBvdXQgb2Ygc3BhY2UKICsgIHJldHVybiAoMSA8PCAyMyk7CiAt LS0gY2hyb21lL2FwcC9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXguY2Mub3JpZwogKysr IGNocm9tZS9hcHAvc2h1dGRvd25fc2lnbmFsX2hhbmRsZXJzX3Bvc2l4LmNjCi1AQCAtMTg0LDEx ICsxODQsMTkgQEAKK0BAIC0xODcsMTEgKzE4NywxOSBAQAogICAgZ19zaHV0ZG93bl9waXBlX3Jl YWRfZmQgPSBwaXBlZmRbMF07CiAgICBnX3NodXRkb3duX3BpcGVfd3JpdGVfZmQgPSBwaXBlZmRb MV07CiAgI2lmICFkZWZpbmVkKEFERFJFU1NfU0FOSVRJWkVSKQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1maXhlcy5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtZml4ZXMucGF0Y2gKaW5kZXggYTc4MzJm ZjMyZTguLjFmMTJmZjhiMDhkIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211 c2wtcGF0Y2hlcy9tdXNsLWZpeGVzLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMv bXVzbC1wYXRjaGVzL211c2wtZml4ZXMucGF0Y2gKQEAgLTEsNiArMSw2IEBACiAtLS0gLi90aGly ZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0Lmgub3JpZwogKysrIC4vdGhpcmRfcGFy dHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCi1AQCAtMTEyNyw2ICsxMTI3LDEyIEBACitA QCAtMTI1OCw2ICsxMjU4LDEyIEBACiAgI2lmbmRlZiBfX05SX2ZhbGxvY2F0ZQogICNkZWZpbmUg X19OUl9mYWxsb2NhdGUgICAgICAgICAgMjg1CiAgI2VuZGlmCkBAIC0xNSw3ICsxNSw3IEBACiAg I2lmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIKIC0tLSAuL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0 X3JlYWRlci5oLm9yaWcKICsrKyAuL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCi1AQCAtMzcs NiArMzcsMTAgQEAKK0BAIC0zOCw2ICszOCwxMCBAQAogICNpbmNsdWRlICJjb21tb24vbWVtb3J5 LmgiCiAgI2luY2x1ZGUgImdvb2dsZV9icmVha3BhZC9jb21tb24vbWluaWR1bXBfZm9ybWF0Lmgi CiAgCkBAIC0yOCw3ICsyOCw3IEBACiAgLy8gV3JhcHMgcGxhdGZvcm0tZGVwZW5kZW50IGltcGxl bWVudGF0aW9ucyBvZiBhY2Nlc3NvcnMgdG8gdWNvbnRleHRfdCBzdHJ1Y3RzLgogLS0tIC4vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1w Lmgub3JpZwogKysrIC4vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9s aW51eC9lbGZfY29yZV9kdW1wLmgKLUBAIC0zNiw2ICszNiw3IEBACitAQCAtMzcsNiArMzcsNyBA QAogICNpbmNsdWRlIDxlbGYuaD4KICAjaW5jbHVkZSA8bGluay5oPgogICNpbmNsdWRlIDxzdGRk ZWYuaD4KQEAgLTM4LDcgKzM4LDcgQEAKICAKIC0tLSAuL3NhbmRib3gvbGludXgvc3VpZC9wcm9j ZXNzX3V0aWwuaC5vcmlnCiArKysgLi9zYW5kYm94L2xpbnV4L3N1aWQvcHJvY2Vzc191dGlsLmgK LUBAIC0xMSw2ICsxMSwxNCBAQAorQEAgLTEyLDYgKzEyLDE0IEBACiAgI2luY2x1ZGUgPHN0ZGJv b2wuaD4KICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAgCkBAIC02Niw3ICs2Niw3IEBACiAgI2lm IGRlZmluZWQoX19taXBzX18pCiAtLS0gLi90aGlyZF9wYXJ0eS9mZm1wZWcvbGliYXZ1dGlsL2Nw dS5jLm9yaWcKICsrKyAuL3RoaXJkX3BhcnR5L2ZmbXBlZy9saWJhdnV0aWwvY3B1LmMKLUBAIC0z OCw3ICszOCw2IEBACitAQCAtNDEsNyArNDEsNiBAQAogICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4K ICAjZW5kaWYKICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CkBAIC03NCwyOCArNzQsNiBAQAogICNl bmRpZgogICNpZiBIQVZFX1VOSVNURF9ICiAgI2luY2x1ZGUgPHVuaXN0ZC5oPgotZGlmZiAtLWdp dCBhL2Nocm9tZS9icm93c2VyL21ldHJpY3MvY2hyb21lX2Jyb3dzZXJfbWFpbl9leHRyYV9wYXJ0 c19tZXRyaWNzLmNjIGIvY2hyb21lL2Jyb3dzZXIvbWV0cmljcy9jaHJvbWVfYnJvd3Nlcl9tYWlu X2V4dHJhX3BhcnRzX21ldHJpY3MuY2MKLS0tLSBjaHJvbWUvYnJvd3Nlci9tZXRyaWNzL2Nocm9t ZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfbWV0cmljcy5jYwotKysrIGNocm9tZS9icm93c2Vy L21ldHJpY3MvY2hyb21lX2Jyb3dzZXJfbWFpbl9leHRyYV9wYXJ0c19tZXRyaWNzLmNjCi1AQCAt MzksNyArMzksOSBAQAotICNlbmRpZiAgLy8gZGVmaW5lZChPU19BTkRST0lEKSAmJiBkZWZpbmVk KF9fYXJtX18pCi0gCi0gI2lmIGRlZmluZWQoT1NfTElOVVgpICYmICFkZWZpbmVkKE9TX0NIUk9N RU9TKQotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjaW5jbHVkZSA8Z251L2xpYmMtdmVyc2lv bi5oPgotKyNlbmRpZgotIAotICNpbmNsdWRlICJiYXNlL2xpbnV4X3V0aWwuaCIKLSAjaW5jbHVk ZSAiYmFzZS9zdHJpbmdzL3N0cmluZ19zcGxpdC5oIgotQEAgLTI5NSw3ICsyOTcsNyBAQCB2b2lk IFJlY29yZExpbnV4RGlzdHJvKCkgewotICNlbmRpZiAgLy8gZGVmaW5lZChPU19MSU5VWCkgJiYg IWRlZmluZWQoT1NfQ0hST01FT1MpCi0gCi0gdm9pZCBSZWNvcmRMaW51eEdsaWJjVmVyc2lvbigp IHsKLS0jaWYgZGVmaW5lZChPU19MSU5VWCkgJiYgIWRlZmluZWQoT1NfQ0hST01FT1MpCi0rI2lm IGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChPU19DSFJPTUVPUykKLSAgIGJhc2U6OlZl cnNpb24gdmVyc2lvbihnbnVfZ2V0X2xpYmNfdmVyc2lvbigpKTsKLSAKLSAgIFVNQUxpbnV4R2xp YmNWZXJzaW9uIGdsaWJjX3ZlcnNpb25fcmVzdWx0ID0gVU1BX0xJTlVYX0dMSUJDX05PVF9QQVJT RUFCTEU7CiAtLS0gc2VydmljZXMvZGV2aWNlL3NlcmlhbC9zZXJpYWxfaW9faGFuZGxlcl9wb3Np eC5jYy5vcmlnCTIwMTktMDctMDMgMTA6NTc6MzIuNTY4MTcxODM1IC0wNDAwCiArKysgc2Vydmlj ZXMvZGV2aWNlL3NlcmlhbC9zZXJpYWxfaW9faGFuZGxlcl9wb3NpeC5jYwkyMDE5LTA3LTAzIDEw OjU3OjE2Ljg2Nzk4MzAzMSAtMDQwMAogQEAgLTYsNiArNiw3IEBACkBAIC0xMzEsNyArMTA5LDcg QEAgZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L290cy9pbmNsdWRlL29wZW50eXBlLXNhbml0aXNl ci5oIGIvdGhpcmRfcGFydHkvb3RzL2luY2wKICAgICAgYmFzZTo6ZGVidWc6OlN0YWNrVHJhY2Ug c3RhY2tfdHJhY2U7CiAtLS0gLi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93 dGYvc3RhY2tfdXRpbC5jYy5vcmlnCiArKysgLi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9w bGF0Zm9ybS93dGYvc3RhY2tfdXRpbC5jYwotQEAgLTI4LDcgKzI4LDcgQEAKK0BAIC0yOSw3ICsy OSw3IEBACiAgLy8gRklYTUU6IE9uIE1hYyBPU1ggYW5kIExpbnV4LCB0aGlzIG1ldGhvZCBjYW5u b3QgZXN0aW1hdGUgc3RhY2sgc2l6ZQogIC8vIGNvcnJlY3RseSBmb3IgdGhlIG1haW4gdGhyZWFk LgogIApAQCAtMTQwLDcgKzExOCw3IEBAIGRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9vdHMvaW5j bHVkZS9vcGVudHlwZS1zYW5pdGlzZXIuaCBiL3RoaXJkX3BhcnR5L290cy9pbmNsCiAgICAgIGRl ZmluZWQoT1NfRlVDSFNJQSkKICAgIC8vIHB0aHJlYWRfZ2V0YXR0cl9ucCgpIGNhbiBmYWlsIGlm IHRoZSB0aHJlYWQgaXMgbm90IGludm9rZWQgYnkKICAgIC8vIHB0aHJlYWRfY3JlYXRlKCkgKGUu Zy4sIHRoZSBtYWluIHRocmVhZCBvZiBibGlua191bml0dGVzdHMpLgotQEAgLTk2LDcgKzk2LDcg QEAKK0BAIC05Nyw3ICs5Nyw3IEBACiAgfQogIAogIHZvaWQqIEdldFN0YWNrU3RhcnQoKSB7CkBA IC0xNTEsNyArMTI5LDcgQEAgZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L290cy9pbmNsdWRlL29w ZW50eXBlLXNhbml0aXNlci5oIGIvdGhpcmRfcGFydHkvb3RzL2luY2wKICAgIGludCBlcnJvcjsK IC0tLSAuL25ldC9kbnMvZG5zX2NvbmZpZ19zZXJ2aWNlX3Bvc2l4LmNjLm9yaWcKICsrKyAuL25l dC9kbnMvZG5zX2NvbmZpZ19zZXJ2aWNlX3Bvc2l4LmNjCi1AQCAtMTIyLDcgKzEyMiw3IEBACitA QCAtMTUwLDcgKzE1MCw3IEBACiAgICBDb25maWdQYXJzZVBvc2l4UmVzdWx0IHJlc3VsdDsKICAg IGNvbmZpZy0+dW5oYW5kbGVkX29wdGlvbnMgPSBmYWxzZTsKICAvLyBUT0RPKGZ1Y2hzaWEpOiBV c2UgcmVzX25pbml0KCkgd2hlbiBpdCdzIGltcGxlbWVudGVkIG9uIEZ1Y2hzaWEuCkBAIC0xODEs NyArMTU5LDcgQEAgZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L290cy9pbmNsdWRlL29wZW50eXBl LXNhbml0aXNlci5oIGIvdGhpcmRfcGFydHkvb3RzL2luY2wKICAKIC0tLSB0aGlyZF9wYXJ0eS9u YXNtL25hc21saWIvcmVhbHBhdGguYy5vcmlnCTIwMTktMDctMDMgMTI6MjM6MDUuMDIxOTQ5ODk1 IC0wNDAwCiArKysgdGhpcmRfcGFydHkvbmFzbS9uYXNtbGliL3JlYWxwYXRoLmMJMjAxOS0wNy0w MyAxMjoyNDoyNC4yNDY4NjI2NjUgLTA0MDAKLUBAIC00OSw3ICs0OSw3IEBACitAQCAtNDcsNyAr NDcsNyBAQAogIAogICNpbmNsdWRlICJuYXNtbGliLmgiCiAgCmRpZmYgLS1naXQgYS9zcmNwa2dz L2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWhhY2tzLnBhdGNoIGIvc3JjcGtncy9j aHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1oYWNrcy5wYXRjaAppbmRleCBlZGMxYjA2 MGRmYi4uOTI3NmU0OGFiOGUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVz bC1wYXRjaGVzL211c2wtaGFja3MucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9t dXNsLXBhdGNoZXMvbXVzbC1oYWNrcy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKIC0tLSBiYXNlL2Rl YnVnL3N0YWNrX3RyYWNlLmNjLm9yaWcJMjAxOC0xMi0wOCAxNDoxMToyNS4zMDM0NzUxMTYgKzAx MDAKICsrKyBiYXNlL2RlYnVnL3N0YWNrX3RyYWNlLmNjCTIwMTgtMTItMDggMTg6MDA6NDMuODc0 OTQ2OTk5ICswMTAwCi1AQCAtMjI5LDcgKzIyOSw3IEBACitAQCAtMjI1LDcgKzIyNSw3IEBACiAg fQogIHN0ZDo6c3RyaW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nV2l0aFByZWZpeChjb25zdCBjaGFy KiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CiAgICBzdGQ6OnN0cmluZ3N0cmVhbSBzdHJlYW07CkBA IC0xMSw3ICsxMSw3IEBACiAgICByZXR1cm4gc3RyZWFtLnN0cigpOwogLS0tIG5ldC9zb2NrZXQv dWRwX3NvY2tldF9wb3NpeC5jYy5vcmlnCTIwMTktMDctMDMgMTM6MTM6NDYuMDM0MzQyNjQ5IC0w NDAwCiArKysgbmV0L3NvY2tldC91ZHBfc29ja2V0X3Bvc2l4LmNjCTIwMTktMDctMDMgMTM6MjM6 NTMuMTE3MDgxOTA5IC0wNDAwCi1AQCAtMTE5NCw3ICsxMTk0LDcgQEAKK0BAIC0xMTUzLDcgKzEx NTMsNyBAQAogICAgICBtc2dfaW92LT5wdXNoX2JhY2soe2NvbnN0X2Nhc3Q8Y2hhcio+KGJ1ZmZl ci0+ZGF0YSgpKSwgYnVmZmVyLT5sZW5ndGgoKX0pOwogICAgbXNndmVjLT5yZXNlcnZlKGJ1ZmZl cnMuc2l6ZSgpKTsKICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgYnVmZmVycy5zaXplKCk7IGor KykKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wt bGliYysrLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1s aWJjKysucGF0Y2gKaW5kZXggMDg4ZDgwZmFkNTIuLmUwNzc2ODIzNDAyIDEwMDY0NAotLS0gYS9z cmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWxpYmMrKy5wYXRjaAorKysg Yi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLWxpYmMrKy5wYXRjaApA QCAtMiw3ICsyLDcgQEAgZGlmZiAtLWdpdCBhL2J1aWxkdG9vbHMvdGhpcmRfcGFydHkvbGliYysr L3RydW5rL2luY2x1ZGUvbG9jYWxlIGIvYnVpbGR0b29scy90aGkKIGluZGV4IGQyOWEyZGMuLjUz OTk4YmMgMTAwNjQ0CiAtLS0gYnVpbGR0b29scy90aGlyZF9wYXJ0eS9saWJjKysvdHJ1bmsvaW5j bHVkZS9sb2NhbGUKICsrKyBidWlsZHRvb2xzL3RoaXJkX3BhcnR5L2xpYmMrKy90cnVuay9pbmNs dWRlL2xvY2FsZQotQEAgLTExLDYgKzExLDE1IEBACitAQCAtMTAsNiArMTAsMTUgQEAKICAjaWZu ZGVmIF9MSUJDUFBfTE9DQUxFCiAgI2RlZmluZSBfTElCQ1BQX0xPQ0FMRQogIApAQCAtMjIsNyAr MjIsNyBAQCBkaWZmIC0tZ2l0IGEvYnVpbGR0b29scy90aGlyZF9wYXJ0eS9saWJjKysvdHJ1bmsv c3JjL2xvY2FsZS5jcHAgYi9idWlsZHRvb2xzL3RoaQogaW5kZXggNDE2M2MyYy4uM2QxOTAyYSAx MDA2NDQKIC0tLSBhL2J1aWxkdG9vbHMvdGhpcmRfcGFydHkvbGliYysrL3RydW5rL3NyYy9sb2Nh bGUuY3BwCiArKysgYnVpbGR0b29scy90aGlyZF9wYXJ0eS9saWJjKysvdHJ1bmsvc3JjL2xvY2Fs ZS5jcHAKLUBAIC0xMDI4LDExICsxMDI4LDExIEBAIGN0eXBlPGNoYXI+Ojpkb19uYXJyb3coY29u c3QgY2hhcl90eXBlKiBsb3csIGNvbnN0IGNoYXJfdHlwZSogaGlnaCwgY2hhciBkZmF1bHQsCitA QCAtMTAxOSwxMSArMTAxOSwxMSBAQCBjdHlwZTxjaGFyPjo6ZG9fbmFycm93KGNvbnN0IGNoYXJf dHlwZSogbG93LCBjb25zdCBjaGFyX3R5cGUqIGhpZ2gsIGNoYXIgZGZhdWx0LAogICAgICByZXR1 cm4gbG93OwogIH0KICAKQEAgLTM2LDcgKzM2LDcgQEAgaW5kZXggNDE2M2MyYy4uM2QxOTAyYSAx MDA2NDQKICAKICAjaWZkZWYgX0xJQkNQUF9QUk9WSURFU19ERUZBVUxUX1JVTkVfVEFCTEUKICBj b25zdCBjdHlwZTxjaGFyPjo6bWFzayoKLUBAIC0xMTM2LDEyICsxMTM2LDEwIEBAIGN0eXBlPGNo YXI+OjpjbGFzc2ljX3RhYmxlKCkgIF9OT0VYQ0VQVAorQEAgLTExMjcsMTIgKzExMjcsMTAgQEAg Y3R5cGU8Y2hhcj46OmNsYXNzaWNfdGFibGUoKSAgX05PRVhDRVBUCiAgI2VsaWYgZGVmaW5lZChf QUlYKQogICAgICByZXR1cm4gKGNvbnN0IHVuc2lnbmVkIGludCAqKV9fbGNfY3R5cGVfcHRyLT5v YmotPm1hc2s7CiAgI2Vsc2UKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVz bC1wYXRjaGVzL211c2wtbm8tZ2xpYmMtdmVyc2lvbi5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v ZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtbm8tZ2xpYmMtdmVyc2lvbi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWZmZWM2MjQ2NWMKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLW5vLWdsaWJjLXZl cnNpb24ucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorLS0tIGNocm9tZS9icm93c2VyL21ldHJpY3Mv Y2hyb21lX2Jyb3dzZXJfbWFpbl9leHRyYV9wYXJ0c19tZXRyaWNzLmNjLm9yaWcJMjAyMS0wMy0w MiAxODo0NTowMy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWUvYnJvd3Nlci9tZXRyaWNzL2No cm9tZV9icm93c2VyX21haW5fZXh0cmFfcGFydHNfbWV0cmljcy5jYwkyMDIxLTAzLTAzIDE3OjM5 OjE0Ljk0NDEwMDc0NiArMDEwMAorQEAgLTU1LDcgKzU1LDkgQEAKKyAvLyBUT0RPKGNyYnVnLmNv bS8xMDUyMzk3KTogUmV2aXNpdCB0aGUgbWFjcm8gZXhwcmVzc2lvbiBvbmNlIGJ1aWxkIGZsYWcg c3dpdGNoCisgLy8gb2YgbGFjcm9zLWNocm9tZSBpcyBjb21wbGV0ZS4KKyAjaWYgZGVmaW5lZChP U19MSU5VWCkgfHwgQlVJTERGTEFHKElTX0NIUk9NRU9TX0xBQ1JPUykKKysjaWYgZGVmaW5lZChf X0dMSUJDX18pCisgI2luY2x1ZGUgPGdudS9saWJjLXZlcnNpb24uaD4KKysjZW5kaWYKKyAKKyAj aW5jbHVkZSAiYmFzZS9saW51eF91dGlsLmgiCisgI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJp bmdfc3BsaXQuaCIKK0BAIC0zMTcsNiArMzE5LDcgQEAKKyAvLyBUT0RPKGNyYnVnLmNvbS8xMDUy Mzk3KTogUmV2aXNpdCB0aGUgbWFjcm8gZXhwcmVzc2lvbiBvbmNlIGJ1aWxkIGZsYWcgc3dpdGNo CisgLy8gb2YgbGFjcm9zLWNocm9tZSBpcyBjb21wbGV0ZS4KKyAjaWYgZGVmaW5lZChPU19MSU5V WCkgfHwgQlVJTERGTEFHKElTX0NIUk9NRU9TX0xBQ1JPUykKKysjaWYgZGVmaW5lZChfX0dMSUJD X18pCisgICBiYXNlOjpWZXJzaW9uIHZlcnNpb24oZ251X2dldF9saWJjX3ZlcnNpb24oKSk7Cisg CisgICBVTUFMaW51eEdsaWJjVmVyc2lvbiBnbGliY192ZXJzaW9uX3Jlc3VsdCA9IFVNQV9MSU5V WF9HTElCQ19OT1RfUEFSU0VBQkxFOworQEAgLTMzOCw2ICszNDEsNyBAQAorICAgfQorICAgYmFz ZTo6VW1hSGlzdG9ncmFtU3BhcnNlKCJMaW51eC5HbGliY1ZlcnNpb24iLCBnbGliY192ZXJzaW9u X3Jlc3VsdCk7CisgI2VuZGlmCisrI2VuZGlmCisgfQorIAorIHZvaWQgUmVjb3JkVG91Y2hFdmVu dFN0YXRlKCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNo ZXMvbXVzbC1zYW5kYm94LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNo ZXMvbXVzbC1zYW5kYm94LnBhdGNoCmluZGV4IDIzMGJiN2JiZDI5Li4wYjk4MjUzZjRkNiAxMDA2 NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbXVzbC1zYW5kYm94 LnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtc2Fu ZGJveC5wYXRjaApAQCAtMSw2ICsxLDYgQEAKIC0tLSAuL3NhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjLm9yaWcJMjAxOS0w Ny0wMyAxMTo1MzoyMS4yMTM0Nzk3MzYgLTA0MDAKICsrKyAuL3NhbmRib3gvbGludXgvc2VjY29t cC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCTIwMTktMDct MDMgMTE6NTc6MDEuMzA0OTk4MjUzIC0wNDAwCi1AQCAtMTQwLDMxICsxNDAsMTQgQEAKK0BAIC0x MzEsMzEgKzEzMSwxNCBAQAogIFJlc3VsdEV4cHIgUmVzdHJpY3RDbG9uZVRvVGhyZWFkc0FuZEVQ RVJNRm9yaygpIHsKICAgIGNvbnN0IEFyZzx1bnNpZ25lZCBsb25nPiBmbGFncygwKTsKICAKQEAg LTQxLDcgKzQxLDcgQEAKICAKIC0tLSAuL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVy cy9zeXNjYWxsX3NldHMuY2Mub3JpZwogKysrIC4vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotQEAgLTQ5NCw2ICs0OTQsNyBAQAorQEAgLTUyMSw2ICs1 MjEsNyBAQAogICAgICBjYXNlIF9fTlJfbWxvY2s6CiAgICAgIGNhc2UgX19OUl9tdW5sb2NrOgog ICAgICBjYXNlIF9fTlJfbXVubWFwOgpAQCAtNDksNyArNDksNyBAQAogICAgICAgIHJldHVybiB0 cnVlOwogICAgICBjYXNlIF9fTlJfbWFkdmlzZToKICAgICAgY2FzZSBfX05SX21pbmNvcmU6Ci1A QCAtNTA5LDcgKzUxMCw2IEBACitAQCAtNTQwLDcgKzU0MCw2IEBACiAgICAgIGNhc2UgX19OUl9t b2RpZnlfbGR0OgogICNlbmRpZgogICAgICBjYXNlIF9fTlJfbXByb3RlY3Q6CkBAIC02MSw3ICs2 MSw3IEBAIGRpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lz Y2FsbF9zZXRzLmNjIGIvc2FuZGJveC9saW51eC9zCiBpbmRleCA4MGYwMmMwLi4yMWZiZTIxIDEw MDY0NAogLS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMu Y2MKICsrKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNj Ci1AQCAtMzczLDYgKzM3Myw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NT dGFydE9yRGVhdGgoaW50IHN5c25vKSB7CitAQCAtNDAwLDYgKzQwMCw3IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZFByb2Nlc3NTdGFydE9yRGVhdGgoaW50IHN5c25vKSB7CiAgI2lmIGRl ZmluZWQoX19pMzg2X18pCiAgICAgIGNhc2UgX19OUl93YWl0cGlkOgogICNlbmRpZgpAQCAtNjks NyArNjksNyBAQCBpbmRleCA4MGYwMmMwLi4yMWZiZTIxIDEwMDY0NAogICAgICAgIHJldHVybiB0 cnVlOwogICAgICBjYXNlIF9fTlJfY2xvbmU6ICAvLyBTaG91bGQgYmUgcGFyYW1ldGVyLXJlc3Ry aWN0ZWQuCiAgICAgIGNhc2UgX19OUl9zZXRuczogIC8vIFByaXZpbGVnZWQuCi1AQCAtMzg1LDcg KzM4Niw2IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NTdGFydE9yRGVhdGgo aW50IHN5c25vKSB7CitAQCAtNDEzLDcgKzQxMyw2IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxs b3dlZFByb2Nlc3NTdGFydE9yRGVhdGgoaW50IHN5c25vKSB7CiAgI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKICAgICAgY2Fz ZSBfX05SX3NldF90aHJlYWRfYXJlYToKICAjZW5kaWYKQEAgLTc5LDcgKzc5LDcgQEAgaW5kZXgg ODBmMDJjMC4uMjFmYmUyMSAxMDA2NDQKICAgICAgY2FzZSBfX05SX3Zmb3JrOgogLS0tIHNhbmRi b3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKICsrKyBzYW5kYm94 L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCi1AQCAtMTAwLDkgKzEw MCw5IEBACitAQCAtOTUsOSArOTUsOSBAQAogICAgICBjYXNlIF9fTlJfdW5hbWU6CiAgICAgIGNh c2UgX19OUl9zY2hlZF9nZXRwYXJhbToKICAgICAgY2FzZSBfX05SX3NjaGVkX2dldHNjaGVkdWxl cjoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL25vLW1h bGxpbmZvLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8tbWFs bGluZm8ucGF0Y2gKaW5kZXggMjU0YTFmNjMyZGEuLjE2ZTdlMzY4MTc1IDEwMDY0NAotLS0gYS9z cmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9uby1tYWxsaW5mby5wYXRjaAorKysg Yi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9uby1tYWxsaW5mby5wYXRjaApA QCAtMSw2ICsxLDYgQEAKIC0tLSBiYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVy LmNjLm9yaWcKICsrKyBiYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVyLmNjCi1A QCAtMjQzLDcgKzI0Myw3IEBACitAQCAtMTg0LDcgKzE4NCw3IEBACiAgICBhbGxvY2F0ZWRfb2Jq ZWN0c19jb3VudCA9IG1haW5faGVhcF9pbmZvLmJsb2NrX2NvdW50OwogICNlbGlmIGRlZmluZWQo T1NfRlVDSFNJQSkKICAvLyBUT0RPKGZ1Y2hzaWEpOiBQb3J0LCBzZWUgaHR0cHM6Ly9jcmJ1Zy5j b20vNzA2NTkyLgpAQCAtMzAsNyArMzAsNyBAQAogICNlbmRpZgogLS0tIHRoaXJkX3BhcnR5L3N3 aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tc3ViemVyby9saWIvU3VwcG9ydC9Vbml4L1Byb2Nl c3MuaW5jCiArKysgdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS1zdWJ6 ZXJvL2xpYi9TdXBwb3J0L1VuaXgvUHJvY2Vzcy5pbmMub3JpZwotQEAgLTg0LDcgKzg0LDcgQEAK K0BAIC04Niw3ICs4Niw3IEBACiAgfQogIAogIHNpemVfdCBQcm9jZXNzOjpHZXRNYWxsb2NVc2Fn ZSgpIHsKQEAgLTQyLDcgKzQyLDcgQEAKIAogLS0tIHRoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3Ro aXJkX3BhcnR5L2xsdm0tMTAuMC9jb25maWdzL2xpbnV4L2luY2x1ZGUvbGx2bS9Db25maWcvY29u ZmlnLmgub3JpZwkyMDE5LTA5LTMwIDEzOjAzOjQyLjU1Njg4MDUzNyAtMDQwMAogKysrIHRoaXJk X3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9jb25maWdzL2xpbnV4L2lu Y2x1ZGUvbGx2bS9Db25maWcvY29uZmlnLmgJMjAxOS0wOS0zMCAxMzowNzoyNy45ODk4MjEyMjcg LTA0MDAKLUBAIC0xMjIsNyArMTIyLDkgQEAKK0BAIC0xMjUsNyArMTI1LDkgQEAKICAvKiAjdW5k ZWYgSEFWRV9NQUxMQ1RMICovCiAgCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBt YWxsaW5mbycgZnVuY3Rpb24uICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVz L211c2wtcGF0Y2hlcy9yZXNvbHZlci5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVz bC1wYXRjaGVzL3Jlc29sdmVyLnBhdGNoCmluZGV4IDI5ZmUyZDJmMWYzLi4wY2U3N2M5NmE2MCAx MDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvcmVzb2x2ZXIu cGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvcmVzb2x2ZXIu cGF0Y2gKQEAgLTEsNiArMSw2IEBACiAtLS0gbmV0L2Rucy9ob3N0X3Jlc29sdmVyX21hbmFnZXIu Y2Mub3JpZwkyMDIwLTEwLTA5IDE2OjM5OjEyLjA2NDA2OTgzNSAtMDQwMAogKysrIG5ldC9kbnMv aG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjCTIwMjAtMTAtMDkgMTY6NDI6NDkuNzM4MzAyNzcyIC0w NDAwCi1AQCAtMjc3OSw4ICsyNzc5LDcgQEAKK0BAIC0yNTYyLDggKzI1NjIsNyBAQAogICAgTmV0 d29ya0NoYW5nZU5vdGlmaWVyOjpBZGRDb25uZWN0aW9uVHlwZU9ic2VydmVyKHRoaXMpOwogICAg aWYgKHN5c3RlbV9kbnNfY29uZmlnX25vdGlmaWVyXykKICAgICAgc3lzdGVtX2Ruc19jb25maWdf bm90aWZpZXJfLT5BZGRPYnNlcnZlcih0aGlzKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9icm93c2VyLXNpemVfdC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9icm93c2VyLXNpemVfdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmEy MTRkOTg3ZDYuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9icm93 c2VyLXNpemVfdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwICswLDAgQEAKLS0tLSBjaHJv bWUvYnJvd3Nlci9zZWFyY2gvYmFja2dyb3VuZC9udHBfYmFja2dyb3VuZHMuaAkyMDIwLTA4LTEw IDIwOjM5OjIwLjAwMDAwMDAwMCArMDIwMAotKysrIGNocm9tZS9icm93c2VyL3NlYXJjaC9iYWNr Z3JvdW5kL250cF9iYWNrZ3JvdW5kcy5oCTIwMjAtMDktMDQgMTM6NDg6MjIuNjQwMDIzMjU2ICsw MjAwCi1AQCAtNiw2ICs2LDcgQEAKLSAjZGVmaW5lIENIUk9NRV9CUk9XU0VSX1NFQVJDSF9CQUNL R1JPVU5EX05UUF9CQUNLR1JPVU5EU19IXwotIAotICNpbmNsdWRlIDxhcnJheT4KLSsjaW5jbHVk ZSA8Y3N0ZGRlZj4KLSAKLSBjbGFzcyBHVVJMOwotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LUFYVHJlZUZvcm1hdHRlci1pbmNsdWRlLnBhdGNoIGIv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LUFYVHJlZUZvcm1hdHRlci1pbmNs dWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NDc4MTA5ODkyMC4uMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LUFYVHJl ZUZvcm1hdHRlci1pbmNsdWRlLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAot RnJvbSA2ZTQwMmQ5N2MyZGVjNTcyNmYzN2U5NWY5N2I3ZjdlMTJiMWQzYjFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogSm9zZSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+ Ci1EYXRlOiBXZWQsIDExIE5vdiAyMDIwIDExOjAyOjEzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hd IElXWVU6IGluY2x1ZGUgaGVhZGVycyBmb3Igc3RkOjp2ZWN0b3IgYW5kIHN0ZDo6dW5pcXVlX3B0 ciBpbiBBWFRyZWVGb3JtYXR0ZXIKLQotRml4IHRoZXNlIGJ1aWxkIGVycm9ycyB3aXRoIGxpYnN0 ZGMrKzoKLS4uLy4uL3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vaW5zcGVjdC90cmVlX2Zvcm1h dHRlci5oOjM1OjEyOiBlcnJvcjog4oCYc3RkOjp2ZWN0b3LigJkgaGFzIG5vdCBiZWVuIGRlY2xh cmVkCi0uLi8uLi91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2luc3BlY3QvdHJlZV9mb3JtYXR0 ZXIuaDo2MToxNjogZXJyb3I6IOKAmHVuaXF1ZV9wdHLigJkgaW4gbmFtZXNwYWNlIOKAmHN0ZOKA mSBkb2VzIG5vdCBuYW1lIGEgdGVtcGxhdGUgdHlwZQotCi1CdWc6IDk1NzUxOQotQ2hhbmdlLUlk OiBJNDAyYWMwNjQ0MjU1YjNjZDQ5MzJmZjJmZTcyZDk5OWIxMjVhNzg5NQotLS0tCi0KLWRpZmYg LS1naXQgYS91aS9hY2Nlc3NpYmlsaXR5L3BsYXRmb3JtL2luc3BlY3QvdHJlZV9mb3JtYXR0ZXIu aCBiL3VpL2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vaW5zcGVjdC90cmVlX2Zvcm1hdHRlci5oCi1p bmRleCA0YTcwYTRkLi5iYjIzNzY4IDEwMDY0NAotLS0tIHVpL2FjY2Vzc2liaWxpdHkvcGxhdGZv cm0vaW5zcGVjdC90cmVlX2Zvcm1hdHRlci5oCi0rKysgdWkvYWNjZXNzaWJpbGl0eS9wbGF0Zm9y bS9pbnNwZWN0L3RyZWVfZm9ybWF0dGVyLmgKLUBAIC01LDYgKzUsOSBAQAotICNpZm5kZWYgVUlf QUNDRVNTSUJJTElUWV9QTEFURk9STV9JTlNQRUNUX1RSRUVfRk9STUFUVEVSX0hfCi0gI2RlZmlu ZSBVSV9BQ0NFU1NJQklMSVRZX1BMQVRGT1JNX0lOU1BFQ1RfVFJFRV9GT1JNQVRURVJfSF8KLSAK LSsjaW5jbHVkZSA8bWVtb3J5PgotKyNpbmNsdWRlIDx2ZWN0b3I+Ci0rCi0gI2luY2x1ZGUgInVp L2FjY2Vzc2liaWxpdHkvcGxhdGZvcm0vaW5zcGVjdC9pbnNwZWN0LmgiCi0gCi0gI2luY2x1ZGUg InVpL2dmeC9uYXRpdmVfd2lkZ2V0X3R5cGVzLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tODgtQm9va21hcmtNb2RlbE9ic2VydmVyLWluY2x1ZGUucGF0 Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtQm9va21hcmtNb2RlbE9i c2VydmVyLWluY2x1ZGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBiMjZh NjBhMzZlLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21p dW0tODgtQm9va21hcmtNb2RlbE9ic2VydmVyLWluY2x1ZGUucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSwyMSArMCwwIEBACi1Gcm9tIDEyN2VjM2IxYmYyNmFiMzdmMmFlODMzM2YyODQwMDg4Njg3 NTYyNzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxz dGhhMDlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBTYXQsIDIxIE5vdiAyMDIwIDE1OjU5OjIzICsw MDAwCi1TdWJqZWN0OiBbUEFUQ0hdIElXWVU6IHNpemVfdCBpcyBkZWZpbmVkIHN0ZGRlZi5oCi0K LUNoYW5nZS1JZDogSTQ0MDBhYzdjNjAwNGI0OWVjNmU3MmM0NGYyNzU0ZTIxNjY2NDJmODgKLS0t LQotCi1kaWZmIC0tZ2l0IGEvY29tcG9uZW50cy9ib29rbWFya3MvYnJvd3Nlci9ib29rbWFya19t b2RlbF9vYnNlcnZlci5oIGIvY29tcG9uZW50cy9ib29rbWFya3MvYnJvd3Nlci9ib29rbWFya19t b2RlbF9vYnNlcnZlci5oCi1pbmRleCA2OWM0MGU3Li4wZTVlYjk2IDEwMDY0NAotLS0tIGNvbXBv bmVudHMvYm9va21hcmtzL2Jyb3dzZXIvYm9va21hcmtfbW9kZWxfb2JzZXJ2ZXIuaAotKysrIGNv bXBvbmVudHMvYm9va21hcmtzL2Jyb3dzZXIvYm9va21hcmtfbW9kZWxfb2JzZXJ2ZXIuaAotQEAg LTcsNiArNyw4IEBACi0gCi0gI2luY2x1ZGUgPHNldD4KLSAKLSsjaW5jbHVkZSA8c3RkZGVmLmg+ Ci0rCi0gY2xhc3MgR1VSTDsKLSAKLSBuYW1lc3BhY2UgYm9va21hcmtzIHsKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1Db21wb3NpdG9yRnJhbWVSZXBv cnRlci1kY2hlY2sucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgt Q29tcG9zaXRvckZyYW1lUmVwb3J0ZXItZGNoZWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBhYTFjNTJlMGI3ZS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTg4LUNvbXBvc2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVjay5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLUZyb20gNTZjNjU0YTkxNjAwZTNiZjI1 NGFhOWY2NmMxMTUxYjA4NTBiNmVlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEpv c2UgRGFwZW5hIFBheiA8amRhcGVuYUBpZ2FsaWEuY29tPgotRGF0ZTogV2VkLCAxMSBOb3YgMjAy MCAxMDoyNDo0NyArMDEwMAotU3ViamVjdDogW1BBVENIXSBHQ0M6IGRvIG5vdCBwYXNzIHVuaXF1 ZV9wdHIgdG8gRENIRUNLX05FLCBidXQgdGhlIGFjdHVhbCBwb2ludGVyLCBpbiBDb21wb3NpdG9y RnJhbWVSZXBvcnRlcgotCi1EQ0hFQ0tfTkUgY29tcGFyaXNvbiByZXF1aXJlcyBDaGVja09wVmFs dWVTdHIgdG8gYmUgZGVmaW5lZCBmb3IgdGhlCi10eXBlLCBvciBwcm92aWRpbmcgYW4gb3V0cHV0 IHN0cmVhbSBvcGVyYXRvci4gQSB1bmlxdWVfcHRyIGRvZXMgbm90Ci1wcm92aWRlIGFueS4KLQot Q29tcGlsYXRpb24gaW4gR0NDIGlzIGZhaWxpbmcgaW4gQ29tcG9zaXRvckZyYW1lUmVwb3J0ZXIg YmVjYXVzZSBvZgotdGhpczoKLS4uLy4uL2NjL21ldHJpY3MvY29tcG9zaXRvcl9mcmFtZV9yZXBv cnRlci5jYzogSW4gbWVtYmVyIGZ1bmN0aW9uIOKAmHZvaWQgY2M6OkNvbXBvc2l0b3JGcmFtZVJl cG9ydGVyOjpSZXBvcnRFdmVudExhdGVuY3lIaXN0b2dyYW1zKCkgY29uc3TigJk6Ci0uLi8uLi9i YXNlL2NoZWNrX29wLmg6MjI0OjU5OiBlcnJvcjogbm8gbWF0Y2hpbmcgZnVuY3Rpb24gZm9yIGNh bGwgdG8g4oCYQ2hlY2tPcFZhbHVlU3RyKGNvbnN0IHN0ZDo6dW5pcXVlX3B0cjxjYzo6RXZlbnRN ZXRyaWNzPiYp4oCZCi0KLUZpeGVkIGNvbXBhcmluZyB0aGUgcmVzdWx0IG9mIGdldCgpIG1ldGhv ZCBmb3IgdW5pcXVlX3B0ciBpbnN0ZWFkIG9mCi10aGUgdW5pcXVlX3B0ci4KLQotQnVnOiA4MTky OTQKLUNoYW5nZS1JZDogSTExMTAzZDE4NjdjNzE5NmMxZGU5MmU3MmY5ZjEyZGNmZDMxYzI5ZjEK LQotKHVwZGF0ZWQgdG8gdXNlIERDSEVDSyBhcyBzdWdnZXN0ZWQgaW4gY29tbWVudHMpCi0tLS0K LQotZGlmZiAtLWdpdCBhL2NjL21ldHJpY3MvY29tcG9zaXRvcl9mcmFtZV9yZXBvcnRlci5jYyBi L2NjL21ldHJpY3MvY29tcG9zaXRvcl9mcmFtZV9yZXBvcnRlci5jYwotaW5kZXggNzI1YmViMC4u ZmFmZDBmMyAxMDA2NDQKLS0tLSBjYy9tZXRyaWNzL2NvbXBvc2l0b3JfZnJhbWVfcmVwb3J0ZXIu Y2MKLSsrKyBjYy9tZXRyaWNzL2NvbXBvc2l0b3JfZnJhbWVfcmVwb3J0ZXIuY2MKLUBAIC02ODYs NyArNjg2LDcgQEAKLSAKLSB2b2lkIENvbXBvc2l0b3JGcmFtZVJlcG9ydGVyOjpSZXBvcnRFdmVu dExhdGVuY3lIaXN0b2dyYW1zKCkgY29uc3QgewotICAgZm9yIChjb25zdCBhdXRvJiBldmVudF9t ZXRyaWNzIDogZXZlbnRzX21ldHJpY3NfKSB7Ci0tICAgIERDSEVDS19ORShldmVudF9tZXRyaWNz LCBudWxscHRyKTsKLSsgICAgRENIRUNLKGV2ZW50X21ldHJpY3MpOwotICAgICBjb25zdCBzdGQ6 OnN0cmluZyBoaXN0b2dyYW1fYmFzZV9uYW1lID0KLSAgICAgICAgIEdldEV2ZW50TGF0ZW5jeUhp c3RvZ3JhbUJhc2VOYW1lKCpldmVudF9tZXRyaWNzKTsKLSAgICAgY29uc3QgaW50IGV2ZW50X3R5 cGVfaW5kZXggPSBzdGF0aWNfY2FzdDxpbnQ+KGV2ZW50X21ldHJpY3MtPnR5cGUoKSk7CmRpZmYg LS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtU3RyaW5nUG9vbC1p bmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LVN0cmlu Z1Bvb2wtaW5jbHVkZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTU1YmJh ZTJlY2UuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS04OC1TdHJpbmdQb29sLWluY2x1ZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMCArMCww IEBACi1Gcm9tIDM3MjM2NmI0MTgwNTMzZjI3ZDMyNTBhNTA4MTA4MjgzNzBkNjk3YjAgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xl bWFpbC5jb20+Ci1EYXRlOiBTYXQsIDIxIE5vdiAyMDIwIDE2OjEyOjE4ICswMDAwCi1TdWJqZWN0 OiBbUEFUQ0hdIElXWVU6IGluY2x1ZGUgbGltaXRzIGZvciBzdGQ6Om51bWVyaWNfbGltaXRzCi0K LUNoYW5nZS1JZDogSWE1MjI2ZTE0MzJhNjIyZjRmNGFiYzhmMWIxOGJjYWI4NjM4YTczYzYKLS0t LQotCi1kaWZmIC0tZ2l0IGEvc3JjL3RyYWNlX3Byb2Nlc3Nvci9jb250YWluZXJzL3N0cmluZ19w b29sLmggYi9zcmMvdHJhY2VfcHJvY2Vzc29yL2NvbnRhaW5lcnMvc3RyaW5nX3Bvb2wuaAotaW5k ZXggMTFhZTkxYy4uNThjNmRiMiAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0eS9wZXJmZXR0by9zcmMv dHJhY2VfcHJvY2Vzc29yL2NvbnRhaW5lcnMvc3RyaW5nX3Bvb2wuaAotKysrIHRoaXJkX3BhcnR5 L3BlcmZldHRvL3NyYy90cmFjZV9wcm9jZXNzb3IvY29udGFpbmVycy9zdHJpbmdfcG9vbC5oCi1A QCAtMjIsNiArMjIsNyBAQAotIAotICNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgotICNpbmNsdWRl IDx2ZWN0b3I+Ci0rI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSAjaW5jbHVkZSAicGVyZmV0dG8vZXh0 L2Jhc2Uvb3B0aW9uYWwuaCIKLSAjaW5jbHVkZSAicGVyZmV0dG8vZXh0L2Jhc2UvcGFnZWRfbWVt b3J5LmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgt ZmVkZXJhdGVkX2xlYXJuaW5nLWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tODgtZmVkZXJhdGVkX2xlYXJuaW5nLWluY2x1ZGUucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNlYjE1MzdkODAxLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZmVkZXJhdGVkX2xlYXJuaW5nLWluY2x1 ZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMSArMCwwIEBACi1Gcm9tIGJjYjIwYmFiZWU2 MDJiNTVmZTRiZDAyNmUxM2E0MWQxMGI4OTYzMmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRlOiBTYXQs IDIxIE5vdiAyMDIwIDE1OjU1OjAyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIElXWVU6IGluY2x1 ZGUgbGltaXRzIGZvciBzdGQ6Om51bWVyaWNfbGltaXRzCi0KLUNoYW5nZS1JZDogSTFiNmIwN2Vi YjM5N2EyOWM4NGQzZWQ1MWFlNDE1MjNlM2VjYWI0OTcKLS0tLQotCi1kaWZmIC0tZ2l0IGEvY29t cG9uZW50cy9mZWRlcmF0ZWRfbGVhcm5pbmcvZmxvY19jb25zdGFudHMuY2MgYi9jb21wb25lbnRz L2ZlZGVyYXRlZF9sZWFybmluZy9mbG9jX2NvbnN0YW50cy5jYwotaW5kZXggZGY2NmU1ZC4uMmVi NTBmMSAxMDA2NDQKLS0tLSBjb21wb25lbnRzL2ZlZGVyYXRlZF9sZWFybmluZy9mbG9jX2NvbnN0 YW50cy5jYwotKysrIGNvbXBvbmVudHMvZmVkZXJhdGVkX2xlYXJuaW5nL2Zsb2NfY29uc3RhbnRz LmNjCi1AQCAtNCw2ICs0LDggQEAKLSAKLSAjaW5jbHVkZSAiY29tcG9uZW50cy9mZWRlcmF0ZWRf bGVhcm5pbmcvZmxvY19jb25zdGFudHMuaCIKLSAKLSsjaW5jbHVkZSA8bGltaXRzPgotKwotIG5h bWVzcGFjZSBmZWRlcmF0ZWRfbGVhcm5pbmcgewotIAotIC8vIFRoaXMgaXMgb25seSBmb3IgZXhw ZXJpbWVudGF0aW9uIGFuZCB3b24ndCBiZSBzZXJ2ZWQgdG8gd2Vic2l0ZXMuCmRpZmYgLS1naXQg YS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtZ2xpYmMtMi4zMy5wYXRjaCBi L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1nbGliYy0yLjMzLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2NDMwNmQ1ZTQyOS4uMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWdsaWJjLTIuMzMucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwxNDQgKzAsMCBAQAotIyBQYXRjaCBtYWRlIGJ5IEtldmluIEtv ZmxlciA8S2V2aW5AdGlnY2MudGljYWxjLm9yZz4KLSMgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQu Y29tL3Nob3dfYnVnLmNnaT9pZD0xOTA0NjUyCi0KLWRpZmYgLXVwIGNocm9taXVtLTg4LjAuNDMy NC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNj LmZzdGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCi0tLS0gc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYy5mc3RhdGZpeAkyMDIxLTAxLTI1IDEwOjExOjQ1 LjQyNzQzNjM5OCAtMDUwMAotKysrIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9i YXNlbGluZV9wb2xpY3kuY2MJMjAyMS0wMS0yNSAxMDoxMjo1MS4zMzc2OTkwMDMgLTA1MDAKLUBA IC0yNTcsNiArMjU3LDE4IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNf ZGUKLSAgICAgcmV0dXJuIFJlc3RyaWN0S2lsbFRhcmdldChjdXJyZW50X3BpZCwgc3lzbm8pOwot ICAgfQotIAotKyNpZiBkZWZpbmVkKF9fTlJfbmV3ZnN0YXRhdCkKLSsgIGlmIChzeXNubyA9PSBf X05SX25ld2ZzdGF0YXQpIHsKLSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lTKCk7Ci0r ICB9Ci0rI2VuZGlmCi0rCi0rI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCi0rICBpZiAoc3lz bm8gPT0gX19OUl9mc3RhdGF0NjQpIHsKLSsgICAgcmV0dXJuIFJld3JpdGVGc3RhdGF0U0lHU1lT KCk7Ci0rICB9Ci0rI2VuZGlmCi0rCi0gICBpZiAoU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShz eXNubykgfHwKLSAgICAgICBTeXNjYWxsU2V0czo6SXNDdXJyZW50RGlyZWN0b3J5KHN5c25vKSkg ewotICAgICByZXR1cm4gRXJyb3IoZnNfZGVuaWVkX2Vycm5vKTsKLWRpZmYgLXVwIGNocm9taXVt LTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hh bmRsZXJzLmNjLmZzdGF0Zml4IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmNjCi0tLS0gc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYy5mc3RhdGZpeAkyMDIxLTAxLTI1 IDEwOjEzOjEwLjE3OTc3NDA4MSAtMDUwMAotKysrIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9zaWdzeXNfaGFuZGxlcnMuY2MJMjAyMS0wMS0yNSAxMDoxNjoxOC43OTA1MjU3NDYg LTA1MDAKLUBAIC02LDYgKzYsOCBAQAotIAotICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRsZXJzLmgiCi0gCi0rI2luY2x1ZGUgPGVycm5vLmg+ Ci0rI2luY2x1ZGUgPGZjbnRsLmg+Ci0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotICNpbmNsdWRlIDxz dGRpbnQuaD4KLSAjaW5jbHVkZSA8c3RyaW5nLmg+Ci1AQCAtMzU1LDYgKzM1NywzNSBAQCBpbnRw dHJfdCBTSUdTWVNTY2hlZEhhbmRsZXIoY29uc3Qgc3RydWN0Ci0gICByZXR1cm4gLUVOT1NZUzsK LSB9Ci0gCi0raW50cHRyX3QgU0lHU1lTRnN0YXRhdEhhbmRsZXIoY29uc3Qgc3RydWN0IGFyY2hf c2VjY29tcF9kYXRhJiBhcmdzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQq IGF1eCkgewotKyAgc3dpdGNoIChhcmdzLm5yKSB7Ci0rI2lmIGRlZmluZWQoX19OUl9uZXdmc3Rh dGF0KQotKyAgICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDoKLSsjZW5kaWYKLSsjaWYgZGVmaW5lZChf X05SX2ZzdGF0YXQ2NCkKLSsgICAgY2FzZSBfX05SX2ZzdGF0YXQ2NDoKLSsjZW5kaWYKLSsjaWYg ZGVmaW5lZChfX05SX25ld2ZzdGF0YXQpIHx8IGRlZmluZWQoX19OUl9mc3RhdGF0NjQpCi0rICAg ICAgaWYgKCpyZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIgKj4oYXJncy5hcmdzWzFdKSA9PSAn XDAnCi0rICAgICAgICAgICYmIGFyZ3MuYXJnc1szXSA9PSBzdGF0aWNfY2FzdDx1aW50NjRfdD4o QVRfRU1QVFlfUEFUSCkpIHsKLSsgICAgICAgIHJldHVybiBzYW5kYm94OjpzeXNfZnN0YXQ2NChz dGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSksCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxzdHJ1Y3Qgc3RhdDY0ICo+KGFyZ3MuYXJnc1sy XSkpOwotKyAgICAgIH0gZWxzZSB7Ci0rICAgICAgICBlcnJubyA9IEVBQ0NFUzsKLSsgICAgICAg IHJldHVybiAtMTsKLSsgICAgICB9Ci0rICAgICAgYnJlYWs7Ci0rI2VuZGlmCi0rICB9Ci0rCi0r ICBDcmFzaFNJR1NZU19IYW5kbGVyKGFyZ3MsIGF1eCk7Ci0rCi0rICAvLyBTaG91bGQgbmV2ZXIg YmUgcmVhY2hlZC4KLSsgIFJBV19DSEVDSyhmYWxzZSk7Ci0rICByZXR1cm4gLUVOT1NZUzsKLSt9 Ci0rCi0gYnBmX2RzbDo6UmVzdWx0RXhwciBDcmFzaFNJR1NZUygpIHsKLSAgIHJldHVybiBicGZf ZHNsOjpUcmFwKENyYXNoU0lHU1lTX0hhbmRsZXIsIE5VTEwpOwotIH0KLUBAIC0zODcsNiArNDE4 LDEwIEBAIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmV3cml0ZVNjaGVkU0lHU1lTKCkKLSAgIHJldHVy biBicGZfZHNsOjpUcmFwKFNJR1NZU1NjaGVkSGFuZGxlciwgTlVMTCk7Ci0gfQotIAotK2JwZl9k c2w6OlJlc3VsdEV4cHIgUmV3cml0ZUZzdGF0YXRTSUdTWVMoKSB7Ci0rICByZXR1cm4gYnBmX2Rz bDo6VHJhcChTSUdTWVNGc3RhdGF0SGFuZGxlciwgTlVMTCk7Ci0rfQotKwotIHZvaWQgQWxsb2Nh dGVDcmFzaEtleXMoKSB7Ci0gI2lmICFkZWZpbmVkKE9TX05BQ0xfTk9OU0ZJKQotICAgaWYgKHNl Y2NvbXBfY3Jhc2hfa2V5KQotZGlmZiAtdXAgY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuaC5mc3RhdGZpeCBjaHJv bWl1bS04OC4wLjQzMjQuOTYvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5 c19oYW5kbGVycy5oCi0tLS0gc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5 c19oYW5kbGVycy5oLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTY6MzYuOTgyNTk4MjM2IC0wNTAw Ci0rKysgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5o CTIwMjEtMDEtMjUgMTA6MTg6NDUuNzA1MTExMDI3IC0wNTAwCi1AQCAtNjIsNiArNjIsMTAgQEAg U0FOREJPWF9FWFBPUlQgaW50cHRyX3QgU0lHU1lTUHRyYWNlRmFpbAotIC8vIHNjaGVkX3NldHBh cmFtKCksIHNjaGVkX3NldHNjaGVkdWxlcigpCi0gU0FOREJPWF9FWFBPUlQgaW50cHRyX3QgU0lH U1lTU2NoZWRIYW5kbGVyKGNvbnN0IGFyY2hfc2VjY29tcF9kYXRhJiBhcmdzLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkKiBhdXgpOwotKy8vIElmIHRo ZSBmc3RhdGF0IHN5c2NhbGwgaXMgYWN0dWFsbHkgYSBkaXNndWlzZWQgZnN0YXQsIGNhbGxzIHRo ZSByZWd1bGFyIGZzdGF0Ci0rLy8gc3lzY2FsbCwgb3RoZXJ3aXNlLCBjcmFzaGVzIGluIHRoZSBz YW1lIHdheSBhcyBDcmFzaFNJR1NZU19IYW5kbGVyLgotK1NBTkRCT1hfRVhQT1JUIGludHB0cl90 IFNJR1NZU0ZzdGF0YXRIYW5kbGVyKGNvbnN0IHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSYgYXJn cywgCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCog YXV4KTsKLSAKLSAvLyBWYXJpYW50cyBvZiB0aGUgYWJvdmUgZnVuY3Rpb25zIGZvciB1c2Ugd2l0 aCBicGZfZHNsLgotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgQ3Jhc2hTSUdT WVMoKTsKLUBAIC03Miw2ICs3Niw3IEBAIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4 cHIgQ3Jhc2gKLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIENyYXNoU0lHU1lT RnV0ZXgoKTsKLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIENyYXNoU0lHU1lT UHRyYWNlKCk7Ci0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXdyaXRlU2No ZWRTSUdTWVMoKTsKLStTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJld3JpdGVG c3RhdGF0U0lHU1lTKCk7Ci0gCi0gLy8gQWxsb2NhdGVzIGEgY3Jhc2gga2V5IHNvIHRoYXQgU2Vj Y29tcCBpbmZvcm1hdGlvbiBjYW4gYmUgcmVjb3JkZWQuCi0gdm9pZCBBbGxvY2F0ZUNyYXNoS2V5 cygpOwotZGlmZiAtdXAgY2hyb21pdW0tODguMC40MzI0Ljk2L3NhbmRib3gvbGludXgvc2Vydmlj ZXMvc3lzY2FsbF93cmFwcGVycy5jYy5mc3RhdGZpeCBjaHJvbWl1bS04OC4wLjQzMjQuOTYvc2Fu ZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCi0tLS0gc2FuZGJveC9saW51 eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjLmZzdGF0Zml4CTIwMjEtMDEtMjUgMTA6MTg6 NTMuMzA3MTQxMzExIC0wNTAwCi0rKysgc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dy YXBwZXJzLmNjCTIwMjEtMDEtMjUgMTA6MTk6NDYuOTgyMzU1MjkzIC0wNTAwCi1AQCAtMjYxLDQg KzI2MSwxMyBAQCBpbnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnbnVtLAotIAotICNlbmRpZiAgLy8g ZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKQotIAotK1NBTkRCT1hfRVhQT1JUIGludCBzeXNfZnN0 YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1ZikKLSt7Ci0rI2lmIGRlZmluZWQoX19OUl9m c3RhdDY0KQotKyAgICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0NjQsIGZkLCBidWYpOwotKyNl bHNlCi0rICAgIHJldHVybiBzeXNjYWxsKF9fTlJfZnN0YXQsIGZkLCBidWYpOwotKyNlbmRpZgot K30KLSsKLSB9ICAvLyBuYW1lc3BhY2Ugc2FuZGJveAotZGlmZiAtdXAgY2hyb21pdW0tODguMC40 MzI0Ljk2L3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oLmZzdGF0Zml4 IGNocm9taXVtLTg4LjAuNDMyNC45Ni9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL3N5c2NhbGxfd3Jh cHBlcnMuaAotLS0tIHNhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5oLmZz dGF0Zml4CTIwMjEtMDEtMjUgMTA6MTk6NTMuMTE1Mzc5NzQxIC0wNTAwCi0rKysgc2FuZGJveC9s aW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmgJMjAyMS0wMS0yNSAxMDoyMDo0NS40ODU1 ODg0MjEgLTA1MDAKLUBAIC0xNyw2ICsxNyw3IEBAIHN0cnVjdCBzb2NrX2Zwcm9nOwotIHN0cnVj dCBybGltaXQ2NDsKLSBzdHJ1Y3QgY2FwX2hkcjsKLSBzdHJ1Y3QgY2FwX2RhdGE7Ci0rc3RydWN0 IHN0YXQ2NDsKLSAKLSBuYW1lc3BhY2Ugc2FuZGJveCB7Ci0gCi1AQCAtODQsNiArODUsOSBAQCBT QU5EQk9YX0VYUE9SVCBpbnQgc3lzX3NpZ2FjdGlvbihpbnQgc2lnCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNpZ2FjdGlvbiogYWN0LAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzaWdhY3Rpb24qIG9sZGFjdCk7Ci0gCi0r Ly8gUmVjZW50IGdsaWJjIHJld3JpdGVzIGZzdGF0IHRvIGZzdGF0YXQuCi0rU0FOREJPWF9FWFBP UlQgaW50IHN5c19mc3RhdDY0KGludCBmZCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsKLSsKLSB9ICAv LyBuYW1lc3BhY2Ugc2FuZGJveAotIAotICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TRVJWSUNF U19TWVNDQUxMX1dSQVBQRVJTX0hfCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tODgtaWRlb2dyYXBoaWNTcGFjZUNoYXJhY3Rlci5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1pZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOGExMTQyM2IyZC4uMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWlkZW9ncmFwaGlj U3BhY2VDaGFyYWN0ZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9t IDc1ZmY4ODJiYjVmMmZjZDE0NDMxZTY1ZmE2MzhhZTcyYmRiNDcwODYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+ Ci1EYXRlOiBTdW4sIDE1IE5vdiAyMDIwIDE0OjMxOjIzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hd IGZpeCBpZGVvZ3JhcGhpY1NwYWNlQ2hhcmFjdGVyIGNvbnN0YW50IGZvciBzeXN0ZW0gaWN1Ci0K LWh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMv Ky8xNjg3NDExCi1yZW5hbWVkIGlkZW9ncmFwaGljU3BhY2VDaGFyYWN0ZXIgdG8ga0lkZW9ncmFw aGljU3BhY2VDaGFyYWN0ZXIuCi0tLS0KLSB0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS93dGYvdGV4dC90ZXh0X2NvZGVjX2ljdS5jYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwg MSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi90ZXh0L3RleHRfY29kZWNfaWN1LmNjIGIvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3RleHQvdGV4dF9jb2RlY19pY3Uu Y2MKLWluZGV4IGZiOGFiMDUuLjVkNGVhMTMgMTAwNjQ0Ci0tLS0gdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vd3RmL3RleHQvdGV4dF9jb2RlY19pY3UuY2MKLSsrKyB0aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvdGV4dC90ZXh0X2NvZGVjX2ljdS5jYwot QEAgLTQzMiw3ICs0MzIsNyBAQCBTdHJpbmcgVGV4dENvZGVjSUNVOjpEZWNvZGUoY29uc3QgY2hh ciogYnl0ZXMsCi0gICAvLyBJQ1UgZGVjb2RlcyBpdCBhcyBVK0U1RTUuCi0gICBpZiAoIXN0cmNt cChlbmNvZGluZ18uR2V0TmFtZSgpLCAiR0JLIikpIHsKLSAgICAgaWYgKEVxdWFsSWdub3JpbmdB U0NJSUNhc2UoZW5jb2RpbmdfLkdldE5hbWUoKSwgImdiMTgwMzAiKSkKLS0gICAgICByZXN1bHRT dHJpbmcuUmVwbGFjZSgweEU1RTUsIGlkZW9ncmFwaGljU3BhY2VDaGFyYWN0ZXIpOwotKyAgICAg IHJlc3VsdFN0cmluZy5SZXBsYWNlKDB4RTVFNSwga0lkZW9ncmFwaGljU3BhY2VDaGFyYWN0ZXIp OwotICAgICAvLyBNYWtlIEdCSyBjb21wbGlhbnQgdG8gdGhlIGVuY29kaW5nIHNwZWMgYW5kIGFs aWduIHdpdGggR0IxODAzMAotICAgICByZXN1bHRTdHJpbmcuUmVwbGFjZSgweDAxRjksIDB4RTdD OCk7Ci0gICAgIC8vIEZJWE1FOiBPbmNlIGh0dHBzOi8vd3d3LnczLm9yZy9CdWdzL1B1YmxpYy9z aG93X2J1Zy5jZ2k/aWQ9Mjg3NDAjYzMKLS0tIAotMi4yNi4yCi0KZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC1pdHlwLWluY2x1ZGUucGF0Y2ggYi9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtaXR5cC1pbmNsdWRlLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTRiNmZmZmQ1NC4uMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg4LWl0eXAtaW5jbHVkZS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb20gYmMzODNhNWRkN2ZhOGYyYjUzNWYy ODgxNWZkNjkzMmZiYzBkMmE0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0ZXBo YW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLURhdGU6IFdlZCwgMjggT2N0IDIw MjAgMTY6MDA6MzUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gSVdZVTogaW5jbHVkZSBzdGRkZWYu aCBmb3Igc2l6ZV90Ci0KLS0tLQotIHRoaXJkX3BhcnR5L2Rhd24vc3JjL2NvbW1vbi9pdHlwX2Fy cmF5LmggfCAyICsrCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvZGF3bi9zcmMvY29tbW9uL2l0eXBfYXJyYXkuaCBiL3RoaXJkX3Bh cnR5L2Rhd24vc3JjL2NvbW1vbi9pdHlwX2FycmF5LmgKLWluZGV4IDQ4ZTA4MGYuLmM3ODQxOTgg MTAwNjQ0Ci0tLS0gdGhpcmRfcGFydHkvZGF3bi9zcmMvY29tbW9uL2l0eXBfYXJyYXkuaAotKysr IHRoaXJkX3BhcnR5L2Rhd24vc3JjL2NvbW1vbi9pdHlwX2FycmF5LmgKLUBAIC0yMSw2ICsyMSw4 IEBACi0gI2luY2x1ZGUgPGFycmF5PgotICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KLSAKLSsjaW5j bHVkZSA8c3RkZGVmLmg+Ci0rCi0gbmFtZXNwYWNlIGl0eXAgewotIAotICAgICAvLyBpdHlwOjph cnJheSBpcyBhIGhlbHBlciBjbGFzcyB0aGF0IHdyYXBzIHN0ZDo6YXJyYXkgd2l0aCB0aGUgcmVz dHJpY3Rpb24gdGhhdAotLS0gCi0yLjI2LjIKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTg4LXZhYXBpLWF0dHJpYnV0ZS5wYXRjaCBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OC12YWFwaS1hdHRyaWJ1dGUucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU0MTYxYWY0NWM3Li4wMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tODgtdmFhcGktYXR0cmlidXRlLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJvbSA0ZjQ2MDQ4NzdmM2I2NjZhYzdhMzcz YWU0NDNlM2MzNzk1NDI0NTY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3RlcGhh biBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgotRGF0ZTogRnJpLCA2IE5vdiAyMDIw IDExOjE4OjQyICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEdDQzogZml4IGF0dHJpYnV0ZSBvbiBm dW5jdGlvbiBkZWZpbml0aW9uCi0KLUdDQyBkb2VzIG5vdCBhY2NlcHQgYXR0cmlidXRlcyBhdCB0 aGUgZW5kIGZvciBmdW5jdGlvbiBkZWZpbml0aW9ucy4KLVNvbHV0aW9uIGlzIHRvIG1vdmUgaXQg YmVmb3JlIGZ1bmN0aW9uIG5hbWUuIE90aGVyd2lzZSBHQ0MgZmFpbHMgbGlrZQotdGhpczoKLQot Li4vLi4vYmFzZS9jb21waWxlcl9zcGVjaWZpYy5oOjk3OjI4OiBlcnJvcjogYXR0cmlidXRlcyBh cmUgbm90IGFsbG93ZWQKLW9uIGEgZnVuY3Rpb24tZGVmaW5pdGlvbgotICAgOTcgfCAjZGVmaW5l IFdBUk5fVU5VU0VEX1JFU1VMVCBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKQot ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+Ci0JIC4u Ly4uL21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmg6MzIyOjM2OiBub3RlOiBpbgotCSBl eHBhbnNpb24gb2YgbWFjcm8gJ1dBUk5fVU5VU0VEX1JFU1VMVCcKLQkgICAzMjIgfCAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IFQqIGRhdGEpIFdBUk5fVU5VU0VEX1JFU1VMVCB7Ci0JICAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn4K LS0tLQotIG1lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmggfCA0ICsrLS0KLSAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv bWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuaCBiL21lZGlhL2dwdS92YWFwaS92YWFwaV93 cmFwcGVyLmgKLWluZGV4IGZkMWZkODIuLmRlZWRhMWYgMTAwNjQ0Ci0tLS0gbWVkaWEvZ3B1L3Zh YXBpL3ZhYXBpX3dyYXBwZXIuaAotKysrIG1lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmgK LUBAIC0zMTgsOCArMzE4LDggQEAgY2xhc3MgTUVESUFfR1BVX0VYUE9SVCBWYWFwaVdyYXBwZXIK LSAgIC8vIENvbnZlbmllbnQgdGVtcGxhdGl6ZWQgdmVyc2lvbiBvZiBTdWJtaXRCdWZmZXIoKSB3 aGVyZSB8c2l6ZXwgaXMgZGVkdWNlZCB0bwotICAgLy8gYmUgdGhlIHNpemUgb2YgdGhlIHR5cGUg b2YgfCpkYXRhfC4KLSAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotLSAgYm9vbCBTdWJtaXRCdWZm ZXIoVkFCdWZmZXJUeXBlIHZhX2J1ZmZlcl90eXBlLAotLSAgICAgICAgICAgICAgICAgICAgY29u c3QgVCogZGF0YSkgV0FSTl9VTlVTRURfUkVTVUxUIHsKLSsgIGJvb2wgV0FSTl9VTlVTRURfUkVT VUxUIFN1Ym1pdEJ1ZmZlcihWQUJ1ZmZlclR5cGUgdmFfYnVmZmVyX3R5cGUsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgVCogZGF0YSkgewotICAgICByZXR1 cm4gU3VibWl0QnVmZmVyKHZhX2J1ZmZlcl90eXBlLCBzaXplb2YoVCksIGRhdGEpOwotICAgfQot ICAgLy8gQmF0Y2gtdmVyc2lvbiBvZiBTdWJtaXRCdWZmZXIoKSwgd2hlcmUgdGhlIGxvY2sgZm9y IGFjY2Vzc2luZyBsaWJ2YSBpcwotLS0gCi0yLjI2LjIKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTg5LUNvbXBvc2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVj ay5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS04OS1Db21wb3NpdG9y RnJhbWVSZXBvcnRlci1kY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLmQzMWFkN2ZlYzQ4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTg5LUNvbXBvc2l0b3JGcmFtZVJlcG9ydGVyLWRjaGVjay5wYXRj aApAQCAtMCwwICsxLDExIEBACistLS0gbmV0L3RoaXJkX3BhcnR5L3F1aWNoZS9zcmMvcXVpYy9j b3JlL3F1aWNfcGF0aF92YWxpZGF0b3IuY2Mub3JpZwkyMDIxLTAzLTAyIDE4OjQ4OjA2LjAwMDAw MDAwMCArMDEwMAorKysrIG5ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL3F1aWMvY29yZS9xdWlj X3BhdGhfdmFsaWRhdG9yLmNjCTIwMjEtMDMtMDMgMTM6MTc6NTYuNjI0MjgxNDc1ICswMTAwCitA QCAtNjgsNyArNjgsNyBAQAorIHZvaWQgUXVpY1BhdGhWYWxpZGF0b3I6OlN0YXJ0UGF0aFZhbGlk YXRpb24oCisgICAgIHN0ZDo6dW5pcXVlX3B0cjxRdWljUGF0aFZhbGlkYXRpb25Db250ZXh0PiBj b250ZXh0LAorICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVzdWx0RGVsZWdhdGU+IHJlc3VsdF9kZWxl Z2F0ZSkgeworLSAgRENIRUNLX05FKG51bGxwdHIsIGNvbnRleHQpOworKyAgRENIRUNLKGNvbnRl eHQpOworICAgUVVJQ19ETE9HKElORk8pIDw8ICJTdGFydCB2YWxpZGF0aW5nIHBhdGggIiA8PCAq Y29udGV4dAorICAgICAgICAgICAgICAgICAgIDw8ICIgdmlhIHdyaXRlcjogIiA8PCBjb250ZXh0 LT5Xcml0ZXJUb1VzZSgpOworICAgaWYgKHBhdGhfY29udGV4dF8gIT0gbnVsbHB0cikgewpkaWZm IC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2xpYmNfbWFsbG9jLnBhdGNoIGIvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2xpYmNfbWFsbG9jLnBhdGNoCmluZGV4IGVkYTExZWM4NjYz Li5mOGQ4ZDY2ZGExOCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2xpYmNf bWFsbG9jLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9saWJjX21hbGxvYy5w YXRjaApAQCAtMSwyNiArMSwxMSBAQAotLS0tIGJhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2Mu b3JpZwkyMDE3LTA5LTE1IDA4OjQxOjQzLjAwMDAwMDAwMCArMDAwMAotKysrIGJhc2UvcHJvY2Vz cy9tZW1vcnlfbGludXguY2MJMjAxNy0wOS0xNSAwODo0NDozOS44MDQ5OTU0NjkgKzAwMDAKLUBA IC0yMSw2ICsyMSwxMiBAQAotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS90Y21hbGxvYy9jaHJvbWl1 bS9zcmMvZ3BlcmZ0b29scy90Y21hbGxvYy5oIgotICNlbmRpZgotIAotKyNpZiBkZWZpbmVkKExJ QkNfR0xJQkMpCi0rZXh0ZXJuICJDIiB7Ci0rZXh0ZXJuIHZvaWQgKl9fbGliY19tYWxsb2Moc2l6 ZV90IHNpemUpOwotK30KLSsjZW5kaWYKLSsKLSBuYW1lc3BhY2UgYmFzZSB7Ci0gCi0gc2l6ZV90 IGdfb29tX3NpemUgPSAwVTsKLS0tLSBiYXNlL3Byb2Nlc3MvbWVtb3J5X2xpbnV4LmNjLm9yaWcJ MjAyMC0wOC0zMCAxNDoxODozNS40MDExMzI1OTMgLTA0MDAKLSsrKyBiYXNlL3Byb2Nlc3MvbWVt b3J5X2xpbnV4LmNjCTIwMjAtMDgtMzAgMTQ6MTk6MDguMDMwMTk5MTg5IC0wNDAwCi1AQCAtMTQx LDcgKzE0MSw3IEBACistLS0gYmFzZS9wcm9jZXNzL21lbW9yeV9saW51eC5jYy5vcmlnCTIwMjEt MDMtMDIgMTg6NDQ6NTguMDAwMDAwMDAwICswMTAwCisrKysgYmFzZS9wcm9jZXNzL21lbW9yeV9s aW51eC5jYwkyMDIxLTAzLTAzIDEyOjA1OjU3Ljk1MjI5Njk4NCArMDEwMAorQEAgLTE1MSw3ICsx NTEsNyBAQAogICAgICAoIWRlZmluZWQoTElCQ19HTElCQykgJiYgIUJVSUxERkxBRyhVU0VfVENN QUxMT0MpKQogICAgKnJlc3VsdCA9IG1hbGxvYyhzaXplKTsKICAjZWxpZiBkZWZpbmVkKExJQkNf R0xJQkMpICYmICFCVUlMREZMQUcoVVNFX1RDTUFMTE9DKQogLSAgKnJlc3VsdCA9IF9fbGliY19t YWxsb2Moc2l6ZSk7Ci0rICAqcmVzdWx0ID0gOjpfX2xpYmNfbWFsbG9jKHNpemUpOworKyAgKnJl c3VsdCA9IG1hbGxvYyhzaXplKTsKICAjZWxpZiBCVUlMREZMQUcoVVNFX1RDTUFMTE9DKQogICAg KnJlc3VsdCA9IHRjX21hbGxvY19za2lwX25ld19oYW5kbGVyKHNpemUpOwogICNlbmRpZgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2xsdm0tcmVtb3ZlLXVuc3VwcG9ydGVk LWNvbXBpbGVyLXdhcm5pbmdzLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2xsdm0t cmVtb3ZlLXVuc3VwcG9ydGVkLWNvbXBpbGVyLXdhcm5pbmdzLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAzMDE2YjA2NTIxMi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2xsdm0tcmVtb3ZlLXVuc3VwcG9ydGVkLWNvbXBpbGVyLXdhcm5pbmdz LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLS0tIGJ1aWxkL2NvbmZpZy9j b21waWxlci9CVUlMRC5nbi5vcmlnCTIwMjEtMDEtMjAgMDk6MDE6NDQuMzYyMTE0MzExIC0wNTAw Ci0rKysgYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCTIwMjEtMDEtMjAgMDk6MDM6NDEu ODgwMjMyMjQ4IC0wNTAwCi1AQCAtMTUzNCw5ICsxNTM0LDYgQEAKLSAKLSAgICAgICAgICAgIyBU T0RPKGh0dHBzOi8vY3JidWcuY29tLzEwMjgxMTApOiBFdmFsdWF0ZSBhbmQgcG9zc2libGUgZW5h YmxlLgotICAgICAgICAgICAiLVduby1kZXByZWNhdGVkLWNvcHkiLAotLQotLSAgICAgICAgICAj IFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTA1MDI4MSk6IENsZWFuIHVwLCBlbmFibGUuCi0tICAg ICAgICAgICItV25vLW5vbi1jLXR5cGVkZWYtZm9yLWxpbmthZ2UiLAotICAgICAgICAgXQotIAot ICAgICAgICAgY2ZsYWdzX2MgKz0gWwotQEAgLTE1NDgsMTMgKzE1NDUsNiBAQAotICAgICAgICAg ICAjIFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTE0MzcwMCk6IENsZWFuIHVwIGFuZCByZS1lbmFi bGUuCi0gICAgICAgICAgIGNmbGFnc19vYmpjID0gWyAiLVduby1nbnUtZm9sZGluZy1jb25zdGFu dCIgXQotICAgICAgICAgfQotLQotLSAgICAgICAgaWYgKGVuYWJsZV93bWF4X3Rva2Vucykgewot LSAgICAgICAgICBjZmxhZ3MgKz0gWyAiLVdtYXgtdG9rZW5zIiBdCi0tICAgICAgICB9IGVsc2Ug ewotLSAgICAgICAgICAjIFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTA0OTU2OSk6IFJlbW92ZSBh ZnRlciBDbGFuZyA4N2IyMzVkYi4KLS0gICAgICAgICAgY2ZsYWdzICs9IFsgIi1Xbm8tbWF4LXRv a2VucyIgXQotLSAgICAgICAgfQotICAgICAgIH0KLSAgICAgfQotICAgfQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL211c2wtdjgtbW9ub3RvbmljLXB0aHJlYWQtY29udF90 aW1lZHdhaXQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbXVzbC12OC1tb25vdG9u aWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMzNhOGVhMzJjOWMuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9tdXNsLXY4LW1vbm90b25pYy1wdGhyZWFkLWNvbnRfdGltZWR3YWl0LnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotVXNlIG1vbm90b25pYyBjbG9jayBmb3IgcHRocmVh ZF9jb25kX3RpbWVkd2FpdCB3aXRoIG11c2wgdG9vLgotCi1kaWZmIC0tZ2l0IGEvdjgvc3JjL2Jh c2UvcGxhdGZvcm0vY29uZGl0aW9uLXZhcmlhYmxlLmNjIGIvdjgvc3JjL2Jhc2UvcGxhdGZvcm0v Y29uZGl0aW9uLXZhcmlhYmxlLmNjCi1pbmRleCA1ZWE3MDgzLi5jMTMwMjdlIDEwMDY0NAotLS0t IC4vdjgvc3JjL2Jhc2UvcGxhdGZvcm0vY29uZGl0aW9uLXZhcmlhYmxlLmNjCi0rKysgLi92OC9z cmMvYmFzZS9wbGF0Zm9ybS9jb25kaXRpb24tdmFyaWFibGUuY2MKLUBAIC0xNiw3ICsxNiw3IEBA IG5hbWVzcGFjZSBiYXNlIHsKLSAKLSBDb25kaXRpb25WYXJpYWJsZTo6Q29uZGl0aW9uVmFyaWFi bGUoKSB7Ci0gI2lmIChWOF9PU19GUkVFQlNEIHx8IFY4X09TX05FVEJTRCB8fCBWOF9PU19PUEVO QlNEIHx8IFwKLS0gICAgIChWOF9PU19MSU5VWCAmJiBWOF9MSUJDX0dMSUJDKSkKLSsgICAgIFY4 X09TX0xJTlVYKQotICAgLy8gT24gRnJlZS9OZXQvT3BlbkJTRCBhbmQgTGludXggd2l0aCBnbGli YyB3ZSBjYW4gY2hhbmdlIHRoZSB0aW1lCi0gICAvLyBzb3VyY2UgZm9yIHB0aHJlYWRfY29uZF90 aW1lZHdhaXQoKSB0byB1c2UgdGhlIG1vbm90b25pYyBjbG9jay4KLSAgIHB0aHJlYWRfY29uZGF0 dHJfdCBhdHRyOwotQEAgLTkyLDcgKzkyLDcgQEAgYm9vbCBDb25kaXRpb25WYXJpYWJsZTo6V2Fp dEZvcihNdXRleCogbXV0ZXgsIGNvbnN0IFRpbWVEZWx0YSYgcmVsX3RpbWUpIHsKLSAgICAgICAm bmF0aXZlX2hhbmRsZV8sICZtdXRleC0+bmF0aXZlX2hhbmRsZSgpLCAmdHMpOwotICNlbHNlCi0g I2lmIChWOF9PU19GUkVFQlNEIHx8IFY4X09TX05FVEJTRCB8fCBWOF9PU19PUEVOQlNEIHx8IFwK LS0gICAgIChWOF9PU19MSU5VWCAmJiBWOF9MSUJDX0dMSUJDKSkKLSsgICAgIFY4X09TX0xJTlVY KQotICAgLy8gT24gRnJlZS9OZXQvT3BlbkJTRCBhbmQgTGludXggd2l0aCBnbGliYyB3ZSBjYW4g Y2hhbmdlIHRoZSB0aW1lCi0gICAvLyBzb3VyY2UgZm9yIHB0aHJlYWRfY29uZF90aW1lZHdhaXQo KSB0byB1c2UgdGhlIG1vbm90b25pYyBjbG9jay4KLSAgIHJlc3VsdCA9IGNsb2NrX2dldHRpbWUo Q0xPQ0tfTU9OT1RPTklDLCAmdHMpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL25vLWV4ZWNpbmZvLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWV4ZWNp bmZvLnBhdGNoCmluZGV4IDM4Njk5N2U4ZWQxLi4zNTZhNzYxOWFjOSAxMDA2NDQKLS0tIGEvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWV4ZWNpbmZvLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9uby1leGVjaW5mby5wYXRjaApAQCAtMSw1ICsxLDUgQEAKLS0tLSBiYXNl L2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjLm9yaWcJMjAxOS0wNS0xNCAxNDo0OTo0NC4wMDAw MDAwMDAgLTA0MDAKLSsrKyBiYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCTIwMTktMDct MDIgMTA6NDM6NDMuNDkwMDQ1MDEzIC0wNDAwCistLS0gYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9w b3NpeC5jYy5vcmlnCTIwMjEtMDMtMDIgMTg6NDQ6NTguMDAwMDAwMDAwICswMTAwCisrKysgYmFz ZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYwkyMDIxLTAzLTAzIDE2OjQ2OjM3LjgyODg4Mzk3 MyArMDEwMAogQEAgLTI3LDcgKzI3LDcgQEAKICAjaWYgIWRlZmluZWQoVVNFX1NZTUJPTElaRSkK ICAjaW5jbHVkZSA8Y3h4YWJpLmg+CkBAIC05LDcgKzksNyBAQAogICNpbmNsdWRlIDxleGVjaW5m by5oPgogICNlbmRpZgogIAotQEAgLTg2LDcgKzg2LDcgQEAKK0BAIC04OCw3ICs4OCw3IEBACiAg ICAvLyBOb3RlOiBjb2RlIGluIHRoaXMgZnVuY3Rpb24gaXMgTk9UIGFzeW5jLXNpZ25hbCBzYWZl IChzdGQ6OnN0cmluZyB1c2VzCiAgICAvLyBtYWxsb2MgaW50ZXJuYWxseSkuCiAgCkBAIC0xOCw3 ICsxOCw3IEBACiAgICBzdGQ6OnN0cmluZzo6c2l6ZV90eXBlIHNlYXJjaF9mcm9tID0gMDsKICAg IHdoaWxlIChzZWFyY2hfZnJvbSA8IHRleHQtPnNpemUoKSkgewogICAgICAvLyBMb29rIGZvciB0 aGUgc3RhcnQgb2YgYSBtYW5nbGVkIHN5bWJvbCwgZnJvbSBzZWFyY2hfZnJvbS4KLUBAIC0xMjEs NyArMTIxLDcgQEAKK0BAIC0xMjMsNyArMTIzLDcgQEAKICAgICAgICBzZWFyY2hfZnJvbSA9IG1h bmdsZWRfc3RhcnQgKyAyOwogICAgICB9CiAgICB9CkBAIC0yNyw3ICsyNyw3IEBACiAgfQogICNl bmRpZiAgLy8gIWRlZmluZWQoVVNFX1NZTUJPTElaRSkKICAKLUBAIC0xMzMsNyArMTMzLDcgQEAK K0BAIC0xMzUsNyArMTM1LDcgQEAKICAgIHZpcnR1YWwgfkJhY2t0cmFjZU91dHB1dEhhbmRsZXIo KSA9IGRlZmF1bHQ7CiAgfTsKICAKQEAgLTM2LDcgKzM2LDcgQEAKICB2b2lkIE91dHB1dFBvaW50 ZXIodm9pZCogcG9pbnRlciwgQmFja3RyYWNlT3V0cHV0SGFuZGxlciogaGFuZGxlcikgewogICAg Ly8gVGhpcyBzaG91bGQgYmUgbW9yZSB0aGFuIGVub3VnaCB0byBzdG9yZSBhIDY0LWJpdCBudW1i ZXIgaW4gaGV4OgogICAgLy8gMTYgaGV4IGRpZ2l0cyArIDEgZm9yIG51bGwtdGVybWluYXRvci4K LUBAIC0yMTYsNyArMjE2LDcgQEAKK0BAIC0yMTgsNyArMjE4LDcgQEAKICAgIH0KICAjZW5kaWYg IC8vIGRlZmluZWQoVVNFX1NZTUJPTElaRSkKICB9CkBAIC00NSw3ICs0NSw3IEBACiAgCiAgdm9p ZCBQcmludFRvU3RkZXJyKGNvbnN0IGNoYXIqIG91dHB1dCkgewogICAgLy8gTk9URTogVGhpcyBj b2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCi1A QCAtODEyLDcgKzgxMiw3IEBACitAQCAtODI3LDcgKzgyNyw3IEBACiAgICAvLyBOT1RFOiBUaGlz IGNvZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MK ICAgIC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8g aXMgYWxsb3dlZCBoZXJlLgogIApAQCAtNTQsNyArNTQsNyBAQAogICAgLy8gVGhvdWdoIHRoZSBi YWNrdHJhY2UgQVBJIG1hbiBwYWdlIGRvZXMgbm90IGxpc3QgYW55IHBvc3NpYmxlIG5lZ2F0aXZl CiAgICAvLyByZXR1cm4gdmFsdWVzLCB3ZSB0YWtlIG5vIGNoYW5jZS4KICAgIHJldHVybiBiYXNl OjpzYXR1cmF0ZWRfY2FzdDxzaXplX3Q+KGJhY2t0cmFjZSh0cmFjZSwgY291bnQpKTsKLUBAIC04 MjUsMTMgKzgyNSwxMyBAQAorQEAgLTg0MCwxMyArODQwLDEzIEBACiAgLy8gTk9URTogVGhpcyBj b2RlIE1VU1QgYmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCiAg Ly8gc3RhY2sgZHVtcGluZyBzaWduYWwgaGFuZGxlcikuIE5PIG1hbGxvYyBvciBzdGRpbyBpcyBh bGxvd2VkIGhlcmUuCiAgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbm8t Z2V0Y29udGV4dC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1nZXRjb250ZXh0 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMmE0OTg3MzRjOS4uMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25vLWdldGNvbnRleHQucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi0tLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjLm9y aWcJMjAxNS0xMi0wNiAwOTo1OTo1NS41NTQ1MzY2NDYgKzAxMDAKLSsrKyB0aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRs ZXIuY2MJMjAxNS0xMi0wNiAxMDowMToxNi44MTgyMzgwMzUgKzAxMDAKLUBAIC00NzcsNyArNDc3 LDkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpTaW11bGF0ZVNpZ25hbERlbAotICAgc2lnaW5m by5zaV9jb2RlID0gU0lfVVNFUjsKLSAgIHNpZ2luZm8uc2lfcGlkID0gZ2V0cGlkKCk7Ci0gICB1 Y29udGV4dF90IGNvbnRleHQ7Ci0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICAgZ2V0Y29udGV4 dCgmY29udGV4dCk7Ci0rI2VuZGlmCi0gICByZXR1cm4gSGFuZGxlU2lnbmFsKHNpZywgJnNpZ2lu Zm8sICZjb250ZXh0KTsKLSB9Ci0gCi1AQCAtNjQ3LDkgKzY0OSwxNCBAQCBib29sIEV4Y2VwdGlv bkhhbmRsZXI6OldyaXRlTWluaWR1bXAoKSB7Ci0gICBzeXNfcHJjdGwoUFJfU0VUX0RVTVBBQkxF LCAxLCAwLCAwLCAwKTsKLSAKLSAgIENyYXNoQ29udGV4dCBjb250ZXh0OwotKwotKyNpZiBkZWZp bmVkKF9fR0xJQkNfXykKLSAgIGludCBnZXRjb250ZXh0X3Jlc3VsdCA9IGdldGNvbnRleHQoJmNv bnRleHQuY29udGV4dCk7Ci0gICBpZiAoZ2V0Y29udGV4dF9yZXN1bHQpCi0gICAgIHJldHVybiBm YWxzZTsKLSsjZWxzZQotKyAgcmV0dXJuIGZhbHNlOwotKyNlbmRpZgotIAotICNpZiBkZWZpbmVk KF9faTM4Nl9fKQotICAgLy8gSW4gQ1BVRmlsbEZyb21VQ29udGV4dCBpbiBtaW5pZHVtcHdyaXRl ci5jYyB0aGUgc3RhY2sgcG9pbnRlciBpcyByZXRyaWV2ZWQKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9uby1zdGQtdGltZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9uby1zdGQtdGltZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uN2YzNWMyMmYwODEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvbm8tc3RkLXRpbWUucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIHVpL2FjY2Vzc2li aWxpdHkvYXhfdHJlZV9zZXJpYWxpemVyLmgub3JpZwkyMDIxLTAzLTAyIDE4OjQ2OjAwLjAwMDAw MDAwMCArMDEwMAorKysrIHVpL2FjY2Vzc2liaWxpdHkvYXhfdHJlZV9zZXJpYWxpemVyLmgJMjAy MS0wMy0wMyAxNDowMzo0My45MjYxNjAzMzMgKzAxMDAKK0BAIC03NDYsNyArNzQ2LDcgQEAKKyAj ZW5kaWYgIC8vIGRlZmluZWQoQVhfRkFJTF9GQVNUX0JVSUxEKQorICAgICAgICAgc3RhdGljIGJv b2wgaGFzX3NlbnRfZHVwZV9pZF9lcnIgPSBmYWxzZTsKKyAgICAgICAgIGlmICghaGFzX3NlbnRf ZHVwZV9pZF9lcnIpIHsKKy0gICAgICAgICAgc3RkOjpzcmFuZChzdGQ6OnRpbWUobnVsbHB0cikp OyAgLy8gdXNlIGN1cnJlbnQgdGltZSBhcyBzZWVkLgorKyAgICAgICAgICBzdGQ6OnNyYW5kKHRp bWUobnVsbHB0cikpOyAgLy8gdXNlIGN1cnJlbnQgdGltZSBhcyBzZWVkLgorICAgICAgICAgICBp ZiAoc3RkOjpyYW5kKCkgJSA1MCA9PSAwKSB7ICAgICAvLyBSb3VnaGx5IDIlIG9mIHRoZSB0aW1l LgorICAgICAgICAgICAgIGJhc2U6OmRlYnVnOjpEdW1wV2l0aG91dENyYXNoaW5nKCk7CisgICAg ICAgICAgICAgaGFzX3NlbnRfZHVwZV9pZF9lcnIgPSB0cnVlOyAgLy8gT25seSBzZW5kIG9uY2Uu CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvc2FuZGJveC1tZW1iYXJyaWVy LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NhbmRib3gtbWVtYmFycmllci5wYXRj aAppbmRleCBhMzFhOWY2YTVlOS4uYjMwYmJjMDJjYjYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL3NhbmRib3gtbWVtYmFycmllci5wYXRjaApAQCAtMSw1NiArMSw2IEBACi0t LS0gc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oCi0r Kysgc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oCi1A QCAtMTA2Myw0ICsxMDYzLDggQEAKLSAjZGVmaW5lIF9fTlJfbWVtZmRfY3JlYXRlIDI3OQotICNl bmRpZgotIAotKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCi0rI2RlZmluZSBfX05SX21l bWJhcnJpZXIgMjgzCi0rI2VuZGlmCi0rCi0gI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RF TV9IRUFERVJTX0FSTTY0X0xJTlVYX1NZU0NBTExTX0hfCi0KLS0tLSBzYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oCi0rKysgc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMuaAotQEAgLTEzODUsNiArMTM4NSwxMCBAQAot ICNkZWZpbmUgX19OUl9tZW1mZF9jcmVhdGUgKF9fTlJfU1lTQ0FMTF9CQVNFKzM4NSkKLSAjZW5k aWYKLSAKLSsjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQotKyNkZWZpbmUgX19OUl9tZW1i YXJyaWVyIChfX05SX1NZU0NBTExfQkFTRSszODkpCi0rI2VuZGlmCi0rCi0gLy8gQVJNIHByaXZh dGUgc3lzY2FsbHMuCi0gI2lmICFkZWZpbmVkKF9fQVJNX05SX0JBU0UpCi0gI2RlZmluZSBfX0FS TV9OUl9CQVNFIChfX05SX1NZU0NBTExfQkFTRSArIDB4RjAwMDApCi0KLS0tLSBzYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL3g4Nl8zMl9saW51eF9zeXNjYWxscy5oCi0rKysgc2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAotQEAgLTE0MjIsNSAr MTQyMiw5IEBACi0gI2RlZmluZSBfX05SX21lbWZkX2NyZWF0ZSAzNTYKLSAjZW5kaWYKLSAKLSsj aWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQotKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIDM3 NQotKyNlbmRpZgotKwotICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19Y ODZfMzJfTElOVVhfU1lTQ0FMTFNfSF8KLSAKLS0tLSBzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL3g4Nl82NF9saW51eF9zeXNjYWxscy5oCi0rKysgc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy94ODZfNjRfbGludXhfc3lzY2FsbHMuaAotQEAgLTEyOTAsNSArMTI5MCw5IEBACi0gI2Rl ZmluZSBfX05SX21lbWZkX2NyZWF0ZSAzMTkKLSAjZW5kaWYKLSAKLSsjaWYgIWRlZmluZWQoX19O Ul9tZW1iYXJyaWVyKQotKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIDMyNAotKyNlbmRpZgotKwot ICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19YODZfNjRfTElOVVhfU1lT Q0FMTFNfSF8KLSAKLS0tLSBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2Fs bF9zZXRzLmNjCi0rKysgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxf c2V0cy5jYwotQEAgLTM3MCw2ICszNzAsNyBAQAorLS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1i cGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2Mub3JpZwkyMDIxLTAzLTAzIDE4OjA0OjQ1LjE2NzY3 NDc5MSArMDEwMAorKysrIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3NldHMuY2MJMjAyMS0wMy0wMyAxODoxMzoxNy4wMzY1NDc1OTIgKzAxMDAKK0BAIC0zOTQsMTEg KzM5NCwxMiBAQAogICAgc3dpdGNoIChzeXNubykgewogICAgICBjYXNlIF9fTlJfZXhpdDoKICAg ICAgY2FzZSBfX05SX2V4aXRfZ3JvdXA6CkBAIC01OCwzICs4LDggQEAKICAgICAgY2FzZSBfX05S X3dhaXQ0OgogICAgICBjYXNlIF9fTlJfd2FpdGlkOgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKQor ICAgICBjYXNlIF9fTlJfd2FpdHBpZDoKKyAjZW5kaWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAg ICAgY2FzZSBfX05SX2Nsb25lOiAgLy8gU2hvdWxkIGJlIHBhcmFtZXRlci1yZXN0cmljdGVkLgor ICAgICBjYXNlIF9fTlJfc2V0bnM6ICAvLyBQcml2aWxlZ2VkLgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAppbmRleCA4MDU3NTVjMjEy NS4uYmJjZmJhZDM0ZTUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgt cHBjNjRsZS1zdXBwb3J0LnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgt cHBjNjRsZS1zdXBwb3J0LnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotY29tbWl0IGU3OTQ0YzE2MmNh MTNiMmMzMGIxODBjMDZmOTE3ZjQ1NjQzYjhjY2EKLUF1dGhvcjogcTY2IDxkYW5pZWxAb2N0YWZv cmdlLm9yZz4KLURhdGU6ICAgVHVlIEF1ZyA0IDE5OjU3OjQ4IDIwMjAgKzAyMDAKK2NvbW1pdCAy YzAxM2EzMTdiMTExNGVmNjdjZGJiYzMwODI0YjI4OTA3YjllYTk0CitBdXRob3I6IERhbmllbCBL b2xlc2EgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgorRGF0ZTogICBXZWQgTWFyIDMgMTk6MDg6Mjkg MjAyMSArMDEwMAogCiAgICAgcHBjNjRsZSBzdXBwb3J0CiAKQEAgLTIwLDEwICsyMCwxMCBAQCBp bmRleCAyODZhOTJhMjcuLmVjMzZhODVkMyAxMDA3NTUKICAgIHNyY19kaXIgPSBvcy5wYXRoLmRp cm5hbWUoc2NyaXB0X2RpcikKICAgIG5hY2xfZGlyID0gb3MucGF0aC5qb2luKHNyY19kaXIsICdu YXRpdmVfY2xpZW50JykKIGRpZmYgLS1naXQgY2hyb21lL2luc3RhbGxlci9saW51eC9CVUlMRC5n biBjaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JVSUxELmduCi1pbmRleCBiMTAxYjBjYjIuLjlmZDVh NzYxNyAxMDA2NDQKK2luZGV4IDM1ZjAxZDBhNC4uMjhmMmU3NDc1IDEwMDY0NAogLS0tIGNocm9t ZS9pbnN0YWxsZXIvbGludXgvQlVJTEQuZ24KICsrKyBjaHJvbWUvaW5zdGFsbGVyL2xpbnV4L0JV SUxELmduCi1AQCAtOTIsOCArOTIsNiBAQCBwYWNrYWdpbmdfZmlsZXMgPSBwYWNrYWdpbmdfZmls ZXNfYmluYXJpZXMgKyBbCitAQCAtOTQsOCArOTQsNiBAQCBwYWNrYWdpbmdfZmlsZXMgPSBwYWNr YWdpbmdfZmlsZXNfYmluYXJpZXMgKyBbCiAgICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0 X2Rpci94ZGctbWltZSIsCiAgICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci94ZGct c2V0dGluZ3MiLAogICAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIvbG9jYWxlcy9l bi1VUy5wYWsiLApAQCAtMzIsNyArMzIsNyBAQCBpbmRleCBiMTAxYjBjYjIuLjlmZDVhNzYxNyAx MDA2NDQKICAgICAgICAgICAgICAgICAgICBdCiAgCiAgYWN0aW9uX2ZvcmVhY2goImNhbGN1bGF0 ZV9kZWJfZGVwZW5kZW5jaWVzIikgewotQEAgLTMyOSw3ICszMjcsNiBAQCBncm91cCgiaW5zdGFs bGVyX2RlcHMiKSB7CitAQCAtMzE1LDcgKzMxMyw2IEBAIGdyb3VwKCJpbnN0YWxsZXJfZGVwcyIp IHsKICAgICAgIjp0aGVtZV9maWxlcyIsCiAgICAgICIvL2Nocm9tZSIsCiAgICAgICIvL2Nocm9t ZTpwYWNrZWRfcmVzb3VyY2VzIiwKQEAgLTQxLDExICs0MSwxMSBAQCBpbmRleCBiMTAxYjBjYjIu LjlmZDVhNzYxNyAxMDA2NDQKICAgICAgIi8vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv aGFuZGxlcjpjcmFzaHBhZF9oYW5kbGVyIiwKICAgIF0KIGRpZmYgLS1naXQgc2FuZGJveC9mZWF0 dXJlcy5nbmkgc2FuZGJveC9mZWF0dXJlcy5nbmkKLWluZGV4IDA5MjgwZDM1Zi4uNDI1MTQxNTdm IDEwMDY0NAoraW5kZXggZGIzMGFlNmQ2Li45ZGMwOWJmNTMgMTAwNjQ0CiAtLS0gc2FuZGJveC9m ZWF0dXJlcy5nbmkKICsrKyBzYW5kYm94L2ZlYXR1cmVzLmduaQotQEAgLTExLDYgKzExLDcgQEAg aW1wb3J0KCIvL2J1aWxkL2NvbmZpZy9uYWNsL2NvbmZpZy5nbmkiKQotIHVzZV9zZWNjb21wX2Jw ZiA9IChpc19saW51eCB8fCBpc19hbmRyb2lkKSAmJgorQEAgLTExLDcgKzExLDggQEAgaW1wb3J0 KCIvL2J1aWxkL2NvbmZpZy9uYWNsL2NvbmZpZy5nbmkiKQorIHVzZV9zZWNjb21wX2JwZiA9IChp c19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRyb2lkKSAmJgogICAgICAgICAgICAgICAg ICAgIChjdXJyZW50X2NwdSA9PSAieDg2IiB8fCBjdXJyZW50X2NwdSA9PSAieDY0IiB8fAogICAg ICAgICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAiYXJtIiB8fCBjdXJyZW50X2NwdSA9PSAi YXJtNjQiIHx8CiAtICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiIHx8 IGN1cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIpCkBAIC01MywxMSArNTMsMTIgQEAgaW5kZXggMDky ODBkMzVmLi40MjUxNDE1N2YgMTAwNjQ0CiArICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1 ID09ICJwcGM2NCIpCiAgCiAgdXNlX3NlY2NvbXBfYnBmID0gdXNlX3NlY2NvbXBfYnBmIHx8IGlz X25hY2xfbm9uc2ZpCisgCiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvQlVJTEQuZ24gc2FuZGJv eC9saW51eC9CVUlMRC5nbgotaW5kZXggYzI3MzUxZjlhLi45MTQxZTEyMzkgMTAwNjQ0CitpbmRl eCBlOWE5NGI0NjEuLmNjYTFhNWRhNSAxMDA2NDQKIC0tLSBzYW5kYm94L2xpbnV4L0JVSUxELmdu CiArKysgc2FuZGJveC9saW51eC9CVUlMRC5nbgotQEAgLTQwNyw2ICs0MDcsOCBAQCBjb21wb25l bnQoInNhbmRib3hfc2VydmljZXMiKSB7CitAQCAtNDI3LDYgKzQyNyw4IEBAIGNvbXBvbmVudCgi c2FuZGJveF9zZXJ2aWNlcyIpIHsKICAKICBzb3VyY2Vfc2V0KCJzYW5kYm94X3NlcnZpY2VzX2hl YWRlcnMiKSB7CiAgICBzb3VyY2VzID0gWwpAQCAtMTUxLDcgKzE1Miw3IEBAIGluZGV4IDFhNDA3 Yjk1Mi4uYTZhZWM1NDRlIDEwMDY0NAogICNlcnJvciBVbnN1cHBvcnRlZCB0YXJnZXQgcGxhdGZv cm0KICAKIGRpZmYgLS1naXQgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2Vs aW5lX3BvbGljeS5jYyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVf cG9saWN5LmNjCi1pbmRleCBhNmQyYzBkZmIuLjM3ZmRjMTc5YSAxMDA2NDQKK2luZGV4IDZhMWVj MjM4OS4uZjIwYzU4MmRkIDEwMDY0NAogLS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9iYXNlbGluZV9wb2xpY3kuY2MKICsrKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvYmFzZWxpbmVfcG9saWN5LmNjCiBAQCAtODgsNyArODgsOCBAQCBib29sIElzQmFzZWxp bmVQb2xpY3lXYXRjaGVkKGludCBzeXNubykgewpAQCAtMTY0LDcgKzE2NSw3IEBAIGluZGV4IGE2 ZDJjMGRmYi4uMzdmZGMxNzlhIDEwMDY0NAogICAgICAgICAgIFN5c2NhbGxTZXRzOjpJc1NvY2tl dENhbGwoc3lzbm8pIHx8CiAgI2VuZGlmCiAgI2lmIGRlZmluZWQoX19hcm1fXykKLUBAIC0yMTAs NyArMjExLDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGludCBmc19kZW5pZWRf ZXJybm8sCitAQCAtMjI3LDcgKzIyOCw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1w bChpbnQgZnNfZGVuaWVkX2Vycm5vLAogICAgfQogIAogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKQEAgLTE3Myw3 ICsxNzQsNyBAQCBpbmRleCBhNmQyYzBkZmIuLjM3ZmRjMTc5YSAxMDA2NDQKICAgIGlmIChzeXNu byA9PSBfX05SX21tYXApCiAgICAgIHJldHVybiBSZXN0cmljdE1tYXBGbGFncygpOwogICNlbmRp ZgotQEAgLTIyOCw3ICsyMjksNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50 IGZzX2RlbmllZF9lcnJubywKK0BAIC0yNDUsNyArMjQ2LDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0 ZVN5c2NhbGxJbXBsKGludCBmc19kZW5pZWRfZXJybm8sCiAgICAgIHJldHVybiBSZXN0cmljdFBy Y3RsKCk7CiAgCiAgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCkBAIC0xODIsNyArMTgzLDcgQEAgaW5kZXggYTZkMmMw ZGZiLi4zN2ZkYzE3OWEgMTAwNjQ0CiAgICBpZiAoc3lzbm8gPT0gX19OUl9zb2NrZXRwYWlyKSB7 CiAgICAgIC8vIE9ubHkgYWxsb3cgQUZfVU5JWCwgUEZfVU5JWC4gQ3Jhc2ggaWYgYW55dGhpbmcg ZWxzZSBpcyBzZWVuLgogICAgICBzdGF0aWNfYXNzZXJ0KEFGX1VOSVggPT0gUEZfVU5JWCwKLUBA IC0yNjgsNyArMjY5LDggQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBsKGludCBmc19k ZW5pZWRfZXJybm8sCitAQCAtMjg1LDcgKzI4Niw4IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNj YWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5vLAogICAgfQogIAogICNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBcCkBAIC0xOTMsMjIgKzE5NCwyMCBAQCBpbmRleCBhNmQyYzBkZmIuLjM3ZmRjMTc5 YSAxMDA2NDQKICAgICAgcmV0dXJuIFJlc3RyaWN0U29ja2V0Y2FsbENvbW1hbmQoKTsKICAjZW5k aWYKIGRpZmYgLS1naXQgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5l X3BvbGljeV91bml0dGVzdC5jYyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFz ZWxpbmVfcG9saWN5X3VuaXR0ZXN0LmNjCi1pbmRleCBmYzM2MTg3YzkuLjFhZmZjOTE4OSAxMDA2 NDQKK2luZGV4IDAxYzA0NmRkYS4uN2U1YTZiZTgyIDEwMDY0NAogLS0tIHNhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3lfdW5pdHRlc3QuY2MKICsrKyBzYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5X3VuaXR0ZXN0LmNj Ci1AQCAtMjkxLDggKzI5MSwxMCBAQCBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX3RpbWVyX2Ny ZWF0ZSkKLSAjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCitAQCAtMzAyLDcgKzMwMiw3IEBAIFRF U1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfc3lzaW5mbykKKyBURVNUX0JBU0VMSU5FX1NJR1NZUyhf X05SX3N5c2xvZykKKyBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX3RpbWVyX2NyZWF0ZSkKKyAK Ky0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAm JiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQogIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfZXZl bnRmZCkKICBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX2lub3RpZnlfaW5pdCkKLSsjaWYgIWRl ZmluZWQoX19wb3dlcnBjNjRfXykKICBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX3ZzZXJ2ZXIp Ci0gI2VuZGlmCi0rI2VuZGlmCi0gCi0gI2lmIGRlZmluZWQoTElCQ19HTElCQykgJiYgIWRlZmlu ZWQoT1NfQ0hST01FT1MpCi0gQlBGX1RFU1RfQyhCYXNlbGluZVBvbGljeSwgRnV0ZXhFSU5WQUws IEJhc2VsaW5lUG9saWN5KSB7CiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjIHNhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCi1p bmRleCBmNTE5MTVlZGMuLmNhMmY0ZjEwNiAxMDA2NDQKK2luZGV4IDJhOTdkMzkxNi4uOGU4MWFh NmNmIDEwMDY0NAogLS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCiArKysgc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKIEBAIC00MCw3ICs0 MCw4IEBACkBAIC0yMzMsNyArMjMyLDcgQEAgaW5kZXggZjUxOTE1ZWRjLi5jYTJmNGYxMDYgMTAw NjQ0CiAgI2lmIGRlZmluZWQoT1NfQU5EUk9JRCkKICAKICAjaWYgIWRlZmluZWQoRl9EVVBGRF9D TE9FWEVDKQotQEAgLTk4LDYgKzEwNCwxNSBAQAorQEAgLTk4LDYgKzEwNCwxNSBAQCBpbmxpbmUg Ym9vbCBJc0FyY2hpdGVjdHVyZU1pcHMoKSB7CiAgI2VuZGlmCiAgfQogIApAQCAtMjQ5LDcgKzI0 OCw3IEBAIGluZGV4IGY1MTkxNWVkYy4uY2EyZjRmMTA2IDEwMDY0NAogIC8vIFVidW50dSdzIHZl cnNpb24gb2YgZ2xpYmMgaGFzIGEgcmFjZSBjb25kaXRpb24gaW4gc2VtX3Bvc3QgdGhhdCBjYW4g Y2F1c2UKICAvLyBpdCB0byBjYWxsIGZ1dGV4KDIpIHdpdGggYm9ndXMgb3AgYXJndW1lbnRzLiBU byB3b3JrYXJvdW5kIHRoaXMsIHdlIG5lZWQKICAvLyB0byBhbGxvdyB0aG9zZSBmdXRleCgyKSBj YWxscyB0byBmYWlsIHdpdGggRUlOVkFMLCBpbnN0ZWFkIG9mIGNyYXNoaW5nIHRoZQotQEAgLTIz OSw2ICsyNTQsOCBAQAorQEAgLTIzOSw2ICsyNTQsOCBAQCBSZXN1bHRFeHByIFJlc3RyaWN0RmNu dGxDb21tYW5kcygpIHsKICAgIHVpbnQ2NF90IGtPTGFyZ2VGaWxlRmxhZyA9IE9fTEFSR0VGSUxF OwogICAgaWYgKElzQXJjaGl0ZWN0dXJlWDg2XzY0KCkgfHwgSXNBcmNoaXRlY3R1cmVJMzg2KCkg fHwgSXNBcmNoaXRlY3R1cmVNaXBzKCkpCiAgICAgIGtPTGFyZ2VGaWxlRmxhZyA9IDAxMDAwMDA7 CkBAIC0yNTgsNyArMjU3LDcgQEAgaW5kZXggZjUxOTE1ZWRjLi5jYTJmNGYxMDYgMTAwNjQ0CiAg CiAgICBjb25zdCBBcmc8aW50PiBjbWQoMSk7CiAgICBjb25zdCBBcmc8bG9uZz4gbG9uZ19hcmco Mik7Ci1AQCAtMjUzLDE0ICsyNzAsMjMgQEAKK0BAIC0yNTMsMTQgKzI3MCwyMyBAQCBSZXN1bHRF eHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpIHsKICAgICAgICAgICAgICAgIEZfU0VUTEtXLAog ICAgICAgICAgICAgICAgRl9HRVRMSywKICAgICAgICAgICAgICAgIEZfRFVQRkQsCkBAIC0yODUs NyArMjg0LDcgQEAgaW5kZXggZjUxOTE1ZWRjLi5jYTJmNGYxMDYgMTAwNjQ0CiAgUmVzdWx0RXhw ciBSZXN0cmljdFNvY2tldGNhbGxDb21tYW5kKCkgewogICAgLy8gVW5mb3J0dW5hdGVseSwgd2Ug YXJlIHVuYWJsZSB0byByZXN0cmljdCB0aGUgZmlyc3QgcGFyYW1ldGVyIHRvCiAgICAvLyBzb2Nr ZXRwYWlyKDIpLiBXaGlsc3QgaW5pdGlhbGx5IHNvdW5kaW5nIGJhZCwgaXQncyBub3Rld29ydGh5 IHRoYXQgdmVyeQotQEAgLTQxMyw3ICs0MzksNyBAQAorQEAgLTQxMyw3ICs0MzksNyBAQCBSZXN1 bHRFeHByIFJlc3RyaWN0UHRyYWNlKCkgewogICNlbmRpZgogICAgcmV0dXJuIFN3aXRjaChyZXF1 ZXN0KQogICAgICAgIC5DQVNFUygoCkBAIC0yOTQsNyArMjkzLDYgQEAgaW5kZXggZjUxOTE1ZWRj Li5jYTJmNGYxMDYgMTAwNjQ0CiAgICAgICAgICAgICAgICAgICBQVFJBQ0VfR0VUUkVHUywgUFRS QUNFX0dFVEZQUkVHUywgUFRSQUNFX0dFVF9USFJFQURfQVJFQSwKICAgICAgICAgICAgICAgICAg IFBUUkFDRV9HRVRSRUdTRVQsCiAgI2VuZGlmCi0KIGRpZmYgLS1naXQgc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaCBzYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0 aW9ucy5oCiBpbmRleCBiYTQyODlmMDUuLjlhNGQ1YWIyZCAxMDA2NDQKIC0tLSBzYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5o CkBAIC0zMDksNyArMzA3LDcgQEAgaW5kZXggYmE0Mjg5ZjA1Li45YTRkNWFiMmQgMTAwNjQ0CiAg Ly8gc2VuZHRvKDIpLCByZWN2ZnJvbSgyKSwgc2h1dGRvd24oMiksIHNlbmRtc2coMikgYW5kIHJl Y3Ztc2coMikuCiAgU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXN0cmljdFNv Y2tldGNhbGxDb21tYW5kKCk7CiBkaWZmIC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9zeXNjYWxsX3NldHMuY2Mgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJz L3N5c2NhbGxfc2V0cy5jYwotaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CitpbmRl eCA2NDJkZjcyMDcuLjM0ZjQ3ZWI3MyAxMDA2NDQKIC0tLSBzYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCiArKysgc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwogQEAgLTI5LDcgKzI5LDggQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNBbGxvd2VkR2V0dGltZShpbnQgc3lzbm8pIHsKQEAgLTMyMiw3ICszMjAsNyBAQCBp bmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3RpbWU6CiAg I2VuZGlmCiAgICAgICAgcmV0dXJuIHRydWU7Ci1AQCAtNDEsMTIgKzQyLDE0IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZEdldHRpbWUoaW50IHN5c25vKSB7CitAQCAtNDUsMTIgKzQ2LDE0 IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldHRpbWUoaW50IHN5c25vKSB7CiAgICAg IGNhc2UgX19OUl9jbG9ja19uYW5vc2xlZXA6ICAvLyBQYXJhbWV0ZXJzIGZpbHRlcmVkIGJ5IFJl c3RyaWN0Q2xvY2tJRCgpLgogICAgICBjYXNlIF9fTlJfY2xvY2tfc2V0dGltZTogICAgLy8gUHJp dmlsZWdlZC4KICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXApAQCAtMzM5LDcgKzMzNyw3IEBA IGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfc3RpbWU6 CiAgI2VuZGlmCiAgICAgIGRlZmF1bHQ6Ci1AQCAtMTEyLDcgKzExNSw3IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lzbm8pIHsKK0BAIC0xMTYsNyArMTE5LDcgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgewogICAgICBjYXNlIF9fTlJf ZmFjY2Vzc2F0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCiAgICAgIGNhc2UgX19OUl9m Y2htb2RhdDoKICAgICAgY2FzZSBfX05SX2ZjaG93bmF0OiAgLy8gU2hvdWxkIGJlIGNhbGxlZCBj aG93bmF0ID8KQEAgLTM0OCw3ICszNDYsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAx MDA2NDQKICAgICAgY2FzZSBfX05SX25ld2ZzdGF0YXQ6ICAvLyBmc3RhdGF0KCkuIEVQRVJNIG5v dCBhIHZhbGlkIGVycm5vLgogICNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19h cm1fXykgfHwgXAogICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5l ZChBUkNIX0NQVV8zMl9CSVRTKSkKLUBAIC0xMzEsNyArMTM0LDcgQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgeworQEAgLTEzNSw3ICsxMzgsNyBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oaW50IHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9tZW1m ZF9jcmVhdGU6CiAgICAgIGNhc2UgX19OUl9ta2RpcmF0OgogICAgICBjYXNlIF9fTlJfbWtub2Rh dDoKQEAgLTM1Nyw3ICszNTUsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQK ICAgICAgY2FzZSBfX05SX29sZGxzdGF0OgogICAgICBjYXNlIF9fTlJfb2xkc3RhdDoKICAjZW5k aWYKLUBAIC0xNDUsNyArMTQ4LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGlu dCBzeXNubykgeworQEAgLTE0OSw3ICsxNTIsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVT eXN0ZW0oaW50IHN5c25vKSB7CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl9zdGF0ZnM6ICAvLyBF UEVSTSBub3QgYSB2YWxpZCBlcnJuby4KICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBcCkBAIC0zNjcsNyArMzY1LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDky Y2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9zdGF0ZnM2NDoKICAjZW5kaWYKICAgICAgY2Fz ZSBfX05SX3N5bWxpbmthdDoKLUBAIC0xNTUsNyArMTU5LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNGaWxlU3lzdGVtKGludCBzeXNubykgeworQEAgLTE1OSw3ICsxNjMsOCBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0ZpbGVTeXN0ZW0oaW50IHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl90cnVuY2F0 ZTY0OgogICNlbmRpZgogICAgICBjYXNlIF9fTlJfdW5saW5rYXQ6CkBAIC0zNzcsNyArMzc1LDcg QEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl91dGlt ZToKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX3V0aW1lbnNhdDogIC8vIE5ldy4KLUBAIC0xNzQs NyArMTc5LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1Zp YUZkKGludCBzeXNubykgeworQEAgLTE4MSw3ICsxODYsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRGaWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CiAgI2VuZGlmCiAgICAg ICAgcmV0dXJuIHRydWU7CiAgLy8gVE9ETyhqbG4pOiB0aGVzZSBzaG91bGQgYmUgZGVuaWVkIGdy YWNlZnVsbHkgYXMgd2VsbCAobW92ZWQgYmVsb3cpLgpAQCAtMzg3LDcgKzM4NSw3IEBAIGluZGV4 IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfZmFkdmlzZTY0OiAg Ly8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCiAgI2VuZGlmCiAgI2lmIGRlZmluZWQoX19pMzg2 X18pCi1AQCAtMTg3LDExICsxOTMsMTIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmls ZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBzeXNubykgeworQEAgLTE5NCwxMSArMjAwLDEyIEBAIGJv b2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8p IHsKICAgICAgY2FzZSBfX05SX2Zsb2NrOiAgICAgIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5v LgogICAgICBjYXNlIF9fTlJfZnN0YXRmczogICAgLy8gR2l2ZSBpbmZvcm1hdGlvbiBhYm91dCB0 aGUgd2hvbGUgZmlsZXN5c3RlbS4KICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X2FybV9fKSB8fCBcCkBAIC00MDIsNyArNDAwLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5 NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9vbGRmc3RhdDoKICAjZW5kaWYKICAjaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8 fCBcCi1AQCAtMTk5LDYgKzIwNiw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVT eXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKK0BAIC0yMDYsNiArMjEzLDggQEAgYm9vbCBT eXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBzeXNubykgewog ICAgICBjYXNlIF9fTlJfc3luY19maWxlX3JhbmdlOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJy bm8uCiAgI2VsaWYgZGVmaW5lZChfX2FybV9fKQogICAgICBjYXNlIF9fTlJfYXJtX3N5bmNfZmls ZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgpAQCAtNDExLDcgKzQwOSw3IEBA IGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICNlbmRpZgogICAgICBkZWZhdWx0 OgogICAgICAgIHJldHVybiBmYWxzZTsKLUBAIC0yMjQsNyArMjMzLDggQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNEZW5pZWRGaWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7CitAQCAtMjMx LDcgKzI0MCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkRmlsZVN5c3RlbUFjY2Vzc1Zp YUZkKGludCBzeXNubykgewogICNlbmRpZgogICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM2NDogIC8v IEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCkBA IC00MjEsNyArNDE5LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAg IGNhc2UgX19OUl9yZWFkZGlyOgogICNlbmRpZgogICAgICAgIHJldHVybiB0cnVlOwotQEAgLTI2 NSw3ICsyNzUsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0dldFNpbXBsZUlkKGludCBzeXNubykg eworQEAgLTI3Miw3ICsyODIsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0dldFNpbXBsZUlkKGlu dCBzeXNubykgewogIGJvb2wgU3lzY2FsbFNldHM6OklzUHJvY2Vzc1ByaXZpbGVnZUNoYW5nZShp bnQgc3lzbm8pIHsKICAgIHN3aXRjaCAoc3lzbm8pIHsKICAgICAgY2FzZSBfX05SX2NhcHNldDoK QEAgLTQzMCw3ICs0MjgsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAg ICAgY2FzZSBfX05SX2lvcGVybTogIC8vIEludGVsIHByaXZpbGVnZS4KICAgICAgY2FzZSBfX05S X2lvcGw6ICAgIC8vIEludGVsIHByaXZpbGVnZS4KICAjZW5kaWYKLUBAIC0zMTYsNyArMzI2LDgg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkU2lnbmFsSGFuZGxpbmcoaW50IHN5c25vKSB7 CitAQCAtMzIzLDcgKzMzMyw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNpZ25hbEhh bmRsaW5nKGludCBzeXNubykgewogICAgICBjYXNlIF9fTlJfcnRfc2lncmV0dXJuOgogICAgICBj YXNlIF9fTlJfcnRfc2lndGltZWR3YWl0OgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fYXJtX18pIHx8IFwKQEAgLTQ0MCw3ICs0MzgsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0 OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3NpZ2FjdGlvbjoKICAgICAgY2FzZSBfX05S X3NpZ3Byb2NtYXNrOgogICAgICBjYXNlIF9fTlJfc2lncmV0dXJuOgotQEAgLTMzMiw3ICszNDMs OCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGluZyhpbnQgc3lzbm8p IHsKK0BAIC0zMzksNyArMzUwLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkU2lnbmFs SGFuZGxpbmcoaW50IHN5c25vKSB7CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl9zaWduYWxmZDQ6 CiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXApAQCAtNDUw LDcgKzQ0OCw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNl IF9fTlJfc2lncGVuZGluZzoKICAgICAgY2FzZSBfX05SX3NpZ3N1c3BlbmQ6CiAgI2VuZGlmCi1A QCAtMzU2LDcgKzM2OCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZE9wZXJhdGlvbk9u RmQoaW50IHN5c25vKSB7CitAQCAtMzYzLDcgKzM3NSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz QWxsb3dlZE9wZXJhdGlvbk9uRmQoaW50IHN5c25vKSB7CiAgI2VuZGlmCiAgICAgIGNhc2UgX19O Ul9kdXAzOgogICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgXApAQCAtNDU5LDcgKzQ1Nyw3IEBAIGluZGV4IGQzNjkzZmQ3 OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfc2h1dGRvd246CiAgI2VuZGlmCiAg ICAgICAgcmV0dXJuIHRydWU7Ci1AQCAtMzkwLDcgKzQwMiw3IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzQWxsb3dlZFByb2Nlc3NTdGFydE9yRGVhdGgoaW50IHN5c25vKSB7CitAQCAtMzk3LDcgKzQw OSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NTdGFydE9yRGVhdGgoaW50 IHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9tZW1iYXJyaWVyOgogICAgICBjYXNlIF9fTlJfd2Fp dDQ6CiAgICAgIGNhc2UgX19OUl93YWl0aWQ6CkBAIC00NjgsNyArNDY2LDcgQEAgaW5kZXggZDM2 OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl93YWl0cGlkOgogICNlbmRp ZgogICAgICAgIHJldHVybiB0cnVlOwotQEAgLTQwNyw3ICs0MTksNyBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgeworQEAgLTQxNCw3 ICs0MjYsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRo KGludCBzeXNubykgewogICNlbmRpZgogICAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgog ICAgICBjYXNlIF9fTlJfdW5zaGFyZToKQEAgLTQ3Nyw3ICs0NzUsNyBAQCBpbmRleCBkMzY5M2Zk NzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX3Zmb3JrOgogICNlbmRpZgogICAg ICBkZWZhdWx0OgotQEAgLTQ1Niw3ICs0NjgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93 ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKK0BAIC00NjMsNyArNDc1LDcgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CiAg ICAgICAgcmV0dXJuIHRydWU7CiAgICAgIGRlZmF1bHQ6CiAgI2lmIGRlZmluZWQoX194ODZfNjRf XykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCkBAIC00ODYs NyArNDg0LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2Ug X19OUl9zb2NrZXRwYWlyOiAgLy8gV2Ugd2lsbCB3YW50IHRvIGluc3BlY3QgaXRzIGFyZ3VtZW50 LgogICNlbmRpZgogICAgICAgIHJldHVybiBmYWxzZTsKLUBAIC00NjYsNyArNDc4LDcgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKSB7CitA QCAtNDczLDcgKzQ4NSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5 U29ja2V0KGludCBzeXNubykgewogIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2Rp ZnlTb2NrZXQoaW50IHN5c25vKSB7CiAgICBzd2l0Y2ggKHN5c25vKSB7CiAgI2lmIGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBc CkBAIC00OTUsNyArNDkzLDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAg ICAgIGNhc2UgX19OUl9hY2NlcHQ6CiAgICAgIGNhc2UgX19OUl9hY2NlcHQ0OgogICAgICBjYXNl IF9fTlJfYmluZDoKLUBAIC00ODEsNyArNDkzLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5p ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKK0BAIC00ODgsNyArNTAwLDggQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNEZW5pZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKICB9 CiAgCiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKQEAgLTUwNSw3ICs1MDMsNyBAQCBpbmRl eCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAvLyBCaWcgbXVsdGlwbGV4aW5nIHN5c3Rl bSBjYWxsIGZvciBzb2NrZXRzLgogIGJvb2wgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChpbnQg c3lzbm8pIHsKICAgIHN3aXRjaCAoc3lzbm8pIHsKLUBAIC00OTUsNyArNTA4LDggQEAgYm9vbCBT eXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKGludCBzeXNubykgeworQEAgLTUwMiw3ICs1MTUsOCBA QCBib29sIFN5c2NhbGxTZXRzOjpJc1NvY2tldENhbGwoaW50IHN5c25vKSB7CiAgfQogICNlbmRp ZgogIApAQCAtNTE1LDcgKzUxMyw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0 NAogIGJvb2wgU3lzY2FsbFNldHM6OklzTmV0d29ya1NvY2tldEluZm9ybWF0aW9uKGludCBzeXNu bykgewogICAgc3dpdGNoIChzeXNubykgewogICAgICBjYXNlIF9fTlJfZ2V0cGVlcm5hbWU6Ci1A QCAtNTIwLDcgKzUzNCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFj ZUFjY2VzcyhpbnQgc3lzbm8pIHsKK0BAIC01MjcsNyArNTQxLDcgQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNlQWNjZXNzKGludCBzeXNubykgewogICAgICBjYXNlIF9f TlJfbWluY29yZToKICAgICAgY2FzZSBfX05SX21sb2NrYWxsOgogICNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKQEAg LTUyNCw3ICs1MjIsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAg Y2FzZSBfX05SX21tYXA6CiAgI2VuZGlmCiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19hcm1fXykgfHwgXAotQEAgLTU1MCw3ICs1NjQsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRHZW5lcmFsSW8oaW50IHN5c25vKSB7CitAQCAtNTU3LDcgKzU3MSw4IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzQWxsb3dlZEdlbmVyYWxJbyhpbnQgc3lzbm8pIHsKICAgIHN3aXRjaCAo c3lzbm8pIHsKICAgICAgY2FzZSBfX05SX2xzZWVrOgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKQEAgLTUzNCw3ICs1MzIsNyBAQCBpbmRleCBkMzY5M2Zk NzguLmQ0OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX19sbHNlZWs6CiAgI2VuZGlmCiAg I2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQotQEAgLTU2MiwyNiArNTc3LDI4IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZEdlbmVyYWxJbyhpbnQgc3lzbm8pIHsKK0BAIC01NjksMjYgKzU4 NCwyOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50IHN5c25vKSB7 CiAgICAgIGNhc2UgX19OUl9yZWFkdjoKICAgICAgY2FzZSBfX05SX3ByZWFkNjQ6CiAgI2lmIGRl ZmluZWQoX19hcm1fXykgfHwgXApAQCAtNTY5LDcgKzU2Nyw3IEBAIGluZGV4IGQzNjkzZmQ3OC4u ZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfc2VuZG1zZzogIC8vIENvdWxkIHNwZWNp ZnkgZGVzdGluYXRpb24uCiAgICAgIGNhc2UgX19OUl9zZW5kdG86ICAgLy8gQ291bGQgc3BlY2lm eSBkZXN0aW5hdGlvbi4KICAjZW5kaWYKLUBAIC02MzgsNyArNjU1LDggQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVsZXIoaW50IHN5c25vKSB7CitAQCAtNjQ1LDcgKzY2 Miw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEJhc2ljU2NoZWR1bGVyKGludCBzeXNu bykgewogICAgICAgIHJldHVybiB0cnVlOwogICAgICBjYXNlIF9fTlJfZ2V0cHJpb3JpdHk6CiAg I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXApAQCAtNTc5LDcg KzU3Nyw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9f TlJfbmljZToKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX3NldHByaW9yaXR5OgotQEAgLTY1MCw3 ICs2NjgsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRCYXNpY1NjaGVkdWxlcihpbnQg c3lzbm8pIHsKK0BAIC02NTcsNyArNjc1LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2Vk QmFzaWNTY2hlZHVsZXIoaW50IHN5c25vKSB7CiAgYm9vbCBTeXNjYWxsU2V0czo6SXNBZG1pbk9w ZXJhdGlvbihpbnQgc3lzbm8pIHsKICAgIHN3aXRjaCAoc3lzbm8pIHsKICAjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCkBAIC01ODksNyArNTg3LDcgQEAgaW5k ZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9iZGZsdXNoOgog ICNlbmRpZgogICAgICBjYXNlIF9fTlJfa2V4ZWNfbG9hZDoKLUBAIC02NjYsNyArNjg1LDggQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBZG1pbk9wZXJhdGlvbihpbnQgc3lzbm8pIHsKK0BAIC02NzMs NyArNjkyLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBZG1pbk9wZXJhdGlvbihpbnQgc3lzbm8p IHsKICAKICBib29sIFN5c2NhbGxTZXRzOjpJc0tlcm5lbE1vZHVsZShpbnQgc3lzbm8pIHsKICAg IHN3aXRjaCAoc3lzbm8pIHsKQEAgLTU5OSw3ICs1OTcsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0 OTJjZjk0YiAxMDA2NDQKICAgICAgY2FzZSBfX05SX2NyZWF0ZV9tb2R1bGU6CiAgICAgIGNhc2Ug X19OUl9nZXRfa2VybmVsX3N5bXM6ICAvLyBTaG91bGQgRU5PU1lTLgogICAgICBjYXNlIF9fTlJf cXVlcnlfbW9kdWxlOgotQEAgLTY5OSw3ICs3MTksOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0Zz Q29udHJvbChpbnQgc3lzbm8pIHsKK0BAIC03MDYsNyArNzI2LDggQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNGc0NvbnRyb2woaW50IHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9zd2Fwb2ZmOgogICAg ICBjYXNlIF9fTlJfc3dhcG9uOgogICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCkBAIC02MDks NyArNjA3LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2Ug X19OUl91bW91bnQ6CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl91bW91bnQyOgotQEAgLTcxNSw3 ICs3MzYsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc051bWEoaW50IHN5c25vKSB7CitAQCAtNzIy LDcgKzc0Myw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTnVtYShpbnQgc3lzbm8pIHsKICAgICAg Y2FzZSBfX05SX2dldGNwdToKICAgICAgY2FzZSBfX05SX21iaW5kOgogICNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwK QEAgLTYxOCw3ICs2MTYsNyBAQCBpbmRleCBkMzY5M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAg ICAgY2FzZSBfX05SX21pZ3JhdGVfcGFnZXM6CiAgI2VuZGlmCiAgICAgIGNhc2UgX19OUl9tb3Zl X3BhZ2VzOgotQEAgLTc0NCwxNCArNzY1LDE1IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2xvYmFs UHJvY2Vzc0Vudmlyb25tZW50KGludCBzeXNubykgeworQEAgLTc1MSwxNCArNzcyLDE1IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzR2xvYmFsUHJvY2Vzc0Vudmlyb25tZW50KGludCBzeXNubykgewog ICAgc3dpdGNoIChzeXNubykgewogICAgICBjYXNlIF9fTlJfYWNjdDogIC8vIFByaXZpbGVnZWQu CiAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX21pcHNfXykgfHwgXApAQCAtNjM3LDcgKzYzNSw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5 MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfdWxpbWl0OgogICNlbmRpZgogICAgICBjYXNl IF9fTlJfZ2V0cnVzYWdlOgotQEAgLTc4NSw3ICs4MDcsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0dsb2JhbFN5c3RlbVN0YXR1cyhpbnQgc3lzbm8pIHsKK0BAIC03OTIsNyArODE0LDcgQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNHbG9iYWxTeXN0ZW1TdGF0dXMoaW50IHN5c25vKSB7CiAgI2VuZGlm CiAgICAgIGNhc2UgX19OUl9zeXNpbmZvOgogICAgICBjYXNlIF9fTlJfdW5hbWU6CkBAIC02NDYs NyArNjQ0LDcgQEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2Ug X19OUl9vbGR1bmFtZToKICAgICAgY2FzZSBfX05SX29sZG9sZHVuYW1lOgogICNlbmRpZgotQEAg LTg0Nyw4ICs4NjksMTYgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WU2VtYXBob3Jlcyhp bnQgc3lzbm8pIHsKK0BAIC04NTQsOCArODc2LDE2IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lz dGVtVlNlbWFwaG9yZXMoaW50IHN5c25vKSB7CiAgfQogICNlbmRpZgogIApAQCAtNjY0LDcgKzY2 Miw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICAoZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkKICAvLyBU aGVzZSBnaXZlIGEgbG90IG9mIGFtYmllbnQgYXV0aG9yaXR5IGFuZCBieXBhc3MgdGhlIHNldHVp ZCBzYW5kYm94LgogIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVlNoYXJlZE1lbW9yeShpbnQg c3lzbm8pIHsKLUBAIC04ODAsNyArOTEwLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1W TWVzc2FnZVF1ZXVlKGludCBzeXNubykgeworQEAgLTg4Nyw3ICs5MTcsOCBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc1N5c3RlbVZNZXNzYWdlUXVldWUoaW50IHN5c25vKSB7CiAgI2VuZGlmCiAgCiAg I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKQEAgLTY3NCw3ICs2NzIsNyBAQCBpbmRleCBkMzY5 M2ZkNzguLmQ0OTJjZjk0YiAxMDA2NDQKICAvLyBCaWcgc3lzdGVtIFYgbXVsdGlwbGV4aW5nIHN5 c3RlbSBjYWxsLgogIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVklwYyhpbnQgc3lzbm8pIHsK ICAgIHN3aXRjaCAoc3lzbm8pIHsKLUBAIC05MDAsNyArOTMxLDggQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNBbnlTeXN0ZW1WKGludCBzeXNubykgeworQEAgLTkwNyw3ICs5MzgsOCBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0FueVN5c3RlbVYoaW50IHN5c25vKSB7CiAgICByZXR1cm4gSXNTeXN0ZW1W TWVzc2FnZVF1ZXVlKHN5c25vKSB8fCBJc1N5c3RlbVZTZW1hcGhvcmVzKHN5c25vKSB8fAogICAg ICAgICAgIElzU3lzdGVtVlNoYXJlZE1lbW9yeShzeXNubyk7CiAgI2VsaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgXApAQCAtNjg0LDcgKzY4Miw3IEBAIGluZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRi IDEwMDY0NAogICAgcmV0dXJuIElzU3lzdGVtVklwYyhzeXNubyk7CiAgI2VuZGlmCiAgfQotQEAg LTk1Myw3ICs5ODUsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZhTm90aWZ5KGludCBzeXNubykg eworQEAgLTk2MCw3ICs5OTIsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZhTm90aWZ5KGludCBz eXNubykgewogIGJvb2wgU3lzY2FsbFNldHM6OklzVGltZXIoaW50IHN5c25vKSB7CiAgICBzd2l0 Y2ggKHN5c25vKSB7CiAgICAgIGNhc2UgX19OUl9nZXRpdGltZXI6CkBAIC02OTQsNyArNjkyLDcg QEAgaW5kZXggZDM2OTNmZDc4Li5kNDkyY2Y5NGIgMTAwNjQ0CiAgICAgIGNhc2UgX19OUl9hbGFy bToKICAjZW5kaWYKICAgICAgY2FzZSBfX05SX3NldGl0aW1lcjoKLUBAIC0xMDEyLDE4ICsxMDQ1 LDIyIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8pIHsKK0BAIC0xMDE5LDE4 ICsxMDUyLDIyIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzTWlzYyhpbnQgc3lzbm8pIHsKICAgICAg Y2FzZSBfX05SX3N5bmNmczoKICAgICAgY2FzZSBfX05SX3ZoYW5ndXA6CiAgLy8gVGhlIHN5c3Rl bSBjYWxscyBiZWxvdyBhcmUgbm90IGltcGxlbWVudGVkLgpAQCAtNzIxLDcgKzcxOSw3IEBAIGlu ZGV4IGQzNjkzZmQ3OC4uZDQ5MmNmOTRiIDEwMDY0NAogICAgICBjYXNlIF9fTlJfZ3R0eToKICAg ICAgY2FzZSBfX05SX2lkbGU6CiAgICAgIGNhc2UgX19OUl9sb2NrOgotQEAgLTEwMzEsMjAgKzEw NjgsMjIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNubykgeworQEAgLTEwMzgs MjAgKzEwNzUsMjIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNubykgewogICAg ICBjYXNlIF9fTlJfcHJvZjoKICAgICAgY2FzZSBfX05SX3Byb2ZpbDoKICAjZW5kaWYKQEAgLTg4 OSw3ICs4ODcsNyBAQCBpbmRleCBlNDdlOThiZjUuLmQ1M2E3ZmY1NiAxMDA2NDQKICAgIFNFQ0NP TVBfUkVTVUxUKGN0eCkgPSBzdGF0aWNfY2FzdDxncmVnX3Q+KHJldF92YWwpOwogIH0KIGRpZmYg LS1naXQgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNjIHNhbmRib3gvbGludXgvc2Vj Y29tcC1icGYvdHJhcC5jYwotaW5kZXggOTg4NGJlOGJiLi45OGU0MzcxYWEgMTAwNjQ0CitpbmRl eCBmNWI4NmE3M2EuLjVlNmM0YTA2OCAxMDA2NDQKIC0tLSBzYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmL3RyYXAuY2MKICsrKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKIEBAIC0y MzIsNiArMjMyLDIwIEBAIHZvaWQgVHJhcDo6U2lnU3lzKGludCBuciwgTGludXhTaWdJbmZvKiBp bmZvLCB1Y29udGV4dF90KiBjdHgpIHsKQEAgLTk0MCwyMyArOTM4LDIzIEBAIGluZGV4IGZjZmQy YWExMi4uZjZlYjMyZmI3IDEwMDY0NAogICAgcmV0dXJuIHN5c2NhbGwoX19OUl9jbG9uZSwgZmxh Z3MsIGNoaWxkX3N0YWNrLCBwdGlkLCB0bHMsIGN0aWQpOwogICNlbmRpZgogZGlmZiAtLWdpdCBz YW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjIHNhbmRib3gvbGlu dXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MKLWluZGV4IDgzMjFkMjM3OS4uN2U1 YWQxZGUzIDEwMDY0NAoraW5kZXggZDcyYzlkMjM4Li43N2YxZDk1ZjUgMTAwNjQ0CiAtLS0gc2Fu ZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzcy5jYwogKysrIHNhbmRib3gv bGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MKLUBAIC0xNTcsNyArMTU3LDcg QEAgYm9vbCBCcm9rZXJQcm9jZXNzOjpJc1N5c2NhbGxBbGxvd2VkKGludCBzeXNubykgY29uc3Qg ewotICNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdCkKLSAgICAgY2FzZSBfX05SX2ZzdGF0YXQ6CitA QCAtMTY5LDcgKzE2OSw3IEBAIGJvb2wgQnJva2VyUHJvY2Vzczo6SXNTeXNjYWxsQnJva2VyYWJs ZShpbnQgc3lzbm8sIGJvb2wgZmFzdF9jaGVjaykgY29uc3QgeworICNpZiBkZWZpbmVkKF9fTlJf ZnN0YXRhdDY0KQorICAgICBjYXNlIF9fTlJfZnN0YXRhdDY0OgogICNlbmRpZgogLSNpZiBkZWZp bmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pCiArI2lmIGRlZmluZWQoX194 ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQogICAgICBjYXNlIF9fTlJfbmV3ZnN0YXRhdDoKICAjZW5kaWYKLSAgICAgICByZXR1cm4gIWZh c3RfY2hlY2tfaW5fY2xpZW50XyB8fCBhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0KENPTU1BTkRf U1RBVCk7CisgICAgICAgcmV0dXJuICFmYXN0X2NoZWNrIHx8IGFsbG93ZWRfY29tbWFuZF9zZXRf LnRlc3QoQ09NTUFORF9TVEFUKTsKIGRpZmYgLS1naXQgc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy9saW51eF9zZWNjb21wLmggc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9z ZWNjb21wLmgKLWluZGV4IGE2MGZlMmFkMy4uOWRjY2RiNTFkIDEwMDY0NAoraW5kZXggMWZhNDdl ZDA5Li4zOWNjOWFiNTMgMTAwNjQ0CiAtLS0gc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9s aW51eF9zZWNjb21wLmgKICsrKyBzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3Nl Y2NvbXAuaAotQEAgLTI5LDYgKzI5LDkgQEAKK0BAIC00MSw2ICs0MSw5IEBACiAgI2lmbmRlZiBF TV9BQVJDSDY0CiAgI2RlZmluZSBFTV9BQVJDSDY0IDE4MwogICNlbmRpZgpAQCAtOTY2LDcgKzk2 NCw3IEBAIGluZGV4IGE2MGZlMmFkMy4uOWRjY2RiNTFkIDEwMDY0NAogIAogICNpZm5kZWYgX19B VURJVF9BUkNIXzY0QklUCiAgI2RlZmluZSBfX0FVRElUX0FSQ0hfNjRCSVQgMHg4MDAwMDAwMAot QEAgLTU0LDYgKzU3LDEyIEBACitAQCAtNzMsNiArNzYsMTIgQEAKICAjaWZuZGVmIEFVRElUX0FS Q0hfQUFSQ0g2NAogICNkZWZpbmUgQVVESVRfQVJDSF9BQVJDSDY0IChFTV9BQVJDSDY0IHwgX19B VURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQogICNlbmRpZgpAQCAtMTA1NSwxMyAr MTA1MywxMyBAQCBpbmRleCAwMDAwMDAwMDAuLjA3NzI4ZTA4NwogKy8vVE9ETzogaXMgaXQgbmVj ZXNzYXJ5IHRvIHJlZGVmaW5lIHVjb250ZXh0IG9uIFBQQzY0PwogKwogKyNlbmRpZiAgLy8gU0FO REJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9VQ09OVEVYVF9IXwotZGlmZiAt LWdpdCBzZXJ2aWNlcy9zZXJ2aWNlX21hbmFnZXIvc2FuZGJveC9saW51eC9icGZfcmVuZGVyZXJf cG9saWN5X2xpbnV4LmNjIHNlcnZpY2VzL3NlcnZpY2VfbWFuYWdlci9zYW5kYm94L2xpbnV4L2Jw Zl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKLWluZGV4IGZiODliMzM1Ni4uMWU5ODQ3MzFlIDEw MDY0NAorZGlmZiAtLWdpdCBzYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5 X2xpbnV4LmNjIHNhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXgu Y2MKK2luZGV4IDI1ODhmYzc5Mi4uZDQ1NWM0NjAxIDEwMDY0NAogLS0tIHNhbmRib3gvcG9saWN5 L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKICsrKyBzYW5kYm94L3BvbGljeS9s aW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCiBAQCAtMTUsNiArMTUsMTEgQEAKICAj aW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oIgot ICNpbmNsdWRlICJzZXJ2aWNlcy9zZXJ2aWNlX21hbmFnZXIvc2FuZGJveC9saW51eC9zYW5kYm94 X2xpbnV4LmgiCisgI2luY2x1ZGUgInNhbmRib3gvcG9saWN5L2xpbnV4L3NhbmRib3hfbGludXgu aCIKICAKICsvLyBPbiBQUEM2NCwgVENHRVRTIGlzIGRlZmluZWQgaW4gdGVybXMgb2Ygc3RydWN0 IHRlcm1pb3MsIHNvIHdlIG11c3QgaW5jbHVkZSB0ZXJtaW9zLmgKICsjaWZkZWYgX19wb3dlcnBj NjRfXwpAQCAtMTA3Miw3ICsxMDcwLDcgQEAgaW5kZXggZmI4OWIzMzU2Li4xZTk4NDczMWUgMTAw NjQ0CiAgLy8gPGxpbnV4L2RtYS1idWYuaD4gb25jZSBrZXJuZWwgdmVyc2lvbiA0LjYgYmVjb21l cyB3aWRlbHkgdXNlZC4KICAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KIGRpZmYgLS1naXQgdGhp cmRfcGFydHkvYW5nbGUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSW5mb1NpbmsuaCB0aGlyZF9w YXJ0eS9hbmdsZS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbmZvU2luay5oCi1pbmRleCAzYTgw N2UxZS4uNTI1ODYxN2EgMTAwNjQ0CitpbmRleCAzYTgwN2UxZTMuLjUyNTg2MTdhNyAxMDA2NDQK IC0tLSB0aGlyZF9wYXJ0eS9hbmdsZS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbmZvU2luay5o CiArKysgdGhpcmRfcGFydHkvYW5nbGUvc3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSW5mb1Npbmsu aAogQEAgLTkyLDcgKzkyLDE2IEBAIGNsYXNzIFRJbmZvU2lua0Jhc2UKQEAgLTEwOTQsNyArMTA5 Miw3IEBAIGluZGV4IDNhODA3ZTFlLi41MjU4NjE3YSAxMDA2NDQKICAgICAgfQogICAgICAvLyBX cml0ZSBib29sZWFuIHZhbHVlcyBhcyB0aGVpciBuYW1lcyBpbnN0ZWFkIG9mIGludGVncmFsIHZh bHVlLgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9hbmdsZS9zcmMvbGliQU5HTEUvQ29uc3RhbnRz LmggdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCi1pbmRleCA0Mjk2 NGNjMS4uNjYwN2RlZWIgMTAwNjQ0CitpbmRleCBmY2JjOTI0NmEuLjM5YWU2NjE0OCAxMDA2NDQK IC0tLSB0aGlyZF9wYXJ0eS9hbmdsZS9zcmMvbGliQU5HTEUvQ29uc3RhbnRzLmgKICsrKyB0aGly ZF9wYXJ0eS9hbmdsZS9zcmMvbGliQU5HTEUvQ29uc3RhbnRzLmgKIEBAIC05LDYgKzksNyBAQApA QCAtMTEwNiwxMCArMTEwNCwxMCBAQCBpbmRleCA0Mjk2NGNjMS4uNjYwN2RlZWIgMTAwNjQ0CiAg CiAgI2luY2x1ZGUgPHN0ZGludC5oPgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9ib3Jpbmdzc2wv QlVJTEQuZ24gdGhpcmRfcGFydHkvYm9yaW5nc3NsL0JVSUxELmduCi1pbmRleCBiNDM1NDk5ZjQu LmFjOGE4NGI2ZCAxMDA2NDQKK2luZGV4IDE3Y2Y5Y2RhOS4uOGNlOTZiZDMyIDEwMDY0NAogLS0t IHRoaXJkX3BhcnR5L2JvcmluZ3NzbC9CVUlMRC5nbgogKysrIHRoaXJkX3BhcnR5L2JvcmluZ3Nz bC9CVUlMRC5nbgotQEAgLTEwMSw2ICsxMDEsMTMgQEAgaWYgKGlzX3dpbiAmJiAhaXNfbXNhbiAm JiBjdXJyZW50X2NwdSAhPSAiYXJtNjQiKSB7CitAQCAtMTAzLDYgKzEwMywxMyBAQCBpZiAoaXNf d2luICYmICFpc19tc2FuICYmIGN1cnJlbnRfY3B1ICE9ICJhcm02NCIpIHsKICAgICAgICB9IGVs c2UgewogICAgICAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6bm9fYXNtX2NvbmZpZyIgXQogICAg ICAgIH0KQEAgLTExMjQsMTAgKzExMjIsMTAgQEAgaW5kZXggYjQzNTQ5OWY0Li5hYzhhODRiNmQg MTAwNjQ0CiAgICAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6bm9fYXNtX2NvbmZpZyIgXQogICAg ICB9CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL0JVSUxELmduIHRoaXJkX3BhcnR5 L2JyZWFrcGFkL0JVSUxELmduCi1pbmRleCA1NjE3ZGU4OC4uZGM4YmMxNzYgMTAwNjQ0CitpbmRl eCA0YWYzZDdiYmYuLmFkYmY1NDE1OSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9C VUlMRC5nbgogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL0JVSUxELmduCi1AQCAtNTk4LDcgKzU5 OCw2IEBAIGlmIChpc19saW51eCB8fCBpc19hbmRyb2lkKSB7CitAQCAtNTk2LDcgKzU5Niw2IEBA IGlmIChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRyb2lkKSB7CiAgICAgICAgImJy ZWFrcGFkL3NyYy9jbGllbnQvbWluaWR1bXBfZmlsZV93cml0ZXIuaCIsCiAgICAgICAgImJyZWFr cGFkL3NyYy9jb21tb24vY29udmVydF9VVEYuY2MiLAogICAgICAgICJicmVha3BhZC9zcmMvY29t bW9uL2NvbnZlcnRfVVRGLmgiLApAQCAtMTEzNSw3ICsxMTMzLDcgQEAgaW5kZXggNTYxN2RlODgu LmRjOGJjMTc2IDEwMDY0NAogICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZl9j b3JlX2R1bXAuY2MiLAogICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZl9jb3Jl X2R1bXAuaCIsCiAgICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmdXRpbHMuY2Mi LAotQEAgLTYzNiw2ICs2MzUsMTQgQEAgaWYgKGlzX2xpbnV4IHx8IGlzX2FuZHJvaWQpIHsKK0BA IC02MzQsNiArNjMzLDE0IEBAIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRy b2lkKSB7CiAgCiAgICAgIGxpYnMgPSBbICJkbCIgXQogIApAQCAtMTE1MCw3ICsxMTQ4LDcgQEAg aW5kZXggNTYxN2RlODguLmRjOGJjMTc2IDEwMDY0NAogICAgICBpbmNsdWRlX2RpcnMgPSBbCiAg ICAgICAgIi4iLAogICAgICAgICJicmVha3BhZC9zcmMiLAotQEAgLTY4Niw3ICs2OTMsNiBAQCBp ZiAoaXNfbGludXggfHwgaXNfYW5kcm9pZCkgeworQEAgLTY4Miw3ICs2ODksNiBAQCBpZiAoaXNf bGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pZCkgewogICAgICAgICJicmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3Qu Y2MiLAogICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9t aW5pZHVtcF93cml0ZXJfdW5pdHRlc3RfdXRpbHMuY2MiLAogICAgICAgICJicmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9wcm9jX2NwdWluZm9fcmVhZGVyX3VuaXR0ZXN0 LmNjIiwKQEAgLTExNTksNyArMTE1Nyw3IEBAIGluZGV4IDU2MTdkZTg4Li5kYzhiYzE3NiAxMDA2 NDQKICAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9maWxlX2lkX3VuaXR0ZXN0LmNj IiwKICAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9saW51eF9saWJjX3N1cHBvcnRf dW5pdHRlc3QuY2MiLAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaCB0aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2Nv bW1vbi9yYXdfY29udGV4dF9jcHUuaAotaW5kZXggMDdkOTE3MWEuLjlhZWQ0Y2IzIDEwMDY0NAor aW5kZXggMDdkOTE3MWEwLi45YWVkNGNiMzYgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRl eHRfY3B1LmgKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaAogQEAgLTQ0LDYgKzQ0LDgg QEAgdHlwZWRlZiBNRFJhd0NvbnRleHRBUk0gUmF3Q29udGV4dENQVTsKQEAgLTExNzIsNyArMTE3 MCw3IEBAIGluZGV4IDA3ZDkxNzFhLi45YWVkNGNiMyAxMDA2NDQKICAjZXJyb3IgIlRoaXMgY29k ZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKICAjZW5kaWYKIGRp ZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9k dW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MK LWluZGV4IGFhZTFkYzEzLi4wM2FmZWM3YSAxMDA2NDQKK2luZGV4IGFhZTFkYzEzYi4uMDNhZmVj N2E1IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjCiArKysgdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhy ZWFkX2luZm8uY2MKIEBAIC0yNzAsNyArMjcwLDQyIEBAIHZvaWQgVGhyZWFkSW5mbzo6RmlsbENQ VUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0KSBjb25zdCB7CkBAIC0xMjU4LDcgKzEyNTYsNyBA QCBpbmRleCBhYWUxZGMxMy4uMDNhZmVjN2EgMTAwNjQ0CiArCiAgfSAgLy8gbmFtZXNwYWNlIGdv b2dsZV9icmVha3BhZAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oIHRoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3RocmVhZF9pbmZvLmgKLWluZGV4IGZiMjE2ZmE2Li41OTNhYWM4MiAxMDA2NDQKK2luZGV4IGZi MjE2ZmE2ZC4uNTkzYWFjODIyIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKICsr KyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3Jp dGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCiBAQCAtNjgsNiArNjgsMTAgQEAgc3RydWN0IFRocmVh ZEluZm8gewpAQCAtMTI4NSwxMCArMTI4MywxMCBAQCBpbmRleCBmYjIxNmZhNi4uNTkzYWFjODIg MTAwNjQ0CiAgCiAgfSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZAogZGlmZiAtLWdpdCB0 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVy X2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjCi1p bmRleCBlZTUxNWM0MS4uMTA5MDQ3MGYgMTAwNjQ0CitpbmRleCA2ZWVjMWJlMjQuLjc0MTk4M2Ex YSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKICsrKyB0aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91 Y29udGV4dF9yZWFkZXIuY2MKLUBAIC0yNTQsNiArMjU0LDQ4IEBAIHZvaWQgVUNvbnRleHRSZWFk ZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAq dWMpIHsKK0BAIC0yNTQsNiArMjU0LDQ4IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVD b250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMpIHsKICAgIG91 dC0+ZmxvYXRfc2F2ZS5maXIgPSB1Yy0+dWNfbWNvbnRleHQuZnBjX2VpcjsgIC8vIFVudXNlZC4K ICAjZW5kaWYKICB9CkBAIC0xMzM4LDIxICsxMzM2LDIxIEBAIGluZGV4IGVlNTE1YzQxLi4xMDkw NDcwZiAxMDA2NDQKICAKICB9ICAvLyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkCiBkaWZmIC0t Z2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93 cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5o Ci1pbmRleCA4ZTc0YThhNS4uN2NiNjY3YTcgMTAwNjQ0CitpbmRleCA3ZDQxMDA4ODEuLmMxMjJh YzkyZSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAogKysrIHRoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3Vjb250ZXh0X3JlYWRlci5oCiBAQCAtNTUsNiArNTUsOSBAQCBzdHJ1Y3QgVUNvbnRleHRSZWFk ZXIgewogICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCi0gICBzdGF0aWMgdm9pZCBGaWxsQ1BV Q29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjLAorICAgc3Rh dGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0LCBjb25zdCB1Y29udGV4 dF90KiB1YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmcHNp bWRfY29udGV4dCogZnByZWdzKTsKICsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCiArICBz dGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250 ZXh0X3QgKnVjLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnJyZWdzZXRf dCogdnJlZ3MpOwogICNlbHNlCi0gICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250 ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjKTsKKyAgIHN0YXRpYyB2b2lkIEZpbGxD UFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMpOwogICNl bmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi1p bmRleCBjNjVmZWFhMS4uNWE3YWI1MGMgMTAwNjQ0CitpbmRleCBhNmNiNWY5ODQuLmFlMTZiNjRk OSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MK IEBAIC00NjEsOSArNDYxLDE2IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFs KGludCAvKnNpZyovLCBzaWdpbmZvX3QqIGluZm8sIHZvaWQqIHVjKSB7CkBAIC0xMzczLDcgKzEz NzEsNyBAQCBpbmRleCBjNjVmZWFhMS4uNWE3YWI1MGMgMTAwNjQ0CiAgICAvLyBhbmQgJ2Zsb2F0 X3N0YXRlJyBpcyBub3QgYSBtZW1iZXIgb2YgQ3Jhc2hDb250ZXh0LgogICAgdWNvbnRleHRfdCog dWNfcHRyID0gKHVjb250ZXh0X3QqKXVjOwogICAgaWYgKHVjX3B0ci0+dWNfbWNvbnRleHQuZnBy ZWdzKSB7Ci1AQCAtNzAxLDExICs3MDgsMTkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0 ZU1pbmlkdW1wKCkgeworQEAgLTcwOCwxMSArNzE1LDE5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxl cjo6V3JpdGVNaW5pZHVtcCgpIHsKICAgIH0KICAjZW5kaWYKICAKQEAgLTEzOTQsNyArMTM5Miw3 IEBAIGluZGV4IGM2NWZlYWExLi41YTdhYjUwYyAxMDA2NDQKICAgIGNvbnRleHQudGlkID0gc3lz X2dldHRpZCgpOwogIAogICAgLy8gQWRkIGFuIGV4Y2VwdGlvbiBzdHJlYW0gdG8gdGhlIG1pbmlk dW1wIGZvciBiZXR0ZXIgcmVwb3J0aW5nLgotQEAgLTcyNiw2ICs3NDEsOSBAQCBib29sIEV4Y2Vw dGlvbkhhbmRsZXI6OldyaXRlTWluaWR1bXAoKSB7CitAQCAtNzMzLDYgKzc0OCw5IEBAIGJvb2wg RXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKICAjZWxpZiBkZWZpbmVkKF9fbWlw c19fKQogICAgY29udGV4dC5zaWdpbmZvLnNpX2FkZHIgPQogICAgICAgIHJlaW50ZXJwcmV0X2Nh c3Q8dm9pZCo+KGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5wYyk7CkBAIC0xNDA1LDcgKzE0 MDMsNyBAQCBpbmRleCBjNjVmZWFhMS4uNWE3YWI1MGMgMTAwNjQ0CiAgI2Vycm9yICJUaGlzIGNv ZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCiAgI2VuZGlmCiBk aWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv aGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi1pbmRleCBmNDQ0 ODNmZi4uMzZjZTZkNmMgMTAwNjQ0CitpbmRleCBmODA4NDNlYTcuLjI2MGRkMTBmNyAxMDA2NDQK IC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRs ZXIvZXhjZXB0aW9uX2hhbmRsZXIuaAogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCiBAQCAtMTkyLDcg KzE5MiwxMSBAQCBjbGFzcyBFeGNlcHRpb25IYW5kbGVyIHsKQEAgLTE0MjIsNyArMTQyMCw3IEBA IGluZGV4IGY0NDQ4M2ZmLi4zNmNlNmQ2YyAxMDA2NDQKICAgICAgLy8gSW4gY2FzZSBvZiBNSVBT IExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBvZiB1Y29udGV4dF90IHNvCiAgICAgIC8v ICdmbG9hdF9zdGF0ZScgaXMgbm90IHJlcXVpcmVkLgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRs ZXJfdW5pdHRlc3QuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCi1pbmRleCA4ZDg4MDlm YS4uZTJlYjAzMWUgMTAwNjQ0CitpbmRleCAzNWRjYmZkNGQuLjc5MzQzNzBmZCAxMDA2NDQKIC0t LSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIv ZXhjZXB0aW9uX2hhbmRsZXJfdW5pdHRlc3QuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXJfdW5pdHRl c3QuY2MKIEBAIC0zMDcsNyArMzA3LDcgQEAgVEVTVChFeGNlcHRpb25IYW5kbGVyVGVzdCwgUGFy YWxsZWxDaGlsZENyYXNoZXNEb250SGFuZykgewpAQCAtMTQ1Nyw3ICsxNDU1LDcgQEAgaW5kZXgg OGQ4ODA5ZmEuLmUyZWIwMzFlIDEwMDY0NAogIAogICAgY29uc3QgcGlkX3QgY2hpbGQgPSBmb3Jr KCk7CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjIHRoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1 bXBfd3JpdGVyLmNjCi1pbmRleCBmYTNjMTcxMy4uNmNlNzA5ZTIgMTAwNjQ0CitpbmRleCBmYTNj MTcxM2EuLjZjZTcwOWUyZiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dyaXRlci5jYwog KysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9k dW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCiBAQCAtMTM4LDcgKzEzOCw5IEBAIGNsYXNz IE1pY3JvZHVtcFdyaXRlciB7CkBAIC0xNTAzLDcgKzE1MDEsNyBAQCBpbmRleCBmYTNjMTcxMy4u NmNlNzA5ZTIgMTAwNjQ0CiAgI2VuZGlmCiAgICBMaW51eER1bXBlciogZHVtcGVyXzsKIGRpZmYg LS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNy b2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MgdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVt cF93cml0ZXJfdW5pdHRlc3QuY2MKLWluZGV4IDYzMzlhYzBjLi4yOTFhZjEwNiAxMDA2NDQKK2lu ZGV4IDYzMzlhYzBjZC4uMjkxYWYxMDZiIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3Jp dGVyX3VuaXR0ZXN0LmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MK IEBAIC0yNzksMTAgKzI3OSwxOSBAQCBURVNUKE1pY3JvZHVtcFdyaXRlclRlc3QsIEJhc2ljV2l0 aE1hcHBpbmdzKSB7CkBAIC0xNTMwLDcgKzE1MjgsNyBAQCBpbmRleCA2MzM5YWMwYy4uMjkxYWYx MDYgMTAwNjQ0CiAgICBBU1NFUlRfTkUoc3RkOjpzdHJpbmc6Om5wb3MsCiAgICAgICAgICAgICAg YnVmLmZpbmQoIk0gMDAwMDEwMDAgMDAwMDAwMkEgMDAwMDEwMDAgIgogZGlmZiAtLWdpdCB0aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRl ci9saW51eF9jb3JlX2R1bXBlci5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYwotaW5kZXgg NDE1MDY4OTguLmI5M2U0YWZjIDEwMDY0NAoraW5kZXggNDE1MDY4OTgzLi5iOTNlNGFmY2YgMTAw NjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3Jl X2R1bXBlci5jYwogQEAgLTExMiw2ICsxMTIsOSBAQCBib29sIExpbnV4Q29yZUR1bXBlcjo6R2V0 VGhyZWFkSW5mb0J5SW5kZXgoc2l6ZV90IGluZGV4LCBUaHJlYWRJbmZvKiBpbmZvKSB7CkBAIC0x NTU2LDcgKzE1NTQsNyBAQCBpbmRleCA0MTUwNjg5OC4uYjkzZTRhZmMgMTAwNjQ0CiAgICAgICAg ICBmb3IgKGludCBpID0gRUZfUjA7IGkgPD0gRUZfUjMxOyBpKyspCiAgICAgICAgICAgIGluZm8u bWNvbnRleHQuZ3JlZ3NbaSAtIEVGX1IwXSA9IHN0YXR1cy0+cHJfcmVnW2ldOwogZGlmZiAtLWdp dCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9saW51eF9kdW1wZXIuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjCi1pbmRleCAxMTEy MDM1Yi4uODUyM2RhZDYgMTAwNjQ0CitpbmRleCA3ZmQ2NTMyYWQuLjE5OWNiZmZmZCAxMDA2NDQK IC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKIEBA IC03NjUsNyArNzY1LDkgQEAgYm9vbCBMaW51eER1bXBlcjo6R2V0U3RhY2tJbmZvKGNvbnN0IHZv aWQqKiBzdGFjaywgc2l6ZV90KiBzdGFja19sZW4sCkBAIC0xNTcxLDcgKzE1NjksNyBAQCBpbmRl eCAxMTEyMDM1Yi4uODUyM2RhZDYgMTAwNjQ0CiAgICBjb25zdCBNYXBwaW5nSW5mbyogbWFwcGlu ZyA9IEZpbmRNYXBwaW5nKHN0YWNrX3BvaW50ZXIpOwogICAgaWYgKCFtYXBwaW5nKQogZGlmZiAt LWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9kdW1wZXIuaCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAotaW5kZXggZjRh NzVkOTAuLjAyMDk4MWY1IDEwMDY0NAoraW5kZXggN2JlZTE2MGYxLi4wN2JiMmI4MWEgMTAwNjQ0 CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAogQEAg LTYzLDcgKzYzLDggQEAgbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZCB7CkBAIC0xNTg1LDcgKzE1 ODMsNyBAQCBpbmRleCBmNGE3NWQ5MC4uMDIwOTgxZjUgMTAwNjQ0CiAgI2VuZGlmCiAgCiBkaWZm IC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlu aWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MgdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhf ZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5jYwotaW5kZXggM2FkNDhlNTAuLjE2ODhjMzY1IDEwMDY0 NAoraW5kZXggMzMxZjRiYjM0Li4zZjcyMjk0N2YgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVt cGVyX3VuaXR0ZXN0X2hlbHBlci5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9o ZWxwZXIuY2MKIEBAIC01MSw2ICs1MSw4IEBACkBAIC0xNTk4LDcgKzE1OTYsNyBAQCBpbmRleCAz YWQ0OGU1MC4uMTY4OGMzNjUgMTAwNjQ0CiAgI2Vycm9yIFRoaXMgdGVzdCBoYXMgbm90IGJlZW4g cG9ydGVkIHRvIHRoaXMgcGxhdGZvcm0uCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4 X3B0cmFjZV9kdW1wZXIuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYwotaW5kZXggZTNk ZGI4MWEuLmZhMjg1NzVlIDEwMDY0NAoraW5kZXggZTNkZGI4MWE2Li5mYTI4NTc1ZWYgMTAwNjQ0 CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYwogKysrIHRoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFj ZV9kdW1wZXIuY2MKIEBAIC0xNDksMTkgKzE0OSwyNyBAQCBib29sIExpbnV4UHRyYWNlRHVtcGVy OjpDb3B5RnJvbVByb2Nlc3Modm9pZCogZGVzdCwgcGlkX3QgY2hpbGQsCkBAIC0xNjQ0LDcgKzE2 NDIsNyBAQCBpbmRleCBlM2RkYjgxYS4uZmEyODU3NWUgMTAwNjQ0CiAgI2Vycm9yICJUaGlzIGNv ZGUgaGFzbid0IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKICAjZW5kaWYKIGRp ZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYyB0aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51 eF9wdHJhY2VfZHVtcGVyX3VuaXR0ZXN0LmNjCi1pbmRleCBlYTZiOWExMi4uOWIzMThmZTAgMTAw NjQ0CitpbmRleCBkYTcxZTE1ZGMuLjEyYmZiMzE3YSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9w dHJhY2VfZHVtcGVyX3VuaXR0ZXN0LmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91 bml0dGVzdC5jYwogQEAgLTQ2Miw2ICs0NjIsOSBAQCBURVNUKExpbnV4UHRyYWNlRHVtcGVyVGVz dCwgVmVyaWZ5U3RhY2tSZWFkV2l0aE11bHRpcGxlVGhyZWFkcykgewpAQCAtMTY2Nyw3ICsxNjY1 LDcgQEAgaW5kZXggZWE2YjlhMTIuLjliMzE4ZmUwIDEwMDY0NAogICNlcnJvciBUaGlzIHRlc3Qg aGFzIG5vdCBiZWVuIHBvcnRlZCB0byB0aGlzIHBsYXRmb3JtLgogICNlbmRpZgogZGlmZiAtLWdp dCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCi1pbmRl eCBmOGNkZjJhMS4uY2I4MDhjMTUgMTAwNjQ0CitpbmRleCAzMjYzNGVmMDAuLjJhNTY5NDhkZSAx MDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93 cml0ZXIuY2MKIEBAIC0xMzYsNyArMTM2LDkgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgewpAQCAt MTcyNCw3ICsxNzIyLDcgQEAgaW5kZXggZjhjZGYyYTEuLmNiODA4YzE1IDEwMDY0NAogICNlbmRp ZgogICAgTGludXhEdW1wZXIqIGR1bXBlcl87CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dy aXRlci5oIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlu aWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5oCi1pbmRleCBlM2IwYjE2ZC4uY2NkOGFhMGEg MTAwNjQ0CitpbmRleCBlM2IwYjE2ZGEuLmNjZDhhYTBhNCAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5p ZHVtcF93cml0ZXIuaAogKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5oCiBAQCAtNDgsNiArNDgs OCBAQCBjbGFzcyBFeGNlcHRpb25IYW5kbGVyOwpAQCAtMTczNyw3ICsxNzM1LDcgQEAgaW5kZXgg ZTNiMGIxNmQuLmNjZDhhYTBhIDEwMDY0NAogIHR5cGVkZWYgc3RkOjpyZW1vdmVfcG9pbnRlcjxm cHJlZ3NldF90Pjo6dHlwZSBmcHN0YXRlX3Q7CiAgI2VuZGlmCiBkaWZmIC0tZ2l0IHRoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21p bmlkdW1wX3dyaXRlcl91bml0dGVzdC5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3Qu Y2MKLWluZGV4IDMwMTdhNDlhLi4zNjRlZmQ3OSAxMDA2NDQKK2luZGV4IGQxOTJlNWNiYi4uZmMx YmZhOGQ3IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlcl91bml0dGVzdC5jYwogKysr IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL21pbmlkdW1wX3dyaXRlcl91bml0dGVzdC5jYwogQEAgLTcxNSw2ICs3MTUsOSBAQCBU RVNUKE1pbmlkdW1wV3JpdGVyVGVzdCwgSW52YWxpZFN0YWNrUG9pbnRlcikgewpAQCAtMTc1MSw3 ICsxNzQ5LDcgQEAgaW5kZXggMzAxN2E0OWEuLjM2NGVmZDc5IDEwMDY0NAogICMgZXJyb3IgIlRo aXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKICAjZW5k aWYKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9s aW51eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MKLWluZGV4IDRlOTM4MjY5Li5m MGZmMTVkOSAxMDA2NDQKK2luZGV4IDk5MzYyOTQ1Yy4uYzU0YmE3MTQ1IDEwMDY0NAogLS0tIHRo aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBl ZF9maWxlLmNjCiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9s aW51eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MKIEBAIC02NSw4ICs2NSw3IEBAIGJvb2wgTWVtb3J5 TWFwcGVkRmlsZTo6TWFwKGNvbnN0IGNoYXIqIHBhdGgsIHNpemVfdCBvZmZzZXQpIHsKQEAgLTE3 NjUsNyArMTc2Myw3IEBAIGluZGV4IDRlOTM4MjY5Li5mMGZmMTVkOSAxMDA2NDQKICAgIGlmIChz eXNfZnN0YXQoZmQsICZzdCkgPT0gLTEgfHwgc3Quc3Rfc2l6ZSA8IDApIHsKICAjZWxzZQogZGlm ZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21l bW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYwotaW5kZXgg ZmFkNTlmNDAuLjYxNjQ5NmQ2IDEwMDY0NAoraW5kZXggZmFkNTlmNDBjLi42MTY0OTZkNjcgMTAw NjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9t ZW1vcnlfbWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYwog QEAgLTE3Niw5ICsxNzYsMTAgQEAgVEVTVF9GKE1lbW9yeU1hcHBlZEZpbGVUZXN0LCBSZW1hcEFm dGVyTWFwKSB7CkBAIC0xNzgzLDEwICsxNzgxLDEwIEBAIGluZGV4IGZhZDU5ZjQwLi42MTY0OTZk NiAxMDA2NDQKICAgICAgZGF0YTFbaV0gPSBpICYgMHg3ZjsKICAgIH0KIGRpZmYgLS1naXQgdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3Vu aXR0ZXN0LmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5 X2FsbG9jYXRvcl91bml0dGVzdC5jYwotaW5kZXggNDNjODYzMTQuLjI3MzI1YjgxIDEwMDY0NAor aW5kZXggNTgwM2I5MGQ1Li4yYTFjZjE0ZjAgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9yX3VuaXR0ZXN0LmNjCiArKysg dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9tZW1vcnlfYWxsb2NhdG9y X3VuaXR0ZXN0LmNjCi1AQCAtNTcsOCArNTcsOSBAQAorQEAgLTU3LDggKzU3LDkgQEAgVEVTVChQ YWdlQWxsb2NhdG9yVGVzdCwgTGFyZ2VPYmplY3QpIHsKICAKICAgIEVYUEVDVF9FUSgwVSwgYWxs b2NhdG9yLnBhZ2VzX2FsbG9jYXRlZCgpKTsKICAgIHVpbnQ4X3QqIHAgPSByZWludGVycHJldF9j YXN0PHVpbnQ4X3QqPihhbGxvY2F0b3IuQWxsb2MoMTAwMDApKTsKQEAgLTE3OTgsNyArMTc5Niw3 IEBAIGluZGV4IDQzYzg2MzE0Li4yNzMyNWI4MSAxMDA2NDQKICAgICAgdWludDhfdCogcCA9IHJl aW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGFsbG9jYXRvci5BbGxvYyhpKSk7CiAgICAgIEFTU0VS VF9GQUxTRShwID09IE5VTEwpOwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNjIHRoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfbGludXguY2MKLWlu ZGV4IGNjYzlmMTQ1Li5kZWJhZWQ0ZCAxMDA2NDQKK2luZGV4IDc5ODA1NmRmYS4uMjJiZDgxZmZm IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3Iv ZXhwbG9pdGFiaWxpdHlfbGludXguY2MKICsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNjCiBAQCAtMjAyLDEyICsyMDIs MTQgQEAgYm9vbCBFeHBsb2l0YWJpbGl0eUxpbnV4OjpFbmRlZE9uSWxsZWdhbFdyaXRlKHVpbnQ2 NF90IGluc3RydWN0aW9uX3B0cikgewpAQCAtMTgxNyw3ICsxODE1LDcgQEAgaW5kZXggY2NjOWYx NDUuLmRlYmFlZDRkIDEwMDY0NAogICAgICAgIC8vIFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZS4g Tm90ZSB0aGF0IEFSTSBhcmNoaXRlY3R1cmVzIGFyZSBub3QKICAgICAgICAvLyBzdXBwb3J0ZWQg YmVjYXVzZSBvYmpkdW1wIGRvZXMgbm90IHN1cHBvcnQgQVJNLgogZGlmZiAtLWdpdCB0aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0 ZXN0LmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9p dGFiaWxpdHlfdW5pdHRlc3QuY2MKLWluZGV4IDUyOGVlNWYyLi43Mjc2NGQ2YyAxMDA2NDQKK2lu ZGV4IDUyOGVlNWYyMS4uNzI3NjRkNmMxIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfdW5pdHRlc3QuY2MKICsrKyB0 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5 X3VuaXR0ZXN0LmNjCiBAQCAtMTA0LDYgKzEwNCw4IEBAIEV4cGxvaXRhYmlsaXR5Rm9yKGNvbnN0 IHN0cmluZyYgZmlsZW5hbWUpIHsKQEAgLTE4NzUsNyArMTg3Myw3IEBAIGluZGV4IDUyOGVlNWYy Li43Mjc2NGQ2YyAxMDA2NDQKICAKICB9ICAvLyBuYW1lc3BhY2UKIGRpZmYgLS1naXQgdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAt Mi1jb3JlLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9t ZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYwotaW5kZXggYTYwYmUzMjMuLjM1YjExYjZkIDEwMDY0 NAoraW5kZXggYWFkZTgyYzk5Li4xOTVhYTczZjMgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNj CiArKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rvb2xzL2xpbnV4L21kMmNv cmUvbWluaWR1bXAtMi1jb3JlLmNjCiBAQCAtNzcsNiArNzcsOCBAQApAQCAtMTk1OSw3ICsxOTU3 LDcgQEAgaW5kZXggYTYwYmUzMjMuLjM1YjExYjZkIDEwMDY0NAogICNlcnJvciAiVGhpcyBjb2Rl IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQiCiAgI2VuZGlmCiBkaWZm IC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL0NPTlRSSUJVVE9SUyB0aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMKLWluZGV4IDg3MjRiN2YzLi44ZTI5 NDI0ZSAxMDA2NDQKK2luZGV4IDg3MjRiN2YzMi4uOGUyOTQyNGVmIDEwMDY0NAogLS0tIHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL0NPTlRSSUJVVE9SUwogKysrIHRoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL0NPTlRSSUJVVE9SUwogQEAgLTEzLDMgKzEzLDQgQEAgTWFyayBNZW50 b3ZhaSA8bWFya0BjaHJvbWl1bS5vcmc+CkBAIC0xOTY4LDcgKzE5NjYsNyBAQCBpbmRleCA4NzI0 YjdmMy4uOGUyOTQyNGUgMTAwNjQ0CiAgSm9zaHVhIFBlcmF6YSA8anBlcmF6YUBjaHJvbWl1bS5v cmc+CiArU2hhd24gQW5hc3Rhc2lvIDxzaGF3bkBhbmFzdGFzLmlvPgogZGlmZiAtLWdpdCB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3VzZXIuaCB0aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3VzZXIuaAotaW5kZXggNmVk NzdhOTguLjFmZDgzNDY5IDEwMDY0NAoraW5kZXggNmVkNzdhOThlLi4xZmQ4MzQ2OWEgMTAwNjQ0 CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2Vy LmgKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3Vz ZXIuaAogQEAgLTE1LDYgKzE1LDcgQEAKQEAgLTE5ODAsNyArMTk3OCw3IEBAIGluZGV4IDZlZDc3 YTk4Li4xZmQ4MzQ2OSAxMDA2NDQKICAKICAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KIGRpZmYgLS1n aXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4 dC5oIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRl eHQuaAotaW5kZXggM2EzZTYwM2MuLjMxMThkOWU5IDEwMDY0NAoraW5kZXggM2EzZTYwM2NiLi4z MTE4ZDllOWYgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1 bXAvbWluaWR1bXBfY29udGV4dC5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv bWluaWR1bXAvbWluaWR1bXBfY29udGV4dC5oCiBAQCAtNTkyLDYgKzU5Miw3MCBAQCBzdHJ1Y3Qg TWluaWR1bXBDb250ZXh0TUlQUzY0IHsKQEAgLTIwNTUsNyArMjA1Myw3IEBAIGluZGV4IDNhM2U2 MDNjLi4zMTE4ZDllOSAxMDA2NDQKICAKICAjZW5kaWYgIC8vIENSQVNIUEFEX01JTklEVU1QX01J TklEVU1QX0NPTlRFWFRfSF8KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuY2MgdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuY2MKLWluZGV4IGQ3 ZTUzYTQ5Li5kODllYjllMCAxMDA2NDQKK2luZGV4IGQ3ZTUzYTQ5My4uZDg5ZWI5ZTAxIDEwMDY0 NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2Nv bnRleHRfd3JpdGVyLmNjCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1 bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuY2MKIEBAIC0xMDEsNiArMTAxLDEzIEBAIE1pbmlk dW1wQ29udGV4dFdyaXRlcjo6Q3JlYXRlRnJvbVNuYXBzaG90KGNvbnN0IENQVUNvbnRleHQqIGNv bnRleHRfc25hcHNob3QpIHsKQEAgLTIxMjEsNyArMjExOSw3IEBAIGluZGV4IGQ3ZTUzYTQ5Li5k ODllYjllMCAxMDA2NDQKICsKICB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKIGRpZmYgLS1naXQg dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93 cml0ZXIuaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9j b250ZXh0X3dyaXRlci5oCi1pbmRleCBkNGFiOTM2ZS4uMWQyMmZjNTkgMTAwNjQ0CitpbmRleCBk NGFiOTM2ZWUuLjFkMjJmYzU5YyAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5oCiArKysgdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAogQEAg LTMxNSw2ICszMTUsNDUgQEAgY2xhc3MgTWluaWR1bXBDb250ZXh0TUlQUzY0V3JpdGVyIGZpbmFs IDogcHVibGljIE1pbmlkdW1wQ29udGV4dFdyaXRlciB7CkBAIC0yMTcxLDcgKzIxNjksNyBAQCBp bmRleCBkNGFiOTM2ZS4uMWQyMmZjNTkgMTAwNjQ0CiAgCiAgI2VuZGlmICAvLyBDUkFTSFBBRF9N SU5JRFVNUF9NSU5JRFVNUF9DT05URVhUX1dSSVRFUl9IXwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlcl90ZXN0 LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRl eHRfd3JpdGVyX3Rlc3QuY2MKLWluZGV4IDMyMTZhOTA2Li5hOWZjYmU5ZCAxMDA2NDQKK2luZGV4 IDMyMTZhOTA2Yi4uYTlmY2JlOWQ4IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyX3Rlc3QuY2MKICsrKyB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRl cl90ZXN0LmNjCiBAQCAtMjEzLDYgKzIxMywyMSBAQCBURVNUKE1pbmlkdW1wQ29udGV4dFdyaXRl ciwgTUlQUzY0X0Zyb21TbmFwc2hvdCkgewpAQCAtMjE5NywxMCArMjE5NSwxMCBAQCBpbmRleCAz MjE2YTkwNi4uYTlmY2JlOWQgMTAwNjQ0CiAgfSAgLy8gbmFtZXNwYWNlIHRlc3QKICB9ICAvLyBu YW1lc3BhY2UgY3Jhc2hwYWQKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvbWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRlci5jYyB0aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNjCi1pbmRl eCBhMTM0MDc2MC4uOTVkYzkyNTIgMTAwNjQ0CitpbmRleCAwOTc0ZTNkZGYuLmI3MWVjNTg4MCAx MDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVt cF9taXNjX2luZm9fd3JpdGVyLmNjCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv bWluaWR1bXAvbWluaWR1bXBfbWlzY19pbmZvX3dyaXRlci5jYwotQEAgLTEyNiw2ICsxMjYsOCBA QCBzdGQ6OnN0cmluZyBNaW5pZHVtcE1pc2NJbmZvRGVidWdCdWlsZFN0cmluZygpIHsKK0BAIC0x MzUsNiArMTM1LDggQEAgc3RkOjpzdHJpbmcgTWluaWR1bXBNaXNjSW5mb0RlYnVnQnVpbGRTdHJp bmcoKSB7CiAgICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gIm1pcHMiOwogICNlbGlm IGRlZmluZWQoQVJDSF9DUFVfTUlQUzY0RUwpCiAgICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQ VVtdID0gIm1pcHM2NCI7CkBAIC0yMjEwLDEwICsyMjA4LDEwIEBAIGluZGV4IGExMzQwNzYwLi45 NWRjOTI1MiAxMDA2NDQKICAjZXJyb3IgZGVmaW5lIGtDUFUgZm9yIHRoaXMgQ1BVCiAgI2VuZGlm CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NhcHR1 cmVfbWVtb3J5LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NhcHR1 cmVfbWVtb3J5LmNjCi1pbmRleCBhNTE2MjZjYy4uNjFlMGIyMGEgMTAwNjQ0CitpbmRleCA3YTFi Mjc2M2MuLmJlZGE4ZGE5ZSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9yeS5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCi1AQCAtMTExLDYgKzExMSwxMSBAQCB2 b2lkIENhcHR1cmVNZW1vcnk6OlBvaW50ZWRUb0J5Q29udGV4dChjb25zdCBDUFVDb250ZXh0JiBj b250ZXh0LAorQEAgLTExMiw2ICsxMTIsMTEgQEAgdm9pZCBDYXB0dXJlTWVtb3J5OjpQb2ludGVk VG9CeUNvbnRleHQoY29uc3QgQ1BVQ29udGV4dCYgY29udGV4dCwKICAgIGZvciAoc2l6ZV90IGkg PSAwOyBpIDwgYmFzZTo6c2l6ZShjb250ZXh0Lm1pcHNlbC0+cmVncyk7ICsraSkgewogICAgICBN YXliZUNhcHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRleHQubWlwc2VsLT5yZWdzW2ld KTsKICAgIH0KQEAgLTIyMjYsNyArMjIyNCw3IEBAIGluZGV4IGE1MTYyNmNjLi42MWUwYjIwYSAx MDA2NDQKICAjZXJyb3IgUG9ydC4KICAjZW5kaWYKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oIHRoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1cmUuaAotaW5kZXggODExYTcy MDkuLmY0ZjgzOTgxIDEwMDY0NAoraW5kZXggODExYTcyMDk1Li5mNGY4Mzk4MWQgMTAwNjQ0CiAt LS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVy ZS5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hp dGVjdHVyZS5oCiBAQCAtNDMsNyArNDMsMTAgQEAgZW51bSBDUFVBcmNoaXRlY3R1cmUgewpAQCAt MjI0Miw3ICsyMjQwLDcgQEAgaW5kZXggODExYTcyMDkuLmY0ZjgzOTgxIDEwMDY0NAogIAogIH0g IC8vIG5hbWVzcGFjZSBjcmFzaHBhZAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYwotaW5kZXggNmZiOGQ3ZTcuLmIwMWY3Y2FkIDEw MDY0NAoraW5kZXggYzc1YjU1NTVlLi5hZWFkZTU3N2EgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKICsrKyB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYwogQEAgLTE2OSw2ICsx NjksOCBAQCB1aW50NjRfdCBDUFVDb250ZXh0OjpJbnN0cnVjdGlvblBvaW50ZXIoKSBjb25zdCB7 CkBAIC0yMjcyLDcgKzIyNzAsNyBAQCBpbmRleCA2ZmI4ZDdlNy4uYjAxZjdjYWQgMTAwNjQ0CiAg ICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVg4NjoKICAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJl QVJNOgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9j cHVfY29udGV4dC5oIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9j b250ZXh0LmgKLWluZGV4IGZiMjNjNDY3Li5lZWJlZGU2MyAxMDA2NDQKK2luZGV4IGZiMjNjNDY3 OS4uZWViZWRlNjNjIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2NwdV9jb250ZXh0LmgKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9jcHVfY29udGV4dC5oCiBAQCAtMzUyLDYgKzM1MiwyNCBAQCBzdHJ1Y3QgQ1BVQ29u dGV4dE1JUFM2NCB7CkBAIC0yMzA5LDcgKzIzMDcsNyBAQCBpbmRleCBmYjIzYzQ2Ny4uZWViZWRl NjMgMTAwNjQ0CiAgfTsKICAKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRleHRfbGludXguaCB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9saW51eC5oCi1pbmRleCA5ZjQ2 YTQ4OS4uYWE2NzdjNGUgMTAwNjQ0CitpbmRleCA5ZjQ2YTQ4OTcuLmFhNjc3YzRlYiAxMDA2NDQK IC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29u dGV4dF9saW51eC5oCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvY3B1X2NvbnRleHRfbGludXguaAogQEAgLTE1LDYgKzE1LDcgQEAKQEAgLTI0MDAsMjQg KzIzOTgsMjAgQEAgaW5kZXggOWY0NmE0ODkuLmFhNjc3YzRlIDEwMDY0NAogIH0gIC8vIG5hbWVz cGFjZSBjcmFzaHBhZAogIAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MgdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0LmNjCi1p bmRleCBiZTIyYzkwMy4uYzVkZjIzZDEgMTAwNjQ0CitpbmRleCBkMzJiZDE5MzcuLjJkZDUzOGMy YiAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MKLUBAIC0xNTksOSAr MTU5LDExIEBAIHZvaWQgVGVzdEFnYWluc3RUYXJnZXQoUHRyYWNlQ29ubmVjdGlvbiogY29ubmVj dGlvbikgewotICAgICAgICAgICBjb25zdCBib29sIGlzX3Zkc29fbWFwcGluZyA9CitAQCAtMTky LDYgKzE5Miw4IEBAIHZvaWQgVGVzdEFnYWluc3RUYXJnZXQoUHRyYWNlQ29ubmVjdGlvbiogY29u bmVjdGlvbikgewogICAgICAgICAgICAgICAgZGV2aWNlID09IDAgJiYgaW5vZGUgPT0gMCAmJiBt YXBwaW5nX25hbWUgPT0gIlt2ZHNvXSI7CisgI2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2KQorICAg ICAgICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIga1ByZWZpeFtdID0gImxpbnV4LWdhdGUuc28u IjsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorKyAgICAgICAgICBzdGF0aWMgY29u c3RleHByIGNoYXIga1ByZWZpeFtdID0gImxpbnV4LXZkc282NC5zby4iOworICNlbHNlCiAgICAg ICAgICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrUHJlZml4W10gPSAibGludXgtdmRzby5zby4i OwotKyAgICAgICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIga1ByZWZpeDY0W10gPSAibGludXgt dmRzbzY0LnNvLiI7Ci0gICAgICAgICAgIHJldHVybiBpc192ZHNvX21hcHBpbmcgPT0KLSAgICAg ICAgICAgICAgICAgIChtb2R1bGVfbmFtZS5lbXB0eSgpIHx8Ci0tICAgICAgICAgICAgICAgICAg bW9kdWxlX25hbWUuY29tcGFyZSgwLCBzdHJsZW4oa1ByZWZpeCksIGtQcmVmaXgpID09IDApOwot KyAgICAgICAgICAgICAgICAgIG1vZHVsZV9uYW1lLmNvbXBhcmUoMCwgc3RybGVuKGtQcmVmaXgp LCBrUHJlZml4KSA9PSAwIHx8Ci0rICAgICAgICAgICAgICAgICAgbW9kdWxlX25hbWUuY29tcGFy ZSgwLCBzdHJsZW4oa1ByZWZpeDY0KSwga1ByZWZpeDY0KSA9PSAwKTsKLSAgICAgICAgIH0sCi0g ICAgICAgICBtb2R1bGVfbWFwcGluZy0+bmFtZSwKLSAgICAgICAgIG1vZHVsZV9tYXBwaW5nLT5k ZXZpY2UsCisgI2VuZGlmCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5jYyB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXgu Y2MKLWluZGV4IGNkNDBiM2IxLi42YmNmMjNiNiAxMDA2NDQKK2luZGV4IGNkNDBiM2IxMi4uNmJj ZjIzYjZmIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5jYwog QEAgLTMyMyw2ICszMjMsNjkgQEAgYm9vbCBFeGNlcHRpb25TbmFwc2hvdExpbnV4OjpSZWFkQ29u dGV4dDxDb250ZXh0VHJhaXRzNjQ+KApAQCAtMjQ5MSw3ICsyNDg1LDcgQEAgaW5kZXggY2Q0MGIz YjEuLjZiY2YyM2I2IDEwMDY0NAogIAogIGJvb2wgRXhjZXB0aW9uU25hcHNob3RMaW51eDo6SW5p dGlhbGl6ZShQcm9jZXNzUmVhZGVyTGludXgqIHByb2Nlc3NfcmVhZGVyLAogZGlmZiAtLWdpdCB0 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25h cHNob3RfbGludXguaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAotaW5kZXggZWEwY2QyMTAuLmU0MmRmNTIwIDEw MDY0NAoraW5kZXggZWEwY2QyMTA2Li5lNDJkZjUyMGYgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4 LmgKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNl cHRpb25fc25hcHNob3RfbGludXguaAogQEAgLTg0LDYgKzg0LDggQEAgY2xhc3MgRXhjZXB0aW9u U25hcHNob3RMaW51eCBmaW5hbCA6IHB1YmxpYyBFeGNlcHRpb25TbmFwc2hvdCB7CkBAIC0yNTA0 LDcgKzI0OTgsNyBAQCBpbmRleCBlYTBjZDIxMC4uZTQyZGY1MjAgMTAwNjQ0CiAgICB9IGNvbnRl eHRfdW5pb25fOwogICAgQ1BVQ29udGV4dCBjb250ZXh0XzsKIGRpZmYgLS1naXQgdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xp bnV4X3Rlc3QuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgv ZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKLWluZGV4IGU0ZmYxYWI3Li4yNTUzNGRk MCAxMDA2NDQKK2luZGV4IGMxNzE3MGI0My4uYjZhNzE0Y2M2IDEwMDY0NAogLS0tIHRoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9s aW51eF90ZXN0LmNjCiArKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKIEBAIC0yOTYsNyArMjk2LDI4 IEBAIHZvaWQgRXhwZWN0Q29udGV4dChjb25zdCBDUFVDb250ZXh0JiBhY3R1YWwsIGNvbnN0IE5h dGl2ZUNQVUNvbnRleHQmIGV4cGVjdGVkKSB7CkBAIC0yNTM3LDcgKzI1MzEsNyBAQCBpbmRleCBl NGZmMWFiNy4uMjU1MzRkZDAgMTAwNjQ0CiAgI2Vycm9yIFBvcnQuCiAgI2VuZGlmCiBkaWZmIC0t Z2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3Nf cmVhZGVyX2xpbnV4LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4LmNjCi1pbmRleCBiOTZhYmZlNy4uZGYxMmNhNTYgMTAw NjQ0CitpbmRleCBlZTI0NmU4YmMuLjk1NTVkY2UwNCAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eC5jYwog KysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3Nf cmVhZGVyX2xpbnV4LmNjCiBAQCAtMTA4LDYgKzEwOCw4IEBAIHZvaWQgUHJvY2Vzc1JlYWRlckxp bnV4OjpUaHJlYWQ6OkluaXRpYWxpemVTdGFjayhQcm9jZXNzUmVhZGVyTGludXgqIHJlYWRlcikg ewpAQCAtMjU0OSwyMSArMjU0Myw4IEBAIGluZGV4IGI5NmFiZmU3Li5kZjEyY2E1NiAxMDA2NDQK ICAjZWxzZQogICNlcnJvciBQb3J0LgogICNlbmRpZgotZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRlcl9saW51eF90ZXN0 LmNjIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3Nf cmVhZGVyX2xpbnV4X3Rlc3QuY2MKLWluZGV4IDViNTcyMzYxLi4wNDljMzI4NSAxMDA2NDQKLS0t LSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3Jl YWRlcl9saW51eF90ZXN0LmNjCi0rKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXhfdGVzdC5jYwotQEAgLTYxMiw2ICs2MTIs OCBAQCBib29sIFdyaXRlVGVzdE1vZHVsZShjb25zdCBiYXNlOjpGaWxlUGF0aCYgbW9kdWxlX3Bh dGgpIHsKLSAgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX0FBUkNINjQ7Ci0gI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9NSVBTRUwpIHx8IGRlZmluZWQoQVJDSF9DUFVfTUlQUzY0RUwpCi0gICBt b2R1bGUuZWhkci5lX21hY2hpbmUgPSBFTV9NSVBTOwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVf UFBDNjQpCi0rICBtb2R1bGUuZWhkci5lX21hY2hpbmUgPSBFTV9QUEM2NDsKLSAjZW5kaWYKLSAK LSAgIG1vZHVsZS5laGRyLmVfdmVyc2lvbiA9IEVWX0NVUlJFTlQ7CiBkaWZmIC0tZ2l0IHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0Lmgg dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRl eHQuaAotaW5kZXggMTEwMDI0NjguLjhlMzM1YTA5IDEwMDY0NAoraW5kZXggMTEwMDI0NjgwLi5h MWYyZGEyNTkgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKIEBAIC00MjIsNiArNDIyLDg5IEBA IHN0YXRpY19hc3NlcnQob2Zmc2V0b2YoVUNvbnRleHQ8Q29udGV4dFRyYWl0czY0PiwgbWNvbnRl eHQuZnByZWdzKSA9PQpAQCAtMjY1NywxMCArMjYzOCwxMCBAQCBpbmRleCAxMTAwMjQ2OC4uOGUz MzVhMDkgMTAwNjQ0CiAgI2Vycm9yIFBvcnQuCiAgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFN SUxZCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xp bnV4L3N5c3RlbV9zbmFwc2hvdF9saW51eC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKLWluZGV4IDg1NjRkM2Q0 Li5iNjkwZWNkNCAxMDA2NDQKK2luZGV4IGE5OWRhM2U0Yi4uMDNiOTczMDgzIDEwMDY0NAogLS0t IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3N5c3RlbV9zbmFw c2hvdF9saW51eC5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2xpbnV4L3N5c3RlbV9zbmFwc2hvdF9saW51eC5jYwotQEAgLTIwMyw2ICsyMDMsOCBAQCBDUFVB cmNoaXRlY3R1cmUgU3lzdGVtU25hcHNob3RMaW51eDo6R2V0Q1BVQXJjaGl0ZWN0dXJlKCkgY29u c3QgeworQEAgLTIwNCw2ICsyMDQsOCBAQCBDUFVBcmNoaXRlY3R1cmUgU3lzdGVtU25hcHNob3RM aW51eDo6R2V0Q1BVQXJjaGl0ZWN0dXJlKCkgY29uc3QgewogICNlbGlmIGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpCiAgICByZXR1cm4gcHJvY2Vzc19yZWFkZXJfLT5JczY0Qml0KCkgPyBr Q1BVQXJjaGl0ZWN0dXJlTUlQUzY0RUwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6IGtDUFVBcmNoaXRlY3R1cmVNSVBTRUw7CkBAIC0yNjY5LDcgKzI2NTAsNyBAQCBpbmRl eCA4NTY0ZDNkNC4uYjY5MGVjZDQgMTAwNjQ0CiAgI2Vsc2UKICAjZXJyb3IgcG9ydCB0byB5b3Vy IGFyY2hpdGVjdHVyZQogICNlbmRpZgotQEAgLTIxOCw2ICsyMjAsOSBAQCB1aW50MzJfdCBTeXN0 ZW1TbmFwc2hvdExpbnV4OjpDUFVSZXZpc2lvbigpIGNvbnN0IHsKK0BAIC0yMTksNiArMjIxLDkg QEAgdWludDMyX3QgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BVUmV2aXNpb24oKSBjb25zdCB7CiAg I2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKICAgIC8vIE5vdCBpbXBsZW1lbnRh YmxlIG9uIE1JUFMKICAgIHJldHVybiAwOwpAQCAtMjY3OSw3ICsyNjYwLDcgQEAgaW5kZXggODU2 NGQzZDQuLmI2OTBlY2Q0IDEwMDY0NAogICNlbHNlCiAgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNo aXRlY3R1cmUKICAjZW5kaWYKLUBAIC0yMzgsNiArMjQzLDkgQEAgc3RkOjpzdHJpbmcgU3lzdGVt U25hcHNob3RMaW51eDo6Q1BVVmVuZG9yKCkgY29uc3QgeworQEAgLTIzOSw2ICsyNDQsOSBAQCBz dGQ6OnN0cmluZyBTeXN0ZW1TbmFwc2hvdExpbnV4OjpDUFVWZW5kb3IoKSBjb25zdCB7CiAgI2Vs aWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKICAgIC8vIE5vdCBpbXBsZW1lbnRhYmxl IG9uIE1JUFMKICAgIHJldHVybiBzdGQ6OnN0cmluZygpOwpAQCAtMjY4OSw3ICsyNjcwLDcgQEAg aW5kZXggODU2NGQzZDQuLmI2OTBlY2Q0IDEwMDY0NAogICNlbHNlCiAgI2Vycm9yIHBvcnQgdG8g eW91ciBhcmNoaXRlY3R1cmUKICAjZW5kaWYKLUBAIC0zNzEsNiArMzc5LDkgQEAgYm9vbCBTeXN0 ZW1TbmFwc2hvdExpbnV4OjpOWEVuYWJsZWQoKSBjb25zdCB7CitAQCAtMzcyLDYgKzM4MCw5IEBA IGJvb2wgU3lzdGVtU25hcHNob3RMaW51eDo6TlhFbmFibGVkKCkgY29uc3QgewogICNlbGlmIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCiAgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBN SVBTCiAgICByZXR1cm4gZmFsc2U7CkBAIC0yNjk5LDggKzI2ODAsMjEgQEAgaW5kZXggODU2NGQz ZDQuLmI2OTBlY2Q0IDEwMDY0NAogICNlbHNlCiAgI2Vycm9yIFBvcnQuCiAgI2VuZGlmICAvLyBB UkNIX0NQVV9YODZfRkFNSUxZCitkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2xpbnV4L3Rlc3RfbW9kdWxlcy5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MKK2luZGV4IGIyNDUwYzIwNi4u N2JhNzhiMmFlIDEwMDY0NAorLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBz aG90L2xpbnV4L3Rlc3RfbW9kdWxlcy5jYworKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2xpbnV4L3Rlc3RfbW9kdWxlcy5jYworQEAgLTExMCw2ICsxMTAsOCBAQCBi b29sIFdyaXRlVGVzdE1vZHVsZShjb25zdCBiYXNlOjpGaWxlUGF0aCYgbW9kdWxlX3BhdGgsCisg ICBtb2R1bGUuZWhkci5lX21hY2hpbmUgPSBFTV9BQVJDSDY0OworICNlbGlmIGRlZmluZWQoQVJD SF9DUFVfTUlQU0VMKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQorICAgbW9kdWxlLmVo ZHIuZV9tYWNoaW5lID0gRU1fTUlQUzsKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQor KyAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fUFBDNjQ7CisgI2VuZGlmCisgCisgICBtb2R1 bGUuZWhkci5lX3ZlcnNpb24gPSBFVl9DVVJSRU5UOwogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2Mg dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBz aG90X2xpbnV4LmNjCi1pbmRleCBlM2UyYmViZC4uOGVmNDM3NTIgMTAwNjQ0CitpbmRleCBlM2Uy YmViZGQuLjhlZjQzNzUyZSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2MKICsrKyB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXgu Y2MKIEBAIC0xODYsNiArMTg2LDE0IEBAIGJvb2wgVGhyZWFkU25hcHNob3RMaW51eDo6SW5pdGlh bGl6ZShQcm9jZXNzUmVhZGVyTGludXgqIHByb2Nlc3NfcmVhZGVyLApAQCAtMjcxOSw3ICsyNzEz LDcgQEAgaW5kZXggZTNlMmJlYmQuLjhlZjQzNzUyIDEwMDY0NAogICNlcnJvciBQb3J0LgogICNl bmRpZgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC90aHJlYWRfc25hcHNob3RfbGludXguaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguaAotaW5kZXggNDRjYzZmNmQu LmQ0MTM2NDYxIDEwMDY0NAoraW5kZXggNDRjYzZmNmQ5Li5kNDEzNjQ2MWUgMTAwNjQ0CiAtLS0g dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBz aG90X2xpbnV4LmgKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC90aHJlYWRfc25hcHNob3RfbGludXguaAogQEAgLTY4LDYgKzY4LDggQEAgY2xhc3MgVGhy ZWFkU25hcHNob3RMaW51eCBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTbmFwc2hvdCB7CkBAIC0yNzMy LDcgKzI3MjYsNyBAQCBpbmRleCA0NGNjNmY2ZC4uZDQxMzY0NjEgMTAwNjQ0CiAgI2Vycm9yIFBv cnQuCiAgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCiBkaWZmIC0tZ2l0IHRoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvYXV4aWxpYXJ5X3ZlY3Rvci5jYyB0aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MK LWluZGV4IGQzZDVlYmRmLi4zZmQ3MzBjYiAxMDA2NDQKK2luZGV4IGQzZDVlYmRmYi4uM2ZkNzMw Y2I1IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgv YXV4aWxpYXJ5X3ZlY3Rvci5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0 aWwvbGludXgvYXV4aWxpYXJ5X3ZlY3Rvci5jYwogQEAgLTU2LDYgKzU2LDExIEBAIGJvb2wgQXV4 aWxpYXJ5VmVjdG9yOjpSZWFkKFB0cmFjZUNvbm5lY3Rpb24qIGNvbm5lY3Rpb24pIHsKQEAgLTI3 NDcsMjMgKzI3NDEsOCBAQCBpbmRleCBkM2Q1ZWJkZi4uM2ZkNzMwY2IgMTAwNjQ0CiAgICAgIGlm ICghTWFwSW5zZXJ0T3JSZXBsYWNlKCZ2YWx1ZXNfLCB0eXBlLCB2YWx1ZSwgbnVsbHB0cikpIHsK ICAgICAgICBMT0coRVJST1IpIDw8ICJkdXBsaWNhdGUgYXV4diBlbnRyeSI7CiAgICAgICAgcmV0 dXJuIGZhbHNlOwotZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGls L2xpbnV4L3B0cmFjZV9icm9rZXIuY2MgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRp bC9saW51eC9wdHJhY2VfYnJva2VyLmNjCi1pbmRleCAxNTVhMWUwYy4uNWU1MGNlYjUgMTAwNjQ0 Ci0tLS0gdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VfYnJv a2VyLmNjCi0rKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJh Y2VfYnJva2VyLmNjCi1AQCAtOTQsOCArOTQsOCBAQCBpbnQgUHRyYWNlQnJva2VyOjpSdW4oKSB7 Ci0gfQotIAotIGJvb2wgUHRyYWNlQnJva2VyOjpBbGxvY2F0ZUF0dGFjaG1lbnRzKCkgewotLSAg Y29uc3RleHByIHNpemVfdCBwYWdlX3NpemUgPSA0MDk2OwotLSAgY29uc3RleHByIHNpemVfdCBh bGxvY19zaXplID0KLSsgIHN0YXRpYyBzaXplX3QgcGFnZV9zaXplID0gZ2V0cGFnZXNpemUoKTsK LSsgIHNpemVfdCBhbGxvY19zaXplID0KLSAgICAgICAoc2l6ZW9mKFNjb3BlZFB0cmFjZUF0dGFj aCkgKyBwYWdlX3NpemUgLSAxKSAmIH4ocGFnZV9zaXplIC0gMSk7Ci0gICB2b2lkKiBhbGxvYyA9 IHNicmsoYWxsb2Nfc2l6ZSk7Ci0gICBpZiAocmVpbnRlcnByZXRfY2FzdDxpbnRwdHJfdD4oYWxs b2MpID09IC0xKSB7CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0 aWwvbGludXgvcHRyYWNlci5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xp bnV4L3B0cmFjZXIuY2MKLWluZGV4IDU1N2UwZDM2Li4wOGFlNDM0YiAxMDA2NDQKK2luZGV4IDU1 N2UwZDM2My4uMDhhZTQzNGI4IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3V0aWwvbGludXgvcHRyYWNlci5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3V0aWwvbGludXgvcHRyYWNlci5jYwogQEAgLTM5OCw2ICszOTgsNjQgQEAgYm9vbCBHZXRU aHJlYWRBcmVhNjQocGlkX3QgdGlkLApAQCAtMjg0Miw3ICsyODIxLDcgQEAgaW5kZXggNTU3ZTBk MzYuLjA4YWU0MzRiIDEwMDY0NAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8tPnRo cmVhZF9jb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICZpbmZvLT50aHJlYWRf c3BlY2lmaWNfZGF0YV9hZGRyZXNzLAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCi1pbmRleCA1YjU1YzI0YS4uZGVhMGQxZjMg MTAwNjQ0CitpbmRleCA1YjU1YzI0YTcuLmRlYTBkMWYzOSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKICsrKyB0aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKIEBAIC0yOCw2 ICsyOCwxMCBAQApAQCAtMjk2NCwxMCArMjk0MywxMCBAQCBpbmRleCA1YjU1YzI0YS4uZGVhMGQx ZjMgMTAwNjQ0CiAgICBMaW51eFZNQWRkcmVzcyB0aHJlYWRfc3BlY2lmaWNfZGF0YV9hZGRyZXNz OwogIH07CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlz Yy9jYXB0dXJlX2NvbnRleHQuaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21p c2MvY2FwdHVyZV9jb250ZXh0LmgKLWluZGV4IDNmZjcxMTg0Li4zZTgyZjRiOSAxMDA2NDQKK2lu ZGV4IGQyMWEyNGYxOS4uYWNjMzI1MzQ5IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHQuaAogKysrIHRoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHQuaAotQEAgLTY4LDYgKzY4 LDcgQEAgdXNpbmcgTmF0aXZlQ1BVQ29udGV4dCA9IHVjb250ZXh0X3Q7CitAQCAtNjksNiArNjks NyBAQCB1c2luZyBOYXRpdmVDUFVDb250ZXh0ID0gdWNvbnRleHRfdDsKICAvLyEgICAgIG1hY09T L0xpbnV4L0Z1Y2hzaWEgfCB4ODZfNjQgICAgICAgfCBgJSVyZGlgCiAgLy8hICAgICBMaW51eCAg ICAgICAgICAgICAgIHwgQVJNL0FSTTY0ICAgIHwgYHIwYC9geDBgCiAgLy8hICAgICBMaW51eCAg ICAgICAgICAgICAgIHwgTUlQUy9NSVBTNjQgIHwgYCRhMGAKQEAgLTI5NzYsNyArMjk1NSw3IEBA IGluZGV4IDNmZjcxMTg0Li4zZTgyZjRiOSAxMDA2NDQKICAvLyEgICAgIEFkZGl0aW9uYWxseSwg dGhlIHZhbHVlIGBMUmAgb24gQVJNL0FSTTY0IHdpbGwgYmUgdGhlIHJldHVybiBhZGRyZXNzIG9m CiAgLy8hICAgICB0aGlzIGZ1bmN0aW9uLgogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X2xpbnV4LlMgdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF9saW51eC5TCi1pbmRl eCA1MjIxNWVlNS4uYjNlNGEzZWMgMTAwNjQ0CitpbmRleCA1MjIxNWVlNWQuLmIzZTRhM2VjNyAx MDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVy ZV9jb250ZXh0X2xpbnV4LlMKICsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGls L21pc2MvY2FwdHVyZV9jb250ZXh0X2xpbnV4LlMKIEBAIC0zMiw3ICszMiw3IEBACkBAIC0zMjA0 LDcgKzMxODMsNyBAQCBpbmRleCA1MjIxNWVlNS4uYjNlNGEzZWMgMTAwNjQ0CiArICBibHIKICAj ZW5kaWYgIC8vIF9faTM4Nl9fCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3QuY2MKLWluZGV4IGNmMjNj MmRlLi41ZjI2NGJjOSAxMDA2NDQKK2luZGV4IGNmMjNjMmRlZi4uNWYyNjRiYzkyIDEwMDY0NAog LS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRl eHRfdGVzdC5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9j YXB0dXJlX2NvbnRleHRfdGVzdC5jYwogQEAgLTU3LDcgKzU3LDcgQEAgdm9pZCBUZXN0Q2FwdHVy ZUNvbnRleHQoKSB7CkBAIC0zMjE3LDEwICszMTk2LDEwIEBAIGluZGV4IGNmMjNjMmRlLi41ZjI2 NGJjOSAxMDA2NDQKICAgIC8vIGxpa2VseSBmYWlsLgogICAgY29uc3QgdWludHB0cl90IGtSZWZl cmVuY2VQQyA9CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwv bWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdF91dGlsX2xpbnV4LmNjIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdF91dGlsX2xpbnV4LmNj Ci1pbmRleCA5ZmM1ZGIyOC4uNWY2OWY4ZGMgMTAwNjQ0CitpbmRleCAzMGEyYWIyMWQuLjYwNTA5 ZjIxZCAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2Mv Y2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYwogKysrIHRoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdF91dGlsX2xpbnV4LmNj Ci1AQCAtMzYsNiArMzYsOCBAQCB2b2lkIFNhbml0eUNoZWNrQ29udGV4dChjb25zdCBOYXRpdmVD UFVDb250ZXh0JiBjb250ZXh0KSB7CitAQCAtMzUsNiArMzUsOCBAQCB2b2lkIFNhbml0eUNoZWNr Q29udGV4dChjb25zdCBOYXRpdmVDUFVDb250ZXh0JiBjb250ZXh0KSB7CiAgICBFWFBFQ1RfRVEo Y29udGV4dC51Y19tY29udGV4dC5yZWdzWzBdLCBGcm9tUG9pbnRlckNhc3Q8dWludHB0cl90Pigm Y29udGV4dCkpOwogICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCiAgICBFWFBF Q1RfRVEoY29udGV4dC51Y19tY29udGV4dC5ncmVnc1s0XSwgRnJvbVBvaW50ZXJDYXN0PHVpbnRw dHJfdD4oJmNvbnRleHQpKTsKQEAgLTMyMjksNyArMzIwOCw3IEBAIGluZGV4IDlmYzVkYjI4Li41 ZjY5ZjhkYyAxMDA2NDQKICAjZW5kaWYKICB9CiAgCi1AQCAtNTAsNiArNTIsOCBAQCB1aW50cHRy X3QgUHJvZ3JhbUNvdW50ZXJGcm9tQ29udGV4dChjb25zdCBOYXRpdmVDUFVDb250ZXh0JiBjb250 ZXh0KSB7CitAQCAtNDksNiArNTEsOCBAQCB1aW50cHRyX3QgUHJvZ3JhbUNvdW50ZXJGcm9tQ29u dGV4dChjb25zdCBOYXRpdmVDUFVDb250ZXh0JiBjb250ZXh0KSB7CiAgICByZXR1cm4gY29udGV4 dC51Y19tY29udGV4dC5wYzsKICAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQog ICAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQucGM7CkBAIC0zMjM4LDcgKzMyMTcsNyBAQCBp bmRleCA5ZmM1ZGIyOC4uNWY2OWY4ZGMgMTAwNjQ0CiAgI2VuZGlmCiAgfQogIAotQEAgLTY0LDYg KzY4LDggQEAgdWludHB0cl90IFN0YWNrUG9pbnRlckZyb21Db250ZXh0KGNvbnN0IE5hdGl2ZUNQ VUNvbnRleHQmIGNvbnRleHQpIHsKK0BAIC02Myw2ICs2Nyw4IEBAIHVpbnRwdHJfdCBTdGFja1Bv aW50ZXJGcm9tQ29udGV4dChjb25zdCBOYXRpdmVDUFVDb250ZXh0JiBjb250ZXh0KSB7CiAgICBy ZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5zcDsKICAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKQogICAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3NbMjldOwpAQCAt MzI0OCwxMCArMzIyNywxMCBAQCBpbmRleCA5ZmM1ZGIyOC4uNWY2OWY4ZGMgMTAwNjQ0CiAgfQog IAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3Np Z25hbHNfdGVzdC5jYyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3Np Z25hbHNfdGVzdC5jYwotaW5kZXggNThiZmE4ZjguLjhmYzM3YzQ2IDEwMDY0NAotLS0tIHRoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvcG9zaXgvc2lnbmFsc190ZXN0LmNjLm9yaWcJ MjAyMC0xMS0xNyAxMzozOTo0Ny4wMDAwMDAwMDAgLTA1MDAKLSsrKyB0aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3NpZ25hbHNfdGVzdC5jYwkyMDIwLTExLTE4IDIxOjA2 OjMzLjQzMzQwODYyMyAtMDUwMAotQEAgLTQ2LDkgKzQ2LDkgQEAKK2luZGV4IDU0Y2MyZjE5Zi4u Mjk4YjVjOTkzIDEwMDY0NAorLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwv cG9zaXgvc2lnbmFsc190ZXN0LmNjCisrKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv dXRpbC9wb3NpeC9zaWduYWxzX3Rlc3QuY2MKK0BAIC00Niw5ICs0Niw5IEBAIGJvb2wgQ2FuQ2F1 c2VTaWduYWwoaW50IHNpZykgewogICAgcmV0dXJuIHNpZyA9PSBTSUdBQlJUIHx8CiAgICAgICAg ICAgc2lnID09IFNJR0FMUk0gfHwKICAgICAgICAgICBzaWcgPT0gU0lHQlVTIHx8CkBAIC0zMjYz LDcgKzMyNDIsNyBAQCBpbmRleCA1OGJmYThmOC4uOGZjMzdjNDYgMTAwNjQ0CiAgI2lmIGRlZmlu ZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1FTCkKICAgICAg ICAgICBzaWcgPT0gU0lHSUxMIHx8CiAgI2VuZGlmICAvLyBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9G QU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNRUwpCi1AQCAtMTE3LDkgKzExNywxMSBAQAor QEAgLTExNyw5ICsxMTcsMTEgQEAgdm9pZCBDYXVzZVNpZ25hbChpbnQgc2lnKSB7CiAgICAgICAg YnJlYWs7CiAgICAgIH0KICAKQEAgLTMyNzYsNyArMzI1NSw3IEBAIGluZGV4IDU4YmZhOGY4Li44 ZmMzN2M0NiAxMDA2NDQKICAgICAgY2FzZSBTSUdGUEU6IHsKICAgICAgICAvLyBPcHRpbWl6YXRp b24gbWFrZXMgdGhpcyB0cmlja3ksIHNvIGdldCB6ZXJvIGZyb20gYSBzeXN0ZW0gY2FsbCBsaWtl bHkKICAgICAgICAvLyB0byBzdWNjZWVkLCBhbmQgdHJ5IHRvIGRvIHNvbWV0aGluZyB3aXRoIHRo ZSByZXN1bHQuCi1AQCAtMTM3LDcgKzEzOSw3IEBACitAQCAtMTM3LDcgKzEzOSw3IEBAIHZvaWQg Q2F1c2VTaWduYWwoaW50IHNpZykgewogICAgICAgIGZzdGF0KHF1b3RpZW50LCAmc3RhdF9idWYp OwogICAgICAgIGJyZWFrOwogICAgICB9CkBAIC0zMjg2LDEwICszMjY1LDEwIEBAIGluZGV4IDU4 YmZhOGY4Li44ZmMzN2M0NiAxMDA2NDQKICAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZ KSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTUVMKQogICAgICBjYXNlIFNJR0lMTDogewogZGlmZiAt LWdpdCB0aGlyZF9wYXJ0eS9kYXYxZC9CVUlMRC5nbiB0aGlyZF9wYXJ0eS9kYXYxZC9CVUlMRC5n bgotaW5kZXggNzg4ZGM2Y2YuLjVmZDdlOGZkIDEwMDY0NAoraW5kZXggNmI0NTY2ZmMzLi5jMDdm NzMyYWQgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvZGF2MWQvQlVJTEQuZ24KICsrKyB0aGlyZF9w YXJ0eS9kYXYxZC9CVUlMRC5nbgotQEAgLTE4Miw2ICsxODIsOCBAQCBzdGF0aWNfbGlicmFyeSgi ZGF2MWRfOGJpdCIpIHsKK0BAIC0xODQsNiArMTg0LDggQEAgc3RhdGljX2xpYnJhcnkoImRhdjFk XzhiaXQiKSB7CiAgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKICAgIH0gZWxz ZSBpZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgewogICAgICBzb3VyY2VzICs9IGFybV90ZW1w bGF0ZV9zb3VyY2VzCkBAIC0zMjk4LDcgKzMyNzcsNyBAQCBpbmRleCA3ODhkYzZjZi4uNWZkN2U4 ZmQgMTAwNjQ0CiAgICB9CiAgCiAgICBjZmxhZ3MgPSBkYXYxZF9jb3B0cwotQEAgLTIxMCw2ICsy MTIsOCBAQCBzdGF0aWNfbGlicmFyeSgiZGF2MWRfMTBiaXQiKSB7CitAQCAtMjEyLDYgKzIxNCw4 IEBAIHN0YXRpY19saWJyYXJ5KCJkYXYxZF8xMGJpdCIpIHsKICAgICAgc291cmNlcyArPSBhcm1f dGVtcGxhdGVfc291cmNlcwogICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7 CiAgICAgIHNvdXJjZXMgKz0gYXJtX3RlbXBsYXRlX3NvdXJjZXMKQEAgLTMzMDcsOSArMzI4Niw5 IEBAIGluZGV4IDc4OGRjNmNmLi41ZmQ3ZThmZCAxMDA2NDQKICAgIH0KICAKICAgIGNmbGFncyA9 IGRhdjFkX2NvcHRzCi1AQCAtMjU2LDYgKzI2MCwyMSBAQCBpZiAoY3VycmVudF9jcHUgPT0gIng4 NiIgfHwgY3VycmVudF9jcHUgPT0gIng2NCIpIHsKLSAgICAgICAiOmRhdjFkX2NvbmZpZyIsCi0g ICAgIF0KK0BAIC0yNjMsNiArMjY3LDIxIEBAIGlmIChjdXJyZW50X2NwdSA9PSAieDg2IiB8fCBj dXJyZW50X2NwdSA9PSAieDY0IikgeworICAgICAgIGRlZmluZXMgPSBbICJQUkVGSVgiIF0KKyAg ICAgfQogIAogKyAgICBjZmxhZ3MgPSBkYXYxZF9jb3B0cwogKyAgfQpAQCAtMzMyOSw3ICszMzA4 LDcgQEAgaW5kZXggNzg4ZGM2Y2YuLjVmZDdlOGZkIDEwMDY0NAogICAgICBjZmxhZ3MgPSBkYXYx ZF9jb3B0cwogICAgfQogIH0KLUBAIC0yODUsNSArMzA0LDcgQEAgc3RhdGljX2xpYnJhcnkoImRh djFkIikgeworQEAgLTI5Miw1ICszMTEsNyBAQCBzdGF0aWNfbGlicmFyeSgiZGF2MWQiKSB7CiAg ICAgIH0KICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gImFybSIgfHwgY3VycmVudF9jcHUg PT0gImFybTY0IikgewogICAgICBkZXBzICs9IFsgIjpkYXYxZF9hcm0iIF0KQEAgLTMzMzksNyAr MzMxOCw3IEBAIGluZGV4IDc4OGRjNmNmLi41ZmQ3ZThmZCAxMDA2NDQKICB9CiBkaWZmIC0tZ2l0 IHRoaXJkX3BhcnR5L2RhdjFkL2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcuaCB0aGlyZF9wYXJ0 eS9kYXYxZC9jb25maWcvbGludXgvcHBjNjQvY29uZmlnLmgKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0 Ci1pbmRleCAwMDAwMDAwMC4uZjZjYTU3ZjcKK2luZGV4IDAwMDAwMDAwMC4uOWZiYmY3NWNjCiAt LS0gL2Rldi9udWxsCiArKysgdGhpcmRfcGFydHkvZGF2MWQvY29uZmlnL2xpbnV4L3BwYzY0L2Nv bmZpZy5oCiBAQCAtMCwwICsxLDM5IEBACkBAIC0zMzgzLDEwICszMzYyLDEwIEBAIGluZGV4IDAw MDAwMDAwLi5mNmNhNTdmNwogKyNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiArCiBkaWZmIC0tZ2l0 IHRoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dlbmVyYXRlZC5nbmkgdGhpcmRfcGFydHkvZGF2MWQv ZGF2MWRfZ2VuZXJhdGVkLmduaQotaW5kZXggOGJlY2FjMDIuLmQ1ZjRmY2FjIDEwMDY0NAoraW5k ZXggYzU5Y2IwODIxLi4zMDYwMjg0YTggMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvZGF2MWQvZGF2 MWRfZ2VuZXJhdGVkLmduaQogKysrIHRoaXJkX3BhcnR5L2RhdjFkL2RhdjFkX2dlbmVyYXRlZC5n bmkKLUBAIC03MSw2ICs3MSwxMSBAQCBhcm1fdGVtcGxhdGVfc291cmNlcyA9IFsKK0BAIC04Miw2 ICs4MiwxMSBAQCBhcm1fdGVtcGxhdGVfc291cmNlcyA9IFsKICAgICJsaWJkYXYxZC9zcmMvYXJt L21jX2luaXRfdG1wbC5jIiwKICBdCiAgCkBAIC0zMzk5LDcgKzMzNzgsNyBAQCBpbmRleCA4YmVj YWMwMi4uZDVmNGZjYWMgMTAwNjQ0CiAgICAibGliZGF2MWQvc3JjL2NkZWZfYXBwbHlfdG1wbC5j IiwKICAgICJsaWJkYXYxZC9zcmMvY2RlZl90bXBsLmMiLAogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0 eS9kYXYxZC9nZW5lcmF0ZV9zb3VyY2UucHkgdGhpcmRfcGFydHkvZGF2MWQvZ2VuZXJhdGVfc291 cmNlLnB5Ci1pbmRleCA5YWI1ZTAwYi4uYWQzZmVmZmUgMTAwNzU1CitpbmRleCA5YWI1ZTAwYjgu LmFkM2ZlZmZlZSAxMDA3NTUKIC0tLSB0aGlyZF9wYXJ0eS9kYXYxZC9nZW5lcmF0ZV9zb3VyY2Uu cHkKICsrKyB0aGlyZF9wYXJ0eS9kYXYxZC9nZW5lcmF0ZV9zb3VyY2UucHkKIEBAIC01MCw3ICs1 MCw4IEBAIGRlZiBXcml0ZUduKGZkKToKQEAgLTM0MTMsNyArMzM5Miw3IEBAIGluZGV4IDlhYjVl MDBiLi5hZDNmZWZmZSAxMDA3NTUKICAgIFdyaXRlQXJyYXkoZmQsICJ0ZW1wbGF0ZV9zb3VyY2Vz IiwgdGVtcGxhdGVfc291cmNlcykKICAKIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvZGF2MWQvbGli ZGF2MWQvc3JjL3BwYy90eXBlcy5oIHRoaXJkX3BhcnR5L2RhdjFkL2xpYmRhdjFkL3NyYy9wcGMv dHlwZXMuaAotaW5kZXggMGI0YmQ3MmYuLmEwY2FhNWU3IDEwMDY0NAoraW5kZXggMGI0YmQ3MmYw Li5hMGNhYTVlNzEgMTAwNjQ0CiAtLS0gdGhpcmRfcGFydHkvZGF2MWQvbGliZGF2MWQvc3JjL3Bw Yy90eXBlcy5oCiArKysgdGhpcmRfcGFydHkvZGF2MWQvbGliZGF2MWQvc3JjL3BwYy90eXBlcy5o CiBAQCAtNTEsNCArNTEsMTkgQEAKQEAgLTM0MzcsMTAgKzM0MTYsMTAgQEAgaW5kZXggMGI0YmQ3 MmYuLmEwY2FhNWU3IDEwMDY0NAogKwogICNlbmRpZiAvKiBEQVYxRF9TUkNfUFBDX1RZUEVTX0gg Ki8KIGRpZmYgLS1naXQgdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oIHRo aXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAotaW5kZXggZDJiYWVlOWQuLjk5 NTVjZTQ0IDEwMDY0NAoraW5kZXggZTRhYzIyNjQ0Li4xYzU3MDE1ZGIgMTAwNjQ0CiAtLS0gdGhp cmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCiArKysgdGhpcmRfcGFydHkvbHNz L2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCi1AQCAtMzkyMiw3ICszOTIyLDcgQEAgc3RydWN0IGtl cm5lbF9zdGF0ZnMgeworQEAgLTM5NDcsNyArMzk0Nyw3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZz IHsKICAgICAgICBMU1NfUkVHKDIsIGJ1Zik7CiAgICAgICAgTFNTX0JPRFkodm9pZCosIG1tYXAy LCAiMCIoX19yMikpOwogICAgICB9CkBAIC0zNDQ5LDcgKzM0MjgsNyBAQCBpbmRleCBkMmJhZWU5 ZC4uOTk1NWNlNDQgMTAwNjQ0CiAgICAgICNkZWZpbmUgX19OUl9fbW1hcDIgX19OUl9tbWFwMgog ICAgICBMU1NfSU5MSU5FIF9zeXNjYWxsNih2b2lkKiwgX21tYXAyLCAgICAgICAgICAgIHZvaWQq LCBzLAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QsICAgICAgICAgICAgICAgICAg IGwsIGludCwgICAgICAgICAgICAgICBwLAotQEAgLTQwMzMsNyArNDAzMyw3IEBAIHN0cnVjdCBr ZXJuZWxfc3RhdGZzIHsKK0BAIC00MDU4LDcgKzQwNTgsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRm cyB7CiAgICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgIGRlZmluZWQoX19BUk1fQVJDSF8z X18pIHx8IGRlZmluZWQoX19BUk1fRUFCSV9fKSB8fCAgICAgICAgICAgICAgICAgICAgIFwKICAg ICAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTMyKSB8 fCAgICAgICAgICAgICAgICAgICBcCkBAIC0zNDcxLDEwICszNDUwLDEwIEBAIGluZGV4IGJkYWM0 ZDc4NC4uNTFlMGYyY2FjIDEwMDY0NAogICMgIGRlZmluZSBTSU1EX1NaIDQKICAjICBkZWZpbmUg VlpFUk8oKSAoKHZlY3RvciBmbG9hdCkgdmVjX3NwbGF0X3U4KDApKQogZGlmZiAtLWdpdCB0aGly ZF9wYXJ0eS9za2lhL3NyYy9za3NsL1NrU0xTdHJpbmcuY3BwIHRoaXJkX3BhcnR5L3NraWEvc3Jj L3Nrc2wvU2tTTFN0cmluZy5jcHAKLWluZGV4IDg4ZWIxYzdkLi40YmUzM2ZhNSAxMDA2NDQKK2lu ZGV4IGVjM2U1Njk2NC4uNGNmODk5OWEyIDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L3NraWEvc3Jj L3Nrc2wvU2tTTFN0cmluZy5jcHAKICsrKyB0aGlyZF9wYXJ0eS9za2lhL3NyYy9za3NsL1NrU0xT dHJpbmcuY3BwCi1AQCAtMjQwLDcgKzI0MCwxMiBAQCBTdHJpbmcgdG9fc3RyaW5nKGRvdWJsZSB2 YWx1ZSkgeworQEAgLTIzNCw3ICsyMzQsMTIgQEAgU3RyaW5nIHRvX3N0cmluZyhkb3VibGUgdmFs dWUpIHsKICAgICAgaWYgKG5lZWRzRG90WmVybykgewogICAgICAgICAgYnVmZmVyIDw8ICIuMCI7 CiAgICAgIH0KQEAgLTM0ODcsMTIgKzM0NjYsMTIgQEAgaW5kZXggODhlYjFjN2QuLjRiZTMzZmE1 IDEwMDY0NAogKyAgICByZXR1cm4gU3RyaW5nKHJldC5jX3N0cigpKTsKICB9CiAgCi0gU0tTTF9J TlQgc3RvaShjb25zdCBTdHJpbmcmIHMpIHsKKyBib29sIHN0b2QoY29uc3QgU3RyaW5nRnJhZ21l bnQmIHMsIFNLU0xfRkxPQVQqIHZhbHVlKSB7CiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L3NxbGl0 ZS9zcmMvYW1hbGdhbWF0aW9uL3NxbGl0ZTMuYyB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxn YW1hdGlvbi9zcWxpdGUzLmMKLWluZGV4IDFiMmMyZWM3Li43NTkzZGJhMSAxMDA2NDQKK2luZGV4 IDZiNGE3ODk5ZC4uYjhjN2ZlNDE0IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMv YW1hbGdhbWF0aW9uL3NxbGl0ZTMuYwogKysrIHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdh bWF0aW9uL3NxbGl0ZTMuYwotQEAgLTE0NDAwLDcgKzE0NDAwLDggQEAgdHlwZWRlZiBJTlQxNl9U WVBFIExvZ0VzdDsKK0BAIC0xNDQ3NCw3ICsxNDQ3NCw4IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBM b2dFc3Q7CiAgIyBpZiBkZWZpbmVkKGkzODYpICAgICAgfHwgZGVmaW5lZChfX2kzODZfXykgICAg ICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICAgIFwKICAgICAgIGRlZmluZWQoX194ODZfNjQpICB8 fCBkZWZpbmVkKF9feDg2XzY0X18pICAgIHx8IGRlZmluZWQoX01fWDY0KSAgfHwgICAgXAogICAg ICAgZGVmaW5lZChfTV9BTUQ2NCkgIHx8IGRlZmluZWQoX01fQVJNKSAgICAgICAgfHwgZGVmaW5l ZChfX3g4NikgICB8fCAgICBcCkBAIC0zNTAzLDEwICszNDgyLDEwIEBAIGluZGV4IDFiMmMyZWM3 Li43NTkzZGJhMSAxMDA2NDQKICAjIGVsaWYgZGVmaW5lZChzcGFyYykgICAgIHx8IGRlZmluZWQo X19wcGNfXykgfHwgXAogICAgICAgICBkZWZpbmVkKF9fQVJNRUJfXykgfHwgZGVmaW5lZChfX0FB UkNINjRFQl9fKQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlv bl9kZXYvc3FsaXRlMy5jIHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9uX2Rldi9z cWxpdGUzLmMKLWluZGV4IDE5Yzg3Njg5Li5jN2FiMDM5ZSAxMDA2NDQKK2luZGV4IGQzMGM5Yjdk ZS4uY2Y3NWE2OWQ5IDEwMDY0NAogLS0tIHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0 aW9uX2Rldi9zcWxpdGUzLmMKICsrKyB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlv bl9kZXYvc3FsaXRlMy5jCi1AQCAtMTQ0MTMsNyArMTQ0MTMsOCBAQCB0eXBlZGVmIElOVDE2X1RZ UEUgTG9nRXN0OworQEAgLTE0NDg3LDcgKzE0NDg3LDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExv Z0VzdDsKICAjIGlmIGRlZmluZWQoaTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgICAg IHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAogICAgICAgZGVmaW5lZChfX3g4Nl82NCkgIHx8 IGRlZmluZWQoX194ODZfNjRfXykgICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCiAgICAg ICBkZWZpbmVkKF9NX0FNRDY0KSAgfHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8fCBkZWZpbmVk KF9feDg2KSAgIHx8ICAgIFwKQEAgLTM1MTcsMTAgKzM0OTYsMTAgQEAgaW5kZXggMTljODc2ODku LmM3YWIwMzllIDEwMDY0NAogICMgZWxpZiBkZWZpbmVkKHNwYXJjKSAgICAgfHwgZGVmaW5lZChf X3BwY19fKSB8fCBcCiAgICAgICAgIGRlZmluZWQoX19BUk1FQl9fKSB8fCBkZWZpbmVkKF9fQUFS Q0g2NEVCX18pCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0cmVlL3J0 cmVlLmMgdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYwotaW5kZXggZWZh ZWY4MTMuLjRjZDU3ZDU1IDEwMDY0NAoraW5kZXggZjViNTdhNWUyLi44MGEyZDBhZDggMTAwNjQ0 CiAtLS0gdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYwogKysrIHRoaXJk X3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0cmVlL3J0cmVlLmMKLUBAIC00MzIsNyArNDMyLDcgQEAg c3RydWN0IFJ0cmVlTWF0Y2hBcmcgeworQEAgLTQ1MCw3ICs0NTAsNyBAQCBzdHJ1Y3QgUnRyZWVN YXRjaEFyZyB7CiAgI2lmIGRlZmluZWQoaTM4NikgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAg fHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCiAgICAgIGRlZmluZWQoX194ODZfNjQpIHx8IGRl ZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCiAgICAgIGRlZmlu ZWQoX01fQU1ENjQpIHx8IGRlZmluZWQoX01fQVJNKSAgICAgfHwgZGVmaW5lZChfX3g4NikgICB8 fCAgICBcCkBAIC0zNTMwLDEwICszNTA5LDEwIEBAIGluZGV4IGVmYWVmODEzLi40Y2Q1N2Q1NSAx MDA2NDQKICAjZWxpZiBkZWZpbmVkKHNwYXJjKSAgICB8fCBkZWZpbmVkKF9fcHBjX18pCiAgIyBk ZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICA0MzIxCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L3Nx bGl0ZS9zcmMvc3JjL3NxbGl0ZUludC5oIHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvc3JjL3NxbGl0 ZUludC5oCi1pbmRleCAxMjJlMjZhZC4uZWMyMWRjYjUgMTAwNjQ0CitpbmRleCAyNDUwNzBkNGYu LmIyNTE2NGU5NSAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3NyYy9zcWxpdGVJ bnQuaAogKysrIHRoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvc3JjL3NxbGl0ZUludC5oCi1AQCAtODY4 LDcgKzg2OCw4IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7CitAQCAtODc3LDcgKzg3Nyw4 IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7CiAgIyBpZiBkZWZpbmVkKGkzODYpICAgICAg fHwgZGVmaW5lZChfX2kzODZfXykgICAgICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICAgIFwKICAg ICAgIGRlZmluZWQoX194ODZfNjQpICB8fCBkZWZpbmVkKF9feDg2XzY0X18pICAgIHx8IGRlZmlu ZWQoX01fWDY0KSAgfHwgICAgXAogICAgICAgZGVmaW5lZChfTV9BTUQ2NCkgIHx8IGRlZmluZWQo X01fQVJNKSAgICAgICAgfHwgZGVmaW5lZChfX3g4NikgICB8fCAgICBcCkBAIC0zNTQ0LDEwICsz NTIzLDEwIEBAIGluZGV4IDEyMmUyNmFkLi5lYzIxZGNiNSAxMDA2NDQKICAjIGVsaWYgZGVmaW5l ZChzcGFyYykgICAgIHx8IGRlZmluZWQoX19wcGNfXykgfHwgXAogICAgICAgICBkZWZpbmVkKF9f QVJNRUJfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFQl9fKQogZGlmZiAtLWdpdCB0aGlyZF9wYXJ0 eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjIHRoaXJkX3Bh cnR5L3dlYnJ0Yy9tb2R1bGVzL2Rlc2t0b3BfY2FwdHVyZS9kaWZmZXJfYmxvY2suY2MKLWluZGV4 IGRkOWFiNDU3Li5jMDA1ZDk1OSAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxl cy9kZXNrdG9wX2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjLm9yaWcJMjAyMC0xMS0xNyAxMzo0Mjow Mi4wMDAwMDAwMDAgLTA1MDAKLSsrKyB0aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9w X2NhcHR1cmUvZGlmZmVyX2Jsb2NrLmNjCTIwMjAtMTEtMTggMjE6MTE6MDMuMDM5OTA1MzYwIC0w NTAwCi1AQCAtMzAsMTEgKzMwLDcgQEAKK2luZGV4IDRmMGM1NDMwYy4uNTRlZTA4MjllIDEwMDY0 NAorLS0tIHRoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2Rlc2t0b3BfY2FwdHVyZS9kaWZmZXJf YmxvY2suY2MKKysrKyB0aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2NhcHR1cmUv ZGlmZmVyX2Jsb2NrLmNjCitAQCAtMzAsMTEgKzMwLDcgQEAgYm9vbCBWZWN0b3JEaWZmZXJlbmNl KGNvbnN0IHVpbnQ4X3QqIGltYWdlMSwgY29uc3QgdWludDhfdCogaW1hZ2UyKSB7CiAgICBzdGF0 aWMgYm9vbCAoKmRpZmZfcHJvYykoY29uc3QgdWludDhfdCosIGNvbnN0IHVpbnQ4X3QqKSA9IG51 bGxwdHI7CiAgCiAgICBpZiAoIWRpZmZfcHJvYykgewpAQCAtMzU2MCw3ICszNTM5LDcgQEAgaW5k ZXggZGQ5YWI0NTcuLmMwMDVkOTU5IDEwMDY0NAogICAgICBib29sIGhhdmVfc3NlMiA9IEdldENQ VUluZm8oa1NTRTIpICE9IDA7CiAgICAgIC8vIEZvciB4ODYgcHJvY2Vzc29ycywgY2hlY2sgaWYg U1NFMiBpcyBzdXBwb3J0ZWQuCiAgICAgIGlmIChoYXZlX3NzZTIgJiYga0Jsb2NrU2l6ZSA9PSAz MikgewotQEAgLTQ0LDYgKzQwLDEwIEBACitAQCAtNDQsNiArNDAsMTAgQEAgYm9vbCBWZWN0b3JE aWZmZXJlbmNlKGNvbnN0IHVpbnQ4X3QqIGltYWdlMSwgY29uc3QgdWludDhfdCogaW1hZ2UyKSB7 CiAgICAgIH0gZWxzZSB7CiAgICAgICAgZGlmZl9wcm9jID0gJlZlY3RvckRpZmZlcmVuY2VfQzsK ICAgICAgfQpAQCAtMzU3MiwxMCArMzU1MSwxMCBAQCBpbmRleCBkZDlhYjQ1Ny4uYzAwNWQ5NTkg MTAwNjQ0CiAgICB9CiAgCiBkaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L3dlYnJ0Yy9ydGNfYmFzZS9z eXN0ZW0vYXJjaC5oIHRoaXJkX3BhcnR5L3dlYnJ0Yy9ydGNfYmFzZS9zeXN0ZW0vYXJjaC5oCi1p bmRleCBlZDIxNmU2Ni4uMjVkMzZjMDcgMTAwNjQ0CitpbmRleCBiZTIzNjdiODUuLmJlNGVlNDIz MyAxMDA2NDQKIC0tLSB0aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVtL2FyY2guaAog KysrIHRoaXJkX3BhcnR5L3dlYnJ0Yy9ydGNfYmFzZS9zeXN0ZW0vYXJjaC5oCi1AQCAtNTAsNiAr NTAsMTggQEAKK0BAIC03OSw2ICs3OSwxOCBAQAogICNlbGlmIGRlZmluZWQoX19FTVNDUklQVEVO X18pCiAgI2RlZmluZSBXRUJSVENfQVJDSF8zMl9CSVRTCiAgI2RlZmluZSBXRUJSVENfQVJDSF9M SVRUTEVfRU5ESUFOCkBAIC0zNTk0LDE1ICszNTczLDE1IEBAIGluZGV4IGVkMjE2ZTY2Li4yNWQz NmMwNyAxMDA2NDQKICAjZWxzZQogICNlcnJvciBQbGVhc2UgYWRkIHN1cHBvcnQgZm9yIHlvdXIg YXJjaGl0ZWN0dXJlIGluIHJ0Y19iYXNlL3N5c3RlbS9hcmNoLmgKICAjZW5kaWYKLSBkaWZmIC0t Z2l0IHY4L0JVSUxELmduIHY4L0JVSUxELmduCi1pbmRleCAxNjdlNjM1MDMuLjEyNWM0NDVlYSAx MDA2NDQKK2RpZmYgLS1naXQgdjgvQlVJTEQuZ24gdjgvQlVJTEQuZ24KK2luZGV4IGYzOTUyOWEz YS4uZTg0ZmM0NDllIDEwMDY0NAogLS0tIHY4L0JVSUxELmduCiArKysgdjgvQlVJTEQuZ24KLUBA IC02OTYsNiArNjk2LDEyIEBAIGNvbmZpZygidG9vbGNoYWluIikgeworQEAgLTg1MCw2ICs4NTAs MTIgQEAgY29uZmlnKCJ0b29sY2hhaW4iKSB7CiAgICAgIH0KICAgICAgaWYgKGhvc3RfYnl0ZW9y ZGVyID09ICJsaXR0bGUiKSB7CiAgICAgICAgZGVmaW5lcyArPSBbICJWOF9UQVJHRVRfQVJDSF9Q UENfTEUiIF0KLSsgICAgICAgIGNmbGFncyArPSBbCisrICAgICAgY2ZsYWdzICs9IFsKICsgICAg ICAgICMgRW5hYmxlIHVzYWdlIG9mIEFsdGlWZWMsIFZTWCwgYW5kIG90aGVyIFBPV0VSOCBhbmQg aGlnaGVyIGZlYXR1cmVzCiArICAgICAgICAiLW1jcHU9cG93ZXI4IiwKICsgICAgICAgICItbWFs dGl2ZWMiLApAQCAtMzYxMSwyNCArMzU5MCwxMiBAQCBpbmRleCAxNjdlNjM1MDMuLjEyNWM0NDVl YSAxMDA2NDQKICAgICAgfSBlbHNlIGlmIChob3N0X2J5dGVvcmRlciA9PSAiYmlnIikgewogICAg ICAgIGRlZmluZXMgKz0gWyAiVjhfVEFSR0VUX0FSQ0hfUFBDX0JFIiBdCiAgICAgICAgaWYgKGN1 cnJlbnRfb3MgPT0gImFpeCIpIHsKLWRpZmYgLS1naXQgdWkvZ2wvZmVhdHVyZXMuZ25pIHVpL2ds L2ZlYXR1cmVzLmduaQotaW5kZXggY2IyYzk4NjQ5Li41ZTA5YmMxZjcgMTAwNjQ0Ci0tLS0gdWkv Z2wvZmVhdHVyZXMuZ25pCi0rKysgdWkvZ2wvZmVhdHVyZXMuZ25pCi1AQCAtMjUsNSArMjUsNiBA QCBkZWNsYXJlX2FyZ3MoKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgaXNfY2hyb21lb3Mg fHwgaXNfZnVjaHNpYSkgJiYKLSAgICAgICAgICAgICAgICAgICAgICAgICh0YXJnZXRfY3B1ID09 ICJ4ODYiIHx8IHRhcmdldF9jcHUgPT0gIng2NCIgfHwKLSAgICAgICAgICAgICAgICAgICAgICAg ICB0YXJnZXRfY3B1ID09ICJhcm0iIHx8IHRhcmdldF9jcHUgPT0gImFybTY0IiB8fAotLSAgICAg ICAgICAgICAgICAgICAgICAgIHRhcmdldF9jcHUgPT0gIm1pcHNlbCIgfHwgdGFyZ2V0X2NwdSA9 PSAibWlwczY0ZWwiKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9jcHUgPT0gIm1p cHNlbCIgfHwgdGFyZ2V0X2NwdSA9PSAibWlwczY0ZWwiIHx8Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgdGFyZ2V0X2NwdSA9PSAicHBjNjQiKQotIH0KIGRpZmYgLS1naXQgdjgvdGVzdC9CVUlM RC5nbiB2OC90ZXN0L0JVSUxELmduCi1pbmRleCBmNmQzMDUzN2EuLjI4N2IyNzA4MCAxMDA2NDQK K2luZGV4IGZiODcyYWQzOS4uNDVmYzU4NWRkIDEwMDY0NAogLS0tIHY4L3Rlc3QvQlVJTEQuZ24K ICsrKyB2OC90ZXN0L0JVSUxELmduCi1AQCAtMzEsNyArMzEsNyBAQCBncm91cCgiZ25fYWxsIikg ewotICAgICBkZXBzICs9IFsKK0BAIC0zNiw3ICszNiw3IEBAIGdyb3VwKCJnbl9hbGwiKSB7Cisg ICAgICAgImJlbmNobWFya3MvY3BwOmduX2FsbCIsCiAgICAgICAgImNjdGVzdDpjY3Rlc3QiLAog ICAgICAgICJjY3Rlc3Q6Z2VuZXJhdGUtYnl0ZWNvZGUtZXhwZWN0YXRpb25zIiwKIC0gICAgICAi dW5pdHRlc3RzOnVuaXR0ZXN0cyIsCkBAIC0zNjM2LDcgKzM2MDMsNyBAQCBpbmRleCBmNmQzMDUz N2EuLjI4N2IyNzA4MCAxMDA2NDQKICAgICAgXQogICAgfQogIH0KLUBAIC03Myw3ICs3Myw3IEBA IGdyb3VwKCJ2OF9ib3RfZGVmYXVsdCIpIHsKK0BAIC03OCw3ICs3OCw3IEBAIGdyb3VwKCJ2OF9i b3RfZGVmYXVsdCIpIHsKICAgICAgIm1lc3NhZ2U6djhfbWVzc2FnZSIsCiAgICAgICJtanN1bml0 OnY4X21qc3VuaXQiLAogICAgICAibWtncm9rZHVtcDpta2dyb2tkdW1wIiwKQEAgLTM2NDUsNyAr MzYxMiw3IEBAIGluZGV4IGY2ZDMwNTM3YS4uMjg3YjI3MDgwIDEwMDY0NAogICAgICAid2FzbS1h cGktdGVzdHM6d2FzbV9hcGlfdGVzdHMiLAogICAgICAid2FzbS1qczp2OF93YXNtX2pzIiwKICAg ICAgIndhc20tc3BlYy10ZXN0czp2OF93YXNtX3NwZWNfdGVzdHMiLAotQEAgLTkzLDcgKzkzLDcg QEAgZ3JvdXAoInY4X2RlZmF1bHQiKSB7CitAQCAtOTgsNyArOTgsNyBAQCBncm91cCgidjhfZGVm YXVsdCIpIHsKICAgICAgIm1lc3NhZ2U6djhfbWVzc2FnZSIsCiAgICAgICJtanN1bml0OnY4X21q c3VuaXQiLAogICAgICAibWtncm9rZHVtcDpta2dyb2tkdW1wIiwKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vdGVtcGxhdGUgYi9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCmluZGV4IDA5 OGNiOTA0ZGE5Li5jMDhjOWE2MDA0ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnY2hyb21pdW0nCiBwa2duYW1lPWNocm9taXVtCiAjIFNlZSBodHRw Oi8vd3d3LmNocm9taXVtLm9yZy9kZXZlbG9wZXJzL2NhbGVuZGFyIGZvciB0aGUgbGF0ZXN0IHZl cnNpb24KLXZlcnNpb249ODguMC40MzI0LjE4MgordmVyc2lvbj04OS4wLjQzODkuNzIKIHJldmlz aW9uPTEKIGFyY2hzPSJpNjg2KiB4ODZfNjQqIGFhcmNoNjQqIGFybXY3bCogcHBjNjRsZSoiCiBz aG9ydF9kZXNjPSJHb29nbGUncyBhdHRlbXB0IGF0IGNyZWF0aW5nIGEgc2FmZXIsIGZhc3Rlciwg YW5kIG1vcmUgc3RhYmxlIGJyb3dzZXIiCkBAIC05LDcgKzksNyBAQCBtYWludGFpbmVyPSJFbm5v IEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iQlNELTMtQ2xhdXNlIgog aG9tZXBhZ2U9Imh0dHBzOi8vd3d3LmNocm9taXVtLm9yZy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8v Y29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2hyb21pdW0tYnJvd3Nlci1vZmZpY2lh bC8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09MzA0MTFmYzNlYzJkMzNk ZjRjNWNhZDQxZjIxYWZmYTM4MjNjODBmN2RiZDM5NGY2ZDY4ZjlhMWU4MTAxNWI4MQorY2hlY2tz dW09OTQ2YTBiNjVhYWQxMGUwZjc3YTUzOTEwMzg5MjA5OWI3MjM4MzEwYzczM2YyNWI0MWQ1OGI3 NmY2YWMwYmM0Zgogbm9jcm9zcz15ZXMKIAogbGliMzJkaXNhYmxlZD15ZXMKQEAgLTM0LDcgKzM0 LDcgQEAgbWFrZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCBndGsrLWRldmVsIGd0ayszLWRldmVsIG5z cy1kZXZlbCBwY2l1dGlscy1kZXZlbAogIGxpYlhjdXJzb3ItZGV2ZWwgbGliZmxhYy1kZXZlbCBz cGVleC1kZXZlbCBsaWJtdHAtZGV2ZWwgbGlid2VicC1kZXZlbAogIGxpYmpwZWctdHVyYm8tZGV2 ZWwgbGliZXZlbnQtZGV2ZWwganNvbi1jLWRldmVsIGhhcmZidXp6LWRldmVsCiAgbWluaXppcC1k ZXZlbCBqc29uY3BwLWRldmVsIHpsaWItZGV2ZWwgbGliY2FwLWRldmVsIGxpYlhkYW1hZ2UtZGV2 ZWwKLSByZTItZGV2ZWwgZm9udGNvbmZpZy1kZXZlbCBmcmVldHlwZS1kZXZlbCBvcHVzLWRldmVs CisgcmUyLWRldmVsIGZvbnRjb25maWctZGV2ZWwgZnJlZXR5cGUtZGV2ZWwKICBmZm1wZWctZGV2 ZWwgbGlidmEtZGV2ZWwgcHl0aG9uLXNldHVwdG9vbHMgeGNiLXByb3RvCiAgJCh2b3B0X2lmIHBp cGV3aXJlIGxpYnBpcGV3aXJlMC4yLWRldmVsKSAkKHZvcHRfaWYgc25kaW8gc25kaW8tZGV2ZWwp IgogZGVwZW5kcz0ibGliZXhpZiBod2lkcyBkZXNrdG9wLWZpbGUtdXRpbHMgaGljb2xvci1pY29u LXRoZW1lIHhkZy11dGlscyIKQEAgLTExOSw2ICsxMTksNyBAQCBkb19jb25maWd1cmUoKSB7CiAJ IyB1c2Vfc3lzdGVtX3Y4PTEKIAkjIHVzZV9zeXN0ZW1femxpYj0xCiAJIyBiemlwMiBqc29uY3Bw IG1pbml6aXAgeGRnX3V0aWxzIHNwZWV4CisJIyBvcHVzIGZhaWxzIGJlY2F1c2UgdGhlIGdlbmVy YXRlZCBzaGltIGhlYWRlciBvcHVzLmggdHJpZXMgdG8gaW5jbHVkZSA8b3B1cy5oPgogCXN5c3Rl bT0iCiAJCWZmbXBlZwogCQlmbGFjCkBAIC0xMzIsNyArMTMzLDYgQEAgZG9fY29uZmlndXJlKCkg ewogCQlsaWJ3ZWJwCiAJCWxpYnhtbAogCQlsaWJ4c2x0Ci0JCW9wdXMKIAkJcmUyCiAJCXNuYXBw eQogCSIK --===============1680157969873742679==--