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 1oOWS8-0001BE-5a for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Aug 2022 03:44:16 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oOWS6-0007gk-Om for pgsql-hackers@arkaria.postgresql.org; Thu, 18 Aug 2022 03:44:14 +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 1oOWS6-0007ga-AK for pgsql-hackers@lists.postgresql.org; Thu, 18 Aug 2022 03:44:14 +0000 Received: from esa17.fujitsucc.c3s2.iphmx.com ([216.71.158.34]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oOWS3-0004nS-7M for pgsql-hackers@lists.postgresql.org; Thu, 18 Aug 2022 03:44:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1660794251; x=1692330251; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=i1jgms0Y0I5Th7S/15FtzOwyOXq/HYDW0ABO6LohKE0=; b=gs9nLpvIpm4ETXnkEmAbzz0BtEx7cXBlwrsCtL7PACYcmxLi+ZmDeU6M 9AkT+qftfFu37NNondfQXmxm3dCURAZlxFBIEBPiCaHYmlyGIl0lv3+TL 13IyZ3pBJap3VTxvCRfiq7ybLPP+Ea0PFP0O2CdcjZlknLev4ToMpypam //3NtXZ4K991Jfzf5wE+g5D++Kk3tL/QFDLcbpTx/jvZzYJVPR7GDkBMK c9LFswzWKDC4g9b8aEs26MxLeAWmnCdw9+q5BuXRLTGp8go7t6DKdZ5no o69hzB9wbK2YJS1VoIpX9x/oo0tmVrVcKn/xW+e3DV/y/G5nCsGYqOaa/ A==; X-IronPort-AV: E=McAfee;i="6500,9779,10442"; a="62858193" X-IronPort-AV: E=Sophos;i="5.93,245,1654527600"; d="scan'208";a="62858193" Received: from mail-tycjpn01lp2174.outbound.protection.outlook.com (HELO JPN01-TYC-obe.outbound.protection.outlook.com) ([104.47.23.174]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Aug 2022 12:44:08 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cE448cl4X+dfxor98o1JHzZ+MZejBibD0fqI2pCXNHPb0lNSG9/kkISXblPyR34Kv/TZOIeyEgotKk0hodPJr4K8IfRi/uYBsJZnesypVGbPovG7xpaqsbHoj34vhDUWRhPEFUuAODpp+2Yu+O+dKkidSVMuhL6lZ0uAU4XhT8A6ChH3jUqZVIMNylECm7G3rH0AF8KbxCjzeElCDIwzZfkkyfZsbZEkm4guJvV8zugiYgBYx3lL97ysycD32Sf809fom3E5ySSxXJxbupoQ6BpSVrduQGnOdUEdhppP0GcyX6feYX0kAlqZc3HdPJhs6+4lSuLwjK9ngyiVL4y4GQ== 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=i1jgms0Y0I5Th7S/15FtzOwyOXq/HYDW0ABO6LohKE0=; b=W4BeUuEXbyeyKzhv3WeyIptXWwflQhmk3t05pgz0LULGtE31fofSpJTVxkRZODF6s8mY/Boq8F65XIbhpHBLSP9Oh4oBRfbig6mgTlLjrlZkuwcSEsFbmRwr8H2mNgeBghR0S1odCKrp2eh/bR02G1o0c1ixrv4ohvnKSgQuQ8aMZu/lqay9cQZM/RNVgKVmm7fa5ExYoh64RZdc9CtFtFZAhm12uevXKJ1m7/ghBqKsk4usDaV2+7Xh5QmWjTB+0ycBxifIkNw9AeebxmfECEE9KPXrT8sJAbXlDpoA1BGWwUbtS4xi7Xn6b7O8K7cjXOlGIR/dZGNyjU/DlOOzZQ== 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 TYAPR01MB2830.jpnprd01.prod.outlook.com (2603:1096:404:82::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.19; Thu, 18 Aug 2022 03:44:05 +0000 Received: from OSZPR01MB6310.jpnprd01.prod.outlook.com ([fe80::1963:2780:aede:6ca6]) by OSZPR01MB6310.jpnprd01.prod.outlook.com ([fe80::1963:2780:aede:6ca6%6]) with mapi id 15.20.5504.028; Thu, 18 Aug 2022 03:44:05 +0000 From: "shiy.fnst@fujitsu.com" To: "wangw.fnst@fujitsu.com" , Peter Smith CC: Amit Kapila , "houzj.fnst@fujitsu.com" , Dilip Kumar , Masahiko Sawada , 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: AQHYSXX4LU7m/LcP/EyprXCDmGKXrazlvxQAgAkRYICACBI2gIABs50AgAA5UwCAApvIgIAFAGuAgAXc1wCAADTY0IALPdmAgAsABSCAB76ZAIAS+CyAgAAufICAAWQLgIABHxKAgAA3o4CAAeE3gIAJPr0AgAkxzACAAiJoAIAC0hUAgARvDICABQA2gIAAFvcAgAeBmICABO9ggIAJO+YAgABu1YCACQzpAIAJSy6AgAS+zICABq7mgIABSJUAgAAOtoCAACmRgIAB78qAgAqL+oCADJWRgIAGVm0AgAGAQICAAT+9EA== Date: Thu, 18 Aug 2022 03:44:05 +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?NTBfQWN0aW9uSWQ9MTU0MzMzYzMtYzQ1Ny00YTljLTk0MjctYjNkZDQ3Y2Fm?= =?utf-8?B?OThjO01TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00MmFjLWFiNGQtM2IwZjRm?= =?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?ZWNlMDUwX1NldERhdGU9MjAyMi0wOC0xNlQwNzoyOToxOFo7TVNJUF9MYWJl?= =?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: d15fb967-2fd7-4c95-6741-08da80cbe63f x-ms-traffictypediagnostic: TYAPR01MB2830:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /sQLIfWKwkuGsSaJHRRErRw4IeMr8Sbv1nPErOGH0FurATfQxA8EbAZDOYFbvyDfMTeuxrU/iLsg+uQGKzl54xBNTEBgLxNnQesdL8sEf6gaIUeXW2jcwYBlaOP6PfD9+Su8gTd8jrkYzamWTJv5OrL8goEns3TWayuWwNRnmFXF9dc5NDqQEbR+ynpSGSjPh4uYEEC4/8WBmeyGHUZNvzGZKF88t+M0AQBpC2ie8gyXSoW7IKELswkWmuQXTehXrNiG2Sr3Ll2CsMS9g+XrlDqxsRmlOwDR90M60up4x5nf60NbycZzq3Gh6Yten5FCJQ4nD3PU1wjDnFC9uKDR8KxGFnTCsEQogWePskHDD/7NlJul/DcY4uIfG+N1VmYuQFf7uKJ86UxupBoxJETraeTDc3BdoKYlntpu69nU80zXR+RCDn8pN1Dgls+yumn4Y/eLGl69g/5yCHQm1s7uB1IMYr5K3jiJ2JLJxwUm4hfICMEUFo8Vfw14nwIND5tNAyCB+CTrPKY0B6mjQTd1JNJ5sZG093FcHHWMLrrbIy/5GIe+yLYpoB6cDbb5cC4b7sxNN6dEXSUBxehD9f6jBMG19F4DPrcF8i44QFu+wqB8vXPajlzzTkdRZwzP8pxUnbMAs4FzhNYngU5Y/eSPDa+B+8aPM/FapyrjQLsJDROCAOVwpx0FM4o9KqEDK++iKZEjEhkJ3d06oeKEszjaKf+VKb53/e2PZ8AiOqFe73NkAwN8q3ooausD8if6S979gfZBSbIxiUSoKqHNX2QbmNMRE3lJhAwfxLxR8Vjh/6o= 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:(13230016)(4636009)(136003)(346002)(366004)(376002)(396003)(39860400002)(85182001)(110136005)(54906003)(8676002)(4326008)(64756008)(66476007)(82960400001)(33656002)(66946007)(478600001)(71200400001)(66556008)(76116006)(66446008)(41300700001)(38070700005)(86362001)(5660300002)(8936002)(52536014)(316002)(2906002)(6506007)(7696005)(53546011)(9686003)(26005)(38100700002)(1580799003)(122000001)(186003)(55016003)(83380400001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UC9TbHd6YkhnaCsyMTFvbDJNanlXaDRnVk9Lc0hNVVZUSGxzMUx3WnVVY2xu?= =?utf-8?B?SFdlOWVIU2tJWXl0WnZKSWNBeFlWWHFxY2tKTDcvNExQdzhLcjhtQTU0TSt5?= =?utf-8?B?Q2poVU00QmQxbGxxdXVFK3YxclRnOXlRYktSeUhhNDNvSFdxdXlCY09HeE12?= =?utf-8?B?UlZGQTh6aFdnR0Q5ZmphNWcwbFh2czFkNTl6bC8ydHVLK3BFMi9VTmFjcDU3?= =?utf-8?B?SlBkWnBoYzFVeWF6V1BzMTMwN2g3Q3hWM2VVdGJSTDRCZW5pcExNNmtKQWpT?= =?utf-8?B?Zk1nc1FSbmx3Z2tpamhpOTE5YW53Mms3Ylc0WjhYM2J6ekhaZm02Z2VBRitH?= =?utf-8?B?WGZLcEFZMFJJUmVoNzRMSVRCVHNJalZVM25JeWI4eTRjTmVSbXdxK0tndUtj?= =?utf-8?B?U2UxeDBBMmNTeDk2b09EY0YyM1FYakl3ejZkOHhHWGJvR1UzSllKTGFtdWpH?= =?utf-8?B?VWp6Z09LRVB0ZE1ydCtGajJuSnU4a2RHOXV3NnRtNUdqN2VoNGdCK3IxUGlm?= =?utf-8?B?V2thQk1wb3RSQlZCcUExZ1ZqYW5lL2c3Rk93WFViM2xtbWZKNzlnZHhhSis4?= =?utf-8?B?TjFabXBNOEtTU1FldXUrTzBmSTBJU0RsMjFMdE83eDhoRnpjeUc4ZUtLTHVy?= =?utf-8?B?TFF1dmg4dGpudG5lMllLYXdmbEFsM0VYNW5pRDJWWExPeFJHMU5CTVBNaXlC?= =?utf-8?B?U2Z5S1UrT1NHdCtXNWVqdy84OUlRWEs2RG1aTFpVcngxR2wvYjNqRGR5NWlu?= =?utf-8?B?eXpYeEFOSWRiZW5sV3dVLzZ3aTJvRkJSNDNkY3A5NVlZZWIrd1g5REFDTE1w?= =?utf-8?B?ZUxhbGZjQ3JLc3ltMHEvYzc0OHA4WXpqV1piSGY0Y0tsNjQvTzNSbFJuWGNN?= =?utf-8?B?bDcyTzlETmpkb0NQcXY1K2xPdytkUnA1WmFNZktsUWZNcHZKSDR1di9OYlhR?= =?utf-8?B?NXlCaVBMNUttb2gvMTJrcDZPa1FxTlBEc3dZWXdoMTlLckJja0pNUEJQZS95?= =?utf-8?B?MVpRZUxsWmIydXMzT2QrOGFCY2Voc0NoR3lxUkhRTFU0Y1RxR1B5elNoMzRy?= =?utf-8?B?dUpEQWVpMWtHRkpsVU9ETnN2N2JBYm1qQ1EwRnIwQUh1M2RkN0VDRS9OcjY3?= =?utf-8?B?MFZlTDVXYUlvS1NkcWxJT21XZmhpRDJkVGhnYkVkcTk5UEFnWHdQaGZsL25N?= =?utf-8?B?NytqTDYzazVPYkNNb1lieCtudzE4RWY3d3hoZzRDWExoVC93ek5GanlWRGxJ?= =?utf-8?B?UzFCYVd2aU5rOUN1TlZZY1JValpSNFdtZitPeE55dUpVTkgrUFJVSkF4MmJE?= =?utf-8?B?M2VlSWdaNTVyZUwyY241TFhMSzNSUFZPYlVKQUhXNXdxYzBiTHYxUHJiY2ZG?= =?utf-8?B?NXBOaDlIejY2T0kyN21kYklLTVRPWGVGYlFyQmZBdGxsc3VPTlFTSzB5WHZu?= =?utf-8?B?K1YxYlgwWURNbkNCeUg1b29vTTViMktIczdibE5xZFVQUDNhcDJrbUpVQmRW?= =?utf-8?B?eWtZSkhldEJ1dVJXQ1RSNmZ4WW9JVXcxZFFVMXYyNFI1S1ZMUmlmc2pwcVBw?= =?utf-8?B?M0d2STNaS0xrNzdVSDZPdHlMZW5Iakxibzl3UHFFMFdycU82L1NOYSs3M2l5?= =?utf-8?B?Vy9mN1VYSDcyZnhPeWE4QXVaTTBabERDa05TekI2QW1OeCtnSnlwMC9PSm9n?= =?utf-8?B?Nmo5QjZYRTluL3orTW0rU1FBcVBmYlJjdGpnN3cwVHNlR0pGTHRCM3dKUzFu?= =?utf-8?B?YlhDRGQ2L3BtT2k5RnNZM3BDd1BBQzlNTy9ZN2FOMG0wYXpvaldPQm1jNEto?= =?utf-8?B?TVFwVEZBMk1vNWtLSThXVGhZK0VudzgxOG9vZkFLN0NsNHVrUnV1d1h1TVYx?= =?utf-8?B?a1BsaGliZWJGTCtSOGF5amVkeFhoUlpyN3NoazR5YjNzT3NxelBwWDVOaEg5?= =?utf-8?B?dmhmenJ1MzkvZ0dRd2RESEs4VmFWdzlpdkZvZS9TNzJuM3J1TlBOOXFTa1NL?= =?utf-8?B?cUJpcmFTQ09BWDNSenZCNFFOTWh6OXVyN1k3dDRtT09Cd2ZDcng0Sk1QeTZj?= =?utf-8?B?M0pNcXlraXE2U24ycEJUY2kxYmI3R3RueDI4SzNWOEJ0YVM0OXNOYXkyRDh6?= =?utf-8?Q?eN3+kd2gHfHGpFR6nPpzBQHKp?= 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: =?utf-8?B?eUxUakZFd2ZUazFMNHJtRDk1MEZwcEpEenpHS3lldnEra3ZGUVF0ZXErZlRP?= =?utf-8?B?YTBjZnBleEpkTlJlRmlTRXhYZVR4cXZyaFZpaXpuTmUvdEZERitmbjh6eElO?= =?utf-8?B?TmlEZEU4dnpVQWp3L3dIcmMzMGRxaTNmOWhkellJeXFJRC9DTG40K3M3WklB?= =?utf-8?B?VDc4R0NUTWFRd0xiWG5xdktBcFlRbHpZM0Iyb3l4N3Fkd0diMWdhTlhaSjZ1?= =?utf-8?B?bytId21wZXNQbXFRanRJZ1pVV1BEVWdYWW1MMnhoVDhMaStrbXR1SGdQSXFL?= =?utf-8?B?Z0hTcml5Zk9SRnJJSVpJMDJLVXlWb2JLcm4zaFdiOVE3bGdBd1NkazNqdmMy?= =?utf-8?B?cDZuY1I3WDVNMStnQlZIYzVKYnVuOW1hekprWEc1WmpEZXFuK1dCNlJUZDBK?= =?utf-8?B?YzVGUmR3aEp1Nllvbi84cWN1U1dkMml3ZlJiTVR4eGRFN1REUTlVbjhyUUFz?= =?utf-8?B?eTk0VEdPdXN3bGZRWEFzMDFkekhvUWxxVjFSbEFoSUtNbyt2ZkIzcDB5c1Vt?= =?utf-8?B?UkJPbFRxOTZ0aWJWb01jNnNxemtmaStjcFptaUI3ck4zQUNFdWFZeVNSMitE?= =?utf-8?B?YjBEMUNyUFRQNTZHanBsK1BQQkZvdWVpRHIzdG8wd0R6TWtiRjVHbDcyR3lv?= =?utf-8?B?K1RidHhiTnJ0aTJhc3JnSW9OT25aSExtRmRVaHlId2xCMUk2WDYxS1hHaERt?= =?utf-8?B?bjJBbmVDejVnd1ZlWWtHSm5tUFljbDVMQ2MxTVJVSUZ3VVh6SWpWVnpjK2l3?= =?utf-8?B?VHRqdHBxTkV1b1g1N2kzWU5VQ0xhOXRLc3ppa05qaGZpT2laQ3dDUWh4NlFw?= =?utf-8?B?YTZZVXU1NXhIYVJ6bG9DZWczN0diZkV6cXp5L0xVbWNyYlgxRVhYQmxHVmlO?= =?utf-8?B?Z285L2hNQXh3Unovc0dkTThnUWFzQmo0cWZFRmlIQ2FxOEs5L01pRldta1dG?= =?utf-8?B?MTdXcEdobWNjMDJERjVKcHBlb0lLaDlNVnR2bUEvVGFLbHB4RkxCbU5hVjhU?= =?utf-8?B?Yk9iTHJ2MW9vZmR4dElFeXZ1WlQ4UzF5VmhvV0JHcDIzKzJ6cStrdDJGNmJO?= =?utf-8?B?UkVaMCtBSzk1NVd1OXJUVlNtd1BxdVR5S1J4cmxmZncrcTdlR3FwMHFYL1ll?= =?utf-8?B?UVdCR2lIWVpYdTNGRVFqdndsSFpjN085TEFzSmsva080ZVU0a0RxaTRPU0dC?= =?utf-8?B?T3FNYzlyay9VcFc5MUFtNHZDdDZaYWNkbXQyM2NsVjFGNmV3Wks5RjVkUE5K?= =?utf-8?B?Z2VVeWN0K3hWVTFUNnJhUUpTdmNuYXR5MTE0TjV5c3VwNHFqK2VuK1E2elhI?= =?utf-8?Q?W+XMji6OeaYaM=3D?= 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: d15fb967-2fd7-4c95-6741-08da80cbe63f X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Aug 2022 03:44:05.5665 (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: PgQdvXGp9XzMvcxY7QOEG1lPGVZybs+GV73Aa77QdmrWmnwXIlluhaojLBtetGwMxM5SE/vHljtsdsovwHvZ/w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB2830 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gV2VkLCBBdWcgMTcsIDIwMjIgMjoyOCBQTSBXYW5nLCBXZWkv546LIOWogSA8d2FuZ3cuZm5z dEBmdWppdHN1LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBUdWVzLCBBdWd1c3QgMTYsIDIwMjIgMTU6 MzMgUE0gSSB3cm90ZToNCj4gPiBBdHRhY2ggdGhlIG5ldyBwYXRjaGVzLg0KPiANCj4gSSBmb3Vu ZCB0aGF0IGNmYm90IGhhcyBhIGZhaWx1cmUuDQo+IEFmdGVyIGludmVzdGlnYXRpb24sIEkgdGhp bmsgaXQgaXMgYmVjYXVzZSB0aGUgd29ya2VyJ3MgZXhpdCBzdGF0ZSBpcyBub3Qgc2V0DQo+IGNv cnJlY3RseS4gU28gSSBtYWRlIHNvbWUgc2xpZ2h0IG1vZGlmaWNhdGlvbnMuDQo+IA0KPiBBdHRh Y2ggdGhlIG5ldyBwYXRjaGVzLg0KPiANCg0KVGhhbmtzIGZvciB1cGRhdGluZyB0aGUgcGF0Y2gu IEhlcmUgYXJlIHNvbWUgY29tbWVudHMuDQoNCjAwMDMgcGF0Y2gNCj09PT09PT09PT09PT09DQox LiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2FwcGx5Ymd3b3JrZXIuYw0KKwkJZXJl cG9ydChFUlJPUiwNCisJCQkJKGVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJ U0lURV9TVEFURSksDQorCQkJCSBlcnJtc2coImNhbm5vdCByZXBsaWNhdGUgdGFyZ2V0IHJlbGF0 aW9uIFwiJXMuJXNcIiB1c2luZyAiDQorCQkJCQkJInN1YnNjcmlwdGlvbiBwYXJhbWV0ZXIgc3Ry ZWFtaW5nPXBhcmFsbGVsIiwNCisJCQkJCQlyZWwtPnJlbW90ZXJlbC5uc3BuYW1lLCByZWwtPnJl bW90ZXJlbC5yZWxuYW1lKSwNCisJCQkJIGVycmRldGFpbCgiVGhlIHVuaXF1ZSBjb2x1bW4gb24g c3Vic2NyaWJlciBpcyBub3QgdGhlIHVuaXF1ZSAiDQorCQkJCQkJICAgImNvbHVtbiBvbiBwdWJs aXNoZXIgb3IgdGhlcmUgaXMgYXQgbGVhc3Qgb25lICINCisJCQkJCQkgICAibm9uLWltbXV0YWJs ZSBmdW5jdGlvbi4iKSwNCisJCQkJIGVycmhpbnQoIlBsZWFzZSBjaGFuZ2UgdG8gdXNlIHN1YnNj cmlwdGlvbiBwYXJhbWV0ZXIgIg0KKwkJCQkJCSAic3RyZWFtaW5nPW9uLiIpKSk7DQoNClNob3Vs ZCB3ZSB1c2UgIiVzIiBpbnN0ZWFkIG9mICJzdHJlYW1pbmc9cGFyYWxsZWwiIGFuZCAic3RyZWFt aW5nPW9uIj8NCg0KMi4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9hcHBseWJnd29y a2VyLmMNCisJICogSWYgYW55IHdvcmtlciBpcyBoYW5kbGluZyB0aGUgc3RyZWFtaW5nIHRyYW5z YWN0aW9uLCB0aGlzIGNoZWNrIG5lZWRzIHRvDQorCSAqIGJlIHBlcmZvcm1lZCBub3Qgb25seSB1 c2luZyB0aGUgYXBwbHkgYmFja2dyb3VuZCB3b3JrZXIsIGJ1dCBhbHNvIGluIHRoZQ0KKwkgKiBt YWluIGFwcGx5IHdvcmtlci4gVGhpcyBpcyBiZWNhdXNlIHdpdGhvdXQgdGhlc2UgcmVzdHJpY3Rp b25zLCBtYWluDQoNCnRoaXMgY2hlY2sgbmVlZHMgdG8gYmUgcGVyZm9ybWVkIG5vdCBvbmx5IHVz aW5nIHRoZSBhcHBseSBiYWNrZ3JvdW5kIHdvcmtlciwgYnV0DQphbHNvIGluIHRoZSBtYWluIGFw cGx5IHdvcmtlci4NCi0+DQp0aGlzIGNoZWNrIG5vdCBvbmx5IG5lZWRzIHRvIGJlIHBlcmZvcm1l ZCBieSBhcHBseSBiYWNrZ3JvdW5kIHdvcmtlciwgYnV0IGFsc28NCmJ5IHRoZSBtYWluIGFwcGx5 IHdvcmtlcg0KDQozLiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3JlbGF0aW9uLmMN CisJaWYgKHVrZXkpDQorCXsNCisJCWkgPSAtMTsNCisJCXdoaWxlICgoaSA9IGJtc19uZXh0X21l bWJlcih1a2V5LCBpKSkgPj0gMCkNCisJCXsNCisJCQlhdHRudW0gPSBBdHRyTnVtYmVyR2V0QXR0 ck9mZnNldChpICsgRmlyc3RMb3dJbnZhbGlkSGVhcEF0dHJpYnV0ZU51bWJlcik7DQorDQorCQkJ aWYgKGVudHJ5LT5hdHRybWFwLT5hdHRudW1zW2F0dG51bV0gPCAwIHx8DQorCQkJCSFibXNfaXNf bWVtYmVyKGVudHJ5LT5hdHRybWFwLT5hdHRudW1zW2F0dG51bV0sIGVudHJ5LT5yZW1vdGVyZWwu YXR0dW5pcXVlKSkNCisJCQl7DQorCQkJCWVudHJ5LT5wYXJhbGxlbF9hcHBseSA9IFBBUkFMTEVM X0FQUExZX1VOU0FGRTsNCisJCQkJcmV0dXJuOw0KKwkJCX0NCisJCX0NCisNCisJCWJtc19mcmVl KHVrZXkpOw0KDQpJdCBsb29rcyB3ZSBuZWVkIHRvIGNhbGwgYm1zX2ZyZWUoKSBiZWZvcmUgcmV0 dXJuLCByaWdodD8NCg0KNC4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9yZWxhdGlv bi5jDQorCQkvKiBXZSBkb24ndCBuZWVkIGluZm8gZm9yIGRyb3BwZWQgb3IgZ2VuZXJhdGVkIGF0 dHJpYnV0ZXMgKi8NCisJCWlmIChhdHQtPmF0dGlzZHJvcHBlZCB8fCBhdHQtPmF0dGdlbmVyYXRl ZCkNCisJCQljb250aW51ZTsNCg0KV291bGQgaXQgYmUgYmV0dGVyIHRvIGNoYW5nZSB0aGUgY29t bWVudCB0bzoNCldlIGRvbid0IGNoZWNrIGRyb3BwZWQgb3IgZ2VuZXJhdGVkIGF0dHJpYnV0ZXMN Cg0KNS4gc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMyX3N0cmVhbWluZ19hcHBseS5wbA0KKyRu b2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgkYXBwbmFtZSk7DQorDQorIyBUaGVuIHdl IGNoZWNrIHRoZSBmb3JlaWduIGtleSBvbiBwYXJ0aXRpb24gdGFibGUuDQorJG5vZGVfcHVibGlz aGVyLT53YWl0X2Zvcl9jYXRjaHVwKCRhcHBuYW1lKTsNCg0KSGVyZSwgd2FpdF9mb3JfY2F0Y2h1 cCgpIGlzIGNhbGxlZCB0d2ljZSwgd2UgY2FuIHJlbW92ZSB0aGUgc2Vjb25kIG9uZS4NCg0KNi4g c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9hcHBseWJnd29ya2VyLmMNCisJCS8qIElm IGFueSB3b3JrZXJzIChvciB0aGUgcG9zdG1hc3RlcikgaGF2ZSBkaWVkLCB3ZSBoYXZlIGZhaWxl ZC4gKi8NCisJCWlmIChzdGF0dXMgPT0gQVBQTFlfQkdXT1JLRVJfRVhJVCkNCisJCQllcmVwb3J0 KEVSUk9SLA0KKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9UX0lOX1BSRVJFUVVJU0lU RV9TVEFURSksDQorCQkJCQkgZXJybXNnKCJiYWNrZ3JvdW5kIHdvcmtlciAldSBmYWlsZWQgdG8g YXBwbHkgdHJhbnNhY3Rpb24gJXUiLA0KKwkJCQkJCQllbnRyeS0+d3N0YXRlLT5zaGFyZWQtPndv cmtlcl9pZCwNCisJCQkJCQkJZW50cnktPndzdGF0ZS0+c2hhcmVkLT5zdHJlYW1feGlkKSkpOw0K DQpTaG91bGQgd2UgY2hhbmdlIHRoZSBlcnJvciBtZXNzYWdlIHRvICJhcHBseSBiYWNrZ3JvdW5k IHdvcmtlciAldSBmYWlsZWQgdG8NCmFwcGx5IHRyYW5zYWN0aW9uICV1IiA/IFRvIGJlIGNvbnNp c3RlbnQgd2l0aCB0aGUgZXJyb3IgbWVzc2FnZSBpbg0KYXBwbHlfYmd3b3JrZXJfd2FpdF9mb3Io KS4NCg0KMDAwNCBwYXRjaA0KPT09PT09PT09PT09PT0NCjEuDQpJIHNhdyB0aGF0IHRoZSBjb21t aXQgbWVzc2FnZSBzYXlzOg0KSWYgdGhlIHN1YnNjcmliZXIgZXhpdHMgd2l0aCBhbiBlcnJvciwg dGhpcyBmbGFnIHdpbGwgYmUgc2V0IHRydWUsIGFuZA0Kd2hlbmV2ZXIgdGhlIHRyYW5zYWN0aW9u IGlzIGFwcGxpZWQgc3VjY2Vzc2Z1bGx5LCB0aGlzIGZsYWcgaXMgcmVzZXQgZmFsc2UuDQoNCiJz dWJyZXRyeSIgaXMgc2V0IHRvIGZhbHNlIGlmIGEgdHJhbnNhY3Rpb24gaXMgYXBwbGllZCBzdWNj ZXNzZnVsbHksIGl0IGxvb2tzDQpzaW1pbGFyIHRvIHdoYXQgY2xlYXJfc3Vic2NyaXB0aW9uX3Nr aXBfbHNuKCkgZG9lcywgc28gbWF5YmUgd2Ugc2hvdWxkIHJlbW92ZQ0KdGhlIGZvbGxvd2luZyBj aGFuZ2UgaW4gYXBwbHlfaGFuZGxlX3N0cmVhbV9hYm9ydCgpPyBPciBvbmx5IGNhbGwNCnNldF9z dWJzY3JpcHRpb25fcmV0cnkoKSB3aGVuIHJvbGxiYWNraW5nIHRoZSB0b3BsZXZlbCB0cmFuc2Fj dGlvbi4NCg0KQEAgLTE2NzEsNiArMTY4OCw5IEBAIGFwcGx5X2hhbmRsZV9zdHJlYW1fYWJvcnQo U3RyaW5nSW5mbyBzKQ0KIAkJCSAqLw0KIAkJCXNlcmlhbGl6ZV9zdHJlYW1fYWJvcnQoeGlkLCBz dWJ4aWQpOw0KIAkJfQ0KKw0KKwkJLyogUmVzZXQgdGhlIHJldHJ5IGZsYWcuICovDQorCQlzZXRf c3Vic2NyaXB0aW9uX3JldHJ5KGZhbHNlKTsNCiAJfQ0KIA0KIAlyZXNldF9hcHBseV9lcnJvcl9j b250ZXh0X2luZm8oKTsNCg0KMi4gc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3Jr ZXIuYw0KKwkvKiBSZXNldCBzdWJyZXRyeSAqLw0KKwl2YWx1ZXNbQW51bV9wZ19zdWJzY3JpcHRp b25fc3VicmV0cnkgLSAxXSA9IEJvb2xHZXREYXR1bShyZXRyeSk7DQorCXJlcGxhY2VzW0FudW1f cGdfc3Vic2NyaXB0aW9uX3N1YnJldHJ5IC0gMV0gPSB0cnVlOw0KDQovKiBSZXNldCBzdWJyZXRy eSAqLw0KLT4NCi8qIFNldCBzdWJyZXRyeSAqLw0KDQozLg0KKyMgSW5zZXJ0IGRlcGVuZGVudCBk YXRhIG9uIHRoZSBwdWJsaXNoZXIsIG5vdyBpdCB3b3Jrcy4NCiskbm9kZV9zdWJzY3JpYmVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywgIklOU0VSVCBJTlRPIHRlc3RfdGFiMiBWQUxVRVMoMSkiKTsN Cg0KSW4gdGhlIGNhc2UgdGhhdCB0aGUgREVMRVRFIGNoYW5nZSBmcm9tIHB1Ymxpc2hlciBoYXMg bm90IGJlZW4gYXBwbGllZCB5ZXQgd2hlbg0KZXhlY3V0aW5nIHRoZSBJTlNFUlQsIHRoZSBJTlNF UlQgd2lsbCBmYWlsLg0KDQowMDA1IHBhdGNoDQo9PT09PT09PT09PT09PQ0KMS4NCisgICAgICA8 cGFyYT4NCisgICAgICAgUHJvY2VzcyBJRCBvZiB0aGUgbWFpbiBhcHBseSB3b3JrZXIsIGlmIHRo aXMgcHJvY2VzcyBpcyBhIGFwcGx5DQorICAgICAgIGJhY2tncm91bmQgd29ya2VyLiBOVUxMIGlm IHRoaXMgcHJvY2VzcyBpcyBhIG1haW4gYXBwbHkgd29ya2VyIG9yIGENCisgICAgICAgc3luY2hy b25pemF0aW9uIHdvcmtlci4NCisgICAgICA8L3BhcmE+PC9lbnRyeT4NCg0KYSBhcHBseSBiYWNr Z3JvdW5kIHdvcmtlcg0KLT4NCmFuIGFwcGx5IGJhY2tncm91bmQgd29ya2VyDQoNClJlZ2FyZHMs DQpTaGkgeXUNCg==