From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: from inbox.vuxu.org (localhost [IPv6:::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 7b6376f0 for ; Mon, 30 Dec 2019 18:02:39 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============2692438845612015774==" MIME-Version: 1.0 Subject: Re: [PR PATCH] [Updated] New package: python3-language-server-0.31.4 To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 30 Dec 2019 19:02:39 +0100 Message-ID: <20191230180239.1g25LJ5v5W7HjnSRCnjHZK_U5atIvDuh8Lh429yGnSU@z> GitHub notification mails are now in MIME to allow UTF8. --===============2692438845612015774== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgazRsZWcgYWdhaW5zdCBtYXN0ZXIg b24gdGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL2s0bGVn L3ZvaWQtcGFja2FnZXMgcHl0aG9uLWxhbmd1YWdlLXNlcnZlcgpodHRwczovL2dpdGh1Yi5jb20v dm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMTc4NjIKCk5ldyBwYWNrYWdlOiBweXRob24z LWxhbmd1YWdlLXNlcnZlci0wLjMxLjQKCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRwczovL2dpdGh1 Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMTc4NjIucGF0Y2ggaXMgYXR0YWNo ZWQ= --===============2692438845612015774== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-python-language-server-17862.patch" RnJvbSBhYzUyOWRjZTE5N2VjMzZmM2MxYzZjNWM4YTg1MjE3NWY2YWIxYjdmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBrNGxlZyA8ZDB4aUBpbmJveC5ydT4KRGF0ZTogTW9uLCAzMCBE ZWMgMjAxOSAxODo0NTowNyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMS81XSBweXRob24tamVkaTog dXBkYXRlIHRvIDAuMTUuMi4KCi0tLQogc3JjcGtncy9weXRob24tamVkaS90ZW1wbGF0ZSB8IDE5 ICsrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEx IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uLWplZGkvdGVtcGxhdGUg Yi9zcmNwa2dzL3B5dGhvbi1qZWRpL3RlbXBsYXRlCmluZGV4IGE5OTRmMGUyODYxLi5mNjA5ZmI0 NDY0ZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9weXRob24tamVkaS90ZW1wbGF0ZQorKysgYi9zcmNw a2dzL3B5dGhvbi1qZWRpL3RlbXBsYXRlCkBAIC0xLDIxICsxLDE5IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdweXRob24tamVkaScKIHBrZ25hbWU9cHl0aG9uLWplZGkKLXZlcnNpb249MC4xNS4x Ci1yZXZpc2lvbj0yCit2ZXJzaW9uPTAuMTUuMgorcmV2aXNpb249MQogYXJjaHM9bm9hcmNoCi1f cGFyc292ZXI9MC41LjAKIHdya3NyYz0iamVkaS0ke3ZlcnNpb259IgogYnVpbGRfc3R5bGU9cHl0 aG9uLW1vZHVsZQotcHljb21waWxlX21vZHVsZT0iamVkaSIKIGhvc3RtYWtlZGVwZW5kcz0icHl0 aG9uLXNldHVwdG9vbHMgcHl0aG9uMy1zZXR1cHRvb2xzIgotZGVwZW5kcz0icHl0aG9uLXBhcnNv Pj0ke19wYXJzb3Zlcn0iCitkZXBlbmRzPSJweXRob24tcGFyc28iCiBjaGVja2RlcGVuZHM9InB5 dGhvbi1wYXJzbyBweXRob24zLXBhcnNvIHB5dGhvbi1weXRlc3QgcHl0aG9uMy1weXRlc3QiCi1z aG9ydF9kZXNjPSJBdXRvY29tcGxldGlvbi9zdGF0aWMgYW5hbHlzaXMgbGlicmFyeSBmb3IgUHl0 aG9uMiIKK3Nob3J0X2Rlc2M9IkF1dG9jb21wbGV0aW9uL3N0YXRpYyBhbmFseXNpcyBsaWJyYXJ5 IGZvciBQeXRob24gMiIKIG1haW50YWluZXI9IkFsZXNzaW8gU2VyZ2kgPGFsM2hleEBnbWFpbC5j b20+IgogbGljZW5zZT0iTUlUIgogaG9tZXBhZ2U9Imh0dHBzOi8vamVkaS5yZWFkdGhlZG9jcy5p by8iCiBkaXN0ZmlsZXM9IiR7UFlQSV9TSVRFfS9qL2plZGkvamVkaS0ke3ZlcnNpb259LnRhci5n eiIKLWNoZWNrc3VtPWJhODU5Yzc0ZmEzYzk2NmEyMmYyYWVlYmUxYjc0ZWUyN2UyYTQ2MmY1NmQz ZjVmN2NhNGE1OWFmNjFiZmU0MmUKK2NoZWNrc3VtPWU5MDk1MjcxMDRhOTAzNjA2ZGQ2M2JlYTZl OGU4ODg4MzNmMGVmMDg3MDU3ODI5Yjg5YTE4MzY0YTg1NmY4MDcKIAogcG9zdF9pbnN0YWxsKCkg ewogCXZsaWNlbnNlIExJQ0VOU0UudHh0CkBAIC0yMywxMSArMjEsMTAgQEAgcG9zdF9pbnN0YWxs KCkgewogCiBweXRob24zLWplZGlfcGFja2FnZSgpIHsKIAlhcmNocz1ub2FyY2gKLQlweWNvbXBp bGVfbW9kdWxlPSJqZWRpIgotCWRlcGVuZHM9InB5dGhvbjMtcGFyc28+PSR7X3BhcnNvdmVyfSIK LQlzaG9ydF9kZXNjPSIke3Nob3J0X2Rlc2MvUHl0aG9uMi9QeXRob24zfSIKKwlkZXBlbmRzPSJw eXRob24zLXBhcnNvIgorCXNob3J0X2Rlc2M9IiR7c2hvcnRfZGVzYy8yLzN9IgogCXBrZ19pbnN0 YWxsKCkgewotCQl2bW92ZSB1c3IvbGliL3B5dGhvbjMqCisJCXZtb3ZlICJ1c3IvbGliL3B5dGhv bjMqIgogCQl2bGljZW5zZSBMSUNFTlNFLnR4dAogCX0KIH0KCkZyb20gNzQ4NWY3ZDNmYzM4M2Ix MzEyZjM1MjY4YWE1MjM3OTljYjNjMDkwOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog azRsZWcgPGQweGlAaW5ib3gucnU+CkRhdGU6IE1vbiwgMzAgRGVjIDIwMTkgMTk6MTA6MTAgKzAz MDAKU3ViamVjdDogW1BBVENIIDIvNV0gTmV3IHBhY2thZ2U6IHB5dGhvbjMtbGFuZ3VhZ2Utc2Vy dmVyLTAuMzEuNC4KCi0tLQogc3JjcGtncy9weXRob24zLWxhbmd1YWdlLXNlcnZlci90ZW1wbGF0 ZSB8IDIwICsrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9u cygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcHl0aG9uMy1sYW5ndWFnZS1zZXJ2ZXIv dGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMtbGFuZ3VhZ2Utc2VydmVyL3Rl bXBsYXRlIGIvc3JjcGtncy9weXRob24zLWxhbmd1YWdlLXNlcnZlci90ZW1wbGF0ZQpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDVjMWFhN2ZmZjAKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3B5dGhvbjMtbGFuZ3VhZ2Utc2VydmVyL3RlbXBsYXRlCkBAIC0wLDAg KzEsMjAgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtbGFuZ3VhZ2Utc2VydmVyJwor cGtnbmFtZT1weXRob24zLWxhbmd1YWdlLXNlcnZlcgordmVyc2lvbj0wLjMxLjQKK3JldmlzaW9u PTEKK2FyY2hzPW5vYXJjaAord3Jrc3JjPSIke3BrZ25hbWUvM30tJHt2ZXJzaW9ufSIKK2J1aWxk X3N0eWxlPXB5dGhvbjMtbW9kdWxlCitob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29s cyIKK2RlcGVuZHM9InB5dGhvbjMtZnV0dXJlIHB5dGhvbjMtamVkaSBweXRob24zLXBsdWdneSBw eXRob24zLWpzb25ycGMtc2VydmVyIHB5dGhvbjMtdWx0cmFqc29uCisgcHl0aG9uMy1zZXR1cHRv b2xzIgorc2hvcnRfZGVzYz0iUHl0aG9uIGltcGxlbWVudGF0aW9uIG9mIHRoZSBMYW5ndWFnZSBT ZXJ2ZXIgUHJvdG9jb2wiCittYWludGFpbmVyPSJrNGxlZyA8ZDB4aUBpbmJveC5ydT4iCitsaWNl bnNlPSJNSVQiCitob21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL3B5dGhvbi1s YW5ndWFnZS1zZXJ2ZXIiCitkaXN0ZmlsZXM9IiR7UFlQSV9TSVRFfS9wLyR7cGtnbmFtZS8zfS8k e3BrZ25hbWUvM30tJHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVja3N1bT02OGQxYTVlZDIwNzE0ZTQ1 ZWU0MTczNDhhZTQ2ZGU0NWFiNGVkMzJjNmMwMmFkMTQ3Y2JiOWQ3ZWE1MjkzYWRiCisKK3Bvc3Rf aW5zdGFsbCgpIHsKKwl2bGljZW5zZSBMSUNFTlNFCit9CgpGcm9tIDhjZmMwZjRlNmI2YjFjZGI4 YzE5Zjg3ZWYzZDZhMDI5YjUzZTY2ZGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGs0 bGVnIDxkMHhpQGluYm94LnJ1PgpEYXRlOiBNb24sIDMwIERlYyAyMDE5IDE5OjEwOjI2ICswMzAw ClN1YmplY3Q6IFtQQVRDSCAzLzVdIE5ldyBwYWNrYWdlOiBweXRob24zLWpzb25ycGMtc2VydmVy LTAuMy4yLgoKLS0tCiAuLi4vcGF0Y2hlcy9weXRob24tMy44LnBhdGNoICAgICAgICAgICAgICAg ICAgfCA2MCArKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3B5dGhvbjMtanNvbnJwYy1zZXJ2 ZXIvdGVtcGxhdGUgICAgICAgfCAyMCArKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDgwIGluc2Vy dGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3B5dGhvbjMtanNvbnJwYy1zZXJ2 ZXIvcGF0Y2hlcy9weXRob24tMy44LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9w eXRob24zLWpzb25ycGMtc2VydmVyL3RlbXBsYXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRo b24zLWpzb25ycGMtc2VydmVyL3BhdGNoZXMvcHl0aG9uLTMuOC5wYXRjaCBiL3NyY3BrZ3MvcHl0 aG9uMy1qc29ucnBjLXNlcnZlci9wYXRjaGVzL3B5dGhvbi0zLjgucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY3ZDEzMGViY2NiCi0tLSAvZGV2L251bGwKKysr IGIvc3JjcGtncy9weXRob24zLWpzb25ycGMtc2VydmVyL3BhdGNoZXMvcHl0aG9uLTMuOC5wYXRj aApAQCAtMCwwICsxLDYwIEBACitkaWZmIC11cHJiIHB5dGhvbi1qc29ucnBjLXNlcnZlci0wLjIu MC5vcmlnL3B5bHNfanNvbnJwYy9lbmRwb2ludC5weSBweXRob24tanNvbnJwYy1zZXJ2ZXItMC4y LjAvcHlsc19qc29ucnBjL2VuZHBvaW50LnB5CistLS0gcHl0aG9uLWpzb25ycGMtc2VydmVyLTAu Mi4wLm9yaWcvcHlsc19qc29ucnBjL2VuZHBvaW50LnB5CTIwMTktMDYtMjcgMTg6NDI6MjIuMDAw MDAwMDAwICswMzAwCisrKysgcHl0aG9uLWpzb25ycGMtc2VydmVyLTAuMi4wL3B5bHNfanNvbnJw Yy9lbmRwb2ludC5weQkyMDE5LTExLTAyIDIzOjI0OjU5LjQwNzg1MTIwOCArMDIwMAorQEAgLTk4 LDcgKzk4LDcgQEAgY2xhc3MgRW5kcG9pbnQob2JqZWN0KToKKyAgICAgICAgICAgICBtZXNzYWdl IChkaWN0KTogVGhlIEpTT04gUlBDIG1lc3NhZ2Ugc2VudCBieSB0aGUgY2xpZW50CisgICAgICAg ICAiIiIKKyAgICAgICAgIGlmICdqc29ucnBjJyBub3QgaW4gbWVzc2FnZSBvciBtZXNzYWdlWydq c29ucnBjJ10gIT0gSlNPTlJQQ19WRVJTSU9OOgorLSAgICAgICAgICAgIGxvZy53YXJuKCJVbmtu b3duIG1lc3NhZ2UgdHlwZSAlcyIsIG1lc3NhZ2UpCisrICAgICAgICAgICAgbG9nLndhcm5pbmco IlVua25vd24gbWVzc2FnZSB0eXBlICVzIiwgbWVzc2FnZSkKKyAgICAgICAgICAgICByZXR1cm4K KyAKKyAgICAgICAgIGlmICdpZCcgbm90IGluIG1lc3NhZ2U6CitAQCAtMTM1LDcgKzEzNSw3IEBA IGNsYXNzIEVuZHBvaW50KG9iamVjdCk6CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgaGFu ZGxlciA9IHNlbGYuX2Rpc3BhdGNoZXJbbWV0aG9kXQorICAgICAgICAgZXhjZXB0IEtleUVycm9y OgorLSAgICAgICAgICAgIGxvZy53YXJuKCJJZ25vcmluZyBub3RpZmljYXRpb24gZm9yIHVua25v d24gbWV0aG9kICVzIiwgbWV0aG9kKQorKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCJJZ25vcmlu ZyBub3RpZmljYXRpb24gZm9yIHVua25vd24gbWV0aG9kICVzIiwgbWV0aG9kKQorICAgICAgICAg ICAgIHJldHVybgorIAorICAgICAgICAgdHJ5OgorQEAgLTE2NSw3ICsxNjUsNyBAQCBjbGFzcyBF bmRwb2ludChvYmplY3QpOgorICAgICAgICAgcmVxdWVzdF9mdXR1cmUgPSBzZWxmLl9jbGllbnRf cmVxdWVzdF9mdXR1cmVzLnBvcChtc2dfaWQsIE5vbmUpCisgCisgICAgICAgICBpZiBub3QgcmVx dWVzdF9mdXR1cmU6CistICAgICAgICAgICAgbG9nLndhcm4oIlJlY2VpdmVkIGNhbmNlbCBub3Rp ZmljYXRpb24gZm9yIHVua25vd24gbWVzc2FnZSBpZCAlcyIsIG1zZ19pZCkKKysgICAgICAgICAg ICBsb2cud2FybmluZygiUmVjZWl2ZWQgY2FuY2VsIG5vdGlmaWNhdGlvbiBmb3IgdW5rbm93biBt ZXNzYWdlIGlkICVzIiwgbXNnX2lkKQorICAgICAgICAgICAgIHJldHVybgorIAorICAgICAgICAg IyBXaWxsIG9ubHkgd29yayBpZiB0aGUgcmVxdWVzdCBoYXNuJ3Qgc3RhcnRlZCBleGVjdXRpbmcK K0BAIC0yMzAsMTIgKzIzMCwxMyBAQCBjbGFzcyBFbmRwb2ludChvYmplY3QpOgorICAgICAgICAg cmVxdWVzdF9mdXR1cmUgPSBzZWxmLl9zZXJ2ZXJfcmVxdWVzdF9mdXR1cmVzLnBvcChtc2dfaWQs IE5vbmUpCisgCisgICAgICAgICBpZiBub3QgcmVxdWVzdF9mdXR1cmU6CistICAgICAgICAgICAg bG9nLndhcm4oIlJlY2VpdmVkIHJlc3BvbnNlIHRvIHVua25vd24gbWVzc2FnZSBpZCAlcyIsIG1z Z19pZCkKKysgICAgICAgICAgICBsb2cud2FybmluZygiUmVjZWl2ZWQgcmVzcG9uc2UgdG8gdW5r bm93biBtZXNzYWdlIGlkICVzIiwgbXNnX2lkKQorICAgICAgICAgICAgIHJldHVybgorIAorICAg ICAgICAgaWYgZXJyb3IgaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgbG9nLmRlYnVnKCJSZWNl aXZlZCBlcnJvciByZXNwb25zZSB0byBtZXNzYWdlICVzOiAlcyIsIG1zZ19pZCwgZXJyb3IpCisg ICAgICAgICAgICAgcmVxdWVzdF9mdXR1cmUuc2V0X2V4Y2VwdGlvbihKc29uUnBjRXhjZXB0aW9u LmZyb21fZGljdChlcnJvcikpCisrICAgICAgICAgICAgcmV0dXJuCisgCisgICAgICAgICBsb2cu ZGVidWcoIlJlY2VpdmVkIHJlc3VsdCBmb3IgbWVzc2FnZSAlczogJXMiLCBtc2dfaWQsIHJlc3Vs dCkKKyAgICAgICAgIHJlcXVlc3RfZnV0dXJlLnNldF9yZXN1bHQocmVzdWx0KQorZGlmZiAtdXBy YiBweXRob24tanNvbnJwYy1zZXJ2ZXItMC4yLjAub3JpZy90ZXN0L3Rlc3RfZW5kcG9pbnQucHkg cHl0aG9uLWpzb25ycGMtc2VydmVyLTAuMi4wL3Rlc3QvdGVzdF9lbmRwb2ludC5weQorLS0tIHB5 dGhvbi1qc29ucnBjLXNlcnZlci0wLjIuMC5vcmlnL3Rlc3QvdGVzdF9lbmRwb2ludC5weQkyMDE5 LTA2LTI3IDE4OjQyOjIyLjAwMDAwMDAwMCArMDMwMAorKysrIHB5dGhvbi1qc29ucnBjLXNlcnZl ci0wLjIuMC90ZXN0L3Rlc3RfZW5kcG9pbnQucHkJMjAxOS0xMS0wMiAyMzoyNDoyMS4wMzM4Mzg3 MjkgKzAyMDAKK0BAIC0xMTUsOSArMTE1LDkgQEAgZGVmIHRlc3RfcmVxdWVzdF9jYW5jZWwoZW5k cG9pbnQsIGNvbnN1bQorICAgICAgICAgJ3BhcmFtcyc6IHsnaWQnOiBNU0dfSUR9CisgICAgIH0p CisgCistICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhleGNlcHRpb25zLkpzb25ScGNFeGNlcHRpb24p IGFzIGV4Y19pbmZvOgorKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoKGV4Y2VwdGlvbnMuSnNvblJw Y0V4Y2VwdGlvbiwgZnV0dXJlcy5DYW5jZWxsZWRFcnJvcikpIGFzIGV4Y19pbmZvOgorICAgICAg ICAgYXNzZXJ0IGZ1dHVyZS5yZXN1bHQodGltZW91dD0yKQorLSAgICBhc3NlcnQgZXhjX2luZm8u dHlwZSA9PSBleGNlcHRpb25zLkpzb25ScGNSZXF1ZXN0Q2FuY2VsbGVkCisrICAgIGFzc2VydCBl eGNfaW5mby50eXBlIGluIChleGNlcHRpb25zLkpzb25ScGNSZXF1ZXN0Q2FuY2VsbGVkLCBmdXR1 cmVzLkNhbmNlbGxlZEVycm9yKQorIAorIAorIGRlZiB0ZXN0X2NvbnN1bWVfbm90aWZpY2F0aW9u KGVuZHBvaW50LCBkaXNwYXRjaGVyKToKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1qc29u cnBjLXNlcnZlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvcHl0aG9uMy1qc29ucnBjLXNlcnZlci90ZW1w bGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODBkOGVjNmIzOWUK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhvbjMtanNvbnJwYy1zZXJ2ZXIvdGVtcGxh dGUKQEAgLTAsMCArMSwyMCBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAncHl0aG9uMy1qc29ucnBj LXNlcnZlcicKK3BrZ25hbWU9cHl0aG9uMy1qc29ucnBjLXNlcnZlcgordmVyc2lvbj0wLjMuMgor cmV2aXNpb249MQorYXJjaHM9bm9hcmNoCit3cmtzcmM9IiR7cGtnbmFtZS8zfS0ke3ZlcnNpb259 IgorYnVpbGRfc3R5bGU9cHl0aG9uMy1tb2R1bGUKK2hvc3RtYWtlZGVwZW5kcz0icHl0aG9uMy1z ZXR1cHRvb2xzIgorZGVwZW5kcz0icHl0aG9uMy1mdXR1cmUgcHl0aG9uMy11bHRyYWpzb24iCitz aG9ydF9kZXNjPSJQeXRob24gbGlicmFyeSBpbXBsZW1lbnRpbmcgYXN5bmNocm9ub3VzIEpTT04g UlBDIHNlcnZlciIKK21haW50YWluZXI9Ims0bGVnIDxkMHhpQGluYm94LnJ1PiIKK2xpY2Vuc2U9 Ik1JVCIKK2hvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvcHl0aG9uLWpzb25y cGMtc2VydmVyIgorZGlzdGZpbGVzPSIke1BZUElfU0lURX0vcC8ke3BrZ25hbWUvM30vJHtwa2du YW1lLzN9LSR7dmVyc2lvbn0udGFyLmd6IgorY2hlY2tzdW09MDViY2YyNmVhYzRjOThjOTZhZmVj MjY2YWNkZjU2M2Q4ZjQ1NGUxMjYxMmRhOWEzZjlhYWJiNjZjNDZkYWYzNQorcGF0Y2hfYXJncz0i LU5wMSIKKworcG9zdF9pbnN0YWxsKCkgeworCXZsaWNlbnNlIExJQ0VOU0UKK30KCkZyb20gMDQy MmZjMjcyZjI5MjA2MDdiYTFkZDY3NzUyNGY5Y2ZiM2E3NDFmYiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogazRsZWcgPGQweGlAaW5ib3gucnU+CkRhdGU6IE1vbiwgMzAgRGVjIDIwMTkg MjA6MzM6NTUgKzAzMDAKU3ViamVjdDogW1BBVENIIDQvNV0gcHl0aG9uLXBhcnNvOiB1cGRhdGUg dG8gMC41LjIuCgotLS0KIHNyY3BrZ3MvcHl0aG9uLXBhcnNvL3RlbXBsYXRlIHwgMTQgKysrKysr LS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24tcGFyc28vdGVtcGxhdGUgYi9zcmNwa2dzL3B5 dGhvbi1wYXJzby90ZW1wbGF0ZQppbmRleCAxOTU5YjQyNjIyYS4uZmE4ZGUwZjA3ZDYgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcHl0aG9uLXBhcnNvL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHl0aG9u LXBhcnNvL3RlbXBsYXRlCkBAIC0xLDE5ICsxLDE4IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdw eXRob24tcGFyc28nCiBwa2duYW1lPXB5dGhvbi1wYXJzbwotdmVyc2lvbj0wLjUuMQotcmV2aXNp b249MgordmVyc2lvbj0wLjUuMgorcmV2aXNpb249MQogYXJjaHM9bm9hcmNoCiB3cmtzcmM9InBh cnNvLSR7dmVyc2lvbn0iCiBidWlsZF9zdHlsZT1weXRob24tbW9kdWxlCi1weWNvbXBpbGVfbW9k dWxlPSJwYXJzbyIKIGhvc3RtYWtlZGVwZW5kcz0icHl0aG9uLXNldHVwdG9vbHMgcHl0aG9uMy1z ZXR1cHRvb2xzIgogZGVwZW5kcz0icHl0aG9uIgotc2hvcnRfZGVzYz0iUHl0aG9uIHBhcnNlciAo UHl0aG9uMikiCitzaG9ydF9kZXNjPSJQeXRob24gcGFyc2VyIChQeXRob24gMikiCiBtYWludGFp bmVyPSJBbGVzc2lvIFNlcmdpIDxhbDNoZXhAZ21haWwuY29tPiIKIGxpY2Vuc2U9Ik1JVCIKIGhv bWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vZGF2aWRoYWx0ZXIvcGFyc28iCiBkaXN0ZmlsZXM9 IiR7UFlQSV9TSVRFfS9wL3BhcnNvL3BhcnNvLSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09 NjY2YjBlZTRhN2ExMjIwZjY1ZDM2NzYxN2YyY2QzZmZkZGZmM2UyMDVmM2YxNmEwMjg0ZGYzMGU3 NzRjMmE5YworY2hlY2tzdW09NTVjZjI1ZGYxYTM1ZmQ4OGI4Nzg3MTU4NzRkMmM0ZGMxYWQzZjBl ZWJkMWUwMjY2YTY3ZTFmNTVlZmNjZmJlMQogCiBwb3N0X2luc3RhbGwoKSB7CiAJdmxpY2Vuc2Ug TElDRU5TRS50eHQKQEAgLTIyLDEwICsyMSw5IEBAIHBvc3RfaW5zdGFsbCgpIHsKIHB5dGhvbjMt cGFyc29fcGFja2FnZSgpIHsKIAlhcmNocz1ub2FyY2gKIAlkZXBlbmRzPSJweXRob24zIgotCXB5 Y29tcGlsZV9tb2R1bGU9InBhcnNvIgotCXNob3J0X2Rlc2M9IiR7c2hvcnRfZGVzYy9QeXRob24y L1B5dGhvbjN9IgorCXNob3J0X2Rlc2M9IiR7c2hvcnRfZGVzYy8yLzN9IgogCXBrZ19pbnN0YWxs KCkgewotCQl2bW92ZSB1c3IvbGliL3B5dGhvbjMqCisJCXZtb3ZlICJ1c3IvbGliL3B5dGhvbjMq IgogCQl2bGljZW5zZSBMSUNFTlNFLnR4dAogCX0KIH0KCkZyb20gYzlmOGU2YmZlOGVlY2RkODNm Y2RiNjFhNmRhYjU2OGVhMzc4NzM3YiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogazRs ZWcgPGQweGlAaW5ib3gucnU+CkRhdGU6IE1vbiwgMzAgRGVjIDIwMTkgMjE6MDI6MTggKzAzMDAK U3ViamVjdDogW1BBVENIIDUvNV0gTmV3IHBhY2thZ2U6IHB5dGhvbjMtdWx0cmFqc29uLTEuMzUu CgotLS0KIC4uLnN0YXRpYy10by1DLWZ1bmN0aW9ucy13aGVyZS1wb3NzaWJsZS5wYXRjaCB8IDU5 NyArKysrKysrKysrKysrKysrKysKIC4uLi9wYXRjaGVzL2xvd2VyLXN0YWNrLXVzYWdlLnBhdGNo ICAgICAgICAgICB8ICAxOSArCiBzcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3RlbXBsYXRlICAg ICAgICAgICAgfCAgMjAgKwogMyBmaWxlcyBjaGFuZ2VkLCA2MzYgaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcHl0aG9uMy11bHRyYWpzb24vcGF0Y2hlcy9hZGRlZC1z dGF0aWMtdG8tQy1mdW5jdGlvbnMtd2hlcmUtcG9zc2libGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3BhdGNoZXMvbG93ZXItc3RhY2stdXNhZ2Uu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3RlbXBs YXRlCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLXVsdHJhanNvbi9wYXRjaGVzL2FkZGVk LXN0YXRpYy10by1DLWZ1bmN0aW9ucy13aGVyZS1wb3NzaWJsZS5wYXRjaCBiL3NyY3BrZ3MvcHl0 aG9uMy11bHRyYWpzb24vcGF0Y2hlcy9hZGRlZC1zdGF0aWMtdG8tQy1mdW5jdGlvbnMtd2hlcmUt cG9zc2libGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjJl MTk3ZGQyYjk5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9weXRob24zLXVsdHJhanNvbi9w YXRjaGVzL2FkZGVkLXN0YXRpYy10by1DLWZ1bmN0aW9ucy13aGVyZS1wb3NzaWJsZS5wYXRjaApA QCAtMCwwICsxLDU5NyBAQAorRnJvbSA2Y2Y2YzdmZjI1Yzg4MzM0OWU4ZTllNTQ2OGU2MTQ5ODM1 OGUyZTkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogV0dIIDx3Z2hAdG9ybGFuLnJ1 PgorRGF0ZTogU2F0LCAyNyBBdWcgMjAxNiAxNzozNDoyMiArMDMwMAorU3ViamVjdDogW1BBVENI XSBhZGRlZCAic3RhdGljIiB0byBDIGZ1bmN0aW9ucywgd2hlcmUgcG9zc2libGUKKworMS4gSXQg cmVkdWNlcyBjbHV0dGVyIGluIHN5bWJvbCB0YWJsZS4KKzIuIEl0IGZpeGVzIGlzc3VlcyB3aXRo IEM5OSBpbmxpbmUgc2VtYW50aWNzIGZvciBmdW5jdGlvbnMKKyAgIG1hcmtlZCBhcyBpbmxpbmUg KCMyMzcsICMxODAsICMyMjIpLCB3aGljaCBtYW5pZmVzdHMKKyAgIHdoZW4gY29tcGlsZWQgd2l0 aCBHQ0M+PTUuCistLS0KKyBsaWIvdWx0cmFqc29uZGVjLmMgfCAyNCArKysrKysrKy0tLS0tLS0t CisgbGliL3VsdHJhanNvbmVuYy5jIHwgMjQgKysrKysrKystLS0tLS0tLQorIHB5dGhvbi9KU09O dG9PYmouYyB8IDI0ICsrKysrKysrLS0tLS0tLS0KKyBweXRob24vb2JqVG9KU09OLmMgfCA3MiAr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgNCBmaWxlcyBj aGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCA3MiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L2xpYi91bHRyYWpzb25kZWMuYyBiL2xpYi91bHRyYWpzb25kZWMuYworaW5kZXggMjFhNzMyZS4u MTllZmM2MCAxMDA2NDQKKy0tLSBhL2xpYi91bHRyYWpzb25kZWMuYworKysrIGIvbGliL3VsdHJh anNvbmRlYy5jCitAQCAtNjYsNyArNjYsNyBAQCBzdHJ1Y3QgRGVjb2RlclN0YXRlCisgICBKU09O T2JqZWN0RGVjb2RlciAqZGVjOworIH07CisgCistSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVf YW55KCBzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykgRkFTVENBTExfQVRUUjsKKytzdGF0aWMgSlNP QkogRkFTVENBTExfTVNWQyBkZWNvZGVfYW55KCBzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykgRkFT VENBTExfQVRUUjsKKyB0eXBlZGVmIEpTT0JKICgqUEZOX0RFQ09ERVIpKCBzdHJ1Y3QgRGVjb2Rl clN0YXRlICpkcyk7CisgCisgc3RhdGljIEpTT0JKIFNldEVycm9yKCBzdHJ1Y3QgRGVjb2RlclN0 YXRlICpkcywgaW50IG9mZnNldCwgY29uc3QgY2hhciAqbWVzc2FnZSkKK0BAIC03NiwxMyArNzYs MTMgQEAgc3RhdGljIEpTT0JKIFNldEVycm9yKCBzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcywgaW50 IG9mZnNldCwgY29uc3QgY2hhciAqbWVzc2FnZSkKKyAgIHJldHVybiBOVUxMOworIH0KKyAKKy1k b3VibGUgY3JlYXRlRG91YmxlKGRvdWJsZSBpbnROZWcsIGRvdWJsZSBpbnRWYWx1ZSwgZG91Ymxl IGZyY1ZhbHVlLCBpbnQgZnJjRGVjaW1hbENvdW50KQorK3N0YXRpYyBkb3VibGUgY3JlYXRlRG91 YmxlKGRvdWJsZSBpbnROZWcsIGRvdWJsZSBpbnRWYWx1ZSwgZG91YmxlIGZyY1ZhbHVlLCBpbnQg ZnJjRGVjaW1hbENvdW50KQorIHsKKyAgIHN0YXRpYyBjb25zdCBkb3VibGUgZ19wb3cxMFtdID0g ezEuMCwgMC4xLCAwLjAxLCAwLjAwMSwgMC4wMDAxLCAwLjAwMDAxLCAwLjAwMDAwMSwwLjAwMDAw MDEsIDAuMDAwMDAwMDEsIDAuMDAwMDAwMDAxLCAwLjAwMDAwMDAwMDEsIDAuMDAwMDAwMDAwMDEs IDAuMDAwMDAwMDAwMDAxLCAwLjAwMDAwMDAwMDAwMDEsIDAuMDAwMDAwMDAwMDAwMDEsIDAuMDAw MDAwMDAwMDAwMDAxfTsKKyAgIHJldHVybiAoaW50VmFsdWUgKyAoZnJjVmFsdWUgKiBnX3BvdzEw W2ZyY0RlY2ltYWxDb3VudF0pKSAqIGludE5lZzsKKyB9CisgCistRkFTVENBTExfQVRUUiBKU09C SiBGQVNUQ0FMTF9NU1ZDIGRlY29kZVByZWNpc2VGbG9hdChzdHJ1Y3QgRGVjb2RlclN0YXRlICpk cykKKytzdGF0aWMgRkFTVENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZVByZWNp c2VGbG9hdChzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykKKyB7CisgICBjaGFyICplbmQ7CisgICBk b3VibGUgdmFsdWU7CitAQCAtOTksNyArOTksNyBAQCBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RD QUxMX01TVkMgZGVjb2RlUHJlY2lzZUZsb2F0KHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorICAg cmV0dXJuIGRzLT5kZWMtPm5ld0RvdWJsZShkcy0+cHJ2LCB2YWx1ZSk7CisgfQorIAorLUZBU1RD QUxMX0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVfbnVtZXJpYyAoc3RydWN0IERlY29k ZXJTdGF0ZSAqZHMpCisrc3RhdGljIEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBk ZWNvZGVfbnVtZXJpYyAoc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisgeworICAgaW50IGludE5l ZyA9IDE7CisgICBpbnQgbWFudFNpemUgPSAwOworQEAgLTMwOSw3ICszMDksNyBAQCBGQVNUQ0FM TF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX251bWVyaWMgKHN0cnVjdCBEZWNvZGVy U3RhdGUgKmRzKQorICAgcmV0dXJuIGRzLT5kZWMtPm5ld0RvdWJsZSAoZHMtPnBydiwgY3JlYXRl RG91YmxlKCAoZG91YmxlKSBpbnROZWcsIChkb3VibGUpIGludFZhbHVlICwgZnJjVmFsdWUsIGRl Y2ltYWxDb3VudCkgKiBwb3coMTAuMCwgZXhwVmFsdWUgKiBleHBOZWcpKTsKKyB9CisgCistRkFT VENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV90cnVlICggc3RydWN0IERlY29k ZXJTdGF0ZSAqZHMpCisrc3RhdGljIEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBk ZWNvZGVfdHJ1ZSAoIHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorIHsKKyAgIGNoYXIgKm9mZnNl dCA9IGRzLT5zdGFydDsKKyAgIG9mZnNldCArKzsKK0BAIC0zMjksNyArMzI5LDcgQEAgRkFTVENB TExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV90cnVlICggc3RydWN0IERlY29kZXJT dGF0ZSAqZHMpCisgICByZXR1cm4gU2V0RXJyb3IoZHMsIC0xLCAiVW5leHBlY3RlZCBjaGFyYWN0 ZXIgZm91bmQgd2hlbiBkZWNvZGluZyAndHJ1ZSciKTsKKyB9CisgCistRkFTVENBTExfQVRUUiBK U09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV9mYWxzZSAoIHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRz KQorK3N0YXRpYyBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX2ZhbHNl ICggc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisgeworICAgY2hhciAqb2Zmc2V0ID0gZHMtPnN0 YXJ0OworICAgb2Zmc2V0ICsrOworQEAgLTM1MSw3ICszNTEsNyBAQCBGQVNUQ0FMTF9BVFRSIEpT T0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX2ZhbHNlICggc3RydWN0IERlY29kZXJTdGF0ZSAqZHMp CisgICByZXR1cm4gU2V0RXJyb3IoZHMsIC0xLCAiVW5leHBlY3RlZCBjaGFyYWN0ZXIgZm91bmQg d2hlbiBkZWNvZGluZyAnZmFsc2UnIik7CisgfQorIAorLUZBU1RDQUxMX0FUVFIgSlNPQkogRkFT VENBTExfTVNWQyBkZWNvZGVfbnVsbCAoIHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorK3N0YXRp YyBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX251bGwgKCBzdHJ1Y3Qg RGVjb2RlclN0YXRlICpkcykKKyB7CisgICBjaGFyICpvZmZzZXQgPSBkcy0+c3RhcnQ7CisgICBv ZmZzZXQgKys7CitAQCAtMzcxLDcgKzM3MSw3IEBAIEZBU1RDQUxMX0FUVFIgSlNPQkogRkFTVENB TExfTVNWQyBkZWNvZGVfbnVsbCAoIHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorICAgcmV0dXJu IFNldEVycm9yKGRzLCAtMSwgIlVuZXhwZWN0ZWQgY2hhcmFjdGVyIGZvdW5kIHdoZW4gZGVjb2Rp bmcgJ251bGwnIik7CisgfQorIAorLUZBU1RDQUxMX0FUVFIgdm9pZCBGQVNUQ0FMTF9NU1ZDIFNr aXBXaGl0ZXNwYWNlKHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorK3N0YXRpYyBGQVNUQ0FMTF9B VFRSIHZvaWQgRkFTVENBTExfTVNWQyBTa2lwV2hpdGVzcGFjZShzdHJ1Y3QgRGVjb2RlclN0YXRl ICpkcykKKyB7CisgICBjaGFyICpvZmZzZXQgPSBkcy0+c3RhcnQ7CisgCitAQCAtNDIyLDcgKzQy Miw3IEBAIHN0YXRpYyBjb25zdCBKU1VJTlQ4IGdfZGVjb2Rlckxvb2t1cFsyNTZdID0KKyAgIC8q IDB4ZjAgKi8gNCwgNCwgNCwgNCwgNCwgNCwgNCwgNCwgRFNfVVRGTEVORVJST1IsIERTX1VURkxF TkVSUk9SLCBEU19VVEZMRU5FUlJPUiwgRFNfVVRGTEVORVJST1IsIERTX1VURkxFTkVSUk9SLCBE U19VVEZMRU5FUlJPUiwgRFNfVVRGTEVORVJST1IsIERTX1VURkxFTkVSUk9SLAorIH07CisgCist RkFTVENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV9zdHJpbmcgKCBzdHJ1Y3Qg RGVjb2RlclN0YXRlICpkcykKKytzdGF0aWMgRkFTVENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9N U1ZDIGRlY29kZV9zdHJpbmcgKCBzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykKKyB7CisgICBKU1VU RjE2IHN1clsyXSA9IHsgMCB9OworICAgaW50IGlTdXIgPSAwOworQEAgLTY3Miw3ICs2NzIsNyBA QCBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX3N0cmluZyAoIHN0cnVj dCBEZWNvZGVyU3RhdGUgKmRzKQorICAgfQorIH0KKyAKKy1GQVNUQ0FMTF9BVFRSIEpTT0JKIEZB U1RDQUxMX01TVkMgZGVjb2RlX2FycmF5KHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRzKQorK3N0YXRp YyBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMgZGVjb2RlX2FycmF5KHN0cnVjdCBE ZWNvZGVyU3RhdGUgKmRzKQorIHsKKyAgIEpTT0JKIGl0ZW1WYWx1ZTsKKyAgIEpTT0JKIG5ld09i ajsKK0BAIC03MzYsNyArNzM2LDcgQEAgRkFTVENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZD IGRlY29kZV9hcnJheShzdHJ1Y3QgRGVjb2RlclN0YXRlICpkcykKKyAgIH0KKyB9CisgCistRkFT VENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZDIGRlY29kZV9vYmplY3QoIHN0cnVjdCBEZWNv ZGVyU3RhdGUgKmRzKQorK3N0YXRpYyBGQVNUQ0FMTF9BVFRSIEpTT0JKIEZBU1RDQUxMX01TVkMg ZGVjb2RlX29iamVjdCggc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisgeworICAgSlNPQkogaXRl bU5hbWU7CisgICBKU09CSiBpdGVtVmFsdWU7CitAQCAtODE5LDcgKzgxOSw3IEBAIEZBU1RDQUxM X0FUVFIgSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVfb2JqZWN0KCBzdHJ1Y3QgRGVjb2RlclN0 YXRlICpkcykKKyAgIH0KKyB9CisgCistRkFTVENBTExfQVRUUiBKU09CSiBGQVNUQ0FMTF9NU1ZD IGRlY29kZV9hbnkoc3RydWN0IERlY29kZXJTdGF0ZSAqZHMpCisrc3RhdGljIEZBU1RDQUxMX0FU VFIgSlNPQkogRkFTVENBTExfTVNWQyBkZWNvZGVfYW55KHN0cnVjdCBEZWNvZGVyU3RhdGUgKmRz KQorIHsKKyAgIGZvciAoOzspCisgICB7CitkaWZmIC0tZ2l0IGEvbGliL3VsdHJhanNvbmVuYy5j IGIvbGliL3VsdHJhanNvbmVuYy5jCitpbmRleCA2YzFiMTIwLi5mMzMwMTcxIDEwMDY0NAorLS0t IGEvbGliL3VsdHJhanNvbmVuYy5jCisrKysgYi9saWIvdWx0cmFqc29uZW5jLmMKK0BAIC0xMTIs NyArMTEyLDcgQEAgc3RhdGljIHZvaWQgU2V0RXJyb3IgKEpTT0JKIG9iaiwgSlNPTk9iamVjdEVu Y29kZXIgKmVuYywgY29uc3QgY2hhciAqbWVzc2FnZSkKKyAvKgorIEZJWE1FOiBLZWVwIHRyYWNr IG9mIGhvdyBiaWcgdGhlc2UgZ2V0IGFjcm9zcyBzZXZlcmFsIGVuY29kZXIgY2FsbHMgYW5kIHRy eSB0byBtYWtlIGFuIGVzdGltYXRlCisgVGhhdCB3YXkgd2Ugd29uJ3QgcnVuIG91ciBoZWFkIGlu dG8gdGhlIHdhbGwgZWFjaCBjYWxsICovCistdm9pZCBCdWZmZXJfUmVhbGxvYyAoSlNPTk9iamVj dEVuY29kZXIgKmVuYywgc2l6ZV90IGNiTmVlZGVkKQorK3N0YXRpYyB2b2lkIEJ1ZmZlcl9SZWFs bG9jIChKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBzaXplX3QgY2JOZWVkZWQpCisgeworICAgc2l6 ZV90IGN1clNpemUgPSBlbmMtPmVuZCAtIGVuYy0+c3RhcnQ7CisgICBzaXplX3QgbmV3U2l6ZSA9 IGN1clNpemUgKiAyOworQEAgLTE0OCw3ICsxNDgsNyBAQCB2b2lkIEJ1ZmZlcl9SZWFsbG9jIChK U09OT2JqZWN0RW5jb2RlciAqZW5jLCBzaXplX3QgY2JOZWVkZWQpCisgICBlbmMtPmVuZCA9IGVu Yy0+c3RhcnQgKyBuZXdTaXplOworIH0KKyAKKy1GQVNUQ0FMTF9BVFRSIElOTElORV9QUkVGSVgg dm9pZCBGQVNUQ0FMTF9NU1ZDIEJ1ZmZlcl9BcHBlbmRTaG9ydEhleFVuY2hlY2tlZCAoY2hhciAq b3V0cHV0T2Zmc2V0LCB1bnNpZ25lZCBzaG9ydCB2YWx1ZSkKKytzdGF0aWMgRkFTVENBTExfQVRU UiBJTkxJTkVfUFJFRklYIHZvaWQgRkFTVENBTExfTVNWQyBCdWZmZXJfQXBwZW5kU2hvcnRIZXhV bmNoZWNrZWQgKGNoYXIgKm91dHB1dE9mZnNldCwgdW5zaWduZWQgc2hvcnQgdmFsdWUpCisgewor ICAgKihvdXRwdXRPZmZzZXQrKykgPSBnX2hleENoYXJzWyh2YWx1ZSAmIDB4ZjAwMCkgPj4gMTJd OworICAgKihvdXRwdXRPZmZzZXQrKykgPSBnX2hleENoYXJzWyh2YWx1ZSAmIDB4MGYwMCkgPj4g OF07CitAQCAtMTU2LDcgKzE1Niw3IEBAIEZBU1RDQUxMX0FUVFIgSU5MSU5FX1BSRUZJWCB2b2lk IEZBU1RDQUxMX01TVkMgQnVmZmVyX0FwcGVuZFNob3J0SGV4VW5jaGVja2VkIChjCisgICAqKG91 dHB1dE9mZnNldCsrKSA9IGdfaGV4Q2hhcnNbKHZhbHVlICYgMHgwMDBmKSA+PiAwXTsKKyB9Cisg CistaW50IEJ1ZmZlcl9Fc2NhcGVTdHJpbmdVbnZhbGlkYXRlZCAoSlNPTk9iamVjdEVuY29kZXIg KmVuYywgY29uc3QgY2hhciAqaW8sIGNvbnN0IGNoYXIgKmVuZCkKKytzdGF0aWMgaW50IEJ1ZmZl cl9Fc2NhcGVTdHJpbmdVbnZhbGlkYXRlZCAoSlNPTk9iamVjdEVuY29kZXIgKmVuYywgY29uc3Qg Y2hhciAqaW8sIGNvbnN0IGNoYXIgKmVuZCkKKyB7CisgICBjaGFyICpvZiA9IChjaGFyICopIGVu Yy0+b2Zmc2V0OworIAorQEAgLTI2MCw3ICsyNjAsNyBAQCBpbnQgQnVmZmVyX0VzY2FwZVN0cmlu Z1VudmFsaWRhdGVkIChKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBjb25zdCBjaGFyICppbywgY29u cworICAgfQorIH0KKyAKKy1pbnQgQnVmZmVyX0VzY2FwZVN0cmluZ1ZhbGlkYXRlZCAoSlNPQkog b2JqLCBKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBjb25zdCBjaGFyICppbywgY29uc3QgY2hhciAq ZW5kKQorK3N0YXRpYyBpbnQgQnVmZmVyX0VzY2FwZVN0cmluZ1ZhbGlkYXRlZCAoSlNPQkogb2Jq LCBKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBjb25zdCBjaGFyICppbywgY29uc3QgY2hhciAqZW5k KQorIHsKKyAgIEpTVVRGMzIgdWNzOworICAgY2hhciAqb2YgPSAoY2hhciAqKSBlbmMtPm9mZnNl dDsKK0BAIC00OTgsMTkgKzQ5OCwxOSBAQCBpbnQgQnVmZmVyX0VzY2FwZVN0cmluZ1ZhbGlkYXRl ZCAoSlNPQkogb2JqLCBKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBjb25zdCBjaGFyCisgI2RlZmlu ZSBCdWZmZXJfQXBwZW5kQ2hhclVuY2hlY2tlZChfX2VuYywgX19jaHIpIFwKKyAgICAgICAgICAg ICAgICAgKigoX19lbmMpLT5vZmZzZXQrKykgPSBfX2NocjsgXAorIAorLUZBU1RDQUxMX0FUVFIg SU5MSU5FX1BSRUZJWCB2b2lkIEZBU1RDQUxMX01TVkMgc3RycmV2ZXJzZShjaGFyKiBiZWdpbiwg Y2hhciogZW5kKQorK3N0YXRpYyBGQVNUQ0FMTF9BVFRSIElOTElORV9QUkVGSVggdm9pZCBGQVNU Q0FMTF9NU1ZDIHN0cnJldmVyc2UoY2hhciogYmVnaW4sIGNoYXIqIGVuZCkKKyB7CisgICBjaGFy IGF1eDsKKyAgIHdoaWxlIChlbmQgPiBiZWdpbikKKyAgIGF1eCA9ICplbmQsICplbmQtLSA9ICpi ZWdpbiwgKmJlZ2luKysgPSBhdXg7CisgfQorIAorLXZvaWQgQnVmZmVyX0FwcGVuZEluZGVudE5l d2xpbmVVbmNoZWNrZWQoSlNPTk9iamVjdEVuY29kZXIgKmVuYykKKytzdGF0aWMgdm9pZCBCdWZm ZXJfQXBwZW5kSW5kZW50TmV3bGluZVVuY2hlY2tlZChKU09OT2JqZWN0RW5jb2RlciAqZW5jKQor IHsKKyAgIGlmIChlbmMtPmluZGVudCA+IDApIEJ1ZmZlcl9BcHBlbmRDaGFyVW5jaGVja2VkKGVu YywgJ1xuJyk7CisgfQorIAorLXZvaWQgQnVmZmVyX0FwcGVuZEluZGVudFVuY2hlY2tlZChKU09O T2JqZWN0RW5jb2RlciAqZW5jLCBKU0lOVDMyIHZhbHVlKQorK3N0YXRpYyB2b2lkIEJ1ZmZlcl9B cHBlbmRJbmRlbnRVbmNoZWNrZWQoSlNPTk9iamVjdEVuY29kZXIgKmVuYywgSlNJTlQzMiB2YWx1 ZSkKKyB7CisgICBpbnQgaTsKKyAgIGlmIChlbmMtPmluZGVudCA+IDApCitAQCAtNTE5LDcgKzUx OSw3IEBAIHZvaWQgQnVmZmVyX0FwcGVuZEluZGVudFVuY2hlY2tlZChKU09OT2JqZWN0RW5jb2Rl ciAqZW5jLCBKU0lOVDMyIHZhbHVlKQorICAgICAgICAgQnVmZmVyX0FwcGVuZENoYXJVbmNoZWNr ZWQoZW5jLCAnICcpOworIH0KKyAKKy12b2lkIEJ1ZmZlcl9BcHBlbmRJbnRVbmNoZWNrZWQoSlNP Tk9iamVjdEVuY29kZXIgKmVuYywgSlNJTlQzMiB2YWx1ZSkKKytzdGF0aWMgdm9pZCBCdWZmZXJf QXBwZW5kSW50VW5jaGVja2VkKEpTT05PYmplY3RFbmNvZGVyICplbmMsIEpTSU5UMzIgdmFsdWUp CisgeworICAgY2hhciogd3N0cjsKKyAgIEpTVUlOVDMyIHV2YWx1ZSA9ICh2YWx1ZSA8IDApID8g LXZhbHVlIDogdmFsdWU7CitAQCAtNTM1LDcgKzUzNSw3IEBAIHZvaWQgQnVmZmVyX0FwcGVuZElu dFVuY2hlY2tlZChKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBKU0lOVDMyIHZhbHVlKQorICAgZW5j LT5vZmZzZXQgKz0gKHdzdHIgLSAoZW5jLT5vZmZzZXQpKTsKKyB9CisgCistdm9pZCBCdWZmZXJf QXBwZW5kTG9uZ1VuY2hlY2tlZChKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBKU0lOVDY0IHZhbHVl KQorK3N0YXRpYyB2b2lkIEJ1ZmZlcl9BcHBlbmRMb25nVW5jaGVja2VkKEpTT05PYmplY3RFbmNv ZGVyICplbmMsIEpTSU5UNjQgdmFsdWUpCisgeworICAgY2hhciogd3N0cjsKKyAgIEpTVUlOVDY0 IHV2YWx1ZSA9ICh2YWx1ZSA8IDApID8gLXZhbHVlIDogdmFsdWU7CitAQCAtNTUxLDcgKzU1MSw3 IEBAIHZvaWQgQnVmZmVyX0FwcGVuZExvbmdVbmNoZWNrZWQoSlNPTk9iamVjdEVuY29kZXIgKmVu YywgSlNJTlQ2NCB2YWx1ZSkKKyAgIGVuYy0+b2Zmc2V0ICs9ICh3c3RyIC0gKGVuYy0+b2Zmc2V0 KSk7CisgfQorIAorLXZvaWQgQnVmZmVyX0FwcGVuZFVuc2lnbmVkTG9uZ1VuY2hlY2tlZChKU09O T2JqZWN0RW5jb2RlciAqZW5jLCBKU1VJTlQ2NCB2YWx1ZSkKKytzdGF0aWMgdm9pZCBCdWZmZXJf QXBwZW5kVW5zaWduZWRMb25nVW5jaGVja2VkKEpTT05PYmplY3RFbmNvZGVyICplbmMsIEpTVUlO VDY0IHZhbHVlKQorIHsKKyAgIGNoYXIqIHdzdHI7CisgICBKU1VJTlQ2NCB1dmFsdWUgPSB2YWx1 ZTsKK0BAIC01NjYsNyArNTY2LDcgQEAgdm9pZCBCdWZmZXJfQXBwZW5kVW5zaWduZWRMb25nVW5j aGVja2VkKEpTT05PYmplY3RFbmNvZGVyICplbmMsIEpTVUlOVDY0IHZhbHVlKQorICAgZW5jLT5v ZmZzZXQgKz0gKHdzdHIgLSAoZW5jLT5vZmZzZXQpKTsKKyB9CisgCistaW50IEJ1ZmZlcl9BcHBl bmREb3VibGVVbmNoZWNrZWQoSlNPQkogb2JqLCBKU09OT2JqZWN0RW5jb2RlciAqZW5jLCBkb3Vi bGUgdmFsdWUpCisrc3RhdGljIGludCBCdWZmZXJfQXBwZW5kRG91YmxlVW5jaGVja2VkKEpTT0JK IG9iaiwgSlNPTk9iamVjdEVuY29kZXIgKmVuYywgZG91YmxlIHZhbHVlKQorIHsKKyAgIC8qIGlm IGlucHV0IGlzIGxhcmdlciB0aGFuIHRocmVzX21heCwgcmV2ZXJ0IHRvIGV4cG9uZW50aWFsICov CisgICBjb25zdCBkb3VibGUgdGhyZXNfbWF4ID0gKGRvdWJsZSkgMWUxNiAtIDE7CitAQCAtNzE0 LDcgKzcxNCw3IEBAIEhhbmRsZSBpbnRlZ3JhdGlvbiBmdW5jdGlvbnMgcmV0dXJuaW5nIE5VTEwg aGVyZSAqLworIEZJWE1FOgorIFBlcmhhcHMgaW1wbGVtZW50IHJlY3Vyc2lvbiBkZXRlY3Rpb24g Ki8KKyAKKy12b2lkIGVuY29kZShKU09CSiBvYmosIEpTT05PYmplY3RFbmNvZGVyICplbmMsIGNv bnN0IGNoYXIgKm5hbWUsIHNpemVfdCBjYk5hbWUpCisrc3RhdGljIHZvaWQgZW5jb2RlKEpTT0JK IG9iaiwgSlNPTk9iamVjdEVuY29kZXIgKmVuYywgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IGNi TmFtZSkKKyB7CisgICBjb25zdCBjaGFyICp2YWx1ZTsKKyAgIGNoYXIgKm9iak5hbWU7CitkaWZm IC0tZ2l0IGEvcHl0aG9uL0pTT050b09iai5jIGIvcHl0aG9uL0pTT050b09iai5jCitpbmRleCA3 OWQ5ZjFhLi42Y2VmMDg4IDEwMDY0NAorLS0tIGEvcHl0aG9uL0pTT050b09iai5jCisrKysgYi9w eXRob24vSlNPTnRvT2JqLmMKK0BAIC00Myw3ICs0Myw3IEBAIE51bWVyaWMgZGVjb2RlciBkZXJp dmVkIGZyb20gZnJvbSBUQ0wgbGlicmFyeQorIC8vI2RlZmluZSBQUklOVE1BUksoKSBmcHJpbnRm KHN0ZGVyciwgIiVzOiBNQVJLKCVkKVxuIiwgX19GSUxFX18sIF9fTElORV9fKQorICNkZWZpbmUg UFJJTlRNQVJLKCkKKyAKKy12b2lkIE9iamVjdF9vYmplY3RBZGRLZXkodm9pZCAqcHJ2LCBKU09C SiBvYmosIEpTT0JKIG5hbWUsIEpTT0JKIHZhbHVlKQorK3N0YXRpYyB2b2lkIE9iamVjdF9vYmpl Y3RBZGRLZXkodm9pZCAqcHJ2LCBKU09CSiBvYmosIEpTT0JKIG5hbWUsIEpTT0JKIHZhbHVlKQor IHsKKyAgIFB5RGljdF9TZXRJdGVtIChvYmosIG5hbWUsIHZhbHVlKTsKKyAgIFB5X0RFQ1JFRigg KFB5T2JqZWN0ICopIG5hbWUpOworQEAgLTUxLDU5ICs1MSw1OSBAQCB2b2lkIE9iamVjdF9vYmpl Y3RBZGRLZXkodm9pZCAqcHJ2LCBKU09CSiBvYmosIEpTT0JKIG5hbWUsIEpTT0JKIHZhbHVlKQor ICAgcmV0dXJuOworIH0KKyAKKy12b2lkIE9iamVjdF9hcnJheUFkZEl0ZW0odm9pZCAqcHJ2LCBK U09CSiBvYmosIEpTT0JKIHZhbHVlKQorK3N0YXRpYyB2b2lkIE9iamVjdF9hcnJheUFkZEl0ZW0o dm9pZCAqcHJ2LCBKU09CSiBvYmosIEpTT0JKIHZhbHVlKQorIHsKKyAgIFB5TGlzdF9BcHBlbmQo b2JqLCB2YWx1ZSk7CisgICBQeV9ERUNSRUYoIChQeU9iamVjdCAqKSB2YWx1ZSk7CisgICByZXR1 cm47CisgfQorIAorLUpTT0JKIE9iamVjdF9uZXdTdHJpbmcodm9pZCAqcHJ2LCB3Y2hhcl90ICpz dGFydCwgd2NoYXJfdCAqZW5kKQorK3N0YXRpYyBKU09CSiBPYmplY3RfbmV3U3RyaW5nKHZvaWQg KnBydiwgd2NoYXJfdCAqc3RhcnQsIHdjaGFyX3QgKmVuZCkKKyB7CisgICByZXR1cm4gUHlVbmlj b2RlX0Zyb21XaWRlQ2hhciAoc3RhcnQsIChlbmQgLSBzdGFydCkpOworIH0KKyAKKy1KU09CSiBP YmplY3RfbmV3VHJ1ZSh2b2lkICpwcnYpCisrc3RhdGljIEpTT0JKIE9iamVjdF9uZXdUcnVlKHZv aWQgKnBydikKKyB7CisgICBQeV9SRVRVUk5fVFJVRTsKKyB9CisgCistSlNPQkogT2JqZWN0X25l d0ZhbHNlKHZvaWQgKnBydikKKytzdGF0aWMgSlNPQkogT2JqZWN0X25ld0ZhbHNlKHZvaWQgKnBy dikKKyB7CisgICBQeV9SRVRVUk5fRkFMU0U7CisgfQorIAorLUpTT0JKIE9iamVjdF9uZXdOdWxs KHZvaWQgKnBydikKKytzdGF0aWMgSlNPQkogT2JqZWN0X25ld051bGwodm9pZCAqcHJ2KQorIHsK KyAgIFB5X1JFVFVSTl9OT05FOworIH0KKyAKKy1KU09CSiBPYmplY3RfbmV3T2JqZWN0KHZvaWQg KnBydikKKytzdGF0aWMgSlNPQkogT2JqZWN0X25ld09iamVjdCh2b2lkICpwcnYpCisgeworICAg cmV0dXJuIFB5RGljdF9OZXcoKTsKKyB9CisgCistSlNPQkogT2JqZWN0X25ld0FycmF5KHZvaWQg KnBydikKKytzdGF0aWMgSlNPQkogT2JqZWN0X25ld0FycmF5KHZvaWQgKnBydikKKyB7CisgICBy ZXR1cm4gUHlMaXN0X05ldygwKTsKKyB9CisgCistSlNPQkogT2JqZWN0X25ld0ludGVnZXIodm9p ZCAqcHJ2LCBKU0lOVDMyIHZhbHVlKQorK3N0YXRpYyBKU09CSiBPYmplY3RfbmV3SW50ZWdlcih2 b2lkICpwcnYsIEpTSU5UMzIgdmFsdWUpCisgeworICAgcmV0dXJuIFB5SW50X0Zyb21Mb25nKCAo bG9uZykgdmFsdWUpOworIH0KKyAKKy1KU09CSiBPYmplY3RfbmV3TG9uZyh2b2lkICpwcnYsIEpT SU5UNjQgdmFsdWUpCisrc3RhdGljIEpTT0JKIE9iamVjdF9uZXdMb25nKHZvaWQgKnBydiwgSlNJ TlQ2NCB2YWx1ZSkKKyB7CisgICByZXR1cm4gUHlMb25nX0Zyb21Mb25nTG9uZyAodmFsdWUpOwor IH0KKyAKKy1KU09CSiBPYmplY3RfbmV3VW5zaWduZWRMb25nKHZvaWQgKnBydiwgSlNVSU5UNjQg dmFsdWUpCisrc3RhdGljIEpTT0JKIE9iamVjdF9uZXdVbnNpZ25lZExvbmcodm9pZCAqcHJ2LCBK U1VJTlQ2NCB2YWx1ZSkKKyB7CisgICByZXR1cm4gUHlMb25nX0Zyb21VbnNpZ25lZExvbmdMb25n ICh2YWx1ZSk7CisgfQorIAorLUpTT0JKIE9iamVjdF9uZXdEb3VibGUodm9pZCAqcHJ2LCBkb3Vi bGUgdmFsdWUpCisrc3RhdGljIEpTT0JKIE9iamVjdF9uZXdEb3VibGUodm9pZCAqcHJ2LCBkb3Vi bGUgdmFsdWUpCisgeworICAgcmV0dXJuIFB5RmxvYXRfRnJvbURvdWJsZSh2YWx1ZSk7CisgfQor ZGlmZiAtLWdpdCBhL3B5dGhvbi9vYmpUb0pTT04uYyBiL3B5dGhvbi9vYmpUb0pTT04uYworaW5k ZXggMDRhNDU3NS4uMTk2MGQ0MCAxMDA2NDQKKy0tLSBhL3B5dGhvbi9vYmpUb0pTT04uYworKysr IGIvcHl0aG9uL29ialRvSlNPTi5jCitAQCAtMjI2LDcgKzIyNiw3IEBAIHN0YXRpYyB2b2lkICpQ eURhdGVUb0lOVDY0KEpTT0JKIF9vYmosIEpTT05UeXBlQ29udGV4dCAqdGMsIHZvaWQgKm91dFZh bHVlLCBzaXplCisgICByZXR1cm4gTlVMTDsKKyB9CisgCistaW50IFR1cGxlX2l0ZXJOZXh0KEpT T0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgaW50IFR1cGxlX2l0ZXJOZXh0 KEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7CisgICBQeU9iamVjdCAqaXRlbTsK KyAKK0BAIC0yNDIsMjEgKzI0MiwyMSBAQCBpbnQgVHVwbGVfaXRlck5leHQoSlNPQkogb2JqLCBK U09OVHlwZUNvbnRleHQgKnRjKQorICAgcmV0dXJuIDE7CisgfQorIAorLXZvaWQgVHVwbGVfaXRl ckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGljIHZvaWQgVHVwbGVf aXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworIH0KKyAKKy1KU09C SiBUdXBsZV9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorK3N0 YXRpYyBKU09CSiBUdXBsZV9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQg KnRjKQorIHsKKyAgIHJldHVybiBHRVRfVEModGMpLT5pdGVtVmFsdWU7CisgfQorIAorLWNoYXIg KlR1cGxlX2l0ZXJHZXROYW1lKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0Yywgc2l6ZV90 ICpvdXRMZW4pCisrc3RhdGljIGNoYXIgKlR1cGxlX2l0ZXJHZXROYW1lKEpTT0JKIG9iaiwgSlNP TlR5cGVDb250ZXh0ICp0Yywgc2l6ZV90ICpvdXRMZW4pCisgeworICAgcmV0dXJuIE5VTEw7Cisg fQorIAorLWludCBJdGVyX2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykK KytzdGF0aWMgaW50IEl0ZXJfaXRlck5leHQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRj KQorIHsKKyAgIFB5T2JqZWN0ICppdGVtOworIAorQEAgLTI4Miw3ICsyODIsNyBAQCBpbnQgSXRl cl9pdGVyTmV4dChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgICByZXR1cm4gMTsK KyB9CisgCistdm9pZCBJdGVyX2l0ZXJFbmQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRj KQorK3N0YXRpYyB2b2lkIEl0ZXJfaXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAq dGMpCisgeworICAgaWYgKEdFVF9UQyh0YyktPml0ZW1WYWx1ZSkKKyAgIHsKK0BAIC0yOTcsMTcg KzI5NywxNyBAQCB2b2lkIEl0ZXJfaXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAq dGMpCisgICB9CisgfQorIAorLUpTT0JKIEl0ZXJfaXRlckdldFZhbHVlKEpTT0JKIG9iaiwgSlNP TlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgSlNPQkogSXRlcl9pdGVyR2V0VmFsdWUoSlNPQkog b2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAgIHJldHVybiBHRVRfVEModGMpLT5pdGVt VmFsdWU7CisgfQorIAorLWNoYXIgKkl0ZXJfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09OVHlw ZUNvbnRleHQgKnRjLCBzaXplX3QgKm91dExlbikKKytzdGF0aWMgY2hhciAqSXRlcl9pdGVyR2V0 TmFtZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorIHsK KyAgIHJldHVybiBOVUxMOworIH0KKyAKKy12b2lkIERpcl9pdGVyRW5kKEpTT0JKIG9iaiwgSlNP TlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgdm9pZCBEaXJfaXRlckVuZChKU09CSiBvYmosIEpT T05UeXBlQ29udGV4dCAqdGMpCisgeworICAgaWYgKEdFVF9UQyh0YyktPml0ZW1WYWx1ZSkKKyAg IHsKK0BAIC0zMjUsNyArMzI1LDcgQEAgdm9pZCBEaXJfaXRlckVuZChKU09CSiBvYmosIEpTT05U eXBlQ29udGV4dCAqdGMpCisgICBQUklOVE1BUksoKTsKKyB9CisgCistaW50IERpcl9pdGVyTmV4 dChKU09CSiBfb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyBpbnQgRGlyX2l0ZXJO ZXh0KEpTT0JKIF9vYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworICAgUHlPYmplY3QgKm9i aiA9IChQeU9iamVjdCAqKSBfb2JqOworICAgUHlPYmplY3QgKml0ZW1WYWx1ZSA9IEdFVF9UQyh0 YyktPml0ZW1WYWx1ZTsKK0BAIC00MDEsMjAgKzQwMSwyMCBAQCBpbnQgRGlyX2l0ZXJOZXh0KEpT T0JKIF9vYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgICByZXR1cm4gMTsKKyB9CisgCistSlNP QkogRGlyX2l0ZXJHZXRWYWx1ZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3Rh dGljIEpTT0JKIERpcl9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRj KQorIHsKKyAgIFBSSU5UTUFSSygpOworICAgcmV0dXJuIEdFVF9UQyh0YyktPml0ZW1WYWx1ZTsK KyB9CisgCistY2hhciAqRGlyX2l0ZXJHZXROYW1lKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0 ICp0Yywgc2l6ZV90ICpvdXRMZW4pCisrc3RhdGljIGNoYXIgKkRpcl9pdGVyR2V0TmFtZShKU09C SiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorIHsKKyAgIFBSSU5U TUFSSygpOworICAgKm91dExlbiA9IFB5U3RyaW5nX0dFVF9TSVpFKEdFVF9UQyh0YyktPml0ZW1O YW1lKTsKKyAgIHJldHVybiBQeVN0cmluZ19BU19TVFJJTkcoR0VUX1RDKHRjKS0+aXRlbU5hbWUp OworIH0KKyAKKy1pbnQgTGlzdF9pdGVyTmV4dChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAq dGMpCisrc3RhdGljIGludCBMaXN0X2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0 ICp0YykKKyB7CisgICBpZiAoR0VUX1RDKHRjKS0+aW5kZXggPj0gR0VUX1RDKHRjKS0+c2l6ZSkK KyAgIHsKK0BAIC00MjcsMTYgKzQyNywxNiBAQCBpbnQgTGlzdF9pdGVyTmV4dChKU09CSiBvYmos IEpTT05UeXBlQ29udGV4dCAqdGMpCisgICByZXR1cm4gMTsKKyB9CisgCistdm9pZCBMaXN0X2l0 ZXJFbmQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyB2b2lkIExpc3Rf aXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworIH0KKyAKKy1KU09C SiBMaXN0X2l0ZXJHZXRWYWx1ZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3Rh dGljIEpTT0JKIExpc3RfaXRlckdldFZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0 YykKKyB7CisgICByZXR1cm4gR0VUX1RDKHRjKS0+aXRlbVZhbHVlOworIH0KKyAKKy1jaGFyICpM aXN0X2l0ZXJHZXROYW1lKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0Yywgc2l6ZV90ICpv dXRMZW4pCisrc3RhdGljIGNoYXIgKkxpc3RfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09OVHlw ZUNvbnRleHQgKnRjLCBzaXplX3QgKm91dExlbikKKyB7CisgICByZXR1cm4gTlVMTDsKKyB9CitA QCAtNDQ3LDcgKzQ0Nyw3IEBAIGNoYXIgKkxpc3RfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09O VHlwZUNvbnRleHQgKnRjLCBzaXplX3QgKm91dExlbikKKyAvLyBpdGVtVmFsdWUgaXMgYm9ycm93 ZWQgZnJvbSBvYmplY3QgKHdoaWNoIGlzIGRpY3QpLiBObyByZWZDb3VudGluZworIC8vPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KKyAKKy1pbnQgRGljdF9pdGVyTmV4dChKU09CSiBvYmosIEpTT05UeXBl Q29udGV4dCAqdGMpCisrc3RhdGljIGludCBEaWN0X2l0ZXJOZXh0KEpTT0JKIG9iaiwgSlNPTlR5 cGVDb250ZXh0ICp0YykKKyB7CisgI2lmIFBZX01BSk9SX1ZFUlNJT04gPj0gMworICAgUHlPYmpl Y3QqIGl0ZW1OYW1lVG1wOworQEAgLTQ4OCw3ICs0ODgsNyBAQCBpbnQgRGljdF9pdGVyTmV4dChK U09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgICAgIHJldHVybiAxOworIH0KKyAKKy12 b2lkIERpY3RfaXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGlj IHZvaWQgRGljdF9pdGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7Cisg ICBpZiAoR0VUX1RDKHRjKS0+aXRlbU5hbWUpCisgICB7CitAQCAtNDk5LDE4ICs0OTksMTggQEAg dm9pZCBEaWN0X2l0ZXJFbmQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorICAgUFJJ TlRNQVJLKCk7CisgfQorIAorLUpTT0JKIERpY3RfaXRlckdldFZhbHVlKEpTT0JKIG9iaiwgSlNP TlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgSlNPQkogRGljdF9pdGVyR2V0VmFsdWUoSlNPQkog b2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAgIHJldHVybiBHRVRfVEModGMpLT5pdGVt VmFsdWU7CisgfQorIAorLWNoYXIgKkRpY3RfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09OVHlw ZUNvbnRleHQgKnRjLCBzaXplX3QgKm91dExlbikKKytzdGF0aWMgY2hhciAqRGljdF9pdGVyR2V0 TmFtZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorIHsK KyAgICpvdXRMZW4gPSBQeVN0cmluZ19HRVRfU0laRShHRVRfVEModGMpLT5pdGVtTmFtZSk7Cisg ICByZXR1cm4gUHlTdHJpbmdfQVNfU1RSSU5HKEdFVF9UQyh0YyktPml0ZW1OYW1lKTsKKyB9Cisg CistaW50IFNvcnRlZERpY3RfaXRlck5leHQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRj KQorK3N0YXRpYyBpbnQgU29ydGVkRGljdF9pdGVyTmV4dChKU09CSiBvYmosIEpTT05UeXBlQ29u dGV4dCAqdGMpCisgeworICAgUHlPYmplY3QgKml0ZW1zID0gTlVMTCwgKml0ZW0gPSBOVUxMLCAq a2V5ID0gTlVMTCwgKnZhbHVlID0gTlVMTDsKKyAgIFB5X3NzaXplX3QgaSwgbml0ZW1zOworQEAg LTYwMyw3ICs2MDMsNyBAQCBpbnQgU29ydGVkRGljdF9pdGVyTmV4dChKU09CSiBvYmosIEpTT05U eXBlQ29udGV4dCAqdGMpCisgICByZXR1cm4gLTE7CisgfQorIAorLXZvaWQgU29ydGVkRGljdF9p dGVyRW5kKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgdm9pZCBTb3J0 ZWREaWN0X2l0ZXJFbmQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAgIEdF VF9UQyh0YyktPml0ZW1OYW1lID0gTlVMTDsKKyAgIEdFVF9UQyh0YyktPml0ZW1WYWx1ZSA9IE5V TEw7CitAQCAtNjEyLDE5ICs2MTIsMTkgQEAgdm9pZCBTb3J0ZWREaWN0X2l0ZXJFbmQoSlNPQkog b2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorICAgUFJJTlRNQVJLKCk7CisgfQorIAorLUpTT0JK IFNvcnRlZERpY3RfaXRlckdldFZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykK KytzdGF0aWMgSlNPQkogU29ydGVkRGljdF9pdGVyR2V0VmFsdWUoSlNPQkogb2JqLCBKU09OVHlw ZUNvbnRleHQgKnRjKQorIHsKKyAgIHJldHVybiBHRVRfVEModGMpLT5pdGVtVmFsdWU7CisgfQor IAorLWNoYXIgKlNvcnRlZERpY3RfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRl eHQgKnRjLCBzaXplX3QgKm91dExlbikKKytzdGF0aWMgY2hhciAqU29ydGVkRGljdF9pdGVyR2V0 TmFtZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMsIHNpemVfdCAqb3V0TGVuKQorIHsK KyAgICpvdXRMZW4gPSBQeVN0cmluZ19HRVRfU0laRShHRVRfVEModGMpLT5pdGVtTmFtZSk7Cisg ICByZXR1cm4gUHlTdHJpbmdfQVNfU1RSSU5HKEdFVF9UQyh0YyktPml0ZW1OYW1lKTsKKyB9Cisg CisgCistdm9pZCBTZXR1cERpY3RJdGVyKFB5T2JqZWN0ICpkaWN0T2JqLCBUeXBlQ29udGV4dCAq cGMsIEpTT05PYmplY3RFbmNvZGVyICplbmMpCisrc3RhdGljIHZvaWQgU2V0dXBEaWN0SXRlcihQ eU9iamVjdCAqZGljdE9iaiwgVHlwZUNvbnRleHQgKnBjLCBKU09OT2JqZWN0RW5jb2RlciAqZW5j KQorIHsKKyAgIGlmIChlbmMtPnNvcnRLZXlzKSB7CisgICAgIHBjLT5pdGVyRW5kID0gU29ydGVk RGljdF9pdGVyRW5kOworQEAgLTY0Miw3ICs2NDIsNyBAQCB2b2lkIFNldHVwRGljdEl0ZXIoUHlP YmplY3QgKmRpY3RPYmosIFR5cGVDb250ZXh0ICpwYywgSlNPTk9iamVjdEVuY29kZXIgKmVuYykK KyAgIHBjLT5pbmRleCA9IDA7CisgfQorIAorLXZvaWQgT2JqZWN0X2JlZ2luVHlwZUNvbnRleHQg KEpTT0JKIF9vYmosIEpTT05UeXBlQ29udGV4dCAqdGMsIEpTT05PYmplY3RFbmNvZGVyICplbmMp Cisrc3RhdGljIHZvaWQgT2JqZWN0X2JlZ2luVHlwZUNvbnRleHQgKEpTT0JKIF9vYmosIEpTT05U eXBlQ29udGV4dCAqdGMsIEpTT05PYmplY3RFbmNvZGVyICplbmMpCisgeworICAgUHlPYmplY3Qg Km9iaiwgKmV4YywgKml0ZXI7CisgICBUeXBlQ29udGV4dCAqcGM7CitAQCAtOTI5LDcgKzkyOSw3 IEBAIHZvaWQgT2JqZWN0X2JlZ2luVHlwZUNvbnRleHQgKEpTT0JKIF9vYmosIEpTT05UeXBlQ29u dGV4dCAqdGMsIEpTT05PYmplY3RFbmNvZGVyCisgICByZXR1cm47CisgfQorIAorLXZvaWQgT2Jq ZWN0X2VuZFR5cGVDb250ZXh0KEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0 aWMgdm9pZCBPYmplY3RfZW5kVHlwZUNvbnRleHQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQg KnRjKQorIHsKKyAgIFB5X1hERUNSRUYoR0VUX1RDKHRjKS0+bmV3T2JqKTsKKyAKK0BAIC05Mzcs MzMgKzkzNywzMyBAQCB2b2lkIE9iamVjdF9lbmRUeXBlQ29udGV4dChKU09CSiBvYmosIEpTT05U eXBlQ29udGV4dCAqdGMpCisgICB0Yy0+cHJ2ID0gTlVMTDsKKyB9CisgCistY29uc3QgY2hhciAq T2JqZWN0X2dldFN0cmluZ1ZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0Yywgc2l6 ZV90ICpfb3V0TGVuKQorK3N0YXRpYyBjb25zdCBjaGFyICpPYmplY3RfZ2V0U3RyaW5nVmFsdWUo SlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjLCBzaXplX3QgKl9vdXRMZW4pCisgeworICAg cmV0dXJuIEdFVF9UQyh0YyktPlB5VHlwZVRvSlNPTiAob2JqLCB0YywgTlVMTCwgX291dExlbik7 CisgfQorIAorLUpTSU5UNjQgT2JqZWN0X2dldExvbmdWYWx1ZShKU09CSiBvYmosIEpTT05UeXBl Q29udGV4dCAqdGMpCisrc3RhdGljIEpTSU5UNjQgT2JqZWN0X2dldExvbmdWYWx1ZShKU09CSiBv YmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworICAgSlNJTlQ2NCByZXQ7CisgICBHRVRfVEMo dGMpLT5QeVR5cGVUb0pTT04gKG9iaiwgdGMsICZyZXQsIE5VTEwpOworICAgcmV0dXJuIHJldDsK KyB9CisgCistSlNVSU5UNjQgT2JqZWN0X2dldFVuc2lnbmVkTG9uZ1ZhbHVlKEpTT0JKIG9iaiwg SlNPTlR5cGVDb250ZXh0ICp0YykKKytzdGF0aWMgSlNVSU5UNjQgT2JqZWN0X2dldFVuc2lnbmVk TG9uZ1ZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7CisgICBKU1VJTlQ2 NCByZXQ7CisgICBHRVRfVEModGMpLT5QeVR5cGVUb0pTT04gKG9iaiwgdGMsICZyZXQsIE5VTEwp OworICAgcmV0dXJuIHJldDsKKyB9CisgCistSlNJTlQzMiBPYmplY3RfZ2V0SW50VmFsdWUoSlNP Qkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyBKU0lOVDMyIE9iamVjdF9nZXRJ bnRWYWx1ZShKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisgeworICAgSlNJTlQzMiBy ZXQ7CisgICBHRVRfVEModGMpLT5QeVR5cGVUb0pTT04gKG9iaiwgdGMsICZyZXQsIE5VTEwpOwor ICAgcmV0dXJuIHJldDsKKyB9CisgCistZG91YmxlIE9iamVjdF9nZXREb3VibGVWYWx1ZShKU09C SiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGljIGRvdWJsZSBPYmplY3RfZ2V0RG91 YmxlVmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAgIGRvdWJsZSBy ZXQ7CisgICBHRVRfVEModGMpLT5QeVR5cGVUb0pTT04gKG9iaiwgdGMsICZyZXQsIE5VTEwpOwor QEAgLTk3NSwyMiArOTc1LDIyIEBAIHN0YXRpYyB2b2lkIE9iamVjdF9yZWxlYXNlT2JqZWN0KEpT T0JKIF9vYmopCisgICBQeV9ERUNSRUYoIChQeU9iamVjdCAqKSBfb2JqKTsKKyB9CisgCistaW50 IE9iamVjdF9pdGVyTmV4dChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGlj IGludCBPYmplY3RfaXRlck5leHQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsK KyAgIHJldHVybiBHRVRfVEModGMpLT5pdGVyTmV4dChvYmosIHRjKTsKKyB9CisgCistdm9pZCBP YmplY3RfaXRlckVuZChKU09CSiBvYmosIEpTT05UeXBlQ29udGV4dCAqdGMpCisrc3RhdGljIHZv aWQgT2JqZWN0X2l0ZXJFbmQoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorIHsKKyAg IEdFVF9UQyh0YyktPml0ZXJFbmQob2JqLCB0Yyk7CisgfQorIAorLUpTT0JKIE9iamVjdF9pdGVy R2V0VmFsdWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjKQorK3N0YXRpYyBKU09CSiBP YmplY3RfaXRlckdldFZhbHVlKEpTT0JKIG9iaiwgSlNPTlR5cGVDb250ZXh0ICp0YykKKyB7Cisg ICByZXR1cm4gR0VUX1RDKHRjKS0+aXRlckdldFZhbHVlKG9iaiwgdGMpOworIH0KKyAKKy1jaGFy ICpPYmplY3RfaXRlckdldE5hbWUoSlNPQkogb2JqLCBKU09OVHlwZUNvbnRleHQgKnRjLCBzaXpl X3QgKm91dExlbikKKytzdGF0aWMgY2hhciAqT2JqZWN0X2l0ZXJHZXROYW1lKEpTT0JKIG9iaiwg SlNPTlR5cGVDb250ZXh0ICp0Yywgc2l6ZV90ICpvdXRMZW4pCisgeworICAgcmV0dXJuIEdFVF9U Qyh0YyktPml0ZXJHZXROYW1lKG9iaiwgdGMsIG91dExlbik7CisgfQorCmRpZmYgLS1naXQgYS9z cmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3BhdGNoZXMvbG93ZXItc3RhY2stdXNhZ2UucGF0Y2gg Yi9zcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3BhdGNoZXMvbG93ZXItc3RhY2stdXNhZ2UucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmRlMzI1OGNmZGViCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9weXRob24zLXVsdHJhanNvbi9wYXRjaGVzL2xvd2Vy LXN0YWNrLXVzYWdlLnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK0Zyb206IFNoaXogPGhpQHNoaXou bWU+CitCdWctUmVwb3J0OiBodHRwczovL2dpdGh1Yi5jb20vZXNubWUvdWx0cmFqc29uL2lzc3Vl cy8yNTQKKworbXVzbCBkZWZhdWx0IHRocmVhZCBzaXplIGlzIDgwIGtpQiwgc28gdXNpbmcgMTI4 IGtpQiBieSBkZWZhdWx0IHdpbGwKK292ZXJmbG93IHRoZSBzdGFjayBhbmQgY2F1c2Ugc2VnbWVu dGF0aW9uIGZhdWx0cy4KKworQWxsb2NhdGluZyAxMjgga2lCIG9uIHRoZSBzdGFjayBpcyBhIHJh dGhlciBiYWQgaWRlYSBhbnl3YXksIHNvIHdlJ2xsCitsb3dlciBpdCB0byA4IGtpQi4KKy0tLSB1 bHRyYWpzb24tMS4zNS9saWIvdWx0cmFqc29uLmgKKysrKyB1bHRyYWpzb24tMS4zNS1wYXRjaGVk L2xpYi91bHRyYWpzb24uaAorQEAgLTc3LDcgKzc3LDcgQEAKKyAvKgorIERpY3RhdGVzIGFuZCBs aW1pdHMgaG93IG11Y2ggc3RhY2sgc3BhY2UgZm9yIGJ1ZmZlcnMgVWx0cmFKU09OIHdpbGwgdXNl IGJlZm9yZSByZXNvcnRpbmcgdG8gcHJvdmlkZWQgaGVhcCBmdW5jdGlvbnMgKi8KKyAjaWZuZGVm IEpTT05fTUFYX1NUQUNLX0JVRkZFUl9TSVpFCistI2RlZmluZSBKU09OX01BWF9TVEFDS19CVUZG RVJfU0laRSAxMzEwNzIKKysjZGVmaW5lIEpTT05fTUFYX1NUQUNLX0JVRkZFUl9TSVpFIDgxOTIK KyAjZW5kaWYKKyAKKyAjaWZkZWYgX1dJTjMyCmRpZmYgLS1naXQgYS9zcmNwa2dzL3B5dGhvbjMt dWx0cmFqc29uL3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24zLXVsdHJhanNvbi90ZW1wbGF0ZQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uY2RkOTlmZTA2MGUKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmNwa2dzL3B5dGhvbjMtdWx0cmFqc29uL3RlbXBsYXRlCkBAIC0wLDAg KzEsMjAgQEAKKyMgVGVtcGxhdGUgZmlsZSBmb3IgJ3B5dGhvbjMtdWx0cmFqc29uJworcGtnbmFt ZT1weXRob24zLXVsdHJhanNvbgordmVyc2lvbj0xLjM1CityZXZpc2lvbj0xCit3cmtzcmM9InVq c29uLSR7dmVyc2lvbn0iCitidWlsZF9zdHlsZT1weXRob24zLW1vZHVsZQoraG9zdG1ha2VkZXBl bmRzPSJweXRob24zLXNldHVwdG9vbHMiCittYWtlZGVwZW5kcz0icHl0aG9uMy1kZXZlbCIKK3No b3J0X2Rlc2M9IlVsdHJhIGZhc3QgSlNPTiBlbmNvZGVyIGFuZCBkZWNvZGVyIGZvciBQeXRob24i CittYWludGFpbmVyPSJrNGxlZyA8ZDB4aUBpbmJveC5ydT4iCitsaWNlbnNlPSJCU0QtMy1DbGF1 c2UiCitob21lcGFnZT0iaHR0cHM6Ly9naXRodWIuY29tL2Vzbm1lL3VsdHJhanNvbiIKK2Rpc3Rm aWxlcz0iJHtQWVBJX1NJVEV9L3UvdWpzb24vdWpzb24tJHt2ZXJzaW9ufS50YXIuZ3oiCitjaGVj a3N1bT1mNjYwNzNlNTUwNmU5MWQyMDRhYjBjNjE0YTE0OGQ1YWE5MzhiZGJmMTA0NzUxYmU2NmY4 YWQ3YTIyMmY1Zjg2CitwYXRjaF9hcmdzPSItTnAxIgorCitwb3N0X2luc3RhbGwoKSB7CisJc2Vk IC1uICcvRGV2ZWxvcGVkLywvdGVybXMvcCcgcHl0aG9uL3Vqc29uLmMgPiBMSUNFTlNFCisJdmxp Y2Vuc2UgTElDRU5TRQorfQo= --===============2692438845612015774==--