From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web10.4084.1602294059824412212 for ; Fri, 09 Oct 2020 18:41:00 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=HpbyE1gU; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: siyuan.fu@intel.com) IronPort-SDR: FzYa3oQImITg6P4aJtAhQgNvBOoAULlXhICYmkOBixEXadUsOFOjOcN2pn+urXxLL3Ti1oc5B0 QBERuvMnbY6A== X-IronPort-AV: E=McAfee;i="6000,8403,9769"; a="229738810" X-IronPort-AV: E=Sophos;i="5.77,357,1596524400"; d="scan'208";a="229738810" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Oct 2020 18:40:59 -0700 IronPort-SDR: eBBc7YytQG6FflhZ+J8t4ULMm/ox+7aJp4Yhns71ixYHU2qtuuLf/H7l2UhpM6DHNhlBhUFCxD TNzSERJ3X2NA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,357,1596524400"; d="scan'208";a="529151603" Received: from orsmsx604.amr.corp.intel.com ([10.22.229.17]) by orsmga005.jf.intel.com with ESMTP; 09 Oct 2020 18:40:58 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 9 Oct 2020 18:40:58 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 9 Oct 2020 18:40:58 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 9 Oct 2020 18:40:58 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.103) 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.1713.5; Fri, 9 Oct 2020 18:40:58 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Xqq/+71MQaBLs7j+zD/omzt7MD4uDFdjaLMBQbNKyQh13iELJ+/pZ1TSLyTWyDE+ulzmGh9lVVTOQHPIV/F36xfcsH5hQsmqd3VqgVjqNhneZHC3+1B4ZJRVCpUXLMF0bDgpDy2bGIPsUvAsYR/9fYZm0IFo2Ok4mvKFvVcANE+6+UIYc4bqZKI5JQ4JUDVTT8XVQnA+3Lts4sAleLt38w0Z3Kz/t7LQoHJRtxrnC8GOPc4xkTfZPSzxd41tmX/jr7CvKJlzeTD7veJ6KU4qUv94IvG445SiCu4C2A8oEm3G6N7GUm23eHyxmyiNYVDc10jVGcHp3r7+D5dDNT8CxA== 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=db+U/LvYIPAVrVKfx2i/2hR1aWNpoBbqvb2rQkVQHWA=; b=ZrpQFvtNYDiVKDPy/cJO/g6pyxpqwGHhwo6wm/FwNF1VKHQZ07FauniyUCjxf6Zm5HNp9q/DdxfcGfyUcOoxKh+e5q0ILzZt48yhezFRB573z8xvCvp+yPnI0MInjAu3kDU1HaOkDaq91Yw2PkESvX4DJRSMr2b2JWIYl+wbl63Of8aQ2xsjxPjk5ZYNZ+8q6fbraa1cCt1aKFet8+wlFZ8dTVNu0alyRxh8jFxh7jqsJ4ZBk73wTt3ytQdo9kP9Mk/hi0m9j5n9zZh8aDPOKhKz7G0vh3WuPPo0we92/enL2nDGnjuoFaexrFa3SGhyKGv0mR8JHVlvfkCQhPrGzA== 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=db+U/LvYIPAVrVKfx2i/2hR1aWNpoBbqvb2rQkVQHWA=; b=HpbyE1gUVmaL3xZhUwZGWhWS1H9KCc5YZnzrAyI3sUg+OJfU0VOBfC7WT3Btmb80hSLaoEltozzqUoScmCAa0Wa5kWxC9HJw62iWsfE5/yDPQ3+mwQauKqD6L2IgVYV9S+9/DWMgvmV0q8K1Ka7uAO/H5D/s1zfBYrknLC/Fnyc= Received: from BN7PR11MB2850.namprd11.prod.outlook.com (2603:10b6:406:b3::31) by BN6PR11MB1940.namprd11.prod.outlook.com (2603:10b6:404:104::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Sat, 10 Oct 2020 01:40:52 +0000 Received: from BN7PR11MB2850.namprd11.prod.outlook.com ([fe80::d47c:4e53:5865:734c]) by BN7PR11MB2850.namprd11.prod.outlook.com ([fe80::d47c:4e53:5865:734c%3]) with mapi id 15.20.3455.025; Sat, 10 Oct 2020 01:40:52 +0000 From: "Siyuan, Fu" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Yao, Jiewen" , "rfc@edk2.groups.io" , "Laszlo Ersek (lersek@redhat.com)" CC: "Dong, Eric" , "Ni, Ray" , "ard.biesheuvel@arm.com" , "sami.mujawar@arm.com" , "supreeth.venkatesh@arm.com" Subject: Re: [edk2-rfc] [edk2-devel] [RFC] Support Both MM Traditional and Standalone Drivers with One MM Core Thread-Topic: [edk2-rfc] [edk2-devel] [RFC] Support Both MM Traditional and Standalone Drivers with One MM Core Thread-Index: Adad/BvDcwINIpsnRk6CdDy+J9zhMgANwhQAAADIL6AAAbmcgAAaOD0g Date: Sat, 10 Oct 2020 01:40:51 +0000 Message-ID: References: <91565e60-54c5-8315-142b-d7b1309fca5a@redhat.com> <35c9e93e-5bd0-c932-c27c-183a687926c7@redhat.com> In-Reply-To: <35c9e93e-5bd0-c932-c27c-183a687926c7@redhat.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action 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: [192.198.147.210] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b364e9d5-ac99-4d68-36fb-08d86cbd85c6 x-ms-traffictypediagnostic: BN6PR11MB1940: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RxLwUbbd+/pZZqwLgcbr1tX/e+nd+U7aNBGEpRnq1THwZqSSA85YfENz6bc6tpfwLcYwdtAXJ654TRvU5ts2vHc7M2IYhSk2jjBW5lgeOc6/7roDMVUzvPpRenaY8W8hOi3pqFKzF0pcXO+KFhOKKEuTsG2XwogkW8VQfxXGNcWJ1V9pWv6RRJp7hnQaxUeGu9av0LFqiNSFGUGrWzO6AJ3/Ttgo8P9ALKFriSmXnm6Cc+9yniMH2ZmEaA0nuneIiRBpEQqLQJFB9eqpvG43eEZgstK8aZ+P4rn+uU6dVLVV47Ge5/7W330CyYmJgjGR1NC3DdKjHJlIT3vgo80bEu5NJzVf4flYVLq7oy+HzxuMQDwzd9pVsJPtBQE2B0CNPJJwrvkh4iHdRrje/mXExQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR11MB2850.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(376002)(346002)(136003)(366004)(39860400002)(76116006)(66476007)(6506007)(9686003)(2906002)(186003)(53546011)(83080400001)(966005)(4326008)(71200400001)(5660300002)(66556008)(33656002)(52536014)(8936002)(8676002)(64756008)(86362001)(66446008)(26005)(478600001)(83380400001)(316002)(110136005)(66946007)(54906003)(7696005)(55016002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: 3+rRM7dBgXDxOi7JyFLhNM63FoiX2uHnYqQBxoyFkb62S8vt1I1sVeSecKG5aHtWzKP7Mt5xcG7dR+nna2Qg1Rm/jrrLBdDVhKGwlXf5UKX7W3QZZWvt8uk86bOy9qLWeTDKdBhDvdmuzvX3OAUzAYh3MbfnK0wtd1F4Need739v8cXLPEKeuLQOzO2wTGCk70kDlFvTXaEIc8rQZb37ORLBxuQkXrTUd0Aun/5fQLl2E6ykpD/yi2hXauInhACBa7aRTEhlxX5nCXFKvcJHPhk2n80kKskQdRohe7NhJ0W30vMhScdgJrvjpVmVPvhLsEMEii99AnqJMM1L0qgkeROJNlCDy5TdQmsEpLRmQ1y6kxVKhfL9SjltUxdmlf9+9/TtXSs1ITXRHbLw2ntSlCV+/jIE7WgedGlKlrf4j8AitFU5FX9rQ/JHD2g9T5xNQi2Hd+bWUnkVg7+i0NQSpgBYDtSc5DR9zwZBosvj5w9lqQh/WPIhOoKH7T0ah68YWp7ReHLei5xhUuAmz1KDHhMrUg1y0CsKQw4WQCAXTFULqAN5874RsfrLSuknXc0JT9//TGB2upDxkzMUkPpFQMbX2+N3SnwDw3sEodEs7jMAxHALbWfmANaxqNZX7jFgqd1NLDONlkv2/qUPq66a4Q== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BN7PR11MB2850.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b364e9d5-ac99-4d68-36fb-08d86cbd85c6 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Oct 2020 01:40:51.9875 (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: PKCmBKwEazOKwmA+LXYtiI1p2NRaf3yCXnwk4C/WBBZSuwVCcq+Fcl8ZqwT3TceKkjed0scXdzo2gv0Ss8rn6A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1940 Return-Path: siyuan.fu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGksIEppZXdlbi9MYXN6bG8NCg0KVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzIG9uIHRoaXMuDQoN CkhpLCBBcmQvU2FtaS9TdXByZWV0aA0KDQpTaW5jZSBBUk0gYmFzZWQgcGxhdGZvcm1zIGFyZSBj dXJyZW50bHkgdGhlIG1ham9yIHVzZXIgb2YgdGhlIE1NIENvcmUgaW4gU3RhbmRhbG9uZU1tUGtn LCBJIHdvdWxkIGxpa2UgdG8gaGVhciB5b3UgaWRlYSBhYm91dCB0aGlzIGNoYW5nZS4gRG8geW91 IGhhdmUgYW55IGNvbmNlcm4gYWJvdXQgYWRkaW5nIE1NIFRyYWRpdGlvbmFsIGRyaXZlciBzdXBw b3J0IHRvIHRoZSBTdGFuZGFsb25lIE1NIENvcmU/DQoNCkJlc3QgUmVnYXJkcw0KU2l5dWFuIA0K DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBz LmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIExhc3psbyBFcnNlaw0KPiBT ZW50OiAyMDIw5bm0MTDmnIg55pelIDIxOjA4DQo+IFRvOiBZYW8sIEppZXdlbiA8amlld2VuLnlh b0BpbnRlbC5jb20+OyByZmNAZWRrMi5ncm91cHMuaW87DQo+IGRldmVsQGVkazIuZ3JvdXBzLmlv OyBGdSwgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPg0KPiBDYzogRG9uZywgRXJpYyA8ZXJp Yy5kb25nQGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+Ow0KPiBhcmQuYmll c2hldXZlbEBhcm0uY29tOyBzYW1pLm11amF3YXJAYXJtLmNvbTsNCj4gc3VwcmVldGgudmVua2F0 ZXNoQGFybS5jb20NCj4gU3ViamVjdDogUmU6IFtlZGsyLXJmY10gW2VkazItZGV2ZWxdIFtSRkNd IFN1cHBvcnQgQm90aCBNTSBUcmFkaXRpb25hbCBhbmQNCj4gU3RhbmRhbG9uZSBEcml2ZXJzIHdp dGggT25lIE1NIENvcmUNCj4gDQo+IE9uIDEwLzA5LzIwIDE0OjIzLCBZYW8sIEppZXdlbiB3cm90 ZToNCj4gPiBJTUhPLCBTdGFuZGFsb25lTW0gKGluIFN0YW5kYWxvbmVNbVBrZykgc2hvdWxkIGJl IHRoZSBsb25nIHRlcm0NCj4gZGlyZWN0aW9uIHRvIHJlcGxhY2UgdGhlIHRyYWRpdGlvbmFsIE1N IChpbiBNZGVNb2R1bGVQa2cpLg0KPiA+DQo+ID4gSWYgd2Ugd2FudCB0byBkbyBzb21lIGVuaGFu Y2VtZW50LCBJIHByZWZlciAjMiB0byB1cGRhdGUgdGhlIG9uZSBpbg0KPiBTdGFuZGFsb25lTW1Q a2cuDQo+ID4gT25jZSB3ZSByZXRpcmUgdHJhbnNpdGlvbmFsIE1NLCB3ZSBjYW4gZGVsZXRlIHRo ZSBQaVNtbUNvcmUgaW4NCj4gTWRlTW9kdWxlUGtnLg0KPiANCj4gVGhpcyBpcyBhIGdvb2QgaWRl YSAtLSB3aGVuIHdlIHRoaW5rIHdlIGFyZSByZWFkeSB0byByZXRpcmUgUGlTbW1Db3JlIGluDQo+ IE1kZU1vZHVsZVBrZywgYmVjYXVzZSB3ZSB0aGluayB0aGF0IFN0YW5kYWxvbmVNbVBrZyBjYW4g ZnVsbHkgcmVwbGFjZQ0KPiBpdCwgcGxhdGZvcm1zIGNhbiBldmFsdWF0ZSB0aGUgbGF0dGVyICho b3BlZnVsbHkgd2l0aCBzb21lIHNpbXBsZSBEU0MgLw0KPiBGREYgbW9kaWZpY2F0aW9ucyksIGFu ZCByZXBvcnQgYmFjayB3aGV0aGVyIHRoZXkgc2VlIHJlZ3Jlc3Npb25zIG9yDQo+IHdoZXRoZXIg U3RhbmRhbG9uZU1tUGtnIGJlaGF2ZXMgYXMgYSBkcm9wLWluIHJlcGxhY2VtZW50IGluZGVlZCwg Zm9yDQo+IFBpU21tQ29yZSBpbiBNZGVNb2R1bGVQa2cuDQo+IA0KPiBUaGFua3MNCj4gTGFzemxv DQo+IA0KPiA+DQo+ID4gSWYgd2UgY2hvb3NlICMxLCB0aGUgRURLSUkgd2lsbCBoYXZlIHR3byBz dGFuZGFsb25lTW0gQ29yZXMgKHRoZSBvbmUgaW4NCj4gU3RhbmRhbG9uZU1tUGtnIGFuZCB0aGUg b25lIGluIE1kZU1vZHVsZVBrZyksIHdoaWNoIG1heSBicmluZyBsb3RzIG9mDQo+IGNvbmZ1c2lu ZyBhbmQgd2UgbWF5IG5lZWQgbWVyZ2UgdGhlbSBsYXRlci4NCj4gPg0KPiA+IFRoYW5rIHlvdQ0K PiA+IFlhbyBKaWV3ZW4NCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ PiBGcm9tOiByZmNAZWRrMi5ncm91cHMuaW8gPHJmY0BlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxm IE9mIExhc3psbyBFcnNlaw0KPiA+PiBTZW50OiBGcmlkYXksIE9jdG9iZXIgOSwgMjAyMCA3OjU2 IFBNDQo+ID4+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgRnUsIFNpeXVhbiA8c2l5dWFuLmZ1 QGludGVsLmNvbT47DQo+ID4+IHJmY0BlZGsyLmdyb3Vwcy5pbw0KPiA+PiBDYzogRG9uZywgRXJp YyA8ZXJpYy5kb25nQGludGVsLmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+Ow0KPiA+ PiBhcmQuYmllc2hldXZlbEBhcm0uY29tOyBzYW1pLm11amF3YXJAYXJtLmNvbTsgWWFvLCBKaWV3 ZW4NCj4gPj4gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgc3VwcmVldGgudmVua2F0ZXNoQGFybS5j b20NCj4gPj4gU3ViamVjdDogUmU6IFtlZGsyLXJmY10gW2VkazItZGV2ZWxdIFtSRkNdIFN1cHBv cnQgQm90aCBNTSBUcmFkaXRpb25hbCBhbmQNCj4gPj4gU3RhbmRhbG9uZSBEcml2ZXJzIHdpdGgg T25lIE1NIENvcmUNCj4gPj4NCj4gPj4gT24gMTAvMDkvMjAgMDc6MjIsIFNpeXVhbiwgRnUgd3Jv dGU6DQo+ID4+PiBIaSwgQWxsDQo+ID4+Pg0KPiA+Pj4gVGhpcyBlbWFpbCBpcyB0byBjb2xsZWN0 IGZlZWRiYWNrIGFib3V0IG1ha2luZyBvbmUgY29tbW9uIEVESzIgTU0gQ29yZQ0KPiA+PiBkcml2 ZXIgdG8gc3VwcG9ydCBib3RoIE1NIFRyYWRpdGlvbmFsIGRyaXZlcnMgYW5kIE1NIFN0YW5kYWxv bmUgZHJpdmVycy4NCj4gPj4+DQo+ID4+PiBXZSBrbm93IHRoYXQgUEkgU3BlYyBkZWZpbmVzIHR3 byB0eXBlcyBvZiBNTS1yZWxhdGVkIGRyaXZlcnM6IE1NDQo+ID4+IFRyYWRpdGlvbmFsIERyaXZl cnMgYW5kIE1NIFN0YW5kYWxvbmUgRHJpdmVycy4gVGhlcmUgYXJlIHR3byBNTSBDb3JlDQo+ID4+ IG1vZHVsZXMgZXhpc3QgaW4gRURLMiBidXQgZWFjaCBvZiB0aGVtIGNhbiBvbmx5IHN1cHBvcnQg b25lIHNpbmdsZSB0eXBlIG9mDQo+IE1NDQo+ID4+IGRyaXZlcnM6DQo+ID4+PiAgICAgLSBQaVNt bUNvcmUgaW4gTWRlTW9kdWxlUGtnIHN1cHBvcnRzIE1NIFRyYWRpdGlvbmFsIGRyaXZlciBkaXNw YXRjaC4NCj4gSXQNCj4gPj4gZG9lc24ndCBoYXZlIEZWIHBhcnNpbmcgbG9naWMgYW5kIHJlbGll cyBvbiBFRkkgRmlybXdhcmUgVm9sdW1lMiBQcm90b2NvbA0KPiBmb3INCj4gPj4gZHJpdmVyIGRp c2NvdmVyeS4gSXQgZG9lc24ndCBzdXBwb3J0IE1NIFN0YW5kYWxvbmUgZHJpdmVyLg0KPiA+Pj4g ICAgIC0gU3RhbmRhbG9uZU1tQ29yZSBpbiBTdGFuZGFsb25lTW1Qa2cgc3VwcG9ydHMgTU0gU3Rh bmRhbG9uZQ0KPiBkcml2ZXINCj4gPj4gZGlzcGF0Y2guIEl0IGhhcyBGViBwYXJzaW5nIGFuZCBk ZWNvbXByZXNzIGxvZ2ljIGJ1dCBvbmx5IGxpbWl0ZWQgdG8gb25lIHNpbmdsZQ0KPiA+PiBmaXJt d2FyZSB2b2x1bWUgKGNhbGxlZCBzdGFuZGFsb25lIEJGViBpbiBjb2RlKS4gSXQgZG9lc24ndCBz dXBwb3J0IE1NDQo+ID4+IFRyYWRpdGlvbmFsIGRyaXZlci4NCj4gPj4+DQo+ID4+PiBIb3dldmVy LCBhIHBsYXRmb3JtIG1heSB3YW50IHRvIGhhdmUgYm90aCBvZiB0aGUgdHdvIHR5cGVzIG9mIE1N IGRyaXZlcnMNCj4gPj4gY29leGlzdCBpbiBpdHMgZmlybXdhcmUsIGZvciBleGFtcGxlLCB3aGVu IGl0IHRyaWVzIHRvIHRyYW5zZmVyIGZyb20gVHJhZGl0aW9uYWwNCj4gPj4gTU0gbW9kZSB0byBT dGFuZGFsb25lIE1NIG1vZGUsIGluIGEgc3RhZ2UgYnkgc3RhZ2UgbWFubmVyLiBIb3dldmVyLA0K PiBpdCdzDQo+ID4+IG5vdCBwb3NzaWJsZSB3aXRoIGN1cnJlbnQgRURLMiBNTSBDb3JlIGJlY2F1 c2Ugb2YgYWJvdmUgbGltaXRhdGlvbnMuIFRodXMsDQo+ID4+IGhlcmUgd2UgcHJvcG9zZSB0byBo YXZlIGEgY29tbW9uIE1NIENvcmUgbW9kdWxlIGluIEVESzIsIHdoaWNoIGNvdWxkOg0KPiA+Pj4g ICAgIC0gU3VwcG9ydCBib3RoIE1NIFRyYWRpdGlvbmFsIGRyaXZlcnMgYW5kIE1NIFN0YW5kYWxv bmUgZHJpdmVycy4NCj4gPj4+ICAgICAtIFVzZSBzaGFyZWQgRGVwZXggZXZhbHVhdGlvbiB3aGVu IGRpc3BhdGNoaW5nIGFsbCB0aGUgTU0gZHJpdmVycy4NCj4gPj4+ICAgICAtIFVzZSBhIHNoYXJl ZCBNTSBTeXN0ZW0gVGFibGUgd2hlbiBpbnZva2luZyBhbGwgdGhlIE1NIGRyaXZlcnMnIGVudHJ5 DQo+ID4+IHBvaW50LCB3aGljaCBtZWFuIGhhbmRsZS9wcm90b2NvbCBkYXRhYmFzZSBpcyBzaGFy ZWQuDQo+ID4+PiAgICAgLSBIYXZlIHNlbGYtY29udGFpbmVkIEZWIHBhcnNpbmcgYW5kIGRyaXZl ciBkaXNjb3ZlcnkgY2FwYWJpbGl0eS4NCj4gPj4+DQo+ID4+PiBXZSByZWFsaXplZCB0aGVyZSBj b3VsZCBiZSAyIHBvc3NpYmxlIG9wdGlvbnMgdG8gbWFrZSB0aGlzIGhhcHBlbjoNCj4gPj4+ICAg ICAtIE9wdGlvbiAxOiBVcGRhdGUgdGhlIE1kZU1vZHVsZVBrZyBDb3JlLiBJbiB0aGlzIGFwcHJv YWNoLCB3ZSB3aWxsDQo+IG5lZWQNCj4gPj4gdG8gYWRkIHRoZSBGViBkZWNvbXByZXNzLCBkcml2 ZXIgZGlzY292ZXJ5IGFuZCBNTSBTdGFuZGFsb25lIGRyaXZlcg0KPiA+PiBkaXNwYXRjaGVyIHRv IHRoZSBQaVNtbUNvcmUgbW9kdWxlIGluIE1kZU1vZHVsZVBrZy4NCj4gPj4+ICAgICAtIE9wdGlv biAyOiBVcGRhdGUgdGhlIFN0YW5kYWxvbmVNbVBrZyBDb3JlLiBXaGljaCBtZWFucyBhZGRpbmcg TU0NCj4gPj4gVHJhZGl0aW9uYWwgZGlzcGF0Y2hlciBhbmQgbXVsdGlwbGUgRlYgc3VwcG9ydCB0 byBleGlzdGluZyBzdGFuZGFsb25lIENvcmUgaW4NCj4gPj4gU3RhbmRhbG9uZU1tUGtnLiBXaWxs IGFsc28gbmVlZCB0byBhZGQgUEVJL0RYRSBJUEwgbW9kdWxlIHRvIGludm9rZSB0aGUNCj4gPj4g U3RhbmRhbG9uZSBNTSBDb3JlIGFuZCBwYXNzIFVFRkkgU3lzdGVtIFRhYmxlIHRvIGl0Lg0KPiA+ Pj4NCj4gPj4+IFRoZSBvcHRpb24gMSB3aWxsIGhhdmUgbGVzcyBpbXBhY3QgdG8gdGhvc2UgcGxh dGZvcm1zIHdoaWNoIG9ubHkgdXNlIE1NDQo+ID4+IFN0YW5kYWxvbmUgZHJpdmVycyBjdXJyZW50 bHksIGJlY2F1c2UgdGhvc2UgcGxhdGZvcm1zIGNhbiBzdGF5IHdpdGggdGhlDQo+ID4+IHVuY2hh bmdlZCBTdGFuZGFsb25lIE1NIENvcmUuIFdoaWxlIG9wdGlvbiAyIGxvb2tzIG1vcmUgbGlrZSBh IGNsZWFuDQo+ID4+IHNvbHV0aW9uIGJlY2F1c2UgaXQgY291bGQgc3VwcG9ydCBhbGwgdGhlIGNh c2VzIChUcmFkaXRpb25hbCBNTSBvbmx5LA0KPiBTdGFuZGFsb25lDQo+ID4+IE1NIG9ubHksIGFu ZCBtaXgtdXNlZCBwbGF0Zm9ybSkuIFNvIEknZCBsaWtlIHRvIGhlYXIgdGhlIGNvbW11bml0eSdz DQo+IGZlZWRiYWNrDQo+ID4+IGFib3V0IHdoaWNoIG9wdGlvbiBpcyBwcmVmZXJyZWQsIGFuZCBs ZXQgbWUga25vdyBpZiB5b3UgaGF2ZSBhbnkgY29uY2VybnMNCj4gd2l0aA0KPiA+PiB0aGlzIGNo YW5nZS4gVGhhbmtzIQ0KPiA+Pg0KPiA+PiBXaGljaCBtZXRob2QgaXMgdGhlIGxlYXN0IHJpc2t5 IHdpdGggcmVnYXJkIHRvIHJlZ3Jlc3Npb25zLCBpbiB5b3VyIG9waW5pb24/DQo+ID4+DQo+ID4+ IEkgdGVuZCB0byBwcmVmZXIgIzIuIEVpdGhlciBvcHRpb24gaXMgbmV1dHJhbCBmb3IgQXJtVmly dFBrZyBhdCB0aGUNCj4gPj4gbW9tZW50LCBhbmQgb3B0aW9uIzIgaXMgc2FmZXIgZm9yIE92bWZQ a2cgKG5vIHJpc2sgb2YgcmVncmVzc2lvbikuIFRodXMNCj4gPj4gZmFyLCB0aGVyZSBoYXMgbm90 IGJlZW4gYW55IG5lZWQgKHRoYXQgSSBrbm93IG9mKSBmb3IgT1ZNRiB0byBzdXBwb3J0DQo+ID4+ IHN0YW5kYWxvbmUgTU0gZHJpdmVycy4NCj4gPj4NCj4gPj4gRnVydGhlcm1vcmUsIGlmIHdlIHdh bnRlZCB0byBhZGQgTWFuYWdlbWVudCBNb2RlIHN1cHBvcnQgdG8gQXJtVmlydFBrZw0KPiA+PiBh dCBzb21lIChsYXRlcikgcG9pbnQsIEkgYmVsaWV2ZSAoPykgd2UnZCBqdXN0IHVzZSBTdGFuZGFs b25lTW1Qa2cgcmlnaHQNCj4gPj4gZnJvbSB0aGUgc3RhcnQuDQo+ID4+DQo+ID4+IEkuZS4sIGZy b20gbXkgcGVyc3BlY3RpdmUsIG1peGluZyBNTSBtb2R1bGUgdHlwZXMsIGZvciBzb21lIGtpbmQg b2YNCj4gPj4gdHJhbnNpdGlvbiBmb3IgYSBwbGF0Zm9ybSBmcm9tIG9uZSBNTSBtb2RlIHRvIGFu b3RoZXIsIGlzIG5vdA0KPiA+PiBpbW1lZGlhdGVseSB1c2VmdWw7IHNvIG15IGdvYWwgaXMgdG8g bWluaW1pemUgdGhlIHJpc2sgb2YgcmVncmVzc2lvbnMuDQo+ID4+DQo+ID4+IFRoYW5rcw0KPiA+ PiBMYXN6bG8NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPg0KPiANCj4gDQo+IA0K PiANCj4gDQoNCg==