From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web10.5885.1654253539252975210 for ; Fri, 03 Jun 2022 03:52:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=Sz6gjZ+t; spf=pass (domain: intel.com, ip: 192.55.52.115, mailfrom: jiewen.yao@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1654253539; x=1685789539; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=fgAcH30kScBF68+ZRdRYh4hoh3GtxErkBeC6w56OnZo=; b=Sz6gjZ+trDV/1XUHH/7MEcLKXj8RMTlPqGesln7MsW82XUY3b0F5arQa 32FWwYuHuXrhqbQBhpget6T7VcjHyUCFrQfJ75/4OVBsAR8s/V9p0xrdy N8Dj2/D1cJjVZbPg5kSmb2ulVjG2sxRHAKL9RP2uADSMbRN0to57Rn4K/ foZynHou4J0YLaWELHsfE62PdDYOZf9zaUnytBCg9iuGL0k4vR8RCgmHa G5iAT3n/EoeJCYutgxYEHcoB7pIjfVwWmodBjmaGk1fT6kaHVrBca0K2Y pd02miWkdi25BnKojZwJF5LL92XsPBxTSMEL/lCZRnUDqBIc04sElyySL w==; X-IronPort-AV: E=McAfee;i="6400,9594,10366"; a="276295517" X-IronPort-AV: E=Sophos;i="5.91,274,1647327600"; d="scan'208";a="276295517" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Jun 2022 03:52:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.91,274,1647327600"; d="scan'208";a="634471844" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga008.fm.intel.com with ESMTP; 03 Jun 2022 03:52:18 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Fri, 3 Jun 2022 03:52:17 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Fri, 3 Jun 2022 03:52:17 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.175) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.27; Fri, 3 Jun 2022 03:52:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HZ+dRNNRcpMHhqhXtl0BXE4v23Vzx9XLqHvTFkBuWjkzcA9EPQR55w5LLLyLuZ5G1JAVHUwGf7LB7QDQ+/ob9aJ4a1ZkgyhrJh9VQvfJTAIBkCM38jWpNZfiGdKtFLYQtLQgoTWDoPiZ8WhNXHqMEWLVyHN74WLQHQ0YVvLKL65Z11Pfl6std4hQksPUYMnfjij+2Y6kom4jaIxpzLE0ckMMCiPcNdG4SK9rEh0dM6yTQ4bC3ri/WUJE0jon2IymcaXrRORlJj0OsqaMVRJT9kTlSVCYGqhuVwYbAvHH5RmQUnrHVJkPHLC8ir7sGnwPzDAFkiMvzkp33F6sEubKOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=fgAcH30kScBF68+ZRdRYh4hoh3GtxErkBeC6w56OnZo=; b=aUmZG6coS0cl9MSKg1oSPeN/dayBRWIDerMK9p+MdgzYnzFDYRegt8OBtqek8jzAPrMxHjhck83JzBo7kAFC+RoN6Van88o0en1R+UgparKQQdp14DmkZfgrgglBGLHvEfasb6gHWS5xAlIMDR0oxvBv5BsMVJ0xudy8fuHXUQyrue1r2hoa/V8+0vJjBX2R8QG4WWmYY98ubMSdURXGLn/w5NKHIXgrHOUmDu5ANxnO4kd7iA32iyHfl0PNP8VtIIxJ/h4Q6xMvNbAWZmd8HJdFMnCX+3YmbT0cPSJ+Qtmwhy8bI8miiqwgL8+9WSl5mu7wrgwxdMThVr/FebfwHA== 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 MW4PR11MB5872.namprd11.prod.outlook.com (2603:10b6:303:169::14) by CH2PR11MB4453.namprd11.prod.outlook.com (2603:10b6:610:43::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.15; Fri, 3 Jun 2022 10:52:10 +0000 Received: from MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::382e:55b8:41a6:6eff]) by MW4PR11MB5872.namprd11.prod.outlook.com ([fe80::382e:55b8:41a6:6eff%6]) with mapi id 15.20.5314.012; Fri, 3 Jun 2022 10:52:10 +0000 From: "Yao, Jiewen" To: "Boeuf, Sebastien" , "devel@edk2.groups.io" CC: "kraxel@redhat.com" , "Justen, Jordan L" Subject: Re: [PATCH 0/4] OvmfPkg: CloudHv: Reduce PIO and MMIO accesses Thread-Topic: [PATCH 0/4] OvmfPkg: CloudHv: Reduce PIO and MMIO accesses Thread-Index: AQHYZGyo74G7cQ3vBUmIaLP2JIDT96078+TwgAAC4QCAAAbEgIABqYkw Date: Fri, 3 Jun 2022 10:52:10 +0000 Message-ID: References: <97b0716f823a10b1aff2bb41f5adba02e7be2a3d.camel@intel.com> <4815b9c5d74b45c64d098ec71d135cf695e84d0f.camel@intel.com> In-Reply-To: <4815b9c5d74b45c64d098ec71d135cf695e84d0f.camel@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.6.500.17 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: afbc4a21-2771-43b2-9755-08da454f1c44 x-ms-traffictypediagnostic: CH2PR11MB4453:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: luUmtHtG1XnhNj6f3mso9qiKgjnTbO80kSJokNAcj2wGeGDFRBYUYhRv5P8QOukI91Gpce7pxR+nmqHNHshokRdyfwxfUCBReHtntmEGGfLNgM98P7RNjy+kc2ybeKl5KMBmufrp7PR6lt5WXvn3YkGdAY0IE0drWO2wkwYbbMtetgc8WnzhLJi9hi2Kvnf7XJki7i+Fjw6oRIKe+dzLDcdMkcplPnWc4F28Lu57XM9z2ad05AWsuf2XOJepVt4FtHaj6WwmJ3PY3M2lDsDGCD+kR7JFcNzfY3ZS0k3i1oV+rPNl1QfRhSTuZqHDP+9XoD9JH1vPTT+Nb7KBHNzTr7L5BxbJ11yqFxAssHvxksgAhBO0jcSRKjfClUPOfUlEe2BqL+CE8Jaq6LvsqoU0n2vcH1Aw/t7PhObBmSfR4NxJ7qyUPIpZz+ZqrcfjXe57ZkSNjw38zfFWIZfRQtQJ0IZ4h7Mb4S0rBBsEuk388GLtrHa92YETWGwIGhPkJwz9X2DdaI11sfiG8QwgmRHibnj7BIPCAnnaDBaYBRgDt++tmfRWQv455/JLncL4SKvMUoR8PPCkuqnB2JR6HCckWbkEpPdqTEwrX+mJH8EAEnJQecz9Cs3DiWpMMNBU1rtUqR4Lv4+cr5Lna2AHCXgNAYbzqV9rIjTVCl1hG6IRLmdXnSBtR2B3h296QfG/Z34WX3gmVvszo+Y7nPSNwpHFvMl9vlQXKwLz5b2NgF/fB8ocBaIa6lBCToBPciSMRjjRH1D7HIjOWEz7p4OEsEhS/j5hh4fThOgyWDRL2GRto4eRU3oqJUNUuD2nlbymSr+E4VLIt0spbtj9agVit7gh2A== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB5872.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(76116006)(82960400001)(4326008)(38100700002)(52536014)(8676002)(186003)(8936002)(66556008)(86362001)(5660300002)(966005)(2906002)(508600001)(19627235002)(33656002)(71200400001)(7696005)(54906003)(110136005)(316002)(83380400001)(66446008)(64756008)(55016003)(38070700005)(107886003)(9686003)(26005)(6506007)(53546011)(122000001)(66476007)(66946007);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SXQ1MW1BK3prVEZhRjdibGcwU1lDcU81dytrT0ZGMlMxQ20zY0huWDhsV0hT?= =?utf-8?B?elc0RkRvdEtBWTV5cW8rMTBtNWNNSVUxcGJWUGlKYU56T1VBODdNZUhNTkRS?= =?utf-8?B?UUhOOU1scmVqN3ZoQWVzQlNIUGppUTRCa2RFdkZiRXNTZVpoYWwwWWdLTjNr?= =?utf-8?B?RjYvQ3F3WkZIYkVuM20xSFc3QUpnNUxYY29sbjdtM05sYzRvWDc5a0FRVGZj?= =?utf-8?B?cHk4MmwwTG56MWlRVytab3VMRUpWQjFOc2R4ay9rYnJQQkRnNmEveXVrVUx6?= =?utf-8?B?SFlJeWVxWHcxY1BGMytrR2VHekN0NW5GUHZDM3J2eDNKT0l6NWVCSThiNGxB?= =?utf-8?B?UWMzV2lPdy9XbHFqWjZoeE9lc2FQNkdRbjdKVjE5eVBUcDcrcnJDTyt6YVRS?= =?utf-8?B?Y1ZKSWIwYlo4SVFKSi95RjU2QzF2bVVsZGMySjB0Z3lLMEN2TFQ4RFRNQWRH?= =?utf-8?B?TjEvNmlRSDR3eTJ3dUZhWXdCODRjaHVydnoyQTZFbjJMaGJKbWUrZXo0UkVK?= =?utf-8?B?RmV1ZzVzVC8xWGFtSEJIdHVRVC9DWTFhWm53RmVXbzJyeHNlK25UVnB2Y0dV?= =?utf-8?B?WWhCdHYyQTM0QUp5T1laUzFJY29SOSs2V2djRDlLWWgrZ3FPN0d6ZEhzcEp2?= =?utf-8?B?bWN1dGxtR25kTm14K0pBNEtzcENYZVVYRDRPSmROZ2dTSHU1bzYwTldMdmFW?= =?utf-8?B?YkJmcS9FY3JQSGRRa1ZNN3hXbDVyeHl6TXczQ2tTNXVSVWlVcnFPTEF0ZFh0?= =?utf-8?B?SnVxNlZpdTNhYmh1WGI1aWdPYnY4S3JmSTN3MGUxbS9Pd2NGb0hLbENzZTRK?= =?utf-8?B?YzAwZXBQbG1VY2QvQW1iZ1FXYkZIN3FVOUREVXpqM0IyUkhPT21nUUxEdXBN?= =?utf-8?B?aWd6TWZyODBmRTRvd1VJZnArN1ZDL0ROVXdCaUt3VlVvdTRDSE9iNkJLeHVk?= =?utf-8?B?dEE2M3pxell3NzVBVVd2Zm1GcDN0YTZOM3UxQ1VTMm5yL1JTU2R3VmI0OXc1?= =?utf-8?B?cGV6amNoYWE1VHJ0eUNnNjlsMWd6Q0o0V0pldWVybGV3a0JoVXlQaVprekZQ?= =?utf-8?B?a0dYUWtqZ3ZPMEEvSC9taWdTM0Nwa0g1U1E4MDNDWU4vRTByQUowT09wdGtL?= =?utf-8?B?blJ1RWp4WDlrdkgyREpHUmhjSFNtWkNMV1RRcnAyTXBycEJGT0tGZXlBcmhM?= =?utf-8?B?NE9VZVlEc0ZrbU1CRG1kNlZwS0p3SFdxMjdZR3A4VzFuL0gzSnlaV0Z2empJ?= =?utf-8?B?V0tPdytGK29MdlFFWWwwR1J3Z0YrL1dJUUtORVRXYjRmVjFYek9na0U3WnhZ?= =?utf-8?B?bktDdWVBTHcwWVBIL0NZUVVVd29MczNNaXR6aUp4T2NlOGpMQ3BWcENJWHFp?= =?utf-8?B?SnF2cnhITk5wNy9xQW1wOFdhRDdEZ3FGeDJ6QTVXRVM3WWJUWUtUbVVCaDJ1?= =?utf-8?B?TWJVaFRtVFNwVkFKdnpWZzE2OVRicFdIT1NUdkZsaXNoRklmckF2N0V5aUpp?= =?utf-8?B?bU90R2NOWGFlMElIUktuZStSYm93RXlzNXYvdDZWK2Uyd1puZGJVZ2ZGanlJ?= =?utf-8?B?UWo3RlZmNUt3bVBwL3RrdlBRMWJKWk8vN25odVZYa1VtUTRvSTZhWW1IZkRN?= =?utf-8?B?MTR1aDl2anNTSy9CUFlhWVYwdnUxdUE4RjR6bmF2UUppZFpPYUN5eEVWZ0Jh?= =?utf-8?B?THZEMkxMeGM5TDF6dkM3eFd4N1hZKzdoOVZIMi9MMUd2eE92c3dXRDRUdDR6?= =?utf-8?B?alRsVnFwRVJYenh2Y0dyellkanNIQWFFYTJuWkM0b0dRSW9sTmttbE5iSWFC?= =?utf-8?B?Y0Q2YnhjSEVxTEJUb3ZHVEhjK2syOVpRWVhSclVHVWZabHZOeEEvV2U2UXgr?= =?utf-8?B?eURqUGJJcUk2R1BJR1pDUFZ1eFg4RDh1OGRrRU5MZk5ndkVBZTVpSzJvZFds?= =?utf-8?B?dnh1ZXpzUU9aSzBsWVFadE5VOVorZi9NOU9tdVZwaTgzSk9RZC9WRms5b1Ru?= =?utf-8?B?WEpscW40ZXN4MGQycTlVU2NMYlJqYWdWNVp5bGtzRXhKMDFNbGE4TkhOOW5I?= =?utf-8?B?a3hLVUNtZERQVkU0ek5CY3ZVSndYOG4raVUydzVDMExFa2dIakg5VVdOSnlJ?= =?utf-8?B?UEU0VVN3Mk8rVHlSa0JBWjhCblNLdjc2c2FuS2hkc0R1ajRITHV6SVRSMzdw?= =?utf-8?B?eVNaQ254NVFERzlnZEhCVVVZTTlMMHJabXJyeGtsNmwxckRQVDloSmNSZU5w?= =?utf-8?B?b2VpU050VjhrVklXbnZnZjdGQlQydGdFT2lkRUZTRDViSzI1QVVVT3lYVG5R?= =?utf-8?B?b2ZNb2p3RERRUVJQaXVHNC95S0hFdXlROU9GY2NqUDZPTXRKSmRodz09?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB5872.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: afbc4a21-2771-43b2-9755-08da454f1c44 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jun 2022 10:52:10.4711 (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: NlTtjnf7zDFzG/L+vFOqSe3LjdKzYZmneoZvJgM7owxBIkuuXOoZEyIQG5UwgUQzB5+iTK/SeeOIfV8K/ArVRw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR11MB4453 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TWVyZ2VkIGh0dHBzOi8vZ2l0aHViLmNvbS90aWFub2NvcmUvZWRrMi9wdWxsLzI5NDINCg0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBCb2V1ZiwgU2ViYXN0aWVuIDxzZWJh c3RpZW4uYm9ldWZAaW50ZWwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgSnVuZSAyLCAyMDIyIDU6 MjkgUE0NCj4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IGRldmVsQGVk azIuZ3JvdXBzLmlvDQo+IENjOiBrcmF4ZWxAcmVkaGF0LmNvbTsgSnVzdGVuLCBKb3JkYW4gTCA8 am9yZGFuLmwuanVzdGVuQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCAwLzRdIE92 bWZQa2c6IENsb3VkSHY6IFJlZHVjZSBQSU8gYW5kIE1NSU8gYWNjZXNzZXMNCj4gDQo+IE9uIFRo dSwgMjAyMi0wNi0wMiBhdCAxMTowNCArMDIwMCwgU2ViYXN0aWVuIEJvZXVmIHdyb3RlOg0KPiA+ IE9uIFRodSwgMjAyMi0wNi0wMiBhdCAwODo1NyArMDAwMCwgWWFvLCBKaWV3ZW4gd3JvdGU6DQo+ ID4gPiBBY2tlZC1ieTogSmlld2VuIFlhbyA8Smlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gPg0K PiA+ID4gSSBub3RpY2UgdGhlIFBSIGZhaWxlZCAtDQo+ID4gPiBodHRwczovL2dpdGh1Yi5jb20v dGlhbm9jb3JlL2VkazIvcHVsbC8yODc1DQo+ID4gPg0KPiA+ID4gSSBqdXN0IHdhbnQgdG8gZG91 YmxlIGNvbmZpcm0sIGRvIHlvdSBoYXZlIGEgc3VjY2VzcyBQUiBmb3IgdGhpcw0KPiA+ID4gcGF0 Y2ggc2V0Pw0KPiA+DQo+ID4gTGV0IG1lIHJlcHVzaCB0aGUgUFIgb25jZSByZWJhc2VkIG9uIGxh dGVzdCBtYXN0ZXIuIEkgdGhpbmsgdGhlDQo+ID4gZmFpbHVyZXMgd2VyZSBvbmx5IHJlbGF0ZWQg dG8gdGhlIFdpbmRvd3MgQ0kgaXNzdWVzLg0KPiANCj4gT2sgdGhlIENJIGlzIHBhc3NpbmcgZmlu ZSBhZnRlciBJIHJlYmFzZWQgb24gbGF0ZXN0IG1hc3Rlci4gU2VlDQo+IGh0dHBzOi8vZ2l0aHVi LmNvbS90aWFub2NvcmUvZWRrMi9wdWxsLzI4NzUNCj4gDQo+IFRoYW5rcywNCj4gU2ViYXN0aWVu DQo+IA0KPiA+DQo+ID4gVGhhbmtzLA0KPiA+IFNlYmFzdGllbg0KPiA+DQo+ID4gPg0KPiA+ID4g VGhhbmsgeW91DQo+ID4gPiBZYW8gSmlld2VuDQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBCb2V1ZiwgU2ViYXN0aWVuIDxzZWJhc3RpZW4u Ym9ldWZAaW50ZWwuY29tPg0KPiA+ID4gPiBTZW50OiBUdWVzZGF5LCBNYXkgMTAsIDIwMjIgODo1 MSBQTQ0KPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW8NCj4gPiA+ID4gQ2M6IFlhbywg Smlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwNCj4gPiA+ID4g PGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyBrcmF4ZWxAcmVkaGF0LmNvbTsgQm9ldWYsIFNl YmFzdGllbg0KPiA+ID4gPiA8c2ViYXN0aWVuLmJvZXVmQGludGVsLmNvbT4NCj4gPiA+ID4gU3Vi amVjdDogW1BBVENIIDAvNF0gT3ZtZlBrZzogQ2xvdWRIdjogUmVkdWNlIFBJTyBhbmQgTU1JTw0K PiA+ID4gPiBhY2Nlc3Nlcw0KPiA+ID4gPg0KPiA+ID4gPiBGcm9tOiBTZWJhc3RpZW4gQm9ldWYg PHNlYmFzdGllbi5ib2V1ZkBpbnRlbC5jb20+DQo+ID4gPiA+DQo+ID4gPiA+IFRoZSBnb2FsIG9m IHRoaXMgc2VyaWVzIGlzIHRvIHJlZHVjZSB0aGUgYW1vdW50IG9mIGluYXBwcm9wcmlhdGUNCj4g PiA+ID4gUElPDQo+ID4gPiA+IGFuZCBNTUlPIGFjY2Vzc2VzIGdlbmVyYXRlZCBieSB0aGUgZmly bXdhcmUgd2hlbiBydW5uaW5nIG9uIENsb3VkDQo+ID4gPiA+IEh5cGVydmlzb3IuDQo+ID4gPiA+ DQo+ID4gPiA+IEZvciBNTUlPIGFjY2Vzc2VzLCBpdCBpcyBhYm91dCBwcm92aWRpbmcgdGhlIHJp Z2h0IGJhc2UgYWRkcmVzcw0KPiA+ID4gPiB3aGVyZQ0KPiA+ID4gPiB0aGUgZmlybXdhcmUgd2ls bCBiZSBsb2FkZWQgYnkgdGhlIFZNTSBpbiBvcmRlciB0byBhdm9pZA0KPiA+ID4gPiB1bmV4cGVj dGVkDQo+ID4gPiA+IGFjY2Vzc2VzIHRvIHNvbWUgYWRkcmVzcyByYW5nZXMuDQo+ID4gPiA+DQo+ ID4gPiA+IEZvciBQSU8gYWNjZXNzZXMsIGl0IGlzIGFib3V0IHByZXZlbnRpbmcgc29tZSByZWFk L3dyaXRlIHRvIGJlDQo+ID4gPiA+IHBlcmZvcm1lZA0KPiA+ID4gPiBpbiB0aGUgZmlyc3QgcGxh Y2UsIGFzIHdlIGtub3cgdGhlIHVuZGVybHlpbmcgZGV2aWNlIGlzIG5vdA0KPiA+ID4gPiBlbXVs YXRlZCBieQ0KPiA+ID4gPiBDbG91ZCBIeXBlcnZpc29yLg0KPiA+ID4gPg0KPiA+ID4gPiBTaWdu ZWQtb2ZmLWJ5OiBTZWJhc3RpZW4gQm9ldWYgPHNlYmFzdGllbi5ib2V1ZkBpbnRlbC5jb20+DQo+ ID4gPiA+DQo+ID4gPiA+IFNlYmFzdGllbiBCb2V1ZiAoNCk6DQo+ID4gPiA+IMKgIE92bWZQa2c6 IENsb3VkSHY6IEZpeCBGV19CQVNFX0FERFJFU1MNCj4gPiA+ID4gwqAgT3ZtZlBrZzogQ2hlY2sg Zm9yIFFlbXVGd0NmZyBhdmFpbGFiaWxpdHkgYmVmb3JlIGFjY2Vzc2luZyBpdA0KPiA+ID4gPiDC oCBPdm1mUGtnOiBDbG91ZEh2OiBSZWx5IG9uIFFlbXVGd0NmZ0xpYk51bGwgaW1wbGVtZW50YXRp b24NCj4gPiA+ID4gwqAgT3ZtZlBrZzogRG9uJ3QgYWNjZXNzIEEyMCBnYXRlIHJlZ2lzdGVyIG9u IENsb3VkIEh5cGVydmlzb3INCj4gPiA+ID4NCj4gPiA+ID4gwqBPdm1mUGtnL0Nsb3VkSHYvQ2xv dWRIdkRlZmluZXMuZmRmLmluY8KgwqDCoMKgwqDCoMKgIHwgNjUNCj4gPiA+ID4gKysrKysrKysr KysrKysrKysrKw0KPiA+ID4gPiDCoE92bWZQa2cvQ2xvdWRIdi9DbG91ZEh2WDY0LmRzY8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgNCArLQ0KPiA+ID4gPiDCoE92bWZQa2cvQ2xv dWRIdi9DbG91ZEh2WDY0LmZkZsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8wqAgMiAr LQ0KPiA+ID4gPiDCoE92bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUluaXRMaWIvUGxhdGZvcm0uY8Kg wqDCoCB8IDEzICsrLS0NCj4gPiA+ID4gwqAuLi4vUWVtdUJvb3RPcmRlckxpYi9RZW11Qm9vdE9y ZGVyTGliLmPCoMKgwqDCoMKgwqAgfMKgIDggKystDQo+ID4gPiA+IMKgNSBmaWxlcyBjaGFuZ2Vk LCA4MiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkNCj4gPiA+ID4gwqBjcmVhdGUgbW9k ZSAxMDA2NDQgT3ZtZlBrZy9DbG91ZEh2L0Nsb3VkSHZEZWZpbmVzLmZkZi5pbmMNCj4gPiA+ID4N Cj4gPiA+ID4gLS0NCj4gPiA+ID4gMi4zMi4wDQo+ID4gPg0KPiA+DQoNCg==