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 5153 invoked from network); 22 Feb 2022 11:37:51 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 22 Feb 2022 11:37:51 -0000 Content-Type: multipart/mixed; boundary="===============1415480648496313275==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_PolyMC-1=2E0=2E6?= To: ml@inbox.vuxu.org From: oynqr Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 22 Feb 2022 12:37:50 +0100 List-Id: Message-ID: <20220222113750.naY36IlgiHGhdsaSulrwrdbLB_dWmxQYxk3lThSU1mY@z> GitHub notification mails are now in MIME to allow UTF8. --===============1415480648496313275== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3lucXIgYWdhaW5zdCBtYXN0ZXIg b24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL295bnFy L3ZvaWQtcGFja2FnZXMgUG9seU1DCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvcHVsbC8zNDk3OQoKTmV3IHBhY2thZ2U6IFBvbHlNQy0xLjAuNgo8IS0tIFVuY29t bWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBh cHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhl IGNoYW5nZXMgaW4gdGhpcyBQUjogKipZRVMqKg0KDQpUZXN0aW5nIHdhcyBkb25lIG9uIG15IEtE RSB3b3Jrc3RhdGlvbiBhbmQgYWxzbyBvbiBhIGNsZWFuIGxpdmUgYm9vdGVkIGVudmlyb25tZW50 IChvbmx5IG1hbnVhbCBwYWNrYWdlcyB3ZXJlOiBiYXNlLXN5c3RlbSwgeG9yZywgUG9seU1DKS4g TG9nZ2luZyBpbiB3aXRoIGEgTWljcm9zb2Z0IGFjY291bnQgd2FzIG5vdCB0ZXN0ZWQsIHNpbmNl IEkgZG9uJ3QgaGF2ZSBvbmUuIE1pbmVjcmFmdCB2ZXJzaW9ucyAxLjE2LjUgYW5kIDIxdzE4YSB3 ZXJlIHN1Y2Nlc3NmdWxseSB0ZXN0ZWQgd2l0aCB0aGUgc3lzdGVtIGpkayBhbmQgdGhlIGxhdGVz dCBNaW5lY3JhZnQgcmVsZWFzZSAxLjE4LjEgd2l0aCBqZGsgMTcgZnJvbSBhZG9wdGl1bS4NCg0K SSB3YXNuJ3QgdG9vIHN1cmUgd2hpY2ggbGljZW5zZSB0byBwaWNrLCBzbyBJIGp1c3QgdHJpZWQg dG8gYmUgYXMgY29tcHJlaGVuc2l2ZSBhcyBwb3NzaWJsZS4NCg0KQ2xvc2VzICMzNDkzMw0KDQo8 IS0tDQojIyMjIE5ldyBwYWNrYWdlDQotIFRoaXMgbmV3IHBhY2thZ2UgY29uZm9ybXMgdG8gdGhl IFtxdWFsaXR5IHJlcXVpcmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9NYW51YWwubWQjcXVhbGl0eS1yZXF1aXJlbWVudHMpOiAq KllFUyoqfCoqTk8qKg0KLS0+DQoNCjwhLS0gTm90ZTogSWYgdGhlIGJ1aWxkIGlzIGxpa2VseSB0 byB0YWtlIG1vcmUgdGhhbiAyIGhvdXJzLCBwbGVhc2UgW3NraXAgQ0ldKGh0dHBzOi8vZ2l0aHVi LmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1k I2NvbnRpbnVvdXMtaW50ZWdyYXRpb24pDQphbmQgdGVzdCBhdCBsZWFzdCBvbmUgbmF0aXZlIGJ1 aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUgY3Jvc3MgYnVpbGQuDQpJZ25vcmUg dGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBwaW5nIENJLg0KLS0+DQo8IS0tIA0K IyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBt eSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAoQVJDSC1MSUJDKQ0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9j YWxseSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVp bGRzKToNCiAgLSBhYXJjaDY0LW11c2wNCiAgLSBhcm12N2wNCiAgLSBhcm12NmwtbXVzbA0KLS0+ DQoKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvcHVsbC8zNDk3OS5wYXRjaCBpcyBhdHRhY2hlZA== --===============1415480648496313275== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-PolyMC-34979.patch" RnJvbSA0YmMxZDc5ZTYyNzI1ZWNhZTU2OWUzYWU4NGVjOGFhNWU5ZGY3MDMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwIERhdmlkIDxwZEAzYi5wbT4KRGF0ZTogTW9uLCAx MCBKYW4gMjAyMiAxMTozMjoyMiArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIE5ldyBwYWNrYWdlOiBQ b2x5TUMtMS4wLjYKCi0tLQogLi4uL1BvbHlNQy9wYXRjaGVzLzAwLWJhY2twb3J0LWZpeGVzLnBh dGNoICAgIHwgNjkzICsrKysrKysrKysrKysrKysrKwogc3JjcGtncy9Qb2x5TUMvdGVtcGxhdGUg ICAgICAgICAgICAgICAgICAgICAgIHwgIDM3ICsKIDIgZmlsZXMgY2hhbmdlZCwgNzMwIGluc2Vy dGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL1BvbHlNQy9wYXRjaGVzLzAwLWJh Y2twb3J0LWZpeGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9Qb2x5TUMvdGVt cGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL1BvbHlNQy9wYXRjaGVzLzAwLWJhY2twb3J0LWZp eGVzLnBhdGNoIGIvc3JjcGtncy9Qb2x5TUMvcGF0Y2hlcy8wMC1iYWNrcG9ydC1maXhlcy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjdiMjM3YTAxOTU3Zgot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvUG9seU1DL3BhdGNoZXMvMDAtYmFja3BvcnQtZml4 ZXMucGF0Y2gKQEAgLTAsMCArMSw2OTMgQEAKKyMgVGhlc2UgYXJlIGFsbCB1cHN0cmVhbSBiYWNr cG9ydHMsIHRvIGJlIGRyb3BwZWQgd2l0aCB0aGUgbmV4dCByZWxlYXNlLgorZGlmZiAtLWdpdCBh L0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKK2luZGV4IGIyNTA3YTQ4Li5kMjhiMDVm NiAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAorQEAg LTQ2LDcgKzQ2LDggQEAgc2V0KENNQUtFX0NYWF9GTEFHUyAiJHtDTUFLRV9DWFhfRkxBR1N9IC1E UVRfTk9fREVQUkVDQVRFRF9XQVJOSU5HUz1ZIikKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIFNldCBBcHBsaWNhdGlvbiBvcHRpb25zICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyAKKyAjIyMjIyMjIyBTZXQgVVJMcyAjIyMjIyMjIworLXNldChM YXVuY2hlcl9ORVdTX1JTU19VUkwgImh0dHBzOi8vbXVsdGltYy5vcmcvcnNzLnhtbCIgQ0FDSEUg U1RSSU5HICJVUkwgdG8gZmV0Y2ggTGF1bmNoZXIncyBuZXdzIFJTUyBmZWVkIGZyb20uIikKKytz ZXQoTGF1bmNoZXJfTkVXU19SU1NfVVJMICJodHRwczovL3BvbHltYy5naXRodWIuaW8vZmVlZC9m ZWVkLnhtbCIgQ0FDSEUgU1RSSU5HICJVUkwgdG8gZmV0Y2ggUG9seU1DJ3MgbmV3cyBSU1MgZmVl ZCBmcm9tLiIpCisrc2V0KExhdW5jaGVyX05FV1NfT1BFTl9VUkwgImh0dHBzOi8vcG9seW1jLmdp dGh1Yi5pby9uZXdzLyIgQ0FDSEUgU1RSSU5HICJVUkwgdGhhdCBnZXRzIG9wZW5lZCB3aGVuIHRo ZSB1c2VyIGNsaWNrcyAnTW9yZSBOZXdzJyIpCisgCisgIyMjIyMjIyMgU2V0IHZlcnNpb24gbnVt YmVycyAjIyMjIyMjIworIHNldChMYXVuY2hlcl9WRVJTSU9OX01BSk9SICAgIDEpCitAQCAtNjgs OSArNjksNiBAQCBzZXQoTGF1bmNoZXJfTk9USUZJQ0FUSU9OX1VSTCAiIiBDQUNIRSBTVFJJTkcg IlVSTCBmb3IgY2hlY2tpbmcgZm9yIG5vdGlmaWNhdGlvbgorICMgVGhlIG1ldGFkYXRhIHNlcnZl cgorIHNldChMYXVuY2hlcl9NRVRBX1VSTCAiaHR0cHM6Ly9tZXRhLnBvbHltYy5vcmcvdjEvIiBD QUNIRSBTVFJJTkcgIlVSTCB0byBmZXRjaCBQb2x5TUMncyBtZXRhIGZpbGVzIGZyb20uIikKKyAK Ky0jIHBhc3RlLmVlIEFQSSBrZXkKKy1zZXQoTGF1bmNoZXJfUEFTVEVfRUVfQVBJX0tFWSAidXRM dmNpVW91U1VSRnpmalB4TEJmNVc0SVNzVVg0cHdCREY3TjFBZloiIENBQ0hFIFNUUklORyAiQVBJ IGtleSB5b3UgY2FuIGdldCBmcm9tIHBhc3RlLmVlIHdoZW4geW91IHJlZ2lzdGVyIGFuIGFjY291 bnQiKQorLQorICMgSW1ndXIgQVBJIENsaWVudCBJRAorIHNldChMYXVuY2hlcl9JTUdVUl9DTElF TlRfSUQgIjViOTdiMDcxM2ZiYTRhMyIgQ0FDSEUgU1RSSU5HICJDbGllbnQgSUQgeW91IGNhbiBn ZXQgZnJvbSBJbWd1ciB3aGVuIHlvdSByZWdpc3RlciBhbiBhcHBsaWNhdGlvbiIpCisgCitAQCAt ODAsNiArNzgsOSBAQCBzZXQoTGF1bmNoZXJfTVNBX0NMSUVOVF9JRCAiMTdiNDdlZGQtYzg4NC00 OTk3LTkyNmQtOWU3ZjlhNmI0NjQ3IiBDQUNIRSBTVFJJTkcgIgorICMgQnVnIHRyYWNrZXIgVVJM Cisgc2V0KExhdW5jaGVyX0JVR19UUkFDS0VSX1VSTCAiaHR0cHM6Ly9naXRodWIuY29tL1BvbHlN Qy9Qb2x5TUMvaXNzdWVzIiBDQUNIRSBTVFJJTkcgIlVSTCBmb3IgdGhlIGJ1ZyB0cmFja2VyLiIp CisgCisrIyBUcmFuc2xhdGlvbnMgUGxhdGZvcm0gVVJMCisrc2V0KExhdW5jaGVyX1RSQU5TTEFU SU9OU19VUkwgImh0dHBzOi8vaG9zdGVkLndlYmxhdGUub3JnL3Byb2plY3RzL3BvbHltYy9wb2x5 bWMvIiBDQUNIRSBTVFJJTkcgIlVSTCBmb3IgdGhlIHRyYW5zbGF0aW9ucyBwbGF0Zm9ybS4iKQor KworICMgRGlzY29yZCBVUkwKKyBzZXQoTGF1bmNoZXJfRElTQ09SRF9VUkwgImh0dHBzOi8vZGlz Y29yZC5nZy9aNTJwd3hXQ0hQIiBDQUNIRSBTVFJJTkcgIlVSTCBmb3IgdGhlIERpc2NvcmQgZ3Vp bGQuIikKKyAKK2RpZmYgLS1naXQgYS9idWlsZGNvbmZpZy9CdWlsZENvbmZpZy5jcHAuaW4gYi9i dWlsZGNvbmZpZy9CdWlsZENvbmZpZy5jcHAuaW4KK2luZGV4IGFmODg0NWRjLi4yYzg3MjEyNCAx MDA2NDQKKy0tLSBhL2J1aWxkY29uZmlnL0J1aWxkQ29uZmlnLmNwcC5pbgorKysrIGIvYnVpbGRj b25maWcvQnVpbGRDb25maWcuY3BwLmluCitAQCAtNDIsMTIgKzQyLDEzIEBAIENvbmZpZzo6Q29u ZmlnKCkKKyAKKyAgICAgVkVSU0lPTl9TVFIgPSAiQExhdW5jaGVyX1ZFUlNJT05fU1RSSU5HQCI7 CisgICAgIE5FV1NfUlNTX1VSTCA9ICJATGF1bmNoZXJfTkVXU19SU1NfVVJMQCI7CistICAgIFBB U1RFX0VFX0tFWSA9ICJATGF1bmNoZXJfUEFTVEVfRUVfQVBJX0tFWUAiOworKyAgICBORVdTX09Q RU5fVVJMID0gIkBMYXVuY2hlcl9ORVdTX09QRU5fVVJMQCI7CisgICAgIElNR1VSX0NMSUVOVF9J RCA9ICJATGF1bmNoZXJfSU1HVVJfQ0xJRU5UX0lEQCI7CisgICAgIE1TQV9DTElFTlRfSUQgPSAi QExhdW5jaGVyX01TQV9DTElFTlRfSURAIjsKKyAgICAgTUVUQV9VUkwgPSAiQExhdW5jaGVyX01F VEFfVVJMQCI7CisgCisgICAgIEJVR19UUkFDS0VSX1VSTCA9ICJATGF1bmNoZXJfQlVHX1RSQUNL RVJfVVJMQCI7CisrICAgIFRSQU5TTEFUSU9OU19VUkwgPSAiQExhdW5jaGVyX1RSQU5TTEFUSU9O U19VUkxAIjsKKyAgICAgRElTQ09SRF9VUkwgPSAiQExhdW5jaGVyX0RJU0NPUkRfVVJMQCI7Cisg ICAgIFNVQlJFRERJVF9VUkwgPSAiQExhdW5jaGVyX1NVQlJFRERJVF9VUkxAIjsKKyB9CitkaWZm IC0tZ2l0IGEvYnVpbGRjb25maWcvQnVpbGRDb25maWcuaCBiL2J1aWxkY29uZmlnL0J1aWxkQ29u ZmlnLmgKK2luZGV4IDAwOWZiMmJjLi5lNzBjZDVjMCAxMDA2NDQKKy0tLSBhL2J1aWxkY29uZmln L0J1aWxkQ29uZmlnLmgKKysrKyBiL2J1aWxkY29uZmlnL0J1aWxkQ29uZmlnLmgKK0BAIC02OCw5 ICs2OCw5IEBAIHB1YmxpYzoKKyAgICAgUVN0cmluZyBORVdTX1JTU19VUkw7CisgCisgICAgIC8q KgorLSAgICAgKiBBUEkga2V5IHlvdSBjYW4gZ2V0IGZyb20gcGFzdGUuZWUgd2hlbiB5b3UgcmVn aXN0ZXIgYW4gYWNjb3VudAorKyAgICAgKiBVUkwgdGhhdCBnZXRzIG9wZW5lZCB3aGVuIHRoZSB1 c2VyIGNsaWNrcyAiTW9yZSBOZXdzIgorICAgICAgKi8KKy0gICAgUVN0cmluZyBQQVNURV9FRV9L RVk7CisrICAgIFFTdHJpbmcgTkVXU19PUEVOX1VSTDsKKyAKKyAgICAgLyoqCisgICAgICAqIENs aWVudCBJRCB5b3UgY2FuIGdldCBmcm9tIEltZ3VyIHdoZW4geW91IHJlZ2lzdGVyIGFuIGFwcGxp Y2F0aW9uCitAQCAtODgsNiArODgsNyBAQCBwdWJsaWM6CisgICAgIFFTdHJpbmcgTUVUQV9VUkw7 CisgCisgICAgIFFTdHJpbmcgQlVHX1RSQUNLRVJfVVJMOworKyAgICBRU3RyaW5nIFRSQU5TTEFU SU9OU19VUkw7CisgICAgIFFTdHJpbmcgRElTQ09SRF9VUkw7CisgICAgIFFTdHJpbmcgU1VCUkVE RElUX1VSTDsKKyAKK0BAIC05Niw3ICs5Nyw3IEBAIHB1YmxpYzoKKyAgICAgUVN0cmluZyBBVVRI X0JBU0UgPSAiaHR0cHM6Ly9hdXRoc2VydmVyLm1vamFuZy5jb20vIjsKKyAgICAgUVN0cmluZyBJ TUdVUl9CQVNFX1VSTCA9ICJodHRwczovL2FwaS5pbWd1ci5jb20vMy8iOworICAgICBRU3RyaW5n IEZNTExJQlNfQkFTRV9VUkwgPSAiaHR0cHM6Ly9maWxlcy5tdWx0aW1jLm9yZy9mbWxsaWJzLyI7 CistICAgIFFTdHJpbmcgVFJBTlNMQVRJT05TX0JBU0VfVVJMID0gImh0dHBzOi8vZmlsZXMubXVs dGltYy5vcmcvdHJhbnNsYXRpb25zLyI7CisrICAgIFFTdHJpbmcgVFJBTlNMQVRJT05TX0JBU0Vf VVJMID0gImh0dHBzOi8vbWV0YS5wb2x5bWMub3JnL3RyYW5zbGF0aW9ucy8iOworIAorICAgICBR U3RyaW5nIE1PRFBBQ0tTQ0hfQVBJX0JBU0VfVVJMID0gImh0dHBzOi8vYXBpLm1vZHBhY2tzLmNo LyI7CisgCitkaWZmIC0tZ2l0IGEvbGF1bmNoZXIvQXBwbGljYXRpb24uY3BwIGIvbGF1bmNoZXIv QXBwbGljYXRpb24uY3BwCitpbmRleCA5YmQ0ZWJhZS4uOTQ3MmYwZWYgMTAwNjQ0CistLS0gYS9s YXVuY2hlci9BcHBsaWNhdGlvbi5jcHAKKysrKyBiL2xhdW5jaGVyL0FwcGxpY2F0aW9uLmNwcAor QEAgLTE0LDcgKzE0LDcgQEAKKyAjaW5jbHVkZSAidWkvcGFnZXMvZ2xvYmFsL1Byb3h5UGFnZS5o IgorICNpbmNsdWRlICJ1aS9wYWdlcy9nbG9iYWwvRXh0ZXJuYWxUb29sc1BhZ2UuaCIKKyAjaW5j bHVkZSAidWkvcGFnZXMvZ2xvYmFsL0FjY291bnRMaXN0UGFnZS5oIgorLSNpbmNsdWRlICJ1aS9w YWdlcy9nbG9iYWwvUGFzdGVFRVBhZ2UuaCIKKysjaW5jbHVkZSAidWkvcGFnZXMvZ2xvYmFsL1Bh c3RlUGFnZS5oIgorICNpbmNsdWRlICJ1aS9wYWdlcy9nbG9iYWwvQ3VzdG9tQ29tbWFuZHNQYWdl LmgiCisgCisgI2luY2x1ZGUgInVpL3RoZW1lcy9JVGhlbWUuaCIKK0BAIC03MTQsOCArNzE0LDgg QEAgQXBwbGljYXRpb246OkFwcGxpY2F0aW9uKGludCAmYXJnYywgY2hhciAqKmFyZ3YpIDogUUFw cGxpY2F0aW9uKGFyZ2MsIGFyZ3YpCisgCisgICAgICAgICBtX3NldHRpbmdzLT5yZWdpc3RlclNl dHRpbmcoIlVwZGF0ZURpYWxvZ0dlb21ldHJ5IiwgIiIpOworIAorLSAgICAgICAgLy8gcGFzdGUu ZWUgQVBJIGtleQorLSAgICAgICAgbV9zZXR0aW5ncy0+cmVnaXN0ZXJTZXR0aW5nKCJQYXN0ZUVF QVBJS2V5IiwgIm11bHRpbWMiKTsKKysgICAgICAgIC8vIHBhc3RlYmluIFVSTAorKyAgICAgICAg bV9zZXR0aW5ncy0+cmVnaXN0ZXJTZXR0aW5nKCJQYXN0ZWJpblVSTCIsICJodHRwczovLzB4MC5z dCIpOworIAorICAgICAgICAgLy8gSW5pdCBwYWdlIHByb3ZpZGVyCisgICAgICAgICB7CitAQCAt NzI4LDcgKzcyOCw3IEBAIEFwcGxpY2F0aW9uOjpBcHBsaWNhdGlvbihpbnQgJmFyZ2MsIGNoYXIg Kiphcmd2KSA6IFFBcHBsaWNhdGlvbihhcmdjLCBhcmd2KQorICAgICAgICAgICAgIG1fZ2xvYmFs U2V0dGluZ3NQcm92aWRlci0+YWRkUGFnZTxQcm94eVBhZ2U+KCk7CisgICAgICAgICAgICAgbV9n bG9iYWxTZXR0aW5nc1Byb3ZpZGVyLT5hZGRQYWdlPEV4dGVybmFsVG9vbHNQYWdlPigpOworICAg ICAgICAgICAgIG1fZ2xvYmFsU2V0dGluZ3NQcm92aWRlci0+YWRkUGFnZTxBY2NvdW50TGlzdFBh Z2U+KCk7CistICAgICAgICAgICAgbV9nbG9iYWxTZXR0aW5nc1Byb3ZpZGVyLT5hZGRQYWdlPFBh c3RlRUVQYWdlPigpOworKyAgICAgICAgICAgIG1fZ2xvYmFsU2V0dGluZ3NQcm92aWRlci0+YWRk UGFnZTxQYXN0ZVBhZ2U+KCk7CisgICAgICAgICB9CisgICAgICAgICBxRGVidWcoKSA8PCAiPD4g U2V0dGluZ3MgbG9hZGVkLiI7CisgICAgIH0KK2RpZmYgLS1naXQgYS9sYXVuY2hlci9DTWFrZUxp c3RzLnR4dCBiL2xhdW5jaGVyL0NNYWtlTGlzdHMudHh0CitpbmRleCBiNWM1MmFmYS4uYzQ5YjY4 YjIgMTAwNjQ0CistLS0gYS9sYXVuY2hlci9DTWFrZUxpc3RzLnR4dAorKysrIGIvbGF1bmNoZXIv Q01ha2VMaXN0cy50eHQKK0BAIC03MDcsOCArNzA3LDggQEAgU0VUKExBVU5DSEVSX1NPVVJDRVMK KyAgICAgdWkvcGFnZXMvZ2xvYmFsL0xhdW5jaGVyUGFnZS5oCisgICAgIHVpL3BhZ2VzL2dsb2Jh bC9Qcm94eVBhZ2UuY3BwCisgICAgIHVpL3BhZ2VzL2dsb2JhbC9Qcm94eVBhZ2UuaAorLSAgICB1 aS9wYWdlcy9nbG9iYWwvUGFzdGVFRVBhZ2UuY3BwCistICAgIHVpL3BhZ2VzL2dsb2JhbC9QYXN0 ZUVFUGFnZS5oCisrICAgIHVpL3BhZ2VzL2dsb2JhbC9QYXN0ZVBhZ2UuY3BwCisrICAgIHVpL3Bh Z2VzL2dsb2JhbC9QYXN0ZVBhZ2UuaAorIAorICAgICAjIEdVSSAtIHBsYXRmb3JtIHBhZ2VzCisg ICAgIHVpL3BhZ2VzL21vZHBsYXRmb3JtL1ZhbmlsbGFQYWdlLmNwcAorQEAgLTg0Miw3ICs4NDIs NyBAQCBxdDVfd3JhcF91aShMQVVOQ0hFUl9VSQorICAgICB1aS9wYWdlcy9nbG9iYWwvQWNjb3Vu dExpc3RQYWdlLnVpCisgICAgIHVpL3BhZ2VzL2dsb2JhbC9KYXZhUGFnZS51aQorICAgICB1aS9w YWdlcy9nbG9iYWwvTGF1bmNoZXJQYWdlLnVpCistICAgIHVpL3BhZ2VzL2dsb2JhbC9QYXN0ZUVF UGFnZS51aQorKyAgICB1aS9wYWdlcy9nbG9iYWwvUGFzdGVQYWdlLnVpCisgICAgIHVpL3BhZ2Vz L2dsb2JhbC9Qcm94eVBhZ2UudWkKKyAgICAgdWkvcGFnZXMvZ2xvYmFsL01pbmVjcmFmdFBhZ2Uu dWkKKyAgICAgdWkvcGFnZXMvZ2xvYmFsL0V4dGVybmFsVG9vbHNQYWdlLnVpCitkaWZmIC0tZ2l0 IGEvbGF1bmNoZXIvbmV0L1Bhc3RlVXBsb2FkLmNwcCBiL2xhdW5jaGVyL25ldC9QYXN0ZVVwbG9h ZC5jcHAKK2luZGV4IDRiNjliNjhhLi42YzVhYTIyMSAxMDA2NDQKKy0tLSBhL2xhdW5jaGVyL25l dC9QYXN0ZVVwbG9hZC5jcHAKKysrKyBiL2xhdW5jaGVyL25ldC9QYXN0ZVVwbG9hZC5jcHAKK0BA IC04LDQ0ICs4LDM0IEBACisgI2luY2x1ZGUgPFFKc29uRG9jdW1lbnQ+CisgI2luY2x1ZGUgPFFG aWxlPgorIAorLVBhc3RlVXBsb2FkOjpQYXN0ZVVwbG9hZChRV2lkZ2V0ICp3aW5kb3csIFFTdHJp bmcgdGV4dCwgUVN0cmluZyBrZXkpIDogbV93aW5kb3cod2luZG93KQorK1Bhc3RlVXBsb2FkOjpQ YXN0ZVVwbG9hZChRV2lkZ2V0ICp3aW5kb3csIFFTdHJpbmcgdGV4dCwgUVN0cmluZyB1cmwpIDog bV93aW5kb3cod2luZG93KSwgbV91cGxvYWRVcmwodXJsKSwgbV90ZXh0KHRleHQudG9VdGY4KCkp CisgeworLSAgICBtX2tleSA9IGtleTsKKy0gICAgUUJ5dGVBcnJheSB0ZW1wOworLSAgICBRSnNv bk9iamVjdCB0b3BMZXZlbE9iajsKKy0gICAgUUpzb25PYmplY3Qgc2VjdGlvbk9iamVjdDsKKy0g ICAgc2VjdGlvbk9iamVjdC5pbnNlcnQoImNvbnRlbnRzIiwgdGV4dCk7CistICAgIFFKc29uQXJy YXkgc2VjdGlvbkFycmF5OworLSAgICBzZWN0aW9uQXJyYXkuYXBwZW5kKHNlY3Rpb25PYmplY3Qp OworLSAgICB0b3BMZXZlbE9iai5pbnNlcnQoImRlc2NyaXB0aW9uIiwgIkxvZyBVcGxvYWQiKTsK Ky0gICAgdG9wTGV2ZWxPYmouaW5zZXJ0KCJzZWN0aW9ucyIsIHNlY3Rpb25BcnJheSk7CistICAg IFFKc29uRG9jdW1lbnQgZG9jT3V0OworLSAgICBkb2NPdXQuc2V0T2JqZWN0KHRvcExldmVsT2Jq KTsKKy0gICAgbV9qc29uQ29udGVudCA9IGRvY091dC50b0pzb24oKTsKKyB9CisgCisgUGFzdGVV cGxvYWQ6On5QYXN0ZVVwbG9hZCgpCisgeworIH0KKyAKKy1ib29sIFBhc3RlVXBsb2FkOjp2YWxp ZGF0ZVRleHQoKQorLXsKKy0gICAgcmV0dXJuIG1fanNvbkNvbnRlbnQuc2l6ZSgpIDw9IG1heFNp emUoKTsKKy19CistCisgdm9pZCBQYXN0ZVVwbG9hZDo6ZXhlY3V0ZVRhc2soKQorIHsKKy0gICAg UU5ldHdvcmtSZXF1ZXN0IHJlcXVlc3QoUVVybCgiaHR0cHM6Ly9hcGkucGFzdGUuZWUvdjEvcGFz dGVzIikpOworKyAgICBRTmV0d29ya1JlcXVlc3QgcmVxdWVzdHtRVXJsKG1fdXBsb2FkVXJsKX07 CisgICAgIHJlcXVlc3Quc2V0SGVhZGVyKFFOZXR3b3JrUmVxdWVzdDo6VXNlckFnZW50SGVhZGVy LCBCdWlsZENvbmZpZy5VU0VSX0FHRU5UX1VOQ0FDSEVEKTsKKyAKKy0gICAgcmVxdWVzdC5zZXRS YXdIZWFkZXIoIkNvbnRlbnQtVHlwZSIsICJhcHBsaWNhdGlvbi9qc29uIik7CistICAgIHJlcXVl c3Quc2V0UmF3SGVhZGVyKCJDb250ZW50LUxlbmd0aCIsIFFCeXRlQXJyYXk6Om51bWJlcihtX2pz b25Db250ZW50LnNpemUoKSkpOworLSAgICByZXF1ZXN0LnNldFJhd0hlYWRlcigiWC1BdXRoLVRv a2VuIiwgbV9rZXkudG9TdGRTdHJpbmcoKS5jX3N0cigpKTsKKysgICAgUUh0dHBNdWx0aVBhcnQg Km11bHRpUGFydCA9IG5ldyBRSHR0cE11bHRpUGFydHtRSHR0cE11bHRpUGFydDo6Rm9ybURhdGFU eXBlfTsKKyAKKy0gICAgUU5ldHdvcmtSZXBseSAqcmVwID0gQVBQTElDQVRJT04tPm5ldHdvcmso KS0+cG9zdChyZXF1ZXN0LCBtX2pzb25Db250ZW50KTsKKysgICAgUUh0dHBQYXJ0IGZpbGVQYXJ0 OworKyAgICBmaWxlUGFydC5zZXRCb2R5KG1fdGV4dCk7CisrICAgIGZpbGVQYXJ0LnNldEhlYWRl cihRTmV0d29ya1JlcXVlc3Q6OkNvbnRlbnRUeXBlSGVhZGVyLCAidGV4dC9wbGFpbiIpOworKyAg ICBmaWxlUGFydC5zZXRIZWFkZXIoUU5ldHdvcmtSZXF1ZXN0OjpDb250ZW50RGlzcG9zaXRpb25I ZWFkZXIsICJmb3JtLWRhdGE7IG5hbWU9XCJmaWxlXCI7IGZpbGVuYW1lPVwibG9nLnR4dFwiIik7 CisrCisrICAgIG11bHRpUGFydC0+YXBwZW5kKGZpbGVQYXJ0KTsKKysKKysgICAgUU5ldHdvcmtS ZXBseSAqcmVwID0gQVBQTElDQVRJT04tPm5ldHdvcmsoKS0+cG9zdChyZXF1ZXN0LCBtdWx0aVBh cnQpOworKyAgICBtdWx0aVBhcnQtPnNldFBhcmVudChyZXApOworIAorICAgICBtX3JlcGx5ID0g c3RkOjpzaGFyZWRfcHRyPFFOZXR3b3JrUmVwbHk+KHJlcCk7CistICAgIHNldFN0YXR1cyh0cigi VXBsb2FkaW5nIHRvIHBhc3RlLmVlIikpOworKyAgICBzZXRTdGF0dXModHIoIlVwbG9hZGluZyB0 byAlMSIpLmFyZyhtX3VwbG9hZFVybCkpOworKworICAgICBjb25uZWN0KHJlcCwgJlFOZXR3b3Jr UmVwbHk6OnVwbG9hZFByb2dyZXNzLCB0aGlzLCAmVGFzazo6c2V0UHJvZ3Jlc3MpOworICAgICBj b25uZWN0KHJlcCwgU0lHTkFMKGVycm9yKFFOZXR3b3JrUmVwbHk6Ok5ldHdvcmtFcnJvcikpLCB0 aGlzLCBTTE9UKGRvd25sb2FkRXJyb3IoUU5ldHdvcmtSZXBseTo6TmV0d29ya0Vycm9yKSkpOwor ICAgICBjb25uZWN0KHJlcCwgU0lHTkFMKGZpbmlzaGVkKCkpLCB0aGlzLCBTTE9UKGRvd25sb2Fk RmluaXNoZWQoKSkpOworQEAgLTYxLDQ1ICs1MSwyMyBAQCB2b2lkIFBhc3RlVXBsb2FkOjpkb3du bG9hZEVycm9yKFFOZXR3b3JrUmVwbHk6Ok5ldHdvcmtFcnJvciBlcnJvcikKKyB2b2lkIFBhc3Rl VXBsb2FkOjpkb3dubG9hZEZpbmlzaGVkKCkKKyB7CisgICAgIFFCeXRlQXJyYXkgZGF0YSA9IG1f cmVwbHktPnJlYWRBbGwoKTsKKy0gICAgLy8gaWYgdGhlIGRvd25sb2FkIHN1Y2NlZWRlZAorLSAg ICBpZiAobV9yZXBseS0+ZXJyb3IoKSA9PSBRTmV0d29ya1JlcGx5OjpOZXR3b3JrRXJyb3I6Ok5v RXJyb3IpCisrICAgIGludCBzdGF0dXNDb2RlID0gbV9yZXBseS0+YXR0cmlidXRlKFFOZXR3b3Jr UmVxdWVzdDo6SHR0cFN0YXR1c0NvZGVBdHRyaWJ1dGUpLnRvSW50KCk7CisrCisrICAgIGlmICht X3JlcGx5LT5lcnJvcigpICE9IFFOZXR3b3JrUmVwbHk6Ok5ldHdvcmtFcnJvcjo6Tm9FcnJvcikK KyAgICAgeworLSAgICAgICAgbV9yZXBseS5yZXNldCgpOworLSAgICAgICAgUUpzb25QYXJzZUVy cm9yIGpzb25FcnJvcjsKKy0gICAgICAgIFFKc29uRG9jdW1lbnQgZG9jID0gUUpzb25Eb2N1bWVu dDo6ZnJvbUpzb24oZGF0YSwgJmpzb25FcnJvcik7CistICAgICAgICBpZiAoanNvbkVycm9yLmVy cm9yICE9IFFKc29uUGFyc2VFcnJvcjo6Tm9FcnJvcikKKy0gICAgICAgIHsKKy0gICAgICAgICAg ICBlbWl0RmFpbGVkKGpzb25FcnJvci5lcnJvclN0cmluZygpKTsKKy0gICAgICAgICAgICByZXR1 cm47CistICAgICAgICB9CistICAgICAgICBpZiAoIXBhcnNlUmVzdWx0KGRvYykpCistICAgICAg ICB7CistICAgICAgICAgICAgZW1pdEZhaWxlZCh0cigicGFzdGUuZWUgcmV0dXJuZWQgYW4gZXJy b3IuIFBsZWFzZSBjb25zdWx0IHRoZSBsb2dzIGZvciBtb3JlIGluZm9ybWF0aW9uIikpOworLSAg ICAgICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0gICAgfQorLSAgICAvLyBlbHNlIHRoZSBk b3dubG9hZCBmYWlsZWQKKy0gICAgZWxzZQorLSAgICB7CistICAgICAgICBlbWl0RmFpbGVkKFFT dHJpbmcoIk5ldHdvcmsgZXJyb3I6ICUxIikuYXJnKG1fcmVwbHktPmVycm9yU3RyaW5nKCkpKTsK KysgICAgICAgIGVtaXRGYWlsZWQodHIoIk5ldHdvcmsgZXJyb3I6ICUxIikuYXJnKG1fcmVwbHkt PmVycm9yU3RyaW5nKCkpKTsKKyAgICAgICAgIG1fcmVwbHkucmVzZXQoKTsKKyAgICAgICAgIHJl dHVybjsKKyAgICAgfQorKyAgICBlbHNlIGlmIChzdGF0dXNDb2RlICE9IDIwMCkKKysgICAgewor KyAgICAgICAgUVN0cmluZyByZWFzb25QaHJhc2UgPSBtX3JlcGx5LT5hdHRyaWJ1dGUoUU5ldHdv cmtSZXF1ZXN0OjpIdHRwUmVhc29uUGhyYXNlQXR0cmlidXRlKS50b1N0cmluZygpOworKyAgICAg ICAgZW1pdEZhaWxlZCh0cigiRXJyb3I6ICUxIHJldHVybmVkIHVuZXhwZWN0ZWQgc3RhdHVzIGNv ZGUgJTIgJTMiKS5hcmcobV91cGxvYWRVcmwpLmFyZyhzdGF0dXNDb2RlKS5hcmcocmVhc29uUGhy YXNlKSk7CisrICAgICAgICBxQ3JpdGljYWwoKSA8PCBtX3VwbG9hZFVybCA8PCAiIHJldHVybmVk IHVuZXhwZWN0ZWQgc3RhdHVzIGNvZGUgIiA8PCBzdGF0dXNDb2RlIDw8ICIgd2l0aCBib2R5OiAi IDw8IGRhdGE7CisrICAgICAgICBtX3JlcGx5LnJlc2V0KCk7CisrICAgICAgICByZXR1cm47Cisr ICAgIH0KKysKKysgICAgbV9wYXN0ZUxpbmsgPSBRU3RyaW5nOjpmcm9tVXRmOChkYXRhKTsKKyAg ICAgZW1pdFN1Y2NlZWRlZCgpOworIH0KKy0KKy1ib29sIFBhc3RlVXBsb2FkOjpwYXJzZVJlc3Vs dChRSnNvbkRvY3VtZW50IGRvYykKKy17CistICAgIGF1dG8gb2JqZWN0ID0gZG9jLm9iamVjdCgp OworLSAgICBhdXRvIHN0YXR1cyA9IG9iamVjdC52YWx1ZSgic3VjY2VzcyIpLnRvQm9vbCgpOwor LSAgICBpZiAoIXN0YXR1cykKKy0gICAgeworLSAgICAgICAgcUNyaXRpY2FsKCkgPDwgInBhc3Rl LmVlIHJlcG9ydGVkIGVycm9yOiIgPDwgUVN0cmluZyhvYmplY3QudmFsdWUoImVycm9yIikudG9T dHJpbmcoKSk7CistICAgICAgICByZXR1cm4gZmFsc2U7CistICAgIH0KKy0gICAgbV9wYXN0ZUxp bmsgPSBvYmplY3QudmFsdWUoImxpbmsiKS50b1N0cmluZygpOworLSAgICBtX3Bhc3RlSUQgPSBv YmplY3QudmFsdWUoImlkIikudG9TdHJpbmcoKTsKKy0gICAgcURlYnVnKCkgPDwgbV9wYXN0ZUxp bms7CistICAgIHJldHVybiB0cnVlOworLX0KKy0KK2RpZmYgLS1naXQgYS9sYXVuY2hlci9uZXQv UGFzdGVVcGxvYWQuaCBiL2xhdW5jaGVyL25ldC9QYXN0ZVVwbG9hZC5oCitpbmRleCA1NTE0ZTA1 OC4uNjJiMmRjMzYgMTAwNjQ0CistLS0gYS9sYXVuY2hlci9uZXQvUGFzdGVVcGxvYWQuaAorKysr IGIvbGF1bmNoZXIvbmV0L1Bhc3RlVXBsb2FkLmgKK0BAIC04LDM3ICs4LDIxIEBAIGNsYXNzIFBh c3RlVXBsb2FkIDogcHVibGljIFRhc2sKKyB7CisgICAgIFFfT0JKRUNUCisgcHVibGljOgorLSAg ICBQYXN0ZVVwbG9hZChRV2lkZ2V0ICp3aW5kb3csIFFTdHJpbmcgdGV4dCwgUVN0cmluZyBrZXkg PSAicHVibGljIik7CisrICAgIFBhc3RlVXBsb2FkKFFXaWRnZXQgKndpbmRvdywgUVN0cmluZyB0 ZXh0LCBRU3RyaW5nIHVybCk7CisgICAgIHZpcnR1YWwgflBhc3RlVXBsb2FkKCk7CisgCisgICAg IFFTdHJpbmcgcGFzdGVMaW5rKCkKKyAgICAgeworICAgICAgICAgcmV0dXJuIG1fcGFzdGVMaW5r OworICAgICB9CistICAgIFFTdHJpbmcgcGFzdGVJRCgpCistICAgIHsKKy0gICAgICAgIHJldHVy biBtX3Bhc3RlSUQ7CistICAgIH0KKy0gICAgaW50IG1heFNpemUoKQorLSAgICB7CistICAgICAg ICAvLyAyTUIgZm9yIHBhc3RlLmVlIC0gcHVibGljCistICAgICAgICBpZihtX2tleSA9PSAicHVi bGljIikKKy0gICAgICAgICAgICByZXR1cm4gMTAyNCoxMDI0KjI7CistICAgICAgICAvLyAxMk1C IGZvciBwYXN0ZS5lZSAtIHdpdGggYWN0dWFsIGtleQorLSAgICAgICAgcmV0dXJuIDEwMjQqMTAy NCoxMjsKKy0gICAgfQorLSAgICBib29sIHZhbGlkYXRlVGV4dCgpOworIHByb3RlY3RlZDoKKyAg ICAgdmlydHVhbCB2b2lkIGV4ZWN1dGVUYXNrKCk7CisgCisgcHJpdmF0ZToKKy0gICAgYm9vbCBw YXJzZVJlc3VsdChRSnNvbkRvY3VtZW50IGRvYyk7CistICAgIFFTdHJpbmcgbV9lcnJvcjsKKyAg ICAgUVdpZGdldCAqbV93aW5kb3c7CistICAgIFFTdHJpbmcgbV9wYXN0ZUlEOworICAgICBRU3Ry aW5nIG1fcGFzdGVMaW5rOworLSAgICBRU3RyaW5nIG1fa2V5OworLSAgICBRQnl0ZUFycmF5IG1f anNvbkNvbnRlbnQ7CisrICAgIFFTdHJpbmcgbV91cGxvYWRVcmw7CisrICAgIFFCeXRlQXJyYXkg bV90ZXh0OworICAgICBzdGQ6OnNoYXJlZF9wdHI8UU5ldHdvcmtSZXBseT4gbV9yZXBseTsKKyBw dWJsaWMKKyBzbG90czoKK2RpZmYgLS1naXQgYS9sYXVuY2hlci9uZXdzL05ld3NDaGVja2VyLmNw cCBiL2xhdW5jaGVyL25ld3MvTmV3c0NoZWNrZXIuY3BwCitpbmRleCA0ZjQzNTliOC4uNjcyNDk1 MGYgMTAwNjQ0CistLS0gYS9sYXVuY2hlci9uZXdzL05ld3NDaGVja2VyLmNwcAorKysrIGIvbGF1 bmNoZXIvbmV3cy9OZXdzQ2hlY2tlci5jcHAKK0BAIC03MCw3ICs3MCw3IEBAIHZvaWQgTmV3c0No ZWNrZXI6OnJzc0Rvd25sb2FkRmluaXNoZWQoKQorICAgICB9CisgCisgICAgIC8vIElmIHRoZSBw YXJzaW5nIHN1Y2NlZWRlZCwgcmVhZCBpdC4KKy0gICAgUURvbU5vZGVMaXN0IGl0ZW1zID0gZG9j LmVsZW1lbnRzQnlUYWdOYW1lKCJpdGVtIik7CisrICAgIFFEb21Ob2RlTGlzdCBpdGVtcyA9IGRv Yy5lbGVtZW50c0J5VGFnTmFtZSgiZW50cnkiKTsKKyAgICAgbV9uZXdzRW50cmllcy5jbGVhcigp OworICAgICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aCgpOyBpKyspCisgICAgIHsK K2RpZmYgLS1naXQgYS9sYXVuY2hlci90cmFuc2xhdGlvbnMvVHJhbnNsYXRpb25zTW9kZWwuY3Bw IGIvbGF1bmNoZXIvdHJhbnNsYXRpb25zL1RyYW5zbGF0aW9uc01vZGVsLmNwcAoraW5kZXggMmU3 NDQwMDcuLjVmN2RiNGQ3IDEwMDY0NAorLS0tIGEvbGF1bmNoZXIvdHJhbnNsYXRpb25zL1RyYW5z bGF0aW9uc01vZGVsLmNwcAorKysrIGIvbGF1bmNoZXIvdHJhbnNsYXRpb25zL1RyYW5zbGF0aW9u c01vZGVsLmNwcAorQEAgLTU3Niw3ICs1NzYsNyBAQCB2b2lkIFRyYW5zbGF0aW9uc01vZGVsOjpk b3dubG9hZEluZGV4KCkKKyAgICAgZC0+bV9pbmRleF9qb2IgPSBuZXcgTmV0Sm9iKCJUcmFuc2xh dGlvbnMgSW5kZXgiLCBBUFBMSUNBVElPTi0+bmV0d29yaygpKTsKKyAgICAgTWV0YUVudHJ5UHRy IGVudHJ5ID0gQVBQTElDQVRJT04tPm1ldGFjYWNoZSgpLT5yZXNvbHZlRW50cnkoInRyYW5zbGF0 aW9ucyIsICJpbmRleF92Mi5qc29uIik7CisgICAgIGVudHJ5LT5zZXRTdGFsZSh0cnVlKTsKKy0g ICAgZC0+bV9pbmRleF90YXNrID0gTmV0OjpEb3dubG9hZDo6bWFrZUNhY2hlZChRVXJsKCJodHRw czovL2ZpbGVzLm11bHRpbWMub3JnL3RyYW5zbGF0aW9ucy9pbmRleF92Mi5qc29uIiksIGVudHJ5 KTsKKysgICAgZC0+bV9pbmRleF90YXNrID0gTmV0OjpEb3dubG9hZDo6bWFrZUNhY2hlZChRVXJs KEJ1aWxkQ29uZmlnLlRSQU5TTEFUSU9OU19CQVNFX1VSTCArICJpbmRleF92Mi5qc29uIiksIGVu dHJ5KTsKKyAgICAgZC0+bV9pbmRleF9qb2ItPmFkZE5ldEFjdGlvbihkLT5tX2luZGV4X3Rhc2sp OworICAgICBjb25uZWN0KGQtPm1faW5kZXhfam9iLmdldCgpLCAmTmV0Sm9iOjpmYWlsZWQsIHRo aXMsICZUcmFuc2xhdGlvbnNNb2RlbDo6aW5kZXhGYWlsZWQpOworICAgICBjb25uZWN0KGQtPm1f aW5kZXhfam9iLmdldCgpLCAmTmV0Sm9iOjpzdWNjZWVkZWQsIHRoaXMsICZUcmFuc2xhdGlvbnNN b2RlbDo6aW5kZXhSZWNlaXZlZCk7CitkaWZmIC0tZ2l0IGEvbGF1bmNoZXIvdWkvR3VpVXRpbC5j cHAgYi9sYXVuY2hlci91aS9HdWlVdGlsLmNwcAoraW5kZXggZWZiMWE0ZGYuLjllYjY1OGUyIDEw MDY0NAorLS0tIGEvbGF1bmNoZXIvdWkvR3VpVXRpbC5jcHAKKysrKyBiL2xhdW5jaGVyL3VpL0d1 aVV0aWwuY3BwCitAQCAtMTYsMjEgKzE2LDggQEAKKyBRU3RyaW5nIEd1aVV0aWw6OnVwbG9hZFBh c3RlKGNvbnN0IFFTdHJpbmcgJnRleHQsIFFXaWRnZXQgKnBhcmVudFdpZGdldCkKKyB7CisgICAg IFByb2dyZXNzRGlhbG9nIGRpYWxvZyhwYXJlbnRXaWRnZXQpOworLSAgICBhdXRvIEFQSUtleVNl dHRpbmcgPSBBUFBMSUNBVElPTi0+c2V0dGluZ3MoKS0+Z2V0KCJQYXN0ZUVFQVBJS2V5IikudG9T dHJpbmcoKTsKKy0gICAgaWYoQVBJS2V5U2V0dGluZyA9PSAibXVsdGltYyIpCistICAgIHsKKy0g ICAgICAgIEFQSUtleVNldHRpbmcgPSBCdWlsZENvbmZpZy5QQVNURV9FRV9LRVk7CistICAgIH0K Ky0gICAgc3RkOjp1bmlxdWVfcHRyPFBhc3RlVXBsb2FkPiBwYXN0ZShuZXcgUGFzdGVVcGxvYWQo cGFyZW50V2lkZ2V0LCB0ZXh0LCBBUElLZXlTZXR0aW5nKSk7CistCistICAgIGlmICghcGFzdGUt PnZhbGlkYXRlVGV4dCgpKQorLSAgICB7CistICAgICAgICBDdXN0b21NZXNzYWdlQm94OjpzZWxl Y3RhYmxlKAorLSAgICAgICAgICAgIHBhcmVudFdpZGdldCwgUU9iamVjdDo6dHIoIlVwbG9hZCBm YWlsZWQiKSwKKy0gICAgICAgICAgICBRT2JqZWN0Ojp0cigiVGhlIGxvZyBmaWxlIGlzIHRvbyBi aWcuIFlvdSdsbCBoYXZlIHRvIHVwbG9hZCBpdCBtYW51YWxseS4iKSwKKy0gICAgICAgICAgICBR TWVzc2FnZUJveDo6V2FybmluZyktPmV4ZWMoKTsKKy0gICAgICAgIHJldHVybiBRU3RyaW5nKCk7 CistICAgIH0KKysgICAgYXV0byBwYXN0ZVVybFNldHRpbmcgPSBBUFBMSUNBVElPTi0+c2V0dGlu Z3MoKS0+Z2V0KCJQYXN0ZWJpblVSTCIpLnRvU3RyaW5nKCk7CisrICAgIHN0ZDo6dW5pcXVlX3B0 cjxQYXN0ZVVwbG9hZD4gcGFzdGUobmV3IFBhc3RlVXBsb2FkKHBhcmVudFdpZGdldCwgdGV4dCwg cGFzdGVVcmxTZXR0aW5nKSk7CisgCisgICAgIGRpYWxvZy5leGVjV2l0aFRhc2socGFzdGUuZ2V0 KCkpOworICAgICBpZiAoIXBhc3RlLT53YXNTdWNjZXNzZnVsKCkpCitkaWZmIC0tZ2l0IGEvbGF1 bmNoZXIvdWkvTWFpbldpbmRvdy5jcHAgYi9sYXVuY2hlci91aS9NYWluV2luZG93LmNwcAoraW5k ZXggM2RjYzhlZTkuLjMyYjI3YWZiIDEwMDY0NAorLS0tIGEvbGF1bmNoZXIvdWkvTWFpbldpbmRv dy5jcHAKKysrKyBiL2xhdW5jaGVyL3VpL01haW5XaW5kb3cuY3BwCitAQCAtMTY4Nyw3ICsxNjg3 LDcgQEAgdm9pZCBNYWluV2luZG93Ojpvbl9hY3Rpb25SZXBvcnRCdWdfdHJpZ2dlcmVkKCkKKyAK KyB2b2lkIE1haW5XaW5kb3c6Om9uX2FjdGlvbk1vcmVOZXdzX3RyaWdnZXJlZCgpCisgeworLSAg ICBEZXNrdG9wU2VydmljZXM6Om9wZW5VcmwoUVVybCgiaHR0cHM6Ly9tdWx0aW1jLm9yZy9wb3N0 cy5odG1sIikpOworKyAgICBEZXNrdG9wU2VydmljZXM6Om9wZW5VcmwoUVVybChCdWlsZENvbmZp Zy5ORVdTX09QRU5fVVJMKSk7CisgfQorIAorIHZvaWQgTWFpbldpbmRvdzo6bmV3c0J1dHRvbkNs aWNrZWQoKQorQEAgLTE2OTksNyArMTY5OSw3IEBAIHZvaWQgTWFpbldpbmRvdzo6bmV3c0J1dHRv bkNsaWNrZWQoKQorICAgICB9CisgICAgIGVsc2UKKyAgICAgeworLSAgICAgICAgRGVza3RvcFNl cnZpY2VzOjpvcGVuVXJsKFFVcmwoImh0dHBzOi8vbXVsdGltYy5vcmcvcG9zdHMuaHRtbCIpKTsK KysgICAgICAgIERlc2t0b3BTZXJ2aWNlczo6b3BlblVybChRVXJsKEJ1aWxkQ29uZmlnLk5FV1Nf T1BFTl9VUkwpKTsKKyAgICAgfQorIH0KKyAKK2RpZmYgLS1naXQgYS9sYXVuY2hlci91aS9wYWdl cy9nbG9iYWwvUGFzdGVFRVBhZ2UuY3BwIGIvbGF1bmNoZXIvdWkvcGFnZXMvZ2xvYmFsL1Bhc3Rl UGFnZS5jcHAKK3NpbWlsYXJpdHkgaW5kZXggNTElCityZW5hbWUgZnJvbSBsYXVuY2hlci91aS9w YWdlcy9nbG9iYWwvUGFzdGVFRVBhZ2UuY3BwCityZW5hbWUgdG8gbGF1bmNoZXIvdWkvcGFnZXMv Z2xvYmFsL1Bhc3RlUGFnZS5jcHAKK2luZGV4IDRiMzc1ZDlhLi43YzY5ZTFhNCAxMDA2NDQKKy0t LSBhL2xhdW5jaGVyL3VpL3BhZ2VzL2dsb2JhbC9QYXN0ZUVFUGFnZS5jcHAKKysrKyBiL2xhdW5j aGVyL3VpL3BhZ2VzL2dsb2JhbC9QYXN0ZVBhZ2UuY3BwCitAQCAtMSw0ICsxLDQgQEAKKy0vKiBD b3B5cmlnaHQgMjAxMy0yMDIxIE11bHRpTUMgQ29udHJpYnV0b3JzCisrLyogQ29weXJpZ2h0IDIw MTMtMjAyMSBNdWx0aU1DICYgUG9seU1DIENvbnRyaWJ1dG9ycworICAqCisgICogTGljZW5zZWQg dW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Cisg ICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRo ZSBMaWNlbnNlLgorQEAgLTEzLDY5ICsxMyw1MSBAQAorICAqIGxpbWl0YXRpb25zIHVuZGVyIHRo ZSBMaWNlbnNlLgorICAqLworIAorLSNpbmNsdWRlICJQYXN0ZUVFUGFnZS5oIgorLSNpbmNsdWRl ICJ1aV9QYXN0ZUVFUGFnZS5oIgorKyNpbmNsdWRlICJQYXN0ZVBhZ2UuaCIKKysjaW5jbHVkZSAi dWlfUGFzdGVQYWdlLmgiCisgCisgI2luY2x1ZGUgPFFNZXNzYWdlQm94PgorICNpbmNsdWRlIDxR RmlsZURpYWxvZz4KKyAjaW5jbHVkZSA8UVN0YW5kYXJkUGF0aHM+CisgI2luY2x1ZGUgPFFUYWJC YXI+CisrI2luY2x1ZGUgPFFWYXJpYW50PgorIAorICNpbmNsdWRlICJzZXR0aW5ncy9TZXR0aW5n c09iamVjdC5oIgorICNpbmNsdWRlICJ0b29scy9CYXNlUHJvZmlsZXIuaCIKKyAjaW5jbHVkZSAi QXBwbGljYXRpb24uaCIKKyAKKy1QYXN0ZUVFUGFnZTo6UGFzdGVFRVBhZ2UoUVdpZGdldCAqcGFy ZW50KSA6CisrUGFzdGVQYWdlOjpQYXN0ZVBhZ2UoUVdpZGdldCAqcGFyZW50KSA6CisgICAgIFFX aWRnZXQocGFyZW50KSwKKy0gICAgdWkobmV3IFVpOjpQYXN0ZUVFUGFnZSkKKysgICAgdWkobmV3 IFVpOjpQYXN0ZVBhZ2UpCisgeworKyAgICBzdGF0aWMgUVJlZ3VsYXJFeHByZXNzaW9uIHZhbGlk VXJsUmVnRXhwKCJodHRwcz86Ly8uKyIpOworICAgICB1aS0+c2V0dXBVaSh0aGlzKTsKKysgICAg dWktPnVybENob2ljZXMtPnNldFZhbGlkYXRvcihuZXcgUVJlZ3VsYXJFeHByZXNzaW9uVmFsaWRh dG9yKHZhbGlkVXJsUmVnRXhwLCB1aS0+dXJsQ2hvaWNlcykpOworICAgICB1aS0+dGFiV2lkZ2V0 LT50YWJCYXIoKS0+aGlkZSgpO1wKKy0gICAgY29ubmVjdCh1aS0+Y3VzdG9tQVBJa2V5RWRpdCwg JlFMaW5lRWRpdDo6dGV4dEVkaXRlZCwgdGhpcywgJlBhc3RlRUVQYWdlOjp0ZXh0RWRpdGVkKTsK KyAgICAgbG9hZFNldHRpbmdzKCk7CisgfQorIAorLVBhc3RlRUVQYWdlOjp+UGFzdGVFRVBhZ2Uo KQorK1Bhc3RlUGFnZTo6flBhc3RlUGFnZSgpCisgeworICAgICBkZWxldGUgdWk7CisgfQorIAor LXZvaWQgUGFzdGVFRVBhZ2U6OmxvYWRTZXR0aW5ncygpCisrdm9pZCBQYXN0ZVBhZ2U6OmxvYWRT ZXR0aW5ncygpCisgeworICAgICBhdXRvIHMgPSBBUFBMSUNBVElPTi0+c2V0dGluZ3MoKTsKKy0g ICAgUVN0cmluZyBrZXlUb1VzZSA9IHMtPmdldCgiUGFzdGVFRUFQSUtleSIpLnRvU3RyaW5nKCk7 CistICAgIGlmKGtleVRvVXNlID09ICJtdWx0aW1jIikKKy0gICAgeworLSAgICAgICAgdWktPm11 bHRpbWNCdXR0b24tPnNldENoZWNrZWQodHJ1ZSk7CistICAgIH0KKy0gICAgZWxzZQorLSAgICB7 CistICAgICAgICB1aS0+Y3VzdG9tQnV0dG9uLT5zZXRDaGVja2VkKHRydWUpOworLSAgICAgICAg dWktPmN1c3RvbUFQSWtleUVkaXQtPnNldFRleHQoa2V5VG9Vc2UpOworLSAgICB9CisrICAgIFFT dHJpbmcgcGFzdGViaW5VUkwgPSBzLT5nZXQoIlBhc3RlYmluVVJMIikudG9TdHJpbmcoKTsKKysg ICAgdWktPnVybENob2ljZXMtPnNldEN1cnJlbnRUZXh0KHBhc3RlYmluVVJMKTsKKyB9CisgCist dm9pZCBQYXN0ZUVFUGFnZTo6YXBwbHlTZXR0aW5ncygpCisrdm9pZCBQYXN0ZVBhZ2U6OmFwcGx5 U2V0dGluZ3MoKQorIHsKKyAgICAgYXV0byBzID0gQVBQTElDQVRJT04tPnNldHRpbmdzKCk7Cist CistICAgIFFTdHJpbmcgcGFzdGVLZXlUb1VzZTsKKy0gICAgaWYgKHVpLT5jdXN0b21CdXR0b24t PmlzQ2hlY2tlZCgpKQorLSAgICAgICAgcGFzdGVLZXlUb1VzZSA9IHVpLT5jdXN0b21BUElrZXlF ZGl0LT50ZXh0KCk7CistICAgIGVsc2UKKy0gICAgeworLSAgICAgICAgcGFzdGVLZXlUb1VzZSA9 ICAibXVsdGltYyI7CistICAgIH0KKy0gICAgcy0+c2V0KCJQYXN0ZUVFQVBJS2V5IiwgcGFzdGVL ZXlUb1VzZSk7CisrICAgIFFTdHJpbmcgcGFzdGViaW5VUkwgPSB1aS0+dXJsQ2hvaWNlcy0+Y3Vy cmVudFRleHQoKTsKKysgICAgcy0+c2V0KCJQYXN0ZWJpblVSTCIsIHBhc3RlYmluVVJMKTsKKyB9 CisgCistYm9vbCBQYXN0ZUVFUGFnZTo6YXBwbHkoKQorK2Jvb2wgUGFzdGVQYWdlOjphcHBseSgp CisgeworICAgICBhcHBseVNldHRpbmdzKCk7CisgICAgIHJldHVybiB0cnVlOworIH0KKy0KKy12 b2lkIFBhc3RlRUVQYWdlOjp0ZXh0RWRpdGVkKGNvbnN0IFFTdHJpbmcmIHRleHQpCisteworLSAg ICB1aS0+Y3VzdG9tQnV0dG9uLT5zZXRDaGVja2VkKHRydWUpOworLX0KK2RpZmYgLS1naXQgYS9s YXVuY2hlci91aS9wYWdlcy9nbG9iYWwvUGFzdGVFRVBhZ2UuaCBiL2xhdW5jaGVyL3VpL3BhZ2Vz L2dsb2JhbC9QYXN0ZVBhZ2UuaAorc2ltaWxhcml0eSBpbmRleCA4NCUKK3JlbmFtZSBmcm9tIGxh dW5jaGVyL3VpL3BhZ2VzL2dsb2JhbC9QYXN0ZUVFUGFnZS5oCityZW5hbWUgdG8gbGF1bmNoZXIv dWkvcGFnZXMvZ2xvYmFsL1Bhc3RlUGFnZS5oCitpbmRleCBhMWM3ZDQzNC4uZDQ3NWRmZDkgMTAw NjQ0CistLS0gYS9sYXVuY2hlci91aS9wYWdlcy9nbG9iYWwvUGFzdGVFRVBhZ2UuaAorKysrIGIv bGF1bmNoZXIvdWkvcGFnZXMvZ2xvYmFsL1Bhc3RlUGFnZS5oCitAQCAtMjEsMTYgKzIxLDE2IEBA CisgI2luY2x1ZGUgPEFwcGxpY2F0aW9uLmg+CisgCisgbmFtZXNwYWNlIFVpIHsKKy1jbGFzcyBQ YXN0ZUVFUGFnZTsKKytjbGFzcyBQYXN0ZVBhZ2U7CisgfQorIAorLWNsYXNzIFBhc3RlRUVQYWdl IDogcHVibGljIFFXaWRnZXQsIHB1YmxpYyBCYXNlUGFnZQorK2NsYXNzIFBhc3RlUGFnZSA6IHB1 YmxpYyBRV2lkZ2V0LCBwdWJsaWMgQmFzZVBhZ2UKKyB7CisgICAgIFFfT0JKRUNUCisgCisgcHVi bGljOgorLSAgICBleHBsaWNpdCBQYXN0ZUVFUGFnZShRV2lkZ2V0ICpwYXJlbnQgPSAwKTsKKy0g ICAgflBhc3RlRUVQYWdlKCk7CisrICAgIGV4cGxpY2l0IFBhc3RlUGFnZShRV2lkZ2V0ICpwYXJl bnQgPSAwKTsKKysgICAgflBhc3RlUGFnZSgpOworIAorICAgICBRU3RyaW5nIGRpc3BsYXlOYW1l KCkgY29uc3Qgb3ZlcnJpZGUKKyAgICAgeworQEAgLTU0LDkgKzU0LDcgQEAgcHJpdmF0ZToKKyAg ICAgdm9pZCBsb2FkU2V0dGluZ3MoKTsKKyAgICAgdm9pZCBhcHBseVNldHRpbmdzKCk7CisgCist cHJpdmF0ZSBzbG90czoKKy0gICAgdm9pZCB0ZXh0RWRpdGVkKGNvbnN0IFFTdHJpbmcgJnRleHQp OworLQorIHByaXZhdGU6CistICAgIFVpOjpQYXN0ZUVFUGFnZSAqdWk7CisrICAgIFVpOjpQYXN0 ZVBhZ2UgKnVpOworIH07CisrCitkaWZmIC0tZ2l0IGEvbGF1bmNoZXIvdWkvcGFnZXMvZ2xvYmFs L1Bhc3RlRUVQYWdlLnVpIGIvbGF1bmNoZXIvdWkvcGFnZXMvZ2xvYmFsL1Bhc3RlUGFnZS51aQor c2ltaWxhcml0eSBpbmRleCA2MSUKK3JlbmFtZSBmcm9tIGxhdW5jaGVyL3VpL3BhZ2VzL2dsb2Jh bC9QYXN0ZUVFUGFnZS51aQorcmVuYW1lIHRvIGxhdW5jaGVyL3VpL3BhZ2VzL2dsb2JhbC9QYXN0 ZVBhZ2UudWkKK2luZGV4IDEwODgzNzgxLi4yZDEzYTc2NSAxMDA2NDQKKy0tLSBhL2xhdW5jaGVy L3VpL3BhZ2VzL2dsb2JhbC9QYXN0ZUVFUGFnZS51aQorKysrIGIvbGF1bmNoZXIvdWkvcGFnZXMv Z2xvYmFsL1Bhc3RlUGFnZS51aQorQEAgLTEsNyArMSw3IEBACisgPD94bWwgdmVyc2lvbj0iMS4w IiBlbmNvZGluZz0iVVRGLTgiPz4KKyA8dWkgdmVyc2lvbj0iNC4wIj4KKy0gPGNsYXNzPlBhc3Rl RUVQYWdlPC9jbGFzcz4KKy0gPHdpZGdldCBjbGFzcz0iUVdpZGdldCIgbmFtZT0iUGFzdGVFRVBh Z2UiPgorKyA8Y2xhc3M+UGFzdGVQYWdlPC9jbGFzcz4KKysgPHdpZGdldCBjbGFzcz0iUVdpZGdl dCIgbmFtZT0iUGFzdGVQYWdlIj4KKyAgIDxwcm9wZXJ0eSBuYW1lPSJnZW9tZXRyeSI+CisgICAg PHJlY3Q+CisgICAgIDx4PjA8L3g+CitAQCAtMzYsMzkgKzM2LDkgQEAKKyAgICAgICAgPGl0ZW0+ CisgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRR3JvdXBCb3giIG5hbWU9Imdyb3VwQm94XzIiPgor ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0aXRsZSI+CistICAgICAgICAgIDxzdHJpbmc+cGFz dGUuZWUgQVBJIGtleTwvc3RyaW5nPgorKyAgICAgICAgICA8c3RyaW5nPlBhc3RlYmluIFVSTDwv c3RyaW5nPgorICAgICAgICAgIDwvcHJvcGVydHk+CistICAgICAgICAgPGxheW91dCBjbGFzcz0i UVZCb3hMYXlvdXQiIG5hbWU9InZlcnRpY2FsTGF5b3V0XzEwIj4KKy0gICAgICAgICAgPGl0ZW0+ CistICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRUmFkaW9CdXR0b24iIG5hbWU9Im11bHRpbWNC dXR0b24iPgorLSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKy0gICAgICAgICAg ICAgPHN0cmluZz5NdWx0aU1DIGtleSAtIDEyTUIgJmFtcDt1cGxvYWQgbGltaXQ8L3N0cmluZz4K Ky0gICAgICAgICAgICA8L3Byb3BlcnR5PgorLSAgICAgICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0i YnV0dG9uR3JvdXAiPgorLSAgICAgICAgICAgICA8c3RyaW5nIG5vdHI9InRydWUiPnBhc3RlQnV0 dG9uR3JvdXA8L3N0cmluZz4KKy0gICAgICAgICAgICA8L2F0dHJpYnV0ZT4KKy0gICAgICAgICAg IDwvd2lkZ2V0PgorLSAgICAgICAgICA8L2l0ZW0+CistICAgICAgICAgIDxpdGVtPgorLSAgICAg ICAgICAgPHdpZGdldCBjbGFzcz0iUVJhZGlvQnV0dG9uIiBuYW1lPSJjdXN0b21CdXR0b24iPgor LSAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKy0gICAgICAgICAgICAgPHN0cmlu Zz4mYW1wO1lvdXIgb3duIGtleSAtIDEyTUIgdXBsb2FkIGxpbWl0Ojwvc3RyaW5nPgorLSAgICAg ICAgICAgIDwvcHJvcGVydHk+CistICAgICAgICAgICAgPGF0dHJpYnV0ZSBuYW1lPSJidXR0b25H cm91cCI+CistICAgICAgICAgICAgIDxzdHJpbmcgbm90cj0idHJ1ZSI+cGFzdGVCdXR0b25Hcm91 cDwvc3RyaW5nPgorLSAgICAgICAgICAgIDwvYXR0cmlidXRlPgorLSAgICAgICAgICAgPC93aWRn ZXQ+CistICAgICAgICAgIDwvaXRlbT4KKy0gICAgICAgICAgPGl0ZW0+CistICAgICAgICAgICA8 d2lkZ2V0IGNsYXNzPSJRTGluZUVkaXQiIG5hbWU9ImN1c3RvbUFQSWtleUVkaXQiPgorLSAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJlY2hvTW9kZSI+CistICAgICAgICAgICAgIDxlbnVtPlFM aW5lRWRpdDo6UGFzc3dvcmQ8L2VudW0+CistICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKy0gICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0icGxhY2Vob2xkZXJUZXh0Ij4KKy0gICAgICAgICAgICAg PHN0cmluZz5QYXN0ZSB5b3VyIEFQSSBrZXkgaGVyZSE8L3N0cmluZz4KKy0gICAgICAgICAgICA8 L3Byb3BlcnR5PgorLSAgICAgICAgICAgPC93aWRnZXQ+CistICAgICAgICAgIDwvaXRlbT4KKysg ICAgICAgICA8bGF5b3V0IGNsYXNzPSJRVkJveExheW91dCIgbmFtZT0idmVydGljYWxMYXlvdXRf MyI+CisgICAgICAgICAgIDxpdGVtPgorICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iTGluZSIg bmFtZT0ibGluZSI+CisgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im9yaWVudGF0aW9uIj4K K0BAIC03NiwxMCArNDYsNDUgQEAKKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAg ICAgPC93aWRnZXQ+CisgICAgICAgICAgIDwvaXRlbT4KKysgICAgICAgICAgPGl0ZW0+CisrICAg ICAgICAgICA8d2lkZ2V0IGNsYXNzPSJRTGFiZWwiIG5hbWU9ImxhYmVsXzIiPgorKyAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJmb250Ij4KKysgICAgICAgICAgICAgPGZvbnQ+CisrICAgICAg ICAgICAgICA8cG9pbnRzaXplPjEwPC9wb2ludHNpemU+CisrICAgICAgICAgICAgIDwvZm9udD4K KysgICAgICAgICAgICA8L3Byb3BlcnR5PgorKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0 ZXh0Ij4KKysgICAgICAgICAgICAgPHN0cmluZz4mbHQ7aHRtbCZndDsmbHQ7aGVhZC8mZ3Q7Jmx0 O2JvZHkmZ3Q7Jmx0O3AmZ3Q7Tm90ZTogb25seSBpbnB1dCB0aGF0IHN0YXJ0cyB3aXRoICZsdDtz cGFuIHN0eWxlPSZxdW90OyBmb250LXdlaWdodDo2MDA7JnF1b3Q7Jmd0O2h0dHA6Ly8mbHQ7L3Nw YW4mZ3Q7IG9yICZsdDtzcGFuIHN0eWxlPSZxdW90OyBmb250LXdlaWdodDo2MDA7JnF1b3Q7Jmd0 O2h0dHBzOi8vJmx0Oy9zcGFuJmd0OyB3aWxsIGJlIGFjY2VwdGVkLiZsdDsvcCZndDsmbHQ7L2Jv ZHkmZ3Q7Jmx0Oy9odG1sJmd0Ozwvc3RyaW5nPgorKyAgICAgICAgICAgIDwvcHJvcGVydHk+Cisr ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNjYWxlZENvbnRlbnRzIj4KKysgICAgICAgICAg ICAgPGJvb2w+ZmFsc2U8L2Jvb2w+CisrICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKysgICAgICAg ICAgIDwvd2lkZ2V0PgorKyAgICAgICAgICA8L2l0ZW0+CisrICAgICAgICAgIDxpdGVtPgorKyAg ICAgICAgICAgPHdpZGdldCBjbGFzcz0iUUNvbWJvQm94IiBuYW1lPSJ1cmxDaG9pY2VzIj4KKysg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZWRpdGFibGUiPgorKyAgICAgICAgICAgICA8Ym9v bD50cnVlPC9ib29sPgorKyAgICAgICAgICAgIDwvcHJvcGVydHk+CisrICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9Imluc2VydFBvbGljeSI+CisrICAgICAgICAgICAgIDxlbnVtPlFDb21ib0Jv eDo6Tm9JbnNlcnQ8L2VudW0+CisrICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKysgICAgICAgICAg ICA8aXRlbT4KKysgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorKyAgICAgICAg ICAgICAgPHN0cmluZz5odHRwczovLzB4MC5zdDwvc3RyaW5nPgorKyAgICAgICAgICAgICA8L3By b3BlcnR5PgorKyAgICAgICAgICAgIDwvaXRlbT4KKysgICAgICAgICAgICA8aXRlbT4KKysgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRleHQiPgorKyAgICAgICAgICAgICAgPHN0cmluZz5o dHRwczovL3Bhc3RlLnBvbHltYy5vcmc8L3N0cmluZz4KKysgICAgICAgICAgICAgPC9wcm9wZXJ0 eT4KKysgICAgICAgICAgICA8L2l0ZW0+CisrICAgICAgICAgICA8L3dpZGdldD4KKysgICAgICAg ICAgPC9pdGVtPgorICAgICAgICAgICA8aXRlbT4KKyAgICAgICAgICAgIDx3aWRnZXQgY2xhc3M9 IlFMYWJlbCIgbmFtZT0ibGFiZWwiPgorICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0 Ij4KKy0gICAgICAgICAgICAgPHN0cmluZz4mbHQ7aHRtbCZndDsmbHQ7aGVhZC8mZ3Q7Jmx0O2Jv ZHkmZ3Q7Jmx0O3AmZ3Q7Jmx0O2EgaHJlZj0mcXVvdDtodHRwczovL3Bhc3RlLmVlJnF1b3Q7Jmd0 O3Bhc3RlLmVlJmx0Oy9hJmd0OyBpcyB1c2VkIGJ5IE11bHRpTUMgZm9yIGxvZyB1cGxvYWRzLiBJ ZiB5b3UgaGF2ZSBhICZsdDthIGhyZWY9JnF1b3Q7aHR0cHM6Ly9wYXN0ZS5lZSZxdW90OyZndDtw YXN0ZS5lZSZsdDsvYSZndDsgYWNjb3VudCwgeW91IGNhbiBhZGQgeW91ciBBUEkga2V5IGhlcmUg YW5kIGhhdmUgeW91ciB1cGxvYWRlZCBsb2dzIHBhaXJlZCB3aXRoIHlvdXIgYWNjb3VudC4mbHQ7 L3AmZ3Q7Jmx0Oy9ib2R5Jmd0OyZsdDsvaHRtbCZndDs8L3N0cmluZz4KKysgICAgICAgICAgICAg PHN0cmluZz4mbHQ7aHRtbCZndDsmbHQ7aGVhZC8mZ3Q7Jmx0O2JvZHkmZ3Q7Jmx0O3AmZ3Q7SGVy ZSB5b3UgY2FuIGNob29zZSBmcm9tIGEgcHJlZGVmaW5lZCBsaXN0IG9mIHBhc3RlIHNlcnZpY2Vz LCBvciBpbnB1dCB0aGUgVVJMIG9mIGEgZGlmZmVyZW50IHBhc3RlIHNlcnZpY2Ugb2YgeW91ciBj aG9pY2UsIHByb3ZpZGVkIGl0IHN1cHBvcnRzIHRoZSBzYW1lIHByb3RvY29sIGFzIDB4MC5zdCwg dGhhdCBpcyBQT1NUIGEgZmlsZSBwYXJhbWV0ZXIgdG8gdGhlIFVSTCBhbmQgcmV0dXJuIGEgbGlu ayBpbiB0aGUgcmVzcG9uc2UgYm9keS4mbHQ7L3AmZ3Q7Jmx0Oy9ib2R5Jmd0OyZsdDsvaHRtbCZn dDs8L3N0cmluZz4KKyAgICAgICAgICAgICA8L3Byb3BlcnR5PgorICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ0ZXh0Rm9ybWF0Ij4KKyAgICAgICAgICAgICAgPGVudW0+UXQ6OlJpY2hUZXh0 PC9lbnVtPgorQEAgLTExNiwxMyArMTIxLDcgQEAKKyAgPC93aWRnZXQ+CisgIDx0YWJzdG9wcz4K KyAgIDx0YWJzdG9wPnRhYldpZGdldDwvdGFic3RvcD4KKy0gIDx0YWJzdG9wPm11bHRpbWNCdXR0 b248L3RhYnN0b3A+CistICA8dGFic3RvcD5jdXN0b21CdXR0b248L3RhYnN0b3A+CistICA8dGFi c3RvcD5jdXN0b21BUElrZXlFZGl0PC90YWJzdG9wPgorICA8L3RhYnN0b3BzPgorICA8cmVzb3Vy Y2VzLz4KKyAgPGNvbm5lY3Rpb25zLz4KKy0gPGJ1dHRvbmdyb3Vwcz4KKy0gIDxidXR0b25ncm91 cCBuYW1lPSJwYXN0ZUJ1dHRvbkdyb3VwIi8+CistIDwvYnV0dG9uZ3JvdXBzPgorIDwvdWk+Citk aWZmIC0tZ2l0IGEvbGF1bmNoZXIvdWkvcGFnZXMvaW5zdGFuY2UvTG9nUGFnZS51aSBiL2xhdW5j aGVyL3VpL3BhZ2VzL2luc3RhbmNlL0xvZ1BhZ2UudWkKK2luZGV4IGNjZmMxNTUxLi4zMWJiMzY4 YyAxMDA2NDQKKy0tLSBhL2xhdW5jaGVyL3VpL3BhZ2VzL2luc3RhbmNlL0xvZ1BhZ2UudWkKKysr KyBiL2xhdW5jaGVyL3VpL3BhZ2VzL2luc3RhbmNlL0xvZ1BhZ2UudWkKK0BAIC0xMDAsNyArMTAw LDcgQEAKKyAgICAgICAgICA8aXRlbT4KKyAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUVB1c2hC dXR0b24iIG5hbWU9ImJ0blBhc3RlIj4KKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29s VGlwIj4KKy0gICAgICAgICAgICA8c3RyaW5nPlVwbG9hZCB0aGUgbG9nIHRvIHBhc3RlLmVlIC0g aXQgd2lsbCBzdGF5IG9ubGluZSBmb3IgYSBtb250aDwvc3RyaW5nPgorKyAgICAgICAgICAgIDxz dHJpbmc+VXBsb2FkIHRoZSBsb2cgdG8gdGhlIHBhc3RlIHNlcnZpY2UgY29uZmlndXJlZCBpbiBw cmVmZXJlbmNlczwvc3RyaW5nPgorICAgICAgICAgICAgPC9wcm9wZXJ0eT4KKyAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJ0ZXh0Ij4KKyAgICAgICAgICAgICA8c3RyaW5nPlVwbG9hZDwvc3Ry aW5nPgorZGlmZiAtLWdpdCBhL2xhdW5jaGVyL3VpL3BhZ2VzL2luc3RhbmNlL090aGVyTG9nc1Bh Z2UudWkgYi9sYXVuY2hlci91aS9wYWdlcy9pbnN0YW5jZS9PdGhlckxvZ3NQYWdlLnVpCitpbmRl eCA1NmZmM2I2Mi4uNzdmM2U2NDcgMTAwNjQ0CistLS0gYS9sYXVuY2hlci91aS9wYWdlcy9pbnN0 YW5jZS9PdGhlckxvZ3NQYWdlLnVpCisrKysgYi9sYXVuY2hlci91aS9wYWdlcy9pbnN0YW5jZS9P dGhlckxvZ3NQYWdlLnVpCitAQCAtODQsNyArODQsNyBAQAorICAgICAgICAgIDxpdGVtIHJvdz0i MyIgY29sdW1uPSIyIj4KKyAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iUVB1c2hCdXR0b24iIG5h bWU9ImJ0blBhc3RlIj4KKyAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sVGlwIj4KKy0g ICAgICAgICAgICA8c3RyaW5nPlVwbG9hZCB0aGUgbG9nIHRvIHBhc3RlLmVlIC0gaXQgd2lsbCBz dGF5IG9ubGluZSBmb3IgYSBtb250aDwvc3RyaW5nPgorKyAgICAgICAgICAgIDxzdHJpbmc+VXBs b2FkIHRoZSBsb2cgdG8gdGhlIHBhc3RlIHNlcnZpY2UgY29uZmlndXJlZCBpbiBwcmVmZXJlbmNl cy48L3N0cmluZz4KKyAgICAgICAgICAgIDwvcHJvcGVydHk+CisgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0idGV4dCI+CisgICAgICAgICAgICAgPHN0cmluZz5VcGxvYWQ8L3N0cmluZz4KK2Rp ZmYgLS1naXQgYS9sYXVuY2hlci91aS93aWRnZXRzL0xhbmd1YWdlU2VsZWN0aW9uV2lkZ2V0LmNw cCBiL2xhdW5jaGVyL3VpL3dpZGdldHMvTGFuZ3VhZ2VTZWxlY3Rpb25XaWRnZXQuY3BwCitpbmRl eCBjZjcwYzdiNC4uZmMwODlmMjYgMTAwNjQ0CistLS0gYS9sYXVuY2hlci91aS93aWRnZXRzL0xh bmd1YWdlU2VsZWN0aW9uV2lkZ2V0LmNwcAorKysrIGIvbGF1bmNoZXIvdWkvd2lkZ2V0cy9MYW5n dWFnZVNlbGVjdGlvbldpZGdldC5jcHAKK0BAIC01LDYgKzUsNyBAQAorICNpbmNsdWRlIDxRSGVh ZGVyVmlldz4KKyAjaW5jbHVkZSA8UUxhYmVsPgorICNpbmNsdWRlICJBcHBsaWNhdGlvbi5oIgor KyNpbmNsdWRlICJCdWlsZENvbmZpZy5oIgorICNpbmNsdWRlICJ0cmFuc2xhdGlvbnMvVHJhbnNs YXRpb25zTW9kZWwuaCIKKyAKKyBMYW5ndWFnZVNlbGVjdGlvbldpZGdldDo6TGFuZ3VhZ2VTZWxl Y3Rpb25XaWRnZXQoUVdpZGdldCAqcGFyZW50KSA6CitAQCAtNDgsNyArNDksNyBAQCBRU3RyaW5n IExhbmd1YWdlU2VsZWN0aW9uV2lkZ2V0OjpnZXRTZWxlY3RlZExhbmd1YWdlS2V5KCkgY29uc3QK KyB2b2lkIExhbmd1YWdlU2VsZWN0aW9uV2lkZ2V0OjpyZXRyYW5zbGF0ZSgpCisgeworICAgICBR U3RyaW5nIHRleHQgPSB0cigiRG9uJ3Qgc2VlIHlvdXIgbGFuZ3VhZ2Ugb3IgdGhlIHF1YWxpdHkg aXMgcG9vcj88YnIvPjxhIGhyZWY9XCIlMVwiPkhlbHAgdXMgd2l0aCB0cmFuc2xhdGlvbnMhPC9h PiIpCistICAgICAgICAuYXJnKCJodHRwczovL2dpdGh1Yi5jb20vTXVsdGlNQy9MYXVuY2hlci93 aWtpL1RyYW5zbGF0aW5nLU11bHRpTUMiKTsKKysgICAgICAgIC5hcmcoQnVpbGRDb25maWcuVFJB TlNMQVRJT05TX1VSTCk7CisgICAgIGhlbHBVc0xhYmVsLT5zZXRUZXh0KHRleHQpOworIAorIH0K ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvUG9seU1DL3RlbXBsYXRlIGIvc3JjcGtncy9Qb2x5TUMvdGVt cGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42ODU3MWIxYmRl MjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL1BvbHlNQy90ZW1wbGF0ZQpAQCAtMCwwICsx LDM3IEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdQb2x5TUMnCitwa2duYW1lPVBvbHlNQwordmVy c2lvbj0xLjAuNgorcmV2aXNpb249MQorX25idHZlcnNpb249ImRjNzJhMjBiN2VmZDMwNGQxMmFm MjAyNTIyM2ZhZDA3YjRiNzg0NjQiCitfcXVhemlwdmVyc2lvbj0iYzllZjMyZGUxOWJjZWI1OGQy MzZmNWMyMjM4MjY5OGRlYWVjNjlmZCIKK2J1aWxkX3N0eWxlPWNtYWtlCitjb25maWd1cmVfYXJn cz0iLURMYXVuY2hlcl9CVUlMRF9QTEFURk9STT1Wb2lkIC1ETGF1bmNoZXJfTEFZT1VUPWxpbi1z eXN0ZW0iCitob3N0bWFrZWRlcGVuZHM9Im9wZW5qZGsxMSBxdDUtaG9zdC10b29scyBxdDUtcW1h a2UiCittYWtlZGVwZW5kcz0icXQ1LWRldmVsIgorZGVwZW5kcz0idmlydHVhbD9qYXZhLWVudmly b25tZW50Igorc2hvcnRfZGVzYz0iQ3VzdG9tIGxhdW5jaGVyIGZvciBNaW5lY3JhZnQiCittYWlu dGFpbmVyPSJQaGlsaXBwIERhdmlkIDxwZEAzYi5wbT4iCitsaWNlbnNlPSJBcGFjaGUtMi4wLCBH UEwtMy4wLW9yLWxhdGVyLCBMR1BMLTMuMC1vci1sYXRlciwgTEdQTC0yLjEtb3ItbGF0ZXIsCisg TUlULCBCU0QtMy1DbGF1c2UsIEJTRC0yLUNsYXVzZSIKK2hvbWVwYWdlPSJodHRwczovL3BvbHlt Yy5vcmcvIgorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vUG9seU1DL1BvbHlNQy9hcmNo aXZlLyR7dmVyc2lvbn0udGFyLmd6CisgaHR0cHM6Ly9naXRodWIuY29tL011bHRpTUMvbGlibmJ0 cGx1c3BsdXMvYXJjaGl2ZS8ke19uYnR2ZXJzaW9ufS50YXIuZ3oKKyBodHRwczovL2dpdGh1Yi5j b20vUG9seU1DL3F1YXppcC9hcmNoaXZlLyR7X3F1YXppcHZlcnNpb259LnRhci5neiIKK2NoZWNr c3VtPSI3OGM3YjI0YzY4OTVhMzdmNDVmNTYzYjg4Y2YwYWQ1Y2YyNmRkNjYyNjQzODNlZDc3OTA5 ZTY2MDY1ZGY5ZWE2CisgMmVkOWRjODI0MDA3YjRmN2IxMmY4MDdmNTZjOThlMTI0OGI4YTdhYmE3 ZWNhNDgzODA4NTA5Mjk1OGRjMTU5NQorIDZjNWU3MTk4MzNjMTQzZjMwMGQ3ZjYxMDFiM2MwNGRm YjFiYzAyNWUzZjY3MmQ4MDNkY2VmMGZiY2UyOWUyNTQiCisKK2Nhc2UgIiRYQlBTX1RBUkdFVF9N QUNISU5FIiBpbgorCWFybXYqKSBicm9rZW49Imh0dHBzOi8vZ2l0aHViLmNvbS9NdWx0aU1DL011 bHRpTUM1L2lzc3Vlcy8yODk1Ijs7Citlc2FjCisKK3Bvc3RfZXh0cmFjdCgpIHsKKwlybWRpciBs aWJyYXJpZXMvbGlibmJ0cGx1c3BsdXMKKwlybWRpciBsaWJyYXJpZXMvcXVhemlwCisJbXYgLi4v bGlibmJ0cGx1c3BsdXMtJHtfbmJ0dmVyc2lvbn0gbGlicmFyaWVzL2xpYm5idHBsdXNwbHVzCisJ bXYgLi4vcXVhemlwLSR7X3F1YXppcHZlcnNpb259IGxpYnJhcmllcy9xdWF6aXAKK30KKworcG9z dF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIENPUFlJTkcubWQKK30K --===============1415480648496313275==--