From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web10.7335.1602223290299646769 for ; Thu, 08 Oct 2020 23:01:30 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=OuPBQR54; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: jacek.kukiello@intel.com) IronPort-SDR: y9baLNMRW9yLmaw83uyYRpqOkqdGeCoehY4mpnuE+RLkjwvyYn9rMzhZdH1RvB9j/AyW6wZCa3 iZX6+rB+eRLA== X-IronPort-AV: E=McAfee;i="6000,8403,9768"; a="152366519" X-IronPort-AV: E=Sophos;i="5.77,354,1596524400"; d="scan'208";a="152366519" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Oct 2020 23:01:26 -0700 IronPort-SDR: SVb0wqTv7V03fRJbj0h0UwDotwBeVhZcAzoI94mEKhu0SukEL9Sh5wk4mZD1EgJ5WFAuF0/8sY eA6DATEagHsQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,354,1596524400"; d="scan'208";a="298338704" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by fmsmga008.fm.intel.com with ESMTP; 08 Oct 2020 23:01:26 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 8 Oct 2020 23:01:25 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 8 Oct 2020 23:01:25 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.174) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 8 Oct 2020 23:01:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kztrrOIGsX6tCR9s9mQyZ+YXtGHFDjAA82HGjZaqMY3o1QkMavTYY6d84ZXt6cnfe2wUBOHWhZsXhyWyaWqw6hLPZY+mOE5hW4GqENJvygy5RYpYux8bMJo6EKsrT0/7tfNErNHS7VaqQcFGBrEdJQ7FIE3G8uQKXQi3iLDH/U1h+aQ52tR1hpZ4v2fRxibmp6zI58HZ/OipeHxbtrWsZ8HkTt9LAYvRjhZKA2ib6U9elcEbRINrB6gRQqq50BDObxY1TtE/+RFDeFMqTQ7udLRapJQssEs9VJySjroV8SrtAss9yTgO/gpUmfM1NzcOxMg80ecgRbvRVBaUMWB/hQ== 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-SenderADCheck; bh=h1TDG+EgrLOjn+B9c3YkZnGmoIHow8bCkfLt59swMCw=; b=M+nOrf5UuDDUHYMzGYZZYHAAd6zdJPSVp7USi5kptPZU/hPYZ3qvqyxkRqmda5i3+3782GwTQqBaRpi8B2nPMtn7OMjOKlAnnbIm3D3DR3bmIGh4FBgU0XMlSR6TrrjJMy1I57jwodIMsXrllKEPz+iiOitSkX3ExJbtmhWQGySxCKbWekljdkpUw/MYdPGKYPljtYa3VUnOF/niKVTb2Lj+TPTR9XfeFvVLIdPJygNp1K5PNBiWuvjT3jxVTIigs4Wby36igSAHkC1tm0oMUl6Q2Yxu0kwI9XnI4cj10sb/G8F/OVmvro1sIeiJZb/FLdFZXfAYpYhcYeKsYrV2eA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=h1TDG+EgrLOjn+B9c3YkZnGmoIHow8bCkfLt59swMCw=; b=OuPBQR545FPOHCHDAw6P9Vbif2wBXML6Ir6rqFzerSGIX+xlfVHkEvNVq7QnsiwPuPMBIqOoFc+/kZvDVTWdhNKwLHwdMou/enwS58sanSoPP8Wub+Qx7fGfczPdYBB8LGf5BGzsg3iY6OaAMDmSV/269c7yHnu8RA64a+eWVkM= Received: from CY4PR11MB1573.namprd11.prod.outlook.com (2603:10b6:910:c::19) by CY4PR11MB1431.namprd11.prod.outlook.com (2603:10b6:910:3::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.35; Fri, 9 Oct 2020 06:01:23 +0000 Received: from CY4PR11MB1573.namprd11.prod.outlook.com ([fe80::7c7b:bc86:f109:31bc]) by CY4PR11MB1573.namprd11.prod.outlook.com ([fe80::7c7b:bc86:f109:31bc%9]) with mapi id 15.20.3433.046; Fri, 9 Oct 2020 06:01:23 +0000 From: "Malgorzata Kukiello" To: "devel@edk2.groups.io" , "Kukiello, Malgorzata" , "gaoliming@byosoft.com.cn" , "Rothman, Michael A" CC: "Kinney, Michael D" , "Wang, Jian J" , "Wu, Hao A" , "Bi, Dandan" , "Liu, Zhiguang" , "'Oleksiy Yakovlev'" , 'Ard Biesheuvel' Subject: Re: [edk2-devel] [PATCH v2 0/2] UEFI memmap workaround for hiding page-access caps from OSes hides SP and CRYPTO caps too Thread-Topic: [edk2-devel] [PATCH v2 0/2] UEFI memmap workaround for hiding page-access caps from OSes hides SP and CRYPTO caps too Thread-Index: AQHWklybXXsKJheHpk66qF9fYlB7oKl5DkmAgAUlbACAAKMMgIAFeV5QgAqON3A= Date: Fri, 9 Oct 2020 06:01:23 +0000 Message-ID: References: <20200924102132.18248-1-jacek.kukiello@intel.com> <002901d69319$81bb4e90$8531ebb0$@byosoft.com.cn> <001701d695fd$bdda8e90$398fabb0$@byosoft.com.cn> <163A2DF5FC986A3A.27356@groups.io> In-Reply-To: <163A2DF5FC986A3A.27356@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [89.64.74.145] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cd3c3419-16c8-4e79-64b8-08d86c18c070 x-ms-traffictypediagnostic: CY4PR11MB1431: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2449; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pG9F8fzZTpXb8r3G+Fpo9nMuPegKMZNNXt3ulUhkVt27ctOaXNe3g5MD1Z5tG8KZiCesbvHBsTgVaj4qCuewAslVN0+nmRVpoC75XadBB8RixEPxQtGfi5GSXkTqcqZK+a1DV7YUz6TqYOMtwhqc8uyNn4rqoRoRFQ1f494yWDbRGOuWlyrmORa2S/gcdRlairmfz0F0W3HtILj0cX+q00ksZhjOKIoFDyLF91L5SDme95mQ1+NwalhD65W0VOSUDutJyUC/GvXMSC1QmW/tGocVNccsaIkVrYrKvtmcGz+0HqhhqR3QJctYJgVb+UfKDgEXNFzOnrVbOgF4kzT6Ttbs0Viwbki1pKm+38K330UJStiVMT09Onb7HH7tKGlROc+aFZJzdgzqrOjEnSG7ww== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1573.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(376002)(346002)(39860400002)(366004)(136003)(66556008)(64756008)(52536014)(9686003)(6506007)(66476007)(316002)(53546011)(66946007)(966005)(66446008)(86362001)(76116006)(478600001)(186003)(7696005)(54906003)(33656002)(2906002)(55016002)(5660300002)(110136005)(8936002)(83080400001)(71200400001)(8676002)(6636002)(4326008)(83380400001)(26005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: G2dTrPHn6O3qbVZYAcaz4hk5BLaLCJz0VvPbyrUNTQOfbQSXZruL7SXvLBYduMPc4km28gAPaWyklBgDFZGMHSJyvEt5FlQeVP6Xq3HMYu8YnrZCynS3s/xjZ6Rb6sOOgGgK7VrwleaiwQriavYbazplk+eAubZkfn7kZ/f7gI46xbgEW845Gws3lcqoNJkDYqtaN3tP8hzx9uaxZ69BNxppf4gehrswaSXFu8W6B5kAZ5tTY7jIaF9znotEjAsI03u6bbjub7b2exTEHrh9Ig90WgY1LK61oozI3yBx/SX3BWVtbi72ItwXb39fIqhAaGe17fgYT/CsFItHY8/WI53DnlUGPXJ/FoKQ0PrSIwNuHGmbBeGL8oF6O8tr+Yup1ErYH20AZajzDQbhUOvvkz3DZToORQpFHBggeyBdmGl0l/IuSvVum/zQMaSfp7M7uq1uS9g2U2W7TTzYFk3+QSEuKohwZO565HkZJ40BZFEuXAYKAT7rLz8ohXP7ZTuDtcotKHeNA+6gBlCLE8yQmPC9ZOUuVsnuAM2JuLI57l4WrdIhLtlWZJm3wBX8//DAVm8ehAf5HnDw1Z0xWs06O1RkvIteQVhK3TP/SjUm+OPdJIcSD9Dppj4nECrZWCnO4IUPSjhmI0l/ME3UxDmEfA== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1573.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cd3c3419-16c8-4e79-64b8-08d86c18c070 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Oct 2020 06:01:23.5052 (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: NjUKxu6uMC25vWPamDVgADtccnqZt3FU3Pyl3+j2bgVHVeGxQQdWl8g3CDzmaSefDfP2OKcJKHC0DpePRVHCR9i4GwX/eUwXqtFZX6+DTXg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1431 Return-Path: jacek.kukiello@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGltaW5nLA0KQW55IHVwZGF0ZS9jb21tZW50PyBJdCdzIHByZXR0eSB1cmdlbnQgZnJvbSBteSBw ZXJzcGVjdGl2ZS4NClRoYW5rcw0KTWVnDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpG cm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFs ZiBPZiBNYWxnb3J6YXRhIEt1a2llbGxvDQpTZW50OiBGcmlkYXksIE9jdG9iZXIgMiwgMjAyMCAy OjUyIFBNDQpUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGdhb2xpbWluZ0BieW9zb2Z0LmNvbS5j bjsgUm90aG1hbiwgTWljaGFlbCBBIDxtaWNoYWVsLmEucm90aG1hbkBpbnRlbC5jb20+DQpDYzog S2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgV2FuZywgSmlh biBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNv bT47IEJpLCBEYW5kYW4gPGRhbmRhbi5iaUBpbnRlbC5jb20+OyBMaXUsIFpoaWd1YW5nIDx6aGln dWFuZy5saXVAaW50ZWwuY29tPjsgJ09sZWtzaXkgWWFrb3ZsZXYnIDxvbGVrc2l5eUBhbWkuY29t PjsgJ0FyZCBCaWVzaGV1dmVsJyA8YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT4NClN1YmplY3Q6IFJl OiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIDAvMl0gVUVGSSBtZW1tYXAgd29ya2Fyb3VuZCBmb3Ig aGlkaW5nIHBhZ2UtYWNjZXNzIGNhcHMgZnJvbSBPU2VzIGhpZGVzIFNQIGFuZCBDUllQVE8gY2Fw cyB0b28NCg0KTGltaW5nLA0KSSBhbSB0cnlpbmcgdG8gZW5hYmxlIGEgY3J5cHRvIHRlY2hub2xv Z3ksIHRoYXQgcmVxdWlyZXMgaGFuZGxpbmcgb24gdGhlIE9TIHNpZGUgKGltcGxlbWVudGVkIGlu IHRoZSBrZXJuZWwub3JnIHBhdGNoKSwgZ2VuZXJhbGx5IHNwZWFraW5nIEkgbWFyayBpbiBtZW1v cnkgbWFwIGFsbCByZWdpb25zIHRoYXQgY2FuIGJlIGVuY3J5cHRlZCB1c2luZyB0aGUgYmVmb3Jl IG1lbnRpb25lZCB0ZWNoLiBUaGVuIE9TIGNoZWNrcyB0aGF0IGF0dHJpYnV0ZSBhbmQgZGVjaWRl cyB3aGV0aGVyIG9yIG5vdCB0byBlbmFibGUgdGhhdC4NClNvIHRoZSByZWFsIHByb2JsZW0gaXMg dGhhdCBjdXJyZW50bHkgYWxsIG15IGF0dHJpYnV0ZXMgYXJlIG92ZXJ3cml0dGVuIGFuZCBjbGVh cmVkLg0KVGhhbmtzDQpNZWcNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGRl dmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIGdh b2xpbWluZw0KU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDI5LCAyMDIwIDM6MTMgQU0NClRvOiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS3VraWVsbG8sIE1hbGdvcnphdGEgPGphY2VrLmt1a2llbGxv QGludGVsLmNvbT47IFJvdGhtYW4sIE1pY2hhZWwgQSA8bWljaGFlbC5hLnJvdGhtYW5AaW50ZWwu Y29tPg0KQ2M6IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsgV3UsIEhhbyBBIDxoYW8uYS53 dUBpbnRlbC5jb20+OyBCaSwgRGFuZGFuIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgTGl1LCBaaGln dWFuZyA8emhpZ3VhbmcubGl1QGludGVsLmNvbT47ICdPbGVrc2l5IFlha292bGV2JyA8b2xla3Np eXlAYW1pLmNvbT47ICdBcmQgQmllc2hldXZlbCcgPGFyZC5iaWVzaGV1dmVsQGFybS5jb20+DQpT dWJqZWN0OiDlm57lpI06IFtlZGsyLWRldmVsXSBbUEFUQ0ggdjIgMC8yXSBVRUZJIG1lbW1hcCB3 b3JrYXJvdW5kIGZvciBoaWRpbmcgcGFnZS1hY2Nlc3MgY2FwcyBmcm9tIE9TZXMgaGlkZXMgU1Ag YW5kIENSWVBUTyBjYXBzIHRvbw0KDQpNZWc6DQogIFdoYXQgcmVhbCBwcm9ibGVtIGRvIHlvdSBt ZWV0IHdpdGg/IFdoYXQgcHVycG9zZSBpcyBmb3IgdGhpcyBjaGFuZ2U/IEFuZCwgSSBhbHNvIGlu Y2x1ZGUgVUVGSSBBcmNoIFJvdGhtYW4uIA0KDQpSb3RobWFuOg0KICBDYW4geW91IGhlbHAgY2xh cmlmeSB3aGF0IE9TIChXaW5kb3dzIG9yIExpbnV4KSBiZWhhdmlvciBpcyBleHBlY3RlZCBmb3Ig VUVGSSBTUCBhbmQgQ1JZUFRPIG1lbW9yeSBhdHRyaWJ1dGU/DQoNClRoYW5rcw0KTGltaW5nDQo+ IC0tLS0t6YKu5Lu25Y6f5Lu2LS0tLS0NCj4g5Y+R5Lu25Lq6OiBib3VuY2UrMjc5NTIrNjU2ODMr NDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbw0KPiA8Ym91bmNlKzI3OTUyKzY1NjgzKzQ5MDU5NTMr ODc2MTA0NUBncm91cHMuaW8+IOS7o+ihqCBNYWxnb3J6YXRhIEt1a2llbGxvDQo+IOWPkemAgeaX tumXtDogMjAyMOW5tDnmnIgyOOaXpSAyMzozOQ0KPiDmlLbku7bkuro6IGRldmVsQGVkazIuZ3Jv dXBzLmlvOyBnYW9saW1pbmdAYnlvc29mdC5jb20uY24NCj4g5oqE6YCBOiBLaW5uZXksIE1pY2hh ZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBXYW5nLCBKaWFuIEogDQo+IDxqaWFu Lmoud2FuZ0BpbnRlbC5jb20+OyBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47IEJpLCBE YW5kYW4gDQo+IDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgTGl1LCBaaGlndWFuZyA8emhpZ3Vhbmcu bGl1QGludGVsLmNvbT47IA0KPiAnT2xla3NpeSBZYWtvdmxldicgPG9sZWtzaXl5QGFtaS5jb20+ OyAnQXJkIEJpZXNoZXV2ZWwnDQo+IDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0KPiDkuLvpopg6 IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYyIDAvMl0gVUVGSSBtZW1tYXAgd29ya2Fyb3VuZCBm b3IgaGlkaW5nIA0KPiBwYWdlLWFjY2VzcyBjYXBzIGZyb20gT1NlcyBoaWRlcyBTUCBhbmQgQ1JZ UFRPIGNhcHMgdG9vDQo+IA0KPiBMaW1pbmcsDQo+IEFzIGZvciBta3RtZSB0aGVyZSBpcyBhIGNo YW5nZSBjb21taXRlZDoNCj4gaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wYXRjaC8xMDkz NTkwOS8NCj4gQXMgZm9yIFNQIEkgY2FuJ3QgZmluZCBhbnl0aGluZyBzcGVjaWZpYy4NCj4gVGhh bmtzDQo+IE1lZw0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2 ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgDQo+ IGdhb2xpbWluZw0KPiBTZW50OiBGcmlkYXksIFNlcHRlbWJlciAyNSwgMjAyMCAxMDo1NSBBTQ0K PiBUbzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IEt1a2llbGxvLCBNYWxnb3J6YXRhIA0KPiA8amFj ZWsua3VraWVsbG9AaW50ZWwuY29tPg0KPiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwu ZC5raW5uZXlAaW50ZWwuY29tPjsgV2FuZywgSmlhbiBKIA0KPiA8amlhbi5qLndhbmdAaW50ZWwu Y29tPjsgV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+OyBCaSwgRGFuZGFuIA0KPiA8ZGFu ZGFuLmJpQGludGVsLmNvbT47IExpdSwgWmhpZ3VhbmcgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+ OyANCj4gJ09sZWtzaXkgWWFrb3ZsZXYnIDxvbGVrc2l5eUBhbWkuY29tPjsgJ0FyZCBCaWVzaGV1 dmVsJw0KPiA8YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT4NCj4gU3ViamVjdDog5Zue5aSNOiBbZWRr Mi1kZXZlbF0gW1BBVENIIHYyIDAvMl0gVUVGSSBtZW1tYXAgd29ya2Fyb3VuZCBmb3IgDQo+IGhp ZGluZyBwYWdlLWFjY2VzcyBjYXBzIGZyb20gT1NlcyBoaWRlcyBTUCBhbmQgQ1JZUFRPIGNhcHMg dG9vDQo+IA0KPiBNYWxnb3J6YXRhOg0KPiAgIEhvdyBkbyBrbm93IE9TIChXaW5kb3dzIG9yIExp bnV4KSBiZWhhdmlvciBmb3IgU1AgYW5kIENSWVBUTyBhdHRyaWJ1dGU/DQo+IElzIHRoZXJlIHRo ZSBwdWJsaWMgZG9jdW1lbnQgdG8gZGVzY3JpYmUgdGhpcyBiZWhhdmlvcj8NCj4gDQo+IFRoYW5r cw0KPiBMaW1pbmcNCj4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tDQo+ID4g5Y+R5Lu25Lq6OiBi b3VuY2UrMjc5NTIrNjU1NjYrNDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbw0KPiA+IDxib3VuY2Ur Mjc5NTIrNjU1NjYrNDkwNTk1Mys4NzYxMDQ1QGdyb3Vwcy5pbz4g5Luj6KGoIE1hbGdvcnphdGEN Cj4gS3VraWVsbG8NCj4gPiDlj5HpgIHml7bpl7Q6IDIwMjDlubQ55pyIMjTml6UgMTg6MjINCj4g PiDmlLbku7bkuro6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ID4g5oqE6YCBOiBNYWxnb3J6YXRh IEt1a2llbGxvIDxqYWNlay5rdWtpZWxsb0BpbnRlbC5jb20+OyBNaWNoYWVsIEQgS2lubmV5IA0K PiA+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IEppYW4gSiBXYW5nIDxqaWFuLmoud2Fu Z0BpbnRlbC5jb20+OyANCj4gPiBIYW8gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29tPjsgRGFuZGFu IEJpIDxkYW5kYW4uYmlAaW50ZWwuY29tPjsgDQo+ID4gTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPjsgWmhpZ3VhbmcgTGl1IA0KPiA+IDx6aGlndWFuZy5saXVAaW50ZWwuY29t PjsgT2xla3NpeSBZYWtvdmxldiA8b2xla3NpeXlAYW1pLmNvbT47IEFyZCANCj4gPiBCaWVzaGV1 dmVsIDxhcmQuYmllc2hldXZlbEBhcm0uY29tPg0KPiA+IOS4u+mimDogW2VkazItZGV2ZWxdIFtQ QVRDSCB2MiAwLzJdIFVFRkkgbWVtbWFwIHdvcmthcm91bmQgZm9yIGhpZGluZyANCj4gPiBwYWdl LWFjY2VzcyBjYXBzIGZyb20gT1NlcyBoaWRlcyBTUCBhbmQgQ1JZUFRPIGNhcHMgdG9vDQo+ID4N Cj4gPiBSRUY6aHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD0y OTgyDQo+ID4NCj4gPiBUaGUgd29ya2Fyb3VuZCBpbiB0aGUgVUVGSSBtZW1tYXAgY29uc3RydWN0 aW9uLCBuZWFyIHRoZSBlbmQgb2YgdGhlIA0KPiA+IGZ1bmN0aW9uIENvcmVHZXRNZW1vcnlNYXAo KSBbTWRlTW9kdWxlUGtnL0NvcmUvRHhlL01lbS9QYWdlLmNdDQo+ID4gc2hvdWxkDQo+ID4gbm90 IGNsZWFyIHRoZSBTUCBhbmQgQ1JZUFRPIGJpdHMsIGJlY2F1c2UgT1NlcyBkbyAoYXBwYXJlbnRs eSkgDQo+ID4gY29ycmVjdGx5IGludGVycHJldCBTUCBhbmQgQ1JZUFRPIGFzIGNhcGFiaWxpdGll cywgYW5kIG5vdCBhcyANCj4gPiBjdXJyZW50bHkgc2V0IGF0dHJpYnV0ZXMgKHVwb24gd2hpY2gg dGhlIE9TZXMgc2hvdWxkIHNldCB0aGVpciBwYWdlIA0KPiA+IHRhYmxlcykuIEZvciB0aGlzIHJl YXNvbiwgdGhlIFNQIGFuZCBDUllQVE8gYml0cyBzaG91bGQgYmUgc2VwYXJhdGVkIA0KPiA+IGZy b20gdGhlIGJpdG1hc2sgdGhhdCB3ZSB1c2UgZm9yIGhpZGluZyB0aGUgcGFnZS1hY2Nlc3MgYXR0 cmlidXRlcywgDQo+ID4gaW4gdGhlIHdvcmthcm91bmQNCj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6 IE1hbGdvcnphdGEgS3VraWVsbG8gPGphY2VrLmt1a2llbGxvQGludGVsLmNvbT4NCj4gPiBDYzog TWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4gQ2M6IEpp YW4gSiBXYW5nIDxqaWFuLmoud2FuZ0BpbnRlbC5jb20+DQo+ID4gQ2M6IEhhbyBBIFd1IDxoYW8u YS53dUBpbnRlbC5jb20+DQo+ID4gQ2M6IERhbmRhbiBCaSA8ZGFuZGFuLmJpQGludGVsLmNvbT4N Cj4gPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5b3NvZnQuY29tLmNuPg0KPiA+IENjOiBa aGlndWFuZyBMaXUgPHpoaWd1YW5nLmxpdUBpbnRlbC5jb20+DQo+ID4gQ2M6IE9sZWtzaXkgWWFr b3ZsZXYgPG9sZWtzaXl5QGFtaS5jb20+DQo+ID4gQ2M6IEFyZCBCaWVzaGV1dmVsIChBUk0gYWRk cmVzcykgPGFyZC5iaWVzaGV1dmVsQGFybS5jb20+DQo+ID4NCj4gPiAgTWRlTW9kdWxlUGtnL0Nv cmUvRHhlL01lbS9QYWdlLmMgfCAxMiArKysrKystLS0tLS0NCj4gPiAgTWRlUGtnL0luY2x1ZGUv VWVmaS9VZWZpU3BlYy5oICAgfCAgMyArKy0NCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA4IGluc2Vy dGlvbnMoKyksIDcgZGVsZXRpb25zKC0pDQo+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiAtDQo+ID4gSW50 ZWwgVGVjaG5vbG9neSBQb2xhbmQgc3AuIHogby5vLg0KPiA+IHVsLiBTb3dhY2tpZWdvIDE3MyB8 IDgwLTI5OCBHZGFzayB8IFNkIFJlam9ub3d5IEdkYXNrIFBub2MgfCBWSUkgDQo+ID4gV3lkemlh IEdvc3BvZGFyY3p5IEtyYWpvd2VnbyBSZWplc3RydSBTZG93ZWdvIC0gS1JTIDEwMTg4MiB8IE5J UA0KPiA+IDk1Ny0wNy01Mi0zMTYNCj4gPiB8IEthcGl0YSB6YWthZG93eSAyMDAuMDAwIFBMTi4N Cj4gPiBUYSB3aWFkb21vIHdyYXogeiB6YWN6bmlrYW1pIGplc3QgcHJ6ZXpuYWN6b25hIGRsYSBv a3JlbG9uZWdvIA0KPiA+IGFkcmVzYXRhIGkgbW9lIHphd2llcmEgaW5mb3JtYWNqZSBwb3VmbmUu IFcgcmF6aWUgcHJ6eXBhZGtvd2VnbyANCj4gPiBvdHJ6eW1hbmlhIHRlaiB3aWFkb21vY2ksIHBy b3NpbXkgbyBwb3dpYWRvbWllbmllIG5hZGF3Y3kgb3JheiB0cndhZSANCj4gPiBqZWogdXN1bmlj aWU7IGpha2lla29sd2llayBwcnplZ2xkYW5pZSBsdWIgcm96cG93c3plY2huaWFuaWUgamVzdCB6 YWJyb25pb25lLg0KPiA+IFRoaXMgZS1tYWlsIGFuZCBhbnkgYXR0YWNobWVudHMgbWF5IGNvbnRh aW4gY29uZmlkZW50aWFsIG1hdGVyaWFsIA0KPiA+IGZvciB0aGUgc29sZSB1c2Ugb2YgdGhlIGlu dGVuZGVkIHJlY2lwaWVudChzKS4gSWYgeW91IGFyZSBub3QgdGhlIA0KPiA+IGludGVuZGVkDQo+ IHJlY2lwaWVudCwNCj4gPiBwbGVhc2UgY29udGFjdCB0aGUgc2VuZGVyIGFuZCBkZWxldGUgYWxs IGNvcGllczsgYW55IHJldmlldyBvcg0KPiBkaXN0cmlidXRpb24gYnkNCj4gPiBvdGhlcnMgaXMg c3RyaWN0bHkgcHJvaGliaXRlZC4NCj4gPg0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4NCj4gDQo+ IA0KPiANCj4gDQo+IA0KPiANCj4gDQo+IA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gSW50ZWwgVGVjaG5v bG9neSBQb2xhbmQgc3AuIHogby5vLg0KPiB1bC4gU293YWNraWVnbyAxNzMgfCA4MC0yOTggR2Rh c2sgfCBTZCBSZWpvbm93eSBHZGFzayBQbm9jIHwgVklJIA0KPiBXeWR6aWEgR29zcG9kYXJjenkg S3Jham93ZWdvIFJlamVzdHJ1IFNkb3dlZ28gLSBLUlMgMTAxODgyIHwgTklQDQo+IDk1Ny0wNy01 Mi0zMTYgfCBLYXBpdGEgemFrYWRvd3kgMjAwLjAwMCBQTE4uDQo+IFRhIHdpYWRvbW8gd3JheiB6 IHphY3puaWthbWkgamVzdCBwcnplem5hY3pvbmEgZGxhIG9rcmVsb25lZ28gYWRyZXNhdGEgDQo+ IGkgbW9lIHphd2llcmEgaW5mb3JtYWNqZSBwb3VmbmUuIFcgcmF6aWUgcHJ6eXBhZGtvd2VnbyBv dHJ6eW1hbmlhIHRlaiANCj4gd2lhZG9tb2NpLCBwcm9zaW15IG8gcG93aWFkb21pZW5pZSBuYWRh d2N5IG9yYXogdHJ3YWUgamVqIHVzdW5pY2llOyANCj4gamFraWVrb2x3aWVrIHByemVnbGRhbmll IGx1YiByb3pwb3dzemVjaG5pYW5pZSBqZXN0IHphYnJvbmlvbmUuDQo+IFRoaXMgZS1tYWlsIGFu ZCBhbnkgYXR0YWNobWVudHMgbWF5IGNvbnRhaW4gY29uZmlkZW50aWFsIG1hdGVyaWFsIGZvciAN Cj4gdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykuIElmIHlvdSBhcmUg bm90IHRoZSBpbnRlbmRlZCANCj4gcmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0aGUgc2VuZGVy IGFuZCBkZWxldGUgYWxsIGNvcGllczsgYW55IHJldmlldyANCj4gb3IgZGlzdHJpYnV0aW9uIGJ5 IG90aGVycyBpcyBzdHJpY3RseSBwcm9oaWJpdGVkLg0KPiANCj4gDQo+IA0KPiANCj4gDQoNCg0K DQoNCg0KDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJbnRlbCBUZWNobm9sb2d5IFBvbGFuZCBzcC4geiBv Lm8uDQp1bC4gU293YWNraWVnbyAxNzMgfCA4MC0yOTggR2Rhc2sgfCBTZCBSZWpvbm93eSBHZGFz ayBQbm9jIHwgVklJIFd5ZHppYSBHb3Nwb2RhcmN6eSBLcmFqb3dlZ28gUmVqZXN0cnUgU2Rvd2Vn byAtIEtSUyAxMDE4ODIgfCBOSVAgOTU3LTA3LTUyLTMxNiB8IEthcGl0YSB6YWthZG93eSAyMDAu MDAwIFBMTi4NClRhIHdpYWRvbW8gd3JheiB6IHphY3puaWthbWkgamVzdCBwcnplem5hY3pvbmEg ZGxhIG9rcmVsb25lZ28gYWRyZXNhdGEgaSBtb2UgemF3aWVyYSBpbmZvcm1hY2plIHBvdWZuZS4g VyByYXppZSBwcnp5cGFka293ZWdvIG90cnp5bWFuaWEgdGVqIHdpYWRvbW9jaSwgcHJvc2lteSBv IHBvd2lhZG9taWVuaWUgbmFkYXdjeSBvcmF6IHRyd2FlIGplaiB1c3VuaWNpZTsgamFraWVrb2x3 aWVrIHByemVnbGRhbmllIGx1YiByb3pwb3dzemVjaG5pYW5pZSBqZXN0IHphYnJvbmlvbmUuDQpU aGlzIGUtbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWluIGNvbmZpZGVudGlhbCBt YXRlcmlhbCBmb3IgdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykuIElm IHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBsZWFzZSBjb250YWN0IHRoZSBz ZW5kZXIgYW5kIGRlbGV0ZSBhbGwgY29waWVzOyBhbnkgcmV2aWV3IG9yIGRpc3RyaWJ1dGlvbiBi eSBvdGhlcnMgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4NCiANCg0KDQoNCg0KDQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KSW50ZWwgVGVjaG5vbG9neSBQb2xhbmQgc3AuIHogby5vLgp1bC4gU293YWNraWVnbyAxNzMg fCA4MC0yOTggR2Rhc2sgfCBTZCBSZWpvbm93eSBHZGFzayBQbm9jIHwgVklJIFd5ZHppYSBHb3Nw b2RhcmN6eSBLcmFqb3dlZ28gUmVqZXN0cnUgU2Rvd2VnbyAtIEtSUyAxMDE4ODIgfCBOSVAgOTU3 LTA3LTUyLTMxNiB8IEthcGl0YSB6YWthZG93eSAyMDAuMDAwIFBMTi4KVGEgd2lhZG9tbyB3cmF6 IHogemFjem5pa2FtaSBqZXN0IHByemV6bmFjem9uYSBkbGEgb2tyZWxvbmVnbyBhZHJlc2F0YSBp IG1vZSB6YXdpZXJhIGluZm9ybWFjamUgcG91Zm5lLiBXIHJhemllIHByenlwYWRrb3dlZ28gb3Ry enltYW5pYSB0ZWogd2lhZG9tb2NpLCBwcm9zaW15IG8gcG93aWFkb21pZW5pZSBuYWRhd2N5IG9y YXogdHJ3YWUgamVqIHVzdW5pY2llOyBqYWtpZWtvbHdpZWsgcHJ6ZWdsZGFuaWUgbHViIHJvenBv d3N6ZWNobmlhbmllIGplc3QgemFicm9uaW9uZS4KVGhpcyBlLW1haWwgYW5kIGFueSBhdHRhY2ht ZW50cyBtYXkgY29udGFpbiBjb25maWRlbnRpYWwgbWF0ZXJpYWwgZm9yIHRoZSBzb2xlIHVzZSBv ZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpLiBJZiB5b3UgYXJlIG5vdCB0aGUgaW50ZW5kZWQg cmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0aGUgc2VuZGVyIGFuZCBkZWxldGUgYWxsIGNvcGll czsgYW55IHJldmlldyBvciBkaXN0cmlidXRpb24gYnkgb3RoZXJzIGlzIHN0cmljdGx5IHByb2hp Yml0ZWQuCiAK