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 1q4cuj-0004W1-GH for pgsql-hackers@arkaria.postgresql.org; Thu, 01 Jun 2023 07:40:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1q4cuh-0002BB-Up for pgsql-hackers@arkaria.postgresql.org; Thu, 01 Jun 2023 07:40:03 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q4cuh-0002Aa-JD for pgsql-hackers@lists.postgresql.org; Thu, 01 Jun 2023 07:40:03 +0000 Received: from esa2.fujitsucc.c3s2.iphmx.com ([68.232.152.246]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1q4cue-003RZy-4l for pgsql-hackers@lists.postgresql.org; Thu, 01 Jun 2023 07:40:02 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1685605201; x=1717141201; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=OMHHd6HACnK6twagJR/INvg3HmsyoUuq5K0hadDva1A=; b=EKvb32Q2rmgy3Odkft38B/TS2XzfgFWfGLIcuz8a4usRicYmHFFwiHpm F4jbq4iYnHWszR7ICHC4PjWZDaNb/tt9OPs6HPITFAcyxIiiVHAW7Tgsn VDHdJ772KBgXhEBWDy64P75oBHac0e7TT8v6UYPYSNRbhiYSYg7bU2AtO ql9aaHCuooooJpBWgex1mbjrhdOJ8lhlK/xc3d9g7D+w09DLRbnhsMi57 sofqft+p5LpnwYtP7ByUZNPENWsynjZBHuhs36WlNrPkNj1u09eKIWz6T qCbPI/5ui2KB5Y4ZRyryyXOS6csv5fgf1KfLadTHgNLZw/AYoL3glfmyo Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10727"; a="94239086" X-IronPort-AV: E=Sophos;i="6.00,209,1681138800"; d="scan'208";a="94239086" Received: from mail-tycjpn01lp2176.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.176]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Jun 2023 16:39:56 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XrevwH+J+HlemENMguRZvp/jNClLeR0w7bEM+O/L6UigcaQQXJ6f2DiWqqBpYjEngcGC5v9KY79+vrRVSRBJ2gXAmBJhR7QuBsThAV9tzNt9l5zNV4co9talQRhblLsIZq1SS2fXweIz12dkdl4Zw7IM04n3GxZu1RHH9ZoswlWq9qMTooxO7uisQSrw7ardnID8ee1PwBbol3fAfRe5L0VaDPQm0sBUqptdNbTdakFUZQ7XPttXxz9E/1Gail7Mp+Uo9/gYUtAvORZXuKIgWMrz+SpHKU7BEiFQT9Scaz+n9h/QxEjhYY24y8tyeXpyEkS/yu1NVQq8MJ+TKBgDRw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=OMHHd6HACnK6twagJR/INvg3HmsyoUuq5K0hadDva1A=; b=Cn9ADFxEnCngikUnYhOHIf3zo9vf0RztkZ5yWkFntqi4MtR/TmQpciHONpoGOHlQcR97GAdxxHOWF4Ir51/YqazWaURSFY1hZoQXqXLnAqVezs6C4Xkay5sSOzOspD/AJhuG5IPFELZYLdkT1GwlJInz2/qVI9GQNoWd/fcEM5CZRJAhU6KmQvyz28whwbnIESofwTEe6zW9bjqltKqCG2DBXmaGrfJ94lRqU0phpNVU42VHgwVO6o6m6m+/C+QHGL4qFZwKJCa7JxWqBoMs36XCiLSE01dK1Da4rSgNb7nPQTpOBuzU2Ckw3ANZXN78eNe0R21jQCZqQc22AAHbWQ== 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 Received: from OSZPR01MB6310.jpnprd01.prod.outlook.com (2603:1096:604:f7::9) by TYWPR01MB10663.jpnprd01.prod.outlook.com (2603:1096:400:2a3::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.23; Thu, 1 Jun 2023 07:39:52 +0000 Received: from OSZPR01MB6310.jpnprd01.prod.outlook.com ([fe80::c8ae:747d:de66:92c9]) by OSZPR01MB6310.jpnprd01.prod.outlook.com ([fe80::c8ae:747d:de66:92c9%7]) with mapi id 15.20.6433.024; Thu, 1 Jun 2023 07:39:51 +0000 From: "Yu Shi (Fujitsu)" To: shveta malik CC: vignesh C , Amit Kapila , "Zhijie Hou (Fujitsu)" , Ajin Cherian , "Wei Wang (Fujitsu)" , Runqi Tian , Peter Smith , Tom Lane , li jie , Dilip Kumar , Alvaro Herrera , Masahiko Sawada , Japin Li , rajesh singarapu , PostgreSQL Hackers , Zheng Li Subject: RE: Support logical replication of DDLs Thread-Topic: Support logical replication of DDLs Thread-Index: AQHZVpmKAPN9rYxtxkOUHGO05Wkgeq78tRYAgAa3VoCABFw3AIAAox8AgAS/ZwCAAHmiAIAAm1SAgABcKQCAAQ2QAIADTRAAgAAXBgCAAB27gIAHbeeAgACMKICABCq/gIAAArsAgAU8bICACwwVgIAEKxsAgABYlACAAD2tgIAHSf2AgAU4YICABbf7gIAJ6ywAgAAJEACAAZAeAIAEbmoAgAgYlICAABHOAIAHgqQAgAsDw/CAA1+9AIABb3RQ Date: Thu, 1 Jun 2023 07:39:51 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfQWN0aW9uSWQ9ZDhjOGUzYjYtZGUzZi00ZGYyLThkN2MtZTE0ODU5NzIw?= =?utf-8?B?Y2FhO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX0NvbnRlbnRCaXRzPTA7TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5?= =?utf-8?B?LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfRW5hYmxlZD10cnVlO01TSVBfTGFi?= =?utf-8?B?ZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX01ldGhv?= =?utf-8?B?ZD1TdGFuZGFyZDtNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9OYW1lPUZVSklUU1UtUkVTVFJJQ1RFRO+/ou++gA==?= =?utf-8?B?776LO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?utf-8?B?ZWNlMDUwX1NldERhdGU9MjAyMy0wNi0wMVQwNzozNTo0NFo7TVNJUF9MYWJl?= =?utf-8?B?bF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2UwNTBfU2l0ZUlk?= =?utf-8?Q?=3Da19f121d-81e1-4858-a9d8-736e267fd4c7;?= 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: OSZPR01MB6310:EE_|TYWPR01MB10663:EE_ x-ms-office365-filtering-correlation-id: 19427214-2c29-4470-4ccf-08db62736298 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: R7BdEYik7aH6v0D2opkvwOiHjteGDr1Ftnbc2nYLr4mr62+QPzy+WmK/E5Ts5N0jhu/BwPiSFCNYgpxZ2ht0vK3+sLuvaU7Rjju8jApg3p7m0WYRh/L0gQYUYO0GrLB9kPaRoiMQz0Gtdb2pLvjYu0ook2y0jHbI0GmFrrzdux5Y+jmSgSXLL2hJBN8gKV3v81ARTQ+CIv8jykLF3GWD2SB6yg4OcJOkPNG3Vgo3BMsP40+Rp5HvszVSfJa8YFHfiK5otSmCLWVREP3VnSv9rqd/r//El2i0/p3JEVfUyCViFPSQWWvIvHrJEcLAOKASYO4lkxDHrRFjM6xcYcc2s+xlvw344V3rpSkhHF6/64A+pHTi9NqjndcTIwpUVCN4rqfp2/Gc42TtyWM7KvHLSFSOoPjkJZld6p6Gr0RNcTfleuedjYNtW1noWubOg4OqOjR+2KOIh3smed5gE4WtJfhRoPXKSBEvwjWtb0xEiDfUrJpuHJW8vrr8kvKvmt3/CNLt4c3yViUBoTAnJLnd4e8HT1Cln1+z6Z1yaRG/h3Va6mE1/W2g8OVyuOGDmSck1fjxNjsL4UvIXWnfPespn+nbNHDMG8TvnBz86Sm1qOP2PpF7Gxc35MSTeseiJqk0+8YW8CD4YzJAjEMOXu5eS2TwTg43wuKnqEQ1gYo2xNY= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OSZPR01MB6310.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(396003)(136003)(346002)(39860400002)(376002)(1590799018)(451199021)(82960400001)(38100700002)(122000001)(85182001)(86362001)(38070700005)(33656002)(1580799015)(8936002)(8676002)(41300700001)(7416002)(5660300002)(52536014)(6506007)(53546011)(26005)(9686003)(55016003)(66556008)(2906002)(186003)(316002)(66476007)(76116006)(66446008)(71200400001)(66946007)(7696005)(54906003)(478600001)(4326008)(6916009)(64756008)(21314003);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VERxQVR2QUhkaUxjVGxsTXpyVEQ3TkRxSVIyaHNYMGdTeW1EelFURDJTaWY5?= =?utf-8?B?SlJVbyt5bVA4VGxHYndGcFdyVVY3UTZFcysrSjdzR1JyYXIwOUJ2Sk1odnVW?= =?utf-8?B?VEhwWUFpKzdGNkVOajFzbDdXRnE2ZGtZUm1UWnhFKzNkK2RGUjRVUEZCM2o0?= =?utf-8?B?YjFad0VWeE0zdmNnQmxtbmYwUVBPSnBqWDhVODlTNE5EUDVCVTlRSHVPcUFE?= =?utf-8?B?N3lmRG9PM0pCQzIvYzZFdHN6Zm9VNjN5WmIzL01ZbGoxdDlCbDhiMzdQUGxP?= =?utf-8?B?d0JhOEhPWW9IZCtISXE1Y2ZuYjhPSW4za2dXM21pekJzVXhDU0NNNjUwNjRV?= =?utf-8?B?dGFQQkJBZjdjWGZyVzZIUXp3bjlXVng2eXBrU3dwRHZseDlLemhRMGZXTFFB?= =?utf-8?B?bUxVWWhkTkxkNi9jQ2QvL0EwdHp2RzFJTmNXejBPV284dExvZWdDeERYSGM3?= =?utf-8?B?ckFYUVRaWFErb2NkbjVYRzhJWlVYQk5OeERJRVNKbFlBdktHTHZMc1NMNVlH?= =?utf-8?B?M0tEc1p6bHh1dFVsR3BxQ3JPOUlMS25hc2FSMkdqRjMzWkJyYU4zRXZSRGdF?= =?utf-8?B?eGYzR3liS3hFVWl1aHlIR0NES0FTUSt6RVpwZUZPSkJ6eTI5WE9pZ0ZJYnBT?= =?utf-8?B?NDVGVStWMjJ1N1RDamxETVNXa2lNbjM2TUs4MGo3ODVJTGZxZzZyUHNVV3RW?= =?utf-8?B?VnBEUW15dmpXSlF0WGUvRU5zeGN1akZCVnJ3dGNUZ25OOUlzTmFlVUpEZi9N?= =?utf-8?B?ZnY1eE00QklHSS9BUUc1a3BaY2RwUXVyVkYzb0NBSE5vOVFHS3E2V21LbEVm?= =?utf-8?B?NGpvT3JEK0FsaUVuME1vUFZOVHJ0VXFLWUQ3ekxVckVmZlNxc2pVNFk0Nklo?= =?utf-8?B?bU15aEIweGJYY1dYZWR3VEhjd3dBTHZJMjBDVWR0cUNYREpFV3AycEpOZGR1?= =?utf-8?B?QlZCSW9yWTlUKzRMemdhRFdETlNId2lKWjVLbkZNQmJIRkc5Q2w2cWxOOGRt?= =?utf-8?B?ZUtmVi8wZXB3VGZnWFl4QStIdVRkdStyZFlhTnlqRXhKTWY0dlpQbDB6Qk53?= =?utf-8?B?ZE4xalZEdEZNYUlPMThOS1c3V29XUy9tYXFDeFlVdjFZYzZ4ZURHMmZUU1Fk?= =?utf-8?B?YkllNlYyUWxNMVpFUVdXY1pyaDdGRjhpczhlNHV5MVBnS2NPclZpK2NKakkx?= =?utf-8?B?QU9sNkg0OWMzdGk2WkZyNGpMTGJYdUlTNG9QUjBzc2t0RHpaUUNNYytvOUlw?= =?utf-8?B?dExDa2xpYWo0TWlENVRxYWNOZjF5bDZLWGM1M0YxMjRDNDlrZkZoM0U3VVNl?= =?utf-8?B?UDJNQk1GNWl2ZWVJUitMdUpJbUZ2RUdicnIxS2FhWExGK3RvdTNGV2N2M1M3?= =?utf-8?B?Qm1jWWI4bUpDbVlETTZwMFFjRFlZZzBySTRZem9SQjkwNGdUYnpxdFlteVRq?= =?utf-8?B?d1NQcTN6NVFsSWtkY3ZmYjRiS3lrcDZOSUZkOCtTQkNtNll0bnU0dzJJTkwr?= =?utf-8?B?VEZ2ZitTYUNNcnduZDIzMloydVYxbDZiaEpaQ210UVBpeVNSbmZBc3lWN01U?= =?utf-8?B?TC9ybHp1TVhuaWRJcVpkcmpkendoQjhFb1QvbTdwWlpiVEozRjQ2NGFyYW84?= =?utf-8?B?Q1d6ZDdEb3lVcTNsYWZmenFYbyt6Y3ExQWd5d2JscnNWRHV2ZWpBL0dBTGhs?= =?utf-8?B?S0t5QUxmUDRlRzFCaktxTG8vRWxOeFVpMFJBNzV4bC9xWkNDKzhvK2I4M1do?= =?utf-8?B?VE81RVFCa1g5cms5V21OM0Rsb0xUWnlMd1hmMUZLSjFiZmRmaGh6Rmx5MlFO?= =?utf-8?B?N1E4bURmb0FIOFROZk1TNEsydTd0ZVU4M05kZUJEbDh1bS9wdlhNelNaZGpX?= =?utf-8?B?bm9IdzdIMkt2OGFPSlY4emV5dlVPWUR4ZkdBSjFSTUpUSHIrWElSSkZPcW8x?= =?utf-8?B?NW1PMHZTY3B3NjU1SnpaajRyZU5vdTJZVTdpclBjaURlaHU0ekUzelJzbUhr?= =?utf-8?B?VDBxeWJtWGl5Y3V5UVFpTkl6TDVQNFFFY0J5QnoxK2hJRXFqVm5IVzlna0xB?= =?utf-8?B?NHZMbld4clBzZG1uRFdRQVBlZHh2Q1NpTGt1RGlrT1lxWTdUNGRBdlRubXc4?= =?utf-8?Q?OB7G8Oa02TvCQ/fY1fq+1URRY?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: OPoxH7pzKZXEUDEAKJuKNk87ixNYWRQfHxHnsK0AXTtPfqeSfEiNGLQcjGak0LwNgziyiMfZKsUOVQDIRpup5+Dl6CxSubltkHciy/goNuJKNgcJeNTJA0jLeQ/vHpZboYBaNjFvWDsmwrrwY1axGFg//DpYxN0nkpgs5foREHM7anyW6TMsvHyJqYrGi4NCGQd/Hmp+zWwSrwNpdqIp//CboyOR9kWBV+ndP5NDnef0x2LC7DXWpQp0ydbYfT62hdAHq8/GgdjRdzzl5kUFNplZ8V7qrEZJZN+H/6eyimB3LyOXWsuLa6wBg9zLJydu4TJZ4Ehf/VCaC7pyUm1V4DNK3krzLI1n5daWLSjB8TghgqLCkrzpBDEkWwtvNpVLYITa5+yhZDgBwbEMTr7mypS2NjoXaYF9CB/Nu45xpNiB7v3iG3BNGHY0/Y6ldzYL/yVwyDCNFri8MKoajEJDU77CiTo1y5K8Oq80Gi0qwNCS1H76lHKtEUmdlsLSFuY4upJlU64o0mYovCePLXBJixCUqmzKE6Q8ZERJ5kqZpn3MCtAWXq956i3e6bOCudzUIE3mc66+Odw6qLS3ZrQt1szw7e2IyjTsJ6s15hO5NuxOGwvG+PM7WmddtmiZM5+tgajtC+711qpF1mzwYeCJk3adlDN12kmOdFM7gMeTbcqinr9gRaRGLNWQcNduhnvbgzs5MlCHwrA7fESW1eEHI0WNgia1OO1LQgaAuSiS8hGF35IAvzNuqP3VLp84FKsUfS+2N+8mzBzYNIUW4rvPZTSazN40H2bsEITmaBOW2TeihVYNZsnOrZoYIfDEk64BoQOELMH9OD7Wed/AueRy2lFa9uW9cV3ObkfxOKAgBeld4skP6VVn7yMmE3qpb9lnOb/ssEmI5hLAVnIhTlDIjendkRDkMnLWQK4yxU9tloA= X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OSZPR01MB6310.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19427214-2c29-4470-4ccf-08db62736298 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jun 2023 07:39:51.7803 (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: FCMFhiZ8/5/sjBojX4QyZQI8JONc5odVvWlz3t/WAGA0ILhyOoM2INeiQjufK/GZNxQ3Bj0K3tnScDKh2sYqaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB10663 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gV2VkLCBNYXkgMzEsIDIwMjMgNTo0MSBQTSBzaHZldGEgbWFsaWsgPHNodmV0YS5tYWxpa0Bn bWFpbC5jb20+IHdyb3RlOg0KPiANCj4gT24gTW9uLCBNYXkgMjksIDIwMjMgYXQgMTE6NDXigK9B TSBZdSBTaGkgKEZ1aml0c3UpIDxzaGl5LmZuc3RAZnVqaXRzdS5jb20+DQo+IHdyb3RlOg0KPiA+ DQo+ID4gMDAwOCBwYXRjaA0KPiA+IC0tLS0tDQo+ID4gNC4NCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICBjYXNlIEFUX0FkZENvbHVtbjoNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIFhYWCBuZWVkIHRvIHNldCB0aGUgInJlY3Vyc2UiIGJpdCBzb21ld2hlcmU/ICov DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBc3NlcnQoSXNBKHN1YmNtZC0+ ZGVmLCBDb2x1bW5EZWYpKTsNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRy ZWUgPSBkZXBhcnNlX0NvbHVtbkRlZihyZWwsIGRwY29udGV4dCwgZmFsc2UsDQo+ID4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKENvbHVtbkRlZiAqKSBzdWJjbWQtPmRlZiwgdHJ1ZSwNCj4gJmV4 cHIpOw0KPiA+DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJrX2Z1bmN0 aW9uX3ZvbGF0aWxlKGNvbnRleHQsIGV4cHIpOw0KPiA+DQo+ID4gQWZ0ZXIgdGhpcyBjaGFuZ2Us IGBleHByYCBpcyBub3QgYXNzaWduZWQgYSB2YWx1ZSB3aGVuIG1hcmtfZnVuY3Rpb25fdm9sYXRp bGUgaXMNCj4gY2FsbGVkLg0KPiA+DQo+IA0KPiBDb3JyZWN0ZWQuDQo+IA0KDQpJdCBsb29rcyB0 aGUgY2FsbCB0byBtYXJrX2Z1bmN0aW9uX3ZvbGF0aWxlKCkgaXMgcmVtb3ZlZCBpbiB0aGlzIGNh c2UuIEkgdGhpbmsNCndlIHN0aWxsIG5lZWQgaXQsIG90aGVyd2lzZSB3ZSB3b24ndCBrbm93IGlm IHRoZSBjb21tYW5kIGNvbnRhaW5zIGEgdm9sYXRpbGUNCmZ1bmN0aW9uLiAoc2VlIGNoZWNrX2Nv bW1hbmRfcHVibGlzaGFibGUoKS4pDQoNCj4gPiA1Lg0KPiA+IGNyZWF0ZSB0YWJsZSBwMShmMSBp bnQpOw0KPiA+IGNyZWF0ZSB0YWJsZSBwMV9jMSgpIGluaGVyaXRzKHAxKTsNCj4gPiBhbHRlciB0 YWJsZSBwMSBhZGQgY29uc3RyYWludCBpbmhfY2hlY2tfY29uc3RyYWludDEgY2hlY2sgKGYxID4g MCk7DQo+ID4gYWx0ZXIgdGFibGUgcDFfYzEgYWRkIGNvbnN0cmFpbnQgaW5oX2NoZWNrX2NvbnN0 cmFpbnQxIGNoZWNrIChmMSA+IDApOw0KPiA+DQo+ID4gVGhlIHJlLWZvcm1lZCBjb21tYW5kIG9m IHRoZSBsYXN0IGNvbW1hbmQgaXMgIkFMVEVSIFRBQkxFICBwdWJsaWMucDFfYzEiLA0KPiB3aGlj aA0KPiA+IHNlZW1zIHRvIGJlIHdyb25nLg0KPiA+DQo+IA0KPiBGaXhlZCwgc2Vjb25kIGFsdGVy LXRhYmxlIHNob3VsZCBhY3R1YWxseSBiZSBuby1vcCBpbiB0ZXJtcyBvZg0KPiBkZXBhcnNpbmcu IEJ1dCB3aGVuIGl0IGlzIHJ1biB3aXRob3V0IHJ1bm5pbmcgdGhlIGZpcnN0IGFsdGVyLXRhYmxl DQo+IGNvbW1hbmQsIGl0IHNob3VsZCBnZW5lcmF0ZSB0aGUgcmVmb3JtZWQgY29tbWFuZC4NCj4g DQoNCklmIHRoZSBzZWNvbmQgYWx0ZXItdGFibGUgaXMgbm8tb3AgaW4gdGVybXMgb2YgZGVwYXJz aW5nLCB0aGUgZHVtcGVkIHJlc3VsdCBvZg0Kb3JpZ2luIGNvbW1hbmQgYW5kIHRoYXQgb2YgcmUt Zm9ybWVkIGNvbW1hbmQgd2lsbCBiZSBkaWZmZXJlbnQuIFRoaXMgc2VlbXMgdG8gYmUNCmJlY2F1 c2UgYGNvbmlzbG9jYWxgIGNvbHVtbiBvZiBwZ19jb25zdHJhaW50IGhhcyBkaWZmZXJlbnQgdmFs dWVzLiAoQWZ0ZXIgdGhlDQpzZWNvbmQgYWx0ZXItdGFibGUsIGl0cyB2YWx1ZSBpcyBjaGFuZ2Vk IGZyb20gZmFsc2UgdG8gdHJ1ZS4pDQoNClJlZ2FyZHMsDQpTaGkgWXUNCg0K