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 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 8E94B224E7 for ; Mon, 25 Mar 2024 12:22:29 +0100 (CET) Content-Type: multipart/mixed; boundary="===============6243452877692438612==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_tracker=3A_update_to_3=2E7=2E0=2E?= To: ml@inbox.vuxu.org From: oreo639 Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 25 Mar 2024 12:22:29 +0100 List-Id: Message-Id: <20240325112229.8E94B224E7@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============6243452877692438612== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgb3JlbzYzOSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vb3Jl bzYzOS92b2lkLXBhY2thZ2VzIHRyYWNrZXIKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzQ5NDczCgp0cmFja2VyOiB1cGRhdGUgdG8gMy43LjAuCjwhLS0g VW5jb21tZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3aGljaCBhcmUg bm90IGFwcGxpY2FibGUgLS0+DQoNCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3Rl ZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKmJyaWVmbHkqKg0KDQpUaGlzIGZpeGVzIHRyYWNr ZXIgd2l0aCBnbGliIDIuODA6IGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFj a2FnZXMvcHVsbC80OTQ0Ng0KDQo8IS0tDQojIyMjIE5ldyBwYWNrYWdlDQotIFRoaXMgbmV3IHBh Y2thZ2UgY29uZm9ybXMgdG8gdGhlIFtwYWNrYWdlIHJlcXVpcmVtZW50c10oaHR0cHM6Ly9naXRo dWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcu bWQjcGFja2FnZS1yZXF1aXJlbWVudHMpOiAqKllFUyoqfCoqTk8qKg0KLS0+DQoNCjwhLS0gTm90 ZTogSWYgdGhlIGJ1aWxkIGlzIGxpa2VseSB0byB0YWtlIG1vcmUgdGhhbiAyIGhvdXJzLCBwbGVh c2UgYWRkIGNpIHNraXAgdGFnIGFzIGRlc2NyaWJlZCBpbg0KaHR0cHM6Ly9naXRodWIuY29tL3Zv aWQtbGludXgvdm9pZC1wYWNrYWdlcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQjY29udGlu dW91cy1pbnRlZ3JhdGlvbg0KYW5kIHRlc3QgYXQgbGVhc3Qgb25lIG5hdGl2ZSBidWlsZCBhbmQs IGlmIHN1cHBvcnRlZCwgYXQgbGVhc3Qgb25lIGNyb3NzIGJ1aWxkLg0KSWdub3JlIHRoaXMgc2Vj dGlvbiBpZiB0aGlzIFBSIGlzIG5vdCBza2lwcGluZyBDSS4NCi0tPg0KPCEtLQ0KIyMjIyBMb2Nh bCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUg YXJjaGl0ZWN0dXJlLCAoQVJDSC1MSUJDKQ0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3Ig dGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRzKToNCiAg LSBhYXJjaDY0LW11c2wNCiAgLSBhcm12N2wNCiAgLSBhcm12NmwtbXVzbA0KLS0+DQoKCkEgcGF0 Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMv cHVsbC80OTQ3My5wYXRjaCBpcyBhdHRhY2hlZA== --===============6243452877692438612== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-tracker-49473.patch" RnJvbSAwNjI3ZWMzNjIyMTA2ZGI1NTMzYWNlNWI1ZjgxMjRkY2IzMTZmY2ZjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBvcmVvNjM5IDxvcmVvNjM5MUBnbWFpbC5jb20+CkRhdGU6IEZy aSwgMjIgTWFyIDIwMjQgMjI6MzE6MDMgLTA3MDAKU3ViamVjdDogW1BBVENIIDEvMl0gdHJhY2tl cjogdXBkYXRlIHRvIDMuNy4wLgoKLS0tCiBzcmNwa2dzL3RyYWNrZXIvcGF0Y2hlcy9maXgtc3Rh bGxzLnBhdGNoICB8IDY2MiArKysrKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3RyYWNrZXIv cGF0Y2hlcy9zcWxpdGUtMy40NC5wYXRjaCB8IDU2NiAtLS0tLS0tLS0tLS0tLS0tLS0KIHNyY3Br Z3MvdHJhY2tlci90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgIHwgICA2ICstCiAzIGZpbGVzIGNo YW5nZWQsIDY2NSBpbnNlcnRpb25zKCspLCA1NjkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy90cmFja2VyL3BhdGNoZXMvZml4LXN0YWxscy5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvdHJhY2tlci9wYXRjaGVzL3NxbGl0ZS0zLjQ0LnBhdGNoCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy90cmFja2VyL3BhdGNoZXMvZml4LXN0YWxscy5wYXRjaCBiL3NyY3Br Z3MvdHJhY2tlci9wYXRjaGVzL2ZpeC1zdGFsbHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwMDAuLmU2MWUzN2Y0MGU3NmEwCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy90cmFja2VyL3BhdGNoZXMvZml4LXN0YWxscy5wYXRjaApAQCAtMCwwICsxLDY2MiBA QAorRnJvbSA4NjJmMDg1NGRkMmE3Zjk2OTRiOGQ1ZjY1ZTA1NzA2MzhkYTIwZjdjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2FybG9zIEdhcm5hY2hvIDxjYXJsb3NnQGdub21lLm9y Zz4KK0RhdGU6IFNhdCwgMjMgTWFyIDIwMjQgMjE6NDA6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRD SCAxLzJdIGRpcmVjdDogUGx1ZyBsZWFrCisKK1RoZSBpbnB1dCBzdHJlYW0gb2J0YWluZWQgZnJv bSBhIERCdXMgcmVxdWVzdCBpcyBsZWFrZWQgYWZ0ZXIgdXNlLgorLS0tCisgc3JjL2xpYnRyYWNr ZXItc3BhcnFsL2RpcmVjdC90cmFja2VyLWRpcmVjdC1iYXRjaC5jIHwgMiArKworIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9saWJ0cmFja2VyLXNw YXJxbC9kaXJlY3QvdHJhY2tlci1kaXJlY3QtYmF0Y2guYyBiL3NyYy9saWJ0cmFja2VyLXNwYXJx bC9kaXJlY3QvdHJhY2tlci1kaXJlY3QtYmF0Y2guYworaW5kZXggMmJjYjhmYjkxMi4uNDMzYmQ5 ODQ4NyAxMDA2NDQKKy0tLSBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9kaXJlY3QvdHJhY2tlci1k aXJlY3QtYmF0Y2guYworKysrIGIvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2RpcmVjdC90cmFja2Vy LWRpcmVjdC1iYXRjaC5jCitAQCAtMjgyLDYgKzI4Miw4IEBAIHRyYWNrZXJfYmF0Y2hfZWxlbV9j bGVhciAoVHJhY2tlckJhdGNoRWxlbSAqZWxlbSkKKyAJfSBlbHNlIGlmIChlbGVtLT50eXBlID09 IFRSQUNLRVJfRElSRUNUX0JBVENIX1JERikgeworIAkJZ19mcmVlIChlbGVtLT5kLnJkZi5kZWZh dWx0X2dyYXBoKTsKKyAJCWdfY2xlYXJfb2JqZWN0ICgmZWxlbS0+ZC5yZGYuc3RyZWFtKTsKKysJ fSBlbHNlIGlmIChlbGVtLT50eXBlID09IFRSQUNLRVJfRElSRUNUX0JBVENIX0RCVVNfRkQpIHsK KysJCWdfY2xlYXJfb2JqZWN0ICgmZWxlbS0+ZC5kYnVzX2ZkKTsKKyAJfQorIH0KKyAKKy0tIAor R2l0TGFiCisKKworRnJvbSAzYTRmYWU5NGQxMTJhMWIzOTk4MGU1MzljYjY0ZDc4YmY3ZDVkZmQ4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2FybG9zIEdhcm5hY2hvIDxjYXJsb3Nn QGdub21lLm9yZz4KK0RhdGU6IFNhdCwgMjMgTWFyIDIwMjQgMjE6Mzk6MjEgKzAxMDAKK1N1Ympl Y3Q6IFtQQVRDSCAyLzJdIGJ1czogV3JpdGUgU1BBUlFMIHF1ZXJpZXMgYXN5bmNocm9ub3VzbHkK KworV3JpdGUgU1BBUlFMIHF1ZXJpZXMgYXN5bmNocm9ub3VzbHksIGluIGFsbCBvZiBvdXIgdXBk YXRlKF9hc3luYykKK2FuZCBiYXRjaCBvcGVyYXRpb25zLiBUaGlzIG1lYW5zIHdlIHdhaXQgZm9y IGJvdGggdGhlIERCdXMgbWVzc2FnZQorYW5kIHRoZSBGRCB3cml0ZSByZXNwb25zZXMgdG8gY29u c2lkZXIgdGhlIG9wZXJhdGlvbiBmaW5pc2hlZCwKK2xpa2Ugd2UgYWxyZWFkeSBkbyBmb3IgZGVz ZXJpYWxpemF0aW9uLgorCitDbG9zZXM6IGh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9HTk9NRS90 cmFja2VyLW1pbmVycy8tL2lzc3Vlcy8zMjgKKy0tLQorIHNyYy9saWJ0cmFja2VyLXNwYXJxbC9i dXMvdHJhY2tlci1idXMtYmF0Y2guYyB8ICAgMyArLQorIC4uLi9idXMvdHJhY2tlci1idXMtc3Rh dGVtZW50LmMgICAgICAgICAgICAgICB8ICAxMSArLQorIHNyYy9saWJ0cmFja2VyLXNwYXJxbC9i dXMvdHJhY2tlci1idXMuYyAgICAgICB8IDMwNSArKysrKysrKysrKysrLS0tLS0KKyBzcmMvbGli dHJhY2tlci1zcGFycWwvYnVzL3RyYWNrZXItYnVzLmggICAgICAgfCAgIDMgKy0KKyA0IGZpbGVz IGNoYW5nZWQsIDIzNiBpbnNlcnRpb25zKCspLCA4NiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9idXMvdHJhY2tlci1idXMtYmF0Y2guYyBiL3NyYy9s aWJ0cmFja2VyLXNwYXJxbC9idXMvdHJhY2tlci1idXMtYmF0Y2guYworaW5kZXggNjliNmY5MzJm Yy4uZDBkNGFiMGUxMyAxMDA2NDQKKy0tLSBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9idXMvdHJh Y2tlci1idXMtYmF0Y2guYworKysrIGIvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2J1cy90cmFja2Vy LWJ1cy1iYXRjaC5jCitAQCAtMzM1LDggKzMzNSw3IEBAIHRyYWNrZXJfYnVzX2JhdGNoX2V4ZWN1 dGVfYXN5bmMgKFRyYWNrZXJCYXRjaCAgICAgICAgKmJhdGNoLAorIAl0YXNrID0gZ190YXNrX25l dyAoYmF0Y2gsIGNhbmNlbGxhYmxlLCBjYWxsYmFjaywgdXNlcl9kYXRhKTsKKyAJY29ubiA9IHRy YWNrZXJfYmF0Y2hfZ2V0X2Nvbm5lY3Rpb24gKGJhdGNoKTsKKyAJdHJhY2tlcl9idXNfY29ubmVj dGlvbl9wZXJmb3JtX3VwZGF0ZV9hc3luYyAoVFJBQ0tFUl9CVVNfQ09OTkVDVElPTiAoY29ubiks CistCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChUcmFja2Vy QnVzT3AgKikgYnVzX2JhdGNoLT5vcHMtPmRhdGEsCistCSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJ1c19iYXRjaC0+b3BzLT5sZW4sCisrCSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1c19iYXRjaC0+b3BzLAorIAkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxsYWJsZSwKKyAJ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2FycmF5 X2NiLAorIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXNr KTsKK2RpZmYgLS1naXQgYS9zcmMvbGlidHJhY2tlci1zcGFycWwvYnVzL3RyYWNrZXItYnVzLXN0 YXRlbWVudC5jIGIvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2J1cy90cmFja2VyLWJ1cy1zdGF0ZW1l bnQuYworaW5kZXggMDQxMWFkMWFmOS4uNzJiMmJhMDMzMCAxMDA2NDQKKy0tLSBhL3NyYy9saWJ0 cmFja2VyLXNwYXJxbC9idXMvdHJhY2tlci1idXMtc3RhdGVtZW50LmMKKysrKyBiL3NyYy9saWJ0 cmFja2VyLXNwYXJxbC9idXMvdHJhY2tlci1idXMtc3RhdGVtZW50LmMKK0BAIC0zMDIsNiArMzAy LDcgQEAgdHJhY2tlcl9idXNfc3RhdGVtZW50X3VwZGF0ZSAoVHJhY2tlclNwYXJxbFN0YXRlbWVu dCAgKnN0bXQsCisgCUdNYWluQ29udGV4dCAqY29udGV4dDsKKyAJVXBkYXRlQXN5bmNEYXRhIGRh dGEgPSB7IDAsIH07CisgCVRyYWNrZXJCdXNPcCBvcCA9IHsgMCwgfTsKKysJR0FycmF5ICpvcHM7 CisgCWNvbnN0IGdjaGFyICpzcGFycWw7CisgCisgCWNvbm4gPSB0cmFja2VyX3NwYXJxbF9zdGF0 ZW1lbnRfZ2V0X2Nvbm5lY3Rpb24gKHN0bXQpOworQEAgLTMxMSwxMiArMzEyLDE0IEBAIHRyYWNr ZXJfYnVzX3N0YXRlbWVudF91cGRhdGUgKFRyYWNrZXJTcGFycWxTdGF0ZW1lbnQgICpzdG10LAor IAlkYXRhLmxvb3AgPSBnX21haW5fbG9vcF9uZXcgKGNvbnRleHQsIEZBTFNFKTsKKyAJZ19tYWlu X2NvbnRleHRfcHVzaF90aHJlYWRfZGVmYXVsdCAoY29udGV4dCk7CisgCisrCW9wcyA9IGdfYXJy YXlfbmV3IChGQUxTRSwgRkFMU0UsIHNpemVvZiAoVHJhY2tlckJ1c09wKSk7CisgCW9wLnR5cGUg PSBUUkFDS0VSX0JVU19PUF9TUEFSUUw7CisgCW9wLmQuc3BhcnFsLnNwYXJxbCA9IChnY2hhciAq KSBzcGFycWw7CisgCW9wLmQuc3BhcnFsLnBhcmFtZXRlcnMgPSBidXNfc3RtdC0+YXJndW1lbnRz OworKwlnX2FycmF5X2FwcGVuZF92YWwgKG9wcywgb3ApOworIAorIAl0cmFja2VyX2J1c19jb25u ZWN0aW9uX3BlcmZvcm1fdXBkYXRlX2FzeW5jIChUUkFDS0VSX0JVU19DT05ORUNUSU9OIChjb25u KSwKKy0JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wLCAx LAorKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHMsCisg CSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbGxhYmxl LAorIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVf Y2IsCisgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRh KTsKK0BAIC0zNjMsNiArMzY2LDcgQEAgdHJhY2tlcl9idXNfc3RhdGVtZW50X3VwZGF0ZV9hc3lu YyAoVHJhY2tlclNwYXJxbFN0YXRlbWVudCAqc3RtdCwKKyB7CisgCVRyYWNrZXJCdXNTdGF0ZW1l bnQgKmJ1c19zdG10ID0gVFJBQ0tFUl9CVVNfU1RBVEVNRU5UIChzdG10KTsKKyAJVHJhY2tlclNw YXJxbENvbm5lY3Rpb24gKmNvbm47CisrCUdBcnJheSAqb3BzOworIAlUcmFja2VyQnVzT3Agb3Ag PSB7IDAsIH07CisgCWNvbnN0IGdjaGFyICpzcGFycWw7CisgCUdUYXNrICp0YXNrOworQEAgLTM3 MiwxNSArMzc2LDE4IEBAIHRyYWNrZXJfYnVzX3N0YXRlbWVudF91cGRhdGVfYXN5bmMgKFRyYWNr ZXJTcGFycWxTdGF0ZW1lbnQgKnN0bXQsCisgCisgCXRhc2sgPSBnX3Rhc2tfbmV3IChzdG10LCBj YW5jZWxsYWJsZSwgY2FsbGJhY2ssIHVzZXJfZGF0YSk7CisgCisrCW9wcyA9IGdfYXJyYXlfbmV3 IChGQUxTRSwgRkFMU0UsIHNpemVvZiAoVHJhY2tlckJ1c09wKSk7CisgCW9wLnR5cGUgPSBUUkFD S0VSX0JVU19PUF9TUEFSUUw7CisgCW9wLmQuc3BhcnFsLnNwYXJxbCA9IChnY2hhciAqKSBzcGFy cWw7CisgCW9wLmQuc3BhcnFsLnBhcmFtZXRlcnMgPSBidXNfc3RtdC0+YXJndW1lbnRzOworKwln X2FycmF5X2FwcGVuZF92YWwgKG9wcywgb3ApOworIAorIAl0cmFja2VyX2J1c19jb25uZWN0aW9u X3BlcmZvcm1fdXBkYXRlX2FzeW5jIChUUkFDS0VSX0JVU19DT05ORUNUSU9OIChjb25uKSwKKy0J ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm9wLCAxLAorKwkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHMsCisgCSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbGxhYmxlLAorIAkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfYXN5bmNf Y2IsCisgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhc2sp OworKwlnX2FycmF5X3VucmVmIChvcHMpOworIH0KKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KK2RpZmYg LS1naXQgYS9zcmMvbGlidHJhY2tlci1zcGFycWwvYnVzL3RyYWNrZXItYnVzLmMgYi9zcmMvbGli dHJhY2tlci1zcGFycWwvYnVzL3RyYWNrZXItYnVzLmMKK2luZGV4IDE1NDdjNWYwOGIuLjUyZWVl ZDJlNTIgMTAwNjQ0CistLS0gYS9zcmMvbGlidHJhY2tlci1zcGFycWwvYnVzL3RyYWNrZXItYnVz LmMKKysrKyBiL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9idXMvdHJhY2tlci1idXMuYworQEAgLTc1 LDYgKzc1LDE0IEBAIHR5cGVkZWYgc3RydWN0IHsKKyAJfSBkYnVzLCBzcGxpY2U7CisgfSBEZXNl cmlhbGl6ZVRhc2tEYXRhOworIAorK3R5cGVkZWYgc3RydWN0IHsKKysJc3RydWN0IHsKKysJCUdF cnJvciAqZXJyb3I7CisrCQlnYm9vbGVhbiBmaW5pc2hlZDsKKysJfSBkYnVzLCB3cml0ZTsKKysJ R1ZhcmlhbnQgKnJldHZhbDsKKyt9IFVwZGF0ZVRhc2tEYXRhOworKworIHN0YXRpYyB2b2lkIHRy YWNrZXJfYnVzX2Nvbm5lY3Rpb25fYXN5bmNfaW5pdGFibGVfaWZhY2VfaW5pdCAoR0FzeW5jSW5p dGFibGVJZmFjZSAqaWZhY2UpOworIAorIEdfREVGSU5FX1RZUEVfV0lUSF9DT0RFIChUcmFja2Vy QnVzQ29ubmVjdGlvbiwgdHJhY2tlcl9idXNfY29ubmVjdGlvbiwKK0BAIC0yMTgsMzEgKzIyNiw2 MiBAQCBjcmVhdGVfZGVzZXJpYWxpemVfbWVzc2FnZSAoVHJhY2tlckJ1c0Nvbm5lY3Rpb24gICAg KmNvbm4sCisgCXJldHVybiBtZXNzYWdlOworIH0KKyAKKy1zdGF0aWMgZ2Jvb2xlYW4KKy13cml0 ZV9zcGFycWxfcXVlcnkgKEdPdXRwdXRTdHJlYW0gICpvc3RyZWFtLAorLQkJICAgIGNvbnN0IGdj aGFyICAgICpxdWVyeSwKKy0JCSAgICBHRXJyb3IgICAgICAgICoqZXJyb3IpCisrc3RhdGljIHZv aWQKKyt3cml0ZV9zcGFycWxfcXVlcnlfaW5fdGhyZWFkIChHVGFzayAgICAgICAgKnRhc2ssCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICBzb3VyY2Vfb2JqZWN0 LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAgdGFza19kYXRh LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDYW5jZWxsYWJsZSAqY2FuY2VsbGFi bGUpCisgeworKwlHT3V0cHV0U3RyZWFtICpvc3RyZWFtID0gc291cmNlX29iamVjdDsKKyAJR0Rh dGFPdXRwdXRTdHJlYW0gKmRhdGE7CisrCWNvbnN0IGdjaGFyICpxdWVyeTsKKysJR0Vycm9yICpl cnJvciA9IE5VTEw7CisgCWludCBsZW47CisgCisrCXF1ZXJ5ID0gZ190YXNrX2dldF90YXNrX2Rh dGEgKHRhc2spOworIAlsZW4gPSBzdHJsZW4gKHF1ZXJ5KTsKKyAJZGF0YSA9IGdfZGF0YV9vdXRw dXRfc3RyZWFtX25ldyAob3N0cmVhbSk7CisgCWdfZGF0YV9vdXRwdXRfc3RyZWFtX3NldF9ieXRl X29yZGVyIChkYXRhLCBHX0RBVEFfU1RSRUFNX0JZVEVfT1JERVJfSE9TVF9FTkRJQU4pOworLQlp ZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF91aW50MzIgKGRhdGEsIFRSQUNLRVJfQlVTX09Q X1NQQVJRTCwgTlVMTCwgZXJyb3IpKQorKworKwlpZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1 dF91aW50MzIgKGRhdGEsIFRSQUNLRVJfQlVTX09QX1NQQVJRTCwgY2FuY2VsbGFibGUsICZlcnJv cikpCisgCQlnb3RvIGVycm9yOworLQlpZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF9pbnQz MiAoZGF0YSwgbGVuLCBOVUxMLCBlcnJvcikpCisrCWlmICghZ19kYXRhX291dHB1dF9zdHJlYW1f cHV0X2ludDMyIChkYXRhLCBsZW4sIGNhbmNlbGxhYmxlLCAmZXJyb3IpKQorIAkJZ290byBlcnJv cjsKKy0JaWYgKCFnX2RhdGFfb3V0cHV0X3N0cmVhbV9wdXRfc3RyaW5nIChkYXRhLCBxdWVyeSwg TlVMTCwgZXJyb3IpKQorKwlpZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF9zdHJpbmcgKGRh dGEsIHF1ZXJ5LCBjYW5jZWxsYWJsZSwgJmVycm9yKSkKKyAJCWdvdG8gZXJyb3I7CistCWlmICgh Z19kYXRhX291dHB1dF9zdHJlYW1fcHV0X2ludDMyIChkYXRhLCAwLCBOVUxMLCBlcnJvcikpCisr CWlmICghZ19kYXRhX291dHB1dF9zdHJlYW1fcHV0X2ludDMyIChkYXRhLCAwLCBjYW5jZWxsYWJs ZSwgJmVycm9yKSkKKyAJCWdvdG8gZXJyb3I7CisgCistCWdfb2JqZWN0X3VucmVmIChkYXRhKTsK Ky0JcmV0dXJuIFRSVUU7CisgIGVycm9yOgorKwlpZiAoZXJyb3IpCisrCQlnX3Rhc2tfcmV0dXJu X2Vycm9yICh0YXNrLCBlcnJvcik7CisrCWVsc2UKKysJCWdfdGFza19yZXR1cm5fYm9vbGVhbiAo dGFzaywgVFJVRSk7CisrCisgCWdfb2JqZWN0X3VucmVmIChkYXRhKTsKKy0JcmV0dXJuIEZBTFNF OworK30KKysKKytzdGF0aWMgdm9pZAorK3dyaXRlX3NwYXJxbF9xdWVyeV9hc3luYyAoR091dHB1 dFN0cmVhbSAgICAgICAqb3N0cmVhbSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGdjaGFyICAgICAgICAgKnF1ZXJ5LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgR0NhbmNl bGxhYmxlICAgICAgICAqY2FuY2VsbGFibGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBH QXN5bmNSZWFkeUNhbGxiYWNrICBjYiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGdwb2lu dGVyICAgICAgICAgICAgIHVzZXJfZGF0YSkKKyt7CisrCUdUYXNrICp0YXNrOworKworKwl0YXNr ID0gZ190YXNrX25ldyAob3N0cmVhbSwgY2FuY2VsbGFibGUsIGNiLCB1c2VyX2RhdGEpOworKwln X3Rhc2tfc2V0X3Rhc2tfZGF0YSAodGFzaywgKGdwb2ludGVyKSBxdWVyeSwgTlVMTCk7CisrCWdf dGFza19ydW5faW5fdGhyZWFkICh0YXNrLCB3cml0ZV9zcGFycWxfcXVlcnlfaW5fdGhyZWFkKTsK KysJZ19vYmplY3RfdW5yZWYgKHRhc2spOworK30KKysKKytzdGF0aWMgZ2Jvb2xlYW4KKyt3cml0 ZV9zcGFycWxfcXVlcnlfZmluaXNoIChHT3V0cHV0U3RyZWFtICAqc3RyZWFtLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdBc3luY1Jlc3VsdCAgICpyZXMsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0Vycm9yICAgICAgICAqKmVycm9yKQorK3sKKysJcmV0dXJuIGdfdGFza19w cm9wYWdhdGVfYm9vbGVhbiAoR19UQVNLIChyZXMpLCBlcnJvcik7CisgfQorIAorIHN0YXRpYyBH VmFyaWFudCAqCitAQCAtMjY2LDM3ICszMDUsNDEgQEAgY29udmVydF9wYXJhbXMgKEdIYXNoVGFi bGUgKnBhcmFtZXRlcnMpCisgCXJldHVybiBnX3ZhcmlhbnRfcmVmX3NpbmsgKGdfdmFyaWFudF9i dWlsZGVyX2VuZCAoJmJ1aWxkZXIpKTsKKyB9CisgCistc3RhdGljIGdib29sZWFuCistd3JpdGVf c3BhcnFsX3F1ZXJpZXMgKEdPdXRwdXRTdHJlYW0gICpvc3RyZWFtLAorLSAgICAgICAgICAgICAg ICAgICAgICBUcmFja2VyQnVzT3AgICAqb3BzLAorLSAgICAgICAgICAgICAgICAgICAgICBnaW50 ICAgICAgICAgICAgbl9vcHMsCistICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAg KiplcnJvcikKKytzdGF0aWMgdm9pZAorK3dyaXRlX3NwYXJxbF9xdWVyaWVzX2luX3RocmVhZCAo R1Rhc2sgICAgICAgICp0YXNrLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Bv aW50ZXIgICAgICBzb3VyY2Vfb2JqZWN0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ3BvaW50ZXIgICAgICB0YXNrX2RhdGEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxlKQorIHsKKysJR091dHB1dFN0cmVhbSAqb3N0 cmVhbSA9IHNvdXJjZV9vYmplY3Q7CisrCUdBcnJheSAqb3BfYXJyYXk7CisgCUdEYXRhT3V0cHV0 U3RyZWFtICpkYXRhOworIAlHT3V0cHV0U3RyZWFtICpyZGZfc3RyZWFtID0gTlVMTDsKKyAJR0J5 dGVzICpieXRlcyA9IE5VTEw7CisgCWdjaGFyICpwYXJhbXNfc3RyID0gTlVMTDsKKy0JaW50IGk7 CisrCUdFcnJvciAqZXJyb3IgPSBOVUxMOworKwlndWludCBpOworIAorKwlvcF9hcnJheSA9IGdf dGFza19nZXRfdGFza19kYXRhICh0YXNrKTsKKyAJZGF0YSA9IGdfZGF0YV9vdXRwdXRfc3RyZWFt X25ldyAob3N0cmVhbSk7CisgCWdfZGF0YV9vdXRwdXRfc3RyZWFtX3NldF9ieXRlX29yZGVyIChk YXRhLCBHX0RBVEFfU1RSRUFNX0JZVEVfT1JERVJfSE9TVF9FTkRJQU4pOworIAorLQlpZiAoIWdf ZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF9pbnQzMiAoZGF0YSwgbl9vcHMsIE5VTEwsIGVycm9yKSkK KysJaWYgKCFnX2RhdGFfb3V0cHV0X3N0cmVhbV9wdXRfaW50MzIgKGRhdGEsIG9wX2FycmF5LT5s ZW4sIGNhbmNlbGxhYmxlLCAmZXJyb3IpKQorIAkJZ290byBlcnJvcjsKKyAKKy0JZm9yIChpID0g MDsgaSA8IG5fb3BzOyBpKyspIHsKKy0JCVRyYWNrZXJCdXNPcCAqb3AgPSAmb3BzW2ldOworKwlm b3IgKGkgPSAwOyBpIDwgb3BfYXJyYXktPmxlbjsgaSsrKSB7CisrCQlUcmFja2VyQnVzT3AgKm9w ID0gJmdfYXJyYXlfaW5kZXggKG9wX2FycmF5LCBUcmFja2VyQnVzT3AsIGkpOworIAorLQkJaWYg KCFnX2RhdGFfb3V0cHV0X3N0cmVhbV9wdXRfaW50MzIgKGRhdGEsIG9wLT50eXBlLCBOVUxMLCBl cnJvcikpCisrCQlpZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF9pbnQzMiAoZGF0YSwgb3At PnR5cGUsIGNhbmNlbGxhYmxlLCAmZXJyb3IpKQorIAkJCWdvdG8gZXJyb3I7CisgCisgCQlpZiAo b3AtPnR5cGUgPT0gVFJBQ0tFUl9CVVNfT1BfU1BBUlFMKSB7CisgCQkJaWYgKCFnX2RhdGFfb3V0 cHV0X3N0cmVhbV9wdXRfaW50MzIgKGRhdGEsCisgCQkJICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cmxlbiAob3AtPmQuc3BhcnFsLnNwYXJxbCksCistCQkJICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGVycm9yKSkKKysJCQkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsbGFibGUsICZlcnJvcikpCisgCQkJCWdv dG8gZXJyb3I7CisgCQkJaWYgKCFnX2RhdGFfb3V0cHV0X3N0cmVhbV9wdXRfc3RyaW5nIChkYXRh LCBvcC0+ZC5zcGFycWwuc3BhcnFsLAorLQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCwgZXJyb3IpKQorKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2FuY2VsbGFibGUsICZlcnJvcikpCisgCQkJCWdvdG8gZXJyb3I7CisgCisgCQkJ aWYgKG9wLT5kLnNwYXJxbC5wYXJhbWV0ZXJzKSB7CitAQCAtMzA4LDMzICszNTEsMzMgQEAgd3Jp dGVfc3BhcnFsX3F1ZXJpZXMgKEdPdXRwdXRTdHJlYW0gICpvc3RyZWFtLAorIAorIAkJCQlpZiAo IWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF9pbnQzMiAoZGF0YSwKKyAJCQkJICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbiAocGFyYW1zX3N0ciksCistCQkJCSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBlcnJvcikpCisrCQkJCSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxsYWJsZSwgJmVycm9yKSkKKyAJ CQkJCWdvdG8gZXJyb3I7CisgCQkJCWlmICghZ19kYXRhX291dHB1dF9zdHJlYW1fcHV0X3N0cmlu ZyAoZGF0YSwgcGFyYW1zX3N0ciwKKy0JCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMLCBlcnJvcikpCisrCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2FuY2VsbGFibGUsICZlcnJvcikpCisgCQkJCQlnb3RvIGVycm9yOworIAorIAkJ CQlnX2NsZWFyX3BvaW50ZXIgKCZwYXJhbXNfc3RyLCBnX2ZyZWUpOworIAkJCX0gZWxzZSB7Cist CQkJCWlmICghZ19kYXRhX291dHB1dF9zdHJlYW1fcHV0X2ludDMyIChkYXRhLCAwLCBOVUxMLCBl cnJvcikpCisrCQkJCWlmICghZ19kYXRhX291dHB1dF9zdHJlYW1fcHV0X2ludDMyIChkYXRhLCAw LCBjYW5jZWxsYWJsZSwgJmVycm9yKSkKKyAJCQkJCWdvdG8gZXJyb3I7CisgCQkJfQorIAkJfSBl bHNlIGlmIChvcC0+dHlwZSA9PSBUUkFDS0VSX0JVU19PUF9SREYpIHsKKy0JCQlpZiAoIWdfZGF0 YV9vdXRwdXRfc3RyZWFtX3B1dF91aW50MzIgKGRhdGEsIG9wLT5kLnJkZi5mbGFncywgTlVMTCwg ZXJyb3IpKQorKwkJCWlmICghZ19kYXRhX291dHB1dF9zdHJlYW1fcHV0X3VpbnQzMiAoZGF0YSwg b3AtPmQucmRmLmZsYWdzLCBjYW5jZWxsYWJsZSwgJmVycm9yKSkKKyAJCQkJZ290byBlcnJvcjsK Ky0JCQlpZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF91aW50MzIgKGRhdGEsIG9wLT5kLnJk Zi5mb3JtYXQsIE5VTEwsIGVycm9yKSkKKysJCQlpZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1 dF91aW50MzIgKGRhdGEsIG9wLT5kLnJkZi5mb3JtYXQsIGNhbmNlbGxhYmxlLCAmZXJyb3IpKQor IAkJCQlnb3RvIGVycm9yOworIAorIAkJCWlmIChvcC0+ZC5yZGYuZGVmYXVsdF9ncmFwaCkgewor IAkJCQlpZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF9pbnQzMiAoZGF0YSwKKyAJCQkJICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbiAob3AtPmQucmRmLmRlZmF1 bHRfZ3JhcGgpLAorLQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCwgZXJyb3IpKQorKwkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2Fu Y2VsbGFibGUsICZlcnJvcikpCisgCQkJCQlnb3RvIGVycm9yOworIAkJCQlpZiAoIWdfZGF0YV9v dXRwdXRfc3RyZWFtX3B1dF9zdHJpbmcgKGRhdGEsIG9wLT5kLnJkZi5kZWZhdWx0X2dyYXBoLAor LQkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsIGVycm9yKSkK KysJCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxsYWJsZSwg JmVycm9yKSkKKyAJCQkJCWdvdG8gZXJyb3I7CisgCQkJfSBlbHNlIHsKKy0JCQkJaWYgKCFnX2Rh dGFfb3V0cHV0X3N0cmVhbV9wdXRfaW50MzIgKGRhdGEsIDAsIE5VTEwsIGVycm9yKSkKKysJCQkJ aWYgKCFnX2RhdGFfb3V0cHV0X3N0cmVhbV9wdXRfaW50MzIgKGRhdGEsIDAsIGNhbmNlbGxhYmxl LCAmZXJyb3IpKQorIAkJCQkJZ290byBlcnJvcjsKKyAJCQl9CisgCitAQCAtMzQzLDM2ICszODYs NjAgQEAgd3JpdGVfc3BhcnFsX3F1ZXJpZXMgKEdPdXRwdXRTdHJlYW0gICpvc3RyZWFtLAorIAkJ CSAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+ZC5yZGYuc3RyZWFtLAorIAkJCSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHX09VVFBVVF9TVFJFQU1fU1BMSUNFX0NMT1NFX1NPVVJD RSB8CisgCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfT1VUUFVUX1NUUkVBTV9TUExJ Q0VfQ0xPU0VfVEFSR0VULAorLQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAor LQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcikgPCAwKQorKwkJCSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjYW5jZWxsYWJsZSwKKysJCQkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmVycm9yKSA8IDApCisgCQkJCWdvdG8gZXJyb3I7CisgCisgCQkJYnl0ZXMgPSBn X21lbW9yeV9vdXRwdXRfc3RyZWFtX3N0ZWFsX2FzX2J5dGVzIChHX01FTU9SWV9PVVRQVVRfU1RS RUFNIChyZGZfc3RyZWFtKSk7CisgCQkJZ19jbGVhcl9vYmplY3QgKCZyZGZfc3RyZWFtKTsKKyAK Ky0JCQlpZiAoIWdfZGF0YV9vdXRwdXRfc3RyZWFtX3B1dF91aW50MzIgKGRhdGEsIGdfYnl0ZXNf Z2V0X3NpemUgKGJ5dGVzKSwgTlVMTCwgZXJyb3IpKQorKwkJCWlmICghZ19kYXRhX291dHB1dF9z dHJlYW1fcHV0X3VpbnQzMiAoZGF0YSwgZ19ieXRlc19nZXRfc2l6ZSAoYnl0ZXMpLCBjYW5jZWxs YWJsZSwgJmVycm9yKSkKKyAJCQkJZ290byBlcnJvcjsKKyAJCQlpZiAoIWdfb3V0cHV0X3N0cmVh bV93cml0ZV9hbGwgKEdfT1VUUFVUX1NUUkVBTSAoZGF0YSksCisgCQkJICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBnX2J5dGVzX2dldF9kYXRhIChieXRlcywgTlVMTCksCisgCQkJICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX2J5dGVzX2dldF9zaXplIChieXRlcyksCisg CQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAorLQkJCSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKy0JCQkgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVycm9yKSkKKysJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNl bGxhYmxlLAorKwkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yKSkKKyAJ CQkJZ290byBlcnJvcjsKKyAKKyAJCQlnX2NsZWFyX3BvaW50ZXIgKCZieXRlcywgZ19ieXRlc191 bnJlZik7CisgCQl9CisgCX0KKyAKKy0JZ19vdXRwdXRfc3RyZWFtX2Nsb3NlIChHX09VVFBVVF9T VFJFQU0gKGRhdGEpLCBOVUxMLCBOVUxMKTsKKy0JZ19vYmplY3RfdW5yZWYgKGRhdGEpOworLQly ZXR1cm4gVFJVRTsKKyAgZXJyb3I6CisgCWdfY2xlYXJfb2JqZWN0ICgmcmRmX3N0cmVhbSk7Cisg CWdfY2xlYXJfcG9pbnRlciAoJmJ5dGVzLCBnX2J5dGVzX3VucmVmKTsKKyAJZ19jbGVhcl9wb2lu dGVyICgmcGFyYW1zX3N0ciwgZ19mcmVlKTsKKyAJZ19vYmplY3RfdW5yZWYgKGRhdGEpOworLQly ZXR1cm4gRkFMU0U7CisrCisrCWlmIChlcnJvcikKKysJCWdfdGFza19yZXR1cm5fZXJyb3IgKHRh c2ssIGVycm9yKTsKKysJZWxzZQorKwkJZ190YXNrX3JldHVybl9ib29sZWFuICh0YXNrLCBUUlVF KTsKKyt9CisrCisrc3RhdGljIHZvaWQKKyt3cml0ZV9zcGFycWxfcXVlcmllc19hc3luYyAoR091 dHB1dFN0cmVhbSAgICAgICAqb3N0cmVhbSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg R0FycmF5ICAgICAgICAgICAgICAqb3BzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBH Q2FuY2VsbGFibGUgICAgICAgICpjYW5jZWxsYWJsZSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR0FzeW5jUmVhZHlDYWxsYmFjayAgY2IsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdwb2ludGVyICAgICAgICAgICAgIHVzZXJfZGF0YSkKKyt7CisrCUdUYXNrICp0YXNrOwor KworKwl0YXNrID0gZ190YXNrX25ldyAob3N0cmVhbSwgY2FuY2VsbGFibGUsIGNiLCB1c2VyX2Rh dGEpOworKwlnX3Rhc2tfc2V0X3Rhc2tfZGF0YSAodGFzaywgZ19hcnJheV9yZWYgKG9wcyksIChH RGVzdHJveU5vdGlmeSkgZ19hcnJheV91bnJlZik7CisrCWdfdGFza19ydW5faW5fdGhyZWFkICh0 YXNrLCB3cml0ZV9zcGFycWxfcXVlcmllc19pbl90aHJlYWQpOworKwlnX29iamVjdF91bnJlZiAo dGFzayk7CisrfQorKworK3N0YXRpYyBnYm9vbGVhbgorK3dyaXRlX3NwYXJxbF9xdWVyaWVzX2Zp bmlzaCAoR091dHB1dFN0cmVhbSAgKnN0cmVhbSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdBc3luY1Jlc3VsdCAgICpyZXMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH RXJyb3IgICAgICAgICoqZXJyb3IpCisreworKwlyZXR1cm4gZ190YXNrX3Byb3BhZ2F0ZV9ib29s ZWFuIChHX1RBU0sgKHJlcyksIGVycm9yKTsKKyB9CisgCisgc3RhdGljIHZvaWQKK0BAIC05MDUs MjMgKzk3Miw2OCBAQCB0cmFja2VyX2J1c19jb25uZWN0aW9uX3VwZGF0ZSAoVHJhY2tlclNwYXJx bENvbm5lY3Rpb24gICpzZWxmLAorIAkJZ19wcm9wYWdhdGVfZXJyb3IgKGVycm9yLCBkYXRhLmVy cm9yKTsKKyB9CisgCisrc3RhdGljIHZvaWQKKytjaGVja19maW5pc2hfdXBkYXRlIChHVGFzayAq dGFzaykKKyt7CisrCVVwZGF0ZVRhc2tEYXRhICpkYXRhOworKworKwlkYXRhID0gZ190YXNrX2dl dF90YXNrX2RhdGEgKHRhc2spOworKworKwlpZiAoIWRhdGEtPmRidXMuZmluaXNoZWQgfHwgIWRh dGEtPndyaXRlLmZpbmlzaGVkKQorKwkJcmV0dXJuOworKworKwlpZiAoZGF0YS0+ZGJ1cy5lcnJv cikgeworKwkJZ19kYnVzX2Vycm9yX3N0cmlwX3JlbW90ZV9lcnJvciAoZGF0YS0+ZGJ1cy5lcnJv cik7CisrCQlnX3Rhc2tfcmV0dXJuX2Vycm9yICh0YXNrLCBnX3N0ZWFsX3BvaW50ZXIgKCZkYXRh LT5kYnVzLmVycm9yKSk7CisrCX0gZWxzZSBpZiAoZGF0YS0+d3JpdGUuZXJyb3IpIHsKKysJCWdf dGFza19yZXR1cm5fZXJyb3IgKHRhc2ssIGdfc3RlYWxfcG9pbnRlciAoJmRhdGEtPndyaXRlLmVy cm9yKSk7CisrCX0gZWxzZSB7CisrCQlnX3Rhc2tfcmV0dXJuX3BvaW50ZXIgKHRhc2ssIGdfc3Rl YWxfcG9pbnRlciAoJmRhdGEtPnJldHZhbCksCisrCQkgICAgICAgICAgICAgICAgICAgICAgIChH RGVzdHJveU5vdGlmeSkgZ192YXJpYW50X3VucmVmKTsKKysJfQorKworKwlnX29iamVjdF91bnJl ZiAodGFzayk7CisrfQorKworIHN0YXRpYyB2b2lkCisgdXBkYXRlX2NiIChHT2JqZWN0ICAgICAg Km9iamVjdCwKKy0JICAgR0FzeW5jUmVzdWx0ICpyZXMsCistCSAgIGdwb2ludGVyICAgICAgdXNl cl9kYXRhKQorKyAgICAgICAgICAgR0FzeW5jUmVzdWx0ICpyZXMsCisrICAgICAgICAgICBncG9p bnRlciAgICAgIHVzZXJfZGF0YSkKKyB7CisgCUdUYXNrICp0YXNrID0gdXNlcl9kYXRhOworLQlH RXJyb3IgKmVycm9yID0gTlVMTDsKKy0JR1ZhcmlhbnQgKnJldHZhbDsKKysJVXBkYXRlVGFza0Rh dGEgKmRhdGE7CisgCistCXJldHZhbCA9IHBlcmZvcm1fdXBkYXRlX2ZpbmlzaCAoVFJBQ0tFUl9C VVNfQ09OTkVDVElPTiAob2JqZWN0KSwKKy0JCQkJCXJlcywgJmVycm9yKTsKKy0JaWYgKGVycm9y KQorLQkJZ190YXNrX3JldHVybl9lcnJvciAodGFzaywgZXJyb3IpOworLQllbHNlCistCQlnX3Rh c2tfcmV0dXJuX3BvaW50ZXIgKHRhc2ssIHJldHZhbCwgKEdEZXN0cm95Tm90aWZ5KSBnX3Zhcmlh bnRfdW5yZWYpOworKwlkYXRhID0gZ190YXNrX2dldF90YXNrX2RhdGEgKHRhc2spOworKwlkYXRh LT5yZXR2YWwgPSBwZXJmb3JtX3VwZGF0ZV9maW5pc2ggKFRSQUNLRVJfQlVTX0NPTk5FQ1RJT04g KG9iamVjdCksCisrCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLCAm ZGF0YS0+ZGJ1cy5lcnJvcik7CisrCWRhdGEtPmRidXMuZmluaXNoZWQgPSBUUlVFOworKwljaGVj a19maW5pc2hfdXBkYXRlICh0YXNrKTsKKyt9CisgCistCWdfb2JqZWN0X3VucmVmICh0YXNrKTsK KytzdGF0aWMgdm9pZAorK3dyaXRlX3F1ZXJ5X2NiIChHT2JqZWN0ICAgICAgKm9iamVjdCwKKysg ICAgICAgICAgICAgICAgR0FzeW5jUmVzdWx0ICpyZXMsCisrICAgICAgICAgICAgICAgIGdwb2lu dGVyICAgICAgdXNlcl9kYXRhKQorK3sKKysJR1Rhc2sgKnRhc2sgPSB1c2VyX2RhdGE7CisrCVVw ZGF0ZVRhc2tEYXRhICpkYXRhOworKworKwlkYXRhID0gZ190YXNrX2dldF90YXNrX2RhdGEgKHRh c2spOworKwl3cml0ZV9zcGFycWxfcXVlcnlfZmluaXNoIChHX09VVFBVVF9TVFJFQU0gKG9iamVj dCksCisrCSAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcywgJmRhdGEtPndyaXRlLmVycm9y KTsKKysJZGF0YS0+d3JpdGUuZmluaXNoZWQgPSBUUlVFOworKwljaGVja19maW5pc2hfdXBkYXRl ICh0YXNrKTsKKyt9CisrCisrc3RhdGljIHZvaWQKKyt1cGRhdGVfdGFza19kYXRhX2ZyZWUgKGdw b2ludGVyIGRhdGEpCisreworKwlVcGRhdGVUYXNrRGF0YSAqdGFza19kYXRhID0gZGF0YTsKKysK KysJZ19jbGVhcl9lcnJvciAoJnRhc2tfZGF0YS0+ZGJ1cy5lcnJvcik7CisrCWdfY2xlYXJfZXJy b3IgKCZ0YXNrX2RhdGEtPndyaXRlLmVycm9yKTsKKysJZ19jbGVhcl9wb2ludGVyICgmdGFza19k YXRhLT5yZXR2YWwsIGdfdmFyaWFudF91bnJlZik7CisrCWdfZnJlZSAodGFza19kYXRhKTsKKyB9 CisgCisgc3RhdGljIHZvaWQKK0BAIC05MzEsNiArMTA0Myw3IEBAIHRyYWNrZXJfYnVzX2Nvbm5l Y3Rpb25fdXBkYXRlX2FzeW5jIChUcmFja2VyU3BhcnFsQ29ubmVjdGlvbiAqc2VsZiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0FzeW5jUmVhZHlDYWxsYmFjayAgICAg IGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRl ciAgICAgICAgICAgICAgICAgdXNlcl9kYXRhKQorIHsKKysJVXBkYXRlVGFza0RhdGEgKmRhdGE7 CisgCUdVbml4RkRMaXN0ICpmZF9saXN0OworIAlHT3V0cHV0U3RyZWFtICpvc3RyZWFtOworIAlH RXJyb3IgKmVycm9yID0gTlVMTDsKK0BAIC05MzksNiArMTA1Miw5IEBAIHRyYWNrZXJfYnVzX2Nv bm5lY3Rpb25fdXBkYXRlX2FzeW5jIChUcmFja2VyU3BhcnFsQ29ubmVjdGlvbiAqc2VsZiwKKyAK KyAJdGFzayA9IGdfdGFza19uZXcgKHNlbGYsIGNhbmNlbGxhYmxlLCBjYWxsYmFjaywgdXNlcl9k YXRhKTsKKyAKKysJZGF0YSA9IGdfbmV3MCAoVXBkYXRlVGFza0RhdGEsIDEpOworKwlnX3Rhc2tf c2V0X3Rhc2tfZGF0YSAodGFzaywgZGF0YSwgdXBkYXRlX3Rhc2tfZGF0YV9mcmVlKTsKKysKKyAJ aWYgKCFjcmVhdGVfcGlwZV9mb3Jfd3JpdGUgKCZvc3RyZWFtLCAmZmRfbGlzdCwgJmZkX2lkeCwg JmVycm9yKSkgeworIAkJZ190YXNrX3JldHVybl9lcnJvciAodGFzaywgZXJyb3IpOworIAkJZ19v YmplY3RfdW5yZWYgKHRhc2spOworQEAgLTk0NiwxNCArMTA2MiwxNSBAQCB0cmFja2VyX2J1c19j b25uZWN0aW9uX3VwZGF0ZV9hc3luYyAoVHJhY2tlclNwYXJxbENvbm5lY3Rpb24gKnNlbGYsCisg CX0KKyAKKyAJcGVyZm9ybV91cGRhdGVfYXN5bmMgKFRSQUNLRVJfQlVTX0NPTk5FQ1RJT04gKHNl bGYpLAorLQkJCSAgICAgICJVcGRhdGUiLAorLQkJCSAgICAgIGZkX2xpc3QsIGZkX2lkeCwKKy0J CQkgICAgICBjYW5jZWxsYWJsZSwKKy0JCQkgICAgICB1cGRhdGVfY2IsCistCQkJICAgICAgdGFz ayk7CistCistCXdyaXRlX3NwYXJxbF9xdWVyeSAob3N0cmVhbSwgc3BhcnFsLCBOVUxMKTsKKy0J Z19vdXRwdXRfc3RyZWFtX2Nsb3NlIChvc3RyZWFtLCBOVUxMLCBOVUxMKTsKKysJICAgICAgICAg ICAgICAgICAgICAgICJVcGRhdGUiLAorKwkgICAgICAgICAgICAgICAgICAgICAgZmRfbGlzdCwg ZmRfaWR4LAorKwkgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsbGFibGUsCisrCSAgICAgICAg ICAgICAgICAgICAgICB1cGRhdGVfY2IsCisrCSAgICAgICAgICAgICAgICAgICAgICB0YXNrKTsK KysKKysJd3JpdGVfc3BhcnFsX3F1ZXJ5X2FzeW5jIChvc3RyZWFtLCBzcGFycWwsCisrCSAgICAg ICAgICAgICAgICAgICAgICAgICAgY2FuY2VsbGFibGUsCisrCSAgICAgICAgICAgICAgICAgICAg ICAgICAgd3JpdGVfcXVlcnlfY2IsIHRhc2spOworIAlnX29iamVjdF91bnJlZiAob3N0cmVhbSk7 CisgCWdfb2JqZWN0X3VucmVmIChmZF9saXN0KTsKKyB9CitAQCAtOTc3LDIzICsxMDk0LDI1IEBA IHRyYWNrZXJfYnVzX2Nvbm5lY3Rpb25fdXBkYXRlX2FycmF5X2FzeW5jIChUcmFja2VyU3BhcnFs Q29ubmVjdGlvbiAgKnNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdBc3luY1JlYWR5Q2FsbGJhY2sgICAgICAgY2FsbGJhY2ssCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAgICAgICAgICAgICAg dXNlcl9kYXRhKQorIHsKKy0JVHJhY2tlckJ1c09wICpvcHM7CisrCUdBcnJheSAqb3BzOworIAln aW50IGk7CisgCistCW9wcyA9IGdfbmV3MCAoVHJhY2tlckJ1c09wLCBuX3VwZGF0ZXMpOworKwlv cHMgPSBnX2FycmF5X3NpemVkX25ldyAoRkFMU0UsIEZBTFNFLCBzaXplb2YgKFRyYWNrZXJCdXNP cCksIG5fdXBkYXRlcyk7CisgCisgCWZvciAoaSA9IDA7IGkgPCBuX3VwZGF0ZXM7IGkrKykgewor LQkJb3BzW2ldLnR5cGUgPSBUUkFDS0VSX0JVU19PUF9TUEFSUUw7CistCQlvcHNbaV0uZC5zcGFy cWwuc3BhcnFsID0gdXBkYXRlc1tpXTsKKysJCVRyYWNrZXJCdXNPcCBvcCA9IHsgMCwgfTsKKysK KysJCW9wLnR5cGUgPSBUUkFDS0VSX0JVU19PUF9TUEFSUUw7CisrCQlvcC5kLnNwYXJxbC5zcGFy cWwgPSB1cGRhdGVzW2ldOworKwkJZ19hcnJheV9hcHBlbmRfdmFsIChvcHMsIG9wKTsKKyAJfQor IAorIAl0cmFja2VyX2J1c19jb25uZWN0aW9uX3BlcmZvcm1fdXBkYXRlX2FzeW5jIChUUkFDS0VS X0JVU19DT05ORUNUSU9OIChzZWxmKSwKKyAJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb3BzLAorLQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBuX3VwZGF0ZXMsCisgCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNhbmNlbGxhYmxlLAorIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjYWxsYmFjaywKKyAJICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdXNlcl9kYXRhKTsKKy0JZ19mcmVlIChvcHMpOworKwlnX2FycmF5 X3VucmVmIChvcHMpOworIH0KKyAKKyBzdGF0aWMgZ2Jvb2xlYW4KK0BAIC0xMDYzLDYgKzExODIs NyBAQCB0cmFja2VyX2J1c19jb25uZWN0aW9uX3VwZGF0ZV9ibGFua19hc3luYyAoVHJhY2tlclNw YXJxbENvbm5lY3Rpb24gKnNlbGYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdBc3luY1JlYWR5Q2FsbGJhY2sgICAgICBjYWxsYmFjaywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgICAgICAgICAg IHVzZXJfZGF0YSkKKyB7CisrCVVwZGF0ZVRhc2tEYXRhICpkYXRhOworIAlHVW5peEZETGlzdCAq ZmRfbGlzdDsKKyAJR091dHB1dFN0cmVhbSAqb3N0cmVhbTsKKyAJR0Vycm9yICplcnJvciA9IE5V TEw7CitAQCAtMTA3MSw2ICsxMTkxLDkgQEAgdHJhY2tlcl9idXNfY29ubmVjdGlvbl91cGRhdGVf YmxhbmtfYXN5bmMgKFRyYWNrZXJTcGFycWxDb25uZWN0aW9uICpzZWxmLAorIAorIAl0YXNrID0g Z190YXNrX25ldyAoc2VsZiwgY2FuY2VsbGFibGUsIGNhbGxiYWNrLCB1c2VyX2RhdGEpOworIAor KwlkYXRhID0gZ19uZXcwIChVcGRhdGVUYXNrRGF0YSwgMSk7CisrCWdfdGFza19zZXRfdGFza19k YXRhICh0YXNrLCBkYXRhLCB1cGRhdGVfdGFza19kYXRhX2ZyZWUpOworKworIAlpZiAoIWNyZWF0 ZV9waXBlX2Zvcl93cml0ZSAoJm9zdHJlYW0sICZmZF9saXN0LCAmZmRfaWR4LCAmZXJyb3IpKSB7 CisgCQlnX3Rhc2tfcmV0dXJuX2Vycm9yICh0YXNrLCBlcnJvcik7CisgCQlnX29iamVjdF91bnJl ZiAodGFzayk7CitAQCAtMTA3OCwxNCArMTIwMSwxNiBAQCB0cmFja2VyX2J1c19jb25uZWN0aW9u X3VwZGF0ZV9ibGFua19hc3luYyAoVHJhY2tlclNwYXJxbENvbm5lY3Rpb24gKnNlbGYsCisgCX0K KyAKKyAJcGVyZm9ybV91cGRhdGVfYXN5bmMgKFRSQUNLRVJfQlVTX0NPTk5FQ1RJT04gKHNlbGYp LAorLQkJCSAgICAgICJVcGRhdGVCbGFuayIsCistCQkJICAgICAgZmRfbGlzdCwgZmRfaWR4LAor LQkJCSAgICAgIGNhbmNlbGxhYmxlLAorLQkJCSAgICAgIHVwZGF0ZV9jYiwKKy0JCQkgICAgICB0 YXNrKTsKKy0KKy0Jd3JpdGVfc3BhcnFsX3F1ZXJ5IChvc3RyZWFtLCBzcGFycWwsIE5VTEwpOwor LQlnX291dHB1dF9zdHJlYW1fY2xvc2UgKG9zdHJlYW0sIE5VTEwsIE5VTEwpOworKwkgICAgICAg ICAgICAgICAgICAgICAgIlVwZGF0ZUJsYW5rIiwKKysJICAgICAgICAgICAgICAgICAgICAgIGZk X2xpc3QsIGZkX2lkeCwKKysJICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbGxhYmxlLAorKwkg ICAgICAgICAgICAgICAgICAgICAgdXBkYXRlX2NiLAorKwkgICAgICAgICAgICAgICAgICAgICAg dGFzayk7CisrCisrCXdyaXRlX3NwYXJxbF9xdWVyeV9hc3luYyAob3N0cmVhbSwgc3BhcnFsLAor KwkgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbGxhYmxlLCB3cml0ZV9xdWVyeV9jYiwK KysJICAgICAgICAgICAgICAgICAgICAgICAgICB0YXNrKTsKKysKKyAJZ19vYmplY3RfdW5yZWYg KG9zdHJlYW0pOworIAlnX29iamVjdF91bnJlZiAoZmRfbGlzdCk7CisgfQorQEAgLTEzMjYsOSAr MTQ1MSw5IEBAIGNoZWNrX2ZpbmlzaF9kZXNlcmlhbGl6ZSAoR1Rhc2sgKnRhc2spCisgCisgCWlm IChkYXRhLT5kYnVzLmVycm9yKSB7CisgCQlnX2RidXNfZXJyb3Jfc3RyaXBfcmVtb3RlX2Vycm9y IChkYXRhLT5kYnVzLmVycm9yKTsKKy0JCWdfdGFza19yZXR1cm5fZXJyb3IgKHRhc2ssIGRhdGEt PmRidXMuZXJyb3IpOworKwkJZ190YXNrX3JldHVybl9lcnJvciAodGFzaywgZ19zdGVhbF9wb2lu dGVyICgmZGF0YS0+ZGJ1cy5lcnJvcikpOworIAl9IGVsc2UgaWYgKGRhdGEtPnNwbGljZS5lcnJv cikgeworLQkJZ190YXNrX3JldHVybl9lcnJvciAodGFzaywgZGF0YS0+c3BsaWNlLmVycm9yKTsK KysJCWdfdGFza19yZXR1cm5fZXJyb3IgKHRhc2ssIGdfc3RlYWxfcG9pbnRlciAoJmRhdGEtPnNw bGljZS5lcnJvcikpOworIAl9IGVsc2UgeworIAkJZ190YXNrX3JldHVybl9ib29sZWFuICh0YXNr LCBUUlVFKTsKKyAJfQorQEAgLTE4MDAsMTQgKzE5MjUsMjkgQEAgdHJhY2tlcl9idXNfY29ubmVj dGlvbl9wZXJmb3JtX3NlcmlhbGl6ZV9maW5pc2ggKFRyYWNrZXJCdXNDb25uZWN0aW9uICAqY29u biwKKyAJcmV0dXJuIGdfdGFza19wcm9wYWdhdGVfcG9pbnRlciAoR19UQVNLIChyZXMpLCBlcnJv cik7CisgfQorIAorK3N0YXRpYyB2b2lkCisrd3JpdGVfcXVlcmllc19jYiAoR09iamVjdCAgICAg ICpvYmplY3QsCisrICAgICAgICAgICAgICAgICAgR0FzeW5jUmVzdWx0ICpyZXMsCisrICAgICAg ICAgICAgICAgICAgZ3BvaW50ZXIgICAgICB1c2VyX2RhdGEpCisreworKwlHVGFzayAqdGFzayA9 IHVzZXJfZGF0YTsKKysJVXBkYXRlVGFza0RhdGEgKmRhdGE7CisrCisrCWRhdGEgPSBnX3Rhc2tf Z2V0X3Rhc2tfZGF0YSAodGFzayk7CisrCXdyaXRlX3NwYXJxbF9xdWVyaWVzX2ZpbmlzaCAoR19P VVRQVVRfU1RSRUFNIChvYmplY3QpLAorKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl cywgJmRhdGEtPndyaXRlLmVycm9yKTsKKysJZGF0YS0+d3JpdGUuZmluaXNoZWQgPSBUUlVFOwor KwljaGVja19maW5pc2hfdXBkYXRlICh0YXNrKTsKKyt9CisrCisgdm9pZAorIHRyYWNrZXJfYnVz X2Nvbm5lY3Rpb25fcGVyZm9ybV91cGRhdGVfYXN5bmMgKFRyYWNrZXJCdXNDb25uZWN0aW9uICAq c2VsZiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFj a2VyQnVzT3AgICAgICAgICAgKm9wcywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBndWludCAgICAgICAgICAgICAgICAgIG5fb3BzLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdBcnJheSAgICAgICAgICAgICAgICAq b3BzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDYW5j ZWxsYWJsZSAgICAgICAgICAqY2FuY2VsbGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR0FzeW5jUmVhZHlDYWxsYmFjayAgICBjYWxsYmFjaywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRlciAgICAg ICAgICAgICAgIHVzZXJfZGF0YSkKKyB7CisrCVVwZGF0ZVRhc2tEYXRhICpkYXRhOworIAlHVW5p eEZETGlzdCAqZmRfbGlzdDsKKyAJR091dHB1dFN0cmVhbSAqb3N0cmVhbTsKKyAJR0Vycm9yICpl cnJvciA9IE5VTEw7CitAQCAtMTgxNiwxMiArMTk1NiwxNSBAQCB0cmFja2VyX2J1c19jb25uZWN0 aW9uX3BlcmZvcm1fdXBkYXRlX2FzeW5jIChUcmFja2VyQnVzQ29ubmVjdGlvbiAgKnNlbGYsCisg CisgCXRhc2sgPSBnX3Rhc2tfbmV3IChzZWxmLCBjYW5jZWxsYWJsZSwgY2FsbGJhY2ssIHVzZXJf ZGF0YSk7CisgCistCWlmIChuX29wcyA9PSAwKSB7CisrCWlmIChvcHMtPmxlbiA9PSAwKSB7Cisg CQlnX3Rhc2tfcmV0dXJuX3BvaW50ZXIgKHRhc2ssIE5VTEwsIE5VTEwpOworIAkJZ19vYmplY3Rf dW5yZWYgKHRhc2spOworIAkJcmV0dXJuOworIAl9CisgCisrCWRhdGEgPSBnX25ldzAgKFVwZGF0 ZVRhc2tEYXRhLCAxKTsKKysJZ190YXNrX3NldF90YXNrX2RhdGEgKHRhc2ssIGRhdGEsIHVwZGF0 ZV90YXNrX2RhdGFfZnJlZSk7CisrCisgCWlmICghY3JlYXRlX3BpcGVfZm9yX3dyaXRlICgmb3N0 cmVhbSwgJmZkX2xpc3QsICZmZF9pZHgsICZlcnJvcikpIHsKKyAJCWdfdGFza19yZXR1cm5fZXJy b3IgKHRhc2ssIGVycm9yKTsKKyAJCWdfb2JqZWN0X3VucmVmICh0YXNrKTsKK0BAIC0xODM1LDgg KzE5NzgsMTAgQEAgdHJhY2tlcl9idXNfY29ubmVjdGlvbl9wZXJmb3JtX3VwZGF0ZV9hc3luYyAo VHJhY2tlckJ1c0Nvbm5lY3Rpb24gICpzZWxmLAorIAkgICAgICAgICAgICAgICAgICAgICAgdXBk YXRlX2NiLAorIAkgICAgICAgICAgICAgICAgICAgICAgdGFzayk7CisgCistCXdyaXRlX3NwYXJx bF9xdWVyaWVzIChvc3RyZWFtLCBvcHMsIG5fb3BzLCBOVUxMKTsKKy0JZ19vdXRwdXRfc3RyZWFt X2Nsb3NlIChvc3RyZWFtLCBOVUxMLCBOVUxMKTsKKysJd3JpdGVfc3BhcnFsX3F1ZXJpZXNfYXN5 bmMgKG9zdHJlYW0sIG9wcywKKysJICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbGxh YmxlLCB3cml0ZV9xdWVyaWVzX2NiLAorKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFz ayk7CisrCisgCWdfb2JqZWN0X3VucmVmIChvc3RyZWFtKTsKKyAJZ19vYmplY3RfdW5yZWYgKGZk X2xpc3QpOworIH0KK2RpZmYgLS1naXQgYS9zcmMvbGlidHJhY2tlci1zcGFycWwvYnVzL3RyYWNr ZXItYnVzLmggYi9zcmMvbGlidHJhY2tlci1zcGFycWwvYnVzL3RyYWNrZXItYnVzLmgKK2luZGV4 IDZmNmUwODRkZTQuLjc1NTI2YjYwZDggMTAwNjQ0CistLS0gYS9zcmMvbGlidHJhY2tlci1zcGFy cWwvYnVzL3RyYWNrZXItYnVzLmgKKysrKyBiL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9idXMvdHJh Y2tlci1idXMuaAorQEAgLTEwMyw4ICsxMDMsNyBAQCBHSW5wdXRTdHJlYW0gKiB0cmFja2VyX2J1 c19jb25uZWN0aW9uX3BlcmZvcm1fc2VyaWFsaXplX2ZpbmlzaCAoVHJhY2tlckJ1c0Nvbm5lYwor IAkJCQkJCQkJR0Vycm9yICAgICAgICAgICAgICAgKiplcnJvcik7CisgCisgdm9pZCB0cmFja2Vy X2J1c19jb25uZWN0aW9uX3BlcmZvcm1fdXBkYXRlX2FzeW5jIChUcmFja2VyQnVzQ29ubmVjdGlv biAgKnNlbGYsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBUcmFja2VyQnVzT3AgICAgICAgICAgKm9wcywKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aW50ICAgICAgICAgICAgICAgICAgbl9vcHMs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQXJy YXkgICAgICAgICAgICAgICAgKm9wcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdDYW5jZWxsYWJsZSAgICAgICAgICAqY2FuY2VsbGFibGUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQXN5bmNS ZWFkeUNhbGxiYWNrICAgIGNhbGxiYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgICAgICAgICB1c2VyX2RhdGEpOwor LS0gCitHaXRMYWIKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy90cmFja2VyL3BhdGNoZXMvc3FsaXRl LTMuNDQucGF0Y2ggYi9zcmNwa2dzL3RyYWNrZXIvcGF0Y2hlcy9zcWxpdGUtMy40NC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTExZjBlNDdjZTdjZDUuLjAwMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvdHJhY2tlci9wYXRjaGVzL3NxbGl0ZS0zLjQ0LnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsNTY2ICswLDAgQEAKLUZyb20gNzkzNjZjNDIyODk0MDNmNGM0MzllZTE2 NjEyYzMyZGNkYmJmOWExNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENhcmxvcyBH YXJuYWNobyA8Y2FybG9zZ0Bnbm9tZS5vcmc+Ci1EYXRlOiBUaHUsIDcgRGVjIDIwMjMgMDk6MzM6 NDQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxLzVdIGxpYnRyYWNrZXItc3BhcnFsOiBEZWNvdXBs ZSBGVFMgaW5pdGlhbGl6YXRpb24gZnJvbQotIG9udG9sb2dpZXMKLQotU2luY2Ugd2UganVzdCBu ZWVkIHRoZSBGVFMgcHJvcGVydGllcyBmb3IgZnRzOm9mZnNldHMgYmVpbmcgY2FsbGVkCi1hdCBy dW50aW1lLCB3ZSBjYW4gcGFzcyB0aGUgVHJhY2tlckRhdGFNYW5hZ2VyICh0aGF0IHdlIGtub3cg ZWFybHkKLWluIHN0YXJ0dXApIGFuZCBsZXQgaXQgZmlndXJlIG91dCB0aGUgRlRTIHByb3BlcnRp ZXMgZnJvbSB0aGVyZQotd2hlbiBpdCdzIGFjdHVhbGx5IG5lZWRlZC4KLQotVGhpcyBpcyBqdXN0 IHRoZSByZWZhY3RvciB0byBtYWtlIHRoYXQgcG9zc2libGUsIHRoZXJlJ3Mgbm8KLWZ1bmN0aW9u YWwgY2hhbmdlcyBpbiB0aGlzIGNvbW1pdC4KLS0tLQotIC4uLi9jb3JlL3RyYWNrZXItZGF0YS1t YW5hZ2VyLmMgICAgICAgICAgICAgICB8IDEzICsrKy0tCi0gLi4uL2NvcmUvdHJhY2tlci1kYi1p bnRlcmZhY2Utc3FsaXRlLmMgICAgICAgIHwgMjkgKysrKysrLS0tLS0KLSAuLi4vY29yZS90cmFj a2VyLWRiLWludGVyZmFjZS1zcWxpdGUuaCAgICAgICAgfCAgNSArLQotIC4uLi9jb3JlL3RyYWNr ZXItZnRzLXRva2VuaXplci5jICAgICAgICAgICAgICB8IDQ4ICsrKysrKysrKysrKysrKysrLS0K LSAuLi4vY29yZS90cmFja2VyLWZ0cy10b2tlbml6ZXIuaCAgICAgICAgICAgICAgfCAgNCArLQot IHNyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZnRzLmMgICAgICB8IDQwIC0tLS0t LS0tLS0tLS0tLS0KLSBzcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWZ0cy5oICAg ICAgfCAgNSAtLQotIDcgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2Vy LWRhdGEtbWFuYWdlci5jIGIvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2NvcmUvdHJhY2tlci1kYXRh LW1hbmFnZXIuYwotaW5kZXggZWYzNDk3YTgzNC4uZjA3OTdkNjQyZCAxMDA2NDQKLS0tLSBhL3Ny Yy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZGF0YS1tYW5hZ2VyLmMKLSsrKyBiL3Ny Yy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZGF0YS1tYW5hZ2VyLmMKLUBAIC0zODYz LDExICszODYzLDE0IEBAIHRyYWNrZXJfZGF0YV9tYW5hZ2VyX2luaXRfZnRzIChUcmFja2VyRGF0 YU1hbmFnZXIgICptYW5hZ2VyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9v bGVhbiAgICAgICAgICAgICBjcmVhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdFcnJvciAgICAgICAgICAgICAqKmVycm9yKQotIHsKLS0JcmV0dXJuIHRyYWNrZXJfZGJfaW50 ZXJmYWNlX3NxbGl0ZV9mdHNfaW5pdCAoaWZhY2UsCi0tCSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRhdGFiYXNlLAotLQkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyLT5vbnRvbG9naWVzLAotLQkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUsCi0tCSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsKLSsJaWYgKCF0cmFja2Vy X2RiX2ludGVyZmFjZV9zcWxpdGVfZnRzX2luaXQgKGlmYWNlLCBtYW5hZ2VyLT5mbGFncywgZXJy b3IpKQotKwkJcmV0dXJuIEZBTFNFOwotKwlpZiAoIWNyZWF0ZSkKLSsJCXJldHVybiBUUlVFOwot KwlyZXR1cm4gdHJhY2tlcl9kYl9pbnRlcmZhY2Vfc3FsaXRlX2Z0c19jcmVhdGVfdGFibGUgKGlm YWNlLAotKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGFiYXNlLAotKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1hbmFnZXItPm9udG9sb2dpZXMsCi0rCSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IpOwotIH0KLSAKLSBzdGF0aWMg Z2Jvb2xlYW4KLWRpZmYgLS1naXQgYS9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2Vy LWRiLWludGVyZmFjZS1zcWxpdGUuYyBiL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNr ZXItZGItaW50ZXJmYWNlLXNxbGl0ZS5jCi1pbmRleCBjOWNkZmFmMjlmLi4wMzgxOTdlYzM3IDEw MDY0NAotLS0tIGEvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2NvcmUvdHJhY2tlci1kYi1pbnRlcmZh Y2Utc3FsaXRlLmMKLSsrKyBiL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZGIt aW50ZXJmYWNlLXNxbGl0ZS5jCi1AQCAtMzcsNiArMzcsNyBAQAotICNpbmNsdWRlIDxsaWJ0cmFj a2VyLXNwYXJxbC90cmFja2VyLXByaXZhdGUuaD4KLSAKLSAjaW5jbHVkZSAidHJhY2tlci1mdHMu aCIKLSsjaW5jbHVkZSAidHJhY2tlci1mdHMtdG9rZW5pemVyLmgiCi0gI2luY2x1ZGUgInRyYWNr ZXItY29sbGF0aW9uLmgiCi0gI2luY2x1ZGUgInRyYWNrZXItZGItaW50ZXJmYWNlLXNxbGl0ZS5o IgotICNpbmNsdWRlICJ0cmFja2VyLWRiLW1hbmFnZXIuaCIKLUBAIC0yMDI5LDIwICsyMDMwLDI2 IEBAIGNsb3NlX2RhdGFiYXNlIChUcmFja2VyREJJbnRlcmZhY2UgKmRiX2ludGVyZmFjZSkKLSB9 Ci0gCi0gZ2Jvb2xlYW4KLS10cmFja2VyX2RiX2ludGVyZmFjZV9zcWxpdGVfZnRzX2luaXQgKFRy YWNrZXJEQkludGVyZmFjZSAgKmRiX2ludGVyZmFjZSwKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgKmRhdGFiYXNlLAotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhY2tlck9udG9sb2dpZXMgICAqb250b2xv Z2llcywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAg ICAgICAgICAgIGNyZWF0ZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdFcnJvciAgICAgICAgICAgICAqKmVycm9yKQotK3RyYWNrZXJfZGJfaW50ZXJmYWNlX3NxbGl0 ZV9mdHNfaW5pdCAoVHJhY2tlckRCSW50ZXJmYWNlICAgICAqZGJfaW50ZXJmYWNlLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhY2tlckRCTWFuYWdlckZsYWdzICAg ZnRzX2ZsYWdzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9y ICAgICAgICAgICAgICAgICoqZXJyb3IpCi0gewotLQlHRXJyb3IgKmlubmVyX2Vycm9yID0gTlVM TDsKLSsJcmV0dXJuIHRyYWNrZXJfdG9rZW5pemVyX2luaXRpYWxpemUgKGRiX2ludGVyZmFjZS0+ ZGIsCi0rCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYl9pbnRlcmZhY2Us Ci0rCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdHNfZmxhZ3MsCi0rCSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYl9pbnRlcmZhY2UtPnVzZXJfZGF0 YSwKLSsJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yKTsKLSt9Ci0g Ci0tCWlmICghdHJhY2tlcl9mdHNfaW5pdF9kYiAoZGJfaW50ZXJmYWNlLT5kYiwgZGJfaW50ZXJm YWNlLAotLQkgICAgICAgICAgICAgICAgICAgICAgICAgIGRiX2ludGVyZmFjZS0+ZmxhZ3MsIG9u dG9sb2dpZXMsIGVycm9yKSkKLS0JCXJldHVybiBGQUxTRTsKLStnYm9vbGVhbgotK3RyYWNrZXJf ZGJfaW50ZXJmYWNlX3NxbGl0ZV9mdHNfY3JlYXRlX3RhYmxlIChUcmFja2VyREJJbnRlcmZhY2Ug ICpkYl9pbnRlcmZhY2UsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgKmRhdGFiYXNlLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFja2VyT250b2xvZ2llcyAgICpvbnRvbG9n aWVzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJy b3IgICAgICAgICAgICAgKiplcnJvcikKLSt7Ci0rCUdFcnJvciAqaW5uZXJfZXJyb3IgPSBOVUxM OwotIAotLQlpZiAoY3JlYXRlICYmCi0tCSAgICAhdHJhY2tlcl9mdHNfY3JlYXRlX3RhYmxlIChk Yl9pbnRlcmZhY2UtPmRiLCBkYXRhYmFzZSwgImZ0czUiLAotKwlpZiAoIXRyYWNrZXJfZnRzX2Ny ZWF0ZV90YWJsZSAoZGJfaW50ZXJmYWNlLT5kYiwgZGF0YWJhc2UsICJmdHM1IiwKLSAJICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG9udG9sb2dpZXMsCi0gCSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmaW5uZXJfZXJyb3IpKSB7Ci0gCQlnX3Byb3BhZ2F0ZV9wcmVmaXhlZF9l cnJvciAoZXJyb3IsCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2NvcmUvdHJh Y2tlci1kYi1pbnRlcmZhY2Utc3FsaXRlLmggYi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90 cmFja2VyLWRiLWludGVyZmFjZS1zcWxpdGUuaAotaW5kZXggNjRiMGJlMmE3OC4uY2I3NzllYTNj NyAxMDA2NDQKLS0tLSBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZGItaW50 ZXJmYWNlLXNxbGl0ZS5oCi0rKysgYi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2Vy LWRiLWludGVyZmFjZS1zcWxpdGUuaAotQEAgLTIzLDYgKzIzLDcgQEAKLSAjaW5jbHVkZSAiY29u ZmlnLmgiCi0gCi0gI2luY2x1ZGUgInRyYWNrZXItZGItaW50ZXJmYWNlLmgiCi0rI2luY2x1ZGUg InRyYWNrZXItZGItbWFuYWdlci5oIgotIAotIEdfQkVHSU5fREVDTFMKLSAKLUBAIC00Niw5ICs0 NywxMSBAQCBUcmFja2VyREJJbnRlcmZhY2UgKnRyYWNrZXJfZGJfaW50ZXJmYWNlX3NxbGl0ZV9u ZXcgICAgICAgICAgICAgICAgICAgIChjb25zdCBnYwotIGdpbnQ2NCAgICAgICAgICAgICAgdHJh Y2tlcl9kYl9pbnRlcmZhY2Vfc3FsaXRlX2dldF9sYXN0X2luc2VydF9pZCAgICAgKFRyYWNrZXJE QkludGVyZmFjZSAgICAgICAqaW50ZXJmYWNlKTsKLSB2b2lkICAgICAgICAgICAgICAgIHRyYWNr ZXJfZGJfaW50ZXJmYWNlX3NxbGl0ZV9lbmFibGVfc2hhcmVkX2NhY2hlICAgICh2b2lkKTsKLSBn Ym9vbGVhbiAgICAgICAgICAgIHRyYWNrZXJfZGJfaW50ZXJmYWNlX3NxbGl0ZV9mdHNfaW5pdCAg ICAgICAgICAgICAgIChUcmFja2VyREJJbnRlcmZhY2UgICAgICAgKmludGVyZmFjZSwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUcmFja2VyREJNYW5hZ2VyRmxhZ3MgICAgIGZ0c19mbGFncywKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAgICAqKmVycm9yKTsKLStnYm9vbGVhbiAgICAg ICAgICAgIHRyYWNrZXJfZGJfaW50ZXJmYWNlX3NxbGl0ZV9mdHNfY3JlYXRlX3RhYmxlICAgICAg IChUcmFja2VyREJJbnRlcmZhY2UgICAgICAgKmludGVyZmFjZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBnY2hhciAgICAgICAgICAgICAgKmRhdGFiYXNlLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYWNr ZXJPbnRvbG9naWVzICAgICAgICAqb250b2xvZ2llcywKLS0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVh biAgICAgICAgICAgICAgICAgIGNyZWF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAg ICAgICAgICAgICAqKmVycm9yKTsKLSB2b2lkICAgICAgICAgICAgICAgIHRyYWNrZXJfZGJfaW50 ZXJmYWNlX3NxbGl0ZV9yZXNldF9jb2xsYXRvciAgICAgICAgIChUcmFja2VyREJJbnRlcmZhY2Ug ICAgICAgKmludGVyZmFjZSk7Ci0gZ2Jvb2xlYW4gICAgICAgICAgICB0cmFja2VyX2RiX2ludGVy ZmFjZV9zcWxpdGVfd2FsX2NoZWNrcG9pbnQgICAgICAgICAoVHJhY2tlckRCSW50ZXJmYWNlICAg ICAgICppbnRlcmZhY2UsCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2NvcmUv dHJhY2tlci1mdHMtdG9rZW5pemVyLmMgYi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFj a2VyLWZ0cy10b2tlbml6ZXIuYwotaW5kZXggOWNmNzFiOTlmMC4uMmU2ZGQwNTkxYyAxMDA2NDQK LS0tLSBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZnRzLXRva2VuaXplci5j Ci0rKysgYi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWZ0cy10b2tlbml6ZXIu YwotQEAgLTQ4LDYgKzQ4LDcgQEAgc3RydWN0IFRyYWNrZXJUb2tlbml6ZXIgewotIAotIHN0cnVj dCBUcmFja2VyVG9rZW5pemVyRnVuY3Rpb25EYXRhIHsKLSAJVHJhY2tlckRCSW50ZXJmYWNlICpp bnRlcmZhY2U7Ci0rCVRyYWNrZXJEYXRhTWFuYWdlciAqZGF0YV9tYW5hZ2VyOwotIAlnY2hhciAq KnByb3BlcnR5X25hbWVzOwotIH07Ci0gCi1AQCAtMTY5LDYgKzE3MCwzNyBAQCBvZmZzZXRzX3Rv a2VuaXplcl9mdW5jICh2b2lkICAgICAgICpkYXRhLAotIAlyZXR1cm4gU1FMSVRFX09LOwotIH0K LSAKLStzdGF0aWMgZ2Jvb2xlYW4KLStlbnN1cmVfZnRzX3Byb3BlcnRpZXMgKFRyYWNrZXJUb2tl bml6ZXJGdW5jdGlvbkRhdGEgKmRhdGEpCi0rewotKwlUcmFja2VyT250b2xvZ2llcyAqb250b2xv Z2llczsKLSsJVHJhY2tlclByb3BlcnR5ICoqcHJvcGVydGllczsKLSsJR0FycmF5ICpwcm9wZXJ0 eV9uYW1lczsKLSsJZ3VpbnQgaSwgbGVuOwotKwotKwlpZiAoZGF0YS0+cHJvcGVydHlfbmFtZXMp Ci0rCQlyZXR1cm4gZGF0YS0+cHJvcGVydHlfbmFtZXNbMF0gIT0gTlVMTDsKLSsKLSsJb250b2xv Z2llcyA9IHRyYWNrZXJfZGF0YV9tYW5hZ2VyX2dldF9vbnRvbG9naWVzIChkYXRhLT5kYXRhX21h bmFnZXIpOwotKwotKwlwcm9wZXJ0eV9uYW1lcyA9IGdfYXJyYXlfbmV3IChUUlVFLCBGQUxTRSwg c2l6ZW9mIChnY2hhciAqKSk7Ci0rCXByb3BlcnRpZXMgPSB0cmFja2VyX29udG9sb2dpZXNfZ2V0 X3Byb3BlcnRpZXMgKG9udG9sb2dpZXMsICZsZW4pOwotKwotKwlmb3IgKGkgPSAwOyBpIDwgbGVu OyBpKyspIHsKLSsJCWdjaGFyICpjb2x1bW47Ci0rCi0rCQlpZiAoIXRyYWNrZXJfcHJvcGVydHlf Z2V0X2Z1bGx0ZXh0X2luZGV4ZWQgKHByb3BlcnRpZXNbaV0pKQotKwkJCWNvbnRpbnVlOwotKwot KwkJY29sdW1uID0gZ19zdHJkdXAgKHRyYWNrZXJfcHJvcGVydHlfZ2V0X25hbWUgKHByb3BlcnRp ZXNbaV0pKTsKLSsJCWdfYXJyYXlfYXBwZW5kX3ZhbCAocHJvcGVydHlfbmFtZXMsIGNvbHVtbik7 Ci0rCX0KLSsKLSsJZGF0YS0+cHJvcGVydHlfbmFtZXMgPSAoZ2NoYXIgKiopIGdfYXJyYXlfZnJl ZSAocHJvcGVydHlfbmFtZXMsIEZBTFNFKTsKLSsKLSsJcmV0dXJuIGRhdGEtPnByb3BlcnR5X25h bWVzWzBdICE9IE5VTEw7Ci0rfQotKwotIHN0YXRpYyB2b2lkCi0gdHJhY2tlcl9vZmZzZXRzX2Z1 bmN0aW9uIChjb25zdCBGdHM1RXh0ZW5zaW9uQXBpICAqYXBpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgRnRzNUNvbnRleHQgICAgICAgICAgICAgKmZ0c19jdHgsCi1AQCAtMTg5LDYgKzIy MSwxMiBAQCB0cmFja2VyX29mZnNldHNfZnVuY3Rpb24gKGNvbnN0IEZ0czVFeHRlbnNpb25BcGkg ICphcGksCi0gCX0KLSAKLSAJZGF0YSA9IGFwaS0+eFVzZXJEYXRhIChmdHNfY3R4KTsKLSsKLSsJ aWYgKCFlbnN1cmVfZnRzX3Byb3BlcnRpZXMgKGRhdGEpKSB7Ci0rCQlzcWxpdGUzX3Jlc3VsdF9u dWxsIChjdHgpOwotKwkJcmV0dXJuOwotKwl9Ci0rCi0gCXJjID0gYXBpLT54SW5zdENvdW50IChm dHNfY3R4LCAmbl9oaXRzKTsKLSAKLSAJaWYgKHJjICE9IFNRTElURV9PSykgewotQEAgLTI5Niwx NCArMzM0LDE0IEBAIGVycm9yOgotIH0KLSAKLSBzdGF0aWMgVHJhY2tlclRva2VuaXplckZ1bmN0 aW9uRGF0YSAqCi0tdHJhY2tlcl90b2tlbml6ZXJfZnVuY3Rpb25fZGF0YV9uZXcgKFRyYWNrZXJE QkludGVyZmFjZSAgKmludGVyZmFjZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgZ2NoYXIgICAgICAgICoqcHJvcGVydHlfbmFtZXMpCi0rdHJhY2tlcl90b2tl bml6ZXJfZnVuY3Rpb25fZGF0YV9uZXcgKFRyYWNrZXJEQkludGVyZmFjZSAqaW50ZXJmYWNlLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFja2VyRGF0YU1hbmFnZXIg KmRhdGFfbWFuYWdlcikKLSB7Ci0gCVRyYWNrZXJUb2tlbml6ZXJGdW5jdGlvbkRhdGEgKmRhdGE7 Ci0gCi0gCWRhdGEgPSBnX25ldzAgKFRyYWNrZXJUb2tlbml6ZXJGdW5jdGlvbkRhdGEsIDEpOwot IAlkYXRhLT5pbnRlcmZhY2UgPSBpbnRlcmZhY2U7Ci0tCWRhdGEtPnByb3BlcnR5X25hbWVzID0g Z19zdHJkdXB2ICgoZ2NoYXIgKiopIHByb3BlcnR5X25hbWVzKTsKLSsJZGF0YS0+ZGF0YV9tYW5h Z2VyID0gZGF0YV9tYW5hZ2VyOwotIAotIAlyZXR1cm4gZGF0YTsKLSB9Ci1AQCAtMzE5LDcgKzM1 Nyw3IEBAIGdib29sZWFuCi0gdHJhY2tlcl90b2tlbml6ZXJfaW5pdGlhbGl6ZSAoc3FsaXRlMyAg ICAgICAgICAgICAgICAqZGIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhY2tl ckRCSW50ZXJmYWNlICAgICAqaW50ZXJmYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFRyYWNrZXJEQk1hbmFnZXJGbGFncyAgIGZsYWdzLAotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAqKnByb3BlcnR5X25hbWVzLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFRyYWNrZXJEYXRhTWFuYWdlciAgICAgKmRhdGFfbWFu YWdlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAg ICAgKiplcnJvcikKLSB7Ci0gCVRyYWNrZXJUb2tlbml6ZXJEYXRhICpkYXRhOwotQEAgLTMzOCw3 ICszNzYsNyBAQCB0cmFja2VyX3Rva2VuaXplcl9pbml0aWFsaXplIChzcWxpdGUzICAgICAgICAg ICAgICAgICpkYiwKLSAJICAgICAgICAgICAgICAgICAgICAgICB0cmFja2VyX3Rva2VuaXplcl9k YXRhX2ZyZWUpOwotIAotIAkvKiBPZmZzZXRzICovCi0tCWZ1bmNfZGF0YSA9IHRyYWNrZXJfdG9r ZW5pemVyX2Z1bmN0aW9uX2RhdGFfbmV3IChpbnRlcmZhY2UsIHByb3BlcnR5X25hbWVzKTsKLSsJ ZnVuY19kYXRhID0gdHJhY2tlcl90b2tlbml6ZXJfZnVuY3Rpb25fZGF0YV9uZXcgKGludGVyZmFj ZSwgZGF0YV9tYW5hZ2VyKTsKLSAJYXBpLT54Q3JlYXRlRnVuY3Rpb24gKGFwaSwgInRyYWNrZXJf b2Zmc2V0cyIsIGZ1bmNfZGF0YSwKLSAJICAgICAgICAgICAgICAgICAgICAgICZ0cmFja2VyX29m ZnNldHNfZnVuY3Rpb24sCi0gCSAgICAgICAgICAgICAgICAgICAgICAoR0Rlc3Ryb3lOb3RpZnkp IHRyYWNrZXJfdG9rZW5pemVyX2Z1bmN0aW9uX2RhdGFfZnJlZSk7Ci1kaWZmIC0tZ2l0IGEvc3Jj L2xpYnRyYWNrZXItc3BhcnFsL2NvcmUvdHJhY2tlci1mdHMtdG9rZW5pemVyLmggYi9zcmMvbGli dHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWZ0cy10b2tlbml6ZXIuaAotaW5kZXggNTdiY2E0 NmE1Ni4uNzZlMGJiY2JiOSAxMDA2NDQKLS0tLSBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3Jl L3RyYWNrZXItZnRzLXRva2VuaXplci5oCi0rKysgYi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29y ZS90cmFja2VyLWZ0cy10b2tlbml6ZXIuaAotQEAgLTIyLDcgKzIyLDcgQEAKLSAjaW5jbHVkZSA8 c3FsaXRlMy5oPgotICNpbmNsdWRlIDxnbGliLmg+Ci0gCi0tI2luY2x1ZGUgInRyYWNrZXItZGIt bWFuYWdlci5oIgotKyNpbmNsdWRlICJ0cmFja2VyLWRhdGEtbWFuYWdlci5oIgotIAotICNpZm5k ZWYgX19UUkFDS0VSX0ZUU19UT0tFTklaRVJfSF9fCi0gI2RlZmluZSBfX1RSQUNLRVJfRlRTX1RP S0VOSVpFUl9IX18KLUBAIC0zMCw3ICszMCw3IEBACi0gZ2Jvb2xlYW4gdHJhY2tlcl90b2tlbml6 ZXJfaW5pdGlhbGl6ZSAoc3FsaXRlMyAgICAgICAgICAgICAgICAqZGIsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJhY2tlckRCSW50ZXJmYWNlICAgICAqaW50ZXJm YWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYWNrZXJEQk1h bmFnZXJGbGFncyAgIGZsYWdzLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGdjaGFyICAgICAgICAgICAqKnByb3BlcnR5X25hbWVzLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRyYWNrZXJEYXRhTWFuYWdlciAgICAgKmRhdGFf bWFuYWdlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3Ig ICAgICAgICAgICAgICAgKiplcnJvcik7Ci0gCi0gI2VuZGlmIC8qIF9fVFJBQ0tFUl9GVFNfVE9L RU5JWkVSX0hfXyAqLwotZGlmZiAtLWdpdCBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3Ry YWNrZXItZnRzLmMgYi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWZ0cy5jCi1p bmRleCA5NmVjOWU5ZTc2Li5mNjIyODU1ZWU0IDEwMDY0NAotLS0tIGEvc3JjL2xpYnRyYWNrZXIt c3BhcnFsL2NvcmUvdHJhY2tlci1mdHMuYwotKysrIGIvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2Nv cmUvdHJhY2tlci1mdHMuYwotQEAgLTQzLDQ2ICs0Myw2IEBAIGhhc19mdHNfcHJvcGVydGllcyAo VHJhY2tlck9udG9sb2dpZXMgKm9udG9sb2dpZXMpCi0gCXJldHVybiBGQUxTRTsKLSB9Ci0gCi0t c3RhdGljIGdjaGFyICoqCi0tZ2V0X2Z0c19wcm9wZXJ0aWVzIChUcmFja2VyT250b2xvZ2llcyAq b250b2xvZ2llcykKLS17Ci0tCVRyYWNrZXJQcm9wZXJ0eSAqKnByb3BlcnRpZXM7Ci0tCUdBcnJh eSAqcHJvcGVydHlfbmFtZXM7Ci0tCWd1aW50IGksIGxlbjsKLS0KLS0JcHJvcGVydHlfbmFtZXMg PSBnX2FycmF5X25ldyAoVFJVRSwgRkFMU0UsIHNpemVvZiAoZ2NoYXIgKikpOwotLQlwcm9wZXJ0 aWVzID0gdHJhY2tlcl9vbnRvbG9naWVzX2dldF9wcm9wZXJ0aWVzIChvbnRvbG9naWVzLCAmbGVu KTsKLS0KLS0JZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7Ci0tCQlnY2hhciAqY29sdW1uOwot LQotLQkJaWYgKCF0cmFja2VyX3Byb3BlcnR5X2dldF9mdWxsdGV4dF9pbmRleGVkIChwcm9wZXJ0 aWVzW2ldKSkKLS0JCQljb250aW51ZTsKLS0KLS0JCWNvbHVtbiA9IGdfc3RyZHVwICh0cmFja2Vy X3Byb3BlcnR5X2dldF9uYW1lIChwcm9wZXJ0aWVzW2ldKSk7Ci0tCQlnX2FycmF5X2FwcGVuZF92 YWwgKHByb3BlcnR5X25hbWVzLCBjb2x1bW4pOwotLQl9Ci0tCi0tCXJldHVybiAoZ2NoYXIgKiop IGdfYXJyYXlfZnJlZSAocHJvcGVydHlfbmFtZXMsIEZBTFNFKTsKLS19Ci0tCi0tZ2Jvb2xlYW4K LS10cmFja2VyX2Z0c19pbml0X2RiIChzcWxpdGUzICAgICAgICAgICAgICAgICpkYiwKLS0gICAg ICAgICAgICAgICAgICAgICBUcmFja2VyREJJbnRlcmZhY2UgICAgICppbnRlcmZhY2UsCi0tICAg ICAgICAgICAgICAgICAgICAgVHJhY2tlckRCTWFuYWdlckZsYWdzICAgZmxhZ3MsCi0tICAgICAg ICAgICAgICAgICAgICAgVHJhY2tlck9udG9sb2dpZXMgICAgICAqb250b2xvZ2llcywKLS0gICAg ICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAgKiplcnJvcikKLS17Ci0tCWdj aGFyICoqcHJvcGVydHlfbmFtZXM7Ci0tCWdib29sZWFuIHJldHZhbDsKLS0KLS0JcHJvcGVydHlf bmFtZXMgPSBnZXRfZnRzX3Byb3BlcnRpZXMgKG9udG9sb2dpZXMpOwotLQlyZXR2YWwgPSB0cmFj a2VyX3Rva2VuaXplcl9pbml0aWFsaXplIChkYiwgaW50ZXJmYWNlLCBmbGFncywgKGNvbnN0IGdj aGFyICoqKSBwcm9wZXJ0eV9uYW1lcywgZXJyb3IpOwotLQlnX3N0cmZyZWV2IChwcm9wZXJ0eV9u YW1lcyk7Ci0tCi0tCXJldHVybiByZXR2YWw7Ci0tfQotLQotIGdib29sZWFuCi0gdHJhY2tlcl9m dHNfY3JlYXRlX3RhYmxlIChzcWxpdGUzICAgICAgICAgICAgKmRiLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICpkYXRhYmFzZSwKLWRpZmYgLS1naXQgYS9z cmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWZ0cy5oIGIvc3JjL2xpYnRyYWNrZXIt c3BhcnFsL2NvcmUvdHJhY2tlci1mdHMuaAotaW5kZXggNDM3MGQzZjY2Ny4uY2YzZTFkOWNiZCAx MDA2NDQKLS0tLSBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZnRzLmgKLSsr KyBiL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZnRzLmgKLUBAIC0zMCwxMSAr MzAsNiBAQAotIAotIEdfQkVHSU5fREVDTFMKLSAKLS1nYm9vbGVhbiAgICB0cmFja2VyX2Z0c19p bml0X2RiICAgICAgICAgIChzcWxpdGUzICAgICAgICAgICAgICAgICpkYiwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcmFja2VyREJJbnRlcmZhY2UgICAgICpp bnRlcmZhY2UsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJh Y2tlckRCTWFuYWdlckZsYWdzICAgZmxhZ3MsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVHJhY2tlck9udG9sb2dpZXMgICAgICAqb250b2xvZ2llcywKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAg ICAgKiplcnJvcik7Ci0gZ2Jvb2xlYW4gICAgdHJhY2tlcl9mdHNfY3JlYXRlX3RhYmxlICAgICAo c3FsaXRlMyAgICAgICAgICAgICpkYiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBnY2hhciAgICAgICAgKmRhdGFiYXNlLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdjaGFyICAgICAgICAgICAgICAqdGFibGVfbmFt ZSwKLS0tIAotR2l0TGFiCi0KLQotRnJvbSA5ZTUzNzczYTA1NmY4NGU1MDQyZGVjNTZkYjE4Y2Q0 MDljOTZmNDFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2FybG9zIEdhcm5hY2hv IDxjYXJsb3NnQGdub21lLm9yZz4KLURhdGU6IFRodSwgNyBEZWMgMjAyMyAxMDoxNjoxNiArMDEw MAotU3ViamVjdDogW1BBVENIIDIvNV0gbGlidHJhY2tlci1zcGFycWw6IE1vdmUgRlRTIGluaXRp YWxpemF0aW9uIHRvIGFuIGVhcmxpZXIKLSBzdGFnZQotCi1XaXRoIFNRTGl0ZSA+PSAzLjQ0Lngs IHRoZSBjaGVja19pbnRlZ3JpdHkgcHJhZ21hIG1heSBpbnZvbHZlIGV4aXN0aW5nCi12aXJ0dWFs IHRhYmxlcyBhbmQgdGhlaXIgeEludGVncml0eSB2bWV0aG9kLiBUaGlzIGluY2x1ZGVzIEZUUzUg dGFibGVzLAotc28gd2UgbmVlZCB0byBzZXQgdXAgdGhlIEZUUzUgdG9rZW5pemVyIGF0IGFuIGVh cmxpZXIgc3RhZ2UsIHNvIHRoYXQKLXBvc3NpYmxlIGludGVncml0eSBjaGVja3MgaGFwcGVuaW5n IG9uIHN0YXJ0dXAgaGF2ZSBldmVyeXRoaW5nIHNldCB1cC4KLQotQ2xvc2VzOiBodHRwczovL2dp dGxhYi5nbm9tZS5vcmcvR05PTUUvdHJhY2tlci8tL2lzc3Vlcy80MTgKLS0tLQotIHNyYy9saWJ0 cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZGF0YS1tYW5hZ2VyLmMgfCAyIC0tCi0gc3JjL2xp YnRyYWNrZXItc3BhcnFsL2NvcmUvdHJhY2tlci1kYi1tYW5hZ2VyLmMgICB8IDUgKysrKysKLSAy IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZGF0YS1tYW5hZ2VyLmMg Yi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWRhdGEtbWFuYWdlci5jCi1pbmRl eCBmMDc5N2Q2NDJkLi5kZmY2YjY2NTQyIDEwMDY0NAotLS0tIGEvc3JjL2xpYnRyYWNrZXItc3Bh cnFsL2NvcmUvdHJhY2tlci1kYXRhLW1hbmFnZXIuYwotKysrIGIvc3JjL2xpYnRyYWNrZXItc3Bh cnFsL2NvcmUvdHJhY2tlci1kYXRhLW1hbmFnZXIuYwotQEAgLTM4NjMsOCArMzg2Myw2IEBAIHRy YWNrZXJfZGF0YV9tYW5hZ2VyX2luaXRfZnRzIChUcmFja2VyRGF0YU1hbmFnZXIgICptYW5hZ2Vy LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgICAgICBj cmVhdGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICAg ICAqKmVycm9yKQotIHsKLS0JaWYgKCF0cmFja2VyX2RiX2ludGVyZmFjZV9zcWxpdGVfZnRzX2lu aXQgKGlmYWNlLCBtYW5hZ2VyLT5mbGFncywgZXJyb3IpKQotLQkJcmV0dXJuIEZBTFNFOwotIAlp ZiAoIWNyZWF0ZSkKLSAJCXJldHVybiBUUlVFOwotIAlyZXR1cm4gdHJhY2tlcl9kYl9pbnRlcmZh Y2Vfc3FsaXRlX2Z0c19jcmVhdGVfdGFibGUgKGlmYWNlLAotZGlmZiAtLWdpdCBhL3NyYy9saWJ0 cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNrZXItZGItbWFuYWdlci5jIGIvc3JjL2xpYnRyYWNrZXIt c3BhcnFsL2NvcmUvdHJhY2tlci1kYi1tYW5hZ2VyLmMKLWluZGV4IDY5NTJhZjA4MmIuLjg0Mjdl ZDcxYjcgMTAwNjQ0Ci0tLS0gYS9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWRi LW1hbmFnZXIuYwotKysrIGIvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2NvcmUvdHJhY2tlci1kYi1t YW5hZ2VyLmMKLUBAIC03ODMsNiArNzgzLDExIEBAIHRyYWNrZXJfZGJfbWFuYWdlcl9jcmVhdGVf ZGJfaW50ZXJmYWNlIChUcmFja2VyREJNYW5hZ2VyICAqZGJfbWFuYWdlciwKLSAJCXJldHVybiBO VUxMOwotIAl9Ci0gCi0rCWlmICghdHJhY2tlcl9kYl9pbnRlcmZhY2Vfc3FsaXRlX2Z0c19pbml0 IChjb25uZWN0aW9uLAotKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGJfbWFuYWdlci0+ZmxhZ3MsCi0rCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBlcnJvcikpCi0rCQlyZXR1cm4gRkFMU0U7Ci0rCi0gCXRyYWNrZXJfZGJfaW50 ZXJmYWNlX3NldF9tYXhfc3RtdF9jYWNoZV9zaXplIChjb25uZWN0aW9uLAotIAkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJBQ0tFUl9EQl9TVEFURU1FTlRf Q0FDSEVfVFlQRV9TRUxFQ1QsCi0gCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkYl9tYW5hZ2VyLT5zX2NhY2hlX3NpemUpOwotLS0gCi1HaXRMYWIKLQotCi1G cm9tIGY5YjI0NmY0MGRjMGYxYjIyOWNjODdjMGUxOTg3ZmQ3Nzc3OWFkN2QgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBDYXJsb3MgR2FybmFjaG8gPGNhcmxvc2dAZ25vbWUub3JnPgot RGF0ZTogVGh1LCA3IERlYyAyMDIzIDEwOjIxOjE4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMy81 XSBsaWJ0cmFja2VyLXNwYXJxbDogQXZvaWQgcmVncmVzc2lvbiBpbiByZW5hbWluZyBGVFM1Ci0g dGFibGVzCi0KLVNRTGl0ZSAzLjQ0LnggaGFzIGEgcmVncmVzc2lvbiB3aXRoIHRoZSByZW5hbWlu ZyBvZiBGVFM1IHRhYmxlcwotd2l0aGluIGEgdHJhbnNhY3Rpb24gKGh0dHBzOi8vc3FsaXRlLm9y Zy9mb3J1bS9mb3J1bXBvc3Q/dWRjPTEmbmFtZT00ZGJmY2QyOTNkKS4KLQotV2hpbGUgdGhpcyBj aGFuZ2UgaGFzIGEgd29ya2Fyb3VuZCBzbWVsbCwgd2UgYWN0dWFsbHkgZG8gbm90IG5lZWQgdGhl Ci10YWJsZXMgdG8gYmUgcmVuYW1lZCwgc2luY2Ugd2UgZHJvcCtjcmVhdGUgdGhlIEZUUzUgdGFi bGVzIGlmIG9udG9sb2d5Ci1jaGFuZ2VzIGFmZmVjdCBGVFMgZmllbGRzLiBUaGUgb3JpZ2luYWwg dGFibGUgaXMgYWxyZWFkeSBlbnN1cmVkIHRvIGJlCi1kcm9wcGVkIHdoZW4gd2UgImFsdGVyIiB0 aGUgRlRTIHRhYmxlLiBBdm9pZGluZyB0aGlzIHJlbmFtZSB3aWxsIHdvcmsKLWZvciBhbGwgU1FM aXRlIHZlcnNpb25zLgotLS0tCi0gc3JjL2xpYnRyYWNrZXItc3BhcnFsL2NvcmUvdHJhY2tlci1m dHMuYyB8IDE5ICsrKystLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRp b25zKCspLCAxNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJ0cmFja2VyLXNw YXJxbC9jb3JlL3RyYWNrZXItZnRzLmMgYi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFj a2VyLWZ0cy5jCi1pbmRleCBmNjIyODU1ZWU0Li4xMTcxZGMxMWE4IDEwMDY0NAotLS0tIGEvc3Jj L2xpYnRyYWNrZXItc3BhcnFsL2NvcmUvdHJhY2tlci1mdHMuYwotKysrIGIvc3JjL2xpYnRyYWNr ZXItc3BhcnFsL2NvcmUvdHJhY2tlci1mdHMuYwotQEAgLTE5MSwyMSArMTkxLDE3IEBAIHRyYWNr ZXJfZnRzX2FsdGVyX3RhYmxlIChzcWxpdGUzICAgICAgICAgICAgKmRiLAotICAgICAgICAgICAg ICAgICAgICAgICAgICBUcmFja2VyT250b2xvZ2llcyAgKm9udG9sb2dpZXMsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgIEdFcnJvciAgICAgICAgICAgICoqZXJyb3IpCi0gewotLQlnY2hhciAq cXVlcnksICp0bXBfbmFtZTsKLSsJZ2NoYXIgKnF1ZXJ5OwotIAlpbnQgcmM7Ci0gCi0gCWlmICgh aGFzX2Z0c19wcm9wZXJ0aWVzIChvbnRvbG9naWVzKSkKLSAJCXJldHVybiBUUlVFOwotIAotLQl0 bXBfbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzX1RNUCIsIHRhYmxlX25hbWUpOwotLQotLQlp ZiAoIXRyYWNrZXJfZnRzX2NyZWF0ZV90YWJsZSAoZGIsIGRhdGFiYXNlLCB0bXBfbmFtZSwgb250 b2xvZ2llcywgZXJyb3IpKSB7Ci0tCQlnX2ZyZWUgKHRtcF9uYW1lKTsKLSsJaWYgKCF0cmFja2Vy X2Z0c19jcmVhdGVfdGFibGUgKGRiLCBkYXRhYmFzZSwgdGFibGVfbmFtZSwgb250b2xvZ2llcywg ZXJyb3IpKQotIAkJcmV0dXJuIEZBTFNFOwotLQl9Ci0gCi0gCXF1ZXJ5ID0gZ19zdHJkdXBfcHJp bnRmICgiSU5TRVJUIElOVE8gXCIlc1wiLiVzIChyb3dpZCkgU0VMRUNUIHJvd2lkIEZST00gZnRz X3ZpZXciLAotLQkJCQkgZGF0YWJhc2UsIHRtcF9uYW1lKTsKLSsJCQkJIGRhdGFiYXNlLCB0YWJs ZV9uYW1lKTsKLSAJcmMgPSBzcWxpdGUzX2V4ZWMgKGRiLCBxdWVyeSwgTlVMTCwgTlVMTCwgTlVM TCk7Ci0gCWdfZnJlZSAocXVlcnkpOwotIAotQEAgLTIxMywyMSArMjA5LDE0IEBAIHRyYWNrZXJf ZnRzX2FsdGVyX3RhYmxlIChzcWxpdGUzICAgICAgICAgICAgKmRiLAotIAkJZ290byBlcnJvcjsK LSAKLSAJcXVlcnkgPSBnX3N0cmR1cF9wcmludGYgKCJJTlNFUlQgSU5UTyBcIiVzXCIuJXMoJXMp IFZBTFVFUygncmVidWlsZCcpIiwKLS0JCQkJIGRhdGFiYXNlLCB0bXBfbmFtZSwgdG1wX25hbWUp OwotKwkJCQkgZGF0YWJhc2UsIHRhYmxlX25hbWUsIHRhYmxlX25hbWUpOwotIAlyYyA9IHNxbGl0 ZTNfZXhlYyAoZGIsIHF1ZXJ5LCBOVUxMLCBOVUxMLCBOVUxMKTsKLSAJZ19mcmVlIChxdWVyeSk7 Ci0gCi0gCWlmIChyYyAhPSBTUUxJVEVfT0spCi0gCQlnb3RvIGVycm9yOwotIAotLQlxdWVyeSA9 IGdfc3RyZHVwX3ByaW50ZiAoIkFMVEVSIFRBQkxFIFwiJXNcIi4lcyBSRU5BTUUgVE8gJXMiLAot LQkJCQkgZGF0YWJhc2UsIHRtcF9uYW1lLCB0YWJsZV9uYW1lKTsKLS0JcmMgPSBzcWxpdGUzX2V4 ZWMgKGRiLCBxdWVyeSwgTlVMTCwgTlVMTCwgTlVMTCk7Ci0tCWdfZnJlZSAocXVlcnkpOwotLQot IGVycm9yOgotLQlnX2ZyZWUgKHRtcF9uYW1lKTsKLS0KLSAJaWYgKHJjICE9IFNRTElURV9PSykg ewotIAkJZ19zZXRfZXJyb3IgKGVycm9yLAotIAkJICAgICAgICAgICAgIFRSQUNLRVJfREJfSU5U RVJGQUNFX0VSUk9SLAotLS0gCi1HaXRMYWIKLQotCi1Gcm9tIGFlYTNiZDNiMDQ4M2RjNzZlOWNk MjBlN2U4YzIwN2ZmNTExMmM3MjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDYXJs b3MgR2FybmFjaG8gPGNhcmxvc2dAZ25vbWUub3JnPgotRGF0ZTogVGh1LCA3IERlYyAyMDIzIDEw OjMzOjUyICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggNC81XSBsaWJ0cmFja2VyLXNwYXJxbDogUmVm YWN0b3IgRlRTIHRhYmxlIGNyZWF0aW9uIGNhbGxzCi0KLVNpbmNlIHdlIHVzZWQgdG8gaW5pdGlh bGl6ZSBGVFMgYW5kIGNyZWF0ZSB0YWJsZXMgaW4gb25lIHNob3QsIHRoZQotZnVuY3Rpb24gaW52 b2x2ZWQgaGFkIGEgImNyZWF0ZSIgYXJndW1lbnQgdG8gc3BlY2lmeSB3aGV0aGVyIHRhYmxlcwot aGFkIHRvIGJlIGNyZWF0ZWQsIG9yIHRoZXkgd2VyZSB0aGVyZSBhbHJlYWR5LgotCi1TaW5jZSBG VFMgaW5pdGlhbGl6YXRpb24gbW92ZWQgZWxzZXdoZXJlLCB0aGlzIGFyZ3VtZW50IGluIHRoaXMg ZnVuY3Rpb24KLWlzIGp1c3QgYW4gZWFybHkgcmV0dXJuLiBXZSBjYW4gYXZvaWQgdGhlIGNhbGxz IGluIHRoZSBmaXJzdCBwbGFjZSB3aGVyZQotdGhhdCBhcmd1bWVudCBpcyBGQUxTRSAoaS5lLiBy ZWd1bGFyIGluaXRpYWxpemF0aW9uIHBhdGhzIG9uIGFuIGFscmVhZHkKLWV4aXN0aW5nIGRhdGFi YXNlKS4KLQotVGhpcyBpcyBhIHJlZmFjdG9yIHdpdGggbm8gZnVuY3Rpb25hbCBjaGFuZ2VzLgot LS0tCi0gLi4uL2NvcmUvdHJhY2tlci1kYXRhLW1hbmFnZXIuYyAgICAgICAgICAgICAgIHwgMjQg KysrKy0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIw IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2xpYnRyYWNrZXItc3BhcnFsL2NvcmUv dHJhY2tlci1kYXRhLW1hbmFnZXIuYyBiL3NyYy9saWJ0cmFja2VyLXNwYXJxbC9jb3JlL3RyYWNr ZXItZGF0YS1tYW5hZ2VyLmMKLWluZGV4IGRmZjZiNjY1NDIuLjk4NDI2ZWI5YjMgMTAwNjQ0Ci0t LS0gYS9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWRhdGEtbWFuYWdlci5jCi0r KysgYi9zcmMvbGlidHJhY2tlci1zcGFycWwvY29yZS90cmFja2VyLWRhdGEtbWFuYWdlci5jCi1A QCAtMzg2MCwxMSArMzg2MCw4IEBAIHN0YXRpYyBnYm9vbGVhbgotIHRyYWNrZXJfZGF0YV9tYW5h Z2VyX2luaXRfZnRzIChUcmFja2VyRGF0YU1hbmFnZXIgICptYW5hZ2VyLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBUcmFja2VyREJJbnRlcmZhY2UgICppZmFjZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICAgICAqZGF0YWJhc2UsCi0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICAgICAgIGNyZWF0 ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAgICAgICoq ZXJyb3IpCi0gewotLQlpZiAoIWNyZWF0ZSkKLS0JCXJldHVybiBUUlVFOwotIAlyZXR1cm4gdHJh Y2tlcl9kYl9pbnRlcmZhY2Vfc3FsaXRlX2Z0c19jcmVhdGVfdGFibGUgKGlmYWNlLAotIAkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFiYXNl LAotIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1hbmFnZXItPm9udG9sb2dpZXMsCi1AQCAtMzk1OSwxOCArMzk1NiwxMSBAQCB0cmFja2VyX2Rh dGFfbWFuYWdlcl9pbml0aWFsaXplX2lmYWNlIChUcmFja2VyRGF0YU1hbmFnZXIgICpkYXRhX21h bmFnZXIsCi0gCQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmFj ZSwgdmFsdWUsIEZBTFNFLAotIAkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZXJyb3IpKQotIAkJCQlnb3RvIGVycm9yOwotLQotLQkJCWlmICghdHJhY2tlcl9kYXRh X21hbmFnZXJfaW5pdF9mdHMgKGRhdGFfbWFuYWdlciwgaWZhY2UsCi0tCQkJICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIEZBTFNFLCBlcnJvcikpCi0tCQkJCWdvdG8g ZXJyb3I7Ci0gCQl9Ci0gCi0gCQlnX2hhc2hfdGFibGVfdW5yZWYgKGdyYXBocyk7Ci0gCX0KLSAK LS0JaWYgKCF0cmFja2VyX2RhdGFfbWFuYWdlcl9pbml0X2Z0cyAoZGF0YV9tYW5hZ2VyLCBpZmFj ZSwgIm1haW4iLCBGQUxTRSwgZXJyb3IpKQotLQkJcmV0dXJuIEZBTFNFOwotLQotIAlyZXR1cm4g VFJVRTsKLSAgZXJyb3I6Ci0gCWdfY2xlYXJfcG9pbnRlciAoJmdyYXBocywgZ19oYXNoX3RhYmxl X3VucmVmKTsKLUBAIC00MzY3LDcgKzQzNTcsNyBAQCB0cmFja2VyX2RhdGFfbWFuYWdlcl9pbml0 YWJsZV9pbml0IChHSW5pdGFibGUgICAgICppbml0YWJsZSwKLSAJCQlnb3RvIHJvbGxiYWNrX25l d2x5X2NyZWF0ZWRfZGI7Ci0gCQl9Ci0gCi0tCQlpZiAoIXRyYWNrZXJfZGF0YV9tYW5hZ2VyX2lu aXRfZnRzIChtYW5hZ2VyLCBpZmFjZSwgIm1haW4iLCBUUlVFLCAmaW50ZXJuYWxfZXJyb3IpKSB7 Ci0rCQlpZiAoIXRyYWNrZXJfZGF0YV9tYW5hZ2VyX2luaXRfZnRzIChtYW5hZ2VyLCBpZmFjZSwg Im1haW4iLCAmaW50ZXJuYWxfZXJyb3IpKSB7Ci0gCQkJZ19wcm9wYWdhdGVfZXJyb3IgKGVycm9y LCBpbnRlcm5hbF9lcnJvcik7Ci0gCQkJZ290byByb2xsYmFja19uZXdseV9jcmVhdGVkX2RiOwot IAkJfQotQEAgLTQ3MTAsMTEgKzQ3MDAsOCBAQCB0cmFja2VyX2RhdGFfbWFuYWdlcl9pbml0YWJs ZV9pbml0IChHSW5pdGFibGUgICAgICppbml0YWJsZSwKLSAJCQkJCQlpZiAob250b2xvZ3lfZXJy b3IpCi0gCQkJCQkJCWJyZWFrOwotIAotLQkJCQkJCWlmICh1cGRhdGVfZnRzKSB7Ci0rCQkJCQkJ aWYgKHVwZGF0ZV9mdHMpCi0gCQkJCQkJCXRyYWNrZXJfZGF0YV9tYW5hZ2VyX3VwZGF0ZV9mdHMg KG1hbmFnZXIsIGlmYWNlLCB2YWx1ZSwgJm9udG9sb2d5X2Vycm9yKTsKLS0JCQkJCQl9IGVsc2Ug ewotLQkJCQkJCQl0cmFja2VyX2RhdGFfbWFuYWdlcl9pbml0X2Z0cyAobWFuYWdlciwgaWZhY2Us IHZhbHVlLCBGQUxTRSwgJm9udG9sb2d5X2Vycm9yKTsKLS0JCQkJCQl9Ci0gCi0gCQkJCQkJaWYg KG9udG9sb2d5X2Vycm9yKQotIAkJCQkJCQlicmVhazsKLUBAIC00NzI0LDExICs0NzExLDggQEAg dHJhY2tlcl9kYXRhX21hbmFnZXJfaW5pdGFibGVfaW5pdCAoR0luaXRhYmxlICAgICAqaW5pdGFi bGUsCi0gCQkJCX0KLSAKLSAJCQkJaWYgKCFvbnRvbG9neV9lcnJvcikgewotLQkJCQkJaWYgKHVw ZGF0ZV9mdHMpIHsKLSsJCQkJCWlmICh1cGRhdGVfZnRzKQotIAkJCQkJCXRyYWNrZXJfZGF0YV9t YW5hZ2VyX3VwZGF0ZV9mdHMgKG1hbmFnZXIsIGlmYWNlLCAibWFpbiIsICZvbnRvbG9neV9lcnJv cik7Ci0tCQkJCQl9IGVsc2UgewotLQkJCQkJCXRyYWNrZXJfZGF0YV9tYW5hZ2VyX2luaXRfZnRz IChtYW5hZ2VyLCBpZmFjZSwgIm1haW4iLCBGQUxTRSwgJm9udG9sb2d5X2Vycm9yKTsKLS0JCQkJ CX0KLSAJCQkJfQotIAotIAkJCQlpZiAoIW9udG9sb2d5X2Vycm9yKSB7Ci1AQCAtNTA5NCw3ICs1 MDc4LDcgQEAgdHJhY2tlcl9kYXRhX21hbmFnZXJfY3JlYXRlX2dyYXBoIChUcmFja2VyRGF0YU1h bmFnZXIgICptYW5hZ2VyLAotIAkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RkFMU0UsIGVycm9yKSkKLSAJCWdvdG8gZGV0YWNoOwotIAotLQlpZiAoIXRyYWNrZXJfZGF0YV9t YW5hZ2VyX2luaXRfZnRzIChtYW5hZ2VyLCBpZmFjZSwgbmFtZSwgVFJVRSwgZXJyb3IpKQotKwlp ZiAoIXRyYWNrZXJfZGF0YV9tYW5hZ2VyX2luaXRfZnRzIChtYW5hZ2VyLCBpZmFjZSwgbmFtZSwg ZXJyb3IpKQotIAkJZ290byBkZXRhY2g7Ci0gCi0gCWlkID0gdHJhY2tlcl9kYXRhX2Vuc3VyZV9n cmFwaCAobWFuYWdlci0+ZGF0YV91cGRhdGUsIG5hbWUsIGVycm9yKTsKLS0tIAotR2l0TGFiCi0K LQotRnJvbSBjMzRjNDljMmU3ZWM5N2FhYzRhYjBiZDhjYzA4M2MxYjJlYmJkZDdkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQ2FybG9zIEdhcm5hY2hvIDxjYXJsb3NnQGdub21lLm9y Zz4KLURhdGU6IEZyaSwgOCBEZWMgMjAyMyAxNDozNzo1NCArMDEwMAotU3ViamVjdDogW1BBVENI IDUvNV0gbGlidHJhY2tlci1jb21tb246IFRyaWdnZXIgcmVidWlsZCBvZiBGVFMgdGFibGUKLQot U2hvdWxkIHRoZXJlIGJlIGFueSBhY3R1YWwgYnJva2VuIHN0YXRlIGluIHRoZSBGVFMgdGFibGUg YWZ0ZXIKLXRoZSBmYWlsZWQgaW50ZWdyaXR5IGNoZWNrLCB0aGlzIHdpbGwgdGFrZSBjYXJlIG9m IGl0LgotLS0tCi0gc3JjL2xpYnRyYWNrZXItY29tbW9uL3RyYWNrZXItcGFyc2VyLmggfCAyICst Ci0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYg LS1naXQgYS9zcmMvbGlidHJhY2tlci1jb21tb24vdHJhY2tlci1wYXJzZXIuaCBiL3NyYy9saWJ0 cmFja2VyLWNvbW1vbi90cmFja2VyLXBhcnNlci5oCi1pbmRleCA5YzQwZmFiMmQ3Li42YTQ1Mzdh NDhmIDEwMDY0NAotLS0tIGEvc3JjL2xpYnRyYWNrZXItY29tbW9uL3RyYWNrZXItcGFyc2VyLmgK LSsrKyBiL3NyYy9saWJ0cmFja2VyLWNvbW1vbi90cmFja2VyLXBhcnNlci5oCi1AQCAtMzAsNyAr MzAsNyBAQAotICAqIGF0IHJ1bnRpbWUsIHRoZSBmb3JtZXIgbXVzdCBiZSByZWJ1aWx0IGZvciB0 aG9zZSB0byBtYXRjaCBwZXJmZWN0bHkKLSAgKiB0byBhdm9pZCByZXR1cm5pbmcgbWVhbmluZ2xl c3MgcmVzdWx0cyBvbiBGVFMgc2VhcmNoZXMuCi0gICovCi0tI2RlZmluZSBUUkFDS0VSX1BBUlNF Ul9WRVJTSU9OIDUKLSsjZGVmaW5lIFRSQUNLRVJfUEFSU0VSX1ZFUlNJT04gNgotIAotIEdfQkVH SU5fREVDTFMKLSAKLS0tIAotR2l0TGFiCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RyYWNrZXIvdGVt cGxhdGUgYi9zcmNwa2dzL3RyYWNrZXIvdGVtcGxhdGUKaW5kZXggNjhiM2I2MmVjNzFlZWMuLjVl YzU0YTcyYjIxZGNmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3RyYWNrZXIvdGVtcGxhdGUKKysrIGIv c3JjcGtncy90cmFja2VyL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAndHJhY2tlcicKIHBrZ25hbWU9dHJhY2tlcgotdmVyc2lvbj0zLjYuMAotcmV2aXNpb249 MgordmVyc2lvbj0zLjcuMAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9bWVzb24KIGJ1aWxkX2hl bHBlcj0iZ2lyIHFlbXUiCiBjb25maWd1cmVfYXJncz0iLURkb2NzPWZhbHNlIC1EbWFuPXRydWUg LURzdGVtbWVyPWRpc2FibGVkCkBAIC0xNyw3ICsxNyw3IEBAIGxpY2Vuc2U9IkdQTC0yLjAtb3It bGF0ZXIsIExHUEwtMi4xLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vd2lraS5nbm9tZS5v cmcvUHJvamVjdHMvVHJhY2tlciIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9naXRsYWIuZ25vbWUub3Jn L0dOT01FL3RyYWNrZXIvLS9yYXcvbWFzdGVyL05FV1MiCiBkaXN0ZmlsZXM9IiR7R05PTUVfU0lU RX0vdHJhY2tlci8ke3ZlcnNpb24lLip9L3RyYWNrZXItJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVj a3N1bT01MjU5MmNmZTE5YmFmZmQxNmRiZTQ3NDc1YmU3ZGE3NTBkYmQwYjYzMzNmZDdhY2I2MGZh YTlkYTViYzQwZGYyCitjaGVja3N1bT00NmI4YzE2ZmYyODlkOTUwN2JhYTExMmM3MTc4NDVhMjAw ZmUzZDFmZmNjMjMyNDU2MmUwMmM0MGRiOWExNTFkCiBtYWtlX2NoZWNrX3ByZT0iZGJ1cy1ydW4t c2Vzc2lvbiIKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCgpGcm9tIDlkZmVjM2E2MjVh M2RkMDdhMjdjOTNmMDQxMjlhM2Q3MzQyOGZmOWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IG9yZW82MzkgPG9yZW82MzkxQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAyMiBNYXIgMjAyNCAy MjozMTozNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMi8yXSB0cmFja2VyLW1pbmVyczogdXBkYXRl IHRvIDMuNy4wLgoKLS0tCiAuLi4vcGF0Y2hlcy9maXgtbXVzbC1idWlsZC10Z2tpbGwucGF0Y2gg ICAgICAgfCAxOSArKysrKysrKysrCiAuLi4vcGF0Y2hlcy94bXAtaWdub3JlLWludmFsaWQtZGNz b3VyY2UucGF0Y2ggfCAzNSArKysrKysrKysrKysrKysrKysrCiBzcmNwa2dzL3RyYWNrZXItbWlu ZXJzL3RlbXBsYXRlICAgICAgICAgICAgICAgfCAgNyArKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDU4 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtn cy90cmFja2VyLW1pbmVycy9wYXRjaGVzL2ZpeC1tdXNsLWJ1aWxkLXRna2lsbC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdHJhY2tlci1taW5lcnMvcGF0Y2hlcy94bXAtaWdub3Jl LWludmFsaWQtZGNzb3VyY2UucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3RyYWNrZXItbWlu ZXJzL3BhdGNoZXMvZml4LW11c2wtYnVpbGQtdGdraWxsLnBhdGNoIGIvc3JjcGtncy90cmFja2Vy LW1pbmVycy9wYXRjaGVzL2ZpeC1tdXNsLWJ1aWxkLXRna2lsbC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMC4uZDM2NzIyYzBlZjgxZDEKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3RyYWNrZXItbWluZXJzL3BhdGNoZXMvZml4LW11c2wtYnVpbGQtdGdr aWxsLnBhdGNoCkBAIC0wLDAgKzEsMTkgQEAKK0ZpeCBidWlsZCBvbiBtdXNsLCB3aGljaCBkb2Vz bid0IHByb3ZpZGUgYSB0Z2tpbGwgZnVuY3Rpb24gZHVlIHRvIGNvbmNlcm5zIG9mIGl0IGJlaW5n IG1pc3VzZWQuCisoZS5nLiBvdXRzaWRlIG9mIHNpZ25hbCBoYW5kbGVycykKKworaHR0cHM6Ly93 d3cub3BlbndhbGwuY29tL2xpc3RzL211c2wvMjAxOS8wOC8wMi8xCisKKy0tLSBhL3NyYy9saWJ0 cmFja2VyLW1pbmVycy1jb21tb24vdHJhY2tlci1zZWNjb21wLmMKKysrKyBiL3NyYy9saWJ0cmFj a2VyLW1pbmVycy1jb21tb24vdHJhY2tlci1zZWNjb21wLmMKK0BAIC04MCw2ICs4MSwxMSBAQAor IAkJZ290byBvdXQ7IFwKKyB9IEdfU1RNVF9FTkQKKyAKKysKKysjaWYgIWRlZmluZWQoX19HTElC Q19fKQorKyNkZWZpbmUgdGdraWxsKHBpZCwgdGlkLCBzaWcpIHN5c2NhbGwoU1lTX3Rna2lsbCwg cGlkLCB0aWQsIHNpZyk7CisrI2VuZGlmCisrCisgc3RhdGljIHZvaWQKKyBzaWdzeXNfaGFuZGxl ciAoZ2ludCAgICAgICBzaWduYWwsCisgICAgICAgICAgICAgICAgIHNpZ2luZm9fdCAqaW5mbywK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdHJhY2tlci1taW5lcnMvcGF0Y2hlcy94bXAtaWdub3JlLWlu dmFsaWQtZGNzb3VyY2UucGF0Y2ggYi9zcmNwa2dzL3RyYWNrZXItbWluZXJzL3BhdGNoZXMveG1w LWlnbm9yZS1pbnZhbGlkLWRjc291cmNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMDAwLi5hNWVhNzQxMjZjYWNjNgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvdHJhY2tlci1taW5lcnMvcGF0Y2hlcy94bXAtaWdub3JlLWludmFsaWQtZGNzb3VyY2UucGF0 Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSAyN2I4YTgzYzk0ZWE2YjNkNWVmYWI3OGI3MWUwNTBm MzJmMmRlOTI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQ2FybG9zIEdhcm5hY2hv IDxjYXJsb3NnQGdub21lLm9yZz4KK0RhdGU6IFN1biwgMjQgTWFyIDIwMjQgMDE6MDk6MTMgKzAx MDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIHRyYWNrZXItZXh0cmFjdDogRG8gbm90IGFjY2VwdCBu b24tVVJJIGRjOnNvdXJjZSBpbiBYTVAKKworT3VyIG9udG9sb2d5IHJlcXVpcmVzIHRoaXMgcHJv cGVydHkgdG8gYmUgYSByZGZzOlJlc291cmNlLCB0cnlpbmcKK3RvIGluc2VydCByYW5kb20gc3Ry aW5ncyBhcyBJUklzIHdpbGwgbm90IHdvcmssIHNvIGlnbm9yZSB0aGUgZGM6c291cmNlCitpbiB0 aGF0IGNhc2UuCistLS0KKyBzcmMvbGlidHJhY2tlci1leHRyYWN0L3RyYWNrZXIteG1wLmMgfCA5 ICsrKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJ0cmFja2VyLWV4dHJhY3QvdHJhY2tlci14bXAuYyBi L3NyYy9saWJ0cmFja2VyLWV4dHJhY3QvdHJhY2tlci14bXAuYworaW5kZXggYTBlY2ExNWViLi4x M2MyMWYzY2IgMTAwNjQ0CistLS0gYS9zcmMvbGlidHJhY2tlci1leHRyYWN0L3RyYWNrZXIteG1w LmMKKysrKyBiL3NyYy9saWJ0cmFja2VyLWV4dHJhY3QvdHJhY2tlci14bXAuYworQEAgLTQ4OSw3 ICs0ODksMTQgQEAgaXRlcmF0ZV9zaW1wbGUgKGNvbnN0IGdjaGFyICAgICp1cmksCisgCQl9IGVs c2UgaWYgKCFkYXRhLT5pZGVudGlmaWVyICYmIGdfYXNjaWlfc3RyY2FzZWNtcCAobmFtZSwgImlk ZW50aWZpZXIiKSA9PSAwKSB7CisgCQkJZGF0YS0+aWRlbnRpZmllciA9IGdfc3RyZHVwICh2YWx1 ZSk7CisgCQl9IGVsc2UgaWYgKCFkYXRhLT5zb3VyY2UgJiYgZ19hc2NpaV9zdHJjYXNlY21wIChu YW1lLCAic291cmNlIikgPT0gMCkgeworLQkJCWRhdGEtPnNvdXJjZSA9IGdfc3RyZHVwICh2YWx1 ZSk7CisrCQkJZ2NoYXIgKnVyaV9zY2hlbWU7CisrCisrCQkJdXJpX3NjaGVtZSA9IGdfdXJpX3Bh cnNlX3NjaGVtZSAodmFsdWUpOworKwkJCWlmICh1cmlfc2NoZW1lICE9IE5VTEwpIHsKKysJCQkJ LyogU291cmNlIHNlZW1zIHRvIGJlIGEgZnVsbCBVUkkgKi8KKysJCQkJZGF0YS0+c291cmNlID0g Z19zdHJkdXAgKHZhbHVlKTsKKysJCQkJZ19mcmVlICh1cmlfc2NoZW1lKTsKKysJCQl9CisgCQl9 IGVsc2UgaWYgKCFkYXRhLT5sYW5ndWFnZSAmJiBnX2FzY2lpX3N0cmNhc2VjbXAgKG5hbWUsICJs YW5ndWFnZSIpID09IDApIHsKKyAJCQlkYXRhLT5sYW5ndWFnZSA9IGdfc3RyZHVwICh2YWx1ZSk7 CisgCQl9IGVsc2UgaWYgKCFkYXRhLT5yZWxhdGlvbiAmJiBnX2FzY2lpX3N0cmNhc2VjbXAgKG5h bWUsICJyZWxhdGlvbiIpID09IDApIHsKKy0tIAorR2l0TGFiCisKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvdHJhY2tlci1taW5lcnMvdGVtcGxhdGUgYi9zcmNwa2dzL3RyYWNrZXItbWluZXJzL3RlbXBs YXRlCmluZGV4IDBhZTFjYjBhOTg2YmRkLi4zZWQzNDlmN2M0MTE4ZCAxMDA2NDQKLS0tIGEvc3Jj cGtncy90cmFja2VyLW1pbmVycy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3RyYWNrZXItbWluZXJz L3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndHJhY2tlci1t aW5lcnMnCiBwa2duYW1lPXRyYWNrZXItbWluZXJzCi12ZXJzaW9uPTMuNi4yCit2ZXJzaW9uPTMu Ny4wCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1tZXNvbgogYnVpbGRfaGVscGVyPXFlbXUKQEAg LTEyLDcgKzEyLDggQEAgY29uZmlndXJlX2FyZ3M9Ii1EdHJhY2tlcl9jb3JlPXN5c3RlbSAtRGV4 dHJhY3Q9dHJ1ZQogIC1EdGlmZj1lbmFibGVkIC1EeG1sPWVuYWJsZWQgLUR4bXA9ZW5hYmxlZCAt RHhwcz1lbmFibGVkCiAgLURtaW5lcl9yc3M9ZmFsc2UgLURiYXR0ZXJ5X2RldGVjdGlvbj11cG93 ZXIgLURjaGFyc2V0X2RldGVjdGlvbj1pY3UKICAtRGdlbmVyaWNfbWVkaWFfZXh0cmFjdG9yPWdz dHJlYW1lciAtRGdzdHJlYW1lcl9iYWNrZW5kPWRpc2NvdmVyZXIKLSAtRHN5c3RlbWRfdXNlcl9z ZXJ2aWNlcz1mYWxzZSAtRG5ldHdvcmtfbWFuYWdlcj1lbmFibGVkIgorIC1Ec3lzdGVtZF91c2Vy X3NlcnZpY2VzPWZhbHNlIC1EbmV0d29ya19tYW5hZ2VyPWVuYWJsZWQKKyAtRGxhbmRsb2NrPWRp c2FibGVkIgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGdsaWItZGV2ZWwgaW50bHRvb2wg YXNjaWlkb2MiCiBtYWtlZGVwZW5kcz0idHJhY2tlci1kZXZlbCBmZm1wZWctZGV2ZWwgZGJ1cy1k ZXZlbCBleGVtcGktZGV2ZWwKICBsaWJnbGliLWRldmVsIGxpYmdleGl2Mi1kZXZlbCBnc3RyZWFt ZXIxLWRldmVsIGljdS1kZXZlbCBsaWJjdWUtZGV2ZWwKQEAgLTI3LDcgKzI4LDcgQEAgbGljZW5z ZT0iR1BMLTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3RyYWNrZXIuZ25vbWUub3Jn LyIKIGNoYW5nZWxvZz0iaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL0dOT01FL3RyYWNrZXItbWlu ZXJzLy0vcmF3L21hc3Rlci9ORVdTIgogZGlzdGZpbGVzPSIke0dOT01FX1NJVEV9L3RyYWNrZXIt bWluZXJzLyR7dmVyc2lvbiUuKn0vdHJhY2tlci1taW5lcnMtJHt2ZXJzaW9ufS50YXIueHoiCi1j aGVja3N1bT0wYWQ3MjJmM2Q1MzJjMjFkNzU3Y2Y0ODhmOTQyOTYwNjc5ZWE4ZjQ1NzkyNWVmYTk3 NjU2ZWQ0YzllOWJhNGZmCitjaGVja3N1bT03NGU3OTZjMTYyNTA5NGE4YTIxNzU5OTNjNzkwNzI4 MWU5N2FiNmUwMDI1NzhlODQ2YjhmNGNhNDRlMzZiZjYxCiBtYWtlX2NoZWNrPW5vICMgcmVsaWVz IG9uIHVuc3VwcG9ydGVkIG9wcyBpbiBjaHJvb3QKIAogdHJhY2tlcjMtbWluZXJzX3BhY2thZ2Uo KSB7Cg== --===============6243452877692438612==--