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 1nIFIT-0001Pp-9r for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Feb 2022 19:40:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1nIFIS-0000mp-6N for pgsql-hackers@arkaria.postgresql.org; Thu, 10 Feb 2022 19:40:04 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nIFIR-0000mg-MF for pgsql-hackers@lists.postgresql.org; Thu, 10 Feb 2022 19:40:03 +0000 Received: from smtp-fw-9103.amazon.com ([207.171.188.200]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nIFIO-0006l0-1d for pgsql-hackers@postgresql.org; Thu, 10 Feb 2022 19:40:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1644522000; x=1676058000; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=Gfub+bZ0QKSO0wxDp0wVrx58KbTi2/9bpsDAGhDOEOU=; b=IWu3ZFGeEwnuWL4XWvtNT/gnojkIDp2JVfgoMxfEM0eAko3R/YJ2S6iQ H+OhLXK30LlwTKQ96oU5f6HJTJh3V9hJD8BrocXC58etpw8+6gXivOO0x ekt+R6r8OyqkUAiAVuaBH2niafP8AbrWxhOqFHlpOOqyPDrTkLJMILWOd o=; X-Amazon-filename: 0006-Expose-progress-for-the-vacuuming-indexes-and-cleani.patch X-IronPort-AV: E=Sophos;i="5.88,359,1635206400"; d="scan'208,223";a="991196168" Subject: Re: Add index scan progress to pg_stat_progress_vacuum Thread-Topic: Add index scan progress to pg_stat_progress_vacuum Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO email-inbound-relay-pdx-2a-ff3df2fe.us-west-2.amazon.com) ([10.25.36.210]) by smtp-border-fw-9103.sea19.amazon.com with ESMTP; 10 Feb 2022 19:39:56 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194]) by email-inbound-relay-pdx-2a-ff3df2fe.us-west-2.amazon.com (Postfix) with ESMTPS id CD83F415A8; Thu, 10 Feb 2022 19:39:56 +0000 (UTC) Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13MTAUWB001.ant.amazon.com (10.43.161.249) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Thu, 10 Feb 2022 19:39:56 +0000 Received: from EX13D13UWB003.ant.amazon.com (10.43.161.233) by EX13D03UWC004.ant.amazon.com (10.43.162.49) with Microsoft SMTP Server (TLS) id 15.0.1497.28; Thu, 10 Feb 2022 19:39:56 +0000 Received: from EX13D13UWB003.ant.amazon.com ([10.43.161.233]) by EX13D13UWB003.ant.amazon.com ([10.43.161.233]) with mapi id 15.00.1497.028; Thu, 10 Feb 2022 19:39:56 +0000 From: "Imseih (AWS), Sami" To: "Bossart, Nathan" , Masahiko Sawada CC: Justin Pryzby , Peter Geoghegan , "pgsql-hackers@postgresql.org" Thread-Index: AQHX5uocuLg5vK9yXkugZYU7JVvUD6wzrQ+AgAgmSICABBF2gIAG6AwAgAKncACAAHdDgIAB+R4AgApC9gCAAH6XgIAFpgqAgACO0YCAAmeYgIAAPoWAgACuc4CAFeNTAIAJEEuAgA4WS4A= Date: Thu, 10 Feb 2022 19:39:56 +0000 Message-ID: References: <5478DFCD-2333-401A-B2F0-0D186AB09228@amazon.com> <7874FB21-FAA5-49BD-8386-2866552656C7@amazon.com> <7F1C93C1-C50E-497A-86C5-B637EA4D9F79@amazon.com> <04D9F80C-1A7C-4C23-9156-6799D974DC72@amazon.com> <20211229175121.GP24477@telsasoft.com> <39E8ED08-56E6-4466-93BF-3FD3D51EE52C@amazon.com> <5883EFA0-1AFF-46C3-A8A7-0DA63640482F@amazon.com> <6D2C60C2-C09E-4117-A6B8-DCA7A0F5B182@amazon.com> <22C9CB0C-9576-47AF-8A6E-F9573F73CD4E@amazon.com> <6753CC4A-D1D8-477D-9B82-CFE12169DFF5@amazon.com> <7A4B3BA8-0768-4463-9B25-25DBECF56B25@amazon.com> <96387867-CBAF-4CCF-861E-2F4ACBCBBD68@amazon.com> In-Reply-To: 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.162.150] Content-Type: multipart/mixed; boundary="_002_CC7DB450A14243B0A68FC6B45DC435F2amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_CC7DB450A14243B0A68FC6B45DC435F2amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <4C806FFEDCF7DA43B48A931F37F2997B@amazon.com> Content-Transfer-Encoding: base64 QXR0YWNoZWQgaXMgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBwYXRjaCB0byBkZWFsIHdpdGgg dGhlIGNoYW5nZXMgaW4gdGhlIHJlY2VudCBjb21taXQgYWE2NGYyM2IwMjkyNDcyNGVhZmJkOWVh ZGJmMjZkODVkZjMwYTEyYg0KDQrvu79PbiAyLzEvMjIsIDI6MzIgUE0sICJJbXNlaWggKEFXUyks IFNhbWkiIDxzaW1zZWloQGFtYXpvbi5jb20+IHdyb3RlOg0KDQogICAgQWZ0ZXIgc3BlYWtpbmcg d2l0aCBOYXRoYW4gb2ZmbGluZSwgQSBmZXcgY2hhbmdlcyBoYXZlIGJlZW4gbWFkZSB0byB0aGUg cGF0Y2guDQoNCiAgICBBcyBtZW50aW9uZWQgZWFybGllciBpbiB0aGUgdGhyZWFkLCB0cmFja2lu ZyBob3cgbWFueSBpbmRleGVzIGFyZSBwcm9jZXNzZWQgaW4gUEFSQUxMRUwgdmFjdXVtIG1vZGUg aXMgbm90IHZlcnkgc3RyYWlnaHRmb3J3YXJkIHNpbmNlIG9ubHkgdGhlIHdvcmtlcnMgb3IgbGVh ZGVyIHByb2Nlc3MgaGF2ZSBhYmlsaXR5IHRvIGluc3BlY3QgdGhlIFZhY3V1bSBzaGFyZWQgcGFy YWxsZWwgc3RhdGUuIA0KDQogICAgVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBwYXRjaCBpbnRy b2R1Y2VzIGEgc2hhcmVkIG1lbW9yeSB0byB0cmFjayBpbmRleGVzIHZhY3V1bWVkL2NsZWFuZWQg YnkgZWFjaCB3b3JrZXIgKCBvciBsZWFkZXIgKSBpbiBhIFBBUkFMTEVMIHZhY3V1bS4gSW4gb3Jk ZXIgdG8gcHJlc2VudCB0aGlzIGRhdGEgaW4gdGhlIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIHZp ZXcsIHRoZSB2YWx1ZSBvZiB0aGUgbmV3IGNvbHVtbiAiaW5kZXhlc19wcm9jZXNzZWQiICBpcyBy ZXRyaWV2ZWQgZnJvbSBzaGFyZWQgbWVtb3J5IGJ5IHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8u IEZvciBub24tcGFyYWxsZWwgdmFjdXVtcywgdGhlIHZhbHVlIG9mICJpbmRleGVzX3Byb2Nlc3Nl ZCIgaXMgcmV0cmlldmVkIGZyb20gdGhlIGJhY2tlbmQgcHJvZ3Jlc3MgYXJyYXkgZGlyZWN0bHku IA0KDQogICAgVGhlIHBhdGNoIGFsc28gaW5jbHVkZXMgdGhlIGNoYW5nZXMgdG8gaW1wbGVtZW50 IHRoZSBuZXcgdmlldyBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleCB3aGljaCBleHBvc2Vz IHRoZSBpbmRleCBiZWluZyB2YWN1dW1lZC9jbGVhbmVkIHVwLg0KDQogICAgcG9zdGdyZXM9IyBc ZCsgcGdfc3RhdF9wcm9ncmVzc192YWN1dW0gOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAg VmlldyAicGdfY2F0YWxvZy5wZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bSINCiAgICAgICAgICAgQ29s dW1uICAgICAgIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCB8IFN0 b3JhZ2UgIHwgRGVzY3JpcHRpb24NCiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t DQogICAgIHBpZCAgICAgICAgICAgICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAg ICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogICAgIGRhdGlkICAgICAgICAgICAgICB8IG9pZCAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogICAgIGRh dG5hbWUgICAgICAgICAgICB8IG5hbWUgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAg ICAgfCBwbGFpbiAgICB8DQogICAgIHJlbGlkICAgICAgICAgICAgICB8IG9pZCAgICAgfCAgICAg ICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogICAgIHBoYXNlICAgICAg ICAgICAgICB8IHRleHQgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBleHRl bmRlZCB8DQogICAgIGhlYXBfYmxrc190b3RhbCAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAg ICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogICAgIGhlYXBfYmxrc19zY2FubmVkICB8 IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQog ICAgIGhlYXBfYmxrc192YWN1dW1lZCB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8 ICAgICAgICAgfCBwbGFpbiAgICB8DQogICAgIGluZGV4X3ZhY3V1bV9jb3VudCB8IGJpZ2ludCAg fCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogICAgIG1heF9k ZWFkX3R1cGxlcyAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAg fCBwbGFpbiAgICB8DQogICAgIG51bV9kZWFkX3R1cGxlcyAgICB8IGJpZ2ludCAgfCAgICAgICAg ICAgfCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAgICB8DQogICAgIGluZGV4ZXNfdG90YWwg ICAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgfCBwbGFpbiAg ICB8ICAgICAgICAgICAgICAgICAgPDw8LS0gbmV3IGNvbHVtbg0KICAgICBpbmRleGVzX3Byb2Nl c3NlZCAgfCBiaWdpbnQgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgIHwgcGxhaW4g ICAgfCAgICAgICAgICAgICAgICAgIDw8PC0tIG5ldyBjb2x1bW4NCg0KDQogICAgPDw8LS0tIG5l dyB2aWV3IC0tLT4+Pg0KDQogICAgcG9zdGdyZXM9IyBcZCBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1 bV9pbmRleA0KICAgICAgICAgIFZpZXcgInBnX2NhdGFsb2cucGdfc3RhdF9wcm9ncmVzc192YWN1 dW1faW5kZXgiDQogICAgICAgICBDb2x1bW4gICAgIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51 bGxhYmxlIHwgRGVmYXVsdA0KICAgIC0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgIHBpZCAgICAgICAgICAgIHwgaW50ZWdlciB8 ICAgICAgICAgICB8ICAgICAgICAgIHwNCiAgICAgZGF0aWQgICAgICAgICAgfCBvaWQgICAgIHwg ICAgICAgICAgIHwgICAgICAgICAgfA0KICAgICBkYXRuYW1lICAgICAgICB8IG5hbWUgICAgfCAg ICAgICAgICAgfCAgICAgICAgICB8DQogICAgIGluZGV4cmVsaWQgICAgIHwgYmlnaW50ICB8ICAg ICAgICAgICB8ICAgICAgICAgIHwNCiAgICAgbGVhZGVyX3BpZCAgICAgfCBiaWdpbnQgIHwgICAg ICAgICAgIHwgICAgICAgICAgfA0KICAgICBwaGFzZSAgICAgICAgICB8IHRleHQgICAgfCAgICAg ICAgICAgfCAgICAgICAgICB8DQogICAgIHR1cGxlc19yZW1vdmVkIHwgYmlnaW50ICB8ICAgICAg ICAgICB8ICAgICAgICAgIHwNCg0KDQoNCiAgICBPbiAxLzI2LzIyLCA4OjA3IFBNLCAiSW1zZWlo IChBV1MpLCBTYW1pIiA8c2ltc2VpaEBhbWF6b24uY29tPiB3cm90ZToNCg0KICAgICAgICBBdHRh Y2hlZCBpcyB0aGUgbGF0ZXN0IHBhdGNoIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24uDQoN CiAgICAgICAgVGhpcyB2ZXJzaW9uIGFkZHJlc3NlcyB0aGUgaW5kZXhfb3JkaW5hbF9wb3NpdGlv biBjb2x1bW4gY29uZnVzaW9uLiBSYXRoZXIgdGhhbiBkaXNwbGF5aW5nIHRoZSBpbmRleCBwb3Np dGlvbiwgdGhlIHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIHZpZXcgbm93IGhhcyAyIG5ldyBjb2x1 bW4ocyk6DQogICAgICAgIGluZGV4X3RvdGFsIC0gdGhpcyBjb2x1bW4gd2lsbCBzaG93IHRoZSB0 b3RhbCBudW1iZXIgb2YgaW5kZXhlcyB0byBiZSB2YWN1dW1lZA0KICAgICAgICBpbmRleF9jb21w bGV0ZV9jb3VudCAtIHRoaXMgY29sdW1uIHdpbGwgc2hvdyB0aGUgdG90YWwgbnVtYmVyIG9mIGlu ZGV4ZXMgcHJvY2Vzc2VkIHNvIGZhci4gSW4gb3JkZXIgdG8gZGVhbCB3aXRoIHRoZSBwYXJhbGxl bCB2YWN1dW1zLCB0aGUgcGFyYWxsZWxfd29ya2VycyAoIHBsYW5uZWQgd29ya2VycyApIHZhbHVl IGhhZCB0byBiZSBleHBvc2VkIGFuZCBlYWNoIGJhY2tlbmRzIHBlcmZvcm1pbmcgYW4gaW5kZXgg dmFjdXVtL2NsZWFudXAgaW4gcGFyYWxsZWwgaGFkIHRvIGFkdmVydGlzZSB0aGUgbnVtYmVyIG9m IGluZGV4ZXMgaXQgdmFjdXVtZWQvY2xlYW5lZC4gVGhlICMgb2YgaW5kZXhlcyB2YWN1dW1lZCBm b3IgdGhlIHBhcmFsbGVsIGNsZWFudXAgY2FuIHRoZW4gYmUgZGVyaXZlZCB0aGUgcGdfc3RhdF9w cm9ncmVzc192YWN1dW0gdmlldy4gDQoNCiAgICAgICAgcG9zdGdyZXM9IyBcZCBwZ19zdGF0X3By b2dyZXNzX3ZhY3V1bQ0KICAgICAgICAgICAgICAgICAgICBWaWV3ICJwZ19jYXRhbG9nLnBnX3N0 YXRfcHJvZ3Jlc3NfdmFjdXVtIg0KICAgICAgICAgICAgICAgIENvbHVtbiAgICAgICAgfCAgVHlw ZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0DQogICAgICAgIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tDQog ICAgICAgICBwaWQgICAgICAgICAgICAgICAgICB8IGludGVnZXIgfCAgICAgICAgICAgfCAgICAg ICAgICB8DQogICAgICAgICBkYXRpZCAgICAgICAgICAgICAgICB8IG9pZCAgICAgfCAgICAgICAg ICAgfCAgICAgICAgICB8DQogICAgICAgICBkYXRuYW1lICAgICAgICAgICAgICB8IG5hbWUgICAg fCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICByZWxpZCAgICAgICAgICAgICAgICB8 IG9pZCAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBwaGFzZSAgICAgICAg ICAgICAgICB8IHRleHQgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBoZWFw X2Jsa3NfdG90YWwgICAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAg ICAgICBoZWFwX2Jsa3Nfc2Nhbm5lZCAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAg ICB8DQogICAgICAgICBoZWFwX2Jsa3NfdmFjdXVtZWQgICB8IGJpZ2ludCAgfCAgICAgICAgICAg fCAgICAgICAgICB8DQogICAgICAgICBpbmRleF92YWN1dW1fY291bnQgICB8IGJpZ2ludCAgfCAg ICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBtYXhfZGVhZF90dXBsZXMgICAgICB8IGJp Z2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBudW1fZGVhZF90dXBsZXMg ICAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBpbmRleF90 b3RhbCAgICAgICAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8LiAgICAgICAg ICAgICAgICAgICAgICAgICAgIDw8PC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgICAgaW5k ZXhfY29tcGxldGVfY291bnQgfCBudW1lcmljIHwgICAgICAgICAgIHwgICAgICAgICAgfC4gICAg ICAgICAgIDw8PC0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQogICAgICAgIFRoZSBwZ19zdGF0X3By b2dyZXNzX3ZhY3V1bV9pbmRleCB2aWV3IGluY2x1ZGVzOg0KDQogICAgICAgIEluZGV4cmVsaWQg LSB0aGUgY3VycmVudGx5IHZhY3V1bWVkIGluZGV4DQogICAgICAgIExlYWRlcl9waWQgLSB0aGUg cGlkIG9mIHRoZSBsZWFkZXIgcHJvY2Vzcy4gTlVMTCBpZiB0aGUgcHJvY2VzcyBpcyB0aGUgbGVh ZGVyIG9yIHZhY3V1bSBpcyBub3QgcGFyYWxsZWwNCiAgICAgICAgdHVwbGVzX3JlbW92ZWQgLSB0 aGUgYW1vdW50IG9mIGluZGV4ZXMgdHVwbGVzIHJlbW92ZWQuIFRoZSB1c2VyIGNhbiB1c2UgdGhp cyBjb2x1bW4gdG8gc2VlIHRoYXQgdGhlIGluZGV4IHZhY3V1bSBoYXMgbW92ZW1lbnQuDQoNCiAg ICAgICAgcG9zdGdyZXM9IyBcZCBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleA0KICAgICAg ICAgICAgICBWaWV3ICJwZ19jYXRhbG9nLnBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4Ig0K ICAgICAgICAgICAgIENvbHVtbiAgICAgfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUg fCBEZWZhdWx0DQogICAgICAgIC0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tDQogICAgICAgICBwaWQgICAgICAgICAgICB8IGludGVnZXIg fCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBkYXRpZCAgICAgICAgICB8IG9pZCAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBkYXRuYW1lICAgICAgICB8IG5h bWUgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBpbmRleHJlbGlkICAgICB8 IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBwaGFzZSAgICAgICAg ICB8IHRleHQgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICBsZWFkZXJfcGlk ICAgICB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQogICAgICAgICB0dXBsZXNf cmVtb3ZlZCB8IGJpZ2ludCAgfCAgICAgICAgICAgfCAgICAgICAgICB8DQoNCg0KDQogICAgICAg IE9uIDEvMTIvMjIsIDk6NTIgUE0sICJJbXNlaWggKEFXUyksIFNhbWkiIDxzaW1zZWloQGFtYXpv bi5jb20+IHdyb3RlOg0KDQogICAgICAgICAgICBPbiAxLzEyLzIyLCAxOjI4IFBNLCAiQm9zc2Fy dCwgTmF0aGFuIiA8Ym9zc2FydG5AYW1hem9uLmNvbT4gd3JvdGU6DQoNCiAgICAgICAgICAgICAg ICBPbiAxLzExLzIyLCAxMTo0NiBQTSwgIk1hc2FoaWtvIFNhd2FkYSIgPHNhd2FkYS5tc2hrQGdt YWlsLmNvbT4gd3JvdGU6DQogICAgICAgICAgICAgICAgPiBSZWdhcmRpbmcgdGhlIG5ldyBwZ19z dGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleCB2aWV3LCB3aHkgZG8gd2UgbmVlZA0KICAgICAgICAg ICAgICAgID4gdG8gaGF2ZSBhIHNlcGFyYXRlIHZpZXc/IFVzZXJzIHdpbGwgaGF2ZSB0byBjaGVj ayB0d28gdmlld3MuIElmIHRoaXMNCiAgICAgICAgICAgICAgICA+IHZpZXcgaXMgZXhwZWN0ZWQg dG8gYmUgdXNlZCB0b2dldGhlciB3aXRoIGFuZCBqb2luZWQgdG8NCiAgICAgICAgICAgICAgICA+ IHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtLCB3aHkgZG9uJ3Qgd2UgcHJvdmlkZSBvbmUgdmlldyB0 aGF0IGhhcyBmdWxsDQogICAgICAgICAgICAgICAgPiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBiZWdp bm5pbmc/IEVzcGVjaWFsbHksIEkgdGhpbmsgaXQncyBub3QgdXNlZnVsDQogICAgICAgICAgICAg ICAgPiB0aGF0IHRoZSB0b3RhbCBudW1iZXIgb2YgaW5kZXhlcyB0byB2YWN1dW0gKG51bV9pbmRl eGVzX3RvX3ZhY3V1bQ0KICAgICAgICAgICAgICAgID4gY29sdW1uKSBhbmQgdGhlIGN1cnJlbnQg bnVtYmVyIG9mIGluZGV4ZXMgdGhhdCBoYXZlIGJlZW4gdmFjdXVtZWQNCiAgICAgICAgICAgICAg ICA+IChpbmRleF9vcmRpbmFsX3Bvc2l0aW9uIGNvbHVtbikgYXJlIHNob3duIGluIHNlcGFyYXRl IHZpZXdzLg0KDQogICAgICAgICAgICAgPiBJIHN1cHBvc2Ugd2UgY291bGQgYWRkIGFsbCBvZiB0 aGUgbmV3IGNvbHVtbnMgdG8NCiAgICAgICAgICAgICA+IHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVt IGFuZCBqdXN0IHNldCBjb2x1bW5zIHRvIE5VTEwgYXMgYXBwcm9wcmlhdGUuDQogICAgICAgICAg ICAgPiBCdXQgaXMgdGhhdCByZWFsbHkgYmV0dGVyIHRoYW4gaGF2aW5nIGEgc2VwYXJhdGUgdmll dz8NCg0KICAgICAgICAgICAgVG8gYWRkLCBzaW5jZSBhIHZhY3V1bSBjYW4gdXRpbGl6ZSBwYXJh bGxlbCB3b3JrZXIgcHJvY2Vzc2VzICsgdGhlIG1haW4gdmFjdXVtIHByb2Nlc3MgdG8gcGVyZm9y bSBpbmRleCB2YWN1dW1pbmcsIGl0IG1hZGUgc2Vuc2UgdG8gc2VwYXJhdGUgdGhlIGJhY2tlbmRz IGRvaW5nIGluZGV4IHZhY3V1bS9jbGVhbnVwIGluIGEgc2VwYXJhdGUgdmlldy4gDQogICAgICAg ICAgICBCZXNpZGVzIHdoYXQgTmF0aGFuIHN1Z2dlc3RlZCwgdGhlIG9ubHkgb3RoZXIgY2xlYW4g b3B0aW9uIEkgY2FuIHRoaW5rIG9mIGlzIHRvIHBlcmhhcHMgY3JlYXRlIGEganNvbiBjb2x1bW4g aW4gcGdfc3RhdF9wcm9ncmVzc192YWN1dW0gd2hpY2ggd2lsbCBpbmNsdWRlIGFsbCB0aGUgbmV3 IGZpZWxkcy4gTXkgY29uY2VybiB3aXRoIHRoaXMgYXBwcm9hY2ggaXMgdGhhdCBpdCB3aWxsIG1h a2UgdXNhYmlsaXR5LCB0byBmbGF0dGVuIHRoZSBqc29uLCBkaWZmaWN1bHQgZm9yIHVzZXJzLg0K DQogICAgICAgICAgICAgICAgPiBBbHNvLCBJ4oCZbSBub3Qgc3VyZSBob3cgdXNlZnVsIGluZGV4 X3R1cGxlc19yZW1vdmVkIGlzOyB3aGF0IGNhbiB3ZQ0KICAgICAgICAgICAgICAgID4gaW5mZXIg ZnJvbSB0aGlzIHZhbHVlICh3aXRob3V0IGEgdG90YWwgbnVtYmVyKT8NCg0KICAgICAgICAgICAg PiAgICBJIHRoaW5rIHRoZSBpZGVhIHdhcyB0aGF0IHlvdSBjYW4gY29tcGFyZSBpdCBhZ2FpbnN0 IG1heF9kZWFkX3R1cGxlcw0KICAgICAgICAgICAgPiAgIGFuZCBudW1fZGVhZF90dXBsZXMgdG8g Z2V0IGFuIGVzdGltYXRlIG9mIHRoZSBjdXJyZW50IGN5Y2xlIHByb2dyZXNzLg0KICAgICAgICAg ICAgPiAgICBPdGhlcndpc2UsIGl0IGp1c3Qgc2hvd3MgdGhhdCBwcm9ncmVzcyBpcyBiZWluZyBt YWRlLg0KDQogICAgICAgICAgICBUaGUgbWFpbiBwdXJwb3NlIGlzIHRvIHJlYWxseSBzaG93IHRo YXQgdGhlICJpbmRleCB2YWN1dW0iIHBoYXNlIGlzIGFjdHVhbGx5IG1ha2luZyBwcm9ncmVzcy4g Tm90ZSB0aGF0IGZvciBjZXJ0YWluIHR5cGVzIG9mIGluZGV4ZXMsIGkuZS4gR0lOL0dJU1QgdGhl IG51bWJlciBvZiB0dXBsZXNfcmVtb3ZlZCB3aWxsIGVuZCB1cCBleGNlZWRpbmcgdGhlIG51bWJl ciBvZiBudW1fZGVhZF90dXBsZXMuDQoNCiAgICAgICAgICAgICAgICBOYXRoYW4NCg0KICAgICAg ICAgICAgICAgIFswXSBodHRwczovL3Bvc3Rnci5lcy9tLzc4NzRGQjIxLUZBQTUtNDlCRC04Mzg2 LTI4NjY1NTI2NTZDNyU0MGFtYXpvbi5jb20NCg0KDQoNCg0KDQo= --_002_CC7DB450A14243B0A68FC6B45DC435F2amazoncom_ Content-Type: application/octet-stream; name="0006-Expose-progress-for-the-vacuuming-indexes-and-cleani.patch" Content-Description: 0006-Expose-progress-for-the-vacuuming-indexes-and-cleani.patch Content-Disposition: attachment; filename="0006-Expose-progress-for-the-vacuuming-indexes-and-cleani.patch"; size=33679; creation-date="Thu, 10 Feb 2022 19:39:56 GMT"; modification-date="Thu, 10 Feb 2022 19:39:56 GMT" Content-ID: <052C5841645ACC478D4893B7F7598338@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA0NDYwZGU5MGVkYTAyMGM1ZTQ5ZjBiYTI2NDI4MmEyYTRiZDY1NjVkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiU2FtaSBJbXNlaWggKEFXUykiIDxzaW1zZWloQGFtYXpvbi5j b20+CkRhdGU6IFRodSwgMTAgRmViIDIwMjIgMTk6Mjg6MjcgKzAwMDAKU3ViamVjdDogW1BBVENI IDEvMV0gRXhwb3NlIHByb2dyZXNzIGZvciB0aGUgInZhY3V1bWluZyBpbmRleGVzIiBhbmQgImNs ZWFuaW5nCiB1cCBpbmRleGVzIiBwaGFzZSBvZiBhIFZBQ1VVTSBvcGVyYXRpb24uCgpBdXRob3I6 IFNhbWkgSW1zZWloLCBiYXNlZCBvbiBzdWdnZXN0aW9ucyBieSBOYXRoYW4gQm9zc2FydCwgUGV0 ZXIgR2VvZ2hlZ2FuIGFuZCBNYXNhaGlrbyBTYXdhZGEKUmV2aWV3ZWQgYnk6IE5hdGhhbiBCb3Nz YXJ0LCBKdXN0aW4gUHJ5emJ5Ci0tLQogZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbCAgICAg ICAgICB8IDEyMSArKysrKysrKysrKysrCiBzcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1 bS5jICAgIHwgICAzICsKIHNyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R2YWN1dW0uYyAgfCAg IDMgKwogc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jICAgICAgICB8ICAgMSArCiBzcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgIHwgMjM2ICsrKysrKysrKysrKysrKysr KysrKysrKy0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJlZS5jICAgIHwgICAxICsK IHNyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMgfCAgIDQgKwogc3JjL2JhY2tl bmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICB8ICA0MiArKysrLQogc3JjL2JhY2tlbmQvY29t bWFuZHMvdmFjdXVtcGFyYWxsZWwuYyB8ICAyNSArKysKIHNyYy9iYWNrZW5kL3N0b3JhZ2UvaXBj L2lwY2kuYyAgICAgICAgfCAgIDMgKwogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNz LmMgICB8ICAyMCArKysKIHNyYy9pbmNsdWRlL2NvbW1hbmRzL3Byb2dyZXNzLmggICAgICAgfCAg IDcgKwogc3JjL2luY2x1ZGUvY29tbWFuZHMvdmFjdXVtLmggICAgICAgICB8ICAgOCArCiBzcmMv aW5jbHVkZS91dGlscy9iYWNrZW5kX3Byb2dyZXNzLmggIHwgICAxICsKIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgfCAgMzggKysrKy0KIDE1IGZpbGVzIGNoYW5nZWQsIDQ5 OSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvbW9uaXRvcmluZy5zZ21sIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbAppbmRleCA2 MmYyYTMzMzJiLi4wZTI1MzJlZmZjIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmlu Zy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKQEAgLTYyNjksNiArNjI2 OSwxMjcgQEAgU0VMRUNUIHBnX3N0YXRfZ2V0X2JhY2tlbmRfcGlkKHMuYmFja2VuZGlkKSBBUyBw aWQsCiAgICAgICAgTnVtYmVyIG9mIGRlYWQgdHVwbGVzIGNvbGxlY3RlZCBzaW5jZSB0aGUgbGFz dCBpbmRleCB2YWN1dW0gY3ljbGUuCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmluZGV4 ZXNfdG90YWw8L3N0cnVjdGZpZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+ CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgbnVtYmVyIG9mIGluZGV4ZXMgdG8gYmUgcHJvY2Vz c2VkIGluIHRoZQorICAgICAgIDxsaXRlcmFsPnZhY3V1bWluZyBpbmRleGVzPC9saXRlcmFsPiBv ciA8bGl0ZXJhbD5jbGVhbmluZyB1cCBpbmRleGVzPC9saXRlcmFsPiBwaGFzZQorICAgICAgIG9m IHRoZSB2YWN1dW0uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAg PHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xl PSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPmluZGV4ZXNfcHJvY2Vz c2VkPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAg ICAgPHBhcmE+CisgICAgICAgVGhlIG51bWJlciBvZiBpbmRleGVzIHByb2Nlc3NlZCBzbyBmYXIg aW4gdGhlCisgICAgICAgPGxpdGVyYWw+dmFjdXVtaW5nIGluZGV4ZXM8L2xpdGVyYWw+IG9yIDxs aXRlcmFsPmNsZWFuaW5nIHVwIGluZGV4ZXM8L2xpdGVyYWw+IHBoYXNlCisgICAgICAgb2YgdGhl IHZhY3V1bS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKyAgICA8L3Rib2R5 PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+CisKKyAgPGluZGV4dGVybT4KKyAgIDxwcmltYXJ5 PnBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtX2luZGV4PC9wcmltYXJ5PgorICA8L2luZGV4dGVybT4K KworICA8cGFyYT4KKyAgIFdoZW5ldmVyIDxjb21tYW5kPlZBQ1VVTTwvY29tbWFuZD4gaXMgcnVu bmluZywgdGhlCisgICA8c3RydWN0bmFtZT5wZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleDwv c3RydWN0bmFtZT4gdmlldyB3aWxsIGNvbnRhaW4KKyAgIG9uZSByb3cgZm9yIGVhY2ggYmFja2Vu ZCAoaW5jbHVkaW5nIGF1dG92YWN1dW0gd29ya2VyIHByb2Nlc3NlcykgdGhhdCBpcworICAgY3Vy cmVudGx5IHBlcmZvcm1pbmcgdGhlIDxsaXRlcmFsPnZhY3V1bWluZyBpbmRleGVzPC9saXRlcmFs PiBvcgorICAgPGxpdGVyYWw+Y2xlYW5pbmcgdXAgaW5kZXhlczwvbGl0ZXJhbD4gcGhhc2Ugb2Yg dGhlIHZhY3V1bS4KKyAgPC9wYXJhPgorCisgIDx0YWJsZSBpZD0icGctc3RhdC1wcm9ncmVzcy12 YWN1dW0taW5kZXgtdmlldyIgeHJlZmxhYmVsPSJwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRl eCI+CisgICA8dGl0bGU+PHN0cnVjdG5hbWU+cGdfc3RhdF9wcm9ncmVzc192YWN1dW1faW5kZXg8 L3N0cnVjdG5hbWU+IFZpZXc8L3RpdGxlPgorICAgPHRncm91cCBjb2xzPSIxIj4KKyAgICA8dGhl YWQ+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+ PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIENvbHVtbiBUeXBlCisgICAg ICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBEZXNjcmlwdGlvbgorICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorICAgIDwvdGhlYWQ+CisKKyAgICA8dGJvZHk+CisgICAg IDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9s ZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5waWQ8L3N0cnVjdGZp ZWxkPiA8dHlwZT5pbnRlZ2VyPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgUHJvY2VzcyBJRCBvZiBiYWNrZW5kLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5kYXRpZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwvdHlwZT4KKyAgICAgIDwvcGFyYT4KKyAg ICAgIDxwYXJhPgorICAgICAgIE9JRCBvZiB0aGUgZGF0YWJhc2UgdG8gd2hpY2ggdGhpcyBiYWNr ZW5kIGlzIGNvbm5lY3RlZC4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+ZGF0bmFtZTwv c3RydWN0ZmllbGQ+IDx0eXBlPm5hbWU8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBOYW1lIG9mIHRoZSBkYXRhYmFzZSB0byB3aGljaCB0aGlzIGJhY2tlbmQgaXMg Y29ubmVjdGVkLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxy b3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0i Y29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleHJlbGlkPC9zdHJ1 Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgT0lEIG9mIHRoZSBpbmRleCBiZWluZyBwcm9jZXNzZWQgaW4gdGhlIG9uZ29pbmcgcGhh c2Ugb2YgdGhlIHZhY3V1bS4KKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKwor ICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJh IHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+bGVhZGVyX3Bp ZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludGVnZXI8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAg ICA8cGFyYT4KKyAgICAgICBQcm9jZXNzIElEIG9mIHRoZSBwYXJhbGxlbCB2YWN1dW0gbGVhZGVy LCBpZiB0aGlzIHByb2Nlc3MgaXMgYQorICAgICAgIHBhcmFsbGVsIHZhY3V1bSB3b3JrZXIuICA8 bGl0ZXJhbD5OVUxMPC9saXRlcmFsPiBpZiB0aGlzIHByb2Nlc3MgaXMgYQorICAgICAgIHBhcmFs bGVsIHZhY3V1bSBsZWFkZXIgb3IgZG9lcyBub3QgcGFydGljaXBhdGUgaW4gcGFyYWxsZWwgdmFj dXVtLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+Cisg ICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1u X2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5waGFzZTwvc3RydWN0ZmllbGQ+IDx0 eXBlPnRleHQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBDdXJy ZW50IHByb2Nlc3NpbmcgcGhhc2Ugb2YgYSB2YWN1dW0uIE9ubHkgdGhlCisgICAgICAgPGxpdGVy YWw+dmFjdXVtaW5nIGluZGV4ZXM8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPmNsZWFuaW5nIHVwIGlu ZGV4ZXM8L2xpdGVyYWw+CisgICAgICAgcGhhc2Ugd2lsbCBiZSBsaXN0ZWQgaW4gdGhpcyB2aWV3 LiBTZWUgPHhyZWYgbGlua2VuZD0idmFjdXVtLXBoYXNlcyIvPi4KKyAgICAgIDwvcGFyYT48L2Vu dHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFs b2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KKyAgICAgICA8 c3RydWN0ZmllbGQ+dHVwbGVzX3JlbW92ZWQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5vaWQ8L3R5cGU+ CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgbnVtYmVyIG9mIGluZGV4 IHR1cGxlcyByZW1vdmVkIGJ5IHRoZSA8bGl0ZXJhbD52YWN1dW1pbmcgaW5kZXhlczwvbGl0ZXJh bD4gcGhhc2UuCisgICAgICAgVGhpcyBmaWVsZCBpcyA8bGl0ZXJhbD4wPC9saXRlcmFsPiBkdXJp bmcgdGhlIDxsaXRlcmFsPmNsZWFuaW5nIHVwIGluZGV4ZXM8L2xpdGVyYWw+CisgICAgICAgcGhh c2UuCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CiAgICAgPC90Ym9keT4KICAg IDwvdGdyb3VwPgogICA8L3RhYmxlPgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dp bi9naW52YWN1dW0uYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2ludmFjdXVtLmMKaW5kZXgg YjRmYTVmNmJmOC4uMWQ1ZDAwMzc4MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dp bi9naW52YWN1dW0uYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jCkBA IC0xNyw4ICsxNywxMCBAQAogI2luY2x1ZGUgImFjY2Vzcy9naW5fcHJpdmF0ZS5oIgogI2luY2x1 ZGUgImFjY2Vzcy9naW54bG9nLmgiCiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dpbnNlcnQuaCIKKyNp bmNsdWRlICJjb21tYW5kcy9wcm9ncmVzcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5o IgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgorI2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUg InBvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvaW5kZXhmc20uaCIK ICNpbmNsdWRlICJzdG9yYWdlL2xtZ3IuaCIKQEAgLTYwLDYgKzYyLDcgQEAgZ2luVmFjdXVtSXRl bVBvaW50ZXJzKEdpblZhY3V1bVN0YXRlICpndnMsIEl0ZW1Qb2ludGVyRGF0YSAqaXRlbXMsCiAJ CWlmIChndnMtPmNhbGxiYWNrKGl0ZW1zICsgaSwgZ3ZzLT5jYWxsYmFja19zdGF0ZSkpCiAJCXsK IAkJCWd2cy0+cmVzdWx0LT50dXBsZXNfcmVtb3ZlZCArPSAxOworCQkJcGdzdGF0X3Byb2dyZXNz X3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fVFVQTEVTX1JFTU9WRUQsIGd2cy0+cmVzdWx0 LT50dXBsZXNfcmVtb3ZlZCk7CiAJCQlpZiAoIXRtcGl0ZW1zKQogCQkJewogCQkJCS8qCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0dmFjdXVtLmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvZ2lzdC9naXN0dmFjdXVtLmMKaW5kZXggYWFjNGFmYWI4Zi4uOGEwZjIzMzg4YiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHZhY3V1bS5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R2YWN1dW0uYwpAQCAtMTcsOSArMTcsMTEgQEAKICNp bmNsdWRlICJhY2Nlc3MvZ2VuYW0uaCIKICNpbmNsdWRlICJhY2Nlc3MvZ2lzdF9wcml2YXRlLmgi CiAjaW5jbHVkZSAiYWNjZXNzL3RyYW5zYW0uaCIKKyNpbmNsdWRlICJjb21tYW5kcy9wcm9ncmVz cy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgogI2luY2x1ZGUgImxpYi9pbnRlZ2Vy c2V0LmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5j bHVkZSAic3RvcmFnZS9pbmRleGZzbS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2lu Y2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCkBAIC0zNzUsNiArMzc3LDcgQEAgcmVzdGFydDoKIAkJ CUVORF9DUklUX1NFQ1RJT04oKTsKIAogCQkJdnN0YXRlLT5zdGF0cy0+dHVwbGVzX3JlbW92ZWQg Kz0gbnRvZGVsZXRlOworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19W QUNVVU1fVFVQTEVTX1JFTU9WRUQsIHZzdGF0ZS0+c3RhdHMtPnR1cGxlc19yZW1vdmVkKTsKIAkJ CS8qIG11c3QgcmVjb21wdXRlIG1heG9mZiAqLwogCQkJbWF4b2ZmID0gUGFnZUdldE1heE9mZnNl dE51bWJlcihwYWdlKTsKIAkJfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gv aGFzaC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jCmluZGV4IGEyNTlhMzAxZmEu LjIzZGFjZWU1MmUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2guYwor KysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMKQEAgLTYzMiw2ICs2MzIsNyBAQCBs b29wX3RvcDoKIAlzdGF0cy0+ZXN0aW1hdGVkX2NvdW50ID0gZmFsc2U7CiAJc3RhdHMtPm51bV9p bmRleF90dXBsZXMgPSBudW1faW5kZXhfdHVwbGVzOwogCXN0YXRzLT50dXBsZXNfcmVtb3ZlZCAr PSB0dXBsZXNfcmVtb3ZlZDsKKwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNT X1ZBQ1VVTV9UVVBMRVNfUkVNT1ZFRCwgc3RhdHMtPnR1cGxlc19yZW1vdmVkKTsKIAkvKiBoYXNo dmFjdXVtY2xlYW51cCB3aWxsIGZpbGwgaW4gbnVtX3BhZ2VzICovCiAKIAlyZXR1cm4gc3RhdHM7 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMgYi9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKaW5kZXggZjA5YWQ4ZjI3MS4uZmI4Yzli MTAzMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jCisr KyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYwpAQCAtNTgsNiArNTgsNyBA QAogI2luY2x1ZGUgInBvc3RtYXN0ZXIvYXV0b3ZhY3V1bS5oIgogI2luY2x1ZGUgInN0b3JhZ2Uv YnVmbWdyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9mcmVlc3BhY2UuaCIKKyNpbmNsdWRlICJzdG9y YWdlL2lwYy5oIgogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5oIgogI2luY2x1ZGUgInRjb3AvdGNv cHByb3QuaCIKICNpbmNsdWRlICJ1dGlscy9sc3lzY2FjaGUuaCIKQEAgLTIzOSw2ICsyNDAsMjUg QEAgdHlwZWRlZiBzdHJ1Y3QgTFZTYXZlZEVyckluZm8KIAlWYWNFcnJQaGFzZSBwaGFzZTsKIH0g TFZTYXZlZEVyckluZm87CiAKKy8qIFN0cnVjdHMgZm9yIHRyYWNraW5nIHNoYXJlZCBQcm9ncmVz cyBpbmZvcm1hdGlvbgorICogYW1vbmdzdCB3b3JrZXIgKCBhbmQgbGVhZGVyICkgcHJvY2Vzc2Vz IG9mIGEgdmFjdXVtLgorICovCit0eXBlZGVmIHN0cnVjdCBWYWNPbmVXb3JrZXJQcm9ncmVzc0lu Zm8KK3sKKwlpbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlYWRlcl9waWQ7CisJaW50 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleGVzX3Byb2Nlc3NlZDsKK30gVmFjT25l V29ya2VyUHJvZ3Jlc3NJbmZvOworCit0eXBlZGVmIHN0cnVjdCBWYWNXb3JrZXJQcm9ncmVzc0lu Zm8KK3sKKwlpbnQgICAgICAgICAgICAgICAgICAgICBudW1fdmFjdXVtczsgICAgLyogbnVtYmVy IG9mIGFjdGl2ZSBWQUNVVU1TIHdpdGggcGFyYWxsZWwgd29ya2VycyAqLworCWludCAgICAgICAg ICAgICAgICAgICAgIG1heF92YWN1dW1zOyAgICAvKiBtYXggbnVtYmVyIG9mIFZBQ1VVTVMgd2l0 aCBwYXJhbGxlbCB3b3JrZXJzICovCisJc2xvY2tfdAkJCW11dGV4OworCVZhY09uZVdvcmtlclBy b2dyZXNzSW5mbyB2YWN1dW1zW0ZMRVhJQkxFX0FSUkFZX01FTUJFUl07Cit9IFZhY1dvcmtlclBy b2dyZXNzSW5mbzsKKworc3RhdGljIFZhY1dvcmtlclByb2dyZXNzSW5mbyAqdmFjd29ya2VycHJv Z3Jlc3M7CisKIAogLyogbm9uLWV4cG9ydCBmdW5jdGlvbiBwcm90b3R5cGVzICovCiBzdGF0aWMg dm9pZCBsYXp5X3NjYW5faGVhcChMVlJlbFN0YXRlICp2YWNyZWwsIFZhY3V1bVBhcmFtcyAqcGFy YW1zLApAQCAtMzQxLDYgKzM2MSw3IEBAIGhlYXBfdmFjdXVtX3JlbChSZWxhdGlvbiByZWwsIFZh Y3V1bVBhcmFtcyAqcGFyYW1zLAogCiAJcGdzdGF0X3Byb2dyZXNzX3N0YXJ0X2NvbW1hbmQoUFJP R1JFU1NfQ09NTUFORF9WQUNVVU0sCiAJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsK KwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9MRUFERVJfUElE LCBNeVByb2NQaWQpOwogCiAJdmFjdXVtX3NldF94aWRfbGltaXRzKHJlbCwKIAkJCQkJCSAgcGFy YW1zLT5mcmVlemVfbWluX2FnZSwKQEAgLTQwNCw2ICs0MjUsMTAgQEAgaGVhcF92YWN1dW1fcmVs KFJlbGF0aW9uIHJlbCwgVmFjdXVtUGFyYW1zICpwYXJhbXMsCiAJdmFjcmVsLT5yZWwgPSByZWw7 CiAJdmFjX29wZW5faW5kZXhlcyh2YWNyZWwtPnJlbCwgUm93RXhjbHVzaXZlTG9jaywgJnZhY3Jl bC0+bmluZGV4ZXMsCiAJCQkJCSAmdmFjcmVsLT5pbmRyZWxzKTsKKworCS8qIEFkdmVydGlzZSB0 aGUgbnVtYmVyIG9mIGluZGV4ZXMgd2UgYXJlIHZhY3V1bWluZyAqLworCXBnc3RhdF9wcm9ncmVz c191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX1RPVEFMX0lOREVYRVMsIHZhY3JlbC0+bmlu ZGV4ZXMpOworCiAJaWYgKGluc3RydW1lbnQgJiYgdmFjcmVsLT5uaW5kZXhlcyA+IDApCiAJewog CQkvKiBDb3B5IGluZGV4IG5hbWVzIHVzZWQgYnkgaW5zdHJ1bWVudGF0aW9uIChub3QgZXJyb3Ig cmVwb3J0aW5nKSAqLwpAQCAtMjAwMCwyMSArMjAyNSwzNCBAQCBsYXp5X3ZhY3V1bV9hbGxfaW5k ZXhlcyhMVlJlbFN0YXRlICp2YWNyZWwpCiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQkvKiBSZXBv cnQgdGhhdCB3ZSBhcmUgbm93IHZhY3V1bWluZyBpbmRleGVzICovCi0JcGdzdGF0X3Byb2dyZXNz X3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fUEhBU0UsCi0JCQkJCQkJCSBQUk9HUkVTU19W QUNVVU1fUEhBU0VfVkFDVVVNX0lOREVYKTsKLQogCWlmICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2 ZSh2YWNyZWwpKQogCXsKKwkJLyogUmVwb3J0IHRoYXQgd2UgYXJlIG5vdyB2YWN1dW1pbmcgaW5k ZXhlcyAqLworCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9Q SEFTRSwKKwkJCQkJCQkJCVBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNVVU1fSU5ERVgpOworCiAJ CWZvciAoaW50IGlkeCA9IDA7IGlkeCA8IHZhY3JlbC0+bmluZGV4ZXM7IGlkeCsrKQogCQl7CiAJ CQlSZWxhdGlvbglpbmRyZWwgPSB2YWNyZWwtPmluZHJlbHNbaWR4XTsKIAkJCUluZGV4QnVsa0Rl bGV0ZVJlc3VsdCAqaXN0YXQgPSB2YWNyZWwtPmluZHN0YXRzW2lkeF07CiAKKwkJCS8qIEFkdmVy dGlzZSB0aGUgaW5kZXggYmVpbmcgdmFjdXVtZWQgKi8KKwkJCXBnc3RhdF9wcm9ncmVzc191cGRh dGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lOREVYUkVMSUQsIFJlbGF0aW9uR2V0UmVsaWQoaW5k cmVsKSk7CisKIAkJCXZhY3JlbC0+aW5kc3RhdHNbaWR4XSA9CiAJCQkJbGF6eV92YWN1dW1fb25l X2luZGV4KGluZHJlbCwgaXN0YXQsIHZhY3JlbC0+b2xkX2xpdmVfdHVwbGVzLAogCQkJCQkJCQkJ ICB2YWNyZWwpOwogCisJCQkvKiBGb3IgdGhlIG5vbi1wYXJhbGxlbCB2YXJpYW50IG9mIGEgdmFj dXVtLCB0aGUgYXJyYXkgcG9zaXRpb24KKwkJCSAqIG9mIHRoZSBpbmRleCBkZXRlcm1pbmVzIGhv dyBtYW55IGluZGV4ZXMgYXJlIHByb2Nlc3NlZCBzbyBmYXIuCisJCQkgKiBBZGQgMSB0byB0aGUg cG9zaXRpdG9uIGFzIHRoaXMgaXMgMC1iYXNlZCBhcnJheS4KKwkJCSAqLworCQkJcGdzdGF0X3By b2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhFU19DT01QTEVURUQsIGlk eCArIDEpOworCisJCQkvKiBBZHZlcnRpc2Ugd2UgYXJlIGRvbmUgdmFjdXVtaW5nIGluZGV4ZXMg Ki8KKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lOREVY UkVMSUQsIDApOworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNV VU1fVFVQTEVTX1JFTU9WRUQsIDApOworCiAJCQlpZiAobGF6eV9jaGVja193cmFwYXJvdW5kX2Zh aWxzYWZlKHZhY3JlbCkpCiAJCQl7CiAJCQkJLyogV3JhcGFyb3VuZCBlbWVyZ2VuY3kgLS0gZW5k IGN1cnJlbnQgaW5kZXggc2NhbiAqLwpAQCAtMjAyNSw5ICsyMDYzLDI4IEBAIGxhenlfdmFjdXVt X2FsbF9pbmRleGVzKExWUmVsU3RhdGUgKnZhY3JlbCkKIAl9CiAJZWxzZQogCXsKLQkJLyogT3V0 c291cmNlIGV2ZXJ5dGhpbmcgdG8gcGFyYWxsZWwgdmFyaWFudCAqLwotCQlwYXJhbGxlbF92YWN1 dW1fYnVsa2RlbF9hbGxfaW5kZXhlcyh2YWNyZWwtPnB2cywgdmFjcmVsLT5vbGRfbGl2ZV90dXBs ZXMsCisJCS8qIFJlcG9ydCB0aGF0IHdlIGFyZSBub3cgdmFjdXVtaW5nIGluZGV4ZXMgaW4gcGFy YWxsZWwKKwkJICogYW5kIE91dHNvdXJjZSBldmVyeXRoaW5nIHRvIHBhcmFsbGVsIHZhcmlhbnQu CisJCSAqLworCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9Q SEFTRSwKKwkJCQkJCQkJCVBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9WQUNVVU1fSU5ERVhfUEFSQUxM RUwpOworCisJCS8qCisJCSAqIEZvciB0aGUgcGFyYWxsZWwgdmFyaWFudCBvZiBhIHZhY3V1bSwg d2Ugd2lsbCBiZSBwb3B1bGF0aW5nIHNoYXJlZCBtZW1vcnkKKwkJICogZm9yIHRoZSBpbmRleCBj b21wbGV0aW9uIHByb2dyZXNzLiBUaGlzIGlzIGRvbmUgd2l0aCBhIGNhbGwgdG8KKwkJICogdmFj dXVtX3dvcmtlcl91cGRhdGUgaW5zaWRlIHZhY3V1bXBhcmFsbGVsLmMuCisJCSAqCisJCSAqIE1h a2Ugc3VyZSB3ZSBhcmUgcHJvcGVybHkgY2xlYW5pbmcgdXAgdGhpcyBzaGFyZWQgbWVtb3J5IG9u IGZhaWx1cmUKKwkJICogb3Igd2Ugd2lsbCBlbmQgdXAgd2l0aCBhIGxlYWsgaW4gdGhlIHNsb3Rz LgorCQkgKi8KKwkJUEdfRU5TVVJFX0VSUk9SX0NMRUFOVVAodmFjdXVtX3dvcmtlcl9lbmRfY2Fs bGJhY2ssIEludDMyR2V0RGF0dW0oTXlQcm9jUGlkKSk7CisJCXsKKworCQkJcGFyYWxsZWxfdmFj dXVtX2J1bGtkZWxfYWxsX2luZGV4ZXModmFjcmVsLT5wdnMsIHZhY3JlbC0+b2xkX2xpdmVfdHVw bGVzLAogCQkJCQkJCQkJCQl2YWNyZWwtPm51bV9pbmRleF9zY2Fucyk7CisJCX0KKwkJUEdfRU5E X0VOU1VSRV9FUlJPUl9DTEVBTlVQKHZhY3V1bV93b3JrZXJfZW5kX2NhbGxiYWNrLCBJbnQzMkdl dERhdHVtKE15UHJvY1BpZCkpOworCQl2YWN1dW1fd29ya2VyX2VuZChNeVByb2NQaWQpOwogCiAJ CS8qCiAJCSAqIERvIGEgcG9zdGNoZWNrIHRvIGNvbnNpZGVyIGFwcGx5aW5nIHdyYXBhcm91bmQg ZmFpbHNhZmUgbm93LiAgTm90ZQpAQCAtMjQwNSwzMyArMjQ2Miw1NSBAQCBsYXp5X2NsZWFudXBf YWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogewogCUFzc2VydCh2YWNyZWwtPm5pbmRl eGVzID4gMCk7CiAKLQkvKiBSZXBvcnQgdGhhdCB3ZSBhcmUgbm93IGNsZWFuaW5nIHVwIGluZGV4 ZXMgKi8KLQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9QSEFT RSwKLQkJCQkJCQkJIFBST0dSRVNTX1ZBQ1VVTV9QSEFTRV9JTkRFWF9DTEVBTlVQKTsKLQogCWlm ICghUGFyYWxsZWxWYWN1dW1Jc0FjdGl2ZSh2YWNyZWwpKQogCXsKIAkJZG91YmxlCQlyZWx0dXBs ZXMgPSB2YWNyZWwtPm5ld19yZWxfdHVwbGVzOwogCQlib29sCQllc3RpbWF0ZWRfY291bnQgPQog CQl2YWNyZWwtPnR1cGNvdW50X3BhZ2VzIDwgdmFjcmVsLT5yZWxfcGFnZXM7CiAKKwkJLyogUmVw b3J0IHRoYXQgd2UgYXJlIG5vdyBjbGVhbmluZyB1cCBpbmRleGVzICovCisJCXBnc3RhdF9wcm9n cmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX1BIQVNFLAorCQkJCQkJCQkJUFJPR1JF U1NfVkFDVVVNX1BIQVNFX0lOREVYX0NMRUFOVVApOworCiAJCWZvciAoaW50IGlkeCA9IDA7IGlk eCA8IHZhY3JlbC0+bmluZGV4ZXM7IGlkeCsrKQogCQl7CiAJCQlSZWxhdGlvbglpbmRyZWwgPSB2 YWNyZWwtPmluZHJlbHNbaWR4XTsKIAkJCUluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQgPSB2 YWNyZWwtPmluZHN0YXRzW2lkeF07CiAKKwkJCS8qIEFkdmVydGlzZSB0aGUgaW5kZXggYmVpbmcg Y2xlYW5lZCAqLworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNV VU1fSU5ERVhSRUxJRCwgUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpKTsKKwogCQkJdmFjcmVsLT5p bmRzdGF0c1tpZHhdID0KIAkJCQlsYXp5X2NsZWFudXBfb25lX2luZGV4KGluZHJlbCwgaXN0YXQs IHJlbHR1cGxlcywKIAkJCQkJCQkJCSAgIGVzdGltYXRlZF9jb3VudCwgdmFjcmVsKTsKKworCQkJ LyogU2VlIHRoZSBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyBjb21tZW50cyAqLworCQkJcGdzdGF0 X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhFU19DT01QTEVURUQs IGlkeCArIDEpOworCisJCQkvKiBBZHZlcnRpc2Ugd2UgYXJlIGRvbmUgY2xlYW5pbmcgaW5kZXhl cyAqLworCQkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5E RVhSRUxJRCwgMCk7CisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZB Q1VVTV9UVVBMRVNfUkVNT1ZFRCwgMCk7CiAJCX0KIAl9CiAJZWxzZQogCXsKLQkJLyogT3V0c291 cmNlIGV2ZXJ5dGhpbmcgdG8gcGFyYWxsZWwgdmFyaWFudCAqLwotCQlwYXJhbGxlbF92YWN1dW1f Y2xlYW51cF9hbGxfaW5kZXhlcyh2YWNyZWwtPnB2cywgdmFjcmVsLT5uZXdfcmVsX3R1cGxlcywK KwkJLyogUmVwb3J0IHRoYXQgd2UgYXJlIG5vdyBjbGVhbmluZyB1cCBpbmRleGVzIGluIHBhcmFs bGVsCisJCSAqIGFuZCBPdXRzb3VyY2UgZXZlcnl0aGluZyB0byBwYXJhbGxlbCB2YXJpYW50Lgor CQkgKi8KKwkJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fUEhB U0UsCisJCQkJCQkJCQlQUk9HUkVTU19WQUNVVU1fUEhBU0VfSU5ERVhfQ0xFQU5VUF9QQVJBTExF TCk7CisKKwkJLyogU2VlIHRoZSBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyBjb21tZW50cyAqLwor CQlQR19FTlNVUkVfRVJST1JfQ0xFQU5VUCh2YWN1dW1fd29ya2VyX2VuZF9jYWxsYmFjaywgSW50 MzJHZXREYXR1bShNeVByb2NQaWQpKTsKKwkJeworCQkJcGFyYWxsZWxfdmFjdXVtX2NsZWFudXBf YWxsX2luZGV4ZXModmFjcmVsLT5wdnMsIHZhY3JlbC0+bmV3X3JlbF90dXBsZXMsCiAJCQkJCQkJ CQkJCXZhY3JlbC0+bnVtX2luZGV4X3NjYW5zLAogCQkJCQkJCQkJCQkodmFjcmVsLT50dXBjb3Vu dF9wYWdlcyA8IHZhY3JlbC0+cmVsX3BhZ2VzKSk7CisJCX0KKwkJUEdfRU5EX0VOU1VSRV9FUlJP Ul9DTEVBTlVQKHZhY3V1bV93b3JrZXJfZW5kX2NhbGxiYWNrLCBJbnQzMkdldERhdHVtKE15UHJv Y1BpZCkpOworCQl2YWN1dW1fd29ya2VyX2VuZChNeVByb2NQaWQpOwogCX0KKwogfQogCiAvKgpA QCAtMzIwNSwzICszMjg0LDEzNiBAQCByZXN0b3JlX3ZhY3V1bV9lcnJvcl9pbmZvKExWUmVsU3Rh dGUgKnZhY3JlbCwKIAl2YWNyZWwtPm9mZm51bSA9IHNhdmVkX3ZhY3JlbC0+b2ZmbnVtOwogCXZh Y3JlbC0+cGhhc2UgPSBzYXZlZF92YWNyZWwtPnBoYXNlOwogfQorCit2b2lkCit2YWN1dW1fd29y a2VyX2VuZChpbnQgbGVhZGVyX3BpZCkKK3sKKwlTcGluTG9ja0FjcXVpcmUoJnZhY3dvcmtlcnBy b2dyZXNzLT5tdXRleCk7CisJZm9yIChpbnQgaSA9IDA7IGkgPCB2YWN3b3JrZXJwcm9ncmVzcy0+ bnVtX3ZhY3V1bXM7IGkrKykKKwl7CisJCVZhY09uZVdvcmtlclByb2dyZXNzSW5mbyAqdmFjID0g JnZhY3dvcmtlcnByb2dyZXNzLT52YWN1dW1zW2ldOworCisJCWlmICh2YWMtPmxlYWRlcl9waWQg PT0gbGVhZGVyX3BpZCkKKwkJeworCQkJKnZhYyA9IHZhY3dvcmtlcnByb2dyZXNzLT52YWN1dW1z W3ZhY3dvcmtlcnByb2dyZXNzLT5udW1fdmFjdXVtcyAtIDFdOworCQkJdmFjd29ya2VycHJvZ3Jl c3MtPm51bV92YWN1dW1zLS07CisJCQlTcGluTG9ja1JlbGVhc2UoJnZhY3dvcmtlcnByb2dyZXNz LT5tdXRleCk7CisJCQlicmVhazsKKwkJfQorCX0KKwlTcGluTG9ja1JlbGVhc2UoJnZhY3dvcmtl cnByb2dyZXNzLT5tdXRleCk7Cit9CisKKy8qCisgKiB2YWN1dW1fd29ya2VyX2VuZCB3cmFwcGVk IGFzIGFuIG9uX3NobWVtX2V4aXQgY2FsbGJhY2sgZnVuY3Rpb24KKyAqLwordm9pZAordmFjdXVt X3dvcmtlcl9lbmRfY2FsbGJhY2soaW50IGNvZGUsIERhdHVtIGFyZykKK3sKKwl2YWN1dW1fd29y a2VyX2VuZChEYXR1bUdldEludDMyKGFyZykpOworfQorCisvKgorICogdmFjdXVtX3dvcmtlcl91 cGRhdGUgc2V0cyB0aGUgbnVtYmVyIG9mIGluZGV4ZXMgcHJvY2Vzc2VkIHNvIGZhcgorICogaW4g YSBwYXJhbGxlbCB2YWN1dW0uIFRoaXMgcm91dGluZSBjYW4gYmUKKyAqIGV4cGFuZGVkIHRvIG90 aGVyIHByb2dyZXNzIHRyYWNraW5nIGFtb25nc3QgcGFyYWxsZWwKKyAqIHdvcmtlcnMgKCBhbmQg bGVhZGVyICkuCisgKi8KK3ZvaWQKK3ZhY3V1bV93b3JrZXJfdXBkYXRlKGludCBsZWFkZXJfcGlk KQoreworCVZhY09uZVdvcmtlclByb2dyZXNzSW5mbyAqdmFjOworCisJU3BpbkxvY2tBY3F1aXJl KCZ2YWN3b3JrZXJwcm9ncmVzcy0+bXV0ZXgpOworCisJZm9yIChpbnQgaSA9IDA7IGkgPCB2YWN3 b3JrZXJwcm9ncmVzcy0+bnVtX3ZhY3V1bXM7IGkrKykKKwl7CisJCWludCBuZXh0X2xlYWRlcl9w aWQ7CisKKwkJdmFjID0gJnZhY3dvcmtlcnByb2dyZXNzLT52YWN1dW1zW2ldOworCisJCW5leHRf bGVhZGVyX3BpZCA9IHZhYy0+bGVhZGVyX3BpZDsKKworCQlpZiAobmV4dF9sZWFkZXJfcGlkID09 IGxlYWRlcl9waWQpCisJCXsKKwkJCXZhYy0+aW5kZXhlc19wcm9jZXNzZWQrKzsKKwkJCVNwaW5M b2NrUmVsZWFzZSgmdmFjd29ya2VycHJvZ3Jlc3MtPm11dGV4KTsKKwkJCXJldHVybjsKKwkJfQor CX0KKworCWlmICh2YWN3b3JrZXJwcm9ncmVzcy0+bnVtX3ZhY3V1bXMgPj0gdmFjd29ya2VycHJv Z3Jlc3MtPm1heF92YWN1dW1zKQorCXsKKwkJU3BpbkxvY2tSZWxlYXNlKCZ2YWN3b3JrZXJwcm9n cmVzcy0+bXV0ZXgpOworCQllbG9nKEVSUk9SLCAib3V0IG9mIHZhY3V1bSB3b3JrZXIgcHJvZ3Jl c3Mgc2xvdHMiKTsKKwl9CisKKwl2YWMgPSAmdmFjd29ya2VycHJvZ3Jlc3MtPnZhY3V1bXNbdmFj d29ya2VycHJvZ3Jlc3MtPm51bV92YWN1dW1zXTsKKwl2YWMtPmxlYWRlcl9waWQgPSBsZWFkZXJf cGlkOworCXZhYy0+aW5kZXhlc19wcm9jZXNzZWQgPSAxOworCXZhY3dvcmtlcnByb2dyZXNzLT5u dW1fdmFjdXVtcysrOworCVNwaW5Mb2NrUmVsZWFzZSgmdmFjd29ya2VycHJvZ3Jlc3MtPm11dGV4 KTsKK30KKworLyoKKyAqIHZhY3V1bV9wcm9ncmVzc19jYiB1cGRhdGVzIHRoZSBudW1iZXIgb2Yg aW5kZXhlcyB0aGF0IGhhdmUgYmVlbgorICogdmFjdXVtZWQgb3IgY2xlYW5lZCB1cCBpbiBhIHBh cmFsbGVsIHZhY3V1bS4KKyAqLwordm9pZAordmFjdXVtX3Byb2dyZXNzX2NiKERhdHVtICp2YWx1 ZXMsIGludCBvZmZzZXQpCit7CisJVmFjT25lV29ya2VyUHJvZ3Jlc3NJbmZvICp2YWM7CisJaW50 IGxlYWRlcl9waWQgPSB2YWx1ZXNbMF07CisKKwkvKiBJZiB3ZSBhcmUgdmFjdXVtaW5nIGluIHBh cmFsbGVsLCBzZXQgdGhlIG51bWJlciBvZiBpbmRleGVzIHZhY3V1bWVkCisJICogZnJvbSB0aGUg c2hhcmVkIG1lbW9yeSBjb3VudGVyLgorCSAqICovCisJZm9yIChpbnQgaSA9IDA7IGkgPCB2YWN3 b3JrZXJwcm9ncmVzcy0+bnVtX3ZhY3V1bXM7IGkrKykKKwl7CisJCWludCBuZXh0X2xlYWRlcl9w aWQ7CisKKwkJdmFjID0gJnZhY3dvcmtlcnByb2dyZXNzLT52YWN1dW1zW2ldOworCisJCW5leHRf bGVhZGVyX3BpZCA9IHZhYy0+bGVhZGVyX3BpZDsKKworCQlpZiAobmV4dF9sZWFkZXJfcGlkID09 IGxlYWRlcl9waWQpCisJCQl2YWx1ZXNbUFJPR1JFU1NfVkFDVVVNX0lOREVYRVNfQ09NUExFVEVE ICsgb2Zmc2V0XSA9IHZhYy0+aW5kZXhlc19wcm9jZXNzZWQ7CisJfQorfQorCisvKgorICogVmFj dXVtV29ya2VyUHJvZ3Jlc3NTaG1lbVNpemUgLS0tIHJlcG9ydCBhbW91bnQgb2Ygc2hhcmVkIG1l bW9yeSBzcGFjZSBuZWVkZWQKKyAqLworU2l6ZQorVmFjdXVtV29ya2VyUHJvZ3Jlc3NTaG1lbVNp emUodm9pZCkKK3sKKwlTaXplICAgICAgICAgICAgc2l6ZTsKKworCXNpemUgPSBvZmZzZXRvZihW YWNXb3JrZXJQcm9ncmVzc0luZm8sIHZhY3V1bXMpOworCXNpemUgPSBhZGRfc2l6ZShzaXplLCBt dWxfc2l6ZShHZXRNYXhCYWNrZW5kcygpLCBzaXplb2YoVmFjT25lV29ya2VyUHJvZ3Jlc3NJbmZv KSkpOworCXJldHVybiBzaXplOworfQorCisvKgorICogVmFjdXVtV29ya2VyUHJvZ3Jlc3NTaG1l bUluaXQgLS0tIGluaXRpYWxpemUgdGhpcyBtb2R1bGUncyBzaGFyZWQgbWVtb3J5CisgKi8KK3Zv aWQKK1ZhY3V1bVdvcmtlclByb2dyZXNzU2htZW1Jbml0KHZvaWQpCit7CisJYm9vbCAgICAgICAg ICAgIGZvdW5kOworCisJdmFjd29ya2VycHJvZ3Jlc3MgPSAoVmFjV29ya2VyUHJvZ3Jlc3NJbmZv ICopIFNobWVtSW5pdFN0cnVjdCgiVmFjdXVtIFdvcmtlciBQcm9ncmVzcyBTdGF0cyIsCisJCQkJ CQkJCQkJVmFjdXVtV29ya2VyUHJvZ3Jlc3NTaG1lbVNpemUoKSwKKwkJCQkJCQkJCQkmZm91bmQp OworCisJaWYgKCFJc1VuZGVyUG9zdG1hc3RlcikKKwl7CisJCS8qIEluaXRpYWxpemUgc2hhcmVk IG1lbW9yeSBhcmVhICovCisJCUFzc2VydCghZm91bmQpOworCisJCXZhY3dvcmtlcnByb2dyZXNz LT5tYXhfdmFjdXVtcyA9IEdldE1heEJhY2tlbmRzKCk7CisJCVNwaW5Mb2NrSW5pdCgmdmFjd29y a2VycHJvZ3Jlc3MtPm11dGV4KTsKKwl9CisJZWxzZQorCQlBc3NlcnQoZm91bmQpOworfQpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYyBiL3NyYy9iYWNrZW5k L2FjY2Vzcy9uYnRyZWUvbmJ0cmVlLmMKaW5kZXggYzliNDk2NGMxZS4uMDllZGY0OTA4MiAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYworKysgYi9zcmMvYmFj a2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJlZS5jCkBAIC0xMjczLDYgKzEyNzMsNyBAQCBiYWNrdHJh Y2s6CiAJCQkJCQkJCW51cGRhdGFibGUpOwogCiAJCQlzdGF0cy0+dHVwbGVzX3JlbW92ZWQgKz0g bmh0aWRzZGVhZDsKKwkJCXBnc3RhdF9wcm9ncmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFD VVVNX1RVUExFU19SRU1PVkVELCBzdGF0cy0+dHVwbGVzX3JlbW92ZWQpOwogCQkJLyogbXVzdCBy ZWNvbXB1dGUgbWF4b2ZmICovCiAJCQltYXhvZmYgPSBQYWdlR2V0TWF4T2Zmc2V0TnVtYmVyKHBh Z2UpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mvc3BnaXN0L3NwZ3ZhY3V1bS5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYwppbmRleCAwMDQ5NjMwNTMy Li5kYjczZjhlZjU5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3Mvc3BnaXN0L3NwZ3Zh Y3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMKQEAgLTIx LDggKzIxLDEwIEBACiAjaW5jbHVkZSAiYWNjZXNzL3RyYW5zYW0uaCIKICNpbmNsdWRlICJhY2Nl c3MveGxvZ2luc2VydC5oIgogI2luY2x1ZGUgImNhdGFsb2cvc3RvcmFnZV94bG9nLmgiCisjaW5j bHVkZSAiY29tbWFuZHMvcHJvZ3Jlc3MuaCIKICNpbmNsdWRlICJjb21tYW5kcy92YWN1dW0uaCIK ICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKKyNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJz dG9yYWdlL2J1Zm1nci5oIgogI2luY2x1ZGUgInN0b3JhZ2UvaW5kZXhmc20uaCIKICNpbmNsdWRl ICJzdG9yYWdlL2xtZ3IuaCIKQEAgLTE2MCw2ICsxNjIsNyBAQCB2YWN1dW1MZWFmUGFnZShzcGdC dWxrRGVsZXRlU3RhdGUgKmJkcywgUmVsYXRpb24gaW5kZXgsIEJ1ZmZlciBidWZmZXIsCiAJCQkJ YmRzLT5zdGF0cy0+dHVwbGVzX3JlbW92ZWQgKz0gMTsKIAkJCQlkZWxldGFibGVbaV0gPSB0cnVl OwogCQkJCW5EZWxldGFibGUrKzsKKwkJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBS T0dSRVNTX1ZBQ1VVTV9UVVBMRVNfUkVNT1ZFRCwgYmRzLT5zdGF0cy0+dHVwbGVzX3JlbW92ZWQp OwogCQkJfQogCQkJZWxzZQogCQkJewpAQCAtNDMwLDYgKzQzMyw3IEBAIHZhY3V1bUxlYWZSb290 KHNwZ0J1bGtEZWxldGVTdGF0ZSAqYmRzLCBSZWxhdGlvbiBpbmRleCwgQnVmZmVyIGJ1ZmZlcikK IAkJCQliZHMtPnN0YXRzLT50dXBsZXNfcmVtb3ZlZCArPSAxOwogCQkJCXRvRGVsZXRlW3hscmVj Lm5EZWxldGVdID0gaTsKIAkJCQl4bHJlYy5uRGVsZXRlKys7CisJCQkJcGdzdGF0X3Byb2dyZXNz X3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fVFVQTEVTX1JFTU9WRUQsIGJkcy0+c3RhdHMt PnR1cGxlc19yZW1vdmVkKTsKIAkJCX0KIAkJCWVsc2UKIAkJCXsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbCBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvc3lz dGVtX3ZpZXdzLnNxbAppbmRleCAzY2I2OWIxZjg3Li4wZjkxZjY2YzczIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9zeXN0ZW1fdmlld3Muc3FsCkBAIC0xMTIzLDEzICsxMTIzLDUzIEBAIENSRUFURSBWSUVX IHBnX3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIEFTCiAgICAgICAgICAgICAgICAgICAgICAgV0hFTiA0 IFRIRU4gJ2NsZWFuaW5nIHVwIGluZGV4ZXMnCiAgICAgICAgICAgICAgICAgICAgICAgV0hFTiA1 IFRIRU4gJ3RydW5jYXRpbmcgaGVhcCcKICAgICAgICAgICAgICAgICAgICAgICBXSEVOIDYgVEhF TiAncGVyZm9ybWluZyBmaW5hbCBjbGVhbnVwJworICAgICAgICAgICAgICAgICAgICAgIFdIRU4g NyBUSEVOICd2YWN1dW1pbmcgaW5kZXhlcycKKyAgICAgICAgICAgICAgICAgICAgICBXSEVOIDgg VEhFTiAnY2xlYW5pbmcgdXAgaW5kZXhlcycKICAgICAgICAgICAgICAgICAgICAgICBFTkQgQVMg cGhhc2UsCiAgICAgICAgIFMucGFyYW0yIEFTIGhlYXBfYmxrc190b3RhbCwgUy5wYXJhbTMgQVMg aGVhcF9ibGtzX3NjYW5uZWQsCiAgICAgICAgIFMucGFyYW00IEFTIGhlYXBfYmxrc192YWN1dW1l ZCwgUy5wYXJhbTUgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAotICAgICAgICBTLnBhcmFtNiBBUyBt YXhfZGVhZF90dXBsZXMsIFMucGFyYW03IEFTIG51bV9kZWFkX3R1cGxlcworICAgICAgICBTLnBh cmFtNiBBUyBtYXhfZGVhZF90dXBsZXMsIFMucGFyYW03IEFTIG51bV9kZWFkX3R1cGxlcywKKyAg ICAgICAgUy5wYXJhbTggQVMgaW5kZXhlc190b3RhbCwgUy5wYXJhbTkgQVMgaW5kZXhlc19wcm9j ZXNzZWQKICAgICBGUk9NIHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8oJ1ZBQ1VVTScpIEFTIFMK ICAgICAgICAgTEVGVCBKT0lOIHBnX2RhdGFiYXNlIEQgT04gUy5kYXRpZCA9IEQub2lkOwogCitD UkVBVEUgVklFVyBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bV9pbmRleCBBUworICAgIFNFTEVDVAor ICAgICAgICBTLnBpZCwKKyAgICAgICAgUy5kYXRpZCwKKyAgICAgICAgUy5kYXRuYW1lLAorICAg ICAgICBTLmluZGV4cmVsaWQsCisgICAgICAgIFMubGVhZGVyX3BpZCwKKyAgICAgICAgQ0FTRSBT LnBoYXNlIFdIRU4gNyBUSEVOICd2YWN1dW1pbmcgaW5kZXhlcycKKyAgICAgICAgICAgICAgICAg ICAgIFdIRU4gOCBUSEVOICdjbGVhbmluZyB1cCBpbmRleGVzJworICAgICAgICAgICAgICAgICAg ICAgRU5EIEFTIHBoYXNlLAorICAgICAgICBTLnR1cGxlc19yZW1vdmVkCisgICAgRlJPTSAoCisg ICAgICAgIFNFTEVDVAorICAgICAgICAgICAgUy5waWQgQVMgcGlkLAorICAgICAgICAgICAgUy5k YXRpZCBBUyBkYXRpZCwKKyAgICAgICAgICAgIEQuZGF0bmFtZSBBUyBkYXRuYW1lLAorICAgICAg ICAgICAgUy5wYXJhbTEwIEFTIGluZGV4cmVsaWQsCisgICAgICAgICAgICBTLnBhcmFtMTIgQVMg bGVhZGVyX3BpZCwKKyAgICAgICAgICAgIFMucGFyYW0xIEFTIHBoYXNlLAorICAgICAgICAgICAg Uy5wYXJhbTExIEFTIHR1cGxlc19yZW1vdmVkCisgICAgICAgIEZST00gcGdfc3RhdF9nZXRfcHJv Z3Jlc3NfaW5mbygnVkFDVVVNJykgQVMgUworICAgICAgICAgICAgTEVGVCBKT0lOIHBnX2RhdGFi YXNlIEQgT04gUy5kYXRpZCA9IEQub2lkCisgICAgICAgIFdIRVJFIFMucGFyYW0xIElOICgyLCA0 LCA3LCA4KSBBTkQgUy5wYXJhbTEwID4gMAorICAgICAgICBVTklPTiBBTEwKKyAgICAgICAgU0VM RUNUCisgICAgICAgICAgICBTLnBpZCBBUyBwaWQsCisgICAgICAgICAgICBTLmRhdGlkIEFTIGRh dGlkLAorICAgICAgICAgICAgRC5kYXRuYW1lIEFTIGRhdG5hbWUsCisgICAgICAgICAgICBTLnBh cmFtMTAgQVMgaW5kZXhyZWxpZCwKKyAgICAgICAgICAgIFMucGFyYW0xMiBBUyBsZWFkZXJfcGlk LAorICAgICAgICAgICAgUy5wYXJhbTEgQVMgcGhhc2UsCisgICAgICAgICAgICBTLnBhcmFtMTEg QVMgdHVwbGVzX3JlbW92ZWQKKyAgICAgICAgRlJPTSBwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZv KCdWQUNVVU1fUEFSQUxMRUwnKSBBUyBTCisgICAgICAgICAgICBMRUZUIEpPSU4gcGdfZGF0YWJh c2UgRCBPTiBTLmRhdGlkID0gRC5vaWQKKyAgICAgICAgKSBBUyBTCisgICAgV0hFUkUgUy5waGFz ZSBJTiAoMiwgNCwgNywgOCkgQU5EIFMuaW5kZXhyZWxpZCA+IDA7CisKIENSRUFURSBWSUVXIHBn X3N0YXRfcHJvZ3Jlc3NfY2x1c3RlciBBUwogICAgIFNFTEVDVAogICAgICAgICBTLnBpZCBBUyBw aWQsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxlbC5jIGIv c3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwppbmRleCA5NzRhMjllN2E5Li4x MzMyMjAzMDQ3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy92YWN1dW1wYXJhbGxl bC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBhcmFsbGVsLmMKQEAgLTI5LDYg KzI5LDcgQEAKICNpbmNsdWRlICJhY2Nlc3MvYW1hcGkuaCIKICNpbmNsdWRlICJhY2Nlc3MvdGFi bGUuaCIKICNpbmNsdWRlICJjYXRhbG9nL2luZGV4LmgiCisjaW5jbHVkZSAiY29tbWFuZHMvcHJv Z3Jlc3MuaCIKICNpbmNsdWRlICJjb21tYW5kcy92YWN1dW0uaCIKICNpbmNsdWRlICJvcHRpbWl6 ZXIvcGF0aHMuaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKQEAgLTEwMSw2ICsxMDIsOSBAQCB0eXBl ZGVmIHN0cnVjdCBQVlNoYXJlZAogCiAJLyogQ291bnRlciBmb3IgdmFjdXVtaW5nIGFuZCBjbGVh bnVwICovCiAJcGdfYXRvbWljX3VpbnQzMiBpZHg7CisKKwkvKiBMZWFkZXIgUElEIG9mIHRoZSB2 YWN1dW0gKi8KKwlpbnQJCSBsZWFkZXJfcGlkOwogfSBQVlNoYXJlZDsKIAogLyogU3RhdHVzIHVz ZWQgZHVyaW5nIHBhcmFsbGVsIGluZGV4IHZhY3V1bSBvciBjbGVhbnVwICovCkBAIC0zNTcsNiAr MzYxLDcgQEAgcGFyYWxsZWxfdmFjdXVtX2luaXQoUmVsYXRpb24gcmVsLCBSZWxhdGlvbiAqaW5k cmVscywgaW50IG5pbmRleGVzLAogCQkobmluZGV4ZXNfbXdtID4gMCkgPwogCQltYWludGVuYW5j ZV93b3JrX21lbSAvIE1pbihwYXJhbGxlbF93b3JrZXJzLCBuaW5kZXhlc19td20pIDoKIAkJbWFp bnRlbmFuY2Vfd29ya19tZW07CisJc2hhcmVkLT5sZWFkZXJfcGlkID0gTXlQcm9jUGlkOwogCiAJ cGdfYXRvbWljX2luaXRfdTMyKCYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpLCAwKTsKIAlwZ19hdG9t aWNfaW5pdF91MzIoJihzaGFyZWQtPmFjdGl2ZV9ud29ya2VycyksIDApOwpAQCAtNzE2LDYgKzcy MSw3IEBAIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX2FsbF9pbmRleGVzKFBhcmFsbGVsVmFjdXVt U3RhdGUgKnB2cywgaW50IG51bV9pbmRleF9zY2FuCiAJCVZhY3V1bVNoYXJlZENvc3RCYWxhbmNl ID0gTlVMTDsKIAkJVmFjdXVtQWN0aXZlTldvcmtlcnMgPSBOVUxMOwogCX0KKwogfQogCiAvKgpA QCAtODQwLDEzICs4NDYsMjQgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4KFBh cmFsbGVsVmFjdXVtU3RhdGUgKnB2cywgUmVsYXRpb24gaW5kcmVsLAogCXB2cy0+aW5kbmFtZSA9 IHBzdHJkdXAoUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUoaW5kcmVsKSk7CiAJcHZzLT5zdGF0dXMg PSBpbmRzdGF0cy0+c3RhdHVzOwogCisJLyogQWR2ZXJ0aXNlIHRoZSBpbmRleCB3ZSBhcmUgY2xl YW5pbmcgb3IgdmFjdXVtaW5nICovCisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9H UkVTU19WQUNVVU1fSU5ERVhSRUxJRCwgUmVsYXRpb25HZXRSZWxpZChpbmRyZWwpKTsKKwogCXN3 aXRjaCAoaW5kc3RhdHMtPnN0YXR1cykKIAl7CiAJCWNhc2UgUEFSQUxMRUxfSU5EVkFDX1NUQVRV U19ORUVEX0JVTEtERUxFVEU6CisJCQkvKiBSZXBvcnQgdGhhdCB3ZSBhcmUgbm93IHZhY3V1bWlu ZyBpbmRleGVzIGluIHBhcmFsbGVsICovCisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFt KFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSwKKwkJCQkJCQkJCQlQUk9HUkVTU19WQUNVVU1fUEhBU0Vf VkFDVVVNX0lOREVYX1BBUkFMTEVMKTsKIAkJCWlzdGF0X3JlcyA9IHZhY19idWxrZGVsX29uZV9p bmRleCgmaXZpbmZvLCBpc3RhdCwgcHZzLT5kZWFkX2l0ZW1zKTsKKwkJCXZhY3V1bV93b3JrZXJf dXBkYXRlKHB2cy0+c2hhcmVkLT5sZWFkZXJfcGlkKTsKIAkJCWJyZWFrOwogCQljYXNlIFBBUkFM TEVMX0lORFZBQ19TVEFUVVNfTkVFRF9DTEVBTlVQOgorCQkJLyogUmVwb3J0IHRoYXQgd2UgYXJl IG5vdyBjbGVhbmluZyBpbmRleGVzIGluIHBhcmFsbGVsICovCisJCQlwZ3N0YXRfcHJvZ3Jlc3Nf dXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSwKKwkJCQkJCQkJCQlQUk9HUkVTU19W QUNVVU1fUEhBU0VfSU5ERVhfQ0xFQU5VUF9QQVJBTExFTCk7CiAJCQlpc3RhdF9yZXMgPSB2YWNf Y2xlYW51cF9vbmVfaW5kZXgoJml2aW5mbywgaXN0YXQpOworCQkJdmFjdXVtX3dvcmtlcl91cGRh dGUocHZzLT5zaGFyZWQtPmxlYWRlcl9waWQpOwogCQkJYnJlYWs7CiAJCWRlZmF1bHQ6CiAJCQll bG9nKEVSUk9SLCAidW5leHBlY3RlZCBwYXJhbGxlbCB2YWN1dW0gaW5kZXggc3RhdHVzICVkIGZv ciBpbmRleCBcIiVzXCIiLApAQCAtODgxLDYgKzg5OCwxMCBAQCBwYXJhbGxlbF92YWN1dW1fcHJv Y2Vzc19vbmVfaW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWws CiAJICovCiAJaW5kc3RhdHMtPnN0YXR1cyA9IFBBUkFMTEVMX0lORFZBQ19TVEFUVVNfQ09NUExF VEVEOwogCisJLyogQWR2ZXJ0aXNlIHdlIGFyZSBubyBsb25nZXIgdmFjdXVtaW5nL2NsZWFuaW5n IGFuIGluZGV4ICovCisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNV VU1fSU5ERVhSRUxJRCwgMCk7CisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVT U19WQUNVVU1fVFVQTEVTX1JFTU9WRUQsIDApOworCiAJLyogUmVzZXQgZXJyb3IgdHJhY2ViYWNr IGluZm9ybWF0aW9uICovCiAJcHZzLT5zdGF0dXMgPSBQQVJBTExFTF9JTkRWQUNfU1RBVFVTX0NP TVBMRVRFRDsKIAlwZnJlZShwdnMtPmluZG5hbWUpOwpAQCAtOTY1LDYgKzk4Niw5IEBAIHBhcmFs bGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNobV90b2MgKnRvYykKIAkgKiB3b3Jr ZXJzLgogCSAqLwogCXJlbCA9IHRhYmxlX29wZW4oc2hhcmVkLT5yZWxpZCwgU2hhcmVVcGRhdGVF eGNsdXNpdmVMb2NrKTsKKwlwZ3N0YXRfcHJvZ3Jlc3Nfc3RhcnRfY29tbWFuZChQUk9HUkVTU19D T01NQU5EX1ZBQ1VVTV9QQVJBTExFTCwKKwkJCQkJCQkJUmVsYXRpb25HZXRSZWxpZChyZWwpKTsK KwlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9MRUFERVJfUElE LCBzaGFyZWQtPmxlYWRlcl9waWQpOwogCiAJLyoKIAkgKiBPcGVuIGFsbCBpbmRleGVzLiBpbmRy ZWxzIGFyZSBzb3J0ZWQgaW4gb3JkZXIgYnkgT0lELCB3aGljaCBzaG91bGQgYmUKQEAgLTEwMzYs NiArMTA2MCw3IEBAIHBhcmFsbGVsX3ZhY3V1bV9tYWluKGRzbV9zZWdtZW50ICpzZWcsIHNobV90 b2MgKnRvYykKIAl2YWNfY2xvc2VfaW5kZXhlcyhuaW5kZXhlcywgaW5kcmVscywgUm93RXhjbHVz aXZlTG9jayk7CiAJdGFibGVfY2xvc2UocmVsLCBTaGFyZVVwZGF0ZUV4Y2x1c2l2ZUxvY2spOwog CUZyZWVBY2Nlc3NTdHJhdGVneShwdnMuYnN0cmF0ZWd5KTsKKwlwZ3N0YXRfcHJvZ3Jlc3NfZW5k X2NvbW1hbmQoKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBj L2lwY2kuYyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL2lwY2kuYwppbmRleCA5ZjI2ZTQxYzQ2 Li44NjgyNTc4YWMzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2lwYy9pcGNpLmMK KysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvaXBjaS5jCkBAIC0yMyw2ICsyMyw3IEBACiAj aW5jbHVkZSAiYWNjZXNzL3N5bmNzY2FuLmgiCiAjaW5jbHVkZSAiYWNjZXNzL3R3b3BoYXNlLmgi CiAjaW5jbHVkZSAiY29tbWFuZHMvYXN5bmMuaCIKKyNpbmNsdWRlICJjb21tYW5kcy92YWN1dW0u aCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRl ICJwb3N0bWFzdGVyL2F1dG92YWN1dW0uaCIKQEAgLTE0Myw2ICsxNDQsNyBAQCBDYWxjdWxhdGVT aG1lbVNpemUoaW50ICpudW1fc2VtYXBob3JlcykKIAlzaXplID0gYWRkX3NpemUoc2l6ZSwgQlRy ZWVTaG1lbVNpemUoKSk7CiAJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFN5bmNTY2FuU2htZW1TaXpl KCkpOwogCXNpemUgPSBhZGRfc2l6ZShzaXplLCBBc3luY1NobWVtU2l6ZSgpKTsKKwlzaXplID0g YWRkX3NpemUoc2l6ZSwgVmFjdXVtV29ya2VyUHJvZ3Jlc3NTaG1lbVNpemUoKSk7CiAjaWZkZWYg RVhFQ19CQUNLRU5ECiAJc2l6ZSA9IGFkZF9zaXplKHNpemUsIFNobWVtQmFja2VuZEFycmF5U2l6 ZSgpKTsKICNlbmRpZgpAQCAtMjkzLDYgKzI5NSw3IEBAIENyZWF0ZVNoYXJlZE1lbW9yeUFuZFNl bWFwaG9yZXModm9pZCkKIAlCVHJlZVNobWVtSW5pdCgpOwogCVN5bmNTY2FuU2htZW1Jbml0KCk7 CiAJQXN5bmNTaG1lbUluaXQoKTsKKwlWYWN1dW1Xb3JrZXJQcm9ncmVzc1NobWVtSW5pdCgpOwog CiAjaWZkZWYgRVhFQ19CQUNLRU5ECiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5k ZXggMTVjYjE3YWNlNC4uNWRlY2U3MTU5NiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNz LmMKQEAgLTE4LDYgKzE4LDcgQEAKICNpbmNsdWRlICJhY2Nlc3MveGxvZy5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfYXV0aGlkLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCisjaW5j bHVkZSAiY29tbWFuZHMvdmFjdXVtLmgiCiAjaW5jbHVkZSAiY29tbW9uL2lwLmgiCiAjaW5jbHVk ZSAiZnVuY2FwaS5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgpAQCAtNDUyLDYgKzQ1MywxNCBA QCBwZ19zdGF0X2dldF9iYWNrZW5kX2lkc2V0KFBHX0ZVTkNUSU9OX0FSR1MpCiAKIC8qCiAgKiBS ZXR1cm5zIGNvbW1hbmQgcHJvZ3Jlc3MgaW5mb3JtYXRpb24gZm9yIHRoZSBuYW1lZCBjb21tYW5k LgorICoKKyAqIEEgY29tbWFuZCB0eXBlIGNhbiBvcHRpb25hbGx5IGRlZmluZSBhIGNhbGxiYWNr IGZ1bmN0aW9uCisgKiB3aGljaCB3aWxsIGRlcml2ZSBEYXR1bSB2YWx1ZXMgcmF0aGVyIHRoYW4g dXNlIHZhbHVlcworICogZGlyZWN0bHkgZnJvbSB0aGUgYmFja2VuZHMgcHJvZ3Jlc3MgYXJyYXku CisgKgorICogRGVyaXZlZCB2YWx1ZXMgYXJlIHVzZWZ1bCB0byBjYWxjdWxhdGUgdmFsdWVzIGZv cm0gbXVsdGlwbGUgYmFja2VuZHMKKyAqIGFzIGlzIHRoZSBjYXNlIHdpdGggcGFyYWxsZWwgb3Bl cmF0aW9ucywgaW4gd2hpY2ggcHJvZ3Jlc3MgdmFsdWVzCisgKiBhcmUgY2FsY3VsYXRlZCBmb3Jt IG11bHRpcGxlIHdvcmtlcnMuCiAgKi8KIERhdHVtCiBwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZv KFBHX0ZVTkNUSU9OX0FSR1MpCkBAIC00NjYsNiArNDc1LDcgQEAgcGdfc3RhdF9nZXRfcHJvZ3Jl c3NfaW5mbyhQR19GVU5DVElPTl9BUkdTKQogCVJldHVyblNldEluZm8gKnJzaW5mbyA9IChSZXR1 cm5TZXRJbmZvICopIGZjaW5mby0+cmVzdWx0aW5mbzsKIAlNZW1vcnlDb250ZXh0IHBlcl9xdWVy eV9jdHg7CiAJTWVtb3J5Q29udGV4dCBvbGRjb250ZXh0OworCXZvaWQgKCpjYWxsYmFjaykoRGF0 dW0gKiwgaW50KSA9IE5VTEw7CiAKIAkvKiBjaGVjayB0byBzZWUgaWYgY2FsbGVyIHN1cHBvcnRz IHVzIHJldHVybmluZyBhIHR1cGxlc3RvcmUgKi8KIAlpZiAocnNpbmZvID09IE5VTEwgfHwgIUlz QShyc2luZm8sIFJldHVyblNldEluZm8pKQpAQCAtNDgzLDcgKzQ5MywxNCBAQCBwZ19zdGF0X2dl dF9wcm9ncmVzc19pbmZvKFBHX0ZVTkNUSU9OX0FSR1MpCiAKIAkvKiBUcmFuc2xhdGUgY29tbWFu ZCBuYW1lIGludG8gY29tbWFuZCB0eXBlIGNvZGUuICovCiAJaWYgKHBnX3N0cmNhc2VjbXAoY21k LCAiVkFDVVVNIikgPT0gMCkKKwl7CiAJCWNtZHR5cGUgPSBQUk9HUkVTU19DT01NQU5EX1ZBQ1VV TTsKKwkJY2FsbGJhY2sgPSB2YWN1dW1fcHJvZ3Jlc3NfY2I7CisJfQorCWVsc2UgaWYgKHBnX3N0 cmNhc2VjbXAoY21kLCAiVkFDVVVNX1BBUkFMTEVMIikgPT0gMCkKKwl7CisJCWNtZHR5cGUgPSBQ Uk9HUkVTU19DT01NQU5EX1ZBQ1VVTV9QQVJBTExFTDsKKwl9CiAJZWxzZSBpZiAocGdfc3RyY2Fz ZWNtcChjbWQsICJBTkFMWVpFIikgPT0gMCkKIAkJY21kdHlwZSA9IFBST0dSRVNTX0NPTU1BTkRf QU5BTFlaRTsKIAllbHNlIGlmIChwZ19zdHJjYXNlY21wKGNtZCwgIkNMVVNURVIiKSA9PSAwKQpA QCAtNTUyLDYgKzU2OSw5IEBAIHBnX3N0YXRfZ2V0X3Byb2dyZXNzX2luZm8oUEdfRlVOQ1RJT05f QVJHUykKIAkJCQludWxsc1tpICsgM10gPSB0cnVlOwogCQl9CiAKKwkJaWYgKGNhbGxiYWNrKQor CQkJY2FsbGJhY2sodmFsdWVzLCAzKTsKKwogCQl0dXBsZXN0b3JlX3B1dHZhbHVlcyh0dXBzdG9y ZSwgdHVwZGVzYywgdmFsdWVzLCBudWxscyk7CiAJfQogCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9jb21tYW5kcy9wcm9ncmVzcy5oIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaApp bmRleCBhMjg5MzhjYWY0Li4zNzY1OTg4MmVlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21t YW5kcy9wcm9ncmVzcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Byb2dyZXNzLmgKQEAg LTI1LDYgKzI1LDExIEBACiAjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9OVU1fSU5ERVhfVkFDVVVN UwkJNAogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fTUFYX0RFQURfVFVQTEVTCQkJNQogI2RlZmlu ZSBQUk9HUkVTU19WQUNVVU1fTlVNX0RFQURfVFVQTEVTCQkJNgorI2RlZmluZSBQUk9HUkVTU19W QUNVVU1fVE9UQUxfSU5ERVhFUwkJCTcKKyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX0lOREVYRVNf Q09NUExFVEVECQk4CisjZGVmaW5lIFBST0dSRVNTX1ZBQ1VVTV9JTkRFWFJFTElECQkJOQorI2Rl ZmluZSBQUk9HUkVTU19WQUNVVU1fVFVQTEVTX1JFTU9WRUQJCQkxMAorI2RlZmluZSBQUk9HUkVT U19WQUNVVU1fTEVBREVSX1BJRAkJCTExCiAKIC8qIFBoYXNlcyBvZiB2YWN1dW0gKGFzIGFkdmVy dGlzZWQgdmlhIFBST0dSRVNTX1ZBQ1VVTV9QSEFTRSkgKi8KICNkZWZpbmUgUFJPR1JFU1NfVkFD VVVNX1BIQVNFX1NDQU5fSEVBUAkJCTEKQEAgLTMzLDYgKzM4LDggQEAKICNkZWZpbmUgUFJPR1JF U1NfVkFDVVVNX1BIQVNFX0lOREVYX0NMRUFOVVAJCTQKICNkZWZpbmUgUFJPR1JFU1NfVkFDVVVN X1BIQVNFX1RSVU5DQVRFCQkJNQogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fUEhBU0VfRklOQUxf Q0xFQU5VUAkJNgorI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fUEhBU0VfVkFDVVVNX0lOREVYX1BB UkFMTEVMCTcKKyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX1BIQVNFX0lOREVYX0NMRUFOVVBfUEFS QUxMRUwJOAogCiAvKiBQcm9ncmVzcyBwYXJhbWV0ZXJzIGZvciBhbmFseXplICovCiAjZGVmaW5l IFBST0dSRVNTX0FOQUxZWkVfUEhBU0UJCQkJCQkwCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j b21tYW5kcy92YWN1dW0uaCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCmluZGV4IDVk MGJkZmE0MjcuLjExOTkyNDY5NGQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3Zh Y3V1bS5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3ZhY3V1bS5oCkBAIC0zMzYsNCArMzM2 LDEyIEBAIGV4dGVybiBkb3VibGUgYW5sX3JhbmRvbV9mcmFjdCh2b2lkKTsKIGV4dGVybiBkb3Vi bGUgYW5sX2luaXRfc2VsZWN0aW9uX3N0YXRlKGludCBuKTsKIGV4dGVybiBkb3VibGUgYW5sX2dl dF9uZXh0X1MoZG91YmxlIHQsIGludCBuLCBkb3VibGUgKnN0YXRlcHRyKTsKIAorLyogaW4gY29t bWFuZHMvdmFjdXVtcGFyYWxsZWwuYyAqLworZXh0ZXJuIFNpemUgVmFjdXVtV29ya2VyUHJvZ3Jl c3NTaG1lbVNpemUodm9pZCk7CitleHRlcm4gdm9pZCBWYWN1dW1Xb3JrZXJQcm9ncmVzc1NobWVt SW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIHZhY3V1bV93b3JrZXJfZW5kKGludCBsZWFkZXJfcGlk KTsKK2V4dGVybiB2b2lkIHZhY3V1bV93b3JrZXJfdXBkYXRlKGludCBsZWFkZXJfcGlkKTsKK2V4 dGVybiB2b2lkIHZhY3V1bV9wcm9ncmVzc19jYihEYXR1bSAqdmFsdWVzLCBpbnQgb2Zmc2V0KTsK K2V4dGVybiB2b2lkIHZhY3V1bV93b3JrZXJfZW5kX2NhbGxiYWNrKGludCBjb2RlLCBEYXR1bSBh cmcpOworCiAjZW5kaWYJCQkJCQkJLyogVkFDVVVNX0ggKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNs dWRlL3V0aWxzL2JhY2tlbmRfcHJvZ3Jlc3MuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2JhY2tlbmRf cHJvZ3Jlc3MuaAppbmRleCA0N2JmODAyOWIwLi40NjUxZTQ1YzQwIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS91dGlscy9iYWNrZW5kX3Byb2dyZXNzLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMv YmFja2VuZF9wcm9ncmVzcy5oCkBAIC0yMyw2ICsyMyw3IEBAIHR5cGVkZWYgZW51bSBQcm9ncmVz c0NvbW1hbmRUeXBlCiB7CiAJUFJPR1JFU1NfQ09NTUFORF9JTlZBTElELAogCVBST0dSRVNTX0NP TU1BTkRfVkFDVVVNLAorCVBST0dSRVNTX0NPTU1BTkRfVkFDVVVNX1BBUkFMTEVMLAogCVBST0dS RVNTX0NPTU1BTkRfQU5BTFlaRSwKIAlQUk9HUkVTU19DT01NQU5EX0NMVVNURVIsCiAJUFJPR1JF U1NfQ09NTUFORF9DUkVBVEVfSU5ERVgsCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0Cmlu ZGV4IDE0MjAyODhkNjcuLjM1MTkzZGM2YjcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvcnVsZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMu b3V0CkBAIC0xOTk1LDYgKzE5OTUsOCBAQCBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bXwgU0VMRUNU IHMucGlkLAogICAgICAgICAgICAgV0hFTiA0IFRIRU4gJ2NsZWFuaW5nIHVwIGluZGV4ZXMnOjp0 ZXh0CiAgICAgICAgICAgICBXSEVOIDUgVEhFTiAndHJ1bmNhdGluZyBoZWFwJzo6dGV4dAogICAg ICAgICAgICAgV0hFTiA2IFRIRU4gJ3BlcmZvcm1pbmcgZmluYWwgY2xlYW51cCc6OnRleHQKKyAg ICAgICAgICAgIFdIRU4gNyBUSEVOICd2YWN1dW1pbmcgaW5kZXhlcyc6OnRleHQKKyAgICAgICAg ICAgIFdIRU4gOCBUSEVOICdjbGVhbmluZyB1cCBpbmRleGVzJzo6dGV4dAogICAgICAgICAgICAg RUxTRSBOVUxMOjp0ZXh0CiAgICAgICAgIEVORCBBUyBwaGFzZSwKICAgICBzLnBhcmFtMiBBUyBo ZWFwX2Jsa3NfdG90YWwsCkBAIC0yMDAyLDkgKzIwMDQsNDMgQEAgcGdfc3RhdF9wcm9ncmVzc192 YWN1dW18IFNFTEVDVCBzLnBpZCwKICAgICBzLnBhcmFtNCBBUyBoZWFwX2Jsa3NfdmFjdXVtZWQs CiAgICAgcy5wYXJhbTUgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAogICAgIHMucGFyYW02IEFTIG1h eF9kZWFkX3R1cGxlcywKLSAgICBzLnBhcmFtNyBBUyBudW1fZGVhZF90dXBsZXMKKyAgICBzLnBh cmFtNyBBUyBudW1fZGVhZF90dXBsZXMsCisgICAgcy5wYXJhbTggQVMgaW5kZXhlc190b3RhbCwK KyAgICBzLnBhcmFtOSBBUyBpbmRleGVzX3Byb2Nlc3NlZAogICAgRlJPTSAocGdfc3RhdF9nZXRf cHJvZ3Jlc3NfaW5mbygnVkFDVVVNJzo6dGV4dCkgcyhwaWQsIGRhdGlkLCByZWxpZCwgcGFyYW0x LCBwYXJhbTIsIHBhcmFtMywgcGFyYW00LCBwYXJhbTUsIHBhcmFtNiwgcGFyYW03LCBwYXJhbTgs IHBhcmFtOSwgcGFyYW0xMCwgcGFyYW0xMSwgcGFyYW0xMiwgcGFyYW0xMywgcGFyYW0xNCwgcGFy YW0xNSwgcGFyYW0xNiwgcGFyYW0xNywgcGFyYW0xOCwgcGFyYW0xOSwgcGFyYW0yMCkKICAgICAg TEVGVCBKT0lOIHBnX2RhdGFiYXNlIGQgT04gKChzLmRhdGlkID0gZC5vaWQpKSk7CitwZ19zdGF0 X3Byb2dyZXNzX3ZhY3V1bV9pbmRleHwgU0VMRUNUIHMucGlkLAorICAgIHMuZGF0aWQsCisgICAg cy5kYXRuYW1lLAorICAgIHMuaW5kZXhyZWxpZCwKKyAgICBzLmxlYWRlcl9waWQsCisgICAgICAg IENBU0Ugcy5waGFzZQorICAgICAgICAgICAgV0hFTiA3IFRIRU4gJ3ZhY3V1bWluZyBpbmRleGVz Jzo6dGV4dAorICAgICAgICAgICAgV0hFTiA4IFRIRU4gJ2NsZWFuaW5nIHVwIGluZGV4ZXMnOjp0 ZXh0CisgICAgICAgICAgICBFTFNFIE5VTEw6OnRleHQKKyAgICAgICAgRU5EIEFTIHBoYXNlLAor ICAgIHMudHVwbGVzX3JlbW92ZWQKKyAgIEZST00gKCBTRUxFQ1Qgc18xLnBpZCwKKyAgICAgICAg ICAgIHNfMS5kYXRpZCwKKyAgICAgICAgICAgIGQuZGF0bmFtZSwKKyAgICAgICAgICAgIHNfMS5w YXJhbTEwIEFTIGluZGV4cmVsaWQsCisgICAgICAgICAgICBzXzEucGFyYW0xMiBBUyBsZWFkZXJf cGlkLAorICAgICAgICAgICAgc18xLnBhcmFtMSBBUyBwaGFzZSwKKyAgICAgICAgICAgIHNfMS5w YXJhbTExIEFTIHR1cGxlc19yZW1vdmVkCisgICAgICAgICAgIEZST00gKHBnX3N0YXRfZ2V0X3By b2dyZXNzX2luZm8oJ1ZBQ1VVTSc6OnRleHQpIHNfMShwaWQsIGRhdGlkLCByZWxpZCwgcGFyYW0x LCBwYXJhbTIsIHBhcmFtMywgcGFyYW00LCBwYXJhbTUsIHBhcmFtNiwgcGFyYW03LCBwYXJhbTgs IHBhcmFtOSwgcGFyYW0xMCwgcGFyYW0xMSwgcGFyYW0xMiwgcGFyYW0xMywgcGFyYW0xNCwgcGFy YW0xNSwgcGFyYW0xNiwgcGFyYW0xNywgcGFyYW0xOCwgcGFyYW0xOSwgcGFyYW0yMCkKKyAgICAg ICAgICAgICBMRUZUIEpPSU4gcGdfZGF0YWJhc2UgZCBPTiAoKHNfMS5kYXRpZCA9IGQub2lkKSkp CisgICAgICAgICAgV0hFUkUgKChzXzEucGFyYW0xID0gQU5ZIChBUlJBWVsoMik6OmJpZ2ludCwg KDQpOjpiaWdpbnQsICg3KTo6YmlnaW50LCAoOCk6OmJpZ2ludF0pKSBBTkQgKHNfMS5wYXJhbTEw ID4gMCkpCisgICAgICAgIFVOSU9OIEFMTAorICAgICAgICAgU0VMRUNUIHNfMS5waWQsCisgICAg ICAgICAgICBzXzEuZGF0aWQsCisgICAgICAgICAgICBkLmRhdG5hbWUsCisgICAgICAgICAgICBz XzEucGFyYW0xMCBBUyBpbmRleHJlbGlkLAorICAgICAgICAgICAgc18xLnBhcmFtMTIgQVMgbGVh ZGVyX3BpZCwKKyAgICAgICAgICAgIHNfMS5wYXJhbTEgQVMgcGhhc2UsCisgICAgICAgICAgICBz XzEucGFyYW0xMSBBUyB0dXBsZXNfcmVtb3ZlZAorICAgICAgICAgICBGUk9NIChwZ19zdGF0X2dl dF9wcm9ncmVzc19pbmZvKCdWQUNVVU1fUEFSQUxMRUwnOjp0ZXh0KSBzXzEocGlkLCBkYXRpZCwg cmVsaWQsIHBhcmFtMSwgcGFyYW0yLCBwYXJhbTMsIHBhcmFtNCwgcGFyYW01LCBwYXJhbTYsIHBh cmFtNywgcGFyYW04LCBwYXJhbTksIHBhcmFtMTAsIHBhcmFtMTEsIHBhcmFtMTIsIHBhcmFtMTMs IHBhcmFtMTQsIHBhcmFtMTUsIHBhcmFtMTYsIHBhcmFtMTcsIHBhcmFtMTgsIHBhcmFtMTksIHBh cmFtMjApCisgICAgICAgICAgICAgTEVGVCBKT0lOIHBnX2RhdGFiYXNlIGQgT04gKChzXzEuZGF0 aWQgPSBkLm9pZCkpKSkgcworICBXSEVSRSAoKHMucGhhc2UgPSBBTlkgKEFSUkFZWygyKTo6Ymln aW50LCAoNCk6OmJpZ2ludCwgKDcpOjpiaWdpbnQsICg4KTo6YmlnaW50XSkpIEFORCAocy5pbmRl eHJlbGlkID4gMCkpOwogcGdfc3RhdF9yZXBsaWNhdGlvbnwgU0VMRUNUIHMucGlkLAogICAgIHMu dXNlc3lzaWQsCiAgICAgdS5yb2xuYW1lIEFTIHVzZW5hbWUsCi0tIAoyLjMyLjAKCg== --_002_CC7DB450A14243B0A68FC6B45DC435F2amazoncom_--