From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2042.outbound.protection.outlook.com [40.107.212.42]) (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 88E7D7FBC2 for ; Tue, 24 Sep 2024 19:49:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.212.42 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727207350; cv=fail; b=R6/C1zRC5OWurNmrryOJ8rk/kF/GgNn9s5+ACLoodnasAa/KbLvc9K7CybBHOtLEn8f+4WNqnyY4q9olVDNG0aMohzX99DDrNoeB2gIxpfUm2G/ipxrALQS1XBOpLPkNYHpvYJPvuD/c3P417h4oudXTYgKfPETIbRq+FfXCO3E= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1727207350; c=relaxed/simple; bh=ItMb9DMQ1GSWQbDwJFDXNBSJrkefw95BuCQey706VzI=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=AcUkA/xXwXlltcrnxtEngO1D//FL0adqE51COBJosiqGQZ6y9nXBzBnXoiYXeegzJ2Z/WWFnh8LuzPtLHzJbw+TsMqR0lBi7mmTAsfXJ7LJsP9JzpXdVLabYhTdyD5j0IDcYyGKuMdvx2K0uqQc8N9DmcHueW1o/qBxQZ/TVbu0= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=QuRmnb8l; arc=fail smtp.client-ip=40.107.212.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="QuRmnb8l" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Uc8yZvJmfwrLc/VuVAZWW8KisygAUNgw8Z+Ee/ZbEuAEcXg1UWcrrHAbWdvagD/Kur1VBJf2gHG8GLk5zPS7Y6WopMQrzcrWytYeIYAEsoqYoEfpjNw8sVkVqYPgA5e3pvAydjoY9ydXY02cwkTsnX7A8Da5h2IZ8o/GYhS4OV1sHBF79ANY0C31KE0hQpm80UHKx168TJokb6D/PDa+UiOKrz2DTgl3W0uqvxBCXvd3+EJiL5gGiCPyKGPKBKdp40f5J/lxfhH1WNoRmaQV+U2b4P1oSUsgPy0Anp/ZrhArdipX3XVyd0ooRSG4683vcGOr557YjTIn9qteXulonQ== 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=ItMb9DMQ1GSWQbDwJFDXNBSJrkefw95BuCQey706VzI=; b=YXFVbfGBZPB+CHaCHQJKm6SJGVYTZIf5n4R+djPbrybWZBluSS3kxO455WHMRrHRsQ7Gau9aWQ4DZDrBU255dWzYWAXyA6MiPB/k5pcjx0ZZher7ZVexC0dte5731bAuTnBpEEYhG0bLNLd4PE9VfnouCBN/ejQyGEVH0JQ8n4uTLP17puqYgOCNrqw6JWfmBjjXlReAQaC3A+4VOn5x6+b6CKb5RmYd3/rsoKiKaZP80EV5BpNMQnuSpAb+Rr2nnqDOCyBAwZdE0us24YL9HwJ5s02NS5eSXO+tBBgAyhiendATxR9uASu4ixUx+3q/6k415NWVau0Aq7Ewf3AVtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ItMb9DMQ1GSWQbDwJFDXNBSJrkefw95BuCQey706VzI=; b=QuRmnb8l2jq+3vBcIF/95RTaWyS23oC370unOfIdILnHQTmChkY/LBxktb7q2Z4WIjQdfRig60UFo3526fpXWD0rgy2g9uQFbSklQWS/m4iuZvTYJb/GbFolm1pyrp2JBZ9PU3QMMmihYvYv9RZZjFnHO2is/KW2Vnj0TyRXhnZjJ1WUkF0kiH7YgX4jjwsTTQq4gbgvJ+/MJT8YZzuWktUEOwMpfK2irA8reA6spBxYQiF1/NcxM92aPHNizMaTCq3uTa1ht1q8Eq3nZL76O61XQF4eF9U7VqwIYrzoIKrOcGzS8Pl5qoAbST5n9LlmbPtRaxCuVPT924xagF5tig== Received: from SA1PR12MB6870.namprd12.prod.outlook.com (2603:10b6:806:25e::22) by CY5PR12MB6204.namprd12.prod.outlook.com (2603:10b6:930:23::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7982.26; Tue, 24 Sep 2024 19:49:03 +0000 Received: from SA1PR12MB6870.namprd12.prod.outlook.com ([fe80::8e11:7d4b:f9ae:911a]) by SA1PR12MB6870.namprd12.prod.outlook.com ([fe80::8e11:7d4b:f9ae:911a%4]) with mapi id 15.20.7982.022; Tue, 24 Sep 2024 19:49:03 +0000 From: Zhi Wang To: Danilo Krummrich CC: "kvm@vger.kernel.org" , "nouveau@lists.freedesktop.org" , "alex.williamson@redhat.com" , "kevin.tian@intel.com" , Jason Gunthorpe , "airlied@gmail.com" , "daniel@ffwll.ch" , Andy Currid , Neo Jia , Surath Mitra , Ankit Agrawal , Aniket Agashe , Kirti Wankhede , "Tarun Gupta (SW-GPU)" , "zhiwang@kernel.org" , Ben Skeggs Subject: Re: [RFC 00/29] Introduce NVIDIA GPU Virtualization (vGPU) Support Thread-Topic: [RFC 00/29] Introduce NVIDIA GPU Virtualization (vGPU) Support Thread-Index: AQHbDO4DhfZqXtCWxkyWIRVvE1lWT7JlDjaagAJNjYA= Date: Tue, 24 Sep 2024 19:49:02 +0000 Message-ID: <0d69aaed-485a-4203-b495-7bf503de3fde@nvidia.com> References: <20240922124951.1946072-1-zhiw@nvidia.com> <20240922161121.000060a0.zhiw@nvidia.com> In-Reply-To: Accept-Language: en-US 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=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SA1PR12MB6870:EE_|CY5PR12MB6204:EE_ x-ms-office365-filtering-correlation-id: dfa87690-65a8-4c57-26fe-08dcdcd1f10c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?QWJmMStVTWRSamticXU2a0NFd2I5SHc2LzNMdDZhMHlBbFhCWjd2bkxXTnlE?= =?utf-8?B?R2hZTDJBTi8vOXBYdmRxcWxFZlpPYTIwYjdqTmdNM05OWS9jYnBKWTBlYmdu?= =?utf-8?B?cFhCT2hFa25pWGZjSEdzKzdVUGdzazBxZklTeWNreDhGVTcwKy9YODd5RzdU?= =?utf-8?B?TWRUbU1kUGRXWHlWYTI4bE85S2hmMVpDeFVSNUF4cnNKdC96Y2hrcEI5aHNQ?= =?utf-8?B?ZGQ2YWJnR254WmZ2c2NoaEV2aUN4UU5odGlMdlpxbmhHRlo2Yndjc1FMZG1j?= =?utf-8?B?QTJURUVvVWRQVjNNWEU5TlJpNExWNk5QMkxDOGxMcStVdHpJRktLQUlpMldE?= =?utf-8?B?RzVBc0hPWUFwY0c5RlZ2c1hnbGsxK1UxRkhjdERMbmVWU1k3MTY1TVZ1Sk51?= =?utf-8?B?Y1RZK1BuMVhacmdhMlRZbElha01PQ2o5U0drSnpCVjBJSFpxR2Y5TDBmVThO?= =?utf-8?B?aWo1THVDSk1IU1VzMmNKYzFUWHhzeHk5T1NLNGk5TjhCYklldThyRjlHTUM2?= =?utf-8?B?QTBhZ203SVptMnNqSlJrTHk1QVdrbnJmeUE5Q3NRd2I4QzZnSVBWaVpGU1lF?= =?utf-8?B?Vjdhbk45RC9nM09Ba3dYcXphZSt0cW5uMVpUaHFIQVlCZVhha2hncm94bEFZ?= =?utf-8?B?a0FJZDRKa1BScDZsOUJtOWpGTU40ZGJleVlndTJJbFljWmtrMmF0ckxMdXRv?= =?utf-8?B?SSt1Q3pSZU5ISXFRVEFnUExXUGpVbzJ2R3pEeW9iVGc5d3NhVEVzTG5lZGQ1?= =?utf-8?B?QlVLRDVTcjZ1M2RCd3phVlFJRUwxK1BOVGpzT0Y3QVd0MXUvVmo5QzlCaGl1?= =?utf-8?B?cXpJNDVmb1crMUdRZTlSb280akRidEpsMWFPaXdHL0V4L2VqYmJCVEoxSU9M?= =?utf-8?B?TzgzcTRWVVc1eUxEeGIvQ3FpUGJranZzcXpvRUtJZG9wNWF2SDhCcG84WGpk?= =?utf-8?B?akxwMjFpRlZUMmh2VC9HQ2pUWlA3c1pPa2poYzIrMktNMHRGcWN5VFdTdzNj?= =?utf-8?B?VEFOSXpWYWtYeHN6Q2VjMWhUT2JmRDFDbXVCSTkyU2U5VlJHZkxJcHh2dW5l?= =?utf-8?B?eG40dnpEekZkRVE4VzhScDc4Um5WcG5TYnZ1TTdYS1diSmh2WVpiMlAwQU11?= =?utf-8?B?N1NaSmQxUEpFVEo2OEVOdGw0bWFiWS9IQVd4bTFra280akplYld6VWw5ZnZ6?= =?utf-8?B?U1NQWnBBQmcwS1FsR0FuN1I1U0plVTNReEt4dGRPZ25XR3dTdHZNVVJYcllp?= =?utf-8?B?N1h3bG9CczhTd3M3azYvUjMvZVRVbHR5WWw1N3ZXbXEvVGdXelVWOUEyR3Nx?= =?utf-8?B?YThsVUhOWmFYeitraTBBVU1wcXRRaG5SY21tNk5RSWpwcjluc0wxZ0M5eUxu?= =?utf-8?B?ZE94QS91aXQyTUE3SnByODVEbmdGRjR2cjY2WittRVJhd25sU0QvK3l6aTg3?= =?utf-8?B?MkxPUmZwbmZQVWd5Skx6c3RrbUZrM0pvNTMxa3E1alEybm1BN3k1dHZVT09P?= =?utf-8?B?NzNjYXJFclRObjU0QmJPRnQveDd3d1R2dTh5SWdMZkV4RFMxQmJ1ZWhTMG95?= =?utf-8?B?QVdKVjNxSGc0OWx1bFZpejM5a2xtcGxTRTBxSEp1ekZqb1p1R09NQ0VXL1hE?= =?utf-8?B?Mkgzc2xNd1BRenpWakJYL2dYUm1aMHF2eTdxWjNRNmhNc2NHYjZ1QWFhcFB2?= =?utf-8?B?U2ZZWHRYMFVFYlRaK3NGdmtaZHA4V1RIaW5lWnF4QmQ1bTYvdFJ5Sk1OTjli?= =?utf-8?B?eUpFZXRWY3E0Q1BXUmFaUEZYMGI4bU1meHFDZktsVzQvejlYb1ZYc1JnVWYv?= =?utf-8?Q?qKBOTr99ojci4Wiq+8NnIbyd1pRePe1QHVz5o=3D?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR12MB6870.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(1800799024)(38070700018);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c2ZYNGJRTTRoUUtMV290YVZnbHRoTlFwTUcvbXVESWxDUnNKTmNSbzduTzNy?= =?utf-8?B?ck85RHpBaWk4VmczZk94bnZtaW53aldNMm1VOXJpaGx6Tm9mbU90S1RMbmla?= =?utf-8?B?T3RVWEdzTjBEdXVKRG8yWVF1ZEs4QjQrYitFQWZFbmcvb0NGZVI5MVBpN3hF?= =?utf-8?B?clFUeFBqV04vWXFEZm5DaEZ0KzhiNi8wT01WczhPZlFBcnNYTDdHZTcrZW1h?= =?utf-8?B?SFlVUFByK3EwR0VTdUluNFgwTjgzMzBmVG5qVFdqWDRLMEliNmY0dmUrV24v?= =?utf-8?B?akhlblZvUUJZSmt4OGVxbXNZangveTNFV1crVWp3Ynpjb2grSGIwR1I3ZVpD?= =?utf-8?B?MVJNRHp1WDlTU1FyNEJVUi83RUNmeDhkNnZOeHhGZXVlNVNQSk51WmVKZmFI?= =?utf-8?B?b0RXVUNqMkUzL3dPclE3YzJlTDZyQVo1TGVuZEsyakp6VExSWHB6UlU4VnNp?= =?utf-8?B?dCt4YzdLYzZjWnl2ZVlxZkd0cW81cllXMDlxb1FWZ3FlVzZYSzllTWpQU2dX?= =?utf-8?B?a1Z1QTVMM2d4dFZPKzNCR2M5Z1JteG93T2ZUU1FLQmhwUWEyaytydUpiR1l4?= =?utf-8?B?bU9DRkUySWJtN3gwdnNQVWFmVlg5TkhYMkZWZlZBL3VoRWdUTXNPL2oxUzMz?= =?utf-8?B?MHZuczZNRzBBY2NUa0I4cm13WmNkZHl6ZzhWWngzMVRiR0d0RmZqdmpxeTNB?= =?utf-8?B?aXQ4cUZXTkpLYW1GTFFiZWNoRWlYRGFRY0tuV3VheDNybjR6TFNGWHlXbGpW?= =?utf-8?B?dHI2MlpuNGdsTjc3ZVl2N2RCWXp1azZsOG4waWt6OEhJTy9Ma0hXaVVnOUs0?= =?utf-8?B?SEl5VFltZENJbUxLUTBuQUd2ZVZHOGJhc2MzNHhPVXpPU3k2VXc0VHFPQXlB?= =?utf-8?B?N1p4eWViWDJUZnVBZTQycGl4dDlkcW5xYWM1alFoQzVYS1lhRUgvYXRLV1cv?= =?utf-8?B?UzkxaTRjZkpHeW9aSys3bmFSV3RnZXlxWmN0VzFoTEFNZllyK2NEVkx2Tk9o?= =?utf-8?B?SHRPdnlWWVJKaTNJK3FiemRaMElOV2Fnb1kzbXBiVkJDTi9mSFNqSU9hK3F3?= =?utf-8?B?ODJCNTh1aVdNY3paUFJseGlCY3N4U1VmOERBZU5oaDIwa3ZON2NleEljWk51?= =?utf-8?B?Q3Q1ZXZ6MTJwRitJblVqZDFHbmRxU2xoMnVOMjY0bEVwN1M4K1hKMHpoS2V5?= =?utf-8?B?U2ZReUovWGtpZlFHcjZ2a1h2MFNsN2xEdTFTNlZiRWsrTlBmNmZKdkEwcGpD?= =?utf-8?B?VlZ0d2V4RXJDOFFpNWVXTVZpcm12ZllRRFZ5cGVhTHgxdE9PajUwdVVqa2FP?= =?utf-8?B?eWdPaWhlYW9rMlJpaW5ad0RJNE55K0RMVU9leERkWE5nQ0lEcmgxQ1hQelpr?= =?utf-8?B?cXJ5UGFJVkRXUmhLYUpoSE1lK3NhbWNyN2VyZGs4MTJQd3NiVTFzKzV3WEhL?= =?utf-8?B?Ly81MWsvZ0Y1anFLckdjL21hQ002QVhhWjc0QXdlSFNmZThrMG5pZ0k3VzVX?= =?utf-8?B?MVEwVnJqamhtN3daVE1ucnJRYmZ5S3pzdmV6dmdDYm9yb1FzWG4wR0N4V2JK?= =?utf-8?B?cU5UbDRHTnlxaGtUMTd2VlBTQW9CNTdkbDVCMFJhZS8zYms2bnNlaUlzYWdE?= =?utf-8?B?QjNEa3FEQml6dVpaNnZpSEQ0a2tEQjRtMmN0WllxVnoxWGxxYW9jRElMZTVa?= =?utf-8?B?TWN0c0JPU2pxczhSelhjaXBwaisrNjNQZDArYUpBN201SFRnZVFGNGY3SjJH?= =?utf-8?B?ZnlORk1MMHhFZUJGQks1Z3RzZnZqSFlqaWNadDdOZmJXTGpmTXVaampWOXJv?= =?utf-8?B?TDhhV3psWDZzVUpoeWx3UFdrbzJTSVNEUUF5eHFWTHptQ1BObDBMYlBiOUZ4?= =?utf-8?B?cEdjVW5aOENtNUU2U3k1cXB1TU5HbmdTWVZjZGVaTU5kT0dnQ3I1S25tcUNi?= =?utf-8?B?N2NVSm1OS1pwN1JvNXZQVDc1L0xWZElmcUdSVDhGUkE3U3NlZ0tTN0J6b1dF?= =?utf-8?B?czlKZzZrZC80aFdxNWpVbTBwYk9OWjR2Rjd5bENJc0g1WldRaklhWnRxYlha?= =?utf-8?B?ZTZCV0VNUVdhUjRYSXo2TzRVSzcrUm9oVmFHQmZNc3lqR044ZXRpUHo3b1VF?= =?utf-8?Q?466A=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <7F11AFE594B3804BA687A2AEE8B1F892@namprd12.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR12MB6870.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dfa87690-65a8-4c57-26fe-08dcdcd1f10c X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Sep 2024 19:49:02.9847 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Gq2fJf8925majwqgSorbpAdidSWjHCrtok+GwjV2NOKuB50feao2ts+BJf6wcxTu X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6204 T24gMjMvMDkvMjAyNCAxMS4zOCwgRGFuaWxvIEtydW1tcmljaCB3cm90ZToNCj4gRXh0ZXJuYWwg ZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCj4gDQo+IA0K PiBPbiBTdW4sIFNlcCAyMiwgMjAyNCBhdCAwNDoxMToyMVBNICswMzAwLCBaaGkgV2FuZyB3cm90 ZToNCj4+IE9uIFN1biwgMjIgU2VwIDIwMjQgMDU6NDk6MjIgLTA3MDANCj4+IFpoaSBXYW5nIDx6 aGl3QG52aWRpYS5jb20+IHdyb3RlOg0KPj4NCj4+ICtCZW4uDQo+Pg0KPj4gRm9yZ2V0IHRvIGFk ZCB5b3UuIE15IGJhZC4NCj4gDQo+IFBsZWFzZSBhbHNvIGFkZCB0aGUgZHJpdmVyIG1haW50YWlu ZXJzIQ0KPiANCj4gSSBoYWQgdG8gZmV0Y2ggdGhlIHBhdGNoc2V0IGZyb20gdGhlIEtWTSBsaXN0 LCBzaW5jZSB0aGV5IGRpZCBub3QgaGl0IHRoZQ0KPiBub3V2ZWF1IGxpc3QgKEknbSB0cnlpbmcg dG8gZ2V0IEBudmlkaWEuY29tIGFkZHJlc3NlcyB3aGl0ZWxpc3RlZCkuDQo+IA0KPiAtIERhbmls bw0KPiANCg0KTXkgYmFkLiBXaWxsIGRvIGluIHRoZSBuZXh0IGl0ZXJhdGlvbi4gV2VpcmQuLi5u ZXZlciB0aG91Z2h0IHRoaXMgY291bmQgDQpoYXBwZW4gc2luY2UgYWxsbCBteSBwcmV2aW91cyBl bWFpbHMgbGFuZGVkIGluIHRoZSBtYWlsaW5nIGxpc3QuIERpZCB5b3UgDQpzZWUgYW55IGVtYWls IGRpc2N1c3Npb24gaW4gdGhlIHRocmVhZCBpbiB0aGUgbm91dmVhdSBsaXN0PyBGZWVsIGZyZWUg dG8gDQpsZXQgbWUga25vdyBpZiBJIHNob3VsZCBzZW5kIHRoZW0gYWdhaW4gdG8gbm91dmVhdSBs aXN0LiBNYXliZSBpdCBpcyANCmFsc28gZWFzaWVyIHRoYXQgeW91IGNhbiBwdWxsIHRoZSBwYXRj aGVzIGZyb20gbXkgdHJlZS4NCg0KTm90ZSB0aGF0IEkgd2lsbCBiZSBvbiB2YWNhdGlvbiB1bnRp bCBPY3QgMTF0aC4gRW1haWwgcmVwbHkgbWlnaHQgYmUgDQpzbG93LiBCdXQgSSB3aWxsIHJlYWQg dGhlIGVtYWlscyBpbiB0aGUgbWFpbGluZyBsaXN0Lg0KDQpUaGFua3MsDQpaaGkuDQo+Pg0KPj4N Cj4+PiAxLiBCYWNrZ3JvdW5kDQo+Pj4gPT09PT09PT09PT09PQ0KPj4+DQo+Pj4gTlZJRElBIHZH UFVbMV0gc29mdHdhcmUgZW5hYmxlcyBwb3dlcmZ1bCBHUFUgcGVyZm9ybWFuY2UgZm9yIHdvcmts b2Fkcw0KPj4+IHJhbmdpbmcgZnJvbSBncmFwaGljcy1yaWNoIHZpcnR1YWwgd29ya3N0YXRpb25z IHRvIGRhdGEgc2NpZW5jZSBhbmQNCj4+PiBBSSwgZW5hYmxpbmcgSVQgdG8gbGV2ZXJhZ2UgdGhl IG1hbmFnZW1lbnQgYW5kIHNlY3VyaXR5IGJlbmVmaXRzIG9mDQo+Pj4gdmlydHVhbGl6YXRpb24g YXMgd2VsbCBhcyB0aGUgcGVyZm9ybWFuY2Ugb2YgTlZJRElBIEdQVXMgcmVxdWlyZWQgZm9yDQo+ Pj4gbW9kZXJuIHdvcmtsb2Fkcy4gSW5zdGFsbGVkIG9uIGEgcGh5c2ljYWwgR1BVIGluIGEgY2xv dWQgb3IgZW50ZXJwcmlzZQ0KPj4+IGRhdGEgY2VudGVyIHNlcnZlciwgTlZJRElBIHZHUFUgc29m dHdhcmUgY3JlYXRlcyB2aXJ0dWFsIEdQVXMgdGhhdCBjYW4NCj4+PiBiZSBzaGFyZWQgYWNyb3Nz IG11bHRpcGxlIHZpcnR1YWwgbWFjaGluZXMuDQo+Pj4NCj4+PiBUaGUgdkdQVSBhcmNoaXRlY3R1 cmVbMl0gY2FuIGJlIGlsbHVzdHJhdGVkIGFzIGZvbGxvdzoNCj4+Pg0KPj4+ICAgKy0tLS0tLS0t LS0tLS0tLS0tLS0tKyAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+Pj4gKy0tLS0tLS0tLS0t LS0tLS0tLS0tKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwgSHlwZXJ2aXNvciAgICAgICAgIHwN Cj4+PiAgICB8IEd1ZXN0IFZNICAgICAgICAgICB8IHwgR3Vlc3QgVk0gICAgICAgICAgIHwgfCBH dWVzdCBWTQ0KPj4+IHwgfCAgICAgICAgICAgICAgICAgICAgfCAgICB8ICstLS0tLS0tLS0tLS0t LS0tKyB8IHwNCj4+PiArLS0tLS0tLS0tLS0tLS0tLSsgfCB8ICstLS0tLS0tLS0tLS0tLS0tKyB8 IHwgKy0tLS0tLS0tLS0tLS0tLS0rIHwNCj4+PiB8IHxBcHBsaWNhdGlvbnMuLi4gfCB8IHwgfEFw cGxpY2F0aW9ucy4uLiB8IHwgfCB8QXBwbGljYXRpb25zLi4uIHwgfA0KPj4+IHwgfCAgTlZJRElB ICAgICAgICB8IHwgICAgfCArLS0tLS0tLS0tLS0tLS0tLSsgfCB8ICstLS0tLS0tLS0tLS0tLS0t Kw0KPj4+IHwgfCArLS0tLS0tLS0tLS0tLS0tLSsgfCB8IHwgIFZpcnR1YWwgR1BVICAgfCB8ICAg IHwNCj4+PiArLS0tLS0tLS0tLS0tLS0tLSsgfCB8ICstLS0tLS0tLS0tLS0tLS0tKyB8IHwgKy0t LS0tLS0tLS0tLS0tLS0rIHwgfA0KPj4+IHwgIE1hbmFnZXIgICAgICAgfCB8ICAgIHwgfCAgR3Vl c3QgRHJpdmVyICB8IHwgfCB8ICBHdWVzdCBEcml2ZXIgIHwgfA0KPj4+IHwgfCAgR3Vlc3QgRHJp dmVyICB8IHwgfCArLS0tLS0tXi0tLS0tLS0tLSsgfCAgICB8ICstLS0tLS0tLS0tLS0tLS0tKw0K Pj4+IHwgfCArLS0tLS0tLS0tLS0tLS0tLSsgfCB8ICstLS0tLS0tLS0tLS0tLS0tKyB8IHwgICAg ICAgIHwNCj4+PiB8ICAgICstLS0tLS0tLS1eLS0tLS0tLS0tLSsgKy0tLS0tLS0tLS1eLS0tLS0t LS0tKw0KPj4+ICstLS0tLS0tLS0tXi0tLS0tLS0tLSsgfCAgICAgICAgfCAgICAgICAgICAgfCAg ICAgICAgICAgICAgfA0KPj4+ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICB8 IHwgICAgICAgIHwNCj4+PiArLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rDQo+Pj4gfCAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfA0KPj4+ICAgICAgICAg ICAgICAgfCAgICAgICAgIHwgfCAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfA0K Pj4+ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICB8DQo+ Pj4gKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKw0KPj4+ICstLS0tLS0tLS12 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKw0KPj4+IHwgTlZJRElBICAgICAgICAgICAgICAg ICAgKy0tLS0tLS0tLS12LS0tLS0tLS0tKw0KPj4+ICstLS0tLS0tLS0tLXYtLS0tLS0tLSsgKy0t LS0tLS0tLS0tdi0tLS0tLS0tKyB8IHwgUGh5c2ljYWwgR1BVDQo+Pj4gICAgICB8ICAgVmlydHVh bCBHUFUgICAgICB8IHwgICBWaXJ0dWFsIEdQVSAgICAgIHwgfCAgIFZpcnR1YWwgR1BVDQo+Pj4g ICB8IHwgfCAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tKyArLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwNCj4+PiAr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+Pg0KPj4+IEVhY2ggTlZJ RElBIHZHUFUgaXMgYW5hbG9nb3VzIHRvIGEgY29udmVudGlvbmFsIEdQVSwgaGF2aW5nIGEgZml4 ZWQNCj4+PiBhbW91bnQgb2YgR1BVIGZyYW1lYnVmZmVyLCBhbmQgb25lIG9yIG1vcmUgdmlydHVh bCBkaXNwbGF5IG91dHB1dHMgb3INCj4+PiAiaGVhZHMiLiBUaGUgdkdQVeKAmXMgZnJhbWVidWZm ZXIgaXMgYWxsb2NhdGVkIG91dCBvZiB0aGUgcGh5c2ljYWwNCj4+PiBHUFXigJlzIGZyYW1lYnVm ZmVyIGF0IHRoZSB0aW1lIHRoZSB2R1BVIGlzIGNyZWF0ZWQsIGFuZCB0aGUgdkdQVQ0KPj4+IHJl dGFpbnMgZXhjbHVzaXZlIHVzZSBvZiB0aGF0IGZyYW1lYnVmZmVyIHVudGlsIGl0IGlzIGRlc3Ry b3llZC4NCj4+Pg0KPj4+IFRoZSBudW1iZXIgb2YgcGh5c2ljYWwgR1BVcyB0aGF0IGEgYm9hcmQg aGFzIGRlcGVuZHMgb24gdGhlIGJvYXJkLg0KPj4+IEVhY2ggcGh5c2ljYWwgR1BVIGNhbiBzdXBw b3J0IHNldmVyYWwgZGlmZmVyZW50IHR5cGVzIG9mIHZpcnR1YWwgR1BVDQo+Pj4gKHZHUFUpLiB2 R1BVIHR5cGVzIGhhdmUgYSBmaXhlZCBhbW91bnQgb2YgZnJhbWUgYnVmZmVyLCBudW1iZXIgb2YN Cj4+PiBzdXBwb3J0ZWQgZGlzcGxheSBoZWFkcywgYW5kIG1heGltdW0gcmVzb2x1dGlvbnMuIFRo ZXkgYXJlIGdyb3VwZWQNCj4+PiBpbnRvIGRpZmZlcmVudCBzZXJpZXMgYWNjb3JkaW5nIHRvIHRo ZSBkaWZmZXJlbnQgY2xhc3NlcyBvZiB3b3JrbG9hZA0KPj4+IGZvciB3aGljaCB0aGV5IGFyZSBv cHRpbWl6ZWQuIEVhY2ggc2VyaWVzIGlzIGlkZW50aWZpZWQgYnkgdGhlIGxhc3QNCj4+PiBsZXR0 ZXIgb2YgdGhlIHZHUFUgdHlwZSBuYW1lLg0KPj4+DQo+Pj4gTlZJRElBIHZHUFUgc3VwcG9ydHMg V2luZG93cyBhbmQgTGludXggZ3Vlc3QgVk0gb3BlcmF0aW5nIHN5c3RlbXMuIFRoZQ0KPj4+IHN1 cHBvcnRlZCB2R1BVIHR5cGVzIGRlcGVuZCBvbiB0aGUgZ3Vlc3QgVk0gT1MuDQo+Pj4NCj4+PiAy LiBQcm9wb3NhbCBmb3IgdXBzdHJlYW0NCj4+PiA9PT09PT09PT09PT09PT09PT09PT09PT0NCj4+ Pg0KPj4+IDIuMSBBcmNoaXRlY3R1cmUNCj4+PiAtLS0tLS0tLS0tLS0tLS0tDQo+Pj4NCj4+PiBN b3ZpbmcgdG8gdGhlIHVwc3RyZWFtLCB0aGUgcHJvcG9zZWQgYXJjaGl0ZWN0dXJlIGNhbiBiZSBp bGx1c3RyYXRlZA0KPj4+IGFzIGZvbGxvd2luZ3M6DQo+Pj4NCj4+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+PiArLS0tLS0tLS0tLS0tLS0t LS0tLS0rICstLS0tLS0tLS0tLS0tLS0tLS0tLSsgfCBMaW51eCBWTSAgICAgICAgICAgfA0KPj4+ IHwgV2luZG93cyBWTSAgICAgICAgIHwgfCBHdWVzdCBWTSAgICAgICAgICAgfCB8ICstLS0tLS0t LS0tLS0tLS0tKyB8DQo+Pj4gfCArLS0tLS0tLS0tLS0tLS0tLSsgfCB8ICstLS0tLS0tLS0tLS0t LS0tKyB8IHwgfEFwcGxpY2F0aW9ucy4uLiB8IHwNCj4+PiB8IHxBcHBsaWNhdGlvbnMuLi4gfCB8 IHwgfEFwcGxpY2F0aW9ucy4uLiB8IHwgfCArLS0tLS0tLS0tLS0tLS0tLSsgfA0KPj4+IHwgKy0t LS0tLS0tLS0tLS0tLS0rIHwgfCArLS0tLS0tLS0tLS0tLS0tLSsgfCAuLi4gfA0KPj4+ICstLS0t LS0tLS0tLS0tLS0tKyB8IHwgKy0tLS0tLS0tLS0tLS0tLS0rIHwgfCArLS0tLS0tLS0tLS0tLS0t LSsgfCB8DQo+Pj4gfCAgR3Vlc3QgRHJpdmVyICB8IHwgfCB8ICBHdWVzdCBEcml2ZXIgIHwgfCB8 IHwgIEd1ZXN0IERyaXZlciAgfCB8IHwNCj4+PiArLS0tLS0tLS0tLS0tLS0tLSsgfCB8ICstLS0t LS0tLS0tLS0tLS0tKyB8IHwgKy0tLS0tLS0tLS0tLS0tLS0rIHwNCj4+PiArLS0tLS0tLS0tXi0t LS0tLS0tLS0rICstLS0tLS0tLS0tXi0tLS0tLS0tLSsgKy0tLS0tLS0tLS1eLS0tLS0tLS0tKw0K Pj4+IHwgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgfA0KPj4+ ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSsNCj4+PiB8Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKyArLS0tLS0tLS0tLS0t LS0tLS0tLS0rDQo+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tK3wgfHwgICAgICAgUUVNVSAgICAg ICAgIHwgfCAgICAgICBRRU1VDQo+Pj4gfCB8ICAgICAgIFFFTVUgICAgICAgICB8fCB8fCAgICAg ICAgICAgICAgICAgICAgfCB8DQo+Pj4gICB8IHwgICAgICAgICAgICAgICAgICAgIHx8IHwrLS0t LS0tLS0tLS0tLS0tLS0tLS0rDQo+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tKyArLS0tLS0tLS0t LS0tLS0tLS0tLS0rfA0KPj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+PiB8ICAgICAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgIHwNCj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rDQo+Pj4gfA0KPj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgfA0KPj4+IHwgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRklP DQo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgfCAgfCB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgfA0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICB8IHwNCj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rIHwgKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSsNCj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t K3wgIHwgfCB8ICBDb3JlIERyaXZlciB2R1BVICAgICB8IHwNCj4+PiB8ICAgICAgICAgICAgICAg ICAgICAgICAgfCAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8ICB8IHwNCj4+ PiB8ICAgICAgIFN1cHBvcnQgICAgICAgIDwtLS0+fCAgICAgICAgICAgICAgICAgICAgICAgPC0t LS0+DQo+Pj4gICAgICAgICAgICAgICAgICAgICAgfHwgIHwgfCArLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rIHwgfCBOVklESUEgdkdQVQ0KPj4+IE1hbmFnZXIgICAgfCAgfCBOVklESUEgdkdQVSBW RklPIFZhcmlhbnQgRHJpdmVyIHx8ICB8IHwgfCAgICBOVklESUENCj4+PiBHUFUgQ29yZSAgICB8 IHwgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgIHwNCj4+PiAgICAgICAgICB8fCAgfCB8IHwg ICAgICAgIERyaXZlciAgICAgICAgIHwgfA0KPj4+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r ICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK3wgIHwgfA0KPj4+ICstLS0tLS0t LV4tLS0tLS0tLS0tLS0tLSsNCj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgIHwNCj4+PiB8ICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwNCj4+PiAgICAg ICAgICAgICAgICAgfCAgICAgICAgICB8DQo+Pj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKw0KPj4+IHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgIHwNCj4+PiAgICAgIHwNCj4+PiArLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0t LS0tfC0tLS0tLS0tLS0rDQo+Pj4gfCAgICAgICAgICB2ICAgICAgICAgICAgICAgKy0tLS0tLS0t LS12LS0tLS0tLS0tKw0KPj4+ICstLS0tLS0tLS0tLXYtLS0tLS0tLSsgKy0tLS0tLS0tLS0tdi0t LS0tLS0tKyB8IHwgIE5WSURJQQ0KPj4+ICAgICAgIHwgICAgICAgUENJIFZGICAgICAgIHwgfCAg ICAgICBQQ0kgVkYgICAgICAgfCB8ICAgICAgIFBDSSBWRg0KPj4+ICAgIHwgfCB8ICBQaHlzaWNh bCBHUFUgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICB8IHwNCj4+PiAgICAgICAgIHwg fCAgICAgICAgICAgICAgICAgICAgfCB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4+ PiAoVmlydHVhbCBHUFUpICAgIHwgfCAgIChWaXJ0dWFsIEdQVSkgICAgfCB8ICAgIChWaXJ0dWFs IEdQVSkgICB8IHwgfA0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0t LS0tLS0tLS0rICstLS0tLS0tLS0tLS0tLS0tLS0tLSsNCj4+PiArLS0tLS0tLS0tLS0tLS0tLS0t LS0rIHwNCj4+PiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+Pj4N Cj4+PiBUaGUgc3VwcG9ydGVkIEdQVSBnZW5lcmF0aW9ucyB3aWxsIGJlIEFkYSB3aGljaCBjb21l IHdpdGggdGhlDQo+Pj4gc3VwcG9ydGVkIEdQVSBhcmNoaXRlY3R1cmUuIEVhY2ggdkdQVSBpcyBi YWNrZWQgYnkgYSBQQ0kgdmlydHVhbA0KPj4+IGZ1bmN0aW9uLg0KPj4+DQo+Pj4gVGhlIE5WSURJ QSB2R1BVIFZGSU8gbW9kdWxlIHRvZ2V0aGVyIHdpdGggVkZJTyBzaXRzIG9uIFZGcywgcHJvdmlk ZXMNCj4+PiBleHRlbmRlZCBtYW5hZ2VtZW50IGFuZCBmZWF0dXJlcywgZS5nLiBzZWxlY3Rpbmcg dGhlIHZHUFUgdHlwZXMsDQo+Pj4gc3VwcG9ydCBsaXZlIG1pZ3JhdGlvbiBhbmQgZHJpdmVyIHdh cm0gdXBkYXRlLg0KPj4+DQo+Pj4gTGlrZSBvdGhlciBkZXZpY2VzIHRoYXQgVkZJTyBzdXBwb3J0 cywgVkZJTyBwcm92aWRlcyB0aGUgc3RhbmRhcmQNCj4+PiB1c2Vyc3BhY2UgQVBJcyBmb3IgZGV2 aWNlIGxpZmVjeWNsZSBtYW5hZ2VtZW50IGFuZCBhZHZhbmNlIGZlYXR1cmUNCj4+PiBzdXBwb3J0 Lg0KPj4+DQo+Pj4gVGhlIE5WSURJQSB2R1BVIG1hbmFnZXIgcHJvdmlkZXMgbmVjZXNzYXJ5IHN1 cHBvcnQgdG8gdGhlIE5WSURJQSB2R1BVDQo+Pj4gVkZJTyB2YXJpYW50IGRyaXZlciB0byBjcmVh dGUvZGVzdHJveSB2R1BVcywgcXVlcnkgYXZhaWxhYmxlIHZHUFUNCj4+PiB0eXBlcywgc2VsZWN0 IHRoZSB2R1BVIHR5cGUsIGV0Yy4NCj4+Pg0KPj4+IE9uIHRoZSBvdGhlciBzaWRlLCBOVklESUEg dkdQVSBtYW5hZ2VyIHRhbGtzIHRvIHRoZSBOVklESUEgR1BVIGNvcmUNCj4+PiBkcml2ZXIsIHdo aWNoIHByb3ZpZGUgbmVjZXNzYXJ5IHN1cHBvcnQgdG8gcmVhY2ggdGhlIEhXIGZ1bmN0aW9ucy4N Cj4+Pg0KPj4+IDIuMiBSZXF1aXJlbWVudHMgdG8gdGhlIE5WSURJQSBHUFUgY29yZSBkcml2ZXIN Cj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4N Cj4+PiBUaGUgcHJpbWFyeSB1c2UgY2FzZSBvZiBDU1AgYW5kIGVudGVycHJpc2UgaXMgYSBzdGFu ZGFsb25lIG1pbmltYWwNCj4+PiBkcml2ZXJzIG9mIHZHUFUgbWFuYWdlciBhbmQgb3RoZXIgbmVj ZXNzYXJ5IGNvbXBvbmVudHMuDQo+Pj4NCj4+PiBOVklESUEgdkdQVSBtYW5hZ2VyIHRhbGtzIHRv IHRoZSBOVklESUEgR1BVIGNvcmUgZHJpdmVyLCB3aGljaCBwcm92aWRlDQo+Pj4gbmVjZXNzYXJ5 IHN1cHBvcnQgdG86DQo+Pj4NCj4+PiAtIExvYWQgdGhlIEdTUCBmaXJtd2FyZSwgYm9vdCB0aGUg R1NQLCBwcm92aWRlIGNvbW1uaWNhdGlvbiBjaGFubmVsLg0KPj4+IC0gTWFuYWdlIHRoZSBzaGFy ZWQvcGFydGl0aW9uZWQgSFcgcmVzb3VyY2VzLiBFLmcuIHJlc2VydmluZyBGQg0KPj4+IG1lbW9y eSwgY2hhbm5lbHMgZm9yIHRoZSB2R1BVIG1hbmFuZ2VyIHRvIGNyZWF0ZSB2R1BVcy4NCj4+PiAt IEV4Y2VwdGlvbiBoYW5kbGluZy4gRS5nLiBkZWxpdmVyaW5nIHRoZSBHU1AgZXZlbnRzIHRvIHZH UFUgbWFuYWdlci4NCj4+PiAtIEhvc3QgZXZlbnQgZGlzcGF0Y2guIEUuZy4gc3VzcGVuZC9yZXN1 bWUuDQo+Pj4gLSBFbnVtZXJhdGlvbnMgb2YgSFcgY29uZmlndXJhdGlvbi4NCj4+Pg0KPj4+IFRo ZSBOVklESUEgR1BVIGNvcmUgZHJpdmVyLCB3aGljaCBzaXRzIG9uIHRoZSBQQ0kgZGV2aWNlIGlu dGVyZmFjZSBvZg0KPj4+IE5WSURJQSBHUFUsIHByb3ZpZGVzIHN1cHBvcnQgdG8gYm90aCBEUk0g ZHJpdmVyIGFuZCB0aGUgdkdQVSBtYW5hZ2VyLg0KPj4+DQo+Pj4gSW4gdGhpcyBSRkMsIHRoZSBz cGxpdCBub3V2ZWF1IEdQVSBkcml2ZXJbM10gaXMgdXNlZCBhcyBhbiBleGFtcGxlIHRvDQo+Pj4g ZGVtb3N0cmF0ZSB0aGUgcmVxdWlyZW1lbnRzIG9mIHZHUFUgbWFuYWdlciB0byB0aGUgY29yZSBk cml2ZXIuIFRoZQ0KPj4+IG5vdXZlYXUgZHJpdmVyIGlzIHNwbGl0IGludG8gbm91dmVhdSAodGhl IERSTSBkcml2ZXIpIGFuZCBudmttICh0aGUNCj4+PiBjb3JlIGRyaXZlcikuDQo+Pj4NCj4+PiAz IFRyeSB0aGUgUkZDIHBhdGNoZXMNCj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+DQo+ Pj4gVGhlIFJGQyBzdXBwb3J0cyB0byBjcmVhdGUgb25lIFZNIHRvIHRlc3QgdGhlIHNpbXBsZSBH UFUgd29ya2xvYWQuDQo+Pj4NCj4+PiAtIEhvc3Qga2VybmVsOg0KPj4+IGh0dHBzOi8vZ2l0aHVi LmNvbS96aGl3YW5nLW52aWRpYS9saW51eC90cmVlL3poaS92Z3B1LW1nci1yZmMNCj4+PiAtIEd1 ZXN0IGRyaXZlciBwYWNrYWdlOiBOVklESUEtTGludXgteDg2XzY0LTUzNS4xNTQuMDUucnVuIFs0 XQ0KPj4+DQo+Pj4gICAgSW5zdGFsbCBndWVzdCBkcml2ZXI6DQo+Pj4gICAgIyBleHBvcnQgR1JJ RF9CVUlMRD0xDQo+Pj4gICAgIyAuL05WSURJQS1MaW51eC14ODZfNjQtNTM1LjE1NC4wNS5ydW4N Cj4+Pg0KPj4+IC0gVGVzdGVkIHBsYXRmb3JtczogTDQwLg0KPj4+IC0gVGVzdGVkIGd1ZXN0IE9T OiBVYnV0bnUgMjQuMDQgTFRTLg0KPj4+IC0gU3VwcG9ydGVkIGV4cGVyaWVuY2U6IExpbnV4IHJp Y2ggZGVza3RvcCBleHBlcmllbmNlIHdpdGggc2ltcGxlIDNEDQo+Pj4gICAgd29ya2xvYWQsIGUu Zy4gZ2xtYXJrMg0KPj4+DQo+Pj4gNCBEZW1vDQo+Pj4gLS0tLS0tDQo+Pj4NCj4+PiBBIGRlbW8g dmlkZW8gY2FuIGJlIGZvdW5kIGF0OiBodHRwczovL3lvdXR1LmJlL1l3Z0l2dmstVjk0DQo+Pj4N Cj4+PiBbMV0gaHR0cHM6Ly93d3cubnZpZGlhLmNvbS9lbi11cy9kYXRhLWNlbnRlci92aXJ0dWFs LXNvbHV0aW9ucy8NCj4+PiBbMl0NCj4+PiBodHRwczovL2RvY3MubnZpZGlhLmNvbS92Z3B1LzE3 LjAvZ3JpZC12Z3B1LXVzZXItZ3VpZGUvaW5kZXguaHRtbCNhcmNoaXRlY3R1cmUtZ3JpZC12Z3B1 DQo+Pj4gWzNdDQo+Pj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvZHJpLWRldmVsLzIwMjQwNjEz MTcwMjExLjg4Nzc5LTEtYnNrZWdnc0BudmlkaWEuY29tL1QvDQo+Pj4gWzRdDQo+Pj4gaHR0cHM6 Ly91cy5kb3dubG9hZC5udmlkaWEuY29tL1hGcmVlODYvTGludXgteDg2XzY0LzUzNS4xNTQuMDUv TlZJRElBLUxpbnV4LXg4Nl82NC01MzUuMTU0LjA1LnJ1bg0KPj4+DQo+Pj4gWmhpIFdhbmcgKDI5 KToNCj4+PiAgICBudmttL3ZncHU6IGludHJvZHVjZSBOVklESUEgdkdQVSBzdXBwb3J0IHByZWx1 ZGUNCj4+PiAgICBudmttL3ZncHU6IGF0dGFjaCB0byBudmttIGFzIGEgbnZrbSBjbGllbnQNCj4+ PiAgICBudmttL3ZncHU6IHJlc2VydmUgYSBsYXJnZXIgR1NQIGhlYXAgd2hlbiBOVklESUEgdkdQ VSBpcyBlbmFibGVkDQo+Pj4gICAgbnZrbS92Z3B1OiBzZXQgdGhlIFZGIHBhcnRpdGlvbiBjb3Vu dCB3aGVuIE5WSURJQSB2R1BVIGlzIGVuYWJsZWQNCj4+PiAgICBudmttL3ZncHU6IHBvcHVsYXRl IEdTUF9WRl9JTkZPIHdoZW4gTlZJRElBIHZHUFUgaXMgZW5hYmxlZA0KPj4+ICAgIG52a20vdmdw dTogc2V0IFJNU2V0U3Jpb3ZNb2RlIHdoZW4gTlZJRElBIHZHUFUgaXMgZW5hYmxlZA0KPj4+ICAg IG52a20vZ3NwOiBhZGQgYSBub3RpZnkgaGFuZGxlciBmb3IgR1NQIGV2ZW50DQo+Pj4gICAgICBH UFVBQ0NUX1BFUkZNT05fVVRJTF9TQU1QTEVTDQo+Pj4gICAgbnZrbS92Z3B1OiBnZXQgdGhlIHNp emUgVk1NVSBzZWdtZW50IGZyb20gR1NQIGZpcm13YXJlDQo+Pj4gICAgbnZrbS92Z3B1OiBpbnRy b2R1Y2UgdGhlIHJlc2VydmVkIGNoYW5uZWwgYWxsb2NhdG9yDQo+Pj4gICAgbnZrbS92Z3B1OiBp bnRyb2R1Y2UgaW50ZXJmYWNlcyBmb3IgTlZJRElBIHZHUFUgVkZJTyBtb2R1bGUNCj4+PiAgICBu dmttL3ZncHU6IGludHJvZHVjZSBHU1AgUk0gY2xpZW50IGFsbG9jIGFuZCBmcmVlIGZvciB2R1BV DQo+Pj4gICAgbnZrbS92Z3B1OiBpbnRyb2R1Y2UgR1NQIFJNIGNvbnRyb2wgaW50ZXJmYWNlIGZv ciB2R1BVDQo+Pj4gICAgbnZrbTogbW92ZSBjaGlkLmggdG8gbnZrbS9lbmdpbmUuDQo+Pj4gICAg bnZrbS92Z3B1OiBpbnRyb2R1Y2UgY2hhbm5lbCBhbGxvY2F0aW9uIGZvciB2R1BVDQo+Pj4gICAg bnZrbS92Z3B1OiBpbnRyb2R1Y2UgRkIgbWVtb3J5IGFsbG9jYXRpb24gZm9yIHZHUFUNCj4+PiAg ICBudmttL3ZncHU6IGludHJvZHVjZSBCQVIxIG1hcCByb3V0aW5lcyBmb3IgdkdQVXMNCj4+PiAg ICBudmttL3ZncHU6IGludHJvZHVjZSBlbmdpbmUgYml0bWFwIGZvciB2R1BVDQo+Pj4gICAgbnZr bS92Z3B1OiBpbnRyb2R1Y2UgcGNpX2RyaXZlci5zcmlvdl9jb25maWd1cmUoKSBpbiBudmttDQo+ Pj4gICAgdmZpby92Z3B1X21ncjogaW50cm9kY3VlIHZHUFUgbGlmZWN5Y2xlIG1hbmFnZW1lbnQg cHJlbHVkZQ0KPj4+ICAgIHZmaW8vdmdwdV9tZ3I6IGFsbG9jYXRlIEdTUCBSTSBjbGllbnQgZm9y IE5WSURJQSB2R1BVIG1hbmFnZXINCj4+PiAgICB2ZmlvL3ZncHVfbWdyOiBpbnRyb2R1Y2UgdkdQ VSB0eXBlIHVwbG9hZGluZw0KPj4+ICAgIHZmaW8vdmdwdV9tZ3I6IGFsbG9jYXRlIHZHUFUgRkIg bWVtb3J5IHdoZW4gY3JlYXRpbmcgdkdQVXMNCj4+PiAgICB2ZmlvL3ZncHVfbWdyOiBhbGxvY2F0 ZSB2R1BVIGNoYW5uZWxzIHdoZW4gY3JlYXRpbmcgdkdQVXMNCj4+PiAgICB2ZmlvL3ZncHVfbWdy OiBhbGxvY2F0ZSBtZ210IGhlYXAgd2hlbiBjcmVhdGluZyB2R1BVcw0KPj4+ICAgIHZmaW8vdmdw dV9tZ3I6IG1hcCBtZ210IGhlYXAgd2hlbiBjcmVhdGluZyBhIHZHUFUNCj4+PiAgICB2ZmlvL3Zn cHVfbWdyOiBhbGxvY2F0ZSBHU1AgUk0gY2xpZW50IHdoZW4gY3JlYXRpbmcgdkdQVXMNCj4+PiAg ICB2ZmlvL3ZncHVfbWdyOiBib290bG9hZCB0aGUgbmV3IHZHUFUNCj4+PiAgICB2ZmlvL3ZncHVf bWdyOiBpbnRyb2R1Y2UgdkdQVSBob3N0IFJQQyBjaGFubmVsDQo+Pj4gICAgdmZpby92Z3B1X21n cjogaW50cm9kdWNlIE5WSURJQSB2R1BVIFZGSU8gdmFyaWFudCBkcml2ZXINCj4+Pg0KPj4+ICAg Li4uL2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9jb3JlL2RldmljZS5oICAgIHwgICAzICsNCj4+ PiAgIC4uLi9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vZW5naW5lL2NoaWQuaCAgICB8ICAyOSAr DQo+Pj4gICAuLi4vZ3B1L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9zdWJkZXYvZ3NwLmggfCAg IDEgKw0KPj4+ICAgLi4uL25vdXZlYXUvaW5jbHVkZS9udmttL3ZncHVfbWdyL3ZncHVfbWdyLmgg IHwgIDQ1ICsrDQo+Pj4gICAuLi4vbnZpZGlhL2luYy9jdHJsL2N0cmwyMDgwL2N0cmwyMDgwZ3B1 LmggICAgfCAgMTIgKw0KPj4+ICAgZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9LYnVpbGQg ICAgICAgICAgIHwgICAxICsNCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vZGV2 aWNlL3BjaS5jICAgICB8ICAzMyArLQ0KPj4+ICAgLi4uL2dwdS9kcm0vbm91dmVhdS9udmttL2Vu Z2luZS9maWZvL2NoaWQuYyAgIHwgIDQ5ICstDQo+Pj4gICAuLi4vZ3B1L2RybS9ub3V2ZWF1L252 a20vZW5naW5lL2ZpZm8vY2hpZC5oICAgfCAgMjYgKy0NCj4+PiAgIC4uLi9ncHUvZHJtL25vdXZl YXUvbnZrbS9lbmdpbmUvZmlmby9yNTM1LmMgICB8ICAgMyArDQo+Pj4gICAuLi4vZ3B1L2RybS9u b3V2ZWF1L252a20vc3ViZGV2L2dzcC9yNTM1LmMgICAgfCAgMTQgKy0NCj4+PiAgIGRyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L252a20vdmdwdV9tZ3IvS2J1aWxkICB8ICAgMyArDQo+Pj4gICBkcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3ZncHVfbWdyL3ZmaW8uYyAgfCAzMDIgKysrKysrKysr KysNCj4+PiAgIC4uLi9ncHUvZHJtL25vdXZlYXUvbnZrbS92Z3B1X21nci92Z3B1X21nci5jICB8 IDIzNCArKysrKysrKw0KPj4+ICAgZHJpdmVycy92ZmlvL3BjaS9LY29uZmlnICAgICAgICAgICAg ICAgICAgICAgIHwgICAyICsNCj4+PiAgIGRyaXZlcnMvdmZpby9wY2kvTWFrZWZpbGUgICAgICAg ICAgICAgICAgICAgICB8ICAgMiArDQo+Pj4gICBkcml2ZXJzL3ZmaW8vcGNpL252aWRpYS12Z3B1 L0tjb25maWcgICAgICAgICAgfCAgMTMgKw0KPj4+ICAgZHJpdmVycy92ZmlvL3BjaS9udmlkaWEt dmdwdS9NYWtlZmlsZSAgICAgICAgIHwgICA4ICsNCj4+PiAgIGRyaXZlcnMvdmZpby9wY2kvbnZp ZGlhLXZncHUvZGVidWcuaCAgICAgICAgICB8ICAxOCArDQo+Pj4gICAuLi4vbnZpZGlhL2luYy9j dHJsL2N0cmwwMDAwL2N0cmwwMDAwc3lzdGVtLmggfCAgMzAgKw0KPj4+ICAgLi4uL252aWRpYS9p bmMvY3RybC9jdHJsMjA4MC9jdHJsMjA4MGdwdS5oICAgIHwgIDMzICsrDQo+Pj4gICAuLi4vY3Ry bC9jdHJsMjA4MC9jdHJsMjA4MHZncHVtZ3JpbnRlcm5hbC5oICAgfCAxNTIgKysrKysrDQo+Pj4g ICAuLi4vY29tbW9uL3Nkay9udmlkaWEvaW5jL2N0cmwvY3RybGEwODEuaCAgICAgfCAxMDkgKysr Kw0KPj4+ICAgLi4uL252cm0vY29tbW9uL3Nkay9udmlkaWEvaW5jL2Rldl92Z3B1X2dzcC5oIHwg MjEzICsrKysrKysrDQo+Pj4gICAuLi4vY29tbW9uL3Nkay9udmlkaWEvaW5jL252X3ZncHVfdHlw ZXMuaCAgICAgfCAgNTEgKysNCj4+PiAgIC4uLi9jb21tb24vc2RrL3ZtaW9wbHVnaW4vaW5jL3Zt aW9wbHVnaW4uaCAgICB8ICAyNiArDQo+Pj4gICAuLi4vcGNpL252aWRpYS12Z3B1L2luY2x1ZGUv bnZybS9udnR5cGVzLmggICAgfCAgMjQgKw0KPj4+ICAgZHJpdmVycy92ZmlvL3BjaS9udmlkaWEt dmdwdS9udmttLmggICAgICAgICAgIHwgIDk0ICsrKysNCj4+PiAgIGRyaXZlcnMvdmZpby9wY2kv bnZpZGlhLXZncHUvcnBjLmMgICAgICAgICAgICB8IDI0MiArKysrKysrKysNCj4+PiAgIGRyaXZl cnMvdmZpby9wY2kvbnZpZGlhLXZncHUvdmZpby5oICAgICAgICAgICB8ICA0MyArKw0KPj4+ICAg ZHJpdmVycy92ZmlvL3BjaS9udmlkaWEtdmdwdS92ZmlvX2FjY2Vzcy5jICAgIHwgMjk3ICsrKysr KysrKysNCj4+PiAgIGRyaXZlcnMvdmZpby9wY2kvbnZpZGlhLXZncHUvdmZpb19tYWluLmMgICAg ICB8IDUxMQ0KPj4+ICsrKysrKysrKysrKysrKysrKyBkcml2ZXJzL3ZmaW8vcGNpL252aWRpYS12 Z3B1L3ZncHUuYyAgICAgICAgICAgfA0KPj4+IDM1MiArKysrKysrKysrKysgZHJpdmVycy92Zmlv L3BjaS9udmlkaWEtdmdwdS92Z3B1X21nci5jICAgICAgIHwgMTQ0DQo+Pj4gKysrKysgZHJpdmVy cy92ZmlvL3BjaS9udmlkaWEtdmdwdS92Z3B1X21nci5oICAgICAgIHwgIDg5ICsrKw0KPj4+ICAg ZHJpdmVycy92ZmlvL3BjaS9udmlkaWEtdmdwdS92Z3B1X3R5cGVzLmMgICAgIHwgNDY2ICsrKysr KysrKysrKysrKysNCj4+PiAgIGluY2x1ZGUvZHJtL252a21fdmdwdV9tZ3JfdmZpby5oICAgICAg ICAgICAgICB8ICA2MSArKysNCj4+PiAgIDM3IGZpbGVzIGNoYW5nZWQsIDM3MDIgaW5zZXJ0aW9u cygrKSwgMzMgZGVsZXRpb25zKC0pDQo+Pj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL2VuZ2luZS9jaGlkLmgNCj4+PiAgIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPj4+IGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS92Z3B1 X21nci92Z3B1X21nci5oIGNyZWF0ZSBtb2RlDQo+Pj4gMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vdmdwdV9tZ3IvS2J1aWxkIGNyZWF0ZSBtb2RlDQo+Pj4gMTAwNjQ0IGRyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252a20vdmdwdV9tZ3IvdmZpby5jIGNyZWF0ZSBtb2RlDQo+Pj4g MTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vdmdwdV9tZ3IvdmdwdV9tZ3IuYyBj cmVhdGUgbW9kZQ0KPj4+IDEwMDY0NCBkcml2ZXJzL3ZmaW8vcGNpL252aWRpYS12Z3B1L0tjb25m aWcgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+Pj4gZHJpdmVycy92ZmlvL3BjaS9udmlkaWEtdmdwdS9N YWtlZmlsZSBjcmVhdGUgbW9kZSAxMDA2NDQNCj4+PiBkcml2ZXJzL3ZmaW8vcGNpL252aWRpYS12 Z3B1L2RlYnVnLmggY3JlYXRlIG1vZGUgMTAwNjQ0DQo+Pj4gZHJpdmVycy92ZmlvL3BjaS9udmlk aWEtdmdwdS9pbmNsdWRlL252cm0vY29tbW9uL3Nkay9udmlkaWEvaW5jL2N0cmwvY3RybDAwMDAv Y3RybDAwMDBzeXN0ZW0uaA0KPj4+IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPj4+IGRyaXZlcnMvdmZp by9wY2kvbnZpZGlhLXZncHUvaW5jbHVkZS9udnJtL2NvbW1vbi9zZGsvbnZpZGlhL2luYy9jdHJs L2N0cmwyMDgwL2N0cmwyMDgwZ3B1LmgNCj4+PiBjcmVhdGUgbW9kZSAxMDA2NDQNCj4+PiBkcml2 ZXJzL3ZmaW8vcGNpL252aWRpYS12Z3B1L2luY2x1ZGUvbnZybS9jb21tb24vc2RrL252aWRpYS9p bmMvY3RybC9jdHJsMjA4MC9jdHJsMjA4MHZncHVtZ3JpbnRlcm5hbC5oDQo+Pj4gY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+Pj4gZHJpdmVycy92ZmlvL3BjaS9udmlkaWEtdmdwdS9pbmNsdWRlL252cm0v Y29tbW9uL3Nkay9udmlkaWEvaW5jL2N0cmwvY3RybGEwODEuaA0KPj4+IGNyZWF0ZSBtb2RlIDEw MDY0NA0KPj4+IGRyaXZlcnMvdmZpby9wY2kvbnZpZGlhLXZncHUvaW5jbHVkZS9udnJtL2NvbW1v bi9zZGsvbnZpZGlhL2luYy9kZXZfdmdwdV9nc3AuaA0KPj4+IGNyZWF0ZSBtb2RlIDEwMDY0NA0K Pj4+IGRyaXZlcnMvdmZpby9wY2kvbnZpZGlhLXZncHUvaW5jbHVkZS9udnJtL2NvbW1vbi9zZGsv bnZpZGlhL2luYy9udl92Z3B1X3R5cGVzLmgNCj4+PiBjcmVhdGUgbW9kZSAxMDA2NDQNCj4+PiBk cml2ZXJzL3ZmaW8vcGNpL252aWRpYS12Z3B1L2luY2x1ZGUvbnZybS9jb21tb24vc2RrL3ZtaW9w bHVnaW4vaW5jL3ZtaW9wbHVnaW4uaA0KPj4+IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPj4+IGRyaXZl cnMvdmZpby9wY2kvbnZpZGlhLXZncHUvaW5jbHVkZS9udnJtL252dHlwZXMuaCBjcmVhdGUgbW9k ZQ0KPj4+IDEwMDY0NCBkcml2ZXJzL3ZmaW8vcGNpL252aWRpYS12Z3B1L252a20uaCBjcmVhdGUg bW9kZSAxMDA2NDQNCj4+PiBkcml2ZXJzL3ZmaW8vcGNpL252aWRpYS12Z3B1L3JwYy5jIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPj4+IGRyaXZlcnMvdmZpby9wY2kvbnZpZGlhLXZncHUvdmZpby5oIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPj4+IGRyaXZlcnMvdmZpby9wY2kvbnZpZGlhLXZncHUvdmZpb19h Y2Nlc3MuYyBjcmVhdGUgbW9kZSAxMDA2NDQNCj4+PiBkcml2ZXJzL3ZmaW8vcGNpL252aWRpYS12 Z3B1L3ZmaW9fbWFpbi5jIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPj4+IGRyaXZlcnMvdmZpby9wY2kv bnZpZGlhLXZncHUvdmdwdS5jIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPj4+IGRyaXZlcnMvdmZpby9w Y2kvbnZpZGlhLXZncHUvdmdwdV9tZ3IuYyBjcmVhdGUgbW9kZSAxMDA2NDQNCj4+PiBkcml2ZXJz L3ZmaW8vcGNpL252aWRpYS12Z3B1L3ZncHVfbWdyLmggY3JlYXRlIG1vZGUgMTAwNjQ0DQo+Pj4g ZHJpdmVycy92ZmlvL3BjaS9udmlkaWEtdmdwdS92Z3B1X3R5cGVzLmMgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+Pj4gaW5jbHVkZS9kcm0vbnZrbV92Z3B1X21ncl92ZmlvLmgNCj4+Pg0KPj4NCg0K