From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (EUR05-VI1-obe.outbound.protection.outlook.com [40.107.21.47]) by mx.groups.io with SMTP id smtpd.web10.15085.1589471119064793933 for ; Thu, 14 May 2020 08:45:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=Saya8tFz; spf=pass (domain: arm.com, ip: 40.107.21.47, mailfrom: samer.el-haj-mahmoud@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dMWRNnc41ttuqNE8Ckd6n4PwIyLKu9aJvUenWxFWCqw=; b=Saya8tFzRBgJLU7kADac15lveXo/hJivTVdHEEImbPCh0qEE3aPr9EjIEEsRiMy++hjLCTt/VRy/2p2fjIuG07CMd0y3Lda0K+P7WFl9SV2jGbxsR6NgyHDVidRkB8GaMMV/rk93hXkF7tcxWDuqm5IQxjLIrwDlVggZ9eRJclU= Received: from DB6PR0402CA0023.eurprd04.prod.outlook.com (2603:10a6:4:91::33) by VI1PR08MB3520.eurprd08.prod.outlook.com (2603:10a6:803:84::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20; Thu, 14 May 2020 15:45:16 +0000 Received: from DB5EUR03FT034.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:91:cafe::a5) by DB6PR0402CA0023.outlook.office365.com (2603:10a6:4:91::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.20 via Frontend Transport; Thu, 14 May 2020 15:45:16 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT034.mail.protection.outlook.com (10.152.20.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.19 via Frontend Transport; Thu, 14 May 2020 15:45:16 +0000 Received: ("Tessian outbound b3a67fbfbb1f:v54"); Thu, 14 May 2020 15:45:15 +0000 X-CR-MTA-TID: 64aa7808 Received: from 1143d3e3be69.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0B23A76C-D4DC-4BC7-8F0B-C2A34CF3527D.1; Thu, 14 May 2020 15:45:10 +0000 Received: from EUR02-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1143d3e3be69.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 14 May 2020 15:45:10 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y1hgo2I57VqDWzftcFDY98LjDaOmKSljD+GPeZ4nPUFlMK3nY4U48ydGXBQ1rK7dr7sNvFb/PJCPJq95fqFFeomk+UtV11y1v74rtMu9kHViWiF2K5YU72WCvYyZCBLj4fYgwsri56MHJHjzmykKjuSbn8xmYci/uGerhJQfh5NTyOGFUHQrQLsu1fwHvwQO82YZC8GvDLpee04Sp0F+2uOlZleSadaSMhTkRtFIGEXPSmnrhtlF5GVE+IsZSI8DA+cYBF1OS49TlgGKhXeic+RSlv4AOx8+fFNVRt+eDHg+QsySNCkk5MPZitMzdO8idayGuZQ+8IFd5NuzE55TUQ== 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=dMWRNnc41ttuqNE8Ckd6n4PwIyLKu9aJvUenWxFWCqw=; b=VdO9dShEMFxGOeXYDkSkOTduIBJeTcUOHPIo5+UyhSPocfqoxoAbzHv6k1LtTXcRqVGEucsdnN273eR29qE/Plo7/+4ngs+edCZSzWNK8/5GLvaUu/+Pr3k6xRNrw8WPuepdlwPw7cTIrqPt2xlDhQZB51Px4yRf7o8TCOan43Qc52aFjacL9uqS8/7d92xiKgGgQwF8EIfSzHYJgvRAOC3gLDA3VdmwkUNrJdsGn48XydD2hCu46k3cNUGnLMPCSpTXSsQL4FccgnOrNyJNs07xnuZjSXnefgW26nS6c4bEiA74CkzARO3DMa1SCzeLtEd1U0L26o/sQrjcA4p4WA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dMWRNnc41ttuqNE8Ckd6n4PwIyLKu9aJvUenWxFWCqw=; b=Saya8tFzRBgJLU7kADac15lveXo/hJivTVdHEEImbPCh0qEE3aPr9EjIEEsRiMy++hjLCTt/VRy/2p2fjIuG07CMd0y3Lda0K+P7WFl9SV2jGbxsR6NgyHDVidRkB8GaMMV/rk93hXkF7tcxWDuqm5IQxjLIrwDlVggZ9eRJclU= Received: from DB7PR08MB3260.eurprd08.prod.outlook.com (2603:10a6:5:21::23) by DB7PR08MB3865.eurprd08.prod.outlook.com (2603:10a6:10:74::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.24; Thu, 14 May 2020 15:45:09 +0000 Received: from DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::990e:ed79:bec0:9dac]) by DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::990e:ed79:bec0:9dac%7]) with mapi id 15.20.2979.033; Thu, 14 May 2020 15:45:08 +0000 From: "Samer El-Haj-Mahmoud" To: Leif Lindholm CC: "devel@edk2.groups.io" , Ray Ni , Ard Biesheuvel , Michael D Kinney Subject: Re: [edk2-platform][PATCH v1 3/4] Silicon/AsixPkg: Add ASIX Ax88179 driver Thread-Topic: [edk2-platform][PATCH v1 3/4] Silicon/AsixPkg: Add ASIX Ax88179 driver Thread-Index: AQHWKF2m38GbTAiTnUyQvT2adZNnQ6inl7bA Date: Thu, 14 May 2020 15:45:08 +0000 Message-ID: References: <20200510111530.26225-1-Samer.El-Haj-Mahmoud@arm.com> <20200510111530.26225-4-Samer.El-Haj-Mahmoud@arm.com> <20200512130245.GD21486@vanye> In-Reply-To: <20200512130245.GD21486@vanye> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: cf1910c2-e936-4327-bb29-abc865cc5bf7.1 x-checkrecipientchecked: true Authentication-Results-Original: nuviainc.com; dkim=none (message not signed) header.d=none;nuviainc.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [99.132.126.10] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 3939b430-a6a1-44d6-91c6-08d7f81dcc36 x-ms-traffictypediagnostic: DB7PR08MB3865:|VI1PR08MB3520: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:1751;OLM:9508; x-forefront-prvs: 040359335D X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: W+mrEmi4x05CJXB2wYLCuqzt5ffHCVdTjnsVI8HuTOkxClQB/5JstquVoUTMfQ43NbBSJd2NmeuUni4Y6EP8/6S4uJ4Wza2RhRUI9ojtBslrL6uujM7p8LrMAFtabr9V18jebYjzuns7NTQBixN6XrCzNDLq9Bx8mGaw0A8f0QToPHA8dFMqQ0aEgpxWgovfW1etDUqYMWb39nL1ObeG3yULVtrLA4dai76zFClaan1Lb07Mf/ZK0JEY7CkuW3RoC0whWssxtD+TmVM/qVzo7xCY3Xx8pGNkhHDydiIWCrwFMmOuUelnaF9z4xt++SGMbu2Iik4T/WZr+YIK96GfL707qaQIC0ZoUySutwO77lJlCBCh7G1qMxiRfGhIRfzbdf9R3bEPJx/Vys8KR/SmJZS/USoMEBcwDWnyKgKpw0ySTUxJiY7S0k/U3WGcNji09oHSj3JRe7qi2JKP1ZI7xi58bHSm7/aQtdWU8jB3VtSykJaHYlUM/DbdnejoYzilvgQSwvHZNK3vMWBDbi3qwA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3260.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(346002)(396003)(376002)(136003)(39860400002)(76116006)(33656002)(52536014)(8676002)(7696005)(53546011)(6506007)(19627235002)(45080400002)(478600001)(66946007)(66476007)(55016002)(8936002)(66446008)(966005)(66556008)(64756008)(26005)(86362001)(186003)(9686003)(16799955002)(71200400001)(4326008)(2906002)(6916009)(54906003)(5660300002)(316002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: AmtYT0LcNJEG/AT8QJVFhLNcP+kgGtjGxRqX4iYgPHpGIQirt8atObyrdG4d6owMdsD0eScHFM3/dKgrAJC3sy2iYHAen7y9M2hEjSgjdkOyVRKGANJSQV5M7/0JcGl4/X53IUKxy8V4uSfYNRcyiP/lyUtbRkBPqg39ksuPEvQXpf+o+uvk2Krf2QisggV3Ixa1raf5AQOatk5iv8NpxsLnBJsYh6BiwMELWaYO3YF9DFlSXlXyH+FJKEJ7BBzIae014H4xMrB/DMxTy/JAKTq4OpHdb4VjfveWKVaRPrqvUVuTBVna/QcwIzWf6BIGwcRWmsGmbEyif7NMtIpLOv8wNsC/3sfUWmV+7JrmusWKfULczWPFjEd1zsZ5F+lAsRM+o93ecTFd0MLRhsner09Sqmd44RAY8Un4kg9d27wffxbOHdzynbwwWFLx7THtr2pjNL0MAEKyGqzU+4+w0oyAOSMyPyWil4KESNatKaiF64YEl1HGv98a1fVvujvy MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3865 Original-Authentication-Results: nuviainc.com; dkim=none (message not signed) header.d=none;nuviainc.com; dmarc=none action=none header.from=arm.com; Return-Path: Samer.El-Haj-Mahmoud@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT034.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFTY:;SFS:(4636009)(396003)(136003)(39860400002)(346002)(376002)(46966005)(4326008)(54906003)(52536014)(336012)(107886003)(8676002)(5660300002)(356005)(316002)(70206006)(45080400002)(9686003)(70586007)(55016002)(33656002)(478600001)(2906002)(19627235002)(26005)(7696005)(966005)(86362001)(53546011)(82310400002)(81166007)(6506007)(8936002)(6862004)(82740400003)(186003)(47076004)(16799955002);DIR:OUT;SFP:1101; X-MS-Office365-Filtering-Correlation-Id-Prvs: 3050adca-d462-4c37-3b47-08d7f81dc7fe X-Forefront-PRVS: 040359335D X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QKessQQMvajtJ8iQ4EFFBIuzB64sHY7TxWF/MGEqJsQw3p03jasYUeiFXS4KZNon5Yuuu085ZQIaynfCgPSCjtxwicNQsY5Zx4VCXoTtjCjUzIFXKQUcnIbad0u2YDSnxKfLce5eo01nCJSS95KjNuZ7LuoRz7z5djVEsWoFNq6xN8EYeQS9QDk20AjfiJ4dHiNDZm7PNOMPVGGLVwV/t6EmvkNGNzOw6Y40m4zgatG73MYp+3fffGA0FA8K0zppPuF/vi9PuflYbp3obY2J6fnpeSwbb1veKK+0pejMRqGI1U66pcbNrZ4UOPB9RcGDIPKBps/ZyM796vNeexxqzyF/ox9hdF0EH1zdd/KkXkyka5S/kRpBqwlzTJ98VdhoFQe+oHcrX3yHzztPn1j3eIGXhwlE0xiNK8/HPSsKr/0K9VX6WKQduvUOMcvHSHFtWZE2BTIh6noH2UxP6fgscvsNSOr30xFH7hFJby54p65yIMHTks93C6gjSKM9spQ7Kv+O1kz73gcsUsuKjco1Pyh8WO1a2HAjiLh3x26YiTM30xh7duTCt9KESPh33IhjKskzw/Ri5YhsZm/wKoC0lQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 May 2020 15:45:16.0002 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3939b430-a6a1-44d6-91c6-08d7f81dcc36 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3520 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGVpZiBMaW5kaG9sbSA8 bGVpZkBudXZpYWluYy5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE1heSAxMiwgMjAyMCA5OjAzIEFN DQo+IFRvOiBTYW1lciBFbC1IYWotTWFobW91ZCA8U2FtZXIuRWwtSGFqLU1haG1vdWRAYXJtLmNv bT4NCj4gQ2M6IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBSYXkgTmkgPHJheS5uaUBpbnRlbC5jb20+ OyBBcmQgQmllc2hldXZlbA0KPiA8QXJkLkJpZXNoZXV2ZWxAYXJtLmNvbT47IE1pY2hhZWwgRCBL aW5uZXkNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2Vk azItcGxhdGZvcm1dW1BBVENIIHYxIDMvNF0gU2lsaWNvbi9Bc2l4UGtnOiBBZGQgQVNJWA0KPiBB eDg4MTc5IGRyaXZlcg0KPg0KPiBPbiBTdW4sIE1heSAxMCwgMjAyMCBhdCAwNzoxNToyOSAtMDQw MCwgU2FtZXIgRWwtSGFqLU1haG1vdWQgd3JvdGU6DQo+ID4gVGhpcyBpcyB0aGUgaW5pdGlhbCBy ZXZpc2lvbiBvZiBBU0lYIFVTQiBuZXR3b3JraW5nIFVFRkkgZHJpdmVyDQo+ID4gdmVyc2lvbiAy LjkuMCBmb3IgQXg4ODE3OSBhbmQgQXg4ODE3OGENCj4gPg0KPiBodHRwczovL3d3dy5hc2l4LmNv bS50dy9wcm9kdWN0cy5waHA/b3A9cEl0ZW1kZXRhaWwmUEl0ZW1JRD0xMzE7NzE7MQ0KPiAxMg0K PiA+DQo+ID4gU291cmNlIGNvZGUgY29udHJpYnV0ZWQgYnkgQVNJWC4NCj4NCj4gSSBkb24ndCBv YmplY3QgdG8gdGhlIHNob3V0LW91dCwgYnV0IGNhbiBhbnkgbW9yZSBpbmZvcm1hdGlvbiBiZQ0K PiBnaXZlbj8gVGhhdCBjb3VsZCBiZSB1c2VmdWwgZm9yIGFyY2hlb2xvZ2ljYWwgcHVycG9zZXMu DQo+IFRocm91Z2ggYSBwcm92YXRlIGdpdCByZXBvPyBJZiBzbywgYXQgd2hhdCBjb21taXQ/DQo+ IFRocm91Z2ggYSAuemlwIGZpbGU/IElmIHNvLCB3aGF0IHdhcyBpdCBjYWxsZWQ/DQo+DQoNClll cyB0aGUgc291cmNlIGlzIGluIGEgWklQIGZpbGUgdGhhdCBJIG1hZGUgYXZhaWxhYmxlIGhlcmU6 DQpodHRwczovL2dpdGh1Yi5jb20vc2FtZXJoYWovdWVmaV9kcml2ZXJzL2Jsb2IvbWFzdGVyL1Vz Yk5ldHdvcmtpbmcvQXNpeC96aXAvc291cmNlL0FYODgxNzlfMTc4YV9VRUZJX3YyLjkuMF9Tb3Vy Y2UuemlwDQpXaWxsIGFkZCBhIHJlZmVyZW5jZSBpbiB2Mg0KDQo+IEFsc28sIHNlbWFudGljcyAt IGNvdWxkIHlvdSBzYXkgInByb3ZpZGVkIiByYXRoZXIgdGhhbiAiY29udHJpYnV0ZWQiPw0KU3Vy ZQ0KDQoNCj4gPiArIyMgQGZpbGUNCj4gPiArIyBDb21wb25lbnQgZGVzY3JpcHRpb24gZmlsZSBm b3IgQVNJWCBBWDg4NzcyIFVTQi9FdGhlcm5ldCBkcml2ZXIuDQo+ID4gKyMNCj4gPiArIyBUaGlz IG1vZHVsZSBwcm92aWRlcyBzdXBwb3J0IGZvciB0aGUgQVNJWCBBWDg4NzcyIFVTQi9FdGhlcm5l dA0KPiBhZGFwdGVyLg0KPiA+ICsjIENvcHlyaWdodCAoYykgMjAxMSwgSW50ZWwgQ29ycG9yYXRp b24NCj4NCj4gSSBmaXJzdCB0aG91Z2h0IHRoaXMgd2FzIGEgY29weXJpZ2h0IGxpbmUgcmV0YWlu ZWQgZnJvbSB1c2luZyBhDQo+IHRlbXBsYXRlLCBidXQgdGhlIHNhbWUgYXBwZWFycyBmb3IgYWxs IGZpbGVzIGluIHBhdGNoLg0KPiBXaHkgZG9lcyBJbnRlbCBvd24gdGhlIGNvcHlyaWdodCBvbiBz b3VyY2VzIGZyb20gQVNJWC4NCg0KSSBoYXZlIG5vIGNsdWUuIFRoZSBjb2RlIGNhbWUgZnJvbSBB U0lYIHdpdGggdGhlc2UgSW50ZWwgY29weXJpZ2h0cy4gSSBqdXN0IHVwZGF0ZWQgdGhlIGxpY2Vu c2UgZnJvbQ0KIkJTRCBMaWNlbnNlJyB0byAiQlNELTItQ2xhdXNlLVBhdGVudCIuDQoNCkkgYWxz byBub3RpY2VkIHRoZSBvcmlnaW5hbCBkcml2ZXJzIGNhcnJ5IHRoZSBJbnRlbCBjb3B5cmlnaHRz LCBhbmQgaGF2ZSBiZWVuIHNvIHNpbmNlIHRoZSBpbml0aWFsIGNvbnRyaWJ1dGlvbjoNCmUuZy4g aHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyL2NvbW1pdC84ZGRlMWY2ZTk1NzQ5Njdi NzFkYzRjNmNhMTVjYjdjZmQxNmIzOGE1DQpJIGFtIHNwZWN1bGF0aW5nLCBidXQgbWF5YmUgSW50 ZWwgd3JvdGUgdGhlIG9yaWdpbmFsIGNvZGUsIGFuZCBBU0lYIG5ldmVyIGFkZGVkIHRoZWlyIGNv cHlyaWdodHM/DQoNCg0KPiA+ICsNCj4gPiArDQo+ID4gKyNkZWZpbmUgUEFTU19TQ1QgICAgICAw DQo+DQo+IE8nUmx5Pw0KPiBUaGlzIHNob3VsZG4ndCBldmVuIGJlIHBvc3NpYmxlIHRvIGRpc2Fi bGUuDQrwn5iKIEhleSBJIGFtIGp1c3QgdGhlIG1lc3Nlbmdlci4NCkkgd2lsbCBlbmFibGUgaXQg YW5kIHNlZSBpZiBhbnl0aGluZyBicmVha3MsIGFuZCBpZiBzbywgd2lsbCByZW1vdmUgdGhlICNk ZWZpbmUNCg0KPiA+ICsvLyNpZiBkZWZpbmVkKF9NU0NfVkVSKSAgICAgICAgICAgLyogSGFuZGxl IE1pY3Jvc29mdCBWQysrIGNvbXBpbGVyDQo+IHNwZWNpZmljcy4gKi8NCj4gPiArI2RlZmluZSBE QkdfRU5URVIoKSAgICAgICAgICAgICBERUJVRyAoKCAweGZmZmZmZmZmLCAiRW50ZXJpbmcgIg0K PiBfX0ZVTkNUSU9OX18gIlxuIiApKSAvLy88ICBEaXNwbGF5IHJvdXRpbmUgZW50cnkNCj4gPiAr I2RlZmluZSBEQkdfRVhJVCgpICAgICAgICAgICAgICBERUJVRyAoKCAweGZmZmZmZmZmLCAiRXhp dGluZyAiIF9fRlVOQ1RJT05fXw0KPiAiXG4iICkpICAvLy88ICBEaXNwbGF5IHJvdXRpbmUgZXhp dA0KPiA+ICsjZGVmaW5lIERCR19FWElUX0RFQyhTdGF0dXMpICAgIERFQlVHICgoIDB4ZmZmZmZm ZmYsICJFeGl0aW5nICINCj4gX19GVU5DVElPTl9fICIsIFN0YXR1czogJWRcbiIsIFN0YXR1cyAp KSAgICAgIC8vLzwgIERpc3BsYXkgcm91dGluZSBleGl0IHdpdGgNCj4gZGVjaW1hbCB2YWx1ZQ0K PiA+ICsjZGVmaW5lIERCR19FWElUX0hFWChTdGF0dXMpICAgIERFQlVHICgoIDB4ZmZmZmZmZmYs ICJFeGl0aW5nICINCj4gX19GVU5DVElPTl9fICIsIFN0YXR1czogMHglMDh4XG4iLCBTdGF0dXMg KSkgIC8vLzwgIERpc3BsYXkgcm91dGluZSBleGl0IHdpdGgNCj4gaGV4IHZhbHVlDQo+ID4gKyNk ZWZpbmUgREJHX0VYSVRfU1RBVFVTKFN0YXR1cykgREVCVUcgKCggMHhmZmZmZmZmZiwgIkV4aXRp bmcgIg0KPiBfX0ZVTkNUSU9OX18gIiwgU3RhdHVzOiAlclxuIiwgU3RhdHVzICkpICAgICAgLy8v PCAgRGlzcGxheSByb3V0aW5lIGV4aXQgd2l0aA0KPiBzdGF0dXMgdmFsdWUNCj4gPiArI2RlZmlu ZSBEQkdfRVhJVF9URihTdGF0dXMpICAgICBERUJVRyAoKCAweGZmZmZmZmZmLCAiRXhpdGluZyAi DQo+IF9fRlVOQ1RJT05fXyAiLCByZXR1cm5pbmcgJXNcbiIsIChGQUxTRSA9PSBTdGF0dXMpID8g TCJGQUxTRSIgOiBMIlRSVUUiICkpDQo+IC8vLzwgIERpc3BsYXkgcm91dGluZSB3aXRoIFRSVUUv RkFMU0UgdmFsdWUNCj4gPiArLy8jZWxzZSAgIC8vICBfTVNDX1ZFUg0KPiA+ICsvLyNkZWZpbmUg REJHX0VOVEVSKCkgICAgICAgICAgICAgICAvLy88ICBEaXNwbGF5IHJvdXRpbmUgZW50cnkNCj4g PiArLy8jZGVmaW5lIERCR19FWElUKCkgICAgICAgICAgICAgICAgLy8vPCAgRGlzcGxheSByb3V0 aW5lIGV4aXQNCj4gPiArLy8jZGVmaW5lIERCR19FWElUX0RFQyhTdGF0dXMpICAgICAgLy8vPCAg RGlzcGxheSByb3V0aW5lIGV4aXQgd2l0aCBkZWNpbWFsDQo+IHZhbHVlDQo+ID4gKy8vI2RlZmlu ZSBEQkdfRVhJVF9IRVgoU3RhdHVzKSAgICAgIC8vLzwgIERpc3BsYXkgcm91dGluZSBleGl0IHdp dGggaGV4DQo+IHZhbHVlDQo+ID4gKy8vI2RlZmluZSBEQkdfRVhJVF9TVEFUVVMoU3RhdHVzKSAg IC8vLzwgIERpc3BsYXkgcm91dGluZSBleGl0IHdpdGgNCj4gc3RhdHVzIHZhbHVlDQo+ID4gKy8v I2RlZmluZSBEQkdfRVhJVF9URihTdGF0dXMpICAgICAgIC8vLzwgIERpc3BsYXkgcm91dGluZSB3 aXRoIFRSVUUvRkFMU0UNCj4gdmFsdWUNCj4NCj4gSSBkb24ndCBzZWUgdGhlc2UgdXNlZCBhdCBh bGwgKHJlZ2FyZGxlc3Mgb2YgdG9vbGNoYWluIGZsYXZvdXIpPw0KPiBDYW4gdGhleSBiZSBkcm9w cGVkPw0KPg0KSSBhY3R1YWxseSBzZWUgdGhlc2UgZGVidWcgbWFjcm9zIHVzZWQgaW4gYm90aCBk cml2ZXJzLg0KSSBjYW4gZml4IHRoZSAjaWYgbWFjcm8gYWJvdmUgdG8gdXNlIGEgI2RlZmluZSBp bnN0ZWFkIG9mIHRoZSB0b29sY2hhaW4uDQoNCg0KDQoNCj4gPiArDQo+ID4gKw0KPiA+ICsvKkZy ZWRkeSovDQo+ID4gKyNkZWZpbmUgUlhDX1JIMU0gICAgICAgICAgMHgwMTAwICAvLy88ICBSeCBo ZWFkZXIgMQ0KPiA+ICsjZGVmaW5lIFJYQ19SSDJNICAgICAgICAgIDB4MDIwMCAgLy8vPCAgUngg aGVhZGVyIDINCj4gPiArI2RlZmluZSBSWENfUkgzTSAgICAgICAgICAweDA0MDAgIC8vLzwgIFJ4 IGhlYWRlciAzDQo+ID4gKy8qRnJlZGR5Ki8NCj4NCj4gVW51c2VkLg0KPg0KDQpJIG9ubHkgc2Vl IFJYQ19SSDFNICB1c2VkIG9uY2UgaW4gdGhlIG90aGVyIGRyaXZlci4gV2lsbCByZW1vdmUgdGhl IG90aGVyIG1hY3JvcyBhbmQgdGhlICJGcmVkZHkiIGNvbW1lbnRzDQoNCg0KDQo+ID4gKw0KPiA+ ICsNCj4gPiArI2lmIFBBU1NfU0NUDQo+DQo+IERyb3AgY29uZGl0aW9uYWwuDQo+DQo+ID4gK0VG SV9TVEFUVVMNCj4gPiArRUZJQVBJDQo+ID4gK0dldENvbnRyb2xsZXJOYW1lICgNCj4gPiArICBJ TiAgRUZJX0NPTVBPTkVOVF9OQU1FX1BST1RPQ09MICogcFRoaXMsDQo+ID4gKyAgSU4gIEVGSV9I QU5ETEUgQ29udHJvbGxlckhhbmRsZSwNCj4gPiArICBJTiBPUFRJT05BTCBFRklfSEFORExFIENo aWxkSGFuZGxlLA0KPiA+ICsgIElOICBDSEFSOCAqIHBMYW5ndWFnZSwNCj4gPiArICBPVVQgQ0hB UjE2ICoqIHBwQ29udHJvbGxlck5hbWUNCj4gPiArICApDQo+ID4gK3sNCj4gPiArDQo+ID4gKyAg RUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPiArICBFRklfVVNCX0lPX1BS T1RPQ09MICAgICAgICAgKlVzYklvUHJvdG9jb2w7DQo+ID4gKw0KPiA+ICsgIC8vDQo+ID4gKyAg Ly8gVGhpcyBpcyBhIGRldmljZSBkcml2ZXIsIHNvIENoaWxkSGFuZGxlIG11c3QgYmUgTlVMTC4N Cj4gPiArICAvLw0KPiA+ICsgIGlmIChDaGlsZEhhbmRsZSAhPSBOVUxMKSB7DQo+ID4gKyAgICBy ZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiA+ICsgIH0NCj4gPiArDQo+ID4gKyAgLy8NCj4gPiAr ICAvLyBDaGVjayBDb250cm9sbGVyJ3MgaGFuZGxlDQo+ID4gKyAgLy8NCj4gPiArICBTdGF0dXMg PSBnQlMtPk9wZW5Qcm90b2NvbCAoDQo+ID4gKyAgICAgICAgICAgICAgICAgIENvbnRyb2xsZXJI YW5kbGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICZnRWZpVXNiSW9Qcm90b2NvbEd1aWQsDQo+ ID4gKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmVXNiSW9Qcm90b2NvbCwNCj4gPiArICAg ICAgICAgICAgICAgICAgZ0RyaXZlckJpbmRpbmcuRHJpdmVyQmluZGluZ0hhbmRsZSwNCj4gPiAr ICAgICAgICAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwNCj4gPiArICAgICAgICAgICAgICAg ICAgRUZJX09QRU5fUFJPVE9DT0xfQllfRFJJVkVSDQo+ID4gKyAgICAgICAgICAgICAgICAgICk7 DQo+ID4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPiArICAgIGdCUy0+Q2xvc2VQ cm90b2NvbCAoDQo+ID4gKyAgICAgICAgICAgQ29udHJvbGxlckhhbmRsZSwNCj4gPiArICAgICAg ICAgICAmZ0VmaVVzYklvUHJvdG9jb2xHdWlkLA0KPiA+ICsgICAgICAgICAgIGdEcml2ZXJCaW5k aW5nLkRyaXZlckJpbmRpbmdIYW5kbGUsDQo+ID4gKyAgICAgICAgICAgQ29udHJvbGxlckhhbmRs ZQ0KPiA+ICsgICAgICAgICAgICk7DQo+ID4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0K PiA+ICsgIH0NCj4gPiArDQo+ID4gKyAgaWYgKFN0YXR1cyAhPSBFRklfQUxSRUFEWV9TVEFSVEVE KSB7DQo+ID4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiA+ICsgIH0NCj4gPiArDQo+ ID4gKyAgU3RhdHVzID0gIExvb2t1cFVuaWNvZGVTdHJpbmcyICgNCj4gPiArICAgICAgICAgICBw TGFuZ3VhZ2UsDQo+ID4gKyAgICAgICAgICAgIHBUaGlzLT5TdXBwb3J0ZWRMYW5ndWFnZXMsDQo+ ID4gKyAgICAgICAgICAgbUNvbnRyb2xsZXJOYW1lVGFibGUsDQo+ID4gKyAgICAgICAgICAgcHBD b250cm9sbGVyTmFtZSwNCj4gPiArICAgICAgICAgICAoQk9PTEVBTikocFRoaXMgPT0gJmdDb21w b25lbnROYW1lKQ0KPiA+ICsgICAgICAgICAgICk7DQo+ID4gKw0KPiA+ICsgIHJldHVybiAgU3Rh dHVzOw0KPiA+ICt9DQo+ID4gKyNlbHNlDQo+DQo+IFVtbT8gSSB3YXMgZXhwZWN0aW5nIHRoZSAi ZWxzZSIgc2lkZSB0byBiZSBzb21ldGhpbmcgdGhhdCBjb250YWluZWQgYW4NCj4gZW1wdHkgc3R1 Yi4gV2hhdCdzIHRoZSBwcm9ibGVtIHRoaXMgdmFyaWFudCBpcyB0cnlpbmcgdG8gc29sdmU/DQo+ DQo+IC8NCj4gICAgIExlaWYNCj4NCldpbGwgZW5hYmxlIFBBU1NfU0NUIGFuZCBzZWUgaWYgd2Ug Y2FuIGxpdmUgd2l0aCB0aGF0LCBhbmQgZHJvcCB0aGUgb3RoZXIgdmFyaWFudA0KSU1QT1JUQU5U IE5PVElDRTogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZW1haWwgYW5kIGFueSBhdHRhY2htZW50cyBh cmUgY29uZmlkZW50aWFsIGFuZCBtYXkgYWxzbyBiZSBwcml2aWxlZ2VkLiBJZiB5b3UgYXJlIG5v dCB0aGUgaW50ZW5kZWQgcmVjaXBpZW50LCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgaW1tZWRp YXRlbHkgYW5kIGRvIG5vdCBkaXNjbG9zZSB0aGUgY29udGVudHMgdG8gYW55IG90aGVyIHBlcnNv biwgdXNlIGl0IGZvciBhbnkgcHVycG9zZSwgb3Igc3RvcmUgb3IgY29weSB0aGUgaW5mb3JtYXRp b24gaW4gYW55IG1lZGl1bS4gVGhhbmsgeW91Lg0K