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=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 6361 invoked from network); 15 Nov 2021 18:42:04 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 15 Nov 2021 18:42:04 -0000 Content-Type: multipart/mixed; boundary="===============2212791392841532301==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_96=2E0=2E4664=2E45=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 15 Nov 2021 19:42:03 +0100 List-Id: Message-ID: <20211115184203.haJxDHtM9RdHyFV4SamlU0fNCAhN1x0EyTbb7DexBK0@z> GitHub notification mails are now in MIME to allow UTF8. --===============2212791392841532301== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTk2Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zNDA5NAoKY2hyb21pdW06IHVwZGF0ZSB0byA5Ni4wLjQ2 NjQuNDUuCi0gZW5hYmxlIGFhcmNoNjQqIGNyb3NzIGJ1aWxkDQotIHVzZSBgLWZkZWJ1Zy1wcmVm aXgtbWFwYCBmb3IgYmV0dGVyIGNjYWNoZSBoaXRzIHdpdGggLW8gZGVidWcNCg0KW2NpIHNraXBd DQoNCiogWyBdIHg4Nl82NC1nbGliYw0KKiBbIF0geDg2XzY0LW11c2wNCiogWyBdIGk2ODYtZ2xp YmMNCiogWyBdIGFhcmNoNjQtbXVzbAoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM0MDk0LnBhdGNoIGlzIGF0dGFjaGVk --===============2212791392841532301== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-96-34094.patch" RnJvbSA3N2Y3Nzk4NjBmNzRkN2ViMDU5NzljOTA0YWJlYzI2NWM4Y2MyYjdlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFN1biwgMjYgU2VwIDIwMjEgMTU6NDc6MjkgKzAyMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDk2LjAuNDY2NC40NS4KCi0gZW5hYmxlIGFhcmNoNjQqIGNyb3NzIGJ1aWxk Ci0gdXNlIC1mZGVidWctcHJlZml4LW1hcCBmb3IgYmV0dGVyIGNjYWNoZSBoaXRzIHdpdGggLW8g ZGVidWcKLS0tCiAuLi4vbXVzbC1wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggICAg fCAgIDYgKy0KIC4uLi9wYXRjaGVzL2Nocm9taXVtLTk1LWhhcmZidXp6LTMucGF0Y2ggICAgICB8 ICAzMSAtCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS05NS1xdWljaGUtaW5jbHVkZS5wYXRjaCAgfCAg MjUgLQogLi4uL2Nocm9taXVtLTk2LUNvbW1hbmRMaW5lLWluY2x1ZGUucGF0Y2ggICAgIHwgIDI0 ICsKIC4uLi9jaHJvbWl1bS05Ni1Db3Vwb25EQi1pbmNsdWRlLnBhdGNoICAgICAgICB8ICAyNSAr CiAuLi5tLTk2LURybVJlbmRlck5vZGVQYXRoRmluZGVyLWluY2x1ZGUucGF0Y2ggfCAgMjQgKwog Li4uaXVtLTk2LVJlc3RyaWN0ZWRDb29raWVNYW5hZ2VyLXR1cGxlLnBhdGNoIHwgIDMxICsKIHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5wYXRjaCAgICB8ICA2NSArKwogLi4u L3BhdGNoZXMvb3pvbmUteDExLWZpeC1WQS1BUEkucGF0Y2ggICAgICAgIHwgNjcxIC0tLS0tLS0t LS0tLS0tLS0tLQogc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3B5dGhvbjMuMTAucGF0Y2ggICAg IHwgIDU3IC0tCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvc25kaW8ucGF0Y2ggICAgICAgICAg fCAgIDkgLQogLi4uLXZpc2liaWxpdHktb2YtYnVpbGQtY29uZmlnLWZyZWV0eXBlLnBhdGNoIHwg IDMxICsKIC4uLi9wYXRjaGVzL3VuYnVuZGxlZC1jcm9zcy10b29sY2hhaW4ucGF0Y2ggICB8ICAx MiArCiAuLi4vcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoICAgICAgICAgfCAgIDYg Ky0KIHNyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8IDE0MCAr KystCiAxNSBmaWxlcyBjaGFuZ2VkLCAzMjUgaW5zZXJ0aW9ucygrKSwgODMyIGRlbGV0aW9ucygt KQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05 NS1oYXJmYnV6ei0zLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTk1LXF1aWNoZS1pbmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTk2LUNvbW1hbmRMaW5lLWluY2x1 ZGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tOTYtQ291cG9uREItaW5jbHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05Ni1Ecm1SZW5kZXJOb2RlUGF0aEZpbmRlci1p bmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTk2LVJlc3RyaWN0ZWRDb29raWVNYW5hZ2VyLXR1cGxlLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nyb3NzLWJ1aWxkLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL296b25lLXgxMS1maXgt VkEtQVBJLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L3B5dGhvbjMuMTAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvdW5idW5kbGUtZml4LXZpc2liaWxpdHktb2YtYnVpbGQtY29uZmlnLWZyZWV0eXBlLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3VuYnVuZGxl ZC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL2Zp bGVzL211c2wtcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoIGIvc3JjcGtncy9jaHJv bWl1bS9maWxlcy9tdXNsLXBhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAppbmRleCA2 ODFiMWYwMTFjMzEuLmEwZjhkMjg1ZmU4MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9m aWxlcy9tdXNsLXBhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAorKysgYi9zcmNwa2dz L2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCkBA IC02MSw5ICs2MSw5IEBAIGluZGV4IGNkY2U5YmY4Li43M2Q3N2RkYSAxMDA2NDQKICAKICAvLyBU aGUgZm9sbG93aW5nIHBsYXRmb3JtcyBoYXZlIGFuIGltcGxlbWVudGF0aW9uIG9mIGEgaGFyZHdh cmUgY291bnRlci4KICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCi0tICBkZWZpbmVkKF9fcG93ZXJwY19fKSB8 fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKLSsgICgoZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgZGVm aW5lZChfX3BwY19fKSkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBcCi0gICBkZWZpbmVkKF9N X0lYODYpIHx8IGRlZmluZWQoX01fWDY0KQorLSAgICBkZWZpbmVkKF9fcG93ZXJwY19fKSB8fCBk ZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19yaXNjdikgfHwgICAgIFwKKysgICAgKChkZWZp bmVkKF9fcG93ZXJwY19fKSB8fCBkZWZpbmVkKF9fcHBjX18pKSAmJiBkZWZpbmVkKF9fR0xJQkNf XykpIHx8IGRlZmluZWQoX19yaXNjdikgfHwgXAorICAgICBkZWZpbmVkKF9NX0lYODYpIHx8IGRl ZmluZWQoX01fWDY0KQogICNkZWZpbmUgQUJTTF9IQVZFX1VOU0NBTEVEX0NZQ0xFQ0xPQ0tfSU1Q TEVNRU5UQVRJT04gMQogICNlbHNlCiAtLS0gdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2Rl YnVnZ2luZy9pbnRlcm5hbC9zdGFja3RyYWNlX2NvbmZpZy5oCmRpZmYgLS1naXQgYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTUtaGFyZmJ1enotMy5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05NS1oYXJmYnV6ei0zLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAzM2ZlOTU1NmFhZjMuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTUtaGFyZmJ1enotMy5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gOWUwMGU3MDI2MzNjNDdjNTkwYTg2OWJjNjZi NWMyY2VlYzA5ZGE1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvbWluaWsgUsO2 dHRzY2hlcyA8ZHJvdHRAY2hyb21pdW0ub3JnPgotRGF0ZTogVHVlLCAyOCBTZXAgMjAyMSAxNToz MTo1MCArMDAwMAotU3ViamVjdDogW1BBVENIXSBSb2xsIHNyYy90aGlyZF9wYXJ0eS9oYXJmYnV6 ei1uZy9zcmMvIDY2MDJjYmI3MC4uYTUyYzZkZjM4ICg4MCBjb21taXRzKQotCi1GaXhlZDogMTI1 MjI4NAotQ2hhbmdlLUlkOiBJZTJmZjk5ZGE1ZTQxY2E5N2I4ODgxZTFiZDNlMTU4ODgxZjRkNWE4 ZQotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20v Yy9jaHJvbWl1bS9zcmMvKy8zMTkwMjUyCi1Db21taXQtUXVldWU6IERvbWluaWsgUsO2dHRzY2hl cyA8ZHJvdHRAY2hyb21pdW0ub3JnPgotQ29tbWl0LVF1ZXVlOiBDYWxkZXIgS2l0YWdhd2EgPGNr aXRhZ2F3YUBjaHJvbWl1bS5vcmc+Ci1BdXRvLVN1Ym1pdDogRG9taW5payBSw7Z0dHNjaGVzIDxk cm90dEBjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogQ2FsZGVyIEtpdGFnYXdhIDxja2l0YWdh d2FAY2hyb21pdW0ub3JnPgotUmV2aWV3ZWQtYnk6IEFuZGVycyBIYXJ0dm9sbCBSdXVkIDxhbmRy dXVkQGNocm9taXVtLm9yZz4KLUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsj OTI1Nzc2fQotCi0ob25seSBjb21wb25lbnRzL3BhaW50X3ByZXZpZXcvY29tbW9uL3N1YnNldF9m b250LmNjKQotLS0tCi0KLWRpZmYgLS1naXQgYS9jb21wb25lbnRzL3BhaW50X3ByZXZpZXcvY29t bW9uL3N1YnNldF9mb250LmNjIGIvY29tcG9uZW50cy9wYWludF9wcmV2aWV3L2NvbW1vbi9zdWJz ZXRfZm9udC5jYwotaW5kZXggNDVkYWVhN2IxLi40M2E0NDhlIDEwMDY0NAotLS0tIGEvY29tcG9u ZW50cy9wYWludF9wcmV2aWV3L2NvbW1vbi9zdWJzZXRfZm9udC5jYwotKysrIGIvY29tcG9uZW50 cy9wYWludF9wcmV2aWV3L2NvbW1vbi9zdWJzZXRfZm9udC5jYwotQEAgLTc5LDcgKzc5LDcgQEAK LSAgIC8vIFJldGFpbiBhbGwgdmFyaWF0aW9uIGluZm9ybWF0aW9uIGZvciBPcGVuVHlwZSB2YXJp YXRpb24gZm9udHMuIFNlZToKLSAgIC8vIGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVz L3R5cG9ncmFwaHkvb3BlbnR5cGUvc3BlYy9vdHZhcm92ZXJ2aWV3Ci0gICBoYl9zZXRfdCogc2tp cF9zdWJzZXQgPQotLSAgICAgIGhiX3N1YnNldF9pbnB1dF9ub19zdWJzZXRfdGFibGVzX3NldChp bnB1dC5nZXQoKSk7ICAvLyBPd25lZCBieSB8aW5wdXR8LgotKyAgICAgIGhiX3N1YnNldF9pbnB1 dF9zZXQoaW5wdXQuZ2V0KCksIEhCX1NVQlNFVF9TRVRTX05PX1NVQlNFVF9UQUJMRV9UQUcpOwot ICAgaGJfc2V0X2FkZChza2lwX3N1YnNldCwgSEJfVEFHKCdhJywgJ3YnLCAnYScsICdyJykpOwot ICAgaGJfc2V0X2FkZChza2lwX3N1YnNldCwgSEJfVEFHKCdjJywgJ3YnLCAnYScsICdyJykpOwot ICAgaGJfc2V0X2FkZChza2lwX3N1YnNldCwgSEJfVEFHKCdmJywgJ3YnLCAnYScsICdyJykpOwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTk1LXF1aWNoZS1p bmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTk1LXF1aWNo ZS1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmJkNDVjZmMw OTQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t OTUtcXVpY2hlLWluY2x1ZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1G cm9tIGE5ZDk4NjIwM2JjZmJhYWI4NGYyNzBjMWRjNmMzYWJiNGM0NTBlZTEgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5j b20+Ci1EYXRlOiBGcmksIDE3IFNlcCAyMDIxIDE0OjU3OjMzICswMDAwCi1TdWJqZWN0OiBbUEFU Q0hdIElXWVU6IGFkZCBzdGRkZWYuaCBmb3Igc2l6ZV90IGluIFdpbmRvd01hbmFnZXIKLQotLS0t Ci0gbmV0L3RoaXJkX3BhcnR5L3F1aWNoZS9zcmMvaHR0cDIvYWRhcHRlci93aW5kb3dfbWFuYWdl ci5oIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdp dCBhL25ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL2h0dHAyL2FkYXB0ZXIvd2luZG93X21hbmFn ZXIuaCBiL25ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL2h0dHAyL2FkYXB0ZXIvd2luZG93X21h bmFnZXIuaAotaW5kZXggZjE1OTgyZC4uNWE3NzAxZSAxMDA2NDQKLS0tLSBhL25ldC90aGlyZF9w YXJ0eS9xdWljaGUvc3JjL2h0dHAyL2FkYXB0ZXIvd2luZG93X21hbmFnZXIuaAotKysrIGIvbmV0 L3RoaXJkX3BhcnR5L3F1aWNoZS9zcmMvaHR0cDIvYWRhcHRlci93aW5kb3dfbWFuYWdlci5oCi1A QCAtMSw2ICsxLDggQEAKLSAjaWZuZGVmIFFVSUNIRV9IVFRQMl9BREFQVEVSX1dJTkRPV19NQU5B R0VSX0hfCi0gI2RlZmluZSBRVUlDSEVfSFRUUDJfQURBUFRFUl9XSU5ET1dfTUFOQUdFUl9IXwot IAotKyNpbmNsdWRlIDxzdGRkZWYuaD4KLSsKLSAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAKLSAj aW5jbHVkZSAiY29tbW9uL3BsYXRmb3JtL2FwaS9xdWljaGVfZXhwb3J0LmgiCi0tLSAKLTIuMzIu MAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTYtQ29t bWFuZExpbmUtaW5jbHVkZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS05Ni1Db21tYW5kTGluZS1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uMmQ3YjdlOTAyMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTk2LUNvbW1hbmRMaW5lLWluY2x1ZGUucGF0Y2gKQEAg LTAsMCArMSwyNCBAQAorRnJvbSAzOWU2ZTc3Nzk4ZDg2MDMzZTVlYjFmYjJhMmNhZjIwYTViY2Ey MjYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3Ro YTA5QGdvb2dsZW1haWwuY29tPgorRGF0ZTogU2F0LCA5IE9jdCAyMDIxIDA4OjI3OjA0ICswMDAw CitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IGFkZCBtZW1vcnkgZm9yIHN0ZDo6dW5pcXVlX3B0ciBp biBiYXNlOjpDb21tYW5kTGluZQorCistLS0KKyBiYXNlL2NvbW1hbmRfbGluZS5oIHwgMSArCisg MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9iYXNlL2NvbW1h bmRfbGluZS5oIGIvYmFzZS9jb21tYW5kX2xpbmUuaAoraW5kZXggNzA2NzI2YS4uYWQwMjgxMiAx MDA2NDQKKy0tLSBhL2Jhc2UvY29tbWFuZF9saW5lLmgKKysrKyBiL2Jhc2UvY29tbWFuZF9saW5l LmgKK0BAIC0xOSw2ICsxOSw3IEBACisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorICNpbmNsdWRlIDxm dW5jdGlvbmFsPgorICNpbmNsdWRlIDxtYXA+CisrI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVk ZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCistLSAKKzIuMzIuMAorCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTYtQ291cG9uREItaW5jbHVk ZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05Ni1Db3Vwb25EQi1p bmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDFh Y2ZiMzFiOTZlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTk2LUNvdXBvbkRCLWluY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJvbSAz YTdiOGRkMGZjY2VmZmNmZDBlYTdlMzE4NmQyODUwZGVlZDdhMDBiIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgor RGF0ZTogV2VkLCA2IE9jdCAyMDIxIDE1OjM2OjQ3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElX WVU6IGFkZCB2ZWN0b3IgZm9yIHN0ZDo6dmVjdG9yIGluIENvdXBvbkRCCisKKy0tLQorIGNocm9t ZS9icm93c2VyL2NvbW1lcmNlL2NvdXBvbnMvY291cG9uX2RiLmggfCAyICsrCisgMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Jyb3dzZXIvY29t bWVyY2UvY291cG9ucy9jb3Vwb25fZGIuaCBiL2Nocm9tZS9icm93c2VyL2NvbW1lcmNlL2NvdXBv bnMvY291cG9uX2RiLmgKK2luZGV4IGYwNzU4ZjQuLjkzZTJkZDMgMTAwNjQ0CistLS0gYS9jaHJv bWUvYnJvd3Nlci9jb21tZXJjZS9jb3Vwb25zL2NvdXBvbl9kYi5oCisrKysgYi9jaHJvbWUvYnJv d3Nlci9jb21tZXJjZS9jb3Vwb25zL2NvdXBvbl9kYi5oCitAQCAtNSw2ICs1LDggQEAKKyAjaWZu ZGVmIENIUk9NRV9CUk9XU0VSX0NPTU1FUkNFX0NPVVBPTlNfQ09VUE9OX0RCX0hfCisgI2RlZmlu ZSBDSFJPTUVfQlJPV1NFUl9DT01NRVJDRV9DT1VQT05TX0NPVVBPTl9EQl9IXworIAorKyNpbmNs dWRlIDx2ZWN0b3I+CisrCisgI2luY2x1ZGUgImJhc2UvY2FsbGJhY2tfaGVscGVycy5oIgorICNp bmNsdWRlICJiYXNlL21lbW9yeS93ZWFrX3B0ci5oIgorICNpbmNsdWRlICJ1cmwvZ3VybC5oIgor LS0gCisyLjMyLjAKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9t aXVtLTk2LURybVJlbmRlck5vZGVQYXRoRmluZGVyLWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTYtRHJtUmVuZGVyTm9kZVBhdGhGaW5kZXItaW5jbHVk ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZkNDRlYjJj OTFhMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS05Ni1Ecm1SZW5kZXJOb2RlUGF0aEZpbmRlci1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMjQg QEAKK0Zyb20gOWUzNmIzYzI4OTM1ZmI1MGQ0M2NjZWY0NDNiZTc4NmE4ZTNmOGE1ZiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVt YWlsLmNvbT4KK0RhdGU6IFNhdCwgOSBPY3QgMjAyMSAxNjoxNzozNCArMDAwMAorU3ViamVjdDog W1BBVENIXSBJV1lVOiBhZGQgc3RyaW5nLmggZm9yIG1lbWNtcCBpbiB1aTo6IERybVJlbmRlck5v ZGVQYXRoRmluZGVyCisKKy0tLQorIHVpL296b25lL3BsYXRmb3JtL3dheWxhbmQvZ3B1L2RybV9y ZW5kZXJfbm9kZV9wYXRoX2ZpbmRlci5jYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKQorCitkaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9ncHUvZHJt X3JlbmRlcl9ub2RlX3BhdGhfZmluZGVyLmNjIGIvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9n cHUvZHJtX3JlbmRlcl9ub2RlX3BhdGhfZmluZGVyLmNjCitpbmRleCAwNjc3NmE3Li5kNWI3Yjcx IDEwMDY0NAorLS0tIGEvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9ncHUvZHJtX3JlbmRlcl9u b2RlX3BhdGhfZmluZGVyLmNjCisrKysgYi91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2dwdS9k cm1fcmVuZGVyX25vZGVfcGF0aF9maW5kZXIuY2MKK0BAIC01LDYgKzUsNyBAQAorICNpbmNsdWRl ICJ1aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2dwdS9kcm1fcmVuZGVyX25vZGVfcGF0aF9maW5k ZXIuaCIKKyAKKyAjaW5jbHVkZSA8ZmNudGwuaD4KKysjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2lu Y2x1ZGUgPHN5cy9zdGF0Lmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDx1 bmlzdGQuaD4KKy0tIAorMi4zMi4wCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS05Ni1SZXN0cmljdGVkQ29va2llTWFuYWdlci10dXBsZS5wYXRjaCBiL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05Ni1SZXN0cmljdGVkQ29va2llTWFuYWdl ci10dXBsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNi ZGNhNDRiNzM4ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j aHJvbWl1bS05Ni1SZXN0cmljdGVkQ29va2llTWFuYWdlci10dXBsZS5wYXRjaApAQCAtMCwwICsx LDMxIEBACitGcm9tIDg2YjE4ODY2NzNjM2U3NWQzYTdiOGM4MDJiM2U5ZmE2ZWE5NDVhMWUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdh bGlhLmNvbT4KK0RhdGU6IEZyaSwgMDggT2N0IDIwMjEgMDY6MzI6NTUgKzAwMDAKK1N1YmplY3Q6 IFtQQVRDSF0gbGlic3RkYysrOiBubyBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gdHVwbGUgY3Jl YXRlZCB3aXRoIHN0ZDo6dGllIHRvIGFuIHN0ZDo6cGFpciBpbiByZXN0cmljdGVkIGNvb2tpZSBt YW5hZ2VyLgorCitGaXggY29tcGlsYXRpb24gZXJyb3I6CisgICAgLi4vLi4vc2VydmljZXMvbmV0 d29yay9yZXN0cmljdGVkX2Nvb2tpZV9tYW5hZ2VyLmNjOjE2NDozMDogZXJyb3I6IG5vIG1hdGNo IGZvciDigJhvcGVyYXRvcltd4oCZIChvcGVyYW5kIHR5cGVzIGFyZSDigJhuZXR3b3JrOjpDb29r aWVBY2Nlc3Nlc0J5VVJMQW5kU2l0ZeKAmSB7YWthIOKAmHN0ZDo6bWFwPHN0ZDo6cGFpcjxHVVJM LCBuZXQ6OlNpdGVGb3JDb29raWVzPiwgc3RkOjp1bmlxdWVfcHRyPHN0ZDo6c2V0PG5ldDo6Q29v a2llV2l0aEFjY2Vzc1Jlc3VsdCwgbmV0d29yazo6Q29va2llV2l0aEFjY2Vzc1Jlc3VsdENvbXBh cmVyPiA+ID7igJl9IGFuZCDigJhzdGQ6OnR1cGxlPGNvbnN0IEdVUkwmLCBjb25zdCBuZXQ6OlNp dGVGb3JDb29raWVzJj7igJkpCisKK1RoZXJlIGlzIG5vIGNvbnZlcnNpb24gZnJvbSB0dXBsZSB0 byBwYWlyLgorCitCdWc6IDk1NzUxOQorQ2hhbmdlLUlkOiBJZGYyOWM3YjIxODk1YWUyOGY0NWIz NWQ2MTkzYWI0YWM1NTU5NDVjOAorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3 Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8zMjExNzUyCitSZXZpZXdlZC1ieTog Um9iYmllIE1jRWxyYXRoIDxybWNlbHJhdGhAY2hyb21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBK b3PDqSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitDci1Db21taXQtUG9zaXRpb246 IHJlZnMvaGVhZHMvbWFpbkB7IzkyOTU5N30KKy0tLQorCitkaWZmIC0tZ2l0IGEvc2VydmljZXMv bmV0d29yay9yZXN0cmljdGVkX2Nvb2tpZV9tYW5hZ2VyLmNjIGIvc2VydmljZXMvbmV0d29yay9y ZXN0cmljdGVkX2Nvb2tpZV9tYW5hZ2VyLmNjCitpbmRleCA0MjU0MjZmLi5jOGMxMGM2IDEwMDY0 NAorLS0tIGEvc2VydmljZXMvbmV0d29yay9yZXN0cmljdGVkX2Nvb2tpZV9tYW5hZ2VyLmNjCisr KysgYi9zZXJ2aWNlcy9uZXR3b3JrL3Jlc3RyaWN0ZWRfY29va2llX21hbmFnZXIuY2MKK0BAIC0x NjEsNyArMTYxLDcgQEAKKyAgICAgY29uc3QgR1VSTCYgdXJsLAorICAgICBjb25zdCBuZXQ6OlNp dGVGb3JDb29raWVzJiBzaXRlX2Zvcl9jb29raWVzKSB7CisgICBzdGQ6OnVuaXF1ZV9wdHI8Q29v a2llQWNjZXNzZXM+JiBlbnRyeSA9CistICAgICAgcmVjZW50X2Nvb2tpZV9hY2Nlc3Nlc19bc3Rk Ojp0aWUodXJsLCBzaXRlX2Zvcl9jb29raWVzKV07CisrICAgICAgcmVjZW50X2Nvb2tpZV9hY2Nl c3Nlc19bc3RkOjptYWtlX3BhaXIodXJsLCBzaXRlX2Zvcl9jb29raWVzKV07CisgICBpZiAoIWVu dHJ5KSB7CisgICAgIGVudHJ5ID0gc3RkOjptYWtlX3VuaXF1ZTxDb29raWVBY2Nlc3Nlcz4oKTsK KyAgIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5w YXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjYzYjg5Mzk1Y2I4MAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5wYXRjaApAQCAt MCwwICsxLDY1IEBACistLS0gYS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ub3JpZwor KysrIGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtNTgsNiArNTgsMTAgQEAK KyB9CisgCisgZGVjbGFyZV9hcmdzKCkgeworKyAgaXNfbXVzbCA9IGZhbHNlCisrfQorKworK2Rl Y2xhcmVfYXJncygpIHsKKyAgICMgTm9ybWFsbHksIEFuZHJvaWQgYnVpbGRzIGFyZSBsaWdodGx5 IG9wdGltaXplZCwgZXZlbiBmb3IgZGVidWcgYnVpbGRzLCB0bworICAgIyBrZWVwIGJpbmFyeSBz aXplIGRvd24uIFNldHRpbmcgdGhpcyBmbGFnIHRvIHRydWUgZGlzYWJsZXMgc3VjaCBvcHRpbWl6 YXRpb24KKyAgIGFuZHJvaWRfZnVsbF9kZWJ1ZyA9IGZhbHNlCitAQCAtODgwLDggKzg4NCwxMyBA QAorICAgICAgIH0KKyAgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7Cisg ICAgICAgaWYgKGlzX2NsYW5nICYmICFpc19hbmRyb2lkICYmICFpc19uYWNsICYmICFpc19mdWNo c2lhKSB7CistICAgICAgICBjZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUi IF0KKy0gICAgICAgIGxkZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUiIF0K KysgICAgICAgIGlmIChpc19tdXNsKSB7CisrICAgICAgICAgIGNmbGFncyArPSBbICItLXRhcmdl dD1hYXJjaDY0LWxpbnV4LW11c2wiIF0KKysgICAgICAgICAgbGRmbGFncyArPSBbICItLXRhcmdl dD1hYXJjaDY0LWxpbnV4LW11c2wiIF0KKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgIGNm bGFncyArPSBbICItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSIgXQorKyAgICAgICAgICBsZGZs YWdzICs9IFsgIi0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCisrICAgICAgICB9CisgICAg ICAgfQorICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiICYmICFpc19uYWNs KSB7CisgICAgICAgbGRmbGFncyArPSBbICItV2wsLS1oYXNoLXN0eWxlPXN5c3YiIF0KKy0tLSBh L2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZS9CVUlMRC5nbi5vcmlnCisrKysgYi9idWls ZC90b29sY2hhaW4vbGludXgvdW5idW5kbGUvQlVJTEQuZ24KK0BAIC0zOSwzICszOSwyMiBAQAor ICAgICBjdXJyZW50X29zID0gaG9zdF9vcworICAgfQorIH0KKysKKytnY2NfdG9vbGNoYWluKCJ2 OF9zbmFwc2hvdF9jcm9zcyIpIHsKKysgIGNjID0gZ2V0ZW52KCJCVUlMRF9DQyIpCisrICBjeHgg PSBnZXRlbnYoIkJVSUxEX0NYWCIpCisrICBhciA9IGdldGVudigiQlVJTERfQVIiKQorKyAgbm0g PSBnZXRlbnYoIkJVSUxEX05NIikKKysgIGxkID0gY3h4CisrCisrICBleHRyYV9jZmxhZ3MgPSBn ZXRlbnYoIkJVSUxEX0NGTEFHUyIpCisrICBleHRyYV9jcHBmbGFncyA9IGdldGVudigiQlVJTERf Q1BQRkxBR1MiKQorKyAgZXh0cmFfY3h4ZmxhZ3MgPSBnZXRlbnYoIkJVSUxEX0NYWEZMQUdTIikK KysgIGV4dHJhX2xkZmxhZ3MgPSBnZXRlbnYoIkJVSUxEX0xERkxBR1MiKQorKworKyAgdG9vbGNo YWluX2FyZ3MgPSB7CisrICAgIGN1cnJlbnRfY3B1ID0gaG9zdF9jcHUKKysgICAgY3VycmVudF9v cyA9IGhvc3Rfb3MKKysgICAgdjhfY3VycmVudF9jcHUgPSB0YXJnZXRfY3B1CisrICB9CisrfQor LS0tIGEvYnVpbGQvY29uZmlnL2xpbnV4L3BrZ19jb25maWcuZ25pLm9yaWcKKysrKyBiL2J1aWxk L2NvbmZpZy9saW51eC9wa2dfY29uZmlnLmduaQorQEAgLTkxLDcgKzkxLDcgQEAKKyAgIGFzc2Vy dChkZWZpbmVkKGludm9rZXIucGFja2FnZXMpLAorICAgICAgICAgICJWYXJpYWJsZSB8cGFja2Fn ZXN8IG11c3QgYmUgZGVmaW5lZCB0byBiZSBhIGxpc3QgaW4gcGtnX2NvbmZpZy4iKQorICAgY29u ZmlnKHRhcmdldF9uYW1lKSB7CistICAgIGlmIChob3N0X3Rvb2xjaGFpbiA9PSBjdXJyZW50X3Rv b2xjaGFpbikgeworKyAgICBpZiAoY3VycmVudF9jcHUgIT0gdGFyZ2V0X2NwdSkgeworICAgICAg IGFyZ3MgPSBob3N0X3BrZ19jb25maWdfYXJncyArIGludm9rZXIucGFja2FnZXMKKyAgICAgfSBl bHNlIHsKKyAgICAgICBhcmdzID0gcGtnX2NvbmZpZ19hcmdzICsgaW52b2tlci5wYWNrYWdlcwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL296b25lLXgxMS1maXgtVkEtQVBJ LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL296b25lLXgxMS1maXgtVkEtQVBJLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MWQ3MmJmYjAxMzcuLjAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvb3pvbmUteDExLWZpeC1WQS1BUEku cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NzEgKzAsMCBAQAotRnJvbSBhNGRlOTg2MTAyYTQ1 ZTI5YzNlZjU5NmYyMjcwNGJkY2EyNDRjMjZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogTWFrc2ltIFNpc292IDxtc2lzb3ZAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwgMTcgU2VwIDIw MjEgMDg6NDU6NTUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gb3pvbmUveDExOiBmaXggVkEtQVBJ LgotCi1UaGlzIHBhdGNoIGZpeGVzIFZBLUFQSSB1c2FnZSB3aXRoIE96b25lL1gxMSBiYWNrZW5k ICh3aGljaAotaXMgb3VyIGRlZmF1bHQgYmFja2VuZCBub3cgYXMgWDExIGhhcyBiZWVuIGRlcHJl Y2F0ZWQgLQotY3JyZXYuY29tL2MvMzExNDA3MSkpLgotCi1ub24tT3pvbmUgWDExIGlzIGRpc2Fi bGVkIG5vdyBhbmQgT3pvbmUgaXMgYWx3YXlzIHVzZWQKLW9uIExpbnV4LiBIb3dldmVyLCBWQS1B UEkgaW1wbGVtZW50YXRpb24gaXMgbm90IE96b25lIGZyaWVuZGx5Ci15ZXQgYW5kIHJlcXVpcmVz IG1ham9yIHJlZmFjdG9yaW5nLiBCdXQgZ2l2ZW4gdGhhdCBWQS1BUEkKLWltcGxlbWVudGF0aW9u IG9uIExpbnV4IHdvcmtlZCBvbmx5IHdpdGggWDExLCBpdCdzIGZpbmUgZm9yCi1ub3cgdG8gY2hh bmdlIFVTRV9YMTEgYW5kICFJc1VzaW5nT3pvbmVQbGF0Zm9ybSB0bwotQlVJTERGTEFHKE9aT05F X1BMQVRGT1JNX1gxMSkgYW5kIGZhaWwgVkEtQVBJIGluaXRpYWxpemF0aW9uCi1pbiBWQURpc3Bs YXlTdGF0ZTo6SW5pdGlhbGl6ZSBmb3IgT3pvbmUvTGludXggb3RoZXIgdGhhbgotbm9uLVgxMSBi YWNrZW5kcy4KLQotQnVnOiAxMTIxOTQ4Ci1DaGFuZ2UtSWQ6IElmODVkMjg5MjM1ZTZkMzU4MTAz ZDlmYTJiYmUwZjc0MWZiNTk5YTI2Ci1SZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZp ZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzMxNDE4NzgKLUNvbW1pdC1RdWV1 ZTogTWFrc2ltIFNpc292IDxtc2lzb3ZAaWdhbGlhLmNvbT4KLVJldmlld2VkLWJ5OiBBbmRyZXMg Q2FsZGVyb24gSmFyYW1pbGxvIDxhbmRyZXNjakBjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTog Um9iZXJ0IEtyb2VnZXIgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4KLVJldmlld2VkLWJ5OiBYaWFv aGFuIFdhbmcgPHhod2FuZ0BjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogQWxleGFuZGVyIER1 bmFldiA8YWR1bmFldkBpZ2FsaWEuY29tPgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRz L21haW5AeyM5MjI0NjZ9Ci0tLS0KLSBtZWRpYS9CVUlMRC5nbiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMyAtCi0gbWVkaWEvZ3B1L0JVSUxELmduICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDUgKy0KLSBtZWRpYS9ncHUvYXJncy5nbmkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxMyArKystCi0gbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduICAgICAgICAgICAg ICAgICAgICAgIHwgIDggKy0KLSBtZWRpYS9ncHUvdmFhcGkvdmFfc3R1Yl9oZWFkZXIuZnJhZ21l bnQgICAgICAgfCAgNiArLQotIG1lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3Rvcnku Y2MgICAgICB8IDcyICsrKysrKysrLS0tLS0tLS0tLQotIC4uLi92YWFwaV9waWN0dXJlX25hdGl2 ZV9waXhtYXBfYW5nbGUuY2MgICAgICB8ICAyIC0KLSBtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGlj dHVyZV90ZnAuY2MgICAgICAgICAgfCAgMiAtCi0gLi4uL3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29k ZV9hY2NlbGVyYXRvci5jYyAgIHwgIDkgKy0tCi0gLi4udmFhcGlfdmlkZW9fZGVjb2RlX2FjY2Vs ZXJhdG9yX3VuaXR0ZXN0LmNjIHwgMTEgKy0tCi0gbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBw ZXIuY2MgICAgICAgICAgICAgIHwgNzYgKysrKysrKysrLS0tLS0tLS0tLQotIG1lZGlhL2dwdS92 YWFwaS92YWFwaV93cmFwcGVyLmggICAgICAgICAgICAgICB8ICA4ICstCi0gdWkvb3pvbmUvcGxh dGZvcm0veDExL296b25lX3BsYXRmb3JtX3gxMS5jYyAgIHwgIDMgKwotIHVpL296b25lL3B1Ymxp Yy9vem9uZV9wbGF0Zm9ybS5oICAgICAgICAgICAgICB8IDEwICsrKwotIDE0IGZpbGVzIGNoYW5n ZWQsIDEwOCBpbnNlcnRpb25zKCspLCAxMjAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9t ZWRpYS9CVUlMRC5nbiBiL21lZGlhL0JVSUxELmduCi1pbmRleCBkYmVlMWQ0MzM4Li5kNWMxNThj MDhmIDEwMDY0NAotLS0tIGEvbWVkaWEvQlVJTEQuZ24KLSsrKyBiL21lZGlhL0JVSUxELmduCi1A QCAtMTMwLDkgKzEzMCw2IEBAIGNvbXBvbmVudCgibWVkaWEiKSB7Ci0gICAgIHB1YmxpY19kZXBz ICs9IFsgIi8vbWVkaWEvYmFzZS9tYWMiIF0KLSAgIH0KLSAKLS0gIGlmICh1c2VfeDExKSB7Ci0t ICAgIGRlcHMgKz0gWyAiLy91aS9iYXNlL3giIF0KLS0gIH0KLSAgIGlmICh1c2Vfb3pvbmUpIHsK LSAgICAgZGVwcyArPSBbICIvL3VpL296b25lIiBdCi0gICB9Ci1kaWZmIC0tZ2l0IGEvbWVkaWEv Z3B1L0JVSUxELmduIGIvbWVkaWEvZ3B1L0JVSUxELmduCi1pbmRleCBjNzQ5OTQ4NWFjLi4zZmVk Yzc4OTQ4IDEwMDY0NAotLS0tIGEvbWVkaWEvZ3B1L0JVSUxELmduCi0rKysgYi9tZWRpYS9ncHUv QlVJTEQuZ24KLUBAIC0yMCw2ICsyMCw3IEBAIGJ1aWxkZmxhZ19oZWFkZXIoImJ1aWxkZmxhZ3Mi KSB7Ci0gICAgICJVU0VfVkFBUElfSU1BR0VfQ09ERUNTPSR1c2VfdmFhcGlfaW1hZ2VfY29kZWNz IiwKLSAgICAgIlVTRV9WNEwyX0NPREVDPSR1c2VfdjRsMl9jb2RlYyIsCi0gICAgICJVU0VfTElC VjRMMj0kdXNlX3Y0bHBsdWdpbiIsCi0rICAgICJVU0VfVkFBUElfWDExPSR1c2VfdmFhcGlfeDEx IiwKLSAgIF0KLSB9Ci0gCi1AQCAtMjE1LDkgKzIxNiw3IEBAIGNvbXBvbmVudCgiZ3B1Iikgewot ICAgICAgICJ3aW5kb3dzL3N1cHBvcnRlZF9wcm9maWxlX2hlbHBlcnMuY2MiLAotICAgICAgICJ3 aW5kb3dzL3N1cHBvcnRlZF9wcm9maWxlX2hlbHBlcnMuaCIsCi0gICAgIF0KLS0gICAgY29uZmln cyArPSBbCi0tICAgICAgIi8vdGhpcmRfcGFydHkva2hyb25vczpraHJvbm9zX2hlYWRlcnMiLAot LSAgICBdCi0rICAgIGNvbmZpZ3MgKz0gWyAiLy90aGlyZF9wYXJ0eS9raHJvbm9zOmtocm9ub3Nf aGVhZGVycyIgXQotICAgICBwdWJsaWNfZGVwcyArPSBbICIvL21lZGlhL2Jhc2Uvd2luOm1lZGlh X2ZvdW5kYXRpb25fdXRpbCIgXQotICAgICBkZXBzICs9IFsKLSAgICAgICAiLy9ncHUvaXBjL2Nv bW1vbjpjb21tb24iLAotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS9hcmdzLmduaSBiL21lZGlhL2dw dS9hcmdzLmduaQotaW5kZXggNDAwNDkzNzk0OS4uMmY1Mzg0MzkxOCAxMDA2NDQKLS0tLSBhL21l ZGlhL2dwdS9hcmdzLmduaQotKysrIGIvbWVkaWEvZ3B1L2FyZ3MuZ25pCi1AQCAtMyw3ICszLDE1 IEBACi0gIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotIAotIGltcG9ydCgiLy9idWlsZC9j b25maWcvY2hyb21lb3MvdWlfbW9kZS5nbmkiKQotLWltcG9ydCgiLy9idWlsZC9jb25maWcvdWku Z25pIikKLStpbXBvcnQoIi8vYnVpbGQvY29uZmlnL296b25lLmduaSIpCi0rCi0rZGVjbGFyZV9h cmdzKCkgewotKyAgIyBJbmRpY2F0ZXMgaWYgWDExIFZBLUFQSS1iYXNlZCBoYXJkd2FyZSBhY2Nl bGVyYXRpb24gaXMgdG8gYmUgdXNlZC4KLSsgICMgU2VlIGFsc28gdGhlIGNvbW1lbnQgbmVhciB0 aGUgfHVzZV92YWFwaXwgYXJnLgotKyAgdXNlX3ZhYXBpX3gxMSA9Ci0rICAgICAgaXNfbGludXgg JiYgb3pvbmVfcGxhdGZvcm1feDExICYmICFpc19jaHJvbWVjYXN0ICYmICFpc19jaHJvbWVvc19s YWNyb3MgJiYKLSsgICAgICAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJnZXRfY3B1ID09ICJ4 NjQiKQotK30KLSAKLSBkZWNsYXJlX2FyZ3MoKSB7Ci0gICAjIEluZGljYXRlcyBpZiBWNEwgcGx1 Z2luIGlzIHVzZWQuCi1AQCAtMjEsOCArMjksNyBAQCBkZWNsYXJlX2FyZ3MoKSB7Ci0gICAjIGlz IHR5cGljYWxseSB0aGUgY2FzZSBvbiB4ODYtYmFzZWQgQ2hyb21lT1MgZGV2aWNlcy4KLSAgICMg VkEtQVBJIHNob3VsZCBhbHNvIGJlIGNvbXBpbGVkIGJ5IGRlZmF1bHQgb24geDExLXVzaW5nIGxp bnV4IGRldmljZXMKLSAgICMgdXNpbmcgeDg2L3g2NC4KLS0gIHVzZV92YWFwaSA9Ci0tICAgICAg aXNfbGludXggJiYgdXNlX3gxMSAmJiAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJnZXRfY3B1 ID09ICJ4NjQiKQotKyAgdXNlX3ZhYXBpID0gdXNlX3ZhYXBpX3gxMQotIAotICAgIyBJbmRpY2F0 ZXMgaWYgQ2hyb21lT1MgcHJvdGVjdGVkIG1lZGlhIHN1cHBvcnQgZXhpc3RzLiBUaGlzIGlzIHVz ZWQKLSAgICMgdG8gZW5hYmxlIHRoZSBDRE0gZGFlbW9uIGluIENocm9tZSBPUyBhcyB3ZWxsIGFz IHN1cHBvcnQgZm9yCi1kaWZmIC0tZ2l0IGEvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduIGIvbWVk aWEvZ3B1L3ZhYXBpL0JVSUxELmduCi1pbmRleCBiMTFkMmM2MGZhLi4wYzI1MjBkZDZiIDEwMDY0 NAotLS0tIGEvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCi0rKysgYi9tZWRpYS9ncHUvdmFhcGkv QlVJTEQuZ24KLUBAIC0xNyw3ICsxNyw3IEBAIGFzc2VydCh1c2VfdmFhcGkpCi0gZ2VuZXJhdGVf c3R1YnMoImxpYnZhX3N0dWJzIikgewotICAgZXh0cmFfaGVhZGVyID0gInZhX3N0dWJfaGVhZGVy LmZyYWdtZW50IgotICAgc2lncyA9IFsgInZhLnNpZ3MiIF0KLS0gIGlmICh1c2VfeDExKSB7Ci0r ICBpZiAodXNlX3ZhYXBpX3gxMSkgewotICAgICBzaWdzICs9IFsgInZhX3gxMS5zaWdzIiBdCi0g ICB9Ci0gICBpZiAoaXNfY2hyb21lb3NfYXNoKSB7Ci1AQCAtMTMxLDE0ICsxMzEsMTQgQEAgc291 cmNlX3NldCgidmFhcGkiKSB7Ci0gICAgIF0KLSAgIH0KLSAKLS0gIGlmICh1c2VfeDExIHx8IHVz ZV9vem9uZSB8fCB1c2VfZWdsKSB7Ci0rICBpZiAodXNlX296b25lIHx8IHVzZV9lZ2wpIHsKLSAg ICAgc291cmNlcyArPSBbCi0gICAgICAgInZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcC5jYyIs Ci0gICAgICAgInZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcC5oIiwKLSAgICAgXQotICAgfQot IAotLSAgaWYgKHVzZV94MTEpIHsKLSsgIGlmICh1c2VfdmFhcGlfeDExKSB7Ci0gICAgIGRlcHMg Kz0gWyAiLy91aS9nZngveCIgXQotICAgICBzb3VyY2VzICs9IFsKLSAgICAgICAidmFhcGlfcGlj dHVyZV9uYXRpdmVfcGl4bWFwX2FuZ2xlLmNjIiwKLUBAIC0xOTcsNyArMTk3LDcgQEAgc291cmNl X3NldCgiY29tbW9uIikgewotICAgICBkZXBzICs9IFsgIi8vdWkvb3pvbmUiIF0KLSAgIH0KLSAK LS0gIGlmICh1c2VfeDExKSB7Ci0rICBpZiAodXNlX3ZhYXBpX3gxMSkgewotICAgICBkZXBzICs9 IFsgIi8vdWkvZ2Z4L3giIF0KLSAgIH0KLSAKLWRpZmYgLS1naXQgYS9tZWRpYS9ncHUvdmFhcGkv dmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQgYi9tZWRpYS9ncHUvdmFhcGkvdmFfc3R1Yl9oZWFkZXIu ZnJhZ21lbnQKLWluZGV4IGJlZDE5ODQ4NGQuLmU4YzQ2YzVlODEgMTAwNjQ0Ci0tLS0gYS9tZWRp YS9ncHUvdmFhcGkvdmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQKLSsrKyBiL21lZGlhL2dwdS92YWFw aS92YV9zdHViX2hlYWRlci5mcmFnbWVudAotQEAgLTEsMTIgKzEsMTQgQEAKLSAvLyBUaGUgZXh0 cmEgaW5jbHVkZSBoZWFkZXIgbmVlZGVkIGluIHRoZSBnZW5lcmF0ZWQgc3R1YiBmaWxlIGZvciBk ZWZpbmluZwotIC8vIHZhcmlvdXMgbGlidmEgdHlwZXMuCi0gCi0rI2luY2x1ZGUgIm1lZGlhL2dw dS9idWlsZGZsYWdzLmgiCi0rCi0gZXh0ZXJuICJDIiB7Ci0gCi0gI2luY2x1ZGUgPHZhL3ZhX2Ry bS5oPgotICNpbmNsdWRlIDx2YS92YS5oPgotLSNpZiBkZWZpbmVkKFVTRV9YMTEpCi0rI2lmIEJV SUxERkxBRyhVU0VfVkFBUElfWDExKQotICNpbmNsdWRlIDx2YS92YV94MTEuaD4KLS0jZW5kaWYK LSsjZW5kaWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotIAotIH0KLWRpZmYgLS1naXQg YS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9mYWN0b3J5LmNjIGIvbWVkaWEvZ3B1L3Zh YXBpL3ZhYXBpX3BpY3R1cmVfZmFjdG9yeS5jYwotaW5kZXggNzE5MDM1Yjg3Yy4uOWM3ZDczODdk MiAxMDA2NDQKLS0tLSBhL21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2MK LSsrKyBiL21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2MKLUBAIC0xMCwx MyArMTAsMTMgQEAKLSAjaW5jbHVkZSAidWkvYmFzZS91aV9iYXNlX2ZlYXR1cmVzLmgiCi0gI2lu Y2x1ZGUgInVpL2dsL2dsX2JpbmRpbmdzLmgiCi0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLS0j aW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9hbmds ZS5oIgotLSNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV90ZnAuaCIKLS0j ZW5kaWYKLSAjaWYgZGVmaW5lZChVU0VfT1pPTkUpCi0gI2luY2x1ZGUgIm1lZGlhL2dwdS92YWFw aS92YWFwaV9waWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuaCIKLS0jZW5kaWYKLSsjZW5kaWYg IC8vIGRlZmluZWQoVVNFX09aT05FKQotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSsj aW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9hbmds ZS5oIgotKyNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV90ZnAuaCIKLSsj ZW5kaWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotICNpZiBkZWZpbmVkKFVTRV9FR0wp Ci0gI2luY2x1ZGUgIm1lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX25hdGl2ZV9waXhtYXBf ZWdsLmgiCi0gI2VuZGlmCi1AQCAtNDYsMTUgKzQ2LDEzIEBAIFZhYXBpUGljdHVyZUZhY3Rvcnk6 OlZhYXBpUGljdHVyZUZhY3RvcnkoKSB7Ci0gICB2YWFwaV9pbXBsX3BhaXJzXy5pbnNlcnQoCi0g ICAgICAgc3RkOjptYWtlX3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdMR0xFUzIsCi0gICAg ICAgICAgICAgICAgICAgICAgVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRp b25Ecm0pKTsKLS0jaWYgZGVmaW5lZChVU0VfWDExKQotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJ X1gxMSkKLSAgIHZhYXBpX2ltcGxfcGFpcnNfLmluc2VydCgKLSAgICAgICBzdGQ6Om1ha2VfcGFp cihnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xBTkdMRSwKLSAgICAgICAgICAgICAgICAgICAgICBW YWFwaVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBsZW1lbnRhdGlvbkFuZ2xlKSk7Ci0tICBpZiAo IWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQbGF0Zm9ybSgpKSB7Ci0tICAgIHZhYXBpX2ltcGxfcGFp cnNfLmluc2VydCgKLS0gICAgICAgIHN0ZDo6bWFrZV9wYWlyKGdsOjprR0xJbXBsZW1lbnRhdGlv bkRlc2t0b3BHTCwKLS0gICAgICAgICAgICAgICAgICAgICAgIFZhYXBpUGljdHVyZUZhY3Rvcnk6 OmtWYWFwaUltcGxlbWVudGF0aW9uWDExKSk7Ci0tICB9Ci0rICB2YWFwaV9pbXBsX3BhaXJzXy5p bnNlcnQoCi0rICAgICAgc3RkOjptYWtlX3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRGVza3Rv cEdMLAotKyAgICAgICAgICAgICAgICAgICAgIFZhYXBpUGljdHVyZUZhY3Rvcnk6OmtWYWFwaUlt cGxlbWVudGF0aW9uWDExKSk7Ci0gI2VuZGlmCi0gCi0gICBEZXRlcm1pbmVQaWN0dXJlQ3JlYXRp b25BbmREb3dubG9hZGluZ01lY2hhbmlzbSgpOwotQEAgLTk2LDE5ICs5NCwxOSBAQCBWYWFwaVBp Y3R1cmVGYWN0b3J5OjpHZXRWYWFwaUltcGxlbWVudGF0aW9uKGdsOjpHTEltcGxlbWVudGF0aW9u IGdsX2ltcGwpIHsKLSB9Ci0gCi0gdWludDMyX3QgVmFhcGlQaWN0dXJlRmFjdG9yeTo6R2V0R0xU ZXh0dXJlVGFyZ2V0KCkgewotLSNpZiBkZWZpbmVkKFVTRV9PWk9ORSkKLS0gIGlmIChmZWF0dXJl czo6SXNVc2luZ096b25lUGxhdGZvcm0oKSkKLS0gICAgcmV0dXJuIEdMX1RFWFRVUkVfRVhURVJO QUxfT0VTOwotLSNlbmRpZgotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAgIHJldHVy biBHTF9URVhUVVJFXzJEOwotKyNlbHNlCi0rICByZXR1cm4gR0xfVEVYVFVSRV9FWFRFUk5BTF9P RVM7Ci0rI2VuZGlmCi0gfQotIAotIGdmeDo6QnVmZmVyRm9ybWF0IFZhYXBpUGljdHVyZUZhY3Rv cnk6OkdldEJ1ZmZlckZvcm1hdCgpIHsKLS0jaWYgZGVmaW5lZChVU0VfT1pPTkUpCi0tICBpZiAo ZmVhdHVyZXM6OklzVXNpbmdPem9uZVBsYXRmb3JtKCkpCi0tICAgIHJldHVybiBnZng6OkJ1ZmZl ckZvcm1hdDo6WVVWXzQyMF9CSVBMQU5BUjsKLS0jZW5kaWYKLSsjaWYgQlVJTERGTEFHKFVTRV9W QUFQSV9YMTEpCi0gICByZXR1cm4gZ2Z4OjpCdWZmZXJGb3JtYXQ6OlJHQlhfODg4ODsKLSsjZWxz ZQotKyAgcmV0dXJuIGdmeDo6QnVmZmVyRm9ybWF0OjpZVVZfNDIwX0JJUExBTkFSOwotKyNlbmRp ZgotIH0KLSAKLSB2b2lkIFZhYXBpUGljdHVyZUZhY3Rvcnk6OkRldGVybWluZVBpY3R1cmVDcmVh dGlvbkFuZERvd25sb2FkaW5nTWVjaGFuaXNtKCkgewotQEAgLTExNiw1MSArMTE0LDQzIEBAIHZv aWQgVmFhcGlQaWN0dXJlRmFjdG9yeTo6RGV0ZXJtaW5lUGljdHVyZUNyZWF0aW9uQW5kRG93bmxv YWRpbmdNZWNoYW5pc20oKSB7Ci0gI2lmIGRlZmluZWQoVVNFX09aT05FKQotICAgICAvLyBXZSBj YW4gYmUgY2FsbGVkIHdpdGhvdXQgR0wgaW5pdGlhbGl6ZWQsIHdoaWNoIGlzIHZhbGlkIGlmIHdl IHVzZSBPem9uZS4KLSAgICAgY2FzZSBrVmFhcGlJbXBsZW1lbnRhdGlvbk5vbmU6Ci0tICAgICAg aWYgKGZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQbGF0Zm9ybSgpKSB7Ci0tICAgICAgICBjcmVhdGVf cGljdHVyZV9jYl8gPSBiYXNlOjpCaW5kUmVwZWF0aW5nKAotLSAgICAgICAgICAgICZDcmVhdGVW YWFwaVBpY3R1cmVOYXRpdmVJbXBsPFZhYXBpUGljdHVyZU5hdGl2ZVBpeG1hcE96b25lPik7Ci0t ICAgICAgICBuZWVkc192cHBfZm9yX2Rvd25sb2FkaW5nXyA9IHRydWU7Ci0tICAgICAgfQotLQot LSAgICAgIC8vIFRoaXMgaXMgcmVhY2hlZCBieSB1bml0IHRlc3RzIHdoaWNoIGRvbid0IHJlcXVp cmUgY3JlYXRlX3BpY3R1cmVfY2JfCi0tICAgICAgLy8gdG8gYmUgaW5pdGlhbGl6ZWQgb3IgY2Fs bGVkLgotKyAgICAgIGNyZWF0ZV9waWN0dXJlX2NiXyA9IGJhc2U6OkJpbmRSZXBlYXRpbmcoCi0r ICAgICAgICAgICZDcmVhdGVWYWFwaVBpY3R1cmVOYXRpdmVJbXBsPFZhYXBpUGljdHVyZU5hdGl2 ZVBpeG1hcE96b25lPik7Ci0rICAgICAgbmVlZHNfdnBwX2Zvcl9kb3dubG9hZGluZ18gPSB0cnVl OwotICAgICAgIGJyZWFrOwotICNlbmRpZiAgLy8gZGVmaW5lZChVU0VfT1pPTkUpCi0tI2lmIGRl ZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gICAgIGNhc2Ug a1ZhYXBpSW1wbGVtZW50YXRpb25YMTE6Ci0tICAgICAgRENIRUNLKCFmZWF0dXJlczo6SXNVc2lu Z096b25lUGxhdGZvcm0oKSk7Ci0gICAgICAgY3JlYXRlX3BpY3R1cmVfY2JfID0KLSAgICAgICAg ICAgYmFzZTo6QmluZFJlcGVhdGluZygmQ3JlYXRlVmFhcGlQaWN0dXJlTmF0aXZlSW1wbDxWYWFw aVRGUFBpY3R1cmU+KTsKLSAgICAgICAvLyBOZWl0aGVyIFZhYXBpVEZQUGljdHVyZSBvciBWYWFw aVBpY3R1cmVOYXRpdmVQaXhtYXBBbmdsZSBuZWVkcyB0aGUgVlBQLgotICAgICAgIG5lZWRzX3Zw cF9mb3JfZG93bmxvYWRpbmdfID0gZmFsc2U7Ci0gICAgICAgYnJlYWs7Ci0gICAgIGNhc2Uga1Zh YXBpSW1wbGVtZW50YXRpb25BbmdsZToKLS0gICAgICBEQ0hFQ0soIWZlYXR1cmVzOjpJc1VzaW5n T3pvbmVQbGF0Zm9ybSgpKTsKLSAgICAgICBjcmVhdGVfcGljdHVyZV9jYl8gPSBiYXNlOjpCaW5k UmVwZWF0aW5nKAotICAgICAgICAgICAmQ3JlYXRlVmFhcGlQaWN0dXJlTmF0aXZlSW1wbDxWYWFw aVBpY3R1cmVOYXRpdmVQaXhtYXBBbmdsZT4pOwotICAgICAgIC8vIE5laXRoZXIgVmFhcGlURlBQ aWN0dXJlIG9yIFZhYXBpUGljdHVyZU5hdGl2ZVBpeG1hcEFuZ2xlIG5lZWRzIHRoZSBWUFAuCi0g ICAgICAgbmVlZHNfdnBwX2Zvcl9kb3dubG9hZGluZ18gPSBmYWxzZTsKLSAgICAgICBicmVhazsK LS0jZW5kaWYgIC8vIGRlZmluZWQoVVNFX1gxMSkKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhVU0Vf VkFBUElfWDExKQotICAgICBjYXNlIGtWYWFwaUltcGxlbWVudGF0aW9uRHJtOgotICNpZiBkZWZp bmVkKFVTRV9PWk9ORSkKLS0gICAgICBpZiAoZmVhdHVyZXM6OklzVXNpbmdPem9uZVBsYXRmb3Jt KCkpIHsKLS0gICAgICAgIGNyZWF0ZV9waWN0dXJlX2NiXyA9IGJhc2U6OkJpbmRSZXBlYXRpbmco Ci0tICAgICAgICAgICAgJkNyZWF0ZVZhYXBpUGljdHVyZU5hdGl2ZUltcGw8VmFhcGlQaWN0dXJl TmF0aXZlUGl4bWFwT3pvbmU+KTsKLS0gICAgICAgIG5lZWRzX3ZwcF9mb3JfZG93bmxvYWRpbmdf ID0gdHJ1ZTsKLS0gICAgICAgIGJyZWFrOwotLSAgICAgIH0KLS0jZW5kaWYgIC8vIGRlZmluZWQo VVNFX09aT05FKQotLSNpZiBkZWZpbmVkKFVTRV9FR0wpCi0rICAgICAgY3JlYXRlX3BpY3R1cmVf Y2JfID0gYmFzZTo6QmluZFJlcGVhdGluZygKLSsgICAgICAgICAgJkNyZWF0ZVZhYXBpUGljdHVy ZU5hdGl2ZUltcGw8VmFhcGlQaWN0dXJlTmF0aXZlUGl4bWFwT3pvbmU+KTsKLSsgICAgICBuZWVk c192cHBfZm9yX2Rvd25sb2FkaW5nXyA9IHRydWU7Ci0rICAgICAgYnJlYWs7Ci0rI2VsaWYgZGVm aW5lZChVU0VfRUdMKQotICAgICAgIGNyZWF0ZV9waWN0dXJlX2NiXyA9IGJhc2U6OkJpbmRSZXBl YXRpbmcoCi0gICAgICAgICAgICZDcmVhdGVWYWFwaVBpY3R1cmVOYXRpdmVJbXBsPFZhYXBpUGlj dHVyZU5hdGl2ZVBpeG1hcEVnbD4pOwotICAgICAgIG5lZWRzX3ZwcF9mb3JfZG93bmxvYWRpbmdf ID0gdHJ1ZTsKLSAgICAgICBicmVhazsKLS0jZW5kaWYgIC8vIGRlZmluZWQoVVNFX0VHTCkKLSsj ZWxzZQotICAgICAgIC8vIG96b25lIG9yIGVnbCBtdXN0IGJlIHVzZWQgdG8gdXNlIHRoZSBEUk0g aW1wbGVtZW50YXRpb24uCi0tICAgICAgTk9UUkVBQ0hFRCgpOwotKyAgICAgIEZBTExUSFJPVUdI OwotKyNlbmRpZgotICAgICBkZWZhdWx0OgotICAgICAgIE5PVFJFQUNIRUQoKTsKLSsgICAgICBi cmVhazsKLSAgIH0KLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3Bp Y3R1cmVfbmF0aXZlX3BpeG1hcF9hbmdsZS5jYyBiL21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0 dXJlX25hdGl2ZV9waXhtYXBfYW5nbGUuY2MKLWluZGV4IDlkZTBjOTNiNDQuLmU1Yjk5MDg0OTAg MTAwNjQ0Ci0tLS0gYS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFw X2FuZ2xlLmNjCi0rKysgYi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4 bWFwX2FuZ2xlLmNjCi1AQCAtNiw3ICs2LDYgQEAKLSAKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L3Zh YXBpL3ZhX3N1cmZhY2UuaCIKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBw ZXIuaCIKLS0jaW5jbHVkZSAidWkvYmFzZS91aV9iYXNlX2ZlYXR1cmVzLmgiCi0gI2luY2x1ZGUg InVpL2dmeC94L2Nvbm5lY3Rpb24uaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L3gvZnV0dXJlLmgiCi0g I2luY2x1ZGUgInVpL2dmeC94L3hwcm90by5oIgotQEAgLTkyLDcgKzkxLDYgQEAgU3RhdHVzIFZh YXBpUGljdHVyZU5hdGl2ZVBpeG1hcEFuZ2xlOjpBbGxvY2F0ZShnZng6OkJ1ZmZlckZvcm1hdCBm b3JtYXQpIHsKLSAgIGlmICghbWFrZV9jb250ZXh0X2N1cnJlbnRfY2JfIHx8ICFtYWtlX2NvbnRl eHRfY3VycmVudF9jYl8uUnVuKCkpCi0gICAgIHJldHVybiBTdGF0dXNDb2RlOjprVmFhcGlCYWRD b250ZXh0OwotIAotLSAgRENIRUNLKCFmZWF0dXJlczo6SXNVc2luZ096b25lUGxhdGZvcm0oKSk7 Ci0gICBhdXRvIGltYWdlID0KLSAgICAgICBiYXNlOjpNYWtlUmVmQ291bnRlZDxnbDo6R0xJbWFn ZUVHTFBpeG1hcD4odmlzaWJsZV9zaXplXywgZm9ybWF0KTsKLSAgIGlmICghaW1hZ2UpCi1kaWZm IC0tZ2l0IGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfdGZwLmNjIGIvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfdGZwLmNjCi1pbmRleCAzZjdlMjIxZDhhLi4xMTkxNGUzNjQw IDEwMDY0NAotLS0tIGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfdGZwLmNjCi0rKysg Yi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV90ZnAuY2MKLUBAIC02LDcgKzYsNiBAQAot IAotICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFfc3VyZmFjZS5oIgotICNpbmNsdWRlICJt ZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oIgotLSNpbmNsdWRlICJ1aS9iYXNlL3VpX2Jh c2VfZmVhdHVyZXMuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L3gvY29ubmVjdGlvbi5oIgotICNpbmNs dWRlICJ1aS9nZngveC9mdXR1cmUuaCIKLSAjaW5jbHVkZSAidWkvZ2wvZ2xfYmluZGluZ3MuaCIK LUBAIC0zNyw3ICszNiw2IEBAIFZhYXBpVEZQUGljdHVyZTo6VmFhcGlURlBQaWN0dXJlKAotICAg ICAgIGNvbm5lY3Rpb25fKHgxMTo6Q29ubmVjdGlvbjo6R2V0KCkpLAotICAgICAgIHhfcGl4bWFw Xyh4MTE6OlBpeG1hcDo6Tm9uZSkgewotICAgRENIRUNLX0NBTExFRF9PTl9WQUxJRF9TRVFVRU5D RShzZXF1ZW5jZV9jaGVja2VyXyk7Ci0tICBEQ0hFQ0soIWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQ bGF0Zm9ybSgpKTsKLSAgIERDSEVDSyh0ZXh0dXJlX2lkKTsKLSAgIERDSEVDSyhjbGllbnRfdGV4 dHVyZV9pZCk7Ci0gfQotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19k ZWNvZGVfYWNjZWxlcmF0b3IuY2MgYi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfdmlkZW9fZGVjb2Rl X2FjY2VsZXJhdG9yLmNjCi1pbmRleCA3NTE0ZmU0ZmRkLi5lNGNkN2M4ZDg5IDEwMDY0NAotLS0t IGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvci5jYwotKysr IGIvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvci5jYwotQEAg LTE4NCwxMiArMTg0LDYgQEAgYm9vbCBWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkluaXRp YWxpemUoY29uc3QgQ29uZmlnJiBjb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ2xpZW50KiBjbGllbnQpIHsKLSAgIERDSEVDSyh0YXNrX3J1bm5l cl8tPkJlbG9uZ3NUb0N1cnJlbnRUaHJlYWQoKSk7Ci0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkK LS0gIC8vIFRPRE8oY3JidWcvMTExNjcwMSk6IGltcGxlbWVudCBkZWNvZGUgYWNjZWxlcmF0aW9u IHdoZW4gcnVubmluZyB3aXRoIE96b25lLgotLSAgaWYgKGZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQ bGF0Zm9ybSgpKQotLSAgICByZXR1cm4gZmFsc2U7Ci0tI2VuZGlmCi0tCi0gICB2YWFwaV9waWN0 dXJlX2ZhY3RvcnlfID0gc3RkOjptYWtlX3VuaXF1ZTxWYWFwaVBpY3R1cmVGYWN0b3J5PigpOwot IAotICAgaWYgKGNvbmZpZy5pc19lbmNyeXB0ZWQoKSkgewotQEAgLTEyMTMsMTIgKzEyMDcsMTEg QEAgVmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yOjpHZXRTdXBwb3J0ZWRQcm9maWxlcygpIHsK LSAKLSBWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkJ1ZmZlckFsbG9jYXRpb25Nb2RlCi0g VmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yOjpEZWNpZGVCdWZmZXJBbGxvY2F0aW9uTW9kZSgp IHsKLS0jaWYgZGVmaW5lZChVU0VfWDExKQotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkK LSAgIC8vIFRoZSBJTVBPUlQgbW9kZSBpcyB1c2VkIGZvciBBbmRyb2lkIG9uIENocm9tZSBPUywg c28gdGhpcyBkb2Vzbid0IGFwcGx5Ci0gICAvLyBoZXJlLgotICAgRENIRUNLX05FKG91dHB1dF9t b2RlXywgVmlkZW9EZWNvZGVBY2NlbGVyYXRvcjo6Q29uZmlnOjpPdXRwdXRNb2RlOjpJTVBPUlQp OwotICAgLy8gVE9ETyhjcmJ1Zy8xMTE2NzAxKTogZ2V0IHZpZGVvIGRlY29kZSBhY2NlbGVyYXRp b24gd29ya2luZyB3aXRoIG96b25lLgotLSAgRENIRUNLKCFmZWF0dXJlczo6SXNVc2luZ096b25l UGxhdGZvcm0oKSk7Ci0gICAvLyBGb3IgSC4yNjQgb24gb2xkZXIgZGV2aWNlcywgYW5vdGhlciAr MSBpcyBleHBlcmltZW50YWxseSBuZWVkZWQgZm9yCi0gICAvLyBoaWdoLXRvLWhpZ2ggcmVzb2x1 dGlvbiBjaGFuZ2VzLgotICAgLy8gVE9ETyhtY2FzYXMpOiBGaWd1cmUgb3V0IHdoeSBhbmQgd2h5 IG9ubHkgSDI2NCwgc2VlIGNyYnVnLmNvbS85MTIyOTUgYW5kCi1kaWZmIC0tZ2l0IGEvbWVkaWEv Z3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvcl91bml0dGVzdC5jYyBiL21l ZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3JfdW5pdHRlc3QuY2MK LWluZGV4IDViOWE1NDMzODYuLjgyNmJiMTAzYjEgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9ncHUvdmFh cGkvdmFhcGlfdmlkZW9fZGVjb2RlX2FjY2VsZXJhdG9yX3VuaXR0ZXN0LmNjCi0rKysgYi9tZWRp YS9ncHUvdmFhcGkvdmFhcGlfdmlkZW9fZGVjb2RlX2FjY2VsZXJhdG9yX3VuaXR0ZXN0LmNjCi1A QCAtMTcsNyArMTcsNiBAQAotICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBl ci5oIgotICNpbmNsdWRlICJ0ZXN0aW5nL2dtb2NrL2luY2x1ZGUvZ21vY2svZ21vY2suaCIKLSAj aW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCi0tI2luY2x1ZGUg InVpL2Jhc2UvdWlfYmFzZV9mZWF0dXJlcy5oIgotIAotIHVzaW5nIGJhc2U6OnRlc3Q6OlJ1bkNs b3N1cmU7Ci0gdXNpbmcgOjp0ZXN0aW5nOjpfOwotQEAgLTQxNiwxMiArNDE1LDEwIEBAIFRFU1Rf UChWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3JUZXN0LCBTdXBwb3J0ZWRQbGF0Zm9ybXMpIHsK LSAgICAgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8tPkdldFZhYXBpSW1wbGVt ZW50YXRpb24oCi0gICAgICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEdMRVMy KSk7Ci0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLS0gIGlmICghZmVhdHVyZXM6OklzVXNpbmdP em9uZVBsYXRmb3JtKCkpIHsKLS0gICAgRVhQRUNUX0VRKFZhYXBpUGljdHVyZUZhY3Rvcnk6OmtW YWFwaUltcGxlbWVudGF0aW9uWDExLAotLSAgICAgICAgICAgICAgbW9ja192YWFwaV9waWN0dXJl X2ZhY3RvcnlfLT5HZXRWYWFwaUltcGxlbWVudGF0aW9uKAotLSAgICAgICAgICAgICAgICAgIGds OjprR0xJbXBsZW1lbnRhdGlvbkRlc2t0b3BHTCkpOwotLSAgfQotKyNpZiBCVUlMREZMQUcoVVNF X1ZBQVBJX1gxMSkKLSsgIEVYUEVDVF9FUShWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBs ZW1lbnRhdGlvblgxMSwKLSsgICAgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8t PkdldFZhYXBpSW1wbGVtZW50YXRpb24oCi0rICAgICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1l bnRhdGlvbkRlc2t0b3BHTCkpOwotICNlbmRpZgotIH0KLSAKLWRpZmYgLS1naXQgYS9tZWRpYS9n cHUvdmFhcGkvdmFhcGlfd3JhcHBlci5jYyBiL21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVy LmNjCi1pbmRleCA3NTRkMjU4ODQ4Li5lNTI4YjBmODRkIDEwMDY0NAotLS0tIGEvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuY2MKLSsrKyBiL21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFw cGVyLmNjCi1AQCAtNjUsNyArNjUsNyBAQAotICNpbmNsdWRlICJ1aS9nbC9nbF9iaW5kaW5ncy5o IgotICNpbmNsdWRlICJ1aS9nbC9nbF9pbXBsZW1lbnRhdGlvbi5oIgotIAotLSNpZiBkZWZpbmVk KFVTRV9YMTEpCi0rI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotIHR5cGVkZWYgWElEIERy YXdhYmxlOwotIAotIGV4dGVybiAiQyIgewotQEAgLTczLDcgKzczLDcgQEAgZXh0ZXJuICJDIiB7 Ci0gfQotIAotICNpbmNsdWRlICJ1aS9nZngveC9jb25uZWN0aW9uLmgiICAvLyBub2duY2hlY2sK LS0jZW5kaWYKLSsjZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQlVJTERGTEFH KFVTRV9WQUFQSV9YMTEpCi0gCi0gI2lmIGRlZmluZWQoVVNFX09aT05FKQotICNpbmNsdWRlICJ1 aS9vem9uZS9wdWJsaWMvb3pvbmVfcGxhdGZvcm0uaCIKLUBAIC04NywxNCArODcsMTQgQEAgdXNp bmcgbWVkaWFfZ3B1X3ZhYXBpOjprTW9kdWxlVmFfcHJvdDsKLSAKLSB1c2luZyBtZWRpYV9ncHVf dmFhcGk6OmtNb2R1bGVWYTsKLSB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OmtNb2R1bGVWYV9kcm07 Ci0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0g dXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjprTW9kdWxlVmFfeDExOwotLSNlbmRpZgotKyNlbmRpZiAg Ly8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJbml0 aWFsaXplU3R1YnM7Ci0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJc1ZhSW5pdGlhbGl6ZWQ7Ci0t I2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gdXNp bmcgbWVkaWFfZ3B1X3ZhYXBpOjpJc1ZhX3gxMUluaXRpYWxpemVkOwotLSNlbmRpZgotKyNlbmRp ZiAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJ c1ZhX2RybUluaXRpYWxpemVkOwotIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6U3R1YlBhdGhNYXA7 Ci0gCi1AQCAtNTU5LDEwICs1NTksMjAgQEAgVkFEaXNwbGF5U3RhdGU6OlZBRGlzcGxheVN0YXRl KCkKLSBib29sIFZBRGlzcGxheVN0YXRlOjpJbml0aWFsaXplKCkgewotICAgYmFzZTo6QXV0b0xv Y2sgYXV0b19sb2NrKHZhX2xvY2tfKTsKLSAKLSsjaWYgZGVmaW5lZChVU0VfT1pPTkUpICYmIGRl ZmluZWQoT1NfTElOVVgpCi0rICAvLyBUT0RPKGNyYnVnLmNvbS8xMTE2NzAxKTogYWRkIHZhYXBp IHN1cHBvcnQgZm9yIG90aGVyIE96b25lIHBsYXRmb3JtcyBvbgotKyAgLy8gTGludXguIFNlZSBj b21tZW50IGluIE96b25lUGxhdGZvcm06OlBsYXRmb3JtUHJvcGVydGllczo6c3VwcG9ydHNfdmFh cGkKLSsgIC8vIGZvciBtb3JlIGRldGFpbHMuIFRoaXMgd2lsbCBhbHNvIHJlcXVpcmUgcmV2aXNp dGluZyBldmVyeXRoaW5nIHRoYXQncwotKyAgLy8gZ3VhcmRlZCBieSBVU0VfVkFBUElfWDExLiBG b3IgZXhhbXBsZSwgaWYgVVNFX1ZBQVBJX1gxMSBpcyB0cnVlLCBidXQgdGhlCi0rICAvLyB1c2Vy IGNob29zZXMgdGhlIFdheWxhbmQgYmFja2VuZCBmb3IgT3pvbmUgYXQgcnVudGltZSwgdGhlbiBt YW55IHRoaW5ncyAoaWYKLSsgIC8vIG5vdCBhbGwpIHRoYXQgd2UgZG8gZm9yIFgxMSB3b24ndCBh cHBseS4KLSsgIGlmICghdWk6Ok96b25lUGxhdGZvcm06OkdldEluc3RhbmNlKCktPkdldFBsYXRm b3JtUHJvcGVydGllcygpLnN1cHBvcnRzX3ZhYXBpKQotKyAgICByZXR1cm4gZmFsc2U7Ci0rI2Vu ZGlmCi0rCi0gICBib29sIGxpYnJhcmllc19pbml0aWFsaXplZCA9IElzVmFJbml0aWFsaXplZCgp ICYmIElzVmFfZHJtSW5pdGlhbGl6ZWQoKTsKLS0jaWYgZGVmaW5lZChVU0VfWDExKQotLSAgaWYg KCFmZWF0dXJlczo6SXNVc2luZ096b25lUGxhdGZvcm0oKSkKLS0gICAgbGlicmFyaWVzX2luaXRp YWxpemVkID0gbGlicmFyaWVzX2luaXRpYWxpemVkICYmIElzVmFfeDExSW5pdGlhbGl6ZWQoKTsK LSsjaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rICBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQg PSBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQgJiYgSXNWYV94MTFJbml0aWFsaXplZCgpOwotICNlbmRp ZgotICAgaWYgKCFsaWJyYXJpZXNfaW5pdGlhbGl6ZWQpCi0gICAgIHJldHVybiBmYWxzZTsKLUBA IC01NzcsMzQgKzU4NywyNSBAQCBib29sIFZBRGlzcGxheVN0YXRlOjpJbml0aWFsaXplKCkgewot ICAgcmV0dXJuIHN1Y2Nlc3M7Ci0gfQotIAotLSNpZiBkZWZpbmVkKFVTRV9YMTEpCi0rI2lmIEJV SUxERkxBRyhVU0VfVkFBUElfWDExKQotIAotIGFic2w6Om9wdGlvbmFsPFZBRGlzcGxheT4gR2V0 VkFEaXNwbGF5U3RhdGVYMTEoY29uc3QgYmFzZTo6U2NvcGVkRkQmIGRybV9mZCkgewotLSAgYm9v bCB1c2VfZHJtX2FzX2ZhbGxiYWNrID0gZmFsc2U7Ci0gICBzd2l0Y2ggKGdsOjpHZXRHTEltcGxl bWVudGF0aW9uKCkpIHsKLSAgICAgY2FzZSBnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xHTEVTMjoK LSAgICAgICByZXR1cm4gdmFHZXREaXNwbGF5RFJNKGRybV9mZC5nZXQoKSk7Ci0gCi0gICAgIGNh c2UgZ2w6OmtHTEltcGxlbWVudGF0aW9uTm9uZToKLS0gICAgICB1c2VfZHJtX2FzX2ZhbGxiYWNr ID0gdHJ1ZTsKLS0gICAgICBGQUxMVEhST1VHSDsKLSAKLSAgICAgY2FzZSBnbDo6a0dMSW1wbGVt ZW50YXRpb25EZXNrdG9wR0w6IHsKLS0gICAgICBpZiAoIWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQ bGF0Zm9ybSgpKSB7Ci0tICAgICAgICBWQURpc3BsYXkgZGlzcGxheSA9Ci0tICAgICAgICAgICAg dmFHZXREaXNwbGF5KHgxMTo6Q29ubmVjdGlvbjo6R2V0KCktPkdldFhsaWJEaXNwbGF5KCkpOwot LSAgICAgICAgaWYgKHZhRGlzcGxheUlzVmFsaWQoZGlzcGxheSkpCi0tICAgICAgICAgIHJldHVy biBkaXNwbGF5OwotLSAgICAgICAgcmV0dXJuIHZhR2V0RGlzcGxheURSTShkcm1fZmQuZ2V0KCkp OwotLSAgICAgIH0KLS0gICAgICBicmVhazsKLSsgICAgICBWQURpc3BsYXkgZGlzcGxheSA9Ci0r ICAgICAgICAgIHZhR2V0RGlzcGxheSh4MTE6OkNvbm5lY3Rpb246OkdldCgpLT5HZXRYbGliRGlz cGxheSgpKTsKLSsgICAgICBpZiAodmFEaXNwbGF5SXNWYWxpZChkaXNwbGF5KSkKLSsgICAgICAg IHJldHVybiBkaXNwbGF5OwotKyAgICAgIHJldHVybiB2YUdldERpc3BsYXlEUk0oZHJtX2ZkLmdl dCgpKTsKLSAgICAgfQotIAotLSAgICBjYXNlIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xF OiB7Ci0tICAgICAgaWYgKCFmZWF0dXJlczo6SXNVc2luZ096b25lUGxhdGZvcm0oKSkKLS0gICAg ICAgIHJldHVybiB2YUdldERpc3BsYXkoeDExOjpDb25uZWN0aW9uOjpHZXQoKS0+R2V0WGxpYkRp c3BsYXkoKSk7Ci0tICAgICAgYnJlYWs7Ci0tICAgIH0KLSsgICAgY2FzZSBnbDo6a0dMSW1wbGVt ZW50YXRpb25FR0xBTkdMRToKLSsgICAgICByZXR1cm4gdmFHZXREaXNwbGF5KHgxMTo6Q29ubmVj dGlvbjo6R2V0KCktPkdldFhsaWJEaXNwbGF5KCkpOwotIAotICAgICBkZWZhdWx0OgotICAgICAg IExPRyhXQVJOSU5HKSA8PCAiVkFBUEkgdmlkZW8gYWNjZWxlcmF0aW9uIG5vdCBhdmFpbGFibGUg Zm9yICIKLUBAIC02MTIsMTAgKzYxMyw2IEBAIGFic2w6Om9wdGlvbmFsPFZBRGlzcGxheT4gR2V0 VkFEaXNwbGF5U3RhdGVYMTEoY29uc3QgYmFzZTo6U2NvcGVkRkQmIGRybV9mZCkgewotICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ2w6OkdldEdMSW1wbGVtZW50YXRpb25QYXJ0cygpKTsKLSAg ICAgICByZXR1cm4gYWJzbDo6bnVsbG9wdDsKLSAgIH0KLS0KLS0gIGlmICh1c2VfZHJtX2FzX2Zh bGxiYWNrKQotLSAgICByZXR1cm4gdmFHZXREaXNwbGF5RFJNKGRybV9mZC5nZXQoKSk7Ci0tICBy ZXR1cm4gYWJzbDo6bnVsbG9wdDsKLSB9Ci0gCi0gI2Vsc2UKLUBAIC02MzMsMTEgKzYzMCwxMSBA QCBhYnNsOjpvcHRpb25hbDxWQURpc3BsYXk+IEdldFZBRGlzcGxheVN0YXRlKGNvbnN0IGJhc2U6 OlNjb3BlZEZEJiBkcm1fZmQpIHsKLSAgIH0KLSB9Ci0gCi0tI2VuZGlmICAvLyBkZWZpbmVkKFVT RV9YMTEpCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAKLSBib29sIFZB RGlzcGxheVN0YXRlOjpJbml0aWFsaXplVmFEaXNwbGF5X0xvY2tlZCgpIHsKLSAgIGFic2w6Om9w dGlvbmFsPFZBRGlzcGxheT4gZGlzcGxheSA9Ci0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYg QlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gICAgICAgR2V0VkFEaXNwbGF5U3RhdGVYMTEoZHJt X2ZkXyk7Ci0gI2Vsc2UKLSAgICAgICBHZXRWQURpc3BsYXlTdGF0ZShkcm1fZmRfKTsKLUBAIC03 MDIsMTAgKzY5OSw5IEBAIGJvb2wgVkFEaXNwbGF5U3RhdGU6OkluaXRpYWxpemVPbmNlKCkgewot ICAgaWYgKCFJbml0aWFsaXplVmFEaXNwbGF5X0xvY2tlZCgpIHx8ICFJbml0aWFsaXplVmFEcml2 ZXJfTG9ja2VkKCkpCi0gICAgIHJldHVybiBmYWxzZTsKLSAKLS0jaWYgZGVmaW5lZChVU0VfWDEx KQotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAgIGlmIChnbDo6R2V0R0xJbXBsZW1l bnRhdGlvbigpID09IGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xFICYmCi0gICAgICAgaW1w bGVtZW50YXRpb25fdHlwZV8gPT0gVkFJbXBsZW1lbnRhdGlvbjo6a0ludGVsSUhEKSB7Ci0tICAg IERDSEVDSyghZmVhdHVyZXM6OklzVXNpbmdPem9uZVBsYXRmb3JtKCkpOwotICAgICBjb25zdGV4 cHIgY2hhciBsaWJ2YV9kcml2ZXJfaW1wbF9lbnZbXSA9ICJMSUJWQV9EUklWRVJfTkFNRSI7Ci0g ICAgIC8vIFRPRE8oY3JidWcvMTExNjcwMykgVGhlIGxpYnZhIGludGVsLW1lZGlhIGRyaXZlciBo YXMgYSBrbm93biBzZWdmYXVsdCBpbgotICAgICAvLyB2YVB1dFN1cmZhY2UsIHNvIHVudGlsIHRo aXMgaXMgZml4ZWQsIGZhbGwgYmFjayB0byB0aGUgaTk2NSBkcml2ZXIuIFRoZXJlCi1AQCAtNzIy LDcgKzcxOCw3IEBAIGJvb2wgVkFEaXNwbGF5U3RhdGU6OkluaXRpYWxpemVPbmNlKCkgewotICAg ICBpZiAoIUluaXRpYWxpemVWYURpc3BsYXlfTG9ja2VkKCkgfHwgIUluaXRpYWxpemVWYURyaXZl cl9Mb2NrZWQoKSkKLSAgICAgICByZXR1cm4gZmFsc2U7Ci0gICB9Ci0tI2VuZGlmICAvLyBVU0Vf WDExCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAKLSAgIHJldHVybiB0 cnVlOwotIH0KLUBAIC0yNDUyLDExICsyNDQ4LDEwIEBAIGJvb2wgVmFhcGlXcmFwcGVyOjpNYXBB bmRDb3B5QW5kRXhlY3V0ZSgKLSAgIHJldHVybiBFeGVjdXRlX0xvY2tlZCh2YV9zdXJmYWNlX2lk LCB2YV9idWZmZXJfaWRzKTsKLSB9Ci0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJ TERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gYm9vbCBWYWFwaVdyYXBwZXI6OlB1dFN1cmZhY2VJbnRv UGl4bWFwKFZBU3VyZmFjZUlEIHZhX3N1cmZhY2VfaWQsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHgxMTo6UGl4bWFwIHhfcGl4bWFwLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlNpemUgZGVzdF9zaXplKSB7Ci0tICBEQ0hF Q0soIWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQbGF0Zm9ybSgpKTsKLSAgIGJhc2U6OkF1dG9Mb2Nr IGF1dG9fbG9jaygqdmFfbG9ja18pOwotIAotICAgVkFTdGF0dXMgdmFfcmVzID0gdmFTeW5jU3Vy ZmFjZSh2YV9kaXNwbGF5XywgdmFfc3VyZmFjZV9pZCk7Ci1AQCAtMjQ3MCw3ICsyNDY1LDcgQEAg Ym9vbCBWYWFwaVdyYXBwZXI6OlB1dFN1cmZhY2VJbnRvUGl4bWFwKFZBU3VyZmFjZUlEIHZhX3N1 cmZhY2VfaWQsCi0gICBWQV9TVUNDRVNTX09SX1JFVFVSTih2YV9yZXMsIFZhYXBpRnVuY3Rpb25z OjprVkFQdXRTdXJmYWNlLCBmYWxzZSk7Ci0gICByZXR1cm4gdHJ1ZTsKLSB9Ci0tI2VuZGlmICAv LyBVU0VfWDExCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAKLSBzdGQ6 OnVuaXF1ZV9wdHI8U2NvcGVkVkFJbWFnZT4gVmFhcGlXcmFwcGVyOjpDcmVhdGVWYUltYWdlKAot ICAgICBWQVN1cmZhY2VJRCB2YV9zdXJmYWNlX2lkLAotQEAgLTI4NDQsOSArMjgzOSw4IEBAIHZv aWQgVmFhcGlXcmFwcGVyOjpQcmVTYW5kYm94SW5pdGlhbGl6YXRpb24oKSB7Ci0gCi0gICBwYXRo c1trTW9kdWxlVmFdLnB1c2hfYmFjayhzdGQ6OnN0cmluZygibGlidmEuc28uIikgKyB2YV9zdWZm aXgpOwotICAgcGF0aHNba01vZHVsZVZhX2RybV0ucHVzaF9iYWNrKHN0ZDo6c3RyaW5nKCJsaWJ2 YS1kcm0uc28uIikgKyB2YV9zdWZmaXgpOwotLSNpZiBkZWZpbmVkKFVTRV9YMTEpCi0tICBpZiAo IWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQbGF0Zm9ybSgpKQotLSAgICBwYXRoc1trTW9kdWxlVmFf eDExXS5wdXNoX2JhY2soc3RkOjpzdHJpbmcoImxpYnZhLXgxMS5zby4iKSArIHZhX3N1ZmZpeCk7 Ci0rI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotKyAgcGF0aHNba01vZHVsZVZhX3gxMV0u cHVzaF9iYWNrKHN0ZDo6c3RyaW5nKCJsaWJ2YS14MTEuc28uIikgKyB2YV9zdWZmaXgpOwotICNl bmRpZgotICNpZiBCVUlMREZMQUcoSVNfQ0hST01FT1NfQVNIKQotICAgcGF0aHNba01vZHVsZVZh X3Byb3RdLnB1c2hfYmFjayhzdGQ6OnN0cmluZygibGlidmEuc28uIikgKyB2YV9zdWZmaXgpOwot ZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmggYi9tZWRpYS9ncHUv dmFhcGkvdmFhcGlfd3JhcHBlci5oCi1pbmRleCAwZTNkYTUzNjI0Li44OGZmY2QwNzk5IDEwMDY0 NAotLS0tIGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuaAotKysrIGIvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuaAotQEAgLTM2LDkgKzM2LDkgQEAKLSAjaW5jbHVkZSAidGhp cmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3R5cGVzL29wdGlvbmFsLmgiCi0gI2luY2x1ZGUgInVp L2dmeC9nZW9tZXRyeS9zaXplLmgiCi0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJ TERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gI2luY2x1ZGUgInVpL2dmeC94L3hwcm90by5oIiAgLy8g bm9nbmNoZWNrCi0tI2VuZGlmICAvLyBVU0VfWDExCi0rI2VuZGlmICAgICAgICAgICAgICAgICAg ICAgICAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gCi0gbmFtZXNwYWNlIGdmeCB7Ci0g ZW51bSBjbGFzcyBCdWZmZXJGb3JtYXQ7Ci1AQCAtNDI2LDEzICs0MjYsMTMgQEAgY2xhc3MgTUVE SUFfR1BVX0VYUE9SVCBWYWFwaVdyYXBwZXIKLSAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6 OnBhaXI8VkFCdWZmZXJJRCwgVkFCdWZmZXJEZXNjcmlwdG9yPj4mIHZhX2J1ZmZlcnMpCi0gICAg ICAgV0FSTl9VTlVTRURfUkVTVUxUOwotIAotLSNpZiBkZWZpbmVkKFVTRV9YMTEpCi0rI2lmIEJV SUxERkxBRyhVU0VfVkFBUElfWDExKQotICAgLy8gUHV0IGRhdGEgZnJvbSB8dmFfc3VyZmFjZV9p ZHwgaW50byB8eF9waXhtYXB8IG9mIHNpemUKLSAgIC8vIHxkZXN0X3NpemV8LCBjb252ZXJ0aW5n L3NjYWxpbmcgdG8gaXQuCi0gICBib29sIFB1dFN1cmZhY2VJbnRvUGl4bWFwKFZBU3VyZmFjZUlE IHZhX3N1cmZhY2VfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxMTo6UGl4bWFw IHhfcGl4bWFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlNpemUgZGVzdF9z aXplKSBXQVJOX1VOVVNFRF9SRVNVTFQ7Ci0tI2VuZGlmICAvLyBVU0VfWDExCi0rI2VuZGlmICAv LyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAKLSAgIC8vIENyZWF0ZXMgYSBTY29wZWRWQUlt YWdlIGZyb20gYSBWQVN1cmZhY2UgfHZhX3N1cmZhY2VfaWR8IGFuZCBtYXAgaXQgaW50bwotICAg Ly8gbWVtb3J5IHdpdGggdGhlIGdpdmVuIHxmb3JtYXR8IGFuZCB8c2l6ZXwuIElmIHxmb3JtYXR8 IGlzIG5vdCBlcXVhbCB0byB0aGUKLWRpZmYgLS1naXQgYS91aS9vem9uZS9wbGF0Zm9ybS94MTEv b3pvbmVfcGxhdGZvcm1feDExLmNjIGIvdWkvb3pvbmUvcGxhdGZvcm0veDExL296b25lX3BsYXRm b3JtX3gxMS5jYwotaW5kZXggODg4OTgyOGUwZi4uOTYzZGM3YTBjZCAxMDA2NDQKLS0tLSBhL3Vp L296b25lL3BsYXRmb3JtL3gxMS9vem9uZV9wbGF0Zm9ybV94MTEuY2MKLSsrKyBiL3VpL296b25l L3BsYXRmb3JtL3gxMS9vem9uZV9wbGF0Zm9ybV94MTEuY2MKLUBAIC0yMDgsNiArMjA4LDkgQEAg Y2xhc3MgT3pvbmVQbGF0Zm9ybVgxMSA6IHB1YmxpYyBPem9uZVBsYXRmb3JtLAotICAgICAgIHBy b3BlcnRpZXMtPnN1cHBvcnRzX2dsb2JhbF9hcHBsaWNhdGlvbl9tZW51cyA9IHRydWU7Ci0gICAg ICAgcHJvcGVydGllcy0+YXBwX21vZGFsX2RpYWxvZ3NfdXNlX2V2ZW50X2Jsb2NrZXIgPSB0cnVl OwotICAgICAgIHByb3BlcnRpZXMtPmZldGNoX2J1ZmZlcl9mb3JtYXRzX2Zvcl9nbWJfb25fZ3B1 ID0gdHJ1ZTsKLSsjaWYgZGVmaW5lZChPU19MSU5VWCkKLSsgICAgICBwcm9wZXJ0aWVzLT5zdXBw b3J0c192YWFwaSA9IHRydWU7Ci0rI2VuZGlmCi0gCi0gICAgICAgaW5pdGlhbGlzZWQgPSB0cnVl OwotICAgICB9Ci1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcHVibGljL296b25lX3BsYXRmb3JtLmgg Yi91aS9vem9uZS9wdWJsaWMvb3pvbmVfcGxhdGZvcm0uaAotaW5kZXggZGY5NWYwNzQ4Ni4uMmQ3 ZjQ0YmJmYSAxMDA2NDQKLS0tLSBhL3VpL296b25lL3B1YmxpYy9vem9uZV9wbGF0Zm9ybS5oCi0r KysgYi91aS9vem9uZS9wdWJsaWMvb3pvbmVfcGxhdGZvcm0uaAotQEAgLTE1LDYgKzE1LDcgQEAK LSAjaW5jbHVkZSAiYmFzZS9tYWNyb3MuaCIKLSAjaW5jbHVkZSAiYmFzZS9tZXNzYWdlX2xvb3Av bWVzc2FnZV9wdW1wX3R5cGUuaCIKLSAjaW5jbHVkZSAiYmFzZS9zaW5nbGVfdGhyZWFkX3Rhc2tf cnVubmVyLmgiCi0rI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgotICNpbmNsdWRlICJt b2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvYmluZGVyX21hcC5oIgotICNpbmNsdWRlICJ1aS9nZngv YnVmZmVyX3R5cGVzLmgiCi0gI2luY2x1ZGUgInVpL2dmeC9uYXRpdmVfd2lkZ2V0X3R5cGVzLmgi Ci1AQCAtMTU0LDYgKzE1NSwxNSBAQCBjbGFzcyBDT01QT05FTlRfRVhQT1JUKE9aT05FKSBPem9u ZVBsYXRmb3JtIHsKLSAgICAgLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGJ1ZmZlciBmb3JtYXRzIHNo b3VsZCBiZSBmZXRjaGVkIG9uIEdQVSBhbmQgcGFzc2VkCi0gICAgIC8vIGJhY2sgdmlhIGdwdSBl eHRyYSBpbmZvLgotICAgICBib29sIGZldGNoX2J1ZmZlcl9mb3JtYXRzX2Zvcl9nbWJfb25fZ3B1 ID0gZmFsc2U7Ci0rCi0rI2lmIGRlZmluZWQoT1NfTElOVVgpCi0rICAgIC8vIFRPRE8oY3JidWcu Y29tLzExMTY3MDEpOiBhZGQgdmFhcGkgc3VwcG9ydCBmb3Igb3RoZXIgT3pvbmUgcGxhdGZvcm1z IG9uCi0rICAgIC8vIExpbnV4LiBBdCB0aGUgbW9tZW50LCBWQS1BUEkgTGludXggaW1wbGVtZW50 YXRpb24gc3VwcG9ydHMgb25seSBYMTEKLSsgICAgLy8gYmFja2VuZC4gVGhpcyBpbXBsZW1lbnRh dGlvbiBtdXN0IGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBPem9uZQotKyAgICAvLyBwcm9wZXJs eS4gQXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24sIFZBLUFQSSBvbiBMaW51eCBjaGVja3MgaWYgdmFh cGkgaXMKLSsgICAgLy8gc3VwcG9ydGVkICh3aGljaCBpbXBsaWNpdGx5IG1lYW5zIHRoYXQgaXQg aXMgT3pvbmUvWDExKS4KLSsgICAgYm9vbCBzdXBwb3J0c192YWFwaSA9IGZhbHNlOwotKyNlbmRp ZgotICAgfTsKLSAKLSAgIC8vIEdyb3VwcyBwbGF0Zm9ybSBwcm9wZXJ0aWVzIHRoYXQgY2FuIG9u bHkgYmUga25vd24gYXQgcnVuIHRpbWUuCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvcHl0aG9uMy4xMC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9weXRob24z LjEwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Y2U2ZWU3MTIwMmUuLjAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcHl0aG9uMy4xMC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLWRpZmYgLXVyIC4vdGhpcmRfcGFydHkv amluamEyLm9yaWcvcnVudGltZS5weSAuL3RoaXJkX3BhcnR5L2ppbmphMi9ydW50aW1lLnB5Ci0t LS0gYS90aGlyZF9wYXJ0eS9qaW5qYTIub3JpZy9ydW50aW1lLnB5CTIwMjEtMDktMjQgMDA6MjY6 MzUuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9qaW5qYTIvcnVudGltZS5weQky MDIxLTEwLTEzIDExOjUxOjE2LjQ5Mzk4NjU1NiAtMDQwMAotQEAgLTMxNSw3ICszMTUsNyBAQAot IAotICMgcmVnaXN0ZXIgdGhlIGNvbnRleHQgYXMgbWFwcGluZyBpZiBwb3NzaWJsZQotIHRyeToK LS0gICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZwotKyAgICBmcm9tIGNvbGxlY3Rp b25zLmFiYyBpbXBvcnQgTWFwcGluZwotICAgICBNYXBwaW5nLnJlZ2lzdGVyKENvbnRleHQpCi0g ZXhjZXB0IEltcG9ydEVycm9yOgotICAgICBwYXNzCi1kaWZmIC11ciAuL3RoaXJkX3BhcnR5L2pp bmphMi5vcmlnL3NhbmRib3gucHkgLi90aGlyZF9wYXJ0eS9qaW5qYTIvc2FuZGJveC5weQotLS0t IGEvdGhpcmRfcGFydHkvamluamEyLm9yaWcvc2FuZGJveC5weQkyMDIxLTA5LTI0IDAwOjI2OjM1 LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvamluamEyL3NhbmRib3gucHkJMjAy MS0xMC0xMyAxMTo1MDo1MS41MTM5ODAzOTkgLTA0MDAKLUBAIC0xNCw3ICsxNCw3IEBACi0gIiIi Ci0gaW1wb3J0IHR5cGVzCi0gaW1wb3J0IG9wZXJhdG9yCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBv cnQgTWFwcGluZwotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCi0gZnJvbSBq aW5qYTIuZW52aXJvbm1lbnQgaW1wb3J0IEVudmlyb25tZW50Ci0gZnJvbSBqaW5qYTIuZXhjZXB0 aW9ucyBpbXBvcnQgU2VjdXJpdHlFcnJvcgotIGZyb20gamluamEyLl9jb21wYXQgaW1wb3J0IHN0 cmluZ190eXBlcywgUFkyCi1AQCAtNzksNyArNzksNyBAQAotICAgICBwYXNzCi0gCi0gIzogcmVn aXN0ZXIgUHl0aG9uIDIuNiBhYnN0cmFjdCBiYXNlIGNsYXNzZXMKLS1mcm9tIGNvbGxlY3Rpb25z IGltcG9ydCBNdXRhYmxlU2V0LCBNdXRhYmxlTWFwcGluZywgTXV0YWJsZVNlcXVlbmNlCi0rZnJv bSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVTZXQsIE11dGFibGVNYXBwaW5nLCBNdXRh YmxlU2VxdWVuY2UKLSBfbXV0YWJsZV9zZXRfdHlwZXMgKz0gKE11dGFibGVTZXQsKQotIF9tdXRh YmxlX21hcHBpbmdfdHlwZXMgKz0gKE11dGFibGVNYXBwaW5nLCkKLSBfbXV0YWJsZV9zZXF1ZW5j ZV90eXBlcyArPSAoTXV0YWJsZVNlcXVlbmNlLCkKLWRpZmYgLXVyIC4vdGhpcmRfcGFydHkvamlu amEyLm9yaWcvdGVzdHMucHkgLi90aGlyZF9wYXJ0eS9qaW5qYTIvdGVzdHMucHkKLS0tLSBhL3Ro aXJkX3BhcnR5L2ppbmphMi5vcmlnL3Rlc3RzLnB5CTIwMjEtMDktMjQgMDA6MjY6MzUuMDAwMDAw MDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9qaW5qYTIvdGVzdHMucHkJMjAyMS0xMC0xMyAx MTo1MTo1MS42OTM5OTUyMjcgLTA0MDAKLUBAIC0xMCw3ICsxMCw3IEBACi0gIiIiCi0gaW1wb3J0 IG9wZXJhdG9yCi0gaW1wb3J0IHJlCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZwot K2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCi0gZnJvbSBqaW5qYTIucnVudGlt ZSBpbXBvcnQgVW5kZWZpbmVkCi0gZnJvbSBqaW5qYTIuX2NvbXBhdCBpbXBvcnQgdGV4dF90eXBl LCBzdHJpbmdfdHlwZXMsIGludGVnZXJfdHlwZXMKLSBpbXBvcnQgZGVjaW1hbAotZGlmZiAtdXIg Li90aGlyZF9wYXJ0eS9qaW5qYTIub3JpZy91dGlscy5weSAuL3RoaXJkX3BhcnR5L2ppbmphMi91 dGlscy5weQotLS0tIGEvdGhpcmRfcGFydHkvamluamEyLm9yaWcvdXRpbHMucHkJMjAyMS0wOS0y NCAwMDoyNjozNS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L2ppbmphMi91dGls cy5weQkyMDIxLTEwLTEzIDExOjUxOjM0Ljk2OTk5MTEwNiAtMDQwMAotQEAgLTQ4Miw3ICs0ODIs NyBAQAotIAotICMgcmVnaXN0ZXIgdGhlIExSVSBjYWNoZSBhcyBtdXRhYmxlIG1hcHBpbmcgaWYg cG9zc2libGUKLSB0cnk6Ci0tICAgIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFibGVNYXBw aW5nCi0rICAgIGZyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNdXRhYmxlTWFwcGluZwotICAg ICBNdXRhYmxlTWFwcGluZy5yZWdpc3RlcihMUlVDYWNoZSkKLSBleGNlcHQgSW1wb3J0RXJyb3I6 Ci0gICAgIHBhc3MKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zbmRpby5w YXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zbmRpby5wYXRjaAppbmRleCA2N2ZiOGZj YTYyZDAuLmJhYzhhNjNiYzI0ZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L3NuZGlvLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zbmRpby5wYXRjaApA QCAtNDcsMTUgKzQ3LDYgQEAgZGlmZiAtTmF1ciBjaHJvbWl1bS04My4wLjQxMDMuOTcub3JpZy9t ZWRpYS9hdWRpby9saW51eC9hdWRpb19tYW5hZ2VyX2xpbnV4LmNjIGMKICAKICBuYW1lc3BhY2Ug bWVkaWEgewogIAotQEAgLTI2LDcgKzMxLDggQEAKLSAgIGtQdWxzZSwKLSAgIGtBbHNhLAotICAg a0NyYXMsCi0tICBrQXVkaW9JT01heCA9IGtDcmFzICAvLyBNdXN0IGFsd2F5cyBiZSBlcXVhbCB0 byBsYXJnZXN0IGxvZ2dlZCBlbnRyeS4KLSsgIGtTbmRpbywKLSsgIGtBdWRpb0lPTWF4ID0ga1Nu ZGlvIC8vIE11c3QgYWx3YXlzIGJlIGVxdWFsIHRvIGxhcmdlc3QgbG9nZ2VkIGVudHJ5LgotIH07 Ci0gCiAgc3RkOjp1bmlxdWVfcHRyPG1lZGlhOjpBdWRpb01hbmFnZXI+IENyZWF0ZUF1ZGlvTWFu YWdlcigKIEBAIC0zOSw2ICs0NSwxNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhdWRpb19sb2dfZmFjdG9yeSk7CmRpZmYgLS1naXQgYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvdW5idW5kbGUtZml4LXZpc2liaWxpdHktb2YtYnVpbGQtY29uZmln LWZyZWV0eXBlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3VuYnVuZGxlLWZpeC12 aXNpYmlsaXR5LW9mLWJ1aWxkLWNvbmZpZy1mcmVldHlwZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQxMDAyM2JjMDI2NwotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy91bmJ1bmRsZS1maXgtdmlzaWJpbGl0eS1vZi1idWls ZC1jb25maWctZnJlZXR5cGUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAyNzFlNDUzMzli N2I5NjllOThjY2VmNzgzN2NiMWIxNTQ4MGIwN2ZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1 LCA0IE5vdiAyMDIxIDE4OjU4OjM0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHVuYnVuZGxlOiBm aXggdmlzaWJpbGl0eSBvZiAvL2J1aWxkL2NvbmZpZy9mcmVldHlwZQorCitGb3Igc3lzdGVtIGZy ZWV0eXBlIC8vYnVpbGQvbGludXg6ZnJlZXR5cGVfZnJvbV9wa2djb25maWcgaXMgcmVzdHJpY3Rl ZAordG8gLy90aGlyZF9wYXJ0eTpmcmVldHlwZV9oYXJmYnV6eiBhbmQgLy90aGlyZF9wYXJ0eS9o YXJmYnV6ei1uZzpoYXJmYnV6el9zb3VyY2UuCitIb3dldmVyIC8vYnVpbGQvY29uZmlnL2ZyZWV0 eXBlOmZyZWV0eXBlIGlzIGFjY2Vzc2luZyBpdCB0b28uCisKK0J1ZzogTm9uZQorQ2hhbmdlLUlk OiBJYzRhMzdiMDFlNGFlMjIxMzcyYTkyMjBjYmFkMDRjNTk4Yjg0NGMyMQorUmV2aWV3ZWQtb246 IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMv Ky8zMjU5MzA0CitDb21taXQtUXVldWU6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFzYW5kZXJzb25A Y2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFzYW5kZXJz b25AY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyM5 MzgzODh9CistLS0KKyBidWlsZC9saW51eC9CVUlMRC5nbiB8IDEgKworIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQvbGludXgvQlVJTEQuZ24gYi9i dWlsZC9saW51eC9CVUlMRC5nbgoraW5kZXggNTQzMTRjNzY4Ny4uY2Q0OWUzZDUyNCAxMDA2NDQK Ky0tLSBhL2J1aWxkL2xpbnV4L0JVSUxELmduCisrKysgYi9idWlsZC9saW51eC9CVUlMRC5nbgor QEAgLTIzLDYgKzIzLDcgQEAgaWYgKHVzZV9zeXN0ZW1fZnJlZXR5cGUpIHsKKyAgICMgdGhlIHN5 c3RlbSwgdXNlIHdpdGggY2F1dGlvbixmb3IgZGV0YWlscyBzZWUgYnVpbGQvY29uZmlnL2ZyZWV0 eXBlL0JVSUxELmduLgorICAgcGtnX2NvbmZpZygiZnJlZXR5cGVfZnJvbV9wa2djb25maWciKSB7 CisgICAgIHZpc2liaWxpdHkgPSBbCisrICAgICAgIi8vYnVpbGQvY29uZmlnL2ZyZWV0eXBlOmZy ZWV0eXBlIiwKKyAgICAgICAiLy90aGlyZF9wYXJ0eTpmcmVldHlwZV9oYXJmYnV6eiIsCisgICAg ICAgIi8vdGhpcmRfcGFydHkvaGFyZmJ1enotbmc6aGFyZmJ1enpfc291cmNlIiwKKyAgICAgXQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3VuYnVuZGxlZC1jcm9zcy10b29s Y2hhaW4ucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvdW5idW5kbGVkLWNyb3NzLXRv b2xjaGFpbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmMz ZjIyOTRhYzRiMgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy91 bmJ1bmRsZWQtY3Jvc3MtdG9vbGNoYWluLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKKy0tLSBhL2J1 aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZS9CVUlMRC5nbi5vcmlnCisrKysgYi9idWlsZC90 b29sY2hhaW4vbGludXgvdW5idW5kbGUvQlVJTEQuZ24KK0BAIC0zNSw3ICszNSw3IEBACisgICBl eHRyYV9sZGZsYWdzID0gZ2V0ZW52KCJCVUlMRF9MREZMQUdTIikKKyAKKyAgIHRvb2xjaGFpbl9h cmdzID0geworLSAgICBjdXJyZW50X2NwdSA9IGN1cnJlbnRfY3B1CistICAgIGN1cnJlbnRfb3Mg PSBjdXJyZW50X29zCisrICAgIGN1cnJlbnRfY3B1ID0gaG9zdF9jcHUKKysgICAgY3VycmVudF9v cyA9IGhvc3Rfb3MKKyAgIH0KKyB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94 eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCmluZGV4IGQxMDlhZWI1Yjk1Yy4uMzE3NjAxNTFhMzNl IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9y dC5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9y dC5wYXRjaApAQCAtMjEyNSw4ICsyMTI1LDggQEAgZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmggYi8KIGlu ZGV4IGQ0YWI5MzZlZS4uMWQyMmZjNTljIDEwMDY0NAogLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAogKysrIGIvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0 ZXIuaAotQEAgLTMxNSw2ICszMTUsNDUgQEAgY2xhc3MgTWluaWR1bXBDb250ZXh0TUlQUzY0V3Jp dGVyIGZpbmFsIDogcHVibGljIE1pbmlkdW1wQ29udGV4dFdyaXRlciB7Ci0gICBESVNBTExPV19D T1BZX0FORF9BU1NJR04oTWluaWR1bXBDb250ZXh0TUlQUzY0V3JpdGVyKTsKK0BAIC0zMTUsNiAr MzE1LDQzIEBAIGNsYXNzIE1pbmlkdW1wQ29udGV4dE1JUFM2NFdyaXRlciBmaW5hbCA6IHB1Ymxp YyBNaW5pZHVtcENvbnRleHRXcml0ZXIgeworICAgTWluaWR1bXBDb250ZXh0UFBDNjQgY29udGV4 dF87CiAgfTsKICAKICtjbGFzcyBNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlciBmaW5hbCA6IHB1 YmxpYyBNaW5pZHVtcENvbnRleHRXcml0ZXIgewpAQCAtMjE2NCw4ICsyMTY0LDYgQEAgaW5kZXgg ZDRhYjkzNmVlLi4xZDIyZmM1OWMgMTAwNjQ0CiArCiArIHByaXZhdGU6CiArICBNaW5pZHVtcENv bnRleHRQUEM2NCBjb250ZXh0XzsKLSsKLSsgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihNaW5p ZHVtcENvbnRleHRQUEM2NFdyaXRlcik7CiArfTsKICsKICB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hw YWQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUgYi9zcmNwa2dzL2Nocm9t aXVtL3RlbXBsYXRlCmluZGV4IGRmZTQyNzQ4OWY4Zi4uOGRjMjIyNDk4OTA1IDEwMDY0NAotLS0g YS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjaHJvbWl1bScKIHBrZ25h bWU9Y2hyb21pdW0KICMgU2VlIGh0dHBzOi8vY2hyb21pdW1kYXNoLmFwcHNwb3QuY29tL3JlbGVh c2VzP3BsYXRmb3JtPUxpbnV4IGZvciB0aGUgbGF0ZXN0IHZlcnNpb24KLXZlcnNpb249OTUuMC40 NjM4LjU0Cit2ZXJzaW9uPTk2LjAuNDY2NC40NQogcmV2aXNpb249MQogYXJjaHM9Imk2ODYqIHg4 Nl82NCogYWFyY2g2NCogYXJtdjdsKiBwcGM2NGxlKiIKIHNob3J0X2Rlc2M9Ikdvb2dsZSdzIGF0 dGVtcHQgYXQgY3JlYXRpbmcgYSBzYWZlciwgZmFzdGVyLCBhbmQgbW9yZSBzdGFibGUgYnJvd3Nl ciIKQEAgLTksOCArOSw3IEBAIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxp bnV4Lm9yZz4iCiBsaWNlbnNlPSJCU0QtMy1DbGF1c2UiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cu Y2hyb21pdW0ub3JnLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29n bGVhcGlzLmNvbS9jaHJvbWl1bS1icm93c2VyLW9mZmljaWFsLyR7cGtnbmFtZX0tJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT0zZWVmODhkNzQ1ZTZkZGFlYWY1MDczNThmMTUxMDQ4MmQ2ZjM5 OWNmMzM1MDYxYmIxMjI2YTVmNzEyMDA2MWZkCi1ub2Nyb3NzPXllcworY2hlY2tzdW09NDg4YzZh ZDk4M2ViZjc3ODFjYjRkNzA0ZjcwNDk2ZThhYTIxNjU2MTFiNDY2NTZkN2FhNjJmMjY5Yzc2MDQw NwogCiBsaWIzMmRpc2FibGVkPXllcwogCkBAIC0yNCw4ICsyMyw4IEBAIGRlc2Nfb3B0aW9uX3B1 bHNlYXVkaW89IkVuYWJsZSBzdXBwb3J0IGZvciBQdWxzZUF1ZGlvIgogZGVzY19vcHRpb25fc25k aW89IkVuYWJsZSBzdXBwb3J0IGZvciBzbmRpbyIKIGRlc2Nfb3B0aW9uX3BpcGV3aXJlPSJFbmFi bGUgc3VwcG9ydCBmb3Igc2NyZWVuIHNoYXJpbmcgZm9yIFdlYlJUQyB2aWEgUGlwZVdpcmUiCiAK LWhvc3RtYWtlZGVwZW5kcz0iJCh2b3B0X2lmIGNsYW5nICJjbGFuZyBsbGQgbGx2bTEyIikgcHl0 aG9uIHBrZ2NvbmYgcGVybCBncGVyZiBiaXNvbiBuaW5qYSBub2RlanMgaHdpZHMKLSBsaWJhdG9t aWMtZGV2ZWwgbGliZXZlbnQtZGV2ZWwgbGliZ2xpYi1kZXZlbCAkKHZvcHRfaWYganNfb3B0aW1p emUgb3BlbmpkaykiCitob3N0bWFrZWRlcGVuZHM9IiQodm9wdF9pZiBjbGFuZyAiY2xhbmcgbGxk IGxsdm0xMiIpIHB5dGhvbiBweXRob24zIHBrZ2NvbmYgcGVybCBncGVyZiBiaXNvbiBuaW5qYSBu b2RlanMgaHdpZHMKKyBsaWJhdG9taWMtZGV2ZWwgbGliZXZlbnQtZGV2ZWwgbGliZ2xpYi1kZXZl bCAkKHZvcHRfaWYganNfb3B0aW1pemUgb3Blbmpkaykgd2F5bGFuZC1kZXZlbCIKIG1ha2VkZXBl bmRzPSJsaWJwbmctZGV2ZWwgZ3RrKy1kZXZlbCBndGsrMy1kZXZlbCBuc3MtZGV2ZWwgcGNpdXRp bHMtZGV2ZWwKICBsaWJYaS1kZXZlbCBsaWJnY3J5cHQtZGV2ZWwgbGliZ25vbWUta2V5cmluZy1k ZXZlbCBjdXBzLWRldmVsIGVsZnV0aWxzLWRldmVsCiAgbGliWGNvbXBvc2l0ZS1kZXZlbCBzcGVl Y2gtZGlzcGF0Y2hlci1kZXZlbCBsaWJYcmFuZHItZGV2ZWwgbWl0LWtyYjUtZGV2ZWwKQEAgLTM0 LDggKzMzLDkgQEAgbWFrZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCBndGsrLWRldmVsIGd0ayszLWRl dmVsIG5zcy1kZXZlbCBwY2l1dGlscy1kZXZlbAogIGxpYlhjdXJzb3ItZGV2ZWwgbGliZmxhYy1k ZXZlbCBzcGVleC1kZXZlbCBsaWJtdHAtZGV2ZWwgbGlid2VicC1kZXZlbAogIGxpYmpwZWctdHVy Ym8tZGV2ZWwgbGliZXZlbnQtZGV2ZWwganNvbi1jLWRldmVsIGhhcmZidXp6LWRldmVsCiAgbWlu aXppcC1kZXZlbCBqc29uY3BwLWRldmVsIHpsaWItZGV2ZWwgbGliY2FwLWRldmVsIGxpYlhkYW1h Z2UtZGV2ZWwKLSByZTItZGV2ZWwgZm9udGNvbmZpZy1kZXZlbCBmcmVldHlwZS1kZXZlbCBvcHVz LWRldmVsCisgcmUyLWRldmVsIGZvbnRjb25maWctZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgb3B1cy1k ZXZlbCBsaWJhdG9taWMtZGV2ZWwKICBmZm1wZWctZGV2ZWwgbGlidmEtZGV2ZWwgcHl0aG9uLXNl dHVwdG9vbHMgeGNiLXByb3RvIGxpYmN1cmwtZGV2ZWwKKyBsaWJ4c2htZmVuY2UtZGV2ZWwKICAk KHZvcHRfaWYgcGlwZXdpcmUgcGlwZXdpcmUtZGV2ZWwpICQodm9wdF9pZiBzbmRpbyBzbmRpby1k ZXZlbCkiCiBkZXBlbmRzPSJsaWJleGlmIGh3aWRzIGRlc2t0b3AtZmlsZS11dGlscyBoaWNvbG9y LWljb24tdGhlbWUgeGRnLXV0aWxzIgogCkBAIC00Myw2ICs0MywyOSBAQCBjYXNlICIkWEJQU19U QVJHRVRfTUFDSElORSIgaW4KIAlwcGM2NCotbXVzbCkgbWFrZWRlcGVuZHMrPSIgbGlidWNvbnRl eHQtZGV2ZWwiIDs7CiBlc2FjCiAKK2lmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCWhvc3Rt YWtlZGVwZW5kcys9IiBsaWJYMTEtZGV2ZWwgbGlieGNiLWRldmVsIHBjaXV0aWxzLWRldmVsIGxp YlhleHQtZGV2ZWwgbGliZ2x2bmQtZGV2ZWwKKwkgbGlianBlZy10dXJiby1kZXZlbCBsaWJYaS1k ZXZlbCBuc3MtZGV2ZWwgbGlicG5nLWRldmVsIGxpYndlYnAtZGV2ZWwgaGFyZmJ1enotZGV2ZWwK KwkgbGlieG1sMi1kZXZlbCAkKHZvcHRfaWYgcHVsc2VhdWRpbyBwdWxzZWF1ZGlvLWRldmVsKSBs aWJ4c2x0LWRldmVsIGxpYnhrYmNvbW1vbi1kZXZlbAorCSAkKHZvcHRfaWYgcGlwZXdpcmUgcGlw ZXdpcmUtZGV2ZWwpIGZmbXBlZy1kZXZlbCBvcHVzLWRldmVsIHBhbmdvLWRldmVsIGxpYnZhLWRl dmVsCisJIGxpYmN1cmwtZGV2ZWwgc25hcHB5LWRldmVsIHJlMi1kZXZlbCBsaWJYcmFuZHItZGV2 ZWwgbGliWGNvbXBvc2l0ZS1kZXZlbCBjdXBzLWRldmVsCisJIG1pdC1rcmI1LWRldmVsIGFsc2Et bGliLWRldmVsIgorZmkKKworaWYgWyAhICIkWEJQU19XT1JEU0laRSIgPSAiJFhCUFNfVEFSR0VU X1dPUkRTSVpFIiBdOyB0aGVuCisJYnJva2VuPSJjaHJvbWl1bSAodjgpIGNhbiBvbmx5IGJlIGNy b3NzIGNvbXBpbGVkIGlmIHdvcmQgc2l6ZSBtYXRjaGVzIgorZmkKKworaWYgWyAiJENST1NTX0JV SUxEIiBdOyB0aGVuCisJaWYgWyAteiAiJGJ1aWxkX29wdGlvbl9jbGFuZyIgXTsgdGhlbgorCQlu b2Nyb3NzPSJjaHJvbWl1bSBjYW4gb25seSBiZSBjcm9zcyBjb21waWxlZCB3aXRoIGNsYW5nIgor CWZpCisJY2FzZSAiJHtYQlBTX1RBUkdFVF9NQUNISU5FfSIgaW4KKwkJYWFyY2g2NCopIDs7CisJ CSopIG5vY3Jvc3M9ImNocm9taXVtIGNhbiBub3QgYmUgY3Jvc3MgY29tcGlsZWQgZm9yIHRoaXMg YXJjaGl0ZWN0dXJlIiA7OworCWVzYWMKK2ZpCisKIHBvc3RfcGF0Y2goKSB7CiAJaWYgWyAiJFhC UFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07IHRoZW4KIAkJZm9yIGYgaW4gIiR7RklMRVNESVJ9 Ii9tdXNsLXBhdGNoZXMvKi5wYXRjaDsgZG8KQEAgLTcxLDIwICs5NCw1OCBAQCBwb3N0X3BhdGNo KCkgewogCXZzZWQgLWkgJ3MvT0ZGSUNJQUxfQlVJTEQvR09PR0xFX0NIUk9NRV9CVUlMRC8nIFwK IAkJdG9vbHMvZ2VuZXJhdGVfc2hpbV9oZWFkZXJzL2dlbmVyYXRlX3NoaW1faGVhZGVycy5weQog fQotZG9fY29uZmlndXJlKCkgewotCWxvY2FsIHN5c3RlbT0iIiBjb25mPSgpCi0JZXhwb3J0IC1u IENGTEFHUyBDWFhGTEFHUyBMREZMQUdTCiAKK19zZXR1cF9jbGFuZygpIHsKKwlsb2NhbCBnY2Nf dmVyc2lvbj0kKGdjYyAtZHVtcHZlcnNpb24pCisJbG9jYWwgY2xhbmdfdmVyc2lvbj0kKGNsYW5n IC1kdW1wdmVyc2lvbikKKwlleHBvcnQgQ0M9Y2xhbmcKKwlleHBvcnQgQ1hYPWNsYW5nKysKKwll eHBvcnQgQVI9bGx2bS1hcgorCWV4cG9ydCBOTT1sbHZtLW5tCisJZXhwb3J0IENGTEFHUz0iLVdu by11bmtub3duLXdhcm5pbmctb3B0aW9uIgorCWV4cG9ydCBDWFhGTEFHUz0iLVduby11bmtub3du LXdhcm5pbmctb3B0aW9uIgorCWV4cG9ydCBMREZMQUdTPSIiCisJZXhwb3J0IEJVSUxEX0NDPWNs YW5nCisJZXhwb3J0IEJVSUxEX0NYWD1jbGFuZysrCisJZXhwb3J0IEJVSUxEX0FSPWxsdm0tYXIK KwlleHBvcnQgQlVJTERfTk09bGx2bS1ubQorCWV4cG9ydCBCVUlMRF9DRkxBR1M9Ii1Xbm8tdW5r bm93bi13YXJuaW5nLW9wdGlvbiIKKwlleHBvcnQgQlVJTERfQ1hYRkxBR1M9Ii1Xbm8tdW5rbm93 bi13YXJuaW5nLW9wdGlvbiIKKwlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwkJQ0ZMQUdT Kz0iCisJCSAtLWdjYy10b29sY2hhaW49L3VzcgorCQkgLS1zeXNyb290PSR7WEJQU19DUk9TU19C QVNFfQorCQkgLW5vc3RkaW5jCisJCSAtaXN5c3RlbSAke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2lu Y2x1ZGUKKwkJIC1pc3lzdGVtIC91c3IvbGliL2NsYW5nLyR7Y2xhbmdfdmVyc2lvbn0vaW5jbHVk ZSIKKwkJQ1hYRkxBR1MrPSIKKwkJIC0tZ2NjLXRvb2xjaGFpbj0vdXNyCisJCSAtLXN5c3Jvb3Q9 JHtYQlBTX0NST1NTX0JBU0V9CisJCSAtbm9zdGRpbmMrKworCQkgLWlzeXN0ZW0gJHtYQlBTX0NS T1NTX0JBU0V9L3Vzci9pbmNsdWRlL2MrKy8ke2djY192ZXJzaW9uJS4qfQorCQkgLWlzeXN0ZW0g JHtYQlBTX0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlL2MrKy8ke2djY192ZXJzaW9uJS4qfS8ke1hC UFNfQ1JPU1NfVFJJUExFVH0KKwkJIC1pc3lzdGVtICR7WEJQU19DUk9TU19CQVNFfS91c3IvaW5j bHVkZS9jKysvJHtnY2NfdmVyc2lvbiUuKn0vYmFja3dhcmQKKwkJIC1ub3N0ZGluYworCQkgLWlz eXN0ZW0gJHtYQlBTX0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlCisJCSAtaXN5c3RlbSAvdXNyL2xp Yi9jbGFuZy8ke2NsYW5nX3ZlcnNpb259L2luY2x1ZGUiCisJCUxERkxBR1MrPSIgLS1nY2MtdG9v bGNoYWluPS91c3IgLS1zeXNyb290PSR7WEJQU19DUk9TU19CQVNFfSIKKwlmaQorfQorCitfc2V0 dXBfdG9vbGNoYWluKCkgewogCWlmIFsgIiRidWlsZF9vcHRpb25fY2xhbmciIF07IHRoZW4KLQkJ ZXhwb3J0IENDPWNsYW5nCi0JCWV4cG9ydCBDWFg9Y2xhbmcrKworCQlfc2V0dXBfY2xhbmcKIAlm aQorCUNYWEZMQUdTKz0iIC1mZGVidWctcHJlZml4LW1hcD0kd3Jrc3JjPS4iCisJQ0ZMQUdTKz0i IC1mZGVidWctcHJlZml4LW1hcD0kd3Jrc3JjPS4iCit9CiAKLQlleHBvcnQgTERGTEFHUz0iLXB0 aHJlYWQiCitkb19jb25maWd1cmUoKSB7CisJbG9jYWwgc3lzdGVtPSIiIGNvbmY9KCkKIAogCSMg Y29tcGlsZSBnbiBlYXJseSwgc28gaXQgY2FuIGJlIHVzZWQgdG8gZ2VuZXJhdGUgZ25pIHN0dWZm CiAJQVI9ImFyIiBDQz0kQ0NfRk9SX0JVSUxEIENYWD0kQ1hYX0ZPUl9CVUlMRCBMRD0kQ1hYX0ZP Ul9CVUlMRCBcCi0JdG9vbHMvZ24vYm9vdHN0cmFwL2Jvb3RzdHJhcC5weSAtLXNraXAtZ2VuZXJh dGUtYnVpbGRmaWxlcworCQl0b29scy9nbi9ib290c3RyYXAvYm9vdHN0cmFwLnB5IC0tc2tpcC1n ZW5lcmF0ZS1idWlsZGZpbGVzCiAKIAkjIHdlIG5lZWQgdG8gZ2VuZXJhdGUgcHBjNjQgc3R1ZmYg Zm9yIGxpYnZweCBhcyBpdCdzIG5vdCBzaGlwcGVkCiAJIyB0aGlzIGhhcyB0byBiZSBkb25lIGJl Zm9yZSB1bmJ1bmRsaW5nLCBidXQgYWZ0ZXIgZ24gaXMgYnVpbHQKQEAgLTE1NCw4ICsyMTUsOCBA QCBkb19jb25maWd1cmUoKSB7CiAJCSdlbmFibGVfbmFjbF9ub25zZmk9ZmFsc2UnCiAKIAkJJ3Vz ZV9zeXNyb290PWZhbHNlJwotCQknY3VzdG9tX3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4v bGludXgvdW5idW5kbGU6ZGVmYXVsdCInCi0JCSdob3N0X3Rvb2xjaGFpbj0iLy9idWlsZC90b29s Y2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdCInCisKKwkJJ2hvc3RfcGtnX2NvbmZpZz0iL3Vz ci9iaW4vcGtnLWNvbmZpZyInCiAKIAkJImlzX2NsYW5nPSQodm9wdF9pZiBjbGFuZyB0cnVlIGZh bHNlKSIKIAkJInVzZV9sbGQ9JCh2b3B0X2lmIGNsYW5nIHRydWUgZmFsc2UpIgpAQCAtMTgxLDYg KzI0Miw3IEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAkJJ2VuYWJsZV9oYW5nb3V0X3NlcnZpY2VzX2V4 dGVuc2lvbj10cnVlJwogCiAJCSd1c2Vfc3lzdGVtX2hhcmZidXp6PXRydWUnCisJCSd1c2Vfc3lz dGVtX3dheWxhbmRfc2Nhbm5lcj10cnVlJwogCiAJCSd1c2VfY3Vwcz10cnVlJwogCkBAIC0yMjAs MTEgKzI4MiwyOCBAQCBkb19jb25maWd1cmUoKSB7CiAJCSdjaHJvbWVfcGdvX3BoYXNlPTAnCiAJ KQogCisJaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJCWNvbmYrPSgKKwkJCSdjdXN0b21f dG9vbGNoYWluPSIvL2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZTpkZWZhdWx0IicKKwkJ CSdob3N0X3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6aG9zdCIn CisJCQkndjhfc25hcHNob3RfdG9vbGNoYWluPSIvL2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1 bmRsZTp2OF9zbmFwc2hvdF9jcm9zcyInCisJCSkKKwllbHNlCisJCWNvbmYrPSgKKwkJCSdjdXN0 b21fdG9vbGNoYWluPSIvL2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZTpkZWZhdWx0IicK KwkJCSdob3N0X3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVm YXVsdCInCisJCSkKKwlmaQorCiAJIyB0aGlzIGRvZXMgbm90IHdvcmsgb24gcHBjNjQgeWV0CiAJ Y2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCiAJCXBwYzY0KikgY29uZis9KCAiZW5hYmxl X2p4bF9kZWNvZGVyPWZhbHNlIiApOzsKIAllc2FjCiAKKwlpZiBbICIkWEJQU19UQVJHRVRfTElC QyIgPSAibXVzbCIgXTsgdGhlbgorCQljb25mKz0oICdpc19tdXNsPXRydWUnICkKKwlmaQorCiAJ Y2FzZSAiJHtYQlBTX1RBUkdFVF9NQUNISU5FfSIgaW4KIAkJeDg2XzY0KikgY29uZis9KCAndGFy Z2V0X2NwdT0ieDY0IicgKSA7OwogCQlpNjg2KikgY29uZis9KCAndGFyZ2V0X2NwdT0ieDg2Iicg KSA7OwpAQCAtMjMzLDM1ICszMTIsMzIgQEAgZG9fY29uZmlndXJlKCkgewogCQlwcGM2NCopIGNv bmYrPSggJ3RhcmdldF9jcHU9InBwYzY0IicgKSA7OwogCWVzYWMKIAotCWlmIFsgIiRidWlsZF9v cHRpb25fY2xhbmciIF07IHRoZW4KLQkJZXhwb3J0IENDPWNsYW5nCi0JCWV4cG9ydCBDWFg9Y2xh bmcrKwotCQlleHBvcnQgQVI9bGx2bS1hcgotCQlleHBvcnQgTk09bGx2bS1ubQotCQlleHBvcnQg Q0ZMQUdTPSItV25vLXVua25vd24td2FybmluZy1vcHRpb24iCi0JCWV4cG9ydCBDWFhGTEFHUz0i LVduby11bmtub3duLXdhcm5pbmctb3B0aW9uIgorCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhl bgorCQljYXNlICIke1hCUFNfTUFDSElORX0iIGluCisJCQl4ODZfNjQqKSBjb25mKz0oICdob3N0 X2NwdT0ieDY0IicgKSA7OworCQkJaTY4NiopIGNvbmYrPSggJ2hvc3RfY3B1PSJ4ODYiJyApIDs7 CisJCQlhcm0qKSBjb25mKz0oICdob3N0X2NwdT0iYXJtIicgKSA7OworCQkJYWFyY2g2NCopIGNv bmYrPSggJ2hvc3RfY3B1PSJhcm02NCInICkgOzsKKwkJCXBwYzY0KikgY29uZis9KCAnaG9zdF9j cHU9InBwYzY0IicgKSA7OworCQllc2FjCiAJZmkKLQorCV9zZXR1cF90b29sY2hhaW4KIAlvdXQv UmVsZWFzZS9nbiBnZW4gb3V0L1JlbGVhc2UgLS1hcmdzPSIke2NvbmZbKl19IgogfQotZG9fYnVp bGQoKSB7Ci0JaWYgWyAiJGJ1aWxkX29wdGlvbl9jbGFuZyIgXTsgdGhlbgotCQlleHBvcnQgQ0M9 Y2xhbmcKLQkJZXhwb3J0IENYWD1jbGFuZysrCi0JCWV4cG9ydCBBUj1sbHZtLWFyCi0JCWV4cG9y dCBOTT1sbHZtLW5tCi0JCWV4cG9ydCBDRkxBR1M9Ii1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlv biIKLQkJZXhwb3J0IENYWEZMQUdTPSItV25vLXVua25vd24td2FybmluZy1vcHRpb24iCi0JZmkK IAorZG9fYnVpbGQoKSB7CisJX3NldHVwX3Rvb2xjaGFpbgogCW5pbmphIC1DIG91dC9SZWxlYXNl ICR7bWFrZWpvYnN9IGNocm9tZSBjaHJvbWVkcml2ZXIgbWtzbmFwc2hvdCBjaHJvbWVfY3Jhc2hw YWRfaGFuZGxlcgogfQorCiBkb19pbnN0YWxsKCkgewogCXZpbnN0YWxsIG91dC9SZWxlYXNlL2No cm9tZSA3NTUgdXNyL2xpYi8ke3BrZ25hbWV9ICR7cGtnbmFtZX0KIAl2aW5zdGFsbCBvdXQvUmVs ZWFzZS9jaHJvbWVfY3Jhc2hwYWRfaGFuZGxlciA3NTUgdXNyL2xpYi8ke3BrZ25hbWV9IGNocm9t ZV9jcmFzaHBhZF9oYW5kbGVyCiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvY2hyb21lZHJpdmVyIDc1 NSB1c3IvbGliLyR7cGtnbmFtZX0gY2hyb21lZHJpdmVyCiAJdmluc3RhbGwgb3V0L1JlbGVhc2Uv bGliRUdMLnNvIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gbGliRUdMLnNvCiAJdmluc3RhbGwgb3V0 L1JlbGVhc2UvbGliR0xFU3YyLnNvIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gbGliR0xFU3YyLnNv CisJdmluc3RhbGwgb3V0L1JlbGVhc2UvbGlidmtfc3dpZnRzaGFkZXIuc28gNzU1IHVzci9saWIv JHtwa2duYW1lfSBsaWJ2a19zd2lmdHNoYWRlci5zbworCXZpbnN0YWxsIG91dC9SZWxlYXNlL3Zr X3N3aWZ0c2hhZGVyX2ljZC5qc29uIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gdmtfc3dpZnRzaGFk ZXJfaWNkLmpzb24KIAogCXZjb3B5ICJvdXQvUmVsZWFzZS8qLmJpbiIgdXNyL2xpYi9jaHJvbWl1 bQogCXZjb3B5ICJvdXQvUmVsZWFzZS8qLnBhayIgdXNyL2xpYi9jaHJvbWl1bQo= --===============2212791392841532301==--