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 15135 invoked from network); 31 Mar 2022 09:55:00 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 31 Mar 2022 09:55:00 -0000 Content-Type: multipart/mixed; boundary="===============6233809004083195542==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_packages=3A_highway=2C_libjxl=2C_qt-jpegxl-image-plugin?= To: ml@inbox.vuxu.org From: joshuakraemer Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 31 Mar 2022 11:54:59 +0200 List-Id: Message-ID: <20220331095459.rKpbwgyNjzEumrwL0hK-Jz6po0cpYC5BWMKS9y2dziI@z> GitHub notification mails are now in MIME to allow UTF8. --===============6233809004083195542== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgam9zaHVha3JhZW1lciBhZ2FpbnN0 IG1hc3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5j b20vam9zaHVha3JhZW1lci92b2lkLXBhY2thZ2VzIGpwZWcteGwKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzMxMzk3CgpOZXcgcGFja2FnZXM6IGhpZ2h3 YXksIGxpYmp4bCwgcXQtanBlZ3hsLWltYWdlLXBsdWdpbgojIyMjIEdlbmVyYWwNCi0gW3hdIFRo aXMgaXMgYSBuZXcgcGFja2FnZSBhbmQgaXQgY29uZm9ybXMgdG8gdGhlIFtxdWFsaXR5IHJlcXVp cmVtZW50c10oaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9i L21hc3Rlci9NYW51YWwubWQjcXVhbGl0eS1yZXF1aXJlbWVudHMpDQoNCiMjIyMgSGF2ZSB0aGUg cmVzdWx0cyBvZiB0aGUgcHJvcG9zZWQgY2hhbmdlcyBiZWVuIHRlc3RlZD8NCi0gW3hdIEkgdXNl IHRoZSBwYWNrYWdlcyBhZmZlY3RlZCBieSB0aGUgcHJvcG9zZWQgY2hhbmdlcyBvbiBhIHJlZ3Vs YXIgYmFzaXMgYW5kIGNvbmZpcm0gdGhpcyBQUiB3b3JrcyBmb3IgbWUNCg0KVGhlc2UgcGFja2Fn ZXMgcHJvdmlkZSBzdXBwb3J0IGZvciB0aGUgSlBFRyBYTCBpbWFnZSBmb3JtYXQuCgpBIHBhdGNo IGZpbGUgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1 bGwvMzEzOTcucGF0Y2ggaXMgYXR0YWNoZWQ= --===============6233809004083195542== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-jpeg-xl-31397.patch" RnJvbSA5ZjVlNzRhODIyOTg5MTg4Mzc3MTBjNDE4MDdiZGQzZWI5Y2Y4OTQyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Sm9zaHVhPTIwS3I9QzM9QTRtZXI/PSA8am9z aHVhQGtyYWVtZXIubGluaz4KRGF0ZTogV2VkLCA5IEp1biAyMDIxIDAwOjQ0OjM3ICswMjAwClN1 YmplY3Q6IFtQQVRDSCAxLzNdIE5ldyBwYWNrYWdlOiBoaWdod2F5LTAuMTYuMAoKLS0tCiBzcmNw a2dzL2hpZ2h3YXkvdGVtcGxhdGUgfCAxMyArKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwg MTMgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvaGlnaHdheS90ZW1w bGF0ZQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvaGlnaHdheS90ZW1wbGF0ZSBiL3NyY3BrZ3MvaGln aHdheS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjk0 MzE0MWEzMjg0ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvaGlnaHdheS90ZW1wbGF0ZQpA QCAtMCwwICsxLDEzIEBACisjIFRlbXBsYXRlIGZpbGUgZm9yICdoaWdod2F5JworcGtnbmFtZT1o aWdod2F5Cit2ZXJzaW9uPTAuMTYuMAorcmV2aXNpb249MQorYnVpbGRfc3R5bGU9Y21ha2UKK2Nv bmZpZ3VyZV9hcmdzPSItREhXWV9TWVNURU1fR1RFU1Q9T04iCittYWtlZGVwZW5kcz0iZ3Rlc3Qt ZGV2ZWwiCitzaG9ydF9kZXNjPSJDKysgbGlicmFyeSBwcm92aWRpbmcgcG9ydGFibGUgU0lNRC92 ZWN0b3IgaW50cmluc2ljcyIKK21haW50YWluZXI9Ikpvc2h1YSBLcsOkbWVyIDxqb3NodWFAa3Jh ZW1lci5saW5rPiIKK2xpY2Vuc2U9IkFwYWNoZS0yLjAiCitob21lcGFnZT0iaHR0cHM6Ly9naXRo dWIuY29tL2dvb2dsZS9oaWdod2F5IgorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vZ29v Z2xlL2hpZ2h3YXkvYXJjaGl2ZS8ke3ZlcnNpb259LnRhci5neiIKK2NoZWNrc3VtPTc0NmM5NTc4 NDQ2YmU2YzUyODZlODg0NmM1ZjBkNDExOGMwYzFmMDQyMTljNDAxYWJhZGNiOGE1ZjIwNTE4OTMK CkZyb20gOTVjYWY3ZGNhYzg3N2Q0MGYxZTczN2I5ZjBlZDgwM2U4MTUxOTA3MiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0pvc2h1YT0yMEtyPUMzPUE0bWVyPz0gPGpv c2h1YUBrcmFlbWVyLmxpbms+CkRhdGU6IFdlZCwgOSBKdW4gMjAyMSAwMTo1MjoyOSArMDIwMApT dWJqZWN0OiBbUEFUQ0ggMi8zXSBOZXcgcGFja2FnZTogbGlianhsLTAuNi4xCgotLS0KIGNvbW1v bi9zaGxpYnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBzcmNwa2dz L2xpYmp4bC1kZXZlbCAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9s aWJqeGwtcGx1Z2lucyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3MvbGli anhsLXRvb2xzICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiAuLi4vZGVwcmVjYXRl ZF9oaWdod2F5X2Z1bmN0aW9ucy5wYXRjaCAgICAgICAgfCA0NTkgKysrKysrKysrKysrKysrKysr CiBzcmNwa2dzL2xpYmp4bC90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgfCAgNzIgKysr CiA2IGZpbGVzIGNoYW5nZWQsIDUzNiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMjAwMDAg c3JjcGtncy9saWJqeGwtZGV2ZWwKIGNyZWF0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL2xpYmp4bC1w bHVnaW5zCiBjcmVhdGUgbW9kZSAxMjAwMDAgc3JjcGtncy9saWJqeGwtdG9vbHMKIGNyZWF0ZSBt b2RlIDEwMDY0NCBzcmNwa2dzL2xpYmp4bC9wYXRjaGVzL2RlcHJlY2F0ZWRfaGlnaHdheV9mdW5j dGlvbnMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2xpYmp4bC90ZW1wbGF0ZQoK ZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4IGNjYzU1YTFi Mzc3Mi4uMTQ0NmM4NDhmZjlmIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisrKyBiL2NvbW1v bi9zaGxpYnMKQEAgLTQxNDUsMyArNDE0NSw1IEBAIGxpYnJ6X2xhbmcuc28uMC4zLjQgcml6aW4t MC4zLjRfMQogbGlicnpfc2VhcmNoLnNvLjAuMy40IHJpemluLTAuMy40XzEKIGxpYnJ6X2Jpbi5z by4wLjMuNCByaXppbi0wLjMuNF8xCiBsaWJhcmF2aXMtMC44LnNvLjAgbGliYXJhdmlzLTAuOC4y MV8xCitsaWJqeGwuc28uMC42IGxpYmp4bC0wLjYuMV8xCitsaWJqeGxfdGhyZWFkcy5zby4wLjYg bGlianhsLTAuNi4xXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlianhsLWRldmVsIGIvc3JjcGtn cy9saWJqeGwtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi5k ZGMxYWJmODI3ZDkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2xpYmp4bC1kZXZlbApAQCAt MCwwICsxIEBACitsaWJqeGwKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQg YS9zcmNwa2dzL2xpYmp4bC1wbHVnaW5zIGIvc3JjcGtncy9saWJqeGwtcGx1Z2lucwpuZXcgZmls ZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwMDAuLmRkYzFhYmY4MjdkOQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvbGlianhsLXBsdWdpbnMKQEAgLTAsMCArMSBAQAorbGlianhsClwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWJqeGwtdG9v bHMgYi9zcmNwa2dzL2xpYmp4bC10b29scwpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAw MDAwMDAwMDAuLmRkYzFhYmY4MjdkOQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGlianhs LXRvb2xzCkBAIC0wLDAgKzEgQEAKK2xpYmp4bApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbGlianhsL3BhdGNoZXMvZGVwcmVjYXRlZF9oaWdod2F5X2Z1 bmN0aW9ucy5wYXRjaCBiL3NyY3BrZ3MvbGlianhsL3BhdGNoZXMvZGVwcmVjYXRlZF9oaWdod2F5 X2Z1bmN0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LmE3NzVlYjVhN2M1NgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbGlianhsL3BhdGNoZXMv ZGVwcmVjYXRlZF9oaWdod2F5X2Z1bmN0aW9ucy5wYXRjaApAQCAtMCwwICsxLDQ1OSBAQAorZGlm ZiAtLWdpdCBhL2xpYi9qeGwvZGVjX3JlY29uc3RydWN0LmNjIGIvbGliL2p4bC9kZWNfcmVjb25z dHJ1Y3QuY2MKK2luZGV4IGExYmFlZjQuLjA4Mjc5ZjggMTAwNjQ0CistLS0gYS9saWIvanhsL2Rl Y19yZWNvbnN0cnVjdC5jYworKysrIGIvbGliL2p4bC9kZWNfcmVjb25zdHJ1Y3QuY2MKK0BAIC0z NTcsOCArMzU3LDggQEAgdm9pZCBEb1lDYkNyVXBzYW1wbGluZyhzaXplX3QgaHMsIHNpemVfdCB2 cywgSW1hZ2VGKiBwbGFuZV9pbiwgY29uc3QgUmVjdCYgcmVjdCwKKyAgICAgICAgIFN0b3JlKGxl ZnQsIGQsIG91dCArIHgpOworICAgICAgICAgU3RvcmUocmlnaHQsIGQsIG91dCArIHggKyAxKTsK KyAjZWxzZQorLSAgICAgICAgU3RvcmUoSW50ZXJsZWF2ZUxvd2VyKGxlZnQsIHJpZ2h0KSwgZCwg b3V0ICsgeCk7CistICAgICAgICBTdG9yZShJbnRlcmxlYXZlVXBwZXIobGVmdCwgcmlnaHQpLCBk LCBvdXQgKyB4ICsgTGFuZXMoZCkpOworKyAgICAgICAgU3RvcmUoSW50ZXJsZWF2ZUxvd2VyKGQs IGxlZnQsIHJpZ2h0KSwgZCwgb3V0ICsgeCk7CisrICAgICAgICBTdG9yZShJbnRlcmxlYXZlVXBw ZXIoZCwgbGVmdCwgcmlnaHQpLCBkLCBvdXQgKyB4ICsgTGFuZXMoZCkpOworICNlbmRpZgorICAg ICAgIH0KKyAgICAgfQorZGlmZiAtLWdpdCBhL2xpYi9qeGwvZGVjX3Vwc2FtcGxlLmNjIGIvbGli L2p4bC9kZWNfdXBzYW1wbGUuY2MKK2luZGV4IDcyNzdlNGYuLjNjYjNmMzYgMTAwNjQ0CistLS0g YS9saWIvanhsL2RlY191cHNhbXBsZS5jYworKysrIGIvbGliL2p4bC9kZWNfdXBzYW1wbGUuY2MK K0BAIC0xNzYsOCArMTc2LDggQEAgdm9pZCBVcHNhbXBsZShjb25zdCBJbWFnZUYmIHNyYywgY29u c3QgUmVjdCYgc3JjX3JlY3QsIEltYWdlRiogZHN0LAorICAgICAgICAgbWluID0gTWluKExvYWRV KGRmLCByYXdfbWluX3JvdyArIHN4ICsgZngpLCBtaW4pOworICAgICAgICAgbWF4ID0gTWF4KExv YWRVKGRmLCByYXdfbWF4X3JvdyArIHN4ICsgZngpLCBtYXgpOworICAgICAgIH0KKy0gICAgICBt aW4gPSBNaW5PZkxhbmVzKG1pbik7CistICAgICAgbWF4ID0gTWF4T2ZMYW5lcyhtYXgpOworKyAg ICAgIG1pbiA9IE1pbk9mTGFuZXMoZGYsIG1pbik7CisrICAgICAgbWF4ID0gTWF4T2ZMYW5lcyhk ZiwgbWF4KTsKKyAgICAgICBmb3IgKHNpemVfdCBseCA9IDA7IGx4IDwgTjsgbHggKz0gVikgewor ICAgICAgICAgU3RvcmVVKG1pbiwgZGYsIG1pbl9yb3cgKyBOICogc3ggKyBseCk7CisgICAgICAg ICBTdG9yZVUobWF4LCBkZiwgbWF4X3JvdyArIE4gKiBzeCArIGx4KTsKK2RpZmYgLS1naXQgYS9s aWIvanhsL2VuY19hY19zdHJhdGVneS5jYyBiL2xpYi9qeGwvZW5jX2FjX3N0cmF0ZWd5LmNjCitp bmRleCBiYzUwNDY1Li5jMGVkNjhmIDEwMDY0NAorLS0tIGEvbGliL2p4bC9lbmNfYWNfc3RyYXRl Z3kuY2MKKysrKyBiL2xpYi9qeGwvZW5jX2FjX3N0cmF0ZWd5LmNjCitAQCAtNDI5LDggKzQyOSw4 IEBAIGZsb2F0IEVzdGltYXRlRW50cm9weShjb25zdCBBY1N0cmF0ZWd5JiBhY3MsIHNpemVfdCB4 LCBzaXplX3QgeSwKKyAgICAgfQorICAgICBlbnRyb3B5X3YgKz0gbnplcm9zX3YgKiBjb3N0MTsK KyAKKy0gICAgZW50cm9weSArPSBHZXRMYW5lKFN1bU9mTGFuZXMoZW50cm9weV92KSk7CistICAg IHNpemVfdCBudW1fbnplcm9zID0gR2V0TGFuZShTdW1PZkxhbmVzKG56ZXJvc192KSk7CisrICAg IGVudHJvcHkgKz0gR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBlbnRyb3B5X3YpKTsKKysgICAgc2l6 ZV90IG51bV9uemVyb3MgPSBHZXRMYW5lKFN1bU9mTGFuZXMoZGYsIG56ZXJvc192KSk7CisgICAg IC8vIEFkZCAjYml0IG9mIG51bV9ub256ZXJvcywgYXMgYW4gZXN0aW1hdGUgb2YgdGhlIGNvc3Qg Zm9yIGVuY29kaW5nIHRoZQorICAgICAvLyBudW1iZXIgb2Ygbm9uLXplcm9zIG9mIHRoZSBibG9j ay4KKyAgICAgc2l6ZV90IG5iaXRzID0gQ2VpbExvZzJOb256ZXJvKG51bV9uemVyb3MgKyAxKSAr IDE7CitAQCAtNDQxLDkgKzQ0MSw5IEBAIGZsb2F0IEVzdGltYXRlRW50cm9weShjb25zdCBBY1N0 cmF0ZWd5JiBhY3MsIHNpemVfdCB4LCBzaXplX3QgeSwKKyAgIGZsb2F0IHJldCA9CisgICAgICAg ZW50cm9weSArCisgICAgICAgbWFza2luZyAqCistICAgICAgICAgICgoY29uZmlnLmluZm9fbG9z c19tdWx0aXBsaWVyICogR2V0TGFuZShTdW1PZkxhbmVzKGluZm9fbG9zcykpKSArCisrICAgICAg ICAgICgoY29uZmlnLmluZm9fbG9zc19tdWx0aXBsaWVyICogR2V0TGFuZShTdW1PZkxhbmVzKGRm LCBpbmZvX2xvc3MpKSkgKworICAgICAgICAgICAgKGNvbmZpZy5pbmZvX2xvc3NfbXVsdGlwbGll cjIgKgorLSAgICAgICAgICAgIHNxcnQobnVtX2Jsb2NrcyAqIEdldExhbmUoU3VtT2ZMYW5lcyhp bmZvX2xvc3MyKSkpKSk7CisrICAgICAgICAgICAgc3FydChudW1fYmxvY2tzICogR2V0TGFuZShT dW1PZkxhbmVzKGRmLCBpbmZvX2xvc3MyKSkpKSk7CisgICByZXR1cm4gcmV0OworIH0KKyAKK2Rp ZmYgLS1naXQgYS9saWIvanhsL2VuY19hZGFwdGl2ZV9xdWFudGl6YXRpb24uY2MgYi9saWIvanhs L2VuY19hZGFwdGl2ZV9xdWFudGl6YXRpb24uY2MKK2luZGV4IGY1MzM5M2YuLjI0ZjNkNTMgMTAw NjQ0CistLS0gYS9saWIvanhsL2VuY19hZGFwdGl2ZV9xdWFudGl6YXRpb24uY2MKKysrKyBiL2xp Yi9qeGwvZW5jX2FkYXB0aXZlX3F1YW50aXphdGlvbi5jYworQEAgLTE4OSw3ICsxODksNyBAQCBW IEdhbW1hTW9kdWxhdGlvbihjb25zdCBEIGQsIGNvbnN0IHNpemVfdCB4LCBjb25zdCBzaXplX3Qg eSwKKyAgICAgICBvdmVyYWxsX3JhdGlvICs9IGF2Z19yYXRpbzsKKyAgICAgfQorICAgfQorLSAg b3ZlcmFsbF9yYXRpbyA9IFN1bU9mTGFuZXMob3ZlcmFsbF9yYXRpbyk7CisrICBvdmVyYWxsX3Jh dGlvID0gU3VtT2ZMYW5lcyhkLCBvdmVyYWxsX3JhdGlvKTsKKyAgIG92ZXJhbGxfcmF0aW8gKj0g U2V0KGQsIDEuMGYgLyA2NCk7CisgICAvLyBpZGVhbGx5IC0xLjAsIGJ1dCBsaWtlbHkgb3B0aW1h bCBjb3JyZWN0aW9uIGFkZHMgc29tZSBlbnRyb3B5LCBzbyBzbGlnaHRseQorICAgLy8gbGVzcyB0 aGFuIHRoYXQuCitAQCAtMjQ2LDEyICsyNDYsMTIgQEAgViBDb2xvck1vZHVsYXRpb24oY29uc3Qg RCBkLCBjb25zdCBzaXplX3QgeCwgY29uc3Qgc2l6ZV90IHksCisgICAvLyBibHVlIHdlIGNvbnNp ZGVyIGFzIGlmIGl0IHdhcyBmdWxseSByZWQgb3IgYmx1ZS4KKyAgIHN0YXRpYyBjb25zdCBmbG9h dCByYXRpbyA9IDMwLjYxMDYxNTc4MjE0MjczN2Y7ICAvLyBvdXQgb2YgNjQgcGl4ZWxzLgorIAor LSAgYXV0byBvdmVyYWxsX3JlZF9jb3ZlcmFnZSA9IFN1bU9mTGFuZXMocmVkX2NvdmVyYWdlKTsK KysgIGF1dG8gb3ZlcmFsbF9yZWRfY292ZXJhZ2UgPSBTdW1PZkxhbmVzKGQsIHJlZF9jb3ZlcmFn ZSk7CisgICBvdmVyYWxsX3JlZF9jb3ZlcmFnZSA9CisgICAgICAgTWluKG92ZXJhbGxfcmVkX2Nv dmVyYWdlLCBTZXQoZCwgcmF0aW8gKiBrUmVkUmFtcExlbmd0aCkpOworICAgb3ZlcmFsbF9yZWRf Y292ZXJhZ2UgKj0gU2V0KGQsIHJlZF9zdHJlbmd0aCAvIHJhdGlvKTsKKyAKKy0gIGF1dG8gb3Zl cmFsbF9ibHVlX2NvdmVyYWdlID0gU3VtT2ZMYW5lcyhibHVlX2NvdmVyYWdlKTsKKysgIGF1dG8g b3ZlcmFsbF9ibHVlX2NvdmVyYWdlID0gU3VtT2ZMYW5lcyhkLCBibHVlX2NvdmVyYWdlKTsKKyAg IG92ZXJhbGxfYmx1ZV9jb3ZlcmFnZSA9CisgICAgICAgTWluKG92ZXJhbGxfYmx1ZV9jb3ZlcmFn ZSwgU2V0KGQsIHJhdGlvICoga0JsdWVSYW1wTGVuZ3RoKSk7CisgICBvdmVyYWxsX2JsdWVfY292 ZXJhZ2UgKj0gU2V0KGQsIGJsdWVfc3RyZW5ndGggLyByYXRpbyk7CitAQCAtMjk1LDcgKzI5NSw3 IEBAIFYgSGZNb2R1bGF0aW9uKGNvbnN0IEQgZCwgY29uc3Qgc2l6ZV90IHgsIGNvbnN0IHNpemVf dCB5LCBjb25zdCBJbWFnZUYmIHh5YiwKKyAgICAgfQorICAgfQorIAorLSAgc3VtID0gU3VtT2ZM YW5lcyhzdW0pOworKyAgc3VtID0gU3VtT2ZMYW5lcyhkLCBzdW0pOworICAgcmV0dXJuIE11bEFk ZChzdW0sIFNldChkLCAtMi4wMDUyMTkzMjMzNjg4ODg0ZiAvIDExMiksIG91dF92YWwpOworIH0K KyAKK2RpZmYgLS1naXQgYS9saWIvanhsL2VuY19hcl9jb250cm9sX2ZpZWxkLmNjIGIvbGliL2p4 bC9lbmNfYXJfY29udHJvbF9maWVsZC5jYworaW5kZXggZjQzMzQwZS4uZjgwMjVhYyAxMDA2NDQK Ky0tLSBhL2xpYi9qeGwvZW5jX2FyX2NvbnRyb2xfZmllbGQuY2MKKysrKyBiL2xpYi9qeGwvZW5j X2FyX2NvbnRyb2xfZmllbGQuY2MKK0BAIC0xNTcsNyArMTU3LDcgQEAgdm9pZCBQcm9jZXNzVGls ZShjb25zdCBJbWFnZTNGJiBvcHNpbiwgUGFzc2VzRW5jb2RlclN0YXRlKiBlbmNfc3RhdGUsCisg ICAgICAgICAgIHN1bSArPSBMb2FkVShkZjQsIHJvd3NfaW5baXldICsgeCAqIDQgKyBpeCArIDIp OworICAgICAgICAgfQorICAgICAgIH0KKy0gICAgICByb3dfb3V0W3hdID0gR2V0TGFuZShTcXJ0 KFN1bU9mTGFuZXMoc3VtKSkpICogKDEuMGYgLyA0LjBmKTsKKysgICAgICByb3dfb3V0W3hdID0g R2V0TGFuZShTcXJ0KFN1bU9mTGFuZXMoZGY0LCBzdW0pKSkgKiAoMS4wZiAvIDQuMGYpOworICAg ICB9CisgICB9CisgICAvLyBJbmRleGluZyBpeSBhbmQgaXggaXMgYSBiaXQgdHJpY2t5IGFzIHdl IGluY2x1ZGUgYSAyIHBpeGVsIGJvcmRlcgorQEAgLTE5Myw3ICsxOTMsNyBAQCB2b2lkIFByb2Nl c3NUaWxlKGNvbnN0IEltYWdlM0YmIG9wc2luLCBQYXNzZXNFbmNvZGVyU3RhdGUqIGVuY19zdGF0 ZSwKKyAgICAgICAgICAgICBzdW0gKz0gTG9hZChkZjQsIHJvd3NfaW5baXldICsgc3ggKyBpeCk7 CisgICAgICAgICAgIH0KKyAgICAgICAgIH0KKy0gICAgICAgIHJvd19vdXRbeF0gPSBHZXRMYW5l KFNxcnQoU3VtT2ZMYW5lcyhzdW0pKSkgKiAoMS4wZiAvIDQuMGYpOworKyAgICAgICAgcm93X291 dFt4XSA9IEdldExhbmUoU3FydChTdW1PZkxhbmVzKGRmNCwgc3VtKSkpICogKDEuMGYgLyA0LjBm KTsKKyAgICAgICB9IGVsc2UgeworICAgICAgICAgZmxvYXQgc3VtID0gMDsKKyAgICAgICAgIGZv ciAoc2l6ZV90IGl5ID0gc3k7IGl5IDwgZXk7IGl5KyspIHsKK2RpZmYgLS1naXQgYS9saWIvanhs L2VuY19idXR0ZXJhdWdsaV9wbm9ybS5jYyBiL2xpYi9qeGwvZW5jX2J1dHRlcmF1Z2xpX3Bub3Jt LmNjCitpbmRleCA3YzNmYjljLi45MGIwNDQwIDEwMDY0NAorLS0tIGEvbGliL2p4bC9lbmNfYnV0 dGVyYXVnbGlfcG5vcm0uY2MKKysrKyBiL2xpYi9qeGwvZW5jX2J1dHRlcmF1Z2xpX3Bub3JtLmNj CitAQCAtOTUsMTMgKzk1LDEzIEBAIGRvdWJsZSBDb21wdXRlRGlzdGFuY2VQKGNvbnN0IEltYWdl RiYgZGlzdG1hcCwgY29uc3QgQnV0dGVyYXVnbGlQYXJhbXMmIHBhcmFtcywKKyAgICAgfQorICAg ICBkb3VibGUgdiA9IDA7CisgICAgIHYgKz0gcG93KAorLSAgICAgICAgb25lUGVyUGl4ZWxzICog KHN1bTFbMF0gKyBHZXRMYW5lKFN1bU9mTGFuZXMoTG9hZChkLCBzdW1fdG90YWxzMCkpKSksCisr ICAgICAgICBvbmVQZXJQaXhlbHMgKiAoc3VtMVswXSArIEdldExhbmUoU3VtT2ZMYW5lcyhkLCBM b2FkKGQsIHN1bV90b3RhbHMwKSkpKSwKKyAgICAgICAgIDEuMCAvIChwICogMS4wKSk7CisgICAg IHYgKz0gcG93KAorLSAgICAgICAgb25lUGVyUGl4ZWxzICogKHN1bTFbMV0gKyBHZXRMYW5lKFN1 bU9mTGFuZXMoTG9hZChkLCBzdW1fdG90YWxzMSkpKSksCisrICAgICAgICBvbmVQZXJQaXhlbHMg KiAoc3VtMVsxXSArIEdldExhbmUoU3VtT2ZMYW5lcyhkLCBMb2FkKGQsIHN1bV90b3RhbHMxKSkp KSwKKyAgICAgICAgIDEuMCAvIChwICogMi4wKSk7CisgICAgIHYgKz0gcG93KAorLSAgICAgICAg b25lUGVyUGl4ZWxzICogKHN1bTFbMl0gKyBHZXRMYW5lKFN1bU9mTGFuZXMoTG9hZChkLCBzdW1f dG90YWxzMikpKSksCisrICAgICAgICBvbmVQZXJQaXhlbHMgKiAoc3VtMVsyXSArIEdldExhbmUo U3VtT2ZMYW5lcyhkLCBMb2FkKGQsIHN1bV90b3RhbHMyKSkpKSwKKyAgICAgICAgIDEuMCAvIChw ICogNC4wKSk7CisgICAgIHYgLz0gMy4wOworICAgICByZXR1cm4gdjsKK2RpZmYgLS1naXQgYS9s aWIvanhsL2VuY19jaHJvbWFfZnJvbV9sdW1hLmNjIGIvbGliL2p4bC9lbmNfY2hyb21hX2Zyb21f bHVtYS5jYworaW5kZXggZTVjM2YzOC4uMzcwNTk1YyAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvZW5j X2Nocm9tYV9mcm9tX2x1bWEuY2MKKysrKyBiL2xpYi9qeGwvZW5jX2Nocm9tYV9mcm9tX2x1bWEu Y2MKK0BAIC05MSw5ICs5MSw5IEBAIHN0cnVjdCBDRkxGdW5jdGlvbiB7CisgICAgICAgZmRtZV92 ICs9IElmVGhlbkVsc2UoYXYgPj0gdGhyZXMsIHplcm8sIGRtZSk7CisgICAgIH0KKyAKKy0gICAg KmZwZXBzID0gZmlyc3RfZGVyaXZhdGl2ZV9wZXBzICsgR2V0TGFuZShTdW1PZkxhbmVzKGZkcGVf dikpOworLSAgICAqZm1lcHMgPSBmaXJzdF9kZXJpdmF0aXZlX21lcHMgKyBHZXRMYW5lKFN1bU9m TGFuZXMoZmRtZV92KSk7CistICAgIHJldHVybiBmaXJzdF9kZXJpdmF0aXZlICsgR2V0TGFuZShT dW1PZkxhbmVzKGZkX3YpKTsKKysgICAgKmZwZXBzID0gZmlyc3RfZGVyaXZhdGl2ZV9wZXBzICsg R2V0TGFuZShTdW1PZkxhbmVzKGRmLCBmZHBlX3YpKTsKKysgICAgKmZtZXBzID0gZmlyc3RfZGVy aXZhdGl2ZV9tZXBzICsgR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBmZG1lX3YpKTsKKysgICAgcmV0 dXJuIGZpcnN0X2Rlcml2YXRpdmUgKyBHZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGZkX3YpKTsKKyAg IH0KKyAKKyAgIGNvbnN0IGZsb2F0KiBKWExfUkVTVFJJQ1QgdmFsdWVzX207CitAQCAtMTI0LDgg KzEyNCw4IEBAIGludDMyX3QgRmluZEJlc3RNdWx0aXBsaWVyKGNvbnN0IGZsb2F0KiB2YWx1ZXNf bSwgY29uc3QgZmxvYXQqIHZhbHVlc19zLAorICAgICAgIGNiID0gTXVsQWRkKGEsIGIsIGNiKTsK KyAgICAgfQorICAgICAvLyArIGRpc3RhbmNlX211bCAqIHheMiAqIG51bQorLSAgICB4ID0gLUdl dExhbmUoU3VtT2ZMYW5lcyhjYikpIC8KKy0gICAgICAgIChHZXRMYW5lKFN1bU9mTGFuZXMoY2Ep KSArIG51bSAqIGRpc3RhbmNlX211bCAqIDAuNWYpOworKyAgICB4ID0gLUdldExhbmUoU3VtT2ZM YW5lcyhkZiwgY2IpKSAvCisrICAgICAgICAoR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBjYSkpICsg bnVtICogZGlzdGFuY2VfbXVsICogMC41Zik7CisgICB9IGVsc2UgeworICAgICBjb25zdGV4cHIg ZmxvYXQgZXBzID0gMTsKKyAgICAgY29uc3RleHByIGZsb2F0IGtDbGFtcCA9IDIwLjBmOworZGlm ZiAtLWdpdCBhL2xpYi9qeGwvZW5jX2NsdXN0ZXIuY2MgYi9saWIvanhsL2VuY19jbHVzdGVyLmNj CitpbmRleCAxZjEyYTI5Li44YWU4NjNjIDEwMDY0NAorLS0tIGEvbGliL2p4bC9lbmNfY2x1c3Rl ci5jYworKysrIGIvbGliL2p4bC9lbmNfY2x1c3Rlci5jYworQEAgLTQ5LDcgKzQ5LDcgQEAgdm9p ZCBIaXN0b2dyYW1FbnRyb3B5KGNvbnN0IEhpc3RvZ3JhbSYgYSkgeworICAgICBjb25zdCBhdXRv IGNvdW50cyA9IExvYWRVKGRpLCAmYS5kYXRhX1tpXSk7CisgICAgIGVudHJvcHlfbGFuZXMgKz0g RW50cm9weShDb252ZXJ0VG8oZGYsIGNvdW50cyksIGludl90b3QsIHRvdGFsKTsKKyAgIH0KKy0g IGEuZW50cm9weV8gKz0gR2V0TGFuZShTdW1PZkxhbmVzKGVudHJvcHlfbGFuZXMpKTsKKysgIGEu ZW50cm9weV8gKz0gR2V0TGFuZShTdW1PZkxhbmVzKGRmLCBlbnRyb3B5X2xhbmVzKSk7CisgfQor IAorIGZsb2F0IEhpc3RvZ3JhbURpc3RhbmNlKGNvbnN0IEhpc3RvZ3JhbSYgYSwgY29uc3QgSGlz dG9ncmFtJiBiKSB7CitAQCAtNzEsNyArNzEsNyBAQCBmbG9hdCBIaXN0b2dyYW1EaXN0YW5jZShj b25zdCBIaXN0b2dyYW0mIGEsIGNvbnN0IEhpc3RvZ3JhbSYgYikgeworICAgICBjb25zdCBhdXRv IGNvdW50cyA9IENvbnZlcnRUbyhkZiwgYV9jb3VudHMgKyBiX2NvdW50cyk7CisgICAgIGRpc3Rh bmNlX2xhbmVzICs9IEVudHJvcHkoY291bnRzLCBpbnZfdG90LCB0b3RhbCk7CisgICB9CistICBj b25zdCBmbG9hdCB0b3RhbF9kaXN0YW5jZSA9IEdldExhbmUoU3VtT2ZMYW5lcyhkaXN0YW5jZV9s YW5lcykpOworKyAgY29uc3QgZmxvYXQgdG90YWxfZGlzdGFuY2UgPSBHZXRMYW5lKFN1bU9mTGFu ZXMoZGYsIGRpc3RhbmNlX2xhbmVzKSk7CisgICByZXR1cm4gdG90YWxfZGlzdGFuY2UgLSBhLmVu dHJvcHlfIC0gYi5lbnRyb3B5XzsKKyB9CisgCitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfZW50 cm9weV9jb2Rlci5jYyBiL2xpYi9qeGwvZW5jX2VudHJvcHlfY29kZXIuY2MKK2luZGV4IDA5NDYz MDAuLjA3ZmU1YTAgMTAwNjQ0CistLS0gYS9saWIvanhsL2VuY19lbnRyb3B5X2NvZGVyLmNjCisr KysgYi9saWIvanhsL2VuY19lbnRyb3B5X2NvZGVyLmNjCitAQCAtODYsNyArODYsNyBAQCBpbnQz Ml90IE51bU5vblplcm9FeGNlcHRMTEYoY29uc3Qgc2l6ZV90IGN4LCBjb25zdCBzaXplX3QgY3ks CisgCisgICAvLyBXZSB3YW50IGFyZWEgLSBzdW1femVybywgYWRkIGJlY2F1c2UgbmVnX3N1bV96 ZXJvIGlzIGFscmVhZHkgbmVnYXRlZC4KKyAgIGNvbnN0IGludDMyX3Qgbnplcm9zID0KKy0gICAg ICBpbnQzMl90KGN4ICogY3kgKiBrRENUQmxvY2tTaXplKSArIEdldExhbmUoU3VtT2ZMYW5lcyhu ZWdfc3VtX3plcm8pKTsKKysgICAgICBpbnQzMl90KGN4ICogY3kgKiBrRENUQmxvY2tTaXplKSAr IEdldExhbmUoU3VtT2ZMYW5lcyhkaSwgbmVnX3N1bV96ZXJvKSk7CisgCisgICBjb25zdCBpbnQz Ml90IHNoaWZ0ZWRfbnplcm9zID0gc3RhdGljX2Nhc3Q8aW50MzJfdD4oCisgICAgICAgKG56ZXJv cyArIGNvdmVyZWRfYmxvY2tzIC0gMSkgPj4gbG9nMl9jb3ZlcmVkX2Jsb2Nrcyk7CitAQCAtMTM1 LDcgKzEzNSw3IEBAIGludDMyX3QgTnVtTm9uWmVybzh4OEV4Y2VwdERDKGNvbnN0IGludDMyX3Qq IEpYTF9SRVNUUklDVCBibG9jaywKKyAKKyAgIC8vIFdlIHdhbnQgNjQgLSBzdW1femVybywgYWRk IGJlY2F1c2UgbmVnX3N1bV96ZXJvIGlzIGFscmVhZHkgbmVnYXRlZC4KKyAgIGNvbnN0IGludDMy X3Qgbnplcm9zID0KKy0gICAgICBpbnQzMl90KGtEQ1RCbG9ja1NpemUpICsgR2V0TGFuZShTdW1P ZkxhbmVzKG5lZ19zdW1femVybykpOworKyAgICAgIGludDMyX3Qoa0RDVEJsb2NrU2l6ZSkgKyBH ZXRMYW5lKFN1bU9mTGFuZXMoZGksIG5lZ19zdW1femVybykpOworIAorICAgKm56ZXJvc19wb3Mg PSBuemVyb3M7CisgCitkaWZmIC0tZ2l0IGEvbGliL2p4bC9lbmNfZmFzdF9oZXVyaXN0aWNzLmNj IGIvbGliL2p4bC9lbmNfZmFzdF9oZXVyaXN0aWNzLmNjCitpbmRleCAxNmY3NjcwLi4wNTUxNzgy IDEwMDY0NAorLS0tIGEvbGliL2p4bC9lbmNfZmFzdF9oZXVyaXN0aWNzLmNjCisrKysgYi9saWIv anhsL2VuY19mYXN0X2hldXJpc3RpY3MuY2MKK0BAIC05NCw4ICs5NCw4IEBAIFN0YXR1cyBIZXVy aXN0aWNzKFBhc3Nlc0VuY29kZXJTdGF0ZSogZW5jX3N0YXRlLAorICAgICAgICAgICAgICAgY2Ig PSBNdWxBZGQoYSwgYiwgY2IpOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgfQorLSAgICAg ICAgICBmbG9hdCBiZXN0ID0KKy0gICAgICAgICAgICAgIC1HZXRMYW5lKFN1bU9mTGFuZXMoY2Ip KSAvIChHZXRMYW5lKFN1bU9mTGFuZXMoY2EpKSArIDFlLTlmKTsKKysgICAgICAgICAgZmxvYXQg YmVzdCA9IC1HZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGNiKSkgLworKyAgICAgICAgICAgICAgICAg ICAgICAgKEdldExhbmUoU3VtT2ZMYW5lcyhkZiwgY2EpKSArIDFlLTlmKTsKKyAgICAgICAgICAg aW50OF90JiByZXMgPSAoYyA9PSAwID8gc2hhcmVkLmNtYXAueXRveF9tYXAgOiBzaGFyZWQuY21h cC55dG9iX21hcCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLlJvdyh0eSlbdHhdOwor ICAgICAgICAgICByZXMgPSBzdGQ6Om1heCgtMTI4LjBmLCBzdGQ6Om1pbigxMjcuMGYsIHJvdW5k ZihiZXN0KSkpOworQEAgLTEyNCw4ICsxMjQsOCBAQCBTdGF0dXMgSGV1cmlzdGljcyhQYXNzZXNF bmNvZGVyU3RhdGUqIGVuY19zdGF0ZSwKKyAgICAgICAgICAgICAgICAgbWF4ID0gSWZUaGVuRWxz ZShtYXggPiBubiwgbWF4LCBubik7CisgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQor LSAgICAgICAgICAgIHJvd19vdXRfYXZnW3hdID0gR2V0TGFuZShTdW1PZkxhbmVzKHN1bSkpOwor LSAgICAgICAgICAgIHJvd19vdXRbeF0gPSBHZXRMYW5lKE1heE9mTGFuZXMobWF4KSk7CisrICAg ICAgICAgICAgcm93X291dF9hdmdbeF0gPSBHZXRMYW5lKFN1bU9mTGFuZXMoZGY0LCBzdW0pKTsK KysgICAgICAgICAgICByb3dfb3V0W3hdID0gR2V0TGFuZShNYXhPZkxhbmVzKGRmNCwgbWF4KSk7 CisgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgICB9LAorZGlmZiAtLWdpdCBhL2xpYi9q eGwvZ2F1c3NfYmx1ci5jYyBiL2xpYi9qeGwvZ2F1c3NfYmx1ci5jYworaW5kZXggZjliYWJlNy4u ZjI0YTc0YyAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvZ2F1c3NfYmx1ci5jYworKysrIGIvbGliL2p4 bC9nYXVzc19ibHVyLmNjCitAQCAtNDIxLDcgKzQyMSw3IEBAIEltYWdlRiBDb252b2x2ZVhTYW1w bGVBbmRUcmFuc3Bvc2UoY29uc3QgSW1hZ2VGJiBpbiwKKyAgICAgICBmb3IgKGludCBpID0gLXI7 IGkgPD0gcjsgaSArPSBMYW5lcyhkZikpIHsKKyAgICAgICAgIHN1bSA9IE11bEFkZChMb2FkVShk Ziwgcm93cCArIHggKyBpKSwgTG9hZFUoZGYsIGtlcm5lbHAgKyBpKSwgc3VtKTsKKyAgICAgICB9 CistICAgICAgb3V0LlJvdyhveClbeV0gPSBHZXRMYW5lKFN1bU9mTGFuZXMoc3VtKSk7CisrICAg ICAgb3V0LlJvdyhveClbeV0gPSBHZXRMYW5lKFN1bU9mTGFuZXMoZGYsIHN1bSkpOworICAgICB9 CisgICAgIGZvciAoOyB4IDwgaW4ueHNpemUoKTsgeCArPSByZXMsICsrb3gpIHsKKyAgICAgICBm bG9hdCBzdW0gPSAwLjBmOworZGlmZiAtLWdpdCBhL2xpYi9qeGwvbW9kdWxhci9lbmNvZGluZy9l bmNfbWEuY2MgYi9saWIvanhsL21vZHVsYXIvZW5jb2RpbmcvZW5jX21hLmNjCitpbmRleCAwZTJl YWFjLi5kNDg1MTI5IDEwMDY0NAorLS0tIGEvbGliL2p4bC9tb2R1bGFyL2VuY29kaW5nL2VuY19t YS5jYworKysrIGIvbGliL2p4bC9tb2R1bGFyL2VuY29kaW5nL2VuY19tYS5jYworQEAgLTg0LDcg Kzg0LDcgQEAgZmxvYXQgRXN0aW1hdGVCaXRzKGNvbnN0IGludDMyX3QgKmNvdW50cywgaW50MzJf dCAqcm91bmRlZF9jb3VudHMsCisgICAgIGJpdHNfbGFuZXMgLT0KKyAgICAgICAgIElmVGhlbkVs c2UoY291bnRzX3YgPT0gemVybywgemVybywgY291bnRzX3YgKiBCaXRDYXN0KGRmLCBuYnBzKSk7 CisgICB9CistICByZXR1cm4gR2V0TGFuZShTdW1PZkxhbmVzKGJpdHNfbGFuZXMpKTsKKysgIHJl dHVybiBHZXRMYW5lKFN1bU9mTGFuZXMoZGYsIGJpdHNfbGFuZXMpKTsKKyB9CisgCisgdm9pZCBN YWtlU3BsaXROb2RlKHNpemVfdCBwb3MsIGludCBwcm9wZXJ0eSwgaW50IHNwbGl0dmFsLCBQcmVk aWN0b3IgbHByZWQsCitkaWZmIC0tZ2l0IGEvbGliL2p4bC9yYXRpb25hbF9wb2x5bm9taWFsX3Rl c3QuY2MgYi9saWIvanhsL3JhdGlvbmFsX3BvbHlub21pYWxfdGVzdC5jYworaW5kZXggNjk5YWZk MC4uZjk4NWViMCAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvcmF0aW9uYWxfcG9seW5vbWlhbF90ZXN0 LmNjCisrKysgYi9saWIvanhsL3JhdGlvbmFsX3BvbHlub21pYWxfdGVzdC5jYworQEAgLTUxLDcg KzUxLDcgQEAgc3RydWN0IEV2YWxMb2cyIHsKKyAgICAgY29uc3QgSFdZX0ZVTEwoaW50MzJfdCkg ZGk7CisgICAgIGNvbnN0IGF1dG8geF9iaXRzID0gQml0Q2FzdChkaSwgdngpOworICAgICAvLyBD YW5ub3QgaGFuZGxlIG5lZ2F0aXZlIG51bWJlcnMgLyBOYU4uCistICAgIEpYTF9EQVNTRVJUKEFs bFRydWUoQWJzKHhfYml0cykgPT0geF9iaXRzKSk7CisrICAgIEpYTF9EQVNTRVJUKEFsbFRydWUo ZGksIEFicyh4X2JpdHMpID09IHhfYml0cykpOworIAorICAgICAvLyBSYW5nZSByZWR1Y3Rpb24g dG8gWy0xLzMsIDEvM10gLSAzIGludGVnZXIsIDIgZmxvYXQgb3BzCisgICAgIGNvbnN0IGF1dG8g ZXhwX2JpdHMgPSB4X2JpdHMgLSBTZXQoZGksIDB4M2YyYWFhYWIpOyAgLy8gPSAyLzMKK2RpZmYg LS1naXQgYS9saWIvanhsL3NwbGluZXMuY2MgYi9saWIvanhsL3NwbGluZXMuY2MKK2luZGV4IDg2 NTM0NDUuLjVkYzI0MDQgMTAwNjQ0CistLS0gYS9saWIvanhsL3NwbGluZXMuY2MKKysrKyBiL2xp Yi9qeGwvc3BsaW5lcy5jYworQEAgLTUyLDcgKzUyLDcgQEAgZmxvYXQgQ29udGludW91c0lEQ1Qo Y29uc3QgZmxvYXQgZGN0WzMyXSwgZmxvYXQgdCkgeworICAgICBhdXRvIGxvY2FsX3JlcyA9IExv YWRVKGRmLCBkY3QgKyBpKSAqIGNvczsKKyAgICAgcmVzdWx0ID0gTXVsQWRkKFNldChkZiwgc3F1 YXJlX3Jvb3Q8Mj46OnZhbHVlKSwgbG9jYWxfcmVzLCByZXN1bHQpOworICAgfQorLSAgcmV0dXJu IEdldExhbmUoU3VtT2ZMYW5lcyhyZXN1bHQpKTsKKysgIHJldHVybiBHZXRMYW5lKFN1bU9mTGFu ZXMoZGYsIHJlc3VsdCkpOworIH0KKyAKKyB0ZW1wbGF0ZSA8dHlwZW5hbWUgREY+CitkaWZmIC0t Z2l0IGEvbGliL2p4bC90cmFuc3Bvc2UtaW5sLmggYi9saWIvanhsL3RyYW5zcG9zZS1pbmwuaAor aW5kZXggZDEyYjEyOS4uNDY3NDQyMCAxMDA2NDQKKy0tLSBhL2xpYi9qeGwvdHJhbnNwb3NlLWlu bC5oCisrKysgYi9saWIvanhsL3RyYW5zcG9zZS1pbmwuaAorQEAgLTc0LDUwICs3NCw1MSBAQCBK WExfSU5MSU5FX1RSQU5TUE9TRSB2b2lkIEdlbmVyaWNUcmFuc3Bvc2VCbG9jayhUcmFuc3Bvc2VT aW1kVGFnPHRydWU+LAorICAgc3RhdGljX2Fzc2VydChDT0xTX29yXzAgJSA4ID09IDAsICJJbnZh bGlkIG51bWJlciBvZiBjb2x1bW5zIik7CisgICBmb3IgKHNpemVfdCBuID0gMDsgbiA8IFJPV1M7 IG4gKz0gOCkgeworICAgICBmb3IgKHNpemVfdCBtID0gMDsgbSA8IENPTFM7IG0gKz0gOCkgewor LSAgICAgIGF1dG8gaTAgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgMCwgbSAr IDApOworLSAgICAgIGF1dG8gaTEgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsg MSwgbSArIDApOworLSAgICAgIGF1dG8gaTIgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4Pigp LCBuICsgMiwgbSArIDApOworLSAgICAgIGF1dG8gaTMgPSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVz Yzw4PigpLCBuICsgMywgbSArIDApOworLSAgICAgIGF1dG8gaTQgPSBmcm9tLkxvYWRQYXJ0KEJs b2NrRGVzYzw4PigpLCBuICsgNCwgbSArIDApOworLSAgICAgIGF1dG8gaTUgPSBmcm9tLkxvYWRQ YXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgNSwgbSArIDApOworLSAgICAgIGF1dG8gaTYgPSBmcm9t LkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgNiwgbSArIDApOworLSAgICAgIGF1dG8gaTcg PSBmcm9tLkxvYWRQYXJ0KEJsb2NrRGVzYzw4PigpLCBuICsgNywgbSArIDApOworKyAgICAgIGNv bnN0IEJsb2NrRGVzYzw4PiBkOworKyAgICAgIGF1dG8gaTAgPSBmcm9tLkxvYWRQYXJ0KGQsIG4g KyAwLCBtICsgMCk7CisrICAgICAgYXV0byBpMSA9IGZyb20uTG9hZFBhcnQoZCwgbiArIDEsIG0g KyAwKTsKKysgICAgICBhdXRvIGkyID0gZnJvbS5Mb2FkUGFydChkLCBuICsgMiwgbSArIDApOwor KyAgICAgIGF1dG8gaTMgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyAzLCBtICsgMCk7CisrICAgICAg YXV0byBpNCA9IGZyb20uTG9hZFBhcnQoZCwgbiArIDQsIG0gKyAwKTsKKysgICAgICBhdXRvIGk1 ID0gZnJvbS5Mb2FkUGFydChkLCBuICsgNSwgbSArIDApOworKyAgICAgIGF1dG8gaTYgPSBmcm9t LkxvYWRQYXJ0KGQsIG4gKyA2LCBtICsgMCk7CisrICAgICAgYXV0byBpNyA9IGZyb20uTG9hZFBh cnQoZCwgbiArIDcsIG0gKyAwKTsKKyAgICAgICAvLyBTdXJwcmlzaW5nbHksIHRoaXMgc3RyYWln aHRmb3J3YXJkIGltcGxlbWVudGF0aW9uICgyNCBjeWNsZXMgb24gcG9ydDUpCisgICAgICAgLy8g aXMgZmFzdGVyIHRoYW4gbG9hZDEyOCtpbnNlcnQgYW5kIExvYWREdXAxMjgrQ29uY2F0VXBwZXJM b3dlcitibGVuZC4KKy0gICAgICBjb25zdCBhdXRvIHEwID0gSW50ZXJsZWF2ZUxvd2VyKGkwLCBp Mik7CistICAgICAgY29uc3QgYXV0byBxMSA9IEludGVybGVhdmVMb3dlcihpMSwgaTMpOworLSAg ICAgIGNvbnN0IGF1dG8gcTIgPSBJbnRlcmxlYXZlVXBwZXIoaTAsIGkyKTsKKy0gICAgICBjb25z dCBhdXRvIHEzID0gSW50ZXJsZWF2ZVVwcGVyKGkxLCBpMyk7CistICAgICAgY29uc3QgYXV0byBx NCA9IEludGVybGVhdmVMb3dlcihpNCwgaTYpOworLSAgICAgIGNvbnN0IGF1dG8gcTUgPSBJbnRl cmxlYXZlTG93ZXIoaTUsIGk3KTsKKy0gICAgICBjb25zdCBhdXRvIHE2ID0gSW50ZXJsZWF2ZVVw cGVyKGk0LCBpNik7CistICAgICAgY29uc3QgYXV0byBxNyA9IEludGVybGVhdmVVcHBlcihpNSwg aTcpOworLQorLSAgICAgIGNvbnN0IGF1dG8gcjAgPSBJbnRlcmxlYXZlTG93ZXIocTAsIHExKTsK Ky0gICAgICBjb25zdCBhdXRvIHIxID0gSW50ZXJsZWF2ZVVwcGVyKHEwLCBxMSk7CistICAgICAg Y29uc3QgYXV0byByMiA9IEludGVybGVhdmVMb3dlcihxMiwgcTMpOworLSAgICAgIGNvbnN0IGF1 dG8gcjMgPSBJbnRlcmxlYXZlVXBwZXIocTIsIHEzKTsKKy0gICAgICBjb25zdCBhdXRvIHI0ID0g SW50ZXJsZWF2ZUxvd2VyKHE0LCBxNSk7CistICAgICAgY29uc3QgYXV0byByNSA9IEludGVybGVh dmVVcHBlcihxNCwgcTUpOworLSAgICAgIGNvbnN0IGF1dG8gcjYgPSBJbnRlcmxlYXZlTG93ZXIo cTYsIHE3KTsKKy0gICAgICBjb25zdCBhdXRvIHI3ID0gSW50ZXJsZWF2ZVVwcGVyKHE2LCBxNyk7 CistCistICAgICAgaTAgPSBDb25jYXRMb3dlckxvd2VyKHI0LCByMCk7CistICAgICAgaTEgPSBD b25jYXRMb3dlckxvd2VyKHI1LCByMSk7CistICAgICAgaTIgPSBDb25jYXRMb3dlckxvd2VyKHI2 LCByMik7CistICAgICAgaTMgPSBDb25jYXRMb3dlckxvd2VyKHI3LCByMyk7CistICAgICAgaTQg PSBDb25jYXRVcHBlclVwcGVyKHI0LCByMCk7CistICAgICAgaTUgPSBDb25jYXRVcHBlclVwcGVy KHI1LCByMSk7CistICAgICAgaTYgPSBDb25jYXRVcHBlclVwcGVyKHI2LCByMik7CistICAgICAg aTcgPSBDb25jYXRVcHBlclVwcGVyKHI3LCByMyk7CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2Nr RGVzYzw4PigpLCBpMCwgbSArIDAsIG4gKyAwKTsKKy0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tE ZXNjPDg+KCksIGkxLCBtICsgMSwgbiArIDApOworLSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rl c2M8OD4oKSwgaTIsIG0gKyAyLCBuICsgMCk7CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVz Yzw4PigpLCBpMywgbSArIDMsIG4gKyAwKTsKKy0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNj PDg+KCksIGk0LCBtICsgNCwgbiArIDApOworLSAgICAgIHRvLlN0b3JlUGFydChCbG9ja0Rlc2M8 OD4oKSwgaTUsIG0gKyA1LCBuICsgMCk7CistICAgICAgdG8uU3RvcmVQYXJ0KEJsb2NrRGVzYzw4 PigpLCBpNiwgbSArIDYsIG4gKyAwKTsKKy0gICAgICB0by5TdG9yZVBhcnQoQmxvY2tEZXNjPDg+ KCksIGk3LCBtICsgNywgbiArIDApOworKyAgICAgIGNvbnN0IGF1dG8gcTAgPSBJbnRlcmxlYXZl TG93ZXIoZCwgaTAsIGkyKTsKKysgICAgICBjb25zdCBhdXRvIHExID0gSW50ZXJsZWF2ZUxvd2Vy KGQsIGkxLCBpMyk7CisrICAgICAgY29uc3QgYXV0byBxMiA9IEludGVybGVhdmVVcHBlcihkLCBp MCwgaTIpOworKyAgICAgIGNvbnN0IGF1dG8gcTMgPSBJbnRlcmxlYXZlVXBwZXIoZCwgaTEsIGkz KTsKKysgICAgICBjb25zdCBhdXRvIHE0ID0gSW50ZXJsZWF2ZUxvd2VyKGQsIGk0LCBpNik7Cisr ICAgICAgY29uc3QgYXV0byBxNSA9IEludGVybGVhdmVMb3dlcihkLCBpNSwgaTcpOworKyAgICAg IGNvbnN0IGF1dG8gcTYgPSBJbnRlcmxlYXZlVXBwZXIoZCwgaTQsIGk2KTsKKysgICAgICBjb25z dCBhdXRvIHE3ID0gSW50ZXJsZWF2ZVVwcGVyKGQsIGk1LCBpNyk7CisrCisrICAgICAgY29uc3Qg YXV0byByMCA9IEludGVybGVhdmVMb3dlcihkLCBxMCwgcTEpOworKyAgICAgIGNvbnN0IGF1dG8g cjEgPSBJbnRlcmxlYXZlVXBwZXIoZCwgcTAsIHExKTsKKysgICAgICBjb25zdCBhdXRvIHIyID0g SW50ZXJsZWF2ZUxvd2VyKGQsIHEyLCBxMyk7CisrICAgICAgY29uc3QgYXV0byByMyA9IEludGVy bGVhdmVVcHBlcihkLCBxMiwgcTMpOworKyAgICAgIGNvbnN0IGF1dG8gcjQgPSBJbnRlcmxlYXZl TG93ZXIoZCwgcTQsIHE1KTsKKysgICAgICBjb25zdCBhdXRvIHI1ID0gSW50ZXJsZWF2ZVVwcGVy KGQsIHE0LCBxNSk7CisrICAgICAgY29uc3QgYXV0byByNiA9IEludGVybGVhdmVMb3dlcihkLCBx NiwgcTcpOworKyAgICAgIGNvbnN0IGF1dG8gcjcgPSBJbnRlcmxlYXZlVXBwZXIoZCwgcTYsIHE3 KTsKKysKKysgICAgICBpMCA9IENvbmNhdExvd2VyTG93ZXIoZCwgcjQsIHIwKTsKKysgICAgICBp MSA9IENvbmNhdExvd2VyTG93ZXIoZCwgcjUsIHIxKTsKKysgICAgICBpMiA9IENvbmNhdExvd2Vy TG93ZXIoZCwgcjYsIHIyKTsKKysgICAgICBpMyA9IENvbmNhdExvd2VyTG93ZXIoZCwgcjcsIHIz KTsKKysgICAgICBpNCA9IENvbmNhdFVwcGVyVXBwZXIoZCwgcjQsIHIwKTsKKysgICAgICBpNSA9 IENvbmNhdFVwcGVyVXBwZXIoZCwgcjUsIHIxKTsKKysgICAgICBpNiA9IENvbmNhdFVwcGVyVXBw ZXIoZCwgcjYsIHIyKTsKKysgICAgICBpNyA9IENvbmNhdFVwcGVyVXBwZXIoZCwgcjcsIHIzKTsK KysgICAgICB0by5TdG9yZVBhcnQoZCwgaTAsIG0gKyAwLCBuICsgMCk7CisrICAgICAgdG8uU3Rv cmVQYXJ0KGQsIGkxLCBtICsgMSwgbiArIDApOworKyAgICAgIHRvLlN0b3JlUGFydChkLCBpMiwg bSArIDIsIG4gKyAwKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwgaTMsIG0gKyAzLCBuICsgMCk7 CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIGk0LCBtICsgNCwgbiArIDApOworKyAgICAgIHRvLlN0 b3JlUGFydChkLCBpNSwgbSArIDUsIG4gKyAwKTsKKysgICAgICB0by5TdG9yZVBhcnQoZCwgaTYs IG0gKyA2LCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIGk3LCBtICsgNywgbiArIDAp OworICAgICB9CisgICB9CisgfQorQEAgLTEzNywyNSArMTM4LDI2IEBAIEpYTF9JTkxJTkVfVFJB TlNQT1NFIHZvaWQgR2VuZXJpY1RyYW5zcG9zZUJsb2NrKFRyYW5zcG9zZVNpbWRUYWc8dHJ1ZT4s CisgICBzdGF0aWNfYXNzZXJ0KENPTFNfb3JfMCAlIDQgPT0gMCwgIkludmFsaWQgbnVtYmVyIG9m IGNvbHVtbnMiKTsKKyAgIGZvciAoc2l6ZV90IG4gPSAwOyBuIDwgUk9XUzsgbiArPSA0KSB7Cisg ICAgIGZvciAoc2l6ZV90IG0gPSAwOyBtIDwgQ09MUzsgbSArPSA0KSB7CistICAgICAgY29uc3Qg YXV0byBwMCA9IGZyb20uTG9hZFBhcnQoQmxvY2tEZXNjPDQ+KCksIG4gKyAwLCBtICsgMCk7Cist ICAgICAgY29uc3QgYXV0byBwMSA9IGZyb20uTG9hZFBhcnQoQmxvY2tEZXNjPDQ+KCksIG4gKyAx LCBtICsgMCk7CistICAgICAgY29uc3QgYXV0byBwMiA9IGZyb20uTG9hZFBhcnQoQmxvY2tEZXNj PDQ+KCksIG4gKyAyLCBtICsgMCk7CistICAgICAgY29uc3QgYXV0byBwMyA9IGZyb20uTG9hZFBh cnQoQmxvY2tEZXNjPDQ+KCksIG4gKyAzLCBtICsgMCk7CistCistICAgICAgY29uc3QgYXV0byBx MCA9IEludGVybGVhdmVMb3dlcihwMCwgcDIpOworLSAgICAgIGNvbnN0IGF1dG8gcTEgPSBJbnRl cmxlYXZlTG93ZXIocDEsIHAzKTsKKy0gICAgICBjb25zdCBhdXRvIHEyID0gSW50ZXJsZWF2ZVVw cGVyKHAwLCBwMik7CistICAgICAgY29uc3QgYXV0byBxMyA9IEludGVybGVhdmVVcHBlcihwMSwg cDMpOworLQorLSAgICAgIGNvbnN0IGF1dG8gcjAgPSBJbnRlcmxlYXZlTG93ZXIocTAsIHExKTsK Ky0gICAgICBjb25zdCBhdXRvIHIxID0gSW50ZXJsZWF2ZVVwcGVyKHEwLCBxMSk7CistICAgICAg Y29uc3QgYXV0byByMiA9IEludGVybGVhdmVMb3dlcihxMiwgcTMpOworLSAgICAgIGNvbnN0IGF1 dG8gcjMgPSBJbnRlcmxlYXZlVXBwZXIocTIsIHEzKTsKKy0KKy0gICAgICB0by5TdG9yZVBhcnQo QmxvY2tEZXNjPDQ+KCksIHIwLCBtICsgMCwgbiArIDApOworLSAgICAgIHRvLlN0b3JlUGFydChC bG9ja0Rlc2M8ND4oKSwgcjEsIG0gKyAxLCBuICsgMCk7CistICAgICAgdG8uU3RvcmVQYXJ0KEJs b2NrRGVzYzw0PigpLCByMiwgbSArIDIsIG4gKyAwKTsKKy0gICAgICB0by5TdG9yZVBhcnQoQmxv Y2tEZXNjPDQ+KCksIHIzLCBtICsgMywgbiArIDApOworKyAgICAgIGNvbnN0IEJsb2NrRGVzYzw0 PiBkOworKyAgICAgIGNvbnN0IGF1dG8gcDAgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyAwLCBtICsg MCk7CisrICAgICAgY29uc3QgYXV0byBwMSA9IGZyb20uTG9hZFBhcnQoZCwgbiArIDEsIG0gKyAw KTsKKysgICAgICBjb25zdCBhdXRvIHAyID0gZnJvbS5Mb2FkUGFydChkLCBuICsgMiwgbSArIDAp OworKyAgICAgIGNvbnN0IGF1dG8gcDMgPSBmcm9tLkxvYWRQYXJ0KGQsIG4gKyAzLCBtICsgMCk7 CisrCisrICAgICAgY29uc3QgYXV0byBxMCA9IEludGVybGVhdmVMb3dlcihkLCBwMCwgcDIpOwor KyAgICAgIGNvbnN0IGF1dG8gcTEgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcDEsIHAzKTsKKysgICAg ICBjb25zdCBhdXRvIHEyID0gSW50ZXJsZWF2ZVVwcGVyKGQsIHAwLCBwMik7CisrICAgICAgY29u c3QgYXV0byBxMyA9IEludGVybGVhdmVVcHBlcihkLCBwMSwgcDMpOworKworKyAgICAgIGNvbnN0 IGF1dG8gcjAgPSBJbnRlcmxlYXZlTG93ZXIoZCwgcTAsIHExKTsKKysgICAgICBjb25zdCBhdXRv IHIxID0gSW50ZXJsZWF2ZVVwcGVyKGQsIHEwLCBxMSk7CisrICAgICAgY29uc3QgYXV0byByMiA9 IEludGVybGVhdmVMb3dlcihkLCBxMiwgcTMpOworKyAgICAgIGNvbnN0IGF1dG8gcjMgPSBJbnRl cmxlYXZlVXBwZXIoZCwgcTIsIHEzKTsKKysKKysgICAgICB0by5TdG9yZVBhcnQoZCwgcjAsIG0g KyAwLCBuICsgMCk7CisrICAgICAgdG8uU3RvcmVQYXJ0KGQsIHIxLCBtICsgMSwgbiArIDApOwor KyAgICAgIHRvLlN0b3JlUGFydChkLCByMiwgbSArIDIsIG4gKyAwKTsKKysgICAgICB0by5TdG9y ZVBhcnQoZCwgcjMsIG0gKyAzLCBuICsgMCk7CisgICAgIH0KKyAgIH0KKyB9CitkaWZmIC0tZ2l0 IGEvbGliL3Byb2ZpbGVyL3Byb2ZpbGVyLmNjIGIvbGliL3Byb2ZpbGVyL3Byb2ZpbGVyLmNjCitp bmRleCBkMjFlZTA5Li4xODZmZjA2IDEwMDY0NAorLS0tIGEvbGliL3Byb2ZpbGVyL3Byb2ZpbGVy LmNjCisrKysgYi9saWIvcHJvZmlsZXIvcHJvZmlsZXIuY2MKK0BAIC0xMzksNyArMTM5LDcgQEAg Y2xhc3MgUmVzdWx0cyB7CisgICB2b2lkIEFuYWx5emVQYWNrZXRzKGNvbnN0IFBhY2tldCogSFdZ X1JFU1RSSUNUIHBhY2tldHMsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpemVfdCBu dW1fcGFja2V0cykgeworICAgICAvLyBFbnN1cmVzIHByaW9yIHdlYWtseS1vcmRlcmVkIHN0cmVh bWluZyBzdG9yZXMgYXJlIGdsb2JhbGx5IHZpc2libGUuCistICAgIGh3eTo6U3RvcmVGZW5jZSgp OworKyAgICBod3k6OkZsdXNoU3RyZWFtKCk7CisgCisgICAgIGNvbnN0IHVpbnQ2NF90IHQwID0g VGlja3NCZWZvcmUoKTsKKyAKK0BAIC0zNzIsMTIgKzM3MiwxMiBAQCB2b2lkIFRocmVhZFNwZWNp ZmljOjpDb21wdXRlT3ZlcmhlYWQoKSB7CisgICAgICAgY29uc3Qgc2l6ZV90IGtSZXBzID0gMTAw MDA7CisgICAgICAgLy8gQW5hbHlzaXMgdGltZSBzaG91bGQgbm90IGJlIGluY2x1ZGVkID0+IG11 c3QgZml0IHdpdGhpbiBidWZmZXIuCisgICAgICAgSFdZX0FTU0VSVChrUmVwcyAqIDIgPCBtYXhf cGFja2V0c18pOworLSAgICAgIGh3eTo6U3RvcmVGZW5jZSgpOworKyAgICAgIGh3eTo6Rmx1c2hT dHJlYW0oKTsKKyAgICAgICBjb25zdCB1aW50NjRfdCB0MCA9IFRpY2tzQmVmb3JlKCk7CisgICAg ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrUmVwczsgKytpKSB7CisgICAgICAgICBQUk9GSUxF Ul9aT05FKCJEdW1teSIpOworICAgICAgIH0KKy0gICAgICBod3k6OlN0b3JlRmVuY2UoKTsKKysg ICAgICBod3k6OkZsdXNoU3RyZWFtKCk7CisgICAgICAgY29uc3QgdWludDY0X3QgdDEgPSBUaWNr c0FmdGVyKCk7CisgICAgICAgSFdZX0FTU0VSVChudW1fcGFja2V0c18gKyBidWZmZXJfc2l6ZV8g PT0ga1JlcHMgKiAyKTsKKyAgICAgICBidWZmZXJfc2l6ZV8gPSAwOwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9saWJqeGwvdGVtcGxhdGUgYi9zcmNwa2dzL2xpYmp4bC90ZW1wbGF0ZQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQ0NzAzYzJjOWE5YQotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvbGlianhsL3RlbXBsYXRlCkBAIC0wLDAgKzEsNzIgQEAKKyMgVGVtcGxh dGUgZmlsZSBmb3IgJ2xpYmp4bCcKK3BrZ25hbWU9bGlianhsCit2ZXJzaW9uPTAuNi4xCityZXZp c2lvbj0xCisjX3Nob3J0X3ZlcnNpb249MC42Cisjd3Jrc3JjPWxpYmp4bC0ke19zaG9ydF92ZXJz aW9ufQorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSItREpQRUdYTF9FTkFCTEVf QkVOQ0hNQVJLPU9GRiAtREpQRUdYTF9FTkFCTEVfRVhBTVBMRVM9T0ZGCisgLURKUEVHWExfRU5B QkxFX1NKUEVHPU9GRiAtREpQRUdYTF9FTkFCTEVfUExVR0lOUz1PTiIKK2hvc3RtYWtlZGVwZW5k cz0idGFyIHBrZy1jb25maWcgYXNjaWlkb2MgeGRnLXV0aWxzIgorbWFrZWRlcGVuZHM9ImJyb3Rs aS1kZXZlbCBoaWdod2F5IGxpYnBuZy1kZXZlbCBnaWZsaWItZGV2ZWwgbGlianBlZy10dXJiby1k ZXZlbAorIGxpYm9wZW5leHItZGV2ZWwgZ2RrLXBpeGJ1Zi1kZXZlbCBnaW1wLWRldmVsIGd0ZXN0 LWRldmVsIgorc2hvcnRfZGVzYz0iSlBFRyBYTCBpbWFnZSBmb3JtYXQgcmVmZXJlbmNlIGltcGxl bWVudGF0aW9uIgorbWFpbnRhaW5lcj0iSm9zaHVhIEtyw6RtZXIgPGpvc2h1YUBrcmFlbWVyLmxp bms+IgorbGljZW5zZT0iQlNELTMtQ2xhdXNlLCBjdXN0b206UGF0ZW50IGdyYW50IgoraG9tZXBh Z2U9Imh0dHBzOi8vanBlZy5vcmcvanBlZ3hsLyIKK19sb2RlcG5nX2hhc2g9NDhlNTM2NGVmNDhl YzI0MDhmNDRjNzI3NjU3YWMxYjY3MDMxODVmOAorX3NrY21zX2hhc2g9NjQzNzQ3NTZlMDM3MDBk NjQ5Zjg5N2RiZDk4Yzk1ZTc4YzMwYzdkYQorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20v bGlianhsL2xpYmp4bC9hcmNoaXZlL3Yke3ZlcnNpb259LnRhci5negorIGh0dHBzOi8vZ2l0aHVi LmNvbS9sdmFuZGV2ZS9sb2RlcG5nL2FyY2hpdmUvJHtfbG9kZXBuZ19oYXNofS50YXIuZ3o+bG9k ZXBuZy0ke19sb2RlcG5nX2hhc2h9LnRhci5negorIGh0dHBzOi8vc2tpYS5nb29nbGVzb3VyY2Uu Y29tL3NrY21zLythcmNoaXZlLyR7X3NrY21zX2hhc2h9LnRhci5nej5za2Ntcy0ke19za2Ntc19o YXNofS50YXIuZ3oiCitjaGVja3N1bT0iY2NiZDVhNzI5ZDczMDE1MjMwM2JlMzk5ZjAzM2I5MDVl NjA4MzA5ZDU4MDJkNzdhNjFhOTVmYWEwOTI1OTJjNQorIGM0N2M0OGM3N2EyMDVmMWFmNDg0Yjdi NWE4NDcyOTBhZjY1ZGUzZWE2ZjE1ODE3YWEyN2M1ZWM3Y2M1MjA4ZmQKKyBAYTY5MjMwYzdiNmYw M2ExNzhjOTNhYmM2ZWRjODMyYzA0MGQ2ZTE5ODM0MDE5M2IyN2MzZDA0YWZlY2Y4ZjYxNyIKK3Nr aXBfZXh0cmFjdGlvbj0ibG9kZXBuZy0ke19sb2RlcG5nX2hhc2h9LnRhci5negorIHNrY21zLSR7 X3NrY21zX2hhc2h9LnRhci5neiIKKworaWYgWyAiJFhCUFNfVEFSR0VUX05PX0FUT01JQzgiIF07 IHRoZW4KKwltYWtlZGVwZW5kcys9IiBsaWJhdG9taWMtZGV2ZWwiCisJTElCUz0iLWxhdG9taWMi CitmaQorCitwb3N0X2V4dHJhY3QoKSB7CisJY2QgJHtYQlBTX1NSQ0RJU1RESVJ9L2xpYmp4bC0k e3ZlcnNpb259CisJdGFyIC14ZiBsb2RlcG5nLSR7X2xvZGVwbmdfaGFzaH0udGFyLmd6IC0tc3Ry aXAtY29tcG9uZW50cz0xIC1DICR7d3Jrc3JjfS90aGlyZF9wYXJ0eS9sb2RlcG5nCisJdGFyIC14 ZiBza2Ntcy0ke19za2Ntc19oYXNofS50YXIuZ3ogLUMgJHt3cmtzcmN9L3RoaXJkX3BhcnR5L3Nr Y21zCit9CisKK3Bvc3RfaW5zdGFsbCgpIHsKKwl2bGljZW5zZSBMSUNFTlNFCisJdmxpY2Vuc2Ug UEFURU5UUworfQorCitsaWJqeGwtZGV2ZWxfcGFja2FnZSgpIHsKKwlzaG9ydF9kZXNjKz0iIC0g ZGV2ZWxvcG1lbnQgZmlsZXMiCisJZGVwZW5kcz0ibGlianhsPj0ke3ZlcnNpb259XyR7cmV2aXNp b259IGhpZ2h3YXkgYnJvdGxpLWRldmVsIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3Iv aW5jbHVkZQorCQl2bW92ZSAidXNyL2xpYi8qLmEiCisJCXZtb3ZlICJ1c3IvbGliLyouc28iCisJ CXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCisJfQorfQorCitsaWJqeGwtdG9vbHNfcGFja2FnZSgp IHsKKwlzaG9ydF9kZXNjKz0iIC0gdG9vbHMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVz ci9iaW4KKwkJdm1vdmUgdXNyL3NoYXJlL21hbgorCX0KK30KKworbGlianhsLXBsdWdpbnNfcGFj a2FnZSgpIHsKKwlzaG9ydF9kZXNjKz0iIC0gcGx1Z2lucyIKKwlkZXBlbmRzPSJkZXNrdG9wLWZp bGUtdXRpbHMiCisJcGtnX2luc3RhbGwoKSB7CisJCXZtb3ZlIHVzci9saWIvZ2RrLXBpeGJ1Zi0y LjAKKwkJdm1vdmUgdXNyL2xpYi9naW1wCisJCXZtb3ZlIHVzci9zaGFyZS9taW1lCisJCXZtb3Zl IHVzci9zaGFyZS90aHVtYm5haWxlcnMKKwl9Cit9CgpGcm9tIDFiNDRmMjY4ZGEyYzJmMjhiZjM2 ZWRmZWYzYWE5ZTU2ZTRlOGRkMzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEpvc2h1 YSA8am9zaHVhQGtyYWVtZXIubGluaz4KRGF0ZTogV2VkLCAzMCBNYXIgMjAyMiAyMToyMzoxNiAr MDIwMApTdWJqZWN0OiBbUEFUQ0ggMy8zXSBraW1hZ2Vmb3JtYXRzOiBlbmFibGUgSlBFRyBYTCBz dXBwb3J0CgotLS0KIHNyY3BrZ3Mva2ltYWdlZm9ybWF0cy90ZW1wbGF0ZSB8IDQgKystLQogMSBm aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmNwa2dzL2tpbWFnZWZvcm1hdHMvdGVtcGxhdGUgYi9zcmNwa2dzL2tpbWFnZWZvcm1hdHMv dGVtcGxhdGUKaW5kZXggZWJkNmU4MWRiMjk4Li42OTY1ZTA0MTAyN2MgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3Mva2ltYWdlZm9ybWF0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2tpbWFnZWZvcm1hdHMv dGVtcGxhdGUKQEAgLTEsMTIgKzEsMTIgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2tpbWFnZWZv cm1hdHMnCiBwa2duYW1lPWtpbWFnZWZvcm1hdHMKIHZlcnNpb249NS45Mi4wCi1yZXZpc2lvbj0x CityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1jbWFrZQogY29uZmlndXJlX2FyZ3M9Ii1ES0lNQUdF Rk9STUFUU19IRUlGPU9OIgogaG9zdG1ha2VkZXBlbmRzPSJrY29yZWFkZG9ucyBleHRyYS1jbWFr ZS1tb2R1bGVzIHF0NS1xbWFrZSBxdDUtaG9zdC10b29scwogIHBrZy1jb25maWciCi1tYWtlZGVw ZW5kcz0ia2FyY2hpdmUtZGV2ZWwgbGlib3BlbmV4ci1kZXZlbCBsaWJoZWlmLWRldmVsIgorbWFr ZWRlcGVuZHM9ImthcmNoaXZlLWRldmVsIGxpYm9wZW5leHItZGV2ZWwgbGliaGVpZi1kZXZlbCBs aWJqeGwtZGV2ZWwiCiBzaG9ydF9kZXNjPSJLREUgUGx1Z2lucyB0byBhbGxvdyBRSW1hZ2UgdG8g c3VwcG9ydCBleHRyYSBmaWxlIGZvcm1hdHMiCiBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnlu YXRvci5kZXY+IgogbGljZW5zZT0iTEdQTC0yLjAtb3ItbGF0ZXIiCg== --===============6233809004083195542==--