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 1mvlB1-0001Oj-F5 for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Dec 2021 19:03:27 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mvlAz-0000fx-VD for pgsql-hackers@arkaria.postgresql.org; Fri, 10 Dec 2021 19:03:25 +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 1mvlAz-0000fo-4R for pgsql-hackers@lists.postgresql.org; Fri, 10 Dec 2021 19:03:25 +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 1mvlAw-00079d-Dr for pgsql-hackers@postgresql.org; Fri, 10 Dec 2021 19:03:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1639163002; x=1670699002; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=/Ykrlug18bLtqkEmqFGcv/4h23GxA60p4ZRno4gZjVI=; b=l4NdYBocv7Ele57XLVFGcqw8Scoc04DrstPNRZJ/YYpF5zHC87bD6h5W o/F4U36CGsdsigPr30jE9YMtjFs5pizBjkUUxHrTAsEjWdOMtqBGZYf4a sqsB9FXk6PGv3WSfjEkhrmdOvknL3uAL5yV/wS/6nCcPbmAHlRC3inw4P w=; X-Amazon-filename: v1-0005-Move-removal-of-old-serialized-snapshots-to-custo.patch, v1-0004-Move-pgsql_tmp-file-removal-to-custodian-process.patch, v1-0003-Split-pgsql_tmp-cleanup-into-two-stages.patch, v1-0002-Also-remove-pgsql_tmp-directories-during-startup.patch, v1-0001-Introduce-custodian.patch X-IronPort-AV: E=Sophos;i="5.88,196,1635206400"; d="scan'208,223";a="47685568" Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO email-inbound-relay-pdx-2b-0085f2c8.us-west-2.amazon.com) ([10.25.36.210]) by smtp-border-fw-80007.pdx80.corp.amazon.com with ESMTP; 10 Dec 2021 19:03:18 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-pdx-2b-0085f2c8.us-west-2.amazon.com (Postfix) with ESMTPS id 4C8F54252A; Fri, 10 Dec 2021 19:03:18 +0000 (UTC) Received: from EX13D03UWC003.ant.amazon.com (10.43.162.79) by EX13MTAUWB001.ant.amazon.com (10.43.161.249) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 10 Dec 2021 19:03:18 +0000 Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13D03UWC003.ant.amazon.com (10.43.162.79) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Fri, 10 Dec 2021 19:03:17 +0000 Received: from EX13D03UWC004.ant.amazon.com ([10.43.162.49]) by EX13D03UWC004.ant.amazon.com ([10.43.162.49]) with mapi id 15.00.1497.026; Fri, 10 Dec 2021 19:03:17 +0000 From: "Bossart, Nathan" To: Bharath Rupireddy CC: "pgsql-hackers@postgresql.org" Subject: Re: O(n) tasks cause lengthy startups and checkpoints Thread-Topic: O(n) tasks cause lengthy startups and checkpoints Thread-Index: AQHX7fiXPuvo82DtDkelZW7mKoK97Q== Date: Fri, 10 Dec 2021 19:03:17 +0000 Message-ID: <6DFA78EC-EF4D-4CB0-82C8-AD5DA1B8E0AC@amazon.com> References: <5E58EBB2-3DAE-4400-9EBE-60D1FE4C5B10@amazon.com> <8ACCEA4C-BA36-494B-92B4-EF14DAF1BC3B@amazon.com> <2B230EF6-7509-479C-8C5A-34B56A1B4063@amazon.com> In-Reply-To: <2B230EF6-7509-479C-8C5A-34B56A1B4063@amazon.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.160.87] Content-Type: multipart/mixed; boundary="_006_6DFA78ECEF4D4CB082C8AD5DA1B8E0ACamazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_006_6DFA78ECEF4D4CB082C8AD5DA1B8E0ACamazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <153C3030264F454DB703F1D3F56D3BA8@amazon.com> Content-Transfer-Encoding: base64 T24gMTIvNi8yMSwgMTE6MjMgQU0sICJCb3NzYXJ0LCBOYXRoYW4iIDxib3NzYXJ0bkBhbWF6b24u Y29tPiB3cm90ZToNCj4gT24gMTIvNi8yMSwgMzo0NCBBTSwgIkJoYXJhdGggUnVwaXJlZGR5IiA8 YmhhcmF0aC5ydXBpcmVkZHlmb3Jwb3N0Z3Jlc0BnbWFpbC5jb20+IHdyb3RlOg0KPj4gVGhhbmtz LiBBcyBJIHNhaWQgdXB0aHJlYWQgd2UndmUgYmVlbiBkaXNjdXNzaW5nIHRoZSBhcHByb2FjaCBv Zg0KPj4gb2ZmbG9hZGluZyBzb21lIG9mIHRoZSBjaGVja3BvaW50IHRhc2tzIGxpa2UgKGRlbGV0 aW5nIHNuYXBzaG90IGZpbGVzKQ0KPj4gaW50ZXJuYWxseSBmb3IgcXVpdGUgc29tZSB0aW1lIGFu ZCBJIHdvdWxkIGxpa2UgdG8gc2hhcmUgYSBwYXRjaCB0aGF0DQo+PiBhZGRzIGEgbmV3IGJhY2tn cm91bmQgY2xlYW5lciBwcm9jZXNzIChjdXJyZW50bHkgYWJsZSB0byBkZWxldGUgdGhlDQo+PiBs b2dpY2FsIHJlcGxpY2F0aW9uIHNuYXBzaG90IGZpbGVzLCBpZiByZXF1aXJlZCBjYW4gYmUgZXh0 ZW5kZWQgdG8gZG8NCj4+IG90aGVyIHRhc2tzIGFzIHdlbGwpLiBJIGRvbid0IG1pbmQgaWYgaXQg Z2V0cyByZWplY3RlZC4gUGxlYXNlIGhhdmUgYQ0KPj4gbG9vay4NCj4NCj4gVGhhbmtzIGZvciBz aGFyaW5nISAgSSd2ZSBhbHNvIHNwZW50IHNvbWUgdGltZSBvbiBhIHBhdGNoIHNldCwgd2hpY2gg SQ0KPiBpbnRlbmQgdG8gc2hhcmUgb25jZSBJIGhhdmUgaGFuZGxpbmcgZm9yIGFsbCBmb3VyIHRh c2tzIChzbyBmYXIgSSBoYXZlDQo+IGhhbmRsaW5nIGZvciBDaGVja1BvaW50U25hcEJ1aWxkKCkg YW5kIFJlbW92ZVBnVGVtcEZpbGVzKCkpLiAgSSdsbA0KPiB0YWtlIGEgbG9vayBhdCB5b3VyIHBh dGNoIGFzIHdlbGwuDQoNCldlbGwsIEkgaGF2ZW4ndCBoYWQgYSBjaGFuY2UgdG8gbG9vayBhdCB5 b3VyIHBhdGNoLCBhbmQgbXkgcGF0Y2ggc2V0DQpzdGlsbCBvbmx5IGhhcyBoYW5kbGluZyBmb3Ig Q2hlY2tQb2ludFNuYXBCdWlsZCgpIGFuZA0KUmVtb3ZlUGdUZW1wRmlsZXMoKSwgYnV0IEkgdGhv dWdodCBJJ2Qgc2hhcmUgd2hhdCBJIGhhdmUgYW55d2F5LiAgSQ0Kc3BsaXQgaXQgaW50byA1IHBh dGNoZXM6DQoNCjAwMDEgLSBBZGRzIGEgbmV3ICJjdXN0b2RpYW4iIGF1eGlsaWFyeSBwcm9jZXNz IHRoYXQgZG9lcyBub3RoaW5nLg0KMDAwMiAtIER1cmluZyBzdGFydHVwLCByZW1vdmUgdGhlIHBn c3FsX3RtcCBkaXJlY3RvcmllcyBpbnN0ZWFkIG9mDQogICAgICAgb25seSBjbGVhcmluZyB0aGUg Y29udGVudHMuDQowMDAzIC0gU3BsaXQgdGVtcG9yYXJ5IGZpbGUgY2xlYW51cCBkdXJpbmcgc3Rh cnR1cCBpbnRvIHR3byBzdGFnZXMuDQogICAgICAgVGhlIGZpcnN0IHJlbmFtZXMgdGhlIGRpcmVj dG9yaWVzLCBhbmQgdGhlIHNlY29uZCBjbGVhcnMgdGhlbS4NCjAwMDQgLSBNb3ZlcyB0aGUgc2Vj b25kIHN0YWdlIGZyb20gMDAwMyB0byB0aGUgY3VzdG9kaWFuIHByb2Nlc3MuDQowMDA1IC0gTW92 ZXMgQ2hlY2tQb2ludFNuYXBCdWlsZCgpIHRvIHRoZSBjdXN0b2RpYW4gcHJvY2Vzcy4NCg0KVGhp cyBpcyBzdGlsbCB2ZXJ5IG11Y2ggYSB3b3JrIGluIHByb2dyZXNzLCBhbmQgSSd2ZSBkb25lIG1p bmltYWwNCnRlc3Rpbmcgc28gZmFyLg0KDQpOYXRoYW4NCg0K --_006_6DFA78ECEF4D4CB082C8AD5DA1B8E0ACamazoncom_ Content-Type: application/octet-stream; name="v1-0005-Move-removal-of-old-serialized-snapshots-to-custo.patch" Content-Description: v1-0005-Move-removal-of-old-serialized-snapshots-to-custo.patch Content-Disposition: attachment; filename="v1-0005-Move-removal-of-old-serialized-snapshots-to-custo.patch"; size=3863; creation-date="Fri, 10 Dec 2021 19:03:17 GMT"; modification-date="Fri, 10 Dec 2021 19:03:17 GMT" Content-ID: <5AE69084C1206046BFCCC0430CBA20E5@amazon.com> Content-Transfer-Encoding: base64 RnJvbSBiMTAxNGQ2OTliODJlNWViNWJiZTA1YTFiM2IyOTQ1NzdkZjFmNzdjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDIyOjAyOjQwIC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MSA1 LzVdIE1vdmUgcmVtb3ZhbCBvZiBvbGQgc2VyaWFsaXplZCBzbmFwc2hvdHMgdG8gY3VzdG9kaWFu LgoKVGhpcyB3YXMgb25seSBkb25lIGR1cmluZyBjaGVja3BvaW50cyBiZWNhdXNlIGl0IHdhcyBh IGNvbnZlbmllbnQKcGxhY2UgdG8gcHV0IGl0LiAgSG93ZXZlciwgaWYgdGhlcmUgYXJlIG1hbnkg c25hcHNob3RzIHRvIHJlbW92ZSwKaXQgY2FuIHNpZ25pZmljYW50bHkgZXh0ZW5kIGNoZWNrcG9p bnQgdGltZS4gIFRvIGF2b2lkIHRoaXMsIG1vdmUKdGhpcyB3b3JrIHRvIHRoZSBuZXdseS1pbnRy b2R1Y2VkIGN1c3RvZGlhbiBwcm9jZXNzLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2Ft L3hsb2cuYyAgICAgICAgICAgfCAgMiAtLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2Rp YW4uYyAgICAgICAgICB8IDExICsrKysrKysrKysrCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL3NuYXBidWlsZC5jIHwgIDkgKysrKy0tLS0tCiBzcmMvaW5jbHVkZS9yZXBsaWNhdGlv bi9zbmFwYnVpbGQuaCAgICAgICAgIHwgIDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0 aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3Mv dHJhbnNhbS94bG9nLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKaW5kZXgg ZDg5NGFmMzEwYS4uMmZjY2EzOGMyMyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3Ry YW5zYW0veGxvZy5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwpAQCAt NTYsNyArNTYsNiBAQAogI2luY2x1ZGUgInJlcGxpY2F0aW9uL2xvZ2ljYWwuaCIKICNpbmNsdWRl ICJyZXBsaWNhdGlvbi9vcmlnaW4uaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9zbG90LmgiCi0j aW5jbHVkZSAicmVwbGljYXRpb24vc25hcGJ1aWxkLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24v d2FscmVjZWl2ZXIuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi93YWxzZW5kZXIuaCIKICNpbmNs dWRlICJzdG9yYWdlL2J1Zm1nci5oIgpAQCAtOTYwMiw3ICs5NjAxLDYgQEAgQ2hlY2tQb2ludEd1 dHMoWExvZ1JlY1B0ciBjaGVja1BvaW50UmVkbywgaW50IGZsYWdzKQogewogCUNoZWNrUG9pbnRS ZWxhdGlvbk1hcCgpOwogCUNoZWNrUG9pbnRSZXBsaWNhdGlvblNsb3RzKCk7Ci0JQ2hlY2tQb2lu dFNuYXBCdWlsZCgpOwogCUNoZWNrUG9pbnRMb2dpY2FsUmV3cml0ZUhlYXAoKTsKIAlDaGVja1Bv aW50UmVwbGljYXRpb25PcmlnaW4oKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9jdXN0b2RpYW4uYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmMKaW5k ZXggYTU0NDNmOWEyMS4uYjA4OGNkYjBiOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9jdXN0b2RpYW4uYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5j CkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAicG9zdG1h c3Rlci9jdXN0b2RpYW4uaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2ludGVycnVwdC5oIgorI2lu Y2x1ZGUgInJlcGxpY2F0aW9uL3NuYXBidWlsZC5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdy LmgiCiAjaW5jbHVkZSAic3RvcmFnZS9jb25kaXRpb25fdmFyaWFibGUuaCIKICNpbmNsdWRlICJz dG9yYWdlL3Byb2MuaCIKQEAgLTIwNCw2ICsyMDUsMTYgQEAgQ3VzdG9kaWFuTWFpbih2b2lkKQog CQkgKi8KIAkJUmVtb3ZlUGdUZW1wRmlsZXMoZmFsc2UsIGZhbHNlKTsKIAorCQkvKgorCQkgKiBS ZW1vdmUgc2VyaWFsaXplZCBzbmFwc2hvdHMgdGhhdCBhcmUgbm8gbG9uZ2VyIHJlcXVpcmVkIGJ5 IGFueQorCQkgKiBsb2dpY2FsIHJlcGxpY2F0aW9uIHNsb3QuCisJCSAqCisJCSAqIEl0IGlzIG5v dCBpbXBvcnRhbnQgZm9yIHRoZXNlIHRvIGJlIHJlbW92ZWQgaW4gc2luZ2xlLXVzZXIgbW9kZSwg c28KKwkJICogd2UgZG9uJ3QgbmVlZCBhbnkgZXh0cmEgaG5kbGluZyBvdXRzaWRlIG9mIHRoZSBj dXN0b2RpYW4gcHJvY2VzcyBmb3IKKwkJICogdGhpcy4KKwkJICovCisJCVJlbW92ZU9sZFNlcmlh bGl6ZWRTbmFwc2hvdHMoKTsKKwogCQkvKiBDYWxjdWxhdGUgaG93IGxvbmcgdG8gc2xlZXAgKi8K IAkJZW5kX3RpbWUgPSAocGdfdGltZV90KSB0aW1lKE5VTEwpOwogCQllbGFwc2VkX3NlY3MgPSBl bmRfdGltZSAtIHN0YXJ0X3RpbWU7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3NuYXBidWlsZC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9z bmFwYnVpbGQuYwppbmRleCBkYmRjMTcyYTJiLi4wZmE3ZDgyMmUxIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3NuYXBidWlsZC5jCisrKyBiL3NyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMKQEAgLTE5MTIsMTQgKzE5MTIsMTMgQEAg c25hcHNob3Rfbm90X2ludGVyZXN0aW5nOgogCiAvKgogICogUmVtb3ZlIGFsbCBzZXJpYWxpemVk IHNuYXBzaG90cyB0aGF0IGFyZSBub3QgcmVxdWlyZWQgYW55bW9yZSBiZWNhdXNlIG5vCi0gKiBz bG90IGNhbiBuZWVkIHRoZW0uIFRoaXMgZG9lc24ndCBhY3R1YWxseSBoYXZlIHRvIHJ1biBkdXJp bmcgYSBjaGVja3BvaW50LAotICogYnV0IGl0J3MgYSBjb252ZW5pZW50IHBvaW50IHRvIHNjaGVk dWxlIHRoaXMuCisgKiBzbG90IGNhbiBuZWVkIHRoZW0uCiAgKgotICogTkI6IFdlIHJ1biB0aGlz IGR1cmluZyBjaGVja3BvaW50cyBldmVuIGlmIGxvZ2ljYWwgZGVjb2RpbmcgaXMgZGlzYWJsZWQg c28KLSAqIHdlIGNsZWFudXAgb2xkIHNsb3RzIGF0IHNvbWUgcG9pbnQgYWZ0ZXIgaXQgZ290IGRp c2FibGVkLgorICogTkI6IFdlIHJ1biB0aGlzIGV2ZW4gaWYgbG9naWNhbCBkZWNvZGluZyBpcyBk aXNhYmxlZCBzbyB3ZSBjbGVhbnVwIG9sZCBzbG90cworICogYXQgc29tZSBwb2ludCBhZnRlciBp dCBnb3QgZGlzYWJsZWQuCiAgKi8KIHZvaWQKLUNoZWNrUG9pbnRTbmFwQnVpbGQodm9pZCkKK1Jl bW92ZU9sZFNlcmlhbGl6ZWRTbmFwc2hvdHModm9pZCkKIHsKIAlYTG9nUmVjUHRyCWN1dG9mZjsK IAlYTG9nUmVjUHRyCXJlZG87CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9z bmFwYnVpbGQuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3NuYXBidWlsZC5oCmluZGV4IDgy YWE4NjEyNWIuLmJhNzI3NjA1OGQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L3NuYXBidWlsZC5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3NuYXBidWlsZC5oCkBA IC01Nyw3ICs1Nyw3IEBAIHN0cnVjdCBSZW9yZGVyQnVmZmVyOwogc3RydWN0IHhsX2hlYXBfbmV3 X2NpZDsKIHN0cnVjdCB4bF9ydW5uaW5nX3hhY3RzOwogCi1leHRlcm4gdm9pZCBDaGVja1BvaW50 U25hcEJ1aWxkKHZvaWQpOworZXh0ZXJuIHZvaWQgUmVtb3ZlT2xkU2VyaWFsaXplZFNuYXBzaG90 cyh2b2lkKTsKIAogZXh0ZXJuIFNuYXBCdWlsZCAqQWxsb2NhdGVTbmFwc2hvdEJ1aWxkZXIoc3Ry dWN0IFJlb3JkZXJCdWZmZXIgKmNhY2hlLAogCQkJCQkJCQkJCSAgVHJhbnNhY3Rpb25JZCB4bWlu X2hvcml6b24sIFhMb2dSZWNQdHIgc3RhcnRfbHNuLAotLSAKMi4xNi42Cgo= --_006_6DFA78ECEF4D4CB082C8AD5DA1B8E0ACamazoncom_ Content-Type: application/octet-stream; name="v1-0004-Move-pgsql_tmp-file-removal-to-custodian-process.patch" Content-Description: v1-0004-Move-pgsql_tmp-file-removal-to-custodian-process.patch Content-Disposition: attachment; filename="v1-0004-Move-pgsql_tmp-file-removal-to-custodian-process.patch"; size=5270; creation-date="Fri, 10 Dec 2021 19:03:17 GMT"; modification-date="Fri, 10 Dec 2021 19:03:17 GMT" Content-ID: <7385C138DC9A9241AE4CF1F41617FDBA@amazon.com> Content-Transfer-Encoding: base64 RnJvbSBiYzc1NWI1OGE5ODI5NTZlMmE0OTRmYWI5MWE0OWMwMTQyZjg0MDMwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDIxOjQyOjUyIC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MSA0 LzVdIE1vdmUgcGdzcWxfdG1wIGZpbGUgcmVtb3ZhbCB0byBjdXN0b2RpYW4gcHJvY2Vzcy4KCldp dGggdGhpcyBjaGFuZ2UsIHN0YXJ0dXAgKGFuZCByZXN0YXJ0IGFmdGVyIGEgY3Jhc2gpIHNpbXBs eQpyZW5hbWVzIHRoZSBwZ3NxbF90bXAgZGlyZWN0b3JpZXMsIGFuZCB0aGUgY3VzdG9kaWFuIHBy b2Nlc3MKYWN0dWFsbHkgcmVtb3ZlcyBhbGwgdGhlIGZpbGVzIGluIHRoZSBzdGFnZWQgZGlyZWN0 b3JpZXMgYXMgd2VsbCBhcwp0aGUgc3RhZ2VkIGRpcmVjdG9yaWVzIHRoZW1zZWx2ZXMuICBUaGlz IHNob3VsZCBoZWxwIGF2b2lkIGxvbmcKc3RhcnR1cCBkZWxheXMgZHVlIHRvIG1hbnkgbGVmdG92 ZXIgdGVtcG9yYXJ5IGZpbGVzLgotLS0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY3VzdG9kaWFu LmMgIHwgMTMgKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVy LmMgfCAxNCArKysrKysrKystLS0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMgICAg ICAgfCAyMiArKysrKysrKysrKysrKysrLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDM3IGluc2Vy dGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3Rt YXN0ZXIvY3VzdG9kaWFuLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5jCmlu ZGV4IDBiYTU5OTQ5YmIuLmE1NDQzZjlhMjEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3Rt YXN0ZXIvY3VzdG9kaWFuLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4u YwpAQCAtMTkxLDcgKzE5MSwxOCBAQCBDdXN0b2RpYW5NYWluKHZvaWQpCiAKIAkJc3RhcnRfdGlt ZSA9IChwZ190aW1lX3QpIHRpbWUoTlVMTCk7CiAKLQkJLyogVE9ETzogb2ZmbG9hZGVkIHRhc2tz IGdvIGhlcmUgKi8KKwkJLyoKKwkJICogUmVtb3ZlIGFueSBwZ3NxbF90bXAgZGlyZWN0b3JpZXMg dGhhdCBoYXZlIGJlZW4gc3RhZ2VkIGZvciBkZWxldGlvbi4KKwkJICogU2luY2UgcGdzcWxfdG1w IGRpcmVjdG9yaWVzIGNhbiBhY2N1bXVsYXRlIG1hbnkgZmlsZXMsIHJlbW92aW5nIGFsbAorCQkg KiBvZiB0aGUgZmlsZXMgZHVyaW5nIHN0YXJ0dXAgKHdoaWNoIHdlIHVzZWQgdG8gZG8pIGNhbiB0 YWtlIGEgdmVyeQorCQkgKiBsb25nIHRpbWUuICBUbyBhdm9pZCBkZWxheWluZyBzdGFydHVwLCB3 ZSBzaW1wbHkgaGF2ZSBzdGFydHVwIHJlbmFtZQorCQkgKiB0aGUgdGVtcG9yYXJ5IGRpcmVjdG9y aWVzLCBhbmQgd2UgY2xlYW4gdGhlbSB1cCBoZXJlLgorCQkgKgorCQkgKiBwZ3NxbF90bXAgZGly ZWN0b3JpZXMgYXJlIG5vdCBzdGFnZWQgb3IgY2xlYW5lZCBpbiBzaW5nbGUtdXNlciBtb2RlLAor CQkgKiBzbyB3ZSBkb24ndCBuZWVkIGFueSBleHRyYSBoYW5kbGluZyBvdXRzaWRlIG9mIHRoZSBj dXN0b2RpYW4gcHJvY2VzcworCQkgKiBmb3IgdGhpcy4KKwkJICovCisJCVJlbW92ZVBnVGVtcEZp bGVzKGZhbHNlLCBmYWxzZSk7CiAKIAkJLyogQ2FsY3VsYXRlIGhvdyBsb25nIHRvIHNsZWVwICov CiAJCWVuZF90aW1lID0gKHBnX3RpbWVfdCkgdGltZShOVUxMKTsKZGlmZiAtLWdpdCBhL3NyYy9i YWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9w b3N0bWFzdGVyLmMKaW5kZXggMWFlMmRjMTc5ZS4uYjA5ODQ4MjQ5NiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9wb3N0bWFzdGVyLmMKQEAgLTEzOTEsOSArMTM5MSwxMSBAQCBQb3N0bWFzdGVyTWFpbihp bnQgYXJnYywgY2hhciAqYXJndltdKQogCS8qCiAJICogUmVtb3ZlIG9sZCB0ZW1wb3JhcnkgZmls ZXMuICBBdCB0aGlzIHBvaW50IHRoZXJlIGNhbiBiZSBubyBvdGhlcgogCSAqIFBvc3RncmVzIHBy b2Nlc3NlcyBydW5uaW5nIGluIHRoaXMgZGlyZWN0b3J5LCBzbyB0aGlzIHNob3VsZCBiZSBzYWZl LgorCSAqCisJICogTm90ZSB0aGF0IHRoaXMganVzdCBzdGFnZXMgdGhlIHBnc3FsX3RtcCBkaXJl Y3RvcmllcyBmb3IgZGVsZXRpb24uICBUaGUKKwkgKiBjdXN0b2RpYW4gcHJvY2VzcyBpcyByZXNw b25zaWJsZSBmb3IgYWN0dWFsbHkgcmVtb3ZpbmcgdGhlIGZpbGVzLgogCSAqLwogCVJlbW92ZVBn VGVtcEZpbGVzKHRydWUsIHRydWUpOwotCVJlbW92ZVBnVGVtcEZpbGVzKGZhbHNlLCBmYWxzZSk7 CiAKIAkvKgogCSAqIEluaXRpYWxpemUgc3RhdHMgY29sbGVjdGlvbiBzdWJzeXN0ZW0gKHRoaXMg ZG9lcyBOT1Qgc3RhcnQgdGhlCkBAIC00MTM5LDEyICs0MTQxLDE0IEBAIFBvc3RtYXN0ZXJTdGF0 ZU1hY2hpbmUodm9pZCkKIAkJZXJlcG9ydChMT0csCiAJCQkJKGVycm1zZygiYWxsIHNlcnZlciBw cm9jZXNzZXMgdGVybWluYXRlZDsgcmVpbml0aWFsaXppbmciKSkpOwogCi0JCS8qIHJlbW92ZSBs ZWZ0b3ZlciB0ZW1wb3JhcnkgZmlsZXMgYWZ0ZXIgYSBjcmFzaCAqLworCQkvKgorCQkgKiBSZW1v dmUgbGVmdG92ZXIgdGVtcG9yYXJ5IGZpbGVzIGFmdGVyIGEgY3Jhc2guCisJCSAqCisJCSAqIE5v dGUgdGhhdCB0aGlzIGp1c3Qgc3RhZ2VzIHRoZSBwZ3NxbF90bXAgZGlyZWN0b3JpZXMgZm9yIGRl bGV0aW9uLgorCQkgKiBUaGUgY3VzdG9kaWFuIHByb2Nlc3MgaXMgcmVzcG9uc2libGUgZm9yIGFj dHVhbGx5IHJlbW92aW5nIHRoZSBmaWxlcy4KKwkJICovCiAJCWlmIChyZW1vdmVfdGVtcF9maWxl c19hZnRlcl9jcmFzaCkKLQkJewogCQkJUmVtb3ZlUGdUZW1wRmlsZXModHJ1ZSwgdHJ1ZSk7Ci0J CQlSZW1vdmVQZ1RlbXBGaWxlcyhmYWxzZSwgZmFsc2UpOwotCQl9CiAKIAkJLyogYWxsb3cgYmFj a2dyb3VuZCB3b3JrZXJzIHRvIGltbWVkaWF0ZWx5IHJlc3RhcnQgKi8KIAkJUmVzZXRCYWNrZ3Jv dW5kV29ya2VyQ3Jhc2hUaW1lcygpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9m aWxlL2ZkLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwppbmRleCA2MzNjNmVlZTE4 Li4wODA3ZjljNTkwIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwor KysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwpAQCAtMTAwLDYgKzEwMCw4IEBACiAj aW5jbHVkZSAicG9zdG1hc3Rlci9zdGFydHVwLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9mZC5oIgog I2luY2x1ZGUgInN0b3JhZ2UvaXBjLmgiCisjaW5jbHVkZSAic3RvcmFnZS9sYXRjaC5oIgorI2lu Y2x1ZGUgInN0b3JhZ2UvcHJvYy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgogI2luY2x1ZGUg InV0aWxzL3Jlc293bmVyX3ByaXZhdGUuaCIKIApAQCAtMTY0MCw5ICsxNjQyLDkgQEAgUGF0aE5h bWVPcGVuRmlsZVBlcm0oY29uc3QgY2hhciAqZmlsZU5hbWUsIGludCBmaWxlRmxhZ3MsIG1vZGVf dCBmaWxlTW9kZSkKICAqCiAgKiBEaXJlY3RvcmllcyBjcmVhdGVkIHdpdGhpbiB0aGUgdG9wLWxl dmVsIHRlbXBvcmFyeSBkaXJlY3Rvcnkgc2hvdWxkIGJlZ2luCiAgKiB3aXRoIFBHX1RFTVBfRklM RV9QUkVGSVgsIHNvIHRoYXQgdGhleSBjYW4gYmUgaWRlbnRpZmllZCBhcyB0ZW1wb3JhcnkgYW5k Ci0gKiBkZWxldGVkIGF0IHN0YXJ0dXAgYnkgUmVtb3ZlUGdUZW1wRmlsZXMoKS4gIEZ1cnRoZXIg c3ViZGlyZWN0b3JpZXMgYmVsb3cKLSAqIHRoYXQgZG8gbm90IG5lZWQgYW55IHBhcnRpY3VsYXIg cHJlZml4LgotKi8KKyAqIGRlbGV0ZWQgYnkgUmVtb3ZlUGdUZW1wRmlsZXMoKS4gIEZ1cnRoZXIg c3ViZGlyZWN0b3JpZXMgYmVsb3cgdGhhdCBkbyBub3QKKyAqIG5lZWQgYW55IHBhcnRpY3VsYXIg cHJlZml4LgorICovCiB2b2lkCiBQYXRoTmFtZUNyZWF0ZVRlbXBvcmFyeURpcihjb25zdCBjaGFy ICpiYXNlZGlyLCBjb25zdCBjaGFyICpkaXJlY3RvcnkpCiB7CkBAIC0xODQwLDkgKzE4NDIsOSBA QCBPcGVuVGVtcG9yYXJ5RmlsZUluVGFibGVzcGFjZShPaWQgdGJsc3BjT2lkLCBib29sIHJlamVj dEVycm9yKQogICoKICAqIElmIHRoZSBmaWxlIGlzIGluc2lkZSB0aGUgdG9wLWxldmVsIHRlbXBv cmFyeSBkaXJlY3RvcnksIGl0cyBuYW1lIHNob3VsZAogICogYmVnaW4gd2l0aCBQR19URU1QX0ZJ TEVfUFJFRklYIHNvIHRoYXQgaXQgY2FuIGJlIGlkZW50aWZpZWQgYXMgdGVtcG9yYXJ5Ci0gKiBh bmQgZGVsZXRlZCBhdCBzdGFydHVwIGJ5IFJlbW92ZVBnVGVtcEZpbGVzKCkuICBBbHRlcm5hdGl2 ZWx5LCBpdCBjYW4gYmUKLSAqIGluc2lkZSBhIGRpcmVjdG9yeSBjcmVhdGVkIHdpdGggUGF0aE5h bWVDcmVhdGVUZW1wb3JhcnlEaXIoKSwgaW4gd2hpY2ggY2FzZQotICogdGhlIHByZWZpeCBpc24n dCBuZWVkZWQuCisgKiBhbmQgZGVsZXRlZCBieSBSZW1vdmVQZ1RlbXBGaWxlcygpLiAgQWx0ZXJu YXRpdmVseSwgaXQgY2FuIGJlIGluc2lkZSBhCisgKiBkaXJlY3RvcnkgY3JlYXRlZCB3aXRoIFBh dGhOYW1lQ3JlYXRlVGVtcG9yYXJ5RGlyKCksIGluIHdoaWNoIGNhc2UgdGhlIHByZWZpeAorICog aXNuJ3QgbmVlZGVkLgogICovCiBGaWxlCiBQYXRoTmFtZUNyZWF0ZVRlbXBvcmFyeUZpbGUoY29u c3QgY2hhciAqcGF0aCwgYm9vbCBlcnJvcl9vbl9mYWlsdXJlKQpAQCAtMzIxMSw2ICszMjEzLDE0 IEBAIFJlbW92ZVBnVGVtcEZpbGVzKGJvb2wgc3RhZ2UsIGJvb2wgcmVtb3ZlX3JlbGF0aW9uX2Zp bGVzKQogCSAqIHdvdWxkIGNyZWF0ZSBhIHJhY2UgY29uZGl0aW9uLiAgSXQncyBkb25lIHNlcGFy YXRlbHksIGVhcmxpZXIgaW4KIAkgKiBwb3N0bWFzdGVyIHN0YXJ0dXAuCiAJICovCisKKwkvKgor CSAqIElmIHdlIGp1c3Qgc3RhZ2VkIHNvbWUgcGdzcWxfdG1wIGRpcmVjdG9yaWVzIGZvciByZW1v dmFsLCB3YWtlIHVwIHRoZQorCSAqIGN1c3RvZGlhbiBwcm9jZXNzIHNvIHRoYXQgaXQgZGVsZXRl cyBhbGwgdGhlIGZpbGVzIGluIHRoZSBzdGFnZWQKKwkgKiBkaXJlY3RvcmllcyBhcyB3ZWxsIGFz IHRoZSBkaXJlY3RvcmllcyB0aGVtc2VsdmVzLgorCSAqLworCWlmIChzdGFnZSAmJiBQcm9jR2xv YmFsLT5jdXN0b2RpYW5MYXRjaCkKKwkJU2V0TGF0Y2goUHJvY0dsb2JhbC0+Y3VzdG9kaWFuTGF0 Y2gpOwogfQogCiAvKgotLSAKMi4xNi42Cgo= --_006_6DFA78ECEF4D4CB082C8AD5DA1B8E0ACamazoncom_ Content-Type: application/octet-stream; name="v1-0003-Split-pgsql_tmp-cleanup-into-two-stages.patch" Content-Description: v1-0003-Split-pgsql_tmp-cleanup-into-two-stages.patch Content-Disposition: attachment; filename="v1-0003-Split-pgsql_tmp-cleanup-into-two-stages.patch"; size=10020; creation-date="Fri, 10 Dec 2021 19:03:17 GMT"; modification-date="Fri, 10 Dec 2021 19:03:17 GMT" Content-ID: <34A2A606D6A2924998E9226C8614F01D@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA0MDBkM2VmMTQxNTkzZTAyYzc3MDM1MzRlOGM5MDlmNDJmYWQzYTJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDIxOjE2OjQ0IC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MSAz LzVdIFNwbGl0IHBnc3FsX3RtcCBjbGVhbnVwIGludG8gdHdvIHN0YWdlcy4KCkZpcnN0LCBwZ3Nx bF90bXAgZGlyZWN0b3JpZXMgd2lsbCBiZSByZW5hbWVkIHRvIHN0YWdlIHRoZW0gZm9yCnJlbW92 YWwuICBUaGVuLCBhbGwgZmlsZXMgaW4gcGdzcWxfdG1wIGFyZSByZW1vdmVkIGJlZm9yZSByZW1v dmluZwp0aGUgc3RhZ2VkIGRpcmVjdG9yaWVzIHRoZW1zZWx2ZXMuICBUaGlzIGNoYW5nZSBpcyBi ZWluZyBtYWRlIGluCnByZXBhcmF0aW9uIGZvciBhIGZvbGxvdy11cCBjaGFuZ2UgdG8gb2ZmbG9h ZCBtb3N0IHRlbXBvcmFyeSBmaWxlCmNsZWFudXAgdG8gdGhlIG5ldyBjdXN0b2RpYW4gcHJvY2Vz cy4KCk5vdGUgdGhhdCB0ZW1wb3JhcnkgcmVsYXRpb24gZmlsZXMgY2Fubm90IGJlIGNsZWFuZWQg dXAgdmlhIHRoZQphZm9yZW1lbnRpb25lZCBzdHJhdGVneSBhbmQgd2lsbCBub3QgYmUgb2ZmbG9h ZGVkIHRvIHRoZSBjdXN0b2RpYW4uCi0tLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFz dGVyLmMgfCAgIDggKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jICAgICAgIHwgMTc2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogc3JjL2luY2x1ZGUvc3RvcmFn ZS9mZC5oICAgICAgICAgICAgfCAgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTYyIGluc2VydGlv bnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0 ZXIvcG9zdG1hc3Rlci5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKaW5k ZXggNTE2MTNhYWEyYS4uMWFlMmRjMTc5ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9wb3N0bWFzdGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVy LmMKQEAgLTEzOTIsNyArMTM5Miw4IEBAIFBvc3RtYXN0ZXJNYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pCiAJICogUmVtb3ZlIG9sZCB0ZW1wb3JhcnkgZmlsZXMuICBBdCB0aGlzIHBvaW50IHRo ZXJlIGNhbiBiZSBubyBvdGhlcgogCSAqIFBvc3RncmVzIHByb2Nlc3NlcyBydW5uaW5nIGluIHRo aXMgZGlyZWN0b3J5LCBzbyB0aGlzIHNob3VsZCBiZSBzYWZlLgogCSAqLwotCVJlbW92ZVBnVGVt cEZpbGVzKCk7CisJUmVtb3ZlUGdUZW1wRmlsZXModHJ1ZSwgdHJ1ZSk7CisJUmVtb3ZlUGdUZW1w RmlsZXMoZmFsc2UsIGZhbHNlKTsKIAogCS8qCiAJICogSW5pdGlhbGl6ZSBzdGF0cyBjb2xsZWN0 aW9uIHN1YnN5c3RlbSAodGhpcyBkb2VzIE5PVCBzdGFydCB0aGUKQEAgLTQxNDAsNyArNDE0MSwx MCBAQCBQb3N0bWFzdGVyU3RhdGVNYWNoaW5lKHZvaWQpCiAKIAkJLyogcmVtb3ZlIGxlZnRvdmVy IHRlbXBvcmFyeSBmaWxlcyBhZnRlciBhIGNyYXNoICovCiAJCWlmIChyZW1vdmVfdGVtcF9maWxl c19hZnRlcl9jcmFzaCkKLQkJCVJlbW92ZVBnVGVtcEZpbGVzKCk7CisJCXsKKwkJCVJlbW92ZVBn VGVtcEZpbGVzKHRydWUsIHRydWUpOworCQkJUmVtb3ZlUGdUZW1wRmlsZXMoZmFsc2UsIGZhbHNl KTsKKwkJfQogCiAJCS8qIGFsbG93IGJhY2tncm91bmQgd29ya2VycyB0byBpbW1lZGlhdGVseSBy ZXN0YXJ0ICovCiAJCVJlc2V0QmFja2dyb3VuZFdvcmtlckNyYXNoVGltZXMoKTsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9m aWxlL2ZkLmMKaW5kZXggNTQ1ZTkxOTc4Yy4uNjMzYzZlZWUxOCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2Zk LmMKQEAgLTExMiw2ICsxMTIsOCBAQAogI2RlZmluZSBQR19GTFVTSF9EQVRBX1dPUktTIDEKICNl bmRpZgogCisjZGVmaW5lIFBHX1RFTVBfRElSX1RPX1JFTU9WRV9QUkVGSVggKFBHX1RFTVBfRklM RVNfRElSICJfdG9fcmVtb3ZlXyIpCisKIC8qCiAgKiBXZSBtdXN0IGxlYXZlIHNvbWUgZmlsZSBk ZXNjcmlwdG9ycyBmcmVlIGZvciBzeXN0ZW0oKSwgdGhlIGR5bmFtaWMgbG9hZGVyLAogICogYW5k IG90aGVyIGNvZGUgdGhhdCB0cmllcyB0byBvcGVuIGZpbGVzIHdpdGhvdXQgY29uc3VsdGluZyBm ZC5jLiAgVGhpcwpAQCAtMzM4LDYgKzM0MCw4IEBAIHN0YXRpYyB2b2lkIEJlZm9yZVNobWVtRXhp dF9GaWxlcyhpbnQgY29kZSwgRGF0dW0gYXJnKTsKIHN0YXRpYyB2b2lkIENsZWFudXBUZW1wRmls ZXMoYm9vbCBpc0NvbW1pdCwgYm9vbCBpc1Byb2NFeGl0KTsKIHN0YXRpYyB2b2lkIFJlbW92ZVBn VGVtcFJlbGF0aW9uRmlsZXMoY29uc3QgY2hhciAqdHNkaXJuYW1lKTsKIHN0YXRpYyB2b2lkIFJl bW92ZVBnVGVtcFJlbGF0aW9uRmlsZXNJbkRic3BhY2UoY29uc3QgY2hhciAqZGJzcGFjZWRpcm5h bWUpOworc3RhdGljIHZvaWQgU3RhZ2VQZ1RlbXBEaXJGb3JSZW1vdmFsKGNvbnN0IGNoYXIgKnRt cF9kaXIpOworc3RhdGljIHZvaWQgUmVtb3ZlU3RhZ2VkUGdUZW1wRGlycyhjb25zdCBjaGFyICpz cGNfZGlyKTsKIAogc3RhdGljIHZvaWQgd2Fsa2Rpcihjb25zdCBjaGFyICpwYXRoLAogCQkJCQl2 b2lkICgqYWN0aW9uKSAoY29uc3QgY2hhciAqZm5hbWUsIGJvb2wgaXNkaXIsIGludCBlbGV2ZWwp LApAQCAtMzEzMywyNCArMzEzNywyMCBAQCBDbGVhbnVwVGVtcEZpbGVzKGJvb2wgaXNDb21taXQs IGJvb2wgaXNQcm9jRXhpdCkKICAqIFJlbW92ZSB0ZW1wb3JhcnkgYW5kIHRlbXBvcmFyeSByZWxh dGlvbiBmaWxlcyBsZWZ0IG92ZXIgZnJvbSBhIHByaW9yCiAgKiBwb3N0bWFzdGVyIHNlc3Npb24K ICAqCi0gKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgZHVyaW5nIHBvc3RtYXN0ZXIgc3RhcnR1cC4g IEl0IHdpbGwgZm9yY2libHkKLSAqIHJlbW92ZSBhbnkgbGVmdG92ZXIgZmlsZXMgY3JlYXRlZCBi eSBPcGVuVGVtcG9yYXJ5RmlsZSBhbmQgYW55IGxlZnRvdmVyCi0gKiB0ZW1wb3JhcnkgcmVsYXRp b24gZmlsZXMgY3JlYXRlZCBieSBtZGNyZWF0ZS4KKyAqIElmIHN0YWdlIGlzIHRydWUsIHRoaXMg ZnVuY3Rpb24gd2lsbCBzaW1wbHkgcmVuYW1lIGFsbCBwZ3NxbF90bXAgZGlyZWN0b3JpZXMKKyAq IHRvIHN0YWdlIHRoZW0gZm9yIHJlbW92YWwgYXQgYSBsYXRlciB0aW1lLiAgSWYgc3RhZ2UgaXMg ZmFsc2UsIHRoaXMgZnVuY3Rpb24KKyAqIHdpbGwgZGVsZXRlIGFsbCBmaWxlcyBpbiB0aGUgc3Rh Z2VkIGRpcmVjdG9yaWVzIGFzIHdlbGwgYXMgdGhlIGRpcmVjdG9yaWVzCisgKiB0aGVtc2VsdmVz LgogICoKLSAqIER1cmluZyBwb3N0LWJhY2tlbmQtY3Jhc2ggcmVzdGFydCBjeWNsZSwgdGhpcyBy b3V0aW5lIGlzIGNhbGxlZCB3aGVuCi0gKiByZW1vdmVfdGVtcF9maWxlc19hZnRlcl9jcmFzaCBH VUMgaXMgZW5hYmxlZC4gTXVsdGlwbGUgY3Jhc2hlcyB3aGlsZQotICogcXVlcmllcyBhcmUgdXNp bmcgdGVtcCBmaWxlcyBjb3VsZCByZXN1bHQgaW4gdXNlbGVzcyBzdG9yYWdlIHVzYWdlIHRoYXQg Y2FuCi0gKiBvbmx5IGJlIHJlY2xhaW1lZCBieSBhIHNlcnZpY2UgcmVzdGFydC4gVGhlIGFyZ3Vt ZW50IGFnYWluc3QgZW5hYmxpbmcgaXQgaXMKLSAqIHRoYXQgc29tZW9uZSBtaWdodCB3YW50IHRv IGV4YW1pbmUgdGhlIHRlbXBvcmFyeSBmaWxlcyBmb3IgZGVidWdnaW5nCi0gKiBwdXJwb3Nlcy4g VGhpcyBkb2VzIGhvd2V2ZXIgbWVhbiB0aGF0IE9wZW5UZW1wb3JhcnlGaWxlIGhhZCBiZXR0ZXIg YWxsb3cgZm9yCi0gKiBjb2xsaXNpb24gd2l0aCBhbiBleGlzdGluZyB0ZW1wIGZpbGUgbmFtZS4K KyAqIElmIHJlbW92ZV9yZWxhdGlvbl9maWxlcyBpcyB0cnVlLCB0aGlzIGZ1bmN0aW9uIHdpbGwg cmVtb3ZlIHRoZSB0ZW1wb3JhcnkKKyAqIHJlbGF0aW9uIGZpbGVzLiAgT3RoZXJ3aXNlLCB0aGlz IHN0ZXAgaXMgc2tpcHBlZC4KICAqCiAgKiBOT1RFOiB0aGlzIGZ1bmN0aW9uIGFuZCBpdHMgc3Vi cm91dGluZXMgZ2VuZXJhbGx5IHJlcG9ydCBzeXNjYWxsIGZhaWx1cmVzCiAgKiB3aXRoIGVyZXBv cnQoTE9HKSBhbmQga2VlcCBnb2luZy4gIFJlbW92aW5nIHRlbXAgZmlsZXMgaXMgbm90IHNvIGNy aXRpY2FsCiAgKiB0aGF0IHdlIHNob3VsZCBmYWlsIHRvIHN0YXJ0IHRoZSBkYXRhYmFzZSB3aGVu IHdlIGNhbid0IGRvIGl0LgogICovCiB2b2lkCi1SZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKQorUmVt b3ZlUGdUZW1wRmlsZXMoYm9vbCBzdGFnZSwgYm9vbCByZW1vdmVfcmVsYXRpb25fZmlsZXMpCiB7 CiAJY2hhcgkJdGVtcF9wYXRoW01BWFBHUEFUSCArIDEwICsgc2l6ZW9mKFRBQkxFU1BBQ0VfVkVS U0lPTl9ESVJFQ1RPUlkpICsgc2l6ZW9mKFBHX1RFTVBfRklMRVNfRElSKV07CiAJRElSCQkgICAq c3BjX2RpcjsKQEAgLTMxNTksOSArMzE1OSwxNiBAQCBSZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKQog CS8qCiAJICogRmlyc3QgcHJvY2VzcyB0ZW1wIGZpbGVzIGluIHBnX2RlZmF1bHQgKCRQR0RBVEEv YmFzZSkKIAkgKi8KLQlzbnByaW50Zih0ZW1wX3BhdGgsIHNpemVvZih0ZW1wX3BhdGgpLCAiYmFz ZS8lcyIsIFBHX1RFTVBfRklMRVNfRElSKTsKLQlSZW1vdmVQZ1RlbXBEaXIodGVtcF9wYXRoLCB0 cnVlLCBmYWxzZSk7Ci0JUmVtb3ZlUGdUZW1wUmVsYXRpb25GaWxlcygiYmFzZSIpOworCWlmIChz dGFnZSkKKwl7CisJCXNucHJpbnRmKHRlbXBfcGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICJiYXNl LyVzIiwgUEdfVEVNUF9GSUxFU19ESVIpOworCQlTdGFnZVBnVGVtcERpckZvclJlbW92YWwodGVt cF9wYXRoKTsKKwl9CisJZWxzZQorCQlSZW1vdmVTdGFnZWRQZ1RlbXBEaXJzKCJiYXNlIik7CisK KwlpZiAocmVtb3ZlX3JlbGF0aW9uX2ZpbGVzKQorCQlSZW1vdmVQZ1RlbXBSZWxhdGlvbkZpbGVz KCJiYXNlIik7CiAKIAkvKgogCSAqIEN5Y2xlIHRocm91Z2ggdGVtcCBkaXJlY3RvcmllcyBmb3Ig YWxsIG5vbi1kZWZhdWx0IHRhYmxlc3BhY2VzLgpAQCAtMzE3NCwxMyArMzE4MSwyNiBAQCBSZW1v dmVQZ1RlbXBGaWxlcyh2b2lkKQogCQkJc3RyY21wKHNwY19kZS0+ZF9uYW1lLCAiLi4iKSA9PSAw KQogCQkJY29udGludWU7CiAKLQkJc25wcmludGYodGVtcF9wYXRoLCBzaXplb2YodGVtcF9wYXRo KSwgInBnX3RibHNwYy8lcy8lcy8lcyIsCi0JCQkJIHNwY19kZS0+ZF9uYW1lLCBUQUJMRVNQQUNF X1ZFUlNJT05fRElSRUNUT1JZLCBQR19URU1QX0ZJTEVTX0RJUik7Ci0JCVJlbW92ZVBnVGVtcERp cih0ZW1wX3BhdGgsIHRydWUsIGZhbHNlKTsKKwkJaWYgKHN0YWdlKQorCQl7CisJCQlzbnByaW50 Zih0ZW1wX3BhdGgsIHNpemVvZih0ZW1wX3BhdGgpLCAicGdfdGJsc3BjLyVzLyVzLyVzIiwKKwkJ CQkJIHNwY19kZS0+ZF9uYW1lLCBUQUJMRVNQQUNFX1ZFUlNJT05fRElSRUNUT1JZLAorCQkJCQkg UEdfVEVNUF9GSUxFU19ESVIpOworCQkJU3RhZ2VQZ1RlbXBEaXJGb3JSZW1vdmFsKHRlbXBfcGF0 aCk7CisJCX0KKwkJZWxzZQorCQl7CisJCQlzbnByaW50Zih0ZW1wX3BhdGgsIHNpemVvZih0ZW1w X3BhdGgpLCAicGdfdGJsc3BjLyVzLyVzIiwKKwkJCQkJIHNwY19kZS0+ZF9uYW1lLCBUQUJMRVNQ QUNFX1ZFUlNJT05fRElSRUNUT1JZKTsKKwkJCVJlbW92ZVN0YWdlZFBnVGVtcERpcnModGVtcF9w YXRoKTsKKwkJfQogCi0JCXNucHJpbnRmKHRlbXBfcGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICJw Z190YmxzcGMvJXMvJXMiLAotCQkJCSBzcGNfZGUtPmRfbmFtZSwgVEFCTEVTUEFDRV9WRVJTSU9O X0RJUkVDVE9SWSk7Ci0JCVJlbW92ZVBnVGVtcFJlbGF0aW9uRmlsZXModGVtcF9wYXRoKTsKKwkJ aWYgKHJlbW92ZV9yZWxhdGlvbl9maWxlcykKKwkJeworCQkJc25wcmludGYodGVtcF9wYXRoLCBz aXplb2YodGVtcF9wYXRoKSwgInBnX3RibHNwYy8lcy8lcyIsCisJCQkJCSBzcGNfZGUtPmRfbmFt ZSwgVEFCTEVTUEFDRV9WRVJTSU9OX0RJUkVDVE9SWSk7CisJCQlSZW1vdmVQZ1RlbXBSZWxhdGlv bkZpbGVzKHRlbXBfcGF0aCk7CisJCX0KIAl9CiAKIAlGcmVlRGlyKHNwY19kaXIpOwpAQCAtMzE5 NCw3ICszMjE0LDEyMSBAQCBSZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKQogfQogCiAvKgotICogUHJv Y2VzcyBvbmUgcGdzcWxfdG1wIGRpcmVjdG9yeSBmb3IgUmVtb3ZlUGdUZW1wRmlsZXMuCisgKiBT dGFnZVBnVGVtcERpckZvclJlbW92YWwKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlbmFtZXMgdGhl IGdpdmVuIGRpcmVjdG9yeSB3aXRoIGEgc3BlY2lhbCBwcmVmaXggdGhhdAorICogUmVtb3ZlU3Rh Z2VkUGdUZW1wRGlycygpIHdpbGwga25vdyB0byBsb29rIGZvci4gIEFuIGludGVnZXIgaXMgYXBw ZW5kZWQgdG8KKyAqIHRoZSBlbmQgb2YgdGhlIG5ldyBkaXJlY3RvcnkgbmFtZSBpbiBjYXNlIHBy ZXZpb3VzbHkgc3RhZ2VkIHBnc3FsX3RtcAorICogZGlyZWN0b3JpZXMgaGF2ZSBub3QgeWV0IGJl ZW4gcmVtb3ZlZC4KKyAqLworc3RhdGljIHZvaWQKK1N0YWdlUGdUZW1wRGlyRm9yUmVtb3ZhbChj b25zdCBjaGFyICp0bXBfZGlyKQoreworCURJUgkJICAgKmRpcjsKKwljaGFyCQlzdGFnZV9wYXRo W01BWFBHUEFUSCAqIDJdOworCWNoYXIJCXBhcmVudF9wYXRoW01BWFBHUEFUSCAqIDJdOworCisJ LyoKKwkgKiBJZiB0bXBfZGlyIGRvZXNuJ3QgZXhpc3QsIHRoZXJlIGlzIG5vdGhpbmcgdG8gc3Rh Z2UuCisJICovCisJZGlyID0gQWxsb2NhdGVEaXIodG1wX2Rpcik7CisJaWYgKGRpciA9PSBOVUxM KQorCXsKKwkJaWYgKGVycm5vICE9IEVOT0VOVCkKKwkJCWVyZXBvcnQoTE9HLAorCQkJCQkoZXJy Y29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkJIGVycm1zZygiY291bGQgbm90IG9wZW4gZGly ZWN0b3J5IFwiJXNcIjogJW0iLCB0bXBfZGlyKSkpOworCQlyZXR1cm47CisJfQorCUZyZWVEaXIo ZGlyKTsKKworCXN0cmxjcHkocGFyZW50X3BhdGgsIHRtcF9kaXIsIE1BWFBHUEFUSCAqIDIpOwor CWdldF9wYXJlbnRfZGlyZWN0b3J5KHBhcmVudF9wYXRoKTsKKworCS8qCisJICogZ2V0X3BhcmVu dF9kaXJlY3RvcnkoKSByZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgaW5wdXQgYXJndW1l bnQgaXMKKwkgKiBqdXN0IGEgZmlsZSBuYW1lIChzZWUgY29tbWVudHMgaW4gcGF0aC5jKSwgc28g aGFuZGxlIHRoYXQgYXMgYmVpbmcgdGhlCisJICogY3VycmVudCBkaXJlY3RvcnkuCisJICovCisJ aWYgKHN0cmxlbihwYXJlbnRfcGF0aCkgPT0gMCkKKwkJc3RybGNweShwYXJlbnRfcGF0aCwgIi4i LCBNQVhQR1BBVEggKiAyKTsKKworCS8qCisJICogRmluZCBhIG5hbWUgZm9yIHRoZSBzdGFnZSBk aXJlY3RvcnkuICBXZSBqdXN0IGluY3JlbWVudCBhbiBpbnRlZ2VyIGF0IHRoZQorCSAqIGVuZCBv ZiB0aGUgbmFtZSB1bnRpbCB3ZSBmaW5kIG9uZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCisJICovCisJ Zm9yIChpbnQgbiA9IDA7IG4gPD0gSU5UX01BWDsgbisrKQorCXsKKwkJc25wcmludGYoc3RhZ2Vf cGF0aCwgc2l6ZW9mKHN0YWdlX3BhdGgpLCAiJXMvJXMlZCIsIHBhcmVudF9wYXRoLAorCQkJCSBQ R19URU1QX0RJUl9UT19SRU1PVkVfUFJFRklYLCBuKTsKKworCQlkaXIgPSBBbGxvY2F0ZURpcihz dGFnZV9wYXRoKTsKKwkJaWYgKGRpciA9PSBOVUxMKQorCQl7CisJCQlpZiAoZXJybm8gPT0gRU5P RU5UKQorCQkJCWJyZWFrOworCisJCQllcmVwb3J0KExPRywKKwkJCQkJKGVycmNvZGVfZm9yX2Zp bGVfYWNjZXNzKCksCisJCQkJCSBlcnJtc2coImNvdWxkIG5vdCBvcGVuIGRpcmVjdG9yeSBcIiVz XCI6ICVtIiwKKwkJCQkJCQlzdGFnZV9wYXRoKSkpOworCQkJcmV0dXJuOworCQl9CisJCUZyZWVE aXIoZGlyKTsKKworCQlzdGFnZV9wYXRoWzBdID0gJ1wwJzsKKwl9CisKKwkvKgorCSAqIEluIHRo ZSB1bmxpa2VseSBldmVudCB0aGF0IHdlIGNvdWxkbid0IGZpbmQgYSBuYW1lIGZvciB0aGUgc3Rh Z2UKKwkgKiBkaXJlY3RvcnksIGJhaWwgb3V0LgorCSAqLworCWlmIChzdGFnZV9wYXRoWzBdID09 ICdcMCcpCisJeworCQllcmVwb3J0KExPRywKKwkJCQkoZXJybXNnKCJjb3VsZCBub3Qgc3RhZ2Ug XCIlc1wiIGZvciBkZWxldGlvbiIsCisJCQkJCQl0bXBfZGlyKSkpOworCQlyZXR1cm47CisJfQor CisJLyoKKwkgKiBSZW5hbWUgdGhlIHRlbXBvcmFyeSBkaXJlY3RvcnkuCisJICovCisJaWYgKHJl bmFtZSh0bXBfZGlyLCBzdGFnZV9wYXRoKSAhPSAwKQorCQllcmVwb3J0KExPRywKKwkJCQkoZXJy Y29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkgZXJybXNnKCJjb3VsZCBub3QgcmVuYW1lIGRp cmVjdG9yeSBcIiVzXCIgdG8gXCIlc1wiOiAlbSIsCisJCQkJCQl0bXBfZGlyLCBzdGFnZV9wYXRo KSkpOworfQorCisvKgorICogUmVtb3ZlU3RhZ2VkUGdUZW1wRGlycworICoKKyAqIFRoaXMgZnVu Y3Rpb24gcmVtb3ZlcyBhbGwgcGdzcWxfdG1wIGRpcmVjdG9yaWVzIHRoYXQgaGF2ZSBiZWVuIHN0 YWdlZCBmb3IKKyAqIHJlbW92YWwgYnkgU3RhZ2VQZ1RlbXBEaXJGb3JSZW1vdmFsKCkgaW4gdGhl IGdpdmVuIHRhYmxlc3BhY2UgZGlyZWN0b3J5LgorICovCitzdGF0aWMgdm9pZAorUmVtb3ZlU3Rh Z2VkUGdUZW1wRGlycyhjb25zdCBjaGFyICpzcGNfZGlyKQoreworCWNoYXIJCXRlbXBfcGF0aFtN QVhQR1BBVEggKiAyXTsKKwlESVIJCSAgICpkaXI7CisJc3RydWN0IGRpcmVudCAqZGU7CisKKwlk aXIgPSBBbGxvY2F0ZURpcihzcGNfZGlyKTsKKwl3aGlsZSAoKGRlID0gUmVhZERpckV4dGVuZGVk KGRpciwgc3BjX2RpciwgTE9HKSkgIT0gTlVMTCkKKwl7CisJCWlmIChzdHJuY21wKGRlLT5kX25h bWUsIFBHX1RFTVBfRElSX1RPX1JFTU9WRV9QUkVGSVgsCisJCQkJCXN0cmxlbihQR19URU1QX0RJ Ul9UT19SRU1PVkVfUFJFRklYKSkgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCXNucHJpbnRmKHRl bXBfcGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICIlcy8lcyIsIHNwY19kaXIsIGRlLT5kX25hbWUp OworCQlSZW1vdmVQZ1RlbXBEaXIodGVtcF9wYXRoLCB0cnVlLCBmYWxzZSk7CisJfQorCUZyZWVE aXIoZGlyKTsKK30KKworLyoKKyAqIFByb2Nlc3Mgb25lIHBnc3FsX3RtcCBkaXJlY3RvcnkgZm9y IFJlbW92ZVN0YWdlZFBnVGVtcERpcnMuCiAgKgogICogSWYgbWlzc2luZ19vayBpcyB0cnVlLCBp dCdzIGFsbCByaWdodCBmb3IgdGhlIG5hbWVkIGRpcmVjdG9yeSB0byBub3QgZXhpc3QuCiAgKiBB bnkgb3RoZXIgcHJvYmxlbSByZXN1bHRzIGluIGEgTE9HIG1lc3NhZ2UuICAobWlzc2luZ19vayBz aG91bGQgYmUgdHJ1ZSBhdApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9mZC5oIGIv c3JjL2luY2x1ZGUvc3RvcmFnZS9mZC5oCmluZGV4IDc2MmY2YjQ2YzEuLjg1ZmE5ODdhY2EgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvZmQuaAorKysgYi9zcmMvaW5jbHVkZS9zdG9y YWdlL2ZkLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBleHRlcm4gT2lkCUdldE5leHRUZW1wVGFibGVT cGFjZSh2b2lkKTsKIGV4dGVybiB2b2lkIEF0RU9YYWN0X0ZpbGVzKGJvb2wgaXNDb21taXQpOwog ZXh0ZXJuIHZvaWQgQXRFT1N1YlhhY3RfRmlsZXMoYm9vbCBpc0NvbW1pdCwgU3ViVHJhbnNhY3Rp b25JZCBteVN1YmlkLAogCQkJCQkJCSAgU3ViVHJhbnNhY3Rpb25JZCBwYXJlbnRTdWJpZCk7Ci1l eHRlcm4gdm9pZCBSZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKTsKK2V4dGVybiB2b2lkIFJlbW92ZVBn VGVtcEZpbGVzKGJvb2wgc3RhZ2UsIGJvb2wgcmVtb3ZlX3JlbGF0aW9uX2ZpbGVzKTsKIGV4dGVy biB2b2lkIFJlbW92ZVBnVGVtcERpcihjb25zdCBjaGFyICp0bXBkaXJuYW1lLCBib29sIG1pc3Np bmdfb2ssCiAJCQkJCQkJYm9vbCB1bmxpbmtfYWxsKTsKIGV4dGVybiBib29sIGxvb2tzX2xpa2Vf dGVtcF9yZWxfbmFtZShjb25zdCBjaGFyICpuYW1lKTsKLS0gCjIuMTYuNgoK --_006_6DFA78ECEF4D4CB082C8AD5DA1B8E0ACamazoncom_ Content-Type: application/octet-stream; name="v1-0002-Also-remove-pgsql_tmp-directories-during-startup.patch" Content-Description: v1-0002-Also-remove-pgsql_tmp-directories-during-startup.patch Content-Disposition: attachment; filename="v1-0002-Also-remove-pgsql_tmp-directories-during-startup.patch"; size=4881; creation-date="Fri, 10 Dec 2021 19:03:17 GMT"; modification-date="Fri, 10 Dec 2021 19:03:17 GMT" Content-ID: <09D26E680D618446A201AABE755C26C0@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA5YjQ2ODNjNmQzYWQ3OThmMDJiYTBkMDg0ZDI2ZGRjMDI4M2QxZWYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDE5OjM4OjIwIC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MSAy LzVdIEFsc28gcmVtb3ZlIHBnc3FsX3RtcCBkaXJlY3RvcmllcyBkdXJpbmcgc3RhcnR1cC4KClBy ZXNlbnRseSwgdGhlIHNlcnZlciBvbmx5IHJlbW92ZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSB0ZW1w b3JhcnkKZGlyZWN0b3JpZXMgZHVyaW5nIHN0YXJ0dXAsIG5vdCB0aGUgZGlyZWN0b3J5IGl0c2Vs Zi4gIFRoaXMgY2hhbmdlcwp0aGF0IHRvIHByZXBhcmUgZm9yIGZ1dHVyZSBjb21taXRzIHRoYXQg d2lsbCBtb3ZlIHRlbXBvcmFyeSBmaWxlCmNsZWFudXAgdG8gYSBzZXBhcmF0ZSBhdXhpbGlhcnkg cHJvY2Vzcy4KLS0tCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYyAgICAgICAg IHwgIDIgKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jICAgICAgICAgICAgICAgfCAy MCArKysrKysrKysrLS0tLS0tLS0tLQogc3JjL2luY2x1ZGUvc3RvcmFnZS9mZC5oICAgICAgICAg ICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDIyX2NyYXNoX3RlbXBf ZmlsZXMucGwgfCAgNiArKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwg MTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0 bWFzdGVyLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYwppbmRleCA2MzUz MTNjZGI3Li41MTYxM2FhYTJhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bv c3RtYXN0ZXIuYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYwpAQCAt MTExNyw3ICsxMTE3LDcgQEAgUG9zdG1hc3Rlck1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK IAkgKiBzYWZlIHRvIGRvIHNvIG5vdywgYmVjYXVzZSB3ZSB2ZXJpZmllZCBlYXJsaWVyIHRoYXQg dGhlcmUgYXJlIG5vCiAJICogY29uZmxpY3RpbmcgUG9zdGdyZXMgcHJvY2Vzc2VzIGluIHRoaXMg ZGF0YSBkaXJlY3RvcnkuCiAJICovCi0JUmVtb3ZlUGdUZW1wRmlsZXNJbkRpcihQR19URU1QX0ZJ TEVTX0RJUiwgdHJ1ZSwgZmFsc2UpOworCVJlbW92ZVBnVGVtcERpcihQR19URU1QX0ZJTEVTX0RJ UiwgdHJ1ZSwgZmFsc2UpOwogI2VuZGlmCiAKIAkvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv c3RvcmFnZS9maWxlL2ZkLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwppbmRleCAy NjMwNTc4NDFkLi41NDVlOTE5NzhjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2Zp bGUvZmQuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwpAQCAtMzE2MCw3ICsz MTYwLDcgQEAgUmVtb3ZlUGdUZW1wRmlsZXModm9pZCkKIAkgKiBGaXJzdCBwcm9jZXNzIHRlbXAg ZmlsZXMgaW4gcGdfZGVmYXVsdCAoJFBHREFUQS9iYXNlKQogCSAqLwogCXNucHJpbnRmKHRlbXBf cGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICJiYXNlLyVzIiwgUEdfVEVNUF9GSUxFU19ESVIpOwot CVJlbW92ZVBnVGVtcEZpbGVzSW5EaXIodGVtcF9wYXRoLCB0cnVlLCBmYWxzZSk7CisJUmVtb3Zl UGdUZW1wRGlyKHRlbXBfcGF0aCwgdHJ1ZSwgZmFsc2UpOwogCVJlbW92ZVBnVGVtcFJlbGF0aW9u RmlsZXMoImJhc2UiKTsKIAogCS8qCkBAIC0zMTc2LDcgKzMxNzYsNyBAQCBSZW1vdmVQZ1RlbXBG aWxlcyh2b2lkKQogCiAJCXNucHJpbnRmKHRlbXBfcGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICJw Z190YmxzcGMvJXMvJXMvJXMiLAogCQkJCSBzcGNfZGUtPmRfbmFtZSwgVEFCTEVTUEFDRV9WRVJT SU9OX0RJUkVDVE9SWSwgUEdfVEVNUF9GSUxFU19ESVIpOwotCQlSZW1vdmVQZ1RlbXBGaWxlc0lu RGlyKHRlbXBfcGF0aCwgdHJ1ZSwgZmFsc2UpOworCQlSZW1vdmVQZ1RlbXBEaXIodGVtcF9wYXRo LCB0cnVlLCBmYWxzZSk7CiAKIAkJc25wcmludGYodGVtcF9wYXRoLCBzaXplb2YodGVtcF9wYXRo KSwgInBnX3RibHNwYy8lcy8lcyIsCiAJCQkJIHNwY19kZS0+ZF9uYW1lLCBUQUJMRVNQQUNFX1ZF UlNJT05fRElSRUNUT1JZKTsKQEAgLTMyMDksNyArMzIwOSw3IEBAIFJlbW92ZVBnVGVtcEZpbGVz KHZvaWQpCiAgKiB0aGVtIHNlcGFyYXRlLikKICAqLwogdm9pZAotUmVtb3ZlUGdUZW1wRmlsZXNJ bkRpcihjb25zdCBjaGFyICp0bXBkaXJuYW1lLCBib29sIG1pc3Npbmdfb2ssIGJvb2wgdW5saW5r X2FsbCkKK1JlbW92ZVBnVGVtcERpcihjb25zdCBjaGFyICp0bXBkaXJuYW1lLCBib29sIG1pc3Np bmdfb2ssIGJvb2wgdW5saW5rX2FsbCkKIHsKIAlESVIJCSAgICp0ZW1wX2RpcjsKIAlzdHJ1Y3Qg ZGlyZW50ICp0ZW1wX2RlOwpAQCAtMzI0NywxMyArMzI0Nyw3IEBAIFJlbW92ZVBnVGVtcEZpbGVz SW5EaXIoY29uc3QgY2hhciAqdG1wZGlybmFtZSwgYm9vbCBtaXNzaW5nX29rLCBib29sIHVubGlu a19hbGwpCiAJCQlpZiAoU19JU0RJUihzdGF0YnVmLnN0X21vZGUpKQogCQkJewogCQkJCS8qIHJl Y3Vyc2l2ZWx5IHJlbW92ZSBjb250ZW50cywgdGhlbiBkaXJlY3RvcnkgaXRzZWxmICovCi0JCQkJ UmVtb3ZlUGdUZW1wRmlsZXNJbkRpcihybV9wYXRoLCBmYWxzZSwgdHJ1ZSk7Ci0KLQkJCQlpZiAo cm1kaXIocm1fcGF0aCkgPCAwKQotCQkJCQllcmVwb3J0KExPRywKLQkJCQkJCQkoZXJyY29kZV9m b3JfZmlsZV9hY2Nlc3MoKSwKLQkJCQkJCQkgZXJybXNnKCJjb3VsZCBub3QgcmVtb3ZlIGRpcmVj dG9yeSBcIiVzXCI6ICVtIiwKLQkJCQkJCQkJCXJtX3BhdGgpKSk7CisJCQkJUmVtb3ZlUGdUZW1w RGlyKHJtX3BhdGgsIGZhbHNlLCB0cnVlKTsKIAkJCX0KIAkJCWVsc2UKIAkJCXsKQEAgLTMyNzEs NiArMzI2NSwxMiBAQCBSZW1vdmVQZ1RlbXBGaWxlc0luRGlyKGNvbnN0IGNoYXIgKnRtcGRpcm5h bWUsIGJvb2wgbWlzc2luZ19vaywgYm9vbCB1bmxpbmtfYWxsKQogCX0KIAogCUZyZWVEaXIodGVt cF9kaXIpOworCisJaWYgKHJtZGlyKHRtcGRpcm5hbWUpIDwgMCkKKwkJZXJlcG9ydChMT0csCisJ CQkJKGVycmNvZGVfZm9yX2ZpbGVfYWNjZXNzKCksCisJCQkJIGVycm1zZygiY291bGQgbm90IHJl bW92ZSBkaXJlY3RvcnkgXCIlc1wiOiAlbSIsCisJCQkJCQl0bXBkaXJuYW1lKSkpOwogfQogCiAv KiBQcm9jZXNzIG9uZSB0YWJsZXNwYWNlIGRpcmVjdG9yeSwgbG9vayBmb3IgcGVyLURCIHN1YmRp cmVjdG9yaWVzICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9zdG9yYWdlL2ZkLmggYi9zcmMv aW5jbHVkZS9zdG9yYWdlL2ZkLmgKaW5kZXggMzQ2MDJhZTAwNi4uNzYyZjZiNDZjMSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9mZC5oCisrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uv ZmQuaApAQCAtMTY5LDggKzE2OSw4IEBAIGV4dGVybiB2b2lkIEF0RU9YYWN0X0ZpbGVzKGJvb2wg aXNDb21taXQpOwogZXh0ZXJuIHZvaWQgQXRFT1N1YlhhY3RfRmlsZXMoYm9vbCBpc0NvbW1pdCwg U3ViVHJhbnNhY3Rpb25JZCBteVN1YmlkLAogCQkJCQkJCSAgU3ViVHJhbnNhY3Rpb25JZCBwYXJl bnRTdWJpZCk7CiBleHRlcm4gdm9pZCBSZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKTsKLWV4dGVybiB2 b2lkIFJlbW92ZVBnVGVtcEZpbGVzSW5EaXIoY29uc3QgY2hhciAqdG1wZGlybmFtZSwgYm9vbCBt aXNzaW5nX29rLAotCQkJCQkJCQkgICBib29sIHVubGlua19hbGwpOworZXh0ZXJuIHZvaWQgUmVt b3ZlUGdUZW1wRGlyKGNvbnN0IGNoYXIgKnRtcGRpcm5hbWUsIGJvb2wgbWlzc2luZ19vaywKKwkJ CQkJCQlib29sIHVubGlua19hbGwpOwogZXh0ZXJuIGJvb2wgbG9va3NfbGlrZV90ZW1wX3JlbF9u YW1lKGNvbnN0IGNoYXIgKm5hbWUpOwogCiBleHRlcm4gaW50CXBnX2ZzeW5jKGludCBmZCk7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAyMl9jcmFzaF90ZW1wX2ZpbGVzLnBsIGIv c3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMjJfY3Jhc2hfdGVtcF9maWxlcy5wbAppbmRleCBiZjk1YTMw NzYxLi40ODFmMWYyM2EyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAyMl9jcmFz aF90ZW1wX2ZpbGVzLnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDIyX2NyYXNoX3RlbXBf ZmlsZXMucGwKQEAgLTE0Myw3ICsxNDMsOCBAQCAkbm9kZS0+cG9sbF9xdWVyeV91bnRpbCgncG9z dGdyZXMnLCB1bmRlZiwgJycpOwogCiAjIENoZWNrIGZvciB0ZW1wb3JhcnkgZmlsZXMKIGlzKCAk bm9kZS0+c2FmZV9wc3FsKAotCQkncG9zdGdyZXMnLCAnU0VMRUNUIENPVU5UKDEpIEZST00gcGdf bHNfZGlyKCQkYmFzZS9wZ3NxbF90bXAkJCknKSwKKwkJJ3Bvc3RncmVzJywKKwkJJ1NFTEVDVCBD T1VOVCgxKSBGUk9NIHBnX2xzX2RpcigkJGJhc2UkJCkgV0hFUkUgcGdfbHNfZGlyID0gXCdwZ3Nx bF90bXBcJycpLAogCXFxKDApLAogCSdubyB0ZW1wb3JhcnkgZmlsZXMnKTsKIApAQCAtMjQxLDcg KzI0Miw4IEBAICRub2RlLT5yZXN0YXJ0KCk7CiAKICMgQ2hlY2sgdGhlIHRlbXBvcmFyeSBmaWxl cyAtLSBzaG91bGQgYmUgZ29uZQogaXMoICRub2RlLT5zYWZlX3BzcWwoCi0JCSdwb3N0Z3Jlcycs ICdTRUxFQ1QgQ09VTlQoMSkgRlJPTSBwZ19sc19kaXIoJCRiYXNlL3Bnc3FsX3RtcCQkKScpLAor CQkncG9zdGdyZXMnLAorCQknU0VMRUNUIENPVU5UKDEpIEZST00gcGdfbHNfZGlyKCQkYmFzZSQk KSBXSEVSRSBwZ19sc19kaXIgPSBcJ3Bnc3FsX3RtcFwnJyksCiAJcXEoMCksCiAJJ3RlbXBvcmFy eSBmaWxlIHdhcyByZW1vdmVkJyk7CiAKLS0gCjIuMTYuNgoK --_006_6DFA78ECEF4D4CB082C8AD5DA1B8E0ACamazoncom_ Content-Type: application/octet-stream; name="v1-0001-Introduce-custodian.patch" Content-Description: v1-0001-Introduce-custodian.patch Content-Disposition: attachment; filename="v1-0001-Introduce-custodian.patch"; size=19026; creation-date="Fri, 10 Dec 2021 19:03:17 GMT"; modification-date="Fri, 10 Dec 2021 19:03:17 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSBlMTdlNzliZmUxNTBmYTEzN2QzNDVkYzdjNjg0OGM0ZTU5NmMyZmE0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDE1OjA3OjI4IC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MSAx LzVdIEludHJvZHVjZSBjdXN0b2RpYW4uCgpUaGUgY3VzdG9kaWFuIHByb2Nlc3MgaXMgYSBuZXcg YXV4aWxpYXJ5IHByb2Nlc3MgdGhhdCBpcyBpbnRlbmRlZAp0byBoZWxwIG9mZmxvYWQgdGFza3Mg Y291bGQgb3RoZXJ3aXNlIGRlbGF5IHN0YXJ0dXAgYW5kCmNoZWNrcG9pbnRpbmcuICBUaGlzIGNv bW1pdCBzaW1wbHkgYWRkcyB0aGUgbmV3IHByb2Nlc3M7IGl0IGRvZXMKbm90IHlldCBkbyBhbnl0 aGluZyB1c2VmdWwuCi0tLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9NYWtlZmlsZSAgICAgICAg IHwgICAxICsKIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV4cHJvY2Vzcy5jICAgICB8ICAgOCAr Kwogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4uYyAgICAgIHwgMjEwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0 ZXIuYyAgICAgfCAgNDQgKysrKysrLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3Byb2MuYyAg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyB8 ICAgMyArCiBzcmMvYmFja2VuZC91dGlscy9pbml0L21pc2Npbml0LmMgICAgICAgfCAgIDMgKwog c3JjL2luY2x1ZGUvbWlzY2FkbWluLmggICAgICAgICAgICAgICAgIHwgICAzICsKIHNyYy9pbmNs dWRlL3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmggICAgICB8ICAxNyArKysKIHNyYy9pbmNsdWRlL3N0 b3JhZ2UvcHJvYy5oICAgICAgICAgICAgICB8ICAxMSArLQogc3JjL2luY2x1ZGUvdXRpbHMvd2Fp dF9ldmVudC5oICAgICAgICAgIHwgICAxICsKIDExIGZpbGVzIGNoYW5nZWQsIDI5NyBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvY3VzdG9kaWFuLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9wb3N0 bWFzdGVyL2N1c3RvZGlhbi5oCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9N YWtlZmlsZSBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvTWFrZWZpbGUKaW5kZXggNzg3YzZhMmMz Yi4uN2VjN2IyMzQ2NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9NYWtlZmls ZQorKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL01ha2VmaWxlCkBAIC0xOCw2ICsxOCw3IEBA IE9CSlMgPSBcCiAJYmd3b3JrZXIubyBcCiAJYmd3cml0ZXIubyBcCiAJY2hlY2twb2ludGVyLm8g XAorCWN1c3RvZGlhbi5vIFwKIAlmb3JrX3Byb2Nlc3MubyBcCiAJaW50ZXJydXB0Lm8gXAogCXBn YXJjaC5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV4cHJvY2Vzcy5j IGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXhwcm9jZXNzLmMKaW5kZXggNzQ1MmY5MDhiMi4u YzU1Y2M4NDQ5MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXhwcm9jZXNz LmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXhwcm9jZXNzLmMKQEAgLTIwLDYgKzIw LDcgQEAKICNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2F1eHByb2Nl c3MuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2Jnd3JpdGVyLmgiCisjaW5jbHVkZSAicG9zdG1h c3Rlci9jdXN0b2RpYW4uaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL3N0YXJ0dXAuaCIKICNpbmNs dWRlICJwb3N0bWFzdGVyL3dhbHdyaXRlci5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL3dhbHJl Y2VpdmVyLmgiCkBAIC03NCw2ICs3NSw5IEBAIEF1eGlsaWFyeVByb2Nlc3NNYWluKEF1eFByb2NU eXBlIGF1eHR5cGUpCiAJCWNhc2UgQ2hlY2twb2ludGVyUHJvY2VzczoKIAkJCU15QmFja2VuZFR5 cGUgPSBCX0NIRUNLUE9JTlRFUjsKIAkJCWJyZWFrOworCQljYXNlIEN1c3RvZGlhblByb2Nlc3M6 CisJCQlNeUJhY2tlbmRUeXBlID0gQl9DVVNUT0RJQU47CisJCQlicmVhazsKIAkJY2FzZSBXYWxX cml0ZXJQcm9jZXNzOgogCQkJTXlCYWNrZW5kVHlwZSA9IEJfV0FMX1dSSVRFUjsKIAkJCWJyZWFr OwpAQCAtMTUzLDYgKzE1NywxMCBAQCBBdXhpbGlhcnlQcm9jZXNzTWFpbihBdXhQcm9jVHlwZSBh dXh0eXBlKQogCQkJQ2hlY2twb2ludGVyTWFpbigpOwogCQkJcHJvY19leGl0KDEpOwogCisJCWNh c2UgQ3VzdG9kaWFuUHJvY2VzczoKKwkJCUN1c3RvZGlhbk1haW4oKTsKKwkJCXByb2NfZXhpdCgx KTsKKwogCQljYXNlIFdhbFdyaXRlclByb2Nlc3M6CiAJCQlJbml0WExPR0FjY2VzcygpOwogCQkJ V2FsV3JpdGVyTWFpbigpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0 b2RpYW4uYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMGJhNTk5NDliYgotLS0gL2Rldi9udWxsCisrKyBi L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmMKQEAgLTAsMCArMSwyMTAgQEAKKy8q LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIGN1c3RvZGlhbi5jCisgKgorICogVGhlIGN1c3RvZGlh biBwcm9jZXNzIGlzIG5ldyBhcyBvZiBQb3N0Z3JlcyAxNS4gIEl0J3MgbWFpbiBwdXJwb3NlIGlz IHRvCisgKiBvZmZsb2FkIHRhc2tzIHRoYXQgY291bGQgb3RoZXJ3aXNlIGRlbGF5IHN0YXJ0dXAg YW5kIGNoZWNrcG9pbnRpbmcsIGJ1dAorICogaXQgbmVlZG4ndCBiZSByZXN0cmljdGVkIHRvIGp1 c3QgdGhvc2UgdGhpbmdzLiAgT2ZmbG9hZGVkIHRhc2tzIHNob3VsZAorICogbm90IGJlIHN5bmNo cm9ub3VzIChlLmcuLCBjaGVja3BvaW50aW5nIHNob3VsZG4ndCBuZWVkIHRvIHdhaXQgZm9yIHRo ZQorICogY3VzdG9kaWFuIHRvIGNvbXBsZXRlIGEgdGFzayBiZWZvcmUgcHJvY2VlZGluZykuICBB bHNvLCBlbnN1cmUgdGhhdCBhbnkKKyAqIG9mZmxvYWRlZCB0YXNrcyBhcmUgZWl0aGVyIG5vdCBy ZXF1aXJlZCBkdXJpbmcgc2luZ2xlLXVzZXIgbW9kZSBvciBhcmUKKyAqIHBlcmZvcm1lZCBzZXBh cmF0ZWx5IGR1cmluZyBzaW5nbGUtdXNlciBtb2RlLgorICoKKyAqIFRoZSBjdXN0b2RpYW4gaXMg bm90IGFuIGVzc2VudGlhbCBwcm9jZXNzIGFuZCBjYW4gc2h1dGRvd24gcXVpY2tseSB3aGVuCisg KiByZXF1ZXN0ZWQuICBUaGUgY3VzdG9kaWFuIHdpbGwgd2FrZSB1cCBhcHByb3hpbWF0ZWx5IG9u Y2UgZXZlcnkgNQorICogbWludXRlcyB0byBwZXJmb3JtIGl0cyB0YXNrcywgYnV0IGJhY2tlbmRz IGNhbiAoYW5kIHNob3VsZCkgc2V0IGl0cworICogbGF0Y2ggdG8gd2FrZSBpdCB1cCBzb29uZXIu CisgKgorICogTm9ybWFsIHRlcm1pbmF0aW9uIGlzIGJ5IFNJR1RFUk0sIHdoaWNoIGluc3RydWN0 cyB0aGUgYmd3cml0ZXIgdG8KKyAqIGV4aXQoMCkuICBFbWVyZ2VuY3kgdGVybWluYXRpb24gaXMg YnkgU0lHUVVJVDsgbGlrZSBhbnkgYmFja2VuZCwgdGhlCisgKiBjdXN0b2RpYW4gd2lsbCBzaW1w bHkgYWJvcnQgYW5kIGV4aXQgb24gU0lHUVVJVC4KKyAqCisgKiBJZiB0aGUgY3VzdG9kaWFuIGV4 aXRzIHVuZXhwZWN0ZWRseSwgdGhlIHBvc3RtYXN0ZXIgdHJlYXRzIHRoYXQgdGhlIHNhbWUKKyAq IGFzIGEgYmFja2VuZCBjcmFzaDogc2hhcmVkIG1lbW9yeSBtYXkgYmUgY29ycnVwdGVkLCBzbyBy ZW1haW5pbmcKKyAqIGJhY2tlbmRzIHNob3VsZCBiZSBraWxsZWQgYnkgU0lHUVVJVCBhbmQgdGhl biBhIHJlY292ZXJ5IGN5Y2xlIHN0YXJ0ZWQuCisgKgorICoKKyAqIENvcHlyaWdodCAoYykgMjAy MSwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqCisgKgorICogSURFTlRJ RklDQVRJT04KKyAqICAgc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4uYworICoKKyAq LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQorICovCisjaW5jbHVkZSAicG9zdGdyZXMuaCIKKworI2luY2x1ZGUg ImxpYnBxL3Bxc2lnbmFsLmgiCisjaW5jbHVkZSAicGdzdGF0LmgiCisjaW5jbHVkZSAicG9zdG1h c3Rlci9jdXN0b2RpYW4uaCIKKyNpbmNsdWRlICJwb3N0bWFzdGVyL2ludGVycnVwdC5oIgorI2lu Y2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCisjaW5jbHVkZSAic3RvcmFnZS9jb25kaXRpb25fdmFy aWFibGUuaCIKKyNpbmNsdWRlICJzdG9yYWdlL3Byb2MuaCIKKyNpbmNsdWRlICJzdG9yYWdlL3By b2NzaWduYWwuaCIKKyNpbmNsdWRlICJ1dGlscy9tZW11dGlscy5oIgorCisjZGVmaW5lIENVU1RP RElBTl9USU1FT1VUX1MgKDMwMCkJCS8qIDUgbWludXRlcyAqLworCisvKgorICogTWFpbiBlbnRy eSBwb2ludCBmb3IgY3VzdG9kaWFuIHByb2Nlc3MKKyAqCisgKiBUaGlzIGlzIGludm9rZWQgZnJv bSBBdXhpbGlhcnlQcm9jZXNzTWFpbiwgd2hpY2ggaGFzIGFscmVhZHkgY3JlYXRlZCB0aGUKKyAq IGJhc2ljIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCwgYnV0IG5vdCBlbmFibGVkIHNpZ25hbHMgeWV0 LgorICovCit2b2lkCitDdXN0b2RpYW5NYWluKHZvaWQpCit7CisJc2lnam1wX2J1Zglsb2NhbF9z aWdqbXBfYnVmOworCU1lbW9yeUNvbnRleHQgY3VzdG9kaWFuX2NvbnRleHQ7CisKKwkvKgorCSAq IFByb3Blcmx5IGFjY2VwdCBvciBpZ25vcmUgc2lnbmFscyB0aGF0IG1pZ2h0IGJlIHNlbnQgdG8g dXMuCisJICovCisJcHFzaWduYWwoU0lHSFVQLCBTaWduYWxIYW5kbGVyRm9yQ29uZmlnUmVsb2Fk KTsKKwlwcXNpZ25hbChTSUdJTlQsIFNpZ25hbEhhbmRsZXJGb3JTaHV0ZG93blJlcXVlc3QpOwor CXBxc2lnbmFsKFNJR1RFUk0sIFNpZ25hbEhhbmRsZXJGb3JTaHV0ZG93blJlcXVlc3QpOworCS8q IFNJR1FVSVQgaGFuZGxlciB3YXMgYWxyZWFkeSBzZXQgdXAgYnkgSW5pdFBvc3RtYXN0ZXJDaGls ZCAqLworCXBxc2lnbmFsKFNJR0FMUk0sIFNJR19JR04pOworCXBxc2lnbmFsKFNJR1BJUEUsIFNJ R19JR04pOworCXBxc2lnbmFsKFNJR1VTUjEsIHByb2NzaWduYWxfc2lndXNyMV9oYW5kbGVyKTsK KwlwcXNpZ25hbChTSUdVU1IyLCBTSUdfSUdOKTsKKworCS8qCisJICogUmVzZXQgc29tZSBzaWdu YWxzIHRoYXQgYXJlIGFjY2VwdGVkIGJ5IHBvc3RtYXN0ZXIgYnV0IG5vdCBoZXJlCisJICovCisJ cHFzaWduYWwoU0lHQ0hMRCwgU0lHX0RGTCk7CisKKwkvKgorCSAqIENyZWF0ZSBhIG1lbW9yeSBj b250ZXh0IHRoYXQgd2Ugd2lsbCBkbyBhbGwgb3VyIHdvcmsgaW4uICBXZSBkbyB0aGlzIHNvCisJ ICogdGhhdCB3ZSBjYW4gcmVzZXQgdGhlIGNvbnRleHQgZHVyaW5nIGVycm9yIHJlY292ZXJ5IGFu ZCB0aGVyZWJ5IGF2b2lkCisJICogcG9zc2libGUgbWVtb3J5IGxlYWtzLgorCSAqLworCWN1c3Rv ZGlhbl9jb250ZXh0ID0gQWxsb2NTZXRDb250ZXh0Q3JlYXRlKFRvcE1lbW9yeUNvbnRleHQsCisJ CQkJCQkJCQkJCSAgIkN1c3RvZGlhbiIsCisJCQkJCQkJCQkJCSAgQUxMT0NTRVRfREVGQVVMVF9T SVpFUyk7CisJTWVtb3J5Q29udGV4dFN3aXRjaFRvKGN1c3RvZGlhbl9jb250ZXh0KTsKKworCS8q CisJICogSWYgYW4gZXhjZXB0aW9uIGlzIGVuY291bnRlcmVkLCBwcm9jZXNzaW5nIHJlc3VtZXMg aGVyZS4KKwkgKgorCSAqIFlvdSBtaWdodCB3b25kZXIgd2h5IHRoaXMgaXNuJ3QgY29kZWQgYXMg YW4gaW5maW5pdGUgbG9vcCBhcm91bmQgYQorCSAqIFBHX1RSWSBjb25zdHJ1Y3QuICBUaGUgcmVh c29uIGlzIHRoYXQgdGhpcyBpcyB0aGUgYm90dG9tIG9mIHRoZQorCSAqIGV4Y2VwdGlvbiBzdGFj aywgYW5kIHNvIHdpdGggUEdfVFJZIHRoZXJlIHdvdWxkIGJlIG5vIGV4Y2VwdGlvbiBoYW5kbGVy CisJICogaW4gZm9yY2UgYXQgYWxsIGR1cmluZyB0aGUgQ0FUQ0ggcGFydC4gIEJ5IGxlYXZpbmcg dGhlIG91dGVybW9zdCBzZXRqbXAKKwkgKiBhbHdheXMgYWN0aXZlLCB3ZSBoYXZlIGF0IGxlYXN0 IHNvbWUgY2hhbmNlIG9mIHJlY292ZXJpbmcgZnJvbSBhbiBlcnJvcgorCSAqIGR1cmluZyBlcnJv ciByZWNvdmVyeS4gIChJZiB3ZSBnZXQgaW50byBhbiBpbmZpbml0ZSBsb29wIHRoZXJlYnksIGl0 CisJICogd2lsbCBzb29uIGJlIHN0b3BwZWQgYnkgb3ZlcmZsb3cgb2YgZWxvZy5jJ3MgaW50ZXJu YWwgc3RhdGUgc3RhY2suKQorCSAqCisJICogTm90ZSB0aGF0IHdlIHVzZSBzaWdzZXRqbXAoLi4u LCAxKSwgc28gdGhhdCB0aGUgcHJldmFpbGluZyBzaWduYWwgbWFzaworCSAqICh0byB3aXQsIEJs b2NrU2lnKSB3aWxsIGJlIHJlc3RvcmVkIHdoZW4gbG9uZ2ptcCdpbmcgdG8gaGVyZS4gIFRodXMs CisJICogc2lnbmFscyBvdGhlciB0aGFuIFNJR1FVSVQgd2lsbCBiZSBibG9ja2VkIHVudGlsIHdl IGNvbXBsZXRlIGVycm9yCisJICogcmVjb3ZlcnkuICBJdCBtaWdodCBzZWVtIHRoYXQgdGhpcyBw b2xpY3kgbWFrZXMgdGhlIEhPTERfSU5URVJSVVBTKCkKKwkgKiBjYWxsIHJlZHVuZGFudCwgYnV0 IGl0IGlzIG5vdCBzaW5jZSBJbnRlcnJ1cHRQZW5kaW5nIG1pZ2h0IGJlIHNldAorCSAqIGFscmVh ZHkuCisJICovCisJaWYgKHNpZ3NldGptcChsb2NhbF9zaWdqbXBfYnVmLCAxKSAhPSAwKQorCXsK KwkJLyogU2luY2Ugbm90IHVzaW5nIFBHX1RSWSwgbXVzdCByZXNldCBlcnJvciBzdGFjayBieSBo YW5kICovCisJCWVycm9yX2NvbnRleHRfc3RhY2sgPSBOVUxMOworCisJCS8qIFByZXZlbnQgaW50 ZXJydXB0cyB3aGlsZSBjbGVhbmluZyB1cCAqLworCQlIT0xEX0lOVEVSUlVQVFMoKTsKKworCQkv KiBSZXBvcnQgdGhlIGVycm9yIHRvIHRoZSBzZXJ2ZXIgbG9nICovCisJCUVtaXRFcnJvclJlcG9y dCgpOworCisJCS8qIFRoZXNlIG9wZXJhdGlvbnMgYXJlIHJlYWxseSBqdXN0IGEgbWluaW1hbCBz dWJzZXQgb2YKKwkJICogQWJvcnRUcmFuc2FjdGlvbigpLiAgV2UgZG9uJ3QgaGF2ZSB2ZXJ5IG1h bnkgcmVzb3VyY2VzIHRvIHdvcnJ5CisJCSAqIGFib3V0LgorCQkgKi8KKwkJTFdMb2NrUmVsZWFz ZUFsbCgpOworCQlDb25kaXRpb25WYXJpYWJsZUNhbmNlbFNsZWVwKCk7CisJCXBnc3RhdF9yZXBv cnRfd2FpdF9lbmQoKTsKKwkJQWJvcnRCdWZmZXJJTygpOworCQlVbmxvY2tCdWZmZXJzKCk7CisJ CVJlbGVhc2VBdXhQcm9jZXNzUmVzb3VyY2VzKGZhbHNlKTsKKwkJQXRFT1hhY3RfQnVmZmVycyhm YWxzZSk7CisJCUF0RU9YYWN0X1NNZ3IoKTsKKwkJQXRFT1hhY3RfRmlsZXMoZmFsc2UpOworCQlB dEVPWGFjdF9IYXNoVGFibGVzKGZhbHNlKTsKKworCQkvKgorCQkgKiBOb3cgcmV0dXJuIHRvIG5v cm1hbCB0b3AtbGV2ZWwgY29udGV4dCBhbmQgY2xlYXIgRXJyb3JDb250ZXh0IGZvcgorCQkgKiBu ZXh0IHRpbWUuCisJCSAqLworCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8oY3VzdG9kaWFuX2NvbnRl eHQpOworCQlGbHVzaEVycm9yU3RhdGUoKTsKKworCQkvKiBGbHVzaCBhbnkgbGVha2VkIGRhdGEg aW4gdGhlIHRvcC1sZXZlbCBjb250ZXh0ICovCisJCU1lbW9yeUNvbnRleHRSZXNldEFuZERlbGV0 ZUNoaWxkcmVuKGN1c3RvZGlhbl9jb250ZXh0KTsKKworCQkvKiBOb3cgd2UgY2FuIGFsbG93IGlu dGVycnVwdHMgYWdhaW4gKi8KKwkJUkVTVU1FX0lOVEVSUlVQVFMoKTsKKworCQkvKgorCQkgKiBT bGVlcCBhdCBsZWFzdCAxIHNlY29uZCBhZnRlciBhbnkgZXJyb3IuICBBIHdyaXRlIGVycm9yIGlz IGxpa2VseQorCQkgKiB0byBiZSByZXBlYXRlZCwgYW5kIHdlIGRvbid0IHdhbnQgdG8gYmUgZmls bGluZyB0aGUgZXJyb3IgbG9ncyBhcworCQkgKiBmYXN0IGFzIHdlIGNhbi4KKwkJICovCisJCXBn X3VzbGVlcCgxMDAwMDAwTCk7CisKKwkJLyoKKwkJICogQ2xvc2UgYWxsIG9wZW4gZmlsZXMgYWZ0 ZXIgYW55IGVycm9yLiAgVGhpcyBpcyBoZWxwZnVsIG9uIFdpbmRvd3MsCisJCSAqIHdoZXJlIGhv bGRpbmcgZGVsZXRlZCBmaWxlcyBvcGVuIGNhdXNlcyB2YXJpb3VzIHN0cmFuZ2UgZXJyb3JzLgor CQkgKiBJdCdzIG5vdCBjbGVhciB3ZSBuZWVkIGl0IGVsc2V3aGVyZSwgYnV0IHNob3VsZG4ndCBo dXJ0LgorCQkgKi8KKwkJc21ncmNsb3NlYWxsKCk7CisKKwkJLyogUmVwb3J0IHdhaXQgZW5kIGhl cmUsIHdoZW4gdGhlcmUgaXMgbm8gZnVydGhlciBwb3NzaWJpbGl0eSBvZiB3YWl0ICovCisJCXBn c3RhdF9yZXBvcnRfd2FpdF9lbmQoKTsKKwl9CisKKwkvKiBXZSBjYW4gbm93IGhhbmRsZSBlcmVw b3J0KEVSUk9SKSAqLworCVBHX2V4Y2VwdGlvbl9zdGFjayA9ICZsb2NhbF9zaWdqbXBfYnVmOwor CisJLyoKKwkgKiBVbmJsb2NrIHNpZ25hbHMgKHRoZXkgd2VyZSBibG9ja2VkIHdoZW4gdGhlIHBv c3RtYXN0ZXIgZm9ya2VkIHVzKQorCSAqLworCVBHX1NFVE1BU0soJlVuQmxvY2tTaWcpOworCisJ LyoKKwkgKiBBZHZlcnRpc2Ugb3V0IGxhdGNoIHRoYXQgYmFja2VuZHMgY2FuIHVzZSB0byB3YWtl IHVzIHVwIHdoaWxlIHdlJ3JlCisJICogc2xlZXBpbmcuCisJICovCisJUHJvY0dsb2JhbC0+Y3Vz dG9kaWFuTGF0Y2ggPSAmTXlQcm9jLT5wcm9jTGF0Y2g7CisKKwkvKgorCSAqIExvb3AgZm9yZXZl cgorCSAqLworCWZvciAoOzspCisJeworCQlwZ190aW1lX3QJc3RhcnRfdGltZTsKKwkJcGdfdGlt ZV90CWVuZF90aW1lOworCQlpbnQJCQllbGFwc2VkX3NlY3M7CisJCWludAkJCWN1cl90aW1lb3V0 OworCisJCS8qIENsZWFyIGFueSBhbHJlYWR5LXBlbmRpbmcgd2FrZXVwcyAqLworCQlSZXNldExh dGNoKE15TGF0Y2gpOworCisJCUhhbmRsZU1haW5Mb29wSW50ZXJydXB0cygpOworCisJCXN0YXJ0 X3RpbWUgPSAocGdfdGltZV90KSB0aW1lKE5VTEwpOworCisJCS8qIFRPRE86IG9mZmxvYWRlZCB0 YXNrcyBnbyBoZXJlICovCisKKwkJLyogQ2FsY3VsYXRlIGhvdyBsb25nIHRvIHNsZWVwICovCisJ CWVuZF90aW1lID0gKHBnX3RpbWVfdCkgdGltZShOVUxMKTsKKwkJZWxhcHNlZF9zZWNzID0gZW5k X3RpbWUgLSBzdGFydF90aW1lOworCQlpZiAoZWxhcHNlZF9zZWNzID49IENVU1RPRElBTl9USU1F T1VUX1MpCisJCQljb250aW51ZTsJCQkvKiBubyBzbGVlcCBmb3IgdXMgKi8KKwkJY3VyX3RpbWVv dXQgPSBDVVNUT0RJQU5fVElNRU9VVF9TIC0gZWxhcHNlZF9zZWNzOworCisJCSh2b2lkKSBXYWl0 TGF0Y2goTXlMYXRjaCwKKwkJCQkJCSBXTF9MQVRDSF9TRVQgfCBXTF9USU1FT1VUIHwgV0xfRVhJ VF9PTl9QTV9ERUFUSCwKKwkJCQkJCSBjdXJfdGltZW91dCAqIDEwMDBMIC8qIGNvbnZlcnQgdG8g bXMgKi8gLAorCQkJCQkJIFdBSVRfRVZFTlRfQ1VTVE9ESUFOX01BSU4pOworCX0KKworCXBnX3Vu cmVhY2hhYmxlKCk7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3Rt YXN0ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCmluZGV4IDMyOGVj YWZhOGMuLjYzNTMxM2NkYjcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9z dG1hc3Rlci5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCkBAIC0y NTAsNiArMjUwLDcgQEAgYm9vbAkJcmVtb3ZlX3RlbXBfZmlsZXNfYWZ0ZXJfY3Jhc2ggPSB0cnVl Owogc3RhdGljIHBpZF90IFN0YXJ0dXBQSUQgPSAwLAogCQkJQmdXcml0ZXJQSUQgPSAwLAogCQkJ Q2hlY2twb2ludGVyUElEID0gMCwKKwkJCUN1c3RvZGlhblBJRCA9IDAsCiAJCQlXYWxXcml0ZXJQ SUQgPSAwLAogCQkJV2FsUmVjZWl2ZXJQSUQgPSAwLAogCQkJQXV0b1ZhY1BJRCA9IDAsCkBAIC01 NTYsNiArNTU3LDcgQEAgc3RhdGljIHZvaWQgU2htZW1CYWNrZW5kQXJyYXlSZW1vdmUoQmFja2Vu ZCAqYm4pOwogI2RlZmluZSBTdGFydEFyY2hpdmVyKCkJCQlTdGFydENoaWxkUHJvY2VzcyhBcmNo aXZlclByb2Nlc3MpCiAjZGVmaW5lIFN0YXJ0QmFja2dyb3VuZFdyaXRlcigpIFN0YXJ0Q2hpbGRQ cm9jZXNzKEJnV3JpdGVyUHJvY2VzcykKICNkZWZpbmUgU3RhcnRDaGVja3BvaW50ZXIoKQkJU3Rh cnRDaGlsZFByb2Nlc3MoQ2hlY2twb2ludGVyUHJvY2VzcykKKyNkZWZpbmUgU3RhcnRDdXN0b2Rp YW4oKQkJU3RhcnRDaGlsZFByb2Nlc3MoQ3VzdG9kaWFuUHJvY2VzcykKICNkZWZpbmUgU3RhcnRX YWxXcml0ZXIoKQkJU3RhcnRDaGlsZFByb2Nlc3MoV2FsV3JpdGVyUHJvY2VzcykKICNkZWZpbmUg U3RhcnRXYWxSZWNlaXZlcigpCQlTdGFydENoaWxkUHJvY2VzcyhXYWxSZWNlaXZlclByb2Nlc3Mp CiAKQEAgLTE4MTksMTMgKzE4MjEsMTYgQEAgU2VydmVyTG9vcCh2b2lkKQogCQkvKgogCQkgKiBJ ZiBubyBiYWNrZ3JvdW5kIHdyaXRlciBwcm9jZXNzIGlzIHJ1bm5pbmcsIGFuZCB3ZSBhcmUgbm90 IGluIGEKIAkJICogc3RhdGUgdGhhdCBwcmV2ZW50cyBpdCwgc3RhcnQgb25lLiAgSXQgZG9lc24n dCBtYXR0ZXIgaWYgdGhpcwotCQkgKiBmYWlscywgd2UnbGwganVzdCB0cnkgYWdhaW4gbGF0ZXIu ICBMaWtld2lzZSBmb3IgdGhlIGNoZWNrcG9pbnRlci4KKwkJICogZmFpbHMsIHdlJ2xsIGp1c3Qg dHJ5IGFnYWluIGxhdGVyLiAgTGlrZXdpc2UgZm9yIHRoZSBjaGVja3BvaW50ZXIKKwkJICogYW5k IGN1c3RvZGlhbi4KIAkJICovCiAJCWlmIChwbVN0YXRlID09IFBNX1JVTiB8fCBwbVN0YXRlID09 IFBNX1JFQ09WRVJZIHx8CiAJCQlwbVN0YXRlID09IFBNX0hPVF9TVEFOREJZIHx8IHBtU3RhdGUg PT0gUE1fU1RBUlRVUCkKIAkJewogCQkJaWYgKENoZWNrcG9pbnRlclBJRCA9PSAwKQogCQkJCUNo ZWNrcG9pbnRlclBJRCA9IFN0YXJ0Q2hlY2twb2ludGVyKCk7CisJCQlpZiAoQ3VzdG9kaWFuUElE ID09IDApCisJCQkJQ3VzdG9kaWFuUElEID0gU3RhcnRDdXN0b2RpYW4oKTsKIAkJCWlmIChCZ1dy aXRlclBJRCA9PSAwKQogCQkJCUJnV3JpdGVyUElEID0gU3RhcnRCYWNrZ3JvdW5kV3JpdGVyKCk7 CiAJCX0KQEAgLTI3ODIsNiArMjc4Nyw4IEBAIFNJR0hVUF9oYW5kbGVyKFNJR05BTF9BUkdTKQog CQkJc2lnbmFsX2NoaWxkKEJnV3JpdGVyUElELCBTSUdIVVApOwogCQlpZiAoQ2hlY2twb2ludGVy UElEICE9IDApCiAJCQlzaWduYWxfY2hpbGQoQ2hlY2twb2ludGVyUElELCBTSUdIVVApOworCQlp ZiAoQ3VzdG9kaWFuUElEICE9IDApCisJCQlzaWduYWxfY2hpbGQoQ3VzdG9kaWFuUElELCBTSUdI VVApOwogCQlpZiAoV2FsV3JpdGVyUElEICE9IDApCiAJCQlzaWduYWxfY2hpbGQoV2FsV3JpdGVy UElELCBTSUdIVVApOwogCQlpZiAoV2FsUmVjZWl2ZXJQSUQgIT0gMCkKQEAgLTMxMDksNiArMzEx Niw4IEBAIHJlYXBlcihTSUdOQUxfQVJHUykKIAkJCSAqLwogCQkJaWYgKENoZWNrcG9pbnRlclBJ RCA9PSAwKQogCQkJCUNoZWNrcG9pbnRlclBJRCA9IFN0YXJ0Q2hlY2twb2ludGVyKCk7CisJCQlp ZiAoQ3VzdG9kaWFuUElEID09IDApCisJCQkJQ3VzdG9kaWFuUElEID0gU3RhcnRDdXN0b2RpYW4o KTsKIAkJCWlmIChCZ1dyaXRlclBJRCA9PSAwKQogCQkJCUJnV3JpdGVyUElEID0gU3RhcnRCYWNr Z3JvdW5kV3JpdGVyKCk7CiAJCQlpZiAoV2FsV3JpdGVyUElEID09IDApCkBAIC0zMjExLDYgKzMy MjAsMjAgQEAgcmVhcGVyKFNJR05BTF9BUkdTKQogCQkJY29udGludWU7CiAJCX0KIAorCQkvKgor CQkgKiBXYXMgaXQgdGhlIGN1c3RvZGlhbj8gIE5vcm1hbCBleGl0IGNhbiBiZSBpZ25vcmVkOyB3 ZSdsbCBzdGFydCBhCisJCSAqIG5ldyBvbmUgYXQgdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBw b3N0bWFzdGVyJ3MgbWFpbiBsb29wLCBpZgorCQkgKiBuZWNlc3NhcnkuICBBbnkgb3RoZXIgZXhp dCBjb25kaXRpb24gaXMgdHJlYXRlZCBhcyBhIGNyYXNoLgorCQkgKi8KKwkJaWYgKHBpZCA9PSBD dXN0b2RpYW5QSUQpCisJCXsKKwkJCUN1c3RvZGlhblBJRCA9IDA7CisJCQlpZiAoIUVYSVRfU1RB VFVTXzAoZXhpdHN0YXR1cykpCisJCQkJSGFuZGxlQ2hpbGRDcmFzaChwaWQsIGV4aXRzdGF0dXMs CisJCQkJCQkJCSBfKCJjdXN0b2RpYW4gcHJvY2VzcyIpKTsKKwkJCWNvbnRpbnVlOworCQl9CisK IAkJLyoKIAkJICogV2FzIGl0IHRoZSB3YWwgd3JpdGVyPyAgTm9ybWFsIGV4aXQgY2FuIGJlIGln bm9yZWQ7IHdlJ2xsIHN0YXJ0IGEKIAkJICogbmV3IG9uZSBhdCB0aGUgbmV4dCBpdGVyYXRpb24g b2YgdGhlIHBvc3RtYXN0ZXIncyBtYWluIGxvb3AsIGlmCkBAIC0zNjg0LDYgKzM3MDcsMTggQEAg SGFuZGxlQ2hpbGRDcmFzaChpbnQgcGlkLCBpbnQgZXhpdHN0YXR1cywgY29uc3QgY2hhciAqcHJv Y25hbWUpCiAJCXNpZ25hbF9jaGlsZChDaGVja3BvaW50ZXJQSUQsIChTZW5kU3RvcCA/IFNJR1NU T1AgOiBTSUdRVUlUKSk7CiAJfQogCisJLyogVGFrZSBjYXJlIG9mIHRoZSBjdXN0b2RpYW4gdG9v ICovCisJaWYgKHBpZCA9PSBDdXN0b2RpYW5QSUQpCisJCUN1c3RvZGlhblBJRCA9IDA7CisJZWxz ZSBpZiAoQ3VzdG9kaWFuUElEICE9IDAgJiYgdGFrZV9hY3Rpb24pCisJeworCQllcmVwb3J0KERF QlVHMiwKKwkJCQkoZXJybXNnX2ludGVybmFsKCJzZW5kaW5nICVzIHRvIHByb2Nlc3MgJWQiLAor CQkJCQkJCQkgKFNlbmRTdG9wID8gIlNJR1NUT1AiIDogIlNJR1FVSVQiKSwKKwkJCQkJCQkJIChp bnQpIEN1c3RvZGlhblBJRCkpKTsKKwkJc2lnbmFsX2NoaWxkKEN1c3RvZGlhblBJRCwgKFNlbmRT dG9wID8gU0lHU1RPUCA6IFNJR1FVSVQpKTsKKwl9CisKIAkvKiBUYWtlIGNhcmUgb2YgdGhlIHdh bHdyaXRlciB0b28gKi8KIAlpZiAocGlkID09IFdhbFdyaXRlclBJRCkKIAkJV2FsV3JpdGVyUElE ID0gMDsKQEAgLTM4ODcsNiArMzkyMiw5IEBAIFBvc3RtYXN0ZXJTdGF0ZU1hY2hpbmUodm9pZCkK IAkJLyogYW5kIHRoZSBiZ3dyaXRlciB0b28gKi8KIAkJaWYgKEJnV3JpdGVyUElEICE9IDApCiAJ CQlzaWduYWxfY2hpbGQoQmdXcml0ZXJQSUQsIFNJR1RFUk0pOworCQkvKiBhbmQgdGhlIGN1c3Rv ZGlhbiB0b28gKi8KKwkJaWYgKEN1c3RvZGlhblBJRCAhPSAwKQorCQkJc2lnbmFsX2NoaWxkKEN1 c3RvZGlhblBJRCwgU0lHVEVSTSk7CiAJCS8qIGFuZCB0aGUgd2Fsd3JpdGVyIHRvbyAqLwogCQlp ZiAoV2FsV3JpdGVyUElEICE9IDApCiAJCQlzaWduYWxfY2hpbGQoV2FsV3JpdGVyUElELCBTSUdU RVJNKTsKQEAgLTM5MjQsNiArMzk2Miw3IEBAIFBvc3RtYXN0ZXJTdGF0ZU1hY2hpbmUodm9pZCkK IAkJCUJnV3JpdGVyUElEID09IDAgJiYKIAkJCShDaGVja3BvaW50ZXJQSUQgPT0gMCB8fAogCQkJ ICghRmF0YWxFcnJvciAmJiBTaHV0ZG93biA8IEltbWVkaWF0ZVNodXRkb3duKSkgJiYKKwkJCUN1 c3RvZGlhblBJRCA9PSAwICYmCiAJCQlXYWxXcml0ZXJQSUQgPT0gMCAmJgogCQkJQXV0b1ZhY1BJ RCA9PSAwKQogCQl7CkBAIC00MDE3LDYgKzQwNTYsNyBAQCBQb3N0bWFzdGVyU3RhdGVNYWNoaW5l KHZvaWQpCiAJCQlBc3NlcnQoV2FsUmVjZWl2ZXJQSUQgPT0gMCk7CiAJCQlBc3NlcnQoQmdXcml0 ZXJQSUQgPT0gMCk7CiAJCQlBc3NlcnQoQ2hlY2twb2ludGVyUElEID09IDApOworCQkJQXNzZXJ0 KEN1c3RvZGlhblBJRCA9PSAwKTsKIAkJCUFzc2VydChXYWxXcml0ZXJQSUQgPT0gMCk7CiAJCQlB c3NlcnQoQXV0b1ZhY1BJRCA9PSAwKTsKIAkJCS8qIHN5c2xvZ2dlciBpcyBub3QgY29uc2lkZXJl ZCBoZXJlICovCkBAIC00MjIyLDYgKzQyNjIsOCBAQCBUZXJtaW5hdGVDaGlsZHJlbihpbnQgc2ln bmFsKQogCQlzaWduYWxfY2hpbGQoQmdXcml0ZXJQSUQsIHNpZ25hbCk7CiAJaWYgKENoZWNrcG9p bnRlclBJRCAhPSAwKQogCQlzaWduYWxfY2hpbGQoQ2hlY2twb2ludGVyUElELCBzaWduYWwpOwor CWlmIChDdXN0b2RpYW5QSUQgIT0gMCkKKwkJc2lnbmFsX2NoaWxkKEN1c3RvZGlhblBJRCwgc2ln bmFsKTsKIAlpZiAoV2FsV3JpdGVyUElEICE9IDApCiAJCXNpZ25hbF9jaGlsZChXYWxXcml0ZXJQ SUQsIHNpZ25hbCk7CiAJaWYgKFdhbFJlY2VpdmVyUElEICE9IDApCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3By b2MuYwppbmRleCBiN2Q5ZGEwYWE5Li5hODZhMDVhZGI0IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9zdG9yYWdlL2xtZ3IvcHJvYy5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvbG1nci9wcm9j LmMKQEAgLTE4Miw2ICsxODIsNyBAQCBJbml0UHJvY0dsb2JhbCh2b2lkKQogCVByb2NHbG9iYWwt PnN0YXJ0dXBCdWZmZXJQaW5XYWl0QnVmSWQgPSAtMTsKIAlQcm9jR2xvYmFsLT53YWx3cml0ZXJM YXRjaCA9IE5VTEw7CiAJUHJvY0dsb2JhbC0+Y2hlY2twb2ludGVyTGF0Y2ggPSBOVUxMOworCVBy b2NHbG9iYWwtPmN1c3RvZGlhbkxhdGNoID0gTlVMTDsKIAlwZ19hdG9taWNfaW5pdF91MzIoJlBy b2NHbG9iYWwtPnByb2NBcnJheUdyb3VwRmlyc3QsIElOVkFMSURfUEdQUk9DTk8pOwogCXBnX2F0 b21pY19pbml0X3UzMigmUHJvY0dsb2JhbC0+Y2xvZ0dyb3VwRmlyc3QsIElOVkFMSURfUEdQUk9D Tk8pOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50 LmMgYi9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0X2V2ZW50LmMKaW5kZXggNGQ1M2Yw NDBlOC4uNTMwYWYyOTRkOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkv d2FpdF9ldmVudC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQu YwpAQCAtMjI0LDYgKzIyNCw5IEBAIHBnc3RhdF9nZXRfd2FpdF9hY3Rpdml0eShXYWl0RXZlbnRB Y3Rpdml0eSB3KQogCQljYXNlIFdBSVRfRVZFTlRfQ0hFQ0tQT0lOVEVSX01BSU46CiAJCQlldmVu dF9uYW1lID0gIkNoZWNrcG9pbnRlck1haW4iOwogCQkJYnJlYWs7CisJCWNhc2UgV0FJVF9FVkVO VF9DVVNUT0RJQU5fTUFJTjoKKwkJCWV2ZW50X25hbWUgPSAiQ3VzdG9kaWFuTWFpbiI7CisJCQli cmVhazsKIAkJY2FzZSBXQUlUX0VWRU5UX0xPR0lDQUxfQVBQTFlfTUFJTjoKIAkJCWV2ZW50X25h bWUgPSAiTG9naWNhbEFwcGx5TWFpbiI7CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2luaXQvbWlzY2luaXQuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2luaXQvbWlzY2lu aXQuYwppbmRleCA4ODgwMTM3NGI1Li45MGM0MTYwZDQyIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9pbml0L21pc2Npbml0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9taXNj aW5pdC5jCkBAIC0yNzMsNiArMjczLDkgQEAgR2V0QmFja2VuZFR5cGVEZXNjKEJhY2tlbmRUeXBl IGJhY2tlbmRUeXBlKQogCQljYXNlIEJfQ0hFQ0tQT0lOVEVSOgogCQkJYmFja2VuZERlc2MgPSAi Y2hlY2twb2ludGVyIjsKIAkJCWJyZWFrOworCQljYXNlIEJfQ1VTVE9ESUFOOgorCQkJYmFja2Vu ZERlc2MgPSAiY3VzdG9kaWFuIjsKKwkJCWJyZWFrOwogCQljYXNlIEJfU1RBUlRVUDoKIAkJCWJh Y2tlbmREZXNjID0gInN0YXJ0dXAiOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS9taXNjYWRtaW4uaCBiL3NyYy9pbmNsdWRlL21pc2NhZG1pbi5oCmluZGV4IDkwYTMwMTYwNjUu LjgzMDg5ZDIzZmYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL21pc2NhZG1pbi5oCisrKyBiL3Ny Yy9pbmNsdWRlL21pc2NhZG1pbi5oCkBAIC0zMjksNiArMzI5LDcgQEAgdHlwZWRlZiBlbnVtIEJh Y2tlbmRUeXBlCiAJQl9CR19XT1JLRVIsCiAJQl9CR19XUklURVIsCiAJQl9DSEVDS1BPSU5URVIs CisJQl9DVVNUT0RJQU4sCiAJQl9TVEFSVFVQLAogCUJfV0FMX1JFQ0VJVkVSLAogCUJfV0FMX1NF TkRFUiwKQEAgLTQzMyw2ICs0MzQsNyBAQCB0eXBlZGVmIGVudW0KIAlCZ1dyaXRlclByb2Nlc3Ms CiAJQXJjaGl2ZXJQcm9jZXNzLAogCUNoZWNrcG9pbnRlclByb2Nlc3MsCisJQ3VzdG9kaWFuUHJv Y2VzcywKIAlXYWxXcml0ZXJQcm9jZXNzLAogCVdhbFJlY2VpdmVyUHJvY2VzcywKIApAQCAtNDQ1 LDYgKzQ0Nyw3IEBAIGV4dGVybiBBdXhQcm9jVHlwZSBNeUF1eFByb2NUeXBlOwogI2RlZmluZSBB bUJhY2tncm91bmRXcml0ZXJQcm9jZXNzKCkgKE15QXV4UHJvY1R5cGUgPT0gQmdXcml0ZXJQcm9j ZXNzKQogI2RlZmluZSBBbUFyY2hpdmVyUHJvY2VzcygpCQkJKE15QXV4UHJvY1R5cGUgPT0gQXJj aGl2ZXJQcm9jZXNzKQogI2RlZmluZSBBbUNoZWNrcG9pbnRlclByb2Nlc3MoKQkJKE15QXV4UHJv Y1R5cGUgPT0gQ2hlY2twb2ludGVyUHJvY2VzcykKKyNkZWZpbmUgQW1DdXN0b2RpYW5Qcm9jZXNz KCkJCShNeUF1eFByb2NUeXBlID09IEN1c3RvZGlhblByb2Nlc3MpCiAjZGVmaW5lIEFtV2FsV3Jp dGVyUHJvY2VzcygpCQkoTXlBdXhQcm9jVHlwZSA9PSBXYWxXcml0ZXJQcm9jZXNzKQogI2RlZmlu ZSBBbVdhbFJlY2VpdmVyUHJvY2VzcygpCQkoTXlBdXhQcm9jVHlwZSA9PSBXYWxSZWNlaXZlclBy b2Nlc3MpCiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmgg Yi9zcmMvaW5jbHVkZS9wb3N0bWFzdGVyL2N1c3RvZGlhbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAuLmU4YWMyYWQzZGQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5j bHVkZS9wb3N0bWFzdGVyL2N1c3RvZGlhbi5oCkBAIC0wLDAgKzEsMTcgQEAKKy8qLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQorICoKKyAqIGN1c3RvZGlhbi5oCisgKiAgIEV4cG9ydHMgZnJvbSBwb3N0bWFzdGVy L2N1c3RvZGlhbi5jLgorICoKKyAqIENvcHlyaWdodCAoYykgMjAyMSwgUG9zdGdyZVNRTCBHbG9i YWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyAqCisgKiBzcmMvaW5jbHVkZS9wb3N0bWFzdGVyL2N1c3Rv ZGlhbi5oCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKyNpZm5kZWYgX0NVU1RPRElBTl9I CisjZGVmaW5lIF9DVVNUT0RJQU5fSAorCitleHRlcm4gdm9pZCBDdXN0b2RpYW5NYWluKHZvaWQp IHBnX2F0dHJpYnV0ZV9ub3JldHVybigpOworCisjZW5kaWYJCQkJCQkvKiBfQ1VTVE9ESUFOX0gg Ki8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvcHJvYy5oIGIvc3JjL2luY2x1ZGUv c3RvcmFnZS9wcm9jLmgKaW5kZXggY2ZhYmZkYmVkZi4uMWZjNDU5OTk0MSAxMDA2NDQKLS0tIGEv c3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jLmgKKysrIGIvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9j LmgKQEAgLTM1Nyw2ICszNTcsOCBAQCB0eXBlZGVmIHN0cnVjdCBQUk9DX0hEUgogCUxhdGNoCSAg ICp3YWx3cml0ZXJMYXRjaDsKIAkvKiBDaGVja3BvaW50ZXIgcHJvY2VzcydzIGxhdGNoICovCiAJ TGF0Y2gJICAgKmNoZWNrcG9pbnRlckxhdGNoOworCS8qIEN1c3RvZGlhbiBwcm9jZXNzJ3MgbGF0 Y2ggKi8KKwlMYXRjaAkgICAqY3VzdG9kaWFuTGF0Y2g7CiAJLyogQ3VycmVudCBzaGFyZWQgZXN0 aW1hdGUgb2YgYXBwcm9wcmlhdGUgc3BpbnNfcGVyX2RlbGF5IHZhbHVlICovCiAJaW50CQkJc3Bp bnNfcGVyX2RlbGF5OwogCS8qIFRoZSBwcm9jIG9mIHRoZSBTdGFydHVwIHByb2Nlc3MsIHNpbmNl IG5vdCBpbiBQcm9jQXJyYXkgKi8KQEAgLTM3NywxMSArMzc5LDEyIEBAIGV4dGVybiBQR1BST0Mg KlByZXBhcmVkWGFjdFByb2NzOwogICogV2Ugc2V0IGFzaWRlIHNvbWUgZXh0cmEgUEdQUk9DIHN0 cnVjdHVyZXMgZm9yIGF1eGlsaWFyeSBwcm9jZXNzZXMsCiAgKiBpZSB0aGluZ3MgdGhhdCBhcmVu J3QgZnVsbC1mbGVkZ2VkIGJhY2tlbmRzIGJ1dCBuZWVkIHNobWVtIGFjY2Vzcy4KICAqCi0gKiBC YWNrZ3JvdW5kIHdyaXRlciwgY2hlY2twb2ludGVyLCBXQUwgd3JpdGVyIGFuZCBhcmNoaXZlciBy dW4gZHVyaW5nIG5vcm1hbAotICogb3BlcmF0aW9uLiAgU3RhcnR1cCBwcm9jZXNzIGFuZCBXQUwg cmVjZWl2ZXIgYWxzbyBjb25zdW1lIDIgc2xvdHMsIGJ1dCBXQUwKLSAqIHdyaXRlciBpcyBsYXVu Y2hlZCBvbmx5IGFmdGVyIHN0YXJ0dXAgaGFzIGV4aXRlZCwgc28gd2Ugb25seSBuZWVkIDUgc2xv dHMuCisgKiBCYWNrZ3JvdW5kIHdyaXRlciwgY2hlY2twb2ludGVyLCBjdXN0b2RpYW4sIFdBTCB3 cml0ZXIgYW5kIGFyY2hpdmVyIHJ1bgorICogZHVyaW5nIG5vcm1hbCBvcGVyYXRpb24uICBTdGFy dHVwIHByb2Nlc3MgYW5kIFdBTCByZWNlaXZlciBhbHNvIGNvbnN1bWUgMgorICogc2xvdHMsIGJ1 dCBXQUwgd3JpdGVyIGlzIGxhdW5jaGVkIG9ubHkgYWZ0ZXIgc3RhcnR1cCBoYXMgZXhpdGVkLCBz byB3ZSBvbmx5CisgKiBuZWVkIDYgc2xvdHMuCiAgKi8KLSNkZWZpbmUgTlVNX0FVWElMSUFSWV9Q Uk9DUwkJNQorI2RlZmluZSBOVU1fQVVYSUxJQVJZX1BST0NTCQk2CiAKIC8qIGNvbmZpZ3VyYWJs ZSBvcHRpb25zICovCiBleHRlcm4gUEdETExJTVBPUlQgaW50IERlYWRsb2NrVGltZW91dDsKZGlm ZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaCBiL3NyYy9pbmNsdWRlL3V0 aWxzL3dhaXRfZXZlbnQuaAppbmRleCA4Nzg1YThlMTJjLi4wOGRjOWQ1Y2FhIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS91dGlscy93YWl0X2V2ZW50LmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMv d2FpdF9ldmVudC5oCkBAIC00MCw2ICs0MCw3IEBAIHR5cGVkZWYgZW51bQogCVdBSVRfRVZFTlRf QkdXUklURVJfSElCRVJOQVRFLAogCVdBSVRfRVZFTlRfQkdXUklURVJfTUFJTiwKIAlXQUlUX0VW RU5UX0NIRUNLUE9JTlRFUl9NQUlOLAorCVdBSVRfRVZFTlRfQ1VTVE9ESUFOX01BSU4sCiAJV0FJ VF9FVkVOVF9MT0dJQ0FMX0FQUExZX01BSU4sCiAJV0FJVF9FVkVOVF9MT0dJQ0FMX0xBVU5DSEVS X01BSU4sCiAJV0FJVF9FVkVOVF9QR1NUQVRfTUFJTiwKLS0gCjIuMTYuNgoK --_006_6DFA78ECEF4D4CB082C8AD5DA1B8E0ACamazoncom_--