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 B1368C5474E for ; Wed, 28 Aug 2024 07:25:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 267366B00AC; Wed, 28 Aug 2024 03:25:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 216A86B00AE; Wed, 28 Aug 2024 03:25:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 019DB6B00AF; Wed, 28 Aug 2024 03:25:24 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id CDC646B00AC for ; Wed, 28 Aug 2024 03:25:24 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 60D87141D03 for ; Wed, 28 Aug 2024 07:25:24 +0000 (UTC) X-FDA: 82500818568.18.E41B8F4 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by imf19.hostedemail.com (Postfix) with ESMTP id 1A95E1A0013 for ; Wed, 28 Aug 2024 07:25:18 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=W3s4GyiS; spf=pass (imf19.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 198.175.65.17 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724829803; 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=uNAUStP8cOxhUzMClYUCXeXWQ8Qh28/zpv6O4S4wzes=; b=m1cr0PJBxYntE/Ew+bLDRnhOjBPtW9s3YTrZaAT139RdjBXuSh4qH0YzC4aDxvkI/a21B0 xrHiamUbMJGoGhvVjjzGf+sMup1IGHm+ppgmu0pEILp5OQQvWjaj33wbSDxpV6s9uLuU8q SlhOEUO+LTDw9V66kLXAIe4gSPHll7E= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=W3s4GyiS; spf=pass (imf19.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 198.175.65.17 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com; dmarc=pass (policy=none) header.from=intel.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1724829803; a=rsa-sha256; cv=pass; b=fVmbQ2y7HGiQIOayR3D2f4mezEu6KyKFtSZUZXxuUbM7Y5dO48hATHA7ODp/2mBGrkQ2U+ 9+zKyyw7rykoPyWxk2JnvZNa2w4b/dydNasx3k+pFVOfN7N+1EwtQ7gx+wHN0E7TksX+oJ MM+PEDLTBa0Fb6HV0f+Jjq6y/1HPPo8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1724829919; x=1756365919; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=uNAUStP8cOxhUzMClYUCXeXWQ8Qh28/zpv6O4S4wzes=; b=W3s4GyiSQCDiPSgMbpODnH/PPoQnOtNxeeYVAcyhP5mkX6fl0wuv156D On/wZi9vs35fB2JbLvvwwxtSExbxRj2L4LTEceUghFE1t4yzbn8Zksnu4 0eEoXwUfoZZMDcpJoxnNHzaRTUxYYnghWB/TJ0/5J5/dnq83JkyXVg0SP aqJG/kTzsWLujExyzxyw3Za+R8oq2Oa0adSt1oZLlVMeIPzb1gwq6hSaJ dwaOQWfWOaH2fv0HUxEnXQH95xPdQlr41xi0ybHndff/k+pR/O2akobos xhfl3Gf240igWg1tY+p1oO0iWLgTU83eR1Dyk4klXZtx06MdihtFV0DIu w==; X-CSE-ConnectionGUID: wcTXaE5TQ0adEJA9cAirBA== X-CSE-MsgGUID: LaCIkztNRjmZdCKYpCpyqg== X-IronPort-AV: E=McAfee;i="6700,10204,11177"; a="23516800" X-IronPort-AV: E=Sophos;i="6.10,182,1719903600"; d="scan'208";a="23516800" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Aug 2024 00:24:22 -0700 X-CSE-ConnectionGUID: 4aB8wJ/hQV+slZAZ3STJcA== X-CSE-MsgGUID: NFBoUlYPQlqb2/4zNnWb1A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.10,182,1719903600"; d="scan'208";a="93840726" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 28 Aug 2024 00:24:22 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 28 Aug 2024 00:24:21 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Wed, 28 Aug 2024 00:24:21 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.174) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 28 Aug 2024 00:24:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oiGzjakCdYmE/iQ18XuhfG5U3AB5kxqBdSq/44jJUlP8UoOtJLgY6aOpW2nmT+/s+F4zjhpnnXkhhq02PvVMaUzAQMmjDGWnvgHLcgfXayX4d1rCFDRT6D0/0ddpmZ5LlrXSbG92T3fPyV/TiMK02oA7rt/omyaKtmR4PS7s+okPw2t4iY9CXyf9mw/eCYcMQOlSav8WlNI2S9Sb7WPWX6Sd8MUssQpyDvGEwRSM0TnIBHBIDEj7rmRNNyLG5B/mTA6HfyBUol3xzNwXtyIkDoACxq9TeCWOd0J4HlrUJkeNkUDRxk/N+6mQFQ0+NutBIRjSqgG4RskMRQ4tmL9n2A== 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=uNAUStP8cOxhUzMClYUCXeXWQ8Qh28/zpv6O4S4wzes=; b=xcCEQQy3Z7oBbANmKIz2iEbg/9INdTuvuoVQPulAf792UpKAYeqPb7vFGyXxkpxsh7fauwwCLpjM8kfyRkRKR3D0iCNRpOcFoy1xMXp42OK/UgsYnzDrU/GVhCRAma1vQxrOptx6y/rahMXQa+WXS/EW58yeD1kFlaC7KWa8SLvAm9yQyLGEYKE4/2H0bracFOHovhdqUZ6wEqDas9FJ80dfBPWGYSl6iRaN9beya7VXlodzSb1DH/WijnAdH60Dhc83pGAHK5h1WZ6Yyzt71YLLYWwkGozwT7CBaln5iKSVl1yWVlZly9gxMECYHiC38yNdQ8gVtWBF0zi2nWjUyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SJ0PR11MB5678.namprd11.prod.outlook.com (2603:10b6:a03:3b8::22) by CY8PR11MB7172.namprd11.prod.outlook.com (2603:10b6:930:93::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7897.25; Wed, 28 Aug 2024 07:24:19 +0000 Received: from SJ0PR11MB5678.namprd11.prod.outlook.com ([fe80::812:6f53:13d:609c]) by SJ0PR11MB5678.namprd11.prod.outlook.com ([fe80::812:6f53:13d:609c%5]) with mapi id 15.20.7875.019; Wed, 28 Aug 2024 07:24:18 +0000 From: "Sridhar, Kanchana P" To: Nhat Pham CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "hannes@cmpxchg.org" , "yosryahmed@google.com" , "ryan.roberts@arm.com" , "Huang, Ying" , "21cnbao@gmail.com" <21cnbao@gmail.com>, "akpm@linux-foundation.org" , "Zou, Nanhai" , "Feghali, Wajdi K" , "Gopal, Vinodh" , "Sridhar, Kanchana P" Subject: RE: [PATCH v4 0/4] mm: ZSWAP swap-out of mTHP folios Thread-Topic: [PATCH v4 0/4] mm: ZSWAP swap-out of mTHP folios Thread-Index: AQHa8d3OD+uOh/WK5kyI6A6kVnXGhrIxzReAgABJIZCAA+ChsIADqWIAgABIr/CAAV2VgIAALnjAgADdOKA= Date: Wed, 28 Aug 2024 07:24:18 +0000 Message-ID: References: <20240819021621.29125-1-kanchana.p.sridhar@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SJ0PR11MB5678:EE_|CY8PR11MB7172:EE_ x-ms-office365-filtering-correlation-id: b6bd640f-bb65-4253-c029-08dcc7326dd1 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?QXozTjBYY3FITlhSRDJjR2psMXRJTGpOOHB3a1Y5eFZQNGpmcTkyR3M4L0lB?= =?utf-8?B?dWt4T25UM3dKL1Y1SEdWRlBqVVBsSis4UVJ3aVVGNC80OWlpQ3VBcmxpcmls?= =?utf-8?B?dnVaYzZ6VzMrNWExUFI5aWV0aXoyYUMxZXY5WkpTSVdFVmNQMUdscy90SEE2?= =?utf-8?B?eUNEY2libjFCNjJhaWQyNnFZYlJFdnRobnQ4Wk9JaGt6TU9WNU9JaCsvUFZV?= =?utf-8?B?aWlRaE9aMWV2bStIR0paN3M4Q2JtU3V2Y3VqczBUSkpRaVRiVVRlQVhld0Fy?= =?utf-8?B?U1RaaHdOZm9BQ1pJclNBOGYrbHNsaGlQb00zN3RaQ3dpQ1JOVmtjSmhJRXZy?= =?utf-8?B?VzFBSnpoajVSMjhoK0o2aGdtR2k0NTBJYTcyWHlJUnRMc0ZGYUgrTjNBRzRM?= =?utf-8?B?ZVRwMkVQS2JCbWNqM0FwSHFreEJkTkJjbXIydkowTENHbW9WcllmOFFjYlN3?= =?utf-8?B?MHFwRTFEblRrY3pERFBEQ2JvNWJ5bmJqWGk3UWFhRi9ERHA2SVQ5ejc5ei8v?= =?utf-8?B?T0lEbFhrZTNYMzQveWxqKzdRRm16cnFsSG0yVG50NlUwc3N6SjF1cWFvd2Vy?= =?utf-8?B?enN2SkI2SXN2LzZZNU16Q0FlY3BMRWt2bU0rb3B2SDh0R3BudFRoNjdhQ1lW?= =?utf-8?B?cmpHTEFocnNXaDZkZW9oV0gwb2xvY2pNdHJxMWFSbEJ2WUJYTXpFM2l0UXcz?= =?utf-8?B?SkEvQnR5T1JDQXQxMms1UUJwREFsTzV0ajVTOTJYZmpNUlVkRkh0QkFHaDB6?= =?utf-8?B?TXRGdndPMW5xeE55NGV1R3lZaS9hanpNU2pMdlFJVWRMbjRvZGgxN1FYNVRO?= =?utf-8?B?QldGRDNKUldTNVcrZmZlQ2RXemwwcEpYN1lZNk85a2hoaC82ZGdNNXRrbzhr?= =?utf-8?B?RGxuMGJmampFMlpYZGJCVmpJbnNXYy9HN3UwMGNoa1FSSEVRT2JLU0FGYjZI?= =?utf-8?B?cUtCNExLdjlzVGpIRUhFcUxhTEhtOWozVm1UWGRDNlJNRHZFRmkyUHdpOU55?= =?utf-8?B?ZXBWRFlaTENTNHE2MlYyL0UxWkl2VmNqRm1wdFkzVzA1aXdkZVlGVCtTVTdh?= =?utf-8?B?VHlPdDZZWnMyekVuUE44YUNMYjN6Z1JEOHpzclUvREdBUUJEbUpIRlpBNmhV?= =?utf-8?B?RTQ1QkZNQ3kzalVsVCtXL3p6bldTUlRZZk51aWJ4NkUwVGR4R09oN1IvVzdQ?= =?utf-8?B?ZFljUFJBd2lYVTZNT2R3bCtvWjE5dHlINElqRWRDZ1JKL29lWFpSaGVWcTRD?= =?utf-8?B?eU5qODlqRlVqbTF2cDBvT3hGdWVYeGRTNWhRdmdLSHJvNDF2L0V0QUR0Q0s1?= =?utf-8?B?bEpzREVVK1pDeHFNeEZ2VWhvOEtwaTRxK3plZzNRT1lOQVk0RzdIYklzRDBC?= =?utf-8?B?SytIQjlJdmkxd3pJZVlMNUpzWlZGKys2ZWFybUMvQ21taGhONVd6MldyUjRP?= =?utf-8?B?WlpPekhERENsYmRxSG5oTERYTFEvSFJPQzVKMnpFWW9QS25scmtOTW1mOVFu?= =?utf-8?B?ZTFPQ1B3QnpsUEU2eTlnSzU0ZlUvK0duU2pOQWxERlpTSWhkbnBBMUhmd3BV?= =?utf-8?B?NXFLWmxpVHQxU3RndGpObWpHWkMxOVNaT2t0MUplNkp5UDRudmxodThyNUEx?= =?utf-8?B?NjFUeGhFdHlYU2xZRjNTUlJBMGY0cUh5ZEdDSVlCWmxJcjRubkNsb1E5L0Ux?= =?utf-8?B?QnZ0Z25lMEsxQTNkOFp4bjJnUFozM1pLS0R5SFpGQWdmMkVhTWhHd0NVMDhF?= =?utf-8?B?NGtJRUxINjZQYjU2T2hnSk5aN3VkeFEvRWgrbjFxMWJhM3hTRkxEQzNIeno5?= =?utf-8?B?WXhoLzZudmlVMjV2clNJOCt2TkMwejRCb05YNndGL2xlMzlUSkJaQlVhMWlT?= =?utf-8?B?ZUdIOVZlc2owUHNIaU9Ddm8yWWlaMUg0TjJoeU5qL1lmU1E9PQ==?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR11MB5678.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QzlVSHJScElMWEJoTk9WTmRHRTRHaitjYUt5bFVvOGFVNHlteThyQzl5bGpw?= =?utf-8?B?bXNkZnN4empPMVFqVUZXbzNWWWFXM2gxbFpDaGFvYVVlZzhmMENUMURTRzAy?= =?utf-8?B?bEJHZ0tvQ202OVQyNndBRmZkN2ZRYW51Zzh2SnoyMDdHVUVHY0IwYjhET08x?= =?utf-8?B?dzZCQk5ZZ25aU0xnUDhsTkgxTWFFaUlPVTBVUTJoaEtGcUQ3dTZLRis3bXdN?= =?utf-8?B?ZTFyWitYZzBpT0V2UldJZE9iNHU4QVZ3YkJ5WUtmbGQvdHBkSmR1Z1dLcndj?= =?utf-8?B?ZllmWWhuNnAySHorK0dDOEx6UmVGYVdBeVFDMGZuSDZpeXF4YTZiRWlpTTdu?= =?utf-8?B?UWhwakFFWWRyaCtncW5ScExpMlpUdE5yYjNOd25qNHFoRys1SWdLNlozQWdL?= =?utf-8?B?bmtnT1N4UkVIVk81d2ZFVmN6cldBTVkwc0lBeXMrK1BpOU9hY3Z4MTdjUEdl?= =?utf-8?B?SFVFMWNPWnZPdzZMVXpPOWpFMnpkNEpqN2ZHTUxDYUxRbnJBbVljejg1R2dB?= =?utf-8?B?SkgvUUZYcjgwTWdrNWt1MnYvaElLajJMTS9jaWp6eDArRlZqY010UVFOczQr?= =?utf-8?B?czFtVklzTkYva3hoSzc3eGJMZy8rYThNTTBSUTJGdi9yZEo2RWxTL1RYdkNH?= =?utf-8?B?UkNMQW9RL1kzeGxyZFRIcVYwaWZqR1ZFWG5pKzVFckZTVzc4WjM5ek1OS2cw?= =?utf-8?B?U2x4R2tsK2N3Z1JRN1JZNUhaYnBzU3NDS0M4MlhrMDN1SFhYTE5rWTFPcGdn?= =?utf-8?B?UXF6SllhbktGWDhGRXd3Zk1NSWorYUNEYlFWK3lyQkEvWGF2aGU2Z3BHUXJE?= =?utf-8?B?cTJqb2RTZTk3OVh5d21Ec0FoRTlMQnBLYXNEUDJ2Y1VYV3lGck5OTVo5cTcv?= =?utf-8?B?WHFHdHFGZzZrL21CM2RGdHNvQWdVRUk3aTFja0FZK0VPSlFOeHhoSG56Sm5y?= =?utf-8?B?MEV6d2VvMUEvcHh2ZGE4b2tsbUR6bTdYYnROUE5NU2pkaE5kaEJKSUJDaEJm?= =?utf-8?B?eU1uNjdJRFdrQWk4WFA5MmxPek9OTnN1Zi8vQzExNzlsdkVOTFNZREtkVU5W?= =?utf-8?B?ZTA2dnMyUW04cGkySUVXUFAzUTMvSzFsWlN6cEF0MXl5YVJUYXpnOHZTeUlz?= =?utf-8?B?NzhvKyt3cVAyWkFha2dEcWRPdExrRk9Nb2RsVDJUb2QvTWdIZjdkUks0SVpE?= =?utf-8?B?WWxRbFYxa0ZIZWx4bmFXTkFoQ1ZZNzExTFk0Z0hvM1VOOUtDNkt6NURveTVT?= =?utf-8?B?ZGh1enNVSHdjYzVlcTRyZ0hIRmdNbGU0cEEwblpWWmVQbjgydHZFWkUzNXlJ?= =?utf-8?B?YjRWQjYrK3R1WWJrNVczdFc0TzliTjcrQm1lNzNBalpiYmhnbFowa0M2eWJI?= =?utf-8?B?K2F3STdoVEY2S1JMcjlkYlZnVjdBMHZQZmdWYmJQaGxSbXBZMzJBcC95TlNZ?= =?utf-8?B?eUxoUjRkQ203bTR0Qnpxd1g1Z2dRend4Q1Q5a3pVUmFzalZHVHdRU1k2NzhX?= =?utf-8?B?cjNYdXZnRHA0dHhUd2lveXdZUkNFVmRicFgvVWVSbEhKMUFZU2hTTzR4RlpB?= =?utf-8?B?ek9YMGtUUDJkOXp3a2xiN05EWHJocmtRN0xwRWxLMktwbWRMN0tkdjFyVS96?= =?utf-8?B?QlhWb3JIaElvTVc2Vkc2Q0dTbE1maEhUNXJuOEhKVExMSWxWRW9uR2U5UjBV?= =?utf-8?B?NkNlZUpKVEhnMmhqQW5tV1BHc1JYa0Z3cEtYNVY2WnVneWRxUGoyNXZad1dD?= =?utf-8?B?MEtPTVFFSE1CUWQ5aTdFY2N5bVZhWmliRnc1bTJqdSs4c2JUSVF1SGV4ZjlZ?= =?utf-8?B?a1NmQUJMODRsSkJxSzZwNHR2VjZUaXZWMEdLVTRtRDArS01ZUVA1T1RiTWMw?= =?utf-8?B?SXdIc0RYVTY2UDh2bU12N2VkMCtqZmNtYVQ3dGgwOVVFZXkrMzEzUkFoVHk4?= =?utf-8?B?OCtuVGlJZVJLd0ZKZ1M2WFgvT01KdW5pUDZBZWw4a1JoVFZzdnlhYlEyaXpn?= =?utf-8?B?MlZhdTdJMytGSnFOakFsQk1tbjV5dkRqaFo4N290WWJYbUVhQ2Y1UDdjbi9G?= =?utf-8?B?aWNsYXZRVEZIcUdJYk1zSm83cEJRbW9iUjlnTWRsdFN2NnhEbnFpR29pQStV?= =?utf-8?B?N0Z3SjhTcDhSWWpEQWs4OFVLcGd5V1JaRTJLOHVhNVpMcE44UzdwbTR6VWFw?= =?utf-8?B?QXc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ0PR11MB5678.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b6bd640f-bb65-4253-c029-08dcc7326dd1 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2024 07:24:18.3987 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 18OXhxBxzOQjZc1b8PochMBVS7xYkaBi7WrIcMlk868oDWGysyFUUZ6BQmuVKuU0sLjiaAMYk2YtzP5N/WZoZ6VkWEM3idxx4F2654xKDfo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7172 X-OriginatorOrg: intel.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 1A95E1A0013 X-Stat-Signature: 1igzhfxd8u48nnyqk9okioqn98s8o1qo X-Rspam-User: X-HE-Tag: 1724829918-102090 X-HE-Meta: U2FsdGVkX1+bXMANlST7tJu/IvmwvbYjMLHH2ggTS+pCWKTrjjr8EchzBTU6mZhb065PgpC00qiKdMDuDxBz3GpmuTH0ydI3Cfdr+LFQY6tq84Q5M/tidxCoypuVx759V4T5yCcvcAXKnXZ4nEYysJ75MHt5NRv3BLiga4Yv1BtIkOOYCL0555oSYhmfjSlZokBBYu2b4iZlJhRtopr90VP1lQ5POtEwIvLX6kSSeO1g7vLvW+EYD5p/dJI62/9Ui8H8tYd7YGjDSbIAkibWrNPQ9fvTtai+9VZQgQoiRs7lEhfvcvuKXpLmX43YGQEapg0313OKEIM3QGkVPr1ZZDxuIKEbsWgvBMAB9/kX/Qi/xr4N5oS3AtX+IpRh1uq6mYkJVAe4qcNREDQSDU/0uxtB1Oiw2wcQ4BGpkt93hjFHY8+4tKIJmrHXOyEBAmaq64SmtAkzvr1Dh1bqhPj4Nf5eBLIytHXAlbsreFfTudXRu/oz+/7rt89ZjMhkrrBJ1BhXXIDDMe5uefmrnR9Dw6SoVIUgsFY3cEA7ZsyHbRTPBPG0lZ/e8/KjFT1KhS/sDW6JH7e16rjsrPV4AIRxiKpZMoY93tPmbkVBPm3VfXiiVam1dR9vw7LIBNcWMKC52Zks2tTzRJKS+Ck5CFODZ7EvFF+JsPOnWgipAJCpDQWisSAg+7sv2AWkz1TEjsKyeSv3e+uBwkve6N7JM55/lGjsSimmeTM/42cjguFao6WLNVjBaxth32rXLHLgM8jBnx//SgN6iYJ/I/uyWGlOR27jI24pmpUExKGTXH9jHDcQamHb9Xx7twgr/pF9gcZ81YVlKe2mnDHzuzpIzZ54Sp8BHBg6DvObRS6iLFL/o5r2iV1EBKfdTqs1eYrV4sSq2+qSfsYdoRaa3XW8f8n7CcnBYEwRtvc5JqUQqiJa0bY0CupnZh+MIdCiVmQJUDoEMxaXe111b3DWVMySIEA 6g0QLqPB k5eKlz/n074F0wBb3vkZ3v0/auMCSuw0s9cBI9fEFMoFQrrA9zeYzoFplCePkvpRVBGQN5hMbMCr3pWWGTpLQatqoE2WyjLH3txgUVoYJzPdTFZixs0azj7yC0lysA2yRYnPcDsWhrVwMTYAlHbkTRjGTzr60lXlW8O1/VAavY4KI6Ifk0GiAiIGG6yhpxbiievyOPU+I/ouXIbLr7dbp1Fha65BI4c4+NaS2tePNkppTglolcX5npnOwLK2+jL04ZRLyT9UtL+dWkBT9qFYKP6AW+4RvE/4YX9uU9aF10v2XgwXMtS2AKoAyn1rUMrajty/g0nKepC/Cldby1mdXouOji5xtyzvukKyktKOLEKfH8DZMO0354xyQICPtBqwKn3o8/LtPvWxh4KMPJwjyUd8fBRlqY1wbN+DvLyRkugjx3J/ctiTntwq97oMR6pT4JSikOEtPcf8FV8iBYCB9nc3GEicSg/amtu/czXDvki+hoCHJ/l4YprolgjOAl/jxHH+CUrL55Uza+6BOgwNJi8zeWKYojpFK0jj1O2xigFd/QRIJQ/96HuiAQDdIVZfKC0TAcw0yoLZYXqeBm+xS8de2WWUuci+RZm3ypSCkQ+T6aa10JAwhwDnZxt89UZUTtLpkVoSnhZHeSCYbBW59IXQFYpNp/L9PKG77cpfk4JxDhmG85iyv0zp9/L8R2oyWupHJvMqz2G+91l50AOZCQcWZWp2e12pvmYWzoRb0VN7m7PHHuximIeGhq+Ipq3VEcRr8QctENOwOim6EwDFT7+HB02Q29R61sD7/N3IT1RTIaBH4y8ochD00908Ct4cvT4b91jOwseABBLt+UuPpHwzpkg== 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: DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFNyaWRoYXIsIEthbmNoYW5h IFAgPGthbmNoYW5hLnAuc3JpZGhhckBpbnRlbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIEF1Z3Vz dCAyNywgMjAyNCAxMTo0MiBBTQ0KPiBUbzogTmhhdCBQaGFtIDxucGhhbWNzQGdtYWlsLmNvbT4N Cj4gQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4LW1tQGt2YWNrLm9yZzsN Cj4gaGFubmVzQGNtcHhjaGcub3JnOyB5b3NyeWFobWVkQGdvb2dsZS5jb207IHJ5YW4ucm9iZXJ0 c0Bhcm0uY29tOw0KPiBIdWFuZywgWWluZyA8eWluZy5odWFuZ0BpbnRlbC5jb20+OyAyMWNuYmFv QGdtYWlsLmNvbTsgYWtwbUBsaW51eC0NCj4gZm91bmRhdGlvbi5vcmc7IFpvdSwgTmFuaGFpIDxu YW5oYWkuem91QGludGVsLmNvbT47IEZlZ2hhbGksIFdhamRpIEsNCj4gPHdhamRpLmsuZmVnaGFs aUBpbnRlbC5jb20+OyBHb3BhbCwgVmlub2RoIDx2aW5vZGguZ29wYWxAaW50ZWwuY29tPjsNCj4g U3JpZGhhciwgS2FuY2hhbmEgUCA8a2FuY2hhbmEucC5zcmlkaGFyQGludGVsLmNvbT4NCj4gU3Vi amVjdDogUkU6IFtQQVRDSCB2NCAwLzRdIG1tOiBaU1dBUCBzd2FwLW91dCBvZiBtVEhQIGZvbGlv cw0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBOaGF0 IFBoYW0gPG5waGFtY3NAZ21haWwuY29tPg0KPiA+IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAyNywg MjAyNCA4OjI0IEFNDQo+ID4gVG86IFNyaWRoYXIsIEthbmNoYW5hIFAgPGthbmNoYW5hLnAuc3Jp ZGhhckBpbnRlbC5jb20+DQo+ID4gQ2M6IGxpbnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IGxp bnV4LW1tQGt2YWNrLm9yZzsNCj4gPiBoYW5uZXNAY21weGNoZy5vcmc7IHlvc3J5YWhtZWRAZ29v Z2xlLmNvbTsgcnlhbi5yb2JlcnRzQGFybS5jb207DQo+ID4gSHVhbmcsIFlpbmcgPHlpbmcuaHVh bmdAaW50ZWwuY29tPjsgMjFjbmJhb0BnbWFpbC5jb207IGFrcG1AbGludXgtDQo+ID4gZm91bmRh dGlvbi5vcmc7IFpvdSwgTmFuaGFpIDxuYW5oYWkuem91QGludGVsLmNvbT47IEZlZ2hhbGksIFdh amRpIEsNCj4gPiA8d2FqZGkuay5mZWdoYWxpQGludGVsLmNvbT47IEdvcGFsLCBWaW5vZGggPHZp bm9kaC5nb3BhbEBpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtQQVRDSCB2NCAwLzRdIG1t OiBaU1dBUCBzd2FwLW91dCBvZiBtVEhQIGZvbGlvcw0KPiA+DQo+ID4gT24gTW9uLCBBdWcgMjYs IDIwMjQgYXQgMTE6MDjigK9QTSBTcmlkaGFyLCBLYW5jaGFuYSBQDQo+ID4gPGthbmNoYW5hLnAu c3JpZGhhckBpbnRlbC5jb20+IHdyb3RlOg0KPiA+ID4NCj4gPiA+ID4gSW50ZXJuYWxseSwgd2Ug b2Z0ZW4gc2VlIDEtMyBvciAxLTQgc2F2aW5nIHJhdGlvIChvciBldmVuIG1vcmUpLg0KPiA+ID4N Cj4gPiA+IEFncmVlIHdpdGggdGhpcyBhcyB3ZWxsLiBJbiBvdXIgZXhwZXJpbWVudHMgd2l0aCBv dGhlciB3b3JrbG9hZHMsIHdlDQo+ID4gPiB0eXBpY2FsbHkgc2VlIG11Y2ggaGlnaGVyIHJhdGlv cy4NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IFByb2JhYmx5IGRvZXMgbm90IGV4cGxhaW4gZXZl cnl0aGluZywgYnV0IHdvcnRoIGRvdWJsZSBjaGVja2luZyAtDQo+ID4gPiA+IGNvdWxkIHlvdSBj aGVjayB3aXRoIHpzdGQgdG8gc2VlIGlmIHRoZSByYXRpbyBpbXByb3Zlcy4NCj4gPiA+DQo+ID4g PiBTdXJlLiBJIGdhdGhlcmVkIHJhdGlvIGFuZCBjb21wcmVzc2VkIG1lbW9yeSBmb290cHJpbnQg ZGF0YSB0b2RheSB3aXRoDQo+ID4gPiA2NEsgbVRIUCwgdGhlIDRHIFNTRCBzd2FwZmlsZSBhbmQg ZGlmZmVyZW50IHpzd2FwIGNvbXByZXNzb3JzLg0KPiA+ID4NCj4gPiA+ICBUaGlzIHBhdGNoLXNl cmllcyBhbmQgbm8genN3YXAgY2hhcmdpbmcsIDY0SyBtVEhQOg0KPiA+ID4gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQo+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgIFRvdGFsICAgICAgICAgVG90YWwg ICAgIEF2ZXJhZ2UgICAgICBBdmVyYWdlICAgQ29tcA0KPiA+ID4gICAgICAgICAgICAgICAgICAg Y29tcHJlc3NlZCAgIGNvbXByZXNzaW9uICBjb21wcmVzc2VkICBjb21wcmVzc2lvbiAgcmF0aW8N Cj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGggICAgICAgbGF0ZW5jeSAgICAgIGxl bmd0aCAgICAgIGxhdGVuY3kNCj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXMgIG1p bGxpc2Vjb25kcyAgICAgICBieXRlcyAgbmFub3NlY29uZHMNCj4gPiA+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiA+ID4gU1NEIChubyB6c3dhcCkgMSwzNjIsMjk2LDgzMiAgICAgICA4ODcsODYxDQo+ ID4gPiBsejQgICAgICAgICAgICAyLDYxMCw2NTcsNDMwICAgICAgICA1NSw5ODQgICAgICAgMiww NTUgICAgICA0NCwwNjUgICAgMS45OQ0KPiA+ID4genN0ZCAgICAgICAgICAgICA3MjksMTI5LDUy OCAgICAgICAgNTAsOTg2ICAgICAgICAgNTY1ICAgICAgMzksNTEwICAgIDcuMjUNCj4gPiA+IGRl ZmxhdGUtaWFhICAgIDEsMjg2LDUzMyw0MzggICAgICAgIDQ0LDc4NSAgICAgICAxLDQxNSAgICAg IDQ5LDI1MiAgICAyLjg5DQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+DQo+ID4gPiB6 c3RkIGRvZXMgdmVyeSB3ZWxsIG9uIHJhdGlvLCBhcyBleHBlY3RlZC4NCj4gPg0KPiA+IFdhaXQu IFNvIHpzdGQgaXMgZGlzcGxheWluZyA3LXRvLTEgY29tcHJlc3Npb24gcmF0aW8/IEFuZCBoYXMg Kmxvd2VyKg0KPiA+IGF2ZXJhZ2UgbGF0ZW5jeT8NCj4gPg0KPiA+IFdoeSBhcmUgd2UgcnVubmlu ZyBiZW5jaG1hcmsgb24gbHo0IGFnYWluPyBTdXJlIHRoZXJlIGlzIG5vIGZyZWUgbHVuY2gNCj4g PiBhbmQgbm8gY29tcHJlc3NvciB0aGF0IHdvcmtzIHdlbGwgb24gYWxsIGtpbmQgb2YgZGF0YSwg YnV0IGx6NCdzDQo+ID4gcGVyZm9ybWFuY2UgaGVyZSBpcyBzbyBiYWQgdGhhdCBpdCdzIGJvcmRl cmxpbmUganVzdGlmaWFibGUgdG8NCj4gPiBkaXNhYmxlL2J5cGFzcyB6c3dhcCB3aXRoIHRoaXMg a2luZCBvZiBjb21wcmVzaXNvbiByYXRpby4uLg0KPiA+DQo+ID4gQ2FuIEkgYXNrIHlvdSB0byBy dW4gYmVuY2htYXJraW5nIG9uIHpzdGQgZnJvbSBub3cgb24/DQo+IA0KPiBTdXJlLCB3aWxsIGRv Lg0KPiANCj4gPg0KPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gIEV4cGVyaW1lbnQgMyAtIDRLIGZvbGlvcyBzd2FwIGNoYXJhY3RlcmlzdGljcyBTU0QgdnMu IFpTV0FQOg0KPiA+ID4gPiA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICBJIHdhbnRlZCB0 byB0YWtlIGEgc3RlcCBiYWNrIGFuZCB1bmRlcnN0YW5kIGhvdyB0aGUgbWFpbmxpbmUgdjYuMTEt DQo+ID4gcmMzDQo+ID4gPiA+ID4gIGhhbmRsZXMgNEsgZm9saW9zIHdoZW4gc3dhcHBlZCBvdXQg dG8gU1NEIChDT05GSUdfWlNXQVAgaXMgb2ZmKQ0KPiBhbmQNCj4gPiA+ID4gd2hlbg0KPiA+ID4g PiA+ICBzd2FwcGVkIG91dCB0byBaU1dBUC4gSW50ZXJlc3RpbmdseSwgaGlnaGVyIHN3YXBvdXQg YWN0aXZpdHkgaXMNCj4gPiBvYnNlcnZlZA0KPiA+ID4gPiA+ICB3aXRoIDRLIGZvbGlvcyBhbmQg djYuMTEtcmMzICh3aXRoIHRoZSBkZWJ1ZyBjaGFuZ2UgdG8gbm90IGNoYXJnZQ0KPiA+IHpzd2Fw IHRvDQo+ID4gPiA+ID4gIGNncm91cCkuDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgdjYuMTEtcmMz IHdpdGggbm8genN3YXAgY2hhcmdlLCBvbmx5IDRLIGZvbGlvcywgbm8gKG0pVEhQOg0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gPiAgU1NEIChDT05GSUdfWlNXQVAgaXMgT0ZG KSAgICAgICBaU1dBUCAgICAgICAgICBsejQgICAgbHpvLXJsZQ0KPiA+ID4gPiA+ICAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ ID4gPiA+ID4gIGNncm91cCBtZW1vcnkuZXZlbnRzOiAgICAgICAgICAgY2dyb3VwIG1lbW9yeS5l dmVudHM6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgbG93ICAgICAgICAgICAgICAgICAwICAgICAg ICAgICBsb3cgICAgICAgICAgICAgIDAgICAgICAgICAgMA0KPiA+ID4gPiA+ICBoaWdoICAgICAg ICAgICAgNSwwNjggICAgICAgICAgIGhpZ2ggICAgICAgMzIxLDkyMyAgICAzNzUsMTE2DQo+ID4g PiA+ID4gIG1heCAgICAgICAgICAgICAgICAgMCAgICAgICAgICAgbWF4ICAgICAgICAgICAgICAw ICAgICAgICAgIDANCj4gPiA+ID4gPiAgb29tICAgICAgICAgICAgICAgICAwICAgICAgICAgICBv b20gICAgICAgICAgICAgIDAgICAgICAgICAgMA0KPiA+ID4gPiA+ICBvb21fa2lsbCAgICAgICAg ICAgIDAgICAgICAgICAgIG9vbV9raWxsICAgICAgICAgMCAgICAgICAgICAwDQo+ID4gPiA+ID4g IG9vbV9ncm91cF9raWxsICAgICAgMCAgICAgICAgICAgb29tX2dyb3VwX2tpbGwgICAwICAgICAg ICAgIDANCj4gPiA+ID4gPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIFNTRCAoQ09ORklH X1pTV0FQIGlzIE9GRik6DQo+ID4gPiA+ID4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ ID4gPiA+ID4gIHBzd3BvdXQgICAgICAgICAgICA0MTUsNzA5DQo+ID4gPiA+ID4gIHN5cyB0aW1l IChzZWMpICAgICAgMzAxLjAyDQo+ID4gPiA+ID4gIFRocm91Z2hwdXQgS0IvcyAgICAxNTUsOTcw DQo+ID4gPiA+ID4gIG1lbWNnX2hpZ2ggZXZlbnRzICAgIDUsMDY4DQo+ID4gPiA+ID4gIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICBa U1dBUCAgICAgICAgICAgICAgICAgIGx6NCAgICAgICAgIGx6NCAgICAgICAgIGx6NCAgICAgbHpv LXJsZQ0KPiA+ID4gPiA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICB6c3dwb3V0ICAgICAgICAgIDEsNTk4 LDU1MCAgIDEsNTE1LDE1MSAgIDEsNDQ5LDQzMiAgIDEsNDkzLDkxNw0KPiA+ID4gPiA+ICBzeXMg dGltZSAoc2VjKSAgICAgIDg4OS4zNiAgICAgIDQ4MS4yMSAgICAgIDU4MS4yMiAgICAgIDYzNS43 NQ0KPiA+ID4gPiA+ICBUaHJvdWdocHV0IEtCL3MgICAgIDM1LDE3NiAgICAgIDE0LDc2NSAgICAg IDIwLDI1MyAgICAgIDIxLDQwNw0KPiA+ID4gPiA+ICBtZW1jZ19oaWdoIGV2ZW50cyAgMzIxLDky MyAgICAgNDEyLDczMyAgICAgMzY5LDk3NiAgICAgMzc1LDExNg0KPiA+ID4gPiA+ICAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gIFRoaXMgc2hvd3MgdGhhdCB0aGVyZSBpcyBhIHBlcmZvcm1h bmNlIHJlZ3Jlc3Npb24gb2YgLTYwJSB0byAtMTk1JQ0KPiA+IHdpdGgNCj4gPiA+ID4gPiAgenN3 YXAgYXMgY29tcGFyZWQgdG8gU1NEIHdpdGggNEsgZm9saW9zLiBUaGUgaGlnaGVyIHN3YXBvdXQg YWN0aXZpdHkNCj4gPiB3aXRoDQo+ID4gPiA+ID4gIHpzd2FwIGlzIHNlZW4gaGVyZSB0b28gKGku ZS4sIHRoaXMgZG9lc24ndCBhcHBlYXIgdG8gYmUgbVRIUC1zcGVjaWZpYykuDQo+ID4gPiA+ID4N Cj4gPiA+ID4gPiAgSSB2ZXJpZmllZCB0aGlzIHRvIGJlIHRoZSBjYXNlIGV2ZW4gd2l0aCB0aGUg djYuNyBrZXJuZWwsIHdoaWNoIGFsc28NCj4gPiA+ID4gPiAgc2hvd2VkIGEgMi4zWCB0aHJvdWdo cHV0IGltcHJvdmVtZW50IHdoZW4gd2UgZG9uJ3QgY2hhcmdlDQo+IHpzd2FwOg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gIFpTV0FQIGx6NCAgICAgICAgICAgICAgICAgdjYuNyAgICAgIHY2Ljcgd2l0 aCBubyBjZ3JvdXAgenN3YXAgY2hhcmdlDQo+ID4gPiA+ID4gIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ ID4gIHpzd3BvdXQgICAgICAgICAgICAgIDEsNDE5LDgwMiAgICAgICAxLDM5OCw2MjANCj4gPiA+ ID4gPiAgc3lzIHRpbWUgKHNlYykgICAgICAgICAgIDUzNS40ICAgICAgICAgIDYxMy40MQ0KPiA+ ID4gPg0KPiA+ID4gPiBzeXN0aW1lIGluY3JlYXNlcyB3aXRob3V0IHpzd2FwIGNncm91cCBjaGFy Z2luZz8gVGhhdCdzIHN0cmFuZ2UuLi4NCj4gPiA+DQo+ID4gPiBBZGRpdGlvbmFsIGRhdGEgZ2F0 aGVyZWQgd2l0aCB2Ni4xMS1yYzMgKGxpc3RlZCBiZWxvdykgYmFzZWQgb24geW91cg0KPiA+IHN1 Z2dlc3Rpb24NCj4gPiA+IHRvIGludmVzdGlnYXRlIHBvdGVudGlhbCBzd2FwLmhpZ2ggYnJlYWNo ZXMgc2hvdWxkIGhvcGVmdWxseSBwcm92aWRlDQo+IHNvbWUNCj4gPiA+IGV4cGxhbmF0aW9uLg0K PiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPiAgVGhyb3VnaHB1dCBLQi9zICAgICAgICAgIDgsNjcx ICAgICAgICAgIDIwLDA0NQ0KPiA+ID4gPiA+ICBtZW1jZ19oaWdoIGV2ZW50cyAgICAgIDU3NCww NDYgICAgICAgICA0NTEsODU5DQo+ID4gPiA+DQo+ID4gPiA+IFNvLCBvbiA0ayBmb2xpbyBzZXR1 cCwgZXZlbiB3aXRob3V0IGNncm91cCBjaGFyZ2UsIHdlIGFyZSBzdGlsbCBzZWVpbmc6DQo+ID4g PiA+DQo+ID4gPiA+IDEuIE1vcmUgenN3cG91dCAodGhhbiBvYnNlcnZlZCBpbiBTU0QpDQo+ID4g PiA+IDIuIDQwLTUwJSB3b3JzZSBsYXRlbmN5IC0gaW4gZmFjdCBpdCBpcyB3b3JzZSB3aXRob3V0 IHpzd2FwIGNncm91cA0KPiA+IGNoYXJnaW5nLg0KPiA+ID4gPiAzLiAxMDAgdGltZXMgdGhlIGFt b3VudCBvZiBtZW1jZ19oaWdoIGV2ZW50cz8gVGhpcyBpcyBwZXJoYXBzIHRoZQ0KPiA+ID4gPiAq c3RyYW5nZXN0KiB0byBtZS4gWW91J3JlIGFscmVhZHkgcmVtb3ZpbmcgenN3YXAgY2dyb3VwIGNo YXJnaW5nLA0KPiB0aGVuDQo+ID4gPiA+IHdoZXJlIGRvZXMgdGhpcyBjb21lcyBmcm9tPyBIb3cg Y2FuIHdlIGhhdmUgbWVtb3J5LmhpZ2ggdmlvbGF0aW9uDQo+ID4gd2hlbg0KPiA+ID4gPiB6c3dh cCBkb2VzICpub3QqIGNvbnRyaWJ1dGUgdG8gbWVtb3J5IHVzYWdlPw0KPiA+ID4gPg0KPiA+ID4g PiBJcyB0aGlzIGR1ZSB0byBzd2FwIGxpbWl0IGNoYXJnaW5nPyBEbyB5b3UgaGF2ZSBhIGNncm91 cCBzd2FwIGxpbWl0Pw0KPiA+ID4gPg0KPiA+ID4gPiBtZW1faGlnaCA9IHBhZ2VfY291bnRlcl9y ZWFkKCZtZW1jZy0+bWVtb3J5KSA+DQo+ID4gPiA+ICAgICAgICAgICAgUkVBRF9PTkNFKG1lbWNn LT5tZW1vcnkuaGlnaCk7DQo+ID4gPiA+IHN3YXBfaGlnaCA9IHBhZ2VfY291bnRlcl9yZWFkKCZt ZW1jZy0+c3dhcCkgPg0KPiA+ID4gPiAgICAgICAgICAgIFJFQURfT05DRShtZW1jZy0+c3dhcC5o aWdoKTsNCj4gPiA+ID4gWy4uLl0NCj4gPiA+ID4NCj4gPiA+ID4gaWYgKG1lbV9oaWdoIHx8IHN3 YXBfaGlnaCkgew0KPiA+ID4gPiAgICAgLyoNCj4gPiA+ID4gICAgICogVGhlIGFsbG9jYXRpbmcg dGFza3MgaW4gdGhpcyBjZ3JvdXAgd2lsbCBuZWVkIHRvIGRvDQo+ID4gPiA+ICAgICAqIHJlY2xh aW0gb3IgYmUgdGhyb3R0bGVkIHRvIHByZXZlbnQgZnVydGhlciBncm93dGgNCj4gPiA+ID4gICAg ICogb2YgdGhlIG1lbW9yeSBvciBzd2FwIGZvb3RwcmludHMuDQo+ID4gPiA+ICAgICAqDQo+ID4g PiA+ICAgICAqIFRhcmdldCBzb21lIGJlc3QtZWZmb3J0IGZhaXJuZXNzIGJldHdlZW4gdGhlIHRh c2tzLA0KPiA+ID4gPiAgICAgKiBhbmQgZGlzdHJpYnV0ZSByZWNsYWltIHdvcmsgYW5kIGRlbGF5 IHBlbmFsdGllcw0KPiA+ID4gPiAgICAgKiBiYXNlZCBvbiBob3cgbXVjaCBlYWNoIHRhc2sgaXMg YWN0dWFsbHkgYWxsb2NhdGluZy4NCj4gPiA+ID4gICAgICovDQo+ID4gPiA+ICAgICBjdXJyZW50 LT5tZW1jZ19ucl9wYWdlc19vdmVyX2hpZ2ggKz0gYmF0Y2g7DQo+ID4gPiA+ICAgICBzZXRfbm90 aWZ5X3Jlc3VtZShjdXJyZW50KTsNCj4gPiA+ID4gICAgIGJyZWFrOw0KPiA+ID4gPiB9DQo+ID4g PiA+DQo+ID4gPg0KPiA+ID4gSSBkb24ndCBoYXZlIGEgc3dhcC5oaWdoIGxpbWl0IHNldCBvbiB0 aGUgY2dyb3VwOyBpdCBpcyBzZXQgdG8gIm1heCIuDQo+ID4gPg0KPiA+ID4gSSByYW4gZXhwZXJp bWVudHMgd2l0aCB2Ni4xMS1yYzMsIG5vIHpzd2FwIGNoYXJnaW5nLCA0SyBmb2xpb3MgYW5kDQo+ IGRpZmZlcmVudA0KPiA+ID4genN3YXAgY29tcHJlc3NvcnMgdG8gdmVyaWZ5IGlmIHN3YXAuaGln aCBpcyBicmVhY2hlZCB3aXRoIHRoZSA0RyBTU0QNCj4gPiBzd2FwZmlsZS4NCj4gPiA+DQo+ID4g PiAgU1NEIChDT05GSUdfWlNXQVAgaXMgT0ZGKToNCj4gPiA+DQo+ID4gPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNTRCAgICAgICAgICBTU0QgICAgICAgICAgU1NEDQo+ID4gPiAg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+ID4gPiAgcHN3cG91dCAgICAgICAgICAgICAgICAgICAgNDE1LDcwOSAgICAxLDAzMiwx NzAgICAgICA2MzYsNTgyDQo+ID4gPiAgc3lzIHRpbWUgKHNlYykgICAgICAgICAgICAgIDMwMS4w MiAgICAgICAzMjguMTUgICAgICAgMzA2Ljk4DQo+ID4gPiAgVGhyb3VnaHB1dCBLQi9zICAgICAg ICAgICAgMTU1LDk3MCAgICAgICA4OSw2MjEgICAgICAxMjIsMjE5DQo+ID4gPiAgbWVtY2dfaGln aCBldmVudHMgICAgICAgICAgICA1LDA2OCAgICAgICAxNSwwNzIgICAgICAgIDgsMzQ0DQo+ID4g PiAgbWVtY2dfc3dhcF9oaWdoIGV2ZW50cyAgICAgICAgICAgMCAgICAgICAgICAgIDAgICAgICAg ICAgICAwDQo+ID4gPiAgbWVtY2dfc3dhcF9mYWlsIGV2ZW50cyAgICAgICAgICAgMCAgICAgICAg ICAgIDAgICAgICAgICAgICAwDQo+ID4gPiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPg0KPiA+ID4gIFpTV0FQICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHpzdGQgICAgICAgICB6c3RkICAgICAgIHpzdGQNCj4g PiA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ID4gPiAgenN3cG91dCAgICAgICAgICAgICAgICAgICAgICAgIDEsMzkx LDUyNCAgICAxLDM4Miw5NjUgIDEsNDE3LDMwNw0KPiA+ID4gIHN5cyB0aW1lIChzZWMpICAgICAg ICAgICAgICAgICAgICA0NzQuNjggICAgICAgNTY4LjI0ICAgICA0ODkuODANCj4gPiA+ICBUaHJv dWdocHV0IEtCL3MgICAgICAgICAgICAgICAgICAgMjYsMDk5ICAgICAgIDIzLDQwNCAgICAxMTEs MTE1DQo+ID4gPiAgbWVtY2dfaGlnaCBldmVudHMgICAgICAgICAgICAgICAgMzM1LDExMiAgICAg IDM0MCwzMzUgICAgMTYyLDI2MA0KPiA+ID4gIG1lbWNnX3N3YXBfaGlnaCBldmVudHMgICAgICAg ICAgICAgICAgIDAgICAgICAgICAgICAwICAgICAgICAgIDANCj4gPiA+ICBtZW1jZ19zd2FwX2Zh aWwgZXZlbnRzICAgICAgICAgMSwyMjYsODk5ICAgIDUsNzQyLDE1Mw0KPiA+ID4gICAobWVtX2Nn cm91cF90cnlfY2hhcmdlX3N3YXApDQo+ID4gPiAgbWVtY2dfbWVtb3J5X3N0YXRfcGdhY3RpdmF0 ZSAgIDEsMjU5LDU0Nw0KPiA+ID4gICAoc2hyaW5rX2ZvbGlvX2xpc3QpDQo+ID4gPiAgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiA+ID4NCj4gPiA+ICBaU1dBUCAgICAgICAgICAgICAgICAgICAgICBsem8tcmxlICAgICAg bHpvLXJsZSAgICAgbHpvLXJsZQ0KPiA+ID4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAgenN3cG91dCAgICAgICAgICAg ICAgICAgIDEsNDkzLDkxNyAgICAxLDM2MywwNDAgICAxLDQyOCwxMzMNCj4gPiA+ICBzeXMgdGlt ZSAoc2VjKSAgICAgICAgICAgICAgNjM1Ljc1ICAgICAgIDQ5OC42MyAgICAgIDQ4NC42NQ0KPiA+ ID4gIFRocm91Z2hwdXQgS0IvcyAgICAgICAgICAgICAyMSw0MDcgICAgICAgMjMsODI3ICAgICAg MjAsMjM3DQo+ID4gPiAgbWVtY2dfaGlnaCBldmVudHMgICAgICAgICAgMzc1LDExNiAgICAgIDM1 Miw4MTQgICAgIDM3Myw2NjcNCj4gPiA+ICBtZW1jZ19zd2FwX2hpZ2ggZXZlbnRzICAgICAgICAg ICAwICAgICAgICAgICAgMCAgICAgICAgICAgMA0KPiA+ID4gIG1lbWNnX3N3YXBfZmFpbCBldmVu dHMgICAgIDcxNSwyMTENCj4gPiA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4NCj4gPiA+ICBaU1dBUCAgICAgICAgICAg ICAgICAgICAgICAgICBsejQgICAgICAgICBsejQgICAgICAgIGx6NCAgICAgICAgICBsejQNCj4g PiA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ICB6c3dwb3V0ICAgICAgICAgICAgICAgICAxLDM3OCw3 ODEgICAxLDU5OCw1NTAgICAxLDUxNSwxNTEgICAxLDQ0OSw0MzINCj4gPiA+ICBzeXMgdGltZSAo c2VjKSAgICAgICAgICAgICA0OTUuNDUgICAgICA4ODkuMzYgICAgICA0ODEuMjEgICAgICA1ODEu MjINCj4gPiA+ICBUaHJvdWdocHV0IEtCL3MgICAgICAgICAgICAyNiwyNDggICAgICAzNSwxNzYg ICAgICAxNCw3NjUgICAgICAyMCwyNTMNCj4gPiA+ICBtZW1jZ19oaWdoIGV2ZW50cyAgICAgICAg IDM0NywyMDkgICAgIDMyMSw5MjMgICAgIDQxMiw3MzMgICAgIDM2OSw5NzYNCj4gPiA+ICBtZW1j Z19zd2FwX2hpZ2ggZXZlbnRzICAgICAgICAgIDAgICAgICAgICAgIDAgICAgICAgICAgIDAgICAg ICAgICAgIDANCj4gPiA+ICBtZW1jZ19zd2FwX2ZhaWwgZXZlbnRzICAgIDU4MCwxMDMgICAgICAg ICAgIDANCj4gPiA+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+DQo+ID4gPiAgWlNXQVAgICAgICAgICAg ICAgICAgICBkZWZsYXRlLWlhYSAgIGRlZmxhdGUtaWFhICAgIGRlZmxhdGUtaWFhDQo+ID4gPiAg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiA+ID4gIHpzd3BvdXQgICAgICAgICAgICAgICAgICAgIDM4MCw0NzEgICAgIDEs NDQwLDkwMiAgICAgIDEsMzk3LDk2NQ0KPiA+ID4gIHN5cyB0aW1lIChzZWMpICAgICAgICAgICAg ICAzMjkuMDYgICAgICAgIDU3MC43NyAgICAgICAgIDQ2Ny40MQ0KPiA+ID4gIFRocm91Z2hwdXQg S0IvcyAgICAgICAgICAgIDI4Myw4NjcgICAgICAgIDI4LDQwMyAgICAgICAgMTkwLDYwMA0KPiA+ ID4gIG1lbWNnX2hpZ2ggZXZlbnRzICAgICAgICAgICAgNSw1NTEgICAgICAgNDIyLDgzMSAgICAg ICAgIDI4LDE1NA0KPiA+ID4gIG1lbWNnX3N3YXBfaGlnaCBldmVudHMgICAgICAgICAgIDAgICAg ICAgICAgICAgMCAgICAgICAgICAgICAgMA0KPiA+ID4gIG1lbWNnX3N3YXBfZmFpbCBldmVudHMg ICAgICAgICAgIDAgICAgIDIsNjg2LDc1OCAgICAgICAgNDM4LDU2Mg0KPiA+ID4gIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gPg0KPiA+IFdoeSBhcmUgdGhlcmUgMyBjb2x1bW5zIGZvciBlYWNoIG9mIHRoZSBjb21wcmVz c29ycz8gSXMgdGhpcyBkaWZmZXJlbnQNCj4gPiBydW5zIG9mIHRoZSBzYW1lIHdvcmtsb2FkPw0K PiA+DQo+ID4gQW5kIHdoeSBkbyBzb21lIGNvbHVtbnMgaGF2ZSBtaXNzaW5nIGNlbGxzPw0KPiAN Cj4gWWVzLCB0aGVzZSBhcmUgZGlmZmVyZW50IHJ1bnMgb2YgdGhlIHNhbWUgd29ya2xvYWQuIFNp bmNlIHRoZXJlIGlzIHNvbWUNCj4gYW1vdW50IG9mIHZhcmlhbmNlIHNlZW4gaW4gdGhlIGRhdGEs IEkgZmlndXJlZCBpdCBpcyBiZXN0IHRvIHB1Ymxpc2ggdGhlDQo+IG1ldHJpY3MgZnJvbSB0aGUg aW5kaXZpZHVhbCBydW5zIHJhdGhlciB0aGFuIGF2ZXJhZ2luZy4NCj4gDQo+IFNvbWUgb2YgdGhl c2UgcnVucyB3ZXJlIGdhdGhlcmVkIGVhcmxpZXIgd2l0aCB0aGUgc2FtZSBjb2RlIGJhc2UsDQo+ IGhvd2V2ZXIsIEkgd2Fzbid0IG1vbml0b3JpbmcvbG9nZ2luZyB0aGUNCj4gbWVtY2dfc3dhcF9o aWdoL21lbWNnX3N3YXBfZmFpbA0KPiBldmVudHMgYXQgdGhhdCB0aW1lLiBGb3IgdGhvc2UgcnVu cywganVzdCB0aGVzZSB0d28gY291bnRlcnMgaGF2ZSBtaXNzaW5nDQo+IGNvbHVtbiBlbnRyaWVz OyB0aGUgcmVzdCBvZiB0aGUgZGF0YSBpcyBzdGlsbCB2YWxpZC4NCj4gDQo+ID4NCj4gPiA+DQo+ ID4gPiBUaGVyZSBhcmUgbm8gc3dhcC5oaWdoIG1lbWNnIGV2ZW50cyByZWNvcmRlZCBpbiBhbnkg b2YgdGhlIFNTRC96c3dhcA0KPiA+ID4gIGV4cGVyaW1lbnRzLiBIb3dldmVyLCBJIGRvIHNlZSBz aWduaWZpY2FudCBudW1iZXIgb2YgbWVtY2dfc3dhcF9mYWlsDQo+ID4gPiAgZXZlbnRzIGluIHNv bWUgb2YgdGhlIHpzd2FwIHJ1bnMsIGZvciBhbGwgMyBjb21wcmVzc29ycy4gVGhpcyBpcyBub3QN Cj4gPiA+ICBjb25zaXN0ZW50LCBiZWNhdXNlIHRoZXJlIGFyZSBzb21lIHJ1bnMgd2l0aCAwIG1l bWNnX3N3YXBfZmFpbCBmb3IgYWxsDQo+ID4gPiAgY29tcHJlc3NvcnMuDQo+ID4gPg0KPiA+ID4g IFRoZXJlIGlzIGEgcG9zc2libGUgY28tcmVsYXRpb24gYmV0d2VlbiBtZW1jZ19zd2FwX2ZhaWwg ZXZlbnRzDQo+ID4gPiAgKC9zeXMvZnMvY2dyb3VwL3Rlc3QvbWVtb3J5LnN3YXAuZXZlbnRzKSBh bmQgdGhlIGhpZ2ggIyBvZg0KPiBtZW1jZ19oaWdoDQo+ID4gPiAgZXZlbnRzLiBUaGUgcm9vdC1j YXVzZSBhcHBlYXJzIHRvIGJlIHRoYXQgdGhlcmUgYXJlIG5vIGF2YWlsYWJsZSBzd2FwDQo+ID4g PiAgc2xvdHMsIG1lbWNnX3N3YXBfZmFpbCBpcyBpbmNyZW1lbnRlZCwgYWRkX3RvX3N3YXAoKSBm YWlscyBpbg0KPiA+ID4gIHNocmlua19mb2xpb19saXN0KCksIGZvbGxvd2VkIGJ5ICJhY3RpdmF0 ZV9sb2NrZWQ6IiBmb3IgdGhlIGZvbGlvLg0KPiA+ID4gIFRoZSBmb2xpbyByZS1hY3RpdmF0aW9u IGlzIHJlY29yZGVkIGluIGNncm91cCBtZW1vcnkuc3RhdCBwZ2FjdGl2YXRlDQo+ID4gPiAgZXZl bnRzLiBUaGUgZmFpbHVyZSB0byBzd2FwIG91dCBmb2xpb3MgZHVlIHRvIGxhY2sgb2Ygc3dhcCBz bG90cyBjb3VsZA0KPiA+ID4gIGNvbnRyaWJ1dGUgdG93YXJkcyBtZW1vcnkuaGlnaCBicmVhY2hl cy4NCj4gPg0KPiA+IFllYWggRldJVywgdGhhdCB3YXMgZ29ubmEgYmUgbXkgZmlyc3Qgc3VnZ2Vz dGlvbi4gVGhpcyBzd2FwZmlsZSBzaXplDQo+ID4gaXMgd2F5eXl5IHRvbyBzbWFsbC4uLg0KPiA+ DQo+ID4gQnV0IHRoYXQgc2FpZCwgdGhlIGxpbmsgaXMgbm90IGNsZWFyIHRvIG1lIGF0IGFsbC4g VGhlIG9ubHkgdGhpbmcgSQ0KPiA+IGNhbiB0aGluayBvZiBpcyBsejQncyBwZXJmb3JtYW5jZSBz dWNrcyBzbyBiYWQgdGhhdCBpdCdzIG5vdCBzYXZpbmcNCj4gPiBlbm91Z2ggbWVtb3J5LCBsZWFk aW5nIHRvIHJlZ3Jlc3Npb24uIEFuZCBzaW5jZSBpdCdzIHN0aWxsIHRha2luZyB1cA0KPiA+IHN3 YXAgc2xvdCwgd2UgY2Fubm90IHVzZSBzd2FwIGVpdGhlcj8NCj4gDQo+IFRoZSBvY2N1cnJlbmNl IG9mIG1lbWNnX3N3YXBfZmFpbCBldmVudHMgZXN0YWJsaXNoZXMgdGhhdCBzd2FwIHNsb3RzDQo+ IGFyZSBub3QgYXZhaWxhYmxlIHdpdGggNEcgb2Ygc3dhcCBzcGFjZS4gVGhpcyBjYXVzZXMgdGhv c2UgNEsgZm9saW9zIHRvDQo+IHJlbWFpbiBpbiBtZW1vcnksIHdoaWNoIGNhbiB3b3JzZW4gYW4g ZXhpc3RpbmcgcHJvYmxlbSB3aXRoIG1lbW9yeS5oaWdoDQo+IGJyZWFjaGVzLg0KPiANCj4gSG93 ZXZlciwgaXQgaXMgd29ydGggbm90aW5nIHRoYXQgdGhpcyBpcyBub3QgdGhlIG9ubHkgY29udHJp YnV0b3IgdG8NCj4gbWVtY2dfaGlnaCBldmVudHMgdGhhdCBzdGlsbCBvY2N1ciB3aXRob3V0IHpz d2FwIGNoYXJnaW5nLiBUaGUgZGF0YSBzaG93cw0KPiAzMjEsOTIzIG9jY3VycmVuY2VzIG9mIG1l bWNnX2hpZ2ggaW4gQ29sIDIgb2YgdGhlIGx6NCB0YWJsZSwgdGhhdCBhbHNvIGhhcw0KPiAwIG9j Y3VycmVuY2VzIG9mIG1lbWNnX3N3YXBfZmFpbCByZXBvcnRlZCBpbiB0aGUgY2dyb3VwIHN0YXRz Lg0KPiANCj4gPg0KPiA+ID4NCj4gPiA+ICBIb3dldmVyLCB0aGlzIGlzIHByb2JhYmx5IG5vdCB0 aGUgb25seSBjYXVzZSBmb3IgZWl0aGVyIHRoZSBoaWdoICMgb2YNCj4gPiA+ICBtZW1vcnkuaGln aCBicmVhY2hlcyBvciB0aGUgb3Zlci1yZWNsYWltIHdpdGggenN3YXAsIGFzIHNlZW4gaW4gdGhl IGx6NA0KPiA+ID4gIGRhdGEgd2hlcmUgdGhlIG1lbW9yeS5oaWdoIGlzIHNpZ25pZmljYW50IGV2 ZW4gaW4gY2FzZXMgd2hlcmUgdGhlcmUgYXJlDQo+IG5vDQo+ID4gPiAgbWVtY2dfc3dhcF9mYWls cy4NCj4gPiA+DQo+ID4gPiBTb21lIG9ic2VydmF0aW9ucy9xdWVzdGlvbnMgYmFzZWQgb24gdGhl IGFib3ZlIDRLIGZvbGlvcyBzd2Fwb3V0IGRhdGE6DQo+ID4gPg0KPiA+ID4gMSkgVGhlcmUgYXJl IG1vcmUgbWVtY2dfaGlnaCBldmVudHMgYXMgdGhlIHN3YXBvdXQgbGF0ZW5jeSByZWR1Y2VzDQo+ ID4gPiAgICAoaS5lLiBmYXN0ZXIgc3dhcC13cml0ZSBwYXRoKS4gVGhpcyBpcyBldmVuIHdpdGhv dXQgY2hhcmdpbmcgenN3YXANCj4gPiA+ICAgIHV0aWxpemF0aW9uIHRvIHRoZSBjZ3JvdXAuDQo+ ID4NCj4gPiBUaGlzIGlzIHN0aWxsIGluZXhwbGljYWJsZSB0byBtZS4gSWYgd2UgYXJlIG5vdCBj aGFyZ2luZyB6c3dhcCB1c2FnZSwNCj4gPiB3ZSBzaG91bGRuJ3QgZXZlbiBiZSB0cmlnZ2VyaW5n IHRoZSByZWNsYWltX2hpZ2goKSBwYXRoLCBubz8NCj4gPg0KPiA+IEknbSBjdXJpb3VzIC0gY2Fu IHlvdSB1c2UgYnBmdHJhY2UgdG8gdHJhY2tzIHdoZXJlL3doZW4gcmVjbGFpbV9oaWdoDQo+ID4g aXMgYmVpbmcgY2FsbGVkPw0KDQpIaSBOaGF0LA0KDQpTaW5jZSByZWNsYWltX2hpZ2goKSBpcyBj YWxsZWQgb25seSBpbiBhIGhhbmRmdWwgb2YgcGxhY2VzLCBJIGZpZ3VyZWQgSQ0Kd291bGQganVz dCB1c2UgZGVidWdmcyB1NjQgY291bnRlcnMgdG8gcmVjb3JkIHdoZXJlIGl0IGdldHMgY2FsbGVk IGZyb20uDQoNClRoZXNlIGFyZSB0aGUgcGxhY2VzIHdoZXJlIEkgaW5jcmVtZW50IHRoZSBkZWJ1 Z2ZzIGNvdW50ZXJzOg0KDQppbmNsdWRlL2xpbnV4L3Jlc3VtZV91c2VyX21vZGUuaDoNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgv cmVzdW1lX3VzZXJfbW9kZS5oIGIvaW5jbHVkZS9saW51eC9yZXN1bWVfdXNlcl9tb2RlLmgNCmlu ZGV4IGUwMTM1ZTBhZGFlMC4uMzgyZjU0NjllOWEyIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9saW51 eC9yZXN1bWVfdXNlcl9tb2RlLmgNCisrKyBiL2luY2x1ZGUvbGludXgvcmVzdW1lX3VzZXJfbW9k ZS5oDQpAQCAtMjQsNiArMjQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgc2V0X25vdGlmeV9yZXN1 bWUoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQ0KIAkJa2lja19wcm9jZXNzKHRhc2spOw0KIH0N CiANCitleHRlcm4gdTY0IGhvaF91c2VybGFuZDsNCiANCiAvKioNCiAgKiByZXN1bWVfdXNlcl9t b2RlX3dvcmsgLSBQZXJmb3JtIHdvcmsgYmVmb3JlIHJldHVybmluZyB0byB1c2VyIG1vZGUNCkBA IC01Niw2ICs1Nyw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCByZXN1bWVfdXNlcl9tb2RlX3dvcmso c3RydWN0IHB0X3JlZ3MgKnJlZ3MpDQogCX0NCiAjZW5kaWYNCiANCisJKytob2hfdXNlcmxhbmQ7 DQogCW1lbV9jZ3JvdXBfaGFuZGxlX292ZXJfaGlnaChHRlBfS0VSTkVMKTsNCiAJYmxrY2dfbWF5 YmVfdGhyb3R0bGVfY3VycmVudCgpOw0KIA0KDQptbS9tZW1jb250cm9sLmM6DQotLS0tLS0tLS0t LS0tLS0tDQpkaWZmIC0tZ2l0IGEvbW0vbWVtY29udHJvbC5jIGIvbW0vbWVtY29udHJvbC5jDQpp bmRleCBmMjkxNTcyODhiN2QuLjY3MzhiYjY3MGE3OCAxMDA2NDQNCi0tLSBhL21tL21lbWNvbnRy b2wuYw0KKysrIGIvbW0vbWVtY29udHJvbC5jDQpAQCAtMTkxMCw5ICsxOTEwLDEyIEBAIHN0YXRp YyB1bnNpZ25lZCBsb25nIHJlY2xhaW1faGlnaChzdHJ1Y3QgbWVtX2Nncm91cCAqbWVtY2csDQog CXJldHVybiBucl9yZWNsYWltZWQ7DQogfQ0KIA0KK2V4dGVybiB1NjQgcmVjX2hpZ2hfaHdmOw0K Kw0KIHN0YXRpYyB2b2lkIGhpZ2hfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykN CiB7DQogCXN0cnVjdCBtZW1fY2dyb3VwICptZW1jZzsNCisJKytyZWNfaGlnaF9od2Y7DQogDQog CW1lbWNnID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBtZW1fY2dyb3VwLCBoaWdoX3dvcmsp Ow0KIAlyZWNsYWltX2hpZ2gobWVtY2csIE1FTUNHX0NIQVJHRV9CQVRDSCwgR0ZQX0tFUk5FTCk7 DQpAQCAtMjA1NSw2ICsyMDU4LDggQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgY2FsY3VsYXRlX2hp Z2hfZGVsYXkoc3RydWN0IG1lbV9jZ3JvdXAgKm1lbWNnLA0KIAlyZXR1cm4gcGVuYWx0eV9qaWZm aWVzICogbnJfcGFnZXMgLyBNRU1DR19DSEFSR0VfQkFUQ0g7DQogfQ0KIA0KK2V4dGVybiB1NjQg cmVjX2hpZ2hfaG9oOw0KKw0KIC8qDQogICogUmVjbGFpbXMgbWVtb3J5IG92ZXIgdGhlIGhpZ2gg bGltaXQuIENhbGxlZCBkaXJlY3RseSBmcm9tDQogICogdHJ5X2NoYXJnZSgpIChjb250ZXh0IHBl cm1pdHRpbmcpLCBhcyB3ZWxsIGFzIGZyb20gdGhlIHVzZXJsYW5kDQpAQCAtMjA5Nyw2ICsyMTAy LDcgQEAgdm9pZCBtZW1fY2dyb3VwX2hhbmRsZV9vdmVyX2hpZ2goZ2ZwX3QgZ2ZwX21hc2spDQog CSAqIG1lbW9yeS5oaWdoIGlzIGN1cnJlbnRseSBiYXRjaGVkLCB3aGVyZWFzIG1lbW9yeS5tYXgg YW5kIHRoZSBwYWdlDQogCSAqIGFsbG9jYXRvciBydW4gZXZlcnkgdGltZSBhbiBhbGxvY2F0aW9u IGlzIG1hZGUuDQogCSAqLw0KKwkrK3JlY19oaWdoX2hvaDsNCiAJbnJfcmVjbGFpbWVkID0gcmVj bGFpbV9oaWdoKG1lbWNnLA0KIAkJCQkgICAgaW5fcmV0cnkgPyBTV0FQX0NMVVNURVJfTUFYIDog bnJfcGFnZXMsDQogCQkJCSAgICBnZnBfbWFzayk7DQpAQCAtMjE1Myw2ICsyMTU5LDggQEAgdm9p ZCBtZW1fY2dyb3VwX2hhbmRsZV9vdmVyX2hpZ2goZ2ZwX3QgZ2ZwX21hc2spDQogCWNzc19wdXQo Jm1lbWNnLT5jc3MpOw0KIH0NCiANCitleHRlcm4gdTY0IGhvaF90cnljaGFyZ2U7DQorDQogaW50 IHRyeV9jaGFyZ2VfbWVtY2coc3RydWN0IG1lbV9jZ3JvdXAgKm1lbWNnLCBnZnBfdCBnZnBfbWFz aywNCiAJCSAgICAgdW5zaWduZWQgaW50IG5yX3BhZ2VzKQ0KIHsNCkBAIC0yMzQ0LDggKzIzNTIs MTAgQEAgaW50IHRyeV9jaGFyZ2VfbWVtY2coc3RydWN0IG1lbV9jZ3JvdXAgKm1lbWNnLCBnZnBf dCBnZnBfbWFzaywNCiAJICovDQogCWlmIChjdXJyZW50LT5tZW1jZ19ucl9wYWdlc19vdmVyX2hp Z2ggPiBNRU1DR19DSEFSR0VfQkFUQ0ggJiYNCiAJICAgICEoY3VycmVudC0+ZmxhZ3MgJiBQRl9N RU1BTExPQykgJiYNCi0JICAgIGdmcGZsYWdzX2FsbG93X2Jsb2NraW5nKGdmcF9tYXNrKSkNCisJ ICAgIGdmcGZsYWdzX2FsbG93X2Jsb2NraW5nKGdmcF9tYXNrKSkgew0KKwkJKytob2hfdHJ5Y2hh cmdlOw0KIAkJbWVtX2Nncm91cF9oYW5kbGVfb3Zlcl9oaWdoKGdmcF9tYXNrKTsNCisJfQ0KIAly ZXR1cm4gMDsNCiB9DQogDQoNCkkgcmV2ZXJ0ZWQgbXkgZGVidWcgY2hhbmdlcyBmb3IgInpzd2Fw IHRvIG5vdCBjaGFyZ2UgY2dyb3VwIiB3aGVuIEkgcmFuDQp0aGVzZSBuZXh0IHNldCBvZiBleHBl cmltZW50cyB0aGF0IHJlY29yZCB0aGUgIyBvZiB0aW1lcyBhbmQgbG9jYXRpb25zDQp3aGVyZSBy ZWNsYWltX2hpZ2goKSBpcyBjYWxsZWQuDQoNCnpzdGQgaXMgdGhlIGNvbXByZXNzb3IgSSBoYXZl IGNvbmZpZ3VyZWQgZm9yIGJvdGggWlNXQVAgYW5kIFpSQU0uDQoNCiA2LjExLXJjMyBtYWlubGlu ZSwgMTc2R2kgWlJBTSBiYWNraW5nIGZvciBaU1dBUCwgenN0ZCwgNjRLIG1USFA6DQogLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KIC9zeXMvZnMvY2dyb3VwL2lheC9tZW1vcnkuZXZlbnRzOg0KIGhpZ2ggMTEyLDkxMA0KDQog aG9oX3VzZXJsYW5kIDEyOCw4MzUNCiBob2hfdHJ5Y2hhcmdlIDANCiByZWNfaGlnaF9ob2ggMTEz LDA3OQ0KIHJlY19oaWdoX2h3ZiAwDQoNCiA2LjExLXJjMyBtYWlubGluZSwgNEcgU1NEIGJhY2tp bmcgZm9yIFpTV0FQLCB6c3RkLCA2NEsgbVRIUDoNCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAvc3lzL2ZzL2Nncm91cC9pYXgv bWVtb3J5LmV2ZW50czoNCiBoaWdoIDQsNjkzDQogDQogaG9oX3VzZXJsYW5kIDE0LDA2OQ0KIGhv aF90cnljaGFyZ2UgMA0KIHJlY19oaWdoX2hvaCA0LDY5NA0KIHJlY19oaWdoX2h3ZiAwDQoNCg0K IFpTV0FQLW1USFAsIDE3NkdpIFpSQU0gYmFja2luZyBmb3IgWlNXQVAsIHpzdGQsIDY0SyBtVEhQ Og0KIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KIC9zeXMvZnMvY2dyb3VwL2lheC9tZW1vcnkuZXZlbnRzOg0KIGhpZ2ggMTM5LDQ5NQ0K IA0KIGhvaF91c2VybGFuZCAxNTYsNjI4DQogaG9oX3RyeWNoYXJnZSAwDQogcmVjX2hpZ2hfaG9o IDE0MCwwMzkNCiByZWNfaGlnaF9od2YgMA0KDQogWlNXQVAtbVRIUCwgNEcgU1NEIGJhY2tpbmcg Zm9yIFpTV0FQLCB6c3RkLCA2NEsgbVRIUDoNCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIC9zeXMvZnMvY2dyb3VwL2lheC9tZW1vcnkuZXZl bnRzOg0KIGhpZ2ggMjAsNDI3DQogDQogL3N5cy9mcy9jZ3JvdXAvaWF4L21lbW9yeS5zd2FwLmV2 ZW50czoNCiBmYWlsIDIwLDg1Ng0KIA0KIGhvaF91c2VybGFuZCAzMSwzNDYNCiBob2hfdHJ5Y2hh cmdlIDANCiByZWNfaGlnaF9ob2ggMjAsNTEzDQogcmVjX2hpZ2hfaHdmIDANCg0KVGhpcyBzaG93 cyB0aGF0IGluIGFsbCBjYXNlcywgcmVjbGFpbV9oaWdoKCkgaXMgY2FsbGVkIG9ubHkgZnJvbSB0 aGUgcmV0dXJuDQpwYXRoIHRvIHVzZXIgbW9kZSBhZnRlciBoYW5kbGluZyBhIHBhZ2UtZmF1bHQu DQoNClRoYW5rcywNCkthbmNoYW5hDQoNCj4gDQo+IEkgaGFkIGNvbmZpcm1lZCBlYXJsaWVyIHdp dGggY291bnRlcnMgdGhhdCBhbGwgY2FsbHMgdG8gcmVjbGFpbV9oaWdoKCkNCj4gd2VyZSBmcm9t IGluY2x1ZGUvbGludXgvcmVzdW1lX3VzZXJfbW9kZS5oOjpyZXN1bWVfdXNlcl9tb2RlX3dvcmso KS4NCj4gSSB3aWxsIGNvbmZpcm0gdGhpcyB3aXRoIHpzdGQgYW5kIGJwZnRyYWNlIGFuZCBzaGFy ZS4NCj4gDQo+IFRoYW5rcywNCj4gS2FuY2hhbmENCj4gDQo+ID4NCj4gPiA+DQo+ID4gPiAyKSBU aGVyZSBhcHBlYXJzIHRvIGJlIGEgZGlyZWN0IGNvLXJlbGF0aW9uIGJldHdlZW4gaGlnaGVyICMg b2YNCj4gPiA+ICAgIG1lbWNnX3N3YXBfZmFpbCBldmVudHMsIGFuZCBhbiBpbmNyZWFzZSBpbiBt ZW1jZ19oaWdoIGJyZWFjaGVzIGFuZA0KPiA+ID4gICAgcmVkdWN0aW9uIGluIHVzZW1lbSB0aHJv dWdocHV0LiBUaGlzIGNvbWJpbmVkIHdpdGggdGhlIG9ic2VydmF0aW9uIGluDQo+ID4gPiAgICAo MSkgc3VnZ2VzdHMgdGhhdCB3aXRoIGEgZmFzdGVyIGNvbXByZXNzb3IsIHdlIG5lZWQgbW9yZSBz d2FwIHNsb3RzLA0KPiA+ID4gICAgdGhhdCBpbmNyZWFzZXMgdGhlIHByb2JhYmlsaXR5IG9mIHJ1 bm5pbmcgb3V0IG9mIHN3YXAgc2xvdHMgd2l0aCB0aGUgNEcNCj4gPiA+ICAgIFNTRCBiYWNraW5n IGRldmljZS4NCj4gPiA+DQo+ID4gPiAzKSBDb3VsZCB0aGUgZGF0YSBzaGFyZWQgZWFybGllciBv biByZWR1Y3Rpb24gaW4gbWVtY2dfaGlnaCBicmVhY2hlcw0KPiB3aXRoDQo+ID4gPiAgICA2NEsg bVRIUCBzd2Fwb3V0IHByb3ZpZGUgc29tZSBtb3JlIGNsdWVzLCBpZiB3ZSBhZ3JlZSB3aXRoICgx KSBhbmQNCj4gKDIpOg0KPiA+ID4NCj4gPiA+ICAgICJJbnRlcmVzdGluZ2x5LCB0aGUgIyBvZiBt ZW1jZ19oaWdoIGV2ZW50cyByZWR1Y2VzIHNpZ25pZmljYW50bHkgd2l0aA0KPiA2NEsNCj4gPiA+ ICAgIG1USFAgYXMgY29tcGFyZWQgdG8gdGhlIGFib3ZlIDRLIG1lbWNnX2hpZ2ggZXZlbnRzIGRh dGEsIHdoZW4NCj4gPiB0ZXN0ZWQNCj4gPiA+ICAgIHdpdGggdjQgYW5kIG5vIHpzd2FwIGNoYXJn ZTogMywwNjkgKFNTRC1tVEhQKSBhbmQgMTksNjU2IChaU1dBUC0NCj4gPiBtVEhQKS4iDQo+ID4g Pg0KPiA+ID4gNCkgSW4gdGhlIGNhc2Ugb2YgZWFjaCB6c3dhcCBjb21wcmVzc29yLCB0aGVyZSBh cmUgc29tZSBydW5zIHRoYXQgZ28NCj4gPiA+ICAgIHRocm91Z2ggd2l0aCAwIG1lbWNnX3N3YXBf ZmFpbCBldmVudHMuIFRoZXNlIHJ1bnMgZ2VuZXJhbGx5IGhhdmUNCj4gYmV0dGVyDQo+ID4gPiAg ICBmZXdlciBtZW1jZ19oaWdoIGJyZWFjaGVzIGFuZCBiZXR0ZXIgc3lzIHRpbWUvdGhyb3VnaHB1 dC4NCj4gPiA+DQo+ID4gPiA1KSBGb3IgYSBnaXZlbiBzd2FwIHNldHVwLCB0aGVyZSBpcyBzb21l IGFtb3VudCBvZiB2YXJpYW5jZSBpbg0KPiA+ID4gICAgc3lzIHRpbWUgZm9yIHRoaXMgd29ya2xv YWQuDQo+ID4gPg0KPiA+ID4gNikgQWxsIHRoaXMgc3VnZ2VzdHMgdGhhdCB0aGUgcHJpbWFyeSBy b290IGNhdXNlIGlzIHRoZSBjb25jdXJyZW5jeSBzZXR1cCwNCj4gPiA+ICAgIHdoZXJlIHRoZXJl IGNvdWxkIGJlIHJhbmRvbW5lc3MgYmV0d2VlbiBydW5zIGFzIHRvIHRoZSAjIG9mIHByb2Nlc3Nl cw0KPiA+ID4gICAgdGhhdCBvYnNlcnZlIHRoZSBtZW1vcnkuaGlnaCBicmVhY2ggZHVlIHRvIG90 aGVyIGZhY3RvcnMgc3VjaCBhcw0KPiA+ID4gICAgYXZhaWxhYmlsaXR5IG9mIHN3YXAgc2xvdHMg Zm9yIGFsbG9jLg0KPiA+ID4NCj4gPiA+IFRvIHN1bW1hcml6ZSwgSSBiZWxpZXZlIHRoZSByb290 LWNhdXNlIGlzIHRoZSA0RyBTU0Qgc3dhcGZpbGUgcmVzdWx0aW5nIGluDQo+ID4gPiBydW5uaW5n IG91dCBvZiBzd2FwIHNsb3RzLCBhbmQgYW5vbWFsb3VzIGJlaGF2aW9yIHdpdGggb3Zlci1yZWNs YWltDQo+IHdoZW4NCj4gPiA3MA0KPiA+ID4gY29uY3VycmVudCBwcm9jZXNzZXMgYXJlIHdvcmtp bmcgd2l0aCB0aGUgNjBHIG1lbW9yeSBsaW1pdCB3aGlsZSB0cnlpbmcNCj4gdG8NCj4gPiA+IGFs bG9jYXRlIDFHIGVhY2g7IHdpdGggcmFuZG9tbmVzcyBpbiBwcm9jZXNzZXMgcmVhY3RpbmcgdG8g dGhlIGJyZWFjaC4NCj4gPiA+DQo+ID4gPiBUaGUgY2dyb3VwIHpzd2FwIGNoYXJnaW5nIGV4YWNl cmJhdGVzIHRoaXMgc2l0dWF0aW9uLCBidXQgaXMgbm90IGEgcHJvYmxlbQ0KPiA+ID4gaW4gYW5k IG9mIGl0c2VsZi4NCj4gPiA+DQo+ID4gPiBOaGF0LCBhcyB5b3UgcG9pbnRlZCBvdXQsIHRoaXMg aXMgc29tZXdoYXQgb2YgYW4gdW5yZWFsaXN0aWMgc2NlbmFyaW8gdGhhdA0KPiA+ID4gZG9lc24n dCBzZWVtIHRvIGluZGljYXRlIGFueSBzcGVjaWZpYyBwcm9ibGVtcyB0byBiZSBzb2x2ZWQsIG90 aGVyIHRoYW4NCj4gdGhlDQo+ID4gPiB0ZW1wb3JhcnkgY2dyb3VwIHpzd2FwIGRvdWJsZS1jaGFy Z2luZy4NCj4gPiA+DQo+ID4gPiBXb3VsZCBpdCBiZSBmYWlyIHRvIGV2YWx1YXRlIHRoaXMgcGF0 Y2gtc2VyaWVzIGJhc2VkIG9uIGEgbW9yZSByZWFsaXN0aWMNCj4gPiA+IHN3YXBmaWxlIGNvbmZp Z3VyYXRpb24gYmFzZWQgb24gMTc2RyBaUkFNLCBmb3Igd2hpY2ggSSBoYWQgc2hhcmVkIHRoZQ0K PiA+IGRhdGENCj4gPiA+IGluIHYyPyBUaGVyZSB3ZXJlbid0IGFueSBwcm9ibGVtcyB3aXRoIHN3 YXAgc2xvdHMgYXZhaWxhYmlsaXR5IG9yIGFueQ0KPiA+ID4gYW5vbWFsaWVzIHRoYXQgSSBjYW4g dGhpbmsgb2Ygd2l0aCB0aGlzIHNldHVwLCBvdGhlciB0aGFuIHRoZSBmYWN0IHRoYXQgdGhlDQo+ ID4gPiAiQmVmb3JlIiBhbmQgIkFmdGVyIiBzeXMgdGltZXMgY291bGQgbm90IGJlIGRpcmVjdGx5 IGNvbXBhcmVkIGZvciAyIGtleQ0KPiA+ID4gcmVhc29uczoNCj4gPiA+DQo+ID4gPiAgLSBaUkFN IGNvbXByZXNzZWQgZGF0YSBpcyBub3QgY2hhcmdlZCB0byB0aGUgY2dyb3VwLCBzaW1pbGFyIHRv IFNTRC4NCj4gPiA+ICAtIFpTV0FQIGNvbXByZXNzZWQgZGF0YSBpcyBjaGFyZ2VkIHRvIHRoZSBj Z3JvdXAuDQo+ID4NCj4gPiBZZWFoIHRoYXQncyBhIGJpdCB1bmZhaXIgc3RpbGwuIFdpbGQgaWRl YSwgYnV0IHdoYXQgYWJvdXQgd2UgY29tcGFyZQ0KPiA+IFNTRCB3aXRob3V0IHpzd2FwIChvciBT U0Qgd2l0aCB6c3dhcCwgYnV0IHdpdGhvdXQgdGhpcyBwYXRjaCBzZXJpZXMgc28NCj4gPiB0aGF0 IG1USFAgYXJlIG5vdCB6c3dhcHBlZCkgdi5zIHpzd2FwLW9uLXpyYW0gKGkuZSB3aXRoIGEgYmFj a2luZw0KPiA+IHN3YXBmaWxlIG9uIHpyYW0gYmxvY2sgZGV2aWNlKS4NCj4gPg0KPiA+IEl0IGlz IHN0dXBpZCwgSSBrbm93LiBCdXQgbGV0J3MgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhY3QgdGhh dCB6cmFtDQo+ID4gaXMgbm90IGNoYXJnZWQgdG8gY2dyb3VwLCBwcmV0ZW5kaW5nIHRoYXQgaXRz IG1lbW9yeSBmb290IHByaW50IGlzDQo+ID4gZW1wdHk/DQo+ID4NCj4gPiBJIGRvbid0IGtub3cg aG93IHpyYW0gd29ya3MgdGhvdWdoLCBzbyBteSBhcG9sb2dpZXMgaWYgaXQncyBhIHN0dXBpZA0K PiA+IHN1Z2dlc3Rpb24gOikNCg==