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 32447 invoked from network); 29 Dec 2023 02:19:14 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 29 Dec 2023 02:19:14 -0000 Content-Type: multipart/mixed; boundary="===============8520681931922676677==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_tesseract-ocr=3A_update_to_5=2E3=2E2?= To: ml@inbox.vuxu.org From: chrysos349 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Fri, 29 Dec 2023 03:19:13 +0100 List-Id: Message-ID: <20231229021913.S1j-m05uYB-D8Zaesbl6YHJPLuyVeAadWZa2Zx32RLg@z> GitHub notification mails are now in MIME to allow UTF8. --===============8520681931922676677== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgY2hyeXNvczM0OSBhZ2FpbnN0IG1h c3RlciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20v Y2hyeXNvczM0OS92b2lkLXBhY2thZ2VzIHRlc3NlcmFjdC1vY3IKaHR0cHM6Ly9naXRodWIuY29t L3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ2MTI0Cgp0ZXNzZXJhY3Qtb2NyOiB1cGRh dGUgdG8gNS4zLjIKQG5ld2JsdWVtb29uDQpgY2NleHRyYWN0b3JgIHdhcyB1cGRhdGVkIHRvIHRo ZSBsYXRlc3QgdmVyc2lvbiwgYmVjYXVzZSBpdCBoYWQgdG8gYmUgcmVidWlsdCBmb3IgdGVzc2Vy YWN0LW9jci01LjMuMiBhbnl3YXkuDQoNCkBQaXJhdHkgDQpgYXJjYW5gIHdhcyByZXZidW1wZWQg Zm9yIHRlc3NlcmFjdC1vY3ItNS4zLjIgLg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5nZXMNCi0g SSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipZRVMqKg0KDQojIyMjIExvY2FsIGJ1 aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNo aXRlY3R1cmUsICh4ODZfNjQpDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciB0aGVzZSBh cmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOiANCiAgLSBpNjg2 DQogIC0gYWFyY2g2NA0KICAtIGFybXY3bA0KICAtIHg4Nl82NC1tdXNsDQogIC0gYXJtdjZsLW11 c2wNCiAgLSBhYXJjaDY0LW11c2wKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNv bS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80NjEyNC5wYXRjaCBpcyBhdHRhY2hlZA== --===============8520681931922676677== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-tesseract-ocr-46124.patch" RnJvbSBmOGUwZjQyMTllZmUzMGRjMDg5NDZjNDhiNTc3YjliMTIwYWJkOWRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjaHJ5c29zMzQ5IDxjaHJ5c29zdG9tMzQ5QGdtYWlsLmNvbT4K RGF0ZTogVHVlLCAxOSBTZXAgMjAyMyAwNDowMzo1OSArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMS80 XSBsZXB0b25pY2E6IHVwZGF0ZSB0byAxLjg0LjAKCi0tLQogY29tbW9uL3NobGlicyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIC4uLi9wYXRjaGVzL2ZpeC1mbGFreS10 ZXN0LW9uLWk2ODYucGF0Y2ggICAgICB8IDcwIC0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3BrZ3Mv bGVwdG9uaWNhL3RlbXBsYXRlICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrLS0KIDMgZmls ZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNzYgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9sZXB0b25pY2EvcGF0Y2hlcy9maXgtZmxha3ktdGVzdC1vbi1pNjg2 LnBhdGNoCgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXgg YzlkNTllZjNiOTdjYS4uMTZjZTU5MWFhMzU5MiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicwor KysgYi9jb21tb24vc2hsaWJzCkBAIC0yMjk0LDcgKzIyOTQsNyBAQCBsaWJPa3RldGEzR3VpLnNv LjAgb2t0ZXRhLTAuMjYuMF8xCiBsaWJodHRwX3BhcnNlci5zby4yLjkgaHR0cC1wYXJzZXItMi45 LjBfMQogbGlibWFhLnNvLjQgbGlibWFhLTEuNC4yXzEKIGxpYmNvZGVibG9ja3Muc28uMCBjb2Rl YmxvY2tzLTEzLjEyXzEKLWxpYmxlcHQuc28uNSBsZXB0b25pY2EtMS43M18xCitsaWJsZXB0b25p Y2Euc28uNiBsZXB0b25pY2EtMS44My4xXzEKIGxpYnRlc3NlcmFjdC5zby40IHRlc3NlcmFjdC1v Y3ItNC4wLjBfMQogbGliZmZtcGVndGh1bWJuYWlsZXIuc28uNCBmZm1wZWd0aHVtYm5haWxlci0y LjAuMTBfMQogbGlib3BlbnJhdy5zby43IGxpYm9wZW5yYXctMC4xLjBfMQpkaWZmIC0tZ2l0IGEv c3JjcGtncy9sZXB0b25pY2EvcGF0Y2hlcy9maXgtZmxha3ktdGVzdC1vbi1pNjg2LnBhdGNoIGIv c3JjcGtncy9sZXB0b25pY2EvcGF0Y2hlcy9maXgtZmxha3ktdGVzdC1vbi1pNjg2LnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZWMxYTI0ODJmNDE0Li4wMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvbGVwdG9uaWNhL3BhdGNoZXMvZml4LWZsYWt5LXRlc3Qtb24taTY4Ni5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcwICswLDAgQEAKLUZyb20gZWEyYmI4YzljZjYxZDNl YmEyNTg5Y2ZhYWMwNWY1OWEzM2I0MTEwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IGRhbmJsb29vbWJlcmcgPGRhbi5ibG9vbWJlcmdAZ21haWwuY29tPgotRGF0ZTogU3VuLCAxNCBO b3YgMjAyMSAxNDo1MjoyNCAtMDgwMAotU3ViamVjdDogW1BBVENIXSBGaXggZmxha3kgaGFzaF9y ZWcgdGVzdCBvbiBpNjg2ICogVGhlIHNldHMgdGhhdCBhcmUgZ2VuZXJhdGVkCi0gZnJvbSAqU2Vs ZWN0UmFuZ2UoKSBmdW5jdGlvbnMgY2FuIGRlcGVuZCBvbiAgIHRoZSBwbGF0Zm9ybSwgcmVzdWx0 aW5nIGluCi0gaW50ZXJzZWN0aW9uIHNpemVzIHRoYXQgZGlmZmVyIGJ5IDEuICogU28sIGxvb3Nl biB0aGUgY29tcGFyaXNvbiB0byBhbGxvdyBhCi0gZGlmZmVyZW5jZSBvZiAxLgotCi0tLS0KLSBw cm9nL2hhc2hfcmVnLmMgfCAxMiArKysrKystLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNl cnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHJvZy9oYXNoX3JlZy5j IGIvcHJvZy9oYXNoX3JlZy5jCi1pbmRleCA4YjQwOGQ2ZC4uMzQxNGJhOTAgMTAwNjQ0Ci0tLS0g YS9wcm9nL2hhc2hfcmVnLmMKLSsrKyBiL3Byb2cvaGFzaF9yZWcuYwotQEAgLTEwMCw3ICsxMDAs NyBAQCBMX1JFR1BBUkFNUyAgKnJwOwotICAgICBzYXJyYXlJbnRlcnNlY3Rpb25CeUFzZXQoc2Ex LCBzYTIsICZzYTMpOwotICAgICBjMSA9IHNhcnJheUdldENvdW50KHNhMyk7Ci0gICAgIHNhcnJh eURlc3Ryb3koJnNhMyk7Ci0tICAgIHJlZ1Rlc3RDb21wYXJlVmFsdWVzKHJwLCBzdHJpbmdfaW50 ZXJzZWN0aW9uLCBjMSwgMCk7ICAvKiAyICovCi0rICAgIHJlZ1Rlc3RDb21wYXJlVmFsdWVzKHJw LCBzdHJpbmdfaW50ZXJzZWN0aW9uLCBjMSwgMSk7ICAvKiAyICovCi0gICAgIGlmIChycC0+ZGlz cGxheSkgbGVwdF9zdGRlcnIoIiAgYXNldDogaW50ZXJzZWN0aW9uIHNpemUgPSAlZFxuIiwgYzEp OwotICAgICBzYXJyYXlVbmlvbkJ5QXNldChzYTEsIHNhMiwgJnNhMyk7Ci0gICAgIGMxID0gc2Fy cmF5R2V0Q291bnQoc2EzKTsKLUBAIC0xMjMsNyArMTIzLDcgQEAgTF9SRUdQQVJBTVMgICpycDsK LSAgICAgc2FycmF5SW50ZXJzZWN0aW9uQnlIbWFwKHNhMSwgc2EyLCAmc2EzKTsKLSAgICAgYzEg PSBzYXJyYXlHZXRDb3VudChzYTMpOwotICAgICBzYXJyYXlEZXN0cm95KCZzYTMpOwotLSAgICBy ZWdUZXN0Q29tcGFyZVZhbHVlcyhycCwgc3RyaW5nX2ludGVyc2VjdGlvbiwgYzEsIDApOyAgLyog NiAqLwotKyAgICByZWdUZXN0Q29tcGFyZVZhbHVlcyhycCwgc3RyaW5nX2ludGVyc2VjdGlvbiwg YzEsIDEpOyAgLyogNiAqLwotICAgICBpZiAocnAtPmRpc3BsYXkpIGxlcHRfc3RkZXJyKCIgIGht YXA6IGludGVyc2VjdGlvbiBzaXplID0gJWRcbiIsIGMxKTsKLSAgICAgc2FycmF5VW5pb25CeUht YXAoc2ExLCBzYTIsICZzYTMpOwotICAgICBjMSA9IHNhcnJheUdldENvdW50KHNhMyk7Ci1AQCAt MTYwLDcgKzE2MCw3IEBAIExfUkVHUEFSQU1TICAqcnA7Ci0gICAgIHB0YUludGVyc2VjdGlvbkJ5 QXNldChwdGExLCBwdGEyLCAmcHRhMyk7Ci0gICAgIGMxID0gcHRhR2V0Q291bnQocHRhMyk7Ci0g ICAgIHB0YURlc3Ryb3koJnB0YTMpOwotLSAgICByZWdUZXN0Q29tcGFyZVZhbHVlcyhycCwgcHRh X2ludGVyc2VjdGlvbiwgYzEsIDApOyAgLyogMTAgKi8KLSsgICAgcmVnVGVzdENvbXBhcmVWYWx1 ZXMocnAsIHB0YV9pbnRlcnNlY3Rpb24sIGMxLCAxKTsgIC8qIDEwICovCi0gICAgIGlmIChycC0+ ZGlzcGxheSkgbGVwdF9zdGRlcnIoIiAgYXNldDogaW50ZXJzZWN0aW9uIHNpemUgPSAlZFxuIiwg YzEpOwotICAgICBwdGFVbmlvbkJ5QXNldChwdGExLCBwdGEyLCAmcHRhMyk7Ci0gICAgIGMxID0g cHRhR2V0Q291bnQocHRhMyk7Ci1AQCAtMTgyLDcgKzE4Miw3IEBAIExfUkVHUEFSQU1TICAqcnA7 Ci0gICAgIHB0YUludGVyc2VjdGlvbkJ5SG1hcChwdGExLCBwdGEyLCAmcHRhMyk7Ci0gICAgIGMx ID0gcHRhR2V0Q291bnQocHRhMyk7Ci0gICAgIHB0YURlc3Ryb3koJnB0YTMpOwotLSAgICByZWdU ZXN0Q29tcGFyZVZhbHVlcyhycCwgcHRhX2ludGVyc2VjdGlvbiwgYzEsIDApOyAgLyogMTQgKi8K LSsgICAgcmVnVGVzdENvbXBhcmVWYWx1ZXMocnAsIHB0YV9pbnRlcnNlY3Rpb24sIGMxLCAxKTsg IC8qIDE0ICovCi0gICAgIGlmIChycC0+ZGlzcGxheSkgbGVwdF9zdGRlcnIoIiAgaG1hcDogaW50 ZXJzZWN0aW9uIHNpemUgPSAlZFxuIiwgYzEpOwotICAgICBwdGFVbmlvbkJ5SG1hcChwdGExLCBw dGEyLCAmcHRhMyk7Ci0gICAgIGMxID0gcHRhR2V0Q291bnQocHRhMyk7Ci1AQCAtMjIwLDcgKzIy MCw3IEBAIExfUkVHUEFSQU1TICAqcnA7Ci0gICAgIGxfZG5hSW50ZXJzZWN0aW9uQnlBc2V0KGRh MSwgZGEyLCAmZGEzKTsKLSAgICAgYzEgPSBsX2RuYUdldENvdW50KGRhMyk7Ci0gICAgIGxfZG5h RGVzdHJveSgmZGEzKTsKLS0gICAgcmVnVGVzdENvbXBhcmVWYWx1ZXMocnAsIGRhX2ludGVyc2Vj dGlvbiwgYzEsIDApOyAgLyogMTggKi8KLSsgICAgcmVnVGVzdENvbXBhcmVWYWx1ZXMocnAsIGRh X2ludGVyc2VjdGlvbiwgYzEsIDEpOyAgLyogMTggKi8KLSAgICAgaWYgKHJwLT5kaXNwbGF5KSBs ZXB0X3N0ZGVycigiICBhc2V0OiBpbnRlcnNlY3Rpb24gc2l6ZSA9ICVkXG4iLCBjMSk7Ci0gICAg IGxfZG5hVW5pb25CeUFzZXQoZGExLCBkYTIsICZkYTMpOwotICAgICBjMSA9IGxfZG5hR2V0Q291 bnQoZGEzKTsKLUBAIC0yNDIsNyArMjQyLDcgQEAgTF9SRUdQQVJBTVMgICpycDsKLSAgICAgbF9k bmFJbnRlcnNlY3Rpb25CeUhtYXAoZGExLCBkYTIsICZkYTMpOwotICAgICBjMSA9IGxfZG5hR2V0 Q291bnQoZGEzKTsKLSAgICAgbF9kbmFEZXN0cm95KCZkYTMpOwotLSAgICByZWdUZXN0Q29tcGFy ZVZhbHVlcyhycCwgZGFfaW50ZXJzZWN0aW9uLCBjMSwgMCk7ICAvKiAyMiAqLwotKyAgICByZWdU ZXN0Q29tcGFyZVZhbHVlcyhycCwgZGFfaW50ZXJzZWN0aW9uLCBjMSwgMSk7ICAvKiAyMiAqLwot ICAgICBpZiAocnAtPmRpc3BsYXkpIGxlcHRfc3RkZXJyKCIgIGhtYXA6IGludGVyc2VjdGlvbiBz aXplID0gJWRcbiIsIGMxKTsKLSAgICAgbF9kbmFVbmlvbkJ5SG1hcChkYTEsIGRhMiwgJmRhMyk7 Ci0gICAgIGMxID0gbF9kbmFHZXRDb3VudChkYTMpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sZXB0 b25pY2EvdGVtcGxhdGUgYi9zcmNwa2dzL2xlcHRvbmljYS90ZW1wbGF0ZQppbmRleCAxNzI1NmI3 YjE1N2I0Li5mMmM1NzY2NDE1YzU2IDEwMDY0NAotLS0gYS9zcmNwa2dzL2xlcHRvbmljYS90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL2xlcHRvbmljYS90ZW1wbGF0ZQpAQCAtMSw5ICsxLDkgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ2xlcHRvbmljYScKIHBrZ25hbWU9bGVwdG9uaWNhCi12ZXJzaW9u PTEuODIuMAotcmV2aXNpb249MgordmVyc2lvbj0xLjg0LjAKK3JldmlzaW9uPTEKIGJ1aWxkX3N0 eWxlPWdudS1jb25maWd1cmUKLWhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKK2hvc3RtYWtl ZGVwZW5kcz0icGtnLWNvbmZpZyBhdXRvbWFrZSBsaWJ0b29sIgogbWFrZWRlcGVuZHM9ImxpYm9w ZW5qcGVnMi1kZXZlbCBsaWJ3ZWJwLWRldmVsIgogY2hlY2tkZXBlbmRzPSJ3aGljaCBnbnVwbG90 Igogc2hvcnRfZGVzYz0iSW1hZ2UgcHJvY2Vzc2luZyBhbmQgYW5hbHlzaXMgbGlicmFyeSIKQEAg LTExLDggKzExLDIxIEBAIG1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9y Zz4iCiBsaWNlbnNlPSJCU0QtMi1DbGF1c2UiCiBob21lcGFnZT0iaHR0cDovL2xlcHRvbmljYS5v cmcvIgogY2hhbmdlbG9nPSJodHRwOi8vbGVwdG9uaWNhLm9yZy9zb3VyY2UvdmVyc2lvbi1ub3Rl cy5odG1sIgotZGlzdGZpbGVzPSJodHRwOi8vbGVwdG9uaWNhLm9yZy9zb3VyY2UvJHtwa2duYW1l fS0ke3ZlcnNpb259LnRhci5neiIKLWNoZWNrc3VtPTE1NTMwMmVlOTE0NjY4YzI3YjZmZTNjYTlm ZjJkYTYzYjI0NWY2ZDYyZjMwNjFjOGYyNzU2Mzc3NGI4YWUyZDYKK2Rpc3RmaWxlcz0iaHR0cHM6 Ly9naXRodWIuY29tL0RhbkJsb29tYmVyZy9sZXB0b25pY2EvYXJjaGl2ZS8ke3ZlcnNpb259LnRh ci5neiIKK2NoZWNrc3VtPTQ0MGU2YmIxYjExZTM4NTMxMGIzMWZhYjI1MDVjOWIwZTA4MzVhNDJm MmZjOTg1YzJmNzljODFhODY4NGZmOTgKKworcHJlX2NoZWNrKCkgeworCSMgZGlzYWJsZSBmYWls aW5nIHRlc3RzCisJdnNlZCAtaSBwcm9nL01ha2VmaWxlLmFtIFwKKwkJLWUgInMvYm94YTNfcmVn Ly8iIFwKKwkJLWUgInMvcHJvamVjdGlvbl9yZWcvLyIgXAorCQktZSAicy9yYW5raGlzdG9fcmVn Ly8iIFwKKwkJLWUgInMvcmFua2Jpbl9yZWcvLyIKK30KKworcHJlX2NvbmZpZ3VyZSgpIHsKKwku L2F1dG9nZW4uc2gKK30KIAogcG9zdF9pbnN0YWxsKCkgewogCXZkb2MgbW9sbGVyNTIuanBnCkBA IC0yOCw2ICs0MSw3IEBAIGxlcHRvbmljYS1kZXZlbF9wYWNrYWdlKCkgewogCQl2bW92ZSB1c3Iv bGliL2NtYWtlCiAJCXZtb3ZlIHVzci9saWIvcGtnY29uZmlnCiAJCXZtb3ZlICJ1c3IvbGliLyou c28iCisJCXZtb3ZlICJ1c3IvbGliLyouYSIKIAkJdmRvYyBzdHlsZS1ndWlkZS50eHQKIAl9CiB9 CgpGcm9tIGQ2Y2VlNzg3NmFjZGM5ZTY2NTU0YTUzYWMzZjg1NjkyNDI3YjFiNmMgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IGNocnlzb3MzNDkgPGNocnlzb3N0b20zNDlAZ21haWwuY29t PgpEYXRlOiBUdWUsIDE5IFNlcCAyMDIzIDA0OjA3OjUwICswMzAwClN1YmplY3Q6IFtQQVRDSCAy LzRdIHRlc3NlcmFjdC1vY3I6IHVwZGF0ZSB0byA1LjMuMwoKLS0tCiBjb21tb24vc2hsaWJzICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogLi4uL3t0ZXNzZXJhY3Qtb2Ny LWt1ciA9PiB0ZXNzZXJhY3Qtb2NyLWttcn0gIHwgIDAKIHNyY3BrZ3MvdGVzc2VyYWN0LW9jci1r dXJfYXJhICAgICAgICAgICAgICAgICB8ICAxIC0KIHNyY3BrZ3MvdGVzc2VyYWN0LW9jci9maWxl cy9DT1BZSU5HICAgICAgICAgICB8IDE0IC0tLS0tLQogLi4uL3Rlc3NlcmFjdC1vY3IvcGF0Y2hl cy9kaXNhYmxlLW5lb24ucGF0Y2ggIHwgMTQgKysrKysrCiAuLi4vdGVzc2VyYWN0LW9jci9wYXRj aGVzL211c2wtc3lzLXRpbWUucGF0Y2ggfCAxNyArKysrLS0tCiBzcmNwa2dzL3Rlc3NlcmFjdC1v Y3IvdGVtcGxhdGUgICAgICAgICAgICAgICAgfCA0OSArKysrKysrKy0tLS0tLS0tLS0tCiA3IGZp bGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9ucygtKQogcmVuYW1lIHNy Y3BrZ3Mve3Rlc3NlcmFjdC1vY3Ita3VyID0+IHRlc3NlcmFjdC1vY3Ita21yfSAoMTAwJSkKIGRl bGV0ZSBtb2RlIDEyMDAwMCBzcmNwa2dzL3Rlc3NlcmFjdC1vY3Ita3VyX2FyYQogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvdGVzc2VyYWN0LW9jci9maWxlcy9DT1BZSU5HCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3BhdGNoZXMvZGlzYWJsZS1uZW9uLnBhdGNo CgpkaWZmIC0tZ2l0IGEvY29tbW9uL3NobGlicyBiL2NvbW1vbi9zaGxpYnMKaW5kZXggMTZjZTU5 MWFhMzU5Mi4uZWEyODczZTZjZDA4NSAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGlicworKysgYi9j b21tb24vc2hsaWJzCkBAIC0yMjk1LDcgKzIyOTUsNyBAQCBsaWJodHRwX3BhcnNlci5zby4yLjkg aHR0cC1wYXJzZXItMi45LjBfMQogbGlibWFhLnNvLjQgbGlibWFhLTEuNC4yXzEKIGxpYmNvZGVi bG9ja3Muc28uMCBjb2RlYmxvY2tzLTEzLjEyXzEKIGxpYmxlcHRvbmljYS5zby42IGxlcHRvbmlj YS0xLjgzLjFfMQotbGlidGVzc2VyYWN0LnNvLjQgdGVzc2VyYWN0LW9jci00LjAuMF8xCitsaWJ0 ZXNzZXJhY3Quc28uNSB0ZXNzZXJhY3Qtb2NyLTUuMy4yXzEKIGxpYmZmbXBlZ3RodW1ibmFpbGVy LnNvLjQgZmZtcGVndGh1bWJuYWlsZXItMi4wLjEwXzEKIGxpYm9wZW5yYXcuc28uNyBsaWJvcGVu cmF3LTAuMS4wXzEKIGxpYm9wZW5yYXdnbm9tZS5zby43IGxpYm9wZW5yYXctMC4xLjBfMQpkaWZm IC0tZ2l0IGEvc3JjcGtncy90ZXNzZXJhY3Qtb2NyLWt1ciBiL3NyY3BrZ3MvdGVzc2VyYWN0LW9j ci1rbXIKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIHNyY3BrZ3MvdGVzc2VyYWN0 LW9jci1rdXIKcmVuYW1lIHRvIHNyY3BrZ3MvdGVzc2VyYWN0LW9jci1rbXIKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvdGVzc2VyYWN0LW9jci1rdXJfYXJhIGIvc3JjcGtncy90ZXNzZXJhY3Qtb2NyLWt1 cl9hcmEKZGVsZXRlZCBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDc5YmNmMTVmMDViYTUuLjAwMDAw MDAwMDAwMDAKLS0tIGEvc3JjcGtncy90ZXNzZXJhY3Qtb2NyLWt1cl9hcmEKKysrIC9kZXYvbnVs bApAQCAtMSArMCwwIEBACi10ZXNzZXJhY3Qtb2NyClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL2ZpbGVzL0NPUFlJTkcgYi9zcmNw a2dzL3Rlc3NlcmFjdC1vY3IvZmlsZXMvQ09QWUlORwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMTFlMDVhZjQyNWZjOC4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3Rlc3NlcmFj dC1vY3IvZmlsZXMvQ09QWUlORworKysgL2Rldi9udWxsCkBAIC0xLDE0ICswLDAgQEAKLVRoaXMg cmVwb3NpdG9yeSBjb250YWlucyBsYW5ndWFnZSBkYXRhIGZvciBUZXNzZXJhY3QgT3BlbiBTb3Vy Y2UKLU9DUiBFbmdpbmUuIEFsbCBkYXRhIGluIHRoZSByZXBvc2l0b3J5IGFyZSBsaWNlbnNlZCB1 bmRlciB0aGUgQXBhY2hlIAotTGljZW5zZToKLQotKiogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNo ZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7Ci0qKiB5b3UgbWF5IG5vdCB1 c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0qKiBZ b3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKLSoqIGh0dHA6Ly93d3cuYXBh Y2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotKiogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxp Y2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotKiogZGlzdHJpYnV0 ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywK LSoqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIg ZXhwcmVzcyBvciBpbXBsaWVkLgotKiogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMg bGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotKiogbGltaXRhdGlvbnMgdW5kZXIg dGhlIExpY2Vuc2UuCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdGVzc2VyYWN0LW9jci9wYXRjaGVz L2Rpc2FibGUtbmVvbi5wYXRjaCBiL3NyY3BrZ3MvdGVzc2VyYWN0LW9jci9wYXRjaGVzL2Rpc2Fi bGUtbmVvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi5k NDkxZWYxZTQ3YjgxCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3Bh dGNoZXMvZGlzYWJsZS1uZW9uLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKKy0tLSBhL2NvbmZpZ3Vy ZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMTc3LDYgKzE3NywxMSBAQAorICAgICBBQ19E RUZJTkUoW0hBVkVfTkVPTl0sIFsxXSwgW0VuYWJsZSBORU9OIGluc3RydWN0aW9uc10pCisgICAg IDs7CisgCisrICBhcm18YXJtdjdsKQorKworKyAgICBBQ19NU0dfV0FSTihbTm8gY29tcGlsZXIg b3B0aW9ucyBmb3IgJGhvc3RfY3B1XSkKKysgICAgOzsKKysKKyAgIGFybSopCisgCisgICAgIEFY X0NIRUNLX0NPTVBJTEVfRkxBRyhbLW1mcHU9bmVvbl0sIFtuZW9uPXRydWVdLCBbbmVvbj1mYWxz ZV0sIFskV0VSUk9SXSkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdGVzc2VyYWN0LW9jci9wYXRjaGVz L211c2wtc3lzLXRpbWUucGF0Y2ggYi9zcmNwa2dzL3Rlc3NlcmFjdC1vY3IvcGF0Y2hlcy9tdXNs LXN5cy10aW1lLnBhdGNoCmluZGV4IDljNjMzN2QxODg2MzkuLjVjNzU4NjQyNDhmZTggMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvdGVzc2VyYWN0LW9jci9wYXRjaGVzL211c2wtc3lzLXRpbWUucGF0Y2gK KysrIGIvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3BhdGNoZXMvbXVzbC1zeXMtdGltZS5wYXRjaApA QCAtMSwxMiArMSwxMyBAQAotLS0tIGEvc3JjL2NjdXRpbC9vY3JjbGFzcy5oCTIwMTktMDctMDcg MTQ6MzQ6MDguMDAwMDAwMDAwICswMjAwCi0rKysgYi9zcmMvY2N1dGlsL29jcmNsYXNzLmgJMjAx OS0wNy0wOCAxMDo0NzoxNS4zNDc0MTU4ODggKzAyMDAKLUBAIC0zMSw2ICszMSw5IEBACi0gI2lm ZGVmIF9XSU4zMgotICNpbmNsdWRlIDx3aW5zb2NrMi5oPiAvLyBmb3IgdGltZXZhbAotICNlbmRp ZgorLS0tIGEvaW5jbHVkZS90ZXNzZXJhY3Qvb2NyY2xhc3MuaAorKysrIGIvaW5jbHVkZS90ZXNz ZXJhY3Qvb2NyY2xhc3MuaAorQEAgLTI5LDYgKzI5LDEwIEBACisgCisgI2luY2x1ZGUgPGNocm9u bz4KKyAjaW5jbHVkZSA8Y3RpbWU+CiArI2lmbmRlZiBfX0dMSUJDX18KICsjaW5jbHVkZSA8c3lz L3RpbWUuaD4KICsjZW5kaWYKKysKKyAKKyBuYW1lc3BhY2UgdGVzc2VyYWN0IHsKICAKLSAvKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKgotICAqIEVBTllDT0RFX0NIQVIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdGVzc2Vy YWN0LW9jci90ZW1wbGF0ZSBiL3NyY3BrZ3MvdGVzc2VyYWN0LW9jci90ZW1wbGF0ZQppbmRleCBk ZTZkZjNhNzY4ZDMxLi43N2M0YThiYWVlY2I2IDEwMDY0NAotLS0gYS9zcmNwa2dzL3Rlc3NlcmFj dC1vY3IvdGVtcGxhdGUKKysrIGIvc3JjcGtncy90ZXNzZXJhY3Qtb2NyL3RlbXBsYXRlCkBAIC0x LDE0ICsxLDE1IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd0ZXNzZXJhY3Qtb2NyJwogcGtnbmFt ZT10ZXNzZXJhY3Qtb2NyCi12ZXJzaW9uPTQuMS4xCi1yZXZpc2lvbj05Ci1fdGVzc2RhdGF2ZXI9 NC4wLjAKK3ZlcnNpb249NS4zLjMKK3JldmlzaW9uPTEKK190ZXNzZGF0YXZlcj00LjEuMAogY3Jl YXRlX3dya3NyYz15ZXMKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdz PSJMSUJMRVBUX0hFQURFUlNESVI9JHtYQlBTX0NST1NTX0JBU0V9L3Vzci9pbmNsdWRlICQodm9w dF9lbmFibGUgb3Blbm1wKSIKIG1ha2VfYnVpbGRfYXJncz0iYWxsIHRyYWluaW5nIgogaG9zdG1h a2VkZXBlbmRzPSJhdXRvbWFrZSBsaWJ0b29sIHBrZy1jb25maWcgbGVwdG9uaWNhIGxpYnhzbHQg YXNjaWlkb2MiCi1tYWtlZGVwZW5kcz0iY2Fpcm8tZGV2ZWwgcGFuZ28tZGV2ZWwgbGVwdG9uaWNh LWRldmVsICQodm9wdF9pZiBvcGVubXAgbGliZ29tcC1kZXZlbCkgaWN1LWRldmVsIgorbWFrZWRl cGVuZHM9ImNhaXJvLWRldmVsIHBhbmdvLWRldmVsIGxlcHRvbmljYS1kZXZlbCAkKHZvcHRfaWYg b3Blbm1wIGxpYmdvbXAtZGV2ZWwpIGljdS1kZXZlbAorIGxpYmFyY2hpdmUtZGV2ZWwgbGliY3Vy bC1kZXZlbCIKIHNob3J0X2Rlc2M9IlRlc3NlcmFjdCBPcGVuIFNvdXJjZSBPQ1IgZW5naW5lIgog bWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkFw YWNoZS0yLjAiCkBAIC0xNiwxMyArMTcsMTUgQEAgaG9tZXBhZ2U9Imh0dHBzOi8vZ2l0aHViLmNv bS90ZXNzZXJhY3Qtb2NyL3Rlc3NlcmFjdCIKIGRpc3RmaWxlcz0iCiAgaHR0cHM6Ly9naXRodWIu Y29tL3Rlc3NlcmFjdC1vY3IvdGVzc2VyYWN0L2FyY2hpdmUvJHt2ZXJzaW9ufS50YXIuZ3o+JHtw a2duYW1lfS0ke3ZlcnNpb259LnRhci5negogIGh0dHBzOi8vZ2l0aHViLmNvbS90ZXNzZXJhY3Qt b2NyL3Rlc3NkYXRhL2FyY2hpdmUvJHtfdGVzc2RhdGF2ZXJ9LnRhci5nej50ZXNzZGF0YS0ke190 ZXNzZGF0YXZlcn0udGFyLmd6IgotY2hlY2tzdW09IjJhNjZmZjBkODU5NWJmZjhmMDQwMzIxNjVl NmM5MzYzODliMWU1NzI3YzNjZTVhMjdiM2UwNTlkMjE4ZGIxY2IKLSAzOGM2MzdkM2ExNzYzZjZj M2QzMmU4ZjFkOTc5ZjA0NTY2ODY3NmVjNWZlYjhlZTE4NjllZTc3Y2VkZDMxYjA4IgorY2hlY2tz dW09ImRjNDMyOWY4NWY0MTE5MWIyZDgxM2I3MWI1MjhiYTYwNDc3NDU4MTM0NzRlNTgzY2NjZTg3 OTVmZjJmZjU2ODEKKyA5OTBmZmZiOWI3YTliNTJkYzlhMmQwNTNhOWVmNjg1MmNhMmI3MmJkOGRm YjIyOTg4YjBiOTkwYTcwMGZkM2M3IgogCiBidWlsZF9vcHRpb25zPSJvcGVubXAiCiBidWlsZF9v cHRpb25zX2RlZmF1bHQ9Im9wZW5tcCIKIGRlc2Nfb3B0aW9uX29wZW5tcD0iRW5hYmxlIE9wZW4g TVAgKGdvbXApIgogCitkaXNhYmxlX3BhcmFsbGVsX2J1aWxkPXllcyAjIGZhaWxzIHRvIGJ1aWxk IG90aGVyd2lzZQorCiAjIENyZWF0ZSBhIHBhY2thZ2UgZm9yIG9uZSBzcGVjaWZpYyBsYW5ndWFn ZSAkMQogcGtnX2xhbmcoKSB7CiAJbG9jYWwgZiBzY3JpcHQgbGFuZz0kMQpAQCAtNDYsOCArNDks OCBAQCBwa2dfbGFuZygpIHsKIAogcG9zdF9leHRyYWN0KCkgewogCW12IHRlc3NlcmFjdC0ke3Zl cnNpb259LyogLgorCXJtIC1yZiB0ZXNzZGF0YS0ke190ZXNzZGF0YXZlcn0ve3Rlc3Njb25maWdz LGNvbmZpZ3MscGRmLnR0Zn0KIAltdiB0ZXNzZGF0YS0ke190ZXNzZGF0YXZlcn0vKiAke3dya3Ny Y30vdGVzc2RhdGEKLQlybWRpciB0ZXNzZGF0YS0ke190ZXNzZGF0YXZlcn0KIH0KIHByZV9jb25m aWd1cmUoKSB7CiAJTk9DT05GSUdVUkU9MSAuL2F1dG9nZW4uc2gKQEAgLTYyLDcgKzY1LDYgQEAg cG9zdF9pbnN0YWxsKCkgewogCW12ICR7REVTVERJUn0vdXNyL3NoYXJlL21hbi9tYW4xL3Rlc3Nl cmFjdHssLW9jcn0uMQogCXZkb2MgQ2hhbmdlTG9nCiAJdmRvYyBSRUFETUUubWQKLQl2bGljZW5z ZSAke0ZJTEVTRElSfS9DT1BZSU5HIExJQ0VOU0UtdGVzc2RhdGEKIAkjIE1vdmUgdGhlIHBzZXVk byBsYW5ndWdlcyAiZXF1IiAobWF0aCAvIGVxdWF0aW9uIGRldGVjdGlvbikgYW5kCiAJIyAib3Nk IiAob3JpZW50YXRpb24gYW5kIHNjcmlwdCBkZXRlY3Rpb24pIHRvIHRoZSBtYWluIHBhY2thZ2UK IAlmb3IgbGFuZyBpbiBlcXUgb3NkOyBkbwpAQCAtNzksMTMgKzgxLDYgQEAgdGVzc2VyYWN0LW9j ci10b29sc19wYWNrYWdlKCkgewogCQl2bWtkaXIgdXNyL3NoYXJlL3Rlc3NlcmFjdAogCQl2bWtk aXIgdXNyL3NoYXJlL21hbi9tYW4xCiAJCXZta2RpciB1c3Ivc2hhcmUvbWFuL21hbjUKLQkJIyBD b3B5IHNoZWxsIHNjcmlwdHMKLQkJZm9yIGYgaW4gbGFuZ3VhZ2Utc3BlY2lmaWMuc2ggdGVzc3Ry YWluLnNoIHRlc3N0cmFpbl91dGlscy5zaDsgZG8KLQkJCWlmIFsgLWUgJHt3cmtzcmN9L3RyYWlu aW5nLyR7Zn0gXTsgdGhlbgotCQkJCWNwIC1hICR7d3Jrc3JjfS90cmFpbmluZy8ke2Z9IFwKLQkJ CQkJJHtQS0dERVNURElSfS91c3Ivc2hhcmUvdGVzc2VyYWN0Ci0JCQlmaQotCQlkb25lCiAJCSMg TW92ZSB0b29sIG1hbnVhbCBwYWdlcwogCQlmb3IgZiBpbiBhbWJpZ3VvdXNfd29yZHMgY250cmFp bmluZyBjb21iaW5lX3Rlc3NkYXRhIFwKIAkJCWRhd2cyd29yZGxpc3QgbWZ0cmFpbmluZyBzaGFw ZWNsdXN0ZXJpbmcgdW5pY2hhcmFtYmlncyBcCkBAIC05OSw3ICs5NCw4IEBAIHRlc3NlcmFjdC1v Y3ItdG9vbHNfcGFja2FnZSgpIHsKIAl9CiB9CiB0ZXNzZXJhY3Qtb2NyLWRldmVsX3BhY2thZ2Uo KSB7Ci0JZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgorCWRl cGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBsZXB0b25pY2EtZGV2 ZWwKKwkgbGliYXJjaGl2ZS1kZXZlbCBsaWJjdXJsLWRldmVsIgogCXNob3J0X2Rlc2MrPSIgLSBk ZXZlbG9wbWVudCBmaWxlcyIKIAlwa2dfaW5zdGFsbCgpIHsKIAkJdm1vdmUgdXNyL2luY2x1ZGUv dGVzc2VyYWN0CkBAIC0xMjksNyArMTI1LDcgQEAgdGVzc2VyYWN0LW9jci1hbGxfcGFja2FnZSgp IHsKIAlmb3IgbGFuZyBpbiBhZnIgYW1oIGFyYSBhc20gYXplIGF6ZV9jeXJsIGJlbCBiZW4gYm9k IGJvcyBicmUgYnVsIGNhdCBjZWIgXAogCQljZXMgY2hpX3NpbSBjaGlfdHJhIGNociBjb3MgY3lt IGRhbiBkZXUgZGl2IGR6byBlbGwgZW5nIGVubSBlcG8gZXN0IGV1cyBmYW8gXAogCQlmYXMgZmls IGZpbiBmcmEgZnJrIGZybSBmcnkgZ2xhIGdsZSBnbGcgZ3JjIGd1aiBoYXQgaGViIGhpbiBocnYg aHVuIGh5ZSBpa3UgaW5kIGlzbCBpdGEgXAotCQlpdGFfb2xkIGphdiBqcG4ga2FuIGthdCBrYXRf b2xkIGtheiBraG0ga2lyIGtvciBrdXIga3VyX2FyYSBsYW8gbGF0IGxhdiBsaXQgbHR6IG1hbCBt YXIgXAorCQlpdGFfb2xkIGphdiBqcG4ga2FuIGthdCBrYXRfb2xkIGtheiBraG0ga2lyIGttciBr b3IgbGFvIGxhdCBsYXYgbGl0IGx0eiBtYWwgbWFyIFwKIAkJbWtkIG1sdCBtb24gbXJpIG1zYSBt eWEgbmVwIG5sZCBub3Igb2NpIG9yaSBwYW4gcG9sIHBvciBxdWUgcHVzIHJvbiBydXMgc2FuIHNp biBzbGsgc2x2IFwKIAkJc25kIHNwYSBzcGFfb2xkIHNxaSBzcnAgc3JwX2xhdG4gc3VuIHN3YSBz d2Ugc3lyIHRhbSB0YXQgdGVsIHRnayB0Z2wgdGhhIHRpciB0b24gdHVyIFwKIAkJdWlnIHVrciB1 cmQgdXpiIHV6Yl9jeXJsIHZpZSB5aWQgeW9yIFwKQEAgLTU3NiwyMyArNTcyLDE2IEBAIHRlc3Nl cmFjdC1vY3Ita2lyX3BhY2thZ2UoKSB7CiAJCSQocGtnX2xhbmcgJHtwa2duYW1lI3Rlc3NlcmFj dC1vY3ItfSkKIAl9CiB9Ci10ZXNzZXJhY3Qtb2NyLWtvcl9wYWNrYWdlKCkgewotCWRlcGVuZHM9 IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSIKLQlzaG9ydF9kZXNjKz0iIC0g S29yZWFuIGxhbmd1YWdlIGRhdGEiCi0JcGtnX2luc3RhbGwoKSB7Ci0JCSQocGtnX2xhbmcgJHtw a2duYW1lI3Rlc3NlcmFjdC1vY3ItfSkKLQl9Ci19Ci10ZXNzZXJhY3Qtb2NyLWt1cl9wYWNrYWdl KCkgewordGVzc2VyYWN0LW9jci1rbXJfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBr Z30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi0Jc2hvcnRfZGVzYys9IiAtIEt1cmRpc2ggbGFu Z3VhZ2UgZGF0YSIKKwlzaG9ydF9kZXNjKz0iIC0gS3VybWFuamkgKEt1cmRpc2ggLSBMYXRpbiBT Y3JpcHQpIGxhbmd1YWdlIGRhdGEiCiAJcGtnX2luc3RhbGwoKSB7CiAJCSQocGtnX2xhbmcgJHtw a2duYW1lI3Rlc3NlcmFjdC1vY3ItfSkKIAl9CiB9Ci10ZXNzZXJhY3Qtb2NyLWt1cl9hcmFfcGFj a2FnZSgpIHsKK3Rlc3NlcmFjdC1vY3Ita29yX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3Vy Y2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IgotCXNob3J0X2Rlc2MrPSIgLSBLdXJkaXNo IChBcmFiaWMpIGxhbmd1YWdlIGRhdGEiCisJc2hvcnRfZGVzYys9IiAtIEtvcmVhbiBsYW5ndWFn ZSBkYXRhIgogCXBrZ19pbnN0YWxsKCkgewogCQkkKHBrZ19sYW5nICR7cGtnbmFtZSN0ZXNzZXJh Y3Qtb2NyLX0pCiAJfQpAQCAtMTIyMCwzICsxMjA5LDcgQEAgdGVzc2VyYWN0LW9jci1zY3JpcHQt VmlldG5hbWVzZV9wYWNrYWdlKCkgewogCQkkKHBrZ19sYW5nICR7cGtnbmFtZSN0ZXNzZXJhY3Qt b2NyLX0pCiAJfQogfQorCisKKyMjIGFkZCB0byBjb21tb24vc2hsaWJzCisjIyBsaWJ0ZXNzZXJh Y3Quc28uNSB0ZXNzZXJhY3Qtb2NyLTUuMy4zXzEKCkZyb20gZWFhYWRkYWM3ZjVhMzQ2NjRlMWU5 ZmJkNmIwNmMzNDYwNGE1ZThhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogY2hyeXNv czM0OSA8Y2hyeXNvc3RvbTM0OUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwgMTkgU2VwIDIwMjMgMDQ6 MDk6MjQgKzAzMDAKU3ViamVjdDogW1BBVENIIDMvNF0gYXJjYW46IHJldmJ1bXAgZm9yIHRlc3Nl cmFjdC01LjMuMwoKLS0tCiBzcmNwa2dzL2FyY2FuL3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUg Y2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvYXJjYW4vdGVtcGxhdGUgYi9zcmNwa2dzL2FyY2FuL3RlbXBsYXRlCmluZGV4IGVmZDBh ZmUxMDU3NmQuLmZmOTA5MWY5MGViYjEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvYXJjYW4vdGVtcGxh dGUKKysrIGIvc3JjcGtncy9hcmNhbi90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKICMgISEga2Vl cCBzeW5jZWQgd2l0aDogYWNmZ2ZzIGFjbGlwIGFsb2FkaW1hZ2UKIHBrZ25hbWU9YXJjYW4KIHZl cnNpb249MC42LjIuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogY3JlYXRlX3dya3NyYz15ZXMK IGJ1aWxkX3dya3NyYz1hcmNhbi9zcmMKIGJ1aWxkX3N0eWxlPWNtYWtlCkBAIC0yNyw3ICsyNyw3 IEBAIGhvbWVwYWdlPSJodHRwczovL2FyY2FuLWZlLmNvbS8iCiBfdmVyc2lvbk9wZW5hbD0wLjUu NAogZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vbGV0b3JhbS9hcmNhbi9hcmNoaXZlLyR7 dmVyc2lvbn0udGFyLmd6CiAgaHR0cHM6Ly9naXRodWIuY29tL2xldG9yYW0vb3BlbmFsL2FyY2hp dmUvJHtfdmVyc2lvbk9wZW5hbH0udGFyLmd6Pm9wZW5hbF9hcmNhbi4ke192ZXJzaW9uT3BlbmFs fS50YXIuZ3oiCi1jaGVja3N1bT0iN2JmMDgzNDEyYmM2MTU1NTQ3Mjg3NzMxM2MxMzExNjQzMWEw YTM2ZmNjYmYxNDJmOTc1NTlkYjQzYjRhMTQ3NQorY2hlY2tzdW09IjMwOTAwZGQ4MGRmYTI3MmU2 Y2MzMzQzZDUwZTlkMjc0OGViMDZkOTdjNzhhOGU4N2E3NDNhYmQ0NzU2MzhkZWIKICAzYTUwYTg3 YzA1YjY3YzQ2NmE4NjhjYzc3ZjhkYzdmOWNmYzk0NjZhZWVhZmNkODIzZGFjYTBkMTA4YzUwNGRh IgogCiBleHBvcnQgQ01BS0VfR0VORVJBVE9SPSJVbml4IE1ha2VmaWxlcyIKCkZyb20gY2E2YTE2 NjdhOWM5MDZjMzZiOWI3MGFmNTg5NTljYjZiZjU5OGExNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogY2hyeXNvczM0OSA8Y2hyeXNvc3RvbTM0OUBnbWFpbC5jb20+CkRhdGU6IFR1ZSwg MTkgU2VwIDIwMjMgMDQ6MTE6MjcgKzAzMDAKU3ViamVjdDogW1BBVENIIDQvNF0gY2NleHRyYWN0 b3I6IHJldmJ1bXAgZm9yIHRlc3NlcmFjdC01LjMuMwoKLS0tCiBzcmNwa2dzL2NjZXh0cmFjdG9y L3BhdGNoZXMvZml4LW9jci5wYXRjaCB8IDEwNiArKysrKysrKysrKysrKysrKysrKysrCiBzcmNw a2dzL2NjZXh0cmFjdG9yL3RlbXBsYXRlICAgICAgICAgICAgICB8ICAgNyArLQogMiBmaWxlcyBj aGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvY2NleHRyYWN0b3IvcGF0Y2hlcy9maXgtb2NyLnBhdGNoCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jY2V4dHJhY3Rvci9wYXRjaGVzL2ZpeC1vY3IucGF0Y2ggYi9zcmNwa2dzL2Nj ZXh0cmFjdG9yL3BhdGNoZXMvZml4LW9jci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwLi4yNjgxYzYwYWE0MTRlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9jY2V4dHJhY3Rvci9wYXRjaGVzL2ZpeC1vY3IucGF0Y2gKQEAgLTAsMCArMSwxMDYgQEAKKy0t LSBhL3NyYy9saWJfY2N4L2hhcmRzdWJ4LmMKKysrKyBiL3NyYy9saWJfY2N4L2hhcmRzdWJ4LmMK K0BAIC0yMjEsNyArMjIxLDcgQEAKKyAJY2hhciAqcGFyc192YWx1ZXMgPSBzdHJkdXAoIi9kZXYv bnVsbCIpOworIAljaGFyICp0ZXNzZGF0YV9wYXRoID0gTlVMTDsKKyAKKy0JY2hhciAqbGFuZyA9 IG9wdGlvbnMtPm9jcmxhbmc7CisrCWNoYXIgKmxhbmcgPSAoY2hhciAqKW9wdGlvbnMtPm9jcmxh bmc7CisgCWlmICghbGFuZykKKyAJCWxhbmcgPSAiZW5nIjsgLy8gRW5nbGlzaCBpcyBkZWZhdWx0 IGxhbmd1YWdlCisgCitAQCAtMjQ1LDcgKzI0NSw3IEBACisgCisgCWludCByZXQgPSAtMTsKKyAK Ky0JaWYgKCFzdHJuY21wKCI0LiIsIFRlc3NWZXJzaW9uKCksIDIpKQorKwlpZiAoIXN0cm5jbXAo IjQuIiwgVGVzc1ZlcnNpb24oKSwgMikgfHwgIXN0cm5jbXAoIjUuIiwgVGVzc1ZlcnNpb24oKSwg MikpCisgCXsKKyAJCWNoYXIgdGVzc19wYXRoWzEwMjRdOworIAkJaWYgKGNjeF9vcHRpb25zLm9j cl9vZW0gPCAwKQorLS0tIGEvc3JjL2xpYl9jY3gvb2NyLmMKKysrKyBiL3NyYy9saWJfY2N4L29j ci5jCitAQCAtOTcsMzYgKzk3LDIyIEBACisgY2hhciAqcHJvYmVfdGVzc2RhdGFfbG9jYXRpb24o Y29uc3QgY2hhciAqbGFuZykKKyB7CisgCWludCByZXQgPSAwOworLQljaGFyICp0ZXNzZGF0YV9k aXJfcGF0aCA9IGdldGVudigiVEVTU0RBVEFfUFJFRklYIik7CisgCistCXJldCA9IHNlYXJjaF9s YW5ndWFnZV9wYWNrKHRlc3NkYXRhX2Rpcl9wYXRoLCBsYW5nKTsKKy0JaWYgKCFyZXQpCistCQly ZXR1cm4gdGVzc2RhdGFfZGlyX3BhdGg7CistCistCXRlc3NkYXRhX2Rpcl9wYXRoID0gIi4vIjsK Ky0JcmV0ID0gc2VhcmNoX2xhbmd1YWdlX3BhY2sodGVzc2RhdGFfZGlyX3BhdGgsIGxhbmcpOwor LQlpZiAoIXJldCkKKy0JCXJldHVybiB0ZXNzZGF0YV9kaXJfcGF0aDsKKy0KKy0JdGVzc2RhdGFf ZGlyX3BhdGggPSAiL3Vzci9zaGFyZS8iOworLQlyZXQgPSBzZWFyY2hfbGFuZ3VhZ2VfcGFjayh0 ZXNzZGF0YV9kaXJfcGF0aCwgbGFuZyk7CistCWlmICghcmV0KQorLQkJcmV0dXJuIHRlc3NkYXRh X2Rpcl9wYXRoOworLQorLQl0ZXNzZGF0YV9kaXJfcGF0aCA9ICIvdXNyL2xvY2FsL3NoYXJlLyI7 CistCXJldCA9IHNlYXJjaF9sYW5ndWFnZV9wYWNrKHRlc3NkYXRhX2Rpcl9wYXRoLCBsYW5nKTsK Ky0JaWYgKCFyZXQpCistCQlyZXR1cm4gdGVzc2RhdGFfZGlyX3BhdGg7CistCistCXRlc3NkYXRh X2Rpcl9wYXRoID0gIi91c3Ivc2hhcmUvdGVzc2VyYWN0LW9jci8iOworLQlyZXQgPSBzZWFyY2hf bGFuZ3VhZ2VfcGFjayh0ZXNzZGF0YV9kaXJfcGF0aCwgbGFuZyk7CistCWlmICghcmV0KQorLQkJ cmV0dXJuIHRlc3NkYXRhX2Rpcl9wYXRoOworLQorLQl0ZXNzZGF0YV9kaXJfcGF0aCA9ICIvdXNy L3NoYXJlL3Rlc3NlcmFjdC1vY3IvNC4wMC8iOworLQlyZXQgPSBzZWFyY2hfbGFuZ3VhZ2VfcGFj ayh0ZXNzZGF0YV9kaXJfcGF0aCwgbGFuZyk7CistCWlmICghcmV0KQorLQkJcmV0dXJuIHRlc3Nk YXRhX2Rpcl9wYXRoOworKwljb25zdCBjaGFyICpwYXRoc1tdID0geworKwkgICAgZ2V0ZW52KCJU RVNTREFUQV9QUkVGSVgiKSwKKysJICAgICIuLyIsCisrCSAgICAiL3Vzci9zaGFyZS8iLAorKwkg ICAgIi91c3IvbG9jYWwvc2hhcmUvIiwKKysJICAgICIvdXNyL3NoYXJlL3Rlc3NlcmFjdC1vY3Iv IiwKKysJICAgICIvdXNyL3NoYXJlL3Rlc3NlcmFjdC1vY3IvNC4wMC8iLAorKwkgICAgIi91c3Iv c2hhcmUvdGVzc2VyYWN0LW9jci81LyIsCisrCSAgICAiL3Vzci9zaGFyZS90ZXNzZXJhY3QvIn07 CisrCisrCWZvciAoaW50IGkgPSAwOyBpIDwgc2l6ZW9mKHBhdGhzKSAvIHNpemVvZihwYXRoc1sw XSk7IGkrKykKKysJeworKwkJaWYgKCFzZWFyY2hfbGFuZ3VhZ2VfcGFjayhwYXRoc1tpXSwgbGFu ZykpCisrCQkJcmV0dXJuIChjaGFyICopcGF0aHNbaV07CisrCX0KKyAKKyAJcmV0dXJuIE5VTEw7 CisgfQorQEAgLTE3NCw3ICsxNjAsNyBAQAorIAljaGFyICpwYXJzX3ZhbHVlcyA9IHN0cmR1cCgi dGVzcy5sb2ciKTsKKyAKKyAJY3R4LT5hcGkgPSBUZXNzQmFzZUFQSUNyZWF0ZSgpOworLQlpZiAo IXN0cm5jbXAoIjQuIiwgVGVzc1ZlcnNpb24oKSwgMikpCisrCWlmICghc3RybmNtcCgiNC4iLCBU ZXNzVmVyc2lvbigpLCAyKSB8fCAhc3RybmNtcCgiNS4iLCBUZXNzVmVyc2lvbigpLCAyKSkKKyAJ eworIAkJY2hhciB0ZXNzX3BhdGhbMTAyNF07CisgCQlzbnByaW50Zih0ZXNzX3BhdGgsIDEwMjQs ICIlcyVzJXMiLCB0ZXNzZGF0YV9wYXRoLCAiLyIsICJ0ZXNzZGF0YSIpOworQEAgLTMzMSw2ICsz MTcsMTEgQEAKKyAJfQorIAorIAlCT1ggKmNyb3BfcG9pbnRzID0gaWdub3JlX2FscGhhX2F0X2Vk Z2UoY29weS0+YWxwaGEsIGNvcHktPmRhdGEsIHcsIGgsIGNvbG9yX3BpeCwgJmNvbG9yX3BpeF9v dXQpOworKworKwlsX2ludDMyIHgsIHksIF93LCBfaDsKKysKKysJYm94R2V0R2VvbWV0cnkoY3Jv cF9wb2ludHMsICZ4LCAmeSwgJl93LCAmX2gpOworKworIAkvLyBDb252ZXJ0aW5nIGltYWdlIHRv IGdyYXlzY2FsZSBmb3IgT0NSIHRvIGF2b2lkIGlzc3VlcyB3aXRoIHRyYW5zcGFyZW5jeQorIAlj cGl4X2dzID0gcGl4Q29udmVydFJHQlRvR3JheShjcGl4LCAwLjAsIDAuMCwgMC4wKTsKKyAKK0BA IC00MjYsOCArNDE3LDggQEAKKyAJCQkJeworIAkJCQkJZm9yIChpbnQgaiA9IHgxOyBqIDw9IHgy OyBqKyspCisgCQkJCQl7CistCQkJCQkJaWYgKGNvcHktPmRhdGFbKGNyb3BfcG9pbnRzLT55ICsg aSkgKiB3ICsgKGNyb3BfcG9pbnRzLT54ICsgaildICE9IGZpcnN0cGl4ZWwpCistCQkJCQkJCWhp c3RvZ3JhbVtjb3B5LT5kYXRhWyhjcm9wX3BvaW50cy0+eSArIGkpICogdyArIChjcm9wX3BvaW50 cy0+eCArIGopXV0rKzsKKysJCQkJCQlpZiAoY29weS0+ZGF0YVsoeSArIGkpICogdyArICh4ICsg aildICE9IGZpcnN0cGl4ZWwpCisrCQkJCQkJCWhpc3RvZ3JhbVtjb3B5LT5kYXRhWyh5ICsgaSkg KiB3ICsgKHggKyBqKV1dKys7CisgCQkJCQl9CisgCQkJCX0KKyAJCQkJLyogc29ydGVkIGluIGlu Y3JlYXNpbmcgb3JkZXIgb2YgaW50ZW5zaXR5ICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL2NjZXh0 cmFjdG9yL3RlbXBsYXRlIGIvc3JjcGtncy9jY2V4dHJhY3Rvci90ZW1wbGF0ZQppbmRleCA5YWJj ZDgyODUyYjI3Li42NGU1N2EyZTRhZmM5IDEwMDY0NAotLS0gYS9zcmNwa2dzL2NjZXh0cmFjdG9y L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2NleHRyYWN0b3IvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjY2V4dHJhY3RvcicKIHBrZ25hbWU9Y2NleHRyYWN0 b3IKIHZlcnNpb249MC45MwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfd3Jrc3JjPSJs aW51eCIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJs ZS1vY3IgLS1lbmFibGUtaGFyZHN1YngiCkBAIC0xNiw3ICsxNiwxMiBAQCBkaXN0ZmlsZXM9Imh0 dHBzOi8vZ2l0aHViLmNvbS9DQ0V4dHJhY3Rvci8ke3BrZ25hbWV9L2FyY2hpdmUvdiR7dmVyc2lv bn0udGFyLmd6IgogY2hlY2tzdW09MGU2NmQzZTM2MGRiMWIwMmE4ODI3MWFmMTEzMTNjYTRjOWJi ZGExYjAzNzI4ZTI2NGE0NGM0YzlmNzcxOTJlMwogQ0ZMQUdTPSItSSR7WEJQU19DUk9TU19CQVNF fS91c3IvaW5jbHVkZS90ZXNzZXJhY3QgLURQTkdfUE9XRVJQQ19WU1hfT1BUPTAgLWZjb21tb24i CiAKK2lmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCWhvc3RtYWtlZGVwZW5kcys9IiB0ZXNz ZXJhY3Qtb2NyLWRldmVsIgorZmkKKwogcHJlX2NvbmZpZ3VyZSgpIHsKKwlsbiAtc2YgbGlibGVw dG9uaWNhLnNvICR7WEJQU19DUk9TU19CQVNFfS91c3IvbGliL2xpYmxlcHQuc28KIAlzZWQgLWkg LWUgInMvdGVzc2VyYWN0IC0tdmVyc2lvbi90ZXNzZXJhY3Qtb2NyIC0tdmVyc2lvbi9nIiBjb25m aWd1cmUuYWMKIAkuL2F1dG9nZW4uc2gKIH0K --===============8520681931922676677==--