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 1obHFc-0002Ur-0H for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Sep 2022 08:08:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1obHFa-00070d-Km for pgsql-hackers@arkaria.postgresql.org; Thu, 22 Sep 2022 08:08:02 +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 1obHFa-00070U-05 for pgsql-hackers@lists.postgresql.org; Thu, 22 Sep 2022 08:08:02 +0000 Received: from esa2.fujitsucc.c3s2.iphmx.com ([68.232.152.246]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1obHFU-0002y7-DY for pgsql-hackers@lists.postgresql.org; Thu, 22 Sep 2022 08:08:01 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1663834076; x=1695370076; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=S8uco5bi15gOwycOOMQIeIzY/9AFuT9JqvjEPsF/fOQ=; b=dkrpx3jORmvyAgxdTMdQgQt42Dtmb3WiGS4zJF6OeS3eQn0Nke4vhcBw uybNDB4wzv0EWfeu9FvNFu6fKqsOF3u4xAMuyWwzoYs3EUdZDM4OlaIA7 akEGyUkplYo+QfxTmBXhse5tk3XmaLixiBN5A4yi+LwKrKsfsPOiTCX4Q LkcQx5nysjnYt0nSbZ1b5ubE2iWC3vXEHPYRnLUQALQdeDWRUhFki0OZM tblTVRxcKJs9GQVBQBTD8ViEB6nCuSc8/Brt1PT8oBW2MB3tzFqgRU60d hWez2l7bPZ9yAHRd6XwYImqJwsnP8SitTkaaYa6/oCvxyGnAgrdBe8wNF g==; X-IronPort-AV: E=McAfee;i="6500,9779,10477"; a="74048113" X-IronPort-AV: E=Sophos;i="5.93,335,1654527600"; d="scan'208";a="74048113" Received: from mail-tycjpn01lp2168.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.168]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2022 17:07:52 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iKqEh3kld7AXW8WbGUTmCjcZsgHnod6OlUzIPYBdIDlPhDs+YH6GAY96Ykd68nyaB15gfiZ+Cg2BjOGmfFxIoGp8I6Bok5tfjhJzjMNRE60fWbslR3LgKv7upYxEs7+KlwVfOmu0JlTlUl23fQtn2KNrtXO+V3BHANcuJFTdtGeS/LS5K9aHTQqUGWRIJvvDgBbxTpS3MNccEAU0cFQrxpgXM/9uxkbD89elPwGwb6MrTF7Ssebw1Vk5gM1ex9tNbrOhiE8eXgF19Y81ceL8vUeiTDFH9NcPlC8+u91g2ecacN422Qpa9aOaKXEIp+fjHMuP0tfSbhf7M/iIyW9jvA== 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=S8uco5bi15gOwycOOMQIeIzY/9AFuT9JqvjEPsF/fOQ=; b=KV4IkNPZWa+kNicBUzM94MbcnWQivf2/a7J9CgSqL6AihQVnJorNkohUBaTof1ZLZydO62OnH12eLqBDNcTl/E6En2O5HcFVicTymi/Jl/dXKDpjda1beVJOhm5qVg/ZZeFBfxm4WsJRrNPQ+ZdOwf+9XYGwxzgOmsCuWgecin72y/Vjk/WjWNiNZvGMllts8fkG8Osdo5ezjMzz3wQ69KOWWQuHQ+Zei/aGJ/7J2fpe7oqdtVHMyTQi3dXfSHiTG/47gm3s7GSZROKf6y9diqBurAEINPvoOHlVIXHa/2QZSICLw2K1pDyZuCe7St30/NWSs+iTG8i+bGauMJuZOQ== 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 OSZPR01MB8218.jpnprd01.prod.outlook.com (2603:1096:604:1a7::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.17; Thu, 22 Sep 2022 08:07:49 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::2080:6c13:a0fd:52d6]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::2080:6c13:a0fd:52d6%4]) with mapi id 15.20.5654.017; Thu, 22 Sep 2022 08:07:49 +0000 From: "kuroda.hayato@fujitsu.com" To: "wangw.fnst@fujitsu.com" CC: Amit Kapila , "houzj.fnst@fujitsu.com" , Dilip Kumar , Masahiko Sawada , "shiy.fnst@fujitsu.com" , Peter Smith , PostgreSQL Hackers 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+oCADJWRgIAGVm0AgAGAQICAAerMgIABYRWAgAgvEYCAAWyzgIAGSRYAgAFBqICAAFYagIABchmAgAGqzwCAATq/gIAFJCcAgAAGs4CABE7agIAK5WIAgABrY4CABb89gIADiS0AgAEu2oCAADxqUA== Date: Thu, 22 Sep 2022 08:07:49 +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?NTBfQWN0aW9uSWQ9Y2ExZWY4OGUtZThhOC00ZWU5LWEzMWItY2QzMmQ4Njg1?= =?utf-8?B?ZGFhO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0wOS0yMlQwMzoyODoyNFo7TVNJUF9MYWJl?= =?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: TYAPR01MB5866:EE_|OSZPR01MB8218:EE_ x-ms-office365-filtering-correlation-id: 2e7bad91-5ba7-4306-06c9-08da9c718a6e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UnGaCXO5pl3kWTlKjyArbeMueTKJwreZYLRKcExzVAi1wlLLqHiDMZyQZHNBZyIAqyiiXbh+GthpzFuhYRaq2aY8fyHnKgbmZ0C3neOf1T1ENvBRcfuYJj8jdR/bM9UdsUV0Zm0RQSC+XjOt+Tjo1kOg9DvGg6F85YlCwPMj9x/YsoToINHO754tEwwRz+Ulfc2sJGrmE5Jtkoh8bZDgkiqjeuZMbgCYqGPcN41JAbfOdgTgeiUP7t35npZQag+z0GnLsYhBB932A0O2Iav+hRQDxF0uzrcUlMxBARgHJdFn5ArJHORBi+ceFy4mnRgFsOyM3fcqTRIbTI5qUQgYCTSwdijbpvrM4LKW5EUpcyKuJZzsHc2Ekl/PugXTMFvoE29L9+ejwvfUiW1veIPyIqUrHVjRxTQWU5s8rXE1ugxw7p6/rRn+isKhuWmBaiaV0Y4hi6DNd9vDF012u2H9UIk9JtHeOHy1+1MamBH/OXnyLdqE93qVx6czBJN5cwBmy/Ljl/FG28Ybf39X2GFvE7iBfMoPfPun3TRemUwm3luITLDiyr01nr+SfubrlNIZ/QBFxIiU43n/sTmnscJ34C9ivX/TWXYKe5V4owPu503s0RLzbtY1AMulz02m+q8h5oOh7nyiZdoNXR6e8iS/HGw9BBvKEV0l/2iBlNhQuTw+q3HQbDPrxlK9WIZECcBBUphQ9kyhXOD+8JYcCwbvAaGAK2nCkvqN2fu7l5yedWUNorbc4CLewX45sZ3XIrIbE9q2QrOz/HC9ICKQYK8sfHpjYR+MicFLC963R+7VygM= 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:(13230022)(4636009)(346002)(136003)(376002)(39860400002)(396003)(366004)(1590799012)(451199015)(38100700002)(6636002)(54906003)(122000001)(66476007)(55016003)(41300700001)(66556008)(66946007)(76116006)(316002)(64756008)(66446008)(186003)(4326008)(8676002)(33656002)(83380400001)(2906002)(6862004)(52536014)(8936002)(7696005)(85182001)(9686003)(26005)(5660300002)(6506007)(86362001)(71200400001)(1580799009)(478600001)(38070700005)(82960400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bWYxdklLTTFDQU5xMHFwd01rdU9aQjNheTZhR1FRM2h3ZUxxQ0FhOEhtQmNl?= =?utf-8?B?WmpWSW8xNEV4YXdPUy9WNm51emYxTHpMUjhJMFBtRlhGdjlSbm5QZ3JqTFA5?= =?utf-8?B?SlNxdGxUelR1ZzZsZTdRTlRFOGhlZnR3WDdySzJ0UDduZFpxZktUWFJOcDhi?= =?utf-8?B?VXpRY1l0VHFxeEQrZUdOVzNDcmI5VXAwbXpZSzB2Qk1hYmNtT2gyL0lCRGNH?= =?utf-8?B?YWJNNFgydUdpWVA3cDZGTXBJcURXSGFMSkozSU5GT1JpbytYSFBUN0dpV1Av?= =?utf-8?B?dzZKS3M0Vi9zeHlYTUpFRVd4QWRjRFViQ25uUUlmYys3bVRsbzQ1VTdlaFJq?= =?utf-8?B?TUEwWHVxdE9tVmkxdGxjeG9XNmloaDFsN1N4QkFzc1RFSVA3ZU1rNm9Oa2dk?= =?utf-8?B?Y0NwU2RBTTRhdDZhcjJKWWxEUEFEc3poQkhPTlhuQVZXbG5Bei9raS9lRzU0?= =?utf-8?B?WnhObnJyaEdYTXdkWnlCdHZNSHdXM0lDWEk2L0NUcWJlbEN4bm4xeU8zQ0M1?= =?utf-8?B?enBlM2MzT1Znbm9VZ01JU1o0VWRnWjRmVW8xYnJrcHFpOE54QUNUWml6OTNM?= =?utf-8?B?eC81VGN1Wko5a3hjdWFSbjQ2YVg3SDJJdGtsc2xMeVJLenFQV1MwckU0Sms1?= =?utf-8?B?T1Mwa2FhNWFFMXpqNXFibjFYMnh5dFF1RmhzS1U4a09KSDIybC9NbW5XYXRK?= =?utf-8?B?ZkJvRnpMaTR5cklUMWpSemx0Z1NnM3h1SFBXeS9rQ3VpNlI0THBXMWprSy8w?= =?utf-8?B?TS9qMUYrVllIZkhwQ2NGUTlqNlB6MmlIaDV6eWYyK1pyUzlBNnFPKzl4cWVK?= =?utf-8?B?VHRZQjhEVDNpWHJYRlUyWWFkaVFXWjlMYU9zajZUZkdJV3JlMURjcDNka3p3?= =?utf-8?B?T3REZVcwd3ZEZWNsYjI4REVNdG9pZ1VXZ3I3ZjRWayttTzVaVERoWUwrVjlT?= =?utf-8?B?dGQwc2plU0NqSEVtUFdTVG1IUkIyd0lpTXgxUGRYY2Y1eVE3WVhwdlVsUkYr?= =?utf-8?B?RVpVeFBzT2hZdjREdVNxbHRNYTVhWVJTTkxKN2VWcVhFeTU1b2VSLzdNbTVJ?= =?utf-8?B?WHAvUnBwNmpPSEhvTzlpczRjUnE0Z3BuSWIzdHEyZERKWmpQTU5qZFRDMVVn?= =?utf-8?B?RlMyTHkzYjJTa2h4aWR0azRreFlTVUxaODZBYkRka3ZidUVsN0toQWFSNFBm?= =?utf-8?B?RnJ4ZTdkNEdmV0Fhbk1ucEdQVExzVzBDeGgvQzNCbzg0Wk5rVy8rY29tMjUr?= =?utf-8?B?dWhQdmNYTGg5WDBqUVpJakUyVTJFWjBFSnFGK1M5d1hVeDhaVW1oRDhrdnJP?= =?utf-8?B?eGEvN2hSbW9XQzlsUWJHMmtlNDZhQ2dGZDFnM1VBVG9JZ3VUVEg0cEdnQ0Ra?= =?utf-8?B?VUZzSkJtRnhzbytSVVl2SGQybjdTdW9MSnlxOWJodTNZdXNpenVxV2twYWxS?= =?utf-8?B?SExWTC8yTXppQk9lS3lBYU9UbzArazBwR1hNTDVaYmVVdmozSTZZcFl1Mmxv?= =?utf-8?B?YmRiamdUQzVwVWNvYVdZeUZtMkg3Z1NMcDM0R0RpRHRjNkhiRXVwQjQ3d2Z2?= =?utf-8?B?TkR5UFRBTDN4YzRBY2x6K21FcElXZGlOL3d3bTIxTzFVWEZId1RudjJpUUpp?= =?utf-8?B?aGZXTUlsdTl5SlBxcUNSS1lOQXNzc0FqczI0WFJMb0l3V3ZiTXRSRmhXd2Yy?= =?utf-8?B?WFdqWUttQnJvKytKaGVoTE5tUzJpenltU1h5Y0traUxvRkZWOHRrQ3VWQnJQ?= =?utf-8?B?dXhnTTBsb0hwL3NqSXJuSkdCSEdhWFdrTHhpK0pwK3ZyU2tBMVNsdityQyty?= =?utf-8?B?MHZOUGMxbGdLV3NhL0Z5WGZ2eFhhVWhobllkMmV5eTlDdVpxeStHNEFTSUIw?= =?utf-8?B?cjJ0YjBwT0V1cmNNT1NLTXVCbGx4bkpkMk42ZGRNU3dSVkQ4QmpjclNzdUZu?= =?utf-8?B?WWNTdWIveXRBWS9KVkdIdEh0eEZEcDZWMFFOVmI4bVl4ZEVxSm52T0xqdGNW?= =?utf-8?B?MDVPOGlNUW5raXpKVHF2NTl0MGh5K3V0MXZ6YWx0MUd6LzlGaXdEVzBhSUpY?= =?utf-8?B?SExKQVIwcktzbkR4Y2hBOHA3Tzl5Q0ZUNWFPTS9oczZlbEozd3V2dU5nUmpa?= =?utf-8?B?S1E1b3BzZ2ZIbnA4NDFQcDJSY1dLeVZUMHEzT0czN1cyYVJrNTJ6bGRVcjF1?= =?utf-8?B?WVE9PQ==?= 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: 2e7bad91-5ba7-4306-06c9-08da9c718a6e X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Sep 2022 08:07:49.3581 (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: y+CcDZ/I9gLBTdL9bVQ+pPtR3ojbofFUzhclYOhnZLKefGAL6V+t2V2ddTZ9kxNz+QL4oRqH66MMkuqRvkOjienHkLPSy1Vjjmv5y5qN+Jw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSZPR01MB8218 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk RGVhciBXYW5nLA0KDQpUaGFua3MgZm9yIHVwZGF0aW5nIHRoZSBwYXRjaCEgRm9sbG93aW5ncyBh cmUgY29tbWVudHMgZm9yIHYzMy0wMDAxLg0KDQo9PT0NCmxpYnBxd2FscmVjZWl2ZXIuYw0KDQow MS4gaW5jbHVzaW9uDQoNCmBgYA0KKyNpbmNsdWRlICJjYXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5o Ig0KYGBgDQoNCldlIGRvbid0IGhhdmUgdG8gaW5jbHVkZSBpdCBiZWNhdXNlIHRoZSBhbmFseXNp cyBvZiBwYXJhbWV0ZXJzIGlzIGRvbmUgYXQgY2FsbGVyLg0KDQo9PT0NCmxhdW5jaGVyLmMNCg0K MDIuIGxvZ2ljYWxyZXBfd29ya2VyX2xhdW5jaCgpDQoNCmBgYA0KKyAgICAgICAvKg0KKyAgICAg ICAgKiBSZXR1cm4gc2lsZW50bHkgaWYgdGhlIG51bWJlciBvZiBwYXJhbGxlbCBhcHBseSB3b3Jr ZXJzIHJlYWNoZWQgdGhlDQorICAgICAgICAqIGxpbWl0IHBlciBzdWJzY3JpcHRpb24uDQorICAg ICAgICAqLw0KKyAgICAgICBpZiAoaXNfc3Vid29ya2VyICYmIG5wYXJhbGxlbGFwcGx5d29ya2Vy cyA+PSBtYXhfcGFyYWxsZWxfYXBwbHlfd29ya2Vyc19wZXJfc3Vic2NyaXB0aW9uKQ0KYGBgDQoN CmEuIA0KSSBmZWx0IHRoYXQgaXQgbWlnaHQgYmUga2luZCBpZiB3ZSBvdXRwdXQgc29tZSBkZWJ1 ZyBtZXNzYWdlcy4NCg0KYi4NClRoZSBpZiBzdGF0ZW1lbnQgc2VlbXMgdG8gYmUgbW9yZSB0aGFu IDgwIGNoYXJhY3RlcnMuIFlvdSBjYW4gbW92ZSB0byBuZXcgbGluZSBhcm91bmQgIm5wYXJhbGxl bGFwcGx5d29ya2VycyA+PSAuLi4iLg0KDQoNCj09PQ0KYXBwbHlwYXJhbGxlbHdvcmtlci5jDQoN CjAzLiBkZWNsYXJhdGlvbg0KDQpgYGANCisvKg0KKyAqIElzIHRoZXJlIGEgbWVzc2FnZSBwZW5k aW5nIGluIHBhcmFsbGVsIGFwcGx5IHdvcmtlciB3aGljaCB3ZSBuZWVkIHRvDQorICogcmVjZWl2 ZT8NCisgKi8NCit2b2xhdGlsZSBib29sIFBhcmFsbGVsQXBwbHlNZXNzYWdlUGVuZGluZyA9IGZh bHNlOw0KYGBgDQoNCkkgY2hlY2tlZCBvdGhlciBmbGFncyB0aGF0IGFyZSBzZXQgYnkgc2lnbmFs IGhhbmRsZXJzLCB0aGVpciBkYXRhdHlwZSBzZWVtZWQgdG8gYmUgc2lnX2F0b21pY190Lg0KSXMg dGhlcmUgYW55IHJlYXNvbnMgdGhhdCB5b3UgdXNlIG5vcm1hbCBib29sPyBJdCBzaG91bGQgYmUg Y2hhbmdlZCBpZiBub3QuDQoNCjA0LiBIYW5kbGVQYXJhbGxlbEFwcGx5TWVzc2FnZXMoKQ0KDQpg YGANCisgICAgICAgICAgICAgICBpZiAod2luZm8tPmVycm9yX21xX2hhbmRsZSA9PSBOVUxMKQ0K KyAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQpgYGANCg0KYS4NCkkgd2FzIG5vdCBz dXJlIHdoZW4gdGhlIGNlbGwgc2hvdWxkIGJlIGNsZWFuZWQuIEN1cnJlbnRseSB3ZSBjbGVhbiB1 cCBQYXJhbGxlbEFwcGx5V29ya2Vyc0xpc3QoKSBvbmx5IGluIHRoZSBwYXJhbGxlbF9hcHBseV9z dGFydF93b3JrZXIoKSwNCmJ1dCB3ZSBoYXZlIGNoYW5jZXMgdG8gcmVtb3ZlIHN1Y2ggYSBjZWxs IGxpa2UgSGFuZGxlUGFyYWxsZWxBcHBseU1lc3NhZ2VzKCkgb3IgSGFuZGxlUGFyYWxsZWxBcHBs eU1lc3NhZ2UoKS4gSG93IGRvIHlvdSB0aGluaz8NCg0KYi4NCkNvbW1lbnRzIHNob3VsZCBiZSBh ZGRlZCBldmVuIGlmIHdlIGtlZXAgdGhpcywgbGlrZSAiZXhpdGVkIHdvcmtlciwgc2tpcHBlZCIu DQoNCmBgYA0KKyAgICAgICAgICAgICAgIGVsc2UNCisgICAgICAgICAgICAgICAgICAgICAgIGVy ZXBvcnQoRVJST1IsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVy cmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJU0lURV9TVEFURSksDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm1zZygibG9zdCBjb25uZWN0aW9u IHRvIHRoZSBsZWFkZXIgYXBwbHkgd29ya2VyIikpKTsNCmBgYA0KDQpjLg0KVGhpcyBmdW5jdGlv biBpcyBjYWxsZWQgb24gdGhlIGxlYWRlciBhcHBseSB3b3JrZXIsIHNvIHRoZSBoaW50IHNob3Vs ZCBiZSAibG9zdCBjb25uZWN0aW9uIHRvIHRoZSBwYXJhbGxlbCBhcHBseSB3b3JrZXIiLg0KDQow NS4gcGFyYWxsZWxfYXBwbHlfc2V0dXBfd29ya2VyKCkNCg0KYGANCisgICAgICAgaWYgKGxhdW5j aGVkKQ0KKyAgICAgICB7DQorICAgICAgICAgICAgICAgUGFyYWxsZWxBcHBseVdvcmtlcnNMaXN0 ID0gbGFwcGVuZChQYXJhbGxlbEFwcGx5V29ya2Vyc0xpc3QsIHdpbmZvKTsNCisgICAgICAgfQ0K YGBgDQoNCnt9IHNob3VsZCBiZSByZW1vdmVkLg0KDQoNCjA2LiBwYXJhbGxlbF9hcHBseV93YWl0 X2Zvcl94YWN0X2ZpbmlzaCgpDQoNCmBgYA0KKyAgICAgICAgICAgICAgIC8qIElmIGFueSB3b3Jr ZXJzIGhhdmUgZGllZCwgd2UgaGF2ZSBmYWlsZWQuICovDQpgYGANCg0KVGhpcyBmdW5jdGlvbiBj aGVja2VkIG9ubHkgYWJvdXQgYSBwYXJhbGxlbCBhcHBseSB3b3JrZXIsIHNvIHRoZSBjb21tZW50 IHNob3VsZCBiZSAiaWYgd29ya2VyIGhhcy4uLiI/DQoNCj09PQ0Kd29ya2VyLmMNCg0KMDcuIGhh bmRsZV9zdHJlYW1lZF90cmFuc2FjdGlvbigpDQoNCmBgYA0KKyAqIEZvciBub24tc3RyZWFtZWQg dHJhbnNhY3Rpb25zLCByZXR1cm5zIGZhbHNlOw0KYGBgDQoNCiJyZXR1cm5zIGZhbHNlOyIgLT4g InJldHVybnMgZmFsc2UiDQoNCmFwcGx5X2hhbmRsZV9jb21taXRfcHJlcGFyZWQoKSwgYXBwbHlf aGFuZGxlX2Fib3J0X3ByZXBhcmVkKCkNCg0KVGhlc2UgZnVuY3Rpb25zIGFyZSBub3QgZXhwZWN0 ZWQgdGhhdCBwYXJhbGxlbCB3b3JrZXIgY2FsbHMNCnNvIEkgdGhpbmsgQXNzZXJ0KCkgc2hvdWxk IGJlIGFkZGVkLg0KDQowOC4gVXBkYXRlV29ya2VyU3RhdHMoKQ0KDQpgYGANCi1zdGF0aWMgdm9p ZA0KK3ZvaWQNCiBVcGRhdGVXb3JrZXJTdGF0cyhYTG9nUmVjUHRyIGxhc3RfbHNuLCBUaW1lc3Rh bXBUeiBzZW5kX3RpbWUsIGJvb2wgcmVwbHkpDQpgYGANCg0KVGhpcyBmdW5jdGlvbiBpcyBjYWxs ZWQgb25seSBpbiB3b3JrZXIuYywgc2hvdWxkIGJlIHN0YXRpYy4NCg0KMDkuIHN1YnNjcmlwdGlv bl9jaGFuZ2VfY2IoKQ0KDQpgYGANCi1zdGF0aWMgdm9pZA0KK3ZvaWQNCiBzdWJzY3JpcHRpb25f Y2hhbmdlX2NiKERhdHVtIGFyZywgaW50IGNhY2hlaWQsIHVpbnQzMiBoYXNodmFsdWUpDQpgYGAN Cg0KVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBpbiB3b3JrZXIuYywgc2hvdWxkIGJlIHN0 YXRpYy4NCg0KMTAuIEluaXRpYWxpemVBcHBseVdvcmtlcigpDQoNCmBgYA0KKy8qDQorICogSW5p dGlhbGl6ZSB0aGUgZGF0YWJhc2UgY29ubmVjdGlvbiwgaW4tbWVtb3J5IHN1YnNjcmlwdGlvbiBh bmQgbmVjZXNzYXJ5DQorICogY29uZmlnIG9wdGlvbnMuDQorICovDQogdm9pZA0KLUFwcGx5V29y a2VyTWFpbihEYXR1bSBtYWluX2FyZykNCitJbml0aWFsaXplQXBwbHlXb3JrZXIodm9pZCkNCmBg YA0KDQpTb21lIGNvbW1lbnRzIHNob3VsZCBiZSBhZGRlZCBhYm91dCB0aGlzIGlzIGEgY29tbW9u IHBhcnQgb2YgbGVhZGVyIGFuZCBwYXJhbGxlbCBhcHBseSB3b3JrZXIuDQoNCj09PQ0KbG9naWNh bHJlcHdvcmtlci5oDQoNCjExLiBkZWNsYXJhdGlvbg0KDQpgYGANCmV4dGVybiBQR0RMTElNUE9S VCB2b2xhdGlsZSBib29sIFBhcmFsbGVsQXBwbHlNZXNzYWdlUGVuZGluZzsNCmBgYA0KDQpQbGVh c2UgcmVmZXIgYWJvdmUgY29tbWVudC4NCg0KPT09DQpndWNfdGFibGVzLmMNCg0KMTIuIENvbmZp Z3VyZU5hbWVzSW50DQoNCmBgYA0KKyAgICAgICB7DQorICAgICAgICAgICAgICAgeyJtYXhfcGFy YWxsZWxfYXBwbHlfd29ya2Vyc19wZXJfc3Vic2NyaXB0aW9uIiwNCisgICAgICAgICAgICAgICAg ICAgICAgIFBHQ19TSUdIVVAsDQorICAgICAgICAgICAgICAgICAgICAgICBSRVBMSUNBVElPTl9T VUJTQ1JJQkVSUywNCisgICAgICAgICAgICAgICAgICAgICAgIGdldHRleHRfbm9vcCgiTWF4aW11 bSBudW1iZXIgb2YgcGFyYWxsZWwgYXBwbHkgd29ya2VycyBwZXIgc3Vic2NyaXB0aW9uLiIpLA0K KyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCisgICAgICAgICAgICAgICB9LA0KKyAgICAg ICAgICAgICAgICZtYXhfcGFyYWxsZWxfYXBwbHlfd29ya2Vyc19wZXJfc3Vic2NyaXB0aW9uLA0K KyAgICAgICAgICAgICAgIDIsIDAsIE1BWF9CQUNLRU5EUywNCisgICAgICAgICAgICAgICBOVUxM LCBOVUxMLCBOVUxMDQorICAgICAgIH0sDQpgYGANCg0KVGhpcyBwYXJhbWV0ZXIgY2FuIGJlIGNo YW5nZWQgYnkgcGdfY3RsIHJlbG9hZCwgc28gdGhlIGZvbGxvd2luZyBjb3JuZXIgY2FzZSBtYXkg YmUgb2NjdXJyZWQuDQpTaG91bGQgd2UgYWRkIGEgYXNzaWduIGhvb2sgdG8gaGFuZGxlIHRoaXM/ IE9yLCBjYW4gd2UgaWdub3JlIGl0Pw0KDQoxLiBzZXQgbWF4X3BhcmFsbGVsX2FwcGx5X3dvcmtl cnNfcGVyX3N1YnNjcmlwdGlvbiB0byA0Lg0KMi4gc3RhcnQgcmVwbGljYXRpbmcgdHdvIHN0cmVh bWluZyB0cmFuc2FjdGlvbnMuDQozLiBjb21taXQgdHJhbnNhY3Rpb25zDQo9PT0gVHdvIHBhcmFs bGVsIHdvcmtlcnMgd2lsbCBiZSByZW1haW5lZCA9PT0NCjQuIGNoYW5nZSBtYXhfcGFyYWxsZWxf YXBwbHlfd29ya2Vyc19wZXJfc3Vic2NyaXB0aW9uIHRvIDMNCjUuIFdlIGV4cGVjdGVkIHRoYXQg b25seSBvbmUgd29ya2VyIHJlbWFpbnMsIGJ1dCB0d28gcGFyYWxsZWwgd29ya2VycyByZW1haW5l ZC4gDQogIEl0IHdpbGwgYmUgbm90IHN0b3BwZWQgdW50aWwgYW5vdGhlciBzdHJlYW1lZCB0cmFu c2FjdGlvbiBpcyBzdGFydGVkIGFuZCBjb21taXR0ZWQuDQoNCkJlc3QgUmVnYXJkcywNCkhheWF0 byBLdXJvZGENCkZVSklUU1UgTElNSVRFRA0KDQo=