From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 2684 invoked from network); 17 Dec 2022 17:54:13 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 17 Dec 2022 17:54:13 -0000 Content-Type: multipart/mixed; boundary="===============6258896521350572615==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_7zip-22=2E01?= To: ml@inbox.vuxu.org From: r-ricci Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 17 Dec 2022 18:54:13 +0100 List-Id: Message-ID: <20221217175413.tSoCqVw2H32BKQM6XGTkfMz_AsXBEeaw3hraOOHh4r8@z> GitHub notification mails are now in MIME to allow UTF8. --===============6258896521350572615== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgci1yaWNjaSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vci1y aWNjaS92b2lkLXBhY2thZ2VzIDd6aXAKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9p ZC1wYWNrYWdlcy9wdWxsLzM3OTQwCgpOZXcgcGFja2FnZTogN3ppcC0yMi4wMQo8IS0tIFVuY29t bWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBh cHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhl IGNoYW5nZXMgaW4gdGhpcyBQUjogKipZRVMqKg0KDQo8IS0tDQojIyMjIE5ldyBwYWNrYWdlDQot IFRoaXMgbmV3IHBhY2thZ2UgY29uZm9ybXMgdG8gdGhlIFtxdWFsaXR5IHJlcXVpcmVtZW50c10o aHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9N YW51YWwubWQjcXVhbGl0eS1yZXF1aXJlbWVudHMpOiAqKllFUyoqfCoqTk8qKg0KLS0+DQoNCjwh LS0gTm90ZTogSWYgdGhlIGJ1aWxkIGlzIGxpa2VseSB0byB0YWtlIG1vcmUgdGhhbiAyIGhvdXJz LCBwbGVhc2UgYWRkIGNpIHNraXAgdGFnIGFzIGRlc2NyaWJlZCBpbg0KaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQj Y29udGludW91cy1pbnRlZ3JhdGlvbg0KYW5kIHRlc3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWls ZCBhbmQsIGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRo aXMgc2VjdGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBza2lwcGluZyBDSS4NCi0tPg0KPCEtLQ0KIyMj IyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBteSBu YXRpdmUgYXJjaGl0ZWN0dXJlLCAoQVJDSC1MSUJDKQ0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxs eSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRz KToNCiAgLSBhYXJjaDY0LW11c2wNCiAgLSBhcm12N2wNCiAgLSBhcm12NmwtbXVzbA0KLS0+DQoN CkkgZG9uJ3QgdGhpbmsgdGhlcmUncyBhbnkgcmVhc29uIHRvIHNoaXAgdGhlIGZ1bGwgYW5kIHRo ZSByZWR1Y2VkIHZlcnNpb25zIGluIHRoZSBzYW1lIHBhY2thZ2UsIHNvIEkganVzdCBjb21waWxl IHRoZSBmdWxsIG9uZSBhbmQgY3JlYXRlIHN5bWxpbmtzIGZvciBjb21wYXRpYmlsaXR5Lg0KDQoj IyMjIFRPRE86DQoNCi0gW3hdIGZpeCBtdXNsDQotIFsgXSB+YnVpbGQgd2l0aCBhc3NlbWJseSB3 aGVyZSBwb3NzaWJsZTogb24gaTY4NiBhbmQgeDg2XzY0KiBpdCByZXF1aXJlcyBgYXNtY2Agb3Ig YGp3YXNtYC9gdWFzbWAgYXNzZW1ibGVycywgbm9uZSBvZiB3aGljaCBhcmUgcGFja2FnZWR+DQot IFt4XSBidWlsZCBhIHZlcnNpb24gd2l0aCBSQVIgc3VwcG9ydCAobm9uZnJlZSByZXBvKQ0KLSBb eF0gdXNlIG91ciBjb21waWxlIGFuZCBsaW5rIGZsYWdzDQotIFt4XSB0ZXN0IHBhY2thZ2VzIHRo YXQgZGVwZW5kIG9uIGBwN3ppcGAgYXQgYnVpbGQvY2hlY2sgdGltZTogU0xBREUsIFo4MEV4cGxv cmVyLCBhcmssIGNicDJtYWtlLiAoSSBqdXN0IHRlc3RlZCB0aGF0IHRoZXkgc3RpbGwgYnVpbGQp DQotIHRlc3QgcGFja2FnZXMgdGhhdCBkZXBlbmQgb24gYHA3emlwYCBhdCBydW4gdGltZToNCiAg ICAtIFsgXSBsdXRyaXMNCiAgICAtIFsgXSBtdWx0aWJvb3R1c2INCiAgICAtIFsgXSBwbGF5b25s aW51eA0KDQpjbG9zZXMgIzM3ODc1CgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5j b20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzc5NDAucGF0Y2ggaXMgYXR0YWNoZWQ= --===============6258896521350572615== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-7zip-37940.patch" RnJvbSA4NTYzOWY1ZjkxYWJiMWU1MjEwNDMxNDU1MDUxYjAwYzc4YzZjOTIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4KRGF0 ZTogTW9uLCAyOSBBdWcgMjAyMiAxOTowMToxNyArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIE5ldyBw YWNrYWdlOiA3emlwLTIyLjAxCgotLS0KIHNyY3BrZ3MvN3ppcC11bnJhciAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMSArCiBzcmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIuSU5TVEFMTC5t c2cgICAgICAgICAgfCAgIDUgKwogc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0 Y2ggICAgICAgIHwgIDU2ICsrKysKIHNyY3BrZ3MvN3ppcC90ZW1wbGF0ZSAgICAgICAgICAgICAg ICAgICAgICAgICB8ICA3MyArKysrCiBzcmNwa2dzLzd6aXAvdXBkYXRlICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9wN3ppcCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvcDd6aXAtdW5yYXIgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArLQogc3JjcGtncy9wN3ppcC9wYXRjaGVzLzIwLUNWRS0yMDE4LTU5OTYu cGF0Y2ggIHwgMjIxIC0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy8zMC1DVkUt MjAxOC0xMDExNS5wYXRjaCB8IDMxMSAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3MvcDd6aXAv cGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoICAgICB8ICAxMiAtCiBzcmNwa2dzL3A3emlwL3Bh dGNoZXMvQ1ZFLTIwMTctMTc5NjkucGF0Y2ggICAgfCAgMjYgLS0KIHNyY3BrZ3MvcDd6aXAvdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICAgICB8ICA0NiAtLS0KIHNyY3BrZ3MvcDd6aXAvdXBk YXRlICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAtCiAxMyBmaWxlcyBjaGFuZ2VkLCAx MzggaW5zZXJ0aW9ucygrKSwgNjE4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTIwMDAwIHNy Y3BrZ3MvN3ppcC11bnJhcgogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC9wN3ppcC11 bnJhci5JTlNUQUxMLm1zZwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvN3ppcC9wYXRjaGVz L2J1aWxkX2ZsYWdzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3RlbXBs YXRlCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy83emlwL3VwZGF0ZQogY3JlYXRlIG1vZGUg MTIwMDAwIHNyY3BrZ3MvcDd6aXAKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3A3emlwL3Bh dGNoZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv cDd6aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvcDd6aXAvdXBkYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwLXVucmFyIGIvc3Jj cGtncy83emlwLXVucmFyCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4u Mjg0MzEyNTk1YTRjCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwLXVucmFyCkBAIC0w LDAgKzEgQEAKKzd6aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9z cmNwa2dzLzd6aXAvcDd6aXAtdW5yYXIuSU5TVEFMTC5tc2cgYi9zcmNwa2dzLzd6aXAvcDd6aXAt dW5yYXIuSU5TVEFMTC5tc2cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li43NzVmOTQzYzBhNTYKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvcDd6aXAtdW5y YXIuSU5TVEFMTC5tc2cKQEAgLTAsMCArMSw1IEBACitUaGUgcDd6aXAtdW5yYXIgcGFja2FnZSBo YXMgYmVlbiByZXBsYWNlZCBieSA3emlwLXVucmFyLgorVG8gdXNlIHRoZSBSQVItZW5hYmxlZCB2 ZXJzaW9uIG9mIGA3emAsIG1ha2Ugc3VyZSB0aGUgZGVzaXJlZAorYWx0ZXJuYXRpdmUgaXMgY29u ZmlndXJlZDoKKworCSMgeGJwcy1hbHRlcm5hdGl2ZXMgLXMgN3ppcC11bnJhcgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy83emlwL3BhdGNoZXMvYnVpbGRfZmxhZ3MucGF0Y2ggYi9zcmNwa2dzLzd6aXAv cGF0Y2hlcy9idWlsZF9mbGFncy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLmYzNmRkNTc5MTY4MAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvN3ppcC9w YXRjaGVzL2J1aWxkX2ZsYWdzLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK2FkYXB0ZWQgZnJvbSBo dHRwczovL3NvdXJjZXMuZGViaWFuLm9yZy9wYXRjaGVzLzd6aXAvMjIuMDErZGZzZy00LzAwMDEt QWNjZXB0LURlYmlhbi1idWlsZC1mbGFncy5wYXRjaC8KK2FuZCBodHRwczovL2dpdGxhYi5hbHBp bmVsaW51eC5vcmcvYWxwaW5lL2Fwb3J0cy8tL3Jhdy8yOTFhMmI2MWQ2ZTYxM2ZiZTNlZDA1N2Mx ZjJlZTQxZmQyYWVhOWFjL2NvbW11bml0eS83emlwLzctemlwLWZsYWdzLnBhdGNoCistLS0gYS9D UFAvN3ppcC83emlwX2djYy5tYWsKKysrKyBiL0NQUC83emlwLzd6aXBfZ2NjLm1haworQEAgLTE4 LDEzICsxOCwxMyBAQAorIA0KKyANCisgaWZuZXEgKCQoQ0MpLCB4bGMpDQorLUNGTEFHU19XQVJO X1dBTEwgPSAtV2FsbCAtV2Vycm9yIC1XZXh0cmENCisrQ0ZMQUdTX1dBUk5fV0FMTCA9IC1XYWxs IC1XZXh0cmENCisgZW5kaWYNCisgDQorICMgZm9yIG9iamVjdCBmaWxlDQorIENGTEFHU19CQVNF X0xJU1QgPSAtYw0KKyAjIENGTEFHU19CQVNFX0xJU1QgPSAtUw0KKy1DRkxBR1NfQkFTRSA9IC1P MiAkKENGTEFHU19CQVNFX0xJU1QpICQoQ0ZMQUdTX1dBUk5fV0FMTCkgJChDRkxBR1NfV0FSTikg XA0KKytDRkxBR1NfQkFTRSA9ICQoQ0ZMQUdTX0JBU0VfTElTVCkgJChDRkxBR1NfV0FSTl9XQUxM KSAkKENGTEFHU19XQVJOKSBcDQorICAtRE5ERUJVRyAtRF9SRUVOVFJBTlQgLURfRklMRV9PRkZT RVRfQklUUz02NCAtRF9MQVJHRUZJTEVfU09VUkNFIFwNCisgIC1mUElDDQorIA0KK0BAIC04Miw3 ICs4Miw3IEBACisgDQorIGVsc2UNCisgDQorLUxERkxBR1MgPSAkKExERkxBR1NfU1RBVElDKQ0K KytMREZMQUdTID0gJChWT0lEX0xERkxBR1MpICQoTERGTEFHU19TVEFUSUMpDQorICMgLXMgaXMg bm90IHJlcXVpcmVkIGZvciBjbGFuZywgZG8gd2UgbmVlZCBpdCBmb3IgR0dDID8/Pw0KKyAjIC1z DQorIA0KK0BAIC0xMzgsNyArMTM4LDcgQEAKKyANCisgDQorIA0KKy1DRkxBR1MgPSAkKE1ZX0FS Q0hfMikgJChMT0NBTF9GTEFHUykgJChDRkxBR1NfQkFTRTIpICQoQ0ZMQUdTX0JBU0UpICQoQ0Nf U0hBUkVEKSAtbyAkQA0KKytDRkxBR1MgPSAkKFZPSURfQ0ZMQUdTKSAkKFZPSURfQ1BQRkxBR1Mp ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENGTEFHU19CQVNFMikgJChDRkxBR1NfQkFT RSkgJChDQ19TSEFSRUQpIC1vICRADQorIA0KKyANCisgaWZkZWYgSVNfTUlOR1cNCitAQCAtMTc5 LDcgKzE3OSw3IEBACisgIy1Xbm8taW52YWxpZC1vZmZzZXRvZg0KKyAjLVduby1yZW9yZGVyDQor IA0KKy1DWFhGTEFHUyA9ICQoTVlfQVJDSF8yKSAkKExPQ0FMX0ZMQUdTKSAkKENYWEZMQUdTX0JB U0UyKSAkKENGTEFHU19CQVNFKSAkKENYWEZMQUdTX0VYVFJBKSAkKENDX1NIQVJFRCkgLW8gJEAg JChDWFhfV0FSTl9GTEFHUykNCisrQ1hYRkxBR1MgPSAkKFZPSURfQ1hYRkxBR1MpICQoVk9JRF9D UFBGTEFHUykgJChNWV9BUkNIXzIpICQoTE9DQUxfRkxBR1MpICQoQ1hYRkxBR1NfQkFTRTIpICQo Q0ZMQUdTX0JBU0UpICQoQ1hYRkxBR1NfRVhUUkEpICQoQ0NfU0hBUkVEKSAtbyAkQCAkKENYWF9X QVJOX0ZMQUdTKQ0KKyANCisgU1RBVElDX1RBUkdFVD0NCisgaWZkZWYgQ09NUExfU1RBVElDDQor QEAgLTE5Miw3ICsxOTIsNyBAQAorICQoTyk6DQorIAkkKE1ZX01LRElSKSAkKE8pDQorIA0KKy1M RkxBR1NfQUxMID0gLXMgJChNWV9BUkNIXzIpICQoTERGTEFHUykgJChMRF9hcmNoKSAkKE9CSlMp ICQoTVlfTElCUykgJChMSUIyKQ0KKytMRkxBR1NfQUxMID0gJChNWV9BUkNIXzIpICQoTERGTEFH UykgJChMRF9hcmNoKSAkKE9CSlMpICQoTVlfTElCUykgJChMSUIyKQ0KKyAkKFBST0dQQVRIKTog JChPQkpTKQ0KKyAJJChDWFgpIC1vICQoUFJPR1BBVEgpICQoTEZMQUdTX0FMTCkNCisgDQpkaWZm IC0tZ2l0IGEvc3JjcGtncy83emlwL3RlbXBsYXRlIGIvc3JjcGtncy83emlwL3RlbXBsYXRlCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGIyMDkxMzJlYzdjCi0tLSAv ZGV2L251bGwKKysrIGIvc3JjcGtncy83emlwL3RlbXBsYXRlCkBAIC0wLDAgKzEsNzMgQEAKKyMg VGVtcGxhdGUgZmlsZSBmb3IgJzd6aXAnCitwa2duYW1lPTd6aXAKK3ZlcnNpb249MjIuMDEKK3Jl dmlzaW9uPTEKK3Nob3J0X2Rlc2M9IkZpbGUgYXJjaGl2ZXIgd2l0aCBhIGhpZ2ggY29tcHJlc3Np b24gcmF0aW8iCittYWludGFpbmVyPSJSb2JlcnRvIFJpY2NpIDxyaWNjaUBkaXNyb290Lm9yZz4i CitsaWNlbnNlPSJMR1BMLTIuMS1vci1sYXRlciwgQlNELTMtQ2xhdXNlIgoraG9tZXBhZ2U9Imh0 dHBzOi8vd3d3LjctemlwLm9yZyIKK2NoYW5nZWxvZz0iaHR0cHM6Ly93d3cuNy16aXAub3JnL2hp c3RvcnkudHh0IgorZGlzdGZpbGVzPSJodHRwczovL3d3dy43LXppcC5vcmcvYS83eiR7dmVyc2lv bi8vLi99LXNyYy50YXIueHoiCitjaGVja3N1bT0zOTMwOTg3MzBjNzAwNDIzOTJhZjgwODkxN2U3 NjU5NDVkYzI0MzdkZWU3YWFlM2NmY2M0OTY2ZWI5MjBmYmM1CithbHRlcm5hdGl2ZXM9IgorIDd6 Ojd6Oi91c3IvYmluLzd6aXAKKyA3ejo3emE6L3Vzci9iaW4vN3ppcAorIDd6Ojd6cjovdXNyL2Jp bi83emlwIgorCitpZiBbICIkWEJQU19UQVJHRVRfTElCQyIgPSBtdXNsIF07IHRoZW4KKwkjIG1p c3NpbmcgcHRocmVhZF9hdHRyX3NldGFmZmluaXR5X25wKCkKKwlDRkxBR1MrPSItRF83WklQX0FG RklOSVRZX0RJU0FCTEUiCisJQ1hYRkxBR1MrPSItRF83WklQX0FGRklOSVRZX0RJU0FCTEUiCitm aQorCitkb19idWlsZCgpIHsKKwljZCAiJHdya3NyYyIvQ1BQLzd6aXAvQnVuZGxlcy9BbG9uZTIK KworCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCWFhcmNoNjQqKSBfN3pfbWFrZWZp bGU9Ii4uLy4uL2NtcGxfZ2NjX2FybTY0Lm1hayI7OworCSopICAgICAgICBfN3pfbWFrZWZpbGU9 Ii4uLy4uL2NtcGxfZ2NjLm1hayI7OworCWVzYWMKKworCWZvciBvcHRzIGluICJPPWIvbm9yYXIg RElTQUJMRV9SQVJfQ09NUFJFU1M9MSIgIk89Yi9yYXIiOyBkbworCQltYWtlICIkbWFrZWpvYnMi IC1mICIkXzd6X21ha2VmaWxlIiBcCisJCQlDQz0iJENDIiBDWFg9IiRDWFgiIFwKKwkJCVZPSURf Q0ZMQUdTPSIkQ0ZMQUdTIiBWT0lEX0NYWEZMQUdTPSIkQ1hYRkxBR1MiIFwKKwkJCVZPSURfTERG TEFHUz0iJExERkxBR1MiIFZPSURfQ1BQRkxBR1M9IiRDUFBGTEFHUyIgXAorCQkJJG9wdHMKKwlk b25lCit9CisKK2RvX2luc3RhbGwoKSB7CisJdmJpbiAiJHt3cmtzcmN9L0NQUC83emlwL0J1bmRs ZXMvQWxvbmUyL2Ivbm9yYXIvN3p6IiAiN3ppcCIKKwl2bGljZW5zZSAiJHt3cmtzcmN9L0RPQy9M aWNlbnNlLnR4dCIKK30KKworN3ppcC11bnJhcl9wYWNrYWdlKCkgeworCWxpY2Vuc2UrPSIsIGN1 c3RvbTpmcmVld2FyZSIKKwlyZXBvc2l0b3J5PW5vbmZyZWUKKwlzaG9ydF9kZXNjKz0iIC0gUkFS IHN1cHBvcnQiCisJYWx0ZXJuYXRpdmVzPSIKKwkgN3o6N3o6L3Vzci9iaW4vN3ppcC11bnJhcgor CSA3ejo3emE6L3Vzci9iaW4vN3ppcC11bnJhcgorCSA3ejo3enI6L3Vzci9iaW4vN3ppcC11bnJh ciIKKworCXBrZ19pbnN0YWxsKCkgeworCQl2YmluICIke3dya3NyY30vQ1BQLzd6aXAvQnVuZGxl cy9BbG9uZTIvYi9yYXIvN3p6IiAiN3ppcC11bnJhciIKKwkJdmxpY2Vuc2UgIiR7d3Jrc3JjfS9E T0MvTGljZW5zZS50eHQiCisJfQorfQorCitwN3ppcF9wYWNrYWdlKCkgeworCWJ1aWxkX3N0eWxl PW1ldGEKKwlkZXBlbmRzPTd6aXAKKwlzaG9ydF9kZXNjPSJDb21tYW5kLWxpbmUgdmVyc2lvbiBv ZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUgYXJjaGl2ZSIKKwlzaG9ydF9kZXNjKz0iICh0cmFu c2l0aW9uYWwgZHVtbXkgcGFja2FnZSkiCit9CisKK3A3emlwLXVucmFyX3BhY2thZ2UoKSB7CisJ YnVpbGRfc3R5bGU9bWV0YQorCXJlcG9zaXRvcnk9bm9uZnJlZQorCWRlcGVuZHM9N3ppcC11bnJh cgorCXNob3J0X2Rlc2M9IkNvbW1hbmQtbGluZSB2ZXJzaW9uIG9mIHRoZSA3emlwIGNvbXByZXNz ZWQgZmlsZSBhcmNoaXZlIC0gUkFSIHN1cHBvcnQiCisJc2hvcnRfZGVzYys9IiAodHJhbnNpdGlv bmFsIGR1bW15IHBhY2thZ2UpIgorfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy83emlwL3VwZGF0ZSBi L3NyY3BrZ3MvN3ppcC91cGRhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi4yZDA0YWQwNGNhNjAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzLzd6aXAvdXBkYXRl CkBAIC0wLDAgKzEgQEAKK3BhdHRlcm49JzctWmlwIFxLW1xkLl0rJwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9wN3ppcCBiL3NyY3BrZ3MvcDd6aXAKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAw MDAwMDAwMDAwLi4yODQzMTI1OTVhNGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3A3emlw CkBAIC0wLDAgKzEgQEAKKzd6aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3A3emlwLXVucmFyIGIvc3JjcGtncy9wN3ppcC11bnJhcgppbmRleCBiZjUz NDllZTY2NjYuLjI4NDMxMjU5NWE0YyAxMjAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC11bnJhcgor KysgYi9zcmNwa2dzL3A3emlwLXVucmFyCkBAIC0xICsxIEBACi1wN3ppcApcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKKzd6aXAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaCBiL3NyY3Br Z3MvcDd6aXAvcGF0Y2hlcy8yMC1DVkUtMjAxOC01OTk2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA2NzMzYmZmOTE4OTUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3A3 emlwL3BhdGNoZXMvMjAtQ1ZFLTIwMTgtNTk5Ni5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIy MSArMCwwIEBACi1Gcm9tOiBSb2JlcnQgTHViZXJkYSA8cm9iZXJ0QGRlYmlhbi5vcmc+Ci1EYXRl OiBTdW4sIDI4IEphbiAyMDE4IDIzOjQ3OjQwICswMTAwCi1TdWJqZWN0OiBDVkUtMjAxOC01OTk2 Ci0KLUhvcGVmdWxseSBmaXggTWVtb3J5IENvcnJ1cHRpb25zIHZpYSBSQVIgUFBNZCAoQ1ZFLTIw MTgtNTk5NikgYnkKLWFwcGx5aW5nIGEgZmV3IGNoYW5nZXMgZnJvbSA3WmlwIDE4LjAwLWJldGEu Ci0KLUJ1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLyM4ODgzMTQKLS0tLQotIENQ UC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmNwcCB8IDEzICsrKysrKysrKy0tLS0KLSBDUFAv N3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oICAgfCAgMSArCi0gQ1BQLzd6aXAvQ29tcHJlc3Mv UmFyMkRlY29kZXIuY3BwIHwgMTAgKysrKysrKysrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjJE ZWNvZGVyLmggICB8ICAxICsKLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAgfCAy MyArKysrKysrKysrKysrKysrKysrKy0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVy LmggICB8ICAyICsrCi0gNiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCA4IGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3Bw IGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi1pbmRleCAxYWFlZGNjLi42ODAz MGM3IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuY3BwCi0rKysg Yi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5jcHAKLUBAIC0yOSw3ICsyOSw3IEBAIHB1 YmxpYzoKLSB9OwotICovCi0gCi0tQ0RlY29kZXI6OkNEZWNvZGVyKCk6IG1fSXNTb2xpZChmYWxz ZSkgeyB9Ci0rQ0RlY29kZXI6OkNEZWNvZGVyKCk6IG1fSXNTb2xpZChmYWxzZSksIF9lcnJvck1v ZGUoZmFsc2UpIHsgfQotIAotIHZvaWQgQ0RlY29kZXI6OkluaXRTdHJ1Y3R1cmVzKCkKLSB7Ci1A QCAtNDA2LDkgKzQwNiwxNCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlh bEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgSW5pdERhdGEo KTsKLSAgIGlmICghbV9Jc1NvbGlkKQotICAgewotKyAgICBfZXJyb3JNb2RlID0gZmFsc2U7Ci0g ICAgIEluaXRTdHJ1Y3R1cmVzKCk7Ci0gICAgIEluaXRIdWZmKCk7Ci0gICB9Ci0rCi0rICBpZiAo X2Vycm9yTW9kZSkKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0rCi0gICBpZiAobV9VbnBhY2tTaXpl ID4gMCkKLSAgIHsKLSAgICAgR2V0RmxhZ3NCdWYoKTsKLUBAIC00NzcsOSArNDgyLDkgQEAgU1RE TUVUSE9ESU1QIENEZWNvZGVyOjpDb2RlKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJ U2VxdWVudGlhbE91dFN0cmVhbQotICAgICBjb25zdCBVSW50NjQgKmluU2l6ZSwgY29uc3QgVUlu dDY0ICpvdXRTaXplLCBJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotIHsKLSAgIHRy eSB7IHJldHVybiBDb2RlUmVhbChpblN0cmVhbSwgb3V0U3RyZWFtLCBpblNpemUsIG91dFNpemUs IHByb2dyZXNzKTsgfQotLSAgY2F0Y2goY29uc3QgQ0luQnVmZmVyRXhjZXB0aW9uICZlKSB7IHJl dHVybiBlLkVycm9yQ29kZTsgfQotLSAgY2F0Y2goY29uc3QgQ0x6T3V0V2luZG93RXhjZXB0aW9u ICZlKSB7IHJldHVybiBlLkVycm9yQ29kZTsgfQotLSAgY2F0Y2goLi4uKSB7IHJldHVybiBTX0ZB TFNFOyB9Ci0rICBjYXRjaChjb25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUpIHsgX2Vycm9yTW9k ZSA9IHRydWU7IHJldHVybiBlLkVycm9yQ29kZTsgfQotKyAgY2F0Y2goY29uc3QgQ0x6T3V0V2lu ZG93RXhjZXB0aW9uICZlKSB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4gZS5FcnJvckNvZGU7 IH0KLSsgIGNhdGNoKC4uLikgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJuIFNfRkFMU0U7IH0K LSB9Ci0gCi0gU1RETUVUSE9ESU1QIENEZWNvZGVyOjpTZXREZWNvZGVyUHJvcGVydGllczIoY29u c3QgQnl0ZSAqZGF0YSwgVUludDMyIHNpemUpCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMURlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLWluZGV4 IDYzMGYwODkuLjAxYjYwNmIgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVj b2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5oCi1AQCAtMzksNiAr MzksNyBAQCBwdWJsaWM6Ci0gCi0gICBJbnQ2NCBtX1VucGFja1NpemU7Ci0gICBib29sIG1fSXNT b2xpZDsKLSsgIGJvb2wgX2Vycm9yTW9kZTsKLSAKLSAgIFVJbnQzMiBSZWFkQml0cyhpbnQgbnVt Qml0cyk7Ci0gICBIUkVTVUxUIENvcHlCbG9jayhVSW50MzIgZGlzdGFuY2UsIFVJbnQzMiBsZW4p OwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcCBiL0NQUC83 emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotaW5kZXggYjNmMmI0Yi4uMDU4MGM4ZCAxMDA2 NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuY3BwCi1AQCAtODAsNyArODAsOCBAQCBzdGF0aWMgY29u c3QgVUludDMyIGtIaXN0b3J5U2l6ZSA9IDEgPDwgMjA7Ci0gc3RhdGljIGNvbnN0IFVJbnQzMiBr V2luZG93UmVzZXJ2U2l6ZSA9ICgxIDw8IDIyKSArIDI1NjsKLSAKLSBDRGVjb2Rlcjo6Q0RlY29k ZXIoKToKLS0gIG1fSXNTb2xpZChmYWxzZSkKLSsgIG1fSXNTb2xpZChmYWxzZSksCi0rICBtX1Rh Ymxlc09LKGZhbHNlKQotIHsKLSB9Ci0gCi1AQCAtMTAwLDYgKzEwMSw4IEBAIFVJbnQzMiBDRGVj b2Rlcjo6UmVhZEJpdHModW5zaWduZWQgbnVtQml0cykgeyByZXR1cm4gbV9JbkJpdFN0cmVhbS5S ZWFkQml0cyhudW1CCi0gCi0gYm9vbCBDRGVjb2Rlcjo6UmVhZFRhYmxlcyh2b2lkKQotIHsKLSsg IG1fVGFibGVzT0sgPSBmYWxzZTsKLSsKLSAgIEJ5dGUgbGV2ZWxMZXZlbHNba0xldmVsVGFibGVT aXplXTsKLSAgIEJ5dGUgbmV3TGV2ZWxzW2tNYXhUYWJsZVNpemVdOwotICAgbV9BdWRpb01vZGUg PSAoUmVhZEJpdHMoMSkgPT0gMSk7Ci1AQCAtMTcwLDYgKzE3Myw4IEBAIGJvb2wgQ0RlY29kZXI6 OlJlYWRUYWJsZXModm9pZCkKLSAgIH0KLSAgIAotICAgbWVtY3B5KG1fTGFzdExldmVscywgbmV3 TGV2ZWxzLCBrTWF4VGFibGVTaXplKTsKLSsgIG1fVGFibGVzT0sgPSB0cnVlOwotKwotICAgcmV0 dXJuIHRydWU7Ci0gfQotIAotQEAgLTM0NCw2ICszNDksOSBAQCBIUkVTVUxUIENEZWNvZGVyOjpD b2RlUmVhbChJU2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJl YW0gKgotICAgICAgIHJldHVybiBTX0ZBTFNFOwotICAgfQotIAotKyAgaWYgKCFtX1RhYmxlc09L KQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAgIFVJbnQ2NCBzdGFydFBvcyA9IG1fT3V0V2lu ZG93U3RyZWFtLkdldFByb2Nlc3NlZFNpemUoKTsKLSAgIHdoaWxlIChwb3MgPCB1blBhY2tTaXpl KQotICAgewotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggYi9D UFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5oCi1pbmRleCAzYTA1MzVjLi4wZTkwMDVmIDEw MDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotKysrIGIvQ1BQLzd6 aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotQEAgLTEzOSw2ICsxMzksNyBAQCBjbGFzcyBDRGVj b2RlciA6Ci0gCi0gICBVSW50NjQgbV9QYWNrU2l6ZTsKLSAgIGJvb2wgbV9Jc1NvbGlkOwotKyAg Ym9vbCBtX1RhYmxlc09LOwotIAotICAgdm9pZCBJbml0U3RydWN0dXJlcygpOwotICAgVUludDMy IFJlYWRCaXRzKHVuc2lnbmVkIG51bUJpdHMpOwotZGlmZiAtLWdpdCBhL0NQUC83emlwL0NvbXBy ZXNzL1JhcjNEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAot aW5kZXggM2JmMjUxMy4uNmNiOGE2YSAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1Jh cjNEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuY3BwCi1A QCAtOTIsNyArOTIsOCBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIoKToKLSAgIF93cml0dGVuRmlsZVNp emUoMCksCi0gICBfdm1EYXRhKDApLAotICAgX3ZtQ29kZSgwKSwKLS0gIG1fSXNTb2xpZChmYWxz ZSkKLSsgIG1fSXNTb2xpZChmYWxzZSksCi0rICBfZXJyb3JNb2RlKGZhbHNlKQotIHsKLSAgIFBw bWQ3X0NvbnN0cnVjdCgmX3BwbWQpOwotIH0KLUBAIC01NDUsNiArNTQ2LDkgQEAgSFJFU1VMVCBD RGVjb2Rlcjo6UmVhZFRhYmxlcyhib29sICZrZWVwRGVjb21wcmVzc2luZykKLSAgICAgcmV0dXJu IEluaXRQUE0oKTsKLSAgIH0KLSAKLSsgIFRhYmxlc1JlYWQgPSBmYWxzZTsKLSsgIFRhYmxlc09L ID0gZmFsc2U7Ci0rCi0gICBfbHpNb2RlID0gdHJ1ZTsKLSAgIFByZXZBbGlnbkJpdHMgPSAwOwot ICAgUHJldkFsaWduQ291bnQgPSAwOwotQEAgLTYwNiw2ICs2MTAsOSBAQCBIUkVTVUxUIENEZWNv ZGVyOjpSZWFkVGFibGVzKGJvb2wgJmtlZXBEZWNvbXByZXNzaW5nKQotICAgICAgIH0KLSAgICAg fQotICAgfQotKyAgaWYgKElucHV0RW9mRXJyb3IoKSkKLSsgICAgcmV0dXJuIFNfRkFMU0U7Ci0r Ci0gICBUYWJsZXNSZWFkID0gdHJ1ZTsKLSAKLSAgIC8vIG9yaWdpbmFsIGNvZGUgaGFzIGNoZWNr IGhlcmU6Ci1AQCAtNjIzLDYgKzYzMCw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OlJlYWRUYWJsZXMo Ym9vbCAma2VlcERlY29tcHJlc3NpbmcpCi0gICBSSUYobV9MZW5EZWNvZGVyLkJ1aWxkKCZuZXdM ZXZlbHNba01haW5UYWJsZVNpemUgKyBrRGlzdFRhYmxlU2l6ZSArIGtBbGlnblRhYmxlU2l6ZV0p KTsKLSAKLSAgIG1lbWNweShtX0xhc3RMZXZlbHMsIG5ld0xldmVscywga1RhYmxlc1NpemVzU3Vt KTsKLSsKLSsgIFRhYmxlc09LID0gdHJ1ZTsKLSsKLSAgIHJldHVybiBTX09LOwotIH0KLSAKLUBA IC04MjQsNyArODM0LDEyIEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElDb21wcmVzc1By b2dyZXNzSW5mbyAqcHJvZ3Jlc3MpCi0gICAgIFBwbUVzY0NoYXIgPSAyOwotICAgICBQcG1FcnJv ciA9IHRydWU7Ci0gICAgIEluaXRGaWx0ZXJzKCk7Ci0rICAgIF9lcnJvck1vZGUgPSBmYWxzZTsK LSAgIH0KLSsKLSsgIGlmIChfZXJyb3JNb2RlKQotKyAgICByZXR1cm4gU19GQUxTRTsKLSsKLSAg IGlmICghbV9Jc1NvbGlkIHx8ICFUYWJsZXNSZWFkKQotICAgewotICAgICBib29sIGtlZXBEZWNv bXByZXNzaW5nOwotQEAgLTgzOCw2ICs4NTMsOCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVh bChJQ29tcHJlc3NQcm9ncmVzc0luZm8gKnByb2dyZXNzKQotICAgICBib29sIGtlZXBEZWNvbXBy ZXNzaW5nOwotICAgICBpZiAoX2x6TW9kZSkKLSAgICAgewotKyAgICAgIGlmICghVGFibGVzT0sp Ci0rICAgICAgICByZXR1cm4gU19GQUxTRTsKLSAgICAgICBSSU5PSyhEZWNvZGVMWihrZWVwRGVj b21wcmVzc2luZykpCi0gICAgIH0KLSAgICAgZWxzZQotQEAgLTkwMSw4ICs5MTgsOCBAQCBTVERN RVRIT0RJTVAgQ0RlY29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElT ZXF1ZW50aWFsT3V0U3RyZWFtCi0gICAgIF91bnBhY2tTaXplID0gb3V0U2l6ZSA/ICpvdXRTaXpl IDogKFVJbnQ2NCkoSW50NjQpLTE7Ci0gICAgIHJldHVybiBDb2RlUmVhbChwcm9ncmVzcyk7Ci0g ICB9Ci0tICBjYXRjaChjb25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUpICB7IHJldHVybiBlLkVy cm9yQ29kZTsgfQotLSAgY2F0Y2goLi4uKSB7IHJldHVybiBTX0ZBTFNFOyB9Ci0rICBjYXRjaChj b25zdCBDSW5CdWZmZXJFeGNlcHRpb24gJmUpICB7IF9lcnJvck1vZGUgPSB0cnVlOyByZXR1cm4g ZS5FcnJvckNvZGU7IH0KLSsgIGNhdGNoKC4uLikgeyBfZXJyb3JNb2RlID0gdHJ1ZTsgcmV0dXJu IFNfRkFMU0U7IH0KLSAgIC8vIENOZXdFeGNlcHRpb24gaXMgcG9zc2libGUgaGVyZS4gQnV0IHBy b2JhYmx5IENOZXdFeGNlcHRpb24gaXMgY2F1c2VkCi0gICAvLyBieSBlcnJvciBpbiBkYXRhIHN0 cmVhbS4KLSB9Ci1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaCBi L0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmgKLWluZGV4IGMxMzBjZWMuLjJmNzJkN2Qg MTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi0rKysgYi9DUFAv N3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oCi1AQCAtMTkyLDYgKzE5Miw3IEBAIGNsYXNzIENE ZWNvZGVyOgotICAgVUludDMyIF9sYXN0RmlsdGVyOwotIAotICAgYm9vbCBtX0lzU29saWQ7Ci0r ICBib29sIF9lcnJvck1vZGU7Ci0gCi0gICBib29sIF9sek1vZGU7Ci0gICBib29sIF91bnN1cHBv cnRlZEZpbHRlcjsKLUBAIC0yMDAsNiArMjAxLDcgQEAgY2xhc3MgQ0RlY29kZXI6Ci0gICBVSW50 MzIgUHJldkFsaWduQ291bnQ7Ci0gCi0gICBib29sIFRhYmxlc1JlYWQ7Ci0rICBib29sIFRhYmxl c09LOwotIAotICAgQ1BwbWQ3IF9wcG1kOwotICAgaW50IFBwbUVzY0NoYXI7CmRpZmYgLS1naXQg YS9zcmNwa2dzL3A3emlwL3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2ggYi9zcmNwa2dz L3A3emlwL3BhdGNoZXMvMzAtQ1ZFLTIwMTgtMTAxMTUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDdkOWM0YmY4MWYwMC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6 aXAvcGF0Y2hlcy8zMC1DVkUtMjAxOC0xMDExNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMx MSArMCwwIEBACi1Gcm9tOiBSb2JlcnQgTHViZXJkYSA8cm9iZXJ0QGRlYmlhbi5vcmc+Ci1EYXRl OiBUdWUsIDI5IE1heSAyMDE4IDIzOjU5OjA5ICswMjAwCi1TdWJqZWN0OiBGaXggQ1ZFLTIwMTgt MTAxMTUKLQotQXBwbHkgInBhdGNoIiB0YWtlbiBmcm9tIGh0dHBzOi8vbGFuZGF2ZS5pby9maWxl cy9wYXRjaF83emlwX0NWRS0yMDE4LTEwMTE1LnR4dAotCi0KLUJ1Z3MtRGViaWFuOiBodHRwczov L2J1Z3MuZGViaWFuLm9yZy84OTc2NzQKLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjFEZWNv ZGVyLmNwcCB8IDE2ICsrKysrKysrKysrLS0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVj b2Rlci5oICAgfCAgMyArKy0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAgfCAx NyArKysrKysrKysrKysrLS0tLQotIENQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmggICB8 ICAzICsrLQotIENQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcCB8IDE5ICsrKysrKysr KysrKysrKy0tLS0KLSBDUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5oICAgfCAgMyArKy0K LSBDUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5jcHAgfCAgOCArKysrKysrKwotIENQUC83 emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmggICB8ICAxICsKLSA4IGZpbGVzIGNoYW5nZWQsIDU0 IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAv Q29tcHJlc3MvUmFyMURlY29kZXIuY3BwIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIu Y3BwCi1pbmRleCA2ODAzMGM3Li44Yzg5MGM4IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyMURlY29kZXIuY3BwCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIxRGVjb2Rlci5j cHAKLUBAIC0yOSw3ICsyOSw3IEBAIHB1YmxpYzoKLSB9OwotICovCi0gCi0tQ0RlY29kZXI6OkNE ZWNvZGVyKCk6IG1fSXNTb2xpZChmYWxzZSksIF9lcnJvck1vZGUoZmFsc2UpIHsgfQotK0NEZWNv ZGVyOjpDRGVjb2RlcigpOiBfaXNTb2xpZChmYWxzZSksIF9zb2xpZEFsbG93ZWQoZmFsc2UpLCBf ZXJyb3JNb2RlKGZhbHNlKSB7IH0KLSAKLSB2b2lkIENEZWNvZGVyOjpJbml0U3RydWN0dXJlcygp Ci0gewotQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIENEZWNvZGVyOjpHZXRGbGFnc0J1ZigpCi0g Ci0gdm9pZCBDRGVjb2Rlcjo6SW5pdERhdGEoKQotIHsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAg aWYgKCFfaXNTb2xpZCkKLSAgIHsKLSAgICAgQXZyUGxjQiA9IEF2ckxuMSA9IEF2ckxuMiA9IEF2 ckxuMyA9IE51bUh1ZiA9IEJ1ZjYwID0gMDsKLSAgICAgQXZyUGxjID0gMHgzNTAwOwotQEAgLTM5 MSw2ICszOTEsMTEgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0 cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAgIGlmIChpblNpemUgPT0g TlVMTCB8fCBvdXRTaXplID09IE5VTEwpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7Ci0gCi0r ICBpZiAoX2lzU29saWQgJiYgIV9zb2xpZEFsbG93ZWQpCi0rICAgIHJldHVybiBTX0ZBTFNFOwot KwotKyAgX3NvbGlkQWxsb3dlZCA9IGZhbHNlOwotKwotICAgaWYgKCFtX091dFdpbmRvd1N0cmVh bS5DcmVhdGUoa0hpc3RvcnlTaXplKSkKLSAgICAgcmV0dXJuIEVfT1VUT0ZNRU1PUlk7Ci0gICBp ZiAoIW1fSW5CaXRTdHJlYW0uQ3JlYXRlKDEgPDwgMjApKQotQEAgLTM5OCwxMyArNDAzLDEzIEBA IEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFt LCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gCi0gICBtX1VucGFja1NpemUgPSAoSW50NjQpKm91 dFNpemU7Ci0gICBtX091dFdpbmRvd1N0cmVhbS5TZXRTdHJlYW0ob3V0U3RyZWFtKTsKLS0gIG1f T3V0V2luZG93U3RyZWFtLkluaXQobV9Jc1NvbGlkKTsKLSsgIG1fT3V0V2luZG93U3RyZWFtLklu aXQoX2lzU29saWQpOwotICAgbV9JbkJpdFN0cmVhbS5TZXRTdHJlYW0oaW5TdHJlYW0pOwotICAg bV9JbkJpdFN0cmVhbS5Jbml0KCk7Ci0gCi0gICAvLyBDQ29kZXJSZWxlYXNlciBjb2RlclJlbGVh c2VyKHRoaXMpOwotICAgSW5pdERhdGEoKTsKLS0gIGlmICghbV9Jc1NvbGlkKQotKyAgaWYgKCFf aXNTb2xpZCkKLSAgIHsKLSAgICAgX2Vycm9yTW9kZSA9IGZhbHNlOwotICAgICBJbml0U3RydWN0 dXJlcygpOwotQEAgLTQ3NSw2ICs0ODAsNyBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJ U2VxdWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAg fQotICAgaWYgKG1fVW5wYWNrU2l6ZSA8IDApCi0gICAgIHJldHVybiBTX0ZBTFNFOwotKyAgX3Nv bGlkQWxsb3dlZCA9IHRydWU7Ci0gICByZXR1cm4gbV9PdXRXaW5kb3dTdHJlYW0uRmx1c2goKTsK LSB9Ci0gCi1AQCAtNDkxLDcgKzQ5Nyw3IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVj b2RlclByb3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlm IChzaXplIDwgMSkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgo ZGF0YVswXSAmIDEpICE9IDApOwotKyAgX2lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsK LSAgIHJldHVybiBTX09LOwotIH0KLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9S YXIxRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMURlY29kZXIuaAotaW5kZXggMDFi NjA2Yi4uOGFiYjNhMyAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVy LmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjFEZWNvZGVyLmgKLUBAIC0zOCw3ICszOCw4 IEBAIHB1YmxpYzoKLSAgIFVJbnQzMiBMYXN0TGVuZ3RoOwotIAotICAgSW50NjQgbV9VbnBhY2tT aXplOwotLSAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29s aWRBbGxvd2VkOwotICAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgVUludDMyIFJlYWRCaXRzKGlu dCBudW1CaXRzKTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5j cHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLWluZGV4IDA1ODBjOGQuLmJl OGQ4NDIgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXIyRGVjb2Rlci5jcHAKLSsr KyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmNwcAotQEAgLTgwLDcgKzgwLDggQEAg c3RhdGljIGNvbnN0IFVJbnQzMiBrSGlzdG9yeVNpemUgPSAxIDw8IDIwOwotIHN0YXRpYyBjb25z dCBVSW50MzIga1dpbmRvd1Jlc2VydlNpemUgPSAoMSA8PCAyMikgKyAyNTY7Ci0gCi0gQ0RlY29k ZXI6OkNEZWNvZGVyKCk6Ci0tICBtX0lzU29saWQoZmFsc2UpLAotKyAgX2lzU29saWQoZmFsc2Up LAotKyAgX3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICBtX1RhYmxlc09LKGZhbHNlKQotIHsKLSB9 Ci1AQCAtMzIwLDYgKzMyMSwxMCBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVu dGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgaWYgKGlu U2l6ZSA9PSBOVUxMIHx8IG91dFNpemUgPT0gTlVMTCkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFS RzsKLSAKLSsgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dlZCkKLSsgICAgcmV0dXJuIFNf RkFMU0U7Ci0rICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICBpZiAoIW1fT3V0V2luZG93 U3RyZWFtLkNyZWF0ZShrSGlzdG9yeVNpemUpKQotICAgICByZXR1cm4gRV9PVVRPRk1FTU9SWTsK LSAgIGlmICghbV9JbkJpdFN0cmVhbS5DcmVhdGUoMSA8PCAyMCkpCi1AQCAtMzMwLDEyICszMzUs MTIgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5T dHJlYW0sIElTZXF1ZW50aWFsT3V0U3RyZWFtICoKLSAgIFVJbnQ2NCBwb3MgPSAwLCB1blBhY2tT aXplID0gKm91dFNpemU7Ci0gICAKLSAgIG1fT3V0V2luZG93U3RyZWFtLlNldFN0cmVhbShvdXRT dHJlYW0pOwotLSAgbV9PdXRXaW5kb3dTdHJlYW0uSW5pdChtX0lzU29saWQpOwotKyAgbV9PdXRX aW5kb3dTdHJlYW0uSW5pdChfaXNTb2xpZCk7Ci0gICBtX0luQml0U3RyZWFtLlNldFN0cmVhbShp blN0cmVhbSk7Ci0gICBtX0luQml0U3RyZWFtLkluaXQoKTsKLSAKLSAgIC8vIENDb2RlclJlbGVh c2VyIGNvZGVyUmVsZWFzZXIodGhpcyk7Ci0tICBpZiAoIW1fSXNTb2xpZCkKLSsgIGlmICghX2lz U29saWQpCi0gICB7Ci0gICAgIEluaXRTdHJ1Y3R1cmVzKCk7Ci0gICAgIGlmICh1blBhY2tTaXpl ID09IDApCi1AQCAtMzQzLDYgKzM0OCw3IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElT ZXF1ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gICAg ICAgaWYgKG1fSW5CaXRTdHJlYW0uR2V0UHJvY2Vzc2VkU2l6ZSgpICsgMiA8PSBtX1BhY2tTaXpl KSAvLyB0ZXN0IGl0OiBwcm9iYWJseSBpbmNvcnJlY3Q7Ci0gICAgICAgICBpZiAoIVJlYWRUYWJs ZXMoKSkKLSAgICAgICAgICAgcmV0dXJuIFNfRkFMU0U7Ci0rICAgICAgX3NvbGlkQWxsb3dlZCA9 IHRydWU7Ci0gICAgICAgcmV0dXJuIFNfT0s7Ci0gICAgIH0KLSAgICAgaWYgKCFSZWFkVGFibGVz KCkpCi1AQCAtMzg2LDYgKzM5Miw5IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKElTZXF1 ZW50aWFsSW5TdHJlYW0gKmluU3RyZWFtLCBJU2VxdWVudGlhbE91dFN0cmVhbSAqCi0gCi0gICBp ZiAoIVJlYWRMYXN0VGFibGVzKCkpCi0gICAgIHJldHVybiBTX0ZBTFNFOwotKwotKyAgX3NvbGlk QWxsb3dlZCA9IHRydWU7Ci0rCi0gICByZXR1cm4gbV9PdXRXaW5kb3dTdHJlYW0uRmx1c2goKTsK LSB9Ci0gCi1AQCAtNDAyLDcgKzQxMSw3IEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6U2V0RGVj b2RlclByb3BlcnRpZXMyKGNvbnN0IEJ5dGUgKmRhdGEsIFVJbnQzMiBzaXplKQotIHsKLSAgIGlm IChzaXplIDwgMSkKLSAgICAgcmV0dXJuIEVfSU5WQUxJREFSRzsKLS0gIG1fSXNTb2xpZCA9ICgo ZGF0YVswXSAmIDEpICE9IDApOwotKyAgX2lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsK LSAgIHJldHVybiBTX09LOwotIH0KLSAKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9S YXIyRGVjb2Rlci5oIGIvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyMkRlY29kZXIuaAotaW5kZXggMGU5 MDA1Zi4uMzcwYmNlMiAxMDA2NDQKLS0tLSBhL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVy LmgKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjJEZWNvZGVyLmgKLUBAIC0xMzgsNyArMTM4 LDggQEAgY2xhc3MgQ0RlY29kZXIgOgotICAgQnl0ZSBtX0xhc3RMZXZlbHNba01heFRhYmxlU2l6 ZV07Ci0gCi0gICBVSW50NjQgbV9QYWNrU2l6ZTsKLS0gIGJvb2wgbV9Jc1NvbGlkOwotKyAgYm9v bCBfaXNTb2xpZDsKLSsgIGJvb2wgX3NvbGlkQWxsb3dlZDsKLSAgIGJvb2wgbV9UYWJsZXNPSzsK LSAKLSAgIHZvaWQgSW5pdFN0cnVjdHVyZXMoKTsKLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21w cmVzcy9SYXIzRGVjb2Rlci5jcHAgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rlci5jcHAK LWluZGV4IDZjYjhhNmEuLjdiODU4MzMgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9S YXIzRGVjb2Rlci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNEZWNvZGVyLmNwcAot QEAgLTkyLDcgKzkyLDggQEAgQ0RlY29kZXI6OkNEZWNvZGVyKCk6Ci0gICBfd3JpdHRlbkZpbGVT aXplKDApLAotICAgX3ZtRGF0YSgwKSwKLSAgIF92bUNvZGUoMCksCi0tICBtX0lzU29saWQoZmFs c2UpLAotKyAgX2lzU29saWQoZmFsc2UpLAotKyAgX3NvbGlkQWxsb3dlZChmYWxzZSksCi0gICBf ZXJyb3JNb2RlKGZhbHNlKQotIHsKLSAgIFBwbWQ3X0NvbnN0cnVjdCgmX3BwbWQpOwotQEAgLTgy MSw3ICs4MjIsNyBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVz c0luZm8gKnByb2dyZXNzKQotIHsKLSAgIF93cml0dGVuRmlsZVNpemUgPSAwOwotICAgX3Vuc3Vw cG9ydGVkRmlsdGVyID0gZmFsc2U7Ci0tICBpZiAoIW1fSXNTb2xpZCkKLSsgIGlmICghX2lzU29s aWQpCi0gICB7Ci0gICAgIF9selNpemUgPSAwOwotICAgICBfd2luUG9zID0gMDsKLUBAIC04NDAs MTIgKzg0MSwxNSBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJQ29tcHJlc3NQcm9ncmVz c0luZm8gKnByb2dyZXNzKQotICAgaWYgKF9lcnJvck1vZGUpCi0gICAgIHJldHVybiBTX0ZBTFNF OwotIAotLSAgaWYgKCFtX0lzU29saWQgfHwgIVRhYmxlc1JlYWQpCi0rICBpZiAoIV9pc1NvbGlk IHx8ICFUYWJsZXNSZWFkKQotICAgewotICAgICBib29sIGtlZXBEZWNvbXByZXNzaW5nOwotICAg ICBSSU5PSyhSZWFkVGFibGVzKGtlZXBEZWNvbXByZXNzaW5nKSk7Ci0gICAgIGlmICgha2VlcERl Y29tcHJlc3NpbmcpCi0rICAgIHsKLSsgICAgICBfc29saWRBbGxvd2VkID0gdHJ1ZTsKLSAgICAg ICByZXR1cm4gU19PSzsKLSsgICAgfQotICAgfQotIAotICAgZm9yICg7OykKLUBAIC04NzAsNiAr ODc0LDkgQEAgSFJFU1VMVCBDRGVjb2Rlcjo6Q29kZVJlYWwoSUNvbXByZXNzUHJvZ3Jlc3NJbmZv ICpwcm9ncmVzcykKLSAgICAgaWYgKCFrZWVwRGVjb21wcmVzc2luZykKLSAgICAgICBicmVhazsK LSAgIH0KLSsKLSsgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotKwotICAgUklOT0soV3JpdGVCdWYo KSk7Ci0gICBVSW50NjQgcGFja1NpemUgPSBtX0luQml0U3RyZWFtLkJpdERlY29kZXIuR2V0UHJv Y2Vzc2VkU2l6ZSgpOwotICAgUklOT0socHJvZ3Jlc3MtPlNldFJhdGlvSW5mbygmcGFja1NpemUs ICZfd3JpdHRlbkZpbGVTaXplKSk7Ci1AQCAtODkwLDYgKzg5NywxMCBAQCBTVERNRVRIT0RJTVAg Q0RlY29kZXI6OkNvZGUoSVNlcXVlbnRpYWxJblN0cmVhbSAqaW5TdHJlYW0sIElTZXF1ZW50aWFs T3V0U3RyZWFtCi0gICAgIGlmICghaW5TaXplKQotICAgICAgIHJldHVybiBFX0lOVkFMSURBUkc7 Ci0gCi0rICAgIGlmIChfaXNTb2xpZCAmJiAhX3NvbGlkQWxsb3dlZCkKLSsgICAgICByZXR1cm4g U19GQUxTRTsKLSsgICAgX3NvbGlkQWxsb3dlZCA9IGZhbHNlOwotKwotICAgICBpZiAoIV92bURh dGEpCi0gICAgIHsKLSAgICAgICBfdm1EYXRhID0gKEJ5dGUgKik6Ok1pZEFsbG9jKGtWbURhdGFT aXplTWF4ICsga1ZtQ29kZVNpemVNYXgpOwotQEAgLTkyOCw3ICs5MzksNyBAQCBTVERNRVRIT0RJ TVAgQ0RlY29kZXI6OlNldERlY29kZXJQcm9wZXJ0aWVzMihjb25zdCBCeXRlICpkYXRhLCBVSW50 MzIgc2l6ZSkKLSB7Ci0gICBpZiAoc2l6ZSA8IDEpCi0gICAgIHJldHVybiBFX0lOVkFMSURBUkc7 Ci0tICBtX0lzU29saWQgPSAoKGRhdGFbMF0gJiAxKSAhPSAwKTsKLSsgIF9pc1NvbGlkID0gKChk YXRhWzBdICYgMSkgIT0gMCk7Ci0gICByZXR1cm4gU19PSzsKLSB9Ci0gCi1kaWZmIC0tZ2l0IGEv Q1BQLzd6aXAvQ29tcHJlc3MvUmFyM0RlY29kZXIuaCBiL0NQUC83emlwL0NvbXByZXNzL1JhcjNE ZWNvZGVyLmgKLWluZGV4IDJmNzJkN2QuLjMyYzg5NDMgMTAwNjQ0Ci0tLS0gYS9DUFAvN3ppcC9D b21wcmVzcy9SYXIzRGVjb2Rlci5oCi0rKysgYi9DUFAvN3ppcC9Db21wcmVzcy9SYXIzRGVjb2Rl ci5oCi1AQCAtMTkxLDcgKzE5MSw4IEBAIGNsYXNzIENEZWNvZGVyOgotICAgQ1JlY29yZFZlY3Rv cjxDVGVtcEZpbHRlciAqPiAgX3RlbXBGaWx0ZXJzOwotICAgVUludDMyIF9sYXN0RmlsdGVyOwot IAotLSAgYm9vbCBtX0lzU29saWQ7Ci0rICBib29sIF9pc1NvbGlkOwotKyAgYm9vbCBfc29saWRB bGxvd2VkOwotICAgYm9vbCBfZXJyb3JNb2RlOwotIAotICAgYm9vbCBfbHpNb2RlOwotZGlmZiAt LWdpdCBhL0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcCBiL0NQUC83emlwL0NvbXBy ZXNzL1JhcjVEZWNvZGVyLmNwcAotaW5kZXggZGM4ODMwZi4uYTgyNmQ1YSAxMDA2NDQKLS0tLSBh L0NQUC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmNwcAotKysrIGIvQ1BQLzd6aXAvQ29tcHJl c3MvUmFyNURlY29kZXIuY3BwCi1AQCAtNzIsNiArNzIsNyBAQCBDRGVjb2Rlcjo6Q0RlY29kZXIo KToKLSAgICAgX3dyaXR0ZW5GaWxlU2l6ZSgwKSwKLSAgICAgX2RpY3RTaXplTG9nKDApLAotICAg ICBfaXNTb2xpZChmYWxzZSksCi0rICAgIF9zb2xpZEFsbG93ZWQoZmFsc2UpLAotICAgICBfd2Fz SW5pdChmYWxzZSksCi0gICAgIF9pbnB1dEJ1ZihOVUxMKQotIHsKLUBAIC04MDEsNyArODAyLDEw IEBAIEhSRVNVTFQgQ0RlY29kZXI6OkNvZGVSZWFsKCkKLSAgICovCi0gCi0gICBpZiAocmVzID09 IFNfT0spCi0rICB7Ci0rICAgIF9zb2xpZEFsbG93ZWQgPSB0cnVlOwotICAgICByZXMgPSByZXMy OwotKyAgfQotICAgICAgCi0gICBpZiAocmVzID09IFNfT0sgJiYgX3VucGFja1NpemVfRGVmaW5l ZCAmJiBfd3JpdHRlbkZpbGVTaXplICE9IF91bnBhY2tTaXplKQotICAgICByZXR1cm4gU19GQUxT RTsKLUBAIC04MjEsNiArODI1LDEwIEBAIFNURE1FVEhPRElNUCBDRGVjb2Rlcjo6Q29kZShJU2Vx dWVudGlhbEluU3RyZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0KLSB7Ci0gICB0 cnkKLSAgIHsKLSsgICAgaWYgKF9pc1NvbGlkICYmICFfc29saWRBbGxvd2VkKQotKyAgICAgIHJl dHVybiBTX0ZBTFNFOwotKyAgICBfc29saWRBbGxvd2VkID0gZmFsc2U7Ci0rCi0gICAgIGlmIChf ZGljdFNpemVMb2cgPj0gc2l6ZW9mKHNpemVfdCkgKiA4KQotICAgICAgIHJldHVybiBFX05PVElN UEw7Ci0gCi1kaWZmIC0tZ2l0IGEvQ1BQLzd6aXAvQ29tcHJlc3MvUmFyNURlY29kZXIuaCBiL0NQ UC83emlwL0NvbXByZXNzL1JhcjVEZWNvZGVyLmgKLWluZGV4IGIwYTRkZDEuLjNkYjUwMTggMTAw NjQ0Ci0tLS0gYS9DUFAvN3ppcC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oCi0rKysgYi9DUFAvN3pp cC9Db21wcmVzcy9SYXI1RGVjb2Rlci5oCi1AQCAtMjcxLDYgKzI3MSw3IEBAIGNsYXNzIENEZWNv ZGVyOgotICAgQnl0ZSBfZGljdFNpemVMb2c7Ci0gICBib29sIF90YWJsZVdhc0ZpbGxlZDsKLSAg IGJvb2wgX2lzU29saWQ7Ci0rICBib29sIF9zb2xpZEFsbG93ZWQ7Ci0gICBib29sIF93YXNJbml0 OwotIAotICAgVUludDMyIF9yZXBzW2tOdW1SZXBzXTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6 aXAvcGF0Y2hlcy9DVkUtMjAxNi05Mjk2LnBhdGNoIGIvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NW RS0yMDE2LTkyOTYucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiYmIzMzc3 MzdlNS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNi05 Mjk2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tIGEvQ1BQLzd6aXAv QXJjaGl2ZS83ei83ekluLmNwcAlTdW4gTm92IDIwIDA5OjI5OjQxIDIwMTYKLSsrKyBiL0NQUC83 emlwL0FyY2hpdmUvN3ovN3pJbi5jcHAJU3VuIE5vdiAyMCAwOTozMToyMiAyMDE2Ci1AQCAtMTA5 Nyw3ICsxMDk3LDggQEAgSFJFU1VMVCBDSW5BcmNoaXZlOjpSZWFkQW5kRGVjb2RlUGFja2VkU3Ry ZWFtcygKLSAgICAgICBpZiAoQ3JjQ2FsYyhkYXRhLCB1bnBhY2tTaXplKSAhPSBmb2xkZXJzLkZv bGRlckNSQ3MuVmFsc1tpXSkKLSAgICAgICAgIFRocm93SW5jb3JyZWN0KCk7Ci0gICB9Ci0tICBI ZWFkZXJzU2l6ZSArPSBmb2xkZXJzLlBhY2tQb3NpdGlvbnNbZm9sZGVycy5OdW1QYWNrU3RyZWFt c107Ci0rICBpZiAoZm9sZGVycy5QYWNrUG9zaXRpb25zKQotKyAgICAgIEhlYWRlcnNTaXplICs9 IGZvbGRlcnMuUGFja1Bvc2l0aW9uc1tmb2xkZXJzLk51bVBhY2tTdHJlYW1zXTsKLSAgIHJldHVy biBTX09LOwotIH0KLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAx Ny0xNzk2OS5wYXRjaCBiL3NyY3BrZ3MvcDd6aXAvcGF0Y2hlcy9DVkUtMjAxNy0xNzk2OS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE4MjBhZjczMDY3Li4wMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9wN3ppcC9wYXRjaGVzL0NWRS0yMDE3LTE3OTY5LnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotRnJvbTogPT91dGYtOD9xP0FudG9pbmVfQmVhdXBy PUMzPUE5Pz0gPGFuYXJjYXRAZGViaWFuLm9yZz4KLURhdGU6IFN1biwgMjggSmFuIDIwMTggMjE6 MTk6NTAgKzAxMDAKLVN1YmplY3Q6IGJhY2twb3J0IG9mIHRoZSBDVkUtMjAxNy0xNzk2OSBmaXgg ZnJvbSA3emlwIDE4LjAwLWJldGEKLQotLS0tCi0gQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVj b2Rlci5jcHAgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9DUFAvN3ppcC9Db21wcmVzcy9TaHJpbmtEZWNv ZGVyLmNwcCBiL0NQUC83emlwL0NvbXByZXNzL1Nocmlua0RlY29kZXIuY3BwCi1pbmRleCA4MGI3 ZTY3Li40YWNkY2U1IDEwMDY0NAotLS0tIGEvQ1BQLzd6aXAvQ29tcHJlc3MvU2hyaW5rRGVjb2Rl ci5jcHAKLSsrKyBiL0NQUC83emlwL0NvbXByZXNzL1Nocmlua0RlY29kZXIuY3BwCi1AQCAtMTIx LDcgKzEyMSwxMiBAQCBIUkVTVUxUIENEZWNvZGVyOjpDb2RlUmVhbChJU2VxdWVudGlhbEluU3Ry ZWFtICppblN0cmVhbSwgSVNlcXVlbnRpYWxPdXRTdHJlYW0gKgotICAgICB7Ci0gICAgICAgX3N0 YWNrW2krK10gPSBfc3VmZml4ZXNbY3VyXTsKLSAgICAgICBjdXIgPSBfcGFyZW50c1tjdXJdOwot LSAgICB9Ci0rICAgICAgaWYgKGkgPj0ga051bUl0ZW1zKQotKyAgICAgICAgYnJlYWs7Ci0rICAg ICB9Ci0rCi0rICAgIGlmIChpID49IGtOdW1JdGVtcykKLSsgICAgICBicmVhazsKLSAgICAgCi0g ICAgIF9zdGFja1tpKytdID0gKEJ5dGUpY3VyOwotICAgICBsYXN0Q2hhcjIgPSAoQnl0ZSljdXI7 CmRpZmYgLS1naXQgYS9zcmNwa2dzL3A3emlwL3RlbXBsYXRlIGIvc3JjcGtncy9wN3ppcC90ZW1w bGF0ZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmRjYmRmZTUxMzYyLi4wMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9wN3ppcC90ZW1wbGF0ZQorKysgL2Rldi9udWxsCkBAIC0xLDQ2 ICswLDAgQEAKLSMgVGVtcGxhdGUgZmlsZSBmb3IgJ3A3emlwJwotcGtnbmFtZT1wN3ppcAotdmVy c2lvbj0xNi4wMgotcmV2aXNpb249NQotaG9zdG1ha2VkZXBlbmRzPSJ5YXNtIG5hc20iCi1zaG9y dF9kZXNjPSJDb21tYW5kLWxpbmUgdmVyc2lvbiBvZiB0aGUgN3ppcCBjb21wcmVzc2VkIGZpbGUg YXJjaGl2ZSIKLW1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCi1s aWNlbnNlPSJMR1BMLTIuMS1vci1sYXRlciIKLWhvbWVwYWdlPSJodHRwOi8vcDd6aXAuc291cmNl Zm9yZ2UubmV0LyIKLWRpc3RmaWxlcz0iJHtTT1VSQ0VGT1JHRV9TSVRFfS8ke3BrZ25hbWV9LyR7 cGtnbmFtZX1fJHt2ZXJzaW9ufV9zcmNfYWxsLnRhci5iejIiCi1jaGVja3N1bT01ZWIyMGFjMGUy OTQ0ZjZjYjljMmQ1MWRkNmM0NTE4OTQxYzE4NTM0N2Q0MDg5ZWE4OTA4N2ZmZGQ2ZTIzNDFmCi0K LUNYWEZMQUdTPSItV25vLW5hcnJvd2luZyAtc3RkPWMrKzExIgotCi1kb19jb25maWd1cmUoKSB7 Ci0JY2FzZSAiJFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCi0JCWk2ODYqKSBjcCBtYWtlZmlsZS5s aW51eF94ODZfYXNtX2djY180LlggbWFrZWZpbGUubWFjaGluZTs7Ci0JCXg4Nl82NCopIGNwIG1h a2VmaWxlLmxpbnV4X2FtZDY0X2FzbSBtYWtlZmlsZS5tYWNoaW5lOzsKLQkJKikgY3AgbWFrZWZp bGUubGludXhfYW55X2NwdV9nY2NfNC5YIG1ha2VmaWxlLm1hY2hpbmU7OwotCWVzYWMKLQlzZWQg LWUgInMsZysrLCR7Q1hYfSwiIC1pIG1ha2VmaWxlLm1hY2hpbmUKLQlzZWQgLWUgInMsZ2NjLCR7 Q0N9LCIgLWkgbWFrZWZpbGUubWFjaGluZQotfQotZG9fYnVpbGQoKSB7Ci0JbWFrZSBhbGwzIE9Q VEZMQUdTPSIkQ1hYRkxBR1MiICR7bWFrZWpvYnN9Ci19Ci1kb19pbnN0YWxsKCkgewotCW1ha2Ug aW5zdGFsbCBERVNUX0RJUj0iJHtERVNURElSfSIgREVTVF9IT01FPSIvdXNyIiBcCi0JCURFU1Rf TUFOPSIvdXNyL3NoYXJlL21hbiIgXAotCQlERVNUX1NIQVJFX0RPQz0iL3Vzci9zaGFyZS9kb2Mv JHtwa2duYW1lfSIKLQlmaW5kICR7REVTVERJUn0vdXNyL3NoYXJlL2RvYy8kcGtnbmFtZSAtdHlw ZSBkIC1leGVjIGNobW9kIDc1NSB7fSBcOwotCW1rZGlyIC1wICR7REVTVERJUn0vdXNyL3NoYXJl L2xpY2Vuc2VzL3A3emlwLwotCW12ICR7REVTVERJUn0vdXNyL3NoYXJlL2RvYy9wN3ppcC9ET0Mv Y29weWluZy50eHQgXAotCSAgICR7REVTVERJUn0vdXNyL3NoYXJlL2xpY2Vuc2VzL3A3emlwL0xJ Q0VOU0UKLX0KLQotcDd6aXAtdW5yYXJfcGFja2FnZSgpIHsKLQlzaG9ydF9kZXNjKz0iIC0gUkFS IHN1cHBvcnQiCi0JbGljZW5zZT0iY3VzdG9tOmZyZWV3YXJlIgotCWRlcGVuZHM9IiR7c291cmNl cGtnfS0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCXJlcG9zaXRvcnk9bm9uZnJlZQotCXBrZ19p bnN0YWxsKCkgewotCQl2bW92ZSB1c3IvbGliL3A3emlwL0NvZGVjcy9SYXIuc28KLQkJdmxpY2Vu c2UgRE9DL3VuUmFyTGljZW5zZS50eHQgTElDRU5TRQotCX0KLX0KZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcDd6aXAvdXBkYXRlIGIvc3JjcGtncy9wN3ppcC91cGRhdGUKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDg0ZWQ0NmQ3NGExYS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvcDd6 aXAvdXBkYXRlCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotcGF0dGVybj0ncDd6aXBfXEtb LlxkXSsnCg== --===============6258896521350572615==--