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 1oY4di-0000c7-1e for pgsql-hackers@arkaria.postgresql.org; Tue, 13 Sep 2022 12:03:42 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oY4ch-0003el-Nv for pgsql-hackers@arkaria.postgresql.org; Tue, 13 Sep 2022 12:02:39 +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 1oY4ch-0003eb-B0 for pgsql-hackers@lists.postgresql.org; Tue, 13 Sep 2022 12:02:39 +0000 Received: from esa1.fujitsucc.c3s2.iphmx.com ([68.232.152.245]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oY4ca-00032A-2Z for pgsql-hackers@lists.postgresql.org; Tue, 13 Sep 2022 12:02:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1663070552; x=1694606552; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=7LoaMXy9wkd7XQzDOftyou/+rXSbNJ8tHdNA+Qa0CAo=; b=gXUesWjkq/Tv0tiXNoYCJKo0u124FYdMdtwxs82viThci2G1ddKkfMix 6LBt2evQYb4vlnq03D2d9mCdGsl+o5AkIELeyi4e3zzgZTaCm9IJgGFV2 WE/Kup90+50bWda96DyyqLTKHUIN/qK7GNXedb7H/mAHCxQCDyyI52EcN 0zEPC4l0Tlo01obehP4Fz/JJq6UBWW1ACtTmgD5scwc1rSlvIfIjnhVx9 XbUzU4OqbauPLM7HBW9Dor7AryPhlz2F737rXH2tKKU5l7EFi2v1DzmYx zTaQtrnEwuHEk5zQlXeafI3ErKrhHTp8bCfOlz9xd2O4otXzWH1sxfAZK A==; X-IronPort-AV: E=McAfee;i="6500,9779,10468"; a="73214572" X-IronPort-AV: E=Sophos;i="5.93,312,1654527600"; d="scan'208";a="73214572" 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; 13 Sep 2022 21:02:29 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=A87YAQ5kkEE9aBoqPPdm0iNXAsgTbFabTrA7aDVOHR5GaV5L6umycXca3mFp//IC7VT2Cy0nDPOuMet5rpA4yqxJseZaetzHwTKDPDgzJqikRf3MO1IHm0LL4zrw9NsRjN+rGkxDxa3JdiwwWN8bUZ8HBIGukM6I5pcyShUmQE+IQrgYyxep/+bQs+lfjmtiJt1k8qpItOH2BaInHg5TdWo/yO6LyBTlNVFyqd9UTsRAxvmZ6PdIkNPGcG61fQCMXIw1oHIKyF5PePGM1ALzVwpknsfksL7q/SR9ixyoWj3hd/pJ9hjBJI2oO82iZMwIaKkOqGst9zQrgGNPCk5gRg== 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=7LoaMXy9wkd7XQzDOftyou/+rXSbNJ8tHdNA+Qa0CAo=; b=fMIs1Pbl7Wdy121653c8TYVDP9twhIqq396IT1syORW41vF416TbNCTiWbvWqmHCpUq57bs1QxpsiV2tniLnq7bAemQeN1wIVylnSsBzaGHPkwfJ3HibnxV7T1SAH82Zp3GJcl0jrlr7/mouECU3SaFxUeoFWVmkLLqkE28ijMgM5IhvP4U2zyswORGaRs3akP//KZ0QyC8h90JvXiTxt/LQPj6PLE8EnRb8X5ogOJQRodpAf/JM5cqIQiTSOZvmEdjF68pJ3VmdeF8fVP39fCFUwc/3lnfBcYOb3c2cbrpOV+pzJN8qyW2C1oLoFltZTWc86nA1nVdRT4oxi6so4A== 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 TYWPR01MB8887.jpnprd01.prod.outlook.com (2603:1096:400:168::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.14; Tue, 13 Sep 2022 12:02:26 +0000 Received: from TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::a58d:5541:ebc8:3ef7]) by TYAPR01MB5866.jpnprd01.prod.outlook.com ([fe80::a58d:5541:ebc8:3ef7%4]) with mapi id 15.20.5612.022; Tue, 13 Sep 2022 12:02:26 +0000 From: "kuroda.hayato@fujitsu.com" To: "houzj.fnst@fujitsu.com" CC: "wangw.fnst@fujitsu.com" , Peter Smith , Dilip Kumar , Masahiko Sawada , "shiy.fnst@fujitsu.com" , PostgreSQL Hackers , Amit Kapila 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/gIAFJCcAgAAGs4CACtsZ4IABnFaA Date: Tue, 13 Sep 2022 12:02:26 +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?NTBfQWN0aW9uSWQ9Y2Q0ZTI1MjMtMzY1NC00MWUxLTg2YTMtYmY3Nzk1MjVj?= =?utf-8?B?OGQ3O01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0wOS0wNVQwNzoyMTo1Nlo7TVNJUF9MYWJl?= =?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_|TYWPR01MB8887:EE_ x-ms-office365-filtering-correlation-id: be28b6d1-c42e-4feb-5883-08da957fd379 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9PKtv0TUKe7iyZDllmGH7L3dWtyXuYVASV11LAlW/tr94djQdht6mYc6vZN6vzRm4vYlW41cHkuz8ZweWUrQTq7YJCnTH7h2+B5yHCcBCwfn2KfHpRSpjfycQIvfBtG8/w2Hi59qjmoZngglNn2iDE8b5rkNgwKQgiFTJg8gxfxpETrhzmAodRaYTd3vKWBYK6ufGuDiBPMoVnbGqU5+eb5d6nURRlyM6jxT5eOKZLQbIOhtvH4VZl8nLD5kKsejXztYtVjiPWFVWrl/6OzlSwXM0Me6bSG3p2F2qBmwdynBiE83eyYqq69sRys+PI7ng8eZufehM4nAAvLX4GdCmLaUwj2bIwzsvBN4Rz+qbdhGaIh8xr8mui9ednUH9ppxy+RcU8qdrqTz1K5Z/EucJspmzn8BNNCc5zLt8ZNHJE5IjtS7YE2xM44+ks7Z2CDpBJBOGwAUoL2I2tPNjxZhhCoGF4kf7MQhHlgIbZm4KFPdxYZGFnywJcDeams66arSp6Ydw5jI2dEweyrJfjzGftots+JdHpfk+xsCrQnHfv86QX3HVemnJCZxtNH+XOd8vuwkxL75bt0+rp0BfvzND6U6loS4r0xZc+osO6y/ilsCaUjDt1uz4LXYob7fWmnztDo8OsxxmFZqrhxVG1Z9VkXxznEOBhCodsXd/kIbui5aBZMySGLMqLO7eTkKzZy7JbTOaRagPKS4u+hS2QchRR4vYCcqiydWdOtXGapR6PENkDQ5yID8YYGVF8gcQeZ0izXC8OdtfM+6A+ACcrqjyR7WvjybOhr6Fe3WI8iZNXM= 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)(396003)(39860400002)(376002)(366004)(451199015)(1590799012)(66946007)(9686003)(55016003)(316002)(2906002)(76116006)(8676002)(66446008)(64756008)(6862004)(6636002)(186003)(7696005)(85182001)(38070700005)(26005)(478600001)(83380400001)(33656002)(71200400001)(54906003)(41300700001)(38100700002)(86362001)(66476007)(6506007)(66556008)(122000001)(4326008)(82960400001)(5660300002)(52536014)(1580799009)(8936002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WXNoa3o1cjAzeTRvUmZ0R2J2RjRuSXdvWlVnaFBKd1h2ckJPSzBoQkhRU1Jq?= =?utf-8?B?NUF6ckZwNW9TSGZRancyK0ZnMXlsVm51Q3Y2N2lUcHpXczNpd284K0lZanF6?= =?utf-8?B?VXBIYkNvSURLOEFtczg1OGhPaHJrQXFSTFhleUwvSTVMVXpNU3Y4REdVbE1k?= =?utf-8?B?RXZQbkpFa3Jza0tteU1wdER2b01td2ZRWFo4YUxXL2ZabktkSTAwQkpiMDVO?= =?utf-8?B?QUhsV2xnY2RuRlRsOVVaODI4endWdFM5alZFYkt0LzYwK0RNZitTVUtTcUJx?= =?utf-8?B?NkxjYm1RY3lWR3VEdy9SdkpMbWNZVkdTM0pmYkhqdnI3NkdLMDZGNVJHRHo3?= =?utf-8?B?WDN3eko4ZWV6TUpraU1LbnVpQkNGY1lmNWVPVTJHdlZ4WWRnWjRmOEVubVB1?= =?utf-8?B?SUV0bTlKYUczdGFITkV1VmpabWRIem5wa09QR3QxL0JjNHRrZGlHekxxVVpF?= =?utf-8?B?TU9YSit5UEJ1VGJ6WHF2ZHZxcXBOa3NUWnNwbzlFeUZuMks0eDYwOGpCZk9n?= =?utf-8?B?MTdlK2x0TmNnQ25Mb2Y0WnBmL0NpOWFVWTJWQzZZVFlOdEhFU1lJRVo1THd4?= =?utf-8?B?aEw2dHU0UEV1TkwxWWhmTlBvcWVIbnV4RVovdlpTaERFbGJhSTRlVW5HOUpV?= =?utf-8?B?RWd1VTVzQVhYTXNQVUhXZ0RDbG5MM3Z5OVNCOVBRcFFwSnBmcXJJQ21qbzJL?= =?utf-8?B?Y00wMVJud2Q5eEZGT2Jra0ZOMFRNcDV2cUh6aDBZVzZ0cFRvNHN5ZlJhSE1C?= =?utf-8?B?dVJuc3ZZak9YWGhXeVlXTlN3SmREWGRGaEpIL1ZjRFIwSDZ3YzZuMk1LME8w?= =?utf-8?B?RTZYSUMwMzlhblRnVXpUNTczcVBtcEJJYkpXakJtc3Z0WDMwYU9IOC9xYjRK?= =?utf-8?B?aFpJY040NVpkU3ZTSTROcWx5OWtzMDZyWExFSEI5YkFvUGVob3U2Ykc4VDhu?= =?utf-8?B?SzlEME9aN2dwTWtvR3BhNlpGL043OUdwY0FBVndsSlEwQkp5THpHcnRIb3JN?= =?utf-8?B?TE5hU3Rqai8xNDNQaFh3aDVmRVI0Snhmdy90L2szS2pIMFk5OEVEdERXQ1pB?= =?utf-8?B?RCtpVE9NcWNzUUMxVTk3OXRkdHV2dEk5TWU0NThPZTVaTEZhdkc1NHNIcHNM?= =?utf-8?B?Njd3RjlaangxV08xcTNKS0RnWDdGdDNFMGRDNFVqTVZXaUc2YUZSajVFZ29o?= =?utf-8?B?NElyUEJ5QkJva3MxN1VuWG1vL0VrOUVPcDJEaXlNaDFPdGxHU3d5STdQaGUw?= =?utf-8?B?QnFwclB4elBUc2tSeEh6WVRISkYvRk11d2NaVDBLZGNKbGRQMlZhRUNyUHdl?= =?utf-8?B?VzVVTWhTQldKZUFBTnloVGREV09kazI1b3hRZFp5REgvU1dNVnNXM1dzaUNm?= =?utf-8?B?Y1pzb0NibDc2K2IyeTFJTElXS1B0Vi9yUmw2SGFrRVBmQW1FQmZnZ3VuK3M5?= =?utf-8?B?bWg1WGpwbjlweGFSREkvYTh2M2hyWWEvcFl2UkxFSDlkbWI1R0NRYkpCMDlV?= =?utf-8?B?YkNDRzZEcTl2bVArY3ZQS3hEYzEvbEllTlhRWVhVOEZOcVNCdWErWUcxa2tF?= =?utf-8?B?MVN1Ry9XaTIzclFsVEJzc3lPWmt4MXRwR0RpSVlxUHF6T3ZGcXBwckpIY2JI?= =?utf-8?B?bFplejNDWmdHS3E5S2VMYmNDK2tJZi9BZ2c0Y1ljOVBxSStobU1Id2RsTjVM?= =?utf-8?B?THlIeUxJOFFIUEtnZ2RVNGE4OXJpOTdkUEtrZmg1Qit5VVQ1RmZSenIvbFJB?= =?utf-8?B?S3pGZFNTZlViZ1ZKVEdlZkNTeGdLTEpiNzlyNk5hYVZZVXVxbTUwRGh2RmtM?= =?utf-8?B?dVFLeUxzZEp1NWl3cEdQcHhvTFhkM2ZsdytEMmhlYTl2YjFWK2RtZnFlK1Q3?= =?utf-8?B?NWFsVjJrbjd1cVpFM2ttVVlzcitTdEczaHVINnR5RlhwM3ZmWGExcUR4M0Zo?= =?utf-8?B?T2h6VHdSajBqOWEyQWZGUndCakVKNExqWHhTb01HcnMzaVhDV0Q3Y2RSejFY?= =?utf-8?B?eCthTTZUSHVmYkdZNzdtOHp0MkhPM1ZVb2E3eVpJYWluNW00QmgrcTYzT1JR?= =?utf-8?B?V292eVhiWStCdWlTS2Z2MllPNEVjSW1KUFRnNEFtMnE1ZzVQMUVrQnJxcU5q?= =?utf-8?B?QmNkWTlMaHBENGNtWmhqbkRmSks2Qk1BdjAvazd1TlFDSGlaMlplamRlalEw?= =?utf-8?B?RUE9PQ==?= 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: be28b6d1-c42e-4feb-5883-08da957fd379 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Sep 2022 12:02:26.7364 (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: WWufNBtR9FHUQT/SjmRe48KVdIN/pLjpxCPotVoGct1pizPfs2nLzI4R0Rv5kL+nrkonUmws+MS8gTdn8Gu0n7CJGU2ZevmApZ8XGRmAzRE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB8887 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk RGVhciBIb3Utc2FuLA0KDQo+IEkgd2lsbCBkaWcgeW91ciBwYXRjaCBtb3JlLCBidXQgSSBzZW5k IHBhcnRpYWxseSB0byBrZWVwIHRoZSBhY3Rpdml0eSBvZiB0aGUgdGhyZWFkLg0KDQpNb3JlIG1p bm9yIGNvbW1lbnRzIGFib3V0IHYyOC4NCg0KPT09DQpBYm91dCAwMDAyIA0KDQpGb3IgMDE1X3N0 cmVhbS5wbA0KDQoxNC4gY2hlY2tfcGFyYWxsZWxfbG9nDQoNCmBgYA0KKyMgQ2hlY2sgdGhlIGxv ZyB0aGF0IHRoZSBzdHJlYW1lZCB0cmFuc2FjdGlvbiB3YXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxs eQ0KKyMgcmVwb3J0ZWQgYnkgcGFyYWxsZWwgYXBwbHkgd29ya2VyLg0KK3N1YiBjaGVja19wYXJh bGxlbF9sb2cNCit7DQorICAgICAgIG15ICgkbm9kZV9zdWJzY3JpYmVyLCAkb2Zmc2V0LCAkaXNf cGFyYWxsZWwpPSBAXzsNCisgICAgICAgbXkgJHBhcmFsbGVsX21lc3NhZ2UgPSAnZmluaXNoZWQg cHJvY2Vzc2luZyB0aGUgdHJhbnNhY3Rpb24gZmluaXNoIGNvbW1hbmQnOw0KKw0KKyAgICAgICBp ZiAoJGlzX3BhcmFsbGVsKQ0KKyAgICAgICB7DQorICAgICAgICAgICAgICAgJG5vZGVfc3Vic2Ny aWJlci0+d2FpdF9mb3JfbG9nKHFyLyRwYXJhbGxlbF9tZXNzYWdlLywgJG9mZnNldCk7DQorICAg ICAgIH0NCit9DQpgYGANCg0KSSB0aGluayBjaGVja19wYXJhbGxlbF9sb2coKSBzaG91bGQgYmUg Y2FsbGVkIG9ubHkgd2hlbiBzdHJlYW1pbmcgPSAncGFyYWxsZWwnIGFuZCBpZi1zdGF0ZW1lbnQg aXMgbm90IG5lZWRlZA0KDQo9PT0NCkZvciAwMTZfc3RyZWFtX3N1YnhhY3QucGwNCg0KMTUuIHRl c3Rfc3RyZWFtaW5nDQoNCmBgYA0KKyAgICAgICBJTlNFUlQgSU5UTyB0ZXN0X3RhYiBTRUxFQ1Qg aSwgbWQ1KGk6OnRleHQpIEZST00gZ2VuZXJhdGVfc2VyaWVzKCAgICAzLCAgNTAwKSBzKGkpOw0K YGBgDQoNCiIgICAgMyIgc2hvdWxkIGJlICIzIi4NCg0KPT09DQpBYm91dCAwMDAzDQoNCkZvciBh cHBseXBhcmFsbGVsd29ya2VyLmMNCg0KMTYuIHBhcmFsbGVsX2FwcGx5X3JlbGF0aW9uX2NoZWNr KCkNCg0KYGBgDQorICAgICAgIGlmIChyZWwtPnBhcmFsbGVsX2FwcGx5X3NhZmUgPT0gUEFSQUxM RUxfQVBQTFlfU0FGRVRZX1VOS05PV04pDQorICAgICAgICAgICAgICAgbG9naWNhbHJlcF9yZWxf bWFya19wYXJhbGxlbF9hcHBseShyZWwpOw0KYGBgDQoNCkkgd2FzIG5vdCBjbGVhciB3aGVuIGxv Z2ljYWxyZXBfcmVsX21hcmtfcGFyYWxsZWxfYXBwbHkoKSBpcyBjYWxsZWQgaGVyZS4NCklJVUMg cGFyYWxsZWxfYXBwbHlfcmVsYXRpb25fY2hlY2soKSBpcyBjYWxsZWQgd2hlbiBwYXJhbGxlbCBh cHBseSB3b3JrZXIgaGFuZGxlcyBjaGFuZ2VzLA0KYnV0IGJlZm9yZSB0aGF0IHJlbGF0aW9uIGlz IG9wZW5lZCB2aWEgbG9naWNhbHJlcF9yZWxfb3BlbigpIGFuZCBwYXJhbGxlbF9hcHBseV9zYWZl IGlzIHNldCBoZXJlLg0KSWYgaXQgZ3VhcmRzIHNvbWUgcHJvdG9jb2wgdmlvbGF0aW9uLCB3ZSBt YXkgdXNlIEFzc2VydCgpLg0KDQo9PT0NCkZvciBjcmVhdGVfc3Vic2NyaXB0aW9uLnNnbWwNCg0K MTcuDQpUaGUgcmVzdHJpY3Rpb24gYWJvdXQgZm9yZWlnbiBrZXkgZG9lcyBub3Qgc2VlbSB0byBi ZSBkb2N1bWVudGVkLg0KDQo9PT0NCkFib3V0IDAwMDQNCg0KRm9yIDAxNV9zdHJlYW0ucGwNCg0K MTguIGNoZWNrX3BhcmFsbGVsX2xvZw0KDQpJIGhlYXJkIHRoYXQgdGhlIHJlbW92YWwgaGFzIGJl ZW4gcmV2ZXJ0ZWQsIGJ1dCBpbiB0aGUgcGF0Y2gNCmNoZWNrX3BhcmFsbGVsX2xvZygpIGlzIHJl bW92ZWQgYWdhaW4uLi4gOi0oDQoNCg0KPT09DQpBYm91dCB0aHJvdWdob3V0DQoNCkkgY2hlY2tl ZCB0aGUgdGVzdCBjb3ZlcmFnZSB2aWEgYG1ha2UgY292ZXJhZ2VgLiBBYm91dCBhcHBsdXBhcmFs bGVsd29ya2VyLmMgYW5kIHdvcmtlci5jLCBib3RoIGZ1bmN0aW9uIGNvdmVyYWdlIGlzIDEwMCUs IGFuZA0KbGluZSBjb3ZlcmFnZXMgYXJlIDg2LjIgJSBhbmQgOTQuNSAlLiBHZW5lcmFsbHkgaXQn cyBnb29kLg0KQnV0IEkgcmVhZCB0aGUgcmVwb3J0IGFuZCBmb2xsb3dpbmcgcGFydHMgc2VlbXMg bm90IHRlc3RlZC4NCg0KSW4gcGFyYWxsZWxfYXBwbHlfc3RhcnRfd29ya2VyKCk6DQoNCmBgYA0K CQlpZiAodG1wX3dpbmZvLT5lcnJvcl9tcV9oYW5kbGUgPT0gTlVMTCkNCgkJew0KCQkJLyoNCgkJ CSAqIFJlbGVhc2UgdGhlIHdvcmtlciBpbmZvcm1hdGlvbiBhbmQgdHJ5IG5leHQgb25lIGlmIHRo ZSBwYXJhbGxlbA0KCQkJICogYXBwbHkgd29ya2VyIGV4aXRlZCBjbGVhbmx5Lg0KCQkJICovDQoJ CQlQYXJhbGxlbEFwcGx5V29ya2Vyc0xpc3QgPSBmb3JlYWNoX2RlbGV0ZV9jdXJyZW50KFBhcmFs bGVsQXBwbHlXb3JrZXJzTGlzdCwgbGMpOw0KCQkJc2htX21xX2RldGFjaCh0bXBfd2luZm8tPm1x X2hhbmRsZSk7DQoJCQlkc21fZGV0YWNoKHRtcF93aW5mby0+ZHNtX3NlZyk7DQoJCQlwZnJlZSh0 bXBfd2luZm8pOw0KCQl9DQpgYGANCg0KSW4gSGFuZGxlUGFyYWxsZWxBcHBseU1lc3NhZ2UoKToN Cg0KYGBgDQoJCWNhc2UgJ1gnOgkJCQkvKiBUZXJtaW5hdGUsIGluZGljYXRpbmcgY2xlYW4gZXhp dCAqLw0KCQkJew0KCQkJCXNobV9tcV9kZXRhY2god2luZm8tPmVycm9yX21xX2hhbmRsZSk7DQoJ CQkJd2luZm8tPmVycm9yX21xX2hhbmRsZSA9IE5VTEw7DQoJCQkJYnJlYWs7DQoJCQl9DQpgYGAN Cg0KRG9lcyBpdCBtZWFuIHRoYXQgd2UgZG8gbm90IHRlc3QgdGhlIHRlcm1pbmF0aW9uIG9mIHBh cmFsbGVsIGFwcGx5IHdvcmtlcj8gSWYgc28gSSB0aGluayBpdCBzaG91bGQgYmUgdGVzdGVkLg0K DQpCZXN0IFJlZ2FyZHMsDQpIYXlhdG8gS3Vyb2RhDQpGVUpJVFNVIExJTUlURUQNCg0K