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 16865 invoked from network); 16 Nov 2021 19:53:24 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 16 Nov 2021 19:53:24 -0000 Content-Type: multipart/mixed; boundary="===============1511062694860593060==" 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: Tue, 16 Nov 2021 20:53:24 +0100 List-Id: Message-ID: <20211116195324.2NrLA-YdQl-cAC_hOZnGWg7_PGun7iIDC51gm5VoNKw@z> GitHub notification mails are now in MIME to allow UTF8. --===============1511062694860593060== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTk2Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zNDA5NAoKY2hyb21pdW06IHVwZGF0ZSB0byA5Ni4wLjQ2 NjQuNDUuCi0gZW5hYmxlIGFhcmNoNjQqIGNyb3NzIGJ1aWxkDQotIHVzZSBgLWZkZWJ1Zy1wcmVm aXgtbWFwYCBmb3IgYmV0dGVyIGNjYWNoZSBoaXRzIHdpdGggLW8gZGVidWcNCg0KW2NpIHNraXBd DQoNCiogW3hdIHg4Nl82NC1nbGliYw0KKiBbeF0geDg2XzY0LW11c2wNCiogW3hdIGk2ODYtZ2xp YmMNCiogW3hdIGFhcmNoNjQtbXVzbAoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM0MDk0LnBhdGNoIGlzIGF0dGFjaGVk --===============1511062694860593060== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-96-34094.patch" RnJvbSA3OWNlZTJiZDc3Y2YyM2U1ZjE0MzE4MjM2ZGNhYzMxNDgxN2RkMDU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFN1biwgMjYgU2VwIDIwMjEgMTU6NDc6MjkgKzAyMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDk2LjAuNDY2NC40NS4KCi0gZW5hYmxlIGFhcmNoNjQqIGNyb3NzIGJ1aWxk Ci0gdXNlIC1mZGVidWctcHJlZml4LW1hcCBmb3IgYmV0dGVyIGNjYWNoZSBoaXRzIHdpdGggLW8g ZGVidWcKLS0tCiAuLi4vbXVzbC1wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggICAg fCAgIDYgKy0KIC4uLi9wYXRjaGVzL2Nocm9taXVtLTk1LWhhcmZidXp6LTMucGF0Y2ggICAgICB8 ICAzMSAtCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS05NS1xdWljaGUtaW5jbHVkZS5wYXRjaCAgfCAg MjUgLQogLi4uL2Nocm9taXVtLTk2LUNvbW1hbmRMaW5lLWluY2x1ZGUucGF0Y2ggICAgIHwgIDI0 ICsKIC4uLi9jaHJvbWl1bS05Ni1Db3Vwb25EQi1pbmNsdWRlLnBhdGNoICAgICAgICB8ICAyNSAr CiAuLi5tLTk2LURybVJlbmRlck5vZGVQYXRoRmluZGVyLWluY2x1ZGUucGF0Y2ggfCAgMjQgKwog Li4uaXVtLTk2LVJlc3RyaWN0ZWRDb29raWVNYW5hZ2VyLXR1cGxlLnBhdGNoIHwgIDMxICsKIHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5wYXRjaCAgICB8ICA2NSArKwogLi4u L3BhdGNoZXMvb3pvbmUteDExLWZpeC1WQS1BUEkucGF0Y2ggICAgICAgIHwgNjcxIC0tLS0tLS0t LS0tLS0tLS0tLQogc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3B5dGhvbjMuMTAucGF0Y2ggICAg IHwgIDU3IC0tCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvc25kaW8ucGF0Y2ggICAgICAgICAg fCAgIDkgLQogLi4uLXZpc2liaWxpdHktb2YtYnVpbGQtY29uZmlnLWZyZWV0eXBlLnBhdGNoIHwg IDMxICsKIC4uLi9wYXRjaGVzL3VuYnVuZGxlZC1jcm9zcy10b29sY2hhaW4ucGF0Y2ggICB8ICAx MiArCiAuLi4vcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoICAgICAgICAgfCAgIDYg Ky0KIHNyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8IDEzOCAr KystCiAxNSBmaWxlcyBjaGFuZ2VkLCAzMjIgaW5zZXJ0aW9ucygrKSwgODMzIGRlbGV0aW9ucygt 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 eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCmluZGV4IGQxMDlhZWI1Yjk1Yy4uMDYxMDkyMzdiNzk0 IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9y dC5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9y dC5wYXRjaApAQCAtMjEyNSw4ICsyMTI1LDggQEAgZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmggYi8KIGlu ZGV4IGQ0YWI5MzZlZS4uMWQyMmZjNTljIDEwMDY0NAogLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAogKysrIGIvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0 ZXIuaAotQEAgLTMxNSw2ICszMTUsNDUgQEAgY2xhc3MgTWluaWR1bXBDb250ZXh0TUlQUzY0V3Jp dGVyIGZpbmFsIDogcHVibGljIE1pbmlkdW1wQ29udGV4dFdyaXRlciB7Ci0gICBESVNBTExPV19D T1BZX0FORF9BU1NJR04oTWluaWR1bXBDb250ZXh0TUlQUzY0V3JpdGVyKTsKK0BAIC0zMTUsNiAr MzE1LDQzIEBAIGNsYXNzIE1pbmlkdW1wQ29udGV4dE1JUFM2NFdyaXRlciBmaW5hbCA6IHB1Ymxp YyBNaW5pZHVtcENvbnRleHRXcml0ZXIgeworICAgTWluaWR1bXBDb250ZXh0TUlQUzY0IGNvbnRl eHRfOwogIH07CiAgCiArY2xhc3MgTWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIgZmluYWwgOiBw dWJsaWMgTWluaWR1bXBDb250ZXh0V3JpdGVyIHsKQEAgLTIxNjQsOCArMjE2NCw2IEBAIGluZGV4 IGQ0YWI5MzZlZS4uMWQyMmZjNTljIDEwMDY0NAogKwogKyBwcml2YXRlOgogKyAgTWluaWR1bXBD b250ZXh0UFBDNjQgY29udGV4dF87Ci0rCi0rICBESVNBTExPV19DT1BZX0FORF9BU1NJR04oTWlu aWR1bXBDb250ZXh0UFBDNjRXcml0ZXIpOwogK307CiArCiAgfSAgLy8gbmFtZXNwYWNlIGNyYXNo cGFkCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlIGIvc3JjcGtncy9jaHJv bWl1bS90ZW1wbGF0ZQppbmRleCBkZmU0Mjc0ODlmOGYuLmZmNmViODAzYWRlYiAxMDA2NDQKLS0t IGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nocm9taXVtL3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY2hyb21pdW0nCiBwa2du YW1lPWNocm9taXVtCiAjIFNlZSBodHRwczovL2Nocm9taXVtZGFzaC5hcHBzcG90LmNvbS9yZWxl YXNlcz9wbGF0Zm9ybT1MaW51eCBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uCi12ZXJzaW9uPTk1LjAu NDYzOC41NAordmVyc2lvbj05Ni4wLjQ2NjQuNDUKIHJldmlzaW9uPTEKIGFyY2hzPSJpNjg2KiB4 ODZfNjQqIGFhcmNoNjQqIGFybXY3bCogcHBjNjRsZSoiCiBzaG9ydF9kZXNjPSJHb29nbGUncyBh dHRlbXB0IGF0IGNyZWF0aW5nIGEgc2FmZXIsIGZhc3RlciwgYW5kIG1vcmUgc3RhYmxlIGJyb3dz ZXIiCkBAIC05LDggKzksNyBAQCBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRs aW51eC5vcmc+IgogbGljZW5zZT0iQlNELTMtQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3 LmNocm9taXVtLm9yZy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29v Z2xlYXBpcy5jb20vY2hyb21pdW0tYnJvd3Nlci1vZmZpY2lhbC8ke3BrZ25hbWV9LSR7dmVyc2lv bn0udGFyLnh6IgotY2hlY2tzdW09M2VlZjg4ZDc0NWU2ZGRhZWFmNTA3MzU4ZjE1MTA0ODJkNmYz OTljZjMzNTA2MWJiMTIyNmE1ZjcxMjAwNjFmZAotbm9jcm9zcz15ZXMKK2NoZWNrc3VtPTQ4OGM2 YWQ5ODNlYmY3NzgxY2I0ZDcwNGY3MDQ5NmU4YWEyMTY1NjExYjQ2NjU2ZDdhYTYyZjI2OWM3NjA0 MDcKIAogbGliMzJkaXNhYmxlZD15ZXMKIApAQCAtMjQsOCArMjMsOCBAQCBkZXNjX29wdGlvbl9w dWxzZWF1ZGlvPSJFbmFibGUgc3VwcG9ydCBmb3IgUHVsc2VBdWRpbyIKIGRlc2Nfb3B0aW9uX3Nu ZGlvPSJFbmFibGUgc3VwcG9ydCBmb3Igc25kaW8iCiBkZXNjX29wdGlvbl9waXBld2lyZT0iRW5h YmxlIHN1cHBvcnQgZm9yIHNjcmVlbiBzaGFyaW5nIGZvciBXZWJSVEMgdmlhIFBpcGVXaXJlIgog Ci1ob3N0bWFrZWRlcGVuZHM9IiQodm9wdF9pZiBjbGFuZyAiY2xhbmcgbGxkIGxsdm0xMiIpIHB5 dGhvbiBwa2djb25mIHBlcmwgZ3BlcmYgYmlzb24gbmluamEgbm9kZWpzIGh3aWRzCi0gbGliYXRv bWljLWRldmVsIGxpYmV2ZW50LWRldmVsIGxpYmdsaWItZGV2ZWwgJCh2b3B0X2lmIGpzX29wdGlt aXplIG9wZW5qZGspIgoraG9zdG1ha2VkZXBlbmRzPSIkKHZvcHRfaWYgY2xhbmcgImNsYW5nIGxs ZCBsbHZtMTIiKSBweXRob24gcHl0aG9uMyBwa2djb25mIHBlcmwgZ3BlcmYgYmlzb24gbmluamEg bm9kZWpzIGh3aWRzCisgbGliYXRvbWljLWRldmVsIGxpYmV2ZW50LWRldmVsIGxpYmdsaWItZGV2 ZWwgJCh2b3B0X2lmIGpzX29wdGltaXplIG9wZW5qZGspIHdheWxhbmQtZGV2ZWwgbGliZXBveHkt ZGV2ZWwiCiBtYWtlZGVwZW5kcz0ibGlicG5nLWRldmVsIGd0aystZGV2ZWwgZ3RrKzMtZGV2ZWwg bnNzLWRldmVsIHBjaXV0aWxzLWRldmVsCiAgbGliWGktZGV2ZWwgbGliZ2NyeXB0LWRldmVsIGxp Ymdub21lLWtleXJpbmctZGV2ZWwgY3Vwcy1kZXZlbCBlbGZ1dGlscy1kZXZlbAogIGxpYlhjb21w b3NpdGUtZGV2ZWwgc3BlZWNoLWRpc3BhdGNoZXItZGV2ZWwgbGliWHJhbmRyLWRldmVsIG1pdC1r cmI1LWRldmVsCkBAIC0zNCw4ICszMyw5IEBAIG1ha2VkZXBlbmRzPSJsaWJwbmctZGV2ZWwgZ3Rr Ky1kZXZlbCBndGsrMy1kZXZlbCBuc3MtZGV2ZWwgcGNpdXRpbHMtZGV2ZWwKICBsaWJYY3Vyc29y LWRldmVsIGxpYmZsYWMtZGV2ZWwgc3BlZXgtZGV2ZWwgbGlibXRwLWRldmVsIGxpYndlYnAtZGV2 ZWwKICBsaWJqcGVnLXR1cmJvLWRldmVsIGxpYmV2ZW50LWRldmVsIGpzb24tYy1kZXZlbCBoYXJm YnV6ei1kZXZlbAogIG1pbml6aXAtZGV2ZWwganNvbmNwcC1kZXZlbCB6bGliLWRldmVsIGxpYmNh cC1kZXZlbCBsaWJYZGFtYWdlLWRldmVsCi0gcmUyLWRldmVsIGZvbnRjb25maWctZGV2ZWwgZnJl ZXR5cGUtZGV2ZWwgb3B1cy1kZXZlbAorIHJlMi1kZXZlbCBmb250Y29uZmlnLWRldmVsIGZyZWV0 eXBlLWRldmVsIG9wdXMtZGV2ZWwgbGliYXRvbWljLWRldmVsCiAgZmZtcGVnLWRldmVsIGxpYnZh LWRldmVsIHB5dGhvbi1zZXR1cHRvb2xzIHhjYi1wcm90byBsaWJjdXJsLWRldmVsCisgbGlieHNo bWZlbmNlLWRldmVsCiAgJCh2b3B0X2lmIHBpcGV3aXJlIHBpcGV3aXJlLWRldmVsKSAkKHZvcHRf aWYgc25kaW8gc25kaW8tZGV2ZWwpIgogZGVwZW5kcz0ibGliZXhpZiBod2lkcyBkZXNrdG9wLWZp bGUtdXRpbHMgaGljb2xvci1pY29uLXRoZW1lIHhkZy11dGlscyIKIApAQCAtNDMsNiArNDMsMjYg QEAgY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCiAJcHBjNjQqLW11c2wpIG1ha2VkZXBl bmRzKz0iIGxpYnVjb250ZXh0LWRldmVsIiA7OwogZXNhYwogCitpZiBbICIkQ1JPU1NfQlVJTEQi IF07IHRoZW4KKwlob3N0bWFrZWRlcGVuZHMrPSIgbGliWDExLWRldmVsIGxpYnhjYi1kZXZlbCBw Y2l1dGlscy1kZXZlbCBsaWJYZXh0LWRldmVsIGxpYmdsdm5kLWRldmVsCisJIGxpYmpwZWctdHVy Ym8tZGV2ZWwgbGliWGktZGV2ZWwgbnNzLWRldmVsIGxpYnBuZy1kZXZlbCBsaWJ3ZWJwLWRldmVs IGhhcmZidXp6LWRldmVsCisJIGxpYnhtbDItZGV2ZWwgJCh2b3B0X2lmIHB1bHNlYXVkaW8gcHVs c2VhdWRpby1kZXZlbCkgbGlieHNsdC1kZXZlbCBsaWJ4a2Jjb21tb24tZGV2ZWwKKwkgJCh2b3B0 X2lmIHBpcGV3aXJlIHBpcGV3aXJlLWRldmVsKSBmZm1wZWctZGV2ZWwgb3B1cy1kZXZlbCBwYW5n by1kZXZlbCBsaWJ2YS1kZXZlbAorCSBsaWJjdXJsLWRldmVsIHNuYXBweS1kZXZlbCByZTItZGV2 ZWwgbGliWHJhbmRyLWRldmVsIGxpYlhjb21wb3NpdGUtZGV2ZWwgY3Vwcy1kZXZlbAorCSBtaXQt a3JiNS1kZXZlbCBhbHNhLWxpYi1kZXZlbCBsaWJYZGFtYWdlLWRldmVsIGxpYmVwb3h5LWRldmVs IgorZmkKKworaWYgWyAhICIkWEJQU19XT1JEU0laRSIgPSAiJFhCUFNfVEFSR0VUX1dPUkRTSVpF IiBdOyB0aGVuCisJYnJva2VuPSJjaHJvbWl1bSAodjgpIGNhbiBvbmx5IGJlIGNyb3NzIGNvbXBp bGVkIGlmIHdvcmQgc2l6ZSBtYXRjaGVzIgorZmkKKworaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0 aGVuCisJY2FzZSAiJHtYQlBTX1RBUkdFVF9NQUNISU5FfSIgaW4KKwkJYWFyY2g2NCopIDs7CisJ CSopIG5vY3Jvc3M9ImNocm9taXVtIGNhbiBub3QgYmUgY3Jvc3MgY29tcGlsZWQgZm9yIHRoaXMg YXJjaGl0ZWN0dXJlIiA7OworCWVzYWMKK2ZpCisKIHBvc3RfcGF0Y2goKSB7CiAJaWYgWyAiJFhC UFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07IHRoZW4KIAkJZm9yIGYgaW4gIiR7RklMRVNESVJ9 Ii9tdXNsLXBhdGNoZXMvKi5wYXRjaDsgZG8KQEAgLTcxLDIwICs5MSw1NyBAQCBwb3N0X3BhdGNo KCkgewogCXZzZWQgLWkgJ3MvT0ZGSUNJQUxfQlVJTEQvR09PR0xFX0NIUk9NRV9CVUlMRC8nIFwK IAkJdG9vbHMvZ2VuZXJhdGVfc2hpbV9oZWFkZXJzL2dlbmVyYXRlX3NoaW1faGVhZGVycy5weQog fQotZG9fY29uZmlndXJlKCkgewotCWxvY2FsIHN5c3RlbT0iIiBjb25mPSgpCi0JZXhwb3J0IC1u IENGTEFHUyBDWFhGTEFHUyBMREZMQUdTCiAKK19zZXR1cF9jbGFuZygpIHsKKwlsb2NhbCBnY2Nf dmVyc2lvbj0kKGdjYyAtZHVtcHZlcnNpb24pCisJbG9jYWwgY2xhbmdfdmVyc2lvbj0kKGNsYW5n IC1kdW1wdmVyc2lvbikKKwlleHBvcnQgQ0M9Y2xhbmcKKwlleHBvcnQgQ1hYPWNsYW5nKysKKwll eHBvcnQgQVI9bGx2bS1hcgorCWV4cG9ydCBOTT1sbHZtLW5tCisJZXhwb3J0IENGTEFHUz0iLVdu by11bmtub3duLXdhcm5pbmctb3B0aW9uIgorCWV4cG9ydCBDWFhGTEFHUz0iLVduby11bmtub3du LXdhcm5pbmctb3B0aW9uIgorCWV4cG9ydCBMREZMQUdTPSIiCisJZXhwb3J0IEJVSUxEX0NDPWNs YW5nCisJZXhwb3J0IEJVSUxEX0NYWD1jbGFuZysrCisJZXhwb3J0IEJVSUxEX0FSPWxsdm0tYXIK KwlleHBvcnQgQlVJTERfTk09bGx2bS1ubQorCWV4cG9ydCBCVUlMRF9DRkxBR1M9Ii1Xbm8tdW5r bm93bi13YXJuaW5nLW9wdGlvbiIKKwlleHBvcnQgQlVJTERfQ1hYRkxBR1M9Ii1Xbm8tdW5rbm93 bi13YXJuaW5nLW9wdGlvbiIKKwlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwkJQ0ZMQUdT Kz0iIC0tZ2NjLXRvb2xjaGFpbj0vdXNyIgorCQlDRkxBR1MrPSIgLS1zeXNyb290PSR7WEJQU19D Uk9TU19CQVNFfSIKKwkJQ0ZMQUdTKz0iIC1ub3N0ZGluYyIKKwkJQ0ZMQUdTKz0iIC1pc3lzdGVt ICR7WEJQU19DUk9TU19CQVNFfS91c3IvaW5jbHVkZSIKKwkJQ0ZMQUdTKz0iIC1pc3lzdGVtIC91 c3IvbGliL2NsYW5nLyR7Y2xhbmdfdmVyc2lvbn0vaW5jbHVkZSIKKwkJQ1hYRkxBR1MrPSIgLS1n Y2MtdG9vbGNoYWluPS91c3IiCisJCUNYWEZMQUdTKz0iIC0tc3lzcm9vdD0ke1hCUFNfQ1JPU1Nf QkFTRX0iCisJCUNYWEZMQUdTKz0iIC1ub3N0ZGluYysrIgorCQlDWFhGTEFHUys9IiAtaXN5c3Rl bSAke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2luY2x1ZGUvYysrLyR7Z2NjX3ZlcnNpb24lLip9Igor CQlDWFhGTEFHUys9IiAtaXN5c3RlbSAke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2luY2x1ZGUvYysr LyR7Z2NjX3ZlcnNpb24lLip9LyR7WEJQU19DUk9TU19UUklQTEVUfSIKKwkJQ1hYRkxBR1MrPSIg LWlzeXN0ZW0gJHtYQlBTX0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlL2MrKy8ke2djY192ZXJzaW9u JS4qfS9iYWNrd2FyZCIKKwkJQ1hYRkxBR1MrPSIgLW5vc3RkaW5jIgorCQlDWFhGTEFHUys9IiAt aXN5c3RlbSAke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2luY2x1ZGUiCisJCUNYWEZMQUdTKz0iIC1p c3lzdGVtIC91c3IvbGliL2NsYW5nLyR7Y2xhbmdfdmVyc2lvbn0vaW5jbHVkZSIKKwkJTERGTEFH Uys9IiAtLWdjYy10b29sY2hhaW49L3VzciAtLXN5c3Jvb3Q9JHtYQlBTX0NST1NTX0JBU0V9Igor CWZpCit9CisKK19zZXR1cF90b29sY2hhaW4oKSB7CiAJaWYgWyAiJGJ1aWxkX29wdGlvbl9jbGFu ZyIgXTsgdGhlbgotCQlleHBvcnQgQ0M9Y2xhbmcKLQkJZXhwb3J0IENYWD1jbGFuZysrCisJCV9z ZXR1cF9jbGFuZwogCWZpCisJQ1hYRkxBR1MrPSIgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR3cmtzcmM9 LiIKKwlDRkxBR1MrPSIgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR3cmtzcmM9LiIKK30KIAotCWV4cG9y dCBMREZMQUdTPSItcHRocmVhZCIKK2RvX2NvbmZpZ3VyZSgpIHsKKwlsb2NhbCBzeXN0ZW09IiIg Y29uZj0oKQogCiAJIyBjb21waWxlIGduIGVhcmx5LCBzbyBpdCBjYW4gYmUgdXNlZCB0byBnZW5l cmF0ZSBnbmkgc3R1ZmYKIAlBUj0iYXIiIENDPSRDQ19GT1JfQlVJTEQgQ1hYPSRDWFhfRk9SX0JV SUxEIExEPSRDWFhfRk9SX0JVSUxEIFwKLQl0b29scy9nbi9ib290c3RyYXAvYm9vdHN0cmFwLnB5 IC0tc2tpcC1nZW5lcmF0ZS1idWlsZGZpbGVzCisJCUNGTEFHUz0kQ0ZMQUdTX0ZPUl9CVUlMRCBD WFhGTEFHUz0kQ1hYRkxBR1NfRk9SX0JVSUxEIExERkxBR1M9JExERkxBR1NfRk9SX0JVSUxEIFwK KwkJdG9vbHMvZ24vYm9vdHN0cmFwL2Jvb3RzdHJhcC5weSAtLXNraXAtZ2VuZXJhdGUtYnVpbGRm aWxlcwogCiAJIyB3ZSBuZWVkIHRvIGdlbmVyYXRlIHBwYzY0IHN0dWZmIGZvciBsaWJ2cHggYXMg aXQncyBub3Qgc2hpcHBlZAogCSMgdGhpcyBoYXMgdG8gYmUgZG9uZSBiZWZvcmUgdW5idW5kbGlu ZywgYnV0IGFmdGVyIGduIGlzIGJ1aWx0CkBAIC0xNTQsOCArMjExLDggQEAgZG9fY29uZmlndXJl KCkgewogCQknZW5hYmxlX25hY2xfbm9uc2ZpPWZhbHNlJwogCiAJCSd1c2Vfc3lzcm9vdD1mYWxz ZScKLQkJJ2N1c3RvbV90b29sY2hhaW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxl OmRlZmF1bHQiJwotCQknaG9zdF90b29sY2hhaW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3Vu YnVuZGxlOmRlZmF1bHQiJworCisJCSdob3N0X3BrZ19jb25maWc9Ii91c3IvYmluL3BrZy1jb25m aWciJwogCiAJCSJpc19jbGFuZz0kKHZvcHRfaWYgY2xhbmcgdHJ1ZSBmYWxzZSkiCiAJCSJ1c2Vf bGxkPSQodm9wdF9pZiBjbGFuZyB0cnVlIGZhbHNlKSIKQEAgLTE4MSw2ICsyMzgsNyBAQCBkb19j b25maWd1cmUoKSB7CiAJCSdlbmFibGVfaGFuZ291dF9zZXJ2aWNlc19leHRlbnNpb249dHJ1ZScK IAogCQkndXNlX3N5c3RlbV9oYXJmYnV6ej10cnVlJworCQkndXNlX3N5c3RlbV93YXlsYW5kX3Nj YW5uZXI9dHJ1ZScKIAogCQkndXNlX2N1cHM9dHJ1ZScKIApAQCAtMjIwLDExICsyNzgsMjggQEAg ZG9fY29uZmlndXJlKCkgewogCQknY2hyb21lX3Bnb19waGFzZT0wJwogCSkKIAorCWlmIFsgIiRD Uk9TU19CVUlMRCIgXTsgdGhlbgorCQljb25mKz0oCisJCQknY3VzdG9tX3Rvb2xjaGFpbj0iLy9i dWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdCInCisJCQknaG9zdF90b29sY2hh aW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmhvc3QiJworCQkJJ3Y4X3NuYXBz aG90X3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6djhfc25hcHNo b3RfY3Jvc3MiJworCQkpCisJZWxzZQorCQljb25mKz0oCisJCQknY3VzdG9tX3Rvb2xjaGFpbj0i Ly9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6ZGVmYXVsdCInCisJCQknaG9zdF90b29s Y2hhaW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQiJworCQkpCisJ ZmkKKwogCSMgdGhpcyBkb2VzIG5vdCB3b3JrIG9uIHBwYzY0IHlldAogCWNhc2UgIiRYQlBTX1RB UkdFVF9NQUNISU5FIiBpbgogCQlwcGM2NCopIGNvbmYrPSggImVuYWJsZV9qeGxfZGVjb2Rlcj1m YWxzZSIgKTs7CiAJZXNhYwogCisJaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07 IHRoZW4KKwkJY29uZis9KCAnaXNfbXVzbD10cnVlJyApCisJZmkKKwogCWNhc2UgIiR7WEJQU19U QVJHRVRfTUFDSElORX0iIGluCiAJCXg4Nl82NCopIGNvbmYrPSggJ3RhcmdldF9jcHU9Ing2NCIn ICkgOzsKIAkJaTY4NiopIGNvbmYrPSggJ3RhcmdldF9jcHU9Ing4NiInICkgOzsKQEAgLTIzMywz NSArMzA4LDMyIEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAkJcHBjNjQqKSBjb25mKz0oICd0YXJnZXRf Y3B1PSJwcGM2NCInICkgOzsKIAllc2FjCiAKLQlpZiBbICIkYnVpbGRfb3B0aW9uX2NsYW5nIiBd OyB0aGVuCi0JCWV4cG9ydCBDQz1jbGFuZwotCQlleHBvcnQgQ1hYPWNsYW5nKysKLQkJZXhwb3J0 IEFSPWxsdm0tYXIKLQkJZXhwb3J0IE5NPWxsdm0tbm0KLQkJZXhwb3J0IENGTEFHUz0iLVduby11 bmtub3duLXdhcm5pbmctb3B0aW9uIgotCQlleHBvcnQgQ1hYRkxBR1M9Ii1Xbm8tdW5rbm93bi13 YXJuaW5nLW9wdGlvbiIKKwlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwkJY2FzZSAiJHtY QlBTX01BQ0hJTkV9IiBpbgorCQkJeDg2XzY0KikgY29uZis9KCAnaG9zdF9jcHU9Ing2NCInICkg OzsKKwkJCWk2ODYqKSBjb25mKz0oICdob3N0X2NwdT0ieDg2IicgKSA7OworCQkJYXJtKikgY29u Zis9KCAnaG9zdF9jcHU9ImFybSInICkgOzsKKwkJCWFhcmNoNjQqKSBjb25mKz0oICdob3N0X2Nw dT0iYXJtNjQiJyApIDs7CisJCQlwcGM2NCopIGNvbmYrPSggJ2hvc3RfY3B1PSJwcGM2NCInICkg OzsKKwkJZXNhYwogCWZpCi0KKwlfc2V0dXBfdG9vbGNoYWluCiAJb3V0L1JlbGVhc2UvZ24gZ2Vu IG91dC9SZWxlYXNlIC0tYXJncz0iJHtjb25mWypdfSIKIH0KLWRvX2J1aWxkKCkgewotCWlmIFsg IiRidWlsZF9vcHRpb25fY2xhbmciIF07IHRoZW4KLQkJZXhwb3J0IENDPWNsYW5nCi0JCWV4cG9y dCBDWFg9Y2xhbmcrKwotCQlleHBvcnQgQVI9bGx2bS1hcgotCQlleHBvcnQgTk09bGx2bS1ubQot CQlleHBvcnQgQ0ZMQUdTPSItV25vLXVua25vd24td2FybmluZy1vcHRpb24iCi0JCWV4cG9ydCBD WFhGTEFHUz0iLVduby11bmtub3duLXdhcm5pbmctb3B0aW9uIgotCWZpCiAKLQluaW5qYSAtQyBv dXQvUmVsZWFzZSAke21ha2Vqb2JzfSBjaHJvbWUgY2hyb21lZHJpdmVyIG1rc25hcHNob3QgY2hy b21lX2NyYXNocGFkX2hhbmRsZXIKK2RvX2J1aWxkKCkgeworCV9zZXR1cF90b29sY2hhaW4KKwlu aW5qYSAtQyBvdXQvUmVsZWFzZSAke21ha2Vqb2JzfSBjaHJvbWUgY2hyb21lZHJpdmVyIGNocm9t ZV9jcmFzaHBhZF9oYW5kbGVyCiB9CisKIGRvX2luc3RhbGwoKSB7CiAJdmluc3RhbGwgb3V0L1Jl bGVhc2UvY2hyb21lIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gJHtwa2duYW1lfQogCXZpbnN0YWxs IG91dC9SZWxlYXNlL2Nocm9tZV9jcmFzaHBhZF9oYW5kbGVyIDc1NSB1c3IvbGliLyR7cGtnbmFt ZX0gY2hyb21lX2NyYXNocGFkX2hhbmRsZXIKIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9jaHJvbWVk cml2ZXIgNzU1IHVzci9saWIvJHtwa2duYW1lfSBjaHJvbWVkcml2ZXIKIAl2aW5zdGFsbCBvdXQv UmVsZWFzZS9saWJFR0wuc28gNzU1IHVzci9saWIvJHtwa2duYW1lfSBsaWJFR0wuc28KIAl2aW5z dGFsbCBvdXQvUmVsZWFzZS9saWJHTEVTdjIuc28gNzU1IHVzci9saWIvJHtwa2duYW1lfSBsaWJH TEVTdjIuc28KKwl2aW5zdGFsbCBvdXQvUmVsZWFzZS9saWJ2a19zd2lmdHNoYWRlci5zbyA3NTUg dXNyL2xpYi8ke3BrZ25hbWV9IGxpYnZrX3N3aWZ0c2hhZGVyLnNvCisJdmluc3RhbGwgb3V0L1Jl bGVhc2Uvdmtfc3dpZnRzaGFkZXJfaWNkLmpzb24gNzU1IHVzci9saWIvJHtwa2duYW1lfSB2a19z d2lmdHNoYWRlcl9pY2QuanNvbgogCiAJdmNvcHkgIm91dC9SZWxlYXNlLyouYmluIiB1c3IvbGli L2Nocm9taXVtCiAJdmNvcHkgIm91dC9SZWxlYXNlLyoucGFrIiB1c3IvbGliL2Nocm9taXVtCg== --===============1511062694860593060==--