Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mpDZx-0006Cz-Fj for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Nov 2021 17:58:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mpDZw-00035G-DB for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Nov 2021 17:58:08 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mpDZv-000357-K7 for pgsql-hackers@lists.postgresql.org; Mon, 22 Nov 2021 17:58:08 +0000 Received: from smtp-fw-80006.amazon.com ([99.78.197.217]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mpDZs-0002f4-Kn for pgsql-hackers@postgresql.org; Mon, 22 Nov 2021 17:58:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1637603885; x=1669139885; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=9lgve47Be0AkX6UGZixueg0HINBo/uprdhlJK3rRw9o=; b=XCM/4O1nGYOEVuXKlw5hVH+zG8MxWhe4xHPe3LBDYTbeahJkbxLV6AjZ lw8phhiccF8/HpVcIuv5rwpyRTmula4tujIBJrMsnQP/dOHgYBlZF1EpX vRzOQYtaW8alSElo5z4zrsdwvNOViUyWhP4OI7u0N7XTRB6lCCHSxchhP 0=; X-Amazon-filename: v11-0004-Add-documentation-for-archive-modules.patch, v11-0003-Add-test-archive-module.patch, v11-0002-Introduce-archive-modules-infrastructure.patch, v11-0001-Refactor-shell-archive-function-to-its-own-file.patch X-IronPort-AV: E=Sophos;i="5.87,255,1631577600"; d="scan'208,223";a="43397920" Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO email-inbound-relay-pdx-2b-05e8af15.us-west-2.amazon.com) ([10.25.36.214]) by smtp-border-fw-80006.pdx80.corp.amazon.com with ESMTP; 22 Nov 2021 17:58:03 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-pdx-2b-05e8af15.us-west-2.amazon.com (Postfix) with ESMTPS id CCBE9A292F; Mon, 22 Nov 2021 17:58:02 +0000 (UTC) Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13MTAUWB001.ant.amazon.com (10.43.161.207) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Mon, 22 Nov 2021 17:58:02 +0000 Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13D03UWC004.ant.amazon.com (10.43.162.49) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Mon, 22 Nov 2021 17:58:02 +0000 Received: from EX13D03UWC004.ant.amazon.com ([10.43.162.49]) by EX13D03UWC004.ant.amazon.com ([10.43.162.49]) with mapi id 15.00.1497.026; Mon, 22 Nov 2021 17:58:02 +0000 From: "Bossart, Nathan" To: David Steele , Fujii Masao , "pgsql-hackers@postgresql.org" CC: Robert Haas , Michael Paquier , Magnus Hagander , Stephen Frost Subject: Re: archive modules Thread-Topic: archive modules Thread-Index: AQHX3XrO3Zwls5LlTUuqcwyvOTD6MqwPU+cA Date: Mon, 22 Nov 2021 17:58:01 +0000 Message-ID: <0CF39706-6952-49B1-987D-F012CDF5EEC4@amazon.com> References: <668D2428-F73B-475E-87AE-F89D67942270@amazon.com> <53a180a7-bf1b-38c5-7fb4-4088dc022b98@pgmasters.net> <4c01ce36-fbed-104a-ef9c-6046343dc845@pgmasters.net> <316CAF77-A0AC-49AE-A175-1C1ECF6C1981@amazon.com> <71E7A5D1-E418-4516-A21D-BD838BA759CE@amazon.com> In-Reply-To: <71E7A5D1-E418-4516-A21D-BD838BA759CE@amazon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.160.241] Content-Type: multipart/mixed; boundary="_005_0CF39706695249B1987DF012CDF5EEC4amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_005_0CF39706695249B1987DF012CDF5EEC4amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <4596083D642F8449A554BEBFEED07A9F@amazon.com> Content-Transfer-Encoding: base64 T24gMTEvMTkvMjEsIDExOjI0IEFNLCAiQm9zc2FydCwgTmF0aGFuIiA8Ym9zc2FydG5AYW1hem9u LmNvbT4gd3JvdGU6DQo+IEkgd2VudCBhaGVhZCBhbmQgc3BsaXQgdGhlIHBhdGNoIGludG8gNCBz ZXBhcmF0ZSBwYXRjaGVzIGluIGFuIGVmZm9ydA0KPiB0byBlYXNlIHJldmlldy4gIDAwMDEganVz dCByZWZhY3RvcnMgdGhlIHNoZWxsIGFyY2hpdmluZyBsb2dpYyB0byBpdHMNCj4gb3duIGZpbGUu ICAwMDAyIGludHJvZHVjZXMgdGhlIGFyY2hpdmUgbW9kdWxlcyBpbmZyYXN0cnVjdHVyZS4gIDAw MDMNCj4gaW50cm9kdWNlcyB0aGUgYmFzaWNfYXJjaGl2ZSB0ZXN0IG1vZHVsZS4gIEFuZCAwMDA0 IGlzIHRoZSBkb2NzLg0KDQpIZXJlIGlzIGEgcmViYXNlZCBwYXRjaCBzZXQgKDFiMDZkN2IgYnJv a2UgdjEwKS4NCg0KTmF0aGFuDQoNCg== --_005_0CF39706695249B1987DF012CDF5EEC4amazoncom_ Content-Type: application/octet-stream; name="v11-0004-Add-documentation-for-archive-modules.patch" Content-Description: v11-0004-Add-documentation-for-archive-modules.patch Content-Disposition: attachment; filename="v11-0004-Add-documentation-for-archive-modules.patch"; size=27083; creation-date="Mon, 22 Nov 2021 17:58:01 GMT"; modification-date="Mon, 22 Nov 2021 17:58:01 GMT" Content-ID: <6E5C3E691AD5B34793224BB21AEE3377@amazon.com> Content-Transfer-Encoding: base64 RnJvbSBlOWYyNmNhYmVkNDE1YTBhMDZmODIwYmY4M2ZhMDhkMjExMzBhMWI3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogRnJpLCAxOSBOb3YgMjAyMSAwMTowNjowMSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjEx IDQvNF0gQWRkIGRvY3VtZW50YXRpb24gZm9yIGFyY2hpdmUgbW9kdWxlcy4KCi0tLQogZG9jL3Ny Yy9zZ21sL2FyY2hpdmUtbW9kdWxlcy5zZ21sICAgfCAxMjMgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiBkb2Mvc3JjL3NnbWwvYmFja3VwLnNnbWwgICAgICAgICAgICB8ICA4 MyArKysrKysrKysrKysrKystLS0tLS0tLS0KIGRvYy9zcmMvc2dtbC9jb25maWcuc2dtbCAgICAg ICAgICAgIHwgIDM3ICsrKysrKysrLS0tCiBkb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dtbCAgICAg ICAgICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvaGlnaC1hdmFpbGFiaWxpdHkuc2dtbCB8ICAgNiAr LQogZG9jL3NyYy9zZ21sL3Bvc3RncmVzLnNnbWwgICAgICAgICAgfCAgIDEgKwogZG9jL3NyYy9z Z21sL3JlZi9wZ19iYXNlYmFja3VwLnNnbWwgfCAgIDQgKy0KIGRvYy9zcmMvc2dtbC9yZWYvcGdf cmVjZWl2ZXdhbC5zZ21sIHwgICA2ICstCiBkb2Mvc3JjL3NnbWwvd2FsLnNnbWwgICAgICAgICAg ICAgICB8ICAgMiArLQogOSBmaWxlcyBjaGFuZ2VkLCAyMTUgaW5zZXJ0aW9ucygrKSwgNDggZGVs ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL2FyY2hpdmUtbW9kdWxl cy5zZ21sCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2FyY2hpdmUtbW9kdWxlcy5zZ21sIGIv ZG9jL3NyYy9zZ21sL2FyY2hpdmUtbW9kdWxlcy5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAuLmQ1MmFhYWYxZjUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3Nn bWwvYXJjaGl2ZS1tb2R1bGVzLnNnbWwKQEAgLTAsMCArMSwxMjMgQEAKKzwhLS0gZG9jL3NyYy9z Z21sL2FyY2hpdmUtbW9kdWxlcy5zZ21sIC0tPgorCis8Y2hhcHRlciBpZD0iYXJjaGl2ZS1tb2R1 bGVzIj4KKyA8dGl0bGU+QXJjaGl2ZSBNb2R1bGVzPC90aXRsZT4KKyA8aW5kZXh0ZXJtIHpvbmU9 ImFyY2hpdmUtbW9kdWxlcyI+CisgIDxwcmltYXJ5PkFyY2hpdmUgTW9kdWxlczwvcHJpbWFyeT4K KyA8L2luZGV4dGVybT4KKworIDxwYXJhPgorICBQb3N0Z3JlU1FMIHByb3ZpZGVzIGluZnJhc3Ry dWN0dXJlIHRvIGNyZWF0ZSBjdXN0b20gbW9kdWxlcyBmb3IgY29udGludW91cworICBhcmNoaXZp bmcgKHNlZSA8eHJlZiBsaW5rZW5kPSJjb250aW51b3VzLWFyY2hpdmluZyIvPikuICBXaGlsZSBh cmNoaXZpbmcgdmlhCisgIGEgc2hlbGwgY29tbWFuZCAoaS5lLiwgPHhyZWYgbGlua2VuZD0iZ3Vj LWFyY2hpdmUtY29tbWFuZCIvPikgaXMgbXVjaAorICBzaW1wbGVyLCBhIGN1c3RvbSBhcmNoaXZl IG1vZHVsZSB3aWxsIG9mdGVuIGJlIGNvbnNpZGVyYWJseSBtb3JlIHJvYnVzdCBhbmQKKyAgcGVy Zm9ybWFudC4KKyA8L3BhcmE+CisKKyA8cGFyYT4KKyAgV2hlbiBhIGN1c3RvbSA8eHJlZiBsaW5r ZW5kPSJndWMtYXJjaGl2ZS1saWJyYXJ5Ii8+IGlzIGNvbmZpZ3VyZWQsIFBvc3RncmVTUUwKKyAg d2lsbCBzdWJtaXQgY29tcGxldGVkIFdBTCBmaWxlcyB0byB0aGUgbW9kdWxlLCBhbmQgdGhlIHNl cnZlciB3aWxsIGF2b2lkCisgIHJlY3lsaW5nIG9yIHJlbW92aW5nIHRoZXNlIFdBTCBmaWxlcyB1 bnRpbCB0aGUgbW9kdWxlIGluZGljYXRlcyB0aGF0IHRoZSBmaWxlcworICB3ZXJlIHN1Y2Nlc3Nm dWxseSBhcmNoaXZlZC4gIEl0IGlzIHVsdGltYXRlbHkgdXAgdG8gdGhlIG1vZHVsZSB0byBkZWNp ZGUgd2hhdAorICB0byBkbyB3aXRoIGVhY2ggV0FMIGZpbGUsIGJ1dCBtYW55IHJlY29tbWVuZGF0 aW9ucyBhcmUgbGlzdGVkIGF0CisgIDx4cmVmIGxpbmtlbmQ9ImJhY2t1cC1hcmNoaXZpbmctd2Fs Ii8+LgorIDwvcGFyYT4KKworIDxwYXJhPgorICBBcmNoaXZpbmcgbW9kdWxlcyBtdXN0IGF0IGxl YXN0IGNvbnNpc3Qgb2YgYW4gaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24gKHNlZQorICA8eHJlZiBs aW5rZW5kPSJhcmNoaXZlLW1vZHVsZS1pbml0Ii8+KSBhbmQgdGhlIHJlcXVpcmVkIGNhbGxiYWNr cyAoc2VlCisgIDx4cmVmIGxpbmtlbmQ9ImFyY2hpdmUtbW9kdWxlLWNhbGxiYWNrcyIvPikuICBI b3dldmVyLCBhcmNoaXZlIG1vZHVsZXMgYXJlCisgIGFsc28gcGVybWl0dGVkIHRvIGRvIG11Y2gg bW9yZSAoZS5nLiwgZGVjbGFyZSBHVUNzIGFuZCByZWdpc3RlciBiYWNrZ3JvdW5kCisgIHdvcmtl cnMpLgorIDwvcGFyYT4KKworIDxwYXJhPgorICBUaGUgPGZpbGVuYW1lPnNyYy90ZXN0L21vZHVs ZXMvYmFzaWNfYXJjaGl2ZTwvZmlsZW5hbWU+IG1vZHVsZSBjb250YWlucyBhCisgIHdvcmtpbmcg ZXhhbXBsZSwgd2hpY2ggZGVtb25zdHJhdGVzIHNvbWUgdXNlZnVsIHRlY2huaXF1ZXMuCisgPC9w YXJhPgorCisgPHdhcm5pbmc+CisgIDxwYXJhPgorICAgVGhlcmUgYXJlIGNvbnNpZGVyYWJsZSBy b2J1c3RuZXNzIGFuZCBzZWN1cml0eSByaXNrcyBpbiB1c2luZyBhcmNoaXZlIG1vZHVsZXMKKyAg IGJlY2F1c2UsIGJlaW5nIHdyaXR0ZW4gaW4gdGhlIDxsaXRlcmFsPkM8L2xpdGVyYWw+IGxhbmd1 YWdlLCB0aGV5IGhhdmUgYWNjZXNzCisgICB0byBtYW55IHNlcnZlciByZXNvdXJjZXMuICBBZG1p bmlzdHJhdG9ycyB3aXNoaW5nIHRvIGVuYWJsZSBhcmNoaXZlIG1vZHVsZXMKKyAgIHNob3VsZCBl eGVyY2lzZSBleHRyZW1lIGNhdXRpb24uICBPbmx5IGNhcmVmdWxseSBhdWRpdGVkIG1vZHVsZXMg c2hvdWxkIGJlCisgICBsb2FkZWQuCisgIDwvcGFyYT4KKyA8L3dhcm5pbmc+CisKKyA8c2VjdDEg aWQ9ImFyY2hpdmUtbW9kdWxlLWluaXQiPgorICA8dGl0bGU+SW5pdGlhbGl6YXRpb24gRnVuY3Rp b25zPC90aXRsZT4KKyAgPGluZGV4dGVybSB6b25lPSJhcmNoaXZlLW1vZHVsZS1pbml0Ij4KKyAg IDxwcmltYXJ5Pl9QR19hcmNoaXZlX21vZHVsZV9pbml0PC9wcmltYXJ5PgorICA8L2luZGV4dGVy bT4KKyAgPHBhcmE+CisgICBBbiBhcmNoaXZlIGxpYnJhcnkgaXMgbG9hZGVkIGJ5IGR5bmFtaWNh bGx5IGxvYWRpbmcgYSBzaGFyZWQgbGlicmFyeSB3aXRoIHRoZQorICAgPHhyZWYgbGlua2VuZD0i Z3VjLWFyY2hpdmUtbGlicmFyeSIvPidzIG5hbWUgYXMgdGhlIGxpYnJhcnkgYmFzZSBuYW1lLiAg VGhlCisgICBub3JtYWwgbGlicmFyeSBzZWFyY2ggcGF0aCBpcyB1c2VkIHRvIGxvY2F0ZSB0aGUg bGlicmFyeS4gIFRvIHByb3ZpZGUgdGhlCisgICByZXF1aXJlZCBhcmNoaXZlIG1vZHVsZSBjYWxs YmFja3MgYW5kIHRvIGluZGljYXRlIHRoYXQgdGhlIGxpYnJhcnkgaXMKKyAgIGFjdHVhbGx5IGFu IGFyY2hpdmUgbW9kdWxlLCBpdCBuZWVkcyB0byBwcm92aWRlIGEgZnVuY3Rpb24gbmFtZWQKKyAg IDxmdW5jdGlvbj5fUEdfYXJjaGl2ZV9tb2R1bGVfaW5pdDwvZnVuY3Rpb24+LiAgVGhpcyBmdW5j dGlvbiBpcyBwYXNzZWQgYQorICAgc3RydWN0IHRoYXQgbmVlZHMgdG8gYmUgZmlsbGVkIHdpdGgg dGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHBvaW50ZXJzIGZvcgorICAgaW5kaXZpZHVhbCBhY3Rpb25z LgorCis8cHJvZ3JhbWxpc3Rpbmc+Cit0eXBlZGVmIHN0cnVjdCBBcmNoaXZlTW9kdWxlQ2FsbGJh Y2tzCit7CisgICAgQXJjaGl2ZUNoZWNrQ29uZmlndXJlZENCIGNoZWNrX2NvbmZpZ3VyZWRfY2I7 CisgICAgQXJjaGl2ZUZpbGVDQiBhcmNoaXZlX2ZpbGVfY2I7Cit9IEFyY2hpdmVNb2R1bGVDYWxs YmFja3M7Cit0eXBlZGVmIHZvaWQgKCpBcmNoaXZlTW9kdWxlSW5pdCkgKHN0cnVjdCBBcmNoaXZl TW9kdWxlQ2FsbGJhY2tzICpjYik7Cis8L3Byb2dyYW1saXN0aW5nPgorCisgICBCb3RoIGNhbGxi YWNrcyBhcmUgcmVxdWlyZWQuCisgIDwvcGFyYT4KKyA8L3NlY3QxPgorCisgPHNlY3QxIGlkPSJh cmNoaXZlLW1vZHVsZS1jYWxsYmFja3MiPgorICA8dGl0bGU+QXJjaGl2ZSBNb2R1bGUgQ2FsbGJh Y2tzPC90aXRsZT4KKyAgPHBhcmE+CisgICBUaGUgYXJjaGl2ZSBjYWxsYmFja3MgZGVmaW5lIHRo ZSBhY3R1YWwgYXJjaGl2aW5nIGJlaGF2aW9yIG9mIHRoZSBtb2R1bGUuCisgICBUaGUgc2VydmVy IHdpbGwgY2FsbCB0aGVtIGFzIHJlcXVpcmVkIHRvIHByb2Nlc3MgZWFjaCBpbmRpdmlkdWFsIFdB TCBmaWxlLgorICA8L3BhcmE+CisKKyAgPHNlY3QyIGlkPSJhcmNoaXZlLW1vZHVsZS1jaGVjayI+ CisgICA8dGl0bGU+Q2hlY2sgQ2FsbGJhY2s8L3RpdGxlPgorICAgPHBhcmE+CisgICAgVGhlIDxm dW5jdGlvbj5jaGVja19jb25maWd1cmVkX2NiPC9mdW5jdGlvbj4gY2FsbGJhY2sgaXMgY2FsbGVk IHRvIGRldGVybWluZQorICAgIHdoZXRoZXIgdGhlIG1vZHVsZSBpcyBmdWxseSBjb25maWd1cmVk IGFuZCByZWFkeSB0byBhY2NlcHQgV0FMIGZpbGVzLgorCis8cHJvZ3JhbWxpc3Rpbmc+Cit0eXBl ZGVmIGJvb2wgKCpBcmNoaXZlQ2hlY2tDb25maWd1cmVkQ0IpICh2b2lkKTsKKzwvcHJvZ3JhbWxp c3Rpbmc+CisKKyAgICBJZiA8bGl0ZXJhbD50cnVlPC9saXRlcmFsPiBpcyByZXR1cm5lZCwgdGhl IHNlcnZlciB3aWxsIHByb2NlZWQgd2l0aAorICAgIGFyY2hpdmluZyB0aGUgZmlsZSBieSBjYWxs aW5nIHRoZSA8ZnVuY3Rpb24+YXJjaGl2ZV9maWxlX2NiPC9mdW5jdGlvbj4KKyAgICBjYWxsYmFj ay4gIElmIDxsaXRlcmFsPmZhbHNlPC9saXRlcmFsPiBpcyByZXR1cm5lZCwgYXJjaGl2aW5nIHdp bGwgbm90CisgICAgcHJvY2VlZC4gIEluIHRoZSBsYXR0ZXIgY2FzZSwgdGhlIHNlcnZlciB3aWxs IHBlcmlvZGljYWxseSBjYWxsIHRoaXMKKyAgICBmdW5jdGlvbiwgYW5kIGFyY2hpdmluZyB3aWxs IHByb2NlZWQgaWYgaXQgZXZlbnR1YWxseSByZXR1cm5zCisgICAgPGxpdGVyYWw+dHJ1ZTwvbGl0 ZXJhbD4uCisgICA8L3BhcmE+CisgIDwvc2VjdDI+CisKKyAgPHNlY3QyIGlkPSJhcmNoaXZlLW1v ZHVsZS1hcmNoaXZlIj4KKyAgIDx0aXRsZT5BcmNoaXZlIENhbGxiYWNrPC90aXRsZT4KKyAgIDxw YXJhPgorICAgIFRoZSA8ZnVuY3Rpb24+YXJjaGl2ZV9maWxlX2NiPC9mdW5jdGlvbj4gY2FsbGJh Y2sgaXMgY2FsbGVkIHRvIGFyY2hpdmUgYQorICAgIHNpbmdsZSBXQUwgZmlsZS4KKworPHByb2dy YW1saXN0aW5nPgordHlwZWRlZiBib29sICgqQXJjaGl2ZUZpbGVDQikgKGNvbnN0IGNoYXIgKmZp bGUsIGNvbnN0IGNoYXIgKnBhdGgpOworPC9wcm9ncmFtbGlzdGluZz4KKworICAgIElmIDxsaXRl cmFsPnRydWU8L2xpdGVyYWw+IGlzIHJldHVybmVkLCB0aGUgc2VydmVyIHByb2NlZWRzIGFzIGlm IHRoZSBmaWxlCisgICAgd2FzIHN1Y2Nlc3NmdWxseSBhcmNoaXZlZCwgd2hpY2ggbWF5IGluY2x1 ZGUgcmVjeWNsaW5nIG9yIHJlbW92aW5nIHRoZQorICAgIG9yaWdpbmFsIFdBTCBmaWxlLiAgSWYg PGxpdGVyYWw+ZmFsc2U8L2xpdGVyYWw+IGlzIHJldHVybmVkLCB0aGUgc2VydmVyIHdpbGwKKyAg ICBrZWVwIHRoZSBvcmlnaW5hbCBXQUwgZmlsZSBhbmQgcmV0cnkgYXJjaGl2aW5nIGxhdGVyLgor ICAgIDxsaXRlcmFsPmZpbGU8L2xpdGVyYWw+IHdpbGwgY29udGFpbiBqdXN0IHRoZSBmaWxlIG5h bWUgb2YgdGhlIFdBTCBmaWxlIHRvCisgICAgYXJjaGl2ZSwgd2hpbGUgPGxpdGVyYWw+cGF0aDwv bGl0ZXJhbD4gY29udGFpbnMgdGhlIGZ1bGwgcGF0aCBvZiB0aGUgV0FMCisgICAgZmlsZSAoaW5j bHVkaW5nIHRoZSBmaWxlIG5hbWUpLgorICAgPC9wYXJhPgorICA8L3NlY3QyPgorIDwvc2VjdDE+ Cis8L2NoYXB0ZXI+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvYmFja3VwLnNnbWwgYi9kb2Mv c3JjL3NnbWwvYmFja3VwLnNnbWwKaW5kZXggY2JhMzJiNmViMy4uYjQyZjFiM2NhNyAxMDA2NDQK LS0tIGEvZG9jL3NyYy9zZ21sL2JhY2t1cC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9iYWNrdXAu c2dtbApAQCAtNTkzLDIwICs1OTMsMjMgQEAgdGFyIC1jZiBiYWNrdXAudGFyIC91c3IvbG9jYWwv cGdzcWwvZGF0YQogICAgIHByb3ZpZGUgdGhlIGRhdGFiYXNlIGFkbWluaXN0cmF0b3Igd2l0aCBm bGV4aWJpbGl0eSwKICAgICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IHRy aWVzIG5vdCB0byBtYWtlIGFueSBhc3N1bXB0aW9ucyBhYm91dCBob3cKICAgICB0aGUgYXJjaGl2 aW5nIHdpbGwgYmUgZG9uZS4gIEluc3RlYWQsIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9k dWN0bmFtZT4gbGV0cwotICAgIHRoZSBhZG1pbmlzdHJhdG9yIHNwZWNpZnkgYSBzaGVsbCBjb21t YW5kIHRvIGJlIGV4ZWN1dGVkIHRvIGNvcHkgYQotICAgIGNvbXBsZXRlZCBzZWdtZW50IGZpbGUg dG8gd2hlcmV2ZXIgaXQgbmVlZHMgdG8gZ28uICBUaGUgY29tbWFuZCBjb3VsZCBiZQotICAgIGFz IHNpbXBsZSBhcyBhIDxsaXRlcmFsPmNwPC9saXRlcmFsPiwgb3IgaXQgY291bGQgaW52b2tlIGEg Y29tcGxleCBzaGVsbAotICAgIHNjcmlwdCAmbWRhc2g7IGl0J3MgYWxsIHVwIHRvIHlvdS4KKyAg ICB0aGUgYWRtaW5pc3RyYXRvciBzcGVjaWZ5IGFuIGFyY2hpdmUgbGlicmFyeSB0byBiZSBleGVj dXRlZCB0byBjb3B5IGEKKyAgICBjb21wbGV0ZWQgc2VnbWVudCBmaWxlIHRvIHdoZXJldmVyIGl0 IG5lZWRzIHRvIGdvLiAgVGhpcyBjb3VsZCBiZSBhcyBzaW1wbGUKKyAgICBhcyBhIHNoZWxsIGNv bW1hbmQgdGhhdCB1c2VzIDxsaXRlcmFsPmNwPC9saXRlcmFsPiwgb3IgaXQgY291bGQgaW52b2tl IGEKKyAgICBjb21wbGV4IEMgZnVuY3Rpb24gJm1kYXNoOyBpdCdzIGFsbCB1cCB0byB5b3UuCiAg ICA8L3BhcmE+CiAKICAgIDxwYXJhPgogICAgIFRvIGVuYWJsZSBXQUwgYXJjaGl2aW5nLCBzZXQg dGhlIDx4cmVmIGxpbmtlbmQ9Imd1Yy13YWwtbGV2ZWwiLz4KICAgICBjb25maWd1cmF0aW9uIHBh cmFtZXRlciB0byA8bGl0ZXJhbD5yZXBsaWNhPC9saXRlcmFsPiBvciBoaWdoZXIsCiAgICAgPHhy ZWYgbGlua2VuZD0iZ3VjLWFyY2hpdmUtbW9kZSIvPiB0byA8bGl0ZXJhbD5vbjwvbGl0ZXJhbD4s Ci0gICAgYW5kIHNwZWNpZnkgdGhlIHNoZWxsIGNvbW1hbmQgdG8gdXNlIGluIHRoZSA8eHJlZgot ICAgIGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLWNvbW1hbmQiLz4gY29uZmlndXJhdGlvbiBwYXJhbWV0 ZXIuICBJbiBwcmFjdGljZQorICAgIGFuZCBzcGVjaWZ5IHRoZSBsaWJyYXJ5IHRvIHVzZSBpbiB0 aGUgPHhyZWYKKyAgICBsaW5rZW5kPSJndWMtYXJjaGl2ZS1saWJyYXJ5Ii8+IGNvbmZpZ3VyYXRp b24gcGFyYW1ldGVyLiAgSW4gcHJhY3RpY2UKICAgICB0aGVzZSBzZXR0aW5ncyB3aWxsIGFsd2F5 cyBiZSBwbGFjZWQgaW4gdGhlCiAgICAgPGZpbGVuYW1lPnBvc3RncmVzcWwuY29uZjwvZmlsZW5h bWU+IGZpbGUuCisgICAgT25lIHNpbXBsZSB3YXkgdG8gYXJjaGl2ZSBpcyB0byBzZXQgPHZhcm5h bWU+YXJjaGl2ZV9saWJyYXJ5PC92YXJuYW1lPiB0bworICAgIDxsaXRlcmFsPnNoZWxsPC9saXRl cmFsPiBhbmQgdG8gc3BlY2lmeSBhIHNoZWxsIGNvbW1hbmQgaW4KKyAgICA8eHJlZiBsaW5rZW5k PSJndWMtYXJjaGl2ZS1jb21tYW5kIi8+LgogICAgIEluIDx2YXJuYW1lPmFyY2hpdmVfY29tbWFu ZDwvdmFybmFtZT4sCiAgICAgPGxpdGVyYWw+JXA8L2xpdGVyYWw+IGlzIHJlcGxhY2VkIGJ5IHRo ZSBwYXRoIG5hbWUgb2YgdGhlIGZpbGUgdG8KICAgICBhcmNoaXZlLCB3aGlsZSA8bGl0ZXJhbD4l ZjwvbGl0ZXJhbD4gaXMgcmVwbGFjZWQgYnkgb25seSB0aGUgZmlsZSBuYW1lLgpAQCAtNjMxLDcg KzYzNCwxNyBAQCB0ZXN0ICEgLWYgL21udC9zZXJ2ZXIvYXJjaGl2ZWRpci8wMDAwMDAwMTAwMDAw MEE5MDAwMDAwNjUgJmFtcDsmYW1wOyBjcCBwZ193YWwvMAogICAgPC9wYXJhPgogCiAgICA8cGFy YT4KLSAgICBUaGUgYXJjaGl2ZSBjb21tYW5kIHdpbGwgYmUgZXhlY3V0ZWQgdW5kZXIgdGhlIG93 bmVyc2hpcCBvZiB0aGUgc2FtZQorICAgIEFub3RoZXIgd2F5IHRvIGFyY2hpdmUgaXMgdG8gdXNl IGEgY3VzdG9tIGFyY2hpdmUgbW9kdWxlIGFzIHRoZQorICAgIDx2YXJuYW1lPmFyY2hpdmVfbGli cmFyeTwvdmFybmFtZT4uICBTaW5jZSBzdWNoIG1vZHVsZXMgYXJlIHdyaXR0ZW4gaW4KKyAgICA8 bGl0ZXJhbD5DPC9saXRlcmFsPiwgY3JlYXRpbmcgeW91ciBvd24gbWF5IHJlcXVpcmUgY29uc2lk ZXJhYmx5IG1vcmUgZWZmb3J0CisgICAgdGhhbiB3cml0aW5nIGEgc2hlbGwgY29tbWFuZC4gIEhv d2V2ZXIsIGFyY2hpdmUgbW9kdWxlcyBjYW4gYmUgbW9yZQorICAgIHBlcmZvcm1hbnQgdGhhbiBh cmNoaXZpbmcgdmlhIHNoZWxsLCBhbmQgdGhleSB3aWxsIGhhdmUgYWNjZXNzIHRvIG1hbnkKKyAg ICB1c2VmdWwgc2VydmVyIHJlc291cmNlcy4gIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGFy Y2hpdmUgbW9kdWxlcywgc2VlCisgICAgPHhyZWYgbGlua2VuZD0iYXJjaGl2ZS1tb2R1bGVzIi8+ LgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBUaGUgYXJjaGl2ZSBsaWJyYXJ5IHdpbGwg YmUgZXhlY3V0ZWQgdW5kZXIgdGhlIG93bmVyc2hpcCBvZiB0aGUgc2FtZQogICAgIHVzZXIgdGhh dCB0aGUgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBzZXJ2ZXIgaXMgcnVu bmluZyBhcy4gIFNpbmNlCiAgICAgdGhlIHNlcmllcyBvZiBXQUwgZmlsZXMgYmVpbmcgYXJjaGl2 ZWQgY29udGFpbnMgZWZmZWN0aXZlbHkgZXZlcnl0aGluZwogICAgIGluIHlvdXIgZGF0YWJhc2Us IHlvdSB3aWxsIHdhbnQgdG8gYmUgc3VyZSB0aGF0IHRoZSBhcmNoaXZlZCBkYXRhIGlzCkBAIC02 NDAsMjUgKzY1MywzMSBAQCB0ZXN0ICEgLWYgL21udC9zZXJ2ZXIvYXJjaGl2ZWRpci8wMDAwMDAw MTAwMDAwMEE5MDAwMDAwNjUgJmFtcDsmYW1wOyBjcCBwZ193YWwvMAogICAgPC9wYXJhPgogCiAg ICA8cGFyYT4KLSAgICBJdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUgYXJjaGl2ZSBjb21tYW5kIHJl dHVybiB6ZXJvIGV4aXQgc3RhdHVzIGlmIGFuZAotICAgIG9ubHkgaWYgaXQgc3VjY2VlZHMuICBV cG9uIGdldHRpbmcgYSB6ZXJvIHJlc3VsdCwKKyAgICBJdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUg YXJjaGl2ZSBmdW5jdGlvbiByZXR1cm4gPGxpdGVyYWw+dHJ1ZTwvbGl0ZXJhbD4gaWYKKyAgICBh bmQgb25seSBpZiBpdCBzdWNjZWVkcy4gIElmIDxsaXRlcmFsPnRydWU8L2xpdGVyYWw+IGlzIHJl dHVybmVkLAogICAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gd2lsbCBh c3N1bWUgdGhhdCB0aGUgZmlsZSBoYXMgYmVlbgotICAgIHN1Y2Nlc3NmdWxseSBhcmNoaXZlZCwg YW5kIHdpbGwgcmVtb3ZlIG9yIHJlY3ljbGUgaXQuICBIb3dldmVyLCBhIG5vbnplcm8KLSAgICBz dGF0dXMgdGVsbHMgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiB0aGF0IHRo ZSBmaWxlIHdhcyBub3QgYXJjaGl2ZWQ7Ci0gICAgaXQgd2lsbCB0cnkgYWdhaW4gcGVyaW9kaWNh bGx5IHVudGlsIGl0IHN1Y2NlZWRzLgorICAgIHN1Y2Nlc3NmdWxseSBhcmNoaXZlZCwgYW5kIHdp bGwgcmVtb3ZlIG9yIHJlY3ljbGUgaXQuICBIb3dldmVyLCBhIHJldHVybgorICAgIHZhbHVlIG9m IDxsaXRlcmFsPmZhbHNlPC9saXRlcmFsPiB0ZWxscworICAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3Jl U1FMPC9wcm9kdWN0bmFtZT4gdGhhdCB0aGUgZmlsZSB3YXMgbm90IGFyY2hpdmVkOyBpdAorICAg IHdpbGwgdHJ5IGFnYWluIHBlcmlvZGljYWxseSB1bnRpbCBpdCBzdWNjZWVkcy4gIElmIHlvdSBh cmUgYXJjaGl2aW5nIHZpYSBhCisgICAgc2hlbGwgY29tbWFuZCwgdGhlIGFwcHJvcHJpYXRlIHJl dHVybiB2YWx1ZXMgY2FuIGJlIGFjaGlldmVkIGJ5IHJldHVybmluZworICAgIDxsaXRlcmFsPjA8 L2xpdGVyYWw+IGlmIHRoZSBjb21tYW5kIHN1Y2NlZWRzIGFuZCBhIG5vbnplcm8gdmFsdWUgaWYg aXQKKyAgICBmYWlscy4KICAgIDwvcGFyYT4KIAogICAgPHBhcmE+Ci0gICAgV2hlbiB0aGUgYXJj aGl2ZSBjb21tYW5kIGlzIHRlcm1pbmF0ZWQgYnkgYSBzaWduYWwgKG90aGVyIHRoYW4KLSAgICA8 c3lzdGVtaXRlbT5TSUdURVJNPC9zeXN0ZW1pdGVtPiB0aGF0IGlzIHVzZWQgYXMgcGFydCBvZiBh IHNlcnZlcgotICAgIHNodXRkb3duKSBvciBhbiBlcnJvciBieSB0aGUgc2hlbGwgd2l0aCBhbiBl eGl0IHN0YXR1cyBncmVhdGVyIHRoYW4KLSAgICAxMjUgKHN1Y2ggYXMgY29tbWFuZCBub3QgZm91 bmQpLCB0aGUgYXJjaGl2ZXIgcHJvY2VzcyBhYm9ydHMgYW5kIGdldHMKLSAgICByZXN0YXJ0ZWQg YnkgdGhlIHBvc3RtYXN0ZXIuIEluIHN1Y2ggY2FzZXMsIHRoZSBmYWlsdXJlIGlzCi0gICAgbm90 IHJlcG9ydGVkIGluIDx4cmVmIGxpbmtlbmQ9InBnLXN0YXQtYXJjaGl2ZXItdmlldyIvPi4KKyAg ICBJZiB0aGUgYXJjaGl2ZSBmdW5jdGlvbiBlbWl0cyBhbiA8bGl0ZXJhbD5FUlJPUjwvbGl0ZXJh bD4gb3IKKyAgICA8bGl0ZXJhbD5GQVRBTDwvbGl0ZXJhbD4sIHRoZSBhcmNoaXZlciBwcm9jZXNz IGFib3J0cyBhbmQgZ2V0cyByZXN0YXJ0ZWQgYnkKKyAgICB0aGUgcG9zdG1hc3Rlci4gIElmIHlv dSBhcmUgYXJjaGl2aW5nIHZpYSBzaGVsbCBjb21tYW5kLCBGQVRBTCBpcyBlbWl0dGVkIGlmCisg ICAgdGhlIGNvbW1hbmQgaXMgdGVybWluYXRlZCBieSBhIHNpZ25hbCAob3RoZXIgdGhhbgorICAg IDxzeXN0ZW1pdGVtPlNJR1RFUk08L3N5c3RlbWl0ZW0+IHRoYXQgaXMgdXNlZCBhcyBwYXJ0IG9m IGEgc2VydmVyIHNodXRkb3duKQorICAgIG9yIGFuIGVycm9yIGJ5IHRoZSBzaGVsbCB3aXRoIGFu IGV4aXQgc3RhdHVzIGdyZWF0ZXIgdGhhbiAxMjUgKHN1Y2ggYXMKKyAgICBjb21tYW5kIG5vdCBm b3VuZCkuICBJbiBzdWNoIGNhc2VzLCB0aGUgZmFpbHVyZSBpcyBub3QgcmVwb3J0ZWQgaW4KKyAg ICA8eHJlZiBsaW5rZW5kPSJwZy1zdGF0LWFyY2hpdmVyLXZpZXciLz4uCiAgICA8L3BhcmE+CiAK ICAgIDxwYXJhPgotICAgIFRoZSBhcmNoaXZlIGNvbW1hbmQgc2hvdWxkIGdlbmVyYWxseSBiZSBk ZXNpZ25lZCB0byByZWZ1c2UgdG8gb3ZlcndyaXRlCisgICAgVGhlIGFyY2hpdmUgbGlicmFyeSBz aG91bGQgZ2VuZXJhbGx5IGJlIGRlc2lnbmVkIHRvIHJlZnVzZSB0byBvdmVyd3JpdGUKICAgICBh bnkgcHJlLWV4aXN0aW5nIGFyY2hpdmUgZmlsZS4gIFRoaXMgaXMgYW4gaW1wb3J0YW50IHNhZmV0 eSBmZWF0dXJlIHRvCiAgICAgcHJlc2VydmUgdGhlIGludGVncml0eSBvZiB5b3VyIGFyY2hpdmUg aW4gY2FzZSBvZiBhZG1pbmlzdHJhdG9yIGVycm9yCiAgICAgKHN1Y2ggYXMgc2VuZGluZyB0aGUg b3V0cHV0IG9mIHR3byBkaWZmZXJlbnQgc2VydmVycyB0byB0aGUgc2FtZSBhcmNoaXZlCkBAIC02 NjYsOSArNjg1LDkgQEAgdGVzdCAhIC1mIC9tbnQvc2VydmVyL2FyY2hpdmVkaXIvMDAwMDAwMDEw MDAwMDBBOTAwMDAwMDY1ICZhbXA7JmFtcDsgY3AgcGdfd2FsLzAKICAgIDwvcGFyYT4KIAogICAg PHBhcmE+Ci0gICAgSXQgaXMgYWR2aXNhYmxlIHRvIHRlc3QgeW91ciBwcm9wb3NlZCBhcmNoaXZl IGNvbW1hbmQgdG8gZW5zdXJlIHRoYXQgaXQKKyAgICBJdCBpcyBhZHZpc2FibGUgdG8gdGVzdCB5 b3VyIHByb3Bvc2VkIGFyY2hpdmUgbGlicmFyeSB0byBlbnN1cmUgdGhhdCBpdAogICAgIGluZGVl ZCBkb2VzIG5vdCBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgZmlsZSwgPGVtcGhhc2lzPmFuZCB0aGF0 IGl0IHJldHVybnMKLSAgICBub256ZXJvIHN0YXR1cyBpbiB0aGlzIGNhc2U8L2VtcGhhc2lzPi4K KyAgICA8bGl0ZXJhbD5mYWxzZTwvbGl0ZXJhbD4gaW4gdGhpcyBjYXNlPC9lbXBoYXNpcz4uCiAg ICAgVGhlIGV4YW1wbGUgY29tbWFuZCBhYm92ZSBmb3IgVW5peCBlbnN1cmVzIHRoaXMgYnkgaW5j bHVkaW5nIGEgc2VwYXJhdGUKICAgICA8Y29tbWFuZD50ZXN0PC9jb21tYW5kPiBzdGVwLiAgT24g c29tZSBVbml4IHBsYXRmb3JtcywgPGNvbW1hbmQ+Y3A8L2NvbW1hbmQ+IGhhcwogICAgIHN3aXRj aGVzIHN1Y2ggYXMgPG9wdGlvbj4taTwvb3B0aW9uPiB0aGF0IGNhbiBiZSB1c2VkIHRvIGRvIHRo ZSBzYW1lIHRoaW5nCkBAIC02ODAsNyArNjk5LDcgQEAgdGVzdCAhIC1mIC9tbnQvc2VydmVyL2Fy Y2hpdmVkaXIvMDAwMDAwMDEwMDAwMDBBOTAwMDAwMDY1ICZhbXA7JmFtcDsgY3AgcGdfd2FsLzAK IAogICAgPHBhcmE+CiAgICAgV2hpbGUgZGVzaWduaW5nIHlvdXIgYXJjaGl2aW5nIHNldHVwLCBj b25zaWRlciB3aGF0IHdpbGwgaGFwcGVuIGlmCi0gICAgdGhlIGFyY2hpdmUgY29tbWFuZCBmYWls cyByZXBlYXRlZGx5IGJlY2F1c2Ugc29tZSBhc3BlY3QgcmVxdWlyZXMKKyAgICB0aGUgYXJjaGl2 ZSBsaWJyYXJ5IGZhaWxzIHJlcGVhdGVkbHkgYmVjYXVzZSBzb21lIGFzcGVjdCByZXF1aXJlcwog ICAgIG9wZXJhdG9yIGludGVydmVudGlvbiBvciB0aGUgYXJjaGl2ZSBydW5zIG91dCBvZiBzcGFj ZS4gRm9yIGV4YW1wbGUsIHRoaXMKICAgICBjb3VsZCBvY2N1ciBpZiB5b3Ugd3JpdGUgdG8gdGFw ZSB3aXRob3V0IGFuIGF1dG9jaGFuZ2VyOyB3aGVuIHRoZSB0YXBlCiAgICAgZmlsbHMsIG5vdGhp bmcgZnVydGhlciBjYW4gYmUgYXJjaGl2ZWQgdW50aWwgdGhlIHRhcGUgaXMgc3dhcHBlZC4KQEAg LTY5NSw3ICs3MTQsNyBAQCB0ZXN0ICEgLWYgL21udC9zZXJ2ZXIvYXJjaGl2ZWRpci8wMDAwMDAw MTAwMDAwMEE5MDAwMDAwNjUgJmFtcDsmYW1wOyBjcCBwZ193YWwvMAogICAgPC9wYXJhPgogCiAg ICA8cGFyYT4KLSAgICBUaGUgc3BlZWQgb2YgdGhlIGFyY2hpdmluZyBjb21tYW5kIGlzIHVuaW1w b3J0YW50IGFzIGxvbmcgYXMgaXQgY2FuIGtlZXAgdXAKKyAgICBUaGUgc3BlZWQgb2YgdGhlIGFy Y2hpdmUgbGlicmFyeSBpcyB1bmltcG9ydGFudCBhcyBsb25nIGFzIGl0IGNhbiBrZWVwIHVwCiAg ICAgd2l0aCB0aGUgYXZlcmFnZSByYXRlIGF0IHdoaWNoIHlvdXIgc2VydmVyIGdlbmVyYXRlcyBX QUwgZGF0YS4gIE5vcm1hbAogICAgIG9wZXJhdGlvbiBjb250aW51ZXMgZXZlbiBpZiB0aGUgYXJj aGl2aW5nIHByb2Nlc3MgZmFsbHMgYSBsaXR0bGUgYmVoaW5kLgogICAgIElmIGFyY2hpdmluZyBm YWxscyBzaWduaWZpY2FudGx5IGJlaGluZCwgdGhpcyB3aWxsIGluY3JlYXNlIHRoZSBhbW91bnQg b2YKQEAgLTcwNywxMSArNzI2LDExIEBAIHRlc3QgISAtZiAvbW50L3NlcnZlci9hcmNoaXZlZGly LzAwMDAwMDAxMDAwMDAwQTkwMDAwMDA2NSAmYW1wOyZhbXA7IGNwIHBnX3dhbC8wCiAgICA8L3Bh cmE+CiAKICAgIDxwYXJhPgotICAgIEluIHdyaXRpbmcgeW91ciBhcmNoaXZlIGNvbW1hbmQsIHlv dSBzaG91bGQgYXNzdW1lIHRoYXQgdGhlIGZpbGUgbmFtZXMgdG8KKyAgICBJbiB3cml0aW5nIHlv dXIgYXJjaGl2ZSBsaWJyYXJ5LCB5b3Ugc2hvdWxkIGFzc3VtZSB0aGF0IHRoZSBmaWxlIG5hbWVz IHRvCiAgICAgYmUgYXJjaGl2ZWQgY2FuIGJlIHVwIHRvIDY0IGNoYXJhY3RlcnMgbG9uZyBhbmQg Y2FuIGNvbnRhaW4gYW55CiAgICAgY29tYmluYXRpb24gb2YgQVNDSUkgbGV0dGVycywgZGlnaXRz LCBhbmQgZG90cy4gIEl0IGlzIG5vdCBuZWNlc3NhcnkgdG8KLSAgICBwcmVzZXJ2ZSB0aGUgb3Jp Z2luYWwgcmVsYXRpdmUgcGF0aCAoPGxpdGVyYWw+JXA8L2xpdGVyYWw+KSBidXQgaXQgaXMgbmVj ZXNzYXJ5IHRvCi0gICAgcHJlc2VydmUgdGhlIGZpbGUgbmFtZSAoPGxpdGVyYWw+JWY8L2xpdGVy YWw+KS4KKyAgICBwcmVzZXJ2ZSB0aGUgb3JpZ2luYWwgcmVsYXRpdmUgcGF0aCBidXQgaXQgaXMg bmVjZXNzYXJ5IHRvIHByZXNlcnZlIHRoZSBmaWxlCisgICAgbmFtZS4KICAgIDwvcGFyYT4KIAog ICAgPHBhcmE+CkBAIC03MjgsNyArNzQ3LDcgQEAgdGVzdCAhIC1mIC9tbnQvc2VydmVyL2FyY2hp dmVkaXIvMDAwMDAwMDEwMDAwMDBBOTAwMDAwMDY1ICZhbXA7JmFtcDsgY3AgcGdfd2FsLzAKICAg IDwvcGFyYT4KIAogICAgPHBhcmE+Ci0gICAgVGhlIGFyY2hpdmUgY29tbWFuZCBpcyBvbmx5IGlu dm9rZWQgb24gY29tcGxldGVkIFdBTCBzZWdtZW50cy4gIEhlbmNlLAorICAgIFRoZSBhcmNoaXZl IGZ1bmN0aW9uIGlzIG9ubHkgaW52b2tlZCBvbiBjb21wbGV0ZWQgV0FMIHNlZ21lbnRzLiAgSGVu Y2UsCiAgICAgaWYgeW91ciBzZXJ2ZXIgZ2VuZXJhdGVzIG9ubHkgbGl0dGxlIFdBTCB0cmFmZmlj IChvciBoYXMgc2xhY2sgcGVyaW9kcwogICAgIHdoZXJlIGl0IGRvZXMgc28pLCB0aGVyZSBjb3Vs ZCBiZSBhIGxvbmcgZGVsYXkgYmV0d2VlbiB0aGUgY29tcGxldGlvbgogICAgIG9mIGEgdHJhbnNh Y3Rpb24gYW5kIGl0cyBzYWZlIHJlY29yZGluZyBpbiBhcmNoaXZlIHN0b3JhZ2UuICBUbyBwdXQK QEAgLTc1OCw3ICs3NzcsOCBAQCB0ZXN0ICEgLWYgL21udC9zZXJ2ZXIvYXJjaGl2ZWRpci8wMDAw MDAwMTAwMDAwMEE5MDAwMDAwNjUgJmFtcDsmYW1wOyBjcCBwZ193YWwvMAogICAgIGNvbnRhaW4g ZW5vdWdoIGluZm9ybWF0aW9uIGZvciBhcmNoaXZlIHJlY292ZXJ5LiAgKENyYXNoIHJlY292ZXJ5 IGlzCiAgICAgdW5hZmZlY3RlZC4pICBGb3IgdGhpcyByZWFzb24sIDx2YXJuYW1lPndhbF9sZXZl bDwvdmFybmFtZT4gY2FuIG9ubHkgYmUgY2hhbmdlZCBhdAogICAgIHNlcnZlciBzdGFydC4gIEhv d2V2ZXIsIDx2YXJuYW1lPmFyY2hpdmVfY29tbWFuZDwvdmFybmFtZT4gY2FuIGJlIGNoYW5nZWQg d2l0aCBhCi0gICAgY29uZmlndXJhdGlvbiBmaWxlIHJlbG9hZC4gIElmIHlvdSB3aXNoIHRvIHRl bXBvcmFyaWx5IHN0b3AgYXJjaGl2aW5nLAorICAgIGNvbmZpZ3VyYXRpb24gZmlsZSByZWxvYWQu ICBJZiB5b3UgYXJlIGFyY2hpdmluZyB2aWEgc2hlbGwgYW5kIHdpc2ggdG8KKyAgICB0ZW1wb3Jh cmlseSBzdG9wIGFyY2hpdmluZywKICAgICBvbmUgd2F5IHRvIGRvIGl0IGlzIHRvIHNldCA8dmFy bmFtZT5hcmNoaXZlX2NvbW1hbmQ8L3Zhcm5hbWU+IHRvIHRoZSBlbXB0eQogICAgIHN0cmluZyAo PGxpdGVyYWw+Jyc8L2xpdGVyYWw+KS4KICAgICBUaGlzIHdpbGwgY2F1c2UgV0FMIGZpbGVzIHRv IGFjY3VtdWxhdGUgaW4gPGZpbGVuYW1lPnBnX3dhbC88L2ZpbGVuYW1lPiB1bnRpbCBhCkBAIC05 MzgsMTEgKzk1OCwxMSBAQCBTRUxFQ1QgKiBGUk9NIHBnX3N0b3BfYmFja3VwKGZhbHNlLCB0cnVl KTsKICAgICAgT24gYSBzdGFuZGJ5LCA8dmFybmFtZT5hcmNoaXZlX21vZGU8L3Zhcm5hbWU+IG11 c3QgYmUgPGxpdGVyYWw+YWx3YXlzPC9saXRlcmFsPiBpbiBvcmRlcgogICAgICBmb3IgPGZ1bmN0 aW9uPnBnX3N0b3BfYmFja3VwPC9mdW5jdGlvbj4gdG8gd2FpdC4KICAgICAgQXJjaGl2aW5nIG9m IHRoZXNlIGZpbGVzIGhhcHBlbnMgYXV0b21hdGljYWxseSBzaW5jZSB5b3UgaGF2ZQotICAgICBh bHJlYWR5IGNvbmZpZ3VyZWQgPHZhcm5hbWU+YXJjaGl2ZV9jb21tYW5kPC92YXJuYW1lPi4gSW4g bW9zdCBjYXNlcyB0aGlzCisgICAgIGFscmVhZHkgY29uZmlndXJlZCA8dmFybmFtZT5hcmNoaXZl X2xpYnJhcnk8L3Zhcm5hbWU+LiBJbiBtb3N0IGNhc2VzIHRoaXMKICAgICAgaGFwcGVucyBxdWlj a2x5LCBidXQgeW91IGFyZSBhZHZpc2VkIHRvIG1vbml0b3IgeW91ciBhcmNoaXZlCiAgICAgIHN5 c3RlbSB0byBlbnN1cmUgdGhlcmUgYXJlIG5vIGRlbGF5cy4KICAgICAgSWYgdGhlIGFyY2hpdmUg cHJvY2VzcyBoYXMgZmFsbGVuIGJlaGluZAotICAgICBiZWNhdXNlIG9mIGZhaWx1cmVzIG9mIHRo ZSBhcmNoaXZlIGNvbW1hbmQsIGl0IHdpbGwga2VlcCByZXRyeWluZworICAgICBiZWNhdXNlIG9m IGZhaWx1cmVzIG9mIHRoZSBhcmNoaXZlIGxpYnJhcnksIGl0IHdpbGwga2VlcCByZXRyeWluZwog ICAgICB1bnRpbCB0aGUgYXJjaGl2ZSBzdWNjZWVkcyBhbmQgdGhlIGJhY2t1cCBpcyBjb21wbGV0 ZS4KICAgICAgSWYgeW91IHdpc2ggdG8gcGxhY2UgYSB0aW1lIGxpbWl0IG9uIHRoZSBleGVjdXRp b24gb2YKICAgICAgPGZ1bmN0aW9uPnBnX3N0b3BfYmFja3VwPC9mdW5jdGlvbj4sIHNldCBhbiBh cHByb3ByaWF0ZQpAQCAtMTUwMCw5ICsxNTIwLDEwIEBAIHJlc3RvcmVfY29tbWFuZCA9ICdjcCAv bW50L3NlcnZlci9hcmNoaXZlZGlyLyVmICVwJwogICAgICAgVG8gcHJlcGFyZSBmb3IgbG93IGxl dmVsIHN0YW5kYWxvbmUgaG90IGJhY2t1cHMsIG1ha2Ugc3VyZQogICAgICAgPHZhcm5hbWU+d2Fs X2xldmVsPC92YXJuYW1lPiBpcyBzZXQgdG8KICAgICAgIDxsaXRlcmFsPnJlcGxpY2E8L2xpdGVy YWw+IG9yIGhpZ2hlciwgPHZhcm5hbWU+YXJjaGl2ZV9tb2RlPC92YXJuYW1lPiB0bwotICAgICAg PGxpdGVyYWw+b248L2xpdGVyYWw+LCBhbmQgc2V0IHVwIGFuIDx2YXJuYW1lPmFyY2hpdmVfY29t bWFuZDwvdmFybmFtZT4gdGhhdCBwZXJmb3JtcworICAgICAgPGxpdGVyYWw+b248L2xpdGVyYWw+ LCBhbmQgc2V0IHVwIGFuIDx2YXJuYW1lPmFyY2hpdmVfbGlicmFyeTwvdmFybmFtZT4gdGhhdCBw ZXJmb3JtcwogICAgICAgYXJjaGl2aW5nIG9ubHkgd2hlbiBhIDxlbXBoYXNpcz5zd2l0Y2ggZmls ZTwvZW1waGFzaXM+IGV4aXN0cy4gIEZvciBleGFtcGxlOgogPHByb2dyYW1saXN0aW5nPgorYXJj aGl2ZV9saWJyYXJ5ID0gJ3NoZWxsJwogYXJjaGl2ZV9jb21tYW5kID0gJ3Rlc3QgISAtZiAvdmFy L2xpYi9wZ3NxbC9iYWNrdXBfaW5fcHJvZ3Jlc3MgfHwgKHRlc3QgISAtZiAvdmFyL2xpYi9wZ3Nx bC9hcmNoaXZlLyVmICZhbXA7JmFtcDsgY3AgJXAgL3Zhci9saWIvcGdzcWwvYXJjaGl2ZS8lZikn CiA8L3Byb2dyYW1saXN0aW5nPgogICAgICAgVGhpcyBjb21tYW5kIHdpbGwgcGVyZm9ybSBhcmNo aXZpbmcgd2hlbgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2NvbmZpZy5zZ21sIGIvZG9jL3Ny Yy9zZ21sL2NvbmZpZy5zZ21sCmluZGV4IDNmODA2NzQwZDUuLjIzYjNmZjMzOGMgMTAwNjQ0Ci0t LSBhL2RvYy9zcmMvc2dtbC9jb25maWcuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvY29uZmlnLnNn bWwKQEAgLTM0NzksNyArMzQ3OSw3IEBAIGluY2x1ZGVfZGlyICdjb25mLmQnCiAgICAgICAgIE1h eGltdW0gc2l6ZSB0byBsZXQgdGhlIFdBTCBncm93IGR1cmluZyBhdXRvbWF0aWMKICAgICAgICAg Y2hlY2twb2ludHMuIFRoaXMgaXMgYSBzb2Z0IGxpbWl0OyBXQUwgc2l6ZSBjYW4gZXhjZWVkCiAg ICAgICAgIDx2YXJuYW1lPm1heF93YWxfc2l6ZTwvdmFybmFtZT4gdW5kZXIgc3BlY2lhbCBjaXJj dW1zdGFuY2VzLCBzdWNoIGFzCi0gICAgICAgIGhlYXZ5IGxvYWQsIGEgZmFpbGluZyA8dmFybmFt ZT5hcmNoaXZlX2NvbW1hbmQ8L3Zhcm5hbWU+LCBvciBhIGhpZ2gKKyAgICAgICAgaGVhdnkgbG9h ZCwgYSBmYWlsaW5nIDx2YXJuYW1lPmFyY2hpdmVfbGlicmFyeTwvdmFybmFtZT4sIG9yIGEgaGln aAogICAgICAgICA8dmFybmFtZT53YWxfa2VlcF9zaXplPC92YXJuYW1lPiBzZXR0aW5nLgogICAg ICAgICBJZiB0aGlzIHZhbHVlIGlzIHNwZWNpZmllZCB3aXRob3V0IHVuaXRzLCBpdCBpcyB0YWtl biBhcyBtZWdhYnl0ZXMuCiAgICAgICAgIFRoZSBkZWZhdWx0IGlzIDEgR0IuCkBAIC0zNTI4LDcg KzM1MjgsNyBAQCBpbmNsdWRlX2RpciAnY29uZi5kJwogICAgICAgIDxwYXJhPgogICAgICAgICBX aGVuIDx2YXJuYW1lPmFyY2hpdmVfbW9kZTwvdmFybmFtZT4gaXMgZW5hYmxlZCwgY29tcGxldGVk IFdBTCBzZWdtZW50cwogICAgICAgICBhcmUgc2VudCB0byBhcmNoaXZlIHN0b3JhZ2UgYnkgc2V0 dGluZwotICAgICAgICA8eHJlZiBsaW5rZW5kPSJndWMtYXJjaGl2ZS1jb21tYW5kIi8+LiBJbiBh ZGRpdGlvbiB0byA8bGl0ZXJhbD5vZmY8L2xpdGVyYWw+LAorICAgICAgICA8eHJlZiBsaW5rZW5k PSJndWMtYXJjaGl2ZS1saWJyYXJ5Ii8+LiBJbiBhZGRpdGlvbiB0byA8bGl0ZXJhbD5vZmY8L2xp dGVyYWw+LAogICAgICAgICB0byBkaXNhYmxlLCB0aGVyZSBhcmUgdHdvIG1vZGVzOiA8bGl0ZXJh bD5vbjwvbGl0ZXJhbD4sIGFuZAogICAgICAgICA8bGl0ZXJhbD5hbHdheXM8L2xpdGVyYWw+LiBE dXJpbmcgbm9ybWFsIG9wZXJhdGlvbiwgdGhlcmUgaXMgbm8KICAgICAgICAgZGlmZmVyZW5jZSBi ZXR3ZWVuIHRoZSB0d28gbW9kZXMsIGJ1dCB3aGVuIHNldCB0byA8bGl0ZXJhbD5hbHdheXM8L2xp dGVyYWw+CkBAIC0zNTM4LDkgKzM1MzgsNiBAQCBpbmNsdWRlX2RpciAnY29uZi5kJwogICAgICAg ICA8eHJlZiBsaW5rZW5kPSJjb250aW51b3VzLWFyY2hpdmluZy1pbi1zdGFuZGJ5Ii8+IGZvciBk ZXRhaWxzLgogICAgICAgIDwvcGFyYT4KICAgICAgICA8cGFyYT4KLSAgICAgICAgPHZhcm5hbWU+ YXJjaGl2ZV9tb2RlPC92YXJuYW1lPiBhbmQgPHZhcm5hbWU+YXJjaGl2ZV9jb21tYW5kPC92YXJu YW1lPiBhcmUKLSAgICAgICAgc2VwYXJhdGUgdmFyaWFibGVzIHNvIHRoYXQgPHZhcm5hbWU+YXJj aGl2ZV9jb21tYW5kPC92YXJuYW1lPiBjYW4gYmUKLSAgICAgICAgY2hhbmdlZCB3aXRob3V0IGxl YXZpbmcgYXJjaGl2aW5nIG1vZGUuCiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBvbmx5IGJl IHNldCBhdCBzZXJ2ZXIgc3RhcnQuCiAgICAgICAgIDx2YXJuYW1lPmFyY2hpdmVfbW9kZTwvdmFy bmFtZT4gY2Fubm90IGJlIGVuYWJsZWQgd2hlbgogICAgICAgICA8dmFybmFtZT53YWxfbGV2ZWw8 L3Zhcm5hbWU+IGlzIHNldCB0byA8bGl0ZXJhbD5taW5pbWFsPC9saXRlcmFsPi4KQEAgLTM1NDgs NiArMzU0NSwyOCBAQCBpbmNsdWRlX2RpciAnY29uZi5kJwogICAgICAgPC9saXN0aXRlbT4KICAg ICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgICAgPHZhcmxpc3RlbnRyeSBpZD0iZ3VjLWFyY2hpdmUt bGlicmFyeSIgeHJlZmxhYmVsPSJhcmNoaXZlX2xpYnJhcnkiPgorICAgICAgPHRlcm0+PHZhcm5h bWU+YXJjaGl2ZV9saWJyYXJ5PC92YXJuYW1lPiAoPHR5cGU+c3RyaW5nPC90eXBlPikKKyAgICAg IDxpbmRleHRlcm0+CisgICAgICAgPHByaW1hcnk+PHZhcm5hbWU+YXJjaGl2ZV9saWJyYXJ5PC92 YXJuYW1lPiBjb25maWd1cmF0aW9uIHBhcmFtZXRlcjwvcHJpbWFyeT4KKyAgICAgIDwvaW5kZXh0 ZXJtPgorICAgICAgPC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAg ICAgICBUaGUgbGlicmFyeSB0byB1c2UgZm9yIGFyY2hpdmluZyBjb21wbGV0ZWQgV0FMIGZpbGUg c2VnbWVudHMuICBJZiBzZXQgdG8KKyAgICAgICAgPGxpdGVyYWw+c2hlbGw8L2xpdGVyYWw+ICh0 aGUgZGVmYXVsdCkgb3IgYW4gZW1wdHkgc3RyaW5nLCBhcmNoaXZpbmcgdmlhCisgICAgICAgIHNo ZWxsIGlzIGVuYWJsZWQsIGFuZCA8eHJlZiBsaW5rZW5kPSJndWMtYXJjaGl2ZS1jb21tYW5kIi8+ IGlzIHVzZWQuCisgICAgICAgIE90aGVyd2lzZSwgdGhlIHNwZWNpZmllZCBzaGFyZWQgbGlicmFy eSBpcyB1c2VkIGZvciBhcmNoaXZpbmcuICBGb3IgbW9yZQorICAgICAgICBpbmZvcm1hdGlvbiwg c2VlIDx4cmVmIGxpbmtlbmQ9ImJhY2t1cC1hcmNoaXZpbmctd2FsIi8+IGFuZAorICAgICAgICA8 eHJlZiBsaW5rZW5kPSJhcmNoaXZlLW1vZHVsZXMiLz4uCisgICAgICAgPC9wYXJhPgorICAgICAg IDxwYXJhPgorICAgICAgICBUaGlzIHBhcmFtZXRlciBjYW4gb25seSBiZSBzZXQgaW4gdGhlCisg ICAgICAgIDxmaWxlbmFtZT5wb3N0Z3Jlc3FsLmNvbmY8L2ZpbGVuYW1lPiBmaWxlIG9yIG9uIHRo ZSBzZXJ2ZXIgY29tbWFuZCBsaW5lLgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+ CisgICAgIDwvdmFybGlzdGVudHJ5PgorCiAgICAgIDx2YXJsaXN0ZW50cnkgaWQ9Imd1Yy1hcmNo aXZlLWNvbW1hbmQiIHhyZWZsYWJlbD0iYXJjaGl2ZV9jb21tYW5kIj4KICAgICAgIDx0ZXJtPjx2 YXJuYW1lPmFyY2hpdmVfY29tbWFuZDwvdmFybmFtZT4gKDx0eXBlPnN0cmluZzwvdHlwZT4pCiAg ICAgICA8aW5kZXh0ZXJtPgpAQCAtMzU3MCw5ICszNTg5LDExIEBAIGluY2x1ZGVfZGlyICdjb25m LmQnCiAgICAgICAgPHBhcmE+CiAgICAgICAgIFRoaXMgcGFyYW1ldGVyIGNhbiBvbmx5IGJlIHNl dCBpbiB0aGUgPGZpbGVuYW1lPnBvc3RncmVzcWwuY29uZjwvZmlsZW5hbWU+CiAgICAgICAgIGZp bGUgb3Igb24gdGhlIHNlcnZlciBjb21tYW5kIGxpbmUuICBJdCBpcyBpZ25vcmVkIHVubGVzcwot ICAgICAgICA8dmFybmFtZT5hcmNoaXZlX21vZGU8L3Zhcm5hbWU+IHdhcyBlbmFibGVkIGF0IHNl cnZlciBzdGFydC4KKyAgICAgICAgPHZhcm5hbWU+YXJjaGl2ZV9tb2RlPC92YXJuYW1lPiB3YXMg ZW5hYmxlZCBhdCBzZXJ2ZXIgc3RhcnQgYW5kCisgICAgICAgIDx2YXJuYW1lPmFyY2hpdmVfbGli cmFyeTwvdmFybmFtZT4gc3BlY2lmaWVzIHRvIGFyY2hpdmUgdmlhIHNoZWxsIGNvbW1hbmQuCiAg ICAgICAgIElmIDx2YXJuYW1lPmFyY2hpdmVfY29tbWFuZDwvdmFybmFtZT4gaXMgYW4gZW1wdHkg c3RyaW5nICh0aGUgZGVmYXVsdCkgd2hpbGUKLSAgICAgICAgPHZhcm5hbWU+YXJjaGl2ZV9tb2Rl PC92YXJuYW1lPiBpcyBlbmFibGVkLCBXQUwgYXJjaGl2aW5nIGlzIHRlbXBvcmFyaWx5CisgICAg ICAgIDx2YXJuYW1lPmFyY2hpdmVfbW9kZTwvdmFybmFtZT4gaXMgZW5hYmxlZCBhbmQgPHZhcm5h bWU+YXJjaGl2ZV9saWJyYXJ5PC92YXJuYW1lPgorICAgICAgICBzcGVjaWZpZXMgYXJjaGl2aW5n IHZpYSBzaGVsbCwgV0FMIGFyY2hpdmluZyBpcyB0ZW1wb3JhcmlseQogICAgICAgICBkaXNhYmxl ZCwgYnV0IHRoZSBzZXJ2ZXIgY29udGludWVzIHRvIGFjY3VtdWxhdGUgV0FMIHNlZ21lbnQgZmls ZXMgaW4KICAgICAgICAgdGhlIGV4cGVjdGF0aW9uIHRoYXQgYSBjb21tYW5kIHdpbGwgc29vbiBi ZSBwcm92aWRlZC4gIFNldHRpbmcKICAgICAgICAgPHZhcm5hbWU+YXJjaGl2ZV9jb21tYW5kPC92 YXJuYW1lPiB0byBhIGNvbW1hbmQgdGhhdCBkb2VzIG5vdGhpbmcgYnV0CkBAIC0zNTkyLDcgKzM2 MTMsNyBAQCBpbmNsdWRlX2RpciAnY29uZi5kJwogICAgICAgPC90ZXJtPgogICAgICAgPGxpc3Rp dGVtPgogICAgICAgIDxwYXJhPgotICAgICAgICBUaGUgPHhyZWYgbGlua2VuZD0iZ3VjLWFyY2hp dmUtY29tbWFuZCIvPiBpcyBvbmx5IGludm9rZWQgZm9yCisgICAgICAgIFRoZSA8eHJlZiBsaW5r ZW5kPSJndWMtYXJjaGl2ZS1saWJyYXJ5Ii8+IGlzIG9ubHkgaW52b2tlZCBmb3IKICAgICAgICAg Y29tcGxldGVkIFdBTCBzZWdtZW50cy4gSGVuY2UsIGlmIHlvdXIgc2VydmVyIGdlbmVyYXRlcyBs aXR0bGUgV0FMCiAgICAgICAgIHRyYWZmaWMgKG9yIGhhcyBzbGFjayBwZXJpb2RzIHdoZXJlIGl0 IGRvZXMgc28pLCB0aGVyZSBjb3VsZCBiZSBhCiAgICAgICAgIGxvbmcgZGVsYXkgYmV0d2VlbiB0 aGUgY29tcGxldGlvbiBvZiBhIHRyYW5zYWN0aW9uIGFuZCBpdHMgc2FmZQpkaWZmIC0tZ2l0IGEv ZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNnbWwgYi9kb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dtbApp bmRleCA4OTQ1NGU5OWI5Li5lNmI0NzJlYzMyIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZmls ZWxpc3Quc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dtbApAQCAtOTksNiArOTks NyBAQAogPCFFTlRJVFkgY3VzdG9tLXNjYW4gU1lTVEVNICJjdXN0b20tc2Nhbi5zZ21sIj4KIDwh RU5USVRZIGxvZ2ljYWxkZWNvZGluZyBTWVNURU0gImxvZ2ljYWxkZWNvZGluZy5zZ21sIj4KIDwh RU5USVRZIHJlcGxpY2F0aW9uLW9yaWdpbnMgU1lTVEVNICJyZXBsaWNhdGlvbi1vcmlnaW5zLnNn bWwiPgorPCFFTlRJVFkgYXJjaGl2ZS1tb2R1bGVzIFNZU1RFTSAiYXJjaGl2ZS1tb2R1bGVzLnNn bWwiPgogPCFFTlRJVFkgcHJvdG9jb2wgICBTWVNURU0gInByb3RvY29sLnNnbWwiPgogPCFFTlRJ VFkgc291cmNlcyAgICBTWVNURU0gInNvdXJjZXMuc2dtbCI+CiA8IUVOVElUWSBzdG9yYWdlICAg IFNZU1RFTSAic3RvcmFnZS5zZ21sIj4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9oaWdoLWF2 YWlsYWJpbGl0eS5zZ21sIGIvZG9jL3NyYy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNnbWwKaW5k ZXggYzQzZjIxNDAyMC4uZjRlNWU5NDIwYiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2hpZ2gt YXZhaWxhYmlsaXR5LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2hpZ2gtYXZhaWxhYmlsaXR5LnNn bWwKQEAgLTkzNSw3ICs5MzUsNyBAQCBwcmltYXJ5X2Nvbm5pbmZvID0gJ2hvc3Q9MTkyLjE2OC4x LjUwIHBvcnQ9NTQzMiB1c2VyPWZvbyBwYXNzd29yZD1mb29wYXNzJwogICAgIEluIGxpZXUgb2Yg dXNpbmcgcmVwbGljYXRpb24gc2xvdHMsIGl0IGlzIHBvc3NpYmxlIHRvIHByZXZlbnQgdGhlIHJl bW92YWwKICAgICBvZiBvbGQgV0FMIHNlZ21lbnRzIHVzaW5nIDx4cmVmIGxpbmtlbmQ9Imd1Yy13 YWwta2VlcC1zaXplIi8+LCBvciBieQogICAgIHN0b3JpbmcgdGhlIHNlZ21lbnRzIGluIGFuIGFy Y2hpdmUgdXNpbmcKLSAgICA8eHJlZiBsaW5rZW5kPSJndWMtYXJjaGl2ZS1jb21tYW5kIi8+Lgor ICAgIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLWxpYnJhcnkiLz4uCiAgICAgSG93ZXZlciwg dGhlc2UgbWV0aG9kcyBvZnRlbiByZXN1bHQgaW4gcmV0YWluaW5nIG1vcmUgV0FMIHNlZ21lbnRz IHRoYW4KICAgICByZXF1aXJlZCwgd2hlcmVhcyByZXBsaWNhdGlvbiBzbG90cyByZXRhaW4gb25s eSB0aGUgbnVtYmVyIG9mIHNlZ21lbnRzCiAgICAga25vd24gdG8gYmUgbmVlZGVkLiAgT24gdGhl IG90aGVyIGhhbmQsIHJlcGxpY2F0aW9uIHNsb3RzIGNhbiByZXRhaW4gc28KQEAgLTEzODYsMTAg KzEzODYsMTAgQEAgc3luY2hyb25vdXNfc3RhbmRieV9uYW1lcyA9ICdBTlkgMiAoczEsIHMyLCBz MyknCiAgICAgIHRvIDxsaXRlcmFsPmFsd2F5czwvbGl0ZXJhbD4sIGFuZCB0aGUgc3RhbmRieSB3 aWxsIGNhbGwgdGhlIGFyY2hpdmUKICAgICAgY29tbWFuZCBmb3IgZXZlcnkgV0FMIHNlZ21lbnQg aXQgcmVjZWl2ZXMsIHdoZXRoZXIgaXQncyBieSByZXN0b3JpbmcKICAgICAgZnJvbSB0aGUgYXJj aGl2ZSBvciBieSBzdHJlYW1pbmcgcmVwbGljYXRpb24uIFRoZSBzaGFyZWQgYXJjaGl2ZSBjYW4K LSAgICAgYmUgaGFuZGxlZCBzaW1pbGFybHksIGJ1dCB0aGUgPHZhcm5hbWU+YXJjaGl2ZV9jb21t YW5kPC92YXJuYW1lPiBtdXN0CisgICAgIGJlIGhhbmRsZWQgc2ltaWxhcmx5LCBidXQgdGhlIDx2 YXJuYW1lPmFyY2hpdmVfbGlicmFyeTwvdmFybmFtZT4gbXVzdAogICAgICB0ZXN0IGlmIHRoZSBm aWxlIGJlaW5nIGFyY2hpdmVkIGV4aXN0cyBhbHJlYWR5LCBhbmQgaWYgdGhlIGV4aXN0aW5nIGZp bGUKICAgICAgaGFzIGlkZW50aWNhbCBjb250ZW50cy4gVGhpcyByZXF1aXJlcyBtb3JlIGNhcmUg aW4gdGhlCi0gICAgIDx2YXJuYW1lPmFyY2hpdmVfY29tbWFuZDwvdmFybmFtZT4sIGFzIGl0IG11 c3QKKyAgICAgPHZhcm5hbWU+YXJjaGl2ZV9saWJyYXJ5PC92YXJuYW1lPiwgYXMgaXQgbXVzdAog ICAgICBiZSBjYXJlZnVsIHRvIG5vdCBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgZmlsZSB3aXRoIGRp ZmZlcmVudCBjb250ZW50cywKICAgICAgYnV0IHJldHVybiBzdWNjZXNzIGlmIHRoZSBleGFjdGx5 IHNhbWUgZmlsZSBpcyBhcmNoaXZlZCB0d2ljZS4gQW5kCiAgICAgIGFsbCB0aGF0IG11c3QgYmUg ZG9uZSBmcmVlIG9mIHJhY2UgY29uZGl0aW9ucywgaWYgdHdvIHNlcnZlcnMgYXR0ZW1wdApkaWZm IC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Bvc3RncmVzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcG9zdGdy ZXMuc2dtbAppbmRleCBkYmE5Y2Y0MTNmLi4zZGI2ZDIxNjBiIDEwMDY0NAotLS0gYS9kb2Mvc3Jj L3NnbWwvcG9zdGdyZXMuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcG9zdGdyZXMuc2dtbApAQCAt MjMzLDYgKzIzMyw3IEBAIGJyZWFrIGlzIG5vdCBuZWVkZWQgaW4gYSB3aWRlciBvdXRwdXQgcmVu ZGVyaW5nLgogICAmYmd3b3JrZXI7CiAgICZsb2dpY2FsZGVjb2Rpbmc7CiAgICZyZXBsaWNhdGlv bi1vcmlnaW5zOworICAmYXJjaGl2ZS1tb2R1bGVzOwogCiAgPC9wYXJ0PgogCmRpZmYgLS1naXQg YS9kb2Mvc3JjL3NnbWwvcmVmL3BnX2Jhc2ViYWNrdXAuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYv cGdfYmFzZWJhY2t1cC5zZ21sCmluZGV4IDllNjgwN2I0NTcuLjJhYWVhY2E3NjYgMTAwNjQ0Ci0t LSBhL2RvYy9zcmMvc2dtbC9yZWYvcGdfYmFzZWJhY2t1cC5zZ21sCisrKyBiL2RvYy9zcmMvc2dt bC9yZWYvcGdfYmFzZWJhY2t1cC5zZ21sCkBAIC0xMDIsOCArMTAyLDggQEAgUG9zdGdyZVNRTCBk b2N1bWVudGF0aW9uCiAgICAgIDxwYXJhPgogICAgICAgQWxsIFdBTCByZWNvcmRzIHJlcXVpcmVk IGZvciB0aGUgYmFja3VwIG11c3QgY29udGFpbiBzdWZmaWNpZW50IGZ1bGwtcGFnZSB3cml0ZXMs CiAgICAgICB3aGljaCByZXF1aXJlcyB5b3UgdG8gZW5hYmxlIDx2YXJuYW1lPmZ1bGxfcGFnZV93 cml0ZXM8L3Zhcm5hbWU+IG9uIHRoZSBwcmltYXJ5IGFuZAotICAgICAgbm90IHRvIHVzZSBhIHRv b2wgbGlrZSA8YXBwbGljYXRpb24+cGdfY29tcHJlc3Nsb2c8L2FwcGxpY2F0aW9uPiBhcwotICAg ICAgPHZhcm5hbWU+YXJjaGl2ZV9jb21tYW5kPC92YXJuYW1lPiB0byByZW1vdmUgZnVsbC1wYWdl IHdyaXRlcyBmcm9tIFdBTCBmaWxlcy4KKyAgICAgIG5vdCB0byB1c2UgYSB0b29sIGluIHlvdXIg PHZhcm5hbWU+YXJjaGl2ZV9saWJyYXJ5PC92YXJuYW1lPiB0byByZW1vdmUKKyAgICAgIGZ1bGwt cGFnZSB3cml0ZXMgZnJvbSBXQUwgZmlsZXMuCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVt PgogICAgPC9pdGVtaXplZGxpc3Q+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL3BnX3Jl Y2VpdmV3YWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvcGdfcmVjZWl2ZXdhbC5zZ21sCmluZGV4 IDVkZTgwZjhjNjQuLmE2YjZiYTkxZmIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvcGdf cmVjZWl2ZXdhbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvcGdfcmVjZWl2ZXdhbC5zZ21s CkBAIC00MCw3ICs0MCw3IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogICA8cGFyYT4KICAg IDxhcHBsaWNhdGlvbj5wZ19yZWNlaXZld2FsPC9hcHBsaWNhdGlvbj4gc3RyZWFtcyB0aGUgd3Jp dGUtYWhlYWQKICAgIGxvZyBpbiByZWFsIHRpbWUgYXMgaXQncyBiZWluZyBnZW5lcmF0ZWQgb24g dGhlIHNlcnZlciwgYW5kIGRvZXMgbm90IHdhaXQKLSAgIGZvciBzZWdtZW50cyB0byBjb21wbGV0 ZSBsaWtlIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLWNvbW1hbmQiLz4gZG9lcy4KKyAgIGZv ciBzZWdtZW50cyB0byBjb21wbGV0ZSBsaWtlIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLWxp YnJhcnkiLz4gZG9lcy4KICAgIEZvciB0aGlzIHJlYXNvbiwgaXQgaXMgbm90IG5lY2Vzc2FyeSB0 byBzZXQKICAgIDx4cmVmIGxpbmtlbmQ9Imd1Yy1hcmNoaXZlLXRpbWVvdXQiLz4gd2hlbiB1c2lu ZwogICAgIDxhcHBsaWNhdGlvbj5wZ19yZWNlaXZld2FsPC9hcHBsaWNhdGlvbj4uCkBAIC00ODgs MTEgKzQ4OCwxMSBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIAogICA8cGFyYT4KICAgIFdo ZW4gdXNpbmcgPGFwcGxpY2F0aW9uPnBnX3JlY2VpdmV3YWw8L2FwcGxpY2F0aW9uPiBpbnN0ZWFk IG9mCi0gICA8eHJlZiBsaW5rZW5kPSJndWMtYXJjaGl2ZS1jb21tYW5kIi8+IGFzIHRoZSBtYWlu IFdBTCBiYWNrdXAgbWV0aG9kLCBpdCBpcworICAgPHhyZWYgbGlua2VuZD0iZ3VjLWFyY2hpdmUt bGlicmFyeSIvPiBhcyB0aGUgbWFpbiBXQUwgYmFja3VwIG1ldGhvZCwgaXQgaXMKICAgIHN0cm9u Z2x5IHJlY29tbWVuZGVkIHRvIHVzZSByZXBsaWNhdGlvbiBzbG90cy4gIE90aGVyd2lzZSwgdGhl IHNlcnZlciBpcwogICAgZnJlZSB0byByZWN5Y2xlIG9yIHJlbW92ZSB3cml0ZS1haGVhZCBsb2cg ZmlsZXMgYmVmb3JlIHRoZXkgYXJlIGJhY2tlZCB1cCwKICAgIGJlY2F1c2UgaXQgZG9lcyBub3Qg aGF2ZSBhbnkgaW5mb3JtYXRpb24sIGVpdGhlcgotICAgZnJvbSA8eHJlZiBsaW5rZW5kPSJndWMt YXJjaGl2ZS1jb21tYW5kIi8+IG9yIHRoZSByZXBsaWNhdGlvbiBzbG90cywgYWJvdXQKKyAgIGZy b20gPHhyZWYgbGlua2VuZD0iZ3VjLWFyY2hpdmUtbGlicmFyeSIvPiBvciB0aGUgcmVwbGljYXRp b24gc2xvdHMsIGFib3V0CiAgICBob3cgZmFyIHRoZSBXQUwgc3RyZWFtIGhhcyBiZWVuIGFyY2hp dmVkLiAgTm90ZSwgaG93ZXZlciwgdGhhdCBhCiAgICByZXBsaWNhdGlvbiBzbG90IHdpbGwgZmls bCB1cCB0aGUgc2VydmVyJ3MgZGlzayBzcGFjZSBpZiB0aGUgcmVjZWl2ZXIgZG9lcwogICAgbm90 IGtlZXAgdXAgd2l0aCBmZXRjaGluZyB0aGUgV0FMIGRhdGEuCmRpZmYgLS1naXQgYS9kb2Mvc3Jj L3NnbWwvd2FsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvd2FsLnNnbWwKaW5kZXggMjRlMWM4OTUwMy4u MmJiMjdhODQ2OCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3dhbC5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC93YWwuc2dtbApAQCAtNjM2LDcgKzYzNiw3IEBACiAgICBXQUwgZmlsZXMgcGx1cyBv bmUgYWRkaXRpb25hbCBXQUwgZmlsZSBhcmUKICAgIGtlcHQgYXQgYWxsIHRpbWVzLiBBbHNvLCBp ZiBXQUwgYXJjaGl2aW5nIGlzIHVzZWQsIG9sZCBzZWdtZW50cyBjYW5ub3QgYmUKICAgIHJlbW92 ZWQgb3IgcmVjeWNsZWQgdW50aWwgdGhleSBhcmUgYXJjaGl2ZWQuIElmIFdBTCBhcmNoaXZpbmcg Y2Fubm90IGtlZXAgdXAKLSAgIHdpdGggdGhlIHBhY2UgdGhhdCBXQUwgaXMgZ2VuZXJhdGVkLCBv ciBpZiA8dmFybmFtZT5hcmNoaXZlX2NvbW1hbmQ8L3Zhcm5hbWU+CisgICB3aXRoIHRoZSBwYWNl IHRoYXQgV0FMIGlzIGdlbmVyYXRlZCwgb3IgaWYgPHZhcm5hbWU+YXJjaGl2ZV9saWJyYXJ5PC92 YXJuYW1lPgogICAgZmFpbHMgcmVwZWF0ZWRseSwgb2xkIFdBTCBmaWxlcyB3aWxsIGFjY3VtdWxh dGUgaW4gPGZpbGVuYW1lPnBnX3dhbDwvZmlsZW5hbWU+CiAgICB1bnRpbCB0aGUgc2l0dWF0aW9u IGlzIHJlc29sdmVkLiBBIHNsb3cgb3IgZmFpbGVkIHN0YW5kYnkgc2VydmVyIHRoYXQKICAgIHVz ZXMgYSByZXBsaWNhdGlvbiBzbG90IHdpbGwgaGF2ZSB0aGUgc2FtZSBlZmZlY3QgKHNlZQotLSAK Mi4xNi42Cgo= --_005_0CF39706695249B1987DF012CDF5EEC4amazoncom_ Content-Type: application/octet-stream; name="v11-0003-Add-test-archive-module.patch" Content-Description: v11-0003-Add-test-archive-module.patch Content-Disposition: attachment; filename="v11-0003-Add-test-archive-module.patch"; size=9469; creation-date="Mon, 22 Nov 2021 17:58:01 GMT"; modification-date="Mon, 22 Nov 2021 17:58:01 GMT" Content-ID: <63E7D62513979444ACA5BB279A66091F@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA3YTQyM2U3NmIyYTMyMTg0ZWE2ZjgwYzVmODhkNWUzZmU1OGM0M2E1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogRnJpLCAxOSBOb3YgMjAyMSAwMTowNTo0MyArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjEx IDMvNF0gQWRkIHRlc3QgYXJjaGl2ZSBtb2R1bGUuCgotLS0KIHNyYy90ZXN0L21vZHVsZXMvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIHNyYy90ZXN0L21vZHVsZXMv YmFzaWNfYXJjaGl2ZS8uZ2l0aWdub3JlICAgICAgICAgIHwgICA0ICsKIHNyYy90ZXN0L21vZHVs ZXMvYmFzaWNfYXJjaGl2ZS9NYWtlZmlsZSAgICAgICAgICAgIHwgIDIwICsrKwogc3JjL3Rlc3Qv bW9kdWxlcy9iYXNpY19hcmNoaXZlL2Jhc2ljX2FyY2hpdmUuYyAgICAgfCAxODUgKysrKysrKysr KysrKysrKysrKysrCiBzcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvYmFzaWNfYXJjaGl2 ZS5jb25mICB8ICAgMyArCiAuLi4vYmFzaWNfYXJjaGl2ZS9leHBlY3RlZC9iYXNpY19hcmNoaXZl Lm91dCAgICAgICB8ICAyOSArKysrCiAuLi4vbW9kdWxlcy9iYXNpY19hcmNoaXZlL3NxbC9iYXNp Y19hcmNoaXZlLnNxbCAgICB8ICAyMiArKysKIDcgZmlsZXMgY2hhbmdlZCwgMjY0IGluc2VydGlv bnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUv LmdpdGlnbm9yZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvYmFzaWNfYXJj aGl2ZS9NYWtlZmlsZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L21vZHVsZXMvYmFzaWNf YXJjaGl2ZS9iYXNpY19hcmNoaXZlLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvdGVzdC9tb2R1 bGVzL2Jhc2ljX2FyY2hpdmUvYmFzaWNfYXJjaGl2ZS5jb25mCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjL3Rlc3QvbW9kdWxlcy9iYXNpY19hcmNoaXZlL2V4cGVjdGVkL2Jhc2ljX2FyY2hpdmUub3V0 CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvbW9kdWxlcy9iYXNpY19hcmNoaXZlL3NxbC9i YXNpY19hcmNoaXZlLnNxbAoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUg Yi9zcmMvdGVzdC9tb2R1bGVzL01ha2VmaWxlCmluZGV4IGRmZmM3OWIyZDkuLmI0OWU1MDhhMmMg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L21vZHVsZXMvTWFrZWZpbGUKKysrIGIvc3JjL3Rlc3QvbW9k dWxlcy9NYWtlZmlsZQpAQCAtNSw2ICs1LDcgQEAgdG9wX2J1aWxkZGlyID0gLi4vLi4vLi4KIGlu Y2x1ZGUgJCh0b3BfYnVpbGRkaXIpL3NyYy9NYWtlZmlsZS5nbG9iYWwKIAogU1VCRElSUyA9IFwK KwkJICBiYXNpY19hcmNoaXZlIFwKIAkJICBicmluIFwKIAkJICBjb21taXRfdHMgXAogCQkgIGRl bGF5X2V4ZWN1dGlvbiBcCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hp dmUvLmdpdGlnbm9yZSBiL3NyYy90ZXN0L21vZHVsZXMvYmFzaWNfYXJjaGl2ZS8uZ2l0aWdub3Jl Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjVkY2IzZmY5NzIKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvLmdpdGlnbm9yZQpA QCAtMCwwICsxLDQgQEAKKyMgR2VuZXJhdGVkIHN1YmRpcmVjdG9yaWVzCisvbG9nLworL3Jlc3Vs dHMvCisvdG1wX2NoZWNrLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy9iYXNpY19hcmNo aXZlL01ha2VmaWxlIGIvc3JjL3Rlc3QvbW9kdWxlcy9iYXNpY19hcmNoaXZlL01ha2VmaWxlCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmZmYmY4NDZiNjgKLS0tIC9kZXYv bnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvTWFrZWZpbGUKQEAgLTAs MCArMSwyMCBAQAorIyBzcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvTWFrZWZpbGUKKwor TU9EVUxFUyA9IGJhc2ljX2FyY2hpdmUKK1BHRklMRURFU0MgPSAiYmFzaWNfYXJjaGl2ZSAtIGJh c2ljIGFyY2hpdmUgbW9kdWxlIgorCitSRUdSRVNTID0gYmFzaWNfYXJjaGl2ZQorUkVHUkVTU19P UFRTID0gLS10ZW1wLWNvbmZpZyAkKHRvcF9zcmNkaXIpL3NyYy90ZXN0L21vZHVsZXMvYmFzaWNf YXJjaGl2ZS9iYXNpY19hcmNoaXZlLmNvbmYKKworTk9fSU5TVEFMTENIRUNLID0gMQorCitpZmRl ZiBVU0VfUEdYUworUEdfQ09ORklHID0gcGdfY29uZmlnCitQR1hTIDo9ICQoc2hlbGwgJChQR19D T05GSUcpIC0tcGd4cykKK2luY2x1ZGUgJChQR1hTKQorZWxzZQorc3ViZGlyID0gc3JjL3Rlc3Qv bW9kdWxlcy9iYXNpY19hcmNoaXZlCit0b3BfYnVpbGRkaXIgPSAuLi8uLi8uLi8uLgoraW5jbHVk ZSAkKHRvcF9idWlsZGRpcikvc3JjL01ha2VmaWxlLmdsb2JhbAoraW5jbHVkZSAkKHRvcF9zcmNk aXIpL2NvbnRyaWIvY29udHJpYi1nbG9iYWwubWsKK2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvYmFzaWNfYXJjaGl2ZS5jIGIvc3JjL3Rlc3QvbW9kdWxl cy9iYXNpY19hcmNoaXZlL2Jhc2ljX2FyY2hpdmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwLi44NGU5MjNiYjdlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvbW9k dWxlcy9iYXNpY19hcmNoaXZlL2Jhc2ljX2FyY2hpdmUuYwpAQCAtMCwwICsxLDE4NSBAQAorLyot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCisgKgorICogYmFzaWNfYXJjaGl2ZS5jCisgKgorICogVGhpcyBmaWxl IGRlbW9uc3RyYXRlcyBhIGJhc2ljIGFyY2hpdmUgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiB0aGF0 IGlzCisgKiByb3VnaGx5IGVxdWl2YWxlbnQgdG8gdGhlIGZvbGxvd2luZyBzaGVsbCBjb21tYW5k OgorICoKKyAqIAkJdGVzdCAhIC1mIC9wYXRoL3RvL2Rlc3QgJiYgY3AgL3BhdGgvdG8vc3JjIC9w YXRoL3RvL2Rlc3QKKyAqCisgKiBPbmUgbm90YWJsZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBt b2R1bGUgYW5kIHRoZSBzaGVsbCBjb21tYW5kIGFib3ZlCisgKiBpcyB0aGF0IHRoaXMgbW9kdWxl IGZpcnN0IGNvcGllcyB0aGUgZmlsZSB0byBhIHRlbXBvcmFyeSBkZXN0aW5hdGlvbiwKKyAqIHN5 bmNzIGl0IHRvIGRpc2ssIGFuZCB0aGVuIGR1cmFibHkgbW92ZXMgaXQgdG8gdGhlIGZpbmFsIGRl c3RpbmF0aW9uLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAyMSwgUG9zdGdyZVNRTCBHbG9iYWwg RGV2ZWxvcG1lbnQgR3JvdXAKKyAqCisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvdGVzdC9t b2R1bGVzL2Jhc2ljX2FyY2hpdmUvYmFzaWNfYXJjaGl2ZS5jCisgKgorICotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgKi8KKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSA8c3lzL3N0YXQuaD4K KyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUg InBvc3RtYXN0ZXIvcGdhcmNoLmgiCisjaW5jbHVkZSAic3RvcmFnZS9jb3B5ZGlyLmgiCisjaW5j bHVkZSAic3RvcmFnZS9mZC5oIgorI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgorCitQR19NT0RVTEVf TUFHSUM7CisKK3ZvaWQgX1BHX2luaXQodm9pZCk7Cit2b2lkIF9QR19hcmNoaXZlX21vZHVsZV9p bml0KEFyY2hpdmVNb2R1bGVDYWxsYmFja3MgKmNiKTsKKworc3RhdGljIGNoYXIgKmFyY2hpdmVf ZGlyZWN0b3J5ID0gTlVMTDsKKworc3RhdGljIGJvb2wgYmFzaWNfYXJjaGl2ZV9jb25maWd1cmVk KHZvaWQpOworc3RhdGljIGJvb2wgYmFzaWNfYXJjaGl2ZV9maWxlKGNvbnN0IGNoYXIgKmZpbGUs IGNvbnN0IGNoYXIgKnBhdGgpOworc3RhdGljIGJvb2wgY2hlY2tfYXJjaGl2ZV9kaXJlY3Rvcnko Y2hhciAqKm5ld3ZhbCwgdm9pZCAqKmV4dHJhLCBHdWNTb3VyY2Ugc291cmNlKTsKKworLyoKKyAq IF9QR19pbml0CisgKgorICogRGVmaW5lcyB0aGUgbW9kdWxlJ3MgR1VDLgorICovCit2b2lkCitf UEdfaW5pdCh2b2lkKQoreworCURlZmluZUN1c3RvbVN0cmluZ1ZhcmlhYmxlKCJiYXNpY19hcmNo aXZlLmFyY2hpdmVfZGlyZWN0b3J5IiwKKwkJCQkJCQkgICBnZXR0ZXh0X25vb3AoIkFyY2hpdmUg ZmlsZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkuIiksCisJCQkJCQkJICAgTlVMTCwKKwkJCQkJCQkg ICAmYXJjaGl2ZV9kaXJlY3RvcnksCisJCQkJCQkJICAgIiIsCisJCQkJCQkJICAgUEdDX1NJR0hV UCwKKwkJCQkJCQkgICAwLAorCQkJCQkJCSAgIGNoZWNrX2FyY2hpdmVfZGlyZWN0b3J5LCBOVUxM LCBOVUxMKTsKKworCUVtaXRXYXJuaW5nc09uUGxhY2Vob2xkZXJzKCJiYXNpY19hcmNoaXZlIik7 Cit9CisKKy8qCisgKiBfUEdfYXJjaGl2ZV9tb2R1bGVfaW5pdAorICoKKyAqIFJldHVybnMgdGhl IG1vZHVsZSdzIGFyY2hpdmluZyBjYWxsYmFja3MuCisgKi8KK3ZvaWQKK19QR19hcmNoaXZlX21v ZHVsZV9pbml0KEFyY2hpdmVNb2R1bGVDYWxsYmFja3MgKmNiKQoreworCUFzc2VydFZhcmlhYmxl SXNPZlR5cGUoJl9QR19hcmNoaXZlX21vZHVsZV9pbml0LCBBcmNoaXZlTW9kdWxlSW5pdCk7CisK KwljYi0+Y2hlY2tfY29uZmlndXJlZF9jYiA9IGJhc2ljX2FyY2hpdmVfY29uZmlndXJlZDsKKwlj Yi0+YXJjaGl2ZV9maWxlX2NiID0gYmFzaWNfYXJjaGl2ZV9maWxlOworfQorCisvKgorICogY2hl Y2tfYXJjaGl2ZV9kaXJlY3RvcnkKKyAqCisgKiBDaGVja3MgdGhhdCB0aGUgcHJvdmlkZWQgYXJj aGl2ZSBkaXJlY3RvcnkgZXhpc3RzLgorICovCitzdGF0aWMgYm9vbAorY2hlY2tfYXJjaGl2ZV9k aXJlY3RvcnkoY2hhciAqKm5ld3ZhbCwgdm9pZCAqKmV4dHJhLCBHdWNTb3VyY2Ugc291cmNlKQor eworCXN0cnVjdCBzdGF0IHN0OworCisJLyoKKwkgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBhbiBl bXB0eSBzdHJpbmcsIHNvIHdlIGhhdmUgdG8gYWNjZXB0IHRoYXQgdmFsdWUuCisJICogT3VyIGNo ZWNrX2NvbmZpZ3VyZWQgY2FsbGJhY2sgYWxzbyBjaGVja3MgZm9yIHRoaXMgYW5kIHByZXZlbnRz IGFyY2hpdmluZworCSAqIGZyb20gcHJvY2VlZGluZyBpZiBpdCBpcyBzdGlsbCBlbXB0eS4KKwkg Ki8KKwlpZiAoKm5ld3ZhbCA9PSBOVUxMIHx8ICpuZXd2YWxbMF0gPT0gJ1wwJykKKwkJcmV0dXJu IHRydWU7CisKKwkvKgorCSAqIE1ha2Ugc3VyZSB0aGUgZmlsZSBwYXRocyB3b24ndCBiZSB0b28g bG9uZy4gIFRoZSBkb2NzIGluZGljYXRlIHRoYXQgdGhlCisJICogZmlsZSBuYW1lcyB0byBiZSBh cmNoaXZlZCBjYW4gYmUgdXAgdG8gNjQgY2hhcmFjdGVycyBsb25nLgorCSAqLworCWlmIChzdHJs ZW4oKm5ld3ZhbCkgKyA2NCArIDIgPj0gTUFYUEdQQVRIKQorCXsKKwkJR1VDX2NoZWNrX2VycmRl dGFpbCgiYXJjaGl2ZSBkaXJlY3RvcnkgdG9vIGxvbmciKTsKKwkJcmV0dXJuIGZhbHNlOworCX0K KworCS8qCisJICogRG8gYSBiYXNpYyBzYW5pdHkgY2hlY2sgdGhhdCB0aGUgc3BlY2lmaWVkIGFy Y2hpdmUgZGlyZWN0b3J5IGV4aXN0cy4gIEl0CisJICogY291bGQgYmUgcmVtb3ZlZCBhdCBzb21l IHBvaW50IGluIHRoZSBmdXR1cmUsIHNvIHdlIHN0aWxsIG5lZWQgdG8gYmUKKwkgKiBwcmVwYXJl ZCBmb3IgaXQgbm90IHRvIGV4aXN0IGluIHRoZSBhY3R1YWwgYXJjaGl2aW5nIGxvZ2ljLgorCSAq LworCWlmIChzdGF0KCpuZXd2YWwsICZzdCkgIT0gMCB8fCAhU19JU0RJUihzdC5zdF9tb2RlKSkK Kwl7CisJCUdVQ19jaGVja19lcnJkZXRhaWwoInNwZWNpZmllZCBhcmNoaXZlIGRpcmVjdG9yeSBk b2VzIG5vdCBleGlzdCIpOworCQlyZXR1cm4gZmFsc2U7CisJfQorCisJcmV0dXJuIHRydWU7Cit9 CisKKy8qCisgKiBiYXNpY19hcmNoaXZlX2NvbmZpZ3VyZWQKKyAqCisgKiBDaGVja3MgdGhhdCBh cmNoaXZlX2RpcmVjdG9yeSBpcyBub3QgYmxhbmsuCisgKi8KK3N0YXRpYyBib29sCitiYXNpY19h cmNoaXZlX2NvbmZpZ3VyZWQodm9pZCkKK3sKKwlyZXR1cm4gYXJjaGl2ZV9kaXJlY3RvcnkgIT0g TlVMTCAmJiBhcmNoaXZlX2RpcmVjdG9yeVswXSAhPSAnXDAnOworfQorCisvKgorICogYmFzaWNf YXJjaGl2ZV9maWxlCisgKgorICogQXJjaGl2ZXMgb25lIGZpbGUuCisgKi8KK3N0YXRpYyBib29s CitiYXNpY19hcmNoaXZlX2ZpbGUoY29uc3QgY2hhciAqZmlsZSwgY29uc3QgY2hhciAqcGF0aCkK K3sKKwljaGFyIGRlc3RpbmF0aW9uW01BWFBHUEFUSF07CisJY2hhciB0ZW1wW01BWFBHUEFUSF07 CisJc3RydWN0IHN0YXQgc3Q7CisKKwllcmVwb3J0KERFQlVHMywKKwkJCShlcnJtc2coImFyY2hp dmluZyBcIiVzXCIgdmlhIGJhc2ljX2FyY2hpdmUiLCBmaWxlKSkpOworCisJc25wcmludGYoZGVz dGluYXRpb24sIE1BWFBHUEFUSCwgIiVzLyVzIiwgYXJjaGl2ZV9kaXJlY3RvcnksIGZpbGUpOwor CXNucHJpbnRmKHRlbXAsIE1BWFBHUEFUSCwgIiVzLyVzIiwgYXJjaGl2ZV9kaXJlY3RvcnksICJh cmNodGVtcCIpOworCisJLyoKKwkgKiBGaXJzdCwgY2hlY2sgaWYgdGhlIGZpbGUgaGFzIGFscmVh ZHkgYmVlbiBhcmNoaXZlZC4gIElmIHRoZSBhcmNoaXZlIGZpbGUKKwkgKiBhbHJlYWR5IGV4aXN0 cywgc29tZXRoaW5nIG1pZ2h0IGJlIHdyb25nLCBzbyB3ZSBqdXN0IGZhaWwuCisJICovCisJaWYg KHN0YXQoZGVzdGluYXRpb24sICZzdCkgPT0gMCkKKwl7CisJCWVyZXBvcnQoV0FSTklORywKKwkJ CQkoZXJybXNnKCJhcmNoaXZlIGZpbGUgXCIlc1wiIGFscmVhZHkgZXhpc3RzIiwgZGVzdGluYXRp b24pKSk7CisJCXJldHVybiBmYWxzZTsKKwl9CisJZWxzZSBpZiAoZXJybm8gIT0gRU5PRU5UKQor CQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlX2Zvcl9maWxlX2FjY2VzcygpLAorCQkJCSBl cnJtc2coImNvdWxkIG5vdCBzdGF0IGZpbGUgXCIlc1wiOiAlbSIsIGRlc3RpbmF0aW9uKSkpOwor CisJLyoKKwkgKiBSZW1vdmUgcHJlLWV4aXN0aW5nIHRlbXBvcmFyeSBmaWxlLCBpZiBvbmUgZXhp c3RzLgorCSAqLworCWlmICh1bmxpbmsodGVtcCkgIT0gMCAmJiBlcnJubyAhPSBFTk9FTlQpCisJ CWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGVfZm9yX2ZpbGVfYWNjZXNzKCksCisJCQkJIGVy cm1zZygiY291bGQgbm90IHVubGluayBmaWxlIFwiJXNcIjogJW0iLCB0ZW1wKSkpOworCisJLyoK KwkgKiBDb3B5IHRoZSBmaWxlIHRvIGl0cyB0ZW1wb3JhcnkgZGVzdGluYXRpb24uCisJICovCisJ Y29weV9maWxlKHVuY29uc3RpZnkoY2hhciAqLCBwYXRoKSwgdGVtcCk7CisKKwkvKgorCSAqIFN5 bmMgdGhlIHRlbXBvcmFyeSBmaWxlIHRvIGRpc2sgYW5kIG1vdmUgaXQgdG8gaXRzIGZpbmFsIGRl c3RpbmF0aW9uLgorCSAqLworCSh2b2lkKSBkdXJhYmxlX3JlbmFtZV9leGNsKHRlbXAsIGRlc3Rp bmF0aW9uLCBFUlJPUik7CisKKwllcmVwb3J0KERFQlVHMSwKKwkJCShlcnJtc2coImFyY2hpdmVk IFwiJXNcIiB2aWEgYmFzaWNfYXJjaGl2ZSIsIGZpbGUpKSk7CisKKwlyZXR1cm4gdHJ1ZTsKK30K ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvYmFzaWNfYXJjaGl2ZS9iYXNpY19hcmNoaXZl LmNvbmYgYi9zcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvYmFzaWNfYXJjaGl2ZS5jb25m Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLmIyNmIyZDQxNDQKLS0tIC9k ZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvYmFzaWNfYXJjaGl2 ZS5jb25mCkBAIC0wLDAgKzEsMyBAQAorYXJjaGl2ZV9tb2RlID0gJ29uJworYXJjaGl2ZV9saWJy YXJ5ID0gJ2Jhc2ljX2FyY2hpdmUnCitiYXNpY19hcmNoaXZlLmFyY2hpdmVfZGlyZWN0b3J5ID0g Jy4nCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvZXhwZWN0ZWQv YmFzaWNfYXJjaGl2ZS5vdXQgYi9zcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hpdmUvZXhwZWN0 ZWQvYmFzaWNfYXJjaGl2ZS5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MC4uMDAxNTA1M2UwZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L21vZHVsZXMvYmFzaWNf YXJjaGl2ZS9leHBlY3RlZC9iYXNpY19hcmNoaXZlLm91dApAQCAtMCwwICsxLDI5IEBACitDUkVB VEUgVEFCTEUgdGVzdCAoYSBJTlQpOworU0VMRUNUIDEgRlJPTSBwZ19zd2l0Y2hfd2FsKCk7Cisg P2NvbHVtbj8gCistLS0tLS0tLS0tCisgICAgICAgIDEKKygxIHJvdykKKworRE8gJCQKK0RFQ0xB UkUKKwlhcmNoaXZlZCBib29sOworCWxvb3BzIGludCA6PSAwOworQkVHSU4KKwlMT09QCisJCWFy Y2hpdmVkIDo9IGNvdW50KCopID4gMCBGUk9NIHBnX2xzX2RpcignLicsIGZhbHNlLCBmYWxzZSkg YQorCQkJV0hFUkUgYSB+ICdeWzAtOUEtRl17MjR9JCc7CisJCUlGIGFyY2hpdmVkIE9SIGxvb3Bz ID4gMTIwICogMTAgVEhFTiBFWElUOyBFTkQgSUY7CisJCVBFUkZPUk0gcGdfc2xlZXAoMC4xKTsK KwkJbG9vcHMgOj0gbG9vcHMgKyAxOworCUVORCBMT09QOworRU5ECiskJDsKK1NFTEVDVCBjb3Vu dCgqKSA+IDAgRlJPTSBwZ19sc19kaXIoJy4nLCBmYWxzZSwgZmFsc2UpIGEKKwlXSEVSRSBhIH4g J15bMC05QS1GXXsyNH0kJzsKKyA/Y29sdW1uPyAKKy0tLS0tLS0tLS0KKyB0CisoMSByb3cpCisK K0RST1AgVEFCTEUgdGVzdDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMvYmFzaWNfYXJj aGl2ZS9zcWwvYmFzaWNfYXJjaGl2ZS5zcWwgYi9zcmMvdGVzdC9tb2R1bGVzL2Jhc2ljX2FyY2hp dmUvc3FsL2Jhc2ljX2FyY2hpdmUuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAuLjE0ZTIzNmQ1N2EKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9tb2R1bGVzL2Jh c2ljX2FyY2hpdmUvc3FsL2Jhc2ljX2FyY2hpdmUuc3FsCkBAIC0wLDAgKzEsMjIgQEAKK0NSRUFU RSBUQUJMRSB0ZXN0IChhIElOVCk7CitTRUxFQ1QgMSBGUk9NIHBnX3N3aXRjaF93YWwoKTsKKwor RE8gJCQKK0RFQ0xBUkUKKwlhcmNoaXZlZCBib29sOworCWxvb3BzIGludCA6PSAwOworQkVHSU4K KwlMT09QCisJCWFyY2hpdmVkIDo9IGNvdW50KCopID4gMCBGUk9NIHBnX2xzX2RpcignLicsIGZh bHNlLCBmYWxzZSkgYQorCQkJV0hFUkUgYSB+ICdeWzAtOUEtRl17MjR9JCc7CisJCUlGIGFyY2hp dmVkIE9SIGxvb3BzID4gMTIwICogMTAgVEhFTiBFWElUOyBFTkQgSUY7CisJCVBFUkZPUk0gcGdf c2xlZXAoMC4xKTsKKwkJbG9vcHMgOj0gbG9vcHMgKyAxOworCUVORCBMT09QOworRU5ECiskJDsK KworU0VMRUNUIGNvdW50KCopID4gMCBGUk9NIHBnX2xzX2RpcignLicsIGZhbHNlLCBmYWxzZSkg YQorCVdIRVJFIGEgfiAnXlswLTlBLUZdezI0fSQnOworCitEUk9QIFRBQkxFIHRlc3Q7Ci0tIAoy LjE2LjYKCg== --_005_0CF39706695249B1987DF012CDF5EEC4amazoncom_ Content-Type: application/octet-stream; name="v11-0002-Introduce-archive-modules-infrastructure.patch" Content-Description: v11-0002-Introduce-archive-modules-infrastructure.patch Content-Disposition: attachment; filename="v11-0002-Introduce-archive-modules-infrastructure.patch"; size=10954; creation-date="Mon, 22 Nov 2021 17:58:01 GMT"; modification-date="Mon, 22 Nov 2021 17:58:01 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSBmOWE4YTM5NGNjNjY3NGI5OTg2ZDkzNjAyY2E2NzNkMThiN2Y5MDE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogRnJpLCAxOSBOb3YgMjAyMSAwMTowNDo0MSArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjEx IDIvNF0gSW50cm9kdWNlIGFyY2hpdmUgbW9kdWxlcyBpbmZyYXN0cnVjdHVyZS4KCi0tLQogc3Jj L2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jICAgICAgICAgICAgIHwgIDIgKy0KIHNyYy9i YWNrZW5kL3Bvc3RtYXN0ZXIvcGdhcmNoLmMgICAgICAgICAgICAgICB8IDcxICsrKysrKysrKysr KysrKysrKysrKysrKystLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9zaGVsbF9hcmNoaXZlLmMg ICAgICAgIHwgMjQgKysrKysrKystCiBzcmMvYmFja2VuZC91dGlscy9pbml0L21pc2Npbml0LmMg ICAgICAgICAgICAgfCAgMSArCiBzcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jICAgICAgICAg ICAgICAgICAgfCAxMiArKysrLQogc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9wb3N0Z3Jlc3FsLmNv bmYuc2FtcGxlIHwgIDEgKwogc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaCAgICAgICAgICAgICAg ICAgICAgIHwgIDEgLQogc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9wZ2FyY2guaCAgICAgICAgICAg ICAgIHwgNDYgKysrKysrKysrKysrKysrKy0KIDggZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlv bnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3hsb2cuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwppbmRleCAy MjFlNGNiMzRmLi5jZTk0MmM4MTdhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJh bnNhbS94bG9nLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCkBAIC04 ODY4LDcgKzg4NjgsNyBAQCBTaHV0ZG93blhMT0coaW50IGNvZGUsIERhdHVtIGFyZykKIAkJICog cHJvY2VzcyBvbmUgbW9yZSB0aW1lIGF0IHRoZSBlbmQgb2Ygc2h1dGRvd24pLiBUaGUgY2hlY2tw b2ludAogCQkgKiByZWNvcmQgd2lsbCBnbyB0byB0aGUgbmV4dCBYTE9HIGZpbGUgYW5kIHdvbid0 IGJlIGFyY2hpdmVkICh5ZXQpLgogCQkgKi8KLQkJaWYgKFhMb2dBcmNoaXZpbmdBY3RpdmUoKSAm JiBYTG9nQXJjaGl2ZUNvbW1hbmRTZXQoKSkKKwkJaWYgKFhMb2dBcmNoaXZpbmdBY3RpdmUoKSkK IAkJCVJlcXVlc3RYTG9nU3dpdGNoKGZhbHNlKTsKIAogCQlDcmVhdGVDaGVja1BvaW50KENIRUNL UE9JTlRfSVNfU0hVVERPV04gfCBDSEVDS1BPSU5UX0lNTUVESUFURSk7CmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9wb3N0bWFzdGVyL3BnYXJjaC5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9w Z2FyY2guYwppbmRleCA3ZmExNjQ0ODg5Li4zNGE4NTg4ZWI2IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wb3N0bWFzdGVyL3BnYXJjaC5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdh cmNoLmMKQEAgLTg3LDYgKzg3LDggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdBcmNoRGF0YQogCXNsb2Nr X3QJCWFyY2hfbGNrOwogfSBQZ0FyY2hEYXRhOwogCitjaGFyICpYTG9nQXJjaGl2ZUxpYnJhcnkg PSAiIjsKKwogCiAvKiAtLS0tLS0tLS0tCiAgKiBMb2NhbCBkYXRhCkBAIC05NCw2ICs5Niw4IEBA IHR5cGVkZWYgc3RydWN0IFBnQXJjaERhdGEKICAqLwogc3RhdGljIHRpbWVfdCBsYXN0X3NpZ3Rl cm1fdGltZSA9IDA7CiBzdGF0aWMgUGdBcmNoRGF0YSAqUGdBcmNoID0gTlVMTDsKK3N0YXRpYyBB cmNoaXZlTW9kdWxlQ2FsbGJhY2tzICpBcmNoaXZlQ29udGV4dCA9IE5VTEw7CisKIAogLyoKICAq IFN0dWZmIGZvciB0cmFja2luZyBtdWx0aXBsZSBmaWxlcyB0byBhcmNoaXZlIGZyb20gZWFjaCBz Y2FuIG9mCkBAIC0xMjksNiArMTMzLDcgQEAgc3RhdGljIHZvaWQgcGdhcmNoX2FyY2hpdmVEb25l KGNoYXIgKnhsb2cpOwogc3RhdGljIHZvaWQgcGdhcmNoX2RpZShpbnQgY29kZSwgRGF0dW0gYXJn KTsKIHN0YXRpYyB2b2lkIEhhbmRsZVBnQXJjaEludGVycnVwdHModm9pZCk7CiBzdGF0aWMgaW50 IHJlYWR5X2ZpbGVfY29tcGFyYXRvcihEYXR1bSBhLCBEYXR1bSBiLCB2b2lkICphcmcpOworc3Rh dGljIHZvaWQgTG9hZEFyY2hpdmVMaWJyYXJ5KHZvaWQpOwogCiAvKiBSZXBvcnQgc2hhcmVkIG1l bW9yeSBzcGFjZSBuZWVkZWQgYnkgUGdBcmNoU2htZW1Jbml0ICovCiBTaXplCkBAIC0yMjUsNiAr MjMwLDExIEBAIFBnQXJjaGl2ZXJNYWluKHZvaWQpCiAJICovCiAJUGdBcmNoLT5wZ3Byb2NubyA9 IE15UHJvYy0+cGdwcm9jbm87CiAKKwkvKgorCSAqIExvYWQgdGhlIGFyY2hpdmVfbGlicmFyeS4K KwkgKi8KKwlMb2FkQXJjaGl2ZUxpYnJhcnkoKTsKKwogCS8qIEluaXRpYWxpemUgb3VyIG1heC1o ZWFwIGZvciBwcmlvcml0aXppbmcgZmlsZXMgdG8gYXJjaGl2ZS4gKi8KIAlhcmNoX2hlYXAgPSBi aW5hcnloZWFwX2FsbG9jYXRlKE5VTV9GSUxFU19QRVJfRElSRUNUT1JZX1NDQU4sCiAJCQkJCQkJ CQlyZWFkeV9maWxlX2NvbXBhcmF0b3IsIE5VTEwpOwpAQCAtMzkyLDExICs0MDIsMTEgQEAgcGdh cmNoX0FyY2hpdmVyQ29weUxvb3Aodm9pZCkKIAkJCSAqLwogCQkJSGFuZGxlUGdBcmNoSW50ZXJy dXB0cygpOwogCi0JCQkvKiBjYW4ndCBkbyBhbnl0aGluZyBpZiBubyBjb21tYW5kIC4uLiAqLwot CQkJaWYgKCFYTG9nQXJjaGl2ZUNvbW1hbmRTZXQoKSkKKwkJCS8qIGNhbid0IGRvIGFueXRoaW5n IGlmIG5vdCBjb25maWd1cmVkIC4uLiAqLworCQkJaWYgKCFBcmNoaXZlQ29udGV4dC0+Y2hlY2tf Y29uZmlndXJlZF9jYigpKQogCQkJewogCQkJCWVyZXBvcnQoV0FSTklORywKLQkJCQkJCShlcnJt c2coImFyY2hpdmVfbW9kZSBlbmFibGVkLCB5ZXQgYXJjaGl2ZV9jb21tYW5kIGlzIG5vdCBzZXQi KSkpOworCQkJCQkJKGVycm1zZygiYXJjaGl2ZV9tb2RlIGVuYWJsZWQsIHlldCBhcmNoaXZpbmcg aXMgbm90IGNvbmZpZ3VyZWQiKSkpOwogCQkJCXJldHVybjsKIAkJCX0KIApAQCAtNDc3LDcgKzQ4 Nyw3IEBAIHBnYXJjaF9BcmNoaXZlckNvcHlMb29wKHZvaWQpCiAvKgogICogcGdhcmNoX2FyY2hp dmVYbG9nCiAgKgotICogSW52b2tlcyBzeXN0ZW0oMykgdG8gY29weSBvbmUgYXJjaGl2ZSBmaWxl IHRvIHdoZXJldmVyIGl0IHNob3VsZCBnbworICogSW52b2tlcyBhcmNoaXZlX2ZpbGVfY2IgdG8g Y29weSBvbmUgYXJjaGl2ZSBmaWxlIHRvIHdoZXJldmVyIGl0IHNob3VsZCBnbwogICoKICAqIFJl dHVybnMgdHJ1ZSBpZiBzdWNjZXNzZnVsCiAgKi8KQEAgLTQ5NCw3ICs1MDQsNyBAQCBwZ2FyY2hf YXJjaGl2ZVhsb2coY2hhciAqeGxvZykKIAlzbnByaW50ZihhY3Rpdml0eW1zZywgc2l6ZW9mKGFj dGl2aXR5bXNnKSwgImFyY2hpdmluZyAlcyIsIHhsb2cpOwogCXNldF9wc19kaXNwbGF5KGFjdGl2 aXR5bXNnKTsKIAotCXJldCA9IHNoZWxsX2FyY2hpdmVfZmlsZSh4bG9nLCBwYXRobmFtZSk7CisJ cmV0ID0gQXJjaGl2ZUNvbnRleHQtPmFyY2hpdmVfZmlsZV9jYih4bG9nLCBwYXRobmFtZSk7CiAJ aWYgKHJldCkKIAkJc25wcmludGYoYWN0aXZpdHltc2csIHNpemVvZihhY3Rpdml0eW1zZyksICJs YXN0IHdhcyAlcyIsIHhsb2cpOwogCWVsc2UKQEAgLTc0NCw1ICs3NTQsNTYgQEAgSGFuZGxlUGdB cmNoSW50ZXJydXB0cyh2b2lkKQogCXsKIAkJQ29uZmlnUmVsb2FkUGVuZGluZyA9IGZhbHNlOwog CQlQcm9jZXNzQ29uZmlnRmlsZShQR0NfU0lHSFVQKTsKKworCQkvKgorCQkgKiBMb2FkIHRoZSBh cmNoaXZlX2xpYnJhcnkgaW4gY2FzZSBpdCBjaGFuZ2VkLiAgSWRlYWxseSwgdGhpcyB3b3VsZAor CQkgKiBmaXJzdCB1bmxvYWQgYW55IHByZS1leGlzdGluZyBsb2FkZWQgYXJjaGl2ZSBsaWJyYXJ5 IHRvIHJlbGVhc2UKKwkJICogY3VzdG9tIEdVQ3MsIGRlY29tbWlzc2lvbiBiYWNrZ3JvdW5kIHdv cmtlcnMsIGV0Yy4sIGJ1dCB0aGVyZSBpcworCQkgKiBwcmVzZW50bHkgbm8gbWVjaGFuaXNtIGZv ciB1bmxvYWRpbmcgYSBsaWJyYXJ5LiAgRm9yIG1vcmUKKwkJICogaW5mb3JtYXRpb24sIHNlZSB0 aGUgY29tbWVudCBhYm92ZSBpbnRlcm5hbF91bmxvYWRfbGlicmFyeSgpLgorCQkgKi8KKwkJTG9h ZEFyY2hpdmVMaWJyYXJ5KCk7CiAJfQogfQorCisvKgorICogTG9hZEFyY2hpdmVMaWJyYXJ5Cisg KgorICogTG9hZHMgdGhlIGFyY2hpdmluZyBjYWxsYmFja3MgaW50byBvdXIgbG9jYWwgQXJjaGl2 ZUNvbnRleHQuCisgKi8KK3N0YXRpYyB2b2lkCitMb2FkQXJjaGl2ZUxpYnJhcnkodm9pZCkKK3sK KwlBcmNoaXZlTW9kdWxlSW5pdCBhcmNoaXZlX2luaXQ7CisKKwlpZiAoQXJjaGl2ZUNvbnRleHQg PT0gTlVMTCkKKwkJQXJjaGl2ZUNvbnRleHQgPSBwYWxsb2Moc2l6ZW9mKEFyY2hpdmVNb2R1bGVD YWxsYmFja3MpKTsKKworCW1lbXNldChBcmNoaXZlQ29udGV4dCwgMCwgc2l6ZW9mKEFyY2hpdmVN b2R1bGVDYWxsYmFja3MpKTsKKworCS8qCisJICogSWYgc2hlbGwgYXJjaGl2aW5nIGlzIGVuYWJs ZWQsIHVzZSBvdXIgc3BlY2lhbCBpbml0aWFsaXphdGlvbgorCSAqIGZ1bmN0aW9uLiAgT3RoZXJ3 aXNlLCBsb2FkIHRoZSBsaWJyYXJ5IGFuZCBjYWxsIGl0cworCSAqIF9QR19hcmNoaXZlX21vZHVs ZV9pbml0KCkuCisJICovCisJaWYgKFNoZWxsQXJjaGl2aW5nRW5hYmxlZCgpKQorCQlhcmNoaXZl X2luaXQgPSBzaGVsbF9hcmNoaXZlX2luaXQ7CisJZWxzZQorCQlhcmNoaXZlX2luaXQgPSAoQXJj aGl2ZU1vZHVsZUluaXQpCisJCQlsb2FkX2V4dGVybmFsX2Z1bmN0aW9uKFhMb2dBcmNoaXZlTGli cmFyeSwKKwkJCQkJCQkJICAgIl9QR19hcmNoaXZlX21vZHVsZV9pbml0IiwgZmFsc2UsIE5VTEwp OworCisJaWYgKGFyY2hpdmVfaW5pdCA9PSBOVUxMKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShl cnJtc2coImFyY2hpdmUgbW9kdWxlcyBoYXZlIHRvIGRlY2xhcmUgdGhlICIKKwkJCQkJCSJfUEdf YXJjaGl2ZV9tb2R1bGVfaW5pdCBzeW1ib2wiKSkpOworCisJYXJjaGl2ZV9pbml0KEFyY2hpdmVD b250ZXh0KTsKKworCWlmIChBcmNoaXZlQ29udGV4dC0+Y2hlY2tfY29uZmlndXJlZF9jYiA9PSBO VUxMKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJtc2coImFyY2hpdmUgbW9kdWxlcyBtdXN0 IHJlZ2lzdGVyIGEgY2hlY2sgY2FsbGJhY2siKSkpOworCWlmIChBcmNoaXZlQ29udGV4dC0+YXJj aGl2ZV9maWxlX2NiID09IE5VTEwpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycm1zZygiYXJj aGl2ZSBtb2R1bGVzIG11c3QgcmVnaXN0ZXIgYW4gYXJjaGl2ZSBjYWxsYmFjayIpKSk7Cit9CmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3NoZWxsX2FyY2hpdmUuYyBiL3NyYy9i YWNrZW5kL3Bvc3RtYXN0ZXIvc2hlbGxfYXJjaGl2ZS5jCmluZGV4IDNjNTFiNjIwYjcuLjU4MDkw NDAyOTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc2hlbGxfYXJjaGl2ZS5j CisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvc2hlbGxfYXJjaGl2ZS5jCkBAIC0yLDYgKzIs MTAgQEAKICAqCiAgKiBzaGVsbF9hcmNoaXZlLmMKICAqCisgKiBUaGlzIGFyY2hpdmluZyBmdW5j dGlvbiB1c2VzIGEgdXNlci1zcGVjaWZpZWQgc2hlbGwgY29tbWFuZCAodGhlCisgKiBhcmNoaXZl X2NvbW1hbmQgR1VDKSB0byBjb3B5IHdyaXRlLWFoZWFkIGxvZyBmaWxlcy4gIEl0IGlzIHVzZWQg YXMgdGhlCisgKiBkZWZhdWx0LCBidXQgb3RoZXIgbW9kdWxlcyBtYXkgZGVmaW5lIHRoZWlyIG93 biBjdXN0b20gYXJjaGl2aW5nIGxvZ2ljLgorICoKICAqIENvcHlyaWdodCAoYykgMjAyMSwgUG9z dGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKICAqCiAgKiBJREVOVElGSUNBVElPTgpA QCAtMTcsNyArMjEsMjUgQEAKICNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3N0bWFz dGVyL3BnYXJjaC5oIgogCi1ib29sCitzdGF0aWMgYm9vbCBzaGVsbF9hcmNoaXZlX2NvbmZpZ3Vy ZWQodm9pZCk7CitzdGF0aWMgYm9vbCBzaGVsbF9hcmNoaXZlX2ZpbGUoY29uc3QgY2hhciAqZmls ZSwgY29uc3QgY2hhciAqcGF0aCk7CisKK3ZvaWQKK3NoZWxsX2FyY2hpdmVfaW5pdChBcmNoaXZl TW9kdWxlQ2FsbGJhY2tzICpjYikKK3sKKwlBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlKCZzaGVsbF9h cmNoaXZlX2luaXQsIEFyY2hpdmVNb2R1bGVJbml0KTsKKworCWNiLT5jaGVja19jb25maWd1cmVk X2NiID0gc2hlbGxfYXJjaGl2ZV9jb25maWd1cmVkOworCWNiLT5hcmNoaXZlX2ZpbGVfY2IgPSBz aGVsbF9hcmNoaXZlX2ZpbGU7Cit9CisKK3N0YXRpYyBib29sCitzaGVsbF9hcmNoaXZlX2NvbmZp Z3VyZWQodm9pZCkKK3sKKwlyZXR1cm4gWExvZ0FyY2hpdmVDb21tYW5kWzBdICE9ICdcMCc7Cit9 CisKK3N0YXRpYyBib29sCiBzaGVsbF9hcmNoaXZlX2ZpbGUoY29uc3QgY2hhciAqZmlsZSwgY29u c3QgY2hhciAqcGF0aCkKIHsKIAljaGFyCQl4bG9nYXJjaGNtZFtNQVhQR1BBVEhdOwpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9taXNjaW5pdC5jIGIvc3JjL2JhY2tlbmQvdXRp bHMvaW5pdC9taXNjaW5pdC5jCmluZGV4IDg4ODAxMzc0YjUuLjM1OGQ5ZWQwMjkgMTAwNjQ0Ci0t LSBhL3NyYy9iYWNrZW5kL3V0aWxzL2luaXQvbWlzY2luaXQuYworKysgYi9zcmMvYmFja2VuZC91 dGlscy9pbml0L21pc2Npbml0LmMKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJwZ3N0YXQu aCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2F1dG92YWN1dW0uaCIKICNpbmNsdWRlICJwb3N0bWFz dGVyL2ludGVycnVwdC5oIgorI2luY2x1ZGUgInBvc3RtYXN0ZXIvcGdhcmNoLmgiCiAjaW5jbHVk ZSAicG9zdG1hc3Rlci9wb3N0bWFzdGVyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9mZC5oIgogI2lu Y2x1ZGUgInN0b3JhZ2UvaXBjLmgiCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNj L2d1Yy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvbWlzYy9ndWMuYwppbmRleCBlOTFkNWEzY2ZkLi41 N2E5MjU1ZmMyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9taXNjL2d1Yy5jCisrKyBi L3NyYy9iYWNrZW5kL3V0aWxzL21pc2MvZ3VjLmMKQEAgLTM4NjQsMTMgKzM4NjQsMjMgQEAgc3Rh dGljIHN0cnVjdCBjb25maWdfc3RyaW5nIENvbmZpZ3VyZU5hbWVzU3RyaW5nW10gPQogCXsKIAkJ eyJhcmNoaXZlX2NvbW1hbmQiLCBQR0NfU0lHSFVQLCBXQUxfQVJDSElWSU5HLAogCQkJZ2V0dGV4 dF9ub29wKCJTZXRzIHRoZSBzaGVsbCBjb21tYW5kIHRoYXQgd2lsbCBiZSBjYWxsZWQgdG8gYXJj aGl2ZSBhIFdBTCBmaWxlLiIpLAotCQkJTlVMTAorCQkJZ2V0dGV4dF9ub29wKCJUaGlzIGlzIHVu dXNlZCBpZiBcImFyY2hpdmVfbGlicmFyeVwiIGRvZXMgbm90IGluZGljYXRlIGFyY2hpdmluZyB2 aWEgc2hlbGwgaXMgZW5hYmxlZC4iKQogCQl9LAogCQkmWExvZ0FyY2hpdmVDb21tYW5kLAogCQki IiwKIAkJTlVMTCwgTlVMTCwgc2hvd19hcmNoaXZlX2NvbW1hbmQKIAl9LAogCisJeworCQl7ImFy Y2hpdmVfbGlicmFyeSIsIFBHQ19TSUdIVVAsIFdBTF9BUkNISVZJTkcsCisJCQlnZXR0ZXh0X25v b3AoIlNldHMgdGhlIGxpYnJhcnkgdGhhdCB3aWxsIGJlIGNhbGxlZCB0byBhcmNoaXZlIGEgV0FM IGZpbGUuIiksCisJCQlnZXR0ZXh0X25vb3AoIkEgdmFsdWUgb2YgXCJzaGVsbFwiIG9yIGFuIGVt cHR5IHN0cmluZyBpbmRpY2F0ZXMgdGhhdCBcImFyY2hpdmVfY29tbWFuZFwiIHNob3VsZCBiZSB1 c2VkLiIpCisJCX0sCisJCSZYTG9nQXJjaGl2ZUxpYnJhcnksCisJCSJzaGVsbCIsCisJCU5VTEws IE5VTEwsIE5VTEwKKwl9LAorCiAJewogCQl7InJlc3RvcmVfY29tbWFuZCIsIFBHQ19TSUdIVVAs IFdBTF9BUkNISVZFX1JFQ09WRVJZLAogCQkJZ2V0dGV4dF9ub29wKCJTZXRzIHRoZSBzaGVsbCBj b21tYW5kIHRoYXQgd2lsbCBiZSBjYWxsZWQgdG8gcmV0cmlldmUgYW4gYXJjaGl2ZWQgV0FMIGZp bGUuIiksCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29u Zi5zYW1wbGUgYi9zcmMvYmFja2VuZC91dGlscy9taXNjL3Bvc3RncmVzcWwuY29uZi5zYW1wbGUK aW5kZXggMWNiYzlmZWViNi4uZGM0YTIwYjAxNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRp bHMvbWlzYy9wb3N0Z3Jlc3FsLmNvbmYuc2FtcGxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL21p c2MvcG9zdGdyZXNxbC5jb25mLnNhbXBsZQpAQCAtMjQ1LDYgKzI0NSw3IEBACiAKICNhcmNoaXZl X21vZGUgPSBvZmYJCSMgZW5hYmxlcyBhcmNoaXZpbmc7IG9mZiwgb24sIG9yIGFsd2F5cwogCQkJ CSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQorI2FyY2hpdmVfbGlicmFyeSA9ICdzaGVsbCcJ IyBsaWJyYXJ5IHRvIHVzZSB0byBhcmNoaXZlIGEgbG9nZmlsZSBzZWdtZW50CiAjYXJjaGl2ZV9j b21tYW5kID0gJycJCSMgY29tbWFuZCB0byB1c2UgdG8gYXJjaGl2ZSBhIGxvZ2ZpbGUgc2VnbWVu dAogCQkJCSMgcGxhY2Vob2xkZXJzOiAlcCA9IHBhdGggb2YgZmlsZSB0byBhcmNoaXZlCiAJCQkJ IyAgICAgICAgICAgICAgICVmID0gZmlsZSBuYW1lIG9ubHkKZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL2FjY2Vzcy94bG9nLmggYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZy5oCmluZGV4IDg5OGRm MmVlMDMuLjk0MmViNGQ1NWMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nLmgK KysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaApAQCAtMTU1LDcgKzE1NSw2IEBAIGV4dGVy biBQR0RMTElNUE9SVCBpbnQgd2FsX2xldmVsOwogLyogSXMgV0FMIGFyY2hpdmluZyBlbmFibGVk IGFsd2F5cyAoZXZlbiBkdXJpbmcgcmVjb3ZlcnkpPyAqLwogI2RlZmluZSBYTG9nQXJjaGl2aW5n QWx3YXlzKCkgXAogCShBc3NlcnRNYWNybyhYTG9nQXJjaGl2ZU1vZGUgPT0gQVJDSElWRV9NT0RF X09GRiB8fCB3YWxfbGV2ZWwgPj0gV0FMX0xFVkVMX1JFUExJQ0EpLCBYTG9nQXJjaGl2ZU1vZGUg PT0gQVJDSElWRV9NT0RFX0FMV0FZUykKLSNkZWZpbmUgWExvZ0FyY2hpdmVDb21tYW5kU2V0KCkg KFhMb2dBcmNoaXZlQ29tbWFuZFswXSAhPSAnXDAnKQogCiAvKgogICogSXMgV0FMLWxvZ2dpbmcg bmVjZXNzYXJ5IGZvciBhcmNoaXZhbCBvciBsb2ctc2hpcHBpbmcsIG9yIGNhbiB3ZSBza2lwCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3BnYXJjaC5oIGIvc3JjL2luY2x1ZGUv cG9zdG1hc3Rlci9wZ2FyY2guaAppbmRleCA5YzRiZDY5YjU2Li4wM2I1YWI3YzIyIDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3BnYXJjaC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bv c3RtYXN0ZXIvcGdhcmNoLmgKQEAgLTMzLDcgKzMzLDQ5IEBAIGV4dGVybiB2b2lkIFBnQXJjaGl2 ZXJNYWluKHZvaWQpIHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOwogZXh0ZXJuIHZvaWQgUGdBcmNo V2FrZXVwKHZvaWQpOwogZXh0ZXJuIHZvaWQgUGdBcmNoRm9yY2VEaXJTY2FuKHZvaWQpOwogCi0v KiBpbiBzaGVsbF9hcmNoaXZlLmMgKi8KLWV4dGVybiBib29sIHNoZWxsX2FyY2hpdmVfZmlsZShj b25zdCBjaGFyICpmaWxlLCBjb25zdCBjaGFyICpwYXRoKTsKKy8qCisgKiBUaGUgdmFsdWUgb2Yg dGhlIGFyY2hpdmVfbGlicmFyeSBHVUMuCisgKi8KK2V4dGVybiBjaGFyICpYTG9nQXJjaGl2ZUxp YnJhcnk7CisKKy8qCisgKiBDYWxsYmFjayB0aGF0IGdldHMgY2FsbGVkIHRvIGRldGVybWluZSBp ZiB0aGUgYXJjaGl2ZSBtb2R1bGUgaXMKKyAqIGNvbmZpZ3VyZWQuCisgKi8KK3R5cGVkZWYgYm9v bCAoKkFyY2hpdmVDaGVja0NvbmZpZ3VyZWRDQikgKHZvaWQpOworCisvKgorICogQ2FsbGJhY2sg Y2FsbGVkIHRvIGFyY2hpdmUgYSBzaW5nbGUgV0FMIGZpbGUuCisgKi8KK3R5cGVkZWYgYm9vbCAo KkFyY2hpdmVGaWxlQ0IpIChjb25zdCBjaGFyICpmaWxlLCBjb25zdCBjaGFyICpwYXRoKTsKKwor LyoKKyAqIEFyY2hpdmUgbW9kdWxlIGNhbGxiYWNrcworICovCit0eXBlZGVmIHN0cnVjdCBBcmNo aXZlTW9kdWxlQ2FsbGJhY2tzCit7CisJQXJjaGl2ZUNoZWNrQ29uZmlndXJlZENCIGNoZWNrX2Nv bmZpZ3VyZWRfY2I7CisJQXJjaGl2ZUZpbGVDQiBhcmNoaXZlX2ZpbGVfY2I7Cit9IEFyY2hpdmVN b2R1bGVDYWxsYmFja3M7CisKKy8qCisgKiBUeXBlIG9mIHRoZSBzaGFyZWQgbGlicmFyeSBzeW1i b2wgX1BHX2FyY2hpdmVfbW9kdWxlX2luaXQgdGhhdCBpcyBsb29rZWQKKyAqIHVwIHdoZW4gbG9h ZGluZyBhbiBhcmNoaXZlIGxpYnJhcnkuCisgKi8KK3R5cGVkZWYgdm9pZCAoKkFyY2hpdmVNb2R1 bGVJbml0KSAoQXJjaGl2ZU1vZHVsZUNhbGxiYWNrcyAqY2IpOworCisvKgorICogU2luY2UgdGhl IGxvZ2ljIGZvciBhcmNoaXZpbmcgdmlhIGEgc2hlbGwgY29tbWFuZCBpcyBpbiB0aGUgY29yZSBz ZXJ2ZXIKKyAqIGFuZCBkb2VzIG5vdCBuZWVkIHRvIGJlIGxvYWRlZCB2aWEgYSBzaGFyZWQgbGli cmFyeSwgaXQgaGFzIGEgc3BlY2lhbAorICogaW5pdGlhbGl6YXRpb24gZnVuY3Rpb24uCisgKi8K K2V4dGVybiB2b2lkIHNoZWxsX2FyY2hpdmVfaW5pdChBcmNoaXZlTW9kdWxlQ2FsbGJhY2tzICpj Yik7CisKKy8qCisgKiBXZSBjb25zaWRlciBhcmNoaXZpbmcgdmlhIHNoZWxsIHRvIGJlIGVuYWJs ZWQgaWYgYXJjaGl2ZV9saWJyYXJ5IGlzCisgKiBlbXB0eSBvciBpZiBhcmNoaXZlX2xpYnJhcnkg aXMgc2V0IHRvICJzaGVsbCIuCisgKi8KKyNkZWZpbmUgU2hlbGxBcmNoaXZpbmdFbmFibGVkKCkg XAorCShYTG9nQXJjaGl2ZUxpYnJhcnlbMF0gPT0gJ1wwJyB8fCBzdHJjbXAoWExvZ0FyY2hpdmVM aWJyYXJ5LCAic2hlbGwiKSA9PSAwKQogCiAjZW5kaWYJCQkJCQkJLyogX1BHQVJDSF9IICovCi0t IAoyLjE2LjYKCg== --_005_0CF39706695249B1987DF012CDF5EEC4amazoncom_ Content-Type: application/octet-stream; name="v11-0001-Refactor-shell-archive-function-to-its-own-file.patch" Content-Description: v11-0001-Refactor-shell-archive-function-to-its-own-file.patch Content-Disposition: attachment; filename="v11-0001-Refactor-shell-archive-function-to-its-own-file.patch"; size=9076; creation-date="Mon, 22 Nov 2021 17:58:01 GMT"; modification-date="Mon, 22 Nov 2021 17:58:01 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSAxMzNhNzk3OTE2NDIxMzNkMGRiYmI5YTNhYjZkMTNhNTA3YzAyMjBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogTW9uLCAyMiBOb3YgMjAyMSAxNzo0OToxOCArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjEx IDEvNF0gUmVmYWN0b3Igc2hlbGwgYXJjaGl2ZSBmdW5jdGlvbiB0byBpdHMgb3duIGZpbGUuCgot LS0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvTWFrZWZpbGUgICAgICAgIHwgICAxICsKIHNyYy9i YWNrZW5kL3Bvc3RtYXN0ZXIvcGdhcmNoLmMgICAgICAgIHwgMTI2ICsrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9zaGVsbF9hcmNoaXZlLmMgfCAx MzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvaW5jbHVkZS9wb3N0bWFz dGVyL3BnYXJjaC5oICAgICAgICB8ICAgMyArCiA0IGZpbGVzIGNoYW5nZWQsIDE0NSBpbnNlcnRp b25zKCspLCAxMjAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQv cG9zdG1hc3Rlci9zaGVsbF9hcmNoaXZlLmMKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0 bWFzdGVyL01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9NYWtlZmlsZQppbmRleCA3 ODdjNmEyYzNiLi5kYmJlYWM1YTgyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVy L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvTWFrZWZpbGUKQEAgLTIzLDYg KzIzLDcgQEAgT0JKUyA9IFwKIAlwZ2FyY2gubyBcCiAJcGdzdGF0Lm8gXAogCXBvc3RtYXN0ZXIu byBcCisJc2hlbGxfYXJjaGl2ZS5vIFwKIAlzdGFydHVwLm8gXAogCXN5c2xvZ2dlci5vIFwKIAl3 YWx3cml0ZXIubwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ2FyY2guYyBi L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdhcmNoLmMKaW5kZXggNDM0OTM5YmU5Yi4uN2ZhMTY0 NDg4OSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ2FyY2guYworKysgYi9z cmMvYmFja2VuZC9wb3N0bWFzdGVyL3BnYXJjaC5jCkBAIC0yNSwxOSArMjUsMTMgQEAKICAqLwog I2luY2x1ZGUgInBvc3RncmVzLmgiCiAKLSNpbmNsdWRlIDxmY250bC5oPgotI2luY2x1ZGUgPHNp Z25hbC5oPgotI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotI2luY2x1 ZGUgPHN5cy90aW1lLmg+Ci0jaW5jbHVkZSA8c3lzL3dhaXQuaD4KICNpbmNsdWRlIDx1bmlzdGQu aD4KIAogI2luY2x1ZGUgImFjY2Vzcy94bG9nLmgiCiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dfaW50 ZXJuYWwuaCIKICNpbmNsdWRlICJsaWIvYmluYXJ5aGVhcC5oIgogI2luY2x1ZGUgImxpYnBxL3Bx c2lnbmFsLmgiCi0jaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAicGdzdGF0LmgiCiAj aW5jbHVkZSAicG9zdG1hc3Rlci9pbnRlcnJ1cHQuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL3Bn YXJjaC5oIgpAQCAtNDkwLDEzMiArNDg0LDI0IEBAIHBnYXJjaF9BcmNoaXZlckNvcHlMb29wKHZv aWQpCiBzdGF0aWMgYm9vbAogcGdhcmNoX2FyY2hpdmVYbG9nKGNoYXIgKnhsb2cpCiB7Ci0JY2hh cgkJeGxvZ2FyY2hjbWRbTUFYUEdQQVRIXTsKIAljaGFyCQlwYXRobmFtZVtNQVhQR1BBVEhdOwog CWNoYXIJCWFjdGl2aXR5bXNnW01BWEZOQU1FTEVOICsgMTZdOwotCWNoYXIJICAgKmRwOwotCWNo YXIJICAgKmVuZHA7Ci0JY29uc3QgY2hhciAqc3A7Ci0JaW50CQkJcmM7CisJYm9vbAkJcmV0Owog CiAJc25wcmludGYocGF0aG5hbWUsIE1BWFBHUEFUSCwgWExPR0RJUiAiLyVzIiwgeGxvZyk7CiAK LQkvKgotCSAqIGNvbnN0cnVjdCB0aGUgY29tbWFuZCB0byBiZSBleGVjdXRlZAotCSAqLwotCWRw ID0geGxvZ2FyY2hjbWQ7Ci0JZW5kcCA9IHhsb2dhcmNoY21kICsgTUFYUEdQQVRIIC0gMTsKLQkq ZW5kcCA9ICdcMCc7Ci0KLQlmb3IgKHNwID0gWExvZ0FyY2hpdmVDb21tYW5kOyAqc3A7IHNwKysp Ci0JewotCQlpZiAoKnNwID09ICclJykKLQkJewotCQkJc3dpdGNoIChzcFsxXSkKLQkJCXsKLQkJ CQljYXNlICdwJzoKLQkJCQkJLyogJXA6IHJlbGF0aXZlIHBhdGggb2Ygc291cmNlIGZpbGUgKi8K LQkJCQkJc3ArKzsKLQkJCQkJc3RybGNweShkcCwgcGF0aG5hbWUsIGVuZHAgLSBkcCk7Ci0JCQkJ CW1ha2VfbmF0aXZlX3BhdGgoZHApOwotCQkJCQlkcCArPSBzdHJsZW4oZHApOwotCQkJCQlicmVh azsKLQkJCQljYXNlICdmJzoKLQkJCQkJLyogJWY6IGZpbGVuYW1lIG9mIHNvdXJjZSBmaWxlICov Ci0JCQkJCXNwKys7Ci0JCQkJCXN0cmxjcHkoZHAsIHhsb2csIGVuZHAgLSBkcCk7Ci0JCQkJCWRw ICs9IHN0cmxlbihkcCk7Ci0JCQkJCWJyZWFrOwotCQkJCWNhc2UgJyUnOgotCQkJCQkvKiBjb252 ZXJ0ICUlIHRvIGEgc2luZ2xlICUgKi8KLQkJCQkJc3ArKzsKLQkJCQkJaWYgKGRwIDwgZW5kcCkK LQkJCQkJCSpkcCsrID0gKnNwOwotCQkJCQlicmVhazsKLQkJCQlkZWZhdWx0OgotCQkJCQkvKiBv dGhlcndpc2UgdHJlYXQgdGhlICUgYXMgbm90IHNwZWNpYWwgKi8KLQkJCQkJaWYgKGRwIDwgZW5k cCkKLQkJCQkJCSpkcCsrID0gKnNwOwotCQkJCQlicmVhazsKLQkJCX0KLQkJfQotCQllbHNlCi0J CXsKLQkJCWlmIChkcCA8IGVuZHApCi0JCQkJKmRwKysgPSAqc3A7Ci0JCX0KLQl9Ci0JKmRwID0g J1wwJzsKLQotCWVyZXBvcnQoREVCVUczLAotCQkJKGVycm1zZ19pbnRlcm5hbCgiZXhlY3V0aW5n IGFyY2hpdmUgY29tbWFuZCBcIiVzXCIiLAotCQkJCQkJCSB4bG9nYXJjaGNtZCkpKTsKLQogCS8q IFJlcG9ydCBhcmNoaXZlIGFjdGl2aXR5IGluIFBTIGRpc3BsYXkgKi8KIAlzbnByaW50ZihhY3Rp dml0eW1zZywgc2l6ZW9mKGFjdGl2aXR5bXNnKSwgImFyY2hpdmluZyAlcyIsIHhsb2cpOwogCXNl dF9wc19kaXNwbGF5KGFjdGl2aXR5bXNnKTsKIAotCXBnc3RhdF9yZXBvcnRfd2FpdF9zdGFydChX QUlUX0VWRU5UX0FSQ0hJVkVfQ09NTUFORCk7Ci0JcmMgPSBzeXN0ZW0oeGxvZ2FyY2hjbWQpOwot CXBnc3RhdF9yZXBvcnRfd2FpdF9lbmQoKTsKLQotCWlmIChyYyAhPSAwKQotCXsKLQkJLyoKLQkJ ICogSWYgZWl0aGVyIHRoZSBzaGVsbCBpdHNlbGYsIG9yIGEgY2FsbGVkIGNvbW1hbmQsIGRpZWQg b24gYSBzaWduYWwsCi0JCSAqIGFib3J0IHRoZSBhcmNoaXZlci4gIFdlIGRvIHRoaXMgYmVjYXVz ZSBzeXN0ZW0oKSBpZ25vcmVzIFNJR0lOVCBhbmQKLQkJICogU0lHUVVJVCB3aGlsZSB3YWl0aW5n OyBzbyBhIHNpZ25hbCBpcyB2ZXJ5IGxpa2VseSBzb21ldGhpbmcgdGhhdAotCQkgKiBzaG91bGQg aGF2ZSBpbnRlcnJ1cHRlZCB1cyB0b28uICBBbHNvIGRpZSBpZiB0aGUgc2hlbGwgZ290IGEgaGFy ZAotCQkgKiAiY29tbWFuZCBub3QgZm91bmQiIHR5cGUgb2YgZXJyb3IuICBJZiB3ZSBvdmVycmVh Y3QgaXQncyBubyBiaWcKLQkJICogZGVhbCwgdGhlIHBvc3RtYXN0ZXIgd2lsbCBqdXN0IHN0YXJ0 IHRoZSBhcmNoaXZlciBhZ2Fpbi4KLQkJICovCi0JCWludAkJCWxldiA9IHdhaXRfcmVzdWx0X2lz X2FueV9zaWduYWwocmMsIHRydWUpID8gRkFUQUwgOiBMT0c7Ci0KLQkJaWYgKFdJRkVYSVRFRChy YykpCi0JCXsKLQkJCWVyZXBvcnQobGV2LAotCQkJCQkoZXJybXNnKCJhcmNoaXZlIGNvbW1hbmQg ZmFpbGVkIHdpdGggZXhpdCBjb2RlICVkIiwKLQkJCQkJCQlXRVhJVFNUQVRVUyhyYykpLAotCQkJ CQkgZXJyZGV0YWlsKCJUaGUgZmFpbGVkIGFyY2hpdmUgY29tbWFuZCB3YXM6ICVzIiwKLQkJCQkJ CQkgICB4bG9nYXJjaGNtZCkpKTsKLQkJfQotCQllbHNlIGlmIChXSUZTSUdOQUxFRChyYykpCi0J CXsKLSNpZiBkZWZpbmVkKFdJTjMyKQotCQkJZXJlcG9ydChsZXYsCi0JCQkJCShlcnJtc2coImFy Y2hpdmUgY29tbWFuZCB3YXMgdGVybWluYXRlZCBieSBleGNlcHRpb24gMHglWCIsCi0JCQkJCQkJ V1RFUk1TSUcocmMpKSwKLQkJCQkJIGVycmhpbnQoIlNlZSBDIGluY2x1ZGUgZmlsZSBcIm50c3Rh dHVzLmhcIiBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgaGV4YWRlY2ltYWwgdmFsdWUuIiksCi0J CQkJCSBlcnJkZXRhaWwoIlRoZSBmYWlsZWQgYXJjaGl2ZSBjb21tYW5kIHdhczogJXMiLAotCQkJ CQkJCSAgIHhsb2dhcmNoY21kKSkpOwotI2Vsc2UKLQkJCWVyZXBvcnQobGV2LAotCQkJCQkoZXJy bXNnKCJhcmNoaXZlIGNvbW1hbmQgd2FzIHRlcm1pbmF0ZWQgYnkgc2lnbmFsICVkOiAlcyIsCi0J CQkJCQkJV1RFUk1TSUcocmMpLCBwZ19zdHJzaWduYWwoV1RFUk1TSUcocmMpKSksCi0JCQkJCSBl cnJkZXRhaWwoIlRoZSBmYWlsZWQgYXJjaGl2ZSBjb21tYW5kIHdhczogJXMiLAotCQkJCQkJCSAg IHhsb2dhcmNoY21kKSkpOwotI2VuZGlmCi0JCX0KLQkJZWxzZQotCQl7Ci0JCQllcmVwb3J0KGxl diwKLQkJCQkJKGVycm1zZygiYXJjaGl2ZSBjb21tYW5kIGV4aXRlZCB3aXRoIHVucmVjb2duaXpl ZCBzdGF0dXMgJWQiLAotCQkJCQkJCXJjKSwKLQkJCQkJIGVycmRldGFpbCgiVGhlIGZhaWxlZCBh cmNoaXZlIGNvbW1hbmQgd2FzOiAlcyIsCi0JCQkJCQkJICAgeGxvZ2FyY2hjbWQpKSk7Ci0JCX0K LQorCXJldCA9IHNoZWxsX2FyY2hpdmVfZmlsZSh4bG9nLCBwYXRobmFtZSk7CisJaWYgKHJldCkK KwkJc25wcmludGYoYWN0aXZpdHltc2csIHNpemVvZihhY3Rpdml0eW1zZyksICJsYXN0IHdhcyAl cyIsIHhsb2cpOworCWVsc2UKIAkJc25wcmludGYoYWN0aXZpdHltc2csIHNpemVvZihhY3Rpdml0 eW1zZyksICJmYWlsZWQgb24gJXMiLCB4bG9nKTsKLQkJc2V0X3BzX2Rpc3BsYXkoYWN0aXZpdHlt c2cpOwotCi0JCXJldHVybiBmYWxzZTsKLQl9Ci0JZWxvZyhERUJVRzEsICJhcmNoaXZlZCB3cml0 ZS1haGVhZCBsb2cgZmlsZSBcIiVzXCIiLCB4bG9nKTsKLQotCXNucHJpbnRmKGFjdGl2aXR5bXNn LCBzaXplb2YoYWN0aXZpdHltc2cpLCAibGFzdCB3YXMgJXMiLCB4bG9nKTsKIAlzZXRfcHNfZGlz cGxheShhY3Rpdml0eW1zZyk7CiAKLQlyZXR1cm4gdHJ1ZTsKKwlyZXR1cm4gcmV0OwogfQogCiAv KgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9zaGVsbF9hcmNoaXZlLmMgYi9z cmMvYmFja2VuZC9wb3N0bWFzdGVyL3NoZWxsX2FyY2hpdmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwLi4zYzUxYjYyMGI3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL2Jh Y2tlbmQvcG9zdG1hc3Rlci9zaGVsbF9hcmNoaXZlLmMKQEAgLTAsMCArMSwxMzUgQEAKKy8qLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorICoKKyAqIHNoZWxsX2FyY2hpdmUuYworICoKKyAqIENvcHlyaWdodCAo YykgMjAyMSwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqCisgKiBJREVO VElGSUNBVElPTgorICoJICBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3NoZWxsX2FyY2hpdmUuYwor ICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaW5jbHVkZSAicG9zdGdyZXMuaCIKKworI2lu Y2x1ZGUgPHN5cy93YWl0Lmg+CisKKyNpbmNsdWRlICJhY2Nlc3MveGxvZy5oIgorI2luY2x1ZGUg InBnc3RhdC5oIgorI2luY2x1ZGUgInBvc3RtYXN0ZXIvcGdhcmNoLmgiCisKK2Jvb2wKK3NoZWxs X2FyY2hpdmVfZmlsZShjb25zdCBjaGFyICpmaWxlLCBjb25zdCBjaGFyICpwYXRoKQoreworCWNo YXIJCXhsb2dhcmNoY21kW01BWFBHUEFUSF07CisJY2hhcgkgICAqZHA7CisJY2hhcgkgICAqZW5k cDsKKwljb25zdCBjaGFyICpzcDsKKwlpbnQJCQlyYzsKKworCS8qCisJICogY29uc3RydWN0IHRo ZSBjb21tYW5kIHRvIGJlIGV4ZWN1dGVkCisJICovCisJZHAgPSB4bG9nYXJjaGNtZDsKKwllbmRw ID0geGxvZ2FyY2hjbWQgKyBNQVhQR1BBVEggLSAxOworCSplbmRwID0gJ1wwJzsKKworCWZvciAo c3AgPSBYTG9nQXJjaGl2ZUNvbW1hbmQ7ICpzcDsgc3ArKykKKwl7CisJCWlmICgqc3AgPT0gJyUn KQorCQl7CisJCQlzd2l0Y2ggKHNwWzFdKQorCQkJeworCQkJCWNhc2UgJ3AnOgorCQkJCQkvKiAl cDogcmVsYXRpdmUgcGF0aCBvZiBzb3VyY2UgZmlsZSAqLworCQkJCQlzcCsrOworCQkJCQlzdHJs Y3B5KGRwLCBwYXRoLCBlbmRwIC0gZHApOworCQkJCQltYWtlX25hdGl2ZV9wYXRoKGRwKTsKKwkJ CQkJZHAgKz0gc3RybGVuKGRwKTsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSAnZic6CisJCQkJCS8q ICVmOiBmaWxlbmFtZSBvZiBzb3VyY2UgZmlsZSAqLworCQkJCQlzcCsrOworCQkJCQlzdHJsY3B5 KGRwLCBmaWxlLCBlbmRwIC0gZHApOworCQkJCQlkcCArPSBzdHJsZW4oZHApOworCQkJCQlicmVh azsKKwkJCQljYXNlICclJzoKKwkJCQkJLyogY29udmVydCAlJSB0byBhIHNpbmdsZSAlICovCisJ CQkJCXNwKys7CisJCQkJCWlmIChkcCA8IGVuZHApCisJCQkJCQkqZHArKyA9ICpzcDsKKwkJCQkJ YnJlYWs7CisJCQkJZGVmYXVsdDoKKwkJCQkJLyogb3RoZXJ3aXNlIHRyZWF0IHRoZSAlIGFzIG5v dCBzcGVjaWFsICovCisJCQkJCWlmIChkcCA8IGVuZHApCisJCQkJCQkqZHArKyA9ICpzcDsKKwkJ CQkJYnJlYWs7CisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQlpZiAoZHAgPCBlbmRwKQorCQkJ CSpkcCsrID0gKnNwOworCQl9CisJfQorCSpkcCA9ICdcMCc7CisKKwllcmVwb3J0KERFQlVHMywK KwkJCShlcnJtc2dfaW50ZXJuYWwoImV4ZWN1dGluZyBhcmNoaXZlIGNvbW1hbmQgXCIlc1wiIiwK KwkJCQkJCQkgeGxvZ2FyY2hjbWQpKSk7CisKKwlwZ3N0YXRfcmVwb3J0X3dhaXRfc3RhcnQoV0FJ VF9FVkVOVF9BUkNISVZFX0NPTU1BTkQpOworCXJjID0gc3lzdGVtKHhsb2dhcmNoY21kKTsKKwlw Z3N0YXRfcmVwb3J0X3dhaXRfZW5kKCk7CisKKwlpZiAocmMgIT0gMCkKKwl7CisJCS8qCisJCSAq IElmIGVpdGhlciB0aGUgc2hlbGwgaXRzZWxmLCBvciBhIGNhbGxlZCBjb21tYW5kLCBkaWVkIG9u IGEgc2lnbmFsLAorCQkgKiBhYm9ydCB0aGUgYXJjaGl2ZXIuICBXZSBkbyB0aGlzIGJlY2F1c2Ug c3lzdGVtKCkgaWdub3JlcyBTSUdJTlQgYW5kCisJCSAqIFNJR1FVSVQgd2hpbGUgd2FpdGluZzsg c28gYSBzaWduYWwgaXMgdmVyeSBsaWtlbHkgc29tZXRoaW5nIHRoYXQKKwkJICogc2hvdWxkIGhh dmUgaW50ZXJydXB0ZWQgdXMgdG9vLiAgQWxzbyBkaWUgaWYgdGhlIHNoZWxsIGdvdCBhIGhhcmQK KwkJICogImNvbW1hbmQgbm90IGZvdW5kIiB0eXBlIG9mIGVycm9yLiAgSWYgd2Ugb3ZlcnJlYWN0 IGl0J3Mgbm8gYmlnCisJCSAqIGRlYWwsIHRoZSBwb3N0bWFzdGVyIHdpbGwganVzdCBzdGFydCB0 aGUgYXJjaGl2ZXIgYWdhaW4uCisJCSAqLworCQlpbnQJCQlsZXYgPSB3YWl0X3Jlc3VsdF9pc19h bnlfc2lnbmFsKHJjLCB0cnVlKSA/IEZBVEFMIDogTE9HOworCisJCWlmIChXSUZFWElURUQocmMp KQorCQl7CisJCQllcmVwb3J0KGxldiwKKwkJCQkJKGVycm1zZygiYXJjaGl2ZSBjb21tYW5kIGZh aWxlZCB3aXRoIGV4aXQgY29kZSAlZCIsCisJCQkJCQkJV0VYSVRTVEFUVVMocmMpKSwKKwkJCQkJ IGVycmRldGFpbCgiVGhlIGZhaWxlZCBhcmNoaXZlIGNvbW1hbmQgd2FzOiAlcyIsCisJCQkJCQkJ ICAgeGxvZ2FyY2hjbWQpKSk7CisJCX0KKwkJZWxzZSBpZiAoV0lGU0lHTkFMRUQocmMpKQorCQl7 CisjaWYgZGVmaW5lZChXSU4zMikKKwkJCWVyZXBvcnQobGV2LAorCQkJCQkoZXJybXNnKCJhcmNo aXZlIGNvbW1hbmQgd2FzIHRlcm1pbmF0ZWQgYnkgZXhjZXB0aW9uIDB4JVgiLAorCQkJCQkJCVdU RVJNU0lHKHJjKSksCisJCQkJCSBlcnJoaW50KCJTZWUgQyBpbmNsdWRlIGZpbGUgXCJudHN0YXR1 cy5oXCIgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIGhleGFkZWNpbWFsIHZhbHVlLiIpLAorCQkJ CQkgZXJyZGV0YWlsKCJUaGUgZmFpbGVkIGFyY2hpdmUgY29tbWFuZCB3YXM6ICVzIiwKKwkJCQkJ CQkgICB4bG9nYXJjaGNtZCkpKTsKKyNlbHNlCisJCQllcmVwb3J0KGxldiwKKwkJCQkJKGVycm1z ZygiYXJjaGl2ZSBjb21tYW5kIHdhcyB0ZXJtaW5hdGVkIGJ5IHNpZ25hbCAlZDogJXMiLAorCQkJ CQkJCVdURVJNU0lHKHJjKSwgcGdfc3Ryc2lnbmFsKFdURVJNU0lHKHJjKSkpLAorCQkJCQkgZXJy ZGV0YWlsKCJUaGUgZmFpbGVkIGFyY2hpdmUgY29tbWFuZCB3YXM6ICVzIiwKKwkJCQkJCQkgICB4 bG9nYXJjaGNtZCkpKTsKKyNlbmRpZgorCQl9CisJCWVsc2UKKwkJeworCQkJZXJlcG9ydChsZXYs CisJCQkJCShlcnJtc2coImFyY2hpdmUgY29tbWFuZCBleGl0ZWQgd2l0aCB1bnJlY29nbml6ZWQg c3RhdHVzICVkIiwKKwkJCQkJCQlyYyksCisJCQkJCSBlcnJkZXRhaWwoIlRoZSBmYWlsZWQgYXJj aGl2ZSBjb21tYW5kIHdhczogJXMiLAorCQkJCQkJCSAgIHhsb2dhcmNoY21kKSkpOworCQl9CisK KwkJcmV0dXJuIGZhbHNlOworCX0KKworCWVsb2coREVCVUcxLCAiYXJjaGl2ZWQgd3JpdGUtYWhl YWQgbG9nIGZpbGUgXCIlc1wiIiwgZmlsZSk7CisJcmV0dXJuIHRydWU7Cit9CmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL3BnYXJjaC5oIGIvc3JjL2luY2x1ZGUvcG9zdG1hc3Rl ci9wZ2FyY2guaAppbmRleCA3MzI2MTViZTU3Li45YzRiZDY5YjU2IDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9wb3N0bWFzdGVyL3BnYXJjaC5oCisrKyBiL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIv cGdhcmNoLmgKQEAgLTMzLDQgKzMzLDcgQEAgZXh0ZXJuIHZvaWQgUGdBcmNoaXZlck1haW4odm9p ZCkgcGdfYXR0cmlidXRlX25vcmV0dXJuKCk7CiBleHRlcm4gdm9pZCBQZ0FyY2hXYWtldXAodm9p ZCk7CiBleHRlcm4gdm9pZCBQZ0FyY2hGb3JjZURpclNjYW4odm9pZCk7CiAKKy8qIGluIHNoZWxs X2FyY2hpdmUuYyAqLworZXh0ZXJuIGJvb2wgc2hlbGxfYXJjaGl2ZV9maWxlKGNvbnN0IGNoYXIg KmZpbGUsIGNvbnN0IGNoYXIgKnBhdGgpOworCiAjZW5kaWYJCQkJCQkJLyogX1BHQVJDSF9IICov Ci0tIAoyLjE2LjYKCg== --_005_0CF39706695249B1987DF012CDF5EEC4amazoncom_--