Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wROmJ-002JZA-36 for pgsql-hackers@arkaria.postgresql.org; Mon, 25 May 2026 06:27:08 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wROmG-000HTG-2H for pgsql-hackers@arkaria.postgresql.org; Mon, 25 May 2026 06:27:05 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wROmF-000HT8-35 for pgsql-hackers@lists.postgresql.org; Mon, 25 May 2026 06:27:05 +0000 Received: from mail-japaneastazon11011048.outbound.protection.outlook.com ([52.101.125.48] helo=TYVP286CU001.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wROmA-00000000f0V-40SQ for pgsql-hackers@lists.postgresql.org; Mon, 25 May 2026 06:27:03 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=AwScizhx/ZIqjFRvf3t15JJGPm1JcF4U2X/UaN+Zi1Acf9ifDAdkUMOSOsxLLdMSHPa9tsb1FcNgONvYvEhJJKICbT/MIDGyOAIjCClKaufyLfCeU8zWTCkTRcr2PpGVH11maKVSQ3Dtj1g8/tGxKPtBYIX2v4G2nFI+kv+Pk+51wn7TIhB8wYPGxzSYZOcCyNVs01qWsjTP00P6008oMzvBzniI/RwKya4vDu63d2aWC0dWDaRtmRS5kHpqFzqbNqs6ta+XN96So6ooZn6W68iCYaEEMzwrKBxOtgZ9jhO1yZOARl1b8OHrl9hQNGuLTbAJxTZWwwgJLnHpD73j+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=ExZhXcqldZzXW+ArNXbutiS6lVsimy0MVU6SPuZ+514=; b=maZgZXbCSofg7aEY6Jq3cqpBm6XUwiZ5pznCXg1wbDf15zqG1wwDPYhZeoF40LUfixBdo0FHloUyg6f7nAsceJwNAk9pemtGe0r/ENudQYfHTfR+ClEnftRo6dMp7jGt5g2pbRTVxlHPSKgHTia5li8Xv24458h4rUmh4OXSPJvIt/brIwKKkuMHgVp8Da9EwUycw1DGf0oX5LLraU60WNM2w0Ck9eE8RjAlWbba5/bTK19p4rlV3UPbyQGwbz2AYW5qG5bJYQXuF0dzH6YT8L8MAjYA6UHI8SWDthvVyg1f93xokWXYrpHxFxa4k0vlIEkj3mHTCvo3SnG8s+fmqQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ExZhXcqldZzXW+ArNXbutiS6lVsimy0MVU6SPuZ+514=; b=qMZwJz4Ziy7FSNNCbH/c5OYAwrlC6UquKTzazvO710Vr6JwLl6o58BftlNHtxTX5n6RU7SqLygrAKbYt+VtLRSYnXqZUCu6alH+tTMdDXji8TXXUiCIp6D5xaak4ZGLnHmxCPKIitg/MF0sdyWMFKXSO6tpWxiGGOUtX0UtdSVUcVkyC/1J1yeinGJlLvL6PDmY8IjMwbvroMoIse0TpA00NdoH3MOGSgPmcEJ+jMo0ehQQtDOMUXIVJdeF7+CJbPIAZNaraShcpoYcBZLAU+RyjElLXguQF6Ze89T41uvi4NbebZ/vRfXlFi2stsBb+PUit3vkylF45CbjeCZZJRA== Received: from TY4PR01MB17718.jpnprd01.prod.outlook.com (2603:1096:405:38a::22) by TYRPR01MB13458.jpnprd01.prod.outlook.com (2603:1096:405:1c8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.48.19; Mon, 25 May 2026 06:26:52 +0000 Received: from TY4PR01MB17718.jpnprd01.prod.outlook.com ([fe80::7430:f96b:750d:8a04]) by TY4PR01MB17718.jpnprd01.prod.outlook.com ([fe80::7430:f96b:750d:8a04%5]) with mapi id 15.21.0048.013; Mon, 25 May 2026 06:26:52 +0000 From: "Zhijie Hou (Fujitsu)" To: Antonin Houska , Alvaro Herrera CC: Amit Kapila , "Hayato Kuroda (Fujitsu)" , Srinath Reddy Sadipiralla , Mihail Nikalayeu , Matthias van de Meent , Pg Hackers , Robert Treat Subject: RE: Adding REPACK [concurrently] Thread-Topic: Adding REPACK [concurrently] Thread-Index: AQHb/ngj8i9SxbdaA0Oc2FnEu89sXLTb6auAgDakYoCAAGoMAIACw7YAgAFtLACAA1QNgIAACEGAgAY/94CAAtsaAIAgv5qAgAACigCABSC9AIADL04AgAMS5QCAAB3rgIAJqQ8AgAVrZACAADAmAIAFCxgAgAD8ewCAAcsIAIAP/WaAgBAHvQCACuZ/AIABk9iAgADyJ4CAAFNPgIAAJBaAgAAGUACAACw7gIADHXmAgAFZwwCAAxpUgIAALfUAgATTsYCAAtbuAIAC5gEAgAIjz4CAAVelAIABzwsAgADUVQCABMgkAIAANJAAgAAhkwCAAA3SAIAARveAgAAOGwCAABp/AIAAA6EAgADXTgCAAJfVAIABhdKAgAGdl4CAARgQAIAJJ9UAgAIVYICAAA16gIAF4N8AgABAAACAABCUAIAARMmAgAFCbQCAACSZgIAAT7cAgAKBngCAAC+kgIAATC4AgAABuICAALONgIAAQqgAgALSTYCAAqJpgIAD/bsAgAAukICARj2PMA== Date: Mon, 25 May 2026 06:26:52 +0000 Message-ID: References: <202604072027.gazfa2zt2l2j@alvherre.pgsql> <125085.1775827305@localhost> In-Reply-To: <125085.1775827305@localhost> Accept-Language: en-AS, ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ActionId=2a959497-1863-4489-ac5a-ac4edb3c985e;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ContentBits=0;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Enabled=true;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Method=Standard;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Name=FUJITSU-RESTRICTED?;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SetDate=2026-05-25T06:00:15Z;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Tag=10, 3, 0, 1; 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: TY4PR01MB17718:EE_|TYRPR01MB13458:EE_ x-ms-office365-filtering-correlation-id: 2cac01b1-901d-43da-0c05-08deba269c32 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|6049299003|38070700021|1580799027|4053099003|22082099003|18002099003|56012099003|4143699003|11063799006; x-microsoft-antispam-message-info: TIc33Sc3ssMwf2Qt3CKDTsjrey8gxQC0H50J0EPWUAi5GCnbH60mJK2FaA7Dl/dM5KmkCQoojgoD2PaT7k7N9SXFivWcoGQX35ZI0jN+mlyZFwd8q24o9Feyhlj/iIudgOK2pVxQ7LjbsRcI3qOkPGUQTnKwExSUdSljvvujc29pbaa3KvP1H9fIfsf2+aYqjf1qcV3K+PYj00xAE9zV7cim2ylrpD2pLLxkSDps+Wase2aRJML8XtY7VkCGR0ydgJmAJeDbbnoSKZLQ4wd8Jq1E1lb7e7a3Kwn5BGsl202oEUKNc80/AipXaYldCOVb/xEc8hy1LcEubqcUV+RngkMaKkSjt0mbysDhIxHDDidqGCDQlxpTewZLAKs/wSE06Q8WCATSqq7beVwPfo4GPobQ0ojnKJjHwmAH0SJqciAnlKL7XA+nmxUunDdF1dRO2kXZ+Q/I8ZkXkJqZETkbUebJB15xlDQ67uflcgxiqsPQxTq+ZhWC4wrDuc7ipnzH6etG7k/AwdlsPDBMMuqdjPxgxgid6mOyxOZowMQZETsBpw+U7B2lwwuYZTSQTyKnk4hkwE8bf+rvPpO4epfyWXE+UwqGP2X3abJ59/AygmLHFdPBY67o3AOgXfPaAS9Bzs21+Kvqrpz0dTP8qYj/VJ7J/wqK7iFAyhjuvCOs7OqlmGdrJ/vs8cX7SIt+uhn+MdycbbQAC4J6C9xNlOc4ld9rpM8KG2pZMHLkjytbPzNhtGqtlFEo4ybeDvKhUMl0ZUTiFmw9nW3edttmI3/KUHz47x/9O/YPLWshZ3Bfcxk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:ja;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY4PR01MB17718.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(6049299003)(38070700021)(1580799027)(4053099003)(22082099003)(18002099003)(56012099003)(4143699003)(11063799006);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?N3UzOFVEUHk1NFFkNzVPNHRSRld6eEpOT2VkUmEwSnJvUXY1RjkvajZW?= =?iso-2022-jp?B?dzgxMS9uN0orSEZPQVVlUlpkZkpaMWJhYlhMRC9GMnFwa0VpRHFFMWQv?= =?iso-2022-jp?B?UWdJS0V5dUMwR2NBbThJYWNYS0RXUjFHcVpGTnp0RWRCUDZOVXMvMlUv?= =?iso-2022-jp?B?dytjT296RmVsZjZyeGs0OWRMUzdlM1pXbG9FUzZNSzJQUXdpREZTVk5V?= =?iso-2022-jp?B?VURlektHRldCM1lxSkRZWk9VV2xaL0FmSElqQjRkdy9vTWk2TXdTSkFL?= =?iso-2022-jp?B?cHRPSDJrMzlEcWo4a081SE1wdGF1NzhXQWFNSVBSVnRBL2hqdFhzdGpJ?= =?iso-2022-jp?B?bDc4cERpOHRFSHBCVkM1WC9ab3VWZC91RElmRGxpSjBFRXJVZ0RFbkhu?= =?iso-2022-jp?B?TWExV2p0cnJkY2o5cEpNMy9MU3VVNFVMOEduYzEwZGZZNEFiM2lzSUsx?= =?iso-2022-jp?B?WXRFYVVBSTBCbk56TmtyOThSZFRFWDhUaStsd2VNVmRlNUFOS2tpdXRz?= =?iso-2022-jp?B?QVhnU0dlZ2d4Q040NElSakx5MHhQYW1zZ2R4bTBoOFlSZGxabUNQV2dx?= =?iso-2022-jp?B?eGZwcjFZQ0xrZkFBS3dWeXBONC9rb0tvZkZlSUNTUFVpVGVlMmYwNER4?= =?iso-2022-jp?B?dE5OUXE5eWE5OUlMSlVXdDgxNlpqc3F4d3dZSzJOZGF2SytIOFV4Wkg3?= =?iso-2022-jp?B?aXVSd2RQa2JYWEJLWXovVncyTzIzSDVxcVhSUlhwVjFYYnljRDZISjZ4?= =?iso-2022-jp?B?UjZzL0N3dkUwOUJUZUFBdzRtZGFBOWZzTVVUa0dyeVlLT0J6cW80TEtJ?= =?iso-2022-jp?B?Z0NzaXI1YU83VC9IcWd1UGo3T25xbXpCakdsc3RDVXdJdUc4ZHBQY3pr?= =?iso-2022-jp?B?alpuT1lneVRJdDZMQVFwUzdhUXhwTVhqY2M0ZmhSTHRXU0RROHRHN2lQ?= =?iso-2022-jp?B?VWQ0QXZOTWFzT2FTMWN3TUlkRXBPS21ncXpWbTU4VjcvSlA5S2VIdEk2?= =?iso-2022-jp?B?eU1admQyTTd6REhJUFZubitKb0MyV04xaEFYNThYV1ZrY00wWXYwUlg5?= =?iso-2022-jp?B?NUhCa0dPTzI4Y0tCclczUkVISGZLaCs5R2JNTlE1NzlHMWJlT290SGQw?= =?iso-2022-jp?B?a3ZsOHhhWXorVzZpY0VmVERCRTlrUUlTTG8yS0xsZXViaHdlVzcwa2c0?= =?iso-2022-jp?B?YTNwdDVvTm5sWlNjQllXZk5Lcmp6QXk1NFlYSTZJNlRMUXVQYWVFRHg5?= =?iso-2022-jp?B?T214YjBTeW80b3RLcmFjMHRPUmtWckNNZ0pyTTJhQ3NPT1dLRy9pdk0x?= =?iso-2022-jp?B?M0RqRkRsNnY1OGk1OHdUblhYYkN1dHgrTHgwVWhGMG9GU2RITmpGcWsz?= =?iso-2022-jp?B?NHJPdVpHLzRBR0MzbzlOOUpvWUFUQUxPa2I1Um9Ib3NxNHhUTXU0RElW?= =?iso-2022-jp?B?Z1lHSFdxOThhR1NzbGEzOTZBTlZmRlljZ05DTkZGWCtMdk1nL24rRk0v?= =?iso-2022-jp?B?UHQvN1M1NXlsTlVGZXFzT243OXNXbGFFZS9ML0l4blhIQUw2NXVQYjEy?= =?iso-2022-jp?B?cVcyRHUvL1ljTGVBQUJOQUhvdTJDMUVXamFPc0dQNC81OWpaRzhnVTVN?= =?iso-2022-jp?B?eW91WUlyS1hnMEtPQURrNWNSdFhreXVaZ09WcU9IOFBneC9DQzJCUVY2?= =?iso-2022-jp?B?QXROS3VFUmpWRzA5UG1HOTM1SUdCeENhVEZBUVdGVlFPT1AxS2dObzdw?= =?iso-2022-jp?B?d0cwald4OXFTUnYxV25vQUprNit2bXhhRjJtYmNvYjZFdlhRcEVMalpE?= =?iso-2022-jp?B?WUdVL0J3NldIQUVCZjVHeDNJWlNrb2J6MUFCQWw5UytCbzFlcWpMODVI?= =?iso-2022-jp?B?WFp5UHAydVNEODBMcEtVOEJpcXdTbXl0V09ndUZiUDhobCtFaDV3Yzdv?= =?iso-2022-jp?B?WHRPV3k3d2lkSUZmQXhBZG5IbHZBOWkyaC85L3lUMG95bkxWM3BOUlVE?= =?iso-2022-jp?B?bHp4cmVHWDJpbVhveU1PSW45dWgxMFI1N3JBL0xWakJUTkdzT2s1YmYr?= =?iso-2022-jp?B?ZnVJaTNIS3lrVUM5QitMQ2psOGFMN2I0aUp2VjV5alNvZ2dBTjhpQS8y?= =?iso-2022-jp?B?ZHhkTDlJTG9rNHcyZkVqTjViVjB1TGdTZjFsTjNNMG51dEEwbjlEQnBN?= =?iso-2022-jp?B?WGlLQXZuK0lxRFBQU2FLNEtJMytLeWpvS3hpcGNPYzVsVEYrZUhMN3ZR?= =?iso-2022-jp?B?eTNtVW5GSW5aajl6K0RiMUczRDZ0MWU4YmhISlJFaTBIdWMwZzVRTzVu?= =?iso-2022-jp?B?OGxDZUhrSy9naEtkY3QycHRya2xMZElOQzlXRFI1djBJenFTOTNrSHRO?= =?iso-2022-jp?B?RnlxYm8xcXB6R0NyMVJsR1ZkQ3BOUVpUK2l1eXRFd0U0cmY3RC9JYS8z?= =?iso-2022-jp?B?VW1SVkdVSSs5U3dINW1GaGhFNDFtcVFycVQxa1Ria2kvRFd4czY5bjEz?= =?iso-2022-jp?B?RGVwcUpYTk5KY2NIQnZQK3ZkbWNWTWNnUEFFQT09?= Content-Type: multipart/mixed; boundary="_002_TY4PR01MB17718B44164522D0798F8E898940A2TY4PR01MB17718jp_" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: oHe/rId9Nc3iVQRLhmqHYPb6qlx8BVlSK+jOn1bpT0Vuv39gXdg3ZsTaker7S1FChF0PG6LTidi0ZelLT+4RpmgDYAh9ELmgHAyaVGqQ3vn0I3rmJ2a1Dhns0STLn+D90GUU4m2WS1x8FVxYj0GrjLvGT1LYIFemY9zTYvLHA7GFPNExRDeuSjrkv7KX1lOpbg4t03c5yrcaxHOROxkJ0M4/1ovkY/wKUaEhKRULR6Q0kWpgSVvwYRIZR9UUliNxyBcDeNVMD7Dnr2kS0yBmgP10qankSdaqYQCpN3ym5Miwzg/FXZZ+UK0NKA2nayep25ctUx2oMcUTmJgwzJ8t7A== X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY4PR01MB17718.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2cac01b1-901d-43da-0c05-08deba269c32 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 May 2026 06:26:52.5169 (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: Xvsw61I28FNIhihokZ4LOYuIqEssGUPnoduWld/BEBExyjPwl3X6hy2DT/UQ29VdLTNA6JCjpfshuuX0IiHd6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYRPR01MB13458 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_TY4PR01MB17718B44164522D0798F8E898940A2TY4PR01MB17718jp_ Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable > -----Original Message----- > From: Antonin Houska > Sent: Friday, April 10, 2026 9:22 PM > To: Hou, Zhijie/=1B$B8t=1B(B =1B$B;V[?=1B(B > Cc: Alvaro Herrera ; Amit Kapila > ; Kuroda, Hayato/=1B$B9uED=1B(B =1B$BH;?M=1B(B > ; Srinath Reddy Sadipiralla > ; Mihail Nikalayeu ; > Matthias van de Meent ; Pg Hackers > ; Robert Treat > Subject: Re: Adding REPACK [concurrently] >=20 > Zhijie Hou (Fujitsu) wrote: >=20 > > When testing REPACK concurrently, I noticed that all WALs are retained > > from the moment REPACK begins copying data to the new table until the > > command finishes replaying concurrent changes on the new table and > > stops the repack decoding worker. > > > > I understand the reason: the REPACK command itself starts a > > long-running transaction, and logical decoding does not advance > > restart_lsn beyond the oldest running transaction's start position. As > > a result, slot.restart_lsn remains unchanged, preventing the checkpoint= er > from recycling WALs. >=20 > I think you're right, sorry for the omission. >=20 > > IIUC, REPACK without using concurrent option does not have this issue. >=20 > It does not have the WAL recycling issue because it does not need to read > WAL. However it also runs in a long transaction. Even though it does not = need > XID for the actual heap rewriting, it gets one at the moment it locks the= table > using AccessExclusiveLock (which is at the very beginning). >=20 > > Given that we do not restart a REPACK, I think the repack decoding > > worker should be able to advance restart_lsn each time after writing > > changes (similar to how a physical slot behaves). To illustrate this, > > I've written a patch (attached) that implements this approach, and it w= orks > fine for me. >=20 > LGTM, thanks! >=20 Thanks for reviewing! After listening to the REPACK talk at pgconf.dev this year, I understand th= at WAL accumulation during REPACK CONCURRENTLY is not intended behavior. I thi= nk we can consider fixing this in the current release. Attached is the rebased patch, with comments adjusted based on Chao Li's comments. Best Regards, Hou zj --_002_TY4PR01MB17718B44164522D0798F8E898940A2TY4PR01MB17718jp_ Content-Type: application/octet-stream; name="v2-0001-Allow-old-WAL-recycling-during-REPACK-CONCURRENTL.patch" Content-Description: v2-0001-Allow-old-WAL-recycling-during-REPACK-CONCURRENTL.patch Content-Disposition: attachment; filename="v2-0001-Allow-old-WAL-recycling-during-REPACK-CONCURRENTL.patch"; size=3077; creation-date="Mon, 25 May 2026 06:24:25 GMT"; modification-date="Mon, 25 May 2026 06:26:51 GMT" Content-Transfer-Encoding: base64 RnJvbSA4N2JhOTE4YjkwMjBjZTlmYTBkNDg1MmYyMjIyMjFmNTIxZDg3MDFmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBaaGlqaWUgSG91IDxob3V6ai5mbnN0QGZ1aml0c3UuY29tPgpE YXRlOiBGcmksIDEwIEFwciAyMDI2IDE2OjI0OjU1ICswODAwClN1YmplY3Q6IFtQQVRDSCB2Ml0g QWxsb3cgb2xkIFdBTCByZWN5Y2xpbmcgZHVyaW5nIFJFUEFDSyBDT05DVVJSRU5UTFkKCkR1cmlu ZyBSRVBBQ0sgQ09OQ1VSUkVOVExZLCBsb2dpY2FsIGRlY29kaW5nIGNhbiBrZWVwIHJlcGxpY2F0 aW9uCnNsb3QucmVzdGFydF9sc24gcGlubmVkIGJlaGluZCB0aGUgb2xkZXN0IHJ1bm5pbmcgdHJh bnNhY3Rpb24sIHdoaWNoIGlzIG9mdGVuCnRoZSBsb25nLWxpdmVkIFJFUEFDSyB0cmFuc2FjdGlv biBpdHNlbGYuIEFzIGEgcmVzdWx0LCBvbGQgV0FMIHNlZ21lbnRzIGFyZQpyZXRhaW5lZCBsb25n ZXIgdGhhbiBuZWNlc3NhcnkuCgpUaGlzIGNvbW1pdCBhZHZhbmNlcyB0aGUgcmVwbGljYXRpb24g c2xvdCBlYWNoIHRpbWUgV0FMIGluc2VydGlvbiBjcm9zc2VzIGEKc2VnbWVudCBib3VuZGFyeSwg c28gb2Jzb2xldGUgV0FMIGZpbGVzIGNhbiBiZSByZWN5Y2xlZCB3aGlsZSBSRVBBQ0sgaXMgc3Rp bGwKcnVubmluZy4KClRoaXMgY2hhbmdlIGRvZXMgbm90IGFkdmFuY2UgY2F0YWxvZ194bWluLiBS RVBBQ0sgYWxyZWFkeSBob2xkcyBhIHNuYXBzaG90IHRoYXQKcHJldmVudHMgY2F0YWxvZyBkZWFk IHR1cGxlIHJlbW92YWwsIHNvIGNhdGFsb2dfeG1pbiBoYW5kbGluZyBjYW4gYmUgYWRkcmVzc2Vk CmluZGVwZW5kZW50bHkuCi0tLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvcmVwYWNrX3dvcmtlci5j ICAgICAgfCAxNCArKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNh bC9sb2dpY2FsLmMgfCAgOCArKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3Jl cGFja193b3JrZXIuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3JlcGFja193b3JrZXIuYwppbmRl eCBiODQwNDEzNzJiOC4uZWVkNjlkMzY1MDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3JlcGFja193b3JrZXIuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9yZXBhY2tfd29y a2VyLmMKQEAgLTM5NywxMiArMzk3LDI0IEBAIGRlY29kZV9jb25jdXJyZW50X2NoYW5nZXMoTG9n aWNhbERlY29kaW5nQ29udGV4dCAqY3R4LAogCiAJCQkvKgogCQkJICogSWYgV0FMIHNlZ21lbnQg Ym91bmRhcnkgaGFzIGJlZW4gY3Jvc3NlZCwgaW5mb3JtIHRoZSBkZWNvZGluZwotCQkJICogc3lz dGVtIHRoYXQgdGhlIGNhdGFsb2dfeG1pbiBjYW4gYWR2YW5jZS4KKwkJCSAqIHN5c3RlbSB0aGF0 IHRoZSBzbG90IGNhbiBhZHZhbmNlLgorCQkJICoKKwkJCSAqIE9uY2UgUkVQQUNLIGJlZ2lucyBj b3B5aW5nIGRhdGEgdG8gdGhlIG5ldyB0YWJsZSwgdGhlIGxvZ2ljYWwKKwkJCSAqIGRlY29kaW5n IG1hY2hpbmVyeSBwcmV2ZW50cyB0aGUgc2xvdCBmcm9tIGFkdmFuY2luZyBiZXlvbmQgdGhlCisJ CQkgKiBvbGRlc3QgcnVubmluZyB0cmFuc2FjdGlvbiAod2hpY2ggaXMgdGhlIFJFUEFDSyB0cmFu c2FjdGlvbgorCQkJICogaXRzZWxmKS4gQXMgYSByZXN1bHQsIHJlc3RhcnRfbHNuIGFuZCBjYXRh bG9nX3htaW4gY2FuIG5vCisJCQkgKiBsb25nZXIgYWR2YW5jZSBhdXRvbWF0aWNhbGx5LgorCQkJ ICoKKwkJCSAqIFRvIGFsbG93IG9sZCBXQUwgZmlsZXMgdG8gYmUgcmVjeWNsZWQsIHdlIG1hbnVh bGx5IGFkdmFuY2UgdGhlCisJCQkgKiBzbG90IGVhY2ggdGltZSBhIFdBTCBzZWdtZW50IGJvdW5k YXJ5IGlzIGNyb3NzZWQuIFdlIGRvIG5vdAorCQkJICogYWR2YW5jZSBjYXRhbG9nX3htaW4gaGVy ZSBiZWNhdXNlIHRoZSBSRVBBQ0sgdHJhbnNhY3Rpb24gYW55d2F5CisJCQkgKiBob2xkcyBhIHNu YXBzaG90IHRoYXQgcHJldmVudHMgY2F0YWxvZyBkZWFkIHR1cGxlIHJlbW92YWwuCiAJCQkgKi8K IAkJCWVuZF9sc24gPSBjdHgtPnJlYWRlci0+RW5kUmVjUHRyOwogCQkJWExCeXRlVG9TZWcoZW5k X2xzbiwgc2Vnbm9fbmV3LCB3YWxfc2VnbWVudF9zaXplKTsKIAkJCWlmIChzZWdub19uZXcgIT0g cmVwYWNrX2N1cnJlbnRfc2VnbWVudCkKIAkJCXsKKwkJCQlMb2dpY2FsSW5jcmVhc2VSZXN0YXJ0 RGVjb2RpbmdGb3JTbG90KGVuZF9sc24sIGVuZF9sc24pOwogCQkJCUxvZ2ljYWxDb25maXJtUmVj ZWl2ZWRMb2NhdGlvbihlbmRfbHNuKTsKIAkJCQllbG9nKERFQlVHMSwgIlJFUEFDSzogY29uZmly bWVkIHJlY2VpdmUgbG9jYXRpb24gJVgvJVgiLAogCQkJCQkgKHVpbnQzMikgKGVuZF9sc24gPj4g MzIpLCAodWludDMyKSBlbmRfbHNuKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvbG9naWNhbC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9s b2dpY2FsLmMKaW5kZXggYTMzYTY4NWRjYzYuLjExYjY0ZGUzZDkwIDEwMDY0NAotLS0gYS9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYworKysgYi9zcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL2xvZ2ljYWwuYwpAQCAtMTkxMyw4ICsxOTEzLDE0IEBAIExvZ2lj YWxDb25maXJtUmVjZWl2ZWRMb2NhdGlvbihYTG9nUmVjUHRyIGxzbikKIAkJCVNwaW5Mb2NrUmVs ZWFzZSgmTXlSZXBsaWNhdGlvblNsb3QtPm11dGV4KTsKIAogCQkJUmVwbGljYXRpb25TbG90c0Nv bXB1dGVSZXF1aXJlZFhtaW4oZmFsc2UpOwotCQkJUmVwbGljYXRpb25TbG90c0NvbXB1dGVSZXF1 aXJlZExTTigpOwogCQl9CisKKwkJLyoKKwkJICogTm93IHRoZSBuZXcgcmVzdGFydF9sc24gaXMg c2FmZWx5IG9uIGRpc2ssIHJlY29tcHV0ZSB0aGUgZ2xvYmFsIFdBTAorCQkgKiByZXRlbnRpb24g cmVxdWlyZW1lbnQuCisJCSAqLworCQlpZiAodXBkYXRlZF9yZXN0YXJ0KQorCQkJUmVwbGljYXRp b25TbG90c0NvbXB1dGVSZXF1aXJlZExTTigpOwogCX0KIAllbHNlCiAJewotLSAKMi40My4wCgo= --_002_TY4PR01MB17718B44164522D0798F8E898940A2TY4PR01MB17718jp_--