From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id 2FA7821F10 for ; Mon, 19 Feb 2024 22:58:58 +0100 (CET) Content-Type: multipart/mixed; boundary="===============5121608312388159735==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_webkit2gtk=3A_update_to_2=2E42=2E5?= To: ml@inbox.vuxu.org From: chrysos349 Reply-to: ml@inbox.vuxu.org Message-ID: Date: Mon, 19 Feb 2024 22:58:58 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============5121608312388159735== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IGNocnlzb3MzNDkgYWdhaW5zdCBtYXN0ZXIg b24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2Nocnlz b3MzNDkvdm9pZC1wYWNrYWdlcyB3ZWJraXQyZ3RrCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80ODgzOQoKd2Via2l0Mmd0azogdXBkYXRlIHRvIDIuNDIu NQpbY2kgc2tpcF0NCg0KKipOT1RFUyoqDQotIGAyLjQyLjVgIChhbmQgYDIuNDIuNGAgYmVmb3Jl IGAuNWAgd2FzIHJlbGVhc2VkKSB3YXMgdGVzdGVkIGFzIGEgcGFydCBvZiBgZ25vbWUtNDUuKmAN Ci0gUmVxdWlyZWQgZm9yIGBnbm9tZS00NS4qYCAoIzQ4NzYyKQ0KLSAoQ3Jvc3MpLWJ1aWx0IGZv ciBhbGwgYXJjaHMgdGhhdCBhcmUgY2hlY2tlZCBpbiBjaQ0KDQojIyMjIFRlc3RpbmcgdGhlIGNo YW5nZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipZRVMqKg0KDQojIyMj IExvY2FsIGJ1aWxkIHRlc3RpbmcNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIG15IG5h dGl2ZSBhcmNoaXRlY3R1cmUsICh4ODZfNjQpDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZv ciB0aGVzZSBhcmNoaXRlY3R1cmVzIChpZiBzdXBwb3J0ZWQuIG1hcmsgY3Jvc3NidWlsZHMpOg0K ICAtIGFhcmNoNjQtbXVzbCB4DQogIC0gYWFyY2g2NCB4DQogIC0gYXJtdjdsIHgNCiAgLSBhcm12 NmwtbXVzbCB4DQogIC0geDg2XzY0LW11c2wNCiAgLSBpNjg2DQoKCkEgcGF0Y2ggZmlsZSBmcm9t IGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80ODgzOS5w YXRjaCBpcyBhdHRhY2hlZA== --===============5121608312388159735== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-webkit2gtk-48839.patch" RnJvbSA0NmE3Y2EzNjdjYzY5MTU0NzVjZjg0N2FiZjFkNjlmZTJhNTZiMTc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBjaHJ5c29zMzQ5IDxjaHJ5c29zdG9tMzQ5QGdtYWlsLmNvbT4K RGF0ZTogVHVlLCAyMCBGZWIgMjAyNCAwMDo0OToxMCArMDMwMApTdWJqZWN0OiBbUEFUQ0hdIHdl YmtpdDJndGs6IHVwZGF0ZSB0byAyLjQyLjUKCi0tLQogLi4uL3BhdGNoZXMvYmUtaW1hZ2VidWZm ZXJiYWNrZW5kLnBhdGNoICAgICAgIHwgMjQxIC0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL3dlYmtp dDJndGsvcGF0Y2hlcy9iZS10eXBlZGFycmF5LnBhdGNoICAgIHwgMjA2IC0tLS0tLS0tLS0tLS0t LQogLi4uL3BhdGNoZXMvZGlzYWJsZS1kbWFidWYtbnZpZGlhLnBhdGNoICAgICAgIHwgIDYzICsr KysrCiAuLi4vd2Via2l0Mmd0ay9wYXRjaGVzL2ZpeC1mdGJmcy1pMzg2LnBhdGNoICAgfCAgMTYg KysKIC4uLi9wYXRjaGVzL2ZpeC1yaXNjdjY0LWJ1aWxkLnBhdGNoICAgICAgICAgICB8ICAyOCAt LQogc3JjcGtncy93ZWJraXQyZ3RrL3BhdGNoZXMvaW5pdGlhbC1leGVjLnBhdGNoIHwgIDIzIC0t CiBzcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9sZS1jaGVjay5wYXRjaCAgICAgfCAgMjYgLS0K IC4uLi93ZWJraXQyZ3RrL3BhdGNoZXMvcHJlZmVyLXB0aHJlYWQucGF0Y2ggICB8ICAyOCArKwog Li4uL3BhdGNoZXMvcmVkdWNlLW1lbW9yeS1vdmVyaGVhZHMucGF0Y2ggICAgIHwgIDE5ICsrCiBz cmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9yZXByb2R1Y2libGUucGF0Y2ggfCAgODEgLS0tLS0t CiBzcmNwa2dzL3dlYmtpdDJndGsvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgfCAgMjEgKy0K IDExIGZpbGVzIGNoYW5nZWQsIDEzOCBpbnNlcnRpb25zKCspLCA2MTQgZGVsZXRpb25zKC0pCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93ZWJraXQyZ3RrL3BhdGNoZXMvYmUtaW1hZ2VidWZm ZXJiYWNrZW5kLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93ZWJraXQyZ3RrL3Bh dGNoZXMvYmUtdHlwZWRhcnJheS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd2Vi a2l0Mmd0ay9wYXRjaGVzL2Rpc2FibGUtZG1hYnVmLW52aWRpYS5wYXRjaAogY3JlYXRlIG1vZGUg MTAwNjQ0IHNyY3BrZ3Mvd2Via2l0Mmd0ay9wYXRjaGVzL2ZpeC1mdGJmcy1pMzg2LnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy93ZWJraXQyZ3RrL3BhdGNoZXMvZml4LXJpc2N2NjQt YnVpbGQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hl cy9pbml0aWFsLWV4ZWMucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3dlYmtpdDJn dGsvcGF0Y2hlcy9sZS1jaGVjay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mvd2Vi a2l0Mmd0ay9wYXRjaGVzL3ByZWZlci1wdGhyZWFkLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy93ZWJraXQyZ3RrL3BhdGNoZXMvcmVkdWNlLW1lbW9yeS1vdmVyaGVhZHMucGF0Y2gK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9yZXByb2R1Y2li bGUucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9iZS1pbWFn ZWJ1ZmZlcmJhY2tlbmQucGF0Y2ggYi9zcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9iZS1pbWFn ZWJ1ZmZlcmJhY2tlbmQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkOTBj ZGI5OWJhM2QuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy93ZWJraXQyZ3RrL3BhdGNoZXMv YmUtaW1hZ2VidWZmZXJiYWNrZW5kLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQxICswLDAg QEAKLU9yaWdpbmFsIHNvdXJjZTogSmFjZWsgUGlzemN6ZWsgPGphY2VrLnBpc3pjemVrQHJ1bmJv eC5jb20+Ci0KLWRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Q aXhlbEJ1ZmZlckNvbnZlcnNpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp Y3MvUGl4ZWxCdWZmZXJDb252ZXJzaW9uLmNwcAotaW5kZXggOWFjZjMwNGQuLjYxOGI3YjI2IDEw MDY0NAotLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGl4ZWxCdWZmZXJD b252ZXJzaW9uLmNwcAotKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGl4 ZWxCdWZmZXJDb252ZXJzaW9uLmNwcAotQEAgLTE0MCw5ICsxNDAsMTcgQEAgc3RhdGljIHZvaWQg Y29udmVydEltYWdlUGl4ZWxzQWNjZWxlcmF0ZWQoY29uc3QgQ29uc3RQaXhlbEJ1ZmZlckNvbnZl cnNpb25WaWV3JgotIGVudW0gY2xhc3MgUGl4ZWxGb3JtYXRDb252ZXJzaW9uIHsgTm9uZSwgUGVy bXV0ZSB9OwotIAotIHRlbXBsYXRlPFBpeGVsRm9ybWF0Q29udmVyc2lvbiBwaXhlbEZvcm1hdENv bnZlcnNpb24+Ci0rI2lmIENQVShCSUdfRU5ESUFOKQotK3N0YXRpYyB2b2lkIGNvbnZlcnRTaW5n bGVQaXhlbFByZW11bHRpcGxpZWRUb1ByZW11bHRpcGxpZWQoUGl4ZWxGb3JtYXQgc291cmNlUGl4 ZWxGb3JtYXQsIGNvbnN0IHVpbnQ4X3QqIHNvdXJjZVBpeGVsLCBQaXhlbEZvcm1hdCBkZXN0aW5h dGlvblBpeGVsRm9ybWF0LCB1aW50OF90KiBkZXN0aW5hdGlvblBpeGVsKQotKyNlbHNlCi0gc3Rh dGljIHZvaWQgY29udmVydFNpbmdsZVBpeGVsUHJlbXVsdGlwbGllZFRvUHJlbXVsdGlwbGllZChj b25zdCB1aW50OF90KiBzb3VyY2VQaXhlbCwgdWludDhfdCogZGVzdGluYXRpb25QaXhlbCkKLSsj ZW5kaWYKLSB7Ci0rI2lmIENQVShCSUdfRU5ESUFOKQotKyAgICB1aW50OF90IGFscGhhID0gc291 cmNlUGl4ZWxbc291cmNlUGl4ZWxGb3JtYXQgPT0gUGl4ZWxGb3JtYXQ6OkFSR0I4ID8gMCA6IDNd OwotKyNlbHNlCi0gICAgIHVpbnQ4X3QgYWxwaGEgPSBzb3VyY2VQaXhlbFszXTsKLSsjZW5kaWYK LSAgICAgaWYgKCFhbHBoYSkgewotICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50MzJfdCo+ KGRlc3RpbmF0aW9uUGl4ZWwpWzBdID0gMDsKLSAgICAgICAgIHJldHVybjsKLUBAIC0xNTEsMjMg KzE1OCw4MSBAQCBzdGF0aWMgdm9pZCBjb252ZXJ0U2luZ2xlUGl4ZWxQcmVtdWx0aXBsaWVkVG9Q cmVtdWx0aXBsaWVkKGNvbnN0IHVpbnQ4X3QqIHNvdXJjZQotICAgICBpZiBjb25zdGV4cHIgKHBp eGVsRm9ybWF0Q29udmVyc2lvbiA9PSBQaXhlbEZvcm1hdENvbnZlcnNpb246Ok5vbmUpCi0gICAg ICAgICByZWludGVycHJldF9jYXN0PHVpbnQzMl90Kj4oZGVzdGluYXRpb25QaXhlbClbMF0gPSBy ZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQzMl90Kj4oc291cmNlUGl4ZWwpWzBdOwotICAgICBl bHNlIHsKLSsjaWYgQ1BVKEJJR19FTkRJQU4pCi0rICAgICAgICAvLyBTd2FwIHBpeGVsIGNoYW5u ZWxzIEFSR0IgPC0+IFJHQkEuCi0rICAgICAgICBpZiAoZGVzdGluYXRpb25QaXhlbEZvcm1hdCA9 PSBQaXhlbEZvcm1hdDo6QVJHQjgpCi0rICAgICAgICB7Ci0rICAgICAgICAgICAgZGVzdGluYXRp b25QaXhlbFswXSA9IHNvdXJjZVBpeGVsWzNdOwotKyAgICAgICAgICAgIGRlc3RpbmF0aW9uUGl4 ZWxbMV0gPSBzb3VyY2VQaXhlbFswXTsKLSsgICAgICAgICAgICBkZXN0aW5hdGlvblBpeGVsWzJd ID0gc291cmNlUGl4ZWxbMV07Ci0rICAgICAgICAgICAgZGVzdGluYXRpb25QaXhlbFszXSA9IHNv dXJjZVBpeGVsWzJdOwotKyAgICAgICAgfQotKyAgICAgICAgZWxzZQotKyAgICAgICAgewotKyAg ICAgICAgICAgIGRlc3RpbmF0aW9uUGl4ZWxbMF0gPSBzb3VyY2VQaXhlbFsxXTsKLSsgICAgICAg ICAgICBkZXN0aW5hdGlvblBpeGVsWzFdID0gc291cmNlUGl4ZWxbMl07Ci0rICAgICAgICAgICAg ZGVzdGluYXRpb25QaXhlbFsyXSA9IHNvdXJjZVBpeGVsWzNdOwotKyAgICAgICAgICAgIGRlc3Rp bmF0aW9uUGl4ZWxbM10gPSBzb3VyY2VQaXhlbFswXTsKLSsgICAgICAgIH0KLSsjZWxzZQotICAg ICAgICAgLy8gU3dhcCBwaXhlbCBjaGFubmVscyBCR1JBIDwtPiBSR0JBLgotICAgICAgICAgZGVz dGluYXRpb25QaXhlbFswXSA9IHNvdXJjZVBpeGVsWzJdOwotICAgICAgICAgZGVzdGluYXRpb25Q aXhlbFsxXSA9IHNvdXJjZVBpeGVsWzFdOwotICAgICAgICAgZGVzdGluYXRpb25QaXhlbFsyXSA9 IHNvdXJjZVBpeGVsWzBdOwotICAgICAgICAgZGVzdGluYXRpb25QaXhlbFszXSA9IHNvdXJjZVBp eGVsWzNdOwotKyNlbmRpZgotICAgICB9Ci0gfQotIAotIHRlbXBsYXRlPFBpeGVsRm9ybWF0Q29u dmVyc2lvbiBwaXhlbEZvcm1hdENvbnZlcnNpb24+Ci0rI2lmIENQVShCSUdfRU5ESUFOKQotK3N0 YXRpYyB2b2lkIGNvbnZlcnRTaW5nbGVQaXhlbFByZW11bHRpcGxpZWRUb1VucHJlbXVsdGlwbGll ZChQaXhlbEZvcm1hdCBzb3VyY2VQaXhlbEZvcm1hdCwgY29uc3QgdWludDhfdCogc291cmNlUGl4 ZWwsIFBpeGVsRm9ybWF0IGRlc3RpbmF0aW9uUGl4ZWxGb3JtYXQsIHVpbnQ4X3QqIGRlc3RpbmF0 aW9uUGl4ZWwpCi0rI2Vsc2UKLSBzdGF0aWMgdm9pZCBjb252ZXJ0U2luZ2xlUGl4ZWxQcmVtdWx0 aXBsaWVkVG9VbnByZW11bHRpcGxpZWQoY29uc3QgdWludDhfdCogc291cmNlUGl4ZWwsIHVpbnQ4 X3QqIGRlc3RpbmF0aW9uUGl4ZWwpCi0rI2VuZGlmCi0gewotKyNpZiBDUFUoQklHX0VORElBTikK LSsgICAgdWludDhfdCBhbHBoYSA9IHNvdXJjZVBpeGVsW3NvdXJjZVBpeGVsRm9ybWF0ID09IFBp eGVsRm9ybWF0OjpBUkdCOCA/IDAgOiAzXTsKLSsjZWxzZQotICAgICB1aW50OF90IGFscGhhID0g c291cmNlUGl4ZWxbM107Ci0rI2VuZGlmCi0gICAgIGlmICghYWxwaGEgfHwgYWxwaGEgPT0gMjU1 KSB7Ci0rI2lmIENQVShCSUdfRU5ESUFOKQotKyAgICAgICAgY29udmVydFNpbmdsZVBpeGVsUHJl bXVsdGlwbGllZFRvUHJlbXVsdGlwbGllZDxwaXhlbEZvcm1hdENvbnZlcnNpb24+KHNvdXJjZVBp eGVsRm9ybWF0LCBzb3VyY2VQaXhlbCwgZGVzdGluYXRpb25QaXhlbEZvcm1hdCwgZGVzdGluYXRp b25QaXhlbCk7Ci0rI2Vsc2UKLSAgICAgICAgIGNvbnZlcnRTaW5nbGVQaXhlbFByZW11bHRpcGxp ZWRUb1ByZW11bHRpcGxpZWQ8cGl4ZWxGb3JtYXRDb252ZXJzaW9uPihzb3VyY2VQaXhlbCwgZGVz dGluYXRpb25QaXhlbCk7Ci0rI2VuZGlmCi0gICAgICAgICByZXR1cm47Ci0gICAgIH0KLSAKLSsj aWYgQ1BVKEJJR19FTkRJQU4pCi0rICAgIFVOVVNFRF9QQVJBTShkZXN0aW5hdGlvblBpeGVsRm9y bWF0KTsKLSsgICAgaWYgY29uc3RleHByIChwaXhlbEZvcm1hdENvbnZlcnNpb24gPT0gUGl4ZWxG b3JtYXRDb252ZXJzaW9uOjpOb25lKSB7Ci0rICAgICAgICBpZiAoc291cmNlUGl4ZWxGb3JtYXQg PT0gUGl4ZWxGb3JtYXQ6OkFSR0I4KSB7Ci0rICAgICAgICAgICAgZGVzdGluYXRpb25QaXhlbFsw XSA9IGFscGhhOwotKyAgICAgICAgICAgIGRlc3RpbmF0aW9uUGl4ZWxbMV0gPSAoc291cmNlUGl4 ZWxbMV0gKiAyNTUpIC8gYWxwaGE7Ci0rICAgICAgICAgICAgZGVzdGluYXRpb25QaXhlbFsyXSA9 IChzb3VyY2VQaXhlbFsyXSAqIDI1NSkgLyBhbHBoYTsKLSsgICAgICAgICAgICBkZXN0aW5hdGlv blBpeGVsWzNdID0gKHNvdXJjZVBpeGVsWzNdICogMjU1KSAvIGFscGhhOwotKyAgICAgICAgfSBl bHNlIHsKLSsgICAgICAgICAgICBkZXN0aW5hdGlvblBpeGVsWzBdID0gKHNvdXJjZVBpeGVsWzBd ICogMjU1KSAvIGFscGhhOwotKyAgICAgICAgICAgIGRlc3RpbmF0aW9uUGl4ZWxbMV0gPSAoc291 cmNlUGl4ZWxbMV0gKiAyNTUpIC8gYWxwaGE7Ci0rICAgICAgICAgICAgZGVzdGluYXRpb25QaXhl bFsyXSA9IChzb3VyY2VQaXhlbFsyXSAqIDI1NSkgLyBhbHBoYTsKLSsgICAgICAgICAgICBkZXN0 aW5hdGlvblBpeGVsWzNdID0gYWxwaGE7Ci0rICAgICAgICB9Ci0rICAgIH0gZWxzZSB7Ci0rICAg ICAgICBpZiAoc291cmNlUGl4ZWxGb3JtYXQgPT0gUGl4ZWxGb3JtYXQ6OkFSR0I4KSB7Ci0rICAg ICAgICAgICAgZGVzdGluYXRpb25QaXhlbFswXSA9IChzb3VyY2VQaXhlbFsxXSAqIDI1NSkgLyBh bHBoYTsKLSsgICAgICAgICAgICBkZXN0aW5hdGlvblBpeGVsWzFdID0gKHNvdXJjZVBpeGVsWzJd ICogMjU1KSAvIGFscGhhOwotKyAgICAgICAgICAgIGRlc3RpbmF0aW9uUGl4ZWxbMl0gPSAoc291 cmNlUGl4ZWxbM10gKiAyNTUpIC8gYWxwaGE7Ci0rICAgICAgICAgICAgZGVzdGluYXRpb25QaXhl bFszXSA9IGFscGhhOwotKyAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICBkZXN0aW5hdGlv blBpeGVsWzBdID0gYWxwaGE7Ci0rICAgICAgICAgICAgZGVzdGluYXRpb25QaXhlbFsxXSA9IChz b3VyY2VQaXhlbFswXSAqIDI1NSkgLyBhbHBoYTsKLSsgICAgICAgICAgICBkZXN0aW5hdGlvblBp eGVsWzJdID0gKHNvdXJjZVBpeGVsWzFdICogMjU1KSAvIGFscGhhOwotKyAgICAgICAgICAgIGRl c3RpbmF0aW9uUGl4ZWxbM10gPSAoc291cmNlUGl4ZWxbMl0gKiAyNTUpIC8gYWxwaGE7Ci0rICAg ICAgICB9Ci0rICAgIH0KLSsjZWxzZQotICAgICBpZiBjb25zdGV4cHIgKHBpeGVsRm9ybWF0Q29u dmVyc2lvbiA9PSBQaXhlbEZvcm1hdENvbnZlcnNpb246Ok5vbmUpIHsKLSAgICAgICAgIGRlc3Rp bmF0aW9uUGl4ZWxbMF0gPSAoc291cmNlUGl4ZWxbMF0gKiAyNTUpIC8gYWxwaGE7Ci0gICAgICAg ICBkZXN0aW5hdGlvblBpeGVsWzFdID0gKHNvdXJjZVBpeGVsWzFdICogMjU1KSAvIGFscGhhOwot QEAgLTE4MCwxNyArMjQ1LDU4IEBAIHN0YXRpYyB2b2lkIGNvbnZlcnRTaW5nbGVQaXhlbFByZW11 bHRpcGxpZWRUb1VucHJlbXVsdGlwbGllZChjb25zdCB1aW50OF90KiBzb3VyCi0gICAgICAgICBk ZXN0aW5hdGlvblBpeGVsWzJdID0gKHNvdXJjZVBpeGVsWzBdICogMjU1KSAvIGFscGhhOwotICAg ICAgICAgZGVzdGluYXRpb25QaXhlbFszXSA9IGFscGhhOwotICAgICB9Ci0rI2VuZGlmCi0gfQot IAotIHRlbXBsYXRlPFBpeGVsRm9ybWF0Q29udmVyc2lvbiBwaXhlbEZvcm1hdENvbnZlcnNpb24+ Ci0rI2lmIENQVShCSUdfRU5ESUFOKQotK3N0YXRpYyB2b2lkIGNvbnZlcnRTaW5nbGVQaXhlbFVu cHJlbXVsdGlwbGllZFRvUHJlbXVsdGlwbGllZChQaXhlbEZvcm1hdCBzb3VyY2VQaXhlbEZvcm1h dCwgY29uc3QgdWludDhfdCogc291cmNlUGl4ZWwsIFBpeGVsRm9ybWF0IGRlc3RpbmF0aW9uUGl4 ZWxGb3JtYXQsIHVpbnQ4X3QqIGRlc3RpbmF0aW9uUGl4ZWwpCi0rI2Vsc2UKLSBzdGF0aWMgdm9p ZCBjb252ZXJ0U2luZ2xlUGl4ZWxVbnByZW11bHRpcGxpZWRUb1ByZW11bHRpcGxpZWQoY29uc3Qg dWludDhfdCogc291cmNlUGl4ZWwsIHVpbnQ4X3QqIGRlc3RpbmF0aW9uUGl4ZWwpCi0rI2VuZGlm Ci0gewotKyNpZiBDUFUoQklHX0VORElBTikKLSsgICAgdWludDhfdCBhbHBoYSA9IHNvdXJjZVBp eGVsW3NvdXJjZVBpeGVsRm9ybWF0ID09IFBpeGVsRm9ybWF0OjpBUkdCOCA/IDAgOiAzXTsKLSsj ZWxzZQotICAgICB1aW50OF90IGFscGhhID0gc291cmNlUGl4ZWxbM107Ci0rI2VuZGlmCi0gICAg IGlmICghYWxwaGEgfHwgYWxwaGEgPT0gMjU1KSB7Ci0rI2lmIENQVShCSUdfRU5ESUFOKQotKyAg ICAgICAgY29udmVydFNpbmdsZVBpeGVsUHJlbXVsdGlwbGllZFRvUHJlbXVsdGlwbGllZDxwaXhl bEZvcm1hdENvbnZlcnNpb24+KHNvdXJjZVBpeGVsRm9ybWF0LCBzb3VyY2VQaXhlbCwgZGVzdGlu YXRpb25QaXhlbEZvcm1hdCwgZGVzdGluYXRpb25QaXhlbCk7Ci0rI2Vsc2UKLSAgICAgICAgIGNv bnZlcnRTaW5nbGVQaXhlbFByZW11bHRpcGxpZWRUb1ByZW11bHRpcGxpZWQ8cGl4ZWxGb3JtYXRD b252ZXJzaW9uPihzb3VyY2VQaXhlbCwgZGVzdGluYXRpb25QaXhlbCk7Ci0rI2VuZGlmCi0gICAg ICAgICByZXR1cm47Ci0gICAgIH0KLSAKLSsjaWYgQ1BVKEJJR19FTkRJQU4pCi0rICAgIFVOVVNF RF9QQVJBTShkZXN0aW5hdGlvblBpeGVsRm9ybWF0KTsKLSsgICAgaWYgY29uc3RleHByIChwaXhl bEZvcm1hdENvbnZlcnNpb24gPT0gUGl4ZWxGb3JtYXRDb252ZXJzaW9uOjpOb25lKSB7Ci0rICAg ICAgICBpZiAoc291cmNlUGl4ZWxGb3JtYXQgPT0gUGl4ZWxGb3JtYXQ6OkFSR0I4KSB7Ci0rICAg ICAgICAgICAgZGVzdGluYXRpb25QaXhlbFswXSA9IGFscGhhOwotKyAgICAgICAgICAgIGRlc3Rp bmF0aW9uUGl4ZWxbMV0gPSAoc291cmNlUGl4ZWxbMV0gKiBhbHBoYSArIDI1NCkgLyAyNTU7Ci0r ICAgICAgICAgICAgZGVzdGluYXRpb25QaXhlbFsyXSA9IChzb3VyY2VQaXhlbFsyXSAqIGFscGhh ICsgMjU0KSAvIDI1NTsKLSsgICAgICAgICAgICBkZXN0aW5hdGlvblBpeGVsWzNdID0gKHNvdXJj ZVBpeGVsWzNdICogYWxwaGEgKyAyNTQpIC8gMjU1OwotKyAgICAgICAgfSBlbHNlIHsKLSsgICAg ICAgICAgICBkZXN0aW5hdGlvblBpeGVsWzBdID0gKHNvdXJjZVBpeGVsWzBdICogYWxwaGEgKyAy NTQpIC8gMjU1OwotKyAgICAgICAgICAgIGRlc3RpbmF0aW9uUGl4ZWxbMV0gPSAoc291cmNlUGl4 ZWxbMV0gKiBhbHBoYSArIDI1NCkgLyAyNTU7Ci0rICAgICAgICAgICAgZGVzdGluYXRpb25QaXhl bFsyXSA9IChzb3VyY2VQaXhlbFsyXSAqIGFscGhhICsgMjU0KSAvIDI1NTsKLSsgICAgICAgICAg ICBkZXN0aW5hdGlvblBpeGVsWzNdID0gYWxwaGE7Ci0rICAgICAgICB9Ci0rICAgIH0gZWxzZSB7 Ci0rICAgICAgICBpZiAoc291cmNlUGl4ZWxGb3JtYXQgPT0gUGl4ZWxGb3JtYXQ6OkFSR0I4KSB7 Ci0rICAgICAgICAgICAgZGVzdGluYXRpb25QaXhlbFswXSA9IChzb3VyY2VQaXhlbFsxXSAqIGFs cGhhICsgMjU0KSAvIDI1NTsKLSsgICAgICAgICAgICBkZXN0aW5hdGlvblBpeGVsWzFdID0gKHNv dXJjZVBpeGVsWzJdICogYWxwaGEgKyAyNTQpIC8gMjU1OwotKyAgICAgICAgICAgIGRlc3RpbmF0 aW9uUGl4ZWxbMl0gPSAoc291cmNlUGl4ZWxbM10gKiBhbHBoYSArIDI1NCkgLyAyNTU7Ci0rICAg ICAgICAgICAgZGVzdGluYXRpb25QaXhlbFszXSA9IGFscGhhOwotKyAgICAgICAgfSBlbHNlIHsK LSsgICAgICAgICAgICBkZXN0aW5hdGlvblBpeGVsWzBdID0gYWxwaGE7Ci0rICAgICAgICAgICAg ZGVzdGluYXRpb25QaXhlbFsxXSA9IChzb3VyY2VQaXhlbFswXSAqIGFscGhhICsgMjU0KSAvIDI1 NTsKLSsgICAgICAgICAgICBkZXN0aW5hdGlvblBpeGVsWzJdID0gKHNvdXJjZVBpeGVsWzFdICog YWxwaGEgKyAyNTQpIC8gMjU1OwotKyAgICAgICAgICAgIGRlc3RpbmF0aW9uUGl4ZWxbM10gPSAo c291cmNlUGl4ZWxbMl0gKiBhbHBoYSArIDI1NCkgLyAyNTU7Ci0rICAgICAgICB9Ci0rICAgIH0K LSsjZWxzZQotICAgICBpZiBjb25zdGV4cHIgKHBpeGVsRm9ybWF0Q29udmVyc2lvbiA9PSBQaXhl bEZvcm1hdENvbnZlcnNpb246Ok5vbmUpIHsKLSAgICAgICAgIGRlc3RpbmF0aW9uUGl4ZWxbMF0g PSAoc291cmNlUGl4ZWxbMF0gKiBhbHBoYSArIDI1NCkgLyAyNTU7Ci0gICAgICAgICBkZXN0aW5h dGlvblBpeGVsWzFdID0gKHNvdXJjZVBpeGVsWzFdICogYWxwaGEgKyAyNTQpIC8gMjU1OwotQEAg LTIwMywyMyArMzA5LDQ5IEBAIHN0YXRpYyB2b2lkIGNvbnZlcnRTaW5nbGVQaXhlbFVucHJlbXVs dGlwbGllZFRvUHJlbXVsdGlwbGllZChjb25zdCB1aW50OF90KiBzb3VyCi0gICAgICAgICBkZXN0 aW5hdGlvblBpeGVsWzJdID0gKHNvdXJjZVBpeGVsWzBdICogYWxwaGEgKyAyNTQpIC8gMjU1Owot ICAgICAgICAgZGVzdGluYXRpb25QaXhlbFszXSA9IGFscGhhOwotICAgICB9Ci0rI2VuZGlmCi0g fQotIAotIHRlbXBsYXRlPFBpeGVsRm9ybWF0Q29udmVyc2lvbiBwaXhlbEZvcm1hdENvbnZlcnNp b24+Ci0rI2lmIENQVShCSUdfRU5ESUFOKQotK3N0YXRpYyB2b2lkIGNvbnZlcnRTaW5nbGVQaXhl bFVucHJlbXVsdGlwbGllZFRvVW5wcmVtdWx0aXBsaWVkKFBpeGVsRm9ybWF0IHNvdXJjZVBpeGVs Rm9ybWF0LCBjb25zdCB1aW50OF90KiBzb3VyY2VQaXhlbCwgUGl4ZWxGb3JtYXQgZGVzdGluYXRp b25QaXhlbEZvcm1hdCwgdWludDhfdCogZGVzdGluYXRpb25QaXhlbCkKLSsjZWxzZQotIHN0YXRp YyB2b2lkIGNvbnZlcnRTaW5nbGVQaXhlbFVucHJlbXVsdGlwbGllZFRvVW5wcmVtdWx0aXBsaWVk KGNvbnN0IHVpbnQ4X3QqIHNvdXJjZVBpeGVsLCB1aW50OF90KiBkZXN0aW5hdGlvblBpeGVsKQot KyNlbmRpZgotIHsKLSAgICAgaWYgY29uc3RleHByIChwaXhlbEZvcm1hdENvbnZlcnNpb24gPT0g UGl4ZWxGb3JtYXRDb252ZXJzaW9uOjpOb25lKQotICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx1 aW50MzJfdCo+KGRlc3RpbmF0aW9uUGl4ZWwpWzBdID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1 aW50MzJfdCo+KHNvdXJjZVBpeGVsKVswXTsKLSAgICAgZWxzZSB7Ci0rI2lmIENQVShCSUdfRU5E SUFOKQotKyAgICAgICAgVU5VU0VEX1BBUkFNKHNvdXJjZVBpeGVsRm9ybWF0KTsKLSsgICAgICAg IC8vIFN3YXAgcGl4ZWwgY2hhbm5lbHMgQVJHQiA8LT4gUkdCQS4KLSsgICAgICAgIGlmIChkZXN0 aW5hdGlvblBpeGVsRm9ybWF0ID09IFBpeGVsRm9ybWF0OjpBUkdCOCkgewotKyAgICAgICAgICAg IGRlc3RpbmF0aW9uUGl4ZWxbMF0gPSBzb3VyY2VQaXhlbFszXTsKLSsgICAgICAgICAgICBkZXN0 aW5hdGlvblBpeGVsWzFdID0gc291cmNlUGl4ZWxbMF07Ci0rICAgICAgICAgICAgZGVzdGluYXRp b25QaXhlbFsyXSA9IHNvdXJjZVBpeGVsWzFdOwotKyAgICAgICAgICAgIGRlc3RpbmF0aW9uUGl4 ZWxbM10gPSBzb3VyY2VQaXhlbFsyXTsKLSsgICAgICAgIH0KLSsgICAgICAgIGVsc2UgewotKyAg ICAgICAgICAgIGRlc3RpbmF0aW9uUGl4ZWxbMF0gPSBzb3VyY2VQaXhlbFsxXTsKLSsgICAgICAg ICAgICBkZXN0aW5hdGlvblBpeGVsWzFdID0gc291cmNlUGl4ZWxbMl07Ci0rICAgICAgICAgICAg ZGVzdGluYXRpb25QaXhlbFsyXSA9IHNvdXJjZVBpeGVsWzNdOwotKyAgICAgICAgICAgIGRlc3Rp bmF0aW9uUGl4ZWxbM10gPSBzb3VyY2VQaXhlbFswXTsKLSsgICAgICAgIH0KLSsjZWxzZQotICAg ICAgICAgLy8gU3dhcCBwaXhlbCBjaGFubmVscyBCR1JBIDwtPiBSR0JBLgotICAgICAgICAgZGVz dGluYXRpb25QaXhlbFswXSA9IHNvdXJjZVBpeGVsWzJdOwotICAgICAgICAgZGVzdGluYXRpb25Q aXhlbFsxXSA9IHNvdXJjZVBpeGVsWzFdOwotICAgICAgICAgZGVzdGluYXRpb25QaXhlbFsyXSA9 IHNvdXJjZVBpeGVsWzBdOwotICAgICAgICAgZGVzdGluYXRpb25QaXhlbFszXSA9IHNvdXJjZVBp eGVsWzNdOwotKyNlbmRpZgotICAgICB9Ci0gfQotIAotKyNpZiBDUFUoQklHX0VORElBTikKLSt0 ZW1wbGF0ZTx2b2lkICgqY29udmVydEZ1bmN0b3IpKFBpeGVsRm9ybWF0LCBjb25zdCB1aW50OF90 KiwgUGl4ZWxGb3JtYXQsIHVpbnQ4X3QqKT4KLSsjZWxzZQotIHRlbXBsYXRlPHZvaWQgKCpjb252 ZXJ0RnVuY3RvcikoY29uc3QgdWludDhfdCosIHVpbnQ4X3QqKT4KLSsjZW5kaWYKLSBzdGF0aWMg dm9pZCBjb252ZXJ0SW1hZ2VQaXhlbHNVbmFjY2VsZXJhdGVkKGNvbnN0IENvbnN0UGl4ZWxCdWZm ZXJDb252ZXJzaW9uVmlldyYgc291cmNlLCBjb25zdCBQaXhlbEJ1ZmZlckNvbnZlcnNpb25WaWV3 JiBkZXN0aW5hdGlvbiwgY29uc3QgSW50U2l6ZSYgZGVzdGluYXRpb25TaXplKQotIHsKLSAgICAg Y29uc3QgdWludDhfdCogc291cmNlUm93cyA9IHNvdXJjZS5yb3dzOwotQEAgLTIyOCw3ICszNjAs MTEgQEAgc3RhdGljIHZvaWQgY29udmVydEltYWdlUGl4ZWxzVW5hY2NlbGVyYXRlZChjb25zdCBD b25zdFBpeGVsQnVmZmVyQ29udmVyc2lvblZpZXcKLSAgICAgc2l6ZV90IGJ5dGVzUGVyUm93ID0g ZGVzdGluYXRpb25TaXplLndpZHRoKCkgKiA0OwotICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGRl c3RpbmF0aW9uU2l6ZS5oZWlnaHQoKTsgKyt5KSB7Ci0gICAgICAgICBmb3IgKHNpemVfdCB4ID0g MDsgeCA8IGJ5dGVzUGVyUm93OyB4ICs9IDQpCi0rI2lmIENQVShCSUdfRU5ESUFOKQotKyAgICAg ICAgICAgIGNvbnZlcnRGdW5jdG9yKHNvdXJjZS5mb3JtYXQucGl4ZWxGb3JtYXQsICZzb3VyY2VS b3dzW3hdLCBkZXN0aW5hdGlvbi5mb3JtYXQucGl4ZWxGb3JtYXQsICZkZXN0aW5hdGlvblJvd3Nb eF0pOwotKyNlbHNlCi0gICAgICAgICAgICAgY29udmVydEZ1bmN0b3IoJnNvdXJjZVJvd3NbeF0s ICZkZXN0aW5hdGlvblJvd3NbeF0pOwotKyNlbmRpZgotICAgICAgICAgc291cmNlUm93cyArPSBz b3VyY2UuYnl0ZXNQZXJSb3c7Ci0gICAgICAgICBkZXN0aW5hdGlvblJvd3MgKz0gZGVzdGluYXRp b24uYnl0ZXNQZXJSb3c7Ci0gICAgIH0KLWRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0 Zm9ybS9ncmFwaGljcy9QaXhlbEZvcm1hdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh cGhpY3MvUGl4ZWxGb3JtYXQuaAotaW5kZXggMWNhNzExYjguLjRhNzE2OGY4IDEwMDY0NAotLS0t IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGl4ZWxGb3JtYXQuaAotKysrIGIv U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGl4ZWxGb3JtYXQuaAotQEAgLTMzLDYg KzMzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewotIGVudW0gY2xhc3MgUGl4ZWxGb3JtYXQgOiB1 aW50OF90IHsKLSAgICAgUkdCQTgsCi0gICAgIEJHUkE4LAotKyNpZiBDUFUoQklHX0VORElBTikK LSsgICAgQVJHQjggPSBCR1JBOCwgLy8gQkdSQSB3aWxsIGFjdHVhbGx5IGJlIEFSR0Igb24gQklH X0VORElBTgotKyNlbmRpZgotICAgICBSR0IxMCwKLSAgICAgUkdCMTBBOCwKLSB9OwpkaWZmIC0t Z2l0IGEvc3JjcGtncy93ZWJraXQyZ3RrL3BhdGNoZXMvYmUtdHlwZWRhcnJheS5wYXRjaCBiL3Ny Y3BrZ3Mvd2Via2l0Mmd0ay9wYXRjaGVzL2JlLXR5cGVkYXJyYXkucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGNiYjcwNjU2NGZlOWMuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy93ZWJraXQyZ3RrL3BhdGNoZXMvYmUtdHlwZWRhcnJheS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDIwNiArMCwwIEBACi1Tb3VyY2U6IEphY2VrIFBpc3pjemVrIDxqYWNlay5waXN6Y3pl a0BydW5ib3guY29tPgotCi1odHRwczovL3RlbmZvdXJmb3gudGVuZGVyYXBwLmNvbS9kaXNjdXNz aW9ucy9wcm9ibGVtcy83NTA1LXByb2JsZW1zLXVwbG9hZGluZy10by1mYWNlYm9vawotCi1VcGRh dGVkIGJ5IEBxNjYuCi0KLWRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv TExJbnRPZmZsaW5lQXNtQ29uZmlnLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJ bnRPZmZsaW5lQXNtQ29uZmlnLmgKLWluZGV4IGU3NmRhZGEwLi40ZGUyZTNlYSAxMDA2NDQKLS0t LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAot KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5o Ci1AQCAtMTk4LDMgKzE5OCw5IEBACi0gI2Vsc2UKLSAjZGVmaW5lIE9GRkxJTkVfQVNNX0hBVkVf RkFTVF9UTFMgMAotICNlbmRpZgotKwotKyNpZiBDUFUoQklHX0VORElBTikKLSsjZGVmaW5lIE9G RkxJTkVfQVNNX0JJR19FTkRJQU4gMQotKyNlbHNlCi0rI2RlZmluZSBPRkZMSU5FX0FTTV9CSUdf RU5ESUFOIDAKLSsjZW5kaWYKLWRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp bnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s bGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCi1pbmRleCAyMjcxNmY4MS4uNGY5Mzc0 Y2UgMTAwNjQ0Ci0tLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl cnByZXRlcjMyXzY0LmFzbQotKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl dmVsSW50ZXJwcmV0ZXIzMl82NC5hc20KLUBAIC0xNzMyLDcgKzE3MzIsMTEgQEAgbGxpbnRPcFdp dGhNZXRhZGF0YShvcF9nZXRfYnlfdmFsLCBPcEdldEJ5VmFsLCBtYWNybyAoc2l6ZSwgZ2V0LCBk aXNwYXRjaCwgbWV0YWQKLSAKLSAub3BHZXRCeVZhbE5vdERvdWJsZToKLSAgICAgc3ViaSBBcnJh eVN0b3JhZ2VTaGFwZSwgdDIKLS0gICAgYmlhIHQyLCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGUg LSBBcnJheVN0b3JhZ2VTaGFwZSwgLm9wR2V0QnlWYWxOb3RJbmRleGVkU3RvcmFnZQotKyAgICBp ZiBCSUdfRU5ESUFOCi0rICAgICAgICBiaWEgdDIsIFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZSAt IEFycmF5U3RvcmFnZVNoYXBlLCAub3BHZXRCeVZhbFNsb3cKLSsgICAgZWxzZQotKyAgICAgICAg YmlhIHQyLCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGUgLSBBcnJheVN0b3JhZ2VTaGFwZSwgLm9w R2V0QnlWYWxOb3RJbmRleGVkU3RvcmFnZQotKyAgICBlbmQKLSAgICAgYmlhZXEgdDEsIC1zaXpl b2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGluZ0hlYWRlcjo6dS5sZW5ndGhzLnZlY3Rvckxlbmd0 aFt0M10sIC5vcEdldEJ5VmFsU2xvdwotICAgICBsb2FkaSBBcnJheVN0b3JhZ2U6Om1fdmVjdG9y ICsgVGFnT2Zmc2V0W3QzLCB0MSwgOF0sIHQyCi0gICAgIGxvYWRpIEFycmF5U3RvcmFnZTo6bV92 ZWN0b3IgKyBQYXlsb2FkT2Zmc2V0W3QzLCB0MSwgOF0sIHQxCi1kaWZmIC0tZ2l0IGEvU291cmNl L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20gYi9Tb3VyY2Uv SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQotaW5kZXggYzQ1 MzM1MWQuLmU2MTUyOWU1IDEwMDY0NAotLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50 L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KLSsrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCi1AQCAtMTg2Nyw3ICsxODY3LDExIEBAIGxs aW50T3BXaXRoTWV0YWRhdGEob3BfZ2V0X2J5X3ZhbCwgT3BHZXRCeVZhbCwgbWFjcm8gKHNpemUs IGdldCwgZGlzcGF0Y2gsIG1ldGFkCi0gICAgIAotIC5vcEdldEJ5VmFsTm90RG91YmxlOgotICAg ICBzdWJpIEFycmF5U3RvcmFnZVNoYXBlLCB0MgotLSAgICBiaWEgdDIsIFNsb3dQdXRBcnJheVN0 b3JhZ2VTaGFwZSAtIEFycmF5U3RvcmFnZVNoYXBlLCAub3BHZXRCeVZhbE5vdEluZGV4ZWRTdG9y YWdlCi0rICAgIGlmIEJJR19FTkRJQU4KLSsgICAgICAgIGJpYSB0MiwgU2xvd1B1dEFycmF5U3Rv cmFnZVNoYXBlIC0gQXJyYXlTdG9yYWdlU2hhcGUsIC5vcEdldEJ5VmFsU2xvdwotKyAgICBlbHNl Ci0rICAgICAgICBiaWEgdDIsIFNsb3dQdXRBcnJheVN0b3JhZ2VTaGFwZSAtIEFycmF5U3RvcmFn ZVNoYXBlLCAub3BHZXRCeVZhbE5vdEluZGV4ZWRTdG9yYWdlCi0rICAgIGVuZAotICAgICBiaWFl cSB0MSwgLXNpemVvZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjp1Lmxlbmd0aHMu dmVjdG9yTGVuZ3RoW3QzXSwgLm9wR2V0QnlWYWxTbG93Ci0gICAgIGdldChtX2RzdCwgdDApCi0g ICAgIGxvYWRxIEFycmF5U3RvcmFnZTo6bV92ZWN0b3JbdDMsIHQxLCA4XSwgdDIKLWRpZmYgLS1n aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmll dy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZp ZXcuaAotaW5kZXggODZmNDhhMDIuLjE1NDFiM2E4IDEwMDY0NAotLS0tIGEvU291cmNlL0phdmFT Y3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaAotKysrIGIvU291cmNl L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXcuaAotQEAgLTI5 LDYgKzI5LDcgQEAKLSAjaW5jbHVkZSAiVGhyb3dTY29wZS5oIgotICNpbmNsdWRlICJUb05hdGl2 ZUZyb21WYWx1ZS5oIgotICNpbmNsdWRlIDx3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaD4KLSsjaW5j bHVkZSA8d3RmL0ZsaXBCeXRlcy5oPgotIAotIG5hbWVzcGFjZSBKU0MgewotIAotQEAgLTE0Nyw3 ICsxNDgsMTggQEAgcHVibGljOgotICAgICAKLSAgICAgSlNWYWx1ZSBnZXRJbmRleFF1aWNrbHko c2l6ZV90IGkpIGNvbnN0Ci0gICAgIHsKLSsjaWYgQ1BVKEJJR19FTkRJQU4pCi0rICAgICAgICBz d2l0Y2ggKEFkYXB0b3I6OnR5cGVWYWx1ZSkgewotKyAgICAgICAgY2FzZSBUeXBlRmxvYXQzMjoK LSsgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6Ci0rICAgICAgICAgICAgcmV0dXJuIEFkYXB0b3I6 OnRvSlNWYWx1ZShudWxscHRyLCBnZXRJbmRleFF1aWNrbHlBc05hdGl2ZVZhbHVlKGkpKTsKLSsg ICAgICAgIGRlZmF1bHQ6Ci0rICAgICAgICAgICAgLy8gdHlwZWQgYXJyYXkgdmlld3MgYXJlIGNv bW1vbmx5IGV4cGVjdGVkIHRvIGJlIGxpdHRsZSBlbmRpYW4gdmlld3Mgb2YgdGhlIHVuZGVybHlp bmcgZGF0YQotKyAgICAgICAgICAgIHJldHVybiBBZGFwdG9yOjp0b0pTVmFsdWUobnVsbHB0ciwg ZmxpcEJ5dGVzKGdldEluZGV4UXVpY2tseUFzTmF0aXZlVmFsdWUoaSkpKTsKLSsgICAgICAgIH0K LSsjZWxzZQotICAgICAgICAgcmV0dXJuIEFkYXB0b3I6OnRvSlNWYWx1ZShudWxscHRyLCBnZXRJ bmRleFF1aWNrbHlBc05hdGl2ZVZhbHVlKGkpKTsKLSsjZW5kaWYKLSAgICAgfQotICAgICAKLSAg ICAgdm9pZCBzZXRJbmRleFF1aWNrbHlUb05hdGl2ZVZhbHVlKHNpemVfdCBpLCB0eXBlbmFtZSBB ZGFwdG9yOjpUeXBlIHZhbHVlKQotQEAgLTE1OSw3ICsxNzEsMjAgQEAgcHVibGljOgotICAgICB2 b2lkIHNldEluZGV4UXVpY2tseShzaXplX3QgaSwgSlNWYWx1ZSB2YWx1ZSkKLSAgICAgewotICAg ICAgICAgQVNTRVJUKCF2YWx1ZS5pc09iamVjdCgpKTsKLSsjaWYgQ1BVKEJJR19FTkRJQU4pCi0r ICAgICAgICBzd2l0Y2ggKEFkYXB0b3I6OnR5cGVWYWx1ZSkgewotKyAgICAgICAgY2FzZSBUeXBl RmxvYXQzMjoKLSsgICAgICAgIGNhc2UgVHlwZUZsb2F0NjQ6Ci0rICAgICAgICAgICAgc2V0SW5k ZXhRdWlja2x5VG9OYXRpdmVWYWx1ZShpLCB0b05hdGl2ZUZyb21WYWx1ZTxBZGFwdG9yPih2YWx1 ZSkpOwotKyAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgZGVmYXVsdDoKLSsgICAgICAgICAg ICAvLyB0eXBlZCBhcnJheSB2aWV3cyBhcmUgY29tbW9ubHkgZXhwZWN0ZWQgdG8gYmUgbGl0dGxl IGVuZGlhbiB2aWV3cyBvZiB0aGUgdW5kZXJseWluZyBkYXRhCi0rICAgICAgICAgICAgc2V0SW5k ZXhRdWlja2x5VG9OYXRpdmVWYWx1ZShpLCBmbGlwQnl0ZXModG9OYXRpdmVGcm9tVmFsdWU8QWRh cHRvcj4odmFsdWUpKSk7Ci0rICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICB9Ci0rI2Vsc2UK LSAgICAgICAgIHNldEluZGV4UXVpY2tseVRvTmF0aXZlVmFsdWUoaSwgdG9OYXRpdmVGcm9tVmFs dWU8QWRhcHRvcj4odmFsdWUpKTsKLSsjZW5kaWYKLSAgICAgfQotICAgICAKLSAgICAgYm9vbCBz ZXRJbmRleChKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBzaXplX3QgaSwgSlNWYWx1ZSBq c1ZhbHVlKQotQEAgLTE3MywxOCArMTk4LDU1IEBAIHB1YmxpYzoKLSAgICAgICAgIGlmIChpc0Rl dGFjaGVkKCkgfHwgaSA+PSBtX2xlbmd0aCkKLSAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g Ci0rI2lmIENQVShCSUdfRU5ESUFOKQotKyAgICAgICAgc3dpdGNoIChBZGFwdG9yOjp0eXBlVmFs dWUpIHsKLSsgICAgICAgIGNhc2UgVHlwZUZsb2F0MzI6Ci0rICAgICAgICBjYXNlIFR5cGVGbG9h dDY0OgotKyAgICAgICAgICAgIHNldEluZGV4UXVpY2tseVRvTmF0aXZlVmFsdWUoaSwgdmFsdWUp OwotKyAgICAgICAgICAgIGJyZWFrOwotKyAgICAgICAgZGVmYXVsdDoKLSsgICAgICAgICAgICAv LyB0eXBlZCBhcnJheSB2aWV3cyBhcmUgY29tbW9ubHkgZXhwZWN0ZWQgdG8gYmUgbGl0dGxlIGVu ZGlhbiB2aWV3cyBvZiB0aGUgdW5kZXJseWluZyBkYXRhCi0rICAgICAgICAgICAgc2V0SW5kZXhR dWlja2x5VG9OYXRpdmVWYWx1ZShpLCBmbGlwQnl0ZXModmFsdWUpKTsKLSsgICAgICAgICAgICBi cmVhazsKLSsgICAgICAgIH0KLSsjZWxzZQotICAgICAgICAgc2V0SW5kZXhRdWlja2x5VG9OYXRp dmVWYWx1ZShpLCB2YWx1ZSk7Ci0rI2VuZGlmCi0gICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAg fQotIAotICAgICBzdGF0aWMgRWxlbWVudFR5cGUgdG9BZGFwdG9yTmF0aXZlRnJvbVZhbHVlKEpT R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUganNWYWx1ZSkKLSAgICAgewotKyNp ZiBDUFUoQklHX0VORElBTikKLSsgICAgICAgIHN3aXRjaCAoQWRhcHRvcjo6dHlwZVZhbHVlKSB7 Ci0rICAgICAgICBjYXNlIFR5cGVGbG9hdDMyOgotKyAgICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoK LSsgICAgICAgICAgICByZXR1cm4gdG9OYXRpdmVGcm9tVmFsdWU8QWRhcHRvcj4oZ2xvYmFsT2Jq ZWN0LCBqc1ZhbHVlKTsKLSsgICAgICAgIGRlZmF1bHQ6Ci0rICAgICAgICAgICAgLy8gdHlwZWQg YXJyYXkgdmlld3MgYXJlIGNvbW1vbmx5IGV4cGVjdGVkIHRvIGJlIGxpdHRsZSBlbmRpYW4gdmll d3Mgb2YgdGhlIHVuZGVybHlpbmcgZGF0YQotKyAgICAgICAgICAgIHJldHVybiBmbGlwQnl0ZXMo dG9OYXRpdmVGcm9tVmFsdWU8QWRhcHRvcj4oZ2xvYmFsT2JqZWN0LCBqc1ZhbHVlKSk7Ci0rICAg ICAgICB9Ci0rI2Vsc2UKLSAgICAgICAgIHJldHVybiB0b05hdGl2ZUZyb21WYWx1ZTxBZGFwdG9y PihnbG9iYWxPYmplY3QsIGpzVmFsdWUpOwotKyNlbmRpZgotICAgICB9Ci0gCi0gICAgIHN0YXRp YyBzdGQ6Om9wdGlvbmFsPEVsZW1lbnRUeXBlPiB0b0FkYXB0b3JOYXRpdmVGcm9tVmFsdWVXaXRo b3V0Q29lcmNpb24oSlNWYWx1ZSBqc1ZhbHVlKQotICAgICB7Ci0tICAgICAgICByZXR1cm4gdG9O YXRpdmVGcm9tVmFsdWVXaXRob3V0Q29lcmNpb248QWRhcHRvcj4oanNWYWx1ZSk7Ci0rICAgICAg ICBhdXRvIG9wdCA9IHRvTmF0aXZlRnJvbVZhbHVlV2l0aG91dENvZXJjaW9uPEFkYXB0b3I+KGpz VmFsdWUpOwotKyNpZiBDUFUoQklHX0VORElBTikKLSsgICAgICAgIHN3aXRjaCAoQWRhcHRvcjo6 dHlwZVZhbHVlKSB7Ci0rICAgICAgICBjYXNlIFR5cGVGbG9hdDMyOgotKyAgICAgICAgY2FzZSBU eXBlRmxvYXQ2NDoKLSsgICAgICAgICAgICBicmVhazsKLSsgICAgICAgIGRlZmF1bHQ6Ci0rICAg ICAgICAgICAgLy8gdHlwZWQgYXJyYXkgdmlld3MgYXJlIGNvbW1vbmx5IGV4cGVjdGVkIHRvIGJl IGxpdHRsZSBlbmRpYW4gdmlld3Mgb2YgdGhlIHVuZGVybHlpbmcgZGF0YQotKyAgICAgICAgICAg IGlmICghb3B0KQotKyAgICAgICAgICAgICAgICBicmVhazsKLSsgICAgICAgICAgICByZXR1cm4g c3RkOjpvcHRpb25hbDxFbGVtZW50VHlwZT57ZmxpcEJ5dGVzKCpvcHQpfTsKLSsgICAgICAgIH0K LSsjZW5kaWYKLSsgICAgICAgIHJldHVybiBvcHQ7Ci0gICAgIH0KLSAKLSAgICAgdm9pZCBzb3J0 KCkKLWRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNU eXBlZEFycmF5Vmlld1Byb3RvdHlwZUZ1bmN0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl L3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaAotaW5k ZXggZGYwNDM1ZjYuLjMwMTc1NjNjIDEwMDY0NAotLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl L3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQcm90b3R5cGVGdW5jdGlvbnMuaAotKysr IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdQ cm90b3R5cGVGdW5jdGlvbnMuaAotQEAgLTM4NSw5ICszODUsMzYgQEAgQUxXQVlTX0lOTElORSBF bmNvZGVkSlNWYWx1ZSBnZW5lcmljVHlwZQotIAotICAgICBzaXplX3Qgc2VhcmNoTGVuZ3RoID0g c3RkOjptaW48c2l6ZV90PihsZW5ndGgsIHVwZGF0ZWRMZW5ndGgpOwotICAgICBpZiBjb25zdGV4 cHIgKFZpZXdDbGFzczo6QWRhcHRvcjo6aXNGbG9hdCkgewotLSAgICAgICAgaWYgKHN0ZDo6aXNu YW4oc3RhdGljX2Nhc3Q8ZG91YmxlPigqdGFyZ2V0T3B0aW9uKSkpIHsKLSsgICAgICAgIGRvdWJs ZSB0YXJnZXRPcHRpb25MaXR0bGVFbmRpYW5Bc0RvdWJsZTsKLSsjaWYgQ1BVKEJJR19FTkRJQU4p Ci0rICAgICAgICBzd2l0Y2ggKFZpZXdDbGFzczo6VHlwZWRBcnJheVN0b3JhZ2VUeXBlKSB7Ci0r ICAgICAgICBjYXNlIFR5cGVGbG9hdDMyOgotKyAgICAgICAgY2FzZSBUeXBlRmxvYXQ2NDoKLSsg ICAgICAgICAgICB0YXJnZXRPcHRpb25MaXR0bGVFbmRpYW5Bc0RvdWJsZSA9IHN0YXRpY19jYXN0 PGRvdWJsZT4oKnRhcmdldE9wdGlvbik7Ci0rICAgICAgICBkZWZhdWx0OgotKyAgICAgICAgICAg IC8vIHR5cGVkIGFycmF5IHZpZXdzIGFyZSBjb21tb25seSBleHBlY3RlZCB0byBiZSBsaXR0bGUg ZW5kaWFuIHZpZXdzIG9mIHRoZSB1bmRlcmx5aW5nIGRhdGEKLSsgICAgICAgICAgICB0YXJnZXRP cHRpb25MaXR0bGVFbmRpYW5Bc0RvdWJsZSA9IHN0YXRpY19jYXN0PGRvdWJsZT4oZmxpcEJ5dGVz KCp0YXJnZXRPcHRpb24pKTsKLSsgICAgICAgIH0KLSsjZWxzZQotKyAgICAgICAgdGFyZ2V0T3B0 aW9uTGl0dGxlRW5kaWFuQXNEb3VibGUgPSBzdGF0aWNfY2FzdDxkb3VibGU+KCp0YXJnZXRPcHRp b24pOwotKyNlbmRpZgotKwotKyAgICAgICAgaWYgKHN0ZDo6aXNuYW4odGFyZ2V0T3B0aW9uTGl0 dGxlRW5kaWFuQXNEb3VibGUpKSB7Ci0gICAgICAgICAgICAgZm9yICg7IGluZGV4IDwgc2VhcmNo TGVuZ3RoOyArK2luZGV4KSB7Ci0tICAgICAgICAgICAgICAgIGlmIChzdGQ6OmlzbmFuKHN0YXRp Y19jYXN0PGRvdWJsZT4oYXJyYXlbaW5kZXhdKSkpCi0rICAgICAgICAgICAgICAgIGRvdWJsZSBh cnJheUVsZW1lbnRMaXR0bGVFbmRpYW5Bc0RvdWJsZTsKLSsjaWYgQ1BVKEJJR19FTkRJQU4pCi0r ICAgICAgICAgICAgICAgIHN3aXRjaCAoVmlld0NsYXNzOjpUeXBlZEFycmF5U3RvcmFnZVR5cGUp IHsKLSsgICAgICAgICAgICAgICAgY2FzZSBUeXBlRmxvYXQzMjoKLSsgICAgICAgICAgICAgICAg Y2FzZSBUeXBlRmxvYXQ2NDoKLSsgICAgICAgICAgICAgICAgICAgIGFycmF5RWxlbWVudExpdHRs ZUVuZGlhbkFzRG91YmxlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihhcnJheVtpbmRleF0pOwotKyAg ICAgICAgICAgICAgICBkZWZhdWx0OgotKyAgICAgICAgICAgICAgICAgICAgLy8gdHlwZWQgYXJy YXkgdmlld3MgYXJlIGNvbW1vbmx5IGV4cGVjdGVkIHRvIGJlIGxpdHRsZSBlbmRpYW4gdmlld3Mg b2YgdGhlIHVuZGVybHlpbmcgZGF0YQotKyAgICAgICAgICAgICAgICAgICAgYXJyYXlFbGVtZW50 TGl0dGxlRW5kaWFuQXNEb3VibGUgPSBzdGF0aWNfY2FzdDxkb3VibGU+KGZsaXBCeXRlcyhhcnJh eVtpbmRleF0pKTsKLSsgICAgICAgICAgICAgICAgfQotKyNlbHNlCi0rICAgICAgICAgICAgICAg IGFycmF5RWxlbWVudExpdHRsZUVuZGlhbkFzRG91YmxlID0gc3RhdGljX2Nhc3Q8ZG91YmxlPihh cnJheVtpbmRleF0pOwotKyNlbmRpZgotKyAgICAgICAgICAgICAgICBpZiAoc3RkOjppc25hbihh cnJheUVsZW1lbnRMaXR0bGVFbmRpYW5Bc0RvdWJsZSkpCi0gICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbih0cnVlKSk7Ci0gICAgICAgICAgICAgfQot ICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9kaXNhYmxlLWRtYWJ1Zi1udmlk aWEucGF0Y2ggYi9zcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9kaXNhYmxlLWRtYWJ1Zi1udmlk aWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uNjUyYzYz OWNlMzhiZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mvd2Via2l0Mmd0ay9wYXRjaGVzL2Rp c2FibGUtZG1hYnVmLW52aWRpYS5wYXRjaApAQCAtMCwwICsxLDYzIEBACitGcm9tOiBDYXJsb3Mg R2FyY2lhIENhbXBvcyA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorU3ViamVjdDogRGlzYWJsZSBETUFC dWYgcmVuZGVyZXIgZm9yIE5WSURJQSBwcm9wcmlldGFyeSBkcml2ZXJzCitCdWc6IGh0dHBzOi8v YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjI2MDcKK0J1Zy1EZWJpYW46IGh0dHBz Oi8vYnVncy5kZWJpYW4ub3JnLzEwMzk3MjAKK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL1dl YktpdC9XZWJLaXQvcHVsbC8xODYxNAorSW5kZXg6IHdlYmtpdGd0ay9Tb3VyY2UvV2ViS2l0L1VJ UHJvY2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVETUFCdWYuY3BwCis9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 CistLS0gd2Via2l0Z3RrLm9yaWcvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL0FjY2VsZXJh dGVkQmFja2luZ1N0b3JlRE1BQnVmLmNwcAorKysrIHdlYmtpdGd0ay9Tb3VyY2UvV2ViS2l0L1VJ UHJvY2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVETUFCdWYuY3BwCitAQCAtMzgsMTEg KzM4LDEzIEBACisgI2luY2x1ZGUgPFdlYkNvcmUvR0xDb250ZXh0Lmg+CisgI2luY2x1ZGUgPFdl YkNvcmUvSW50UmVjdC5oPgorICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlzcGxheS5oPgor KyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtRGlzcGxheVN1cmZhY2VsZXNzLmg+CisgI2luY2x1 ZGUgPGVwb3h5L2VnbC5oPgorICNpbmNsdWRlIDx3dGYvZ2xpYi9HVW5pcXVlUHRyLmg+CisgCisg I2lmIFVTRShHQk0pCisgI2luY2x1ZGUgPFdlYkNvcmUvRE1BQnVmRm9ybWF0Lmg+CisrI2luY2x1 ZGUgPFdlYkNvcmUvUGxhdGZvcm1EaXNwbGF5R0JNLmg+CisgI2luY2x1ZGUgPGdibS5oPgorIHN0 YXRpYyBjb25zdGV4cHIgdWludDY0X3Qgc19kbWFidWZJbnZhbGlkTW9kaWZpZXIgPSB1aW50NjRf dChXZWJDb3JlOjpETUFCdWZGb3JtYXQ6Ok1vZGlmaWVyOjpJbnZhbGlkKTsKKyAjZWxzZQorQEAg LTU1LDYgKzU3LDI5IEBAIHN0YXRpYyBjb25zdGV4cHIgdWludDY0X3Qgc19kbWFidWZJbnZhbGkK KyAKKyBuYW1lc3BhY2UgV2ViS2l0IHsKKyAKKytzdGF0aWMgYm9vbCBpc05WSURJQSgpCisrewor KyAgICBjb25zdCBjaGFyKiBmb3JjZURNQUJ1ZiA9IGdldGVudigiV0VCS0lUX0ZPUkNFX0RNQUJV Rl9SRU5ERVJFUiIpOworKyAgICBpZiAoZm9yY2VETUFCdWYgJiYgc3RyY21wKGZvcmNlRE1BQnVm LCAiMCIpKQorKyAgICAgICAgcmV0dXJuIGZhbHNlOworKworKyAgICBzdGQ6OnVuaXF1ZV9wdHI8 V2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5PiBwbGF0Zm9ybURpc3BsYXk7CisrI2lmIFVTRShHQk0p CisrICAgIGNvbnN0IGNoYXIqIGRpc2FibGVHQk0gPSBnZXRlbnYoIldFQktJVF9ETUFCVUZfUkVO REVSRVJfRElTQUJMRV9HQk0iKTsKKysgICAgaWYgKCFkaXNhYmxlR0JNIHx8ICFzdHJjbXAoZGlz YWJsZUdCTSwgIjAiKSkgeworKyAgICAgICAgaWYgKGF1dG8qIGRldmljZSA9IFdlYkNvcmU6OlBs YXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpLmdibURldmljZSgpKQorKyAgICAgICAgICAg IHBsYXRmb3JtRGlzcGxheSA9IFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUdCTTo6Y3JlYXRlKGRl dmljZSk7CisrICAgIH0KKysjZW5kaWYKKysgICAgaWYgKCFwbGF0Zm9ybURpc3BsYXkpCisrICAg ICAgICBwbGF0Zm9ybURpc3BsYXkgPSBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlTdXJmYWNlbGVz czo6Y3JlYXRlKCk7CisrCisrICAgIFdlYkNvcmU6OkdMQ29udGV4dDo6U2NvcGVkR0xDb250ZXh0 IGdsQ29udGV4dChXZWJDb3JlOjpHTENvbnRleHQ6OmNyZWF0ZU9mZnNjcmVlbihwbGF0Zm9ybURp c3BsYXkgPyAqcGxhdGZvcm1EaXNwbGF5IDogV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5OjpzaGFy ZWREaXNwbGF5KCkpKTsKKysgICAgaWYgKHN0cnN0cihyZWludGVycHJldF9jYXN0PGNvbnN0IGNo YXIqPihnbEdldFN0cmluZyhHTF9WRU5ET1IpKSwgIk5WSURJQSIpKQorKyAgICAgICAgcmV0dXJu IHRydWU7CisrICAgIHJldHVybiBmYWxzZTsKKyt9CisrCisgT3B0aW9uU2V0PERNQUJ1ZlJlbmRl cmVyQnVmZmVyTW9kZT4gQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVETUFCdWY6OnJlbmRlcmVyQnVm ZmVyTW9kZSgpCisgeworICAgICBzdGF0aWMgT3B0aW9uU2V0PERNQUJ1ZlJlbmRlcmVyQnVmZmVy TW9kZT4gbW9kZTsKK0BAIC03MCw2ICs5NSw5IEBAIE9wdGlvblNldDxETUFCdWZSZW5kZXJlckJ1 ZmZlck1vZGU+IEFjY2UKKyAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICB9CisgCisrICAg ICAgICBpZiAoaXNOVklESUEoKSkKKysgICAgICAgICAgICByZXR1cm47CisrCisgICAgICAgICBt b2RlLmFkZChETUFCdWZSZW5kZXJlckJ1ZmZlck1vZGU6OlNoYXJlZE1lbW9yeSk7CisgCisgICAg ICAgICBjb25zdCBhdXRvJiBlZ2xFeHRlbnNpb25zID0gV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5 OjpzaGFyZWREaXNwbGF5KCkuZWdsRXh0ZW5zaW9ucygpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy93 ZWJraXQyZ3RrL3BhdGNoZXMvZml4LWZ0YmZzLWkzODYucGF0Y2ggYi9zcmNwa2dzL3dlYmtpdDJn dGsvcGF0Y2hlcy9maXgtZnRiZnMtaTM4Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAwLi4xYjVlYzBkYTE0MmMwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy93ZWJraXQyZ3RrL3BhdGNoZXMvZml4LWZ0YmZzLWkzODYucGF0Y2gKQEAgLTAsMCArMSwxNiBA QAorRnJvbTogQWxiZXJ0byBHYXJjaWEgPGJlcnRvQGlnYWxpYS5jb20+CitTdWJqZWN0OiBGaXgg RlRCRlMgaW4gaTM4NgorQnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/ aWQ9MjY4NzM5CitJbmRleDogd2Via2l0Z3RrL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M b3dMZXZlbEludGVycHJldGVyLmNwcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHdlYmtpdGd0ay5vcmlnL1Nv dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmNwcAorKysrIHdl YmtpdGd0ay9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5j cHAKK0BAIC0zMzYsOCArMzM2LDYgQEAgSlNWYWx1ZSBDTG9vcDo6ZXhlY3V0ZShPcGNvZGVJRCBl bnRyeU9wYworICAgICBVTlVTRURfVkFSSUFCTEUodDIpOworICAgICBVTlVTRURfVkFSSUFCTEUo dDMpOworICAgICBVTlVTRURfVkFSSUFCTEUodDUpOworLSAgICBVTlVTRURfVkFSSUFCTEUodDYp OworLSAgICBVTlVTRURfVkFSSUFCTEUodDcpOworIAorICAgICBzdHJ1Y3QgU3RhY2tQb2ludGVy U2NvcGUgeworICAgICAgICAgU3RhY2tQb2ludGVyU2NvcGUoQ0xvb3BTdGFjayYgc3RhY2spCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9maXgtcmlzY3Y2NC1idWlsZC5w YXRjaCBiL3NyY3BrZ3Mvd2Via2l0Mmd0ay9wYXRjaGVzL2ZpeC1yaXNjdjY0LWJ1aWxkLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZjU5OWVhM2M1Njk4Li4wMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3Mvd2Via2l0Mmd0ay9wYXRjaGVzL2ZpeC1yaXNjdjY0LWJ1aWxkLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotZGlmZiAtLWdpdCBhL1NvdXJjZS9K YXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3Jpc2N2NjQucmIgYi9Tb3VyY2UvSmF2YVNjcmlwdENv cmUvb2ZmbGluZWFzbS9yaXNjdjY0LnJiCi1pbmRleCA4MWYzNTZkMDRhZTEuLjRhYmIxNzYxNTA5 ZCAxMDA2NDQKLS0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3Jpc2N2NjQu cmIKLSsrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL3Jpc2N2NjQucmIKLUBA IC0xNTIzLDcgKzE1MjMsOCBAQCBkZWYgcmlzY3Y2NEdlbmVyYXRlV0FTTVBsYWNlaG9sZGVycyhs aXN0KQotICAgICAgICAgaWYgbm9kZS5pc19hPyBJbnN0cnVjdGlvbgotICAgICAgICAgICAgIGNh c2Ugbm9kZS5vcGNvZGUKLSAgICAgICAgICAgICB3aGVuICJsb2FkbGlua2FjcWIiLCAibG9hZGxp bmthY3FoIiwgImxvYWRsaW5rYWNxaSIsICJsb2FkbGlua2FjcXEiLAotLSAgICAgICAgICAgICAg ICAgInN0b3JlY29uZHJlbGIiLCAic3RvcmVjb25kcmVsaCIsICJzdG9yZWNvbmRyZWxpIiwgInN0 b3JlY29uZHJlbHEiCi0rICAgICAgICAgICAgICAgICAic3RvcmVjb25kcmVsYiIsICJzdG9yZWNv bmRyZWxoIiwgInN0b3JlY29uZHJlbGkiLCAic3RvcmVjb25kcmVscSIsCi0rICAgICAgICAgICAg ICAgICAibG9hZHYiLCAic3RvcmV2IgotICAgICAgICAgICAgICAgICBuZXdMaXN0IDw8IEluc3Ry dWN0aW9uLm5ldyhub2RlLmNvZGVPcmlnaW4sICJydl9lYnJlYWsiLCBbXSwgIldlYkFzc2VtYmx5 IHBsYWNlaG9sZGVyIGZvciBvcGNvZGUgI3tub2RlLm9wY29kZX0iKQotICAgICAgICAgICAgIGVs c2UKLSAgICAgICAgICAgICAgICAgbmV3TGlzdCA8PCBub2RlCi1kaWZmIC0tZ2l0IGEvU291cmNl L1dURi93dGYvUGxhdGZvcm1FbmFibGUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxl LmgKLWluZGV4IGUzMGEzZDhjZTA3Ny4uOTM3ZmRkNDQ3ZjkyIDEwMDY0NAotLS0tIGEvU291cmNl L1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAotKysrIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1F bmFibGUuaAotQEAgLTYxNiw3ICs2MTYsNyBAQAotICN1bmRlZiBFTkFCTEVfV0VCQVNTRU1CTFkK LSAjZGVmaW5lIEVOQUJMRV9XRUJBU1NFTUJMWSAxCi0gI3VuZGVmIEVOQUJMRV9XRUJBU1NFTUJM WV9CM0pJVAotLSNkZWZpbmUgRU5BQkxFX1dFQkFTU0VNQkxZX0IzSklUIDAKLSsjZGVmaW5lIEVO QUJMRV9XRUJBU1NFTUJMWV9CM0pJVCAxCi0gI3VuZGVmIEVOQUJMRV9XRUJBU1NFTUJMWV9CQlFK SVQKLSAjZGVmaW5lIEVOQUJMRV9XRUJBU1NFTUJMWV9CQlFKSVQgMAotICNlbmRpZgotCmRpZmYg LS1naXQgYS9zcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9pbml0aWFsLWV4ZWMucGF0Y2ggYi9z cmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9pbml0aWFsLWV4ZWMucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDU3OTA4NGJkNjA2NTAuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy93ZWJraXQyZ3RrL3BhdGNoZXMvaW5pdGlhbC1leGVjLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMjMgKzAsMCBAQAotU291cmNlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1 Zy5jZ2k/aWQ9MjU0Mjg2Ci0KLVVzYWdlIGluaXRpYWwtZXhlYyBUTFMgaXMgaW5jb21wYXRpYmxl IHdpdGggZGxvcGVuKCkgb24gbXVzbC4KLQotU2VlIGFsc286IGh0dHBzOi8vZ2l0bGFiLmZyZWVk ZXNrdG9wLm9yZy9tZXNhL21lc2EvLS9jb21taXQvODU3MGEyYTI4MDU4N2ExZTQzYWMxMWFkNDZh ZDYyZGZkZDZjN2IzOQotIC4uLi9wbGF0Zm9ybS9ncmFwaGljcy9nYm0vR3JhcGhpY3NDb250ZXh0 R0xBTkdMRUxpbnV4LmNwcCAgIHwgNiArKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRp b25zKCspLCAxIGRlbGV0aW9uKC0pCi0tLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw aGljcy9nYm0vR3JhcGhpY3NDb250ZXh0R0xBTkdMRUxpbnV4LmNwcAkKLSsrKyBhL1NvdXJjZS9X ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dibS9HcmFwaGljc0NvbnRleHRHTEFOR0xFTGludXgu Y3BwCQotQEAgLTEwOCw3ICsxMDgsMTEgQEAgUmVmUHRyPFBpeGVsQnVmZmVyPiBHcmFwaGljc0Nv bnRleHRHTEFOR0xFOjpyZWFkQ29tcG9zaXRlZFJlc3VsdHMoKQotIAotIGJvb2wgR3JhcGhpY3ND b250ZXh0R0xBTkdMRTo6bWFrZUNvbnRleHRDdXJyZW50KCkKLSB7Ci0tICAgIHN0YXRpYyB0aHJl YWRfbG9jYWwgVExTX01PREVMX0lOSVRJQUxfRVhFQyBHcmFwaGljc0NvbnRleHRHTEFOR0xFKiBz X2N1cnJlbnRDb250ZXh0IHsgbnVsbHB0ciB9OwotKyAgICAjaWZkZWYgX19HTElCQ19fCi0rICAg ICAgICBzdGF0aWMgdGhyZWFkX2xvY2FsIFRMU19NT0RFTF9JTklUSUFMX0VYRUMgR3JhcGhpY3ND b250ZXh0R0xBTkdMRSogc19jdXJyZW50Q29udGV4dCB7IG51bGxwdHIgfTsKLSsgICAgI2Vsc2UK LSsgICAgICAgIHN0YXRpYyB0aHJlYWRfbG9jYWwgR3JhcGhpY3NDb250ZXh0R0xBTkdMRSogc19j dXJyZW50Q29udGV4dCB7IG51bGxwdHIgfTsKLSsgICAgI2VuZGlmCi0gCi0gICAgIGlmIChzX2N1 cnJlbnRDb250ZXh0ID09IHRoaXMpCi0gICAgICAgICByZXR1cm4gdHJ1ZTsKLS0tIApkaWZmIC0t Z2l0IGEvc3JjcGtncy93ZWJraXQyZ3RrL3BhdGNoZXMvbGUtY2hlY2sucGF0Y2ggYi9zcmNwa2dz L3dlYmtpdDJndGsvcGF0Y2hlcy9sZS1jaGVjay5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggYzVhODczYmVmZDRiZi4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL3dlYmtp dDJndGsvcGF0Y2hlcy9sZS1jaGVjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI2ICswLDAg QEAKLUZyb20gZWY4ZjlhMGI2MTUwOTQwMWU2NGM3MTdjN2NjNmYwMjVmMWI0OTMwMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+Ci1EYXRl OiBNb24sIDQgSmFuIDIwMjEgMTk6MTI6MjUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gcG9ydGFi bGUgbGl0dGxlIGVuZGlhbiBjaGVjawotCi0tLS0KLSBTb3VyY2UvVGhpcmRQYXJ0eS94ZGdtaW1l L3NyYy94ZGdtaW1lbWFnaWMuYyB8IDMgKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IFNvdXJjZS9UaGlyZFBhcnR5L3hkZ21p bWUvc3JjL3hkZ21pbWVtYWdpYy5jIFNvdXJjZS9UaGlyZFBhcnR5L3hkZ21pbWUvc3JjL3hkZ21p bWVtYWdpYy5jCi1pbmRleCAzYTYyYjlkLi45YmQ0ZTFkIDEwMDY0NAotLS0tIGEvU291cmNlL1Ro aXJkUGFydHkveGRnbWltZS9zcmMveGRnbWltZW1hZ2ljLmMKLSsrKyBiL1NvdXJjZS9UaGlyZFBh cnR5L3hkZ21pbWUvc3JjL3hkZ21pbWVtYWdpYy5jCi1AQCAtNDg1LDggKzQ4NSw3IEBAIF94ZGdf bWltZV9tYWdpY19wYXJzZV9tYWdpY19saW5lIChGSUxFICAgICAgICAgICAgICAqbWFnaWNfZmls ZSwKLSAJICAgICAgX3hkZ19taW1lX21hZ2ljX21hdGNobGV0X2ZyZWUgKG1hdGNobGV0KTsKLSAJ ICAgICAgcmV0dXJuIFhER19NSU1FX01BR0lDX0VSUk9SOwotIAkgICAgfQotLQkgIC8qIEZJWE1F OiBuZWVkIHRvIGdldCB0aGlzIGRlZmluZWQgaW4gYSA8Y29uZmlnLmg+IHN0eWxlIGZpbGUgKi8K LS0jaWYgTElUVExFX0VORElBTgotKyNpZiBfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRM RV9FTkRJQU5fXwotIAkgIGZvciAoaSA9IDA7IGkgPCBtYXRjaGxldC0+dmFsdWVfbGVuZ3RoOyBp ID0gaSArIG1hdGNobGV0LT53b3JkX3NpemUpCi0gCSAgICB7Ci0gCSAgICAgIGlmIChtYXRjaGxl dC0+d29yZF9zaXplID09IDIpCi0tLSAKLTIuMzAuMAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL3dl YmtpdDJndGsvcGF0Y2hlcy9wcmVmZXItcHRocmVhZC5wYXRjaCBiL3NyY3BrZ3Mvd2Via2l0Mmd0 ay9wYXRjaGVzL3ByZWZlci1wdGhyZWFkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMDAuLmNiMTQ0ZjZkYmI1N2YKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3dlYmtpdDJndGsvcGF0Y2hlcy9wcmVmZXItcHRocmVhZC5wYXRjaApAQCAtMCwwICsxLDI4IEBA CitGcm9tOiBBbGJlcnRvIEdhcmNpYSA8YmVydG9AaWdhbGlhLmNvbT4KK0Rlc2NyaXB0aW9uOiBF bmFibGUgVEhSRUFEU19QUkVGRVJfUFRIUkVBRF9GTEFHCisgVGhpcyBmaXhlcyBhIEZUQkZTIGlu IHJpc2N2NjQKK0J1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4 MjYyMgorQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODk1OTY5CitPcmlnaW46 IGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMzE4NDMKK0luZGV4OiB3ZWJraXRn dGsvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3ZWJraXRn dGsub3JpZy9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysrIHdlYmtpdGd0ay9Tb3Vy Y2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorQEAgLTEzLDYgKzEzLDggQEAgZW5kaWYgKCkKKyAK KyBzZXQoVVNFUl9BR0VOVF9CUkFORElORyAiIiBDQUNIRSBTVFJJTkcgIkJyYW5kaW5nIHRvIGFk ZCB0byB1c2VyIGFnZW50IHN0cmluZyIpCisgCisrc2V0KFRIUkVBRFNfUFJFRkVSX1BUSFJFQURf RkxBRyBPTikKKysKKyBmaW5kX3BhY2thZ2UoQ2Fpcm8gMS4xNi4wIFJFUVVJUkVEKQorIGZpbmRf cGFja2FnZShGb250Y29uZmlnIDIuMTMuMCBSRVFVSVJFRCkKKyBmaW5kX3BhY2thZ2UoRnJlZXR5 cGUgMi45LjAgUkVRVUlSRUQpCitJbmRleDogd2Via2l0Z3RrL1NvdXJjZS9jbWFrZS9PcHRpb25z SlNDT25seS5jbWFrZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHdlYmtpdGd0ay5vcmlnL1NvdXJjZS9jbWFr ZS9PcHRpb25zSlNDT25seS5jbWFrZQorKysrIHdlYmtpdGd0ay9Tb3VyY2UvY21ha2UvT3B0aW9u c0pTQ09ubHkuY21ha2UKK0BAIC0xLDMgKzEsNCBAQAorK3NldChUSFJFQURTX1BSRUZFUl9QVEhS RUFEX0ZMQUcgT04pCisgZmluZF9wYWNrYWdlKFRocmVhZHMgUkVRVUlSRUQpCisgCisgaWYgKE1T VkMpCmRpZmYgLS1naXQgYS9zcmNwa2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9yZWR1Y2UtbWVtb3J5 LW92ZXJoZWFkcy5wYXRjaCBiL3NyY3BrZ3Mvd2Via2l0Mmd0ay9wYXRjaGVzL3JlZHVjZS1tZW1v cnktb3ZlcmhlYWRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MDAuLmU0NWEzYWEzOGQ3OTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3dlYmtpdDJndGsv cGF0Y2hlcy9yZWR1Y2UtbWVtb3J5LW92ZXJoZWFkcy5wYXRjaApAQCAtMCwwICsxLDE5IEBACitG cm9tOiBBbGJlcnRvIEdhcmNpYSA8YmVydG9AaWdhbGlhLmNvbT4KK1N1YmplY3Q6IFJlZHVjZSBt ZW1vcnkgdXNhZ2UKK0J1Zy1EZWJpYW46IGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzk0OTYyMQor Rm9yd2FyZGVkOiBubworSW5kZXg6IHdlYmtpdGd0ay9Tb3VyY2UvY21ha2UvT3B0aW9uc0NvbW1v bi5jbWFrZQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQorLS0tIHdlYmtpdGd0ay5vcmlnL1NvdXJjZS9jbWFrZS9PcHRp b25zQ29tbW9uLmNtYWtlCisrKysgd2Via2l0Z3RrL1NvdXJjZS9jbWFrZS9PcHRpb25zQ29tbW9u LmNtYWtlCitAQCAtMTk0LDYgKzE5NCwxMCBAQCBvcHRpb24oR0NDX09GRkxJTkVBU01fU09VUkNF X01BUAorIAorIG9wdGlvbihVU0VfQVBQTEVfSUNVICJVc2UgQXBwbGUncyBpbnRlcm5hbCBJQ1Ui ICR7QVBQTEV9KQorIAorKyMgUGFzcyAtLXJlZHVjZS1tZW1vcnktb3ZlcmhlYWRzIHRvIHRoZSBi ZmQgbGlua2VyIGluIG9yZGVyIHRvIHNhdmUgbWVtb3J5Cisrc2V0KENNQUtFX0VYRV9MSU5LRVJf RkxBR1MgIiR7Q01BS0VfRVhFX0xJTktFUl9GTEFHU30gLVdsLC0tcmVkdWNlLW1lbW9yeS1vdmVy aGVhZHMiKQorK3NldChDTUFLRV9TSEFSRURfTElOS0VSX0ZMQUdTICIke0NNQUtFX0VYRV9MSU5L RVJfRkxBR1N9IC1XbCwtLXJlZHVjZS1tZW1vcnktb3ZlcmhlYWRzIikKKysKKyAjIEVuYWJsZSB0 aGUgdXNhZ2Ugb2YgT3Blbk1QLgorICMgIC0gQXQgdGhpcyBtb21lbnQsIE9wZW5NUCBpcyBvbmx5 IHVzZWQgYXMgYW4gYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb24KKyAjICAgIHRvIG5hdGl2ZSB0 aHJlYWRzIGZvciB0aGUgcGFyYWxsZWxpemF0aW9uIG9mIHRoZSBTVkcgZmlsdGVycy4KZGlmZiAt LWdpdCBhL3NyY3BrZ3Mvd2Via2l0Mmd0ay9wYXRjaGVzL3JlcHJvZHVjaWJsZS5wYXRjaCBiL3Ny Y3BrZ3Mvd2Via2l0Mmd0ay9wYXRjaGVzL3JlcHJvZHVjaWJsZS5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMmYzYTU1NWNiY2ZkNC4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL3dlYmtpdDJndGsvcGF0Y2hlcy9yZXByb2R1Y2libGUucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw4MSArMCwwIEBACi1jb21taXQgNzM2Njk4OGYwMzNkMjlmMmIyZTJlNjhmZWRiODgyN2Jh MDlhMmNjMQotQXV0aG9yOiBEYW5pZWwgS29sZXNhIDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KLURh dGU6ICAgV2VkIEphbiA1IDE3OjUwOjA3IDIwMjIgKzAxMDAKLQotICAgIHJlcHJvZHVjaWJsZSBi dWlsZAotCi1kaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl R2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh dG9yLnBtCi1pbmRleCBhNjA0YmZkMy4uYzI2N2I0MDIgMTAwNjQ0Ci0tLS0gYS9Tb3VyY2UvV2Vi Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KLSsrKyBiL1NvdXJjZS9XZWJD b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQotQEAgLTMyNCw3ICszMjQsNyBA QCBzdWIgTWVyZ2VFeHRlbmRlZEF0dHJpYnV0ZXNGcm9tU3VwcGxlbWVudGFsCi0gewotICAgICBt eSAoJG9iamVjdCwgJHN1cHBsZW1lbnRhbEV4dGVuZGVkQXR0cmlidXRlcywgJHByb3BlcnR5LCAk Y29udGV4dCkgPSBAXzsKLSAKLS0gICAgZm9yZWFjaCBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVOYW1l IChrZXlzICV7JHN1cHBsZW1lbnRhbEV4dGVuZGVkQXR0cmlidXRlc30pIHsKLSsgICAgZm9yZWFj aCBteSAkZXh0ZW5kZWRBdHRyaWJ1dGVOYW1lIChzb3J0IGtleXMgJXskc3VwcGxlbWVudGFsRXh0 ZW5kZWRBdHRyaWJ1dGVzfSkgewotICAgICAgICAgbXkgJGlzQWxsb3dlZCA9IDA7Ci0gICAgICAg ICBmb3IgbXkgJGNvbnRleHRBbGxvd2VkIChAeyRpZGxBdHRyaWJ1dGVzLT57JGV4dGVuZGVkQXR0 cmlidXRlTmFtZX0tPnsiY29udGV4dHNBbGxvd2VkIn19KSB7Ci0gICAgICAgICAgICAgaWYgKCRj b250ZXh0QWxsb3dlZCBlcSAkY29udGV4dCkgewotZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmlu ZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KLWluZGV4IGJlNWE1ZDUxLi5iZWNiMmIy ZiAxMDA2NDQKLS0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy YXRvckpTLnBtCi0rKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l cmF0b3JKUy5wbQotQEAgLTMyMTcsNyArMzIxNyw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgotICAg ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0 YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgU3RydWN0dXJlRmxhZ3MgPSBCYXNlOjpTdHJ1Y3R1cmVG bGFncyIpOwotICAgICAgICAgfQotLSAgICAgICAgZm9yZWFjaCBteSAkc3RydWN0dXJlRmxhZyAo c29ydCAoa2V5cyAlc3RydWN0dXJlRmxhZ3MpKSB7Ci0rICAgICAgICBmb3JlYWNoIG15ICRzdHJ1 Y3R1cmVGbGFnIChzb3J0IChzb3J0IGtleXMgJXN0cnVjdHVyZUZsYWdzKSkgewotICAgICAgICAg ICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgfCAiIC4gJHN0cnVjdHVyZUZsYWcpOwotICAgICAg ICAgfQotICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIjtcbiIpOwotQEAgLTc0MzMsNyAr NzQzMyw3IEBAIHN1YiBXcml0ZURhdGEKLSAKLSAgICAgbXkgQGluY2x1ZGVzID0gKCk7Ci0gICAg IG15ICVpbXBsSW5jbHVkZUNvbmRpdGlvbnMgPSAoKTsKLS0gICAgZm9yZWFjaCBteSAkaW5jbHVk ZSAoa2V5cyAlaW1wbEluY2x1ZGVzKSB7Ci0rICAgIGZvcmVhY2ggbXkgJGluY2x1ZGUgKHNvcnQg a2V5cyAlaW1wbEluY2x1ZGVzKSB7Ci0gICAgICAgICBuZXh0IGlmICRoZWFkZXJJbmNsdWRlc3sk aW5jbHVkZX07Ci0gICAgICAgICBuZXh0IGlmICRoZWFkZXJUcmFpbGluZ0luY2x1ZGVzeyRpbmNs dWRlfTsKLSAKLUBAIC03NDczLDcgKzc0NzMsNyBAQCBzdWIgV3JpdGVEYXRhCi0gICAgICRjb250 ZW50cyA9IGpvaW4gIiIsIEBoZWFkZXJDb250ZW50SGVhZGVyOwotIAotICAgICBAaW5jbHVkZXMg PSAoKTsKLS0gICAgZm9yZWFjaCBteSAkaW5jbHVkZSAoa2V5cyAlaGVhZGVySW5jbHVkZXMpIHsK LSsgICAgZm9yZWFjaCBteSAkaW5jbHVkZSAoc29ydCBrZXlzICVoZWFkZXJJbmNsdWRlcykgewot ICAgICAgICAgJGluY2x1ZGUgPSAiXCIkaW5jbHVkZVwiIiB1bmxlc3MgJGluY2x1ZGUgPX4gL15b IjxdLzsgIyAiCi0gICAgICAgICAkaW5jbHVkZSA9IFN1YnN0aXR1dGVIZWFkZXIoJGluY2x1ZGUp OwotICAgICAgICAgcHVzaCBAaW5jbHVkZXMsICRpbmNsdWRlOwotQEAgLTc0ODcsNyArNzQ4Nyw3 IEBAIHN1YiBXcml0ZURhdGEKLSAgICAgJGNvbnRlbnRzIC49IGpvaW4gIiIsIEBoZWFkZXJDb250 ZW50OwotIAotICAgICBAaW5jbHVkZXMgPSAoKTsKLS0gICAgZm9yZWFjaCBteSAkaW5jbHVkZSAo a2V5cyAlaGVhZGVyVHJhaWxpbmdJbmNsdWRlcykgewotKyAgICBmb3JlYWNoIG15ICRpbmNsdWRl IChzb3J0IGtleXMgJWhlYWRlclRyYWlsaW5nSW5jbHVkZXMpIHsKLSAgICAgICAgICRpbmNsdWRl ID0gIlwiJGluY2x1ZGVcIiIgdW5sZXNzICRpbmNsdWRlID1+IC9eWyI8XS87ICMgIgotICAgICAg ICAgcHVzaCBAaW5jbHVkZXMsICRpbmNsdWRlOwotICAgICB9Ci1AQCAtNzU2MCw3ICs3NTYwLDcg QEAgc3ViIEdlbmVyYXRlUHJvdG90eXBlRGVjbGFyYXRpb24KLSAgICAgaWYgKCVzdHJ1Y3R1cmVG bGFncykgewotICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAicHVibGljOlxuIik7Ci0gICAg ICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgc3RhdGljIGNvbnN0ZXhwciB1bnNpZ25lZCBT dHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIik7Ci0tICAgICAgICBmb3JlYWNo IG15ICRzdHJ1Y3R1cmVGbGFnIChzb3J0IChrZXlzICVzdHJ1Y3R1cmVGbGFncykpIHsKLSsgICAg ICAgIGZvcmVhY2ggbXkgJHN0cnVjdHVyZUZsYWcgKHNvcnQgKHNvcnQga2V5cyAlc3RydWN0dXJl RmxhZ3MpKSB7Ci0gICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiIHwgIiAuICRzdHJ1 Y3R1cmVGbGFnKTsKLSAgICAgICAgIH0KLSAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIjtc biIpOwotZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS90b29scy9zY3JpcHRzL3ZlcnNpb24tc3Rh bXAucGwgYi9Tb3VyY2UvY21ha2UvdG9vbHMvc2NyaXB0cy92ZXJzaW9uLXN0YW1wLnBsCi1pbmRl eCA4ODhhNDUwMi4uNTdhYjliMTYgMTAwNjQ0Ci0tLS0gYS9Tb3VyY2UvY21ha2UvdG9vbHMvc2Ny aXB0cy92ZXJzaW9uLXN0YW1wLnBsCi0rKysgYi9Tb3VyY2UvY21ha2UvdG9vbHMvc2NyaXB0cy92 ZXJzaW9uLXN0YW1wLnBsCi1AQCAtNzUsNyArNzUsNyBAQCBteSAkVkVSU0lPTl9GSUxFID0gRmls ZTo6U3BlYy0+Y2F0ZmlsZShGaWxlOjpTcGVjLT5jYW5vbnBhdGgoJGludGRpciksICdpbmNsdWRl JwotIAotIG9wZW4oVkVSU0lPTl9JTkZPLCAnPCcsICRWRVJTSU9OX0ZJTEUpIG9yIGRpZSAiVW5h YmxlIHRvIG9wZW4gJFZFUlNJT05fRklMRTogJCFcbiI7Ci0gd2hpbGUgKG15ICRsaW5lID0gPFZF UlNJT05fSU5GTz4pIHsKLS0gICAgZm9yZWFjaCBteSAkY29tcG9uZW50S2V5IChrZXlzICVjb21w b25lbnRzKSB7Ci0rICAgIGZvcmVhY2ggbXkgJGNvbXBvbmVudEtleSAoc29ydCBrZXlzICVjb21w b25lbnRzKSB7Ci0gICAgICAgICBpZiAoJGxpbmUgIX4gbS8kY29tcG9uZW50S2V5LykgewotICAg ICAgICAgICAgIG5leHQ7Ci0gICAgICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL3dlYmtpdDJn dGsvdGVtcGxhdGUgYi9zcmNwa2dzL3dlYmtpdDJndGsvdGVtcGxhdGUKaW5kZXggOWY2Nzk5NmUy MDllNS4uMDY4OWRmMzI3M2UwZCAxMDA2NDQKLS0tIGEvc3JjcGtncy93ZWJraXQyZ3RrL3RlbXBs YXRlCisrKyBiL3NyY3BrZ3Mvd2Via2l0Mmd0ay90ZW1wbGF0ZQpAQCAtMSwxMCArMSwxMCBAQAog IyBUZW1wbGF0ZSBmaWxlIGZvciAnd2Via2l0Mmd0aycKIHBrZ25hbWU9d2Via2l0Mmd0awotdmVy c2lvbj0yLjQwLjAKLXJldmlzaW9uPTQKK3ZlcnNpb249Mi40Mi41CityZXZpc2lvbj0xCiBidWls ZF9zdHlsZT1jbWFrZQogYnVpbGRfaGVscGVyPSJnaXIiCi1jb25maWd1cmVfYXJncz0iLURQT1JU PUdUSyAtRFVTRV9MRF9HT0xEPU9GRgorY29uZmlndXJlX2FyZ3M9Ii1EUE9SVD1HVEsKICAtRENN QUtFX0xJTktFUj0ke1hCUFNfQ1JPU1NfVFJJUExFVH0tZ2NjIC1EQ01BS0VfU0tJUF9SUEFUSD1P TgogIC1ERU5BQkxFX0pPVVJOQUxEX0xPRz1PRkYgLURVU0VfV09GRjI9T04gLURVU0VfV1BFX1JF TkRFUkVSPU9OCiAgLURFTkFCTEVfTUlOSUJST1dTRVI9JCh2b3B0X2lmIG1pbmlicm93c2VyIE9O IE9GRikKQEAgLTI5LDE0ICsyOSwxNSBAQCBtYWtlZGVwZW5kcz0iYXQtc3BpMi1jb3JlLWRldmVs IGxpYmpwZWctdHVyYm8tZGV2ZWwgbGlicG5nLWRldmVsCiAgd29mZjItZGV2ZWwgZnJlZXR5cGUt ZGV2ZWwgbGlib3BlbmpwZWcyLWRldmVsIGxpYmF2aWYtZGV2ZWwKICBxdDUtZGV2ZWwgbGlibWFu ZXR0ZS1kZXZlbCBsaWJ3cGUtZGV2ZWwgd3BlYmFja2VuZC1mZG8tZGV2ZWwKICBsaWJnY3J5cHQt ZGV2ZWwgbGlibnVzcGVsbC1kZXZlbCBsaWJwc2wtZGV2ZWwgJCh2b3B0X2lmIHgxMSBsaWJYdC1k ZXZlbCkKLSAkKHZvcHRfaWYgd2F5bGFuZCAnTWVzYUxpYi1kZXZlbCBsaWJ4a2Jjb21tb24tZGV2 ZWwgd2F5bGFuZC1kZXZlbCB3YXlsYW5kLXByb3RvY29scycpIgorICQodm9wdF9pZiB3YXlsYW5k ICdNZXNhTGliLWRldmVsIGxpYnhrYmNvbW1vbi1kZXZlbCB3YXlsYW5kLWRldmVsIHdheWxhbmQt cHJvdG9jb2xzJykKKyBsaWJqeGwtZGV2ZWwiCiBkZXBlbmRzPSJnc3QtcGx1Z2lucy1nb29kMSIK IHNob3J0X2Rlc2M9IkdUSyszIHBvcnQgb2YgdGhlIFdlYktpdCBicm93c2VyIGVuZ2luZSIKIG1h aW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJMR1BM LTIuMS1vci1sYXRlciwgQlNELTItQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHBzOi8vd2Via2l0Z3Rr Lm9yZy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vd2Via2l0Z3RrLm9yZy9yZWxlYXNlcy93ZWJraXRn dGstJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT1hNDYwN2VhMWJmODk2NjllODliMWNiMmM2 M2ZhYWVjNTEzZjkzZGUwOWI2YWU2MGNjNzFkNmE4YWFiN2FiMzkzCitjaGVja3N1bT1iNjQyNzhj MWYyMGI4Y2ZkYmZiNWZmNTczYzM3ZDg3MWFiYTc0YTFkYjI2ZDliMzlmNzRlODk1M2ZlNjFlNzQ5 CiBtYWtlX2NoZWNrPW5vICMgVE9ETwogCiByZXBsYWNlcz0id2Via2l0Mmd0ay1jb21tb24+MCIK QEAgLTY5LDYgKzcwLDggQEAgaWYgWyAiJGJ1aWxkX29wdGlvbl9idWJibGV3cmFwIiBdOyB0aGVu CiAJaG9zdG1ha2VkZXBlbmRzKz0iIGJ1YmJsZXdyYXAgeGRnLWRidXMtcHJveHkiCiAJbWFrZWRl cGVuZHMrPSIgbGlic2VjY29tcC1kZXZlbCIKIAlkZXBlbmRzKz0iIGJ1YmJsZXdyYXAgeGRnLWRi dXMtcHJveHkiCisJY29uZmlndXJlX2FyZ3MrPSIgLURCV1JBUF9FWEVDVVRBQkxFPS91c3IvYmlu L2J3cmFwCisJIC1EREJVU19QUk9YWV9FWEVDVVRBQkxFPS91c3IvYmluL3hkZy1kYnVzLXByb3h5 IgogZmkKIAogaWYgWyAiJGJ1aWxkX29wdGlvbl9sdG8iIC1hIC16ICIkYnVpbGRfb3B0aW9uX2Ns YW5nIiBdOyB0aGVuCkBAIC0xNDcsNyArMTUwLDcgQEAgcHJlX2NvbmZpZ3VyZSgpIHsKIH0KIAog cG9zdF9jb25maWd1cmUoKSB7Ci0JbWtkaXIgLXAgd2Via2l0Mmd0ay00MCB3ZWJraXQyZ3RrLTUw CisJbWtkaXIgLXAgd2Via2l0Mmd0ay00MCB3ZWJraXQyZ3RrLTYwCiAJKAogCQljZCB3ZWJraXQy Z3RrLTQwCiAJCWNvbmZpZ3VyZV9hcmdzPSIke2NvbmZpZ3VyZV9hcmdzfSAtRFVTRV9TT1VQMj1P TiAtREVOQUJMRV9XRUJEUklWRVI9T0ZGIiBcCkBAIC0xNTUsNyArMTU4LDcgQEAgcG9zdF9jb25m aWd1cmUoKSB7CiAJKQogCiAJKAotCQljZCB3ZWJraXQyZ3RrLTUwCisJCWNkIHdlYmtpdDJndGst NjAKIAkJY29uZmlndXJlX2FyZ3M9IiR7Y29uZmlndXJlX2FyZ3N9IC1EVVNFX0dUSzQ9T04gLURF TkFCTEVfV0VCRFJJVkVSPU9GRiIgXAogCQlkb19jb25maWd1cmUKIAkpCkBAIC0xNjMsMTIgKzE2 NiwxMiBAQCBwb3N0X2NvbmZpZ3VyZSgpIHsKIAogcG9zdF9idWlsZCgpIHsKIAkoY2Qgd2Via2l0 Mmd0ay00MCAmJiBOSU5KQV9TVEFUVVM9IlsyLzNdWyVmLyV0XSAiIGRvX2J1aWxkKQotCShjZCB3 ZWJraXQyZ3RrLTUwICYmIE5JTkpBX1NUQVRVUz0iWzMvM11bJWYvJXRdICIgZG9fYnVpbGQpCisJ KGNkIHdlYmtpdDJndGstNjAgJiYgTklOSkFfU1RBVFVTPSJbMy8zXVslZi8ldF0gIiBkb19idWls ZCkKIH0KIAogcG9zdF9pbnN0YWxsKCkgewogCShjZCB3ZWJraXQyZ3RrLTQwICYmIGRvX2luc3Rh bGwpCi0JKGNkIHdlYmtpdDJndGstNTAgJiYgZG9faW5zdGFsbCkKKwkoY2Qgd2Via2l0Mmd0ay02 MCAmJiBkb19pbnN0YWxsKQogCiAJdmxpY2Vuc2UgU291cmNlL1dlYkNvcmUvTElDRU5TRS1BUFBM RQogCXZsaWNlbnNlIFNvdXJjZS9XZWJDb3JlL0xJQ0VOU0UtTEdQTC0yLjEK --===============5121608312388159735==--