From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2094.outbound.protection.outlook.com [40.107.94.94]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF0A4189520 for ; Mon, 24 Mar 2025 22:49:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.94.94 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742856569; cv=fail; b=Hg8mkGD7twGLGCyB9O3T/EazRfImGHvu9c769+erBLnZRryxA2H/mIj09i3qi9WcWElp5Yj2HOrfP5wxG7r7sk3c9XPwWwftDSvvgZORkNbPnOGCdqqM0429rlTbXsfktki9frflfevllasLyBJA7funu2TweMXNLvOTAulhciI= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742856569; c=relaxed/simple; bh=m61iTJyGuOczjx1cK7hv/rDfdsLHp5KPiKaO8BTPQpY=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=RI17hjJVs2jm6kT2eUcACJlq3qf+wDTDrBzYpWhg++i4W2eB6SX0lED2lYZ5GM1jSmj0zbaQ4xRs+usW8f9QXi4ja2R/KTA1GE3iMmlEdqThMpoNpJCDkITkQJ6N7QeMi8asj8BN8BHM2u9q/VmUN46H4kppevoUNCdeADhyfxQ= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=hammerspace.com; spf=pass smtp.mailfrom=hammerspace.com; dkim=pass (1024-bit key) header.d=hammerspace.com header.i=@hammerspace.com header.b=GwAG4EC6; arc=fail smtp.client-ip=40.107.94.94 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=hammerspace.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=hammerspace.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=hammerspace.com header.i=@hammerspace.com header.b="GwAG4EC6" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ELwiEf3jt1Nlw0LUHKwI6UPNntYXdiwGiWfJVAMGY72z2PMZNvWLokvsbCrSd9wlEa/JIvreTDU1/0ztgQWsTejpeUg/Pc4oebPcTCti20d8lA+pr/2gOnD2wxvXrus1Kv3tH2rf2b79mk255a2s4/CJv3gS1m5ii4G42A+ZZsSQUMzqypKB/Fiz+HaunNWlWz/o8Z1TaLjhdSTnhwqHlOv54C0RS+2EoqFRbrqcb56/yGdb/oHsJ4HNe0H5urnonHgDrylNnLXbGcpEcXPOhlGczq546i/nhqgFFFUW7kdlstWvk0T7Xga5HlLODbCA2T03akMyRxezH1pqHYSR4Q== 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=m61iTJyGuOczjx1cK7hv/rDfdsLHp5KPiKaO8BTPQpY=; b=gI4F3PnX+Tfq3wv2AyIuuYYUc0ihCojUluPoCdMQBy62PYjA7Ei2nSbFG5xcnzA/rDpehvEb3r1nfUjpqzxBzsjlWCDg2nGDG8zmVezBXjvVwnQWaos7UqfAJqlOGFJ4eSu8/DuupRSesq6dSjeMQDLhea/0fRMQBD5pBwvf/OY6fuUFLzdlhWjiu3mlNh1ZLj0LD1YjLvCF/cfoxcx2zYOl18Nj7r8JzrsJO3qf2SGp4oK7ocgs8b/McS3HuCvMDzYZ44qjS73jkrs0U0ZFbXwO3/dl09a13YnxmZjCF5kSqI5RJyT2X8cJHW46yMSLg67ga9Pbo1sJ/2qk/2XbtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=m61iTJyGuOczjx1cK7hv/rDfdsLHp5KPiKaO8BTPQpY=; b=GwAG4EC6Ve0lxpQNg5878tTDifjrRdPBiS5c3ivbXNhfqJGrsR068zRVIj+YuCr7b2a9Hux+p1VO/gqK8bx4TIIqLgRaMt/0aHE/LAhZZu7gTMSL5aqvJLbVn/oIjc2tYXEtmsPDhgmRoPNpz8pQaTlW1IeJll5TEYuGF9lpW5Y= Received: from CH0PR13MB5084.namprd13.prod.outlook.com (2603:10b6:610:111::7) by CH4PR13MB7195.namprd13.prod.outlook.com (2603:10b6:610:243::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8534.42; Mon, 24 Mar 2025 22:49:22 +0000 Received: from CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::67bb:bacd:2321:1ecb]) by CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::67bb:bacd:2321:1ecb%3]) with mapi id 15.20.8534.040; Mon, 24 Mar 2025 22:49:22 +0000 From: Trond Myklebust To: "jlayton@kernel.org" CC: "linux-nfs@vger.kernel.org" , "clm@fb.com" Subject: Re: client looping in state recovery after netns teardown Thread-Topic: client looping in state recovery after netns teardown Thread-Index: AQHbnQcOXZL9anUZiU+L8GH8JkwHPbOC4+cA Date: Mon, 24 Mar 2025 22:49:22 +0000 Message-ID: <1f2d9f709a8b7b0f0746b90672f9a1f5293cba0a.camel@hammerspace.com> References: <6e7e33f51047df535e2e6a4c33fc54e258910ea9.camel@kernel.org> In-Reply-To: <6e7e33f51047df535e2e6a4c33fc54e258910ea9.camel@kernel.org> Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=hammerspace.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH0PR13MB5084:EE_|CH4PR13MB7195:EE_ x-ms-office365-filtering-correlation-id: 8c1073d0-ec21-47c1-b82f-08dd6b261eae x-ms-exchange-atpmessageproperties: SA x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|1800799024|366016|10070799003|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?c1Z3RmhMMHZ5VitacXVrS1FJTFhGUWhhTXpOcy9rWEw4Y2JzWjFjSDhlaDNh?= =?utf-8?B?UU96UmNlQUM4dkFoaWFmOEFMSTkxbm9HS09ZM3JEQ0dUdWdXU3dUQ2t4enBi?= =?utf-8?B?MnZHZDlyR01aektTNWxCdzdwcUZTclZhQkx4M0REWEw0cDN2aTQyTXF0bHBj?= =?utf-8?B?OHkxb3pCazhSbTNER0NwSFRGaStNTTIwaG1WUG5MWncxS3JYa1BVNTlTRE1I?= =?utf-8?B?cW5PdlVwTldaLzNscXh4ODNMYmxBOEFBZFBPd2NoYW9kbzZwR3oyb2RPU2Rj?= =?utf-8?B?VHEwSTM5NC9CYU45aG5pTWRFWFlqYUlzZTA3L3MyU29yUHgxamhsdThNNTds?= =?utf-8?B?YitmeXViSUZXZjhLLy8wNnhyaE5ZemMyeWJ2OTZYWTBZdlc1cnpmcWk1R0sw?= =?utf-8?B?U1lpZ2dCaUJleFEwNm1qbEx1WVZDM2lSaXMraGVyVkE3YUVKZHpMSlFGaEpn?= =?utf-8?B?N0c2aXVOcU1ES2FMU2owWUx2OHJaRlBMb1gxUkN4d20zTWVpRmVycGVXL0Ew?= =?utf-8?B?dUF4cW84b0o4S0plV3lpQUhVWGlaWnB6Q0Ird0R1VXJOMFY2V2FyNXJLZGx1?= =?utf-8?B?L0pZaEYrdGZWS2pFTUFSZ2FDNWM0ekZhSG1ES2syNnZiajdTTG5FWURBRFo3?= =?utf-8?B?TVdraEllaUs5VkZGWlZTTzJIVW16eTlVaWZZN2ZicXZQaHA2dFNDR0pveW00?= =?utf-8?B?RlRBRytoT3MrWXgyOGpsUmFjdnBLczZaTkthN3cvSTFBZy9OWDBDQThmWGUv?= =?utf-8?B?OVZtNm1RS3Z4RGZXTjNrVXZhbE4vWis2OURBc2NXeGx6Z2hnUkdCSEpDaTNr?= =?utf-8?B?ZzByQnFPemQwdkR1UWU2cStpcTlacm1qbC9sNm1WQkIrK2FKUHNOV0ErTFNa?= =?utf-8?B?MENPOE9OeFFwZVFGQVpZVlY0cldtbUU2TE9HRGExdVdoY1A0WkhNME5QTDF5?= =?utf-8?B?b0V2akN5L3RwbUxsaHE2WjQrdmg0VmtIcmRBdlRwd0phdnlRczczK21JMTFZ?= =?utf-8?B?TTVEOWVtOVpTUTE4RTRaWnZFLzdmRyttWkhYNEEveVVSVHB0NUFnTTZseGFx?= =?utf-8?B?b3RlRm9wS0U4UEkyaFI3VWtJSmNmUm9mVXpua1BEWFYrQnVjRXdGejNqYWNx?= =?utf-8?B?UWd1bXIwUU5oYU8yS1lGR2dpRm5IQ2VnSjVvWnRqNnVnYSs3eEFDQ0U4ZzJp?= =?utf-8?B?SzB6RklHclowOUY4dzZYUDliU1J4Rzk5ZTQ0eisvSnhTamVQMmhoWDFXMkhH?= =?utf-8?B?cVJsaXpYUEx0Nm1oa2lCcTZzSkxHd1BtRmI2UlpZZ3VTQk94RVUvUWRTSCtw?= =?utf-8?B?RXl2QWZzS1B3SkFCMFNsSlpNK1JhM3UzKzFmTnlnTmlTNjdWM3BSTWF3ZXNS?= =?utf-8?B?UEk2emtiSnNJWVhCN1RFY3JTMkw5WDk1elNsOEZnU21qeTIxVS96VlBLdlVG?= =?utf-8?B?NllUR1lVSUsxczFmSTIwNkRpNlFVVTF3b1NYOFVLYWVpUEhmMHUrZkhlNzZr?= =?utf-8?B?T0xJMmw3TlovZW8vVkRNT3VkRDdueHBkdGg4NnFjaWFrWEFsRkk4ejRSUnZr?= =?utf-8?B?Ykx5VFZXT1VCU2J4T1dVaEJBcEN6MWtlUklUeHJrSGxWaTBBU2g4QlV0b0ZI?= =?utf-8?B?VzRNWmFmMWt3bm9RQkNwdWcyZkpKdklNR3NnQ0VIVjZlbmZlRzV3NUM1RGJx?= =?utf-8?B?aUxwZVVDZE8yU2NJL1pzNXpmcGtSSmhqSm9Sc25NODdpOFozZy95NWNwRnla?= =?utf-8?B?TjZBN1Jqblg2QUp1SXpzZnE0akRWd21EcjdJWll4R1RaS1gwbVN3UklUUVdJ?= =?utf-8?B?WC9RVW1QbWJWOHFvS0JaMllueXVua3puNUlBSWp0L2FxeE1SWmZZdUhhQ21k?= =?utf-8?B?bTFrUjNTRzZRaUExVzFGZUwya0J2SUhiWVhHc3hlVzc1Tjd4V1NERkEzTThR?= =?utf-8?B?bkF2TWRnT3N3VWY0WGZaa25uMVVJZHRSc2VxakVUL0NtL2pSVGNPQzVJK2J5?= =?utf-8?B?Tm1aN0xUWjZBPT0=?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR13MB5084.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(1800799024)(366016)(10070799003)(38070700018);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YkJYZnFwNEhTVzBIU1c3N3FpTWJ4d0NkOGhoZUQyQlNxTThLdXgydFlNeE1o?= =?utf-8?B?dHZrc3JPeXlvUVB0ZTZ0d1YzM1NaUlVuNkhSNERmNWpGVjVHWEY2VUxRRWFE?= =?utf-8?B?aENWWjBtYlZHTnhRclg2NTdHU1hWUmhmMFVkVks0NFJNTVMzWFdWUmx6YXY2?= =?utf-8?B?U2dCMzJ5NDdZRlRVUWs4cHVVby9GRjFvN1VwY1NFSEUwb0w3eGxYU0ZsZE1R?= =?utf-8?B?WjhidUowMlNVYk9VSkMrNURaNEZQWFV4dnVzZy9HK3gxZU0xZDQ1TS95NG9Z?= =?utf-8?B?dzkrRXZGb3R4YzJwNC9WSTlrdEFPeGJNa2JwWGZESEpwb3VyUWFLSkZwWG5U?= =?utf-8?B?K2lETVFOUllpeVVjckJwM0ZXNXRYMy91aEQzM0lCY04zN0dCcUh5bmlnSUtw?= =?utf-8?B?Q3I3RERiUHhYc3R4VnVFb01yclBhT0VVbXEydXc3RW5yblRUb1pGUEZsMzBt?= =?utf-8?B?UVlBWHYwak5NS3hUT1BPRHh2dHBPamVFeHpzc0ZmdHRnVHArRzcyVjhYWkNh?= =?utf-8?B?RHd4azhxZnRNQTY5RHlvMjNnb1BIR1h6UFZyNWJiTDAxNGxpU2FoVTNRYytJ?= =?utf-8?B?QUxYVUtiTWNrVm8yeGM2US9Ha2l2Y1EvYkhpY1dsem1HQmpwdzh0Q0NOanpJ?= =?utf-8?B?a0NpNGlRODF5R0JJeHFIeVA3UHFGQWdJNUZzeThXYXBPakdzUThDdHlNakdp?= =?utf-8?B?TGdaL0NOMnRJWXVlV3FmVjJVMjZLS0pKZnBhNnA2UDdIaVJld2JnVldiZXBT?= =?utf-8?B?MThMNnJ5dUpnb0VKZStBYVB3QXh2OXBDTUVETGdWWSs0eks0Y0ZkN3MxeEJZ?= =?utf-8?B?aVlxanZkZ25STW16VUg2bkxsTFh5N0F6ZUV5NkxTa1NIbDlhM25HRGVkZ3Fo?= =?utf-8?B?ZGo0Qnc1QTk5anBaUkkwS052RS9QNy9QY3BFbTRmVS9Gb3VYM1FrajgrbWdu?= =?utf-8?B?QXpWNXJTdHFXMFVBNGgwMGFZNDYzOFM5U1hmUk90djdHTDM4WHZVak5hZUxK?= =?utf-8?B?SmJSVXJ3djg1M0ZoVUE5YjVxVXdEN052R1haZE8ySm9BV2I5TmVxYTFxd2JR?= =?utf-8?B?clpkdkhRaCtTM01YcXBSNkpNUzduVmp3bG14UmN3d1AzTFpPN1NGbzZ0SHIv?= =?utf-8?B?cS9ZcWZEUTNHczdZNHFmNHZmY05yNFpOVzRnT3pKSVJWK04wMzBpd2w3RUNT?= =?utf-8?B?Q3hqT0ptWTJNR1NqaU5lR1FIL293ZlNick4xRXhyNGd3MjF4M3VROEcvWnVp?= =?utf-8?B?c3h6N3lCQzI2a1U3U3ptZlFLNHpkOS8wdGdEcjR1YXUzOWc3QnZzWExxWXFY?= =?utf-8?B?clRKekZqcVVQOWtrY0VSaUNIOVY0bGoySll4V3ZWVW9Nbks0dS9BT1NvVzRp?= =?utf-8?B?eEdMemVQZ1FoSzhMWi80QnFXampnT2pDckxuem9zSDI2YllXUHBDL3ZJZEZw?= =?utf-8?B?UFUzdkg0Q1kyQ2RBK2hZVXVXQnlSSTMxaFFRUVduRXhKOHpuczg0Ylg2Vk5n?= =?utf-8?B?Z2xpaDhTNHFET25VMzA3OVowcGNJSk5oYW9hdUUwUysyREVhTkdtTmE3VWZu?= =?utf-8?B?Y2RsRUxablJzMGVEbHFmWEEwcE15MUNTRHRRSzU2cXgyQVdVa0FEYnhpenJL?= =?utf-8?B?M0dVbGxDaDE5ZFdZZEFpQXkvN3BZSXlyVEJCcHRqbkUvTzZBeXg2WW5MSzAw?= =?utf-8?B?ZmF1d2Z4aUVDZkFldCttOFlmb2dDRTdCcnpxSWxEd3Q5UTdmb3hOUmtTYWpu?= =?utf-8?B?U0R0amFFM1ZuYng1WGcwYVI0RXJIcVVHL01jdG1GQlhlTUxoZTZDZlVsVWFW?= =?utf-8?B?Mmo4VFRvYnJjOGtZVXJnQ2hZM2t6L3NvZFZDTkkzeWxIeXNGK3ZVdVNRQjE5?= =?utf-8?B?cE9lRXV1NUFZd0N4Mk5pejkrQ2ZkQ1pWN2ExSVRvR20zU2phbk93blprcEFo?= =?utf-8?B?Wm5kd3E4Ti9uT3ZvSFNONzN5SG9SZk5rWkp1RVJlSjhBeHowdVA5WUZRWVEz?= =?utf-8?B?TVYxOTM2VGJtN3BpeTR3dC9JOGFLM2dqdmU0RjZFN3d2aHJZbzc4Q0k3VVdF?= =?utf-8?B?V2xQRUFKc0RoRHNkV3dEMFZBNHB6Umgva2VCcXVuZ2lsdk1UNW95eTNaY3RD?= =?utf-8?B?MHkwVmVqZlJQYnVCQkNsazNNRVozcm5CVk9zSWJIKzc5Qlord0IvYTJiZkgr?= =?utf-8?B?UGJmcU1VVkJFd0M3ZmhSU09WMnNpUDMrUGVBbE80Qm9ML2FQZmhYSTQ3b2w0?= =?utf-8?B?MFRUYTBpRlkyVFUxT3FaR0ZrYUdnPT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-nfs@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR13MB5084.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8c1073d0-ec21-47c1-b82f-08dd6b261eae X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2025 22:49:22.3828 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WvQYhyLp6zVIriEUJwPWoyoV9E7SQWtv1dqw5JV39qJKRctJdZGT5QdFE24iHLgs6eTO7itdPBXzyl8i+ID3cw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH4PR13MB7195 T24gTW9uLCAyMDI1LTAzLTI0IGF0IDE3OjUyIC0wNDAwLCBKZWZmIExheXRvbiB3cm90ZToNCj4g SGkgVHJvbmQsDQo+IA0KPiBXZSBoaXQgYSBuZXcgZmFpbHVyZSBtb2RlIHdpdGggdGhlIGNvbnRh aW5lcml6ZWQgTkZTIGNsaWVudCB0ZWFyZG93bg0KPiBwYXRjaGVzLg0KPiANCj4gVGhlIHN5bXB0 b21zIGFyZSB0aGF0IHdlIHNlZSB0aGUgc3RhdGUgcmVjb3ZlcnkgdGhyZWFkIHN0dWNrLCBhbmQN Cj4gdGhlbg0KPiB3ZSBzZWUgYSBmbHVzaGVyIHRocmVhZCBzdHVjayBsaWtlIHRoaXM6DQo+IA0K PiAjMMKgIGNvbnRleHRfc3dpdGNoIChrZXJuZWwvc2NoZWQvY29yZS5jOjU0MzQ6MikNCj4gIzHC oCBfX3NjaGVkdWxlIChrZXJuZWwvc2NoZWQvY29yZS5jOjY3OTk6OCkNCj4gIzLCoCBfX3NjaGVk dWxlX2xvb3AgKGtlcm5lbC9zY2hlZC9jb3JlLmM6Njg3NDozKQ0KPiAjM8KgIHNjaGVkdWxlIChr ZXJuZWwvc2NoZWQvY29yZS5jOjY4ODk6MikNCj4gIzTCoCBuZnNfd2FpdF9iaXRfa2lsbGFibGUg KGZzL25mcy9pbm9kZS5jOjc3OjIpDQo+ICM1wqAgX193YWl0X29uX2JpdCAoa2VybmVsL3NjaGVk L3dhaXRfYml0LmM6NDk6MTApDQo+ICM2wqAgb3V0X29mX2xpbmVfd2FpdF9vbl9iaXQgKGtlcm5l bC9zY2hlZC93YWl0X2JpdC5jOjY0OjkpDQo+ICM3wqAgd2FpdF9vbl9iaXRfYWN0aW9uICguL2lu Y2x1ZGUvbGludXgvd2FpdF9iaXQuaDoxNTY6OSkNCj4gIzjCoCBuZnM0X3dhaXRfY2xudF9yZWNv dmVyIChmcy9uZnMvbmZzNHN0YXRlLmM6MTMyOTo4KQ0KPiAjOcKgIG5mczRfY2xpZW50X3JlY292 ZXJfZXhwaXJlZF9sZWFzZSAoZnMvbmZzL25mczRzdGF0ZS5jOjEzNDc6OSkNCj4gIzEwIHBuZnNf dXBkYXRlX2xheW91dCAoZnMvbmZzL3BuZnMuYzoyMTMzOjE3KQ0KPiAjMTEgZmZfbGF5b3V0X3Bn X2dldF9taXJyb3JfY291bnRfd3JpdGUNCj4gKGZzL25mcy9mbGV4ZmlsZWxheW91dC9mbGV4Zmls ZWxheW91dC5jOjk0OTo0KQ0KPiAjMTIgbmZzX3BhZ2Vpb19zZXR1cF9taXJyb3JpbmcgKGZzL25m cy9wYWdlbGlzdC5jOjExMTQ6MTgpDQo+ICMxMyBuZnNfcGFnZWlvX2FkZF9yZXF1ZXN0IChmcy9u ZnMvcGFnZWxpc3QuYzoxNDA2OjIpDQo+ICMxNCBuZnNfcGFnZV9hc3luY19mbHVzaCAoZnMvbmZz L3dyaXRlLmM6NjMxOjcpDQo+ICMxNSBuZnNfZG9fd3JpdGVwYWdlIChmcy9uZnMvd3JpdGUuYzo2 NTc6OSkNCj4gIzE2IG5mc193cml0ZXBhZ2VzX2NhbGxiYWNrIChmcy9uZnMvd3JpdGUuYzo2ODQ6 OCkNCj4gIzE3IHdyaXRlX2NhY2hlX3BhZ2VzIChtbS9wYWdlLXdyaXRlYmFjay5jOjI1Njk6MTEp DQo+ICMxOCBuZnNfd3JpdGVwYWdlcyAoZnMvbmZzL3dyaXRlLmM6NzIzOjkpDQo+ICMxOSBkb193 cml0ZXBhZ2VzIChtbS9wYWdlLXdyaXRlYmFjay5jOjI2MTI6MTApDQo+ICMyMCBfX3dyaXRlYmFj a19zaW5nbGVfaW5vZGUgKGZzL2ZzLXdyaXRlYmFjay5jOjE2NTA6OCkNCj4gIzIxIHdyaXRlYmFj a19zYl9pbm9kZXMgKGZzL2ZzLXdyaXRlYmFjay5jOjE5NDI6MykNCj4gIzIyIF9fd3JpdGViYWNr X2lub2Rlc193YiAoZnMvZnMtd3JpdGViYWNrLmM6MjAxMzoxMikNCj4gIzIzIHdiX3dyaXRlYmFj ayAoZnMvZnMtd3JpdGViYWNrLmM6MjEyMDoxNSkNCj4gIzI0IHdiX2NoZWNrX29sZF9kYXRhX2Zs dXNoIChmcy9mcy13cml0ZWJhY2suYzoyMjI0OjEwKQ0KPiAjMjUgd2JfZG9fd3JpdGViYWNrIChm cy9mcy13cml0ZWJhY2suYzoyMjc3OjExKQ0KPiAjMjYgd2Jfd29ya2ZuIChmcy9mcy13cml0ZWJh Y2suYzoyMzA1OjIwKQ0KPiAjMjcgcHJvY2Vzc19vbmVfd29yayAoa2VybmVsL3dvcmtxdWV1ZS5j OjMyNjc6MikNCj4gIzI4IHByb2Nlc3Nfc2NoZWR1bGVkX3dvcmtzIChrZXJuZWwvd29ya3F1ZXVl LmM6MzM0ODozKQ0KPiAjMjkgd29ya2VyX3RocmVhZCAoa2VybmVsL3dvcmtxdWV1ZS5jOjM0Mjk6 NCkNCj4gIzMwIGt0aHJlYWQgKGtlcm5lbC9rdGhyZWFkLmM6Mzg4OjkpDQo+ICMzMSByZXRfZnJv bV9mb3JrIChhcmNoL3g4Ni9rZXJuZWwvcHJvY2Vzcy5jOjE0NzozKQ0KPiAjMzIgcmV0X2Zyb21f Zm9ya19hc20rMHgxMS8weDE2IChhcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TOjI0NCkNCj4gDQo+ IFR1cm5pbmcgdXAgc29tZSB0cmFjZXBvaW50cywgSSBzZWUgdGhpczoNCj4gDQo+IMKga3dvcmtl ci91MTAyODoxLTk5NzQ1NsKgIFsxNTldIC4uLi4uwqAgOTAyNy4zMzAzOTY6DQo+IHJwY190YXNr X3J1bl9hY3Rpb246IHRhc2s6MDAwMDE3NGJAMDAwMDAwMDANCj4gZmxhZ3M9QVNZTkN8TU9WRUFC TEV8TkVUVU5SRUFDSF9GQVRBTHxEWU5BTUlDfFNPRlR8VElNRU9VVHxOT1JUTw0KPiBydW5zdGF0 ZT1SVU5OSU5HfEFDVElWRSBzdGF0dXM9MCBhY3Rpb249Y2FsbF9yZXNlcnZlIFtzdW5ycGNdDQo+ IMKga3dvcmtlci91MTAyODoxLTk5NzQ1NsKgIFsxNTldIC4uLi4uwqAgOTAyNy4zMzAzOTc6IHhw cnRfcmVzZXJ2ZToNCj4gdGFzazowMDAwMTc0YkAwMDAwMDAwMCB4aWQ9MHg2YmZjMDk5Yw0KPiDC oGt3b3JrZXIvdTEwMjg6MS05OTc0NTbCoCBbMTU5XSAuLi4uLsKgIDkwMjcuMzMwMzk3Og0KPiBy cGNfdGFza19ydW5fYWN0aW9uOiB0YXNrOjAwMDAxNzRiQDAwMDAwMDAwDQo+IGZsYWdzPUFTWU5D fE1PVkVBQkxFfE5FVFVOUkVBQ0hfRkFUQUx8RFlOQU1JQ3xTT0ZUfFRJTUVPDQo+IFVUfE5PUlRP IHJ1bnN0YXRlPVJVTk5JTkd8QUNUSVZFIHN0YXR1cz0wIGFjdGlvbj1jYWxsX3Jlc2VydmVyZXN1 bHQNCj4gW3N1bnJwY10NCj4gwqBrd29ya2VyL3UxMDI4OjEtOTk3NDU2wqAgWzE1OV0gLi4uLi7C oCA5MDI3LjMzMDM5NzoNCj4gcnBjX3Rhc2tfcnVuX2FjdGlvbjogdGFzazowMDAwMTc0YkAwMDAw MDAwMA0KPiBmbGFncz1BU1lOQ3xNT1ZFQUJMRXxORVRVTlJFQUNIX0ZBVEFMfERZTkFNSUN8U09G VHxUSU1FTw0KPiBVVHxOT1JUTyBydW5zdGF0ZT1SVU5OSU5HfEFDVElWRSBzdGF0dXM9MCBhY3Rp b249Y2FsbF9yZWZyZXNoDQo+IFtzdW5ycGNdDQo+IMKga3dvcmtlci91MTAyODoxLTk5NzQ1NsKg IFsxNTldIC4uLi4uwqAgOTAyNy4zMzAzOTk6DQo+IHJwY190YXNrX3J1bl9hY3Rpb246IHRhc2s6 MDAwMDE3NGJAMDAwMDAwMDANCj4gZmxhZ3M9QVNZTkN8TU9WRUFCTEV8TkVUVU5SRUFDSF9GQVRB THxEWU5BTUlDfFNPRlR8VElNRU8NCj4gVVR8Tk9SVE8gcnVuc3RhdGU9UlVOTklOR3xBQ1RJVkUg c3RhdHVzPTAgYWN0aW9uPWNhbGxfcmVmcmVzaHJlc3VsdA0KPiBbc3VucnBjXQ0KPiDCoGt3b3Jr ZXIvdTEwMjg6MS05OTc0NTbCoCBbMTU5XSAuLi4uLsKgIDkwMjcuMzMwMzk5Og0KPiBycGNfdGFz a19ydW5fYWN0aW9uOiB0YXNrOjAwMDAxNzRiQDAwMDAwMDAwDQo+IGZsYWdzPUFTWU5DfE1PVkVB QkxFfE5FVFVOUkVBQ0hfRkFUQUx8RFlOQU1JQ3xTT0ZUfFRJTUVPDQo+IFVUfE5PUlRPIHJ1bnN0 YXRlPVJVTk5JTkd8QUNUSVZFIHN0YXR1cz0wIGFjdGlvbj1jYWxsX2FsbG9jYXRlDQo+IFtzdW5y cGNdDQo+IMKga3dvcmtlci91MTAyODoxLTk5NzQ1NsKgIFsxNTldIC4uLi4uwqAgOTAyNy4zMzA0 MDA6IHJwY19idWZfYWxsb2M6DQo+IHRhc2s6MDAwMDE3NGJAMDAwMDAwMDAgY2FsbHNpemU9MzY4 IHJlY3ZzaXplPTgwIHN0YXR1cz0wDQo+IMKga3dvcmtlci91MTAyODoxLTk5NzQ1NsKgIFsxNTld IC4uLi4uwqAgOTAyNy4zMzA0MDA6DQo+IHJwY190YXNrX3J1bl9hY3Rpb246IHRhc2s6MDAwMDE3 NGJAMDAwMDAwMDANCj4gZmxhZ3M9QVNZTkN8TU9WRUFCTEV8TkVUVU5SRUFDSF9GQVRBTHxEWU5B TUlDfFNPRlR8VElNRU9VVHxOT1JUTw0KPiBydW5zdGF0ZT1SVU5OSU5HfEFDVElWRSBzdGF0dXM9 MCBhY3Rpb249Y2FsbF9lbmNvZGUgW3N1bnJwY10NCj4gwqBrd29ya2VyL3UxMDI4OjEtOTk3NDU2 wqAgWzE1OV0gLi4uLi7CoCA5MDI3LjMzMDQwMjoNCj4gcnBjX3Rhc2tfcnVuX2FjdGlvbjogdGFz azowMDAwMTc0YkAwMDAwMDAwMA0KPiBmbGFncz1BU1lOQ3xNT1ZFQUJMRXxORVRVTlJFQUNIX0ZB VEFMfERZTkFNSUN8U09GVHxUSU1FT1VUfE5PUlRPDQo+IHJ1bnN0YXRlPVJVTk5JTkd8QUNUSVZF fE5FRURfWE1JVHxORUVEX1JFQ1Ygc3RhdHVzPTANCj4gYWN0aW9uPWNhbGxfY29ubmVjdCBbc3Vu cnBjXQ0KPiDCoGt3b3JrZXIvdTEwMjg6MS05OTc0NTbCoCBbMTU5XSAuLi4uLsKgIDkwMjcuMzMw NDAzOiB4cHJ0X3Jlc2VydmVfeHBydDoNCj4gdGFzazowMDAwMTc0YkAwMDAwMDAwMCBzbmRfdGFz azowMDAwMTc0Yg0KPiDCoGt3b3JrZXIvdTEwMjg6MS05OTc0NTbCoCBbMTU5XSAuLi4uLsKgIDkw MjcuMzMwNDA0OiB4cHJ0X2Nvbm5lY3Q6DQo+IHBlZXI9WzJhMDM6ODNlNDo0MDAyOjA6MTJhOjoy YV06MjA0OTIgc3RhdGU9TE9DS0VEfEJPVU5EDQo+IMKga3dvcmtlci91MTAyODoxLTk5NzQ1NsKg IFsxNTldIC4uLi4uwqAgOTAyNy4zMzA0MDU6IHJwY190YXNrX3NsZWVwOg0KPiB0YXNrOjAwMDAx NzRiQDAwMDAwMDAwDQo+IGZsYWdzPUFTWU5DfE1PVkVBQkxFfE5FVFVOUkVBQ0hfRkFUQUx8RFlO QU1JQ3xTT0ZUfFRJTUVPVVR8Tk9SVE8NCj4gcnVuc3RhdGU9UlVOTklOR3xBQ1RJVkV8TkVFRF9Y TUlUfE5FRURfUkVDViBzdGF0dXM9MCB0aW1lb3V0PTANCj4gcXVldWU9eHBydF9wZW5kaW5nDQo+ IMKga3dvcmtlci91MTAyODoxLTk5NzQ1NsKgIFsxNTldIC4uLi4uwqAgOTAyNy4zMzA0NDI6DQo+ IHJwY19zb2NrZXRfY29ubmVjdDogZXJyb3I9LTIyIHNvY2tldDpbMTUwODQ3NjNdIHNyY2FkZHI9 Wzo6XTo5OTMNCj4gZHN0YWRkcj1bMmEwMzo4M2U0OjQwMDI6MDoxMmE6OjJhXTowIHN0YXRlPTEg KFVOQ09OTkVDVEVEKSBza19zdGF0ZT03DQo+IChDTE9TRSkNCj4gwqBrd29ya2VyL3UxMDI4OjEt OTk3NDU2wqAgWzE1OV0gLi4uLi7CoCA5MDI3LjMzMDQ0MzogcnBjX3Rhc2tfd2FrZXVwOg0KPiB0 YXNrOjAwMDAxNzRiQDAwMDAwMDAwDQo+IGZsYWdzPUFTWU5DfE1PVkVBQkxFfE5FVFVOUkVBQ0hf RkFUQUx8RFlOQU1JQ3xTT0ZUfFRJTUVPVVR8Tk9SVE8NCj4gcnVuc3RhdGU9UVVFVUVEfEFDVElW RXxORUVEX1hNSVR8TkVFRF9SRUNWIHN0YXR1cz0tMjIgdGltZW91dD02MDAwMA0KPiBxdWV1ZT14 cHJ0X3BlbmRpbmcNCj4gwqBrd29ya2VyL3UxMDI4OjEtOTk3NDU2wqAgWzE1OV0gLi4uLi7CoCA5 MDI3LjMzMDQ0NDoNCj4geHBydF9kaXNjb25uZWN0X2ZvcmNlOiBwZWVyPVsyYTAzOjgzZTQ6NDAw MjowOjEyYTo6MmFdOjIwNDkyDQo+IHN0YXRlPUxPQ0tFRHxDT05ORUNUSU5HfEJPVU5EfFNORF9J U19DT09LSUUNCj4gwqBrd29ya2VyL3UxMDI4OjEtOTk3NDU2wqAgWzE1OV0gLi4uLi7CoCA5MDI3 LjMzMDQ0NDogeHBydF9yZWxlYXNlX3hwcnQ6DQo+IHRhc2s6ZmZmZmZmZmZAZmZmZmZmZmYgc25k X3Rhc2s6ZmZmZmZmZmYNCj4gwqBrd29ya2VyL3UxMDI4OjEtOTk3NDU2wqAgWzE1OV0gLi4uLi7C oCA5MDI3LjMzMDQ0NToNCj4gcnBjX3Rhc2tfcnVuX2FjdGlvbjogdGFzazowMDAwMTc0YkAwMDAw MDAwMA0KPiBmbGFncz1BU1lOQ3xNT1ZFQUJMRXxORVRVTlJFQUNIX0ZBVEFMfERZTkFNSUN8U09G VHxUSU1FT1VUfE5PUlRPDQo+IHJ1bnN0YXRlPVJVTk5JTkd8QUNUSVZFfE5FRURfWE1JVHxORUVE X1JFQ1Ygc3RhdHVzPS0yMg0KPiBhY3Rpb249Y2FsbF9jb25uZWN0X3N0YXR1cyBbc3VucnBjXQ0K PiDCoGt3b3JrZXIvdTEwMjg6MS05OTc0NTbCoCBbMTU5XSAuLi4uLsKgIDkwMjcuMzMwNDQ2Og0K PiBycGNfY29ubmVjdF9zdGF0dXM6IHRhc2s6MDAwMDE3NGJAMDAwMDAwMDAgc3RhdHVzPS0yMg0K PiDCoGt3b3JrZXIvdTEwMjg6MS05OTc0NTbCoCBbMTU5XSAuLi4uLsKgIDkwMjcuMzMwNDQ2OiBy cGNfY2FsbF9ycGNlcnJvcjoNCj4gdGFzazowMDAwMTc0YkAwMDAwMDAwMCB0a19zdGF0dXM9LTIy IHJwY19zdGF0dXM9LTIyDQo+IMKga3dvcmtlci91MTAyODoxLTk5NzQ1NsKgIFsxNTldIC4uLi4u wqAgOTAyNy4zMzA0NDY6DQo+IHJwY190YXNrX3J1bl9hY3Rpb246IHRhc2s6MDAwMDE3NGJAMDAw MDAwMDANCj4gZmxhZ3M9QVNZTkN8TU9WRUFCTEV8TkVUVU5SRUFDSF9GQVRBTHxEWU5BTUlDfFNP RlR8VElNRU8NCj4gVVR8Tk9SVE8gcnVuc3RhdGU9UlVOTklOR3xBQ1RJVkV8TkVFRF9YTUlUfE5F RURfUkVDViBzdGF0dXM9LTIyDQo+IGFjdGlvbj1ycGNfZXhpdF90YXNrIFtzdW5ycGNdDQo+IMKg a3dvcmtlci91MTAyODoxLTk5NzQ1NsKgIFsxNTldIC4uLi4uwqAgOTAyNy4zMzA0NDc6IHJwY190 YXNrX2VuZDoNCj4gdGFzazowMDAwMTc0YkAwMDAwMDAwMA0KPiBmbGFncz1BU1lOQ3xNT1ZFQUJM RXxORVRVTlJFQUNIX0ZBVEFMfERZTkFNSUN8U09GVHxUSU1FT1VUfE5PUlRPDQo+IHJ1bnN0YXRl PVJVTk5JTkd8QUNUSVZFfE5FRURfWE1JVHxORUVEX1JFQ1Ygc3RhdHVzPS0yMg0KPiBhY3Rpb249 cnBjX2V4aXRfdGFzayBbc3VucnBjXQ0KPiANCj4gVGhlcmUgaXMgbm8gdHJhZmZpYyBvbiB0aGUg d2lyZS4gU28sIHRoZSBwcm9ibGVtIHNlZW1zIHRvIGJlIGluIHRoaXMNCj4gc2l0dWF0aW9uIHRo YXQgd2UncmUgY2FsbGluZyBjYWxsX2Nvbm5lY3QsIGFuZCBnZXR0aW5nIGJhY2sgLUVJTlZBTA0K PiBmcm9tIHRoZSBuZXR3b3JrIGxheWVyLCB3aGljaCBkb2Vzbid0IHRyaWdnZXIgdGhlIC1FTkVU VU5SRUFDSA0KPiBoYW5kbGluZy4NCj4gDQo+IElzIHRoaXMgYSBidWcgZnJvbSB0aGUgbmV0d29y ayBsYXllciwgb3IgZG8gd2UgYWxzbyBuZWVkIHRvIGhhbmRsZSAtDQo+IEVJTlZBTCBpbiBjYWxs X2Nvbm5lY3Rfc3RhdHVzPw0KPiANCj4gLi4ub3IgZG8gd2UgbmVlZCBhIGRpZmZlcmVudCBmaXg/ DQo+IA0KPiBUaG91Z2h0cz8NCg0KV2UgbmVlZCBhIHdheSB0byBwYXNzIGRvd24gdG8gdGhlIGNs aWVudCBjYWxsaW5nDQpuZnM0X2NsaWVudF9yZWNvdmVyX2V4cGlyZWRfbGVhc2UoKSB0aGF0IHRo ZSBjbGllbnQgaXMgdGVybWluYWxseSBnb25lDQphd2F5LCBhbmQgdGhhdCBpdCBzaG91bGQgc3Rv cCBsb29waW5nLg0KSSdtIHRoaW5raW5nIHRoYXQgd2UgcHJvYmFibHkgbmVlZCB0byBtYXJrIHRo ZSBjbGllbnQgYXMgZXJyb3JlZCBvdXQgYnkNCnVzaW5nIGEgY2FsbCB0byBuZnNfbWFya19jbGll bnRfcmVhZHkoKSB0byBzZXQgY2xwLT5jbF9jb25zX3N0YXRlIGluDQplcnJvci4NCg0KSG93ZXZl ciBJIGRvIGZpbmQgaXQgb2RkIHRoYXQgd2UncmUgc2VlaW5nIGFuIEVJTlZBTCBlcnJvciBpbnN0 ZWFkIG9mDQpFTkVUVU5SRUFDSC4gSXQgbG9va3MgZnJvbSB5b3VyIHRyYWNlcyBhYm92ZSBhcyBp ZiB0aGF0IGlzIGNvbWluZyBmcm9tDQp0aGUgY2FsbCB0byB4c190Y3BfZmluaXNoX2Nvbm5lY3Rp bmcoKSwgd2hpY2ggYWxtb3N0IGhhcyB0byBtZWFuIHRoYXQNCml0IGlzIGJlaW5nIHJldHVybmVk IGJ5IGtlcm5lbF9jb25uZWN0KCkuDQpIbW0uIE1heWJlIGl0IGlzIHRoaXM6ICJkc3RhZGRyPVsy YTAzOjgzZTQ6NDAwMjowOjEyYTo6MmFdOjAiPyBBIHplcm8NCnBvcnQgdmFsdWUgbWlnaHQgZXhw bGFpbiBpdC4uLg0KDQotLSANClRyb25kIE15a2xlYnVzdA0KTGludXggTkZTIGNsaWVudCBtYWlu dGFpbmVyLCBIYW1tZXJzcGFjZQ0KdHJvbmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNvbQ0KDQoN Cg==