From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=104.47.0.89; helo=eur01-he1-obe.outbound.protection.outlook.com; envelope-from=meenakshi.aggarwal@nxp.com; receiver=edk2-devel@lists.01.org Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0089.outbound.protection.outlook.com [104.47.0.89]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 443BD21A10997 for ; Sun, 26 Nov 2017 22:02:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=eXAbgcTr4LOYaChX26zmfkK9ASclHVslJyv3liQ3+p8=; b=d/k8ulqv2mH2ikxxRmPZGBR4i0AISlpPMJos+s7bXzP3ndZh9cIZ23yhPQjRDhASr44+FQ/Hf1VamAq73yArZkmZJxSp/lOQYIIGgZh9mb2L2ZfHAMMlgRnES9b4l9JfJ1sIfxv1NM05ctqwAPKdc/0pla39V2FGqr0J0Fy/gII= Received: from VI1PR04MB1005.eurprd04.prod.outlook.com (10.161.108.153) by VI1PR0402MB3341.eurprd04.prod.outlook.com (52.134.8.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.260.4; Mon, 27 Nov 2017 06:06:33 +0000 Received: from VI1PR04MB1005.eurprd04.prod.outlook.com ([fe80::84db:6728:e5b4:68e3]) by VI1PR04MB1005.eurprd04.prod.outlook.com ([fe80::84db:6728:e5b4:68e3%14]) with mapi id 15.20.0218.017; Mon, 27 Nov 2017 06:06:33 +0000 From: Meenakshi Aggarwal To: "edk2-devel@lists.01.org" , Leif Lindholm CC: Udit Kumar , "Gao, Liming" , "Ard Biesheuvel" , "Kinney, Michael D" Thread-Topic: [edk2] [PATCH 1/1] MdePkg/IoLib: Add support for big-endian MMIO Thread-Index: AQHSJf8g4WbKjSWeTUGVohhhcxe8iqCr++gAgAAQ+YCAADsgAIAAJeEAgjcV3KCABIjHYIAAVAOQgEHVTuA= Date: Mon, 27 Nov 2017 06:06:33 +0000 Message-ID: References: <1476437615-29534-1-git-send-email-bhupesh.sharma@nxp.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14B49505E@shsmsx102.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E16B65D@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=meenakshi.aggarwal@nxp.com; x-originating-ip: [192.88.169.1] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; VI1PR0402MB3341; 6:nCMaHU9pU8huBY8bPRdJp8C/wRcx3CJr1Kpm3Ed9RYeAJ8W4kOyf5XQYLjSUoEC7TB5r/m2fFSkwnKKysYWhl2mj00rnmCpjOqT49+OrPJXu7jaIwnrxqwS5yNrkjWTmoB6fkctPMiDQ+ZNhgnhVK3LzOc8ddaYCIvPreFtQIm0yUVl6YI2/YOKIquO3zzpRdxm1wvsnRGgwowb6Bft//JWbW8IVMVQDX+/7Ig1Q7ZsCQuxxso3dh4+bBAH+wPej/AxejLfPD+cTbJwkcn+15m6lQKtCmfggU1G0v9yS6i5TnH+vJ92e0DZdfT3yUbxjghW/I9vu4QSuZegwgSM5BNXRSnWjl6j19xYP6OEtUjY=; 5:k0R+Y0VR7E+Sf4b1wAhVJNCgPVjYq9Bc6GiAm0OcBf9XOStY6v8dXI2cPRrS4JM83P2BC1kPJDOXTGmjxoBlugNnEH97ll6pBb0Zt5P6ep/NnqxarUiSyN3EjeJwvX9NK1GKU29iv/U6vLZjOkvkJdIzLBML+g93IUs0Bj0FnUk=; 24:DjMQKW3xF+rTCdzt/mmKOBl3WQ7/9KLkaaatffPUdyDtaT6dC5BInnuJdaYY9YPPmdJSoF42AwwIq5hAi5oAaiz7BluCfPQVfySQNxULcNE=; 7:ioUdP+1YdXvWx0jL6et7znHyhyWMDNKqKEdINJIl2qmkUBvgtOvOB32wa7iNmIr7Cef5ZuMK+mEzRLdrHxZ5zpYewaVj2j7qmWZgpje5bbV8qopwvVKr1iqCUiaPLuLo93uY2RHOseB3N8pRKDLP81OBaT5G3kLQcXNYi+ye/BBnjf/2r4MGCPtzOj3YT+3qD3K0NoqffbQVi0w+fAr90kjij/aIt28iI/alNoFFYbbcN6HxYH6INf31/yki6Qbj x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(6029001)(6009001)(39860400002)(376002)(346002)(366004)(24454002)(13464003)(199003)(189002)(43544003)(53754006)(105586002)(93886005)(97736004)(6306002)(9686003)(101416001)(5250100002)(316002)(2900100001)(86362001)(54906003)(110136005)(106356001)(189998001)(2950100002)(8936002)(6116002)(305945005)(66066001)(7736002)(74316002)(6506006)(229853002)(5660300001)(6436002)(55016002)(8676002)(81166006)(81156014)(3280700002)(53936002)(53546010)(33656002)(3660700001)(2906002)(68736007)(102836003)(3846002)(76176999)(478600001)(50986999)(966005)(99286004)(2501003)(25786009)(7696005)(14454004)(4326008)(6246003)(54356999); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0402MB3341; H:VI1PR04MB1005.eurprd04.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: e9570150-a86e-4995-083b-08d5355d0280 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(48565401081)(4534020)(4602075)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(2017052603199); SRVR:VI1PR0402MB3341; x-ms-traffictypediagnostic: VI1PR0402MB3341: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(185117386973197)(162533806227266)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040450)(2401047)(5005006)(8121501046)(10201501046)(3231022)(3002001)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123555025)(20161123560025)(20161123562025)(20161123558100)(6072148)(201708071742011); SRVR:VI1PR0402MB3341; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0402MB3341; x-forefront-prvs: 0504F29D72 received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e9570150-a86e-4995-083b-08d5355d0280 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Nov 2017 06:06:33.1250 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3341 Subject: Re: [PATCH 1/1] MdePkg/IoLib: Add support for big-endian MMIO X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Nov 2017 06:02:17 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGVpZiwNCg0KVGhpcyBpcyByZWdhcmRpbmcgQmlnLUVuZGlhbiBMaWJyYXJ5IHBhdGNoIChb UEFUQ0ggdjIgMS85XSBQbGF0Zm9ybS9OWFA6IEFkZCBzdXBwb3J0IGZvciBCaWcgRW5kaWFuIE1t aW8gQVBJcykNCg0KV2UgaGF2ZSBzdGFydGVkIHRoaXMgZGlzY3Vzc2lvbiBiZWZvcmUgYW5kIHRo ZSBzdWdnZXN0aW9uIHdhcyB0byBjcmVhdGUgYSBzZXBhcmF0ZSAuaW5mIGZpbGUga2VlcGluZyBB UElzIG5hbWUgc2FtZSBlLmcuIE1taW9SZWFkL01taW9Xcml0ZSBpbiBNZGVQa2cuDQoNCkJ1dCB3 ZSBjYW4ndCBnbyB3aXRoIHRoaXMgYXBwcm9hY2ggKHJlYXNvbiBtZW50aW9uZWQgYnkgVWRpdCku DQoNCg0KU28gcGxlYXNlIHN1Z2dlc3QgaWYgd2Ugc2hvdWxkIGtlZXAgdGhpcyBsaWJyYXJ5IHVu ZGVyIFBsYXRmb3JtL05YUCBvciBJIHNlbmQgYSBuZXcgcGF0Y2ggbW92aW5nIHRoaXMgbGlicmFy eSBpbiBNZGVQa2cuDQoNCkJ1dCB3ZSBoYXZlIHRvIGtlZXAgYSBkaWZmZXJlbnQgbmFtZSBmb3Ig QmlnIEVuZGlhbiBNTUlPIEFQSXMuDQoNCg0KVGhhbmtzLA0KTWVlbmFrc2hpDQoNCg0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBVZGl0IEt1bWFyDQo+IFNlbnQ6IE1vbmRh eSwgT2N0b2JlciAyMywgMjAxNyAxMjozOCBQTQ0KPiBUbzogR2FvLCBMaW1pbmcgPGxpbWluZy5n YW9AaW50ZWwuY29tPjsgTWVlbmFrc2hpIEFnZ2Fyd2FsDQo+IDxtZWVuYWtzaGkuYWdnYXJ3YWxA bnhwLmNvbT47IEFyZCBCaWVzaGV1dmVsDQo+IDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPjsg S2lubmV5LCBNaWNoYWVsIEQNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmcNCj4gU3ViamVjdDogUkU6IFtlZGsyXSBbUEFUQ0ggMS8xXSBNZGVQ a2cvSW9MaWI6IEFkZCBzdXBwb3J0IGZvciBiaWctZW5kaWFuDQo+IE1NSU8NCj4gDQo+IEhpIE1l ZW5ha3NoaS9MaW1pbmcsDQo+IE15IDIgY2VudHMsIGFyb3VuZCB0aGlzLg0KPiANCj4gMSkNCj4g SGF2aW5nIGEgbmV3IGxpYiBmb3IgQkUgcmVhZCBtaWdodCBub3QgYmUgaGVscGZ1bCBmb3IgdXMs IGUuZy4gYSBJUCB3aGljaCBpcyBpbg0KPiBCRSBtb2RlIGFjY2VzcyB0aGUgVUFSVCBmb3IgcHJp bnQgb3Igc3lzdGVtIHJlZ2lzdGVycyB3aGljaCBhcmUgaW4gTEUsIHRoZW4NCj4gd2l0aCBuZXcg TGliLCB3ZSB3aWxsIGdldCBhbGwgcmVhZC93cml0ZSBpbiBCRSBtb2RlDQo+IA0KPiAyKQ0KPiBF c3BlY2lhbGx5IGZvciBvdXIgSVBzLCB3aGljaCBhcmUgY2hhbmdpbmcgZnJvbSBCRSB0byBMRSBk ZXBlbmRpbmcgb24NCj4gcGxhdGZvcm0uDQo+IEFzIHNhaWQgYmVmb3JlLCBoYXZpbmcgQkUgcmVh ZCBsaWIgd2l0aCBBUEkgbmFtZSBvZiBNbWlvUmVhZDMyIGV0Yywgd2lsbCBub3QNCj4gaGVscCAo SSBndWVzcyBNZWVuYWtzaGkgYWxyZWFkeSBzZWVuIHNvbWUgcHJvYmxlbXMgYXJvdW5kIHRoaXMp IEFkZGluZyBhDQo+IG5ldyBsaWIgd2l0aCBNbWlvUmVhZDMyQkUgQVBJIG5hbWUgY291bGQgaGVs cCwgYnV0IElQIGRyaXZlciB3ZSBuZWVkIHRvDQo+IHRha2UgY2FyZSBvZiBJUCBtb2RlIGVpdGhl ciBieSBQY2Qgb3IgI2RlZmluZSwgdG8gc2VsZWN0IE1taW9SZWFkMzIgb3INCj4gTW1pb1JlYWQz MkJFLg0KPiBUaGlzIGNvbmRpdGlvbmFsIGNvbXBpbGUgbmVlZHMgdG8gYmUgZG9uZSBmb3IgYWxs IElQcyAod2hpY2ggd29ya3MgaW4gQkUvTEUNCj4gbW9kZSBvbiBkaWZmZXJlbnQgcGxhdGZvcm1z KS4NCj4gDQo+IE15IHByZWZlcnJlZCB3YXkgb2YgaW1wbGVtZW50YXRpb24gdG8gdXNlIG9uZSBm dW5jdGlvbiBpbiBJUCBkcml2ZXIsIEFuZA0KPiBiYXNlZCBvbiBJUCBtb2RlLCBkbyB0aGUgc3dp dGNoLg0KPiANCj4gTmV3IExpYiBjb3VsZCBoYXZlIGZ1bmN0aW9uIGxpa2UgYmVsb3cNCj4gTW1p b1JlYWQzMkdlbmVyaWMoSU4gIFVJTlROICAgICBBZGRyZXNzLCBCT09MIElzSVBCRSkgew0KPiAg ICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmFsdWU7DQo+IA0KPiAgICBBU1NF UlQgKChBZGRyZXNzICYgMykgPT0gMCk7DQo+ICAgIFZhbHVlID0gKih2b2xhdGlsZSBVSU5UMzIq KUFkZHJlc3M7DQo+ICAgIElmKElzSVBCRSkNCj4gICAgICBWYWx1ZSA9IFN3YXBCeXRlczMyKFZh bHVlKTsNCj4gIHJldHVybiAgVmFsdWU7DQo+IH0NCj4gDQo+IEFuZCBJUCBkcml2ZXIgY2FuIHVz ZSBpdA0KPiBNbWlvUmVhZDMyR2VuZXJpYyhBRERSLA0KPiBGaXhlZFBjZEdldChUaGlzX0lQX01v ZGVfRm9yX1RoaXNfcGxhdGZvcm0pDQo+IA0KPiBDb21tZW50cyBhcmUgd2VsY29tZS4NCj4gDQo+ IFJlZ2FyZHMNCj4gVWRpdA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLWJvdW5jZXNAbGlzdHMuMDEub3Jn XSBPbiBCZWhhbGYgT2YNCj4gPiBHYW8sIExpbWluZw0KPiA+IFNlbnQ6IE1vbmRheSwgT2N0b2Jl ciAxNiwgMjAxNyA4OjQ4IEFNDQo+ID4gVG86IE1lZW5ha3NoaSBBZ2dhcndhbCA8bWVlbmFrc2hp LmFnZ2Fyd2FsQG54cC5jb20+OyBBcmQgQmllc2hldXZlbA0KPiA+IDxhcmQuYmllc2hldXZlbEBs aW5hcm8ub3JnPjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRl bC5jb20+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+IFN1YmplY3Q6IFJlOiBbZWRrMl0g W1BBVENIIDEvMV0gTWRlUGtnL0lvTGliOiBBZGQgc3VwcG9ydCBmb3INCj4gPiBiaWctZW5kaWFu IE1NSU8NCj4gPg0KPiA+IE1lZW5ha3NoaToNCj4gPiAgIEkgc3VnZ2VzdCB0byBpbnRyb2R1Y2Ug bmV3IElvTGliIGxpYnJhcnkgaW5zdGFuY2UsIG5vdCB0byBhZGQgbmV3IElvTGliDQo+IEFQSXMu DQo+ID4gTmV3IElvTGliIGxpYnJhcnkgaW5zdGFuY2Ugd2lsbCBwZXJmb3JtIElPIG9wZXJhdGlv biBhcyB0aGUgYmlnDQo+ID4gZW5kaWFuLiBZb3UgY2FuIHVwZGF0ZSBNZGVQa2cvTGlicmFyeS9C YXNlSW9MaWJJbnRyaW5zaWMgaW5zdGFuY2UsIGFkZA0KPiA+IG5ldyBzb3VyY2UgZmlsZSBhbmQg bmV3IElORiBmb3IgaXQuDQo+ID4NCj4gPiBVSU5UMzINCj4gPiBFRklBUEkNCj4gPiBNbWlvUmVh ZDMyICgNCj4gPiAgIElOICBVSU5UTiAgICAgQWRkcmVzcw0KPiA+ICAgKQ0KPiA+IHsNCj4gPiAg IFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBWYWx1ZTsNCj4gPg0KPiA+ICAgQVNT RVJUICgoQWRkcmVzcyAmIDMpID09IDApOw0KPiA+ICAgVmFsdWUgPSAqKHZvbGF0aWxlIFVJTlQz MiopQWRkcmVzczsNCj4gPiAgIHJldHVybiBTd2FwQnl0ZXMzMihWYWx1ZSk7DQo+ID4gfQ0KPiA+ DQo+ID4gVGhhbmtzDQo+ID4gTGltaW5nDQo+ID4gPi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPkZyb206IE1lZW5ha3NoaSBBZ2dhcndhbCBbbWFpbHRvOm1lZW5ha3NoaS5hZ2dhcndh bEBueHAuY29tXQ0KPiA+ID5TZW50OiBGcmlkYXksIE9jdG9iZXIgMTMsIDIwMTcgMjowNyBQTQ0K PiA+ID5UbzogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+OyBLaW5u ZXksIE1pY2hhZWwgRA0KPiA+ID48bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBlZGsyLWRl dmVsQGxpc3RzLjAxLm9yZzsgR2FvLCBMaW1pbmcNCj4gPiA+PGxpbWluZy5nYW9AaW50ZWwuY29t Pg0KPiA+ID5TdWJqZWN0OiBSRTogW2VkazJdIFtQQVRDSCAxLzFdIE1kZVBrZy9Jb0xpYjogQWRk IHN1cHBvcnQgZm9yDQo+ID4gPmJpZy1lbmRpYW4gTU1JTw0KPiA+ID4NCj4gPiA+SGkgQWxsLA0K PiA+ID4NCj4gPiA+DQo+ID4gPkl04oCZcyBhIHByZXR0eSBvbGQgZGlzY3Vzc2lvbiwgd2UgaGF2 ZSBsZWZ0IHRoZSB1cHN0cmVhbWluZyBvZiBOWFANCj4gPiA+cGFja2FnZSBpbiBiZXR3ZWVuIGJl Y2F1c2Ugb2Ygc29tZSBvdGhlciB3b3JrLCBidXQgaGF2ZSBzdGFydGVkIGl0DQo+ID4gPmFnYWlu DQo+ID4gbm93Lg0KPiA+ID4NCj4gPiA+DQo+ID4gPklzc3VlICA6IEZldyBOWFAgbW9kdWxlcyBz dXBwb3J0IEJpZyBFbmRpYW4gTU1JT3MgYXMgdGhlc2UgYXJlIHBvcnRlZA0KPiA+ID5mcm9tIFBv d2VyUEMuDQo+ID4gPg0KPiA+ID5Tb2x1dGlvbiBzdWdnZXN0ZWQgOiBDcmVhdGUgYSBzZXBhcmF0 ZSBsaWJyYXJ5IGZvciBCRSBNTUlPIEFQSXMuDQo+ID4gPg0KPiA+ID4NCj4gPiA+U28gd2hhdCBJ IGhhdmUgZG9uZSBpcywgSSBoYXZlIGNyZWF0ZWQgYSBzZXBhcmF0ZSBsaWJyYXJ5IHRvIHN1cHBv cnQNCj4gPiA+QkUgTU1JTyBBUElzIGFuZCBjdXJyZW50bHkga2VlcGluZyBpdCB0byBteSBwYWNr YWdlLg0KPiA+ID5UaGlzIGxpYnJhcnkgaXMgYmFzaWNhbGx5IGEgd3JhcHBlciBvdmVyIGV4aXN0 aW5nIE1NSU8gQVBJcy4NCj4gPiA+DQo+ID4gPlVJTlQzMg0KPiA+ID5FRklBUEkNCj4gPiA+QmVN bWlvUmVhZDMyICgNCj4gPiA+ICBJTiAgVUlOVE4gICAgIEFkZHJlc3MNCj4gPiA+ICApDQo+ID4g PnsNCj4gPiA+ICBVSU5UMzIgIFZhbHVlOw0KPiA+ID4NCj4gPiA+ICBWYWx1ZSA9IE1taW9SZWFk MzIoQWRkcmVzcyk7DQo+ID4gPg0KPiA+ID4gIHJldHVybiBTd2FwQnl0ZXMzMihWYWx1ZSk7DQo+ ID4gPn0NCj4gPiA+DQo+ID4gPg0KPiA+ID5OZWVkIHlvdXIgb3BpbmlvbiBvbiBiZWxvdyBvcHRp bm9zOg0KPiA+ID4NCj4gPiA+MS4gV2lsbCB0aGlzIGJlIGEgZ29vZCBpZGVhIHRvIG1ha2UgdGhp cyBsaWJyYXJ5IGEgcGFydCBvZiBNZGVQa2c/IE9SDQo+ID4gPg0KPiA+ID4yLiBBZGQgYSBuZXcg ZmlsZSBlLmcuIElvQmVNbWlvLmMgbGlrZSBJb0hpZ2hMZXZlbC5jIGluDQo+ID4gPk1kZVBrZy9M aWJyYXJ5L0Jhc2VJb0xpYkludHJpbnNpYy8NCj4gPiA+IEFuZCBtYWRlIHRoZXNlIEFQSXMgYSBw YXJ0IG9mIElvTGliIGl0c2VsZi4gT1INCj4gPiA+DQo+ID4gPjMuIEtlZXAgdGhpcyBsaWJyYXJ5 IGludGVybmFsIHRvIE5YUCBwYWNrYWdlLg0KPiA+ID4NCj4gPiA+DQo+ID4gPlBsZWFzZSBwcm92 aWRlIHlvdXIgaW5wdXRzLg0KPiA+ID4NCj4gPiA+DQo+ID4gPlRoYW5rcyAmIFJlZ2FyZHMsDQo+ ID4gPk1lZW5ha3NoaQ0KPiA+ID4NCj4gPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0K PiA+ID4+IEZyb206IEJodXBlc2ggU2hhcm1hDQo+ID4gPj4gU2VudDogTW9uZGF5LCBPY3RvYmVy IDE3LCAyMDE2IDM6MjggUE0NCj4gPiA+PiBUbzogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1 dmVsQGxpbmFyby5vcmc+OyBLaW5uZXksIE1pY2hhZWwgRA0KPiA+ID4+IDxtaWNoYWVsLmQua2lu bmV5QGludGVsLmNvbT4NCj4gPiA+PiBDYzogR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwu Y29tPjsgZWRrMi1kZXZlbEBtbDAxLjAxLm9yZzsNCj4gPiA+PiBNZWVuYWtzaGkgQWdnYXJ3YWwg PG1lZW5ha3NoaS5hZ2dhcndhbEBueHAuY29tPg0KPiA+ID4+IFN1YmplY3Q6IFJFOiBbZWRrMl0g W1BBVENIIDEvMV0gTWRlUGtnL0lvTGliOiBBZGQgc3VwcG9ydCBmb3INCj4gPiA+PiBiaWctZW5k aWFuIE1NSU8NCj4gPiA+Pg0KPiA+ID4+IEhpIEFyZCwNCj4gPiA+Pg0KPiA+ID4+ID4gLS0tLS1P cmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+PiA+IEZyb206IEFyZCBCaWVzaGV1dmVsIFttYWls dG86YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZ10NCj4gPiA+PiA+IFNlbnQ6IE1vbmRheSwgT2N0 b2JlciAxNywgMjAxNiAxOjEyIFBNDQo+ID4gPj4gPiBUbzogS2lubmV5LCBNaWNoYWVsIEQgPG1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4+ID4gQ2M6IEdhbywgTGltaW5nIDxsaW1p bmcuZ2FvQGludGVsLmNvbT47IEJodXBlc2ggU2hhcm1hDQo+ID4gPj4gPiA8Ymh1cGVzaC5zaGFy bWFAbnhwLmNvbT47IGVkazItZGV2ZWxAbWwwMS4wMS5vcmcNCj4gPiA+PiA+IFN1YmplY3Q6IFJl OiBbZWRrMl0gW1BBVENIIDEvMV0gTWRlUGtnL0lvTGliOiBBZGQgc3VwcG9ydCBmb3INCj4gPiA+ PiA+IGJpZy0gZW5kaWFuIE1NSU8NCj4gPiA+PiA+DQo+ID4gPj4gPiBPbiAxNyBPY3RvYmVyIDIw MTYgYXQgMDU6MTAsIEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPj4gPiA8bWljaGFlbC5kLmtpbm5l eUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+ID4+ID4gPiBCaHVwZXNoLA0KPiA+ID4+ID4gPg0KPiA+ ID4+ID4gPiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGFkZCBhbiBBUk0gc3BlY2lmaWMgUENEIHRv IHNlbGVjdA0KPiA+ID4+ID4gPiBlbmRpYW5uZXNzIGFuZCB1cGRhdGUNCj4gPiA+PiA+ID4gTWRl UGtnL0xpYnJhcnkvQmFzZUlvTGliSW50cmluc2ljL0lvTGliQXJtLmMgdG8gdXNlIHRoYXQgUENE IGluDQo+ID4gPj4gPiA+IE1taW9SZWFkL1dyaXRlKCkgQVBJcyBpbiB0aGF0IGZpbGUgdG8gc3Vw cG9ydCBib3RoIGVuZGlhbiB0eXBlcy4NCj4gPiA+PiA+ID4gWW91IGNhbiB1c2UgdGhlIFN3YXBC eXRlc3h4KCkgZnVuY3Rpb25zIGZyb20gQmFzZUxpYihhcw0KPiA+ID4+ID4gTGFzemxvDQo+ID4g Pj4gPiA+IHN1Z2dlc3RlZCkgYmFzZWQgb24gdGhlIHNldHRpbmcgb2YgdGhpcyBBUk0gc3BlY2lm aWMgUENELg0KPiA+ID4+ID4gPg0KPiA+ID4+ID4gPiBNb2R1bGVzIHRoYXQgbGluayBhZ2FpbnN0 IHRoaXMgbGliIGNhbiBzZWxlY3QgZW5kaWFubmVzcyBieQ0KPiA+ID4+ID4gPiBzZXR0aW5nIFBD RCBpbiB0aGUgc2NvcGUgb2YgdGhhdCBtb2R1bGUuDQo+ID4gPj4gPiA+DQo+ID4gPj4gPiA+IFRo ZSBJUEYgdmVyc2lvbiBvZiBJb0xpYiB1c2VzIGFuIElQRiBzcGVjaWZpYyBQQ0QgdG8gdHJhbnNs YXRlDQo+ID4gPj4gPiA+IEkvTyBwb3J0IGFjY2Vzc2VzIHRvIE1NSU8gYWNjZXNzZXMuICBTbyB0 aGVyZSBpcyBhbHJlYWR5IGFuDQo+ID4gPj4gPiA+IGV4YW1wbGUgb2YgYW4gYXJjaCBzcGVjaWZp YyBQQ0QgaW4gdGhpcyBsaWIgaW5zdGFuY2UuDQo+ID4gPj4gPiA+DQo+ID4gPj4gPg0KPiA+ID4+ ID4gVGhpcyBpcyBub3QgYSBwbGF0Zm9ybSB3aWRlIHRoaW5nLCBpdCBpcyBhIHBlci1kZXZpY2Ug cHJvcGVydHkNCj4gPiA+PiA+IHdoZXRoZXIgdGhlIE1NSU8gb2NjdXJzIGluIGJpZyBlbmRpYW4g b3IgbGl0dGxlIGVuZGlhbiBtYW5uZXIuDQo+ID4gPj4gPg0KPiA+ID4+ID4gU28gSSB0aGluayBM aW1pbmcncyBzdWdnZXN0aW9uIG1ha2VzIHNlbnNlOiBjcmVhdGUgYW4gSW9MaWINCj4gPiA+PiA+ IGltcGxlbWVudGF0aW9uIHRoYXQgcGVyZm9ybXMgdGhlIGJ5dGUgc3dhcHBpbmcsIGFuZCBzZWxl Y3RpdmVseQ0KPiA+ID4+ID4gaW5jb3Jwb3JhdGUgaXQgaW50byBkcml2ZXJzIHRoYXQgcmVxdWly ZSBpdCB1c2luZw0KPiA+ID4+ID4NCj4gPiA+PiA+IEJlTW1pb0RldmljZUR4ZS5pbmYgew0KPiA+ ID4+ID4gICA8TGlicmFyeUNsYXNzZXM+DQo+ID4gPj4gPiAgICAgSW9MaWJ8U29tZVBrZy9MaWJy YXJ5L0JpZ0VuZGlhbklvTGliLmluZg0KPiA+ID4+ID4gfQ0KPiA+ID4+DQo+ID4gPj4gVGhhdCdz IGNvcnJlY3QuIEkgdGhpbmsgY3JlYXRpbmcgYSBzZXBhcmF0ZSBJb0xpYiBmb3IgYnl0ZS1zd2Fw cGluZw0KPiA+ID4+IG1ha2VzIHNlbnNlLg0KPiA+ID4+DQo+ID4gPj4gV2Ugd2lsbCByZXdvcmsg dGhlIHBhdGNoIGFjY29yZGluZ2x5Lg0KPiA+ID4+DQo+ID4gPj4gUmVnYXJkcywNCj4gPiA+PiBC aHVwZXNoDQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gPiBlZGsyLWRldmVsIG1haWxpbmcgbGlzdA0KPiA+IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnDQo+ID4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVs DQo=