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 4074 invoked from network); 16 Feb 2023 01:36:16 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 16 Feb 2023 01:36:16 -0000 Content-Type: multipart/mixed; boundary="===============1817307967931982386==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BREDO=5D_New_package=3A_qt6-webengine-6=2E4=2E2=2E?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 16 Feb 2023 02:36:16 +0100 List-Id: Message-ID: <20230216013616.qP80zdSalzoKB3vMorSYzRWnFSvvv0L0SKBwd5eUkBM@z> GitHub notification mails are now in MIME to allow UTF8. --===============1817307967931982386== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2duIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9zZ24vdm9p ZC1wYWNrYWdlcyBxdDYtd2ViZW5naW5lCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC80MjIyNAoKW1JFRE9dIE5ldyBwYWNrYWdlOiBxdDYtd2ViZW5naW5l LTYuNC4yLgo8IS0tIFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlv bnMgd2hpY2ggYXJlIG5vdCBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5n ZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEt LQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBb cGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRz KTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtl bHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBk ZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMv YmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0 ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0 IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qg c2tpcHBpbmcgQ0kuDQotLT4NCg0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQg dGhpcyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlOg0KICAgIC0gW3hdIGB4 ODZfNjRgDQogICAgLSBbeF0gYHg4Nl82NC1tdXNsYA0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxs eSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRz KToNCiAgICAtIFsgXSBhYXJjaDY0DQogICAgLSBbIF0gYWFyY2g2NC1tdXNsDQogICAgLSBbIF0g aTY4Ng0KICAgIC0gWyBdIGFybXY3LW11c2wNCiAgICAtIFsgXSBhcm12Nw0KDQoNCgoKQSBwYXRj aCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9w dWxsLzQyMjI0LnBhdGNoIGlzIGF0dGFjaGVk --===============1817307967931982386== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6-webengine-42224.patch" RnJvbSA2MGU5YjFhM2QwY2FlZTVkNTM5MjJjMGQzZTk5NTRiOTEyZDg0NGZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9u LCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwMS8yNl0gcXQ2LWJh c2U6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2FybS15 aWVsZC5wYXRjaCAgICAgIHwgMzcgKysrKysrKysrKysrKysKIHNyY3BrZ3MvcXQ2LWJhc2UvcGF0 Y2hlcy9jb21wbGV4LXRleHQucGF0Y2ggICB8ICAwCiBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMv ZmVlbmFibGVleGNlcHQucGF0Y2ggfCAxMyArKysrKwogc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVz L2xpYmF0b21pYy5wYXRjaCAgICAgIHwgMTQgLS0tLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNo ZXMvbWFya2Rvd24tbXVzbC5wYXRjaCAgfCAzMSArKysrKysrKysrKysKIHNyY3BrZ3MvcXQ2LWJh c2UvcGF0Y2hlcy9wdGhyZWFkX3lpZWxkLnBhdGNoICB8IDIwICsrKysrKysrCiAuLi51cmNlLXJv b3QtZGlyLWxhc3QtbW9kaWZpZWQtaXMtdmFsaWQucGF0Y2ggfCAxMyArKysrKwogLi4uL3F0Ni1i YXNlL3BhdGNoZXMveDg2LXFyb3VuZC1wYXNzZWQucGF0Y2ggIHwgNDggKysrKysrKysrKysrKysr KysrKwogc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3pmcy1zdG9yYWdlLnBhdGNoICAgIHwgMjAg KysrKysrKysKIHNyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8 IDI0ICsrKysrKystLS0KIDEwIGZpbGVzIGNoYW5nZWQsIDIwMCBpbnNlcnRpb25zKCspLCAyMCBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMv YXJtLXlpZWxkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtYmFzZS9wYXRj aGVzL2NvbXBsZXgtdGV4dC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LWJh c2UvcGF0Y2hlcy9mZWVuYWJsZWV4Y2VwdC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvcXQ2LWJhc2UvcGF0Y2hlcy9saWJhdG9taWMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbWFya2Rvd24tbXVzbC5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9wdGhyZWFkX3lpZWxkLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3Jlc291cmNlLXJvb3QtZGly LWxhc3QtbW9kaWZpZWQtaXMtdmFsaWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3F0Ni1iYXNlL3BhdGNoZXMveDg2LXFyb3VuZC1wYXNzZWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvemZzLXN0b3JhZ2UucGF0Y2gKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvYXJtLXlpZWxkLnBhdGNoIGIvc3JjcGtncy9x dDYtYmFzZS9wYXRjaGVzL2FybS15aWVsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjJiZWY4NTg0Yjg4ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LWJhc2UvcGF0Y2hlcy9hcm0teWllbGQucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA4 MTI4YWJlYWVjZTViMDU0NzZmNzlmZjQ5MzU5N2I4MzhiMjIzNTEyIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogTWFyYyBNdXR6IDxtYXJjLm11dHpAcXQuaW8+CitEYXRlOiBXZWQsIDMg QXVnIDIwMjIgMTc6MjM6MjAgKzAyMDAKK1N1YmplY3Q6IEZpeCBxWWllbGRDcHUoKSBmb3IgQVJN IDwgQVJNdjcKKworQXBwYXJlbnRseSwgd2Ugc3RpbGwgc3VwcG9ydCB0aGVzZSBhcmNoaXRlY3R1 cmUgdmVyc2lvbnMsIGFuZCB0aGVyZSdzCitubyB3YXkgdG8gZGV0ZWN0IEFSTXY2ay1vci1ncmVh dGVyIHNwZWNpZmljYWxseSwgc28gZXhjbHVkZSB5aWVsZCBmb3IKK0FSTSA8IEFSTXY3LgorCitB bWVuZHMgODc3YzE1OGM1OTc2YmViZmZkMGZmMDJjMzliNmI2NmE4NDJjNjM0NC4KKworRml4ZXM6 IFFUQlVHLTEwNDMxNgorUGljay10bzogNi40IDYuMworQ2hhbmdlLUlkOiBJNTFhMmYwZjhlMDk5 M2RiYTQxZTQ3YmI2MTEwNDczYWM4ZTdjZDMyYQorUmV2aWV3ZWQtYnk6IFRoaWFnbyBNYWNpZWly YSA8dGhpYWdvLm1hY2llaXJhQGludGVsLmNvbT4KKy0tLQorIHNyYy9jb3JlbGliL2dsb2JhbC9x c2ltZF9wLmggfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCisKKyhsaW1pdGVkIHRvICdzcmMvY29yZWxpYi9nbG9iYWwvcXNpbWRfcC5oJykKKwor ZGlmZiAtLWdpdCBhL3NyYy9jb3JlbGliL2dsb2JhbC9xc2ltZF9wLmggYi9zcmMvY29yZWxpYi9n bG9iYWwvcXNpbWRfcC5oCitpbmRleCBhZDc4YzM5MzRmLi4wOTNmYzNhZWRjIDEwMDY0NAorLS0t IGEvc3JjL2NvcmVsaWIvZ2xvYmFsL3FzaW1kX3AuaAorKysrIGIvc3JjL2NvcmVsaWIvZ2xvYmFs L3FzaW1kX3AuaAorQEAgLTM5Nyw3ICszOTcsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcVlpZWxk Q3B1KCkKKyB7CisgI2lmIGRlZmluZWQoUV9QUk9DRVNTT1JfWDg2KQorICAgICBfbW1fcGF1c2Uo KTsKKy0jZWxpZiBkZWZpbmVkKFFfUFJPQ0VTU09SX0FSTSkKKysjZWxpZiBkZWZpbmVkKFFfUFJP Q0VTU09SX0FSTSkgJiYgUV9QUk9DRVNTT1JfQVJNID49IDcgLyogeWllbGQgd2FzIGFkZGVkIGlu IEFSTXY3ICovCisgIyAgaWYgX19oYXNfYnVpbHRpbihfX2J1aWx0aW5fYXJtX3lpZWxkKSAvKiBl LmcuIENsYW5nICovCisgICAgIF9fYnVpbHRpbl9hcm1feWllbGQoKTsKKyAjICBlbGlmIGRlZmlu ZWQoUV9PU19JTlRFR1JJVFkpIHx8IFwKKy0tIAorY2dpdCB2MS4yLjEKKwpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2NvbXBsZXgtdGV4dC5wYXRjaCBiL3NyY3BrZ3MvcXQ2 LWJhc2UvcGF0Y2hlcy9jb21wbGV4LXRleHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi5lNjlkZTI5YmIyZDEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWJh c2UvcGF0Y2hlcy9mZWVuYWJsZWV4Y2VwdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hl cy9mZWVuYWJsZWV4Y2VwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjFiNTYxNzMxYjYzNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2Uv cGF0Y2hlcy9mZWVuYWJsZWV4Y2VwdC5wYXRjaApAQCAtMCwwICsxLDEzIEBACistLS0gYS90ZXN0 cy9hdXRvL2NvcmVsaWIvdGV4dC9xbG9jYWxlL3RzdF9xbG9jYWxlLmNwcAorKysrIGIvdGVzdHMv YXV0by9jb3JlbGliL3RleHQvcWxvY2FsZS90c3RfcWxvY2FsZS5jcHAKK0BAIC0xNDUzLDggKzE0 NTMsMTAgQEAgdm9pZCB0c3RfUUxvY2FsZTo6ZnBFeGNlcHRpb25zKCkKKyAgICAgZmVudl90IGVu dnA7CisgICAgIGZlZ2V0ZW52KCZlbnZwKTsKKyAgICAgZmVjbGVhcmV4Y2VwdChGRV9BTExfRVhD RVBUKTsKKysjaWZkZWYgX19HTElCQ19fCisgICAgIGZlZW5hYmxlZXhjZXB0KEZFX0RJVkJZWkVS TyB8IEZFX09WRVJGTE9XIHwgRkVfVU5ERVJGTE9XIHwgRkVfSU5WQUxJRCk7CisgI2VuZGlmCisr I2VuZGlmCisgCisgICAgIFFTdHJpbmc6Om51bWJlcigxMDAwLjEyNDUpOworICAgICBRU3RyaW5n OjpudW1iZXIoMS4xKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9saWJh dG9taWMucGF0Y2ggYi9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbGliYXRvbWljLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZjdhODA3NTE4ZTQuLjAwMDAwMDAwMDAwMAot LS0gYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbGliYXRvbWljLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTQgKzAsMCBAQAotSW5kZXg6IGNtYWtlL0ZpbmRXcmFwQXRvbWljLmNtYWtlCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gYS9jbWFrZS9GaW5kV3JhcEF0b21pYy5jbWFrZQotKysrIGIvY21ha2Uv RmluZFdyYXBBdG9taWMuY21ha2UKLUBAIC0zOCw3ICszOCw4IEBAIGVuZGlmKCkKLSAKLSBhZGRf bGlicmFyeShXcmFwQXRvbWljOjpXcmFwQXRvbWljIElOVEVSRkFDRSBJTVBPUlRFRCkKLSBpZihI QVZFX1NUREFUT01JQ19XSVRIX0xJQikKLS0gICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKFdyYXBB dG9taWM6OldyYXBBdG9taWMgSU5URVJGQUNFIGF0b21pYykKLSsgICAgZmluZF9saWJyYXJ5KExJ QkFUT01JQyBhdG9taWMgUkVRVUlSRUQpCi0rICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhXcmFw QXRvbWljOjpXcmFwQXRvbWljIElOVEVSRkFDRSAke0xJQkFUT01JQ30pCi0gZW5kaWYoKQotIAot IHNldChXcmFwQXRvbWljX0ZPVU5EIDEpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3Bh dGNoZXMvbWFya2Rvd24tbXVzbC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9tYXJr ZG93bi1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u ZDI5OTc3YjdkMzNhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVz L21hcmtkb3duLW11c2wucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorLS0tIGEvdGVzdHMvYXV0by9n dWkvdGV4dC9xdGV4dG1hcmtkb3duaW1wb3J0ZXIvdHN0X3F0ZXh0bWFya2Rvd25pbXBvcnRlci5j cHAKKysrKyBiL3Rlc3RzL2F1dG8vZ3VpL3RleHQvcXRleHRtYXJrZG93bmltcG9ydGVyL3RzdF9x dGV4dG1hcmtkb3duaW1wb3J0ZXIuY3BwCitAQCAtMjI5LDkgKzIyOSwxMSBAQCB2b2lkIHRzdF9R VGV4dE1hcmtkb3duSW1wb3J0ZXI6Omxpc3RzX2RhCisgICAgIFFUZXN0OjpuZXdSb3coIm51bWVy aWMgbGlzdHMgbmVzdGVkIGluIGVtcHR5IGxpc3RzIikKKyAgICAgICAgICAgICA8PCAiLSBcbiAg ICAxLiAgYVxuICAgIDIuICBiXG4tIGNcbiAgMS5cbiAgICAgICArIGRcbiIgPDwgNCA8PCBmYWxz ZQorICAgICAgICAgICAgIDw8ICItIFxuICAgIDEuICBhXG4gICAgMi4gIGJcbi0gYyAxLiArIGRc biI7CisrI2lmIDAKKyAgICAgUVRlc3Q6Om5ld1Jvdygic3R5bGVkIHNwYW5zIGluIGxpc3QgaXRl bXMiKQorICAgICAgICAgICAgIDw8ICIxLiAgbm9ybWFsIHRleHRcbjIuICAqKmJvbGQqKiB0ZXh0 XG4zLiAgYGNvZGVgIGluIHRoZSBpdGVtXG40LiAgKml0YWxpYyogdGV4dFxuNS4gIF91bmRlcmxp bmVkXyB0ZXh0XG4iIDw8IDUgPDwgZmFsc2UKKyAgICAgICAgICAgICA8PCAiMS4gIG5vcm1hbCB0 ZXh0XG4yLiAgKipib2xkKiogdGV4dFxuMy4gIGBjb2RlYCBpbiB0aGUgaXRlbVxuNC4gICppdGFs aWMqIHRleHRcbjUuICBfdW5kZXJsaW5lZF8gdGV4dFxuIjsKKysjZW5kaWYKKyB9CisgCisgdm9p ZCB0c3RfUVRleHRNYXJrZG93bkltcG9ydGVyOjpsaXN0cygpCistLS0gYS90ZXN0cy9hdXRvL3dp ZGdldHMvZ3JhcGhpY3N2aWV3L3FncmFwaGljc3dpZGdldC90c3RfcWdyYXBoaWNzd2lkZ2V0LmNw cAorKysrIGIvdGVzdHMvYXV0by93aWRnZXRzL2dyYXBoaWNzdmlldy9xZ3JhcGhpY3N3aWRnZXQv dHN0X3FncmFwaGljc3dpZGdldC5jcHAKK0BAIC0xNzc2LDExICsxNzc2LDE0IEBAIHZvaWQgdHN0 X1FHcmFwaGljc1dpZGdldDo6dXBkYXRlRm9jdXNDaGEKKyAgICAgY29uc3QgUVBvaW50IGNlbnRl cih2aWV3LnZpZXdwb3J0KCktPndpZHRoKCkgLyAyLCB2aWV3LnZpZXdwb3J0KCktPmhlaWdodCgp IC8gMik7CisgICAgIFFUZXN0Ojptb3VzZU1vdmUodmlldy52aWV3cG9ydCgpLCBjZW50ZXIpOwor ICAgICBRVGVzdDo6bW91c2VDbGljayh2aWV3LnZpZXdwb3J0KCksIFF0OjpMZWZ0QnV0dG9uLCB7 fSwgY2VudGVyKTsKKysjaWYgMAorKyAgICAvLyBTYW1lIHN5bXB0b24gd2l0aCBRVEJVRy0yMzY5 OQorICNpZmRlZiBRX09TX01BQworICAgICBRRVhQRUNUX0ZBSUwoIiIsICJRVEJVRy0yMzY5OSIs IENvbnRpbnVlKTsKKyAjZW5kaWYKKyAgICAgUVRSWV9DT01QQVJFKHFBcHAtPmFjdGl2ZVdpbmRv dygpLCBzdGF0aWNfY2FzdDxRV2lkZ2V0ICo+KCZ2aWV3KSk7CisgICAgIFFUUllfQ09NUEFSRShz Y2VuZS5mb2N1c0l0ZW0oKSwgc3RhdGljX2Nhc3Q8UUdyYXBoaWNzSXRlbSAqPih3KSk7CisrI2Vu ZGlmCisgfQorIAorIHZvaWQgdHN0X1FHcmFwaGljc1dpZGdldDo6c2l6ZUhpbnRfZGF0YSgpCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvcHRocmVhZF95aWVsZC5wYXRjaCBi L3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9wdGhyZWFkX3lpZWxkLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmVjZjY5M2U3MmQzCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3B0aHJlYWRfeWllbGQucGF0Y2gKQEAgLTAs MCArMSwyMCBAQAorLS0tIGEvdGVzdHMvYXV0by9jb3JlbGliL2tlcm5lbC9xbWV0YXR5cGUvdHN0 X3FtZXRhdHlwZS5jcHAKKysrKyBiL3Rlc3RzL2F1dG8vY29yZWxpYi9rZXJuZWwvcW1ldGF0eXBl L3RzdF9xbWV0YXR5cGUuY3BwCitAQCAtMzEsNyArMzEsNyBAQAorICNpbmNsdWRlIDxRdENvcmUv cHJpdmF0ZS9xbWV0YW9iamVjdGJ1aWxkZXJfcC5oPgorIAorICNpZmRlZiBRX09TX0xJTlVYCist IyBpbmNsdWRlIDxwdGhyZWFkLmg+CisrIyBpbmNsdWRlIDxzY2hlZC5oPgorICNlbmRpZgorIAor ICNpbmNsdWRlIDxhbGdvcml0aG0+CitAQCAtNDE4LDcgKzQxOCw3IEBAIHByb3RlY3RlZDoKKyAg ICAgICAgICAgICBjb25zdCBjaGFyICpubSA9IG5hbWUuY29uc3REYXRhKCk7CisgICAgICAgICAg ICAgaW50IHRwID0gcVJlZ2lzdGVyTWV0YVR5cGU8QmFyPihubSk7CisgI2lmIGRlZmluZWQoUV9P U19MSU5VWCkgJiYgIWRlZmluZWQoUV9PU19BTkRST0lEKQorLSAgICAgICAgICAgIHB0aHJlYWRf eWllbGQoKTsKKysgICAgICAgICAgICBzY2hlZF95aWVsZCgpOworICNlbmRpZgorICAgICAgICAg ICAgIFFNZXRhVHlwZSBpbmZvKHRwKTsKKyAgICAgICAgICAgICBpZiAoIWluZm8uaXNWYWxpZCgp KSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvcmVzb3VyY2Utcm9vdC1k aXItbGFzdC1tb2RpZmllZC1pcy12YWxpZC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hl cy9yZXNvdXJjZS1yb290LWRpci1sYXN0LW1vZGlmaWVkLWlzLXZhbGlkLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjE0MzZkZjQyZDhlCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3Jlc291cmNlLXJvb3QtZGlyLWxhc3Qt bW9kaWZpZWQtaXMtdmFsaWQucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvdGVzdHMvYXV0 by9jb3JlbGliL2lvL3FyZXNvdXJjZWVuZ2luZS90c3RfcXJlc291cmNlZW5naW5lLmNwcAorKysr IGIvdGVzdHMvYXV0by9jb3JlbGliL2lvL3FyZXNvdXJjZWVuZ2luZS90c3RfcXJlc291cmNlZW5n aW5lLmNwcAorQEAgLTYwNyw3ICs2MDcsMTAgQEAgdm9pZCB0c3RfUVJlc291cmNlRW5naW5lOjps YXN0TW9kaWZpZWQoKQorICAgICB7CisgICAgICAgICBRRmlsZUluZm8gZmkoIjovIik7CisgICAg ICAgICBRVkVSSUZZKGZpLmV4aXN0cygpKTsKKysjaWYgMAorKwkvLyBJIGRvbid0IGtub3cgd2hh dCB3cm9uZyB3aXRoIHRoaXMhIQorICAgICAgICAgUVZFUklGWTIoIWZpLmxhc3RNb2RpZmllZCgp LmlzVmFsaWQoKSwgcVByaW50YWJsZShmaS5sYXN0TW9kaWZpZWQoKS50b1N0cmluZygpKSk7Cisr I2VuZGlmCisgICAgIH0KKyAgICAgeworICAgICAgICAgUUZpbGVJbmZvIGZpKCI6L3NlYXJjaF9m aWxlLnR4dCIpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3g4Ni1xcm91 bmQtcGFzc2VkLnBhdGNoIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3g4Ni1xcm91bmQtcGFz c2VkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWZmOTBk MTAzZWIzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3g4Ni1x cm91bmQtcGFzc2VkLnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKKy0tLSBhL3Rlc3RzL2F1dG8vY29y ZWxpYi9nbG9iYWwvcWdsb2JhbC90c3RfcWdsb2JhbC5jcHAKKysrKyBiL3Rlc3RzL2F1dG8vY29y ZWxpYi9nbG9iYWwvcWdsb2JhbC90c3RfcWdsb2JhbC5jcHAKK0BAIC02MjQsMTggKzYyNCwxNCBA QCB2b2lkIHRzdF9RR2xvYmFsOjpxUm91bmRGbG9hdHMoKSB7CisgICAgIFFGRVRDSChmbG9hdCwg ZXhwZWN0ZWQpOworIAorICNpZiAhKGRlZmluZWQoUV9QUk9DRVNTT1JfQVJNXzY0KSAmJiAoX19o YXNfYnVpbHRpbihfX2J1aWx0aW5fcm91bmQpIHx8IGRlZmluZWQoUV9DQ19HTlUpKSAmJiAhZGVm aW5lZChRX0NDX0NMQU5HKSkKKy0gICAgUUVYUEVDVF9GQUlMKCJyb3VuZCBsYXJnZXN0IHJlcHJl c2VudGFibGUgZmxvYXQgbGVzcyB0aGFuIDAuNSIsCistICAgICAgICAgICAgICAgICAiV2Uga25v dyBxUm91bmQgZmFpbHMgaW4gdGhpcyBjYXNlLCBidXQgZGVjaWRlZCB0aGF0IHdlIHZhbHVlIHNp bXBsaWNpdHkgb3ZlciBjb3JyZWN0bmVzcyIsCistICAgICAgICAgICAgICAgICBDb250aW51ZSk7 CistI2VuZGlmCisrI2Vsc2UKKyAgICAgUUNPTVBBUkUocVJvdW5kKGFjdHVhbCksIGV4cGVjdGVk KTsKKysjZW5kaWYKKyAKKyAjaWYgIShkZWZpbmVkKFFfUFJPQ0VTU09SX0FSTV82NCkgJiYgKF9f aGFzX2J1aWx0aW4oX19idWlsdGluX3JvdW5kKSB8fCBkZWZpbmVkKFFfQ0NfR05VKSkgJiYgIWRl ZmluZWQoUV9DQ19DTEFORykpCistICAgIFFFWFBFQ1RfRkFJTCgicm91bmQgbGFyZ2VzdCByZXBy ZXNlbnRhYmxlIGZsb2F0IGxlc3MgdGhhbiAwLjUiLAorLSAgICAgICAgICAgICAgICAgIldlIGtu b3cgcVJvdW5kIGZhaWxzIGluIHRoaXMgY2FzZSwgYnV0IGRlY2lkZWQgdGhhdCB3ZSB2YWx1ZSBz aW1wbGljaXR5IG92ZXIgY29ycmVjdG5lc3MiLAorLSAgICAgICAgICAgICAgICAgQ29udGludWUp OworLSNlbmRpZgorKyNlbHNlCisgICAgIFFDT01QQVJFKHFSb3VuZDY0KGFjdHVhbCksIGV4cGVj dGVkKTsKKysjZW5kaWYKKyB9CisgCisgdm9pZCB0c3RfUUdsb2JhbDo6cVJvdW5kRG91Ymxlc19k YXRhKCkgeworQEAgLTY1MywxOCArNjQ5LDE0IEBAIHZvaWQgdHN0X1FHbG9iYWw6OnFSb3VuZERv dWJsZXMoKSB7CisgICAgIFFGRVRDSChkb3VibGUsIGV4cGVjdGVkKTsKKyAKKyAjaWYgIShkZWZp bmVkKFFfUFJPQ0VTU09SX0FSTV82NCkgJiYgKF9faGFzX2J1aWx0aW4oX19idWlsdGluX3JvdW5k KSB8fCBkZWZpbmVkKFFfQ0NfR05VKSkgJiYgIWRlZmluZWQoUV9DQ19DTEFORykpCistICAgIFFF WFBFQ1RfRkFJTCgicm91bmQgbGFyZ2VzdCByZXByZXNlbnRhYmxlIGRvdWJsZSBsZXNzIHRoYW4g MC41IiwKKy0gICAgICAgICAgICAgICAgICJXZSBrbm93IHFSb3VuZCBmYWlscyBpbiB0aGlzIGNh c2UsIGJ1dCBkZWNpZGVkIHRoYXQgd2UgdmFsdWUgc2ltcGxpY2l0eSBvdmVyIGNvcnJlY3RuZXNz IiwKKy0gICAgICAgICAgICAgICAgIENvbnRpbnVlKTsKKy0jZW5kaWYKKysjZWxzZQorICAgICBR Q09NUEFSRShxUm91bmQoYWN0dWFsKSwgZXhwZWN0ZWQpOworKyNlbmRpZgorIAorICNpZiAhKGRl ZmluZWQoUV9QUk9DRVNTT1JfQVJNXzY0KSAmJiAoX19oYXNfYnVpbHRpbihfX2J1aWx0aW5fcm91 bmQpIHx8IGRlZmluZWQoUV9DQ19HTlUpKSAmJiAhZGVmaW5lZChRX0NDX0NMQU5HKSkKKy0gICAg UUVYUEVDVF9GQUlMKCJyb3VuZCBsYXJnZXN0IHJlcHJlc2VudGFibGUgZG91YmxlIGxlc3MgdGhh biAwLjUiLAorLSAgICAgICAgICAgICAgICAgIldlIGtub3cgcVJvdW5kIGZhaWxzIGluIHRoaXMg Y2FzZSwgYnV0IGRlY2lkZWQgdGhhdCB3ZSB2YWx1ZSBzaW1wbGljaXR5IG92ZXIgY29ycmVjdG5l c3MiLAorLSAgICAgICAgICAgICAgICAgQ29udGludWUpOworLSNlbmRpZgorKyNlbHNlCisgICAg IFFDT01QQVJFKHFSb3VuZDY0KGFjdHVhbCksIGV4cGVjdGVkKTsKKysjZW5kaWYKKyB9CisgCisg dm9pZCB0c3RfUUdsb2JhbDo6UFJJbWFjcm9zKCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWJh c2UvcGF0Y2hlcy96ZnMtc3RvcmFnZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy96 ZnMtc3RvcmFnZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LmJkYmUzODFhNDQyZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hl cy96ZnMtc3RvcmFnZS5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gYS90ZXN0cy9hdXRvL2Nv cmVsaWIvaW8vcXN0b3JhZ2VpbmZvL3RzdF9xc3RvcmFnZWluZm8uY3BwCisrKysgYi90ZXN0cy9h dXRvL2NvcmVsaWIvaW8vcXN0b3JhZ2VpbmZvL3RzdF9xc3RvcmFnZWluZm8uY3BwCitAQCAtMTkw LDYgKzE5MCw4IEBAIHZvaWQgdHN0X1FTdG9yYWdlSW5mbzo6dGVtcEZpbGUoKQorICNpZmRlZiBR X09TX0xJTlVYCisgICAgIGlmIChzdG9yYWdlMS5maWxlU3lzdGVtVHlwZSgpID09ICJidHJmcyIp CisgICAgICAgICBRU0tJUCgiVGhpcyB0ZXN0IGRvZXNuJ3Qgd29yayBvbiBidHJmcywgcHJvYmFi bHkgZHVlIHRvIGEgYnRyZnMgYnVnIik7CisrICAgIGlmIChzdG9yYWdlMS5maWxlU3lzdGVtVHlw ZSgpID09ICJ6ZnMiKQorKyAgICAgICAgUVNLSVAoIlRoaXMgdGVzdCBkb2Vzbid0IHdvcmsgb24g emZzIik7CisgI2VuZGlmCisgCisgICAgIHFpbnQ2NCBmcmVlID0gc3RvcmFnZTEuYnl0ZXNGcmVl KCk7CitAQCAtMjE2LDYgKzIxOCw4IEBAIHZvaWQgdHN0X1FTdG9yYWdlSW5mbzo6Y2FjaGluZygp CisgI2lmZGVmIFFfT1NfTElOVVgKKyAgICAgaWYgKHN0b3JhZ2UxLmZpbGVTeXN0ZW1UeXBlKCkg PT0gImJ0cmZzIikKKyAgICAgICAgIFFTS0lQKCJUaGlzIHRlc3QgZG9lc24ndCB3b3JrIG9uIGJ0 cmZzLCBwcm9iYWJseSBkdWUgdG8gYSBidHJmcyBidWciKTsKKysgICAgaWYgKHN0b3JhZ2UxLmZp bGVTeXN0ZW1UeXBlKCkgPT0gInpmcyIpCisrICAgICAgICBRU0tJUCgiVGhpcyB0ZXN0IGRvZXNu J3Qgd29yayBvbiB6ZnMiKTsKKyAjZW5kaWYKKyAKKyAgICAgcWludDY0IGZyZWUgPSBzdG9yYWdl MS5ieXRlc0ZyZWUoKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUgYi9z cmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRlCmluZGV4IGNjNDdlMThhNzBmZi4uYWM0ZDAyZDcyZDI0 IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2 LWJhc2UvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYt YmFzZScKIHBrZ25hbWU9cXQ2LWJhc2UKLXZlcnNpb249Ni4zLjAKLXJldmlzaW9uPTIKK3ZlcnNp b249Ni4zLjEKK3JldmlzaW9uPTEKIHdya3NyYz0icXRiYXNlLWV2ZXJ5d2hlcmUtc3JjLSR7dmVy c2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9EQVRB RElSPXNoYXJlL3F0NgpAQCAtOSw2ICs5LDggQEAgY29uZmlndXJlX2FyZ3M9Ii1ESU5TVEFMTF9E QVRBRElSPXNoYXJlL3F0NgogIC1ESU5TVEFMTF9CSU5ESVI9bGliL3F0Ni9iaW4KICAtRElOU1RB TExfTUtTUEVDU0RJUj1saWIvcXQ2L21rc3BlY3MKICAtRElOU1RBTExfSU5DTFVERURJUj1pbmNs dWRlL3F0NgorIC1ESU5TVEFMTF9FWEFNUExFU0RJUj1saWIvcXQ2L2V4YW1wbGVzCisgLURJTlNU QUxMX1RFU1RTRElSPWxpYi9xdDYvdGVzdHMKICAtRElOU1RBTExfU1lTQ09ORkRJUj0vZXRjL3hk ZwogIC1EUVRfRkVBVFVSRV9vcGVuc3NsX2xpbmtlZD1PTgogIC1EUVRfRkVBVFVSRV9zeXN0ZW1f c3FsaXRlPU9OCkBAIC0yOSwxNCArMzEsMTMgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55 bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSBXSVRIIFF0LUdQTC1leGNlcHRpb24t MS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8v d3d3LnF0LmlvIgogZGlzdGZpbGVzPSJodHRwczovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0YmFzZS1ldmVy eXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWI4NjVhYWU0MzM1N2Y3OTJi M2IwYTE2Mjg5OWQ5YmY2YTEzOTNhNTVjNGU1ZTRlZGU1MzE2YjE1N2IxYTBmOTkKK2NoZWNrc3Vt PTBhNjQ0MjFkOWMyNDY5YzJjNDg0OTBhMDMyYWI5MWQ1NDcwMTdjOWNjMTcxZjNmODA3MGJjMzE4 ODhmMjRlMDMKIHB5dGhvbl92ZXJzaW9uPTMKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVu CiAJaG9zdG1ha2VkZXBlbmRzKz0iIHF0Ni1iYXNlLWRldmVsIgogCSMgUXRTZXR1cCBmYWlscyBu YXRpdmUgYnVpbGRzIGlmIHRoaXMgaXMgc2V0Ci0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9IT1NU X1BBVEg9L3VzcgotCSAtRFFUX0JVSUxEX1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIK Kwljb25maWd1cmVfYXJncys9Ii1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10 cnVlIgogZmkKIAogIyBJdCBpcyBjdXJyZW50bHkgZXhwZWN0ZWQgdGhhdCBxdWl0ZSBhIGZldyBw YXRjaGVzIGRvIGZhaWwKQEAgLTQ2LDYgKzQ3LDcgQEAgZmkKIAogZG9fY2hlY2soKSB7CiAJY2Qg YnVpbGQKKwlleHBvcnQgUVRfUVBBX1BMQVRGT1JNPW9mZnNjcmVlbgogCWxvY2FsIGZhaWxpbmdf dGVzdHM9InRzdF9zZWxmdGVzdHMgdHN0X3FtYWtlIHRzdF9tb2MKIAkJdHN0X3JjYyB0c3RfcWZp bGUgdHN0X3FzdGFuZGFyZHBhdGhzCiAJCXRzdF9xdGVtcG9yYXJ5ZGlyIHRzdF9xdGVtcG9yYXJ5 ZmlsZSB0c3RfcWRpcgpAQCAtNzMsNyArNzUsMTQgQEAgZG9fY2hlY2soKSB7CiAJCXRzdF9xb3Bl bmdsIHRzdF9xZG5zbG9va3VwIHRzdF9xZmlsZWRpYWxvZwogCQl0c3RfcWdyYXBoaWNzdmlldyB0 c3RfcWFwcGxpY2F0aW9uIHRzdF9xZm9udGNvbWJvYm94CiAJCXRzdF9xbGluZWVkaXQgdHN0X3Ft ZW51YmFyIHRzdF9xb3Blbmdsd2lkZ2V0CisJCXRzdF9xeDExaW5mbyB0c3RfcWNvbXBsZXh0ZXh0 CiAJCXRlc3RfUUZJTkRURVNUREFUQSBydW5fdGVzdF9RRklORFRFU1REQVRBIgorCSMgVW5rbm93 biBwbGF0Zm9ybSBsaW51eC1nKysgOi8KKwlmYWlsaW5nX3Rlc3RzKz0iIG1vY2twbHVnaW5zIHRl c3RfaW1wb3J0X3BsdWdpbnMKKwkJdGVzdF9zdGF0aWNfcmVzb3VyY2VzIHRlc3RfZ2VuZXJhdGlu Z19jcHBfZXhwb3J0cyIKKwlmYWlsaW5nX3Rlc3RzKz0iIHRzdF9xc3RvcmFnZWluZm8iCisJIyBi cm9rZW4gd2l0aCAtTywgcGFzc2VkIHdpdGggLU8wLCBwcm9iYWJseSBicm9rZW4gZmxvYXRpbmcg cG9pbnQgY29kZS4KKwlmYWlsaW5nX3Rlc3RzKz0iIHRzdF9xdmVjdG9ybmQiCiAJbG9jYWwgY3Rl c3RfZXhjbHVkZT0iKCIKIAlmb3IgZmFpbHVyZSBpbiAkZmFpbGluZ190ZXN0czsgZG8KIAkJY3Rl c3RfZXhjbHVkZSs9IiRmYWlsdXJlfCIKQEAgLTIyNSw3ICsyMzQsNyBAQCBxdDYtcGx1Z2luLXRs cy1xY2VydG9ubHlfcGFja2FnZSgpIHsKIHF0Ni1wbHVnaW4tbmV0d29ya2luZm9ybWF0aW9uX3Bh Y2thZ2UoKSB7CiAJc2hvcnRfZGVzYys9IiAtIE5ldHdvcmtpbmZvcm1hdGlvbiBwbHVnaW4iCiAJ cGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVzci9saWIvcXQ2L3BsdWdpbnMvbmV0d29ya2luZm9y bWF0aW9uL2xpYnFuZXR3b3JrbWFuYWdlci5zbworCQl2bW92ZSB1c3IvbGliL3F0Ni9wbHVnaW5z L25ldHdvcmtpbmZvcm1hdGlvbi8KIAl9CiB9CiAKQEAgLTI0Niw5ICsyNTUsMTIgQEAgcXQ2LWJh c2UtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1 ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2 bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZt b3ZlICJ1c3IvbGliLyouYSIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9s aWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMDhl ODk4YTcxZjg0NmIzNWM1NTA2ZDE5YTNjYmFhNTQ4MzE3MDk2MyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1D Mz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcg MjAyMiAxNzoxMzowNyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMjZdIHF0Ni1jaGFydHM6IHVw ZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtY2hhcnRzL3BhdGNoZXMvbm8tY21ha2Ut dGVzdC5wYXRjaCB8IDEwICsrKysrKysrKysKIHNyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgICAgfCAxMiArKysrKysrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTkg aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3F0Ni1jaGFydHMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9xdDYtY2hhcnRzL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2 LWNoYXJ0cy9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi42ODg2MjgyOTcyY2UKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3F0Ni1jaGFydHMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTAg QEAKKy0tLSBhL3Rlc3RzL2F1dG8vQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rlc3RzL2F1dG8vQ01h a2VMaXN0cy50eHQKK0BAIC0yMyw3ICsyMyw2IEBAIGFkZF9zdWJkaXJlY3RvcnkocWNhdGVnb3J5 YXhpcykKKyBhZGRfc3ViZGlyZWN0b3J5KHFiYXJjYXRlZ29yeWF4aXMpCisgYWRkX3N1YmRpcmVj dG9yeShxbGVnZW5kKQorIGFkZF9zdWJkaXJlY3RvcnkocWFyZWFzZXJpZXMpCistYWRkX3N1YmRp cmVjdG9yeShjbWFrZSkKKyBhZGRfc3ViZGlyZWN0b3J5KHFjYW5kbGVzdGlja21vZGVsbWFwcGVy KQorIGFkZF9zdWJkaXJlY3RvcnkocWNhbmRsZXN0aWNrc2VyaWVzKQorIGFkZF9zdWJkaXJlY3Rv cnkocWNhbmRsZXN0aWNrc2V0KQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBs YXRlIGIvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlCmluZGV4IDc5Y2I4YTIyMDQwMS4uZWQw YTcxNGE1ZGZiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKKysrIGIv c3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3F0Ni1jaGFydHMnCiBwa2duYW1lPXF0Ni1jaGFydHMKLXZlcnNpb249Ni4zLjAK K3ZlcnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRjaGFydHMtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9I T1NUX1BBVEg9L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2 ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jv c3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIGNoYXJ0cyIKQEAgLTEy LDcgKzExLDExIEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNl bnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9 Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9 LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGNoYXJ0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259 LnRhci54eiIKLWNoZWNrc3VtPTY3Mjc2MmM1ZjY0MWNjYzg4YTMwYWVlZGVmYjYzZjAzYzBmODM3 NjQ5YjMzNGY0NmVlYTU3NTkyZTg3ZTM2Y2QKK2NoZWNrc3VtPWYzMzBjYzIzMjg3MjkxMDRkNzli MjA4ODk5MGNlMDg0MGYyZGE4OWQ5ZDk4OTM2MGQ0YzM1MmU3OTdkMjdjZjcKKworcHJlX2NoZWNr KCkgeworCWV4cG9ydCBRTUwyX0lNUE9SVF9QQVRIPSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYvcW1s IgorfQogCiBxdDYtY2hhcnRzLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vw a2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgpAQCAtMjAsOCArMjMsMTEgQEAgcXQ2LWNoYXJ0 cy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVk ZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZt b3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1v dmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9z aGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMGYyNTk4MTNjZmE5OTU0NGYzYWMwMmEzN2Jk ZDA1ODE0NWRhMTUwNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1D ND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2Rh bmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowNyArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMDMvMjZdIHF0Ni1kZWNsYXJhdGl2ZTogdXBkYXRlIHRvIDYuMy4xLgoKLS0t CiAuLi4vcGF0Y2hlcy9iaW4tcW1sLWxvY2F0aW9uLnBhdGNoICAgICAgICAgICAgfCAxOTMgKysr KysrKysrKysrKysrKysrCiAuLi4vcGF0Y2hlcy9xbWwtYmxhY2tsaXN0LW1vcmUucGF0Y2ggICAg ICAgICAgfCAgNDggKysrKysKIC4uLi9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaCAgICAg ICAgICAgICB8ICA2NCArKysrKysKIHNyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3RlbXBsYXRlICAg ICAgICAgICAgICB8ICAzMiArKy0KIDQgZmlsZXMgY2hhbmdlZCwgMzMxIGluc2VydGlvbnMoKyks IDYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtZGVjbGFyYXRp dmUvcGF0Y2hlcy9iaW4tcW1sLWxvY2F0aW9uLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9xbWwtYmxhY2tsaXN0LW1vcmUucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVzL3FtbC1icm9r ZW4tdGVzdC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNo ZXMvYmluLXFtbC1sb2NhdGlvbi5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNo ZXMvYmluLXFtbC1sb2NhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmY5MmUzNDYzMjUwMgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3BhdGNoZXMvYmluLXFtbC1sb2NhdGlvbi5wYXRjaApAQCAtMCwwICsxLDE5MyBA QAorLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGRlYnVndHJhbnNsYXRpb25jbGll bnQvdHN0X3FxbWxkZWJ1Z3RyYW5zbGF0aW9uY2xpZW50LmNwcAorKysrIGIvdGVzdHMvYXV0by9x bWwvZGVidWdnZXIvcXFtbGRlYnVndHJhbnNsYXRpb25jbGllbnQvdHN0X3FxbWxkZWJ1Z3RyYW5z bGF0aW9uY2xpZW50LmNwcAorQEAgLTk0LDcgKzk0LDExIEBAIHByaXZhdGU6CisgICAgIHsKKyAg ICAgICAgIG1fY3VycmVudE91dHB1dExpbmUgPSAwOworIAorKyNpZmRlZiBRVF9ERUNMQVJBVElW RV9CSU5fUEFUSAorKyAgICAgICAgYXV0byBleGVjdXRhYmxlID0gUVRfREVDTEFSQVRJVkVfQklO X1BBVEggIi9xbWwiOworKyNlbHNlCisgICAgICAgICBhdXRvIGV4ZWN1dGFibGUgPSBRTGlicmFy eUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWwiOworKyNlbmRp ZgorICAgICAgICAgYXV0byBzZXJ2aWNlcyA9IFFRbWxEZWJ1Z1RyYW5zbGF0aW9uU2VydmljZUlt cGw6OnNfa2V5OworICAgICAgICAgYXV0byBleHRyYUFyZ3MgPSB0ZXN0RmlsZShRTUxGSUxFKTsK KyAgICAgICAgIGF1dG8gYmxvY2sgPSB0cnVlOworLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdn ZXIvcXFtbGluc3BlY3Rvci90c3RfcXFtbGluc3BlY3Rvci5jcHAKKysrKyBiL3Rlc3RzL2F1dG8v cW1sL2RlYnVnZ2VyL3FxbWxpbnNwZWN0b3IvdHN0X3FxbWxpbnNwZWN0b3IuY3BwCitAQCAtNzIs NyArNzIsMTIgQEAgdHN0X1FRbWxJbnNwZWN0b3I6OnRzdF9RUW1sSW5zcGVjdG9yKCkKKyBRUW1s RGVidWdUZXN0OjpDb25uZWN0UmVzdWx0IHRzdF9RUW1sSW5zcGVjdG9yOjpzdGFydFFtbFByb2Nl c3MoY29uc3QgUVN0cmluZyAmcW1sRmlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCByZXN0cmljdFNlcnZpY2Vz KQorIHsKKy0gICAgcmV0dXJuIFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhRTGlicmFyeUluZm86 OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWwiLAorKyNpZmRlZiBRVF9E RUNMQVJBVElWRV9CSU5fUEFUSAorKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRVF9ERUNMQVJBVElW RV9CSU5fUEFUSCAiL3FtbCI7CisrI2Vsc2UKKysgICAgYXV0byBleGVjdXRhYmxlID0gUUxpYnJh cnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRoKSArICIvcW1sIjsKKysjZW5k aWYKKysgICAgcmV0dXJuIFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhleGVjdXRhYmxlLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0cmljdFNlcnZpY2VzID8gUVN0cmlu Z0xpdGVyYWwoIlFtbEluc3BlY3RvciIpIDogUVN0cmluZygpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0ZXN0RmlsZShxbWxGaWxlKSwgdHJ1ZSk7CisgfQorLS0tIGEvdGVz dHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbHByb2ZpbGVyc2VydmljZS90c3RfcXFtbHByb2ZpbGVy c2VydmljZS5jcHAKKysrKyBiL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FxbWxwcm9maWxlcnNl cnZpY2UvdHN0X3FxbWxwcm9maWxlcnNlcnZpY2UuY3BwCitAQCAtMjA0LDEwICsyMDQsMTYgQEAg cHJpdmF0ZToKKyAgICAgICAgIENoZWNrVHlwZSA9IENoZWNrTWVzc2FnZVR5cGUgfCBDaGVja0Rl dGFpbFR5cGUgfCBDaGVja0xpbmUgfCBDaGVja0NvbHVtbiB8IENoZWNrRmlsZUVuZHNXaXRoCisg ICAgIH07CisgCisrI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRICisrI2RlZmluZSBRTUxT Q0VORV9QQVRIIFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sIgorKyNlbHNlCisrI2RlZmlu ZSBRTUxTQ0VORV9QQVRIIFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFyaWVz UGF0aCkgKyAiL3FtbHNjZW5lIgorKyNlbmRpZgorKworICAgICBDb25uZWN0UmVzdWx0IGNvbm5l Y3RUbyhib29sIGJsb2NrLCBjb25zdCBRU3RyaW5nICZmaWxlLCBib29sIHJlY29yZEZyb21TdGFy dCA9IHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50IGZsdXNoSW50ZXJ2YWwg PSAwLCBib29sIHJlc3RyaWN0U2VydmljZXMgPSB0cnVlLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgUVN0cmluZyAmZXhlY3V0YWJsZQorLSAgICAgICAgICAgID0gUUxpYnJhcnlJ bmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRoKSArICIvcW1sc2NlbmUiKTsKKysg ICAgICAgICAgICA9IFFNTFNDRU5FX1BBVEgpOworICAgICB2b2lkIGNoZWNrUHJvY2Vzc1Rlcm1p bmF0ZWQoKTsKKyAgICAgdm9pZCBjaGVja1RyYWNlUmVjZWl2ZWQoKTsKKyAgICAgdm9pZCBjaGVj a0pzSGVhcCgpOworLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGRlYnVnZ2luZ2Vu YWJsZXIvcXFtbGRlYnVnZ2luZ2VuYWJsZXIvdHN0X3FxbWxkZWJ1Z2dpbmdlbmFibGVyLmNwcAor KysrIGIvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGRlYnVnZ2luZ2VuYWJsZXIvcXFtbGRl YnVnZ2luZ2VuYWJsZXIvdHN0X3FxbWxkZWJ1Z2dpbmdlbmFibGVyLmNwcAorQEAgLTExMCw4ICsx MTAsMTMgQEAgdm9pZCB0c3RfUVFtbERlYnVnZ2luZ0VuYWJsZXI6OnFtbHNjZW5lKAorICAgICBR RkVUQ0goYm9vbCwgYmxvY2tNb2RlKTsKKyAgICAgUUZFVENIKFFTdHJpbmdMaXN0LCBzZXJ2aWNl cyk7CisgCistICAgIG1fcHJvY2VzcyA9IG5ldyBRUW1sRGVidWdQcm9jZXNzKAorLSAgICAgICAg ICAgICAgICBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsg Ii9xbWxzY2VuZSIsIHRoaXMpOworKyNpZmRlZiBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSAorKyAg ICBhdXRvIGV4ZWN1dGFibGUgPSBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSCAiL3FtbHNjZW5lIjsK KysjZWxzZQorKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJh cnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWxzY2VuZSI7CisrI2VuZGlmCisrCisrICAgIG1f cHJvY2VzcyA9IG5ldyBRUW1sRGVidWdQcm9jZXNzKGV4ZWN1dGFibGUsIHRoaXMpOworICAgICBt X3Byb2Nlc3MtPnNldE1heGltdW1CaW5kRXJyb3JzKDEpOworICAgICBtX3Byb2Nlc3MtPnN0YXJ0 KFFTdHJpbmdMaXN0KCkKKyAgICAgICAgICAgICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9tTGF0 aW4xKCItcW1sanNkZWJ1Z2dlcj1jb25uZWN0b3I6JTElMiUzJTQiKQorLS0tIGEvdGVzdHMvYXV0 by9xbWwvZGVidWdnZXIvcXFtbGVuZ2luZWNvbnRyb2wvdHN0X3FxbWxlbmdpbmVjb250cm9sLmNw cAorKysrIGIvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGVuZ2luZWNvbnRyb2wvdHN0X3Fx bWxlbmdpbmVjb250cm9sLmNwcAorQEAgLTkxLDcgKzkxLDEyIEBAIHRzdF9RUW1sRW5naW5lQ29u dHJvbDo6dHN0X1FRbWxFbmdpbmVDb24KKyBRUW1sRGVidWdUZXN0OjpDb25uZWN0UmVzdWx0IHRz dF9RUW1sRW5naW5lQ29udHJvbDo6Y29ubmVjdFRvKGNvbnN0IFFTdHJpbmcgJmZpbGUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ym9vbCByZXN0cmljdFNlcnZpY2VzKQorIHsKKy0gICAgcmV0dXJuIFFRbWxEZWJ1Z1Rlc3Q6OmNv bm5lY3RUbyhRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsg Ii9xbWxzY2VuZSIsCisrI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRICisrICAgIGF1dG8g ZXhlY3V0YWJsZSA9IFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sc2NlbmUiOworKyNlbHNl CisrICAgIGF1dG8gZXhlY3V0YWJsZSA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86 OkJpbmFyaWVzUGF0aCkgKyAiL3FtbHNjZW5lIjsKKysjZW5kaWYKKysgICAgcmV0dXJuIFFRbWxE ZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhleGVjdXRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZXN0cmljdFNlcnZpY2VzID8gUVN0cmluZ0xpdGVyYWwoIkVuZ2luZUNvbnRy b2wiKSA6IFFTdHJpbmcoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVz dEZpbGUoZmlsZSksIHRydWUpOworIH0KKy0tLSBhL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3Fx bWxlbmdpbmVkZWJ1Z2luc3BlY3RvcmludGVncmF0aW9udGVzdC90c3RfcXFtbGVuZ2luZWRlYnVn aW5zcGVjdG9yaW50ZWdyYXRpb24uY3BwCisrKysgYi90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9x cW1sZW5naW5lZGVidWdpbnNwZWN0b3JpbnRlZ3JhdGlvbnRlc3QvdHN0X3FxbWxlbmdpbmVkZWJ1 Z2luc3BlY3RvcmludGVncmF0aW9uLmNwcAorQEAgLTk2LDcgKzk2LDExIEBAIHRzdF9RUW1sRW5n aW5lRGVidWdJbnNwZWN0b3JJbnRlZ3JhdGlvbjoKKyBRUW1sRGVidWdUZXN0OjpDb25uZWN0UmVz dWx0IHRzdF9RUW1sRW5naW5lRGVidWdJbnNwZWN0b3JJbnRlZ3JhdGlvbjo6aW5pdChib29sIHJl c3RyaWN0U2VydmljZXMpCisgeworICAgICByZXR1cm4gUVFtbERlYnVnVGVzdDo6Y29ubmVjdFRv KAorKyNpZmRlZiBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSAorKyAgICAgICAgICAgICAgICBRVF9E RUNMQVJBVElWRV9CSU5fUEFUSCAiL3FtbCIsCisrI2Vsc2UKKyAgICAgICAgICAgICAgICAgUUxp YnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRoKSArICIvcW1sIiwKKysj ZW5kaWYKKyAgICAgICAgICAgICAgICAgcmVzdHJpY3RTZXJ2aWNlcyA/IFFTdHJpbmdMaXRlcmFs KCJRbWxEZWJ1Z2dlcixRbWxJbnNwZWN0b3IiKSA6IFFTdHJpbmcoKSwKKyAgICAgICAgICAgICAg ICAgdGVzdEZpbGUoInF0cXVpY2syLnFtbCIpLCB0cnVlKTsKKyB9CistLS0gYS90ZXN0cy9hdXRv L3FtbC9kZWJ1Z2dlci9xcW1scHJldmlldy90c3RfcXFtbHByZXZpZXcuY3BwCisrKysgYi90ZXN0 cy9hdXRvL3FtbC9kZWJ1Z2dlci9xcW1scHJldmlldy90c3RfcXFtbHByZXZpZXcuY3BwCitAQCAt ODEsNyArODEsMTIgQEAgdHN0X1FRbWxQcmV2aWV3Ojp0c3RfUVFtbFByZXZpZXcoKQorIAorIFFR bWxEZWJ1Z1Rlc3Q6OkNvbm5lY3RSZXN1bHQgdHN0X1FRbWxQcmV2aWV3OjpzdGFydFFtbFByb2Nl c3MoY29uc3QgUVN0cmluZyAmcW1sRmlsZSkKKyB7CistICAgIHJldHVybiBRUW1sRGVidWdUZXN0 Ojpjb25uZWN0VG8oUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRo KSArICIvcW1sIiwKKysjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklOX1BBVEgKKysgICAgYXV0byBl eGVjdXRhYmxlID0gUVRfREVDTEFSQVRJVkVfQklOX1BBVEggIi9xbWwiOworKyNlbHNlCisrICAg IGF1dG8gZXhlY3V0YWJsZSA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFy aWVzUGF0aCkgKyAiL3FtbCI7CisrI2VuZGlmCisrICAgIHJldHVybiBRUW1sRGVidWdUZXN0Ojpj b25uZWN0VG8oZXhlY3V0YWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UVN0cmluZ0xpdGVyYWwoIlFtbFByZXZpZXciKSwgdGVzdEZpbGUocW1sRmlsZSksIHRydWUpOwor IH0KKyAKKy0tLSBhL3Rlc3RzL2F1dG8vcW1sL3FtbGZvcm1hdC90c3RfcW1sZm9ybWF0LmNwcAor KysrIGIvdGVzdHMvYXV0by9xbWwvcW1sZm9ybWF0L3RzdF9xbWxmb3JtYXQuY3BwCitAQCAtODgs NyArODgsMTEgQEAgVGVzdFFtbGZvcm1hdDo6VGVzdFFtbGZvcm1hdCgpCisgdm9pZCBUZXN0UW1s Zm9ybWF0Ojppbml0VGVzdENhc2UoKQorIHsKKyAgICAgUVFtbERhdGFUZXN0Ojppbml0VGVzdENh c2UoKTsKKysjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklOX1BBVEgKKysgICAgbV9xbWxmb3JtYXRQ YXRoID0gUUxhdGluMVN0cmluZyhRVF9ERUNMQVJBVElWRV9CSU5fUEFUSCAiL3FtbGZvcm1hdCIp OworKyNlbHNlCisgICAgIG1fcW1sZm9ybWF0UGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGli cmFyeUluZm86OkJpbmFyaWVzUGF0aCkgKyBRTGF0aW4xU3RyaW5nKCIvcW1sZm9ybWF0Iik7Cisr I2VuZGlmCisgI2lmZGVmIFFfT1NfV0lOCisgICAgIG1fcW1sZm9ybWF0UGF0aCArPSBRTGF0aW4x U3RyaW5nKCIuZXhlIik7CisgI2VuZGlmCistLS0gYS90ZXN0cy9hdXRvL3FtbC9xbWxpbXBvcnRz Y2FubmVyL3RzdF9xbWxpbXBvcnRzY2FubmVyLmNwcAorKysrIGIvdGVzdHMvYXV0by9xbWwvcW1s aW1wb3J0c2Nhbm5lci90c3RfcW1saW1wb3J0c2Nhbm5lci5jcHAKK0BAIC02Myw4ICs2MywxMiBA QCBUZXN0UW1saW1wb3J0c2Nhbm5lcjo6VGVzdFFtbGltcG9ydHNjYW5uCisgdm9pZCBUZXN0UW1s aW1wb3J0c2Nhbm5lcjo6aW5pdFRlc3RDYXNlKCkKKyB7CisgICAgIFFRbWxEYXRhVGVzdDo6aW5p dFRlc3RDYXNlKCk7CisrI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0xJQkVYRUNfUEFUSAorKyAgICBt X3FtbGltcG9ydHNjYW5uZXJQYXRoID0gUUxhdGluMVN0cmluZyhRVF9ERUNMQVJBVElWRV9MSUJF WEVDX1BBVEggIi9xbWxpbXBvcnRzY2FubmVyIik7CisrI2Vsc2UKKyAgICAgbV9xbWxpbXBvcnRz Y2FubmVyUGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkxpYnJhcnlFeGVj dXRhYmxlc1BhdGgpCisgICAgICAgICAgICAgKyBRTGF0aW4xU3RyaW5nKCIvcW1saW1wb3J0c2Nh bm5lciIpOworKyNlbmRpZgorICNpZmRlZiBRX09TX1dJTgorICAgICBtX3FtbGltcG9ydHNjYW5u ZXJQYXRoICs9IFFMYXRpbjFTdHJpbmcoIi5leGUiKTsKKyAjZW5kaWYKKy0tLSBhL3Rlc3RzL2F1 dG8vcW1sL3FtbGxpbnQvdHN0X3FtbGxpbnQuY3BwCisrKysgYi90ZXN0cy9hdXRvL3FtbC9xbWxs aW50L3RzdF9xbWxsaW50LmNwcAorQEAgLTEzNiwxMSArMTM2LDE3IEBAIFRlc3RRbWxsaW50OjpU ZXN0UW1sbGludCgpCisgdm9pZCBUZXN0UW1sbGludDo6aW5pdFRlc3RDYXNlKCkKKyB7CisgICAg IFFRbWxEYXRhVGVzdDo6aW5pdFRlc3RDYXNlKCk7CisrI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0JJ Tl9QQVRICisrICAgIG1fcW1sbGludFBhdGggPSBRTGF0aW4xU3RyaW5nKFFUX0RFQ0xBUkFUSVZF X0JJTl9QQVRIICIvcW1sbGludCIpOworKyAgICBtX3FtbGpzcm9vdGdlblBhdGggPSBRTGF0aW4x U3RyaW5nKFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sanNyb290Z2VuIik7CisrICAgIG1f cW1sdHlwZXJlZ2lzdHJhclBhdGggPSBRTGF0aW4xU3RyaW5nKFFUX0RFQ0xBUkFUSVZFX0JJTl9Q QVRIICIvcW1sdHlwZXJlZ2lzdHJhciIpOworKyNlbHNlCisgICAgIG1fcW1sbGludFBhdGggPSBR TGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgUUxhdGluMVN0 cmluZygiL3FtbGxpbnQiKTsKKyAgICAgbV9xbWxqc3Jvb3RnZW5QYXRoID0gUUxpYnJhcnlJbmZv OjpwYXRoKFFMaWJyYXJ5SW5mbzo6TGlicmFyeUV4ZWN1dGFibGVzUGF0aCkKKyAgICAgICAgICAg ICArIFFMYXRpbjFTdHJpbmcoIi9xbWxqc3Jvb3RnZW4iKTsKKyAgICAgbV9xbWx0eXBlcmVnaXN0 cmFyUGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkxpYnJhcnlFeGVjdXRh Ymxlc1BhdGgpCisgICAgICAgICAgICAgKyBRTGF0aW4xU3RyaW5nKCIvcW1sdHlwZXJlZ2lzdHJh ciIpOworKyNlbmRpZgorICNpZmRlZiBRX09TX1dJTgorICAgICBtX3FtbGxpbnRQYXRoICs9IFFM YXRpbjFTdHJpbmcoIi5leGUiKTsKKyAgICAgbV9xbWxqc3Jvb3RnZW5QYXRoICs9IFFMYXRpbjFT dHJpbmcoIi5leGUiKTsKKy0tLSBhL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FkZWJ1Z21lc3Nh Z2VzZXJ2aWNlL3RzdF9xZGVidWdtZXNzYWdlc2VydmljZS5jcHAKKysrKyBiL3Rlc3RzL2F1dG8v cW1sL2RlYnVnZ2VyL3FkZWJ1Z21lc3NhZ2VzZXJ2aWNlL3RzdF9xZGVidWdtZXNzYWdlc2Vydmlj ZS5jcHAKK0BAIC0xNDMsNyArMTQzLDEyIEBAIHRzdF9RRGVidWdNZXNzYWdlU2VydmljZTo6dHN0 X1FEZWJ1Z01lc3MKKyAKKyB2b2lkIHRzdF9RRGVidWdNZXNzYWdlU2VydmljZTo6cmV0cmlldmVE ZWJ1Z091dHB1dCgpCisgeworLSAgICBRQ09NUEFSRShRUW1sRGVidWdUZXN0Ojpjb25uZWN0VG8o UUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRoKSArICIvcW1sIiwK KysjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklOX1BBVEgKKysgICAgYXV0byBleGVjdXRhYmxlID0g UVRfREVDTEFSQVRJVkVfQklOX1BBVEggIi9xbWwiOworKyNlbHNlCisrICAgIGF1dG8gZXhlY3V0 YWJsZSA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCkgKyAi L3FtbCI7CisrI2VuZGlmCisrICAgIFFDT01QQVJFKFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhl eGVjdXRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTdHJpbmco KSwgdGVzdEZpbGUoUU1MRklMRSksIHRydWUpLCBDb25uZWN0U3VjY2Vzcyk7CisgCisgICAgIFFU UllfVkVSSUZZKG1fY2xpZW50LT5sb2dCdWZmZXIuc2l6ZSgpID49IDIpOworLS0tIGEvdGVzdHMv YXV0by9xbWwvcW1scGx1Z2luZHVtcC90c3RfcW1scGx1Z2luZHVtcC5jcHAKKysrKyBiL3Rlc3Rz L2F1dG8vcW1sL3FtbHBsdWdpbmR1bXAvdHN0X3FtbHBsdWdpbmR1bXAuY3BwCitAQCAtNjIsNyAr NjIsMTEgQEAgdHN0X3FtbHBsdWdpbmR1bXA6OnRzdF9xbWxwbHVnaW5kdW1wKCkKKyB2b2lkIHRz dF9xbWxwbHVnaW5kdW1wOjppbml0VGVzdENhc2UoKQorIHsKKyAgICAgUVFtbERhdGFUZXN0Ojpp bml0VGVzdENhc2UoKTsKKysjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklOX1BBVEgKKysgICAgcW1s cGx1Z2luZHVtcFBhdGggPSBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSDsKKysjZWxzZQorICAgICBx bWxwbHVnaW5kdW1wUGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFy aWVzUGF0aCk7CisrI2VuZGlmCisgCisgI2lmIGRlZmluZWQoUV9PU19XSU4pCisgICAgIHFtbHBs dWdpbmR1bXBQYXRoICs9IFFMYXRpbjFTdHJpbmcoIi9xbWxwbHVnaW5kdW1wLmV4ZSIpOwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9xbWwtYmxhY2tsaXN0LW1v cmUucGF0Y2ggYi9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVzL3FtbC1ibGFja2xpc3Qt bW9yZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJkMjYy OWJmOWRmOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNo ZXMvcW1sLWJsYWNrbGlzdC1tb3JlLnBhdGNoCkBAIC0wLDAgKzEsNDggQEAKKy0tLSBhL3Rlc3Rz L2F1dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMvdW5pdmVyc2FsL0JMQUNLTElTVAorKysrIGIv dGVzdHMvYXV0by9xdWlja2NvbnRyb2xzMi9jb250cm9scy91bml2ZXJzYWwvQkxBQ0tMSVNUCitA QCAtNiw1ICs2LDYgQEAKKyAKKyAjIFFUQlVHLTk1NzUwCisgW1JhbmdlU2xpZGVyOjp0ZXN0X292 ZXJsYXBwaW5nSGFuZGxlc10KKyBiMnF0CisgcW54CisrbGludXgKKy0tLSBhL3Rlc3RzL2F1dG8v cXVpY2tjb250cm9sczIvY29udHJvbHMvYmFzaWMvQkxBQ0tMSVNUCisrKysgYi90ZXN0cy9hdXRv L3F1aWNrY29udHJvbHMyL2NvbnRyb2xzL2Jhc2ljL0JMQUNLTElTVAorQEAgLTYsNSArNiw2IEBA CisgCisgIyBRVEJVRy05NTc1MAorIFtSYW5nZVNsaWRlcjo6dGVzdF9vdmVybGFwcGluZ0hhbmRs ZXNdCisgYjJxdAorIHFueAorK2xpbnV4CistLS0gYS90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMy L2NvbnRyb2xzL2Z1c2lvbi9CTEFDS0xJU1QKKysrKyBiL3Rlc3RzL2F1dG8vcXVpY2tjb250cm9s czIvY29udHJvbHMvZnVzaW9uL0JMQUNLTElTVAorQEAgLTYsNSArNiw2IEBACisgCisgIyBRVEJV Ry05NTc1MAorIFtSYW5nZVNsaWRlcjo6dGVzdF9vdmVybGFwcGluZ0hhbmRsZXNdCisgYjJxdAor IHFueAorK2xpbnV4CistLS0gYS90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMyL2NvbnRyb2xzL2lt YWdpbmUvQkxBQ0tMSVNUCisrKysgYi90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMyL2NvbnRyb2xz L2ltYWdpbmUvQkxBQ0tMSVNUCitAQCAtNiw4ICs2LDkgQEAKKyAKKyAjIFFUQlVHLTk1NzUwCisg W1JhbmdlU2xpZGVyOjp0ZXN0X292ZXJsYXBwaW5nSGFuZGxlc10KKyBiMnF0CisgcW54CisrbGlu dXgKKyAKKyAjIFFUQlVHLTEwMTcwNAorIFtUb29sVGlwOjp0ZXN0X2F0dGFjaGVkU2l6ZUJ1Z10K Ky0tLSBhL3Rlc3RzL2F1dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMvbWF0ZXJpYWwvQkxBQ0tM SVNUCisrKysgYi90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMyL2NvbnRyb2xzL21hdGVyaWFsL0JM QUNLTElTVAorQEAgLTYsNSArNiw2IEBACisgCisgIyBRVEJVRy05NTc1MAorIFtSYW5nZVNsaWRl cjo6dGVzdF9vdmVybGFwcGluZ0hhbmRsZXNdCisgYjJxdAorIHFueAorK2xpbnV4CmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRj aCBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNoZXMvcW1sLWJyb2tlbi10ZXN0LnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGQ0NGU5MGI2NzhjCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9xbWwtYnJv a2VuLXRlc3QucGF0Y2gKQEAgLTAsMCArMSw2NCBAQAorLS0tIGEvdGVzdHMvYXV0by9xdWlja2Nv bnRyb2xzMi9jb250cm9scy9kYXRhL3RzdF9yYW5nZXNsaWRlci5xbWwKKysrKyBiL3Rlc3RzL2F1 dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMvZGF0YS90c3RfcmFuZ2VzbGlkZXIucW1sCitAQCAt NjQ5LDYxICs2NDksNiBAQCBUZXN0Q2FzZSB7CisgICAgIH0KKyAKKyAgICAgZnVuY3Rpb24gdGVz dF9vdmVybGFwcGluZ0hhbmRsZXMoKSB7CistICAgICAgICB2YXIgY29udHJvbCA9IGNyZWF0ZVRl bXBvcmFyeU9iamVjdChzbGlkZXJDb21wb25lbnQsIHRlc3RDYXNlKQorLSAgICAgICAgdmVyaWZ5 KGNvbnRyb2wpCistCistICAgICAgICAvLyBCeSBkZWZhdWx0LCB3ZSBmb3JjZSB0aGUgc2Vjb25k IGhhbmRsZSB0byBiZSBhZnRlciB0aGUgZmlyc3QgaW4KKy0gICAgICAgIC8vIHRlcm1zIG9mIHN0 YWNraW5nIG9yZGVyICphbmQqIHogdmFsdWUuCistICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vj b25kLmhhbmRsZS56LCAxKQorLSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56 LCAwKQorLSAgICAgICAgY29udHJvbC5maXJzdC52YWx1ZSA9IDAKKy0gICAgICAgIGNvbnRyb2wu c2Vjb25kLnZhbHVlID0gMAorLQorLSAgICAgICAgLy8gV2hlbiBib3RoIGhhbmRsZXMgb3Zlcmxh cCwgb25seSB0aGUgaGFuZGxlIHdpdGggdGhlIGhpZ2hlciBaIHZhbHVlCistICAgICAgICAvLyBz aG91bGQgYmUgaG92ZXJlZC4KKy0gICAgICAgIG1vdXNlTW92ZShjb250cm9sLCBjb250cm9sLnNl Y29uZC5oYW5kbGUueCwgY29udHJvbC5zZWNvbmQuaGFuZGxlLnkpCistICAgICAgICBjb21wYXJl KGNvbnRyb2wuc2Vjb25kLmhvdmVyZWQsIHRydWUpCistICAgICAgICBjb21wYXJlKGNvbnRyb2wu Zmlyc3QuaG92ZXJlZCwgZmFsc2UpCistCistICAgICAgICAvLyBCb3RoIGFyZSBhdCB0aGUgc2Ft ZSBwb3NpdGlvbiwgc28gaXQgZG9lc24ndCBtYXR0ZXIgd2hvc2UgY29vcmRpbmF0ZXMgd2UgdXNl LgorLSAgICAgICAgbW91c2VQcmVzcyhjb250cm9sLCBjb250cm9sLmZpcnN0LmhhbmRsZS54LCBj b250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9uKQorLSAgICAgICAgdmVyaWZ5KGNv bnRyb2wuc2Vjb25kLnByZXNzZWQpCistICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLmhh bmRsZS56LCAxKQorLSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56LCAwKQor LQorLSAgICAgICAgLy8gTW92ZSB0aGUgc2Vjb25kIGhhbmRsZSBvdXQgb2YgdGhlIHdheS4KKy0g ICAgICAgIG1vdXNlTW92ZShjb250cm9sLCBjb250cm9sLndpZHRoLCBjb250cm9sLmZpcnN0Lmhh bmRsZS55KQorLSAgICAgICAgbW91c2VSZWxlYXNlKGNvbnRyb2wsIGNvbnRyb2wud2lkdGgsIGNv bnRyb2wuZmlyc3QuaGFuZGxlLnksIFF0LkxlZnRCdXR0b24pCistICAgICAgICB2ZXJpZnkoIWNv bnRyb2wuc2Vjb25kLnByZXNzZWQpCistICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLnZh bHVlLCAxLjApCistICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56LCAxKQor LSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56LCAwKQorLQorLSAgICAgICAg Ly8gVGhlIGZpcnN0IGhhbmRsZSBzaG91bGQgbm90IGJlIGhvdmVyZWQuCistICAgICAgICBjb21w YXJlKGNvbnRyb2wuZmlyc3QuaG92ZXJlZCwgZmFsc2UpCistCistICAgICAgICAvLyBNb3ZlIHRo ZSBmaXJzdCBoYW5kbGUgb24gdG9wIG9mIHRoZSBzZWNvbmQuCistICAgICAgICBtb3VzZVByZXNz KGNvbnRyb2wsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLngsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLnks IFF0LkxlZnRCdXR0b24pCistICAgICAgICB2ZXJpZnkoY29udHJvbC5maXJzdC5wcmVzc2VkKQor LSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56LCAxKQorLSAgICAgICAgY29t cGFyZShjb250cm9sLnNlY29uZC5oYW5kbGUueiwgMCkKKy0KKy0gICAgICAgIG1vdXNlTW92ZShj b250cm9sLCBjb250cm9sLndpZHRoLCBjb250cm9sLmZpcnN0LmhhbmRsZS55KQorLSAgICAgICAg bW91c2VSZWxlYXNlKGNvbnRyb2wsIGNvbnRyb2wud2lkdGgsIGNvbnRyb2wuZmlyc3QuaGFuZGxl LnksIFF0LkxlZnRCdXR0b24pCistICAgICAgICB2ZXJpZnkoIWNvbnRyb2wuZmlyc3QucHJlc3Nl ZCkKKy0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5kbGUueiwgMSkKKy0gICAgICAg IGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDApCistCistICAgICAgICAvLyBUaGUg bW9zdCByZWNlbnRseSBwcmVzc2VkIGhhbmRsZSAodGhlIGZpcnN0KSBzaG91bGQgaGF2ZSB0aGUg aGlnaGVyIHogdmFsdWUuCistICAgICAgICBtb3VzZVByZXNzKGNvbnRyb2wsIGNvbnRyb2wuZmly c3QuaGFuZGxlLngsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLnksIFF0LkxlZnRCdXR0b24pCistICAg ICAgICB2ZXJpZnkoY29udHJvbC5maXJzdC5wcmVzc2VkKQorLSAgICAgICAgY29tcGFyZShjb250 cm9sLmZpcnN0LmhhbmRsZS56LCAxKQorLSAgICAgICAgY29tcGFyZShjb250cm9sLnNlY29uZC5o YW5kbGUueiwgMCkKKy0KKy0gICAgICAgIG1vdXNlUmVsZWFzZShjb250cm9sLCBjb250cm9sLmZp cnN0LmhhbmRsZS54LCBjb250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9uKQorLSAg ICAgICAgdmVyaWZ5KCFjb250cm9sLmZpcnN0LnByZXNzZWQpCistICAgICAgICBjb21wYXJlKGNv bnRyb2wuZmlyc3QuaGFuZGxlLnosIDEpCistICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25k LmhhbmRsZS56LCAwKQorICAgICB9CisgCisgICAgIGZ1bmN0aW9uIHRlc3Rfa2V5c19kYXRhKCkg ewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0ZQppbmRleCBlMGJkMjhkOWUzODMuLjhhMTkwZGZjMzVi YyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUKQEAgLTEsMjMgKzEsMjIgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3F0Ni1kZWNsYXJhdGl2ZScKIHBrZ25hbWU9cXQ2LWRlY2xhcmF0aXZlCi12 ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0ZGVjbGFy YXRpdmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25m aWd1cmVfYXJncz0iIC1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1i YXNlLWRldmVsIHBlcmwgcGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsCiAgcXQ2LXNoYWRlcnRvb2xz LWRldmVsIgotbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIFZ1bGthbi1IZWFkZXJzIgorbWFr ZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIFZ1bGthbi1IZWFkZXJzIHF0Ni1zaGFkZXJ0b29scy1k ZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFt ZXdvcmsgLSBEZWNsYXJhdGl2ZSIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRl dj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQ TC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5xdC5p byIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9x dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGRlY2xhcmF0aXZlLWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZDI5NGIwMjlkYzJiMmQ0ZjY1 ZGE1MTZmZGMzYjgwODhkMzI2NDNlYjdmZjc3ZGIxMzVhOGI5Y2U5MDRjYWEzNworY2hlY2tzdW09 MDNlNzY5NDEyMzgyMGZjY2EzOTdmOTVjZTMxMmUwYjdmMzAzOTQ5M2M4NzU0YzgzNmRhMDk4YTFh MDQzNDZlOAogcmVwbGFjZXM9InF0Ni1xdWlja2NvbnRyb2xzMj49MCIKIAogaWYgWyAiJENST1NT X0JVSUxEIiBdOyB0aGVuCi0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9UT09MU19XSEVO X0NST1NTQ09NUElMSU5HPXRydWUiCisJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVE9PTFNf V0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgogCWhvc3RtYWtlZGVwZW5kcys9IiBxdDYtZGVjbGFy YXRpdmUtZGV2ZWwiCiBmaQogCkBAIC0yOSwxMyArMjgsMzEgQEAgaWYgWyAiJFhCUFNfVEFSR0VU X0VORElBTiIgPSAiYmUiIF07IHRoZW4KIAlicm9rZW49InNoYWRlciBjb21waWxhdGlvbiBmYWls cyIKIGZpCiAKK3ByZV9jb25maWd1cmUoKSB7CisJQ1hYRkxBR1MrPSIgJy1EUVRfREVDTEFSQVRJ VkVfQklOX1BBVEg9XCIke3dya3NyY30vYnVpbGQvbGliL3F0Ni9iaW5cIiciCisJQ1hYRkxBR1Mr PSIgJy1EUVRfREVDTEFSQVRJVkVfTElCRVhFQ19QQVRIPVwiJHt3cmtzcmN9L2J1aWxkL2xpYi9x dDYvbGliZXhlY1wiJyIKK30KKwogcHJlX2NoZWNrKCkgewogCWV4cG9ydCBRTUwyX0lNUE9SVF9Q QVRIPSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYvcW1sIgogfQogCiBkb19jaGVjaygpIHsKIAljZCBi dWlsZAotCWN0ZXN0IC1FICcodHN0X3FxbWxsb2NhbGV8dGV4dHx0c3RfcXF1aWNrd2lkZ2V0KScK Kwlsb2NhbCBicm9rZW49InRzdF9xcW1sbG9jYWxlfHRleHR8dHN0X3FxdWlja3dpZGdldCIKKwkj IHJlcXVpcmVzIHF0Ni1kZWNsYXJhdGl2ZSBpbnN0YWxsZWQKKwlicm9rZW4rPSJ8bW9kdWxlX2lu Y2x1ZGVzfGNtYWtlX3Rvb2xpbmdfaW1wb3J0c3xlbXB0eV9xbWxkaXIiCisJYnJva2VuKz0ifHF0 cXVpY2tjb21waWxlcnxxbWxxdWVyeSIKKwkjIENvdWxkIHdvcmsgaWYgUXQ2UXVpY2suc28uNiBj b3VsZCBiZSBmb3VuZCBieSBxbWwKKwlicm9rZW4rPSJ8dHN0X3FxbWxkZWJ1Z2pzfHRzdF9xcW1s aW5zcGVjdG9yIgorCWJyb2tlbis9Inx0c3RfcXFtbHByb2ZpbGVyc2VydmljZXx0c3RfcXFtbGpz c2NvcGUiCisJYnJva2VuKz0ifHRzdF9xcW1scHJldmlld3x0c3RfcW1sbGludHx0c3RfcW1sZm9y bWF0IgorCSMgY2FuJ3QgZmluZCB0aGUgc291cmNlCisJYnJva2VuKz0ifHRzdF9xbWx0Y19xcHJv Y2VzcyIKKwlicm9rZW4rPSJ8dHN0X3FxdWlja2ZpbGVkaWFsb2dpbXBsIgorCWJyb2tlbis9Inx0 c3RfcXF1aWNrZm9sZGVyZGlhbG9naW1wbCIKKwlicm9rZW4rPSJ8dHN0X3FtbGltcG9ydHNjYW5u ZXJ8dHN0X3FxbWxleHRlbnNpb25wbHVnaW4iCisJY3Rlc3QgLUUgIigkYnJva2VuKSIKIH0KIAog cXQ2LWRlY2xhcmF0aXZlLXRvb2xzX3BhY2thZ2UoKSB7CkBAIC02MCwxMSArNzcsMTQgQEAgcXQ2 LWRlY2xhcmF0aXZlLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3Zl IHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRh dHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtz cGVjcwogCQl2bW92ZSAidXNyL2xpYi9saWJRdDZRdWlja1Rlc3Quc28uKiIKIAkJdm1vdmUgdXNy L2xpYi9xdDYvcW1sL1F0VGVzdAogCQl2bW92ZSB1c3IvbGliL3F0Ni9iaW4vcW1sdGVzdHJ1bm5l cgogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1v dmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA2MmZmOTRhYWNiNjM0YzRjMThk MDg5MjkwOGE4ZjUxYzY4ZTFhNjZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VU Ri04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0K IDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICsw NzAwClN1YmplY3Q6IFtQQVRDSCAwNC8yNl0gcXQ2LWltYWdlZm9ybWF0czogdXBkYXRlIHRvIDYu My4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUgfCA1ICsrLS0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWltYWdl Zm9ybWF0cy90ZW1wbGF0ZQppbmRleCBlYWNhOTUyNDNjNDguLjlmNmQyZmI2Njc3NiAxMDA2NDQK LS0tIGEvc3JjcGtncy9xdDYtaW1hZ2Vmb3JtYXRzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2 LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdxdDYtaW1hZ2Vmb3JtYXRzJwogcGtnbmFtZT1xdDYtaW1hZ2Vmb3JtYXRzCi12ZXJzaW9u PTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0aW1hZ2Vmb3JtYXRz LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJl X2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJh c2UtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9z cy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gaW1hZ2Vmb3JtYXRzIgpA QCAtMTIsNCArMTEsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igog bGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5Igog aG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQu aW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVs ZXMvcXRpbWFnZWZvcm1hdHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT0wMjVkMGQxN2VkNzViNDJhN2ViNmI1MjM3MzFhYjhmMTcwMjU0MjFhODgxMGNhZGUyNWNh ZmZlMDVkOTNhYmVmCitjaGVja3N1bT1hZDAzMTJiOGRmYmJiNjdmNzI5YmZhZGJmY2Q0NzI0NmVl NGExMjhiNzE3NzMxYmExNThjNDFkMDFmZGUyMTJmCgpGcm9tIDIwYzRjZDBhMjk0M2Q0ZDg1MmY4 YzYyMDM4ZWEwMDVhMjhiMjg2NDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRG LTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQog PGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDcgKzA3 MDAKU3ViamVjdDogW1BBVENIIDA1LzI2XSBxdDYtbG9jYXRpb246IHVwZGF0ZSB0byA2LjMuMS4K Ci0tLQogc3JjcGtncy9xdDYtbG9jYXRpb24vcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoIHwg MTAgKysrKysrKysrKwogc3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUgICAgICAgICAgICAg ICAgICAgIHwgMTIgKysrKysrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtbG9jYXRp b24vcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt bG9jYXRpb24vcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoIGIvc3JjcGtncy9xdDYtbG9jYXRp b24vcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uYzY3NzBmYjE0ZDNhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9x dDYtbG9jYXRpb24vcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAK Ky0tLSBhL3Rlc3RzL2F1dG8vQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rlc3RzL2F1dG8vQ01ha2VM aXN0cy50eHQKK0BAIC0xOSw3ICsxOSw2IEBAIGFkZF9zdWJkaXJlY3RvcnkocWdlb3Bvc2l0aW9u aW5mb3NvdXJjZSkKKyBhZGRfc3ViZGlyZWN0b3J5KHFnZW9zYXRlbGxpdGVpbmZvc291cmNlKQor IGFkZF9zdWJkaXJlY3RvcnkocW5tZWFwb3NpdGlvbmluZm9zb3VyY2UpCisgYWRkX3N1YmRpcmVj dG9yeShxbm1lYXNhdGVsbGl0ZWluZm9zb3VyY2UpCistYWRkX3N1YmRpcmVjdG9yeShjbWFrZSkK KyBpZihUQVJHRVQgUXQ6OlF1aWNrKQorICAgICBhZGRfc3ViZGlyZWN0b3J5KGR1bW15cG9zaXRp b25wbHVnaW4pCisgICAgIGFkZF9zdWJkaXJlY3RvcnkoZGVjbGFyYXRpdmVfcG9zaXRpb25pbmdf Y29yZSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIGIvc3JjcGtn cy9xdDYtbG9jYXRpb24vdGVtcGxhdGUKaW5kZXggYjczOTdmNWY4OTQyLi5mMGZkMzg1YjdhYzcg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv cXQ2LWxvY2F0aW9uL3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni1sb2NhdGlvbicKIHBrZ25hbWU9cXQ2LWxvY2F0aW9uCi12ZXJzaW9uPTYuMy4wCit2 ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0cG9zaXRpb25pbmctZXZlcnl3aGVy ZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURR VF9IT1NUX1BBVEg9L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtYmFzZS1kZXZlbCBx dDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LXNlcmlhbHBvcnQtZGV2ZWwg cXQ2LWRlY2xhcmF0aXZlLWRldmVsIEdDb25mLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxh dGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIGxvY2F0aW9uIgpAQCAtMTIsNyAr MTEsMTEgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9 IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwt My4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0 LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2Vz L3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0cG9zaXRpb25pbmctZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1lOWVkNTBmNmIyNDVhMzQ2 ZGIzNGQ2MjVkMDAxMjc3NGVmMGVjOGU3ZmQ2NTAzNzEyN2VjMjY3NTg3MDgyMzZlCitjaGVja3N1 bT0wNjc4OGU0ZWNhZTE5MjAwOTRiMzBlNDA0NmYwYWJkMjNjODE4OWQ4YTUxZTljOTM5YjAyZjBi NmFiZTJlODZjCisKK3ByZV9jaGVjaygpIHsKKwlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0iJHdy a3NyYy9idWlsZC9saWIvcXQ2L3FtbCIKK30KIAogcXQ2LWxvY2F0aW9uLWRldmVsX3BhY2thZ2Uo KSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni1i YXNlLWRldmVsPj0ke3ZlcnNpb259XzEiCkBAIC0yMCw4ICsyMywxMSBAQCBxdDYtbG9jYXRpb24t ZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUK IAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92 ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3Zl ICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hh cmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIGU5YjQ4Y2M1YjRjZTg2YjQ1ZDM0ZjkyYzFmMGU0 NGYzMmU0MmI3M2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9 OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5o cXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDggKzA3MDAKU3ViamVj dDogW1BBVENIIDA2LzI2XSBxdDYtbG90dGllOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3Br Z3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZSB8IDkgKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWxv dHRpZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQppbmRleCAxYzk3Y2Q1 ZjRmMzIuLmE3YmViNjJlYzM2OCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbG90dGllL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtbG90dGllJwogcGtnbmFtZT1xdDYtbG90dGllCi12ZXJz aW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0bG90dGllLWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2Fy Z3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2Ut ZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogc2hvcnRfZGVzYz0i Q3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIGxvdHRpZSIKQEAg LTEyLDEwICsxMSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igog bGljZW5zZT0iR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZp bGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRsb3R0aWUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJz aW9ufS50YXIueHoiCi1jaGVja3N1bT0zOWRiNTcwYmJiYTViNTI3YTFlYjZhNTc3NGJlZDQ3Mzk4 YWNlMmY3MjE3YmJmNDViMTE5NGFkYTZjZjk3ZGViCitjaGVja3N1bT03NDBiYTc2OTk5MTI0ZDVl MWE4NWVmM2QwMWM2OTk3NmJiODU1Nzg2MmI2YjI2YmY0OGIzNTdmZTBjYWIxY2Y1CiAKIGlmIFsg IiRYQlBTX0NIRUNLX1BLR1MiIF07IHRoZW4KLQljb25maWd1cmVfYXJncys9IiAtRFFUX0JVSUxE X1RFU1RTPU9OIgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgogZmkKIAog cHJlX2NoZWNrKCkgewpAQCAtMjgsOCArMjcsMTAgQEAgcXQ2LWxvdHRpZS1kZXZlbF9wYWNrYWdl KCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3Iv bGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcXQ2 L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwi CisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gNTAxMzFiNzQ4ZDQz MTljNGUwZDg5YTg3OGIwMDUxNjY1NDFmYTVkNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIw RGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzox MzowOCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDcvMjZdIHF0Ni1uZXR3b3JrYXV0aDogdXBkYXRl IHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZSB8IDEwICsr KysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbmV0d29ya2F1dGgvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZQppbmRleCBlOTM0YmVhZGE5YjAuLjE0NTRjZWI0YTUy NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbmV0d29ya2F1dGgvdGVtcGxhdGUKKysrIGIvc3Jj cGtncy9xdDYtbmV0d29ya2F1dGgvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAncXQ2LW5ldHdvcmthdXRoJwogcGtnbmFtZT1xdDYtbmV0d29ya2F1dGgKLXZl cnNpb249Ni4zLjAKK3ZlcnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRuZXR3b3Jr YXV0aC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZp Z3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0 Ni1iYXNlLWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIgogc2hvcnRfZGVzYz0i Q3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIG5ldHdvcmthdXRo IgpAQCAtMTIsMTAgKzExLDEwIEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRl dj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBk aXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3Zl cnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdG5ldHdvcmthdXRoLWV2ZXJ5d2hlcmUt c3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09MjAzYTk4OTQyOTE5MDI4NTIwMDM4Zjkw YTIwY2Q3ZWUzMmI1MzcyMzM1NDVkMTFlNDI5YzNlMmMxYWQ5MDY5ZgorY2hlY2tzdW09ZDYwZjU0 YjlkNDUwOWZhOGJkYmYxOTkwYmM5MWY2ZTI2MGUzOGNkYjU3YTdiODExOWZhMzg2MWJjNWQyZmIy YQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCi0JY29uZmlndXJlX2FyZ3MrPSIg LURRVF9CVUlMRF9URVNUUz1PTiIKKwljb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1P TiIKIGZpCiAKIHF0Ni1uZXR3b3JrYXV0aC1kZXZlbF9wYWNrYWdlKCkgewpAQCAtMjQsOCArMjMs MTEgQEAgcXQ2LW5ldHdvcmthdXRoLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7 CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNy L2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xp Yi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8q LnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA3MzI1NmZi ZmQ2NzM5YjUwN2E4NWUxMTc3ZGJlMTM2ZTM4NTcyNzFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0 bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIy IDE3OjEzOjA4ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwOC8yNl0gcXQ2LXF0NWNvbXBhdDogdXBk YXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUgfCAxMiAr KysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlIGIvc3JjcGtn cy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlCmluZGV4IDdmY2Q1YWQ1MDgwZS4uYTYyNTczY2ZhYmZh IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3F0Ni1xdDVjb21wYXQnCiBwa2duYW1lPXF0Ni1xdDVjb21wYXQKLXZlcnNpb249Ni4z LjAKLXJldmlzaW9uPTIKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEKIHdya3NyYz0icXQ1Y29t cGF0LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmln dXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNl LWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBwZXJsIHBrZy1jb25maWciCiBtYWtlZGVwZW5k cz0icXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jv c3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIFF0NSBDb21wYXRpYmls dHkgQ29tcG9uZW50IgpAQCAtMTIsMTAgKzExLDEwIEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpv aG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0 aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRw czovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0NWNvbXBhdC1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTJiMTk5YmU3ODBjNTBk OTIxNDUxMmI5MjJkOTRjYjI0MGIwNDEyZmQ2M2Y0NTllMzU2Yjc2MTAyY2FkMTcxM2UKK2NoZWNr c3VtPWE0M2VjNjJiZDc3OGVhZWNmODhhZDc4NDcxMThkMWMyYTQ3MWIwZmNiODIwZjkzYmViMzEx ZDdhYjk1NjZjZmQKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgotCWNvbmZpZ3Vy ZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCisJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJ TERfVEVTVFM9T04iCiBmaQogCiBxdDYtcXQ1Y29tcGF0LWRldmVsX3BhY2thZ2UoKSB7CkBAIC0y NCw4ICsyMywxMSBAQCBxdDYtcXQ1Y29tcGF0LWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3Rh bGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1v dmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUg dXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNy L2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSBi OGQwY2RmNzQ4YmM5NGUwZTEwMWE2YWYxM2VlNmYzY2VhYWExNDg0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBD PUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1 ZyAyMDIyIDE3OjEzOjA4ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwOS8yNl0gcXQ2LXF1aWNrM2Q6 IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZSB8IDE3 ICsrKysrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlIGIv c3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZQppbmRleCAwZjdlZjMzNmEzZmYuLjY4NWNlOWJj MGU5MCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlCkBAIC0xLDE5ICsxLDIzIEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdxdDYtcXVpY2szZCcKIHBrZ25hbWU9cXQ2LXF1aWNrM2QKLXZlcnNpb249Ni4zLjAK K3ZlcnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRxdWljazNkLWV2ZXJ5d2hlcmUt c3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRf SE9TVF9QQVRIPS91c3IgIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIHF0 Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYtc2hhZGVydG9vbHMtZGV2ZWwiCiBtYWtlZGVwZW5kcz0i cXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIHF0Ni1zaGFkZXJ0b29scy1kZXZl bAotIGxpYmFzc2ltcC1kZXZlbCIKKyBxdDYtcXVpY2t0aW1lbGluZSBsaWJhc3NpbXAtZGV2ZWwi CiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3Jr IC0gUXVpY2szZCIKIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNl bnNlPSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZp bGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9u JS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVy c2lvbn0udGFyLnh6IgotY2hlY2tzdW09MGFkMDViZDFlZTFmNzg0YjE4MjIwYTJkMjYyNWVlOGRl OTE2NjJjODhmZGM3Yjc5ODY2Mjk1M2Q4NmViMzI3ZQorY2hlY2tzdW09MmZhNzY2ZWU0N2I4YzA3 NDEyYjNiNzU1MjA2YWRhMDcxNWZiMDc4MTNiNjRlZDA2OWU3MjA1MDQ0YzA2MTI1NgorCitpZiBb ICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LXF1aWNrM2Qt ZGV2ZWwiCisJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJ TElORz10cnVlIgorZmkKIAogaWYgWyAiJFhCUFNfVEFSR0VUX0VORElBTiIgPSAiYmUiIF07IHRo ZW4KIAkjIHBvc3NpYmx5IGEgcXQ2LXNoYWRlcnRvb2xzIGJ1ZywgYWN0dWFsbHkKQEAgLTI2LDkg KzMwLDEyIEBAIHF0Ni1xdWljazNkLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7 CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNy L2xpYi9xdDYvbWtzcGVjcworCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3Iv bGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9iaW4KKwkJdm1vdmUgdXNyL2xpYi9x dDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBy bCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSBlMjViOTAyM2E5 ZTI3NmY3NTkyZTBmYTYxZTUyNTA1ZmU3MTE4NjBkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9 MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3 OjEzOjA5ICswNzAwClN1YmplY3Q6IFtQQVRDSCAxMC8yNl0gcXQ2LXF1aWNrdGltZWxpbmU6IHVw ZGF0ZSB0byA2LjMuMS4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICB8 IDEgKwogc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZSB8IDcgKysrLS0tLQogMiBm aWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggNjE5MjQ2MTBjYzUyLi4yNmYx MGQ2MDRiZTkgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpA QCAtMjA0NSw2ICsyMDQ1LDcgQEAgbGliUXQ2UXVpY2szRElibEJha2VyLnNvLjYgcXQ2LXF1aWNr M2QtNi4wLjNfMQogbGliUXQ2UXVpY2szRFBhcnRpY2xlcy5zby42IHF0Ni1xdWljazNkLTYuMS4w XzEKIGxpYlF0NlF1aWNrM0RHbHNsUGFyc2VyLnNvLjYgcXQ2LXF1aWNrM2QtNi4zLjBfMQogbGli UXQ2UXVpY2szREFzc2V0VXRpbHMuc28uNiBxdDYtcXVpY2szZC02LjEuMF8xCitsaWJRdDZRdWlj a1RpbWVsaW5lLnNvLjYgcXQ2LXF1aWNrdGltZWxpbmUtNi4zLjBfMQogbGliUXQ2UXVpY2tDb250 cm9sczJJbXBsLnNvLjYgcXQ2LWRlY2xhcmF0aXZlLTYuMC4wXzEKIGxpYlF0NlF1aWNrQ29udHJv bHMyLnNvLjYgcXQ2LWRlY2xhcmF0aXZlLTYuMC4wXzEKIGxpYlF0NlF1aWNrVGVtcGxhdGVzMi5z by42IHF0Ni1kZWNsYXJhdGl2ZS02LjAuMF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWlj a3RpbWVsaW5lL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQpp bmRleCAxNWFhN2E4ZTU4MTkuLmJmMDJlMDQzYzRhNSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYt cXVpY2t0aW1lbGluZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3Rl bXBsYXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1xdWlja3Rp bWVsaW5lJwogcGtnbmFtZT1xdDYtcXVpY2t0aW1lbGluZQotdmVyc2lvbj02LjMuMAordmVyc2lv bj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHF1aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9uL3JjLy1yY30iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9 Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRl dmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBx dDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNh dGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gcXVpY2t0aW1lbGluZSIKQEAgLTEyLDEwICsxMSwxMCBA QCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMu MC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDov L2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJz aW9uL3JjLy1yY30vc3VibW9kdWxlcy9xdHF1aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9uL3JjLy1yY30udGFyLnh6IgotY2hlY2tzdW09OWZmMGE5MzExNTllZmM2YmU1YmQ5Zjhh MWU0YTE2YTcwZTJkYWIzN2NmMjJhZDg1YzZkMzMwY2NmZGYzMWMxYQorY2hlY2tzdW09NThhMTNj ZjBjZThlNzc1NTYzOWYyMDY4NDA3ODczM2FmMjRmNWEzMTdmNmRkYjQwZDYwNzljOGM1YTI4ZWJi ZQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCi0JY29uZmlndXJlX2FyZ3MrPSIg LURRVF9CVUlMRF9URVNUUz1PTiIKKwljb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1P TiIKIGZpCiAKIHByZV9jaGVjaygpIHsKCkZyb20gZDlkY2Q1NGE4YjUxMmM4NDQ5ZjQ0ZTYyY2E3 MmMxYTMxNzYyMjc3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1D ND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2Rh bmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowOSArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMTEvMjZdIHF0Ni1zY3htbDogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNw a2dzL3F0Ni1zY3htbC9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2ggfCAxMCArKysrKysrKysr CiBzcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgfCAxNyArKysr KysrKysrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0 aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXNjeG1sL3BhdGNoZXMvbm8t Y21ha2UtdGVzdC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNjeG1sL3BhdGNoZXMv bm8tY21ha2UtdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXNjeG1sL3BhdGNoZXMvbm8tY21ha2Ut dGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ2NmM0 NTkzMmY1OAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXNjeG1sL3BhdGNoZXMvbm8t Y21ha2UtdGVzdC5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gYS90ZXN0cy9hdXRvL0NNYWtl TGlzdHMudHh0CisrKysgYi90ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0CitAQCAtOCw3ICs4LDYg QEAgaWYoVEFSR0VUIFF0OjpHdWkgQU5EIFRBUkdFVCBRdDo6UW1sKQorICAgICAgICAgYWRkX3N1 YmRpcmVjdG9yeShzY2lvbikKKyAgICAgICAgIGFkZF9zdWJkaXJlY3Rvcnkoc3RhdGVtYWNoaW5l KQorICAgICAgICAgYWRkX3N1YmRpcmVjdG9yeShzdGF0ZW1hY2hpbmVpbmZvKQorLSAgICAgICAg YWRkX3N1YmRpcmVjdG9yeShjbWFrZSkKKyAgICAgZW5kaWYoKQorICAgICAjIE1vcmUgY2hlY2tz IGluc2lkZQorICAgICBhZGRfc3ViZGlyZWN0b3J5KHFtbCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXNjeG1sL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUKaW5kZXggMTEy YmFjYTBhYjgzLi41Mjg2YzQyMWJhMjEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNjeG1sL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1zY3htbCcKIHBrZ25hbWU9cXQ2LXNjeG1sCi12ZXJz aW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0c2N4bWwtZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJn cz0iLURRVF9IT1NUX1BBVEg9L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFy YXRpdmUtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogc2hvcnRf ZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIHNjeG1s IgpAQCAtMTIsMjAgKzExLDI4IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRl dj4iCiBsaWNlbnNlPSJMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9u bHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9h ZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3Vi bW9kdWxlcy9xdHNjeG1sLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tz dW09MDliMGRiZDZhYzM2NzkyMGZiMWJhOTZhMzlkY2Q0YzlkMzNlYjA4MjBkY2M3OTUzODk5Mjgy NWQ1ODhhNzBmMAorY2hlY2tzdW09MDFiYzE1NGQ2MTYzZDFmMDQ5ZjRlMWU3NjY1OGEwNDQ3MzBh Y2U3YjBhNWJlMzVjOWE0NmZjZDEzOTZmODYxOQogCi1pZiBbICIkWEJQU19DSEVDS19QS0dTIiBd OyB0aGVuCi0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKK2lmIFsgIiRD Uk9TU19CVUlMRCIgXTsgdGhlbgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RPT0xTX1dI RU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKKwlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LXJlbW90ZW9i amVjdHMiCiBmaQogCitwcmVfY2hlY2soKSB7CisJZXhwb3J0IFFNTDJfSU1QT1JUX1BBVEg9IiR3 cmtzcmMvYnVpbGQvbGliL3F0Ni9xbWwiCit9CisKIHF0Ni1zY3htbC1kZXZlbF9wYWNrYWdlKCkg ewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKIAlzaG9y dF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3Zl IHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRh dHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtz cGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJ dm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSBhOGMwYjMwMjgxZGNmNzQw NWZkZjFkZGM0NWQ5ODhlOGU1ZGE5NTY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9 P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5o Pz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA5 ICswNzAwClN1YmplY3Q6IFtQQVRDSCAxMi8yNl0gcXQ2LXNlcmlhbHBvcnQ6IHVwZGF0ZSB0byA2 LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtc2VyaWFscG9ydC9wYXRjaGVzL25vLWNtYWtlLXRlc3Qu cGF0Y2ggfCA5ICsrKysrKysrKwogc3JjcGtncy9xdDYtc2VyaWFscG9ydC90ZW1wbGF0ZSAgICAg ICAgICAgICAgICAgICAgfCA4ICsrKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtc2Vy aWFscG9ydC9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni1zZXJpYWxwb3J0L3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2 LXNlcmlhbHBvcnQvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDM0NDcxYzRhNGY3Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9xdDYtc2VyaWFscG9ydC9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gKQEAgLTAs MCArMSw5IEBACistLS0gYS90ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0CisrKysgYi90ZXN0cy9h dXRvL0NNYWtlTGlzdHMudHh0CitAQCAtMSw2ICsxLDUgQEAKKyBhZGRfc3ViZGlyZWN0b3J5KHFz ZXJpYWxwb3J0KQorIGFkZF9zdWJkaXJlY3RvcnkocXNlcmlhbHBvcnRpbmZvKQorLWFkZF9zdWJk aXJlY3RvcnkoY21ha2UpCisgaWYoUVRfRkVBVFVSRV9wcml2YXRlX3Rlc3RzKQorICAgICBhZGRf c3ViZGlyZWN0b3J5KHFzZXJpYWxwb3J0aW5mb3ByaXZhdGUpCisgZW5kaWYoKQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtc2VyaWFscG9ydC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXNlcmlhbHBv cnQvdGVtcGxhdGUKaW5kZXggMDgwNDY3MWNhNTdiLi4yZGU5ZDYzNjRhNWMgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtc2VyaWFs cG9ydC90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYt c2VyaWFscG9ydCcKIHBrZ25hbWU9cXQ2LXNlcmlhbHBvcnQKLXZlcnNpb249Ni4zLjAKK3ZlcnNp b249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRzZXJpYWxwb3J0LWV2ZXJ5d2hlcmUtc3Jj LSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9T VF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwgcGtnLWNv bmZpZyIKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBs YXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBzZXJpYWxwb3J0IgpAQCAtMTIs NyArMTEsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5z ZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQ TC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8v cXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzZXJpYWxwb3J0LWV2 ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZWViZDY5MzRkNDhjYzA0 NGI4Yzg3Nzk1YTRmZDkxYmI4MWY3MTk1ZDRiNWEyZGRiMTI4MDJmMzQzZDVkYjY0ZgorY2hlY2tz dW09NGViNmQ4MGU2NTc5OWRkMmUwMzE4ZGY0ZGZiYTE0MTczYzE5MjllODYxNzE4Y2RhOWJlZGNh MjQyNTNiNjE2ZQogCiBxdDYtc2VyaWFscG9ydC1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9 IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2 ZXJzaW9ufV8xIgpAQCAtMjAsOCArMTksMTEgQEAgcXQ2LXNlcmlhbHBvcnQtZGV2ZWxfcGFja2Fn ZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNy L2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3Br Z2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyou c28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVs ZXMKIAl9CiB9CgpGcm9tIDNiM2IyMjgzOThjOTAxZmIwZDA4OGNkM2MyNTljZmQ2M2VjZDA0ZGIg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0y MFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29t PgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MDkgKzA3MDAKU3ViamVjdDogW1BBVENIIDEz LzI2XSBxdDYtc2hhZGVydG9vbHM6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYt c2hhZGVydG9vbHMvdGVtcGxhdGUgfCAxNCArKysrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQs IDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtc2hhZGVydG9vbHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1zaGFkZXJ0b29scy90ZW1wbGF0 ZQppbmRleCA5YzFlYzIxMGE5NmEuLjM3MTYzMzNjNDU5YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9x dDYtc2hhZGVydG9vbHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtc2hhZGVydG9vbHMvdGVt cGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNoYWRlcnRv b2xzJwogcGtnbmFtZT1xdDYtc2hhZGVydG9vbHMKLXZlcnNpb249Ni4zLjAKK3ZlcnNpb249Ni4z LjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRzaGFkZXJ0b29scy1ldmVyeXdoZXJlLXNyYy0ke3Zl cnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFU SD0vdXNyICIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtYmFzZS1kZXZlbCIKIG1ha2VkZXBl bmRzPSJxdDYtYmFzZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0 aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBzaGFkZXJ0b29scyIKQEAgLTEyLDcgKzExLDEzIEBAIG1h aW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9y LWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93 bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259 L3N1Ym1vZHVsZXMvcXRzaGFkZXJ0b29scy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPTU0OTg5NTliOWQzN2MyNTRiZDEyNmFiMTMyMGNmODZhZWI4YTMxYjNlYTdl NTFkYjY2NmE4Zjk2OThhZmJkNmMKK2NoZWNrc3VtPTU5Yjc3MTc2OTYxNTI4Y2M3YjBjOTMyNTEz NDY1NWUyNzNhYTg3YjRjYjM4NmMwZjQ2ODNkOGYyODUyZTQzNWEKKworaWYgWyAiJENST1NTX0JV SUxEIiBdOyB0aGVuCisJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9T U0NPTVBJTElORz10cnVlIgorCWhvc3RtYWtlZGVwZW5kcys9IiBxdDYtc2hhZGVydG9vbHMtZGV2 ZWwiCitmaQorCiAKIHF0Ni1zaGFkZXJ0b29scy1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9 IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2 ZXJzaW9ufV8xIgpAQCAtMjAsOCArMjUsMTEgQEAgcXQ2LXNoYWRlcnRvb2xzLWRldmVsX3BhY2th Z2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVz ci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9w a2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8q LnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1 bGVzCiAJfQogfQoKRnJvbSA5ZDgyYjQxZjFjNmVmNGQ3YzlkNDk5YTZhMjAzYWQyOGE1NmE5Zjgw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49 MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNv bT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA5ICswNzAwClN1YmplY3Q6IFtQQVRDSCAx NC8yNl0gcXQ2LXN2ZzogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1zdmcvdGVt cGxhdGUgfCAxMCArKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQppbmRleCBhYThlNmI3NDUxMDkuLjMwOWIwOTg4ZTQzNSAx MDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtc3ZnL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXN2 Zy90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc3Zn JwogcGtnbmFtZT1xdDYtc3ZnCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lv bj0xCiB3cmtzcmM9InF0c3ZnLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHls ZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgogaG9zdG1ha2Vk ZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIgogbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVs Igogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29y ayAoUVQ2KSAtIHF0Ni1zdmcgY29tcG9uZW50IgpAQCAtMTIsMTAgKzExLDEwIEBAIG1haW50YWlu ZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0 aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgR1BMLTIuMC1vci1sYXRlciwgTEdQTC0zLjAtb25seSIK IGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0 LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1 bGVzL3F0c3ZnLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09MzE2 NDUwNGQ3ZTNmNjQwNDM5MzA4MjM1NzM5YjExMjYwNWFiNWZjOWNjNTE3Y2EwYjI4ZjlmYjkzYThk YjBlMworY2hlY2tzdW09N2IxOWY0MThlNmY3YjhlMjMzNDQwODJkZDA0NDQwYWFjZjVkYTIzYzVh NzM5ODBiYTIyYWU0ZWJhNGY4N2RmNwogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVu Ci0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKKwljb25maWd1cmVfYXJn cz0iLURRVF9CVUlMRF9URVNUUz1PTiIKIGZpCiAKIGRvX2NoZWNrKCkgewpAQCAtMjksOCArMjgs MTEgQEAgcXQ2LXN2Zy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92 ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0 YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21r c3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJ CXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMjZmYjE2Y2Y0MzQzYzA2 ODFjY2I2MTk4ODljOWU2NTU1ZjBmYzdhNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog PT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFu aD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzox MCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMjZdIHF0Ni10b29sczogdXBkYXRlIHRvIDYuMy4x LgoKLS0tCiBzcmNwa2dzL3F0Ni10b29scy9wYXRjaGVzL3FsaXRlaHRtbC5wYXRjaCB8IDY4ICsr KysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3F0Ni10b29scy90ZW1wbGF0ZSAgICAgICAg ICAgICAgICB8IDI1ICsrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCsp LCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXRvb2xzL3Bh dGNoZXMvcWxpdGVodG1sLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdG9vbHMvcGF0 Y2hlcy9xbGl0ZWh0bWwucGF0Y2ggYi9zcmNwa2dzL3F0Ni10b29scy9wYXRjaGVzL3FsaXRlaHRt bC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjZiZWMyNzli Y2E2OQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXRvb2xzL3BhdGNoZXMvcWxpdGVo dG1sLnBhdGNoCkBAIC0wLDAgKzEsNjggQEAKKy0tLSBhL3NyYy9hc3Npc3RhbnQvQ01ha2VMaXN0 cy50eHQKKysrKyBiL3NyYy9hc3Npc3RhbnQvQ01ha2VMaXN0cy50eHQKK0BAIC0zNCw3ICszNCw5 IEBAIGlmKFRBUkdFVCBxbGl0ZWh0bWwpCisgICAgIHF0X2ludGVybmFsX3NldF9leGNlcHRpb25z X2ZsYWdzKGxpdGVodG1sIE9GRikKKyAgICAgcXRfZGlzYWJsZV93YXJuaW5ncyhsaXRlaHRtbCkK KyAgICAgcXRfZGlzYWJsZV93YXJuaW5ncyhxbGl0ZWh0bWwpCistICAgIHF0X2Rpc2FibGVfd2Fy bmluZ3MoZ3VtYm8pCisrICAgIGlmIChUQVJHRVQgZ3VtYm8pCisrICAgICAgICBxdF9kaXNhYmxl X3dhcm5pbmdzKGd1bWJvKQorKyAgICBlbmRpZigpCisgICAgIHF0X2hhbmRsZV9tdWx0aV9jb25m aWdfb3V0cHV0X2RpcnMocWxpdGVodG1sKQorICAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMocWxp dGVodG1sIFBST1BFUlRJRVMKKyAgICAgICAgIFJVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWSAiJHtR VF9CVUlMRF9ESVJ9LyR7SU5TVEFMTF9CSU5ESVJ9IgorLS0tIGEvc3JjL2Fzc2lzdGFudC9xbGl0 ZWh0bWwvc3JjLzNyZHBhcnR5L2xpdGVodG1sL0NNYWtlTGlzdHMudHh0CisrKysgYi9zcmMvYXNz aXN0YW50L3FsaXRlaHRtbC9zcmMvM3JkcGFydHkvbGl0ZWh0bWwvQ01ha2VMaXN0cy50eHQKK0BA IC0xOTYsNTIgKzE5Niw2IEBAIGVuZGlmKCkKKyBzZXRfc291cmNlX2ZpbGVzX3Byb3BlcnRpZXMo JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L3NyYy9tYXN0ZXIuY3NzLmluYyBQUk9QRVJUSUVT IEdFTkVSQVRFRCBUUlVFKQorIAorICMgVGVzdHMKKy0KKy1pZiAoQlVJTERfVEVTVElORykKKy0g ICAgaW5jbHVkZShGZXRjaENvbnRlbnQpCistICAgIEZldGNoQ29udGVudF9EZWNsYXJlKAorLSAg ICAgIGdvb2dsZXRlc3QKKy0gICAgICBVUkwgaHR0cHM6Ly9naXRodWIuY29tL2dvb2dsZS9nb29n bGV0ZXN0L2FyY2hpdmUvNjA5MjgxMDg4Y2ZlZmM3NmY5ZDBjZTgyZTFmZjZjMzBjYzM1OTFlNS56 aXAKKy0gICAgKQorLSAgICAjIEZvciBXaW5kb3dzOiBQcmV2ZW50IG92ZXJyaWRpbmcgdGhlIHBh cmVudCBwcm9qZWN0J3MgY29tcGlsZXIvbGlua2VyIHNldHRpbmdzCistICAgIHNldChndGVzdF9m b3JjZV9zaGFyZWRfY3J0IE9OIENBQ0hFIEJPT0wgIiIgRk9SQ0UpCistICAgIEZldGNoQ29udGVu dF9HZXRQcm9wZXJ0aWVzKGdvb2dsZXRlc3QpCistICAgIGlmKE5PVCBnb29nbGV0ZXN0X1BPUFVM QVRFRCkKKy0gICAgICBGZXRjaENvbnRlbnRfUG9wdWxhdGUoZ29vZ2xldGVzdCkKKy0gICAgICBh ZGRfc3ViZGlyZWN0b3J5KCR7Z29vZ2xldGVzdF9TT1VSQ0VfRElSfSAke2dvb2dsZXRlc3RfQklO QVJZX0RJUn0pCistICAgIGVuZGlmKCkKKy0KKy0gICAgZW5hYmxlX3Rlc3RpbmcoKQorLQorLSAg ICBzZXQoVEVTVF9OQU1FICR7UFJPSkVDVF9OQU1FfV90ZXN0cykKKy0KKy0gICAgYWRkX2V4ZWN1 dGFibGUoCistICAgICAgICAke1RFU1RfTkFNRX0KKy0gICAgICAgICR7VEVTVF9MSVRFSFRNTH0K Ky0gICAgICAgICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9zcmMvbWFzdGVyLmNzcy5pbmMK Ky0gICAgKQorLQorLSAgICBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoJHtURVNUX05BTUV9IFBST1BF UlRJRVMKKy0gICAgICAgIENYWF9TVEFOREFSRCAxMQorLSAgICAgICAgQ19TVEFOREFSRCA5OQor LSAgICAgICAgUFVCTElDX0hFQURFUiAiJHtIRUFERVJfTElURUhUTUx9IgorLSAgICApCistCist ICAgIHRhcmdldF9pbmNsdWRlX2RpcmVjdG9yaWVzKAorLSAgICAgICAgJHtURVNUX05BTUV9Cist ICAgICAgICBQVUJMSUMgJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2NvbnRhaW5lcnMKKy0g ICAgKQorLQorLSAgICB0YXJnZXRfbGlua19saWJyYXJpZXMoCistICAgICAgICAke1RFU1RfTkFN RX0KKy0gICAgICAgICR7UFJPSkVDVF9OQU1FfQorLSAgICAgICAgZ3Rlc3RfbWFpbgorLSAgICAp CistCistICAgIGluY2x1ZGUoR29vZ2xlVGVzdCkKKy0gICAgZ3Rlc3RfZGlzY292ZXJfdGVzdHMo JHtURVNUX05BTUV9KQorLWVuZGlmKCkKKy0KKyAjICAgICBzZXQoVEVTVF9OQU1FICR7UFJPSkVD VF9OQU1FfV90ZXN0cykKKyAjICAgICBhZGRfZXhlY3V0YWJsZSgke1RFU1RfTkFNRX0gJHtURVNU X0xJVEVIVE1MfSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vc3JjL21hc3Rlci5jc3MuaW5j KQorICMgICAgIHNldF90YXJnZXRfcHJvcGVydGllcygke1RFU1RfTkFNRX0gUFJPUEVSVElFUwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni10b29s cy90ZW1wbGF0ZQppbmRleCBmODc1ZGZmNWMwNDYuLmE4NDRiNjdkZWU5ZSAxMDA2NDQKLS0tIGEv c3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxh dGUKQEAgLTEsMjMgKzEsMzUgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10b29scycKIHBr Z25hbWU9cXQ2LXRvb2xzCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0x CiB3cmtzcmM9InF0dG9vbHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxl PWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAiCi1ob3N0bWFrZWRl cGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwiCi1tYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwg bGliYXRvbWljLWRldmVsIgorY29uZmlndXJlX2FyZ3M9Ii1ERVhURVJOQUxfR1VNQk89T04gLURM SVRFSFRNTF9VVEY4PU9OIC1EVVNFX0lDVT1PTgorIC1EUVRfQlVJTERfU0hBUkVEX0xJQlM9T04g LURRVF9GRUFUVVJFX2Fzc2lzdGFudD1PTiIKK2hvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2 ZWwgcGVybCBxdDYtcGx1Z2luLXNxbGl0ZSIKK21ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBs aWJhdG9taWMtZGV2ZWwgcXQ2LXBsdWdpbi1zcWxpdGUKKyBndW1iby1wYXJzZXItZGV2ZWwgaWN1 LWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZy YW1ld29yayAoUVQ2KSAtIHF0Ni10b29scyBjb21wb25lbnQiCiBtYWludGFpbmVyPSJKb2huIDxt ZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4 Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0i aHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lh bF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHRvb2xz LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZmNlOTQ2ODhlYTky NTc4MmEyODc5MzQ3NTg0OTkxZjg1NDYzMGRhYWRiYTZjNTJhZWQ2ZDkzZTMzY2QwYjE5YworY2hl Y2tzdW09YzQxMjc1MGYyYWEzYmViOTNmY2U1ZjMwNTE3YzYwN2Y1NWRhYWViN2QwNDA3YWYyMDZh OGFkZjkxN2UxMjZjMQorCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwljb25maWd1cmVf YXJncys9IiAtRFFUX0JVSUxEX1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9VFJVRSIKKwlob3N0 bWFrZWRlcGVuZHMrPSIgcXQ2LXRvb2xzLWRldmVsIgorZmkKKwogCiBpZiBbICIkWEJQU19DSEVD S19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIK IGZpCiAKK3Bvc3RfYnVpbGQoKSB7CisJbmluamEgLUMgYnVpbGQgJHttYWtlam9ic30gbGliL3F0 Ni9saWJleGVjL3FoZWxwZ2VuZXJhdG9yCit9CisKIGRvX2NoZWNrKCkgewogCWNkIGJ1aWxkCiAJ IyBTb21lIG9mIHRoZXNlIHRlc3RzIGV4cGVjdCB0aGF0IHF0Ni10b29scyBpcyBhbHJlYWR5CkBA IC0zMSw4ICs0MywxMSBAQCBxdDYtdG9vbHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFs bCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92 ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1 c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3Iv bGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDU4 ZWUwYTg1MmY1NTcxMWM1ZGEzMDAwY2ZmMTBmZTQ2MTI2ZTI0MDUgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9 QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVn IDIwMjIgMTc6MTM6MTAgKzA3MDAKU3ViamVjdDogW1BBVENIIDE2LzI2XSBxdDYtdHJhbnNsYXRp b25zOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1w bGF0ZSB8IDUgKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlIGIv c3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlCmluZGV4IGJlMGE3NGNhNzRlMi4uMWI5 MTdjY2IzNjIwIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni10cmFuc2xhdGlvbnMvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10cmFuc2xhdGlvbnMnCiBwa2duYW1lPXF0Ni10cmFu c2xhdGlvbnMKLXZlcnNpb249Ni4zLjAKK3ZlcnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3Ny Yz0icXR0cmFuc2xhdGlvbnMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxl PWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAiCiBob3N0bWFrZWRl cGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni10b29scy1kZXZlbCBwZXJsIgogbWFrZWRlcGVuZHM9 InF0Ni1iYXNlLWRldmVsIHF0Ni10b29scy1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRm b3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSB0cmFuc2xhdGlvbnMiCkBAIC0xMiw0 ICsxMSw0IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNl PSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRw czovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0dHJhbnNsYXRp b25zLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZTRkZDRlZjg5 MmEzNGE5NTE0YTE5MjM4ZjE4OWEzM2VkODVjNzZmMzFkY2FkNjU5OWNlZDkzYjFlMzM0NDBiMwor Y2hlY2tzdW09ZDdiZGQ1NWUyOTA4ZGVkOTAxZGNjMjYyMTU3MTAwYWYyYTQ5MGJmMDRkMzFlMzI5 OTVmNmQ5MWQ3OGRmZGI5NwoKRnJvbSBlZjhjMmZkNDIxYzY0YTY5YjhjYjEzZDM2Zjk0MWZkNjAz YWUxODM1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1D Mz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdt YWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAwClN1YmplY3Q6IFtQ QVRDSCAxNy8yNl0gcXQ2LXZpcnR1YWxrZXlib2FyZDogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBz cmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUgfCAxMCArKysrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXZpcnR1YWxrZXlib2FyZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXZpcnR1 YWxrZXlib2FyZC90ZW1wbGF0ZQppbmRleCA2N2VjZWYxNDVlYTEuLjc3YTI0NzQwMGI5NyAxMDA2 NDQKLS0tIGEvc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcXQ2LXZpcnR1YWxrZXlib2FyZC90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDYtdmlydHVhbGtleWJvYXJkJwogcGtnbmFtZT1xdDYtdmlydHVhbGtl eWJvYXJkCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9 InF0dmlydHVhbGtleWJvYXJkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHls ZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRl cGVuZHM9InBlcmwgcGtnLWNvbmZpZyBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBtYWtlZGVwZW5k cz0icXQ2LWRlY2xhcmF0aXZlLWRldmVsIHF0Ni1zdmctZGV2ZWwgaHVuc3BlbGwtZGV2ZWwiCiBz aG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0g dmlydHVhbGtleWJvYXJkIgpAQCAtMTIsMTAgKzExLDEwIEBAIG1haW50YWluZXI9IkpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0 cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9y ZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHZpcnR1YWxr ZXlib2FyZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTg5YWFm MTVhY2Y1NDMyYWY4ZjVjZjRlYzQ1Y2IzMmQ4N2EzMzQ4OTA2MjE1ZGQ1NmU4MWNiMjk0ZWIyNzY1 NzMKK2NoZWNrc3VtPTVmZTA4OWIyMDRkODU5YWIwZGQwMTY5ZjgxMWYyZTMwY2FlN2M1Y2IzNmY4 YWI5NWNhMzY4ODNmMWZjMGMyYjgKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgot CWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCisJY29uZmlndXJlX2FyZ3M9 Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBkb19jaGVjaygpIHsKQEAgLTMyLDggKzMxLDEx IEBAIHF0Ni12aXJ0dWFsa2V5Ym9hcmQtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgp IHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1 c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3Iv bGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGli LyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIGE5NmU1 MGM3ODVmNzIyYmZmMGJkZmMyYzU1MmRkMzM1NzcxZDU5MmEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9 QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIw MjIgMTc6MTM6MTAgKzA3MDAKU3ViamVjdDogW1BBVENIIDE4LzI2XSBxdDYtd2F5bGFuZDogdXBk YXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlIHwgMTggKysr KysrKysrKystLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgNyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlIGIvc3Jj cGtncy9xdDYtd2F5bGFuZC90ZW1wbGF0ZQppbmRleCBiNzFhMjczMDA5YjkuLjI0OTI3MWJkM2E3 ZCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtd2F5bGFuZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3F0Ni13YXlsYW5kL3RlbXBsYXRlCkBAIC0xLDEzICsxLDE0IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdxdDYtd2F5bGFuZCcKIHBrZ25hbWU9cXQ2LXdheWxhbmQKLXZlcnNpb249Ni4zLjAKK3Zl cnNpb249Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXR3YXlsYW5kLWV2ZXJ5d2hlcmUtc3Jj LSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9T VF9QQVRIPS91c3IgLURRVF9CVUlMRF9UT09MU19XSEVOX0NST1NTQ09NUElMSU5HPXRydWUiCi1o b3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwgcGtnLWNvbmZpZyB3YXlsYW5kLWRl dmVsIHF0Ni13YXlsYW5kLWRldmVsIgoraG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBw ZXJsIHBrZy1jb25maWcgd2F5bGFuZC1kZXZlbAorIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKICMg WFhYOiBRbWwgYXMgb3B0aW9uYWwgZGVwCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgd2F5 bGFuZC1kZXZlbCBsaWJ4a2Jjb21tb24tZGV2ZWwKKyBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwKICBs aWJYY29tcG9zaXRlLWRldmVsIE1lc2FMaWItZGV2ZWwgVnVsa2FuLUhlYWRlcnMgbGliZHJtLWRl dmVsIgogY2hlY2tkZXBlbmRzPSJkYnVzIG1lc2EtZHJpIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxh dGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIFdheWxhbmQiCkBAIC0xNSwxMCAr MTYsMTEgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9 IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBH UEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZpbGVz PSJodHRwczovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2F5bGFuZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259LnRhci54eiIKLWNoZWNrc3VtPWU3YjU2N2Y2ZTQzZmZjNTkxOGQ0YWE4MjVjZTFlY2VkNjZh MDBjYjBhODcxMzNiMjkxMmJhNWMxYjJhMDIxOTAKK2NoZWNrc3VtPTZmMTRmZWEyZDE3MmE1YjQx NzBiZTNlZmNiMGU1ODUzNWY2NjA1YjYxYmNkODIzZjZkNWM5ZDE2NWJiOGMwZjAKIAotaWYgWyAi JFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERf VEVTVFM9T04iCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwljb25maWd1cmVfYXJncz0i LURRVF9CVUlMRF9UT09MU19XSEVOX0NST1NTQ09NUElMSU5HPXRydWUiCisJaG9zdG1ha2VkZXBl bmRzKz0iIHF0Ni13YXlsYW5kLWRldmVsIgogZmkKIAogZG9fY2hlY2soKSB7CkBAIC0zMiw5ICsz NCwxMSBAQCBxdDYtd2F5bGFuZC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewog CQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9s aWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIv cXQ2L21rc3BlY3MKLQkJdm1vdmUgdXNyL2xpYi9xdDYvbGliZXhlYy9xdHdheWxhbmRzY2FubmVy CiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92 ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDI4ZTJjZTAwYzhjZDYzMTM5ZGNh Yzg0ZTRmN2QzMjNmZjkyMjY3YzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRG LTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQog PGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MTAgKzA3 MDAKU3ViamVjdDogW1BBVENIIDE5LzI2XSBxdDYtd2Vic29ja2V0czogdXBkYXRlIHRvIDYuMy4x LgoKLS0tCiBzcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRj aCB8ICA3ICsrKysrKysKIHNyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUgICAgICAgICAg ICAgICAgICAgIHwgMTQgKysrKysrKysrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJzb2NrZXRzL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdlYnNvY2tldHMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoIGIvc3JjcGtncy9x dDYtd2Vic29ja2V0cy9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44ODI5ZjlmYWIxZGYKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaApAQCAt MCwwICsxLDcgQEAKKy0tLSBhL3Rlc3RzL2F1dG8vQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rlc3Rz L2F1dG8vQ01ha2VMaXN0cy50eHQKK0BAIC0xLDQgKzEsMyBAQAorLWFkZF9zdWJkaXJlY3Rvcnko Y21ha2UpCisgYWRkX3N1YmRpcmVjdG9yeSh3ZWJzb2NrZXRzKQorIGlmKFRBUkdFVCBRdDo6UXVp Y2spCisgICAgIGFkZF9zdWJkaXJlY3RvcnkocW1sKQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2Vic29ja2V0cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXdlYnNvY2tldHMvdGVtcGxhdGUKaW5k ZXggYzJlNjc0YWFjYjMxLi5lNTc1M2NhODhkMDIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdl YnNvY2tldHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtd2Vic29ja2V0cy90ZW1wbGF0ZQpA QCAtMSwxOCArMSwyMyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdlYnNvY2tldHMnCiBw a2duYW1lPXF0Ni13ZWJzb2NrZXRzCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZp c2lvbj0xCiB3cmtzcmM9InF0d2Vic29ja2V0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259Igog YnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyIgog aG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZl bCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCitk ZXBlbmRzPSJxdDYtcGx1Z2luLXRscy1vcGVuc3NsIgorY2hlY2tkZXBlbmRzPSIkZGVwZW5kcyIK IHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsg LSB3ZWJzb2NrZXRzIgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxp Y2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFO RCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRw czovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2Vic29ja2V0 cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWUwMThhMDlmZTk2 MGI3ZDk1NjBkNmJiYzlkM2NhMDIyZmVkNjU2NmU2YmE2ZmM2ZDg2OWE5NzQ4MmQ0ZTYzNjEKK2No ZWNrc3VtPTlmOTgwZDkwYzk3ZmNiZGUxYjUwYzc3M2Y2ZGM1ODBjZmRmOGMzNmNlMTRhMWJlM2Fh MmNjYWRmZTYwNTEyMWEKKworcHJlX2NoZWNrKCkgeworCWV4cG9ydCBRTUwyX0lNUE9SVF9QQVRI PSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYvcW1sIgorfQogCiBxdDYtd2Vic29ja2V0cy1kZXZlbF9w YWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9u fSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgpAQCAtMjAsOCArMjUsMTEgQEAgcXQ2LXdl YnNvY2tldHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNy L2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBl cworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNz CiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92 ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDhlMGE2NDhlYzI3ZGJjNzI4MmM0 MzBmNmQ5NGZkMTViYWQwOGM3YmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRG LTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQog PGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBUdWUsIDkgQXVnIDIwMjIgMjA6MTY6NDcgKzA3 MDAKU3ViamVjdDogW1BBVENIIDIwLzI2XSBxdDYtM2Q6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQog c3JjcGtncy9xdDYtM2QvdGVtcGxhdGUgfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LTNkL3Rl bXBsYXRlIGIvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUKaW5kZXggNjY2ZjU3NTU5NTMyLi5jMDhj M2JkNGE0MWIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LTNkL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcXQ2LTNkL3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J3F0Ni0zZCcKIHBrZ25hbWU9cXQ2LTNkCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiBy ZXZpc2lvbj0xCiB3cmtzcmM9InF0M2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxk X3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciIKIGhvc3Rt YWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2 LWRlY2xhcmF0aXZlLWRldmVsIHF0Ni1zaGFkZXJ0b29scy1kZXZlbCBsaWJhc3NpbXAtZGV2ZWwK ICBsaWJhdG9taWMtZGV2ZWwiCkBAIC0xMyw3ICsxMiw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9u bHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlv bi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3du bG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0v c3VibW9kdWxlcy9xdDNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tz dW09NzRlNzYyMzgwZGFkMzQ4ODc4NzhiOTEyNGRiZmI5ODFkNWNmNGI4YjgwNzI4MWZmOGJmZjMx MTE0NWI1NGRlMQorY2hlY2tzdW09OTkxOWI2NmRmYjI1M2ZhMjZkYjFhN2Q2NjQzNThjYmMwN2Y0 NmM4ODEwMDgyZWUzMTIwZDBhNTRiMTUzZWRmZQogCiBxdDYtM2QtZGV2ZWxfcGFja2FnZSgpIHsK IAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCgpGcm9tIDYz M2NlNWMyMTRmZjFkMjMyMjhiNjA0NWJmNTNjZmJiNWUzOWIxYjYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9 QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVn IDIwMjIgMTc6MTM6MTEgKzA3MDAKU3ViamVjdDogW1BBVENIIDIxLzI2XSBOZXcgcGFja2FnZTog cXQ2LXdlYmNoYW5uZWwtNi4zLjEKCi0tLQogc3JjcGtncy9xdDYtd2ViY2hhbm5lbC1kZXZlbCAg ICAgICAgICAgICAgICAgIHwgIDEgKwogLi4uL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCAg ICAgICAgICAgICAgIHwgIDcgKysrKwogc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSAg ICAgICAgICAgICAgIHwgMzYgKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9xdDYtd2ViY2hh bm5lbC91cGRhdGUgICAgICAgICAgICAgICAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA0NSBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDYtd2ViY2hhbm5lbC1k ZXZlbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvcGF0Y2hlcy9u by1jbWFrZS10ZXN0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViY2hh bm5lbC90ZW1wbGF0ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwv dXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC1kZXZlbCBiL3NyY3Br Z3MvcXQ2LXdlYmNoYW5uZWwtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAw MDAwMDAwLi4wM2U4YjIzZDc4NWQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJj aGFubmVsLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJjaGFubmVsClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC9wYXRjaGVz L25vLWNtYWtlLXRlc3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3BhdGNoZXMvbm8t Y21ha2UtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LmMwMjAyODc3MmEyZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwv cGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsNyBAQAorLS0tIGEvdGVzdHMv YXV0by9DTWFrZUxpc3RzLnR4dAorKysrIGIvdGVzdHMvYXV0by9DTWFrZUxpc3RzLnR4dAorQEAg LTEsNCArMSwzIEBACistYWRkX3N1YmRpcmVjdG9yeShjbWFrZSkKKyBhZGRfc3ViZGlyZWN0b3J5 KHdlYmNoYW5uZWwpCisgaWYoVEFSR0VUIFF0OjpRdWljaykKKyAgICAgYWRkX3N1YmRpcmVjdG9y eShxbWwpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3RlbXBsYXRlIGIvc3Jj cGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLmI4M2U4MDFlZmZkNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LXdlYmNoYW5uZWwvdGVtcGxhdGUKQEAgLTAsMCArMSwzNiBAQAorIyBUZW1wbGF0ZSBmaWxlIGZv ciAncXQ2LXdlYmNoYW5uZWwnCitwa2duYW1lPXF0Ni13ZWJjaGFubmVsCit2ZXJzaW9uPTYuMy4x CityZXZpc2lvbj0xCit3cmtzcmM9InF0d2ViY2hhbm5lbC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2hvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtYmFzZS1k ZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCittYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwg cXQ2LWRlY2xhcmF0aXZlLWRldmVsIHF0Ni13ZWJzb2NrZXRzLWRldmVsIgorc2hvcnRfZGVzYz0i Q3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIHdlYmNoYW5uZWwi CittYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgorbGljZW5zZT0iKExHUEwt My4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25s eSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgoraG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgor ZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2 ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3ZWJjaGFubmVsLWV2ZXJ5d2hlcmUt c3JjLSR7dmVyc2lvbn0udGFyLnh6IgorY2hlY2tzdW09YWFhMjBhYzIzZjg2OTkyNzIxYjdlZTQ4 N2MzNzlhM2ZkNjhjYWE4Y2RjZWEwYTc3YTM3ZTBkOGI0N2ZmMjY2OAorCitwcmVfY2hlY2soKSB7 CisJZXhwb3J0IFFNTDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGliL3F0Ni9xbWwiCit9 CisKK3F0Ni13ZWJjaGFubmVsLWRldmVsX3BhY2thZ2UoKSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vw a2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni1iYXNlLWRldmVsPj0ke3ZlcnNpb259XzEK KwkgcXQ2LXdlYnNvY2tldHMtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKKwlzaG9ydF9kZXNjKz0iIC0g ZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRl CisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92 ZSB1c3IvbGliL3F0Ni9xbWwvUXRXZWJDaGFubmVsL3BsdWdpbnMucW1sdHlwZXMKKwkJdm1vdmUg dXNyL2xpYi9xdDYvcW1sL1F0V2ViQ2hhbm5lbC9xbWxkaXIKKwkJdm1vdmUgInVzci9saWIvKi5z byIKKwkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxl cworCX0KK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdXBkYXRlIGIvc3Jj cGtncy9xdDYtd2ViY2hhbm5lbC91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi44NDQ1NTI0NjUyMjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJjaGFubmVsL3VwZGF0ZQpAQCAtMCwwICsxIEBACitwa2duYW1lPSIke3BrZ25hbWUvNi0vfS1l dmVyeXdoZXJlLXNyYyIKCkZyb20gODZkMGU4OTQxODgzODJiNmJkMmRjZmRlYzc5MzNhMWYwZDZj MTMxOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9 QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFp bC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzoxMSArMDcwMApTdWJqZWN0OiBbUEFU Q0ggMjIvMjZdIE5ldyBwYWNrYWdlOiBxdDYtbXVsdGltZWRpYS02LjMuMQoKLS0tCiBjb21tb24v c2hsaWJzICAgICAgICAgICAgICAgICAgIHwgIDMgKysrCiBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlh LWRldmVsICAgIHwgIDEgKwogc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZSB8IDQzICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9xdDYtbXVsdGltZWRpYS91 cGRhdGUgICB8ICAxICsKIDQgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKQogY3JlYXRl IG1vZGUgMTIwMDAwIHNyY3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9xdDYtbXVsdGltZWRpYS91cGRhdGUKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJz IGIvY29tbW9uL3NobGlicwppbmRleCAyNmYxMGQ2MDRiZTkuLmNlMDRjYzFhZDJjZiAxMDA2NDQK LS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDc4LDYgKzIwNzgs OSBAQCBsaWJRdDZTZXJpYWxQb3J0LnNvLjYgcXQ2LXNlcmlhbHBvcnQtNi4yLjBhbHBoYV8xCiBs aWJRdDZXZWJTb2NrZXRzLnNvLjYgcXQ2LXdlYnNvY2tldHMtNi4yLjBhbHBoYV8xCiBsaWJRdDZX ZWJDaGFubmVsLnNvLjYgcXQ2LXdlYmNoYW5uZWwtNi4yLjBhbHBoYV8xCiBsaWJRdDZQb3NpdGlv bmluZy5zby42IHF0Ni1sb2NhdGlvbi02LjIuMGFscGhhXzEKK2xpYlF0Nk11bHRpbWVkaWFXaWRn ZXRzLnNvLjYgcXQ2LW11bHRpbWVkaWEtNi4zLjFfMQorbGliUXQ2TXVsdGltZWRpYVF1aWNrLnNv LjYgcXQ2LW11bHRpbWVkaWEtNi4zLjFfMQorbGliUXQ2TXVsdGltZWRpYS5zby42IHF0Ni1tdWx0 aW1lZGlhLTYuMy4xXzEKIGxpYm5wdGguc28uMCBucHRoLTEuMV8xCiBsaWJucHVwbnAuc28uNCBs aWJucHVwbnAtNC4wLjJfMQogbGliZ2xmdy5zby4zIGdsZnctMy4wLjRfMQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtbXVsdGltZWRpYS1kZXZlbCBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2 ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi45MzQzNDQ2NTAyZDAK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhLWRldmVsCkBAIC0wLDAg KzEgQEAKK3F0Ni1tdWx0aW1lZGlhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LW11bHRp bWVkaWEvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44 NGZmMzMxNDk4NzUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3Rl bXBsYXRlCkBAIC0wLDAgKzEsNDMgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1tdWx0aW1l ZGlhJworcGtnbmFtZT1xdDYtbXVsdGltZWRpYQordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQor d3Jrc3JjPSJxdG11bHRpbWVkaWEtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKK2J1aWxkX3N0 eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iLURRVF9GRUFUVVJFX2dzdHJlYW1lcj1PTiIKK2hv c3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcGtnLWNvbmZpZworIHF0 Ni1zaGFkZXJ0b29scy1kZXZlbCIKK21ha2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRpdmUtZGV2ZWwK KyBxdDYtc2hhZGVydG9vbHMtZGV2ZWwgbGliZ2xpYi1kZXZlbCBnc3QtcGx1Z2lucy1iYXNlMS1k ZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFt ZXdvcmsgLSBtdWx0aW1lZGlhIgorbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2 PiIKK2xpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9u bHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKK2hvbWVwYWdl PSJodHRwczovL3F0LmlvLyIKK2Rpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmlj aWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0bXVs dGltZWRpYS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKK2NoZWNrc3VtPTdlMDMy NDJhYWRkNjM0ZmYyZDlmY2YwODk0ODI5MGYwM2RhM2Q5YTUwMTIzNjlkOTA4ZGE4OWY4MmIxZDcz MzYKKworZG9fY2hlY2soKSB7CisJY2QgYnVpbGQKKwlsb2NhbCBicm9rZW49InRzdF9xbWVkaWFm b3JtYXR8dHN0X3FhdWRpb2RlY29kZXJiYWNrZW5kIgorCWJyb2tlbis9Inx0c3RfcWF1ZGlvZGV2 aWNlfHRzdF9xYXVkaW9zb3VyY2V8dHN0X3FhdWRpb3NpbmsiCisJYnJva2VuKz0ifHRzdF9xbWVk aWFwbGF5ZXJiYWNrZW5kfHRzdF9xbWVkaWFjYXB0dXJlc2Vzc2lvbiIKKwlicm9rZW4rPSJ8dHN0 X3FjYW1lcmFiYWNrZW5kfHRzdF9xcXVpY2t2aWRlb291dHB1dCIKKwlicm9rZW4rPSJ8dHN0X3Fx dWlja3ZpZGVvb3V0cHV0X3dpbmRvdyIKKwljdGVzdCAtRSAiKCRicm9rZW4pIgorfQorCitxdDYt bXVsdGltZWRpYS1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2 ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0 X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUg dXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0 eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3Nw ZWNzCisJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdE11bHRpbWVkaWEvcGx1Z2lucy5xbWx0eXBl cworCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRNdWx0aW1lZGlhL3FtbGRpcgorCQl2bW92ZSAi dXNyL2xpYi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwl9Cit9CmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3VwZGF0ZSBiL3NyY3BrZ3MvcXQ2LW11bHRpbWVkaWEv dXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODQ0NTUyNDY1 MjIyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS91cGRhdGUKQEAg LTAsMCArMSBAQAorcGtnbmFtZT0iJHtwa2duYW1lLzYtL30tZXZlcnl3aGVyZS1zcmMiCgpGcm9t IDY2OGRmZWQxNjJhZmYzNjgzZjQ5ODBiMWNhOWRlOWVlOTVhNTExN2YgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0y MEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDgg QXVnIDIwMjIgMTg6MjI6NDggKzA3MDAKU3ViamVjdDogW1BBVENIIDIzLzI2XSBOZXcgcGFja2Fn ZTogcXQ2LWNvbm5lY3Rpdml0eS02LjMuMQoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMiArKwogc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5LWRl dmVsICAgICAgICAgICAgICAgIHwgIDEgKwogLi4uL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRj aCAgICAgICAgICAgICAgIHwgIDkgKysrKysrCiBzcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkvdGVt cGxhdGUgICAgICAgICAgICAgfCAzMCArKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5n ZWQsIDQyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni1jb25u ZWN0aXZpdHktZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1jb25uZWN0aXZp dHkvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBi L2NvbW1vbi9zaGxpYnMKaW5kZXggY2UwNGNjMWFkMmNmLi4yZTk1YTIyMTE5YWIgMTAwNjQ0Ci0t LSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjA3Miw2ICsyMDcyLDgg QEAgbGliUXQ2RGVzaWduZXIuc28uNiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2RGVzaWduZXJD b21wb25lbnRzLnNvLjYgcXQ2LXRvb2xzLTYuMS4wXzEKIGxpYlF0NkhlbHAuc28uNiBxdDYtdG9v bHMtNi4xLjBfMQogbGliUXQ2VWlUb29scy5zby42IHF0Ni10b29scy02LjEuMF8xCitsaWJRdDZO ZmMuc28uNiBxdDYtY29ubmVjdGl2aXR5LTYuMy4xXzEKK2xpYlF0NkJsdWV0b290aC5zby42IHF0 Ni1jb25uZWN0aXZpdHktNi4zLjFfMQogbGliUXQ2SHVuc3BlbGxJbnB1dE1ldGhvZC5zby42IHF0 Ni12aXJ0dWFsa2V5Ym9hcmQtNi4xLjBfMQogbGliUXQ2VmlydHVhbEtleWJvYXJkLnNvLjYgcXQ2 LXZpcnR1YWxrZXlib2FyZC02LjEuMF8xCiBsaWJRdDZTZXJpYWxQb3J0LnNvLjYgcXQ2LXNlcmlh bHBvcnQtNi4yLjBhbHBoYV8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkt ZGV2ZWwgYi9zcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHktZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAw MDAKaW5kZXggMDAwMDAwMDAwMDAwLi40NzhjYzlkOGFhMzkKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni1jb25uZWN0aXZpdHktZGV2ZWwKQEAgLTAsMCArMSBAQAorcXQ2LWNvbm5lY3Rp dml0eQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LWNvbm5lY3Rpdml0eS9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni1j b25uZWN0aXZpdHkvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZGViODAwNjJhYzcxCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaApAQCAt MCwwICsxLDkgQEAKKy0tLSBhL3Rlc3RzL2F1dG8vQ01ha2VMaXN0cy50eHQKKysrKyBiL3Rlc3Rz L2F1dG8vQ01ha2VMaXN0cy50eHQKK0BAIC0yNCw2ICsyNCwzIEBAIGlmKFRBUkdFVCBRdDo6TmZj KQorICAgICBhZGRfc3ViZGlyZWN0b3J5KHFuZGVmbmZjc21hcnRwb3N0ZXJyZWNvcmQpCisgICAg IGFkZF9zdWJkaXJlY3RvcnkocW5kZWZmaWx0ZXIpCisgZW5kaWYoKQorLWlmKFRBUkdFVCBRdDo6 Qmx1ZXRvb3RoIEFORCBUQVJHRVQgUXQ6Ok5mYykKKy0gICAgYWRkX3N1YmRpcmVjdG9yeShjbWFr ZSkKKy1lbmRpZigpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkvdGVtcGxh dGUgYi9zcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42Y2I2MTc0NGQwY2IKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkvdGVtcGxhdGUKQEAgLTAsMCArMSwzMCBAQAorIyBUZW1w bGF0ZSBmaWxlIGZvciAncXQ2LWNvbm5lY3Rpdml0eScKK3BrZ25hbWU9cXQ2LWNvbm5lY3Rpdml0 eQordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQord3Jrc3JjPSJxdGNvbm5lY3Rpdml0eS1ldmVy eXdoZXJlLXNyYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2hvc3RtYWtlZGVwZW5k cz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCittYWtlZGVwZW5kcz0icXQ2LWRlY2xhcmF0 aXZlLWRldmVsIgorc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJ IGZyYW1ld29yayAtIENvbm5lY3Rpdml0eSIKK21haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0 bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgorbGljZW5zZT0iR1BMLTMuMC1vbmx5Igor aG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgorZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQu aW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVs ZXMvcXRjb25uZWN0aXZpdHktZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCitjaGVj a3N1bT1iMjVjZTQ3MTBhOWM2MWJjNmE1ZGJhZWViM2UyZWQ5MDdhOGJjODU0NzhmZGIyYWI0MzEy Mjk3NzY4YjY5NWIwCisKK3F0Ni1jb25uZWN0aXZpdHktZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBl bmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkgcXQ2LWRlY2xhcmF0 aXZlPj0ke3ZlcnNpb259IgorCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKKwlw a2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUKKwkJdm1vdmUgdXNyL2xpYi9jbWFr ZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwor CQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJCXZt b3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwl9Cit9 CgpGcm9tIDcxNmYzMzJmZDc3YmJkNTAwZDYzOGI1MDUzODUyYjlhZTQ1ZDQyYjIgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJB PUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBN b24sIDggQXVnIDIwMjIgMTg6MjI6NTcgKzA3MDAKU3ViamVjdDogW1BBVENIIDI0LzI2XSBOZXcg cGFja2FnZTogcXQ2LXNlbnNvcnMtNi4zLjEKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKIHNyY3BrZ3MvcXQ2LXNlbnNvcnMtZGV2ZWwg ICAgICAgICAgICAgICAgICAgICB8ICAxICsKIC4uLi9xdDYtc2Vuc29ycy9wYXRjaGVzL25vLWNt YWtlLXRlc3QucGF0Y2ggICB8ICA4ICsrKysrCiBzcmNwa2dzL3F0Ni1zZW5zb3JzL3RlbXBsYXRl ICAgICAgICAgICAgICAgICAgfCAzMSArKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5n ZWQsIDQyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0Ni1zZW5z b3JzLWRldmVsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtc2Vuc29ycy9wYXRjaGVz L25vLWNtYWtlLXRlc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1zZW5z b3JzL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMK aW5kZXggMmU5NWEyMjExOWFiLi4xNTdiNTFmM2Y5ODEgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxp YnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjA3NCw2ICsyMDc0LDggQEAgbGliUXQ2SGVscC5z by42IHF0Ni10b29scy02LjEuMF8xCiBsaWJRdDZVaVRvb2xzLnNvLjYgcXQ2LXRvb2xzLTYuMS4w XzEKIGxpYlF0Nk5mYy5zby42IHF0Ni1jb25uZWN0aXZpdHktNi4zLjFfMQogbGliUXQ2Qmx1ZXRv b3RoLnNvLjYgcXQ2LWNvbm5lY3Rpdml0eS02LjMuMV8xCitsaWJRdDZTZW5zb3JzLnNvLjYgcXQ2 LXNlbnNvcnMtNi4zLjFfMQorbGliUXQ2U2Vuc29yc1F1aWNrLnNvLjYgcXQ2LXNlbnNvcnMtNi4z LjFfMQogbGliUXQ2SHVuc3BlbGxJbnB1dE1ldGhvZC5zby42IHF0Ni12aXJ0dWFsa2V5Ym9hcmQt Ni4xLjBfMQogbGliUXQ2VmlydHVhbEtleWJvYXJkLnNvLjYgcXQ2LXZpcnR1YWxrZXlib2FyZC02 LjEuMF8xCiBsaWJRdDZTZXJpYWxQb3J0LnNvLjYgcXQ2LXNlcmlhbHBvcnQtNi4yLjBhbHBoYV8x CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1zZW5zb3JzLWRldmVsIGIvc3JjcGtncy9xdDYtc2Vu c29ycy1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmViOTQ1 N2YwNDA1NQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXNlbnNvcnMtZGV2ZWwKQEAg LTAsMCArMSBAQAorcXQ2LXNlbnNvcnMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni1zZW5zb3JzL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCBi L3NyY3BrZ3MvcXQ2LXNlbnNvcnMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNjRmODE1NjNjYjEzCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtc2Vuc29ycy9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gK QEAgLTAsMCArMSw4IEBACistLS0gYS90ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0CisrKysgYi90 ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0CitAQCAtMSw1ICsxLDQgQEAKKyBhZGRfc3ViZGlyZWN0 b3J5KHFzZW5zb3IpCistYWRkX3N1YmRpcmVjdG9yeShjbWFrZSkKKyBpZihUQVJHRVQgUXQ6OlF1 aWNrKQorICAgICBhZGRfc3ViZGlyZWN0b3J5KHFtbCkKKyBlbmRpZigpCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni1zZW5zb3JzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc2Vuc29ycy90ZW1wbGF0 ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjVhODFmNDNiNjBlYgot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKQEAgLTAsMCAr MSwzMSBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNlbnNvcnMnCitwa2duYW1lPXF0Ni1z ZW5zb3JzCit2ZXJzaW9uPTYuMy4xCityZXZpc2lvbj0xCit3cmtzcmM9InF0c2Vuc29ycy1ldmVy eXdoZXJlLXNyYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2hvc3RtYWtlZGVwZW5k cz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXN2Zy1kZXZlbCBwa2ctY29uZmlnIgor bWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYtc3ZnLWRldmVsIgorc2hvcnRf ZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIFNlbnNv cnMiCittYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21h aWwuY29tPiIKK2xpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwt My4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKK2hv bWVwYWdlPSJodHRwczovL3F0LmlvLyIKK2Rpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0Lmlv L29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVz L3F0c2Vuc29ycy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKK2NoZWNrc3VtPTRi MjQwYjU5ZWRiYTlhNDJiNDczNTc1OGEyNWYyNzlhMjY4NDFiOTgyODY0ZTdiMzhmNmVmMGI4MWUw ZDYwY2MKKworcXQ2LXNlbnNvcnMtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkgcXQ2LWRlY2xhcmF0aXZlLWRldmVsPj0k e3ZlcnNpb259XzEiCisJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19p bnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJ CXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJCXZt b3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0U2Vuc29y cy9wbHVnaW5zLnFtbHR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdFNlbnNvcnMvcW1s ZGlyCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCX0K K30KCkZyb20gMTkzMjc4ZDExZDQ2NDVlN2ZmZmQ1OWY0MWQzNzA3YTYwN2Y1YzBmOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9 QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6 IE1vbiwgOCBBdWcgMjAyMiAxODoyMzowOCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjUvMjZdIE5l dyBwYWNrYWdlOiBxdDYtcmVtb3Rlb2JqZWN0cy02LjMuMQoKLS0tCiBjb21tb24vc2hsaWJzICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArCiBzcmNwa2dzL3F0Ni1yZW1vdGVv YmplY3RzLWRldmVsICAgICAgICAgICAgICAgfCAgMSArCiAuLi4vcGF0Y2hlcy9uby1jbWFrZS10 ZXN0LnBhdGNoICAgICAgICAgICAgICAgfCAgOSArKysrCiBzcmNwa2dzL3F0Ni1yZW1vdGVvYmpl Y3RzL3RlbXBsYXRlICAgICAgICAgICAgfCA0MyArKysrKysrKysrKysrKysrKysrCiA0IGZpbGVz IGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3F0 Ni1yZW1vdGVvYmplY3RzLWRldmVsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtcmVt b3Rlb2JqZWN0cy9wYXRjaGVzL25vLWNtYWtlLXRlc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9u L3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggMTU3YjUxZjNmOTgxLi45MWYxOTdlNTRjOTMg MTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjA3NCw2 ICsyMDc0LDggQEAgbGliUXQ2SGVscC5zby42IHF0Ni10b29scy02LjEuMF8xCiBsaWJRdDZVaVRv b2xzLnNvLjYgcXQ2LXRvb2xzLTYuMS4wXzEKIGxpYlF0Nk5mYy5zby42IHF0Ni1jb25uZWN0aXZp dHktNi4zLjFfMQogbGliUXQ2Qmx1ZXRvb3RoLnNvLjYgcXQ2LWNvbm5lY3Rpdml0eS02LjMuMV8x CitsaWJRdDZSZW1vdGVPYmplY3RzLnNvLjYgcXQ2LXJlbW90ZW9iamVjdHMtNi4zLjFfMQorbGli UXQ2UmVtb3RlT2JqZWN0c1FtbC5zby42IHF0Ni1yZW1vdGVvYmplY3RzLTYuMy4xXzEKIGxpYlF0 NlNlbnNvcnMuc28uNiBxdDYtc2Vuc29ycy02LjMuMV8xCiBsaWJRdDZTZW5zb3JzUXVpY2suc28u NiBxdDYtc2Vuc29ycy02LjMuMV8xCiBsaWJRdDZIdW5zcGVsbElucHV0TWV0aG9kLnNvLjYgcXQ2 LXZpcnR1YWxrZXlib2FyZC02LjEuMF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1yZW1vdGVv YmplY3RzLWRldmVsIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy1kZXZlbApuZXcgZmlsZSBt b2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLjJhMDI3Zjk1MjY2ZgotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMtZGV2ZWwKQEAgLTAsMCArMSBAQAorcXQ2 LXJlbW90ZW9iamVjdHMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzL3BhdGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmQ5YmE5NDYzZWJmCi0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy9wYXRjaGVzL25vLWNtYWtlLXRl c3QucGF0Y2gKQEAgLTAsMCArMSw5IEBACistLS0gYS90ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0 CisrKysgYi90ZXN0cy9hdXRvL0NNYWtlTGlzdHMudHh0CitAQCAtMSw2ICsxLDUgQEAKKyAKKyBh ZGRfc3ViZGlyZWN0b3J5KGJlbmNobWFya3MpCistYWRkX3N1YmRpcmVjdG9yeShjbWFrZSkKKyBh ZGRfc3ViZGlyZWN0b3J5KG1vZGVscmVwbGljYSkKKyBhZGRfc3ViZGlyZWN0b3J5KG1vZGVsdmll dykKKyBhZGRfc3ViZGlyZWN0b3J5KHBvZHMpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1yZW1v dGVvYmplY3RzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNkYzNiMjNmNTJkZQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUKQEAgLTAs MCArMSw0MyBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXJlbW90ZW9iamVjdHMnCitwa2du YW1lPXF0Ni1yZW1vdGVvYmplY3RzCit2ZXJzaW9uPTYuMy4xCityZXZpc2lvbj0xCit3cmtzcmM9 InF0cmVtb3Rlb2JqZWN0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9 Y21ha2UKK2hvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcGtnLWNv bmZpZyIKK21ha2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCisjIE5vdCBhIHN0cmlj dCBkZXBlbmRlbmN5LCBidXQgaXQncyAyMDIyLCBldmVyeW9uZSBzaG91bGQgdXNlIFRMUworZGVw ZW5kcz0icXQ2LXBsdWdpbi10bHMtb3BlbnNzbCIKK2NoZWNrZGVwZW5kcz0iJGRlcGVuZHMiCitz aG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0g UmVtb3RlIE9iamVjdHMiCittYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNv bmdkYW5ocXhAZ21haWwuY29tPiIKK2xpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAt b25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0 aW9uLTEuMCIKK2hvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKK2Rpc3RmaWxlcz0iaHR0cDovL2Rv d25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9u fS9zdWJtb2R1bGVzL3F0cmVtb3Rlb2JqZWN0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRh ci54eiIKK2NoZWNrc3VtPWVhNmQwMzhiMTFjNjA5ODFkZTBiZDM5YTYwOTFhNTlhYmY3ZDAzMWUz N2JmYzU5MmIzMWJlMTIxN2JlZjRjYTYKKworaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJ aG9zdG1ha2VkZXBlbmRzKz0iIHF0Ni1yZW1vdGVvYmplY3RzIgorCWNvbmZpZ3VyZV9hcmdzPSIt RFFUX0JVSUxEX1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKK2ZpCisKK3ByZV9jaGVj aygpIHsKKwlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0iJHdya3NyYy9idWlsZC9saWIvcXQ2L3Ft bCIKK30KKworcXQ2LXJlbW90ZW9iamVjdHMtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBlbmRzPSIk e3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0KKwkgcXQ2LWRlY2xhcmF0aXZlLWRl dmVsPj0ke3ZlcnNpb259XzEiCisJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgor CXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSB1c3IvbGliL2Nt YWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmln CisJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0 UmVtb3RlT2JqZWN0cy9wbHVnaW5zLnFtbHR5cGVzCisJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9R dFJlbW90ZU9iamVjdHMvcW1sZGlyCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJCXZtb3ZlICJ1 c3IvbGliLyoucHJsIgorCX0KK30KCkZyb20gYmZmNzlmZTM1ODdiNWFmNTFiYjk1OWI4YmE0MmM5 MDQ3ZDExOGE2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05 MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2Rhbmhx eEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzoxMSArMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMjYvMjZdIE5ldyBwYWNrYWdlOiBxdDYtd2ViZW5naW5lLTYuMy4xLgoKLS0tCiBj b21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKwogc3Jj cGtncy9xdDYtd2ViZW5naW5lLWRldmVsICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3Br Z3MvcXQ2LXdlYmVuZ2luZS1leGFtcGxlcyAgICAgICAgICAgICAgICB8ICAgMSArCiAuLi4vcGF0 Y2hlcy8wMDAxLU5vbmUtbm8tZGVidWcucGF0Y2ggICAgICAgICAgfCAgMTEgKwogLi4uL3BhdGNo ZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoICAgICAgICAgICAgIHwgIDEwICsKIC4uLi9wYXRjaGVz LzAwNTAtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2ggICB8ICAxNCArCiAuLi4vMDEwMC1jaHJv bWl1bS1zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2ggICAgfCAgNTggKysKIC4uLi9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2ggICB8ICAxNiArCiAuLi4vMDEwMi1jaHJvbWl1 bS05MC1ydXktaW5jbHVkZS5wYXRjaCAgICAgICAgfCAgMTkgKwogLi4uLXY4LW1vbm90b25pYy1w dGhyZWFkLWNvbnRfdGltZWR3YWl0LnBhdGNoIHwgIDIyICsKIC4uLi8wMTA0LWNocm9taXVtLXJl dmVydC05ZDA4MGMwLnBhdGNoICAgICAgICB8IDE2MiArKysrCiAuLi4tY2hyb21pdW0tcmV2ZXJ0 LWRyb3Atb2Ytc3lzdGVtLWphdmEucGF0Y2ggfCAgMTUgKwogLi4uL3BhdGNoZXMvMDEwNi1jaHJv bWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoIHwgIDIwICsKIC4uLi8wMTA3LWNocm9taXVtLWN1cnNl ZF5Vc2NvcGVkX2ZpbGUucGF0Y2ggICB8ICAxOCArCiAuLi4vMDEwOC1jaHJvbWl1bS1maXgtbmFy cm93aW5nLWNhc3QucGF0Y2ggICAgfCAgNTMgKysKIC4uLi8wMTA5LWNocm9taXVtLXJlbW92ZS1z dHJpcF9iaW5hcnkucGF0Y2ggICB8ICAzMiArCiAuLi5pdW0tcmV2ZXJ0LXVzZS1mZmlsZS1jb21w aWxhdGlvbi1kaXIucGF0Y2ggfCAgNTcgKysKIC4uLjExLWNocm9taXVtLW5vLVduby1zdHJpbmdv cC1vdmVycmVhZC5wYXRjaCB8ICAxMCArCiAuLi4vMDE1MC1jaHJvbWl1bS1nbGliYy1saWJjX21h bGxvYy5wYXRjaCAgICAgfCAgMjQgKwogLi4uLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dP UkRTSVpFLnBhdGNoIHwgIDIxICsKIC4uLi8wMjAxLWNocm9taXVtLW11c2wtZGlzcGF0Y2gtdG8t bXVzbC5wYXRjaCB8IDEwMyArKwogLi4uLzAyMDItY2hyb21pdW0tbXVzbC1uby1tYWxsaW5mby5w YXRjaCAgICAgIHwgIDYyICsrCiAuLi4vMDIwMy1jaHJvbWl1bS1tdXNsLXNpZ2luZm9fdC5wYXRj aCAgICAgICAgfCAgMTggKwogLi4uLzAyMDQtY2hyb21pdW0tbXVzbC1zdGFja3N0YXJ0LnBhdGNo ICAgICAgIHwgIDIwICsKIC4uLi9wYXRjaGVzLzAyMDUtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBh dGNoICB8ICA5MiArKwogLi4uMDIwNi1jaHJvbWl1bS1tdXNsLWRlZmF1bHQtc3RhY2tzaXplLnBh dGNoIHwgIDE1ICsKIC4uLi9wYXRjaGVzLzAyMDgtY2hyb21pdW0tbXVzbC1leGVjaW5mby5wYXRj aCB8IDEyNSArKysKIC4uLi8wMjA5LWNocm9taXVtLW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRj aCB8ICAyMiArCiAuLi4vMDIxMC1jaHJvbWl1bS1tdXNsLW1zZ3ZlYy1wdXNoX2JhY2sucGF0Y2gg fCAgMTQgKwogLi4uaXVtLW11c2wtY2Fub25pY2FsaXplLWZpbGUtbmFtZS1tdXNsLnBhdGNoIHwg IDExICsKIC4uLi8wMjEyLWNocm9taXVtLW11c2wtbm8tZ2V0Y29udGV4dC5wYXRjaCAgICB8ICAy OSArCiAuLi4vcGF0Y2hlcy8wMjEzLWNocm9taXVtLW11c2wtY3Jhc2hwYWQucGF0Y2ggfCAgMjQg KwogLi4uL3BhdGNoZXMvMDIxNC1jaHJvbWl1bS1tdXNsLWZpeGVzLnBhdGNoICAgIHwgMTA4ICsr KwogLi4uL3BhdGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNoICAgIHwgIDI5ICsK IC4uLi9wYXRjaGVzLzAyMTYtY2hyb21pdW0tbXVzbC1zdGF0LnBhdGNoICAgICB8ICAxMiArCiAu Li4vcGF0Y2hlcy8wMjE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2ggfCAgNzcgKysKIC4u Li9wYXRjaGVzLzA2MDAtY2hyb21pdW0tc25kaW8ucGF0Y2ggICAgICAgICB8IDg3NiArKysrKysr KysrKysrKysrKysKIC4uLi9wYXRjaGVzLzA3MDAtYXJtdjdsLW5lb24ucGF0Y2ggICAgICAgICAg ICB8ICAxMCArCiAuLi4tY2hyb21pdW0tbXVzbC1jcm9zcy1uby1hc21fcHRyYWNlX2gucGF0Y2gg fCAgMzAgKwogLi4uLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2ggICAgIHwg IDIwICsKIC4uLi8wNzUyLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2ggICB8ICAx OCArCiAuLi4wODAxLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2ggfCAgMjQg KwogLi4uL3BhdGNoZXMvY3Jvc3MtYnVpbGQtZXhhbXBsZXMucGF0Y2ggICAgICAgIHwgIDE2ICsK IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZSAgICAgICAgICAgICAgICB8IDE3OSArKysr CiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdXBkYXRlICAgICAgICAgICAgICAgICAgfCAgIDEgKwog NDUgZmlsZXMgY2hhbmdlZCwgMjUwNiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAg c3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9x dDYtd2ViZW5naW5lLWV4YW1wbGVzCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDAwMS1Ob25lLW5vLWRlYnVnLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1MC1uby1n bGliYy1jbWFrZS1jaGVjay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1zaXpl X3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTAyLWNocm9taXVtLTkwLXJ1eS1pbmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMy1jaHJvbWl1bS12OC1tb25vdG9uaWMt cHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNo cm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9k ZWpzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEwNy1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1bS1maXgtbmFy cm93aW5nLWNhc3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTA5LWNocm9taXVtLXJlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9taXVt LXJldmVydC11c2UtZmZpbGUtY29tcGlsYXRpb24tZGlyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1jaHJvbWl1bS1uby1Xbm8tc3Ry aW5nb3Atb3ZlcnJlYWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9taXVtLWdsaWJjLWxpYmNfbWFsbG9jLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1 bS1tdXNsLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpFLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMS1jaHJvbWl1bS1t dXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAyLWNocm9taXVtLW11c2wtbm8tbWFsbGluZm8ucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAzLWNo cm9taXVtLW11c2wtc2lnaW5mb190LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNC1jaHJvbWl1bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA1LWNo cm9taXVtLW11c2wtc2FuZGJveC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5w YXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAy MDgtY2hyb21pdW0tbXVzbC1leGVjaW5mby5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDktY2hyb21pdW0tbXVzbC10aHJlYWQtc3RhY2tz aXplLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIxMC1jaHJvbWl1bS1tdXNsLW1zZ3ZlYy1wdXNoX2JhY2sucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjExLWNocm9taXVtLW11c2wt Y2Fub25pY2FsaXplLWZpbGUtbmFtZS1tdXNsLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMi1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRl eHQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjEzLWNocm9taXVtLW11c2wtY3Jhc2hwYWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE0LWNocm9taXVtLW11c2wtZml4ZXMucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE1 LWNocm9taXVtLW11c2wtY2RlZnMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE2LWNocm9taXVtLW11c2wtc3RhdC5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTctY2hyb21pdW0t bXVzbC1yZXNvbHZlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzA2MDAtY2hyb21pdW0tc25kaW8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzAwLWFybXY3bC1uZW9uLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MC1jaHJv bWl1bS1tdXNsLWNyb3NzLW5vLWFzbV9wdHJhY2VfaC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tdXNl cl92ZnAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wNzUyLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wODAxLWNocm9taXVtLWk2ODYt dmFhcGktZnBlcm1pc3NpdmUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy9jcm9zcy1idWlsZC1leGFtcGxlcy5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJz IGIvY29tbW9uL3NobGlicwppbmRleCA5MWYxOTdlNTRjOTMuLjFmOGFjYzQzYzM2ZSAxMDA2NDQK LS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDg3LDYgKzIwODcs MTMgQEAgbGliUXQ2UG9zaXRpb25pbmcuc28uNiBxdDYtbG9jYXRpb24tNi4yLjBhbHBoYV8xCiBs aWJRdDZNdWx0aW1lZGlhV2lkZ2V0cy5zby42IHF0Ni1tdWx0aW1lZGlhLTYuMy4xXzEKIGxpYlF0 Nk11bHRpbWVkaWFRdWljay5zby42IHF0Ni1tdWx0aW1lZGlhLTYuMy4xXzEKIGxpYlF0Nk11bHRp bWVkaWEuc28uNiBxdDYtbXVsdGltZWRpYS02LjMuMV8xCitsaWJRdDZXZWJFbmdpbmVRdWljay5z by42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmV2lkZ2V0cy5zby42IHF0Ni13ZWJl bmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmUXVpY2suc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEK K2xpYlF0NldlYkVuZ2luZUNvcmUuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NlBk Zi5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2V2ViRW5naW5lUXVpY2tEZWxlZ2F0 ZXNRbWwuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NldlYkVuZ2luZVdpZGdldHMu c28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKIGxpYm5wdGguc28uMCBucHRoLTEuMV8xCiBsaWJu cHVwbnAuc28uNCBsaWJucHVwbnAtNC4wLjJfMQogbGliZ2xmdy5zby4zIGdsZnctMy4wLjRfMQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uOGU0 ZDFiOTljNTg3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVs CkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJlbmdpbmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUtZXhhbXBsZXMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAw MDAwLi44ZTRkMWI5OWM1ODcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUtZXhhbXBsZXMKQEAgLTAsMCArMSBAQAorcXQ2LXdlYmVuZ2luZQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAw MDEtTm9uZS1uby1kZWJ1Zy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAw MDEtTm9uZS1uby1kZWJ1Zy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjFiYTMzZjhlNmZkOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaApAQCAtMCwwICsxLDExIEBACist LS0gYS9jbWFrZS9GdW5jdGlvbnMuY21ha2UKKysrKyBiL2NtYWtlL0Z1bmN0aW9ucy5jbWFrZQor QEAgLTgxMyw2ICs4MTMsOCBAQCBtYWNybyhhcHBlbmRfYnVpbGRfdHlwZV9zZXR1cCkKKyAgICAg ICAgIGVuZGlmKCkKKyAgICAgZWxzZWlmKCR7Y29uZmlnfSBTVFJFUVVBTCAiTWluU2l6ZVJlbCIp CisgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0FyZyBpc19kZWJ1Zz1mYWxzZSBzeW1ib2xfbGV2 ZWw9MCBvcHRpbWl6ZV9mb3Jfc2l6ZT10cnVlKQorKyAgICBlbHNlaWYoJHtjb25maWd9IFNUUkVR VUFMICJOb25lIikKKysgICAgICAgIGxpc3QoQVBQRU5EIGduQXJnQXJnIGlzX2RlYnVnPWZhbHNl IHN5bWJvbF9sZXZlbD0wKQorICAgICBlbmRpZigpCisgICAgIGlmKEZFQVRVUkVfZGV2ZWxvcGVy X2J1aWxkIE9SICgke2NvbmZpZ30gU1RSRVFVQUwgIkRlYnVnIikgT1IgUVRfRkVBVFVSRV93ZWJl bmdpbmVfc2FuaXRpemVyKQorICAgICAgICAgbGlzdChBUFBFTkQgZ25BcmdBcmcKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDMtY3Jvc3MtaGFjay5wYXRjaCBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDMtY3Jvc3MtaGFjay5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmVhOWY5MDA5NGE2MwotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDMtY3Jvc3MtaGFj ay5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gYS9zcmMvY29yZS9hcGkvQ01ha2VMaXN0cy50 eHQKKysrKyBiL3NyYy9jb3JlL2FwaS9DTWFrZUxpc3RzLnR4dAorQEAgLTUwLDYgKzUwLDcgQEAg cXRfaW50ZXJuYWxfYWRkX21vZHVsZShXZWJFbmdpbmVDb3JlCisgICAgICAgICBRdDo6R3VpCisg ICAgICAgICBRdDo6TmV0d29yaworICAgICAgICAgUXQ6OlF1aWNrCisrICAgICAgICBYMTEKKyAp CisgCisgc2V0X3RhcmdldF9wcm9wZXJ0aWVzKFdlYkVuZ2luZUNvcmUgUFJPUEVSVElFUyBRVFdF QkVOR0lORVBST0NFU1NfTkFNRSAke3F0V2ViRW5naW5lUHJvY2Vzc05hbWV9KQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVj ay5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwNTAtbm8tZ2xpYmMtY21h a2UtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5m NzU2YmYwMjg2YmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMDUwLW5vLWdsaWJjLWNtYWtlLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKKy0t LSBhL2NvbmZpZ3VyZS5jbWFrZQorKysrIGIvY29uZmlndXJlLmNtYWtlCitAQCAtNDk5LDExICs0 OTksNiBAQCBhZGRfY2hlY2tfZm9yX3N1cHBvcnQoCisgKQorIGFkZF9jaGVja19mb3Jfc3VwcG9y dCgKKyAgICBNT0RVTEVTIFF0V2ViRW5naW5lIFF0UGRmCistICAgQ09ORElUSU9OIE5PVCBMSU5V WCBPUiBURVNUX2dsaWJjCistICAgTUVTU0FHRSAiQSBzdWl0YWJsZSB2ZXJzaW9uID49IDIuMTcg b2YgZ2xpYmMgaXMgcmVxdWlyZWQuIgorLSkKKy1hZGRfY2hlY2tfZm9yX3N1cHBvcnQoCistICAg TU9EVUxFUyBRdFdlYkVuZ2luZSBRdFBkZgorICAgIENPTkRJVElPTiBOT1QgTElOVVggT1IgVEVT VF9raHIKKyAgICBNRVNTQUdFICJCdWlsZCByZXF1aXJlcyBLaHJvbm9zIGRldmVsb3BtZW50IGhl YWRlcnMgZm9yIGJ1aWxkIC0gc2VlIG1lc2EvbGliZWdsMS1tZXNhLWRldiIKKyApCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAwLWNocm9taXVtLXNhbmRib3gt bWVtYmFycmllci5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hy b21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uMmRkN2I0YWE5NDhmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1zYW5kYm94LW1lbWJhcnJpZXIucGF0 Y2gKQEAgLTAsMCArMSw1OCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9z ZXRzLmNjCitAQCAtNDEzLDYgKzQxMyw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFBy b2Nlc3NTdGFydE8KKyAgIHN3aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2V4aXQ6Cisg ICAgIGNhc2UgX19OUl9leGl0X2dyb3VwOgorKyAgICBjYXNlIF9fTlJfbWVtYmFycmllcjoKKyAg ICAgY2FzZSBfX05SX3dhaXQ0OgorICAgICBjYXNlIF9fTlJfd2FpdGlkOgorICNpZiBkZWZpbmVk KF9faTM4Nl9fKQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lz dGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMu aAorQEAgLTEyMTUsNCArMTIxNSw4IEBACisgI2RlZmluZSBfX05SX2xhbmRsb2NrX3Jlc3RyaWN0 X3NlbGYgNDQ2CisgI2VuZGlmCisgCisrI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmllcikKKysj ZGVmaW5lIF9fTlJfbWVtYmFycmllciAyODMKKysjZW5kaWYKKysKKyAjZW5kaWYgIC8vIFNBTkRC T1hfTElOVVhfU1lTVEVNX0hFQURFUlNfQVJNNjRfTElOVVhfU1lTQ0FMTFNfSF8KKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9saW51 eF9zeXNjYWxscy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMuaAorQEAgLTE2MTcsNiArMTYxNywxMCBA QAorICNkZWZpbmUgX19OUl9sYW5kbG9ja19yZXN0cmljdF9zZWxmIChfX05SX1NZU0NBTExfQkFT RSArIDQ0NikKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNk ZWZpbmUgX19OUl9tZW1iYXJyaWVyIChfX05SX1NZU0NBTExfQkFTRSszODkpCisrI2VuZGlmCisr CisgLy8gQVJNIHByaXZhdGUgc3lzY2FsbHMuCisgI2lmICFkZWZpbmVkKF9fQVJNX05SX0JBU0Up CisgI2RlZmluZSBfX0FSTV9OUl9CQVNFIChfX05SX1NZU0NBTExfQkFTRSArIDB4RjAwMDApCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94 ODZfMzJfbGludXhfc3lzY2FsbHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRi b3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzMyX2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xNzUw LDUgKzE3NTAsOSBAQAorICNkZWZpbmUgX19OUl9sYW5kbG9ja19yZXN0cmljdF9zZWxmIDQ0Ngor ICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05S X21lbWJhcnJpZXIgMzc1CisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZ U1RFTV9IRUFERVJTX1g4Nl8zMl9MSU5VWF9TWVNDQUxMU19IXworIAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMveDg2XzY0X2xpbnV4X3N5 c2NhbGxzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL3g4Nl82NF9saW51eF9zeXNjYWxscy5oCitAQCAtMTQzOCw1ICsxNDM4LDkgQEAK KyAjZGVmaW5lIF9fTlJfbGFuZGxvY2tfcmVzdHJpY3Rfc2VsZiA0NDYKKyAjZW5kaWYKKyAKKysj aWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNkZWZpbmUgX19OUl9tZW1iYXJyaWVyIDMy NAorKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19Y ODZfNjRfTElOVVhfU1lTQ0FMTFNfSF8KKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMDEtc2l6ZV90LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwMS1zaXplX3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5mY2NjMDg1ZGEzMTEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTAxLXNpemVfdC5wYXRjaApAQCAtMCwwICsxLDE2IEBACistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9wbGF0Zm9ybS9Q bGF0Zm9ybU1ldGhvZHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2FuZ2xlL2luY2x1ZGUvcGxhdGZvcm0vUGxhdGZvcm1NZXRob2RzLmgKK0BAIC0yMzksMTEgKzIz OSwxMSBAQCBpbmxpbmUgdm9pZCBEZWZhdWx0T3ZlcnJpZGVGZWF0dXJlc010bChQCisgdXNpbmcg UHJvZ3JhbUtleVR5cGUgICA9IHN0ZDo6YXJyYXk8dWludDhfdCwgMjA+OworIHVzaW5nIENhY2hl UHJvZ3JhbUZ1bmMgPSB2b2lkICgqKShQbGF0Zm9ybU1ldGhvZHMgKnBsYXRmb3JtLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQcm9ncmFtS2V5VHlwZSAma2V5LAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgcHJvZ3JhbVNpemUsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6c2l6ZV90IHByb2dyYW1TaXpl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpwcm9n cmFtQnl0ZXMpOworIGlubGluZSB2b2lkIERlZmF1bHRDYWNoZVByb2dyYW0oUGxhdGZvcm1NZXRo b2RzICpwbGF0Zm9ybSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFBy b2dyYW1LZXlUeXBlICZrZXksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl X3QgcHJvZ3JhbVNpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6OnNp emVfdCBwcm9ncmFtU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHVpbnQ4X3QgKnByb2dyYW1CeXRlcykKKyB7fQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1bS05MC1ydXktaW5jbHVkZS5wYXRjaCBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDItY2hyb21pdW0tOTAtcnV5LWluY2x1ZGUu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYmJhNTc5MDc2 ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAy LWNocm9taXVtLTkwLXJ1eS1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK0Zyb20gNzE0 MDkyZjMzNmJiMTRkMmZjYzI3Mzk2ZWMzMjNiM2Q4NDNiYjk2MiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KK0Rh dGU6IFRodSwgNCBNYXIgMjAyMSAxNTowNTo0NiArMDAwMAorU3ViamVjdDogW1BBVENIXSBJV1lV OiBpbmNsdWRlIGxpbWl0cyBmb3Igc3RkOjpudW1lcmljX2xpbWl0cworCistLS0KKyB0aGlyZF9w YXJ0eS9ydXkvc3JjL3J1eS9ibG9ja19tYXAuY2MgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKykKKworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3J1 eS9zcmMvcnV5L2Jsb2NrX21hcC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L3J1eS9zcmMvcnV5L2Jsb2NrX21hcC5jYworQEAgLTE3LDYgKzE3LDcgQEAgbGltaXRh dGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgCisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKyAjaW5j bHVkZSA8Y3N0ZGludD4KKysjaW5jbHVkZSA8bGltaXRzPgorIAorICNpZmRlZiBSVVlfTUFLRUJM T0NLTUFQX0RFQlVHCisgI2luY2x1ZGUgPGNzdGRpbz4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hyb21pdW0tdjgtbW9ub3RvbmljLXB0aHJlYWQtY29u dF90aW1lZHdhaXQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAzLWNo cm9taXVtLXY4LW1vbm90b25pYy1wdGhyZWFkLWNvbnRfdGltZWR3YWl0LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMWRjOGJjNGQzZDE3Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMy1jaHJvbWl1bS12OC1t b25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaApAQCAtMCwwICsxLDIyIEBACitV c2UgbW9ub3RvbmljIGNsb2NrIGZvciBwdGhyZWFkX2NvbmRfdGltZWR3YWl0IHdpdGggbXVzbCB0 b28uCisKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9j b25kaXRpb24tdmFyaWFibGUuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMv YmFzZS9wbGF0Zm9ybS9jb25kaXRpb24tdmFyaWFibGUuY2MKK0BAIC0yMCw3ICsyMCw3IEBAIG5h bWVzcGFjZSBiYXNlIHsKKyAKKyBDb25kaXRpb25WYXJpYWJsZTo6Q29uZGl0aW9uVmFyaWFibGUo KSB7CisgI2lmIChWOF9PU19GUkVFQlNEIHx8IFY4X09TX05FVEJTRCB8fCBWOF9PU19PUEVOQlNE IHx8IFwKKy0gICAgIChWOF9PU19MSU5VWCAmJiBWOF9MSUJDX0dMSUJDKSkKKysgICAgIFY4X09T X0xJTlVYKQorICAgLy8gT24gRnJlZS9OZXQvT3BlbkJTRCBhbmQgTGludXggd2l0aCBnbGliYyB3 ZSBjYW4gY2hhbmdlIHRoZSB0aW1lCisgICAvLyBzb3VyY2UgZm9yIHB0aHJlYWRfY29uZF90aW1l ZHdhaXQoKSB0byB1c2UgdGhlIG1vbm90b25pYyBjbG9jay4KKyAgIHB0aHJlYWRfY29uZGF0dHJf dCBhdHRyOworQEAgLTk2LDcgKzk2LDcgQEAgYm9vbCBDb25kaXRpb25WYXJpYWJsZTo6V2FpdEZv cihNdXRleCogbQorICAgICAgICZuYXRpdmVfaGFuZGxlXywgJm11dGV4LT5uYXRpdmVfaGFuZGxl KCksICZ0cyk7CisgI2Vsc2UKKyAjaWYgKFY4X09TX0ZSRUVCU0QgfHwgVjhfT1NfTkVUQlNEIHx8 IFY4X09TX09QRU5CU0QgfHwgXAorLSAgICAgKFY4X09TX0xJTlVYICYmIFY4X0xJQkNfR0xJQkMp KQorKyAgICAgVjhfT1NfTElOVVgpCisgICAvLyBPbiBGcmVlL05ldC9PcGVuQlNEIGFuZCBMaW51 eCB3aXRoIGdsaWJjIHdlIGNhbiBjaGFuZ2UgdGhlIHRpbWUKKyAgIC8vIHNvdXJjZSBmb3IgcHRo cmVhZF9jb25kX3RpbWVkd2FpdCgpIHRvIHVzZSB0aGUgbW9ub3RvbmljIGNsb2NrLgorICAgcmVz dWx0ID0gY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0cyk7CmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNocm9taXVtLXJldmVydC05ZDA4MGMw LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNC1jaHJvbWl1bS1yZXZl cnQtOWQwODBjMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjQyYjFlZTllYzA2MwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2gKQEAgLTAsMCArMSwxNjIg QEAKKyBPcmlnaW5hbCBjaGFuZ2UncyBkZXNjcmlwdGlvbjoKKyA+IFJlcGxhY2UgJ2JsYWNrbGlz dCcgd2l0aCAnaWdub3JlbGlzdCcgaW4gLi90b29scy9tc2FuLy4KKyA+CisgPiBCdWc6IDEwOTcy NzIsIDEwOTcyNjgKKyA+IENoYW5nZS1JZDogSWQ1YzgyMjdhNWJmYjFmZmFlYzgyZDMxNjhiNjA5 MDg1YjEwYzgyOTcKKyA+IFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29n bGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjg2NzczMAorID4gQ29tbWl0LVF1ZXVlOiBE eWxhbiBDdXRsZXIgPGR5bGFuY3V0bGVyQGdvb2dsZS5jb20+CisgPiBSZXZpZXdlZC1ieTogTmlj byBXZWJlciA8dGhha2lzQGNocm9taXVtLm9yZz4KKyA+IFJldmlld2VkLWJ5OiBKb25hdGhhbiBN ZXR6bWFuIDxtZXR6bWFuQGNocm9taXVtLm9yZz4KKyA+IENyLUNvbW1pdC1Qb3NpdGlvbjogcmVm cy9oZWFkcy9tYXN0ZXJAeyM4ODMwMzV9CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVp bGQvY29uZmlnL3Nhbml0aXplcnMvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9idWlsZC9jb25maWcvc2FuaXRpemVycy9CVUlMRC5nbgorQEAgLTI3MiwxMSArMjcyLDExIEBA IGNvbmZpZygiYXNhbl9mbGFncyIpIHsKKyAgIGlmIChpc19hc2FuKSB7CisgICAgIGNmbGFncyAr PSBbICItZnNhbml0aXplPWFkZHJlc3MiIF0KKyAgICAgaWYgKGlzX3dpbikgeworLSAgICAgIGlm ICghZGVmaW5lZChhc2FuX3dpbl9ibG9ja2xpc3RfcGF0aCkpIHsKKy0gICAgICAgIGFzYW5fd2lu X2Jsb2NrbGlzdF9wYXRoID0KKysgICAgICBpZiAoIWRlZmluZWQoYXNhbl93aW5fYmxhY2tsaXN0 X3BhdGgpKSB7CisrICAgICAgICBhc2FuX3dpbl9ibGFja2xpc3RfcGF0aCA9CisgICAgICAgICAg ICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbWVtb3J5L2FzYW4vYmxvY2tsaXN0X3dpbi50eHQiLCBy b290X2J1aWxkX2RpcikKKyAgICAgICB9CistICAgICAgY2ZsYWdzICs9IFsgIi1mc2FuaXRpemUt aWdub3JlbGlzdD0kYXNhbl93aW5fYmxvY2tsaXN0X3BhdGgiIF0KKysgICAgICBjZmxhZ3MgKz0g WyAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JGFzYW5fd2luX2JsYWNrbGlzdF9wYXRoIiBdCisgICAg IH0KKyAgIH0KKyB9CitAQCAtMzA2LDEzICszMDYsMTMgQEAgY29uZmlnKCJsaW5rX3NoYXJlZF9s aWJyYXJ5IikgeworIGNvbmZpZygiY2ZpX2ZsYWdzIikgeworICAgY2ZsYWdzID0gW10KKyAgIGlm IChpc19jZmkgJiYgY3VycmVudF90b29sY2hhaW4gPT0gZGVmYXVsdF90b29sY2hhaW4pIHsKKy0g ICAgaWYgKCFkZWZpbmVkKGNmaV9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgY2ZpX2lnbm9y ZWxpc3RfcGF0aCA9CisrICAgIGlmICghZGVmaW5lZChjZmlfYmxhY2tsaXN0X3BhdGgpKSB7Cisr ICAgICAgY2ZpX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9v bHMvY2ZpL2lnbm9yZXMudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdz ICs9IFsKKyAgICAgICAiLWZzYW5pdGl6ZT1jZmktdmNhbGwiLAorLSAgICAgICItZnNhbml0aXpl LWlnbm9yZWxpc3Q9JGNmaV9pZ25vcmVsaXN0X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJs YWNrbGlzdD0kY2ZpX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorIAorICAgICBpZiAodXNlX2Nm aV9jYXN0KSB7CitAQCAtNDA5LDE0ICs0MDksMTQgQEAgY29uZmlnKCJtc2FuX2ZsYWdzIikgewor ICAgaWYgKGlzX21zYW4pIHsKKyAgICAgYXNzZXJ0KGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zLAor ICAgICAgICAgICAgIm1zYW4gb25seSBzdXBwb3J0ZWQgb24gbGludXggeDg2XzY0L0Nocm9tZU9T IikKKy0gICAgaWYgKCFkZWZpbmVkKG1zYW5faWdub3JlbGlzdF9wYXRoKSkgeworLSAgICAgIG1z YW5faWdub3JlbGlzdF9wYXRoID0KKy0gICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbXNh bi9pZ25vcmVsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQorKyAgICBpZiAoIWRlZmluZWQobXNh bl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICBtc2FuX2JsYWNrbGlzdF9wYXRoID0KKysgICAg ICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbXNhbi9ibGFja2xpc3QudHh0Iiwgcm9vdF9idWls ZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdzID0gWworICAgICAgICItZnNhbml0aXplPW1lbW9y eSIsCisgICAgICAgIi1mc2FuaXRpemUtbWVtb3J5LXRyYWNrLW9yaWdpbnM9JG1zYW5fdHJhY2tf b3JpZ2lucyIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kbXNhbl9pZ25vcmVsaXN0 X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kbXNhbl9ibGFja2xpc3RfcGF0 aCIsCisgICAgIF0KKyAgIH0KKyB9CitAQCAtNDI0LDEzICs0MjQsMTMgQEAgY29uZmlnKCJtc2Fu X2ZsYWdzIikgeworIGNvbmZpZygidHNhbl9mbGFncyIpIHsKKyAgIGlmIChpc190c2FuKSB7Cisg ICAgIGFzc2VydChpc19saW51eCB8fCBpc19jaHJvbWVvcywgInRzYW4gb25seSBzdXBwb3J0ZWQg b24gbGludXggeDg2XzY0IikKKy0gICAgaWYgKCFkZWZpbmVkKHRzYW5faWdub3JlbGlzdF9wYXRo KSkgeworLSAgICAgIHRzYW5faWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKHRz YW5fYmxhY2tsaXN0X3BhdGgpKSB7CisrICAgICAgdHNhbl9ibGFja2xpc3RfcGF0aCA9CisgICAg ICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL21lbW9yeS90c2FuX3YyL2lnbm9yZXMudHh0Iiwg cm9vdF9idWlsZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdzID0gWworICAgICAgICItZnNhbml0 aXplPXRocmVhZCIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdHNhbl9pZ25vcmVs aXN0X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdHNhbl9ibGFja2xpc3Rf cGF0aCIsCisgICAgIF0KKyAgIH0KKyB9CitAQCAtNDM4LDggKzQzOCw4IEBAIGNvbmZpZygidHNh bl9mbGFncyIpIHsKKyBjb25maWcoInVic2FuX2ZsYWdzIikgeworICAgY2ZsYWdzID0gW10KKyAg IGlmIChpc191YnNhbikgeworLSAgICBpZiAoIWRlZmluZWQodWJzYW5faWdub3JlbGlzdF9wYXRo KSkgeworLSAgICAgIHVic2FuX2lnbm9yZWxpc3RfcGF0aCA9CisrICAgIGlmICghZGVmaW5lZCh1 YnNhbl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICB1YnNhbl9ibGFja2xpc3RfcGF0aCA9Cisg ICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2FuL2lnbm9yZWxpc3QudHh0Iiwgcm9v dF9idWlsZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdzICs9IFsKK0BAIC00NTYsNyArNDU2LDcg QEAgY29uZmlnKCJ1YnNhbl9mbGFncyIpIHsKKyAgICAgICAiLWZzYW5pdGl6ZT1zaWduZWQtaW50 ZWdlci1vdmVyZmxvdyIsCisgICAgICAgIi1mc2FuaXRpemU9dW5yZWFjaGFibGUiLAorICAgICAg ICItZnNhbml0aXplPXZsYS1ib3VuZCIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0k dWJzYW5faWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JHVi c2FuX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAgICBpZiAoIWlzX2NsYW5nKSB7CisgICAg ICAgIyBUaGVzZSBleHBvc2VzIHRvbyBtdWNoIGlsbGVnYWwgQysrMTQgY29kZSB0byBjb21waWxl IG9uIGFueXRoaW5nIHN0cmljdGVyIHRoYW4gY2xhbmc6CitAQCAtNDk3LDggKzQ5Nyw4IEBAIGNv bmZpZygidWJzYW5fbm9fcmVjb3ZlciIpIHsKKyAKKyBjb25maWcoInVic2FuX3NlY3VyaXR5X2Zs YWdzIikgeworICAgaWYgKGlzX3Vic2FuX3NlY3VyaXR5KSB7CistICAgIGlmICghZGVmaW5lZCh1 YnNhbl9zZWN1cml0eV9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgdWJzYW5fc2VjdXJpdHlf aWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKHVic2FuX3NlY3VyaXR5X2JsYWNr bGlzdF9wYXRoKSkgeworKyAgICAgIHVic2FuX3NlY3VyaXR5X2JsYWNrbGlzdF9wYXRoID0KKyAg ICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvdWJzYW4vc2VjdXJpdHlfaWdub3JlbGlzdC50 eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCitAQCAtNTA2LDcg KzUwNiw3IEBAIGNvbmZpZygidWJzYW5fc2VjdXJpdHlfZmxhZ3MiKSB7CisgICAgICAgIi1mc2Fu aXRpemU9c2hpZnQiLAorICAgICAgICItZnNhbml0aXplPXNpZ25lZC1pbnRlZ2VyLW92ZXJmbG93 IiwKKyAgICAgICAiLWZzYW5pdGl6ZT12bGEtYm91bmQiLAorLSAgICAgICItZnNhbml0aXplLWln bm9yZWxpc3Q9JHVic2FuX3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1mc2Fu aXRpemUtYmxhY2tsaXN0PSR1YnNhbl9zZWN1cml0eV9ibGFja2xpc3RfcGF0aCIsCisgICAgIF0K KyAgIH0KKyB9CitAQCAtNTE5LDEzICs1MTksMTMgQEAgY29uZmlnKCJ1YnNhbl9udWxsX2ZsYWdz IikgeworIAorIGNvbmZpZygidWJzYW5fdnB0cl9mbGFncyIpIHsKKyAgIGlmIChpc191YnNhbl92 cHRyKSB7CistICAgIGlmICghZGVmaW5lZCh1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCkpIHsK Ky0gICAgICB1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCA9CisrICAgIGlmICghZGVmaW5lZCh1 YnNhbl92cHRyX2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAgIHVic2FuX3ZwdHJfYmxhY2tsaXN0 X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy91YnNhbi92cHRyX2lnbm9y ZWxpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdzID0gWworICAg ICAgICItZnNhbml0aXplPXZwdHIiLAorLSAgICAgICItZnNhbml0aXplLWlnbm9yZWxpc3Q9JHVi c2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9 JHVic2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGgiLAorICAgICBdCisgICAgIGlmICghaXNfY2xhbmcp IHsKKyAgICAgICAjIENsYW5nIHNwZWNpZmljIGZsYWc6CistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vYnVpbGRfb3ZlcnJpZGVzL2J1aWxkLmduaQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL2J1aWxkX292ZXJyaWRlcy9idWlsZC5nbmkKK0BAIC00MywxNSArNDMsMTUgQEAgZGVjbGFy ZV9hcmdzKCkgeworICMgQWxsb3dzIGRpZmZlcmVudCBwcm9qZWN0cyB0byBzcGVjaWZ5IHRoZWly IG93biBzdXBwcmVzc2lvbi9pZ25vcmUgbGlzdHMgZm9yCisgIyBzYW5pdGl6ZXIgdG9vbHMuCisg IyBhc2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vYXNhbl9zdXBwcmVzc2lvbnMuY2Mi CistIyBhc2FuX3dpbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by9hc2FuL2Jsb2NrbGlzdF93 aW4udHh0IgorKyMgYXNhbl93aW5fYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9hc2FuL2Jsb2Nr bGlzdF93aW4udHh0IgorICMgbHNhbl9zdXBwcmVzc2lvbnNfZmlsZSA9ICJwYXRoL3RvL2xzYW5f c3VwcHJlc3Npb25zLmNjIgorICMgdHNhbl9zdXBwcmVzc2lvbnNfZmlsZSA9ICJwYXRoL3RvL3Rz YW5fc3VwcHJlc3Npb25zLmNjIgorLSMgdHNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by90 c2FuL2lnbm9yZXMudHh0IgorLSMgbXNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by9tc2Fu L2lnbm9yZWxpc3QudHh0IgorLSMgdWJzYW5faWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vdWJz YW4vaWdub3JlbGlzdC50eHQiCistIyB1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRo L3RvL3Vic2FuL3ZwdHJfaWdub3JlbGlzdC50eHQiCistIyB1YnNhbl9zZWN1cml0eV9pZ25vcmVs aXN0X3BhdGggPSAicGF0aC90by91YnNhbi9zZWN1cml0eV9pZ25vcmVsaXN0LnR4dCIKKy0jIGNm aV9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by9jZmkvaWdub3Jlcy50eHQiCisrIyB0c2FuX2Js YWNrbGlzdF9wYXRoID0gInBhdGgvdG8vdHNhbi9pZ25vcmVzLnR4dCIKKysjIG1zYW5fYmxhY2ts aXN0X3BhdGggPSAicGF0aC90by9tc2FuL2JsYWNrbGlzdC50eHQiCisrIyB1YnNhbl9ibGFja2xp c3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL2JsYWNrbGlzdC50eHQiCisrIyB1YnNhbl92cHRyX2Js YWNrbGlzdF9wYXRoID0gInBhdGgvdG8vdWJzYW4vdnB0cl9ibGFja2xpc3QudHh0IgorKyMgdWJz YW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi9zZWN1cml0eV9ibGFj a2xpc3QudHh0IgorKyMgY2ZpX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vY2ZpL2lnbm9yZXMu dHh0IgorIAorIGRlY2xhcmVfYXJncygpIHsKKyAgICMgQW5kcm9pZCAzMi1iaXQgbm9uLWNvbXBv bmVudCwgbm9uLWNsYW5nIGJ1aWxkcyBjYW5ub3QgaGF2ZSBzeW1ib2xfbGV2ZWw9MgpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNS1jaHJvbWl1bS1yZXZlcnQt ZHJvcC1vZi1zeXN0ZW0tamF2YS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAxMDUtY2hyb21pdW0tcmV2ZXJ0LWRyb3Atb2Ytc3lzdGVtLWphdmEucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40NGYzYWE4ZmFlNWUKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJldmVy dC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgd2FzIGRy b3BwZWQgZm9yIHNvbWUgcmVhc29uIGluIDY5NTFjMzdjZWNkMDU5NzliMjMyYTM5ZTVjMTBlNjM0 NmEwZjc0ZWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jbG9zdXJl X2NvbXBpbGVyL2NvbXBpbGVyLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvY2xvc3VyZV9jb21waWxlci9jb21waWxlci5weQorQEAgLTEzLDggKzEzLDkgQEAgaW1w b3J0IHN1YnByb2Nlc3MKKyAKKyAKKyBfQ1VSUkVOVF9ESVIgPSBvcy5wYXRoLmpvaW4ob3MucGF0 aC5kaXJuYW1lKF9fZmlsZV9fKSkKKy1fSkFWQV9QQVRIID0gb3MucGF0aC5qb2luKF9DVVJSRU5U X0RJUiwgIi4uIiwgImpkayIsICJjdXJyZW50IiwgImJpbiIsICJqYXZhIikKKy1hc3NlcnQgb3Mu cGF0aC5pc2ZpbGUoX0pBVkFfUEFUSCksICJqYXZhIG9ubHkgYWxsb3dlZCBpbiBhbmRyb2lkIGJ1 aWxkcyIKKytfSkFWQV9CSU4gPSAiamF2YSIKKytfSkRLX1BBVEggPSBvcy5wYXRoLmpvaW4oX0NV UlJFTlRfRElSLCAiLi4iLCAiamRrIiwgImN1cnJlbnQiLCAiYmluIiwgImphdmEiKQorK19KQVZB X1BBVEggPSBfSkRLX1BBVEggaWYgb3MucGF0aC5pc2ZpbGUoX0pES19QQVRIKSBlbHNlIF9KQVZB X0JJTgorIAorIGNsYXNzIENvbXBpbGVyKG9iamVjdCk6CisgICAiIiJSdW5zIHRoZSBDbG9zdXJl IGNvbXBpbGVyIG9uIGdpdmVuIHNvdXJjZSBmaWxlcyB0byB0eXBlY2hlY2sgdGhlbQpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0t bm9kZWpzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNi1jaHJvbWl1 bS1zeXN0ZW0tbm9kZWpzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uMWUwNjdjYzZlZGEwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoCkBAIC0wLDAgKzEs MjAgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ub2RlL25vZGUu cHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ub2RlL25vZGUucHkK K0BAIC0zNiwxMSArMzYsMTIgQEAgZGVmIEdldEJpbmFyeVBhdGgoKToKKyAgIGlmIHBsYXRmb3Jt LnN5c3RlbSgpID09ICdEYXJ3aW4nIGFuZCBwbGF0Zm9ybS5tYWNoaW5lKCkgPT0gJ2FybTY0JzoK KyAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKG9zX3BhdGguam9pbihvc19wYXRoLmRpcm5hbWUo X19maWxlX18pLCAnbWFjJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdub2RlLWRhcndp bi1hcm02NCcsICdiaW4nLCAnbm9kZScpKQorLSAgcmV0dXJuIG9zX3BhdGguam9pbihvc19wYXRo LmRpcm5hbWUoX19maWxlX18pLCAqeworLSAgICAnRGFyd2luJzogKCdtYWMnLCAnbm9kZS1kYXJ3 aW4teDY0JywgJ2JpbicsICdub2RlJyksCistICAgICdMaW51eCc6ICgnbGludXgnLCAnbm9kZS1s aW51eC14NjQnLCAnYmluJywgJ25vZGUnKSwKKy0gICAgJ1dpbmRvd3MnOiAoJ3dpbicsICdub2Rl LmV4ZScpLAorLSAgfVtwbGF0Zm9ybS5zeXN0ZW0oKV0pCisrICByZXR1cm4gIi91c3IvYmluL25v ZGUiCisrICAjcmV0dXJuIG9zX3BhdGguam9pbihvc19wYXRoLmRpcm5hbWUoX19maWxlX18pLCAq eworKyAgIyAgJ0Rhcndpbic6ICgnbWFjJywgJ25vZGUtZGFyd2luLXg2NCcsICdiaW4nLCAnbm9k ZScpLAorKyAgIyAgJ0xpbnV4JzogKCdsaW51eCcsICdub2RlLWxpbnV4LXg2NCcsICdiaW4nLCAn bm9kZScpLAorKyAgIyAgJ1dpbmRvd3MnOiAoJ3dpbicsICdub2RlLmV4ZScpLAorKyAgI31bcGxh dGZvcm0uc3lzdGVtKCldKQorIAorIAorIGRlZiBSdW5Ob2RlKGNtZF9wYXJ0cywgc3Rkb3V0PU5v bmUpOgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJv bWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwNy1jaHJvbWl1bS1jdXJzZWReVXNjb3BlZF9maWxlLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYThmNWQ5NzE4ODNkCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1bS1jdXJzZWRe VXNjb3BlZF9maWxlLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9iYXNlL2ZpbGVzL3Njb3BlZF9maWxlX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vYmFzZS9maWxlcy9zY29wZWRfZmlsZV9saW51eC5jYworQEAgLTc3LDE1ICs3 NywzIEBAIGJvb2wgSXNGRE93bmVkKGludCBmZCkgeworIH0KKyAKKyB9ICAvLyBuYW1lc3BhY2Ug YmFzZQorLQorLWV4dGVybiAiQyIgeworLQorLWludCBfX2Nsb3NlKGludCk7CistCistX19hdHRy aWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpLCBub2lubGluZSkpIGludCBjbG9zZShpbnQg ZmQpIHsKKy0gIGlmIChiYXNlOjpJc0ZET3duZWQoZmQpICYmIGdfaXNfb3duZXJzaGlwX2VuZm9y Y2VkKQorLSAgICBDcmFzaE9uRmRPd25lcnNoaXBWaW9sYXRpb24oKTsKKy0gIHJldHVybiBfX2Ns b3NlKGZkKTsKKy19CistCistfSAgLy8gZXh0ZXJuICJDIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOC1jaHJvbWl1bS1maXgtbmFycm93aW5nLWNhc3QucGF0 Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA4LWNocm9taXVtLWZpeC1uYXJy b3dpbmctY2FzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LmVkMzJjZDliNzQxNQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMDgtY2hyb21pdW0tZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoCkBAIC0wLDAgKzEs NTMgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2ZpbGVzL2ZpbGVfdXRpbF9s aW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMvZmlsZV91dGls X2xpbnV4LmNjCitAQCAtMjMsMTQgKzIzLDE0IEBAIGJvb2wgR2V0RmlsZVN5c3RlbVR5cGUoY29u c3QgRmlsZVBhdGgmIHAKKyAKKyAgIC8vIE5vdCBhbGwgcG9zc2libGUgfHN0YXRmc19idWYuZl90 eXBlfCB2YWx1ZXMgYXJlIGluIGxpbnV4L21hZ2ljLmguCisgICAvLyBNaXNzaW5nIHZhbHVlcyBh cmUgY29waWVkIGZyb20gdGhlIHN0YXRmcyBtYW4gcGFnZS4KKy0gIHN3aXRjaCAoc3RhdGZzX2J1 Zi5mX3R5cGUpIHsKKysgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8dWludG1heF90PihzdGF0ZnNfYnVm LmZfdHlwZSkpIHsKKyAgICAgY2FzZSAwOgorICAgICAgICp0eXBlID0gRklMRV9TWVNURU1fMDsK KyAgICAgICBicmVhazsKKyAgICAgY2FzZSBFWFQyX1NVUEVSX01BR0lDOiAgLy8gQWxzbyBleHQz IGFuZCBleHQ0CisgICAgIGNhc2UgTVNET1NfU1VQRVJfTUFHSUM6CisgICAgIGNhc2UgUkVJU0VS RlNfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihCVFJGU19TVVBFUl9N QUdJQyk6CisrICAgIGNhc2UgQlRSRlNfU1VQRVJfTUFHSUM6CisgICAgIGNhc2UgMHg1MzQ2NTQ0 RTogIC8vIE5URlMKKyAgICAgY2FzZSAweDU4NDY1MzQyOiAgLy8gWEZTCisgICAgIGNhc2UgMHgz MTUzNDY0QTogIC8vIEpGUworQEAgLTQwLDE0ICs0MCwxNCBAQCBib29sIEdldEZpbGVTeXN0ZW1U eXBlKGNvbnN0IEZpbGVQYXRoJiBwCisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9ORlM7Cisg ICAgICAgYnJlYWs7CisgICAgIGNhc2UgU01CX1NVUEVSX01BR0lDOgorLSAgICBjYXNlIHN0YXRp Y19jYXN0PGludD4oMHhGRjUzNEQ0Mik6ICAvLyBDSUZTCisrICAgIGNhc2UgMHhGRjUzNEQ0Mjog IC8vIENJRlMKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX1NNQjsKKyAgICAgICBicmVhazsK KyAgICAgY2FzZSBDT0RBX1NVUEVSX01BR0lDOgorICAgICAgICp0eXBlID0gRklMRV9TWVNURU1f Q09EQTsKKyAgICAgICBicmVhazsKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KEhVR0VUTEJG U19NQUdJQyk6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihSQU1GU19NQUdJQyk6CisrICAg IGNhc2UgSFVHRVRMQkZTX01BR0lDOgorKyAgICBjYXNlIFJBTUZTX01BR0lDOgorICAgICBjYXNl IFRNUEZTX01BR0lDOgorICAgICAgICp0eXBlID0gRklMRV9TWVNURU1fTUVNT1JZOworICAgICAg IGJyZWFrOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uvc3lzdGVtL3N5c19pbmZv X3Bvc2l4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9zeXN0ZW0vc3lzX2lu Zm9fcG9zaXguY2MKK0BAIC0xMDAsMTAgKzEwMCwxMCBAQCBib29sIElzU3RhdHNaZXJvSWZVbmxp bWl0ZWQoY29uc3QgYmFzZTo6CisgICBpZiAoSEFORExFX0VJTlRSKHN0YXRmcyhwYXRoLnZhbHVl KCkuY19zdHIoKSwgJnN0YXRzKSkgIT0gMCkKKyAgICAgcmV0dXJuIGZhbHNlOworIAorLSAgc3dp dGNoIChzdGF0cy5mX3R5cGUpIHsKKysgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8dWludG1heF90Pihz dGF0cy5mX3R5cGUpKSB7CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6CistICAgIGNhc2Ugc3RhdGlj X2Nhc3Q8aW50PihIVUdFVExCRlNfTUFHSUMpOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4o UkFNRlNfTUFHSUMpOgorKyAgICBjYXNlIEhVR0VUTEJGU19NQUdJQzoKKysgICAgY2FzZSBSQU1G U19NQUdJQzoKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgIH0KKyAgIHJldHVybiBmYWxzZTsKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDktY2hyb21pdW0tcmVt b3ZlLXN0cmlwX2JpbmFyeS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MDktY2hyb21pdW0tcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjVlYmQxNmU2NTlhZgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDktY2hyb21pdW0tcmVtb3ZlLXN0cmlwX2Jp bmFyeS5wYXRjaApAQCAtMCwwICsxLDMyIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v Y2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL0JVSUxELmduCitAQCAtMzA4LDExICszMDgs NyBAQCBzb3VyY2Vfc2V0KCJsaWIiKSB7CisgICB9CisgfQorIAorLWlmIChpc19saW51eCkgewor LSAgY2hyb21lZHJpdmVyX291dHB1dCA9ICJjaHJvbWVkcml2ZXIudW5zdHJpcHBlZCIKKy19IGVs c2UgeworLSAgY2hyb21lZHJpdmVyX291dHB1dCA9ICJjaHJvbWVkcml2ZXIiCistfQorK2Nocm9t ZWRyaXZlcl9vdXRwdXQgPSAiY2hyb21lZHJpdmVyIgorIAorIGV4ZWN1dGFibGUoIiRjaHJvbWVk cml2ZXJfb3V0cHV0IikgeworICAgdGVzdG9ubHkgPSB0cnVlCitAQCAtMzM2LDE2ICszMzIsNiBA QCBleGVjdXRhYmxlKCIkY2hyb21lZHJpdmVyX291dHB1dCIpIHsKKyAgIH0KKyB9CisgCistaWYg KGlzX2xpbnV4KSB7CistICBzdHJpcF9iaW5hcnkoImNocm9tZWRyaXZlciIpIHsKKy0gICAgdGVz dG9ubHkgPSB0cnVlCistICAgIGJpbmFyeV9pbnB1dCA9ICIkcm9vdF9vdXRfZGlyLyRjaHJvbWVk cml2ZXJfb3V0cHV0IgorLSAgICBzeW1ib2xfb3V0cHV0ID0gIiRyb290X291dF9kaXIvY2hyb21l ZHJpdmVyLmRlYnVnIgorLSAgICBzdHJpcHBlZF9iaW5hcnlfb3V0cHV0ID0gIiRyb290X291dF9k aXIvY2hyb21lZHJpdmVyIgorLSAgICBkZXBzID0gWyAiOiRjaHJvbWVkcml2ZXJfb3V0cHV0IiBd CistICB9CistfQorLQorIHB5dGhvbl9saWJyYXJ5KCJjaHJvbWVkcml2ZXJfcHlfdGVzdHMiKSB7 CisgICB0ZXN0b25seSA9IHRydWUKKyAgIGRlcHMgPSBbCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9taXVtLXJldmVydC11c2UtZmZpbGUtY29tcGls YXRpb24tZGlyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMC1jaHJv bWl1bS1yZXZlcnQtdXNlLWZmaWxlLWNvbXBpbGF0aW9uLWRpci5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmEwMGY3ZWE4MGY3YQotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTAtY2hyb21pdW0tcmV2ZXJ0LXVz ZS1mZmlsZS1jb21waWxhdGlvbi1kaXIucGF0Y2gKQEAgLTAsMCArMSw1NyBAQAorRnJvbSAzNGE5 NTU4MjM2MzAwOTZmNWIwMWMyYjAxZDUxYzFlYTU5ZDIyNzYzIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogWmVxdWFuIFd1IDx6ZXF1YW53dUBnb29nbGUuY29tPgorRGF0ZTogVHVlLCAy MCBKdWwgMjAyMSAxNDoxMzo1MCArMDAwMAorU3ViamVjdDogW1BBVENIXSBVc2UgLWZmaWxlLWNv bXBpbGF0aW9uLWRpcj0gaW5zdGVhZCBvZgorIC1mZGVidWctY29tcGlsYXRpb24tZGlyPQorCitC dWc6IDEwMTAyNjcKK0NoYW5nZS1JZDogSWYyYjRlYWQ4NTM1YTc2NDkwZWI0NjZhMzhlM2Q4ZmVk NmVhOTEwNzkKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3Vy Y2UuY29tL2MvY2hyb21pdW0vc3JjLysvMjc3MDczOAorQXV0by1TdWJtaXQ6IFplcXVhbiBXdSA8 emVxdWFud3VAZ29vZ2xlLmNvbT4KK0NvbW1pdC1RdWV1ZTogTmljbyBXZWJlciA8dGhha2lzQGNo cm9taXVtLm9yZz4KK1Jldmlld2VkLWJ5OiBOaWNvIFdlYmVyIDx0aGFraXNAY2hyb21pdW0ub3Jn PgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21hc3RlckB7IzkwMzQ1Nn0KKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24KKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24K K0BAIC0xMjY5LDE5ICsxMjY5LDEyIEBAIGNvbmZpZygiY29tcGlsZXJfZGV0ZXJtaW5pc3RpYyIp IHsKKyAgICAgIyBkaWZmZXJlbnQgYnVpbGQgZGlyZWN0b3J5IGxpa2UgIm91dC9mZWF0dXJlX2Ei IGFuZCAib3V0L2ZlYXR1cmVfYiIgaWYKKyAgICAgIyB3ZSBidWlsZCBzYW1lIGZpbGVzIHdpdGgg c2FtZSBjb21waWxlIGZsYWcuCisgICAgICMgT3RoZXIgcGF0aHMgYXJlIGFscmVhZHkgZ2l2ZW4g aW4gcmVsYXRpdmUsIG5vIG5lZWQgdG8gbm9ybWFsaXplIHRoZW0uCistICAgIGlmIChpc19uYWNs KSB7CistICAgICAgIyBUT0RPKGh0dHBzOi8vY3JidWcuY29tLzEyMzEyMzYpOiBVc2UgLWZmaWxl LWNvbXBpbGF0aW9uLWRpcj0gaGVyZS4KKy0gICAgICBjZmxhZ3MgKz0gWworLSAgICAgICAgIi1Y Y2xhbmciLAorLSAgICAgICAgIi1mZGVidWctY29tcGlsYXRpb24tZGlyIiwKKy0gICAgICAgICIt WGNsYW5nIiwKKy0gICAgICAgICIuIiwKKy0gICAgICBdCistICAgIH0gZWxzZSB7CistICAgICAg IyAtZmZpbGUtY29tcGlsYXRpb24tZGlyIGlzIGFuIGFsaWFzIGZvciBib3RoIC1mZGVidWctY29t cGlsYXRpb24tZGlyPQorLSAgICAgICMgYW5kIC1mY292ZXJhZ2UtY29tcGlsYXRpb24tZGlyPS4K Ky0gICAgICBjZmxhZ3MgKz0gWyAiLWZmaWxlLWNvbXBpbGF0aW9uLWRpcj0uIiBdCistICAgIH0K KysgICAgY2ZsYWdzICs9IFsKKysgICAgICAiLVhjbGFuZyIsCisrICAgICAgIi1mZGVidWctY29t cGlsYXRpb24tZGlyIiwKKysgICAgICAiLVhjbGFuZyIsCisrICAgICAgIi4iLAorKyAgICBdCisg ICAgIGlmICghaXNfd2luKSB7CisgICAgICAgIyBXZSBkb24ndCB1c2UgY2xhbmcgLWNjMWFzIG9u IFdpbmRvd3MgKHlldD8gaHR0cHM6Ly9jcmJ1Zy5jb20vNzYyMTY3KQorICAgICAgIGFzbWZsYWdz ID0gWyAiLVdhLC1mZGVidWctY29tcGlsYXRpb24tZGlyLC4iIF0KKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9idWlsZC9jb25maWcvY29tcGlsZXIvY29tcGlsZXIuZ25pCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmlnL2NvbXBpbGVyL2NvbXBpbGVyLmduaQorQEAg LTIyOCw4ICsyMjgsMTEgQEAgZGVjbGFyZV9hcmdzKCkgeworICMgZGV0ZXJtaW5pc3RpYyBidWls ZHMgdG8gcmVkdWNlIGNvbXBpbGUgdGltZXMsIHNvIHRoaXMgaXMgbGVzcyByZWxldmFudCBmb3IK KyAjIG9mZmljaWFsIGJ1aWxkZXJzLgorIHN0cmlwX2Fic29sdXRlX3BhdGhzX2Zyb21fZGVidWdf c3ltYm9sc19kZWZhdWx0ID0KKy0gICAgaXNfYW5kcm9pZCB8fCBpc19mdWNoc2lhIHx8IGlzX25h Y2wgfHwgKGlzX3dpbiAmJiB1c2VfbGxkKSB8fCBpc19saW51eCB8fAorLSAgICBpc19jaHJvbWVv cyB8fCAoaXNfYXBwbGUgJiYgIWVuYWJsZV9kc3ltcykKKysgICAgIyBUT0RPKGNyYnVnLmNvbS8x MDEwMjY3KTogcmVtb3ZlICchdXNlX2NsYW5nX2NvdmVyYWdlJywgY292ZXJhZ2UgYnVpbGQgaGFz CisrICAgICMgZGVwZW5kZW5jeSB0byBhYnNvbHV0ZSBwYXRoIG9mIHNvdXJjZSBmaWxlcy4KKysg ICAgIXVzZV9jbGFuZ19jb3ZlcmFnZSAmJgorKyAgICAoaXNfYW5kcm9pZCB8fCBpc19mdWNoc2lh IHx8IGlzX25hY2wgfHwgKGlzX3dpbiAmJiB1c2VfbGxkKSB8fCBpc19saW51eCB8fAorKyAgICAg aXNfY2hyb21lb3MgfHwgKGlzX2FwcGxlICYmICFlbmFibGVfZHN5bXMpKQorIAorIGRlY2xhcmVf YXJncygpIHsKKyAgIHN0cmlwX2Fic29sdXRlX3BhdGhzX2Zyb21fZGVidWdfc3ltYm9scyA9IHN0 cmlwX2Fic29sdXRlX3BhdGhzX2Zyb21fZGVidWdfc3ltYm9sc19kZWZhdWx0CmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTExLWNocm9taXVtLW5vLVduby1zdHJp bmdvcC1vdmVycmVhZC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTEt Y2hyb21pdW0tbm8tV25vLXN0cmluZ29wLW92ZXJyZWFkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMDNlYWMzZjhlMDY3Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1jaHJvbWl1bS1uby1Xbm8tc3RyaW5n b3Atb3ZlcnJlYWQucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorQEAgLTM5NCw3ICszOTQs NiBAQCBjb25maWcoImNvbXBpbGVyIikgeworICAgICAgICAgIi1Xbm8tcGFyZW50aGVzZXMiLAor ICAgICAgICAgIi1Xbm8tc2lnbi1jb21wYXJlIiwgIyBmaWRvCisgICAgICAgICAiLVduby1zdHJp bmdvcC1vdmVyZmxvdyIsICMgc2tpYSwgbGliYW9tLCBwcm90b2J1ZiwgaWN1CistICAgICAgICAi LVduby1zdHJpbmdvcC1vdmVycmVhZCIsICMgbGliYW9tCisgICAgICAgICAiLVduby1wc2FiaSIs ICMgc2tpYQorICAgICAgICAgIi1Xbm8tbXVsdGljaGFyIiwgIyBjcmFzaHBhZAorICAgICAgICAg Ii1Xbm8tZm9ybWF0LXplcm8tbGVuZ3RoIiwgIyB1c2VyX2FnZW50LmNjCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9taXVtLWdsaWJjLWxpYmNfbWFs bG9jLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1MC1jaHJvbWl1bS1n bGliYy1saWJjX21hbGxvYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjdlMWI2NmU1YzczZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxNTAtY2hyb21pdW0tZ2xpYmMtbGliY19tYWxsb2MucGF0Y2gKQEAgLTAs MCArMSwyNCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvcHJvY2Vzcy9tZW1v cnlfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3Byb2Nlc3MvbWVt b3J5X2xpbnV4LmNjCitAQCAtMjMsNiArMjMsMTIgQEAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkv dGNtYWxsb2MvY2hyb21pdW0vc3JjL2dwZXJmdG9vbHMvdGNtYWxsb2MuaCIKKyAjZW5kaWYKKyAK KysjaWYgZGVmaW5lZChMSUJDX0dMSUJDKQorK2V4dGVybiAiQyIgeworK2V4dGVybiB2b2lkICpf X2xpYmNfbWFsbG9jKHNpemVfdCBzaXplKTsKKyt9CisrI2VuZGlmCisrCisgbmFtZXNwYWNlIGJh c2UgeworIAorIG5hbWVzcGFjZSB7CitAQCAtMTIwLDcgKzEyNiw3IEBAIGJvb2wgVW5jaGVja2Vk TWFsbG9jKHNpemVfdCBzaXplLCB2b2lkKioKKyAgICAgKCFkZWZpbmVkKExJQkNfR0xJQkMpICYm ICFCVUlMREZMQUcoVVNFX1RDTUFMTE9DKSkKKyAgICpyZXN1bHQgPSBtYWxsb2Moc2l6ZSk7Cisg I2VsaWYgZGVmaW5lZChMSUJDX0dMSUJDKSAmJiAhQlVJTERGTEFHKFVTRV9UQ01BTExPQykKKy0g ICpyZXN1bHQgPSBfX2xpYmNfbWFsbG9jKHNpemUpOworKyAgKnJlc3VsdCA9IDo6X19saWJjX21h bGxvYyhzaXplKTsKKyAjZWxpZiBCVUlMREZMQUcoVVNFX1RDTUFMTE9DKQorICAgKnJlc3VsdCA9 IHRjX21hbGxvY19za2lwX25ld19oYW5kbGVyKHNpemUpOworICNlbmRpZgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1tdXNsLWluY2x1ZGUt c3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpFLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1tdXNsLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dP UkRTSVpFLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDFi OTAwNzFiNWU0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIwMC1jaHJvbWl1bS1tdXNsLWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpF LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0Zyb20gOTAwMWM1NGQ2Yjk3NDQ0OTE3NGE4Y2VlOGYz ZjVkNzhhOWJkNmM5ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZlbGl4IEphbmRh IDxmZWxpeC5qYW5kYUBwb3N0ZW8uZGU+CitEYXRlOiBTdW4sIDEgRmViIDIwMTUgMTQ6MjY6NTIg KzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzZdIGluY2x1ZGUgPHN5cy9yZWcuaD4gdG8gZ2V0IF9f V09SRFNJWkUgb24gbXVzbCBsaWJjCisKKy0tLQorIHF0d2ViZW5naW5lL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2Vs Zl9jb3JlX2R1bXAuaCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZl9j b3JlX2R1bXAuaAorQEAgLTM3LDYgKzM3LDkgQEAKKyAjaW5jbHVkZSA8bGltaXRzLmg+CisgI2lu Y2x1ZGUgPGxpbmsuaD4KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisrI2lmbmRlZiBfX0dMSUJDX18K KysjaW5jbHVkZSA8c3lzL3JlZy5oPgorKyNlbmRpZgorIAorICNpbmNsdWRlICJjb21tb24vbWVt b3J5X3JhbmdlLmgiCisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjAxLWNocm9taXVtLW11c2wtZGlzcGF0Y2gtdG8tbXVzbC5wYXRjaCBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDEtY2hyb21pdW0tbXVzbC1kaXNwYXRjaC10by1tdXNsLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTU4YTY4OGE0YjU1 Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMS1j aHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2gKQEAgLTAsMCArMSwxMDMgQEAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jfc2hpbV9k ZWZhdWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0v YmFzZS9hbGxvY2F0b3IvYWxsb2NhdG9yX3NoaW1fZGVmYXVsdF9kaXNwYXRjaF90b19nbGliYy5j YworQEAgLTgsNiArOCw3IEBACisgI2luY2x1ZGUgPGRsZmNuLmg+CisgI2luY2x1ZGUgPG1hbGxv Yy5oPgorIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAvLyBUaGlzIHRyYW5zbGF0aW9uIHVu aXQgZGVmaW5lcyBhIGRlZmF1bHQgZGlzcGF0Y2ggZm9yIHRoZSBhbGxvY2F0b3Igc2hpbSB3aGlj aAorIC8vIHJvdXRlcyBhbGxvY2F0aW9ucyB0byBsaWJjIGZ1bmN0aW9ucy4KKyAvLyBUaGUgY29k ZSBoZXJlIGlzIHN0cm9uZ2x5IGluc3BpcmVkIGZyb20gdGNtYWxsb2MncyBsaWJjX292ZXJyaWRl X2dsaWJjLmguCitAQCAtODcsMyArODgsOTIgQEAgY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2ggQWxs b2NhdG9yRGlzcGF0YworICAgICBudWxscHRyLCAgICAgICAgICAgICAgIC8qIGFsaWduZWRfZnJl ZV9mdW5jdGlvbiAqLworICAgICBudWxscHRyLCAgICAgICAgICAgICAgIC8qIG5leHQgKi8KKyB9 OworKworKyNlbHNlIC8vIGRlZmluZWQoX19HTElCQ19fKQorKworKyNpbmNsdWRlIDxkbGZjbi5o PgorKworK2V4dGVybiAiQyIgeworKy8vIERlY2xhcmUgZnVuY3Rpb24gcG9pbnRlcnMgdG8gdGhl IG1lbW9yeSBmdW5jdGlvbnMKKyt0eXBlZGVmIHZvaWQqICgqdF9saWJjX21hbGxvYykoc2l6ZV90 IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfY2FsbG9jKShzaXplX3Qgbiwgc2l6ZV90 IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfcmVhbGxvYykodm9pZCogYWRkcmVzcywg c2l6ZV90IHNpemUpOworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfbWVtYWxpZ24pKHNpemVfdCBh bGlnbm1lbnQsIHNpemVfdCBzaXplKTsKKyt0eXBlZGVmIHZvaWQgKCp0X2xpYmNfZnJlZSkodm9p ZCogcHRyKTsKKyt0eXBlZGVmIHNpemVfdCAoKnRfbGliY19tYWxsb2NfdXNhYmxlX3NpemUpKHZv aWQqIHB0cik7CisrCisrLy8gU3RhdGljIGluc3RhbmNlcyBvZiBwb2ludGVycyB0byBsaWJjLnNv IGRsIHN5bWJvbHMKKytzdGF0aWMgdF9saWJjX21hbGxvYyBsaWJjX21hbGxvYyA9IE5VTEw7Cisr c3RhdGljIHRfbGliY19jYWxsb2MgbGliY19jYWxsb2MgPSBOVUxMOworK3N0YXRpYyB0X2xpYmNf cmVhbGxvYyBsaWJjX3JlYWxsb2MgPSBOVUxMOworK3N0YXRpYyB0X2xpYmNfbWVtYWxpZ24gbGli Y19tZW1hbGlnbiA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19mcmVlIGxpYmNfZnJlZSA9IE5VTEw7 Cisrc3RhdGljIHRfbGliY19tYWxsb2NfdXNhYmxlX3NpemUgbGliY19tYWxsb2NfdXNhYmxlX3Np emUgPSBOVUxMOworKworKy8vIHJlc29sdmUgdGhlIHN5bWJvbHMgaW4gbGliYy5zbworK3ZvaWQg bXVzbF9saWJjX21lbW9yeV9pbml0KHZvaWQpCisreworKyAgbGliY19tYWxsb2MgPSAodF9saWJj X21hbGxvYykgZGxzeW0oUlRMRF9ORVhULCAibWFsbG9jIik7CisrICBsaWJjX2NhbGxvYyA9ICh0 X2xpYmNfY2FsbG9jKSBkbHN5bShSVExEX05FWFQsICJjYWxsb2MiKTsKKysgIGxpYmNfcmVhbGxv YyA9ICh0X2xpYmNfcmVhbGxvYykgZGxzeW0oUlRMRF9ORVhULCAicmVhbGxvYyIpOworKyAgbGli Y19tZW1hbGlnbiA9ICh0X2xpYmNfbWVtYWxpZ24pIGRsc3ltKFJUTERfTkVYVCwgIm1lbWFsaWdu Iik7CisrICBsaWJjX2ZyZWUgPSAodF9saWJjX2ZyZWUpIGRsc3ltKFJUTERfTkVYVCwgImZyZWUi KTsKKysgIGxpYmNfbWFsbG9jX3VzYWJsZV9zaXplID0gKHRfbGliY19tYWxsb2NfdXNhYmxlX3Np emUpIGRsc3ltKFJUTERfTkVYVCwgIm1hbGxvY191c2FibGVfc2l6ZSIpOworK30KKyt9ICAvLyBl eHRlcm4gIkMiCisrCisrbmFtZXNwYWNlIHsKKysKKyt1c2luZyBiYXNlOjphbGxvY2F0b3I6OkFs bG9jYXRvckRpc3BhdGNoOworKworK3ZvaWQqIE11c2xNYWxsb2MoY29uc3QgQWxsb2NhdG9yRGlz cGF0Y2gqLCBzaXplX3Qgc2l6ZSwgdm9pZCogY29udGV4dCkgeworKyAgaWYgKCFsaWJjX21hbGxv YykKKysgICAgbXVzbF9saWJjX21lbW9yeV9pbml0KCk7CisrICByZXR1cm4gKCpsaWJjX21hbGxv Yykoc2l6ZSk7CisrfQorKworK3ZvaWQqIE11c2xDYWxsb2MoY29uc3QgQWxsb2NhdG9yRGlzcGF0 Y2gqLCBzaXplX3Qgbiwgc2l6ZV90IHNpemUsIHZvaWQqIGNvbnRleHQpIHsKKysgIGlmICghbGli Y19jYWxsb2MpCisrICAgIG11c2xfbGliY19tZW1vcnlfaW5pdCgpOworKyAgcmV0dXJuICgqbGli Y19jYWxsb2MpKG4sIHNpemUpOworK30KKysKKyt2b2lkKiBNdXNsUmVhbGxvYyhjb25zdCBBbGxv Y2F0b3JEaXNwYXRjaCosIHZvaWQqIGFkZHJlc3MsIHNpemVfdCBzaXplLCB2b2lkKiBjb250ZXh0 KSB7CisrICBpZiAoIWxpYmNfcmVhbGxvYykKKysgICAgbXVzbF9saWJjX21lbW9yeV9pbml0KCk7 CisrICByZXR1cm4gKCpsaWJjX3JlYWxsb2MpKGFkZHJlc3MsIHNpemUpOworK30KKysKKyt2b2lk KiBNdXNsTWVtYWxpZ24oY29uc3QgQWxsb2NhdG9yRGlzcGF0Y2gqLCBzaXplX3QgYWxpZ25tZW50 LCBzaXplX3Qgc2l6ZSwgdm9pZCogY29udGV4dCkgeworKyAgaWYgKCFsaWJjX21lbWFsaWduKQor KyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAoKmxpYmNfbWVtYWxpZ24p KGFsaWdubWVudCwgc2l6ZSk7CisrfQorKworK3ZvaWQgTXVzbEZyZWUoY29uc3QgQWxsb2NhdG9y RGlzcGF0Y2gqLCB2b2lkKiBhZGRyZXNzLCB2b2lkKiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNf ZnJlZSkKKysgICAgbXVzbF9saWJjX21lbW9yeV9pbml0KCk7CisrICAoKmxpYmNfZnJlZSkoYWRk cmVzcyk7CisrfQorKworK3NpemVfdCBNdXNsR2V0U2l6ZUVzdGltYXRlKGNvbnN0IEFsbG9jYXRv ckRpc3BhdGNoKiwgdm9pZCogYWRkcmVzcywgdm9pZCogY29udGV4dCkgeworKyAgLy8gVE9ETyhz aWdnaSwgcHJpbWlhbm8pOiBtYWxsb2NfdXNhYmxlX3NpemUgbWF5IG5lZWQgcmVkaXJlY3Rpb24g aW4gdGhlCisrICAvLyAgICAgcHJlc2VuY2Ugb2YgaW50ZXJwb3Npbmcgc2hpbXMgdGhhdCBkaXZl cnQgYWxsb2NhdGlvbnMuCisrICBpZiAoIWxpYmNfbWFsbG9jX3VzYWJsZV9zaXplKQorKyAgICBt dXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAoKmxpYmNfbWFsbG9jX3VzYWJsZV9z aXplKShhZGRyZXNzKTsKKyt9CisrCisrfSAgLy8gbmFtZXNwYWNlCisrCisrY29uc3QgQWxsb2Nh dG9yRGlzcGF0Y2ggQWxsb2NhdG9yRGlzcGF0Y2g6OmRlZmF1bHRfZGlzcGF0Y2ggPSB7CisrICAg ICZNdXNsTWFsbG9jLCAgICAgICAgICAgLyogYWxsb2NfZnVuY3Rpb24gKi8KKysgICAgJk11c2xD YWxsb2MsICAgICAgICAgICAvKiBhbGxvY196ZXJvX2luaXRpYWxpemVkX2Z1bmN0aW9uICovCisr ICAgICZNdXNsTWVtYWxpZ24sICAgICAgICAgLyogYWxsb2NfYWxpZ25lZF9mdW5jdGlvbiAqLwor KyAgICAmTXVzbFJlYWxsb2MsICAgICAgICAgIC8qIHJlYWxsb2NfZnVuY3Rpb24gKi8KKysgICAg Jk11c2xGcmVlLCAgICAgICAgICAgICAvKiBmcmVlX2Z1bmN0aW9uICovCisrICAgICZNdXNsR2V0 U2l6ZUVzdGltYXRlLCAgLyogZ2V0X3NpemVfZXN0aW1hdGVfZnVuY3Rpb24gKi8KKysgICAgbnVs bHB0ciwgICAgICAgICAgICAgICAvKiBuZXh0ICovCisrfTsKKysKKysjZW5kaWYKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDItY2hyb21pdW0tbXVzbC1uby1t YWxsaW5mby5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDItY2hyb21p dW0tbXVzbC1uby1tYWxsaW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmE1YmRiNWE0M2E1ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAyMDItY2hyb21pdW0tbXVzbC1uby1tYWxsaW5mby5wYXRjaApAQCAt MCwwICsxLDYyIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9wcm9jZXNzL3By b2Nlc3NfbWV0cmljc19wb3NpeC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uv cHJvY2Vzcy9wcm9jZXNzX21ldHJpY3NfcG9zaXguY2MKK0BAIC0xMDUsNyArMTA1LDcgQEAgdm9p ZCBJbmNyZWFzZUZkTGltaXRUbyh1bnNpZ25lZCBpbnQgbWF4XworIAorICNlbmRpZiAgLy8gIWRl ZmluZWQoT1NfRlVDSFNJQSkKKyAKKy0jaWYgZGVmaW5lZChPU19MSU5VWCkgfHwgZGVmaW5lZChP U19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lEKQorKyNpZiAoZGVmaW5lZChPU19MSU5V WCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZp bmVkKE9TX0FORFJPSUQpCisgbmFtZXNwYWNlIHsKKyAKKyBzaXplX3QgR2V0TWFsbG9jVXNhZ2VN YWxsaW5mbygpIHsKK0BAIC0xMjcsMTYgKzEyNywxNiBAQCBzaXplX3QgR2V0TWFsbG9jVXNhZ2VN YWxsaW5mbygpIHsKKyB9CisgCisgfSAgLy8gbmFtZXNwYWNlCistI2VuZGlmICAvLyBkZWZpbmVk KE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQp CisrI2VuZGlmICAvLyAoZGVmaW5lZChPU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8 fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisgCisgc2l6ZV90 IFByb2Nlc3NNZXRyaWNzOjpHZXRNYWxsb2NVc2FnZSgpIHsKKyAjaWYgZGVmaW5lZChPU19BUFBM RSkKKyAgIG1hbGxvY19zdGF0aXN0aWNzX3Qgc3RhdHMgPSB7MH07CisgICBtYWxsb2Nfem9uZV9z dGF0aXN0aWNzKG51bGxwdHIsICZzdGF0cyk7CisgICByZXR1cm4gc3RhdHMuc2l6ZV9pbl91c2U7 CistI2VsaWYgZGVmaW5lZChPU19MSU5VWCkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVm aW5lZChPU19BTkRST0lEKQorKyNlbGlmIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9f R0xJQkNfXykpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkK KyAgIHJldHVybiBHZXRNYWxsb2NVc2FnZU1hbGxpbmZvKCk7CistI2VsaWYgZGVmaW5lZChPU19G VUNIU0lBKQorKyNlbHNlCisgICAvLyBUT0RPKGZ1Y2hzaWEpOiBOb3QgY3VycmVudGx5IGV4cG9z ZWQuIGh0dHBzOi8vY3JidWcuY29tLzczNTA4Ny4KKyAgIHJldHVybiAwOworICNlbmRpZgorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxv dy9saXRlL3Byb2ZpbGluZy9tZW1vcnlfaW5mby5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL3Byb2ZpbGluZy9tZW1v cnlfaW5mby5jYworQEAgLTI3LDcgKzI3LDcgQEAgbmFtZXNwYWNlIG1lbW9yeSB7CisgY29uc3Qg aW50IE1lbW9yeVVzYWdlOjprVmFsdWVOb3RTZXQgPSAwOworIAorIGJvb2wgTWVtb3J5VXNhZ2U6 OklzU3VwcG9ydGVkKCkgeworLSNpZmRlZiBfX2xpbnV4X18KKysjaWZkZWYgX19HTElCQ19fCisg ICByZXR1cm4gdHJ1ZTsKKyAjZW5kaWYKKyAgIHJldHVybiBmYWxzZTsKK0BAIC0zNSw3ICszNSw3 IEBAIGJvb2wgTWVtb3J5VXNhZ2U6OklzU3VwcG9ydGVkKCkgeworIAorIE1lbW9yeVVzYWdlIEdl dE1lbW9yeVVzYWdlKCkgeworICAgTWVtb3J5VXNhZ2UgcmVzdWx0OworLSNpZmRlZiBfX2xpbnV4 X18KKysjaWZkZWYgX19HTElCQ19fCisgICBydXNhZ2UgcmVzOworICAgaWYgKGdldHJ1c2FnZShS VVNBR0VfU0VMRiwgJnJlcykgPT0gMCkgeworICAgICByZXN1bHQubWF4X3Jzc19rYiA9IHJlcy5y dV9tYXhyc3M7CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90cmFjZV9ldmVudC9t YWxsb2NfZHVtcF9wcm92aWRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uv dHJhY2VfZXZlbnQvbWFsbG9jX2R1bXBfcHJvdmlkZXIuY2MKK0BAIC0yMTMsNyArMjEzLDcgQEAg Ym9vbCBNYWxsb2NEdW1wUHJvdmlkZXI6Ok9uTWVtb3J5RHVtcChjbworICAgICAgICAgICAgICAg ICAgICAgICZhbGxvY2F0ZWRfb2JqZWN0c19jb3VudCk7CisgI2VsaWYgZGVmaW5lZChPU19GVUNI U0lBKQorIC8vIFRPRE8oZnVjaHNpYSk6IFBvcnQsIHNlZSBodHRwczovL2NyYnVnLmNvbS83MDY1 OTIuCistI2Vsc2UKKysjZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaWYgZGVmaW5lZChfX0dM SUJDX18pICYmIGRlZmluZWQoX19HTElCQ19QUkVSRVEpCisgI2lmIF9fR0xJQkNfUFJFUkVRKDIs IDMzKQorICNkZWZpbmUgTUFMTElORk8yX0ZPVU5EX0lOX0xJQkMKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDMtY2hyb21pdW0tbXVzbC1zaWdpbmZvX3QucGF0 Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAzLWNocm9taXVtLW11c2wtc2ln aW5mb190LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDNl ZjdmZDdjNWQyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIwMy1jaHJvbWl1bS1tdXNsLXNpZ2luZm9fdC5wYXRjaApAQCAtMCwwICsxLDE4IEBACitU aGVyZSdzIGEgc3VidGxlIGRpZmZlcmVuY2UgaW4gdGhlIGludGVybmFsIG5hbWUgb2Ygc2lnaW5m b190IGZpZWxkcworYmV0d2VlbiBnbGliYyBhbmQgbXVzbC4gVGhlIHN0cnVjdHVyZSBpdHNlbGYg aXMgZXF1aXZhbGVudCwgc28gaXQKK3Nob3VsZCBzdWZmaWNlIHRvIGFkZCBhIG1hY3JvIHRvIHJl bmFtZSB0aGUgZmllbGQuCisKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKK0BAIC0xNzQsNyArMTc0LDExIEBAIHZvaWQg VHJhcDo6U2lnU3lzKGludCBuciwgTGludXhTaWdJbmZvKgorICAgLy8gSWYgdGhlIHZlcnNpb24g b2YgZ2xpYmMgZG9lc24ndCBpbmNsdWRlIHRoaXMgaW5mb3JtYXRpb24gaW4KKyAgIC8vIHNpZ2lu Zm9fdCAob2xkZXIgdGhhbiAyLjE3KSwgd2UgbmVlZCB0byBleHBsaWNpdGx5IGNvcHkgaXQKKyAg IC8vIGludG8gYW4gYXJjaF9zaWdzeXMgc3RydWN0dXJlLgorKyNpZiBkZWZpbmVkKF9fR0xJQkNf XykKKyAgIG1lbWNweSgmc2lnc3lzLCAmaW5mby0+X3NpZmllbGRzLCBzaXplb2Yoc2lnc3lzKSk7 CisrI2Vsc2UKKysgIG1lbWNweSgmc2lnc3lzLCAmaW5mby0+X19zaV9maWVsZHMsIHNpemVvZihz aWdzeXMpKTsKKysjZW5kaWYKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX21pcHNfXykKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDQtY2hyb21pdW0tbXVz bC1zdGFja3N0YXJ0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNC1j aHJvbWl1bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi5iMDNjZjQzYjg2ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA0LWNocm9taXVtLW11c2wtc3RhY2tzdGFydC5wYXRjaApA QCAtMCwwICsxLDIwIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0aWwuY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvc3Rh Y2tfdXRpbC5jYworQEAgLTI5LDcgKzI5LDcgQEAgc2l6ZV90IEdldFVuZGVyZXN0aW1hdGVkU3Rh Y2tTaXplKCkgeworIC8vIEZJWE1FOiBPbiBNYWMgT1NYIGFuZCBMaW51eCwgdGhpcyBtZXRob2Qg Y2Fubm90IGVzdGltYXRlIHN0YWNrIHNpemUKKyAvLyBjb3JyZWN0bHkgZm9yIHRoZSBtYWluIHRo cmVhZC4KKyAKKy0jZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChPU19BTkRST0lE KSB8fCBkZWZpbmVkKE9TX0ZSRUVCU0QpIHx8IFwKKysjZWxpZiBkZWZpbmVkKE9TX0xJTlVYKSB8 fCBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRlZmluZWQoT1NfRlJFRUJTRCkgfHwgXAorICAgICBk ZWZpbmVkKE9TX0ZVQ0hTSUEpCisgICAvLyBwdGhyZWFkX2dldGF0dHJfbnAoKSBjYW4gZmFpbCBp ZiB0aGUgdGhyZWFkIGlzIG5vdCBpbnZva2VkIGJ5CisgICAvLyBwdGhyZWFkX2NyZWF0ZSgpIChl LmcuLCB0aGUgbWFpbiB0aHJlYWQgb2YgYmxpbmtfdW5pdHRlc3RzKS4KK0BAIC05Nyw3ICs5Nyw3 IEBAIHJldHVybiBUaHJlYWRpbmc6OlRocmVhZFN0YWNrU2l6ZSgpOworIH0KKyAKKyB2b2lkKiBH ZXRTdGFja1N0YXJ0KCkgeworLSNpZiBkZWZpbmVkKF9fR0xJQkNfXykgfHwgZGVmaW5lZChPU19B TkRST0lEKSB8fCBkZWZpbmVkKE9TX0ZSRUVCU0QpIHx8IFwKKysjaWYgZGVmaW5lZChPU19MSU5V WCkgfHwgZGVmaW5lZChPU19BTkRST0lEKSB8fCBkZWZpbmVkKE9TX0ZSRUVCU0QpIHx8IFwKKyAg ICAgZGVmaW5lZChPU19GVUNIU0lBKQorICAgcHRocmVhZF9hdHRyX3QgYXR0cjsKKyAgIGludCBl cnJvcjsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDUtY2hy b21pdW0tbXVzbC1zYW5kYm94LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDIwNS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi43NzJhNTc4ZmQ4MjMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA1LWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaApA QCAtMCwwICsxLDkyIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworQEAgLTEzOCw3ICsxMzgs NyBAQCBuYW1lc3BhY2Ugc2FuZGJveCB7CisgLy8gcHJlc2VudCAoYXMgaW4gbmV3ZXIgdmVyc2lv bnMgb2YgcG9zaXhfc3Bhd24pLgorIFJlc3VsdEV4cHIgUmVzdHJpY3RDbG9uZVRvVGhyZWFkc0Fu ZEVQRVJNRm9yaygpIHsKKyAgIGNvbnN0IEFyZzx1bnNpZ25lZCBsb25nPiBmbGFncygwKTsKKy0K KysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICAvLyBUT0RPKG1kZW1wc2t5KTogRXh0ZW5kIERT TCB0byBzdXBwb3J0IChmbGFncyAmIH5tYXNrMSkgPT0gbWFzazIuCisgICBjb25zdCB1aW50NjRf dCBrQW5kcm9pZENsb25lTWFzayA9IENMT05FX1ZNIHwgQ0xPTkVfRlMgfCBDTE9ORV9GSUxFUyB8 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENMT05FX1NJR0hBTkQgfCBD TE9ORV9USFJFQUQgfAorQEAgLTE2NSw2ICsxNjUsMTcgQEAgUmVzdWx0RXhwciBSZXN0cmljdENs b25lVG9UaHJlYWRzQW5kRVBFUgorICAgcmV0dXJuIElmKElzQW5kcm9pZCgpID8gYW5kcm9pZF90 ZXN0IDogZ2xpYmNfdGVzdCwgQWxsb3coKSkKKyAgICAgICAuRWxzZUlmKGlzX2Zvcmtfb3JfY2xv bmVfdmZvcmssIEVycm9yKEVQRVJNKSkKKyAgICAgICAuRWxzZShDcmFzaFNJR1NZU0Nsb25lKCkp OworKyNlbHNlCisrICBjb25zdCBpbnQgcmVxdWlyZWQgPSBDTE9ORV9WTSB8IENMT05FX0ZTIHwg Q0xPTkVfRklMRVMgfCBDTE9ORV9TSUdIQU5EIHwKKysgICAgICAgICAgICAgICAgICAgICAgIENM T05FX1RIUkVBRCB8IENMT05FX1NZU1ZTRU07CisrICBjb25zdCBpbnQgc2FmZSA9IENMT05FX1NF VFRMUyB8IENMT05FX1BBUkVOVF9TRVRUSUQgfCBDTE9ORV9DSElMRF9DTEVBUlRJRCB8CisrICAg ICAgICAgICAgICAgICAgIENMT05FX0RFVEFDSEVEOworKyAgY29uc3QgQm9vbEV4cHIgdGhyZWFk X2Nsb25lX29rID0gKGZsYWdzJn5zYWZlKT09cmVxdWlyZWQ7CisrCisrICByZXR1cm4gSWYodGhy ZWFkX2Nsb25lX29rLCBBbGxvdygpKQorKyAgICAgIC5FbHNlSWYoKGZsYWdzICYgKENMT05FX1ZN IHwgQ0xPTkVfVEhSRUFEKSkgPT0gMCwgRXJyb3IoRVBFUk0pKQorKyAgICAgIC5FbHNlKENyYXNo U0lHU1lTQ2xvbmUoKSk7CisrI2VuZGlmCisgfQorIAorICNpZm5kZWYgUFJfUEFDX1JFU0VUX0tF WVMKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworQEAgLTQxOSw2 ICs0MTksOSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCisgI2lm IGRlZmluZWQoX19pMzg2X18pCisgICAgIGNhc2UgX19OUl93YWl0cGlkOgorICNlbmRpZgorKyNp ZiAhZGVmaW5lZChfX0dMSUJDX18pCisrICAgIGNhc2UgX19OUl9zZXRfdGlkX2FkZHJlc3M6Cisr I2VuZGlmCisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNhc2UgX19OUl9jbG9uZTogIC8vIFNo b3VsZCBiZSBwYXJhbWV0ZXItcmVzdHJpY3RlZC4KKyAgICAgY2FzZSBfX05SX3NldG5zOiAgLy8g UHJpdmlsZWdlZC4KK0BAIC00MzEsNyArNDM0LDkgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxv d2VkUHJvY2Vzc1N0YXJ0TworICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCisgICAgIGNhc2UgX19OUl9zZXRfdGhyZWFkX2Fy ZWE6CisgI2VuZGlmCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgICBjYXNlIF9fTlJfc2V0 X3RpZF9hZGRyZXNzOgorKyNlbmRpZgorICAgICBjYXNlIF9fTlJfdW5zaGFyZToKKyAjaWYgIWRl ZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorICAgICBjYXNlIF9fTlJf dmZvcms6CitAQCAtNTQ1LDYgKzU1MCw5IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFk ZHJlc3NTcGFjZUEKKyAgICAgY2FzZSBfX05SX21sb2NrOgorICAgICBjYXNlIF9fTlJfbXVubG9j azoKKyAgICAgY2FzZSBfX05SX211bm1hcDoKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyAg ICBjYXNlIF9fTlJfbXJlbWFwOgorKyNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworICAgICBj YXNlIF9fTlJfbWFkdmlzZToKKyAgICAgY2FzZSBfX05SX21pbmNvcmU6CitAQCAtNTYyLDcgKzU3 MCw5IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUEKKyAgICAgY2Fz ZSBfX05SX21vZGlmeV9sZHQ6CisgI2VuZGlmCisgICAgIGNhc2UgX19OUl9tcHJvdGVjdDoKKysj aWYgZGVmaW5lZChfX0dMSUJDX18pCisgICAgIGNhc2UgX19OUl9tcmVtYXA6CisrI2VuZGlmCisg ICAgIGNhc2UgX19OUl9tc3luYzoKKyAgICAgY2FzZSBfX05SX211bmxvY2thbGw6CisgICAgIGNh c2UgX19OUl9yZWFkYWhlYWQ6CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9w b2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGlu dXguY2MKK0BAIC05NywxMSArOTcsMTggQEAgUmVzdWx0RXhwciBSZW5kZXJlclByb2Nlc3NQb2xp Y3k6OkV2YWx1YQorICAgICBjYXNlIF9fTlJfc3lzaW5mbzoKKyAgICAgY2FzZSBfX05SX3RpbWVz OgorICAgICBjYXNlIF9fTlJfdW5hbWU6CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysgICAg Y2FzZSBfX05SX3NjaGVkX2dldHBhcmFtOgorKyAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0c2NoZWR1 bGVyOgorKyAgICBjYXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyOgorKyNlbmRpZgorICAgICAg IHJldHVybiBBbGxvdygpOworICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHk6CisrI2lm IGRlZmluZWQoX19HTElCQ19fKQorICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0cGFyYW06CisgICAg IGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CisgICAgIGNhc2UgX19OUl9zY2hlZF9zZXRz Y2hlZHVsZXI6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIFJlc3RyaWN0U2NoZWRUYXJnZXQoR2V0 UG9saWN5UGlkKCksIHN5c25vKTsKKyAgICAgY2FzZSBfX05SX3BybGltaXQ2NDoKKyAgICAgICAv LyBTZWUgY3JidWcuY29tLzY2MjQ1MCBhbmQgc2V0cmxpbWl0IGNvbW1lbnQgYWJvdmUuCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA2LWNocm9taXVtLW11c2wt ZGVmYXVsdC1zdGFja3NpemUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MjA2LWNocm9taXVtLW11c2wtZGVmYXVsdC1zdGFja3NpemUucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYzA3NDk1YjgxNDQKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA2LWNocm9taXVtLW11c2wtZGVmYXVs dC1zdGFja3NpemUucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL2Jhc2UvdGhyZWFkaW5nL3BsYXRmb3JtX3RocmVhZF9saW51eC5jYworKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdGhyZWFkaW5nL3BsYXRmb3JtX3RocmVhZF9saW51eC5j YworQEAgLTQzOSw3ICs0MzksMTIgQEAgdm9pZCBUZXJtaW5hdGVPblRocmVhZCgpIHt9CisgCisg c2l6ZV90IEdldERlZmF1bHRUaHJlYWRTdGFja1NpemUoY29uc3QgcHRocmVhZF9hdHRyX3QmIGF0 dHJpYnV0ZXMpIHsKKyAjaWYgIWRlZmluZWQoVEhSRUFEX1NBTklUSVpFUikKKysjaWYgZGVmaW5l ZChfX0dMSUJDX18pCisgICByZXR1cm4gMDsKKysjZWxzZSAvLyBkZWZpbmVkKF9fR0xJQkNfXykK KysgIC8vIEZvciBNdXNsIGxpYmMgdHJ5IHdpdGggYSBkZWZhdWx0IHN0YWNrIHNpemUgb2YgMiBN aUIKKysgIHJldHVybiAyICogMTAyNCAqIDEwMjQ7CisrI2VuZGlmIC8vICFkZWZpbmVkKF9fR0xJ QkNfXykKKyAjZWxzZQorICAgLy8gVGhyZWFkU2FuaXRpemVyIGJsb2F0cyB0aGUgc3RhY2sgaGVh dmlseS4gRXZpZGVuY2UgaGFzIGJlZW4gdGhhdCB0aGUKKyAgIC8vIGRlZmF1bHQgc3RhY2sgc2l6 ZSBpc24ndCBlbm91Z2ggZm9yIHNvbWUgYnJvd3NlciB0ZXN0cy4KZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDgtY2hyb21pdW0tbXVzbC1leGVjaW5mby5wYXRj aCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDgtY2hyb21pdW0tbXVzbC1leGVj aW5mby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjlmM2I5 NjQ2NzZiMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAyMDgtY2hyb21pdW0tbXVzbC1leGVjaW5mby5wYXRjaApAQCAtMCwwICsxLDEyNSBAQAorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2UuY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlLmNjCitAQCAtMjUy LDcgKzI1Miw5IEBAIHZvaWQgU3RhY2tUcmFjZTo6UHJpbnQoKSBjb25zdCB7CisgfQorIAorIHZv aWQgU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJlYW0oc3RkOjpvc3RyZWFtKiBvcykgY29uc3Qgewor KyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIE91dHB1dFRvU3Ry ZWFtV2l0aFByZWZpeChvcywgbnVsbHB0cik7CisrI2VuZGlmCisgfQorIAorIHN0ZDo6c3RyaW5n IFN0YWNrVHJhY2U6OlRvU3RyaW5nKCkgY29uc3QgeworQEAgLTI2MCw3ICsyNjIsNyBAQCBzdGQ6 OnN0cmluZyBTdGFja1RyYWNlOjpUb1N0cmluZygpIGNvbnN0CisgfQorIHN0ZDo6c3RyaW5nIFN0 YWNrVHJhY2U6OlRvU3RyaW5nV2l0aFByZWZpeChjb25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBj b25zdCB7CisgICBzdGQ6OnN0cmluZ3N0cmVhbSBzdHJlYW07CistI2lmICFkZWZpbmVkKF9fVUNM SUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVm aW5lZChfQUlYKQorICAgT3V0cHV0VG9TdHJlYW1XaXRoUHJlZml4KCZzdHJlYW0sIHByZWZpeF9z dHJpbmcpOworICNlbmRpZgorICAgcmV0dXJuIHN0cmVhbS5zdHIoKTsKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYworQEAgLTI3 LDcgKzI3LDcgQEAKKyAjaWYgIWRlZmluZWQoVVNFX1NZTUJPTElaRSkKKyAjaW5jbHVkZSA8Y3h4 YWJpLmg+CisgI2VuZGlmCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9B SVgpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorICNpbmNsdWRl IDxleGVjaW5mby5oPgorICNlbmRpZgorIAorQEAgLTg5LDcgKzg5LDcgQEAgdm9pZCBEZW1hbmds ZVN5bWJvbHMoc3RkOjpzdHJpbmcqIHRleHQpCisgICAvLyBOb3RlOiBjb2RlIGluIHRoaXMgZnVu Y3Rpb24gaXMgTk9UIGFzeW5jLXNpZ25hbCBzYWZlIChzdGQ6OnN0cmluZyB1c2VzCisgICAvLyBt YWxsb2MgaW50ZXJuYWxseSkuCisgCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZp bmVkKF9BSVgpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorICAg c3RkOjpzdHJpbmc6OnNpemVfdHlwZSBzZWFyY2hfZnJvbSA9IDA7CisgICB3aGlsZSAoc2VhcmNo X2Zyb20gPCB0ZXh0LT5zaXplKCkpIHsKKyAgICAgLy8gTG9vayBmb3IgdGhlIHN0YXJ0IG9mIGEg bWFuZ2xlZCBzeW1ib2wsIGZyb20gc2VhcmNoX2Zyb20uCitAQCAtMTI0LDcgKzEyNCw3IEBAIHZv aWQgRGVtYW5nbGVTeW1ib2xzKHN0ZDo6c3RyaW5nKiB0ZXh0KQorICAgICAgIHNlYXJjaF9mcm9t ID0gbWFuZ2xlZF9zdGFydCArIDI7CisgICAgIH0KKyAgIH0KKy0jZW5kaWYgIC8vICFkZWZpbmVk KF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2VuZGlmICAvLyAhZGVmaW5lZChfX0dM SUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgfQorICNlbmRpZiAgLy8gIWRlZmluZWQoVVNFX1NZ TUJPTElaRSkKKyAKK0BAIC0xMzYsNyArMTM2LDcgQEAgY2xhc3MgQmFja3RyYWNlT3V0cHV0SGFu ZGxlciB7CisgICB2aXJ0dWFsIH5CYWNrdHJhY2VPdXRwdXRIYW5kbGVyKCkgPSBkZWZhdWx0Owor IH07CisgCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lm IGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorIHZvaWQgT3V0cHV0UG9pbnRl cih2b2lkKiBwb2ludGVyLCBCYWNrdHJhY2VPdXRwdXRIYW5kbGVyKiBoYW5kbGVyKSB7CisgICAv LyBUaGlzIHNob3VsZCBiZSBtb3JlIHRoYW4gZW5vdWdoIHRvIHN0b3JlIGEgNjQtYml0IG51bWJl ciBpbiBoZXg6CisgICAvLyAxNiBoZXggZGlnaXRzICsgMSBmb3IgbnVsbC10ZXJtaW5hdG9yLgor QEAgLTIxOSw3ICsyMTksNyBAQCB2b2lkIFByb2Nlc3NCYWNrdHJhY2Uodm9pZCogY29uc3QqIHRy YWNlCisgICB9CisgI2VuZGlmICAvLyBkZWZpbmVkKFVTRV9TWU1CT0xJWkUpCisgfQorLSNlbmRp ZiAgLy8gIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjZW5kaWYgIC8v ICFkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAKKyB2b2lkIFByaW50VG9T dGRlcnIoY29uc3QgY2hhciogb3V0cHV0KSB7CisgICAvLyBOT1RFOiBUaGlzIGNvZGUgTVVTVCBi ZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKK0BAIC04MzksNyAr ODM5LDcgQEAgc2l6ZV90IENvbGxlY3RTdGFja1RyYWNlKHZvaWQqKiB0cmFjZSwgcworICAgLy8g SWYgd2UgZG8gbm90IGhhdmUgdW53aW5kIHRhYmxlcywgdGhlbiB0cnkgdHJhY2luZyB1c2luZyBm cmFtZSBwb2ludGVycy4KKyAgIHJldHVybiBiYXNlOjpkZWJ1Zzo6VHJhY2VTdGFja0ZyYW1lUG9p bnRlcnMoY29uc3RfY2FzdDxjb25zdCB2b2lkKio+KHRyYWNlKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQsIDApOworLSNlbGlmICFkZWZpbmVk KF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2VsaWYgZGVmaW5lZChfX0dMSUJDX18p ICYmICFkZWZpbmVkKF9BSVgpCisgICAvLyBUaG91Z2ggdGhlIGJhY2t0cmFjZSBBUEkgbWFuIHBh Z2UgZG9lcyBub3QgbGlzdCBhbnkgcG9zc2libGUgbmVnYXRpdmUKKyAgIC8vIHJldHVybiB2YWx1 ZXMsIHdlIHRha2Ugbm8gY2hhbmNlLgorICAgcmV0dXJuIGJhc2U6OnNhdHVyYXRlZF9jYXN0PHNp emVfdD4oYmFja3RyYWNlKHRyYWNlLCBjb3VudCkpOworQEAgLTg1MiwxMyArODUyLDEzIEBAIHZv aWQgU3RhY2tUcmFjZTo6UHJpbnRXaXRoUHJlZml4KGNvbnN0IGMKKyAvLyBOT1RFOiBUaGlzIGNv ZGUgTVVTVCBiZSBhc3luYy1zaWduYWwgc2FmZSAoaXQncyB1c2VkIGJ5IGluLXByb2Nlc3MKKyAv LyBzdGFjayBkdW1waW5nIHNpZ25hbCBoYW5kbGVyKS4gTk8gbWFsbG9jIG9yIHN0ZGlvIGlzIGFs bG93ZWQgaGVyZS4KKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJ WCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBQcmludEJh Y2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcjsKKyAgIFByb2Nlc3NCYWNrdHJhY2UodHJhY2Vf LCBjb3VudF8sIHByZWZpeF9zdHJpbmcsICZoYW5kbGVyKTsKKyAjZW5kaWYKKyB9CisgCistI2lm ICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lmIGRlZmluZWQoX19H TElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorIHZvaWQgU3RhY2tUcmFjZTo6T3V0cHV0VG9TdHJl YW1XaXRoUHJlZml4KHN0ZDo6b3N0cmVhbSogb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciogcHJlZml4X3N0cmluZykgY29uc3QgeworICAg U3RyZWFtQmFja3RyYWNlT3V0cHV0SGFuZGxlciBoYW5kbGVyKG9zKTsKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9iYXNlL2xvZ2dpbmcuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9iYXNlL2xvZ2dpbmcuY2MKK0BAIC01ODIsNyArNTgyLDcgQEAgTG9nTWVzc2FnZTo6TG9nTWVz c2FnZShjb25zdCBjaGFyKiBmaWxlLAorIAorIExvZ01lc3NhZ2U6On5Mb2dNZXNzYWdlKCkgewor ICAgc2l6ZV90IHN0YWNrX3N0YXJ0ID0gc3RyZWFtXy50ZWxscCgpOworLSNpZiAhZGVmaW5lZChP RkZJQ0lBTF9CVUlMRCkgJiYgIWRlZmluZWQoT1NfTkFDTCkgJiYgIWRlZmluZWQoX19VQ0xJQkNf XykgJiYgXAorKyNpZiAhZGVmaW5lZChPRkZJQ0lBTF9CVUlMRCkgJiYgIWRlZmluZWQoT1NfTkFD TCkgJiYgZGVmaW5lZChfX0dMSUJDX18pICYmIFwKKyAgICAgIWRlZmluZWQoT1NfQUlYKQorICAg aWYgKHNldmVyaXR5XyA9PSBMT0dHSU5HX0ZBVEFMICYmICFiYXNlOjpkZWJ1Zzo6QmVpbmdEZWJ1 Z2dlZCgpKSB7CisgICAgIC8vIEluY2x1ZGUgYSBzdGFjayB0cmFjZSBvbiBhIGZhdGFsLCB1bmxl c3MgYSBkZWJ1Z2dlciBpcyBhdHRhY2hlZC4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92 OC9zcmMvY29kZWdlbi9leHRlcm5hbC1yZWZlcmVuY2UtdGFibGUuY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS92OC9zcmMvY29kZWdlbi9leHRlcm5hbC1yZWZlcmVuY2UtdGFibGUuY2MK K0BAIC0xMiw3ICsxMiw5IEBACisgCisgI2lmIGRlZmluZWQoREVCVUcpICYmIGRlZmluZWQoVjhf T1NfTElOVVgpICYmICFkZWZpbmVkKFY4X09TX0FORFJPSUQpCisgI2RlZmluZSBTWU1CT0xJWkVf RlVOQ1RJT04KKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+ CisrI2VuZGlmCisgCisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKK0BAIC0xMDMsNyArMTA1LDcgQEAg dm9pZCBFeHRlcm5hbFJlZmVyZW5jZVRhYmxlOjpJbml0KElzb2xhdAorIH0KKyAKKyBjb25zdCBj aGFyKiBFeHRlcm5hbFJlZmVyZW5jZVRhYmxlOjpSZXNvbHZlU3ltYm9sKHZvaWQqIGFkZHJlc3Mp IHsKKy0jaWZkZWYgU1lNQk9MSVpFX0ZVTkNUSU9OCisrI2lmIGRlZmluZWQoU1lNQk9MSVpFX0ZV TkNUSU9OKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGNoYXIqKiBuYW1lcyA9IGJhY2t0cmFj ZV9zeW1ib2xzKCZhZGRyZXNzLCAxKTsKKyAgIGNvbnN0IGNoYXIqIG5hbWUgPSBuYW1lc1swXTsK KyAgIC8vIFRoZSBhcnJheSBvZiBuYW1lcyBpcyBtYWxsb2MnZWQuIEhvd2V2ZXIsIGVhY2ggbmFt ZSBzdHJpbmcgaXMgc3RhdGljCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMjA5LWNocm9taXVtLW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDktY2hyb21pdW0tbXVzbC10aHJlYWQtc3RhY2tzaXpl LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGI3NjBhNDI4 YjI1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIw OS1jaHJvbWl1bS1tdXNsLXRocmVhZC1zdGFja3NpemUucGF0Y2gKQEAgLTAsMCArMSwyMiBAQAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3BwYXBpL3V0aWxpdHkvdGhyZWFkaW5nL3NpbXBs ZV90aHJlYWQuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9wcGFwaS91dGlsaXR5L3Ro cmVhZGluZy9zaW1wbGVfdGhyZWFkLmNjCitAQCAtMTMsNyArMTMsNyBAQCBuYW1lc3BhY2UgcHAg eworIG5hbWVzcGFjZSB7CisgCisgLy8gVXNlIDJNQiBkZWZhdWx0IHN0YWNrIHNpemUgZm9yIE5h dGl2ZSBDbGllbnQsIG90aGVyd2lzZSB1c2Ugc3lzdGVtIGRlZmF1bHQuCistI2lmIGRlZmluZWQo X19uYXRpdmVfY2xpZW50X18pCisrI2lmIGRlZmluZWQoX19uYXRpdmVfY2xpZW50X18pIHx8ICFk ZWZpbmVkKF9fR0xJQkNfXykKKyBjb25zdCBzaXplX3Qga0RlZmF1bHRTdGFja1NpemUgPSAyICog MTAyNCAqIDEwMjQ7CisgI2Vsc2UKKyBjb25zdCBzaXplX3Qga0RlZmF1bHRTdGFja1NpemUgPSAw OworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL3BsYXRm b3JtLXBvc2l4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvcGxh dGZvcm0vcGxhdGZvcm0tcG9zaXguY2MKK0BAIC04ODMsNyArODgzLDcgQEAgYm9vbCBUaHJlYWQ6 OlN0YXJ0KCkgeworICNpZiBWOF9PU19NQUNPU1gKKyAgICAgLy8gRGVmYXVsdCBvbiBNYWMgT1Mg WCBpcyA1MTJrQiAtLSBidW1wIHVwIHRvIDFNQgorICAgICBzdGFja19zaXplID0gMSAqIDEwMjQg KiAxMDI0OworLSNlbGlmIFY4X09TX0FJWAorKyNlbGlmIFY4X09TX0FJWCB8fCAhZGVmaW5lZChf X0dMSUJDX18pCisgICAgIC8vIERlZmF1bHQgb24gQUlYIGlzIDk2a0IgLS0gYnVtcCB1cCB0byAy TUIKKyAgICAgc3RhY2tfc2l6ZSA9IDIgKiAxMDI0ICogMTAyNDsKKyAjZW5kaWYKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTAtY2hyb21pdW0tbXVzbC1tc2d2 ZWMtcHVzaF9iYWNrLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMC1j aHJvbWl1bS1tdXNsLW1zZ3ZlYy1wdXNoX2JhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi45MDVkYWEyMjM3MDAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEwLWNocm9taXVtLW11c2wtbXNndmVjLXB1c2hf YmFjay5wYXRjaApAQCAtMCwwICsxLDE0IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v bmV0L3NvY2tldC91ZHBfc29ja2V0X3Bvc2l4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vbmV0L3NvY2tldC91ZHBfc29ja2V0X3Bvc2l4LmNjCitAQCAtMTE2Miw3ICsxMTYyLDExIEBA IFNlbmRSZXN1bHQgVURQU29ja2V0UG9zaXhTZW5kZXI6OkludGVybmEKKyAgICAgbXNnX2lvdi0+ cHVzaF9iYWNrKHtjb25zdF9jYXN0PGNoYXIqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+bGVu Z3RoKCl9KTsKKyAgIG1zZ3ZlYy0+cmVzZXJ2ZShidWZmZXJzLnNpemUoKSk7CisgICBmb3IgKHNp emVfdCBqID0gMDsgaiA8IGJ1ZmZlcnMuc2l6ZSgpOyBqKyspCisrI2lmIGRlZmluZWQoX19HTElC Q19fKQorICAgICBtc2d2ZWMtPnB1c2hfYmFjayh7e251bGxwdHIsIDAsICZtc2dfaW92W2pdLCAx LCBudWxscHRyLCAwLCAwfSwgMH0pOworKyNlbHNlCisrICAgIG1zZ3ZlYy0+cHVzaF9iYWNrKHt7 bnVsbHB0ciwgMCwgJm1zZ19pb3Zbal0sIDEsIDAsIDAsIDB9LCAwfSk7CisrI2VuZGlmCisgICBp bnQgcmVzdWx0ID0gSEFORExFX0VJTlRSKFNlbmRtbXNnKGZkLCAmbXNndmVjWzBdLCBidWZmZXJz LnNpemUoKSwgMCkpOworICAgU2VuZFJlc3VsdCBzZW5kX3Jlc3VsdCgwLCAwLCBzdGQ6Om1vdmUo YnVmZmVycykpOworICAgaWYgKHJlc3VsdCA8IDApIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTEtY2hyb21pdW0tbXVzbC1jYW5vbmljYWxpemUtZmlsZS1u YW1lLW11c2wucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjExLWNocm9t aXVtLW11c2wtY2Fub25pY2FsaXplLWZpbGUtbmFtZS1tdXNsLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDQzZTZiZDQ4OGJjCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMS1jaHJvbWl1bS1tdXNsLWNhbm9u aWNhbGl6ZS1maWxlLW5hbWUtbXVzbC5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbmFzbS9uYXNtbGliL3JlYWxwYXRoLmMKKysr KyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9uYXNtL25hc21saWIvcmVhbHBh dGguYworQEAgLTU1LDcgKzU1LDcgQEAKKyAgKi8KKyBjaGFyICpuYXNtX3JlYWxwYXRoKGNvbnN0 IGNoYXIgKnJlbF9wYXRoKQorIHsKKy0gICAgY2hhciAqcnAgPSBjYW5vbmljYWxpemVfZmlsZV9u YW1lKHJlbF9wYXRoKTsKKysgICAgY2hhciAqcnAgPSByZWFscGF0aChyZWxfcGF0aCwgTlVMTCk7 CisgICAgIHJldHVybiBycCA/IHJwIDogbmFzbV9zdHJkdXAocmVsX3BhdGgpOworIH0KKyAKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTItY2hyb21pdW0tbXVz bC1uby1nZXRjb250ZXh0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIx Mi1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRleHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi41NzU1ZjFiNDVhN2QKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEyLWNocm9taXVtLW11c2wtbm8tZ2V0Y29udGV4 dC5wYXRjaApAQCAtMCwwICsxLDI5IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2Vw dGlvbl9oYW5kbGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyLmNjCitAQCAtNDg5LDggKzQ4OSwxMCBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OlNpbXVs YXRlU2lnbmFsRGVsCisgICAvLyBFeGNlcHRpb25IYW5kbGVyOjpIYW5kbGVTaWduYWwoKS4KKyAg IHNpZ2luZm8uc2lfY29kZSA9IFNJX1VTRVI7CisgICBzaWdpbmZvLnNpX3BpZCA9IGdldHBpZCgp OworLSAgdWNvbnRleHRfdCBjb250ZXh0OworKyAgdWNvbnRleHRfdCBjb250ZXh0ID0geyAwIH07 CisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgZ2V0Y29udGV4dCgmY29udGV4dCk7CisrI2Vu ZGlmCisgICByZXR1cm4gSGFuZGxlU2lnbmFsKHNpZywgJnNpZ2luZm8sICZjb250ZXh0KTsKKyB9 CisgCitAQCAtNjc1LDkgKzY3NywxNCBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OldyaXRlTWlu aWR1bXAoKSB7CisgICBzeXNfcHJjdGwoUFJfU0VUX0RVTVBBQkxFLCAxLCAwLCAwLCAwKTsKKyAK KyAgIENyYXNoQ29udGV4dCBjb250ZXh0OworKworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAg IGludCBnZXRjb250ZXh0X3Jlc3VsdCA9IGdldGNvbnRleHQoJmNvbnRleHQuY29udGV4dCk7Cisg ICBpZiAoZ2V0Y29udGV4dF9yZXN1bHQpCisgICAgIHJldHVybiBmYWxzZTsKKysjZWxzZQorKyAg cmV0dXJuIGZhbHNlOworKyNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKQorICAgLy8g SW4gQ1BVRmlsbEZyb21VQ29udGV4dCBpbiBtaW5pZHVtcHdyaXRlci5jYyB0aGUgc3RhY2sgcG9p bnRlciBpcyByZXRyaWV2ZWQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMTMtY2hyb21pdW0tbXVzbC1jcmFzaHBhZC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAyMTMtY2hyb21pdW0tbXVzbC1jcmFzaHBhZC5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjcxYmJhZDJhZjE3ZQotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTMtY2hyb21pdW0tbXVzbC1j cmFzaHBhZC5wYXRjaApAQCAtMCwwICsxLDI0IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy9wdHJhY2Uu aAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL2NvbXBhdC9saW51eC9zeXMvcHRyYWNlLmgKK0BAIC0xNyw3ICsxNyw5IEBACisgCisgI2lu Y2x1ZGVfbmV4dCA8c3lzL3B0cmFjZS5oPgorIAorKyNpZmRlZiBfX0dMSUJDX18KKyAjaW5jbHVk ZSA8c3lzL2NkZWZzLmg+CisrI2VuZGlmCisgCisgLy8gaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjI0MzMKKyAjaWYgIWRlZmluZWQoUFRSQUNFX0dFVF9U SFJFQURfQVJFQSkgJiYgIWRlZmluZWQoUFRfR0VUX1RIUkVBRF9BUkVBKSAmJiBcCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9s aW51eC9wdHJhY2VyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCitAQCAtMjYsNiArMjYsOSBA QAorIAorICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpCisgI2luY2x1ZGUgPGFzbS9s ZHQuaD4KKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyNpbmNsdWRlIDxhc20vcHRyYWNlLWFi aS5oPgorKyNlbmRpZgorICNlbmRpZgorIAorIG5hbWVzcGFjZSBjcmFzaHBhZCB7CmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE0LWNocm9taXVtLW11c2wtZml4 ZXMucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE0LWNocm9taXVtLW11 c2wtZml4ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41 NWIyNjdlZDE3MTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMjE0LWNocm9taXVtLW11c2wtZml4ZXMucGF0Y2gKQEAgLTAsMCArMSwxMDggQEAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N1aWQvcHJvY2Vzc191dGls LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N1aWQvcHJvY2Vz c191dGlsLmgKK0BAIC0xMiw2ICsxMiwxNSBAQAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAjaW5j bHVkZSA8c3lzL3R5cGVzLmg+CisgCisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmlu ZWQoVEVNUF9GQUlMVVJFX1JFVFJZKQorKyMgZGVmaW5lIFRFTVBfRkFJTFVSRV9SRVRSWShleHBy ZXNzaW9uKSBcCisrCShfX2V4dGVuc2lvbl9fCQkJXAorKwkgKHsgbG9uZyBpbnQgX19yZXN1bHQ7 CQlcCisrCSAgZG8gX19yZXN1bHQgPSAobG9uZyBpbnQpIChleHByZXNzaW9uKTsgXAorKwkgIHdo aWxlIChfX3Jlc3VsdCA9PSAtMUwgJiYgZXJybm8gPT0gRUlOVFIpOyBcCisrCSAgX19yZXN1bHQ7 IH0pKQorKyNlbmRpZgorKworIC8vIFRoaXMgYWRqdXN0cyAvcHJvYy9wcm9jZXNzL29vbV9zY29y ZV9hZGogc28gdGhlIExpbnV4IE9PTSBraWxsZXIKKyAvLyB3aWxsIHByZWZlciBjZXJ0YWluIHBy b2Nlc3MgdHlwZXMgb3ZlciBvdGhlcnMuIFRoZSByYW5nZSBmb3IgdGhlCisgLy8gYWRqdXN0bWVu dCBpcyBbLTEwMDAsIDEwMDBdLCB3aXRoIFswLCAxMDAwXSBiZWluZyB1c2VyIGFjY2Vzc2libGUu CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2VydmljZXMvZGV2aWNlL3NlcmlhbC9zZXJp YWxfaW9faGFuZGxlcl9wb3NpeC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NlcnZp Y2VzL2RldmljZS9zZXJpYWwvc2VyaWFsX2lvX2hhbmRsZXJfcG9zaXguY2MKK0BAIC02LDYgKzYs NyBAQAorIAorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVkZSA8dGVybWlvcy5oPgor KyNpbmNsdWRlIDxhc20tZ2VuZXJpYy9pb2N0bHMuaD4KKyAKKyAjaW5jbHVkZSA8YWxnb3JpdGht PgorICNpbmNsdWRlIDx1dGlsaXR5PgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29t bW9uL3Vjb250ZXh0X3JlYWRlci5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21t b24vdWNvbnRleHRfcmVhZGVyLmgKK0BAIC0zOCw2ICszOCwxMCBAQAorICNpbmNsdWRlICJjb21t b24vbWVtb3J5X2FsbG9jYXRvci5oIgorICNpbmNsdWRlICJnb29nbGVfYnJlYWtwYWQvY29tbW9u L21pbmlkdW1wX2Zvcm1hdC5oIgorIAorKyNpZm5kZWYgX19HTElCQ19fCisrI2RlZmluZSBfbGli Y19mcHN0YXRlIF9mcHN0YXRlCisrI2VuZGlmCisrCisgbmFtZXNwYWNlIGdvb2dsZV9icmVha3Bh ZCB7CisgCisgLy8gV3JhcHMgcGxhdGZvcm0tZGVwZW5kZW50IGltcGxlbWVudGF0aW9ucyBvZiBh Y2Nlc3NvcnMgdG8gdWNvbnRleHRfdCBzdHJ1Y3RzLgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2ZmbXBlZy9saWJhdnV0aWwvY3B1LmMKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9mZm1wZWcvbGliYXZ1dGlsL2NwdS5jCitAQCAtNDEsOCAr NDEsMTAgQEAKKyAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisgI2VuZGlmCisgI2luY2x1ZGUgPHN5 cy90eXBlcy5oPgorKyNpZmRlZiBfX0dMSUJDX18KKyAjaW5jbHVkZSA8c3lzL3N5c2N0bC5oPgor ICNlbmRpZgorKyNlbmRpZgorICNpZiBIQVZFX1VOSVNURF9ICisgI2luY2x1ZGUgPHVuaXN0ZC5o PgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BlcmZl dHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0L2Jhc2UvdGhyZWFkX3V0aWxzLmgKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZXJmZXR0by9pbmNsdWRlL3BlcmZldHRvL2V4 dC9iYXNlL3RocmVhZF91dGlscy5oCitAQCAtMjksOSArMjksNyBAQAorICNpbmNsdWRlIDxhbGdv cml0aG0+CisgI2VuZGlmCisgCistI2lmIFBFUkZFVFRPX0JVSUxERkxBRyhQRVJGRVRUT19PU19B TkRST0lEKQorICNpbmNsdWRlIDxzeXMvcHJjdGwuaD4KKy0jZW5kaWYKKyAKKyAvLyBJbnRlcm5h bCBpbXBsZW1lbnRhdGlvbiB1dGlscyB0aGF0IGFyZW4ndCBhcyB3aWRlbHkgdXNlZnVsL3N1cHBv cnRlZCBhcworIC8vIGJhc2UvdGhyZWFkX3V0aWxzLmguCitAQCAtNTgsNyArNTYsNyBAQCBpbmxp bmUgYm9vbCBNYXliZVNldFRocmVhZE5hbWUoY29uc3Qgc3RkCisgCisgaW5saW5lIGJvb2wgR2V0 VGhyZWFkTmFtZShzdGQ6OnN0cmluZyYgb3V0X3Jlc3VsdCkgeworICAgY2hhciBidWZbMTZdID0g e307CistI2lmIFBFUkZFVFRPX0JVSUxERkxBRyhQRVJGRVRUT19PU19BTkRST0lEKQorKyNpZiAh ZGVmaW5lZChfX0dMSUJDX18pCisgICBpZiAocHJjdGwoUFJfR0VUX05BTUUsIGJ1ZikgIT0gMCkK KyAgICAgcmV0dXJuIGZhbHNlOworICNlbHNlCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCitAQCAt MTMwMCw2ICsxMzAwLDE4IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsKKyAjaWZuZGVmIF9fTlJf ZmFsbG9jYXRlCisgI2RlZmluZSBfX05SX2ZhbGxvY2F0ZSAgICAgICAgICAyODUKKyAjZW5kaWYK KysKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyNpZmRlZiBfX05SX3ByZWFkCisrI3VuZGVm IF9fTlJfcHJlYWQKKysjZW5kaWYKKysjaWZkZWYgX19OUl9wd3JpdGUKKysjdW5kZWYgX19OUl9w d3JpdGUKKysjZW5kaWYKKysjZGVmaW5lIF9fTlJfcHJlYWQgX19OUl9wcmVhZDY0CisrI2RlZmlu ZSBfX05SX3B3cml0ZSBfX05SX3B3cml0ZTY0CisrI2VuZGlmIC8qICFkZWZpbmVkKF9fR0xJQkNf XykgKi8KKysKKyAjaWZuZGVmIF9fTlJfZ2V0cmFuZG9tCisgI2RlZmluZSBfX05SX2dldHJhbmRv bSAgICAgICAgICAzMTgKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQv ZG5zL2Ruc19jb25maWdfc2VydmljZV9wb3NpeC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL25ldC9kbnMvZG5zX2NvbmZpZ19zZXJ2aWNlX3Bvc2l4LmNjCitAQCAtOTMsNyArOTMsOCBA QCBhYnNsOjpvcHRpb25hbDxEbnNDb25maWc+IFJlYWREbnNDb25maWcoCisgCisgICBhYnNsOjpv cHRpb25hbDxEbnNDb25maWc+IGRuc19jb25maWc7CisgLy8gVE9ETyhmdWNoc2lhKTogVXNlIHJl c19uaW5pdCgpIHdoZW4gaXQncyBpbXBsZW1lbnRlZCBvbiBGdWNoc2lhLgorLSNpZiBkZWZpbmVk KE9TX09QRU5CU0QpIHx8IGRlZmluZWQoT1NfRlVDSFNJQSkKKysjaWYgZGVmaW5lZChPU19PUEVO QlNEKSB8fCBkZWZpbmVkKE9TX0ZVQ0hTSUEpIHx8IFwKKysgIChkZWZpbmVkKE9TX0xJTlVYKSAm JiAhZGVmaW5lZChfX0dMSUJDX18pKQorICAgLy8gTm90ZTogcmVzX25pbml0IGluIGdsaWJjIGFs d2F5cyByZXR1cm5zIDAgYW5kIHNldHMgUkVTX0lOSVQuCisgICAvLyByZXNfaW5pdCBiZWhhdmVz IHRoZSBzYW1lIHdheS4KKyAgIG1lbXNldCgmX3JlcywgMCwgc2l6ZW9mKF9yZXMpKTsKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTUtY2hyb21pdW0tbXVzbC1j ZGVmcy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTUtY2hyb21pdW0t bXVzbC1jZGVmcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjlkMWRhZWMyOTExOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAyMTUtY2hyb21pdW0tbXVzbC1jZGVmcy5wYXRjaApAQCAtMCwwICsxLDI5IEBACist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlic3luYy9zcmMvaW5jbHVk ZS9zeW5jL3N5bmMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xp YnN5bmMvc3JjL2luY2x1ZGUvc3luYy9zeW5jLmgKK0BAIC0xOSwxMiArMTksMTMgQEAKKyAjaWZu ZGVmIF9fU1lTX0NPUkVfU1lOQ19ICisgI2RlZmluZSBfX1NZU19DT1JFX1NZTkNfSAorIAorLSNp bmNsdWRlIDxzeXMvY2RlZnMuaD4KKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisgI2luY2x1ZGUg PGxpbnV4L3R5cGVzLmg+CisgCistX19CRUdJTl9ERUNMUworKyNpZmRlZiBfX2NwbHVzcGx1cwor K2V4dGVybiAiQyIgeworKyNlbmRpZgorIAorIHN0cnVjdCBzeW5jX2xlZ2FjeV9tZXJnZV9kYXRh IHsKKyAgaW50MzJfdCBmZDI7CitAQCAtMTU4LDYgKzE1OSw5IEBAIHN0cnVjdCBzeW5jX3B0X2lu Zm8gKnN5bmNfcHRfaW5mbyhzdHJ1Y3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IHN5bmNfcHRfaW5mbyAqaXRyKTsKKyB2b2lkIHN5bmNfZmVuY2VfaW5mb19mcmVl KHN0cnVjdCBzeW5jX2ZlbmNlX2luZm9fZGF0YSAqaW5mbyk7CisgCistX19FTkRfREVDTFMKKysj aWZkZWYgX19jcGx1c3BsdXMKKyt9CisrI2VuZGlmCisrCisgCisgI2VuZGlmIC8qIF9fU1lTX0NP UkVfU1lOQ19IICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MjE2LWNocm9taXVtLW11c2wtc3RhdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMTYtY2hyb21pdW0tbXVzbC1zdGF0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uNDUwOWE2OTU3Y2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNi1jaHJvbWl1bS1tdXNsLXN0YXQucGF0Y2gKQEAg LTAsMCArMSwxMiBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMvZmls ZS5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxlLmgKK0BAIC0x OSw3ICsxOSw4IEBACisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorIAorICNpZiBk ZWZpbmVkKE9TX0JTRCkgfHwgZGVmaW5lZChPU19BUFBMRSkgfHwgZGVmaW5lZChPU19OQUNMKSB8 fCBcCistICAgIGRlZmluZWQoT1NfRlVDSFNJQSkgfHwgKGRlZmluZWQoT1NfQU5EUk9JRCkgJiYg X19BTkRST0lEX0FQSV9fIDwgMjEpCisrICAgIGRlZmluZWQoT1NfRlVDSFNJQSkgfHwgKGRlZmlu ZWQoT1NfQU5EUk9JRCkgJiYgX19BTkRST0lEX0FQSV9fIDwgMjEpIHx8IFwKKysgICAgKGRlZmlu ZWQoT1NfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisgc3RydWN0IHN0YXQ7CisgbmFt ZXNwYWNlIGJhc2UgeworIHR5cGVkZWYgc3RydWN0IHN0YXQgc3RhdF93cmFwcGVyX3Q7CmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE3LWNocm9taXVtLW11c2wt cmVzb2x2ZXIucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE3LWNocm9t aXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5jM2Q3YWZhZDliMTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMjE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKQEAgLTAsMCAr MSw3NyBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX2NvbmZpZ19z ZXJ2aWNlX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNf Y29uZmlnX3NlcnZpY2VfbGludXguY2MKK0BAIC00MzIsMTEgKzQzMiwxMyBAQCBjbGFzcyBEbnND b25maWdTZXJ2aWNlTGludXg6OkNvbmZpZ1JlYWRlCisgICAgIGJhc2U6OlNjb3BlZEJsb2NraW5n Q2FsbCBzY29wZWRfYmxvY2tpbmdfY2FsbCgKKyAgICAgICAgIEZST01fSEVSRSwgYmFzZTo6Qmxv Y2tpbmdUeXBlOjpNQVlfQkxPQ0spOworIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgICAg c3RkOjp1bmlxdWVfcHRyPHN0cnVjdCBfX3Jlc19zdGF0ZT4gcmVzID0gcmVzb2x2X3JlYWRlcl8t PkdldFJlc1N0YXRlKCk7CisgICAgIGlmIChyZXMpIHsKKyAgICAgICBkbnNfY29uZmlnXyA9IENv bnZlcnRSZXNTdGF0ZVRvRG5zQ29uZmlnKCpyZXMuZ2V0KCkpOworICAgICAgIHJlc29sdl9yZWFk ZXJfLT5DbG9zZVJlc1N0YXRlKHJlcy5nZXQoKSk7CisgICAgIH0KKysjZW5kaWYKKyAKKyAgICAg VU1BX0hJU1RPR1JBTV9CT09MRUFOKCJOZXQuRE5TLkRuc0NvbmZpZy5SZXNvbHYuUmVhZCIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBkbnNfY29uZmlnXy5oYXNfdmFsdWUoKSk7CitAQCAt NDg2LDYgKzQ4OCw3IEBAIGNsYXNzIERuc0NvbmZpZ1NlcnZpY2VMaW51eDo6Q29uZmlnUmVhZGUK KyAKKyBzdGQ6OnVuaXF1ZV9wdHI8c3RydWN0IF9fcmVzX3N0YXRlPgorIERuc0NvbmZpZ1NlcnZp Y2VMaW51eDo6UmVzb2x2UmVhZGVyOjpHZXRSZXNTdGF0ZSgpIHsKKysjaWYgZGVmaW5lZChfX0dM SUJDX18pCisgICBhdXRvIHJlcyA9IHN0ZDo6bWFrZV91bmlxdWU8c3RydWN0IF9fcmVzX3N0YXRl PigpOworICAgbWVtc2V0KHJlcy5nZXQoKSwgMCwgc2l6ZW9mKHN0cnVjdCBfX3Jlc19zdGF0ZSkp OworIAorQEAgLTQ5NSwxMSArNDk4LDE2IEBAIERuc0NvbmZpZ1NlcnZpY2VMaW51eDo6UmVzb2x2 UmVhZGVyOjpHZXQKKyAgIH0KKyAKKyAgIHJldHVybiByZXM7CisrI2Vsc2UKKysgIHJldHVybiBu dWxscHRyOworKyNlbmRpZgorIH0KKyAKKyB2b2lkIERuc0NvbmZpZ1NlcnZpY2VMaW51eDo6UmVz b2x2UmVhZGVyOjpDbG9zZVJlc1N0YXRlKAorICAgICBzdHJ1Y3QgX19yZXNfc3RhdGUqIHJlcykg eworKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIHJlc19uY2xvc2UocmVzKTsKKysjZW5kaWYK KyB9CisgCisgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpEbnNDb25maWdTZXJ2aWNlTGludXgoKQor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX3JlbG9hZGVyLmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MKK0BAIC00LDgg KzQsNyBAQAorIAorICNpbmNsdWRlICJuZXQvZG5zL2Ruc19yZWxvYWRlci5oIgorIAorLSNpZiBk ZWZpbmVkKE9TX1BPU0lYKSAmJiAhZGVmaW5lZChPU19BUFBMRSkgJiYgIWRlZmluZWQoT1NfT1BF TkJTRCkgJiYgXAorLSAgICAhZGVmaW5lZChPU19BTkRST0lEKSAmJiAhZGVmaW5lZChPU19GVUNI U0lBKQorKyNpZmRlZiBfX0dMSUJDX18KKyAKKyAjaW5jbHVkZSA8cmVzb2x2Lmg+CisgCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVyX21hbmFnZXIuY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFuYWdl ci5jYworQEAgLTI3MjAsOCArMjcyMCw3IEBAIEhvc3RSZXNvbHZlck1hbmFnZXI6Okhvc3RSZXNv bHZlck1hbmFnZXIKKyAgIE5ldHdvcmtDaGFuZ2VOb3RpZmllcjo6QWRkQ29ubmVjdGlvblR5cGVP YnNlcnZlcih0aGlzKTsKKyAgIGlmIChzeXN0ZW1fZG5zX2NvbmZpZ19ub3RpZmllcl8pCisgICAg IHN5c3RlbV9kbnNfY29uZmlnX25vdGlmaWVyXy0+QWRkT2JzZXJ2ZXIodGhpcyk7CistI2lmIGRl ZmluZWQoT1NfUE9TSVgpICYmICFkZWZpbmVkKE9TX0FQUExFKSAmJiAhZGVmaW5lZChPU19PUEVO QlNEKSAmJiBcCistICAgICFkZWZpbmVkKE9TX0FORFJPSUQpCisrI2lmZGVmIF9fR0xJQkNfXwor ICAgRW5zdXJlRG5zUmVsb2FkZXJJbml0KCk7CisgI2VuZGlmCisgCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVyX3Byb2MuY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfcHJvYy5jYworQEAgLTE3Niw4ICsx NzYsNyBAQCBpbnQgU3lzdGVtSG9zdFJlc29sdmVyQ2FsbChjb25zdCBzdGQ6OnN0CisgICBiYXNl OjpTY29wZWRCbG9ja2luZ0NhbGwgc2NvcGVkX2Jsb2NraW5nX2NhbGwoRlJPTV9IRVJFLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6OkJsb2Nr aW5nVHlwZTo6V0lMTF9CTE9DSyk7CisgCistI2lmIGRlZmluZWQoT1NfUE9TSVgpICYmICFkZWZp bmVkKE9TX0FQUExFKSAmJiAhZGVmaW5lZChPU19PUEVOQlNEKSAmJiBcCistICAgICFkZWZpbmVk KE9TX0FORFJPSUQpICYmICFkZWZpbmVkKE9TX0ZVQ0hTSUEpCisrI2lmZGVmIF9fR0xJQkNfXwor ICAgRG5zUmVsb2FkZXJNYXliZVJlbG9hZCgpOworICNlbmRpZgorICAgYWJzbDo6b3B0aW9uYWw8 QWRkcmVzc0luZm8+IGFpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDYwMC1jaHJvbWl1bS1zbmRpby5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzA2MDAtY2hyb21pdW0tc25kaW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi4wMzAyODc0ZmZiYTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNjAwLWNocm9taXVtLXNuZGlvLnBhdGNoCkBAIC0wLDAgKzEs ODc2IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvQlVJTEQuZ24KKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9CVUlMRC5nbgorQEAgLTcyLDYgKzcyLDkgQEAg Y29uZmlnKCJtZWRpYV9jb25maWciKSB7CisgICAgICAgZGVmaW5lcyArPSBbICJETE9QRU5fUFVM U0VBVURJTyIgXQorICAgICB9CisgICB9CisrICBpZiAodXNlX3NuZGlvKSB7CisrICAgIGRlZmlu ZXMgKz0gWyAiVVNFX1NORElPIiBdCisrICB9CisgICBpZiAodXNlX2NyYXMpIHsKKyAgICAgZGVm aW5lcyArPSBbICJVU0VfQ1JBUyIgXQorICAgfQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVt L21lZGlhL2F1ZGlvL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEv YXVkaW8vQlVJTEQuZ24KK0BAIC0yNDAsNiArMjQwLDE3IEBAIHNvdXJjZV9zZXQoImF1ZGlvIikg eworICAgICBzb3VyY2VzICs9IFsgImxpbnV4L2F1ZGlvX21hbmFnZXJfbGludXguY2MiIF0KKyAg IH0KKyAKKysgIGlmICh1c2Vfc25kaW8pIHsKKysgICAgbGlicyArPSBbICJzbmRpbyIgXQorKyAg ICBzb3VyY2VzICs9IFsKKysgICAgICAic25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5jYyIsCisr ICAgICAgInNuZGlvL3NuZGlvX2lucHV0LmNjIiwKKysgICAgICAic25kaW8vc25kaW9faW5wdXQu aCIsCisrICAgICAgInNuZGlvL3NuZGlvX291dHB1dC5jYyIsCisrICAgICAgInNuZGlvL3NuZGlv X291dHB1dC5oIgorKyAgICBdCisrICB9CisrCisgICBpZiAodXNlX2Fsc2EpIHsKKyAgICAgbGli cyArPSBbICJhc291bmQiIF0KKyAgICAgc291cmNlcyArPSBbCistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vbWVkaWEvYXVkaW8vbGludXgvYXVkaW9fbWFuYWdlcl9saW51eC5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL2xpbnV4L2F1ZGlvX21hbmFnZXJfbGlu dXguY2MKK0BAIC0yNSw2ICsyNSwxMSBAQAorICNpbmNsdWRlICJtZWRpYS9hdWRpby9wdWxzZS9h dWRpb19tYW5hZ2VyX3B1bHNlLmgiCisgI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3B1bHNlL3B1bHNl X3V0aWwuaCIKKyAjZW5kaWYKKysjaWYgZGVmaW5lZChVU0VfU05ESU8pCisrI2luY2x1ZGUgIm1l ZGlhL2F1ZGlvL3NuZGlvL2F1ZGlvX21hbmFnZXJfc25kaW8uaCIKKysjaW5jbHVkZSAibWVkaWEv YXVkaW8vc25kaW8vc25kaW9faW5wdXQuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8v c25kaW9fb3V0cHV0LmgiCisrI2VuZGlmCisgCisgbmFtZXNwYWNlIG1lZGlhIHsKKyAKK0BAIC0z Miw3ICszNyw4IEBAIGVudW0gTGludXhBdWRpb0lPIHsKKyAgIGtQdWxzZSwKKyAgIGtBbHNhLAor ICAga0NyYXMsCistICBrQXVkaW9JT01heCA9IGtDcmFzICAvLyBNdXN0IGFsd2F5cyBiZSBlcXVh bCB0byBsYXJnZXN0IGxvZ2dlZCBlbnRyeS4KKysgIGtTbmRpbywKKysgIGtBdWRpb0lPTWF4ID0g a1NuZGlvIC8vIE11c3QgYWx3YXlzIGJlIGVxdWFsIHRvIGxhcmdlc3QgbG9nZ2VkIGVudHJ5Lgor IH07CisgCisgc3RkOjp1bmlxdWVfcHRyPG1lZGlhOjpBdWRpb01hbmFnZXI+IENyZWF0ZUF1ZGlv TWFuYWdlcigKK0BAIC00NSw2ICs1MSwxNiBAQCBzdGQ6OnVuaXF1ZV9wdHI8bWVkaWE6OkF1ZGlv TWFuYWdlcj4gQ3JlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGF1ZGlvX2xvZ19mYWN0b3J5KTsKKyAgIH0KKyAKKysjaWYgZGVmaW5lZChVU0VfU05ESU8p CisrICBzdHJ1Y3Qgc2lvX2hkbCAqaGRsID0gc2lvX29wZW4oU0lPX0RFVkFOWSwgU0lPX1BMQVks IDApOworKyAgaWYgKGhkbCAhPSBOVUxMKSB7CisrICAgIHNpb19jbG9zZShoZGwpOworKyAgICBV TUFfSElTVE9HUkFNX0VOVU1FUkFUSU9OKCJNZWRpYS5MaW51eEF1ZGlvSU8iLCBrU25kaW8sIGtB dWRpb0lPTWF4ICsgMSk7CisrICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPEF1ZGlvTWFuYWdl clNuZGlvPihzdGQ6Om1vdmUoYXVkaW9fdGhyZWFkKSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZGlvX2xvZ19mYWN0b3J5KTsKKysgIH0KKysj ZW5kaWYKKysKKyAjaWYgZGVmaW5lZChVU0VfQ1JBUykKKyAgIGlmIChiYXNlOjpDb21tYW5kTGlu ZTo6Rm9yQ3VycmVudFByb2Nlc3MoKS0+SGFzU3dpdGNoKHN3aXRjaGVzOjprVXNlQ3JhcykpIHsK KyAgICAgVU1BX0hJU1RPR1JBTV9FTlVNRVJBVElPTigiTWVkaWEuTGludXhBdWRpb0lPIiwga0Ny YXMsIGtBdWRpb0lPTWF4ICsgMSk7CistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5jYworQEAgLTAs MCArMSwxNDggQEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMu IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292 ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRo ZSBMSUNFTlNFIGZpbGUuCisrCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL2F1ZGlvX21h bmFnZXJfc25kaW8uaCIKKysKKysjaW5jbHVkZSAiYmFzZS9tZXRyaWNzL2hpc3RvZ3JhbV9tYWNy b3MuaCIKKysjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcHRyX3V0aWwuaCIKKysjaW5jbHVkZSAibWVk aWEvYXVkaW8vYXVkaW9fZGV2aWNlX2Rlc2NyaXB0aW9uLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1 ZGlvL2F1ZGlvX291dHB1dF9kaXNwYXRjaGVyLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3Nu ZGlvL3NuZGlvX2lucHV0LmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX291 dHB1dC5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNlL2xpbWl0cy5oIgorKyNpbmNsdWRlICJtZWRp YS9iYXNlL21lZGlhX3N3aXRjaGVzLmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKysKKysv LyBNYXhpbXVtIG51bWJlciBvZiBvdXRwdXQgc3RyZWFtcyB0aGF0IGNhbiBiZSBvcGVuIHNpbXVs dGFuZW91c2x5LgorK3N0YXRpYyBjb25zdCBpbnQga01heE91dHB1dFN0cmVhbXMgPSA0OworKwor Ky8vIERlZmF1bHQgc2FtcGxlIHJhdGUgZm9yIGlucHV0IGFuZCBvdXRwdXQgc3RyZWFtcy4KKytz dGF0aWMgY29uc3QgaW50IGtEZWZhdWx0U2FtcGxlUmF0ZSA9IDQ4MDAwOworKworK3ZvaWQgQWRk RGVmYXVsdERldmljZShBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysgIERDSEVD SyhkZXZpY2VfbmFtZXMtPmVtcHR5KCkpOworKyAgZGV2aWNlX25hbWVzLT5wdXNoX2Zyb250KEF1 ZGlvRGV2aWNlTmFtZTo6Q3JlYXRlRGVmYXVsdCgpKTsKKyt9CisrCisrYm9vbCBBdWRpb01hbmFn ZXJTbmRpbzo6SGFzQXVkaW9PdXRwdXREZXZpY2VzKCkgeworKyAgcmV0dXJuIHRydWU7CisrfQor KworK2Jvb2wgQXVkaW9NYW5hZ2VyU25kaW86Okhhc0F1ZGlvSW5wdXREZXZpY2VzKCkgeworKyAg cmV0dXJuIHRydWU7CisrfQorKworK3ZvaWQgQXVkaW9NYW5hZ2VyU25kaW86OkdldEF1ZGlvSW5w dXREZXZpY2VOYW1lcygKKysgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7Cisr ICBEQ0hFQ0soZGV2aWNlX25hbWVzLT5lbXB0eSgpKTsKKysgIEFkZERlZmF1bHREZXZpY2UoZGV2 aWNlX25hbWVzKTsKKyt9CisrCisrdm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9PdXRw dXREZXZpY2VOYW1lcygKKysgICAgQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSB7Cisr ICBBZGREZWZhdWx0RGV2aWNlKGRldmljZV9uYW1lcyk7CisrfQorKworK2NvbnN0IGNoYXIqIEF1 ZGlvTWFuYWdlclNuZGlvOjpHZXROYW1lKCkgeworKyAgcmV0dXJuICJTTkRJTyI7CisrfQorKwor K0F1ZGlvUGFyYW1ldGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0SW5wdXRTdHJlYW1QYXJhbWV0 ZXJzKAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkKSB7CisrICBzdGF0aWMgY29u c3QgaW50IGtEZWZhdWx0SW5wdXRCdWZmZXJTaXplID0gMTAyNDsKKysKKysgIGludCB1c2VyX2J1 ZmZlcl9zaXplID0gR2V0VXNlckJ1ZmZlclNpemUoKTsKKysgIGludCBidWZmZXJfc2l6ZSA9IHVz ZXJfYnVmZmVyX3NpemUgPworKyAgICAgIHVzZXJfYnVmZmVyX3NpemUgOiBrRGVmYXVsdElucHV0 QnVmZmVyU2l6ZTsKKysKKysgIHJldHVybiBBdWRpb1BhcmFtZXRlcnMoCisrICAgICAgQXVkaW9Q YXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIENIQU5ORUxfTEFZT1VUX1NURVJFTywK KysgICAgICBrRGVmYXVsdFNhbXBsZVJhdGUsIGJ1ZmZlcl9zaXplKTsKKyt9CisrCisrQXVkaW9N YW5hZ2VyU25kaW86OkF1ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5pcXVlX3B0cjxBdWRpb1RocmVh ZD4gYXVkaW9fdGhyZWFkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQXVkaW9Mb2dGYWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSkKKysgICAgOiBBdWRpb01hbmFn ZXJCYXNlKHN0ZDo6bW92ZShhdWRpb190aHJlYWQpLAorKyAgICAgICAgICAgICAgICAgICAgICAg YXVkaW9fbG9nX2ZhY3RvcnkpIHsKKysgIERMT0coV0FSTklORykgPDwgIkF1ZGlvTWFuYWdlclNu ZGlvIjsKKysgIFNldE1heE91dHB1dFN0cmVhbXNBbGxvd2VkKGtNYXhPdXRwdXRTdHJlYW1zKTsK Kyt9CisrCisrQXVkaW9NYW5hZ2VyU25kaW86On5BdWRpb01hbmFnZXJTbmRpbygpIHsKKysgIFNo dXRkb3duKCk7CisrfQorKworK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6 TWFrZUxpbmVhck91dHB1dFN0cmVhbSgKKysgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJh bXMsCisrICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKKysgIERDSEVDS19F UShBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIsIHBhcmFtcy5mb3JtYXQoKSk7Cisr ICByZXR1cm4gTWFrZU91dHB1dFN0cmVhbShwYXJhbXMpOworK30KKysKKytBdWRpb091dHB1dFN0 cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAorKyAg ICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcm IGRldmljZV9pZCwKKysgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgeworKyAg RExPR19JRihFUlJPUiwgIWRldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVudGVkISI7 CisrICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIHBh cmFtcy5mb3JtYXQoKSk7CisrICByZXR1cm4gTWFrZU91dHB1dFN0cmVhbShwYXJhbXMpOworK30K KysKKytBdWRpb0lucHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxpbmVhcklucHV0 U3RyZWFtKAorKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29uc3Qg c3RkOjpzdHJpbmcmIGRldmljZV9pZCwKKysgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxs YmFjaykgeworKyAgRENIRUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVBUiwg cGFyYW1zLmZvcm1hdCgpKTsKKysgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsKKyt9 CisrCisrQXVkaW9JbnB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VMb3dMYXRlbmN5 SW5wdXRTdHJlYW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICBj b25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9n X2NhbGxiYWNrKSB7CisrICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9X X0xBVEVOQ1ksIHBhcmFtcy5mb3JtYXQoKSk7CisrICByZXR1cm4gTWFrZUlucHV0U3RyZWFtKHBh cmFtcyk7CisrfQorKworK0F1ZGlvUGFyYW1ldGVycyBBdWRpb01hbmFnZXJTbmRpbzo6R2V0UHJl ZmVycmVkT3V0cHV0U3RyZWFtUGFyYW1ldGVycygKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91 dHB1dF9kZXZpY2VfaWQsCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgaW5wdXRfcGFyYW1z KSB7CisrICAvLyBUT0RPKHRvbW1pKTogU3VwcG9ydCB8b3V0cHV0X2RldmljZV9pZHwuCisrICBE TE9HX0lGKEVSUk9SLCAhb3V0cHV0X2RldmljZV9pZC5lbXB0eSgpKSA8PCAiTm90IGltcGxlbWVu dGVkISI7CisrICBzdGF0aWMgY29uc3QgaW50IGtEZWZhdWx0T3V0cHV0QnVmZmVyU2l6ZSA9IDIw NDg7CisrCisrICBDaGFubmVsTGF5b3V0IGNoYW5uZWxfbGF5b3V0ID0gQ0hBTk5FTF9MQVlPVVRf U1RFUkVPOworKyAgaW50IHNhbXBsZV9yYXRlID0ga0RlZmF1bHRTYW1wbGVSYXRlOworKyAgaW50 IGJ1ZmZlcl9zaXplID0ga0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplOworKyAgaWYgKGlucHV0X3Bh cmFtcy5Jc1ZhbGlkKCkpIHsKKysgICAgc2FtcGxlX3JhdGUgPSBpbnB1dF9wYXJhbXMuc2FtcGxl X3JhdGUoKTsKKysgICAgY2hhbm5lbF9sYXlvdXQgPSBpbnB1dF9wYXJhbXMuY2hhbm5lbF9sYXlv dXQoKTsKKysgICAgYnVmZmVyX3NpemUgPSBzdGQ6Om1pbihidWZmZXJfc2l6ZSwgaW5wdXRfcGFy YW1zLmZyYW1lc19wZXJfYnVmZmVyKCkpOworKyAgfQorKworKyAgaW50IHVzZXJfYnVmZmVyX3Np emUgPSBHZXRVc2VyQnVmZmVyU2l6ZSgpOworKyAgaWYgKHVzZXJfYnVmZmVyX3NpemUpCisrICAg IGJ1ZmZlcl9zaXplID0gdXNlcl9idWZmZXJfc2l6ZTsKKysKKysgIHJldHVybiBBdWRpb1BhcmFt ZXRlcnMoCisrICAgICAgQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1ksIGNo YW5uZWxfbGF5b3V0LAorKyAgICAgIHNhbXBsZV9yYXRlLCBidWZmZXJfc2l6ZSk7CisrfQorKwor K0F1ZGlvSW5wdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlSW5wdXRTdHJlYW0oCisr ICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKSB7CisrICBETE9HKFdBUk5JTkcpIDw8 ICJNYWtlSW5wdXRTdHJlYW0iOworKyAgcmV0dXJuIG5ldyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0o dGhpcywKKysgICAgICAgICAgICAgQXVkaW9EZXZpY2VEZXNjcmlwdGlvbjo6a0RlZmF1bHREZXZp Y2VJZCwgcGFyYW1zKTsKKyt9CisrCisrQXVkaW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNu ZGlvOjpNYWtlT3V0cHV0U3RyZWFtKAorKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFt cykgeworKyAgRExPRyhXQVJOSU5HKSA8PCAiTWFrZU91dHB1dFN0cmVhbSI7CisrICByZXR1cm4g bmV3IFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0ocGFyYW1zLCB0aGlzKTsKKyt9CisrCisrfSAgLy8g bmFtZXNwYWNlIG1lZGlhCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vbWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oCitAQCAtMCwwICsxLDY1 IEBACisrLy8gQ29weXJpZ2h0IChjKSAyMDEyIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmln aHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5 IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5T RSBmaWxlLgorKworKyNpZm5kZWYgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9TTkRJ T19IXworKyNkZWZpbmUgTUVESUFfQVVESU9fU05ESU9fQVVESU9fTUFOQUdFUl9TTkRJT19IXwor KworKyNpbmNsdWRlIDxzZXQ+CisrCisrI2luY2x1ZGUgImJhc2UvY29tcGlsZXJfc3BlY2lmaWMu aCIKKysjaW5jbHVkZSAiYmFzZS9tYWNyb3MuaCIKKysjaW5jbHVkZSAiYmFzZS9tZW1vcnkvcmVm X2NvdW50ZWQuaCIKKysjaW5jbHVkZSAiYmFzZS90aHJlYWRpbmcvdGhyZWFkLmgiCisrI2luY2x1 ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX21hbmFnZXJfYmFzZS5oIgorKworK25hbWVzcGFjZSBtZWRp YSB7CisrCisrY2xhc3MgTUVESUFfRVhQT1JUIEF1ZGlvTWFuYWdlclNuZGlvIDogcHVibGljIEF1 ZGlvTWFuYWdlckJhc2UgeworKyBwdWJsaWM6CisrICBBdWRpb01hbmFnZXJTbmRpbyhzdGQ6OnVu aXF1ZV9wdHI8QXVkaW9UaHJlYWQ+IGF1ZGlvX3RocmVhZCwKKysgICAgICAgICAgICAgICAgICAg QXVkaW9Mb2dGYWN0b3J5KiBhdWRpb19sb2dfZmFjdG9yeSk7CisrICB+QXVkaW9NYW5hZ2VyU25k aW8oKSBvdmVycmlkZTsKKysKKysgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvTWFuYWdlci4K KysgIGJvb2wgSGFzQXVkaW9PdXRwdXREZXZpY2VzKCkgb3ZlcnJpZGU7CisrICBib29sIEhhc0F1 ZGlvSW5wdXREZXZpY2VzKCkgb3ZlcnJpZGU7CisrICB2b2lkIEdldEF1ZGlvSW5wdXREZXZpY2VO YW1lcyhBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIG92ZXJyaWRlOworKyAgdm9pZCBH ZXRBdWRpb091dHB1dERldmljZU5hbWVzKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9uYW1lcykg b3ZlcnJpZGU7CisrICBBdWRpb1BhcmFtZXRlcnMgR2V0SW5wdXRTdHJlYW1QYXJhbWV0ZXJzKAor KyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQpIG92ZXJyaWRlOworKyAgY29uc3Qg Y2hhciogR2V0TmFtZSgpIG92ZXJyaWRlOworKworKyAgLy8gSW1wbGVtZW50YXRpb24gb2YgQXVk aW9NYW5hZ2VyQmFzZS4KKysgIEF1ZGlvT3V0cHV0U3RyZWFtKiBNYWtlTGluZWFyT3V0cHV0U3Ry ZWFtKAorKyAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICAgIGNvbnN0 IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKyAgQXVkaW9PdXRwdXRTdHJl YW0qIE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtKAorKyAgICAgIGNvbnN0IEF1ZGlvUGFyYW1l dGVycyYgcGFyYW1zLAorKyAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQsCisrICAg ICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7CisrICBBdWRpb0lu cHV0U3RyZWFtKiBNYWtlTGluZWFySW5wdXRTdHJlYW0oCisrICAgICAgY29uc3QgQXVkaW9QYXJh bWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwKKysg ICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKKysgIEF1ZGlv SW5wdXRTdHJlYW0qIE1ha2VMb3dMYXRlbmN5SW5wdXRTdHJlYW0oCisrICAgICAgY29uc3QgQXVk aW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9p ZCwKKysgICAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKKysK KysgcHJvdGVjdGVkOgorKyAgQXVkaW9QYXJhbWV0ZXJzIEdldFByZWZlcnJlZE91dHB1dFN0cmVh bVBhcmFtZXRlcnMoCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZpY2VfaWQs CisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMpIG92ZXJyaWRlOwor KworKyBwcml2YXRlOgorKyAgLy8gQ2FsbGVkIGJ5IE1ha2VMaW5lYXJPdXRwdXRTdHJlYW0gYW5k IE1ha2VMb3dMYXRlbmN5T3V0cHV0U3RyZWFtLgorKyAgQXVkaW9PdXRwdXRTdHJlYW0qIE1ha2VP dXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOworKyAgQXVkaW9JbnB1 dFN0cmVhbSogTWFrZUlucHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKTsK KysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihBdWRpb01hbmFnZXJTbmRpbyk7CisrfTsK KysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKysKKysjZW5kaWYgIC8vIE1FRElBX0FVRElPX1NO RElPX0FVRElPX01BTkFHRVJfU05ESU9fSF8KKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9zbmRpb19pbnB1dC5jYworQEAgLTAsMCAr MSwyMDAgQEAKKysvLyBDb3B5cmlnaHQgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJp Z2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBi eSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VO U0UgZmlsZS4KKysKKysjaW5jbHVkZSAiYmFzZS9iaW5kLmgiCisrI2luY2x1ZGUgImJhc2UvbG9n Z2luZy5oIgorKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNl L2F1ZGlvX3RpbWVzdGFtcF9oZWxwZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8v YXVkaW9fbWFuYWdlcl9zbmRpby5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hdWRpb19tYW5h Z2VyLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmgiCisrCisr bmFtZXNwYWNlIG1lZGlhIHsKKysKKytzdGF0aWMgY29uc3QgU2FtcGxlRm9ybWF0IGtTYW1wbGVG b3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OworKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFt OjpPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0YSkKKyt7CisrICBTbmRpb0F1ZGlv SW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qPihh cmcpOworKworKyAgc2VsZi0+aHdfZGVsYXkgKz0gZGVsdGE7CisrfQorKworK3ZvaWQgKlNuZGlv QXVkaW9JbnB1dFN0cmVhbTo6VGhyZWFkRW50cnkodm9pZCAqYXJnKSB7CisrICBTbmRpb0F1ZGlv SW5wdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvSW5wdXRTdHJlYW0qPihh cmcpOworKworKyAgc2VsZi0+VGhyZWFkTG9vcCgpOworKyAgcmV0dXJuIE5VTEw7CisrfQorKwor K1NuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U25kaW9BdWRpb0lucHV0U3RyZWFtKEF1ZGlvTWFuYWdl ckJhc2UqIG1hbmFnZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9uYW1lLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1z KQorKyAgICA6IG1hbmFnZXIobWFuYWdlciksCisrICAgICAgcGFyYW1zKHBhcmFtcyksCisrICAg ICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFyYW1zKSksCisrICAgICAgc3RhdGUoa0Ns b3NlZCkgeworK30KKysKKytTbmRpb0F1ZGlvSW5wdXRTdHJlYW06On5TbmRpb0F1ZGlvSW5wdXRT dHJlYW0oKSB7CisrICBpZiAoc3RhdGUgIT0ga0Nsb3NlZCkKKysgICAgQ2xvc2UoKTsKKyt9Cisr CisrYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06Ok9wZW4oKSB7CisrICBzdHJ1Y3Qgc2lvX3Bh ciBwYXI7CisrICBpbnQgc2lnOworKworKyAgaWYgKHN0YXRlICE9IGtDbG9zZWQpCisrICAgIHJl dHVybiBmYWxzZTsKKysKKysgIGlmIChwYXJhbXMuZm9ybWF0KCkgIT0gQXVkaW9QYXJhbWV0ZXJz OjpBVURJT19QQ01fTElORUFSICYmCisrICAgICAgcGFyYW1zLmZvcm1hdCgpICE9IEF1ZGlvUGFy YW1ldGVyczo6QVVESU9fUENNX0xPV19MQVRFTkNZKSB7CisrICAgIExPRyhXQVJOSU5HKSA8PCAi VW5zdXBwb3J0ZWQgYXVkaW8gZm9ybWF0LiI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysK KysgIHNpb19pbml0cGFyKCZwYXIpOworKyAgcGFyLnJhdGUgPSBwYXJhbXMuc2FtcGxlX3JhdGUo KTsKKysgIHBhci5yY2hhbiA9IHBhcmFtcy5jaGFubmVscygpOworKyAgcGFyLmJpdHMgPSBTYW1w bGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpOworKyAgcGFyLmJwcyA9IHBh ci5iaXRzIC8gODsKKysgIHBhci5zaWcgPSBzaWcgPSBwYXIuYml0cyAhPSA4ID8gMSA6IDA7Cisr ICBwYXIubGUgPSBTSU9fTEVfTkFUSVZFOworKyAgcGFyLmFwcGJ1ZnN6ID0gcGFyYW1zLmZyYW1l c19wZXJfYnVmZmVyKCk7CisrCisrICBoZGwgPSBzaW9fb3BlbihTSU9fREVWQU5ZLCBTSU9fUkVD LCAwKTsKKysKKysgIGlmIChoZGwgPT0gTlVMTCkgeworKyAgICBMT0coRVJST1IpIDw8ICJDb3Vs ZG4ndCBvcGVuIGF1ZGlvIGRldmljZS4iOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrCisr ICBpZiAoIXNpb19zZXRwYXIoaGRsLCAmcGFyKSB8fCAhc2lvX2dldHBhcihoZGwsICZwYXIpKSB7 CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHNldCBhdWRpbyBwYXJhbWV0ZXJzLiI7Cisr ICAgIGdvdG8gYmFkX2Nsb3NlOworKyAgfQorKworKyAgaWYgKHBhci5yYXRlICAhPSAodW5zaWdu ZWQgaW50KXBhcmFtcy5zYW1wbGVfcmF0ZSgpIHx8CisrICAgICAgcGFyLnJjaGFuICE9ICh1bnNp Z25lZCBpbnQpcGFyYW1zLmNoYW5uZWxzKCkgfHwKKysgICAgICBwYXIuYml0cyAgIT0gKHVuc2ln bmVkIGludClTYW1wbGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpIHx8Cisr ICAgICAgcGFyLnNpZyAgICE9ICh1bnNpZ25lZCBpbnQpc2lnIHx8CisrICAgICAgKHBhci5icHMg PiAxICYmIHBhci5sZSAhPSBTSU9fTEVfTkFUSVZFKSB8fAorKyAgICAgIChwYXIuYml0cyAhPSBw YXIuYnBzICogOCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gcGFy YW1ldGVycy4iOworKyAgICBnb3RvIGJhZF9jbG9zZTsKKysgIH0KKysgIHN0YXRlID0ga1N0b3Bw ZWQ7CisrICBidWZmZXIgPSBuZXcgY2hhclthdWRpb19idXMtPmZyYW1lcygpICogcGFyYW1zLkdl dEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCldOworKyAgc2lvX29ubW92ZShoZGwsICZPbk1v dmVDYWxsYmFjaywgdGhpcyk7CisrICByZXR1cm4gdHJ1ZTsKKytiYWRfY2xvc2U6CisrICBzaW9f Y2xvc2UoaGRsKTsKKysgIHJldHVybiBmYWxzZTsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5w dXRTdHJlYW06OlN0YXJ0KEF1ZGlvSW5wdXRDYWxsYmFjayogY2IpIHsKKysKKysgIFN0YXJ0QWdj KCk7CisrCisrICBzdGF0ZSA9IGtSdW5uaW5nOworKyAgaHdfZGVsYXkgPSAwOworKyAgY2FsbGJh Y2sgPSBjYjsKKysgIHNpb19zdGFydChoZGwpOworKyAgaWYgKHB0aHJlYWRfY3JlYXRlKCZ0aHJl YWQsIE5VTEwsICZUaHJlYWRFbnRyeSwgdGhpcykgIT0gMCkgeworKyAgICBMT0coRVJST1IpIDw8 ICJGYWlsZWQgdG8gY3JlYXRlIHJlYWwtdGltZSB0aHJlYWQgZm9yIHJlY29yZGluZy4iOworKyAg ICBzaW9fc3RvcChoZGwpOworKyAgICBzdGF0ZSA9IGtTdG9wcGVkOworKyAgfQorK30KKysKKyt2 b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3RvcCgpIHsKKysKKysgIGlmIChzdGF0ZSA9PSBr U3RvcHBlZCkKKysgICAgcmV0dXJuOworKworKyAgc3RhdGUgPSBrU3RvcFdhaXQ7CisrICBwdGhy ZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKKysgIHNpb19zdG9wKGhkbCk7CisrICBzdGF0ZSA9IGtT dG9wcGVkOworKworKyAgU3RvcEFnYygpOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0 cmVhbTo6Q2xvc2UoKSB7CisrCisrICBpZiAoc3RhdGUgPT0ga0Nsb3NlZCkKKysgICAgcmV0dXJu OworKworKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQorKyAgICBTdG9wKCk7CisrCisrICBzdGF0 ZSA9IGtDbG9zZWQ7CisrICBkZWxldGUgW10gYnVmZmVyOworKyAgc2lvX2Nsb3NlKGhkbCk7Cisr CisrICBtYW5hZ2VyLT5SZWxlYXNlSW5wdXRTdHJlYW0odGhpcyk7CisrfQorKworK2RvdWJsZSBT bmRpb0F1ZGlvSW5wdXRTdHJlYW06OkdldE1heFZvbHVtZSgpIHsKKysgIC8vIE5vdCBzdXBwb3J0 ZWQKKysgIHJldHVybiAwLjA7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpT ZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgeworKyAgLy8gTm90IHN1cHBvcnRlZC4gRG8gbm90aGlu Zy4KKyt9CisrCisrZG91YmxlIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6R2V0Vm9sdW1lKCkgewor KyAgLy8gTm90IHN1cHBvcnRlZC4KKysgIHJldHVybiAwLjA7CisrfQorKworK2Jvb2wgU25kaW9B dWRpb0lucHV0U3RyZWFtOjpJc011dGVkKCkgeworKyAgLy8gTm90IHN1cHBvcnRlZC4KKysgIHJl dHVybiBmYWxzZTsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlNldE91dHB1 dERldmljZUZvckFlYygKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIG91dHB1dF9kZXZpY2VfaWQp IHsKKysgIC8vIE5vdCBzdXBwb3J0ZWQuCisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3Ry ZWFtOjpUaHJlYWRMb29wKHZvaWQpIHsKKysgIHNpemVfdCB0b2RvLCBuOworKyAgY2hhciAqZGF0 YTsKKysgIHVuc2lnbmVkIGludCBuZnJhbWVzOworKyAgZG91YmxlIG5vcm1hbGl6ZWRfdm9sdW1l ID0gMC4wOworKworKyAgbmZyYW1lcyA9IGF1ZGlvX2J1cy0+ZnJhbWVzKCk7CisrCisrICB3aGls ZSAoc3RhdGUgPT0ga1J1bm5pbmcgJiYgIXNpb19lb2YoaGRsKSkgeworKworKyAgICBHZXRBZ2NW b2x1bWUoJm5vcm1hbGl6ZWRfdm9sdW1lKTsKKysKKysgICAgLy8gcmVhZCBvbmUgYmxvY2sKKysg ICAgdG9kbyA9IG5mcmFtZXMgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0 KTsKKysgICAgZGF0YSA9IGJ1ZmZlcjsKKysgICAgd2hpbGUgKHRvZG8gPiAwKSB7CisrICAgICAg biA9IHNpb19yZWFkKGhkbCwgZGF0YSwgdG9kbyk7CisrICAgICAgaWYgKG4gPT0gMCkKKysgICAg ICAgIHJldHVybjsJLy8gdW5yZWNvdmVyYWJsZSBJL08gZXJyb3IKKysgICAgICB0b2RvIC09IG47 CisrICAgICAgZGF0YSArPSBuOworKyAgICB9CisrICAgIGh3X2RlbGF5IC09IG5mcmFtZXM7Cisr CisrICAgIC8vIGNvbnZlcnQgZnJhbWVzIGNvdW50IHRvIFRpbWVEZWx0YQorKyAgICBjb25zdCBi YXNlOjpUaW1lRGVsdGEgZGVsYXkgPSBBdWRpb1RpbWVzdGFtcEhlbHBlcjo6RnJhbWVzVG9UaW1l KGh3X2RlbGF5LAorKyAgICAgIHBhcmFtcy5zYW1wbGVfcmF0ZSgpKTsKKysKKysgICAgLy8gcHVz aCBpbnRvIGJ1cworKyAgICBhdWRpb19idXMtPkZyb21JbnRlcmxlYXZlZDxTaWduZWRJbnQxNlNh bXBsZVR5cGVUcmFpdHM+KHJlaW50ZXJwcmV0X2Nhc3Q8aW50MTZfdCo+KGJ1ZmZlciksIG5mcmFt ZXMpOworKworKyAgICAvLyBpbnZva2UgY2FsbGJhY2sKKysgICAgY2FsbGJhY2stPk9uRGF0YShh dWRpb19idXMuZ2V0KCksIGJhc2U6OlRpbWVUaWNrczo6Tm93KCkgLSBkZWxheSwgMS4pOworKyAg fQorK30KKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKy0tLSAvZGV2L251bGwKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9zbmRpb19pbnB1dC5oCitAQCAt MCwwICsxLDkxIEBACisrLy8gQ29weXJpZ2h0IDIwMTMgVGhlIENocm9taXVtIEF1dGhvcnMuIEFs bCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBM SUNFTlNFIGZpbGUuCisrCisrI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9I XworKyNkZWZpbmUgTUVESUFfQVVESU9fU05ESU9fU05ESU9fSU5QVVRfSF8KKysKKysjaW5jbHVk ZSA8c3RkaW50Lmg+CisrI2luY2x1ZGUgPHN0cmluZz4KKysjaW5jbHVkZSA8c25kaW8uaD4KKysK KysjaW5jbHVkZSAiYmFzZS9jb21waWxlcl9zcGVjaWZpYy5oIgorKyNpbmNsdWRlICJiYXNlL21h Y3Jvcy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS93ZWFrX3B0ci5oIgorKyNpbmNsdWRlICJi YXNlL3RpbWUvdGltZS5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hZ2NfYXVkaW9fc3RyZWFt LmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX2lvLmgiCisrI2luY2x1ZGUgIm1lZGlh L2F1ZGlvL2F1ZGlvX2RldmljZV9kZXNjcmlwdGlvbi5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNl L2F1ZGlvX3BhcmFtZXRlcnMuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworK2NsYXNzIEF1 ZGlvTWFuYWdlckJhc2U7CisrCisrLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9PdXRwdXRTdHJl YW0gdXNpbmcgc25kaW8oNykKKytjbGFzcyBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0gOiBwdWJsaWMg QWdjQXVkaW9TdHJlYW08QXVkaW9JbnB1dFN0cmVhbT4geworKyBwdWJsaWM6CisrICAvLyBQYXNz IHRoaXMgdG8gdGhlIGNvbnN0cnVjdG9yIGlmIHlvdSB3YW50IHRvIGF0dGVtcHQgYXV0by1zZWxl Y3Rpb24KKysgIC8vIG9mIHRoZSBhdWRpbyByZWNvcmRpbmcgZGV2aWNlLgorKyAgc3RhdGljIGNv bnN0IGNoYXIga0F1dG9TZWxlY3REZXZpY2VbXTsKKysKKysgIC8vIENyZWF0ZSBhIFBDTSBPdXRw dXQgc3RyZWFtIGZvciB0aGUgU05ESU8gZGV2aWNlIGlkZW50aWZpZWQgYnkKKysgIC8vIHxkZXZp Y2VfbmFtZXwuIElmIHVuc3VyZSBvZiB3aGF0IHRvIHVzZSBmb3IgfGRldmljZV9uYW1lfCwgdXNl CisrICAvLyB8a0F1dG9TZWxlY3REZXZpY2V8LgorKyAgU25kaW9BdWRpb0lucHV0U3RyZWFtKEF1 ZGlvTWFuYWdlckJhc2UqIGF1ZGlvX21hbmFnZXIsCisrICAgICAgICAgICAgICAgICAgICAgY29u c3Qgc3RkOjpzdHJpbmcmIGRldmljZV9uYW1lLAorKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKTsKKysKKysgIH5TbmRpb0F1ZGlvSW5wdXRTdHJlYW0o KSBvdmVycmlkZTsKKysKKysgIC8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvSW5wdXRTdHJlYW0u CisrICBib29sIE9wZW4oKSBvdmVycmlkZTsKKysgIHZvaWQgU3RhcnQoQXVkaW9JbnB1dENhbGxi YWNrKiBjYWxsYmFjaykgb3ZlcnJpZGU7CisrICB2b2lkIFN0b3AoKSBvdmVycmlkZTsKKysgIHZv aWQgQ2xvc2UoKSBvdmVycmlkZTsKKysgIGRvdWJsZSBHZXRNYXhWb2x1bWUoKSBvdmVycmlkZTsK KysgIHZvaWQgU2V0Vm9sdW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOworKyAgZG91YmxlIEdl dFZvbHVtZSgpIG92ZXJyaWRlOworKyAgYm9vbCBJc011dGVkKCkgb3ZlcnJpZGU7CisrICB2b2lk IFNldE91dHB1dERldmljZUZvckFlYyhjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9p ZCkgb3ZlcnJpZGU7CisrCisrIHByaXZhdGU6CisrCisrICBlbnVtIFN0cmVhbVN0YXRlIHsKKysg ICAga0Nsb3NlZCwgICAgICAgICAgICAvLyBOb3Qgb3BlbmVkIHlldAorKyAgICBrU3RvcHBlZCwg ICAgICAgICAgIC8vIERldmljZSBvcGVuZWQsIGJ1dCBub3Qgc3RhcnRlZCB5ZXQKKysgICAga1J1 bm5pbmcsICAgICAgICAgICAvLyBTdGFydGVkLCBkZXZpY2UgcGxheWluZworKyAgICBrU3RvcFdh aXQgICAgICAgICAgIC8vIFN0b3BwaW5nLCB3YWl0aW5nIGZvciB0aGUgcmVhbC10aW1lIHRocmVh ZCB0byBleGl0CisrICB9OworKworKyAgLy8gQy1zdHlsZSBjYWxsLWJhY2tzCisrICBzdGF0aWMg dm9pZCBPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0YSk7CisrICBzdGF0aWMgdm9p ZCogVGhyZWFkRW50cnkodm9pZCAqYXJnKTsKKysKKysgIC8vIENvbnRpbnVvdXNseSBtb3ZlcyBk YXRhIGZyb20gdGhlIGRldmljZSB0byB0aGUgY29uc3VtZXIKKysgIHZvaWQgVGhyZWFkTG9vcCgp OworKyAgLy8gT3VyIGNyZWF0b3IsIHRoZSBhdWRpbyBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlm aWVkIHdoZW4gd2UgY2xvc2UuCisrICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyOworKyAgLy8g UGFyYW1ldGVycyBvZiB0aGUgc291cmNlCisrICBBdWRpb1BhcmFtZXRlcnMgcGFyYW1zOworKyAg Ly8gV2Ugc3RvcmUgZGF0YSBoZXJlIGZvciBjb25zdW1lcgorKyAgc3RkOjp1bmlxdWVfcHRyPEF1 ZGlvQnVzPiBhdWRpb19idXM7CisrICAvLyBDYWxsLWJhY2sgdGhhdCBjb25zdW1lcyByZWNvcmRl ZCBkYXRhCisrICBBdWRpb0lucHV0Q2FsbGJhY2sqIGNhbGxiYWNrOyAgLy8gVmFsaWQgZHVyaW5n IGEgcmVjb3JkaW5nIHNlc3Npb24uCisrICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmljZQor KyAgc3RydWN0IHNpb19oZGwqIGhkbDsKKysgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0cmVh bQorKyAgZW51bSBTdHJlYW1TdGF0ZSBzdGF0ZTsKKysgIC8vIEhpZ2ggcHJpb3JpdHkgdGhyZWFk IHJ1bm5pbmcgVGhyZWFkTG9vcCgpCisrICBwdGhyZWFkX3QgdGhyZWFkOworKyAgLy8gTnVtYmVy IG9mIGZyYW1lcyBidWZmZXJlZCBpbiB0aGUgaGFyZHdhcmUKKysgIGludCBod19kZWxheTsKKysg IC8vIFRlbXBvcmFyeSBidWZmZXIgd2hlcmUgZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJs ZSBmb3JtYXQKKysgIGNoYXIqIGJ1ZmZlcjsKKysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lH TihTbmRpb0F1ZGlvSW5wdXRTdHJlYW0pOworK307CisrCisrfSAgLy8gbmFtZXNwYWNlIG1lZGlh CisrCisrI2VuZGlmICAvLyBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXworLS0tIC9k ZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlvL3Nu ZGlvX291dHB1dC5jYworQEAgLTAsMCArMSwxODMgQEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIg VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRo aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh biBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2luY2x1ZGUgImJhc2Uv bG9nZ2luZy5oIgorKyNpbmNsdWRlICJiYXNlL3RpbWUvdGltZS5oIgorKyNpbmNsdWRlICJiYXNl L3RpbWUvZGVmYXVsdF90aWNrX2Nsb2NrLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlv X21hbmFnZXJfYmFzZS5oIgorKyNpbmNsdWRlICJtZWRpYS9iYXNlL2F1ZGlvX3RpbWVzdGFtcF9o ZWxwZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgiCisr CisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytzdGF0aWMgY29uc3QgU2FtcGxlRm9ybWF0IGtTYW1w bGVGb3JtYXQgPSBrU2FtcGxlRm9ybWF0UzE2OworKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0 cmVhbTo6T25Nb3ZlQ2FsbGJhY2sodm9pZCAqYXJnLCBpbnQgZGVsdGEpIHsKKysgIFNuZGlvQXVk aW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRpb0F1ZGlvT3V0cHV0U3RyZWFt Kj4oYXJnKTsKKysKKysgIHNlbGYtPmh3X2RlbGF5IC09IGRlbHRhOworK30KKysKKyt2b2lkIFNu ZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9uVm9sQ2FsbGJhY2sodm9pZCAqYXJnLCB1bnNpZ25lZCBp bnQgdm9sKSB7CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGljX2Nhc3Q8 U25kaW9BdWRpb091dHB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT52b2wgPSB2b2w7Cisr fQorKworK3ZvaWQgKlNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZEVudHJ5KHZvaWQgKmFy ZykgeworKyAgU25kaW9BdWRpb091dHB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlv QXVkaW9PdXRwdXRTdHJlYW0qPihhcmcpOworKworKyAgc2VsZi0+VGhyZWFkTG9vcCgpOworKyAg cmV0dXJuIE5VTEw7CisrfQorKworK1NuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNuZGlvQXVkaW9P dXRwdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNlKiBtYW5h Z2VyKQorKyAgICA6IG1hbmFnZXIobWFuYWdlciksCisrICAgICAgcGFyYW1zKHBhcmFtcyksCisr ICAgICAgYXVkaW9fYnVzKEF1ZGlvQnVzOjpDcmVhdGUocGFyYW1zKSksCisrICAgICAgc3RhdGUo a0Nsb3NlZCksCisrICAgICAgbXV0ZXgoUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUikgeworK30K KysKKytTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjp+U25kaW9BdWRpb091dHB1dFN0cmVhbSgpIHsK KysgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQorKyAgICBDbG9zZSgpOworK30KKysKKytib29sIFNu ZGlvQXVkaW9PdXRwdXRTdHJlYW06Ok9wZW4oKSB7CisrICBzdHJ1Y3Qgc2lvX3BhciBwYXI7Cisr ICBpbnQgc2lnOworKworKyAgaWYgKHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRlcnM6 OkFVRElPX1BDTV9MSU5FQVIgJiYKKysgICAgICBwYXJhbXMuZm9ybWF0KCkgIT0gQXVkaW9QYXJh bWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKKysgICAgTE9HKFdBUk5JTkcpIDw8ICJV bnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKyAg c2lvX2luaXRwYXIoJnBhcik7CisrICBwYXIucmF0ZSA9IHBhcmFtcy5zYW1wbGVfcmF0ZSgpOwor KyAgcGFyLnBjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7CisrICBwYXIuYml0cyA9IFNhbXBsZUZv cm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCk7CisrICBwYXIuYnBzID0gcGFyLmJp dHMgLyA4OworKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5iaXRzICE9IDggPyAxIDogMDsKKysgIHBh ci5sZSA9IFNJT19MRV9OQVRJVkU7CisrICBwYXIuYXBwYnVmc3ogPSBwYXJhbXMuZnJhbWVzX3Bl cl9idWZmZXIoKTsKKysKKysgIGhkbCA9IHNpb19vcGVuKFNJT19ERVZBTlksIFNJT19QTEFZLCAw KTsKKysgIGlmIChoZGwgPT0gTlVMTCkgeworKyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCBv cGVuIGF1ZGlvIGRldmljZS4iOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBpZiAoIXNp b19zZXRwYXIoaGRsLCAmcGFyKSB8fCAhc2lvX2dldHBhcihoZGwsICZwYXIpKSB7CisrICAgIExP RyhFUlJPUikgPDwgIkNvdWxkbid0IHNldCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAgIGdvdG8g YmFkX2Nsb3NlOworKyAgfQorKyAgaWYgKHBhci5yYXRlICAhPSAodW5zaWduZWQgaW50KXBhcmFt cy5zYW1wbGVfcmF0ZSgpIHx8CisrICAgICAgcGFyLnBjaGFuICE9ICh1bnNpZ25lZCBpbnQpcGFy YW1zLmNoYW5uZWxzKCkgfHwKKysgICAgICBwYXIuYml0cyAgIT0gKHVuc2lnbmVkIGludClTYW1w bGVGb3JtYXRUb0JpdHNQZXJDaGFubmVsKGtTYW1wbGVGb3JtYXQpIHx8CisrICAgICAgcGFyLnNp ZyAgICE9ICh1bnNpZ25lZCBpbnQpc2lnIHx8CisrICAgICAgKHBhci5icHMgPiAxICYmIHBhci5s ZSAhPSBTSU9fTEVfTkFUSVZFKSB8fAorKyAgICAgIChwYXIuYml0cyAhPSBwYXIuYnBzICogOCkp IHsKKysgICAgTE9HKEVSUk9SKSA8PCAiVW5zdXBwb3J0ZWQgYXVkaW8gcGFyYW1ldGVycy4iOwor KyAgICBnb3RvIGJhZF9jbG9zZTsKKysgIH0KKysgIHN0YXRlID0ga1N0b3BwZWQ7CisrICB2b2xw ZW5kaW5nID0gMDsKKysgIHZvbCA9IDA7CisrICBidWZmZXIgPSBuZXcgY2hhclthdWRpb19idXMt PmZyYW1lcygpICogcGFyYW1zLkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCldOworKyAg c2lvX29ubW92ZShoZGwsICZPbk1vdmVDYWxsYmFjaywgdGhpcyk7CisrICBzaW9fb252b2woaGRs LCAmT25Wb2xDYWxsYmFjaywgdGhpcyk7CisrICByZXR1cm4gdHJ1ZTsKKysgYmFkX2Nsb3NlOgor KyAgc2lvX2Nsb3NlKGhkbCk7CisrICByZXR1cm4gZmFsc2U7CisrfQorKworK3ZvaWQgU25kaW9B dWRpb091dHB1dFN0cmVhbTo6Q2xvc2UoKSB7CisrICBpZiAoc3RhdGUgPT0ga0Nsb3NlZCkKKysg ICAgcmV0dXJuOworKyAgaWYgKHN0YXRlID09IGtSdW5uaW5nKQorKyAgICBTdG9wKCk7CisrICBz dGF0ZSA9IGtDbG9zZWQ7CisrICBkZWxldGUgW10gYnVmZmVyOworKyAgc2lvX2Nsb3NlKGhkbCk7 CisrICBtYW5hZ2VyLT5SZWxlYXNlT3V0cHV0U3RyZWFtKHRoaXMpOyAgLy8gQ2FsbHMgdGhlIGRl c3RydWN0b3IKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpTdGFydChBdWRp b1NvdXJjZUNhbGxiYWNrKiBjYWxsYmFjaykgeworKyAgc3RhdGUgPSBrUnVubmluZzsKKysgIGh3 X2RlbGF5ID0gMDsKKysgIHNvdXJjZSA9IGNhbGxiYWNrOworKyAgc2lvX3N0YXJ0KGhkbCk7Cisr ICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0aGlzKSAh PSAwKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgcmVhbC10aW1lIHRo cmVhZC4iOworKyAgICBzaW9fc3RvcChoZGwpOworKyAgICBzdGF0ZSA9IGtTdG9wcGVkOworKyAg fQorK30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0b3AoKSB7CisrICBpZiAo c3RhdGUgPT0ga1N0b3BwZWQpCisrICAgIHJldHVybjsKKysgIHN0YXRlID0ga1N0b3BXYWl0Owor KyAgcHRocmVhZF9qb2luKHRocmVhZCwgTlVMTCk7CisrICBzaW9fc3RvcChoZGwpOworKyAgc3Rh dGUgPSBrU3RvcHBlZDsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpTZXRW b2x1bWUoZG91YmxlIHYpIHsKKysgIHB0aHJlYWRfbXV0ZXhfbG9jaygmbXV0ZXgpOworKyAgdm9s ID0gdiAqIFNJT19NQVhWT0w7CisrICB2b2xwZW5kaW5nID0gMTsKKysgIHB0aHJlYWRfbXV0ZXhf dW5sb2NrKCZtdXRleCk7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6R2V0 Vm9sdW1lKGRvdWJsZSogdikgeworKyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7CisrICAq diA9IHZvbCAqICgxLiAvIFNJT19NQVhWT0wpOworKyAgcHRocmVhZF9tdXRleF91bmxvY2soJm11 dGV4KTsKKyt9CisrCisrLy8gVGhpcyBzdHJlYW0gaXMgYWx3YXlzIHVzZWQgd2l0aCBzdWIgc2Vj b25kIGJ1ZmZlciBzaXplcywgd2hlcmUgaXQncworKy8vIHN1ZmZpY2llbnQgdG8gc2ltcGx5IGFs d2F5cyBmbHVzaCB1cG9uIFN0YXJ0KCkuCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpG bHVzaCgpIHt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpUaHJlYWRMb29wKHZv aWQpIHsKKysgIGludCBhdmFpbCwgY291bnQsIHJlc3VsdDsKKysKKysgIHdoaWxlIChzdGF0ZSA9 PSBrUnVubmluZykgeworKyAgICAvLyBVcGRhdGUgdm9sdW1lIGlmIG5lZWRlZAorKyAgICBwdGhy ZWFkX211dGV4X2xvY2soJm11dGV4KTsKKysgICAgaWYgKHZvbHBlbmRpbmcpIHsKKysgICAgICB2 b2xwZW5kaW5nID0gMDsKKysgICAgICBzaW9fc2V0dm9sKGhkbCwgdm9sKTsKKysgICAgfQorKyAg ICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgpOworKworKyAgICAvLyBHZXQgZGF0YSB0byBw bGF5CisrICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0YW1wSGVs cGVyOjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCisrCXBhcmFtcy5zYW1wbGVfcmF0ZSgpKTsKKysg ICAgY291bnQgPSBzb3VyY2UtPk9uTW9yZURhdGEoZGVsYXksIGJhc2U6OlRpbWVUaWNrczo6Tm93 KCksIDAsIGF1ZGlvX2J1cy5nZXQoKSk7CisrICAgIGF1ZGlvX2J1cy0+VG9JbnRlcmxlYXZlZDxT aWduZWRJbnQxNlNhbXBsZVR5cGVUcmFpdHM+KGNvdW50LCByZWludGVycHJldF9jYXN0PGludDE2 X3QqPihidWZmZXIpKTsKKysgICAgaWYgKGNvdW50ID09IDApIHsKKysgICAgICAvLyBXZSBoYXZl IHRvIHN1Ym1pdCBzb21ldGhpbmcgdG8gdGhlIGRldmljZQorKyAgICAgIGNvdW50ID0gYXVkaW9f YnVzLT5mcmFtZXMoKTsKKysgICAgICBtZW1zZXQoYnVmZmVyLCAwLCBjb3VudCAqIHBhcmFtcy5H ZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpKTsKKysgICAgICBMT0coV0FSTklORykgPDwg Ik5vIGRhdGEgdG8gcGxheSwgcnVubmluZyBlbXB0eSBjeWNsZS4iOworKyAgICB9CisrCisrICAg IC8vIFN1Ym1pdCBkYXRhIHRvIHRoZSBkZXZpY2UKKysgICAgYXZhaWwgPSBjb3VudCAqIHBhcmFt cy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQpOworKyAgICByZXN1bHQgPSBzaW9fd3Jp dGUoaGRsLCBidWZmZXIsIGF2YWlsKTsKKysgICAgaWYgKHJlc3VsdCA9PSAwKSB7CisrICAgICAg TE9HKFdBUk5JTkcpIDw8ICJBdWRpbyBkZXZpY2UgZGlzY29ubmVjdGVkLiI7CisrICAgICAgYnJl YWs7CisrICAgIH0KKysKKysgICAgLy8gVXBkYXRlIGhhcmR3YXJlIHBvaW50ZXIKKysgICAgaHdf ZGVsYXkgKz0gY291bnQ7CisrICB9CisrfQorKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorLS0t IC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlv L3NuZGlvX291dHB1dC5oCitAQCAtMCwwICsxLDg2IEBACisrLy8gQ29weXJpZ2h0IChjKSAyMDEy IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0 aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBj YW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpZm5kZWYgTUVESUFf QVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCisrI2RlZmluZSBNRURJQV9BVURJT19TTkRJT19T TkRJT19PVVRQVVRfSF8KKysKKysjaW5jbHVkZSA8cHRocmVhZC5oPgorKyNpbmNsdWRlIDxzbmRp by5oPgorKworKyNpbmNsdWRlICJiYXNlL3RpbWUvdGlja19jbG9jay5oIgorKyNpbmNsdWRlICJi YXNlL3RpbWUvdGltZS5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hdWRpb19pby5oIgorKwor K25hbWVzcGFjZSBtZWRpYSB7CisrCisrY2xhc3MgQXVkaW9NYW5hZ2VyQmFzZTsKKysKKysvLyBJ bXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbSB1c2luZyBzbmRpbyg3KQorK2NsYXNz IFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0gOiBwdWJsaWMgQXVkaW9PdXRwdXRTdHJlYW0geworKyBw dWJsaWM6CisrICAvLyBUaGUgbWFuYWdlciBpcyBjcmVhdGluZyB0aGlzIG9iamVjdAorKyAgU25k aW9BdWRpb091dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAg ICAgICAgICAgICAgICAgICAgICAgQXVkaW9NYW5hZ2VyQmFzZSogbWFuYWdlcik7CisrICB2aXJ0 dWFsIH5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCk7CisrCisrICAvLyBJbXBsZW1lbnRhdGlvbiBv ZiBBdWRpb091dHB1dFN0cmVhbS4KKysgIGJvb2wgT3BlbigpIG92ZXJyaWRlOworKyAgdm9pZCBD bG9zZSgpIG92ZXJyaWRlOworKyAgdm9pZCBTdGFydChBdWRpb1NvdXJjZUNhbGxiYWNrKiBjYWxs YmFjaykgb3ZlcnJpZGU7CisrICB2b2lkIFN0b3AoKSBvdmVycmlkZTsKKysgIHZvaWQgU2V0Vm9s dW1lKGRvdWJsZSB2b2x1bWUpIG92ZXJyaWRlOworKyAgdm9pZCBHZXRWb2x1bWUoZG91YmxlKiB2 b2x1bWUpIG92ZXJyaWRlOworKyAgdm9pZCBGbHVzaCgpIG92ZXJyaWRlOworKworKyAgZnJpZW5k IHZvaWQgc25kaW9fb25tb3ZlKHZvaWQgKmFyZywgaW50IGRlbHRhKTsKKysgIGZyaWVuZCB2b2lk IHNuZGlvX29udm9sKHZvaWQgKmFyZywgdW5zaWduZWQgaW50IHZvbCk7CisrICBmcmllbmQgdm9p ZCAqc25kaW9fdGhyZWFkc3RhcnQodm9pZCAqYXJnKTsKKysKKysgcHJpdmF0ZToKKysgIGVudW0g U3RyZWFtU3RhdGUgeworKyAgICBrQ2xvc2VkLCAgICAgICAgICAgIC8vIE5vdCBvcGVuZWQgeWV0 CisrICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2aWNlIG9wZW5lZCwgYnV0IG5vdCBzdGFy dGVkIHlldAorKyAgICBrUnVubmluZywgICAgICAgICAgIC8vIFN0YXJ0ZWQsIGRldmljZSBwbGF5 aW5nCisrICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8gU3RvcHBpbmcsIHdhaXRpbmcgZm9yIHRo ZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKKysgIH07CisrCisrICAvLyBDLXN0eWxlIGNhbGwt YmFja3MKKysgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxiYWNrKHZvaWQgKmFyZywgaW50IGRlbHRh KTsKKysgIHN0YXRpYyB2b2lkIE9uVm9sQ2FsbGJhY2sodm9pZCAqYXJnLCB1bnNpZ25lZCBpbnQg dm9sKTsKKysgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRyeSh2b2lkICphcmcpOworKworKyAgLy8g Q29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUgcHJvZHVjZXIgdG8gdGhlIGRldmljZQor KyAgdm9pZCBUaHJlYWRMb29wKHZvaWQpOworKworKyAgLy8gT3VyIGNyZWF0b3IsIHRoZSBhdWRp byBtYW5hZ2VyIG5lZWRzIHRvIGJlIG5vdGlmaWVkIHdoZW4gd2UgY2xvc2UuCisrICBBdWRpb01h bmFnZXJCYXNlKiBtYW5hZ2VyOworKyAgLy8gUGFyYW1ldGVycyBvZiB0aGUgc291cmNlCisrICBB dWRpb1BhcmFtZXRlcnMgcGFyYW1zOworKyAgLy8gU291cmNlIHN0b3JlcyBkYXRhIGhlcmUKKysg IHN0ZDo6dW5pcXVlX3B0cjxBdWRpb0J1cz4gYXVkaW9fYnVzOworKyAgLy8gQ2FsbC1iYWNrIHRo YXQgcHJvZHVjZXMgZGF0YSB0byBwbGF5CisrICBBdWRpb1NvdXJjZUNhbGxiYWNrKiBzb3VyY2U7 CisrICAvLyBIYW5kbGUgb2YgdGhlIGF1ZGlvIGRldmljZQorKyAgc3RydWN0IHNpb19oZGwqIGhk bDsKKysgIC8vIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHN0cmVhbQorKyAgZW51bSBTdHJlYW1TdGF0 ZSBzdGF0ZTsKKysgIC8vIEhpZ2ggcHJpb3JpdHkgdGhyZWFkIHJ1bm5pbmcgVGhyZWFkTG9vcCgp CisrICBwdGhyZWFkX3QgdGhyZWFkOworKyAgLy8gUHJvdGVjdHMgdm9sLCB2b2xwZW5kaW5nIGFu ZCBod19kZWxheQorKyAgcHRocmVhZF9tdXRleF90IG11dGV4OworKyAgLy8gQ3VycmVudCB2b2x1 bWUgaW4gdGhlIDAuLlNJT19NQVhWT0wgcmFuZ2UKKysgIGludCB2b2w7CisrICAvLyBTZXQgdG8g MSBpZiB2b2x1bWVzIG11c3QgYmUgcmVmcmVzaGVkIGluIHRoZSByZWFsdGltZSB0aHJlYWQKKysg IGludCB2b2xwZW5kaW5nOworKyAgLy8gTnVtYmVyIG9mIGZyYW1lcyBidWZmZXJlZCBpbiB0aGUg aGFyZHdhcmUKKysgIGludCBod19kZWxheTsKKysgIC8vIFRlbXBvcmFyeSBidWZmZXIgd2hlcmUg ZGF0YSBpcyBzdG9yZWQgc25kaW8tY29tcGF0aWJsZSBmb3JtYXQKKysgIGNoYXIqIGJ1ZmZlcjsK KysKKysgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKTsK Kyt9OworKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorKworKyNlbmRpZiAgLy8gTUVESUFfQVVE SU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVk aWEvbWVkaWFfb3B0aW9ucy5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9t ZWRpYV9vcHRpb25zLmduaQorQEAgLTEyMSw2ICsxMjEsOSBAQCBkZWNsYXJlX2FyZ3MoKSB7Cisg ICAjIEVuYWJsZXMgcnVudGltZSBzZWxlY3Rpb24gb2YgQUxTQSBsaWJyYXJ5IGZvciBhdWRpby4K KyAgIHVzZV9hbHNhID0gZmFsc2UKKyAKKysgICMgRW5hYmxlIHJ1bnRpbWUgc2VsZWN0aW9uIG9m IHNuZGlvKDcpCisrICB1c2Vfc25kaW8gPSBmYWxzZQorKworICAgIyBBbHNhIHNob3VsZCBiZSB1 c2VkIG9uIG5vbi1BbmRyb2lkLCBub24tTWFjIFBPU0lYIHN5c3RlbXMuCisgICAjIEFsc2Egc2hv dWxkIGJlIHVzZWQgb24gZGVza3RvcCBDaHJvbWVjYXN0IGFuZCBhdWRpby1vbmx5IENocm9tZWNh c3QgYnVpbGRzLgorICAgaWYgKGlzX3Bvc2l4ICYmICFpc19hbmRyb2lkICYmICFpc19tYWMgJiYK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3MDAtYXJtdjdsLW5l b24ucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzAwLWFybXY3bC1uZW9u LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDQyZmExOWEw N2ExCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDcw MC1hcm12N2wtbmVvbi5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vc2tpYS9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NraWEv QlVJTEQuZ24KK0BAIC04MDAsNyArODAwLDYgQEAgc2tpYV9zb3VyY2Vfc2V0KCJza2lhX29wdHMi KSB7CisgICAgICAgICAjIFJvb3QgYnVpbGQgY29uZmlnIHNldHMgLW1mcHU9JGFybV9mcHUsIHdo aWNoIHdlIGV4cGVjdCB0byBiZSBuZW9uCisgICAgICAgICAjIHdoZW4gcnVubmluZyB0aGlzLgor ICAgICAgICAgaWYgKCFhcm1fdXNlX25lb24pIHsKKy0gICAgICAgICAgY29uZmlncyAtPSBbICIv L2J1aWxkL2NvbmZpZy9jb21waWxlcjpjb21waWxlcl9hcm1fZnB1IiBdCisgICAgICAgICAgIGNm bGFncyArPSBbICItbWZwdT1uZW9uIiBdCisgICAgICAgICB9CisgICAgICAgfQpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MC1jaHJvbWl1bS1tdXNsLWNyb3Nz LW5vLWFzbV9wdHJhY2VfaC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3 NTAtY2hyb21pdW0tbXVzbC1jcm9zcy1uby1hc21fcHRyYWNlX2gucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zY2YxMzI5MDhhZjQKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUwLWNocm9taXVtLW11c2wtY3Jv c3Mtbm8tYXNtX3B0cmFjZV9oLnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5jYworQEAgLTM4LDcgKzM4 LDEyIEBACisgCisgI2luY2x1ZGUgImNsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhf cHRyYWNlX2R1bXBlci5oIgorIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8 YXNtL3B0cmFjZS5oPgorKyNlbHNlCisrLyogRm9yIGFybSotbXVzbCB0aGlzIGRlZmluaXRpb24g aXMgbWlzc2luZyAqLworKyNkZWZpbmUgQVJNX3NwIHVyZWdzWzEzXQorKyNlbmRpZgorICNpbmNs dWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4K Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYwor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCitA QCAtMzIsNyArMzIsMTIgQEAKKyAKKyAjaW5jbHVkZSAiY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9saW51eF9jb3JlX2R1bXBlci5oIgorIAorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAj aW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKyNlbHNlCisrLyogRm9yIGFybSotbXVzbCB0aGlzIGRl ZmluaXRpb24gaXMgbWlzc2luZyAqLworKyNkZWZpbmUgQVJNX3NwIHVyZWdzWzEzXQorKyNlbmRp ZgorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5jbHVkZSA8ZWxmLmg+CisgI2luY2x1ZGUgPHN0 ZGlvLmg+CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUxLWNo cm9taXVtLW11c2wtYXJtLXVzZXJfdmZwLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDc1MS1jaHJvbWl1bS1tdXNsLWFybS11c2VyX3ZmcC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjZlMmQ2MmYzNWVlNgotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0t dXNlcl92ZnAucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8u aAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorQEAgLTE3LDYgKzE3LDE3IEBACisgCisgI2lu Y2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxzeXMvdXNlci5oPgorKyNpZiAhZGVmaW5lZChf X0dMSUJDX18pCisrc3RydWN0IHVzZXJfdmZwIHsKKysJdW5zaWduZWQgbG9uZyBsb25nIGZwcmVn c1szMl07CisrCXVuc2lnbmVkIGxvbmcgZnBzY3I7CisrfTsKKytzdHJ1Y3QgdXNlcl92ZnBfZXhj IHsKKysJdW5zaWduZWQgbG9uZyBmcGV4YzsKKysJdW5zaWduZWQgbG9uZyBmcGluc3Q7CisrCXVu c2lnbmVkIGxvbmcgZnBpbnN0MjsKKyt9OworKyNlbmRpZiAvKiAhZGVmaW5lZChfX0dMSUJDX18p ICovCisgCisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1Mi1jaHJvbWl1bS1tdXNsLWFybS1lbGZfYXV4dl90LnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1Mi1jaHJvbWl1bS1tdXNsLWFy bS1lbGZfYXV4dl90LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uNzExMmM4Y2ZkM2ZhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDc1Mi1jaHJvbWl1bS1tdXNsLWFybS1lbGZfYXV4dl90LnBhdGNoCkBAIC0wLDAg KzEsMTggQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9jcHUuY2MK KysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9jcHUuY2MKK0BAIC0xNjMs NiArMTYzLDE1IEBAIHN0YXRpYyBWOF9JTkxJTkUgdm9pZCBfX2NwdWlkKGludCBjcHVfaW4KKyAK KyAjaWYgVjhfSE9TVF9BUkNIX0FSTSB8fCBWOF9IT1NUX0FSQ0hfQVJNNjQKKyAKKysjaWZuZGVm IF9fR0xJQkNfXworKyNpbmNsdWRlIDxlbGYuaD4KKysjaWZkZWYgX19MUDY0X18KKyt0eXBlZGVm IEVsZjY0X2F1eHZfdCBlbGZfYXV4dl90OworKyNlbHNlCisrdHlwZWRlZiBFbGYzMl9hdXh2X3Qg ZWxmX2F1eHZfdDsKKysjZW5kaWYKKysjZW5kaWYKKysKKyBzdGF0aWMgdWludDMyX3QgUmVhZEVM RkhXQ2FwcygpIHsKKyAgIHVpbnQzMl90IHJlc3VsdCA9IDA7CisgI2lmIFY4X0dMSUJDX1BSRVJF USgyLCAxNikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA4MDEt Y2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzA4MDEtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNkNDA0M2UwM2I4OQotLS0g L2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA4MDEtY2hyb21p dW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5wYXRjaApAQCAtMCwwICsxLDI0IEBACistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCitAQCAtMTQsNiArMTQs MTAgQEAgaW1wb3J0KCIvL3VpL2dsL2ZlYXR1cmVzLmduaSIpCisgYXNzZXJ0KGlzX2xpbnV4IHx8 IGlzX2Nocm9tZW9zKQorIGFzc2VydCh1c2VfdmFhcGkpCisgCisrY29uZmlnKCJ2YWFwaV9wZXJt aXNzaXZlIikgeworKyAgY2ZsYWdzID0gWyAiLWZwZXJtaXNzaXZlIiBdCisrfQorKworIGdlbmVy YXRlX3N0dWJzKCJsaWJ2YV9zdHVicyIpIHsKKyAgIGV4dHJhX2hlYWRlciA9ICJ2YV9zdHViX2hl YWRlci5mcmFnbWVudCIKKyAgIHNpZ3MgPSBbICJ2YS5zaWdzIiBdCitAQCAtMTM2LDYgKzE0MCwx MCBAQCBzb3VyY2Vfc2V0KCJ2YWFwaSIpIHsKKyAgICAgXQorICAgfQorIAorKyAgaWYgKHRhcmdl dF9jcHUgPT0gIng4NiIpIHsKKysgICAgY29uZmlncyArPSBbICI6dmFhcGlfcGVybWlzc2l2ZSIg XQorKyAgfQorKworICAgaWYgKHVzZV94MTEpIHsKKyAgICAgZGVwcyArPSBbICIvL3VpL2dmeC94 IiBdCisgICAgIHNvdXJjZXMgKz0gWwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvY3Jvc3MtYnVpbGQtZXhhbXBsZXMucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy9jcm9zcy1idWlsZC1leGFtcGxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ1OTg2NDNjYzBkYwotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzL2Nyb3NzLWJ1aWxkLWV4YW1wbGVzLnBhdGNoCkBA IC0wLDAgKzEsMTYgQEAKKy0tLSBhL2V4YW1wbGVzL0NNYWtlTGlzdHMudHh0CisrKysgYi9leGFt cGxlcy9DTWFrZUxpc3RzLnR4dAorQEAgLTEsNyArMSw2IEBACisgY21ha2VfbWluaW11bV9yZXF1 aXJlZChWRVJTSU9OIDMuMTYpCisgCisgcXRfZXhhbXBsZXNfYnVpbGRfYmVnaW4oRVhURVJOQUxf QlVJTEQpCistaWYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HKSAjUVRCVUctODY1MzMKKyAgICAg aWYoVEFSR0VUIFF0OjpXZWJFbmdpbmVDb3JlKQorICAgICAgICAgYWRkX3N1YmRpcmVjdG9yeSh3 ZWJlbmdpbmVxdWljaykKKyAgICAgZW5kaWYoKQorQEAgLTE0LDUgKzEzLDQgQEAgaWYoTk9UIENN QUtFX0NST1NTQ09NUElMSU5HKSAjUVRCVUctODY1MworICAgICBpZihUQVJHRVQgUXQ6OlBkZldp ZGdldHMpCisgICAgICAgICBhZGRfc3ViZGlyZWN0b3J5KHBkZndpZGdldHMpCisgICAgIGVuZGlm KCkKKy1lbmRpZigpCisgcXRfZXhhbXBsZXNfYnVpbGRfZW5kKCkKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0 ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQyODQ3MGQzMTdhMwot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQpAQCAtMCww ICsxLDE3OSBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdlYmVuZ2luZScKK3BrZ25hbWU9 cXQ2LXdlYmVuZ2luZQordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQord3Jrc3JjPSJxdHdlYmVu Z2luZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZp Z3VyZV9hcmdzPSIKKyAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3RlbV9mZm1wZWc9T04KKyAt RFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3RlbV9saWJldmVudD1PTgorIC1EUVRfRkVBVFVSRV93 ZWJlbmdpbmVfc3lzdGVtX2duPU9OCisgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1faWN1 PU9OCisgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV93ZWJydGNfcGlwZXdpcmU9T04KKyAtRE5pbmph X0VYRUNVVEFCTEU9JFhCUFNfV1JBUFBFUkRJUi9uaW5qYQorICQodm9wdF9ib29sIGV4YW1wbGVz IFFUX0JVSUxEX0VYQU1QTEVTKQorIC1EUEtHX0NPTkZJR19IT1NUX0VYRUNVVEFCTEU9JHtQS0df Q09ORklHX0ZPUl9CVUlMRH0iCitob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwg cGtnLWNvbmZpZyBub2RlanMgcHl0aG9uMy1odG1sNWxpYgorIHF0Ni1kZWNsYXJhdGl2ZS1kZXZl bCBwcm90b2J1ZiBncGVyZiBmbGV4IG5zcy1kZXZlbCBsaWJ3ZWJwLWRldmVsCisgaWN1LWRldmVs IGxpYmV2ZW50LWRldmVsIgorbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJh dGl2ZS1kZXZlbCBwdWxzZWF1ZGlvLWRldmVsCisgcXQ2LXRvb2xzLWRldmVsIHF0Ni13ZWJzb2Nr ZXRzLWRldmVsIGxpYmZsYWMtZGV2ZWwKKyBhbHNhLWxpYi1kZXZlbCBsaWJ2cHgtZGV2ZWwgcGNp dXRpbHMtZGV2ZWwgb3B1cy1kZXZlbCBsaWJ4c2x0LWRldmVsCisgbGlieG1sMi1kZXZlbCBmcmVl dHlwZS1kZXZlbCBsY21zMi1kZXZlbCBsaWJ3ZWJwLWRldmVsIGljdS1kZXZlbAorIHJlMi1kZXZl bCB6bGliLWRldmVsIGxpYnBuZy1kZXZlbCBtaW5pemlwLWRldmVsIGhhcmZidXp6LWRldmVsCisg bnNzLWRldmVsIGxpYlhjdXJzb3ItZGV2ZWwgbGliWGNvbXBvc2l0ZS1kZXZlbCBsaWJYU2NyblNh dmVyLWRldmVsCisgcHJvdG9idWYtZGV2ZWwgZmZtcGVnLWRldmVsIHNuYXBweS1kZXZlbCBsaWJl dmVudC1kZXZlbCBwaXBld2lyZS1kZXZlbAorIGxpYnhrYmZpbGUtZGV2ZWwgcXQ2LWxvY2F0aW9u LWRldmVsIHF0Ni13ZWJjaGFubmVsLWRldmVsIGxpYnhzaG1mZW5jZS1kZXZlbCIKKyMgTm90IHdv cmtpbmcgcHJvcGVybHkgd2l0aCBIVFRQUyB3aXRob3V0IHRob3NlIHBhY2thZ2VzCisjIE5vdCBz dHJpY3QgZGVwZW5kZW5jaWVzLCB0aG91Z2gKK2RlcGVuZHM9InF0Ni1wbHVnaW4tdGxzLW9wZW5z c2wgcXQ2LXBsdWdpbi10bHMtcWNlcnRvbmx5Igorc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0g YXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIFdlYmVuZ2luZSIKK21haW50YWluZXI9Ikpv aG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCitsaWNlbnNlPSJHUEwtMy4wLW9ubHksIEdQTC0yLjAt b25seSwgTEdQTC0zLjAtb25seSBCU0QtMy1DbGF1c2UiCitob21lcGFnZT0iaHR0cHM6Ly93d3cu cXQuaW8iCitkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFz ZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR3ZWJlbmdpbmUtZXZl cnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCitjaGVja3N1bT1hZDdhMzNiMjFhOTU2ZGVk YTM3YzU4N2Q1MGY4MjFjYTM4MTY0MDNhZTMxYmE5YjVkNTlkMDE1NjFhZDY2ZTQ3CisKK2lmIFsg LXogIiRDUk9TU19CVUlMRCIgXTt0aGVuCisJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9U T09MU19XSEVOX0NST1NTQ09NUElMSU5HPVRSVUUiCisJY29uZmlndXJlX2FyZ3MrPSIgLURDTUFL RV9UT09MQ0hBSU5fRklMRT0vdXNyL2xpYi9jbWFrZS9RdDYvcXQudG9vbGNoYWluLmNtYWtlIgor ZmkKKworaWYgWyAiJFhCUFNfTElCQyIgPSAibXVzbCIgXTsgdGhlbgorCWhvc3RtYWtlZGVwZW5k cys9IiBtdXNsLWxlZ2FjeS1jb21wYXQiCitmaQorCitpZiBbICIkWEJQU19UQVJHRVRfTElCQyIg PSAibXVzbCIgXTsgdGhlbgorCW1ha2VkZXBlbmRzKz0iIG11c2wtbGVnYWN5LWNvbXBhdCIKK2Zp CisKK2lmIFsgISAiJFhCUFNfV09SRFNJWkUiID0gIiRYQlBTX1RBUkdFVF9XT1JEU0laRSIgXTsg dGhlbgorCWJyb2tlbj0id2ViZW5naW5lIGNhbiBiZSBidWlsdCBvbmx5IGlmIHdvcmQgc2l6ZSBt YXRjaGVzIgorZmkKKworaWYgWyAiJFhCUFNfV09SRFNJWkUiIC1lcSAzMiBdOyB0aGVuCisJbm9k ZWJ1Zz15ZXMKKwlMREZMQUdTPSItV2wsLS1uby1rZWVwLW1lbW9yeSIKK2ZpCisKK2lmIFsgIiRY QlBTX1RBUkdFVF9FTkRJQU4iICE9ICJsZSIgXTsgdGhlbgorCWJyb2tlbj0id2ViZW5naW5lIG9u bHkgc3VwcG9ydHMgbGl0dGxlIGVuZGlhbiIKK2ZpCisKK2J1aWxkX29wdGlvbnM9InNuZGlvIGV4 YW1wbGVzIgorYnVpbGRfb3B0aW9uc19kZWZhdWx0PSIiCitkZXNjX29wdGlvbl9leGFtcGxlcz0i QnVpbGQgZXhhbXBsZXMiCitkZXNjX29wdGlvbl9zbmRpbz0iRW5hYmxlIHN1cHBvcnQgZm9yIHNu ZGlvIgorCitzdWJwYWNrYWdlcz0icXQ2LXdlYmVuZ2luZS1kZXZlbCIKKworaWYgWyAiJGJ1aWxk X29wdGlvbl9leGFtcGxlcyIgXTsgdGhlbgorCXN1YnBhY2thZ2VzKz0iIHF0Ni13ZWJlbmdpbmUt ZXhhbXBsZXMiCitmaQorCitfYm9vdHN0cmFwX2duKCkgeworCSMgQm9vdHN0cmFwIGduIChnZW5l cmF0ZSBuaW5qYSkKKwllY2hvICJCb290c3RyYXBwaW5nICdnbiciCisJY2QgJHt3cmtzcmN9L3Ny Yy8zcmRwYXJ0eS9nbgorCUNGTEFHUz0iJENGTEFHU19ob3N0IiBDWFhGTEFHUz0iJENYWEZMQUdT X2hvc3QiIExERkxBR1M9IiRMREZMQUdTX2hvc3QiIFwKKwlQS0dDT05GSUc9L3Vzci9iaW4vcGtn Y29uZmlnIFBLR19DT05GSUdfUEFUSD0iL3Vzci9saWIvcGtnY29uZmlnOi91c3Ivc2hhcmUvcGtn Y29uZmlnIiBcCisJCXB5dGhvbjMgYnVpbGQvZ2VuLnB5IC0tbm8tbGFzdC1jb21taXQtcG9zaXRp b24gLS1vdXQtcGF0aCBcCisJCQkke3dya3NyY30vc3JjLzNyZHBhcnR5L2duL291dC9SZWxlYXNl IC0tY2MgIiR7Q0NfaG9zdDotJENDfSIgXAorCQkJLS1jeHggIiR7Q1hYX2hvc3Q6LSRDWFh9IiAt LWxkICIke0NYWF9ob3N0Oi0kQ1hYfSIgLS1hciAiJHtBUl9ob3N0Oi0kQVJ9IiBcCisJCQktLXF0 LXZlcnNpb24gIiR7dmVyc2lvbn0ucXR3ZWJlbmdpbmUucXQuaW8iCisJbmluamEgLUMgb3V0L1Jl bGVhc2UgZ24KKwljZCAke3dya3NyY30KK30KKworX3VuYnVuZGxlX2xpYnMoKSB7CisJY2QgJHt3 cmtzcmN9L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bQorCWVjaG8gRHJvcHBpbmcgYnVuZGxlZCBsaWJz IGZyb20gY2hyb21pdW0KKwkjIFVzZSBzeXN0ZW0tcHJvdmlkZWQgbGlicmFyaWVzLgorCSMgVE9E TzogdXNlX3N5c3RlbV9odW5zcGVsbCAodXBzdHJlYW0gY2hhbmdlcyBuZWVkZWQpLgorCSMgVE9E TzogdXNlX3N5c3RlbV9saWJzcnRwLgorCSMgVE9ETzogdXNlX3N5c3RlbV9saWJ1c2IgKGh0dHA6 Ly9jcmJ1Zy5jb20vMjY2MTQ5KS4KKwkjIFRPRE86IHVzZV9zeXN0ZW1fc3NsIChodHRwOi8vY3Ji dWcuY29tLzU4MDg3KS4KKwkjIFRPRE86IHVzZV9zeXN0ZW1fc3FsaXRlIChodHRwOi8vY3JidWcu Y29tLzIyMjA4KS4KKwkjIFRPRE86IHVzZV9zeXN0ZW1faWN1IChzZWdmYXVsdHMpCisJIyB1c2Vf c3lzdGVtX3Byb3RvYnVmCisJIyB1c2Vfc3lzdGVtX3Y4PTEKKwkjIHVzZV9zeXN0ZW1femxpYj0x CisJIyBiemlwMiBqc29uY3BwIG1pbml6aXAgeGRnX3V0aWxzIHNwZWV4CisJc3lzdGVtPSIKKwkJ ZmZtcGVnCisJCWZsYWMKKwkJZm9udGNvbmZpZworCQlmcmVldHlwZQorCQloYXJmYnV6ei1uZwor CQlpY3UKKwkJbGliZHJtCisJCWxpYmV2ZW50CisJCWxpYmpwZWcKKwkJbGlicG5nCisJCWxpYndl YnAKKwkJbGlieG1sCisJCWxpYnhzbHQKKwkJb3B1cworCQlyZTIKKwkJc25hcHB5CisJIgorCWJ1 aWxkL2xpbnV4L3VuYnVuZGxlL3JlcGxhY2VfZ25fZmlsZXMucHkgLS1zeXN0ZW0tbGlicmFyaWVz ICR7c3lzdGVtfQorfQorCisjIFByb3ZpZGUgYSB3cmFwcGVyIHRvIHJ1biAuL3hicHMtc3JjIC1q IDEgYnVpbGQgbGF0ZXIKK193cmFwX25pbmphKCkgeworCWNhdCA8PC0nX0VPRicgPiIkWEJQU19X UkFQUEVSRElSIi9uaW5qYQorCSMhL2Jpbi9zaAorCisJZXhlYyAvdXNyL2Jpbi9uaW5qYSAkTklO SkFGTEFHUyAiJEAiCisJX0VPRgorCWNobW9kICt4ICIkWEJQU19XUkFQUEVSRElSIi9uaW5qYQor fQorCitwcmVfY29uZmlndXJlKCkgeworCV9ib290c3RyYXBfZ24KKwkjIF91bmJ1bmRsZV9saWJz CisJX3dyYXBfbmluamEKKwlleHBvcnQgUEFUSD0iJFBBVEg6JHt3cmtzcmN9L3NyYy8zcmRwYXJ0 eS9nbi9vdXQvUmVsZWFzZSIKK30KKworcHJlX2J1aWxkKCkgeworCWV4cG9ydCBQQVRIPSIkUEFU SDoke3dya3NyY30vc3JjLzNyZHBhcnR5L2duL291dC9SZWxlYXNlIgorCWV4cG9ydCBOSU5KQUZM QUdTPSIkbWFrZWpvYnMiCisKK30KKworcHJlX2luc3RhbGwoKSB7CisJZXhwb3J0IFBBVEg9IiRQ QVRIOiR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2UiCit9CisKK3Bvc3RfaW5z dGFsbCgpIHsKKwlsb2NhbCBfZmlsZQorCWZpbmQgIiR7REVTVERJUn0iL3Vzci9saWIvcXQ2L2V4 YW1wbGVzIFwKKwkJLXBhdGggJyovbGliL3F0Ni8qKi9saWIvcXQ2LyonIC10eXBlIGYgfAorCXdo aWxlIHJlYWQgX2ZpbGU7IGRvCisJCW12ICIkX2ZpbGUiICIke19maWxlJS9saWIvcXQ2Lyp9Igor CWRvbmUKK30KKworcXQ2LXdlYmVuZ2luZS1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVuZHM9IiR7 c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtd2ViY2hhbm5lbC1kZXZlbD49 JHt2ZXJzaW9ufV8xCisJIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbD49JHt2ZXJzaW9ufV8xIHF0Ni1s b2NhdGlvbi1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVu dCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUKKwkJdm1vdmUg dXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2bW92ZSB1c3IvbGli L3F0Ni9ta3NwZWNzCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJCXZtb3ZlICJ1c3IvbGliLyou cHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKKwl9Cit9CisKK3F0Ni13ZWJlbmdp bmUtZXhhbXBsZXNfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjKz0iIC0gc2FtcGxlIGJyb3dzZXJz IgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvbGliL3F0Ni9leGFtcGxlcworCX0KK30K ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvdXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u ODQ0NTUyNDY1MjIyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Vw ZGF0ZQpAQCAtMCwwICsxIEBACitwa2duYW1lPSIke3BrZ25hbWUvNi0vfS1ldmVyeXdoZXJlLXNy YyIK --===============1817307967931982386==--