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 21635 invoked from network); 23 Feb 2023 01:00:24 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 23 Feb 2023 01:00:24 -0000 Content-Type: multipart/mixed; boundary="===============0447976984819770616==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_Calibre=3A_update_to_6=2E2=2E1?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 23 Feb 2023 02:00:23 +0100 List-Id: Message-ID: <20230223010023.L6cGHiC_qHTHaWLEaeUFEYj8NgXJVUC26BzQt9d2TL8@z> GitHub notification mails are now in MIME to allow UTF8. --===============0447976984819770616== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2duIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9zZ24vdm9p ZC1wYWNrYWdlcyBjYWxpYnJlCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC8zODUzNQoKQ2FsaWJyZTogdXBkYXRlIHRvIDYuMi4xCjwhLS0gVW5jb21tZW50 IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3aGljaCBhcmUgbm90IGFwcGxp Y2FibGUgLS0+DQoNCltjaSBza2lwXSBAc2ttcHogDQpEZXBlbmRzIG9uIGh0dHBzOi8vZ2l0aHVi LmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zODUwOQ0KDQojIyMjIFRlc3Rpbmcg dGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5 KioNCg0KPCEtLQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1z IHRvIHRoZSBbcXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1l bnRzKTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBs aWtlbHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBh cyBkZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFu ZCB0ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxl YXN0IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBu b3Qgc2tpcHBpbmcgQ0kuDQotLT4NCjwhLS0NCiMjIyMgTG9jYWwgYnVpbGQgdGVzdGluZw0KLSBJ IGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gt TElCQykNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMg KGlmIHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsDQogIC0g YXJtdjdsDQogIC0gYXJtdjZsLW11c2wNCi0tPg0KCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczov L2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzg1MzUucGF0Y2ggaXMg YXR0YWNoZWQ= --===============0447976984819770616== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-calibre-38535.patch" RnJvbSA1YWZlNzI5MDdhZDQ1YmQ1YTk1NzkzOGJlZjNmMTNmNDcyMTBlNzFkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogU3Vu LCAxMSBEZWMgMjAyMiAyMTo0OTo1MyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMS85XSBrbGliYzog dXBkYXRlIHRvIDIuMC4xMi4KCi0tLQogc3JjcGtncy9rbGliYy9maWxlcy9pbml0cmFtZnMtdG9v bHMtaG9va3MgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9rbGliYy90ZW1w bGF0ZSAgICAgICAgICAgICAgICAgICAgfCAgNiArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDM4IGlu c2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA3NTUgc3JjcGtncy9r bGliYy9maWxlcy9pbml0cmFtZnMtdG9vbHMtaG9va3MKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ts aWJjL2ZpbGVzL2luaXRyYW1mcy10b29scy1ob29rcyBiL3NyY3BrZ3Mva2xpYmMvZmlsZXMvaW5p dHJhbWZzLXRvb2xzLWhvb2tzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAwMDAw MC4uYjIwYTA5NjhhMmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9rbGliYy9maWxlcy9p bml0cmFtZnMtdG9vbHMtaG9va3MKQEAgLTAsMCArMSwzNCBAQAorIyEvYmluL3NoCisKK3ByZXJl cXMoKQoreworCWlmIFsgIiR7QlVTWUJPWH0iID0gIm4iIF0gfHwgWyAhIC1mICIke0JVU1lCT1hf RVhFQ1VUQUJMRX0iIF07IHRoZW4KKwkJZWNobyAnJworCWVsc2UKKwkJIyBFbnN1cmUgYnVzeWJv eCBpbnN0YWxscyBhbGwgaXRzIGNvbW1hbmRzIGJlZm9yZQorCQkjIGNoZWNraW5nIHdoYXQgd2Ug c2hvdWxkIHByb3ZpZGUKKwkJZWNobyB6ei1idXN5Ym94CisJZmkKK30KKworY2FzZSAkMSBpbgor cHJlcmVxcykKKwlwcmVyZXFzCisJZXhpdCAwCisJOzsKK2VzYWMKKworZm9yIHNyYyBpbiAvdXNy L2xpYi9rbGliYy9iaW4vKjsgZG8KKwljb21tYW5kPSIke3NyYyMjKi99IgorCWNhc2UgIiRzcmMi IGluCisJZ3ppcCB8IGtpbml0IHwgemNhdCkKKwkJOzsKKwkqKQorCQkjIERvbid0IGluc3RhbGwg Y29tbWFuZHMgdGhhdCBhbHJlYWR5IGV4aXN0IGluIC9iaW4gb3IgL3NiaW4KKwkJaWYgISBbIC1l ICIke0RFU1RESVJ9L3NiaW4vJGNvbW1hbmQiIF07IHRoZW4KKwkJCWNwIC1wbkwgIiRzcmMiICIk e0RFU1RESVJ9L2JpbiIKKwkJZmkKKwkJOzsKKwllc2FjCitkb25lCitjcCAtcEwgL2xpYi9rbGli Yy0qLnNvICIke0RFU1RESVJ9L2xpYiIKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva2xpYmMvdGVtcGxh dGUgYi9zcmNwa2dzL2tsaWJjL3RlbXBsYXRlCmluZGV4IGI1Yjc1N2QyNzQ1Yi4uNTBjNzNkZWI0 NTRlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2tsaWJjL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva2xp YmMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdrbGliYycK IHBrZ25hbWU9a2xpYmMKLXZlcnNpb249Mi4wLjExCit2ZXJzaW9uPTIuMC4xMgogcmV2aXNpb249 MQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIgogbWFrZWRlcGVuZHM9Imtlcm5lbC1saWJjLWhlYWRl cnMiCkBAIC05LDcgKzksNyBAQCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmgg PGNvbmdkYW5ocXhAZ21haWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb25seSIKIGhvbWVwYWdl PSJodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9rbGliYy9rbGliYy5naXQvIgog ZGlzdGZpbGVzPSJodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlicy9rbGliYy9rbGli Yy5naXQvc25hcHNob3Qva2xpYmMtJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT1iYjljNDBm YjliMjAzMzVmYmRjNDQ5MDRkN2M1NzlkNDNlMzljYjBiNTkyNTJlMWE1NmNlNjcxOTRmYjM4NTQx CitjaGVja3N1bT0wMWNjOWRjMzI0NTNiNjY0Yzk5OGQ4MTFmYjY3YmU5NmY4NDI3NDBhM2ZlZGZh Zjc0NmJhYzJiZDM5NDAyMWNkCiAKIF9tYWtlKCkgewogCWxvY2FsIF9hcmNoIF9ta2ZsYWdzPQpA QCAtMTA1LDYgKzEwNSw4IEBAIGRvX2luc3RhbGwoKSB7CiAJZWxzZQogCQl2YmluIGtsY2MvJHtY QlBTX1RSSVBMRVQvdW5rbm93bi0vfS1rbGNjCiAJZmkKKwl2aW5zdGFsbCAke0ZJTEVTRElSfS9p bml0cmFtZnMtdG9vbHMtaG9va3MgNzU1IFwKKwkJdXNyL3NoYXJlL2luaXRyYW1mcy10b29scy9o b29rcyBrbGliYwogfQogCiBrbGliYy1kZXZlbF9wYWNrYWdlKCkgewoKRnJvbSA0N2JmM2NiMjQ2 YWQ1ODRjZDdlNTJjY2FjNzRkN2E0YTQ3N2U5ODg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9 MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3 OjEzOjExICswNzAwClN1YmplY3Q6IFtQQVRDSCAyLzldIE5ldyBwYWNrYWdlOiBxdDYtd2ViZW5n aW5lLTYuMy4xLgoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDcgKwogc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsICAgICAgICAgICAgICAg ICAgIHwgICAxICsKIHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS1leGFtcGxlcyAgICAgICAgICAgICAg ICB8ICAgMSArCiAuLi4vcGF0Y2hlcy8wMDAxLU5vbmUtbm8tZGVidWcucGF0Y2ggICAgICAgICAg fCAgMTEgKwogLi4uL3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoICAgICAgICAgICAgIHwg IDEwICsKIC4uLi9wYXRjaGVzLzAwNTAtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2ggICB8ICAx NCArCiAuLi4vMDEwMC1jaHJvbWl1bS1yZXZlcnQtOWQwODBjMC5wYXRjaCAgICAgICAgfCAxNTQg KysrKwogLi4ub21pdW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNsdWRlLnBhdGNoIHwgIDIw ICsKIC4uLjEwMi1jaHJvbWl1bS0xMDItcmVnZXhfcGF0dGVybi1hcnJheS5wYXRjaCB8ICAxNCAr CiAuLi4wMTAzLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2ggfCAgMjMgKwog Li4uLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoICAgICAgIHwgIDEwICsKIC4u Li1jaHJvbWl1bS1yZXZlcnQtZHJvcC1vZi1zeXN0ZW0tamF2YS5wYXRjaCB8ICAxNSArCiAuLi4v cGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2ggfCAgMjkgKwogLi4uL3Bh dGNoZXMvMDEwNy1jaHJvbWl1bS1jcm9zcy1idWlsZC5wYXRjaCAgIHwgIDY1ICsrCiAuLi4vMDEw OC1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoICAgfCAgMTggKwogLi4uY2hyb21p dW0tYWFyY2g2NC1tdXNsLW1lbW9yeS10YWdnaW5nLnBhdGNoIHwgIDI5ICsKIC4uLmZpeC1taXNz aW5nLVRFTVBfRkFJTFVSRV9SRVRSWS1tYWNyby5wYXRjaCB8ICAyMSArCiAuLi4vcGF0Y2hlcy8w MTExLWNocm9taXVtLWNzdGRpbnQucGF0Y2ggICAgICAgfCAgMTAgKwogLi4uL3BhdGNoZXMvMDEx Mi1jaHJvbWl1bS11bmlzdGQuaC5wYXRjaCAgICAgIHwgIDEwICsKIC4uLi8wMTEzLWNocm9taXVt LXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoICAgICB8ICAxNiArCiAuLi4vcGF0Y2hlcy8wMTE0LWRv LW5vdC1uYXJyb3ctaW50LnBhdGNoICAgICAgfCAgNTMgKysKIC4uLjUtY2hyb21pdW0tbm8tY2Fu b25pY2FsaXplLWZpbGUtbmFtZS5wYXRjaCB8ICAxMiArCiAuLi4vMDExNi1jaHJvbWl1bS1tdXNs LWdldC10aHJlYWQtbmFtZS5wYXRjaCAgfCAgMjIgKwogLi4uL3BhdGNoZXMvMDExNy1jaHJvbWl1 bS1tdXNsLXJlc29sdmVyLnBhdGNoIHwgIDY0ICsrCiAuLi4vMDExOS1jaHJvbWl1bS1tdXNsLXN0 YWNrLXV0aWxzLnBhdGNoICAgICAgfCAgMjAgKwogLi4uL3BhdGNoZXMvMDEyMC1jaHJvbWl1bS1s aWJjLW1hbGxvYy5wYXRjaCAgIHwgIDM0ICsKIC4uLi9wYXRjaGVzLzAxMjEtY2hyb21pdW0tbXVz bC1zdGF0LnBhdGNoICAgICB8ICAxMiArCiAuLi4vcGF0Y2hlcy8wMTIyLWNocm9taXVtLWNvbmRp dGlvbl92YXIucGF0Y2ggfCAgMjIgKwogLi4uLzAxMjMtY2hyb21pdW0tbXVzbC1uby1leGVjaW5m by5wYXRjaCAgICAgIHwgIDc1ICsrCiAuLi4vMDEyMy1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRl eHQucGF0Y2ggICAgfCAgMjcgKwogLi4uL3BhdGNoZXMvMDEyNC1jaHJvbWl1bS1lbmFibGUtaTY4 Ni5wYXRjaCAgIHwgIDE3ICsKIC4uLi8wMTI1LWNocm9taXVtLXJlbW92ZS1zdHJpcF9iaW5hcnku cGF0Y2ggICB8ICAzMiArCiAuLi4vcGF0Y2hlcy8wMTI2LWNocm9taXVtLW5vLWNkZWZzLnBhdGNo ICAgICAgfCAgMzkgKwogLi4uLzAxMjgtY2hyb21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNo ICAgIHwgIDEwICsKIC4uLi8wMTI5LWNocm9taXVtLXNhbmRib3gtc2hlZF9nZXRwYXJhbS5wYXRj aCB8ICAyMCArCiAuLi51bmRsZS1mZm1wZWctYXZfc3RyZWFtX2dldF9maXJzdF9kdHMucGF0Y2gg fCAgMTAgKwogLi4uMS1jaHJvbWl1bS11bmJ1bmRsZWQtY3Jvc3MtdG9vbGNoYWluLnBhdGNoIHwg IDEzICsKIC4uLi9wYXRjaGVzLzAxNTItY2hyb21pdW0td2VicnRjLXNpemVfdC5wYXRjaCB8ICAx MCArCiAuLi4vcGF0Y2hlcy8wMTUzLWNocm9taXVtLXdlYnJ0Yy1zaXplX3QucGF0Y2ggfCAgMTYg KwogLi4uL3BhdGNoZXMvMDE1NC1jaHJvbWl1bS11aXRfdC5wYXRjaCAgICAgICAgIHwgIDExICsK IC4uLi9wYXRjaGVzLzAyMDAtY2hyb21pdW0tc25kaW8ucGF0Y2ggICAgICAgICB8IDg0OSArKysr KysrKysrKysrKysrKysKIC4uLi9wYXRjaGVzLzAzMDAtY2hyb21pdW0tbXVzbC1oYWNrcy5wYXRj aCAgICB8ICA1MiArKwogLi4uL3BhdGNoZXMvMDMwMS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0 Y2ggIHwgIDg2ICsrCiAuLi4vcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5vLW1hbGxpbmZvLnBhdGNo ICAgfCAgNjcgKysKIC4uLi9wYXRjaGVzLzA3MDAtYXJtdjdsLW5lb24ucGF0Y2ggICAgICAgICAg ICB8ICAxMCArCiAuLi4tY2hyb21pdW0tbXVzbC1jcm9zcy1uby1hc21fcHRyYWNlX2gucGF0Y2gg fCAgMzAgKwogLi4uLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2ggICAgIHwg IDIwICsKIC4uLi8wNzUyLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2ggICB8ICAx OCArCiAuLi4vcGF0Y2hlcy8wOTAwLWNyb3NzLWJ1aWxkLWV4YW1wbGVzLnBhdGNoICAgfCAgMTYg Kwogc3JjcGtncy9xdDYtd2ViZW5naW5lL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwgMTgzICsr KysKIHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUgICAgICAgICAgICAgICAgICB8ICAgMSAr CiA1MSBmaWxlcyBjaGFuZ2VkLCAyMzI5IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAw MCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dz L3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLU5vbmUtbm8tZGVidWcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAzLWNyb3NzLWhhY2sucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDUwLW5v LWdsaWJjLWNtYWtlLWNoZWNrLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1yZXZlcnQtOWQwODBjMC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDEtY2hyb21p dW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1bS0xMDItcmVnZXhf cGF0dGVybi1hcnJheS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hy b21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNS1jaHJvbWl1bS1yZXZlcnQtZHJvcC1vZi1zeXN0ZW0t amF2YS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMDYtY2hyb21pdW0tc3lzdGVtLW5vZGVqcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDctY2hyb21pdW0tY3Jvc3MtYnVpbGQu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTA4LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA5LWNocm9taXVtLWFhcmNoNjQtbXVz bC1tZW1vcnktdGFnZ2luZy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMTAtY2hyb21pdW0tZml4LW1pc3NpbmctVEVNUF9GQUlMVVJFX1JF VFJZLW1hY3JvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDExMS1jaHJvbWl1bS1jc3RkaW50LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMi1jaHJvbWl1bS11bmlzdGQuaC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTMt Y2hyb21pdW0tcHRocmVhZC1zdGFja3NpemUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE0LWRvLW5vdC1uYXJyb3ctaW50LnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExNS1jaHJv bWl1bS1uby1jYW5vbmljYWxpemUtZmlsZS1uYW1lLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExNi1jaHJvbWl1bS1tdXNsLWdldC10aHJl YWQtbmFtZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTktY2hyb21pdW0tbXVzbC1zdGFj ay11dGlscy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMjAtY2hyb21pdW0tbGliYy1tYWxsb2MucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIxLWNocm9taXVtLW11c2wtc3RhdC5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MjItY2hyb21pdW0tY29uZGl0aW9uX3Zhci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjMtY2hyb21pdW0tbXVzbC1uby1leGVjaW5mby5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MjMtY2hyb21pdW0tbXVzbC1uby1nZXRjb250ZXh0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyNC1jaHJvbWl1bS1lbmFibGUtaTY4Ni5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MjUtY2hyb21pdW0tcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjYtY2hyb21pdW0tbm8tY2RlZnMucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI4 LWNocm9taXVtLXNhbmRib3gtbWVtYmFycmllci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjktY2hyb21pdW0tc2FuZGJveC1zaGVkX2dl dHBhcmFtLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDE1MC1jaHJvbWl1bS11bmJ1bmRsZS1mZm1wZWctYXZfc3RyZWFtX2dldF9maXJzdF9k dHMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTUxLWNocm9taXVtLXVuYnVuZGxlZC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUyLWNocm9taXVtLXdl YnJ0Yy1zaXplX3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTUzLWNocm9taXVtLXdlYnJ0Yy1zaXplX3QucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTU0LWNocm9taXVtLXVpdF90 LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDIwMC1jaHJvbWl1bS1zbmRpby5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDAtY2hyb21pdW0tbXVzbC1oYWNrcy5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDEtY2hyb21pdW0t bXVzbC1zYW5kYm94LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDMwMi1jaHJvbWl1bS1uby1tYWxsaW5mby5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3MDAtYXJtdjdsLW5lb24ucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUw LWNocm9taXVtLW11c2wtY3Jvc3Mtbm8tYXNtX3B0cmFjZV9oLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MS1jaHJvbWl1bS1tdXNsLWFy bS11c2VyX3ZmcC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzA3NTItY2hyb21pdW0tbXVzbC1hcm0tZWxmX2F1eHZfdC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDAtY3Jvc3MtYnVp bGQtZXhhbXBsZXMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdp bmUvdGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdXBk YXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggMjgy ZjA1ODNkMmIxLi5hYzVlYTNiNDZiM2YgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIv Y29tbW9uL3NobGlicwpAQCAtMjA5NCw2ICsyMDk0LDEzIEBAIGxpYlF0NlBvc2l0aW9uaW5nLnNv LjYgcXQ2LWxvY2F0aW9uLTYuMi4wYWxwaGFfMQogbGliUXQ2TXVsdGltZWRpYVdpZGdldHMuc28u NiBxdDYtbXVsdGltZWRpYS02LjMuMV8xCiBsaWJRdDZNdWx0aW1lZGlhUXVpY2suc28uNiBxdDYt bXVsdGltZWRpYS02LjMuMV8xCiBsaWJRdDZNdWx0aW1lZGlhLnNvLjYgcXQ2LW11bHRpbWVkaWEt Ni4zLjFfMQorbGliUXQ2V2ViRW5naW5lUXVpY2suc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEK K2xpYlF0NlBkZldpZGdldHMuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NlBkZlF1 aWNrLnNvLjYgcXQ2LXdlYmVuZ2luZS02LjMuMV8xCitsaWJRdDZXZWJFbmdpbmVDb3JlLnNvLjYg cXQ2LXdlYmVuZ2luZS02LjMuMV8xCitsaWJRdDZQZGYuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4x XzEKK2xpYlF0NldlYkVuZ2luZVF1aWNrRGVsZWdhdGVzUW1sLnNvLjYgcXQ2LXdlYmVuZ2luZS02 LjMuMV8xCitsaWJRdDZXZWJFbmdpbmVXaWRnZXRzLnNvLjYgcXQ2LXdlYmVuZ2luZS02LjMuMV8x CiBsaWJucHRoLnNvLjAgbnB0aC0xLjFfMQogbGlibnB1cG5wLnNvLjkgbGlibnB1cG5wLTUuMC4w XzEKIGxpYmdsZncuc28uMyBnbGZ3LTMuMC40XzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS1kZXZlbCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS1kZXZlbApuZXcgZmlsZSBtb2Rl IDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjhlNGQxYjk5YzU4NwotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS1kZXZlbApAQCAtMCwwICsxIEBACitxdDYtd2ViZW5n aW5lClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2ViZW5naW5lLWV4YW1wbGVzIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lLWV4YW1wbGVzCm5ldyBm aWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uOGU0ZDFiOTljNTg3Ci0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lLWV4YW1wbGVzCkBAIC0wLDAgKzEgQEAK K3F0Ni13ZWJlbmdpbmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLU5vbmUtbm8tZGVidWcucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLU5vbmUtbm8tZGVidWcucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iMjIxZmRjZDM5MmYKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDAxLU5vbmUtbm8t ZGVidWcucGF0Y2gKQEAgLTAsMCArMSwxMSBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3Jp Zy9jbWFrZS9GdW5jdGlvbnMuY21ha2UKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL2NtYWtlL0Z1 bmN0aW9ucy5jbWFrZQorQEAgLTgyMCw2ICs4MjAsOCBAQCBtYWNybyhhcHBlbmRfYnVpbGRfdHlw ZV9zZXR1cCkKKyAgICAgICAgIGVuZGlmKCkKKyAgICAgZWxzZWlmKCR7Y29uZmlnfSBTVFJFUVVB TCAiTWluU2l6ZVJlbCIpCisgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0FyZyBpc19kZWJ1Zz1m YWxzZSBzeW1ib2xfbGV2ZWw9MCBvcHRpbWl6ZV9mb3Jfc2l6ZT10cnVlKQorKyAgICBlbHNlaWYo JHtjb25maWd9IFNUUkVRVUFMICJOb25lIikKKysgICAgICAgIGxpc3QoQVBQRU5EIGduQXJnQXJn IGlzX2RlYnVnPWZhbHNlIHN5bWJvbF9sZXZlbD0wKQorICAgICBlbmRpZigpCisgICAgIGlmKEZF QVRVUkVfZGV2ZWxvcGVyX2J1aWxkIE9SICgke2NvbmZpZ30gU1RSRVFVQUwgIkRlYnVnIikgT1Ig UVRfRkVBVFVSRV93ZWJlbmdpbmVfc2FuaXRpemVyKQorICAgICAgICAgbGlzdChBUFBFTkQgZ25B cmdBcmcKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDMtY3Jv c3MtaGFjay5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDMtY3Jvc3Mt aGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmEzZjBh NTc5MTQwNgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAwMDMtY3Jvc3MtaGFjay5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gcXQ2LXdlYmVuZ2lu ZS02LjQuMi5vcmlnL3NyYy9jb3JlL2FwaS9DTWFrZUxpc3RzLnR4dAorKysrIHF0Ni13ZWJlbmdp bmUtNi40LjIvc3JjL2NvcmUvYXBpL0NNYWtlTGlzdHMudHh0CitAQCAtNTEsNiArNTEsNyBAQCBx dF9pbnRlcm5hbF9hZGRfbW9kdWxlKFdlYkVuZ2luZUNvcmUKKyAgICAgICAgIFF0OjpHdWkKKyAg ICAgICAgIFF0OjpOZXR3b3JrCisgICAgICAgICBRdDo6UXVpY2sKKysgICAgICAgIFgxMQorICkK KyAKKyBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoV2ViRW5naW5lQ29yZSBQUk9QRVJUSUVTIFFUV0VC RU5HSU5FUFJPQ0VTU19OQU1FICR7cXRXZWJFbmdpbmVQcm9jZXNzTmFtZX0pCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDUwLW5vLWdsaWJjLWNtYWtlLWNoZWNr LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFr ZS1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ5 MTE2ZGM1ODU3ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwNTAtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0t IHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9jb25maWd1cmUuY21ha2UKKysrKyBxdDYtd2ViZW5n aW5lLTYuNC4yL2NvbmZpZ3VyZS5jbWFrZQorQEAgLTQ5OSwxMSArNDk5LDYgQEAgYWRkX2NoZWNr X2Zvcl9zdXBwb3J0KAorICkKKyBhZGRfY2hlY2tfZm9yX3N1cHBvcnQoCisgICAgTU9EVUxFUyBR dFdlYkVuZ2luZSBRdFBkZgorLSAgIENPTkRJVElPTiBOT1QgTElOVVggT1IgVEVTVF9nbGliYwor LSAgIE1FU1NBR0UgIkEgc3VpdGFibGUgdmVyc2lvbiA+PSAyLjE3IG9mIGdsaWJjIGlzIHJlcXVp cmVkLiIKKy0pCistYWRkX2NoZWNrX2Zvcl9zdXBwb3J0KAorLSAgIE1PRFVMRVMgUXRXZWJFbmdp bmUgUXRQZGYKKyAgICBDT05ESVRJT04gTk9UIExJTlVYIE9SIFRFU1Rfa2hyCisgICAgTUVTU0FH RSAiQnVpbGQgcmVxdWlyZXMgS2hyb25vcyBkZXZlbG9wbWVudCBoZWFkZXJzIGZvciBidWlsZCAt IHNlZSBtZXNhL2xpYmVnbDEtbWVzYS1kZXYiCisgKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1yZXZlcnQtOWQwODBjMC5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hZGNhMzY0YTQw NjAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAw LWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoCkBAIC0wLDAgKzEsMTU0IEBACitSZXZlcnQg OWQwODBjMDkzNGI4NDhlZTRhMDUwMTNjNzg2NDFlNjEyZmNjMWUwMworCistLS0gcXQ2LXdlYmVu Z2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvc2FuaXRp emVycy9CVUlMRC5nbgorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2J1aWxkL2NvbmZpZy9zYW5pdGl6ZXJzL0JVSUxELmduCitAQCAtMjcxLDExICsyNzEsMTEg QEAgY29uZmlnKCJhc2FuX2ZsYWdzIikgeworICAgaWYgKGlzX2FzYW4pIHsKKyAgICAgY2ZsYWdz ICs9IFsgIi1mc2FuaXRpemU9YWRkcmVzcyIgXQorICAgICBpZiAoaXNfd2luKSB7CistICAgICAg aWYgKCFkZWZpbmVkKGFzYW5fd2luX2Jsb2NrbGlzdF9wYXRoKSkgeworLSAgICAgICAgYXNhbl93 aW5fYmxvY2tsaXN0X3BhdGggPQorKyAgICAgIGlmICghZGVmaW5lZChhc2FuX3dpbl9ibGFja2xp c3RfcGF0aCkpIHsKKysgICAgICAgIGFzYW5fd2luX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAg ICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tZW1vcnkvYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIs IHJvb3RfYnVpbGRfZGlyKQorICAgICAgIH0KKy0gICAgICBjZmxhZ3MgKz0gWyAiLWZzYW5pdGl6 ZS1pZ25vcmVsaXN0PSRhc2FuX3dpbl9ibG9ja2xpc3RfcGF0aCIgXQorKyAgICAgIGNmbGFncyAr PSBbICItZnNhbml0aXplLWJsYWNrbGlzdD0kYXNhbl93aW5fYmxhY2tsaXN0X3BhdGgiIF0KKyAg ICAgfQorICAgfQorIH0KK0BAIC0zMDUsMTMgKzMwNSwxMyBAQCBjb25maWcoImxpbmtfc2hhcmVk X2xpYnJhcnkiKSB7CisgY29uZmlnKCJjZmlfZmxhZ3MiKSB7CisgICBjZmxhZ3MgPSBbXQorICAg aWYgKGlzX2NmaSAmJiBjdXJyZW50X3Rvb2xjaGFpbiA9PSBkZWZhdWx0X3Rvb2xjaGFpbikgewor LSAgICBpZiAoIWRlZmluZWQoY2ZpX2lnbm9yZWxpc3RfcGF0aCkpIHsKKy0gICAgICBjZmlfaWdu b3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKGNmaV9ibGFja2xpc3RfcGF0aCkpIHsK KysgICAgICBjZmlfYmxhY2tsaXN0X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90 b29scy9jZmkvaWdub3Jlcy50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxh Z3MgKz0gWworICAgICAgICItZnNhbml0aXplPWNmaS12Y2FsbCIsCistICAgICAgIi1mc2FuaXRp emUtaWdub3JlbGlzdD0kY2ZpX2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUt YmxhY2tsaXN0PSRjZmlfYmxhY2tsaXN0X3BhdGgiLAorICAgICBdCisgCisgICAgIGlmICh1c2Vf Y2ZpX2Nhc3QpIHsKK0BAIC00MDgsMTQgKzQwOCwxNCBAQCBjb25maWcoIm1zYW5fZmxhZ3MiKSB7 CisgICBpZiAoaXNfbXNhbikgeworICAgICBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21lb3Ms CisgICAgICAgICAgICAibXNhbiBvbmx5IHN1cHBvcnRlZCBvbiBsaW51eCB4ODZfNjQvQ2hyb21l T1MiKQorLSAgICBpZiAoIWRlZmluZWQobXNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAg bXNhbl9pZ25vcmVsaXN0X3BhdGggPQorLSAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9t c2FuL2lnbm9yZWxpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisrICAgIGlmICghZGVmaW5lZCht c2FuX2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAgIG1zYW5fYmxhY2tsaXN0X3BhdGggPQorKyAg ICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tc2FuL2JsYWNrbGlzdC50eHQiLCByb290X2J1 aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRpemU9bWVt b3J5IiwKKyAgICAgICAiLWZzYW5pdGl6ZS1tZW1vcnktdHJhY2stb3JpZ2lucz0kbXNhbl90cmFj a19vcmlnaW5zIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRtc2FuX2lnbm9yZWxp c3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSRtc2FuX2JsYWNrbGlzdF9w YXRoIiwKKyAgICAgXQorICAgfQorIH0KK0BAIC00MjMsMTMgKzQyMywxMyBAQCBjb25maWcoIm1z YW5fZmxhZ3MiKSB7CisgY29uZmlnKCJ0c2FuX2ZsYWdzIikgeworICAgaWYgKGlzX3RzYW4pIHsK KyAgICAgYXNzZXJ0KGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zLCAidHNhbiBvbmx5IHN1cHBvcnRl ZCBvbiBsaW51eCB4ODZfNjQiKQorLSAgICBpZiAoIWRlZmluZWQodHNhbl9pZ25vcmVsaXN0X3Bh dGgpKSB7CistICAgICAgdHNhbl9pZ25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAoIWRlZmluZWQo dHNhbl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICB0c2FuX2JsYWNrbGlzdF9wYXRoID0KKyAg ICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbWVtb3J5L3RzYW5fdjIvaWdub3Jlcy50eHQi LCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2Fu aXRpemU9dGhyZWFkIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR0c2FuX2lnbm9y ZWxpc3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSR0c2FuX2JsYWNrbGlz dF9wYXRoIiwKKyAgICAgXQorICAgfQorIH0KK0BAIC00MzcsOCArNDM3LDggQEAgY29uZmlnKCJ0 c2FuX2ZsYWdzIikgeworIGNvbmZpZygidWJzYW5fZmxhZ3MiKSB7CisgICBjZmxhZ3MgPSBbXQor ICAgaWYgKGlzX3Vic2FuKSB7CistICAgIGlmICghZGVmaW5lZCh1YnNhbl9pZ25vcmVsaXN0X3Bh dGgpKSB7CistICAgICAgdWJzYW5faWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVk KHVic2FuX2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAgIHVic2FuX2JsYWNrbGlzdF9wYXRoID0K KyAgICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvdWJzYW4vaWdub3JlbGlzdC50eHQiLCBy b290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgKz0gWworQEAgLTQ1NSw3ICs0NTUs NyBAQCBjb25maWcoInVic2FuX2ZsYWdzIikgeworICAgICAgICItZnNhbml0aXplPXNpZ25lZC1p bnRlZ2VyLW92ZXJmbG93IiwKKyAgICAgICAiLWZzYW5pdGl6ZT11bnJlYWNoYWJsZSIsCisgICAg ICAgIi1mc2FuaXRpemU9dmxhLWJvdW5kIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0 PSR1YnNhbl9pZ25vcmVsaXN0X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0k dWJzYW5fYmxhY2tsaXN0X3BhdGgiLAorICAgICBdCisgICAgIGlmICghaXNfY2xhbmcpIHsKKyAg ICAgICAjIFRoZXNlIGV4cG9zZXMgdG9vIG11Y2ggaWxsZWdhbCBDKysxNCBjb2RlIHRvIGNvbXBp bGUgb24gYW55dGhpbmcgc3RyaWN0ZXIgdGhhbiBjbGFuZzoKK0BAIC00OTYsOCArNDk2LDggQEAg Y29uZmlnKCJ1YnNhbl9ub19yZWNvdmVyIikgeworIAorIGNvbmZpZygidWJzYW5fc2VjdXJpdHlf ZmxhZ3MiKSB7CisgICBpZiAoaXNfdWJzYW5fc2VjdXJpdHkpIHsKKy0gICAgaWYgKCFkZWZpbmVk KHVic2FuX3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCkpIHsKKy0gICAgICB1YnNhbl9zZWN1cml0 eV9pZ25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAoIWRlZmluZWQodWJzYW5fc2VjdXJpdHlfYmxh Y2tsaXN0X3BhdGgpKSB7CisrICAgICAgdWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGggPQor ICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy91YnNhbi9zZWN1cml0eV9pZ25vcmVsaXN0 LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQorICAgICB9CisgICAgIGNmbGFncyA9IFsKK0BAIC01MDUs NyArNTA1LDcgQEAgY29uZmlnKCJ1YnNhbl9zZWN1cml0eV9mbGFncyIpIHsKKyAgICAgICAiLWZz YW5pdGl6ZT1zaGlmdCIsCisgICAgICAgIi1mc2FuaXRpemU9c2lnbmVkLWludGVnZXItb3ZlcmZs b3ciLAorICAgICAgICItZnNhbml0aXplPXZsYS1ib3VuZCIsCistICAgICAgIi1mc2FuaXRpemUt aWdub3JlbGlzdD0kdWJzYW5fc2VjdXJpdHlfaWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZz YW5pdGl6ZS1ibGFja2xpc3Q9JHVic2FuX3NlY3VyaXR5X2JsYWNrbGlzdF9wYXRoIiwKKyAgICAg XQorICAgfQorIH0KK0BAIC01MTgsMTMgKzUxOCwxMyBAQCBjb25maWcoInVic2FuX251bGxfZmxh Z3MiKSB7CisgCisgY29uZmlnKCJ1YnNhbl92cHRyX2ZsYWdzIikgeworICAgaWYgKGlzX3Vic2Fu X3ZwdHIpIHsKKy0gICAgaWYgKCFkZWZpbmVkKHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoKSkg eworLSAgICAgIHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVk KHVic2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGgpKSB7CisrICAgICAgdWJzYW5fdnB0cl9ibGFja2xp c3RfcGF0aCA9CisgICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2FuL3ZwdHJfaWdu b3JlbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCisg ICAgICAgIi1mc2FuaXRpemU9dnB0ciIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0k dWJzYW5fdnB0cl9pZ25vcmVsaXN0X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlz dD0kdWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCIsCisgICAgIF0KKyAgICAgaWYgKCFpc19jbGFu ZykgeworICAgICAgICMgQ2xhbmcgc3BlY2lmaWMgZmxhZzoKKy0tLSBxdDYtd2ViZW5naW5lLTYu NC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkX292ZXJyaWRlcy9idWlsZC5nbmkK KysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZF9vdmVy cmlkZXMvYnVpbGQuZ25pCitAQCAtNDMsMTUgKzQzLDE1IEBAIGRlY2xhcmVfYXJncygpIHsKKyAj IEFsbG93cyBkaWZmZXJlbnQgcHJvamVjdHMgdG8gc3BlY2lmeSB0aGVpciBvd24gc3VwcHJlc3Np b24vaWdub3JlIGxpc3RzIGZvcgorICMgc2FuaXRpemVyIHRvb2xzLgorICMgYXNhbl9zdXBwcmVz c2lvbnNfZmlsZSA9ICJwYXRoL3RvL2FzYW5fc3VwcHJlc3Npb25zLmNjIgorLSMgYXNhbl93aW5f aWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIKKysjIGFz YW5fd2luX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIK KyAjIGxzYW5fc3VwcHJlc3Npb25zX2ZpbGUgPSAicGF0aC90by9sc2FuX3N1cHByZXNzaW9ucy5j YyIKKyAjIHRzYW5fc3VwcHJlc3Npb25zX2ZpbGUgPSAicGF0aC90by90c2FuX3N1cHByZXNzaW9u cy5jYyIKKy0jIHRzYW5faWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vdHNhbi9pZ25vcmVzLnR4 dCIKKy0jIG1zYW5faWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vbXNhbi9pZ25vcmVsaXN0LnR4 dCIKKy0jIHVic2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL2lnbm9yZWxpc3Qu dHh0IgorLSMgdWJzYW5fdnB0cl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi92cHRy X2lnbm9yZWxpc3QudHh0IgorLSMgdWJzYW5fc2VjdXJpdHlfaWdub3JlbGlzdF9wYXRoID0gInBh dGgvdG8vdWJzYW4vc2VjdXJpdHlfaWdub3JlbGlzdC50eHQiCistIyBjZmlfaWdub3JlbGlzdF9w YXRoID0gInBhdGgvdG8vY2ZpL2lnbm9yZXMudHh0IgorKyMgdHNhbl9ibGFja2xpc3RfcGF0aCA9 ICJwYXRoL3RvL3RzYW4vaWdub3Jlcy50eHQiCisrIyBtc2FuX2JsYWNrbGlzdF9wYXRoID0gInBh dGgvdG8vbXNhbi9ibGFja2xpc3QudHh0IgorKyMgdWJzYW5fYmxhY2tsaXN0X3BhdGggPSAicGF0 aC90by91YnNhbi9ibGFja2xpc3QudHh0IgorKyMgdWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCA9 ICJwYXRoL3RvL3Vic2FuL3ZwdHJfYmxhY2tsaXN0LnR4dCIKKysjIHVic2FuX3NlY3VyaXR5X2Js YWNrbGlzdF9wYXRoID0gInBhdGgvdG8vdWJzYW4vc2VjdXJpdHlfYmxhY2tsaXN0LnR4dCIKKysj IGNmaV9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL2NmaS9pZ25vcmVzLnR4dCIKKyAKKyBpZiAo aG9zdF9vcyA9PSAibWFjIiB8fCBpc19hcHBsZSkgeworICAgIyBOZWVkZWQgZm9yIGlzX2FwcGxl IHdoZW4gdGFyZ2V0aW5nIG1hY09TIG9yIGlPUywgaW5kZXBlbmRlbnQgb2YgaG9zdC4KZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDEtY2hyb21pdW0tMTAyLWZl bmNlZF9mcmFtZV91dGlscy1pbmNsdWRlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwMS1jaHJvbWl1bS0xMDItZmVuY2VkX2ZyYW1lX3V0aWxzLWluY2x1ZGUucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mNDFjNzk4NDg0MGQKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAxLWNocm9t aXVtLTEwMi1mZW5jZWRfZnJhbWVfdXRpbHMtaW5jbHVkZS5wYXRjaApAQCAtMCwwICsxLDIwIEBA CitGcm9tIDdjMTM1YTI5MTE4NGI1OWE1OTY0M2VkNmE4YzQwYjQ0MDVhYzAxNzUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFp bC5jb20+CitEYXRlOiBXZWQsIDI3IEFwciAyMDIyIDE2OjAxOjAxICswMDAwCitTdWJqZWN0OiBb UEFUQ0hdIElXWVU6IGFkZCBjc3RyaW5nIGZvciBzdGQ6OnN0cmxlbiBpbiBmZW5jZWRfZnJhbWVf dXRpbHMKKworLS0tCisgdGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL2ZlbmNlZF9mcmFtZS9mZW5j ZWRfZnJhbWVfdXRpbHMuY2MgfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KQorCistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9ibGluay9jb21tb24vZmVuY2VkX2ZyYW1lL2ZlbmNlZF9mcmFtZV91dGlscy5j YworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JsaW5rL2NvbW1vbi9mZW5jZWRfZnJhbWUvZmVuY2VkX2ZyYW1lX3V0aWxzLmNjCitAQCAt Niw2ICs2LDggQEAKKyAKKyAjaW5jbHVkZSA8Y3N0cmluZz4KKyAKKysjaW5jbHVkZSA8Y3N0cmlu Zz4KKysKKyAjaW5jbHVkZSAiYmFzZS9ndWlkLmgiCisgI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9z dHJpbmdfdXRpbC5oIgorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEwMi1jaHJvbWl1bS0xMDItcmVnZXhfcGF0dGVybi1hcnJheS5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDItY2hyb21pdW0tMTAyLXJlZ2V4X3BhdHRlcm4tYXJy YXkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40MjBlZjk0 MWEzODYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTAyLWNocm9taXVtLTEwMi1yZWdleF9wYXR0ZXJuLWFycmF5LnBhdGNoCkBAIC0wLDAgKzEsMTQg QEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Nv bXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL0JVSUxELmduCisrKysgcXQ2LXdlYmVuZ2lu ZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jy b3dzZXIvQlVJTEQuZ24KK0BAIC0zNCw2ICszNCwxMSBAQCBhY3Rpb24oInJlZ2V4X3BhdHRlcm5z X2lubF9oIikgeworIH0KKyAKKyBqdW1ib19zdGF0aWNfbGlicmFyeSgiYnJvd3NlciIpIHsKKysg IGlmIChpc19jbGFuZykgeworKyAgICBjZmxhZ3MgPSBbCisrICAgICAgIi1mYnJhY2tldC1kZXB0 aD0xMDAwIiwKKysgICAgXQorKyAgfQorICAgc291cmNlcyA9IFsKKyAgICAgImFkZHJlc3Nfbm9y bWFsaXphdGlvbl9tYW5hZ2VyLmNjIiwKKyAgICAgImFkZHJlc3Nfbm9ybWFsaXphdGlvbl9tYW5h Z2VyLmgiLApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMy1j aHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEwMy1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzA4ZDU2N2EwNGRjCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMy1jaHJvbWl1 bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKKy0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2dwdS92YWFw aS9CVUlMRC5nbgorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L21lZGlhL2dwdS92YWFwaS9CVUlMRC5nbgorQEAgLTE0LDYgKzE0LDEyIEBAIGltcG9ydCgiLy91 aS9nbC9mZWF0dXJlcy5nbmkiKQorIGFzc2VydChpc19saW51eCB8fCBpc19jaHJvbWVvcykKKyBh c3NlcnQodXNlX3ZhYXBpKQorIAorK2NvbmZpZygidmFhcGlfcGVybWlzc2l2ZSIpIHsKKysgIGlm ICh0YXJnZXRfY3B1ID09ICJ4ODYiKSB7CisrICAgIGNmbGFncyA9IFsgIi1mcGVybWlzc2l2ZSIg XQorKyAgfQorK30KKysKKyBnZW5lcmF0ZV9zdHVicygibGlidmFfc3R1YnMiKSB7CisgICBleHRy YV9oZWFkZXIgPSAidmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQiCisgICBzaWdzID0gWyAidmEuc2ln cyIgXQorQEAgLTg5LDYgKzk1LDcgQEAgc291cmNlX3NldCgidmFhcGkiKSB7CisgICBjb25maWdz ICs9IFsKKyAgICAgIi8vYnVpbGQvY29uZmlnL2xpbnV4L2xpYnZhIiwKKyAgICAgIi8vdGhpcmRf cGFydHkvbGlidnB4OmxpYnZweF9jb25maWciLAorKyAgICAiOnZhYXBpX3Blcm1pc3NpdmUiLAor ICAgXQorIAorICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMDQtY2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDEwNC1jaHJvbWl1bS1saWJ4bWwtdW5idW5kbGUucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYWNhNDg0YWJjNGEKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNocm9taXVt LWxpYnhtbC11bmJ1bmRsZS5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gcXQ2LXdlYmVuZ2lu ZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9saW51eC91bmJ1bmRsZS9s aWJ4bWwuZ24KKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9i dWlsZC9saW51eC91bmJ1bmRsZS9saWJ4bWwuZ24KK0BAIC0xOSw2ICsxOSw3IEBAIHN0YXRpY19s aWJyYXJ5KCJsaWJ4bWxfdXRpbHMiKSB7CisgICAgICI6eG1sX3JlYWRlciIsCisgICAgICI6eG1s X3dyaXRlciIsCisgICAgICIvL2Jhc2UvdGVzdDp0ZXN0X3N1cHBvcnQiLAorKyAgICAiLy9zZXJ2 aWNlcy9kYXRhX2RlY29kZXI6bGliIiwKKyAgICAgIi8vc2VydmljZXMvZGF0YV9kZWNvZGVyOnht bF9wYXJzZXJfZnV6emVyX2RlcHMiLAorICAgXQorICAgc291cmNlcyA9IFsKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDUtY2hyb21pdW0tcmV2ZXJ0LWRyb3At b2Ytc3lzdGVtLWphdmEucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1 LWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDZhYmY3YWRjYWJjCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNS1jaHJvbWl1bS1yZXZlcnQtZHJv cC1vZi1zeXN0ZW0tamF2YS5wYXRjaApAQCAtMCwwICsxLDE1IEBACitUaGlzIHdhcyBkcm9wcGVk IGZvciBzb21lIHJlYXNvbiBpbiA2OTUxYzM3Y2VjZDA1OTc5YjIzMmEzOWU1YzEwZTYzNDZhMGY3 NGVmCistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9jbG9zdXJlX2NvbXBpbGVyL2NvbXBpbGVyLnB5CisrKysgcXQ2LXdlYmVuZ2lu ZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY2xvc3VyZV9jb21waWxl ci9jb21waWxlci5weQorQEAgLTEzLDggKzEzLDkgQEAgaW1wb3J0IHN1YnByb2Nlc3MKKyAKKyAK KyBfQ1VSUkVOVF9ESVIgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSkK Ky1fSkFWQV9QQVRIID0gb3MucGF0aC5qb2luKF9DVVJSRU5UX0RJUiwgIi4uIiwgImpkayIsICJj dXJyZW50IiwgImJpbiIsICJqYXZhIikKKy1hc3NlcnQgb3MucGF0aC5pc2ZpbGUoX0pBVkFfUEFU SCksICJqYXZhIG9ubHkgYWxsb3dlZCBpbiBhbmRyb2lkIGJ1aWxkcyIKKytfSkFWQV9CSU4gPSAi amF2YSIKKytfSkRLX1BBVEggPSBvcy5wYXRoLmpvaW4oX0NVUlJFTlRfRElSLCAiLi4iLCAiamRr IiwgImN1cnJlbnQiLCAiYmluIiwgImphdmEiKQorK19KQVZBX1BBVEggPSBfSkRLX1BBVEggaWYg b3MucGF0aC5pc2ZpbGUoX0pES19QQVRIKSBlbHNlIF9KQVZBX0JJTgorIAorIGNsYXNzIENvbXBp bGVyKG9iamVjdCk6CisgICAiIiJSdW5zIHRoZSBDbG9zdXJlIGNvbXBpbGVyIG9uIGdpdmVuIHNv dXJjZSBmaWxlcyB0byB0eXBlY2hlY2sgdGhlbQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMTY0OGY3NjRlYTE5Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNi1jaHJv bWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKKy0tLSBxdDYtd2ViZW5n aW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25vZGUvbm9k ZS5weQorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L25vZGUvbm9kZS5weQorQEAgLTE4LDI1ICsxOCw3IEBAIGRlZiB3aGljaChjbWQpOgor ICAgICByZXR1cm4gTm9uZQorIAorIGRlZiBHZXRCaW5hcnlQYXRoKCk6CistICBpZiBzeXMucGxh dGZvcm0gPT0gJ3dpbjMyJzoKKy0gICAgbm9kZWpzID0gd2hpY2goJ25vZGUuZXhlJykKKy0gICAg aWYgbm9kZWpzOgorLSAgICAgIHJldHVybiBub2RlanMKKy0gIGVsc2U6CistICAgIG5vZGVqcyA9 IHdoaWNoKCdub2RlanMnKQorLSAgICBpZiBub2RlanM6CistICAgICAgcmV0dXJuIG5vZGVqcwor LSAgICBub2RlanMgPSB3aGljaCgnbm9kZScpCistICAgIGlmIG5vZGVqczoKKy0gICAgICByZXR1 cm4gbm9kZWpzCistCistICBkYXJ3aW5fbmFtZSA9ICgnbm9kZS1kYXJ3aW4tYXJtNjQnIGlmIHBs YXRmb3JtLm1hY2hpbmUoKSA9PSAnYXJtNjQnIGVsc2UKKy0gICAgICAgICAgICAgICAgICdub2Rl LWRhcndpbi14NjQnKQorLSAgcmV0dXJuIG9zX3BhdGguam9pbihvc19wYXRoLmRpcm5hbWUoX19m aWxlX18pLCAqeworLSAgICAnRGFyd2luJzogKCdtYWMnLCBkYXJ3aW5fbmFtZSwgJ2JpbicsICdu b2RlJyksCistICAgICdMaW51eCc6ICgnbGludXgnLCAnbm9kZS1saW51eC14NjQnLCAnYmluJywg J25vZGUnKSwKKy0gICAgJ1dpbmRvd3MnOiAoJ3dpbicsICdub2RlLmV4ZScpLAorLSAgfVtwbGF0 Zm9ybS5zeXN0ZW0oKV0pCisrICByZXR1cm4gIi91c3IvYmluL25vZGUiCisgCisgCisgZGVmIFJ1 bk5vZGUoY21kX3BhcnRzLCBzdGRvdXQ9Tm9uZSk6CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNyb3NzLWJ1aWxkLnBhdGNoIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1jcm9zcy1idWlsZC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ0OTU0ZGZiYjFlNQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDctY2hyb21p dW0tY3Jvc3MtYnVpbGQucGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorLS0tIHF0Ni13ZWJlbmdpbmUt Ni40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JV SUxELmduCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVp bGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtNTgsNiArNTgsMTAgQEAgaWYgKCFpc19j bGFuZykgeworIH0KKyAKKyBkZWNsYXJlX2FyZ3MoKSB7CisrICBpc19tdXNsID0gZmFsc2UKKyt9 CisrCisrZGVjbGFyZV9hcmdzKCkgeworICAgIyBOb3JtYWxseSwgQW5kcm9pZCBidWlsZHMgYXJl IGxpZ2h0bHkgb3B0aW1pemVkLCBldmVuIGZvciBkZWJ1ZyBidWlsZHMsIHRvCisgICAjIGtlZXAg YmluYXJ5IHNpemUgZG93bi4gU2V0dGluZyB0aGlzIGZsYWcgdG8gdHJ1ZSBkaXNhYmxlcyBzdWNo IG9wdGltaXphdGlvbgorICAgYW5kcm9pZF9mdWxsX2RlYnVnID0gZmFsc2UKK0BAIC05NzAsOCAr OTc0LDEzIEBAIGNvbmZpZygiY29tcGlsZXJfY3B1X2FiaSIpIHsKKyAgICAgICB9CisgICAgIH0g ZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gImFybTY0IikgeworICAgICAgIGlmIChpc19jbGFuZyAm JiAhaXNfYW5kcm9pZCAmJiAhaXNfbmFjbCAmJiAhaXNfZnVjaHNpYSkgeworLSAgICAgICAgY2Zs YWdzICs9IFsgIi0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCistICAgICAgICBsZGZsYWdz ICs9IFsgIi0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCisrICAgICAgICBpZiAoaXNfbXVz bCkgeworKyAgICAgICAgICBjZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51eC1tdXNs IiBdCisrICAgICAgICAgIGxkZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51eC1tdXNs IiBdCisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICBjZmxhZ3MgKz0gWyAiLS10YXJnZXQ9 YWFyY2g2NC1saW51eC1nbnUiIF0KKysgICAgICAgICAgbGRmbGFncyArPSBbICItLXRhcmdldD1h YXJjaDY0LWxpbnV4LWdudSIgXQorKyAgICAgICAgfQorICAgICAgIH0KKyAgICAgICBpZiAoaXNf YW5kcm9pZCkgeworICAgICAgICAgIyBPdXRsaW5lIGF0b21pY3MgY3Jhc2ggb24gRXh5bm9zIDk4 MTAuIGh0dHA6Ly9jcmJ1Zy5jb20vMTI3Mjc5NQorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3Jp Zy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlL0JV SUxELmduCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVp bGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlL0JVSUxELmduCitAQCAtMzksMyArMzksMjIgQEAg Z2NjX3Rvb2xjaGFpbigiaG9zdCIpIHsKKyAgICAgY3VycmVudF9vcyA9IGN1cnJlbnRfb3MKKyAg IH0KKyB9CisrCisrZ2NjX3Rvb2xjaGFpbigidjhfc25hcHNob3RfY3Jvc3MiKSB7CisrICBjYyA9 IGdldGVudigiQlVJTERfQ0MiKQorKyAgY3h4ID0gZ2V0ZW52KCJCVUlMRF9DWFgiKQorKyAgYXIg PSBnZXRlbnYoIkJVSUxEX0FSIikKKysgIG5tID0gZ2V0ZW52KCJCVUlMRF9OTSIpCisrICBsZCA9 IGN4eAorKworKyAgZXh0cmFfY2ZsYWdzID0gZ2V0ZW52KCJCVUlMRF9DRkxBR1MiKQorKyAgZXh0 cmFfY3BwZmxhZ3MgPSBnZXRlbnYoIkJVSUxEX0NQUEZMQUdTIikKKysgIGV4dHJhX2N4eGZsYWdz ID0gZ2V0ZW52KCJCVUlMRF9DWFhGTEFHUyIpCisrICBleHRyYV9sZGZsYWdzID0gZ2V0ZW52KCJC VUlMRF9MREZMQUdTIikKKysKKysgIHRvb2xjaGFpbl9hcmdzID0geworKyAgICBjdXJyZW50X2Nw dSA9IGhvc3RfY3B1CisrICAgIGN1cnJlbnRfb3MgPSBob3N0X29zCisrICAgIHY4X2N1cnJlbnRf Y3B1ID0gdGFyZ2V0X2NwdQorKyAgfQorK30KKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9saW51eC9wa2dfY29uZmlnLmduaQor KysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZp Zy9saW51eC9wa2dfY29uZmlnLmduaQorQEAgLTkyLDcgKzkyLDcgQEAgdGVtcGxhdGUoInBrZ19j b25maWciKSB7CisgICBhc3NlcnQoZGVmaW5lZChpbnZva2VyLnBhY2thZ2VzKSwKKyAgICAgICAg ICAiVmFyaWFibGUgfHBhY2thZ2VzfCBtdXN0IGJlIGRlZmluZWQgdG8gYmUgYSBsaXN0IGluIHBr Z19jb25maWcuIikKKyAgIGNvbmZpZyh0YXJnZXRfbmFtZSkgeworLSAgICBpZiAoaG9zdF90b29s Y2hhaW4gPT0gY3VycmVudF90b29sY2hhaW4pIHsKKysgICAgaWYgKGN1cnJlbnRfY3B1ICE9IHRh cmdldF9jcHUpIHsKKyAgICAgICBhcmdzID0gY29tbW9uX3BrZ19jb25maWdfYXJncyArIGhvc3Rf cGtnX2NvbmZpZ19hcmdzICsgaW52b2tlci5wYWNrYWdlcworICAgICB9IGVsc2UgeworICAgICAg IGFyZ3MgPSBjb21tb25fcGtnX2NvbmZpZ19hcmdzICsgcGtnX2NvbmZpZ19hcmdzICsgaW52b2tl ci5wYWNrYWdlcwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEw OC1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGQzMWRhOTc5MGFkCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1bS1j dXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBxdDYtd2ViZW5n aW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMvc2NvcGVkX2Zp bGVfbGludXguY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9iYXNlL2ZpbGVzL3Njb3BlZF9maWxlX2xpbnV4LmNjCitAQCAtNzcsMTUgKzc3LDMgQEAgYm9v bCBJc0ZET3duZWQoaW50IGZkKSB7CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBiYXNlCistCist ZXh0ZXJuICJDIiB7CistCistaW50IF9fY2xvc2UoaW50KTsKKy0KKy1fX2F0dHJpYnV0ZV9fKCh2 aXNpYmlsaXR5KCJkZWZhdWx0IiksIG5vaW5saW5lKSkgaW50IGNsb3NlKGludCBmZCkgeworLSAg aWYgKGJhc2U6OklzRkRPd25lZChmZCkgJiYgZ19pc19vd25lcnNoaXBfZW5mb3JjZWQpCistICAg IENyYXNoT25GZE93bmVyc2hpcFZpb2xhdGlvbigpOworLSAgcmV0dXJuIF9fY2xvc2UoZmQpOwor LX0KKy0KKy19ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTA5LWNocm9taXVtLWFhcmNoNjQtbXVzbC1tZW1vcnktdGFnZ2luZy5wYXRj aCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDktY2hyb21pdW0tYWFyY2g2NC1t dXNsLW1lbW9yeS10YWdnaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uMGZmMmEyYTUxYWFhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1hYXJjaDY0LW11c2wtbWVtb3J5LXRhZ2dpbmcu cGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci90YWdn aW5nLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFz ZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci90YWdnaW5nLmNjCitAQCAtMjgsMTMgKzI4 LDI1IEBACisgI2VuZGlmCisgI2VuZGlmCisgCistI2lmbmRlZiBIQVNfUFJfTVRFX01BQ1JPUwor KyNpZm5kZWYgUFJfTVRFX1RDRl9TSElGVAorICNkZWZpbmUgUFJfTVRFX1RDRl9TSElGVCAxCisr I2VuZGlmCisrI2lmbmRlZiBQUl9NVEVfVENGX05PTkUKKyAjZGVmaW5lIFBSX01URV9UQ0ZfTk9O RSAoMFVMIDw8IFBSX01URV9UQ0ZfU0hJRlQpCisrI2VuZGlmCisrI2lmbmRlZiBQUl9NVEVfVENG X1NZTkMKKyAjZGVmaW5lIFBSX01URV9UQ0ZfU1lOQyAoMVVMIDw8IFBSX01URV9UQ0ZfU0hJRlQp CisrI2VuZGlmCisrI2lmbmRlZiBQUl9NVEVfVENGX0FTWU5DCisgI2RlZmluZSBQUl9NVEVfVENG X0FTWU5DICgyVUwgPDwgUFJfTVRFX1RDRl9TSElGVCkKKysjZW5kaWYKKysjaWZuZGVmIFBSX01U RV9UQ0ZfTUFTSworICNkZWZpbmUgUFJfTVRFX1RDRl9NQVNLICgzVUwgPDwgUFJfTVRFX1RDRl9T SElGVCkKKysjZW5kaWYKKysjaWZuZGVmIFBSX01URV9UQUdfU0hJRlQKKyAjZGVmaW5lIFBSX01U RV9UQUdfU0hJRlQgMworKyNlbmRpZgorKyNpZm5kZWYgUFJfTVRFX1RBR19NQVNLCisgI2RlZmlu ZSBQUl9NVEVfVEFHX01BU0sgKDB4ZmZmZlVMIDw8IFBSX01URV9UQUdfU0hJRlQpCisgI2VuZGlm CisgI2VuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEw LWNocm9taXVtLWZpeC1taXNzaW5nLVRFTVBfRkFJTFVSRV9SRVRSWS1tYWNyby5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTAtY2hyb21pdW0tZml4LW1pc3NpbmctVEVN UF9GQUlMVVJFX1JFVFJZLW1hY3JvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uNTU1OGM1NGNmODAyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDExMC1jaHJvbWl1bS1maXgtbWlzc2luZy1URU1QX0ZBSUxVUkVf UkVUUlktbWFjcm8ucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorVGhpcyBtYWNybyBpcyBkZWZpbmVk IGluIGdsaWJjLCBidXQgbm90IG11c2wuCisKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3VpZC9wcm9jZXNzX3V0aWwuaAor KysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc3VpZC9wcm9jZXNzX3V0aWwuaAorQEAgLTEyLDYgKzEyLDE2IEBACisgI2luY2x1ZGUgPHN0 ZGludC5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAKKysvLyBTb21lIGFkZGl0aW9uYWwg ZnVuY3Rpb25zCisrI2lmICFkZWZpbmVkKFRFTVBfRkFJTFVSRV9SRVRSWSkKKysjIGRlZmluZSBU RU1QX0ZBSUxVUkVfUkVUUlkoZXhwcmVzc2lvbikgXAorKwkoX19leHRlbnNpb25fXwkJCVwKKysJ ICh7IGxvbmcgaW50IF9fcmVzdWx0OwkJXAorKwkgIGRvIF9fcmVzdWx0ID0gKGxvbmcgaW50KSAo ZXhwcmVzc2lvbik7IFwKKysJICB3aGlsZSAoX19yZXN1bHQgPT0gLTFMICYmIGVycm5vID09IEVJ TlRSKTsgXAorKwkgIF9fcmVzdWx0OyB9KSkKKysjZW5kaWYKKysKKyAvLyBUaGlzIGFkanVzdHMg L3Byb2MvcHJvY2Vzcy9vb21fc2NvcmVfYWRqIHNvIHRoZSBMaW51eCBPT00ga2lsbGVyCisgLy8g d2lsbCBwcmVmZXIgY2VydGFpbiBwcm9jZXNzIHR5cGVzIG92ZXIgb3RoZXJzLiBUaGUgcmFuZ2Ug Zm9yIHRoZQorIC8vIGFkanVzdG1lbnQgaXMgWy0xMDAwLCAxMDAwXSwgd2l0aCBbMCwgMTAwMF0g YmVpbmcgdXNlciBhY2Nlc3NpYmxlLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDExMS1jaHJvbWl1bS1jc3RkaW50LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDExMS1jaHJvbWl1bS1jc3RkaW50LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjU3ODc2MjFiNTc5Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1jaHJvbWl1bS1jc3RkaW50LnBhdGNo CkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBh cnR5L2Nocm9taXVtL25ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL3F1aWNoZS9odHRwMi9hZGFw dGVyL3dpbmRvd19tYW5hZ2VyLmgKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9uZXQvdGhpcmRfcGFydHkvcXVpY2hlL3NyYy9xdWljaGUvaHR0cDIvYWRhcHRl ci93aW5kb3dfbWFuYWdlci5oCitAQCAtMyw2ICszLDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkZGVm Lmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgCisg I2luY2x1ZGUgInF1aWNoZS9jb21tb24vcGxhdGZvcm0vYXBpL3F1aWNoZV9leHBvcnQuaCIKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTItY2hyb21pdW0tdW5p c3RkLmgucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEyLWNocm9taXVt LXVuaXN0ZC5oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u YmIyNDJhODA4YWNlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDExMi1jaHJvbWl1bS11bmlzdGQuaC5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZXJ2aWNlcy9jcmVkZW50aWFs cy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZXJ2aWNlcy9j cmVkZW50aWFscy5oCitAQCAtMTMsNiArMTMsNyBAQAorIAorICNpbmNsdWRlIDxzdHJpbmc+Cisg I2luY2x1ZGUgPHZlY3Rvcj4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisgCisgI2luY2x1ZGUgInNh bmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvY2FwYWJpbGl0eS5oIgorICNpbmNsdWRlICJzYW5k Ym94L3NhbmRib3hfZXhwb3J0LmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMTEzLWNocm9taXVtLXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMy1jaHJvbWl1bS1wdGhyZWFkLXN0YWNrc2l6ZS5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjM4NGZkMGFmMTg2ZAot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTMtY2hy b21pdW0tcHRocmVhZC1zdGFja3NpemUucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorLS0tIHF0Ni13 ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90aHJlYWRpbmcv cGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vYmFzZS90aHJlYWRpbmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCitA QCAtNDM3LDggKzQzNywxMyBAQCB2b2lkIFRlcm1pbmF0ZU9uVGhyZWFkKCkge30KKyAKKyBzaXpl X3QgR2V0RGVmYXVsdFRocmVhZFN0YWNrU2l6ZShjb25zdCBwdGhyZWFkX2F0dHJfdCYgYXR0cmli dXRlcykgeworICNpZiAhZGVmaW5lZChUSFJFQURfU0FOSVRJWkVSKQorKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykKKyAgIHJldHVybiAwOworICNlbHNlCisrICAvLyBtdXNsIGxpYmNzIGRlZmF1bHQg aXMgdG9vIHNtYWxsLCB1c2UgOG1iIGxpa2UgZ2xpYmMKKysgIHJldHVybiAoMSA8PCAyMyk7Cisr I2VuZGlmCisrI2Vsc2UKKyAgIC8vIFRocmVhZFNhbml0aXplciBibG9hdHMgdGhlIHN0YWNrIGhl YXZpbHkuIEV2aWRlbmNlIGhhcyBiZWVuIHRoYXQgdGhlCisgICAvLyBkZWZhdWx0IHN0YWNrIHNp emUgaXNuJ3QgZW5vdWdoIGZvciBzb21lIGJyb3dzZXIgdGVzdHMuCisgICByZXR1cm4gMiAqICgx IDw8IDIzKTsgIC8vIDIgdGltZXMgODE5MksgKHRoZSBkZWZhdWx0IHN0YWNrIHNpemUgb24gTGlu dXgpLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExNC1kby1u b3QtbmFycm93LWludC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTQt ZG8tbm90LW5hcnJvdy1pbnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi4yY2Q2YTA3MzgyYWMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTE0LWRvLW5vdC1uYXJyb3ctaW50LnBhdGNoCkBAIC0wLDAgKzEsNTMg QEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jh c2UvZmlsZXMvZmlsZV91dGlsX2xpbnV4LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxlX3V0aWxfbGludXguY2MKK0BAIC0yMywx NCArMjMsMTQgQEAgYm9vbCBHZXRGaWxlU3lzdGVtVHlwZShjb25zdCBGaWxlUGF0aCYgcAorIAor ICAgLy8gTm90IGFsbCBwb3NzaWJsZSB8c3RhdGZzX2J1Zi5mX3R5cGV8IHZhbHVlcyBhcmUgaW4g bGludXgvbWFnaWMuaC4KKyAgIC8vIE1pc3NpbmcgdmFsdWVzIGFyZSBjb3BpZWQgZnJvbSB0aGUg c3RhdGZzIG1hbiBwYWdlLgorLSAgc3dpdGNoIChzdGF0ZnNfYnVmLmZfdHlwZSkgeworKyAgc3dp dGNoIChzdGF0aWNfY2FzdDx1aW50bWF4X3Q+KHN0YXRmc19idWYuZl90eXBlKSkgeworICAgICBj YXNlIDA6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV8wOworICAgICAgIGJyZWFrOworICAg ICBjYXNlIEVYVDJfU1VQRVJfTUFHSUM6ICAvLyBBbHNvIGV4dDMgYW5kIGV4dDQKKyAgICAgY2Fz ZSBNU0RPU19TVVBFUl9NQUdJQzoKKyAgICAgY2FzZSBSRUlTRVJGU19TVVBFUl9NQUdJQzoKKy0g ICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KEJUUkZTX1NVUEVSX01BR0lDKToKKysgICAgY2FzZSBC VFJGU19TVVBFUl9NQUdJQzoKKyAgICAgY2FzZSAweDUzNDY1NDRFOiAgLy8gTlRGUworICAgICBj YXNlIDB4NTg0NjUzNDI6ICAvLyBYRlMKKyAgICAgY2FzZSAweDMxNTM0NjRBOiAgLy8gSkZTCitA QCAtNDAsMTQgKzQwLDE0IEBAIGJvb2wgR2V0RmlsZVN5c3RlbVR5cGUoY29uc3QgRmlsZVBhdGgm IHAKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX05GUzsKKyAgICAgICBicmVhazsKKyAgICAg Y2FzZSBTTUJfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PigweEZGNTM0 RDQyKTogIC8vIENJRlMKKysgICAgY2FzZSAweEZGNTM0RDQyOiAgLy8gQ0lGUworICAgICAgICp0 eXBlID0gRklMRV9TWVNURU1fU01COworICAgICAgIGJyZWFrOworICAgICBjYXNlIENPREFfU1VQ RVJfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9DT0RBOworICAgICAgIGJyZWFr OworLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0gICAgY2Fz ZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBIVUdFVExCRlNfTUFH SUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6CisgICAg ICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9NRU1PUlk7CisgICAgICAgYnJlYWs7CistLS0gcXQ2LXdl YmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3N5c3RlbS9zeXNf aW5mb19wb3NpeC5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2Jhc2Uvc3lzdGVtL3N5c19pbmZvX3Bvc2l4LmNjCitAQCAtMTAwLDEwICsxMDAsMTAgQEAg Ym9vbCBJc1N0YXRzWmVyb0lmVW5saW1pdGVkKGNvbnN0IGJhc2U6OgorICAgaWYgKEhBTkRMRV9F SU5UUihzdGF0ZnMocGF0aC52YWx1ZSgpLmNfc3RyKCksICZzdGF0cykpICE9IDApCisgICAgIHJl dHVybiBmYWxzZTsKKyAKKy0gIHN3aXRjaCAoc3RhdHMuZl90eXBlKSB7CisrICBzd2l0Y2ggKHN0 YXRpY19jYXN0PHVpbnRtYXhfdD4oc3RhdHMuZl90eXBlKSkgeworICAgICBjYXNlIFRNUEZTX01B R0lDOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKKy0gICAg Y2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAgY2FzZSBIVUdFVExCRlNf TUFHSUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgICAgcmV0dXJuIHRydWU7CisgICB9 CisgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMTE1LWNocm9taXVtLW5vLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUucGF0Y2ggYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE1LWNocm9taXVtLW5vLWNhbm9uaWNhbGl6ZS1m aWxlLW5hbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41 NTY3ODRiMDEzZGUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMTE1LWNocm9taXVtLW5vLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUucGF0Y2gKQEAgLTAs MCArMSwxMiBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvbmFzbS9jb25maWcvY29uZmlnLWxpbnV4LmgKKysrKyBxdDYtd2Vi ZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9uYXNtL2NvbmZp Zy9jb25maWctbGludXguaAorQEAgLTEzOSw3ICsxMzksOSBAQAorICNkZWZpbmUgSEFWRV9BQ0NF U1MgMQorIAorIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgY2Fub25pY2FsaXplX2Zp bGVfbmFtZScgZnVuY3Rpb24uICovCisrI2lmZGVmIF9fR0xJQkNfXworICNkZWZpbmUgSEFWRV9D QU5PTklDQUxJWkVfRklMRV9OQU1FIDEKKysjZW5kaWYKKyAKKyAvKiBEZWZpbmUgdG8gMSBpZiB5 b3UgaGF2ZSB0aGUgYGNwdV90b19sZTE2JyBpbnRyaW5zaWMgZnVuY3Rpb24uICovCisgLyogI3Vu ZGVmIEhBVkVfQ1BVX1RPX0xFMTYgKi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMTYtY2hyb21pdW0tbXVzbC1nZXQtdGhyZWFkLW5hbWUucGF0Y2ggYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE2LWNocm9taXVtLW11c2wtZ2V0LXRocmVhZC1u YW1lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDQ4NTM4 NWNiYjYyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDExNi1jaHJvbWl1bS1tdXNsLWdldC10aHJlYWQtbmFtZS5wYXRjaApAQCAtMCwwICsxLDIyIEBA CistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9wZXJmZXR0by9pbmNsdWRlL3BlcmZldHRvL2V4dC9iYXNlL3RocmVhZF91dGlscy5o CisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvcGVyZmV0dG8vaW5jbHVkZS9wZXJmZXR0by9leHQvYmFzZS90aHJlYWRfdXRpbHMuaAorQEAg LTMwLDcgKzMwLDggQEAKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNlbmRpZgorIAorLSNpZiBQ RVJGRVRUT19CVUlMREZMQUcoUEVSRkVUVE9fT1NfQU5EUk9JRCkKKysjaWYgUEVSRkVUVE9fQlVJ TERGTEFHKFBFUkZFVFRPX09TX0FORFJPSUQpIHx8IFwKKysgICAgKFBFUkZFVFRPX0JVSUxERkxB RyhQRVJGRVRUT19PU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKKyAjaW5jbHVkZSA8 c3lzL3ByY3RsLmg+CisgI2VuZGlmCisgCitAQCAtNTgsNyArNTksOCBAQCBpbmxpbmUgYm9vbCBN YXliZVNldFRocmVhZE5hbWUoY29uc3Qgc3RkCisgCisgaW5saW5lIGJvb2wgR2V0VGhyZWFkTmFt ZShzdGQ6OnN0cmluZyYgb3V0X3Jlc3VsdCkgeworICAgY2hhciBidWZbMTZdID0ge307CistI2lm IFBFUkZFVFRPX0JVSUxERkxBRyhQRVJGRVRUT19PU19BTkRST0lEKQorKyNpZiBQRVJGRVRUT19C VUlMREZMQUcoUEVSRkVUVE9fT1NfQU5EUk9JRCkgfHwgXAorKyAgICAoUEVSRkVUVE9fQlVJTERG TEFHKFBFUkZFVFRPX09TX0xJTlVYKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorICAgaWYgKHBy Y3RsKFBSX0dFVF9OQU1FLCBidWYpICE9IDApCisgICAgIHJldHVybiBmYWxzZTsKKyAjZWxzZQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExNy1jaHJvbWl1bS1t dXNsLXJlc29sdmVyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExNy1j aHJvbWl1bS1tdXNsLXJlc29sdmVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uMTc2NTI0YWRjMDgzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDExNy1jaHJvbWl1bS1tdXNsLXJlc29sdmVyLnBhdGNoCkBAIC0w LDAgKzEsNjQgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2No cm9taXVtL25ldC9kbnMvcHVibGljL3Njb3BlZF9yZXNfc3RhdGUuY2MKKysrKyBxdDYtd2ViZW5n aW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL3B1YmxpYy9zY29wZWRfcmVz X3N0YXRlLmNjCitAQCAtMTMsNyArMTMsNyBAQAorIG5hbWVzcGFjZSBuZXQgeworIAorIFNjb3Bl ZFJlc1N0YXRlOjpTY29wZWRSZXNTdGF0ZSgpIHsKKy0jaWYgQlVJTERGTEFHKElTX09QRU5CU0Qp IHx8IEJVSUxERkxBRyhJU19GVUNIU0lBKQorKyNpZiBCVUlMREZMQUcoSVNfT1BFTkJTRCkgfHwg QlVJTERGTEFHKElTX0ZVQ0hTSUEpIHx8IChCVUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVk KF9fR0xJQkNfXykpCisgICAvLyBOb3RlOiByZXNfbmluaXQgaW4gZ2xpYmMgYWx3YXlzIHJldHVy bnMgMCBhbmQgc2V0cyBSRVNfSU5JVC4KKyAgIC8vIHJlc19pbml0IGJlaGF2ZXMgdGhlIHNhbWUg d2F5LgorICAgbWVtc2V0KCZfcmVzLCAwLCBzaXplb2YoX3JlcykpOworQEAgLTI1LDcgKzI1LDcg QEAgU2NvcGVkUmVzU3RhdGU6OlNjb3BlZFJlc1N0YXRlKCkgeworIH0KKyAKKyBTY29wZWRSZXNT dGF0ZTo6flNjb3BlZFJlc1N0YXRlKCkgeworLSNpZiAhQlVJTERGTEFHKElTX09QRU5CU0QpICYm ICFCVUlMREZMQUcoSVNfRlVDSFNJQSkKKysjaWYgIUJVSUxERkxBRyhJU19PUEVOQlNEKSAmJiAh QlVJTERGTEFHKElTX0ZVQ0hTSUEpICYmICEoQlVJTERGTEFHKElTX0xJTlVYKSAmJiAhZGVmaW5l ZChfX0dMSUJDX18pKQorIAorICAgLy8gUHJlZmVyIHJlc19uZGVzdHJveSB3aGVyZSBhdmFpbGFi bGUuCisgI2lmIEJVSUxERkxBRyhJU19BUFBMRSkgfHwgQlVJTERGTEFHKElTX0ZSRUVCU0QpCitA QCAtMzQsNyArMzQsNyBAQCBTY29wZWRSZXNTdGF0ZTo6flNjb3BlZFJlc1N0YXRlKCkgeworICAg cmVzX25jbG9zZSgmcmVzXyk7CisgI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQVBQTEUpIHx8IEJV SUxERkxBRyhJU19GUkVFQlNEKQorIAorLSNlbmRpZiAgLy8gIUJVSUxERkxBRyhJU19PUEVOQlNE KSAmJiAhQlVJTERGTEFHKElTX0ZVQ0hTSUEpCisrI2VuZGlmICAvLyAhQlVJTERGTEFHKElTX09Q RU5CU0QpICYmICFCVUlMREZMQUcoSVNfRlVDSFNJQSkgJiYgIShCVUlMREZMQUcoSVNfTElOVVgp ICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisgfQorIAorIGJvb2wgU2NvcGVkUmVzU3RhdGU6Oklz VmFsaWQoKSBjb25zdCB7CistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFuYWdlci5jYworKysrIHF0Ni13ZWJl bmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9t YW5hZ2VyLmNjCitAQCAtMzE1OCw3ICszMTU4LDcgQEAgSG9zdFJlc29sdmVyTWFuYWdlcjo6SG9z dFJlc29sdmVyTWFuYWdlcgorICAgaWYgKHN5c3RlbV9kbnNfY29uZmlnX25vdGlmaWVyXykKKyAg ICAgc3lzdGVtX2Ruc19jb25maWdfbm90aWZpZXJfLT5BZGRPYnNlcnZlcih0aGlzKTsKKyAjaWYg QlVJTERGTEFHKElTX1BPU0lYKSAmJiAhQlVJTERGTEFHKElTX0FQUExFKSAmJiAhQlVJTERGTEFH KElTX09QRU5CU0QpICYmIFwKKy0gICAgIUJVSUxERkxBRyhJU19BTkRST0lEKQorKyAgICAhQlVJ TERGTEFHKElTX0FORFJPSUQpICYmICEoQlVJTERGTEFHKElTX0xJTlVYKSAmJiAhZGVmaW5lZChf X0dMSUJDX18pKQorICAgRW5zdXJlRG5zUmVsb2FkZXJJbml0KCk7CisgI2VuZGlmCisgCistLS0g cXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2Ru c19yZWxvYWRlci5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL25ldC9kbnMvZG5zX3JlbG9hZGVyLmNjCitAQCAtNyw3ICs3LDggQEAKKyAjaW5jbHVkZSAi YnVpbGQvYnVpbGRfY29uZmlnLmgiCisgCisgI2lmIEJVSUxERkxBRyhJU19QT1NJWCkgJiYgIUJV SUxERkxBRyhJU19BUFBMRSkgJiYgIUJVSUxERkxBRyhJU19PUEVOQlNEKSAmJiBcCistICAgICFC VUlMREZMQUcoSVNfQU5EUk9JRCkgJiYgIUJVSUxERkxBRyhJU19GVUNIU0lBKQorKyAgICAhQlVJ TERGTEFHKElTX0FORFJPSUQpICYmICFCVUlMREZMQUcoSVNfRlVDSFNJQSkgJiYgXAorKyAgICAh KEJVSUxERkxBRyhJU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKKyAKKyAjaW5jbHVk ZSA8cmVzb2x2Lmg+CisgCistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfcHJvYy5jYworKysrIHF0Ni13ZWJlbmdp bmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9wcm9j LmNjCitAQCAtMTkyLDcgKzE5Miw4IEBAIGludCBTeXN0ZW1Ib3N0UmVzb2x2ZXJDYWxsKGNvbnN0 IHN0ZDo6c3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBiYXNlOjpCbG9ja2luZ1R5cGU6OldJTExfQkxPQ0spOworIAorICNpZiBCVUlMREZMQUcoSVNf UE9TSVgpICYmIFwKKy0gICAgIShCVUlMREZMQUcoSVNfQVBQTEUpIHx8IEJVSUxERkxBRyhJU19P UEVOQlNEKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkpCisrICAgICEoQlVJTERGTEFHKElTX0FQ UExFKSB8fCBCVUlMREZMQUcoSVNfT1BFTkJTRCkgfHwgQlVJTERGTEFHKElTX0FORFJPSUQpIHx8 IFwKKysgICAgKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkpCisg ICBEbnNSZWxvYWRlck1heWJlUmVsb2FkKCk7CisgI2VuZGlmCisgICBhdXRvIFthaSwgZXJyLCBv c19lcnJvcl0gPSBBZGRyZXNzSW5mbzo6R2V0KGhvc3QsIGhpbnRzLCBudWxscHRyLCBuZXR3b3Jr KTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTktY2hyb21p dW0tbXVzbC1zdGFjay11dGlscy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAxMTktY2hyb21pdW0tbXVzbC1zdGFjay11dGlscy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjU0OGExZGVjNzZiNAotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTktY2hyb21pdW0tbXVzbC1zdGFjay11dGls cy5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93 dGYvc3RhY2tfdXRpbC5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFja191dGls LmNjCitAQCAtMjksNyArMjksNyBAQCBzaXplX3QgR2V0VW5kZXJlc3RpbWF0ZWRTdGFja1NpemUo KSB7CisgLy8gRklYTUU6IE9uIE1hYyBPU1ggYW5kIExpbnV4LCB0aGlzIG1ldGhvZCBjYW5ub3Qg ZXN0aW1hdGUgc3RhY2sgc2l6ZQorIC8vIGNvcnJlY3RseSBmb3IgdGhlIG1haW4gdGhyZWFkLgor IAorLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkgfHwg QlVJTERGTEFHKElTX0ZSRUVCU0QpIHx8IFwKKysjZWxpZiBCVUlMREZMQUcoSVNfTElOVVgpIHx8 IEJVSUxERkxBRyhJU19BTkRST0lEKSB8fCBCVUlMREZMQUcoSVNfRlJFRUJTRCkgfHwgXAorICAg ICBCVUlMREZMQUcoSVNfRlVDSFNJQSkKKyAgIC8vIHB0aHJlYWRfZ2V0YXR0cl9ucCgpIGNhbiBm YWlsIGlmIHRoZSB0aHJlYWQgaXMgbm90IGludm9rZWQgYnkKKyAgIC8vIHB0aHJlYWRfY3JlYXRl KCkgKGUuZy4sIHRoZSBtYWluIHRocmVhZCBvZiBibGlua191bml0dGVzdHMpLgorQEAgLTk3LDcg Kzk3LDcgQEAgc2l6ZV90IEdldFVuZGVyZXN0aW1hdGVkU3RhY2tTaXplKCkgeworIH0KKyAKKyB2 b2lkKiBHZXRTdGFja1N0YXJ0KCkgeworLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgQlVJTERG TEFHKElTX0FORFJPSUQpIHx8IEJVSUxERkxBRyhJU19GUkVFQlNEKSB8fCBcCisrI2lmIEJVSUxE RkxBRyhJU19MSU5VWCkgfHwgQlVJTERGTEFHKElTX0FORFJPSUQpIHx8IEJVSUxERkxBRyhJU19G UkVFQlNEKSB8fCBcCisgICAgIEJVSUxERkxBRyhJU19GVUNIU0lBKQorICAgcHRocmVhZF9hdHRy X3QgYXR0cjsKKyAgIGludCBlcnJvcjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMjAtY2hyb21pdW0tbGliYy1tYWxsb2MucGF0Y2ggYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTIwLWNocm9taXVtLWxpYmMtbWFsbG9jLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZmEzMjgzMDc2MGNkCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMC1jaHJvbWl1bS1saWJj LW1hbGxvYy5wYXRjaApAQCAtMCwwICsxLDM0IEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5v cmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3Byb2Nlc3MvbWVtb3J5X2xpbnV4LmNjCisr KysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9wcm9jZXNz L21lbW9yeV9saW51eC5jYworQEAgLTE4LDYgKzE4LDEzIEBACisgI2luY2x1ZGUgImJhc2UvdGhy ZWFkaW5nL3RocmVhZF9yZXN0cmljdGlvbnMuaCIKKyAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29u ZmlnLmgiCisgCisrI2lmIGRlZmluZWQoTElCQ19HTElCQykKKytleHRlcm4gIkMiIHsKKytleHRl cm4gdm9pZCAqX19saWJjX21hbGxvYyhzaXplX3Qgc2l6ZSk7CisrZXh0ZXJuIHZvaWQgKl9fbGli Y19mcmVlKHZvaWQgKnB0cik7CisrfQorKyNlbmRpZgorKworIG5hbWVzcGFjZSBiYXNlIHsKKyAK KyBuYW1lc3BhY2UgeworQEAgLTExMiw3ICsxMTksNyBAQCBib29sIFVuY2hlY2tlZE1hbGxvYyhz aXplX3Qgc2l6ZSwgdm9pZCoqCisgICAgIGRlZmluZWQoVE9PTEtJVF9RVCkgfHwgIWRlZmluZWQo TElCQ19HTElCQykKKyAgICpyZXN1bHQgPSBtYWxsb2Moc2l6ZSk7CisgI2VsaWYgZGVmaW5lZChM SUJDX0dMSUJDKQorLSAgKnJlc3VsdCA9IF9fbGliY19tYWxsb2Moc2l6ZSk7CisrICAqcmVzdWx0 ID0gOjpfX2xpYmNfbWFsbG9jKHNpemUpOworICNlbmRpZgorICAgcmV0dXJuICpyZXN1bHQgIT0g bnVsbHB0cjsKKyB9CitAQCAtMTIzLDcgKzEzMCw3IEBAIHZvaWQgVW5jaGVja2VkRnJlZSh2b2lk KiBwdHIpIHsKKyAjZWxpZiBkZWZpbmVkKE1FTU9SWV9UT09MX1JFUExBQ0VTX0FMTE9DQVRPUikg fHwgIWRlZmluZWQoTElCQ19HTElCQykgfHwgZGVmaW5lZChUT09MS0lUX1FUKQorICAgZnJlZShw dHIpOworICNlbGlmIGRlZmluZWQoTElCQ19HTElCQykKKy0gIF9fbGliY19mcmVlKHB0cik7Cisr ICA6Ol9fbGliY19mcmVlKHB0cik7CisgI2VuZGlmCisgfQorIApkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMS1jaHJvbWl1bS1tdXNsLXN0YXQucGF0Y2ggYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIxLWNocm9taXVtLW11c2wtc3RhdC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjhjOGM0Yjg2M2I2NAot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjEtY2hy b21pdW0tbXVzbC1zdGF0LnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKKy0tLSBxdDYtd2ViZW5naW5l LTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMvZmlsZS5oCisrKysg cXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxl LmgKK0BAIC0xOSw3ICsxOSw4IEBACisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgor IAorICNpZiBCVUlMREZMQUcoSVNfQlNEKSB8fCBCVUlMREZMQUcoSVNfQVBQTEUpIHx8IEJVSUxE RkxBRyhJU19OQUNMKSB8fCBcCistICAgIEJVSUxERkxBRyhJU19GVUNIU0lBKSB8fCAoQlVJTERG TEFHKElTX0FORFJPSUQpICYmIF9fQU5EUk9JRF9BUElfXyA8IDIxKQorKyAgICBCVUlMREZMQUco SVNfRlVDSFNJQSkgfHwgKEJVSUxERkxBRyhJU19BTkRST0lEKSAmJiBfX0FORFJPSURfQVBJX18g PCAyMSkgfHwgXAorKyAgICAoQlVJTERGTEFHKElTX0xJTlVYKSAmJiAhZGVmaW5lZChfX0dMSUJD X18pKQorIHN0cnVjdCBzdGF0OworIG5hbWVzcGFjZSBiYXNlIHsKKyB0eXBlZGVmIHN0cnVjdCBz dGF0IHN0YXRfd3JhcHBlcl90OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEyMi1jaHJvbWl1bS1jb25kaXRpb25fdmFyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDEyMi1jaHJvbWl1bS1jb25kaXRpb25fdmFyLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNmM0MTMxMmU1MTZiCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMi1jaHJvbWl1bS1jb25k aXRpb25fdmFyLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK1VzZSBtb25vdG9uaWMgY2xvY2sgZm9y IHB0aHJlYWRfY29uZF90aW1lZHdhaXQgd2l0aCBtdXNsIHRvby4KKworLS0tIHF0Ni13ZWJlbmdp bmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvcGxhdGZvcm0v Y29uZGl0aW9uLXZhcmlhYmxlLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvcGxhdGZvcm0vY29uZGl0aW9uLXZhcmlhYmxlLmNjCitA QCAtMjAsNyArMjAsNyBAQCBuYW1lc3BhY2UgYmFzZSB7CisgCisgQ29uZGl0aW9uVmFyaWFibGU6 OkNvbmRpdGlvblZhcmlhYmxlKCkgeworICNpZiAoVjhfT1NfRlJFRUJTRCB8fCBWOF9PU19ORVRC U0QgfHwgVjhfT1NfT1BFTkJTRCB8fCBcCistICAgICAoVjhfT1NfTElOVVggJiYgVjhfTElCQ19H TElCQykpCisrICAgICBWOF9PU19MSU5VWCkKKyAgIC8vIE9uIEZyZWUvTmV0L09wZW5CU0QgYW5k IExpbnV4IHdpdGggZ2xpYmMgd2UgY2FuIGNoYW5nZSB0aGUgdGltZQorICAgLy8gc291cmNlIGZv ciBwdGhyZWFkX2NvbmRfdGltZWR3YWl0KCkgdG8gdXNlIHRoZSBtb25vdG9uaWMgY2xvY2suCisg ICBwdGhyZWFkX2NvbmRhdHRyX3QgYXR0cjsKK0BAIC05Niw3ICs5Niw3IEBAIGJvb2wgQ29uZGl0 aW9uVmFyaWFibGU6OldhaXRGb3IoTXV0ZXgqIG0KKyAgICAgICAmbmF0aXZlX2hhbmRsZV8sICZt dXRleC0+bmF0aXZlX2hhbmRsZSgpLCAmdHMpOworICNlbHNlCisgI2lmIChWOF9PU19GUkVFQlNE IHx8IFY4X09TX05FVEJTRCB8fCBWOF9PU19PUEVOQlNEIHx8IFwKKy0gICAgIChWOF9PU19MSU5V WCAmJiBWOF9MSUJDX0dMSUJDKSkKKysgICAgIFY4X09TX0xJTlVYKQorICAgLy8gT24gRnJlZS9O ZXQvT3BlbkJTRCBhbmQgTGludXggd2l0aCBnbGliYyB3ZSBjYW4gY2hhbmdlIHRoZSB0aW1lCisg ICAvLyBzb3VyY2UgZm9yIHB0aHJlYWRfY29uZF90aW1lZHdhaXQoKSB0byB1c2UgdGhlIG1vbm90 b25pYyBjbG9jay4KKyAgIHJlc3VsdCA9IGNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAm dHMpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMy1jaHJv bWl1bS1tdXNsLW5vLWV4ZWNpbmZvLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEyMy1jaHJvbWl1bS1tdXNsLW5vLWV4ZWNpbmZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjVmYWU3YmRlMTEyCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMy1jaHJvbWl1bS1tdXNsLW5vLWV4ZWNp bmZvLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKKysr KyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2RlYnVnL3N0 YWNrX3RyYWNlX3Bvc2l4LmNjCitAQCAtMzAsNyArMzAsNyBAQAorICNpZiAhZGVmaW5lZChVU0Vf U1lNQk9MSVpFKQorICNpbmNsdWRlIDxjeHhhYmkuaD4KKyAjZW5kaWYKKy0jaWYgIWRlZmluZWQo X19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYm ICFkZWZpbmVkKF9BSVgpCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisgI2VuZGlmCisgCitAQCAt OTcsNyArOTcsNyBAQCB2b2lkIERlbWFuZ2xlU3ltYm9scyhzdGQ6OnN0cmluZyogdGV4dCkKKyAg IC8vIE5vdGU6IGNvZGUgaW4gdGhpcyBmdW5jdGlvbiBpcyBOT1QgYXN5bmMtc2lnbmFsIHNhZmUg KHN0ZDo6c3RyaW5nIHVzZXMKKyAgIC8vIG1hbGxvYyBpbnRlcm5hbGx5KS4KKyAKKy0jaWYgIWRl ZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJD X18pICYmICFkZWZpbmVkKF9BSVgpCisgICBzdGQ6OnN0cmluZzo6c2l6ZV90eXBlIHNlYXJjaF9m cm9tID0gMDsKKyAgIHdoaWxlIChzZWFyY2hfZnJvbSA8IHRleHQtPnNpemUoKSkgeworICAgICAv LyBMb29rIGZvciB0aGUgc3RhcnQgb2YgYSBtYW5nbGVkIHN5bWJvbCwgZnJvbSBzZWFyY2hfZnJv bS4KK0BAIC0xNDQsNyArMTQ0LDcgQEAgY2xhc3MgQmFja3RyYWNlT3V0cHV0SGFuZGxlciB7Cisg ICB2aXJ0dWFsIH5CYWNrdHJhY2VPdXRwdXRIYW5kbGVyKCkgPSBkZWZhdWx0OworIH07CisgCist I2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lmIGRlZmluZWQo X19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorIHZvaWQgT3V0cHV0UG9pbnRlcih2b2lkKiBw b2ludGVyLCBCYWNrdHJhY2VPdXRwdXRIYW5kbGVyKiBoYW5kbGVyKSB7CisgICAvLyBUaGlzIHNo b3VsZCBiZSBtb3JlIHRoYW4gZW5vdWdoIHRvIHN0b3JlIGEgNjQtYml0IG51bWJlciBpbiBoZXg6 CisgICAvLyAxNiBoZXggZGlnaXRzICsgMSBmb3IgbnVsbC10ZXJtaW5hdG9yLgorQEAgLTg2OCw3 ICs4NjgsNyBAQCBzaXplX3QgQ29sbGVjdFN0YWNrVHJhY2Uodm9pZCoqIHRyYWNlLCBzCisgICAv LyBJZiB3ZSBkbyBub3QgaGF2ZSB1bndpbmQgdGFibGVzLCB0aGVuIHRyeSB0cmFjaW5nIHVzaW5n IGZyYW1lIHBvaW50ZXJzLgorICAgcmV0dXJuIGJhc2U6OmRlYnVnOjpUcmFjZVN0YWNrRnJhbWVQ b2ludGVycyhjb25zdF9jYXN0PGNvbnN0IHZvaWQqKj4odHJhY2UpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCwgMCk7CistI2VsaWYgIWRlZmlu ZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjZWxpZiBkZWZpbmVkKF9fR0xJQkNf XykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4g cGFnZSBkb2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQorICAgLy8gcmV0dXJuIHZh bHVlcywgd2UgdGFrZSBubyBjaGFuY2UuCisgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8 c2l6ZV90PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7CitAQCAtODgxLDEzICs4ODEsMTMgQEAg dm9pZCBTdGFja1RyYWNlOjpQcmludFdpdGhQcmVmaXgoY29uc3QgYworIC8vIE5PVEU6IFRoaXMg Y29kZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2Vzcwor IC8vIHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMg YWxsb3dlZCBoZXJlLgorIAorLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChf QUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIFByaW50 QmFja3RyYWNlT3V0cHV0SGFuZGxlciBoYW5kbGVyOworICAgUHJvY2Vzc0JhY2t0cmFjZSh0cmFj ZV8sIGNvdW50XywgcHJlZml4X3N0cmluZywgJmhhbmRsZXIpOworICNlbmRpZgorIH0KKyAKKy0j aWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChf X0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgdm9pZCBTdGFja1RyYWNlOjpPdXRwdXRUb1N0 cmVhbVdpdGhQcmVmaXgoc3RkOjpvc3RyZWFtKiBvcywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7Cisg ICBTdHJlYW1CYWNrdHJhY2VPdXRwdXRIYW5kbGVyIGhhbmRsZXIob3MpOworLS0tIHF0Ni13ZWJl bmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2NvZGVnZW4vZXh0 ZXJuYWwtcmVmZXJlbmNlLXRhYmxlLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdjgvc3JjL2NvZGVnZW4vZXh0ZXJuYWwtcmVmZXJlbmNlLXRhYmxlLmNj CitAQCAtMTIsNyArMTIsOSBAQAorIAorICNpZiBkZWZpbmVkKERFQlVHKSAmJiBkZWZpbmVkKFY4 X09TX0xJTlVYKSAmJiAhZGVmaW5lZChWOF9PU19BTkRST0lEKQorICNkZWZpbmUgU1lNQk9MSVpF X0ZVTkNUSU9OCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxleGVjaW5mby5o PgorKyNlbmRpZgorIAorICNpbmNsdWRlIDx2ZWN0b3I+CisgCitAQCAtMTAzLDcgKzEwNSw3IEBA IHZvaWQgRXh0ZXJuYWxSZWZlcmVuY2VUYWJsZTo6SW5pdChJc29sYXQKKyB9CisgCisgY29uc3Qg Y2hhciogRXh0ZXJuYWxSZWZlcmVuY2VUYWJsZTo6UmVzb2x2ZVN5bWJvbCh2b2lkKiBhZGRyZXNz KSB7CistI2lmZGVmIFNZTUJPTElaRV9GVU5DVElPTgorKyNpZiBkZWZpbmVkKFNZTUJPTElaRV9G VU5DVElPTikgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgICBjaGFyKiogbmFtZXMgPSBiYWNrdHJh Y2Vfc3ltYm9scygmYWRkcmVzcywgMSk7CisgICBjb25zdCBjaGFyKiBuYW1lID0gbmFtZXNbMF07 CisgICAvLyBUaGUgYXJyYXkgb2YgbmFtZXMgaXMgbWFsbG9jJ2VkLiBIb3dldmVyLCBlYWNoIG5h bWUgc3RyaW5nIGlzIHN0YXRpYwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEyMy1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRleHQucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIzLWNocm9taXVtLW11c2wtbm8tZ2V0Y29udGV4dC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ2NTIyZWUwYTA2Ngot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjMtY2hy b21pdW0tbXVzbC1uby1nZXRjb250ZXh0LnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKKy0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxl ci5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRp b25faGFuZGxlci5jYworQEAgLTQ5MCw3ICs0OTAsOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6 OlNpbXVsYXRlU2lnbmFsRGVsCisgICBzaWdpbmZvLnNpX2NvZGUgPSBTSV9VU0VSOworICAgc2ln aW5mby5zaV9waWQgPSBnZXRwaWQoKTsKKyAgIHVjb250ZXh0X3QgY29udGV4dDsKKysjaWYgZGVm aW5lZChfX0dMSUJDX18pCisgICBnZXRjb250ZXh0KCZjb250ZXh0KTsKKysjZW5kaWYKKyAgIHJl dHVybiBIYW5kbGVTaWduYWwoc2lnLCAmc2lnaW5mbywgJmNvbnRleHQpOworIH0KKyAKK0BAIC02 NzUsOSArNjc3LDE0IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsK KyAgIHN5c19wcmN0bChQUl9TRVRfRFVNUEFCTEUsIDEsIDAsIDAsIDApOworIAorICAgQ3Jhc2hD b250ZXh0IGNvbnRleHQ7CisrCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgaW50IGdldGNv bnRleHRfcmVzdWx0ID0gZ2V0Y29udGV4dCgmY29udGV4dC5jb250ZXh0KTsKKyAgIGlmIChnZXRj b250ZXh0X3Jlc3VsdCkKKyAgICAgcmV0dXJuIGZhbHNlOworKyNlbHNlCisrICByZXR1cm4gZmFs c2U7CisrI2VuZGlmCisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pCisgICAvLyBJbiBDUFVGaWxs RnJvbVVDb250ZXh0IGluIG1pbmlkdW1wd3JpdGVyLmNjIHRoZSBzdGFjayBwb2ludGVyIGlzIHJl dHJpZXZlZApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyNC1j aHJvbWl1bS1lbmFibGUtaTY4Ni5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAxMjQtY2hyb21pdW0tZW5hYmxlLWk2ODYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi4xMWQ4ZGU3YzIzZjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI0LWNocm9taXVtLWVuYWJsZS1pNjg2LnBhdGNoCkBA IC0wLDAgKzEsMTcgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL0JVSUxELmduCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vQlVJTEQuZ24KK0BAIC0xNTM3LDE0ICsxNTM3LDYgQEAgaWYgKCFpc19pb3MgJiYg IXVzZV9xdCkgeworICAgfQorIH0KKyAKKy0jIFRPRE8oY2Fzc2V3KTogQWRkIG1vcmUgT1MncyB0 aGF0IGRvbid0IHN1cHBvcnQgeDg2LgorLWlzX3ZhbGlkX3g4Nl90YXJnZXQgPQorLSAgICB0YXJn ZXRfb3MgIT0gImlvcyIgJiYgdGFyZ2V0X29zICE9ICJtYWMiICYmCistICAgICh0YXJnZXRfb3Mg IT0gImxpbnV4IiB8fCB1c2VfbGliZnV6emVyIHx8ICFidWlsZF93aXRoX2Nocm9taXVtKQorLWFz c2VydCgKKy0gICAgaXNfdmFsaWRfeDg2X3RhcmdldCB8fCB0YXJnZXRfY3B1ICE9ICJ4ODYiLAor LSAgICAiJ3RhcmdldF9jcHU9eDg2JyBpcyBub3Qgc3VwcG9ydGVkIGZvciAndGFyZ2V0X29zPSR0 YXJnZXRfb3MnLiBDb25zaWRlciBvbWl0dGluZyAndGFyZ2V0X2NwdScgKGRlZmF1bHQpIG9yIHVz aW5nICd0YXJnZXRfY3B1PXg2NCcgaW5zdGVhZC4iKQorLQorIGdyb3VwKCJjaHJvbWl1bV9idWls ZGVyX3BlcmYiKSB7CisgICB0ZXN0b25seSA9IHRydWUKKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjUtY2hyb21pdW0tcmVtb3ZlLXN0cmlwX2JpbmFyeS5w YXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjUtY2hyb21pdW0tcmVtb3Zl LXN0cmlwX2JpbmFyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAuLjExNWU0NDkyYTJiZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMjUtY2hyb21pdW0tcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaApAQCAtMCww ICsxLDMyIEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJTEQuZ24KKysrKyBxdDYtd2ViZW5naW5l LTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJ TEQuZ24KK0BAIC0zMzUsMTEgKzMzNSw3IEBAIHNvdXJjZV9zZXQoImxpYiIpIHsKKyAgIH0KKyB9 CisgCistaWYgKGlzX2xpbnV4KSB7CistICBjaHJvbWVkcml2ZXJfb3V0cHV0ID0gImNocm9tZWRy aXZlci51bnN0cmlwcGVkIgorLX0gZWxzZSB7CistICBjaHJvbWVkcml2ZXJfb3V0cHV0ID0gImNo cm9tZWRyaXZlciIKKy19CisrY2hyb21lZHJpdmVyX291dHB1dCA9ICJjaHJvbWVkcml2ZXIiCisg CisgZXhlY3V0YWJsZSgiJGNocm9tZWRyaXZlcl9vdXRwdXQiKSB7CisgICB0ZXN0b25seSA9IHRy dWUKK0BAIC0zNjEsMTYgKzM1Nyw2IEBAIGV4ZWN1dGFibGUoIiRjaHJvbWVkcml2ZXJfb3V0cHV0 IikgeworICAgfQorIH0KKyAKKy1pZiAoaXNfbGludXgpIHsKKy0gIHN0cmlwX2JpbmFyeSgiY2hy b21lZHJpdmVyIikgeworLSAgICB0ZXN0b25seSA9IHRydWUKKy0gICAgYmluYXJ5X2lucHV0ID0g IiRyb290X291dF9kaXIvJGNocm9tZWRyaXZlcl9vdXRwdXQiCistICAgIHN5bWJvbF9vdXRwdXQg PSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIuZGVidWciCistICAgIHN0cmlwcGVkX2JpbmFy eV9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIiCistICAgIGRlcHMgPSBbICI6 JGNocm9tZWRyaXZlcl9vdXRwdXQiIF0KKy0gIH0KKy19CistCisgcHl0aG9uX2xpYnJhcnkoImNo cm9tZWRyaXZlcl9weV90ZXN0cyIpIHsKKyAgIHRlc3Rvbmx5ID0gdHJ1ZQorICAgZGVwcyA9IFsK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjYtY2hyb21pdW0t bm8tY2RlZnMucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI2LWNocm9t aXVtLW5vLWNkZWZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uOTBmYWEzZDY2NGQwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDEyNi1jaHJvbWl1bS1uby1jZGVmcy5wYXRjaApAQCAtMCwwICsxLDM5IEBACist LS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3B0cmFjZS5oCisrKysgcXQ2 LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy9wdHJhY2UuaAorQEAgLTE3LDggKzE3LDYgQEAK KyAKKyAjaW5jbHVkZV9uZXh0IDxzeXMvcHRyYWNlLmg+CisgCistI2luY2x1ZGUgPHN5cy9jZGVm cy5oPgorLQorIC8vIGh0dHBzOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dp P2lkPTIyNDMzCisgI2lmICFkZWZpbmVkKFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEpICYmICFkZWZp bmVkKFBUX0dFVF9USFJFQURfQVJFQSkgJiYgXAorICAgICBkZWZpbmVkKF9fR0xJQkNfXykKKy0t LSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2xpYnN5bmMvc3JjL2luY2x1ZGUvc3luYy9zeW5jLmgKKysrKyBxdDYtd2ViZW5naW5lLTYu NC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJzeW5jL3NyYy9pbmNsdWRl L3N5bmMvc3luYy5oCitAQCAtMTksMTIgKzE5LDEzIEBACisgI2lmbmRlZiBfX1NZU19DT1JFX1NZ TkNfSAorICNkZWZpbmUgX19TWVNfQ09SRV9TWU5DX0gKKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZz Lmg+CisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgor IAorLV9fQkVHSU5fREVDTFMKKysjaWZkZWYgX19jcGx1c3BsdXMKKytleHRlcm4gIkMiIHsKKysj ZW5kaWYKKyAKKyBzdHJ1Y3Qgc3luY19sZWdhY3lfbWVyZ2VfZGF0YSB7CisgIGludDMyX3QgZmQy OworQEAgLTE1OCw2ICsxNTksOCBAQCBzdHJ1Y3Qgc3luY19wdF9pbmZvICpzeW5jX3B0X2luZm8o c3RydWN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBzeW5jX3B0 X2luZm8gKml0cik7Cisgdm9pZCBzeW5jX2ZlbmNlX2luZm9fZnJlZShzdHJ1Y3Qgc3luY19mZW5j ZV9pbmZvX2RhdGEgKmluZm8pOworIAorLV9fRU5EX0RFQ0xTCisrI2lmZGVmIF9fY3BsdXNwbHVz CisrfQorKyNlbmRpZgorIAorICNlbmRpZiAvKiBfX1NZU19DT1JFX1NZTkNfSCAqLwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyOC1jaHJvbWl1bS1zYW5kYm94 LW1lbWJhcnJpZXIucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI4LWNo cm9taXVtLXNhbmRib3gtbWVtYmFycmllci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjJlMTQ5MmMzZjYyMgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjgtY2hyb21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBh dGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxs X3NldHMuY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9z YW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCitAQCAtNDE4 LDYgKzQxOCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NTdGFydE8KKyAg IHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2V4aXQ6CisgICAgIGNhc2UgX19OUl9l eGl0X2dyb3VwOgorKyAgICBjYXNlIF9fTlJfbWVtYmFycmllcjoKKyAgICAgY2FzZSBfX05SX3dh aXQ0OgorICAgICBjYXNlIF9fTlJfd2FpdGlkOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyOS1jaHJvbWl1bS1zYW5k Ym94LXNoZWRfZ2V0cGFyYW0ucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTI5LWNocm9taXVtLXNhbmRib3gtc2hlZF9nZXRwYXJhbS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjgwZDkxYzc3ZThiYQotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjktY2hyb21pdW0tc2FuZGJveC1zaGVk X2dldHBhcmFtLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK0FsbG93IFNZU19zY2hlZF9nZXRwYXJh bSBhbmQgU1lTX3NjaGVkX2dldHNjaGVkdWxlcgorbXVzbCB1c2VzIHRoZW0gZm9yIHB0aHJlYWRf Z2V0c2NoZWRwYXJhbSgpCisKK3NvdXJjZTogaHR0cHM6Ly9naXQuYWxwaW5lbGludXgub3JnL2Fw b3J0cy9jb21taXQvY29tbXVuaXR5L2Nocm9taXVtP2lkPTU0YWY5ZjhhYzI0ZjUyZDM4MmM1NzU4 ZTI0NDViZjAyMDZlZmY0MGUKKworLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3Jk cGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9s aW51eC5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKK0BAIC05Nywx MCArOTcsMTAgQEAgUmVzdWx0RXhwciBSZW5kZXJlclByb2Nlc3NQb2xpY3k6OkV2YWx1YQorICAg ICBjYXNlIF9fTlJfc3lzaW5mbzoKKyAgICAgY2FzZSBfX05SX3RpbWVzOgorICAgICBjYXNlIF9f TlJfdW5hbWU6CistICAgICAgcmV0dXJuIEFsbG93KCk7CistICAgIGNhc2UgX19OUl9zY2hlZF9n ZXRhZmZpbml0eToKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dldHBhcmFtOgorICAgICBjYXNlIF9f TlJfc2NoZWRfZ2V0c2NoZWR1bGVyOgorKyAgICAgIHJldHVybiBBbGxvdygpOworKyAgICBjYXNl IF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHk6CisgICAgIGNhc2UgX19OUl9zY2hlZF9zZXRzY2hlZHVs ZXI6CisgICAgICAgcmV0dXJuIFJlc3RyaWN0U2NoZWRUYXJnZXQoR2V0UG9saWN5UGlkKCksIHN5 c25vKTsKKyAgICAgY2FzZSBfX05SX3BybGltaXQ2NDoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTAtY2hyb21pdW0tdW5idW5kbGUtZmZtcGVnLWF2X3N0cmVh bV9nZXRfZmlyc3RfZHRzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1 MC1jaHJvbWl1bS11bmJ1bmRsZS1mZm1wZWctYXZfc3RyZWFtX2dldF9maXJzdF9kdHMucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lN2Y2MDQ4ZmJjMWMKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9t aXVtLXVuYnVuZGxlLWZmbXBlZy1hdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cy5wYXRjaApAQCAtMCww ICsxLDEwIEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9idWlsZC9saW51eC91bmJ1bmRsZS9mZm1wZWcuZ24KKysrKyBxdDYtd2ViZW5naW5lLTYu NC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9saW51eC91bmJ1bmRsZS9mZm1wZWcuZ24K K0BAIC0xMiw2ICsxMiw3IEBAIHBrZ19jb25maWcoInN5c3RlbV9mZm1wZWciKSB7CisgICAgICJs aWJhdmZvcm1hdCIsCisgICAgICJsaWJhdnV0aWwiLAorICAgXQorKyAgZGVmaW5lcyA9IFsgImF2 X3N0cmVhbV9nZXRfZmlyc3RfZHRzKHN0cmVhbSk9c3RyZWFtLT5maXJzdF9kdHMiIF0KKyB9Cisg CisgYnVpbGRmbGFnX2hlYWRlcigiZmZtcGVnX2ZlYXR1cmVzIikgewpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1MS1jaHJvbWl1bS11bmJ1bmRsZWQtY3Jvc3Mt dG9vbGNoYWluLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1MS1jaHJv bWl1bS11bmJ1bmRsZWQtY3Jvc3MtdG9vbGNoYWluLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uNzQ2ZDJkZmI5YTdlCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1MS1jaHJvbWl1bS11bmJ1bmRsZWQtY3Jvc3Mt dG9vbGNoYWluLnBhdGNoCkBAIC0wLDAgKzEsMTMgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4y Lm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRs ZS9CVUlMRC5nbgorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZS9CVUlMRC5nbgorQEAgLTM1LDggKzM1LDgg QEAgZ2NjX3Rvb2xjaGFpbigiaG9zdCIpIHsKKyAgIGV4dHJhX2xkZmxhZ3MgPSBnZXRlbnYoIkJV SUxEX0xERkxBR1MiKQorIAorICAgdG9vbGNoYWluX2FyZ3MgPSB7CistICAgIGN1cnJlbnRfY3B1 ID0gY3VycmVudF9jcHUKKy0gICAgY3VycmVudF9vcyA9IGN1cnJlbnRfb3MKKysgICAgY3VycmVu dF9jcHUgPSBob3N0X2NwdQorKyAgICBjdXJyZW50X29zID0gaG9zdF9vcworICAgfQorIH0KKyAK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTItY2hyb21pdW0t d2VicnRjLXNpemVfdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTIt Y2hyb21pdW0td2VicnRjLXNpemVfdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjhmNjAyMDRmZjU4NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTItY2hyb21pdW0td2VicnRjLXNpemVfdC5wYXRjaApAQCAt MCwwICsxLDEwIEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9hdWRpb19wcm9jZXNzaW5nL2FlYzMv Y2xvY2tkcmlmdF9kZXRlY3Rvci5oCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvYXVkaW9fcHJvY2Vzc2luZy9h ZWMzL2Nsb2NrZHJpZnRfZGV0ZWN0b3IuaAorQEAgLTE0LDYgKzE0LDcgQEAKKyAjaW5jbHVkZSA8 c3RkZGVmLmg+CisgCisgI2luY2x1ZGUgPGFycmF5PgorKyNpbmNsdWRlIDxjc3RkZGVmPgorIAor IG5hbWVzcGFjZSB3ZWJydGMgeworIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDE1My1jaHJvbWl1bS13ZWJydGMtc2l6ZV90LnBhdGNoIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDE1My1jaHJvbWl1bS13ZWJydGMtc2l6ZV90LnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uM2I1YjdhM2Q1M2I5Ci0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1My1jaHJvbWl1bS13 ZWJydGMtc2l6ZV90LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYu NC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUv cGxhdGZvcm0vUGxhdGZvcm1NZXRob2RzLmgKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL3BsYXRmb3JtL1BsYXRm b3JtTWV0aG9kcy5oCitAQCAtMjIyLDExICsyMjIsMTEgQEAgaW5saW5lIHZvaWQgRGVmYXVsdEhp c3RvZ3JhbUJvb2xlYW4oUGxhdAorIHVzaW5nIFByb2dyYW1LZXlUeXBlICAgPSBzdGQ6OmFycmF5 PHVpbnQ4X3QsIDIwPjsKKyB1c2luZyBDYWNoZVByb2dyYW1GdW5jID0gdm9pZCAoKikoUGxhdGZv cm1NZXRob2RzICpwbGF0Zm9ybSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgUHJvZ3JhbUtleVR5cGUgJmtleSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZV90IHByb2dyYW1TaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdGQ6OnNpemVfdCBwcm9ncmFtU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgdWludDhfdCAqcHJvZ3JhbUJ5dGVzKTsKKyBpbmxpbmUgdm9pZCBEZWZh dWx0Q2FjaGVQcm9ncmFtKFBsYXRmb3JtTWV0aG9kcyAqcGxhdGZvcm0sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBQcm9ncmFtS2V5VHlwZSAma2V5LAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHByb2dyYW1TaXplLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RkOjpzaXplX3QgcHJvZ3JhbVNpemUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwcm9ncmFtQnl0ZXMpCisge30K KyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTQtY2hyb21p dW0tdWl0X3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTU0LWNocm9t aXVtLXVpdF90LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u ZDEzYTMxZmVlNDAyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDE1NC1jaHJvbWl1bS11aXRfdC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gcXQ2 LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmgKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmgKK0BAIC0x NCw2ICsxNCw4IEBACisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorIAor KyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKysKKyAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9jYXBhYmlsaXR5LmgiCisgI2luY2x1ZGUgInNhbmRib3gvc2FuZGJveF9leHBv cnQuaCIKKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDAt Y2hyb21pdW0tc25kaW8ucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAw LWNocm9taXVtLXNuZGlvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uZDc2OWI1MzE0OTdiCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1zbmRpby5wYXRjaApAQCAtMCwwICsxLDg0OSBAQAor LS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEv QlVJTEQuZ24KKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9t ZWRpYS9CVUlMRC5nbgorQEAgLTc4LDYgKzc4LDkgQEAgY29uZmlnKCJtZWRpYV9jb25maWciKSB7 CisgICAgICAgZGVmaW5lcyArPSBbICJETE9QRU5fUFVMU0VBVURJTyIgXQorICAgICB9CisgICB9 CisrICBpZiAodXNlX3NuZGlvKSB7CisrICAgIGRlZmluZXMgKz0gWyAiVVNFX1NORElPIiBdCisr ICB9CisgICBpZiAodXNlX2NyYXMpIHsKKyAgICAgZGVmaW5lcyArPSBbICJVU0VfQ1JBUyIgXQor ICAgfQorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0v bWVkaWEvYXVkaW8vQlVJTEQuZ24KKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9CVUlMRC5nbgorQEAgLTI0NSw2ICsyNDUsMTcgQEAgc291 cmNlX3NldCgiYXVkaW8iKSB7CisgICAgIHNvdXJjZXMgKz0gWyAibGludXgvYXVkaW9fbWFuYWdl cl9saW51eC5jYyIgXQorICAgfQorIAorKyAgaWYgKHVzZV9zbmRpbykgeworKyAgICBsaWJzICs9 IFsgInNuZGlvIiBdCisrICAgIHNvdXJjZXMgKz0gWworKyAgICAgICJzbmRpby9hdWRpb19tYW5h Z2VyX3NuZGlvLmNjIiwKKysgICAgICAic25kaW8vc25kaW9faW5wdXQuY2MiLAorKyAgICAgICJz bmRpby9zbmRpb19pbnB1dC5oIiwKKysgICAgICAic25kaW8vc25kaW9fb3V0cHV0LmNjIiwKKysg ICAgICAic25kaW8vc25kaW9fb3V0cHV0LmgiCisrICAgIF0KKysgIH0KKysKKyAgIGlmICh1c2Vf YWxzYSkgeworICAgICBsaWJzICs9IFsgImFzb3VuZCIgXQorICAgICBzb3VyY2VzICs9IFsKKy0t LSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1 ZGlvL2xpbnV4L2F1ZGlvX21hbmFnZXJfbGludXguY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4y L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9saW51eC9hdWRpb19tYW5hZ2VyX2xp bnV4LmNjCitAQCAtMjUsNiArMjUsMTEgQEAKKyAjaW5jbHVkZSAibWVkaWEvYXVkaW8vcHVsc2Uv YXVkaW9fbWFuYWdlcl9wdWxzZS5oIgorICNpbmNsdWRlICJtZWRpYS9hdWRpby9wdWxzZS9wdWxz ZV91dGlsLmgiCisgI2VuZGlmCisrI2lmIGRlZmluZWQoVVNFX1NORElPKQorKyNpbmNsdWRlICJt ZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgiCisrI2luY2x1ZGUgIm1lZGlh L2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlv L3NuZGlvX291dHB1dC5oIgorKyNlbmRpZgorIAorIG5hbWVzcGFjZSBtZWRpYSB7CisgCistLS0g L2Rldi9udWxsCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0v bWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5jYworQEAgLTAsMCArMSwxNDgg QEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNF IGZpbGUuCisrCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL2F1ZGlvX21hbmFnZXJfc25k aW8uaCIKKysKKysjaW5jbHVkZSAiYmFzZS9tZXRyaWNzL2hpc3RvZ3JhbV9tYWNyb3MuaCIKKysj aW5jbHVkZSAiYmFzZS9tZW1vcnkvcHRyX3V0aWwuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8v YXVkaW9fZGV2aWNlX2Rlc2NyaXB0aW9uLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlv X291dHB1dF9kaXNwYXRjaGVyLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlv X2lucHV0LmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX291dHB1dC5oIgor KyNpbmNsdWRlICJtZWRpYS9iYXNlL2xpbWl0cy5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNlL21l ZGlhX3N3aXRjaGVzLmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKysKKysvLyBNYXhpbXVt IG51bWJlciBvZiBvdXRwdXQgc3RyZWFtcyB0aGF0IGNhbiBiZSBvcGVuIHNpbXVsdGFuZW91c2x5 LgorK3N0YXRpYyBjb25zdCBpbnQga01heE91dHB1dFN0cmVhbXMgPSA0OworKworKy8vIERlZmF1 bHQgc2FtcGxlIHJhdGUgZm9yIGlucHV0IGFuZCBvdXRwdXQgc3RyZWFtcy4KKytzdGF0aWMgY29u c3QgaW50IGtEZWZhdWx0U2FtcGxlUmF0ZSA9IDQ4MDAwOworKworK3ZvaWQgQWRkRGVmYXVsdERl dmljZShBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysgIERDSEVDSyhkZXZpY2Vf bmFtZXMtPmVtcHR5KCkpOworKyAgZGV2aWNlX25hbWVzLT5wdXNoX2Zyb250KEF1ZGlvRGV2aWNl TmFtZTo6Q3JlYXRlRGVmYXVsdCgpKTsKKyt9CisrCisrYm9vbCBBdWRpb01hbmFnZXJTbmRpbzo6 SGFzQXVkaW9PdXRwdXREZXZpY2VzKCkgeworKyAgcmV0dXJuIHRydWU7CisrfQorKworK2Jvb2wg QXVkaW9NYW5hZ2VyU25kaW86Okhhc0F1ZGlvSW5wdXREZXZpY2VzKCkgeworKyAgcmV0dXJuIHRy dWU7CisrfQorKworK3ZvaWQgQXVkaW9NYW5hZ2VyU25kaW86OkdldEF1ZGlvSW5wdXREZXZpY2VO YW1lcygKKysgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7CisrICBEQ0hFQ0so ZGV2aWNlX25hbWVzLT5lbXB0eSgpKTsKKysgIEFkZERlZmF1bHREZXZpY2UoZGV2aWNlX25hbWVz KTsKKyt9CisrCisrdm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9PdXRwdXREZXZpY2VO YW1lcygKKysgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7CisrICBBZGREZWZh dWx0RGV2aWNlKGRldmljZV9uYW1lcyk7CisrfQorKworK2NvbnN0IGNoYXIqIEF1ZGlvTWFuYWdl clNuZGlvOjpHZXROYW1lKCkgeworKyAgcmV0dXJuICJTTkRJTyI7CisrfQorKworK0F1ZGlvUGFy YW1ldGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0SW5wdXRTdHJlYW1QYXJhbWV0ZXJzKAorKyAg ICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkKSB7CisrICBzdGF0aWMgY29uc3QgaW50IGtE ZWZhdWx0SW5wdXRCdWZmZXJTaXplID0gMTAyNDsKKysKKysgIGludCB1c2VyX2J1ZmZlcl9zaXpl ID0gR2V0VXNlckJ1ZmZlclNpemUoKTsKKysgIGludCBidWZmZXJfc2l6ZSA9IHVzZXJfYnVmZmVy X3NpemUgPworKyAgICAgIHVzZXJfYnVmZmVyX3NpemUgOiBrRGVmYXVsdElucHV0QnVmZmVyU2l6 ZTsKKysKKysgIHJldHVybiBBdWRpb1BhcmFtZXRlcnMoCisrICAgICAgQXVkaW9QYXJhbWV0ZXJz OjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIENIQU5ORUxfTEFZT1VUX1NURVJFTywKKysgICAgICBr RGVmYXVsdFNhbXBsZVJhdGUsIGJ1ZmZlcl9zaXplKTsKKyt9CisrCisrQXVkaW9NYW5hZ2VyU25k aW86OkF1ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5pcXVlX3B0cjxBdWRpb1RocmVhZD4gYXVkaW9f dGhyZWFkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9M b2dGYWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSkKKysgICAgOiBBdWRpb01hbmFnZXJCYXNlKHN0 ZDo6bW92ZShhdWRpb190aHJlYWQpLAorKyAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fbG9n X2ZhY3RvcnkpIHsKKysgIERMT0coV0FSTklORykgPDwgIkF1ZGlvTWFuYWdlclNuZGlvIjsKKysg IFNldE1heE91dHB1dFN0cmVhbXNBbGxvd2VkKGtNYXhPdXRwdXRTdHJlYW1zKTsKKyt9CisrCisr QXVkaW9NYW5hZ2VyU25kaW86On5BdWRpb01hbmFnZXJTbmRpbygpIHsKKysgIFNodXRkb3duKCk7 CisrfQorKworK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxpbmVh ck91dHB1dFN0cmVhbSgKKysgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAg IGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKKysgIERDSEVDS19FUShBdWRpb1Bh cmFtZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIsIHBhcmFtcy5mb3JtYXQoKSk7CisrICByZXR1cm4g TWFrZU91dHB1dFN0cmVhbShwYXJhbXMpOworK30KKysKKytBdWRpb091dHB1dFN0cmVhbSogQXVk aW9NYW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAorKyAgICBjb25zdCBB dWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9p ZCwKKysgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgeworKyAgRExPR19JRihF UlJPUiwgIWRldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVudGVkISI7CisrICBEQ0hF Q0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIHBhcmFtcy5mb3Jt YXQoKSk7CisrICByZXR1cm4gTWFrZU91dHB1dFN0cmVhbShwYXJhbXMpOworK30KKysKKytBdWRp b0lucHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxpbmVhcklucHV0U3RyZWFtKAor KyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29uc3Qgc3RkOjpzdHJp bmcmIGRldmljZV9pZCwKKysgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgewor KyAgRENIRUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVBUiwgcGFyYW1zLmZv cm1hdCgpKTsKKysgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsKKyt9CisrCisrQXVk aW9JbnB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5SW5wdXRTdHJl YW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICBjb25zdCBzdGQ6 OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNr KSB7CisrICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ks IHBhcmFtcy5mb3JtYXQoKSk7CisrICByZXR1cm4gTWFrZUlucHV0U3RyZWFtKHBhcmFtcyk7Cisr fQorKworK0F1ZGlvUGFyYW1ldGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0UHJlZmVycmVkT3V0 cHV0U3RyZWFtUGFyYW1ldGVycygKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZp Y2VfaWQsCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgaW5wdXRfcGFyYW1zKSB7CisrICAv LyBUT0RPKHRvbW1pKTogU3VwcG9ydCB8b3V0cHV0X2RldmljZV9pZHwuCisrICBETE9HX0lGKEVS Uk9SLCAhb3V0cHV0X2RldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVudGVkISI7Cisr ICBzdGF0aWMgY29uc3QgaW50IGtEZWZhdWx0T3V0cHV0QnVmZmVyU2l6ZSA9IDIwNDg7CisrCisr ICBDaGFubmVsTGF5b3V0IGNoYW5uZWxfbGF5b3V0ID0gQ0hBTk5FTF9MQVlPVVRfU1RFUkVPOwor KyAgaW50IHNhbXBsZV9yYXRlID0ga0RlZmF1bHRTYW1wbGVSYXRlOworKyAgaW50IGJ1ZmZlcl9z aXplID0ga0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplOworKyAgaWYgKGlucHV0X3BhcmFtcy5Jc1Zh bGlkKCkpIHsKKysgICAgc2FtcGxlX3JhdGUgPSBpbnB1dF9wYXJhbXMuc2FtcGxlX3JhdGUoKTsK KysgICAgY2hhbm5lbF9sYXlvdXQgPSBpbnB1dF9wYXJhbXMuY2hhbm5lbF9sYXlvdXQoKTsKKysg ICAgYnVmZmVyX3NpemUgPSBzdGQ6Om1pbihidWZmZXJfc2l6ZSwgaW5wdXRfcGFyYW1zLmZyYW1l c19wZXJfYnVmZmVyKCkpOworKyAgfQorKworKyAgaW50IHVzZXJfYnVmZmVyX3NpemUgPSBHZXRV c2VyQnVmZmVyU2l6ZSgpOworKyAgaWYgKHVzZXJfYnVmZmVyX3NpemUpCisrICAgIGJ1ZmZlcl9z aXplID0gdXNlcl9idWZmZXJfc2l6ZTsKKysKKysgIHJldHVybiBBdWRpb1BhcmFtZXRlcnMoCisr ICAgICAgQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIGNoYW5uZWxfbGF5 b3V0LAorKyAgICAgIHNhbXBsZV9yYXRlLCBidWZmZXJfc2l6ZSk7CisrfQorKworK0F1ZGlvSW5w dXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlSW5wdXRTdHJlYW0oCisrICAgIGNvbnN0 IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKSB7CisrICBETE9HKFdBUk5JTkcpIDw8ICJNYWtlSW5w dXRTdHJlYW0iOworKyAgcmV0dXJuIG5ldyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0odGhpcywKKysg ICAgICAgICAgICAgQXVkaW9EZXZpY2VEZXNjcmlwdGlvbjo6a0RlZmF1bHREZXZpY2VJZCwgcGFy YW1zKTsKKyt9CisrCisrQXVkaW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtl T3V0cHV0U3RyZWFtKAorKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcykgeworKyAg RExPRyhXQVJOSU5HKSA8PCAiTWFrZU91dHB1dFN0cmVhbSI7CisrICByZXR1cm4gbmV3IFNuZGlv QXVkaW9PdXRwdXRTdHJlYW0ocGFyYW1zLCB0aGlzKTsKKyt9CisrCisrfSAgLy8gbmFtZXNwYWNl IG1lZGlhCistLS0gL2Rldi9udWxsCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oCitAQCAt MCwwICsxLDY1IEBACisrLy8gQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3Jz LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdv dmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0 aGUgTElDRU5TRSBmaWxlLgorKworKyNpZm5kZWYgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFO QUdFUl9TTkRJT19IXworKyNkZWZpbmUgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9T TkRJT19IXworKworKyNpbmNsdWRlIDxzZXQ+CisrCisrI2luY2x1ZGUgImJhc2UvY29tcGlsZXJf c3BlY2lmaWMuaCIKKysjaW5jbHVkZSAiYmFzZS9tYWNyb3MuaCIKKysjaW5jbHVkZSAiYmFzZS9t ZW1vcnkvcmVmX2NvdW50ZWQuaCIKKysjaW5jbHVkZSAiYmFzZS90aHJlYWRpbmcvdGhyZWFkLmgi CisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX21hbmFnZXJfYmFzZS5oIgorKworK25hbWVz cGFjZSBtZWRpYSB7CisrCisrY2xhc3MgTUVESUFfRVhQT1JUIEF1ZGlvTWFuYWdlclNuZGlvIDog cHVibGljIEF1ZGlvTWFuYWdlckJhc2UgeworKyBwdWJsaWM6CisrICBBdWRpb01hbmFnZXJTbmRp byhzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9UaHJlYWQ+IGF1ZGlvX3RocmVhZCwKKysgICAgICAgICAg ICAgICAgICAgQXVkaW9Mb2dGYWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSk7CisrICB+QXVkaW9N YW5hZ2VyU25kaW8oKSBvdmVycmlkZTsKKysKKysgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlv TWFuYWdlci4KKysgIGJvb2wgSGFzQXVkaW9PdXRwdXREZXZpY2VzKCkgb3ZlcnJpZGU7CisrICBi b29sIEhhc0F1ZGlvSW5wdXREZXZpY2VzKCkgb3ZlcnJpZGU7CisrICB2b2lkIEdldEF1ZGlvSW5w dXREZXZpY2VOYW1lcyhBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIG92ZXJyaWRlOwor KyAgdm9pZCBHZXRBdWRpb091dHB1dERldmljZU5hbWVzKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmlj ZV9uYW1lcykgb3ZlcnJpZGU7CisrICBBdWRpb1BhcmFtZXRlcnMgR2V0SW5wdXRTdHJlYW1QYXJh bWV0ZXJzKAorKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQpIG92ZXJyaWRlOwor KyAgY29uc3QgY2hhciogR2V0TmFtZSgpIG92ZXJyaWRlOworKworKyAgLy8gSW1wbGVtZW50YXRp b24gb2YgQXVkaW9NYW5hZ2VyQmFzZS4KKysgIEF1ZGlvT3V0cHV0U3RyZWFtKiBNYWtlTGluZWFy T3V0cHV0U3RyZWFtKAorKyAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAg ICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKyAgQXVkaW9P dXRwdXRTdHJlYW0qIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAorKyAgICAgIGNvbnN0IEF1 ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2Vf aWQsCisrICAgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7Cisr ICBBdWRpb0lucHV0U3RyZWFtKiBNYWtlTGluZWFySW5wdXRTdHJlYW0oCisrICAgICAgY29uc3Qg QXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmlj ZV9pZCwKKysgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsK KysgIEF1ZGlvSW5wdXRTdHJlYW0qIE1ha2VMb3dMYXRlbmN5SW5wdXRTdHJlYW0oCisrICAgICAg Y29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcm IGRldmljZV9pZCwKKysgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVy cmlkZTsKKysKKysgcHJvdGVjdGVkOgorKyAgQXVkaW9QYXJhbWV0ZXJzIEdldFByZWZlcnJlZE91 dHB1dFN0cmVhbVBhcmFtZXRlcnMoCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9k ZXZpY2VfaWQsCisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMpIG92 ZXJyaWRlOworKworKyBwcml2YXRlOgorKyAgLy8gQ2FsbGVkIGJ5IE1ha2VMaW5lYXJPdXRwdXRT dHJlYW0gYW5kIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtLgorKyAgQXVkaW9PdXRwdXRTdHJl YW0qIE1ha2VPdXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOworKyAg QXVkaW9JbnB1dFN0cmVhbSogTWFrZUlucHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYg cGFyYW1zKTsKKysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihBdWRpb01hbmFnZXJTbmRp byk7CisrfTsKKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKysKKysjZW5kaWYgIC8vIE1FRElB X0FVRElPX1NORElPX0FVRElPX01BTkFHRVJfU05ESU9fSF8KKy0tLSAvZGV2L251bGwKKysrKyBx dDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRp by9zbmRpb19pbnB1dC5jYworQEAgLTAsMCArMSwyMDAgQEAKKysvLyBDb3B5cmlnaHQgMjAxMyBU aGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhp cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu IGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaW5jbHVkZSAiYmFzZS9i aW5kLmgiCisrI2luY2x1ZGUgImJhc2UvbG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL21hY3Jv cy5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3RpbWVzdGFtcF9oZWxwZXIuaCIKKysj aW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgorKyNpbmNs dWRlICJtZWRpYS9hdWRpby9hdWRpb19tYW5hZ2VyLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlv L3NuZGlvL3NuZGlvX2lucHV0LmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytzdGF0aWMg Y29uc3QgU2FtcGxlRm9ybWF0IGtTYW1wbGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OworKwor K3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGlu dCBkZWx0YSkKKyt7CisrICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2Fz dDxTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qPihhcmcpOworKworKyAgc2VsZi0+aHdfZGVsYXkgKz0g ZGVsdGE7CisrfQorKworK3ZvaWQgKlNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6VGhyZWFkRW50cnko dm9pZCAqYXJnKSB7CisrICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2Fz dDxTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qPihhcmcpOworKworKyAgc2VsZi0+VGhyZWFkTG9vcCgp OworKyAgcmV0dXJuIE5VTEw7CisrfQorKworK1NuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U25kaW9B dWRpb0lucHV0U3RyZWFtKEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXIsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmlj ZV9uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKQorKyAgICA6IG1hbmFnZXIobWFuYWdlciksCisr ICAgICAgcGFyYW1zKHBhcmFtcyksCisrICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUo cGFyYW1zKSksCisrICAgICAgc3RhdGUoa0Nsb3NlZCkgeworK30KKysKKytTbmRpb0F1ZGlvSW5w dXRTdHJlYW06On5TbmRpb0F1ZGlvSW5wdXRTdHJlYW0oKSB7CisrICBpZiAoc3RhdGUgIT0ga0Ns b3NlZCkKKysgICAgQ2xvc2UoKTsKKyt9CisrCisrYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06 Ok9wZW4oKSB7CisrICBzdHJ1Y3Qgc2lvX3BhciBwYXI7CisrICBpbnQgc2lnOworKworKyAgaWYg KHN0YXRlICE9IGtDbG9zZWQpCisrICAgIHJldHVybiBmYWxzZTsKKysKKysgIGlmIChwYXJhbXMu Zm9ybWF0KCkgIT0gQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTElORUFSICYmCisrICAgICAg cGFyYW1zLmZvcm1hdCgpICE9IEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xPV19MQVRFTkNZ KSB7CisrICAgIExPRyhXQVJOSU5HKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gZm9ybWF0LiI7Cisr ICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIHNpb19pbml0cGFyKCZwYXIpOworKyAgcGFy LnJhdGUgPSBwYXJhbXMuc2FtcGxlX3JhdGUoKTsKKysgIHBhci5yY2hhbiA9IHBhcmFtcy5jaGFu bmVscygpOworKyAgcGFyLmJpdHMgPSBTYW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1w bGVGb3JtYXQpOworKyAgcGFyLmJwcyA9IHBhci5iaXRzIC8gODsKKysgIHBhci5zaWcgPSBzaWcg PSBwYXIuYml0cyAhPSA4ID8gMSA6IDA7CisrICBwYXIubGUgPSBTSU9fTEVfTkFUSVZFOworKyAg cGFyLmFwcGJ1ZnN6ID0gcGFyYW1zLmZyYW1lc19wZXJfYnVmZmVyKCk7CisrCisrICBoZGwgPSBz aW9fb3BlbihTSU9fREVWQU5ZLCBTSU9fUkVDLCAwKTsKKysKKysgIGlmIChoZGwgPT0gTlVMTCkg eworKyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBvcGVuIGF1ZGlvIGRldmljZS4iOworKyAg ICByZXR1cm4gZmFsc2U7CisrICB9CisrCisrICBpZiAoIXNpb19zZXRwYXIoaGRsLCAmcGFyKSB8 fCAhc2lvX2dldHBhcihoZGwsICZwYXIpKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0 IHNldCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAgIGdvdG8gYmFkX2Nsb3NlOworKyAgfQorKwor KyAgaWYgKHBhci5yYXRlICAhPSAodW5zaWduZWQgaW50KXBhcmFtcy5zYW1wbGVfcmF0ZSgpIHx8 CisrICAgICAgcGFyLnJjaGFuICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLmNoYW5uZWxzKCkgfHwK KysgICAgICBwYXIuYml0cyAgIT0gKHVuc2lnbmVkIGludClTYW1wbGVGb3JtYXRUb0JpdHNQZXJD aGFubmVsKGtTYW1wbGVGb3JtYXQpIHx8CisrICAgICAgcGFyLnNpZyAgICE9ICh1bnNpZ25lZCBp bnQpc2lnIHx8CisrICAgICAgKHBhci5icHMgPiAxICYmIHBhci5sZSAhPSBTSU9fTEVfTkFUSVZF KSB8fAorKyAgICAgIChwYXIuYml0cyAhPSBwYXIuYnBzICogOCkpIHsKKysgICAgTE9HKEVSUk9S KSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gcGFyYW1ldGVycy4iOworKyAgICBnb3RvIGJhZF9jbG9z ZTsKKysgIH0KKysgIHN0YXRlID0ga1N0b3BwZWQ7CisrICBidWZmZXIgPSBuZXcgY2hhclthdWRp b19idXMtPmZyYW1lcygpICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCld OworKyAgc2lvX29ubW92ZShoZGwsICZPbk1vdmVDYWxsYmFjaywgdGhpcyk7CisrICByZXR1cm4g dHJ1ZTsKKytiYWRfY2xvc2U6CisrICBzaW9fY2xvc2UoaGRsKTsKKysgIHJldHVybiBmYWxzZTsK Kyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlN0YXJ0KEF1ZGlvSW5wdXRDYWxs YmFjayogY2IpIHsKKysKKysgIFN0YXJ0QWdjKCk7CisrCisrICBzdGF0ZSA9IGtSdW5uaW5nOwor KyAgaHdfZGVsYXkgPSAwOworKyAgY2FsbGJhY2sgPSBjYjsKKysgIHNpb19zdGFydChoZGwpOwor KyAgaWYgKHB0aHJlYWRfY3JlYXRlKCZ0aHJlYWQsIE5VTEwsICZUaHJlYWRFbnRyeSwgdGhpcykg IT0gMCkgeworKyAgICBMT0coRVJST1IpIDw8ICJGYWlsZWQgdG8gY3JlYXRlIHJlYWwtdGltZSB0 aHJlYWQgZm9yIHJlY29yZGluZy4iOworKyAgICBzaW9fc3RvcChoZGwpOworKyAgICBzdGF0ZSA9 IGtTdG9wcGVkOworKyAgfQorK30KKysKKyt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3Rv cCgpIHsKKysKKysgIGlmIChzdGF0ZSA9PSBrU3RvcHBlZCkKKysgICAgcmV0dXJuOworKworKyAg c3RhdGUgPSBrU3RvcFdhaXQ7CisrICBwdGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKKysgIHNp b19zdG9wKGhkbCk7CisrICBzdGF0ZSA9IGtTdG9wcGVkOworKworKyAgU3RvcEFnYygpOworK30K KysKKyt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6Q2xvc2UoKSB7CisrCisrICBpZiAoc3Rh dGUgPT0ga0Nsb3NlZCkKKysgICAgcmV0dXJuOworKworKyAgaWYgKHN0YXRlID09IGtSdW5uaW5n KQorKyAgICBTdG9wKCk7CisrCisrICBzdGF0ZSA9IGtDbG9zZWQ7CisrICBkZWxldGUgW10gYnVm ZmVyOworKyAgc2lvX2Nsb3NlKGhkbCk7CisrCisrICBtYW5hZ2VyLT5SZWxlYXNlSW5wdXRTdHJl YW0odGhpcyk7CisrfQorKworK2RvdWJsZSBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OkdldE1heFZv bHVtZSgpIHsKKysgIC8vIE5vdCBzdXBwb3J0ZWQKKysgIHJldHVybiAwLjA7CisrfQorKworK3Zv aWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgeworKyAg Ly8gTm90IHN1cHBvcnRlZC4gRG8gbm90aGluZy4KKyt9CisrCisrZG91YmxlIFNuZGlvQXVkaW9J bnB1dFN0cmVhbTo6R2V0Vm9sdW1lKCkgeworKyAgLy8gTm90IHN1cHBvcnRlZC4KKysgIHJldHVy biAwLjA7CisrfQorKworK2Jvb2wgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpJc011dGVkKCkgewor KyAgLy8gTm90IHN1cHBvcnRlZC4KKysgIHJldHVybiBmYWxzZTsKKyt9CisrCisrdm9pZCBTbmRp b0F1ZGlvSW5wdXRTdHJlYW06OlNldE91dHB1dERldmljZUZvckFlYygKKysgICAgY29uc3Qgc3Rk OjpzdHJpbmcmIG91dHB1dF9kZXZpY2VfaWQpIHsKKysgIC8vIE5vdCBzdXBwb3J0ZWQuCisrfQor KworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpUaHJlYWRMb29wKHZvaWQpIHsKKysgIHNp emVfdCB0b2RvLCBuOworKyAgY2hhciAqZGF0YTsKKysgIHVuc2lnbmVkIGludCBuZnJhbWVzOwor KyAgZG91YmxlIG5vcm1hbGl6ZWRfdm9sdW1lID0gMC4wOworKworKyAgbmZyYW1lcyA9IGF1ZGlv X2J1cy0+ZnJhbWVzKCk7CisrCisrICB3aGlsZSAoc3RhdGUgPT0ga1J1bm5pbmcgJiYgIXNpb19l b2YoaGRsKSkgeworKworKyAgICBHZXRBZ2NWb2x1bWUoJm5vcm1hbGl6ZWRfdm9sdW1lKTsKKysK KysgICAgLy8gcmVhZCBvbmUgYmxvY2sKKysgICAgdG9kbyA9IG5mcmFtZXMgKiBwYXJhbXMuR2V0 Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KTsKKysgICAgZGF0YSA9IGJ1ZmZlcjsKKysgICAg d2hpbGUgKHRvZG8gPiAwKSB7CisrICAgICAgbiA9IHNpb19yZWFkKGhkbCwgZGF0YSwgdG9kbyk7 CisrICAgICAgaWYgKG4gPT0gMCkKKysgICAgICAgIHJldHVybjsJLy8gdW5yZWNvdmVyYWJsZSBJ L08gZXJyb3IKKysgICAgICB0b2RvIC09IG47CisrICAgICAgZGF0YSArPSBuOworKyAgICB9Cisr ICAgIGh3X2RlbGF5IC09IG5mcmFtZXM7CisrCisrICAgIC8vIGNvbnZlcnQgZnJhbWVzIGNvdW50 IHRvIFRpbWVEZWx0YQorKyAgICBjb25zdCBiYXNlOjpUaW1lRGVsdGEgZGVsYXkgPSBBdWRpb1Rp bWVzdGFtcEhlbHBlcjo6RnJhbWVzVG9UaW1lKGh3X2RlbGF5LAorKyAgICAgIHBhcmFtcy5zYW1w bGVfcmF0ZSgpKTsKKysKKysgICAgLy8gcHVzaCBpbnRvIGJ1cworKyAgICBhdWRpb19idXMtPkZy b21JbnRlcmxlYXZlZDxTaWduZWRJbnQxNlNhbXBsZVR5cGVUcmFpdHM+KHJlaW50ZXJwcmV0X2Nh c3Q8aW50MTZfdCo+KGJ1ZmZlciksIG5mcmFtZXMpOworKworKyAgICAvLyBpbnZva2UgY2FsbGJh Y2sKKysgICAgY2FsbGJhY2stPk9uRGF0YShhdWRpb19idXMuZ2V0KCksIGJhc2U6OlRpbWVUaWNr czo6Tm93KCkgLSBkZWxheSwgMS4pOworKyAgfQorK30KKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVk aWEKKy0tLSAvZGV2L251bGwKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9zbmRpb19pbnB1dC5oCitAQCAtMCwwICsxLDkxIEBA CisrLy8gQ29weXJpZ2h0IDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVz ZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qt c3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUu CisrCisrI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXworKyNkZWZpbmUg TUVESUFfQVVESU9fU05ESU9fU05ESU9fSU5QVVRfSF8KKysKKysjaW5jbHVkZSA8c3RkaW50Lmg+ CisrI2luY2x1ZGUgPHN0cmluZz4KKysjaW5jbHVkZSA8c25kaW8uaD4KKysKKysjaW5jbHVkZSAi YmFzZS9jb21waWxlcl9zcGVjaWZpYy5oIgorKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgorKyNp bmNsdWRlICJiYXNlL21lbW9yeS93ZWFrX3B0ci5oIgorKyNpbmNsdWRlICJiYXNlL3RpbWUvdGlt ZS5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hZ2NfYXVkaW9fc3RyZWFtLmgiCisrI2luY2x1 ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX2lvLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlv X2RldmljZV9kZXNjcmlwdGlvbi5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3BhcmFt ZXRlcnMuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworK2NsYXNzIEF1ZGlvTWFuYWdlckJh c2U7CisrCisrLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9PdXRwdXRTdHJlYW0gdXNpbmcgc25k aW8oNykKKytjbGFzcyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0gOiBwdWJsaWMgQWdjQXVkaW9TdHJl YW08QXVkaW9JbnB1dFN0cmVhbT4geworKyBwdWJsaWM6CisrICAvLyBQYXNzIHRoaXMgdG8gdGhl IGNvbnN0cnVjdG9yIGlmIHlvdSB3YW50IHRvIGF0dGVtcHQgYXV0by1zZWxlY3Rpb24KKysgIC8v IG9mIHRoZSBhdWRpbyByZWNvcmRpbmcgZGV2aWNlLgorKyAgc3RhdGljIGNvbnN0IGNoYXIga0F1 dG9TZWxlY3REZXZpY2VbXTsKKysKKysgIC8vIENyZWF0ZSBhIFBDTSBPdXRwdXQgc3RyZWFtIGZv ciB0aGUgU05ESU8gZGV2aWNlIGlkZW50aWZpZWQgYnkKKysgIC8vIHxkZXZpY2VfbmFtZXwuIElm IHVuc3VyZSBvZiB3aGF0IHRvIHVzZSBmb3IgfGRldmljZV9uYW1lfCwgdXNlCisrICAvLyB8a0F1 dG9TZWxlY3REZXZpY2V8LgorKyAgU25kaW9BdWRpb0lucHV0U3RyZWFtKEF1ZGlvTWFuYWdlckJh c2UqIGF1ZGlvX21hbmFnZXIsCisrICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJp bmcmIGRldmljZV9uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEF1ZGlvUGFyYW1l dGVycyYgcGFyYW1zKTsKKysKKysgIH5TbmRpb0F1ZGlvSW5wdXRTdHJlYW0oKSBvdmVycmlkZTsK KysKKysgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvSW5wdXRTdHJlYW0uCisrICBib29sIE9w ZW4oKSBvdmVycmlkZTsKKysgIHZvaWQgU3RhcnQoQXVkaW9JbnB1dENhbGxiYWNrKiBjYWxsYmFj aykgb3ZlcnJpZGU7CisrICB2b2lkIFN0b3AoKSBvdmVycmlkZTsKKysgIHZvaWQgQ2xvc2UoKSBv dmVycmlkZTsKKysgIGRvdWJsZSBHZXRNYXhWb2x1bWUoKSBvdmVycmlkZTsKKysgIHZvaWQgU2V0 Vm9sdW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOworKyAgZG91YmxlIEdldFZvbHVtZSgpIG92 ZXJyaWRlOworKyAgYm9vbCBJc011dGVkKCkgb3ZlcnJpZGU7CisrICB2b2lkIFNldE91dHB1dERl dmljZUZvckFlYyhjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCkgb3ZlcnJpZGU7 CisrCisrIHByaXZhdGU6CisrCisrICBlbnVtIFN0cmVhbVN0YXRlIHsKKysgICAga0Nsb3NlZCwg ICAgICAgICAgICAvLyBOb3Qgb3BlbmVkIHlldAorKyAgICBrU3RvcHBlZCwgICAgICAgICAgIC8v IERldmljZSBvcGVuZWQsIGJ1dCBub3Qgc3RhcnRlZCB5ZXQKKysgICAga1J1bm5pbmcsICAgICAg ICAgICAvLyBTdGFydGVkLCBkZXZpY2UgcGxheWluZworKyAgICBrU3RvcFdhaXQgICAgICAgICAg IC8vIFN0b3BwaW5nLCB3YWl0aW5nIGZvciB0aGUgcmVhbC10aW1lIHRocmVhZCB0byBleGl0Cisr ICB9OworKworKyAgLy8gQy1zdHlsZSBjYWxsLWJhY2tzCisrICBzdGF0aWMgdm9pZCBPbk1vdmVD YWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0YSk7CisrICBzdGF0aWMgdm9pZCogVGhyZWFkRW50 cnkodm9pZCAqYXJnKTsKKysKKysgIC8vIENvbnRpbnVvdXNseSBtb3ZlcyBkYXRhIGZyb20gdGhl IGRldmljZSB0byB0aGUgY29uc3VtZXIKKysgIHZvaWQgVGhyZWFkTG9vcCgpOworKyAgLy8gT3Vy IGNyZWF0b3IsIHRoZSBhdWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlmaWVkIHdoZW4gd2Ug Y2xvc2UuCisrICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyOworKyAgLy8gUGFyYW1ldGVycyBv ZiB0aGUgc291cmNlCisrICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOworKyAgLy8gV2Ugc3RvcmUg ZGF0YSBoZXJlIGZvciBjb25zdW1lcgorKyAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvQnVzPiBhdWRp b19idXM7CisrICAvLyBDYWxsLWJhY2sgdGhhdCBjb25zdW1lcyByZWNvcmRlZCBkYXRhCisrICBB dWRpb0lucHV0Q2FsbGJhY2sqIGNhbGxiYWNrOyAgLy8gVmFsaWQgZHVyaW5nIGEgcmVjb3JkaW5n IHNlc3Npb24uCisrICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmljZQorKyAgc3RydWN0IHNp b19oZGwqIGhkbDsKKysgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0cmVhbQorKyAgZW51bSBT dHJlYW1TdGF0ZSBzdGF0ZTsKKysgIC8vIEhpZ2ggcHJpb3JpdHkgdGhyZWFkIHJ1bm5pbmcgVGhy ZWFkTG9vcCgpCisrICBwdGhyZWFkX3QgdGhyZWFkOworKyAgLy8gTnVtYmVyIG9mIGZyYW1lcyBi dWZmZXJlZCBpbiB0aGUgaGFyZHdhcmUKKysgIGludCBod19kZWxheTsKKysgIC8vIFRlbXBvcmFy eSBidWZmZXIgd2hlcmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJsZSBmb3JtYXQKKysg IGNoYXIqIGJ1ZmZlcjsKKysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTbmRpb0F1ZGlv SW5wdXRTdHJlYW0pOworK307CisrCisrfSAgLy8gbmFtZXNwYWNlIG1lZGlhCisrCisrI2VuZGlm ICAvLyBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXworLS0tIC9kZXYvbnVsbAorKysr IHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3Nu ZGlvL3NuZGlvX291dHB1dC5jYworQEAgLTAsMCArMSwxODMgQEAKKysvLyBDb3B5cmlnaHQgKGMp IDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNl IG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0 aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2luY2x1ZGUg ImJhc2UvbG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgorKyNpbmNsdWRl ICJiYXNlL3RpbWUvZGVmYXVsdF90aWNrX2Nsb2NrLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlv L2F1ZGlvX21hbmFnZXJfYmFzZS5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3RpbWVz dGFtcF9oZWxwZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0 LmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytzdGF0aWMgY29uc3QgU2FtcGxlRm9ybWF0 IGtTYW1wbGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OworKworK3ZvaWQgU25kaW9BdWRpb091 dHB1dFN0cmVhbTo6T25Nb3ZlQ2FsbGJhY2sodm9pZCAqYXJnLCBpbnQgZGVsdGEpIHsKKysgIFNu ZGlvQXVkaW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvT3V0cHV0 U3RyZWFtKj4oYXJnKTsKKysKKysgIHNlbGYtPmh3X2RlbGF5IC09IGRlbHRhOworK30KKysKKyt2 b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9uVm9sQ2FsbGJhY2sodm9pZCAqYXJnLCB1bnNp Z25lZCBpbnQgdm9sKSB7CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGlj X2Nhc3Q8U25kaW9BdWRpb091dHB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT52b2wgPSB2 b2w7CisrfQorKworK3ZvaWQgKlNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZEVudHJ5KHZv aWQgKmFyZykgeworKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0 PFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0qPihhcmcpOworKworKyAgc2VsZi0+VGhyZWFkTG9vcCgp OworKyAgcmV0dXJuIE5VTEw7CisrfQorKworK1NuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNuZGlv QXVkaW9PdXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNl KiBtYW5hZ2VyKQorKyAgICA6IG1hbmFnZXIobWFuYWdlciksCisrICAgICAgcGFyYW1zKHBhcmFt cyksCisrICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFyYW1zKSksCisrICAgICAg c3RhdGUoa0Nsb3NlZCksCisrICAgICAgbXV0ZXgoUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUikg eworK30KKysKKytTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjp+U25kaW9BdWRpb091dHB1dFN0cmVh bSgpIHsKKysgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQorKyAgICBDbG9zZSgpOworK30KKysKKyti b29sIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9wZW4oKSB7CisrICBzdHJ1Y3Qgc2lvX3BhciBw YXI7CisrICBpbnQgc2lnOworKworKyAgaWYgKHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFt ZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIgJiYKKysgICAgICBwYXJhbXMuZm9ybWF0KCkgIT0gQXVk aW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKKysgICAgTE9HKFdBUk5JTkcp IDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAg fQorKyAgc2lvX2luaXRwYXIoJnBhcik7CisrICBwYXIucmF0ZSA9IHBhcmFtcy5zYW1wbGVfcmF0 ZSgpOworKyAgcGFyLnBjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7CisrICBwYXIuYml0cyA9IFNh bXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCk7CisrICBwYXIuYnBzID0g cGFyLmJpdHMgLyA4OworKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5iaXRzICE9IDggPyAxIDogMDsK KysgIHBhci5sZSA9IFNJT19MRV9OQVRJVkU7CisrICBwYXIuYXBwYnVmc3ogPSBwYXJhbXMuZnJh bWVzX3Blcl9idWZmZXIoKTsKKysKKysgIGhkbCA9IHNpb19vcGVuKFNJT19ERVZBTlksIFNJT19Q TEFZLCAwKTsKKysgIGlmIChoZGwgPT0gTlVMTCkgeworKyAgICBMT0coRVJST1IpIDw8ICJDb3Vs ZG4ndCBvcGVuIGF1ZGlvIGRldmljZS4iOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBp ZiAoIXNpb19zZXRwYXIoaGRsLCAmcGFyKSB8fCAhc2lvX2dldHBhcihoZGwsICZwYXIpKSB7Cisr ICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHNldCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAg IGdvdG8gYmFkX2Nsb3NlOworKyAgfQorKyAgaWYgKHBhci5yYXRlICAhPSAodW5zaWduZWQgaW50 KXBhcmFtcy5zYW1wbGVfcmF0ZSgpIHx8CisrICAgICAgcGFyLnBjaGFuICE9ICh1bnNpZ25lZCBp bnQpcGFyYW1zLmNoYW5uZWxzKCkgfHwKKysgICAgICBwYXIuYml0cyAgIT0gKHVuc2lnbmVkIGlu dClTYW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpIHx8CisrICAgICAg cGFyLnNpZyAgICE9ICh1bnNpZ25lZCBpbnQpc2lnIHx8CisrICAgICAgKHBhci5icHMgPiAxICYm IHBhci5sZSAhPSBTSU9fTEVfTkFUSVZFKSB8fAorKyAgICAgIChwYXIuYml0cyAhPSBwYXIuYnBz ICogOCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gcGFyYW1ldGVy cy4iOworKyAgICBnb3RvIGJhZF9jbG9zZTsKKysgIH0KKysgIHN0YXRlID0ga1N0b3BwZWQ7Cisr ICB2b2xwZW5kaW5nID0gMDsKKysgIHZvbCA9IDA7CisrICBidWZmZXIgPSBuZXcgY2hhclthdWRp b19idXMtPmZyYW1lcygpICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCld OworKyAgc2lvX29ubW92ZShoZGwsICZPbk1vdmVDYWxsYmFjaywgdGhpcyk7CisrICBzaW9fb252 b2woaGRsLCAmT25Wb2xDYWxsYmFjaywgdGhpcyk7CisrICByZXR1cm4gdHJ1ZTsKKysgYmFkX2Ns b3NlOgorKyAgc2lvX2Nsb3NlKGhkbCk7CisrICByZXR1cm4gZmFsc2U7CisrfQorKworK3ZvaWQg U25kaW9BdWRpb091dHB1dFN0cmVhbTo6Q2xvc2UoKSB7CisrICBpZiAoc3RhdGUgPT0ga0Nsb3Nl ZCkKKysgICAgcmV0dXJuOworKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQorKyAgICBTdG9wKCk7 CisrICBzdGF0ZSA9IGtDbG9zZWQ7CisrICBkZWxldGUgW10gYnVmZmVyOworKyAgc2lvX2Nsb3Nl KGhkbCk7CisrICBtYW5hZ2VyLT5SZWxlYXNlT3V0cHV0U3RyZWFtKHRoaXMpOyAgLy8gQ2FsbHMg dGhlIGRlc3RydWN0b3IKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpTdGFy dChBdWRpb1NvdXJjZUNhbGxiYWNrKiBjYWxsYmFjaykgeworKyAgc3RhdGUgPSBrUnVubmluZzsK KysgIGh3X2RlbGF5ID0gMDsKKysgIHNvdXJjZSA9IGNhbGxiYWNrOworKyAgc2lvX3N0YXJ0KGhk bCk7CisrICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0 aGlzKSAhPSAwKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgcmVhbC10 aW1lIHRocmVhZC4iOworKyAgICBzaW9fc3RvcChoZGwpOworKyAgICBzdGF0ZSA9IGtTdG9wcGVk OworKyAgfQorK30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0b3AoKSB7Cisr ICBpZiAoc3RhdGUgPT0ga1N0b3BwZWQpCisrICAgIHJldHVybjsKKysgIHN0YXRlID0ga1N0b3BX YWl0OworKyAgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCk7CisrICBzaW9fc3RvcChoZGwpOwor KyAgc3RhdGUgPSBrU3RvcHBlZDsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFt OjpTZXRWb2x1bWUoZG91YmxlIHYpIHsKKysgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0ZXgpOwor KyAgdm9sID0gdiAqIFNJT19NQVhWT0w7CisrICB2b2xwZW5kaW5nID0gMTsKKysgIHB0aHJlYWRf bXV0ZXhfdW5sb2NrKCZtdXRleCk7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVh bTo6R2V0Vm9sdW1lKGRvdWJsZSogdikgeworKyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7 CisrICAqdiA9IHZvbCAqICgxLiAvIFNJT19NQVhWT0wpOworKyAgcHRocmVhZF9tdXRleF91bmxv Y2soJm11dGV4KTsKKyt9CisrCisrLy8gVGhpcyBzdHJlYW0gaXMgYWx3YXlzIHVzZWQgd2l0aCBz dWIgc2Vjb25kIGJ1ZmZlciBzaXplcywgd2hlcmUgaXQncworKy8vIHN1ZmZpY2llbnQgdG8gc2lt cGx5IGFsd2F5cyBmbHVzaCB1cG9uIFN0YXJ0KCkuCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3Ry ZWFtOjpGbHVzaCgpIHt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpUaHJlYWRM b29wKHZvaWQpIHsKKysgIGludCBhdmFpbCwgY291bnQsIHJlc3VsdDsKKysKKysgIHdoaWxlIChz dGF0ZSA9PSBrUnVubmluZykgeworKyAgICAvLyBVcGRhdGUgdm9sdW1lIGlmIG5lZWRlZAorKyAg ICBwdGhyZWFkX211dGV4X2xvY2soJm11dGV4KTsKKysgICAgaWYgKHZvbHBlbmRpbmcpIHsKKysg ICAgICB2b2xwZW5kaW5nID0gMDsKKysgICAgICBzaW9fc2V0dm9sKGhkbCwgdm9sKTsKKysgICAg fQorKyAgICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOworKworKyAgICAvLyBHZXQgZGF0 YSB0byBwbGF5CisrICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0 YW1wSGVscGVyOjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCisrCXBhcmFtcy5zYW1wbGVfcmF0ZSgp KTsKKysgICAgY291bnQgPSBzb3VyY2UtPk9uTW9yZURhdGEoZGVsYXksIGJhc2U6OlRpbWVUaWNr czo6Tm93KCksIDAsIGF1ZGlvX2J1cy5nZXQoKSk7CisrICAgIGF1ZGlvX2J1cy0+VG9JbnRlcmxl YXZlZDxTaWduZWRJbnQxNlNhbXBsZVR5cGVUcmFpdHM+KGNvdW50LCByZWludGVycHJldF9jYXN0 PGludDE2X3QqPihidWZmZXIpKTsKKysgICAgaWYgKGNvdW50ID09IDApIHsKKysgICAgICAvLyBX ZSBoYXZlIHRvIHN1Ym1pdCBzb21ldGhpbmcgdG8gdGhlIGRldmljZQorKyAgICAgIGNvdW50ID0g YXVkaW9fYnVzLT5mcmFtZXMoKTsKKysgICAgICBtZW1zZXQoYnVmZmVyLCAwLCBjb3VudCAqIHBh cmFtcy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpKTsKKysgICAgICBMT0coV0FSTklO RykgPDwgIk5vIGRhdGEgdG8gcGxheSwgcnVubmluZyBlbXB0eSBjeWNsZS4iOworKyAgICB9Cisr CisrICAgIC8vIFN1Ym1pdCBkYXRhIHRvIHRoZSBkZXZpY2UKKysgICAgYXZhaWwgPSBjb3VudCAq IHBhcmFtcy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpOworKyAgICByZXN1bHQgPSBz aW9fd3JpdGUoaGRsLCBidWZmZXIsIGF2YWlsKTsKKysgICAgaWYgKHJlc3VsdCA9PSAwKSB7Cisr ICAgICAgTE9HKFdBUk5JTkcpIDw8ICJBdWRpbyBkZXZpY2UgZGlzY29ubmVjdGVkLiI7CisrICAg ICAgYnJlYWs7CisrICAgIH0KKysKKysgICAgLy8gVXBkYXRlIGhhcmR3YXJlIHBvaW50ZXIKKysg ICAgaHdfZGVsYXkgKz0gY291bnQ7CisrICB9CisrfQorKworK30gIC8vIG5hbWVzcGFjZSBtZWRp YQorLS0tIC9kZXYvbnVsbAorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2No cm9taXVtL21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX291dHB1dC5oCitAQCAtMCwwICsxLDg2IEBA CisrLy8gQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRz IHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg QlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBm aWxlLgorKworKyNpZm5kZWYgTUVESUFfQVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCisrI2Rl ZmluZSBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KKysKKysjaW5jbHVkZSA8cHRo cmVhZC5oPgorKyNpbmNsdWRlIDxzbmRpby5oPgorKworKyNpbmNsdWRlICJiYXNlL3RpbWUvdGlj a19jbG9jay5oIgorKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgorKyNpbmNsdWRlICJtZWRp YS9hdWRpby9hdWRpb19pby5oIgorKworK25hbWVzcGFjZSBtZWRpYSB7CisrCisrY2xhc3MgQXVk aW9NYW5hZ2VyQmFzZTsKKysKKysvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVh bSB1c2luZyBzbmRpbyg3KQorK2NsYXNzIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0gOiBwdWJsaWMg QXVkaW9PdXRwdXRTdHJlYW0geworKyBwdWJsaWM6CisrICAvLyBUaGUgbWFuYWdlciBpcyBjcmVh dGluZyB0aGlzIG9iamVjdAorKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbShjb25zdCBBdWRpb1Bh cmFtZXRlcnMmIHBhcmFtcywKKysgICAgICAgICAgICAgICAgICAgICAgICAgQXVkaW9NYW5hZ2Vy QmFzZSogbWFuYWdlcik7CisrICB2aXJ0dWFsIH5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCk7Cisr CisrICAvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbS4KKysgIGJvb2wgT3Bl bigpIG92ZXJyaWRlOworKyAgdm9pZCBDbG9zZSgpIG92ZXJyaWRlOworKyAgdm9pZCBTdGFydChB dWRpb1NvdXJjZUNhbGxiYWNrKiBjYWxsYmFjaykgb3ZlcnJpZGU7CisrICB2b2lkIFN0b3AoKSBv dmVycmlkZTsKKysgIHZvaWQgU2V0Vm9sdW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOworKyAg dm9pZCBHZXRWb2x1bWUoZG91YmxlKiB2b2x1bWUpIG92ZXJyaWRlOworKyAgdm9pZCBGbHVzaCgp IG92ZXJyaWRlOworKworKyAgZnJpZW5kIHZvaWQgc25kaW9fb25tb3ZlKHZvaWQgKmFyZywgaW50 IGRlbHRhKTsKKysgIGZyaWVuZCB2b2lkIHNuZGlvX29udm9sKHZvaWQgKmFyZywgdW5zaWduZWQg aW50IHZvbCk7CisrICBmcmllbmQgdm9pZCAqc25kaW9fdGhyZWFkc3RhcnQodm9pZCAqYXJnKTsK KysKKysgcHJpdmF0ZToKKysgIGVudW0gU3RyZWFtU3RhdGUgeworKyAgICBrQ2xvc2VkLCAgICAg ICAgICAgIC8vIE5vdCBvcGVuZWQgeWV0CisrICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2 aWNlIG9wZW5lZCwgYnV0IG5vdCBzdGFydGVkIHlldAorKyAgICBrUnVubmluZywgICAgICAgICAg IC8vIFN0YXJ0ZWQsIGRldmljZSBwbGF5aW5nCisrICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8g U3RvcHBpbmcsIHdhaXRpbmcgZm9yIHRoZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKKysgIH07 CisrCisrICAvLyBDLXN0eWxlIGNhbGwtYmFja3MKKysgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxi YWNrKHZvaWQgKmFyZywgaW50IGRlbHRhKTsKKysgIHN0YXRpYyB2b2lkIE9uVm9sQ2FsbGJhY2so dm9pZCAqYXJnLCB1bnNpZ25lZCBpbnQgdm9sKTsKKysgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRy eSh2b2lkICphcmcpOworKworKyAgLy8gQ29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUg cHJvZHVjZXIgdG8gdGhlIGRldmljZQorKyAgdm9pZCBUaHJlYWRMb29wKHZvaWQpOworKworKyAg Ly8gT3VyIGNyZWF0b3IsIHRoZSBhdWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlmaWVkIHdo ZW4gd2UgY2xvc2UuCisrICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyOworKyAgLy8gUGFyYW1l dGVycyBvZiB0aGUgc291cmNlCisrICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOworKyAgLy8gU291 cmNlIHN0b3JlcyBkYXRhIGhlcmUKKysgIHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0J1cz4gYXVkaW9f YnVzOworKyAgLy8gQ2FsbC1iYWNrIHRoYXQgcHJvZHVjZXMgZGF0YSB0byBwbGF5CisrICBBdWRp b1NvdXJjZUNhbGxiYWNrKiBzb3VyY2U7CisrICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmlj ZQorKyAgc3RydWN0IHNpb19oZGwqIGhkbDsKKysgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0 cmVhbQorKyAgZW51bSBTdHJlYW1TdGF0ZSBzdGF0ZTsKKysgIC8vIEhpZ2ggcHJpb3JpdHkgdGhy ZWFkIHJ1bm5pbmcgVGhyZWFkTG9vcCgpCisrICBwdGhyZWFkX3QgdGhyZWFkOworKyAgLy8gUHJv dGVjdHMgdm9sLCB2b2xwZW5kaW5nIGFuZCBod19kZWxheQorKyAgcHRocmVhZF9tdXRleF90IG11 dGV4OworKyAgLy8gQ3VycmVudCB2b2x1bWUgaW4gdGhlIDAuLlNJT19NQVhWT0wgcmFuZ2UKKysg IGludCB2b2w7CisrICAvLyBTZXQgdG8gMSBpZiB2b2x1bWVzIG11c3QgYmUgcmVmcmVzaGVkIGlu IHRoZSByZWFsdGltZSB0aHJlYWQKKysgIGludCB2b2xwZW5kaW5nOworKyAgLy8gTnVtYmVyIG9m IGZyYW1lcyBidWZmZXJlZCBpbiB0aGUgaGFyZHdhcmUKKysgIGludCBod19kZWxheTsKKysgIC8v IFRlbXBvcmFyeSBidWZmZXIgd2hlcmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJsZSBm b3JtYXQKKysgIGNoYXIqIGJ1ZmZlcjsKKysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihT bmRpb0F1ZGlvT3V0cHV0U3RyZWFtKTsKKyt9OworKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQor KworKyNlbmRpZiAgLy8gTUVESUFfQVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCistLS0gcXQ2 LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9tZWRpYV9v cHRpb25zLmduaQorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L21lZGlhL21lZGlhX29wdGlvbnMuZ25pCitAQCAtMTMzLDYgKzEzMyw5IEBAIGRlY2xhcmVfYXJn cygpIHsKKyAgICMgRW5hYmxlcyBydW50aW1lIHNlbGVjdGlvbiBvZiBBTFNBIGxpYnJhcnkgZm9y IGF1ZGlvLgorICAgdXNlX2Fsc2EgPSBmYWxzZQorIAorKyAgIyBFbmFibGUgcnVudGltZSBzZWxl Y3Rpb24gb2Ygc25kaW8oNykKKysgIHVzZV9zbmRpbyA9IGZhbHNlCisrCisgICAjIEFsc2Egc2hv dWxkIGJlIHVzZWQgb24gbm9uLUFuZHJvaWQsIG5vbi1NYWMgUE9TSVggc3lzdGVtcy4KKyAgICMg QWxzYSBzaG91bGQgYmUgdXNlZCBvbiBkZXNrdG9wIENocm9tZWNhc3QgYW5kIGF1ZGlvLW9ubHkg Q2hyb21lY2FzdCBidWlsZHMuCisgICBpZiAoaXNfcG9zaXggJiYgIWlzX2FuZHJvaWQgJiYgIWlz X21hYyAmJgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMC1j aHJvbWl1bS1tdXNsLWhhY2tzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDMwMC1jaHJvbWl1bS1tdXNsLWhhY2tzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uNTI1YWViOGE2M2QyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMC1jaHJvbWl1bS1tdXNsLWhhY2tzLnBhdGNoCkBAIC0w LDAgKzEsNTIgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2No cm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2UuY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4y L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlLmNjCitAQCAtMjM0 LDcgKzIzNCw3IEBAIGJvb2wgU3RhY2tUcmFjZTo6V2lsbFN5bWJvbGl6ZVRvU3RyZWFtRm8KKyAg IC8vIFN5bWJvbHMgYXJlIG5vdCBleHBlY3RlZCB0byBiZSByZWxpYWJsZSB3aGVuIGduIGFyZ3Mg c3BlY2lmaWVzCisgICAvLyBzeW1ib2xfbGV2ZWw9MC4KKyAgIHJldHVybiBmYWxzZTsKKy0jZWxp ZiBkZWZpbmVkKF9fVUNMSUJDX18pIHx8IGRlZmluZWQoX0FJWCkKKysjZWxpZiBkZWZpbmVkKF9f R0xJQkNfXykgfHwgZGVmaW5lZChfQUlYKQorICAgLy8gU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJl YW0oKSBpcyBub3QgaW1wbGVtZW50ZWQgdW5kZXIgdWNsaWJjLCBub3IgQUlYLgorICAgLy8gU2Vl IGh0dHBzOi8vY3JidWcuY29tLzcwNjcyOAorICAgcmV0dXJuIGZhbHNlOworQEAgLTI3Myw3ICsy NzMsOSBAQCB2b2lkIFN0YWNrVHJhY2U6OlByaW50KCkgY29uc3QgeworIH0KKyAKKyB2b2lkIFN0 YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFtKHN0ZDo6b3N0cmVhbSogb3MpIGNvbnN0IHsKKysjaWYg ZGVmaW5lZChfX0dMSUJDX18pCisgICBPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgob3MsIG51bGxw dHIpOworKyNlbmRpZgorIH0KKyAKKyBzdGQ6OnN0cmluZyBTdGFja1RyYWNlOjpUb1N0cmluZygp IGNvbnN0IHsKK0BAIC0yODEsMTQgKzI4MywxNCBAQCBzdGQ6OnN0cmluZyBTdGFja1RyYWNlOjpU b1N0cmluZygpIGNvbnN0CisgfQorIHN0ZDo6c3RyaW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nV2l0 aFByZWZpeChjb25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CisgICBzdGQ6OnN0cmlu Z3N0cmVhbSBzdHJlYW07CistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9B SVgpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorICAgT3V0cHV0 VG9TdHJlYW1XaXRoUHJlZml4KCZzdHJlYW0sIHByZWZpeF9zdHJpbmcpOworICNlbmRpZgorICAg cmV0dXJuIHN0cmVhbS5zdHIoKTsKKyB9CisgCisgc3RkOjpvc3RyZWFtJiBvcGVyYXRvcjw8KHN0 ZDo6b3N0cmVhbSYgb3MsIGNvbnN0IFN0YWNrVHJhY2UmIHMpIHsKKy0jaWYgIWRlZmluZWQoX19V Q0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFk ZWZpbmVkKF9BSVgpCisgICBzLk91dHB1dFRvU3RyZWFtKCZvcyk7CisgI2Vsc2UKKyAgIG9zIDw8 ICJTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVhbSBub3QgaW1wbGVtZW50ZWQuIjsKKy0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9zb2NrZXQvdWRw X3NvY2tldF9wb3NpeC5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2No cm9taXVtL25ldC9zb2NrZXQvdWRwX3NvY2tldF9wb3NpeC5jYworQEAgLTExNTcsNyArMTE1Nywx MSBAQCBTZW5kUmVzdWx0IFVEUFNvY2tldFBvc2l4U2VuZGVyOjpJbnRlcm5hCisgICAgIG1zZ19p b3YtPnB1c2hfYmFjayh7Y29uc3RfY2FzdDxjaGFyKj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXIt Pmxlbmd0aCgpfSk7CisgICBtc2d2ZWMtPnJlc2VydmUoYnVmZmVycy5zaXplKCkpOworICAgZm9y IChzaXplX3QgaiA9IDA7IGogPCBidWZmZXJzLnNpemUoKTsgaisrKQorKyNpZmRlZiBfX0dMSUJD X18KKyAgICAgbXNndmVjLT5wdXNoX2JhY2soe3tudWxscHRyLCAwLCAmbXNnX2lvdltqXSwgMSwg bnVsbHB0ciwgMCwgMH0sIDB9KTsKKysjZWxzZQorKyAgICBtc2d2ZWMtPnB1c2hfYmFjayh7e251 bGxwdHIsIDAsICZtc2dfaW92W2pdLCAxLCAwLCAwLCAwfSwgMH0pOworKyNlbmRpZgorICAgaW50 IHJlc3VsdCA9IEhBTkRMRV9FSU5UUihTZW5kbW1zZyhmZCwgJm1zZ3ZlY1swXSwgYnVmZmVycy5z aXplKCksIDApKTsKKyAgIFNlbmRSZXN1bHQgc2VuZF9yZXN1bHQoMCwgMCwgc3RkOjptb3ZlKGJ1 ZmZlcnMpKTsKKyAgIGlmIChyZXN1bHQgPCAwKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMzAxLWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaCBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDEtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGFmYmVjNWI5OGVmCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMS1jaHJv bWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKQEAgLTAsMCArMSw4NiBAQAorLS0tIHF0Ni13ZWJlbmdp bmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21w LWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKKysrKyBxdDYt d2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworQEAgLTEz NCw2ICsxMzQsNyBAQCBuYW1lc3BhY2Ugc2FuZGJveCB7CisgUmVzdWx0RXhwciBSZXN0cmljdENs b25lVG9UaHJlYWRzQW5kRVBFUk1Gb3JrKCkgeworICAgY29uc3QgQXJnPHVuc2lnbmVkIGxvbmc+ IGZsYWdzKDApOworIAorKyNpZmRlZiBfX0dMSUJDX18KKyAgIC8vIFRPRE8obWRlbXBza3kpOiBF eHRlbmQgRFNMIHRvIHN1cHBvcnQgKGZsYWdzICYgfm1hc2sxKSA9PSBtYXNrMi4KKyAgIGNvbnN0 IHVpbnQ2NF90IGtBbmRyb2lkQ2xvbmVNYXNrID0gQ0xPTkVfVk0gfCBDTE9ORV9GUyB8IENMT05F X0ZJTEVTIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xPTkVfU0lH SEFORCB8IENMT05FX1RIUkVBRCB8CitAQCAtMTYwLDYgKzE2MSwxNiBAQCBSZXN1bHRFeHByIFJl c3RyaWN0Q2xvbmVUb1RocmVhZHNBbmRFUEVSCisgICByZXR1cm4gSWYoSXNBbmRyb2lkKCkgPyBh bmRyb2lkX3Rlc3QgOiBnbGliY190ZXN0LCBBbGxvdygpKQorICAgICAgIC5FbHNlSWYoaXNfZm9y a19vcl9jbG9uZV92Zm9yaywgRXJyb3IoRVBFUk0pKQorICAgICAgIC5FbHNlKENyYXNoU0lHU1lT Q2xvbmUoKSk7CisrI2Vsc2UKKysgIGNvbnN0IGludCByZXF1aXJlZCA9IENMT05FX1ZNIHwgQ0xP TkVfRlMgfCBDTE9ORV9GSUxFUyB8IENMT05FX1NJR0hBTkQgfAorKyAgICAgICAgICAgICAgICAg ICAgICAgQ0xPTkVfVEhSRUFEIHwgQ0xPTkVfU1lTVlNFTTsKKysgIGNvbnN0IGludCBzYWZlID0g Q0xPTkVfU0VUVExTIHwgQ0xPTkVfUEFSRU5UX1NFVFRJRCB8IENMT05FX0NISUxEX0NMRUFSVElE IHwKKysgICAgICAgICAgICAgICAgICAgQ0xPTkVfREVUQUNIRUQ7CisrICBjb25zdCBCb29sRXhw ciB0aHJlYWRfY2xvbmVfb2sgPSAoZmxhZ3MmfnNhZmUpPT1yZXF1aXJlZDsKKysgIHJldHVybiBJ Zih0aHJlYWRfY2xvbmVfb2ssIEFsbG93KCkpCisrICAgICAgLkVsc2VJZigoZmxhZ3MgJiAoQ0xP TkVfVk0gfCBDTE9ORV9USFJFQUQpKSA9PSAwLCBFcnJvcihFUEVSTSkpCisrICAgICAgLkVsc2Uo Q3Jhc2hTSUdTWVNDbG9uZSgpKTsKKysjZW5kaWYKKyB9CisgCisgI2lmbmRlZiBQUl9QQUNfUkVT RVRfS0VZUworLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworKysr IHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKK0BAIC00MjQsNiArNDI0LDkgQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TworICNpZiBkZWZpbmVkKF9f aTM4Nl9fKQorICAgICBjYXNlIF9fTlJfd2FpdHBpZDoKKyAjZW5kaWYKKysjaWYgIWRlZmluZWQo X19HTElCQ19fKQorKyAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgorKyNlbmRpZgorICAg ICAgIHJldHVybiB0cnVlOworICAgICBjYXNlIF9fTlJfY2xvbmU6ICAvLyBTaG91bGQgYmUgcGFy YW1ldGVyLXJlc3RyaWN0ZWQuCisgICAgIGNhc2UgX19OUl9zZXRuczogIC8vIFByaXZpbGVnZWQu CitAQCAtNDM2LDcgKzQzOSw5IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NT dGFydE8KKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fbWlwc19fKQorICAgICBjYXNlIF9fTlJfc2V0X3RocmVhZF9hcmVhOgorICNlbmRp ZgorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVz czoKKysjZW5kaWYKKyAgICAgY2FzZSBfX05SX3Vuc2hhcmU6CisgI2lmICFkZWZpbmVkKF9fbWlw c19fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKyAgICAgY2FzZSBfX05SX3Zmb3JrOgorQEAg LTU1MCw2ICs1NTUsOSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VB CisgICAgIGNhc2UgX19OUl9tbG9jazoKKyAgICAgY2FzZSBfX05SX211bmxvY2s6CisgICAgIGNh c2UgX19OUl9tdW5tYXA6CisrI2lmbmRlZiBfX0dMSUJDX18KKysgICAgY2FzZSBfX05SX21yZW1h cDoKKysjZW5kaWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX21hZHZpc2U6 CisgICAgIGNhc2UgX19OUl9taW5jb3JlOgorQEAgLTU2Nyw3ICs1NzUsOSBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VBCisgICAgIGNhc2UgX19OUl9tb2RpZnlfbGR0 OgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfbXByb3RlY3Q6CisrI2lmZGVmIF9fR0xJQkNfXwor ICAgICBjYXNlIF9fTlJfbXJlbWFwOgorKyNlbmRpZgorICAgICBjYXNlIF9fTlJfbXN5bmM6Cisg ICAgIGNhc2UgX19OUl9tdW5sb2NrYWxsOgorICAgICBjYXNlIF9fTlJfcmVhZGFoZWFkOgorLS0t IHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9w b2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYworKysrIHF0Ni13ZWJlbmdp bmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9y ZW5kZXJlcl9wb2xpY3lfbGludXguY2MKK0BAIC05OSw5ICs5OSwxNCBAQCBSZXN1bHRFeHByIFJl bmRlcmVyUHJvY2Vzc1BvbGljeTo6RXZhbHVhCisgICAgIGNhc2UgX19OUl91bmFtZToKKyAgICAg Y2FzZSBfX05SX3NjaGVkX2dldHBhcmFtOgorICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0c2NoZWR1 bGVyOgorKyNpZm5kZWYgX19HTElCQ19fCisrICAgIGNhc2UgX19OUl9zY2hlZF9zZXRzY2hlZHVs ZXI6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIEFsbG93KCk7CisgICAgIGNhc2UgX19OUl9zY2hl ZF9nZXRhZmZpbml0eToKKysjaWZkZWYgX19HTElCQ19fCisgICAgIGNhc2UgX19OUl9zY2hlZF9z ZXRzY2hlZHVsZXI6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIFJlc3RyaWN0U2NoZWRUYXJnZXQo R2V0UG9saWN5UGlkKCksIHN5c25vKTsKKyAgICAgY2FzZSBfX05SX3BybGltaXQ2NDoKKyAgICAg ICAvLyBTZWUgY3JidWcuY29tLzY2MjQ1MCBhbmQgc2V0cmxpbWl0IGNvbW1lbnQgYWJvdmUuCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5v LW1hbGxpbmZvLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMi1jaHJv bWl1bS1uby1tYWxsaW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjUxOTkzMGU3YmVmMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8tbWFsbGluZm8ucGF0Y2gKQEAgLTAsMCArMSw2 NyBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0v YmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworKysrIHF0Ni13ZWJlbmdpbmUt Ni40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvcHJvY2Vzcy9wcm9jZXNzX21ldHJpY3Nf cG9zaXguY2MKK0BAIC0xMDUsNyArMTA1LDggQEAgdm9pZCBJbmNyZWFzZUZkTGltaXRUbyh1bnNp Z25lZCBpbnQgbWF4XworIAorICNlbmRpZiAgLy8gIUJVSUxERkxBRyhJU19GVUNIU0lBKQorIAor LSNpZiBCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJVSUxERkxBRyhJU19DSFJPTUVPUykgfHwgQlVJ TERGTEFHKElTX0FORFJPSUQpCisrI2lmIChCVUlMREZMQUcoSVNfTElOVVgpICYmIGRlZmluZWQo X19HTElCQ19fKSkgfHwgXAorKwlCVUlMREZMQUcoSVNfQ0hST01FT1MpIHx8IEJVSUxERkxBRyhJ U19BTkRST0lEKQorIG5hbWVzcGFjZSB7CisgCisgc2l6ZV90IEdldE1hbGxvY1VzYWdlTWFsbGlu Zm8oKSB7CitAQCAtMTIzLDE3ICsxMjQsMTggQEAgc2l6ZV90IEdldE1hbGxvY1VzYWdlTWFsbGlu Zm8oKSB7CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZQorLSNlbmRpZiAgLy8gQlVJTERGTEFHKElT X0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQ0hST01FT1MpIHx8CistICAgICAgICAvLyBCVUlMREZM QUcoSVNfQU5EUk9JRCkKKysjZW5kaWYgIC8vIChCVUlMREZMQUcoSVNfTElOVVgpICYmIGRlZmlu ZWQoX19HTElCQ19fKSB8fAorKwkvLyBCVUlMREZMQUcoSVNfQ0hST01FT1MpIHx8IEJVSUxERkxB RyhJU19BTkRST0lEKQorIAorIHNpemVfdCBQcm9jZXNzTWV0cmljczo6R2V0TWFsbG9jVXNhZ2Uo KSB7CisgI2lmIEJVSUxERkxBRyhJU19BUFBMRSkKKyAgIG1hbGxvY19zdGF0aXN0aWNzX3Qgc3Rh dHMgPSB7MH07CisgICBtYWxsb2Nfem9uZV9zdGF0aXN0aWNzKG51bGxwdHIsICZzdGF0cyk7Cisg ICByZXR1cm4gc3RhdHMuc2l6ZV9pbl91c2U7CistI2VsaWYgQlVJTERGTEFHKElTX0xJTlVYKSB8 fCBCVUlMREZMQUcoSVNfQ0hST01FT1MpIHx8IEJVSUxERkxBRyhJU19BTkRST0lEKQorKyNlbGlm IChCVUlMREZMQUcoSVNfTElOVVgpICYmIGRlZmluZWQoX19HTElCQ19fKSkgfHwgXAorKwlCVUlM REZMQUcoSVNfQ0hST01FT1MpIHx8IEJVSUxERkxBRyhJU19BTkRST0lEKQorICAgcmV0dXJuIEdl dE1hbGxvY1VzYWdlTWFsbGluZm8oKTsKKy0jZWxpZiBCVUlMREZMQUcoSVNfRlVDSFNJQSkKKysj ZWxpZiBCVUlMREZMQUcoSVNfRlVDSFNJQSkgfHwgKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgIWRl ZmluZWQoX19HTElCQ19fKSkKKyAgIC8vIFRPRE8oZnVjaHNpYSk6IE5vdCBjdXJyZW50bHkgZXhw b3NlZC4gaHR0cHM6Ly9jcmJ1Zy5jb20vNzM1MDg3LgorICAgcmV0dXJuIDA7CisgI2VuZGlmCist LS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3Ry YWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVyLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQu Mi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92 aWRlci5jYworQEAgLTE3NCw3ICsxNzQsOCBAQCB2b2lkIFJlcG9ydEFwcGxlQWxsb2NTdGF0cyhz aXplX3QqIHRvdGFsCisgCisgI2lmIChCVUlMREZMQUcoVVNFX1BBUlRJVElPTl9BTExPQ19BU19N QUxMT0MpICYmIEJVSUxERkxBRyhJU19BTkRST0lEKSkgfHwgXAorICAgICAoIUJVSUxERkxBRyhV U0VfUEFSVElUSU9OX0FMTE9DX0FTX01BTExPQykgJiYgIUJVSUxERkxBRyhJU19XSU4pICYmICAg IFwKKy0gICAgICFCVUlMREZMQUcoSVNfQVBQTEUpICYmICFCVUlMREZMQUcoSVNfV0lOKSAmJiAh QlVJTERGTEFHKElTX0ZVQ0hTSUEpKQorKyAgICAgIUJVSUxERkxBRyhJU19BUFBMRSkgJiYgIUJV SUxERkxBRyhJU19XSU4pICYmICFCVUlMREZMQUcoSVNfRlVDSFNJQSkgJiYgXAorKyAgICAgIShC VUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpKQorIHZvaWQgUmVwb3J0 TWFsbGluZm9TdGF0cyhQcm9jZXNzTWVtb3J5RHVtcCogcG1kLAorICAgICAgICAgICAgICAgICAg ICAgICAgICBzaXplX3QqIHRvdGFsX3ZpcnR1YWxfc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZV90KiByZXNpZGVudF9zaXplLAorQEAgLTMzOSw3ICszNDAsNyBAQCBib29sIE1h bGxvY0R1bXBQcm92aWRlcjo6T25NZW1vcnlEdW1wKGNvCisgICAgICAgICAgICAgICAgICAgICAg JmFsbG9jYXRlZF9vYmplY3RzX2NvdW50KTsKKyAjZWxpZiBCVUlMREZMQUcoSVNfRlVDSFNJQSkK KyAvLyBUT0RPKGZ1Y2hzaWEpOiBQb3J0LCBzZWUgaHR0cHM6Ly9jcmJ1Zy5jb20vNzA2NTkyLgor LSNlbHNlCisrI2VsaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICBSZXBvcnRNYWxsaW5mb1N0YXRz KC8qcG1kPSovbnVsbHB0ciwgJnRvdGFsX3ZpcnR1YWxfc2l6ZSwgJnJlc2lkZW50X3NpemUsCisg ICAgICAgICAgICAgICAgICAgICAgICZhbGxvY2F0ZWRfb2JqZWN0c19zaXplLCAmYWxsb2NhdGVk X29iamVjdHNfY291bnQpOworICNlbmRpZgorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xp dGUvcHJvZmlsaW5nL21lbW9yeV9pbmZvLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUv cHJvZmlsaW5nL21lbW9yeV9pbmZvLmNjCitAQCAtMzUsNyArMzUsNyBAQCBib29sIE1lbW9yeVVz YWdlOjpJc1N1cHBvcnRlZCgpIHsKKyAKKyBNZW1vcnlVc2FnZSBHZXRNZW1vcnlVc2FnZSgpIHsK KyAgIE1lbW9yeVVzYWdlIHJlc3VsdDsKKy0jaWZkZWYgX19saW51eF9fCisrI2lmIGRlZmluZWQo X19saW51eF9fKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJ1c2FnZSByZXM7CisgICBpZiAo Z2V0cnVzYWdlKFJVU0FHRV9TRUxGLCAmcmVzKSA9PSAwKSB7CisgICAgIHJlc3VsdC5tYXhfcnNz X2tiID0gcmVzLnJ1X21heHJzczsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzA3MDAtYXJtdjdsLW5lb24ucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wNzAwLWFybXY3bC1uZW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uNWNhMTk1M2QyY2IzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDcwMC1hcm12N2wtbmVvbi5wYXRjaApAQCAtMCwwICsxLDEwIEBA CistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9za2lh L0JVSUxELmduCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0v c2tpYS9CVUlMRC5nbgorQEAgLTc4Niw3ICs3ODYsNiBAQCBza2lhX3NvdXJjZV9zZXQoInNraWFf b3B0cyIpIHsKKyAgICAgICAgICMgUm9vdCBidWlsZCBjb25maWcgc2V0cyAtbWZwdT0kYXJtX2Zw dSwgd2hpY2ggd2UgZXhwZWN0IHRvIGJlIG5lb24KKyAgICAgICAgICMgd2hlbiBydW5uaW5nIHRo aXMuCisgICAgICAgICBpZiAoIWFybV91c2VfbmVvbikgeworLSAgICAgICAgICBjb25maWdzIC09 IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOmNvbXBpbGVyX2FybV9mcHUiIF0KKyAgICAgICAg ICAgY2ZsYWdzICs9IFsgIi1tZnB1PW5lb24iIF0KKyAgICAgICAgIH0KKyAgICAgICB9CmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUwLWNocm9taXVtLW11c2wt Y3Jvc3Mtbm8tYXNtX3B0cmFjZV9oLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDc1MC1jaHJvbWl1bS1tdXNsLWNyb3NzLW5vLWFzbV9wdHJhY2VfaC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNhN2IwMTUwOTYyYwotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTAtY2hyb21pdW0tbXVz bC1jcm9zcy1uby1hc21fcHRyYWNlX2gucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorLS0tIHF0Ni13 ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRy YWNlX2R1bXBlci5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1 bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKK0BAIC0zOCw3ICszOCwxMiBAQAorIAor ICNpbmNsdWRlICJjbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1w ZXIuaCIKKyAKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPGFzbS9wdHJhY2Uu aD4KKysjZWxzZQorKy8qIEZvciBhcm0qLW11c2wgdGhpcyBkZWZpbml0aW9uIGlzIG1pc3Npbmcg Ki8KKysjZGVmaW5lIEFSTV9zcCB1cmVnc1sxM10KKysjZW5kaWYKKyAjaW5jbHVkZSA8YXNzZXJ0 Lmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CistLS0gcXQ2LXdl YmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3Jl X2R1bXBlci5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCitAQCAtMzIsNyArMzIsMTIgQEAKKyAKKyAjaW5j bHVkZSAiY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5oIgor IAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKyNl bHNlCisrLyogRm9yIGFybSotbXVzbCB0aGlzIGRlZmluaXRpb24gaXMgbWlzc2luZyAqLworKyNk ZWZpbmUgQVJNX3NwIHVyZWdzWzEzXQorKyNlbmRpZgorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAj aW5jbHVkZSA8ZWxmLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUxLWNocm9taXVtLW11c2wtYXJtLXVzZXJfdmZwLnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MS1jaHJvbWl1bS1tdXNsLWFy bS11c2VyX3ZmcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LmQ3YzE4MDM2ZDUwMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2gKQEAgLTAsMCArMSwy MCBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCisr KysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCitAQCAtMTcsNiArMTcs MTcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPHN5cy91c2VyLmg+Cisr I2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKytzdHJ1Y3QgdXNlcl92ZnAgeworKwl1bnNpZ25lZCBs b25nIGxvbmcgZnByZWdzWzMyXTsKKysJdW5zaWduZWQgbG9uZyBmcHNjcjsKKyt9OworK3N0cnVj dCB1c2VyX3ZmcF9leGMgeworKwl1bnNpZ25lZCBsb25nIGZwZXhjOworKwl1bnNpZ25lZCBsb25n IGZwaW5zdDsKKysJdW5zaWduZWQgbG9uZyBmcGluc3QyOworK307CisrI2VuZGlmIC8qICFkZWZp bmVkKF9fR0xJQkNfXykgKi8KKyAKKyAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CisgCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUyLWNocm9taXVtLW11c2wtYXJt LWVsZl9hdXh2X3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUyLWNo cm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi41MmY1ZjQ3YmU4MzEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUyLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3Qu cGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMv M3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvY3B1LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02 LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvY3B1LmNjCitAQCAtMTY1LDYg KzE2NSwxNSBAQCBzdGF0aWMgVjhfSU5MSU5FIHZvaWQgX19jcHVpZChpbnQgY3B1X2luCisgCisg I2lmIFY4X0hPU1RfQVJDSF9BUk0gfHwgVjhfSE9TVF9BUkNIX0FSTTY0CisgCisrI2lmbmRlZiBf X0dMSUJDX18KKysjaW5jbHVkZSA8ZWxmLmg+CisrI2lmZGVmIF9fTFA2NF9fCisrdHlwZWRlZiBF bGY2NF9hdXh2X3QgZWxmX2F1eHZfdDsKKysjZWxzZQorK3R5cGVkZWYgRWxmMzJfYXV4dl90IGVs Zl9hdXh2X3Q7CisrI2VuZGlmCisrI2VuZGlmCisrCisgc3RhdGljIHVpbnQzMl90IFJlYWRFTEZI V0NhcHMoKSB7CisgICB1aW50MzJfdCByZXN1bHQgPSAwOworICNpZiBWOF9HTElCQ19QUkVSRVEo MiwgMTYpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAwLWNy b3NzLWJ1aWxkLWV4YW1wbGVzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDkwMC1jcm9zcy1idWlsZC1leGFtcGxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjlhNmFjYzZhZjZkZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDAtY3Jvc3MtYnVpbGQtZXhhbXBsZXMucGF0Y2gKQEAg LTAsMCArMSwxNiBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9leGFtcGxlcy9DTWFr ZUxpc3RzLnR4dAorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvZXhhbXBsZXMvQ01ha2VMaXN0cy50 eHQKK0BAIC0xLDcgKzEsNiBAQAorIGNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAzLjE2 KQorIAorIHF0X2V4YW1wbGVzX2J1aWxkX2JlZ2luKEVYVEVSTkFMX0JVSUxEKQorLWlmKE5PVCBD TUFLRV9DUk9TU0NPTVBJTElORykgI1FUQlVHLTg2NTMzCisgICAgIGlmKFRBUkdFVCBRdDo6V2Vi RW5naW5lQ29yZSkKKyAgICAgICAgIGFkZF9zdWJkaXJlY3Rvcnkod2ViZW5naW5lcXVpY2spCisg ICAgIGVuZGlmKCkKK0BAIC0xNCw1ICsxMyw0IEBAIGlmKE5PVCBDTUFLRV9DUk9TU0NPTVBJTElO RykgI1FUQlVHLTg2NTMKKyAgICAgaWYoVEFSR0VUIFF0OjpQZGZXaWRnZXRzKQorICAgICAgICAg YWRkX3N1YmRpcmVjdG9yeShwZGZ3aWRnZXRzKQorICAgICBlbmRpZigpCistZW5kaWYoKQorIHF0 X2V4YW1wbGVzX2J1aWxkX2VuZCgpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv dGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44ZTM1Mzc5ZjEzMzQKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVtcGxhdGUKQEAgLTAsMCArMSwxODMgQEAKKyMgVGVt cGxhdGUgZmlsZSBmb3IgJ3F0Ni13ZWJlbmdpbmUnCitwa2duYW1lPXF0Ni13ZWJlbmdpbmUKK3Zl cnNpb249Ni40LjIKK3JldmlzaW9uPTEKK3dya3NyYz0icXR3ZWJlbmdpbmUtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufSIKK2J1aWxkX3N0eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iCisgLURR VF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1fZmZtcGVnPU9OCisgLURRVF9GRUFUVVJFX3dlYmVu Z2luZV9zeXN0ZW1fbGliZXZlbnQ9T04KKyAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3RlbV9n bj1PTgorIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVfc3lzdGVtX2ljdT1PTgorIC1EUVRfRkVBVFVS RV93ZWJlbmdpbmVfd2VicnRjX3BpcGV3aXJlPU9OCisgLUROaW5qYV9FWEVDVVRBQkxFPSRYQlBT X1dSQVBQRVJESVIvbmluamEKKyAtRFFUX0JVSUxEX0VYQU1QTEVTPU9OCisgLURQS0dfQ09ORklH X0hPU1RfRVhFQ1VUQUJMRT0ke1BLR19DT05GSUdfRk9SX0JVSUxEfSIKK2hvc3RtYWtlZGVwZW5k cz0icXQ2LWJhc2UgcGVybCBwa2ctY29uZmlnIG5vZGVqcyBweXRob24zLWh0bWw1bGliCisgcXQ2 LWRlY2xhcmF0aXZlLXRvb2xzIHByb3RvYnVmIGdwZXJmIGZsZXggbnNzLWRldmVsIGxpYndlYnAt ZGV2ZWwKKyBpY3UtZGV2ZWwgbGliZXZlbnQtZGV2ZWwiCittYWtlZGVwZW5kcz0icXQ2LWJhc2Ut ZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIHB1bHNlYXVkaW8tZGV2ZWwKKyBxdDYtdG9vbHMt ZGV2ZWwgcXQ2LXdlYnNvY2tldHMtZGV2ZWwgbGliZmxhYy1kZXZlbCBxdDYtc3ZnLWRldmVsCisg YWxzYS1saWItZGV2ZWwgbGlidnB4LWRldmVsIHBjaXV0aWxzLWRldmVsIG9wdXMtZGV2ZWwgbGli eHNsdC1kZXZlbAorIGxpYnhtbDItZGV2ZWwgZnJlZXR5cGUtZGV2ZWwgbGNtczItZGV2ZWwgbGli d2VicC1kZXZlbCBpY3UtZGV2ZWwKKyByZTItZGV2ZWwgemxpYi1kZXZlbCBsaWJwbmctZGV2ZWwg bWluaXppcC1kZXZlbCBoYXJmYnV6ei1kZXZlbAorIG5zcy1kZXZlbCBsaWJYY3Vyc29yLWRldmVs IGxpYlhjb21wb3NpdGUtZGV2ZWwgbGliWFNjcm5TYXZlci1kZXZlbAorIHByb3RvYnVmLWRldmVs IGZmbXBlZy1kZXZlbCBzbmFwcHktZGV2ZWwgbGliZXZlbnQtZGV2ZWwgcGlwZXdpcmUtZGV2ZWwK KyBsaWJ4a2JmaWxlLWRldmVsIHF0Ni1sb2NhdGlvbi1kZXZlbCBxdDYtd2ViY2hhbm5lbC1kZXZl bCBsaWJ4c2htZmVuY2UtZGV2ZWwiCisjIE5vdCB3b3JraW5nIHByb3Blcmx5IHdpdGggSFRUUFMg d2l0aG91dCB0aG9zZSBwYWNrYWdlcworIyBOb3Qgc3RyaWN0IGRlcGVuZGVuY2llcywgdGhvdWdo CitkZXBlbmRzPSJxdDYtcGx1Z2luLXRscy1vcGVuc3NsIHF0Ni1wbHVnaW4tdGxzLXFjZXJ0b25s eSIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdv cmsgLSBXZWJlbmdpbmUiCittYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igor bGljZW5zZT0iR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9ubHksIExHUEwtMy4wLW9ubHksIEJTRC0z LUNsYXVzZSIKK2hvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKK2Rpc3RmaWxlcz0iaHR0cHM6 Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVy c2lvbn0vc3VibW9kdWxlcy9xdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRh ci54eiIKK2NoZWNrc3VtPWZmYTk0NTUxOGQxY2M4ZDllZTczNTIzZThkOWMyMDkwODQ0ZjVhMmQ5 YzdlYWMwNWM0YWQwNzk0NzJhMTE5YzkKKworbm9jcm9zcz0idW50aWwgbGF0ZXIsIEkgbmVlZCBj YWxpYnJlIGZpcnN0IgorCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07dGhlbgorCWNvbmZpZ3VyZV9h cmdzKz0iIC1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz1UUlVFIgorCWNvbmZp Z3VyZV9hcmdzKz0iIC1EQ01BS0VfVE9PTENIQUlOX0ZJTEU9L3Vzci9saWIvY21ha2UvUXQ2L3F0 LnRvb2xjaGFpbi5jbWFrZSIKK2ZpCisKK2lmIFsgIiRYQlBTX0xJQkMiID0gIm11c2wiIF07IHRo ZW4KKwlob3N0bWFrZWRlcGVuZHMrPSIgbXVzbC1sZWdhY3ktY29tcGF0IgorZmkKKworaWYgWyAi JFhCUFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwltYWtlZGVwZW5kcys9IiBtdXNs LWxlZ2FjeS1jb21wYXQiCitmaQorCitpZiBbICEgIiRYQlBTX1dPUkRTSVpFIiA9ICIkWEJQU19U QVJHRVRfV09SRFNJWkUiIF07IHRoZW4KKwlicm9rZW49IndlYmVuZ2luZSBjYW4gYmUgYnVpbHQg b25seSBpZiB3b3JkIHNpemUgbWF0Y2hlcyIKK2ZpCisKK2lmIFsgIiRYQlBTX1dPUkRTSVpFIiA9 IDMyIF07IHRoZW4KKwlDRkxBR1M9LWcxCisJQ1hYRkxBR1M9LWcxCisJTERGTEFHUz0iLVdsLC0t bm8ta2VlcC1tZW1vcnkiCisJYnJva2VuPSJub2RlanMgY29tcHJlc3MganMgZmlsZXMgZmFpbHVy ZSIKK2ZpCisKK2Nhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCXBwYyopIGJyb2tlbj0i bm90IHBvcnRlZCIgOzsKK2VzYWMKKworI2J1aWxkX29wdGlvbnM9ImV4YW1wbGVzIgorI2J1aWxk X29wdGlvbnNfZGVmYXVsdD0iZXhhbXBsZXMiCisjZGVzY19vcHRpb25fZXhhbXBsZXM9IkJ1aWxk IGV4YW1wbGVzIgorCitzdWJwYWNrYWdlcz0icXQ2LXdlYmVuZ2luZS1kZXZlbCIKKworI2lmIFsg IiRidWlsZF9vcHRpb25fZXhhbXBsZXMiIF07IHRoZW4KKwlzdWJwYWNrYWdlcys9IiBxdDYtd2Vi ZW5naW5lLWV4YW1wbGVzIgorI2ZpCisKK19ib290c3RyYXBfZ24oKSB7CisJIyBCb290c3RyYXAg Z24gKGdlbmVyYXRlIG5pbmphKQorCWVjaG8gIkJvb3RzdHJhcHBpbmcgJ2duJyIKKwljZCAke3dy a3NyY30vc3JjLzNyZHBhcnR5L2duCisJQ0ZMQUdTPSIkQ0ZMQUdTX2hvc3QiIENYWEZMQUdTPSIk Q1hYRkxBR1NfaG9zdCIgTERGTEFHUz0iJExERkxBR1NfaG9zdCIgXAorCVBLR0NPTkZJRz0vdXNy L2Jpbi9wa2djb25maWcgUEtHX0NPTkZJR19QQVRIPSIvdXNyL2xpYi9wa2djb25maWc6L3Vzci9z aGFyZS9wa2djb25maWciIFwKKwkJcHl0aG9uMyBidWlsZC9nZW4ucHkgLS1uby1sYXN0LWNvbW1p dC1wb3NpdGlvbiAtLW91dC1wYXRoIFwKKwkJCSR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24vb3V0 L1JlbGVhc2UgLS1jYyAiJHtDQ19ob3N0Oi0kQ0N9IiBcCisJCQktLWN4eCAiJHtDWFhfaG9zdDot JENYWH0iIC0tbGQgIiR7Q1hYX2hvc3Q6LSRDWFh9IiAtLWFyICIke0FSX2hvc3Q6LSRBUn0iIFwK KwkJCS0tcXQtdmVyc2lvbiAiJHt2ZXJzaW9ufS5xdHdlYmVuZ2luZS5xdC5pbyIKKwluaW5qYSAt QyBvdXQvUmVsZWFzZSBnbgorCWNkICR7d3Jrc3JjfQorfQorCitfdW5idW5kbGVfbGlicygpIHsK KwljZCAke3dya3NyY30vc3JjLzNyZHBhcnR5L2Nocm9taXVtCisJZWNobyBEcm9wcGluZyBidW5k bGVkIGxpYnMgZnJvbSBjaHJvbWl1bQorCSMgVXNlIHN5c3RlbS1wcm92aWRlZCBsaWJyYXJpZXMu CisJIyBUT0RPOiB1c2Vfc3lzdGVtX2h1bnNwZWxsICh1cHN0cmVhbSBjaGFuZ2VzIG5lZWRlZCku CisJIyBUT0RPOiB1c2Vfc3lzdGVtX2xpYnNydHAuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX2xpYnVz YiAoaHR0cDovL2NyYnVnLmNvbS8yNjYxNDkpLgorCSMgVE9ETzogdXNlX3N5c3RlbV9zc2wgKGh0 dHA6Ly9jcmJ1Zy5jb20vNTgwODcpLgorCSMgVE9ETzogdXNlX3N5c3RlbV9zcWxpdGUgKGh0dHA6 Ly9jcmJ1Zy5jb20vMjIyMDgpLgorCSMgVE9ETzogdXNlX3N5c3RlbV9pY3UgKHNlZ2ZhdWx0cykK KwkjIHVzZV9zeXN0ZW1fcHJvdG9idWYKKwkjIHVzZV9zeXN0ZW1fdjg9MQorCSMgdXNlX3N5c3Rl bV96bGliPTEKKwkjIGJ6aXAyIGpzb25jcHAgbWluaXppcCB4ZGdfdXRpbHMgc3BlZXgKKwlzeXN0 ZW09IgorCQlmZm1wZWcKKwkJZmxhYworCQlmb250Y29uZmlnCisJCWZyZWV0eXBlCisJCWhhcmZi dXp6LW5nCisJCWljdQorCQlsaWJkcm0KKwkJbGliZXZlbnQKKwkJbGlianBlZworCQlsaWJwbmcK KwkJbGlid2VicAorCQlsaWJ4bWwKKwkJbGlieHNsdAorCQlvcHVzCisJCXJlMgorCQlzbmFwcHkK KwkiCisJYnVpbGQvbGludXgvdW5idW5kbGUvcmVwbGFjZV9nbl9maWxlcy5weSAtLXN5c3RlbS1s aWJyYXJpZXMgJHtzeXN0ZW19Cit9CisKKyMgUHJvdmlkZSBhIHdyYXBwZXIgdG8gcnVuIC4veGJw cy1zcmMgLWogMSBidWlsZCBsYXRlcgorX3dyYXBfbmluamEoKSB7CisJY2F0IDw8LSdfRU9GJyA+ IiRYQlBTX1dSQVBQRVJESVIiL25pbmphCisJIyEvYmluL3NoCisKKwlleGVjIC91c3IvYmluL25p bmphICROSU5KQUZMQUdTICIkQCIKKwlfRU9GCisJY2htb2QgK3ggIiRYQlBTX1dSQVBQRVJESVIi L25pbmphCit9CisKK3ByZV9jb25maWd1cmUoKSB7CisJX2Jvb3RzdHJhcF9nbgorCSMgX3VuYnVu ZGxlX2xpYnMKKwlfd3JhcF9uaW5qYQorCWV4cG9ydCBQQVRIPSIkUEFUSDoke3dya3NyY30vc3Jj LzNyZHBhcnR5L2duL291dC9SZWxlYXNlIgorfQorCitwcmVfYnVpbGQoKSB7CisJZXhwb3J0IFBB VEg9IiRQQVRIOiR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2UiCisJZXhwb3J0 IE5JTkpBRkxBR1M9IiRtYWtlam9icyIKKworfQorCitwcmVfaW5zdGFsbCgpIHsKKwlleHBvcnQg UEFUSD0iJFBBVEg6JHt3cmtzcmN9L3NyYy8zcmRwYXJ0eS9nbi9vdXQvUmVsZWFzZSIKK30KKwor cG9zdF9pbnN0YWxsKCkgeworCWxvY2FsIF9maWxlCisJZmluZCAiJHtERVNURElSfSIvdXNyL2xp Yi9xdDYvZXhhbXBsZXMgXAorCQktcGF0aCAnKi9saWIvcXQ2LyoqL2xpYi9xdDYvKicgLXR5cGUg ZiB8CisJd2hpbGUgcmVhZCBfZmlsZTsgZG8KKwkJbXYgIiRfZmlsZSIgIiR7X2ZpbGUlL2xpYi9x dDYvKn0iCisJZG9uZQorfQorCitxdDYtd2ViZW5naW5lLWRldmVsX3BhY2thZ2UoKSB7CisJZGVw ZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni13ZWJjaGFubmVs LWRldmVsPj0ke3ZlcnNpb259XzEKKwkgcXQ2LWRlY2xhcmF0aXZlLWRldmVsPj0ke3ZlcnNpb259 XzEgcXQ2LWxvY2F0aW9uLWRldmVsPj0ke3ZlcnNpb259XzEiCisJc2hvcnRfZGVzYys9IiAtIGRl dmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQor CQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJCXZtb3Zl IHVzci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJdm1vdmUgInVz ci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCX0KK30KKworcXQ2 LXdlYmVuZ2luZS1leGFtcGxlc19wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIgLSBzYW1wbGUg YnJvd3NlcnMiCisJZGVwZW5kcz0icXQ2LXN2ZyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUg dXNyL2xpYi9xdDYvZXhhbXBsZXMKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvdXBkYXRlIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3VwZGF0ZQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg0NDU1MjQ2NTIyMgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKQEAgLTAsMCArMSBAQAorcGtnbmFtZT0i JHtwa2duYW1lLzYtL30tZXZlcnl3aGVyZS1zcmMiCgpGcm9tIDczZDhlZDcwZGFmMTZmOWRkNzJi MzUyOTliZTkwM2Q5ODlkZDljYTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRG LTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQog PGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTk6MTA6NTggKzA3 MDAKU3ViamVjdDogW1BBVENIIDMvOV0gTmV3IHBhY2thZ2U6IHB5dGhvbjMtcHlxdDYtd2ViZW5n aW5lLTYuMy4xCgotLS0KIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUtZGV2ZWwgICAg fCAgMSArCiBzcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2ViZW5naW5lL3RlbXBsYXRlIHwgMzIgKysr KysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2ViZW5naW5lLWRldmVs CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9weXRob24zLXB5cXQ2LXdlYmVuZ2luZS90ZW1w bGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUtZGV2ZWwg Yi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2ViZW5naW5lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIw MDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uZjE4OWJiMzUyNTQyCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9weXRob24zLXB5cXQ2LXdlYmVuZ2luZS1kZXZlbApAQCAtMCwwICsxIEBACitweXRo b24zLXB5cXQ2LXdlYmVuZ2luZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUvdGVtcGxhdGUgYi9zcmNwa2dzL3B5 dGhvbjMtcHlxdDYtd2ViZW5naW5lL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uYTliMTcyMTVkNTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9w eXRob24zLXB5cXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQpAQCAtMCwwICsxLDMyIEBACisjIFRlbXBs YXRlIGZpbGUgZm9yICdweXRob24zLXB5cXQ2LXdlYmVuZ2luZScKK3BrZ25hbWU9cHl0aG9uMy1w eXF0Ni13ZWJlbmdpbmUKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEKK3dya3NyYz1QeVF0Nl9X ZWJFbmdpbmUtJHZlcnNpb24KK2J1aWxkX3N0eWxlPXNpcC1idWlsZAoraG9zdG1ha2VkZXBlbmRz PSJweXRob24zLXB5cXQ2LWd1aS1kZXZlbCBxdDYtd2ViZW5naW5lLWRldmVsCisgcHl0aG9uMy1w eXF0Ni1uZXR3b3JrLWRldmVsIHB5dGhvbjMtcHlxdDYtd2ViY2hhbm5lbC1kZXZlbAorIHB5dGhv bjMtcHlxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcHl0aG9uMy1weXF0Ni1wcmludHN1cHBvcnQtZGV2 ZWwKKyBweXRob24zLXB5cXQ2LXdpZGdldHMtZGV2ZWwKKyBweXRob24zLVB5UXQtYnVpbGRlciBw a2ctY29uZmlnIgorbWFrZWRlcGVuZHM9InB5dGhvbjMtcHlxdDYtZ3VpLWRldmVsIHF0Ni13ZWJl bmdpbmUtZGV2ZWwKKyBweXRob24zLXB5cXQ2LW5ldHdvcmstZGV2ZWwgcHl0aG9uMy1weXF0Ni13 ZWJjaGFubmVsLWRldmVsCisgcHl0aG9uMy1weXF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBweXRob24z LXB5cXQ2LXByaW50c3VwcG9ydC1kZXZlbAorIHB5dGhvbjMtcHlxdDYtd2lkZ2V0cy1kZXZlbCIK K2RlcGVuZHM9InB5dGhvbjMtcHlxdDYiCitzaG9ydF9kZXNjPSJQeXRob24gMyBiaW5kaW5ncyBm b3IgUXQ2IC0gV2ViRW5naW5lIgorbWFpbnRhaW5lcj0ixJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5o IDxjb25nZGFuaHF4QGdtYWlsLmNvbT4iCitsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgoraG9t ZXBhZ2U9Imh0dHBzOi8vd3d3LnJpdmVyYmFua2NvbXB1dGluZy5jb20vc29mdHdhcmUvcHlxdHdl YmVuZ2luZS8iCitkaXN0ZmlsZXM9IiRQWVBJX1NJVEUvUC9QeVF0Nl9XZWJFbmdpbmUvUHlRdDZf V2ViRW5naW5lLSR2ZXJzaW9uLnRhci5neiIKK2NoZWNrc3VtPWMzZDFmNTUyN2I0YjE1ZjQ0MTAy ZDYxN2M1OWIxZDc0ZDlhZjUwZjgyMTYyOWU5MzM1ZjEzZGY0N2RlOGYwMDcKK2xpYjMyZGlzYWJs ZWQ9eWVzCisKK3B5dGhvbjMtcHlxdDYtd2ViZW5naW5lLWRldmVsX3BhY2thZ2UoKSB7CisJZGVw ZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni13ZWJlbmdpbmUt ZGV2ZWwiCisJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxs KCkgeworCQl2bW92ZSAke3B5M19zaXRlbGlifS9QeVF0Ni9iaW5kaW5ncworCQl2bW92ZSB1c3Iv c2hhcmUKKwl9Cit9CgpGcm9tIGU2ODM5MzQ0NjZmY2IyOTYzMzExYWI0N2I0ZGFmMjMxNzcyYmM2 ODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEw bj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwu Y29tPgpEYXRlOiBUaHUsIDIzIEZlYiAyMDIzIDA3OjQzOjQ3ICswNzAwClN1YmplY3Q6IFtQQVRD SCA0LzldIHNpcDogdXBkYXRlIHRvIDYuNy43LgoKLS0tCiBzcmNwa2dzL3NpcC90ZW1wbGF0ZSB8 IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3NpcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc2lwL3RlbXBsYXRl CmluZGV4IGNlMzhkMGRjODBlYi4uNmM0YmYyMmFhOTE3IDEwMDY0NAotLS0gYS9zcmNwa2dzL3Np cC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NpcC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3NpcCcKIHBrZ25hbWU9c2lwCi12ZXJzaW9uPTYuNy40Cit2ZXJz aW9uPTYuNy43CiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1weXRob24zLW1vZHVsZQogaG9zdG1h a2VkZXBlbmRzPSJweXRob24zLWRldmVsIHB5dGhvbjMtc2V0dXB0b29scyBweXRob24zLXBhY2th Z2luZwpAQCAtMTIsNyArMTIsNyBAQCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERh bmggPGNvbmdkYW5ocXhAZ21haWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0yLjAtb25seSwgR1BMLTMu MC1vbmx5LCBjdXN0b206U0lQIgogaG9tZXBhZ2U9Imh0dHBzOi8vcml2ZXJiYW5rY29tcHV0aW5n LmNvbS9zb2Z0d2FyZS9zaXAvaW50cm8iCiBkaXN0ZmlsZXM9IiR7UFlQSV9TSVRFfS9zL3NpcC9z aXAtJHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT05ZGJmOGEwZTdjOGQ3NmQxNjQyZTJmZGQz ZjUzZTZhNTIyZjdjMzA5ODBlNTI3NzYzYzQ1NzYwYzI1MDVjZmJmCitjaGVja3N1bT1kZWU5YzA2 ZmE4YWU2ZDQ0MWE0MDFmOTIyODY3ZmM2MTk2ZWRkYTI3NGVlYmQ5ZmJmZWM1NGYwNzY5YzJhOWUy CiBsaWIzMmRpc2FibGVkPXllcwogcmVwbGFjZXM9InNpcDU8PSR7dmVyc2lvbn1fJHtyZXZpc2lv bn0iCiBwcm92aWRlcz0ic2lwNS0ke3ZlcnNpb259XyR7cmV2aXNpb259IgoKRnJvbSA5YWJmODgx NDNmYTljY2I0YmJiOGQ1ZmUwMzg3NWQ3MWIzM2YwMzM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0 bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAyMyBGZWIgMjAy MyAwNzo0Mzo1NyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggNS85XSBweXRob24zLXB5cXQ2LXNpcDog dXBkYXRlIHRvIDEzLjQuMS4KCi0tLQogc3JjcGtncy9weXRob24zLXB5cXQ2LXNpcC90ZW1wbGF0 ZSB8IDYgKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1zaXAvdGVtcGxhdGUgYi9z cmNwa2dzL3B5dGhvbjMtcHlxdDYtc2lwL3RlbXBsYXRlCmluZGV4IDlhZDM4YTY2YjZmNS4uNTQ3 ZDUzZmMxM2UxIDEwMDY0NAotLS0gYS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtc2lwL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni1zaXAvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdweXRob24zLXB5cXQ2LXNpcCcKIHBrZ25hbWU9cHl0aG9u My1weXF0Ni1zaXAKLXZlcnNpb249MTMuNC4wCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTEzLjQuMQor cmV2aXNpb249MQogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIGhvc3RtYWtlZGVwZW5kcz0i cHl0aG9uMy1kZXZlbCBweXRob24zLXNldHVwdG9vbHMgc2lwIgogbWFrZWRlcGVuZHM9InB5dGhv bjMtZGV2ZWwiCkBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0 bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5LCBH UEwtMy4wLW9ubHksIGN1c3RvbTpTSVAiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucml2ZXJiYW5r Y29tcHV0aW5nLmNvbS9zb2Z0d2FyZS9zaXAvIgogZGlzdGZpbGVzPSIke1BZUElfU0lURX0vUC9Q eVF0Nl9zaXAvUHlRdDZfc2lwLSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09NmQ4N2EzZWU1 ODcyZDc1MTFiNzY5NTdkNjhhMzIxMDkzNTJjYWYzYjdhNDJhMDFkOWVlMjAwMzJiMzUwZDk3OQor Y2hlY2tzdW09ZTAwZTI4N2VhMDViYmMyOTNmYzZlMjE5ODMwMTk2MmFmOWI3YjYyMmJkMmRhZjQy ODhmOTI1YTg4YWUzNWRjOQogbGliMzJkaXNhYmxlZD15ZXMKIAogcG9zdF9leHRyYWN0KCkgewoK RnJvbSBlNmQ2MGM5MmJhMjcwNzQ5NDc3NjFiMjZlMjUzOWI3NDQyY2QzNTdjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogVGh1 LCAyMyBGZWIgMjAyMyAwNzo0NDowMiArMDcwMApTdWJqZWN0OiBbUEFUQ0ggNi85XSBweXRob24z LVB5UXQtYnVpbGRlcjogdXBkYXRlIHRvIDEuMTQuMS4KCi0tLQogc3JjcGtncy9weXRob24zLVB5 UXQtYnVpbGRlci90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtUHlRdC1i dWlsZGVyL3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24zLVB5UXQtYnVpbGRlci90ZW1wbGF0ZQpp bmRleCA4MGJmNDZkYWIxMTYuLjk1NTdkMGRlOTQzMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9weXRo b24zLVB5UXQtYnVpbGRlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3B5dGhvbjMtUHlRdC1idWls ZGVyL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncHl0aG9u My1QeVF0LWJ1aWxkZXInCiBwa2duYW1lPXB5dGhvbjMtUHlRdC1idWlsZGVyCi12ZXJzaW9uPTEu MTQuMAordmVyc2lvbj0xLjE0LjEKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9k dWxlCiBob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29scyBzaXAiCkBAIC0xMCw3ICsx MCw3IEBAIG1haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBn bWFpbC5jb20+IgogbGljZW5zZT0iR1BMLTIuMC1vbmx5LCBHUEwtMy4wLW9ubHksIGN1c3RvbTpT SVAiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucml2ZXJiYW5rY29tcHV0aW5nLmNvbS9zb2Z0d2Fy ZS9weXF0LyIKIGRpc3RmaWxlcz0iJFBZUElfU0lURS9QL1B5UXQtYnVpbGRlci9QeVF0LWJ1aWxk ZXItJHZlcnNpb24udGFyLmd6IgotY2hlY2tzdW09Njc1NTkzMWM2ZDJmODk0MDU1M2UwMzM0ZDEw YzkzM2NlNWNjMThiNjQ0MjVlOTRmZGExYWNjZjRmZjc3NGY1OQorY2hlY2tzdW09ODNiYzNlMzAw YWZmOGI0MTQwNTgwNGI2YTljMjkxMzM4OWFiNTljNDhhZDlmMGNiODU4NGE2ZWY3M2JjYTUwMgog CiBwb3N0X2luc3RhbGwoKSB7CiAJcm0gLXJmICRERVNURElSLyRweTNfc2l0ZWxpYi9weXF0YnVp bGQvYnVuZGxlCgpGcm9tIGY4YTllZjQ3MTU3NDg0NTUwNTM3YjU4OTliNzA4MjM3NmM4NzUxYmYg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0y MFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29t PgpEYXRlOiBUaHUsIDIzIEZlYiAyMDIzIDA3OjQ0OjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCA3 LzldIHB5dGhvbjMtcHlxdDY6IHVwZGF0ZSB0byA2LjQuMi4KCi0tLQogc3JjcGtncy9weXRob24z LXB5cXQ2L3RlbXBsYXRlIHwgMTEgKysrKy0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2Vy dGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLXB5 cXQ2L3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24zLXB5cXQ2L3RlbXBsYXRlCmluZGV4IGYzYTEw YWFjYmJlZC4uZjM2OTIwMjhjZWQ1IDEwMDY0NAotLS0gYS9zcmNwa2dzL3B5dGhvbjMtcHlxdDYv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9weXRob24zLXB5cXQ2L3RlbXBsYXRlCkBAIC0xLDE1ICsx LDEyIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdweXRob24zLXB5cXQ2JwogcGtnbmFtZT1weXRo b24zLXB5cXQ2Ci12ZXJzaW9uPTYuNC4wCit2ZXJzaW9uPTYuNC4yCiByZXZpc2lvbj0xCiBidWls ZF9zdHlsZT1zaXAtYnVpbGQKIGJ1aWxkX2hlbHBlcj1xZW11CiBjb25maWd1cmVfYXJncz0iLS1j b25maXJtLWxpY2Vuc2UgLS1kYnVzICRYQlBTX0NST1NTX0JBU0UvdXNyL2luY2x1ZGUvZGJ1cy0x LjAiCi1ob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZl bCBxdDYtdG9vbHMtZGV2ZWwKLSBxdDYtcXVpY2szZC1kZXZlbCBxdDYtc2hhZGVydG9vbHMtZGV2 ZWwgcXQ2LXN2Zy1kZXZlbCBweXRob24zLWRidXMKLSBxdDYtd2ViY2hhbm5lbC1kZXZlbCBxdDYt bXVsdGltZWRpYS1kZXZlbCBxdDYtbG9jYXRpb24tZGV2ZWwKLSBxdDYtcmVtb3Rlb2JqZWN0cy1k ZXZlbCBxdDYtc2Vuc29ycy1kZXZlbCBxdDYtc2VyaWFscG9ydC1kZXZlbAotIHF0Ni1jb25uZWN0 aXZpdHktZGV2ZWwgcXQ2LXdlYnNvY2tldHMtZGV2ZWwKK2hvc3RtYWtlZGVwZW5kcz0icXQ2LWJh c2UKKyBweXRob24zLWRidXMKICBweXRob24zLVB5UXQtYnVpbGRlciBwa2ctY29uZmlnIgogbWFr ZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYtdG9vbHMt ZGV2ZWwKICBxdDYtd2ViY2hhbm5lbC1kZXZlbCBxdDYtbXVsdGltZWRpYS1kZXZlbCBxdDYtbG9j YXRpb24tZGV2ZWwKQEAgLTIyLDcgKzE5LDcgQEAgbWFpbnRhaW5lcj0ixJBvw6BuIFRy4bqnbiBD w7RuZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHki CiBob21lcGFnZT0iaHR0cHM6Ly93d3cucml2ZXJiYW5rY29tcHV0aW5nLmNvbS9zb2Z0d2FyZS9w eXF0LyIKIGRpc3RmaWxlcz0iJFBZUElfU0lURS9QL1B5UXQ2L1B5UXQ2LSR2ZXJzaW9uLnRhci5n eiIKLWNoZWNrc3VtPTkxMzkyNDY5YmUxZjQ5MTkwNWZhOWU3OGZhNGU0MDU5YTg5YWI2MTZkZGYy ZWNmZDUyNWJjMWQ2NWMyNmJiOTMKK2NoZWNrc3VtPTc0MDI0NGY2MDhmZTE1ZWUxZDg5Njk1YzQz ZjMxYTE0Y2FlY2E0MWM0ZjAyYWMzNmM4NmRmYmE0YTVkNTgxM2QKIGxpYjMyZGlzYWJsZWQ9eWVz CiAKIGlmIFsgIiRYQlBTX1RBUkdFVF9OT19BVE9NSUM4IiBdOyB0aGVuCgpGcm9tIGMwY2QyMmI3 MTIyNGY3Mjk2YjYxYTAzYjBkYjE3MDBkOWYwYjNkNzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRu Zz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBUaHUsIDIzIEZlYiAyMDIz IDA3OjU3OjIzICswNzAwClN1YmplY3Q6IFtQQVRDSCA4LzldIHB5dGhvbjMtcHlxdDYtd2ViZW5n aW5lOiB1cGRhdGUgdG8gNi40LjAuCgotLS0KIHNyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJlbmdp bmUvdGVtcGxhdGUgfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni13ZWJlbmdp bmUvdGVtcGxhdGUgYi9zcmNwa2dzL3B5dGhvbjMtcHlxdDYtd2ViZW5naW5lL3RlbXBsYXRlCmlu ZGV4IGE5YjE3MjE1ZDU0Ny4uYTJiMDc1ZTM5MWZlIDEwMDY0NAotLS0gYS9zcmNwa2dzL3B5dGhv bjMtcHlxdDYtd2ViZW5naW5lL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1weXF0Ni13 ZWJlbmdpbmUvdGVtcGxhdGUKQEAgLTEsOCArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdw eXRob24zLXB5cXQ2LXdlYmVuZ2luZScKIHBrZ25hbWU9cHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUK LXZlcnNpb249Ni4zLjEKK3ZlcnNpb249Ni40LjAKIHJldmlzaW9uPTEKLXdya3NyYz1QeVF0Nl9X ZWJFbmdpbmUtJHZlcnNpb24KIGJ1aWxkX3N0eWxlPXNpcC1idWlsZAogaG9zdG1ha2VkZXBlbmRz PSJweXRob24zLXB5cXQ2LWd1aS1kZXZlbCBxdDYtd2ViZW5naW5lLWRldmVsCiAgcHl0aG9uMy1w eXF0Ni1uZXR3b3JrLWRldmVsIHB5dGhvbjMtcHlxdDYtd2ViY2hhbm5lbC1kZXZlbApAQCAtMTks NyArMTgsNyBAQCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5o cXhAZ21haWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0zLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0 cHM6Ly93d3cucml2ZXJiYW5rY29tcHV0aW5nLmNvbS9zb2Z0d2FyZS9weXF0d2ViZW5naW5lLyIK IGRpc3RmaWxlcz0iJFBZUElfU0lURS9QL1B5UXQ2X1dlYkVuZ2luZS9QeVF0Nl9XZWJFbmdpbmUt JHZlcnNpb24udGFyLmd6IgotY2hlY2tzdW09YzNkMWY1NTI3YjRiMTVmNDQxMDJkNjE3YzU5YjFk NzRkOWFmNTBmODIxNjI5ZTkzMzVmMTNkZjQ3ZGU4ZjAwNworY2hlY2tzdW09NGM3MWMxMzA4NjBh YmNkMTFlMDRjYWZiMjJlMzM5ODNmYTlhM2FlZTgzMjNjNTE5MDliMTVhMTcwMTgyOGUyMQogbGli MzJkaXNhYmxlZD15ZXMKIAogcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUtZGV2ZWxfcGFja2FnZSgp IHsKCkZyb20gZDBhYzhhYzNmZGZiZmFkZDFmMjQ3ZDE5MTUxMmU4Mjc5MzQ1N2U0ZiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9 QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgOCBBdWcgMjAyMiAyMTo0MjozNCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggOS85XSBjYWxp YnJlOiB1cGRhdGUgdG8gNi4xMy4wCgotLS0KIHNyY3BrZ3MvY2FsaWJyZS90ZW1wbGF0ZSB8IDUw ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAzNiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2NhbGlicmUvdGVtcGxhdGUgYi9zcmNwa2dzL2NhbGlicmUvdGVtcGxhdGUKaW5kZXggNDljMTMy ZDBjMTg3Li5lZGNkMTlmYzgxYzcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2FsaWJyZS90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL2NhbGlicmUvdGVtcGxhdGUKQEAgLTEsMjQgKzEsMjggQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ2NhbGlicmUnCiBwa2duYW1lPWNhbGlicmUKLXZlcnNpb249NS40NC4w Ci1yZXZpc2lvbj0yCit2ZXJzaW9uPTYuMTMuMAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9cHl0 aG9uMy1tb2R1bGUKIHB5Y29tcGlsZV9kaXJzPSIvdXNyL2xpYi9jYWxpYnJlLyIKLWhvc3RtYWtl ZGVwZW5kcz0icGtnLWNvbmZpZyBweXRob24zLUJlYXV0aWZ1bFNvdXA0IHB5dGhvbjMtUGlsbG93 IHB5dGhvbjMtUHlRdDUtc3ZnCi0gcHl0aG9uMy1QeVF0NS13ZWJlbmdpbmUgcHl0aG9uMy1hcHN3 IHB5dGhvbjMtY3NzLXBhcnNlciBweXRob24zLWRhdGV1dGlsCi0gcHl0aG9uMy1kZXZlbCBweXRo b24zLWh0bWw1LXBhcnNlciBweXRob24zLW1zZ3BhY2sgcHl0aG9uMy1yZWdleCBxdDUtcW1ha2UK LSBsaWJwb2RvZm8tZGV2ZWwgcHl0aG9uMy1QeVF0LWJ1aWxkZXIgcHl0aG9uMy1QeVF0NS1kZXZl bCBxdDUtaG9zdC10b29scwotIHB5dGhvbjMtemVyb2NvbmYgeGRnLXV0aWxzIHJhcHlkc2NyaXB0 LW5nIgotbWFrZWRlcGVuZHM9ImxpYmlucHV0LWRldmVsIGxpYm1hZ2ljay1kZXZlbCBsaWJtdHAt ZGV2ZWwKLSBsaWJwb2RvZm8tZGV2ZWwgbGlid21mLWRldmVsIGxpYnhrYmNvbW1vbi1kZXZlbCBw eXRob24zLVB5UXQ1LWRldmVsCi0gcXQ1LWRldmVsIHNxbGl0ZS1kZXZlbCB0c2xpYi1kZXZlbCBo dW5zcGVsbC1kZXZlbCBoeXBoZW4tZGV2ZWwgbGlic3RlbW1lci1kZXZlbCIKK2hvc3RtYWtlZGVw ZW5kcz0icGtnLWNvbmZpZyBjbWFrZSBweXRob24zLUJlYXV0aWZ1bFNvdXA0IHB5dGhvbjMtUGls bG93CisgcHl0aG9uMy1hcHN3IHB5dGhvbjMtY3NzLXBhcnNlciBweXRob24zLWRhdGV1dGlsCisg cHl0aG9uMy1kZXZlbCBweXRob24zLWh0bWw1LXBhcnNlciBweXRob24zLW1zZ3BhY2sgcHl0aG9u My1yZWdleAorIHB5dGhvbjMtemVyb2NvbmYgeGRnLXV0aWxzIHJhcHlkc2NyaXB0LW5nIGxpYnBv ZG9mby1kZXZlbAorIHB5dGhvbjMtcHlxdDYtc3ZnIHB5dGhvbjMtcHlxdDYtd2ViZW5naW5lIHB5 dGhvbjMtcHlxdDYtZGV2ZWwKKyBxdDYtYmFzZS1kZXZlbCBweXRob24zLVB5UXQtYnVpbGRlciIK K21ha2VkZXBlbmRzPSJsaWJpbnB1dC1kZXZlbCBsaWJtYWdpY2stZGV2ZWwgbGlibXRwLWRldmVs IGxpYnN0ZW1tZXItZGV2ZWwKKyBsaWJwb2RvZm8tZGV2ZWwgbGlid21mLWRldmVsIGxpYnhrYmNv bW1vbi1kZXZlbCBwb3BwbGVyLWNwcC1kZXZlbAorIGZyZWV0eXBlLWRldmVsIHVjaGFyZGV0LWRl dmVsIG9wZW5zc2wtZGV2ZWwgaWN1LWRldmVsIGxpYnVzYi1kZXZlbAorIHNxbGl0ZS1kZXZlbCB0 c2xpYi1kZXZlbCBodW5zcGVsbC1kZXZlbCBoeXBoZW4tZGV2ZWwgbGlic3RlbW1lci1kZXZlbAor IHB5dGhvbjMtcHlxdDYtZGV2ZWwgcHl0aG9uMy1weXF0Ni13ZWJlbmdpbmUtZGV2ZWwgcXQ2LXdl YmVuZ2luZS1kZXZlbCIKIGRlcGVuZHM9ImRlc2t0b3AtZmlsZS11dGlscyBvcHRpcG5nIHBvcHBs ZXItdXRpbHMgcHl0aG9uMy1CZWF1dGlmdWxTb3VwNAotIHB5dGhvbjMtTWFya2Rvd24gcHl0aG9u My1QaWxsb3cgcHl0aG9uMy1QeVF0NS1zdmcgcHl0aG9uMy16ZXJvY29uZgotIHB5dGhvbjMtUHlR dDUtd2ViZW5naW5lIHB5dGhvbjMtUHlRdDUtd2ViY2hhbm5lbCBweXRob24zLVB5Z21lbnRzIHB5 dGhvbjMtYXBzdworIHB5dGhvbjMtTWFya2Rvd24gcHl0aG9uMy1QaWxsb3cgcHl0aG9uMy16ZXJv Y29uZiBweXRob24zLVB5Z21lbnRzIHB5dGhvbjMtYXBzdwogIHB5dGhvbjMtY3NzLXBhcnNlciBw eXRob24zLWNzc3NlbGVjdCBweXRob24zLWRhdGV1dGlsIHB5dGhvbjMtamVlcG5leQogIHB5dGhv bjMtZG5zcHl0aG9uIHB5dGhvbjMtZmVlZHBhcnNlciBweXRob24zLWh0bWw1LXBhcnNlciBweXRo b24zLW1lY2hhbml6ZQogIHB5dGhvbjMtbXNncGFjayBweXRob24zLW5ldGlmYWNlcyBweXRob24z LXBzdXRpbCBweXRob24zLXJlZ2V4IHB5dGhvbjMtaHRtbDJ0ZXh0Ci0gcHl0aG9uMy1weWNobSBw eXRob24zLWNjaGFyZGV0IHF0NS13ZWJlbmdpbmUgc3BlZWNoLWRpc3BhdGNoZXIgcHl0aG9uMy1z Z21sbGliIgorIHB5dGhvbjMtcHljaG0gcHl0aG9uMy1jY2hhcmRldCBzcGVlY2gtZGlzcGF0Y2hl ciBweXRob24zLXNnbWxsaWIKKyBweXRob24zLWh0bWw1bGliCisgcHl0aG9uMy1weXF0Ni13ZWJj aGFubmVsIHB5dGhvbjMtcHlxdDYtc3ZnIHB5dGhvbjMtcHlxdDYtd2ViZW5naW5lIgogIyBzaG91 bGQgY2hlY2sgaWYgcHl0aG9uMy1weWNyeXB0b2RvbWUgaXMgc3RpbGwgbmVlZGVkCiBjaGVja2Rl cGVuZHM9IiR7ZGVwZW5kc30gbGlianBlZy10dXJiby10b29scyBqeHJsaWIgcHl0aG9uMy1weWNy eXB0b2RvbWUiCiBzaG9ydF9kZXNjPSJFYm9vayBtYW5hZ2VtZW50IGFwcGxpY2F0aW9uIgpAQCAt MjcsNyArMzEsNyBAQCBsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9j YWxpYnJlLWVib29rLmNvbSIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRl bnQuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9tYXN0ZXIvQ2hhbmdlbG9nLnR4dCIKIGRpc3RmaWxl cz0iaHR0cHM6Ly9kb3dubG9hZC5jYWxpYnJlLWVib29rLmNvbS8ke3ZlcnNpb259L2NhbGlicmUt JHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT02ZmZhYTNlYWZkMzZhMjQzNTVlNTk1N2YwZjgz OGRiNmRiNmQzNDU2Y2ZhMTdjYjRkMTM5ZmQ5NGViYWY4OGVjCitjaGVja3N1bT1lYjQwZjM0Yjcx MDZlM2YzNmQzN2UwYjY1ZGFjYjVjZWM4NjM2NjVjNjhmYjIzNTA1OTJkYmMxZWMxMzNhZWEzCiBw eXRob25fdmVyc2lvbj0zCiBsaWIzMmRpc2FibGVkPXllcwogbm9jcm9zcz15ZXMKQEAgLTQxLDE1 ICs0NSwzMiBAQCBkb19jb25maWd1cmUoKSB7CiAJCS1lICIvaW1wb3J0IGNvbmZpZ19kaXIvLC9v cy5ybWRpcihjb25maWdfZGlyKS9kIiBcCiAJCS1lICJzLydjdGMtcG9zbWwnLyd0ZXh0JyBub3Qg aW4gbXQgYW5kICdwZGYnIG5vdCBpbiBtdCBhbmQgJ3hodG1sJy8iIFwKIAkJLWUgInMvXk5hbWU9 Y2FsaWJyZS9OYW1lPUNhbGlicmUvZyIKKwljYXQgPiIke1hCUFNfV1JBUFBFUkRJUn0vc2lwLXFt YWtlIiA8PC1fRU9GCisJIyEvYmluL3NoCisJZXhlYyAvdXNyL2xpYi9xdDYvYmluL3FtYWtlIFxc CisJCSJcJEAiIFxcCisJCVBSRUZJWD0vdXNyIFxcCisJCVFUX0lOU1RBTExfUFJFRklYPS91c3Ig XFwKKwkJTElCPS91c3IvbGliIFxcCisJCVFNQUtFX0NDPSIkQ0MiIFFNQUtFX0NYWD0iJENYWCIg XFwKKwkJUU1BS0VfTElOSz0iJENYWCIgUU1BS0VfTElOS19DPSIkQ0MiIFxcCisJCVFNQUtFX0NG TEFHUys9IiRDRkxBR1MiIFxcCisJCVFNQUtFX0NYWEZMQUdTKz0iJENYWEZMQUdTIiBcXAorCQlR TUFLRV9MRkxBR1MrPSIkTERGTEFHUyIgXFwKKwkJQ09ORklHKz1ub19xdF9ycGF0aAorCV9FT0YK KwljaG1vZCA3NTUgJHtYQlBTX1dSQVBQRVJESVJ9L3NpcC1xbWFrZQogfQogCiBkb19idWlsZCgp IHsKKwlleHBvcnQgUU1BS0U9JHtYQlBTX1dSQVBQRVJESVJ9L3NpcC1xbWFrZQogCXB5dGhvbjMg c2V0dXAucHkgYnVpbGQKIAlweXRob24zIHNldHVwLnB5IGd1aQogCXB5dGhvbjMgc2V0dXAucHkg cmFweWRzY3JpcHQKIH0KIAogZG9fY2hlY2soKSB7CisJZXhwb3J0IFFNQUtFPSR7WEJQU19XUkFQ UEVSRElSfS9zaXAtcW1ha2UKIAkjIHF0IHRlc3QgY3Jhc2hlcyB3aXRob3V0IGFueSBlcnJvciBt ZXNzYWdlcwogCSMgZGlzYWJsZWQgZm9yIG5vdwogCSMgdW5yYXIgdGVzdCBmYWlscyBiZWNhdXNl IHB5dGhvbjMtdW5yYXJkbGwgaXNuJ3QgcGFja2FnZWQKQEAgLTY1LDYgKzg2LDcgQEAgZG9fY2hl Y2soKSB7CiB9CiAKIGRvX2luc3RhbGwoKSB7CisJZXhwb3J0IFFNQUtFPSR7WEJQU19XUkFQUEVS RElSfS9zaXAtcW1ha2UKIAl2bWtkaXIgdXNyL3NoYXJlL3pzaC9zaXRlLWZ1bmN0aW9ucwogCiAJ cHl0aG9uMyBzZXR1cC5weSBcCg== --===============0447976984819770616==--