Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wVPbI-001wWg-2M for pgsql-bugs@arkaria.postgresql.org; Fri, 05 Jun 2026 08:08:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wVPbG-00Atu6-1H for pgsql-bugs@arkaria.postgresql.org; Fri, 05 Jun 2026 08:08:18 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wVPbF-00Attx-38 for pgsql-bugs@lists.postgresql.org; Fri, 05 Jun 2026 08:08:18 +0000 Received: from mail-japaneastazlp170100000.outbound.protection.outlook.com ([2a01:111:f403:c405::] helo=TY3P286CU002.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wVPbD-00000001NxE-1CKf for pgsql-bugs@lists.postgresql.org; Fri, 05 Jun 2026 08:08:17 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=h/hXk2fyZ8u4sqO4Xyhnw94zBzbmmqcFpgGM64BnZMgS+7s2INyt1JTF1djdleAcb02t7TQw9FfC56YohYxo4y06yERVjPtTetVDrj6zacWO7SsaZw/6ymIhw+WlpkLNGuVmE7RGUfs+8Bp+LDG7Li8AF1DCEeSBXn41vTkjf26GE7Iy0+V9mdRpVlIG8oGAUOh8XJs6K3mQilBSnOP/NZY88i3woZpaU6/YalNU12SRipqWQr/76HfVQ5coAfjTtf5gVB2Vd14SQx3DEdqsKJaIRSQwPU7tR0jBpZafXBPoQDL2oD92WqRPTZN+rr58mrl5t+RGjiZU9RMRTgrdLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=F09qtZvNOb0lFFTy25WFZ2tqJF58ipe9hT8tBfgxKyk=; b=dufiPPZzoVJwlJP4i7cih5cYkKhe6gL1XJbYTDcAYJHkWB3D2Fpt/V+jers1hZ3rWJ1DfK8ZTHHwT1JrDY9BzhmBdUFy+BxR2hUzJvrHdxNN75/3EBzcn7pIUHX4I4wVwbZUwgFBHwy3wh+A0GOF3fcPD1vECScSs905wChKj0rRdr59wtpaqOYlX4RYwZLKtLznVvIsKbOMH1t+CKt5ZAN3+qUDXdbxSjuckBAst8mnXOZ+fGLSuv+PJuFPke5pT7dauSfkc10T3FRkWOGRo1fhZH5rL0lRcfvBEhaHt97GeT1DcbhL1464YFJS7TgevT6D21lMww/yxRNMGTJQWg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=F09qtZvNOb0lFFTy25WFZ2tqJF58ipe9hT8tBfgxKyk=; b=ciDh8Z8SlYsss/IeHhR0aVNKHxywahpKh2t+QeKnfimgSuwCuwnOa3jbHIT+xHewkLl0WF42fSwlG+UBfmYAAlwpjHR2acjwgxnUipriVu1iXdENcU2fiXzHn8oM9A8KYnL6s4m0BDN2akC68129BOcESRIZWtAvuTiE7sWtRxrTyzF6EgRKM4kpMIbVK1FttqmwQc+L9NFs8aFj+w3J1nYJw2987hL5VKNs5jN3xZixY1buda4TgE1vPAp+o3mpmzeRF7Y1LXP8tGc7VUTXf4/3/6Httir+Sg7KxoulevXAI4BNw/qGU6cA4zRmOYU4RrRTk7R1o14JdlFvmBax3g== Received: from TY4PR01MB17718.jpnprd01.prod.outlook.com (2603:1096:405:38a::22) by OSAPR01MB7373.jpnprd01.prod.outlook.com (2603:1096:604:142::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.92.8; Fri, 5 Jun 2026 08:08:07 +0000 Received: from TY4PR01MB17718.jpnprd01.prod.outlook.com ([fe80::7430:f96b:750d:8a04]) by TY4PR01MB17718.jpnprd01.prod.outlook.com ([fe80::7430:f96b:750d:8a04%5]) with mapi id 15.21.0048.013; Fri, 5 Jun 2026 08:08:07 +0000 From: "Zhijie Hou (Fujitsu)" To: Alvaro Herrera , Antonin Houska CC: Srinath Reddy Sadipiralla , "n.kalinin@postgrespro.ru" , "pgsql-bugs@lists.postgresql.org" Subject: RE: BUG #19500: pgrepack logical decoding plugin can crash assert builds via SQL decoding API Thread-Topic: BUG #19500: pgrepack logical decoding plugin can crash assert builds via SQL decoding API Thread-Index: AQHc7sG5S7vqzqH5bkq8Xf9uOUf3ArYlD/SAgATmS4CAAmY6gIAAG66AgADjCACAAkqhYA== Date: Fri, 5 Jun 2026 08:08:07 +0000 Message-ID: References: <33766.1780471821@localhost> In-Reply-To: Accept-Language: en-AS, ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9YjNhMzY5ZmEtN2U3Ny00NzE5LWE5MTAtZTQxZjAyMzFk?= =?utf-8?B?ODIzO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFROKAiztNU0lQ?= =?utf-8?B?X0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0ZmVjZTA1MF9T?= =?utf-8?B?ZXREYXRlPTIwMjYtMDYtMDVUMDg6MDI6MzNaO01TSVBfTGFiZWxfYTcyOTVj?= =?utf-8?B?YzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX1NpdGVJZD1hMTlmMTIx?= =?utf-8?B?ZC04MWUxLTQ4NTgtYTlkOC03MzZlMjY3ZmQ0Yzc7TVNJUF9MYWJlbF9hNzI5?= =?utf-8?B?NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfVGFnPTEwLCAzLCAw?= =?utf-8?Q?,_1;?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TY4PR01MB17718:EE_|OSAPR01MB7373:EE_ x-ms-office365-filtering-correlation-id: a029ee92-4ec8-483c-8d90-08dec2d993df x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|11063799006|4143699003|1580799027|3023799007|6133799003|56012099006|22082099003|18002099003|38070700021; x-microsoft-antispam-message-info: VNDEy/tbJfYKSbkbI50ltxCuw0vmo3s0aUVg0lmAoRr2y1e0p1RxchLSyl9WMgffKuoYYvEiWNreQPk+cmgybG3aYmCmbpcu48OnJJX/AZbvDEx4caEO8EMLfxwYBW7vjSBcJXgSFOKcTIN8dmDvyR+fdvygQAM5v6IsnxyvKTDANFdbg84GGaw9oAcujrFctp8OukhZUA0PBrpHOU8df+yAnVhzzFTo30xeBqLbUGJPvEw8NLuAwLQUyKUZZTklI5B7fnzWGM+2LE8/drjiq+XqQNyqbIr10FrGvMdrrqVa6JU4MBofyQ+mjOaSZR7oApD5xJwElkCi+snBcDKEqlndEU2hT8T6XEJhF7UoytqWcid21sr3fKY5kiIDTkUzPOLbOh7NcJ5T2NLh4CWOM3exFyJ0AKJ/uYO6CMllUoQQ24woL45pnQRUJfeXRAKaCl86gJP6penevaPU7LilmteL2JkquNdXIiUqS7OJenmkaLMrBlg8s99fI968EANKfcNnbpgUeGvTNOhxwlXnHb/qyIp3hz92UfX7J36KQK8md02aMgW4du0Usb5xuW+hg65qDht7YFKFGkfv6D61srojwKkTSRcwsFoNPrp3irKIkjYRW03yY2n/CvnmJvucrJ7//lfTSH1tmvzOFCmKT2TP977A2kHfe7qHTYQV94PhpmQVQ3cI4sPgipsFABsB5eignMx5benKl5LcfCkyNIqIAVxxEs5Gylwl3OLiQrZPj/1tGOMychlceA9ckZupE/w5y0+g1/NgB9DtLY1zrw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY4PR01MB17718.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(11063799006)(4143699003)(1580799027)(3023799007)(6133799003)(56012099006)(22082099003)(18002099003)(38070700021);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RlpzNXI2LzQxZnFvenN4SVJzTDN1MS9GTDFLRmw4RFRtM01oSDBSOVFFbDJ0?= =?utf-8?B?SGJrY29FZnFKOE9TbWE4QlBNNmM2cGxCV2hZUmV4TjdjL21ZdkRYUjhmeS9S?= =?utf-8?B?ckFVZEJQQ1BENGw3dkJjN3ZkVFFpZjMxZkFDZUV3bElpSkZEZHpwQjJ0SmZw?= =?utf-8?B?aVVBb3pHZ1FlclY5c3dFdUY2RmJkdCtaVFc1T0V3K3BnYitwZVd5NEo3Q0NI?= =?utf-8?B?dDRxbXAzZkhkZHFpYjBITm9YbHcrRk1OOHNIdDQyUHF3SUxqdjJudll6Q2xs?= =?utf-8?B?Q0RTajVRL2ZWK3Z5T0hDa0ZOTzM5dlozYVB4K2lxOGRueU5wTGVJSVdneW40?= =?utf-8?B?M3JCcTVoT0JEakhGMHlTYVJpZURvQnhwL2twakc5Q3hVVmFwTnBiK3dXdUZW?= =?utf-8?B?ZTBPa2E3dngyVUlzYnZnYVM1SmVkbTEvWkdsY0FsQ201ZlRTMEJwVHY3eU9R?= =?utf-8?B?WWVKVWM2TkNzbmJiZUhkNGZwNUlkY3A1cS9qNlhoNE0vSFhLNnVPM1E0U3FC?= =?utf-8?B?Y2pqQzJxOXd5aUJTcHNXS0RYNWhOeDZVRWJBSWJRR2hkYnJxMDIwbjAwTnNv?= =?utf-8?B?WXQyN0R4ZUs0M05LVnFFV05yUmI4UVNMa2t0Vlg1UGMwQnJjTDRuNkcvOHJL?= =?utf-8?B?L25yN05wSmwxUmwxUHRHdW00TS8rOWJSNVZVVWZ4UDBKWURiY1J3Q3dwRXZo?= =?utf-8?B?dmdOWjJhem5nZk1yWHRHQXVIMnI5ODM4MUJucGZsL0p4ZXhvU0I4dkw4cUQ2?= =?utf-8?B?SHl5dHIxeUpGcDJCUUpjeHJ0ekhiT2tvM0U4cDZpZFRlZDFiODJoZktCNW53?= =?utf-8?B?R2p4UnU5dTljb3Y3Y1JaV0lIdXNmMzlZM0NOMmRYMXg1YTYwazB0eXR1RHMy?= =?utf-8?B?WnJaUHlCQXAyUDlqdU1oVnVmMmFzWndrOTlJRERoWmFKU3dCcmNpMENJblRJ?= =?utf-8?B?aFF1U0d1WXZpbnBHZmt0SzBxaHBpa2ZGbDVjV1RncWhnamJwSmVNRXFVbUJE?= =?utf-8?B?ZGQ3cGxZZUpZaWJKQUgzVkNBbDVvOHQwRThUaTlRc3d5bHh0c0hwb0J3ZTJR?= =?utf-8?B?aytUWWZ2YVVBcU1DUVdXbDF6UDhRdDN5RnM3L1ZjeTBVanIydENTTUZ0NzJD?= =?utf-8?B?K05BaVFoc0tYTGg5NUNNc3h5c2kvdjRWR2s2M0c0bk9yaVk1eUpvMDZ0Z1ZQ?= =?utf-8?B?VVRTM240Q1BBaURVRjJKTmROL1RmcWxOS0w5c2J6OGhPU2VROGVjbHFjSGdp?= =?utf-8?B?VjVQNTNVRlZpbFkzZkV4M0dsdkNGZG85am0xSVgvZ3pTaFRpSDA4ZXF1bGtP?= =?utf-8?B?TjA0dTlXelZxR01aTEV0OWk3YWJuTkdHV2NsdzB6QWIrOXlPUWREUFdwd25T?= =?utf-8?B?RWRYeU90eG1mT3lVWWxOajlhT0M3eDM0SzVZakVFWlhWVk5oMktDWm01Rk4w?= =?utf-8?B?UmFKcmxRV2tvRExJaUlVV2FBQTQ4UVRpb0Q2KzlqbGVmSmJ1VUhzUjljMzlB?= =?utf-8?B?NnBWdkxrNVM0SjlXaXpBOGNvTGovNSt4b05wcEsyQmNnRngzZWo2RXowckFG?= =?utf-8?B?RDNhN1ZLRk9yQThzZ2o0SzhxT0h2U0ZJdEh1R0k1SHNjTy9jaEJMSFhDQ05M?= =?utf-8?B?TSt6TDU5NU5NOUZwOE5ua3JIblJzRXk1aTF0TnRGbVpqNzYxeGlXQjNjdGQz?= =?utf-8?B?VjRLTk4zalV1c25BK2NrQzY0VkFINXVHMkhUa2tSNzNQRDVDM3A4WkZTamNP?= =?utf-8?B?T0VGQk1qTXhKMnRPeDNXWTIxYzllK2hxQ1NWMkRoWGRQMUhvZ1JEQkhOeFE2?= =?utf-8?B?ZlNrN2pWdFB2aWJCTUpRM2dSOUJZTFZLcDA3QU5scFF2M1FqbmhjeUZiY2lD?= =?utf-8?B?dnBvM1NrRVBJdW1pUjMram80UHo5ZlJKeW84aDRJNUxXNjNZcFgwS2J1RWdG?= =?utf-8?B?a01pczZkc0tqekxaVzJMNXJqTXFGRWFqRnplWEZyTDRIenQzM2lEeHMyR2V5?= =?utf-8?B?VzdDcEZZZHRtUGZjN0hSdWhXZkwzaGp2RjgrUGNUVHZQZzArL0RPSWxZaVVV?= =?utf-8?B?bFpVNjJPQXhOa2tGTU9mWndEK2F6UW8rSTBsbytrcnNEV0lTZFR5ZlAxTlFB?= =?utf-8?B?Z0F4VGVMbFkwbEtvR05FaXFqR3BiQTFOWEoyTDh4elRDbXBLZ1BrZ0ZpMnRY?= =?utf-8?B?ZG1mdVBvS1B6WmRqNS8wbHVEcXN1OFpuSzZVUmlKTnlYVTlGLzhWL1d5amtY?= =?utf-8?B?d0UxYytMVmdCa3V3bWxyckxCZk10R1V2dmVzN0NmT2xld2JrRXJsWE5vRkQ5?= =?utf-8?B?YVJScXJ5ZnhQMWhnUGZEOEwrSWVSWktLZFZCMWZqZFN5SUJjd2xwZz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: S1b02mBdNMLUU4iLc0FtX5dc5I4bxDWKW2HQ6Qm7uJQsvX1Wlo9JkWsDH5E68oMETX1bCdGNizmBk3HVrO01aoWMY9GX4srbzLGhX/huhp/jTy7NKToGpAmA1ck5HlqHYE6W0U5oTb7FoQcRFn4EPvXPDzjcqtpcyH3Md45tUOBawctm9qKhf2ld6tBeCzYSWwKVAtRHpB9pXlRT0WuBhnF2tyPMBGERL+vfdVpQyYJrBvDzMU78oZL0ucampClwcww99Zko8nLgXqSi9eoqudSXjOSOyAo4e02nlonMJWylXljXGuQ3yhB/GH8AeLIrYEI7Uy02MSQ+zQJCwlu0Cg== X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY4PR01MB17718.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a029ee92-4ec8-483c-8d90-08dec2d993df X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Jun 2026 08:08:07.7313 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JK0d2+qMZidcs7m2Ngs2Ao97LqkgMJnS7Pl6RwTE7C6VtxEJjupc/w8sjDKmuLyhvqiNthXEUxozmX/2mNkH2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSAPR01MB7373 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gVGh1cnNkYXksIEp1bmUgNCwgMjAyNiA1OjAzIEFNIEFsdmFybyBIZXJyZXJhIDxhbHZoZXJy ZUBrdXJpbGVtdS5kZT4gd3JvdGU6DQo+IE9uIDIwMjYtSnVuLTAzLCBBbnRvbmluIEhvdXNrYSB3 cm90ZToNCj4gDQo+ID4gU3JpbmF0aCBSZWRkeSBTYWRpcGlyYWxsYSA8c3JpbmF0aDIxMzNAZ21h aWwuY29tPiB3cm90ZToNCj4gPg0KPiA+ID4gQ291bGQgd2UgcmVqZWN0IHRoZSBwZ3JlcGFjayBw bHVnaW4gYXQgc2xvdCBjcmVhdGlvbiBpbnN0ZWFkLCBpbg0KPiA+ID4gcGdfY3JlYXRlX2xvZ2lj YWxfcmVwbGljYXRpb25fc2xvdCgpIGFuZCB0aGUgQ1JFQVRFX1JFUExJQ0FUSU9OX1NMT1QNCj4g PiA+IGNvbW1hbmQsIHNvIG1pc3VzZSBnZXRzIGEgY2xlYXIgInJlc2VydmVkIGZvciBSRVBBQ0sN Cj4gKENPTkNVUlJFTlRMWSkiDQo+ID4gPiBlcnJvciB1cCBmcm9udCwgYmVmb3JlIGFueSBkZWNv ZGluZz8gUkVQQUNLIGNyZWF0ZXMgaXRzIHNsb3QNCj4gPiA+IGRpcmVjdGx5IHZpYSBSZXBsaWNh dGlvblNsb3RDcmVhdGUoKSwgc28gaXQncyB1bmFmZmVjdGVkLCBhbmQgdGhlDQo+ID4gPiBiZWdp bi1jYWxsYmFjayBjaGVjayB3aXRoIG1hZ2ljIGd1YXJkIGNhbiBzdGF5IGFzIHRoZSBpbnRlcm5h bCBzYWZldHkgbmV0Lg0KPiA+ID4gSGFwcHkgdG8gYmUgdG9sZCB0aGlzIGlzbid0IHdvcnRoIHNw ZWNpYWwtY2FzaW5nIDopDQo+ID4NCj4gPiBBbm90aGVyIHBvc3NpYmxlIGFwcHJvYWNoOiByZXN0 cmljdCB0aGUgdXNlIG9mIHRoZSBwbHVnaW4gdG8gdGhlDQo+ID4gUkVQQUNLIGRlY29kaW5nIHdv cmtlci4NCj4gDQo+IEkgZG9uJ3QgbGlrZSBlaXRoZXIgb2YgdGhlc2UgYXBwcm9hY2hlcywgYmVj YXVzZSB0aGV5IGFyZSBmb3JjaW5nIHRoZSBnZW5lcmljDQo+IGZhY2lsaXR5IChlaXRoZXIgc2xv dCBjcmVhdGlvbiBvciBsb2dpY2FsIGRlY29kaW5nIHNldHVwKSB0byBrbm93IHNvbWV0aGluZw0K PiBhYm91dCBvbmUgc3BlY2lmaWMgdXNlciBvZiB0aGUgZmFjaWxpdHkuICBUaGF0IGlzIHRvIHNh eSwgdGhlIHJlc3RyaWN0aW9uIGlzIGJlaW5nDQo+IGFkZGVkIG9uIHRoZSB3cm9uZyBzaWRlIG9m IHRoZSBhYnN0cmFjdGlvbi4NCj4gSSBrbm93IG15IGltcGxlbWVudGF0aW9uIHRoZSBkcmF3YmFj ayB5b3UgKFNyaW5hdGgpIG1lbnRpb25lZCwgYmVjYXVzZQ0KPiB0aGUgYWJzdHJhY3Rpb24gZG9l c24ndCBwcm92aWRlIHVzIHdpdGggYSBncmVhdCB3YXkgdG8gaW5qZWN0IGFuIGVycm9yIHJlcG9y dCBhdA0KPiB0aGUgZXhhY3Qgc3BvdCB3ZSBuZWVkIGl0OyBidXQgSSB0aGluayBpdCdzIGF0IHRo ZSBjb3JyZWN0IHNpZGUgb2YgdGhlIGFic3RyYWN0aW9uLg0KDQpJIGhhdmUgbm8gb2JqZWN0aW9u IHRvIHRoZSBwcm9wb3NlZCBhcHByb2FjaC4gQnV0IEkgd291bGQgbGlrZSB0byBjb25maXJtDQp3 aGV0aGVyIHJlcG9ydGluZyBhbiBFUlJPUiBpbiB0aGUgc3RhcnR1cCBjYWxsYmFjayAod2hlbiB0 aGUgY29udGV4dCBpcyBub3QgYQ0KUkVQQUNLIGRlY29kaW5nIHdvcmtlcikgaXMgY29uc2lkZXJl ZCBhY2NlcHRhYmxlLg0KDQpMaWtlOg0KDQpyZXBhY2tfc3RhcnR1cChMb2dpY2FsRGVjb2RpbmdD b250ZXh0ICpjdHgsIE91dHB1dFBsdWdpbk9wdGlvbnMgKm9wdCwNCgkJCSAgIGJvb2wgaXNfaW5p dCkNCi4uLg0KCWlmICghQW1SZXBhY2tXb3JrZXIoKSkNCgkJZXJlcG9ydChFUlJPUiwNCgkJCQll cnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwNCgkJCQllcnJtc2coInRoaXMg cGx1Z2luIGNhbiBvbmx5IGJlIHVzZWQgYnkgUkVQQUNLIChDT05DVVJSRU5UTFkpIikpOw0KDQpC ZXN0IFJlZ2FyZHMsDQpIb3UgemoNCg==