From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=63.128.21.162; helo=us-smtp-delivery-162.mimecast.com; envelope-from=eugene@hp.com; receiver=edk2-devel@lists.01.org Received: from us-smtp-delivery-162.mimecast.com (us-smtp-delivery-162.mimecast.com [63.128.21.162]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 6060A211CFFE1 for ; Tue, 5 Mar 2019 03:58:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hp.com; s=mimecast20180716; t=1551787112; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8+dWLNXWnfMtX7ww8zRfxhj4wyge3xmq1F7cd7V32nA=; b=hWge6UvW4UUyxD2s8Mlesk5KJNDQyzkDV/KofPsEvwSezyURkLN3aOIYkh3EUTn/u6s+j88qeXF4qbvVeCekvGjVI4jleKvdgrg/eXUp6rAWcQrIUkS8N6xfwoANpJwW+/NGsBBgr3CwfYpbv5CZpXr2bGrgHOy/wxGkOEZ/mdM= Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01lp2057.outbound.protection.outlook.com [104.47.34.57]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-248-_HvPCNG7MFeIT6v4yW3suw-1; Tue, 05 Mar 2019 06:58:31 -0500 Received: from CS1PR8401MB1189.NAMPRD84.PROD.OUTLOOK.COM (10.169.97.20) by CS1PR8401MB0678.NAMPRD84.PROD.OUTLOOK.COM (10.169.14.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.16; Tue, 5 Mar 2019 11:58:28 +0000 Received: from CS1PR8401MB1189.NAMPRD84.PROD.OUTLOOK.COM ([fe80::54db:23c0:d6a8:589b]) by CS1PR8401MB1189.NAMPRD84.PROD.OUTLOOK.COM ([fe80::54db:23c0:d6a8:589b%3]) with mapi id 15.20.1665.020; Tue, 5 Mar 2019 11:58:21 +0000 From: "Cohen, Eugene" To: Ashish Singhal , "Wu, Hao A" , Ard Biesheuvel CC: "edk2-devel@lists.01.org" , =?utf-8?B?S2ltLCBTYW5nd29vICjquYDsg4HsmrAgU1cxTGFiLik=?= Thread-Topic: [PATCH] MdeModulePkg/SdMmcPciHcDxe: Fix DMA on SDHC v3 64-bit systems Thread-Index: AdTOimUh6bq74L7bQyCZsF0hnADHfgAhuWlQABE+2EAAEKP68AABVU+wAANAbhAAAOJ+kAAA/hKAAAC2wPAAAuBuQAAAWehwAABoBD4AFX9IgAAAkZIgAAHBSYAAB96FoAB8JxqAAAKh50AAQwdesA== Date: Tue, 5 Mar 2019 11:58:21 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [15.65.252.14] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a822517c-cc8b-4179-9927-08d6a161dd83 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:CS1PR8401MB0678; x-ms-traffictypediagnostic: CS1PR8401MB0678: x-ms-exchange-purlcount: 1 x-microsoft-exchange-diagnostics: =?utf-8?B?MTtDUzFQUjg0MDFNQjA2Nzg7MjM6SnJHVEk0VVdGV3E2SjNOdEJkK2I5RzFN?= =?utf-8?B?bVozVFBYd3pPem95WnA5QW5CRSt3MEVkUlRDQTZ0WTRzKzRXcGxTOTVWa1lj?= =?utf-8?B?dDdkNTU0Tm02NVM0cmhtbm9rRFJTNFh3ZnJORVhxSloxTHRhVHZNK3JORXdV?= =?utf-8?B?Vnh0aHNJejJ4VndxbzNGNDZxeDJweDNFS1VNdEYxVmxxTHFaWTBPai9zZENV?= =?utf-8?B?cFYyZU5ackVPSzNZQ1R3bzVlcTVyL2d0ZWRmcDFkT3FxZ2xreG9rclhMTHdG?= =?utf-8?B?cUowZDBkajRIZEk3eXY5a2pQczFWdjdIeTRNUFpYbUxTeFo3K1Q2Z094MC9E?= =?utf-8?B?M0tzTjJvd2syT0JHc0R2c2hXUXJ0b1NVWUdsV3REMFp5RDZTQnRpSUl1cXBS?= =?utf-8?B?UXlVa3NpY0ZSMDhpcnF6TEZYMExBa1lDK091dUs1c2p4dXdya01tTmd3UGtw?= =?utf-8?B?Ym81RmZqSW9CYUZtdVJWUU5jNU9UdXhSSSt5OEpGdkVCWWFvNU04bmpxSjNo?= =?utf-8?B?bmNwRWtqaFhtaE13bVFHMzd5cDBWNFBwVU84Tld4a2g0L1FjOTlWb0RPRWU5?= =?utf-8?B?dkNVaHBJMnFnUTA1SmZ6ckRWV2dVSlE3SncvMjNWOTh1a0ZRcHlmeWVzVVI5?= =?utf-8?B?cCtPenhWanRWU1VSaWhWeW9Lbk9neDg1S3YwdVZZejBVSUFqbDBGaWxMS3pG?= =?utf-8?B?aHNEeFRDdmZKRHNZTGlUUXFxQmRmSlNhQ043NlRsaU9mdTJ6ZW9aNXN4OVRu?= =?utf-8?B?c3NnSVZQQm9wVWM3V0xuOXg5cGlPQkVTVWRKMHJ5b2NlM3BKaW03S0tWMnQx?= =?utf-8?B?bERtRlN6TkxlTEVXczZFVVNTdUhnWnF3L1VOUHp6V1hBbzllU0VpQW1MeGsy?= =?utf-8?B?MnU5Z0Y3U0sxeXhSMm5sR20yY1ViRC9uRUJReUFxaldSaEo2OVNpcGpOc0pC?= =?utf-8?B?N1M3WEhNTWx4cUw3dDBsaHE4bW5Tb29MdUFKQWI0WFA1ZVMwS1VLanRWZjlp?= =?utf-8?B?UHJZaWNvcTBCY0t5VU43MFhMMFpINExHeXBxM1BRaUVMM1RlQVJCeHBVaWZT?= =?utf-8?B?Q0swVXNXMmx5eUFHSUE5UG5UWHNBWG44RUFWTis2ZW40a21UWVByMnV3T1hH?= =?utf-8?B?Tks2cU5Qa3NMemRhc2J6cmhsejNiaVg4aDlUVVdBZFh3ZDcxQXU1cFBFR2dp?= =?utf-8?B?b1I5ZnZIMVQva2MzTkUyZ0M0bDlmSmRlR3psdkZ3WjI5MmFWSk1Sa3lyaHI5?= =?utf-8?B?anprY0tEUXZsUXZkM3U0MGRrT1N6dVplOWttQmhFaERKaGFpZ1JrUGtiSmdK?= =?utf-8?B?dWdCQ3BsOUJtVDBYQVVwVFNpbkdXYTRHbk50cTVVWHJzY0xLSHllNmN3ZVNz?= =?utf-8?B?SmlaOExVcUdmT0k0cm1rcndtWUVHRTVGV0tvSUp5N0JCR0prYU4yK29jbjMw?= =?utf-8?B?S1lyTUU0VmxoYzlLNTlpR0pJWkExOUFqbFNBK0puNVV4VmphcERVUVN3Tzdw?= =?utf-8?B?SzJsREd5MEZnZ293U3V0TWNpZlFtSDZ6YThIRi80cTRrcEJReitxSGVqR2ln?= =?utf-8?B?OFM5NG9vaEJXVHZZM0hwcjJmM1oyc0JSZnk0ekV3UEV0WlMxZTJLekZhVVdO?= =?utf-8?B?WEVkQkJGYkxGbm9kc2g3M2l4UGZEaWFBNGVxT2EvMUt6UERYYUhQemNWdktv?= =?utf-8?B?SGNpTWIzaDV0Tmwzb055dlMwUk9FZE5kK3o5NUloRUp6OHR6aDdpT1hiRkpK?= =?utf-8?B?SmdFT3FFbWMrN2s2VUdJUnJPRTkxbDVUZlFBUFZ5Z1pIQ2h2MVdiSDZ6Mlkz?= =?utf-8?B?SmdaWmVOUk9oUXlYRithejEwOTdvblg0d2dTSmxoekt5eml2VGk0dXkwQmZm?= =?utf-8?B?MmJ0TzhuM0cwYkZlbjlrQmVHcnNjWjhQSkxEcExlSERYWUZJM3Y5NzZOYzFv?= =?utf-8?Q?5i7ESAZ0LWv2AqPQowoQ4tsteUU5TTnY=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 0967749BC1 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(6029001)(376002)(366004)(39860400002)(346002)(396003)(136003)(199004)(189003)(13464003)(6602003)(61684003)(86362001)(55016002)(236005)(110136005)(54896002)(54906003)(446003)(606006)(6306002)(6246003)(9686003)(316002)(97736004)(4326008)(478600001)(25786009)(68736007)(14444005)(11346002)(256004)(66066001)(71190400001)(71200400001)(8676002)(81156014)(476003)(2906002)(8936002)(33656002)(229853002)(14454004)(486006)(5660300002)(6436002)(7736002)(76176011)(74316002)(7696005)(99286004)(106356001)(105586002)(81166006)(53546011)(6506007)(26005)(186003)(93886005)(102836004)(6346003)(53936002)(790700001)(6116002)(3846002)(966005); DIR:OUT; SFP:1102; SCL:1; SRVR:CS1PR8401MB0678; H:CS1PR8401MB1189.NAMPRD84.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: 3XSTqAGkmcq7rx/BALUl6wBZ6PDSbcTk8LThI4jLri+fUIwT1ADEM/tmLlYwSGGEHz6+L0oNTmDbzKBfmRI0cRybO02aeGXqbzHARhstc02rvVzg3hzeonmtzr6XoneXl2y0Gynx12KnvqRn5Qn1bjpcaUcNWHOb6uKMiKkXRNGEK83qsNUZU1baMaaumH81UpwvX0D12ZkFBbKEcosrxMcYQtYVeioEa08NoNGYWzPDBeyo9dlS8KrH81Dya3bc57ffmYNm96sy3+7cvx93BrBCRSQm/VYZSItQj4233lKONQmoMXYtdi6O8G4waOmKaXTSSGGCpVYyDippdtvjt29wRP/Yj944rK7HGfT7EVe4GYqrhq//UhXbpcoo8xzUheA+cZZznZ0cnkSaKpaerJedOll3z/dPzOGlAkCnWgQ= MIME-Version: 1.0 X-OriginatorOrg: hp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a822517c-cc8b-4179-9927-08d6a161dd83 X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Mar 2019 11:58:21.8631 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ca7981a2-785a-463d-b82a-3db87dfc3ce6 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0678 X-MC-Unique: _HvPCNG7MFeIT6v4yW3suw-1 X-Mimecast-Spam-Score: 0 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [PATCH] MdeModulePkg/SdMmcPciHcDxe: Fix DMA on SDHC v3 64-bit systems X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Mar 2019 11:58:34 -0000 Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 QXNoaXNoLA0KDQpUaGFua3MgLSBJIGhhdmVuJ3QgZm9yZ290dGVuLiAgV2UgYXJlIHN0aWxsIGRv aW5nIHRlc3RzIHdpdGggdGhlIDMyLWJpdCBBRE1BIGRyaXZlciBhbmQgcnVubmluZyBpbnRvIGlz c3VlcyBvbiBvdXIgbmV3ZXIgcGxhdGZvcm0gLSBvbmNlIHdlIGhhdmUgdGhvc2UgcmVzb2x2ZWQg d2Ugd2lsbCB0ZXN0IHRoZSBwYXRjaC4gIChXZSBhcmUgc2VlaW5nIGEgc3RyYW5nZSBpc3N1ZSB3 aGVyZSBSZWFkIE11bHRpcGxlIEJsb2NrIHdvcmtzIGJ1dCBXcml0ZSBNdWx0aXBsZSBCbG9jayBk b2VzIG5vdC4pDQoNCkV1Z2VuZQ0KDQpGcm9tOiBBc2hpc2ggU2luZ2hhbCA8YXNoaXNoc2luZ2hh QG52aWRpYS5jb20+DQpTZW50OiBTdW5kYXksIE1hcmNoIDMsIDIwMTkgOTowMCBQTQ0KVG86IFd1 LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsgQ29oZW4sIEV1Z2VuZSA8ZXVnZW5lQGhwLmNv bT47IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KQ2M6IGVkazIt ZGV2ZWxAbGlzdHMuMDEub3JnOyBLaW0sIFNhbmd3b28gKOq5gOyDgeyasCBTVzFMYWIuKSA8c2Fu Z3dvby5raW1AaHAuY29tPg0KU3ViamVjdDogUkU6IFtQQVRDSF0gTWRlTW9kdWxlUGtnL1NkTW1j UGNpSGNEeGU6IEZpeCBETUEgb24gU0RIQyB2MyA2NC1iaXQgc3lzdGVtcw0KDQpIaSBIYW8sDQoN CkkgYWdyZWUgdGhhdCB0aGVyZSBoYXMgYmVlbiBhIGJ1ZyBhbGwgYWxvbmcgd2hpY2ggZ290IGV4 cG9zZWQganVzdCBub3cuIFdlIHNob3VsZCBzdWJtaXQgdGhlIHBhdGNoIGFzIHByb3Bvc2VkIGJ5 IEV1Z2VuZS4NCg0KQWxzbywgSSBoYXZlIHN1Ym1pdHRlZCB0aGUgcGF0Y2ggZm9yIGVuYWJsaW5n IDY0YiBETUEgZm9yIFYzLiBQbGVhc2UgdGFrZSB0aGF0IGludG8gY29uc2lkZXJhdGlvbiBvbmNl IHRoZSBmcmVlemUgaXMgb3ZlciBzbyB0aGF0IHdlIGNhbiBmaXggdGhlIGlzc3VlIGluIHJlYWwg c2Vuc2UuDQoNCkV1Z2VuZSwNCg0KUGxlYXNlIGxldCBtZSBrbm93IG9uY2UgeW91IGhhdmUgdHJp ZWQgbXkgcGF0Y2ggb24geW91ciBib2FyZC4NCg0KVGhhbmtzDQpBc2hpc2gNCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPG1h aWx0bzpoYW8uYS53dUBpbnRlbC5jb20+Pg0KU2VudDogU3VuZGF5LCBNYXJjaCAzLCAyMDE5IDc6 MzkgUE0NClRvOiBDb2hlbiwgRXVnZW5lIDxldWdlbmVAaHAuY29tPG1haWx0bzpldWdlbmVAaHAu Y29tPj47IEFzaGlzaCBTaW5naGFsIDxhc2hpc2hzaW5naGFAbnZpZGlhLmNvbTxtYWlsdG86YXNo aXNoc2luZ2hhQG52aWRpYS5jb20+PjsgQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxp bmFyby5vcmc8bWFpbHRvOmFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+Pg0KQ2M6IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz47IEtpbSwgU2Fu Z3dvbyAoPz8/IFNXMUxhYi4pIDxzYW5nd29vLmtpbUBocC5jb208bWFpbHRvOnNhbmd3b28ua2lt QGhwLmNvbT4+DQpTdWJqZWN0OiBSRTogW1BBVENIXSBNZGVNb2R1bGVQa2cvU2RNbWNQY2lIY0R4 ZTogRml4IERNQSBvbiBTREhDIHYzIDY0LWJpdCBzeXN0ZW1zDQoNCkhpIEV1Z2VuZSwgQXNoaXNo IGFuZCBBcmQNCg0KU29ycnkgZm9yIHRoZSBkZWxheWVkIHJlc3BvbnNlLCBJIHdhcyBvdXQgb2Yg b2ZmaWNlIGluIHRoZSBwcmV2aW91cyBzZXZlcmFsIGRheXMuDQoNCkFjY29yZGluZyB0byB0aGUg ZGlzY3Vzc2lvbiwgbXkgdW5kZXJzdGFuZGluZyBpcyB0aGF0IChxdW90ZSB0aGUgY29tbWVudHMg ZnJvbQ0KQXJkKToNCg0KPiBEcml2ZXIgc2hvdWxkIG5vdCBzZXQgdGhlIEVGSV9QQ0lfSU9fQVRU UklCVVRFX0RVQUxfQUREUkVTU19DWUNMRQ0KPiBhdHRyaWJ1dGUgMS4gSWYgdGhlIGRldmljZSBk b2VzIG5vdCBzdXBwb3J0IGl0OyAyLiBJZiB0aGUgZHJpdmVyIGRvZXMNCj4gbm90IGltcGxlbWVu dCB0aGUgNjQtYml0IERNQSBtb2RlIHRoYXQgdGhlIGRldmljZSBkb2VzDQo+IHN1cHBvcnQuDQoN ClRodXMsIGZvciB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgU2RNbWNQY2lIY0R4 ZSBkcml2ZXIgKGluY2x1ZGluZyB0aGUNClY0IEFETUEgZGVzY3JpcHRvciBzdXBwb3J0IGZyb20g QXNoaXNoKToNCg0KKiBUaGUgZHJpdmVyIHNob3VsZCBzZXQgdGhlIERVQUxfQUREUkVTU19DWUNM RSBhdHRyaWJ1dGUgb25seSB3aGVuICdTeXNCdXM2NFY0Jw0KYml0IHNldCwgYmVjYXVzZSBvZiB0 aGUgc3RhdGVtZW50IDIgYWJvdmUuDQoNCkFuZCBmb3IgdGhlIHByZXZpb3VzIGltcGxlbWVudGF0 aW9uIChiZWZvcmUgdGhlIGNoYW5nZSBmcm9tIEFzaGlzaCk6DQoNCiogVGhlIGRyaXZlciBzaG91 bGQgbm90IHNldCB0aGUgRFVBTF9BRERSRVNTX0NZQ0xFIGF0dHJpYnV0ZSBhdCBhbGwsIHNpbmNl IHRoZQ0KaW1wbGVtZW50YXRpb24gd2FzIHdyaXR0ZW4gdG8gc3VwcG9ydCBvbmx5IHRoZSAzMmIg QURNQSBkZXNjcmlwdG9yLg0KDQpJZiB0aGlzIGlzIHRydWUsIEkgYW0gZmluZSB3aXRoIHlvdXIg cHJvcG9zZWQgZml4Lg0KDQoNCkV1Z2VuZSwNCg0KQ291bGQgeW91IGhlbHAgdG8gc3RhdGUgdGhl IHJlYXNvbiBmb3IgdGhlIGZpeCBhIGJpdCBtb3JlIGNsZWFyIGluIHRoZSBjb21taXQgbG9nPw0K DQpBbHNvLCBJIGhhdmUgZmlsZWQgYSBCdWd6aWxsYSB0cmFja2VyIGZvciB0aGlzIG9uZToNCmh0 dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzxodHRwczov L2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM+DQoNCkNvdWxkIHlv dSBoZWxwIHRvIGFkZCB0aGlzIGluZm9ybWF0aW9uIGludG8gdGhlIGNvbW1pdCBsb2cgYXMgd2Vs bD8gVGhhbmtzLg0KDQpCZXN0IFJlZ2FyZHMsDQpIYW8gV3UNCg0KPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiBGcm9tOiBBc2hpc2ggU2luZ2hhbCBbbWFpbHRvOmFzaGlzaHNpbmdoYUBu dmlkaWEuY29tXQ0KPiBTZW50OiBGcmlkYXksIE1hcmNoIDAxLCAyMDE5IDExOjI1IFBNDQo+IFRv OiBBcmQgQmllc2hldXZlbDsgQ29oZW4sIEV1Z2VuZQ0KPiBDYzogV3UsIEhhbyBBOyBlZGsyLWRl dmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+OyBLaW0sIFNh bmd3b28gKOq5gOyDgeyasCBTVzFMYWIuKQ0KPiBTdWJqZWN0OiBSRTogW1BBVENIXSBNZGVNb2R1 bGVQa2cvU2RNbWNQY2lIY0R4ZTogRml4IERNQSBvbiBTREhDIHYzDQo+IDY0LWJpdCBzeXN0ZW1z DQo+DQo+IEFja2VkLWJ5OiBBc2hpc2ggU2luZ2hhbCA8YXNoaXNoc2luZ2hhQG52aWRpYS5jb208 bWFpbHRvOmFzaGlzaHNpbmdoYUBudmlkaWEuY29tPj4NCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCj4gRnJvbTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5v cmc8bWFpbHRvOmFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+Pg0KPiBTZW50OiBGcmlkYXksIE1h cmNoIDEsIDIwMTkgNDozOSBBTQ0KPiBUbzogQ29oZW4sIEV1Z2VuZSA8ZXVnZW5lQGhwLmNvbTxt YWlsdG86ZXVnZW5lQGhwLmNvbT4+DQo+IENjOiBBc2hpc2ggU2luZ2hhbCA8YXNoaXNoc2luZ2hh QG52aWRpYS5jb208bWFpbHRvOmFzaGlzaHNpbmdoYUBudmlkaWEuY29tPj47IFd1LCBIYW8gQQ0K PiA8aGFvLmEud3VAaW50ZWwuY29tPG1haWx0bzpoYW8uYS53dUBpbnRlbC5jb20+PjsgZWRrMi1k ZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPjsgS2ltLCBT YW5nd29vICjquYDsg4HsmrANCj4gU1cxTGFiLikgPHNhbmd3b28ua2ltQGhwLmNvbTxtYWlsdG86 c2FuZ3dvby5raW1AaHAuY29tPj4NCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gTWRlTW9kdWxlUGtn L1NkTW1jUGNpSGNEeGU6IEZpeCBETUEgb24gU0RIQyB2Mw0KPiA2NC1iaXQgc3lzdGVtcw0KPg0K PiBPbiBGcmksIDEgTWFyIDIwMTkgYXQgMTE6NTQsIENvaGVuLCBFdWdlbmUgPGV1Z2VuZUBocC5j b208bWFpbHRvOmV1Z2VuZUBocC5jb20+PiB3cm90ZToNCj4gPg0KPiA+IEFyZCwNCj4gPg0KPiA+ ID4gU28gYmVmb3JlIHRoZXNlIGNoYW5nZXMsIHdlIHdlcmUgaW4gdGhlIGV4YWN0IHNhbWUgc2l0 dWF0aW9uLCBidXQNCj4gPiA+IHNpbmNlIFBDIHBsYXRmb3JtcyBuZXZlciBlbmFibGUgRE1BIGFi b3ZlIDQgR0IgaW4gdGhlIGZpcnN0IHBsYWNlLA0KPiA+ID4gbm9ib2R5IGV2ZXIgbm90aWNlZCB1 bnRpbCB3ZSBzdGFydGVkIHJ1bm5pbmcgdGhpcyBjb2RlIG9uIGFybTY0DQo+ID4gPiBwbGF0Zm9y bXMgdGhhdCBoYXZlIG5vIDMyLWJpdCBhZGRyZXNzYWJsZSBEUkFNIHRvIGJlZ2luIHdpdGguDQo+ ID4NCj4gPiBJbnRlcmVzdGluZyAtIEkgZGlkIG5vdCByZWFsaXplIHRoYXQgdGhlcmUgd2VyZSBk ZXNpZ25zIHRoYXQgd2VyZQ0KPiA+IGNyYXp5DQo+IGVub3VnaCB0byBoYXZlIG5vIGFkZHJlc3Nh YmxlIERSQU0gYmVsb3cgNEcuDQo+ID4NCj4NCj4gWW91IG11c3QgYmUgbmV3IGhlcmUgOi0pDQo+ DQo+IEJ1dCBzZXJpb3VzbHksIGl0IGRvZXMgbWFrZSBzZW5zZSBmb3IgYW4gaW1wbGVtZW50YXRp b24gdG8sIHNheSwgcHV0DQo+IGFsbCBwZXJpcGhlcmFscywgUENJZSByZXNvdXJjZSB3aW5kb3dz IGV0YyBpbiB0aGUgYm90dG9tIGhhbGYgYW5kIGFsbA0KPiBEUkFNIGluIHRoZSB0b3AgaGFsZiBv ZiBhIDQwLWJpdCBhZGRyZXNzIHNwYWNlLCB3aGljaCBpcyBob3cgdGhlIEFNRA0KPiBTZWF0dGxl IFNvQyBlbmRlZCB3aXRoIGl0cyBzeXN0ZW0gbWVtb3J5IGF0IGFkZHJlc3MgMHg4MF8wMDAwXzAw MDAuDQo+IE5vdGUgdGhhdCBvbiB0aGlzIHBsYXRmb3JtLCB3ZSBjYW4gc3RpbGwgdXNlIDMyLWJp dCBETUEgaWYgd2Ugd2FudCB0bw0KPiB3aXRoIHRoZSBoZWxwIG9mIHRoZSBTTU1VcywgYnV0IHdl IGhhdmVuJ3Qgd2lyZWQgdGhvc2UgdXAgaW4gVUVGSSAoYW5kDQo+IHRoZSBnZW5lcmljIGhvc3Qg YnJpZGdlIGRyaXZlciBkaWQgbm90IGhhdmUgdGhlIElPTU1VIGhvb2tzIGF0IHRoZQ0KPiB0aW1l KQ0KPg0KPiA+ID4gVGhlIG9idmlvdXMgY29uY2x1c2lvbiBpcyB0aGF0IHRoZSBkcml2ZXIgc2hv dWxkIG5vdCBzZXQgdGhlDQo+ID4gPiBFRklfUENJX0lPX0FUVFJJQlVURV9EVUFMX0FERFJFU1Nf Q1lDTEUgYXR0cmlidXRlIGlmIHRoZSBkZXZpY2UNCj4gZG9lcw0KPiA+ID4gbm90IHN1cHBvcnQg aXQsIG9yLCB3aGljaCBzZWVtcyB0byBiZSBvdXIgY2FzZSwgaWYgdGhlIGRyaXZlciBkb2VzDQo+ ID4gPiBub3QgaW1wbGVtZW50IHRoZSA2NC1iaXQgRE1BIG1vZGUgdGhhdCB0aGUgZHJpdmVyIGRv ZXMgc3VwcG9ydC4NCj4gPiA+IEhvd2V2ZXIsIHNpbmNlIHRoZXJlIGFyZSBwbGF0Zm9ybXMgZm9y IHdoaWNoIGJvdW5jZSBidWZmZXJpbmcgaXMNCj4gPiA+IG5vdCBhbiBvcHRpb24gKHNpbmNlIHRo ZXJlIGlzIG5vIDMyLWJpdCBhZGRyZXNzYWJsZSBtZW1vcnkgdG8NCj4gPiA+IGJvdW5jZSB0byks IHRoaXMgaXMgbm90IGp1c3QgYSBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24sIGFuZCBzbyBpdA0K PiA+ID4gd291bGQgYmUgdXNlZnVsIHRvIGZpeCB0aGUgY29kZSBzbyBpdCBjYW4gZHJpdmUgYWxs IDY0LWJpdCBETUEgY2FwYWJsZSBoYXJkd2FyZS4NCj4gPg0KPiA+IE9rYXksIHRoYXQncyBhIGdy ZWF0IHJlYXNvbiAtIGxldCdzIGdldCBWMyA2NGIgQURNQTIgaW4hDQo+ID4NCj4gPiBBbnkgb2Jq ZWN0aW9uIHRvIGNvbW1pdHRpbmcgdGhlIG9yaWdpbmFsIHBhdGNoIGluIHRoZSBzaG9ydCB0ZXJt Pw0KPiA+DQo+DQo+IG5vdCBhdCBhbGwNCj4NCj4gQWNrZWQtYnk6IEFyZCBCaWVzaGV1dmVsIDxh cmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPG1haWx0bzphcmQuYmllc2hldXZlbEBsaW5hcm8ub3Jn Pj4NCj4NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0tLS0tLS0tLS0tIFRoaXMgZW1haWwgbWVzc2Fn ZSBpcyBmb3IgdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZA0KPiByZWNpcGllbnQocykgYW5k IG1heSBjb250YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbi4gQW55DQo+IHVuYXV0aG9yaXpl ZCByZXZpZXcsIHVzZSwgZGlzY2xvc3VyZSBvciBkaXN0cmlidXRpb24gaXMgcHJvaGliaXRlZC4N Cj4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCwgcGxlYXNlIGNvbnRhY3Qg dGhlIHNlbmRlciBieQ0KPiByZXBseSBlbWFpbCBhbmQgZGVzdHJveSBhbGwgY29waWVzIG9mIHRo ZSBvcmlnaW5hbCBtZXNzYWdlLg0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KFrom