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 1oLKv9-000380-H2 for pgsql-hackers@arkaria.postgresql.org; Tue, 09 Aug 2022 08:49:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oLKv8-0002Kb-4l for pgsql-hackers@arkaria.postgresql.org; Tue, 09 Aug 2022 08:49:02 +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 1oLKv7-0002JQ-Ne for pgsql-hackers@lists.postgresql.org; Tue, 09 Aug 2022 08:49:01 +0000 Received: from esa8.fujitsucc.c3s2.iphmx.com ([68.232.159.88]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oLKv5-00080A-6H for pgsql-hackers@lists.postgresql.org; Tue, 09 Aug 2022 08:49:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1660034938; x=1691570938; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=PSY/k3qf06Q0ZgteoRWMYNx0dBwf80jx0Sl00NkXqdU=; b=hSc20DjDHM9phXYyOgUdED75isqN9CUTmySb+YnXJlH53g+l/ClFzbaJ Svx4tQUM06jPvlCA0g9g5FZy8WIAPar/VsPCJjylO3DW0HVcpIpf2EJcv ECQvGxovqnhXVH9i41PYFtQrdS1cOQx/CzgZW13s9lLa4H8BJFUhbTPOJ GYdOtk0NcVTyiLSa43MCFjN69fFjJ4AKGOCkVUTxJOsu4+LICwfxXk/ZW HNAPmxMUE3pAnScpvdK5wqcAp6YuY5nUeP/X7+mSX+SGxIOj9ENK9iXkY Q+LMoNURcpJa2k3XDIXzNi6keprLIMPltYCwEwLD1NHiz55wCwcHjhb5K Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10433"; a="62390199" X-IronPort-AV: E=Sophos;i="5.93,224,1654527600"; d="scan'208";a="62390199" Received: from mail-tycjpn01lp2170.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.170]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Aug 2022 17:48:56 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=axlN4YfV4jqHPKI4i99LSagj0XwQwojAqjy6ODJy2oMEGSHkv0UsyC8T3YUNtldtz6Jt9PGkOSKvhiQyQ3RZvyYoRVTM8r8nwpXCMw5EUClvwKxWNQ/vQPNMAiKac8ks4CPolwwHRmC5wYfJpHD3b0ft2CpP5qn8tZHJ/YjkCTvr0067cwR6kzm/W6UUkjhPIaRTYGb4GXGqhA6Pnk4Q+UKQCgunL0UJmYXr4qYW9iF9LAXo8G7ckD5UIOLnwLlZf/JH6hJXKiRAxyqYBvXFZy7l4hQgwA9nmTrb292RHpfY03e/eNyliiZamu0Wyd16KdouriuyrZpzHbc6ySzqZw== 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=PSY/k3qf06Q0ZgteoRWMYNx0dBwf80jx0Sl00NkXqdU=; b=a0B7y3PpOqPkBWswRgsg/07/zVsagVCa1xRXoVvpRdTLwB6C6SJxr7kNC2H8AlfWjiWii9LSXkDYLq8JfpvJLjaW5qaV6D4PkhIPdGIi/nS9f/1gspuZNCyW8TEQYB1HPThQ76GyhLAVGAUgNTPGJgON6UBpd4DzhL9FPekP09b1fLees7uhgLuFYQ5mGFAhraQ/WESFlC7lWrjIYmiOOXC+DgsFV2iFg4NX17Y53lQlORwzsOghCAE2ZA/rJ/e9L4RRjtYi2RR+RQi3bID0netby4TTCRERgi1Tu6FF8qYRQiaJdctXZUv8jfZq0iOtNEsajZIQ//YUxY+v/qCwHQ== 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 TYAPR01MB5866.jpnprd01.prod.outlook.com (2603:1096:404:8056::13) by TYAPR01MB3392.jpnprd01.prod.outlook.com (2603:1096:404:bb::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Tue, 9 Aug 2022 08:48:54 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::a0cd:dc5c:2d27:85fc]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::a0cd:dc5c:2d27:85fc%9]) with mapi id 15.20.5504.021; Tue, 9 Aug 2022 08:48:53 +0000 From: "kuroda.hayato@fujitsu.com" To: "wangw.fnst@fujitsu.com" CC: Dilip Kumar , Peter Smith , Masahiko Sawada , "shiy.fnst@fujitsu.com" , PostgreSQL Hackers , Amit Kapila , "houzj.fnst@fujitsu.com" Subject: RE: Perform streaming logical transactions by background workers and parallel apply Thread-Topic: Perform streaming logical transactions by background workers and parallel apply Thread-Index: AQHYSXX67NoYEfdPmEWsDniEZU+Lb6zlvxQAgAkRYICACBI2gIABs50AgAA5UwCAApvIgIAFAGuAgAXc1wCAADa7gIALO/aAgAsRZICAB606AIAS+CyAgAAufICAAWQLgIABHxKAgAA3o4CAAeE3gIAJPr0AgAkxzACAAiJoAIAC0hUAgARvDICABQA2gIAAFvcAgAeBmICABO9ggIAJO+YAgABu1YCACQzpAIAJSy6AgAS+zICABq7mgIABSJUAgAAOtoCAACmRgIAB78qAgAqL+oCAB/a9cA== Date: Tue, 9 Aug 2022 08:48:53 +0000 Message-ID: References: In-Reply-To: Accept-Language: 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?NTBfQWN0aW9uSWQ9OGIzN2M3ZTMtZmI0NS00YjgxLTg1MTAtY2Y2YzQ4NWNl?= =?utf-8?B?OWMyO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0wOC0wNFQwNjozNDoxNVo7TVNJUF9MYWJl?= =?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-office365-filtering-correlation-id: cf3e6b0e-ecc4-4c45-c619-08da79e3fd39 x-ms-traffictypediagnostic: TYAPR01MB3392:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: EZ2Gwoub0ETVFaU0HWFRdaAPTwF6zXGSHvFhsFIkNVMbYFK9cs2rZGHogFrWs/VJRc5jFhWgwMVrfQ94qpt9qrRN+5nldtpM0lhJ1llqc4z6FeTGRcczAvKKLhXFzTWqkKcpeuWlJTks94vsfn+3B7i3HlcqygztYnnpMj22aFD4j82lnYdXOpc062/tyFohPTnXenZdV9TlGn2DxCWuWcQVDcpfnImaVwfN4NePqqqHHh5HGL59bvi6STd8FjWkKuKzKbqp4jvX1IR9FJuBZrQnpPS66dPR5jsUi7mhz/o0wHiV4G9RFImC+jvGPGY0TLNtpDEx0HD+LTF/15TqGLoMNMCbvB078rju/mrjkRp6QrekyHRKNzYq+0EF4yoEc+a+F8l3qv0uNlDHNH3VETkJLKUupo5YK05nu1KTZefPsT5ctidlQxv2fYDu0j9ZdxT//OeGmxu0VoWbUEFICIy/ka1uZerD2dWWhstaNmEbm+/DTV2qYG6eTkeJ0iKyX7dDa0gkEPNCGsSVTEz+fAqs5YkXdapRcJ92RXYC01o/KjTbtbiDydGaYUKZ6sGuiqnyR9cRrACjrEJF7oKc6hHItlIdcd7g0tWyHRRVLTik1Of32Pn1ZxkVhcjCYe0yc2lm2X3QOwEUBrjPyYLOcRqs688wLKZj7L/3VzBGRyLebgK9O7PWuxVVPeee72dG7eA+kSykAj+gtro3SLqSvRlPI2WcvhcfNN/s0nMqRQ0E2R/1R1gVcgqWlqnlDSYYEyQVM9LJNFJA8rsYSXO5WE2U9dbg6/0l2cjCnvUXVi6t0yLGTkTZrAqA3UDCpVsB x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYAPR01MB5866.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(39860400002)(376002)(136003)(366004)(346002)(38070700005)(5660300002)(38100700002)(71200400001)(52536014)(8936002)(6862004)(82960400001)(33656002)(316002)(76116006)(66946007)(6636002)(66556008)(86362001)(54906003)(8676002)(478600001)(4326008)(64756008)(66446008)(66476007)(7696005)(6506007)(186003)(107886003)(83380400001)(2906002)(9686003)(26005)(85182001)(122000001)(55016003)(41300700001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bFlSSTJ1U1drbmR3cTJUZmt4U09zd2lza1AvMC96akEreDZuZVNjQisyMytH?= =?utf-8?B?Z2wzOG1jaFNCNlg5NS9PMWgvRGhzWnR0RDI1Zk8rQnNMZ3NkTmdPMEtpRm5J?= =?utf-8?B?NklKRi9SSmQzaHAranJsWE1RNStaclkzcmtsTXY0KzVOMkVOMy85TWlVTEE5?= =?utf-8?B?c0JxZUVVaU0vcFZpRnd6YUEwa2tqdHN6V2wwekFPZmZBUWxzQmE5MHB4TGtk?= =?utf-8?B?OUNnRjRiSXRLY0cvb1c5Mm8wQzdFSlJ2eVhSS25vQkNGMVl2NHp0MktqNFpq?= =?utf-8?B?TVNCck5sb3ByK0JIY254ei9PcU5STlduUkgzRjJ4RmJWa1IrejBIY3Nlb0dl?= =?utf-8?B?aE9pNlRkWDJncTM0cnNwKzQzTnUyN2NRMGs4RnZaSlNOL3NBTmFjYVpIUzgw?= =?utf-8?B?NFFWN0ZkbXUyTUtYcXZ2MnAwTWUzWlBZU1hpY1lBMXZwWittNnhBR1A0MmpN?= =?utf-8?B?MDExd0FMNDNpa28wdUZQZy9VNWVpYUtKTEZ3TER4QlNYOFhDS3VrUU85UU1Y?= =?utf-8?B?dkFnOVVyS1QzL2ZWNmdpRVBobTZQVm4rbXFsdDlGWHpuTk04bXJXYWxrS0VY?= =?utf-8?B?VTR4VmNtKzZpZkJvVFo2SU9IZUxSVlBPa3Q4SzZpY1I0bkVzbzVFMTZBYVpF?= =?utf-8?B?ejMxeWp0MkJlTnVNYzB4VG1jeHJLNlZ3K1JNcThHVGY2VUFTN2haVHVmNnRF?= =?utf-8?B?VklxQVIrQ3ZRWmwyazQ4SC9YT0lxVG0wbHhIR21rTUdaOHU1MWZoMlkzN2pw?= =?utf-8?B?MXJuNU82MHVJUkdsdkdPTnA4WVZ6UjN3d0ZwN0JMZit0THdzYUZnelJyQlN1?= =?utf-8?B?UDJDdnFHTkZFdzdtaXlMeTFyeUdJOFFBT0tqSEFIZWJyRnBRNEU5U09ZSWFH?= =?utf-8?B?Sk1sK3d6SmZvMHIxUEcvSXBpV2pCK3JMODNPYTZKVENrYzRlNXFjTGFXdEhu?= =?utf-8?B?dFVDaGhXY1o5eTZRYWdiVzZsdFJxczFxSGt1K1Q1NVpBa3d1ZWxCUVJmdGZP?= =?utf-8?B?UStHRlhDUFFMQWdqTnVLMzhrRFZNTnhCcm1oam02T25qSXhkbDU5bHA1QU9R?= =?utf-8?B?SkN1TGZidVJlb212T1E4K3IxZjkreDZVeEhvL241cmw3bzZUQUFNYlY5MTZQ?= =?utf-8?B?a1lERFkxcXBaaFZHeGRhNFIyL2tFRmU0NFYvYjNzL2VvTlFEZ0sxcEo0L3Rl?= =?utf-8?B?ejVyUmZDT3VtQmdhQ0k4dDdSN2R2UDJaaXlFc01nU21TN1NkRmlYQXBpNXZu?= =?utf-8?B?dVBDcE9WNTY0eUFjeXgrWDVITVYyeTJnU1NMWmwvM04vSVBQLzV1cE5jd0N4?= =?utf-8?B?R0p3dDMxaXVObzgvTEV5SC9UOXMwVTNXbTNoMzVaVDEwQXJET1lHbW55dzFH?= =?utf-8?B?enUxRjNFRVVYbFhsOXl2V1lWZnp6T0JSU090YVBvV2liT1lVbWFnZ2JpYWNP?= =?utf-8?B?c0k3WlQ3SVh3ZFJTNXI0SFNhUmlid3hlb0pzNHIxNWFnRzZsbEliazZJU2xK?= =?utf-8?B?bjFGNUtyak9VYmsrSzRkSmZvZTBqbDZtZjlGYVphT2d4U09IQWp4Yzk2WnN1?= =?utf-8?B?VFNpZ1dYdmdMQ0dVazhFVTNTcS9HUTRYb2NwVE5zTXNLMUdZNkVIbEkyUkVu?= =?utf-8?B?ZmxiTWVPTjNUdjlQdnhybHAzTWFBdlphdkdXdjZPN0NMNEpPZHQ0UHlKWXk5?= =?utf-8?B?dkFMMlJON1MvcUpONEZqeGI3L29jeXJCWEZVUC9PaWc0V0xrT1hQQXVLbTJj?= =?utf-8?B?TjA3dVR0bE9SNzZya21WcFpRNjJLUWx1RmtWUFB3eFVYY0QrQmt2WDhCU1Za?= =?utf-8?B?c2d0VHkvZkpIS2xaeVd5UmhDenZwK0VVRVhrMmFsbStxR3FKYXZ6OCtVVDcx?= =?utf-8?B?aC9ORWg3d1gwaDBQOGcvK0JkZi9oYW16WE9RdVpMekZ6TmdXd2x2MTZQVDdF?= =?utf-8?B?b3ljUStGVTdXVm1hTnhsWDIzTWlpZG1kTXlvVU9FeUI5VkhsMW5JdGhUZERJ?= =?utf-8?B?cXJ2bGtqZ1BscDJ3K292OTMyYzYvQm8xOW5JeWIzWjBWcTFFWlZ4VVVRZUQw?= =?utf-8?B?SWppSUxIaTUrRDVEQ0lNa0xybldGaXlmTkZKQ0NxYlIwbVFPWWlLS3lQNDdU?= =?utf-8?B?S0dmN24yNVdPTk9sUzdydDZJQVY4N0ZiMkhONW11QWwyV240d1JUbmxzMVdR?= =?utf-8?B?VVE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYAPR01MB5866.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cf3e6b0e-ecc4-4c45-c619-08da79e3fd39 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2022 08:48:53.8680 (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: 8+9PDur3FWnBvIgB2EG1MlCFYmBn/1cf43kfg+iG63mcuY9i7f2pgNeSLgPIHwkcAUO4AmOhZkTIVG39esAi8N8sq36dOuNjbwrue30blfs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB3392 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk RGVhciBXYW5nLA0KDQpUaGFua3MgZm9yIHVwZGF0aW5nIHBhdGNoIHNldHMhIEZvbGxvd2luZ3Mg YXJlIGNvbW1lbnRzIGFib3V0IHYyMC0wMDAxLg0KDQoxLiBjb25maWcuc2dtbA0KDQpgYGANCiAg ICAgICA8cGFyYT4NCiAgICAgICAgU3BlY2lmaWVzIG1heGltdW0gbnVtYmVyIG9mIGxvZ2ljYWwg cmVwbGljYXRpb24gd29ya2Vycy4gVGhpcyBpbmNsdWRlcw0KICAgICAgICBib3RoIGFwcGx5IHdv cmtlcnMgYW5kIHRhYmxlIHN5bmNocm9uaXphdGlvbiB3b3JrZXJzLg0KICAgICAgIDwvcGFyYT4N CmBgYA0KDQpJIHRoaW5rIHlvdSBjYW4gYWRkIGEgZGVzY3JpcHRpb24gaW4gdGhlIGFib3ZlIHBh cmFncmFwaCwgbGlrZQ0KIiBUaGlzIGluY2x1ZGVzIGFwcGx5IG1haW4gd29ya2VycywgYXBwbHkg YmFja2dyb3VuZCB3b3JrZXJzLCBhbmQgdGFibGUgc3luY2hyb25pemF0aW9uIHdvcmtlcnMuIg0K DQoyLiBsb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwNCg0KMi5hIENvbmZpZ3VyYXRpb24gU2V0dGlu Z3MNCg0KYGBgDQogICA8dmFybmFtZT5tYXhfbG9naWNhbF9yZXBsaWNhdGlvbl93b3JrZXJzPC92 YXJuYW1lPiBtdXN0IGJlIHNldCB0byBhdCBsZWFzdA0KICAgdGhlIG51bWJlciBvZiBzdWJzY3Jp cHRpb25zLCBhZ2FpbiBwbHVzIHNvbWUgcmVzZXJ2ZSBmb3IgdGhlIHRhYmxlDQogICBzeW5jaHJv bml6YXRpb24uDQpgYGANCg0KSSB0aGluayB5b3UgY2FuIGFkZCBhIGRlc2NyaXB0aW9uIGluIHRo ZSBhYm92ZSBwYXJhZ3JhcGgsIGxpa2UNCiIuLi4gdGhlIG51bWJlciBvZiBzdWJzY3JpcHRpb25z LCBwbHVzIHNvbWUgcmVzZXJ2ZSBmb3IgdGhlIHRhYmxlIHN5bmNocm9uaXphdGlvbg0KIGFuZCB0 aGUgc3RyZWFtaW5nIHRyYW5zYWN0aW9uLiINCg0KMi5iIE1vbml0b3JpbmcNCg0KYGBgDQogIDxw YXJhPg0KICAgTm9ybWFsbHksIHRoZXJlIGlzIGEgc2luZ2xlIGFwcGx5IHByb2Nlc3MgcnVubmlu ZyBmb3IgYW4gZW5hYmxlZA0KICAgc3Vic2NyaXB0aW9uLiAgQSBkaXNhYmxlZCBzdWJzY3JpcHRp b24gb3IgYSBjcmFzaGVkIHN1YnNjcmlwdGlvbiB3aWxsIGhhdmUNCiAgIHplcm8gcm93cyBpbiB0 aGlzIHZpZXcuICBJZiB0aGUgaW5pdGlhbCBkYXRhIHN5bmNocm9uaXphdGlvbiBvZiBhbnkNCiAg IHRhYmxlIGlzIGluIHByb2dyZXNzLCB0aGVyZSB3aWxsIGJlIGFkZGl0aW9uYWwgd29ya2VycyBm b3IgdGhlIHRhYmxlcw0KICAgYmVpbmcgc3luY2hyb25pemVkLg0KICA8L3BhcmE+DQpgYGANCg0K SSB0aGluayB5b3UgY2FuIGFkZCBhIHNlbnRlbmNlIGluIHRoZSBhYm92ZSBwYXJhZ3JhcGgsIGxp a2UgDQoiLi4uIHN5bmNocm9uaXplZC4gTW9yZW92ZXIsIGlmIHRoZSBzdHJlYW1pbmcgdHJhbnNh Y3Rpb24gaXMgYXBwbGllZCBwYXJhbGxlbGx5LA0KdGhlcmUgd2lsbCBiZSBhZGRpdGlvbmFsIHdv cmtlcnMiDQoNCjMuIGxhdW5jaGVyLmMNCg0KYGBgDQorICAgICAgIC8qIFNhbml0eSBjaGVjayA6 IHdlIGRvbid0IHN1cHBvcnQgdGFibGUgc3luYyBpbiBzdWJ3b3JrZXIuICovDQpgYGANCg0KSSB0 aGluayAiU2FuaXR5IGNoZWNrIDoiIHNob3VsZCBiZSAiU2FuaXR5IGNoZWNrOiIsIHBlciBvdGhl ciBmaWxlcy4NCg0KNC4gd29ya2VyLmMNCg0KNC5hIGhhbmRsZV9zdHJlYW1lZF90cmFuc2FjdGlv bigpDQoNCmBgYA0KLSAgICAgICAvKiBub3QgaW4gc3RyZWFtaW5nIG1vZGUgKi8NCi0gICAgICAg aWYgKCFpbl9zdHJlYW1lZF90cmFuc2FjdGlvbikNCisgICAgICAgLyogTm90IGluIHN0cmVhbWlu ZyBtb2RlICovDQorICAgICAgIGlmICghKGluX3N0cmVhbWVkX3RyYW5zYWN0aW9uIHx8IGFtX2Fw cGx5X2Jnd29ya2VyKCkpKQ0KYGBgDQoNCkkgdGhpbmsgdGhlIGNvbW1lbnQgc2hvdWxkIGFsc28g bWVudGlvbiBhYm91dCBhcHBseSBiYWNrZ3JvdW5kIHdvcmtlciBjYXNlLg0KDQo0LmIgaGFuZGxl X3N0cmVhbWVkX3RyYW5zYWN0aW9uKCkNCg0KYGBgDQotICAgICAgIEFzc2VydChzdHJlYW1fZmQg IT0gTlVMTCk7DQpgYGANCg0KSSB0aGluayB0aGlzIGFzc2Vyc2lvbiBzZWVtcyByZWFzb25hYmxl IGluIGNhc2Ugb2Ygc3RyZWFtPSdvbicuDQpDb3VsZCB5b3UgcmV2aXZlIGl0IGFuZCBtb3ZlIHRv IGxhdGVyIHBhcnQgaW4gdGhlIGZ1bmN0aW9uLCBsaWtlIGFmdGVyIHN1YnhhY3RfaW5mb19hZGQo Y3VycmVudF94aWQpPw0KDQo0LmMgYXBwbHlfaGFuZGxlX3ByZXBhcmVfaW50ZXJuYWwoKQ0KDQpg YGANCiAgICAgICAgICogQmVnaW5UcmFuc2FjdGlvbkJsb2NrIGlzIG5lY2Vzc2FyeSB0byBiYWxh bmNlIHRoZSBFbmRUcmFuc2FjdGlvbkJsb2NrDQogICAgICAgICAqIGNhbGxlZCB3aXRoaW4gdGhl IFByZXBhcmVUcmFuc2FjdGlvbkJsb2NrIGJlbG93Lg0KICAgICAgICAgKi8NCi0gICAgICAgQmVn aW5UcmFuc2FjdGlvbkJsb2NrKCk7DQorICAgICAgIGlmICghSXNUcmFuc2FjdGlvbkJsb2NrKCkp DQorICAgICAgICAgICAgICAgQmVnaW5UcmFuc2FjdGlvbkJsb2NrKCk7DQorDQpgYGANCg0KSSB0 aGluayB0aGUgY29tbWVudCBzaG91bGQgYmUgIldlIG11c3QgYmUgaW4gdHJhbnNhY3Rpb24gYmxv Y2sgdG8gYmFsYW5jZS4uLiIuDQoNCjQuZCBhcHBseV9oYW5kbGVfc3RyZWFtX3ByZXBhcmUoKQ0K DQpgYGANCi0gKg0KLSAqIExvZ2ljIGlzIGluIHR3byBwYXJ0czoNCi0gKiAxLiBSZXBsYXkgYWxs IHRoZSBzcG9vbGVkIG9wZXJhdGlvbnMNCi0gKiAyLiBNYXJrIHRoZSB0cmFuc2FjdGlvbiBhcyBw cmVwYXJlZA0KICAqLw0KIHN0YXRpYyB2b2lkDQogYXBwbHlfaGFuZGxlX3N0cmVhbV9wcmVwYXJl KFN0cmluZ0luZm8gcykNCmBgYA0KDQpJIHRoaW5rIHRoZXNlIGNvbW1lbnRzIGFyZSB1c2VmdWwg d2hlbiBzdHJlYW09J29uJywNCnNvIGl0IHNob3VsZCBiZSBtb3ZlZCB0byBsYXRlciBwYXJ0Lg0K DQo1LiBhcHBseWJnd29ya2VyLmMNCg0KNS5hIGFwcGx5X2Jnd29ya2VyX3NldHVwKCkNCg0KYGBg DQorICAgICAgIGVsb2coREVCVUcxLCAic2V0dGluZyB1cCBhcHBseSB3b3JrZXIgIyV1IiwgbGlz dF9sZW5ndGgoQXBwbHlCZ3dvcmtlcnNMaXN0KSArIDEpOyANCmBgYA0KDQoiYXBwbHkgd29ya2Vy IiBzaG91bGQgYmUgImFwcGx5IGJhY2tncm91bmQgd29ya2VyIi4NCg0KNS5iIExvZ2ljYWxBcHBs eUJnd0xvb3AoKQ0KDQpgYGANCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxvZyhE RUJVRzEsICJbQXBwbHkgQkdXICMldV0gZW5kZWQgcHJvY2Vzc2luZyBzdHJlYW1pbmcgY2h1bmss Ig0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2FpdGluZyBvbiBz aG1fbXFfcmVjZWl2ZSIsIHNoYXJlZC0+d29ya2VyX2lkKTsNCmBgYA0KDQpBIGJsYW5rIGlzIG5l ZWRlZCBhZnRlciBjb21tYS4gSSBjaGVja2VkIHNlcnZlcmxvZywgYW5kIHRoZSBtZXNzYWdlIG91 dHB1dGVkIGxpa2U6DQoNCmBgYA0KW0FwcGx5IEJHVyAjMV0gZW5kZWQgcHJvY2Vzc2luZyBzdHJl YW1pbmcgY2h1bmssd2FpdGluZyBvbiBzaG1fbXFfcmVjZWl2ZQ0KYGBgDQoNCjYuDQoNCldoZW4g SSBzdGFydGVkIHVwIHRoZSBhcHBseSBiYWNrZ3JvdW5kIHdvcmtlciBhbmQgZGlkIGBTRUxFQ1Qg KiBmcm9tIHBnX3N0YXRfc3Vic2NyaXB0aW9uYCwgSSBnb3QgZm9sbG93aW5nIGxpbmVzOg0KDQpg YGANCnBvc3RncmVzPSMgc2VsZWN0ICogZnJvbSBwZ19zdGF0X3N1YnNjcmlwdGlvbjsNCiBzdWJp ZCB8IHN1Ym5hbWUgfCAgcGlkICB8IHJlbGlkIHwgcmVjZWl2ZWRfbHNuIHwgICAgICBsYXN0X21z Z19zZW5kX3RpbWUgICAgICAgfCAgICAgbGFzdF9tc2dfcmVjZWlwdF90aW1lICAgICB8IGxhdGVz dF9lbmRfbHNuIHwgICAgICAgIGxhdGVzdF9lbmQNCl90aW1lICAgICAgICANCi0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0NCi0tLS0tLS0tLS0tLS0NCiAxNjQwMCB8IHN1YiAgICAg fCAyMjM4MyB8ICAgICAgIHwgICAgICAgICAgICAgIHwgLWluZmluaXR5ICAgICAgICAgICAgICAg ICAgICAgfCAtaW5maW5pdHkgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgIHwg LWluZmluaXR5DQogMTY0MDAgfCBzdWIgICAgIHwgMjIzMTIgfCAgICAgICB8IDAvNjczNDc0MCAg ICB8IDIwMjItMDgtMDkgMDc6NDA6MTkuMzY3Njc2KzAwIHwgMjAyMi0wOC0wOSAwNzo0MDoxOS4z NzU0NTUrMDAgfCAwLzY3MzQ3NDAgICAgICB8IDIwMjItMDgtMDkgMDc6NDA6DQoxOS4zNjc2NzYr MDANCigyIHJvd3MpDQpgYGANCg0KDQo2LmENCg0KSXQgc2VlbXMgdGhhdCB0aGUgdXBwZXIgbGlu ZSByZXByZXNlbnRzIHRoZSBhcHBseSBiYWNrZ3JvdW5kIHdvcmtlciwgYnV0IEkgdGhpbmsgbGFz dF9tc2dfc2VuZF90aW1lIGFuZCBsYXN0X21zZ19yZWNlaXB0X3RpbWUgc2hvdWxkIGJlIG51bGwu DQpJcyBpdCBsaWtlIGluaXRpYWxpemF0aW9uIG1pc3Rha2U/DQoNCmBgYA0KJCBwcyBhdXggfCBn cmVwIDIyMzgzDQouLi4gcG9zdGdyZXM6IGxvZ2ljYWwgcmVwbGljYXRpb24gYXBwbHkgYmFja2dy b3VuZCB3b3JrZXIgZm9yIHN1YnNjcmlwdGlvbiAxNjQwMA0KYGBgDQoNCjYuYg0KDQpDdXJyZW50 bHksIHRoZSBkb2N1bWVudGF0aW9uIGRvZXNuJ3QgY2xhcmlmeSB0aGUgbWV0aG9kIHRvIGRldGVy bWluZSB0aGUgdHlwZSBvZiBsb2dpY2FsIHJlcGxpY2F0aW9uIHdvcmtlcnMuDQpDb3VsZCB5b3Ug YWRkIGRlc2NyaXB0aW9ucyBhYm91dCBpdD8NCkkgdGhpbmsgYWRkaW5nIGEgY29sdW1uICJzdWJ3 b3JrZXIiIGlzIGFuIGFsdGVybmF0aXZlIGFwcHJvYWNoLg0KDQoNCkJlc3QgUmVnYXJkcywNCkhh eWF0byBLdXJvZGENCkZVSklUU1UgTElNSVRFRA0KDQo=