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 31484 invoked from network); 23 Sep 2023 13:05:00 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 23 Sep 2023 13:05:00 -0000 Content-Type: multipart/mixed; boundary="===============9204702463698230569==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_python3-gmpy2=3A_patch_and_rebuild_for_mpfr-4=2E2=2E1?= To: ml@inbox.vuxu.org From: tornaria Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 23 Sep 2023 15:04:59 +0200 List-Id: Message-ID: <20230923130459.jhs7iqB6l3UOEw1NpjRtU1wCh_Ftg8apNJMnd8KLKF0@z> GitHub notification mails are now in MIME to allow UTF8. --===============9204702463698230569== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgdG9ybmFyaWEgYWdhaW5zdCBtYXN0 ZXIgb24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL3Rv cm5hcmlhL3ZvaWQtcGFja2FnZXMgZ21weTIKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzQ2MTkyCgpweXRob24zLWdtcHkyOiBwYXRjaCBhbmQgcmVidWls ZCBmb3IgbXBmci00LjIuMQo8IS0tIFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVs ZXRlIG9wdGlvbnMgd2hpY2ggYXJlIG5vdCBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3Rpbmcg dGhlIGNoYW5nZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5 KioNCg0KRml4ZXMgY2hlY2sgYXMgcmVwb3J0ZWQgaW4gIzQ2MTcwLg0KDQpUaGlzIGlzIGFuIGFj dHVhbCBidWcgKG9yIHR3bykgYWxyZWFkeSBmaXhlZCB1cHN0cmVhbS4gU2VlIGh0dHBzOi8vZ2l0 aHViLmNvbS9hbGVheGl0L2dtcHkvaXNzdWVzLzQxOCwgZml4ZWQgYnkgaHR0cHM6Ly9naXRodWIu Y29tL2FsZWF4aXQvZ21weS9wdWxsLzQyMi9jb21taXRzLzY4YTZiNDg5YzNkOGQ5NWIyNjU4YTFl ZDg4NGZiOTlmNGJkOTU1YzEgYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGVheGl0L2dtcHkvY29t bWl0LzczNTFlMmViMWFiZjRiMzdhNDdhODIyZWIzZjNmMjlmOTBjN2Y4NTQuDQoNCjwhLS0NCiMj IyMgTmV3IHBhY2thZ2UNCi0gVGhpcyBuZXcgcGFja2FnZSBjb25mb3JtcyB0byB0aGUgW3BhY2th Z2UgcmVxdWlyZW1lbnRzXShodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2th Z2VzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCNwYWNrYWdlLXJlcXVpcmVtZW50cyk6ICoq WUVTKip8KipOTyoqDQotLT4NCg0KPCEtLSBOb3RlOiBJZiB0aGUgYnVpbGQgaXMgbGlrZWx5IHRv IHRha2UgbW9yZSB0aGFuIDIgaG91cnMsIHBsZWFzZSBhZGQgY2kgc2tpcCB0YWcgYXMgZGVzY3Jp YmVkIGluDQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2Jsb2Iv bWFzdGVyL0NPTlRSSUJVVElORy5tZCNjb250aW51b3VzLWludGVncmF0aW9uDQphbmQgdGVzdCBh dCBsZWFzdCBvbmUgbmF0aXZlIGJ1aWxkIGFuZCwgaWYgc3VwcG9ydGVkLCBhdCBsZWFzdCBvbmUg Y3Jvc3MgYnVpbGQuDQpJZ25vcmUgdGhpcyBzZWN0aW9uIGlmIHRoaXMgUFIgaXMgbm90IHNraXBw aW5nIENJLg0KLS0+DQo8IS0tDQojIyMjIExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0 aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsIChBUkNILUxJQkMpDQot IEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBw b3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOg0KICAtIGFhcmNoNjQtbXVzbA0KICAtIGFybXY3bA0K ICAtIGFybXY2bC1tdXNsDQotLT4NCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ2MTkyLnBhdGNoIGlzIGF0dGFjaGVk --===============9204702463698230569== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-gmpy2-46192.patch" RnJvbSA3MjJiMzJhYTQwNTgwNGI3OWE3NDI1NjcwOGRlNmE1MTFlMjU1YjRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/R29uemFsbz0yMFRvcm5hcj1DMz1BRGE/PSA8 dG9ybmFyaWFAY21hdC5lZHUudXk+CkRhdGU6IEZyaSwgMjIgU2VwIDIwMjMgMTk6MTM6MjIgLTAz MDAKU3ViamVjdDogW1BBVENIXSBweXRob24zLWdtcHkyOiBwYXRjaCBhbmQgcmVidWlsZCBmb3Ig bXBmci00LjIuMQoKLS0tCiAuLi4vcGF0Y2hlcy9jbGVhbnVwLW9iamVjdC1jYWNoaW5nLnBhdGNo ICAgICAgfCA1ODEgKysrKysrKysrKysrKysrKysrCiAuLi5jbHVkZS1tcGZyLXdvcmthcm91bmQt Zm9yLW1wZnItNC4yLjEucGF0Y2ggfCAgMzcgKysKIHNyY3BrZ3MvcHl0aG9uMy1nbXB5Mi90ZW1w bGF0ZSAgICAgICAgICAgICAgICB8ICAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA2MTkgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcHl0aG9u My1nbXB5Mi9wYXRjaGVzL2NsZWFudXAtb2JqZWN0LWNhY2hpbmcucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3B5dGhvbjMtZ21weTIvcGF0Y2hlcy9leGNsdWRlLW1wZnItd29ya2Fy b3VuZC1mb3ItbXBmci00LjIuMS5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1n bXB5Mi9wYXRjaGVzL2NsZWFudXAtb2JqZWN0LWNhY2hpbmcucGF0Y2ggYi9zcmNwa2dzL3B5dGhv bjMtZ21weTIvcGF0Y2hlcy9jbGVhbnVwLW9iamVjdC1jYWNoaW5nLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmI5N2UxNjFjZTVjMTkKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3B5dGhvbjMtZ21weTIvcGF0Y2hlcy9jbGVhbnVwLW9iamVjdC1jYWNo aW5nLnBhdGNoCkBAIC0wLDAgKzEsNTgxIEBACitUaGlzIGlzIG5lZWRlZCBmb3IgbXBmciA0LjIu MS4KKworU2VlOgoraHR0cHM6Ly9naXRodWIuY29tL2FsZWF4aXQvZ21weS9pc3N1ZXMvNDE4I2lz c3VlY29tbWVudC0xNzA2Njk4MjI0CisKK0Zyb20gNzM1MWUyZWIxYWJmNGIzN2E0N2E4MjJlYjNm M2YyOWY5MGM3Zjg1NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENhc2UgVmFuIEhv cnNlbiA8Y2FzZXZoQGdtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjggRGVjIDIwMjIgMjE6MTE6Mzkg LTA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gQ2xlYW51cCBnbXB5MiBvYmplY3QgY2FjaGluZy4KKwor LS0tCisgc3JjL2dtcHkyLmMgICAgICAgIHwgIDM5ICsrKysrLS0tLS0KKyBzcmMvZ21weTJfY2Fj aGUuYyAgfCAxOTAgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cisgc3JjL2dtcHkyX2NhY2hlLmggIHwgICA2IC0tCisgc3JjL2dtcHkyX21pc2MuYyAgIHwgIDQ3 IC0tLS0tLS0tLS0tCisgc3JjL2dtcHkyX21pc2MuaCAgIHwgICAyIC0KKyB0ZXN0L3J1bnRlc3Rz LnB5ICAgfCAgIDIgLQorIHRlc3QvdGVzdF9taXNjLnR4dCB8ICAzNSAtLS0tLS0tLS0KKyA3IGZp bGVzIGNoYW5nZWQsIDY1IGluc2VydGlvbnMoKyksIDI1NiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL3NyYy9nbXB5Mi5jIGIvc3JjL2dtcHkyLmMKK2luZGV4IGI1MmI4MmZiLi42ZWQ5MTM5 YSAxMDA2NDQKKy0tLSBhL3NyYy9nbXB5Mi5jCisrKysgYi9zcmMvZ21weTIuYworQEAgLTU0MSwy OSArNTQxLDM3IEBAIExHUEwgMyBvciBsYXRlci4iOworIC8qIFRoZSBmb2xsb3dpbmcgZ2xvYmFs IHN0cnVjdHVyZXMgYXJlIHVzZWQgYnkgZ21weV9jYWNoZS5jLgorICAqLworIAorLXN0cnVjdCBn bXB5X2dsb2JhbCB7CistICAgIGludCBjYWNoZV9zaXplOyAgICAgICAgICAvKiBzaXplIG9mIGNh Y2hlLCBmb3IgYWxsIGNhY2hlcyAqLworLSAgICBpbnQgY2FjaGVfb2JzaXplOyAgICAgICAgLyog bWF4aW11bSBzaXplIG9mIHRoZSBvYmplY3RzIHRoYXQgYXJlIGNhY2hlZCAqLworKyNkZWZpbmUg Q0FDSEVfU0laRSAoMTAwKQorKyNkZWZpbmUgTUFYX0NBQ0hFX01QWl9MSU1CUyAoNjQpCisrI2Rl ZmluZSBNQVhfQ0FDSEVfTVBGUl9CSVRTICgxMDI0KQorKworK3R5cGVkZWYgc3RydWN0IHsKKyAg ICAgbXB6X3QgdGVtcHo7ICAgICAgICAgICAgIC8qIFRlbXBvcmFyeSB2YXJpYWJsZSB1c2VkIGZv ciBpbnRlZ2VyIGNvbnZlcnNpb25zICovCisgCistICAgIE1QWl9PYmplY3QgKipnbXB5bXB6Y2Fj aGU7CisrICAgIE1QWl9PYmplY3QgKmdtcHltcHpjYWNoZVtDQUNIRV9TSVpFXTsKKyAgICAgaW50 IGluX2dtcHltcHpjYWNoZTsKKyAKKy0gICAgWE1QWl9PYmplY3QgKipnbXB5eG1wemNhY2hlOwor KyAgICBYTVBaX09iamVjdCAqZ21weXhtcHpjYWNoZVtDQUNIRV9TSVpFXTsKKyAgICAgaW50IGlu X2dtcHl4bXB6Y2FjaGU7CisgCistICAgIE1QUV9PYmplY3QgKipnbXB5bXBxY2FjaGU7CisrICAg IE1QUV9PYmplY3QgKmdtcHltcHFjYWNoZVtDQUNIRV9TSVpFXTsKKyAgICAgaW50IGluX2dtcHlt cHFjYWNoZTsKKyAKKy0gICAgTVBGUl9PYmplY3QgKipnbXB5bXBmcmNhY2hlOworKyAgICBNUEZS X09iamVjdCAqZ21weW1wZnJjYWNoZVtDQUNIRV9TSVpFXTsKKyAgICAgaW50IGluX2dtcHltcGZy Y2FjaGU7CisgCistICAgIE1QQ19PYmplY3QgKipnbXB5bXBjY2FjaGU7CisrICAgIE1QQ19PYmpl Y3QgKmdtcHltcGNjYWNoZVtDQUNIRV9TSVpFXTsKKyAgICAgaW50IGluX2dtcHltcGNjYWNoZTsK Kyt9IGdtcHlfZ2xvYmFsOworKworK3N0YXRpYyBnbXB5X2dsb2JhbCBnbG9iYWwgPSB7CisrICAg IC5pbl9nbXB5bXB6Y2FjaGUgPSAwLAorKyAgICAuaW5fZ21weXhtcHpjYWNoZSA9IDAsCisrICAg IC5pbl9nbXB5bXBxY2FjaGUgPSAwLAorKyAgICAuaW5fZ21weW1wZnJjYWNoZSA9IDAsCisrICAg IC5pbl9nbXB5bXBjY2FjaGUgPSAwLAorIH07CisgCistc3RhdGljIHN0cnVjdCBnbXB5X2dsb2Jh bCBnbG9iYWw7CistCisgLyogU3VwcG9ydCBmb3IgY29udGV4dCBtYW5hZ2VyLiAqLworIAorICNp ZmRlZiBXSVRIT1VUX1RIUkVBRFMKK0BAIC03MTYsNyArNzI0LDYgQEAgc3RhdGljIFB5TWV0aG9k RGVmIFB5Z21weV9tZXRob2RzIFtdID0KKyAgICAgeyAiZl9tb2RfMmV4cCIsIEdNUHlfTVBaX2Zf bW9kXzJleHAsIE1FVEhfVkFSQVJHUywgZG9jX2ZfbW9kXzJleHAgfSwKKyAgICAgeyAiZ2NkIiwg R01QeV9NUFpfRnVuY3Rpb25fR0NELCBNRVRIX1ZBUkFSR1MsIEdNUHlfZG9jX21wel9mdW5jdGlv bl9nY2QgfSwKKyAgICAgeyAiZ2NkZXh0IiwgR01QeV9NUFpfRnVuY3Rpb25fR0NEZXh0LCBNRVRI X1ZBUkFSR1MsIEdNUHlfZG9jX21wel9mdW5jdGlvbl9nY2RleHQgfSwKKy0gICAgeyAiZ2V0X2Nh Y2hlIiwgR01QeV9nZXRfY2FjaGUsIE1FVEhfTk9BUkdTLCBHTVB5X2RvY19nZXRfY2FjaGUgfSwK KyAgICAgeyAiaGFtZGlzdCIsIEdNUHlfTVBaX2hhbWRpc3QsIE1FVEhfVkFSQVJHUywgZG9jX2hh bWRpc3QgfSwKKyAgICAgeyAiaW52ZXJ0IiwgR01QeV9NUFpfRnVuY3Rpb25fSW52ZXJ0LCBNRVRI X1ZBUkFSR1MsIEdNUHlfZG9jX21wel9mdW5jdGlvbl9pbnZlcnQgfSwKKyAgICAgeyAiaXJvb3Qi LCBHTVB5X01QWl9GdW5jdGlvbl9Jcm9vdCwgTUVUSF9WQVJBUkdTLCBHTVB5X2RvY19tcHpfZnVu Y3Rpb25faXJvb3QgfSwKK0BAIC03NzcsNyArNzg0LDYgQEAgc3RhdGljIFB5TWV0aG9kRGVmIFB5 Z21weV9tZXRob2RzIFtdID0KKyAgICAgeyAicWRpdiIsIEdNUHlfTVBRX0Z1bmN0aW9uX1FkaXYs IE1FVEhfVkFSQVJHUywgR01QeV9kb2NfZnVuY3Rpb25fcWRpdiB9LAorICAgICB7ICJyZW1vdmUi LCBHTVB5X01QWl9GdW5jdGlvbl9SZW1vdmUsIE1FVEhfVkFSQVJHUywgR01QeV9kb2NfbXB6X2Z1 bmN0aW9uX3JlbW92ZSB9LAorICAgICB7ICJyYW5kb21fc3RhdGUiLCBHTVB5X1JhbmRvbVN0YXRl X0ZhY3RvcnksIE1FVEhfVkFSQVJHUywgR01QeV9kb2NfcmFuZG9tX3N0YXRlX2ZhY3RvcnkgfSwK Ky0gICAgeyAic2V0X2NhY2hlIiwgR01QeV9zZXRfY2FjaGUsIE1FVEhfVkFSQVJHUywgR01QeV9k b2Nfc2V0X2NhY2hlIH0sCisgICAgIHsgInNpZ24iLCBHTVB5X0NvbnRleHRfU2lnbiwgTUVUSF9P LCBHTVB5X2RvY19mdW5jdGlvbl9zaWduIH0sCisgICAgIHsgInNxdWFyZSIsIEdNUHlfQ29udGV4 dF9TcXVhcmUsIE1FVEhfTywgR01QeV9kb2NfZnVuY3Rpb25fc3F1YXJlIH0sCisgICAgIHsgInN1 YiIsIEdNUHlfQ29udGV4dF9TdWIsIE1FVEhfVkFSQVJHUywgR01QeV9kb2Nfc3ViIH0sCitAQCAt MTA3NSwxNyArMTA4MSw4IEBAIFB5TU9ESU5JVF9GVU5DIFB5SW5pdF9nbXB5Mih2b2lkKQorICAg ICB9CisgCisgICAgIC8qIEluaXRpYWxpemUgdGhlIGdsb2JhbCBzdHJ1Y3R1cmUuIEV2ZW50dWFs bHkgdGhpcyBzaG91bGQgYmUgbW9kdWxlIGxvY2FsLiAqLworLSAgICBnbG9iYWwuY2FjaGVfc2l6 ZSA9IDEwMDsKKy0gICAgZ2xvYmFsLmNhY2hlX29ic2l6ZSA9IDEyODsKKyAgICAgbXB6X2luaXQo Z2xvYmFsLnRlbXB6KTsKKyAKKy0gICAgLyogSW5pdGlhbGl6ZSBvYmplY3QgY2FjaGluZy4gKi8K Ky0gICAgc2V0X2dtcHltcHpjYWNoZSgpOworLSAgICBzZXRfZ21weW1wcWNhY2hlKCk7CistICAg IHNldF9nbXB5eG1wemNhY2hlKCk7CistICAgIHNldF9nbXB5bXBmcmNhY2hlKCk7CistICAgIHNl dF9nbXB5bXBjY2FjaGUoKTsKKy0KKyAgICAgLyogSW5pdGlhbGl6ZSBleGNlcHRpb25zLiAqLwor ICAgICBHTVB5RXhjX0dtcHlFcnJvciA9IFB5RXJyX05ld0V4Y2VwdGlvbigiZ21weTIuZ21weTJF cnJvciIsIFB5RXhjX0FyaXRobWV0aWNFcnJvciwgTlVMTCk7CisgICAgIGlmICghR01QeUV4Y19H bXB5RXJyb3IpIHsKK2RpZmYgLS1naXQgYS9zcmMvZ21weTJfY2FjaGUuYyBiL3NyYy9nbXB5Ml9j YWNoZS5jCitpbmRleCBjMDBmYzhhMC4uZjJhZjY4MzEgMTAwNjQ0CistLS0gYS9zcmMvZ21weTJf Y2FjaGUuYworKysrIGIvc3JjL2dtcHkyX2NhY2hlLmMKK0BAIC0yNywyOSArMjcsMTAgQEAKKyAK KyAvKiBnbXB5MiBjYWNoZXMgb2JqZWN0cyBzbyB0aGV5IGNhbiBiZSByZXVzZWQgcXVpY2tseSB3 aXRob3V0IGludm9sdmluZyBhIG5ldworICAqIG1lbW9yeSBhbGxvY2F0aW9uIG9yIG9iamVjdCBj b25zdHJ1Y3Rpb24uCistICoKKy0gKiBUaGUgInB5Pz8/Y2FjaGUiIGlzIHVzZWQgdG8gY2FjaGUg UHk/Pz8gb2JqZWN0cy4gVGhlIGNhY2hlIGlzIGFjY2Vzc2VkCistICogdmlhIFB5Pz8/X25ldy9Q eT8/P19kZWFsbG9jLiBUaGUgZnVuY3Rpb25zIHNldF9weT8/P2NhY2hlIGFuZAorLSAqIHNldF9w eT8/P2NhY2hlIGFyZSB1c2VkIHRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgYXJyYXkgdXNlZCB0 byB0aGUgc3RvcmUKKy0gKiB0aGUgY2FjaGVkIG9iamVjdHMuCisgICovCisgCisgLyogQ2FjaGlu ZyBsb2dpYyBmb3IgUHltcHouICovCisgCistc3RhdGljIHZvaWQKKy1zZXRfZ21weW1wemNhY2hl KHZvaWQpCisteworLSAgICBpZiAoZ2xvYmFsLmluX2dtcHltcHpjYWNoZSA+IGdsb2JhbC5jYWNo ZV9zaXplKSB7CistICAgICAgICBpbnQgaTsKKy0gICAgICAgIGZvciAoaSA9IGdsb2JhbC5jYWNo ZV9zaXplOyBpIDwgZ2xvYmFsLmluX2dtcHltcHpjYWNoZTsgKytpKSB7CistICAgICAgICAgICAg bXB6X2NsZWFyKGdsb2JhbC5nbXB5bXB6Y2FjaGVbaV0tPnopOworLSAgICAgICAgICAgIFB5T2Jq ZWN0X0RlbChnbG9iYWwuZ21weW1wemNhY2hlW2ldKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGds b2JhbC5pbl9nbXB5bXB6Y2FjaGUgPSBnbG9iYWwuY2FjaGVfc2l6ZTsKKy0gICAgfQorLSAgICBn bG9iYWwuZ21weW1wemNhY2hlID0gcmVhbGxvYyhnbG9iYWwuZ21weW1wemNhY2hlLCBzaXplb2Yo TVBaX09iamVjdCkqZ2xvYmFsLmNhY2hlX3NpemUpOworLX0KKy0KKyAvKiBHTVB5X01QWl9OZXcg cmV0dXJucyBhIHJlZmVyZW5jZSB0byBhIG5ldyBNUFpfT2JqZWN0LiBJdHMgdmFsdWUKKyAgKiBp cyBpbml0aWFsaXplZCB0byAwLgorICAqLworQEAgLTYxLDE4ICs0MiwxNyBAQCBHTVB5X01QWl9O ZXcoQ1RYVF9PYmplY3QgKmNvbnRleHQpCisgCisgICAgIGlmIChnbG9iYWwuaW5fZ21weW1wemNh Y2hlKSB7CisgICAgICAgICByZXN1bHQgPSBnbG9iYWwuZ21weW1wemNhY2hlWy0tKGdsb2JhbC5p bl9nbXB5bXB6Y2FjaGUpXTsKKy0gICAgICAgIC8qIFB5X0lOQ1JFRiBkb2VzIG5vdCBzZXQgdGhl IGRlYnVnZ2luZyBwb2ludGVycywgc28gbmVlZCB0byB1c2UKKy0gICAgICAgICAqIF9QeV9OZXdS ZWZlcmVuY2UgaW5zdGVhZC4gKi8KKy0gICAgICAgIF9QeV9OZXdSZWZlcmVuY2UoKFB5T2JqZWN0 KilyZXN1bHQpOworKyAgICAgICAgUHlfSU5DUkVGKChQeU9iamVjdCopcmVzdWx0KTsKKyAgICAg ICAgIG1wel9zZXRfdWkocmVzdWx0LT56LCAwKTsKKy0gICAgICAgIHJlc3VsdC0+aGFzaF9jYWNo ZSA9IC0xOworICAgICB9CisgICAgIGVsc2UgeworLSAgICAgICAgaWYgKChyZXN1bHQgPSBQeU9i amVjdF9OZXcoTVBaX09iamVjdCwgJk1QWl9UeXBlKSkpIHsKKy0gICAgICAgICAgICBtcHpfaW5p dChyZXN1bHQtPnopOworLSAgICAgICAgICAgIHJlc3VsdC0+aGFzaF9jYWNoZSA9IC0xOworKyAg ICAgICAgcmVzdWx0ID0gUHlPYmplY3RfTmV3KE1QWl9PYmplY3QsICZNUFpfVHlwZSk7CisrICAg ICAgICBpZiAocmVzdWx0ID09IE5VTEwpIHsKKysgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAg ICAgICAgIH0KKysgICAgICAgIG1wel9pbml0KHJlc3VsdC0+eik7CisgICAgIH0KKysgICAgcmVz dWx0LT5oYXNoX2NhY2hlID0gLTE7CisgICAgIHJldHVybiByZXN1bHQ7CisgfQorIAorQEAgLTE5 OSw4ICsxNzksOSBAQCBHTVB5X01QWl9OZXdJbml0KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmpl Y3QgKmFyZ3MsIFB5T2JqZWN0ICprZXl3ZHMpCisgc3RhdGljIHZvaWQKKyBHTVB5X01QWl9EZWFs bG9jKE1QWl9PYmplY3QgKnNlbGYpCisgeworLSAgICBpZiAoZ2xvYmFsLmluX2dtcHltcHpjYWNo ZSA8IGdsb2JhbC5jYWNoZV9zaXplICYmCistICAgICAgICBzZWxmLT56LT5fbXBfYWxsb2MgPD0g Z2xvYmFsLmNhY2hlX29ic2l6ZSkgeworKyAgIGlmIChnbG9iYWwuaW5fZ21weW1wemNhY2hlIDwg Q0FDSEVfU0laRSAmJgorKyAgICAgICBzZWxmLT56LT5fbXBfYWxsb2MgPD0gTUFYX0NBQ0hFX01Q Wl9MSU1CUykgeworKyAgICAgICAgCisgICAgICAgICBnbG9iYWwuZ21weW1wemNhY2hlWyhnbG9i YWwuaW5fZ21weW1wemNhY2hlKSsrXSA9IHNlbGY7CisgICAgIH0KKyAgICAgZWxzZSB7CitAQCAt MjExLDIwICsxOTIsNiBAQCBHTVB5X01QWl9EZWFsbG9jKE1QWl9PYmplY3QgKnNlbGYpCisgCisg LyogQ2FjaGluZyBsb2dpYyBmb3IgUHl4bXB6LiAqLworIAorLXN0YXRpYyB2b2lkCistc2V0X2dt cHl4bXB6Y2FjaGUodm9pZCkKKy17CistICAgIGlmIChnbG9iYWwuaW5fZ21weXhtcHpjYWNoZSA+ IGdsb2JhbC5jYWNoZV9zaXplKSB7CistICAgICAgICBpbnQgaTsKKy0gICAgICAgIGZvciAoaSA9 IGdsb2JhbC5jYWNoZV9zaXplOyBpIDwgZ2xvYmFsLmluX2dtcHl4bXB6Y2FjaGU7ICsraSkgewor LSAgICAgICAgICAgIG1wel9jbGVhcihnbG9iYWwuZ21weXhtcHpjYWNoZVtpXS0+eik7CistICAg ICAgICAgICAgUHlPYmplY3RfRGVsKGdsb2JhbC5nbXB5eG1wemNhY2hlW2ldKTsKKy0gICAgICAg IH0KKy0gICAgICAgIGdsb2JhbC5pbl9nbXB5eG1wemNhY2hlID0gZ2xvYmFsLmNhY2hlX3NpemU7 CistICAgIH0KKy0gICAgZ2xvYmFsLmdtcHl4bXB6Y2FjaGUgPSByZWFsbG9jKGdsb2JhbC5nbXB5 eG1wemNhY2hlLCBzaXplb2YoWE1QWl9PYmplY3QpKmdsb2JhbC5jYWNoZV9zaXplKTsKKy19Cist Cisgc3RhdGljIFhNUFpfT2JqZWN0ICoKKyBHTVB5X1hNUFpfTmV3KENUWFRfT2JqZWN0ICpjb250 ZXh0KQorIHsKK0BAIC0yMzIsMTUgKzE5OSwxNSBAQCBHTVB5X1hNUFpfTmV3KENUWFRfT2JqZWN0 ICpjb250ZXh0KQorIAorICAgICBpZiAoZ2xvYmFsLmluX2dtcHl4bXB6Y2FjaGUpIHsKKyAgICAg ICAgIHJlc3VsdCA9IGdsb2JhbC5nbXB5eG1wemNhY2hlWy0tKGdsb2JhbC5pbl9nbXB5eG1wemNh Y2hlKV07CistICAgICAgICAvKiBQeV9JTkNSRUYgZG9lcyBub3Qgc2V0IHRoZSBkZWJ1Z2dpbmcg cG9pbnRlcnMsIHNvIG5lZWQgdG8gdXNlCistICAgICAgICAgKiBfUHlfTmV3UmVmZXJlbmNlIGlu c3RlYWQuICovCistICAgICAgICBfUHlfTmV3UmVmZXJlbmNlKChQeU9iamVjdCopcmVzdWx0KTsK KysgICAgICAgIFB5X0lOQ1JFRigoUHlPYmplY3QqKXJlc3VsdCk7CisgICAgICAgICBtcHpfc2V0 X3VpKHJlc3VsdC0+eiwgMCk7CisgICAgIH0KKyAgICAgZWxzZSB7CistICAgICAgICBpZiAoKHJl c3VsdCA9IFB5T2JqZWN0X05ldyhYTVBaX09iamVjdCwgJlhNUFpfVHlwZSkpKSB7CistICAgICAg ICAgICAgbXB6X2luaXQocmVzdWx0LT56KTsKKysgICAgICAgIHJlc3VsdCA9IFB5T2JqZWN0X05l dyhYTVBaX09iamVjdCwgJlhNUFpfVHlwZSk7CisrICAgICAgICBpZiAocmVzdWx0ID09IE5VTEwp IHsKKysgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgIH0KKysgICAgICAgbXB6X2lu aXQocmVzdWx0LT56KTsKKyAgICAgfQorICAgICByZXR1cm4gcmVzdWx0OworIH0KK0BAIC0zNDYs MzQgKzMxMywyMSBAQCBHTVB5X1hNUFpfTmV3SW5pdChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2Jq ZWN0ICphcmdzLCBQeU9iamVjdCAqa2V5d2RzKQorIH0KKyAKKyBzdGF0aWMgdm9pZAorLUdNUHlf WE1QWl9EZWFsbG9jKFhNUFpfT2JqZWN0ICpvYmopCisrR01QeV9YTVBaX0RlYWxsb2MoWE1QWl9P YmplY3QgKnNlbGYpCisgeworLSAgICBpZiAoZ2xvYmFsLmluX2dtcHl4bXB6Y2FjaGUgPCBnbG9i YWwuY2FjaGVfc2l6ZSAmJgorLSAgICAgICAgb2JqLT56LT5fbXBfYWxsb2MgPD0gZ2xvYmFsLmNh Y2hlX29ic2l6ZSkgeworLSAgICAgICAgZ2xvYmFsLmdtcHl4bXB6Y2FjaGVbKGdsb2JhbC5pbl9n bXB5eG1wemNhY2hlKSsrXSA9IG9iajsKKysgICBpZiAoZ2xvYmFsLmluX2dtcHl4bXB6Y2FjaGUg PCBDQUNIRV9TSVpFICYmCisrICAgICAgIHNlbGYtPnotPl9tcF9hbGxvYyA8PSBNQVhfQ0FDSEVf TVBaX0xJTUJTKSB7CisrICAgICAgICAKKysgICAgICAgIGdsb2JhbC5nbXB5eG1wemNhY2hlWyhn bG9iYWwuaW5fZ21weXhtcHpjYWNoZSkrK10gPSBzZWxmOworICAgICB9CisgICAgIGVsc2Ugewor LSAgICAgICAgbXB6X2NsZWFyKG9iai0+eik7CistICAgICAgICBQeU9iamVjdF9EZWwoKFB5T2Jq ZWN0KilvYmopOworKyAgICAgICAgbXB6X2NsZWFyKHNlbGYtPnopOworKyAgICAgICAgUHlPYmpl Y3RfRGVsKChQeU9iamVjdCopc2VsZik7CisgICAgIH0KKyB9CisgCisgLyogQ2FjaGluZyBsb2dp YyBmb3IgUHltcHEuICovCisgCistc3RhdGljIHZvaWQKKy1zZXRfZ21weW1wcWNhY2hlKHZvaWQp CisteworLSAgICBpZiAoZ2xvYmFsLmluX2dtcHltcHFjYWNoZSA+IGdsb2JhbC5jYWNoZV9zaXpl KSB7CistICAgICAgICBpbnQgaTsKKy0gICAgICAgIGZvciAoaSA9IGdsb2JhbC5jYWNoZV9zaXpl OyBpIDwgZ2xvYmFsLmluX2dtcHltcHFjYWNoZTsgKytpKSB7CistICAgICAgICAgICAgbXBxX2Ns ZWFyKGdsb2JhbC5nbXB5bXBxY2FjaGVbaV0tPnEpOworLSAgICAgICAgICAgIFB5T2JqZWN0X0Rl bChnbG9iYWwuZ21weW1wcWNhY2hlW2ldKTsKKy0gICAgICAgIH0KKy0gICAgICAgIGdsb2JhbC5p bl9nbXB5bXBxY2FjaGUgPSBnbG9iYWwuY2FjaGVfc2l6ZTsKKy0gICAgfQorLSAgICBnbG9iYWwu Z21weW1wcWNhY2hlID0gcmVhbGxvYyhnbG9iYWwuZ21weW1wcWNhY2hlLCBzaXplb2YoTVBRX09i amVjdCkqZ2xvYmFsLmNhY2hlX3NpemUpOworLX0KKy0KKyBzdGF0aWMgTVBRX09iamVjdCAqCisg R01QeV9NUFFfTmV3KENUWFRfT2JqZWN0ICpjb250ZXh0KQorIHsKK0BAIC0zODEsMTUgKzMzNSwx MyBAQCBHTVB5X01QUV9OZXcoQ1RYVF9PYmplY3QgKmNvbnRleHQpCisgCisgICAgIGlmIChnbG9i YWwuaW5fZ21weW1wcWNhY2hlKSB7CisgICAgICAgICByZXN1bHQgPSBnbG9iYWwuZ21weW1wcWNh Y2hlWy0tKGdsb2JhbC5pbl9nbXB5bXBxY2FjaGUpXTsKKy0gICAgICAgIC8qIFB5X0lOQ1JFRiBk b2VzIG5vdCBzZXQgdGhlIGRlYnVnZ2luZyBwb2ludGVycywgc28gbmVlZCB0byB1c2UKKy0gICAg ICAgICAgIF9QeV9OZXdSZWZlcmVuY2UgaW5zdGVhZC4gKi8KKy0gICAgICAgIF9QeV9OZXdSZWZl cmVuY2UoKFB5T2JqZWN0KilyZXN1bHQpOworKyAgICAgICAgUHlfSU5DUkVGKChQeU9iamVjdCop cmVzdWx0KTsKKysgICAgICAgIG1wcV9zZXRfdWkocmVzdWx0LT5xLCAwLCAxKTsKKyAgICAgfQor ICAgICBlbHNlIHsKKy0gICAgICAgIGlmICghKHJlc3VsdCA9IFB5T2JqZWN0X05ldyhNUFFfT2Jq ZWN0LCAmTVBRX1R5cGUpKSkgeworLSAgICAgICAgICAgIC8qIExDT1ZfRVhDTF9TVEFSVCAqLwor KyAgICAgICAgcmVzdWx0ID0gUHlPYmplY3RfTmV3KE1QUV9PYmplY3QsICZNUFFfVHlwZSk7Cisr ICAgICAgICBpZiAocmVzdWx0ID09IE5VTEwpIHsKKyAgICAgICAgICAgICByZXR1cm4gTlVMTDsK Ky0gICAgICAgICAgICAvKiBMQ09WX0VYQ0xfU1RPUCAqLworICAgICAgICAgfQorICAgICAgICAg bXBxX2luaXQocmVzdWx0LT5xKTsKKyAgICAgfQorQEAgLTQ5Myw5ICs0NDUsMTAgQEAgR01QeV9N UFFfTmV3SW5pdChQeVR5cGVPYmplY3QgKnR5cGUsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAq a2V5d2RzKQorIHN0YXRpYyB2b2lkCisgR01QeV9NUFFfRGVhbGxvYyhNUFFfT2JqZWN0ICpzZWxm KQorIHsKKy0gICAgaWYgKGdsb2JhbC5pbl9nbXB5bXBxY2FjaGU8Z2xvYmFsLmNhY2hlX3NpemUg JiYKKy0gICAgICAgIG1wcV9udW1yZWYoc2VsZi0+cSktPl9tcF9hbGxvYyA8PSBnbG9iYWwuY2Fj aGVfb2JzaXplICYmCistICAgICAgICBtcHFfZGVucmVmKHNlbGYtPnEpLT5fbXBfYWxsb2MgPD0g Z2xvYmFsLmNhY2hlX29ic2l6ZSkgeworKyAgICBpZiAoZ2xvYmFsLmluX2dtcHltcHFjYWNoZSA8 IENBQ0hFX1NJWkUgJiYKKysgICAgICAgIG1wcV9udW1yZWYoc2VsZi0+cSktPl9tcF9hbGxvYyA8 PSBNQVhfQ0FDSEVfTVBaX0xJTUJTICYmCisrICAgICAgICBtcHFfZGVucmVmKHNlbGYtPnEpLT5f bXBfYWxsb2MgPD0gTUFYX0NBQ0hFX01QWl9MSU1CUykgeworKworICAgICAgICAgZ2xvYmFsLmdt cHltcHFjYWNoZVsoZ2xvYmFsLmluX2dtcHltcHFjYWNoZSkrK10gPSBzZWxmOworICAgICB9Cisg ICAgIGVsc2UgeworQEAgLTUwNiwyMCArNDU5LDYgQEAgR01QeV9NUFFfRGVhbGxvYyhNUFFfT2Jq ZWN0ICpzZWxmKQorIAorIC8qIENhY2hpbmcgbG9naWMgZm9yIFB5bXBmci4gKi8KKyAKKy1zdGF0 aWMgdm9pZAorLXNldF9nbXB5bXBmcmNhY2hlKHZvaWQpCisteworLSAgICBpZiAoZ2xvYmFsLmlu X2dtcHltcGZyY2FjaGUgPiBnbG9iYWwuY2FjaGVfc2l6ZSkgeworLSAgICAgICAgaW50IGk7Cist ICAgICAgICBmb3IgKGkgPSBnbG9iYWwuY2FjaGVfc2l6ZTsgaSA8IGdsb2JhbC5pbl9nbXB5bXBm cmNhY2hlOyArK2kpIHsKKy0gICAgICAgICAgICBtcGZyX2NsZWFyKGdsb2JhbC5nbXB5bXBmcmNh Y2hlW2ldLT5mKTsKKy0gICAgICAgICAgICBQeU9iamVjdF9EZWwoZ2xvYmFsLmdtcHltcGZyY2Fj aGVbaV0pOworLSAgICAgICAgfQorLSAgICAgICAgZ2xvYmFsLmluX2dtcHltcGZyY2FjaGUgPSBn bG9iYWwuY2FjaGVfc2l6ZTsKKy0gICAgfQorLSAgICBnbG9iYWwuZ21weW1wZnJjYWNoZSA9IHJl YWxsb2MoZ2xvYmFsLmdtcHltcGZyY2FjaGUsIHNpemVvZihNUEZSX09iamVjdCkqZ2xvYmFsLmNh Y2hlX3NpemUpOworLX0KKy0KKyBzdGF0aWMgTVBGUl9PYmplY3QgKgorIEdNUHlfTVBGUl9OZXco bXBmcl9wcmVjX3QgYml0cywgQ1RYVF9PYmplY3QgKmNvbnRleHQpCisgeworQEAgLTUzNywxOSAr NDc2LDE1IEBAIEdNUHlfTVBGUl9OZXcobXBmcl9wcmVjX3QgYml0cywgQ1RYVF9PYmplY3QgKmNv bnRleHQpCisgCisgICAgIGlmIChnbG9iYWwuaW5fZ21weW1wZnJjYWNoZSkgeworICAgICAgICAg cmVzdWx0ID0gZ2xvYmFsLmdtcHltcGZyY2FjaGVbLS0oZ2xvYmFsLmluX2dtcHltcGZyY2FjaGUp XTsKKy0gICAgICAgIC8qIFB5X0lOQ1JFRiBkb2VzIG5vdCBzZXQgdGhlIGRlYnVnZ2luZyBwb2lu dGVycywgc28gbmVlZCB0byB1c2UKKy0gICAgICAgICAgIF9QeV9OZXdSZWZlcmVuY2UgaW5zdGVh ZC4gKi8KKy0gICAgICAgIF9QeV9OZXdSZWZlcmVuY2UoKFB5T2JqZWN0KilyZXN1bHQpOworLSAg ICAgICAgbXBmcl9zZXRfcHJlYyhyZXN1bHQtPmYsIGJpdHMpOworKyAgICAgICAgUHlfSU5DUkVG KChQeU9iamVjdCopcmVzdWx0KTsKKyAgICAgfQorICAgICBlbHNlIHsKKy0gICAgICAgIGlmICgh KHJlc3VsdCA9IFB5T2JqZWN0X05ldyhNUEZSX09iamVjdCwgJk1QRlJfVHlwZSkpKSB7CistICAg ICAgICAgICAgLyogTENPVl9FWENMX1NUQVJUICovCisrICAgICAgICByZXN1bHQgPSBQeU9iamVj dF9OZXcoTVBGUl9PYmplY3QsICZNUEZSX1R5cGUpOworKyAgICAgICAgaWYgKHJlc3VsdCA9PSBO VUxMKSB7CisgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CistICAgICAgICAgICAgLyogTENPVl9F WENMX1NUT1AgKi8KKyAgICAgICAgIH0KKy0gICAgICAgIG1wZnJfaW5pdDIocmVzdWx0LT5mLCBi aXRzKTsKKyAgICAgfQorKyAgICBtcGZyX2luaXQyKHJlc3VsdC0+ZiwgYml0cyk7CisgICAgIHJl c3VsdC0+aGFzaF9jYWNoZSA9IC0xOworICAgICByZXN1bHQtPnJjID0gMDsKKyAgICAgcmV0dXJu IHJlc3VsdDsKK0BAIC02NzIsMTIgKzYwNyw5IEBAIEdNUHlfTVBGUl9OZXdJbml0KFB5VHlwZU9i amVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprZXl3ZHMpCisgc3RhdGljIHZv aWQKKyBHTVB5X01QRlJfRGVhbGxvYyhNUEZSX09iamVjdCAqc2VsZikKKyB7CistICAgIHNpemVf dCBtc2l6ZTsKKysgICAgaWYgKGdsb2JhbC5pbl9nbXB5bXBmcmNhY2hlIDwgQ0FDSEVfU0laRSAm JgorKyAgICAgICAgc2VsZi0+Zi0+X21wZnJfcHJlYyA8PSBNQVhfQ0FDSEVfTVBGUl9CSVRTKSB7 CisgCistICAgIC8qIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIGxpbWJzIGluIHRoZSBtYW50aXNz YS4gKi8KKy0gICAgbXNpemUgPSAoc2VsZi0+Zi0+X21wZnJfcHJlYyArIG1wX2JpdHNfcGVyX2xp bWIgLSAxKSAvIG1wX2JpdHNfcGVyX2xpbWI7CistICAgIGlmIChnbG9iYWwuaW5fZ21weW1wZnJj YWNoZSA8IGdsb2JhbC5jYWNoZV9zaXplICYmCistICAgICAgICBtc2l6ZSA8PSAoc2l6ZV90KWds b2JhbC5jYWNoZV9vYnNpemUpIHsKKyAgICAgICAgIGdsb2JhbC5nbXB5bXBmcmNhY2hlWyhnbG9i YWwuaW5fZ21weW1wZnJjYWNoZSkrK10gPSBzZWxmOworICAgICB9CisgICAgIGVsc2UgeworQEAg LTY4NiwyNSArNjE4LDEwIEBAIEdNUHlfTVBGUl9EZWFsbG9jKE1QRlJfT2JqZWN0ICpzZWxmKQor ICAgICB9CisgfQorIAorLXN0YXRpYyB2b2lkCistc2V0X2dtcHltcGNjYWNoZSh2b2lkKQorLXsK Ky0gICAgaWYgKGdsb2JhbC5pbl9nbXB5bXBjY2FjaGUgPiBnbG9iYWwuY2FjaGVfc2l6ZSkgewor LSAgICAgICAgaW50IGk7CistICAgICAgICBmb3IgKGkgPSBnbG9iYWwuY2FjaGVfc2l6ZTsgaSA8 IGdsb2JhbC5pbl9nbXB5bXBjY2FjaGU7ICsraSkgeworLSAgICAgICAgICAgIG1wY19jbGVhcihn bG9iYWwuZ21weW1wY2NhY2hlW2ldLT5jKTsKKy0gICAgICAgICAgICBQeU9iamVjdF9EZWwoZ2xv YmFsLmdtcHltcGNjYWNoZVtpXSk7CistICAgICAgICB9CistICAgICAgICBnbG9iYWwuaW5fZ21w eW1wY2NhY2hlID0gZ2xvYmFsLmNhY2hlX3NpemU7CistICAgIH0KKy0gICAgZ2xvYmFsLmdtcHlt cGNjYWNoZSA9IHJlYWxsb2MoZ2xvYmFsLmdtcHltcGNjYWNoZSwgc2l6ZW9mKE1QQ19PYmplY3Qp Kmdsb2JhbC5jYWNoZV9zaXplKTsKKy19CistCistCisgc3RhdGljIE1QQ19PYmplY3QgKgorIEdN UHlfTVBDX05ldyhtcGZyX3ByZWNfdCBycHJlYywgbXBmcl9wcmVjX3QgaXByZWMsIENUWFRfT2Jq ZWN0ICpjb250ZXh0KQorIHsKKy0gICAgTVBDX09iamVjdCAqc2VsZjsKKysgICAgTVBDX09iamVj dCAqcmVzdWx0OworIAorICAgICBpZiAocnByZWMgPCAyKSB7CisgICAgICAgICBDSEVDS19DT05U RVhUKGNvbnRleHQpOworQEAgLTcyMiwyOSArNjM5LDE5IEBAIEdNUHlfTVBDX05ldyhtcGZyX3By ZWNfdCBycHJlYywgbXBmcl9wcmVjX3QgaXByZWMsIENUWFRfT2JqZWN0ICpjb250ZXh0KQorICAg ICAgICAgcmV0dXJuIE5VTEw7CisgICAgIH0KKyAgICAgaWYgKGdsb2JhbC5pbl9nbXB5bXBjY2Fj aGUpIHsKKy0gICAgICAgIHNlbGYgPSBnbG9iYWwuZ21weW1wY2NhY2hlWy0tKGdsb2JhbC5pbl9n bXB5bXBjY2FjaGUpXTsKKy0gICAgICAgIC8qIFB5X0lOQ1JFRiBkb2VzIG5vdCBzZXQgdGhlIGRl YnVnZ2luZyBwb2ludGVycywgc28gbmVlZCB0byB1c2UKKy0gICAgICAgICAgIF9QeV9OZXdSZWZl cmVuY2UgaW5zdGVhZC4gKi8KKy0gICAgICAgIF9QeV9OZXdSZWZlcmVuY2UoKFB5T2JqZWN0Kilz ZWxmKTsKKy0gICAgICAgIGlmIChycHJlYyA9PSBpcHJlYykgeworLSAgICAgICAgICAgIG1wY19z ZXRfcHJlYyhzZWxmLT5jLCBycHJlYyk7CistICAgICAgICB9CistICAgICAgICBlbHNlIHsKKy0g ICAgICAgICAgICBtcGNfY2xlYXIoc2VsZi0+Yyk7CistICAgICAgICAgICAgbXBjX2luaXQzKHNl bGYtPmMsIHJwcmVjLCBpcHJlYyk7CistICAgICAgICB9CisrICAgICAgICByZXN1bHQgPSBnbG9i YWwuZ21weW1wY2NhY2hlWy0tKGdsb2JhbC5pbl9nbXB5bXBjY2FjaGUpXTsKKysgICAgICAgIFB5 X0lOQ1JFRigoUHlPYmplY3QqKXJlc3VsdCk7CisgICAgIH0KKyAgICAgZWxzZSB7CistICAgICAg ICBpZiAoIShzZWxmID0gUHlPYmplY3RfTmV3KE1QQ19PYmplY3QsICZNUENfVHlwZSkpKSB7Cist ICAgICAgICAgICAgLyogTENPVl9FWENMX1NUQVJUICovCisrICAgICAgICByZXN1bHQgPSBQeU9i amVjdF9OZXcoTVBDX09iamVjdCwgJk1QQ19UeXBlKTsKKysgICAgICAgIGlmIChyZXN1bHQgPT0g TlVMTCkgeworICAgICAgICAgICAgIHJldHVybiBOVUxMOworLSAgICAgICAgICAgIC8qIExDT1Zf RVhDTF9TVE9QICovCisgICAgICAgICB9CistICAgICAgICBtcGNfaW5pdDMoc2VsZi0+YywgcnBy ZWMsIGlwcmVjKTsKKyAgICAgfQorLSAgICBzZWxmLT5oYXNoX2NhY2hlID0gLTE7CistICAgIHNl bGYtPnJjID0gMDsKKy0gICAgcmV0dXJuIHNlbGY7CisrICAgIG1wY19pbml0MyhyZXN1bHQtPmMs IHJwcmVjLCBpcHJlYyk7CisrICAgIHJlc3VsdC0+aGFzaF9jYWNoZSA9IC0xOworKyAgICByZXN1 bHQtPnJjID0gMDsKKysgICAgcmV0dXJuIHJlc3VsdDsKKyB9CisgCisgc3RhdGljIFB5T2JqZWN0 ICoKK0BAIC05NzQsMTMgKzg4MSwxMCBAQCBHTVB5X01QQ19OZXdJbml0KFB5VHlwZU9iamVjdCAq dHlwZSwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprZXl3ZHMpCisgc3RhdGljIHZvaWQKKyBH TVB5X01QQ19EZWFsbG9jKE1QQ19PYmplY3QgKnNlbGYpCisgeworLSAgICBzaXplX3QgbXNpemU7 CisrICAgIGlmIChnbG9iYWwuaW5fZ21weW1wY2NhY2hlIDwgQ0FDSEVfU0laRSAmJgorKyAgICAg ICAgbXBjX3JlYWxyZWYoc2VsZi0+YyktPl9tcGZyX3ByZWMgPD0gTUFYX0NBQ0hFX01QRlJfQklU UyAmJgorKyAgICAgICAgbXBjX2ltYWdyZWYoc2VsZi0+YyktPl9tcGZyX3ByZWMgPD0gTUFYX0NB Q0hFX01QRlJfQklUUykgeworIAorLSAgICAvKiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBsaW1i cyBpbiB0aGUgbWFudGlzc2EuICovCistICAgIG1zaXplID0gKG1wY19yZWFscmVmKHNlbGYtPmMp LT5fbXBmcl9wcmVjICsgbXBfYml0c19wZXJfbGltYiAtIDEpIC8gbXBfYml0c19wZXJfbGltYjsK Ky0gICAgbXNpemUgKz0gKG1wY19pbWFncmVmKHNlbGYtPmMpLT5fbXBmcl9wcmVjICsgbXBfYml0 c19wZXJfbGltYiAtIDEpIC8gbXBfYml0c19wZXJfbGltYjsKKy0gICAgaWYgKGdsb2JhbC5pbl9n bXB5bXBjY2FjaGUgPCBnbG9iYWwuY2FjaGVfc2l6ZSAmJgorLSAgICAgICAgbXNpemUgPD0gKHNp emVfdClnbG9iYWwuY2FjaGVfb2JzaXplKSB7CisgICAgICAgICBnbG9iYWwuZ21weW1wY2NhY2hl WyhnbG9iYWwuaW5fZ21weW1wY2NhY2hlKSsrXSA9IHNlbGY7CisgICAgIH0KKyAgICAgZWxzZSB7 CitkaWZmIC0tZ2l0IGEvc3JjL2dtcHkyX2NhY2hlLmggYi9zcmMvZ21weTJfY2FjaGUuaAoraW5k ZXggODFlZDZjZDIuLjY1NjJjM2I5IDEwMDY0NAorLS0tIGEvc3JjL2dtcHkyX2NhY2hlLmgKKysr KyBiL3NyYy9nbXB5Ml9jYWNoZS5oCitAQCAtMzgsMTIgKzM4LDYgQEAgZXh0ZXJuICJDIiB7Cisg CisgLyogUHJpdmF0ZSBmdW5jdGlvbnMgKi8KKyAKKy1zdGF0aWMgdm9pZCAgICAgICAgICBzZXRf Z21weW1wemNhY2hlKHZvaWQpOworLXN0YXRpYyB2b2lkICAgICAgICAgIHNldF9nbXB5eG1wemNh Y2hlKHZvaWQpOworLXN0YXRpYyB2b2lkICAgICAgICAgIHNldF9nbXB5bXBxY2FjaGUodm9pZCk7 Cistc3RhdGljIHZvaWQgICAgICAgICAgc2V0X2dtcHltcGZyY2FjaGUodm9pZCk7Cistc3RhdGlj IHZvaWQgICAgICAgICAgc2V0X2dtcHltcGNjYWNoZSh2b2lkKTsKKy0KKyAvKiBDLUFQSSBmdW5j dGlvbnMgKi8KKyAKKyAvKiBzdGF0aWMgTVBaX09iamVjdCAqICBHTVB5X01QWl9OZXcoQ1RYVF9P YmplY3QgKmNvbnRleHQpOyAqLworZGlmZiAtLWdpdCBhL3NyYy9nbXB5Ml9taXNjLmMgYi9zcmMv Z21weTJfbWlzYy5jCitpbmRleCA3MGVlOWRhOC4uNjZiZjcwOTMgMTAwNjQ0CistLS0gYS9zcmMv Z21weTJfbWlzYy5jCisrKysgYi9zcmMvZ21weTJfbWlzYy5jCitAQCAtOTEsNTMgKzkxLDYgQEAg R01QeV9nZXRfbXBfbGltYnNpemUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKQorICAg ICByZXR1cm4gUHlfQnVpbGRWYWx1ZSgiaSIsIG1wX2JpdHNfcGVyX2xpbWIpOworIH0KKyAKKy0v KgorLSAqIGFjY2VzcyBjYWNoZSBvcHRpb25zCistICovCistCistUHlEb2NfU1RSVkFSKEdNUHlf ZG9jX2dldF9jYWNoZSwKKy0iZ2V0X2NhY2hlKCkgLT4gKGNhY2hlX3NpemUsIG9iamVjdF9zaXpl KVxuXG5cCistUmV0dXJuIHRoZSBjdXJyZW50IGNhY2hlIHNpemUgKG51bWJlciBvZiBvYmplY3Rz KSBhbmQgbWF4aW11bSBzaXplXG5cCistcGVyIG9iamVjdCAobnVtYmVyIG9mIGxpbWJzKSBmb3Ig YWxsIEdNUFkyIG9iamVjdHMuIik7CistCistc3RhdGljIFB5T2JqZWN0ICoKKy1HTVB5X2dldF9j YWNoZShQeU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpCisteworLSAgICByZXR1cm4gUHlf QnVpbGRWYWx1ZSgiKGlpKSIsIGdsb2JhbC5jYWNoZV9zaXplLCBnbG9iYWwuY2FjaGVfb2JzaXpl KTsKKy19CistCistUHlEb2NfU1RSVkFSKEdNUHlfZG9jX3NldF9jYWNoZSwKKy0ic2V0X2NhY2hl KGNhY2hlX3NpemUsIG9iamVjdF9zaXplKVxuXG5cCistU2V0IHRoZSBjdXJyZW50IGNhY2hlIHNp emUgKG51bWJlciBvZiBvYmplY3RzKSBhbmQgdGhlIG1heGltdW0gc2l6ZVxuXAorLXBlciBvYmpl Y3QgKG51bWJlciBvZiBsaW1icykuIFJhaXNlcyBWYWx1ZUVycm9yIGlmIGNhY2hlIHNpemUgZXhj ZWVkc1xuXAorLTEwMDAgb3Igb2JqZWN0IHNpemUgZXhjZWVkcyAxNjM4NC4iKTsKKy0KKy1zdGF0 aWMgUHlPYmplY3QgKgorLUdNUHlfc2V0X2NhY2hlKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAq YXJncykKKy17CistICAgIGludCBuZXdjYWNoZSA9IC0xLCBuZXdzaXplID0gLTE7CistCistICAg IGlmICghUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiaWkiLCAmbmV3Y2FjaGUsICZuZXdzaXplKSkK Ky0gICAgICAgIHJldHVybiBOVUxMOworLSAgICBpZiAobmV3Y2FjaGU8MCB8fCBuZXdjYWNoZT5N QVhfQ0FDSEUpIHsKKy0gICAgICAgIFZBTFVFX0VSUk9SKCJjYWNoZSBzaXplIG11c3QgYmV0d2Vl biAwIGFuZCAxMDAwIik7CistICAgICAgICByZXR1cm4gTlVMTDsKKy0gICAgfQorLSAgICBpZiAo bmV3c2l6ZTwwIHx8IG5ld3NpemU+TUFYX0NBQ0hFX0xJTUJTKSB7CistICAgICAgICBWQUxVRV9F UlJPUigib2JqZWN0IHNpemUgbXVzdCBiZXR3ZWVuIDAgYW5kIDE2Mzg0Iik7CistICAgICAgICBy ZXR1cm4gTlVMTDsKKy0gICAgfQorLQorLSAgICBnbG9iYWwuY2FjaGVfc2l6ZSA9IG5ld2NhY2hl OworLSAgICBnbG9iYWwuY2FjaGVfb2JzaXplID0gbmV3c2l6ZTsKKy0gICAgc2V0X2dtcHltcHpj YWNoZSgpOworLSAgICBzZXRfZ21weW1wcWNhY2hlKCk7CistICAgIHNldF9nbXB5eG1wemNhY2hl KCk7CistICAgIHNldF9nbXB5bXBmcmNhY2hlKCk7CistICAgIHNldF9nbXB5bXBjY2FjaGUoKTsK Ky0gICAgUHlfUkVUVVJOX05PTkU7CistfQorLQorIFB5RG9jX1NUUlZBUihHTVB5X2RvY19mdW5j dGlvbl9wcmludGYsCisgIl9wcmludGYoZm10LCB4KSAtPiBzdHJpbmdcblxuIgorICJSZXR1cm4g YSBQeXRob24gc3RyaW5nIGJ5IGZvcm1hdHRpbmcgJ3gnIHVzaW5nIHRoZSBmb3JtYXQgc3RyaW5n XG4iCitkaWZmIC0tZ2l0IGEvc3JjL2dtcHkyX21pc2MuaCBiL3NyYy9nbXB5Ml9taXNjLmgKK2lu ZGV4IGY4ZDg4ZjI4Li5jM2RlNmEyMCAxMDA2NDQKKy0tLSBhL3NyYy9nbXB5Ml9taXNjLmgKKysr KyBiL3NyYy9nbXB5Ml9taXNjLmgKK0BAIC0zNyw4ICszNyw2IEBAIHN0YXRpYyBQeU9iamVjdCAq IEdNUHlfZ2V0X21wX3ZlcnNpb24oUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzKTsKKyBz dGF0aWMgUHlPYmplY3QgKiBHTVB5X2dldF9tcGZyX3ZlcnNpb24oUHlPYmplY3QgKnNlbGYsIFB5 T2JqZWN0ICphcmdzKTsKKyBzdGF0aWMgUHlPYmplY3QgKiBHTVB5X2dldF9tcGNfdmVyc2lvbihQ eU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MpOworIHN0YXRpYyBQeU9iamVjdCAqIEdNUHlf Z2V0X21wX2xpbWJzaXplKFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncyk7Cistc3RhdGlj IFB5T2JqZWN0ICogR01QeV9nZXRfY2FjaGUoUHlPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdz KTsKKy1zdGF0aWMgUHlPYmplY3QgKiBHTVB5X3NldF9jYWNoZShQeU9iamVjdCAqc2VsZiwgUHlP YmplY3QgKmFyZ3MpOworIHN0YXRpYyBQeU9iamVjdCAqIEdNUHlfcHJpbnRmKFB5T2JqZWN0ICpz ZWxmLCBQeU9iamVjdCAqYXJncyk7CisgCisgI2lmZGVmIF9fY3BsdXNwbHVzCitkaWZmIC0tZ2l0 IGEvdGVzdC9ydW50ZXN0cy5weSBiL3Rlc3QvcnVudGVzdHMucHkKK2luZGV4IDI2MGJhMDM2Li44 OGZmNDg0YSAxMDA2NDQKKy0tLSBhL3Rlc3QvcnVudGVzdHMucHkKKysrKyBiL3Rlc3QvcnVudGVz dHMucHkKK0BAIC03MSw4ICs3MSw2IEBAIGRlZiBwYXJzZShzZWxmLCAqYXJncywgKiprd2FyZ3Mp OgorIHByaW50KCIgIE11dGxpcGxlLXByZWNpc2lvbiBsaWJyYXJ5OiAgICAgezB9Ii5mb3JtYXQo Z21weTIubXBfdmVyc2lvbigpKSkKKyBwcmludCgiICBGbG9hdGluZy1wb2ludCBsaWJyYXJ5OiAg ICAgICAgIHswfSIuZm9ybWF0KGdtcHkyLm1wZnJfdmVyc2lvbigpKSkKKyBwcmludCgiICBDb21w bGV4IGxpYnJhcnk6ICAgICAgICAgICAgICAgIHswfSIuZm9ybWF0KGdtcHkyLm1wY192ZXJzaW9u KCkpKQorLXByaW50KCIgIENhY2hpbmcgVmFsdWVzOiAoQ2FjaGUgc2l6ZSkgICAgezB9Ii5mb3Jt YXQoZ21weTIuZ2V0X2NhY2hlKClbMF0pKQorLXByaW50KCIgIENhY2hpbmcgVmFsdWVzOiAoU2l6 ZSBpbiBsaW1icykgezB9Ii5mb3JtYXQoZ21weTIuZ2V0X2NhY2hlKClbMV0pKQorIHByaW50KCkK KyAKKyBtcHpfZG9jdGVzdHMgPSBbInRlc3RfbXB6X2NyZWF0ZS50eHQiLCAidGVzdF9tcHoudHh0 IiwgInRlc3RfbXB6X2lvLnR4dCIsCitkaWZmIC0tZ2l0IGEvdGVzdC90ZXN0X21pc2MudHh0IGIv dGVzdC90ZXN0X21pc2MudHh0CitpbmRleCA4YzVhOTMzMi4uMTJmYWIzZmUgMTAwNjQ0CistLS0g YS90ZXN0L3Rlc3RfbWlzYy50eHQKKysrKyBiL3Rlc3QvdGVzdF9taXNjLnR4dAorQEAgLTI0LDM4 ICsyNCwzIEBAIFRydWUKKyA+Pj4gZ21weTIubGljZW5zZSgpCisgJ1RoZSBHTVBZMiBzb3VyY2Ug Y29kZSBpcyBsaWNlbnNlZCB1bmRlciBMR1BMIDMgb3IgbGF0ZXIuIFRoZSBzdXBwb3J0ZWQgdmVy c2lvbnMgb2YgdGhlIEdNUCwgTVBGUiwgYW5kIE1QQyBsaWJyYXJpZXMgYXJlIGFsc28gbGljZW5z ZWQgdW5kZXIgTEdQTCAzIG9yIGxhdGVyLicKKyAKKy0+Pj4gZ21weTIuZ2V0X2NhY2hlKCkKKy0o MTAwLCAxMjgpCistPj4+IGdtcHkyLmRpdm0oNSw3LDEzKQorLW1weigxMCkKKy0+Pj4gZ21weTIu c2V0X2NhY2hlKDAsMTYpCistPj4+IGdtcHkyLmdldF9jYWNoZSgpCistKDAsIDE2KQorLT4+PiBm b3IgaSBpbiByYW5nZSgxMDAwKTogYT1tcHooaSkKKy0+Pj4gZGVsKGEpCistPj4+IGdtcHkyLnNl dF9jYWNoZSgxMDAsMTI4KQorLT4+PiBnbXB5Mi5nZXRfY2FjaGUoKQorLSgxMDAsIDEyOCkKKy0+ Pj4gZ21weTIuc2V0X2NhY2hlKCdhJywgMTI4KQorLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2Fs bCBsYXN0KToKKy0gIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CistVHlwZUVy cm9yOiAqKiBtZXNzYWdlIGRldGFpbCB2YXJpZXMgKioKKy0+Pj4gZ21weTIuc2V0X2NhY2hlKC0x MCwgMTI4KQorLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKy0gIEZpbGUgIjxz dGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CistVmFsdWVFcnJvcjogKiogbWVzc2FnZSBkZXRh aWwgdmFyaWVzICoqCistPj4+IGdtcHkyLnNldF9jYWNoZSgxMDAwMCwgMTI4KQorLVRyYWNlYmFj ayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKKy0gIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGlu IDxtb2R1bGU+CistVmFsdWVFcnJvcjogKiogbWVzc2FnZSBkZXRhaWwgdmFyaWVzICoqCistPj4+ IGdtcHkyLnNldF9jYWNoZSgxMDAsIC0xKQorLVRyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBs YXN0KToKKy0gIEZpbGUgIjxzdGRpbj4iLCBsaW5lIDEsIGluIDxtb2R1bGU+CistVmFsdWVFcnJv cjogKiogbWVzc2FnZSBkZXRhaWwgdmFyaWVzICoqCistPj4+IGdtcHkyLnNldF9jYWNoZSgxMDAs IDEwMDAwMCkKKy1UcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwgbGFzdCk6CistICBGaWxlICI8 c3RkaW4+IiwgbGluZSAxLCBpbiA8bW9kdWxlPgorLVZhbHVlRXJyb3I6ICoqIG1lc3NhZ2UgZGV0 YWlsIHZhcmllcyAqKgorLT4+PiAxCistMQorLQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24z LWdtcHkyL3BhdGNoZXMvZXhjbHVkZS1tcGZyLXdvcmthcm91bmQtZm9yLW1wZnItNC4yLjEucGF0 Y2ggYi9zcmNwa2dzL3B5dGhvbjMtZ21weTIvcGF0Y2hlcy9leGNsdWRlLW1wZnItd29ya2Fyb3Vu ZC1mb3ItbXBmci00LjIuMS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAwLi41YThhMTMzNmFiZTAxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9weXRob24z LWdtcHkyL3BhdGNoZXMvZXhjbHVkZS1tcGZyLXdvcmthcm91bmQtZm9yLW1wZnItNC4yLjEucGF0 Y2gKQEAgLTAsMCArMSwzNyBAQAorVGhpcyBpcyBuZWVkZWQgZm9yIG1wZnIgNC4yLjEuCisKK1Nl ZToKK2h0dHBzOi8vZ2l0aHViLmNvbS9hbGVheGl0L2dtcHkvaXNzdWVzLzQxOAoraHR0cHM6Ly9n aXRodWIuY29tL2FsZWF4aXQvZ21weS9wdWxsLzQyMgorCitGcm9tIDY4YTZiNDg5YzNkOGQ5NWIy NjU4YTFlZDg4NGZiOTlmNGJkOTU1YzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBT ZXJnZXkgQiBLaXJwaWNoZXYgPHNraXJwaWNoZXZAZ21haWwuY29tPgorRGF0ZTogU3VuLCAzIFNl cCAyMDIzIDAyOjM1OjE5ICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIEV4Y2x1ZGUgTVBGUiB3b3Jr YXJvdW5kIGZvciBNUEZSID49IDQuMi4xCisKK0NvLWF1dGhvcmVkLWJ5OiBWaW5jZW50IExlZmV2 cmUgPHZpbmNlbnRAdmluYzE3Lm5ldD4KKworQ2xvc2VzICM0MTgKKy0tLQorIHNyYy9nbXB5Ml9m b3JtYXQuYyB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCisKK2RpZmYg LS1naXQgYS9zcmMvZ21weTJfZm9ybWF0LmMgYi9zcmMvZ21weTJfZm9ybWF0LmMKK2luZGV4IDNl NDUwYzk2Li4zMDNiYjdiZiAxMDA2NDQKKy0tLSBhL3NyYy9nbXB5Ml9mb3JtYXQuYworKysrIGIv c3JjL2dtcHkyX2Zvcm1hdC5jCitAQCAtNTkyLDEyICs1OTIsMTQgQEAgR01QeV9NUENfRm9ybWF0 KFB5T2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncykKKyAgICAgaWYgKG1wY3N0eWxlKQorICAg ICAgICAgc3RyY2F0KHRlbXBidWYsICIgIik7CisgICAgIGVsc2UgeworKyNpZiBNUEZSX1ZFUlNJ T04gPCBNUEZSX1ZFUlNJT05fTlVNKDQsMiwxKQorICAgICAgICAgLyogTmVlZCB0byBpbnNlcnQg KyBpZiBpbWFnIGlzIG5hbiBvciAraW5mLiAqLworICAgICAgICAgaWYgKG1wZnJfbmFuX3AobXBj X2ltYWdyZWYoTVBDKHNlbGYpKSkgfHwKKyAgICAgICAgICAgICAobXBmcl9pbmZfcChtcGNfaW1h Z3JlZihNUEMoc2VsZikpKSAmJgorICAgICAgICAgICAgICBtcGZyX3NnbihtcGNfaW1hZ3JlZihN UEMoc2VsZikpKSA+IDApKSB7CisgICAgICAgICAgICAgc3RyY2F0KHRlbXBidWYsICIrIik7Cisg ICAgICAgICB9CisrI2VuZGlmCisgICAgIH0KKyAgICAgc3RyY2F0KHRlbXBidWYsIGltYWdidWYp OworICAgICBpZiAoc3RybGVuKGltYWdidWYpIDwgNTAgJiYKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cHl0aG9uMy1nbXB5Mi90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1nbXB5Mi90ZW1wbGF0ZQpp bmRleCA4NWIzMzY0MzViMGNkLi5iYzNhZjFmY2Q3ZDZhIDEwMDY0NAotLS0gYS9zcmNwa2dzL3B5 dGhvbjMtZ21weTIvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9weXRob24zLWdtcHkyL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncHl0aG9uMy1nbXB5MicKIHBr Z25hbWU9cHl0aG9uMy1nbXB5MgogdmVyc2lvbj0yLjEuNQotcmV2aXNpb249MQorcmV2aXNpb249 MgogYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKIGhvc3RtYWtlZGVwZW5kcz0icHl0aG9uMy1z ZXR1cHRvb2xzIgogbWFrZWRlcGVuZHM9InB5dGhvbjMtZGV2ZWwgZ21wLWRldmVsIG1wZnItZGV2 ZWwgbGlibXBjLWRldmVsIgo= --===============9204702463698230569==--