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 1pD9NR-0005nY-76 for pgsql-hackers@arkaria.postgresql.org; Wed, 04 Jan 2023 19:24:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pD9NP-0000uY-2k for pgsql-hackers@arkaria.postgresql.org; Wed, 04 Jan 2023 19:24:39 +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 1pD9NO-0000uP-8b for pgsql-hackers@lists.postgresql.org; Wed, 04 Jan 2023 19:24:38 +0000 Received: from smtp-fw-80007.amazon.com ([99.78.197.218]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pD9NG-0003Px-9l for pgsql-hackers@postgresql.org; Wed, 04 Jan 2023 19:24:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1672860271; x=1704396271; h=from:to:cc:date:message-id:references:in-reply-to: mime-version:subject; bh=FH2RpkggzmaUjDPxBeroBXmwrAoVw7u8uScdmd9kNt8=; b=XEV+LmRtErjGmzY1GyBOpqg7hg5e0/CX1MP1jeomVb0dfS/d3ctTuHS3 DDzuTYFKIODkhoLX2/gM+hjTMDmSVx3T/gLcmRLGL950mXQriGDfSmvtY CBLXX+ZOfEGMZ8iKIbXn/VnSeviyaQHTGdeWXqu+MsN4Do4dZD3RtBJRa I=; X-Amazon-filename: v20-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch X-IronPort-AV: E=Sophos;i="5.96,300,1665446400"; d="scan'208,223";a="167851964" 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-vlan3.amazon.com (HELO email-inbound-relay-pdx-2b-m6i4x-7fa2de02.us-west-2.amazon.com) ([10.25.36.214]) by smtp-border-fw-80007.pdx80.corp.amazon.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Jan 2023 19:24:29 +0000 Received: from EX13MTAUWB002.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194]) by email-inbound-relay-pdx-2b-m6i4x-7fa2de02.us-west-2.amazon.com (Postfix) with ESMTPS id C1BE14179B; Wed, 4 Jan 2023 19:24:27 +0000 (UTC) Received: from EX19D003UWB002.ant.amazon.com (10.13.138.11) by EX13MTAUWB002.ant.amazon.com (10.43.161.202) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 4 Jan 2023 19:24:27 +0000 Received: from EX19D013UWA001.ant.amazon.com (10.13.138.253) by EX19D003UWB002.ant.amazon.com (10.13.138.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.7; Wed, 4 Jan 2023 19:24:26 +0000 Received: from EX19D013UWA001.ant.amazon.com ([fe80::e912:ae5e:9427:9964]) by EX19D013UWA001.ant.amazon.com ([fe80::e912:ae5e:9427:9964%5]) with mapi id 15.02.1118.020; Wed, 4 Jan 2023 19:24:26 +0000 From: "Imseih (AWS), Sami" To: "Drouvot, Bertrand" , vignesh C CC: Nathan Bossart , Masahiko Sawada , Andres Freund , Robert Haas , "Bossart, Nathan" , "Peter Geoghegan" , Justin Pryzby , "pgsql-hackers@postgresql.org" Thread-Index: AQHZA4UjiGMtZ7l1bk+swoIiaI4jE65gO6uAgAqyogCAAcWAAP//1SQAgBpsPYCAA2YugIACX5aA////NwCAAYLDgIAAO8SA Date: Wed, 4 Jan 2023 19:24:26 +0000 Message-ID: <2397CA8A-DAD7-46C7-AF69-97365DA47AF8@amazon.com> References: <20221109030030.5wmvr76xj256cccw@awork3.anarazel.de> <7C22F915-5BB8-4729-8FF1-98B774CD6C85@amazon.com> <3FC1BD50-1640-45DC-A354-B6183B0966F9@amazon.com> <7CCF18B6-9CB6-4DC6-AE9B-756F388C541F@amazon.com> <20F7ED07-4D32-4231-A81C-432EB111F0B2@amazon.com> <20221230183955.GB437226@nathanxps13> <3D992C93-AA5D-4719-8712-6ECD3D864966@amazon.com> <7A191516-3D65-4819-BF19-E116B53E783C@amazon.com> <977c555e-5d10-526f-ada0-b58d12267075@gmail.com> In-Reply-To: <977c555e-5d10-526f-ada0-b58d12267075@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.106.178.5] Content-Type: multipart/mixed; boundary="_002_2397CA8ADAD746C7AF6997365DA47AF8amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_2397CA8ADAD746C7AF6997365DA47AF8amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <282FC78919DB27448603EEA40455BD57@amazon.com> Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB0aGUgcmV2aWV3IQ0KDQpBZGRyZXNzZWQgdGhlIGNvbW1lbnRzLg0KDQo+ICJJ bmNyZW1lbnQgdGhlIGluZGV4ZXMgY29tcGxldGVkLiIgKGRvdCBhdCB0aGUgZW5kKSBpbnN0ZWFk Pw0KDQpVc2VkIHRoZSBjb21tZW50aW5nIGZvcm1hdCBiZWluZyB1c2VkIGluIG90aGVyIHBsYWNl cyBpbiB0aGlzDQpmaWxlIHdpdGggYW4gaW5jbHVzaW9uIG9mIGEgZG91YmxlLWRhc2guIGkuLGUu DQovKiBXcmFwYXJvdW5kIGVtZXJnZW5jeSAtLSBlbmQgY3VycmVudCBpbmRleCBzY2FuICovDQoN Cj4gSXQgc2VlbXMgdG8gbWUgdGhhdCAiI2RlZmluZSBSRVBPUlRfUEFSQUxMRUxfVkFDVVVNX0VW RVJZX1BBR0VTICgoQmxvY2tOdW1iZXIpICgxMDI0ICogMTAyNCAqIDEwMjQgLyBCTENLU1opKSIg d291bGQgYmUgZmluZSB0b28uDQoNCkkga2VwdCB0aGlzIHRoZSBzYW1lIGFzIGl0IG1hdGNoZXMg d2hhdCB3ZSBhcmUgZG9pbmcgaW4gb3RoZXIgcGxhY2VzIHN1Y2gNCmFzIEZBSUxTQUZFX0VWRVJZ X1BBR0VTDQoNCnYyMCBhdHRhY2hlZC4NCg0KDQpSZWdhcmRzLA0KDQotLQ0KU2FtaSBJbXNlaWgg ICAgDQpBbWF6b24gV2ViIFNlcnZpY2VzOiBodHRwczovL2F3cy5hbWF6b24uY29tDQoNCg== --_002_2397CA8ADAD746C7AF6997365DA47AF8amazoncom_ Content-Type: application/octet-stream; name="v20-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch" Content-Description: v20-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch Content-Disposition: attachment; filename="v20-0001-Add-2-new-columns-to-pg_stat_progress_vacuum.-Th.patch"; size=22848; creation-date="Wed, 04 Jan 2023 19:24:26 GMT"; modification-date="Wed, 04 Jan 2023 19:24:26 GMT" Content-ID: <70227493FA6D7E4EBC03C087E7258229@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA0MzM2YTdmZTZiZDlkNTU0YmJjYTRjODcwMDFiNWQ2Yjc1M2I3YWEwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFQzIgRGVmYXVsdCBVc2VyIDxlYzItdXNlckBpcC0xNzItMzEt OTQtMTc1LmVjMi5pbnRlcm5hbD4KRGF0ZTogV2VkLCA0IEphbiAyMDIzIDE3OjA2OjA5ICswMDAw ClN1YmplY3Q6IFtQQVRDSCAxLzFdIFJlcG9ydCBpbmRleCB2YWN1dW0gcHJvZ3Jlc3MuCgpBZGQg MiBuZXcgY29sdW1ucyB0byBwZ19zdGF0X3Byb2dyZXNzX3ZhY3V1bS4KVGhlIGNvbHVtbnMgYXJl IG5kZXhlc190b3RhbCBhcyB0aGUgdG90YWwgaW5kZXhlcyB0byBiZSB2YWN1dW1lZCBvciBjbGVh bmVkIGFuZAppbmRleGVzX3Byb2Nlc3NlZCBhcyB0aGUgbnVtYmVyIG9mIGluZGV4ZXMgdmFjdXVt ZWQgb3IgY2xlYW5lZCB1cCBzbyBmYXIuCgpBdXRob3I6IFNhbWkgSW1zZWloLCBiYXNlZCBvbiBz dWdnZXN0aW9ucyBieSBOYXRoYW4gQm9zc2FydCwgUGV0ZXIgR2VvZ2hlZ2FuIGFuZCBNYXNhaGlr byBTYXdhZGEKUmV2aWV3ZWQgYnk6IE5hdGhhbiBCb3NzYXJ0LCBNYXNhaGlrbyBTYXdhZGEKRGlz Y3Vzc2lvbjogaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9mbGF0LzU0NzhE RkNELTIzMzMtNDAxQS1CMkYwLTBEMTg2QUIwOTIyOEBhbWF6b24uY29tCi0tLQogY29udHJpYi9i bG9vbS9ibHZhY3V1bS5jICAgICAgICAgICAgICAgIHwgIDQgKysKIGRvYy9zcmMvc2dtbC9tb25p dG9yaW5nLnNnbWwgICAgICAgICAgICB8IDI2ICsrKysrKysrKwogc3JjL2JhY2tlbmQvYWNjZXNz L2dpbi9naW52YWN1dW0uYyAgICAgIHwgIDYgKysKIHNyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dp c3R2YWN1dW0uYyAgICB8ICA0ICsrCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMgICAg ICAgICAgfCAgNiArKwogc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvdmFjdXVtbGF6eS5jICAgIHwg MzAgKysrKysrKysrLQogc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYyAgICAgIHwg IDIgKwogc3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYyAgIHwgIDMgKwogc3Jj L2JhY2tlbmQvY2F0YWxvZy9pbmRleC5jICAgICAgICAgICAgIHwgIDIgKwogc3JjL2JhY2tlbmQv Y2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsICAgIHwgIDMgKy0KIHNyYy9iYWNrZW5kL2NvbW1hbmRz L2FuYWx5emUuYyAgICAgICAgICB8ICAxICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBh cmFsbGVsLmMgICB8IDc0ICsrKysrKysrKysrKysrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyB8ICAzICsKIHNyYy9pbmNsdWRlL2FjY2Vzcy9nZW5h bS5oICAgICAgICAgICAgICB8ICA1ICstCiBzcmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5o ICAgICAgICAgfCAgMiArCiBzcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaCAgICAgICAgICAg fCAgNyArKysKIHNyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaCAgICAgICAgICB8ICAxICsK IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnVsZXMub3V0ICAgICB8ICA0ICstCiAxOCBmaWxl cyBjaGFuZ2VkLCAxNzYgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9jb250cmliL2Jsb29tL2JsdmFjdXVtLmMgYi9jb250cmliL2Jsb29tL2JsdmFjdXVtLmMKaW5k ZXggMjM0MGQ0OWUwMC4uNzMxYzE2NzgyZCAxMDA2NDQKLS0tIGEvY29udHJpYi9ibG9vbS9ibHZh Y3V1bS5jCisrKyBiL2NvbnRyaWIvYmxvb20vYmx2YWN1dW0uYwpAQCAtNjIsNiArNjIsOCBAQCBi bGJ1bGtkZWxldGUoSW5kZXhWYWN1dW1JbmZvICppbmZvLCBJbmRleEJ1bGtEZWxldGVSZXN1bHQg KnN0YXRzLAogCQkJCSAgICppdHVwRW5kOwogCiAJCXZhY3V1bV9kZWxheV9wb2ludCgpOworCQlp ZiAoaW5mby0+cmVwb3J0X3BhcmFsbGVsX3Byb2dyZXNzICYmIChibGtubyAlIFJFUE9SVF9QQVJB TExFTF9WQUNVVU1fRVZFUllfUEFHRVMpID09IDApCisJCQlwYXJhbGxlbF92YWN1dW1fdXBkYXRl X3Byb2dyZXNzKGluZm8tPnBhcmFsbGVsX3ZhY3V1bV9zdGF0ZSk7CiAKIAkJYnVmZmVyID0gUmVh ZEJ1ZmZlckV4dGVuZGVkKGluZGV4LCBNQUlOX0ZPUktOVU0sIGJsa25vLAogCQkJCQkJCQkJUkJN X05PUk1BTCwgaW5mby0+c3RyYXRlZ3kpOwpAQCAtMTkyLDYgKzE5NCw4IEBAIGJsdmFjdXVtY2xl YW51cChJbmRleFZhY3V1bUluZm8gKmluZm8sIEluZGV4QnVsa0RlbGV0ZVJlc3VsdCAqc3RhdHMp CiAJCVBhZ2UJCXBhZ2U7CiAKIAkJdmFjdXVtX2RlbGF5X3BvaW50KCk7CisJCWlmIChpbmZvLT5y ZXBvcnRfcGFyYWxsZWxfcHJvZ3Jlc3MgJiYgKGJsa25vICUgUkVQT1JUX1BBUkFMTEVMX1ZBQ1VV TV9FVkVSWV9QQUdFUykgPT0gMCkKKwkJCXBhcmFsbGVsX3ZhY3V1bV91cGRhdGVfcHJvZ3Jlc3Mo aW5mby0+cGFyYWxsZWxfdmFjdXVtX3N0YXRlKTsKIAogCQlidWZmZXIgPSBSZWFkQnVmZmVyRXh0 ZW5kZWQoaW5kZXgsIE1BSU5fRk9SS05VTSwgYmxrbm8sCiAJCQkJCQkJCQlSQk1fTk9STUFMLCBp bmZvLT5zdHJhdGVneSk7CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21s IGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dtbAppbmRleCA1YmNiYTBmZGVjLi5kZjQ2OGQ0 NDI0IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbW9uaXRvcmluZy5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKQEAgLTE3NjcsNiArMTc2NywxMCBAQCBwb3N0Z3JlcyAg IDI3MDkzICAwLjAgIDAuMCAgMzAwOTYgIDI3NTIgPyAgICAgICAgU3MgICAxMTozNCAgIDA6MDAg cG9zdGdyZXM6IHNlcgogICAgICAgPGVudHJ5PjxsaXRlcmFsPlBhcmFsbGVsRmluaXNoPC9saXRl cmFsPjwvZW50cnk+CiAgICAgICA8ZW50cnk+V2FpdGluZyBmb3IgcGFyYWxsZWwgd29ya2VycyB0 byBmaW5pc2ggY29tcHV0aW5nLjwvZW50cnk+CiAgICAgIDwvcm93PgorICAgICA8cm93PgorICAg ICAgPGVudHJ5PjxsaXRlcmFsPlBhcmFsbGVsVmFjdXVtRmluaXNoPC9saXRlcmFsPjwvZW50cnk+ CisgICAgICA8ZW50cnk+V2FpdGluZyBmb3IgcGFyYWxsZWwgdmFjdXVtIHdvcmtlcnMgdG8gZmlu aXNoIGluZGV4IHZhY3V1bS48L2VudHJ5PgorICAgICA8L3Jvdz4KICAgICAgPHJvdz4KICAgICAg IDxlbnRyeT48bGl0ZXJhbD5Qcm9jQXJyYXlHcm91cFVwZGF0ZTwvbGl0ZXJhbD48L2VudHJ5Pgog ICAgICAgPGVudHJ5PldhaXRpbmcgZm9yIHRoZSBncm91cCBsZWFkZXIgdG8gY2xlYXIgdGhlIHRy YW5zYWN0aW9uIElEIGF0CkBAIC02ODQyLDYgKzY4NDYsMjggQEAgRlJPTSBwZ19zdGF0X2dldF9i YWNrZW5kX2lkc2V0KCkgQVMgYmFja2VuZGlkOwogICAgICAgIE51bWJlciBvZiBkZWFkIHR1cGxl cyBjb2xsZWN0ZWQgc2luY2UgdGhlIGxhc3QgaW5kZXggdmFjdXVtIGN5Y2xlLgogICAgICAgPC9w YXJhPjwvZW50cnk+CiAgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9s ZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgor ICAgICAgIDxzdHJ1Y3RmaWVsZD5pbmRleGVzX3RvdGFsPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+Ymln aW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9m IGluZGV4ZXMgdGhhdCB3aWxsIGJlIHZhY3V1bWVkLiBUaGlzIHZhbHVlIHdpbGwgYmUKKyAgICAg ICA8bGl0ZXJhbD4wPC9saXRlcmFsPiBpZiB0aGVyZSBhcmUgbm8gaW5kZXhlcyB0byB2YWN1dW0s IDxsaXRlcmFsPklOREVYX0NMRUFOVVA8L2xpdGVyYWw+CisgICAgICAgaXMgc2V0IHRvIDxsaXRl cmFsPk9GRjwvbGl0ZXJhbD4sIG9yIHZhY3V1bSBmYWlsc2FmZSBpcyB0cmlnZ2VyZWQuCisgICAg ICAgU2VlIDx4cmVmIGxpbmtlbmQ9Imd1Yy12YWN1dW0tZmFpbHNhZmUtYWdlIi8+CisgICAgICAg Zm9yIG1vcmUgb24gdmFjdXVtIGZhaWxzYWZlLgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAg IDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9l bnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVs ZD5pbmRleGVzX2NvbXBsZXRlZDwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAg ICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIE51bWJlciBvZiBpbmRleGVzIHZhY3V1 bWVkIGluIHRoZSBjdXJyZW50IHZhY3V1bSBjeWNsZS4KKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KICAgICA8L3Rib2R5PgogICAgPC90Z3JvdXA+CiAgIDwvdGFibGU+CmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jIGIvc3JjL2JhY2tlbmQv YWNjZXNzL2dpbi9naW52YWN1dW0uYwppbmRleCBlNWQzMTBkODM2Li4xOTUwNjUyOTBhIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZhY3V1bS5jCisrKyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9naW4vZ2ludmFjdXVtLmMKQEAgLTY2NSw2ICs2NjUsOSBAQCBnaW5idWxrZGVs ZXRlKEluZGV4VmFjdXVtSW5mbyAqaW5mbywgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cywK IAogCQl2YWN1dW1fZGVsYXlfcG9pbnQoKTsKIAorCQlpZiAoaW5mby0+cmVwb3J0X3BhcmFsbGVs X3Byb2dyZXNzICYmIChibGtubyAlIFJFUE9SVF9QQVJBTExFTF9WQUNVVU1fRVZFUllfUEFHRVMp ID09IDApCisJCQlwYXJhbGxlbF92YWN1dW1fdXBkYXRlX3Byb2dyZXNzKGluZm8tPnBhcmFsbGVs X3ZhY3V1bV9zdGF0ZSk7CisKIAkJZm9yIChpID0gMDsgaSA8IG5Sb290OyBpKyspCiAJCXsKIAkJ CWdpblZhY3V1bVBvc3RpbmdUcmVlKCZndnMsIHJvb3RPZlBvc3RpbmdUcmVlW2ldKTsKQEAgLTc1 MSw2ICs3NTQsOSBAQCBnaW52YWN1dW1jbGVhbnVwKEluZGV4VmFjdXVtSW5mbyAqaW5mbywgSW5k ZXhCdWxrRGVsZXRlUmVzdWx0ICpzdGF0cykKIAogCQl2YWN1dW1fZGVsYXlfcG9pbnQoKTsKIAor CQlpZiAoaW5mby0+cmVwb3J0X3BhcmFsbGVsX3Byb2dyZXNzICYmIChibGtubyAlIFJFUE9SVF9Q QVJBTExFTF9WQUNVVU1fRVZFUllfUEFHRVMpID09IDApCisJCQlwYXJhbGxlbF92YWN1dW1fdXBk YXRlX3Byb2dyZXNzKGluZm8tPnBhcmFsbGVsX3ZhY3V1bV9zdGF0ZSk7CisKIAkJYnVmZmVyID0g UmVhZEJ1ZmZlckV4dGVuZGVkKGluZGV4LCBNQUlOX0ZPUktOVU0sIGJsa25vLAogCQkJCQkJCQkJ UkJNX05PUk1BTCwgaW5mby0+c3RyYXRlZ3kpOwogCQlMb2NrQnVmZmVyKGJ1ZmZlciwgR0lOX1NI QVJFKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R2YWN1dW0uYyBi L3NyYy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R2YWN1dW0uYwppbmRleCAzZjYwZDMyNzRkLi44 NzgzYzc2NmNlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lzdC9naXN0dmFjdXVt LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHZhY3V1bS5jCkBAIC0yMjMsNyAr MjIzLDExIEBAIGdpc3R2YWN1dW1zY2FuKEluZGV4VmFjdXVtSW5mbyAqaW5mbywgSW5kZXhCdWxr RGVsZXRlUmVzdWx0ICpzdGF0cywKIAkJCWJyZWFrOwogCQkvKiBJdGVyYXRlIG92ZXIgcGFnZXMs IHRoZW4gbG9vcCBiYWNrIHRvIHJlY2hlY2sgbGVuZ3RoICovCiAJCWZvciAoOyBibGtubyA8IG51 bV9wYWdlczsgYmxrbm8rKykKKwkJewogCQkJZ2lzdHZhY3V1bXBhZ2UoJnZzdGF0ZSwgYmxrbm8s IGJsa25vKTsKKwkJCWlmIChpbmZvLT5yZXBvcnRfcGFyYWxsZWxfcHJvZ3Jlc3MgJiYgKGJsa25v ICUgUkVQT1JUX1BBUkFMTEVMX1ZBQ1VVTV9FVkVSWV9QQUdFUykgPT0gMCkKKwkJCQlwYXJhbGxl bF92YWN1dW1fdXBkYXRlX3Byb2dyZXNzKGluZm8tPnBhcmFsbGVsX3ZhY3V1bV9zdGF0ZSk7CisJ CX0KIAl9CiAKIAkvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hhc2gvaGFzaC5jCmluZGV4IGViMjU4MzM3ZDYuLjI0MjZk Y2Q5NjggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oYXNoL2hhc2guYworKysgYi9z cmMvYmFja2VuZC9hY2Nlc3MvaGFzaC9oYXNoLmMKQEAgLTUwNSw2ICs1MDUsMTIgQEAgbG9vcF90 b3A6CiAKIAkJYmxrbm8gPSBidWNrZXRfYmxrbm87CiAKKwkJLyoKKwkJICogRm9yIGhhc2ggaW5k ZXhlcywgd2UgcmVwb3J0IHBhcmFsbGVsIHZhY3V1bSBwcm9ncmVzcworCQkgKiBmb3IgZXZlcnkg YnVja2V0LgorCQkgKi8KKwkJaWYgKGluZm8tPnJlcG9ydF9wYXJhbGxlbF9wcm9ncmVzcykKKwkJ CXBhcmFsbGVsX3ZhY3V1bV91cGRhdGVfcHJvZ3Jlc3MoaW5mby0+cGFyYWxsZWxfdmFjdXVtX3N0 YXRlKTsKIAkJLyoKIAkJICogV2UgbmVlZCB0byBhY3F1aXJlIGEgY2xlYW51cCBsb2NrIG9uIHRo ZSBwcmltYXJ5IGJ1Y2tldCBwYWdlIHRvIG91dAogCQkgKiB3YWl0IGNvbmN1cnJlbnQgc2NhbnMg YmVmb3JlIGRlbGV0aW5nIHRoZSBkZWFkIHR1cGxlcy4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2FjY2Vzcy9oZWFwL3ZhY3V1bWxhenkuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3ZhY3V1 bWxhenkuYwppbmRleCBhNDJlODgxZGEzLi5lNjVmNDNmYmU5IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9hY2Nlc3MvaGVhcC92YWN1dW1sYXp5LmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hl YXAvdmFjdXVtbGF6eS5jCkBAIC00MTMsNiArNDEzLDEwIEBAIGhlYXBfdmFjdXVtX3JlbChSZWxh dGlvbiByZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCQlBc3NlcnQocGFyYW1zLT5pbmRleF9j bGVhbnVwID09IFZBQ09QVFZBTFVFX0FVVE8pOwogCX0KIAorCS8qIFJlcG9ydCB0aGUgbnVtYmVy IG9mIGluZGV4ZXMgdG8gdmFjdXVtLCBpZiB3ZSBhcmUgdG9sZCB0byBjbGVhbnVwIGluZGV4ZXMg Ki8KKwlpZiAodmFjcmVsLT5kb19pbmRleF9jbGVhbnVwKQorCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBk YXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9UT1RBTCwgdmFjcmVsLT5uaW5kZXhlcyk7 CisKIAkvKiBJbml0aWFsaXplIHBhZ2UgY291bnRlcnMgZXhwbGljaXRseSAoYmUgdGlkeSkgKi8K IAl2YWNyZWwtPnNjYW5uZWRfcGFnZXMgPSAwOwogCXZhY3JlbC0+cmVtb3ZlZF9wYWdlcyA9IDA7 CkBAIC0yMzIxLDYgKzIzMjUsMTAgQEAgbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMoTFZSZWxTdGF0 ZSAqdmFjcmVsKQogCQkJCQkJCQkJCQkJCQkgIG9sZF9saXZlX3R1cGxlcywKIAkJCQkJCQkJCQkJ CQkJICB2YWNyZWwpOwogCisJCQkvKiBEb25lIHZhY3V1bWluZyBhbiBpbmRleCAtLSBpbmNyZW1l bnQgdGhlIGluZGV4ZXMgY29tcGxldGVkICovCisJCQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3Bh cmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9DT01QTEVURUQsCisJCQkJCQkJCQkJIGlkeCArIDEp OworCiAJCQlpZiAobGF6eV9jaGVja193cmFwYXJvdW5kX2ZhaWxzYWZlKHZhY3JlbCkpCiAJCQl7 CiAJCQkJLyogV3JhcGFyb3VuZCBlbWVyZ2VuY3kgLS0gZW5kIGN1cnJlbnQgaW5kZXggc2NhbiAq LwpAQCAtMjM1NSwxMSArMjM2MywxNCBAQCBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyhMVlJlbFN0 YXRlICp2YWNyZWwpCiAJQXNzZXJ0KGFsbGluZGV4ZXMgfHwgdmFjcmVsLT5mYWlsc2FmZV9hY3Rp dmUpOwogCiAJLyoKLQkgKiBJbmNyZWFzZSBhbmQgcmVwb3J0IHRoZSBudW1iZXIgb2YgaW5kZXgg c2NhbnMuCisJICogUmVzZXQgYW5kIHJlcG9ydCB6ZXJvIGFzIHRoZSBudW1iZXIgb2YgaW5kZXhl cyBzY2FubmVkLgorCSAqIEFsc28sIGluY3JlYXNlIGFuZCByZXBvcnQgdGhlIG51bWJlciBvZiBp bmRleAorCSAqIHNjYW5zLgogCSAqCiAJICogV2UgZGVsaWJlcmF0ZWx5IGluY2x1ZGUgdGhlIGNh c2Ugd2hlcmUgd2Ugc3RhcnRlZCBhIHJvdW5kIG9mIGJ1bGsKIAkgKiBkZWxldGVzIHRoYXQgd2Ug d2VyZW4ndCBhYmxlIHRvIGZpbmlzaCBkdWUgdG8gdGhlIGZhaWxzYWZlIHRyaWdnZXJpbmcuCiAJ ICovCisJcGdzdGF0X3Byb2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhf Q09NUExFVEVELCAwKTsKIAl2YWNyZWwtPm51bV9pbmRleF9zY2FucysrOwogCXBnc3RhdF9wcm9n cmVzc191cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX05VTV9JTkRFWF9WQUNVVU1TLAogCQkJ CQkJCQkgdmFjcmVsLT5udW1faW5kZXhfc2NhbnMpOwpAQCAtMjYwOSwxMCArMjYyMCwxNyBAQCBs YXp5X2NoZWNrX3dyYXBhcm91bmRfZmFpbHNhZmUoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCXsKIAkJ dmFjcmVsLT5mYWlsc2FmZV9hY3RpdmUgPSB0cnVlOwogCi0JCS8qIERpc2FibGUgaW5kZXggdmFj dXVtaW5nLCBpbmRleCBjbGVhbnVwLCBhbmQgaGVhcCByZWwgdHJ1bmNhdGlvbiAqLworCQkvKgor CQkgKiBEaXNhYmxlIGluZGV4IHZhY3V1bWluZywgaW5kZXggY2xlYW51cCwgYW5kIGhlYXAgcmVs IHRydW5jYXRpb24uCisJCSAqCisJCSAqIEFsc28sIHJlcG9ydCB0aGF0IHdlIGFyZSBubyBsb25n ZXIgdHJhY2tpbmcKKwkJICogaW5kZXggdmFjdXVtL2NsZWFudXAuCisJCSAqLwogCQl2YWNyZWwt PmRvX2luZGV4X3ZhY3V1bWluZyA9IGZhbHNlOwogCQl2YWNyZWwtPmRvX2luZGV4X2NsZWFudXAg PSBmYWxzZTsKIAkJdmFjcmVsLT5kb19yZWxfdHJ1bmNhdGUgPSBmYWxzZTsKKwkJcGdzdGF0X3By b2dyZXNzX3VwZGF0ZV9wYXJhbShQUk9HUkVTU19WQUNVVU1fSU5ERVhfVE9UQUwsIDApOworCQlw Z3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9DT01QTEVU RUQsIDApOwogCiAJCWVyZXBvcnQoV0FSTklORywKIAkJCQkoZXJybXNnKCJieXBhc3Npbmcgbm9u ZXNzZW50aWFsIG1haW50ZW5hbmNlIG9mIHRhYmxlIFwiJXMuJXMuJXNcIiBhcyBhIGZhaWxzYWZl IGFmdGVyICVkIGluZGV4IHNjYW5zIiwKQEAgLTI2NTgsNiArMjY3NiwxMCBAQCBsYXp5X2NsZWFu dXBfYWxsX2luZGV4ZXMoTFZSZWxTdGF0ZSAqdmFjcmVsKQogCQkJdmFjcmVsLT5pbmRzdGF0c1tp ZHhdID0KIAkJCQlsYXp5X2NsZWFudXBfb25lX2luZGV4KGluZHJlbCwgaXN0YXQsIHJlbHR1cGxl cywKIAkJCQkJCQkJCSAgIGVzdGltYXRlZF9jb3VudCwgdmFjcmVsKTsKKworCQkJLyogRG9uZSBj bGVhbmluZyBhbiBpbmRleCAtLSBpbmNyZW1lbnQgdGhlIGluZGV4ZXMgY29tcGxldGVkICovCisJ CQlwZ3N0YXRfcHJvZ3Jlc3NfdXBkYXRlX3BhcmFtKFBST0dSRVNTX1ZBQ1VVTV9JTkRFWF9DT01Q TEVURUQsCisJCQkJCQkJCQkJIGlkeCArIDEpOwogCQl9CiAJfQogCWVsc2UKQEAgLTI2OTIsMTAg KzI3MTQsMTIgQEAgbGF6eV92YWN1dW1fb25lX2luZGV4KFJlbGF0aW9uIGluZHJlbCwgSW5kZXhC dWxrRGVsZXRlUmVzdWx0ICppc3RhdCwKIAlpdmluZm8uaW5kZXggPSBpbmRyZWw7CiAJaXZpbmZv LmFuYWx5emVfb25seSA9IGZhbHNlOwogCWl2aW5mby5yZXBvcnRfcHJvZ3Jlc3MgPSBmYWxzZTsK KwlpdmluZm8ucmVwb3J0X3BhcmFsbGVsX3Byb2dyZXNzID0gZmFsc2U7CiAJaXZpbmZvLmVzdGlt YXRlZF9jb3VudCA9IHRydWU7CiAJaXZpbmZvLm1lc3NhZ2VfbGV2ZWwgPSBERUJVRzI7CiAJaXZp bmZvLm51bV9oZWFwX3R1cGxlcyA9IHJlbHR1cGxlczsKIAlpdmluZm8uc3RyYXRlZ3kgPSB2YWNy ZWwtPmJzdHJhdGVneTsKKwlpdmluZm8ucGFyYWxsZWxfdmFjdXVtX3N0YXRlID0gTlVMTDsKIAog CS8qCiAJICogVXBkYXRlIGVycm9yIHRyYWNlYmFjayBpbmZvcm1hdGlvbi4KQEAgLTI3NDAsMTEg KzI3NjQsMTMgQEAgbGF6eV9jbGVhbnVwX29uZV9pbmRleChSZWxhdGlvbiBpbmRyZWwsIEluZGV4 QnVsa0RlbGV0ZVJlc3VsdCAqaXN0YXQsCiAJaXZpbmZvLmluZGV4ID0gaW5kcmVsOwogCWl2aW5m by5hbmFseXplX29ubHkgPSBmYWxzZTsKIAlpdmluZm8ucmVwb3J0X3Byb2dyZXNzID0gZmFsc2U7 CisJaXZpbmZvLnJlcG9ydF9wYXJhbGxlbF9wcm9ncmVzcyA9IGZhbHNlOwogCWl2aW5mby5lc3Rp bWF0ZWRfY291bnQgPSBlc3RpbWF0ZWRfY291bnQ7CiAJaXZpbmZvLm1lc3NhZ2VfbGV2ZWwgPSBE RUJVRzI7CiAKIAlpdmluZm8ubnVtX2hlYXBfdHVwbGVzID0gcmVsdHVwbGVzOwogCWl2aW5mby5z dHJhdGVneSA9IHZhY3JlbC0+YnN0cmF0ZWd5OworCWl2aW5mby5wYXJhbGxlbF92YWN1dW1fc3Rh dGUgPSBOVUxMOwogCiAJLyoKIAkgKiBVcGRhdGUgZXJyb3IgdHJhY2ViYWNrIGluZm9ybWF0aW9u LgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0cmVlLmMKaW5kZXggMWNjODhkYTAzMi4uZWI2OTQwOWM2 YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRyZWUuYworKysgYi9z cmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHJlZS5jCkBAIC05OTgsNiArOTk4LDggQEAgYnR2 YWN1dW1zY2FuKEluZGV4VmFjdXVtSW5mbyAqaW5mbywgSW5kZXhCdWxrRGVsZXRlUmVzdWx0ICpz dGF0cywKIAkJCWlmIChpbmZvLT5yZXBvcnRfcHJvZ3Jlc3MpCiAJCQkJcGdzdGF0X3Byb2dyZXNz X3VwZGF0ZV9wYXJhbShQUk9HUkVTU19TQ0FOX0JMT0NLU19ET05FLAogCQkJCQkJCQkJCQkgc2Nh bmJsa25vKTsKKwkJCWlmIChpbmZvLT5yZXBvcnRfcGFyYWxsZWxfcHJvZ3Jlc3MgJiYgKHNjYW5i bGtubyAlIFJFUE9SVF9QQVJBTExFTF9WQUNVVU1fRVZFUllfUEFHRVMpID09IDApCisJCQkJcGFy YWxsZWxfdmFjdXVtX3VwZGF0ZV9wcm9ncmVzcyhpbmZvLT5wYXJhbGxlbF92YWN1dW1fc3RhdGUp OwogCQl9CiAJfQogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mvc3BnaXN0L3NwZ3Zh Y3V1bS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYwppbmRleCAzYWRi MThmMmQ4Li5iMjgwMzZhODMwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3Mvc3BnaXN0 L3NwZ3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFjdXVtLmMK QEAgLTg0Myw2ICs4NDMsOSBAQCBzcGd2YWN1dW1zY2FuKHNwZ0J1bGtEZWxldGVTdGF0ZSAqYmRz KQogCQkJLyogZW1wdHkgdGhlIHBlbmRpbmctbGlzdCBhZnRlciBlYWNoIHBhZ2UgKi8KIAkJCWlm IChiZHMtPnBlbmRpbmdMaXN0ICE9IE5VTEwpCiAJCQkJc3BncHJvY2Vzc3BlbmRpbmcoYmRzKTsK KwkJCS8qIHJlcG9ydCBwYXJhbGxlbCB2YWN1dW0gcHJvZ3Jlc3MgKi8KKwkJCWlmIChiZHMtPmlu Zm8tPnJlcG9ydF9wYXJhbGxlbF9wcm9ncmVzcyAmJiAoYmxrbm8gJSBSRVBPUlRfUEFSQUxMRUxf VkFDVVVNX0VWRVJZX1BBR0VTKSA9PSAwKQorCQkJCXBhcmFsbGVsX3ZhY3V1bV91cGRhdGVfcHJv Z3Jlc3MoYmRzLT5pbmZvLT5wYXJhbGxlbF92YWN1dW1fc3RhdGUpOwogCQl9CiAJfQogCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZGV4LmMgYi9zcmMvYmFja2VuZC9jYXRhbG9n L2luZGV4LmMKaW5kZXggZTY1NzlmMjk3OS4uYzczNGIyZDRjZSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9pbmRleC5jCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvaW5kZXguYwpA QCAtMzM0OCwxMCArMzM0OCwxMiBAQCB2YWxpZGF0ZV9pbmRleChPaWQgaGVhcElkLCBPaWQgaW5k ZXhJZCwgU25hcHNob3Qgc25hcHNob3QpCiAJaXZpbmZvLmluZGV4ID0gaW5kZXhSZWxhdGlvbjsK IAlpdmluZm8uYW5hbHl6ZV9vbmx5ID0gZmFsc2U7CiAJaXZpbmZvLnJlcG9ydF9wcm9ncmVzcyA9 IHRydWU7CisJaXZpbmZvLnJlcG9ydF9wYXJhbGxlbF9wcm9ncmVzcyA9IGZhbHNlOwogCWl2aW5m by5lc3RpbWF0ZWRfY291bnQgPSB0cnVlOwogCWl2aW5mby5tZXNzYWdlX2xldmVsID0gREVCVUcy OwogCWl2aW5mby5udW1faGVhcF90dXBsZXMgPSBoZWFwUmVsYXRpb24tPnJkX3JlbC0+cmVsdHVw bGVzOwogCWl2aW5mby5zdHJhdGVneSA9IE5VTEw7CisJaXZpbmZvLnBhcmFsbGVsX3ZhY3V1bV9z dGF0ZSA9IE5VTEw7CiAKIAkvKgogCSAqIEVuY29kZSBUSURzIGFzIGludDggdmFsdWVzIGZvciB0 aGUgc29ydCwgcmF0aGVyIHRoYW4gZGlyZWN0bHkgc29ydGluZwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0 ZW1fdmlld3Muc3FsCmluZGV4IDQ0N2M5Yjk3MGYuLjBhYjg2NDE4NWYgMTAwNjQ0Ci0tLSBhL3Ny Yy9iYWNrZW5kL2NhdGFsb2cvc3lzdGVtX3ZpZXdzLnNxbAorKysgYi9zcmMvYmFja2VuZC9jYXRh bG9nL3N5c3RlbV92aWV3cy5zcWwKQEAgLTExNjUsNyArMTE2NSw4IEBAIENSRUFURSBWSUVXIHBn X3N0YXRfcHJvZ3Jlc3NfdmFjdXVtIEFTCiAgICAgICAgICAgICAgICAgICAgICAgRU5EIEFTIHBo YXNlLAogICAgICAgICBTLnBhcmFtMiBBUyBoZWFwX2Jsa3NfdG90YWwsIFMucGFyYW0zIEFTIGhl YXBfYmxrc19zY2FubmVkLAogICAgICAgICBTLnBhcmFtNCBBUyBoZWFwX2Jsa3NfdmFjdXVtZWQs IFMucGFyYW01IEFTIGluZGV4X3ZhY3V1bV9jb3VudCwKLSAgICAgICAgUy5wYXJhbTYgQVMgbWF4 X2RlYWRfdHVwbGVzLCBTLnBhcmFtNyBBUyBudW1fZGVhZF90dXBsZXMKKyAgICAgICAgUy5wYXJh bTYgQVMgbWF4X2RlYWRfdHVwbGVzLCBTLnBhcmFtNyBBUyBudW1fZGVhZF90dXBsZXMsCisgICAg ICAgIFMucGFyYW04IEFTIGluZGV4ZXNfdG90YWwsIFMucGFyYW05IEFTIGluZGV4ZXNfY29tcGxl dGVkCiAgICAgRlJPTSBwZ19zdGF0X2dldF9wcm9ncmVzc19pbmZvKCdWQUNVVU0nKSBBUyBTCiAg ICAgICAgIExFRlQgSk9JTiBwZ19kYXRhYmFzZSBEIE9OIFMuZGF0aWQgPSBELm9pZDsKIApkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvYW5hbHl6ZS5jIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvYW5hbHl6ZS5jCmluZGV4IGM4NmU2OTA5ODAuLjg0YzFkMmYzYzcgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL2FuYWx5emUuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5k cy9hbmFseXplLmMKQEAgLTcxMiw2ICs3MTIsNyBAQCBkb19hbmFseXplX3JlbChSZWxhdGlvbiBv bmVyZWwsIFZhY3V1bVBhcmFtcyAqcGFyYW1zLAogCQkJaXZpbmZvLm1lc3NhZ2VfbGV2ZWwgPSBl bGV2ZWw7CiAJCQlpdmluZm8ubnVtX2hlYXBfdHVwbGVzID0gb25lcmVsLT5yZF9yZWwtPnJlbHR1 cGxlczsKIAkJCWl2aW5mby5zdHJhdGVneSA9IHZhY19zdHJhdGVneTsKKwkJCWl2aW5mby5wYXJh bGxlbF92YWN1dW1fc3RhdGUgPSBOVUxMOwogCiAJCQlzdGF0cyA9IGluZGV4X3ZhY3V1bV9jbGVh bnVwKCZpdmluZm8sIE5VTEwpOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy92 YWN1dW1wYXJhbGxlbC5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdmFjdXVtcGFyYWxsZWwuYwpp bmRleCBiY2Q0MGM4MGExLi44ZTJiZTdkMTViIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21t YW5kcy92YWN1dW1wYXJhbGxlbC5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZhY3V1bXBh cmFsbGVsLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJhY2Nlc3MvdGFibGUuaCIKICNp bmNsdWRlICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImNhdGFsb2cvaW5kZXguaCIKKyNpbmNs dWRlICJjb21tYW5kcy9wcm9ncmVzcy5oIgogI2luY2x1ZGUgImNvbW1hbmRzL3ZhY3V1bS5oIgog I2luY2x1ZGUgIm9wdGltaXplci9wYXRocy5oIgogI2luY2x1ZGUgInBnc3RhdC5oIgpAQCAtMTAz LDYgKzEwNCwxNyBAQCB0eXBlZGVmIHN0cnVjdCBQVlNoYXJlZAogCiAJLyogQ291bnRlciBmb3Ig dmFjdXVtaW5nIGFuZCBjbGVhbnVwICovCiAJcGdfYXRvbWljX3VpbnQzMiBpZHg7CisKKwkvKgor CSAqIENvdW50ZXIgZm9yIHZhY3V1bWluZyBhbmQgY2xlYW51cCBwcm9ncmVzcyByZXBvcnRpbmcu CisJICogVGhpcyB2YWx1ZSBpcyB1c2VkIHRvIHJlcG9ydCBpbmRleCB2YWN1dW0vY2xlYW51cCBw cm9ncmVzcworCSAqIGluIHBhcmFsbGVsX3ZhY3V1bV9wcm9ncmVzc19yZXBvcnQuIFdlIGtlZXAg dGhpcworCSAqIGNvdW50ZXIgdG8gYXZvaWQgaGF2aW5nIHRvIGxvb3AgdGhyb3VnaAorCSAqIFBh cmFsbGVsVmFjdXVtU3RhdGUtPmluZHN0YXRzIHRvIGRldGVybWluZSB0aGUgbnVtYmVyCisJICog b2YgaW5kZXhlcyBjb21wbGV0ZWQuCisJICovCisJcGdfYXRvbWljX3VpbnQzMiBuaW5kZXhlc19j b21wbGV0ZWQ7CisKIH0gUFZTaGFyZWQ7CiAKIC8qIFN0YXR1cyB1c2VkIGR1cmluZyBwYXJhbGxl bCBpbmRleCB2YWN1dW0gb3IgY2xlYW51cCAqLwpAQCAtMjEzLDYgKzIyNSw3IEBAIHN0YXRpYyB2 b2lkIHBhcmFsbGVsX3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRl ICpwdnMsIFJlbGF0aW9uCiBzdGF0aWMgYm9vbCBwYXJhbGxlbF92YWN1dW1faW5kZXhfaXNfcGFy YWxsZWxfc2FmZShSZWxhdGlvbiBpbmRyZWwsIGludCBudW1faW5kZXhfc2NhbnMsCiAJCQkJCQkJ CQkJCQkgICBib29sIHZhY3V1bSk7CiBzdGF0aWMgdm9pZCBwYXJhbGxlbF92YWN1dW1fZXJyb3Jf Y2FsbGJhY2sodm9pZCAqYXJnKTsKK3N0YXRpYyB2b2lkIHBhcmFsbGVsX3ZhY3V1bV93YWl0X3Rv X2ZpbmlzaChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMpOwogCiAvKgogICogVHJ5IHRvIGVudGVy IHBhcmFsbGVsIG1vZGUgYW5kIGNyZWF0ZSBhIHBhcmFsbGVsIGNvbnRleHQuICBUaGVuIGluaXRp YWxpemUKQEAgLTM2NCw2ICszNzcsNyBAQCBwYXJhbGxlbF92YWN1dW1faW5pdChSZWxhdGlvbiBy ZWwsIFJlbGF0aW9uICppbmRyZWxzLCBpbnQgbmluZGV4ZXMsCiAJcGdfYXRvbWljX2luaXRfdTMy KCYoc2hhcmVkLT5jb3N0X2JhbGFuY2UpLCAwKTsKIAlwZ19hdG9taWNfaW5pdF91MzIoJihzaGFy ZWQtPmFjdGl2ZV9ud29ya2VycyksIDApOwogCXBnX2F0b21pY19pbml0X3UzMigmKHNoYXJlZC0+ aWR4KSwgMCk7CisJcGdfYXRvbWljX2luaXRfdTMyKCYoc2hhcmVkLT5uaW5kZXhlc19jb21wbGV0 ZWQpLCAwKTsKIAogCXNobV90b2NfaW5zZXJ0KHBjeHQtPnRvYywgUEFSQUxMRUxfVkFDVVVNX0tF WV9TSEFSRUQsIHNoYXJlZCk7CiAJcHZzLT5zaGFyZWQgPSBzaGFyZWQ7CkBAIC02MTgsOCArNjMy LDkgQEAgcGFyYWxsZWxfdmFjdXVtX3Byb2Nlc3NfYWxsX2luZGV4ZXMoUGFyYWxsZWxWYWN1dW1T dGF0ZSAqcHZzLCBpbnQgbnVtX2luZGV4X3NjYW4KIAkJCQkJCQkJCQkJCQl2YWN1dW0pKTsKIAl9 CiAKLQkvKiBSZXNldCB0aGUgcGFyYWxsZWwgaW5kZXggcHJvY2Vzc2luZyBjb3VudGVyICovCisJ LyogUmVzZXQgdGhlIHBhcmFsbGVsIGluZGV4IHByb2Nlc3NpbmcgYW5kIHByb2dyZXNzIGNvdW50 ZXJzICovCiAJcGdfYXRvbWljX3dyaXRlX3UzMigmKHB2cy0+c2hhcmVkLT5pZHgpLCAwKTsKKwlw Z19hdG9taWNfd3JpdGVfdTMyKCYocHZzLT5zaGFyZWQtPm5pbmRleGVzX2NvbXBsZXRlZCksIDAp OwogCiAJLyogU2V0dXAgdGhlIHNoYXJlZCBjb3N0LWJhc2VkIHZhY3V1bSBkZWxheSBhbmQgbGF1 bmNoIHdvcmtlcnMgKi8KIAlpZiAobndvcmtlcnMgPiAwKQpAQCAtNjg4LDcgKzcwMywxMyBAQCBw YXJhbGxlbF92YWN1dW1fcHJvY2Vzc19hbGxfaW5kZXhlcyhQYXJhbGxlbFZhY3V1bVN0YXRlICpw dnMsIGludCBudW1faW5kZXhfc2NhbgogCSAqLwogCWlmIChud29ya2VycyA+IDApCiAJewotCQkv KiBXYWl0IGZvciBhbGwgdmFjdXVtIHdvcmtlcnMgdG8gZmluaXNoICovCisJCS8qCisJCSAqIFdh aXQgZm9yIGFsbCBpbmRleGVzIHRvIGJlIHZhY3V1bWVkIHdoaWxlCisJCSAqIHVwZGF0aW5nIHRo ZSBwYXJhbGxlbCB2YWN1dW0gaW5kZXggcHJvZ3Jlc3MsCisJCSAqIGFuZCB0aGVuIHdhaXQgZm9y IGFsbCB3b3JrZXJzIHRvIGZpbmlzaC4KKwkJICovCisJCXBhcmFsbGVsX3ZhY3V1bV93YWl0X3Rv X2ZpbmlzaChwdnMpOworCiAJCVdhaXRGb3JQYXJhbGxlbFdvcmtlcnNUb0ZpbmlzaChwdnMtPnBj eHQpOwogCiAJCWZvciAoaW50IGkgPSAwOyBpIDwgcHZzLT5wY3h0LT5ud29ya2Vyc19sYXVuY2hl ZDsgaSsrKQpAQCAtODM5LDkgKzg2MCwxMyBAQCBwYXJhbGxlbF92YWN1dW1fcHJvY2Vzc19vbmVf aW5kZXgoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzLCBSZWxhdGlvbiBpbmRyZWwsCiAJaXZpbmZv Lm51bV9oZWFwX3R1cGxlcyA9IHB2cy0+c2hhcmVkLT5yZWx0dXBsZXM7CiAJaXZpbmZvLnN0cmF0 ZWd5ID0gcHZzLT5ic3RyYXRlZ3k7CiAKKwkvKiBPbmx5IHRoZSBsZWFkZXIgc2hvdWxkIHJlcG9y dCBwYXJhbGxlbCB2YWN1dW0gcHJvZ3Jlc3MgKi8KKwlpdmluZm8ucmVwb3J0X3BhcmFsbGVsX3By b2dyZXNzID0gIUlzUGFyYWxsZWxXb3JrZXIoKTsKIAkvKiBVcGRhdGUgZXJyb3IgdHJhY2ViYWNr IGluZm9ybWF0aW9uICovCiAJcHZzLT5pbmRuYW1lID0gcHN0cmR1cChSZWxhdGlvbkdldFJlbGF0 aW9uTmFtZShpbmRyZWwpKTsKIAlwdnMtPnN0YXR1cyA9IGluZHN0YXRzLT5zdGF0dXM7CisJLyog UGFzcyBQYXJhbGxlbFZhY3V1bVN0YXRlIHRvIEluZGV4VmFjdXVtSW5mbyBmb3IgcHJvZ3Jlc3Mg cmVwb3J0aW5nICovCisJaXZpbmZvLnBhcmFsbGVsX3ZhY3V1bV9zdGF0ZSA9IHB2czsKIAogCXN3 aXRjaCAoaW5kc3RhdHMtPnN0YXR1cykKIAl7CkBAIC04ODgsNiArOTEzLDEyIEBAIHBhcmFsbGVs X3ZhY3V1bV9wcm9jZXNzX29uZV9pbmRleChQYXJhbGxlbFZhY3V1bVN0YXRlICpwdnMsIFJlbGF0 aW9uIGluZHJlbCwKIAlwdnMtPnN0YXR1cyA9IFBBUkFMTEVMX0lORFZBQ19TVEFUVVNfQ09NUExF VEVEOwogCXBmcmVlKHB2cy0+aW5kbmFtZSk7CiAJcHZzLT5pbmRuYW1lID0gTlVMTDsKKworCS8q IFVwZGF0ZSB0aGUgbnVtYmVyIG9mIGluZGV4ZXMgY29tcGxldGVkICovCisJcGdfYXRvbWljX2Fk ZF9mZXRjaF91MzIoJihwdnMtPnNoYXJlZC0+bmluZGV4ZXNfY29tcGxldGVkKSwgMSk7CisKKwlp ZiAoaXZpbmZvLnJlcG9ydF9wYXJhbGxlbF9wcm9ncmVzcykKKwkJcGFyYWxsZWxfdmFjdXVtX3Vw ZGF0ZV9wcm9ncmVzcyhwdnMpOwogfQogCiAvKgpAQCAtMTA3MiwzICsxMTAzLDQyIEBAIHBhcmFs bGVsX3ZhY3V1bV9lcnJvcl9jYWxsYmFjayh2b2lkICphcmcpCiAJCQlyZXR1cm47CiAJfQogfQor CisvKgorICogUmVhZCBwdnMtPnNoYXJlZC0+bmluZGV4ZXNfY29tcGxldGVkIGFuZCByZXBvcnQg dGhlIG51bWJlciBvZiBpbmRleGVzCisgKiB2YWN1dW1lZCBzbyBmYXIuIFRoaXMgZnVuY3Rpb24g aXMgY2FsbGVkIHBlcmlvZGljYWxseQorICogYnkgaW5kZXggQU1zIGFzIHdlbGwgYXMgcGFyYWxs ZWxfdmFjdXVtX3Byb2Nlc3Nfb25lX2luZGV4LgorICoKKyAqIE5vdGU6IFRoaXMgZnVuY3Rpb24g c2hvdWxkIGJlIGNhbGxlZCBieSB0aGUgbGVhZGVyIHByb2Nlc3Mgb25seSwKKyAqIGFuZCBpdCdz IHVwIHRvIHRoZSBjYWxsZXIgdG8gZW5zdXJlIHRoaXMuCisgKi8KK3ZvaWQKK3BhcmFsbGVsX3Zh Y3V1bV91cGRhdGVfcHJvZ3Jlc3MoUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZzKQoreworCUFzc2Vy dCghSXNQYXJhbGxlbFdvcmtlcigpKTsKKworCWlmIChwdnMpCisJCXBnc3RhdF9wcm9ncmVzc191 cGRhdGVfcGFyYW0oUFJPR1JFU1NfVkFDVVVNX0lOREVYX0NPTVBMRVRFRCwKKwkJCQkJCQkJCSBw Z19hdG9taWNfcmVhZF91MzIoJnB2cy0+c2hhcmVkLT5uaW5kZXhlc19jb21wbGV0ZWQpKTsKK30K KworLyoKKyAqIFdhaXRpbmcgZm9yIGFsbCBpbmRleGVzIHRvIGJlIHZhY3V1bWVkIHdoaWxlIHVw ZGF0aW5nIHRoZQorICogcGFyYWxsZWwgaW5kZXggdmFjdXVtIHByb2dyZXNzLgorICovCit2b2lk CitwYXJhbGxlbF92YWN1dW1fd2FpdF90b19maW5pc2goUGFyYWxsZWxWYWN1dW1TdGF0ZSAqcHZz KQoreworCUFzc2VydCghSXNQYXJhbGxlbFdvcmtlcigpKTsKKworCXdoaWxlIChwZ19hdG9taWNf cmVhZF91MzIoJnB2cy0+c2hhcmVkLT5uaW5kZXhlc19jb21wbGV0ZWQpIDwgcHZzLT5uaW5kZXhl cykKKwl7CisJCUNIRUNLX0ZPUl9JTlRFUlJVUFRTKCk7CisKKwkJcGFyYWxsZWxfdmFjdXVtX3Vw ZGF0ZV9wcm9ncmVzcyhwdnMpOworCisJCSh2b2lkKSBXYWl0TGF0Y2goTXlMYXRjaCwgV0xfVElN RU9VVCB8IFdMX0xBVENIX1NFVCB8IFdMX0VYSVRfT05fUE1fREVBVEgsIDEwMDBMLAorCQkJCQkJ IFdBSVRfRVZFTlRfUEFSQUxMRUxfVkFDVVVNX0ZJTklTSCk7CisJCVJlc2V0TGF0Y2goTXlMYXRj aCk7CisJfQorfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9l dmVudC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudC5jCmluZGV4IGY5 NTc0ZTgwMGYuLjFhMDY0MjhmM2MgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2 aXR5L3dhaXRfZXZlbnQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2 ZW50LmMKQEAgLTQxNSw2ICs0MTUsOSBAQCBwZ3N0YXRfZ2V0X3dhaXRfaXBjKFdhaXRFdmVudElQ QyB3KQogCQljYXNlIFdBSVRfRVZFTlRfUEFSQUxMRUxfRklOSVNIOgogCQkJZXZlbnRfbmFtZSA9 ICJQYXJhbGxlbEZpbmlzaCI7CiAJCQlicmVhazsKKwkJY2FzZSBXQUlUX0VWRU5UX1BBUkFMTEVM X1ZBQ1VVTV9GSU5JU0g6CisJCQlldmVudF9uYW1lID0gIlBhcmFsbGVsVmFjdXVtRmluaXNoIjsK KwkJCWJyZWFrOwogCQljYXNlIFdBSVRfRVZFTlRfUFJPQ0FSUkFZX0dST1VQX1VQREFURToKIAkJ CWV2ZW50X25hbWUgPSAiUHJvY0FycmF5R3JvdXBVcGRhdGUiOwogCQkJYnJlYWs7CmRpZmYgLS1n aXQgYS9zcmMvaW5jbHVkZS9hY2Nlc3MvZ2VuYW0uaCBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9nZW5h bS5oCmluZGV4IDgzZGJlZTBmZTYuLjZlMGYxMmNlZjAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2FjY2Vzcy9nZW5hbS5oCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy9nZW5hbS5oCkBAIC0yMSw4 ICsyMSw5IEBACiAjaW5jbHVkZSAidXRpbHMvcmVsY2FjaGUuaCIKICNpbmNsdWRlICJ1dGlscy9z bmFwc2hvdC5oIgogCi0vKiBXZSBkb24ndCB3YW50IHRoaXMgZmlsZSB0byBkZXBlbmQgb24gZXhl Y25vZGVzLmguICovCisvKiBXZSBkb24ndCB3YW50IHRoaXMgZmlsZSB0byBkZXBlbmQgb24gZXhl Y25vZGVzLmggb3IgdmFjdXVtLmguICovCiBzdHJ1Y3QgSW5kZXhJbmZvOworc3RydWN0IFBhcmFs bGVsVmFjdXVtU3RhdGU7CiAKIC8qCiAgKiBTdHJ1Y3QgZm9yIHN0YXRpc3RpY3MgcmV0dXJuZWQg YnkgYW1idWlsZApAQCAtNDYsMTAgKzQ3LDEyIEBAIHR5cGVkZWYgc3RydWN0IEluZGV4VmFjdXVt SW5mbwogCVJlbGF0aW9uCWluZGV4OwkJCS8qIHRoZSBpbmRleCBiZWluZyB2YWN1dW1lZCAqLwog CWJvb2wJCWFuYWx5emVfb25seTsJLyogQU5BTFlaRSAod2l0aG91dCBhbnkgYWN0dWFsIHZhY3V1 bSkgKi8KIAlib29sCQlyZXBvcnRfcHJvZ3Jlc3M7CS8qIGVtaXQgcHJvZ3Jlc3MuaCBzdGF0dXMg cmVwb3J0cyAqLworCWJvb2wJCXJlcG9ydF9wYXJhbGxlbF9wcm9ncmVzczsJLyogZW1pdCBwcm9n cmVzcy5oIHN0YXR1cyByZXBvcnRzIGZvciBwYXJhbGxlbCB2YWN1dW0gKi8KIAlib29sCQllc3Rp bWF0ZWRfY291bnQ7CS8qIG51bV9oZWFwX3R1cGxlcyBpcyBhbiBlc3RpbWF0ZSAqLwogCWludAkJ CW1lc3NhZ2VfbGV2ZWw7CS8qIGVyZXBvcnQgbGV2ZWwgZm9yIHByb2dyZXNzIG1lc3NhZ2VzICov CiAJZG91YmxlCQludW1faGVhcF90dXBsZXM7CS8qIHR1cGxlcyByZW1haW5pbmcgaW4gaGVhcCAq LwogCUJ1ZmZlckFjY2Vzc1N0cmF0ZWd5IHN0cmF0ZWd5OwkvKiBhY2Nlc3Mgc3RyYXRlZ3kgZm9y IHJlYWRzICovCisJc3RydWN0IFBhcmFsbGVsVmFjdXVtU3RhdGUgKnBhcmFsbGVsX3ZhY3V1bV9z dGF0ZTsgLyogYWNjZXNzIHBhcmFsbGVsIHZhY3V1bSBzdGF0ZSBmb3IgcHJvZ3Jlc3MgcmVwb3J0 aW5nICovCiB9IEluZGV4VmFjdXVtSW5mbzsKIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRl L2NvbW1hbmRzL3Byb2dyZXNzLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy9wcm9ncmVzcy5oCmlu ZGV4IGU1YWRkNDEzNTIuLjZiOGI2MDlhNGYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1h bmRzL3Byb2dyZXNzLmgKKysrIGIvc3JjL2luY2x1ZGUvY29tbWFuZHMvcHJvZ3Jlc3MuaApAQCAt MjUsNiArMjUsOCBAQAogI2RlZmluZSBQUk9HUkVTU19WQUNVVU1fTlVNX0lOREVYX1ZBQ1VVTVMJ CTQKICNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX01BWF9ERUFEX1RVUExFUwkJCTUKICNkZWZpbmUg UFJPR1JFU1NfVkFDVVVNX05VTV9ERUFEX1RVUExFUwkJCTYKKyNkZWZpbmUgUFJPR1JFU1NfVkFD VVVNX0lOREVYX1RPVEFMICAgICAgICAgICAgIDcKKyNkZWZpbmUgUFJPR1JFU1NfVkFDVVVNX0lO REVYX0NPTVBMRVRFRCAgICAgICAgIDgKIAogLyogUGhhc2VzIG9mIHZhY3V1bSAoYXMgYWR2ZXJ0 aXNlZCB2aWEgUFJPR1JFU1NfVkFDVVVNX1BIQVNFKSAqLwogI2RlZmluZSBQUk9HUkVTU19WQUNV VU1fUEhBU0VfU0NBTl9IRUFQCQkJMQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMv dmFjdXVtLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAppbmRleCA1ZWZiOTQyMzY4 Li44NGEyMjE2MTE5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaAor KysgYi9zcmMvaW5jbHVkZS9jb21tYW5kcy92YWN1dW0uaApAQCAtNjQsNiArNjQsMTIgQEAKIC8q IHZhbHVlIGZvciBjaGVja2luZyB2YWN1dW0gZmxhZ3MgKi8KICNkZWZpbmUgVkFDVVVNX09QVElP Tl9NQVhfVkFMSURfVkFMVUUJCSgoMSA8PCAzKSAtIDEpCiAKKy8qCisgKiBQYXJhbGxlbCBJbmRl eCB2YWN1dW0gcHJvZ3Jlc3MgaXMgcmVwb3J0ZWQgZXZlcnkgMUdCIG9mIGJsb2NrcworICogc2Nh bm5lZC4KKyAqLworI2RlZmluZSBSRVBPUlRfUEFSQUxMRUxfVkFDVVVNX0VWRVJZX1BBR0VTICgo QmxvY2tOdW1iZXIpICgoKHVpbnQ2NCkgMTAyNCAqIDEwMjQgKiAxMDI0KSAvIEJMQ0tTWikpCisK IC8qIEFic3RyYWN0IHR5cGUgZm9yIHBhcmFsbGVsIHZhY3V1bSBzdGF0ZSAqLwogdHlwZWRlZiBz dHJ1Y3QgUGFyYWxsZWxWYWN1dW1TdGF0ZSBQYXJhbGxlbFZhY3V1bVN0YXRlOwogCkBAIC0zNjgs NSArMzc0LDYgQEAgZXh0ZXJuIGJvb2wgc3RkX3R5cGFuYWx5emUoVmFjQXR0clN0YXRzICpzdGF0 cyk7CiBleHRlcm4gZG91YmxlIGFubF9yYW5kb21fZnJhY3Qodm9pZCk7CiBleHRlcm4gZG91Ymxl IGFubF9pbml0X3NlbGVjdGlvbl9zdGF0ZShpbnQgbik7CiBleHRlcm4gZG91YmxlIGFubF9nZXRf bmV4dF9TKGRvdWJsZSB0LCBpbnQgbiwgZG91YmxlICpzdGF0ZXB0cik7CitleHRlcm4gdm9pZCBw YXJhbGxlbF92YWN1dW1fdXBkYXRlX3Byb2dyZXNzKFBhcmFsbGVsVmFjdXVtU3RhdGUgKnB2cyk7 CiAKICNlbmRpZgkJCQkJCQkvKiBWQUNVVU1fSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUv dXRpbHMvd2FpdF9ldmVudC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMvd2FpdF9ldmVudC5oCmluZGV4 IGY1MzI1NGFkMWYuLjQ2OTMwZmU3ZjUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0aWxzL3dh aXRfZXZlbnQuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy93YWl0X2V2ZW50LmgKQEAgLTExNCw2 ICsxMTQsNyBAQCB0eXBlZGVmIGVudW0KIAlXQUlUX0VWRU5UX1BBUkFMTEVMX0JJVE1BUF9TQ0FO LAogCVdBSVRfRVZFTlRfUEFSQUxMRUxfQ1JFQVRFX0lOREVYX1NDQU4sCiAJV0FJVF9FVkVOVF9Q QVJBTExFTF9GSU5JU0gsCisJV0FJVF9FVkVOVF9QQVJBTExFTF9WQUNVVU1fRklOSVNILAogCVdB SVRfRVZFTlRfUFJPQ0FSUkFZX0dST1VQX1VQREFURSwKIAlXQUlUX0VWRU5UX1BST0NfU0lHTkFM X0JBUlJJRVIsCiAJV0FJVF9FVkVOVF9QUk9NT1RFLApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVz Lm91dAppbmRleCBmYjlmOTM2ZDQzLi5kZjZmMjMwNzE1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3J1bGVzLm91dApAQCAtMjAyMSw3ICsyMDIxLDkgQEAgcGdfc3RhdF9wcm9ncmVzc192YWN1dW18 IFNFTEVDVCBzLnBpZCwKICAgICBzLnBhcmFtNCBBUyBoZWFwX2Jsa3NfdmFjdXVtZWQsCiAgICAg cy5wYXJhbTUgQVMgaW5kZXhfdmFjdXVtX2NvdW50LAogICAgIHMucGFyYW02IEFTIG1heF9kZWFk X3R1cGxlcywKLSAgICBzLnBhcmFtNyBBUyBudW1fZGVhZF90dXBsZXMKKyAgICBzLnBhcmFtNyBB UyBudW1fZGVhZF90dXBsZXMsCisgICAgcy5wYXJhbTggQVMgaW5kZXhlc190b3RhbCwKKyAgICBz LnBhcmFtOSBBUyBpbmRleGVzX2NvbXBsZXRlZAogICAgRlJPTSAocGdfc3RhdF9nZXRfcHJvZ3Jl c3NfaW5mbygnVkFDVVVNJzo6dGV4dCkgcyhwaWQsIGRhdGlkLCByZWxpZCwgcGFyYW0xLCBwYXJh bTIsIHBhcmFtMywgcGFyYW00LCBwYXJhbTUsIHBhcmFtNiwgcGFyYW03LCBwYXJhbTgsIHBhcmFt OSwgcGFyYW0xMCwgcGFyYW0xMSwgcGFyYW0xMiwgcGFyYW0xMywgcGFyYW0xNCwgcGFyYW0xNSwg cGFyYW0xNiwgcGFyYW0xNywgcGFyYW0xOCwgcGFyYW0xOSwgcGFyYW0yMCkKICAgICAgTEVGVCBK T0lOIHBnX2RhdGFiYXNlIGQgT04gKChzLmRhdGlkID0gZC5vaWQpKSk7CiBwZ19zdGF0X3JlY292 ZXJ5X3ByZWZldGNofCBTRUxFQ1Qgcy5zdGF0c19yZXNldCwKLS0gCjIuMzguMQoK --_002_2397CA8ADAD746C7AF6997365DA47AF8amazoncom_--