From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 25938 invoked from network); 24 Jan 2021 21:41:08 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 24 Jan 2021 21:41:08 -0000 Content-Type: multipart/mixed; boundary="===============5829969724211793058==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BWIP=5D_polkit=3A_update_to_0=2E118=2E?= To: ml@inbox.vuxu.org From: ericonr Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 24 Jan 2021 22:41:08 +0100 List-Id: Message-ID: <20210124214108.tTik6W1kBU9azooGzkygHKRS1Bu2RELBN5lvguxFDM8@z> GitHub notification mails are now in MIME to allow UTF8. --===============5829969724211793058== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZXJpY29uciBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZXJp Y29uci92b2lkLXBhY2thZ2VzIHBvbGtpdApodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92 b2lkLXBhY2thZ2VzL3B1bGwvMjgxOTkKCltXSVBdIHBvbGtpdDogdXBkYXRlIHRvIDAuMTE4Lgo8 IS0tIE1hcmsgaXRlbXMgd2l0aCBbeF0gd2hlcmUgYXBwbGljYWJsZSAtLT4NCg0KIyMjIyBHZW5l cmFsDQotIFsgXSBUaGlzIGlzIGEgbmV3IHBhY2thZ2UgYW5kIGl0IGNvbmZvcm1zIHRvIHRoZSBb cXVhbGl0eSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvYmxvYi9tYXN0ZXIvTWFudWFsLm1kI3F1YWxpdHktcmVxdWlyZW1lbnRzKQ0KDQoj IyMjIEhhdmUgdGhlIHJlc3VsdHMgb2YgdGhlIHByb3Bvc2VkIGNoYW5nZXMgYmVlbiB0ZXN0ZWQ/ DQotIFsgXSBJIHVzZSB0aGUgcGFja2FnZXMgYWZmZWN0ZWQgYnkgdGhlIHByb3Bvc2VkIGNoYW5n ZXMgb24gYSByZWd1bGFyIGJhc2lzIGFuZCBjb25maXJtIHRoaXMgUFIgd29ya3MgZm9yIG1lDQot IFsgXSBJIGdlbmVyYWxseSBkb24ndCB1c2UgdGhlIGFmZmVjdGVkIHBhY2thZ2VzIGJ1dCBicmll Zmx5IHRlc3RlZCB0aGlzIFBSDQoNCjwhLS0NCklmIEdpdEh1YiBDSSBjYW5ub3QgYmUgdXNlZCB0 byB2YWxpZGF0ZSB0aGUgYnVpbGQgcmVzdWx0IChmb3IgZXhhbXBsZSwgaWYgdGhlDQpidWlsZCBp cyBsaWtlbHkgdG8gdGFrZSBzZXZlcmFsIGhvdXJzKSwgbWFrZSBzdXJlIHRvDQpbc2tpcCBDSV0o aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9D T05UUklCVVRJTkcubWQjY29udGludW91cy1pbnRlZ3JhdGlvbikuDQpXaGVuIHNraXBwaW5nIENJ LCB1bmNvbW1lbnQgYW5kIGZpbGwgb3V0IHRoZSBmb2xsb3dpbmcgc2VjdGlvbi4NCk5vdGU6IGZv ciBidWlsZHMgdGhhdCBhcmUgbGlrZWx5IHRvIGNvbXBsZXRlIGluIGxlc3MgdGhhbiAyIGhvdXJz LCBpdCBpcyBub3QNCmFjY2VwdGFibGUgdG8gc2tpcCBDSS4NCi0tPg0KPCEtLSANCiMjIyMgRG9l cyBpdCBidWlsZCBhbmQgcnVuIHN1Y2Nlc3NmdWxseT8gDQooUGxlYXNlIGNob29zZSBhdCBsZWFz dCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3Mg YnVpbGQuIE1vcmUgYXJlIGJldHRlci4pDQotIFsgXSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBm b3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKEFSQ0gtTElCQykNCi0gWyBdIEkgYnVpbHQgdGhp cyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsg Y3Jvc3NidWlsZHMpOg0KICAtIFsgXSBhYXJjaDY0LW11c2wNCiAgLSBbIF0gYXJtdjdsDQogIC0g WyBdIGFybXY2bC1tdXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzI4MTk5LnBhdGNoIGlzIGF0dGFjaGVk --===============5829969724211793058== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-polkit-28199.patch" RnJvbSBmMDYzMGIxYTE3YWU5YjM0MTMzZWY1OGU3MTgwNGU3NjVlNzgyMWQwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUMzPTg5cmljbz0yMFJvbGltPz0gPGVyaWNv LmVyY0BnbWFpbC5jb20+CkRhdGU6IFN1biwgMjQgSmFuIDIwMjEgMTg6MzE6NTEgLTAzMDAKU3Vi amVjdDogW1BBVENIIDEvMl0gcG9sa2l0OiB1cGRhdGUgdG8gMC4xMTguCgotLS0KIHNyY3BrZ3Mv cG9sa2l0L3RlbXBsYXRlIHwgMjEgKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNyBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L3BvbGtpdC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcG9sa2l0L3RlbXBsYXRlCmluZGV4IDA2ODE0NDlh MGQ5Li4zY2QyYTY2NTc1NCAxMDA2NDQKLS0tIGEvc3JjcGtncy9wb2xraXQvdGVtcGxhdGUKKysr IGIvc3JjcGtncy9wb2xraXQvdGVtcGxhdGUKQEAgLTEsMjMgKzEsMjMgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ3BvbGtpdCcKIHBrZ25hbWU9cG9sa2l0Ci12ZXJzaW9uPTAuMTE2Ci1yZXZpc2lv bj0zCit2ZXJzaW9uPTAuMTE4CityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJl Ci1idWlsZF9oZWxwZXI9ImdpciIKK2J1aWxkX2hlbHBlcj1naXIKIGNvbmZpZ3VyZV9hcmdzPSIk KHZvcHRfZW5hYmxlIGdpciBpbnRyb3NwZWN0aW9uKSAtZGlzYWJsZS1zdGF0aWMKLSAtLXdpdGgt YXV0aGZ3PXBhbSAgLS13aXRoLW9zLXR5cGU9dm9pZCAtLXdpdGgtbW96anM9bW96anMtNjAuMCIK KyAtLXdpdGgtYXV0aGZ3PXBhbSAgLS13aXRoLW9zLXR5cGU9dm9pZCIKIG1ha2VfZGlycz0iCiAg L2V0Yy9wb2xraXQtMS9ydWxlcy5kIDA3MDAgcG9sa2l0ZCBwb2xraXRkCiAgL3Vzci9zaGFyZS9w b2xraXQtMS9ydWxlcy5kIDA3MDAgcG9sa2l0ZCBwb2xraXRkIgogaG9zdG1ha2VkZXBlbmRzPSJh dXRvY29uZi1hcmNoaXZlIGF1dG9tYWtlIGdldHRleHQtZGV2ZWwgZ2xpYi1kZXZlbAogIGdvYmpl Y3QtaW50cm9zcGVjdGlvbiBndGstZG9jIGludGx0b29sIGxpYnRvb2wgcGtnLWNvbmZpZyIKLW1h a2VkZXBlbmRzPSJlbG9naW5kLWRldmVsIG1vempzNjAtZGV2ZWwgcGFtLWRldmVsIgorbWFrZWRl cGVuZHM9ImVsb2dpbmQtZGV2ZWwgbW96anM3OC1kZXZlbCBwYW0tZGV2ZWwiCiBzaG9ydF9kZXNj PSJBdXRob3JpemF0aW9uIFRvb2xraXQiCiBtYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94 QHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJo dHRwczovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9wb2xraXQiCiBkaXN0Zmls ZXM9IiR7RlJFRURFU0tUT1BfU0lURX0vJHtwa2duYW1lfS9yZWxlYXNlcy8ke3BrZ25hbWV9LSR7 dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09ODgxNzBjOWU3MTFlOGRiMzA1YTEyZmRiODIzNGZh YzU3MDZjNjE5NjliOTRlMDg0ZDBmMTE3ZDhlYzVkMzRiMQorY2hlY2tzdW09NmQ1NGU5ODRlNzA3 MjMzOWYwZDMxNDcxNzllMTZlMzRlNWZlMDcwNTE1OGYyNTlhNzY1ZDc3MmRjZjc4OTU2Ygogc3lz dGVtX2FjY291bnRzPSJwb2xraXRkIgogI3JlcGxhY2VzPSJwb2xraXQtZWxvZ2luZD49MCIKICNw cm92aWRlcz0icG9sa2l0LWVsb2dpbmQtJHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKQEAgLTI5LDE0 ICsyOSw3IEBAIGJ1aWxkX29wdGlvbnNfZGVmYXVsdD0iZ2lyIgogcHJlX2NvbmZpZ3VyZSgpIHsK IAlhdXRvcmVjb25mIC1maQogCSMgRHJvcCByZXF1aXJlbWVudCBvZiAvc3lzL2ZzL2Nncm91cC9z eXN0ZW1kIHRlc3QgaW4gY29uZmlndXJlLi4uIFdURi4KLQlzZWQgLWUgJ3MsL3N5cy9mcy9jZ3Jv dXAvc3lzdGVtZC8sL3N5cy9mcy9jZ3JvdXAsZycgLWkgY29uZmlndXJlCi19Ci0KLXBvc3RfY29u ZmlndXJlKCkgewotCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgotCQlzZWQgLWUgInMjLWlu Y2x1ZGUgXCgvdXNyL2luY2x1ZGUvbW96anMtNTIvanMvUmVxdWlyZWREZWZpbmVzXC5oXCkjLWlu Y2x1ZGUgJHtYQlBTX0NST1NTX0JBU0V9XDEjIiBcCi0JCQktaSAkKGZpbmQgLW5hbWUgTWFrZWZp bGUpCi0JZmkKKwl2c2VkIC1lICdzLC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQvLC9zeXMvZnMvY2dy b3VwLGcnIC1pIGNvbmZpZ3VyZQogfQogCiBwb3N0X2luc3RhbGwoKSB7CgpGcm9tIGY5ZGNiN2U1 ODViZDMzZTYzZjBlYmRmNjU0MDdmMWUwOTU4YzQ2NDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ID0/VVRGLTg/cT89QzM9ODlyaWNvPTIwUm9saW0/PSA8ZXJpY28uZXJjQGdtYWlsLmNv bT4KRGF0ZTogU3VuLCAyNCBKYW4gMjAyMSAxODo0MDo1MSAtMDMwMApTdWJqZWN0OiBbUEFUQ0gg Mi8yXSBtb3pqczYwOiByZW1vdmUgcGFja2FnZS4KCi0tLQogY29tbW9uL3NobGlicyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxIC0KIHNyY3BrZ3MvbW96anM2MC1kZXZlbCAg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCiAuLi4vMDAwMS1zaWxlbmNlLXNhbmRib3gt dmlvbGF0aW9ucy5wYXRjaCAgICAgfCAgMzAgLQogLi4ubmQtcmVzdG9yZS1ub24tdm9sYXRpbGUt eDI4LW9uLWFybTY0LnBhdGNoIHwgIDY0IC0tLQogLi4uLWNsb2JiZXJpbmctaXQtaW4tdGhlLXJl Z2V4LWNvbXBpbGVyLnBhdGNoIHwgIDk3IC0tLS0KIC4uLi9tb3pqczYwL3BhdGNoZXMvMDAwNC1m aXgtc29uYW1lLWxpYi5wYXRjaCB8ICAzMCAtCiAuLi4vbW96anM2MC9wYXRjaGVzLzAwMDUtZml4 LW11c2wtYnVpbGQucGF0Y2ggfCAgMTYgLQogc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwNi1l bmRpYW5uZXNzLnBhdGNoIHwgMTI3IC0tLS0tCiAuLi4vcGF0Y2hlcy8wMDA3LWpzcHJvcGVydHkt ZW5kaWFuLnBhdGNoICAgICAgfCAgMjIgLQogLi4uL21vempzNjAvcGF0Y2hlcy8wMDA4LWNvcHkt aGVhZGVycy5wYXRjaCAgIHwgIDMwIC0KIC4uLi9tb3pqczYwL3BhdGNoZXMvMDAwOS1taXBzLXNn aWRlZnNfaC5wYXRjaCB8ICAxMSAtCiBzcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDEwLW1pcHMt TElSLnBhdGNoICAgfCA1MTEgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vcGF0Y2hlcy8wMDExLW1p cHMtbWFjcm9hc3NlbWJsZXIucGF0Y2ggICAgfCAgMjcgLQogLi4uLzAwMTItbW96anM2MC5wYy1o b25vci1zeXNyb290LnBhdGNoICAgICAgIHwgIDEzIC0KIHNyY3BrZ3MvbW96anM2MC90ZW1wbGF0 ZSAgICAgICAgICAgICAgICAgICAgICB8ICA2OSAtLS0KIHNyY3BrZ3MvbW96anM2MC91cGRhdGUg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCiBzcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMv dGVtcGxhdGUgICAgICAgICAgICAgfCAgIDEgKwogMTcgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEwNTAgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMjAwMDAgc3JjcGtncy9tb3pq czYwLWRldmVsCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAw MS1zaWxlbmNlLXNhbmRib3gtdmlvbGF0aW9ucy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDItc2F2ZS1hbmQtcmVzdG9yZS1ub24tdm9sYXRpbGUt eDI4LW9uLWFybTY0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczYwL3Bh dGNoZXMvMDAwMy1zYXZlLXgyOC1iZWZvcmUtY2xvYmJlcmluZy1pdC1pbi10aGUtcmVnZXgtY29t cGlsZXIucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vempzNjAvcGF0Y2hlcy8w MDA0LWZpeC1zb25hbWUtbGliLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pq czYwL3BhdGNoZXMvMDAwNS1maXgtbXVzbC1idWlsZC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDYtZW5kaWFubmVzcy5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDctanNwcm9wZXJ0eS1lbmRpYW4u cGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA4LWNv cHktaGVhZGVycy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbW96anM2MC9wYXRj aGVzLzAwMDktbWlwcy1zZ2lkZWZzX2gucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L21vempzNjAvcGF0Y2hlcy8wMDEwLW1pcHMtTElSLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQg c3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMS1taXBzLW1hY3JvYXNzZW1ibGVyLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAxMi1tb3pqczYwLnBj LWhvbm9yLXN5c3Jvb3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vempzNjAv dGVtcGxhdGUKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL21vempzNjAvdXBkYXRlCgpkaWZm IC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggOTc5ZGFlZGRiZjEu LjMzMDg1ZTExYzQ1IDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1vbi9zaGxp YnMKQEAgLTM1MTksNyArMzUxOSw2IEBAIGxpYm1heG1pbmRkYi5zby4wIGxpYm1heG1pbmRkYi0x LjMuMl8xCiBsaWJteXNxbHBwLnNvLjMgbXlzcWwrKy0zLjIuNV8xCiBsaWJLRjVTeW5kaWNhdGlv bi5zby41IHN5bmRpY2F0aW9uLTUuNTAuMF8xCiBsaWJscXItMS5zby4wIGxpYmxxci0wLjQuMl8x Ci1saWJtb3pqcy02MC5zby4wIG1vempzNjAtNjAuMC4yXzEKIGxpYm1vempzLTY4LnNvLjAgbW96 anM2OC02OC44LjBfMQogbGlibW96anMtNzguc28uMCBtb3pqczc4LTc4LjEuMF8xCiBsaWJlYnVy MTI4LnNvLjEgbGliZWJ1cjEyOC0xLjIuNF8xCmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempzNjAt ZGV2ZWwgYi9zcmNwa2dzL21vempzNjAtZGV2ZWwKZGVsZXRlZCBmaWxlIG1vZGUgMTIwMDAwCmlu ZGV4IDQ2MjYxYjQzZGJlLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAtZGV2ZWwK KysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1tb3pqczYwClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwMS1zaWxlbmNl LXNhbmRib3gtdmlvbGF0aW9ucy5wYXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDEt c2lsZW5jZS1zYW5kYm94LXZpb2xhdGlvbnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDkxODIwMjY3MTgyLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0 Y2hlcy8wMDAxLXNpbGVuY2Utc2FuZGJveC12aW9sYXRpb25zLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMzAgKzAsMCBAQAotVXBzdHJlYW06IG5vCi1Gcm9tIDlhZDEwNTY5ZTExYTJmYjk2Mzc3 MTg4Zjg5NWJjNjZhYmNjOTUxMWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXJj LUFudG9pbmUgUGVyZW5ub3UgPE1hcmMtQW50b2luZUBQZXJlbm5vdS5jb20+Ci1EYXRlOiBXZWQs IDUgU2VwIDIwMTggMTU6MDU6MjQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gc2lsZW5jZSBzYW5k Ym94IHZpb2xhdGlvbnMKLQotU2lnbmVkLW9mZi1ieTogTWFyYy1BbnRvaW5lIFBlcmVubm91IDxN YXJjLUFudG9pbmVAUGVyZW5ub3UuY29tPgotLS0tCi0gcHl0aG9uL21vemJ1aWxkL21vemJ1aWxk L2Zyb250ZW5kL2VtaXR0ZXIucHkgfCA1IC0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvZnJvbnRlbmQv ZW1pdHRlci5weSBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9mcm9udGVuZC9lbWl0dGVyLnB5 Ci1pbmRleCA2NDJiMzgxYzAuLmMzN2ZiZjVkMCAxMDA2NDQKLS0tLSBhL3B5dGhvbi9tb3pidWls ZC9tb3pidWlsZC9mcm9udGVuZC9lbWl0dGVyLnB5Ci0rKysgYi9weXRob24vbW96YnVpbGQvbW96 YnVpbGQvZnJvbnRlbmQvZW1pdHRlci5weQotQEAgLTExMjcsMTEgKzExMjcsNiBAQCBjbGFzcyBU cmVlTWV0YWRhdGFFbWl0dGVyKExvZ2dpbmdNaXhpbik6Ci0gICAgICAgICAgICAgICAgIHJhaXNl IFNhbmRib3hWYWxpZGF0aW9uRXJyb3IoJ1BhdGggc3BlY2lmaWVkIGluIExPQ0FMX0lOQ0xVREVT ICcKLSAgICAgICAgICAgICAgICAgICAgICdkb2VzIG5vdCBleGlzdDogJXMgKHJlc29sdmVkIHRv ICVzKScgJSAobG9jYWxfaW5jbHVkZSwKLSAgICAgICAgICAgICAgICAgICAgIGZ1bGxfcGF0aCks IGNvbnRleHQpCi0tICAgICAgICAgICAgaWYgKGZ1bGxfcGF0aCA9PSBjb250ZXh0LmNvbmZpZy50 b3BzcmNkaXIgb3IKLS0gICAgICAgICAgICAgICAgICAgIGZ1bGxfcGF0aCA9PSBjb250ZXh0LmNv bmZpZy50b3BvYmpkaXIpOgotLSAgICAgICAgICAgICAgICByYWlzZSBTYW5kYm94VmFsaWRhdGlv bkVycm9yKCdQYXRoIHNwZWNpZmllZCBpbiBMT0NBTF9JTkNMVURFUyAnCi0tICAgICAgICAgICAg ICAgICAgICAnaXMgbm90IGFsbG93ZWQ6ICVzIChyZXNvbHZlZCB0byAlcyknICUgKGxvY2FsX2lu Y2x1ZGUsCi0tICAgICAgICAgICAgICAgICAgICBmdWxsX3BhdGgpLCBjb250ZXh0KQotICAgICAg ICAgICAgIGluY2x1ZGVfb2JqID0gTG9jYWxJbmNsdWRlKGNvbnRleHQsIGxvY2FsX2luY2x1ZGUp Ci0gICAgICAgICAgICAgbG9jYWxfaW5jbHVkZXMuYXBwZW5kKGluY2x1ZGVfb2JqLnBhdGguZnVs bF9wYXRoKQotICAgICAgICAgICAgIHlpZWxkIGluY2x1ZGVfb2JqCi0tLSAKLTIuMTguMAotCmRp ZmYgLS1naXQgYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDAyLXNhdmUtYW5kLXJlc3RvcmUt bm9uLXZvbGF0aWxlLXgyOC1vbi1hcm02NC5wYXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVz LzAwMDItc2F2ZS1hbmQtcmVzdG9yZS1ub24tdm9sYXRpbGUteDI4LW9uLWFybTY0LnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NmQyODBkMDZhZS4uMDAwMDAwMDAwMDAKLS0t IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwMi1zYXZlLWFuZC1yZXN0b3JlLW5vbi12b2xh dGlsZS14Mjgtb24tYXJtNjQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBACi0j IEhHIGNoYW5nZXNldCBwYXRjaAotIyBVc2VyIExhcnMgVCBIYW5zZW4gPGxoYW5zZW5AbW96aWxs YS5jb20+Ci0jIERhdGUgMTUxOTgyMjY3MiAtMzYwMAotIyBOb2RlIElEIDgwMGFiZTY2ODk0ZDZi MDdiMjRiY2NlY2JmNmE2NWUyMjYxMDc2ZjYKLSMgUGFyZW50ICAyMjNjOTc0NTllOTYxODNlYjYx NmFlZDM5MTQ3MjA3YmRiOTUzYmE4Ci1CdWcgMTM3NTA3NCAtIFNhdmUgYW5kIHJlc3RvcmUgbm9u LXZvbGF0aWxlIHgyOCBvbiBBUk02NCBmb3IgZ2VuZXJhdGVkIHVuYm94ZWQgb2JqZWN0IGNvbnN0 cnVjdG9yLiAgcj1zc3RhbmdsCi0KLU9yaWdpbjogdXBzdHJlYW0KLUFwcGxpZWQtdXBzdHJlYW06 IDYxLCBjb21taXQ6IGh0dHBzOi8vaGcubW96aWxsYS5vcmcvbW96aWxsYS1jZW50cmFsL3Jldi84 MDBhYmU2Njg5NGQKLS0tLQotIGpzL3NyYy92bS9VbmJveGVkT2JqZWN0LmNwcCB8IDMwICsrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25z KCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvanMvc3JjL3ZtL1VuYm94ZWRPYmpl Y3QuY3BwIGIvanMvc3JjL3ZtL1VuYm94ZWRPYmplY3QuY3BwCi1pbmRleCAzNWNhMjBkNzQwNWYu LjFjMjBhMTA5M2QxMyAxMDA2NDQKLS0tLSBhL2pzL3NyYy92bS9VbmJveGVkT2JqZWN0LmNwcAot KysrIGIvanMvc3JjL3ZtL1VuYm94ZWRPYmplY3QuY3BwCi1AQCAtODYsOSArODYsMTYgQEAgc3Rh dGljIGNvbnN0IHVpbnRwdHJfdCBDTEVBUl9DT05TVFJVQ1RPUl9DT0RFX1RPS0VOID0gMHgxOwot ICNlbmRpZgotCi0gI2lmZGVmIEpTX0NPREVHRU5fQVJNNjQKLS0gIC8vIEFSTTY0IGNvbW11bmlj YXRlcyBzdGFjayBhZGRyZXNzIHZpYSBzcCwgYnV0IHVzZXMgYSBwc2V1ZG8tc3AgZm9yCi0tICAv LyBhZGRyZXNzaW5nLgotLSAgbWFzbS5pbml0U3RhY2tQdHIoKTsKLSsgICAgLy8gQVJNNjQgY29t bXVuaWNhdGVzIHN0YWNrIGFkZHJlc3MgdmlhIHNwLCBidXQgdXNlcyBhIHBzZXVkby1zcCAoUFNQ KSBmb3IKLSsgICAgLy8gYWRkcmVzc2luZy4gIFRoZSByZWdpc3RlciB3ZSB1c2UgZm9yIFBTUCBt YXkgaG93ZXZlciBhbHNvIGJlIHVzZWQgYnkKLSsgICAgLy8gY2FsbGluZyBjb2RlLCBhbmQgaXQg aXMgbm9udm9sYXRpbGUsIHNvIHNhdmUgaXQuICBEbyB0aGlzIGFzIGEgc3BlY2lhbAotKyAgICAv LyBjYXNlIGZpcnN0IGJlY2F1c2UgdGhlIGdlbmVyaWMgc2F2ZS9yZXN0b3JlIGNvZGUgbmVlZHMg dGhlIFBTUCB0byBiZQotKyAgICAvLyBpbml0aWFsaXplZCBhbHJlYWR5LgotKyAgICBNT1pfQVNT RVJUKFBzZXVkb1N0YWNrUG9pbnRlcjY0LklzKG1hc20uR2V0U3RhY2tQb2ludGVyNjQoKSkpOwot KyAgICBtYXNtLlN0cihQc2V1ZG9TdGFja1BvaW50ZXI2NCwgdml4bDo6TWVtT3BlcmFuZChzcCwg LTE2LCB2aXhsOjpQcmVJbmRleCkpOwotKwotKyAgICAvLyBJbml0aWFsaXplIHRoZSBQU1AgZnJv bSB0aGUgU1AuCi0rICAgIG1hc20uaW5pdFN0YWNrUHRyKCk7Ci0gI2VuZGlmCi0KLSAgIE1PWl9B U1NFUlQocHJvcGVydGllc1JlZy52b2xhdGlsZV8oKSk7Ci1AQCAtMjM5LDcgKzI0NiwyMiBAQCBz dGF0aWMgY29uc3QgdWludHB0cl90IENMRUFSX0NPTlNUUlVDVE9SX0NPREVfVE9LRU4gPSAweDE7 Ci0gICBpZiAoU2NyYXRjaERvdWJsZVJlZy52b2xhdGlsZV8oKSkgbWFzbS5wb3AoU2NyYXRjaERv dWJsZVJlZyk7Ci0gICBtYXNtLlBvcFJlZ3NJbk1hc2soc2F2ZWROb25Wb2xhdGlsZVJlZ2lzdGVy cyk7Ci0KLS0gIG1hc20uYWJpcmV0KCk7Ci0rI2lmZGVmIEpTX0NPREVHRU5fQVJNNjQKLSsgICAg Ly8gTm93IHJlc3RvcmUgdGhlIHZhbHVlIHRoYXQgd2FzIGluIHRoZSBQU1AgcmVnaXN0ZXIgb24g ZW50cnksIGFuZCByZXR1cm4uCi0rCi0rICAgIC8vIE9idGFpbiB0aGUgY29ycmVjdCBTUCBmcm9t IHRoZSBQU1AuCi0rICAgIG1hc20uTW92KHNwLCBQc2V1ZG9TdGFja1BvaW50ZXI2NCk7Ci0rCi0r ICAgIC8vIFJlc3RvcmUgdGhlIHNhdmVkIHZhbHVlIG9mIHRoZSBQU1AgcmVnaXN0ZXIsIHRoaXMg dmFsdWUgaXMgd2hhdGV2ZXIgdGhlCi0rICAgIC8vIGNhbGxlciBoYWQgc2F2ZWQgaW4gaXQsIG5v dCBhbnkgYWN0dWFsIFNQIHZhbHVlLCBhbmQgaXQgbXVzdCBub3QgYmUKLSsgICAgLy8gb3Zlcndy aXR0ZW4gc3Vic2VxdWVudGx5LgotKyAgICBtYXNtLkxkcihQc2V1ZG9TdGFja1BvaW50ZXI2NCwg dml4bDo6TWVtT3BlcmFuZChzcCwgMTYsIHZpeGw6OlBvc3RJbmRleCkpOwotKwotKyAgICAvLyBQ ZXJmb3JtIGEgcGxhaW4gUmV0KCksIGFzIGFiaXJldCgpIHdpbGwgbW92ZSBTUCA8LSBQU1AgYW5k IHRoYXQgaXMgd3JvbmcuCi0rICAgIG1hc20uUmV0KHZpeGw6OmxyKTsKLSsjZWxzZQotKyAgICBt YXNtLmFiaXJldCgpOwotKyNlbmRpZgotCi0gICBtYXNtLmJpbmQoJmZhaWx1cmVTdG9yZU90aGVy KTsKLQotLS0KLTIuMjEuMAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8w MDAzLXNhdmUteDI4LWJlZm9yZS1jbG9iYmVyaW5nLWl0LWluLXRoZS1yZWdleC1jb21waWxlci5w YXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDMtc2F2ZS14MjgtYmVmb3JlLWNsb2Ji ZXJpbmctaXQtaW4tdGhlLXJlZ2V4LWNvbXBpbGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAzODg2YzBlOWIyMS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYw L3BhdGNoZXMvMDAwMy1zYXZlLXgyOC1iZWZvcmUtY2xvYmJlcmluZy1pdC1pbi10aGUtcmVnZXgt Y29tcGlsZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5NyArMCwwIEBACi0jIEhHIGNoYW5n ZXNldCBwYXRjaAotIyBVc2VyIExhcnMgVCBIYW5zZW4gPGxoYW5zZW5AbW96aWxsYS5jb20+Ci0j IERhdGUgMTUyMTQ0OTg4NiAtMzYwMAotIyBOb2RlIElEIDkwM2E3OWExZWZmZjE4ZmM3Y2M1MGRi MDlhM2ZlNWQ3NjhhZGM5YTgKLSMgUGFyZW50ICA0ZDI5NTVhOWNhN2UzMGNhNGMzYWY5YzIxNGNj Yzc3ZmIyZmU3ZmI4Ci1CdWcgMTQ0NTkwNyAtIFNhdmUgeDI4IGJlZm9yZSBjbG9iYmVyaW5nIGl0 IGluIHRoZSByZWdleCBjb21waWxlci4gcj1zc3RhbmdsCi0KLU9yaWdpbjogdXBzdHJlYW0KLUFw cGxpZWQtdXBzdHJlYW06IDYxLCBjb21taXQ6IGh0dHBzOi8vaGcubW96aWxsYS5vcmcvbW96aWxs YS1jZW50cmFsL3Jldi85MDNhNzlhMWVmZmYKLS0tLQotZGlmZiAtLWdpdCBhL2pzL3NyYy9pcnJl Z2V4cC9OYXRpdmVSZWdFeHBNYWNyb0Fzc2VtYmxlci5jcHAgYi9qcy9zcmMvaXJyZWdleHAvTmF0 aXZlUmVnRXhwTWFjcm9Bc3NlbWJsZXIuY3BwCi0tLS0gYS9qcy9zcmMvaXJyZWdleHAvTmF0aXZl UmVnRXhwTWFjcm9Bc3NlbWJsZXIuY3BwCi0rKysgYi9qcy9zcmMvaXJyZWdleHAvTmF0aXZlUmVn RXhwTWFjcm9Bc3NlbWJsZXIuY3BwCi1AQCAtMTE4LDE3ICsxMTgsMjUgQEAgTmF0aXZlUmVnRXhw TWFjcm9Bc3NlbWJsZXI6OkdlbmVyYXRlQ29kZQotCi0gICAgIExhYmVsIHJldHVybl90ZW1wMDsK LQotICAgICAvLyBGaW5hbGl6ZSBjb2RlIC0gd3JpdGUgdGhlIGVudHJ5IHBvaW50IGNvZGUgbm93 IHdlIGtub3cgaG93IG1hbnkKLSAgICAgLy8gcmVnaXN0ZXJzIHdlIG5lZWQuCi0gICAgIG1hc20u YmluZCgmZW50cnlfbGFiZWxfKTsKLQotICNpZmRlZiBKU19DT0RFR0VOX0FSTTY0Ci0tICAgIC8v IEFSTTY0IGNvbW11bmljYXRlcyBzdGFjayBhZGRyZXNzIHZpYSBzcCwgYnV0IHVzZXMgYSBwc2V1 ZG8tc3AgZm9yIGFkZHJlc3NpbmcuCi0rICAgIC8vIEFSTTY0IGNvbW11bmljYXRlcyBzdGFjayBh ZGRyZXNzIHZpYSBTUCwgYnV0IHVzZXMgYSBwc2V1ZG8tc3AgKFBTUCkgZm9yCi0rICAgIC8vIGFk ZHJlc3NpbmcuICBUaGUgcmVnaXN0ZXIgd2UgdXNlIGZvciBQU1AgbWF5IGhvd2V2ZXIgYWxzbyBi ZSB1c2VkIGJ5Ci0rICAgIC8vIGNhbGxpbmcgY29kZSwgYW5kIGl0IGlzIG5vbnZvbGF0aWxlLCBz byBzYXZlIGl0LiAgRG8gdGhpcyBhcyBhIHNwZWNpYWwKLSsgICAgLy8gY2FzZSBmaXJzdCBiZWNh dXNlIHRoZSBnZW5lcmljIHNhdmUvcmVzdG9yZSBjb2RlIG5lZWRzIHRoZSBQU1AgdG8gYmUKLSsg ICAgLy8gaW5pdGlhbGl6ZWQgYWxyZWFkeS4KLSsgICAgTU9aX0FTU0VSVChQc2V1ZG9TdGFja1Bv aW50ZXI2NC5JcyhtYXNtLkdldFN0YWNrUG9pbnRlcjY0KCkpKTsKLSsgICAgbWFzbS5TdHIoUHNl dWRvU3RhY2tQb2ludGVyNjQsIHZpeGw6Ok1lbU9wZXJhbmQoc3AsIC0xNiwgdml4bDo6UHJlSW5k ZXgpKTsKLSsKLSsgICAgLy8gSW5pdGlhbGl6ZSB0aGUgUFNQIGZyb20gdGhlIFNQLgotICAgICBt YXNtLmluaXRTdGFja1B0cigpOwotICNlbmRpZgotCi0gICAgIC8vIFB1c2ggbm9uLXZvbGF0aWxl IHJlZ2lzdGVycyB3aGljaCBtaWdodCBiZSBtb2RpZmllZCBieSBqaXRjb2RlLgotICAgICBzaXpl X3QgcHVzaGVkTm9uVm9sYXRpbGVSZWdpc3RlcnMgPSAwOwotICAgICBmb3IgKEdlbmVyYWxSZWdp c3RlckZvcndhcmRJdGVyYXRvciBpdGVyKHNhdmVkTm9uVm9sYXRpbGVSZWdpc3RlcnMpOyBpdGVy Lm1vcmUoKTsgKytpdGVyKSB7Ci0gICAgICAgICBtYXNtLlB1c2goKml0ZXIpOwotICAgICAgICAg cHVzaGVkTm9uVm9sYXRpbGVSZWdpc3RlcnMrKzsKLUBAIC00MTYsMTcgKzQyNCwzMiBAQCBOYXRp dmVSZWdFeHBNYWNyb0Fzc2VtYmxlcjo6R2VuZXJhdGVDb2RlCi0gICAgIG1hc20ucG9wKHRlbXAw KTsKLSAgICAgbWFzbS5tb3ZlUHRyKHRlbXAwLCBTdGFja1BvaW50ZXIpOwotICNlbmRpZgotCi0g ICAgIC8vIFJlc3RvcmUgbm9uLXZvbGF0aWxlIHJlZ2lzdGVycyB3aGljaCB3ZXJlIHNhdmVkIG9u IGVudHJ5LgotICAgICBmb3IgKEdlbmVyYWxSZWdpc3RlckJhY2t3YXJkSXRlcmF0b3IgaXRlcihz YXZlZE5vblZvbGF0aWxlUmVnaXN0ZXJzKTsgaXRlci5tb3JlKCk7ICsraXRlcikKLSAgICAgICAg IG1hc20uUG9wKCppdGVyKTsKLQotKyNpZmRlZiBKU19DT0RFR0VOX0FSTTY0Ci0rICAgIC8vIE5v dyByZXN0b3JlIHRoZSB2YWx1ZSB0aGF0IHdhcyBpbiB0aGUgUFNQIHJlZ2lzdGVyIG9uIGVudHJ5 LCBhbmQgcmV0dXJuLgotKwotKyAgICAvLyBPYnRhaW4gdGhlIGNvcnJlY3QgU1AgZnJvbSB0aGUg UFNQLgotKyAgICBtYXNtLk1vdihzcCwgUHNldWRvU3RhY2tQb2ludGVyNjQpOwotKwotKyAgICAv LyBSZXN0b3JlIHRoZSBzYXZlZCB2YWx1ZSBvZiB0aGUgUFNQIHJlZ2lzdGVyLCB0aGlzIHZhbHVl IGlzIHdoYXRldmVyIHRoZQotKyAgICAvLyBjYWxsZXIgaGFkIHNhdmVkIGluIGl0LCBub3QgYW55 IGFjdHVhbCBTUCB2YWx1ZSwgYW5kIGl0IG11c3Qgbm90IGJlCi0rICAgIC8vIG92ZXJ3cml0dGVu IHN1YnNlcXVlbnRseS4KLSsgICAgbWFzbS5MZHIoUHNldWRvU3RhY2tQb2ludGVyNjQsIHZpeGw6 Ok1lbU9wZXJhbmQoc3AsIDE2LCB2aXhsOjpQb3N0SW5kZXgpKTsKLSsKLSsgICAgLy8gUGVyZm9y bSBhIHBsYWluIFJldCgpLCBhcyBhYmlyZXQoKSB3aWxsIG1vdmUgU1AgPC0gUFNQIGFuZCB0aGF0 IGlzIHdyb25nLgotKyAgICBtYXNtLlJldCh2aXhsOjpscik7Ci0rI2Vsc2UKLSAgICAgbWFzbS5h YmlyZXQoKTsKLSsjZW5kaWYKLQotICAgICAvLyBCYWNrdHJhY2sgY29kZSAoYnJhbmNoIHRhcmdl dCBmb3IgY29uZGl0aW9uYWwgYmFja3RyYWNrcykuCi0gICAgIGlmIChiYWNrdHJhY2tfbGFiZWxf LnVzZWQoKSkgewotICAgICAgICAgbWFzbS5iaW5kKCZiYWNrdHJhY2tfbGFiZWxfKTsKLSAgICAg ICAgIEJhY2t0cmFjaygpOwotICAgICB9Ci0KLSAgICAgLy8gQmFja3RyYWNrIHN0YWNrIG92ZXJm bG93IGNvZGUuCi1kaWZmIC0tZ2l0IGEvanMvc3JjL2ppdC10ZXN0L3Rlc3RzL3JlZ2V4cC9idWcx NDQ1OTA3LmpzIGIvanMvc3JjL2ppdC10ZXN0L3Rlc3RzL3JlZ2V4cC9idWcxNDQ1OTA3LmpzCi1u ZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIvanMvc3JjL2ppdC10ZXN0 L3Rlc3RzL3JlZ2V4cC9idWcxNDQ1OTA3LmpzCi1AQCAtMCwwICsxLDE1IEBACi0rLy8gT24gQVJN NjQsIHdlIGZhaWxlZCB0byBzYXZlIHgyOCBwcm9wZXJseSB3aGVuIGdlbmVyYXRpbmcgY29kZSBm b3IgdGhlIHJlZ2V4cAotKy8vIG1hdGNoZXIuCi0rLy8KLSsvLyBUaGVyZSdzIHdhc20gYW5kIERl YnVnZ2VyIGNvZGUgaGVyZSBiZWNhdXNlIHRoZSBjb21iaW5hdGlvbiBmb3JjZXMgdGhlIHVzZSBv ZgotKy8vIHgyOCBhbmQgZXhwb3NlcyB0aGUgYnVnIHdoZW4gcnVubmluZyBvbiB0aGUgc2ltdWxh dG9yLgotKwotK2lmICghd2FzbUlzU3VwcG9ydGVkKCkpCi0rICAgIHF1aXQoKTsKLSsKLSt2YXIg ZyA9IG5ld0dsb2JhbCgnJyk7Ci0rdmFyIGRiZyA9IG5ldyBEZWJ1Z2dlcihnKTsKLStnLmV2YWwo YHZhciBtID0gbmV3IFdlYkFzc2VtYmx5Lkluc3RhbmNlKG5ldyBXZWJBc3NlbWJseS5Nb2R1bGUo d2FzbVRleHRUb0JpbmFyeSgnKG1vZHVsZSAoZnVuYyAoZXhwb3J0ICJ0ZXN0IikpKScpKSlgKTsK LSt2YXIgcmUgPSAvLi87Ci0rZGJnLm9uRW50ZXJGcmFtZSA9IGZ1bmN0aW9uKGZyYW1lKSB7IHJl LmV4ZWMoIngiKSB9OwotK3Jlc3VsdCA9IGcuZXZhbCgibS5leHBvcnRzLnRlc3QoKSIpOwotCi0t LQotMi4yMS4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDQtZml4 LXNvbmFtZS1saWIucGF0Y2ggYi9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA0LWZpeC1zb25h bWUtbGliLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOTE0N2ZhMjBjOS4u MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAwNC1maXgtc29uYW1l LWxpYi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLVNvdXJjZTogQXJjaCBM aW51eAotVXBzdHJlYW06IFVua25vd24KLVJlYXNvbjogZml4ZXMgbGlua2luZyBhZ2FpbnN0IGxp Ym1vempzLTYwCi0KLWRpZmYgLS1naXQgaS9qcy9zcmMvYnVpbGQvTWFrZWZpbGUuaW4gdy9qcy9z cmMvYnVpbGQvTWFrZWZpbGUuaW4KLWluZGV4IGVlMTkxMDRlMGVmNS4uYTBmMDZmZDM1YTE4IDEw MDY0NAotLS0tIGkvanMvc3JjL2J1aWxkL01ha2VmaWxlLmluCi0rKysgdy9qcy9zcmMvYnVpbGQv TWFrZWZpbGUuaW4KLUBAIC04OSw2ICs4OSw4IEBAIGlmbmVxICgsJChSRUFMX0xJQlJBUlkpKQot IGVuZGlmCi0gaWZuZXEgKCwkKFNIQVJFRF9MSUJSQVJZKSkKLSAJJChTWVNJTlNUQUxMKSAkKFNI QVJFRF9MSUJSQVJZKSAkKERFU1RESVIpJChsaWJkaXIpCi0rCW12IC1mICQoREVTVERJUikkKGxp YmRpcikvJChTSEFSRURfTElCUkFSWSkgJChERVNURElSKSQobGliZGlyKS8kKFNIQVJFRF9MSUJS QVJZKS4wCi0rCWxuIC1zICQoU0hBUkVEX0xJQlJBUlkpLjAgJChERVNURElSKSQobGliZGlyKS8k KFNIQVJFRF9MSUJSQVJZKQotIGlmZXEgKCQoT1NfQVJDSCksRGFyd2luKQotIAlpbnN0YWxsX25h bWVfdG9vbCAtaWQgJChhYnNwYXRoICQobGliZGlyKS8kKFNIQVJFRF9MSUJSQVJZKSkgJChERVNU RElSKSQobGliZGlyKS8kKFNIQVJFRF9MSUJSQVJZKQotIGVuZGlmCi1kaWZmIC0tZ2l0IGkvanMv c3JjL2J1aWxkL21vei5idWlsZCB3L2pzL3NyYy9idWlsZC9tb3ouYnVpbGQKLWluZGV4IGE3ZjVm YTRjZThlYi4uNzI2Njg3YzEzZmIwIDEwMDY0NAotLS0tIGkvanMvc3JjL2J1aWxkL21vei5idWls ZAotKysrIHcvanMvc3JjL2J1aWxkL21vei5idWlsZAotQEAgLTIzLDYgKzIzLDcgQEAgaWYgbm90 IENPTkZJR1snSlNfU1RBTkRBTE9ORSddOgotIGlmIENPTkZJR1snSlNfU0hBUkVEX0xJQlJBUlkn XToKLSAgICAgR2Vja29TaGFyZWRMaWJyYXJ5KCdqcycsIGxpbmthZ2U9Tm9uZSkKLSAgICAgU0hB UkVEX0xJQlJBUllfTkFNRSA9IENPTkZJR1snSlNfTElCUkFSWV9OQU1FJ10KLSsgICAgTERGTEFH UyArPSBbJy1XbCwtc29uYW1lLGxpYnt9LnNvLjAnLmZvcm1hdChTSEFSRURfTElCUkFSWV9OQU1F KV0KLSBlbHNlOgotICAgICBMaWJyYXJ5KCdqcycpCi0gCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bW96anM2MC9wYXRjaGVzLzAwMDUtZml4LW11c2wtYnVpbGQucGF0Y2ggYi9zcmNwa2dzL21vempz NjAvcGF0Y2hlcy8wMDA1LWZpeC1tdXNsLWJ1aWxkLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBhZjM5NDY3Mzk5MC4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYw L3BhdGNoZXMvMDAwNS1maXgtbXVzbC1idWlsZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2 ICswLDAgQEAKLVVwc3RyZWFtOiBObwotUmVhc29uOiBtb3pqczYwIG1pc2NvbXBpbGVzIG9uIG11 c2wgaWYgYnVpbHQgd2l0aCBIQVZFX1RIUkVBRF9UTFNfS0VZV09SRDoKLWh0dHBzOi8vZ2l0aHVi LmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvaXNzdWVzLzI1OTgKLWRpZmYgLS1naXQgYS9q cy9zcmMvb2xkLWNvbmZpZ3VyZS5pbiBiL2pzL3NyYy9vbGQtY29uZmlndXJlLmluCi0tLS0gYS9q cy9zcmMvb2xkLWNvbmZpZ3VyZS5pbgotKysrIGIvanMvc3JjL29sZC1jb25maWd1cmUuaW4KLUBA IC0xMjcyLDYgKzEyNzIsOSBAQAotICAgICAqLWFuZHJvaWQqfCotbGludXhhbmRyb2lkKikKLSAg ICAgICA6Ci0gICAgICAgOzsKLSsgICAgKi1tdXNsKikKLSsgICAgICA6Ci0rICAgICAgOzsKLSAg ICAgKikKLSAgICAgICBBQ19ERUZJTkUoSEFWRV9USFJFQURfVExTX0tFWVdPUkQpCi0gICAgICAg OzsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDYtZW5kaWFubmVzcy5w YXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDYtZW5kaWFubmVzcy5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTYzNTJiNzRjNzAuLjAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDYtZW5kaWFubmVzcy5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDEyNyArMCwwIEBACi1CdWcgMTQ4ODU1MiAtIEVuc3VyZSBwcm9wZXIgcnVubmlu ZyBvbiA2NC1iaXQgYW5kIDMyLWJpdCBCRSBwbGF0Zm9ybXMuCi0KLUluZGV4OiBtb3pqczYwL2pz L3NyYy9nYy9NYXJraW5nLWlubC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYS9qcy9zcmMvZ2MvTWFya2lu Zy1pbmwuaAkyMDE5LTAyLTIxIDE0OjQ0OjI4LjI5Njk1MTk5MiArMDEwMAotKysrIGIvanMvc3Jj L2djL01hcmtpbmctaW5sLmgJMjAxOS0wMi0yMiAxMDoyMjo1NC42MTIxMjA2MDQgKzAxMDAKLUBA IC04MiwxMiArODIsMjggQEAKLSAgIE1PWl9BU1NFUlQoIWlzRm9yd2FyZGVkKCkpOwotICAgLy8g VGhlIGxvY2F0aW9uIG9mIG1hZ2ljXyBpcyBpbXBvcnRhbnQgYmVjYXVzZSBpdCBtdXN0IG5ldmVy IGJlIHZhbGlkIHRvIHNlZQotICAgLy8gdGhlIHZhbHVlIFJlbG9jYXRlZCB0aGVyZSBpbiBhIEdD IHRoaW5nIHRoYXQgaGFzIG5vdCBiZWVuIG1vdmVkLgotKyNpZiBNT1pfTElUVExFX0VORElBTiB8 fCBKU19CSVRTX1BFUl9XT1JEID09IDMyCi0rICAvLyBPbiAzMi1iaXQsIHRoZSBtYWdpY18gYWxp YXNlcyB3aXRoIHdoYXRldmVyIGNvbWVzIGFmdGVyIHRoZSBmaXJzdAotKyAgLy8gcG9pbnRlcjsg b24gbGl0dGxlLWVuZGlhbiA2NC1iaXQsIHRoZSBtYWdpY18gYWxpYXNlcyB3aXRoIHRoZQotKyAg Ly8gMzIgbW9zdCBzaWduaWZpY2FudCBiaXRzIG9mIHRoZSBwb2ludGVyLCB3aGljaCBhcmUgdGhl IHNlY29uZCBoYWxmLgotICAgc3RhdGljX2Fzc2VydChvZmZzZXRvZihSZWxvY2F0aW9uT3Zlcmxh eSwgbWFnaWNfKSA9PQotICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YoSlNPYmplY3QsIGdy b3VwXykgKyBzaXplb2YodWludDMyX3QpLAotICAgICAgICAgICAgICAgICAiUmVsb2NhdGlvbk92 ZXJsYXk6Om1hZ2ljXyBpcyBpbiB0aGUgd3JvbmcgbG9jYXRpb24iKTsKLSAgIHN0YXRpY19hc3Nl cnQob2Zmc2V0b2YoUmVsb2NhdGlvbk92ZXJsYXksIG1hZ2ljXykgPT0KLSAgICAgICAgICAgICAg ICAgICAgIG9mZnNldG9mKGpzOjpTaGFwZSwgYmFzZV8pICsgc2l6ZW9mKHVpbnQzMl90KSwKLSAg ICAgICAgICAgICAgICAgIlJlbG9jYXRpb25PdmVybGF5OjptYWdpY18gaXMgaW4gdGhlIHdyb25n IGxvY2F0aW9uIik7Ci0rI2VsaWYgSlNfQklUU19QRVJfV09SRCA9PSA2NAotKyAgLy8gT24gYmln LWVuZGlhbiA2NC1iaXQsIHRoZSBtYWdpY18gYWxpYXNlcyB3aXRoIHRoZSAzMiBtb3N0Ci0rICAv LyBzaWduaWZpY2FudCBiaXRzIG9mIHRoZSBwb2ludGVyLCBidXQgbm93IHRoYXQncyB0aGUgZmly c3QgaGFsZi4KLSsgIHN0YXRpY19hc3NlcnQob2Zmc2V0b2YoUmVsb2NhdGlvbk92ZXJsYXksIG1h Z2ljXykgPT0KLSsgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKEpTT2JqZWN0LCBncm91cF8p LAotKyAgICAgICAgICAgICAgICAiUmVsb2NhdGlvbk92ZXJsYXk6Om1hZ2ljXyBpcyBpbiB0aGUg d3JvbmcgbG9jYXRpb24iKTsKLSsgIHN0YXRpY19hc3NlcnQob2Zmc2V0b2YoUmVsb2NhdGlvbk92 ZXJsYXksIG1hZ2ljXykgPT0KLSsgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKGpzOjpTaGFw ZSwgYmFzZV8pLAotKyAgICAgICAgICAgICAgICAiUmVsb2NhdGlvbk92ZXJsYXk6Om1hZ2ljXyBp cyBpbiB0aGUgd3JvbmcgbG9jYXRpb24iKTsKLSsjZWxzZQotKyMgIGVycm9yICJVbmtub3duIGVu ZGlhbm5lc3Mgb3Igd29yZCBzaXplIgotKyNlbmRpZgotICAgc3RhdGljX2Fzc2VydCgKLSAgICAg ICBvZmZzZXRvZihSZWxvY2F0aW9uT3ZlcmxheSwgbWFnaWNfKSA9PSBvZmZzZXRvZihKU1N0cmlu ZywgZC51MS5sZW5ndGgpLAotICAgICAgICJSZWxvY2F0aW9uT3ZlcmxheTo6bWFnaWNfIGlzIGlu IHRoZSB3cm9uZyBsb2NhdGlvbiIpOwotSW5kZXg6IG1vempzNjAvanMvc3JjL2djL1JlbG9jYXRp b25PdmVybGF5LmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBhL2pzL3NyYy9nYy9SZWxvY2F0aW9uT3Zlcmxh eS5oCTIwMTktMDItMjEgMTQ6NDQ6MjguMjk2OTUxOTkyICswMTAwCi0rKysgYi9qcy9zcmMvZ2Mv UmVsb2NhdGlvbk92ZXJsYXkuaAkyMDE5LTAyLTIyIDEwOjE5OjQxLjgxNjgyMjIwMiArMDEwMAot QEAgLTM0LDE0ICszNCwyNSBAQAotICAgICAvKiBTZWUgY29tbWVudCBpbiBqcy9wdWJsaWMvSGVh cEFQSS5oLiAqLwotICAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgUmVsb2NhdGVkID0ganM6Omdj OjpSZWxvY2F0ZWQ7Ci0gCi0rI2lmIE1PWl9MSVRUTEVfRU5ESUFOIHx8IEpTX0JJVFNfUEVSX1dP UkQgPT0gMzIKLSAgICAgLyoKLS0gICAgICogS2VlcCB0aGUgbG93IDMyIGJpdHMgdW50b3VjaGVk LiBVc2UgdGhlbSB0byBkaXN0aW5ndWlzaCBzdHJpbmdzIGZyb20KLSsgICAgICogS2VlcCB0aGUg Zmlyc3QgMzIgYml0cyB1bnRvdWNoZWQuIFVzZSB0aGVtIHRvIGRpc3Rpbmd1aXNoIHN0cmluZ3Mg ZnJvbQotICAgICAgKiBvYmplY3RzIGluIHRoZSBudXJzZXJ5LgotICAgICAgKi8KLSAgICAgdWlu dDMyX3QgcHJlc2VydmVfOwotIAotICAgICAvKiBTZXQgdG8gUmVsb2NhdGVkIHdoZW4gbW92ZWQu ICovCi0gICAgIHVpbnQzMl90IG1hZ2ljXzsKLSsjZWxpZiBKU19CSVRTX1BFUl9XT1JEID09IDY0 Ci0rICAvKgotKyAgICogT24gYmlnLWVuZGlhbiwgd2UgbmVlZCB0byByZW9yZGVyIHRvIGtlZXAg cHJlc2VydmVfIGxpbmVkIHVwIHdpdGggdGhlCi0rICAgKiBsb3cgMzIgYml0cyBvZiB0aGUgYWxp Z25lZCBncm91cF8gcG9pbnRlciBpbiBKU09iamVjdC4KLSsgICAqLwotKyAgdWludDMyX3QgbWFn aWNfOwotKyAgdWludDMyX3QgcHJlc2VydmVfOwotKyNlbHNlCi0rIyAgZXJyb3IgIlVua25vd24g ZW5kaWFubmVzcyBvciB3b3JkIHNpemUiCi0rI2VuZGlmCi0gCi0gICAgIC8qIFRoZSBsb2NhdGlv biB8dGhpc3wgd2FzIG1vdmVkIHRvLiAqLwotICAgICBDZWxsKiBuZXdMb2NhdGlvbl87Ci1JbmRl eDogbW96anM2MC9qcy9zcmMvanNmcmllbmRhcGkuaAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEvanMvc3Jj L2pzZnJpZW5kYXBpLmgJMjAxOS0wMi0yMSAxNDo0NDoyOC40ODQ5NTEyNDUgKzAxMDAKLSsrKyBi L2pzL3NyYy9qc2ZyaWVuZGFwaS5oCTIwMTktMDItMjIgMTA6MjQ6MjUuNjYzNzc0Mzk5ICswMTAw Ci1AQCAtOSw2ICs5LDcgQEAKLSAKLSAjaW5jbHVkZSAibW96aWxsYS9BdG9taWNzLmgiCi0gI2lu Y2x1ZGUgIm1vemlsbGEvQ2FzdGluZy5oIgotKyNpbmNsdWRlICJtb3ppbGxhL0VuZGlhblV0aWxz LmgiCi0gI2luY2x1ZGUgIm1vemlsbGEvTWF5YmUuaCIKLSAjaW5jbHVkZSAibW96aWxsYS9NZW1v cnlSZXBvcnRpbmcuaCIKLSAjaW5jbHVkZSAibW96aWxsYS9VbmlxdWVQdHIuaCIKLUBAIC02NDAs OCArNjQxLDE1IEBACi0gICAgIHN0YXRpYyBjb25zdCB1aW50MzJfdCBMQVRJTjFfQ0hBUlNfQklU ID0gSlNfQklUKDYpOwotICAgICBzdGF0aWMgY29uc3QgdWludDMyX3QgRVhURVJOQUxfRkxBR1Mg ICA9IExJTkVBUl9CSVQgfCBOT05fQVRPTV9CSVQgfCBKU19CSVQoNSk7Ci0gICAgIHN0YXRpYyBj b25zdCB1aW50MzJfdCBUWVBFX0ZMQUdTX01BU0sgID0gSlNfQklUKDYpIC0gMTsKLSsjaWYgTU9a X0xJVFRMRV9FTkRJQU4gfHwgSlNfQklUU19QRVJfV09SRCA9PSAzMgotICAgICB1aW50MzJfdCBm bGFnczsKLSAgICAgdWludDMyX3QgbGVuZ3RoOwotKyNlbGlmIEpTX0JJVFNfUEVSX1dPUkQgPT0g NjQKLSsgICAgdWludDMyX3QgbGVuZ3RoOwotKyAgICB1aW50MzJfdCBmbGFnczsKLSsjZWxzZQot KyMgIGVycm9yICJVbmtub3duIGVuZGlhbm5lc3Mgb3Igd29yZCBzaXplIgotKyNlbmRpZgotICAg ICB1bmlvbiB7Ci0gICAgICAgICBjb25zdCBKUzo6TGF0aW4xQ2hhciogbm9uSW5saW5lQ2hhcnNM YXRpbjE7Ci0gICAgICAgICBjb25zdCBjaGFyMTZfdCogbm9uSW5saW5lQ2hhcnNUd29CeXRlOwot SW5kZXg6IG1vempzNjAvanMvc3JjL3ZtL1N0cmluZ1R5cGUuaAotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGEv anMvc3JjL3ZtL1N0cmluZ1R5cGUuaAkyMDE5LTAyLTIxIDE0OjQ0OjI5LjA3Mjk0ODkwNyArMDEw MAotKysrIGIvanMvc3JjL3ZtL1N0cmluZ1R5cGUuaAkyMDE5LTAyLTIyIDEwOjIxOjIwLjQ2NDQ2 OTI0NCArMDEwMAotQEAgLTcsNiArNyw3IEBACi0gI2lmbmRlZiB2bV9TdHJpbmdUeXBlX2gKLSAj ZGVmaW5lIHZtX1N0cmluZ1R5cGVfaAotIAotKyNpbmNsdWRlICJtb3ppbGxhL0VuZGlhblV0aWxz LmgiCi0gI2luY2x1ZGUgIm1vemlsbGEvTWVtb3J5UmVwb3J0aW5nLmgiCi0gI2luY2x1ZGUgIm1v emlsbGEvUG9kT3BlcmF0aW9ucy5oIgotICNpbmNsdWRlICJtb3ppbGxhL1JhbmdlLmgiCi1AQCAt MTY2LDggKzE2NywyMCBAQAotICAgICB7Ci0gICAgICAgICB1bmlvbiB7Ci0gICAgICAgICAgICAg c3RydWN0IHsKLSsjaWYgTU9aX0xJVFRMRV9FTkRJQU4gfHwgSlNfQklUU19QRVJfV09SRCA9PSAz MgotICAgICAgICAgICAgICAgICB1aW50MzJfdCAgICAgICAgICAgZmxhZ3M7ICAgICAgICAgICAg ICAgLyogSlNTdHJpbmcgKi8KLSAgICAgICAgICAgICAgICAgdWludDMyX3QgICAgICAgICAgIGxl bmd0aDsgICAgICAgICAgICAgIC8qIEpTU3RyaW5nICovCi0rI2VsaWYgSlNfQklUU19QRVJfV09S RCA9PSA2NAotKyAgICAgICAgICAgICAgICAvKgotKyAgICAgICAgICAgICAgICAgKiBPbiBiaWct ZW5kaWFuLCB3ZSBuZWVkIHRvIHJlb3JkZXIgdG8ga2VlcCBmbGFncyBsaW5lZCB1cAotKyAgICAg ICAgICAgICAgICAgKiB3aXRoIHRoZSBsb3cgMzIgYml0cyBvZiB0aGUgYWxpZ25lZCBncm91cF8g cG9pbnRlciBpbgotKyAgICAgICAgICAgICAgICAgKiBKU09iamVjdC4KLSsgICAgICAgICAgICAg ICAgICovCi0rICAgICAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aDsgLyogSlNTdHJpbmcgKi8K LSsgICAgICAgICAgICAgICAgdWludDMyX3QgZmxhZ3M7ICAvKiBKU1N0cmluZyAqLwotKyNlbHNl Ci0rIyAgZXJyb3IgIlVua25vd24gZW5kaWFubmVzcyBvciB3b3JkIHNpemUiCi0rI2VuZGlmCi0g ICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICB1aW50cHRyX3QgICAgICAgICAgICAgIGZsYXR0 ZW5EYXRhOyAgICAgICAgIC8qIEpTUm9wZSAodGVtcG9yYXJ5IHdoaWxlIGZsYXR0ZW5pbmcpICov Ci0gICAgICAgICB9IHUxOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYwL3BhdGNoZXMvMDAw Ny1qc3Byb3BlcnR5LWVuZGlhbi5wYXRjaCBiL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMDct anNwcm9wZXJ0eS1lbmRpYW4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRk MDFjMzdhYzkyLi4wMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDA3 LWpzcHJvcGVydHktZW5kaWFuLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjIgKzAsMCBAQAot QnVnIDE1NDM2NTkgLSBmaXggSlNQcm9wZXJ0eVNwZWM6OlZhbHVlV3JhcHBlciBvbiA2NC1iaXQg YmlnLWVuZGlhbiBwbGF0Zm9ybXMKLQotQWRkIHNvbWUgcGFkZGluZyB0byBtYWtlIHRoZSB1bmlv bidzIGludDMyIG1lbWJlciBjb3JyZXNwb25kIHRvIHRoZQotbG93LW9yZGVyIGJpdHMgb2YgdGhl IHN0cmluZyBtZW1iZXIuICBUaGlzIGZpeGVzIFR5cGVkQXJyYXkgdGVzdHMgb24KLXMzOTB4Lgot Ci0tLS0gYS9qcy9zcmMvanNhcGkuaAotKysrIGIvanMvc3JjL2pzYXBpLmgKLUBAIC0xNzAyLDcg KzE3MDIsMTIgQEAKLSAgICAgICAgIHVpbnRwdHJfdCAgIHR5cGU7Ci0gICAgICAgICB1bmlvbiB7 Ci0gICAgICAgICAgICAgY29uc3QgY2hhciogc3RyaW5nOwotLSAgICAgICAgICAgIGludDMyX3Qg ICAgIGludDMyOwotKyAgICAgICAgICAgIHN0cnVjdCB7Ci0rI2lmIE1PWl9CSUdfRU5ESUFOICYm IEpTX0JJVFNfUEVSX1dPUkQgPT0gNjQKLSsgICAgICAgICAgICAgICAgdWludDMyX3QgICAgcGFk ZGluZzsKLSsjZW5kaWYKLSsgICAgICAgICAgICAgICAgaW50MzJfdCAgICAgaW50MzI7Ci0rICAg ICAgICAgICAgfTsKLSAgICAgICAgIH07Ci0gICAgIH07Ci0gCmRpZmYgLS1naXQgYS9zcmNwa2dz L21vempzNjAvcGF0Y2hlcy8wMDA4LWNvcHktaGVhZGVycy5wYXRjaCBiL3NyY3BrZ3MvbW96anM2 MC9wYXRjaGVzLzAwMDgtY29weS1oZWFkZXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBhNDM2NzQxMTA2NS4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYwL3Bh dGNoZXMvMDAwOC1jb3B5LWhlYWRlcnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCww IEBACi1Gcm9tOiBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHVidW50dS5jb20+Ci1EYXRlOiBX ZWQsIDUgSnVsIDIwMTcgMjI6NDU6NTkgLTA3MDAKLVN1YmplY3Q6IGJ1aWxkOiBDb3B5IGhlYWRl cnMgb24gaW5zdGFsbCBpbnN0ZWFkIG9mIHN5bWxpbmtpbmcKLQotUGF0Y2ggcG9ydGVkIGZvcndh cmQgdG8gbW96anM1MiBieSBQaGlsaXAgQ2hpbWVudG8KLTxwaGlsaXAuY2hpbWVudG9AZ21haWwu Y29tPi4KLS0tLQotIHB5dGhvbi9tb3pidWlsZC9tb3pidWlsZC9iYWNrZW5kL3JlY3Vyc2l2ZW1h a2UucHkgfCA2ICsrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvYmFja2Vu ZC9yZWN1cnNpdmVtYWtlLnB5IGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQvcmVj dXJzaXZlbWFrZS5weQotaW5kZXggZGQ5MDIwZC4uNjkxOGVmOCAxMDA2NDQKLS0tLSBhL3B5dGhv bi9tb3pidWlsZC9tb3pidWlsZC9iYWNrZW5kL3JlY3Vyc2l2ZW1ha2UucHkKLSsrKyBiL3B5dGhv bi9tb3pidWlsZC9tb3pidWlsZC9iYWNrZW5kL3JlY3Vyc2l2ZW1ha2UucHkKLUBAIC0xNDI3LDEx ICsxNDI3LDExIEBAIGNsYXNzIFJlY3Vyc2l2ZU1ha2VCYWNrZW5kKENvbW1vbkJhY2tlbmQpOgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJXaWxkY2Fy ZHMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHRoZSBmaWxlbmFtZSBwYXJ0IG9mICIKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3JjZGlyLXJlbGF0aXZl IG9yIGFic29sdXRlIHBhdGhzLiIpCi0gCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu c3RhbGxfbWFuaWZlc3QuYWRkX3BhdHRlcm5fbGluayhiYXNlcGF0aCwgd2lsZCwgcGF0aCkKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbF9tYW5pZmVzdC5hZGRfcGF0dGVybl9j b3B5KGJhc2VwYXRoLCB3aWxkLCBwYXRoKQotICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6 Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxfbWFuaWZlc3QuYWRkX3BhdHRl cm5fbGluayhmLnNyY2RpciwgZiwgcGF0aCkKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW5zdGFsbF9tYW5pZmVzdC5hZGRfcGF0dGVybl9jb3B5KGYuc3JjZGlyLCBmLCBwYXRoKQotICAg ICAgICAgICAgICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxs X21hbmlmZXN0LmFkZF9saW5rKGYuZnVsbF9wYXRoLCBkZXN0KQotKyAgICAgICAgICAgICAgICAg ICAgICAgIGluc3RhbGxfbWFuaWZlc3QuYWRkX2NvcHkoZi5mdWxsX3BhdGgsIGRlc3QpCi0gICAg ICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICBpbnN0YWxsX21hbmlmZXN0 LmFkZF9vcHRpb25hbF9leGlzdHMoZGVzdCkKLSAgICAgICAgICAgICAgICAgICAgIGJhY2tlbmRf ZmlsZS53cml0ZSgnJXNfRklMRVMgKz0gJXNcbicgJSAoCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bW96anM2MC9wYXRjaGVzLzAwMDktbWlwcy1zZ2lkZWZzX2gucGF0Y2ggYi9zcmNwa2dzL21vempz NjAvcGF0Y2hlcy8wMDA5LW1pcHMtc2dpZGVmc19oLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBmZGQyNWM2MTY0NC4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYw L3BhdGNoZXMvMDAwOS1taXBzLXNnaWRlZnNfaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEx ICswLDAgQEAKLS0tLSBhL2pzL3NyYy9qc21hdGguY3BwCTIwMTktMDctMDMgMDI6MDg6MDYuMDAw MDAwMDAwICswMjAwCi0rKysgYi9qcy9zcmMvanNtYXRoLmNwcAkyMDE5LTExLTEwIDE5OjA0OjI2 LjEzMjU4OTA1OSArMDEwMAotQEAgLTcxLDcgKzcxLDcgQEAKLSAjZWxpZiBkZWZpbmVkKF9fczM5 MF9fKQotICNkZWZpbmUgR0VUUkFORE9NX05SIDM0OQotICNlbGlmIGRlZmluZWQoX19taXBzX18p Ci0tI2luY2x1ZGUgPHNnaWRlZnMuaD4KLSsjaW5jbHVkZSA8YXNtL3NnaWRlZnMuaD4KLSAjaWYg X01JUFNfU0lNID09IF9NSVBTX1NJTV9BQkkzMgotICNkZWZpbmUgR0VUUkFORE9NX05SIDQzNTMK LSAjZWxpZiBfTUlQU19TSU0gPT0gX01JUFNfU0lNX0FCSTY0CmRpZmYgLS1naXQgYS9zcmNwa2dz L21vempzNjAvcGF0Y2hlcy8wMDEwLW1pcHMtTElSLnBhdGNoIGIvc3JjcGtncy9tb3pqczYwL3Bh dGNoZXMvMDAxMC1taXBzLUxJUi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg NGJkYjA4YWQ2ZTIuLjAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAw MTAtbWlwcy1MSVIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MTEgKzAsMCBAQAotRnJvbTog RHJhZ2FuIE1sYWRqZW5vdmljIDxkcmFnYW4ubWxhZGplbm92aWNAcnQtcmsuY29tPgotRGF0ZTog RnJpLCA5IE1hciAyMDE4IDA3OjU4OjQzICswMTAwCi1TdWJqZWN0OiBCdWcgMTQ0NDMwMyA6IFtN SVBTXSBGaXggYnVpbGQgZmFpbHVyZXMgYWZ0ZXIgQnVnIDE0MjU1ODAgcGFydCAxNwotCi1Gcm9t IHVwc3RyZWFtLCB2aWEgZmlyZWZveC1lc3IgNjAuMi4wZXNyLTEuCi0KLVJldmlld2VkLWJ5OiBq YW5kZW0KLUJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 MTQ0NDMwMwotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdy ZXBvcnQuY2dpP2J1Zz05MDg0ODYKLUFwcGxpZWQtdXBzdHJlYW06IDYxLCBjb21taXQ6aHR0cHM6 Ly9oZy5tb3ppbGxhLm9yZy9tb3ppbGxhLWNlbnRyYWwvcmV2LzdkZTRjYTdiMDgyYQotLS0tCi0g anMvc3JjL2ppdC9taXBzLXNoYXJlZC9MSVItbWlwcy1zaGFyZWQuaCB8IDg4ICsrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCi0ganMvc3JjL2ppdC9taXBzMzIvTElSLW1pcHMzMi5oICAg ICAgICAgICB8IDI2ICsrKysrKysrLS0KLSBqcy9zcmMvaml0L21pcHM2NC9MSVItbWlwczY0Lmgg ICAgICAgICAgIHwgMzMgKysrKysrKystLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0 aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCi0KLUluZGV4OiBtb3pqcy02MC44LjAvanMvc3JjL2pp dC9taXBzLXNoYXJlZC9MSVItbWlwcy1zaGFyZWQuaAotPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIG1vempzLTYw LjguMC5vcmlnL2pzL3NyYy9qaXQvbWlwcy1zaGFyZWQvTElSLW1pcHMtc2hhcmVkLmgKLSsrKyBt b3pqcy02MC44LjAvanMvc3JjL2ppdC9taXBzLXNoYXJlZC9MSVItbWlwcy1zaGFyZWQuaAotQEAg LTE1LDcgKzE1LDEwIEBAIGNsYXNzIExXYXNtVWludDMyVG9Eb3VibGUgOiBwdWJsaWMgTEluc3QK LSAgcHVibGljOgotICAgTElSX0hFQURFUihXYXNtVWludDMyVG9Eb3VibGUpCi0gCi0tICBMV2Fz bVVpbnQzMlRvRG91YmxlKGNvbnN0IExBbGxvY2F0aW9uJiBpbnB1dCkgeyBzZXRPcGVyYW5kKDAs IGlucHV0KTsgfQotKyAgTFdhc21VaW50MzJUb0RvdWJsZShjb25zdCBMQWxsb2NhdGlvbiYgaW5w dXQpCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsKLSsgICAgc2V0 T3BlcmFuZCgwLCBpbnB1dCk7Ci0rICB9Ci0gfTsKLSAKLSAvLyBDb252ZXJ0IGEgMzItYml0IHVu c2lnbmVkIGludGVnZXIgdG8gYSBmbG9hdDMyLgotQEAgLTIzLDE1ICsyNiwxOCBAQCBjbGFzcyBM V2FzbVVpbnQzMlRvRmxvYXQzMiA6IHB1YmxpYyBMSW5zCi0gIHB1YmxpYzoKLSAgIExJUl9IRUFE RVIoV2FzbVVpbnQzMlRvRmxvYXQzMikKLSAKLS0gIExXYXNtVWludDMyVG9GbG9hdDMyKGNvbnN0 IExBbGxvY2F0aW9uJiBpbnB1dCkgeyBzZXRPcGVyYW5kKDAsIGlucHV0KTsgfQotKyAgTFdhc21V aW50MzJUb0Zsb2F0MzIoY29uc3QgTEFsbG9jYXRpb24mIGlucHV0KQotKyAgICAgIDogTEluc3Ry dWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0rICAgIHNldE9wZXJhbmQoMCwgaW5wdXQpOwot KyAgfQotIH07Ci0gCi0gY2xhc3MgTERpdkkgOiBwdWJsaWMgTEJpbmFyeU1hdGg8MT4gewotICBw dWJsaWM6Ci0gICBMSVJfSEVBREVSKERpdkkpOwotIAotLSAgTERpdkkoY29uc3QgTEFsbG9jYXRp b24mIGxocywgY29uc3QgTEFsbG9jYXRpb24mIHJocywKLS0gICAgICAgIGNvbnN0IExEZWZpbml0 aW9uJiB0ZW1wKSB7Ci0rICBMRGl2SShjb25zdCBMQWxsb2NhdGlvbiYgbGhzLCBjb25zdCBMQWxs b2NhdGlvbiYgcmhzLCBjb25zdCBMRGVmaW5pdGlvbiYgdGVtcCkKLSsgICAgICA6IExCaW5hcnlN YXRoKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgbGhzKTsKLSAgICAgc2V0T3Bl cmFuZCgxLCByaHMpOwotICAgICBzZXRUZW1wKDAsIHRlbXApOwotQEAgLTQ3LDE1ICs1MywxMyBA QCBjbGFzcyBMRGl2UG93VHdvSSA6IHB1YmxpYyBMSW5zdHJ1Y3Rpb25ICi0gICBMSVJfSEVBREVS KERpdlBvd1R3b0kpCi0gCi0gICBMRGl2UG93VHdvSShjb25zdCBMQWxsb2NhdGlvbiYgbGhzLCBp bnQzMl90IHNoaWZ0LCBjb25zdCBMRGVmaW5pdGlvbiYgdGVtcCkKLS0gICAgICA6IHNoaWZ0Xyhz aGlmdCkgewotKyAgICAgIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSwgc2hpZnRf KHNoaWZ0KSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgbGhzKTsKLSAgICAgc2V0VGVtcCgwLCB0ZW1w KTsKLSAgIH0KLSAKLSAgIGNvbnN0IExBbGxvY2F0aW9uKiBudW1lcmF0b3IoKSB7IHJldHVybiBn ZXRPcGVyYW5kKDApOyB9Ci0tCi0tICBpbnQzMl90IHNoaWZ0KCkgeyByZXR1cm4gc2hpZnRfOyB9 Ci0tCi0rICBpbnQzMl90IHNoaWZ0KCkgY29uc3QgeyByZXR1cm4gc2hpZnRfOyB9Ci0gICBNRGl2 KiBtaXIoKSBjb25zdCB7IHJldHVybiBtaXJfLT50b0RpdigpOyB9Ci0gfTsKLSAKLUBAIC02NCwx NCArNjgsMTQgQEAgY2xhc3MgTE1vZEkgOiBwdWJsaWMgTEJpbmFyeU1hdGg8MT4gewotICAgTElS X0hFQURFUihNb2RJKTsKLSAKLSAgIExNb2RJKGNvbnN0IExBbGxvY2F0aW9uJiBsaHMsIGNvbnN0 IExBbGxvY2F0aW9uJiByaHMsCi0tICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgY2FsbFRlbXAp IHsKLSsgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiBjYWxsVGVtcCkKLSsgICAgICA6IExCaW5h cnlNYXRoKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldE9wZXJhbmQoMCwgbGhzKTsKLSAgICAgc2V0 T3BlcmFuZCgxLCByaHMpOwotICAgICBzZXRUZW1wKDAsIGNhbGxUZW1wKTsKLSAgIH0KLSAKLSAg IGNvbnN0IExEZWZpbml0aW9uKiBjYWxsVGVtcCgpIHsgcmV0dXJuIGdldFRlbXAoMCk7IH0KLS0K LSAgIE1Nb2QqIG1pcigpIGNvbnN0IHsgcmV0dXJuIG1pcl8tPnRvTW9kKCk7IH0KLSB9OwotIAot QEAgLTgwLDEyICs4NCwxMyBAQCBjbGFzcyBMTW9kUG93VHdvSSA6IHB1YmxpYyBMSW5zdHJ1Y3Rp b25ICi0gCi0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIoTW9kUG93VHdvSSk7Ci0tICBpbnQzMl90 IHNoaWZ0KCkgeyByZXR1cm4gc2hpZnRfOyB9Ci0gCi0tICBMTW9kUG93VHdvSShjb25zdCBMQWxs b2NhdGlvbiYgbGhzLCBpbnQzMl90IHNoaWZ0KSA6IHNoaWZ0XyhzaGlmdCkgewotKyAgTE1vZFBv d1R3b0koY29uc3QgTEFsbG9jYXRpb24mIGxocywgaW50MzJfdCBzaGlmdCkKLSsgICAgICA6IExJ bnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSksIHNoaWZ0XyhzaGlmdCkgewotICAgICBzZXRP cGVyYW5kKDAsIGxocyk7Ci0gICB9Ci0gCi0rICBpbnQzMl90IHNoaWZ0KCkgY29uc3QgeyByZXR1 cm4gc2hpZnRfOyB9Ci0gICBNTW9kKiBtaXIoKSBjb25zdCB7IHJldHVybiBtaXJfLT50b01vZCgp OyB9Ci0gfTsKLSAKLUBAIC05NywxNCArMTAyLDEzIEBAIGNsYXNzIExNb2RNYXNrSSA6IHB1Ymxp YyBMSW5zdHJ1Y3Rpb25IZWwKLSAKLSAgIExNb2RNYXNrSShjb25zdCBMQWxsb2NhdGlvbiYgbGhz LCBjb25zdCBMRGVmaW5pdGlvbiYgdGVtcDAsCi0gICAgICAgICAgICAgY29uc3QgTERlZmluaXRp b24mIHRlbXAxLCBpbnQzMl90IHNoaWZ0KQotLSAgICAgIDogc2hpZnRfKHNoaWZ0KSB7Ci0rICAg ICAgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpLCBzaGlmdF8oc2hpZnQpIHsKLSAg ICAgc2V0T3BlcmFuZCgwLCBsaHMpOwotICAgICBzZXRUZW1wKDAsIHRlbXAwKTsKLSAgICAgc2V0 VGVtcCgxLCB0ZW1wMSk7Ci0gICB9Ci0gCi0gICBpbnQzMl90IHNoaWZ0KCkgY29uc3QgeyByZXR1 cm4gc2hpZnRfOyB9Ci0tCi0gICBNTW9kKiBtaXIoKSBjb25zdCB7IHJldHVybiBtaXJfLT50b01v ZCgpOyB9Ci0gfTsKLSAKLUBAIC0xMTQsNyArMTE4LDggQEAgY2xhc3MgTFRhYmxlU3dpdGNoIDog cHVibGljIExJbnN0cnVjdGlvbgotICAgTElSX0hFQURFUihUYWJsZVN3aXRjaCk7Ci0gCi0gICBM VGFibGVTd2l0Y2goY29uc3QgTEFsbG9jYXRpb24mIGluLCBjb25zdCBMRGVmaW5pdGlvbiYgaW5w dXRDb3B5LAotLSAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiBqdW1wVGFibGVQb2lu dGVyLCBNVGFibGVTd2l0Y2gqIGlucykgewotKyAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0 aW9uJiBqdW1wVGFibGVQb2ludGVyLCBNVGFibGVTd2l0Y2gqIGlucykKLSsgICAgICA6IExJbnN0 cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAgICBzZXRPcGVyYW5kKDAsIGluKTsKLSAg ICAgc2V0VGVtcCgwLCBpbnB1dENvcHkpOwotICAgICBzZXRUZW1wKDEsIGp1bXBUYWJsZVBvaW50 ZXIpOwotQEAgLTEyMiw3ICsxMjcsNiBAQCBjbGFzcyBMVGFibGVTd2l0Y2ggOiBwdWJsaWMgTElu c3RydWN0aW9uCi0gICB9Ci0gCi0gICBNVGFibGVTd2l0Y2gqIG1pcigpIGNvbnN0IHsgcmV0dXJu IG1pcl8tPnRvVGFibGVTd2l0Y2goKTsgfQotLQotICAgY29uc3QgTEFsbG9jYXRpb24qIGluZGV4 KCkgeyByZXR1cm4gZ2V0T3BlcmFuZCgwKTsgfQotICAgY29uc3QgTERlZmluaXRpb24qIHRlbXBJ bnQoKSB7IHJldHVybiBnZXRUZW1wKDApOyB9Ci0gICAvLyBUaGlzIGlzIGFkZGVkIHRvIHNoYXJl IHRoZSBzYW1lIENvZGVHZW5lcmF0b3IgcHJlZml4ZXMuCi1AQCAtMTM2LDcgKzE0MCw4IEBAIGNs YXNzIExUYWJsZVN3aXRjaFYgOiBwdWJsaWMgTEluc3RydWN0aW8KLSAKLSAgIExUYWJsZVN3aXRj aFYoY29uc3QgTEJveEFsbG9jYXRpb24mIGlucHV0LCBjb25zdCBMRGVmaW5pdGlvbiYgaW5wdXRD b3B5LAotICAgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgZmxvYXRDb3B5LAotLSAg ICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYganVtcFRhYmxlUG9pbnRlciwgTVRhYmxl U3dpdGNoKiBpbnMpIHsKLSsgICAgICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24mIGp1bXBU YWJsZVBvaW50ZXIsIE1UYWJsZVN3aXRjaCogaW5zKQotKyAgICAgIDogTEluc3RydWN0aW9uSGVs cGVyKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldEJveE9wZXJhbmQoSW5wdXRWYWx1ZSwgaW5wdXQp OwotICAgICBzZXRUZW1wKDAsIGlucHV0Q29weSk7Ci0gICAgIHNldFRlbXAoMSwgZmxvYXRDb3B5 KTsKLUBAIC0xNTcsNiArMTYyLDggQEAgY2xhc3MgTE11bEkgOiBwdWJsaWMgTEJpbmFyeU1hdGg8 MD4gewotICBwdWJsaWM6Ci0gICBMSVJfSEVBREVSKE11bEkpOwotIAotKyAgTE11bEkoKSA6IExC aW5hcnlNYXRoKGNsYXNzT3Bjb2RlKSB7fQotKwotICAgTU11bCogbWlyKCkgeyByZXR1cm4gbWly Xy0+dG9NdWwoKTsgfQotIH07Ci0gCi1AQCAtMTY0LDYgKzE3MSw4IEBAIGNsYXNzIExVRGl2T3JN b2QgOiBwdWJsaWMgTEJpbmFyeU1hdGg8MD4KLSAgcHVibGljOgotICAgTElSX0hFQURFUihVRGl2 T3JNb2QpOwotIAotKyAgTFVEaXZPck1vZCgpIDogTEJpbmFyeU1hdGgoY2xhc3NPcGNvZGUpIHt9 Ci0rCi0gICBNQmluYXJ5QXJpdGhJbnN0cnVjdGlvbiogbWlyKCkgY29uc3QgewotICAgICBNT1pf QVNTRVJUKG1pcl8tPmlzRGl2KCkgfHwgbWlyXy0+aXNNb2QoKSk7Ci0gICAgIHJldHVybiBzdGF0 aWNfY2FzdDxNQmluYXJ5QXJpdGhJbnN0cnVjdGlvbio+KG1pcl8pOwotQEAgLTE5NCwxMiArMjAz LDEzIEBAIGNsYXNzIExXYXNtVW5hbGlnbmVkTG9hZEJhc2UgOiBwdWJsaWMgZGUKLSAgcHVibGlj OgotICAgdHlwZWRlZiBMV2FzbUxvYWRCYXNlPE51bURlZnMsIDI+IEJhc2U7Ci0gCi0tICBleHBs aWNpdCBMV2FzbVVuYWxpZ25lZExvYWRCYXNlKGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsCi0rICBl eHBsaWNpdCBMV2FzbVVuYWxpZ25lZExvYWRCYXNlKExOb2RlOjpPcGNvZGUgb3Bjb2RlLCBjb25z dCBMQWxsb2NhdGlvbiYgcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBMRGVmaW5pdGlvbiYgdmFsdWVIZWxwZXIpCi0tICAgICAgOiBCYXNlKHB0ciwgTEFsbG9j YXRpb24oKSkgewotKyAgICAgIDogQmFzZShvcGNvZGUsIHB0ciwgTEFsbG9jYXRpb24oKSkgewot ICAgICBCYXNlOjpzZXRUZW1wKDAsIExEZWZpbml0aW9uOjpCb2d1c1RlbXAoKSk7Ci0gICAgIEJh c2U6OnNldFRlbXAoMSwgdmFsdWVIZWxwZXIpOwotICAgfQotKwotICAgY29uc3QgTEFsbG9jYXRp b24qIHB0cigpIHsgcmV0dXJuIEJhc2U6OmdldE9wZXJhbmQoMCk7IH0KLSAgIGNvbnN0IExEZWZp bml0aW9uKiBwdHJDb3B5KCkgeyByZXR1cm4gQmFzZTo6Z2V0VGVtcCgwKTsgfQotIH07Ci1AQCAt MjA4LDE5ICsyMTgsMjEgQEAgY2xhc3MgTFdhc21VbmFsaWduZWRMb2FkQmFzZSA6IHB1YmxpYyBk ZQotIAotIGNsYXNzIExXYXNtVW5hbGlnbmVkTG9hZCA6IHB1YmxpYyBkZXRhaWxzOjpMV2FzbVVu YWxpZ25lZExvYWRCYXNlPDE+IHsKLSAgcHVibGljOgotKyAgTElSX0hFQURFUihXYXNtVW5hbGln bmVkTG9hZCk7Ci0rCi0gICBleHBsaWNpdCBMV2FzbVVuYWxpZ25lZExvYWQoY29uc3QgTEFsbG9j YXRpb24mIHB0ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5p dGlvbiYgdmFsdWVIZWxwZXIpCi0tICAgICAgOiBMV2FzbVVuYWxpZ25lZExvYWRCYXNlKHB0ciwg dmFsdWVIZWxwZXIpIHt9Ci0tICBMSVJfSEVBREVSKFdhc21VbmFsaWduZWRMb2FkKTsKLSsgICAg ICA6IExXYXNtVW5hbGlnbmVkTG9hZEJhc2UoY2xhc3NPcGNvZGUsIHB0ciwgdmFsdWVIZWxwZXIp IHt9Ci0gfTsKLSAKLSBjbGFzcyBMV2FzbVVuYWxpZ25lZExvYWRJNjQKLSAgICAgOiBwdWJsaWMg ZGV0YWlsczo6TFdhc21VbmFsaWduZWRMb2FkQmFzZTxJTlQ2NF9QSUVDRVM+IHsKLSAgcHVibGlj OgotKyAgTElSX0hFQURFUihXYXNtVW5hbGlnbmVkTG9hZEk2NCk7Ci0rCi0gICBleHBsaWNpdCBM V2FzbVVuYWxpZ25lZExvYWRJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0ciwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgdmFsdWVIZWxwZXIpCi0t ICAgICAgOiBMV2FzbVVuYWxpZ25lZExvYWRCYXNlKHB0ciwgdmFsdWVIZWxwZXIpIHt9Ci0tICBM SVJfSEVBREVSKFdhc21VbmFsaWduZWRMb2FkSTY0KTsKLSsgICAgICA6IExXYXNtVW5hbGlnbmVk TG9hZEJhc2UoY2xhc3NPcGNvZGUsIHB0ciwgdmFsdWVIZWxwZXIpIHt9Ci0gfTsKLSAKLSBuYW1l c3BhY2UgZGV0YWlscyB7Ci1AQCAtMjM0LDEyICsyNDYsMTQgQEAgY2xhc3MgTFdhc21VbmFsaWdu ZWRTdG9yZUJhc2UgOiBwdWJsaWMgTAotICAgc3RhdGljIGNvbnN0IHNpemVfdCBQdHJJbmRleCA9 IDA7Ci0gICBzdGF0aWMgY29uc3Qgc2l6ZV90IFZhbHVlSW5kZXggPSAxOwotIAotLSAgTFdhc21V bmFsaWduZWRTdG9yZUJhc2UoY29uc3QgTEFsbG9jYXRpb24mIHB0ciwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiB2YWx1ZUhlbHBlcikgewotKyAgTFdhc21V bmFsaWduZWRTdG9yZUJhc2UoTE5vZGU6Ok9wY29kZSBvcGNvZGUsIGNvbnN0IExBbGxvY2F0aW9u JiBwdHIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgdmFs dWVIZWxwZXIpCi0rICAgICAgOiBCYXNlKG9wY29kZSkgewotICAgICBCYXNlOjpzZXRPcGVyYW5k KDAsIHB0cik7Ci0gICAgIEJhc2U6OnNldFRlbXAoMCwgTERlZmluaXRpb246OkJvZ3VzVGVtcCgp KTsKLSAgICAgQmFzZTo6c2V0VGVtcCgxLCB2YWx1ZUhlbHBlcik7Ci0gICB9Ci0rCi0gICBNV2Fz bVN0b3JlKiBtaXIoKSBjb25zdCB7IHJldHVybiBCYXNlOjptaXJfLT50b1dhc21TdG9yZSgpOyB9 Ci0gICBjb25zdCBMQWxsb2NhdGlvbiogcHRyKCkgeyByZXR1cm4gQmFzZTo6Z2V0T3BlcmFuZChQ dHJJbmRleCk7IH0KLSAgIGNvbnN0IExEZWZpbml0aW9uKiBwdHJDb3B5KCkgeyByZXR1cm4gQmFz ZTo6Z2V0VGVtcCgwKTsgfQotQEAgLTI1MCwxMSArMjY0LDEzIEBAIGNsYXNzIExXYXNtVW5hbGln bmVkU3RvcmVCYXNlIDogcHVibGljIEwKLSBjbGFzcyBMV2FzbVVuYWxpZ25lZFN0b3JlIDogcHVi bGljIGRldGFpbHM6OkxXYXNtVW5hbGlnbmVkU3RvcmVCYXNlPDI+IHsKLSAgcHVibGljOgotICAg TElSX0hFQURFUihXYXNtVW5hbGlnbmVkU3RvcmUpOwotKwotICAgTFdhc21VbmFsaWduZWRTdG9y ZShjb25zdCBMQWxsb2NhdGlvbiYgcHRyLCBjb25zdCBMQWxsb2NhdGlvbiYgdmFsdWUsCi0gICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiB2YWx1ZUhlbHBlcikKLS0gICAg ICA6IExXYXNtVW5hbGlnbmVkU3RvcmVCYXNlKHB0ciwgdmFsdWVIZWxwZXIpIHsKLSsgICAgICA6 IExXYXNtVW5hbGlnbmVkU3RvcmVCYXNlKGNsYXNzT3Bjb2RlLCBwdHIsIHZhbHVlSGVscGVyKSB7 Ci0gICAgIHNldE9wZXJhbmQoMSwgdmFsdWUpOwotICAgfQotKwotICAgY29uc3QgTEFsbG9jYXRp b24qIHZhbHVlKCkgeyByZXR1cm4gQmFzZTo6Z2V0T3BlcmFuZChWYWx1ZUluZGV4KTsgfQotIH07 Ci0gCi1AQCAtMjY0LDkgKzI4MCwxMCBAQCBjbGFzcyBMV2FzbVVuYWxpZ25lZFN0b3JlSTY0Ci0g ICBMSVJfSEVBREVSKFdhc21VbmFsaWduZWRTdG9yZUk2NCk7Ci0gICBMV2FzbVVuYWxpZ25lZFN0 b3JlSTY0KGNvbnN0IExBbGxvY2F0aW9uJiBwdHIsIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIHZh bHVlLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYgdmFsdWVI ZWxwZXIpCi0tICAgICAgOiBMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZShwdHIsIHZhbHVlSGVscGVy KSB7Ci0rICAgICAgOiBMV2FzbVVuYWxpZ25lZFN0b3JlQmFzZShjbGFzc09wY29kZSwgcHRyLCB2 YWx1ZUhlbHBlcikgewotICAgICBzZXRJbnQ2NE9wZXJhbmQoMSwgdmFsdWUpOwotICAgfQotKwot ICAgY29uc3QgTEludDY0QWxsb2NhdGlvbiB2YWx1ZSgpIHsgcmV0dXJuIGdldEludDY0T3BlcmFu ZChWYWx1ZUluZGV4KTsgfQotIH07Ci0gCi1AQCAtMjc4LDcgKzI5NSw4IEBAIGNsYXNzIExXYXNt Q29tcGFyZUV4Y2hhbmdlSTY0Ci0gCi0gICBMV2FzbUNvbXBhcmVFeGNoYW5nZUk2NChjb25zdCBM QWxsb2NhdGlvbiYgcHRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTEludDY0 QWxsb2NhdGlvbiYgb2xkVmFsdWUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBM SW50NjRBbGxvY2F0aW9uJiBuZXdWYWx1ZSkgewotKyAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgTEludDY0QWxsb2NhdGlvbiYgbmV3VmFsdWUpCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25I ZWxwZXIoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0T3BlcmFuZCgwLCBwdHIpOwotICAgICBzZXRJ bnQ2NE9wZXJhbmQoMSwgb2xkVmFsdWUpOwotICAgICBzZXRJbnQ2NE9wZXJhbmQoMSArIElOVDY0 X1BJRUNFUywgbmV3VmFsdWUpOwotQEAgLTI5OSw4ICszMTcsOCBAQCBjbGFzcyBMV2FzbUF0b21p Y0V4Y2hhbmdlSTY0Ci0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIoV2FzbUF0b21pY0V4Y2hhbmdl STY0KTsKLSAKLS0gIExXYXNtQXRvbWljRXhjaGFuZ2VJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0 ciwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTEludDY0QWxsb2NhdGlvbiYgdmFs dWUpIHsKLSsgIExXYXNtQXRvbWljRXhjaGFuZ2VJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0ciwg Y29uc3QgTEludDY0QWxsb2NhdGlvbiYgdmFsdWUpCi0rICAgICAgOiBMSW5zdHJ1Y3Rpb25IZWxw ZXIoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0T3BlcmFuZCgwLCBwdHIpOwotICAgICBzZXRJbnQ2 NE9wZXJhbmQoMSwgdmFsdWUpOwotICAgfQotQEAgLTMxNywxNCArMzM1LDE0IEBAIGNsYXNzIExX YXNtQXRvbWljQmlub3BJNjQKLSAgcHVibGljOgotICAgTElSX0hFQURFUihXYXNtQXRvbWljQmlu b3BJNjQpOwotIAotLSAgTFdhc21BdG9taWNCaW5vcEk2NChjb25zdCBMQWxsb2NhdGlvbiYgcHRy LCBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiB2YWx1ZSkgewotKyAgTFdhc21BdG9taWNCaW5vcEk2 NChjb25zdCBMQWxsb2NhdGlvbiYgcHRyLCBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiB2YWx1ZSkK LSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAgICBzZXRPcGVy YW5kKDAsIHB0cik7Ci0gICAgIHNldEludDY0T3BlcmFuZCgxLCB2YWx1ZSk7Ci0gICB9Ci0gCi0g ICBjb25zdCBMQWxsb2NhdGlvbiogcHRyKCkgeyByZXR1cm4gZ2V0T3BlcmFuZCgwKTsgfQotICAg Y29uc3QgTEludDY0QWxsb2NhdGlvbiB2YWx1ZSgpIHsgcmV0dXJuIGdldEludDY0T3BlcmFuZCgx KTsgfQotLQotICAgY29uc3QgTVdhc21BdG9taWNCaW5vcEhlYXAqIG1pcigpIGNvbnN0IHsKLSAg ICAgcmV0dXJuIG1pcl8tPnRvV2FzbUF0b21pY0Jpbm9wSGVhcCgpOwotICAgfQotSW5kZXg6IG1v empzLTYwLjguMC9qcy9zcmMvaml0L21pcHMzMi9MSVItbWlwczMyLmgKLT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBtb3pqcy02MC44LjAub3JpZy9qcy9zcmMvaml0L21pcHMzMi9MSVItbWlwczMyLmgKLSsrKyBt b3pqcy02MC44LjAvanMvc3JjL2ppdC9taXBzMzIvTElSLW1pcHMzMi5oCi1AQCAtMTgsNyArMTgs NyBAQCBjbGFzcyBMQm94RmxvYXRpbmdQb2ludCA6IHB1YmxpYyBMSW5zdHJ1Ci0gCi0gICBMQm94 RmxvYXRpbmdQb2ludChjb25zdCBMQWxsb2NhdGlvbiYgaW4sIGNvbnN0IExEZWZpbml0aW9uJiB0 ZW1wLAotICAgICAgICAgICAgICAgICAgICAgTUlSVHlwZSB0eXBlKQotLSAgICAgIDogdHlwZV8o dHlwZSkgewotKyAgICAgIDogTEluc3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSwgdHlwZV8o dHlwZSkgewotICAgICBzZXRPcGVyYW5kKDAsIGluKTsKLSAgICAgc2V0VGVtcCgwLCB0ZW1wKTsK LSAgIH0KLUBAIC0zMSw2ICszMSw4IEBAIGNsYXNzIExVbmJveCA6IHB1YmxpYyBMSW5zdHJ1Y3Rp b25IZWxwZXIKLSAgcHVibGljOgotICAgTElSX0hFQURFUihVbmJveCk7Ci0gCi0rICBMVW5ib3go KSA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkge30KLSsKLSAgIE1VbmJveCogbWly KCkgY29uc3QgeyByZXR1cm4gbWlyXy0+dG9VbmJveCgpOyB9Ci0gICBjb25zdCBMQWxsb2NhdGlv biogcGF5bG9hZCgpIHsgcmV0dXJuIGdldE9wZXJhbmQoMCk7IH0KLSAgIGNvbnN0IExBbGxvY2F0 aW9uKiB0eXBlKCkgeyByZXR1cm4gZ2V0T3BlcmFuZCgxKTsgfQotQEAgLTQ1LDEyICs0NywxMiBA QCBjbGFzcyBMVW5ib3hGbG9hdGluZ1BvaW50IDogcHVibGljIExJbnN0Ci0gCi0gICBzdGF0aWMg Y29uc3Qgc2l6ZV90IElucHV0ID0gMDsKLSAKLS0gIExVbmJveEZsb2F0aW5nUG9pbnQoY29uc3Qg TEJveEFsbG9jYXRpb24mIGlucHV0LCBNSVJUeXBlIHR5cGUpIDogdHlwZV8odHlwZSkgewotKyAg TFVuYm94RmxvYXRpbmdQb2ludChjb25zdCBMQm94QWxsb2NhdGlvbiYgaW5wdXQsIE1JUlR5cGUg dHlwZSkKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSksIHR5cGVfKHR5 cGUpIHsKLSAgICAgc2V0Qm94T3BlcmFuZChJbnB1dCwgaW5wdXQpOwotICAgfQotIAotICAgTVVu Ym94KiBtaXIoKSBjb25zdCB7IHJldHVybiBtaXJfLT50b1VuYm94KCk7IH0KLS0KLSAgIE1JUlR5 cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGVfOyB9Ci0gICBjb25zdCBjaGFyKiBleHRyYU5h bWUoKSBjb25zdCB7IHJldHVybiBTdHJpbmdGcm9tTUlSVHlwZSh0eXBlXyk7IH0KLSB9OwotQEAg LTYzLDE0ICs2NSwxNyBAQCBjbGFzcyBMRGl2T3JNb2RJNjQKLSAgIHN0YXRpYyBjb25zdCBzaXpl X3QgTGhzID0gMDsKLSAgIHN0YXRpYyBjb25zdCBzaXplX3QgUmhzID0gSU5UNjRfUElFQ0VTOwot IAotLSAgTERpdk9yTW9kSTY0KGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIGxocywgY29uc3QgTElu dDY0QWxsb2NhdGlvbiYgcmhzKSB7Ci0rICBMRGl2T3JNb2RJNjQoY29uc3QgTEludDY0QWxsb2Nh dGlvbiYgbGhzLCBjb25zdCBMSW50NjRBbGxvY2F0aW9uJiByaHMpCi0rICAgICAgOiBMQ2FsbElu c3RydWN0aW9uSGVscGVyKGNsYXNzT3Bjb2RlKSB7Ci0gICAgIHNldEludDY0T3BlcmFuZChMaHMs IGxocyk7Ci0gICAgIHNldEludDY0T3BlcmFuZChSaHMsIHJocyk7Ci0gICB9Ci0rCi0gICBNQmlu YXJ5QXJpdGhJbnN0cnVjdGlvbiogbWlyKCkgY29uc3QgewotICAgICBNT1pfQVNTRVJUKG1pcl8t PmlzRGl2KCkgfHwgbWlyXy0+aXNNb2QoKSk7Ci0gICAgIHJldHVybiBzdGF0aWNfY2FzdDxNQmlu YXJ5QXJpdGhJbnN0cnVjdGlvbio+KG1pcl8pOwotICAgfQotKwotICAgYm9vbCBjYW5CZURpdmlk ZUJ5WmVybygpIGNvbnN0IHsKLSAgICAgaWYgKG1pcl8tPmlzTW9kKCkpIHJldHVybiBtaXJfLT50 b01vZCgpLT5jYW5CZURpdmlkZUJ5WmVybygpOwotICAgICByZXR1cm4gbWlyXy0+dG9EaXYoKS0+ Y2FuQmVEaXZpZGVCeVplcm8oKTsKLUBAIC05NCw3ICs5OSw4IEBAIGNsYXNzIExVRGl2T3JNb2RJ NjQKLSAgIHN0YXRpYyBjb25zdCBzaXplX3QgTGhzID0gMDsKLSAgIHN0YXRpYyBjb25zdCBzaXpl X3QgUmhzID0gSU5UNjRfUElFQ0VTOwotIAotLSAgTFVEaXZPck1vZEk2NChjb25zdCBMSW50NjRB bGxvY2F0aW9uJiBsaHMsIGNvbnN0IExJbnQ2NEFsbG9jYXRpb24mIHJocykgewotKyAgTFVEaXZP ck1vZEk2NChjb25zdCBMSW50NjRBbGxvY2F0aW9uJiBsaHMsIGNvbnN0IExJbnQ2NEFsbG9jYXRp b24mIHJocykKLSsgICAgICA6IExDYWxsSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsK LSAgICAgc2V0SW50NjRPcGVyYW5kKExocywgbGhzKTsKLSAgICAgc2V0SW50NjRPcGVyYW5kKFJo cywgcmhzKTsKLSAgIH0KLUBAIC0xMDIsNiArMTA4LDcgQEAgY2xhc3MgTFVEaXZPck1vZEk2NAot ICAgICBNT1pfQVNTRVJUKG1pcl8tPmlzRGl2KCkgfHwgbWlyXy0+aXNNb2QoKSk7Ci0gICAgIHJl dHVybiBzdGF0aWNfY2FzdDxNQmluYXJ5QXJpdGhJbnN0cnVjdGlvbio+KG1pcl8pOwotICAgfQot KwotICAgYm9vbCBjYW5CZURpdmlkZUJ5WmVybygpIGNvbnN0IHsKLSAgICAgaWYgKG1pcl8tPmlz TW9kKCkpIHJldHVybiBtaXJfLT50b01vZCgpLT5jYW5CZURpdmlkZUJ5WmVybygpOwotICAgICBy ZXR1cm4gbWlyXy0+dG9EaXYoKS0+Y2FuQmVEaXZpZGVCeVplcm8oKTsKLUBAIC0xMjEsNyArMTI4 LDEwIEBAIGNsYXNzIExXYXNtVHJ1bmNhdGVUb0ludDY0IDogcHVibGljIExDYWwKLSAgcHVibGlj OgotICAgTElSX0hFQURFUihXYXNtVHJ1bmNhdGVUb0ludDY0KTsKLSAKLS0gIGV4cGxpY2l0IExX YXNtVHJ1bmNhdGVUb0ludDY0KGNvbnN0IExBbGxvY2F0aW9uJiBpbikgeyBzZXRPcGVyYW5kKDAs IGluKTsgfQotKyAgZXhwbGljaXQgTFdhc21UcnVuY2F0ZVRvSW50NjQoY29uc3QgTEFsbG9jYXRp b24mIGluKQotKyAgICAgIDogTENhbGxJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewot KyAgICBzZXRPcGVyYW5kKDAsIGluKTsKLSsgIH0KLSAKLSAgIE1XYXNtVHJ1bmNhdGVUb0ludDY0 KiBtaXIoKSBjb25zdCB7IHJldHVybiBtaXJfLT50b1dhc21UcnVuY2F0ZVRvSW50NjQoKTsgfQot IH07Ci1AQCAtMTMxLDcgKzE0MSw4IEBAIGNsYXNzIExJbnQ2NFRvRmxvYXRpbmdQb2ludAotICBw dWJsaWM6Ci0gICBMSVJfSEVBREVSKEludDY0VG9GbG9hdGluZ1BvaW50KTsKLSAKLS0gIGV4cGxp Y2l0IExJbnQ2NFRvRmxvYXRpbmdQb2ludChjb25zdCBMSW50NjRBbGxvY2F0aW9uJiBpbikgewot KyAgZXhwbGljaXQgTEludDY0VG9GbG9hdGluZ1BvaW50KGNvbnN0IExJbnQ2NEFsbG9jYXRpb24m IGluKQotKyAgICAgIDogTENhbGxJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAg ICBzZXRJbnQ2NE9wZXJhbmQoMCwgaW4pOwotICAgfQotIAotQEAgLTE0Miw3ICsxNTMsOSBAQCBj bGFzcyBMV2FzbUF0b21pY0xvYWRJNjQgOiBwdWJsaWMgTEluc3RyCi0gIHB1YmxpYzoKLSAgIExJ Ul9IRUFERVIoV2FzbUF0b21pY0xvYWRJNjQpOwotIAotLSAgTFdhc21BdG9taWNMb2FkSTY0KGNv bnN0IExBbGxvY2F0aW9uJiBwdHIpIHsgc2V0T3BlcmFuZCgwLCBwdHIpOyB9Ci0rICBMV2FzbUF0 b21pY0xvYWRJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0cikgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIo Y2xhc3NPcGNvZGUpIHsKLSsgICAgc2V0T3BlcmFuZCgwLCBwdHIpOwotKyAgfQotIAotICAgY29u c3QgTEFsbG9jYXRpb24qIHB0cigpIHsgcmV0dXJuIGdldE9wZXJhbmQoMCk7IH0KLSAgIGNvbnN0 IE1XYXNtTG9hZCogbWlyKCkgY29uc3QgeyByZXR1cm4gbWlyXy0+dG9XYXNtTG9hZCgpOyB9Ci1A QCAtMTUzLDcgKzE2Niw4IEBAIGNsYXNzIExXYXNtQXRvbWljU3RvcmVJNjQgOiBwdWJsaWMgTElu c3QKLSAgIExJUl9IRUFERVIoV2FzbUF0b21pY1N0b3JlSTY0KTsKLSAKLSAgIExXYXNtQXRvbWlj U3RvcmVJNjQoY29uc3QgTEFsbG9jYXRpb24mIHB0ciwgY29uc3QgTEludDY0QWxsb2NhdGlvbiYg dmFsdWUsCi0tICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiB0bXApIHsK LSsgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24mIHRtcCkKLSsgICAgICA6 IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotICAgICBzZXRPcGVyYW5kKDAsIHB0 cik7Ci0gICAgIHNldEludDY0T3BlcmFuZCgxLCB2YWx1ZSk7Ci0gICAgIHNldFRlbXAoMCwgdG1w KTsKLUluZGV4OiBtb3pqcy02MC44LjAvanMvc3JjL2ppdC9taXBzNjQvTElSLW1pcHM2NC5oCi09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLS0gbW96anMtNjAuOC4wLm9yaWcvanMvc3JjL2ppdC9taXBzNjQvTElSLW1p cHM2NC5oCi0rKysgbW96anMtNjAuOC4wL2pzL3NyYy9qaXQvbWlwczY0L0xJUi1taXBzNjQuaAot QEAgLTExLDEwICsxMSwxOCBAQCBuYW1lc3BhY2UganMgewotIG5hbWVzcGFjZSBqaXQgewotIAot IGNsYXNzIExVbmJveCA6IHB1YmxpYyBMSW5zdHJ1Y3Rpb25IZWxwZXI8MSwgMSwgMD4gewotKyBw cm90ZWN0ZWQ6Ci0rICBMVW5ib3goTE5vZGU6Ok9wY29kZSBvcGNvZGUsIGNvbnN0IExBbGxvY2F0 aW9uJiBpbnB1dCkKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihvcGNvZGUpIHsKLSsgICAg c2V0T3BlcmFuZCgwLCBpbnB1dCk7Ci0rICB9Ci0rCi0gIHB1YmxpYzoKLSAgIExJUl9IRUFERVIo VW5ib3gpOwotIAotLSAgZXhwbGljaXQgTFVuYm94KGNvbnN0IExBbGxvY2F0aW9uJiBpbnB1dCkg eyBzZXRPcGVyYW5kKDAsIGlucHV0KTsgfQotKyAgZXhwbGljaXQgTFVuYm94KGNvbnN0IExBbGxv Y2F0aW9uJiBpbnB1dCkgOiBMSW5zdHJ1Y3Rpb25IZWxwZXIoY2xhc3NPcGNvZGUpIHsKLSsgICAg c2V0T3BlcmFuZCgwLCBpbnB1dCk7Ci0rICB9Ci0gCi0gICBzdGF0aWMgY29uc3Qgc2l6ZV90IElu cHV0ID0gMDsKLSAKLUBAIC0yOSw3ICszNyw3IEBAIGNsYXNzIExVbmJveEZsb2F0aW5nUG9pbnQg OiBwdWJsaWMgTFVuYm8KLSAgIExJUl9IRUFERVIoVW5ib3hGbG9hdGluZ1BvaW50KTsKLSAKLSAg IExVbmJveEZsb2F0aW5nUG9pbnQoY29uc3QgTEFsbG9jYXRpb24mIGlucHV0LCBNSVJUeXBlIHR5 cGUpCi0tICAgICAgOiBMVW5ib3goaW5wdXQpLCB0eXBlXyh0eXBlKSB7fQotKyAgICAgIDogTFVu Ym94KGNsYXNzT3Bjb2RlLCBpbnB1dCksIHR5cGVfKHR5cGUpIHt9Ci0gCi0gICBNSVJUeXBlIHR5 cGUoKSBjb25zdCB7IHJldHVybiB0eXBlXzsgfQotIH07Ci1AQCAtMzksMTggKzQ3LDE5IEBAIGNs YXNzIExEaXZPck1vZEk2NCA6IHB1YmxpYyBMQmluYXJ5TWF0aDwKLSAgIExJUl9IRUFERVIoRGl2 T3JNb2RJNjQpCi0gCi0gICBMRGl2T3JNb2RJNjQoY29uc3QgTEFsbG9jYXRpb24mIGxocywgY29u c3QgTEFsbG9jYXRpb24mIHJocywKLS0gICAgICAgICAgICAgICBjb25zdCBMRGVmaW5pdGlvbiYg dGVtcCkgewotKyAgICAgICAgICAgICAgIGNvbnN0IExEZWZpbml0aW9uJiB0ZW1wKQotKyAgICAg IDogTEJpbmFyeU1hdGgoY2xhc3NPcGNvZGUpIHsKLSAgICAgc2V0T3BlcmFuZCgwLCBsaHMpOwot ICAgICBzZXRPcGVyYW5kKDEsIHJocyk7Ci0gICAgIHNldFRlbXAoMCwgdGVtcCk7Ci0gICB9Ci0g Ci0gICBjb25zdCBMRGVmaW5pdGlvbiogcmVtYWluZGVyKCkgeyByZXR1cm4gZ2V0VGVtcCgwKTsg fQotLQotICAgTUJpbmFyeUFyaXRoSW5zdHJ1Y3Rpb24qIG1pcigpIGNvbnN0IHsKLSAgICAgTU9a X0FTU0VSVChtaXJfLT5pc0RpdigpIHx8IG1pcl8tPmlzTW9kKCkpOwotICAgICByZXR1cm4gc3Rh dGljX2Nhc3Q8TUJpbmFyeUFyaXRoSW5zdHJ1Y3Rpb24qPihtaXJfKTsKLSAgIH0KLSsKLSAgIGJv b2wgY2FuQmVEaXZpZGVCeVplcm8oKSBjb25zdCB7Ci0gICAgIGlmIChtaXJfLT5pc01vZCgpKSBy ZXR1cm4gbWlyXy0+dG9Nb2QoKS0+Y2FuQmVEaXZpZGVCeVplcm8oKTsKLSAgICAgcmV0dXJuIG1p cl8tPnRvRGl2KCktPmNhbkJlRGl2aWRlQnlaZXJvKCk7Ci1AQCAtNzEsMTQgKzgwLDE0IEBAIGNs YXNzIExVRGl2T3JNb2RJNjQgOiBwdWJsaWMgTEJpbmFyeU1hdGgKLSAgIExJUl9IRUFERVIoVURp dk9yTW9kSTY0KTsKLSAKLSAgIExVRGl2T3JNb2RJNjQoY29uc3QgTEFsbG9jYXRpb24mIGxocywg Y29uc3QgTEFsbG9jYXRpb24mIHJocywKLS0gICAgICAgICAgICAgICAgY29uc3QgTERlZmluaXRp b24mIHRlbXApIHsKLSsgICAgICAgICAgICAgICAgY29uc3QgTERlZmluaXRpb24mIHRlbXApCi0r ICAgICAgOiBMQmluYXJ5TWF0aChjbGFzc09wY29kZSkgewotICAgICBzZXRPcGVyYW5kKDAsIGxo cyk7Ci0gICAgIHNldE9wZXJhbmQoMSwgcmhzKTsKLSAgICAgc2V0VGVtcCgwLCB0ZW1wKTsKLSAg IH0KLSAKLSAgIGNvbnN0IExEZWZpbml0aW9uKiByZW1haW5kZXIoKSB7IHJldHVybiBnZXRUZW1w KDApOyB9Ci0tCi0gICBjb25zdCBjaGFyKiBleHRyYU5hbWUoKSBjb25zdCB7Ci0gICAgIHJldHVy biBtaXIoKS0+aXNUcnVuY2F0ZWQoKSA/ICJUcnVuY2F0ZWQiIDogbnVsbHB0cjsKLSAgIH0KLUBA IC04Nyw3ICs5Niw2IEBAIGNsYXNzIExVRGl2T3JNb2RJNjQgOiBwdWJsaWMgTEJpbmFyeU1hdGgK LSAgICAgTU9aX0FTU0VSVChtaXJfLT5pc0RpdigpIHx8IG1pcl8tPmlzTW9kKCkpOwotICAgICBy ZXR1cm4gc3RhdGljX2Nhc3Q8TUJpbmFyeUFyaXRoSW5zdHJ1Y3Rpb24qPihtaXJfKTsKLSAgIH0K LS0KLSAgIGJvb2wgY2FuQmVEaXZpZGVCeVplcm8oKSBjb25zdCB7Ci0gICAgIGlmIChtaXJfLT5p c01vZCgpKSByZXR1cm4gbWlyXy0+dG9Nb2QoKS0+Y2FuQmVEaXZpZGVCeVplcm8oKTsKLSAgICAg cmV0dXJuIG1pcl8tPnRvRGl2KCktPmNhbkJlRGl2aWRlQnlaZXJvKCk7Ci1AQCAtMTAzLDcgKzEx MSwxMCBAQCBjbGFzcyBMV2FzbVRydW5jYXRlVG9JbnQ2NCA6IHB1YmxpYyBMSW5zCi0gIHB1Ymxp YzoKLSAgIExJUl9IRUFERVIoV2FzbVRydW5jYXRlVG9JbnQ2NCk7Ci0gCi0tICBleHBsaWNpdCBM V2FzbVRydW5jYXRlVG9JbnQ2NChjb25zdCBMQWxsb2NhdGlvbiYgaW4pIHsgc2V0T3BlcmFuZCgw LCBpbik7IH0KLSsgIGV4cGxpY2l0IExXYXNtVHJ1bmNhdGVUb0ludDY0KGNvbnN0IExBbGxvY2F0 aW9uJiBpbikKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkgewotKyAg ICBzZXRPcGVyYW5kKDAsIGluKTsKLSsgIH0KLSAKLSAgIE1XYXNtVHJ1bmNhdGVUb0ludDY0KiBt aXIoKSBjb25zdCB7IHJldHVybiBtaXJfLT50b1dhc21UcnVuY2F0ZVRvSW50NjQoKTsgfQotIH07 Ci1AQCAtMTEyLDcgKzEyMyw4IEBAIGNsYXNzIExJbnQ2NFRvRmxvYXRpbmdQb2ludCA6IHB1Ymxp YyBMSW4KLSAgcHVibGljOgotICAgTElSX0hFQURFUihJbnQ2NFRvRmxvYXRpbmdQb2ludCk7Ci0g Ci0tICBleHBsaWNpdCBMSW50NjRUb0Zsb2F0aW5nUG9pbnQoY29uc3QgTEludDY0QWxsb2NhdGlv biYgaW4pIHsKLSsgIGV4cGxpY2l0IExJbnQ2NFRvRmxvYXRpbmdQb2ludChjb25zdCBMSW50NjRB bGxvY2F0aW9uJiBpbikKLSsgICAgICA6IExJbnN0cnVjdGlvbkhlbHBlcihjbGFzc09wY29kZSkg ewotICAgICBzZXRJbnQ2NE9wZXJhbmQoMCwgaW4pOwotICAgfQotIAotCmRpZmYgLS1naXQgYS9z cmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDExLW1pcHMtbWFjcm9hc3NlbWJsZXIucGF0Y2ggYi9z cmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDExLW1pcHMtbWFjcm9hc3NlbWJsZXIucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk5MGViYTZmNzkzLi4wMDAwMDAwMDAwMAotLS0g YS9zcmNwa2dzL21vempzNjAvcGF0Y2hlcy8wMDExLW1pcHMtbWFjcm9hc3NlbWJsZXIucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tOiBEcmFnYW4gTWxhZGplbm92aWMg PGRyYWdhbi5tbGFkamVub3ZpYz4KLURhdGU6IE1vbiwgMTIgTWFyIDIwMTggMTA6MzE6MjQgKzAx MDAKLVN1YmplY3Q6IEJ1ZyAxNDQ0ODM0IDogW01JUFNdIFN0dWJvdXQgTWFjcm9Bc3NlbWJsZXI6 OnNwZWN1bGF0aW9uQmFycmllcgotCi1Gcm9tIHVwc3RyZWFtLCB2aWEgZmlyZWZveC1lc3IgNjAu Mi4wZXNyLTEuCi0KLVJldmlld2VkLWJ5OiBqYW5kZW0KLUJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5t b3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NDgzNAotQXBwbGllZC11cHN0cmVhbTogNjEs IGNvbW1pdDpodHRwczovL2hnLm1vemlsbGEub3JnL21vemlsbGEtY2VudHJhbC9yZXYvNzM5YzUz NmQyY2Q2Ci0tLS0KLSBqcy9zcmMvaml0L21pcHMtc2hhcmVkL01hY3JvQXNzZW1ibGVyLW1pcHMt c2hhcmVkLmNwcCB8IDggKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCsp Ci0KLUluZGV4OiBtb3pqcy02MC44LjAvanMvc3JjL2ppdC9taXBzLXNoYXJlZC9NYWNyb0Fzc2Vt Ymxlci1taXBzLXNoYXJlZC5jcHAKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBtb3pqcy02MC44LjAub3JpZy9q cy9zcmMvaml0L21pcHMtc2hhcmVkL01hY3JvQXNzZW1ibGVyLW1pcHMtc2hhcmVkLmNwcAotKysr IG1vempzLTYwLjguMC9qcy9zcmMvaml0L21pcHMtc2hhcmVkL01hY3JvQXNzZW1ibGVyLW1pcHMt c2hhcmVkLmNwcAotQEAgLTI2ODcsNCArMjY4Nyw4IEBAIHZvaWQgTWFjcm9Bc3NlbWJsZXI6OmF0 b21pY0VmZmVjdE9wSlMoU2MKLSAgICAgICAgICAgICAgICAgIG1hc2tUZW1wKTsKLSB9Ci0gCi0r Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0rLy8gU3BlY3RyZSBNaXRpZ2F0aW9ucy4KLSsKLSt2b2lkIE1h Y3JvQXNzZW1ibGVyOjpzcGVjdWxhdGlvbkJhcnJpZXIoKSB7IE1PWl9DUkFTSCgpOyB9Ci0gLy99 fX0gY2hlY2tfbWFjcm9hc3NlbWJsZXJfc3R5bGUKLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pq czYwL3BhdGNoZXMvMDAxMi1tb3pqczYwLnBjLWhvbm9yLXN5c3Jvb3QucGF0Y2ggYi9zcmNwa2dz L21vempzNjAvcGF0Y2hlcy8wMDEyLW1vempzNjAucGMtaG9ub3Itc3lzcm9vdC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWMwYjQ1YTVlYTUuLjAwMDAwMDAwMDAwCi0tLSBh L3NyY3BrZ3MvbW96anM2MC9wYXRjaGVzLzAwMTItbW96anM2MC5wYy1ob25vci1zeXNyb290LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotIGpzL3NyYy9idWlsZC9qcy5wYy5p biB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK LQotZGlmZiAtLWdpdCBhL2pzL3NyYy9idWlsZC9qcy5wYy5pbiBiL2pzL3NyYy9idWlsZC9qcy5w Yy5pbgotaW5kZXggMmVhZTM5My4uMGE2ZmQ1YyAxMDA2NDQKLS0tLSBhL2pzL3NyYy9idWlsZC9q cy5wYy5pbgotKysrIGIvanMvc3JjL2J1aWxkL2pzLnBjLmluCi1AQCAtOCw0ICs4LDQgQEAgRGVz Y3JpcHRpb246IFRoZSBNb3ppbGxhIGxpYnJhcnkgZm9yIEphdmFTY3JpcHQKLSBWZXJzaW9uOiBA TU9aSUxMQV9WRVJTSU9OQAotIEBQS0dDT05GX1JFUVVJUkVTX1BSSVZBVEVACi0gTGliczogLUwk e2xpYmRpcn0gLWxASlNfTElCUkFSWV9OQU1FQAotLUNmbGFnczogLWluY2x1ZGUgJHtpbmNsdWRl ZGlyfS9ASlNfTElCUkFSWV9OQU1FQC9qcy9SZXF1aXJlZERlZmluZXMuaCAtSSR7aW5jbHVkZWRp cn0vQEpTX0xJQlJBUllfTkFNRUAKLStDZmxhZ3M6IC1pbmNsdWRlICR7cGNfc3lzcm9vdGRpcn0k e2luY2x1ZGVkaXJ9L0BKU19MSUJSQVJZX05BTUVAL2pzL1JlcXVpcmVkRGVmaW5lcy5oIC1JJHtp bmNsdWRlZGlyfS9ASlNfTElCUkFSWV9OQU1FQApkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYw L3RlbXBsYXRlIGIvc3JjcGtncy9tb3pqczYwL3RlbXBsYXRlCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBkMjM2NmFjMTFkNi4uMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9tb3pqczYw L3RlbXBsYXRlCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotIyBUZW1wbGF0ZSBmaWxl IGZvciAnbW96anM2MCcKLXBrZ25hbWU9bW96anM2MAotdmVyc2lvbj02MC44LjAKLXJldmlzaW9u PTUKLXdya3NyYz0iZmlyZWZveC0ke3ZlcnNpb259IgotYnVpbGRfd3Jrc3JjPWpzL3NyYwotYnVp bGRfc3R5bGU9Z251LWNvbmZpZ3VyZQotaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHB5dGhvbiBwa2ct Y29uZmlnIGF1dG9tYWtlIGF1dG9jb25mMjEzIGF1dG9jb25mLWFyY2hpdmUKLSB3aGljaCIKLW1h a2VkZXBlbmRzPSJpY3UtZGV2ZWwgbGliZmZpLWRldmVsIG5zcHItZGV2ZWwgcHl0aG9uLWRldmVs IHJlYWRsaW5lLWRldmVsIHpsaWItZGV2ZWwiCi1kZXBlbmRzPSJuc3ByPj00LjE5Igotc2hvcnRf ZGVzYz0iTW96aWxsYSBKYXZhU2NyaXB0IGludGVycHJldGVyIGFuZCBsaWJyYXJ5ICg2MC54IHNl cmllcykiCi1tYWludGFpbmVyPSJFbm5vIEJvbGFuZCA8Z290dG94QHZvaWRsaW51eC5vcmc+Igot bGljZW5zZT0iTVBMLTIuMCIKLWhvbWVwYWdlPSJodHRwczovL3d3dy5tb3ppbGxhLm9yZy9qcy8i Ci1kaXN0ZmlsZXM9IiR7TU9aSUxMQV9TSVRFfS9maXJlZm94L3JlbGVhc2VzLyR7dmVyc2lvbn1l c3Ivc291cmNlL2ZpcmVmb3gtJHt2ZXJzaW9ufWVzci5zb3VyY2UudGFyLnh6IgotY2hlY2tzdW09 YzEzMzg3ZDk0NGU2MzVhZWJkNWYxZDJjZTlhYjc3Y2I3MDZhNzQwNDNhMjQwY2JiN2I3MDY1NDUx OTQ4N2ZiZQotcGF0Y2hfYXJncz0iLU5wMSIKLUNYWEZMQUdTPSItV25vLWNsYXNzLW1lbWFjY2Vz cyIKLUxERkxBR1MrPSIgLVdsLC16LHN0YWNrLXNpemU9MTA0ODU3NiIKLQotaWYgWyAiJFhCUFNf VEFSR0VUX05PX0FUT01JQzgiIF07IHRoZW4KLQltYWtlZGVwZW5kcys9IiBsaWJhdG9taWMtZGV2 ZWwiCi0JTERGTEFHUys9IiAtbGF0b21pYyIKLWZpCi0KLWRvX2NvbmZpZ3VyZSgpIHsKLQlsb2Nh bCBfYXJncwotCi0JaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCi0JCWV4cG9ydCBIT1NUX0NG TEFHUz0iLU9zIgotCQlleHBvcnQgSE9TVF9DWFhGTEFHUz0iLU9zIgotCQlfYXJncys9IiAtLXRh cmdldD0kWEJQU19DUk9TU19UUklQTEVUIC0tZW5hYmxlLWxpbmtlcj1iZmQiCi0JZmkKLQotCWF1 dG9jb25mLTIuMTMgb2xkLWNvbmZpZ3VyZS5pbiA+IG9sZC1jb25maWd1cmUKLQotCXRvdWNoICR7 d3Jrc3JjfS9qcy9zcmMvY29uZmlndXJlCi0JdG91Y2ggJHt3cmtzcmN9L2pzL3NyYy9vbGQtY29u ZmlndXJlCi0JU0hFTEw9L2Jpbi9iYXNoIFBZVEhPTj0vdXNyL2Jpbi9weXRob24yIC4vY29uZmln dXJlIC0tcHJlZml4PS91c3IgXAotCQktLWRpc2FibGUtamVtYWxsb2MgLS1kaXNhYmxlLW9wdGlt aXplIC0tZW5hYmxlLWN0eXBlcyAtLWVuYWJsZS1waWUgXAotCQktLWVuYWJsZS1yZWFkbGluZSAt LWVuYWJsZS1zaGFyZWQtanMgLS1lbmFibGUtc3lzdGVtLWZmaSBcCi0JCS0tZW5hYmxlLXRlc3Rz IC0td2l0aC1pbnRsLWFwaSAtLXdpdGgtc3lzdGVtLWljdSBcCi0JCS0td2l0aC1zeXN0ZW0tbnNw ciAtLXdpdGgtc3lzdGVtLXpsaWIgLS10YXJnZXQ9JHtYQlBTX1RSSVBMRVR9IFwKLQkJLS1ob3N0 PSR7WEJQU19UUklQTEVUfSBcCi0JCSR7X2FyZ3N9Ci19Ci0KLWRvX2NoZWNrKCkgewotCWRpc3Qv YmluL2pzYXBpLXRlc3RzCi19Ci0KLXBvc3RfaW5zdGFsbCgpIHsKLQkjIEZpeCB0aGUgJy1pbmNs dWRlJyBkaXJlY3RpdmUsIG90aGVyd2lzZSBpdCB0cmllcyB0byB1c2UgdGhlIGhvc3RzJyBoZWFk ZXIKLQl2c2VkICdzfF5DZmxhZ3M6Lip8Q2ZsYWdzOiAtaW5jbHVkZSAke3BjX3N5c3Jvb3RkaXJ9 LyR7aW5jbHVkZWRpcn0vbW96anMtNjAvanMvUmVxdWlyZWREZWZpbmVzLmggLUkke2luY2x1ZGVk aXJ9L21vempzLTYwfCcgXAotCQktaSAke0RFU1RESVJ9L3Vzci9saWIvcGtnY29uZmlnL21vempz LTYwLnBjCi19Ci0KLW1vempzNjAtZGV2ZWxfcGFja2FnZSgpIHsKLQlkZXBlbmRzPSJuc3ByLWRl dmVsICR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKLQlzaG9ydF9kZXNjKz0i IC0gZGV2ZWxvcG1lbnQgZmlsZXMiCi0JcGtnX2luc3RhbGwoKSB7Ci0JCXZtb3ZlIHVzci9iaW4v anM2MC1jb25maWcKLQkJdm1vdmUgdXNyL2luY2x1ZGUKLQkJdm1vdmUgInVzci9saWIvKi5zbyIK LQkJdm1vdmUgInVzci9saWIvKi5hanMiCi0JCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCi0JfQot fQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9tb3pqczYwL3VwZGF0ZSBiL3NyY3BrZ3MvbW96anM2MC91 cGRhdGUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE5NDdlMTkyMTdmLi4wMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL21vempzNjAvdXBkYXRlCisrKyAvZGV2L251bGwKQEAgLTEgKzAs MCBAQAotcGtnbmFtZT0nbW96anMnCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JlbW92ZWQtcGFja2Fn ZXMvdGVtcGxhdGUgYi9zcmNwa2dzL3JlbW92ZWQtcGFja2FnZXMvdGVtcGxhdGUKaW5kZXggN2Zh NWQzMWUzNDkuLjVjYjJkNjk5ZmJkIDEwMDY0NAotLS0gYS9zcmNwa2dzL3JlbW92ZWQtcGFja2Fn ZXMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9yZW1vdmVkLXBhY2thZ2VzL3RlbXBsYXRlCkBAIC01 Miw2ICs1Miw3IEBAIHJlcGxhY2VzPSIKICBtaXJyb3JiaXRzPD0wLjUuMV8xCiAgbW9uZ3JvdXA8 PTAuNC4xXzIKICBtb3pqczUyPD01Mi45LjBfNworIG1vempzNjA8PTYwLjguMF81CiAgcGhvbm9u LWJhY2tlbmQtZ3N0cmVhbWVyPD00LjkuMF8yCiAgcGhvbm9uLWJhY2tlbmQtdmxjPD0wLjkuMV8z CiAgcG9sa2l0LXF0PD0wLjExMi4wXzUK --===============5829969724211793058==--