From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Benjamin A. Beasley To: git-commits@fedoraproject.org Subject: [rpms/python-cramjam] f44: Update to PyO3 0.29 Date: Mon, 29 Jun 2026 13:13:59 GMT Message-ID: <178273883938.1.10872586781037373229.rpms-python-cramjam-67b9d7de3205@fedoraproject.org> List-ID: X-Git-Repo: rpms/python-cramjam X-Git-Branch: f44 X-Git-Rev: 67b9d7de32058e7311d4461a90d7b473bf7e5ca0 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcHl0aG9uLWNyYW1q YW0KQnJhbmNoIDogZjQ0CkNvbW1pdCA6IDY3YjlkN2RlMzIwNThlNzMxMWQ0NDYxYTkwZDdiNDcz YmY3ZTVjYTAKQXV0aG9yIDogQmVuamFtaW4gQS4gQmVhc2xleSA8Y29kZUBtdXNpY2lubXlicmFp bi5uZXQ+CkRhdGUgICA6IDIwMjYtMDYtMjBUMTA6Mzk6MTUrMDE6MDAKU3RhdHMgIDogKzM3My8t MzY5IGluIDMgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9y cG1zL3B5dGhvbi1jcmFtamFtL2MvNjdiOWQ3ZGUzMjA1OGU3MzExZDQ0NjFhOTBkN2I0NzNiZjdl NWNhMD9icmFuY2g9ZjQ0CgpMb2c6ClVwZGF0ZSB0byBQeU8zIDAuMjkKCi0tLQpkaWZmIC0tZ2l0 IGEvY3JhbWphbS0yLjExLjAtcHlvMy0wLjI4LnBhdGNoIGIvY3JhbWphbS0yLjExLjAtcHlvMy0w LjI4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YjdkMTVlLi4wMDAwMDAw Ci0tLSBhL2NyYW1qYW0tMi4xMS4wLXB5bzMtMC4yOC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDM2OCArMCwwIEBACi1kaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL0NhcmdvLnRv bWwgY3JhbWphbS0yLjExLjAvQ2FyZ28udG9tbAotLS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFs L0NhcmdvLnRvbWwJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFt amFtLTIuMTEuMC9DYXJnby50b21sCTIwMjYtMDYtMTkgMjE6MjU6MzkuMjk4Nzc0NzMyICswMTAw Ci1AQCAtNzEsMTEgKzcxLDExIEBACi0gCi0gCi0gW2RlcGVuZGVuY2llc10KLS1weW8zID0geyB2 ZXJzaW9uID0gIl4wLjI1IiwgZGVmYXVsdC1mZWF0dXJlcyA9IGZhbHNlLCBmZWF0dXJlcyA9IFsi bWFjcm9zIl0gfQotK3B5bzMgPSB7IHZlcnNpb24gPSAiXjAuMjgiLCBkZWZhdWx0LWZlYXR1cmVz ID0gZmFsc2UsIGZlYXR1cmVzID0gWyJtYWNyb3MiXSB9Ci0gbGliY3JhbWphbSA9IHsgdmVyc2lv biA9ICJeMC44IiwgZGVmYXVsdC1mZWF0dXJlcyA9IGZhbHNlIH0KLSAKLSBbYnVpbGQtZGVwZW5k ZW5jaWVzXQotLXB5bzMtYnVpbGQtY29uZmlnID0gIl4wLjI1IgotK3B5bzMtYnVpbGQtY29uZmln ID0gIl4wLjI4IgotIAotIFtwcm9maWxlLnJlbGVhc2VdCi0gc3RyaXAgPSB0cnVlCi1kaWZmIC1O YXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3B5cHJvamVjdC50b21sIGNyYW1qYW0tMi4xMS4w L3B5cHJvamVjdC50b21sCi0tLS0gY3JhbWphbS0yLjExLjAtb3JpZ2luYWwvcHlwcm9qZWN0LnRv bWwJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFtLTIuMTEu MC9weXByb2plY3QudG9tbAkyMDI2LTA2LTE5IDIxOjI1OjU2LjU3Mjk2MTY0NyArMDEwMAotQEAg LTIsNyArMiw3IEBACi0gbmFtZSA9ICJjcmFtamFtIgotIHZlcnNpb24gPSAiMi4xMS4wIgotIGtl eXdvcmRzID0gWyJjb21wcmVzc2lvbiIsICJkZWNvbXByZXNzaW9uIiwgInNuYXBweSIsICJ6c3Rk IiwgImJ6MiIsICJnemlwIiwgImx6NCIsICJicm90bGkiLCAiZGVmbGF0ZSIsICJibG9zYzIiXQot LXJlcXVpcmVzLXB5dGhvbiA9ICI+PTMuOCIKLStyZXF1aXJlcy1weXRob24gPSAiPj0zLjExIgot IGxpY2Vuc2UgPSB7IGZpbGUgPSAiTElDRU5TRSIgfQotIAotIFtwcm9qZWN0LnVybHNdCi1kaWZm IC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9ibG9zYzIucnMgY3JhbWphbS0yLjEx LjAvc3JjL2Jsb3NjMi5ycwotLS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9ibG9zYzIu cnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFtLTIuMTEu MC9zcmMvYmxvc2MyLnJzCTIwMjYtMDYtMTkgMjE6MjU6MzkuMjk4OTk0NjA1ICswMTAwCi1AQCAt MTQzLDcgKzE0Myw3IEBACi0gICAgIHB1YiBmbiBkZWNvbXByZXNzX2NodW5rKHB5OiBQeXRob24s IGRhdGE6IEJ5dGVzVHlwZSwgb3V0cHV0X2xlbjogT3B0aW9uPHVzaXplPikgLT4gUHlSZXN1bHQ8 UnVzdHlCdWZmZXI+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKLSAg ICAgICAgIGxldCBidWYgPSBweQotLSAgICAgICAgICAgIC5hbGxvd190aHJlYWRzKHx8IGxpYmNy YW1qYW06OmJsb3NjMjo6ZGVjb21wcmVzc19jaHVuayhieXRlcykpCi0rICAgICAgICAgICAgLmRl dGFjaCh8fCBsaWJjcmFtamFtOjpibG9zYzI6OmRlY29tcHJlc3NfY2h1bmsoYnl0ZXMpKQotICAg ICAgICAgICAgIC5tYXAoUnVzdHlCdWZmZXI6OmZyb20pPzsKLSAgICAgICAgIE9rKGJ1ZikKLSAg ICAgfQotQEAgLTE1Myw3ICsxNTMsNyBAQAotICAgICBwdWIgZm4gZGVjb21wcmVzc19jaHVua19p bnRvKHB5OiBQeXRob24sIGlucHV0OiBCeXRlc1R5cGUsIG11dCBvdXRwdXQ6IEJ5dGVzVHlwZSkg LT4gUHlSZXN1bHQ8dXNpemU+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGlucHV0LmFzX2J5dGVz KCk7Ci0gICAgICAgICBsZXQgb3V0ID0gb3V0cHV0LmFzX2J5dGVzX211dCgpPzsKLS0gICAgICAg IGxldCBuYnl0ZXMgPSBweS5hbGxvd190aHJlYWRzKHx8IGxpYmNyYW1qYW06OmJsb3NjMjo6ZGVj b21wcmVzc19jaHVua19pbnRvKGJ5dGVzLCBvdXQpKT87Ci0rICAgICAgICBsZXQgbmJ5dGVzID0g cHkuZGV0YWNoKHx8IGxpYmNyYW1qYW06OmJsb3NjMjo6ZGVjb21wcmVzc19jaHVua19pbnRvKGJ5 dGVzLCBvdXQpKT87Ci0gICAgICAgICBPayhuYnl0ZXMpCi0gICAgIH0KLSAKLUBAIC0xNzYsNyAr MTc2LDcgQEAKLSAgICAgICAgIGNvZGVjOiBPcHRpb248UHlDb2RlYz4sCi0gICAgICkgLT4gUHlS ZXN1bHQ8UnVzdHlCdWZmZXI+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMo KTsKLS0gICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgcHkuZGV0YWNoKHx8 IHsKLSAgICAgICAgICAgICBsZXQgY2xldmVsID0gY2xldmVsLm1hcChJbnRvOjppbnRvKTsKLSAg ICAgICAgICAgICBsZXQgZmlsdGVyID0gZmlsdGVyLm1hcChJbnRvOjppbnRvKTsKLSAgICAgICAg ICAgICBsZXQgY29kZWMgPSBjb2RlYy5tYXAoSW50bzo6aW50byk7Ci1AQCAtMjAwLDcgKzIwMCw3 IEBACi0gICAgICkgLT4gUHlSZXN1bHQ8dXNpemU+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGlu cHV0LmFzX2J5dGVzKCk7Ci0gICAgICAgICBsZXQgb3V0ID0gb3V0cHV0LmFzX2J5dGVzX211dCgp PzsKLS0gICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgcHkuZGV0YWNoKHx8 IHsKLSAgICAgICAgICAgICBsZXQgY2xldmVsID0gY2xldmVsLm1hcChJbnRvOjppbnRvKTsKLSAg ICAgICAgICAgICBsZXQgZmlsdGVyID0gZmlsdGVyLm1hcChJbnRvOjppbnRvKTsKLSAgICAgICAg ICAgICBsZXQgY29kZWMgPSBjb2RlYy5tYXAoSW50bzo6aW50byk7Ci1kaWZmIC1OYXVyIGNyYW1q YW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9pby5ycyBjcmFtamFtLTIuMTEuMC9zcmMvaW8ucnMKLS0t LSBjcmFtamFtLTIuMTEuMC1vcmlnaW5hbC9zcmMvaW8ucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4w MDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFtLTIuMTEuMC9zcmMvaW8ucnMJMjAyNi0wNi0xOSAy MToyNTozOS4yOTkxNjI1ODcgKzAxMDAKLUBAIC0xNCw3ICsxNCw2IEBACi0gdXNlIHB5bzM6OmZm aTsKLSB1c2UgcHlvMzo6cHJlbHVkZTo6KjsKLSB1c2UgcHlvMzo6dHlwZXM6OlB5Qnl0ZXM7Ci0t dXNlIHB5bzM6OkludG9QeU9iamVjdEV4dDsKLSB1c2Ugc3RkOjpwYXRoOjpQYXRoQnVmOwotIAot IHB1YihjcmF0ZSkgdHJhaXQgQXNCeXRlcyB7Ci1AQCAtMjEwLDcgKzIwOSw3IEBACi0gICAgIHB1 YiBmbiBhc19zbGljZV9tdXQoJm11dCBzZWxmKSAtPiBQeVJlc3VsdDwmbXV0IFt1OF0+IHsKLSAg ICAgICAgICNbY2ZnKGFueShQeVB5LCBQeV9HSUxfRElTQUJMRUQpKV0KLSAgICAgICAgIHsKLS0g ICAgICAgICAgICBQeXRob246OndpdGhfZ2lsKHxweXwgewotKyAgICAgICAgICAgIFB5dGhvbjo6 YXR0YWNoKHxweXwgewotICAgICAgICAgICAgICAgICBsZXQgaXNfbWVtb3J5dmlldyA9IHVuc2Fm ZSB7IGZmaTo6UHlNZW1vcnlWaWV3X0NoZWNrKHNlbGYub3duZXIuYXNfcHRyKCkpIH0gPT0gMTsK LSAgICAgICAgICAgICAgICAgaWYgaXNfbWVtb3J5dmlldyB8fCBzZWxmLm93bmVyLmJpbmQocHkp LmlzX2luc3RhbmNlX29mOjo8UHlCeXRlcz4oKSB7Ci0gICAgICAgICAgICAgICAgICAgICAjW2Nm ZyhQeVB5KV0KLUBAIC0yNjAsMTMgKzI1OSwxNCBAQAotIAotIGltcGwgRHJvcCBmb3IgUHl0aG9u QnVmZmVyIHsKLSAgICAgZm4gZHJvcCgmbXV0IHNlbGYpIHsKLS0gICAgICAgIFB5dGhvbjo6d2l0 aF9naWwofF98IHVuc2FmZSB7IGZmaTo6UHlCdWZmZXJfUmVsZWFzZSgmbXV0ICpzZWxmLmlubmVy KSB9KQotKyAgICAgICAgUHl0aG9uOjphdHRhY2gofF98IHVuc2FmZSB7IGZmaTo6UHlCdWZmZXJf UmVsZWFzZSgmbXV0ICpzZWxmLmlubmVyKSB9KQotICAgICB9Ci0gfQotIAotLWltcGw8J3B5PiBG cm9tUHlPYmplY3Q8J3B5PiBmb3IgUHl0aG9uQnVmZmVyIHsKLS0gICAgZm4gZXh0cmFjdF9ib3Vu ZChvYmo6ICZCb3VuZDwncHksIFB5QW55PikgLT4gUHlSZXN1bHQ8U2VsZj4gewotLSAgICAgICAg U2VsZjo6dHJ5X2Zyb20ob2JqKQotK2ltcGw8J2EsICdweT4gRnJvbVB5T2JqZWN0PCdhLCAncHk+ IGZvciBQeXRob25CdWZmZXIgewotKyAgICB0eXBlIEVycm9yID0gUHlFcnI7Ci0rICAgIGZuIGV4 dHJhY3Qob2JqOiBCb3Jyb3dlZDwnYSwgJ3B5LCBQeUFueT4pIC0+IFB5UmVzdWx0PFNlbGY+IHsK LSsgICAgICAgIFNlbGY6OnRyeV9mcm9tKCYqb2JqKQotICAgICB9Ci0gfQotIAotQEAgLTI4NSw3 ICsyODUsNyBAQAotICAgICAgICAgICAgIGlubmVyOiBzdGQ6OnBpbjo6UGluOjpmcm9tKGJ1Ziks Ci0gICAgICAgICAgICAgcG9zOiAwLAotICAgICAgICAgICAgICNbY2ZnKGFueShQeVB5LCBQeV9H SUxfRElTQUJMRUQpKV0KLS0gICAgICAgICAgICBvd25lcjogUHl0aG9uOjp3aXRoX2dpbCh8cHl8 IG9iai5pbnRvX3B5X2FueShweSkudW53cmFwKCkpLAotKyAgICAgICAgICAgIG93bmVyOiBvYmou Y2xvbmUoKS51bmJpbmQoKSwKLSAgICAgICAgIH07Ci0gICAgICAgICAvLyBzYW5pdHkgY2hlY2tz Ci0gICAgICAgICBpZiBidWYuaW5uZXIuc2hhcGUuaXNfbnVsbCgpIHsKLUBAIC02MjksNyArNjI5 LDcgQEAKLSAgICAgfQotICAgICBmbiBfX2NvbnRhaW5zX18oJnNlbGYsIHB5OiBQeXRob24sIHg6 IEJ5dGVzVHlwZSkgLT4gYm9vbCB7Ci0gICAgICAgICBsZXQgYnl0ZXMgPSB4LmFzX2J5dGVzKCk7 Ci0tICAgICAgICBweS5hbGxvd190aHJlYWRzKHx8IHNlbGYuaW5uZXIuZ2V0X3JlZigpLndpbmRv d3MoYnl0ZXMubGVuKCkpLmFueSh8d3wgdyA9PSBieXRlcykpCi0rICAgICAgICBweS5kZXRhY2go fHwgc2VsZi5pbm5lci5nZXRfcmVmKCkud2luZG93cyhieXRlcy5sZW4oKSkuYW55KHx3fCB3ID09 IGJ5dGVzKSkKLSAgICAgfQotICAgICBmbiBfX3JlcHJfXygmbXV0IHNlbGYsIHB5OiBQeXRob24p IC0+IFB5UmVzdWx0PFN0cmluZz4gewotICAgICAgICAgT2soZm9ybWF0ISgiY3JhbWphbS5CdWZm ZXI8bGVuPXs6P30+Iiwgc2VsZi5sZW4ocHkpPykpCi1kaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4w LW9yaWdpbmFsL3NyYy9saWIucnMgY3JhbWphbS0yLjExLjAvc3JjL2xpYi5ycwotLS0tIGNyYW1q YW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9saWIucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAw MDAgKzAxMDAKLSsrKyBjcmFtamFtLTIuMTEuMC9zcmMvbGliLnJzCTIwMjYtMDYtMTkgMjE6MjU6 MzkuMjk5MzIxNDUwICswMTAwCi1AQCAtMjIyLDEzICsyMjIsMTMgQEAKLSAgICAgICAgICAgICAg ICAgQnl0ZXNUeXBlOjpSdXN0eUZpbGUoZikgPT4gewotICAgICAgICAgICAgICAgICAgICAgbGV0 IGJvcnJvd2VkID0gZi5ib3Jyb3coKTsKLSAgICAgICAgICAgICAgICAgICAgIGxldCBmaWxlID0g JmJvcnJvd2VkLmlubmVyOwotLSAgICAgICAgICAgICAgICAgICAgJHB5LmFsbG93X3RocmVhZHMo fHwgewotKyAgICAgICAgICAgICAgICAgICAgJHB5LmRldGFjaCh8fCB7Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgJG9wKGZpbGUsICZtdXQgQ3Vyc29yOjpuZXcoJm11dCBvdXRwdXQpICQoLCAk YXJncykqICkKLSAgICAgICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAgICAgIH0sCi0g ICAgICAgICAgICAgICAgIF8gPT4gewotICAgICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzID0g JGlucHV0LmFzX2J5dGVzKCk7Ci0tICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFk cyh8fCB7Ci0rICAgICAgICAgICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAkb3AoYnl0ZXMsICZtdXQgQ3Vyc29yOjpuZXcoJm11dCBvdXRwdXQpICQo LCAkYXJncykqICkKLSAgICAgICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAgICAgIH0K LUBAIC0yNDYsMjAgKzI0NiwyMCBAQAotICAgICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzVHlw ZTo6UnVzdHlGaWxlKGYpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG11 dCBib3Jyb3dlZCA9IGYuYm9ycm93X211dCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsZXQgbXV0IGZfb3V0ID0gJm11dCBib3Jyb3dlZC5pbm5lcjsKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgJHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAkcHkuZGV0YWNoKHx8IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICRvcChmX2luLCAmbXV0IGZfb3V0ICQoLCAkYXJncykqICkKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfSkKLSAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAgICAg ICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlCdWZmZXIoYnVmZmVyKSA9PiB7Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxldCBtdXQgYm9ycm93ZWQgPSBidWZmZXIuYm9ycm93X211dCgp OwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJ1Zl9vdXQgPSAmbXV0IGJv cnJvd2VkLmlubmVyOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhy ZWFkcyh8fCB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2gofHwgewot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGZfaW4sICZtdXQgYnVmX291dCAk KCwgJGFyZ3MpKiApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAg ICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICBfID0+IHsKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzX291dCA9ICRvdXRwdXQuYXNfYnl0ZXNf bXV0KCk/OwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8 fCB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2gofHwgewotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGZfaW4sICZtdXQgQ3Vyc29yOjpuZXcoYnl0 ZXNfb3V0KSAkKCwgJGFyZ3MpKiApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCi0g ICAgICAgICAgICAgICAgICAgICAgICAgfQotQEAgLTI3MSwyMCArMjcxLDIwIEBACi0gICAgICAg ICAgICAgICAgICAgICAgICAgQnl0ZXNUeXBlOjpSdXN0eUZpbGUoZikgPT4gewotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJvcnJvd2VkID0gZi5ib3Jyb3dfbXV0KCk7Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtdXQgZl9vdXQgPSAmbXV0IGJvcnJvd2Vk LmlubmVyOwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8 fCB7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2gofHwgewotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGJ5dGVzX2luLCAmbXV0IGZfb3V0ICQoLCAk YXJncykqICkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgICAg ICAgICAgICAgICB9LAotICAgICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlC dWZmZXIoYnVmZmVyKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtdXQg Ym9ycm93ZWQgPSBidWZmZXIuYm9ycm93X211dCgpOwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsZXQgbXV0IGJ1Zl9vdXQgPSAmbXV0IGJvcnJvd2VkLmlubmVyOwotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7Ci0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICRweS5kZXRhY2gofHwgewotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJG9wKGJ5dGVzX2luLCAmbXV0IGJ1Zl9vdXQgJCgsICRhcmdzKSogKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAg ICAgICAgICAgICAgICAgICAgICAgXyA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxldCBieXRlc19vdXQgPSAkb3V0cHV0LmFzX2J5dGVzX211dCgpPzsKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgJHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICRvcChieXRlc19pbiwgJm11dCBDdXJzb3I6Om5ldyhieXRlc19vdXQpICQoLCAkYXJncykq KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAgICAgICAg ICAgIH0KLUBAIC0zMzEsMTEgKzMzMSwxMSBAQAotICAgICAgICAgICAgICAgICAgICAgICAgIEJ5 dGVzVHlwZTo6UnVzdHlGaWxlKGYpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGV0IG11dCBib3Jyb3dlZCA9IGYuYm9ycm93X211dCgpOwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsZXQgZl9pbiA9ICZtdXQgYm9ycm93ZWQuaW5uZXI7Ci0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwgbGliY3JhbWphbTo6JGNvZGVjOjpkZWNv bXByZXNzKGZfaW4sIGlubmVyKS5tYXBfZXJyKEludG86OmludG8pKQotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBweS5kZXRhY2gofHwgbGliY3JhbWphbTo6JGNvZGVjOjpkZWNvbXByZXNz KGZfaW4sIGlubmVyKS5tYXBfZXJyKEludG86OmludG8pKQotICAgICAgICAgICAgICAgICAgICAg ICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgICBfID0+IHsKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGV0IGJ5dGVzID0gaW5wdXQuYXNfYnl0ZXMoKTsKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHB5LmRldGFjaCh8fCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJjcmFtamFtOjokY29kZWM6OmRlY29tcHJlc3MoJm11dCBDdXJzb3I6Om5ldyhieXRlcyks IGlubmVyKS5tYXBfZXJyKEludG86OmludG8pCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgfQotQEAgLTM3Nyw3ICszNzcsNyBAQAotICAg ICAgICAgICAgIH0KLSAgICAgICAgICAgICBmbiBfX2NvbnRhaW5zX18oJnNlbGYsIHB5OiBQeXRo b24sIHg6IEJ5dGVzVHlwZSkgLT4gYm9vbCB7Ci0gICAgICAgICAgICAgICAgIGxldCBieXRlcyA9 IHguYXNfYnl0ZXMoKTsKLS0gICAgICAgICAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7Ci0r ICAgICAgICAgICAgICAgIHB5LmRldGFjaCh8fCB7Ci0gICAgICAgICAgICAgICAgICAgICBzZWxm LmlubmVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgLmFzX3JlZigpCi0gICAgICAgICAgICAg ICAgICAgICAgICAgLm1hcCh8Y3wgYy5nZXRfcmVmKCkud2luZG93cyhieXRlcy5sZW4oKSkuYW55 KHx3fCB3ID09IGJ5dGVzKSkKLWRpZmYgLU5hdXIgY3JhbWphbS0yLjExLjAtb3JpZ2luYWwvc3Jj L2x6NC5ycyBjcmFtamFtLTIuMTEuMC9zcmMvbHo0LnJzCi0tLS0gY3JhbWphbS0yLjExLjAtb3Jp Z2luYWwvc3JjL2x6NC5ycwkyMDI1LTA3LTI3IDIxOjQyOjA3LjAwMDAwMDAwMCArMDEwMAotKysr IGNyYW1qYW0tMi4xMS4wL3NyYy9sejQucnMJMjAyNi0wNi0xOSAyMToyNTozOS4yOTk0NTg4MTIg KzAxMDAKLUBAIC04MSw3ICs4MSw3IEBACi0gICAgIHB1YiBmbiBkZWNvbXByZXNzX2Jsb2NrKHB5 OiBQeXRob24sIGRhdGE6IEJ5dGVzVHlwZSwgb3V0cHV0X2xlbjogT3B0aW9uPHVzaXplPikgLT4g UHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKLSAgICAgICAgIGxldCBieXRlcyA9IGRhdGEuYXNfYnl0 ZXMoKTsKLSAKLS0gICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwgewotKyAgICAgICAgcHkuZGV0 YWNoKHx8IHsKLSAgICAgICAgICAgICBtYXRjaCBvdXRwdXRfbGVuIHsKLSAgICAgICAgICAgICAg ICAgU29tZShuKSA9PiB7Ci0gICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJ1ZiA9IHZlYyFb MHU4OyBuXTsKLUBAIC0xMjMsNyArMTIzLDcgQEAKLSAgICAgICAgIHN0b3JlX3NpemU6IE9wdGlv bjxib29sPiwKLSAgICAgKSAtPiBQeVJlc3VsdDxSdXN0eUJ1ZmZlcj4gewotICAgICAgICAgbGV0 IGJ5dGVzID0gZGF0YS5hc19ieXRlcygpOwotLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7 Ci0rICAgICAgICBweS5kZXRhY2gofHwgewotICAgICAgICAgICAgIGxpYmNyYW1qYW06Omx6NDo6 YmxvY2s6OmNvbXByZXNzX3ZlYyhieXRlcywgY29tcHJlc3Npb24ubWFwKHx2fCB2IGFzIF8pLCBh Y2NlbGVyYXRpb24sIHN0b3JlX3NpemUpCi0gICAgICAgICB9KQotICAgICAgICAgLm1hcF9lcnIo Q29tcHJlc3Npb25FcnJvcjo6ZnJvbV9lcnIpCi1AQCAtMTYwLDcgKzE2MCw3IEBACi0gICAgICAg ICB9Ci0gCi0gICAgICAgICBsZXQgb3V0X2J5dGVzID0gb3V0cHV0LmFzX2J5dGVzX211dCgpPzsK LS0gICAgICAgIHB5LmFsbG93X3RocmVhZHMoCi0rICAgICAgICBweS5kZXRhY2goCi0gICAgICAg ICAgICAgfHwgbWF0Y2ggbGliY3JhbWphbTo6bHo0OjpibG9jazo6ZGVjb21wcmVzc19pbnRvKGJ5 dGVzLCBvdXRfYnl0ZXMsIFNvbWUoc2l6ZV9zdG9yZWQpKSB7Ci0gICAgICAgICAgICAgICAgIE9r KHIpID0+IE9rKHIpLAotICAgICAgICAgICAgICAgICAvLyBGYWxsYmFjayBhbmQgdHJ5IG5lZ2F0 aW9uIG9mIHN0b3JlZCBzaXplLCBpbmNhc2Ugd2UvdGhleSBnb3QgaXQgd3Jvbmc7Ci1AQCAtMjAy LDcgKzIwMiw3IEBACi0gICAgICkgLT4gUHlSZXN1bHQ8dXNpemU+IHsKLSAgICAgICAgIGxldCBi eXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKLSAgICAgICAgIGxldCBvdXRfYnl0ZXMgPSBvdXRwdXQu YXNfYnl0ZXNfbXV0KCk/OwotLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7Ci0rICAgICAg ICBweS5kZXRhY2gofHwgewotICAgICAgICAgICAgIGxpYmNyYW1qYW06Omx6NDo6YmxvY2s6OmNv bXByZXNzX2ludG8oCi0gICAgICAgICAgICAgICAgIGJ5dGVzLAotICAgICAgICAgICAgICAgICBv dXRfYnl0ZXMsCi1kaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9zbmFwcHku cnMgY3JhbWphbS0yLjExLjAvc3JjL3NuYXBweS5ycwotLS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdp bmFsL3NyYy9zbmFwcHkucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKLSsr KyBjcmFtamFtLTIuMTEuMC9zcmMvc25hcHB5LnJzCTIwMjYtMDYtMTkgMjE6MjU6MzkuMjk5NTUx OTYzICswMTAwCi1AQCAtNTQsNyArNTQsNyBAQAotICAgICAjW3B5bzMoc2lnbmF0dXJlID0gKGRh dGEsIG91dHB1dF9sZW49Tm9uZSkpXQotICAgICBwdWIgZm4gZGVjb21wcmVzc19yYXcocHk6IFB5 dGhvbiwgZGF0YTogQnl0ZXNUeXBlLCBvdXRwdXRfbGVuOiBPcHRpb248dXNpemU+KSAtPiBQeVJl c3VsdDxSdXN0eUJ1ZmZlcj4gewotICAgICAgICAgbGV0IGJ5dGVzID0gZGF0YS5hc19ieXRlcygp OwotLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6 ZGVjb21wcmVzc192ZWMoYnl0ZXMpKQotKyAgICAgICAgcHkuZGV0YWNoKHx8IGxpYmNyYW1qYW06 OnNuYXBweTo6cmF3OjpkZWNvbXByZXNzX3ZlYyhieXRlcykpCi0gICAgICAgICAgICAgLm1hcF9l cnIoRGVjb21wcmVzc2lvbkVycm9yOjpmcm9tX2VycikKLSAgICAgICAgICAgICAubWFwKEZyb206 OmZyb20pCi0gICAgIH0KLUBAIC03Miw3ICs3Miw3IEBACi0gICAgICNbcHlvMyhzaWduYXR1cmUg PSAoZGF0YSwgb3V0cHV0X2xlbj1Ob25lKSldCi0gICAgIHB1YiBmbiBjb21wcmVzc19yYXcocHk6 IFB5dGhvbiwgZGF0YTogQnl0ZXNUeXBlLCBvdXRwdXRfbGVuOiBPcHRpb248dXNpemU+KSAtPiBQ eVJlc3VsdDxSdXN0eUJ1ZmZlcj4gewotICAgICAgICAgbGV0IGJ5dGVzID0gZGF0YS5hc19ieXRl cygpOwotLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJh dzo6Y29tcHJlc3NfdmVjKGJ5dGVzKSkKLSsgICAgICAgIHB5LmRldGFjaCh8fCBsaWJjcmFtamFt OjpzbmFwcHk6OnJhdzo6Y29tcHJlc3NfdmVjKGJ5dGVzKSkKLSAgICAgICAgICAgICAubWFwX2Vy cihDb21wcmVzc2lvbkVycm9yOjpmcm9tX2VycikKLSAgICAgICAgICAgICAubWFwKEZyb206OmZy b20pCi0gICAgIH0KLUBAIC05NCw3ICs5NCw3IEBACi0gICAgIHB1YiBmbiBjb21wcmVzc19yYXdf aW50byhweTogUHl0aG9uLCBpbnB1dDogQnl0ZXNUeXBlLCBtdXQgb3V0cHV0OiBCeXRlc1R5cGUp IC0+IFB5UmVzdWx0PHVzaXplPiB7Ci0gICAgICAgICBsZXQgYnl0ZXNfaW4gPSBpbnB1dC5hc19i eXRlcygpOwotICAgICAgICAgbGV0IGJ5dGVzX291dCA9IG91dHB1dC5hc19ieXRlc19tdXQoKT87 Ci0tICAgICAgICBweS5hbGxvd190aHJlYWRzKHx8IGxpYmNyYW1qYW06OnNuYXBweTo6cmF3Ojpj b21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKLSsgICAgICAgIHB5LmRldGFjaCh8fCBsaWJj cmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJlc3MoYnl0ZXNfaW4sIGJ5dGVzX291dCkpCi0gICAg ICAgICAgICAgLm1hcF9lcnIoQ29tcHJlc3Npb25FcnJvcjo6ZnJvbV9lcnIpCi0gICAgIH0KLSAK LUBAIC0xMDMsNyArMTAzLDcgQEAKLSAgICAgcHViIGZuIGRlY29tcHJlc3NfcmF3X2ludG8ocHk6 IFB5dGhvbiwgaW5wdXQ6IEJ5dGVzVHlwZSwgbXV0IG91dHB1dDogQnl0ZXNUeXBlKSAtPiBQeVJl c3VsdDx1c2l6ZT4gewotICAgICAgICAgbGV0IGJ5dGVzX2luID0gaW5wdXQuYXNfYnl0ZXMoKTsK LSAgICAgICAgIGxldCBieXRlc19vdXQgPSBvdXRwdXQuYXNfYnl0ZXNfbXV0KCk/OwotLSAgICAg ICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVz cyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKLSsgICAgICAgIHB5LmRldGFjaCh8fCBsaWJjcmFtamFt OjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKLSAgICAgICAg ICAgICAubWFwX2VycihEZWNvbXByZXNzaW9uRXJyb3I6OmZyb21fZXJyKQotICAgICB9Ci0gCi1k aWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy94ei5ycyBjcmFtamFtLTIuMTEu MC9zcmMveHoucnMKLS0tLSBjcmFtamFtLTIuMTEuMC1vcmlnaW5hbC9zcmMveHoucnMJMjAyNS0w Ny0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjcmFtamFtLTIuMTEuMC9zcmMveHou cnMJMjAyNi0wNi0xOSAyMToyNTozOS4yOTk2MzAyNjUgKzAxMDAKLUBAIC0xMzAsNyArMTMwLDcg QEAKLSAKLSAgICAgLy8vIEF2YWlsYWJsZSBGaWx0ZXIgSURzCi0gICAgICNbZGVyaXZlKENsb25l LCBEZWJ1ZywgUGFydGlhbEVxKV0KLS0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQotKyAgICAj W3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmplY3QpXQotICAgICAjW2FsbG93KG1pc3Np bmdfZG9jcyldCi0gICAgIHB1YiBlbnVtIEZpbHRlciB7Ci0gICAgICAgICBBcm0sCi1AQCAtMTUw LDcgKzE1MCw3IEBACi0gCi0gICAgIC8vLyBNYXRjaEZpbmRlciwgdXNlZCB3aXRoIE9wdGlvbnMu bWYgYXR0cmlidXRlCi0gICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgUGFydGlhbEVxKV0KLS0g ICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQotKyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJv bV9weV9vYmplY3QpXQotICAgICAjW2FsbG93KG1pc3NpbmdfZG9jcyldCi0gICAgIHB1YiBlbnVt IE1hdGNoRmluZGVyIHsKLSAgICAgICAgIEhhc2hDaGFpbjMsCi1AQCAtMTc0LDcgKzE3NCw3IEBA Ci0gCi0gICAgIC8vLyBNYXRjaEZpbmRlciwgdXNlZCB3aXRoIE9wdGlvbnMubW9kZSBhdHRyaWJ1 dGUKLSAgICAgI1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBQYXJ0aWFsRXEpXQotLSAgICAjW3B5Y2xh c3MoZXEsIGVxX2ludCldCi0rICAgICNbcHljbGFzcyhlcSwgZXFfaW50LCBmcm9tX3B5X29iamVj dCldCi0gICAgICNbYWxsb3cobWlzc2luZ19kb2NzKV0KLSAgICAgcHViIGVudW0gTW9kZSB7Ci0g ICAgICAgICBGYXN0LAotQEAgLTE5Miw3ICsxOTIsNyBAQAotICAgICAvLy8gRmlsdGVyQ2hhaW4s IHNpbWlsYXIgdG8gdGhlIGRlZmF1bHQgUHl0aG9uIFhaIGZpbHRlciBjaGFpbiB3aGljaCBpcyBh IGxpc3Qgb2YKLSAgICAgLy8vIGRpY3RzLgotICAgICAjW2Rlcml2ZShEZWJ1ZywgQ2xvbmUpXQot LSAgICAjW3B5Y2xhc3NdCi0rICAgICNbcHljbGFzcyhmcm9tX3B5X29iamVjdCldCi0gICAgIHB1 YiBzdHJ1Y3QgRmlsdGVyQ2hhaW4oVmVjPEZpbHRlckNoYWluSXRlbT4pOwotIAotICAgICAjW3B5 bWV0aG9kc10KLUBAIC0yMjksNyArMjI5LDcgQEAKLSAgICAgLy8vIEZpbHRlckNoYWluSXRlbS4g SW4gUHl0aG9uJ3MgbHptYSBtb2R1bGUsIHRoaXMgcmVwcmVzZW50cyBhIHNpbmdsZSBkaWN0IGlu IHRoZQotICAgICAvLy8gZmlsdGVyIGNoYWluIGxpc3QuIFRvIGJlIGFkZGVkIHRvIHRoZSBgRmls dGVyQ2hhaW5gCi0gICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgRGVmYXVsdCldCi0tICAgICNb cHljbGFzc10KLSsgICAgI1tweWNsYXNzKGZyb21fcHlfb2JqZWN0KV0KLSAgICAgcHViIHN0cnVj dCBGaWx0ZXJDaGFpbkl0ZW0gewotICAgICAgICAgZmlsdGVyOiBGaWx0ZXIsCi0gICAgICAgICBv cHRpb25zOiBPcHRpb25zLAotQEAgLTI1MCw3ICsyNTAsNyBAQAotIAotICAgICAvLy8KLSAgICAg I1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBEZWZhdWx0KV0KLS0gICAgI1tweWNsYXNzXQotKyAgICAj W3B5Y2xhc3MoZnJvbV9weV9vYmplY3QpXQotICAgICBwdWIgc3RydWN0IE9wdGlvbnMgewotICAg ICAgICAgcHJlc2V0OiBPcHRpb248dTMyPiwKLSAgICAgICAgIGRpY3Rfc2l6ZTogT3B0aW9uPHUz Mj4sCi1AQCAtMzMxLDcgKzMzMSw3IEBACi0gCi0gICAgIC8vLyBQb3NzaWJsZSBmb3JtYXRzCi0g ICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgUGFydGlhbEVxKV0KLS0gICAgI1tweWNsYXNzKGVx LCBlcV9pbnQpXQotKyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmplY3QpXQot ICAgICBwdWIgZW51bSBGb3JtYXQgewotICAgICAgICAgLy8vIEF1dG8gc2VsZWN0IHRoZSBmb3Jt YXQsIGZvciBjb21wcmVzc2lvbiB0aGlzIGlzIFhaLAotICAgICAgICAgLy8vIGZvciBkZWNvbXBy ZXNzaW9uIGl0IHdpbGwgYmUgZGV0ZXJtaW5lZCBieSB0aGUgY29tcHJlc3NlZCBpbnB1dC4KLUBA IC0zNjIsNyArMzYyLDcgQEAKLSAKLSAgICAgLy8vIFBvc3NpYmxlIENoZWNrIGNvbmZpZ3VyYXRp b25zCi0gICAgICNbZGVyaXZlKERlYnVnLCBDbG9uZSwgUGFydGlhbEVxKV0KLS0gICAgI1tweWNs YXNzKGVxLCBlcV9pbnQpXQotKyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmpl Y3QpXQotICAgICAjW2FsbG93KG1pc3NpbmdfZG9jcyldCi0gICAgIHB1YiBlbnVtIENoZWNrIHsK LSAgICAgICAgIENyYzY0LAoKZGlmZiAtLWdpdCBhL2NyYW1qYW0tMi4xMS4wLXB5bzMtMC4yOS5w YXRjaCBiL2NyYW1qYW0tMi4xMS4wLXB5bzMtMC4yOS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi44ODdhZDY0Ci0tLSAvZGV2L251bGwKKysrIGIvY3JhbWphbS0yLjEx LjAtcHlvMy0wLjI5LnBhdGNoCkBAIC0wLDAgKzEsMzY4IEBACitkaWZmIC1OYXVyIGNyYW1qYW0t Mi4xMS4wLW9yaWdpbmFsL0NhcmdvLnRvbWwgY3JhbWphbS0yLjExLjAvQ2FyZ28udG9tbAorLS0t IGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL0NhcmdvLnRvbWwJMTk3MC0wMS0wMSAwMTowMDowMC4w MDAwMDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9DYXJnby50b21sCTIwMjYtMDYtMTkg MjE6MjU6MzkuMjk4Nzc0NzMyICswMTAwCitAQCAtNzEsMTEgKzcxLDExIEBACisgCisgCisgW2Rl cGVuZGVuY2llc10KKy1weW8zID0geyB2ZXJzaW9uID0gIl4wLjI1IiwgZGVmYXVsdC1mZWF0dXJl cyA9IGZhbHNlLCBmZWF0dXJlcyA9IFsibWFjcm9zIl0gfQorK3B5bzMgPSB7IHZlcnNpb24gPSAi XjAuMjkiLCBkZWZhdWx0LWZlYXR1cmVzID0gZmFsc2UsIGZlYXR1cmVzID0gWyJtYWNyb3MiXSB9 CisgbGliY3JhbWphbSA9IHsgdmVyc2lvbiA9ICJeMC44IiwgZGVmYXVsdC1mZWF0dXJlcyA9IGZh bHNlIH0KKyAKKyBbYnVpbGQtZGVwZW5kZW5jaWVzXQorLXB5bzMtYnVpbGQtY29uZmlnID0gIl4w LjI1IgorK3B5bzMtYnVpbGQtY29uZmlnID0gIl4wLjI5IgorIAorIFtwcm9maWxlLnJlbGVhc2Vd Cisgc3RyaXAgPSB0cnVlCitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3B5cHJv amVjdC50b21sIGNyYW1qYW0tMi4xMS4wL3B5cHJvamVjdC50b21sCistLS0gY3JhbWphbS0yLjEx LjAtb3JpZ2luYWwvcHlwcm9qZWN0LnRvbWwJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAg KzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9weXByb2plY3QudG9tbAkyMDI2LTA2LTE5IDIxOjI1 OjU2LjU3Mjk2MTY0NyArMDEwMAorQEAgLTIsNyArMiw3IEBACisgbmFtZSA9ICJjcmFtamFtIgor IHZlcnNpb24gPSAiMi4xMS4wIgorIGtleXdvcmRzID0gWyJjb21wcmVzc2lvbiIsICJkZWNvbXBy ZXNzaW9uIiwgInNuYXBweSIsICJ6c3RkIiwgImJ6MiIsICJnemlwIiwgImx6NCIsICJicm90bGki LCAiZGVmbGF0ZSIsICJibG9zYzIiXQorLXJlcXVpcmVzLXB5dGhvbiA9ICI+PTMuOCIKKytyZXF1 aXJlcy1weXRob24gPSAiPj0zLjExIgorIGxpY2Vuc2UgPSB7IGZpbGUgPSAiTElDRU5TRSIgfQor IAorIFtwcm9qZWN0LnVybHNdCitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3Ny Yy9ibG9zYzIucnMgY3JhbWphbS0yLjExLjAvc3JjL2Jsb3NjMi5ycworLS0tIGNyYW1qYW0tMi4x MS4wLW9yaWdpbmFsL3NyYy9ibG9zYzIucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAg KzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9zcmMvYmxvc2MyLnJzCTIwMjYtMDYtMTkgMjE6MjU6 MzkuMjk4OTk0NjA1ICswMTAwCitAQCAtMTQzLDcgKzE0Myw3IEBACisgICAgIHB1YiBmbiBkZWNv bXByZXNzX2NodW5rKHB5OiBQeXRob24sIGRhdGE6IEJ5dGVzVHlwZSwgb3V0cHV0X2xlbjogT3B0 aW9uPHVzaXplPikgLT4gUHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKKyAgICAgICAgIGxldCBieXRl cyA9IGRhdGEuYXNfYnl0ZXMoKTsKKyAgICAgICAgIGxldCBidWYgPSBweQorLSAgICAgICAgICAg IC5hbGxvd190aHJlYWRzKHx8IGxpYmNyYW1qYW06OmJsb3NjMjo6ZGVjb21wcmVzc19jaHVuayhi eXRlcykpCisrICAgICAgICAgICAgLmRldGFjaCh8fCBsaWJjcmFtamFtOjpibG9zYzI6OmRlY29t cHJlc3NfY2h1bmsoYnl0ZXMpKQorICAgICAgICAgICAgIC5tYXAoUnVzdHlCdWZmZXI6OmZyb20p PzsKKyAgICAgICAgIE9rKGJ1ZikKKyAgICAgfQorQEAgLTE1Myw3ICsxNTMsNyBAQAorICAgICBw dWIgZm4gZGVjb21wcmVzc19jaHVua19pbnRvKHB5OiBQeXRob24sIGlucHV0OiBCeXRlc1R5cGUs IG11dCBvdXRwdXQ6IEJ5dGVzVHlwZSkgLT4gUHlSZXN1bHQ8dXNpemU+IHsKKyAgICAgICAgIGxl dCBieXRlcyA9IGlucHV0LmFzX2J5dGVzKCk7CisgICAgICAgICBsZXQgb3V0ID0gb3V0cHV0LmFz X2J5dGVzX211dCgpPzsKKy0gICAgICAgIGxldCBuYnl0ZXMgPSBweS5hbGxvd190aHJlYWRzKHx8 IGxpYmNyYW1qYW06OmJsb3NjMjo6ZGVjb21wcmVzc19jaHVua19pbnRvKGJ5dGVzLCBvdXQpKT87 CisrICAgICAgICBsZXQgbmJ5dGVzID0gcHkuZGV0YWNoKHx8IGxpYmNyYW1qYW06OmJsb3NjMjo6 ZGVjb21wcmVzc19jaHVua19pbnRvKGJ5dGVzLCBvdXQpKT87CisgICAgICAgICBPayhuYnl0ZXMp CisgICAgIH0KKyAKK0BAIC0xNzYsNyArMTc2LDcgQEAKKyAgICAgICAgIGNvZGVjOiBPcHRpb248 UHlDb2RlYz4sCisgICAgICkgLT4gUHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKKyAgICAgICAgIGxl dCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKKy0gICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwg eworKyAgICAgICAgcHkuZGV0YWNoKHx8IHsKKyAgICAgICAgICAgICBsZXQgY2xldmVsID0gY2xl dmVsLm1hcChJbnRvOjppbnRvKTsKKyAgICAgICAgICAgICBsZXQgZmlsdGVyID0gZmlsdGVyLm1h cChJbnRvOjppbnRvKTsKKyAgICAgICAgICAgICBsZXQgY29kZWMgPSBjb2RlYy5tYXAoSW50bzo6 aW50byk7CitAQCAtMjAwLDcgKzIwMCw3IEBACisgICAgICkgLT4gUHlSZXN1bHQ8dXNpemU+IHsK KyAgICAgICAgIGxldCBieXRlcyA9IGlucHV0LmFzX2J5dGVzKCk7CisgICAgICAgICBsZXQgb3V0 ID0gb3V0cHV0LmFzX2J5dGVzX211dCgpPzsKKy0gICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwg eworKyAgICAgICAgcHkuZGV0YWNoKHx8IHsKKyAgICAgICAgICAgICBsZXQgY2xldmVsID0gY2xl dmVsLm1hcChJbnRvOjppbnRvKTsKKyAgICAgICAgICAgICBsZXQgZmlsdGVyID0gZmlsdGVyLm1h cChJbnRvOjppbnRvKTsKKyAgICAgICAgICAgICBsZXQgY29kZWMgPSBjb2RlYy5tYXAoSW50bzo6 aW50byk7CitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9pby5ycyBjcmFt amFtLTIuMTEuMC9zcmMvaW8ucnMKKy0tLSBjcmFtamFtLTIuMTEuMC1vcmlnaW5hbC9zcmMvaW8u cnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEu MC9zcmMvaW8ucnMJMjAyNi0wNi0xOSAyMToyNTozOS4yOTkxNjI1ODcgKzAxMDAKK0BAIC0xNCw3 ICsxNCw2IEBACisgdXNlIHB5bzM6OmZmaTsKKyB1c2UgcHlvMzo6cHJlbHVkZTo6KjsKKyB1c2Ug cHlvMzo6dHlwZXM6OlB5Qnl0ZXM7CistdXNlIHB5bzM6OkludG9QeU9iamVjdEV4dDsKKyB1c2Ug c3RkOjpwYXRoOjpQYXRoQnVmOworIAorIHB1YihjcmF0ZSkgdHJhaXQgQXNCeXRlcyB7CitAQCAt MjEwLDcgKzIwOSw3IEBACisgICAgIHB1YiBmbiBhc19zbGljZV9tdXQoJm11dCBzZWxmKSAtPiBQ eVJlc3VsdDwmbXV0IFt1OF0+IHsKKyAgICAgICAgICNbY2ZnKGFueShQeVB5LCBQeV9HSUxfRElT QUJMRUQpKV0KKyAgICAgICAgIHsKKy0gICAgICAgICAgICBQeXRob246OndpdGhfZ2lsKHxweXwg eworKyAgICAgICAgICAgIFB5dGhvbjo6YXR0YWNoKHxweXwgeworICAgICAgICAgICAgICAgICBs ZXQgaXNfbWVtb3J5dmlldyA9IHVuc2FmZSB7IGZmaTo6UHlNZW1vcnlWaWV3X0NoZWNrKHNlbGYu b3duZXIuYXNfcHRyKCkpIH0gPT0gMTsKKyAgICAgICAgICAgICAgICAgaWYgaXNfbWVtb3J5dmll dyB8fCBzZWxmLm93bmVyLmJpbmQocHkpLmlzX2luc3RhbmNlX29mOjo8UHlCeXRlcz4oKSB7Cisg ICAgICAgICAgICAgICAgICAgICAjW2NmZyhQeVB5KV0KK0BAIC0yNjAsMTMgKzI1OSwxNCBAQAor IAorIGltcGwgRHJvcCBmb3IgUHl0aG9uQnVmZmVyIHsKKyAgICAgZm4gZHJvcCgmbXV0IHNlbGYp IHsKKy0gICAgICAgIFB5dGhvbjo6d2l0aF9naWwofF98IHVuc2FmZSB7IGZmaTo6UHlCdWZmZXJf UmVsZWFzZSgmbXV0ICpzZWxmLmlubmVyKSB9KQorKyAgICAgICAgUHl0aG9uOjphdHRhY2gofF98 IHVuc2FmZSB7IGZmaTo6UHlCdWZmZXJfUmVsZWFzZSgmbXV0ICpzZWxmLmlubmVyKSB9KQorICAg ICB9CisgfQorIAorLWltcGw8J3B5PiBGcm9tUHlPYmplY3Q8J3B5PiBmb3IgUHl0aG9uQnVmZmVy IHsKKy0gICAgZm4gZXh0cmFjdF9ib3VuZChvYmo6ICZCb3VuZDwncHksIFB5QW55PikgLT4gUHlS ZXN1bHQ8U2VsZj4geworLSAgICAgICAgU2VsZjo6dHJ5X2Zyb20ob2JqKQorK2ltcGw8J2EsICdw eT4gRnJvbVB5T2JqZWN0PCdhLCAncHk+IGZvciBQeXRob25CdWZmZXIgeworKyAgICB0eXBlIEVy cm9yID0gUHlFcnI7CisrICAgIGZuIGV4dHJhY3Qob2JqOiBCb3Jyb3dlZDwnYSwgJ3B5LCBQeUFu eT4pIC0+IFB5UmVzdWx0PFNlbGY+IHsKKysgICAgICAgIFNlbGY6OnRyeV9mcm9tKCYqb2JqKQor ICAgICB9CisgfQorIAorQEAgLTI4NSw3ICsyODUsNyBAQAorICAgICAgICAgICAgIGlubmVyOiBz dGQ6OnBpbjo6UGluOjpmcm9tKGJ1ZiksCisgICAgICAgICAgICAgcG9zOiAwLAorICAgICAgICAg ICAgICNbY2ZnKGFueShQeVB5LCBQeV9HSUxfRElTQUJMRUQpKV0KKy0gICAgICAgICAgICBvd25l cjogUHl0aG9uOjp3aXRoX2dpbCh8cHl8IG9iai5pbnRvX3B5X2FueShweSkudW53cmFwKCkpLAor KyAgICAgICAgICAgIG93bmVyOiBvYmouY2xvbmUoKS51bmJpbmQoKSwKKyAgICAgICAgIH07Cisg ICAgICAgICAvLyBzYW5pdHkgY2hlY2tzCisgICAgICAgICBpZiBidWYuaW5uZXIuc2hhcGUuaXNf bnVsbCgpIHsKK0BAIC02MjksNyArNjI5LDcgQEAKKyAgICAgfQorICAgICBmbiBfX2NvbnRhaW5z X18oJnNlbGYsIHB5OiBQeXRob24sIHg6IEJ5dGVzVHlwZSkgLT4gYm9vbCB7CisgICAgICAgICBs ZXQgYnl0ZXMgPSB4LmFzX2J5dGVzKCk7CistICAgICAgICBweS5hbGxvd190aHJlYWRzKHx8IHNl bGYuaW5uZXIuZ2V0X3JlZigpLndpbmRvd3MoYnl0ZXMubGVuKCkpLmFueSh8d3wgdyA9PSBieXRl cykpCisrICAgICAgICBweS5kZXRhY2gofHwgc2VsZi5pbm5lci5nZXRfcmVmKCkud2luZG93cyhi eXRlcy5sZW4oKSkuYW55KHx3fCB3ID09IGJ5dGVzKSkKKyAgICAgfQorICAgICBmbiBfX3JlcHJf XygmbXV0IHNlbGYsIHB5OiBQeXRob24pIC0+IFB5UmVzdWx0PFN0cmluZz4geworICAgICAgICAg T2soZm9ybWF0ISgiY3JhbWphbS5CdWZmZXI8bGVuPXs6P30+Iiwgc2VsZi5sZW4ocHkpPykpCitk aWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9saWIucnMgY3JhbWphbS0yLjEx LjAvc3JjL2xpYi5ycworLS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9saWIucnMJMjAy NS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9zcmMv bGliLnJzCTIwMjYtMDYtMTkgMjE6MjU6MzkuMjk5MzIxNDUwICswMTAwCitAQCAtMjIyLDEzICsy MjIsMTMgQEAKKyAgICAgICAgICAgICAgICAgQnl0ZXNUeXBlOjpSdXN0eUZpbGUoZikgPT4gewor ICAgICAgICAgICAgICAgICAgICAgbGV0IGJvcnJvd2VkID0gZi5ib3Jyb3coKTsKKyAgICAgICAg ICAgICAgICAgICAgIGxldCBmaWxlID0gJmJvcnJvd2VkLmlubmVyOworLSAgICAgICAgICAgICAg ICAgICAgJHB5LmFsbG93X3RocmVhZHMofHwgeworKyAgICAgICAgICAgICAgICAgICAgJHB5LmRl dGFjaCh8fCB7CisgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGZpbGUsICZtdXQgQ3Vyc29y OjpuZXcoJm11dCBvdXRwdXQpICQoLCAkYXJncykqICkKKyAgICAgICAgICAgICAgICAgICAgIH0p CisgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgIF8gPT4geworICAgICAgICAg ICAgICAgICAgICAgbGV0IGJ5dGVzID0gJGlucHV0LmFzX2J5dGVzKCk7CistICAgICAgICAgICAg ICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAkcHku ZGV0YWNoKHx8IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAkb3AoYnl0ZXMsICZtdXQgQ3Vy c29yOjpuZXcoJm11dCBvdXRwdXQpICQoLCAkYXJncykqICkKKyAgICAgICAgICAgICAgICAgICAg IH0pCisgICAgICAgICAgICAgICAgIH0KK0BAIC0yNDYsMjAgKzI0NiwyMCBAQAorICAgICAgICAg ICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlGaWxlKGYpID0+IHsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGV0IG11dCBib3Jyb3dlZCA9IGYuYm9ycm93X211dCgpOworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGZfb3V0ID0gJm11dCBib3Jyb3dlZC5p bm5lcjsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHB5LmFsbG93X3RocmVhZHMofHwg eworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICRvcChmX2luLCAmbXV0IGZfb3V0ICQoLCAkYXJncykq ICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICB9LAorICAgICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlCdWZmZXIo YnVmZmVyKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtdXQgYm9ycm93 ZWQgPSBidWZmZXIuYm9ycm93X211dCgpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs ZXQgbXV0IGJ1Zl9vdXQgPSAmbXV0IGJvcnJvd2VkLmlubmVyOworLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICRweS5kZXRhY2gofHwgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JG9wKGZfaW4sICZtdXQgYnVmX291dCAkKCwgJGFyZ3MpKiApCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICBfID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVz X291dCA9ICRvdXRwdXQuYXNfYnl0ZXNfbXV0KCk/OworLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICRweS5kZXRhY2gofHwgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGZf aW4sICZtdXQgQ3Vyc29yOjpuZXcoYnl0ZXNfb3V0KSAkKCwgJGFyZ3MpKiApCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgICAgICAgICAgfQorQEAgLTI3 MSwyMCArMjcxLDIwIEBACisgICAgICAgICAgICAgICAgICAgICAgICAgQnl0ZXNUeXBlOjpSdXN0 eUZpbGUoZikgPT4geworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJvcnJv d2VkID0gZi5ib3Jyb3dfbXV0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBt dXQgZl9vdXQgPSAmbXV0IGJvcnJvd2VkLmlubmVyOworLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAkcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICRweS5kZXRhY2gofHwgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGJ5 dGVzX2luLCAmbXV0IGZfb3V0ICQoLCAkYXJncykqICkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfSkKKyAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAg ICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlCdWZmZXIoYnVmZmVyKSA9PiB7CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxldCBtdXQgYm9ycm93ZWQgPSBidWZmZXIuYm9ycm93X211dCgpOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbXV0IGJ1Zl9vdXQgPSAmbXV0IGJvcnJv d2VkLmlubmVyOworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuYWxsb3dfdGhyZWFk cyh8fCB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICRweS5kZXRhY2gofHwgeworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9wKGJ5dGVzX2luLCAmbXV0IGJ1Zl9vdXQg JCgsICRhcmdzKSogKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQorICAgICAgICAg ICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgXyA9PiB7CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBieXRlc19vdXQgPSAkb3V0cHV0LmFzX2J5dGVz X211dCgpPzsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJHB5LmFsbG93X3RocmVhZHMo fHwgeworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcHkuZGV0YWNoKHx8IHsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcChieXRlc19pbiwgJm11dCBDdXJzb3I6Om5l dyhieXRlc19vdXQpICQoLCAkYXJncykqKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 KQorICAgICAgICAgICAgICAgICAgICAgICAgIH0KK0BAIC0zMzEsMTEgKzMzMSwxMSBAQAorICAg ICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzVHlwZTo6UnVzdHlGaWxlKGYpID0+IHsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG11dCBib3Jyb3dlZCA9IGYuYm9ycm93X211dCgp OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZl9pbiA9ICZtdXQgYm9ycm93ZWQu aW5uZXI7CistICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5LmFsbG93X3RocmVhZHMofHwg bGliY3JhbWphbTo6JGNvZGVjOjpkZWNvbXByZXNzKGZfaW4sIGlubmVyKS5tYXBfZXJyKEludG86 OmludG8pKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBweS5kZXRhY2gofHwgbGliY3Jh bWphbTo6JGNvZGVjOjpkZWNvbXByZXNzKGZfaW4sIGlubmVyKS5tYXBfZXJyKEludG86OmludG8p KQorICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgICBf ID0+IHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ5dGVzID0gaW5wdXQuYXNf Ynl0ZXMoKTsKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8 fCB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB5LmRldGFjaCh8fCB7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJjcmFtamFtOjokY29kZWM6OmRlY29tcHJlc3Mo Jm11dCBDdXJzb3I6Om5ldyhieXRlcyksIGlubmVyKS5tYXBfZXJyKEludG86OmludG8pCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgICAgICAgICAgfQor QEAgLTM3Nyw3ICszNzcsNyBAQAorICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBmbiBfX2Nv bnRhaW5zX18oJnNlbGYsIHB5OiBQeXRob24sIHg6IEJ5dGVzVHlwZSkgLT4gYm9vbCB7CisgICAg ICAgICAgICAgICAgIGxldCBieXRlcyA9IHguYXNfYnl0ZXMoKTsKKy0gICAgICAgICAgICAgICAg cHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICAgICAgICAgIHB5LmRldGFjaCh8fCB7Cisg ICAgICAgICAgICAgICAgICAgICBzZWxmLmlubmVyCisgICAgICAgICAgICAgICAgICAgICAgICAg LmFzX3JlZigpCisgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCh8Y3wgYy5nZXRfcmVmKCku d2luZG93cyhieXRlcy5sZW4oKSkuYW55KHx3fCB3ID09IGJ5dGVzKSkKK2RpZmYgLU5hdXIgY3Jh bWphbS0yLjExLjAtb3JpZ2luYWwvc3JjL2x6NC5ycyBjcmFtamFtLTIuMTEuMC9zcmMvbHo0LnJz CistLS0gY3JhbWphbS0yLjExLjAtb3JpZ2luYWwvc3JjL2x6NC5ycwkyMDI1LTA3LTI3IDIxOjQy OjA3LjAwMDAwMDAwMCArMDEwMAorKysrIGNyYW1qYW0tMi4xMS4wL3NyYy9sejQucnMJMjAyNi0w Ni0xOSAyMToyNTozOS4yOTk0NTg4MTIgKzAxMDAKK0BAIC04MSw3ICs4MSw3IEBACisgICAgIHB1 YiBmbiBkZWNvbXByZXNzX2Jsb2NrKHB5OiBQeXRob24sIGRhdGE6IEJ5dGVzVHlwZSwgb3V0cHV0 X2xlbjogT3B0aW9uPHVzaXplPikgLT4gUHlSZXN1bHQ8UnVzdHlCdWZmZXI+IHsKKyAgICAgICAg IGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKKyAKKy0gICAgICAgIHB5LmFsbG93X3RocmVh ZHMofHwgeworKyAgICAgICAgcHkuZGV0YWNoKHx8IHsKKyAgICAgICAgICAgICBtYXRjaCBvdXRw dXRfbGVuIHsKKyAgICAgICAgICAgICAgICAgU29tZShuKSA9PiB7CisgICAgICAgICAgICAgICAg ICAgICBsZXQgbXV0IGJ1ZiA9IHZlYyFbMHU4OyBuXTsKK0BAIC0xMjMsNyArMTIzLDcgQEAKKyAg ICAgICAgIHN0b3JlX3NpemU6IE9wdGlvbjxib29sPiwKKyAgICAgKSAtPiBQeVJlc3VsdDxSdXN0 eUJ1ZmZlcj4geworICAgICAgICAgbGV0IGJ5dGVzID0gZGF0YS5hc19ieXRlcygpOworLSAgICAg ICAgcHkuYWxsb3dfdGhyZWFkcyh8fCB7CisrICAgICAgICBweS5kZXRhY2gofHwgeworICAgICAg ICAgICAgIGxpYmNyYW1qYW06Omx6NDo6YmxvY2s6OmNvbXByZXNzX3ZlYyhieXRlcywgY29tcHJl c3Npb24ubWFwKHx2fCB2IGFzIF8pLCBhY2NlbGVyYXRpb24sIHN0b3JlX3NpemUpCisgICAgICAg ICB9KQorICAgICAgICAgLm1hcF9lcnIoQ29tcHJlc3Npb25FcnJvcjo6ZnJvbV9lcnIpCitAQCAt MTYwLDcgKzE2MCw3IEBACisgICAgICAgICB9CisgCisgICAgICAgICBsZXQgb3V0X2J5dGVzID0g b3V0cHV0LmFzX2J5dGVzX211dCgpPzsKKy0gICAgICAgIHB5LmFsbG93X3RocmVhZHMoCisrICAg ICAgICBweS5kZXRhY2goCisgICAgICAgICAgICAgfHwgbWF0Y2ggbGliY3JhbWphbTo6bHo0Ojpi bG9jazo6ZGVjb21wcmVzc19pbnRvKGJ5dGVzLCBvdXRfYnl0ZXMsIFNvbWUoc2l6ZV9zdG9yZWQp KSB7CisgICAgICAgICAgICAgICAgIE9rKHIpID0+IE9rKHIpLAorICAgICAgICAgICAgICAgICAv LyBGYWxsYmFjayBhbmQgdHJ5IG5lZ2F0aW9uIG9mIHN0b3JlZCBzaXplLCBpbmNhc2Ugd2UvdGhl eSBnb3QgaXQgd3Jvbmc7CitAQCAtMjAyLDcgKzIwMiw3IEBACisgICAgICkgLT4gUHlSZXN1bHQ8 dXNpemU+IHsKKyAgICAgICAgIGxldCBieXRlcyA9IGRhdGEuYXNfYnl0ZXMoKTsKKyAgICAgICAg IGxldCBvdXRfYnl0ZXMgPSBvdXRwdXQuYXNfYnl0ZXNfbXV0KCk/OworLSAgICAgICAgcHkuYWxs b3dfdGhyZWFkcyh8fCB7CisrICAgICAgICBweS5kZXRhY2gofHwgeworICAgICAgICAgICAgIGxp YmNyYW1qYW06Omx6NDo6YmxvY2s6OmNvbXByZXNzX2ludG8oCisgICAgICAgICAgICAgICAgIGJ5 dGVzLAorICAgICAgICAgICAgICAgICBvdXRfYnl0ZXMsCitkaWZmIC1OYXVyIGNyYW1qYW0tMi4x MS4wLW9yaWdpbmFsL3NyYy9zbmFwcHkucnMgY3JhbWphbS0yLjExLjAvc3JjL3NuYXBweS5ycwor LS0tIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFsL3NyYy9zbmFwcHkucnMJMjAyNS0wNy0yNyAyMTo0 MjowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBjcmFtamFtLTIuMTEuMC9zcmMvc25hcHB5LnJzCTIw MjYtMDYtMTkgMjE6MjU6MzkuMjk5NTUxOTYzICswMTAwCitAQCAtNTQsNyArNTQsNyBAQAorICAg ICAjW3B5bzMoc2lnbmF0dXJlID0gKGRhdGEsIG91dHB1dF9sZW49Tm9uZSkpXQorICAgICBwdWIg Zm4gZGVjb21wcmVzc19yYXcocHk6IFB5dGhvbiwgZGF0YTogQnl0ZXNUeXBlLCBvdXRwdXRfbGVu OiBPcHRpb248dXNpemU+KSAtPiBQeVJlc3VsdDxSdXN0eUJ1ZmZlcj4geworICAgICAgICAgbGV0 IGJ5dGVzID0gZGF0YS5hc19ieXRlcygpOworLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBs aWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVzc192ZWMoYnl0ZXMpKQorKyAgICAgICAg cHkuZGV0YWNoKHx8IGxpYmNyYW1qYW06OnNuYXBweTo6cmF3OjpkZWNvbXByZXNzX3ZlYyhieXRl cykpCisgICAgICAgICAgICAgLm1hcF9lcnIoRGVjb21wcmVzc2lvbkVycm9yOjpmcm9tX2VycikK KyAgICAgICAgICAgICAubWFwKEZyb206OmZyb20pCisgICAgIH0KK0BAIC03Miw3ICs3Miw3IEBA CisgICAgICNbcHlvMyhzaWduYXR1cmUgPSAoZGF0YSwgb3V0cHV0X2xlbj1Ob25lKSldCisgICAg IHB1YiBmbiBjb21wcmVzc19yYXcocHk6IFB5dGhvbiwgZGF0YTogQnl0ZXNUeXBlLCBvdXRwdXRf bGVuOiBPcHRpb248dXNpemU+KSAtPiBQeVJlc3VsdDxSdXN0eUJ1ZmZlcj4geworICAgICAgICAg bGV0IGJ5dGVzID0gZGF0YS5hc19ieXRlcygpOworLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8 fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJlc3NfdmVjKGJ5dGVzKSkKKysgICAgICAg IHB5LmRldGFjaCh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJlc3NfdmVjKGJ5dGVz KSkKKyAgICAgICAgICAgICAubWFwX2VycihDb21wcmVzc2lvbkVycm9yOjpmcm9tX2VycikKKyAg ICAgICAgICAgICAubWFwKEZyb206OmZyb20pCisgICAgIH0KK0BAIC05NCw3ICs5NCw3IEBACisg ICAgIHB1YiBmbiBjb21wcmVzc19yYXdfaW50byhweTogUHl0aG9uLCBpbnB1dDogQnl0ZXNUeXBl LCBtdXQgb3V0cHV0OiBCeXRlc1R5cGUpIC0+IFB5UmVzdWx0PHVzaXplPiB7CisgICAgICAgICBs ZXQgYnl0ZXNfaW4gPSBpbnB1dC5hc19ieXRlcygpOworICAgICAgICAgbGV0IGJ5dGVzX291dCA9 IG91dHB1dC5hc19ieXRlc19tdXQoKT87CistICAgICAgICBweS5hbGxvd190aHJlYWRzKHx8IGxp YmNyYW1qYW06OnNuYXBweTo6cmF3Ojpjb21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKKysg ICAgICAgIHB5LmRldGFjaCh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6Y29tcHJlc3MoYnl0 ZXNfaW4sIGJ5dGVzX291dCkpCisgICAgICAgICAgICAgLm1hcF9lcnIoQ29tcHJlc3Npb25FcnJv cjo6ZnJvbV9lcnIpCisgICAgIH0KKyAKK0BAIC0xMDMsNyArMTAzLDcgQEAKKyAgICAgcHViIGZu IGRlY29tcHJlc3NfcmF3X2ludG8ocHk6IFB5dGhvbiwgaW5wdXQ6IEJ5dGVzVHlwZSwgbXV0IG91 dHB1dDogQnl0ZXNUeXBlKSAtPiBQeVJlc3VsdDx1c2l6ZT4geworICAgICAgICAgbGV0IGJ5dGVz X2luID0gaW5wdXQuYXNfYnl0ZXMoKTsKKyAgICAgICAgIGxldCBieXRlc19vdXQgPSBvdXRwdXQu YXNfYnl0ZXNfbXV0KCk/OworLSAgICAgICAgcHkuYWxsb3dfdGhyZWFkcyh8fCBsaWJjcmFtamFt OjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVzcyhieXRlc19pbiwgYnl0ZXNfb3V0KSkKKysgICAgICAg IHB5LmRldGFjaCh8fCBsaWJjcmFtamFtOjpzbmFwcHk6OnJhdzo6ZGVjb21wcmVzcyhieXRlc19p biwgYnl0ZXNfb3V0KSkKKyAgICAgICAgICAgICAubWFwX2VycihEZWNvbXByZXNzaW9uRXJyb3I6 OmZyb21fZXJyKQorICAgICB9CisgCitkaWZmIC1OYXVyIGNyYW1qYW0tMi4xMS4wLW9yaWdpbmFs L3NyYy94ei5ycyBjcmFtamFtLTIuMTEuMC9zcmMveHoucnMKKy0tLSBjcmFtamFtLTIuMTEuMC1v cmlnaW5hbC9zcmMveHoucnMJMjAyNS0wNy0yNyAyMTo0MjowNy4wMDAwMDAwMDAgKzAxMDAKKysr KyBjcmFtamFtLTIuMTEuMC9zcmMveHoucnMJMjAyNi0wNi0xOSAyMToyNTozOS4yOTk2MzAyNjUg KzAxMDAKK0BAIC0xMzAsNyArMTMwLDcgQEAKKyAKKyAgICAgLy8vIEF2YWlsYWJsZSBGaWx0ZXIg SURzCisgICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgUGFydGlhbEVxKV0KKy0gICAgI1tweWNs YXNzKGVxLCBlcV9pbnQpXQorKyAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmpl Y3QpXQorICAgICAjW2FsbG93KG1pc3NpbmdfZG9jcyldCisgICAgIHB1YiBlbnVtIEZpbHRlciB7 CisgICAgICAgICBBcm0sCitAQCAtMTUwLDcgKzE1MCw3IEBACisgCisgICAgIC8vLyBNYXRjaEZp bmRlciwgdXNlZCB3aXRoIE9wdGlvbnMubWYgYXR0cmlidXRlCisgICAgICNbZGVyaXZlKENsb25l LCBEZWJ1ZywgUGFydGlhbEVxKV0KKy0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQorKyAgICAj W3B5Y2xhc3MoZXEsIGVxX2ludCwgZnJvbV9weV9vYmplY3QpXQorICAgICAjW2FsbG93KG1pc3Np bmdfZG9jcyldCisgICAgIHB1YiBlbnVtIE1hdGNoRmluZGVyIHsKKyAgICAgICAgIEhhc2hDaGFp bjMsCitAQCAtMTc0LDcgKzE3NCw3IEBACisgCisgICAgIC8vLyBNYXRjaEZpbmRlciwgdXNlZCB3 aXRoIE9wdGlvbnMubW9kZSBhdHRyaWJ1dGUKKyAgICAgI1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBQ YXJ0aWFsRXEpXQorLSAgICAjW3B5Y2xhc3MoZXEsIGVxX2ludCldCisrICAgICNbcHljbGFzcyhl cSwgZXFfaW50LCBmcm9tX3B5X29iamVjdCldCisgICAgICNbYWxsb3cobWlzc2luZ19kb2NzKV0K KyAgICAgcHViIGVudW0gTW9kZSB7CisgICAgICAgICBGYXN0LAorQEAgLTE5Miw3ICsxOTIsNyBA QAorICAgICAvLy8gRmlsdGVyQ2hhaW4sIHNpbWlsYXIgdG8gdGhlIGRlZmF1bHQgUHl0aG9uIFha IGZpbHRlciBjaGFpbiB3aGljaCBpcyBhIGxpc3Qgb2YKKyAgICAgLy8vIGRpY3RzLgorICAgICAj W2Rlcml2ZShEZWJ1ZywgQ2xvbmUpXQorLSAgICAjW3B5Y2xhc3NdCisrICAgICNbcHljbGFzcyhm cm9tX3B5X29iamVjdCldCisgICAgIHB1YiBzdHJ1Y3QgRmlsdGVyQ2hhaW4oVmVjPEZpbHRlckNo YWluSXRlbT4pOworIAorICAgICAjW3B5bWV0aG9kc10KK0BAIC0yMjksNyArMjI5LDcgQEAKKyAg ICAgLy8vIEZpbHRlckNoYWluSXRlbS4gSW4gUHl0aG9uJ3MgbHptYSBtb2R1bGUsIHRoaXMgcmVw cmVzZW50cyBhIHNpbmdsZSBkaWN0IGluIHRoZQorICAgICAvLy8gZmlsdGVyIGNoYWluIGxpc3Qu IFRvIGJlIGFkZGVkIHRvIHRoZSBgRmlsdGVyQ2hhaW5gCisgICAgICNbZGVyaXZlKENsb25lLCBE ZWJ1ZywgRGVmYXVsdCldCistICAgICNbcHljbGFzc10KKysgICAgI1tweWNsYXNzKGZyb21fcHlf b2JqZWN0KV0KKyAgICAgcHViIHN0cnVjdCBGaWx0ZXJDaGFpbkl0ZW0geworICAgICAgICAgZmls dGVyOiBGaWx0ZXIsCisgICAgICAgICBvcHRpb25zOiBPcHRpb25zLAorQEAgLTI1MCw3ICsyNTAs NyBAQAorIAorICAgICAvLy8KKyAgICAgI1tkZXJpdmUoQ2xvbmUsIERlYnVnLCBEZWZhdWx0KV0K Ky0gICAgI1tweWNsYXNzXQorKyAgICAjW3B5Y2xhc3MoZnJvbV9weV9vYmplY3QpXQorICAgICBw dWIgc3RydWN0IE9wdGlvbnMgeworICAgICAgICAgcHJlc2V0OiBPcHRpb248dTMyPiwKKyAgICAg ICAgIGRpY3Rfc2l6ZTogT3B0aW9uPHUzMj4sCitAQCAtMzMxLDcgKzMzMSw3IEBACisgCisgICAg IC8vLyBQb3NzaWJsZSBmb3JtYXRzCisgICAgICNbZGVyaXZlKENsb25lLCBEZWJ1ZywgUGFydGlh bEVxKV0KKy0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQorKyAgICAjW3B5Y2xhc3MoZXEsIGVx X2ludCwgZnJvbV9weV9vYmplY3QpXQorICAgICBwdWIgZW51bSBGb3JtYXQgeworICAgICAgICAg Ly8vIEF1dG8gc2VsZWN0IHRoZSBmb3JtYXQsIGZvciBjb21wcmVzc2lvbiB0aGlzIGlzIFhaLAor ICAgICAgICAgLy8vIGZvciBkZWNvbXByZXNzaW9uIGl0IHdpbGwgYmUgZGV0ZXJtaW5lZCBieSB0 aGUgY29tcHJlc3NlZCBpbnB1dC4KK0BAIC0zNjIsNyArMzYyLDcgQEAKKyAKKyAgICAgLy8vIFBv c3NpYmxlIENoZWNrIGNvbmZpZ3VyYXRpb25zCisgICAgICNbZGVyaXZlKERlYnVnLCBDbG9uZSwg UGFydGlhbEVxKV0KKy0gICAgI1tweWNsYXNzKGVxLCBlcV9pbnQpXQorKyAgICAjW3B5Y2xhc3Mo ZXEsIGVxX2ludCwgZnJvbV9weV9vYmplY3QpXQorICAgICAjW2FsbG93KG1pc3NpbmdfZG9jcyld CisgICAgIHB1YiBlbnVtIENoZWNrIHsKKyAgICAgICAgIENyYzY0LAoKZGlmZiAtLWdpdCBhL3B5 dGhvbi1jcmFtamFtLnNwZWMgYi9weXRob24tY3JhbWphbS5zcGVjCmluZGV4IGIxY2ZiZDMuLjY2 ZWRmMjQgMTAwNjQ0Ci0tLSBhL3B5dGhvbi1jcmFtamFtLnNwZWMKKysrIGIvcHl0aG9uLWNyYW1q YW0uc3BlYwpAQCAtMzcsNyArMzcsMTEgQEAgU291cmNlMTogICAgICAgIGdldF9zb3VyY2UKICMg aHR0cHM6Ly9naXRodWIuY29tL21pbGVzZ3Jhbmdlci9jcmFtamFtL3B1bGwvMjQwCiAjIFJlYmFz ZWQgb24gMi4xMS4wLiBXaXRob3V0IGNoYW5nZXMgdG8gQ2FyZ28ubG9jayBhbmQKICMgLmdpdGh1 Yi93b3JrZmxvd3MvQ0kueW1sLCB3aGljaCBhcmUgbm90IHJlbGV2YW50IGRvd25zdHJlYW0uCi1Q YXRjaDogICAgICAgICAgY3JhbWphbS0yLjExLjAtcHlvMy0wLjI4LnBhdGNoCisjCisjIEZ1cnRo ZXIgdXBkYXRlIHRvIDAuMjksIHdpdGhvdXQgc291cmNlLWNvZGUgY2hhbmdlcywgaW50cm9kdWNp bmcgb25lIG5ldworIyBkZXByZWNhdGlvbiB3YXJuaW5nIGFzIG5vdGVkIGluCisjIGh0dHBzOi8v Z2l0aHViLmNvbS9taWxlc2dyYW5nZXIvY3JhbWphbS9wdWxsLzI0MCNpc3N1ZWNvbW1lbnQtNDc1 Njg4NjU5OS4KK1BhdGNoOiAgICAgICAgICBjcmFtamFtLTIuMTEuMC1weW8zLTAuMjkucGF0Y2gK IAogQnVpbGRTeXN0ZW06ICAgIHB5cHJvamVjdAogQnVpbGRPcHRpb24oaW5zdGFsbCk6IC0tYXNz ZXJ0LWxpY2Vuc2UgY3JhbWphbQo=