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, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 16054 invoked from network); 14 Aug 2022 13:48:13 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 14 Aug 2022 13:48:13 -0000 Content-Type: multipart/mixed; boundary="===============1598920377874504978==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_WIP_Qt6_webengine?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 14 Aug 2022 15:48:13 +0200 List-Id: Message-ID: <20220814134813.Dtt2OeFbJfkZyV02LPycyjioDRwGbfwssGw00ViMDMw@z> GitHub notification mails are now in MIME to allow UTF8. --===============1598920377874504978== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2duIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9zZ24vdm9p ZC1wYWNrYWdlcyBxdDYtd2ViZW5naW5lCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8zODUwOQoKV0lQIFF0NiB3ZWJlbmdpbmUKPCEtLSBVbmNvbW1lbnQg cmVsZXZhbnQgc2VjdGlvbnMgYW5kIGRlbGV0ZSBvcHRpb25zIHdoaWNoIGFyZSBub3QgYXBwbGlj YWJsZSAtLT4NCg0KTmV2ZXIgdHJpZWQgdG8gY3Jvc3MgYnVpbGQNCkZ1bmN0aW9uYWxpdHkgd29y a3MgKGF0IGxlYXN0IGNhbiB2aWV3IHlvdXR1YmUgdmlkZW8gb24geDg2XzY0LW11c2wpDQoNCiMj IyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBS OiAqKllFUyoqfCoqYnJpZWZseSoqfCoqTk8qKg0KW2NpIHNraXBdDQoNCjwhLS0NCiMjIyMgTmV3 IHBhY2thZ2UNCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3F1YWxpdHkgcmVx dWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Js b2IvbWFzdGVyL01hbnVhbC5tZCNxdWFsaXR5LXJlcXVpcmVtZW50cyk6ICoqWUVTKip8KipOTyoq DQotLT4NCg0KPCEtLSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5IHRvIHRha2UgbW9yZSB0 aGFuIDIgaG91cnMsIHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVzY3JpYmVkIGluDQpodHRw czovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2IvbWFzdGVyL0NPTlRS SUJVVElORy5tZCNjb250aW51b3VzLWludGVncmF0aW9uDQphbmQgdGVzdCBhdCBsZWFzdCBvbmUg bmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQu DQpJZ25vcmUgdGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBwaW5nIENJLg0KLS0+ DQo8IS0tDQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2Fs bHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpDQotIEkgYnVpbHQgdGhp cyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsg Y3Jvc3NidWlsZHMpOg0KICAtIGFhcmNoNjQtbXVzbA0KICAtIGFybXY3bA0KICAtIGFybXY2bC1t dXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGlu dXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM4NTA5LnBhdGNoIGlzIGF0dGFjaGVk --===============1598920377874504978== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6-webengine-38509.patch" RnJvbSA1YjU0YmQzNDEzN2U3YTY0Yjg3NDcxMjUzODNiNTA0NjczYjNmMTM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9u LCA4IEF1ZyAyMDIyIDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwMS8yOV0gcXQ2LWJh c2U6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2FybS15 aWVsZC5wYXRjaCAgICAgIHwgMzcgKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9xdDYtYmFz ZS9wYXRjaGVzL2NvbXBsZXgtdGV4dC5wYXRjaCAgIHwgIDAKIHNyY3BrZ3MvcXQ2LWJhc2UvcGF0 Y2hlcy9mZWVuYWJsZWV4Y2VwdC5wYXRjaCB8IDEzICsrKysrKysKIHNyY3BrZ3MvcXQ2LWJhc2Uv cGF0Y2hlcy9saWJhdG9taWMucGF0Y2ggICAgICB8IDE0IC0tLS0tLS0KIHNyY3BrZ3MvcXQ2LWJh c2UvcGF0Y2hlcy9tYXJrZG93bi1tdXNsLnBhdGNoICB8IDMxICsrKysrKysrKysrKysrKysKIHNy Y3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9wdGhyZWFkX3lpZWxkLnBhdGNoICB8IDIwICsrKysrKysr KysKIC4uLnVyY2Utcm9vdC1kaXItbGFzdC1tb2RpZmllZC1pcy12YWxpZC5wYXRjaCB8IDEzICsr KysrKysKIHNyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy96ZnMtc3RvcmFnZS5wYXRjaCAgICB8IDIw ICsrKysrKysrKysKIHNyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAg ICB8IDIxICsrKysrKysrLS0tCiA5IGZpbGVzIGNoYW5nZWQsIDE0OSBpbnNlcnRpb25zKCspLCAy MCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNo ZXMvYXJtLXlpZWxkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtYmFzZS9w YXRjaGVzL2NvbXBsZXgtdGV4dC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LWJhc2UvcGF0Y2hlcy9mZWVuYWJsZWV4Y2VwdC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9saWJhdG9taWMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbWFya2Rvd24tbXVzbC5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9wdGhyZWFkX3lpZWxkLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3Jlc291cmNlLXJvb3Qt ZGlyLWxhc3QtbW9kaWZpZWQtaXMtdmFsaWQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL3F0Ni1iYXNlL3BhdGNoZXMvemZzLXN0b3JhZ2UucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni1iYXNlL3BhdGNoZXMvYXJtLXlpZWxkLnBhdGNoIGIvc3JjcGtncy9xdDYtYmFzZS9w YXRjaGVzL2FybS15aWVsZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjJiZWY4NTg0Yjg4ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2Uv cGF0Y2hlcy9hcm0teWllbGQucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSA4MTI4YWJlYWVj ZTViMDU0NzZmNzlmZjQ5MzU5N2I4MzhiMjIzNTEyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogTWFyYyBNdXR6IDxtYXJjLm11dHpAcXQuaW8+CitEYXRlOiBXZWQsIDMgQXVnIDIwMjIg MTc6MjM6MjAgKzAyMDAKK1N1YmplY3Q6IEZpeCBxWWllbGRDcHUoKSBmb3IgQVJNIDwgQVJNdjcK KworQXBwYXJlbnRseSwgd2Ugc3RpbGwgc3VwcG9ydCB0aGVzZSBhcmNoaXRlY3R1cmUgdmVyc2lv bnMsIGFuZCB0aGVyZSdzCitubyB3YXkgdG8gZGV0ZWN0IEFSTXY2ay1vci1ncmVhdGVyIHNwZWNp ZmljYWxseSwgc28gZXhjbHVkZSB5aWVsZCBmb3IKK0FSTSA8IEFSTXY3LgorCitBbWVuZHMgODc3 YzE1OGM1OTc2YmViZmZkMGZmMDJjMzliNmI2NmE4NDJjNjM0NC4KKworRml4ZXM6IFFUQlVHLTEw NDMxNgorUGljay10bzogNi40IDYuMworQ2hhbmdlLUlkOiBJNTFhMmYwZjhlMDk5M2RiYTQxZTQ3 YmI2MTEwNDczYWM4ZTdjZDMyYQorUmV2aWV3ZWQtYnk6IFRoaWFnbyBNYWNpZWlyYSA8dGhpYWdv Lm1hY2llaXJhQGludGVsLmNvbT4KKy0tLQorIHNyYy9jb3JlbGliL2dsb2JhbC9xc2ltZF9wLmgg fCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisK KyhsaW1pdGVkIHRvICdzcmMvY29yZWxpYi9nbG9iYWwvcXNpbWRfcC5oJykKKworZGlmZiAtLWdp dCBhL3NyYy9jb3JlbGliL2dsb2JhbC9xc2ltZF9wLmggYi9zcmMvY29yZWxpYi9nbG9iYWwvcXNp bWRfcC5oCitpbmRleCBhZDc4YzM5MzRmLi4wOTNmYzNhZWRjIDEwMDY0NAorLS0tIGEvc3JjL2Nv cmVsaWIvZ2xvYmFsL3FzaW1kX3AuaAorKysrIGIvc3JjL2NvcmVsaWIvZ2xvYmFsL3FzaW1kX3Au aAorQEAgLTM5Nyw3ICszOTcsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcVlpZWxkQ3B1KCkKKyB7 CisgI2lmIGRlZmluZWQoUV9QUk9DRVNTT1JfWDg2KQorICAgICBfbW1fcGF1c2UoKTsKKy0jZWxp ZiBkZWZpbmVkKFFfUFJPQ0VTU09SX0FSTSkKKysjZWxpZiBkZWZpbmVkKFFfUFJPQ0VTU09SX0FS TSkgJiYgUV9QUk9DRVNTT1JfQVJNID49IDcgLyogeWllbGQgd2FzIGFkZGVkIGluIEFSTXY3ICov CisgIyAgaWYgX19oYXNfYnVpbHRpbihfX2J1aWx0aW5fYXJtX3lpZWxkKSAvKiBlLmcuIENsYW5n ICovCisgICAgIF9fYnVpbHRpbl9hcm1feWllbGQoKTsKKyAjICBlbGlmIGRlZmluZWQoUV9PU19J TlRFR1JJVFkpIHx8IFwKKy0tIAorY2dpdCB2MS4yLjEKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtYmFzZS9wYXRjaGVzL2NvbXBsZXgtdGV4dC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0 Y2hlcy9jb21wbGV4LXRleHQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5lNjlkZTI5YmIyZDEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hl cy9mZWVuYWJsZWV4Y2VwdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9mZWVuYWJs ZWV4Y2VwdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjFi NTYxNzMxYjYzNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9m ZWVuYWJsZWV4Y2VwdC5wYXRjaApAQCAtMCwwICsxLDEzIEBACistLS0gYS90ZXN0cy9hdXRvL2Nv cmVsaWIvdGV4dC9xbG9jYWxlL3RzdF9xbG9jYWxlLmNwcAorKysrIGIvdGVzdHMvYXV0by9jb3Jl bGliL3RleHQvcWxvY2FsZS90c3RfcWxvY2FsZS5jcHAKK0BAIC0xNDUzLDggKzE0NTMsMTAgQEAg dm9pZCB0c3RfUUxvY2FsZTo6ZnBFeGNlcHRpb25zKCkKKyAgICAgZmVudl90IGVudnA7CisgICAg IGZlZ2V0ZW52KCZlbnZwKTsKKyAgICAgZmVjbGVhcmV4Y2VwdChGRV9BTExfRVhDRVBUKTsKKysj aWZkZWYgX19HTElCQ19fCisgICAgIGZlZW5hYmxlZXhjZXB0KEZFX0RJVkJZWkVSTyB8IEZFX09W RVJGTE9XIHwgRkVfVU5ERVJGTE9XIHwgRkVfSU5WQUxJRCk7CisgI2VuZGlmCisrI2VuZGlmCisg CisgICAgIFFTdHJpbmc6Om51bWJlcigxMDAwLjEyNDUpOworICAgICBRU3RyaW5nOjpudW1iZXIo MS4xKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9saWJhdG9taWMucGF0 Y2ggYi9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbGliYXRvbWljLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAyZjdhODA3NTE4ZTQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL3F0Ni1iYXNlL3BhdGNoZXMvbGliYXRvbWljLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEs MTQgKzAsMCBAQAotSW5kZXg6IGNtYWtlL0ZpbmRXcmFwQXRvbWljLmNtYWtlCi09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gYS9jbWFrZS9GaW5kV3JhcEF0b21pYy5jbWFrZQotKysrIGIvY21ha2UvRmluZFdyYXBB dG9taWMuY21ha2UKLUBAIC0zOCw3ICszOCw4IEBAIGVuZGlmKCkKLSAKLSBhZGRfbGlicmFyeShX cmFwQXRvbWljOjpXcmFwQXRvbWljIElOVEVSRkFDRSBJTVBPUlRFRCkKLSBpZihIQVZFX1NUREFU T01JQ19XSVRIX0xJQikKLS0gICAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKFdyYXBBdG9taWM6Oldy YXBBdG9taWMgSU5URVJGQUNFIGF0b21pYykKLSsgICAgZmluZF9saWJyYXJ5KExJQkFUT01JQyBh dG9taWMgUkVRVUlSRUQpCi0rICAgIHRhcmdldF9saW5rX2xpYnJhcmllcyhXcmFwQXRvbWljOjpX cmFwQXRvbWljIElOVEVSRkFDRSAke0xJQkFUT01JQ30pCi0gZW5kaWYoKQotIAotIHNldChXcmFw QXRvbWljX0ZPVU5EIDEpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbWFy a2Rvd24tbXVzbC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9tYXJrZG93bi1tdXNs LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDI5OTc3Yjdk MzNhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL21hcmtkb3du LW11c2wucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorLS0tIGEvdGVzdHMvYXV0by9ndWkvdGV4dC9x dGV4dG1hcmtkb3duaW1wb3J0ZXIvdHN0X3F0ZXh0bWFya2Rvd25pbXBvcnRlci5jcHAKKysrKyBi L3Rlc3RzL2F1dG8vZ3VpL3RleHQvcXRleHRtYXJrZG93bmltcG9ydGVyL3RzdF9xdGV4dG1hcmtk b3duaW1wb3J0ZXIuY3BwCitAQCAtMjI5LDkgKzIyOSwxMSBAQCB2b2lkIHRzdF9RVGV4dE1hcmtk b3duSW1wb3J0ZXI6Omxpc3RzX2RhCisgICAgIFFUZXN0OjpuZXdSb3coIm51bWVyaWMgbGlzdHMg bmVzdGVkIGluIGVtcHR5IGxpc3RzIikKKyAgICAgICAgICAgICA8PCAiLSBcbiAgICAxLiAgYVxu ICAgIDIuICBiXG4tIGNcbiAgMS5cbiAgICAgICArIGRcbiIgPDwgNCA8PCBmYWxzZQorICAgICAg ICAgICAgIDw8ICItIFxuICAgIDEuICBhXG4gICAgMi4gIGJcbi0gYyAxLiArIGRcbiI7CisrI2lm IDAKKyAgICAgUVRlc3Q6Om5ld1Jvdygic3R5bGVkIHNwYW5zIGluIGxpc3QgaXRlbXMiKQorICAg ICAgICAgICAgIDw8ICIxLiAgbm9ybWFsIHRleHRcbjIuICAqKmJvbGQqKiB0ZXh0XG4zLiAgYGNv ZGVgIGluIHRoZSBpdGVtXG40LiAgKml0YWxpYyogdGV4dFxuNS4gIF91bmRlcmxpbmVkXyB0ZXh0 XG4iIDw8IDUgPDwgZmFsc2UKKyAgICAgICAgICAgICA8PCAiMS4gIG5vcm1hbCB0ZXh0XG4yLiAg Kipib2xkKiogdGV4dFxuMy4gIGBjb2RlYCBpbiB0aGUgaXRlbVxuNC4gICppdGFsaWMqIHRleHRc bjUuICBfdW5kZXJsaW5lZF8gdGV4dFxuIjsKKysjZW5kaWYKKyB9CisgCisgdm9pZCB0c3RfUVRl eHRNYXJrZG93bkltcG9ydGVyOjpsaXN0cygpCistLS0gYS90ZXN0cy9hdXRvL3dpZGdldHMvZ3Jh cGhpY3N2aWV3L3FncmFwaGljc3dpZGdldC90c3RfcWdyYXBoaWNzd2lkZ2V0LmNwcAorKysrIGIv dGVzdHMvYXV0by93aWRnZXRzL2dyYXBoaWNzdmlldy9xZ3JhcGhpY3N3aWRnZXQvdHN0X3FncmFw aGljc3dpZGdldC5jcHAKK0BAIC0xNzc2LDExICsxNzc2LDE0IEBAIHZvaWQgdHN0X1FHcmFwaGlj c1dpZGdldDo6dXBkYXRlRm9jdXNDaGEKKyAgICAgY29uc3QgUVBvaW50IGNlbnRlcih2aWV3LnZp ZXdwb3J0KCktPndpZHRoKCkgLyAyLCB2aWV3LnZpZXdwb3J0KCktPmhlaWdodCgpIC8gMik7Cisg ICAgIFFUZXN0Ojptb3VzZU1vdmUodmlldy52aWV3cG9ydCgpLCBjZW50ZXIpOworICAgICBRVGVz dDo6bW91c2VDbGljayh2aWV3LnZpZXdwb3J0KCksIFF0OjpMZWZ0QnV0dG9uLCB7fSwgY2VudGVy KTsKKysjaWYgMAorKyAgICAvLyBTYW1lIHN5bXB0b24gd2l0aCBRVEJVRy0yMzY5OQorICNpZmRl ZiBRX09TX01BQworICAgICBRRVhQRUNUX0ZBSUwoIiIsICJRVEJVRy0yMzY5OSIsIENvbnRpbnVl KTsKKyAjZW5kaWYKKyAgICAgUVRSWV9DT01QQVJFKHFBcHAtPmFjdGl2ZVdpbmRvdygpLCBzdGF0 aWNfY2FzdDxRV2lkZ2V0ICo+KCZ2aWV3KSk7CisgICAgIFFUUllfQ09NUEFSRShzY2VuZS5mb2N1 c0l0ZW0oKSwgc3RhdGljX2Nhc3Q8UUdyYXBoaWNzSXRlbSAqPih3KSk7CisrI2VuZGlmCisgfQor IAorIHZvaWQgdHN0X1FHcmFwaGljc1dpZGdldDo6c2l6ZUhpbnRfZGF0YSgpCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvcHRocmVhZF95aWVsZC5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LWJhc2UvcGF0Y2hlcy9wdGhyZWFkX3lpZWxkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uMmVjZjY5M2U3MmQzCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDYtYmFzZS9wYXRjaGVzL3B0aHJlYWRfeWllbGQucGF0Y2gKQEAgLTAsMCArMSwyMCBA QAorLS0tIGEvdGVzdHMvYXV0by9jb3JlbGliL2tlcm5lbC9xbWV0YXR5cGUvdHN0X3FtZXRhdHlw ZS5jcHAKKysrKyBiL3Rlc3RzL2F1dG8vY29yZWxpYi9rZXJuZWwvcW1ldGF0eXBlL3RzdF9xbWV0 YXR5cGUuY3BwCitAQCAtMzEsNyArMzEsNyBAQAorICNpbmNsdWRlIDxRdENvcmUvcHJpdmF0ZS9x bWV0YW9iamVjdGJ1aWxkZXJfcC5oPgorIAorICNpZmRlZiBRX09TX0xJTlVYCistIyBpbmNsdWRl IDxwdGhyZWFkLmg+CisrIyBpbmNsdWRlIDxzY2hlZC5oPgorICNlbmRpZgorIAorICNpbmNsdWRl IDxhbGdvcml0aG0+CitAQCAtNDE4LDcgKzQxOCw3IEBAIHByb3RlY3RlZDoKKyAgICAgICAgICAg ICBjb25zdCBjaGFyICpubSA9IG5hbWUuY29uc3REYXRhKCk7CisgICAgICAgICAgICAgaW50IHRw ID0gcVJlZ2lzdGVyTWV0YVR5cGU8QmFyPihubSk7CisgI2lmIGRlZmluZWQoUV9PU19MSU5VWCkg JiYgIWRlZmluZWQoUV9PU19BTkRST0lEKQorLSAgICAgICAgICAgIHB0aHJlYWRfeWllbGQoKTsK KysgICAgICAgICAgICBzY2hlZF95aWVsZCgpOworICNlbmRpZgorICAgICAgICAgICAgIFFNZXRh VHlwZSBpbmZvKHRwKTsKKyAgICAgICAgICAgICBpZiAoIWluZm8uaXNWYWxpZCgpKSB7CmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvcmVzb3VyY2Utcm9vdC1kaXItbGFzdC1t b2RpZmllZC1pcy12YWxpZC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9yZXNvdXJj ZS1yb290LWRpci1sYXN0LW1vZGlmaWVkLWlzLXZhbGlkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjE0MzZkZjQyZDhlCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3Jlc291cmNlLXJvb3QtZGlyLWxhc3QtbW9kaWZpZWQt aXMtdmFsaWQucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIGEvdGVzdHMvYXV0by9jb3JlbGli L2lvL3FyZXNvdXJjZWVuZ2luZS90c3RfcXJlc291cmNlZW5naW5lLmNwcAorKysrIGIvdGVzdHMv YXV0by9jb3JlbGliL2lvL3FyZXNvdXJjZWVuZ2luZS90c3RfcXJlc291cmNlZW5naW5lLmNwcAor QEAgLTYwNyw3ICs2MDcsMTAgQEAgdm9pZCB0c3RfUVJlc291cmNlRW5naW5lOjpsYXN0TW9kaWZp ZWQoKQorICAgICB7CisgICAgICAgICBRRmlsZUluZm8gZmkoIjovIik7CisgICAgICAgICBRVkVS SUZZKGZpLmV4aXN0cygpKTsKKysjaWYgMAorKwkvLyBJIGRvbid0IGtub3cgd2hhdCB3cm9uZyB3 aXRoIHRoaXMhIQorICAgICAgICAgUVZFUklGWTIoIWZpLmxhc3RNb2RpZmllZCgpLmlzVmFsaWQo KSwgcVByaW50YWJsZShmaS5sYXN0TW9kaWZpZWQoKS50b1N0cmluZygpKSk7CisrI2VuZGlmCisg ICAgIH0KKyAgICAgeworICAgICAgICAgUUZpbGVJbmZvIGZpKCI6L3NlYXJjaF9maWxlLnR4dCIp OwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3pmcy1zdG9yYWdlLnBhdGNo IGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3pmcy1zdG9yYWdlLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYmRiZTM4MWE0NDJmCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3pmcy1zdG9yYWdlLnBhdGNoCkBAIC0wLDAg KzEsMjAgQEAKKy0tLSBhL3Rlc3RzL2F1dG8vY29yZWxpYi9pby9xc3RvcmFnZWluZm8vdHN0X3Fz dG9yYWdlaW5mby5jcHAKKysrKyBiL3Rlc3RzL2F1dG8vY29yZWxpYi9pby9xc3RvcmFnZWluZm8v dHN0X3FzdG9yYWdlaW5mby5jcHAKK0BAIC0xOTAsNiArMTkwLDggQEAgdm9pZCB0c3RfUVN0b3Jh Z2VJbmZvOjp0ZW1wRmlsZSgpCisgI2lmZGVmIFFfT1NfTElOVVgKKyAgICAgaWYgKHN0b3JhZ2Ux LmZpbGVTeXN0ZW1UeXBlKCkgPT0gImJ0cmZzIikKKyAgICAgICAgIFFTS0lQKCJUaGlzIHRlc3Qg ZG9lc24ndCB3b3JrIG9uIGJ0cmZzLCBwcm9iYWJseSBkdWUgdG8gYSBidHJmcyBidWciKTsKKysg ICAgaWYgKHN0b3JhZ2UxLmZpbGVTeXN0ZW1UeXBlKCkgPT0gInpmcyIpCisrICAgICAgICBRU0tJ UCgiVGhpcyB0ZXN0IGRvZXNuJ3Qgd29yayBvbiB6ZnMiKTsKKyAjZW5kaWYKKyAKKyAgICAgcWlu dDY0IGZyZWUgPSBzdG9yYWdlMS5ieXRlc0ZyZWUoKTsKK0BAIC0yMTYsNiArMjE4LDggQEAgdm9p ZCB0c3RfUVN0b3JhZ2VJbmZvOjpjYWNoaW5nKCkKKyAjaWZkZWYgUV9PU19MSU5VWAorICAgICBp ZiAoc3RvcmFnZTEuZmlsZVN5c3RlbVR5cGUoKSA9PSAiYnRyZnMiKQorICAgICAgICAgUVNLSVAo IlRoaXMgdGVzdCBkb2Vzbid0IHdvcmsgb24gYnRyZnMsIHByb2JhYmx5IGR1ZSB0byBhIGJ0cmZz IGJ1ZyIpOworKyAgICBpZiAoc3RvcmFnZTEuZmlsZVN5c3RlbVR5cGUoKSA9PSAiemZzIikKKysg ICAgICAgIFFTS0lQKCJUaGlzIHRlc3QgZG9lc24ndCB3b3JrIG9uIHpmcyIpOworICNlbmRpZgor IAorICAgICBxaW50NjQgZnJlZSA9IHN0b3JhZ2UxLmJ5dGVzRnJlZSgpOwpkaWZmIC0tZ2l0IGEv c3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUKaW5k ZXggY2M0N2UxOGE3MGZmLi42ODM1OThmNzcwN2QgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWJh c2UvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcg QEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1iYXNlJwogcGtnbmFtZT1xdDYtYmFzZQotdmVy c2lvbj02LjMuMAotcmV2aXNpb249MgordmVyc2lvbj02LjMuMQorcmV2aXNpb249MQogd3Jrc3Jj PSJxdGJhc2UtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBj b25maWd1cmVfYXJncz0iLURJTlNUQUxMX0RBVEFESVI9c2hhcmUvcXQ2CkBAIC05LDYgKzksOCBA QCBjb25maWd1cmVfYXJncz0iLURJTlNUQUxMX0RBVEFESVI9c2hhcmUvcXQ2CiAgLURJTlNUQUxM X0JJTkRJUj1saWIvcXQ2L2JpbgogIC1ESU5TVEFMTF9NS1NQRUNTRElSPWxpYi9xdDYvbWtzcGVj cwogIC1ESU5TVEFMTF9JTkNMVURFRElSPWluY2x1ZGUvcXQ2CisgLURJTlNUQUxMX0VYQU1QTEVT RElSPWxpYi9xdDYvZXhhbXBsZXMKKyAtRElOU1RBTExfVEVTVFNESVI9bGliL3F0Ni90ZXN0cwog IC1ESU5TVEFMTF9TWVNDT05GRElSPS9ldGMveGRnCiAgLURRVF9GRUFUVVJFX29wZW5zc2xfbGlu a2VkPU9OCiAgLURRVF9GRUFUVVJFX3N5c3RlbV9zcWxpdGU9T04KQEAgLTI5LDE0ICszMSwxMyBA QCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMu MC1vbmx5IFdJVEggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0yLjAt b3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8iCiBkaXN0ZmlsZXM9Imh0dHBz Oi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3Zl cnNpb259L3N1Ym1vZHVsZXMvcXRiYXNlLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgotY2hlY2tzdW09Yjg2NWFhZTQzMzU3Zjc5MmIzYjBhMTYyODk5ZDliZjZhMTM5M2E1NWM0ZTVl NGVkZTUzMTZiMTU3YjFhMGY5OQorY2hlY2tzdW09MGE2NDQyMWQ5YzI0NjljMmM0ODQ5MGEwMzJh YjkxZDU0NzAxN2M5Y2MxNzFmM2Y4MDcwYmMzMTg4OGYyNGUwMwogcHl0aG9uX3ZlcnNpb249Mwog CiBpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LWJh c2UtZGV2ZWwiCiAJIyBRdFNldHVwIGZhaWxzIG5hdGl2ZSBidWlsZHMgaWYgdGhpcyBpcyBzZXQK LQljb25maWd1cmVfYXJncys9IiAtRFFUX0hPU1RfUEFUSD0vdXNyCi0JIC1EUVRfQlVJTERfVE9P TFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgorCWNvbmZpZ3VyZV9hcmdzKz0iLURRVF9CVUlM RF9UT09MU19XSEVOX0NST1NTQ09NUElMSU5HPXRydWUiCiBmaQogCiAjIEl0IGlzIGN1cnJlbnRs eSBleHBlY3RlZCB0aGF0IHF1aXRlIGEgZmV3IHBhdGNoZXMgZG8gZmFpbApAQCAtNDYsNiArNDcs NyBAQCBmaQogCiBkb19jaGVjaygpIHsKIAljZCBidWlsZAorCWV4cG9ydCBRVF9RUEFfUExBVEZP Uk09b2Zmc2NyZWVuCiAJbG9jYWwgZmFpbGluZ190ZXN0cz0idHN0X3NlbGZ0ZXN0cyB0c3RfcW1h a2UgdHN0X21vYwogCQl0c3RfcmNjIHRzdF9xZmlsZSB0c3RfcXN0YW5kYXJkcGF0aHMKIAkJdHN0 X3F0ZW1wb3JhcnlkaXIgdHN0X3F0ZW1wb3JhcnlmaWxlIHRzdF9xZGlyCkBAIC03Myw3ICs3NSwx MSBAQCBkb19jaGVjaygpIHsKIAkJdHN0X3FvcGVuZ2wgdHN0X3FkbnNsb29rdXAgdHN0X3FmaWxl ZGlhbG9nCiAJCXRzdF9xZ3JhcGhpY3N2aWV3IHRzdF9xYXBwbGljYXRpb24gdHN0X3Fmb250Y29t Ym9ib3gKIAkJdHN0X3FsaW5lZWRpdCB0c3RfcW1lbnViYXIgdHN0X3FvcGVuZ2x3aWRnZXQKKwkJ dHN0X3F4MTFpbmZvIHRzdF9xY29tcGxleHRleHQKIAkJdGVzdF9RRklORFRFU1REQVRBIHJ1bl90 ZXN0X1FGSU5EVEVTVERBVEEiCisJIyBVbmtub3duIHBsYXRmb3JtIGxpbnV4LWcrKyA6LworCWZh aWxpbmdfdGVzdHMrPSIgbW9ja3BsdWdpbnMgdGVzdF9pbXBvcnRfcGx1Z2lucworCQl0ZXN0X3N0 YXRpY19yZXNvdXJjZXMgdGVzdF9nZW5lcmF0aW5nX2NwcF9leHBvcnRzIgogCWxvY2FsIGN0ZXN0 X2V4Y2x1ZGU9IigiCiAJZm9yIGZhaWx1cmUgaW4gJGZhaWxpbmdfdGVzdHM7IGRvCiAJCWN0ZXN0 X2V4Y2x1ZGUrPSIkZmFpbHVyZXwiCkBAIC0yMjUsNyArMjMxLDcgQEAgcXQ2LXBsdWdpbi10bHMt cWNlcnRvbmx5X3BhY2thZ2UoKSB7CiBxdDYtcGx1Z2luLW5ldHdvcmtpbmZvcm1hdGlvbl9wYWNr YWdlKCkgewogCXNob3J0X2Rlc2MrPSIgLSBOZXR3b3JraW5mb3JtYXRpb24gcGx1Z2luIgogCXBr Z19pbnN0YWxsKCkgewotCQl2bW92ZSB1c3IvbGliL3F0Ni9wbHVnaW5zL25ldHdvcmtpbmZvcm1h dGlvbi9saWJxbmV0d29ya21hbmFnZXIuc28KKwkJdm1vdmUgdXNyL2xpYi9xdDYvcGx1Z2lucy9u ZXR3b3JraW5mb3JtYXRpb24vCiAJfQogfQogCkBAIC0yNDYsOSArMjUyLDEyIEBAIHF0Ni1iYXNl LWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRl CiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1v dmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92 ZSAidXNyL2xpYi8qLmEiCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGli LyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDhkMGVk NzlhOTk3NTMyMDg2YjlhNmM3ZDYxZDNlMDY2MzY4YTc0ZjUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9 QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIw MjIgMTc6MTM6MDcgKzA3MDAKU3ViamVjdDogW1BBVENIIDAyLzI5XSBxdDYtY2hhcnRzOiB1cGRh dGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZSB8IDggKysrKyst LS0KIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtY2hhcnRz L3RlbXBsYXRlCmluZGV4IDc5Y2I4YTIyMDQwMS4uZDM5NDdiYTkzOGYzIDEwMDY0NAotLS0gYS9z cmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBs YXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1jaGFydHMnCiBw a2duYW1lPXF0Ni1jaGFydHMKLXZlcnNpb249Ni4zLjAKK3ZlcnNpb249Ni4zLjEKIHJldmlzaW9u PTEKIHdya3NyYz0icXRjaGFydHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0 eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciIKIGhvc3RtYWtl ZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWRl Y2xhcmF0aXZlLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24g YW5kIFVJIGZyYW1ld29yayAtIGNoYXJ0cyIKQEAgLTEyLDcgKzExLDcgQEAgbWFpbnRhaW5lcj0i Sm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIKIGhvbWVw YWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29m ZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0 Y2hhcnRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NjcyNzYy YzVmNjQxY2NjODhhMzBhZWVkZWZiNjNmMDNjMGY4Mzc2NDliMzM0ZjQ2ZWVhNTc1OTJlODdlMzZj ZAorY2hlY2tzdW09ZjMzMGNjMjMyODcyOTEwNGQ3OWIyMDg4OTkwY2UwODQwZjJkYTg5ZDlkOTg5 MzYwZDRjMzUyZTc5N2QyN2NmNwogCiBxdDYtY2hhcnRzLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVw ZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgpAQCAtMjAsOCArMTks MTEgQEAgcXQ2LWNoYXJ0cy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2 bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIv bWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2 L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwi CisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gNTBlZDViZTY0M2Ux YjIxZDEwOTQ5M2VmZWNlMjc5MmUzMWVkMDU2YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIw RGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzox MzowNyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDMvMjldIHF0Ni1kZWNsYXJhdGl2ZTogdXBkYXRl IHRvIDYuMy4xLgoKLS0tCiAuLi4vcGF0Y2hlcy9iaW4tcW1sLWxvY2F0aW9uLnBhdGNoICAgICAg ICAgICAgfCAxOTMgKysrKysrKysrKysrKysrKysrCiAuLi4vcGF0Y2hlcy9xbWwtYmxhY2tsaXN0 LW1vcmUucGF0Y2ggICAgICAgICAgfCAgNDggKysrKysKIC4uLi9wYXRjaGVzL3FtbC1icm9rZW4t dGVzdC5wYXRjaCAgICAgICAgICAgICB8ICA2NCArKysrKysKIHNyY3BrZ3MvcXQ2LWRlY2xhcmF0 aXZlL3RlbXBsYXRlICAgICAgICAgICAgICB8ICAzMiArKy0KIDQgZmlsZXMgY2hhbmdlZCwgMzMx IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9iaW4tcW1sLWxvY2F0aW9uLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9xbWwtYmxhY2tsaXN0 LW1vcmUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9w YXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3BhdGNoZXMvYmluLXFtbC1sb2NhdGlvbi5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3BhdGNoZXMvYmluLXFtbC1sb2NhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY5MmUzNDYzMjUwMgotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNoZXMvYmluLXFtbC1sb2NhdGlvbi5wYXRjaApA QCAtMCwwICsxLDE5MyBAQAorLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGRlYnVn dHJhbnNsYXRpb25jbGllbnQvdHN0X3FxbWxkZWJ1Z3RyYW5zbGF0aW9uY2xpZW50LmNwcAorKysr IGIvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGRlYnVndHJhbnNsYXRpb25jbGllbnQvdHN0 X3FxbWxkZWJ1Z3RyYW5zbGF0aW9uY2xpZW50LmNwcAorQEAgLTk0LDcgKzk0LDExIEBAIHByaXZh dGU6CisgICAgIHsKKyAgICAgICAgIG1fY3VycmVudE91dHB1dExpbmUgPSAwOworIAorKyNpZmRl ZiBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSAorKyAgICAgICAgYXV0byBleGVjdXRhYmxlID0gUVRf REVDTEFSQVRJVkVfQklOX1BBVEggIi9xbWwiOworKyNlbHNlCisgICAgICAgICBhdXRvIGV4ZWN1 dGFibGUgPSBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsg Ii9xbWwiOworKyNlbmRpZgorICAgICAgICAgYXV0byBzZXJ2aWNlcyA9IFFRbWxEZWJ1Z1RyYW5z bGF0aW9uU2VydmljZUltcGw6OnNfa2V5OworICAgICAgICAgYXV0byBleHRyYUFyZ3MgPSB0ZXN0 RmlsZShRTUxGSUxFKTsKKyAgICAgICAgIGF1dG8gYmxvY2sgPSB0cnVlOworLS0tIGEvdGVzdHMv YXV0by9xbWwvZGVidWdnZXIvcXFtbGluc3BlY3Rvci90c3RfcXFtbGluc3BlY3Rvci5jcHAKKysr KyBiL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FxbWxpbnNwZWN0b3IvdHN0X3FxbWxpbnNwZWN0 b3IuY3BwCitAQCAtNzIsNyArNzIsMTIgQEAgdHN0X1FRbWxJbnNwZWN0b3I6OnRzdF9RUW1sSW5z cGVjdG9yKCkKKyBRUW1sRGVidWdUZXN0OjpDb25uZWN0UmVzdWx0IHRzdF9RUW1sSW5zcGVjdG9y OjpzdGFydFFtbFByb2Nlc3MoY29uc3QgUVN0cmluZyAmcW1sRmlsZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBy ZXN0cmljdFNlcnZpY2VzKQorIHsKKy0gICAgcmV0dXJuIFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RU byhRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWwi LAorKyNpZmRlZiBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSAorKyAgICBhdXRvIGV4ZWN1dGFibGUg PSBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSCAiL3FtbCI7CisrI2Vsc2UKKysgICAgYXV0byBleGVj dXRhYmxlID0gUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRoKSAr ICIvcW1sIjsKKysjZW5kaWYKKysgICAgcmV0dXJuIFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhl eGVjdXRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0cmljdFNl cnZpY2VzID8gUVN0cmluZ0xpdGVyYWwoIlFtbEluc3BlY3RvciIpIDogUVN0cmluZygpLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0RmlsZShxbWxGaWxlKSwgdHJ1ZSk7 CisgfQorLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbHByb2ZpbGVyc2VydmljZS90 c3RfcXFtbHByb2ZpbGVyc2VydmljZS5jcHAKKysrKyBiL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2Vy L3FxbWxwcm9maWxlcnNlcnZpY2UvdHN0X3FxbWxwcm9maWxlcnNlcnZpY2UuY3BwCitAQCAtMjA0 LDEwICsyMDQsMTYgQEAgcHJpdmF0ZToKKyAgICAgICAgIENoZWNrVHlwZSA9IENoZWNrTWVzc2Fn ZVR5cGUgfCBDaGVja0RldGFpbFR5cGUgfCBDaGVja0xpbmUgfCBDaGVja0NvbHVtbiB8IENoZWNr RmlsZUVuZHNXaXRoCisgICAgIH07CisgCisrI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRI CisrI2RlZmluZSBRTUxTQ0VORV9QQVRIIFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sIgor KyNlbHNlCisrI2RlZmluZSBRTUxTQ0VORV9QQVRIIFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFy eUluZm86OkJpbmFyaWVzUGF0aCkgKyAiL3FtbHNjZW5lIgorKyNlbmRpZgorKworICAgICBDb25u ZWN0UmVzdWx0IGNvbm5lY3RUbyhib29sIGJsb2NrLCBjb25zdCBRU3RyaW5nICZmaWxlLCBib29s IHJlY29yZEZyb21TdGFydCA9IHRydWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 IGZsdXNoSW50ZXJ2YWwgPSAwLCBib29sIHJlc3RyaWN0U2VydmljZXMgPSB0cnVlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgUVN0cmluZyAmZXhlY3V0YWJsZQorLSAgICAgICAg ICAgID0gUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRoKSArICIv cW1sc2NlbmUiKTsKKysgICAgICAgICAgICA9IFFNTFNDRU5FX1BBVEgpOworICAgICB2b2lkIGNo ZWNrUHJvY2Vzc1Rlcm1pbmF0ZWQoKTsKKyAgICAgdm9pZCBjaGVja1RyYWNlUmVjZWl2ZWQoKTsK KyAgICAgdm9pZCBjaGVja0pzSGVhcCgpOworLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIv cXFtbGRlYnVnZ2luZ2VuYWJsZXIvcXFtbGRlYnVnZ2luZ2VuYWJsZXIvdHN0X3FxbWxkZWJ1Z2dp bmdlbmFibGVyLmNwcAorKysrIGIvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGRlYnVnZ2lu Z2VuYWJsZXIvcXFtbGRlYnVnZ2luZ2VuYWJsZXIvdHN0X3FxbWxkZWJ1Z2dpbmdlbmFibGVyLmNw cAorQEAgLTExMCw4ICsxMTAsMTMgQEAgdm9pZCB0c3RfUVFtbERlYnVnZ2luZ0VuYWJsZXI6OnFt bHNjZW5lKAorICAgICBRRkVUQ0goYm9vbCwgYmxvY2tNb2RlKTsKKyAgICAgUUZFVENIKFFTdHJp bmdMaXN0LCBzZXJ2aWNlcyk7CisgCistICAgIG1fcHJvY2VzcyA9IG5ldyBRUW1sRGVidWdQcm9j ZXNzKAorLSAgICAgICAgICAgICAgICBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpC aW5hcmllc1BhdGgpICsgIi9xbWxzY2VuZSIsIHRoaXMpOworKyNpZmRlZiBRVF9ERUNMQVJBVElW RV9CSU5fUEFUSAorKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRVF9ERUNMQVJBVElWRV9CSU5fUEFU SCAiL3FtbHNjZW5lIjsKKysjZWxzZQorKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRTGlicmFyeUlu Zm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWxzY2VuZSI7CisrI2Vu ZGlmCisrCisrICAgIG1fcHJvY2VzcyA9IG5ldyBRUW1sRGVidWdQcm9jZXNzKGV4ZWN1dGFibGUs IHRoaXMpOworICAgICBtX3Byb2Nlc3MtPnNldE1heGltdW1CaW5kRXJyb3JzKDEpOworICAgICBt X3Byb2Nlc3MtPnN0YXJ0KFFTdHJpbmdMaXN0KCkKKyAgICAgICAgICAgICAgICAgICAgICA8PCBR U3RyaW5nOjpmcm9tTGF0aW4xKCItcW1sanNkZWJ1Z2dlcj1jb25uZWN0b3I6JTElMiUzJTQiKQor LS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGVuZ2luZWNvbnRyb2wvdHN0X3FxbWxl bmdpbmVjb250cm9sLmNwcAorKysrIGIvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGVuZ2lu ZWNvbnRyb2wvdHN0X3FxbWxlbmdpbmVjb250cm9sLmNwcAorQEAgLTkxLDcgKzkxLDEyIEBAIHRz dF9RUW1sRW5naW5lQ29udHJvbDo6dHN0X1FRbWxFbmdpbmVDb24KKyBRUW1sRGVidWdUZXN0OjpD b25uZWN0UmVzdWx0IHRzdF9RUW1sRW5naW5lQ29udHJvbDo6Y29ubmVjdFRvKGNvbnN0IFFTdHJp bmcgJmZpbGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCByZXN0cmljdFNlcnZpY2VzKQorIHsKKy0gICAgcmV0dXJuIFFR bWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpC aW5hcmllc1BhdGgpICsgIi9xbWxzY2VuZSIsCisrI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0JJTl9Q QVRICisrICAgIGF1dG8gZXhlY3V0YWJsZSA9IFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1s c2NlbmUiOworKyNlbHNlCisrICAgIGF1dG8gZXhlY3V0YWJsZSA9IFFMaWJyYXJ5SW5mbzo6cGF0 aChRTGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCkgKyAiL3FtbHNjZW5lIjsKKysjZW5kaWYKKysg ICAgcmV0dXJuIFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhleGVjdXRhYmxlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByZXN0cmljdFNlcnZpY2VzID8gUVN0cmluZ0xpdGVy YWwoIkVuZ2luZUNvbnRyb2wiKSA6IFFTdHJpbmcoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGVzdEZpbGUoZmlsZSksIHRydWUpOworIH0KKy0tLSBhL3Rlc3RzL2F1dG8v cW1sL2RlYnVnZ2VyL3FxbWxlbmdpbmVkZWJ1Z2luc3BlY3RvcmludGVncmF0aW9udGVzdC90c3Rf cXFtbGVuZ2luZWRlYnVnaW5zcGVjdG9yaW50ZWdyYXRpb24uY3BwCisrKysgYi90ZXN0cy9hdXRv L3FtbC9kZWJ1Z2dlci9xcW1sZW5naW5lZGVidWdpbnNwZWN0b3JpbnRlZ3JhdGlvbnRlc3QvdHN0 X3FxbWxlbmdpbmVkZWJ1Z2luc3BlY3RvcmludGVncmF0aW9uLmNwcAorQEAgLTk2LDcgKzk2LDEx IEBAIHRzdF9RUW1sRW5naW5lRGVidWdJbnNwZWN0b3JJbnRlZ3JhdGlvbjoKKyBRUW1sRGVidWdU ZXN0OjpDb25uZWN0UmVzdWx0IHRzdF9RUW1sRW5naW5lRGVidWdJbnNwZWN0b3JJbnRlZ3JhdGlv bjo6aW5pdChib29sIHJlc3RyaWN0U2VydmljZXMpCisgeworICAgICByZXR1cm4gUVFtbERlYnVn VGVzdDo6Y29ubmVjdFRvKAorKyNpZmRlZiBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSAorKyAgICAg ICAgICAgICAgICBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSCAiL3FtbCIsCisrI2Vsc2UKKyAgICAg ICAgICAgICAgICAgUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRo KSArICIvcW1sIiwKKysjZW5kaWYKKyAgICAgICAgICAgICAgICAgcmVzdHJpY3RTZXJ2aWNlcyA/ IFFTdHJpbmdMaXRlcmFsKCJRbWxEZWJ1Z2dlcixRbWxJbnNwZWN0b3IiKSA6IFFTdHJpbmcoKSwK KyAgICAgICAgICAgICAgICAgdGVzdEZpbGUoInF0cXVpY2syLnFtbCIpLCB0cnVlKTsKKyB9Cist LS0gYS90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9xcW1scHJldmlldy90c3RfcXFtbHByZXZpZXcu Y3BwCisrKysgYi90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9xcW1scHJldmlldy90c3RfcXFtbHBy ZXZpZXcuY3BwCitAQCAtODEsNyArODEsMTIgQEAgdHN0X1FRbWxQcmV2aWV3Ojp0c3RfUVFtbFBy ZXZpZXcoKQorIAorIFFRbWxEZWJ1Z1Rlc3Q6OkNvbm5lY3RSZXN1bHQgdHN0X1FRbWxQcmV2aWV3 OjpzdGFydFFtbFByb2Nlc3MoY29uc3QgUVN0cmluZyAmcW1sRmlsZSkKKyB7CistICAgIHJldHVy biBRUW1sRGVidWdUZXN0Ojpjb25uZWN0VG8oUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5m bzo6QmluYXJpZXNQYXRoKSArICIvcW1sIiwKKysjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklOX1BB VEgKKysgICAgYXV0byBleGVjdXRhYmxlID0gUVRfREVDTEFSQVRJVkVfQklOX1BBVEggIi9xbWwi OworKyNlbHNlCisrICAgIGF1dG8gZXhlY3V0YWJsZSA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGli cmFyeUluZm86OkJpbmFyaWVzUGF0aCkgKyAiL3FtbCI7CisrI2VuZGlmCisrICAgIHJldHVybiBR UW1sRGVidWdUZXN0Ojpjb25uZWN0VG8oZXhlY3V0YWJsZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUVN0cmluZ0xpdGVyYWwoIlFtbFByZXZpZXciKSwgdGVzdEZpbGUocW1s RmlsZSksIHRydWUpOworIH0KKyAKKy0tLSBhL3Rlc3RzL2F1dG8vcW1sL3FtbGZvcm1hdC90c3Rf cW1sZm9ybWF0LmNwcAorKysrIGIvdGVzdHMvYXV0by9xbWwvcW1sZm9ybWF0L3RzdF9xbWxmb3Jt YXQuY3BwCitAQCAtODgsNyArODgsMTEgQEAgVGVzdFFtbGZvcm1hdDo6VGVzdFFtbGZvcm1hdCgp Cisgdm9pZCBUZXN0UW1sZm9ybWF0Ojppbml0VGVzdENhc2UoKQorIHsKKyAgICAgUVFtbERhdGFU ZXN0Ojppbml0VGVzdENhc2UoKTsKKysjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklOX1BBVEgKKysg ICAgbV9xbWxmb3JtYXRQYXRoID0gUUxhdGluMVN0cmluZyhRVF9ERUNMQVJBVElWRV9CSU5fUEFU SCAiL3FtbGZvcm1hdCIpOworKyNlbHNlCisgICAgIG1fcW1sZm9ybWF0UGF0aCA9IFFMaWJyYXJ5 SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCkgKyBRTGF0aW4xU3RyaW5nKCIv cW1sZm9ybWF0Iik7CisrI2VuZGlmCisgI2lmZGVmIFFfT1NfV0lOCisgICAgIG1fcW1sZm9ybWF0 UGF0aCArPSBRTGF0aW4xU3RyaW5nKCIuZXhlIik7CisgI2VuZGlmCistLS0gYS90ZXN0cy9hdXRv L3FtbC9xbWxpbXBvcnRzY2FubmVyL3RzdF9xbWxpbXBvcnRzY2FubmVyLmNwcAorKysrIGIvdGVz dHMvYXV0by9xbWwvcW1saW1wb3J0c2Nhbm5lci90c3RfcW1saW1wb3J0c2Nhbm5lci5jcHAKK0BA IC02Myw4ICs2MywxMiBAQCBUZXN0UW1saW1wb3J0c2Nhbm5lcjo6VGVzdFFtbGltcG9ydHNjYW5u Cisgdm9pZCBUZXN0UW1saW1wb3J0c2Nhbm5lcjo6aW5pdFRlc3RDYXNlKCkKKyB7CisgICAgIFFR bWxEYXRhVGVzdDo6aW5pdFRlc3RDYXNlKCk7CisrI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0xJQkVY RUNfUEFUSAorKyAgICBtX3FtbGltcG9ydHNjYW5uZXJQYXRoID0gUUxhdGluMVN0cmluZyhRVF9E RUNMQVJBVElWRV9MSUJFWEVDX1BBVEggIi9xbWxpbXBvcnRzY2FubmVyIik7CisrI2Vsc2UKKyAg ICAgbV9xbWxpbXBvcnRzY2FubmVyUGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUlu Zm86OkxpYnJhcnlFeGVjdXRhYmxlc1BhdGgpCisgICAgICAgICAgICAgKyBRTGF0aW4xU3RyaW5n KCIvcW1saW1wb3J0c2Nhbm5lciIpOworKyNlbmRpZgorICNpZmRlZiBRX09TX1dJTgorICAgICBt X3FtbGltcG9ydHNjYW5uZXJQYXRoICs9IFFMYXRpbjFTdHJpbmcoIi5leGUiKTsKKyAjZW5kaWYK Ky0tLSBhL3Rlc3RzL2F1dG8vcW1sL3FtbGxpbnQvdHN0X3FtbGxpbnQuY3BwCisrKysgYi90ZXN0 cy9hdXRvL3FtbC9xbWxsaW50L3RzdF9xbWxsaW50LmNwcAorQEAgLTEzNiwxMSArMTM2LDE3IEBA IFRlc3RRbWxsaW50OjpUZXN0UW1sbGludCgpCisgdm9pZCBUZXN0UW1sbGludDo6aW5pdFRlc3RD YXNlKCkKKyB7CisgICAgIFFRbWxEYXRhVGVzdDo6aW5pdFRlc3RDYXNlKCk7CisrI2lmZGVmIFFU X0RFQ0xBUkFUSVZFX0JJTl9QQVRICisrICAgIG1fcW1sbGludFBhdGggPSBRTGF0aW4xU3RyaW5n KFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sbGludCIpOworKyAgICBtX3FtbGpzcm9vdGdl blBhdGggPSBRTGF0aW4xU3RyaW5nKFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sanNyb290 Z2VuIik7CisrICAgIG1fcW1sdHlwZXJlZ2lzdHJhclBhdGggPSBRTGF0aW4xU3RyaW5nKFFUX0RF Q0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sdHlwZXJlZ2lzdHJhciIpOworKyNlbHNlCisgICAgIG1f cW1sbGludFBhdGggPSBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1Bh dGgpICsgUUxhdGluMVN0cmluZygiL3FtbGxpbnQiKTsKKyAgICAgbV9xbWxqc3Jvb3RnZW5QYXRo ID0gUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6TGlicmFyeUV4ZWN1dGFibGVzUGF0 aCkKKyAgICAgICAgICAgICArIFFMYXRpbjFTdHJpbmcoIi9xbWxqc3Jvb3RnZW4iKTsKKyAgICAg bV9xbWx0eXBlcmVnaXN0cmFyUGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86 OkxpYnJhcnlFeGVjdXRhYmxlc1BhdGgpCisgICAgICAgICAgICAgKyBRTGF0aW4xU3RyaW5nKCIv cW1sdHlwZXJlZ2lzdHJhciIpOworKyNlbmRpZgorICNpZmRlZiBRX09TX1dJTgorICAgICBtX3Ft bGxpbnRQYXRoICs9IFFMYXRpbjFTdHJpbmcoIi5leGUiKTsKKyAgICAgbV9xbWxqc3Jvb3RnZW5Q YXRoICs9IFFMYXRpbjFTdHJpbmcoIi5leGUiKTsKKy0tLSBhL3Rlc3RzL2F1dG8vcW1sL2RlYnVn Z2VyL3FkZWJ1Z21lc3NhZ2VzZXJ2aWNlL3RzdF9xZGVidWdtZXNzYWdlc2VydmljZS5jcHAKKysr KyBiL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FkZWJ1Z21lc3NhZ2VzZXJ2aWNlL3RzdF9xZGVi dWdtZXNzYWdlc2VydmljZS5jcHAKK0BAIC0xNDMsNyArMTQzLDEyIEBAIHRzdF9RRGVidWdNZXNz YWdlU2VydmljZTo6dHN0X1FEZWJ1Z01lc3MKKyAKKyB2b2lkIHRzdF9RRGVidWdNZXNzYWdlU2Vy dmljZTo6cmV0cmlldmVEZWJ1Z091dHB1dCgpCisgeworLSAgICBRQ09NUEFSRShRUW1sRGVidWdU ZXN0Ojpjb25uZWN0VG8oUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQ YXRoKSArICIvcW1sIiwKKysjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklOX1BBVEgKKysgICAgYXV0 byBleGVjdXRhYmxlID0gUVRfREVDTEFSQVRJVkVfQklOX1BBVEggIi9xbWwiOworKyNlbHNlCisr ICAgIGF1dG8gZXhlY3V0YWJsZSA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJp bmFyaWVzUGF0aCkgKyAiL3FtbCI7CisrI2VuZGlmCisrICAgIFFDT01QQVJFKFFRbWxEZWJ1Z1Rl c3Q6OmNvbm5lY3RUbyhleGVjdXRhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFFTdHJpbmcoKSwgdGVzdEZpbGUoUU1MRklMRSksIHRydWUpLCBDb25uZWN0U3VjY2Vz cyk7CisgCisgICAgIFFUUllfVkVSSUZZKG1fY2xpZW50LT5sb2dCdWZmZXIuc2l6ZSgpID49IDIp OworLS0tIGEvdGVzdHMvYXV0by9xbWwvcW1scGx1Z2luZHVtcC90c3RfcW1scGx1Z2luZHVtcC5j cHAKKysrKyBiL3Rlc3RzL2F1dG8vcW1sL3FtbHBsdWdpbmR1bXAvdHN0X3FtbHBsdWdpbmR1bXAu Y3BwCitAQCAtNjIsNyArNjIsMTEgQEAgdHN0X3FtbHBsdWdpbmR1bXA6OnRzdF9xbWxwbHVnaW5k dW1wKCkKKyB2b2lkIHRzdF9xbWxwbHVnaW5kdW1wOjppbml0VGVzdENhc2UoKQorIHsKKyAgICAg UVFtbERhdGFUZXN0Ojppbml0VGVzdENhc2UoKTsKKysjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklO X1BBVEgKKysgICAgcW1scGx1Z2luZHVtcFBhdGggPSBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSDsK KysjZWxzZQorICAgICBxbWxwbHVnaW5kdW1wUGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGli cmFyeUluZm86OkJpbmFyaWVzUGF0aCk7CisrI2VuZGlmCisgCisgI2lmIGRlZmluZWQoUV9PU19X SU4pCisgICAgIHFtbHBsdWdpbmR1bXBQYXRoICs9IFFMYXRpbjFTdHJpbmcoIi9xbWxwbHVnaW5k dW1wLmV4ZSIpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9x bWwtYmxhY2tsaXN0LW1vcmUucGF0Y2ggYi9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVz L3FtbC1ibGFja2xpc3QtbW9yZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjJkMjYyOWJmOWRmOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWRl Y2xhcmF0aXZlL3BhdGNoZXMvcW1sLWJsYWNrbGlzdC1tb3JlLnBhdGNoCkBAIC0wLDAgKzEsNDgg QEAKKy0tLSBhL3Rlc3RzL2F1dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMvdW5pdmVyc2FsL0JM QUNLTElTVAorKysrIGIvdGVzdHMvYXV0by9xdWlja2NvbnRyb2xzMi9jb250cm9scy91bml2ZXJz YWwvQkxBQ0tMSVNUCitAQCAtNiw1ICs2LDYgQEAKKyAKKyAjIFFUQlVHLTk1NzUwCisgW1Jhbmdl U2xpZGVyOjp0ZXN0X292ZXJsYXBwaW5nSGFuZGxlc10KKyBiMnF0CisgcW54CisrbGludXgKKy0t LSBhL3Rlc3RzL2F1dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMvYmFzaWMvQkxBQ0tMSVNUCisr KysgYi90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMyL2NvbnRyb2xzL2Jhc2ljL0JMQUNLTElTVAor QEAgLTYsNSArNiw2IEBACisgCisgIyBRVEJVRy05NTc1MAorIFtSYW5nZVNsaWRlcjo6dGVzdF9v dmVybGFwcGluZ0hhbmRsZXNdCisgYjJxdAorIHFueAorK2xpbnV4CistLS0gYS90ZXN0cy9hdXRv L3F1aWNrY29udHJvbHMyL2NvbnRyb2xzL2Z1c2lvbi9CTEFDS0xJU1QKKysrKyBiL3Rlc3RzL2F1 dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMvZnVzaW9uL0JMQUNLTElTVAorQEAgLTYsNSArNiw2 IEBACisgCisgIyBRVEJVRy05NTc1MAorIFtSYW5nZVNsaWRlcjo6dGVzdF9vdmVybGFwcGluZ0hh bmRsZXNdCisgYjJxdAorIHFueAorK2xpbnV4CistLS0gYS90ZXN0cy9hdXRvL3F1aWNrY29udHJv bHMyL2NvbnRyb2xzL2ltYWdpbmUvQkxBQ0tMSVNUCisrKysgYi90ZXN0cy9hdXRvL3F1aWNrY29u dHJvbHMyL2NvbnRyb2xzL2ltYWdpbmUvQkxBQ0tMSVNUCitAQCAtNiw4ICs2LDkgQEAKKyAKKyAj IFFUQlVHLTk1NzUwCisgW1JhbmdlU2xpZGVyOjp0ZXN0X292ZXJsYXBwaW5nSGFuZGxlc10KKyBi MnF0CisgcW54CisrbGludXgKKyAKKyAjIFFUQlVHLTEwMTcwNAorIFtUb29sVGlwOjp0ZXN0X2F0 dGFjaGVkU2l6ZUJ1Z10KKy0tLSBhL3Rlc3RzL2F1dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMv bWF0ZXJpYWwvQkxBQ0tMSVNUCisrKysgYi90ZXN0cy9hdXRvL3F1aWNrY29udHJvbHMyL2NvbnRy b2xzL21hdGVyaWFsL0JMQUNLTElTVAorQEAgLTYsNSArNiw2IEBACisgCisgIyBRVEJVRy05NTc1 MAorIFtSYW5nZVNsaWRlcjo6dGVzdF9vdmVybGFwcGluZ0hhbmRsZXNdCisgYjJxdAorIHFueAor K2xpbnV4CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVzL3FtbC1i cm9rZW4tdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNoZXMvcW1sLWJy b2tlbi10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u NGQ0NGU5MGI2NzhjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUv cGF0Y2hlcy9xbWwtYnJva2VuLXRlc3QucGF0Y2gKQEAgLTAsMCArMSw2NCBAQAorLS0tIGEvdGVz dHMvYXV0by9xdWlja2NvbnRyb2xzMi9jb250cm9scy9kYXRhL3RzdF9yYW5nZXNsaWRlci5xbWwK KysrKyBiL3Rlc3RzL2F1dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMvZGF0YS90c3RfcmFuZ2Vz bGlkZXIucW1sCitAQCAtNjQ5LDYxICs2NDksNiBAQCBUZXN0Q2FzZSB7CisgICAgIH0KKyAKKyAg ICAgZnVuY3Rpb24gdGVzdF9vdmVybGFwcGluZ0hhbmRsZXMoKSB7CistICAgICAgICB2YXIgY29u dHJvbCA9IGNyZWF0ZVRlbXBvcmFyeU9iamVjdChzbGlkZXJDb21wb25lbnQsIHRlc3RDYXNlKQor LSAgICAgICAgdmVyaWZ5KGNvbnRyb2wpCistCistICAgICAgICAvLyBCeSBkZWZhdWx0LCB3ZSBm b3JjZSB0aGUgc2Vjb25kIGhhbmRsZSB0byBiZSBhZnRlciB0aGUgZmlyc3QgaW4KKy0gICAgICAg IC8vIHRlcm1zIG9mIHN0YWNraW5nIG9yZGVyICphbmQqIHogdmFsdWUuCistICAgICAgICBjb21w YXJlKGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56LCAxKQorLSAgICAgICAgY29tcGFyZShjb250cm9s LmZpcnN0LmhhbmRsZS56LCAwKQorLSAgICAgICAgY29udHJvbC5maXJzdC52YWx1ZSA9IDAKKy0g ICAgICAgIGNvbnRyb2wuc2Vjb25kLnZhbHVlID0gMAorLQorLSAgICAgICAgLy8gV2hlbiBib3Ro IGhhbmRsZXMgb3ZlcmxhcCwgb25seSB0aGUgaGFuZGxlIHdpdGggdGhlIGhpZ2hlciBaIHZhbHVl CistICAgICAgICAvLyBzaG91bGQgYmUgaG92ZXJlZC4KKy0gICAgICAgIG1vdXNlTW92ZShjb250 cm9sLCBjb250cm9sLnNlY29uZC5oYW5kbGUueCwgY29udHJvbC5zZWNvbmQuaGFuZGxlLnkpCist ICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25kLmhvdmVyZWQsIHRydWUpCistICAgICAgICBj b21wYXJlKGNvbnRyb2wuZmlyc3QuaG92ZXJlZCwgZmFsc2UpCistCistICAgICAgICAvLyBCb3Ro IGFyZSBhdCB0aGUgc2FtZSBwb3NpdGlvbiwgc28gaXQgZG9lc24ndCBtYXR0ZXIgd2hvc2UgY29v cmRpbmF0ZXMgd2UgdXNlLgorLSAgICAgICAgbW91c2VQcmVzcyhjb250cm9sLCBjb250cm9sLmZp cnN0LmhhbmRsZS54LCBjb250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5MZWZ0QnV0dG9uKQorLSAg ICAgICAgdmVyaWZ5KGNvbnRyb2wuc2Vjb25kLnByZXNzZWQpCistICAgICAgICBjb21wYXJlKGNv bnRyb2wuc2Vjb25kLmhhbmRsZS56LCAxKQorLSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0 LmhhbmRsZS56LCAwKQorLQorLSAgICAgICAgLy8gTW92ZSB0aGUgc2Vjb25kIGhhbmRsZSBvdXQg b2YgdGhlIHdheS4KKy0gICAgICAgIG1vdXNlTW92ZShjb250cm9sLCBjb250cm9sLndpZHRoLCBj b250cm9sLmZpcnN0LmhhbmRsZS55KQorLSAgICAgICAgbW91c2VSZWxlYXNlKGNvbnRyb2wsIGNv bnRyb2wud2lkdGgsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLnksIFF0LkxlZnRCdXR0b24pCistICAg ICAgICB2ZXJpZnkoIWNvbnRyb2wuc2Vjb25kLnByZXNzZWQpCistICAgICAgICBjb21wYXJlKGNv bnRyb2wuc2Vjb25kLnZhbHVlLCAxLjApCistICAgICAgICBjb21wYXJlKGNvbnRyb2wuc2Vjb25k LmhhbmRsZS56LCAxKQorLSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56LCAw KQorLQorLSAgICAgICAgLy8gVGhlIGZpcnN0IGhhbmRsZSBzaG91bGQgbm90IGJlIGhvdmVyZWQu CistICAgICAgICBjb21wYXJlKGNvbnRyb2wuZmlyc3QuaG92ZXJlZCwgZmFsc2UpCistCistICAg ICAgICAvLyBNb3ZlIHRoZSBmaXJzdCBoYW5kbGUgb24gdG9wIG9mIHRoZSBzZWNvbmQuCistICAg ICAgICBtb3VzZVByZXNzKGNvbnRyb2wsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLngsIGNvbnRyb2wu Zmlyc3QuaGFuZGxlLnksIFF0LkxlZnRCdXR0b24pCistICAgICAgICB2ZXJpZnkoY29udHJvbC5m aXJzdC5wcmVzc2VkKQorLSAgICAgICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56LCAx KQorLSAgICAgICAgY29tcGFyZShjb250cm9sLnNlY29uZC5oYW5kbGUueiwgMCkKKy0KKy0gICAg ICAgIG1vdXNlTW92ZShjb250cm9sLCBjb250cm9sLndpZHRoLCBjb250cm9sLmZpcnN0LmhhbmRs ZS55KQorLSAgICAgICAgbW91c2VSZWxlYXNlKGNvbnRyb2wsIGNvbnRyb2wud2lkdGgsIGNvbnRy b2wuZmlyc3QuaGFuZGxlLnksIFF0LkxlZnRCdXR0b24pCistICAgICAgICB2ZXJpZnkoIWNvbnRy b2wuZmlyc3QucHJlc3NlZCkKKy0gICAgICAgIGNvbXBhcmUoY29udHJvbC5maXJzdC5oYW5kbGUu eiwgMSkKKy0gICAgICAgIGNvbXBhcmUoY29udHJvbC5zZWNvbmQuaGFuZGxlLnosIDApCistCist ICAgICAgICAvLyBUaGUgbW9zdCByZWNlbnRseSBwcmVzc2VkIGhhbmRsZSAodGhlIGZpcnN0KSBz aG91bGQgaGF2ZSB0aGUgaGlnaGVyIHogdmFsdWUuCistICAgICAgICBtb3VzZVByZXNzKGNvbnRy b2wsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLngsIGNvbnRyb2wuZmlyc3QuaGFuZGxlLnksIFF0Lkxl ZnRCdXR0b24pCistICAgICAgICB2ZXJpZnkoY29udHJvbC5maXJzdC5wcmVzc2VkKQorLSAgICAg ICAgY29tcGFyZShjb250cm9sLmZpcnN0LmhhbmRsZS56LCAxKQorLSAgICAgICAgY29tcGFyZShj b250cm9sLnNlY29uZC5oYW5kbGUueiwgMCkKKy0KKy0gICAgICAgIG1vdXNlUmVsZWFzZShjb250 cm9sLCBjb250cm9sLmZpcnN0LmhhbmRsZS54LCBjb250cm9sLmZpcnN0LmhhbmRsZS55LCBRdC5M ZWZ0QnV0dG9uKQorLSAgICAgICAgdmVyaWZ5KCFjb250cm9sLmZpcnN0LnByZXNzZWQpCistICAg ICAgICBjb21wYXJlKGNvbnRyb2wuZmlyc3QuaGFuZGxlLnosIDEpCistICAgICAgICBjb21wYXJl KGNvbnRyb2wuc2Vjb25kLmhhbmRsZS56LCAwKQorICAgICB9CisgCisgICAgIGZ1bmN0aW9uIHRl c3Rfa2V5c19kYXRhKCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVt cGxhdGUgYi9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0ZQppbmRleCBlMGJkMjhkOWUz ODMuLjhhMTkwZGZjMzViYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9xdDYtZGVjbGFyYXRpdmUvdGVtcGxhdGUKQEAgLTEsMjMgKzEs MjIgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1kZWNsYXJhdGl2ZScKIHBrZ25hbWU9cXQ2 LWRlY2xhcmF0aXZlCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3 cmtzcmM9InF0ZGVjbGFyYXRpdmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0 eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iIC1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFr ZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwgcGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsCiAg cXQ2LXNoYWRlcnRvb2xzLWRldmVsIgotbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIFZ1bGth bi1IZWFkZXJzIgorbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIFZ1bGthbi1IZWFkZXJzIHF0 Ni1zaGFkZXJ0b29scy1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0 aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBEZWNsYXJhdGl2ZSIKIG1haW50YWluZXI9IkpvaG4gPG1l QGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhj ZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJo dHRwczovL3d3dy5xdC5pbyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZp Y2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdGRl Y2xhcmF0aXZlLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZDI5 NGIwMjlkYzJiMmQ0ZjY1ZGE1MTZmZGMzYjgwODhkMzI2NDNlYjdmZjc3ZGIxMzVhOGI5Y2U5MDRj YWEzNworY2hlY2tzdW09MDNlNzY5NDEyMzgyMGZjY2EzOTdmOTVjZTMxMmUwYjdmMzAzOTQ5M2M4 NzU0YzgzNmRhMDk4YTFhMDQzNDZlOAogcmVwbGFjZXM9InF0Ni1xdWlja2NvbnRyb2xzMj49MCIK IAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCi0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9C VUlMRF9UT09MU19XSEVOX0NST1NTQ09NUElMSU5HPXRydWUiCisJY29uZmlndXJlX2FyZ3M9Ii1E UVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgogCWhvc3RtYWtlZGVwZW5k cys9IiBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBmaQogCkBAIC0yOSwxMyArMjgsMzEgQEAgaWYg WyAiJFhCUFNfVEFSR0VUX0VORElBTiIgPSAiYmUiIF07IHRoZW4KIAlicm9rZW49InNoYWRlciBj b21waWxhdGlvbiBmYWlscyIKIGZpCiAKK3ByZV9jb25maWd1cmUoKSB7CisJQ1hYRkxBR1MrPSIg Jy1EUVRfREVDTEFSQVRJVkVfQklOX1BBVEg9XCIke3dya3NyY30vYnVpbGQvbGliL3F0Ni9iaW5c IiciCisJQ1hYRkxBR1MrPSIgJy1EUVRfREVDTEFSQVRJVkVfTElCRVhFQ19QQVRIPVwiJHt3cmtz cmN9L2J1aWxkL2xpYi9xdDYvbGliZXhlY1wiJyIKK30KKwogcHJlX2NoZWNrKCkgewogCWV4cG9y dCBRTUwyX0lNUE9SVF9QQVRIPSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYvcW1sIgogfQogCiBkb19j aGVjaygpIHsKIAljZCBidWlsZAotCWN0ZXN0IC1FICcodHN0X3FxbWxsb2NhbGV8dGV4dHx0c3Rf cXF1aWNrd2lkZ2V0KScKKwlsb2NhbCBicm9rZW49InRzdF9xcW1sbG9jYWxlfHRleHR8dHN0X3Fx dWlja3dpZGdldCIKKwkjIHJlcXVpcmVzIHF0Ni1kZWNsYXJhdGl2ZSBpbnN0YWxsZWQKKwlicm9r ZW4rPSJ8bW9kdWxlX2luY2x1ZGVzfGNtYWtlX3Rvb2xpbmdfaW1wb3J0c3xlbXB0eV9xbWxkaXIi CisJYnJva2VuKz0ifHF0cXVpY2tjb21waWxlcnxxbWxxdWVyeSIKKwkjIENvdWxkIHdvcmsgaWYg UXQ2UXVpY2suc28uNiBjb3VsZCBiZSBmb3VuZCBieSBxbWwKKwlicm9rZW4rPSJ8dHN0X3FxbWxk ZWJ1Z2pzfHRzdF9xcW1saW5zcGVjdG9yIgorCWJyb2tlbis9Inx0c3RfcXFtbHByb2ZpbGVyc2Vy dmljZXx0c3RfcXFtbGpzc2NvcGUiCisJYnJva2VuKz0ifHRzdF9xcW1scHJldmlld3x0c3RfcW1s bGludHx0c3RfcW1sZm9ybWF0IgorCSMgY2FuJ3QgZmluZCB0aGUgc291cmNlCisJYnJva2VuKz0i fHRzdF9xbWx0Y19xcHJvY2VzcyIKKwlicm9rZW4rPSJ8dHN0X3FxdWlja2ZpbGVkaWFsb2dpbXBs IgorCWJyb2tlbis9Inx0c3RfcXF1aWNrZm9sZGVyZGlhbG9naW1wbCIKKwlicm9rZW4rPSJ8dHN0 X3FtbGltcG9ydHNjYW5uZXJ8dHN0X3FxbWxleHRlbnNpb25wbHVnaW4iCisJY3Rlc3QgLUUgIigk YnJva2VuKSIKIH0KIAogcXQ2LWRlY2xhcmF0aXZlLXRvb2xzX3BhY2thZ2UoKSB7CkBAIC02MCwx MSArNzcsMTQgQEAgcXQ2LWRlY2xhcmF0aXZlLWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3Rh bGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1v dmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUg dXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi9saWJRdDZRdWlja1Rlc3Quc28u KiIKIAkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0VGVzdAogCQl2bW92ZSB1c3IvbGliL3F0Ni9i aW4vcW1sdGVzdHJ1bm5lcgogCQl2bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xp Yi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA3Y2Qy ZGI3MDY3ODBlYmJmYWVhNzBkMWJiNjllNzE5MjNhZmY1ZDAzIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMz PUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAy MDIyIDE3OjEzOjA3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8yOV0gcXQ2LWltYWdlZm9ybWF0 czogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxh dGUgfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQppbmRleCBlYWNhOTUyNDNjNDguLjlmNmQy ZmI2Njc3NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtaW1hZ2Vmb3JtYXRzL3RlbXBsYXRlCisr KyBiL3NyY3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtaW1hZ2Vmb3JtYXRzJwogcGtnbmFtZT1xdDYtaW1hZ2Vm b3JtYXRzCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9 InF0aW1hZ2Vmb3JtYXRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1j bWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IiCiBob3N0bWFrZWRlcGVu ZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwiCiBz aG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0g aW1hZ2Vmb3JtYXRzIgpAQCAtMTIsNCArMTEsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hu bnluYXRvci5kZXY+IgogbGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1Ig R1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRw Oi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3Zl cnNpb259L3N1Ym1vZHVsZXMvcXRpbWFnZWZvcm1hdHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT0wMjVkMGQxN2VkNzViNDJhN2ViNmI1MjM3MzFhYjhmMTcwMjU0 MjFhODgxMGNhZGUyNWNhZmZlMDVkOTNhYmVmCitjaGVja3N1bT1hZDAzMTJiOGRmYmJiNjdmNzI5 YmZhZGJmY2Q0NzI0NmVlNGExMjhiNzE3NzMxYmExNThjNDFkMDFmZGUyMTJmCgpGcm9tIGVjNWVj ZDQ0YjkwMTAxNTM4NWJjZDMzYjdjN2I1Y2JmODgwYTQ1MzEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9 QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIw MjIgMTc6MTM6MDcgKzA3MDAKU3ViamVjdDogW1BBVENIIDA1LzI5XSBxdDYtbG9jYXRpb246IHVw ZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUgfCA4ICsr KysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYt bG9jYXRpb24vdGVtcGxhdGUKaW5kZXggYjczOTdmNWY4OTQyLi45ZjI2MTAzMjU5YWQgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcXQ2LWxvY2F0aW9uL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWxv Y2F0aW9uL3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0 Ni1sb2NhdGlvbicKIHBrZ25hbWU9cXQ2LWxvY2F0aW9uCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9u PTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0cG9zaXRpb25pbmctZXZlcnl3aGVyZS1zcmMt JHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NU X1BBVEg9L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtYmFzZS1kZXZlbCBxdDYtZGVj bGFyYXRpdmUtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LXNlcmlhbHBvcnQtZGV2ZWwgcXQ2LWRl Y2xhcmF0aXZlLWRldmVsIEdDb25mLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0g YXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAtIGxvY2F0aW9uIgpAQCAtMTIsNyArMTEsNyBA QCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwt My4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25s eSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgog ZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2 ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRwb3NpdGlvbmluZy1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWU5ZWQ1MGY2YjI0NWEzNDZkYjM0ZDYy NWQwMDEyNzc0ZWYwZWM4ZTdmZDY1MDM3MTI3ZWMyNjc1ODcwODIzNmUKK2NoZWNrc3VtPTA2Nzg4 ZTRlY2FlMTkyMDA5NGIzMGU0MDQ2ZjBhYmQyM2M4MTg5ZDhhNTFlOWM5MzliMDJmMGI2YWJlMmU4 NmMKIAogcXQ2LWxvY2F0aW9uLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vw a2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni1iYXNlLWRldmVsPj0ke3ZlcnNpb259XzEi CkBAIC0yMCw4ICsxOSwxMSBAQCBxdDYtbG9jYXRpb24tZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2df aW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQor CQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2 bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3Zl ICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpG cm9tIGRiNTcwNjYxZWQ1ZmIwMjFkZGI5ZjRkZjRkNTcwNzVjZDBhNGZlMmMgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3 bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24s IDggQXVnIDIwMjIgMTc6MTM6MDggKzA3MDAKU3ViamVjdDogW1BBVENIIDA2LzI5XSBxdDYtbG90 dGllOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZSB8 IDkgKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LWxvdHRpZS90ZW1wbGF0ZQppbmRleCAxYzk3Y2Q1ZjRmMzIuLmE3YmViNjJlYzM2OCAxMDA2 NDQKLS0tIGEvc3JjcGtncy9xdDYtbG90dGllL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWxv dHRpZS90ZW1wbGF0ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYt bG90dGllJwogcGtnbmFtZT1xdDYtbG90dGllCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4x CiByZXZpc2lvbj0xCiB3cmtzcmM9InF0bG90dGllLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0i CiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3Ii CiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2 LWRlY2xhcmF0aXZlLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRp b24gYW5kIFVJIGZyYW1ld29yayAtIGxvdHRpZSIKQEAgLTEyLDEwICsxMSwxMCBAQCBtYWludGFp bmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5Igog aG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQu aW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVs ZXMvcXRsb3R0aWUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0z OWRiNTcwYmJiYTViNTI3YTFlYjZhNTc3NGJlZDQ3Mzk4YWNlMmY3MjE3YmJmNDViMTE5NGFkYTZj Zjk3ZGViCitjaGVja3N1bT03NDBiYTc2OTk5MTI0ZDVlMWE4NWVmM2QwMWM2OTk3NmJiODU1Nzg2 MmI2YjI2YmY0OGIzNTdmZTBjYWIxY2Y1CiAKIGlmIFsgIiRYQlBTX0NIRUNLX1BLR1MiIF07IHRo ZW4KLQljb25maWd1cmVfYXJncys9IiAtRFFUX0JVSUxEX1RFU1RTPU9OIgorCWNvbmZpZ3VyZV9h cmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgogZmkKIAogcHJlX2NoZWNrKCkgewpAQCAtMjgsOCAr MjcsMTAgQEAgcXQ2LWxvdHRpZS1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewog CQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9s aWIvbWV0YXR5cGVzCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVzci9s aWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYv bW9kdWxlcwogCX0KIH0KCkZyb20gMWU3NDljNTM1MzA5MzZiNjM4MzBlNTEzZjE0ODk0OWU2OTMx OWQ4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9 QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFp bC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowOCArMDcwMApTdWJqZWN0OiBbUEFU Q0ggMDcvMjldIHF0Ni1uZXR3b3JrYXV0aDogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dz L3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0ZSB8IDEwICsrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtbmV0d29ya2F1dGgvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1uZXR3b3JrYXV0aC90ZW1wbGF0 ZQppbmRleCBlOTM0YmVhZGE5YjAuLjE0NTRjZWI0YTUyNSAxMDA2NDQKLS0tIGEvc3JjcGtncy9x dDYtbmV0d29ya2F1dGgvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtbmV0d29ya2F1dGgvdGVt cGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LW5ldHdvcmth dXRoJwogcGtnbmFtZT1xdDYtbmV0d29ya2F1dGgKLXZlcnNpb249Ni4zLjAKK3ZlcnNpb249Ni4z LjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXRuZXR3b3JrYXV0aC1ldmVyeXdoZXJlLXNyYy0ke3Zl cnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFU SD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIgogbWFrZWRlcGVu ZHM9InF0Ni1iYXNlLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRp b24gYW5kIFVJIGZyYW1ld29yayAtIG5ldHdvcmthdXRoIgpAQCAtMTIsMTAgKzExLDEwIEBAIG1h aW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9u bHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9h ZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3Vi bW9kdWxlcy9xdG5ldHdvcmthdXRoLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6Igot Y2hlY2tzdW09MjAzYTk4OTQyOTE5MDI4NTIwMDM4ZjkwYTIwY2Q3ZWUzMmI1MzcyMzM1NDVkMTFl NDI5YzNlMmMxYWQ5MDY5ZgorY2hlY2tzdW09ZDYwZjU0YjlkNDUwOWZhOGJkYmYxOTkwYmM5MWY2 ZTI2MGUzOGNkYjU3YTdiODExOWZhMzg2MWJjNWQyZmIyYQogCiBpZiBbICIkWEJQU19DSEVDS19Q S0dTIiBdOyB0aGVuCi0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKKwlj b25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1PTiIKIGZpCiAKIHF0Ni1uZXR3b3JrYXV0 aC1kZXZlbF9wYWNrYWdlKCkgewpAQCAtMjQsOCArMjMsMTEgQEAgcXQ2LW5ldHdvcmthdXRoLWRl dmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJ CXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUg dXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAi dXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJl L3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSAyNDM0ZGNjY2E4YTExN2JjNjJkNDZmMzNhNjBiOTZi NzQzMmM5ZDQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkw bz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4 QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA4ICswNzAwClN1YmplY3Q6 IFtQQVRDSCAwOC8yOV0gcXQ2LXF0NWNvbXBhdDogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNw a2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUgfCAxMiArKysrKysrLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRl CmluZGV4IDdmY2Q1YWQ1MDgwZS4uYTYyNTczY2ZhYmZhIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0 Ni1xdDVjb21wYXQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRl CkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1xdDVjb21wYXQnCiBw a2duYW1lPXF0Ni1xdDVjb21wYXQKLXZlcnNpb249Ni4zLjAKLXJldmlzaW9uPTIKK3ZlcnNpb249 Ni4zLjEKK3JldmlzaW9uPTEKIHdya3NyYz0icXQ1Y29tcGF0LWV2ZXJ5d2hlcmUtc3JjLSR7dmVy c2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRI PS91c3IiCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1k ZXZlbCBwZXJsIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcXQ2LWRl Y2xhcmF0aXZlLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24g YW5kIFVJIGZyYW1ld29yayAtIFF0NSBDb21wYXRpYmlsdHkgQ29tcG9uZW50IgpAQCAtMTIsMTAg KzExLDEwIEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNl PSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwg R1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0i aHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0v JHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0NWNvbXBhdC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259 LnRhci54eiIKLWNoZWNrc3VtPTJiMTk5YmU3ODBjNTBkOTIxNDUxMmI5MjJkOTRjYjI0MGIwNDEy ZmQ2M2Y0NTllMzU2Yjc2MTAyY2FkMTcxM2UKK2NoZWNrc3VtPWE0M2VjNjJiZDc3OGVhZWNmODhh ZDc4NDcxMThkMWMyYTQ3MWIwZmNiODIwZjkzYmViMzExZDdhYjk1NjZjZmQKIAogaWYgWyAiJFhC UFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVT VFM9T04iCisJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBxdDYt cXQ1Y29tcGF0LWRldmVsX3BhY2thZ2UoKSB7CkBAIC0yNCw4ICsyMywxMSBAQCBxdDYtcXQ1Y29t cGF0LWRldmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNs dWRlCiAJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJ dm1vdmUgdXNyL2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2 bW92ZSAidXNyL2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNy L3NoYXJlL3F0Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA4YmFhNWM3MzI0YjA0NTQ4NDY0YTJkMThl ZDFkMTJkNDcyZWIyZDg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA4ICswNzAwClN1 YmplY3Q6IFtQQVRDSCAwOS8yOV0gcXQ2LXF1aWNrM2Q6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQog c3JjcGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZSB8IDE3ICsrKysrKysrKysrKy0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXVpY2szZC90ZW1w bGF0ZQppbmRleCAwZjdlZjMzNmEzZmYuLjY4NWNlOWJjMGU5MCAxMDA2NDQKLS0tIGEvc3JjcGtn cy9xdDYtcXVpY2szZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRl CkBAIC0xLDE5ICsxLDIzIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcXVpY2szZCcKIHBr Z25hbWU9cXQ2LXF1aWNrM2QKLXZlcnNpb249Ni4zLjAKK3ZlcnNpb249Ni4zLjEKIHJldmlzaW9u PTEKIHdya3NyYz0icXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCiBidWlsZF9z dHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgogaG9zdG1h a2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYt c2hhZGVydG9vbHMtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xh cmF0aXZlLWRldmVsIHF0Ni1zaGFkZXJ0b29scy1kZXZlbAotIGxpYmFzc2ltcC1kZXZlbCIKKyBx dDYtcXVpY2t0aW1lbGluZSBsaWJhc3NpbXAtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0 Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gUXVpY2szZCIKIG1haW50YWluZXI9 IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9yLWxhdGVyIgog aG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQu aW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVs ZXMvcXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09 MGFkMDViZDFlZTFmNzg0YjE4MjIwYTJkMjYyNWVlOGRlOTE2NjJjODhmZGM3Yjc5ODY2Mjk1M2Q4 NmViMzI3ZQorY2hlY2tzdW09MmZhNzY2ZWU0N2I4YzA3NDEyYjNiNzU1MjA2YWRhMDcxNWZiMDc4 MTNiNjRlZDA2OWU3MjA1MDQ0YzA2MTI1NgorCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4K Kwlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LXF1aWNrM2QtZGV2ZWwiCisJY29uZmlndXJlX2FyZ3M9 Ii1EUVRfQlVJTERfVE9PTFNfV0hFTl9DUk9TU0NPTVBJTElORz10cnVlIgorZmkKIAogaWYgWyAi JFhCUFNfVEFSR0VUX0VORElBTiIgPSAiYmUiIF07IHRoZW4KIAkjIHBvc3NpYmx5IGEgcXQ2LXNo YWRlcnRvb2xzIGJ1ZywgYWN0dWFsbHkKQEAgLTI2LDkgKzMwLDEyIEBAIHF0Ni1xdWljazNkLWRl dmVsX3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJ CXZtb3ZlIHVzci9saWIvY21ha2UKLQkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92 ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1 c3IvbGliL3F0Ni9iaW4KKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNy L2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0 Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSBmNzk1ZjQ4MGU5MGZkMDczZGU4OTVkODM4NmI1ZGEwZWMz Y2U0ZmJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1D Mz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdt YWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA5ICswNzAwClN1YmplY3Q6IFtQ QVRDSCAxMC8yOV0gcXQ2LXF1aWNrdGltZWxpbmU6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogY29t bW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICB8IDEgKwogc3JjcGtncy9xdDYtcXVpY2t0 aW1lbGluZS90ZW1wbGF0ZSB8IDcgKysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1v bi9zaGxpYnMKaW5kZXggNjE5MjQ2MTBjYzUyLi4yNmYxMGQ2MDRiZTkgMTAwNjQ0Ci0tLSBhL2Nv bW1vbi9zaGxpYnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjA0NSw2ICsyMDQ1LDcgQEAgbGli UXQ2UXVpY2szRElibEJha2VyLnNvLjYgcXQ2LXF1aWNrM2QtNi4wLjNfMQogbGliUXQ2UXVpY2sz RFBhcnRpY2xlcy5zby42IHF0Ni1xdWljazNkLTYuMS4wXzEKIGxpYlF0NlF1aWNrM0RHbHNsUGFy c2VyLnNvLjYgcXQ2LXF1aWNrM2QtNi4zLjBfMQogbGliUXQ2UXVpY2szREFzc2V0VXRpbHMuc28u NiBxdDYtcXVpY2szZC02LjEuMF8xCitsaWJRdDZRdWlja1RpbWVsaW5lLnNvLjYgcXQ2LXF1aWNr dGltZWxpbmUtNi4zLjBfMQogbGliUXQ2UXVpY2tDb250cm9sczJJbXBsLnNvLjYgcXQ2LWRlY2xh cmF0aXZlLTYuMC4wXzEKIGxpYlF0NlF1aWNrQ29udHJvbHMyLnNvLjYgcXQ2LWRlY2xhcmF0aXZl LTYuMC4wXzEKIGxpYlF0NlF1aWNrVGVtcGxhdGVzMi5zby42IHF0Ni1kZWNsYXJhdGl2ZS02LjAu MF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlIGIvc3Jj cGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQppbmRleCAxNWFhN2E4ZTU4MTkuLmJmMDJl MDQzYzRhNSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtcXVpY2t0aW1lbGluZS90ZW1wbGF0ZQor KysgYi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1xdWlja3RpbWVsaW5lJwogcGtnbmFtZT1xdDYtcXVp Y2t0aW1lbGluZQotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jr c3JjPSJxdHF1aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL3JjLy1yY30iCiBi dWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3IgIgog aG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZl bCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCiBz aG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0g cXVpY2t0aW1lbGluZSIKQEAgLTEyLDEwICsxMSwxMCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBq b2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJo dHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFs X3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9uL3JjLy1yY30vc3VibW9kdWxlcy9x dHF1aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9uL3JjLy1yY30udGFyLnh6Igot Y2hlY2tzdW09OWZmMGE5MzExNTllZmM2YmU1YmQ5ZjhhMWU0YTE2YTcwZTJkYWIzN2NmMjJhZDg1 YzZkMzMwY2NmZGYzMWMxYQorY2hlY2tzdW09NThhMTNjZjBjZThlNzc1NTYzOWYyMDY4NDA3ODcz M2FmMjRmNWEzMTdmNmRkYjQwZDYwNzljOGM1YTI4ZWJiZQogCiBpZiBbICIkWEJQU19DSEVDS19Q S0dTIiBdOyB0aGVuCi0JY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKKwlj b25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1PTiIKIGZpCiAKIHByZV9jaGVjaygpIHsK CkZyb20gNmUwZWNlZmE5MGIyMmQzYzdmNGU1OThjOGU3NTZlODZmYTQ5MGQ1ZCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9 QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1v biwgOCBBdWcgMjAyMiAxNzoxMzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMjldIHF0Ni1z Y3htbDogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0Ni1zY3htbC90ZW1wbGF0ZSB8 IDEzICsrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlIGIvc3Jj cGtncy9xdDYtc2N4bWwvdGVtcGxhdGUKaW5kZXggMTEyYmFjYTBhYjgzLi5kMTdjY2YxNjQwMGEg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2 LXNjeG1sL3RlbXBsYXRlCkBAIC0xLDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdx dDYtc2N4bWwnCiBwa2duYW1lPXF0Ni1zY3htbAotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMu MQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHNjeG1sLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0i CiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRIPS91c3Ii Citjb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9UT09MU19XSEVOX0NST1NTQ09NUElMSU5HPXRy dWUiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgogbWFrZWRl cGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3Jt IGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBzY3htbCIKQEAgLTEyLDcgKzEyLDExIEBA IG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJMR1BMLTMu MC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6 Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxl YXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHNjeG1sLWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09MDliMGRiZDZhYzM2NzkyMGZi MWJhOTZhMzlkY2Q0YzlkMzNlYjA4MjBkY2M3OTUzODk5MjgyNWQ1ODhhNzBmMAorY2hlY2tzdW09 MDFiYzE1NGQ2MTYzZDFmMDQ5ZjRlMWU3NjY1OGEwNDQ3MzBhY2U3YjBhNWJlMzVjOWE0NmZjZDEz OTZmODYxOQorCitpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwlob3N0bWFrZWRlcGVuZHMr PSIgcXQ2LXJlbW90ZW9iamVjdHMiCitmaQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0 aGVuCiAJY29uZmlndXJlX2FyZ3MrPSIgLURRVF9CVUlMRF9URVNUUz1PTiIKQEAgLTI0LDggKzI4 LDExIEBAIHF0Ni1zY3htbC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2 bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIv bWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2 L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwi CisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gZmQ2ZTQxYzU5ZDlh ZWE5NTk2ZDlkYzUxMjI2M2E3YmE1OGI2YTNjMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIw RGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzox MzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTIvMjldIHF0Ni1zZXJpYWxwb3J0OiB1cGRhdGUg dG8gNi4zLjEuCgotLS0KIHNyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUgfCA4ICsrKysr LS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1z ZXJpYWxwb3J0L3RlbXBsYXRlCmluZGV4IDA4MDQ2NzFjYTU3Yi4uMmRlOWQ2MzY0YTVjIDEwMDY0 NAotLS0gYS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2 LXNlcmlhbHBvcnQvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZv ciAncXQ2LXNlcmlhbHBvcnQnCiBwa2duYW1lPXF0Ni1zZXJpYWxwb3J0Ci12ZXJzaW9uPTYuMy4w Cit2ZXJzaW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0c2VyaWFscG9ydC1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSIt RFFUX0hPU1RfUEFUSD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVs IHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwiCiBzaG9ydF9kZXNjPSJD cm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gc2VyaWFscG9ydCIK QEAgLTEyLDcgKzExLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIK IGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkp IEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJo dHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFs X3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2VyaWFs cG9ydC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWVlYmQ2OTM0 ZDQ4Y2MwNDRiOGM4Nzc5NWE0ZmQ5MWJiODFmNzE5NWQ0YjVhMmRkYjEyODAyZjM0M2Q1ZGI2NGYK K2NoZWNrc3VtPTRlYjZkODBlNjU3OTlkZDJlMDMxOGRmNGRmYmExNDE3M2MxOTI5ZTg2MTcxOGNk YTliZWRjYTI0MjUzYjYxNmUKIAogcXQ2LXNlcmlhbHBvcnQtZGV2ZWxfcGFja2FnZSgpIHsKIAlk ZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2 ZWw+PSR7dmVyc2lvbn1fMSIKQEAgLTIwLDggKzE5LDExIEBAIHF0Ni1zZXJpYWxwb3J0LWRldmVs X3BhY2thZ2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZt b3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNy L2xpYi9wa2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNy L2xpYi8qLnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0 Ni9tb2R1bGVzCiAJfQogfQoKRnJvbSA2MzY3MzA2Y2RkMjU0YzgzOTllYTY1MjAyNzhjYTk2OTA3 ZGQ2YTExIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1D Mz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdt YWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjA5ICswNzAwClN1YmplY3Q6IFtQ QVRDSCAxMy8yOV0gcXQ2LXNoYWRlcnRvb2xzOiB1cGRhdGUgdG8gNi4zLjEuCgotLS0KIHNyY3Br Z3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIHwgMTQgKysrKysrKysrKystLS0KIDEgZmlsZSBj aGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc2hhZGVydG9vbHMv dGVtcGxhdGUKaW5kZXggOWMxZWMyMTBhOTZhLi4zNzE2MzMzYzQ1OWIgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXNoYWRlcnRv b2xzL3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1z aGFkZXJ0b29scycKIHBrZ25hbWU9cXQ2LXNoYWRlcnRvb2xzCi12ZXJzaW9uPTYuMy4wCit2ZXJz aW9uPTYuMy4xCiByZXZpc2lvbj0xCiB3cmtzcmM9InF0c2hhZGVydG9vbHMtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9I T1NUX1BBVEg9L3VzciAiCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwiCiBt YWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBh cHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gc2hhZGVydG9vbHMiCkBAIC0xMiw3ICsxMSwx MyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BM LTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0 cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2 ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2hhZGVydG9vbHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT01NDk4OTU5YjlkMzdjMjU0YmQxMjZhYjEzMjBjZjg2YWViOGEz MWIzZWE3ZTUxZGI2NjZhOGY5Njk4YWZiZDZjCitjaGVja3N1bT01OWI3NzE3Njk2MTUyOGNjN2Iw YzkzMjUxMzQ2NTVlMjczYWE4N2I0Y2IzODZjMGY0NjgzZDhmMjg1MmU0MzVhCisKK2lmIFsgIiRD Uk9TU19CVUlMRCIgXTsgdGhlbgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RPT0xTX1dI RU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZSIKKwlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LXNoYWRlcnRv b2xzLWRldmVsIgorZmkKKwogCiBxdDYtc2hhZGVydG9vbHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlk ZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2 ZWw+PSR7dmVyc2lvbn1fMSIKQEAgLTIwLDggKzI1LDExIEBAIHF0Ni1zaGFkZXJ0b29scy1kZXZl bF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvaW5jbHVkZQogCQl2 bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVz ci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKIAkJdm1vdmUgInVz ci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9x dDYvbW9kdWxlcwogCX0KIH0KCkZyb20gMzI2ZWI5ZDkyZmU4NzgzMjI5MTkzODMzYjY0NjFiYzI2 YjVhMTYwYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89 QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBn bWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzowOSArMDcwMApTdWJqZWN0OiBb UEFUQ0ggMTQvMjldIHF0Ni1zdmc6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYt c3ZnL3RlbXBsYXRlIHwgMTAgKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxh dGUgYi9zcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUKaW5kZXggYWE4ZTZiNzQ1MTA5Li4zMDliMDk4 OGU0MzUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3F0Ni1zdmcvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn cXQ2LXN2ZycKIHBrZ25hbWU9cXQ2LXN2ZwotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQog cmV2aXNpb249MQogd3Jrc3JjPSJxdHN2Zy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgogYnVp bGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNyICIKIGhv c3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcGVybCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBm cmFtZXdvcmsgKFFUNikgLSBxdDYtc3ZnIGNvbXBvbmVudCIKQEAgLTEyLDEwICsxMSwxMCBAQCBt YWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1v bmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIEdQTC0yLjAtb3ItbGF0ZXIsIExHUEwtMy4w LW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3du bG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0v c3VibW9kdWxlcy9xdHN2Zy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNr c3VtPTMxNjQ1MDRkN2UzZjY0MDQzOTMwODIzNTczOWIxMTI2MDVhYjVmYzljYzUxN2NhMGIyOGY5 ZmI5M2E4ZGIwZTMKK2NoZWNrc3VtPTdiMTlmNDE4ZTZmN2I4ZTIzMzQ0MDgyZGQwNDQ0MGFhY2Y1 ZGEyM2M1YTczOTgwYmEyMmFlNGViYTRmODdkZjcKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIg XTsgdGhlbgotCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCisJY29uZmln dXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCiBmaQogCiBkb19jaGVjaygpIHsKQEAgLTI5 LDggKzI4LDExIEBAIHF0Ni1zdmctZGV2ZWxfcGFja2FnZSgpIHsKIAlwa2dfaW5zdGFsbCgpIHsK IAkJdm1vdmUgdXNyL2luY2x1ZGUKIAkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3Iv bGliL21ldGF0eXBlcworCQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCQl2bW92ZSB1c3IvbGli L3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyou cHJsIgorCQl2bW92ZSB1c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDg0MDlmOTAw YzM3ZWI0MmI1NTFiZGY4N2FkODMxMDE2NjdjMzllZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRu Zz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIg MTc6MTM6MTAgKzA3MDAKU3ViamVjdDogW1BBVENIIDE1LzI5XSBxdDYtdG9vbHM6IHVwZGF0ZSB0 byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUgfCAyMyArKysrKysrKysr KysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUgYi9zcmNwa2dz L3F0Ni10b29scy90ZW1wbGF0ZQppbmRleCBmODc1ZGZmNWMwNDYuLmZkMzExMTc2ZTMxZCAxMDA2 NDQKLS0tIGEvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYtdG9v bHMvdGVtcGxhdGUKQEAgLTEsMjMgKzEsMzMgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni10 b29scycKIHBrZ25hbWU9cXQ2LXRvb2xzCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4xCiBy ZXZpc2lvbj0xCiB3cmtzcmM9InF0dG9vbHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1 aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAiCi1o b3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwiCi1tYWtlZGVwZW5kcz0icXQ2LWJh c2UtZGV2ZWwgbGliYXRvbWljLWRldmVsIgorY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVE9P TFNfV0hFTl9DUk9TU0NPTVBJTElORz1UUlVFCisgLURRVF9CVUlMRF9TSEFSRURfTElCUz1PTiAt RFFUX0ZFQVRVUkVfYXNzaXN0YW50PU9OIgoraG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZl bCBwZXJsIHF0Ni1wbHVnaW4tc3FsaXRlIgorbWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIGxp YmF0b21pYy1kZXZlbCBxdDYtcGx1Z2luLXNxbGl0ZSIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRm b3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgKFFUNikgLSBxdDYtdG9vbHMgY29tcG9u ZW50IgogbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQ TC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwt Mi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRw Oi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3Zl cnNpb259L3N1Ym1vZHVsZXMvcXR0b29scy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPWZjZTk0Njg4ZWE5MjU3ODJhMjg3OTM0NzU4NDk5MWY4NTQ2MzBkYWFkYmE2 YzUyYWVkNmQ5M2UzM2NkMGIxOWMKK2NoZWNrc3VtPWM0MTI3NTBmMmFhM2JlYjkzZmNlNWYzMDUx N2M2MDdmNTVkYWFlYjdkMDQwN2FmMjA2YThhZGY5MTdlMTI2YzEKKworaWYgWyAiJENST1NTX0JV SUxEIiBdOyB0aGVuCisJaG9zdG1ha2VkZXBlbmRzKz0iIHF0Ni10b29scy1kZXZlbCIKK2ZpCisK IAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1E UVRfQlVJTERfVEVTVFM9T04iCiBmaQogCitwb3N0X2J1aWxkKCkgeworCW5pbmphIC1DIGJ1aWxk ICR7bWFrZWpvYnN9IGxpYi9xdDYvbGliZXhlYy9xaGVscGdlbmVyYXRvcgorfQorCiBkb19jaGVj aygpIHsKIAljZCBidWlsZAogCSMgU29tZSBvZiB0aGVzZSB0ZXN0cyBleHBlY3QgdGhhdCBxdDYt dG9vbHMgaXMgYWxyZWFkeQpAQCAtMzEsOCArNDEsMTEgQEAgcXQ2LXRvb2xzLWRldmVsX3BhY2th Z2UoKSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVz ci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9w a2djb25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8q LnNvIgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1 bGVzCiAJfQogfQoKRnJvbSA0ZWNiYjVmOWU2MjNlZjJiMThhMDJlYTM4NTllNWJmNTI4ZjM1OTg0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49 MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNv bT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAwClN1YmplY3Q6IFtQQVRDSCAx Ni8yOV0gcXQ2LXRyYW5zbGF0aW9uczogdXBkYXRlIHRvIDYuMy4xLgoKLS0tCiBzcmNwa2dzL3F0 Ni10cmFuc2xhdGlvbnMvdGVtcGxhdGUgfCA1ICsrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXRyYW5z bGF0aW9ucy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0ZQppbmRl eCBiZTBhNzRjYTc0ZTIuLjFiOTE3Y2NiMzYyMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtdHJh bnNsYXRpb25zL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRyYW5zbGF0aW9ucy90ZW1wbGF0 ZQpAQCAtMSwxMCArMSw5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtdHJhbnNsYXRpb25z JwogcGtnbmFtZT1xdDYtdHJhbnNsYXRpb25zCi12ZXJzaW9uPTYuMy4wCit2ZXJzaW9uPTYuMy4x CiByZXZpc2lvbj0xCiB3cmtzcmM9InF0dHJhbnNsYXRpb25zLWV2ZXJ5d2hlcmUtc3JjLSR7dmVy c2lvbn0iCiBidWlsZF9zdHlsZT1jbWFrZQotY29uZmlndXJlX2FyZ3M9Ii1EUVRfSE9TVF9QQVRI PS91c3IgIgogaG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtdG9vbHMtZGV2ZWwg cGVybCIKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtdG9vbHMtZGV2ZWwiCiBzaG9y dF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gdHJh bnNsYXRpb25zIgpAQCAtMTIsNCArMTEsNCBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnlu YXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0x LjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9h ZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3Vi bW9kdWxlcy9xdHRyYW5zbGF0aW9ucy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPWU0ZGQ0ZWY4OTJhMzRhOTUxNGExOTIzOGYxODlhMzNlZDg1Yzc2ZjMxZGNhZDY1 OTljZWQ5M2IxZTMzNDQwYjMKK2NoZWNrc3VtPWQ3YmRkNTVlMjkwOGRlZDkwMWRjYzI2MjE1NzEw MGFmMmE0OTBiZjA0ZDMxZTMyOTk1ZjZkOTFkNzhkZmRiOTcKCkZyb20gODIyYzc4ZTcyMzcwNTI4 YThlOTFmNDliZDhkNjMzN2Q1NWVmZTAwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog PT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFu aD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzox MCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTcvMjldIHF0Ni12aXJ0dWFsa2V5Ym9hcmQ6IHVwZGF0 ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRlIHwg MTAgKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUg Yi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUKaW5kZXggNjdlY2VmMTQ1ZWEx Li43N2EyNDc0MDBiOTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXZpcnR1YWxrZXlib2FyZC90 ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUKQEAgLTEs MTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXZpcnR1YWxrZXlib2FyZCcKIHBr Z25hbWU9cXQ2LXZpcnR1YWxrZXlib2FyZAotdmVyc2lvbj02LjMuMAordmVyc2lvbj02LjMuMQog cmV2aXNpb249MQogd3Jrc3JjPSJxdHZpcnR1YWxrZXlib2FyZC1ldmVyeXdoZXJlLXNyYy0ke3Zl cnNpb259IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFU SD0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHBrZy1jb25maWcgcXQ2LWRlY2xhcmF0aXZl LWRldmVsIgogbWFrZWRlcGVuZHM9InF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYtc3ZnLWRldmVs IGh1bnNwZWxsLWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24g YW5kIFVJIGZyYW1ld29yayAtIHZpcnR1YWxrZXlib2FyZCIKQEAgLTEyLDEwICsxMSwxMCBAQCBt YWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMuMC1v bmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxv YWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1 Ym1vZHVsZXMvcXR2aXJ0dWFsa2V5Ym9hcmQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIu eHoiCi1jaGVja3N1bT04OWFhZjE1YWNmNTQzMmFmOGY1Y2Y0ZWM0NWNiMzJkODdhMzM0ODkwNjIx NWRkNTZlODFjYjI5NGViMjc2NTczCitjaGVja3N1bT01ZmUwODliMjA0ZDg1OWFiMGRkMDE2OWY4 MTFmMmUzMGNhZTdjNWNiMzZmOGFiOTVjYTM2ODgzZjFmYzBjMmI4CiAKIGlmIFsgIiRYQlBTX0NI RUNLX1BLR1MiIF07IHRoZW4KLQljb25maWd1cmVfYXJncys9IiAtRFFUX0JVSUxEX1RFU1RTPU9O IgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgogZmkKIAogZG9fY2hlY2so KSB7CkBAIC0zMiw4ICszMSwxMSBAQCBxdDYtdmlydHVhbGtleWJvYXJkLWRldmVsX3BhY2thZ2Uo KSB7CiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3ZlIHVzci9pbmNsdWRlCiAJCXZtb3ZlIHVzci9s aWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2dj b25maWcKIAkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcwogCQl2bW92ZSAidXNyL2xpYi8qLnNv IgogCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwkJdm1vdmUgdXNyL3NoYXJlL3F0Ni9tb2R1bGVz CiAJfQogfQoKRnJvbSBjM2Y2YzNlODRlNGQ5MmQzNDk2NGQ4YzlkM2QwN2E0Y2E1M2IzY2RhIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBU cj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4K RGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE3OjEzOjEwICswNzAwClN1YmplY3Q6IFtQQVRDSCAxOC8y OV0gcXQ2LXdheWxhbmQ6IHVwZGF0ZSB0byA2LjMuMS4KCi0tLQogc3JjcGtncy9xdDYtd2F5bGFu ZC90ZW1wbGF0ZSB8IDE0ICsrKysrKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdheWxhbmQv dGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlCmluZGV4IGI3MWEyNzMwMDli OS4uNzg0Y2I0MmExYTAzIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUKQEAgLTEsMTMgKzEsMTUgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni13YXlsYW5kJwogcGtnbmFtZT1xdDYtd2F5bGFuZAotdmVy c2lvbj02LjMuMAordmVyc2lvbj02LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHdheWxhbmQt ZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVf YXJncz0iLURRVF9IT1NUX1BBVEg9L3VzciAtRFFUX0JVSUxEX1RPT0xTX1dIRU5fQ1JPU1NDT01Q SUxJTkc9dHJ1ZSIKLWhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcGVybCBwa2ctY29u ZmlnIHdheWxhbmQtZGV2ZWwgcXQ2LXdheWxhbmQtZGV2ZWwiCitjb25maWd1cmVfYXJncz0iLURR VF9CVUlMRF9UT09MU19XSEVOX0NST1NTQ09NUElMSU5HPXRydWUiCitob3N0bWFrZWRlcGVuZHM9 InF0Ni1iYXNlLWRldmVsIHBlcmwgcGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsCisgcXQ2LWRlY2xh cmF0aXZlLWRldmVsIHF0Ni13YXlsYW5kLWRldmVsIgogIyBYWFg6IFFtbCBhcyBvcHRpb25hbCBk ZXAKIG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCB3YXlsYW5kLWRldmVsIGxpYnhrYmNvbW1v bi1kZXZlbAorIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbAogIGxpYlhjb21wb3NpdGUtZGV2ZWwgTWVz YUxpYi1kZXZlbCBWdWxrYW4tSGVhZGVycyBsaWJkcm0tZGV2ZWwiCiBjaGVja2RlcGVuZHM9ImRi dXMgbWVzYS1kcmkiCiBzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQg VUkgZnJhbWV3b3JrIC0gV2F5bGFuZCIKQEAgLTE1LDcgKzE3LDcgQEAgbWFpbnRhaW5lcj0iSm9o biA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQ TC1leGNlcHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBh Z2U9Imh0dHBzOi8vd3d3LnF0LmlvIgogZGlzdGZpbGVzPSJodHRwczovL2Rvd25sb2FkLnF0Lmlv L29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVz L3F0d2F5bGFuZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWU3 YjU2N2Y2ZTQzZmZjNTkxOGQ0YWE4MjVjZTFlY2VkNjZhMDBjYjBhODcxMzNiMjkxMmJhNWMxYjJh MDIxOTAKK2NoZWNrc3VtPTZmMTRmZWEyZDE3MmE1YjQxNzBiZTNlZmNiMGU1ODUzNWY2NjA1YjYx YmNkODIzZjZkNWM5ZDE2NWJiOGMwZjAKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhl bgogCWNvbmZpZ3VyZV9hcmdzKz0iIC1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0zMiw5ICszNCwx MSBAQCBxdDYtd2F5bGFuZC1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2 bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIv bWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2 L21rc3BlY3MKLQkJdm1vdmUgdXNyL2xpYi9xdDYvbGliZXhlYy9xdHdheWxhbmRzY2FubmVyCiAJ CXZtb3ZlICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgorCQl2bW92ZSB1 c3Ivc2hhcmUvcXQ2L21vZHVsZXMKIAl9CiB9CgpGcm9tIDFkYWYxMTMyYzdiNGUwZDEwMzc0YzVh MTQ5NGFkZjFjNGUyOTZlZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/ cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNv bmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6MTM6MTAgKzA3MDAK U3ViamVjdDogW1BBVENIIDE5LzI5XSBxdDYtd2Vic29ja2V0czogdXBkYXRlIHRvIDYuMy4xLgoK LS0tCiBzcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlIHwgOCArKysrKy0tLQogMSBmaWxl IGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2Vic29ja2V0cy90 ZW1wbGF0ZQppbmRleCBjMmU2NzRhYWNiMzEuLjQ4NzVhZjA5MzQzMiAxMDA2NDQKLS0tIGEvc3Jj cGtncy9xdDYtd2Vic29ja2V0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni13ZWJzb2NrZXRz L3RlbXBsYXRlCkBAIC0xLDEwICsxLDkgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni13ZWJz b2NrZXRzJwogcGtnbmFtZT1xdDYtd2Vic29ja2V0cwotdmVyc2lvbj02LjMuMAordmVyc2lvbj02 LjMuMQogcmV2aXNpb249MQogd3Jrc3JjPSJxdHdlYnNvY2tldHMtZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9ufSIKIGJ1aWxkX3N0eWxlPWNtYWtlCi1jb25maWd1cmVfYXJncz0iLURRVF9IT1NUX1BB VEg9L3VzciIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFy YXRpdmUtZGV2ZWwiCiBtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZl LWRldmVsIgogc2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZy YW1ld29yayAtIHdlYnNvY2tldHMiCkBAIC0xMiw3ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4g PG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4w LW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2Vw dGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9k b3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lv bn0vc3VibW9kdWxlcy9xdHdlYnNvY2tldHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIu eHoiCi1jaGVja3N1bT1lMDE4YTA5ZmU5NjBiN2Q5NTYwZDZiYmM5ZDNjYTAyMmZlZDY1NjZlNmJh NmZjNmQ4NjlhOTc0ODJkNGU2MzYxCitjaGVja3N1bT05Zjk4MGQ5MGM5N2ZjYmRlMWI1MGM3NzNm NmRjNTgwY2ZkZjhjMzZjZTE0YTFiZTNhYTJjY2FkZmU2MDUxMjFhCiAKIHF0Ni13ZWJzb2NrZXRz LWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7 cmV2aXNpb259IHF0Ni1iYXNlLWRldmVsPj0ke3ZlcnNpb259XzEiCkBAIC0yMCw4ICsxOSwxMSBA QCBxdDYtd2Vic29ja2V0cy1kZXZlbF9wYWNrYWdlKCkgewogCXBrZ19pbnN0YWxsKCkgewogCQl2 bW92ZSB1c3IvaW5jbHVkZQogCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIv bWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlIHVzci9saWIvcXQ2 L21rc3BlY3MKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKIAkJdm1vdmUgInVzci9saWIvKi5wcmwi CisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcwogCX0KIH0KCkZyb20gODdmMGVlOGE1Yjhi M2I4NmRiYWJmOWI4NGYyMjQyNjI0NDU3OWQzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIw RGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgOSBBdWcgMjAyMiAyMDox Njo0NyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMjldIHF0Ni0zZDogdXBkYXRlIHRvIDYuMy4x LgoKLS0tCiBzcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZSB8IDUgKystLS0KIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9x dDYtM2QvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZQppbmRleCA2NjZmNTc1NTk1 MzIuLmMwOGMzYmQ0YTQxYiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUKQEAgLTEsMTAgKzEsOSBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAncXQ2LTNkJwogcGtnbmFtZT1xdDYtM2QKLXZlcnNpb249Ni4zLjAKK3ZlcnNpb249 Ni4zLjEKIHJldmlzaW9uPTEKIHdya3NyYz0icXQzZC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259 IgogYnVpbGRfc3R5bGU9Y21ha2UKLWNvbmZpZ3VyZV9hcmdzPSItRFFUX0hPU1RfUEFUSD0vdXNy IgogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKIG1ha2VkZXBl bmRzPSJxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXNoYWRlcnRvb2xzLWRldmVsIGxpYmFzc2lt cC1kZXZlbAogIGxpYmF0b21pYy1kZXZlbCIKQEAgLTEzLDcgKzEyLDcgQEAgbWFpbnRhaW5lcj0i Sm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQ TC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwt ZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0 cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2 ZXJzaW9ufS9zdWJtb2R1bGVzL3F0M2QtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT03NGU3NjIzODBkYWQzNDg4Nzg3OGI5MTI0ZGJmYjk4MWQ1Y2Y0YjhiODA3Mjgx ZmY4YmZmMzExMTQ1YjU0ZGUxCitjaGVja3N1bT05OTE5YjY2ZGZiMjUzZmEyNmRiMWE3ZDY2NDM1 OGNiYzA3ZjQ2Yzg4MTAwODJlZTMxMjBkMGE1NGIxNTNlZGZlCiAKIHF0Ni0zZC1kZXZlbF9wYWNr YWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIK CkZyb20gNDE1Mjc3OTVhNDE5OGU1ZGFhMGIzMDU2N2Y4MGFjNjgzNTQ5N2M3NSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9 QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1v biwgOCBBdWcgMjAyMiAxNzoxMzoxMSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjEvMjldIE5ldyBw YWNrYWdlOiBxdDYtd2ViY2hhbm5lbC02LjMuMQoKLS0tCiBzcmNwa2dzL3F0Ni13ZWJjaGFubmVs LWRldmVsICAgIHwgIDEgKwogc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSB8IDMyICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3Vw ZGF0ZSAgIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMjAwMDAgc3JjcGtncy9xdDYtd2ViY2hhbm5lbC1kZXZlbAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdGVtcGxhdGUKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJjaGFubmVsL3VwZGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdl YmNoYW5uZWwtZGV2ZWwgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsLWRldmVsCm5ldyBmaWxlIG1v ZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uMDNlOGIyM2Q3ODVkCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC1kZXZlbApAQCAtMCwwICsxIEBACitxdDYtd2Vi Y2hhbm5lbApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXdlYmNoYW5uZWwvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni13ZWJjaGFubmVsL3RlbXBsYXRl Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDMyYzQyYmNjMDU2Ci0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZQpAQCAtMCww ICsxLDMyIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtd2ViY2hhbm5lbCcKK3BrZ25hbWU9 cXQ2LXdlYmNoYW5uZWwKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEKK3dya3NyYz0icXR3ZWJj aGFubmVsLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCitidWlsZF9zdHlsZT1jbWFrZQoraG9z dG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIK K21ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcXQ2LXdl YnNvY2tldHMtZGV2ZWwiCitzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBh bmQgVUkgZnJhbWV3b3JrIC0gd2ViY2hhbm5lbCIKK21haW50YWluZXI9IkpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4iCitsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1Ig R1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAi Citob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5x dC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9k dWxlcy9xdHdlYmNoYW5uZWwtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCitjaGVj a3N1bT1hYWEyMGFjMjNmODY5OTI3MjFiN2VlNDg3YzM3OWEzZmQ2OGNhYThjZGNlYTBhNzdhMzdl MGQ4YjQ3ZmYyNjY4CisKK3F0Ni13ZWJjaGFubmVsLWRldmVsX3BhY2thZ2UoKSB7CisJZGVwZW5k cz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni1iYXNlLWRldmVsPj0k e3ZlcnNpb259XzEKKwkgcXQ2LXdlYnNvY2tldHMtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKKwlzaG9y dF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3Zl IHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRh dHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtz cGVjcworCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRXZWJDaGFubmVsL3BsdWdpbnMucW1sdHlw ZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0V2ViQ2hhbm5lbC9xbWxkaXIKKwkJdm1vdmUg InVzci9saWIvKi5zbyIKKwkJdm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFy ZS9xdDYvbW9kdWxlcworCX0KK30KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwv dXBkYXRlIGIvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44NDQ1NTI0NjUyMjIKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni13ZWJjaGFubmVsL3VwZGF0ZQpAQCAtMCwwICsxIEBACitwa2duYW1lPSIke3Br Z25hbWUvNi0vfS1ldmVyeXdoZXJlLXNyYyIKCkZyb20gZWI0ZmNhMjMyMjU2MDdkYTNiMTA0YTBl NzRkOTQxOWUwMzg4Yzg3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9x Pz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29u Z2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1vbiwgOCBBdWcgMjAyMiAxNzoxMzoxMSArMDcwMApT dWJqZWN0OiBbUEFUQ0ggMjIvMjldIE5ldyBwYWNrYWdlOiBxdDYtbXVsdGltZWRpYS02LjMuMQoK LS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAgICAgICAgIHwgIDMgKysrCiBzcmNwa2dzL3F0 Ni1tdWx0aW1lZGlhLWRldmVsICAgIHwgIDEgKwogc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1w bGF0ZSB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogc3JjcGtncy9xdDYt bXVsdGltZWRpYS91cGRhdGUgICB8ICAxICsKIDQgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcXQ2LW11bHRpbWVkaWEtZGV2ZWwKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtbXVsdGltZWRpYS91cGRhdGUKCmRpZmYgLS1naXQgYS9j b21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCAyNmYxMGQ2MDRiZTkuLmNlMDRjYzFh ZDJjZiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0y MDc4LDYgKzIwNzgsOSBAQCBsaWJRdDZTZXJpYWxQb3J0LnNvLjYgcXQ2LXNlcmlhbHBvcnQtNi4y LjBhbHBoYV8xCiBsaWJRdDZXZWJTb2NrZXRzLnNvLjYgcXQ2LXdlYnNvY2tldHMtNi4yLjBhbHBo YV8xCiBsaWJRdDZXZWJDaGFubmVsLnNvLjYgcXQ2LXdlYmNoYW5uZWwtNi4yLjBhbHBoYV8xCiBs aWJRdDZQb3NpdGlvbmluZy5zby42IHF0Ni1sb2NhdGlvbi02LjIuMGFscGhhXzEKK2xpYlF0Nk11 bHRpbWVkaWFXaWRnZXRzLnNvLjYgcXQ2LW11bHRpbWVkaWEtNi4zLjFfMQorbGliUXQ2TXVsdGlt ZWRpYVF1aWNrLnNvLjYgcXQ2LW11bHRpbWVkaWEtNi4zLjFfMQorbGliUXQ2TXVsdGltZWRpYS5z by42IHF0Ni1tdWx0aW1lZGlhLTYuMy4xXzEKIGxpYm5wdGguc28uMCBucHRoLTEuMV8xCiBsaWJu cHVwbnAuc28uNCBsaWJucHVwbnAtNC4wLjJfMQogbGliZ2xmdy5zby4zIGdsZnctMy4wLjRfMQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS1kZXZlbCBiL3NyY3BrZ3MvcXQ2LW11 bHRpbWVkaWEtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi45 MzQzNDQ2NTAyZDAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhLWRl dmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni1tdWx0aW1lZGlhClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZSBiL3NyY3Br Z3MvcXQ2LW11bHRpbWVkaWEvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi41MzVhMmY1NWZmZTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1t dWx0aW1lZGlhL3RlbXBsYXRlCkBAIC0wLDAgKzEsMzMgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3Ig J3F0Ni1tdWx0aW1lZGlhJworcGtnbmFtZT1xdDYtbXVsdGltZWRpYQordmVyc2lvbj02LjMuMQor cmV2aXNpb249MQord3Jrc3JjPSJxdG11bHRpbWVkaWEtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fSIKK2J1aWxkX3N0eWxlPWNtYWtlCitjb25maWd1cmVfYXJncz0iLURRVF9GRUFUVVJFX2dzdHJl YW1lcj1PTiIKK2hvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcGtn LWNvbmZpZworIHF0Ni1zaGFkZXJ0b29scy1kZXZlbCIKK21ha2VkZXBlbmRzPSJxdDYtZGVjbGFy YXRpdmUtZGV2ZWwKKyBxdDYtc2hhZGVydG9vbHMtZGV2ZWwgbGliZ2xpYi1kZXZlbCBnc3QtcGx1 Z2lucy1iYXNlMS1kZXZlbCIKK3Nob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9u IGFuZCBVSSBmcmFtZXdvcmsgLSBtdWx0aW1lZGlhIgorbWFpbnRhaW5lcj0iSm9obiA8bWVAam9o bm55bmF0b3IuZGV2PiIKK2xpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBP UiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEu MCIKK2hvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKK2Rpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2Fk LnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJt b2R1bGVzL3F0bXVsdGltZWRpYS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKK2No ZWNrc3VtPTdlMDMyNDJhYWRkNjM0ZmYyZDlmY2YwODk0ODI5MGYwM2RhM2Q5YTUwMTIzNjlkOTA4 ZGE4OWY4MmIxZDczMzYKKworcXQ2LW11bHRpbWVkaWEtZGV2ZWxfcGFja2FnZSgpIHsKKwlkZXBl bmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+ PSR7dmVyc2lvbn1fMSIKKwlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCisJcGtn X2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVzci9saWIvY21ha2UK KwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9wa2djb25maWcKKwkJ dm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRNdWx0 aW1lZGlhL3BsdWdpbnMucW1sdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0TXVsdGlt ZWRpYS9xbWxkaXIKKwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJdm1vdmUgInVzci9saWIvKi5w cmwiCisJfQorfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbXVsdGltZWRpYS91cGRhdGUgYi9z cmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjg0NDU1MjQ2NTIyMgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LW11bHRpbWVkaWEvdXBkYXRlCkBAIC0wLDAgKzEgQEAKK3BrZ25hbWU9IiR7cGtnbmFtZS82LS99 LWV2ZXJ5d2hlcmUtc3JjIgoKRnJvbSAxOTZjODYzMDk3NGNlN2ZhMjFkOTM5NTI4YWY0NTJhYWFm N2E2YWNiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1D Mz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdt YWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE4OjIyOjQ4ICswNzAwClN1YmplY3Q6IFtQ QVRDSCAyMy8yOV0gTmV3IHBhY2thZ2U6IHF0Ni1jb25uZWN0aXZpdHktNi4zLjEKCi0tLQogY29t bW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKIHNyY3BrZ3MvcXQ2LWNvbm5l Y3Rpdml0eS1kZXZlbCAgICB8ICAxICsKIHNyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0 ZSB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAz MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9xdDYtY29ubmVjdGl2 aXR5LWRldmVsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3Rl bXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXgg Y2UwNGNjMWFkMmNmLi4yZTk1YTIyMTE5YWIgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxpYnMKKysr IGIvY29tbW9uL3NobGlicwpAQCAtMjA3Miw2ICsyMDcyLDggQEAgbGliUXQ2RGVzaWduZXIuc28u NiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2RGVzaWduZXJDb21wb25lbnRzLnNvLjYgcXQ2LXRv b2xzLTYuMS4wXzEKIGxpYlF0NkhlbHAuc28uNiBxdDYtdG9vbHMtNi4xLjBfMQogbGliUXQ2VWlU b29scy5zby42IHF0Ni10b29scy02LjEuMF8xCitsaWJRdDZOZmMuc28uNiBxdDYtY29ubmVjdGl2 aXR5LTYuMy4xXzEKK2xpYlF0NkJsdWV0b290aC5zby42IHF0Ni1jb25uZWN0aXZpdHktNi4zLjFf MQogbGliUXQ2SHVuc3BlbGxJbnB1dE1ldGhvZC5zby42IHF0Ni12aXJ0dWFsa2V5Ym9hcmQtNi4x LjBfMQogbGliUXQ2VmlydHVhbEtleWJvYXJkLnNvLjYgcXQ2LXZpcnR1YWxrZXlib2FyZC02LjEu MF8xCiBsaWJRdDZTZXJpYWxQb3J0LnNvLjYgcXQ2LXNlcmlhbHBvcnQtNi4yLjBhbHBoYV8xCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHktZGV2ZWwgYi9zcmNwa2dzL3F0Ni1j b25uZWN0aXZpdHktZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAw Li40NzhjYzlkOGFhMzkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1jb25uZWN0aXZp dHktZGV2ZWwKQEAgLTAsMCArMSBAQAorcXQ2LWNvbm5lY3Rpdml0eQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjZjYjYxNzQ0ZDBjYgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZQpAQCAtMCwwICsxLDMwIEBACisjIFRlbXBs YXRlIGZpbGUgZm9yICdxdDYtY29ubmVjdGl2aXR5JworcGtnbmFtZT1xdDYtY29ubmVjdGl2aXR5 Cit2ZXJzaW9uPTYuMy4xCityZXZpc2lvbj0xCit3cmtzcmM9InF0Y29ubmVjdGl2aXR5LWV2ZXJ5 d2hlcmUtc3JjLSR7dmVyc2lvbn0iCitidWlsZF9zdHlsZT1jbWFrZQoraG9zdG1ha2VkZXBlbmRz PSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKK21ha2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRp dmUtZGV2ZWwiCitzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkg ZnJhbWV3b3JrIC0gQ29ubmVjdGl2aXR5IgorbWFpbnRhaW5lcj0ixJBvw6BuIFRy4bqnbiBDw7Ru ZyBEYW5oIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4iCitsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCito b21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCitkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5p by9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxl cy9xdGNvbm5lY3Rpdml0eS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKK2NoZWNr c3VtPWIyNWNlNDcxMGE5YzYxYmM2YTVkYmFlZWIzZTJlZDkwN2E4YmM4NTQ3OGZkYjJhYjQzMTIy OTc3NjhiNjk1YjAKKworcXQ2LWNvbm5lY3Rpdml0eS1kZXZlbF9wYWNrYWdlKCkgeworCWRlcGVu ZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQorCSBxdDYtZGVjbGFyYXRp dmU+PSR7dmVyc2lvbn0iCisJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBr Z19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5jbHVkZQorCQl2bW92ZSB1c3IvbGliL2NtYWtl CisJCXZtb3ZlIHVzci9saWIvbWV0YXR5cGVzCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJ CXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJdm1v dmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCX0KK30K CkZyb20gZjM5YTEwZDZiZTZjYzA1ZmI3MzdlYjlhZjU5N2IyM2E3MDgxOWViNSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9 QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IE1v biwgOCBBdWcgMjAyMiAxODoyMjo1NyArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjQvMjldIE5ldyBw YWNrYWdlOiBxdDYtc2Vuc29ycy02LjMuMQoKLS0tCiBjb21tb24vc2hsaWJzICAgICAgICAgICAg ICAgIHwgIDIgKysKIHNyY3BrZ3MvcXQ2LXNlbnNvcnMtZGV2ZWwgICAgfCAgMSArCiBzcmNwa2dz L3F0Ni1zZW5zb3JzL3RlbXBsYXRlIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogMyBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAg c3JjcGtncy9xdDYtc2Vuc29ycy1kZXZlbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXNlbnNvcnMvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3No bGlicwppbmRleCAyZTk1YTIyMTE5YWIuLjE1N2I1MWYzZjk4MSAxMDA2NDQKLS0tIGEvY29tbW9u L3NobGlicworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDc0LDYgKzIwNzQsOCBAQCBsaWJRdDZI ZWxwLnNvLjYgcXQ2LXRvb2xzLTYuMS4wXzEKIGxpYlF0NlVpVG9vbHMuc28uNiBxdDYtdG9vbHMt Ni4xLjBfMQogbGliUXQ2TmZjLnNvLjYgcXQ2LWNvbm5lY3Rpdml0eS02LjMuMV8xCiBsaWJRdDZC bHVldG9vdGguc28uNiBxdDYtY29ubmVjdGl2aXR5LTYuMy4xXzEKK2xpYlF0NlNlbnNvcnMuc28u NiBxdDYtc2Vuc29ycy02LjMuMV8xCitsaWJRdDZTZW5zb3JzUXVpY2suc28uNiBxdDYtc2Vuc29y cy02LjMuMV8xCiBsaWJRdDZIdW5zcGVsbElucHV0TWV0aG9kLnNvLjYgcXQ2LXZpcnR1YWxrZXli b2FyZC02LjEuMF8xCiBsaWJRdDZWaXJ0dWFsS2V5Ym9hcmQuc28uNiBxdDYtdmlydHVhbGtleWJv YXJkLTYuMS4wXzEKIGxpYlF0NlNlcmlhbFBvcnQuc28uNiBxdDYtc2VyaWFscG9ydC02LjIuMGFs cGhhXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlbnNvcnMtZGV2ZWwgYi9zcmNwa2dzL3F0 Ni1zZW5zb3JzLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4u ZWI5NDU3ZjA0MDU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtc2Vuc29ycy1kZXZl bApAQCAtMCwwICsxIEBACitxdDYtc2Vuc29ycwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1z ZW5zb3JzL3RlbXBsYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u NWE4MWY0M2I2MGViCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtc2Vuc29ycy90ZW1w bGF0ZQpAQCAtMCwwICsxLDMxIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc2Vuc29ycycK K3BrZ25hbWU9cXQ2LXNlbnNvcnMKK3ZlcnNpb249Ni4zLjEKK3JldmlzaW9uPTEKK3dya3NyYz0i cXRzZW5zb3JzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0iCitidWlsZF9zdHlsZT1jbWFrZQor aG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYtc3ZnLWRldmVs IHBrZy1jb25maWciCittYWtlZGVwZW5kcz0icXQ2LWRlY2xhcmF0aXZlLWRldmVsIHF0Ni1zdmct ZGV2ZWwiCitzaG9ydF9kZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJh bWV3b3JrIC0gU2Vuc29ycyIKK21haW50YWluZXI9IsSQb8OgbiBUcuG6p24gQ8O0bmcgRGFuaCA8 Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgorbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIu MC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNl cHRpb24tMS4wIgoraG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgorZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXRzZW5zb3JzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgorY2hlY2tzdW09NGIyNDBiNTllZGJhOWE0MmI0NzM1NzU4YTI1ZjI3OWEyNjg0MWI5ODI4NjRl N2IzOGY2ZWYwYjgxZTBkNjBjYworCitxdDYtc2Vuc29ycy1kZXZlbF9wYWNrYWdlKCkgeworCWRl cGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufQorCSBxdDYtZGVjbGFy YXRpdmUtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKKwlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQg ZmlsZXMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9pbmNsdWRlCisJCXZtb3ZlIHVz ci9saWIvY21ha2UKKwkJdm1vdmUgdXNyL2xpYi9tZXRhdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9w a2djb25maWcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvbWtzcGVjcworCQl2bW92ZSB1c3IvbGliL3F0 Ni9xbWwvUXRTZW5zb3JzL3BsdWdpbnMucW1sdHlwZXMKKwkJdm1vdmUgdXNyL2xpYi9xdDYvcW1s L1F0U2Vuc29ycy9xbWxkaXIKKwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJdm1vdmUgInVzci9s aWIvKi5wcmwiCisJfQorfQoKRnJvbSBmNTQzMmM5NjFkNGM5ZTE5MWM3YmM5MmE1MWNmNTA0ODVm YTkxOGFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1D Mz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdt YWlsLmNvbT4KRGF0ZTogTW9uLCA4IEF1ZyAyMDIyIDE4OjIzOjA4ICswNzAwClN1YmplY3Q6IFtQ QVRDSCAyNS8yOV0gTmV3IHBhY2thZ2U6IHF0Ni1yZW1vdGVvYmplY3RzLTYuMy4xCgotLS0KIGNv bW1vbi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgfCAgMiArKwogc3JjcGtncy9xdDYtcmVt b3Rlb2JqZWN0cy1kZXZlbCAgICB8ICAxICsKIHNyY3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVt cGxhdGUgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdl ZCwgMzkgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcXQ2LXJlbW90 ZW9iamVjdHMtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1yZW1vdGVvYmpl Y3RzL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMK aW5kZXggMTU3YjUxZjNmOTgxLi45MWYxOTdlNTRjOTMgMTAwNjQ0Ci0tLSBhL2NvbW1vbi9zaGxp YnMKKysrIGIvY29tbW9uL3NobGlicwpAQCAtMjA3NCw2ICsyMDc0LDggQEAgbGliUXQ2SGVscC5z by42IHF0Ni10b29scy02LjEuMF8xCiBsaWJRdDZVaVRvb2xzLnNvLjYgcXQ2LXRvb2xzLTYuMS4w XzEKIGxpYlF0Nk5mYy5zby42IHF0Ni1jb25uZWN0aXZpdHktNi4zLjFfMQogbGliUXQ2Qmx1ZXRv b3RoLnNvLjYgcXQ2LWNvbm5lY3Rpdml0eS02LjMuMV8xCitsaWJRdDZSZW1vdGVPYmplY3RzLnNv LjYgcXQ2LXJlbW90ZW9iamVjdHMtNi4zLjFfMQorbGliUXQ2UmVtb3RlT2JqZWN0c1FtbC5zby42 IHF0Ni1yZW1vdGVvYmplY3RzLTYuMy4xXzEKIGxpYlF0NlNlbnNvcnMuc28uNiBxdDYtc2Vuc29y cy02LjMuMV8xCiBsaWJRdDZTZW5zb3JzUXVpY2suc28uNiBxdDYtc2Vuc29ycy02LjMuMV8xCiBs aWJRdDZIdW5zcGVsbElucHV0TWV0aG9kLnNvLjYgcXQ2LXZpcnR1YWxrZXlib2FyZC02LjEuMF8x CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3RzLWRldmVsIGIvc3JjcGtncy9x dDYtcmVtb3Rlb2JqZWN0cy1kZXZlbApuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAw MDAwMDAuLjJhMDI3Zjk1MjY2ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXJlbW90 ZW9iamVjdHMtZGV2ZWwKQEAgLTAsMCArMSBAQAorcXQ2LXJlbW90ZW9iamVjdHMKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1yZW1vdGVvYmplY3Rz L3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjcxZDJkMzE5NjdiNgotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUKQEAgLTAsMCArMSwzNiBA QAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXJlbW90ZW9iamVjdHMnCitwa2duYW1lPXF0Ni1y ZW1vdGVvYmplY3RzCit2ZXJzaW9uPTYuMy4xCityZXZpc2lvbj0xCit3cmtzcmM9InF0cmVtb3Rl b2JqZWN0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2hv c3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcGtnLWNvbmZpZyIKK21h a2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCitzaG9ydF9kZXNjPSJDcm9zcy1wbGF0 Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gUmVtb3RlIE9iamVjdHMiCittYWlu dGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5ocXhAZ21haWwuY29tPiIK K2xpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkp IEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKK2hvbWVwYWdlPSJo dHRwczovL3F0LmlvLyIKK2Rpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFs X3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0cmVtb3Rl b2JqZWN0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKK2NoZWNrc3VtPWVhNmQw MzhiMTFjNjA5ODFkZTBiZDM5YTYwOTFhNTlhYmY3ZDAzMWUzN2JmYzU5MmIzMWJlMTIxN2JlZjRj YTYKKworaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJaG9zdG1ha2VkZXBlbmRzKz0iIHF0 Ni1yZW1vdGVvYmplY3RzIgorCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RPT0xTX1dIRU5f Q1JPU1NDT01QSUxJTkc9dHJ1ZSIKK2ZpCisKK3F0Ni1yZW1vdGVvYmplY3RzLWRldmVsX3BhY2th Z2UoKSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CisJ IHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbD49JHt2ZXJzaW9ufV8xIgorCXNob3J0X2Rlc2MrPSIgLSBk ZXZlbG9wbWVudCBmaWxlcyIKKwlwa2dfaW5zdGFsbCgpIHsKKwkJdm1vdmUgdXNyL2luY2x1ZGUK KwkJdm1vdmUgdXNyL2xpYi9jbWFrZQorCQl2bW92ZSB1c3IvbGliL21ldGF0eXBlcworCQl2bW92 ZSB1c3IvbGliL3BrZ2NvbmZpZworCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCisJCXZtb3Zl IHVzci9saWIvcXQ2L3FtbC9RdFJlbW90ZU9iamVjdHMvcGx1Z2lucy5xbWx0eXBlcworCQl2bW92 ZSB1c3IvbGliL3F0Ni9xbWwvUXRSZW1vdGVPYmplY3RzL3FtbGRpcgorCQl2bW92ZSAidXNyL2xp Yi8qLnNvIgorCQl2bW92ZSAidXNyL2xpYi8qLnBybCIKKwl9Cit9CgpGcm9tIDBiZWY0YzJmNjZk NWQyYTFkZTEwZGFjMjI1MmFhNDIyZTY3YzA0ZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0y MERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBNb24sIDggQXVnIDIwMjIgMTc6 MTM6MTEgKzA3MDAKU3ViamVjdDogW1BBVENIIDI2LzI5XSBOZXcgcGFja2FnZTogcXQ2LXdlYmVu Z2luZS02LjMuMS4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgNyArCiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZGV2ZWwgICAgICAgICAgICAg ICAgICAgfCAgICAxICsKIHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS1leGFtcGxlcyAgICAgICAgICAg ICAgICB8ICAgIDEgKwogLi4uL3BhdGNoZXMvMDAwMS1Ob25lLW5vLWRlYnVnLnBhdGNoICAgICAg ICAgIHwgICAxMSArCiAuLi4vcGF0Y2hlcy8wMDAyLWVuYWJsZS1wcGM2NC5wYXRjaCAgICAgICAg ICAgfCAgIDIwICsKIC4uLi9wYXRjaGVzLzAwMDMtY3Jvc3MtaGFjay5wYXRjaCAgICAgICAgICAg ICB8ICAgMTAgKwogLi4uLzAwMDQtcHBjLWRpc2FibGUtanhsLWRlY29kZXIucGF0Y2ggICAgICAg IHwgICAxMyArCiAuLi4vcGF0Y2hlcy8wMDUwLW5vLWdsaWJjLWNtYWtlLWNoZWNrLnBhdGNoICAg fCAgIDE0ICsKIC4uLi8wMTAwLWNocm9taXVtLXNhbmRib3gtbWVtYmFycmllci5wYXRjaCAgICB8 ICAgNTggKwogLi4uL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAxLXNpemVfdC5wYXRjaCAgIHwg ICAxNiArCiAuLi4vMDEwMi1jaHJvbWl1bS05MC1ydXktaW5jbHVkZS5wYXRjaCAgICAgICAgfCAg IDE5ICsKIC4uLi12OC1tb25vdG9uaWMtcHRocmVhZC1jb250X3RpbWVkd2FpdC5wYXRjaCB8ICAg MjIgKwogLi4uLzAxMDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2ggICAgICAgIHwgIDE2 MiArCiAuLi4tY2hyb21pdW0tcmV2ZXJ0LWRyb3Atb2Ytc3lzdGVtLWphdmEucGF0Y2ggfCAgIDE1 ICsKIC4uLi9wYXRjaGVzLzAxMDYtY2hyb21pdW0tc3lzdGVtLW5vZGVqcy5wYXRjaCB8ICAgMjAg KwogLi4uLzAxMDctY2hyb21pdW0tY3Vyc2VkXlVzY29wZWRfZmlsZS5wYXRjaCAgIHwgICAxOCAr CiAuLi4vMDEwOC1jaHJvbWl1bS1maXgtbmFycm93aW5nLWNhc3QucGF0Y2ggICAgfCAgIDUzICsK IC4uLi8wMTA5LWNocm9taXVtLXJlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2ggICB8ICAgMzIgKwog Li4uaXVtLXJldmVydC11c2UtZmZpbGUtY29tcGlsYXRpb24tZGlyLnBhdGNoIHwgICA1NyArCiAu Li4xMS1jaHJvbWl1bS1uby1Xbm8tc3RyaW5nb3Atb3ZlcnJlYWQucGF0Y2ggfCAgIDEwICsKIC4u Li8wMTUwLWNocm9taXVtLWdsaWJjLWxpYmNfbWFsbG9jLnBhdGNoICAgICB8ICAgMjQgKwogLi4u LWluY2x1ZGUtc3lzLXJlZy5oLXRvLWdldC1fX1dPUkRTSVpFLnBhdGNoIHwgICAyMSArCiAuLi4v MDIwMS1jaHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0Y2ggfCAgMTAzICsKIC4uLi8w MjAyLWNocm9taXVtLW11c2wtbm8tbWFsbGluZm8ucGF0Y2ggICAgICB8ICAgNjIgKwogLi4uLzAy MDMtY2hyb21pdW0tbXVzbC1zaWdpbmZvX3QucGF0Y2ggICAgICAgIHwgICAxOCArCiAuLi4vMDIw NC1jaHJvbWl1bS1tdXNsLXN0YWNrc3RhcnQucGF0Y2ggICAgICAgfCAgIDIwICsKIC4uLi9wYXRj aGVzLzAyMDUtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoICB8ICAgOTIgKwogLi4uMDIwNi1j aHJvbWl1bS1tdXNsLWRlZmF1bHQtc3RhY2tzaXplLnBhdGNoIHwgICAxNSArCiAuLi4vcGF0Y2hl cy8wMjA4LWNocm9taXVtLW11c2wtZXhlY2luZm8ucGF0Y2ggfCAgMTI1ICsKIC4uLi8wMjA5LWNo cm9taXVtLW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaCB8ICAgMjIgKwogLi4uLzAyMTAtY2hy b21pdW0tbXVzbC1tc2d2ZWMtcHVzaF9iYWNrLnBhdGNoIHwgICAxNCArCiAuLi5pdW0tbXVzbC1j YW5vbmljYWxpemUtZmlsZS1uYW1lLW11c2wucGF0Y2ggfCAgIDExICsKIC4uLi8wMjEyLWNocm9t aXVtLW11c2wtbm8tZ2V0Y29udGV4dC5wYXRjaCAgICB8ICAgMjkgKwogLi4uL3BhdGNoZXMvMDIx My1jaHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoIHwgICAyNCArCiAuLi4vcGF0Y2hlcy8wMjE0 LWNocm9taXVtLW11c2wtZml4ZXMucGF0Y2ggICAgfCAgMTA4ICsKIC4uLi9wYXRjaGVzLzAyMTUt Y2hyb21pdW0tbXVzbC1jZGVmcy5wYXRjaCAgICB8ICAgMjkgKwogLi4uL3BhdGNoZXMvMDIxNi1j aHJvbWl1bS1tdXNsLXN0YXQucGF0Y2ggICAgIHwgICAxMiArCiAuLi4vcGF0Y2hlcy8wMjE3LWNo cm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2ggfCAgIDc3ICsKIC4uLi9wYXRjaGVzLzA2MDAtY2hy b21pdW0tc25kaW8ucGF0Y2ggICAgICAgICB8ICA4NzYgKysrKwogLi4uL3BhdGNoZXMvMDcwMC1h cm12N2wtbmVvbi5wYXRjaCAgICAgICAgICAgIHwgICAxMCArCiAuLi4tY2hyb21pdW0tbXVzbC1j cm9zcy1uby1hc21fcHRyYWNlX2gucGF0Y2ggfCAgIDMwICsKIC4uLi8wNzUxLWNocm9taXVtLW11 c2wtYXJtLXVzZXJfdmZwLnBhdGNoICAgICB8ICAgMjAgKwogLi4uLzA3NTItY2hyb21pdW0tbXVz bC1hcm0tZWxmX2F1eHZfdC5wYXRjaCAgIHwgICAxOCArCiAuLi4wODAxLWNocm9taXVtLWk2ODYt dmFhcGktZnBlcm1pc3NpdmUucGF0Y2ggfCAgIDI0ICsKIC4uLi9wYXRjaGVzLzA5MDAteHh4LXBw YzY0bGUtbGlidnB4LnBhdGNoICAgICB8ICAgNjUgKwogLi4uLzA5MDEteHh4LXBwYzY0bGUtc2Fu ZGJveC1saW51eC1zdGF0LnBhdGNoIHwgICAzMSArCiAuLi4vcGF0Y2hlcy8wOTAyLXh4eC1wcGM2 NGxlLXN1cHBvcnQucGF0Y2ggICAgfCAzNTU2ICsrKysrKysrKysrKysrKysrCiAuLi4vMDkwMy14 eHgtcHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaCAgICAgICAgfCAgIDE4ICsKIC4uLi9wYXRjaGVz L2Nyb3NzLWJ1aWxkLWV4YW1wbGVzLnBhdGNoICAgICAgICB8ICAgMTYgKwogc3JjcGtncy9xdDYt d2ViZW5naW5lL3RlbXBsYXRlICAgICAgICAgICAgICAgIHwgIDE3OCArCiBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvdXBkYXRlICAgICAgICAgICAgICAgICAgfCAgICAxICsKIDUxIGZpbGVzIGNoYW5n ZWQsIDYyMDggaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS1kZXZlbAogY3JlYXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS1l eGFtcGxlcwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDItZW5hYmxlLXBwYzY0LnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNC1w cGMtZGlzYWJsZS1qeGwtZGVjb2Rlci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwNTAtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAwLWNocm9t aXVtLXNhbmRib3gtbWVtYmFycmllci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDEtc2l6ZV90LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1bS05MC1ydXktaW5j bHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMDMtY2hyb21pdW0tdjgtbW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0 LWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNS1jaHJvbWl1bS1yZXZlcnQtZHJvcC1vZi1zeXN0 ZW0tamF2YS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMDYtY2hyb21pdW0tc3lzdGVtLW5vZGVqcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDctY2hyb21pdW0tY3Vyc2VkXlVz Y29wZWRfZmlsZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMDgtY2hyb21pdW0tZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1y ZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDExMC1jaHJvbWl1bS1yZXZlcnQtdXNlLWZmaWxlLWNvbXBpbGF0 aW9uLWRpci5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMTEtY2hyb21pdW0tbm8tV25vLXN0cmluZ29wLW92ZXJyZWFkLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1MC1jaHJvbWl1 bS1nbGliYy1saWJjX21hbGxvYy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDAtY2hyb21pdW0tbXVzbC1pbmNsdWRlLXN5cy1yZWcuaC10 by1nZXQtX19XT1JEU0laRS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAyMDEtY2hyb21pdW0tbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMi1j aHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMy1jaHJvbWl1bS1tdXNsLXNpZ2luZm9fdC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDQt Y2hyb21pdW0tbXVzbC1zdGFja3N0YXJ0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA2LWNo cm9taXVtLW11c2wtZGVmYXVsdC1zdGFja3NpemUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA4LWNocm9taXVtLW11c2wtZXhlY2luZm8u cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MjA5LWNocm9taXVtLW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTAtY2hyb21pdW0tbXVzbC1tc2d2 ZWMtcHVzaF9iYWNrLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDIxMS1jaHJvbWl1bS1tdXNsLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUtbXVz bC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAyMTItY2hyb21pdW0tbXVzbC1uby1nZXRjb250ZXh0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1tdXNsLWNyYXNo cGFkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIxNC1jaHJvbWl1bS1tdXNsLWZpeGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNi1j aHJvbWl1bS1tdXNsLXN0YXQucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMjE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNjAwLWNocm9taXVt LXNuZGlvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDcwMC1hcm12N2wtbmVvbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTAtY2hyb21pdW0tbXVzbC1jcm9zcy1uby1hc21fcHRy YWNlX2gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wNzUxLWNocm9taXVtLW11c2wtYXJtLXVzZXJfdmZwLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1Mi1jaHJvbWl1bS1tdXNsLWFy bS1lbGZfYXV4dl90LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDgwMS1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoCiBj cmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMC14eHgt cHBjNjRsZS1saWJ2cHgucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wOTAxLXh4eC1wcGM2NGxlLXNhbmRib3gtbGludXgtc3RhdC5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDIteHh4 LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzA5MDMteHh4LXBwYzY0bGUtc3dpZnRzaGFkZXIucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy9jcm9zcy1idWlsZC1l eGFtcGxlcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90 ZW1wbGF0ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUK CmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwppbmRleCA5MWYxOTdl NTRjOTMuLjFmOGFjYzQzYzM2ZSAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9jb21t b24vc2hsaWJzCkBAIC0yMDg3LDYgKzIwODcsMTMgQEAgbGliUXQ2UG9zaXRpb25pbmcuc28uNiBx dDYtbG9jYXRpb24tNi4yLjBhbHBoYV8xCiBsaWJRdDZNdWx0aW1lZGlhV2lkZ2V0cy5zby42IHF0 Ni1tdWx0aW1lZGlhLTYuMy4xXzEKIGxpYlF0Nk11bHRpbWVkaWFRdWljay5zby42IHF0Ni1tdWx0 aW1lZGlhLTYuMy4xXzEKIGxpYlF0Nk11bHRpbWVkaWEuc28uNiBxdDYtbXVsdGltZWRpYS02LjMu MV8xCitsaWJRdDZXZWJFbmdpbmVRdWljay5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGli UXQ2UGRmV2lkZ2V0cy5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGliUXQ2UGRmUXVpY2su c28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NldlYkVuZ2luZUNvcmUuc28uNiBxdDYt d2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NlBkZi5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQor bGliUXQ2V2ViRW5naW5lUXVpY2tEZWxlZ2F0ZXNRbWwuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4x XzEKK2xpYlF0NldlYkVuZ2luZVdpZGdldHMuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKIGxp Ym5wdGguc28uMCBucHRoLTEuMV8xCiBsaWJucHVwbnAuc28uNCBsaWJucHVwbnAtNC4wLjJfMQog bGliZ2xmdy5zby4zIGdsZnctMy4wLjRfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5n aW5lLWRldmVsIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsCm5ldyBmaWxlIG1vZGUgMTIw MDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uOGU0ZDFiOTljNTg3Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0Ni13ZWJlbmdpbmUK XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUtZXhhbXBsZXMgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMKbmV3IGZpbGUg bW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi44ZTRkMWI5OWM1ODcKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMKQEAgLTAsMCArMSBAQAorcXQ2 LXdlYmVuZ2luZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaCBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjFiYTMzZjhlNmZkOQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1 Zy5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gYS9jbWFrZS9GdW5jdGlvbnMuY21ha2UKKysr KyBiL2NtYWtlL0Z1bmN0aW9ucy5jbWFrZQorQEAgLTgxMyw2ICs4MTMsOCBAQCBtYWNybyhhcHBl bmRfYnVpbGRfdHlwZV9zZXR1cCkKKyAgICAgICAgIGVuZGlmKCkKKyAgICAgZWxzZWlmKCR7Y29u ZmlnfSBTVFJFUVVBTCAiTWluU2l6ZVJlbCIpCisgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0Fy ZyBpc19kZWJ1Zz1mYWxzZSBzeW1ib2xfbGV2ZWw9MCBvcHRpbWl6ZV9mb3Jfc2l6ZT10cnVlKQor KyAgICBlbHNlaWYoJHtjb25maWd9IFNUUkVRVUFMICJOb25lIikKKysgICAgICAgIGxpc3QoQVBQ RU5EIGduQXJnQXJnIGlzX2RlYnVnPWZhbHNlIHN5bWJvbF9sZXZlbD0wKQorICAgICBlbmRpZigp CisgICAgIGlmKEZFQVRVUkVfZGV2ZWxvcGVyX2J1aWxkIE9SICgke2NvbmZpZ30gU1RSRVFVQUwg IkRlYnVnIikgT1IgUVRfRkVBVFVSRV93ZWJlbmdpbmVfc2FuaXRpemVyKQorICAgICAgICAgbGlz dChBUFBFTkQgZ25BcmdBcmcKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwMDItZW5hYmxlLXBwYzY0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDAwMi1lbmFibGUtcHBjNjQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi5kNzJlZjFhZDFhMTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMDAyLWVuYWJsZS1wcGM2NC5wYXRjaApAQCAtMCwwICsxLDIwIEBA CistLS0gYS9jbWFrZS9GdW5jdGlvbnMuY21ha2UKKysrKyBiL2NtYWtlL0Z1bmN0aW9ucy5jbWFr ZQorQEAgLTYyMiw2ICs2MjIsOCBAQCBmdW5jdGlvbihnZXRfZ25fYXJjaCByZXN1bHQgYXJjaCkK KyAgICAgICAgIHNldCgke3Jlc3VsdH0gIm1pcHNlbCIgUEFSRU5UX1NDT1BFKQorICAgICBlbHNl aWYoYXJjaCBTVFJFUVVBTCAibWlwc2VsNjQiKQorICAgICAgICAgc2V0KCR7cmVzdWx0fSAibWlw czY0ZWwiIFBBUkVOVF9TQ09QRSkKKysgICAgZWxzZWlmKGFyY2ggU1RSRVFVQUwgInBvd2VyNjQi KQorKyAgICAgICAgc2V0KCR7cmVzdWx0fSAicG93ZXI2NCIgUEFSRU5UX1NDT1BFKQorICAgICBl bHNlKCkKKyAgICAgICAgIG1lc3NhZ2UoREVCVUcgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZTog JHthcmNofSIpCisgICAgIGVuZGlmKCkKK0BAIC02NDEsNiArNjQzLDggQEAgZnVuY3Rpb24oZ2V0 X3Y4X2FyY2ggcmVzdWx0IHRhcmdldEFyY2ggaAorICAgICAgICAgICAgIHNldCgke3Jlc3VsdH0g Im1pcHNlbCIgUEFSRU5UX1NDT1BFKQorICAgICAgICAgZWxzZWlmKGhvc3RBcmNoIFNUUkVRVUFM ICJtaXBzZWw2NCIpCisgICAgICAgICAgICAgc2V0KCR7cmVzdWx0fSAibWlwc2VsIiBQQVJFTlRf U0NPUEUpCisrICAgICAgICBlbHNlaWYoaG9zdEFyY2ggU1RSRVFVQUwgInBvd2VyNjQiKQorKyAg ICAgICAgICAgIHNldCgke3Jlc3VsdH0gInBvd2VyNjQiIFBBUkVOVF9TQ09QRSkKKyAgICAgICAg IGVsc2UoKQorICAgICAgICAgICAgIG1lc3NhZ2UoREVCVUcgIlVuc3VwcG9ydGVkIGFyY2hpdGVj dHVyZTogJHtob3N0QXJjaH0iKQorICAgICAgICAgZW5kaWYoKQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZWE5ZjkwMDk0YTYzCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoCkBA IC0wLDAgKzEsMTAgQEAKKy0tLSBhL3NyYy9jb3JlL2FwaS9DTWFrZUxpc3RzLnR4dAorKysrIGIv c3JjL2NvcmUvYXBpL0NNYWtlTGlzdHMudHh0CitAQCAtNTAsNiArNTAsNyBAQCBxdF9pbnRlcm5h bF9hZGRfbW9kdWxlKFdlYkVuZ2luZUNvcmUKKyAgICAgICAgIFF0OjpHdWkKKyAgICAgICAgIFF0 OjpOZXR3b3JrCisgICAgICAgICBRdDo6UXVpY2sKKysgICAgICAgIFgxMQorICkKKyAKKyBzZXRf dGFyZ2V0X3Byb3BlcnRpZXMoV2ViRW5naW5lQ29yZSBQUk9QRVJUSUVTIFFUV0VCRU5HSU5FUFJP Q0VTU19OQU1FICR7cXRXZWJFbmdpbmVQcm9jZXNzTmFtZX0pCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDA0LXBwYy1kaXNhYmxlLWp4bC1kZWNvZGVyLnBhdGNo IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAwNC1wcGMtZGlzYWJsZS1qeGwtZGVj b2Rlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjczYzEx NTE5NjhmNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAwMDQtcHBjLWRpc2FibGUtanhsLWRlY29kZXIucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0t IGEvc3JjL2NvcmUvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9jb3JlL0NNYWtlTGlzdHMudHh0 CitAQCAtNDE0LDYgKzQxNCwxMCBAQCBmb3JlYWNoKGFyY2ggJHthcmNoc30pCisgICAgICAgICAg ICAgICAgIENPTkRJVElPTiBRVF9GRUFUVVJFX3dlYmVuZ2luZV9vem9uZV94MTEgQU5EIFhTQ1JO U0FWRVJfRk9VTkQKKyAgICAgICAgICAgICApCisgCisrICAgICAgICAgICAgaWYgKGNwdSBTVFJF UVVBTCAicHBjNjQiKQorKyAgICAgICAgICAgICAgICBsaXN0KEFQUEVORCBnbkFyZ0FyZyBlbmFi bGVfanhsX2RlY29kZXI9ZmFsc2UpCisrICAgICAgICAgICAgZW5kaWYoKQorKworICAgICAgICAg ICAgIGlmKFFUX0ZFQVRVUkVfd2ViZW5naW5lX2tlcmJlcm9zKQorICAgICAgICAgICAgICAgICBs aXN0KEFQUEVORCBnbkFyZ0FyZworICAgICAgICAgICAgICAgICAgICAgIGV4dGVybmFsX2dzc2Fw aV9pbmNsdWRlX2Rpcj0iJHtHU1NBUElfSU5DTFVERV9ESVJTfS9nc3NhcGkiCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDUwLW5vLWdsaWJjLWNtYWtlLWNoZWNr LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFr ZS1jaGVjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY3 NTZiZjAyODZiYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAwNTAtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorLS0t IGEvY29uZmlndXJlLmNtYWtlCisrKysgYi9jb25maWd1cmUuY21ha2UKK0BAIC00OTksMTEgKzQ5 OSw2IEBAIGFkZF9jaGVja19mb3Jfc3VwcG9ydCgKKyApCisgYWRkX2NoZWNrX2Zvcl9zdXBwb3J0 KAorICAgIE1PRFVMRVMgUXRXZWJFbmdpbmUgUXRQZGYKKy0gICBDT05ESVRJT04gTk9UIExJTlVY IE9SIFRFU1RfZ2xpYmMKKy0gICBNRVNTQUdFICJBIHN1aXRhYmxlIHZlcnNpb24gPj0gMi4xNyBv ZiBnbGliYyBpcyByZXF1aXJlZC4iCistKQorLWFkZF9jaGVja19mb3Jfc3VwcG9ydCgKKy0gICBN T0RVTEVTIFF0V2ViRW5naW5lIFF0UGRmCisgICAgQ09ORElUSU9OIE5PVCBMSU5VWCBPUiBURVNU X2tocgorICAgIE1FU1NBR0UgIkJ1aWxkIHJlcXVpcmVzIEtocm9ub3MgZGV2ZWxvcG1lbnQgaGVh ZGVycyBmb3IgYnVpbGQgLSBzZWUgbWVzYS9saWJlZ2wxLW1lc2EtZGV2IgorICkKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDAtY2hyb21pdW0tc2FuZGJveC1t ZW1iYXJyaWVyLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJv bWl1bS1zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi4yZGQ3YjRhYTk0OGYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAwLWNocm9taXVtLXNhbmRib3gtbWVtYmFycmllci5wYXRj aApAQCAtMCwwICsxLDU4IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Nl dHMuY2MKK0BAIC00MTMsNiArNDEzLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJv Y2Vzc1N0YXJ0TworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfZXhpdDoKKyAg ICAgY2FzZSBfX05SX2V4aXRfZ3JvdXA6CisrICAgIGNhc2UgX19OUl9tZW1iYXJyaWVyOgorICAg ICBjYXNlIF9fTlJfd2FpdDQ6CisgICAgIGNhc2UgX19OUl93YWl0aWQ6CisgI2lmIGRlZmluZWQo X19pMzg2X18pCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNjYWxscy5o CitAQCAtMTIxNSw0ICsxMjE1LDggQEAKKyAjZGVmaW5lIF9fTlJfbGFuZGxvY2tfcmVzdHJpY3Rf c2VsZiA0NDYKKyAjZW5kaWYKKyAKKysjaWYgIWRlZmluZWQoX19OUl9tZW1iYXJyaWVyKQorKyNk ZWZpbmUgX19OUl9tZW1iYXJyaWVyIDI4MworKyNlbmRpZgorKworICNlbmRpZiAgLy8gU0FOREJP WF9MSU5VWF9TWVNURU1fSEVBREVSU19BUk02NF9MSU5VWF9TWVNDQUxMU19IXworLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtX2xpbnV4 X3N5c2NhbGxzLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5 c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oCitAQCAtMTYxNyw2ICsxNjE3LDEwIEBA CisgI2RlZmluZSBfX05SX2xhbmRsb2NrX3Jlc3RyaWN0X3NlbGYgKF9fTlJfU1lTQ0FMTF9CQVNF ICsgNDQ2KQorICNlbmRpZgorIAorKyNpZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2Rl ZmluZSBfX05SX21lbWJhcnJpZXIgKF9fTlJfU1lTQ0FMTF9CQVNFKzM4OSkKKysjZW5kaWYKKysK KyAvLyBBUk0gcHJpdmF0ZSBzeXNjYWxscy4KKyAjaWYgIWRlZmluZWQoX19BUk1fTlJfQkFTRSkK KyAjZGVmaW5lIF9fQVJNX05SX0JBU0UgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMHhGMDAwMCkKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3g4 Nl8zMl9saW51eF9zeXNjYWxscy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfMzJfbGludXhfc3lzY2FsbHMuaAorQEAgLTE3NTAs NSArMTc1MCw5IEBACisgI2RlZmluZSBfX05SX2xhbmRsb2NrX3Jlc3RyaWN0X3NlbGYgNDQ2Cisg I2VuZGlmCisgCisrI2lmICFkZWZpbmVkKF9fTlJfbWVtYmFycmllcikKKysjZGVmaW5lIF9fTlJf bWVtYmFycmllciAzNzUKKysjZW5kaWYKKysKKyAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lT VEVNX0hFQURFUlNfWDg2XzMyX0xJTlVYX1NZU0NBTExTX0hfCisgCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy94ODZfNjRfbGludXhfc3lz Y2FsbHMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVt X2hlYWRlcnMveDg2XzY0X2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0xNDM4LDUgKzE0MzgsOSBAQAor ICNkZWZpbmUgX19OUl9sYW5kbG9ja19yZXN0cmljdF9zZWxmIDQ0NgorICNlbmRpZgorIAorKyNp ZiAhZGVmaW5lZChfX05SX21lbWJhcnJpZXIpCisrI2RlZmluZSBfX05SX21lbWJhcnJpZXIgMzI0 CisrI2VuZGlmCisrCisgI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1g4 Nl82NF9MSU5VWF9TWVNDQUxMU19IXworIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEwMS1zaXplX3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMTAxLXNpemVfdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLmZjY2MwODVkYTMxMQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMDEtc2l6ZV90LnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL3BsYXRmb3JtL1Bs YXRmb3JtTWV0aG9kcy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YW5nbGUvaW5jbHVkZS9wbGF0Zm9ybS9QbGF0Zm9ybU1ldGhvZHMuaAorQEAgLTIzOSwxMSArMjM5 LDExIEBAIGlubGluZSB2b2lkIERlZmF1bHRPdmVycmlkZUZlYXR1cmVzTXRsKFAKKyB1c2luZyBQ cm9ncmFtS2V5VHlwZSAgID0gc3RkOjphcnJheTx1aW50OF90LCAyMD47CisgdXNpbmcgQ2FjaGVQ cm9ncmFtRnVuYyA9IHZvaWQgKCopKFBsYXRmb3JtTWV0aG9kcyAqcGxhdGZvcm0sCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFByb2dyYW1LZXlUeXBlICZrZXksCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBwcm9ncmFtU2l6ZSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjpzaXplX3QgcHJvZ3JhbVNpemUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnByb2dy YW1CeXRlcyk7CisgaW5saW5lIHZvaWQgRGVmYXVsdENhY2hlUHJvZ3JhbShQbGF0Zm9ybU1ldGhv ZHMgKnBsYXRmb3JtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUHJv Z3JhbUtleVR5cGUgJmtleSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVf dCBwcm9ncmFtU2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6c2l6 ZV90IHByb2dyYW1TaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg dWludDhfdCAqcHJvZ3JhbUJ5dGVzKQorIHt9CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTAyLWNocm9taXVtLTkwLXJ1eS1pbmNsdWRlLnBhdGNoIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1bS05MC1ydXktaW5jbHVkZS5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJiYmE1NzkwNzZk NgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDIt Y2hyb21pdW0tOTAtcnV5LWluY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorRnJvbSA3MTQw OTJmMzM2YmIxNGQyZmNjMjczOTZlYzMyM2IzZDg0M2JiOTYyIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgorRGF0 ZTogVGh1LCA0IE1hciAyMDIxIDE1OjA1OjQ2ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6 IGluY2x1ZGUgbGltaXRzIGZvciBzdGQ6Om51bWVyaWNfbGltaXRzCisKKy0tLQorIHRoaXJkX3Bh cnR5L3J1eS9zcmMvcnV5L2Jsb2NrX21hcC5jYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKQorCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcnV5 L3NyYy9ydXkvYmxvY2tfbWFwLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvcnV5L3NyYy9ydXkvYmxvY2tfbWFwLmNjCitAQCAtMTcsNiArMTcsNyBAQCBsaW1pdGF0 aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KKyAKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNs dWRlIDxjc3RkaW50PgorKyNpbmNsdWRlIDxsaW1pdHM+CisgCisgI2lmZGVmIFJVWV9NQUtFQkxP Q0tNQVBfREVCVUcKKyAjaW5jbHVkZSA8Y3N0ZGlvPgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDEwMy1jaHJvbWl1bS12OC1tb25vdG9uaWMtcHRocmVhZC1jb250 X3RpbWVkd2FpdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDMtY2hy b21pdW0tdjgtbW9ub3RvbmljLXB0aHJlYWQtY29udF90aW1lZHdhaXQucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xZGM4YmM0ZDNkMTcKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAzLWNocm9taXVtLXY4LW1v bm90b25pYy1wdGhyZWFkLWNvbnRfdGltZWR3YWl0LnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK1Vz ZSBtb25vdG9uaWMgY2xvY2sgZm9yIHB0aHJlYWRfY29uZF90aW1lZHdhaXQgd2l0aCBtdXNsIHRv by4KKworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL3BsYXRmb3JtL2Nv bmRpdGlvbi12YXJpYWJsZS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9i YXNlL3BsYXRmb3JtL2NvbmRpdGlvbi12YXJpYWJsZS5jYworQEAgLTIwLDcgKzIwLDcgQEAgbmFt ZXNwYWNlIGJhc2UgeworIAorIENvbmRpdGlvblZhcmlhYmxlOjpDb25kaXRpb25WYXJpYWJsZSgp IHsKKyAjaWYgKFY4X09TX0ZSRUVCU0QgfHwgVjhfT1NfTkVUQlNEIHx8IFY4X09TX09QRU5CU0Qg fHwgXAorLSAgICAgKFY4X09TX0xJTlVYICYmIFY4X0xJQkNfR0xJQkMpKQorKyAgICAgVjhfT1Nf TElOVVgpCisgICAvLyBPbiBGcmVlL05ldC9PcGVuQlNEIGFuZCBMaW51eCB3aXRoIGdsaWJjIHdl IGNhbiBjaGFuZ2UgdGhlIHRpbWUKKyAgIC8vIHNvdXJjZSBmb3IgcHRocmVhZF9jb25kX3RpbWVk d2FpdCgpIHRvIHVzZSB0aGUgbW9ub3RvbmljIGNsb2NrLgorICAgcHRocmVhZF9jb25kYXR0cl90 IGF0dHI7CitAQCAtOTYsNyArOTYsNyBAQCBib29sIENvbmRpdGlvblZhcmlhYmxlOjpXYWl0Rm9y KE11dGV4KiBtCisgICAgICAgJm5hdGl2ZV9oYW5kbGVfLCAmbXV0ZXgtPm5hdGl2ZV9oYW5kbGUo KSwgJnRzKTsKKyAjZWxzZQorICNpZiAoVjhfT1NfRlJFRUJTRCB8fCBWOF9PU19ORVRCU0QgfHwg VjhfT1NfT1BFTkJTRCB8fCBcCistICAgICAoVjhfT1NfTElOVVggJiYgVjhfTElCQ19HTElCQykp CisrICAgICBWOF9PU19MSU5VWCkKKyAgIC8vIE9uIEZyZWUvTmV0L09wZW5CU0QgYW5kIExpbnV4 IHdpdGggZ2xpYmMgd2UgY2FuIGNoYW5nZSB0aGUgdGltZQorICAgLy8gc291cmNlIGZvciBwdGhy ZWFkX2NvbmRfdGltZWR3YWl0KCkgdG8gdXNlIHRoZSBtb25vdG9uaWMgY2xvY2suCisgICByZXN1 bHQgPSBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnRzKTsKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAu cGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNocm9taXVtLXJldmVy dC05ZDA4MGMwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u NDJiMWVlOWVjMDYzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwNC1jaHJvbWl1bS1yZXZlcnQtOWQwODBjMC5wYXRjaApAQCAtMCwwICsxLDE2MiBA QAorIE9yaWdpbmFsIGNoYW5nZSdzIGRlc2NyaXB0aW9uOgorID4gUmVwbGFjZSAnYmxhY2tsaXN0 JyB3aXRoICdpZ25vcmVsaXN0JyBpbiAuL3Rvb2xzL21zYW4vLgorID4KKyA+IEJ1ZzogMTA5NzI3 MiwgMTA5NzI2OAorID4gQ2hhbmdlLUlkOiBJZDVjODIyN2E1YmZiMWZmYWVjODJkMzE2OGI2MDkw ODViMTBjODI5NworID4gUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2ds ZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yODY3NzMwCisgPiBDb21taXQtUXVldWU6IER5 bGFuIEN1dGxlciA8ZHlsYW5jdXRsZXJAZ29vZ2xlLmNvbT4KKyA+IFJldmlld2VkLWJ5OiBOaWNv IFdlYmVyIDx0aGFraXNAY2hyb21pdW0ub3JnPgorID4gUmV2aWV3ZWQtYnk6IEpvbmF0aGFuIE1l dHptYW4gPG1ldHptYW5AY2hyb21pdW0ub3JnPgorID4gQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZz L2hlYWRzL21hc3RlckB7Izg4MzAzNX0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWls ZC9jb25maWcvc2FuaXRpemVycy9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2J1aWxkL2NvbmZpZy9zYW5pdGl6ZXJzL0JVSUxELmduCitAQCAtMjcyLDExICsyNzIsMTEgQEAg Y29uZmlnKCJhc2FuX2ZsYWdzIikgeworICAgaWYgKGlzX2FzYW4pIHsKKyAgICAgY2ZsYWdzICs9 IFsgIi1mc2FuaXRpemU9YWRkcmVzcyIgXQorICAgICBpZiAoaXNfd2luKSB7CistICAgICAgaWYg KCFkZWZpbmVkKGFzYW5fd2luX2Jsb2NrbGlzdF9wYXRoKSkgeworLSAgICAgICAgYXNhbl93aW5f YmxvY2tsaXN0X3BhdGggPQorKyAgICAgIGlmICghZGVmaW5lZChhc2FuX3dpbl9ibGFja2xpc3Rf cGF0aCkpIHsKKysgICAgICAgIGFzYW5fd2luX2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAg ICByZWJhc2VfcGF0aCgiLy90b29scy9tZW1vcnkvYXNhbi9ibG9ja2xpc3Rfd2luLnR4dCIsIHJv b3RfYnVpbGRfZGlyKQorICAgICAgIH0KKy0gICAgICBjZmxhZ3MgKz0gWyAiLWZzYW5pdGl6ZS1p Z25vcmVsaXN0PSRhc2FuX3dpbl9ibG9ja2xpc3RfcGF0aCIgXQorKyAgICAgIGNmbGFncyArPSBb ICItZnNhbml0aXplLWJsYWNrbGlzdD0kYXNhbl93aW5fYmxhY2tsaXN0X3BhdGgiIF0KKyAgICAg fQorICAgfQorIH0KK0BAIC0zMDYsMTMgKzMwNiwxMyBAQCBjb25maWcoImxpbmtfc2hhcmVkX2xp YnJhcnkiKSB7CisgY29uZmlnKCJjZmlfZmxhZ3MiKSB7CisgICBjZmxhZ3MgPSBbXQorICAgaWYg KGlzX2NmaSAmJiBjdXJyZW50X3Rvb2xjaGFpbiA9PSBkZWZhdWx0X3Rvb2xjaGFpbikgeworLSAg ICBpZiAoIWRlZmluZWQoY2ZpX2lnbm9yZWxpc3RfcGF0aCkpIHsKKy0gICAgICBjZmlfaWdub3Jl bGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKGNmaV9ibGFja2xpc3RfcGF0aCkpIHsKKysg ICAgICBjZmlfYmxhY2tsaXN0X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29s cy9jZmkvaWdub3Jlcy50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3Mg Kz0gWworICAgICAgICItZnNhbml0aXplPWNmaS12Y2FsbCIsCistICAgICAgIi1mc2FuaXRpemUt aWdub3JlbGlzdD0kY2ZpX2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxh Y2tsaXN0PSRjZmlfYmxhY2tsaXN0X3BhdGgiLAorICAgICBdCisgCisgICAgIGlmICh1c2VfY2Zp X2Nhc3QpIHsKK0BAIC00MDksMTQgKzQwOSwxNCBAQCBjb25maWcoIm1zYW5fZmxhZ3MiKSB7Cisg ICBpZiAoaXNfbXNhbikgeworICAgICBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21lb3MsCisg ICAgICAgICAgICAibXNhbiBvbmx5IHN1cHBvcnRlZCBvbiBsaW51eCB4ODZfNjQvQ2hyb21lT1Mi KQorLSAgICBpZiAoIWRlZmluZWQobXNhbl9pZ25vcmVsaXN0X3BhdGgpKSB7CistICAgICAgbXNh bl9pZ25vcmVsaXN0X3BhdGggPQorLSAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tc2Fu L2lnbm9yZWxpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisrICAgIGlmICghZGVmaW5lZChtc2Fu X2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAgIG1zYW5fYmxhY2tsaXN0X3BhdGggPQorKyAgICAg ICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tc2FuL2JsYWNrbGlzdC50eHQiLCByb290X2J1aWxk X2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRpemU9bWVtb3J5 IiwKKyAgICAgICAiLWZzYW5pdGl6ZS1tZW1vcnktdHJhY2stb3JpZ2lucz0kbXNhbl90cmFja19v cmlnaW5zIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRtc2FuX2lnbm9yZWxpc3Rf cGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSRtc2FuX2JsYWNrbGlzdF9wYXRo IiwKKyAgICAgXQorICAgfQorIH0KK0BAIC00MjQsMTMgKzQyNCwxMyBAQCBjb25maWcoIm1zYW5f ZmxhZ3MiKSB7CisgY29uZmlnKCJ0c2FuX2ZsYWdzIikgeworICAgaWYgKGlzX3RzYW4pIHsKKyAg ICAgYXNzZXJ0KGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zLCAidHNhbiBvbmx5IHN1cHBvcnRlZCBv biBsaW51eCB4ODZfNjQiKQorLSAgICBpZiAoIWRlZmluZWQodHNhbl9pZ25vcmVsaXN0X3BhdGgp KSB7CistICAgICAgdHNhbl9pZ25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAoIWRlZmluZWQodHNh bl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICB0c2FuX2JsYWNrbGlzdF9wYXRoID0KKyAgICAg ICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvbWVtb3J5L3RzYW5fdjIvaWdub3Jlcy50eHQiLCBy b290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAgICAgIi1mc2FuaXRp emU9dGhyZWFkIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR0c2FuX2lnbm9yZWxp c3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSR0c2FuX2JsYWNrbGlzdF9w YXRoIiwKKyAgICAgXQorICAgfQorIH0KK0BAIC00MzgsOCArNDM4LDggQEAgY29uZmlnKCJ0c2Fu X2ZsYWdzIikgeworIGNvbmZpZygidWJzYW5fZmxhZ3MiKSB7CisgICBjZmxhZ3MgPSBbXQorICAg aWYgKGlzX3Vic2FuKSB7CistICAgIGlmICghZGVmaW5lZCh1YnNhbl9pZ25vcmVsaXN0X3BhdGgp KSB7CistICAgICAgdWJzYW5faWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKHVi c2FuX2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAgIHVic2FuX2JsYWNrbGlzdF9wYXRoID0KKyAg ICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvdWJzYW4vaWdub3JlbGlzdC50eHQiLCByb290 X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgKz0gWworQEAgLTQ1Niw3ICs0NTYsNyBA QCBjb25maWcoInVic2FuX2ZsYWdzIikgeworICAgICAgICItZnNhbml0aXplPXNpZ25lZC1pbnRl Z2VyLW92ZXJmbG93IiwKKyAgICAgICAiLWZzYW5pdGl6ZT11bnJlYWNoYWJsZSIsCisgICAgICAg Ii1mc2FuaXRpemU9dmxhLWJvdW5kIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSR1 YnNhbl9pZ25vcmVsaXN0X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJz YW5fYmxhY2tsaXN0X3BhdGgiLAorICAgICBdCisgICAgIGlmICghaXNfY2xhbmcpIHsKKyAgICAg ICAjIFRoZXNlIGV4cG9zZXMgdG9vIG11Y2ggaWxsZWdhbCBDKysxNCBjb2RlIHRvIGNvbXBpbGUg b24gYW55dGhpbmcgc3RyaWN0ZXIgdGhhbiBjbGFuZzoKK0BAIC00OTcsOCArNDk3LDggQEAgY29u ZmlnKCJ1YnNhbl9ub19yZWNvdmVyIikgeworIAorIGNvbmZpZygidWJzYW5fc2VjdXJpdHlfZmxh Z3MiKSB7CisgICBpZiAoaXNfdWJzYW5fc2VjdXJpdHkpIHsKKy0gICAgaWYgKCFkZWZpbmVkKHVi c2FuX3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCkpIHsKKy0gICAgICB1YnNhbl9zZWN1cml0eV9p Z25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAoIWRlZmluZWQodWJzYW5fc2VjdXJpdHlfYmxhY2ts aXN0X3BhdGgpKSB7CisrICAgICAgdWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGggPQorICAg ICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy91YnNhbi9zZWN1cml0eV9pZ25vcmVsaXN0LnR4 dCIsIHJvb3RfYnVpbGRfZGlyKQorICAgICB9CisgICAgIGNmbGFncyA9IFsKK0BAIC01MDYsNyAr NTA2LDcgQEAgY29uZmlnKCJ1YnNhbl9zZWN1cml0eV9mbGFncyIpIHsKKyAgICAgICAiLWZzYW5p dGl6ZT1zaGlmdCIsCisgICAgICAgIi1mc2FuaXRpemU9c2lnbmVkLWludGVnZXItb3ZlcmZsb3ci LAorICAgICAgICItZnNhbml0aXplPXZsYS1ib3VuZCIsCistICAgICAgIi1mc2FuaXRpemUtaWdu b3JlbGlzdD0kdWJzYW5fc2VjdXJpdHlfaWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZzYW5p dGl6ZS1ibGFja2xpc3Q9JHVic2FuX3NlY3VyaXR5X2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQor ICAgfQorIH0KK0BAIC01MTksMTMgKzUxOSwxMyBAQCBjb25maWcoInVic2FuX251bGxfZmxhZ3Mi KSB7CisgCisgY29uZmlnKCJ1YnNhbl92cHRyX2ZsYWdzIikgeworICAgaWYgKGlzX3Vic2FuX3Zw dHIpIHsKKy0gICAgaWYgKCFkZWZpbmVkKHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoKSkgewor LSAgICAgIHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoID0KKysgICAgaWYgKCFkZWZpbmVkKHVi c2FuX3ZwdHJfYmxhY2tsaXN0X3BhdGgpKSB7CisrICAgICAgdWJzYW5fdnB0cl9ibGFja2xpc3Rf cGF0aCA9CisgICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2FuL3ZwdHJfaWdub3Jl bGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKKyAgICAgfQorICAgICBjZmxhZ3MgPSBbCisgICAg ICAgIi1mc2FuaXRpemU9dnB0ciIsCistICAgICAgIi1mc2FuaXRpemUtaWdub3JlbGlzdD0kdWJz YW5fdnB0cl9pZ25vcmVsaXN0X3BhdGgiLAorKyAgICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0k dWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCIsCisgICAgIF0KKyAgICAgaWYgKCFpc19jbGFuZykg eworICAgICAgICMgQ2xhbmcgc3BlY2lmaWMgZmxhZzoKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9idWlsZF9vdmVycmlkZXMvYnVpbGQuZ25pCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vYnVpbGRfb3ZlcnJpZGVzL2J1aWxkLmduaQorQEAgLTQzLDE1ICs0MywxNSBAQCBkZWNsYXJl X2FyZ3MoKSB7CisgIyBBbGxvd3MgZGlmZmVyZW50IHByb2plY3RzIHRvIHNwZWNpZnkgdGhlaXIg b3duIHN1cHByZXNzaW9uL2lnbm9yZSBsaXN0cyBmb3IKKyAjIHNhbml0aXplciB0b29scy4KKyAj IGFzYW5fc3VwcHJlc3Npb25zX2ZpbGUgPSAicGF0aC90by9hc2FuX3N1cHByZXNzaW9ucy5jYyIK Ky0jIGFzYW5fd2luX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL2FzYW4vYmxvY2tsaXN0X3dp bi50eHQiCisrIyBhc2FuX3dpbl9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL2FzYW4vYmxvY2ts aXN0X3dpbi50eHQiCisgIyBsc2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vbHNhbl9z dXBwcmVzc2lvbnMuY2MiCisgIyB0c2FuX3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vdHNh bl9zdXBwcmVzc2lvbnMuY2MiCistIyB0c2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL3Rz YW4vaWdub3Jlcy50eHQiCistIyBtc2FuX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL21zYW4v aWdub3JlbGlzdC50eHQiCistIyB1YnNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by91YnNh bi9pZ25vcmVsaXN0LnR4dCIKKy0jIHVic2FuX3ZwdHJfaWdub3JlbGlzdF9wYXRoID0gInBhdGgv dG8vdWJzYW4vdnB0cl9pZ25vcmVsaXN0LnR4dCIKKy0jIHVic2FuX3NlY3VyaXR5X2lnbm9yZWxp c3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL3NlY3VyaXR5X2lnbm9yZWxpc3QudHh0IgorLSMgY2Zp X2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL2NmaS9pZ25vcmVzLnR4dCIKKysjIHRzYW5fYmxh Y2tsaXN0X3BhdGggPSAicGF0aC90by90c2FuL2lnbm9yZXMudHh0IgorKyMgbXNhbl9ibGFja2xp c3RfcGF0aCA9ICJwYXRoL3RvL21zYW4vYmxhY2tsaXN0LnR4dCIKKysjIHVic2FuX2JsYWNrbGlz dF9wYXRoID0gInBhdGgvdG8vdWJzYW4vYmxhY2tsaXN0LnR4dCIKKysjIHVic2FuX3ZwdHJfYmxh Y2tsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi92cHRyX2JsYWNrbGlzdC50eHQiCisrIyB1YnNh bl9zZWN1cml0eV9ibGFja2xpc3RfcGF0aCA9ICJwYXRoL3RvL3Vic2FuL3NlY3VyaXR5X2JsYWNr bGlzdC50eHQiCisrIyBjZmlfYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9jZmkvaWdub3Jlcy50 eHQiCisgCisgZGVjbGFyZV9hcmdzKCkgeworICAgIyBBbmRyb2lkIDMyLWJpdCBub24tY29tcG9u ZW50LCBub24tY2xhbmcgYnVpbGRzIGNhbm5vdCBoYXZlIHN5bWJvbF9sZXZlbD0yCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJldmVydC1k cm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEwNS1jaHJvbWl1bS1yZXZlcnQtZHJvcC1vZi1zeXN0ZW0tamF2YS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ0ZjNhYThmYWU1ZQotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDUtY2hyb21pdW0tcmV2ZXJ0 LWRyb3Atb2Ytc3lzdGVtLWphdmEucGF0Y2gKQEAgLTAsMCArMSwxNSBAQAorVGhpcyB3YXMgZHJv cHBlZCBmb3Igc29tZSByZWFzb24gaW4gNjk1MWMzN2NlY2QwNTk3OWIyMzJhMzllNWMxMGU2MzQ2 YTBmNzRlZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Nsb3N1cmVf Y29tcGlsZXIvY29tcGlsZXIucHkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jbG9zdXJlX2NvbXBpbGVyL2NvbXBpbGVyLnB5CitAQCAtMTMsOCArMTMsOSBAQCBpbXBv cnQgc3VicHJvY2VzcworIAorIAorIF9DVVJSRU5UX0RJUiA9IG9zLnBhdGguam9pbihvcy5wYXRo LmRpcm5hbWUoX19maWxlX18pKQorLV9KQVZBX1BBVEggPSBvcy5wYXRoLmpvaW4oX0NVUlJFTlRf RElSLCAiLi4iLCAiamRrIiwgImN1cnJlbnQiLCAiYmluIiwgImphdmEiKQorLWFzc2VydCBvcy5w YXRoLmlzZmlsZShfSkFWQV9QQVRIKSwgImphdmEgb25seSBhbGxvd2VkIGluIGFuZHJvaWQgYnVp bGRzIgorK19KQVZBX0JJTiA9ICJqYXZhIgorK19KREtfUEFUSCA9IG9zLnBhdGguam9pbihfQ1VS UkVOVF9ESVIsICIuLiIsICJqZGsiLCAiY3VycmVudCIsICJiaW4iLCAiamF2YSIpCisrX0pBVkFf UEFUSCA9IF9KREtfUEFUSCBpZiBvcy5wYXRoLmlzZmlsZShfSkRLX1BBVEgpIGVsc2UgX0pBVkFf QklOCisgCisgY2xhc3MgQ29tcGlsZXIob2JqZWN0KToKKyAgICIiIlJ1bnMgdGhlIENsb3N1cmUg Y29tcGlsZXIgb24gZ2l2ZW4gc291cmNlIGZpbGVzIHRvIHR5cGVjaGVjayB0aGVtCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1u b2RlanMucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNocm9taXVt LXN5c3RlbS1ub2RlanMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi4xZTA2N2NjNmVkYTAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2gKQEAgLTAsMCArMSwy MCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25vZGUvbm9kZS5w eQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25vZGUvbm9kZS5weQor QEAgLTM2LDExICszNiwxMiBAQCBkZWYgR2V0QmluYXJ5UGF0aCgpOgorICAgaWYgcGxhdGZvcm0u c3lzdGVtKCkgPT0gJ0RhcndpbicgYW5kIHBsYXRmb3JtLm1hY2hpbmUoKSA9PSAnYXJtNjQnOgor ICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4ob3NfcGF0aC5qb2luKG9zX3BhdGguZGlybmFtZShf X2ZpbGVfXyksICdtYWMnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vZGUtZGFyd2lu LWFybTY0JywgJ2JpbicsICdub2RlJykpCistICByZXR1cm4gb3NfcGF0aC5qb2luKG9zX3BhdGgu ZGlybmFtZShfX2ZpbGVfXyksICp7CistICAgICdEYXJ3aW4nOiAoJ21hYycsICdub2RlLWRhcndp bi14NjQnLCAnYmluJywgJ25vZGUnKSwKKy0gICAgJ0xpbnV4JzogKCdsaW51eCcsICdub2RlLWxp bnV4LXg2NCcsICdiaW4nLCAnbm9kZScpLAorLSAgICAnV2luZG93cyc6ICgnd2luJywgJ25vZGUu ZXhlJyksCistICB9W3BsYXRmb3JtLnN5c3RlbSgpXSkKKysgIHJldHVybiAiL3Vzci9iaW4vbm9k ZSIKKysgICNyZXR1cm4gb3NfcGF0aC5qb2luKG9zX3BhdGguZGlybmFtZShfX2ZpbGVfXyksICp7 CisrICAjICAnRGFyd2luJzogKCdtYWMnLCAnbm9kZS1kYXJ3aW4teDY0JywgJ2JpbicsICdub2Rl JyksCisrICAjICAnTGludXgnOiAoJ2xpbnV4JywgJ25vZGUtbGludXgteDY0JywgJ2JpbicsICdu b2RlJyksCisrICAjICAnV2luZG93cyc6ICgnd2luJywgJ25vZGUuZXhlJyksCisrICAjfVtwbGF0 Zm9ybS5zeXN0ZW0oKV0pCisgCisgCisgZGVmIFJ1bk5vZGUoY21kX3BhcnRzLCBzdGRvdXQ9Tm9u ZSk6CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9t aXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMTA3LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hOGY1ZDk3MTg4M2QKLS0tIC9kZXYvbnVsbAor KysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWN1cnNlZF5V c2NvcGVkX2ZpbGUucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL2Jhc2UvZmlsZXMvc2NvcGVkX2ZpbGVfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9iYXNlL2ZpbGVzL3Njb3BlZF9maWxlX2xpbnV4LmNjCitAQCAtNzcsMTUgKzc3 LDMgQEAgYm9vbCBJc0ZET3duZWQoaW50IGZkKSB7CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSBi YXNlCistCistZXh0ZXJuICJDIiB7CistCistaW50IF9fY2xvc2UoaW50KTsKKy0KKy1fX2F0dHJp YnV0ZV9fKCh2aXNpYmlsaXR5KCJkZWZhdWx0IiksIG5vaW5saW5lKSkgaW50IGNsb3NlKGludCBm ZCkgeworLSAgaWYgKGJhc2U6OklzRkRPd25lZChmZCkgJiYgZ19pc19vd25lcnNoaXBfZW5mb3Jj ZWQpCistICAgIENyYXNoT25GZE93bmVyc2hpcFZpb2xhdGlvbigpOworLSAgcmV0dXJuIF9fY2xv c2UoZmQpOworLX0KKy0KKy19ICAvLyBleHRlcm4gIkMiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA4LWNocm9taXVtLWZpeC1uYXJyb3dpbmctY2FzdC5wYXRj aCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDgtY2hyb21pdW0tZml4LW5hcnJv d2luZy1jYXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u ZWQzMmNkOWI3NDE1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwOC1jaHJvbWl1bS1maXgtbmFycm93aW5nLWNhc3QucGF0Y2gKQEAgLTAsMCArMSw1 MyBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZmlsZXMvZmlsZV91dGlsX2xp bnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxlX3V0aWxf bGludXguY2MKK0BAIC0yMywxNCArMjMsMTQgQEAgYm9vbCBHZXRGaWxlU3lzdGVtVHlwZShjb25z dCBGaWxlUGF0aCYgcAorIAorICAgLy8gTm90IGFsbCBwb3NzaWJsZSB8c3RhdGZzX2J1Zi5mX3R5 cGV8IHZhbHVlcyBhcmUgaW4gbGludXgvbWFnaWMuaC4KKyAgIC8vIE1pc3NpbmcgdmFsdWVzIGFy ZSBjb3BpZWQgZnJvbSB0aGUgc3RhdGZzIG1hbiBwYWdlLgorLSAgc3dpdGNoIChzdGF0ZnNfYnVm LmZfdHlwZSkgeworKyAgc3dpdGNoIChzdGF0aWNfY2FzdDx1aW50bWF4X3Q+KHN0YXRmc19idWYu Zl90eXBlKSkgeworICAgICBjYXNlIDA6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV8wOwor ICAgICAgIGJyZWFrOworICAgICBjYXNlIEVYVDJfU1VQRVJfTUFHSUM6ICAvLyBBbHNvIGV4dDMg YW5kIGV4dDQKKyAgICAgY2FzZSBNU0RPU19TVVBFUl9NQUdJQzoKKyAgICAgY2FzZSBSRUlTRVJG U19TVVBFUl9NQUdJQzoKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KEJUUkZTX1NVUEVSX01B R0lDKToKKysgICAgY2FzZSBCVFJGU19TVVBFUl9NQUdJQzoKKyAgICAgY2FzZSAweDUzNDY1NDRF OiAgLy8gTlRGUworICAgICBjYXNlIDB4NTg0NjUzNDI6ICAvLyBYRlMKKyAgICAgY2FzZSAweDMx NTM0NjRBOiAgLy8gSkZTCitAQCAtNDAsMTQgKzQwLDE0IEBAIGJvb2wgR2V0RmlsZVN5c3RlbVR5 cGUoY29uc3QgRmlsZVBhdGgmIHAKKyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX05GUzsKKyAg ICAgICBicmVhazsKKyAgICAgY2FzZSBTTUJfU1VQRVJfTUFHSUM6CistICAgIGNhc2Ugc3RhdGlj X2Nhc3Q8aW50PigweEZGNTM0RDQyKTogIC8vIENJRlMKKysgICAgY2FzZSAweEZGNTM0RDQyOiAg Ly8gQ0lGUworICAgICAgICp0eXBlID0gRklMRV9TWVNURU1fU01COworICAgICAgIGJyZWFrOwor ICAgICBjYXNlIENPREFfU1VQRVJfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9D T0RBOworICAgICAgIGJyZWFrOworLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oSFVHRVRMQkZT X01BR0lDKToKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lDKToKKysgICAg Y2FzZSBIVUdFVExCRlNfTUFHSUM6CisrICAgIGNhc2UgUkFNRlNfTUFHSUM6CisgICAgIGNhc2Ug VE1QRlNfTUFHSUM6CisgICAgICAgKnR5cGUgPSBGSUxFX1NZU1RFTV9NRU1PUlk7CisgICAgICAg YnJlYWs7CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9zeXN0ZW0vc3lzX2luZm9f cG9zaXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3N5c3RlbS9zeXNfaW5m b19wb3NpeC5jYworQEAgLTEwMCwxMCArMTAwLDEwIEBAIGJvb2wgSXNTdGF0c1plcm9JZlVubGlt aXRlZChjb25zdCBiYXNlOjoKKyAgIGlmIChIQU5ETEVfRUlOVFIoc3RhdGZzKHBhdGgudmFsdWUo KS5jX3N0cigpLCAmc3RhdHMpKSAhPSAwKQorICAgICByZXR1cm4gZmFsc2U7CisgCistICBzd2l0 Y2ggKHN0YXRzLmZfdHlwZSkgeworKyAgc3dpdGNoIChzdGF0aWNfY2FzdDx1aW50bWF4X3Q+KHN0 YXRzLmZfdHlwZSkpIHsKKyAgICAgY2FzZSBUTVBGU19NQUdJQzoKKy0gICAgY2FzZSBzdGF0aWNf Y2FzdDxpbnQ+KEhVR0VUTEJGU19NQUdJQyk6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihS QU1GU19NQUdJQyk6CisrICAgIGNhc2UgSFVHRVRMQkZTX01BR0lDOgorKyAgICBjYXNlIFJBTUZT X01BR0lDOgorICAgICAgIHJldHVybiB0cnVlOworICAgfQorICAgcmV0dXJuIGZhbHNlOwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1yZW1v dmUtc3RyaXBfYmluYXJ5LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEw OS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uNWViZDE2ZTY1OWFmCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmlu YXJ5LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9j aHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJTEQuZ24KK0BAIC0zMDgsMTEgKzMwOCw3 IEBAIHNvdXJjZV9zZXQoImxpYiIpIHsKKyAgIH0KKyB9CisgCistaWYgKGlzX2xpbnV4KSB7Cist ICBjaHJvbWVkcml2ZXJfb3V0cHV0ID0gImNocm9tZWRyaXZlci51bnN0cmlwcGVkIgorLX0gZWxz ZSB7CistICBjaHJvbWVkcml2ZXJfb3V0cHV0ID0gImNocm9tZWRyaXZlciIKKy19CisrY2hyb21l ZHJpdmVyX291dHB1dCA9ICJjaHJvbWVkcml2ZXIiCisgCisgZXhlY3V0YWJsZSgiJGNocm9tZWRy aXZlcl9vdXRwdXQiKSB7CisgICB0ZXN0b25seSA9IHRydWUKK0BAIC0zMzYsMTYgKzMzMiw2IEBA IGV4ZWN1dGFibGUoIiRjaHJvbWVkcml2ZXJfb3V0cHV0IikgeworICAgfQorIH0KKyAKKy1pZiAo aXNfbGludXgpIHsKKy0gIHN0cmlwX2JpbmFyeSgiY2hyb21lZHJpdmVyIikgeworLSAgICB0ZXN0 b25seSA9IHRydWUKKy0gICAgYmluYXJ5X2lucHV0ID0gIiRyb290X291dF9kaXIvJGNocm9tZWRy aXZlcl9vdXRwdXQiCistICAgIHN5bWJvbF9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVk cml2ZXIuZGVidWciCistICAgIHN0cmlwcGVkX2JpbmFyeV9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rp ci9jaHJvbWVkcml2ZXIiCistICAgIGRlcHMgPSBbICI6JGNocm9tZWRyaXZlcl9vdXRwdXQiIF0K Ky0gIH0KKy19CistCisgcHl0aG9uX2xpYnJhcnkoImNocm9tZWRyaXZlcl9weV90ZXN0cyIpIHsK KyAgIHRlc3Rvbmx5ID0gdHJ1ZQorICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTAtY2hyb21pdW0tcmV2ZXJ0LXVzZS1mZmlsZS1jb21waWxh dGlvbi1kaXIucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9t aXVtLXJldmVydC11c2UtZmZpbGUtY29tcGlsYXRpb24tZGlyLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYTAwZjdlYTgwZjdhCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMC1jaHJvbWl1bS1yZXZlcnQtdXNl LWZmaWxlLWNvbXBpbGF0aW9uLWRpci5wYXRjaApAQCAtMCwwICsxLDU3IEBACitGcm9tIDM0YTk1 NTgyMzYzMDA5NmY1YjAxYzJiMDFkNTFjMWVhNTlkMjI3NjMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBaZXF1YW4gV3UgPHplcXVhbnd1QGdvb2dsZS5jb20+CitEYXRlOiBUdWUsIDIw IEp1bCAyMDIxIDE0OjEzOjUwICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSAtZmZpbGUtY29t cGlsYXRpb24tZGlyPSBpbnN0ZWFkIG9mCisgLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXI9CisKK0J1 ZzogMTAxMDI2NworQ2hhbmdlLUlkOiBJZjJiNGVhZDg1MzVhNzY0OTBlYjQ2NmEzOGUzZDhmZWQ2 ZWE5MTA3OQorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJj ZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8yNzcwNzM4CitBdXRvLVN1Ym1pdDogWmVxdWFuIFd1IDx6 ZXF1YW53dUBnb29nbGUuY29tPgorQ29tbWl0LVF1ZXVlOiBOaWNvIFdlYmVyIDx0aGFraXNAY2hy b21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IE5pY28gV2ViZXIgPHRoYWtpc0BjaHJvbWl1bS5vcmc+ CitDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFzdGVyQHsjOTAzNDU2fQorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgor QEAgLTEyNjksMTkgKzEyNjksMTIgQEAgY29uZmlnKCJjb21waWxlcl9kZXRlcm1pbmlzdGljIikg eworICAgICAjIGRpZmZlcmVudCBidWlsZCBkaXJlY3RvcnkgbGlrZSAib3V0L2ZlYXR1cmVfYSIg YW5kICJvdXQvZmVhdHVyZV9iIiBpZgorICAgICAjIHdlIGJ1aWxkIHNhbWUgZmlsZXMgd2l0aCBz YW1lIGNvbXBpbGUgZmxhZy4KKyAgICAgIyBPdGhlciBwYXRocyBhcmUgYWxyZWFkeSBnaXZlbiBp biByZWxhdGl2ZSwgbm8gbmVlZCB0byBub3JtYWxpemUgdGhlbS4KKy0gICAgaWYgKGlzX25hY2wp IHsKKy0gICAgICAjIFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTIzMTIzNik6IFVzZSAtZmZpbGUt Y29tcGlsYXRpb24tZGlyPSBoZXJlLgorLSAgICAgIGNmbGFncyArPSBbCistICAgICAgICAiLVhj bGFuZyIsCistICAgICAgICAiLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXIiLAorLSAgICAgICAgIi1Y Y2xhbmciLAorLSAgICAgICAgIi4iLAorLSAgICAgIF0KKy0gICAgfSBlbHNlIHsKKy0gICAgICAj IC1mZmlsZS1jb21waWxhdGlvbi1kaXIgaXMgYW4gYWxpYXMgZm9yIGJvdGggLWZkZWJ1Zy1jb21w aWxhdGlvbi1kaXI9CistICAgICAgIyBhbmQgLWZjb3ZlcmFnZS1jb21waWxhdGlvbi1kaXI9Lgor LSAgICAgIGNmbGFncyArPSBbICItZmZpbGUtY29tcGlsYXRpb24tZGlyPS4iIF0KKy0gICAgfQor KyAgICBjZmxhZ3MgKz0gWworKyAgICAgICItWGNsYW5nIiwKKysgICAgICAiLWZkZWJ1Zy1jb21w aWxhdGlvbi1kaXIiLAorKyAgICAgICItWGNsYW5nIiwKKysgICAgICAiLiIsCisrICAgIF0KKyAg ICAgaWYgKCFpc193aW4pIHsKKyAgICAgICAjIFdlIGRvbid0IHVzZSBjbGFuZyAtY2MxYXMgb24g V2luZG93cyAoeWV0PyBodHRwczovL2NyYnVnLmNvbS83NjIxNjcpCisgICAgICAgYXNtZmxhZ3Mg PSBbICItV2EsLWZkZWJ1Zy1jb21waWxhdGlvbi1kaXIsLiIgXQorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL2J1aWxkL2NvbmZpZy9jb21waWxlci9jb21waWxlci5nbmkKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvY29tcGlsZXIvY29tcGlsZXIuZ25pCitAQCAt MjI4LDggKzIyOCwxMSBAQCBkZWNsYXJlX2FyZ3MoKSB7CisgIyBkZXRlcm1pbmlzdGljIGJ1aWxk cyB0byByZWR1Y2UgY29tcGlsZSB0aW1lcywgc28gdGhpcyBpcyBsZXNzIHJlbGV2YW50IGZvcgor ICMgb2ZmaWNpYWwgYnVpbGRlcnMuCisgc3RyaXBfYWJzb2x1dGVfcGF0aHNfZnJvbV9kZWJ1Z19z eW1ib2xzX2RlZmF1bHQgPQorLSAgICBpc19hbmRyb2lkIHx8IGlzX2Z1Y2hzaWEgfHwgaXNfbmFj bCB8fCAoaXNfd2luICYmIHVzZV9sbGQpIHx8IGlzX2xpbnV4IHx8CistICAgIGlzX2Nocm9tZW9z IHx8IChpc19hcHBsZSAmJiAhZW5hYmxlX2RzeW1zKQorKyAgICAjIFRPRE8oY3JidWcuY29tLzEw MTAyNjcpOiByZW1vdmUgJyF1c2VfY2xhbmdfY292ZXJhZ2UnLCBjb3ZlcmFnZSBidWlsZCBoYXMK KysgICAgIyBkZXBlbmRlbmN5IHRvIGFic29sdXRlIHBhdGggb2Ygc291cmNlIGZpbGVzLgorKyAg ICAhdXNlX2NsYW5nX2NvdmVyYWdlICYmCisrICAgIChpc19hbmRyb2lkIHx8IGlzX2Z1Y2hzaWEg fHwgaXNfbmFjbCB8fCAoaXNfd2luICYmIHVzZV9sbGQpIHx8IGlzX2xpbnV4IHx8CisrICAgICBp c19jaHJvbWVvcyB8fCAoaXNfYXBwbGUgJiYgIWVuYWJsZV9kc3ltcykpCisgCisgZGVjbGFyZV9h cmdzKCkgeworICAgc3RyaXBfYWJzb2x1dGVfcGF0aHNfZnJvbV9kZWJ1Z19zeW1ib2xzID0gc3Ry aXBfYWJzb2x1dGVfcGF0aHNfZnJvbV9kZWJ1Z19zeW1ib2xzX2RlZmF1bHQKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTEtY2hyb21pdW0tbm8tV25vLXN0cmlu Z29wLW92ZXJyZWFkLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMS1j aHJvbWl1bS1uby1Xbm8tc3RyaW5nb3Atb3ZlcnJlYWQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wM2VhYzNmOGUwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTExLWNocm9taXVtLW5vLVduby1zdHJpbmdv cC1vdmVycmVhZC5wYXRjaApAQCAtMCwwICsxLDEwIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtMzk0LDcgKzM5NCw2 IEBAIGNvbmZpZygiY29tcGlsZXIiKSB7CisgICAgICAgICAiLVduby1wYXJlbnRoZXNlcyIsCisg ICAgICAgICAiLVduby1zaWduLWNvbXBhcmUiLCAjIGZpZG8KKyAgICAgICAgICItV25vLXN0cmlu Z29wLW92ZXJmbG93IiwgIyBza2lhLCBsaWJhb20sIHByb3RvYnVmLCBpY3UKKy0gICAgICAgICIt V25vLXN0cmluZ29wLW92ZXJyZWFkIiwgIyBsaWJhb20KKyAgICAgICAgICItV25vLXBzYWJpIiwg IyBza2lhCisgICAgICAgICAiLVduby1tdWx0aWNoYXIiLCAjIGNyYXNocGFkCisgICAgICAgICAi LVduby1mb3JtYXQtemVyby1sZW5ndGgiLCAjIHVzZXJfYWdlbnQuY2MKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTAtY2hyb21pdW0tZ2xpYmMtbGliY19tYWxs b2MucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9taXVtLWds aWJjLWxpYmNfbWFsbG9jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uN2UxYjY2ZTVjNzNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDE1MC1jaHJvbWl1bS1nbGliYy1saWJjX21hbGxvYy5wYXRjaApAQCAtMCww ICsxLDI0IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9wcm9jZXNzL21lbW9y eV9saW51eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvcHJvY2Vzcy9tZW1v cnlfbGludXguY2MKK0BAIC0yMyw2ICsyMywxMiBAQAorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS90 Y21hbGxvYy9jaHJvbWl1bS9zcmMvZ3BlcmZ0b29scy90Y21hbGxvYy5oIgorICNlbmRpZgorIAor KyNpZiBkZWZpbmVkKExJQkNfR0xJQkMpCisrZXh0ZXJuICJDIiB7CisrZXh0ZXJuIHZvaWQgKl9f bGliY19tYWxsb2Moc2l6ZV90IHNpemUpOworK30KKysjZW5kaWYKKysKKyBuYW1lc3BhY2UgYmFz ZSB7CisgCisgbmFtZXNwYWNlIHsKK0BAIC0xMjAsNyArMTI2LDcgQEAgYm9vbCBVbmNoZWNrZWRN YWxsb2Moc2l6ZV90IHNpemUsIHZvaWQqKgorICAgICAoIWRlZmluZWQoTElCQ19HTElCQykgJiYg IUJVSUxERkxBRyhVU0VfVENNQUxMT0MpKQorICAgKnJlc3VsdCA9IG1hbGxvYyhzaXplKTsKKyAj ZWxpZiBkZWZpbmVkKExJQkNfR0xJQkMpICYmICFCVUlMREZMQUcoVVNFX1RDTUFMTE9DKQorLSAg KnJlc3VsdCA9IF9fbGliY19tYWxsb2Moc2l6ZSk7CisrICAqcmVzdWx0ID0gOjpfX2xpYmNfbWFs bG9jKHNpemUpOworICNlbGlmIEJVSUxERkxBRyhVU0VfVENNQUxMT0MpCisgICAqcmVzdWx0ID0g dGNfbWFsbG9jX3NraXBfbmV3X2hhbmRsZXIoc2l6ZSk7CisgI2VuZGlmCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAwLWNocm9taXVtLW11c2wtaW5jbHVkZS1z eXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMjAwLWNocm9taXVtLW11c2wtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09S RFNJWkUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40MWI5 MDA3MWI1ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjAwLWNocm9taXVtLW11c2wtaW5jbHVkZS1zeXMtcmVnLmgtdG8tZ2V0LV9fV09SRFNJWkUu cGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorRnJvbSA5MDAxYzU0ZDZiOTc0NDQ5MTc0YThjZWU4ZjNm NWQ3OGE5YmQ2YzllIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmVsaXggSmFuZGEg PGZlbGl4LmphbmRhQHBvc3Rlby5kZT4KK0RhdGU6IFN1biwgMSBGZWIgMjAxNSAxNDoyNjo1MiAr MDEwMAorU3ViamVjdDogW1BBVENIIDMvNl0gaW5jbHVkZSA8c3lzL3JlZy5oPiB0byBnZXQgX19X T1JEU0laRSBvbiBtdXNsIGxpYmMKKworLS0tCisgcXR3ZWJlbmdpbmUvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxm X2NvcmVfZHVtcC5oIHwgMSArCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY29tbW9uL2xpbnV4L2VsZl9jb3JlX2R1bXAuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2Nv cmVfZHVtcC5oCitAQCAtMzcsNiArMzcsOSBAQAorICNpbmNsdWRlIDxsaW1pdHMuaD4KKyAjaW5j bHVkZSA8bGluay5oPgorICNpbmNsdWRlIDxzdGRkZWYuaD4KKysjaWZuZGVmIF9fR0xJQkNfXwor KyNpbmNsdWRlIDxzeXMvcmVnLmg+CisrI2VuZGlmCisgCisgI2luY2x1ZGUgImNvbW1vbi9tZW1v cnlfcmFuZ2UuaCIKKyAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzAyMDEtY2hyb21pdW0tbXVzbC1kaXNwYXRjaC10by1tdXNsLnBhdGNoIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDIwMS1jaHJvbWl1bS1tdXNsLWRpc3BhdGNoLXRvLW11c2wucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNThhNjg4YTRiNTUK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjAxLWNo cm9taXVtLW11c2wtZGlzcGF0Y2gtdG8tbXVzbC5wYXRjaApAQCAtMCwwICsxLDEwMyBAQAorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvYWxsb2NhdG9yL2FsbG9jYXRvcl9zaGltX2Rl ZmF1bHRfZGlzcGF0Y2hfdG9fZ2xpYmMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9i YXNlL2FsbG9jYXRvci9hbGxvY2F0b3Jfc2hpbV9kZWZhdWx0X2Rpc3BhdGNoX3RvX2dsaWJjLmNj CitAQCAtOCw2ICs4LDcgQEAKKyAjaW5jbHVkZSA8ZGxmY24uaD4KKyAjaW5jbHVkZSA8bWFsbG9j Lmg+CisgCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorIC8vIFRoaXMgdHJhbnNsYXRpb24gdW5p dCBkZWZpbmVzIGEgZGVmYXVsdCBkaXNwYXRjaCBmb3IgdGhlIGFsbG9jYXRvciBzaGltIHdoaWNo CisgLy8gcm91dGVzIGFsbG9jYXRpb25zIHRvIGxpYmMgZnVuY3Rpb25zLgorIC8vIFRoZSBjb2Rl IGhlcmUgaXMgc3Ryb25nbHkgaW5zcGlyZWQgZnJvbSB0Y21hbGxvYydzIGxpYmNfb3ZlcnJpZGVf Z2xpYmMuaC4KK0BAIC04NywzICs4OCw5MiBAQCBjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCBBbGxv Y2F0b3JEaXNwYXRjCisgICAgIG51bGxwdHIsICAgICAgICAgICAgICAgLyogYWxpZ25lZF9mcmVl X2Z1bmN0aW9uICovCisgICAgIG51bGxwdHIsICAgICAgICAgICAgICAgLyogbmV4dCAqLworIH07 CisrCisrI2Vsc2UgLy8gZGVmaW5lZChfX0dMSUJDX18pCisrCisrI2luY2x1ZGUgPGRsZmNuLmg+ CisrCisrZXh0ZXJuICJDIiB7CisrLy8gRGVjbGFyZSBmdW5jdGlvbiBwb2ludGVycyB0byB0aGUg bWVtb3J5IGZ1bmN0aW9ucworK3R5cGVkZWYgdm9pZCogKCp0X2xpYmNfbWFsbG9jKShzaXplX3Qg c2l6ZSk7CisrdHlwZWRlZiB2b2lkKiAoKnRfbGliY19jYWxsb2MpKHNpemVfdCBuLCBzaXplX3Qg c2l6ZSk7CisrdHlwZWRlZiB2b2lkKiAoKnRfbGliY19yZWFsbG9jKSh2b2lkKiBhZGRyZXNzLCBz aXplX3Qgc2l6ZSk7CisrdHlwZWRlZiB2b2lkKiAoKnRfbGliY19tZW1hbGlnbikoc2l6ZV90IGFs aWdubWVudCwgc2l6ZV90IHNpemUpOworK3R5cGVkZWYgdm9pZCAoKnRfbGliY19mcmVlKSh2b2lk KiBwdHIpOworK3R5cGVkZWYgc2l6ZV90ICgqdF9saWJjX21hbGxvY191c2FibGVfc2l6ZSkodm9p ZCogcHRyKTsKKysKKysvLyBTdGF0aWMgaW5zdGFuY2VzIG9mIHBvaW50ZXJzIHRvIGxpYmMuc28g ZGwgc3ltYm9scworK3N0YXRpYyB0X2xpYmNfbWFsbG9jIGxpYmNfbWFsbG9jID0gTlVMTDsKKytz dGF0aWMgdF9saWJjX2NhbGxvYyBsaWJjX2NhbGxvYyA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19y ZWFsbG9jIGxpYmNfcmVhbGxvYyA9IE5VTEw7Cisrc3RhdGljIHRfbGliY19tZW1hbGlnbiBsaWJj X21lbWFsaWduID0gTlVMTDsKKytzdGF0aWMgdF9saWJjX2ZyZWUgbGliY19mcmVlID0gTlVMTDsK KytzdGF0aWMgdF9saWJjX21hbGxvY191c2FibGVfc2l6ZSBsaWJjX21hbGxvY191c2FibGVfc2l6 ZSA9IE5VTEw7CisrCisrLy8gcmVzb2x2ZSB0aGUgc3ltYm9scyBpbiBsaWJjLnNvCisrdm9pZCBt dXNsX2xpYmNfbWVtb3J5X2luaXQodm9pZCkKKyt7CisrICBsaWJjX21hbGxvYyA9ICh0X2xpYmNf bWFsbG9jKSBkbHN5bShSVExEX05FWFQsICJtYWxsb2MiKTsKKysgIGxpYmNfY2FsbG9jID0gKHRf bGliY19jYWxsb2MpIGRsc3ltKFJUTERfTkVYVCwgImNhbGxvYyIpOworKyAgbGliY19yZWFsbG9j ID0gKHRfbGliY19yZWFsbG9jKSBkbHN5bShSVExEX05FWFQsICJyZWFsbG9jIik7CisrICBsaWJj X21lbWFsaWduID0gKHRfbGliY19tZW1hbGlnbikgZGxzeW0oUlRMRF9ORVhULCAibWVtYWxpZ24i KTsKKysgIGxpYmNfZnJlZSA9ICh0X2xpYmNfZnJlZSkgZGxzeW0oUlRMRF9ORVhULCAiZnJlZSIp OworKyAgbGliY19tYWxsb2NfdXNhYmxlX3NpemUgPSAodF9saWJjX21hbGxvY191c2FibGVfc2l6 ZSkgZGxzeW0oUlRMRF9ORVhULCAibWFsbG9jX3VzYWJsZV9zaXplIik7CisrfQorK30gIC8vIGV4 dGVybiAiQyIKKysKKytuYW1lc3BhY2UgeworKworK3VzaW5nIGJhc2U6OmFsbG9jYXRvcjo6QWxs b2NhdG9yRGlzcGF0Y2g7CisrCisrdm9pZCogTXVzbE1hbGxvYyhjb25zdCBBbGxvY2F0b3JEaXNw YXRjaCosIHNpemVfdCBzaXplLCB2b2lkKiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNfbWFsbG9j KQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgIHJldHVybiAoKmxpYmNfbWFsbG9j KShzaXplKTsKKyt9CisrCisrdm9pZCogTXVzbENhbGxvYyhjb25zdCBBbGxvY2F0b3JEaXNwYXRj aCosIHNpemVfdCBuLCBzaXplX3Qgc2l6ZSwgdm9pZCogY29udGV4dCkgeworKyAgaWYgKCFsaWJj X2NhbGxvYykKKysgICAgbXVzbF9saWJjX21lbW9yeV9pbml0KCk7CisrICByZXR1cm4gKCpsaWJj X2NhbGxvYykobiwgc2l6ZSk7CisrfQorKworK3ZvaWQqIE11c2xSZWFsbG9jKGNvbnN0IEFsbG9j YXRvckRpc3BhdGNoKiwgdm9pZCogYWRkcmVzcywgc2l6ZV90IHNpemUsIHZvaWQqIGNvbnRleHQp IHsKKysgIGlmICghbGliY19yZWFsbG9jKQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsK KysgIHJldHVybiAoKmxpYmNfcmVhbGxvYykoYWRkcmVzcywgc2l6ZSk7CisrfQorKworK3ZvaWQq IE11c2xNZW1hbGlnbihjb25zdCBBbGxvY2F0b3JEaXNwYXRjaCosIHNpemVfdCBhbGlnbm1lbnQs IHNpemVfdCBzaXplLCB2b2lkKiBjb250ZXh0KSB7CisrICBpZiAoIWxpYmNfbWVtYWxpZ24pCisr ICAgIG11c2xfbGliY19tZW1vcnlfaW5pdCgpOworKyAgcmV0dXJuICgqbGliY19tZW1hbGlnbiko YWxpZ25tZW50LCBzaXplKTsKKyt9CisrCisrdm9pZCBNdXNsRnJlZShjb25zdCBBbGxvY2F0b3JE aXNwYXRjaCosIHZvaWQqIGFkZHJlc3MsIHZvaWQqIGNvbnRleHQpIHsKKysgIGlmICghbGliY19m cmVlKQorKyAgICBtdXNsX2xpYmNfbWVtb3J5X2luaXQoKTsKKysgICgqbGliY19mcmVlKShhZGRy ZXNzKTsKKyt9CisrCisrc2l6ZV90IE11c2xHZXRTaXplRXN0aW1hdGUoY29uc3QgQWxsb2NhdG9y RGlzcGF0Y2gqLCB2b2lkKiBhZGRyZXNzLCB2b2lkKiBjb250ZXh0KSB7CisrICAvLyBUT0RPKHNp Z2dpLCBwcmltaWFubyk6IG1hbGxvY191c2FibGVfc2l6ZSBtYXkgbmVlZCByZWRpcmVjdGlvbiBp biB0aGUKKysgIC8vICAgICBwcmVzZW5jZSBvZiBpbnRlcnBvc2luZyBzaGltcyB0aGF0IGRpdmVy dCBhbGxvY2F0aW9ucy4KKysgIGlmICghbGliY19tYWxsb2NfdXNhYmxlX3NpemUpCisrICAgIG11 c2xfbGliY19tZW1vcnlfaW5pdCgpOworKyAgcmV0dXJuICgqbGliY19tYWxsb2NfdXNhYmxlX3Np emUpKGFkZHJlc3MpOworK30KKysKKyt9ICAvLyBuYW1lc3BhY2UKKysKKytjb25zdCBBbGxvY2F0 b3JEaXNwYXRjaCBBbGxvY2F0b3JEaXNwYXRjaDo6ZGVmYXVsdF9kaXNwYXRjaCA9IHsKKysgICAg Jk11c2xNYWxsb2MsICAgICAgICAgICAvKiBhbGxvY19mdW5jdGlvbiAqLworKyAgICAmTXVzbENh bGxvYywgICAgICAgICAgIC8qIGFsbG9jX3plcm9faW5pdGlhbGl6ZWRfZnVuY3Rpb24gKi8KKysg ICAgJk11c2xNZW1hbGlnbiwgICAgICAgICAvKiBhbGxvY19hbGlnbmVkX2Z1bmN0aW9uICovCisr ICAgICZNdXNsUmVhbGxvYywgICAgICAgICAgLyogcmVhbGxvY19mdW5jdGlvbiAqLworKyAgICAm TXVzbEZyZWUsICAgICAgICAgICAgIC8qIGZyZWVfZnVuY3Rpb24gKi8KKysgICAgJk11c2xHZXRT aXplRXN0aW1hdGUsICAvKiBnZXRfc2l6ZV9lc3RpbWF0ZV9mdW5jdGlvbiAqLworKyAgICBudWxs cHRyLCAgICAgICAgICAgICAgIC8qIG5leHQgKi8KKyt9OworKworKyNlbmRpZgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMi1jaHJvbWl1bS1tdXNsLW5vLW1h bGxpbmZvLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMi1jaHJvbWl1 bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMC4uYTViZGI1YTQzYTVmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDIwMi1jaHJvbWl1bS1tdXNsLW5vLW1hbGxpbmZvLnBhdGNoCkBAIC0w LDAgKzEsNjIgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3Byb2Nlc3MvcHJv Y2Vzc19tZXRyaWNzX3Bvc2l4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9w cm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYworQEAgLTEwNSw3ICsxMDUsNyBAQCB2b2lk IEluY3JlYXNlRmRMaW1pdFRvKHVuc2lnbmVkIGludCBtYXhfCisgCisgI2VuZGlmICAvLyAhZGVm aW5lZChPU19GVUNIU0lBKQorIAorLSNpZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9T X0NIUk9NRU9TKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpCisrI2lmIChkZWZpbmVkKE9TX0xJTlVY KSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmlu ZWQoT1NfQU5EUk9JRCkKKyBuYW1lc3BhY2UgeworIAorIHNpemVfdCBHZXRNYWxsb2NVc2FnZU1h bGxpbmZvKCkgeworQEAgLTEyNywxNiArMTI3LDE2IEBAIHNpemVfdCBHZXRNYWxsb2NVc2FnZU1h bGxpbmZvKCkgeworIH0KKyAKKyB9ICAvLyBuYW1lc3BhY2UKKy0jZW5kaWYgIC8vIGRlZmluZWQo T1NfTElOVVgpIHx8IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkK KysjZW5kaWYgIC8vIChkZWZpbmVkKE9TX0xJTlVYKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykpIHx8 IGRlZmluZWQoT1NfQ0hST01FT1MpIHx8IGRlZmluZWQoT1NfQU5EUk9JRCkKKyAKKyBzaXplX3Qg UHJvY2Vzc01ldHJpY3M6OkdldE1hbGxvY1VzYWdlKCkgeworICNpZiBkZWZpbmVkKE9TX0FQUExF KQorICAgbWFsbG9jX3N0YXRpc3RpY3NfdCBzdGF0cyA9IHswfTsKKyAgIG1hbGxvY196b25lX3N0 YXRpc3RpY3MobnVsbHB0ciwgJnN0YXRzKTsKKyAgIHJldHVybiBzdGF0cy5zaXplX2luX3VzZTsK Ky0jZWxpZiBkZWZpbmVkKE9TX0xJTlVYKSB8fCBkZWZpbmVkKE9TX0NIUk9NRU9TKSB8fCBkZWZp bmVkKE9TX0FORFJPSUQpCisrI2VsaWYgKGRlZmluZWQoT1NfTElOVVgpICYmIGRlZmluZWQoX19H TElCQ19fKSkgfHwgZGVmaW5lZChPU19DSFJPTUVPUykgfHwgZGVmaW5lZChPU19BTkRST0lEKQor ICAgcmV0dXJuIEdldE1hbGxvY1VzYWdlTWFsbGluZm8oKTsKKy0jZWxpZiBkZWZpbmVkKE9TX0ZV Q0hTSUEpCisrI2Vsc2UKKyAgIC8vIFRPRE8oZnVjaHNpYSk6IE5vdCBjdXJyZW50bHkgZXhwb3Nl ZC4gaHR0cHM6Ly9jcmJ1Zy5jb20vNzM1MDg3LgorICAgcmV0dXJuIDA7CisgI2VuZGlmCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93 L2xpdGUvcHJvZmlsaW5nL21lbW9yeV9pbmZvLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUvcHJvZmlsaW5nL21lbW9y eV9pbmZvLmNjCitAQCAtMjcsNyArMjcsNyBAQCBuYW1lc3BhY2UgbWVtb3J5IHsKKyBjb25zdCBp bnQgTWVtb3J5VXNhZ2U6OmtWYWx1ZU5vdFNldCA9IDA7CisgCisgYm9vbCBNZW1vcnlVc2FnZTo6 SXNTdXBwb3J0ZWQoKSB7CistI2lmZGVmIF9fbGludXhfXworKyNpZmRlZiBfX0dMSUJDX18KKyAg IHJldHVybiB0cnVlOworICNlbmRpZgorICAgcmV0dXJuIGZhbHNlOworQEAgLTM1LDcgKzM1LDcg QEAgYm9vbCBNZW1vcnlVc2FnZTo6SXNTdXBwb3J0ZWQoKSB7CisgCisgTWVtb3J5VXNhZ2UgR2V0 TWVtb3J5VXNhZ2UoKSB7CisgICBNZW1vcnlVc2FnZSByZXN1bHQ7CistI2lmZGVmIF9fbGludXhf XworKyNpZmRlZiBfX0dMSUJDX18KKyAgIHJ1c2FnZSByZXM7CisgICBpZiAoZ2V0cnVzYWdlKFJV U0FHRV9TRUxGLCAmcmVzKSA9PSAwKSB7CisgICAgIHJlc3VsdC5tYXhfcnNzX2tiID0gcmVzLnJ1 X21heHJzczsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3RyYWNlX2V2ZW50L21h bGxvY19kdW1wX3Byb3ZpZGVyLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS90 cmFjZV9ldmVudC9tYWxsb2NfZHVtcF9wcm92aWRlci5jYworQEAgLTIxMyw3ICsyMTMsNyBAQCBi b29sIE1hbGxvY0R1bXBQcm92aWRlcjo6T25NZW1vcnlEdW1wKGNvCisgICAgICAgICAgICAgICAg ICAgICAgJmFsbG9jYXRlZF9vYmplY3RzX2NvdW50KTsKKyAjZWxpZiBkZWZpbmVkKE9TX0ZVQ0hT SUEpCisgLy8gVE9ETyhmdWNoc2lhKTogUG9ydCwgc2VlIGh0dHBzOi8vY3JidWcuY29tLzcwNjU5 Mi4KKy0jZWxzZQorKyNlbGlmIGRlZmluZWQoX19HTElCQ19fKQorICNpZiBkZWZpbmVkKF9fR0xJ QkNfXykgJiYgZGVmaW5lZChfX0dMSUJDX1BSRVJFUSkKKyAjaWYgX19HTElCQ19QUkVSRVEoMiwg MzMpCisgI2RlZmluZSBNQUxMSU5GTzJfRk9VTkRfSU5fTElCQwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMy1jaHJvbWl1bS1tdXNsLXNpZ2luZm9fdC5wYXRj aCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDMtY2hyb21pdW0tbXVzbC1zaWdp bmZvX3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40M2Vm N2ZkN2M1ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjAzLWNocm9taXVtLW11c2wtc2lnaW5mb190LnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1Ro ZXJlJ3MgYSBzdWJ0bGUgZGlmZmVyZW5jZSBpbiB0aGUgaW50ZXJuYWwgbmFtZSBvZiBzaWdpbmZv X3QgZmllbGRzCitiZXR3ZWVuIGdsaWJjIGFuZCBtdXNsLiBUaGUgc3RydWN0dXJlIGl0c2VsZiBp cyBlcXVpdmFsZW50LCBzbyBpdAorc2hvdWxkIHN1ZmZpY2UgdG8gYWRkIGEgbWFjcm8gdG8gcmVu YW1lIHRoZSBmaWVsZC4KKworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYvdHJhcC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYworQEAgLTE3NCw3ICsxNzQsMTEgQEAgdm9pZCBU cmFwOjpTaWdTeXMoaW50IG5yLCBMaW51eFNpZ0luZm8qCisgICAvLyBJZiB0aGUgdmVyc2lvbiBv ZiBnbGliYyBkb2Vzbid0IGluY2x1ZGUgdGhpcyBpbmZvcm1hdGlvbiBpbgorICAgLy8gc2lnaW5m b190IChvbGRlciB0aGFuIDIuMTcpLCB3ZSBuZWVkIHRvIGV4cGxpY2l0bHkgY29weSBpdAorICAg Ly8gaW50byBhbiBhcmNoX3NpZ3N5cyBzdHJ1Y3R1cmUuCisrI2lmIGRlZmluZWQoX19HTElCQ19f KQorICAgbWVtY3B5KCZzaWdzeXMsICZpbmZvLT5fc2lmaWVsZHMsIHNpemVvZihzaWdzeXMpKTsK KysjZWxzZQorKyAgbWVtY3B5KCZzaWdzeXMsICZpbmZvLT5fX3NpX2ZpZWxkcywgc2l6ZW9mKHNp Z3N5cykpOworKyNlbmRpZgorICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9fbWlwc19fKQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNC1jaHJvbWl1bS1tdXNs LXN0YWNrc3RhcnQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA0LWNo cm9taXVtLW11c2wtc3RhY2tzdGFydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLmIwM2NmNDNiODZkYgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDQtY2hyb21pdW0tbXVzbC1zdGFja3N0YXJ0LnBhdGNoCkBA IC0wLDAgKzEsMjAgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvc3RhY2tfdXRpbC5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFj a191dGlsLmNjCitAQCAtMjksNyArMjksNyBAQCBzaXplX3QgR2V0VW5kZXJlc3RpbWF0ZWRTdGFj a1NpemUoKSB7CisgLy8gRklYTUU6IE9uIE1hYyBPU1ggYW5kIExpbnV4LCB0aGlzIG1ldGhvZCBj YW5ub3QgZXN0aW1hdGUgc3RhY2sgc2l6ZQorIC8vIGNvcnJlY3RseSBmb3IgdGhlIG1haW4gdGhy ZWFkLgorIAorLSNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKE9TX0FORFJPSUQp IHx8IGRlZmluZWQoT1NfRlJFRUJTRCkgfHwgXAorKyNlbGlmIGRlZmluZWQoT1NfTElOVVgpIHx8 IGRlZmluZWQoT1NfQU5EUk9JRCkgfHwgZGVmaW5lZChPU19GUkVFQlNEKSB8fCBcCisgICAgIGRl ZmluZWQoT1NfRlVDSFNJQSkKKyAgIC8vIHB0aHJlYWRfZ2V0YXR0cl9ucCgpIGNhbiBmYWlsIGlm IHRoZSB0aHJlYWQgaXMgbm90IGludm9rZWQgYnkKKyAgIC8vIHB0aHJlYWRfY3JlYXRlKCkgKGUu Zy4sIHRoZSBtYWluIHRocmVhZCBvZiBibGlua191bml0dGVzdHMpLgorQEAgLTk3LDcgKzk3LDcg QEAgcmV0dXJuIFRocmVhZGluZzo6VGhyZWFkU3RhY2tTaXplKCk7CisgfQorIAorIHZvaWQqIEdl dFN0YWNrU3RhcnQoKSB7CistI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBkZWZpbmVkKE9TX0FO RFJPSUQpIHx8IGRlZmluZWQoT1NfRlJFRUJTRCkgfHwgXAorKyNpZiBkZWZpbmVkKE9TX0xJTlVY KSB8fCBkZWZpbmVkKE9TX0FORFJPSUQpIHx8IGRlZmluZWQoT1NfRlJFRUJTRCkgfHwgXAorICAg ICBkZWZpbmVkKE9TX0ZVQ0hTSUEpCisgICBwdGhyZWFkX2F0dHJfdCBhdHRyOworICAgaW50IGVy cm9yOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwNS1jaHJv bWl1bS1tdXNsLXNhbmRib3gucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MjA1LWNocm9taXVtLW11c2wtc2FuZGJveC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjc3MmE1NzhmZDgyMwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDUtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoCkBA IC0wLDAgKzEsOTIgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYwor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCitAQCAtMTM4LDcgKzEzOCw3 IEBAIG5hbWVzcGFjZSBzYW5kYm94IHsKKyAvLyBwcmVzZW50IChhcyBpbiBuZXdlciB2ZXJzaW9u cyBvZiBwb3NpeF9zcGF3bikuCisgUmVzdWx0RXhwciBSZXN0cmljdENsb25lVG9UaHJlYWRzQW5k RVBFUk1Gb3JrKCkgeworICAgY29uc3QgQXJnPHVuc2lnbmVkIGxvbmc+IGZsYWdzKDApOworLQor KyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIC8vIFRPRE8obWRlbXBza3kpOiBFeHRlbmQgRFNM IHRvIHN1cHBvcnQgKGZsYWdzICYgfm1hc2sxKSA9PSBtYXNrMi4KKyAgIGNvbnN0IHVpbnQ2NF90 IGtBbmRyb2lkQ2xvbmVNYXNrID0gQ0xPTkVfVk0gfCBDTE9ORV9GUyB8IENMT05FX0ZJTEVTIHwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ0xPTkVfU0lHSEFORCB8IENM T05FX1RIUkVBRCB8CitAQCAtMTY1LDYgKzE2NSwxNyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0Q2xv bmVUb1RocmVhZHNBbmRFUEVSCisgICByZXR1cm4gSWYoSXNBbmRyb2lkKCkgPyBhbmRyb2lkX3Rl c3QgOiBnbGliY190ZXN0LCBBbGxvdygpKQorICAgICAgIC5FbHNlSWYoaXNfZm9ya19vcl9jbG9u ZV92Zm9yaywgRXJyb3IoRVBFUk0pKQorICAgICAgIC5FbHNlKENyYXNoU0lHU1lTQ2xvbmUoKSk7 CisrI2Vsc2UKKysgIGNvbnN0IGludCByZXF1aXJlZCA9IENMT05FX1ZNIHwgQ0xPTkVfRlMgfCBD TE9ORV9GSUxFUyB8IENMT05FX1NJR0hBTkQgfAorKyAgICAgICAgICAgICAgICAgICAgICAgQ0xP TkVfVEhSRUFEIHwgQ0xPTkVfU1lTVlNFTTsKKysgIGNvbnN0IGludCBzYWZlID0gQ0xPTkVfU0VU VExTIHwgQ0xPTkVfUEFSRU5UX1NFVFRJRCB8IENMT05FX0NISUxEX0NMRUFSVElEIHwKKysgICAg ICAgICAgICAgICAgICAgQ0xPTkVfREVUQUNIRUQ7CisrICBjb25zdCBCb29sRXhwciB0aHJlYWRf Y2xvbmVfb2sgPSAoZmxhZ3MmfnNhZmUpPT1yZXF1aXJlZDsKKysKKysgIHJldHVybiBJZih0aHJl YWRfY2xvbmVfb2ssIEFsbG93KCkpCisrICAgICAgLkVsc2VJZigoZmxhZ3MgJiAoQ0xPTkVfVk0g fCBDTE9ORV9USFJFQUQpKSA9PSAwLCBFcnJvcihFUEVSTSkpCisrICAgICAgLkVsc2UoQ3Jhc2hT SUdTWVNDbG9uZSgpKTsKKysjZW5kaWYKKyB9CisgCisgI2lmbmRlZiBQUl9QQUNfUkVTRVRfS0VZ UworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9zeXNjYWxsX3NldHMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCitAQCAtNDE5LDYg KzQxOSw5IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFByb2Nlc3NTdGFydE8KKyAjaWYg ZGVmaW5lZChfX2kzODZfXykKKyAgICAgY2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlmCisrI2lm ICFkZWZpbmVkKF9fR0xJQkNfXykKKysgICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKKysj ZW5kaWYKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBfX05SX2Nsb25lOiAgLy8gU2hv dWxkIGJlIHBhcmFtZXRlci1yZXN0cmljdGVkLgorICAgICBjYXNlIF9fTlJfc2V0bnM6ICAvLyBQ cml2aWxlZ2VkLgorQEAgLTQzMSw3ICs0MzQsOSBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93 ZWRQcm9jZXNzU3RhcnRPCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKyAgICAgY2FzZSBfX05SX3NldF90aHJlYWRfYXJl YToKKyAjZW5kaWYKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICAgIGNhc2UgX19OUl9zZXRf dGlkX2FkZHJlc3M6CisrI2VuZGlmCisgICAgIGNhc2UgX19OUl91bnNoYXJlOgorICNpZiAhZGVm aW5lZChfX21pcHNfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pCisgICAgIGNhc2UgX19OUl92 Zm9yazoKK0BAIC01NDUsNiArNTUwLDkgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQWRk cmVzc1NwYWNlQQorICAgICBjYXNlIF9fTlJfbWxvY2s6CisgICAgIGNhc2UgX19OUl9tdW5sb2Nr OgorICAgICBjYXNlIF9fTlJfbXVubWFwOgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrICAg IGNhc2UgX19OUl9tcmVtYXA6CisrI2VuZGlmCisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNh c2UgX19OUl9tYWR2aXNlOgorICAgICBjYXNlIF9fTlJfbWluY29yZToKK0BAIC01NjIsNyArNTcw LDkgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkQWRkcmVzc1NwYWNlQQorICAgICBjYXNl IF9fTlJfbW9kaWZ5X2xkdDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX21wcm90ZWN0OgorKyNp ZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgICAgY2FzZSBfX05SX21yZW1hcDoKKysjZW5kaWYKKyAg ICAgY2FzZSBfX05SX21zeW5jOgorICAgICBjYXNlIF9fTlJfbXVubG9ja2FsbDoKKyAgICAgY2Fz ZSBfX05SX3JlYWRhaGVhZDoKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L3Bv bGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYworQEAgLTk3LDExICs5NywxOCBAQCBSZXN1bHRFeHByIFJlbmRlcmVyUHJvY2Vzc1BvbGlj eTo6RXZhbHVhCisgICAgIGNhc2UgX19OUl9zeXNpbmZvOgorICAgICBjYXNlIF9fTlJfdGltZXM6 CisgICAgIGNhc2UgX19OUl91bmFtZToKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyAgICBj YXNlIF9fTlJfc2NoZWRfZ2V0cGFyYW06CisrICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVs ZXI6CisrICAgIGNhc2UgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXI6CisrI2VuZGlmCisgICAgICAg cmV0dXJuIEFsbG93KCk7CisgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRhZmZpbml0eToKKysjaWYg ZGVmaW5lZChfX0dMSUJDX18pCisgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRwYXJhbToKKyAgICAg Y2FzZSBfX05SX3NjaGVkX2dldHNjaGVkdWxlcjoKKyAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNj aGVkdWxlcjoKKysjZW5kaWYKKyAgICAgICByZXR1cm4gUmVzdHJpY3RTY2hlZFRhcmdldChHZXRQ b2xpY3lQaWQoKSwgc3lzbm8pOworICAgICBjYXNlIF9fTlJfcHJsaW1pdDY0OgorICAgICAgIC8v IFNlZSBjcmJ1Zy5jb20vNjYyNDUwIGFuZCBzZXRybGltaXQgY29tbWVudCBhYm92ZS4KZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1k ZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAy MDYtY2hyb21pdW0tbXVzbC1kZWZhdWx0LXN0YWNrc2l6ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJjMDc0OTViODE0NAotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDYtY2hyb21pdW0tbXVzbC1kZWZhdWx0 LXN0YWNrc2l6ZS5wYXRjaApAQCAtMCwwICsxLDE1IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vYmFzZS90aHJlYWRpbmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNjCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS90aHJlYWRpbmcvcGxhdGZvcm1fdGhyZWFkX2xpbnV4LmNj CitAQCAtNDM5LDcgKzQzOSwxMiBAQCB2b2lkIFRlcm1pbmF0ZU9uVGhyZWFkKCkge30KKyAKKyBz aXplX3QgR2V0RGVmYXVsdFRocmVhZFN0YWNrU2l6ZShjb25zdCBwdGhyZWFkX2F0dHJfdCYgYXR0 cmlidXRlcykgeworICNpZiAhZGVmaW5lZChUSFJFQURfU0FOSVRJWkVSKQorKyNpZiBkZWZpbmVk KF9fR0xJQkNfXykKKyAgIHJldHVybiAwOworKyNlbHNlIC8vIGRlZmluZWQoX19HTElCQ19fKQor KyAgLy8gRm9yIE11c2wgbGliYyB0cnkgd2l0aCBhIGRlZmF1bHQgc3RhY2sgc2l6ZSBvZiAyIE1p QgorKyAgcmV0dXJuIDIgKiAxMDI0ICogMTAyNDsKKysjZW5kaWYgLy8gIWRlZmluZWQoX19HTElC Q19fKQorICNlbHNlCisgICAvLyBUaHJlYWRTYW5pdGl6ZXIgYmxvYXRzIHRoZSBzdGFjayBoZWF2 aWx5LiBFdmlkZW5jZSBoYXMgYmVlbiB0aGF0IHRoZQorICAgLy8gZGVmYXVsdCBzdGFjayBzaXpl IGlzbid0IGVub3VnaCBmb3Igc29tZSBicm93c2VyIHRlc3RzLgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwOC1jaHJvbWl1bS1tdXNsLWV4ZWNpbmZvLnBhdGNo IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwOC1jaHJvbWl1bS1tdXNsLWV4ZWNp bmZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOWYzYjk2 NDY3NmIzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDIwOC1jaHJvbWl1bS1tdXNsLWV4ZWNpbmZvLnBhdGNoCkBAIC0wLDAgKzEsMTI1IEBACistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZS5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2UuY2MKK0BAIC0yNTIs NyArMjUyLDkgQEAgdm9pZCBTdGFja1RyYWNlOjpQcmludCgpIGNvbnN0IHsKKyB9CisgCisgdm9p ZCBTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVhbShzdGQ6Om9zdHJlYW0qIG9zKSBjb25zdCB7Cisr I2lmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorICAgT3V0cHV0VG9TdHJl YW1XaXRoUHJlZml4KG9zLCBudWxscHRyKTsKKysjZW5kaWYKKyB9CisgCisgc3RkOjpzdHJpbmcg U3RhY2tUcmFjZTo6VG9TdHJpbmcoKSBjb25zdCB7CitAQCAtMjYwLDcgKzI2Miw3IEBAIHN0ZDo6 c3RyaW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nKCkgY29uc3QKKyB9Cisgc3RkOjpzdHJpbmcgU3Rh Y2tUcmFjZTo6VG9TdHJpbmdXaXRoUHJlZml4KGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNv bnN0IHsKKyAgIHN0ZDo6c3RyaW5nc3RyZWFtIHN0cmVhbTsKKy0jaWYgIWRlZmluZWQoX19VQ0xJ QkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZp bmVkKF9BSVgpCisgICBPdXRwdXRUb1N0cmVhbVdpdGhQcmVmaXgoJnN0cmVhbSwgcHJlZml4X3N0 cmluZyk7CisgI2VuZGlmCisgICByZXR1cm4gc3RyZWFtLnN0cigpOworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2VfcG9zaXguY2MKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2RlYnVnL3N0YWNrX3RyYWNlX3Bvc2l4LmNjCitAQCAtMjcs NyArMjcsNyBAQAorICNpZiAhZGVmaW5lZChVU0VfU1lNQk9MSVpFKQorICNpbmNsdWRlIDxjeHhh YmkuaD4KKyAjZW5kaWYKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJ WCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgI2luY2x1ZGUg PGV4ZWNpbmZvLmg+CisgI2VuZGlmCisgCitAQCAtODksNyArODksNyBAQCB2b2lkIERlbWFuZ2xl U3ltYm9scyhzdGQ6OnN0cmluZyogdGV4dCkKKyAgIC8vIE5vdGU6IGNvZGUgaW4gdGhpcyBmdW5j dGlvbiBpcyBOT1QgYXN5bmMtc2lnbmFsIHNhZmUgKHN0ZDo6c3RyaW5nIHVzZXMKKyAgIC8vIG1h bGxvYyBpbnRlcm5hbGx5KS4KKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmlu ZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBz dGQ6OnN0cmluZzo6c2l6ZV90eXBlIHNlYXJjaF9mcm9tID0gMDsKKyAgIHdoaWxlIChzZWFyY2hf ZnJvbSA8IHRleHQtPnNpemUoKSkgeworICAgICAvLyBMb29rIGZvciB0aGUgc3RhcnQgb2YgYSBt YW5nbGVkIHN5bWJvbCwgZnJvbSBzZWFyY2hfZnJvbS4KK0BAIC0xMjQsNyArMTI0LDcgQEAgdm9p ZCBEZW1hbmdsZVN5bWJvbHMoc3RkOjpzdHJpbmcqIHRleHQpCisgICAgICAgc2VhcmNoX2Zyb20g PSBtYW5nbGVkX3N0YXJ0ICsgMjsKKyAgICAgfQorICAgfQorLSNlbmRpZiAgLy8gIWRlZmluZWQo X19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjZW5kaWYgIC8vICFkZWZpbmVkKF9fR0xJ QkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyB9CisgI2VuZGlmICAvLyAhZGVmaW5lZChVU0VfU1lN Qk9MSVpFKQorIAorQEAgLTEzNiw3ICsxMzYsNyBAQCBjbGFzcyBCYWNrdHJhY2VPdXRwdXRIYW5k bGVyIHsKKyAgIHZpcnR1YWwgfkJhY2t0cmFjZU91dHB1dEhhbmRsZXIoKSA9IGRlZmF1bHQ7Cisg fTsKKyAKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYg ZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgdm9pZCBPdXRwdXRQb2ludGVy KHZvaWQqIHBvaW50ZXIsIEJhY2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKKyAgIC8v IFRoaXMgc2hvdWxkIGJlIG1vcmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVy IGluIGhleDoKKyAgIC8vIDE2IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3IuCitA QCAtMjE5LDcgKzIxOSw3IEBAIHZvaWQgUHJvY2Vzc0JhY2t0cmFjZSh2b2lkKiBjb25zdCogdHJh Y2UKKyAgIH0KKyAjZW5kaWYgIC8vIGRlZmluZWQoVVNFX1NZTUJPTElaRSkKKyB9CistI2VuZGlm ICAvLyAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNlbmRpZiAgLy8g IWRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorIAorIHZvaWQgUHJpbnRUb1N0 ZGVycihjb25zdCBjaGFyKiBvdXRwdXQpIHsKKyAgIC8vIE5PVEU6IFRoaXMgY29kZSBNVVNUIGJl IGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcworQEAgLTgzOSw3ICs4 MzksNyBAQCBzaXplX3QgQ29sbGVjdFN0YWNrVHJhY2Uodm9pZCoqIHRyYWNlLCBzCisgICAvLyBJ ZiB3ZSBkbyBub3QgaGF2ZSB1bndpbmQgdGFibGVzLCB0aGVuIHRyeSB0cmFjaW5nIHVzaW5nIGZy YW1lIHBvaW50ZXJzLgorICAgcmV0dXJuIGJhc2U6OmRlYnVnOjpUcmFjZVN0YWNrRnJhbWVQb2lu dGVycyhjb25zdF9jYXN0PGNvbnN0IHZvaWQqKj4odHJhY2UpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VudCwgMCk7CistI2VsaWYgIWRlZmluZWQo X19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykg JiYgIWRlZmluZWQoX0FJWCkKKyAgIC8vIFRob3VnaCB0aGUgYmFja3RyYWNlIEFQSSBtYW4gcGFn ZSBkb2VzIG5vdCBsaXN0IGFueSBwb3NzaWJsZSBuZWdhdGl2ZQorICAgLy8gcmV0dXJuIHZhbHVl cywgd2UgdGFrZSBubyBjaGFuY2UuCisgICByZXR1cm4gYmFzZTo6c2F0dXJhdGVkX2Nhc3Q8c2l6 ZV90PihiYWNrdHJhY2UodHJhY2UsIGNvdW50KSk7CitAQCAtODUyLDEzICs4NTIsMTMgQEAgdm9p ZCBTdGFja1RyYWNlOjpQcmludFdpdGhQcmVmaXgoY29uc3QgYworIC8vIE5PVEU6IFRoaXMgY29k ZSBNVVNUIGJlIGFzeW5jLXNpZ25hbCBzYWZlIChpdCdzIHVzZWQgYnkgaW4tcHJvY2VzcworIC8v IHN0YWNrIGR1bXBpbmcgc2lnbmFsIGhhbmRsZXIpLiBOTyBtYWxsb2Mgb3Igc3RkaW8gaXMgYWxs b3dlZCBoZXJlLgorIAorLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlY KQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKyAgIFByaW50QmFj a3RyYWNlT3V0cHV0SGFuZGxlciBoYW5kbGVyOworICAgUHJvY2Vzc0JhY2t0cmFjZSh0cmFjZV8s IGNvdW50XywgcHJlZml4X3N0cmluZywgJmhhbmRsZXIpOworICNlbmRpZgorIH0KKyAKKy0jaWYg IWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dM SUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgdm9pZCBTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVh bVdpdGhQcmVmaXgoc3RkOjpvc3RyZWFtKiBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiBwcmVmaXhfc3RyaW5nKSBjb25zdCB7CisgICBT dHJlYW1CYWNrdHJhY2VPdXRwdXRIYW5kbGVyIGhhbmRsZXIob3MpOworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL2Jhc2UvbG9nZ2luZy5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L2Jhc2UvbG9nZ2luZy5jYworQEAgLTU4Miw3ICs1ODIsNyBAQCBMb2dNZXNzYWdlOjpMb2dNZXNz YWdlKGNvbnN0IGNoYXIqIGZpbGUsCisgCisgTG9nTWVzc2FnZTo6fkxvZ01lc3NhZ2UoKSB7Cisg ICBzaXplX3Qgc3RhY2tfc3RhcnQgPSBzdHJlYW1fLnRlbGxwKCk7CistI2lmICFkZWZpbmVkKE9G RklDSUFMX0JVSUxEKSAmJiAhZGVmaW5lZChPU19OQUNMKSAmJiAhZGVmaW5lZChfX1VDTElCQ19f KSAmJiBcCisrI2lmICFkZWZpbmVkKE9GRklDSUFMX0JVSUxEKSAmJiAhZGVmaW5lZChPU19OQUNM KSAmJiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgXAorICAgICAhZGVmaW5lZChPU19BSVgpCisgICBp ZiAoc2V2ZXJpdHlfID09IExPR0dJTkdfRkFUQUwgJiYgIWJhc2U6OmRlYnVnOjpCZWluZ0RlYnVn Z2VkKCkpIHsKKyAgICAgLy8gSW5jbHVkZSBhIHN0YWNrIHRyYWNlIG9uIGEgZmF0YWwsIHVubGVz cyBhIGRlYnVnZ2VyIGlzIGF0dGFjaGVkLgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4 L3NyYy9jb2RlZ2VuL2V4dGVybmFsLXJlZmVyZW5jZS10YWJsZS5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3Y4L3NyYy9jb2RlZ2VuL2V4dGVybmFsLXJlZmVyZW5jZS10YWJsZS5jYwor QEAgLTEyLDcgKzEyLDkgQEAKKyAKKyAjaWYgZGVmaW5lZChERUJVRykgJiYgZGVmaW5lZChWOF9P U19MSU5VWCkgJiYgIWRlZmluZWQoVjhfT1NfQU5EUk9JRCkKKyAjZGVmaW5lIFNZTUJPTElaRV9G VU5DVElPTgorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4K KysjZW5kaWYKKyAKKyAjaW5jbHVkZSA8dmVjdG9yPgorIAorQEAgLTEwMyw3ICsxMDUsNyBAQCB2 b2lkIEV4dGVybmFsUmVmZXJlbmNlVGFibGU6OkluaXQoSXNvbGF0CisgfQorIAorIGNvbnN0IGNo YXIqIEV4dGVybmFsUmVmZXJlbmNlVGFibGU6OlJlc29sdmVTeW1ib2wodm9pZCogYWRkcmVzcykg eworLSNpZmRlZiBTWU1CT0xJWkVfRlVOQ1RJT04KKysjaWYgZGVmaW5lZChTWU1CT0xJWkVfRlVO Q1RJT04pICYmIGRlZmluZWQoX19HTElCQ19fKQorICAgY2hhcioqIG5hbWVzID0gYmFja3RyYWNl X3N5bWJvbHMoJmFkZHJlc3MsIDEpOworICAgY29uc3QgY2hhciogbmFtZSA9IG5hbWVzWzBdOwor ICAgLy8gVGhlIGFycmF5IG9mIG5hbWVzIGlzIG1hbGxvYydlZC4gSG93ZXZlciwgZWFjaCBuYW1l IHN0cmluZyBpcyBzdGF0aWMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMDktY2hyb21pdW0tbXVzbC10aHJlYWQtc3RhY2tzaXplLnBhdGNoIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwOS1jaHJvbWl1bS1tdXNsLXRocmVhZC1zdGFja3NpemUu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40Yjc2MGE0Mjhi MjUKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjA5 LWNocm9taXVtLW11c2wtdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaApAQCAtMCwwICsxLDIyIEBACist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vcHBhcGkvdXRpbGl0eS90aHJlYWRpbmcvc2ltcGxl X3RocmVhZC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3BwYXBpL3V0aWxpdHkvdGhy ZWFkaW5nL3NpbXBsZV90aHJlYWQuY2MKK0BAIC0xMyw3ICsxMyw3IEBAIG5hbWVzcGFjZSBwcCB7 CisgbmFtZXNwYWNlIHsKKyAKKyAvLyBVc2UgMk1CIGRlZmF1bHQgc3RhY2sgc2l6ZSBmb3IgTmF0 aXZlIENsaWVudCwgb3RoZXJ3aXNlIHVzZSBzeXN0ZW0gZGVmYXVsdC4KKy0jaWYgZGVmaW5lZChf X25hdGl2ZV9jbGllbnRfXykKKysjaWYgZGVmaW5lZChfX25hdGl2ZV9jbGllbnRfXykgfHwgIWRl ZmluZWQoX19HTElCQ19fKQorIGNvbnN0IHNpemVfdCBrRGVmYXVsdFN0YWNrU2l6ZSA9IDIgKiAx MDI0ICogMTAyNDsKKyAjZWxzZQorIGNvbnN0IHNpemVfdCBrRGVmYXVsdFN0YWNrU2l6ZSA9IDA7 CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvc3JjL2Jhc2UvcGxhdGZvcm0vcGxhdGZv cm0tcG9zaXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0 Zm9ybS9wbGF0Zm9ybS1wb3NpeC5jYworQEAgLTg4Myw3ICs4ODMsNyBAQCBib29sIFRocmVhZDo6 U3RhcnQoKSB7CisgI2lmIFY4X09TX01BQ09TWAorICAgICAvLyBEZWZhdWx0IG9uIE1hYyBPUyBY IGlzIDUxMmtCIC0tIGJ1bXAgdXAgdG8gMU1CCisgICAgIHN0YWNrX3NpemUgPSAxICogMTAyNCAq IDEwMjQ7CistI2VsaWYgVjhfT1NfQUlYCisrI2VsaWYgVjhfT1NfQUlYIHx8ICFkZWZpbmVkKF9f R0xJQkNfXykKKyAgICAgLy8gRGVmYXVsdCBvbiBBSVggaXMgOTZrQiAtLSBidW1wIHVwIHRvIDJN QgorICAgICBzdGFja19zaXplID0gMiAqIDEwMjQgKiAxMDI0OworICNlbmRpZgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMC1jaHJvbWl1bS1tdXNsLW1zZ3Zl Yy1wdXNoX2JhY2sucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEwLWNo cm9taXVtLW11c2wtbXNndmVjLXB1c2hfYmFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjkwNWRhYTIyMzcwMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTAtY2hyb21pdW0tbXVzbC1tc2d2ZWMtcHVzaF9i YWNrLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9u ZXQvc29ja2V0L3VkcF9zb2NrZXRfcG9zaXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9uZXQvc29ja2V0L3VkcF9zb2NrZXRfcG9zaXguY2MKK0BAIC0xMTYyLDcgKzExNjIsMTEgQEAg U2VuZFJlc3VsdCBVRFBTb2NrZXRQb3NpeFNlbmRlcjo6SW50ZXJuYQorICAgICBtc2dfaW92LT5w dXNoX2JhY2soe2NvbnN0X2Nhc3Q8Y2hhcio+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5sZW5n dGgoKX0pOworICAgbXNndmVjLT5yZXNlcnZlKGJ1ZmZlcnMuc2l6ZSgpKTsKKyAgIGZvciAoc2l6 ZV90IGogPSAwOyBqIDwgYnVmZmVycy5zaXplKCk7IGorKykKKysjaWYgZGVmaW5lZChfX0dMSUJD X18pCisgICAgIG1zZ3ZlYy0+cHVzaF9iYWNrKHt7bnVsbHB0ciwgMCwgJm1zZ19pb3Zbal0sIDEs IG51bGxwdHIsIDAsIDB9LCAwfSk7CisrI2Vsc2UKKysgICAgbXNndmVjLT5wdXNoX2JhY2soe3tu dWxscHRyLCAwLCAmbXNnX2lvdltqXSwgMSwgMCwgMCwgMH0sIDB9KTsKKysjZW5kaWYKKyAgIGlu dCByZXN1bHQgPSBIQU5ETEVfRUlOVFIoU2VuZG1tc2coZmQsICZtc2d2ZWNbMF0sIGJ1ZmZlcnMu c2l6ZSgpLCAwKSk7CisgICBTZW5kUmVzdWx0IHNlbmRfcmVzdWx0KDAsIDAsIHN0ZDo6bW92ZShi dWZmZXJzKSk7CisgICBpZiAocmVzdWx0IDwgMCkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDIxMS1jaHJvbWl1bS1tdXNsLWNhbm9uaWNhbGl6ZS1maWxlLW5h bWUtbXVzbC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTEtY2hyb21p dW0tbXVzbC1jYW5vbmljYWxpemUtZmlsZS1uYW1lLW11c2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNDNlNmJkNDg4YmMKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjExLWNocm9taXVtLW11c2wtY2Fub25p Y2FsaXplLWZpbGUtbmFtZS1tdXNsLnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9uYXNtL25hc21saWIvcmVhbHBhdGguYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25hc20vbmFzbWxpYi9yZWFscGF0 aC5jCitAQCAtNTUsNyArNTUsNyBAQAorICAqLworIGNoYXIgKm5hc21fcmVhbHBhdGgoY29uc3Qg Y2hhciAqcmVsX3BhdGgpCisgeworLSAgICBjaGFyICpycCA9IGNhbm9uaWNhbGl6ZV9maWxlX25h bWUocmVsX3BhdGgpOworKyAgICBjaGFyICpycCA9IHJlYWxwYXRoKHJlbF9wYXRoLCBOVUxMKTsK KyAgICAgcmV0dXJuIHJwID8gcnAgOiBuYXNtX3N0cmR1cChyZWxfcGF0aCk7CisgfQorIApkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMi1jaHJvbWl1bS1tdXNs LW5vLWdldGNvbnRleHQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjEy LWNocm9taXVtLW11c2wtbm8tZ2V0Y29udGV4dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLjU3NTVmMWI0NWE3ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTItY2hyb21pdW0tbXVzbC1uby1nZXRjb250ZXh0 LnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0 aW9uX2hhbmRsZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRs ZXIuY2MKK0BAIC00ODksOCArNDg5LDEwIEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6U2ltdWxh dGVTaWduYWxEZWwKKyAgIC8vIEV4Y2VwdGlvbkhhbmRsZXI6OkhhbmRsZVNpZ25hbCgpLgorICAg c2lnaW5mby5zaV9jb2RlID0gU0lfVVNFUjsKKyAgIHNpZ2luZm8uc2lfcGlkID0gZ2V0cGlkKCk7 CistICB1Y29udGV4dF90IGNvbnRleHQ7CisrICB1Y29udGV4dF90IGNvbnRleHQgPSB7IDAgfTsK KysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICBnZXRjb250ZXh0KCZjb250ZXh0KTsKKysjZW5k aWYKKyAgIHJldHVybiBIYW5kbGVTaWduYWwoc2lnLCAmc2lnaW5mbywgJmNvbnRleHQpOworIH0K KyAKK0BAIC02NzUsOSArNjc3LDE0IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5p ZHVtcCgpIHsKKyAgIHN5c19wcmN0bChQUl9TRVRfRFVNUEFCTEUsIDEsIDAsIDAsIDApOworIAor ICAgQ3Jhc2hDb250ZXh0IGNvbnRleHQ7CisrCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAg aW50IGdldGNvbnRleHRfcmVzdWx0ID0gZ2V0Y29udGV4dCgmY29udGV4dC5jb250ZXh0KTsKKyAg IGlmIChnZXRjb250ZXh0X3Jlc3VsdCkKKyAgICAgcmV0dXJuIGZhbHNlOworKyNlbHNlCisrICBy ZXR1cm4gZmFsc2U7CisrI2VuZGlmCisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pCisgICAvLyBJ biBDUFVGaWxsRnJvbVVDb250ZXh0IGluIG1pbmlkdW1wd3JpdGVyLmNjIHRoZSBzdGFjayBwb2lu dGVyIGlzIHJldHJpZXZlZApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIxMy1jaHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1tdXNsLWNyYXNocGFkLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzFiYmFkMmFmMTdlCi0tLSAvZGV2L251bGwK KysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxMy1jaHJvbWl1bS1tdXNsLWNy YXNocGFkLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3B0cmFjZS5o CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvY29tcGF0L2xpbnV4L3N5cy9wdHJhY2UuaAorQEAgLTE3LDcgKzE3LDkgQEAKKyAKKyAjaW5j bHVkZV9uZXh0IDxzeXMvcHRyYWNlLmg+CisgCisrI2lmZGVmIF9fR0xJQkNfXworICNpbmNsdWRl IDxzeXMvY2RlZnMuaD4KKysjZW5kaWYKKyAKKyAvLyBodHRwczovL3NvdXJjZXdhcmUub3JnL2J1 Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMjQzMworICNpZiAhZGVmaW5lZChQVFJBQ0VfR0VUX1RI UkVBRF9BUkVBKSAmJiAhZGVmaW5lZChQVF9HRVRfVEhSRUFEX0FSRUEpICYmIFwKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xp bnV4L3B0cmFjZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKK0BAIC0yNiw2ICsyNiw5IEBA CisgCisgI2lmIGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkKKyAjaW5jbHVkZSA8YXNtL2xk dC5oPgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrI2luY2x1ZGUgPGFzbS9wdHJhY2UtYWJp Lmg+CisrI2VuZGlmCisgI2VuZGlmCisgCisgbmFtZXNwYWNlIGNyYXNocGFkIHsKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTQtY2hyb21pdW0tbXVzbC1maXhl cy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTQtY2hyb21pdW0tbXVz bC1maXhlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjU1 YjI2N2VkMTcxNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAyMTQtY2hyb21pdW0tbXVzbC1maXhlcy5wYXRjaApAQCAtMCwwICsxLDEwOCBAQAorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3VpZC9wcm9jZXNzX3V0aWwu aAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc3VpZC9wcm9jZXNz X3V0aWwuaAorQEAgLTEyLDYgKzEyLDE1IEBACisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNs dWRlIDxzeXMvdHlwZXMuaD4KKyAKKysjaWYgIWRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5l ZChURU1QX0ZBSUxVUkVfUkVUUlkpCisrIyBkZWZpbmUgVEVNUF9GQUlMVVJFX1JFVFJZKGV4cHJl c3Npb24pIFwKKysJKF9fZXh0ZW5zaW9uX18JCQlcCisrCSAoeyBsb25nIGludCBfX3Jlc3VsdDsJ CVwKKysJICBkbyBfX3Jlc3VsdCA9IChsb25nIGludCkgKGV4cHJlc3Npb24pOyBcCisrCSAgd2hp bGUgKF9fcmVzdWx0ID09IC0xTCAmJiBlcnJubyA9PSBFSU5UUik7IFwKKysJICBfX3Jlc3VsdDsg fSkpCisrI2VuZGlmCisrCisgLy8gVGhpcyBhZGp1c3RzIC9wcm9jL3Byb2Nlc3Mvb29tX3Njb3Jl X2FkaiBzbyB0aGUgTGludXggT09NIGtpbGxlcgorIC8vIHdpbGwgcHJlZmVyIGNlcnRhaW4gcHJv Y2VzcyB0eXBlcyBvdmVyIG90aGVycy4gVGhlIHJhbmdlIGZvciB0aGUKKyAvLyBhZGp1c3RtZW50 IGlzIFstMTAwMCwgMTAwMF0sIHdpdGggWzAsIDEwMDBdIGJlaW5nIHVzZXIgYWNjZXNzaWJsZS4K Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zZXJ2aWNlcy9kZXZpY2Uvc2VyaWFsL3Nlcmlh bF9pb19oYW5kbGVyX3Bvc2l4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Vydmlj ZXMvZGV2aWNlL3NlcmlhbC9zZXJpYWxfaW9faGFuZGxlcl9wb3NpeC5jYworQEAgLTYsNiArNiw3 IEBACisgCisgI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorICNpbmNsdWRlIDx0ZXJtaW9zLmg+Cisr I2luY2x1ZGUgPGFzbS1nZW5lcmljL2lvY3Rscy5oPgorIAorICNpbmNsdWRlIDxhbGdvcml0aG0+ CisgI2luY2x1ZGUgPHV0aWxpdHk+CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21t b24vdWNvbnRleHRfcmVhZGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1v bi91Y29udGV4dF9yZWFkZXIuaAorQEAgLTM4LDYgKzM4LDEwIEBACisgI2luY2x1ZGUgImNvbW1v bi9tZW1vcnlfYWxsb2NhdG9yLmgiCisgI2luY2x1ZGUgImdvb2dsZV9icmVha3BhZC9jb21tb24v bWluaWR1bXBfZm9ybWF0LmgiCisgCisrI2lmbmRlZiBfX0dMSUJDX18KKysjZGVmaW5lIF9saWJj X2Zwc3RhdGUgX2Zwc3RhdGUKKysjZW5kaWYKKysKKyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFk IHsKKyAKKyAvLyBXcmFwcyBwbGF0Zm9ybS1kZXBlbmRlbnQgaW1wbGVtZW50YXRpb25zIG9mIGFj Y2Vzc29ycyB0byB1Y29udGV4dF90IHN0cnVjdHMuCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvZmZtcGVnL2xpYmF2dXRpbC9jcHUuYworKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2ZmbXBlZy9saWJhdnV0aWwvY3B1LmMKK0BAIC00MSw4ICs0 MSwxMCBAQAorICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyAjZW5kaWYKKyAjaW5jbHVkZSA8c3lz L3R5cGVzLmg+CisrI2lmZGVmIF9fR0xJQkNfXworICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+Cisg I2VuZGlmCisrI2VuZGlmCisgI2lmIEhBVkVfVU5JU1REX0gKKyAjaW5jbHVkZSA8dW5pc3RkLmg+ CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGVyZmV0 dG8vaW5jbHVkZS9wZXJmZXR0by9leHQvYmFzZS90aHJlYWRfdXRpbHMuaAorKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BlcmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0 L2Jhc2UvdGhyZWFkX3V0aWxzLmgKK0BAIC0yOSw5ICsyOSw3IEBACisgI2luY2x1ZGUgPGFsZ29y aXRobT4KKyAjZW5kaWYKKyAKKy0jaWYgUEVSRkVUVE9fQlVJTERGTEFHKFBFUkZFVFRPX09TX0FO RFJPSUQpCisgI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgorLSNlbmRpZgorIAorIC8vIEludGVybmFs IGltcGxlbWVudGF0aW9uIHV0aWxzIHRoYXQgYXJlbid0IGFzIHdpZGVseSB1c2VmdWwvc3VwcG9y dGVkIGFzCisgLy8gYmFzZS90aHJlYWRfdXRpbHMuaC4KK0BAIC01OCw3ICs1Niw3IEBAIGlubGlu ZSBib29sIE1heWJlU2V0VGhyZWFkTmFtZShjb25zdCBzdGQKKyAKKyBpbmxpbmUgYm9vbCBHZXRU aHJlYWROYW1lKHN0ZDo6c3RyaW5nJiBvdXRfcmVzdWx0KSB7CisgICBjaGFyIGJ1ZlsxNl0gPSB7 fTsKKy0jaWYgUEVSRkVUVE9fQlVJTERGTEFHKFBFUkZFVFRPX09TX0FORFJPSUQpCisrI2lmICFk ZWZpbmVkKF9fR0xJQkNfXykKKyAgIGlmIChwcmN0bChQUl9HRVRfTkFNRSwgYnVmKSAhPSAwKQor ICAgICByZXR1cm4gZmFsc2U7CisgI2Vsc2UKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKK0BAIC0x MzAwLDYgKzEzMDAsMTggQEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgeworICNpZm5kZWYgX19OUl9m YWxsb2NhdGUKKyAjZGVmaW5lIF9fTlJfZmFsbG9jYXRlICAgICAgICAgIDI4NQorICNlbmRpZgor KworKyNpZiAhZGVmaW5lZChfX0dMSUJDX18pCisrI2lmZGVmIF9fTlJfcHJlYWQKKysjdW5kZWYg X19OUl9wcmVhZAorKyNlbmRpZgorKyNpZmRlZiBfX05SX3B3cml0ZQorKyN1bmRlZiBfX05SX3B3 cml0ZQorKyNlbmRpZgorKyNkZWZpbmUgX19OUl9wcmVhZCBfX05SX3ByZWFkNjQKKysjZGVmaW5l IF9fTlJfcHdyaXRlIF9fTlJfcHdyaXRlNjQKKysjZW5kaWYgLyogIWRlZmluZWQoX19HTElCQ19f KSAqLworKworICNpZm5kZWYgX19OUl9nZXRyYW5kb20KKyAjZGVmaW5lIF9fTlJfZ2V0cmFuZG9t ICAgICAgICAgIDMxOAorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9k bnMvZG5zX2NvbmZpZ19zZXJ2aWNlX3Bvc2l4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vbmV0L2Rucy9kbnNfY29uZmlnX3NlcnZpY2VfcG9zaXguY2MKK0BAIC05Myw3ICs5Myw4IEBA IGFic2w6Om9wdGlvbmFsPERuc0NvbmZpZz4gUmVhZERuc0NvbmZpZygKKyAKKyAgIGFic2w6Om9w dGlvbmFsPERuc0NvbmZpZz4gZG5zX2NvbmZpZzsKKyAvLyBUT0RPKGZ1Y2hzaWEpOiBVc2UgcmVz X25pbml0KCkgd2hlbiBpdCdzIGltcGxlbWVudGVkIG9uIEZ1Y2hzaWEuCistI2lmIGRlZmluZWQo T1NfT1BFTkJTRCkgfHwgZGVmaW5lZChPU19GVUNIU0lBKQorKyNpZiBkZWZpbmVkKE9TX09QRU5C U0QpIHx8IGRlZmluZWQoT1NfRlVDSFNJQSkgfHwgXAorKyAgKGRlZmluZWQoT1NfTElOVVgpICYm ICFkZWZpbmVkKF9fR0xJQkNfXykpCisgICAvLyBOb3RlOiByZXNfbmluaXQgaW4gZ2xpYmMgYWx3 YXlzIHJldHVybnMgMCBhbmQgc2V0cyBSRVNfSU5JVC4KKyAgIC8vIHJlc19pbml0IGJlaGF2ZXMg dGhlIHNhbWUgd2F5LgorICAgbWVtc2V0KCZfcmVzLCAwLCBzaXplb2YoX3JlcykpOwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNk ZWZzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIxNS1jaHJvbWl1bS1t dXNsLWNkZWZzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4u OWQxZGFlYzI5MTE4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDIxNS1jaHJvbWl1bS1tdXNsLWNkZWZzLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJzeW5jL3NyYy9pbmNsdWRl L3N5bmMvc3luYy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGli c3luYy9zcmMvaW5jbHVkZS9zeW5jL3N5bmMuaAorQEAgLTE5LDEyICsxOSwxMyBAQAorICNpZm5k ZWYgX19TWVNfQ09SRV9TWU5DX0gKKyAjZGVmaW5lIF9fU1lTX0NPUkVfU1lOQ19ICisgCistI2lu Y2x1ZGUgPHN5cy9jZGVmcy5oPgorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKyAjaW5jbHVkZSA8 bGludXgvdHlwZXMuaD4KKyAKKy1fX0JFR0lOX0RFQ0xTCisrI2lmZGVmIF9fY3BsdXNwbHVzCisr ZXh0ZXJuICJDIiB7CisrI2VuZGlmCisgCisgc3RydWN0IHN5bmNfbGVnYWN5X21lcmdlX2RhdGEg eworICBpbnQzMl90IGZkMjsKK0BAIC0xNTgsNiArMTU5LDkgQEAgc3RydWN0IHN5bmNfcHRfaW5m byAqc3luY19wdF9pbmZvKHN0cnVjdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3Qgc3luY19wdF9pbmZvICppdHIpOworIHZvaWQgc3luY19mZW5jZV9pbmZvX2ZyZWUo c3RydWN0IHN5bmNfZmVuY2VfaW5mb19kYXRhICppbmZvKTsKKyAKKy1fX0VORF9ERUNMUworKyNp ZmRlZiBfX2NwbHVzcGx1cworK30KKysjZW5kaWYKKysKKyAKKyAjZW5kaWYgLyogX19TWVNfQ09S RV9TWU5DX0ggKi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAy MTYtY2hyb21pdW0tbXVzbC1zdGF0LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDIxNi1jaHJvbWl1bS1tdXNsLXN0YXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi40NTA5YTY5NTdjZDcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMjE2LWNocm9taXVtLW11c2wtc3RhdC5wYXRjaApAQCAt MCwwICsxLDEyIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxl LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2ZpbGVzL2ZpbGUuaAorQEAgLTE5 LDcgKzE5LDggQEAKKyAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCisgCisgI2lmIGRl ZmluZWQoT1NfQlNEKSB8fCBkZWZpbmVkKE9TX0FQUExFKSB8fCBkZWZpbmVkKE9TX05BQ0wpIHx8 IFwKKy0gICAgZGVmaW5lZChPU19GVUNIU0lBKSB8fCAoZGVmaW5lZChPU19BTkRST0lEKSAmJiBf X0FORFJPSURfQVBJX18gPCAyMSkKKysgICAgZGVmaW5lZChPU19GVUNIU0lBKSB8fCAoZGVmaW5l ZChPU19BTkRST0lEKSAmJiBfX0FORFJPSURfQVBJX18gPCAyMSkgfHwgXAorKyAgICAoZGVmaW5l ZChPU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkKKyBzdHJ1Y3Qgc3RhdDsKKyBuYW1l c3BhY2UgYmFzZSB7CisgdHlwZWRlZiBzdHJ1Y3Qgc3RhdCBzdGF0X3dyYXBwZXJfdDsKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTctY2hyb21pdW0tbXVzbC1y ZXNvbHZlci5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMTctY2hyb21p dW0tbXVzbC1yZXNvbHZlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLmMzZDdhZmFkOWIxOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAyMTctY2hyb21pdW0tbXVzbC1yZXNvbHZlci5wYXRjaApAQCAtMCwwICsx LDc3IEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNfY29uZmlnX3Nl cnZpY2VfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2Ruc19j b25maWdfc2VydmljZV9saW51eC5jYworQEAgLTQzMiwxMSArNDMyLDEzIEBAIGNsYXNzIERuc0Nv bmZpZ1NlcnZpY2VMaW51eDo6Q29uZmlnUmVhZGUKKyAgICAgYmFzZTo6U2NvcGVkQmxvY2tpbmdD YWxsIHNjb3BlZF9ibG9ja2luZ19jYWxsKAorICAgICAgICAgRlJPTV9IRVJFLCBiYXNlOjpCbG9j a2luZ1R5cGU6Ok1BWV9CTE9DSyk7CisgCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgICBz dGQ6OnVuaXF1ZV9wdHI8c3RydWN0IF9fcmVzX3N0YXRlPiByZXMgPSByZXNvbHZfcmVhZGVyXy0+ R2V0UmVzU3RhdGUoKTsKKyAgICAgaWYgKHJlcykgeworICAgICAgIGRuc19jb25maWdfID0gQ29u dmVydFJlc1N0YXRlVG9EbnNDb25maWcoKnJlcy5nZXQoKSk7CisgICAgICAgcmVzb2x2X3JlYWRl cl8tPkNsb3NlUmVzU3RhdGUocmVzLmdldCgpKTsKKyAgICAgfQorKyNlbmRpZgorIAorICAgICBV TUFfSElTVE9HUkFNX0JPT0xFQU4oIk5ldC5ETlMuRG5zQ29uZmlnLlJlc29sdi5SZWFkIiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRuc19jb25maWdfLmhhc192YWx1ZSgpKTsKK0BAIC00 ODYsNiArNDg4LDcgQEAgY2xhc3MgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpDb25maWdSZWFkZQor IAorIHN0ZDo6dW5pcXVlX3B0cjxzdHJ1Y3QgX19yZXNfc3RhdGU+CisgRG5zQ29uZmlnU2Vydmlj ZUxpbnV4OjpSZXNvbHZSZWFkZXI6OkdldFJlc1N0YXRlKCkgeworKyNpZiBkZWZpbmVkKF9fR0xJ QkNfXykKKyAgIGF1dG8gcmVzID0gc3RkOjptYWtlX3VuaXF1ZTxzdHJ1Y3QgX19yZXNfc3RhdGU+ KCk7CisgICBtZW1zZXQocmVzLmdldCgpLCAwLCBzaXplb2Yoc3RydWN0IF9fcmVzX3N0YXRlKSk7 CisgCitAQCAtNDk1LDExICs0OTgsMTYgQEAgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpSZXNvbHZS ZWFkZXI6OkdldAorICAgfQorIAorICAgcmV0dXJuIHJlczsKKysjZWxzZQorKyAgcmV0dXJuIG51 bGxwdHI7CisrI2VuZGlmCisgfQorIAorIHZvaWQgRG5zQ29uZmlnU2VydmljZUxpbnV4OjpSZXNv bHZSZWFkZXI6OkNsb3NlUmVzU3RhdGUoCisgICAgIHN0cnVjdCBfX3Jlc19zdGF0ZSogcmVzKSB7 CisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICAgcmVzX25jbG9zZShyZXMpOworKyNlbmRpZgor IH0KKyAKKyBEbnNDb25maWdTZXJ2aWNlTGludXg6OkRuc0NvbmZpZ1NlcnZpY2VMaW51eCgpCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9kbnNfcmVsb2FkZXIuY2MKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2Ruc19yZWxvYWRlci5jYworQEAgLTQsOCAr NCw3IEBACisgCisgI2luY2x1ZGUgIm5ldC9kbnMvZG5zX3JlbG9hZGVyLmgiCisgCistI2lmIGRl ZmluZWQoT1NfUE9TSVgpICYmICFkZWZpbmVkKE9TX0FQUExFKSAmJiAhZGVmaW5lZChPU19PUEVO QlNEKSAmJiBcCistICAgICFkZWZpbmVkKE9TX0FORFJPSUQpICYmICFkZWZpbmVkKE9TX0ZVQ0hT SUEpCisrI2lmZGVmIF9fR0xJQkNfXworIAorICNpbmNsdWRlIDxyZXNvbHYuaD4KKyAKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfbWFuYWdlci5jYwor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9tYW5hZ2Vy LmNjCitAQCAtMjcyMCw4ICsyNzIwLDcgQEAgSG9zdFJlc29sdmVyTWFuYWdlcjo6SG9zdFJlc29s dmVyTWFuYWdlcgorICAgTmV0d29ya0NoYW5nZU5vdGlmaWVyOjpBZGRDb25uZWN0aW9uVHlwZU9i c2VydmVyKHRoaXMpOworICAgaWYgKHN5c3RlbV9kbnNfY29uZmlnX25vdGlmaWVyXykKKyAgICAg c3lzdGVtX2Ruc19jb25maWdfbm90aWZpZXJfLT5BZGRPYnNlcnZlcih0aGlzKTsKKy0jaWYgZGVm aW5lZChPU19QT1NJWCkgJiYgIWRlZmluZWQoT1NfQVBQTEUpICYmICFkZWZpbmVkKE9TX09QRU5C U0QpICYmIFwKKy0gICAgIWRlZmluZWQoT1NfQU5EUk9JRCkKKysjaWZkZWYgX19HTElCQ19fCisg ICBFbnN1cmVEbnNSZWxvYWRlckluaXQoKTsKKyAjZW5kaWYKKyAKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfcHJvYy5jYworKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL25ldC9kbnMvaG9zdF9yZXNvbHZlcl9wcm9jLmNjCitAQCAtMTc2LDggKzE3 Niw3IEBAIGludCBTeXN0ZW1Ib3N0UmVzb2x2ZXJDYWxsKGNvbnN0IHN0ZDo6c3QKKyAgIGJhc2U6 OlNjb3BlZEJsb2NraW5nQ2FsbCBzY29wZWRfYmxvY2tpbmdfY2FsbChGUk9NX0hFUkUsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZTo6QmxvY2tp bmdUeXBlOjpXSUxMX0JMT0NLKTsKKyAKKy0jaWYgZGVmaW5lZChPU19QT1NJWCkgJiYgIWRlZmlu ZWQoT1NfQVBQTEUpICYmICFkZWZpbmVkKE9TX09QRU5CU0QpICYmIFwKKy0gICAgIWRlZmluZWQo T1NfQU5EUk9JRCkgJiYgIWRlZmluZWQoT1NfRlVDSFNJQSkKKysjaWZkZWYgX19HTElCQ19fCisg ICBEbnNSZWxvYWRlck1heWJlUmVsb2FkKCk7CisgI2VuZGlmCisgICBhYnNsOjpvcHRpb25hbDxB ZGRyZXNzSW5mbz4gYWk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wNjAwLWNocm9taXVtLXNuZGlvLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDYwMC1jaHJvbWl1bS1zbmRpby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMDAuLjAzMDI4NzRmZmJhNAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzA2MDAtY2hyb21pdW0tc25kaW8ucGF0Y2gKQEAgLTAsMCArMSw4 NzYgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9CVUlMRC5nbgorKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL0JVSUxELmduCitAQCAtNzIsNiArNzIsOSBAQCBj b25maWcoIm1lZGlhX2NvbmZpZyIpIHsKKyAgICAgICBkZWZpbmVzICs9IFsgIkRMT1BFTl9QVUxT RUFVRElPIiBdCisgICAgIH0KKyAgIH0KKysgIGlmICh1c2Vfc25kaW8pIHsKKysgICAgZGVmaW5l cyArPSBbICJVU0VfU05ESU8iIF0KKysgIH0KKyAgIGlmICh1c2VfY3JhcykgeworICAgICBkZWZp bmVzICs9IFsgIlVTRV9DUkFTIiBdCisgICB9CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0v bWVkaWEvYXVkaW8vQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9h dWRpby9CVUlMRC5nbgorQEAgLTI0MCw2ICsyNDAsMTcgQEAgc291cmNlX3NldCgiYXVkaW8iKSB7 CisgICAgIHNvdXJjZXMgKz0gWyAibGludXgvYXVkaW9fbWFuYWdlcl9saW51eC5jYyIgXQorICAg fQorIAorKyAgaWYgKHVzZV9zbmRpbykgeworKyAgICBsaWJzICs9IFsgInNuZGlvIiBdCisrICAg IHNvdXJjZXMgKz0gWworKyAgICAgICJzbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmNjIiwKKysg ICAgICAic25kaW8vc25kaW9faW5wdXQuY2MiLAorKyAgICAgICJzbmRpby9zbmRpb19pbnB1dC5o IiwKKysgICAgICAic25kaW8vc25kaW9fb3V0cHV0LmNjIiwKKysgICAgICAic25kaW8vc25kaW9f b3V0cHV0LmgiCisrICAgIF0KKysgIH0KKysKKyAgIGlmICh1c2VfYWxzYSkgeworICAgICBsaWJz ICs9IFsgImFzb3VuZCIgXQorICAgICBzb3VyY2VzICs9IFsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tZWRpYS9hdWRpby9saW51eC9hdWRpb19tYW5hZ2VyX2xpbnV4LmNjCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vbGludXgvYXVkaW9fbWFuYWdlcl9saW51 eC5jYworQEAgLTI1LDYgKzI1LDExIEBACisgI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3B1bHNlL2F1 ZGlvX21hbmFnZXJfcHVsc2UuaCIKKyAjaW5jbHVkZSAibWVkaWEvYXVkaW8vcHVsc2UvcHVsc2Vf dXRpbC5oIgorICNlbmRpZgorKyNpZiBkZWZpbmVkKFVTRV9TTkRJTykKKysjaW5jbHVkZSAibWVk aWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgorKyNpbmNsdWRlICJtZWRpYS9h dWRpby9zbmRpby9zbmRpb19pbnB1dC5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9z bmRpb19vdXRwdXQuaCIKKysjZW5kaWYKKyAKKyBuYW1lc3BhY2UgbWVkaWEgeworIAorQEAgLTMy LDcgKzM3LDggQEAgZW51bSBMaW51eEF1ZGlvSU8geworICAga1B1bHNlLAorICAga0Fsc2EsCisg ICBrQ3JhcywKKy0gIGtBdWRpb0lPTWF4ID0ga0NyYXMgIC8vIE11c3QgYWx3YXlzIGJlIGVxdWFs IHRvIGxhcmdlc3QgbG9nZ2VkIGVudHJ5LgorKyAga1NuZGlvLAorKyAga0F1ZGlvSU9NYXggPSBr U25kaW8gLy8gTXVzdCBhbHdheXMgYmUgZXF1YWwgdG8gbGFyZ2VzdCBsb2dnZWQgZW50cnkuCisg fTsKKyAKKyBzdGQ6OnVuaXF1ZV9wdHI8bWVkaWE6OkF1ZGlvTWFuYWdlcj4gQ3JlYXRlQXVkaW9N YW5hZ2VyKAorQEAgLTQ1LDYgKzUxLDE2IEBAIHN0ZDo6dW5pcXVlX3B0cjxtZWRpYTo6QXVkaW9N YW5hZ2VyPiBDcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYXVkaW9fbG9nX2ZhY3RvcnkpOworICAgfQorIAorKyNpZiBkZWZpbmVkKFVTRV9TTkRJTykK KysgIHN0cnVjdCBzaW9faGRsICpoZGwgPSBzaW9fb3BlbihTSU9fREVWQU5ZLCBTSU9fUExBWSwg MCk7CisrICBpZiAoaGRsICE9IE5VTEwpIHsKKysgICAgc2lvX2Nsb3NlKGhkbCk7CisrICAgIFVN QV9ISVNUT0dSQU1fRU5VTUVSQVRJT04oIk1lZGlhLkxpbnV4QXVkaW9JTyIsIGtTbmRpbywga0F1 ZGlvSU9NYXggKyAxKTsKKysgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8QXVkaW9NYW5hZ2Vy U25kaW8+KHN0ZDo6bW92ZShhdWRpb190aHJlYWQpLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYXVkaW9fbG9nX2ZhY3RvcnkpOworKyAgfQorKyNl bmRpZgorKworICNpZiBkZWZpbmVkKFVTRV9DUkFTKQorICAgaWYgKGJhc2U6OkNvbW1hbmRMaW5l OjpGb3JDdXJyZW50UHJvY2VzcygpLT5IYXNTd2l0Y2goc3dpdGNoZXM6OmtVc2VDcmFzKSkgewor ICAgICBVTUFfSElTVE9HUkFNX0VOVU1FUkFUSU9OKCJNZWRpYS5MaW51eEF1ZGlvSU8iLCBrQ3Jh cywga0F1ZGlvSU9NYXggKyAxKTsKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9tZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmNjCitAQCAtMCww ICsxLDE0OCBAQAorKy8vIENvcHlyaWdodCAoYykgMjAxMiBUaGUgQ2hyb21pdW0gQXV0aG9ycy4g QWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zl cm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhl IExJQ0VOU0UgZmlsZS4KKysKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFu YWdlcl9zbmRpby5oIgorKworKyNpbmNsdWRlICJiYXNlL21ldHJpY3MvaGlzdG9ncmFtX21hY3Jv cy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS9wdHJfdXRpbC5oIgorKyNpbmNsdWRlICJtZWRp YS9hdWRpby9hdWRpb19kZXZpY2VfZGVzY3JpcHRpb24uaCIKKysjaW5jbHVkZSAibWVkaWEvYXVk aW8vYXVkaW9fb3V0cHV0X2Rpc3BhdGNoZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25k aW8vc25kaW9faW5wdXQuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0 cHV0LmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvbGltaXRzLmgiCisrI2luY2x1ZGUgIm1lZGlh L2Jhc2UvbWVkaWFfc3dpdGNoZXMuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworKworKy8v IE1heGltdW0gbnVtYmVyIG9mIG91dHB1dCBzdHJlYW1zIHRoYXQgY2FuIGJlIG9wZW4gc2ltdWx0 YW5lb3VzbHkuCisrc3RhdGljIGNvbnN0IGludCBrTWF4T3V0cHV0U3RyZWFtcyA9IDQ7CisrCisr Ly8gRGVmYXVsdCBzYW1wbGUgcmF0ZSBmb3IgaW5wdXQgYW5kIG91dHB1dCBzdHJlYW1zLgorK3N0 YXRpYyBjb25zdCBpbnQga0RlZmF1bHRTYW1wbGVSYXRlID0gNDgwMDA7CisrCisrdm9pZCBBZGRE ZWZhdWx0RGV2aWNlKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9uYW1lcykgeworKyAgRENIRUNL KGRldmljZV9uYW1lcy0+ZW1wdHkoKSk7CisrICBkZXZpY2VfbmFtZXMtPnB1c2hfZnJvbnQoQXVk aW9EZXZpY2VOYW1lOjpDcmVhdGVEZWZhdWx0KCkpOworK30KKysKKytib29sIEF1ZGlvTWFuYWdl clNuZGlvOjpIYXNBdWRpb091dHB1dERldmljZXMoKSB7CisrICByZXR1cm4gdHJ1ZTsKKyt9Cisr CisrYm9vbCBBdWRpb01hbmFnZXJTbmRpbzo6SGFzQXVkaW9JbnB1dERldmljZXMoKSB7CisrICBy ZXR1cm4gdHJ1ZTsKKyt9CisrCisrdm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9JbnB1 dERldmljZU5hbWVzKAorKyAgICBBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysg IERDSEVDSyhkZXZpY2VfbmFtZXMtPmVtcHR5KCkpOworKyAgQWRkRGVmYXVsdERldmljZShkZXZp Y2VfbmFtZXMpOworK30KKysKKyt2b2lkIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRBdWRpb091dHB1 dERldmljZU5hbWVzKAorKyAgICBBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysg IEFkZERlZmF1bHREZXZpY2UoZGV2aWNlX25hbWVzKTsKKyt9CisrCisrY29uc3QgY2hhciogQXVk aW9NYW5hZ2VyU25kaW86OkdldE5hbWUoKSB7CisrICByZXR1cm4gIlNORElPIjsKKyt9CisrCisr QXVkaW9QYXJhbWV0ZXJzIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRJbnB1dFN0cmVhbVBhcmFtZXRl cnMoCisrICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQpIHsKKysgIHN0YXRpYyBjb25z dCBpbnQga0RlZmF1bHRJbnB1dEJ1ZmZlclNpemUgPSAxMDI0OworKworKyAgaW50IHVzZXJfYnVm ZmVyX3NpemUgPSBHZXRVc2VyQnVmZmVyU2l6ZSgpOworKyAgaW50IGJ1ZmZlcl9zaXplID0gdXNl cl9idWZmZXJfc2l6ZSA/CisrICAgICAgdXNlcl9idWZmZXJfc2l6ZSA6IGtEZWZhdWx0SW5wdXRC dWZmZXJTaXplOworKworKyAgcmV0dXJuIEF1ZGlvUGFyYW1ldGVycygKKysgICAgICBBdWRpb1Bh cmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgQ0hBTk5FTF9MQVlPVVRfU1RFUkVPLAor KyAgICAgIGtEZWZhdWx0U2FtcGxlUmF0ZSwgYnVmZmVyX3NpemUpOworK30KKysKKytBdWRpb01h bmFnZXJTbmRpbzo6QXVkaW9NYW5hZ2VyU25kaW8oc3RkOjp1bmlxdWVfcHRyPEF1ZGlvVGhyZWFk PiBhdWRpb190aHJlYWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBdWRpb0xvZ0ZhY3RvcnkqIGF1ZGlvX2xvZ19mYWN0b3J5KQorKyAgICA6IEF1ZGlvTWFuYWdl ckJhc2Uoc3RkOjptb3ZlKGF1ZGlvX3RocmVhZCksCisrICAgICAgICAgICAgICAgICAgICAgICBh dWRpb19sb2dfZmFjdG9yeSkgeworKyAgRExPRyhXQVJOSU5HKSA8PCAiQXVkaW9NYW5hZ2VyU25k aW8iOworKyAgU2V0TWF4T3V0cHV0U3RyZWFtc0FsbG93ZWQoa01heE91dHB1dFN0cmVhbXMpOwor K30KKysKKytBdWRpb01hbmFnZXJTbmRpbzo6fkF1ZGlvTWFuYWdlclNuZGlvKCkgeworKyAgU2h1 dGRvd24oKTsKKyt9CisrCisrQXVkaW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpN YWtlTGluZWFyT3V0cHV0U3RyZWFtKAorKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFt cywKKysgICAgY29uc3QgTG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgeworKyAgRENIRUNLX0VR KEF1ZGlvUGFyYW1ldGVyczo6QVVESU9fUENNX0xJTkVBUiwgcGFyYW1zLmZvcm1hdCgpKTsKKysg IHJldHVybiBNYWtlT3V0cHV0U3RyZWFtKHBhcmFtcyk7CisrfQorKworK0F1ZGlvT3V0cHV0U3Ry ZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0oCisrICAg IGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYg ZGV2aWNlX2lkLAorKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7CisrICBE TE9HX0lGKEVSUk9SLCAhZGV2aWNlX2lkLmVtcHR5KCkpIDw8ICJOb3QgaW1wbGVtZW50ZWQhIjsK KysgIERDSEVDS19FUShBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgcGFy YW1zLmZvcm1hdCgpKTsKKysgIHJldHVybiBNYWtlT3V0cHV0U3RyZWFtKHBhcmFtcyk7CisrfQor KworK0F1ZGlvSW5wdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlTGluZWFySW5wdXRT dHJlYW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICBjb25zdCBz dGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxi YWNrKSB7CisrICBEQ0hFQ0tfRVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTElORUFSLCBw YXJhbXMuZm9ybWF0KCkpOworKyAgcmV0dXJuIE1ha2VJbnB1dFN0cmVhbShwYXJhbXMpOworK30K KysKKytBdWRpb0lucHV0U3RyZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxvd0xhdGVuY3lJ bnB1dFN0cmVhbSgKKysgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgIGNv bnN0IHN0ZDo6c3RyaW5nJiBkZXZpY2VfaWQsCisrICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2df Y2FsbGJhY2spIHsKKysgIERDSEVDS19FUShBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1df TEFURU5DWSwgcGFyYW1zLmZvcm1hdCgpKTsKKysgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFy YW1zKTsKKyt9CisrCisrQXVkaW9QYXJhbWV0ZXJzIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRQcmVm ZXJyZWRPdXRwdXRTdHJlYW1QYXJhbWV0ZXJzKAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0 cHV0X2RldmljZV9pZCwKKysgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMp IHsKKysgIC8vIFRPRE8odG9tbWkpOiBTdXBwb3J0IHxvdXRwdXRfZGV2aWNlX2lkfC4KKysgIERM T0dfSUYoRVJST1IsICFvdXRwdXRfZGV2aWNlX2lkLmVtcHR5KCkpIDw8ICJOb3QgaW1wbGVtZW50 ZWQhIjsKKysgIHN0YXRpYyBjb25zdCBpbnQga0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplID0gMjA0 ODsKKysKKysgIENoYW5uZWxMYXlvdXQgY2hhbm5lbF9sYXlvdXQgPSBDSEFOTkVMX0xBWU9VVF9T VEVSRU87CisrICBpbnQgc2FtcGxlX3JhdGUgPSBrRGVmYXVsdFNhbXBsZVJhdGU7CisrICBpbnQg YnVmZmVyX3NpemUgPSBrRGVmYXVsdE91dHB1dEJ1ZmZlclNpemU7CisrICBpZiAoaW5wdXRfcGFy YW1zLklzVmFsaWQoKSkgeworKyAgICBzYW1wbGVfcmF0ZSA9IGlucHV0X3BhcmFtcy5zYW1wbGVf cmF0ZSgpOworKyAgICBjaGFubmVsX2xheW91dCA9IGlucHV0X3BhcmFtcy5jaGFubmVsX2xheW91 dCgpOworKyAgICBidWZmZXJfc2l6ZSA9IHN0ZDo6bWluKGJ1ZmZlcl9zaXplLCBpbnB1dF9wYXJh bXMuZnJhbWVzX3Blcl9idWZmZXIoKSk7CisrICB9CisrCisrICBpbnQgdXNlcl9idWZmZXJfc2l6 ZSA9IEdldFVzZXJCdWZmZXJTaXplKCk7CisrICBpZiAodXNlcl9idWZmZXJfc2l6ZSkKKysgICAg YnVmZmVyX3NpemUgPSB1c2VyX2J1ZmZlcl9zaXplOworKworKyAgcmV0dXJuIEF1ZGlvUGFyYW1l dGVycygKKysgICAgICBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgY2hh bm5lbF9sYXlvdXQsCisrICAgICAgc2FtcGxlX3JhdGUsIGJ1ZmZlcl9zaXplKTsKKyt9CisrCisr QXVkaW9JbnB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VJbnB1dFN0cmVhbSgKKysg ICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpIHsKKysgIERMT0coV0FSTklORykgPDwg Ik1ha2VJbnB1dFN0cmVhbSI7CisrICByZXR1cm4gbmV3IFNuZGlvQXVkaW9JbnB1dFN0cmVhbSh0 aGlzLAorKyAgICAgICAgICAgICBBdWRpb0RldmljZURlc2NyaXB0aW9uOjprRGVmYXVsdERldmlj ZUlkLCBwYXJhbXMpOworK30KKysKKytBdWRpb091dHB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25k aW86Ok1ha2VPdXRwdXRTdHJlYW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1z KSB7CisrICBETE9HKFdBUk5JTkcpIDw8ICJNYWtlT3V0cHV0U3RyZWFtIjsKKysgIHJldHVybiBu ZXcgU25kaW9BdWRpb091dHB1dFN0cmVhbShwYXJhbXMsIHRoaXMpOworK30KKysKKyt9ICAvLyBu YW1lc3BhY2UgbWVkaWEKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9tZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgKK0BAIC0wLDAgKzEsNjUg QEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNF IGZpbGUuCisrCisrI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19BVURJT19NQU5BR0VSX1NORElP X0hfCisrI2RlZmluZSBNRURJQV9BVURJT19TTkRJT19BVURJT19NQU5BR0VSX1NORElPX0hfCisr CisrI2luY2x1ZGUgPHNldD4KKysKKysjaW5jbHVkZSAiYmFzZS9jb21waWxlcl9zcGVjaWZpYy5o IgorKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS9yZWZf Y291bnRlZC5oIgorKyNpbmNsdWRlICJiYXNlL3RocmVhZGluZy90aHJlYWQuaCIKKysjaW5jbHVk ZSAibWVkaWEvYXVkaW8vYXVkaW9fbWFuYWdlcl9iYXNlLmgiCisrCisrbmFtZXNwYWNlIG1lZGlh IHsKKysKKytjbGFzcyBNRURJQV9FWFBPUlQgQXVkaW9NYW5hZ2VyU25kaW8gOiBwdWJsaWMgQXVk aW9NYW5hZ2VyQmFzZSB7CisrIHB1YmxpYzoKKysgIEF1ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5p cXVlX3B0cjxBdWRpb1RocmVhZD4gYXVkaW9fdGhyZWFkLAorKyAgICAgICAgICAgICAgICAgICBB dWRpb0xvZ0ZhY3RvcnkqIGF1ZGlvX2xvZ19mYWN0b3J5KTsKKysgIH5BdWRpb01hbmFnZXJTbmRp bygpIG92ZXJyaWRlOworKworKyAgLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9NYW5hZ2VyLgor KyAgYm9vbCBIYXNBdWRpb091dHB1dERldmljZXMoKSBvdmVycmlkZTsKKysgIGJvb2wgSGFzQXVk aW9JbnB1dERldmljZXMoKSBvdmVycmlkZTsKKysgIHZvaWQgR2V0QXVkaW9JbnB1dERldmljZU5h bWVzKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9uYW1lcykgb3ZlcnJpZGU7CisrICB2b2lkIEdl dEF1ZGlvT3V0cHV0RGV2aWNlTmFtZXMoQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSBv dmVycmlkZTsKKysgIEF1ZGlvUGFyYW1ldGVycyBHZXRJbnB1dFN0cmVhbVBhcmFtZXRlcnMoCisr ICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCkgb3ZlcnJpZGU7CisrICBjb25zdCBj aGFyKiBHZXROYW1lKCkgb3ZlcnJpZGU7CisrCisrICAvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRp b01hbmFnZXJCYXNlLgorKyAgQXVkaW9PdXRwdXRTdHJlYW0qIE1ha2VMaW5lYXJPdXRwdXRTdHJl YW0oCisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qg TG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7CisrICBBdWRpb091dHB1dFN0cmVh bSogTWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0oCisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0 ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwKKysgICAg ICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKKysgIEF1ZGlvSW5w dXRTdHJlYW0qIE1ha2VMaW5lYXJJbnB1dFN0cmVhbSgKKysgICAgICBjb25zdCBBdWRpb1BhcmFt ZXRlcnMmIHBhcmFtcywKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAg ICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKyAgQXVkaW9J bnB1dFN0cmVhbSogTWFrZUxvd0xhdGVuY3lJbnB1dFN0cmVhbSgKKysgICAgICBjb25zdCBBdWRp b1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lk LAorKyAgICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKwor KyBwcm90ZWN0ZWQ6CisrICBBdWRpb1BhcmFtZXRlcnMgR2V0UHJlZmVycmVkT3V0cHV0U3RyZWFt UGFyYW1ldGVycygKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCwK KysgICAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIGlucHV0X3BhcmFtcykgb3ZlcnJpZGU7Cisr CisrIHByaXZhdGU6CisrICAvLyBDYWxsZWQgYnkgTWFrZUxpbmVhck91dHB1dFN0cmVhbSBhbmQg TWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0uCisrICBBdWRpb091dHB1dFN0cmVhbSogTWFrZU91 dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcyk7CisrICBBdWRpb0lucHV0 U3RyZWFtKiBNYWtlSW5wdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOwor KworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKEF1ZGlvTWFuYWdlclNuZGlvKTsKKyt9Owor KworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorKworKyNlbmRpZiAgLy8gTUVESUFfQVVESU9fU05E SU9fQVVESU9fTUFOQUdFUl9TTkRJT19IXworLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmNjCitAQCAtMCwwICsx LDIwMCBAQAorKy8vIENvcHlyaWdodCAyMDEzIFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmln aHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5 IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5T RSBmaWxlLgorKworKyNpbmNsdWRlICJiYXNlL2JpbmQuaCIKKysjaW5jbHVkZSAiYmFzZS9sb2dn aW5nLmgiCisrI2luY2x1ZGUgImJhc2UvbWFjcm9zLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2Uv YXVkaW9fdGltZXN0YW1wX2hlbHBlci5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9h dWRpb19tYW5hZ2VyX3NuZGlvLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX21hbmFn ZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9faW5wdXQuaCIKKysKKytu YW1lc3BhY2UgbWVkaWEgeworKworK3N0YXRpYyBjb25zdCBTYW1wbGVGb3JtYXQga1NhbXBsZUZv cm1hdCA9IGtTYW1wbGVGb3JtYXRTMTY7CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06 Ok9uTW92ZUNhbGxiYWNrKHZvaWQgKmFyZywgaW50IGRlbHRhKQorK3sKKysgIFNuZGlvQXVkaW9J bnB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9JbnB1dFN0cmVhbSo+KGFy Zyk7CisrCisrICBzZWxmLT5od19kZWxheSArPSBkZWx0YTsKKyt9CisrCisrdm9pZCAqU25kaW9B dWRpb0lucHV0U3RyZWFtOjpUaHJlYWRFbnRyeSh2b2lkICphcmcpIHsKKysgIFNuZGlvQXVkaW9J bnB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9JbnB1dFN0cmVhbSo+KGFy Zyk7CisrCisrICBzZWxmLT5UaHJlYWRMb29wKCk7CisrICByZXR1cm4gTlVMTDsKKyt9CisrCisr U25kaW9BdWRpb0lucHV0U3RyZWFtOjpTbmRpb0F1ZGlvSW5wdXRTdHJlYW0oQXVkaW9NYW5hZ2Vy QmFzZSogbWFuYWdlciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX25hbWUsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMp CisrICAgIDogbWFuYWdlcihtYW5hZ2VyKSwKKysgICAgICBwYXJhbXMocGFyYW1zKSwKKysgICAg ICBhdWRpb19idXMoQXVkaW9CdXM6OkNyZWF0ZShwYXJhbXMpKSwKKysgICAgICBzdGF0ZShrQ2xv c2VkKSB7CisrfQorKworK1NuZGlvQXVkaW9JbnB1dFN0cmVhbTo6flNuZGlvQXVkaW9JbnB1dFN0 cmVhbSgpIHsKKysgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQorKyAgICBDbG9zZSgpOworK30KKysK Kytib29sIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6T3BlbigpIHsKKysgIHN0cnVjdCBzaW9fcGFy IHBhcjsKKysgIGludCBzaWc7CisrCisrICBpZiAoc3RhdGUgIT0ga0Nsb3NlZCkKKysgICAgcmV0 dXJuIGZhbHNlOworKworKyAgaWYgKHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRlcnM6 OkFVRElPX1BDTV9MSU5FQVIgJiYKKysgICAgICBwYXJhbXMuZm9ybWF0KCkgIT0gQXVkaW9QYXJh bWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKKysgICAgTE9HKFdBUk5JTkcpIDw8ICJV bnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKKysgICAgcmV0dXJuIGZhbHNlOworKyAgfQorKwor KyAgc2lvX2luaXRwYXIoJnBhcik7CisrICBwYXIucmF0ZSA9IHBhcmFtcy5zYW1wbGVfcmF0ZSgp OworKyAgcGFyLnJjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7CisrICBwYXIuYml0cyA9IFNhbXBs ZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCk7CisrICBwYXIuYnBzID0gcGFy LmJpdHMgLyA4OworKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5iaXRzICE9IDggPyAxIDogMDsKKysg IHBhci5sZSA9IFNJT19MRV9OQVRJVkU7CisrICBwYXIuYXBwYnVmc3ogPSBwYXJhbXMuZnJhbWVz X3Blcl9idWZmZXIoKTsKKysKKysgIGhkbCA9IHNpb19vcGVuKFNJT19ERVZBTlksIFNJT19SRUMs IDApOworKworKyAgaWYgKGhkbCA9PSBOVUxMKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxk bid0IG9wZW4gYXVkaW8gZGV2aWNlLiI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysg IGlmICghc2lvX3NldHBhcihoZGwsICZwYXIpIHx8ICFzaW9fZ2V0cGFyKGhkbCwgJnBhcikpIHsK KysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc2V0IGF1ZGlvIHBhcmFtZXRlcnMuIjsKKysg ICAgZ290byBiYWRfY2xvc2U7CisrICB9CisrCisrICBpZiAocGFyLnJhdGUgICE9ICh1bnNpZ25l ZCBpbnQpcGFyYW1zLnNhbXBsZV9yYXRlKCkgfHwKKysgICAgICBwYXIucmNoYW4gIT0gKHVuc2ln bmVkIGludClwYXJhbXMuY2hhbm5lbHMoKSB8fAorKyAgICAgIHBhci5iaXRzICAhPSAodW5zaWdu ZWQgaW50KVNhbXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCkgfHwKKysg ICAgICBwYXIuc2lnICAgIT0gKHVuc2lnbmVkIGludClzaWcgfHwKKysgICAgICAocGFyLmJwcyA+ IDEgJiYgcGFyLmxlICE9IFNJT19MRV9OQVRJVkUpIHx8CisrICAgICAgKHBhci5iaXRzICE9IHBh ci5icHMgKiA4KSkgeworKyAgICBMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBwYXJh bWV0ZXJzLiI7CisrICAgIGdvdG8gYmFkX2Nsb3NlOworKyAgfQorKyAgc3RhdGUgPSBrU3RvcHBl ZDsKKysgIGJ1ZmZlciA9IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ZnJhbWVzKCkgKiBwYXJhbXMuR2V0 Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KV07CisrICBzaW9fb25tb3ZlKGhkbCwgJk9uTW92 ZUNhbGxiYWNrLCB0aGlzKTsKKysgIHJldHVybiB0cnVlOworK2JhZF9jbG9zZToKKysgIHNpb19j bG9zZShoZGwpOworKyAgcmV0dXJuIGZhbHNlOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9JbnB1 dFN0cmVhbTo6U3RhcnQoQXVkaW9JbnB1dENhbGxiYWNrKiBjYikgeworKworKyAgU3RhcnRBZ2Mo KTsKKysKKysgIHN0YXRlID0ga1J1bm5pbmc7CisrICBod19kZWxheSA9IDA7CisrICBjYWxsYmFj ayA9IGNiOworKyAgc2lvX3N0YXJ0KGhkbCk7CisrICBpZiAocHRocmVhZF9jcmVhdGUoJnRocmVh ZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0aGlzKSAhPSAwKSB7CisrICAgIExPRyhFUlJPUikgPDwg IkZhaWxlZCB0byBjcmVhdGUgcmVhbC10aW1lIHRocmVhZCBmb3IgcmVjb3JkaW5nLiI7CisrICAg IHNpb19zdG9wKGhkbCk7CisrICAgIHN0YXRlID0ga1N0b3BwZWQ7CisrICB9CisrfQorKworK3Zv aWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpTdG9wKCkgeworKworKyAgaWYgKHN0YXRlID09IGtT dG9wcGVkKQorKyAgICByZXR1cm47CisrCisrICBzdGF0ZSA9IGtTdG9wV2FpdDsKKysgIHB0aHJl YWRfam9pbih0aHJlYWQsIE5VTEwpOworKyAgc2lvX3N0b3AoaGRsKTsKKysgIHN0YXRlID0ga1N0 b3BwZWQ7CisrCisrICBTdG9wQWdjKCk7CisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3Ry ZWFtOjpDbG9zZSgpIHsKKysKKysgIGlmIChzdGF0ZSA9PSBrQ2xvc2VkKQorKyAgICByZXR1cm47 CisrCisrICBpZiAoc3RhdGUgPT0ga1J1bm5pbmcpCisrICAgIFN0b3AoKTsKKysKKysgIHN0YXRl ID0ga0Nsb3NlZDsKKysgIGRlbGV0ZSBbXSBidWZmZXI7CisrICBzaW9fY2xvc2UoaGRsKTsKKysK KysgIG1hbmFnZXItPlJlbGVhc2VJbnB1dFN0cmVhbSh0aGlzKTsKKyt9CisrCisrZG91YmxlIFNu ZGlvQXVkaW9JbnB1dFN0cmVhbTo6R2V0TWF4Vm9sdW1lKCkgeworKyAgLy8gTm90IHN1cHBvcnRl ZAorKyAgcmV0dXJuIDAuMDsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OlNl dFZvbHVtZShkb3VibGUgdm9sdW1lKSB7CisrICAvLyBOb3Qgc3VwcG9ydGVkLiBEbyBub3RoaW5n LgorK30KKysKKytkb3VibGUgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpHZXRWb2x1bWUoKSB7Cisr ICAvLyBOb3Qgc3VwcG9ydGVkLgorKyAgcmV0dXJuIDAuMDsKKyt9CisrCisrYm9vbCBTbmRpb0F1 ZGlvSW5wdXRTdHJlYW06OklzTXV0ZWQoKSB7CisrICAvLyBOb3Qgc3VwcG9ydGVkLgorKyAgcmV0 dXJuIGZhbHNlOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U2V0T3V0cHV0 RGV2aWNlRm9yQWVjKAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCkg eworKyAgLy8gTm90IHN1cHBvcnRlZC4KKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvSW5wdXRTdHJl YW06OlRocmVhZExvb3Aodm9pZCkgeworKyAgc2l6ZV90IHRvZG8sIG47CisrICBjaGFyICpkYXRh OworKyAgdW5zaWduZWQgaW50IG5mcmFtZXM7CisrICBkb3VibGUgbm9ybWFsaXplZF92b2x1bWUg PSAwLjA7CisrCisrICBuZnJhbWVzID0gYXVkaW9fYnVzLT5mcmFtZXMoKTsKKysKKysgIHdoaWxl IChzdGF0ZSA9PSBrUnVubmluZyAmJiAhc2lvX2VvZihoZGwpKSB7CisrCisrICAgIEdldEFnY1Zv bHVtZSgmbm9ybWFsaXplZF92b2x1bWUpOworKworKyAgICAvLyByZWFkIG9uZSBibG9jaworKyAg ICB0b2RvID0gbmZyYW1lcyAqIHBhcmFtcy5HZXRCeXRlc1BlckZyYW1lKGtTYW1wbGVGb3JtYXQp OworKyAgICBkYXRhID0gYnVmZmVyOworKyAgICB3aGlsZSAodG9kbyA+IDApIHsKKysgICAgICBu ID0gc2lvX3JlYWQoaGRsLCBkYXRhLCB0b2RvKTsKKysgICAgICBpZiAobiA9PSAwKQorKyAgICAg ICAgcmV0dXJuOwkvLyB1bnJlY292ZXJhYmxlIEkvTyBlcnJvcgorKyAgICAgIHRvZG8gLT0gbjsK KysgICAgICBkYXRhICs9IG47CisrICAgIH0KKysgICAgaHdfZGVsYXkgLT0gbmZyYW1lczsKKysK KysgICAgLy8gY29udmVydCBmcmFtZXMgY291bnQgdG8gVGltZURlbHRhCisrICAgIGNvbnN0IGJh c2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0YW1wSGVscGVyOjpGcmFtZXNUb1RpbWUo aHdfZGVsYXksCisrICAgICAgcGFyYW1zLnNhbXBsZV9yYXRlKCkpOworKworKyAgICAvLyBwdXNo IGludG8gYnVzCisrICAgIGF1ZGlvX2J1cy0+RnJvbUludGVybGVhdmVkPFNpZ25lZEludDE2U2Ft cGxlVHlwZVRyYWl0cz4ocmVpbnRlcnByZXRfY2FzdDxpbnQxNl90Kj4oYnVmZmVyKSwgbmZyYW1l cyk7CisrCisrICAgIC8vIGludm9rZSBjYWxsYmFjaworKyAgICBjYWxsYmFjay0+T25EYXRhKGF1 ZGlvX2J1cy5nZXQoKSwgYmFzZTo6VGltZVRpY2tzOjpOb3coKSAtIGRlbGF5LCAxLik7CisrICB9 CisrfQorKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmgKK0BAIC0w LDAgKzEsOTEgQEAKKysvLyBDb3B5cmlnaHQgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxs IHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5l ZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJ Q0VOU0UgZmlsZS4KKysKKysjaWZuZGVmIE1FRElBX0FVRElPX1NORElPX1NORElPX0lOUFVUX0hf CisrI2RlZmluZSBNRURJQV9BVURJT19TTkRJT19TTkRJT19JTlBVVF9IXworKworKyNpbmNsdWRl IDxzdGRpbnQuaD4KKysjaW5jbHVkZSA8c3RyaW5nPgorKyNpbmNsdWRlIDxzbmRpby5oPgorKwor KyNpbmNsdWRlICJiYXNlL2NvbXBpbGVyX3NwZWNpZmljLmgiCisrI2luY2x1ZGUgImJhc2UvbWFj cm9zLmgiCisrI2luY2x1ZGUgImJhc2UvbWVtb3J5L3dlYWtfcHRyLmgiCisrI2luY2x1ZGUgImJh c2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2FnY19hdWRpb19zdHJlYW0u aCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9faW8uaCIKKysjaW5jbHVkZSAibWVkaWEv YXVkaW8vYXVkaW9fZGV2aWNlX2Rlc2NyaXB0aW9uLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2Uv YXVkaW9fcGFyYW1ldGVycy5oIgorKworK25hbWVzcGFjZSBtZWRpYSB7CisrCisrY2xhc3MgQXVk aW9NYW5hZ2VyQmFzZTsKKysKKysvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVh bSB1c2luZyBzbmRpbyg3KQorK2NsYXNzIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSA6IHB1YmxpYyBB Z2NBdWRpb1N0cmVhbTxBdWRpb0lucHV0U3RyZWFtPiB7CisrIHB1YmxpYzoKKysgIC8vIFBhc3Mg dGhpcyB0byB0aGUgY29uc3RydWN0b3IgaWYgeW91IHdhbnQgdG8gYXR0ZW1wdCBhdXRvLXNlbGVj dGlvbgorKyAgLy8gb2YgdGhlIGF1ZGlvIHJlY29yZGluZyBkZXZpY2UuCisrICBzdGF0aWMgY29u c3QgY2hhciBrQXV0b1NlbGVjdERldmljZVtdOworKworKyAgLy8gQ3JlYXRlIGEgUENNIE91dHB1 dCBzdHJlYW0gZm9yIHRoZSBTTkRJTyBkZXZpY2UgaWRlbnRpZmllZCBieQorKyAgLy8gfGRldmlj ZV9uYW1lfC4gSWYgdW5zdXJlIG9mIHdoYXQgdG8gdXNlIGZvciB8ZGV2aWNlX25hbWV8LCB1c2UK KysgIC8vIHxrQXV0b1NlbGVjdERldmljZXwuCisrICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0oQXVk aW9NYW5hZ2VyQmFzZSogYXVkaW9fbWFuYWdlciwKKysgICAgICAgICAgICAgICAgICAgICBjb25z dCBzdGQ6OnN0cmluZyYgZGV2aWNlX25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgY29uc3Qg QXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOworKworKyAgflNuZGlvQXVkaW9JbnB1dFN0cmVhbSgp IG92ZXJyaWRlOworKworKyAgLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9JbnB1dFN0cmVhbS4K KysgIGJvb2wgT3BlbigpIG92ZXJyaWRlOworKyAgdm9pZCBTdGFydChBdWRpb0lucHV0Q2FsbGJh Y2sqIGNhbGxiYWNrKSBvdmVycmlkZTsKKysgIHZvaWQgU3RvcCgpIG92ZXJyaWRlOworKyAgdm9p ZCBDbG9zZSgpIG92ZXJyaWRlOworKyAgZG91YmxlIEdldE1heFZvbHVtZSgpIG92ZXJyaWRlOwor KyAgdm9pZCBTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgb3ZlcnJpZGU7CisrICBkb3VibGUgR2V0 Vm9sdW1lKCkgb3ZlcnJpZGU7CisrICBib29sIElzTXV0ZWQoKSBvdmVycmlkZTsKKysgIHZvaWQg U2V0T3V0cHV0RGV2aWNlRm9yQWVjKGNvbnN0IHN0ZDo6c3RyaW5nJiBvdXRwdXRfZGV2aWNlX2lk KSBvdmVycmlkZTsKKysKKysgcHJpdmF0ZToKKysKKysgIGVudW0gU3RyZWFtU3RhdGUgeworKyAg ICBrQ2xvc2VkLCAgICAgICAgICAgIC8vIE5vdCBvcGVuZWQgeWV0CisrICAgIGtTdG9wcGVkLCAg ICAgICAgICAgLy8gRGV2aWNlIG9wZW5lZCwgYnV0IG5vdCBzdGFydGVkIHlldAorKyAgICBrUnVu bmluZywgICAgICAgICAgIC8vIFN0YXJ0ZWQsIGRldmljZSBwbGF5aW5nCisrICAgIGtTdG9wV2Fp dCAgICAgICAgICAgLy8gU3RvcHBpbmcsIHdhaXRpbmcgZm9yIHRoZSByZWFsLXRpbWUgdGhyZWFk IHRvIGV4aXQKKysgIH07CisrCisrICAvLyBDLXN0eWxlIGNhbGwtYmFja3MKKysgIHN0YXRpYyB2 b2lkIE9uTW92ZUNhbGxiYWNrKHZvaWQgKmFyZywgaW50IGRlbHRhKTsKKysgIHN0YXRpYyB2b2lk KiBUaHJlYWRFbnRyeSh2b2lkICphcmcpOworKworKyAgLy8gQ29udGludW91c2x5IG1vdmVzIGRh dGEgZnJvbSB0aGUgZGV2aWNlIHRvIHRoZSBjb25zdW1lcgorKyAgdm9pZCBUaHJlYWRMb29wKCk7 CisrICAvLyBPdXIgY3JlYXRvciwgdGhlIGF1ZGlvIG1hbmFnZXIgbmVlZHMgdG8gYmUgbm90aWZp ZWQgd2hlbiB3ZSBjbG9zZS4KKysgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXI7CisrICAvLyBQ YXJhbWV0ZXJzIG9mIHRoZSBzb3VyY2UKKysgIEF1ZGlvUGFyYW1ldGVycyBwYXJhbXM7CisrICAv LyBXZSBzdG9yZSBkYXRhIGhlcmUgZm9yIGNvbnN1bWVyCisrICBzdGQ6OnVuaXF1ZV9wdHI8QXVk aW9CdXM+IGF1ZGlvX2J1czsKKysgIC8vIENhbGwtYmFjayB0aGF0IGNvbnN1bWVzIHJlY29yZGVk IGRhdGEKKysgIEF1ZGlvSW5wdXRDYWxsYmFjayogY2FsbGJhY2s7ICAvLyBWYWxpZCBkdXJpbmcg YSByZWNvcmRpbmcgc2Vzc2lvbi4KKysgIC8vIEhhbmRsZSBvZiB0aGUgYXVkaW8gZGV2aWNlCisr ICBzdHJ1Y3Qgc2lvX2hkbCogaGRsOworKyAgLy8gQ3VycmVudCBzdGF0ZSBvZiB0aGUgc3RyZWFt CisrICBlbnVtIFN0cmVhbVN0YXRlIHN0YXRlOworKyAgLy8gSGlnaCBwcmlvcml0eSB0aHJlYWQg cnVubmluZyBUaHJlYWRMb29wKCkKKysgIHB0aHJlYWRfdCB0aHJlYWQ7CisrICAvLyBOdW1iZXIg b2YgZnJhbWVzIGJ1ZmZlcmVkIGluIHRoZSBoYXJkd2FyZQorKyAgaW50IGh3X2RlbGF5OworKyAg Ly8gVGVtcG9yYXJ5IGJ1ZmZlciB3aGVyZSBkYXRhIGlzIHN0b3JlZCBzbmRpby1jb21wYXRpYmxl IGZvcm1hdAorKyAgY2hhciogYnVmZmVyOworKworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdO KFNuZGlvQXVkaW9JbnB1dFN0cmVhbSk7CisrfTsKKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEK KysKKysjZW5kaWYgIC8vIE1FRElBX0FVRElPX1NORElPX1NORElPX0lOUFVUX0hfCistLS0gL2Rl di9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vc25k aW9fb3V0cHV0LmNjCitAQCAtMCwwICsxLDE4MyBAQAorKy8vIENvcHlyaWdodCAoYykgMjAxMiBU aGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhp cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu IGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaW5jbHVkZSAiYmFzZS9s b2dnaW5nLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgImJhc2Uv dGltZS9kZWZhdWx0X3RpY2tfY2xvY2suaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9f bWFuYWdlcl9iYXNlLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fdGltZXN0YW1wX2hl bHBlci5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9zbmRpb19vdXRwdXQuaCIKKysK KytuYW1lc3BhY2UgbWVkaWEgeworKworK3N0YXRpYyBjb25zdCBTYW1wbGVGb3JtYXQga1NhbXBs ZUZvcm1hdCA9IGtTYW1wbGVGb3JtYXRTMTY7CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3Ry ZWFtOjpPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0YSkgeworKyAgU25kaW9BdWRp b091dHB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0q PihhcmcpOworKworKyAgc2VsZi0+aHdfZGVsYXkgLT0gZGVsdGE7CisrfQorKworK3ZvaWQgU25k aW9BdWRpb091dHB1dFN0cmVhbTo6T25Wb2xDYWxsYmFjayh2b2lkICphcmcsIHVuc2lnbmVkIGlu dCB2b2wpIHsKKysgIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxT bmRpb0F1ZGlvT3V0cHV0U3RyZWFtKj4oYXJnKTsKKysKKysgIHNlbGYtPnZvbCA9IHZvbDsKKyt9 CisrCisrdm9pZCAqU25kaW9BdWRpb091dHB1dFN0cmVhbTo6VGhyZWFkRW50cnkodm9pZCAqYXJn KSB7CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGljX2Nhc3Q8U25kaW9B dWRpb091dHB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT5UaHJlYWRMb29wKCk7CisrICBy ZXR1cm4gTlVMTDsKKyt9CisrCisrU25kaW9BdWRpb091dHB1dFN0cmVhbTo6U25kaW9BdWRpb091 dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFn ZXIpCisrICAgIDogbWFuYWdlcihtYW5hZ2VyKSwKKysgICAgICBwYXJhbXMocGFyYW1zKSwKKysg ICAgICBhdWRpb19idXMoQXVkaW9CdXM6OkNyZWF0ZShwYXJhbXMpKSwKKysgICAgICBzdGF0ZShr Q2xvc2VkKSwKKysgICAgICBtdXRleChQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSKSB7CisrfQor KworK1NuZGlvQXVkaW9PdXRwdXRTdHJlYW06On5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCkgewor KyAgaWYgKHN0YXRlICE9IGtDbG9zZWQpCisrICAgIENsb3NlKCk7CisrfQorKworK2Jvb2wgU25k aW9BdWRpb091dHB1dFN0cmVhbTo6T3BlbigpIHsKKysgIHN0cnVjdCBzaW9fcGFyIHBhcjsKKysg IGludCBzaWc7CisrCisrICBpZiAocGFyYW1zLmZvcm1hdCgpICE9IEF1ZGlvUGFyYW1ldGVyczo6 QVVESU9fUENNX0xJTkVBUiAmJgorKyAgICAgIHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFt ZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSkgeworKyAgICBMT0coV0FSTklORykgPDwgIlVu c3VwcG9ydGVkIGF1ZGlvIGZvcm1hdC4iOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBz aW9faW5pdHBhcigmcGFyKTsKKysgIHBhci5yYXRlID0gcGFyYW1zLnNhbXBsZV9yYXRlKCk7Cisr ICBwYXIucGNoYW4gPSBwYXJhbXMuY2hhbm5lbHMoKTsKKysgIHBhci5iaXRzID0gU2FtcGxlRm9y bWF0VG9CaXRzUGVyQ2hhbm5lbChrU2FtcGxlRm9ybWF0KTsKKysgIHBhci5icHMgPSBwYXIuYml0 cyAvIDg7CisrICBwYXIuc2lnID0gc2lnID0gcGFyLmJpdHMgIT0gOCA/IDEgOiAwOworKyAgcGFy LmxlID0gU0lPX0xFX05BVElWRTsKKysgIHBhci5hcHBidWZzeiA9IHBhcmFtcy5mcmFtZXNfcGVy X2J1ZmZlcigpOworKworKyAgaGRsID0gc2lvX29wZW4oU0lPX0RFVkFOWSwgU0lPX1BMQVksIDAp OworKyAgaWYgKGhkbCA9PSBOVUxMKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IG9w ZW4gYXVkaW8gZGV2aWNlLiI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysgIGlmICghc2lv X3NldHBhcihoZGwsICZwYXIpIHx8ICFzaW9fZ2V0cGFyKGhkbCwgJnBhcikpIHsKKysgICAgTE9H KEVSUk9SKSA8PCAiQ291bGRuJ3Qgc2V0IGF1ZGlvIHBhcmFtZXRlcnMuIjsKKysgICAgZ290byBi YWRfY2xvc2U7CisrICB9CisrICBpZiAocGFyLnJhdGUgICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1z LnNhbXBsZV9yYXRlKCkgfHwKKysgICAgICBwYXIucGNoYW4gIT0gKHVuc2lnbmVkIGludClwYXJh bXMuY2hhbm5lbHMoKSB8fAorKyAgICAgIHBhci5iaXRzICAhPSAodW5zaWduZWQgaW50KVNhbXBs ZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCkgfHwKKysgICAgICBwYXIuc2ln ICAgIT0gKHVuc2lnbmVkIGludClzaWcgfHwKKysgICAgICAocGFyLmJwcyA+IDEgJiYgcGFyLmxl ICE9IFNJT19MRV9OQVRJVkUpIHx8CisrICAgICAgKHBhci5iaXRzICE9IHBhci5icHMgKiA4KSkg eworKyAgICBMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBwYXJhbWV0ZXJzLiI7Cisr ICAgIGdvdG8gYmFkX2Nsb3NlOworKyAgfQorKyAgc3RhdGUgPSBrU3RvcHBlZDsKKysgIHZvbHBl bmRpbmcgPSAwOworKyAgdm9sID0gMDsKKysgIGJ1ZmZlciA9IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ ZnJhbWVzKCkgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KV07CisrICBz aW9fb25tb3ZlKGhkbCwgJk9uTW92ZUNhbGxiYWNrLCB0aGlzKTsKKysgIHNpb19vbnZvbChoZGws ICZPblZvbENhbGxiYWNrLCB0aGlzKTsKKysgIHJldHVybiB0cnVlOworKyBiYWRfY2xvc2U6Cisr ICBzaW9fY2xvc2UoaGRsKTsKKysgIHJldHVybiBmYWxzZTsKKyt9CisrCisrdm9pZCBTbmRpb0F1 ZGlvT3V0cHV0U3RyZWFtOjpDbG9zZSgpIHsKKysgIGlmIChzdGF0ZSA9PSBrQ2xvc2VkKQorKyAg ICByZXR1cm47CisrICBpZiAoc3RhdGUgPT0ga1J1bm5pbmcpCisrICAgIFN0b3AoKTsKKysgIHN0 YXRlID0ga0Nsb3NlZDsKKysgIGRlbGV0ZSBbXSBidWZmZXI7CisrICBzaW9fY2xvc2UoaGRsKTsK KysgIG1hbmFnZXItPlJlbGVhc2VPdXRwdXRTdHJlYW0odGhpcyk7ICAvLyBDYWxscyB0aGUgZGVz dHJ1Y3RvcgorK30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0YXJ0KEF1ZGlv U291cmNlQ2FsbGJhY2sqIGNhbGxiYWNrKSB7CisrICBzdGF0ZSA9IGtSdW5uaW5nOworKyAgaHdf ZGVsYXkgPSAwOworKyAgc291cmNlID0gY2FsbGJhY2s7CisrICBzaW9fc3RhcnQoaGRsKTsKKysg IGlmIChwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLCAmVGhyZWFkRW50cnksIHRoaXMpICE9 IDApIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiRmFpbGVkIHRvIGNyZWF0ZSByZWFsLXRpbWUgdGhy ZWFkLiI7CisrICAgIHNpb19zdG9wKGhkbCk7CisrICAgIHN0YXRlID0ga1N0b3BwZWQ7CisrICB9 CisrfQorKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6U3RvcCgpIHsKKysgIGlmIChz dGF0ZSA9PSBrU3RvcHBlZCkKKysgICAgcmV0dXJuOworKyAgc3RhdGUgPSBrU3RvcFdhaXQ7Cisr ICBwdGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKKysgIHNpb19zdG9wKGhkbCk7CisrICBzdGF0 ZSA9IGtTdG9wcGVkOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNldFZv bHVtZShkb3VibGUgdikgeworKyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7CisrICB2b2wg PSB2ICogU0lPX01BWFZPTDsKKysgIHZvbHBlbmRpbmcgPSAxOworKyAgcHRocmVhZF9tdXRleF91 bmxvY2soJm11dGV4KTsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpHZXRW b2x1bWUoZG91YmxlKiB2KSB7CisrICBwdGhyZWFkX211dGV4X2xvY2soJm11dGV4KTsKKysgICp2 ID0gdm9sICogKDEuIC8gU0lPX01BWFZPTCk7CisrICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0 ZXgpOworK30KKysKKysvLyBUaGlzIHN0cmVhbSBpcyBhbHdheXMgdXNlZCB3aXRoIHN1YiBzZWNv bmQgYnVmZmVyIHNpemVzLCB3aGVyZSBpdCdzCisrLy8gc3VmZmljaWVudCB0byBzaW1wbHkgYWx3 YXlzIGZsdXNoIHVwb24gU3RhcnQoKS4KKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OkZs dXNoKCkge30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZExvb3Aodm9p ZCkgeworKyAgaW50IGF2YWlsLCBjb3VudCwgcmVzdWx0OworKworKyAgd2hpbGUgKHN0YXRlID09 IGtSdW5uaW5nKSB7CisrICAgIC8vIFVwZGF0ZSB2b2x1bWUgaWYgbmVlZGVkCisrICAgIHB0aHJl YWRfbXV0ZXhfbG9jaygmbXV0ZXgpOworKyAgICBpZiAodm9scGVuZGluZykgeworKyAgICAgIHZv bHBlbmRpbmcgPSAwOworKyAgICAgIHNpb19zZXR2b2woaGRsLCB2b2wpOworKyAgICB9CisrICAg IHB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZtdXRleCk7CisrCisrICAgIC8vIEdldCBkYXRhIHRvIHBs YXkKKysgICAgY29uc3QgYmFzZTo6VGltZURlbHRhIGRlbGF5ID0gQXVkaW9UaW1lc3RhbXBIZWxw ZXI6OkZyYW1lc1RvVGltZShod19kZWxheSwKKysJcGFyYW1zLnNhbXBsZV9yYXRlKCkpOworKyAg ICBjb3VudCA9IHNvdXJjZS0+T25Nb3JlRGF0YShkZWxheSwgYmFzZTo6VGltZVRpY2tzOjpOb3co KSwgMCwgYXVkaW9fYnVzLmdldCgpKTsKKysgICAgYXVkaW9fYnVzLT5Ub0ludGVybGVhdmVkPFNp Z25lZEludDE2U2FtcGxlVHlwZVRyYWl0cz4oY291bnQsIHJlaW50ZXJwcmV0X2Nhc3Q8aW50MTZf dCo+KGJ1ZmZlcikpOworKyAgICBpZiAoY291bnQgPT0gMCkgeworKyAgICAgIC8vIFdlIGhhdmUg dG8gc3VibWl0IHNvbWV0aGluZyB0byB0aGUgZGV2aWNlCisrICAgICAgY291bnQgPSBhdWRpb19i dXMtPmZyYW1lcygpOworKyAgICAgIG1lbXNldChidWZmZXIsIDAsIGNvdW50ICogcGFyYW1zLkdl dEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCkpOworKyAgICAgIExPRyhXQVJOSU5HKSA8PCAi Tm8gZGF0YSB0byBwbGF5LCBydW5uaW5nIGVtcHR5IGN5Y2xlLiI7CisrICAgIH0KKysKKysgICAg Ly8gU3VibWl0IGRhdGEgdG8gdGhlIGRldmljZQorKyAgICBhdmFpbCA9IGNvdW50ICogcGFyYW1z LkdldEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCk7CisrICAgIHJlc3VsdCA9IHNpb193cml0 ZShoZGwsIGJ1ZmZlciwgYXZhaWwpOworKyAgICBpZiAocmVzdWx0ID09IDApIHsKKysgICAgICBM T0coV0FSTklORykgPDwgIkF1ZGlvIGRldmljZSBkaXNjb25uZWN0ZWQuIjsKKysgICAgICBicmVh azsKKysgICAgfQorKworKyAgICAvLyBVcGRhdGUgaGFyZHdhcmUgcG9pbnRlcgorKyAgICBod19k ZWxheSArPSBjb3VudDsKKysgIH0KKyt9CisrCisrfSAgLy8gbmFtZXNwYWNlIG1lZGlhCistLS0g L2Rldi9udWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8v c25kaW9fb3V0cHV0LmgKK0BAIC0wLDAgKzEsODYgQEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIg VGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRo aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh biBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRlZiBNRURJQV9B VURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KKysjZGVmaW5lIE1FRElBX0FVRElPX1NORElPX1NO RElPX09VVFBVVF9IXworKworKyNpbmNsdWRlIDxwdGhyZWFkLmg+CisrI2luY2x1ZGUgPHNuZGlv Lmg+CisrCisrI2luY2x1ZGUgImJhc2UvdGltZS90aWNrX2Nsb2NrLmgiCisrI2luY2x1ZGUgImJh c2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1ZGlvX2lvLmgiCisrCisr bmFtZXNwYWNlIG1lZGlhIHsKKysKKytjbGFzcyBBdWRpb01hbmFnZXJCYXNlOworKworKy8vIElt cGxlbWVudGF0aW9uIG9mIEF1ZGlvT3V0cHV0U3RyZWFtIHVzaW5nIHNuZGlvKDcpCisrY2xhc3Mg U25kaW9BdWRpb091dHB1dFN0cmVhbSA6IHB1YmxpYyBBdWRpb091dHB1dFN0cmVhbSB7CisrIHB1 YmxpYzoKKysgIC8vIFRoZSBtYW5hZ2VyIGlzIGNyZWF0aW5nIHRoaXMgb2JqZWN0CisrICBTbmRp b0F1ZGlvT3V0cHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNlKiBtYW5hZ2VyKTsKKysgIHZpcnR1 YWwgflNuZGlvQXVkaW9PdXRwdXRTdHJlYW0oKTsKKysKKysgIC8vIEltcGxlbWVudGF0aW9uIG9m IEF1ZGlvT3V0cHV0U3RyZWFtLgorKyAgYm9vbCBPcGVuKCkgb3ZlcnJpZGU7CisrICB2b2lkIENs b3NlKCkgb3ZlcnJpZGU7CisrICB2b2lkIFN0YXJ0KEF1ZGlvU291cmNlQ2FsbGJhY2sqIGNhbGxi YWNrKSBvdmVycmlkZTsKKysgIHZvaWQgU3RvcCgpIG92ZXJyaWRlOworKyAgdm9pZCBTZXRWb2x1 bWUoZG91YmxlIHZvbHVtZSkgb3ZlcnJpZGU7CisrICB2b2lkIEdldFZvbHVtZShkb3VibGUqIHZv bHVtZSkgb3ZlcnJpZGU7CisrICB2b2lkIEZsdXNoKCkgb3ZlcnJpZGU7CisrCisrICBmcmllbmQg dm9pZCBzbmRpb19vbm1vdmUodm9pZCAqYXJnLCBpbnQgZGVsdGEpOworKyAgZnJpZW5kIHZvaWQg c25kaW9fb252b2wodm9pZCAqYXJnLCB1bnNpZ25lZCBpbnQgdm9sKTsKKysgIGZyaWVuZCB2b2lk ICpzbmRpb190aHJlYWRzdGFydCh2b2lkICphcmcpOworKworKyBwcml2YXRlOgorKyAgZW51bSBT dHJlYW1TdGF0ZSB7CisrICAgIGtDbG9zZWQsICAgICAgICAgICAgLy8gTm90IG9wZW5lZCB5ZXQK KysgICAga1N0b3BwZWQsICAgICAgICAgICAvLyBEZXZpY2Ugb3BlbmVkLCBidXQgbm90IHN0YXJ0 ZWQgeWV0CisrICAgIGtSdW5uaW5nLCAgICAgICAgICAgLy8gU3RhcnRlZCwgZGV2aWNlIHBsYXlp bmcKKysgICAga1N0b3BXYWl0ICAgICAgICAgICAvLyBTdG9wcGluZywgd2FpdGluZyBmb3IgdGhl IHJlYWwtdGltZSB0aHJlYWQgdG8gZXhpdAorKyAgfTsKKysKKysgIC8vIEMtc3R5bGUgY2FsbC1i YWNrcworKyAgc3RhdGljIHZvaWQgT25Nb3ZlQ2FsbGJhY2sodm9pZCAqYXJnLCBpbnQgZGVsdGEp OworKyAgc3RhdGljIHZvaWQgT25Wb2xDYWxsYmFjayh2b2lkICphcmcsIHVuc2lnbmVkIGludCB2 b2wpOworKyAgc3RhdGljIHZvaWQqIFRocmVhZEVudHJ5KHZvaWQgKmFyZyk7CisrCisrICAvLyBD b250aW51b3VzbHkgbW92ZXMgZGF0YSBmcm9tIHRoZSBwcm9kdWNlciB0byB0aGUgZGV2aWNlCisr ICB2b2lkIFRocmVhZExvb3Aodm9pZCk7CisrCisrICAvLyBPdXIgY3JlYXRvciwgdGhlIGF1ZGlv IG1hbmFnZXIgbmVlZHMgdG8gYmUgbm90aWZpZWQgd2hlbiB3ZSBjbG9zZS4KKysgIEF1ZGlvTWFu YWdlckJhc2UqIG1hbmFnZXI7CisrICAvLyBQYXJhbWV0ZXJzIG9mIHRoZSBzb3VyY2UKKysgIEF1 ZGlvUGFyYW1ldGVycyBwYXJhbXM7CisrICAvLyBTb3VyY2Ugc3RvcmVzIGRhdGEgaGVyZQorKyAg c3RkOjp1bmlxdWVfcHRyPEF1ZGlvQnVzPiBhdWRpb19idXM7CisrICAvLyBDYWxsLWJhY2sgdGhh dCBwcm9kdWNlcyBkYXRhIHRvIHBsYXkKKysgIEF1ZGlvU291cmNlQ2FsbGJhY2sqIHNvdXJjZTsK KysgIC8vIEhhbmRsZSBvZiB0aGUgYXVkaW8gZGV2aWNlCisrICBzdHJ1Y3Qgc2lvX2hkbCogaGRs OworKyAgLy8gQ3VycmVudCBzdGF0ZSBvZiB0aGUgc3RyZWFtCisrICBlbnVtIFN0cmVhbVN0YXRl IHN0YXRlOworKyAgLy8gSGlnaCBwcmlvcml0eSB0aHJlYWQgcnVubmluZyBUaHJlYWRMb29wKCkK KysgIHB0aHJlYWRfdCB0aHJlYWQ7CisrICAvLyBQcm90ZWN0cyB2b2wsIHZvbHBlbmRpbmcgYW5k IGh3X2RlbGF5CisrICBwdGhyZWFkX211dGV4X3QgbXV0ZXg7CisrICAvLyBDdXJyZW50IHZvbHVt ZSBpbiB0aGUgMC4uU0lPX01BWFZPTCByYW5nZQorKyAgaW50IHZvbDsKKysgIC8vIFNldCB0byAx IGlmIHZvbHVtZXMgbXVzdCBiZSByZWZyZXNoZWQgaW4gdGhlIHJlYWx0aW1lIHRocmVhZAorKyAg aW50IHZvbHBlbmRpbmc7CisrICAvLyBOdW1iZXIgb2YgZnJhbWVzIGJ1ZmZlcmVkIGluIHRoZSBo YXJkd2FyZQorKyAgaW50IGh3X2RlbGF5OworKyAgLy8gVGVtcG9yYXJ5IGJ1ZmZlciB3aGVyZSBk YXRhIGlzIHN0b3JlZCBzbmRpby1jb21wYXRpYmxlIGZvcm1hdAorKyAgY2hhciogYnVmZmVyOwor KworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0pOwor K307CisrCisrfSAgLy8gbmFtZXNwYWNlIG1lZGlhCisrCisrI2VuZGlmICAvLyBNRURJQV9BVURJ T19TTkRJT19TTkRJT19PVVRQVVRfSF8KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRp YS9tZWRpYV9vcHRpb25zLmduaQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL21l ZGlhX29wdGlvbnMuZ25pCitAQCAtMTIxLDYgKzEyMSw5IEBAIGRlY2xhcmVfYXJncygpIHsKKyAg ICMgRW5hYmxlcyBydW50aW1lIHNlbGVjdGlvbiBvZiBBTFNBIGxpYnJhcnkgZm9yIGF1ZGlvLgor ICAgdXNlX2Fsc2EgPSBmYWxzZQorIAorKyAgIyBFbmFibGUgcnVudGltZSBzZWxlY3Rpb24gb2Yg c25kaW8oNykKKysgIHVzZV9zbmRpbyA9IGZhbHNlCisrCisgICAjIEFsc2Egc2hvdWxkIGJlIHVz ZWQgb24gbm9uLUFuZHJvaWQsIG5vbi1NYWMgUE9TSVggc3lzdGVtcy4KKyAgICMgQWxzYSBzaG91 bGQgYmUgdXNlZCBvbiBkZXNrdG9wIENocm9tZWNhc3QgYW5kIGF1ZGlvLW9ubHkgQ2hyb21lY2Fz dCBidWlsZHMuCisgICBpZiAoaXNfcG9zaXggJiYgIWlzX2FuZHJvaWQgJiYgIWlzX21hYyAmJgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDcwMC1hcm12N2wtbmVv bi5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3MDAtYXJtdjdsLW5lb24u cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNDJmYTE5YTA3 YTEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzAw LWFybXY3bC1uZW9uLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9za2lhL0JVSUxELmduCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2tpYS9C VUlMRC5nbgorQEAgLTgwMCw3ICs4MDAsNiBAQCBza2lhX3NvdXJjZV9zZXQoInNraWFfb3B0cyIp IHsKKyAgICAgICAgICMgUm9vdCBidWlsZCBjb25maWcgc2V0cyAtbWZwdT0kYXJtX2ZwdSwgd2hp Y2ggd2UgZXhwZWN0IHRvIGJlIG5lb24KKyAgICAgICAgICMgd2hlbiBydW5uaW5nIHRoaXMuCisg ICAgICAgICBpZiAoIWFybV91c2VfbmVvbikgeworLSAgICAgICAgICBjb25maWdzIC09IFsgIi8v YnVpbGQvY29uZmlnL2NvbXBpbGVyOmNvbXBpbGVyX2FybV9mcHUiIF0KKyAgICAgICAgICAgY2Zs YWdzICs9IFsgIi1tZnB1PW5lb24iIF0KKyAgICAgICAgIH0KKyAgICAgICB9CmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUwLWNocm9taXVtLW11c2wtY3Jvc3Mt bm8tYXNtX3B0cmFjZV9oLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1 MC1jaHJvbWl1bS1tdXNsLWNyb3NzLW5vLWFzbV9wdHJhY2VfaC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNjZjEzMjkwOGFmNAotLS0gL2Rldi9udWxsCisr KyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTAtY2hyb21pdW0tbXVzbC1jcm9z cy1uby1hc21fcHRyYWNlX2gucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCitAQCAtMzgsNyArMzgs MTIgQEAKKyAKKyAjaW5jbHVkZSAiY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9w dHJhY2VfZHVtcGVyLmgiCisgCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxh c20vcHRyYWNlLmg+CisrI2Vsc2UKKysvKiBGb3IgYXJtKi1tdXNsIHRoaXMgZGVmaW5pdGlvbiBp cyBtaXNzaW5nICovCisrI2RlZmluZSBBUk1fc3AgdXJlZ3NbMTNdCisrI2VuZGlmCisgI2luY2x1 ZGUgPGFzc2VydC5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorICNpbmNsdWRlIDxmY250bC5oPgor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKK0BA IC0zMiw3ICszMiwxMiBAQAorIAorICNpbmNsdWRlICJjbGllbnQvbGludXgvbWluaWR1bXBfd3Jp dGVyL2xpbnV4X2NvcmVfZHVtcGVyLmgiCisgCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQorICNp bmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2Vsc2UKKysvKiBGb3IgYXJtKi1tdXNsIHRoaXMgZGVm aW5pdGlvbiBpcyBtaXNzaW5nICovCisrI2RlZmluZSBBUk1fc3AgdXJlZ3NbMTNdCisrI2VuZGlm CisgI2luY2x1ZGUgPGFzc2VydC5oPgorICNpbmNsdWRlIDxlbGYuaD4KKyAjaW5jbHVkZSA8c3Rk aW8uaD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTEtY2hy b21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wNzUxLWNocm9taXVtLW11c2wtYXJtLXVzZXJfdmZwLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNmUyZDYyZjM1ZWU2Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MS1jaHJvbWl1bS1tdXNsLWFybS11 c2VyX3ZmcC5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5o CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCitAQCAtMTcsNiArMTcsMTcgQEAKKyAKKyAjaW5j bHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPHN5cy91c2VyLmg+CisrI2lmICFkZWZpbmVkKF9f R0xJQkNfXykKKytzdHJ1Y3QgdXNlcl92ZnAgeworKwl1bnNpZ25lZCBsb25nIGxvbmcgZnByZWdz WzMyXTsKKysJdW5zaWduZWQgbG9uZyBmcHNjcjsKKyt9OworK3N0cnVjdCB1c2VyX3ZmcF9leGMg eworKwl1bnNpZ25lZCBsb25nIGZwZXhjOworKwl1bnNpZ25lZCBsb25nIGZwaW5zdDsKKysJdW5z aWduZWQgbG9uZyBmcGluc3QyOworK307CisrI2VuZGlmIC8qICFkZWZpbmVkKF9fR0xJQkNfXykg Ki8KKyAKKyAjaW5jbHVkZSA8dHlwZV90cmFpdHM+CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUyLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0 Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUyLWNocm9taXVtLW11c2wtYXJt LWVsZl9hdXh2X3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li43MTEyYzhjZmQzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wNzUyLWNocm9taXVtLW11c2wtYXJtLWVsZl9hdXh2X3QucGF0Y2gKQEAgLTAsMCAr MSwxOCBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL2NwdS5jYwor KysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3NyYy9iYXNlL2NwdS5jYworQEAgLTE2Myw2 ICsxNjMsMTUgQEAgc3RhdGljIFY4X0lOTElORSB2b2lkIF9fY3B1aWQoaW50IGNwdV9pbgorIAor ICNpZiBWOF9IT1NUX0FSQ0hfQVJNIHx8IFY4X0hPU1RfQVJDSF9BUk02NAorIAorKyNpZm5kZWYg X19HTElCQ19fCisrI2luY2x1ZGUgPGVsZi5oPgorKyNpZmRlZiBfX0xQNjRfXworK3R5cGVkZWYg RWxmNjRfYXV4dl90IGVsZl9hdXh2X3Q7CisrI2Vsc2UKKyt0eXBlZGVmIEVsZjMyX2F1eHZfdCBl bGZfYXV4dl90OworKyNlbmRpZgorKyNlbmRpZgorKworIHN0YXRpYyB1aW50MzJfdCBSZWFkRUxG SFdDYXBzKCkgeworICAgdWludDMyX3QgcmVzdWx0ID0gMDsKKyAjaWYgVjhfR0xJQkNfUFJFUkVR KDIsIDE2KQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDgwMS1j aHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDgwMS1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uM2Q0MDQzZTAzYjg5Ci0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDgwMS1jaHJvbWl1 bS1pNjg2LXZhYXBpLWZwZXJtaXNzaXZlLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24KKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9ncHUvdmFhcGkvQlVJTEQuZ24KK0BAIC0xNCw2ICsxNCwx MCBAQCBpbXBvcnQoIi8vdWkvZ2wvZmVhdHVyZXMuZ25pIikKKyBhc3NlcnQoaXNfbGludXggfHwg aXNfY2hyb21lb3MpCisgYXNzZXJ0KHVzZV92YWFwaSkKKyAKKytjb25maWcoInZhYXBpX3Blcm1p c3NpdmUiKSB7CisrICBjZmxhZ3MgPSBbICItZnBlcm1pc3NpdmUiIF0KKyt9CisrCisgZ2VuZXJh dGVfc3R1YnMoImxpYnZhX3N0dWJzIikgeworICAgZXh0cmFfaGVhZGVyID0gInZhX3N0dWJfaGVh ZGVyLmZyYWdtZW50IgorICAgc2lncyA9IFsgInZhLnNpZ3MiIF0KK0BAIC0xMzYsNiArMTQwLDEw IEBAIHNvdXJjZV9zZXQoInZhYXBpIikgeworICAgICBdCisgICB9CisgCisrICBpZiAodGFyZ2V0 X2NwdSA9PSAieDg2IikgeworKyAgICBjb25maWdzICs9IFsgIjp2YWFwaV9wZXJtaXNzaXZlIiBd CisrICB9CisrCisgICBpZiAodXNlX3gxMSkgeworICAgICBkZXBzICs9IFsgIi8vdWkvZ2Z4L3gi IF0KKyAgICAgc291cmNlcyArPSBbCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wOTAwLXh4eC1wcGM2NGxlLWxpYnZweC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzA5MDAteHh4LXBwYzY0bGUtbGlidnB4LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNWM5NTY2YjU2YmQ0Ci0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMC14eHgtcHBjNjRsZS1saWJ2cHgu cGF0Y2gKQEAgLTAsMCArMSw2NSBAQAorVXNlcyBnZW5lcmljIHRhcmdldCBmb3Igbm93LiBUbyB1 c2UgcHBjNjRsZSwgY2hhbmdlIC0tdGFyZ2V0IHRvIHBwYzY0bGUtZ251CithbmQgYWRkIC0tZW5h YmxlLXZzeCwgYW5kIGNoYW5nZSBnZW5lcmljIHRvIHBwYyBmb3IgdGhlIHJ0Y2QgaGVhZGVyLgor CitGcm9tIDE4ZTZjNWM1NWNmYWUwY2ZiNDU4ZDgyMTBkN2JjNzA5MzYwYTBlOTAgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgorRGF0ZTog V2VkLCA5IFNlcCAyMDIwIDE5OjA4OjI1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGVuYWJsZSBn ZW5lcmF0aW9uIG9mIHBwYzY0IGxpYnZweCBiaXRzCisKK3RoaXMgZG9lc24ndCB1cGRhdGUgdGhl IGduaSBmaWxlLCB0aGF0J3MgZG9uZSBmcm9tCit0aGUgdGVtcGxhdGUgYnkgcnVubmluZyB0aGUg YXBwcm9wcmlhdGUgc2NyaXB0cworLS0tCisgdGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduICAg ICAgICB8IDQgKysrKworIHRoaXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2ggfCA5ICsr KysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKQorCistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlidnB4L0JVSUxELmduCitAQCAtNDI0LDYg KzQyNCw4IEBAIHN0YXRpY19saWJyYXJ5KCJidW5kbGVkX2xpYnZweCIpIHsKKyAgICAgICBzb3Vy Y2VzID0gbGlidnB4X3NyY3NfYXJtNjQKKyAgICAgICBwdWJsaWNfZGVwcyA9IFsgIjpsaWJ2cHhf YXJtNjRfaGVhZGVycyIgXQorICAgICB9CisrICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJw cGM2NCIpIHsKKysgICAgc291cmNlcyA9IGxpYnZweF9zcmNzX3BwYzY0CisgICB9CisgCisgICBj b25maWdzIC09IFsgIi8vYnVpbGQvY29uZmlnL2NvbXBpbGVyOmNocm9taXVtX2NvZGUiIF0KKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJ2cHgvZ2VuZXJhdGVfZ25p LnNoCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlidnB4L2dlbmVy YXRlX2duaS5zaAorQEAgLTM3NCw2ICszNzQsNyBAQCBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2Fy bS1uZW9uLWhpZ2hiZCAiCisgZ2VuX2NvbmZpZ19maWxlcyBsaW51eC9hcm02NC1oaWdoYmQgIi0t dGFyZ2V0PWFybXY4LWxpbnV4LWdjYyAke2FsbF9wbGF0Zm9ybXN9ICR7SElHSEJEfSIKKyBnZW5f Y29uZmlnX2ZpbGVzIGxpbnV4L21pcHNlbCAiLS10YXJnZXQ9bWlwczMyLWxpbnV4LWdjYyAke2Fs bF9wbGF0Zm9ybXN9IgorIGdlbl9jb25maWdfZmlsZXMgbGludXgvbWlwczY0ZWwgIi0tdGFyZ2V0 PW1pcHM2NC1saW51eC1nY2MgJHthbGxfcGxhdGZvcm1zfSIKKytnZW5fY29uZmlnX2ZpbGVzIGxp bnV4L3BwYzY0ICItLXRhcmdldD1nZW5lcmljLWdudSAkSElHSEJEICR7YWxsX3BsYXRmb3Jtc30i CisgZ2VuX2NvbmZpZ19maWxlcyBsaW51eC9nZW5lcmljICItLXRhcmdldD1nZW5lcmljLWdudSAk SElHSEJEICR7YWxsX3BsYXRmb3Jtc30iCisgZ2VuX2NvbmZpZ19maWxlcyB3aW4vYXJtNjQgIi0t dGFyZ2V0PWFybTY0LXdpbjY0LXZzMTUgJHthbGxfcGxhdGZvcm1zfSAke0hJR0hCRH0iCisgZ2Vu X2NvbmZpZ19maWxlcyB3aW4vaWEzMiAiLS10YXJnZXQ9eDg2LXdpbjMyLXZzMTQgJHthbGxfcGxh dGZvcm1zfSAke3g4Nl9wbGF0Zm9ybXN9IgorQEAgLTM5OSw2ICs0MDAsNyBAQCBsaW50X2NvbmZp ZyBsaW51eC9hcm0tbmVvbi1oaWdoYmQKKyBsaW50X2NvbmZpZyBsaW51eC9hcm02NC1oaWdoYmQK KyBsaW50X2NvbmZpZyBsaW51eC9taXBzZWwKKyBsaW50X2NvbmZpZyBsaW51eC9taXBzNjRlbAor K2xpbnRfY29uZmlnIGxpbnV4L3BwYzY0CisgbGludF9jb25maWcgbGludXgvZ2VuZXJpYworIGxp bnRfY29uZmlnIHdpbi9hcm02NAorIGxpbnRfY29uZmlnIHdpbi9pYTMyCitAQCAtNDI4LDYgKzQz MCw3IEBAIGdlbl9ydGNkX2hlYWRlciBsaW51eC9hcm0tbmVvbi1oaWdoYmQgYXIKKyBnZW5fcnRj ZF9oZWFkZXIgbGludXgvYXJtNjQtaGlnaGJkIGFybXY4CisgZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4 L21pcHNlbCBtaXBzZWwKKyBnZW5fcnRjZF9oZWFkZXIgbGludXgvbWlwczY0ZWwgbWlwczY0ZWwK KytnZW5fcnRjZF9oZWFkZXIgbGludXgvcHBjNjQgZ2VuZXJpYworIGdlbl9ydGNkX2hlYWRlciBs aW51eC9nZW5lcmljIGdlbmVyaWMKKyBnZW5fcnRjZF9oZWFkZXIgd2luL2FybTY0IGFybXY4Cisg Z2VuX3J0Y2RfaGVhZGVyIHdpbi9pYTMyIHg4NiAiJHtyZXF1aXJlX3NzZTJ9IgorQEAgLTUxMyw2 ICs1MTYsMTIgQEAgaWYgWyAteiAkT05MWV9DT05GSUdTIF07IHRoZW4KKyAKKyAgIGVjaG8gIk1J UFM2NCBzb3VyY2UgbGlzdCBpcyBpZGVudGljYWwgdG8gTUlQUyBzb3VyY2UgbGlzdC4gTm8gbmVl ZCB0byBnZW5lcmF0ZSBpdC4iCisgCisrICBlY2hvICJHZW5lcmF0ZSBwcGM2NCBzb3VyY2UgbGlz dC4iCisrICBjb25maWc9JChwcmludF9jb25maWdfYmFzaWMgbGludXgvcHBjNjQpCisrICBtYWtl X2NsZWFuCisrICBtYWtlIGxpYnZweF9zcmNzLnR4dCB0YXJnZXQ9bGlicyAkY29uZmlnID4gL2Rl di9udWxsCisrICBjb252ZXJ0X3NyY3NfdG9fcHJvamVjdF9maWxlcyBsaWJ2cHhfc3Jjcy50eHQg bGlidnB4X3NyY3NfcHBjNjQKKysKKyAgIGVjaG8gIkdlbmVyYXRlIE5hQ2wgc291cmNlIGxpc3Qu IgorICAgY29uZmlnPSQocHJpbnRfY29uZmlnX2Jhc2ljIG5hY2wpCisgICBtYWtlX2NsZWFuCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAxLXh4eC1wcGM2NGxl LXNhbmRib3gtbGludXgtc3RhdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVz LzA5MDEteHh4LXBwYzY0bGUtc2FuZGJveC1saW51eC1zdGF0LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNGI4ZTYzMjA2MDFjCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMS14eHgtcHBjNjRsZS1zYW5kYm94 LWxpbnV4LXN0YXQucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9z dGF0LmgKK0BAIC0xNTUsNiArMTU1LDI4IEBAIHN0cnVjdCBrZXJuZWxfc3RhdCB7CisgICB1bnNp Z25lZCBpbnQgX191bnVzZWQ0OworICAgdW5zaWduZWQgaW50IF9fdW51c2VkNTsKKyB9OworKyNl bGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKytzdHJ1Y3Qga2VybmVsX3N0YXQgeworKyAgdW5z aWduZWQgbG9uZwlzdF9kZXY7CisrICB1bnNpZ25lZCBsb25nCXN0X2lubzsKKysgIHVuc2lnbmVk IGxvbmcJc3Rfbmxpbms7CisrICB1bnNpZ25lZCBpbnQJc3RfbW9kZTsKKysgIHVuc2lnbmVkIGlu dAlzdF91aWQ7CisrICB1bnNpZ25lZCBpbnQJc3RfZ2lkOworKyAgdW5zaWduZWQgbG9uZwlzdF9y ZGV2OworKyAgbG9uZwkJc3Rfc2l6ZTsKKysgIHVuc2lnbmVkIGxvbmcJc3RfYmxrc2l6ZTsKKysg IHVuc2lnbmVkIGxvbmcJc3RfYmxvY2tzOworKyAgdW5zaWduZWQgbG9uZwlzdF9hdGltZV87Cisr ICB1bnNpZ25lZCBsb25nCXN0X2F0aW1lX25zZWNfOworKyAgdW5zaWduZWQgbG9uZwlzdF9tdGlt ZV87CisrICB1bnNpZ25lZCBsb25nCXN0X210aW1lX25zZWNfOworKyAgdW5zaWduZWQgbG9uZwlz dF9jdGltZV87CisrICB1bnNpZ25lZCBsb25nCXN0X2N0aW1lX25zZWNfOworKyAgdW5zaWduZWQg bG9uZwlfX3VudXNlZDQ7CisrICB1bnNpZ25lZCBsb25nCV9fdW51c2VkNTsKKysgIHVuc2lnbmVk IGxvbmcJX191bnVzZWQ2OworK307CisgI2VuZGlmCisgCisgI2lmICFkZWZpbmVkKEFUX0VNUFRZ X1BBVEgpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAyLXh4 eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w OTAyLXh4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi4zM2Q0MTVlNTVmNjkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAyLXh4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKQEAgLTAs MCArMSwzNTU2IEBACitjb21taXQgMmMwMTNhMzE3YjExMTRlZjY3Y2RiYmMzMDgyNGIyODkwN2I5 ZWE5NAorQXV0aG9yOiBEYW5pZWwgS29sZXNhIDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KK0RhdGU6 ICAgV2VkIE1hciAzIDE5OjA4OjI5IDIwMjEgKzAxMDAKKworICAgIHBwYzY0bGUgc3VwcG9ydAor CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9mZWF0dXJlcy5nbmkKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2ZlYXR1cmVzLmduaQorQEAgLTExLDcgKzEx LDggQEAgaW1wb3J0KCIvL2J1aWxkL2NvbmZpZy9uYWNsL2NvbmZpZy5nbmkiKQorIHVzZV9zZWNj b21wX2JwZiA9IChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRyb2lkKSAmJgorICAg ICAgICAgICAgICAgICAgIChjdXJyZW50X2NwdSA9PSAieDg2IiB8fCBjdXJyZW50X2NwdSA9PSAi eDY0IiB8fAorICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAiYXJtIiB8fCBjdXJy ZW50X2NwdSA9PSAiYXJtNjQiIHx8CistICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09 ICJtaXBzZWwiIHx8IGN1cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIpCisrICAgICAgICAgICAgICAg ICAgIGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiIHx8IGN1cnJlbnRfY3B1ID09ICJtaXBzNjRlbCIg fHwKKysgICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gInBwYzY0IikKKyAKKyB1c2Vf c2VjY29tcF9icGYgPSB1c2Vfc2VjY29tcF9icGYgfHwgaXNfbmFjbF9ub25zZmkKKyAKKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L0JVSUxELmduCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9CVUlMRC5nbgorQEAgLTQzMyw2ICs0MzMs OCBAQCBjb21wb25lbnQoInNhbmRib3hfc2VydmljZXMiKSB7CisgCisgc291cmNlX3NldCgic2Fu ZGJveF9zZXJ2aWNlc19oZWFkZXJzIikgeworICAgc291cmNlcyA9IFsKKysgICAgInN5c3RlbV9o ZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgiLAorKyAgICAic3lzdGVtX2hlYWRlcnMvcHBj NjRfbGludXhfdWNvbnRleHQuaCIsCisgICAgICJzeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9z eXNjYWxscy5oIiwKKyAgICAgInN5c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oIiwK KyAgICAgInN5c3RlbV9oZWFkZXJzL2FybV9saW51eF91Y29udGV4dC5oIiwKKy0tLSBhL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5n ZXMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvYnBmX2RzbC9s aW51eF9zeXNjYWxsX3Jhbmdlcy5oCitAQCAtNTYsNiArNTYsMTMgQEAKKyAjZGVmaW5lIE1BWF9Q VUJMSUNfU1lTQ0FMTCBfX05SX3N5c2NhbGxzCisgI2RlZmluZSBNQVhfU1lTQ0FMTCBNQVhfUFVC TElDX1NZU0NBTEwKKyAKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrCisrI2luY2x1 ZGUgPGFzbS91bmlzdGQuaD4KKysjZGVmaW5lIE1JTl9TWVNDQUxMIDB1CisrI2RlZmluZSBNQVhf UFVCTElDX1NZU0NBTEwgMzg2dQorKyNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19TWVND QUxMCisrCisgI2Vsc2UKKyAjZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSIKKyAjZW5k aWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2Vj Y29tcF9tYWNyb3MuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv YnBmX2RzbC9zZWNjb21wX21hY3Jvcy5oCitAQCAtMTYsNiArMTYsOSBAQAorICNpZiBkZWZpbmVk KF9fbWlwc19fKQorIC8vIHN5cy91c2VyLmggaW4gZWdsaWJjIG1pc3NlcyBzaXplX3QgZGVmaW5p dGlvbgorICNpbmNsdWRlIDxzdGRkZWYuaD4KKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18p ICYmIGRlZmluZWQoX19HTElCQ19fKQorKy8vIE1hbnVhbGx5IGRlZmluZSBncmVnX3Qgb24gcHBj NjQKKyt0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBncmVnX3Q7CisgI2VuZGlmCisgI2VuZGlm CisgCitAQCAtMzQ2LDYgKzM0OSw1OSBAQCBzdHJ1Y3QgcmVnc19zdHJ1Y3QgeworICNkZWZpbmUg U0VDQ09NUF9QVF9QQVJNNChfcmVncykgKF9yZWdzKS5yZWdzWzNdCisgI2RlZmluZSBTRUNDT01Q X1BUX1BBUk01KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbNF0KKyAjZGVmaW5lIFNFQ0NPTVBfUFRfUEFS TTYoX3JlZ3MpIChfcmVncykucmVnc1s1XQorKworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKKysjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKworK3R5cGVkZWYgc3RydWN0IHB0X3JlZ3Mg cmVnc19zdHJ1Y3Q7CisrCisrI2lmZGVmIEFSQ0hfQ1BVX0xJVFRMRV9FTkRJQU4KKysjZGVmaW5l IFNFQ0NPTVBfQVJDSCBBVURJVF9BUkNIX1BQQzY0TEUKKysjZWxzZQorKyNkZWZpbmUgU0VDQ09N UF9BUkNIIEFVRElUX0FSQ0hfUFBDNjQKKysjZW5kaWYKKysKKysjaWZkZWYgX19HTElCQ19fCisr I2RlZmluZSBTRUNDT01QX1JFRyhfY3R4LCBfcmVnKSAoKF9jdHgpLT51Y19tY29udGV4dC5yZWdz LT5ncHJbX3JlZ10pCisrI2Vsc2UKKysjZGVmaW5lIFNFQ0NPTVBfUkVHKF9jdHgsIF9yZWcpICgo KHN0cnVjdCBwdF9yZWdzICopKF9jdHgpLT51Y19tY29udGV4dC5yZWdzKS0+Z3ByW19yZWddKQor KyNlbmRpZgorKworKyNkZWZpbmUgU0VDQ09NUF9SRVNVTFQoX2N0eCkgU0VDQ09NUF9SRUcoX2N0 eCwgMykKKysjZGVmaW5lIFNFQ0NPTVBfU1lTQ0FMTChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAw KQorKyNpZmRlZiBfX0dMSUJDX18KKysjZGVmaW5lIFNFQ0NPTVBfSVAoX2N0eCkgKF9jdHgpLT51 Y19tY29udGV4dC5yZWdzLT5uaXAKKysjZWxzZQorKyNkZWZpbmUgU0VDQ09NUF9JUChfY3R4KSAo KHN0cnVjdCBwdF9yZWdzICopKF9jdHgpLT51Y19tY29udGV4dC5yZWdzKS0+bmlwCisrI2VuZGlm CisrI2RlZmluZSBTRUNDT01QX1BBUk0xKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDMpCisrI2Rl ZmluZSBTRUNDT01QX1BBUk0yKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDQpCisrI2RlZmluZSBT RUNDT01QX1BBUk0zKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDUpCisrI2RlZmluZSBTRUNDT01Q X1BBUk00KF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDYpCisrI2RlZmluZSBTRUNDT01QX1BBUk01 KF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDcpCisrI2RlZmluZSBTRUNDT01QX1BBUk02KF9jdHgp IFNFQ0NPTVBfUkVHKF9jdHgsIDgpCisrCisrI2RlZmluZSBTRUNDT01QX05SX0lEWCAob2Zmc2V0 b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBucikpCisrI2RlZmluZSBTRUNDT01QX0FSQ0hf SURYIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGFyY2gpKQorKyNkZWZpbmUg U0VDQ09NUF9JUF9NU0JfSURYIFwKKysgIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2Rh dGEsIGluc3RydWN0aW9uX3BvaW50ZXIpICsgNCkKKysjZGVmaW5lIFNFQ0NPTVBfSVBfTFNCX0lE WCBcCisrICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBpbnN0cnVjdGlvbl9w b2ludGVyKSArIDApCisrI2RlZmluZSBTRUNDT01QX0FSR19NU0JfSURYKG5yKSBcCisrICAob2Zm c2V0b2Yoc3RydWN0IGFyY2hfc2VjY29tcF9kYXRhLCBhcmdzKSArIDggKiAobnIpICsgNCkKKysj ZGVmaW5lIFNFQ0NPTVBfQVJHX0xTQl9JRFgobnIpIFwKKysgIChvZmZzZXRvZihzdHJ1Y3QgYXJj aF9zZWNjb21wX2RhdGEsIGFyZ3MpICsgOCAqIChucikgKyAwKQorKworKyNkZWZpbmUgU0VDQ09N UF9QVF9SRVNVTFQoX3JlZ3MpIChfcmVncykuZ3ByWzNdCisrI2RlZmluZSBTRUNDT01QX1BUX1NZ U0NBTEwoX3JlZ3MpIChfcmVncykuZ3ByWzBdCisrI2RlZmluZSBTRUNDT01QX1BUX0lQKF9yZWdz KSAoX3JlZ3MpLm5pcAorKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNMShfcmVncykgKF9yZWdzKS5n cHJbM10KKysjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTIoX3JlZ3MpIChfcmVncykuZ3ByWzRdCisr I2RlZmluZSBTRUNDT01QX1BUX1BBUk0zKF9yZWdzKSAoX3JlZ3MpLmdwcls1XQorKyNkZWZpbmUg U0VDQ09NUF9QVF9QQVJNNChfcmVncykgKF9yZWdzKS5ncHJbNl0KKysjZGVmaW5lIFNFQ0NPTVBf UFRfUEFSTTUoX3JlZ3MpIChfcmVncykuZ3ByWzddCisrI2RlZmluZSBTRUNDT01QX1BUX1BBUk02 KF9yZWdzKSAoX3JlZ3MpLmdwcls4XQorKworICNlbHNlCisgI2Vycm9yIFVuc3VwcG9ydGVkIHRh cmdldCBwbGF0Zm9ybQorIAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVf cG9saWN5LmNjCitAQCAtOTAsNyArOTAsNyBAQCBib29sIElzQmFzZWxpbmVQb2xpY3lXYXRjaGVk KGludCBzeXNubykKKyAgICAgICAgICBTeXNjYWxsU2V0czo6SXNOdW1hKHN5c25vKSB8fAorICAg ICAgICAgIFN5c2NhbGxTZXRzOjpJc1ByY3RsKHN5c25vKSB8fAorICAgICAgICAgIFN5c2NhbGxT ZXRzOjpJc1Byb2Nlc3NHcm91cE9yU2Vzc2lvbihzeXNubykgfHwKKy0jaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQo QVJDSF9DUFVfMzJfQklUUykpCisgICAgICAgICAgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChz eXNubykgfHwKKyAjZW5kaWYKK0BAIC0yNTgsNyArMjU4LDcgQEAgUmVzdWx0RXhwciBFdmFsdWF0 ZVN5c2NhbGxJbXBsKGludCBmc19kZQorICAgfQorIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVm aW5lZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorICAgaWYgKHN5c25vID09IF9fTlJfbW1hcCkKKyAgICAgcmV0dXJuIFJl c3RyaWN0TW1hcEZsYWdzKCk7CisgI2VuZGlmCitAQCAtMjc5LDcgKzI3OSw3IEBAIFJlc3VsdEV4 cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKKyAgICAgcmV0dXJuIFJlc3RyaWN0UHJj dGwoKTsKKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8 IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysgICAg ZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgaWYgKHN5 c25vID09IF9fTlJfc29ja2V0cGFpcikgeworICAgICAvLyBPbmx5IGFsbG93IEFGX1VOSVgsIFBG X1VOSVguIENyYXNoIGlmIGFueXRoaW5nIGVsc2UgaXMgc2Vlbi4KKyAgICAgc3RhdGljX2Fzc2Vy dChBRl9VTklYID09IFBGX1VOSVgsCitAQCAtMzQzLDcgKzM0Myw4IEBAIFJlc3VsdEV4cHIgRXZh bHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGUKKyAgIH0KKyAKKyAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgXAorLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkKKysgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorICAgaWYgKFN5c2NhbGxTZXRzOjpJc1NvY2tldENhbGwoc3lzbm8pKQorICAgICByZXR1 cm4gUmVzdHJpY3RTb2NrZXRjYWxsQ29tbWFuZCgpOworICNlbmRpZgorLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9w b2xpY3lfdW5pdHRlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5X3VuaXR0ZXN0LmNjCitAQCAt MzE3LDcgKzMxNyw3IEBAIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfc3lzaW5mbykKKyBURVNU X0JBU0VMSU5FX1NJR1NZUyhfX05SX3N5c2xvZykKKyBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05S X3RpbWVyX2NyZWF0ZSkKKyAKKy0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCisrI2lmICFkZWZp bmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIFRFU1RfQkFTRUxJ TkVfU0lHU1lTKF9fTlJfaW5vdGlmeV9pbml0KQorIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJf dnNlcnZlcikKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5j YworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYt aGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCitAQCAtNDAsNiArNDAs NyBAQAorICNpbmNsdWRlIDxzeXMvcHRyYWNlLmg+CisgI2lmIChkZWZpbmVkKE9TX0xJTlVYKSB8 fCBCVUlMREZMQUcoSVNfQ0hST01FT1NfTEFDUk9TKSkgJiYgXAorICAgICAhZGVmaW5lZChfX2Fy bV9fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgICAgICAgICAgIFwKKysgICAgIWRlZmlu ZWQoX19wb3dlcnBjNjRfXykgJiYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg ICFkZWZpbmVkKFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEpCisgLy8gQWxzbyBpbmNsdWRlIGFzbS9w dHJhY2UtYWJpLmggc2luY2UgcHRyYWNlLmggaW4gb2xkZXIgbGliYyAoZm9yIGluc3RhbmNlCisg Ly8gdGhlIG9uZSBpbiBVYnVudHUgMTYuMDQgTFRTKSBpcyBtaXNzaW5nIFBUUkFDRV9HRVRfVEhS RUFEX0FSRUEuCitAQCAtNDksNiArNTAsMTEgQEAKKyAjZW5kaWYKKyAjZW5kaWYgIC8vICFPU19O QUNMX05PTlNGSQorIAorKy8vIE9uIFBQQzY0LCBUQ0dFVFMgaXMgZGVmaW5lZCBpbiB0ZXJtcyBv ZiBzdHJ1Y3QgdGVybWlvcywgc28gd2UgbXVzdCBpbmNsdWRlIHRlcm1pb3MuaAorKyNpZmRlZiBf X3Bvd2VycGM2NF9fCisrI2luY2x1ZGUgPHRlcm1pb3MuaD4KKysjZW5kaWYKKysKKyAjaWYgZGVm aW5lZChPU19BTkRST0lEKQorIAorICNpZiAhZGVmaW5lZChGX0RVUEZEX0NMT0VYRUMpCitAQCAt MTA2LDYgKzExMiwxNCBAQCBpbmxpbmUgYm9vbCBJc0FyY2hpdGVjdHVyZU1pcHMoKSB7CisgI2Vu ZGlmCisgfQorIAorK2lubGluZSBib29sIElzQXJjaGl0ZWN0dXJlUFBDNjQoKSB7CisrI2lmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKKysgIHJldHVybiB0cnVlOworKyNlbHNlCisrICByZXR1cm4g ZmFsc2U7CisrI2VuZGlmCisrfQorKworIC8vIFVidW50dSdzIHZlcnNpb24gb2YgZ2xpYmMgaGFz IGEgcmFjZSBjb25kaXRpb24gaW4gc2VtX3Bvc3QgdGhhdCBjYW4gY2F1c2UKKyAvLyBpdCB0byBj YWxsIGZ1dGV4KDIpIHdpdGggYm9ndXMgb3AgYXJndW1lbnRzLiBUbyB3b3JrYXJvdW5kIHRoaXMs IHdlIG5lZWQKKyAvLyB0byBhbGxvdyB0aG9zZSBmdXRleCgyKSBjYWxscyB0byBmYWlsIHdpdGgg RUlOVkFMLCBpbnN0ZWFkIG9mIGNyYXNoaW5nIHRoZQorQEAgLTI3MCw2ICsyODQsOCBAQCBSZXN1 bHRFeHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpIHsKKyAgIHVpbnQ2NF90IGtPTGFyZ2VGaWxl RmxhZyA9IE9fTEFSR0VGSUxFOworICAgaWYgKElzQXJjaGl0ZWN0dXJlWDg2XzY0KCkgfHwgSXNB cmNoaXRlY3R1cmVJMzg2KCkgfHwgSXNBcmNoaXRlY3R1cmVNaXBzKCkpCisgICAgIGtPTGFyZ2VG aWxlRmxhZyA9IDAxMDAwMDA7CisrICBlbHNlIGlmIChJc0FyY2hpdGVjdHVyZVBQQzY0KCkpCisr ICAgIGtPTGFyZ2VGaWxlRmxhZyA9IDAyMDAwMDA7CisgCisgICBjb25zdCBBcmc8aW50PiBjbWQo MSk7CisgICBjb25zdCBBcmc8bG9uZz4gbG9uZ19hcmcoMik7CitAQCAtMjg3LDcgKzMwMywxNiBA QCBSZXN1bHRFeHByIFJlc3RyaWN0RmNudGxDb21tYW5kcygpIHsKKyAgICAgICAgICAgICAgIEZf U0VUTEtXLAorICAgICAgICAgICAgICAgRl9HRVRMSywKKyAgICAgICAgICAgICAgIEZfRFVQRkQs CistICAgICAgICAgICAgICBGX0RVUEZEX0NMT0VYRUMpLAorKyAgICAgICAgICAgICAgRl9EVVBG RF9DTE9FWEVDCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysvLyBPbiBQUEM2NCwgRl9T RVRMSywgRl9HRVRMSywgRl9TRVRMS1cgYXJlIGRlZmluZWQgYXMgdGhlIDY0LWJpdCB2YXJpYW50 cworKy8vIGJ1dCBnbGliYyB3aWxsIHNvbWV0aW1lcyBzdGlsbCB1c2UgdGhlIDMyLWJpdCB2ZXJz aW9ucy4gQWxsb3cgYm90aC4KKysgICAgICAgICAgICAgICwKKysgICAgICAgICAgICAgIDUsIC8q IEZfR0VUTEsgKDMyKSAqLworKyAgICAgICAgICAgICAgNiwgLyogRl9TRVRMSyAoMzIpICovCisr ICAgICAgICAgICAgICA3ICAvKiBGX1NFVExLVyAoMzIpICovCisrI2VuZGlmCisrCSAgICAgKSwK KyAgICAgICAgICAgICAgQWxsb3coKSkKKyAgICAgICAuQ2FzZShGX1NFVEZMLAorICAgICAgICAg ICAgIElmKChsb25nX2FyZyAmIH5rQWxsb3dlZE1hc2spID09IDAsIEFsbG93KCkpLkVsc2UoQ3Jh c2hTSUdTWVMoKSkpCitAQCAtMjk3LDcgKzMyMiw3IEBAIFJlc3VsdEV4cHIgUmVzdHJpY3RGY250 bENvbW1hbmRzKCkgeworICAgLy8gY2xhbmctZm9ybWF0IG9uCisgfQorIAorLSNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgUmVzdWx0RXhw ciBSZXN0cmljdFNvY2tldGNhbGxDb21tYW5kKCkgeworICAgLy8gVW5mb3J0dW5hdGVseSwgd2Ug YXJlIHVuYWJsZSB0byByZXN0cmljdCB0aGUgZmlyc3QgcGFyYW1ldGVyIHRvCisgICAvLyBzb2Nr ZXRwYWlyKDIpLiBXaGlsc3QgaW5pdGlhbGx5IHNvdW5kaW5nIGJhZCwgaXQncyBub3Rld29ydGh5 IHRoYXQgdmVyeQorQEAgLTQ1NCw3ICs0NzksNyBAQCBSZXN1bHRFeHByIFJlc3RyaWN0UHRyYWNl KCkgeworICNlbmRpZgorICAgcmV0dXJuIFN3aXRjaChyZXF1ZXN0KQorICAgICAgIC5DQVNFUygo CistI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykg JiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgICAgICAgICAgICAgIFBUUkFDRV9HRVRS RUdTLCBQVFJBQ0VfR0VURlBSRUdTLAorICNpZiBkZWZpbmVkKFRSQUNFX0dFVF9USFJFQURfQVJF QSkKKyAgICAgICAgICAgICAgICAgIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEsCistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2Nh bGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVz dHJpY3Rpb25zLmgKK0BAIC00OSw3ICs0OSw3IEBAIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJl c3VsdEV4cHIgUmVzdHIKKyAvLyBPX05PTkJMT0NLIHwgT19TWU5DIHwgT19MQVJHRUZJTEUgfCBP X0NMT0VYRUMgfCBPX05PQVRJTUUuCisgU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhw ciBSZXN0cmljdEZjbnRsQ29tbWFuZHMoKTsKKyAKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX21p cHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIC8vIFJlc3RyaWN0IHNvY2tldGNhbGwo MikgdG8gb25seSBhbGxvdyBzb2NrZXRwYWlyKDIpLCBzZW5kKDIpLCByZWN2KDIpLAorIC8vIHNl bmR0bygyKSwgcmVjdmZyb20oMiksIHNodXRkb3duKDIpLCBzZW5kbXNnKDIpIGFuZCByZWN2bXNn KDIpLgorIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVzdHJpY3RTb2NrZXRj YWxsQ29tbWFuZCgpOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNj CitAQCAtMjgsNyArMjgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0tpbGwoaW50IHN5c25vKSB7 CisgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0dGltZShpbnQgc3lzbm8pIHsKKyAgIHN3 aXRjaCAoc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2dldHRpbWVvZmRheToKKy0jaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8 fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hf Q1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfdGltZToKKyAjZW5kaWYKK0BAIC01MSwxMiAr NTEsMTIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0dGltZShpbnQgcworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZpbHRlcmVkIGJ5IFJlc3RyaWN0Q2xv Y2tJRCgpLgorICAgICBjYXNlIF9fTlJfY2xvY2tfbmFub3NsZWVwX3RpbWU2NDogIC8vIFBhcmFt ZXRlcnMgZmlsdGVyZWQgYnkgUmVzdHJpY3RDbG9ja0lEKCkuCisgI2VuZGlmCistI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bv d2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBk ZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfZnRpbWU6ICAvLyBPYnNv bGV0ZS4KKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3NldHRpbWVvZmRheTogIC8vIFByaXZpbGVn ZWQuCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJf c3RpbWU6CisgI2VuZGlmCitAQCAtMTM1LDcgKzEzNSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz RmlsZVN5c3RlbShpbnQgc3lzbm8KKyAgICAgY2FzZSBfX05SX2ZhY2Nlc3NhdDogIC8vIEVQRVJN IG5vdCBhIHZhbGlkIGVycm5vLgorICAgICBjYXNlIF9fTlJfZmNobW9kYXQ6CisgICAgIGNhc2Ug X19OUl9mY2hvd25hdDogIC8vIFNob3VsZCBiZSBjYWxsZWQgY2hvd25hdCA/CistI2lmIGRlZmlu ZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OiAgLy8gZnN0YXRhdCgpLiBFUEVSTSBub3QgYSB2 YWxpZCBlcnJuby4KKyAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18p IHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfMzJfQklUUykpCitAQCAtMTU0LDcgKzE1NCw3IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz RmlsZVN5c3RlbShpbnQgc3lzbm8KKyAgICAgY2FzZSBfX05SX21lbWZkX2NyZWF0ZToKKyAgICAg Y2FzZSBfX05SX21rZGlyYXQ6CisgICAgIGNhc2UgX19OUl9ta25vZGF0OgorLSNpZiBkZWZpbmVk KF9faTM4Nl9fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisgICAgIGNhc2UgX19OUl9vbGRsc3RhdDoKKyAgICAgY2FzZSBfX05SX29sZHN0YXQ6Cisg I2VuZGlmCitAQCAtMTY3LDcgKzE2Nyw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3Rl bShpbnQgc3lzbm8KKyAgICAgY2FzZSBfX05SX3N0YXQ2NDoKKyAjZW5kaWYKKyAgICAgY2FzZSBf X05SX3N0YXRmczogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorLSNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAg KGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklU UykpCisgICAgIGNhc2UgX19OUl9zdGF0ZnM2NDoKKyAjZW5kaWYKK0BAIC0xNzksNyArMTc5LDgg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubworICAgICBjYXNlIF9f TlJfdHJ1bmNhdGU2NDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3VubGlua2F0OgorLSNpZiBk ZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBz X18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfX21pcHNfXykgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNh c2UgX19OUl91dGltZToKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3V0aW1lbnNhdDogIC8vIE5l dy4KK0BAIC0yMDQsNyArMjA1LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5 c3RlbUFjYworICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworIC8vIFRPRE8oamxuKTogdGhl c2Ugc2hvdWxkIGJlIGRlbmllZCBncmFjZWZ1bGx5IGFzIHdlbGwgKG1vdmVkIGJlbG93KS4KKy0j aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAg ICBjYXNlIF9fTlJfZmFkdmlzZTY0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisgI2Vu ZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pCitAQCAtMjE2LDEyICsyMTgsMTIgQEAgYm9vbCBT eXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjYworICAgICBjYXNlIF9fTlJfZmRhdGFz eW5jOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCisgICAgIGNhc2UgX19OUl9mbG9jazog ICAgICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KKyAgICAgY2FzZSBfX05SX2ZzdGF0ZnM6 ICAgIC8vIEdpdmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHdob2xlIGZpbGVzeXN0ZW0uCistI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykg fHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNI X0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX2ZzdGF0ZnM2NDoKKyAjZW5kaWYKKyAgICAg Y2FzZSBfX05SX2ZzeW5jOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCistI2lmIGRlZmlu ZWQoX19pMzg2X18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBj NjRfXykKKyAgICAgY2FzZSBfX05SX29sZGZzdGF0OgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwK K0BAIC0yMjksNiArMjMxLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3Rl bUFjYworICAgICBjYXNlIF9fTlJfc3luY19maWxlX3JhbmdlOiAgLy8gRVBFUk0gbm90IGEgdmFs aWQgZXJybm8uCisgI2VsaWYgZGVmaW5lZChfX2FybV9fKQorICAgICBjYXNlIF9fTlJfYXJtX3N5 bmNfZmlsZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorKyNlbGlmIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKKysgICAgY2FzZSBfX05SX3N5bmNfZmlsZV9yYW5nZTI6IC8vIEVQ RVJNIG5vdCBhIHZhbGlkIGVycm5vLgorICNlbmRpZgorICAgICBkZWZhdWx0OgorICAgICAgIHJl dHVybiBmYWxzZTsKK0BAIC0yNDgsNyArMjUyLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5p ZWRGaWxlU3lzdGVtQWNjZQorICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM6ICAgIC8vIEVQRVJNIG5v dCBhIHZhbGlkIGVycm5vLgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfZ2V0ZGVudHM2NDogIC8v IEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCisr I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAg ICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9C SVRTKSkKKyAgICAgY2FzZSBfX05SX3JlYWRkaXI6CisgI2VuZGlmCitAQCAtMjkwLDcgKzI5NCw3 IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2V0U2ltcGxlSWQoaW50IHN5c24KKyBib29sIFN5c2Nh bGxTZXRzOjpJc1Byb2Nlc3NQcml2aWxlZ2VDaGFuZ2UoaW50IHN5c25vKSB7CisgICBzd2l0Y2gg KHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9jYXBzZXQ6CistI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5l ZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9p b3Blcm06ICAvLyBJbnRlbCBwcml2aWxlZ2UuCisgICAgIGNhc2UgX19OUl9pb3BsOiAgICAvLyBJ bnRlbCBwcml2aWxlZ2UuCisgI2VuZGlmCitAQCAtMzQwLDcgKzM0NCw3IEBAIGJvb2wgU3lzY2Fs bFNldHM6OklzQWxsb3dlZFNpZ25hbEhhbmRsaW4KKyAgICAgY2FzZSBfX05SX3J0X3NpZ3Byb2Nt YXNrOgorICAgICBjYXNlIF9fTlJfcnRfc2lncmV0dXJuOgorICAgICBjYXNlIF9fTlJfcnRfc2ln dGltZWR3YWl0OgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8 IFwKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVk KF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp ICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9ydF9zaWd0aW1l ZHdhaXRfdGltZTY0OgorICAgICBjYXNlIF9fTlJfc2lnYWN0aW9uOgorQEAgLTM1Nyw3ICszNjEs NyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRTaWduYWxIYW5kbGluCisgICAgIGNhc2Ug X19OUl9zaWduYWxmZDoKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX3NpZ25hbGZkNDoKKy0jaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCisrI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8 fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hf Q1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJfc2lncGVuZGluZzoKKyAgICAgY2FzZSBfX05S X3NpZ3N1c3BlbmQ6CitAQCAtMzgyLDcgKzM4Niw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxs b3dlZE9wZXJhdGlvbk9uRmQKKyAjZW5kaWYKKyAgICAgY2FzZSBfX05SX2R1cDM6CisgI2lmIGRl ZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19hYXJjaDY0 X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3NodXRkb3duOgor ICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworQEAgLTQxNiw3ICs0MjAsNyBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCisgICAgIGNhc2UgX19OUl9tZW1iYXJy aWVyOgorICAgICBjYXNlIF9fTlJfd2FpdDQ6CisgICAgIGNhc2UgX19OUl93YWl0aWQ6CistI2lm IGRlZmluZWQoX19pMzg2X18pCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19w b3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3dhaXRwaWQ6CisgI2VuZGlmCisgI2lmICFkZWZp bmVkKF9fR0xJQkNfXykKK0BAIC00MzgsNyArNDQyLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNB bGxvd2VkUHJvY2Vzc1N0YXJ0TworICAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgorICNl bmRpZgorICAgICBjYXNlIF9fTlJfdW5zaGFyZToKKy0jaWYgIWRlZmluZWQoX19taXBzX18pICYm ICFkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYgIWRlZmlu ZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05S X3Zmb3JrOgorICNlbmRpZgorICAgICBkZWZhdWx0OgorQEAgLTQ5MSw3ICs0OTUsNyBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlmeVNvCisgICAgICAgcmV0dXJuIHRydWU7 CisgICAgIGRlZmF1bHQ6CisgI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2Fy bV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18p CisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAg ICAgY2FzZSBfX05SX3NvY2tldHBhaXI6ICAvLyBXZSB3aWxsIHdhbnQgdG8gaW5zcGVjdCBpdHMg YXJndW1lbnQuCisgI2VuZGlmCisgICAgICAgcmV0dXJuIGZhbHNlOworQEAgLTUwMSw3ICs1MDUs NyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlmeVNvCisgYm9vbCBTeXNj YWxsU2V0czo6SXNEZW5pZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKKyAgIHN3aXRj aCAoc3lzbm8pIHsKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18p IHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKKysg ICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgICBj YXNlIF9fTlJfYWNjZXB0OgorICAgICBjYXNlIF9fTlJfYWNjZXB0NDoKKyAgICAgY2FzZSBfX05S X2JpbmQ6CitAQCAtNTE1LDcgKzUxOSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0 T3JNb2RpZnlTb2MKKyAgIH0KKyB9CisgCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKysj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAg IChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJ VFMpKQorIC8vIEJpZyBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwgZm9yIHNvY2tldHMuCisgYm9v bCBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKGludCBzeXNubykgeworQEAgLTUzMCw3ICs1MzQs OCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1NvY2tldENhbGwoaW50IHN5c25vCisgfQorICNlbmRp ZgorIAorLSNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVm aW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJt X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQorIGJvb2wgU3lzY2FsbFNldHM6OklzTmV0d29ya1NvY2tldEluZm9ybWF0aW9uKGludCBzeXNu bykgeworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfZ2V0cGVlcm5hbWU6CitA QCAtNTU4LDcgKzU2Myw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFj ZUEKKyAgICAgY2FzZSBfX05SX21pbmNvcmU6CisgICAgIGNhc2UgX19OUl9tbG9ja2FsbDoKKyAj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKSB8fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pCisrICAgIGRlZmluZWQoX19h YXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX21tYXA6 CisgI2VuZGlmCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwg XAorQEAgLTU4OSw3ICs1OTQsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRBZGRyZXNz U3BhY2VBCisgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludCBzeXNubykg eworICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9fTlJfbHNlZWs6CistI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAor ICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8z Ml9CSVRTKSkKKyAgICAgY2FzZSBfX05SX19sbHNlZWs6CisgI2VuZGlmCitAQCAtNjA5LDI3ICs2 MTQsMjcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludAorICAgICBj YXNlIF9fTlJfcmVhZDoKKyAgICAgY2FzZSBfX05SX3JlYWR2OgorICAgICBjYXNlIF9fTlJfcHJl YWQ2NDoKKy0jaWYgZGVmaW5lZChfX2FybV9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19hcm1fXykg fHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJf cmVjdjoKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJt X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykK KysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAg ICBjYXNlIF9fTlJfcmVjdmZyb206ICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJjZS4KKyAgICAgY2Fz ZSBfX05SX3JlY3Ztc2c6ICAgLy8gQ291bGQgc3BlY2lmeSBzb3VyY2UuCisgI2VuZGlmCistI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgICAgIGNhc2UgX19OUl9zZWxlY3Q6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9fbmV3c2VsZWN0OgorICNlbmRpZgor LSNpZiBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKysjaWYgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZp bmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9zZW5kOgor ICNlbmRpZgorICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2Ug X19OUl9zZW5kbXNnOiAgLy8gQ291bGQgc3BlY2lmeSBkZXN0aW5hdGlvbi4KKyAgICAgY2FzZSBf X05SX3NlbmR0bzogICAvLyBDb3VsZCBzcGVjaWZ5IGRlc3RpbmF0aW9uLgorICNlbmRpZgorQEAg LTY4NCw3ICs2ODksNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRCYXNpY1NjaGVkdWxl CisgICAgIGNhc2UgX19OUl9uYW5vc2xlZXA6CisgICAgICAgcmV0dXJuIHRydWU7CisgICAgIGNh c2UgX19OUl9nZXRwcmlvcml0eToKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X2FybV9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykg fHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorICAgICBjYXNlIF9fTlJf bmljZToKKyAjZW5kaWYKK0BAIC02OTYsNyArNzAxLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNB bGxvd2VkQmFzaWNTY2hlZHVsZQorIAorIGJvb2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRp b24oaW50IHN5c25vKSB7CisgICBzd2l0Y2ggKHN5c25vKSB7CistI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVm aW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkK KyAgICAgY2FzZSBfX05SX2JkZmx1c2g6CisgI2VuZGlmCitAQCAtNzEzLDcgKzcxOCw4IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzQWRtaW5PcGVyYXRpb24oaW50IHMKKyAKKyBib29sIFN5c2NhbGxT ZXRzOjpJc0tlcm5lbE1vZHVsZShpbnQgc3lzbm8pIHsKKyAgIHN3aXRjaCAoc3lzbm8pIHsKKy0j aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAg ICBjYXNlIF9fTlJfY3JlYXRlX21vZHVsZToKKyAgICAgY2FzZSBfX05SX2dldF9rZXJuZWxfc3lt czogIC8vIFNob3VsZCBFTk9TWVMuCisgICAgIGNhc2UgX19OUl9xdWVyeV9tb2R1bGU6CitAQCAt NzQ1LDcgKzc1MSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRnNDb250cm9sKGludCBzeXNubykK KyAgICAgY2FzZSBfX05SX3F1b3RhY3RsOgorICAgICBjYXNlIF9fTlJfc3dhcG9mZjoKKyAgICAg Y2FzZSBfX05SX3N3YXBvbjoKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmlu ZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisg ICAgIGNhc2UgX19OUl91bW91bnQ6CisgI2VuZGlmCitAQCAtNzYyLDcgKzc2OCw3IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzTnVtYShpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX2dldGNwdToK KyAgICAgY2FzZSBfX05SX21iaW5kOgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2Fh cmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorICAgICBjYXNlIF9fTlJfbWlncmF0ZV9wYWdlczoKKyAjZW5kaWYKKyAgICAgY2FzZSBf X05SX21vdmVfcGFnZXM6CitAQCAtNzk3LDEzICs4MDMsMTMgQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNHbG9iYWxQcm9jZXNzRW52aXJvbgorICAgc3dpdGNoIChzeXNubykgeworICAgICBjYXNlIF9f TlJfYWNjdDogIC8vIFByaXZpbGVnZWQuCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAorLSAgICBkZWZpbmVkKF9f YWFyY2g2NF9fKQorKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCisgICAgIGNhc2UgX19OUl9nZXRybGltaXQ6CisgI2VuZGlmCistI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19O Ul91Z2V0cmxpbWl0OgorICNlbmRpZgorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCisrI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAo ZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRT KSkKKyAgICAgY2FzZSBfX05SX3VsaW1pdDoKKyAjZW5kaWYKK0BAIC04MzgsNyArODQ0LDcgQEAg Ym9vbCBTeXNjYWxsU2V0czo6SXNHbG9iYWxTeXN0ZW1TdGF0dXMoaQorICNlbmRpZgorICAgICBj YXNlIF9fTlJfc3lzaW5mbzoKKyAgICAgY2FzZSBfX05SX3VuYW1lOgorLSNpZiBkZWZpbmVkKF9f aTM4Nl9fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p CisgICAgIGNhc2UgX19OUl9vbGR1bmFtZToKKyAgICAgY2FzZSBfX05SX29sZG9sZHVuYW1lOgor ICNlbmRpZgorQEAgLTkwNCw4ICs5MTAsMTYgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1W U2VtYXBob3JlcyhpbgorIH0KKyAjZW5kaWYKKyAKKysvKiBzaGl0dHkgaGFjayBhcm91bmQgVm9p ZCdzIDQuMTkga2VybmVsIGhlYWRlcnMgbWlzc2luZyB0aG9zZSBudW1iZXJzICovCisrI2lmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykgJiYgIWRlZmluZWQoX19OUl9zaG1nZXQpCisrI2RlZmluZSBf X05SX3NobWdldCAzOTUKKysjZGVmaW5lIF9fTlJfc2htY3RsIDM5NgorKyNkZWZpbmUgX19OUl9z aG1hdCAzOTcKKysjZGVmaW5lIF9fTlJfc2htZHQgMzk4CisrI2VuZGlmCisrCisgI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8 fCBcCistICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisrICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQo X19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkg JiYgZGVmaW5lZChBUkNIX0NQVV82NF9CSVRTKSkKKyAvLyBUaGVzZSBnaXZlIGEgbG90IG9mIGFt YmllbnQgYXV0aG9yaXR5IGFuZCBieXBhc3MgdGhlIHNldHVpZCBzYW5kYm94LgorIGJvb2wgU3lz Y2FsbFNldHM6OklzU3lzdGVtVlNoYXJlZE1lbW9yeShpbnQgc3lzbm8pIHsKK0BAIC05MzYsNyAr OTUwLDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKAorIH0KKyAj ZW5kaWYKKyAKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgLy8gQmlnIHN5 c3RlbSBWIG11bHRpcGxleGluZyBzeXN0ZW0gY2FsbC4KKyBib29sIFN5c2NhbGxTZXRzOjpJc1N5 c3RlbVZJcGMoaW50IHN5c25vKSB7CitAQCAtOTU2LDcgKzk3MCw3IEBAIGJvb2wgU3lzY2FsbFNl dHM6OklzQW55U3lzdGVtVihpbnQgc3lzbm8KKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCisgICByZXR1cm4gSXNTeXN0ZW1W TWVzc2FnZVF1ZXVlKHN5c25vKSB8fCBJc1N5c3RlbVZTZW1hcGhvcmVzKHN5c25vKSB8fAorICAg ICAgICAgIElzU3lzdGVtVlNoYXJlZE1lbW9yeShzeXNubyk7CistI2VsaWYgZGVmaW5lZChfX2kz ODZfXykgfHwgXAorKyNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBj NjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5l ZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgIHJldHVybiBJc1N5c3RlbVZJcGMoc3lzbm8pOworICNl bmRpZgorQEAgLTEwMTQsNyArMTAyOCw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmFOb3RpZnko aW50IHN5c25vKQorIGJvb2wgU3lzY2FsbFNldHM6OklzVGltZXIoaW50IHN5c25vKSB7CisgICBz d2l0Y2ggKHN5c25vKSB7CisgICAgIGNhc2UgX19OUl9nZXRpdGltZXI6CistI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05S X2FsYXJtOgorICNlbmRpZgorICAgICBjYXNlIF9fTlJfc2V0aXRpbWVyOgorQEAgLTEwOTYsMTcg KzExMTEsMjAgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNubykgeworICAgICBj YXNlIF9fTlJfc3luY2ZzOgorICAgICBjYXNlIF9fTlJfdmhhbmd1cDoKKyAvLyBUaGUgc3lzdGVt IGNhbGxzIGJlbG93IGFyZSBub3QgaW1wbGVtZW50ZWQuCistI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8 fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX2Fmc19zeXNj YWxsOgorICNlbmRpZgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAgIChkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQorKyAg ICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9C SVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl9i cmVhazoKKyAjZW5kaWYKKy0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82 NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKysgICAgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQorICAgICBjYXNlIF9fTlJfZ2V0cG1zZzoKKyAjZW5kaWYKKy0jaWYgZGVm aW5lZChfX2kzODZfXykgfHwgXAorKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pIHx8IFwKKyAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisgICAgIGNhc2UgX19OUl9ndHR5OgorICAgICBj YXNlIF9fTlJfaWRsZToKK0BAIC0xMTE1LDIwICsxMTMzLDIxIEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzTWlzYyhpbnQgc3lzbm8pIHsKKyAgICAgY2FzZSBfX05SX3Byb2Y6CisgICAgIGNhc2UgX19O Ul9wcm9maWw6CisgI2VuZGlmCistI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194 ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCisrICAgIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKKyAgICAgY2FzZSBfX05SX3B1dHBtc2c6CisgI2VuZGlmCisgI2lm IGRlZmluZWQoX194ODZfNjRfXykKKyAgICAgY2FzZSBfX05SX3NlY3VyaXR5OgorICNlbmRpZgor LSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCisrI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRl ZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZB TUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKKyAgICAgY2FzZSBfX05SX3N0dHk6 CisgI2VuZGlmCistI2lmIGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82 NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl90dXhjYWxsOgor ICNlbmRpZgorLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgIWRlZmluZWQoX19hYXJj aDY0X18pICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAgIGNhc2UgX19OUl92c2VydmVy OgorICNlbmRpZgorICAgICAgIHJldHVybiB0cnVlOworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVy cy9zeXNjYWxsX3NldHMuaAorQEAgLTQzLDEzICs0MywxNCBAQCBjbGFzcyBTQU5EQk9YX0VYUE9S VCBTeXNjYWxsU2V0cyB7CisgICBzdGF0aWMgYm9vbCBJc0RlbmllZEdldE9yTW9kaWZ5U29ja2V0 KGludCBzeXNubyk7CisgCisgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKKy0gICAgKGRlZmlu ZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCisr ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKSB8fCBcCisrICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgIC8vIEJpZyBtdWx0 aXBsZXhpbmcgc3lzdGVtIGNhbGwgZm9yIHNvY2tldHMuCisgICBzdGF0aWMgYm9vbCBJc1NvY2tl dENhbGwoaW50IHN5c25vKTsKKyAjZW5kaWYKKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKKy0gICAgZGVmaW5l ZChfX2FhcmNoNjRfXykKKysgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQorICAgc3RhdGljIGJvb2wgSXNOZXR3b3JrU29ja2V0SW5mb3JtYXRpb24oaW50 IHN5c25vKTsKKyAjZW5kaWYKKyAKK0BAIC03Nyw3ICs3OCw3IEBAIGNsYXNzIFNBTkRCT1hfRVhQ T1JUIFN5c2NhbGxTZXRzIHsKKyAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNlbWFwaG9yZXMoaW50 IHN5c25vKTsKKyAjZW5kaWYKKyAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKKy0gICAgZGVmaW5lZChfX2FhcmNoNjRf XykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgZGVm aW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCisgICAgIChk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMp KQorICAgLy8gVGhlc2UgZ2l2ZSBhIGxvdCBvZiBhbWJpZW50IGF1dGhvcml0eSBhbmQgYnlwYXNz IHRoZSBzZXR1aWQgc2FuZGJveC4KKyAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNoYXJlZE1lbW9y eShpbnQgc3lzbm8pOworQEAgLTg5LDcgKzkwLDggQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQgU3lz Y2FsbFNldHMgeworICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCistICAg IChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJ VFMpKQorKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNI X0NQVV8zMl9CSVRTKSkgfHwgXAorKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICAvLyBC aWcgc3lzdGVtIFYgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsLgorICAgc3RhdGljIGJvb2wgSXNT eXN0ZW1WSXBjKGludCBzeXNubyk7CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21p dW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjCitAQCAtMTgs NyArMTgsNyBAQCBuYW1lc3BhY2Ugc2FuZGJveCB7CisgbmFtZXNwYWNlIHsKKyAKKyAjaWYgZGVm aW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkp IHx8IFwKKy0gICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKysgICAgZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5lZCAoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQor IC8vIE51bWJlciB0aGF0J3Mgbm90IGN1cnJlbnRseSB1c2VkIGJ5IGFueSBMaW51eCBrZXJuZWwg QUJJcy4KKyBjb25zdCBpbnQga0ludmFsaWRTeXNjYWxsTnVtYmVyID0gMHgzNTFkMzsKKyAjZWxz ZQorQEAgLTMxMiwxMCArMzEyLDU0IEBAIGFzbSgvLyBXZSBuZWVkIHRvIGJlIGFibGUgdG8gdGVs bCB0aGUga2UKKyAgICAgIjI6cmV0XG4iCisgICAgICIuY2ZpX2VuZHByb2NcbiIKKyAgICAgIi5z aXplIFN5c2NhbGxBc20sIC4tU3lzY2FsbEFzbVxuIgorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBj NjRfXykKKysgICAgIi50ZXh0XG4iCisrICAgICIuYWxpZ24gNFxuIgorKyAgICAiLnR5cGUgU3lz Y2FsbEFzbSBAZnVuY3Rpb25cbiIKKysgICAgIlN5c2NhbGxBc206XG4iCisrICAgICIuY2ZpX3N0 YXJ0cHJvY1xuIgorKworKyAgICAvLyBDaGVjayBpZiByMyBpcyBuZWdhdGl2ZQorKyAgICAiY21w ZGkgMywgMFxuIgorKyAgICAiYmd0IDJmXG4iCisrCisrICAgIC8vIExvYWQgYWRkcmVzcyBvZiAz ZiBpbnRvIHIzIGFuZCByZXR1cm4KKysgICAgIm1mbHIgMTBcbiIKKysgICAgImJsIDFmXG4iCisr ICAgICIxOiBtZmxyIDNcbiIKKysgICAgIm10bHIgMTBcbiIKKysgICAgImFkZGkgMywgMywgNCox M1xuIgorKyAgICAiYmxyXG4iCisrCisrICAgIC8vIExvYWQgYXJndW1lbnRzIGZyb20gYXJyYXkg aW50byByMy04CisrICAgIC8vIHNhdmUgcGFyYW0gMyBpbiByMTAKKysgICAgIjI6XG4iCisrICAg ICJtciAwLCAzXG4iCisrICAgICJsZCAzLCAwKDQpXG4iCisrICAgICJsZCA1LCAxNig0KVxuIgor KyAgICAibGQgNiwgMjQoNClcbiIKKysgICAgImxkIDcsIDMyKDQpXG4iCisrICAgICJsZCA4LCA0 MCg0KVxuIgorKyAgICAibGQgNCwgOCg0KVxuIgorKyAgICAibGkgOSwgMFxuIgorKworKyAgICAv LyBFbnRlciBrZXJuZWwKKysgICAgInNjXG4iCisrCisrICAgIC8vIE1hZ2ljIHJldHVybiBhZGRy ZXNzCisrICAgICIzOlxuIgorKyAgICAvLyBMaWtlIE1JUFMsIHBwYzY0IHJldHVybiB2YWx1ZXMg YXJlIGFsd2F5cyBwb3NpdGl2ZS4KKysgICAgLy8gQ2hlY2sgZm9yIGVycm9yIGluIGNyMC5TTyBh bmQgbmVnYXRlIHVwb24gZXJyb3IKKysgICAgImJjIDQsIDMsIDRmXG4iCisrICAgICJuZWcgMywg M1xuIgorKyAgICAiNDogYmxyXG4iCisrCisrICAgICIuY2ZpX2VuZHByb2NcbiIKKysgICAgIi5z aXplIFN5c2NhbGxBc20sIC4tU3lzY2FsbEFzbVxuIgorICNlbmRpZgorICAgICApOyAgLy8gYXNt CisgCistI2lmIGRlZmluZWQoX194ODZfNjRfXykKKysjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgZXh0ZXJuICJDIiB7CisgaW50cHRyX3QgU3lzY2Fs bEFzbShpbnRwdHJfdCBuciwgY29uc3QgaW50cHRyX3QgYXJnc1s2XSk7CisgfQorQEAgLTQyOSw2 ICs0NzMsOCBAQCBpbnRwdHJfdCBTeXNjYWxsOjpDYWxsKGludCBuciwKKyAgICAgcmV0ID0gaW5v dXQ7CisgICB9CisgCisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgaW50cHRyX3Qg cmV0ID0gU3lzY2FsbEFzbShuciwgYXJncyk7CisgI2Vsc2UKKyAjZXJyb3IgIlVuaW1wbGVtZW50 ZWQgYXJjaGl0ZWN0dXJlIgorICNlbmRpZgorQEAgLTQ0NSw4ICs0OTEsMjYgQEAgdm9pZCBTeXNj YWxsOjpQdXRWYWx1ZUluVWNvbnRleHQoaW50cHRyXworICAgICAvLyBuZWVkcyB0byBiZSBjaGFu Z2VkIGJhY2suCisgICAgIHJldF92YWwgPSAtcmV0X3ZhbDsKKyAgICAgU0VDQ09NUF9QQVJNNChj dHgpID0gMTsKKy0gIH0gZWxzZQorKyAgfSBlbHNlIHsKKyAgICAgU0VDQ09NUF9QQVJNNChjdHgp ID0gMDsKKysgIH0KKysjZW5kaWYKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgLy8g U2FtZSBhcyBNSVBTLCBuZWVkIHRvIGludmVydCByZXQgYW5kIHNldCBlcnJvciByZWdpc3RlciAo Y3IwLlNPKQorKyAgaWYgKHJldF92YWwgPD0gLTEgJiYgcmV0X3ZhbCA+PSAtNDA5NSkgeworKyAg ICByZXRfdmFsID0gLXJldF92YWw7CisrI2lmZGVmIF9fR0xJQkNfXworKyAgICBjdHgtPnVjX21j b250ZXh0LnJlZ3MtPmNjciB8PSAoMSA8PCAyOCk7CisrI2Vsc2UKKysgICAgKChzdHJ1Y3QgcHRf cmVncyAqKWN0eC0+dWNfbWNvbnRleHQucmVncyktPmNjciB8PSAoMSA8PCAyOCk7CisrI2VuZGlm CisrICB9IGVsc2UgeworKyNpZmRlZiBfX0dMSUJDX18KKysgICAgY3R4LT51Y19tY29udGV4dC5y ZWdzLT5jY3IgJj0gfigxIDw8IDI4KTsKKysjZWxzZQorKyAgICAoKHN0cnVjdCBwdF9yZWdzICop Y3R4LT51Y19tY29udGV4dC5yZWdzKS0+Y2NyICY9IH4oMSA8PCAyOCk7CisrI2VuZGlmCisrICB9 CisgI2VuZGlmCisgICBTRUNDT01QX1JFU1VMVChjdHgpID0gc3RhdGljX2Nhc3Q8Z3JlZ190Pihy ZXRfdmFsKTsKKyB9CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi90cmFwLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi90cmFwLmNjCitAQCAtMjM2LDYgKzIzNiwyMCBAQCB2b2lkIFRyYXA6 OlNpZ1N5cyhpbnQgbnIsIExpbnV4U2lnSW5mbyoKKyAgICAgICBTZXRJc0luU2lnSGFuZGxlcigp OworICAgICB9CisgCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgLy8gT24gcHBj NjQrZ2xpYmMsIHNvbWUgc3lzY2FsbHMgc2VlbSB0byBhY2NpZGVudGFsbHkgbmVnYXRlIHRoZSBm aXJzdAorKyAgICAvLyBwYXJhbWV0ZXIgd2hpY2ggY2F1c2VzIGNoZWNrcyBhZ2FpbnN0IGl0IHRv IGZhaWwuIEZvciBub3csIG1hbnVhbGx5CisrICAgIC8vIG5lZ2F0ZSB0aGVtIGJhY2suCisrICAg IC8vIFRPRE8oc2hhd25AYW5hc3Rhcy5pbyk6IGludmVzdGlnYXRlIHRoaXMgaXNzdWUgZnVydGhl cgorKyAgICBhdXRvIG5yID0gU0VDQ09NUF9TWVNDQUxMKGN0eCk7CisrICAgIGlmIChuciA9PSBf X05SX29wZW5hdCB8fCBuciA9PSBfX05SX21rZGlyYXQgfHwgbnIgPT0gX19OUl9mYWNjZXNzYXQg fHwgbnIgPT0gX19OUl9yZWFkbGlua2F0IHx8CisrICAgICAgICBuciA9PSBfX05SX3JlbmFtZWF0 IHx8IG5yID09IF9fTlJfcmVuYW1lYXQyIHx8IG5yID09IF9fTlJfbmV3ZnN0YXRhdCB8fCBuciA9 PSBfX05SX3VubGlua2F0KSB7CisrICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8aW50PihTRUNDT01Q X1BBUk0xKGN0eCkpID4gMCkgeworKyAgICAgICAgICAgIFNFQ0NPTVBfUEFSTTEoY3R4KSA9IC1T RUNDT01QX1BBUk0xKGN0eCk7CisrICAgICAgICB9CisrICAgIH0KKysjZW5kaWYKKysKKyAgICAg Ly8gQ29weSB0aGUgc2VjY29tcC1zcGVjaWZpYyBkYXRhIGludG8gYSBhcmNoX3NlY2NvbXBfZGF0 YSBzdHJ1Y3R1cmUuIFRoaXMKKyAgICAgLy8gaXMgd2hhdCB3ZSBhcmUgc2hvd2luZyB0byBUcmFw Rm5jIGNhbGxiYWNrcyB0aGF0IHRoZSBzeXN0ZW0gY2FsbAorICAgICAvLyBldmFsdWF0b3IgcmVn aXN0ZXJlZCB3aXRoIHRoZSBzYW5kYm94LgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Nh bmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjCitAQCAtODEsNyAr ODEsNyBAQCBib29sIENocm9vdFRvU2FmZUVtcHR5RGlyKCkgeworICAgcGlkX3QgcGlkID0gLTE7 CisgICBhbGlnbmFzKDE2KSBjaGFyIHN0YWNrX2J1ZltQVEhSRUFEX1NUQUNLX01JTl07CisgI2lm IGRlZmluZWQoQVJDSF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1fRkFN SUxZKSB8fCBcCistICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisrICAgIGRlZmlu ZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZ KQorICAgLy8gVGhlIHN0YWNrIGdyb3dzIGRvd253YXJkLgorICAgdm9pZCogc3RhY2sgPSBzdGFj a19idWYgKyBzaXplb2Yoc3RhY2tfYnVmKTsKKyAjZWxzZQorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYworKysrIGIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFw cGVycy5jYworQEAgLTYxLDcgKzYxLDcgQEAgbG9uZyBzeXNfY2xvbmUodW5zaWduZWQgbG9uZyBm bGFncywKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfNjQpCisgICByZXR1cm4gc3lzY2FsbChf X05SX2Nsb25lLCBmbGFncywgY2hpbGRfc3RhY2ssIHB0aWQsIGN0aWQsIHRscyk7CisgI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9YODYpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkgfHwg XAorLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorKyAgICBkZWZpbmVkKEFSQ0hf Q1BVX01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKyAgIC8v IENPTkZJR19DTE9ORV9CQUNLV0FSRFMgZGVmaW5lZC4KKyAgIHJldHVybiBzeXNjYWxsKF9fTlJf Y2xvbmUsIGZsYWdzLCBjaGlsZF9zdGFjaywgcHRpZCwgdGxzLCBjdGlkKTsKKyAjZW5kaWYKKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jy b2tlcl9wcm9jZXNzLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJvY2Vzcy5jYworQEAgLTE2NSw3ICsxNjUsNyBAQCBi b29sIEJyb2tlclByb2Nlc3M6OklzU3lzY2FsbEJyb2tlcmFibGUoCisgI2lmIGRlZmluZWQoX19O Ul9mc3RhdGF0NjQpCisgICAgIGNhc2UgX19OUl9mc3RhdGF0NjQ6CisgI2VuZGlmCistI2lmIGRl ZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKKysjaWYgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisgICAgIGNhc2UgX19OUl9uZXdmc3RhdGF0OgorICNlbmRpZgorICAgICAgIHJldHVybiAh ZmFzdF9jaGVjayB8fCBhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0KENPTU1BTkRfU1RBVCk7Cist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9s aW51eF9zZWNjb21wLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaAorQEAgLTQxLDYgKzQxLDkgQEAKKyAjaWZu ZGVmIEVNX0FBUkNINjQKKyAjZGVmaW5lIEVNX0FBUkNINjQgMTgzCisgI2VuZGlmCisrI2lmbmRl ZiBFTV9QUEM2NAorKyNkZWZpbmUgRU1fUFBDNjQgMjEKKysjZW5kaWYKKyAKKyAjaWZuZGVmIF9f QVVESVRfQVJDSF82NEJJVAorICNkZWZpbmUgX19BVURJVF9BUkNIXzY0QklUIDB4ODAwMDAwMDAK K0BAIC03NCw2ICs3NywxNCBAQAorICNkZWZpbmUgQVVESVRfQVJDSF9BQVJDSDY0IChFTV9BQVJD SDY0IHwgX19BVURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQorICNlbmRpZgorIAor KyNpZm5kZWYgQVVESVRfQVJDSF9QUEM2NAorKyNkZWZpbmUgQVVESVRfQVJDSF9QUEM2NCAoRU1f UFBDNjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQpCisrI2VuZGlmCisrCisrI2lmbmRlZiBBVURJVF9B UkNIX1BQQzY0TEUKKysjZGVmaW5lIEFVRElUX0FSQ0hfUFBDNjRMRSAoRU1fUFBDNjQgfCBfX0FV RElUX0FSQ0hfNjRCSVQgfCBfX0FVRElUX0FSQ0hfTEUpCisrI2VuZGlmCisrCisgLy8gRm9yIHBy Y3RsLmgKKyAjaWZuZGVmIFBSX1NFVF9TRUNDT01QCisgI2RlZmluZSBQUl9TRVRfU0VDQ09NUCAg ICAgICAgICAgICAgIDIyCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2lnbmFsLmgKK0BAIC0xMyw3 ICsxMyw3IEBACisgLy8gKG5vdCB1bmRlZmluZWQsIGJ1dCBkZWZpbmVkIGRpZmZlcmVudCB2YWx1 ZXMgYW5kIGluIGRpZmZlcmVudCBtZW1vcnkKKyAvLyBsYXlvdXRzKS4gU28sIGZpbGwgdGhlIGdh cCBoZXJlLgorICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgXAorLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQorKyAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgCisgI2RlZmlu ZSBMSU5VWF9TSUdIVVAgMQorICNkZWZpbmUgTElOVVhfU0lHSU5UIDIKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxz LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFk ZXJzL2xpbnV4X3N5c2NhbGxzLmgKK0BAIC0zNSw1ICszNSw5IEBACisgI2luY2x1ZGUgInNhbmRi b3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaCIKKyAjZW5kaWYK KyAKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyNpbmNsdWRlICJzYW5kYm94L2xpbnV4 L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgiCisrI2VuZGlmCisrCisgI2Vu ZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX0xJTlVYX1NZU0NBTExTX0hfCisg CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9saW51eF91Y29udGV4dC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9s aW51eC9zeXN0ZW1faGVhZGVycy9saW51eF91Y29udGV4dC5oCitAQCAtMTEsNiArMTEsOCBAQAor ICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2FybV9saW51eF91Y29udGV4 dC5oIgorICNlbGlmIGRlZmluZWQoX19pMzg2X18pCisgI2luY2x1ZGUgInNhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvaTM4Nl9saW51eF91Y29udGV4dC5oIgorKyNlbGlmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKKysjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2 NF9saW51eF91Y29udGV4dC5oIgorICNlbHNlCisgI2Vycm9yICJObyBzdXBwb3J0IGZvciB5b3Vy IGFyY2hpdGVjdHVyZSBpbiBQTmFDbCBoZWFkZXIiCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvcG9saWN5L2xpbnV4L2Jw Zl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKK0BAIC0xNSw2ICsxNSwxMSBAQAorICNpbmNsdWRl ICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgiCisgI2luY2x1 ZGUgInNhbmRib3gvcG9saWN5L2xpbnV4L3NhbmRib3hfbGludXguaCIKKyAKKysvLyBPbiBQUEM2 NCwgVENHRVRTIGlzIGRlZmluZWQgaW4gdGVybXMgb2Ygc3RydWN0IHRlcm1pb3MsIHNvIHdlIG11 c3QgaW5jbHVkZSB0ZXJtaW9zLmgKKysjaWZkZWYgX19wb3dlcnBjNjRfXworKyNpbmNsdWRlIDx0 ZXJtaW9zLmg+CisrI2VuZGlmCisrCisgLy8gVE9ETyh2aWduYXR0aSk6IHJlcGxhY2UgdGhlIGxv Y2FsIGRlZmluaXRpb25zIGJlbG93IHdpdGggI2luY2x1ZGUKKyAvLyA8bGludXgvZG1hLWJ1Zi5o PiBvbmNlIGtlcm5lbCB2ZXJzaW9uIDQuNiBiZWNvbWVzIHdpZGVseSB1c2VkLgorICNpbmNsdWRl IDxsaW51eC90eXBlcy5oPgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2FuZ2xlL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmgKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9J bmZvU2luay5oCitAQCAtOTMsNyArOTMsMTYgQEAgY2xhc3MgVEluZm9TaW5rQmFzZQorICAgICAg ICAgICAgIHN0cmVhbS5wcmVjaXNpb24oOCk7CisgICAgICAgICAgICAgc3RyZWFtIDw8IGY7Cisg ICAgICAgICB9CistICAgICAgICBzaW5rLmFwcGVuZChzdHJlYW0uc3RyKCkpOworKworKyAgICAg ICAgLy8gSGFjayB0byB3b3JrIGFyb3VuZCBhIGJ1ZyB3aGVyZSBuZWdhdGl2ZSBmbG9hdGluZyBw b2ludCB2YWx1ZXMKKysgICAgICAgIC8vIGFyZSByZW5kZXJlZCBsaWtlICcuMC41JyBpbnN0ZWFk IG9mICctMC41JworKyAgICAgICAgc3RkOjpzdHJpbmcgcmVzKHN0cmVhbS5zdHIoKSk7CisrCisr ICAgICAgICBpZiAoc2lnbmJpdChmKSkgeyAvLyB0ZXN0IGlmIGYgaXMgbmVnYXRpdmUKKysgICAg ICAgICAgICByZXNbMF0gPSAnLSc7CisrICAgICAgICB9CisrCisrICAgICAgICBzaW5rLmFwcGVu ZChyZXMpOworICAgICAgICAgcmV0dXJuICp0aGlzOworICAgICB9CisgICAgIC8vIFdyaXRlIGJv b2xlYW4gdmFsdWVzIGFzIHRoZWlyIG5hbWVzIGluc3RlYWQgb2YgaW50ZWdyYWwgdmFsdWUuCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xF L0NvbnN0YW50cy5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5n bGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCitAQCAtOSw2ICs5LDcgQEAKKyAjaWZuZGVmIExJ QkFOR0xFX0NPTlNUQU5UU19IXworICNkZWZpbmUgTElCQU5HTEVfQ09OU1RBTlRTX0hfCisgCisr I2luY2x1ZGUgPGNzdGRkZWY+CisgI2luY2x1ZGUgImNvbW1vbi9wbGF0Zm9ybS5oIgorIAorICNp bmNsdWRlIDxzdGRpbnQuaD4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9ib3Jpbmdzc2wvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KK0BAIC05OSw2ICs5OSwxMyBAQCBpZiAoaXNfd2luICYm ICFpc19tc2FuICYmIGN1cnJlbnRfY3B1ICE9CisgICAgICAgfSBlbHNlIHsKKyAgICAgICAgIHB1 YmxpY19jb25maWdzID0gWyAiOm5vX2FzbV9jb25maWciIF0KKyAgICAgICB9CisrICAgIH0gZWxz ZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgICAgIGlmIChpc19saW51eCkgewor KyAgICAgICAgIyBUT0RPOiBwcGM2NCAoYmUpIGNoZWNrCisrICAgICAgICBzb3VyY2VzICs9IGNy eXB0b19zb3VyY2VzX2xpbnV4X3BwYzY0bGUKKysgICAgICB9IGVsc2UgeworKyAgICAgICAgcHVi bGljX2NvbmZpZ3MgPSBbICI6bm9fYXNtX2NvbmZpZyIgXQorKyAgICAgIH0KKyAgICAgfSBlbHNl IHsKKyAgICAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpub19hc21fY29uZmlnIiBdCisgICAgIH0K Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5n bgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL0JVSUxE LmduCitAQCAtNjIzLDcgKzYyMyw2IEBAIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBp c19hbmRyb2kKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9taW5pZHVtcF9maWxlX3dyaXRl ci5oIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9jb252ZXJ0X1VURi5jYyIsCisgICAg ICAgImJyZWFrcGFkL3NyYy9jb21tb24vY29udmVydF9VVEYuaCIsCistICAgICAgImJyZWFrcGFk L3NyYy9jb21tb24vbGludXgvYnJlYWtwYWRfZ2V0Y29udGV4dC5TIiwKKyAgICAgICAiYnJlYWtw YWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmNjIiwKKyAgICAgICAiYnJlYWtwYWQv c3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wLmgiLAorICAgICAgICJicmVha3BhZC9zcmMv Y29tbW9uL2xpbnV4L2VsZnV0aWxzLmNjIiwKK0BAIC02NjMsNiArNjYyLDE1IEBAIGlmIChpc19s aW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRyb2kKKyAKKyAgICAgbGlicyA9IFsgImRsIiBd CisgCisrICAgIGlmIChjdXJyZW50X2NwdSA9PSAicHBjNjQiKSB7CisrICAgICAgICBkZWZpbmVz ID0gWyAiSEFWRV9HRVRDT05URVhUIiBdCisrICAgICAgICBsaWJzICs9IFsgInVjb250ZXh0IiBd CisrICAgIH0gZWxzZSB7CisrICAgICAgICBzb3VyY2VzICs9IFsKKysgICAgICAgICAgICAiYnJl YWtwYWQvc3JjL2NvbW1vbi9saW51eC9icmVha3BhZF9nZXRjb250ZXh0LlMiCisrICAgICAgICBd CisrICAgIH0KKysKKyAgICAgaW5jbHVkZV9kaXJzID0gWworICAgICAgICIuIiwKKyAgICAgICAi YnJlYWtwYWQvc3JjIiwKK0BAIC03MTIsNyArNzIwLDYgQEAgaWYgKGlzX2xpbnV4IHx8IGlzX2No cm9tZW9zIHx8IGlzX2FuZHJvaQorICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21p bmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MiLAorICAgICAgICJicmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5p dHRlc3RfdXRpbHMuY2MiLAorICAgICAgICJicmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9wcm9jX2NwdWluZm9fcmVhZGVyX3VuaXR0ZXN0LmNjIiwKKy0gICAgICAiYnJl YWtwYWQvc3JjL2NvbW1vbi9saW51eC9icmVha3BhZF9nZXRjb250ZXh0X3VuaXR0ZXN0LmNjIiwK KyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1wX3VuaXR0ZXN0 LmNjIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9maWxlX2lkX3VuaXR0ZXN0 LmNjIiwKKyAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9saW51eF9saWJjX3N1cHBv cnRfdW5pdHRlc3QuY2MiLAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jh d19jb250ZXh0X2NwdS5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3 X2NvbnRleHRfY3B1LmgKK0BAIC00NCw2ICs0NCw4IEBAIHR5cGVkZWYgTURSYXdDb250ZXh0QVJN IFJhd0NvbnRleHRDUFU7CisgdHlwZWRlZiBNRFJhd0NvbnRleHRBUk02NF9PbGQgUmF3Q29udGV4 dENQVTsKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQorIHR5cGVkZWYgTURSYXdDb250ZXh0TUlQ UyBSYXdDb250ZXh0Q1BVOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyt0eXBlZGVm IE1EUmF3Q29udGV4dFBQQzY0IFJhd0NvbnRleHRDUFU7CisgI2Vsc2UKKyAjZXJyb3IgIlRoaXMg Y29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKKyAjZW5kaWYK Ky0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjCitAQCAtMjcw LDcgKzI3MCw1NCBAQCB2b2lkIFRocmVhZEluZm86OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRlCisg ICBvdXQtPmZsb2F0X3NhdmUuZmlyID0gbWNvbnRleHQuZnBjX2VpcjsKKyAjZW5kaWYKKyB9Cist I2VuZGlmICAvLyBfX21pcHNfXworKworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysK KysjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyNpbmNsdWRlIDxhc20vZWxmLmg+CisrI2luY2x1 ZGUgPGFzbS9wdHJhY2UuaD4KKysjZW5kaWYKKysKKyt1aW50cHRyX3QgVGhyZWFkSW5mbzo6R2V0 SW5zdHJ1Y3Rpb25Qb2ludGVyKCkgY29uc3QgeworKyAgICByZXR1cm4gbWNvbnRleHQuZ3BfcmVn c1tQVF9OSVBdOworK30KKysKKyt2b2lkIFRocmVhZEluZm86OkZpbGxDUFVDb250ZXh0KFJhd0Nv bnRleHRDUFUqIG91dCkgY29uc3QgeworKyAgICBvdXQtPmNvbnRleHRfZmxhZ3MgPSBNRF9DT05U RVhUX1BQQzY0X0ZVTEw7CisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfQ09OVEVYVF9QUEM2 NF9HUFJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91dC0+Z3ByW2ldID0gbWNvbnRleHQuZ3BfcmVn c1tpXTsKKysKKysgICAgb3V0LT5sciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXTsKKysgICAg b3V0LT5zcnIwID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdOworKyAgICBvdXQtPnNycjEgPSBt Y29udGV4dC5ncF9yZWdzW1BUX01TUl07CisrICAgIG91dC0+Y3IgPSBtY29udGV4dC5ncF9yZWdz W1BUX0NDUl07CisrICAgIG91dC0+eGVyID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJdOworKyAg ICBvdXQtPmN0ciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfQ1RSXTsKKysKKysjaWZkZWYgX19HTElC Q19fCisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBS X0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdzW2ldID0gbWNvbnRl eHQuZnBfcmVnc1tpXTsKKysKKysgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gbWNvbnRleHQu ZnBfcmVnc1tORlBSRUctMV07CisrI2Vsc2UKKysgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9G TE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91dC0+ZmxvYXRf c2F2ZS5mcHJlZ3NbaV0gPSAoKHVpbnQ2NF90ICopJm1jb250ZXh0LmZwX3JlZ3MpW2ldOworKwor KyAgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gKCh1aW50NjRfdCAqKSZtY29udGV4dC5mcF9y ZWdzKVtFTEZfTkZQUkVHLTFdOworKyNlbmRpZgorKworKyAgICBmb3IgKGludCBpID0gMDsgaSA8 IE1EX1ZFQ1RPUlNBVkVBUkVBX1BQQ19WUl9DT1VOVDsgaSsrKQorKyAgICAgICAgb3V0LT52ZWN0 b3Jfc2F2ZS5zYXZlX3ZyW2ldID0gXAorKyAgICAgICAgICAgIHsoKCh1aW50NjRfdCl2cmVncy52 cnJlZ3NbaV1bMF0pIDw8IDMyKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy52 cnJlZ3NbaV1bMV0sCisrICAgICAgICAgICAgKCgodWludDY0X3QpdnJlZ3MudnJyZWdzW2ldWzJd KSA8PCAzMikKKysgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy52cnJlZ3NbaV1bM119 OworKworKyAgICBvdXQtPnZyc2F2ZSA9IHZyZWdzLnZyc2F2ZTsKKysgICAgb3V0LT52ZWN0b3Jf c2F2ZS5zYXZlX3ZzY3IgPSB7MCwgdnJlZ3MudnNjci52c2NyX3dvcmR9OworKyAgICBvdXQtPnZl Y3Rvcl9zYXZlLnNhdmVfdnJ2YWxpZCA9IDB4RkZGRkZGRkY7CisrfQorKyNlbmRpZiAgLy8gX19w b3dlcnBjNjRfXworIAorIHZvaWQgVGhyZWFkSW5mbzo6R2V0R2VuZXJhbFB1cnBvc2VSZWdpc3Rl cnModm9pZCoqIGdwX3JlZ3MsIHNpemVfdCogc2l6ZSkgeworICAgYXNzZXJ0KGdwX3JlZ3MgfHwg c2l6ZSk7CitAQCAtMjc5LDYgKzMyNiwxMSBAQCB2b2lkIFRocmVhZEluZm86OkdldEdlbmVyYWxQ dXJwb3NlUmVnaXN0CisgICAgICpncF9yZWdzID0gbWNvbnRleHQuZ3JlZ3M7CisgICBpZiAoc2l6 ZSkKKyAgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZ3JlZ3MpOworKyNlbGlmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKKysgIGlmIChncF9yZWdzKQorKyAgICAqZ3BfcmVncyA9IG1jb250ZXh0 LmdwX3JlZ3M7CisrICBpZiAoc2l6ZSkKKysgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZ3Bf cmVncyk7CisgI2Vsc2UKKyAgIGlmIChncF9yZWdzKQorICAgICAqZ3BfcmVncyA9ICZyZWdzOwor QEAgLTI5NCw2ICszNDYsMTEgQEAgdm9pZCBUaHJlYWRJbmZvOjpHZXRGbG9hdGluZ1BvaW50UmVn aXN0ZQorICAgICAqZnBfcmVncyA9ICZtY29udGV4dC5mcHJlZ3M7CisgICBpZiAoc2l6ZSkKKyAg ICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZnByZWdzKTsKKysjZWxpZiBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCisrICBpZiAoZnBfcmVncykKKysgICAgKmZwX3JlZ3MgPSAmbWNvbnRleHQuZnBf cmVnczsKKysgIGlmIChzaXplKQorKyAgICAqc2l6ZSA9IHNpemVvZihtY29udGV4dC5mcF9yZWdz KTsKKyAjZWxzZQorICAgaWYgKGZwX3JlZ3MpCisgICAgICpmcF9yZWdzID0gJmZwcmVnczsKK0BA IC0zMDIsNCArMzU5LDEzIEBAIHZvaWQgVGhyZWFkSW5mbzo6R2V0RmxvYXRpbmdQb2ludFJlZ2lz dGUKKyAjZW5kaWYKKyB9CisgCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyt2b2lkIFRo cmVhZEluZm86OkdldFZlY3RvclJlZ2lzdGVycyh2b2lkKiogdl9yZWdzLCBzaXplX3QqIHNpemUp IHsKKysgICAgaWYgKHZfcmVncykKKysgICAgICAgICp2X3JlZ3MgPSAmdnJlZ3M7CisrICAgIGlm IChzaXplKQorKyAgICAgICAgKnNpemUgPSBzaXplb2YodnJlZ3MpOworK30KKysjZW5kaWYKKysK KyB9ICAvLyBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkCistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1w X3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0 ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKK0BAIC02OCw2ICs2OCwxMCBAQCBzdHJ1Y3QgVGhyZWFk SW5mbyB7CisgICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiA8c3lzL3VzZXIuaD4K KyAgIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3M7CisgICBzdHJ1Y3QgdXNlcl9mcHNpbWRf c3RydWN0IGZwcmVnczsKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAvLyBVc2Ug dGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiA8c3lzL3Vjb250ZXh0Lmg+LgorKyAgbWNvbnRleHRf dCBtY29udGV4dDsKKysgIHZycmVnc2V0X3QgdnJlZ3M7CisgI2VsaWYgZGVmaW5lZChfX21pcHNf XykKKyAgIC8vIFVzZSB0aGUgc3RydWN0dXJlIGRlZmluZWQgaW4gPHN5cy91Y29udGV4dC5oPi4K KyAgIG1jb250ZXh0X3QgbWNvbnRleHQ7CitAQCAtODQsNiArODgsMTEgQEAgc3RydWN0IFRocmVh ZEluZm8geworIAorICAgLy8gUmV0dXJucyB0aGUgcG9pbnRlciBhbmQgc2l6ZSBvZiBmbG9hdCBw b2ludCByZWdpc3RlciBhcmVhLgorICAgdm9pZCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzKHZv aWQqKiBmcF9yZWdzLCBzaXplX3QqIHNpemUpOworKworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCisrICAvLyBSZXR1cm5zIHRoZSBwb2ludGVyIGFuZCBzaXplIG9mIHRoZSB2ZWN0b3IgcmVn aXN0ZXIgYXJlYS4gKFBQQzY0IG9ubHkpCisrICB2b2lkIEdldFZlY3RvclJlZ2lzdGVycyh2b2lk Kiogdl9yZWdzLCBzaXplX3QqIHNpemUpOworKyNlbmRpZgorIH07CisgCisgfSAgLy8gbmFtZXNw YWNlIGdvb2dsZV9icmVha3BhZAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3Vjb250ZXh0X3JlYWRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3Vjb250ZXh0X3JlYWRlci5jYworQEAgLTI1NCw2ICsyNTQsNjAgQEAgdm9pZCBVQ29udGV4dFJl YWRlcjo6RmlsbENQVUNvbnRleHQoUmF3QworICAgb3V0LT5mbG9hdF9zYXZlLmZpciA9IHVjLT51 Y19tY29udGV4dC5mcGNfZWlyOyAgLy8gVW51c2VkLgorICNlbmRpZgorIH0KKysKKysjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrCisrI2lmbmRlZiBfX0dMSUJDX18KKysjaW5jbHVkZSA8 YXNtL2VsZi5oPgorKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2VuZGlmCisrCisrdWludHB0 cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMp IHsKKysgICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRf UkVHX1NQXTsKKyt9CisrCisrdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlv blBvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKKysgICAgcmV0dXJuIHVjLT51Y19tY29u dGV4dC5ncF9yZWdzW1BUX05JUF07CisrfQorKworK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxD UFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnJyZWdzZXRfdCogdnJlZ3Mp IHsKKysgICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9QUEM2NF9GVUxMOworKwor KyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0NPTlRFWFRfUFBDNjRfR1BSX0NPVU5UOyBpKysp CisrICAgICAgICBvdXQtPmdwcltpXSA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW2ldOworKwor KyAgICBvdXQtPmxyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXTsKKysgICAgb3V0 LT5zcnIwID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKKysgICAgb3V0LT5zcnIx ID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTVNSXTsKKysgICAgb3V0LT5jciA9IHVjLT51 Y19tY29udGV4dC5ncF9yZWdzW1BUX0NDUl07CisrICAgIG91dC0+eGVyID0gdWMtPnVjX21jb250 ZXh0LmdwX3JlZ3NbUFRfWEVSXTsKKysgICAgb3V0LT5jdHIgPSB1Yy0+dWNfbWNvbnRleHQuZ3Bf cmVnc1tQVF9DVFJdOworKworKyNpZmRlZiBfX0dMSUJDX18KKysgICAgZm9yIChpbnQgaSA9IDA7 IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKKysgICAgICAgIG91 dC0+ZmxvYXRfc2F2ZS5mcHJlZ3NbaV0gPSB1Yy0+dWNfbWNvbnRleHQuZnBfcmVnc1tpXTsKKysK KysgICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gdWMtPnVjX21jb250ZXh0LmZwX3JlZ3NbTkZQ UkVHLTFdOworKyNlbHNlCisrICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZF QVJFQV9QUENfRlBSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdz W2ldID0gKCh1aW50NjRfdCAqKSZ1Yy0+dWNfbWNvbnRleHQuZnBfcmVncylbaV07CisrCisrICAg IG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9ICgodWludDY0X3QgKikmdWMtPnVjX21jb250ZXh0LmZw X3JlZ3MpW0VMRl9ORlBSRUctMV07CisrI2VuZGlmCisrCisrICAgIGZvciAoaW50IGkgPSAwOyBp IDwgTURfVkVDVE9SU0FWRUFSRUFfUFBDX1ZSX0NPVU5UOyBpKyspCisrICAgICAgICBvdXQtPnZl Y3Rvcl9zYXZlLnNhdmVfdnJbaV0gPQorKyAgICAgICAgICAgIHsoKCh1aW50NjRfdCl2cmVncy0+ dnJyZWdzW2ldWzBdKSA8PCAzMikKKysgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy0+ dnJyZWdzW2ldWzFdLAorKyAgICAgICAgICAgICAoKCh1aW50NjRfdCl2cmVncy0+dnJyZWdzW2ld WzJdKSA8PCAzMikKKysgICAgICAgICAgICAgICAgICAgICAgICAgfCB2cmVncy0+dnJyZWdzW2ld WzNdfTsKKysKKysgICAgb3V0LT52cnNhdmUgPSB2cmVncy0+dnJzYXZlOworKyAgICBvdXQtPnZl Y3Rvcl9zYXZlLnNhdmVfdnNjciA9IHswLCB2cmVncy0+dnNjci52c2NyX3dvcmR9OworKyAgICBv dXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJ2YWxpZCA9IDB4RkZGRkZGRkY7CisrfQorKworICNlbmRp ZgorIAorIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAorKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv ZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCitAQCAtNTksNiArNTksOSBAQCBz dHJ1Y3QgVUNvbnRleHRSZWFkZXIgeworICNlbGlmIGRlZmluZWQoX19hYXJjaDY0X18pCisgICBz dGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0IHVjb250 ZXh0X3QqIHVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZw c2ltZF9jb250ZXh0KiBmcHJlZ3MpOworKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysg IHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUgKm91dCwgY29uc3QgdWNv bnRleHRfdCAqdWMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2cnJlZ3Nl dF90KiB2cmVncyk7CisgI2Vsc2UKKyAgIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0Nv bnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMpOworICNlbmRpZgorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYworKysrIGIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv aGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYworQEAgLTEwNSw2ICsxMDUsMTMgQEAKKyAjZGVm aW5lIFBSX1NFVF9QVFJBQ0VSIDB4NTk2MTZkNjEKKyAjZW5kaWYKKyAKKysvKiBtdXNsIGhhY2ss IGNhbid0IGluY2x1ZGUgYXNtL3B0cmFjZS5oIGFzIHRoYXQgY2F1c2VzIGNvbmZsaWN0cyAqLwor KyNpZm5kZWYgX19HTElCQ19fCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgIWRlZmlu ZWQoUFRfTklQKQorKyNkZWZpbmUgUFRfTklQIDMyCisrI2VuZGlmCisrI2VuZGlmCisrCisgbmFt ZXNwYWNlIGdvb2dsZV9icmVha3BhZCB7CisgCisgbmFtZXNwYWNlIHsKK0BAIC00NjEsOSArNDY4 LDE2IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFsKGludAorICAgICBtZW1j cHkoJmdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUsIGZwX3B0ciwKKyAgICAgICAgICAgIHNp emVvZihnX2NyYXNoX2NvbnRleHRfLmZsb2F0X3N0YXRlKSk7CisgICB9CisrI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorKyAgLy8gT24gUFBDNjQsIHdlIG11c3QgY29weSBWUiBzdGF0ZQor KyAgdWNvbnRleHRfdCogdWNfcHRyID0gKHVjb250ZXh0X3QqKXVjOworKyAgaWYgKHVjX3B0ci0+ dWNfbWNvbnRleHQudl9yZWdzKSB7CisrICAgIG1lbWNweSgmZ19jcmFzaF9jb250ZXh0Xy52ZWN0 b3Jfc3RhdGUsIHVjX3B0ci0+dWNfbWNvbnRleHQudl9yZWdzLAorKyAgICAgICAgICAgc2l6ZW9m KGdfY3Jhc2hfY29udGV4dF8udmVjdG9yX3N0YXRlKSk7CisrICB9CisgI2VsaWYgIWRlZmluZWQo X19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgIC8vIEZQIHN0YXRlIGlzIG5v dCBwYXJ0IG9mIHVzZXIgQUJJIG9uIEFSTSBMaW51eC4KKy0gIC8vIEluIGNhc2Ugb2YgTUlQUyBM aW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdAorKyAgLy8gSW4gY2Fz ZSBvZiBNSVBTLCBMaW51eCBGUCBzdGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdAor ICAgLy8gYW5kICdmbG9hdF9zdGF0ZScgaXMgbm90IGEgbWVtYmVyIG9mIENyYXNoQ29udGV4dC4K KyAgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1Y29udGV4dF90Kil1YzsKKyAgIGlmICh1Y19wdHIt PnVjX21jb250ZXh0LmZwcmVncykgeworQEAgLTcwOCwxMSArNzIyLDE5IEBAIGJvb2wgRXhjZXB0 aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKKyAgIH0KKyAjZW5kaWYKKyAKKy0jaWYgIWRl ZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQo X19taXBzX18pCisrI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19hYXJj aDY0X18pICYmICFkZWZpbmVkKF9fbWlwc19fKSBcCisrICAgICYmICFkZWZpbmVkKF9fcG93ZXJw YzY0X18pCisgICAvLyBGUFUgc3RhdGUgaXMgbm90IHBhcnQgb2YgQVJNIEVBQkkgdWNvbnRleHRf dC4KKyAgIG1lbWNweSgmY29udGV4dC5mbG9hdF9zdGF0ZSwgY29udGV4dC5jb250ZXh0LnVjX21j b250ZXh0LmZwcmVncywKKyAgICAgICAgICBzaXplb2YoY29udGV4dC5mbG9hdF9zdGF0ZSkpOwor ICNlbmRpZgorKworKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAvLyBWZWN0b3IgcmVn aXN0ZXJzIG11c3QgYmUgY29waWVkIG9uIFBQQzY0CisrICBtZW1jcHkoJmNvbnRleHQudmVjdG9y X3N0YXRlLCBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQudl9yZWdzLAorKyAgICAgICAgIHNp emVvZihjb250ZXh0LnZlY3Rvcl9zdGF0ZSkpOworKyNlbmRpZgorKworICAgY29udGV4dC50aWQg PSBzeXNfZ2V0dGlkKCk7CisgCisgICAvLyBBZGQgYW4gZXhjZXB0aW9uIHN0cmVhbSB0byB0aGUg bWluaWR1bXAgZm9yIGJldHRlciByZXBvcnRpbmcuCitAQCAtNzMzLDYgKzc1NSw5IEBAIGJvb2wg RXhjZXB0aW9uSGFuZGxlcjo6V3JpdGVNaW5pZHVtcCgpIHsKKyAjZWxpZiBkZWZpbmVkKF9fbWlw c19fKQorICAgY29udGV4dC5zaWdpbmZvLnNpX2FkZHIgPQorICAgICAgIHJlaW50ZXJwcmV0X2Nh c3Q8dm9pZCo+KGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5wYyk7CisrI2VsaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorKyAgY29udGV4dC5zaWdpbmZvLnNpX2FkZHIgPQorKyAgICAgIHJl aW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdz W1BUX05JUF0pOworICNlbHNlCisgI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRl ZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hy b21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5k bGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0 aW9uX2hhbmRsZXIuaAorQEAgLTE5Miw3ICsxOTIsMTEgQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxl ciB7CisgICAgIHNpZ2luZm9fdCBzaWdpbmZvOworICAgICBwaWRfdCB0aWQ7ICAvLyB0aGUgY3Jh c2hpbmcgdGhyZWFkLgorICAgICB1Y29udGV4dF90IGNvbnRleHQ7CistI2lmICFkZWZpbmVkKF9f QVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBj NjRfXykKKysgICAgLy8gUFBDNjQncyBGUCBzdGF0ZSBpcyBhIHBhcnQgb2YgdWNvbnRleHRfdCBs aWtlIE1JUFMgYnV0IHRoZSB2ZWN0b3IKKysgICAgLy8gc3RhdGUgaXMgbm90LCBzbyBhIHN0cnVj dCBpcyBuZWVkZWQuCisrICAgIHZzdGF0ZV90IHZlY3Rvcl9zdGF0ZTsKKysjZWxpZiAhZGVmaW5l ZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorICAgICAvLyAjaWZkZWYgdGhp cyBvdXQgYmVjYXVzZSBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBmb3IgTGludXgg QVJNLgorICAgICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBw YXJ0IG9mIHVjb250ZXh0X3Qgc28KKyAgICAgLy8gJ2Zsb2F0X3N0YXRlJyBpcyBub3QgcmVxdWly ZWQuCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0 LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0 LmNjCitAQCAtMzA3LDcgKzMwNyw3IEBAIFRFU1QoRXhjZXB0aW9uSGFuZGxlclRlc3QsIFBhcmFs bGVsQ2hpbGQKKyAgIH0KKyAKKyAgIC8vIFdhaXQgYSB3aGlsZSB1bnRpbCB0aGUgY2hpbGQgc2hv dWxkIGhhdmUgY3Jhc2hlZC4KKy0gIHVzbGVlcCgxMDAwMDAwKTsKKysgIHVzbGVlcCgyMDAwMDAw KTsKKyAgIC8vIEtpbGwgdGhlIGNoaWxkIGlmIGl0IGlzIHN0aWxsIHJ1bm5pbmcuCisgICBraWxs KGNoaWxkLCBTSUdLSUxMKTsKKyAKK0BAIC01NTksNiArNTU5LDggQEAgY29uc3QgdW5zaWduZWQg Y2hhciBrSWxsZWdhbEluc3RydWN0aW9uWworICNpZiBkZWZpbmVkKF9fbWlwc19fKQorICAgLy8g bWZjMiB6ZXJvLEltcGwgLSB1c3VhbGx5IGlsbGVnYWwgaW4gdXNlcnNwYWNlLgorICAgMHg0OCwg MHgwMCwgMHgwMCwgMHg0OAorKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIDB4MDEs IDB4MDEsIDB4MDEsIDB4MDEgLy8gQ3Jhc2hlcyBvbiBhIHRlc3RlZCBQT1dFUjkgY3B1CisgI2Vs c2UKKyAgIC8vIFRoaXMgY3Jhc2hlcyB3aXRoIFNJR0lMTCBvbiB4ODYveDg2LTY0L2FybS4KKyAg IDB4ZmYsIDB4ZmYsIDB4ZmYsIDB4ZmYKK0BAIC03NTQsMTAgKzc1NiwxMCBAQCBURVNUKEV4Y2Vw dGlvbkhhbmRsZXJUZXN0LCBJbnN0cnVjdGlvblBvCisgCisgICAvLyBUaGVzZSBhcmUgZGVmaW5l ZCBoZXJlIHNvIHRoZSBwYXJlbnQgY2FuIHVzZSB0aGVtIHRvIGNoZWNrIHRoZQorICAgLy8gZGF0 YSBmcm9tIHRoZSBtaW5pZHVtcCBhZnRlcndhcmRzLgorLSAgLy8gVXNlIDRrIGhlcmUgYmVjYXVz ZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBhIHNpbmdsZSBwYWdlIGV2ZW4KKysgIC8vIFVzZSB0aGUg cGFnZSBzaXplIGhlcmUgYmVjYXVzZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBhIHNpbmdsZSBwYWdl IGV2ZW4KKyAgIC8vIGlmIGEgc21hbGxlciBzaXplIGlzIHJlcXVlc3RlZCwgYW5kIHRoaXMgdGVz dCB3YW50cyB0bworICAgLy8gdGVzdCB0aGUgdXBwZXIgYm91bmQgb2YgdGhlIG1lbW9yeSByYW5n ZS4KKy0gIGNvbnN0IHVpbnQzMl90IGtNZW1vcnlTaXplID0gNDA5NjsgIC8vIGJ5dGVzCisrICBj b25zdCB1aW50MzJfdCBrTWVtb3J5U2l6ZSA9IGdldHBhZ2VzaXplKCk7ICAvLyBieXRlcworICAg Y29uc3QgaW50IGtPZmZzZXQgPSBrTWVtb3J5U2l6ZSAtIHNpemVvZihrSWxsZWdhbEluc3RydWN0 aW9uKTsKKyAKKyAgIGNvbnN0IHBpZF90IGNoaWxkID0gZm9yaygpOworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MKK0BAIC0xMzgsNyArMTM4LDkg QEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKKyAgICAgICAgICAgICAgICAgICBjb25zdCBNaWNy b2R1bXBFeHRyYUluZm8mIG1pY3JvZHVtcF9leHRyYV9pbmZvLAorICAgICAgICAgICAgICAgICAg IExpbnV4RHVtcGVyKiBkdW1wZXIpCisgICAgICAgOiB1Y29udGV4dF8oY29udGV4dCA/ICZjb250 ZXh0LT5jb250ZXh0IDogTlVMTCksCistI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRl ZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgICAgIHZl Y3Rvcl9zdGF0ZV8oY29udGV4dCA/ICZjb250ZXh0LT52ZWN0b3Jfc3RhdGUgOiBOVUxMKSwKKysj ZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorICAgICAg ICAgZmxvYXRfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+ZmxvYXRfc3RhdGUgOiBOVUxMKSwK KyAjZW5kaWYKKyAgICAgICAgIGR1bXBlcl8oZHVtcGVyKSwKK0BAIC0zMzcsNiArMzM5LDggQEAg Y2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKKyAjIGVsc2UKKyAjICBlcnJvciAiVGhpcyBtaXBzIEFC SSBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCAobjMyKSIKKyAjZW5kaWYKKysjZWxpZiBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCisrICAgIGNvbnN0IGNoYXIga0FyY2hbXSA9ICJwcGM2NCI7Cisg I2Vsc2UKKyAjZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxh dGZvcm0geWV0IgorICNlbmRpZgorQEAgLTQwOSw3ICs0MTMsOSBAQCBjbGFzcyBNaWNyb2R1bXBX cml0ZXIgeworICAgdm9pZCBEdW1wQ1BVU3RhdGUoKSB7CisgICAgIFJhd0NvbnRleHRDUFUgY3B1 OworICAgICBteV9tZW1zZXQoJmNwdSwgMCwgc2l6ZW9mKFJhd0NvbnRleHRDUFUpKTsKKy0jaWYg IWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQorKyAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoJmNw dSwgdWNvbnRleHRfLCB2ZWN0b3Jfc3RhdGVfKTsKKysjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJ X18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorICAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNv bnRleHQoJmNwdSwgdWNvbnRleHRfLCBmbG9hdF9zdGF0ZV8pOworICNlbHNlCisgICAgIFVDb250 ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dCgmY3B1LCB1Y29udGV4dF8pOworQEAgLTYwNSw3ICs2 MTEsOSBAQCBjbGFzcyBNaWNyb2R1bXBXcml0ZXIgeworICAgdm9pZCogQWxsb2ModW5zaWduZWQg Ynl0ZXMpIHsgcmV0dXJuIGR1bXBlcl8tPmFsbG9jYXRvcigpLT5BbGxvYyhieXRlcyk7IH0KKyAK KyAgIGNvbnN0IHVjb250ZXh0X3QqIGNvbnN0IHVjb250ZXh0XzsKKy0jaWYgIWRlZmluZWQoX19B Uk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQorKyAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjp2c3RhdGVfdCogY29uc3QgdmVjdG9yX3N0 YXRlXzsKKysjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19f KQorICAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjpmcHN0YXRlX3QqIGNvbnN0IGZsb2F0X3N0YXRl XzsKKyAjZW5kaWYKKyAgIExpbnV4RHVtcGVyKiBkdW1wZXJfOworLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv bWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKK0BA IC0yNzksMTAgKzI3OSwxOSBAQCBURVNUKE1pY3JvZHVtcFdyaXRlclRlc3QsIEJhc2ljV2l0aE1h cHBpCisgICBDcmFzaEFuZEdldE1pY3JvZHVtcChtYXBwaW5ncywgTWljcm9kdW1wRXh0cmFJbmZv KCksICZidWYpOworICAgQVNTRVJUX1RSVUUoQ29udGFpbnNNaWNyb2R1bXAoYnVmKSk7CisgCisr ICBpbnQgcGFnZV9zaXplID0gZ2V0cGFnZXNpemUoKTsKKyAjaWZkZWYgX19MUDY0X18KKy0gIEFT U0VSVF9ORShzdGQ6OnN0cmluZzo6bnBvcywKKy0gICAgICAgICAgICBidWYuZmluZCgiTSAwMDAw MDAwMDAwMDAxMDAwIDAwMDAwMDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAwMTAwMCAiCistICAgICAg ICAgICAgICAgICAgICAgIjMzMjIxMTAwNTU0NDc3NjY4ODk5QUFCQkNDRERFRUZGMCBsaWJmb28u c28iKSk7CisrICAvLyBUaGlzIHRlc3QgaXMgb25seSBhdmFpbGFibGUgZm9yIHRoZSBmb2xsb3dp bmcgcGFnZSBzaXplcworKyAgQVNTRVJUX1RSVUUoKHBhZ2Vfc2l6ZSA9PSA0MDk2KSB8fCAocGFn ZV9zaXplID09IDY1NTM2KSk7CisrICBpZiAocGFnZV9zaXplID09IDQwOTYpIHsKKysgICAgQVNT RVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAorKyAgICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAw MDAwMDAwMDAwMTAwMCAwMDAwMDAwMDAwMDAwMDJBIDAwMDAwMDAwMDAwMDEwMDAgIgorKyAgICAg ICAgICAgICAgICAgICAgICAgIjMzMjIxMTAwNTU0NDc3NjY4ODk5QUFCQkNDRERFRUZGMCBsaWJm b28uc28iKSk7CisrICB9IGVsc2UgeworKyAgICBBU1NFUlRfTkUoc3RkOjpzdHJpbmc6Om5wb3Ms CisrICAgICAgICAgICAgICBidWYuZmluZCgiTSAwMDAwMDAwMDAwMDEwMDAwIDAwMDAwMDAwMDAw MDAwMkEgMDAwMDAwMDAwMDAxMDAwMCAiCisrICAgICAgICAgICAgICAgICAgICAgICAiMzMyMjEx MDA1NTQ0Nzc2Njg4OTlBQUJCQ0NEREVFRkYwIGxpYmZvby5zbyIpKTsKKysgIH0KKyAjZWxzZQor ICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9zLAorICAgICAgICAgICAgIGJ1Zi5maW5kKCJN IDAwMDAxMDAwIDAwMDAwMDJBIDAwMDAxMDAwICIKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCitAQCAtMTE3LDYgKzExNyw5IEBAIGJvb2wgTGlu dXhDb3JlRHVtcGVyOjpHZXRUaHJlYWRJbmZvQnlJbmQKKyAjZWxpZiBkZWZpbmVkKF9fbWlwc19f KQorICAgc3RhY2tfcG9pbnRlciA9CisgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4o aW5mby0+bWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19TUF0pOworKyNlbGlmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKKysgIHN0YWNrX3BvaW50ZXIgPQorKyAgICAgIHJlaW50ZXJw cmV0X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdwX3JlZ3NbTURfQ09OVEVYVF9QUEM2 NF9SRUdfU1BdKTsKKyAjZWxzZQorICNlcnJvciAiVGhpcyBjb2RlIGhhc24ndCBiZWVuIHBvcnRl ZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCisgI2VuZGlmCitAQCAtMjEyLDcgKzIxNSwxMCBAQCBi b29sIExpbnV4Q29yZUR1bXBlcjo6RW51bWVyYXRlVGhyZWFkcygpCisgICAgICAgICBtZW1zZXQo JmluZm8sIDAsIHNpemVvZihUaHJlYWRJbmZvKSk7CisgICAgICAgICBpbmZvLnRnaWQgPSBzdGF0 dXMtPnByX3BncnA7CisgICAgICAgICBpbmZvLnBwaWQgPSBzdGF0dXMtPnByX3BwaWQ7CistI2lm IGRlZmluZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgICAg IGZvciAoaW50IGkgPSAwOyBpIDwgMzE7IGkrKykKKysgICAgICAgICAgICBpbmZvLm1jb250ZXh0 LmdwX3JlZ3NbaV0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKKysjZWxpZiBkZWZpbmVkKF9fbWlwc19f KQorICNpZiBkZWZpbmVkKF9fQU5EUk9JRF9fKQorICAgICAgICAgZm9yIChpbnQgaSA9IEVGX1Iw OyBpIDw9IEVGX1IzMTsgaSsrKQorICAgICAgICAgICBpbmZvLm1jb250ZXh0LmdyZWdzW2kgLSBF Rl9SMF0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9saW51eF9kdW1wZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9s aW51eF9kdW1wZXIuY2MKK0BAIC03NjUsNyArNzY1LDkgQEAgYm9vbCBMaW51eER1bXBlcjo6R2V0 U3RhY2tJbmZvKGNvbnN0IHZvaQorICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGlu dF9zdGFja19wb2ludGVyICYgfihwYWdlX3NpemUgLSAxKSk7CisgCisgICAvLyBUaGUgbnVtYmVy IG9mIGJ5dGVzIG9mIHN0YWNrIHdoaWNoIHdlIHRyeSB0byBjYXB0dXJlLgorLSAgc3RhdGljIGNv bnN0IHB0cmRpZmZfdCBrU3RhY2tUb0NhcHR1cmUgPSAzMiAqIDEwMjQ7CisrICAvLyBUaGlzIG5v dyBkZXBlbmRzIG9uIHBhZ2Vfc2l6ZSB0byBhdm9pZCBtaXNzaW5nIGRhdGEKKysgIC8vIG9uIHN5 c3RlbXMgd2l0aCBsYXJnZXIgcGFnZSBzaXplcy4KKysgIHN0YXRpYyBjb25zdCBwdHJkaWZmX3Qg a1N0YWNrVG9DYXB0dXJlID0gOCAqIHBhZ2Vfc2l6ZTsKKyAKKyAgIGNvbnN0IE1hcHBpbmdJbmZv KiBtYXBwaW5nID0gRmluZE1hcHBpbmcoc3RhY2tfcG9pbnRlcik7CisgICBpZiAoIW1hcHBpbmcp CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuaAorQEAgLTYzLDcgKzYz LDggQEAgbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZCB7CisgIChkZWZpbmVkKF9fbWlwc19fKSAm JiBfTUlQU19TSU0gPT0gX0FCSU8zMikKKyB0eXBlZGVmIEVsZjMyX2F1eHZfdCBlbGZfYXV4X2Vu dHJ5OworICNlbGlmIGRlZmluZWQoX194ODZfNjQpIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8 IFwKKy0gICAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gIT0gX0FCSU8zMikKKysg ICAgIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gIT0gX0FCSU8zMikgfHwgXAorKyAg ICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorIHR5cGVkZWYgRWxmNjRfYXV4dl90IGVsZl9hdXhf ZW50cnk7CisgI2VuZGlmCisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGlu dXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL2xpbnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKK0BAIC01MSw2ICs1MSw4IEBA CisgI2RlZmluZSBUSURfUFRSX1JFR0lTVEVSICJyY3giCisgI2VsaWYgZGVmaW5lZChfX21pcHNf XykKKyAjZGVmaW5lIFRJRF9QVFJfUkVHSVNURVIgIiQxIgorKyNlbGlmIGRlZmluZWQoX19wb3dl cnBjNjRfXykKKysjZGVmaW5lIFRJRF9QVFJfUkVHSVNURVIgInI4IgorICNlbHNlCisgI2Vycm9y IFRoaXMgdGVzdCBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHRoaXMgcGxhdGZvcm0uCisgI2VuZGlm CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5j YworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIu Y2MKK0BAIC0xNTQsMTkgKzE1NCwyNyBAQCBib29sIExpbnV4UHRyYWNlRHVtcGVyOjpDb3B5RnJv bVByb2Nlc3MoCisgICByZXR1cm4gdHJ1ZTsKKyB9CisgCistYm9vbCBMaW51eFB0cmFjZUR1bXBl cjo6UmVhZFJlZ2lzdGVyU2V0KFRocmVhZEluZm8qIGluZm8sIHBpZF90IHRpZCkKKy17CisrYm9v bCBMaW51eFB0cmFjZUR1bXBlcjo6UmVhZFJlZ2lzdGVyU2V0KFRocmVhZEluZm8qIGluZm8sIHBp ZF90IHRpZCkgeworICNpZmRlZiBQVFJBQ0VfR0VUUkVHU0VUCisgICBzdHJ1Y3QgaW92ZWMgaW87 CisgICBpbmZvLT5HZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVycygmaW8uaW92X2Jhc2UsICZpby5p b3ZfbGVuKTsKKy0gIGlmIChzeXNfcHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRpZCwgKHZvaWQq KU5UX1BSU1RBVFVTLCAodm9pZCopJmlvKSA9PSAtMSkgeworKyAgaWYgKHB0cmFjZShQVFJBQ0Vf R0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9QUlNUQVRVUywgKHZvaWQqKSZpbykgPT0gLTEpIHsK KyAgICAgcmV0dXJuIGZhbHNlOworICAgfQorIAorICAgaW5mby0+R2V0RmxvYXRpbmdQb2ludFJl Z2lzdGVycygmaW8uaW92X2Jhc2UsICZpby5pb3ZfbGVuKTsKKy0gIGlmIChzeXNfcHRyYWNlKFBU UkFDRV9HRVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX0ZQUkVHU0VULCAodm9pZCopJmlvKSA9PSAt MSkgeworKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9GUFJF R1NFVCwgKHZvaWQqKSZpbykgPT0gLTEpIHsKKyAgICAgcmV0dXJuIGZhbHNlOworICAgfQorKwor KyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAvLyBHcmFiIHRoZSB2ZWN0b3IgcmVnaXN0 ZXJzIG9uIFBQQzY0IHRvbworKyAgaW5mby0+R2V0VmVjdG9yUmVnaXN0ZXJzKCZpby5pb3ZfYmFz ZSwgJmlvLmlvdl9sZW4pOworKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2 b2lkKilOVF9QUENfVk1YLCAodm9pZCopJmlvKSA9PSAtMSkgeworKyAgICByZXR1cm4gZmFsc2U7 CisrICB9CisrI2VuZGlmIC8vIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysKKyAgIHJldHVybiB0 cnVlOworICNlbHNlCisgICByZXR1cm4gZmFsc2U7CitAQCAtMzAzLDYgKzMxMSw5IEBAIGJvb2wg TGludXhQdHJhY2VEdW1wZXI6OkdldFRocmVhZEluZm9CeUkKKyAjZWxpZiBkZWZpbmVkKF9fbWlw c19fKQorICAgc3RhY2tfcG9pbnRlciA9CisgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90 Kj4oaW5mby0+bWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19TUF0pOworKyNlbGlm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIHN0YWNrX3BvaW50ZXIgPQorKyAgICAgIHJlaW50 ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdwX3JlZ3NbTURfQ09OVEVYVF9Q UEM2NF9SRUdfU1BdKTsKKyAjZWxzZQorICNlcnJvciAiVGhpcyBjb2RlIGhhc24ndCBiZWVuIHBv cnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYworKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRlc3QuY2MK K0BAIC00NjIsNiArNDYyLDkgQEAgVEVTVChMaW51eFB0cmFjZUR1bXBlclRlc3QsIFZlcmlmeVN0 YWNrUgorICNlbGlmIGRlZmluZWQoX19taXBzX18pCisgICAgIHBpZF90KiBwcm9jZXNzX3RpZF9s b2NhdGlvbiA9CisgICAgICAgICByZWludGVycHJldF9jYXN0PHBpZF90Kj4ob25lX3RocmVhZC5t Y29udGV4dC5ncmVnc1sxXSk7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICBw aWRfdCogcHJvY2Vzc190aWRfbG9jYXRpb24gPQorKyAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxw aWRfdCo+KG9uZV90aHJlYWQubWNvbnRleHQuZ3BfcmVnc1s4XSk7CisgI2Vsc2UKKyAjZXJyb3Ig VGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KKyAjZW5kaWYK K0BAIC01NTksNiArNTYyLDggQEAgVEVTVF9GKExpbnV4UHRyYWNlRHVtcGVyVGVzdCwgU2FuaXRp emVTdAorICAgdWludHB0cl90IGhlYXBfYWRkciA9IHRocmVhZF9pbmZvLnJlZ3MucmN4OworICNl bGlmIGRlZmluZWQoX19taXBzX18pCisgICB1aW50cHRyX3QgaGVhcF9hZGRyID0gdGhyZWFkX2lu Zm8ubWNvbnRleHQuZ3JlZ3NbMV07CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAg dWludHB0cl90IGhlYXBfYWRkciA9IHRocmVhZF9pbmZvLm1jb250ZXh0LmdwX3JlZ3NbOF07Cisg I2Vsc2UKKyAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0 Zm9ybS4KKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVt cF93cml0ZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93 cml0ZXIuY2MKK0BAIC0xMzYsNyArMTM2LDkgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgeworICAg ICAgIDogZmRfKG1pbmlkdW1wX2ZkKSwKKyAgICAgICAgIHBhdGhfKG1pbmlkdW1wX3BhdGgpLAor ICAgICAgICAgdWNvbnRleHRfKGNvbnRleHQgPyAmY29udGV4dC0+Y29udGV4dCA6IE5VTEwpLAor LSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQorKyNpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAgICAgICB2ZWN0b3Jfc3RhdGVfKGNvbnRleHQgPyAm Y29udGV4dC0+dmVjdG9yX3N0YXRlIDogTlVMTCksCisrI2VsaWYgIWRlZmluZWQoX19BUk1fRUFC SV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgICAgICAgIGZsb2F0X3N0YXRlXyhjb250ZXh0 ID8gJmNvbnRleHQtPmZsb2F0X3N0YXRlIDogTlVMTCksCisgI2VuZGlmCisgICAgICAgICBkdW1w ZXJfKGR1bXBlciksCitAQCAtNDY4LDcgKzQ3MCw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsK KyAgICAgICAgIGlmICghY3B1LkFsbG9jYXRlKCkpCisgICAgICAgICAgIHJldHVybiBmYWxzZTsK KyAgICAgICAgIG15X21lbXNldChjcHUuZ2V0KCksIDAsIHNpemVvZihSYXdDb250ZXh0Q1BVKSk7 CistI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BV Q29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0XywgdmVjdG9yX3N0YXRlXyk7CisrI2VsaWYgIWRl ZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKKyAgICAgICAgIFVDb250 ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0XywgZmxvYXRfc3Rh dGVfKTsKKyAjZWxzZQorICAgICAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KGNw dS5nZXQoKSwgdWNvbnRleHRfKTsKK0BAIC04OTcsNyArOTAxLDcgQEAgY2xhc3MgTWluaWR1bXBX cml0ZXIgeworICAgICBkaXJlbnQtPmxvY2F0aW9uLnJ2YSA9IDA7CisgICB9CisgCistI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNf XykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisgICBib29sIFdyaXRlQ1BV SW5mb3JtYXRpb24oTURSYXdTeXN0ZW1JbmZvKiBzeXNfaW5mbykgeworICAgICBjaGFyIHZlbmRv cl9pZFtzaXplb2Yoc3lzX2luZm8tPmNwdS54ODZfY3B1X2luZm8udmVuZG9yX2lkKSArIDFdID0g ezB9OworICAgICBzdGF0aWMgY29uc3QgY2hhciB2ZW5kb3JfaWRfbmFtZVtdID0gInZlbmRvcl9p ZCI7CitAQCAtOTE3LDcgKzkyMSw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKKyAKKyAgICAg Ly8gcHJvY2Vzc29yX2FyY2hpdGVjdHVyZSBzaG91bGQgYWx3YXlzIGJlIHNldCwgZG8gdGhpcyBm aXJzdAorICAgICBzeXNfaW5mby0+cHJvY2Vzc29yX2FyY2hpdGVjdHVyZSA9CistI2lmIGRlZmlu ZWQoX19taXBzX18pCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgICAgIE1EX0NQ VV9BUkNISVRFQ1RVUkVfUFBDNjQ7CisrI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAjIGlmIF9N SVBTX1NJTSA9PSBfQUJJTzMyCisgICAgICAgICBNRF9DUFVfQVJDSElURUNUVVJFX01JUFM7Cisg IyBlbGlmIF9NSVBTX1NJTSA9PSBfQUJJNjQKK0BAIC0xMzMzLDcgKzEzMzksOSBAQCBjbGFzcyBN aW5pZHVtcFdyaXRlciB7CisgICBjb25zdCBjaGFyKiBwYXRoXzsgIC8vIFBhdGggdG8gdGhlIGZp bGUgd2hlcmUgdGhlIG1pbmlkdW0gc2hvdWxkIGJlIHdyaXR0ZW4uCisgCisgICBjb25zdCB1Y29u dGV4dF90KiBjb25zdCB1Y29udGV4dF87ICAvLyBhbHNvIGZyb20gdGhlIHNpZ25hbCBoYW5kbGVy CistI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCisrI2lm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6dnN0YXRl X3QqIGNvbnN0IHZlY3Rvcl9zdGF0ZV87CisrI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAm JiAhZGVmaW5lZChfX21pcHNfXykKKyAgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90 KiBjb25zdCBmbG9hdF9zdGF0ZV87ICAvLyBkaXR0bworICNlbmRpZgorICAgTGludXhEdW1wZXIq IGR1bXBlcl87CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3Jp dGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIu aAorQEAgLTQ4LDYgKzQ4LDggQEAgY2xhc3MgRXhjZXB0aW9uSGFuZGxlcjsKKyAKKyAjaWYgZGVm aW5lZChfX2FhcmNoNjRfXykKKyB0eXBlZGVmIHN0cnVjdCBmcHNpbWRfY29udGV4dCBmcHN0YXRl X3Q7CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorK3R5cGVkZWYgdnJyZWdzZXRfdCB2 c3RhdGVfdDsKKyAjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlw c19fKQorIHR5cGVkZWYgc3RkOjpyZW1vdmVfcG9pbnRlcjxmcHJlZ3NldF90Pjo6dHlwZSBmcHN0 YXRlX3Q7CisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1 bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIv bWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCitAQCAtNzE1LDYgKzcxNSwxMiBAQCBURVNUKE1p bmlkdW1wV3JpdGVyVGVzdCwgSW52YWxpZFN0YWNrUG9pCisgI2VsaWYgZGVmaW5lZChfX21pcHNf XykKKyAgIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5ncmVnc1tNRF9DT05URVhUX01JUFNf UkVHX1NQXSA9CisgICAgICAgaW52YWxpZF9zdGFja19wb2ludGVyOworKyNlbGlmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKKysgIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzW01E X0NPTlRFWFRfUFBDNjRfUkVHX1NQXSA9CisrICAgICAgaW52YWxpZF9zdGFja19wb2ludGVyOwor KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgIGNvbnRleHQuY29udGV4dC51Y19tY29u dGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXSA9CisrICAgICAgaW52YWxpZF9z dGFja19wb2ludGVyOworICNlbHNlCisgIyBlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBw b3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgv bWVtb3J5X21hcHBlZF9maWxlLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2Zp bGUuY2MKK0BAIC02NSw4ICs2NSw3IEBAIGJvb2wgTWVtb3J5TWFwcGVkRmlsZTo6TWFwKGNvbnN0 IGNoYXIqIHAKKyAgIH0KKyAKKyAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f YWFyY2g2NF9fKSB8fCBcCistICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBf QUJJNjQpCistCisrICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBfQUJJNjQp IHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyAgIHN0cnVjdCBrZXJuZWxfc3RhdCBzdDsKKyAg IGlmIChzeXNfZnN0YXQoZmQsICZzdCkgPT0gLTEgfHwgc3Quc3Rfc2l6ZSA8IDApIHsKKyAjZWxz ZQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MKK0BAIC0xNzYsOSAr MTc2LDEwIEBAIFRFU1RfRihNZW1vcnlNYXBwZWRGaWxlVGVzdCwgUmVtYXBBZnRlck0KKyBURVNU X0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIE1hcFdpdGhPZmZzZXQpIHsKKyAgIC8vIFB1dCBtb3Jl IGRhdGEgaW4gdGhlIHRlc3QgZmlsZSB0aGlzIHRpbWUuIE9mZnNldHMgY2FuIG9ubHkgYmUKKyAg IC8vIGRvbmUgb24gcGFnZSBib3VuZGFyaWVzLCBzbyB3ZSBuZWVkIGEgdHdvIHBhZ2UgZmlsZSB0 byB0ZXN0IHRoaXMuCistICBjb25zdCBpbnQgcGFnZV9zaXplID0gNDA5NjsKKy0gIGNoYXIgZGF0 YTFbMiAqIHBhZ2Vfc2l6ZV07CistICBzaXplX3QgZGF0YTFfc2l6ZSA9IHNpemVvZihkYXRhMSk7 CisrICBjb25zdCBpbnQgcGFnZV9zaXplID0gZ2V0cGFnZXNpemUoKTsKKysgIGNoYXIgKmRhdGEx ID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1hbGxvYygyICogcGFnZV9zaXplKSk7CisrICBFWFBFQ1Rf VFJVRShkYXRhMSAhPSBOVUxMKTsKKysgIHNpemVfdCBkYXRhMV9zaXplID0gKDIgKiBwYWdlX3Np emUpOworICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhMV9zaXplOyArK2kpIHsKKyAgICAg ZGF0YTFbaV0gPSBpICYgMHg3ZjsKKyAgIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3Jf dW5pdHRlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MKK0BA IC01Nyw4ICs1Nyw5IEBAIFRFU1QoUGFnZUFsbG9jYXRvclRlc3QsIExhcmdlT2JqZWN0KSB7Cisg CisgICBFWFBFQ1RfRVEoMFUsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7CisgICB1aW50 OF90KiBwID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYWxsb2NhdG9yLkFsbG9jKDEwMDAw KSk7CisrICB1aW50NjRfdCBleHBlY3RlZF9wYWdlcyA9IDEgKyAoKDEwMDAwIC0gMSkgLyBnZXRw YWdlc2l6ZSgpKTsKKyAgIEFTU0VSVF9GQUxTRShwID09IE5VTEwpOworLSAgRVhQRUNUX0VRKDNV LCBhbGxvY2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOworKyAgRVhQRUNUX0VRKGV4cGVjdGVkX3Bh Z2VzLCBhbGxvY2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOworICAgZm9yICh1bnNpZ25lZCBpID0g MTsgaSA8IDEwOyArK2kpIHsKKyAgICAgdWludDhfdCogcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWlu dDhfdCo+KGFsbG9jYXRvci5BbGxvYyhpKSk7CisgICAgIEFTU0VSVF9GQUxTRShwID09IE5VTEwp OworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfbGludXguY2MKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29y L2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNjCitAQCAtMjAyLDEyICsyMDIsMTQgQEAgYm9vbCBFeHBs b2l0YWJpbGl0eUxpbnV4OjpFbmRlZE9uSWxsZWdhbAorICAgLy8gQ2hlY2sgYXJjaGl0ZWN0dXJl IGFuZCBzZXQgYXJjaGl0ZWN0dXJlIHZhcmlhYmxlIHRvIGNvcnJlc3BvbmRpbmcgZmxhZworICAg Ly8gaW4gb2JqZHVtcC4KKyAgIHN3aXRjaCAoY29udGV4dC0+R2V0Q29udGV4dENQVSgpKSB7Cisr I2lmIGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0KQorICAgICBjYXNlIE1EX0NP TlRFWFRfWDg2OgorICAgICAgIGFyY2hpdGVjdHVyZSA9ICJpMzg2IjsKKyAgICAgICBicmVhazsK KyAgICAgY2FzZSBNRF9DT05URVhUX0FNRDY0OgorICAgICAgIGFyY2hpdGVjdHVyZSA9ICJpMzg2 Ong4Ni02NCI7CisgICAgICAgYnJlYWs7CisrI2VuZGlmCisgICAgIGRlZmF1bHQ6CisgICAgICAg Ly8gVW5zdXBwb3J0ZWQgYXJjaGl0ZWN0dXJlLiBOb3RlIHRoYXQgQVJNIGFyY2hpdGVjdHVyZXMg YXJlIG5vdAorICAgICAgIC8vIHN1cHBvcnRlZCBiZWNhdXNlIG9iamR1bXAgZG9lcyBub3Qgc3Vw cG9ydCBBUk0uCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5jYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfdW5pdHRlc3QuY2MKK0BAIC0xMDQsNiArMTA0LDgg QEAgRXhwbG9pdGFiaWxpdHlGb3IoY29uc3Qgc3RyaW5nJiBmaWxlbmFtZQorIH0KKyAKKyBURVNU KEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdFdpbmRvd3NFbmdpbmUpIHsKKysvLyBUaGUgZm9sbG93 aW5nIHRlc3RzIGFyZSBvbmx5IGV4ZWN1dGFibGUgb24gYW4geDg2LWNsYXNzIGxpbnV4IG1hY2hp bmUuCisrI2lmICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVk KF9feDg2XzY0KSkKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZ X0hJR0gsCisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImFzY2lpX3JlYWRfYXYuZG1w IikpOworICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwK K0BAIC0xMzYsOSArMTM4LDEyIEBAIFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0V2luZG93 c0VuZ2kKKyAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigicmVhZF9hdl9jbG9iYmVyX3dy aXRlLmRtcCIpKTsKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZ X0xPVywKKyAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigicmVhZF9hdl9jb25kaXRpb25h bC5kbXAiKSk7CisrI2VuZGlmCisgfQorIAorIFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0 TGludXhFbmdpbmUpIHsKKysvLyBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBvbmx5IGV4ZWN1dGFi bGUgb24gYW4geDg2LWNsYXNzIGxpbnV4IG1hY2hpbmUuCisrI2lmIGRlZmluZWQoX19pMzg2KSB8 fCBkZWZpbmVkKF9feDg2XzY0KQorICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9J VEFCSUxJVFlfSU5URVJFU1RJTkcsCisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxp bnV4X251bGxfcmVhZF9hdi5kbXAiKSk7CisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpF WFBMT0lUQUJJTElUWV9ISUdILAorQEAgLTE3MSw3ICsxNzYsOCBAQCBURVNUKEV4cGxvaXRhYmls aXR5VGVzdCwgVGVzdExpbnV4RW5naW5lCisgICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3Io ImxpbnV4X2V4ZWN1dGFibGVfaGVhcC5kbXAiKSk7CisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFr cGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9y KCJsaW51eF9qbXBfdG9fbW9kdWxlX25vdF9leGVfcmVnaW9uLmRtcCIpKTsKKy0jaWZuZGVmIF9X SU4zMgorKyNlbmRpZgorKyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4Nikg fHwgZGVmaW5lZChfX3g4Nl82NCkpCisgICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBM T0lUQUJJTElUWV9ISUdILAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93 cml0ZV90b19ub253cml0YWJsZV9tb2R1bGUuZG1wIikpOworICAgQVNTRVJUX0VRKGdvb2dsZV9i cmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwKK0BAIC0xODIsMTAgKzE4OCwxMCBAQCBURVNU KEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExpbnV4RW5naW5lCisgICAgICAgICAgICAgRXhwbG9p dGFiaWxpdHlGb3IoImxpbnV4X3dyaXRlX3RvX291dHNpZGVfbW9kdWxlX3ZpYV9tYXRoLmRtcCIp KTsKKyAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0lOVEVSRVNU SU5HLAorICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b191bmRl cl80ay5kbXAiKSk7CistI2VuZGlmICAvLyBfV0lOMzIKKysjZW5kaWYgIC8vICFkZWZpbmVkKF9X SU4zMikgJiYgKCFkZWZpbmVkKF9faTM4NikgJiYgIWRlZmluZWQoX194ODZfNjQpKQorIH0KKyAK Ky0jaWZuZGVmIF9XSU4zMgorKyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4 NikgfHwgZGVmaW5lZChfX3g4Nl82NCkpCisgVEVTVChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNU ZXN0LCBEaXNhc3NlbWJsZUJ5dGVzVGVzdCkgeworICAgQVNTRVJUX0ZBTFNFKEV4cGxvaXRhYmls aXR5TGludXhUZXN0OjpEaXNhc3NlbWJsZUJ5dGVzKCIiLCBOVUxMLCA1LCBOVUxMKSk7CisgICB1 aW50OF90IGJ5dGVzWzZdID0gezB4YzcsIDB4MCwgMHg1LCAweDAsIDB4MCwgMHgwfTsKK0BAIC0z MDEsNiArMzA3LDcgQEAgVEVTVChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBDYWxjdQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRleHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJndyaXRlX2FkZHJlc3MpKTsKKyB9CistI2VuZGlmICAvLyBfV0lOMzIKKysj ZW5kaWYgIC8vICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVk KF9feDg2XzY0KSkKKysKKyAKKyB9ICAvLyBuYW1lc3BhY2UKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQy Y29yZS9taW5pZHVtcC0yLWNvcmUuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVt cC0yLWNvcmUuY2MKK0BAIC03Nyw2ICs3Nyw4IEBACisgICAjZGVmaW5lIEVMRl9BUkNIICBFTV9N SVBTCisgI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKyAgICNkZWZpbmUgRUxGX0FSQ0ggIEVN X0FBUkNINjQKKysjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrICAjZGVmaW5lIEVMRl9B UkNIICBFTV9QUEM2NAorICNlbmRpZgorIAorICNpZiBkZWZpbmVkKF9fYXJtX18pCitAQCAtODcs NiArODksOCBAQCB0eXBlZGVmIHVzZXJfcmVncyB1c2VyX3JlZ3Nfc3RydWN0OworICNlbGlmIGRl ZmluZWQgKF9fbWlwc19fKQorIC8vIFRoaXMgZmlsZS1sb2NhbCB0eXBlZGVmIHNpbXBsaWZpZXMg dGhlIHNvdXJjZSBjb2RlLgorIHR5cGVkZWYgZ3JlZ3NldF90IHVzZXJfcmVnc19zdHJ1Y3Q7Cisr I2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorK3R5cGVkZWYgc3RydWN0IHB0X3JlZ3MgdXNl cl9yZWdzX3N0cnVjdDsKKyAjZW5kaWYKKyAKKyB1c2luZyBnb29nbGVfYnJlYWtwYWQ6Ok1EVHlw ZUhlbHBlcjsKK0BAIC0zMjIsNiArMzI2LDEyIEBAIHN0cnVjdCBDcmFzaGVkUHJvY2VzcyB7Cisg I2lmIGRlZmluZWQoX19hYXJjaDY0X18pCisgICAgIHVzZXJfZnBzaW1kX3N0cnVjdCBmcHJlZ3M7 CisgI2VuZGlmCisrI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKKysgICAgbWNvbnRleHRfdCBt Y29udGV4dDsKKysjZW5kaWYKKysjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorKyAgICBtY29u dGV4dF90IG1jb250ZXh0OworKyNlbmRpZgorICAgICB1aW50cHRyX3Qgc3RhY2tfYWRkcjsKKyAg ICAgY29uc3QgdWludDhfdCogc3RhY2s7CisgICAgIHNpemVfdCBzdGFja19sZW5ndGg7CitAQCAt NTM1LDYgKzU0NSwzOCBAQCBQYXJzZVRocmVhZFJlZ2lzdGVycyhDcmFzaGVkUHJvY2Vzczo6VGhy CisgICB0aHJlYWQtPm1jb250ZXh0LmZwY19laXIgPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZpcjsK KyAjZW5kaWYKKyB9CisrI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorK3N0YXRpYyB2b2lk CisrUGFyc2VUaHJlYWRSZWdpc3RlcnMoQ3Jhc2hlZFByb2Nlc3M6OlRocmVhZCogdGhyZWFkLAor KyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IE1pbmlkdW1wTWVtb3J5UmFuZ2UmIHJhbmdlKSB7 CisrICBjb25zdCBNRFJhd0NvbnRleHRQUEM2NCogcmF3cmVncyA9IHJhbmdlLkdldERhdGE8TURS YXdDb250ZXh0UFBDNjQ+KDApOworKworKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhU X1BQQzY0X0dQUl9DT1VOVDsgaSsrKQorKyAgICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbaV0g PSByYXdyZWdzLT5ncHJbaV07CisrCisrICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfTE5L XSA9IHJhd3JlZ3MtPmxyOworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX05JUF0gPSBy YXdyZWdzLT5zcnIwOworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX01TUl0gPSByYXdy ZWdzLT5zcnIxOworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX0NDUl0gPSByYXdyZWdz LT5jcjsKKysgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJdID0gcmF3cmVncy0+eGVy OworKyAgdGhyZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX0NUUl0gPSByYXdyZWdzLT5jdHI7Cisr ICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJzYXZlID0gcmF3cmVncy0+dnJzYXZlOworKwor KyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7 IGkrKykKKysgICAgICB0aHJlYWQtPm1jb250ZXh0LmZwX3JlZ3NbaV0gPSByYXdyZWdzLT5mbG9h dF9zYXZlLmZwcmVnc1tpXTsKKysKKysgIHRocmVhZC0+bWNvbnRleHQuZnBfcmVnc1tORlBSRUct MV0gPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZwc2NyOworKworKyAgZm9yIChpbnQgaSA9IDA7IGkg PCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkrKykgeworKyAgICAgIHRocmVhZC0+ bWNvbnRleHQudl9yZWdzLT52cnJlZ3NbaV1bMF0gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZl X3ZyW2ldLmhpZ2ggPj4gMzI7CisrICAgICAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZycmVn c1tpXVsxXSA9IHJhd3JlZ3MtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0uaGlnaDsKKysgICAgICB0 aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJyZWdzW2ldWzJdID0gcmF3cmVncy0+dmVjdG9yX3Nh dmUuc2F2ZV92cltpXS5sb3cgPj4gMzI7CisrICAgICAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3Mt PnZycmVnc1tpXVszXSA9IHJhd3JlZ3MtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0ubG93OworKyAg fQorKworKyAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZzY3IudnNjcl93b3JkID0gcmF3cmVn cy0+dmVjdG9yX3NhdmUuc2F2ZV92c2NyLmxvdyAmIDB4RkZGRkZGRkY7CisrfQorKworICNlbHNl CisgI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3Jt IHlldCIKKyAjZW5kaWYKK0BAIC02MjMsNiArNjY1LDEyIEBAIFBhcnNlU3lzdGVtSW5mbyhjb25z dCBPcHRpb25zJiBvcHRpb25zLAorICMgZWxzZQorICMgIGVycm9yICJUaGlzIG1pcHMgQUJJIGlz IGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIChuMzIpIgorICMgZW5kaWYKKysjZWxpZiBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCisrICBpZiAoc3lzaW5mby0+cHJvY2Vzc29yX2FyY2hpdGVjdHVyZSAh PSBNRF9DUFVfQVJDSElURUNUVVJFX1BQQzY0KSB7CisrICAgIGZwcmludGYoc3RkZXJyLAorKyAg ICAgICAgICAgICJUaGlzIHZlcnNpb24gb2YgbWluaWR1bXAtMi1jb3JlIG9ubHkgc3VwcG9ydHMg UFBDNjQuXG4iKTsKKysgICAgZXhpdCgxKTsKKysgIH0KKyAjZWxzZQorICNlcnJvciAiVGhpcyBj b2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQiCisgI2VuZGlmCist LS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv Q09OVFJJQlVUT1JTCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JTCitAQCAtMTMsMyArMTMsNCBAQCBNYXJrIE1lbnRv dmFpIDxtYXJrQGNocm9taXVtLm9yZz4KKyBSb2JlcnQgU2VzZWsgPHJzZXNla0BjaHJvbWl1bS5v cmc+CisgU2NvdHQgR3JhaGFtIDxzY290dG1nQGNocm9taXVtLm9yZz4KKyBKb3NodWEgUGVyYXph IDxqcGVyYXphQGNocm9taXVtLm9yZz4KKytTaGF3biBBbmFzdGFzaW8gPHNoYXduQGFuYXN0YXMu aW8+CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3VzZXIuaAor QEAgLTE1LDYgKzE1LDcgQEAKKyAjaWZuZGVmIENSQVNIUEFEX0NPTVBBVF9MSU5VWF9TWVNfVVNF Ul9IXworICNkZWZpbmUgQ1JBU0hQQURfQ09NUEFUX0xJTlVYX1NZU19VU0VSX0hfCisgCisrI2lu Y2x1ZGUgPGNzdGRkZWY+CisgI2luY2x1ZGVfbmV4dCA8c3lzL3VzZXIuaD4KKyAKKyAjaW5jbHVk ZSA8ZmVhdHVyZXMuaD4KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgKKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9t aW5pZHVtcF9jb250ZXh0LmgKK0BAIC01OTIsNiArNTkyLDcwIEBAIHN0cnVjdCBNaW5pZHVtcENv bnRleHRNSVBTNjQgeworICAgdWludDY0X3QgZmlyOworIH07CisgCisrLy8hIFxicmllZiBwcGM2 NC1zcGVjaWZpYyBmbGFncyBmb3IgTWluaWR1bXBQUEM2NDo6Y29udGV4dF9mbGFncworKy8vISBC YXNlZCBvbiBtaW5pZHVtcF9jcHVfcHBjNjQuaCBmcm9tIGJyZWFrcGFkCisrZW51bSBNaW5pZHVt cENvbnRleHRQUEM2NEZsYWdzIDogdWludDMyX3QgeworKyAgLy8hIFxicmllZiBJZGVudGlmaWVz IHRoZSBjb250ZXh0IGFzIFBQQzY0LgorKyAga01pbmlkdW1wQ29udGV4dFBQQzY0ID0gMHgwMTAw MDAwMCwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBnZW5lcmFs IHB1cnBvc2UgcmVnaXN0ZXJzLgorKyAgLy8hCisrICAvLyEgUmVnaXN0ZXJzIGByMGAtYHIzMWAs IGBuaXBgLCBgbXNyYCwgYGxyYCwgZXRjLiBhcmUgdmFsaWQuCisrICBrTWluaWR1bXBDb250ZXh0 UFBDNjRCYXNlID0ga01pbmlkdW1wQ29udGV4dFBQQzY0IHwgMHgwMDAwMDAwMSwKKysKKysgIC8v ISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBmbG9hdGluZyBwb2ludCByZWdpc3Rl cnMuCisrICAvLyEKKysgIC8vISBSZWdpc3RlcnMgYGZwMGAtYGZwMzFgLCBgZnBzY3JgIGFyZSB2 YWxpZC4KKysgIGtNaW5pZHVtcENvbnRleHRQUEM2NEZsb2F0aW5nID0ga01pbmlkdW1wQ29udGV4 dFBQQzY0IHwgMHgwMDAwMDAwOCwKKysKKysgIC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxp ZGl0eSBvZiBBbHRpdmVjL1ZNWCByZWdpc3RlcnMuCisrICAvLyEKKysgIC8vISBSZWdpc3RlcnMg YHYwYC1gdjMxYCwgYHZzY3JgLCBgdnJzYXZlYC4KKysgIGtNaW5pZHVtcENvbnRleHRQUEM2NFZl Y3RvciA9IGtNaW5pZHVtcENvbnRleHRQUEM2NCB8IDB4MDAwMDAwMjAsCisrCisrICAvLyEgXGJy aWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgYWxsIHJlZ2lzdGVycworKyAga01pbmlkdW1w Q29udGV4dFBQQzY0QWxsID0ga01pbmlkdW1wQ29udGV4dFBQQzY0QmFzZSAgICAgfAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAga01pbmlkdW1wQ29udGV4dFBQQzY0RmxvYXRpbmcgfAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAga01pbmlkdW1wQ29udGV4dFBQQzY0VmVjdG9y CisrfTsKKysKKysvLyEgXGJyaWVmIEEgUFBDNjQgQ1BVIGNvbnRleHQgY2FycmllZCBpbiBhIG1p bmlkdW1wIGZpbGUuCisrLy8hIEJhc2VkIG9uIG1pbmlkdW1wX2NwdV9wcGM2NC5oIGZyb20gYnJl YWtwYWQuCisrc3RydWN0IE1pbmlkdW1wQ29udGV4dFBQQzY0IHsKKysgIHVpbnQ2NF90IGNvbnRl eHRfZmxhZ3M7CisrCisrICAvLyEgXGJyaWVmIEdlbmVyYWwgcHVycG9zZSByZWdpc3RlcnMuCisr ICB1aW50NjRfdCBuaXA7CisrICB1aW50NjRfdCBtc3I7CisrICB1aW50NjRfdCByZWdzWzMyXTsK KysgIHVpbnQ2NF90IGNjcjsKKysgIHVpbnQ2NF90IHhlcjsKKysgIHVpbnQ2NF90IGxuazsKKysg IHVpbnQ2NF90IGN0cjsKKysKKysgIC8vISBcYnJpZWYgRmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJz LgorKyAgZG91YmxlIGZwcmVnc1szMl07CisrCisrICAvLyEgXGJyaWVmIEZQVSBzdGF0dXMgcmVn aXN0ZXIuCisrICBkb3VibGUgZnBzY3I7CisrCisrICAvLyEgXGJyaWVmIEFsdGl2ZWMvVk1YIHZl Y3RvciByZWdpc3RlcnMuCisrICBzdHJ1Y3QgeworKyAgICAgIC8vISBcYnJpZWYgVmVjdG9yIHJl Z2lzdGVycyBhcmUgMTI4Yml0cy4KKysgICAgICB1aW50MTI4X3N0cnVjdCBzYXZlX3ZyWzMyXTsK KysgICAgICB1aW50MTI4X3N0cnVjdCBzYXZlX3ZzY3I7CisrCisrICAgICAgLy8hIFxicmllZiBQ YWRkaW5nIGluY2x1ZGVkIGZvciBicmVha3BhZCBjb21wYXRpYmlsdGl5LgorKyAgICAgIHVpbnQz Ml90IHNhdmVfcGFkNVs0XTsKKysKKysgICAgICAvLyEgXGJyaWVmIFZSU0FWRSByZWdpc3Rlci4K KysgICAgICB1aW50MzJfdCBzYXZlX3Zyc2F2ZTsKKysKKysgICAgICAvLyEgXGJyaWVmIFBhZGRp bmcgaW5jbHVkZWQgZm9yIGJyZWFrcGFkIGNvbXBhdGliaWx0aXkuCisrICAgICAgdWludDMyX3Qg c2F2ZV9wYWQ2WzddOworKyAgfSB2cmVnczsKKyt9OworKworIH0gIC8vIG5hbWVzcGFjZSBjcmFz aHBhZAorIAorICNlbmRpZiAgLy8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVYVF9I XworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfY29udGV4dF93cml0ZXIuY2MKK0BAIC0xMDEsNiArMTAxLDEzIEBAIE1pbmlkdW1wQ29udGV4 dFdyaXRlcjo6Q3JlYXRlRnJvbVNuYXBzaG8KKyAgICAgICBicmVhazsKKyAgICAgfQorIAorKyAg ICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVQUEM2NDogeworKyAgICAgIGNvbnRleHQgPSBzdGQ6Om1h a2VfdW5pcXVlPE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyPigpOworKyAgICAgIHJlaW50ZXJw cmV0X2Nhc3Q8TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIqPihjb250ZXh0LmdldCgpKQorKyAg ICAgICAgICAtPkluaXRhbGl6ZUZyb21TbmFwc2hvdChjb250ZXh0X3NuYXBzaG90LT5wcGM2NCk7 CisrICAgICAgYnJlYWs7CisrICAgIH0KKysKKyAgICAgZGVmYXVsdDogeworICAgICAgIExPRyhF UlJPUikgPDwgInVua25vd24gY29udGV4dCBhcmNoaXRlY3R1cmUgIgorICAgICAgICAgICAgICAg ICAgPDwgY29udGV4dF9zbmFwc2hvdC0+YXJjaGl0ZWN0dXJlOworLS0tIGEvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1w X2NvbnRleHRfd3JpdGVyLmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5oCitA QCAtMzE1LDYgKzMxNSw0NSBAQCBjbGFzcyBNaW5pZHVtcENvbnRleHRNSVBTNjRXcml0ZXIgZmlu YWwKKyAgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihNaW5pZHVtcENvbnRleHRNSVBTNjRXcml0 ZXIpOworIH07CisgCisrY2xhc3MgTWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIgZmluYWwgOiBw dWJsaWMgTWluaWR1bXBDb250ZXh0V3JpdGVyIHsKKysgcHVibGljOgorKyAgTWluaWR1bXBDb250 ZXh0UFBDNjRXcml0ZXIoKTsKKysgIH5NaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcigpIG92ZXJy aWRlOworKworKyAgLy8hIFxicmllZiBJbml0YWxpemVzIHRoZSBNaW5pZHVtcENvbnRleHRQUEM2 NCBiYXNlZCBvbiBcYSBjb250ZXh0X3NuYXBzaG90LgorKyAgLy8hCisrICAvLyEgXHBhcmFtW2lu XSBjb250ZXh0X3NuYXBzaG90IFRoZSBjb250ZXh0IHNuYXBzaG90IHRvIHVzZSBhcyBzb3VyY2Ug ZGF0YS4KKysgIC8vIQorKyAgLy8hIFxub3RlIFZhbGlkIGluICNrU3RhdGVNdXRhYmxlLiBObyBt dXRhdGlvbiBvZiBjb250ZXh0KCkgbWF5IGJlIGRvbmUgYmVmb3JlCisrICAvLyEgICAgIGNhbGxp bmcgdGhpcyBtZXRob2QsIGFuZCBpdCBpcyBub3Qgbm9ybWFsbHkgbmVjZXNzYXJ5IHRvIGFsdGVy CisrICAvLyEgICAgIGNvbnRleHQoKSBhZnRlciBjYWxsaW5nIHRoaXMgbWV0aG9kLgorKyAgdm9p ZCBJbml0YWxpemVGcm9tU25hcHNob3QoY29uc3QgQ1BVQ29udGV4dFBQQzY0KiBjb250ZXh0X3Nu YXBzaG90KTsKKysKKysgIC8vISBcYnJpZWYgUmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIGNvbnRl eHQgc3RydWN0dXJlIHRoYXQgdGhpcyBvYmplY3Qgd2lsbAorKyAgLy8hICAgICB3cml0ZS4KKysg IC8vIQorKyAgLy8hIFxhdHRlbnRpb24gVGhpcyByZXR1cm5zIGEgbm9uLWBjb25zdGAgcG9pbnRl ciB0byB0aGlzIG9iamVjdOKAmXMgcHJpdmF0ZQorKyAgLy8hICAgICBkYXRhIHNvIHRoYXQgYSBj YWxsZXIgY2FuIHBvcHVsYXRlIHRoZSBjb250ZXh0IHN0cnVjdHVyZSBkaXJlY3RseS4KKysgIC8v ISAgICAgVGhpcyBpcyBkb25lIGJlY2F1c2UgcHJvdmlkaW5nIHNldHRlciBpbnRlcmZhY2VzIHRv IGVhY2ggZmllbGQgaW4gdGhlCisrICAvLyEgICAgIGNvbnRleHQgc3RydWN0dXJlIHdvdWxkIGJl IHVud2llbGR5IGFuZCBjdW1iZXJzb21lLiBDYXJlIG11c3QgYmUgdGFrZW4KKysgIC8vISAgICAg dG8gcG9wdWxhdGUgdGhlIGNvbnRleHQgc3RydWN0dXJlIGNvcnJlY3RseS4gVGhlIGNvbnRleHQg c3RydWN0dXJlCisrICAvLyEgICAgIG11c3Qgb25seSBiZSBtb2RpZmllZCB3aGlsZSB0aGlzIG9i amVjdCBpcyBpbiB0aGUgI2tTdGF0ZU11dGFibGUKKysgIC8vISAgICAgc3RhdGUuCisrICBNaW5p ZHVtcENvbnRleHRQUEM2NCogY29udGV4dCgpIHsgcmV0dXJuICZjb250ZXh0XzsgfQorKworKyBw cm90ZWN0ZWQ6CisrICAvLyBNaW5pZHVtcFdyaXRhYmxlOgorKyAgYm9vbCBXcml0ZU9iamVjdChG aWxlV3JpdGVySW50ZXJmYWNlKiBmaWxlX3dyaXRlcikgb3ZlcnJpZGU7CisrCisrICAvLyBNaW5p ZHVtcENvbnRleHRXcml0ZXI6CisrICBzaXplX3QgQ29udGV4dFNpemUoKSBjb25zdCBvdmVycmlk ZTsKKysKKysgcHJpdmF0ZToKKysgIE1pbmlkdW1wQ29udGV4dFBQQzY0IGNvbnRleHRfOworKwor KyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyKTsK Kyt9OworKworIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorIAorICNlbmRpZiAgLy8gQ1JBU0hQ QURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVYVF9XUklURVJfSF8KKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVt cF9jb250ZXh0X3dyaXRlcl90ZXN0LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0 ZXJfdGVzdC5jYworQEAgLTIxMyw2ICsyMTMsMjEgQEAgVEVTVChNaW5pZHVtcENvbnRleHRXcml0 ZXIsIE1JUFM2NF9Gcm9tUworICAgICAgIGNvbnRleHQsIEV4cGVjdE1pbmlkdW1wQ29udGV4dE1J UFM2NCwga1NlZWQpOworIH0KKyAKKytURVNUKE1pbmlkdW1wQ29udGV4dFdyaXRlciwgUFBDNjRf WmVyb3MpIHsKKysgIEVtcHR5Q29udGV4dFRlc3Q8TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIs IE1pbmlkdW1wQ29udGV4dFBQQzY0PigKKysgICAgRXhwZWN0TWluaWR1bXBDb250ZXh0UFBDNjQp OworK30KKysKKytURVNUKE1pbmlkdW1wQ29udGV4dFdyaXRlciwgUFBDNjRfRnJvbVNuYXBzaG90 KSB7CisrICBjb25zdGV4cHIgdWludDMyX3Qga1NlZWQgPSA2NDsKKysgIENQVUNvbnRleHRQUEM2 NCBjb250ZXh0X3BwYzY0OworKyAgQ1BVQ29udGV4dCBjb250ZXh0OworKyAgY29udGV4dC5wcGM2 NCA9ICZjb250ZXh0X3BwYzY0OworKyAgSW5pdGlhbGl6ZUNQVUNvbnRleHRQUEM2NCgmY29udGV4 dCwga1NlZWQpOworKyAgRnJvbVNuYXBzaG90VGVzdDxNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRl ciwgTWluaWR1bXBDb250ZXh0UFBDNjQ+KAorKyAgICAgIGNvbnRleHQsIEV4cGVjdE1pbmlkdW1w Q29udGV4dFBQQzY0LCBrU2VlZCk7CisrfQorKworIH0gIC8vIG5hbWVzcGFjZQorIH0gIC8vIG5h bWVzcGFjZSB0ZXN0CisgfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfbWlzY19pbmZvX3dyaXRlci5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0 ZXIuY2MKK0BAIC0xMzUsNiArMTM1LDggQEAgc3RkOjpzdHJpbmcgTWluaWR1bXBNaXNjSW5mb0Rl YnVnQnVpbGRTdAorICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzIjsKKyAj ZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQorICAgc3RhdGljIGNvbnN0ZXhwciBjaGFy IGtDUFVbXSA9ICJtaXBzNjQiOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjQpCisrICBz dGF0aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gInBwYzY0IjsKKyAjZWxzZQorICNlcnJvciBk ZWZpbmUga0NQVSBmb3IgdGhpcyBDUFUKKyAjZW5kaWYKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jYXB0dXJlX21lbW9y eS5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCitAQCAtMTEyLDYgKzExMiwxMSBAQCB2 b2lkIENhcHR1cmVNZW1vcnk6OlBvaW50ZWRUb0J5Q29udGV4dChjCisgICBmb3IgKHNpemVfdCBp ID0gMDsgaSA8IGJhc2U6OnNpemUoY29udGV4dC5taXBzZWwtPnJlZ3MpOyArK2kpIHsKKyAgICAg TWF5YmVDYXB0dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0Lm1pcHNlbC0+cmVnc1tp XSk7CisgICB9CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBNYXli ZUNhcHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRleHQucHBjNjQtPm5pcCk7CisrICBm b3IgKHNpemVfdCBpID0gMDsgaSA8IGJhc2U6OnNpemUoY29udGV4dC5wcGM2NC0+cmVncyk7ICsr aSkgeworKyAgICBNYXliZUNhcHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRleHQucHBj NjQtPnJlZ3NbaV0pOworKyAgfQorICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmCistLS0g YS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2FyY2hpdGVjdHVyZS5oCitA QCAtNDMsNyArNDMsMTAgQEAgZW51bSBDUFVBcmNoaXRlY3R1cmUgeworICAga0NQVUFyY2hpdGVj dHVyZU1JUFNFTCwKKyAKKyAgIC8vISBcYnJpZWYgNjQtYml0IE1JUFNFTC4KKy0gIGtDUFVBcmNo aXRlY3R1cmVNSVBTNjRFTAorKyAga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMLAorKworKyAgLy8h IFxicmllZiA2NC1iaXQgUFBDNjQuCisrICBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQKKyB9OworIAor IH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjCisrKysg Yi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvY3B1X2NvbnRleHQuY2MKK0BAIC0xNjksNiArMTY5LDggQEAgdWludDY0X3QgQ1BVQ29u dGV4dDo6SW5zdHJ1Y3Rpb25Qb2ludGVyKAorICAgICAgIHJldHVybiBhcm0tPnBjOworICAgICBj YXNlIGtDUFVBcmNoaXRlY3R1cmVBUk02NDoKKyAgICAgICByZXR1cm4gYXJtNjQtPnBjOworKyAg ICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVQUEM2NDoKKysgICAgICByZXR1cm4gcHBjNjQtPm5pcDsK KyAgICAgZGVmYXVsdDoKKyAgICAgICBOT1RSRUFDSEVEKCk7CisgICAgICAgcmV0dXJuIH4wdWxs OworQEAgLTE4NSw2ICsxODcsOCBAQCB1aW50NjRfdCBDUFVDb250ZXh0OjpTdGFja1BvaW50ZXIo KSBjb25zCisgICAgICAgcmV0dXJuIGFybS0+c3A7CisgICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVy ZUFSTTY0OgorICAgICAgIHJldHVybiBhcm02NC0+c3A7CisrICAgIGNhc2Uga0NQVUFyY2hpdGVj dHVyZVBQQzY0OgorKyAgICAgIHJldHVybiBwcGM2NC0+cmVnc1sxXTsKKyAgICAgZGVmYXVsdDoK KyAgICAgICBOT1RSRUFDSEVEKCk7CisgICAgICAgcmV0dXJuIH4wdWxsOworQEAgLTE5Niw2ICsy MDAsNyBAQCBib29sIENQVUNvbnRleHQ6OklzNjRCaXQoKSBjb25zdCB7CisgICAgIGNhc2Uga0NQ VUFyY2hpdGVjdHVyZVg4Nl82NDoKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlQVJNNjQ6Cisg ICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMOgorKyAgICBjYXNlIGtDUFVBcmNoaXRl Y3R1cmVQUEM2NDoKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0 dXJlWDg2OgorICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVBUk06CistLS0gYS9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2Nv bnRleHQuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmgKK0BAIC0zNTIsNiArMzUyLDI0IEBAIHN0 cnVjdCBDUFVDb250ZXh0TUlQUzY0IHsKKyAgIHVpbnQ2NF90IGZpcjsKKyB9OworIAorKy8vISBc YnJpZWYgQSBjb250ZXh0IHN0cnVjdHVyZSBjYXJyeWluZyBQUEM2NCBDUFUgc3RhdGUuCisrc3Ry dWN0IENQVUNvbnRleHRQUEM2NCB7CisrICB1aW50NjRfdCBuaXA7CisrICB1aW50NjRfdCBtc3I7 CisrICB1aW50NjRfdCByZWdzWzMyXTsKKysgIHVpbnQ2NF90IGNjcjsKKysgIHVpbnQ2NF90IHhl cjsKKysgIHVpbnQ2NF90IGxuazsKKysgIHVpbnQ2NF90IGN0cjsKKysgIGRvdWJsZSBmcHJlZ3Nb MzJdOworKyAgZG91YmxlIGZwc2NyOworKyAgc3RydWN0IHsKKysgICAgdWludDEyOF9zdHJ1Y3Qg c2F2ZV92clszMl07CisrICAgIHVpbnQxMjhfc3RydWN0IHNhdmVfdnNjcjsKKysgICAgdWludDMy X3Qgc2F2ZV92cnNhdmU7CisrICB9IHZyZWdzOworK307CisrCisgLy8hIFxicmllZiBBIGNvbnRl eHQgc3RydWN0dXJlIGNhcGFibGUgb2YgY2FycnlpbmcgdGhlIGNvbnRleHQgb2YgYW55IHN1cHBv cnRlZAorIC8vISAgICAgQ1BVIGFyY2hpdGVjdHVyZS4KKyBzdHJ1Y3QgQ1BVQ29udGV4dCB7CitA QCAtMzgyLDYgKzQwMCw3IEBAIHN0cnVjdCBDUFVDb250ZXh0IHsKKyAgICAgQ1BVQ29udGV4dEFS TTY0KiBhcm02NDsKKyAgICAgQ1BVQ29udGV4dE1JUFMqIG1pcHNlbDsKKyAgICAgQ1BVQ29udGV4 dE1JUFM2NCogbWlwczY0OworKyAgICBDUFVDb250ZXh0UFBDNjQqIHBwYzY0OworICAgfTsKKyB9 OworIAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgKKysrKyBiL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9jcHVfY29udGV4dF9saW51eC5oCitAQCAtMTUsNiArMTUsNyBAQAorICNpZm5kZWYgQ1JBU0hQ QURfU05BUFNIT1RfTElOVVhfQ1BVX0NPTlRFWFRfTElOVVhfSF8KKyAjZGVmaW5lIENSQVNIUEFE X1NOQVBTSE9UX0xJTlVYX0NQVV9DT05URVhUX0xJTlVYX0hfCisgCisrI2luY2x1ZGUgPGNzdHJp bmc+CisgI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorICNpbmNsdWRlICJzbmFwc2hv dC9jcHVfY29udGV4dC5oIgorICNpbmNsdWRlICJzbmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4 dC5oIgorQEAgLTE3NCw2ICsxNzUsNzYgQEAgdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4dE1JUFMo CisgCisgI2VuZGlmICAvLyBBUkNIX0NQVV9NSVBTX0ZBTUlMWSB8fCBET1hZR0VOCisgCisrI2lm IGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKSB8fCBET1hZR0VOCisrCisrLy8hIFxicmll ZiBJbml0YWxpemVzIGEgQ1BVQ29udGV4dFBQQzY0IHN0cnVjdHVyZSBmcm9tIG5hdGl2ZSBjb250 ZXh0CisrLy8hICAgICBzdHJ1Y3R1cmVzIG9uIExpbnV4LgorKy8vIQorKy8vISBccGFyYW1baW5d IHRocmVhZF9jb250ZXh0IFRoZSBuYXRpdmUgdGhyZWFkIGNvbnRleHQuCisrLy8hIFxwYXJhbVtp bl0gZmxvYXRfY29udGV4dCBUaGUgbmF0aXZlIGZsb2F0IGNvbnRleHQuCisrLy8hIFxwYXJhbVtp bl0gdmVjdG9yX2NvbnRleHQgVGhlIG5hdGl2ZSB2ZWN0b3IgY29udGV4dC4KKysvLyEgXHBhcmFt W291dF0gY29udGV4dCBUaGUgQ1BVQ29udGV4dFBQQzY0IHN0cnVjdHVyZSB0byBpbml0YWxpemUu CisrdGVtcGxhdGUgPHR5cGVuYW1lIFRyYWl0cz4KKyt2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0 UFBDNjQoCisrICAgIGNvbnN0IFRocmVhZENvbnRleHQ6OnQ2NF90JiB0aHJlYWRfY29udGV4dCwK KysgICAgY29uc3QgRmxvYXRDb250ZXh0OjpmNjRfdCYgZmxvYXRfY29udGV4dCwKKysgICAgY29u c3QgVmVjdG9yQ29udGV4dDo6djY0X3QmIHZlY3Rvcl9jb250ZXh0LAorKyAgICB0eXBlbmFtZSBU cmFpdHM6OkNQVUNvbnRleHQqIGNvbnRleHQpIHsKKysKKysgIG1lbWNweShjb250ZXh0LT5yZWdz LCB0aHJlYWRfY29udGV4dC5ncHIsIHNpemVvZihjb250ZXh0LT5yZWdzKSk7CisrICBjb250ZXh0 LT5uaXAgPSB0aHJlYWRfY29udGV4dC5uaXA7CisrICBjb250ZXh0LT5tc3IgPSB0aHJlYWRfY29u dGV4dC5tc3I7CisrICBjb250ZXh0LT5jY3IgPSB0aHJlYWRfY29udGV4dC5jY3I7CisrICBjb250 ZXh0LT54ZXIgPSB0aHJlYWRfY29udGV4dC54ZXI7CisrICBjb250ZXh0LT5sbmsgPSB0aHJlYWRf Y29udGV4dC5sbms7CisrICBjb250ZXh0LT5jdHIgPSB0aHJlYWRfY29udGV4dC5jdHI7CisrCisr ICBtZW1jcHkoY29udGV4dC0+ZnByZWdzLCBmbG9hdF9jb250ZXh0LmZwcmVncywgc2l6ZW9mKGNv bnRleHQtPmZwcmVncykpOworKyAgY29udGV4dC0+ZnBzY3IgPSBmbG9hdF9jb250ZXh0LmZwc2Ny OworKworKyAgZm9yICh1aW50OF90IGkgPSAwOyBpIDwgMzI7IGkrKykgeworKyAgICBjb250ZXh0 LT52cmVncy5zYXZlX3ZyW2ldID0geworKyAgICAgICgoKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0 LnZycmVnc1tpXVswXSkgPDwgMzIpIHwKKysgICAgICAgIHZlY3Rvcl9jb250ZXh0LnZycmVnc1tp XVsxXSwKKysgICAgICAoKCh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMl0pIDw8 IDMyKSB8CisrICAgICAgICB2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bM10KKysgICAgfTsKKysg IH0KKysgIGNvbnRleHQtPnZyZWdzLnNhdmVfdnJzYXZlID0gdmVjdG9yX2NvbnRleHQudnJzYXZl OworKyAgY29udGV4dC0+dnJlZ3Muc2F2ZV92c2NyID0gezAsICh1aW50NjRfdCl2ZWN0b3JfY29u dGV4dC52c2NyLnZzY3Jfd29yZH07CisrfQorKworK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+ Cisrdm9pZCBJbml0aWFsaXplQ1BVQ29udGV4dFBQQzY0KAorKyAgICBjb25zdCBTaWduYWxUaHJl YWRDb250ZXh0NjQgJnRocmVhZF9jb250ZXh0LAorKyAgICBjb25zdCBTaWduYWxGbG9hdENvbnRl eHQ2NCAmZmxvYXRfY29udGV4dCwKKysgICAgY29uc3QgU2lnbmFsVmVjdG9yQ29udGV4dDY0ICZ2 ZWN0b3JfY29udGV4dCwKKysgICAgdHlwZW5hbWUgVHJhaXRzOjpDUFVDb250ZXh0KiBjb250ZXh0 KSB7CisrCisrICBtZW1jcHkoY29udGV4dC0+cmVncywgdGhyZWFkX2NvbnRleHQucmVncywgc2l6 ZW9mKGNvbnRleHQtPnJlZ3MpKTsKKysgIGNvbnRleHQtPm5pcCA9IHRocmVhZF9jb250ZXh0Lm5p cDsKKysgIGNvbnRleHQtPm1zciA9IHRocmVhZF9jb250ZXh0Lm1zcjsKKysgIGNvbnRleHQtPmNj ciA9IHRocmVhZF9jb250ZXh0LmNjcjsKKysgIGNvbnRleHQtPnhlciA9IHRocmVhZF9jb250ZXh0 LnhlcjsKKysgIGNvbnRleHQtPmxuayA9IHRocmVhZF9jb250ZXh0LmxuazsKKysgIGNvbnRleHQt PmN0ciA9IHRocmVhZF9jb250ZXh0LmN0cjsKKysKKysgIG1lbWNweShjb250ZXh0LT5mcHJlZ3Ms IGZsb2F0X2NvbnRleHQucmVncywgc2l6ZW9mKGNvbnRleHQtPmZwcmVncykpOworKyAgY29udGV4 dC0+ZnBzY3IgPSBmbG9hdF9jb250ZXh0LmZwc2NyOworKworKyAgZm9yICh1aW50OF90IGkgPSAw OyBpIDwgMzI7IGkrKykgeworKyAgICBjb250ZXh0LT52cmVncy5zYXZlX3ZyW2ldID0geworKyAg ICAgICgoKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVswXSkgPDwgMzIpIHwKKysg ICAgICAgIHZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVsxXSwKKysgICAgICAoKCh1aW50NjRfdCl2 ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMl0pIDw8IDMyKSB8CisrICAgICAgICB2ZWN0b3JfY29u dGV4dC52cnJlZ3NbaV1bM10KKysgICAgfTsKKysgIH0KKysgIGNvbnRleHQtPnZyZWdzLnNhdmVf dnJzYXZlID0gdmVjdG9yX2NvbnRleHQudnJzYXZlOworKyAgY29udGV4dC0+dnJlZ3Muc2F2ZV92 c2NyID0gezAsICh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52c2NyLnZzY3Jfd29yZH07CisrfQor KworKyNlbmRpZgorIH0gIC8vIG5hbWVzcGFjZSBpbnRlcm5hbAorIH0gIC8vIG5hbWVzcGFjZSBj cmFzaHBhZAorIAorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVnX3JlbmRlenZvdXNfdGVzdC5jYworKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L2RlYnVnX3JlbmRlenZvdXNfdGVzdC5jYworQEAgLTE5Miw2ICsxOTIsOCBA QCB2b2lkIFRlc3RBZ2FpbnN0VGFyZ2V0KFB0cmFjZUNvbm5lY3Rpb24qCisgICAgICAgICAgICAg ICBkZXZpY2UgPT0gMCAmJiBpbm9kZSA9PSAwICYmIG1hcHBpbmdfbmFtZSA9PSAiW3Zkc29dIjsK KyAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODYpCisgICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIg Y2hhciBrUHJlZml4W10gPSAibGludXgtZ2F0ZS5zby4iOworKyNlbGlmIGRlZmluZWQoQVJDSF9D UFVfUFBDNjQpCisrICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrUHJlZml4W10gPSAi bGludXgtdmRzbzY0LnNvLiI7CisgI2Vsc2UKKyAgICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBj aGFyIGtQcmVmaXhbXSA9ICJsaW51eC12ZHNvLnNvLiI7CisgI2VuZGlmCistLS0gYS9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9u X3NuYXBzaG90X2xpbnV4LmNjCitAQCAtMzIzLDYgKzMyMyw2OSBAQCBib29sIEV4Y2VwdGlvblNu YXBzaG90TGludXg6OlJlYWRDb250ZXh0CisgICAgICAgcmVhZGVyLCBjb250ZXh0X2FkZHJlc3Ms IGNvbnRleHRfLm1pcHM2NCk7CisgfQorIAorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRf RkFNSUxZKQorKworK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Cisrc3RhdGljIGJvb2wgUmVh ZENvbnRleHQoUHJvY2Vzc1JlYWRlckxpbnV4KiByZWFkZXIsCisrICAgICAgICAgICAgICAgICAg ICAgICAgTGludXhWTUFkZHJlc3MgY29udGV4dF9hZGRyZXNzLAorKyAgICAgICAgICAgICAgICAg ICAgICAgIHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogZGVzdF9jb250ZXh0KSB7CisrICBj b25zdCBQcm9jZXNzTWVtb3J5KiBtZW1vcnkgPSByZWFkZXItPk1lbW9yeSgpOworKworKyAgTGlu dXhWTUFkZHJlc3MgZ3BfcmVnc19hZGRyZXNzID0gY29udGV4dF9hZGRyZXNzICsKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKFVDb250ZXh0LCBtY29udGV4dCkg KworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHlwZW5hbWUg VHJhaXRzOjpNQ29udGV4dCwgZ3BfcmVncyk7CisrCisrICB0eXBlbmFtZSBUcmFpdHM6OlNpZ25h bFRocmVhZENvbnRleHQgdGhyZWFkX2NvbnRleHQ7CisrICBpZiAoIW1lbW9yeS0+UmVhZChncF9y ZWdzX2FkZHJlc3MsIHNpemVvZih0aHJlYWRfY29udGV4dCksICZ0aHJlYWRfY29udGV4dCkpIHsK KysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVhZCBncF9yZWdzISI7CisrICAgIHJldHVy biBmYWxzZTsKKysgIH0KKysKKysgIExpbnV4Vk1BZGRyZXNzIGZwX3JlZ3NfYWRkcmVzcyA9IGNv bnRleHRfYWRkcmVzcyArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZz ZXRvZihVQ29udGV4dCwgbWNvbnRleHQpICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9mZnNldG9mKHR5cGVuYW1lIFRyYWl0czo6TUNvbnRleHQsIGZwX3JlZ3MpOworKwor KyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxGbG9hdENvbnRleHQgZnBfY29udGV4dDsKKysgIGlm ICghbWVtb3J5LT5SZWFkKGZwX3JlZ3NfYWRkcmVzcywgc2l6ZW9mKGZwX2NvbnRleHQpLCAmZnBf Y29udGV4dCkpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVhZCBmcF9yZWdzISI7 CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIExpbnV4Vk1BZGRyZXNzIHZfcmVnc19w dHJfYWRkcmVzcyA9IGNvbnRleHRfYWRkcmVzcyArCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9mZnNldG9mKFVDb250ZXh0LCBtY29udGV4dCkgKworKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZih0eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0LCB2 bXhfcmVzZXJ2ZSkgKyA4OworKworKyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxWZWN0b3JDb250 ZXh0IHZfY29udGV4dDsKKysgIGlmICghbWVtb3J5LT5SZWFkKHZfcmVnc19wdHJfYWRkcmVzcywg c2l6ZW9mKHZfY29udGV4dCksICZ2X2NvbnRleHQpKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNv dWxkbid0IHJlYWQgdl9yZWdzISI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysKKysgIElu aXRpYWxpemVDUFVDb250ZXh0UFBDNjQ8Q29udGV4dFRyYWl0czY0Pih0aHJlYWRfY29udGV4dCwg ZnBfY29udGV4dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9jb250ZXh0LCBkZXN0 X2NvbnRleHQpOworKworKyAgcmV0dXJuIHRydWU7CisrfQorKworK3RlbXBsYXRlPD4KKytib29s IEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0PENvbnRleHRUcmFpdHM2ND4oCisr ICAgIFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAorKyAgICBMaW51eFZNQWRkcmVzcyBjb250 ZXh0X2FkZHJlc3MpIHsKKysgIGNvbnRleHRfLmFyY2hpdGVjdHVyZSA9IGtDUFVBcmNoaXRlY3R1 cmVQUEM2NDsKKysgIGNvbnRleHRfLnBwYzY0ID0gJmNvbnRleHRfdW5pb25fLnBwYzY0OworKwor KyAgcmV0dXJuIGludGVybmFsOjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRzNjQ+KAorKyAgICAg IHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250ZXh0Xy5wcGM2NCk7CisrfQorKworK3RlbXBs YXRlPD4KKytib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0PENvbnRleHRU cmFpdHMzMj4oCisrICAgIFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAorKyAgICBMaW51eFZN QWRkcmVzcyBjb250ZXh0X2FkZHJlc3MpIHsKKysgIC8vIFBQQzY0IGlzIDY0LWJpdAorKyAgcmV0 dXJuIGZhbHNlOworK30KKysKKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKyAKKyBi b29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OkluaXRpYWxpemUoUHJvY2Vzc1JlYWRlckxpbnV4 KiBwcm9jZXNzX3JlYWRlciwKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGlu dXguaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5oCitAQCAtODQs NiArODQsOCBAQCBjbGFzcyBFeGNlcHRpb25TbmFwc2hvdExpbnV4IGZpbmFsIDogcHViCisgI2Vs aWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKKyAgICAgQ1BVQ29udGV4dE1JUFMgbWlw c2VsOworICAgICBDUFVDb250ZXh0TUlQUzY0IG1pcHM2NDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgQ1BVQ29udGV4dFBQQzY0IHBwYzY0OworICNlbmRpZgor ICAgfSBjb250ZXh0X3VuaW9uXzsKKyAgIENQVUNvbnRleHQgY29udGV4dF87CistLS0gYS9zcmMv M3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9l eGNlcHRpb25fc25hcHNob3RfbGludXhfdGVzdC5jYworQEAgLTI5Niw3ICsyOTYsMjggQEAgdm9p ZCBFeHBlY3RDb250ZXh0KGNvbnN0IENQVUNvbnRleHQmIGFjdAorICAgICAgICAgICAgIDApOwor ICN1bmRlZiBDUFVfQVJDSF9OQU1FCisgfQorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRf RkFNSUxZKQorK3VzaW5nIE5hdGl2ZUNQVUNvbnRleHQgPSB1Y29udGV4dF90OworIAorK3ZvaWQg SW5pdGlhbGl6ZUNvbnRleHQoTmF0aXZlQ1BVQ29udGV4dCogY29udGV4dCkgeworKyAgZm9yIChz aXplX3QgcmVnID0gMDsgcmVnIDwgMzI7ICsrcmVnKSB7CisrICAgIGNvbnRleHQtPnVjX21jb250 ZXh0LmdwX3JlZ3NbcmVnXSA9IHJlZzsKKysgIH0KKysKKysgIG1lbXNldCgmY29udGV4dC0+dWNf bWNvbnRleHQuZnBfcmVncywgNDQsCisrICAgICAgc2l6ZW9mKGNvbnRleHQtPnVjX21jb250ZXh0 LmZwX3JlZ3MpKTsKKyt9CisrCisrdm9pZCBFeHBlY3RDb250ZXh0KGNvbnN0IENQVUNvbnRleHQm IGFjdHVhbCwgY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgZXhwZWN0ZWQpIHsKKysgIEVYUEVDVF9F UShhY3R1YWwuYXJjaGl0ZWN0dXJlLCBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQpOworKworKyAgZm9y IChzaXplX3QgcmVnID0gMDsgcmVnIDwgMzI7ICsrcmVnKSB7CisrICAgIEVYUEVDVF9FUShhY3R1 YWwucHBjNjQtPnJlZ3NbcmVnXSwgZXhwZWN0ZWQudWNfbWNvbnRleHQuZ3BfcmVnc1tyZWddKTsK KysgIH0KKysKKysgIEVYUEVDVF9FUShtZW1jbXAoYWN0dWFsLnBwYzY0LT5mcHJlZ3MsIGV4cGVj dGVkLnVjX21jb250ZXh0LmZwX3JlZ3MsCisrICAgICAgICAgICAgc2l6ZW9mKGFjdHVhbC5wcGM2 NC0+ZnByZWdzKSksIDApOworK30KKyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZgorLS0t IGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4LmNjCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJv Y2Vzc19yZWFkZXJfbGludXguY2MKK0BAIC0xMDgsNiArMTA4LDggQEAgdm9pZCBQcm9jZXNzUmVh ZGVyTGludXg6OlRocmVhZDo6SW5pdGlhbAorICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpCisgICBzdGFja19wb2ludGVyID0gcmVhZGVyLT5JczY0Qml0KCkgPyB0aHJlYWRfaW5m by50aHJlYWRfY29udGV4dC50NjQucmVnc1syOV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA6IHRocmVhZF9pbmZvLnRocmVhZF9jb250ZXh0LnQzMi5yZWdzWzI5XTsKKysj ZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgIHN0YWNrX3BvaW50ZXIgPSB0 aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50NjQuZ3ByWzFdOworICNlbHNlCisgI2Vycm9yIFBv cnQuCisgI2VuZGlmCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAorKysrIGIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKK0BAIC00MjIsNiArNDIyLDkzIEBAIHN0YXRpY19hc3Nl cnQob2Zmc2V0b2YoVUNvbnRleHQ8Q29udGV4dFQKKyAgICAgICAgICAgICAgICJjb250ZXh0IG9m ZnNldCBtaXNtYXRjaCIpOworICNlbmRpZgorIAorKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBD NjRfRkFNSUxZKQorKworK3N0cnVjdCBTaWduYWxUaHJlYWRDb250ZXh0NjQgeworKyAgdWludDY0 X3QgcmVnc1szMl07CisrICB1aW50NjRfdCBuaXA7CisrICB1aW50NjRfdCBtc3I7CisrICB1aW50 NjRfdCBvcmlnX3IzOworKyAgdWludDY0X3QgY3RyOworKyAgdWludDY0X3QgbG5rOworKyAgdWlu dDY0X3QgeGVyOworKyAgdWludDY0X3QgY2NyOworKyAgdWludDY0X3Qgc29mdGU7CisrICB1aW50 NjRfdCB0cmFwOworKyAgdWludDY0X3QgZGFyOworKyAgdWludDY0X3QgZHNpc3I7CisrICB1aW50 NjRfdCByZXN1bHQ7CisrICB1aW50NjRfdCBkc2NyOworKyAgdWludDY0X3QgZnByMFszXTsKKyt9 OworKworK3N0cnVjdCBTaWduYWxGbG9hdENvbnRleHQ2NCB7CisrICBkb3VibGUgcmVnc1szMl07 CisrICBkb3VibGUgZnBzY3I7CisrfTsKKysKKytzdHJ1Y3QgU2lnbmFsVmVjdG9yQ29udGV4dDY0 IHsKKysgIGludDMyX3QgdnJyZWdzWzMyXVs0XTsKKysgIHN0cnVjdCB7CisrICAgIGludDMyX3Qg X19wYWRbM107CisrICAgIGludDMyX3QgdnNjcl93b3JkOworKyAgfSB2c2NyOworKyAgaW50MzJf dCB2cnNhdmU7CisrICBpbnQzMl90IF9fcGFkWzNdOworK30gX19hdHRyaWJ1dGVfXygoX19hbGln bmVkX18oMTYpKSk7CisrCisrCisrI3ByYWdtYSBwYWNrKHBvcCkKKytzdHJ1Y3QgTUNvbnRleHQ2 NCB7CisrICB1aW50NjRfdCByZXNlcnZlZFs0XTsKKysgIGludDMyX3Qgc2lnbmFsOworKyAgaW50 MzJfdCBfX3BhZDA7CisrICB1aW50NjRfdCBoYW5kbGVyOworKyAgdWludDY0X3Qgb2xkbWFzazsK KysgIHVpbnQ2NF90IHB0X3JlZ3NfcHRyOworKyAgU2lnbmFsVGhyZWFkQ29udGV4dDY0IGdwX3Jl Z3M7CisrICBTaWduYWxGbG9hdENvbnRleHQ2NCAgZnBfcmVnczsKKysgIFNpZ25hbFZlY3RvckNv bnRleHQ2NCAqdl9yZWdzOworKyNpZmRlZiBfX0dMSUJDX18KKysgIGludDY0X3Qgdm14X3Jlc2Vy dmVbNjldOworKyNlbHNlCisrICBpbnQ2NF90IHZteF9yZXNlcnZlWzEwMV07CisrI2VuZGlmCisr fTsKKysKKytzdHJ1Y3QgQ29udGV4dFRyYWl0czY0IDogcHVibGljIFRyYWl0czY0IHsKKysgIHVz aW5nIE1Db250ZXh0ID0gTUNvbnRleHQ2NDsKKysgIHVzaW5nIFNpZ25hbFRocmVhZENvbnRleHQg PSBTaWduYWxUaHJlYWRDb250ZXh0NjQ7CisrICB1c2luZyBTaWduYWxGbG9hdENvbnRleHQgPSBT aWduYWxGbG9hdENvbnRleHQ2NDsKKysgIHVzaW5nIFNpZ25hbFZlY3RvckNvbnRleHQgPSBTaWdu YWxWZWN0b3JDb250ZXh0NjQ7CisrICB1c2luZyBDUFVDb250ZXh0ID0gQ1BVQ29udGV4dFBQQzY0 OworK307CisrCisrc3RydWN0IENvbnRleHRUcmFpdHMzMiA6IHB1YmxpYyBUcmFpdHMzMiB7fTsK KysKKytzdHJ1Y3QgVUNvbnRleHQgeworKyAgdWludDY0X3QgZmxhZ3M7CisrICB1aW50NjRfdCBs aW5rOworKyAgU2lnbmFsU3RhY2s8Q29udGV4dFRyYWl0czY0PiBzdGFjazsKKysgIFNpZ3NldDxD b250ZXh0VHJhaXRzNjQ+IHNpZ21hc2s7CisrICBNQ29udGV4dDY0IG1jb250ZXh0OworK307Cisr I3ByYWdtYSBwYWNrKHB1c2gsIDEpCisrCisrc3RhdGljX2Fzc2VydChzaXplb2YoVUNvbnRleHQp ID09IHNpemVvZih1Y29udGV4dF90KSwKKysgICAgICAgICAgICAgICJ1Y29udGV4dF90IHNpemUg bWlzbWF0Y2giKTsKKytzdGF0aWNfYXNzZXJ0KHNpemVvZihNQ29udGV4dDY0KSA9PSBzaXplb2Yo bWNvbnRleHRfdCksCisrICAgICAgICAgICAgICAibWNvbnRleHRfdCBzaXplIG1pc21hdGNoIik7 Cisrc3RhdGljX2Fzc2VydChzaXplb2YoU2lnbmFsVGhyZWFkQ29udGV4dDY0KSA9PSBzaXplb2Yo Z3JlZ3NldF90KSwKKysgICAgICAgICAgICAgICJncmVnc2V0X3Qgc2l6ZSBtaXNtYXRjaCIpOwor K3N0YXRpY19hc3NlcnQoc2l6ZW9mKFNpZ25hbEZsb2F0Q29udGV4dDY0KSA9PSBzaXplb2YoZnBy ZWdzZXRfdCksCisrICAgICAgICAgICAgICAiZnByZWdzZXRfdCBzaXplIG1pc21hdGNoIik7Cisr c3RhdGljX2Fzc2VydChzaXplb2YoU2lnbmFsVmVjdG9yQ29udGV4dDY0KSA9PSBzaXplb2YodnJy ZWdzZXRfdCksCisrICAgICAgICAgICAgICAidnJyZWdzZXRfdCBzaXplIG1pc21hdGNoIik7Cisr c3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4dCwgbWNvbnRleHQpID09CisrICAgICAgICAg ICAgICBvZmZzZXRvZih1Y29udGV4dF90LCB1Y19tY29udGV4dCksICJtY29udGV4dCBvZmZzZXQg bWlzbWF0Y2giKTsKKytzdGF0aWNfYXNzZXJ0KG9mZnNldG9mKE1Db250ZXh0NjQsIGdwX3JlZ3Mp ID09CisrICAgICAgICAgICAgICBvZmZzZXRvZihtY29udGV4dF90LCBncF9yZWdzKSwgImdwX3Jl Z3Mgb2Zmc2V0IG1pc21hdGNoIik7CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8v IEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGlu dXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKK0BAIC0yMDQs NiArMjA0LDggQEAgQ1BVQXJjaGl0ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGludXg6OkdldAorICNl bGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4gcHJvY2Vzc19yZWFk ZXJfLT5JczY0Qml0KCkgPyBrQ1BVQXJjaGl0ZWN0dXJlTUlQUzY0RUwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA6IGtDUFVBcmNoaXRlY3R1cmVNSVBTRUw7CisrI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICByZXR1cm4ga0NQVUFyY2hpdGVjdHVy ZVBQQzY0OworICNlbHNlCisgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5k aWYKK0BAIC0yMTksNiArMjIxLDkgQEAgdWludDMyX3QgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BV UmV2aXNpbworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICAvLyBOb3Qg aW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICByZXR1cm4gMDsKKysjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX1BQQzY0X0ZBTUlMWSkKKysgIC8vIE5vdCB5ZXQgaW1wbGVtZW50ZWQgb24gUFBDNjQKKysg IHJldHVybiAwOworICNlbHNlCisgI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRlY3R1cmUKKyAj ZW5kaWYKK0BAIC0yMzksNiArMjQ0LDkgQEAgc3RkOjpzdHJpbmcgU3lzdGVtU25hcHNob3RMaW51 eDo6Q1BVVmVuZAorICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICAvLyBO b3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICByZXR1cm4gc3RkOjpzdHJpbmcoKTsKKysjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgIC8vIE5vdCB5ZXQgaW1wbGVtZW50 ZWQgb24gUFBDNjQKKysgIHJldHVybiBzdGQ6OnN0cmluZygpOworICNlbHNlCisgI2Vycm9yIHBv cnQgdG8geW91ciBhcmNoaXRlY3R1cmUKKyAjZW5kaWYKK0BAIC0zNzIsNiArMzgwLDkgQEAgYm9v bCBTeXN0ZW1TbmFwc2hvdExpbnV4OjpOWEVuYWJsZWQoKSBjbworICNlbGlmIGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpCisgICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCisgICBy ZXR1cm4gZmFsc2U7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAv LyBOb3QgeWV0IGltcGxlbWVudGVkIG9uIFBQQzY0CisrICByZXR1cm4gZmFsc2U7CisgI2Vsc2UK KyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC90ZXN0X21vZHVsZXMuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MK K0BAIC0xMTAsNiArMTEwLDggQEAgYm9vbCBXcml0ZVRlc3RNb2R1bGUoY29uc3QgYmFzZTo6Rmls ZVBhdAorICAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fQUFSQ0g2NDsKKyAjZWxpZiBkZWZp bmVkKEFSQ0hfQ1BVX01JUFNFTCkgfHwgZGVmaW5lZChBUkNIX0NQVV9NSVBTNjRFTCkKKyAgIG1v ZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX01JUFM7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9Q UEM2NCkKKysgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX1BQQzY0OworICNlbmRpZgorIAor ICAgbW9kdWxlLmVoZHIuZV92ZXJzaW9uID0gRVZfQ1VSUkVOVDsKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90 aHJlYWRfc25hcHNob3RfbGludXguY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3Rf bGludXguY2MKK0BAIC0xODYsNiArMTg2LDE0IEBAIGJvb2wgVGhyZWFkU25hcHNob3RMaW51eDo6 SW5pdGlhbGl6ZShQcm8KKyAgICAgICAgIHRocmVhZC50aHJlYWRfaW5mby5mbG9hdF9jb250ZXh0 LmYzMiwKKyAgICAgICAgIGNvbnRleHRfLm1pcHNlbCk7CisgICB9CisrI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBjb250ZXh0Xy5hcmNoaXRlY3R1cmUgPSBrQ1BVQXJj aGl0ZWN0dXJlUFBDNjQ7CisrICBjb250ZXh0Xy5wcGM2NCA9ICZjb250ZXh0X3VuaW9uXy5wcGM2 NDsKKysgIEluaXRpYWxpemVDUFVDb250ZXh0UFBDNjQ8Q29udGV4dFRyYWl0czY0PigKKysgICAg ICB0aHJlYWQudGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDY0LAorKyAgICAgIHRocmVhZC50 aHJlYWRfaW5mby5mbG9hdF9jb250ZXh0LmY2NCwKKysgICAgICB0aHJlYWQudGhyZWFkX2luZm8u dmVjdG9yX2NvbnRleHQudjY0LAorKyAgICAgIGNvbnRleHRfLnBwYzY0KTsKKyAjZWxzZQorICNl cnJvciBQb3J0LgorICNlbmRpZgorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51 eC5oCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKK0BAIC02OCw2ICs2 OCw4IEBAIGNsYXNzIFRocmVhZFNuYXBzaG90TGludXggZmluYWwgOiBwdWJsaWMKKyAjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgICBDUFVDb250ZXh0TUlQUyBtaXBzZWw7 CisgICAgIENQVUNvbnRleHRNSVBTNjQgbWlwczY0OworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVf UFBDNjRfRkFNSUxZKQorKyAgICBDUFVDb250ZXh0UFBDNjQgcHBjNjQ7CisgI2Vsc2UKKyAjZXJy b3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1 eGlsaWFyeV92ZWN0b3IuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKK0BAIC01 Niw2ICs1NiwxMSBAQCBib29sIEF1eGlsaWFyeVZlY3Rvcjo6UmVhZChQdHJhY2VDb25uZWN0Cisg ICAgIGlmICh0eXBlID09IEFUX0lHTk9SRSkgeworICAgICAgIGNvbnRpbnVlOworICAgICB9Cisr I2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICBpZiAodHlwZSA9PSBBVF9J R05PUkVQUEMpIHsKKysgICAgICBjb250aW51ZTsKKysgICAgfQorKyNlbmRpZgorICAgICBpZiAo IU1hcEluc2VydE9yUmVwbGFjZSgmdmFsdWVzXywgdHlwZSwgdmFsdWUsIG51bGxwdHIpKSB7Cisg ICAgICAgTE9HKEVSUk9SKSA8PCAiZHVwbGljYXRlIGF1eHYgZW50cnkiOworICAgICAgIHJldHVy biBmYWxzZTsKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MK K0BAIC00MDEsNiArNDAxLDY0IEBAIGJvb2wgR2V0VGhyZWFkQXJlYTY0KHBpZF90IHRpZCwKKyAg IHJldHVybiB0cnVlOworIH0KKyAKKysjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlM WSkKKysvLyBQUEM2NCBoYXMgaGFkIEhBVkVfQVJDSF9UUkFDRUhPT0sgc2V0IHNpbmNlIDIuNi4y NyAoZXZlbiBiZWZvcmUgeDg2IGhhZCBpdCkuCisrLy8gVGhhdCBtZWFucyB3ZSBjYW4gc2ltcGx5 IHVzZSBQVFJBQ0VfR0VUUkVHRVNFVC4KKysKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgRGVzdGluYXRp b24+CisrYm9vbCBHZXRSZWdpc3RlclNldChwaWRfdCB0aWQsIGludCBzZXQsIERlc3RpbmF0aW9u KiBkZXN0LCBib29sIGNhbl9sb2cpIHsKKysgIGlvdmVjIGlvdjsKKysgIGlvdi5pb3ZfYmFzZSA9 IHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGRlc3QpOworKyAgaW92Lmlvdl9sZW4gPSBzaXplb2Yo KmRlc3QpOworKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsIHJlaW50ZXJwcmV0 X2Nhc3Q8dm9pZCo+KHNldCksICZpb3YpICE9IDApIHsKKysgICAgUExPR19JRihFUlJPUiwgY2Fu X2xvZykgPDwgInB0cmFjZSI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysgIGlmIChpb3Yu aW92X2xlbiAhPSBzaXplb2YoKmRlc3QpKSB7CisrICAgIExPR19JRihFUlJPUiwgY2FuX2xvZykg PDwgIlVuZXhwZWN0ZWQgcmVnaXN0ZXJzIHNpemUiOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9 CisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrYm9vbCBHZXRWZWN0b3JSZWdpc3RlcnM2NChwaWRf dCB0aWQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBWZWN0b3JDb250ZXh0KiBjb250ZXh0 LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7CisrICByZXR1cm4g R2V0UmVnaXN0ZXJTZXQodGlkLCBOVF9QUENfVk1YLCAmY29udGV4dC0+djY0LCBjYW5fbG9nKTsK Kyt9CisrCisrYm9vbCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzNjQocGlkX3QgdGlkLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0Q29udGV4dCogY29udGV4dCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsKKysgIHJldHVy biBHZXRSZWdpc3RlclNldCh0aWQsIE5UX1BSRlBSRUcsICZjb250ZXh0LT5mNjQsIGNhbl9sb2cp OworK30KKysKKytib29sIEdldFRocmVhZEFyZWE2NChwaWRfdCB0aWQsCisrICAgICAgICAgICAg ICAgICAgICAgY29uc3QgVGhyZWFkQ29udGV4dCYgY29udGV4dCwKKysgICAgICAgICAgICAgICAg ICAgICBMaW51eFZNQWRkcmVzcyogYWRkcmVzcywKKysgICAgICAgICAgICAgICAgICAgICBib29s IGNhbl9sb2cpIHsKKysgIC8vIFBQQzY0IGRvZXNuJ3QgaGF2ZSBQVFJBQ0VfR0VUX1RIUkVBRF9B UkVBIHNpbmNlIHRoZSB0aHJlYWQgcG9pbnRlcgorKyAgLy8gaXMgc3RvcmVkIGluIEdQUiAxMy4K KysgIFRocmVhZENvbnRleHQ6OnQ2NF90IHRjOworKyAgaWYgKCFHZXRSZWdpc3RlclNldCh0aWQs IE5UX1BSU1RBVFVTLCAmdGMsIGNhbl9sb2cpKSB7CisrICAgIExPR19JRihFUlJPUiwgY2FuX2xv ZykgPDwgIlVuYWJsZSB0byBnZXQgdGhyZWFkIHBvaW50ZXIhIjsKKysgICAgcmV0dXJuIGZhbHNl OworKyAgfQorKworKyAgKmFkZHJlc3MgPSB0Yy5ncHJbMTNdOworKworKyAgcmV0dXJuIHRydWU7 CisrfQorKworKy8vIFN0dWJzIGZvciAzMi1iaXQgZnVuY3Rpb25zIG5vdCBhcHBsaWNhYmxlIG9u IFBQQzY0CisrYm9vbCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzMzIocGlkX3QgdGlkLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2F0Q29udGV4dCogY29udGV4dCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsgcmV0dXJuIGZh bHNlOyB9CisrYm9vbCBHZXRUaHJlYWRBcmVhMzIocGlkX3QgdGlkLAorKyAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IFRocmVhZENvbnRleHQgJmNvbnRleHQsCisrICAgICAgICAgICAgICAgICAg ICAgTGludXhWTUFkZHJlc3MgKmFkZHJlc3MsCisrICAgICAgICAgICAgICAgICAgICAgYm9vbCBj YW5fbG9nKSB7IHJldHVybiBmYWxzZTsgfQorKworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2Vu ZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtNDk3LDYgKzU1NSw5IEBAIGJvb2wgUHRy YWNlcjo6R2V0VGhyZWFkSW5mbyhwaWRfdCB0aWQsIFQKKyAgIGlmIChpc182NF9iaXRfKSB7Cisg ICAgIHJldHVybiBHZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVyczY0KHRpZCwgJmluZm8tPnRocmVh ZF9jb250ZXh0LCBjYW5fbG9nXykgJiYKKyAgICAgICAgICAgIEdldEZsb2F0aW5nUG9pbnRSZWdp c3RlcnM2NCh0aWQsICZpbmZvLT5mbG9hdF9jb250ZXh0LCBjYW5fbG9nXykgJiYKKysjaWYgZGVm aW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAgICAgICAgICBHZXRWZWN0b3JSZWdpc3Rl cnM2NCh0aWQsICZpbmZvLT52ZWN0b3JfY29udGV4dCwgY2FuX2xvZ18pICYmCisrI2VuZGlmCisg ICAgICAgICAgICBHZXRUaHJlYWRBcmVhNjQodGlkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGluZm8tPnRocmVhZF9jb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICZp bmZvLT50aHJlYWRfc3BlY2lmaWNfZGF0YV9hZGRyZXNzLAorLS0tIGEvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2lu Zm8uaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAorQEAgLTM5LDYgKzM5LDEzIEBAIHN0cnVj dCB1c2VyX3ZmcF9leGMgeworICNpbmNsdWRlIDxhbmRyb2lkL2FwaS1sZXZlbC5oPgorICNlbmRp ZgorIAorKyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysjaW5jbHVkZSA8c3lz L3Vjb250ZXh0Lmg+CisrI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysjaW5jbHVkZSA8YXNtL3B0 cmFjZS5oPgorKyNlbmRpZgorKyNlbmRpZgorKworIG5hbWVzcGFjZSBjcmFzaHBhZCB7CisgCisg Ly8hIFxicmllZiBUaGUgc2V0IG9mIGdlbmVyYWwgcHVycG9zZSByZWdpc3RlcnMgZm9yIGFuIGFy Y2hpdGVjdHVyZSBmYW1pbHkuCitAQCAtOTAsNiArOTcsOCBAQCB1bmlvbiBUaHJlYWRDb250ZXh0 IHsKKyAgICAgdWludDMyX3QgY3AwX3N0YXR1czsKKyAgICAgdWludDMyX3QgY3AwX2NhdXNlOwor ICAgICB1aW50MzJfdCBwYWRkaW5nMV87CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9G QU1JTFkpCisrICAgIC8vIFBQQzY0IGlzIDY0LWJpdAorICNlbHNlCisgI2Vycm9yIFBvcnQuCisg I2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtMTQzLDYgKzE1MiwyMSBAQCB1bmlv biBUaHJlYWRDb250ZXh0IHsKKyAgICAgdWludDY0X3QgY3AwX2JhZHZhZGRyOworICAgICB1aW50 NjRfdCBjcDBfc3RhdHVzOworICAgICB1aW50NjRfdCBjcDBfY2F1c2U7CisrI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICAgIC8vIFJlZmxlY3RzIHN0cnVjdCBwdF9yZWdz IGluIGFzbS9wdHJhY2UuaC4KKysgICAgdWludDY0X3QgZ3ByWzMyXTsKKysgICAgdWludDY0X3Qg bmlwOworKyAgICB1aW50NjRfdCBtc3I7CisrICAgIHVpbnQ2NF90IG9yaWdfZ3ByMzsKKysgICAg dWludDY0X3QgY3RyOworKyAgICB1aW50NjRfdCBsbms7CisrICAgIHVpbnQ2NF90IHhlcjsKKysg ICAgdWludDY0X3QgY2NyOworKyAgICB1aW50NjRfdCBzb2Z0ZTsKKysgICAgdWludDY0X3QgdHJh cDsKKysgICAgdWludDY0X3QgZGFyOworKyAgICB1aW50NjRfdCBkc2lzcjsKKysgICAgdWludDY0 X3QgcmVzdWx0OworICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9Y ODZfRkFNSUxZCitAQCAtMTU0LDYgKzE3OCw4IEBAIHVuaW9uIFRocmVhZENvbnRleHQgeworICAg dXNpbmcgTmF0aXZlVGhyZWFkQ29udGV4dCA9IHVzZXJfcmVnczsKKyAjZWxpZiBkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKQorIC8vIE5vIGFwcHJvcHJpYXRlIE5hdGl2ZVRocmVhZHNDb250 ZXh0IHR5cGUgYXZhaWxhYmxlIGZvciBNSVBTCisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2 NF9GQU1JTFkpCisrICB1c2luZyBOYXRpdmVUaHJlYWRDb250ZXh0ID0gc3RydWN0IHB0X3JlZ3M7 CisgI2Vsc2UKKyAjZXJyb3IgUG9ydC4KKyAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkg fHwgQVJDSF9DUFVfQVJNNjQKK0BAIC0yMjksNiArMjU1LDkgQEAgdW5pb24gRmxvYXRDb250ZXh0 IHsKKyAgICAgfSBmcHJlZ3NbMzJdOworICAgICB1aW50MzJfdCBmcGNzcjsKKyAgICAgdWludDMy X3QgZnB1X2lkOworKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICAv LyBDcmFzaHBhZCdzIFBQQyBzdXBwb3J0IGlzIDY0LWJpdCBvbmx5LCBzbyB0aGlzCisrICAgIC8v IDMyYml0LW9ubHkgc3RydWN0IGlzIGRlY2xhcmVkIGFzIGVtcHR5LgorICNlbHNlCisgI2Vycm9y IFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitAQCAtMjYzLDYgKzI5Miwx MCBAQCB1bmlvbiBGbG9hdENvbnRleHQgeworICAgICBkb3VibGUgZnByZWdzWzMyXTsKKyAgICAg dWludDMyX3QgZnBjc3I7CisgICAgIHVpbnQzMl90IGZwdV9pZDsKKysjZWxpZiBkZWZpbmVkKEFS Q0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgICAgLy8gUmVmbGVjdHMgZnByZWdzZXRfdCBpbiBzeXMv dWNvbnRleHQuaAorKyAgICBkb3VibGUgZnByZWdzWzMyXTsKKysgICAgZG91YmxlIGZwc2NyOwor ICNlbHNlCisgI2Vycm9yIFBvcnQuCisgI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCitA QCAtMjkxLDYgKzMyNCw4IEBAIHVuaW9uIEZsb2F0Q29udGV4dCB7CisgICBzdGF0aWNfYXNzZXJ0 KHNpemVvZihmNjQpID09IHNpemVvZih1c2VyX2Zwc2ltZF9zdHJ1Y3QpLCAiU2l6ZSBtaXNtYXRj aCIpOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgLy8gTm8gYXBwcm9w cmlhdGUgZmxvYXRpbmcgcG9pbnQgY29udGV4dCBuYXRpdmUgdHlwZSBmb3IgYXZhaWxhYmxlIE1J UFMuCisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisrICBzdGF0aWNfYXNz ZXJ0KHNpemVvZihmNjQpID09IHNpemVvZihmcHJlZ3NldF90KSwgIlNpemUgbWlzbWF0Y2giKTsK KyAjZWxzZQorICNlcnJvciBQb3J0LgorICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2CitAQCAtMjk4 LDYgKzMzMywyNiBAQCB1bmlvbiBGbG9hdENvbnRleHQgeworIHN0YXRpY19hc3NlcnQoc3RkOjpp c19zdGFuZGFyZF9sYXlvdXQ8RmxvYXRDb250ZXh0Pjo6dmFsdWUsCisgICAgICAgICAgICAgICAi Tm90IHN0YW5kYXJkIGxheW91dCIpOworIAorKy8vISBcYnJpZWYgVGhlIHZlY3RvciByZWdpc3Rl cnMgdXNlZCBmb3IgYW4gYXJjaGl0ZWN0dXJlIGZhbWlseQorK3VuaW9uIFZlY3RvckNvbnRleHQg eworKyAgc3RydWN0IHYzMl90IHt9IHYzMjsKKysjaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9G QU1JTFkpCisrICBfX2F0dHJpYnV0ZV9fKChfX2FsaWduZWRfXygxNikpKSAvLyBWZWN0b3IgY29u dGV4dCBtdXN0IGJlIGRvdWJsZXdvcmQgYWxpZ25lZC4KKysjZW5kaWYKKysgIHN0cnVjdCB2NjRf dCB7CisrI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQorKyAgICAvLyBSZWZsZWN0 cyB2cnJlZ3NldF90IGluIHN5cy91Y29udGV4dC5oCisrICAgIHVpbnQzMl90IHZycmVnc1szMl1b NF07CisrICAgIHN0cnVjdCB7CisrICAgICAgdWludDMyX3QgX19wYWRbM107CisrICAgICAgdWlu dDMyX3QgdnNjcl93b3JkOworKyAgICB9IHZzY3I7CisrICAgIHVpbnQzMl90IHZyc2F2ZTsKKysg ICAgdWludDMyX3QgX19wYWRbM107CisrI2VuZGlmCisrICB9IHY2NDsKKyt9OworKworIC8vISBc YnJpZWYgQSBjb2xsZWN0aW9uIG9mIGBwdHJhY2VgLWFibGUgaW5mb3JtYXRpb24gYWJvdXQgYSB0 aHJlYWQuCisgc3RydWN0IFRocmVhZEluZm8geworICAgVGhyZWFkSW5mbygpOworQEAgLTMwOSw2 ICszNjQsOSBAQCBzdHJ1Y3QgVGhyZWFkSW5mbyB7CisgICAvLyEgXGJyaWVmIFRoZSBmbG9hdGlu ZyBwb2ludCByZWdpc3RlcnMgZm9yIHRoZSB0aHJlYWQuCisgICBGbG9hdENvbnRleHQgZmxvYXRf Y29udGV4dDsKKyAKKysgIC8vISBcYnJpZWYgKE9wdGlvbmFsKSBUaGUgdmVjdG9yIHJlZ2lzdGVy cyB1c2VkIGZvciB0aGUgdGhyZWFkLgorKyAgVmVjdG9yQ29udGV4dCB2ZWN0b3JfY29udGV4dDsK KysKKyAgIC8vISBcYnJpZWYgVGhlIHRocmVhZC1sb2NhbCBzdG9yYWdlIGFkZHJlc3MgZm9yIHRo ZSB0aHJlYWQuCisgICBMaW51eFZNQWRkcmVzcyB0aHJlYWRfc3BlY2lmaWNfZGF0YV9hZGRyZXNz OworIH07CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dC5oCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVf Y29udGV4dC5oCitAQCAtNjksNiArNjksNyBAQCB1c2luZyBOYXRpdmVDUFVDb250ZXh0ID0gdWNv bnRleHRfdDsKKyAvLyEgICAgIG1hY09TL0xpbnV4L0Z1Y2hzaWEgfCB4ODZfNjQgICAgICAgfCBg JSVyZGlgCisgLy8hICAgICBMaW51eCAgICAgICAgICAgICAgIHwgQVJNL0FSTTY0ICAgIHwgYHIw YC9geDBgCisgLy8hICAgICBMaW51eCAgICAgICAgICAgICAgIHwgTUlQUy9NSVBTNjQgIHwgYCRh MGAKKysvLyEgICAgIExpbnV4ICAgICAgICAgICAgICAgfCBQUEM2NCAgICAgICAgfCBgcjNgCisg Ly8hCisgLy8hICAgICBBZGRpdGlvbmFsbHksIHRoZSB2YWx1ZSBgTFJgIG9uIEFSTS9BUk02NCB3 aWxsIGJlIHRoZSByZXR1cm4gYWRkcmVzcyBvZgorIC8vISAgICAgdGhpcyBmdW5jdGlvbi4KKy0t LSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91 dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X2xpbnV4LlMKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250 ZXh0X2xpbnV4LlMKK0BAIC0zMiw3ICszMiw3IEBACisgICAuYmFsaWduIDQsIDB4MAorICAgLnR5 cGUgQ0FQVFVSRUNPTlRFWFRfU1lNQk9MLCAlZnVuY3Rpb24KKyAgIC50eXBlIENBUFRVUkVDT05U RVhUX1NZTUJPTDIsICVmdW5jdGlvbgorLSNlbGlmIGRlZmluZWQoX19taXBzX18pCisrI2VsaWYg ZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICAgLmJhbGlnbiA0 LCAweDAKKyAjZW5kaWYKKyAKK0BAIC00MjMsNCArNDIzLDIxNCBAQCBDQVBUVVJFQ09OVEVYVF9T WU1CT0wyOgorICAganIgJHJhCisgCisgICAuc2V0IGF0CisrI2VsaWYgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQorKyAgLy8gU3RvcmUgcjAtcjMxCisrICBzdGQgMCwgMHhlOCgzKSAgIC8vIGNvbnRl eHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMF0KKysgIHN0ZCAxLCAweGYwKDMpICAgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1sxXQorKyAgc3RkIDIsIDB4ZjgoMykgICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5ncF9yZWdzWzJdCisrICAvLyBub3RlIHRoYXQgcjMncyBvcmlnaW5hbCB2 YWx1ZSB3YXMgbG9zdAorKyAgc3RkIDMsIDB4MTAwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4 dC5ncF9yZWdzWzNdCisrICBzdGQgNCwgMHgxMDgoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmdwX3JlZ3NbNF0KKysgIHN0ZCA1LCAweDExMCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1s1XQorKyAgc3RkIDYsIDB4MTE4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5n cF9yZWdzWzZdCisrICBzdGQgNywgMHgxMjAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0Lmdw X3JlZ3NbN10KKysgIHN0ZCA4LCAweDEyOCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3Bf cmVnc1s4XQorKyAgc3RkIDksIDB4MTMwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9y ZWdzWzldCisrICBzdGQgMTAsIDB4MTM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTBdCisrICBzdGQgMTEsIDB4MTQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTFdCisrICBzdGQgMTIsIDB4MTQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTJdCisrICBzdGQgMTMsIDB4MTUwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTNdCisrICBzdGQgMTQsIDB4MTU4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTRdCisrICBzdGQgMTUsIDB4MTYwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTVdCisrICBzdGQgMTYsIDB4MTY4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTZdCisrICBzdGQgMTcsIDB4MTcwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTddCisrICBzdGQgMTgsIDB4MTc4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMThdCisrICBzdGQgMTksIDB4MTgwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMTldCisrICBzdGQgMjAsIDB4MTg4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjBdCisrICBzdGQgMjEsIDB4MTkwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjFdCisrICBzdGQgMjIsIDB4MTk4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjJdCisrICBzdGQgMjMsIDB4MWEwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjNdCisrICBzdGQgMjQsIDB4MWE4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjRdCisrICBzdGQgMjUsIDB4MWIwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjVdCisrICBzdGQgMjYsIDB4MWI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjZdCisrICBzdGQgMjcsIDB4MWMwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjddCisrICBzdGQgMjgsIDB4MWM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjhdCisrICBzdGQgMjksIDB4MWQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMjldCisrICBzdGQgMzAsIDB4MWQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMzBdCisrICBzdGQgMzEsIDB4MWUwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3Jl Z3NbMzFdCisrCisrICAvLyBGb3IgTklQLCB3ZSBjYW4gdXNlIHRoZSB2YWx1ZSBpbiB0aGUgbGlu ayByZWdpc3RlcgorKyAgbWZsciAwCisrICBzdGQgMCwgMHgxZTgoMykgLy8gY29udGV4dC0+dWNf bWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdCisrCisrICAvLyBDVFIKKysgIG1mY3RyIDAKKysgIHN0 ZCAwLCAweDIwMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0NUUl0KKysK KysgIC8vIEZvciBMTkssIHdlJ2xsIHVzZSB0aGUgY2FsbGVyJ3MgTFIgc2F2ZSBhcmVhICgyIHN0 YWNrIGZyYW1lcyB1cCkuCisrICAvLyByNCBjYW4gYmUgdXNlZCBhcyBhIHNjcmF0Y2ggcmVnaXN0 ZXIgc2luY2UgaXQgaGFzIGFscmVhZHkgYmVlbiBzYXZlZC4KKysgIGxkIDQsIDAoMSkKKysgIGxk IDQsIDE2KDQpCisrICBzdGQgNCwgMHgyMDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3Bf cmVnc1tQVF9MTktdCisrCisrICAvLyBYRVIKKysgIG1meGVyIDAKKysgIHN0ZCAwLCAweDIxMCgz KSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX1hFUl0KKysKKysgIC8vIENDUgor KyAgbWZjciAwCisrICBzdGQgMCwgMHgyMTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3Bf cmVnc1tQVF9DQ1JdCisrCisrICAvLyBNU1IsIG9yaWdfcjMsIE1RLCBUUkFQLCBEQVIsIERTSVNS LCBSRVNVTFQsIERTQ1IsCisrICAvLyBub3QgdXNlZCBvciBub3QgcmVsZXZhbnQsICB6ZXJvIHRo ZW0gb3V0LgorKyAgbGkgNCwgMAorKyAgc3RkIDQsIDB4MWYwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbUFRfTVNSXQorKyAgc3RkIDQsIDB4MWY4KDMpIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LmdwX3JlZ3NbUFRfT1JJR19SM10KKysgIHN0ZCA0LCAweDIyMCgzKSAvLyBjb250 ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX01RXQorKyAgc3RkIDQsIDB4MjI4KDMpIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfVFJBUF0KKysgIHN0ZCA0LCAweDIzMCgzKSAv LyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0RBUl0KKysgIHN0ZCA0LCAweDIzOCgz KSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0RTSVNSXQorKyAgc3RkIDQsIDB4 MjQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfUkVTVUxUXQorKyAgc3Rk IDQsIDB4MjQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfRFNDUl0KKysK KysgIC8vIFVwZGF0ZSBjb250ZXh0LT51Y19tY29udGV4dC5yZWdzIHRvIHBvaW50IHRvIGdwX3Jl Z3MKKysgIGFkZGkgMCwgMywgMHhlOAorKyAgc3RkIDAsIDB4ZTAoMykKKysKKysgIC8vIFNhdmUg ZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzIDAtMzEKKysgIHN0ZmQgMCwgMHgyNjgoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMF0KKysgIHN0ZmQgMSwgMHgyNzAoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMV0KKysgIHN0ZmQgMiwgMHgyNzgoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMl0KKysgIHN0ZmQgMywgMHgyODAoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbM10KKysgIHN0ZmQgNCwgMHgyODgoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbNF0KKysgIHN0ZmQgNSwgMHgyOTAoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbNV0KKysgIHN0ZmQgNiwgMHgyOTgoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbNl0KKysgIHN0ZmQgNywgMHgyYTAoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbN10KKysgIHN0ZmQgOCwgMHgyYTgoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbOF0KKysgIHN0ZmQgOSwgMHgyYjAoMykgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbOV0KKysgIHN0ZmQgMTAsIDB4MmI4KDMpIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTBdCisrICBzdGZkIDExLCAweDJjMCgzKSAvLyBj b250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzExXQorKyAgc3RmZCAxMiwgMHgyYzgoMykgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxMl0KKysgIHN0ZmQgMTMsIDB4MmQwKDMpIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTNdCisrICBzdGZkIDE0LCAweDJkOCgzKSAv LyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE0XQorKyAgc3RmZCAxNSwgMHgyZTAoMykg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxNV0KKysgIHN0ZmQgMTYsIDB4MmU4KDMp IC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTZdCisrICBzdGZkIDE3LCAweDJmMCgz KSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE3XQorKyAgc3RmZCAxOCwgMHgyZjgo MykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxOF0KKysgIHN0ZmQgMTksIDB4MzAw KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTldCisrICBzdGZkIDIwLCAweDMw OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzIwXQorKyAgc3RmZCAyMSwgMHgz MTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syMV0KKysgIHN0ZmQgMjIsIDB4 MzE4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjJdCisrICBzdGZkIDIzLCAw eDMyMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzIzXQorKyAgc3RmZCAyNCwg MHgzMjgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syNF0KKysgIHN0ZmQgMjUs IDB4MzMwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjVdCisrICBzdGZkIDI2 LCAweDMzOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI2XQorKyAgc3RmZCAy NywgMHgzNDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syN10KKysgIHN0ZmQg MjgsIDB4MzQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjhdCisrICBzdGZk IDI5LCAweDM1MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI5XQorKyAgc3Rm ZCAzMCwgMHgzNTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1szMF0KKysgIHN0 ZmQgMzEsIDB4MzYwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMzFdCisrCisr ICAvLyBGUFNDUgorKyAgbWZmcyAwCisrICBzdGZkIDAsIDB4MzY4KDMpIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LmZwX3JlZ3NbMzJdCisrCisrICAvLyBTYXZlIFZNWCBWZWN0b3IgcmVnaXN0ZXJz CisrICAvLyBVcGRhdGUgcjQgdG8gY29udGFpbiB0aGUgYmFzZSBhZGRyZXNzIG9mIHZteF9yZXNl cnZlCisrICBhZGRpIDQsIDMsIDB4Mzc4CisrICAvLyBFbnN1cmUgdGhhdCBpdCBpcyBxdWFkd29y ZCBhbGlnbmVkCisrICBhbmRpLiA1LCA0LCAweEYKKysgIGJlcSAxZiAvLyBObyBhbGlnbm1lbnQg aXMgbmVjZXNzYXJ5CisrICAvLyBBZGRyZXNzIGlzIGRvdWJsZXdvcmQgYWxpZ25lZCBhbmQgbm90 IHF1YWR3b3JkIGFsaWduZWQsIGFkZCA4CisrICBhZGRpIDQsIDQsIDgKKysKKysxOgorKyAgLy8g U3RvcmUgVk1YIHJlZ2lzdGVycyAwLTMxCisrICAvLyByNCB3aWxsIGNvbnRhaW4gdGhlIGJhc2Ug YWRkcmVzcworKyAgLy8gcjUgd2lsbCBjb250YWluIHRoZSBpbmRleAorKyAgbGkgNSwgMAorKyAg c3R2eCAwLCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWdu KSArIDBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEsIDQsIDUgICAvLyBjb250ZXh0LT51 Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMV0KKysgIGFkZGkgNSwgNSwgMTYKKysg IHN0dnggMiwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGln bikgKyAyXQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCAzLCA0LCA1ICAgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDNdCisrICBhZGRpIDUsIDUsIDE2Cisr ICBzdHZ4IDQsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxp Z24pICsgNF0KKysgIGFkZGkgNSwgNSwgMTYKKysgIHN0dnggNSwgNCwgNSAgIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyA1XQorKyAgYWRkaSA1LCA1LCAxNgor KyAgc3R2eCA2LCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFs aWduKSArIDZdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDcsIDQsIDUgICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgN10KKysgIGFkZGkgNSwgNSwgMTYK KysgIHN0dnggOCwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhh bGlnbikgKyA4XQorKyAgYWRkaSA1LCA1LCAxNgorKyAgc3R2eCA5LCA0LCA1ICAgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDldCisrICBhZGRpIDUsIDUsIDE2 CisrICBzdHZ4IDEwLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVso YWxpZ24pICsgMTBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDExLCA0LCA1ICAvLyBjb250 ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTFdCisrICBhZGRpIDUsIDUs IDE2CisrICBzdHZ4IDEyLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2 ZVsoYWxpZ24pICsgMTJdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDEzLCA0LCA1ICAvLyBj b250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTNdCisrICBhZGRpIDUs IDUsIDE2CisrICBzdHZ4IDE0LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVz ZXJ2ZVsoYWxpZ24pICsgMTRdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE1LCA0LCA1ICAv LyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTVdCisrICBhZGRp IDUsIDUsIDE2CisrICBzdHZ4IDE2LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhf cmVzZXJ2ZVsoYWxpZ24pICsgMTZdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE3LCA0LCA1 ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTddCisrICBh ZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE4LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52 bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMThdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDE5LCA0 LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMTldCisr ICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIwLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4 dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjBdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIx LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjFd CisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDIyLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29u dGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjJdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4 IDIzLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsg MjNdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI0LCA0LCA1ICAvLyBjb250ZXh0LT51Y19t Y29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjRdCisrICBhZGRpIDUsIDUsIDE2CisrICBz dHZ4IDI1LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24p ICsgMjVdCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI2LCA0LCA1ICAvLyBjb250ZXh0LT51 Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjZdCisrICBhZGRpIDUsIDUsIDE2Cisr ICBzdHZ4IDI3LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxp Z24pICsgMjddCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDI4LCA0LCA1ICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMjhdCisrICBhZGRpIDUsIDUsIDE2 CisrICBzdHZ4IDI5LCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVso YWxpZ24pICsgMjldCisrICBhZGRpIDUsIDUsIDE2CisrICBzdHZ4IDMwLCA0LCA1ICAvLyBjb250 ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMzBdCisrICBhZGRpIDUsIDUs IDE2CisrICBzdHZ4IDMxLCA0LCA1ICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2 ZVsoYWxpZ24pICsgMzFdCisrICBhZGRpIDUsIDUsIDE2CisrCisrICAvLyBWU0NSCisrICBtZnZz Y3IgMAorKyAgc3R2eCAwLCA0LCA1CisrICBhZGRpIDUsIDUsIDE2CisrCisrICAvLyBWUlNBVkUK KysgIG1mdnJzYXZlIDAKKysgIHN0d3ggMCwgNCwgNQorKworKyAgLy8gVXBkYXRlIGNvbnRleHQt PnVjX21jb250ZXh0LnZfcmVncyB0byBwb2ludCB0byB2bXhfcmVzZXJ2ZSArIGFsaWdubWVudC4K KysgIHN0ZCA0LCAweDM3MCgzKQorKworKyAgLy8gWmVybyBvdXQgYWxsIHVudXNlZCBmaWVsZHMK KysgIGxpIDQsIDAKKysgIHN0ZCA0LCAweGM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnNp Z25hbAorKyAgc3RkIDQsIDB4ZDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuaGFuZGxlcgor KyAgc3RkIDQsIDB4ZDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQub2xkbWFzaworKworKyAg YmxyCisgI2VuZGlmICAvLyBfX2kzODZfXworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVz dC5jYworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdC5jYworQEAgLTU3LDcgKzU3LDcg QEAgdm9pZCBUZXN0Q2FwdHVyZUNvbnRleHQoKSB7CisgICB1aW50cHRyX3QgcGMgPSBQcm9ncmFt Q291bnRlckZyb21Db250ZXh0KGNvbnRleHRfMSk7CisgCisgI2lmICFkZWZpbmVkKEFERFJFU1Nf U0FOSVRJWkVSKSAmJiAhZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgXAorLSAgICAh ZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKQorKyAgICAhZGVmaW5lZChNRU1PUllfU0FOSVRJWkVS KSAmJiAhZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisgICAvLyBTYW5pdGl6ZXJzIGNh biBjYXVzZSBlbm91Z2ggY29kZSBibG9hdCB0aGF0IHRoZSDigJxuZWFyYnnigJ0gY2hlY2sgd291 bGQKKyAgIC8vIGxpa2VseSBmYWlsLgorICAgY29uc3QgdWludHB0cl90IGtSZWZlcmVuY2VQQyA9 CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MKKysrKyBiL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21p c2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYworQEAgLTM1LDYgKzM1LDggQEAg dm9pZCBTYW5pdHlDaGVja0NvbnRleHQoY29uc3QgTmF0aXZlQ1BVQworICAgRVhQRUNUX0VRKGNv bnRleHQudWNfbWNvbnRleHQucmVnc1swXSwgRnJvbVBvaW50ZXJDYXN0PHVpbnRwdHJfdD4oJmNv bnRleHQpKTsKKyAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQorICAgRVhQRUNU X0VRKGNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3NbNF0sIEZyb21Qb2ludGVyQ2FzdDx1aW50cHRy X3Q+KCZjb250ZXh0KSk7CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCisr ICBFWFBFQ1RfRVEoY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzWzNdLCBGcm9tUG9pbnRlckNh c3Q8dWludHB0cl90PigmY29udGV4dCkpOworICNlbmRpZgorIH0KKyAKK0BAIC00OSw2ICs1MSw4 IEBAIHVpbnRwdHJfdCBQcm9ncmFtQ291bnRlckZyb21Db250ZXh0KGNvbnMKKyAgIHJldHVybiBj b250ZXh0LnVjX21jb250ZXh0LnBjOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpCisgICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5wYzsKKysjZWxpZiBkZWZpbmVkKEFS Q0hfQ1BVX1BQQzY0X0ZBTUlMWSkKKysgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LmdwX3Jl Z3NbUFRfTklQXTsKKyAjZW5kaWYKKyB9CisgCitAQCAtNjMsNiArNjcsOCBAQCB1aW50cHRyX3Qg U3RhY2tQb2ludGVyRnJvbUNvbnRleHQoY29uc3QKKyAgIHJldHVybiBjb250ZXh0LnVjX21jb250 ZXh0LnNwOworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCisgICByZXR1cm4g Y29udGV4dC51Y19tY29udGV4dC5ncmVnc1syOV07CisrI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9Q UEM2NF9GQU1JTFkpCisrICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5ncF9yZWdzWzFdOwor ICNlbmRpZgorIH0KKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC91dGlsL3Bvc2l4L3NpZ25hbHNfdGVzdC5jYworKysrIGIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvcG9zaXgv c2lnbmFsc190ZXN0LmNjCitAQCAtNDYsOSArNDYsOSBAQCBib29sIENhbkNhdXNlU2lnbmFsKGlu dCBzaWcpIHsKKyAgIHJldHVybiBzaWcgPT0gU0lHQUJSVCB8fAorICAgICAgICAgIHNpZyA9PSBT SUdBTFJNIHx8CisgICAgICAgICAgc2lnID09IFNJR0JVUyB8fAorLSNpZiAhZGVmaW5lZChBUkNI X0NQVV9BUk02NCkKKysjaWYgIWRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmICFkZWZpbmVkKEFS Q0hfQ1BVX1BQQzY0KQorICAgICAgICAgIHNpZyA9PSBTSUdGUEUgfHwKKy0jZW5kaWYgIC8vICFk ZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KQorKyNlbmRpZiAgLy8gIWRlZmluZWQoQVJDSF9DUFVfQVJN NjQpICYmICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4 Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNRUwpCisgICAgICAgICAgc2lnID09IFNJ R0lMTCB8fAorICNlbmRpZiAgLy8gZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZp bmVkKEFSQ0hfQ1BVX0FSTUVMKQorQEAgLTExNyw5ICsxMTcsMTEgQEAgdm9pZCBDYXVzZVNpZ25h bChpbnQgc2lnKSB7CisgICAgICAgYnJlYWs7CisgICAgIH0KKyAKKy0jaWYgIWRlZmluZWQoQVJD SF9DUFVfQVJNNjQpCisrI2lmICFkZWZpbmVkKEFSQ0hfQ1BVX0FSTTY0KSAmJiAhZGVmaW5lZChB UkNIX0NQVV9QUEM2NCkKKyAgICAgLy8gQVJNNjQgaGFzIGhhcmR3YXJlIGludGVnZXIgZGl2aXNp b24gaW5zdHJ1Y3Rpb25zIHRoYXQgZG9u4oCZdCBnZW5lcmF0ZSBhCisgICAgIC8vIHRyYXAgZm9y IGRpdmlkZS1ieS16ZXJvLCBzbyB0aGlzIGRvZXNu4oCZdCBwcm9kdWNlIFNJR0ZQRS4KKysgICAg Ly8KKysgICAgLy8gUFBDNjQgZml4ZWQtcG9pbnQgZGl2aXNpb24gYnkgemVybyBhbHNvIGRvZXNu J3QgcHJvZHVjZSBhIFNJR0ZQRS4KKyAgICAgY2FzZSBTSUdGUEU6IHsKKyAgICAgICAvLyBPcHRp bWl6YXRpb24gbWFrZXMgdGhpcyB0cmlja3ksIHNvIGdldCB6ZXJvIGZyb20gYSBzeXN0ZW0gY2Fs bCBsaWtlbHkKKyAgICAgICAvLyB0byBzdWNjZWVkLCBhbmQgdHJ5IHRvIGRvIHNvbWV0aGluZyB3 aXRoIHRoZSByZXN1bHQuCitAQCAtMTM3LDcgKzEzOSw3IEBAIHZvaWQgQ2F1c2VTaWduYWwoaW50 IHNpZykgeworICAgICAgIGZzdGF0KHF1b3RpZW50LCAmc3RhdF9idWYpOworICAgICAgIGJyZWFr OworICAgICB9CistI2VuZGlmICAvLyBBUkNIX0NQVV9BUk02NAorKyNlbmRpZiAgLy8gIWRlZmlu ZWQoQVJDSF9DUFVfQVJNNjQpICYmICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQorIAorICNpZiBk ZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNRUwpCisg ICAgIGNhc2UgU0lHSUxMOiB7CistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvZGF2MWQvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9kYXYxZC9CVUlMRC5nbgorQEAgLTE5Niw2ICsxOTYsOCBAQCBzdGF0aWNfbGlicmFyeSgiZGF2 MWRfOGJpdCIpIHsKKyAgICAgc291cmNlcyArPSBhcm1fdGVtcGxhdGVfc291cmNlcworICAgfSBl bHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7CisgICAgIHNvdXJjZXMgKz0gYXJtX3Rl bXBsYXRlX3NvdXJjZXMKKysgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0Iikgewor KyAgICBzb3VyY2VzICs9IHBwYzY0X3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0KKyAKKyAgIGNmbGFn cyA9IGRhdjFkX2NvcHRzCitAQCAtMjI2LDYgKzIyOCw4IEBAIHN0YXRpY19saWJyYXJ5KCJkYXYx ZF8xMGJpdCIpIHsKKyAgICAgc291cmNlcyArPSBhcm1fdGVtcGxhdGVfc291cmNlcworICAgfSBl bHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7CisgICAgIHNvdXJjZXMgKz0gYXJtX3Rl bXBsYXRlX3NvdXJjZXMKKysgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0Iikgewor KyAgICBzb3VyY2VzICs9IHBwYzY0X3RlbXBsYXRlX3NvdXJjZXMKKyAgIH0KKyAKKyAgIGNmbGFn cyA9IGRhdjFkX2NvcHRzCitAQCAtMjgzLDYgKzI4NywyMSBAQCBpZiAoY3VycmVudF9jcHUgPT0g Ing4NiIgfHwgY3VycmVudF9jcHUKKyAgICAgfQorIAorICAgICBjZmxhZ3MgPSBkYXYxZF9jb3B0 cworKyAgfQorK30gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgc3RhdGlj X2xpYnJhcnkoImRhdjFkX3BwYyIpIHsKKysgICAgc291cmNlcyA9IFsKKysgICAgICAibGliZGF2 MWQvc3JjL3BwYy9jcHUuYyIsCisrICAgICAgImxpYmRhdjFkL3NyYy9wcGMvY3B1LmgiLAorKyAg ICBdCisrCisrICAgIGNvbmZpZ3MgLT0gWyAiLy9idWlsZC9jb25maWcvY29tcGlsZXI6Y2hyb21p dW1fY29kZSIgXQorKyAgICBjb25maWdzICs9IFsKKysgICAgICAiLy9idWlsZC9jb25maWcvY29t cGlsZXI6bm9fY2hyb21pdW1fY29kZSIsCisrICAgICAgIjpkYXYxZF9jb25maWciLAorKyAgICBd CisrCisrICAgIGNmbGFncyA9IGRhdjFkX2NvcHRzCisgCisgICAgIGRlcHMgPSBbICI6ZGF2MWRf aGVhZGVycyIgXQorICAgICBhbGxvd19jaXJjdWxhcl9pbmNsdWRlc19mcm9tID0gWyAiOmRhdjFk X2hlYWRlcnMiIF0KK0BAIC0zMTUsNSArMzM0LDcgQEAgc3RhdGljX2xpYnJhcnkoImRhdjFkIikg eworICAgICB9CisgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJhcm0iIHx8IGN1cnJlbnRf Y3B1ID09ICJhcm02NCIpIHsKKyAgICAgZGVwcyArPSBbICI6ZGF2MWRfYXJtIiBdCisrICB9IGVs c2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKKysgICAgZGVwcyArPSBbICI6ZGF2MWRf cHBjIiBdCisgICB9CisgfQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5 L2RhdjFkL2RhdjFkX2dlbmVyYXRlZC5nbmkKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9kYXYxZC9kYXYxZF9nZW5lcmF0ZWQuZ25pCitAQCAtMTAzLDYgKzEwMywxMSBA QCBhcm1fdGVtcGxhdGVfc291cmNlcyA9IFsKKyAgICJsaWJkYXYxZC9zcmMvYXJtL21jX2luaXRf dG1wbC5jIiwKKyBdCisgCisrcHBjNjRfdGVtcGxhdGVfc291cmNlcyA9IFsKKysgICJsaWJkYXYx ZC9zcmMvcHBjL2NkZWZfaW5pdF90bXBsLmMiLAorKyAgImxpYmRhdjFkL3NyYy9wcGMvbG9vcHJl c3RvcmF0aW9uX2luaXRfdG1wbC5jIiwKKytdCisrCisgdGVtcGxhdGVfc291cmNlcyA9IFsKKyAg ICJsaWJkYXYxZC9zcmMvY2RlZl9hcHBseV90bXBsLmMiLAorICAgImxpYmRhdjFkL3NyYy9jZGVm X3RtcGwuYyIsCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvZGF2MWQv Z2VuZXJhdGVfc291cmNlLnB5CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvZGF2MWQvZ2VuZXJhdGVfc291cmNlLnB5CitAQCAtNTcsNiArNTcsOCBAQCBkZWYgX1dyaXRl R24oZmQpOgorICAgX1dyaXRlQXJyYXkoZmQsICJhcm02NF9hc21fc291cmNlcyIsIF9HbG9iKCJs aWJkYXYxZC9zcmMvYXJtLzY0LyouUyIpKQorICAgX1dyaXRlQXJyYXkoZmQsICJhcm1fdGVtcGxh dGVfc291cmNlcyIsIF9HbG9iKCJsaWJkYXYxZC9zcmMvYXJtLypfdG1wbC5jIikpCisgCisrICBf V3JpdGVBcnJheShmZCwgInBwYzY0X3RlbXBsYXRlX3NvdXJjZXMiLCBfR2xvYigibGliZGF2MWQv c3JjL3BwYy8qX3RtcGwuYyIpKQorKworICAgdGVtcGxhdGVfc291cmNlcyA9IF9HbG9iKCJsaWJk YXYxZC9zcmMvKl90bXBsLmMiKQorICAgX1dyaXRlQXJyYXkoZmQsICJ0ZW1wbGF0ZV9zb3VyY2Vz IiwgdGVtcGxhdGVfc291cmNlcykKKyAKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVzLmgKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL3R5cGVzLmgKK0BA IC01MSw0ICs1MSwxOSBAQAorICNkZWZpbmUgdTE2bF90b19pMzIodikgKChpMzJ4NCkgdmVjX21l cmdlbCgodTE2eDgpIHYsIHZlY19zcGxhdF91MTYoMCkpKQorICNkZWZpbmUgaTE2bF90b19pMzIo dikgKChpMzJ4NCkgdmVjX3VucGFja2woKGkxNng4KXYpKQorIAorKyNpZiBkZWZpbmVkKF9fY2xh bmdfXykKKysjdW5kZWYgdmVjX3NwbGF0cworKyNkZWZpbmUgdmVjX3NwbGF0cyhOKSAgICAgICAg ICAgICAgICAgICAgIFwKKysgICAgX0dlbmVyaWMoKE4pLCAgICAgICAgICAgICAgICAgICAgICAg ICBcCisrICAgICAgICB1bnNpZ25lZCBjaGFyOiAgICAgICgodTh4MTYpKE4pKSwgXAorKyAgICAg ICAgc2lnbmVkIGNoYXI6ICAgICAgICAoKGk4eDE2KShOKSksIFwKKysgICAgICAgIHVuc2lnbmVk IHNob3J0OiAgICAgKCh1MTZ4OCkoTikpLCBcCisrICAgICAgICBzaWduZWQgc2hvcnQ6ICAgICAg ICgoaTE2eDgpKE4pKSwgXAorKyAgICAgICAgdW5zaWduZWQgaW50OiAgICAgICAoKHUzMng0KShO KSksIFwKKysgICAgICAgIHNpZ25lZCBpbnQ6ICAgICAgICAgKChpMzJ4NCkoTikpLCBcCisrICAg ICAgICB1bnNpZ25lZCBsb25nIGxvbmc6ICgodTY0eDIpKE4pKSwgXAorKyAgICAgICAgc2lnbmVk IGxvbmcgbG9uZzogICAoKGk2NHgyKShOKSkgIFwKKysgICAgKQorKyNlbmRpZgorKworICNlbmRp ZiAvKiBEQVYxRF9TUkNfUFBDX1RZUEVTX0ggKi8KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9laWdlbjMvQlVJTEQuZ24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9laWdlbjMvQlVJTEQuZ24KK0BAIC0yMiw0ICsyMiw4IEBAIGNvbmZpZygi ZWlnZW5faW5jbHVkZXMiKSB7CisgICAgICMgZm9yIHRoaXMgY29tcG9uZW50IG9uIFdpbmRvd3Mg b24gQXJtIGR1ZSB0byBjb21waWxhdGlvbiBlcnJvcnMuCisgICAgIGRlZmluZXMgKz0gWyAiRUlH RU5fRE9OVF9WRUNUT1JJWkUiIF0KKyAgIH0KKysKKysgIGlmICh0YXJnZXRfY3B1ID09ICJwcGM2 NCIpIHsKKysgICAgZGVmaW5lcyArPSBbICJFSUdFTl9ET05UX1ZFQ1RPUklaRSIgXQorKyAgfQor IH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJhb20vQlVJTEQu Z24KKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJhb20vQlVJTEQu Z24KK0BAIC0zNyw2ICszNyw4IEBAIGlmIChlbmFibGVfbGliYW9tKSB7CisgICAgIH0gZWxzZSB7 CisgICAgICAgY3B1X2FyY2hfZnVsbCA9ICJhcm0iCisgICAgIH0KKysgIH0gZWxzZSBpZiAoY3Vy cmVudF9jcHUgPT0gInBwYzY0IikgeworKyAgICBjcHVfYXJjaF9mdWxsID0gImdlbmVyaWMiCisg ICB9IGVsc2UgeworICAgICBjcHVfYXJjaF9mdWxsID0gY3VycmVudF9jcHUKKyAgIH0KKy0tLSBh L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9saWJnYXYxL29wdGlvbnMuZ25pCisr KysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGliZ2F2MS9vcHRpb25zLmdu aQorQEAgLTEyLDUgKzEyLDUgQEAgZGVjbGFyZV9hcmdzKCkgeworICAgICAgIGlzX2Nocm9tZW9z X2FzaCAmJiAodGFyZ2V0X2NwdSA9PSAiYXJtIiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIpCisg ICB1c2VfbGliZ2F2MV9wYXJzZXIgPQorICAgICAgIChpc19jaHJvbWVvcyB8fCBpc19saW51eCB8 fCBpc193aW4pICYmCistICAgICAgKHRhcmdldF9jcHUgPT0gIng4NiIgfHwgdGFyZ2V0X2NwdSA9 PSAieDY0IiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIpCisrICAgICAgKHRhcmdldF9jcHUgPT0g Ing4NiIgfHwgdGFyZ2V0X2NwdSA9PSAieDY0IiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIgfHwg dGFyZ2V0X2NwdSA9PSAicHBjNjQiKQorIH0KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90 aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKKysrKyBiL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKK0BAIC00 MjYyLDcgKzQyNjIsNyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7CisgICAgICAgTFNTX1JFRygy LCBidWYpOworICAgICAgIExTU19CT0RZKHZvaWQqLCBtbWFwMiwgIjAiKF9fcjIpKTsKKyAgICAg fQorLSNlbHNlCisrI2VsaWYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykgLyogcHBjNjQgZG9lc24n dCBoYXZlIG1tYXAyICovCisgICAgICNkZWZpbmUgX19OUl9fbW1hcDIgX19OUl9tbWFwMgorICAg ICBMU1NfSU5MSU5FIF9zeXNjYWxsNih2b2lkKiwgX21tYXAyLCAgICAgICAgICAgIHZvaWQqLCBz LAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QsICAgICAgICAgICAgICAgICAgIGws IGludCwgICAgICAgICAgICAgICBwLAorQEAgLTQzNzMsNyArNDM3Myw3IEBAIHN0cnVjdCBrZXJu ZWxfc3RhdGZzIHsKKyAgICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgZGVmaW5lZChfX0FS TV9BUkNIXzNfXykgfHwgZGVmaW5lZChfX0FSTV9FQUJJX18pIHx8ICAgICAgICAgICAgICAgICAg ICAgXAorICAgICAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1f QUJJMzIpIHx8ICAgICAgICAgICAgICAgICAgIFwKKy0gICAgICBkZWZpbmVkKF9fUFBDX18pIHx8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisr ICAgICAoZGVmaW5lZChfX1BQQ19fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKSkgfHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg IChkZWZpbmVkKF9fczM5MF9fKSAmJiAhZGVmaW5lZChfX3MzOTB4X18pKQorICAgICAvKiBPbiB0 aGVzZSBhcmNoaXRlY3R1cmVzLCBpbXBsZW1lbnQgbW1hcCgpIHdpdGggbW1hcDIoKS4gKi8KKyAg ICAgTFNTX0lOTElORSB2b2lkKiBMU1NfTkFNRShtbWFwKSh2b2lkICpzLCBzaXplX3QgbCwgaW50 IHAsIGludCBmLCBpbnQgZCwKK0BAIC00NTU2LDkgKzQ1NTYsMTcgQEAgc3RydWN0IGtlcm5lbF9z dGF0ZnMgeworICAgICB9CisgICAjZW5kaWYKKyAgICNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0 KQorKyAgICAjaWYgIWRlZmluZWQoX19HTElCQ19fKQorKyAgICAgICAgLy8gbXVzbCBkb2Vzbid0 IGRlZmluZSBmc3RhdGF0NjQgZnN0YXRhdAorKyAgICAgICAgI3VuZGVmIGZzdGF0YXQ2NAorKyAg ICAjZW5kaWYKKyAgICAgTFNTX0lOTElORSBfc3lzY2FsbDQoaW50LCAgIGZzdGF0YXQ2NCwgICAg ICAgIGludCwgICBkLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICosICAg ICAgcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGtlcm5lbF9zdGF0NjQgKiwg ICBiLCAgICBpbnQsICAgZikKKysgICAgI2lmICFkZWZpbmVkKF9fR0xJQkNfXykKKysgICAgCS8v IHRoZW4gcmVzdG9yZSBpdAorKyAgICAgICAgI2RlZmluZSBmc3RhdGF0NjQgZnN0YXRhdAorKyAg ICAjZW5kaWYKKyAgICNlbmRpZgorICAgI2lmIGRlZmluZWQoX19OUl93YWl0cGlkKQorICAgICAv LyB3YWl0cGlkIGlzIHBvbHlmaWxsZWQgYmVsb3cgd2hlbiBub3QgYXZhaWxhYmxlLgorLS0tIGEv c3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9saWJw bmcxNi9wbmdwcml2LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9w ZGZpdW0vdGhpcmRfcGFydHkvbGlicG5nMTYvcG5ncHJpdi5oCitAQCAtMTk2LDExICsxOTYsNyBA QAorICNlbmRpZgorIAorICNpZm5kZWYgUE5HX1BPV0VSUENfVlNYX09QVAorLSMgIGlmIGRlZmlu ZWQoX19QUEM2NF9fKSAmJiBkZWZpbmVkKF9fQUxUSVZFQ19fKSAmJiBkZWZpbmVkKF9fVlNYX18p CistIyAgICAgZGVmaW5lIFBOR19QT1dFUlBDX1ZTWF9PUFQgMgorLSMgIGVsc2UKKy0jICAgICBk ZWZpbmUgUE5HX1BPV0VSUENfVlNYX09QVCAwCistIyAgZW5kaWYKKysjICBkZWZpbmUgUE5HX1BP V0VSUENfVlNYX09QVCAwCisgI2VuZGlmCisgCisgI2lmbmRlZiBQTkdfSU5URUxfU1NFX09QVAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3BmZmZ0L3NyYy9wZmZmdC5j CisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvcGZmZnQvc3JjL3BmZmZ0 LmMKK0BAIC0xMDAsNiArMTAwLDcgQEAKKyAgICBBbHRpdmVjIHN1cHBvcnQgbWFjcm9zIAorICov CisgI2lmICFkZWZpbmVkKFBGRkZUX1NJTURfRElTQUJMRSkgJiYgKGRlZmluZWQoX19wcGNfXykg fHwgZGVmaW5lZChfX3BwYzY0X18pKQorKyNpbmNsdWRlIDxhbHRpdmVjLmg+CisgdHlwZWRlZiB2 ZWN0b3IgZmxvYXQgdjRzZjsKKyAjICBkZWZpbmUgU0lNRF9TWiA0CisgIyAgZGVmaW5lIFZaRVJP KCkgKCh2ZWN0b3IgZmxvYXQpIHZlY19zcGxhdF91OCgwKSkKKy0tLSBhL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS9za2lhL3NyYy9za3NsL1NrU0xTdHJpbmcuY3BwCisrKysgYi9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc2tpYS9zcmMvc2tzbC9Ta1NMU3RyaW5n LmNwcAorQEAgLTE0Miw3ICsxNDIsMTIgQEAgU3RyaW5nIHRvX3N0cmluZyhkb3VibGUgdmFsdWUp IHsKKyAgICAgaWYgKG5lZWRzRG90WmVybykgeworICAgICAgICAgYnVmZmVyIDw8ICIuMCI7Cisg ICAgIH0KKy0gICAgcmV0dXJuIFN0cmluZyhidWZmZXIuc3RyKCkuY19zdHIoKSk7CisrCisrICAg IHN0ZDo6c3RyaW5nIHJldChidWZmZXIuc3RyKCkpOworKyAgICBpZiAoc2lnbmJpdCh2YWx1ZSkg JiYgcmV0WzBdID09ICcuJykgeworKyAgICAgICAgcmV0WzBdID0gJy0nOworKyAgICB9CisrICAg IHJldHVybiBTdHJpbmcocmV0LmNfc3RyKCkpOworIH0KKyAKKyBib29sIHN0b2QoY29uc3Qgc2tz dGQ6OnN0cmluZ192aWV3JiBzLCBTS1NMX0ZMT0FUKiB2YWx1ZSkgeworLS0tIGEvc3JjLzNyZHBh cnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9uL3NxbGl0ZTMu YworKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1h bGdhbWF0aW9uL3NxbGl0ZTMuYworQEAgLTE0NjI4LDcgKzE0NjI4LDggQEAgdHlwZWRlZiBJTlQx Nl9UWVBFIExvZ0VzdDsKKyAjIGlmIGRlZmluZWQoaTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4 Nl9fKSAgICAgIHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAorICAgICAgZGVmaW5lZChfX3g4 Nl82NCkgIHx8IGRlZmluZWQoX194ODZfNjRfXykgICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAg ICBcCisgICAgICBkZWZpbmVkKF9NX0FNRDY0KSAgfHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8 fCBkZWZpbmVkKF9feDg2KSAgIHx8ICAgIFwKKy0gICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBk ZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJNNjQpCisrICAgICBkZWZpbmVk KF9fQVJNRUxfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0 KSB8fCAgIFwKKysgICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9f ID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQorICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRF UiAgICAxMjM0CisgIyBlbGlmIGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18p IHx8IFwKKyAgICAgICAgZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJf XykKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2Ft YWxnYW1hdGlvbl9kZXYvc3FsaXRlMy5jCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb25fZGV2L3NxbGl0ZTMuYworQEAgLTE0NjQx LDcgKzE0NjQxLDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKKyAjIGlmIGRlZmluZWQo aTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgICAgIHx8IGRlZmluZWQoX01fSVg4Nikg fHwgICAgXAorICAgICAgZGVmaW5lZChfX3g4Nl82NCkgIHx8IGRlZmluZWQoX194ODZfNjRfXykg ICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCisgICAgICBkZWZpbmVkKF9NX0FNRDY0KSAg fHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8fCBkZWZpbmVkKF9feDg2KSAgIHx8ICAgIFwKKy0g ICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmlu ZWQoX01fQVJNNjQpCisrICAgICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5lZChfX0FBUkNI NjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0KSB8fCAgIFwKKysgICAgIGRlZmluZWQoX19wb3dl cnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQor ICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICAxMjM0CisgIyBlbGlmIGRlZmluZWQoc3Bh cmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKKyAgICAgICAgZGVmaW5lZChfX0FSTUVC X18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5jCisrKysgYi9zcmMvM3Jk cGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYwor QEAgLTQ1MCw3ICs0NTAsNyBAQCBzdHJ1Y3QgUnRyZWVNYXRjaEFyZyB7CisgI2lmIGRlZmluZWQo aTM4NikgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAg ICBcCisgICAgIGRlZmluZWQoX194ODZfNjQpIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfTV9YNjQpICB8fCAgICBcCisgICAgIGRlZmluZWQoX01fQU1ENjQpIHx8IGRlZmluZWQo X01fQVJNKSAgICAgfHwgZGVmaW5lZChfX3g4NikgICB8fCAgICBcCistICAgIGRlZmluZWQoX19h cm1fXykKKysgICAgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYm IChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykKKyAjIGRlZmluZSBT UUxJVEVfQllURU9SREVSICAgIDEyMzQKKyAjZWxpZiBkZWZpbmVkKHNwYXJjKSAgICB8fCBkZWZp bmVkKF9fcHBjX18pCisgIyBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICA0MzIxCistLS0gYS9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9zcmMvc3FsaXRlSW50 LmgKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3Ny Yy9zcWxpdGVJbnQuaAorQEAgLTg5MCw3ICs4OTAsOCBAQCB0eXBlZGVmIElOVDE2X1RZUEUgTG9n RXN0OworICMgaWYgZGVmaW5lZChpMzg2KSAgICAgIHx8IGRlZmluZWQoX19pMzg2X18pICAgICAg fHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCisgICAgICBkZWZpbmVkKF9feDg2XzY0KSAgfHwg ZGVmaW5lZChfX3g4Nl82NF9fKSAgICB8fCBkZWZpbmVkKF9NX1g2NCkgIHx8ICAgIFwKKyAgICAg IGRlZmluZWQoX01fQU1ENjQpICB8fCBkZWZpbmVkKF9NX0FSTSkgICAgICAgIHx8IGRlZmluZWQo X194ODYpICAgfHwgICAgXAorLSAgICAgZGVmaW5lZChfX0FSTUVMX18pIHx8IGRlZmluZWQoX19B QVJDSDY0RUxfXykgfHwgZGVmaW5lZChfTV9BUk02NCkKKysgICAgIGRlZmluZWQoX19BUk1FTF9f KSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJNNjQpIHx8IFwKKysg ICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9fID09IF9fT1JERVJf TElUVExFX0VORElBTl9fKQorICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICAxMjM0Cisg IyBlbGlmIGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKKyAgICAg ICAgZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKKy0tLSBhL3Ny Yy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9kZXNrdG9wX2Nh cHR1cmUvZGlmZmVyX2Jsb2NrLmNjCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvd2VicnRjL21vZHVsZXMvZGVza3RvcF9jYXB0dXJlL2RpZmZlcl9ibG9jay5jYworQEAg LTMwLDExICszMCw3IEBAIGJvb2wgVmVjdG9yRGlmZmVyZW5jZShjb25zdCB1aW50OF90KiBpbWEK KyAgIHN0YXRpYyBib29sICgqZGlmZl9wcm9jKShjb25zdCB1aW50OF90KiwgY29uc3QgdWludDhf dCopID0gbnVsbHB0cjsKKyAKKyAgIGlmICghZGlmZl9wcm9jKSB7CistI2lmIGRlZmluZWQoV0VC UlRDX0FSQ0hfQVJNX0ZBTUlMWSkgfHwgZGVmaW5lZChXRUJSVENfQVJDSF9NSVBTX0ZBTUlMWSkK Ky0gICAgLy8gRm9yIEFSTSBhbmQgTUlQUyBwcm9jZXNzb3JzLCBhbHdheXMgdXNlIEMgdmVyc2lv bi4KKy0gICAgLy8gVE9ETyhoY2xhbSk6IEltcGxlbWVudCBhIE5FT04gdmVyc2lvbi4KKy0gICAg ZGlmZl9wcm9jID0gJlZlY3RvckRpZmZlcmVuY2VfQzsKKy0jZWxzZQorKyNpZiBkZWZpbmVkKFdF QlJUQ19BUkNIX1g4Nl9GQU1JTFkpCisgICAgIGJvb2wgaGF2ZV9zc2UyID0gR2V0Q1BVSW5mbyhr U1NFMikgIT0gMDsKKyAgICAgLy8gRm9yIHg4NiBwcm9jZXNzb3JzLCBjaGVjayBpZiBTU0UyIGlz IHN1cHBvcnRlZC4KKyAgICAgaWYgKGhhdmVfc3NlMiAmJiBrQmxvY2tTaXplID09IDMyKSB7CitA QCAtNDQsNiArNDAsMTAgQEAgYm9vbCBWZWN0b3JEaWZmZXJlbmNlKGNvbnN0IHVpbnQ4X3QqIGlt YQorICAgICB9IGVsc2UgeworICAgICAgIGRpZmZfcHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7 CisgICAgIH0KKysjZWxzZQorKyAgICAvLyBGb3Igb3RoZXIgcHJvY2Vzc29ycywgYWx3YXlzIHVz ZSBDIHZlcnNpb24uCisrICAgIC8vIFRPRE8oaGNsYW0pOiBJbXBsZW1lbnQgYSBORU9OIHZlcnNp b24uCisrICAgIGRpZmZfcHJvYyA9ICZWZWN0b3JEaWZmZXJlbmNlX0M7CisgI2VuZGlmCisgICB9 CisgCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvQlVJTEQuZ24KKysrKyBiL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS92OC9CVUlMRC5nbgorQEAgLTEwODMsNiArMTA4MywxMiBAQCBjb25m aWcoInRvb2xjaGFpbiIpIHsKKyAgICAgfQorICAgICBpZiAoaG9zdF9ieXRlb3JkZXIgPT0gImxp dHRsZSIpIHsKKyAgICAgICBkZWZpbmVzICs9IFsgIlY4X1RBUkdFVF9BUkNIX1BQQ19MRSIgXQor KyAgICAgIGNmbGFncyArPSBbCisrICAgICAgICAjIEVuYWJsZSB1c2FnZSBvZiBBbHRpVmVjLCBW U1gsIGFuZCBvdGhlciBQT1dFUjggYW5kIGhpZ2hlciBmZWF0dXJlcworKyAgICAgICAgIi1tY3B1 PXBvd2VyOCIsCisrICAgICAgICAiLW1hbHRpdmVjIiwKKysgICAgICAgICItbXZzeCIsCisrICAg ICAgXQorICAgICB9IGVsc2UgaWYgKGhvc3RfYnl0ZW9yZGVyID09ICJiaWciKSB7CisgICAgICAg ZGVmaW5lcyArPSBbICJWOF9UQVJHRVRfQVJDSF9QUENfQkUiIF0KKyAgICAgICBpZiAoY3VycmVu dF9vcyA9PSAiYWl4IikgeworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3VpL2dsL2ZlYXR1 cmVzLmduaQorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3VpL2dsL2ZlYXR1cmVzLmduaQor QEAgLTM1LDcgKzM1LDggQEAgZGVjbGFyZV9hcmdzKCkgeworICAgICAgICAgICAgICAgICAgICAg ICAgIChpc19tYWMgJiYgdXNlX2VnbCkgfHwgaXNfY2hyb21lb3NfYXNoIHx8IGlzX2Z1Y2hzaWEp ICYmCisgICAgICAgICAgICAgICAgICAgICAgICAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJn ZXRfY3B1ID09ICJ4NjQiIHx8CisgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0X2NwdSA9 PSAiYXJtIiB8fCB0YXJnZXRfY3B1ID09ICJhcm02NCIgfHwKKy0gICAgICAgICAgICAgICAgICAg ICAgICB0YXJnZXRfY3B1ID09ICJtaXBzZWwiIHx8IHRhcmdldF9jcHUgPT0gIm1pcHM2NGVsIikK KysgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfY3B1ID09ICJtaXBzZWwiIHx8IHRhcmdl dF9jcHUgPT0gIm1pcHM2NGVsIiB8fAorKyAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF9j cHUgPT0gInBwYzY0IikKKyB9CisgCisgdXNlX2dseCA9IHVzZV94MTEgfHwgb3pvbmVfcGxhdGZv cm1feDExCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vdjgvdGVzdC9CVUlMRC5nbgorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Y4L3Rlc3QvQlVJTEQuZ24KK0BAIC00Miw3ICs0Miw2 IEBAIGdyb3VwKCJnbl9hbGwiKSB7CisgICAgICAgImJlbmNobWFya3MvY3BwOmduX2FsbCIsCisg ICAgICAgImNjdGVzdDpjY3Rlc3QiLAorICAgICAgICJjY3Rlc3Q6Z2VuZXJhdGUtYnl0ZWNvZGUt ZXhwZWN0YXRpb25zIiwKKy0gICAgICAidW5pdHRlc3RzOnVuaXR0ZXN0cyIsCisgICAgIF0KKyAg IH0KKyB9CitAQCAtODQsNyArODMsNiBAQCBncm91cCgidjhfYm90X2RlZmF1bHQiKSB7CisgICAg ICJtZXNzYWdlOnY4X21lc3NhZ2UiLAorICAgICAibWpzdW5pdDp2OF9tanN1bml0IiwKKyAgICAg Im1rZ3Jva2R1bXA6bWtncm9rZHVtcCIsCistICAgICJ1bml0dGVzdHM6dW5pdHRlc3RzIiwKKyAg ICAgIndlYmtpdDp2OF93ZWJraXQiLAorICAgXQorIAorQEAgLTEwOSw3ICsxMDcsNiBAQCBncm91 cCgidjhfZGVmYXVsdCIpIHsKKyAgICAgIm1lc3NhZ2U6djhfbWVzc2FnZSIsCisgICAgICJtanN1 bml0OnY4X21qc3VuaXQiLAorICAgICAibWtncm9rZHVtcDpta2dyb2tkdW1wIiwKKy0gICAgInVu aXR0ZXN0czp1bml0dGVzdHMiLAorICAgXQorIAorICAgaWYgKHY4X2VuYWJsZV93ZWJhc3NlbWJs eSkgeworLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Rldi9udWxs CitAQCAtMCwwICsxLDM5IEBACisrLyoKKysgKiBBdXRvZ2VuZXJhdGVkIGJ5IHRoZSBNZXNvbiBi dWlsZCBzeXN0ZW0uCisrICogRG8gbm90IGVkaXQsIHlvdXIgY2hhbmdlcyB3aWxsIGJlIGxvc3Qu CisrICovCisrCisrI3ByYWdtYSBvbmNlCisrCisrI2RlZmluZSBBUkNIX0FBUkNINjQgMAorKwor KyNkZWZpbmUgQVJDSF9BUk0gMAorKworKyNkZWZpbmUgQVJDSF9QUEM2NExFIDEKKysKKysjZGVm aW5lIEFSQ0hfWDg2IDAKKysKKysjZGVmaW5lIEFSQ0hfWDg2XzMyIDAKKysKKysjZGVmaW5lIEFS Q0hfWDg2XzY0IDAKKysKKysjZGVmaW5lIENPTkZJR18xNkJQQyAxCisrCisrI2RlZmluZSBDT05G SUdfOEJQQyAxCisrCisrLy8gI2RlZmluZSBDT05GSUdfTE9HIDEgLS0gTG9nZ2luZyBpcyBjb250 cm9sbGVkIGJ5IENocm9taXVtCisrCisrI2RlZmluZSBFTkRJQU5ORVNTX0JJRyAwCisrCisrI2Rl ZmluZSBIQVZFX0FTTSAxCisrCisrI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQorKworKyNk ZWZpbmUgSEFWRV9ETFNZTSAxCisrCisrI2RlZmluZSBIQVZFX0dFVEFVWFZBTCAxCisrCisrI2Rl ZmluZSBIQVZFX1BPU0lYX01FTUFMSUdOIDEKKysKKysjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQor KworLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJz bC9iYXNlL2ludGVybmFsL3Vuc2NhbGVkY3ljbGVjbG9jay5oCisrKysgYi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2Jhc2UvaW50ZXJuYWwvdW5zY2Fs ZWRjeWNsZWNsb2NrLmgKK0BAIC00Niw3ICs0Niw3IEBACisgCisgLy8gVGhlIGZvbGxvd2luZyBw bGF0Zm9ybXMgaGF2ZSBhbiBpbXBsZW1lbnRhdGlvbiBvZiBhIGhhcmR3YXJlIGNvdW50ZXIuCisg I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X2FhcmNoNjRfXykgfHwgXAorLSAgZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgZGVmaW5lZChfX3Bw Y19fKSB8fCBcCisrICAoKGRlZmluZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19wcGNfXykp ICYmIGRlZmluZWQoX19HTElCQ19fKSkgfHwgXAorICAgZGVmaW5lZChfTV9JWDg2KSB8fCBkZWZp bmVkKF9NX1g2NCkKKyAjZGVmaW5lIEFCU0xfSEFWRV9VTlNDQUxFRF9DWUNMRUNMT0NLX0lNUExF TUVOVEFUSU9OIDEKKyAjZWxzZQorLS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3Bh cnR5L2Fic2VpbC1jcHAvYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9jb25maWcu aAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJz bC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9jb25maWcuaAorQEAgLTU5LDcgKzU5LDcg QEAKKyAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisgI2Rl ZmluZSBBQlNMX1NUQUNLVFJBQ0VfSU5MX0hFQURFUiBcCisgICAiYWJzbC9kZWJ1Z2dpbmcvaW50 ZXJuYWwvc3RhY2t0cmFjZV94ODYtaW5sLmluYyIKKy0jZWxpZiBkZWZpbmVkKF9fcHBjX18pIHx8 IGRlZmluZWQoX19QUENfXykKKysjZWxpZiBkZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19Q UENfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCisgI2RlZmluZSBBQlNMX1NUQUNLVFJBQ0VfSU5M X0hFQURFUiBcCisgICAiYWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9wb3dlcnBj LWlubC5pbmMiCisgI2VsaWYgZGVmaW5lZChfX2FhcmNoNjRfXykKKy0tLSBhL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9h bGxvY19jb25maWcuaAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvYWxsb2NhdG9y L3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oCitAQCAtMTAwLDcg KzEwMCw4IEBAIHN0YXRpY19hc3NlcnQoc2l6ZW9mKHZvaWQqKSAhPSA4LCAiIik7CisgLy8gUFVU X1JFRl9DT1VOVF9JTl9QUkVWSU9VU19TTE9UIGRvZXMuIEluIHRoaXMgY2FzZSB0aGUgcmVmY291 bnQgb3ZlcmxhcHMgd2l0aAorIC8vIHRoZSBuZXh0IHBvaW50ZXIgc2hhZG93IGZvciB0aGUgc21h bGxlc3QgYnVja2V0LgorICNpZiAhKGRlZmluZWQoT1NfTUFDKSAmJiBkZWZpbmVkKEFSQ0hfQ1BV X0FSTTY0KSkgJiYgXAorLSAgICAhQlVJTERGTEFHKFBVVF9SRUZfQ09VTlRfSU5fUFJFVklPVVNf U0xPVCkKKysgICAgIUJVSUxERkxBRyhQVVRfUkVGX0NPVU5UX0lOX1BSRVZJT1VTX1NMT1QpICYm IFwKKysgICAgKCFkZWZpbmVkKF9fR0xJQkMpICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pKQor ICNkZWZpbmUgUEFfSEFTX0ZSRUVMSVNUX0hBUkRFTklORworICNlbmRpZgorIAorLS0tIGEvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2Rvd25sb2FkX25hY2xfdG9vbGNoYWlucy5weQorKysr IGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2Rvd25sb2FkX25hY2xfdG9vbGNoYWlucy5w eQorQEAgLTEzLDYgKzEzLDggQEAgaW1wb3J0IHN5cworIAorIAorIGRlZiBNYWluKGFyZ3MpOgor KyAgaWYgJ2Rpc2FibGVfbmFjbD0xJyBpbiBvcy5lbnZpcm9uLmdldCgnR1lQX0RFRklORVMnLCAn Jyk6CisrICAgIHJldHVybiAwCisgICBzY3JpcHRfZGlyID0gb3MucGF0aC5kaXJuYW1lKG9zLnBh dGguYWJzcGF0aChfX2ZpbGVfXykpCisgICBzcmNfZGlyID0gb3MucGF0aC5kaXJuYW1lKHNjcmlw dF9kaXIpCisgICBuYWNsX2RpciA9IG9zLnBhdGguam9pbihzcmNfZGlyLCAnbmF0aXZlX2NsaWVu dCcpCistLS0gYS9zcmMvM3JkcGFydHkvY2hyb21pdW0vY2hyb21lL2luc3RhbGxlci9saW51eC9C VUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Nocm9tZS9pbnN0YWxsZXIvbGlu dXgvQlVJTEQuZ24KK0BAIC0xMDAsOCArMTAwLDYgQEAgcGFja2FnaW5nX2ZpbGVzID0gcGFja2Fn aW5nX2ZpbGVzX2JpbmFyaQorICAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIveGRn LW1pbWUiLAorICAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIveGRnLXNldHRpbmdz IiwKKyAgICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL2xvY2FsZXMvZW4tVVMucGFr IiwKKy0gICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL01FSVByZWxvYWQvbWFuaWZl c3QuanNvbiIsCistICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci9NRUlQcmVsb2Fk L3ByZWxvYWRlZF9kYXRhLnBiIiwKKyAgICAgICAgICAgICAgICAgICBdCisgCisgYWN0aW9uX2Zv cmVhY2goImNhbGN1bGF0ZV9kZWJfZGVwZW5kZW5jaWVzIikgeworQEAgLTMyMSw3ICszMTksNiBA QCBncm91cCgiaW5zdGFsbGVyX2RlcHMiKSB7CisgICAgICI6dGhlbWVfZmlsZXMiLAorICAgICAi Ly9jaHJvbWUiLAorICAgICAiLy9jaHJvbWU6cGFja2VkX3Jlc291cmNlcyIsCistICAgICIvL2No cm9tZS9icm93c2VyL3Jlc291cmNlcy9tZWRpYS9tZWlfcHJlbG9hZDpjb21wb25lbnQiLAorICAg ICAiLy9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwOmNocm9tZV9jcmFzaHBhZF9oYW5kbGVyIiwK KyAgICAgIi8vc2FuZGJveC9saW51eDpjaHJvbWVfc2FuZGJveCIsCisgICBdCistLS0gL2Rldi9u dWxsCisrKysgYi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zeXN0ZW1faGVh ZGVycy9wcGM2NF9saW51eF9zeXNjYWxscy5oCitAQCAtMCwwICsxLDEyIEBACisrLy8gQ29weXJp Z2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8g VXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5z ZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisrI2lmbmRl ZiBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZU0NBTExTX0hfCisr I2RlZmluZSBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQQzY0X0xJTlVYX1NZU0NBTExT X0hfCisrCisrI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4KKysKKysvL1RPRE86IGlzIGl0IG5lY2Vz c2FyeSB0byByZWRlZmluZSBzeXNjYWxsIG51bWJlcnMgZm9yIFBQQzY0PworKworKyNlbmRpZiAg Ly8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9TWVNDQUxMU19IXwor LS0tIC9kZXYvbnVsbAorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfdWNvbnRleHQuaAorQEAgLTAsMCArMSwxMiBAQAor Ky8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0 eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgor KworKyNpZm5kZWYgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9VQ09O VEVYVF9IXworKyNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5V WF9VQ09OVEVYVF9IXworKworKyNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4KKysKKysvL1RPRE86 IGlzIGl0IG5lY2Vzc2FyeSB0byByZWRlZmluZSB1Y29udGV4dCBvbiBQUEM2ND8KKysKKysjZW5k aWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhfVUNPTlRFWFRf SF8KKy0tLSBhL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC91dGlsL25ldC9odHRwX3RyYW5zcG9ydF9saWJjdXJsLmNjCisrKysgYi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9uZXQvaHR0cF90 cmFuc3BvcnRfbGliY3VybC5jYworQEAgLTIzNiw2ICsyMzYsMTIgQEAgc3RkOjpzdHJpbmcgVXNl ckFnZW50KCkgeworICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfQklHX0VORElBTikKKyAgICAgc3Rh dGljIGNvbnN0ZXhwciBjaGFyIGFyY2hbXSA9ICJhYXJjaDY0X2JlIjsKKyAjZW5kaWYKKysjZWxp ZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCisrI2lmIGRlZmluZWQoQVJDSF9DUFVfTElUVExFX0VO RElBTikKKysgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGFyY2hbXSA9ICJwcGM2NGxlIjsKKysj ZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX0JJR19FTkRJQU4pCisrICAgIHN0YXRpYyBjb25zdGV4cHIg Y2hhciBhcmNoW10gPSAicHBjNjQiOworKyNlbmRpZgorICNlbHNlCisgI2Vycm9yIFBvcnQKKyAj ZW5kaWYKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9w YXJ0eS9kYXYxZC9jb25maWcvbGludXgvcHBjNjQvY29uZmlnLmgKK0BAIC0wLDAgKzEsMzkgQEAK KysvKgorKyAqIEF1dG9nZW5lcmF0ZWQgYnkgdGhlIE1lc29uIGJ1aWxkIHN5c3RlbS4KKysgKiBE byBub3QgZWRpdCwgeW91ciBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4KKysgKi8KKysKKysjcHJhZ21h IG9uY2UKKysKKysjZGVmaW5lIEFSQ0hfQUFSQ0g2NCAwCisrCisrI2RlZmluZSBBUkNIX0FSTSAw CisrCisrI2RlZmluZSBBUkNIX1BQQzY0TEUgMQorKworKyNkZWZpbmUgQVJDSF9YODYgMAorKwor KyNkZWZpbmUgQVJDSF9YODZfMzIgMAorKworKyNkZWZpbmUgQVJDSF9YODZfNjQgMAorKworKyNk ZWZpbmUgQ09ORklHXzE2QlBDIDEKKysKKysjZGVmaW5lIENPTkZJR184QlBDIDEKKysKKysvLyAj ZGVmaW5lIENPTkZJR19MT0cgMSAtLSBMb2dnaW5nIGlzIGNvbnRyb2xsZWQgYnkgQ2hyb21pdW0K KysKKysjZGVmaW5lIEVORElBTk5FU1NfQklHIDAKKysKKysjZGVmaW5lIEhBVkVfQVNNIDEKKysK KysjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCisrCisrI2RlZmluZSBIQVZFX0RMU1lNIDEK KysKKysjZGVmaW5lIEhBVkVfR0VUQVVYVkFMIDEKKysKKysjZGVmaW5lIEhBVkVfUE9TSVhfTUVN QUxJR04gMQorKworKyNkZWZpbmUgSEFWRV9VTklTVERfSCAxCisrCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAzLXh4eC1wcGM2NGxlLXN3aWZ0c2hhZGVyLnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMy14eHgtcHBjNjRsZS1zd2lm dHNoYWRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjFh OGNkODM2OGRhMQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzA5MDMteHh4LXBwYzY0bGUtc3dpZnRzaGFkZXIucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAor LS0tIGEvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJk X3BhcnR5L2xsdm0tMTAuMC9CVUlMRC5nbgorKysrIGIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9CVUlMRC5nbgorQEAg LTU3Niw2ICs1NzYsNyBAQCBzd2lmdHNoYWRlcl9sbHZtX3NvdXJjZV9zZXQoInN3aWZ0c2hhZGVy CisgICAgICJsbHZtL2xpYi9NQy9NQ0FzbUluZm9DT0ZGLmNwcCIsCisgICAgICJsbHZtL2xpYi9N Qy9NQ0FzbUluZm9EYXJ3aW4uY3BwIiwKKyAgICAgImxsdm0vbGliL01DL01DQXNtSW5mb0VMRi5j cHAiLAorKyAgICAibGx2bS9saWIvTUMvTUNBc21JbmZvWENPRkYuY3BwIiwKKyAgICAgImxsdm0v bGliL01DL01DQXNtTWFjcm8uY3BwIiwKKyAgICAgImxsdm0vbGliL01DL01DQXNtU3RyZWFtZXIu Y3BwIiwKKyAgICAgImxsdm0vbGliL01DL01DQXNzZW1ibGVyLmNwcCIsCitAQCAtNjMxLDYgKzYz Miw3IEBAIHN3aWZ0c2hhZGVyX2xsdm1fc291cmNlX3NldCgic3dpZnRzaGFkZXIKKyAgICAgImxs dm0vbGliL01DL01DV2luQ09GRlN0cmVhbWVyLmNwcCIsCisgICAgICJsbHZtL2xpYi9NQy9NQ1dp bkVILmNwcCIsCisgICAgICJsbHZtL2xpYi9NQy9NQ1hDT0ZGU3RyZWFtZXIuY3BwIiwKKysgICAg Imxsdm0vbGliL01DL01DWENPRkZPYmplY3RUYXJnZXRXcml0ZXIuY3BwIiwKKyAgICAgImxsdm0v bGliL01DL01hY2hPYmplY3RXcml0ZXIuY3BwIiwKKyAgICAgImxsdm0vbGliL01DL1N0cmluZ1Rh YmxlQnVpbGRlci5jcHAiLAorICAgICAibGx2bS9saWIvTUMvU3VidGFyZ2V0RmVhdHVyZS5jcHAi LApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvY3Jvc3MtYnVpbGQt ZXhhbXBsZXMucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy9jcm9zcy1idWls ZC1leGFtcGxlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjQ1OTg2NDNjYzBkYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzL2Nyb3NzLWJ1aWxkLWV4YW1wbGVzLnBhdGNoCkBAIC0wLDAgKzEsMTYgQEAKKy0tLSBh L2V4YW1wbGVzL0NNYWtlTGlzdHMudHh0CisrKysgYi9leGFtcGxlcy9DTWFrZUxpc3RzLnR4dAor QEAgLTEsNyArMSw2IEBACisgY21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDMuMTYpCisg CisgcXRfZXhhbXBsZXNfYnVpbGRfYmVnaW4oRVhURVJOQUxfQlVJTEQpCistaWYoTk9UIENNQUtF X0NST1NTQ09NUElMSU5HKSAjUVRCVUctODY1MzMKKyAgICAgaWYoVEFSR0VUIFF0OjpXZWJFbmdp bmVDb3JlKQorICAgICAgICAgYWRkX3N1YmRpcmVjdG9yeSh3ZWJlbmdpbmVxdWljaykKKyAgICAg ZW5kaWYoKQorQEAgLTE0LDUgKzEzLDQgQEAgaWYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HKSAj UVRCVUctODY1MworICAgICBpZihUQVJHRVQgUXQ6OlBkZldpZGdldHMpCisgICAgICAgICBhZGRf c3ViZGlyZWN0b3J5KHBkZndpZGdldHMpCisgICAgIGVuZGlmKCkKKy1lbmRpZigpCisgcXRfZXhh bXBsZXNfYnVpbGRfZW5kKCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1w bGF0ZSBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLjJmMGRlMmM3YWRmNgotLS0gL2Rldi9udWxsCisrKyBiL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQpAQCAtMCwwICsxLDE3OCBAQAorIyBUZW1wbGF0 ZSBmaWxlIGZvciAncXQ2LXdlYmVuZ2luZScKK3BrZ25hbWU9cXQ2LXdlYmVuZ2luZQordmVyc2lv bj02LjMuMQorcmV2aXNpb249MQord3Jrc3JjPSJxdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy0k e3ZlcnNpb259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxE X1RPT0xTX1dIRU5fQ1JPU1NDT01QSUxJTkc9dHJ1ZQorIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVf c3lzdGVtX2ZmbXBlZz1PTgorIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVfc3lzdGVtX2xpYmV2ZW50 PU9OCisgLURRVF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1fZ249T04KKyAtRFFUX0ZFQVRVUkVf d2ViZW5naW5lX3N5c3RlbV9pY3U9T04KKyAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3dlYnJ0Y19w aXBld2lyZT1PTgorIC1ETmluamFfRVhFQ1VUQUJMRT0kWEJQU19XUkFQUEVSRElSL25pbmphCisg JCh2b3B0X2Jvb2wgZXhhbXBsZXMgUVRfQlVJTERfRVhBTVBMRVMpCisgLURQS0dfQ09ORklHX0hP U1RfRVhFQ1VUQUJMRT0ke1BLR19DT05GSUdfRk9SX0JVSUxEfSIKK2hvc3RtYWtlZGVwZW5kcz0i cXQ2LWJhc2UtZGV2ZWwgcGVybCBwa2ctY29uZmlnIG5vZGVqcyBweXRob24zLWh0bWw1bGliCisg cXQ2LWRlY2xhcmF0aXZlLWRldmVsIHByb3RvYnVmIGdwZXJmIGZsZXggbnNzLWRldmVsIGxpYndl YnAtZGV2ZWwKKyBpY3UtZGV2ZWwgbGliZXZlbnQtZGV2ZWwiCittYWtlZGVwZW5kcz0icXQ2LWJh c2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIHB1bHNlYXVkaW8tZGV2ZWwKKyBxdDYtdG9v bHMtZGV2ZWwgcXQ2LXdlYnNvY2tldHMtZGV2ZWwgbGliZmxhYy1kZXZlbAorIGFsc2EtbGliLWRl dmVsIGxpYnZweC1kZXZlbCBwY2l1dGlscy1kZXZlbCBvcHVzLWRldmVsIGxpYnhzbHQtZGV2ZWwK KyBsaWJ4bWwyLWRldmVsIGZyZWV0eXBlLWRldmVsIGxjbXMyLWRldmVsIGxpYndlYnAtZGV2ZWwg aWN1LWRldmVsCisgcmUyLWRldmVsIHpsaWItZGV2ZWwgbGlicG5nLWRldmVsIG1pbml6aXAtZGV2 ZWwgaGFyZmJ1enotZGV2ZWwKKyBuc3MtZGV2ZWwgbGliWGN1cnNvci1kZXZlbCBsaWJYY29tcG9z aXRlLWRldmVsIGxpYlhTY3JuU2F2ZXItZGV2ZWwKKyBwcm90b2J1Zi1kZXZlbCBmZm1wZWctZGV2 ZWwgc25hcHB5LWRldmVsIGxpYmV2ZW50LWRldmVsIHBpcGV3aXJlLWRldmVsCisgbGlieGtiZmls ZS1kZXZlbCBxdDYtbG9jYXRpb24tZGV2ZWwgcXQ2LXdlYmNoYW5uZWwtZGV2ZWwgbGlieHNobWZl bmNlLWRldmVsIgorIyBOb3Qgd29ya2luZyBwcm9wZXJseSB3aXRoIEhUVFBTIHdpdGhvdXQgdGhv c2UgcGFja2FnZXMKKyMgTm90IHN0cmljdCBkZXBlbmRlbmNpZXMsIHRob3VnaAorZGVwZW5kcz0i cXQ2LXBsdWdpbi10bHMtb3BlbnNzbCBxdDYtcGx1Z2luLXRscy1xY2VydG9ubHkiCitzaG9ydF9k ZXNjPSJDcm9zcy1wbGF0Zm9ybSBhcHBsaWNhdGlvbiBhbmQgVUkgZnJhbWV3b3JrIC0gV2ViZW5n aW5lIgorbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKK2xpY2Vuc2U9IkdQ TC0zLjAtb25seSwgR1BMLTIuMC1vbmx5LCBMR1BMLTMuMC1vbmx5IEJTRC0zLUNsYXVzZSIKK2hv bWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKK2Rpc3RmaWxlcz0iaHR0cHM6Ly9kb3dubG9hZC5x dC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9k dWxlcy9xdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKK2NoZWNr c3VtPWFkN2EzM2IyMWE5NTZkZWRhMzdjNTg3ZDUwZjgyMWNhMzgxNjQwM2FlMzFiYTliNWQ1OWQw MTU2MWFkNjZlNDcKKworaWYgWyAteiAiJENST1NTX0JVSUxEIiBdO3RoZW4KKwljb25maWd1cmVf YXJncys9IiAtRENNQUtFX1RPT0xDSEFJTl9GSUxFPS91c3IvbGliL2NtYWtlL1F0Ni9xdC50b29s Y2hhaW4uY21ha2UiCitmaQorCitpZiBbICIkWEJQU19MSUJDIiA9ICJtdXNsIiBdOyB0aGVuCisJ aG9zdG1ha2VkZXBlbmRzKz0iIG11c2wtbGVnYWN5LWNvbXBhdCIKK2ZpCisKK2lmIFsgIiRYQlBT X1RBUkdFVF9MSUJDIiA9ICJtdXNsIiBdOyB0aGVuCisJbWFrZWRlcGVuZHMrPSIgbXVzbC1sZWdh Y3ktY29tcGF0IgorZmkKKworaWYgWyAhICIkWEJQU19XT1JEU0laRSIgPSAiJFhCUFNfVEFSR0VU X1dPUkRTSVpFIiBdOyB0aGVuCisJYnJva2VuPSJ3ZWJlbmdpbmUgY2FuIGJlIGJ1aWx0IG9ubHkg aWYgd29yZCBzaXplIG1hdGNoZXMiCitmaQorCitpZiBbICIkWEJQU19XT1JEU0laRSIgLWVxIDMy IF07IHRoZW4KKwlub2RlYnVnPXllcworCUxERkxBR1M9Ii1XbCwtLW5vLWtlZXAtbWVtb3J5Igor ZmkKKworaWYgWyAiJFhCUFNfVEFSR0VUX0VORElBTiIgIT0gImxlIiBdOyB0aGVuCisJYnJva2Vu PSJ3ZWJlbmdpbmUgb25seSBzdXBwb3J0cyBsaXR0bGUgZW5kaWFuIgorZmkKKworYnVpbGRfb3B0 aW9ucz0ic25kaW8gZXhhbXBsZXMiCitidWlsZF9vcHRpb25zX2RlZmF1bHQ9IiIKK2Rlc2Nfb3B0 aW9uX2V4YW1wbGVzPSJCdWlsZCBleGFtcGxlcyIKK2Rlc2Nfb3B0aW9uX3NuZGlvPSJFbmFibGUg c3VwcG9ydCBmb3Igc25kaW8iCisKK3N1YnBhY2thZ2VzPSJxdDYtd2ViZW5naW5lLWRldmVsIgor CitpZiBbICIkYnVpbGRfb3B0aW9uX2V4YW1wbGVzIiBdOyB0aGVuCisJc3VicGFja2FnZXMrPSIg cXQ2LXdlYmVuZ2luZS1leGFtcGxlcyIKK2ZpCisKK19ib290c3RyYXBfZ24oKSB7CisJIyBCb290 c3RyYXAgZ24gKGdlbmVyYXRlIG5pbmphKQorCWVjaG8gIkJvb3RzdHJhcHBpbmcgJ2duJyIKKwlj ZCAke3dya3NyY30vc3JjLzNyZHBhcnR5L2duCisJQ0ZMQUdTPSIkQ0ZMQUdTX2hvc3QiIENYWEZM QUdTPSIkQ1hYRkxBR1NfaG9zdCIgTERGTEFHUz0iJExERkxBR1NfaG9zdCIgXAorCVBLR0NPTkZJ Rz0vdXNyL2Jpbi9wa2djb25maWcgUEtHX0NPTkZJR19QQVRIPSIvdXNyL2xpYi9wa2djb25maWc6 L3Vzci9zaGFyZS9wa2djb25maWciIFwKKwkJcHl0aG9uMyBidWlsZC9nZW4ucHkgLS1uby1sYXN0 LWNvbW1pdC1wb3NpdGlvbiAtLW91dC1wYXRoIFwKKwkJCSR7d3Jrc3JjfS9zcmMvM3JkcGFydHkv Z24vb3V0L1JlbGVhc2UgLS1jYyAiJHtDQ19ob3N0Oi0kQ0N9IiBcCisJCQktLWN4eCAiJHtDWFhf aG9zdDotJENYWH0iIC0tbGQgIiR7Q1hYX2hvc3Q6LSRDWFh9IiAtLWFyICIke0FSX2hvc3Q6LSRB Un0iIFwKKwkJCS0tcXQtdmVyc2lvbiAiJHt2ZXJzaW9ufS5xdHdlYmVuZ2luZS5xdC5pbyIKKwlu aW5qYSAtQyBvdXQvUmVsZWFzZSBnbgorCWNkICR7d3Jrc3JjfQorfQorCitfdW5idW5kbGVfbGli cygpIHsKKwljZCAke3dya3NyY30vc3JjLzNyZHBhcnR5L2Nocm9taXVtCisJZWNobyBEcm9wcGlu ZyBidW5kbGVkIGxpYnMgZnJvbSBjaHJvbWl1bQorCSMgVXNlIHN5c3RlbS1wcm92aWRlZCBsaWJy YXJpZXMuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX2h1bnNwZWxsICh1cHN0cmVhbSBjaGFuZ2VzIG5l ZWRlZCkuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX2xpYnNydHAuCisJIyBUT0RPOiB1c2Vfc3lzdGVt X2xpYnVzYiAoaHR0cDovL2NyYnVnLmNvbS8yNjYxNDkpLgorCSMgVE9ETzogdXNlX3N5c3RlbV9z c2wgKGh0dHA6Ly9jcmJ1Zy5jb20vNTgwODcpLgorCSMgVE9ETzogdXNlX3N5c3RlbV9zcWxpdGUg KGh0dHA6Ly9jcmJ1Zy5jb20vMjIyMDgpLgorCSMgVE9ETzogdXNlX3N5c3RlbV9pY3UgKHNlZ2Zh dWx0cykKKwkjIHVzZV9zeXN0ZW1fcHJvdG9idWYKKwkjIHVzZV9zeXN0ZW1fdjg9MQorCSMgdXNl X3N5c3RlbV96bGliPTEKKwkjIGJ6aXAyIGpzb25jcHAgbWluaXppcCB4ZGdfdXRpbHMgc3BlZXgK KwlzeXN0ZW09IgorCQlmZm1wZWcKKwkJZmxhYworCQlmb250Y29uZmlnCisJCWZyZWV0eXBlCisJ CWhhcmZidXp6LW5nCisJCWljdQorCQlsaWJkcm0KKwkJbGliZXZlbnQKKwkJbGlianBlZworCQls aWJwbmcKKwkJbGlid2VicAorCQlsaWJ4bWwKKwkJbGlieHNsdAorCQlvcHVzCisJCXJlMgorCQlz bmFwcHkKKwkiCisJYnVpbGQvbGludXgvdW5idW5kbGUvcmVwbGFjZV9nbl9maWxlcy5weSAtLXN5 c3RlbS1saWJyYXJpZXMgJHtzeXN0ZW19Cit9CisKKyMgUHJvdmlkZSBhIHdyYXBwZXIgdG8gcnVu IC4veGJwcy1zcmMgLWogMSBidWlsZCBsYXRlcgorX3dyYXBfbmluamEoKSB7CisJY2F0IDw8LSdf RU9GJyA+IiRYQlBTX1dSQVBQRVJESVIiL25pbmphCisJIyEvYmluL3NoCisKKwlleGVjIC91c3Iv YmluL25pbmphICROSU5KQUZMQUdTICIkQCIKKwlfRU9GCisJY2htb2QgK3ggIiRYQlBTX1dSQVBQ RVJESVIiL25pbmphCit9CisKK3ByZV9jb25maWd1cmUoKSB7CisJX2Jvb3RzdHJhcF9nbgorCSMg X3VuYnVuZGxlX2xpYnMKKwlfd3JhcF9uaW5qYQorCWV4cG9ydCBQQVRIPSIkUEFUSDoke3dya3Ny Y30vc3JjLzNyZHBhcnR5L2duL291dC9SZWxlYXNlIgorfQorCitwcmVfYnVpbGQoKSB7CisJZXhw b3J0IFBBVEg9IiRQQVRIOiR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2UiCisJ ZXhwb3J0IE5JTkpBRkxBR1M9IiRtYWtlam9icyIKKworfQorCitwcmVfaW5zdGFsbCgpIHsKKwll eHBvcnQgUEFUSD0iJFBBVEg6JHt3cmtzcmN9L3NyYy8zcmRwYXJ0eS9nbi9vdXQvUmVsZWFzZSIK K30KKworcG9zdF9pbnN0YWxsKCkgeworCWxvY2FsIF9maWxlCisJZmluZCAiJHtERVNURElSfSIv dXNyL2xpYi9xdDYvZXhhbXBsZXMgXAorCQktcGF0aCAnKi9saWIvcXQ2LyoqL2xpYi9xdDYvKicg LXR5cGUgZiB8CisJd2hpbGUgcmVhZCBfZmlsZTsgZG8KKwkJbXYgIiRfZmlsZSIgIiR7X2ZpbGUl L2xpYi9xdDYvKn0iCisJZG9uZQorfQorCitxdDYtd2ViZW5naW5lLWRldmVsX3BhY2thZ2UoKSB7 CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni13ZWJj aGFubmVsLWRldmVsPj0ke3ZlcnNpb259XzEKKwkgcXQ2LWRlY2xhcmF0aXZlLWRldmVsPj0ke3Zl cnNpb259XzEgcXQ2LWxvY2F0aW9uLWRldmVsPj0ke3ZlcnNpb259XzEiCisJc2hvcnRfZGVzYys9 IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3IvaW5j bHVkZQorCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJ CXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJdm1v dmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCX0KK30K KworcXQ2LXdlYmVuZ2luZS1leGFtcGxlc19wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIgLSBz YW1wbGUgYnJvd3NlcnMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9saWIvcXQ2L2V4 YW1wbGVzCisJfQorfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3VwZGF0ZSBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi44NDQ1NTI0NjUyMjIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvdXBkYXRlCkBAIC0wLDAgKzEgQEAKK3BrZ25hbWU9IiR7cGtnbmFtZS82LS99 LWV2ZXJ5d2hlcmUtc3JjIgoKRnJvbSBlODI5YjdkM2ZlNWQyM2RiZTJkZTk4NWFhNjM3NjhlOTZh MDNkYjM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1D Mz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdt YWlsLmNvbT4KRGF0ZTogU3VuLCAxNCBBdWcgMjAyMiAxODo0NTowNyArMDcwMApTdWJqZWN0OiBb UEFUQ0ggMjcvMjldIGZpeHVwISBxdDYtYmFzZQoKLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3RlbXBs YXRlIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZQppbmRl eCA2ODM1OThmNzcwN2QuLjA0OTk4NzA0ZGE4YyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtYmFz ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRlCkBAIC04MCw2ICs4MCw3 IEBAIGRvX2NoZWNrKCkgewogCSMgVW5rbm93biBwbGF0Zm9ybSBsaW51eC1nKysgOi8KIAlmYWls aW5nX3Rlc3RzKz0iIG1vY2twbHVnaW5zIHRlc3RfaW1wb3J0X3BsdWdpbnMKIAkJdGVzdF9zdGF0 aWNfcmVzb3VyY2VzIHRlc3RfZ2VuZXJhdGluZ19jcHBfZXhwb3J0cyIKKwlmYWlsaW5nX3Rlc3Rz Kz0iIHRzdF9xc3RvcmFnZWluZm8iCiAJbG9jYWwgY3Rlc3RfZXhjbHVkZT0iKCIKIAlmb3IgZmFp bHVyZSBpbiAkZmFpbGluZ190ZXN0czsgZG8KIAkJY3Rlc3RfZXhjbHVkZSs9IiRmYWlsdXJlfCIK CkZyb20gYjViZTQzOWIwZmY3ZTc2NzEzN2YzYzhkZDRhNDczYWY2ZGQ3ZGY0NSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9 QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IFN1 biwgMTQgQXVnIDIwMjIgMjA6MzM6NTQgKzA3MDAKU3ViamVjdDogW1BBVENIIDI4LzI5XSBmaXh1 cCEgcXQ2LWNoYXJ0cwoKLS0tCiBzcmNwa2dzL3F0Ni1jaGFydHMvcGF0Y2hlcy9uby1jbWFrZS10 ZXN0LnBhdGNoIHwgMTAgKysrKysrKysrKwogc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRlICAg ICAgICAgICAgICAgICAgICB8ICA0ICsrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LWNoYXJ0cy9wYXRjaGVzL25vLWNt YWtlLXRlc3QucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1jaGFydHMvcGF0Y2hlcy9u by1jbWFrZS10ZXN0LnBhdGNoIGIvc3JjcGtncy9xdDYtY2hhcnRzL3BhdGNoZXMvbm8tY21ha2Ut dGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjY4ODYy ODI5NzJjZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LWNoYXJ0cy9wYXRjaGVzL25v LWNtYWtlLXRlc3QucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIGEvdGVzdHMvYXV0by9DTWFr ZUxpc3RzLnR4dAorKysrIGIvdGVzdHMvYXV0by9DTWFrZUxpc3RzLnR4dAorQEAgLTIzLDcgKzIz LDYgQEAgYWRkX3N1YmRpcmVjdG9yeShxY2F0ZWdvcnlheGlzKQorIGFkZF9zdWJkaXJlY3Rvcnko cWJhcmNhdGVnb3J5YXhpcykKKyBhZGRfc3ViZGlyZWN0b3J5KHFsZWdlbmQpCisgYWRkX3N1YmRp cmVjdG9yeShxYXJlYXNlcmllcykKKy1hZGRfc3ViZGlyZWN0b3J5KGNtYWtlKQorIGFkZF9zdWJk aXJlY3RvcnkocWNhbmRsZXN0aWNrbW9kZWxtYXBwZXIpCisgYWRkX3N1YmRpcmVjdG9yeShxY2Fu ZGxlc3RpY2tzZXJpZXMpCisgYWRkX3N1YmRpcmVjdG9yeShxY2FuZGxlc3RpY2tzZXQpCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1jaGFydHMv dGVtcGxhdGUKaW5kZXggZDM5NDdiYTkzOGYzLi5lZDBhNzE0YTVkZmIgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1jaGFydHMvdGVtcGxh dGUKQEAgLTEzLDYgKzEzLDEwIEBAIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y2hhcnRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0udGFyLnh6IgogY2hlY2tzdW09ZjMzMGNjMjMyODcyOTEwNGQ3OWIyMDg4OTkwY2UwODQwZjJk YTg5ZDlkOTg5MzYwZDRjMzUyZTc5N2QyN2NmNwogCitwcmVfY2hlY2soKSB7CisJZXhwb3J0IFFN TDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGliL3F0Ni9xbWwiCit9CisKIHF0Ni1jaGFy dHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1f JHtyZXZpc2lvbn0iCiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgoKRnJvbSBl NTkwYjU0MWQ4OWYwNDUxNGY5YTBhNTlhNWViMzE0ZTc1MGZkNzBlIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBD PUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogU3VuLCAxNCBB dWcgMjAyMiAyMDo0ODowMCArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjkvMjldIGZpeHVwISBxdDYt Y29ubmVjdAoKLS0tCiBzcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkvcGF0Y2hlcy9uby1jbWFrZS10 ZXN0LnBhdGNoIHwgOSArKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1jb25uZWN0aXZpdHkvcGF0Y2hlcy9uby1j bWFrZS10ZXN0LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3Bh dGNoZXMvbm8tY21ha2UtdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS9wYXRj aGVzL25vLWNtYWtlLXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5kZWI4MDA2MmFjNzEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1jb25u ZWN0aXZpdHkvcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoCkBAIC0wLDAgKzEsOSBAQAorLS0t IGEvdGVzdHMvYXV0by9DTWFrZUxpc3RzLnR4dAorKysrIGIvdGVzdHMvYXV0by9DTWFrZUxpc3Rz LnR4dAorQEAgLTI0LDYgKzI0LDMgQEAgaWYoVEFSR0VUIFF0OjpOZmMpCisgICAgIGFkZF9zdWJk aXJlY3RvcnkocW5kZWZuZmNzbWFydHBvc3RlcnJlY29yZCkKKyAgICAgYWRkX3N1YmRpcmVjdG9y eShxbmRlZmZpbHRlcikKKyBlbmRpZigpCistaWYoVEFSR0VUIFF0OjpCbHVldG9vdGggQU5EIFRB UkdFVCBRdDo6TmZjKQorLSAgICBhZGRfc3ViZGlyZWN0b3J5KGNtYWtlKQorLWVuZGlmKCkK --===============1598920377874504978==--