From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 81EDEC83F09 for ; Wed, 9 Jul 2025 03:25:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 025638D000E; Tue, 8 Jul 2025 23:25:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F18588D0001; Tue, 8 Jul 2025 23:25:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB86C8D000E; Tue, 8 Jul 2025 23:25:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id C3F3D8D0001 for ; Tue, 8 Jul 2025 23:25:42 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 50678C02E7 for ; Wed, 9 Jul 2025 03:25:42 +0000 (UTC) X-FDA: 83643286524.25.6C6CDD4 Received: from mailgw02.mediatek.com (mailgw02.mediatek.com [216.200.240.185]) by imf27.hostedemail.com (Postfix) with ESMTP id 0FCA24000C for ; Wed, 9 Jul 2025 03:25:37 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=mediatek.com header.s=dk header.b=rIUVaILi; dkim=pass header.d=mediateko365.onmicrosoft.com header.s=selector2-mediateko365-onmicrosoft-com header.b=DJuXPPSs; spf=pass (imf27.hostedemail.com: domain of qun-wei.lin@mediatek.com designates 216.200.240.185 as permitted sender) smtp.mailfrom=qun-wei.lin@mediatek.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=quarantine) header.from=mediatek.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752031538; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=sL3mjZ1nWhk5++B9tCqJsg8KKcuL08VT0MOxghnVFPc=; b=hRPNO0jM1TuKyCxQHO6KAdja2EngUZDlPZkU9rpEO4zXGWaPMYnRFWjwyDSu/37AkSdk/x SXf0QWOIzBISk6CuMlQfryTrW8xytBDJoIrI/of7Ro6P6vLpofTnZy1DX2orxJFSPxaE2T 56GXhahldm3DLic2Yu36aHxFps9O3So= ARC-Authentication-Results: i=2; imf27.hostedemail.com; dkim=pass header.d=mediatek.com header.s=dk header.b=rIUVaILi; dkim=pass header.d=mediateko365.onmicrosoft.com header.s=selector2-mediateko365-onmicrosoft-com header.b=DJuXPPSs; spf=pass (imf27.hostedemail.com: domain of qun-wei.lin@mediatek.com designates 216.200.240.185 as permitted sender) smtp.mailfrom=qun-wei.lin@mediatek.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=quarantine) header.from=mediatek.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1752031538; a=rsa-sha256; cv=pass; b=n0hsPJgSt0ChKrruWmGNaMPAqiBT9Meo61bSAx1XGCsY07+mKB22hw5z5Twc3c1dg2+XiN n7JWzeaoVXahQFg8hLjDm1i149ZwXSnriB9o/HW8oM3LfIzHAMBfPWlbOkBObwUOpAr0M+ cPRQHFCGiQwZ2QU/f8W9hQyRuNnV1cM= X-UUID: 5f4d77465c7411f09eb0dd999d3936bf-20250708 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=sL3mjZ1nWhk5++B9tCqJsg8KKcuL08VT0MOxghnVFPc=; b=rIUVaILiAMCELBlsY4zzf0h3k8Nr4lOSzUt4Htu1svRETSOSw1Ghex5+MqBRxHUwPmn3VjiDVJyUes2DIj8xSDMEkVC4wfURSfziOfgqNIR3W9ioL8rtO1IZASgsB/sIhwKvuwtS3lu4Ju3nukqof3NcjUANV1ezksPxn2YOhR0=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.3.2,REQID:ee2217d9-ea89-4cc3-906a-749634def11f,IP:0,UR L:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION:r elease,TS:0 X-CID-META: VersionHash:9eb4ff7,CLOUDID:105001d8-b768-4ffb-8a44-cd8427608ba6,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:80|81|82|83|102|110|111,TC:nil,Conte nt:0|50,EDM:-3,IP:nil,URL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0, OSI:0,OSA:0,AV:0,LES:1,SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0,NGT X-CID-BAS: 0,NGT,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-CID-RHF: D41D8CD98F00B204E9800998ECF8427E X-UUID: 5f4d77465c7411f09eb0dd999d3936bf-20250708 Received: from mtkmbs09n1.mediatek.inc [(172.21.101.35)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 92576275; Tue, 08 Jul 2025 20:25:33 -0700 Received: from mtkmbs10n1.mediatek.inc (172.21.101.34) by MTKMBS14N1.mediatek.inc (172.21.101.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1258.39; Wed, 9 Jul 2025 11:25:28 +0800 Received: from TYDPR03CU002.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server id 15.2.1258.39 via Frontend Transport; Wed, 9 Jul 2025 11:25:28 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Oq3k1v7GFvumzhAXBCXToGzFOnM2tAgab5UmgLPHHIiVQxSuj+zhXy6hj8JnKUgMKSpniNWY5efgFPeDyvhy7B0yEq3sy0g6PIG0r0CZlL/O2tC32Wol2LTlrwO8ja/yW8QCBixwAz4xznFWA7dj30wRUYc5mrbPATieDKVsZKtjwVGs49yAld5xppNHv5ZOd+YW15co8uAIxJDJoLXcUT2K62qGHiw3T5AmwtosAqw1aUjCawyqoLxSlR9jVuHszfaZ74hgqmPkPCoOu3p8maLAJDAfhg8psKAaQff4PdGkmfRAiLb4kshMjhEVYTmxXt2xO0GgMb7fNas1LZTaQA== 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=sL3mjZ1nWhk5++B9tCqJsg8KKcuL08VT0MOxghnVFPc=; b=lPqimBkOwZA87UNwFPzswnJ6fTDWhdH+CJXnCalLqTub8L4fprO/oEuYgRczDKOQIg/2joGuuL13lQkNFOPO8W8jBMSVEsl1nlGKuzqdI0+5tBWXjHgVsOJPHmnnTkiHm74/rwTiYVXcdOemHtXJKCr9+2at5ekfRd2WW9xMODztY17Q7/XQFv46ZcdqUusXUcLcOYer3FwTLMZzVyDVMDbYb1/6YbfcOhPZHS0jtCQoRV0uhiOxMX9gsKbyYqjY4iZY1s0yPDGYc/mNaQDCA+9dotkyYKKcRTaijY5vRkiCLIiwOrup7NGGqLj+MelSEHbGXmmY2+8H9u52ruHulw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sL3mjZ1nWhk5++B9tCqJsg8KKcuL08VT0MOxghnVFPc=; b=DJuXPPSs7VUsRaWAQvD6Tl/iNbVxrXlkBCYsUPE7VyvWZ7OlSUAjVWbKkkWm/W/J5MeYAkKbpQeIgN35uCQRX2kns5owafsahLIf2TU7Fbfp0wfjFkJQKuak1NWMmADyxPoHj349SvYcBFmpaBn1/BKSaw4YQ6lcaEt5GJFsnZE= Received: from PSAPR03MB5542.apcprd03.prod.outlook.com (2603:1096:301:4e::12) by TY0PR03MB6655.apcprd03.prod.outlook.com (2603:1096:400:211::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8901.26; Wed, 9 Jul 2025 03:25:27 +0000 Received: from PSAPR03MB5542.apcprd03.prod.outlook.com ([fe80::a323:3128:209c:f02]) by PSAPR03MB5542.apcprd03.prod.outlook.com ([fe80::a323:3128:209c:f02%7]) with mapi id 15.20.8901.024; Wed, 9 Jul 2025 03:25:27 +0000 From: =?utf-8?B?UXVuLXdlaSBMaW4gKOael+e+pOW0tCk=?= To: "hannes@cmpxchg.org" CC: =?utf-8?B?QW5kcmV3IFlhbmcgKOaliuaZuuW8tyk=?= , "rppt@kernel.org" , "nphamcs@gmail.com" , "sj@kernel.org" , "21cnbao@gmail.com" <21cnbao@gmail.com>, =?utf-8?B?SmFtZXMgSHN1ICjlvpDmhbbolrAp?= , AngeloGioacchino Del Regno , "akpm@linux-foundation.org" , "linux-kernel@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , "linux-mm@kvack.org" , =?utf-8?B?Q2hpbndlbiBDaGFuZyAo5by16Yym5paHKQ==?= , =?utf-8?B?Q2FzcGVyIExpICjmnY7kuK3mpq4p?= , "minchan@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "matthias.bgg@gmail.com" , "senozhatsky@chromium.org" Subject: Re: [PATCH] mm: Add Kcompressd for accelerated memory compression Thread-Topic: [PATCH] mm: Add Kcompressd for accelerated memory compression Thread-Index: AQHbuam75fKFDYRy3kqH05cQs0i7u7O90AIAgAATqQCAR4n8AIACRVaAgAjVsgCAB3hsAIARjcmA Date: Wed, 9 Jul 2025 03:25:27 +0000 Message-ID: References: <20250623051642.3645-1-21cnbao@gmail.com> In-Reply-To: Accept-Language: zh-TW, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAPR03MB5542:EE_|TY0PR03MB6655:EE_ x-ms-office365-filtering-correlation-id: 7ea3a083-d9d1-48de-07eb-08ddbe983fdb x-ld-processed: a7687ede-7a6b-4ef6-bace-642f677fbe31,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?c0VRSk90RTZlWjcxbUtJUy9KRkhCSjhPVEFVSzBQaVhvMjZNclJ0WjVQT25r?= =?utf-8?B?d0Y3WEh2cTZsNGVSR05OeENIT01heW5WQjdMelpoRkF1N2xQQ0xVVDNxR1lj?= =?utf-8?B?WUNJU2hYSFQ5ZEthdWVoc1U5a2pKZUd4NlNyNG5ibVNpL21VQnBHVkh4S3ZS?= =?utf-8?B?MHpVRkFqbDZUKzNOL2dQeUxwTmliM05rQ3pGZi9lWG5pYXN3MUpqdDBlV0NJ?= =?utf-8?B?VEwvaThucG54ZHpDYnE5bGV0dG1FNGtKRlBUNXBNN1RTWUUrUzB5S0tYQnI1?= =?utf-8?B?VnVaRFZFUm9zOWdHbHJHNG5SdC80eEFLVStZNnhVbENOazVucnNKV2VkQ3FG?= =?utf-8?B?ZC9qcU1CNWpNZUpucTlQQ0hKc3BGdVM1WVdWd0pmWU82eFR3SDRuSUZzVkdJ?= =?utf-8?B?NEErVXFVWG5sQkpDQWhzSGVsOFJRakpiQjFnNHhCV0pZbVpzUlNsVUdoNDRo?= =?utf-8?B?TEk1dXlqR28vdTJ6UjJ6QzgxU2UrU2VRS1dMR2VZbWVndFZ6UjQzNzdaRTFi?= =?utf-8?B?c2pjem04d28rR1JvUG9WUG1qVzJUTnVseDJpVmFOR2g0Nm5VSVFKWUZGd3Z6?= =?utf-8?B?OG02WmtLN0hEOWVOQXZOWlg3OUszcFlWbjRsZm1TTVhXVi9OYlJmZTR1RjhW?= =?utf-8?B?cHdCcE9jUFRSQlpyQVB6NHRtaU1kM0xuUEp6ZUxFaWU5TXZ2Y1R6b0szMm5M?= =?utf-8?B?MmlNYnFCcXJnRnNOR3N6b0VWTGlyaEFPMFc2dlQrenZMVEVFYmJIUTIzWEph?= =?utf-8?B?Si9kZ1lUS2hDMnNRZHV1WEpxNlhHMXN5V3E4Y3F0ZmlPc1VSL1JUYVFzVnNw?= =?utf-8?B?ZnY2TVRmcHNzdlZhNXBpUkNFdFdhcGpPNWsrNDNzUHI5VnFTL25ieCtaZHZO?= =?utf-8?B?WUl1Qml4U1o5UHBXd3lSWnVOVFdYcDZXTHhkZ1VlTm82dVJDdGxiQ3BEdmRq?= =?utf-8?B?S3hKMEhZcExjTW1CNTNIVmZJcFo2aHljUFpLZjB5NW5TbmJMVU5zeWFpRmpk?= =?utf-8?B?VzFnU2hUYk9WSWp6S01wdE10OUVWUmF4V3VnQ1NYWmtDQ2RYbW9INmw5ZVhx?= =?utf-8?B?V0lLbE0raGdmaG5lMEpORnZvS09zM2hra0ZTZTcxTmU1Z241WUdnZEU3RzZw?= =?utf-8?B?b0ZIOVI3a3JoK3Q5ZGZmZ0ZLSnIwZmd3ZlpBTlNsdkFJOFpCV0FrODZoY2Ux?= =?utf-8?B?RnBGRklOdm1XOFFUdjRuVnZtbkw2ZUp1YkUyeGxPaGdmV3VPVS93Yk5WenFp?= =?utf-8?B?TkRNWFpXM0daem9ZNXQ0VEcwSzEyOXZxUUxQNkdOREpvZnlhVHRCMWZ3M3lj?= =?utf-8?B?RDEybVlnTkJMUjF3RlQ2Qm1YaHllcjk1ei9FNnpWOUF0YU11dmtyY201THk3?= =?utf-8?B?cWllem92VjBNUnBXOTVKbDRxUnVMTW1aNGRyOVhuVVcwaWdNMlpNeHRVa1Bk?= =?utf-8?B?Z0VVSVhxelpFbW45ZEZ0Tm5lTjBFWTVERmxtZWN6Snp5Y211K1ZFWGNDamRl?= =?utf-8?B?WWZCeHVnZ05ZZ05YSVNzQ3VUYkJHYkVoN2JuY3ZLckE2OWVhVklHQU9JajJJ?= =?utf-8?B?eXBFdXhtaTkxQTJ4UXpNZWxhQVhaekVITk9keG9wVnVERjhOTUJLdGRMTXM3?= =?utf-8?B?TmY0RkMrNUpmd2l5eG1iSXd4RjEzbm94endYbVhtMjJqR0pNZTAvSkYwSS9E?= =?utf-8?B?ODFQdURndnp0VHN3NVF1dmw5QlhpTkpFVEhmR3ZuU09yT2pUelU4bUFQMGZJ?= =?utf-8?B?b1ZKTHc1OEdINTFhTll1b05CWlJkem9pbloxdCtKSGJpWXRNMGp1ZWhRVWQw?= =?utf-8?B?WEQxZGpsLzRUb0s0M1U4ZllhVXJIZDFubkQzN0JHSWl5VW9CTVBLc2thV2Zq?= =?utf-8?B?Y01XekludGpjeFM1R240d0xxZm5HVS9WclRESkUyM044SEJuRmdMcDNOMVdk?= =?utf-8?B?U3p2ak1qUi9XOWNJTndwSjB4NURKQnRVTDlYeUtocUZOYktTZmd1SnRCSXEr?= =?utf-8?B?dE5KTkdrejBnPT0=?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PSAPR03MB5542.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S3RjL2tRVkxMQUk0ZmxYUFlJY1FRQzlJcG5KRi9VRjZrWWY2KzJpdVNsWENB?= =?utf-8?B?aG1WTzZvaTdKOU8vS0dCUEFMeHhBOWpIcUxLcnlodFhzUmRmdVRLcHkrMVNV?= =?utf-8?B?c2NhcHQ5NWllTUhFY2R0NFB0bjF2YTlkTFZ0aWpHUXV1UTFyK0pmQmZOdXZZ?= =?utf-8?B?clp2ZVZqZlh5NDkvLzhGcW16M0V2RjdxeFZZbWJLMmphUkt3VEtHa3AvOExh?= =?utf-8?B?MXd0VGNYL0ZLRGlERkdlNExjQUwrV3FjbEozaXhNenE2dVphRHFKQ0FXTllz?= =?utf-8?B?RUhhMHdvSmVoejV1b0NicWtNNXgyYzg4TytsSnEvTWNOMXJpSURyLzN5Vm4w?= =?utf-8?B?d1Npb0NReWxhVExqeXduWFlmeW1JOHgwR3ptQU9ORnYySlA2QWpUODJZY1lq?= =?utf-8?B?ajhMVTNOQlhNTWFKV1ZVUUI4WXVieFB4bFVrR3BwMXF4TzdpQXdXUzJTeG1Z?= =?utf-8?B?Y3NhTXZ2MDIrb2ZCRXpDT25NWitYUmpWaUV0cmo2cjRrMUs2cm93eGhLNS9S?= =?utf-8?B?cEJ1ZDRqUm53SGhQeWZrTUd3aklCRjQ2c3dnYWticWRhNXVBc2h4bTlxVFhx?= =?utf-8?B?d2h5aERPekJsUjRuciszVndBc0xoVXUrY1RqS3RyYVNTbEFBRGRkeG9RTjIz?= =?utf-8?B?NXZPeDRoZVA4UTdaVEhxTnNueUk5QWZFRlFUUU1NekpMN2lpWTRyNTFUdjhK?= =?utf-8?B?aGtyWXA5cy9aam1ramRxR0FTcHAzTk9pcDhiQWpGZTh6RkhLN29XQnNKSytN?= =?utf-8?B?OXRNMFdtbVdiYjFiT2kwNXd4emNJaGJocVR2SFdCcHpTT1FqbGZiVUJYeFdM?= =?utf-8?B?R1NxQUhnRncwbE5jeGcxMnp3Z0ExRFVNNEtVOHFnTFlyOCtXNCs5alYzTnRF?= =?utf-8?B?Ty9hK052ampkdzF5TllvaGVWcEVUOFJiRmRpcVFiTUFFTGlmcXdMdWduYjJw?= =?utf-8?B?d3BwL1VZTUVvK0crME5HYlhCSUlMTE5rZlc2U1pzRnN5aGZobWYxeUtRL2l0?= =?utf-8?B?ZU9QV3NEbFdvSjdya3NjNG9NUE0ya3c1VVlVMkR4RlRzWklyaU1QV2hKWk13?= =?utf-8?B?akJGckI1Z1ZOOTgwM28wa1lwbk9CUFdUaTI2RkdlamQra2ovVGZaMCtqVUZi?= =?utf-8?B?dDdQRHZBZVpoWFhiZEx6MDN5MGJOUDVmUTd0RnZZQ2lOYytKaE1YbFJpeGJF?= =?utf-8?B?SHk3bE9INm1wd3BVcnFGTVVSaWR5cit3bXFrYm4yOGUwZGx2TDZzbFhVUGNG?= =?utf-8?B?czJVaHNSblR3L2M4UEUyN01pSWVFR3dtSjFpZitsc3Vob3NhN1Fwd2JBaHN6?= =?utf-8?B?MUx3Z09Kb3dFRVhMejNySmJVL2svK2FPNTdmb2crMDRLOFpZS1FvcGtEZnd3?= =?utf-8?B?QUhUbGJoYlhOamo3QXlrek80UkxhZmZ1NDFNMWZlS045eVhSRSsxb0NtZllR?= =?utf-8?B?VGtmSXpDN3IxTlVyTFhrTGQ0ZG8yalU5a2xsRWNqc0lXV29wSVRRUFlPMnJ4?= =?utf-8?B?UC9ZL21CNDJzTEFjZ2pTZ21Za01Od3VoWXJDNzQ2RGd2czVkRGlidC9tVjQy?= =?utf-8?B?Qm80YlhibXVBcDJnWkNVZXg1NlN6WHcxNEFHSmRSelUyNFlUUU5mZ3JiM0Ew?= =?utf-8?B?cGNvSzFWWCtGazE5Zk4zTlJBc01HUk5sYlhhTVNibWpDRHduZzRDbUxnNGlo?= =?utf-8?B?MVl0Vzd1a2RUWjZpQzlHV3Q5Z0ZvNWx0Y3prUG5rZ2F5Y1didTNtSGt1bGRh?= =?utf-8?B?Z3dRQUtKbDF6ZWJ3YjdhQlJFT1BwbDNDUVZTTjM5aXZ6aVp6dTNnbDB6N3Q1?= =?utf-8?B?ZHFlbjFOMTJtTUZMbEtHNDNZa1VqOXhLOXVYWVpreVpISm9EcGpIK29lOUEv?= =?utf-8?B?RjVXVVF6NTRweGU1Q3N2NTVaMFlQOVZoS0Roc2JqS2RPbTNTelorVFVmYy9N?= =?utf-8?B?ODh0bVZwUU5xbGx5dHRrYVczOTg5TFR3bTl4WTdDOGErNUpTeHV1Q3R6OUh4?= =?utf-8?B?ZTd1d1B4K2VlaTJxQjN4Wlc5K1paV1BmWE4vbFFxRUs0TWxtV3ZKL0hwNzZ0?= =?utf-8?B?c1M5Y1hlR1pwQW1VM2x4ZnowZEl2TEZzdFFCbXpxSFhpTDZreS9HY3dzYms3?= =?utf-8?B?eUNydWpsNHhVSmV0dmIzY0h2aE1rODArOUZqZ1ZUNThWaEZDVUZCaVFRNnhC?= =?utf-8?B?ZEE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PSAPR03MB5542.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ea3a083-d9d1-48de-07eb-08ddbe983fdb X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jul 2025 03:25:27.1538 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: cAhx16hJ96ke6FSMmUxjIYNjjf9NOyLmDyCWPpDTVRRyLwnucG6Uzw8lkQAdFDyZXqaad+AIJovRnbIduS5PtLF1UxipsfVwfetKGujgj0c= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY0PR03MB6655 X-Rspam-User: X-Rspamd-Queue-Id: 0FCA24000C X-Rspamd-Server: rspam09 X-Stat-Signature: nti6fkefz893tihhbzidye3maeou9hb1 X-HE-Tag: 1752031537-373725 X-HE-Meta: U2FsdGVkX1+/1Lj4WplcQpRerh/rd79+zdzMRxICdAvlACFmMiDIskzJd7x6eS84tUTc1PiI/hBRZEYfHgK4hJK3vzGbxrHSPQK6NZkOOdr+xvFpWRVIv/EvpotBnLdZ75eRYC2W4i3SiMirYUJ0TQW3BFmw29RLKZBO8kAayqgwNTMSmpM/HnUPuSdQFdY/qnZlSw+thTYLPVO+Lfsw3Ig2czMlfRTLPN02PffnGLOyOgQHTnYKWrFeTVKfJyJBnfHmvMavBDnNFP5sc5BAdU3NNg6m5KEWeJyVghT6EWwRz4rs5Zz+Tz4qaTjV8imA3bh0Yx5WxSPHQrnBmfv3jiKtaKdAIKSOTXYx3CIwJKZZsQUjYUX5C7ncNd9Iu+6CB+UAF5u2/WJzDjtd/ey9g1BW55TzNiOYuwG0RczESqRXZidDznA3jr807cfLNGBMu+sjqsnAV4aikS2B9uYBg1SP1Es47Ii+4SAOrINMNXOd2N7ZaWuuKOf2oVJJyUPgJwAoS6lEnU6/cRv5INuAgWMz9QLdwRlW8knX2QpTceorRe+srMATo5ipMCntQrUJ+7fGdvihCJVnukW6v9vrlkhVDkCmMrgw+yJ6k1z8SE1FF2TF14p+hFUUOEKh3IBJpNJLTqM1fu7inkbTwgwLQss5EIgMU5QN4OpHcAmp83YSmZHQ/NiErV9m+WHbxdvWf298vF+RTOgpA9YGE/osZRBzabmf1lP0vWrvGzLrDSvxbodVDZFdlm9boFMHvYbnbooKg9GWPc0J3fqPnru0UW1K3Ew7I0RESVE3h9OvvgzQD0zeMURBtlMEI1aUi8LhjI0lCk8Y23yNpJoMJhsxN0Y3viC82wWoTF4YJDb//cmGydAk2m9qOvg6k9sf9fN5V7WMIYhgJFC3Vc24aW29rXw+gD0oxWI3U75gTUerpI6r9m7EYXbKdGKH88XScQRYCxN97XLqSOvcKKffAMt lzcH5Brw B1h06aQO/555nT3IOi3LiO1qp293UtSPT01oR+YNA/Ixq6y17P8r366CMeYBxsvqCtS6rKN2SQXTqbH0PpzbonX/EXuL8oqoRAbpYUtQDMgNFaEI7796u0yjAU18rsSp3aXa9tuU/UqW8fXTac24w5Yiu6aoj3/E+XIbeWFr1xZK9Au6zXothl/W5ohvf6t0yXublSnaAgFURsS0eCNaH1VLtL5cAbAcdJR11bVHGnEGqtlPrhnwxxq7CTEl3eobBAAoFbqu/bfztdflhv+YzzpLmrD+1aY+k3bIo8hWvmP2sEmtoHn4yQfu+EgKtvU6s7qWGv6be9RIm2QJRvErXr+4D5V6qWRTj52E5NvAWKyOf5sEzrbYSmxm/FTPsoC4aVXR5HCNosjYGHKoFkic9SmiiOU7v4G/eHUbG+79f0GN+w8FYlJkZ3i7+wUEziloPfDI4F6S65j858owA5Kkc/no+ZKBgpXA2P8xLCCDcJzwfR1hrXHgCCI503F840d3T4aOdNWxuD0uPhQWu83xFUyTJny9Ab71OF1iPMxRD7flXkHZsuQP5XT+7e53X/FkYureEmVbRmPx7rFdoJW2NyTWrYiervHMhCTQGrpRgZzJGxJ9G7MGl7h2k3ZWD5vcq44ipkz/TFUfeSG59BZhrByNwcYydSvMjFUiNDCgCMykM16sXZRdMhkt4iUlj9O1AWHhqTGexgbeHFPdajJJhX1dF5Q1TVstPgnLG0dgDHqr5FNaumhPfIRRU092R8Ot4s6zvVSr5bo3T5kjuqMpDn6jXwDfOYcjRpzRp X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: T24gRnJpLCAyMDI1LTA2LTI3IGF0IDE2OjIxIC0wNzAwLCBOaGF0IFBoYW0gd3JvdGU6DQo+IA0K PiBFeHRlcm5hbCBlbWFpbCA6IFBsZWFzZSBkbyBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiBhdHRh Y2htZW50cyB1bnRpbA0KPiB5b3UgaGF2ZSB2ZXJpZmllZCB0aGUgc2VuZGVyIG9yIHRoZSBjb250 ZW50Lg0KPiANCj4gDQo+IE9uIFN1biwgSnVuIDIyLCAyMDI1IGF0IDEwOjE24oCvUE0gQmFycnkg U29uZyA8MjFjbmJhb0BnbWFpbC5jb20+DQo+IHdyb3RlOg0KPiA+IA0KPiA+IEhpIE5oYXQsDQo+ ID4gDQo+ID4gT24gV2VkLCBKdW4gMTgsIDIwMjUgYXQgMjoyMeKAr0FNIE5oYXQgUGhhbSA8bnBo YW1jc0BnbWFpbC5jb20+DQo+ID4gd3JvdGU6DQo+ID4gPiANCj4gPiA+IE9uIFN1biwgSnVuIDE1 LCAyMDI1IGF0IDg6NDHigK9QTSBCYXJyeSBTb25nIDwyMWNuYmFvQGdtYWlsLmNvbT4NCj4gPiA+ IHdyb3RlOg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBUaGF0IHNlZW1zIHVubmVjZXNzYXJ5 LiBUaGVyZSBpcyBhbiBleGlzdGluZyBtZXRob2QgZm9yDQo+ID4gPiA+ID4gPiBhc3luY2hyb25v dXMNCj4gPiA+ID4gPiA+IHdyaXRlYmFjaywgYW5kIHBhZ2VvdXQoKSBpcyBuYXR1cmFsbHkgZnVs bHkgc2V0IHVwIHRvDQo+ID4gPiA+ID4gPiBoYW5kbGUgdGhpcy4NCj4gPiA+ID4gPiA+IA0KPiA+ ID4gPiA+ID4gSU1PIHRoZSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMgaXMgdG8gbWFrZSB6c3dhcF9z dG9yZSgpIChhbmQNCj4gPiA+ID4gPiA+IHpyYW1fYmlvX3dyaXRlKCk/KSBhc3luY2hyb25vdXMu IE1ha2UgdGhvc2UgZnVuY3Rpb25zIHF1ZXVlDQo+ID4gPiA+ID4gPiB0aGUgd29yaw0KPiA+ID4g PiA+ID4gYW5kIHdha2UgdGhlIGNvbXByZXNzaW9uIGRhZW1vbiwgYW5kIHRoZW4gaGF2ZSB0aGUg ZGFlbW9uDQo+ID4gPiA+ID4gPiBjYWxsDQo+ID4gPiA+ID4gPiBmb2xpb19lbmRfd3JpdGViYWNr KCkgLyBiaW9fZW5kaW8oKSB3aGVuIGl0J3MgZG9uZSB3aXRoIGl0Lg0KPiA+ID4gPiANCj4gPiA+ ID4gPiArMS4NCj4gPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBCdXQsDQo+ID4gPiA+IEhvdyBj b3VsZCB0aGlzIGJlIHBvc3NpYmxlIGZvciB6c3dhcD8genN3YXBfc3RvcmUoKSBpcyBvbmx5IGEN Cj4gPiA+ID4gZnJvbnRlbmQg4oCUDQo+ID4gPiA+IHdlIHN0aWxsIG5lZWQgaXRzIHJldHVybiB2 YWx1ZSB0byBkZXRlcm1pbmUgd2hldGhlcg0KPiA+ID4gPiBfX3N3YXBfd3JpdGVwYWdlKCkNCj4g PiA+ID4gaXMgcmVxdWlyZWQuIFdhaXRpbmcgZm9yIHRoZSByZXN1bHQgb2YgenN3YXBfc3RvcmUo KSBpcw0KPiA+ID4gPiBpbmhlcmVudGx5IGENCj4gPiA+ID4gc3luY2hyb25vdXMgc3RlcC4NCj4g PiA+IA0KPiA+ID4gSG1tLCBJIG1pZ2h0IGJlIG1pc3VuZGVyc3RhbmRpbmcgZWl0aGVyIG9mIHlv dSwgYnV0IGl0IHNvdW5kcw0KPiA+ID4gbGlrZQ0KPiA+ID4gd2hhdCB5b3UncmUgZGVzY3JpYmlu ZyBoZXJlIGRvZXMgbm90IGNvbnRyYWRpY3Qgd2hhdCBKb2hhbm5lcyBpcw0KPiA+ID4gcHJvcG9z aW5nPw0KPiA+IA0KPiA+IEl0IHNlZW1zIGNvbnRyYWRpY3Rvcnk6IEpvaGFubmVzIHByb3Bvc2Vz IHRoYXQgenN3YXAgY291bGQgYmVoYXZlDQo+ID4gbGlrZSB6UkFNDQo+ID4gYnkgaW52b2tpbmcg YGZvbGlvX2VuZF93cml0ZWJhY2soKWAgb3IgYGJpb19lbmRpbygpYCwgYnV0IHRoaXMNCj4gPiBk b2VzbuKAmXQgYWxpZ24NCj4gPiB3aXRoIGFjdHVhbCBiZWhhdmlvciBzaW5jZSB6c3dhcF9zdG9y ZSBtaWdodCBub3QgZW5kDQo+ID4gYHN3YXBfd3JpdGVvdXQoKWDigJRpdCBtYXkNCj4gPiBzdGls bCBwcm9jZWVkIHRvIGBfX3N3YXBfd3JpdGViYWNrKClgIHRvIGNvbXBsZXRlIHRoZSBmaW5hbCBz dGVwcy4NCj4gPiANCj4gPiBNZWFud2hpbGUsIFF1bi13ZWnigJlzIFJGQyBoYXMgYWxyZWFkeSBl eHBsb3JlZCB1c2luZw0KPiA+IGBmb2xpb19lbmRfd3JpdGViYWNrKClgIGFuZA0KPiA+IGBiaW9f ZW5kaW8oKWAgYXQgdGhlIGVuZCBvZiBgX19zd2FwX3dyaXRlcGFnZSgpYCBmb3IgelJBTSwgdGhv dWdoDQo+ID4gdGhhdCBhcHByb2FjaA0KPiA+IGFsc28gaGFzIGl0cyBvd24gaXNzdWVzLg0KPiAN Cj4gDQo+IEhtbSBPSy4gSSdsbCBsZXQgSm9oYW5uZXMgY29tbWVudCBvbiB0aGlzIHRoZW4gOikN Cg0KSGkgSm9oYW5uZXMsDQoNCldvdWxkIGFwcHJlY2lhdGUgeW91ciBmZWVkYmFjayB3aGVuIHlv dSBoYXZlIGEgbW9tZW50Lg0KDQo+IA0KPiA+IA0KPiA+ID4gDQo+ID4gPiA+IA0KPiA+ID4gPiBN eSBwb2ludCBpcyB0aGF0IGZvbGlvX2VuZF93cml0ZWJhY2soKSBhbmQgYmlvX2VuZGlvKCkgY2Fu IG9ubHkNCj4gPiA+ID4gYmUNCj4gPiA+ID4gY2FsbGVkIGFmdGVyIHRoZSBlbnRpcmUgenN3YXBf c3RvcmUoKSDihpIgX19zd2FwX3dyaXRlcGFnZSgpDQo+ID4gPiA+IHNlcXVlbmNlIGlzDQo+ID4g PiA+IGNvbXBsZXRlZC4gVGhhdOKAmXMgd2h5IGJvdGggYXJlIHBsYWNlZCBpbiB0aGUgbmV3IGtj b21wcmVzc2VkLg0KPiA+ID4gDQo+ID4gPiBIbW0sIGhvdyBhYm91dDoNCj4gPiA+IA0KPiA+ID4g MS4gSW5zaWRlIHpzd2FwX3N0b3JlKCksIHdlIGZpcnN0IG9idGFpbiB0aGUgb2JqX2Nncm91cA0K PiA+ID4gcmVmZXJlbmNlLA0KPiA+ID4gY2hlY2sgY2dyb3VwIGFuZCBwb29sIGxpbWl0LCBhbmQg Z3JhYiBhIHpzd2FwIHBvb2wgcmVmZXJlbmNlIChpbg0KPiA+ID4gZWZmZWN0LCBkZXRlcm1pbmlu ZyB0aGUgc2xvdCBhbGxvY2F0b3IgYW5kIGNvbXByZXNzb3IpLg0KPiA+ID4gDQo+ID4gPiAyLiBO ZXh0LCB3ZSB0cnkgdG8gcXVldWUgdGhlIHdvcmsgdG8ga2NvbXByZXNzZCwgc2F2aW5nIHRoZSBm b2xpbw0KPiA+ID4gYW5kDQo+ID4gPiB0aGUgenN3YXAgcG9vbCAoYW5kIHdoYXRldmVyIGVsc2Ug d2UgbmVlZCBmb3IgdGhlIGNvbnRpbnVhdGlvbikuDQo+ID4gPiBJZg0KPiA+ID4gdGhpcyBmYWls cywgd2UgY2FuIHByb2NlZWQgd2l0aCB0aGUgb2xkIHN5bmNocm9ub3VzIHBhdGguDQo+ID4gPiAN Cj4gPiA+IDMuIEluIGtjb21wcmVzc2VkIGRhZW1vbiwgd2UgcGVyZm9ybSB0aGUgY29udGludWF0 aW9uIG9mDQo+ID4gPiB6c3dhcF9zdG9yZSgpOiBjb21wcmVzc2lvbiwgc2xvdCBhbGxvY2F0aW9u LCBzdG9yaW5nLCB6c3dhcCdzIExSVQ0KPiA+ID4gbW9kaWZpY2F0aW9uLCBldGMuIElmIHRoaXMg ZmFpbHMsIHdlIGNoZWNrIGlmIHRoZSBtZW1fY2dyb3VwDQo+ID4gPiBlbmFibGVzDQo+ID4gPiB3 cml0ZWJhY2suIElmIGl0J3MgZW5hYmxlZCwgd2UgY2FuIGNhbGwgX19zd2FwX3dyaXRlcGFnZSgp Lg0KPiA+ID4gSWRlYWxseSwNCj4gPiA+IGlmIHdyaXRlYmFjayBpcyBkaXNhYmxlZCwgd2Ugc2hv dWxkIGFjdGl2YXRlIHRoZSBwYWdlLCBidXQgaXQNCj4gPiA+IG1pZ2h0DQo+ID4gPiBub3QgYmUg cG9zc2libGUgc2luY2Ugc2hyaW5rX2ZvbGlvX2xpc3QoKSBtaWdodCBhbHJlYWR5IHJlLWFkZA0K PiA+ID4gdGhlDQo+ID4gPiBwYWdlIHRvIHRoZSBpbmFjdGl2ZSBscnUuIE1heWJlIHNvbWUgbW9k aWZpY2F0aW9uIG9mIHBhZ2VvdXQoKQ0KPiA+ID4gYW5kDQo+ID4gPiBzaHJpbmtfZm9saW9fbGlz dCgpIGNhbiBtYWtlIHRoaXMgd29yaywgYnV0IEkgaGF2ZW4ndCB0aG91Z2h0IHRvbw0KPiA+ID4g ZGVlcGx5IGFib3V0IGl0IDopIElmIGl0J3MgaW1wb3NzaWJsZSwgd2UgY2FuIHBlcmZvcm0gYXN5 bmMNCj4gPiA+IGNvbXByZXNzaW9uIG9ubHkgZm9yIGNncm91cHMgdGhhdCBlbmFibGUgd3JpdGVi YWNrIGZvciBub3cuIE9uY2UNCj4gPiA+IHdlDQo+ID4gPiBmaXggenN3YXAncyBoYW5kbGluZyBv ZiBpbmNvbXByZXNzaWJsZSBwYWdlcywgd2UgY2FuIHJldmlzaXQgdGhpcw0KPiA+ID4gZGVjaXNp b24gKCsgU0opLg0KPiA+ID4gDQo+ID4gPiBUTERSOiBtb3ZlIHRoZSB3b3JrLXF1ZXVlaW5nIHN0 ZXAgZm9yd2FyZCBhIGJpdCwgaW50byB0aGUgbWlkZGxlDQo+ID4gPiBvZg0KPiA+ID4genN3YXBf c3RvcmUoKS4NCj4gPiA+IA0KPiA+ID4gT25lIGJlbmVmaXQgb2YgdGhpcyBpcyB3ZSBza2lwIHBh Z2VzIG9mIGNncm91cHMgdGhhdCBkaXNhYmxlDQo+ID4gPiB6c3dhcCwgb3INCj4gPiA+IHdoZW4g enN3YXAgcG9vbCBpcyBmdWxsLg0KPiA+IA0KPiA+IEkgYXNzdW1lIHlvdSBtZWFudCBzb21ldGhp bmcgbGlrZSB0aGUgZm9sbG93aW5nOg0KPiA+IA0KPiA+IGJvb2wgdHJ5X3RvX3NjaGVkX2FzeW5j X3pzd2FwX3N0b3JlKCkNCj4gPiB7DQo+ID4gwqDCoMKgwqDCoMKgwqAgZ2V0X29ial9jZ3JvdXBf ZnJvbV9mb2xpbygpDQo+ID4gwqDCoMKgwqDCoMKgwqAgaWYgKGVycikgZ290byB4eHg7DQo+ID4g wqDCoMKgwqDCoMKgwqAgenN3YXBfY2hlY2tfbGltaXRzKCk7DQo+ID4gwqDCoMKgwqDCoMKgwqAg aWYgKGVycikgZ290byB4eHg7DQo+ID4gwqDCoMKgwqDCoMKgwqAgenN3YXBfcG9vbF9jdXJyZW50 X2dldCgpDQo+ID4gwqDCoMKgwqDCoMKgwqAgaWYgKGVycikgZ290byB4eHg7DQo+ID4gDQo+ID4g wqDCoMKgwqDCoMKgwqAgcXVldWVfZm9saW9fdG9fa2NvbXByZXNzZChmb2xpbyk7DQo+IA0KPiBT b21ldGhpbmcgbGlrZSB0aGlzLCB5ZWFoLiBDYW4gcXVldWVfZm9saW9fdG9fa2NvbXByZXNzZCgp IGZhaWw/IElmDQo+IHNvLCB3ZSBjYW4gYWxzbyB0cnkgc3luY2hyb25vdXMgY29tcHJlc3Npb24g b24gZmFpbHVyZSBoZXJlDQo+IChfX3pzd2FwX3N0b3JlKCkgPykuDQo+IA0KPiANCj4gPiDCoMKg wqDCoMKgwqDCoCByZXR1cm4gdHJ1ZTsNCj4gPiANCj4gPiB4eHg6DQo+ID4gwqDCoMKgwqDCoMKg wqAgZXJyb3IgaGFuZGxlciB0aGluZ3M7DQo+ID4gwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGZhbHNl Ow0KPiA+IH0NCj4gPiANCj4gPiBJZiB0aGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSwgaXQgc3Vn Z2VzdHMgdGhhdCBjb21wcmVzc2lvbg0KPiA+IHJlcXVlc3RzDQo+ID4gaGF2ZSBiZWVuIHF1ZXVl ZCB0byBrY29tcHJlc3NkLiBGb2xsb3dpbmcgdGhhdCwgaW4ga2NvbXByZXNzZCgpOg0KPiA+IA0K PiA+IGludCBfX3pzd2FwX3N0b3JlKGZvbGlvKQ0KPiA+IHsNCj4gPiDCoMKgwqDCoMKgwqDCoCBm b3IoaT0wO2k8bnJfcGFnZXM7aSsrKSB7DQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHpzd2FwX3N0b3JlX3BhZ2UoKTsNCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgaWYgKGVycikgcmV0dXJuIGVycjsNCj4gPiDCoMKgwqDCoMKgwqDCoCB9DQo+ID4gwqDCoMKg wqDCoMKgwqAgcmV0dXJuIDA7DQo+ID4gfQ0KPiA+IA0KPiA+IGtjb21wcmVzc2QoKQ0KPiA+IHsN Cj4gPiDCoMKgwqDCoMKgwqDCoCB3aGlsZShmb2xpb19xdWV1ZV9pc19ub3RfZW1wdHkpIHsNCj4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm9saW8gPSBkZXF1ZXVlX2ZvbGlvKCk7 DQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChmb2xpb19xdWV1ZWRfYnlf enN3YXAoZm9saW8pKSB7DQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpZighX196c3dhcF9zdG9yZShmb2xpbykpDQo+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7 DQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0NCj4gPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgaWYgKCh6c3dhcF9zdG9yZV9wYWdlX2ZhaWxzICYmDQo+ID4gbWVt X2Nncm91cF96c3dhcF93cml0ZWJhY2tfZW5hYmxlZCgpKSB8fA0KPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZvbGlvX3F1ZXVlZF9ieV96cmFtKSB7DQo+IA0KPiBJ ZiAhbWVtX2Nncm91cF96c3dhcF93cml0ZWJhY2tfZW5hYmxlZCgpLCBJIHdvbmRlciBpZiB3ZSBj YW4gYWN0aXZhdGUNCj4gdGhlIHBhZ2UgaGVyZT8NCj4gDQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX3N3YXBfd3JpdGVwYWdlKCk7DQo+ID4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0NCj4gPiDCoMKgwqDCoMKgwqDCoCB9DQo+ID4g fQ0KPiA+IA0KPiA+IEluIGtzd2FwZCwgd2Ugd2lsbCBuZWVkIHRvIGRvDQo+ID4gaW50IHN3YXBf d3JpdGVvdXQoc3RydWN0IGZvbGlvICpmb2xpbywgc3RydWN0IHN3YXBfaW9jYg0KPiA+ICoqc3dh cF9wbHVnKQ0KPiA+IHsNCj4gPiDCoMKgwqDCoMKgwqDCoCAuLi4NCj4gPiDCoMKgwqDCoMKgwqDC oCBpZiAodHJ5X3RvX3NjaGVkX2FzeW5jX3pzd2FwX3N0b3JlKGZvbGlvKSkNCj4gPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPiA+IMKgwqDCoMKgwqDCoMKgIGlmIChp c19zeW5jX2NvbXBfYmxrZGV2KHN3YXApKSB7DQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHF1ZXVlX2ZvbGlvX3RvX2tjb21wcmVzc2QoZm9saW8pOw0KPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47DQo+ID4gwqDCoMKgwqDCoMKgwqAgfQ0KPiA+IMKg wqDCoMKgwqDCoMKgIF9fc3dhcF93cml0ZXBhZ2UoKTsNCj4gPiB9DQo+ID4gDQo+ID4gVG8gYmUg aG9uZXN0LCBJJ20gbm90IHN1cmUgaWYgdGhlcmUncyBhIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hl dGhlcg0KPiA+IHRoZQ0KPiA+IGZvbGlvIHdhcyBxdWV1ZWQgYnkgenN3YXAgb3IgenJhbS4gSWYg bm90LCB3ZSBtYXkgbmVlZCB0byBhZGQgYQ0KPiA+IG1lbWJlcg0KPiANCj4gSSBkb24ndCB0aGlu ayB0aGVyZSBpcy4NCj4gDQo+ID4gYXNzb2NpYXRlZCB3aXRoIGZvbGlvIHBvaW50ZXJzIGluIHRo ZSBxdWV1ZSBiZXR3ZWVuIGtzd2FwZCBhbmQNCj4gPiBrY29tcHJlc3NkLA0KPiA+IHNpbmNlIHdl IG5lZWQgdG8gaWRlbnRpZnkgenN3YXAgY2FzZXMuIE1heWJlIHdlIGNhbiByZXVzZSBiaXQgMCBv Zg0KPiA+IHRoZQ0KPiA+IGZvbGlvIHBvaW50ZXI/DQo+ID4gDQo+ID4gV2hhdCBJIG1lYW4gaXM6 IHdoaWxlIHF1ZXVpbmcsIGlmIHRoZSBmb2xpbyBpcyBxdWV1ZWQgYnkgenN3YXAsIHdlDQo+ID4g ZG8NCj4gPiBgcG9pbnRlciB8PSBCSVQoMClgLiBUaGVuIGluIGtjb21wcmVzc2QsIHdlIHJlc3Rv cmUgdGhlIG9yaWdpbmFsDQo+ID4gZm9saW8NCj4gPiB3aXRoIGBmb2xpbyA9IHBvaW50ZXIgJiB+ QklUKDApYC4gSXQncyBhIGJpdCB1Z2x5LCBidXQgSeKAmW0gbm90IHN1cmUNCj4gPiB0aGVyZeKA mXMgYSBiZXR0ZXIgYXBwcm9hY2guDQo+IA0KPiBJIHRoaW5rIHRoaXMgYXBwcm9hY2ggaXMgZmlu ZS4NCj4gDQo+IFdlIGNhbiBhbHNvIGhhY2sgc3RydWN0IHpzd2FwX2VudHJ5LCBidXQgdGhhdCB3 b3VsZCByZXF1aXJlIGFuIGV4dHJhDQo+IHhhcnJheSBsb29rIHVwLiBPVE9ILCBpZiB3ZSBjYW4g YXNzdW1lIHRoYXQgenJhbSB1c2VycyB3aWxsIG5vdA0KPiBlbmFibGUNCj4genN3YXAsIHdlIG1p Z2h0IG9wdGltaXplIHRoYXQgbG9va3VwIGF3YXk/IE5vdCBzdXJlIGlmIGl0J3MgbXVjaA0KPiBj bGVhbmVyIHRoYW4ganVzdCBwb2ludGVyIHRhZ2dpbmcgdGhvdWdoLg0KPiANCj4gPiANCj4gPiBU aGFua3MNCj4gPiBCYXJyeQ0KDQpCZXN0IHJlZ2FyZHMsDQpRdW4tV2VpDQoNCg==