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 1w0wh5-002LhA-11 for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 07:12:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0wh3-00293y-26 for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Mar 2026 07:12:22 +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 1w0wh3-00293q-0a for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 07:12:21 +0000 Received: from mail-japanwestazon11011004.outbound.protection.outlook.com ([40.107.74.4] helo=OS0P286CU010.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 1w0wh0-00000002QJY-2o1V for pgsql-hackers@lists.postgresql.org; Fri, 13 Mar 2026 07:12:21 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SQznhkPtKfeNMA/0OdMUX76MvD+qu1x3bB3ucxTthjgUrjD56of1Z0utDqbJFl2oVdOJxpqK7n9i4WhFRAoGrj+gTSEgzJkLrte2n3lFVZRLE+JgzwDBcwerduSPZLup4bleNPshsUJbjLtN/gvFgo8NRI6wbg7rM5NzT2pngl9iJUljlqZG0Ejy10hSlznEJVxXooV2nmWwEXzkIr+/ihyUngZSKOwe0LMmUKrO5KkBx/s39cRKX/psgQRu4Ebp1GJA8dn6Xs24C++6gaIaqT43Zzo68SO1uVDikXunug+xj5OfUjLiVFqA4HNXEKCk1Gf75O7+AuFSHPY6VrGF4w== 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=O5qjzJovvrHuySfwdHRXmnmQ3H+olyBMcOa3AnQn4Ao=; b=PSo7eV4uZfz0ocm8wXziygYjPI/NCx3L3MCPztYmsL8Y5LPOKTnAkAQr/rF+P0uaRgoJgQauzj+rET/PV/ufeMzEXQM9BUmd34itMCzxRuKK5l4/AQuoCJ4mBrKIVN0MjTfHb8K6slQrvOo1FsSsSTA1crsPxQJ2FIzSPUmbJ17GpqDOfGRlH93yiGIPWJ4kuxvJtGN7LArJOGVi+kxb1BedCeahuzfkiVN0LqsVbRi9zhhdV7HKF3JW1bTsCv/aiaDu/j9PGKd8Czwf7Hmdo6nuFsEbzUaJYw+nBQy4s6GkmYXF1v3NOH8xavyEb7q92n5CtBGikZHaSzTPJl0Emw== 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=O5qjzJovvrHuySfwdHRXmnmQ3H+olyBMcOa3AnQn4Ao=; b=beB6dVdK6ankkey0oaXUpuksRFWj18WbFXBkKXUnZjvxW2n1qWrSnV2ZU86BXoB6BB/iYcWrCaqYIwg3Ks1CymSgokdByYJsZm89M//HjOdZgQudctwylRaUvFkps7Dbf11SgpBeUz/yZmGEL3bSONv2IOuiEMQA+vaWTpGk3+mFdONbjkVvY7lyjNuZKnCZVSg0fR4CnDiBNhQ6RZTialn4uCaZDCSuTN53PFiXt7CPBB2fnNLTgFHMJms38mpDfVmh2tEE/DqEwsJbJ4/2Kt8pIzJcXRSzeXvZauP712I4NYI2o62c5EoWH+vPbefuAZnWRDvUUufSjhg+1gV1Ug== Received: from TY4PR01MB16907.jpnprd01.prod.outlook.com (2603:1096:405:338::22) by OS7PR01MB17769.jpnprd01.prod.outlook.com (2603:1096:604:463::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9700.16; Fri, 13 Mar 2026 07:12:09 +0000 Received: from TY4PR01MB16907.jpnprd01.prod.outlook.com ([fe80::bbb7:659c:a6e:927d]) by TY4PR01MB16907.jpnprd01.prod.outlook.com ([fe80::bbb7:659c:a6e:927d%4]) with mapi id 15.20.9700.013; Fri, 13 Mar 2026 07:12:09 +0000 From: "Zhijie Hou (Fujitsu)" To: Chao Li CC: Amit Kapila , shveta malik , Ajin Cherian , "Hayato Kuroda (Fujitsu)" , Ashutosh Sharma , PostgreSQL Hackers Subject: RE: [PATCH] Support automatic sequence replication Thread-Topic: [PATCH] Support automatic sequence replication Thread-Index: AQHclMAEzANLvjhWZU6Kdy4EwfRGq7VwxE4AgALLp4CAAdjUAIAAAIgAgAd6mACAAfU5gIAH/IAAgAEknICAACZ5gIAAMc0AgAMzVQCABBduAIAB47QAgABQMgCABLf1qYABZaZQgAMbtXCAA040gIABEEDAgAAYIICAAHAtAIAACApQgAePvYCAAy8WsA== Date: Fri, 13 Mar 2026 07:12:09 +0000 Message-ID: References: <02EDB3D2-4E5A-4EDE-BADF-3DF62D707831@gmail.com> In-Reply-To: <02EDB3D2-4E5A-4EDE-BADF-3DF62D707831@gmail.com> 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?NTBfQWN0aW9uSWQ9ZDBmODhhMzEtYTgzYy00ZDY1LWE0NjEtZGM3ZDk0MDJi?= =?utf-8?B?NGFkO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZXREYXRlPTIwMjYtMDMtMTJUMDc6MjE6MTFaO01TSVBfTGFiZWxfYTcyOTVj?= =?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: TY4PR01MB16907:EE_|OS7PR01MB17769:EE_ x-ms-office365-filtering-correlation-id: 350dc473-1d60-40b1-8536-08de80cfd798 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|56012099003|22082099003|18002099003|38070700021|1580799027; x-microsoft-antispam-message-info: J1VJkLj+1U55GDSDdSp3sqNGZLQc3fKd38DPsihOzCsiNZJ55L9usA9C3ossmLdbtP4FkrtYRpi3LwDLIDYkWUtHK4YBaQwm4nHj6XzsS20lkpJJz4hIm4R/sJkB2IIdcl160/zDWzkMdH0/uUj7TYRhpUQ70ZyUJuyQRjZ5t/07sUOHJ1ZSh29JUVMO1H//4gblkRpXRdFYV0vphltCDAgtvgS5p/lwyek+HvReXWWxLngLg042vOB/+4/pnQx/WnrAZdOXqlYuLyuoMQ7RK21nObVG/btQ4OPSNPPvT4H7fIDPTpwgP6W9KiF5ET2p1MTWleIgm5EUOqonCRbZvmjncytLd250peDNlkEI1tFc1AIGrMBw1tSbUGLjsHE26/rJoial+TrRWfa+nxs4GJv6QpEivs2jMH62+xE+ZT9GirRLU/I1BMnzs140U21VL3a/4pftiUBi+zkTW21XctaUzQjCicEem8zSWc+MCIwjzgQ8GDBHq4z6Z6Ko2Jj5IGvZHkDUNk0/17auJhIcyHkPRN8ojPvynRLtz77BjVXtM8TBDEu7UP9SKx3wkXK8W8jSITEtJp+R3D86o3IbcBIclDlE1NzywVzMAIB7H2hHLJ8YDK1Odz7t63rkHUSjWeaBdTTdyOkOnDqOWjFTHAuBL03TXjPW8umADwGhsuVev+nw87LEHQqQhs7YkwCEHsInxlFdWQ/a7wphUeAqcK9uJaDj34lLCm+aiuVO2NQtqFTkhNKxRMCAY8+ZjT7dgKFAa1G4a+kUAqtWsLsQ/J7eLVYp9CbxnrrjAl8l/IZR0MkSUWKmgO2FCMTxvWjnMJomgYzOG56GRtfV7qMlug== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY4PR01MB16907.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(56012099003)(22082099003)(18002099003)(38070700021)(1580799027);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZUkveDc5TlRLK29UWWxsc25aS0R5NkpvcEhTUTFTWXQweTZtSnhXUjZmV2pG?= =?utf-8?B?VG1EVlN0NGJLRTk4TnczT0ExQldrSEs4aXFTVzUwZ3BpTC8zQWxPNXBzL0t3?= =?utf-8?B?TU5oREN0M1NvaXE2NTJMalQ2eUF3a2xwOHVlM0tVY3dqaUpJejVPckJzNlo3?= =?utf-8?B?TzdlYmlKUEtxczZmUlZBbmtsVWdGQ0Z0ZzRGaHE0MHdNWmxWdGRuc3RtQ0gv?= =?utf-8?B?bXprc3A2WDQ5Q1JROHlJeEt3QjhVM2hYSms2aTI2L1czUVdoeXkyMWxBRFlW?= =?utf-8?B?Yk5hZzBrSm5EYU9KV1AwQ2RiU2hrNUtqWTIvRDhPYWhSRFdXUXlUSkJ0M0Fy?= =?utf-8?B?ZTRuNW4rVXEweEplL0NjWGt2ekN3OFkxdWVkSHRtbXRMeUxZa0NUS1FEWTV6?= =?utf-8?B?WmhSZ1lxOStYN0JtcHFRYUUzbFVCV3dzWVhzVG9Sa3l0eEZzMkhBMnFIWmJY?= =?utf-8?B?QUlkTEFLT0hRYUVtUjEzZlB4T05BY1FReXpYM2dLWVFqVkpIS2dic2lKZ0ph?= =?utf-8?B?ZktQTEt5V0libW0yVzBLalNZblRJWWlITXhWeEJEZGYzcWxsZWhQbUkyN2ZO?= =?utf-8?B?elRqa2h5VHBKa0ZLT21sY3ZXTjNmbi84ZFA0SUYvZjdsUk5HbVdJRFFldGkz?= =?utf-8?B?T2xYM1NIN0JVK3pxU1oybzRvYWVwZlBnOEpOSk9FWTh3SzkwcUV1MUJWc2w2?= =?utf-8?B?Sm1sQ2FleWJxajdnR05kSUlNVGsvRGJzMHltNlhFUjVPVGp5SU1ZamprV2ww?= =?utf-8?B?a3k2d0FVL2tiR08rNWcxbWNCdEY0V01HeUdsSStvZnNXdmUyV2h2eHdNZ3Ru?= =?utf-8?B?NS9CamUzWnk0YW8ybnZVZ2RTYlRFMWhzSmRoQ0JPUy9WTSt1ci9FUktvT3E3?= =?utf-8?B?T1pDSDQ2WmJwK2lEVkZVRVU5VlRKSG1pOTBPeU96MmdRQ0hjcHAvK28rb0I0?= =?utf-8?B?WXRkWWhVSjdiSDdWdGduaFplemhaZGptRU1YNGZSMVMyTFFRVmg5RmpmRXlt?= =?utf-8?B?U29nS3pZUHU3V2Z1WE1VRUpoK1dXWEVGZkVWQXJMNUJCMnlTaDdSVjBrVHpR?= =?utf-8?B?T3BZK01hMGt6U3FtS1RHVE1sUTltbGpCYXZsWis4OVFhQ0NnbWdVcHd2THJS?= =?utf-8?B?SVlGN1VNTGdodU81c1NaNEN3WDBkc3Y2STNLb0Z3MVZhSnc5Q3l5UTMxL1BO?= =?utf-8?B?N0pDM1RCaStXa21ZMlQ1Yzc0V3BVanlVOFFSQmVQOHhURzZVTVZSR0FCaS9E?= =?utf-8?B?M1hiS2hTWWFGOUtQSTZqNytMdlZTTHlnTzlpbEhlL1RjL09TYWVtRkVtdmdR?= =?utf-8?B?WmdiaWNyNWc0R3JtTldNam5wSDh5SCtGMHkxamFiVWUyNFltNVR3czJzQzJO?= =?utf-8?B?V3k2VlpJMTFhdHdRM2hpaHJoTTd2YjA0Zll4MmZaeXJRc0I4NVZ2Qm9KK3Zj?= =?utf-8?B?cFdjU2pnSW9vbVpmWEpnMHhxTXhSVmxZYkdWMjhvRWRJSGN3KzRhaXNKUFRm?= =?utf-8?B?TkY2UVFlNldQYVczbDNFTmpqQ3gybmVsdG9mZVJzaHFWajBlWTB1cXhORmd0?= =?utf-8?B?VWQ3UEJUTHZQTG5YS1NwOXNQbTF6d1RuaVZrVWxhUnRsQmtDRFM4RUZMQ0FL?= =?utf-8?B?Mkd5Z3hMdUVCdERjT2gxQUEyNVZwbzJubVgvdjY1Q1h6ZVEzeDBYNFY0WGtB?= =?utf-8?B?WjVJU1lnbzNNMTByb1pLQVlKRXp0WmlIb09LVEtrUDZSTGlMczVEK3g2Z21i?= =?utf-8?B?emVYbHBUWTFLQW02WUxOMXQrY0JJQXlpRm5yeXFNQUU3TTMzN1JPdUFsVzdY?= =?utf-8?B?N3lCTFJTcU5sUDlSSzE1cEV6WDNkaUpIWGxQWmlnN1pqNW9vb1NZRWVTbi9Q?= =?utf-8?B?aDRLRDIwdHdUODFnWTBlS2l3bnIyUzVLOGpQeDIvbSs1TGg0M3c3akpCbkVh?= =?utf-8?B?bWtzaG5HT2NVdUR5MmNBQkMrTm9pdU41bHVRaDYyaHVRd2MyRXNGTkVIVWhC?= =?utf-8?B?NVlUR1J1eS9BOENZUDY2NmtFcmRuOFkyWVpoRjM0bWEyMkU0TndTREM3cWMw?= =?utf-8?B?d3A4d25idHFaZlVKSWZsYVNpOGNxVThpVGVmdWJKdElTbnQ4aUFoU0tmRTRF?= =?utf-8?B?TTZ1N3l5VzlxZ3ROWkJlemE4OXNvQVNWajBGVmVhRzJIczJkaXJnTEJ3Y0xL?= =?utf-8?B?ZCsxejh2UnhsZlFHSjd2N3AxOEU0Snd2UFROR2lyOUxjZE5PRmx5M2E4am5F?= =?utf-8?B?OW9WSVplQlR6aUxmUnpWaERKaHp1WmxRVXNGTVFwZ1F5VVN2bUN4WTdkdkdS?= =?utf-8?B?a0tmVG1BQmxyQWxHMVF4UUF0eHk3NjlteDhDdmg1cmZOQ2p0bWx0dz09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: R0gEhqVYl931v0NYdek82Iqa8hV0FFUKxIC9C1nEeBxDZ5/o3pX9X/KuENM0muS6ZzEo3QH791+GeV8XDswz4QDdzkT1WYDX5+crnJNGIDa2FGH8upZzt5fzBJTNXyb4oAjwLmxQkcPZSSsocsqu31YiXGpHZJXVbYvhNwBVcI8xMUzX1IVjUC/kW2EK9aLFrh3liMX0SamqwoyJdWbvWfACDcs+uHMlp328oTQY5fpjsc9LfZ/A0njqV1V40NzbWscVlSt9Bk+/BDOHjfLQFE6M5yvE1dKIw7DdhhotitYgCvKIl81DCUGr/AiKIbnHnSIWzVg4v4fgSjbRWDwIPg== X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY4PR01MB16907.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 350dc473-1d60-40b1-8536-08de80cfd798 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Mar 2026 07:12:09.6255 (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: VMZP9d3lXHxL+u+caolVfJ7eJ6OR1zdlreHbD0qcx7rvEj1p1MVS1e49KqI4e3+Cz8M/DCA1LUWgN5RjGOwgqw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS7PR01MB17769 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gVHVlc2RheSwgTWFyY2ggMTAsIDIwMjYgMjo0NCBQTSBDaGFvIExpIDxsaS5ldmFuLmNoYW9A Z21haWwuY29tPiB3cm90ZToNCj4gVGhhbmtzIGZvciB5b3VyIGNsYXJpZmljYXRpb24gaW4gdGhl IG90aGVyIGVtYWlsLiBJIGhhdmUgcmV2aWV3ZWQgdjExIGFuZCBoZXJlDQo+IGNvbWVzIG15IGNv bW1lbnRzOg0KDQpUaGFua3MgZm9yIHRoZSBjb21tZW50cy4NCg0KPiANCj4gMSAtIDAwMDENCj4g YGBgDQo+ICBzdGF0aWMgQ29weVNlcVJlc3VsdA0KPiAtY29weV9zZXF1ZW5jZShMb2dpY2FsUmVw U2VxdWVuY2VJbmZvICpzZXFpbmZvLCBPaWQgc2Vxb3duZXIpDQo+ICt2YWxpZGF0ZV9zZXFzeW5j X3N0YXRlKExvZ2ljYWxSZXBTZXF1ZW5jZUluZm8gKnNlcWluZm8sIFJlbGF0aW9uDQo+IHNlcXVl bmNlX3JlbCkNCj4gIHsNCj4gLQlVc2VyQ29udGV4dCB1Y3h0Ow0KPiAgCUFjbFJlc3VsdAlhY2xy ZXN1bHQ7DQo+ICsJT2lkCQkJc2Vxb2lkID0gc2VxaW5mby0+bG9jYWxyZWxpZDsNCj4gKw0KPiAr CS8qIFBlcmZvcm0gZHJpZnQgY2hlY2sgaWYgaXQncyBub3QgdGhlIGluaXRpYWwgc3luYyAqLw0K PiArCWlmIChzZXFpbmZvLT5yZWxzdGF0ZSA9PSBTVUJSRUxfU1RBVEVfUkVBRFkpDQo+ICsJew0K PiArCQlpbnQ2NAkJbG9jYWxfbGFzdF92YWx1ZTsNCj4gKwkJYm9vbAkJbG9jYWxfaXNfY2FsbGVk Ow0KPiArDQo+ICsJCS8qDQo+ICsJCSAqIFNraXAgc3luY2hyb25pemF0aW9uIGlmIHRoZSBjdXJy ZW50IHVzZXIgZG9lcyBub3QgaGF2ZQ0KPiBzdWZmaWNpZW50DQo+ICsJCSAqIHByaXZpbGVnZXMg dG8gcmVhZCB0aGUgc2VxdWVuY2UgZGF0YS4NCj4gKwkJICovDQo+ICsJCWlmICghR2V0U2VxdWVu Y2Uoc2VxdWVuY2VfcmVsLCAmbG9jYWxfbGFzdF92YWx1ZSwNCj4gJmxvY2FsX2lzX2NhbGxlZCkp DQo+ICsJCQlyZXR1cm4gQ09QWVNFUV9JTlNVRkZJQ0lFTlRfUEVSTTsNCj4gKw0KPiArCQkvKg0K PiArCQkgKiBTa2lwIHN5bmNocm9uaXphdGlvbiBpZiB0aGUgc2VxdWVuY2UgaGFzIG5vdCBkcmlm dGVkIGZyb20NCj4gdGhlDQo+ICsJCSAqIHB1Ymxpc2hlcidzIHZhbHVlLg0KPiArCQkgKi8NCj4g KwkJaWYgKGxvY2FsX2xhc3RfdmFsdWUgPT0gc2VxaW5mby0+bGFzdF92YWx1ZSAmJg0KPiArCQkJ bG9jYWxfaXNfY2FsbGVkID09IHNlcWluZm8tPmlzX2NhbGxlZCkNCj4gKwkJCXJldHVybiBDT1BZ U0VRX05PX0RSSUZUOw0KPiArCX0NCj4gKw0KPiArCS8qIFZlcmlmeSB0aGF0IHRoZSBjdXJyZW50 IHVzZXIgY2FuIHVwZGF0ZSB0aGUgc2VxdWVuY2UgKi8NCj4gKwlhY2xyZXN1bHQgPSBwZ19jbGFz c19hY2xjaGVjayhzZXFvaWQsIEdldFVzZXJJZCgpLCBBQ0xfVVBEQVRFKTsNCj4gKw0KPiArCWlm IChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spDQo+ICsJCXJldHVybiBDT1BZU0VRX0lOU1VGRklD SUVOVF9QRVJNOw0KPiArDQo+ICsJcmV0dXJuIENPUFlTRVFfQUxMT1dFRDsNCj4gK30NCj4gYGBg DQo+IA0KPiBJIHRoaW5rIHdlIGNhbiBtb3ZlIHBnX2NsYXNzX2FjbGNoZWNrKCkgdG8gYmVmb3Jl IHRoZSBkcmlmdCBjaGVjaywgYmVjYXVzZSBpdOKAmXMNCj4gYSBsb2NhbCBjaGVjaywgc2hvdWxk IGJlIGNoZWFwZXIgdGhhbiBhIHJlbW90ZSBjaGVjay4gSWYgdGhlIGxvY2FsIGNoZWNrIGZhaWxz LA0KPiB3ZSBkb27igJl0IG5lZWQgdG8gdG91Y2ggcmVtb3RlLg0KDQpJdCBtYWtlcyBtb3JlIHNl bnNlIHRvIHN0cnVjdHVyZSB0aGUgcGVybWlzc2lvbiBjaGVjayBhcm91bmQgdGhlIGFjdHVhbA0K cmVxdWlyZW1lbnQuIFNpbmNlIHdlIG9ubHkgdXBkYXRlIHRoZSBzZXF1ZW5jZSB3aGVuIGEgZHJp ZnQgaXMgZGV0ZWN0ZWQsIHRoZQ0KcGVybWlzc2lvbiBjaGVjayBzaG91bGQgbmF0dXJhbGx5IGZv bGxvdyB0aGF0IG9yZGVyLiBJZiB0aGUgcGVybWlzc2lvbiBjaGVjaw0KZmFpbHMsIGFuIGVycm9y IHdpbGwgYmUgcmFpc2VkIGFueXdheSwgYW5kIGluIHRoYXQgY2FzZSwgcGVyZm9ybWFuY2UgaXMg bGVzcyBvZg0KYSBjb25jZXJuLg0KDQo+IA0KPiAyIC0gMDAwMQ0KPiBgYGANCj4gK3N0YXRpYyBD b3B5U2VxUmVzdWx0DQo+ICtjb3B5X3NlcXVlbmNlKExvZ2ljYWxSZXBTZXF1ZW5jZUluZm8gKnNl cWluZm8sIFJlbGF0aW9uIHNlcXVlbmNlX3JlbCkNCj4gK3sNCj4gKwlVc2VyQ29udGV4dCB1Y3h0 Ow0KPiAgCWJvb2wJCXJ1bl9hc19vd25lciA9IE15U3Vic2NyaXB0aW9uLT5ydW5hc293bmVyOw0K PiAgCU9pZAkJCXNlcW9pZCA9IHNlcWluZm8tPmxvY2FscmVsaWQ7DQo+ICsJQ29weVNlcVJlc3Vs dCByZXN1bHQ7DQo+ICsJWExvZ1JlY1B0cglsb2NhbF9wYWdlX2xzbjsNCj4gKw0KPiArCSh2b2lk KSBHZXRTdWJzY3JpcHRpb25SZWxTdGF0ZShNeVN1YnNjcmlwdGlvbi0+b2lkLA0KPiArDQo+IFJl bGF0aW9uR2V0UmVsaWQoc2VxdWVuY2VfcmVsKSwNCj4gKw0KPiAmbG9jYWxfcGFnZV9sc24pOw0K PiBgYGANCj4gDQo+IEkgdGhpbmsgR2V0U3Vic2NyaXB0aW9uUmVsU3RhdGUgaXMgY2FsbGVkIHRv IGdldCBsb2NhbF9wYWdlX2xzbi4gQnV0DQo+IGxvY2FsX3BhZ2VfbHNuIGlzIG9ubHkgdXNlZCB2 ZXJ5IGxhdGUgaW4gdGhpcyBmdW5jdGlvbiwgYW5kIHRoZXJlIGlzIGFuIGVhcmx5DQo+IHJldHVy biBicmFuY2gsIHNvIGNhbiB3ZSBtb3ZlIHRoaXMgY2FsbCB0byByaWdodCBiZWZvcmUgd2hlcmUg bG9jYWxfcGFnZV9sc24NCj4gaXMgdXNlZD8NCg0KWWVzLCB3ZSBjYW4gZG8gdGhhdC4gQ2hhbmdl ZC4NCg0KPiANCj4gMyAtIDAwMDENCj4gYGBgDQo+ICAJLyoNCj4gIAkgKiBSZWNvcmQgdGhlIHJl bW90ZSBzZXF1ZW5jZSdzIExTTiBpbiBwZ19zdWJzY3JpcHRpb25fcmVsIGFuZCBtYXJrDQo+IHRo ZQ0KPiAtCSAqIHNlcXVlbmNlIGFzIFJFQURZLg0KPiArCSAqIHNlcXVlbmNlIGFzIFJFQURZIGlm IHVwZGF0aW5nIGEgc2VxdWVuY2UgdGhhdCBpcyBpbiBJTklUIHN0YXRlLg0KPiAgCSAqLw0KPiAt CVVwZGF0ZVN1YnNjcmlwdGlvblJlbFN0YXRlKE15U3Vic2NyaXB0aW9uLT5vaWQsIHNlcW9pZCwN Cj4gU1VCUkVMX1NUQVRFX1JFQURZLA0KPiAtCQkJCQkJCSAgIHNlcWluZm8tPnBhZ2VfbHNuLA0K PiBmYWxzZSk7DQo+ICsJaWYgKHNlcWluZm8tPnJlbHN0YXRlID09IFNVQlJFTF9TVEFURV9JTklU IHx8DQo+ICsJCXNlcWluZm8tPnBhZ2VfbHNuICE9IGxvY2FsX3BhZ2VfbHNuKQ0KPiArCQlVcGRh dGVTdWJzY3JpcHRpb25SZWxTdGF0ZShNeVN1YnNjcmlwdGlvbi0+b2lkLCBzZXFvaWQsDQo+IFNV QlJFTF9TVEFURV9SRUFEWSwNCj4gKwkJCQkJCQkJICAgc2VxaW5mby0NCj4gPnBhZ2VfbHNuLCBm YWxzZSk7DQo+IGBgYA0KPiANCj4gSW4gdGhlIGNvbW1lbnQsIEkgdGhpbmsgeW91IGRvbuKAmXQg aGF2ZSB0byBhZGQg4oCcaWYgdXBkYXRpbmcgLi4gdGhhdCBpcyBpbiBJTklUDQo+IHN0YXRl4oCd LCBidXQgaWYgeW91IGRvLCB0aGVuIHlvdSBzaG91bGQgYWxzbyBtZW50aW9uIHRoZSBsc24gY29u ZGl0aW9uLg0KDQpDaGFuZ2VkLg0KDQo+IA0KPiA0IC0gMDAwMQ0KPiBgYGANCj4gKwkJCWVsc2UN Cj4gKwkJCXsNCj4gKwkJCQkvKg0KPiArCQkJCSAqIERvdWJsZSB0aGUgc2xlZXAgdGltZSwgYnV0 IG5vdCBiZXlvbmQgdGhlDQo+IG1heGltdW0gYWxsb3dhYmxlDQo+ICsJCQkJICogdmFsdWUuDQo+ ICsJCQkJICovDQo+ICsJCQkJc2xlZXBfbXMgPSBNaW4oc2xlZXBfbXMgKiAyLA0KPiBTRVFTWU5D X01BWF9TTEVFUF9NUyk7DQo+ICsJCQl9DQo+IGBgYA0KPiANCj4gRG91YmxlIHRoZSBzbGVlcCB0 aW1lIHdoZW4gbm8gZHJpZnQgaXMgYW4gb3B0aW1pemF0aW9uLiBCdXQgbG9va3MgbGlrZSB0aGUN Cj4gZG91YmxpbmcgaGFwcGVucyBvbmx5IHdoZW4gYWxsIHNlcXVlbmNlcyBoYXZlIG5vIGRyaWZ0 LiBTYXksIHRoZXJlIGFyZSAxMDAwDQo+IHNlcXVlbmNlcywgYW5kIG9ubHkgb25lIGlzIGhvdCwg dGhlbiB0aGUgaXQgd2lsbCBzdGlsbCBmZXRjaCB0aGUgMTAwMCBzZXF1ZW5jZXMNCj4gZnJvbSBy ZW1vdGUgZXZlcnkgMiBzZWNvbmRzLCBtYWtpbmcgdGhlIG9wdGltaXphdGlvbiBtdWNoIGxlc3Mg ZWZmaWNpZW50LiBJDQo+IHRoaW5rIHRoZSB3b3JrZXIgY2FuIHdha2UgdXAgZXZlcnkgMiBzZWNv bmRzLCBidXQgbmV4dCBmZXRjaCB0aW1lIHNob3VsZCBiZQ0KPiBwZXIgc2VxdWVuY2UuDQoNCkkn bSB1bnN1cmUgd2hldGhlciB0aGUgY29tcGxleGl0eSBvZiBwZXItc2VxdWVuY2UgaW50ZXJ2YWwg YWRqdXN0bWVudCBpcw0KanVzdGlmaWVkLiBXZSBjb3VsZCBjb25zaWRlciB0aGlzIGFzIGEgZnV0 dXJlIGVuaGFuY2VtZW50IGJhc2VkIG9uIHVzZXINCmZlZWRiYWNrLg0KDQo+IDUgLSAwMDAxDQo+ IGBgYA0KPiArICogSWYgdGhlIHN0YXRlIG9mIHNlcXVlbmNlIGlzIFNVQlJFTF9TVEFURV9SRUFE WSwgb25seSBzeW5jaHJvbml6ZQ0KPiBzZXF1ZW5jZXMNCj4gYGBgDQo+IA0KPiDigJxUaGUgc3Rh dGUgb2Ygc2VxdWVuY2UgaXMgU1VCUkVMX1NUQVRFX1JFQURZ4oCdIGlzIGluYWNjdXJhdGUsIEkg dGhpbmsgaXQNCj4gc2hvdWxkIGJlIOKAnHRoZSBzdGF0ZSBvZiBzZXF1ZW5jZSBzeW5jIGlzIFNV QlJFTF9TVEFURV9SRUFEWeKAnS4NCg0KSSBzbGlnaHRseSByZXdvcmRlZCB0aGUgY29tbWVudHMu DQoNCj4gNiAtIDAwMDENCj4gDQo+IHN0YXJ0X3NlcXVlbmNlX3N5bmMgcnVucyBhbiBpbmZpbml0 ZSBsb29wIHRvIHBlcmlvZGljYWxseSBzeW5jIHNlcXVlbmNlcy4gSQ0KPiBkb27igJl0IGl0IGhh cyBhbiBhdXRvIHJlY29ubmVjdCBtZWNoYW5pc20uIFdoZW4gc29tZXRoaW5nIHdyb25nIGhhcHBl bnMsDQo+IHRoZSBzeW5jIHdvcmtlciB3aWxsIGV4aXQsIGhvdyBjYW4gdGhlIHdvcmtlcg0KDQpU aGUgY29tbWVudCBzZWVtcyBpbmNvbXBsZXRlLg0KDQo+IA0KPiA3IC0gMDAwMQ0KPiANCj4gU2F5 IGEgbWFqb3IgdmVyc2lvbiB1cGdyYWRlIHVzZSBjYXNlIHRoYXQgdXNlcyBsb2dpY2FsIHJlcGxp Y2F0aW9uLiBCZWZvcmUNCj4gc2h1dGRvd24gdGhlIHB1YmxpY2F0aW9uIHNpZGUgKG9sZCB2ZXJz aW9uKSwgaWYgdGhlcmUgYXJlIDEwMDAgc2VxdWVuY2VzLCBob3cNCj4gY2FuIGEgdXNlciBkZWNp ZGUgaWYgYWxsIHNlcXVlbmNlcyBoYXZlIGJlZW4gc3luY2VkPyBGcm9tIHRoaXMgcGVyc3BlY3Rp dmUsDQo+IHdvdWxkIGl0IG1ha2Ugc2Vuc2UgdG8gbG9nIGEgSU5GTyBtZXNzYWdlIHdoZW4gYWxs IHNlcXVlbmNlcyBoYXZlIG5vIGRyaWZ0Pw0KPiBJZiBuZXh0IHJvdW5kIHN0aWxsIG5vIGRyaWZ0 LCB0aGVuIGRvbuKAmXQgcmVwZWF0IHRoZSBtZXNzYWdlLiBJbiBvdGhlciB3b3JkcywNCj4gd2hl biB0aGUgc3RhdGVzIGJldHdlZW4gKGFsbCBubyBkcmlmdCkgYW5kIChhbnkgZHJpZnQpIHN3aXRj aCwgbG9nIGEgSU5GTw0KPiBtZXNzYWdlLg0KDQpUbyBkZXRlcm1pbmUgd2hldGhlciBhIHNlcXVl bmNlIG5lZWRzIHRvIGJlIHJlc3luY2hyb25pemVkLCB1c2VycyBzaG91bGQgY2hlY2sNCnNyc3Vi bHNuIGluIHBnX3N1YnNjcmlwdGlvbl9yZWwsIGFzIGRvY3VtZW50ZWQgaW4gWzFdLiBUbyBlbnN1 cmUgYWxsIHNlcXVlbmNlcw0KYXJlIGZ1bGx5IHN5bmNlZCwgdGhleSBjYW4gc2ltcGx5IGV4ZWN1 dGUgUkVGUkVTSCBTRVFVRU5DRSBhcyB0aGUgZmluYWwgc3RlcC4NCg0KPiANCj4gOCAtIDAwMDEN Cj4gYGBgDQo+ICtib29sDQo+ICtHZXRTZXF1ZW5jZShSZWxhdGlvbiBzZXFyZWwsIGludDY0ICps YXN0X3ZhbHVlLCBib29sICppc19jYWxsZWQpDQo+IGBgYA0KPiANCj4gVGhpcyBmdW5jdGlvbiBu YW1lIGZlZWxzIHRvbyBnZW5lcmFsLiBIb3cgYWJvdXQgUmVhZFNlcXVlbmNlU3RhdGUgb3INCj4g R2V0U2VxdWVuY2VMYXN0VmFsdWVBbmRJc0NhbGxlZD8NCg0KSSBhbSBub3Qgc3VyZSBpZiB0aGUg c3VnZ2VzdGVkIG5hbWUgaXMgYmV0dGVyLCBjb25zaWRlcmluZyB0aGF0IHdlIGFscmVhZHkNCmhh dmUgU2V0U2VxdWVuY2UoKS4NCg0KPiANCj4gOSAtIDAwMDENCj4gYGBgDQo+ICsJCQkJCWVsb2co RVJST1IsICJ1bnJlY29nbml6ZWQgU2VxdWVuY2UNCj4gcmVwbGljYXRpb24gcmVzdWx0OiAlZCIs IChpbnQpIHN5bmNfc3RhdHVzKTsNCj4gYGBgDQo+IE5pdDogVGhlIOKAnFPigJ0gc2VlbXMgbm90 IGhhdmUgdG8gYmUgY2FwaXRhbC4NCg0KQ2hhbmdlZC4NCg0KPiANCj4gMTAgLSAwMDAyDQoNCjAw MDIgaW5jbHVkZXMgc2lnbmlmaWNhbnQgY2hhbmdlcyBpbiB0aGlzIHZlcnNpb24sIHRob3VnaCBJ IGhhdmUgbWFkZSBhbiBlZmZvcnQgdG8gYWRkcmVzcw0KdGhlIGNvbW1lbnRzIHRoYXQgYXJlIHN0 aWxsIGFwcGxpY2FibGUuDQoNClsxXSBodHRwczovL3d3dy5wb3N0Z3Jlc3FsLm9yZy9kb2NzL2Rl dmVsL2xvZ2ljYWwtcmVwbGljYXRpb24tc2VxdWVuY2VzLmh0bWwjU0VRVUVOQ0VTLU9VVC1PRi1T WU5DDQoNCkJlc3QgUmVnYXJkcywNCkhvdSB6ag0K