From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2C0FAC6377B for ; Thu, 22 Jul 2021 01:33:07 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id A747C61279 for ; Thu, 22 Jul 2021 01:33:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A747C61279 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:CC:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=BweP/VM9o1MPZTGXYhAWJmjLKVgD9ersvyO1NVnIoW8=; b=TeAdaEmkAekX85 YS/2DOOTQ5DCSrKwZrqtlhHRU6OAQBty0wuPd7BvWkEizWFwlnzRcQKl8JimU0vibn/XKDfMAtJUH CEiClSSG7bd2Trea+aWo/HXBHPjlBdBxkzjCVaBB2k3T6zrDmgWzZGXtuOUXE2MT2l0tI6QzvtBaI yQx7pmr8yBdeBka4NOmKAgp9Uqk8WAhVYyepZ/MCsGCo/mjn2JB3mGeaxDhZZrti2T6VOLhp9nqm/ s7O3pV8YPjEEz2qmTZS9GMcqlKhkFoYAxoGCxeGCy6K7g9sNi0JjaDNYrp6zfPfU/4LWCEr5nN13G CrVpAA/W9MkliX6TYW9A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6NZx-00HWbS-DG; Thu, 22 Jul 2021 01:32:49 +0000 Received: from mailgw02.mediatek.com ([216.200.240.185]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1m6NZs-00HWb0-KH; Thu, 22 Jul 2021 01:32:48 +0000 X-UUID: f756f2c1b1254e75a1b24ff73587ddea-20210721 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=qub++bNZNJYTDSbpJhpxjpFzRfPqzwcn2G1dt/W3e90=; b=Wf+1QfxiuYcu6Iv6geRcDteMcqeOREA0pm2VwCqiUV7eeklgFEyD7IS5Xp3IaF0mQzg9uc0Xzl5izo5d9TeCnTZz4E6O2+8aHuxWuhOvHVufRwjsOTNWY+CCsdm9GuvyXogMcNlt0WnpgSAIJnvz7IbegHboJ1x/erErpRxsH4c=; X-UUID: f756f2c1b1254e75a1b24ff73587ddea-20210721 Received: from mtkcas66.mediatek.inc [(172.29.193.44)] by mailgw02.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 361926708; Wed, 21 Jul 2021 18:32:42 -0700 Received: from MTKMBS02N1.mediatek.inc (172.21.101.77) by MTKMBS62DR.mediatek.inc (172.29.94.18) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 21 Jul 2021 18:32:40 -0700 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs02n1.mediatek.inc (172.21.101.77) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Thu, 22 Jul 2021 09:32:38 +0800 Received: from mtksdccf07 (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Thu, 22 Jul 2021 09:32:38 +0800 Message-ID: <3f8b55c75f97e46901c9380fefd2c15a8c5a2a72.camel@mediatek.com> Subject: Re: [PATCH v1 06/10] drm/mediatek: add ETHDR support for MT8195 From: Nancy.Lin To: Chun-Kuang Hu CC: CK Hu , Philipp Zabel , "David Airlie" , Daniel Vetter , Rob Herring , Matthias Brugger , "jason-jh . lin" , Yongqiang Niu , DRI Development , "moderated list:ARM/Mediatek SoC support" , DTML , linux-kernel , Linux ARM , , srv_heupstream , Date: Thu, 22 Jul 2021 09:32:38 +0800 In-Reply-To: References: <20210717090408.28283-1-nancy.lin@mediatek.com> <20210717090408.28283-7-nancy.lin@mediatek.com> X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.2 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210721_183244_753365_543A32F9 X-CRM114-Status: GOOD ( 27.76 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org SGkgQ2h1bi1LdWFuZywNCg0KT24gTW9uLCAyMDIxLTA3LTE5IGF0IDA3OjU2ICswODAwLCBDaHVu LUt1YW5nIEh1IHdyb3RlOg0KPiBIaSwgTmFuY3k6DQo+IA0KPiBOYW5jeS5MaW4gPG5hbmN5Lmxp bkBtZWRpYXRlay5jb20+IOaWvCAyMDIx5bm0N+aciDE35pelIOmAseWFrSDkuIvljYg1OjA05a+r 6YGT77yaDQo+ID4gDQo+ID4gQWRkIEVUSERSIG1vZHVsZSBmaWxlczoNCj4gPiBFVEhEUiBpcyBk ZXNpZ25lZCBmb3IgSERSIHZpZGVvIGFuZCBncmFwaGljcyBjb252ZXJzaW9uIGluIHRoZQ0KPiA+ IGV4dGVybmFsDQo+ID4gZGlzcGxheSBwYXRoLiBJdCBoYW5kbGVzIG11bHRpcGxlIEhEUiBpbnB1 dCB0eXBlcyBhbmQgcGVyZm9ybXMgdG9uZQ0KPiA+IG1hcHBpbmcsIGNvbG9yIHNwYWNlL2NvbG9y IGZvcm1hdCBjb252ZXJzaW9uLCBhbmQgdGhlbiBjb21iaW5lcw0KPiA+IGRpZmZlcmVudCBsYXll cnMsIG91dHB1dCB0aGUgcmVxdWlyZWQgSERSIG9yIFNEUiBzaWduYWwgdG8gdGhlDQo+ID4gc3Vi c2VxdWVudCBkaXNwbGF5IHBhdGguDQo+ID4gDQo+ID4gU2lnbmVkLW9mZi1ieTogTmFuY3kuTGlu IDxuYW5jeS5saW5AbWVkaWF0ZWsuY29tPg0KPiA+IC0tLQ0KPiA+ICBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvTWFrZWZpbGUgICAgICAgICAgIHwgICAzICstDQo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZGlzcF9kcnYuaCAgICAgfCAgIDggKw0KPiA+ICBkcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jIHwgIDExICsNCj4gPiAgZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaCB8ICAgMSArDQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jICAgICAgfCAgIDQgKw0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCAgICAgIHwgICAxICsNCj4gPiAgZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19ldGhkci5jICAgICAgICB8IDUzNw0KPiA+ICsrKysrKysrKysr KysrKysrKysrDQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZXRoZHIuaCAgICAg ICAgfCAgMjAgKw0KPiA+ICA4IGZpbGVzIGNoYW5nZWQsIDU4NCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pDQo+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2V0aGRyLmMNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZXRoZHIuaA0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvTWFrZWZpbGUNCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9NYWtl ZmlsZQ0KPiA+IGluZGV4IDI3Yzg5ODQ3ZDQzYi4uZmNjZTA4NzEwY2VmIDEwMDY0NA0KPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9NYWtlZmlsZQ0KPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9NYWtlZmlsZQ0KPiA+IEBAIC0xMyw3ICsxMyw4IEBAIG1lZGlhdGVr LWRybS15IDo9IG10a19kaXNwX2Njb3JyLm8gXA0KPiA+ICAgICAgICAgICAgICAgICAgIG10a19k cm1fZ2VtLm8gXA0KPiA+ICAgICAgICAgICAgICAgICAgIG10a19kcm1fcGxhbmUubyBcDQo+ID4g ICAgICAgICAgICAgICAgICAgbXRrX2RzaS5vIFwNCj4gPiAtICAgICAgICAgICAgICAgICBtdGtf ZHBpLm8NCj4gPiArICAgICAgICAgICAgICAgICBtdGtfZHBpLm8gXA0KPiA+ICsgICAgICAgICAg ICAgICAgIG10a19ldGhkci5vDQo+ID4gDQo+ID4gIG9iai0kKENPTkZJR19EUk1fTUVESUFURUsp ICs9IG1lZGlhdGVrLWRybS5vDQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZGlzcF9kcnYuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kaXNwX2Rydi5oDQo+ID4gaW5kZXggM2UyN2NlN2ZlZjU3Li43MjI3ZmZiYzNlYWUgMTAw NjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX2Rydi5oDQo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX2Rydi5oDQo+ID4gQEAg LTEwNSw0ICsxMDUsMTIgQEAgdm9pZCBtdGtfcmRtYV9lbmFibGVfdmJsYW5rKHN0cnVjdCBkZXZp Y2UNCj4gPiAqZGV2LA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICp2Ymxh bmtfY2JfZGF0YSk7DQo+ID4gIHZvaWQgbXRrX3JkbWFfZGlzYWJsZV92Ymxhbmsoc3RydWN0IGRl dmljZSAqZGV2KTsNCj4gPiANCj4gPiAraW50IG10a19ldGhkcl9jbGtfZW5hYmxlKHN0cnVjdCBk ZXZpY2UgKmRldik7DQo+ID4gK3ZvaWQgbXRrX2V0aGRyX2Nsa19kaXNhYmxlKHN0cnVjdCBkZXZp Y2UgKmRldik7DQo+ID4gK3ZvaWQgbXRrX2V0aGRyX2NvbmZpZyhzdHJ1Y3QgZGV2aWNlICpkZXYs IHVuc2lnbmVkIGludCB3LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg aCwgdW5zaWduZWQgaW50IHZyZWZyZXNoLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgYnBjLCBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KTsNCj4gPiArdm9pZCBtdGtf ZXRoZHJfc3RhcnQoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gPiArdm9pZCBtdGtfZXRoZHJfc3Rv cChzdHJ1Y3QgZGV2aWNlICpkZXYpOw0KPiA+ICsNCj4gPiAgI2VuZGlmDQo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMNCj4gPiBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMNCj4gPiBpbmRleCA5MTI1 ZDBmNjM1MmYuLjNmYTg2ZjEyZmViNCAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYw0KPiA+IEBAIC0zNTUsNiArMzU1LDE0IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzDQo+ID4gZGRwX3Vmb2UgPSB7DQo+ID4g ICAgICAgICAuc3RhcnQgPSBtdGtfdWZvZV9zdGFydCwNCj4gPiAgfTsNCj4gPiANCj4gPiArc3Rh dGljIGNvbnN0IHN0cnVjdCBtdGtfZGRwX2NvbXBfZnVuY3MgZGRwX2V0aGRyID0gew0KPiA+ICsg ICAgICAgLmNsa19lbmFibGUgPSBtdGtfZXRoZHJfY2xrX2VuYWJsZSwNCj4gPiArICAgICAgIC5j bGtfZGlzYWJsZSA9IG10a19ldGhkcl9jbGtfZGlzYWJsZSwNCj4gPiArICAgICAgIC5jb25maWcg PSBtdGtfZXRoZHJfY29uZmlnLA0KPiA+ICsgICAgICAgLnN0YXJ0ID0gbXRrX2V0aGRyX3N0YXJ0 LA0KPiA+ICsgICAgICAgLnN0b3AgPSBtdGtfZXRoZHJfc3RvcCwNCj4gPiArfTsNCj4gPiArDQo+ ID4gIHN0YXRpYyBjb25zdCBjaGFyICogY29uc3QgbXRrX2RkcF9jb21wX3N0ZW1bTVRLX0REUF9D T01QX1RZUEVfTUFYXQ0KPiA+ID0gew0KPiA+ICAgICAgICAgW01US19ESVNQX09WTF0gPSAib3Zs IiwNCj4gPiAgICAgICAgIFtNVEtfRElTUF9PVkxfMkxdID0gIm92bC0ybCIsDQo+ID4gQEAgLTM2 Myw2ICszNzEsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0DQo+ID4gbXRrX2RkcF9jb21w X3N0ZW1bTVRLX0REUF9DT01QX1RZUEVfTUFYXSA9IHsNCj4gPiAgICAgICAgIFtNVEtfRElTUF9D T0xPUl0gPSAiY29sb3IiLA0KPiA+ICAgICAgICAgW01US19ESVNQX0NDT1JSXSA9ICJjY29yciIs DQo+ID4gICAgICAgICBbTVRLX0RJU1BfQUFMXSA9ICJhYWwiLA0KPiA+ICsgICAgICAgW01US19E SVNQX0VUSERSXSA9ICJldGhkciIsDQo+ID4gICAgICAgICBbTVRLX0RJU1BfR0FNTUFdID0gImdh bW1hIiwNCj4gPiAgICAgICAgIFtNVEtfRElTUF9ESVRIRVJdID0gImRpdGhlciIsDQo+ID4gICAg ICAgICBbTVRLX0RJU1BfVUZPRV0gPSAidWZvZSIsDQo+ID4gQEAgLTM5OSw2ICs0MDgsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9tYXRjaA0KPiA+IG10a19kZHBfbWF0Y2hl c1tERFBfQ09NUE9ORU5UX0lEX01BWF0gPSB7DQo+ID4gICAgICAgICBbRERQX0NPTVBPTkVOVF9E U0kxXSAgICA9IHsgTVRLX0RTSSwgICAgICAgICAgICAxLCAmZGRwX2RzaQ0KPiA+IH0sDQo+ID4g ICAgICAgICBbRERQX0NPTVBPTkVOVF9EU0kyXSAgICA9IHsgTVRLX0RTSSwgICAgICAgICAgICAy LCAmZGRwX2RzaQ0KPiA+IH0sDQo+ID4gICAgICAgICBbRERQX0NPTVBPTkVOVF9EU0kzXSAgICA9 IHsgTVRLX0RTSSwgICAgICAgICAgICAzLCAmZGRwX2RzaQ0KPiA+IH0sDQo+ID4gKyAgICAgICBb RERQX0NPTVBPTkVOVF9FVEhEUl0gICA9IHsgTVRLX0RJU1BfRVRIRFIsICAgICAwLA0KPiA+ICZk ZHBfZXRoZHJ9LA0KPiA+ICAgICAgICAgW0REUF9DT01QT05FTlRfR0FNTUFdICAgPSB7IE1US19E SVNQX0dBTU1BLCAgICAgMCwNCj4gPiAmZGRwX2dhbW1hIH0sDQo+ID4gICAgICAgICBbRERQX0NP TVBPTkVOVF9NRVJHRTBdICA9IHsgTVRLX0RJU1BfTUVSR0UsICAgICAwLA0KPiA+ICZkZHBfbWVy Z2UgfSwNCj4gPiAgICAgICAgIFtERFBfQ09NUE9ORU5UX01FUkdFMV0gID0geyBNVEtfRElTUF9N RVJHRSwgICAgIDEsDQo+ID4gJmRkcF9tZXJnZSB9LA0KPiA+IEBAIC01MzYsNiArNTQ2LDcgQEAg aW50IG10a19kZHBfY29tcF9pbml0KHN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSwNCj4gPiBzdHJ1 Y3QgbXRrX2RkcF9jb21wICpjb21wLA0KPiA+ICAgICAgICAgICAgIHR5cGUgPT0gTVRLX0RJU1Bf Q0NPUlIgfHwNCj4gPiAgICAgICAgICAgICB0eXBlID09IE1US19ESVNQX0NPTE9SIHx8DQo+ID4g ICAgICAgICAgICAgdHlwZSA9PSBNVEtfRElTUF9EU0MgfHwNCj4gPiArICAgICAgICAgICB0eXBl ID09IE1US19ESVNQX0VUSERSIHx8DQo+ID4gICAgICAgICAgICAgdHlwZSA9PSBNVEtfRElTUF9H QU1NQSB8fA0KPiA+ICAgICAgICAgICAgIHR5cGUgPT0gTVRLX0RJU1BfTUVSR0UgfHwNCj4gPiAg ICAgICAgICAgICB0eXBlID09IE1US19ESVNQX09WTCB8fA0KPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oDQo+ID4gYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oDQo+ID4gaW5kZXggMGFmZDc4YzBiYzky Li5mNTVlZmJhNmU3NDQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZGRwX2NvbXAuaA0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2RkcF9jb21wLmgNCj4gPiBAQCAtMzYsNiArMzYsNyBAQCBlbnVtIG10a19kZHBfY29t cF90eXBlIHsNCj4gPiAgICAgICAgIE1US19ESVNQX0JMUywNCj4gPiAgICAgICAgIE1US19ESVNQ X0RTQywNCj4gPiAgICAgICAgIE1US19ESVNQX01FUkdFLA0KPiA+ICsgICAgICAgTVRLX0RJU1Bf RVRIRFIsDQo+ID4gICAgICAgICBNVEtfRERQX0NPTVBfVFlQRV9NQVgsDQo+ID4gIH07DQo+ID4g DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5j DQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYw0KPiA+IGluZGV4 IDExYzI1ZGFmMDVkOC4uYWNlOTU4YTM0YmI1IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZHJ2LmMNCj4gPiBAQCAtNDgwLDYgKzQ4MCw4IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkDQo+ID4gbXRrX2RkcF9jb21wX2R0X2lkc1tdID0gew0KPiA+ ICAgICAgICAgICAuZGF0YSA9ICh2b2lkICopTVRLX0RJU1BfUFdNIH0sDQo+ID4gICAgICAgICB7 IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My1kaXNwLW9kIiwNCj4gPiAgICAgICAgICAg LmRhdGEgPSAodm9pZCAqKU1US19ESVNQX09EIH0sDQo+ID4gKyAgICAgICB7IC5jb21wYXRpYmxl ID0gIm1lZGlhdGVrLG10ODE5NS1kaXNwLWV0aGRyIiwNCj4gPiArICAgICAgICAgLmRhdGEgPSAo dm9pZCAqKU1US19ESVNQX0VUSERSIH0sDQo+ID4gICAgICAgICB7IH0NCj4gPiAgfTsNCj4gPiAN Cj4gPiBAQCAtNTY3LDYgKzU2OSw3IEBAIHN0YXRpYyBpbnQgbXRrX2RybV9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlDQo+ID4gKnBkZXYpDQo+ID4gICAgICAgICAgICAgICAgIGlmIChjb21w X3R5cGUgPT0gTVRLX0RJU1BfQ0NPUlIgfHwNCj4gPiAgICAgICAgICAgICAgICAgICAgIGNvbXBf dHlwZSA9PSBNVEtfRElTUF9DT0xPUiB8fA0KPiA+ICAgICAgICAgICAgICAgICAgICAgY29tcF90 eXBlID09IE1US19ESVNQX0RTQyB8fA0KPiA+ICsgICAgICAgICAgICAgICAgICAgY29tcF90eXBl ID09IE1US19ESVNQX0VUSERSIHx8DQo+ID4gICAgICAgICAgICAgICAgICAgICBjb21wX3R5cGUg PT0gTVRLX0RJU1BfR0FNTUEgfHwNCj4gPiAgICAgICAgICAgICAgICAgICAgIGNvbXBfdHlwZSA9 PSBNVEtfRElTUF9NRVJHRSB8fA0KPiA+ICAgICAgICAgICAgICAgICAgICAgY29tcF90eXBlID09 IE1US19ESVNQX09WTCB8fA0KPiA+IEBAIC02NzYsNiArNjc5LDcgQEAgc3RhdGljIHN0cnVjdCBw bGF0Zm9ybV9kcml2ZXIgKiBjb25zdA0KPiA+IG10a19kcm1fZHJpdmVyc1tdID0gew0KPiA+ICAg ICAgICAgJm10a19kcGlfZHJpdmVyLA0KPiA+ICAgICAgICAgJm10a19kcm1fcGxhdGZvcm1fZHJp dmVyLA0KPiA+ICAgICAgICAgJm10a19kc2lfZHJpdmVyLA0KPiA+ICsgICAgICAgJm10a19ldGhk cl9kcml2ZXIsDQo+ID4gIH07DQo+ID4gDQo+ID4gIHN0YXRpYyBpbnQgX19pbml0IG10a19kcm1f aW5pdCh2b2lkKQ0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2RybV9kcnYuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgN Cj4gPiBpbmRleCBjNGQ4MDJhNDM1MzEuLmM4N2ViYjUzMDlkMCAxMDA2NDQNCj4gPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0KPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oDQo+ID4gQEAgLTU1LDUgKzU1LDYgQEAgZXh0 ZXJuIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXINCj4gPiBtdGtfZGlzcF9kc2NfZHJpdmVyOw0KPiA+ ICBleHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZGlzcF9tZXJnZV9kcml2ZXI7DQo+ ID4gIGV4dGVybiBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10a19kcGlfZHJpdmVyOw0KPiA+ICBl eHRlcm4gc3RydWN0IHBsYXRmb3JtX2RyaXZlciBtdGtfZHNpX2RyaXZlcjsNCj4gPiArZXh0ZXJu IHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRrX2V0aGRyX2RyaXZlcjsNCj4gPiANCj4gPiAgI2Vu ZGlmIC8qIE1US19EUk1fRFJWX0ggKi8NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19ldGhkci5jDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRr X2V0aGRyLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAwMDAwMDAw MC4uY2VhZGIyODE2OWI4DQo+ID4gLS0tIC9kZXYvbnVsbA0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZXRoZHIuYw0KPiA+IEBAIC0wLDAgKzEsNTM3IEBADQo+ID4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4gPiArLyoNCj4gPiArICog Q29weXJpZ2h0IChjKSAyMDIxIE1lZGlhVGVrIEluYy4NCj4gPiArICovDQo+ID4gKw0KPiA+ICsj aW5jbHVkZSA8ZHJtL2RybV9mb3VyY2MuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L2Nsay5oPg0K PiA+ICsjaW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9v Zl9kZXZpY2UuaD4NCj4gPiArI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4NCj4gPiArI2lu Y2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KPiA+ICsjaW5jbHVkZSA8bGludXgvc29j L21lZGlhdGVrL210ay1jbWRxLmg+DQo+ID4gKw0KPiA+ICsjaW5jbHVkZSAibXRrX2RybV9jcnRj LmgiDQo+ID4gKyNpbmNsdWRlICJtdGtfZHJtX2RkcF9jb21wLmgiDQo+ID4gKyNpbmNsdWRlICJt dGtfZHJtX2Rydi5oIg0KPiA+ICsjaW5jbHVkZSAibXRrX2V0aGRyLmgiDQo+ID4gKw0KPiA+ICsj ZGVmaW5lIE1JWF9FTiAgICAgICAgIDB4Yw0KPiA+ICsjZGVmaW5lIE1JWF9SU1QgICAgICAgICAg ICAgICAgMHgxNA0KPiA+ICsjZGVmaW5lIE1JWF9ST0lfU0laRSAgIDB4MTgNCj4gPiArI2RlZmlu ZSBNSVhfREFUQVBBVEhfQ09OICAgICAgIDB4MWMNCj4gPiArI2RlZmluZSBNSVhfUk9JX0JHQ0xS ICAweDIwDQo+ID4gKyNkZWZpbmUgTUlYX1NSQ19DT04gICAgMHgyNA0KPiA+ICsjZGVmaW5lIE1J WF9MMF9DT04gICAgIDB4MjgNCj4gPiArI2RlZmluZSBNSVhfTDBfU1JDX1NJWkUgICAgICAgIDB4 MzANCj4gPiArI2RlZmluZSBNSVhfTDBfT0ZGU0VUICAweDM0DQo+ID4gKyNkZWZpbmUgTUlYX0wx X0NPTiAgICAgMHg0MA0KPiA+ICsjZGVmaW5lIE1JWF9MMV9TUkNfU0laRSAgICAgICAgMHg0OA0K PiA+ICsjZGVmaW5lIE1JWF9MMV9PRkZTRVQgIDB4NGMNCj4gPiArI2RlZmluZSBNSVhfTDJfQ09O ICAgICAweDU4DQo+ID4gKyNkZWZpbmUgTUlYX0wyX1NSQ19TSVpFICAgICAgICAweDYwDQo+ID4g KyNkZWZpbmUgTUlYX0wyX09GRlNFVCAgMHg2NA0KPiA+ICsjZGVmaW5lIE1JWF9MM19DT04gICAg IDB4NzANCj4gPiArI2RlZmluZSBNSVhfTDNfU1JDX1NJWkUgICAgICAgIDB4NzgNCj4gPiArI2Rl ZmluZSBNSVhfTDNfT0ZGU0VUICAweDdjDQo+ID4gKyNkZWZpbmUgTUlYX0ZVTkNfRENNMCAgMHgx MjANCj4gPiArI2RlZmluZSBNSVhfRlVOQ19EQ00xICAweDEyNA0KPiA+ICsNCj4gPiArI2RlZmlu ZSBIRFJfVkRPX0ZFXzA4MDRfSERSX0RNX0ZFICAgICAgMHg4MDQNCj4gPiArI2RlZmluZSBIRFJf VkRPX0ZFXzA4MUNfSERSX0RNX0ZFICAgICAgMHg4MWMNCj4gPiArI2RlZmluZSBIRFJfVkRPX0ZF XzA5RUNfSERSX0RNX0ZFICAgICAgMHg5ZWMNCj4gPiArI2RlZmluZSBIRFJfVkRPX0ZFXzA2MThf SERSX1RPUF9GRSAgICAgMHg2MTgNCj4gPiArI2RlZmluZSBIRFJfVkRPX0ZFXzA2MUNfSERSX1RP UF9GRSAgICAgMHg2MWMNCj4gPiArI2RlZmluZSBIRFJfVkRPX0ZFXzA2RDBfSERSX1RPUF9GRSAg ICAgMHg2ZDANCj4gPiArI2RlZmluZSBIRFJfVkRPX0ZFXzA2MzRfSERSX1RPUF9GRSAgICAgMHg2 MzQNCj4gPiArDQo+ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8wMTAwX0dGWF9EVl9XUCAgICAgIDB4 MTAwDQo+ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8wMTJDX0dGWF9EVl9XUCAgICAgIDB4MTJjDQo+ ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8wMTM0X0dGWF9EVl9XUCAgICAgIDB4MTM0DQo+ID4gKyNk ZWZpbmUgSERSX0dGWF9GRV8wMTM4X0dGWF9EVl9XUCAgICAgIDB4MTM4DQo+ID4gKyNkZWZpbmUg SERSX0dGWF9GRV8wMTNDX0dGWF9EVl9XUCAgICAgIDB4MTNjDQo+ID4gKyNkZWZpbmUgSERSX0dG WF9GRV8wMTQwX0dGWF9EVl9XUCAgICAgIDB4MTQwDQo+ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8w MTQ0X0dGWF9EVl9XUCAgICAgIDB4MTQ0DQo+ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8wMTQ4X0dG WF9EVl9XUCAgICAgIDB4MTQ4DQo+ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8wMTRDX0dGWF9EVl9X UCAgICAgIDB4MTRjDQo+ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8wMTUwX0dGWF9EVl9XUCAgICAg IDB4MTUwDQo+ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8wMTU0X0dGWF9EVl9XUCAgICAgIDB4MTU0 DQo+ID4gKyNkZWZpbmUgSERSX0dGWF9GRV8wMjA0X0dGWF9IRFJfRkUgICAgIDB4MjA0DQo+ID4g KyNkZWZpbmUgSERSX0dGWF9GRV8wMjFDX0dGWF9IRFJfRkUgICAgIDB4MjFjDQo+ID4gKyNkZWZp bmUgSERSX0dGWF9GRV8wM0VDX0dGWF9IRFJfRkUgICAgIDB4M2VjDQo+ID4gKw0KPiA+ICsjZGVm aW5lIEhEUl9WRE9fQkVfMDIwNF9WRE9fRE1fQkUgICAgICAweDIwNA0KPiA+ICsjZGVmaW5lIEhE Ul9WRE9fQkVfMDMyMF9WRE9fRE1fQkUgICAgICAweDMyMA0KPiA+ICsjZGVmaW5lIEhEUl9WRE9f QkVfMDNDOF9WRE9fRE1fQkUgICAgICAweDNjOA0KPiA+ICsNCj4gPiArI2RlZmluZSBWRE8xX0NP TkZJR19TVzBfUlNUX0IgMHgxZDANCj4gPiArI2RlZmluZSBWRE8xX0NPTkZJR19TVzFfUlNUX0Ig MHgxZDQNCj4gPiArICAgICAgICNkZWZpbmUgSERSX0FTWU5DX1JFU0VUX0JJVCAoQklUKDE5KSB8 IEJJVCgyMCkgfCBCSVQoMjEpIHwNCj4gPiBCSVQoMjIpIHwgQklUKDIzKSkNCj4gPiArI2RlZmlu ZSBWRE8xX0NPTkZJR19IRFJfQkVfQVNZTkNfQ0ZHX1dEIDB4ZTcwDQo+ID4gKyNkZWZpbmUgVkRP MV9DT05GSUdfSERSX1RPUF9DRkcgMHhkMDANCj4gPiArICAgICAgICNkZWZpbmUgSERSX0FMUEhB X1NFTF9NSVhFUl9JTjEgQklUKDIwKQ0KPiA+ICsgICAgICAgI2RlZmluZSBIRFJfQUxQSEFfU0VM X01JWEVSX0lOMiBCSVQoMjEpDQo+ID4gKyAgICAgICAjZGVmaW5lIEhEUl9BTFBIQV9TRUxfTUlY RVJfSU4zIEJJVCgyMikNCj4gPiArICAgICAgICNkZWZpbmUgSERSX0FMUEhBX1NFTF9NSVhFUl9J TjQgQklUKDIzKQ0KPiA+ICsjZGVmaW5lIFZETzFfQ09ORklHX01JWEVSX0lOMV9BTFBIQSAweGQz MA0KPiA+ICsjZGVmaW5lIFZETzFfQ09ORklHX01JWEVSX0lOMl9BTFBIQSAweGQzNA0KPiA+ICsj ZGVmaW5lIFZETzFfQ09ORklHX01JWEVSX0lOM19BTFBIQSAweGQzOA0KPiA+ICsjZGVmaW5lIFZE TzFfQ09ORklHX01JWEVSX0lONF9BTFBIQSAweGQzYw0KPiA+ICsjZGVmaW5lIFZETzFfQ09ORklH X01JWEVSX0lONF9QQUQgICAweGQ0Yw0KPiA+ICsNCj4gPiArI2RlZmluZSAgICAgICAgTUlYRVJf QUxQSEFfQUVOICAgICAgICAgQklUKDgpDQo+ID4gKyNkZWZpbmUgICAgICAgIE1JWEVSX0FMUEhB ICAgICAgICAgICAgIDB4ZmYNCj4gPiArI2RlZmluZSBFVEhEUl9DTEtfTlVNICAgICAgICAgIDEz DQo+ID4gKw0KPiA+ICtlbnVtIG10a19ldGhkcl9jb21wX2lkIHsNCj4gPiArICAgICAgIEVUSERS X01JWEVSLA0KPiA+ICsgICAgICAgRVRIRFJfVkRPX0ZFMCwNCj4gPiArICAgICAgIEVUSERSX1ZE T19GRTEsDQo+ID4gKyAgICAgICBFVEhEUl9HRlhfRkUwLA0KPiA+ICsgICAgICAgRVRIRFJfR0ZY X0ZFMSwNCj4gPiArICAgICAgIEVUSERSX1ZET19CRSwNCj4gPiArICAgICAgIEVUSERSX0FETF9E UywNCj4gPiArICAgICAgIEVUSERSX0lEX01BWA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RydWN0 IG10a19ldGhkcl9jb21wIHsNCj4gPiArICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldjsNCj4gPiAr ICAgICAgIHZvaWQgX19pb21lbSAqcmVnczsNCj4gPiArICAgICAgIHN0cnVjdCBjbWRxX2NsaWVu dF9yZWcgY21kcV9iYXNlOw0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RydWN0IG10a19ldGhkciB7 DQo+ID4gKyAgICAgICB2b2lkIF9faW9tZW0gKnRvcF9yZWdzOw0KPiA+ICsgICAgICAgc3RydWN0 IGNtZHFfY2xpZW50X3JlZyB0b3BfY21kcV9iYXNlOw0KPiA+ICsgICAgICAgc3RydWN0IG10a19l dGhkcl9jb21wIGV0aGRyX2NvbXBbRVRIRFJfSURfTUFYXTsNCj4gPiArICAgICAgIHN0cnVjdCBj bGtfYnVsa19kYXRhIGV0aGRyX2Nsa1tFVEhEUl9DTEtfTlVNXTsNCj4gPiArfTsNCj4gPiArDQo+ ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXRoZHJfY29tcF9zdHJbXSA9IHsNCj4gPiAr ICAgICAgICJFVEhEUl9NSVhFUiIsDQo+ID4gKyAgICAgICAiRVRIRFJfVkRPX0ZFMCIsDQo+ID4g KyAgICAgICAiRVRIRFJfVkRPX0ZFMSIsDQo+ID4gKyAgICAgICAiRVRIRFJfR0ZYX0ZFMCIsDQo+ ID4gKyAgICAgICAiRVRIRFJfR0ZYX0ZFMSIsDQo+ID4gKyAgICAgICAiRVRIRFJfVkRPX0JFIiwN Cj4gPiArICAgICAgICJFVEhEUl9BRExfRFMiLA0KPiA+ICsgICAgICAgIkVUSERSX0lEX01BWCIN Cj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXRoZHJfY2xr X3N0cltdID0gew0KPiA+ICsgICAgICAgImV0aGRyX3RvcCIsDQo+ID4gKyAgICAgICAibWl4ZXIi LA0KPiA+ICsgICAgICAgInZkb19mZTAiLA0KPiA+ICsgICAgICAgInZkb19mZTEiLA0KPiA+ICsg ICAgICAgImdmeF9mZTAiLA0KPiA+ICsgICAgICAgImdmeF9mZTEiLA0KPiA+ICsgICAgICAgInZk b19iZSIsDQo+ID4gKyAgICAgICAiYWRsX2RzIiwNCj4gPiArICAgICAgICJ2ZG9fZmUwX2FzeW5j IiwNCj4gPiArICAgICAgICJ2ZG9fZmUxX2FzeW5jIiwNCj4gPiArICAgICAgICJnZnhfZmUwX2Fz eW5jIiwNCj4gPiArICAgICAgICJnZnhfZmUxX2FzeW5jIiwNCj4gPiArICAgICAgICJ2ZG9fYmVf YXN5bmMiLA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBh bHBoYV9zb3VyY2Vfc2VsW10gPSB7DQo+ID4gKyAgICAgICBIRFJfQUxQSEFfU0VMX01JWEVSX0lO MSwNCj4gPiArICAgICAgIEhEUl9BTFBIQV9TRUxfTUlYRVJfSU4yLA0KPiA+ICsgICAgICAgSERS X0FMUEhBX1NFTF9NSVhFUl9JTjMsDQo+ID4gKyAgICAgICBIRFJfQUxQSEFfU0VMX01JWEVSX0lO NCwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3ZvaWQgbXRrX2V0aGRyX2xheWVyX29uKHN0cnVjdCBk ZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGlkeCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBzdHJ1Y3Qg bXRrX2V0aGRyICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKyAgICAgICBzdHJ1 Y3QgbXRrX2V0aGRyX2NvbXAgKm1peGVyID0gJnByaXYtDQo+ID4gPmV0aGRyX2NvbXBbRVRIRFJf TUlYRVJdOw0KPiA+ICsNCj4gPiArICAgICAgIGRldl9kYmcoZGV2LCAiJXMrIGlkeDolZCIsIF9f ZnVuY19fLCBpZHgpOw0KPiA+ICsNCj4gPiArICAgICAgIGlmIChpZHggPCA0KQ0KPiA+ICsgICAg ICAgICAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soY21kcV9wa3QsIEJJVChpZHgpLCAmbWl4ZXIt DQo+ID4gPmNtZHFfYmFzZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1peGVyLT5yZWdzLCBNSVhfU1JDX0NPTiwNCj4gPiBCSVQoaWR4KSk7DQo+ID4gK30NCj4gPiAr DQo+ID4gK3ZvaWQgbXRrX2V0aGRyX2xheWVyX29mZihzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2ln bmVkIGludCBpZHgsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjbWRxX3Br dCAqY21kcV9wa3QpDQo+ID4gK3sNCj4gPiArICAgICAgIHN0cnVjdCBtdGtfZXRoZHIgKnByaXYg PSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4gPiArICAgICAgIHN0cnVjdCBtdGtfZXRoZHJfY29t cCAqbWl4ZXIgPSAmcHJpdi0NCj4gPiA+ZXRoZHJfY29tcFtFVEhEUl9NSVhFUl07DQo+ID4gKw0K PiA+ICsgICAgICAgZGV2X2RiZyhkZXYsICIlcysgaWR4OiVkIiwgX19mdW5jX18sIGlkeCk7DQo+ ID4gKw0KPiA+ICsgICAgICAgc3dpdGNoIChpZHgpIHsNCj4gPiArICAgICAgIGNhc2UgMDoNCj4g PiArICAgICAgICAgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKGNtZHFfcGt0LCAwLCAmbWl4ZXIt PmNtZHFfYmFzZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1peGVy LT5yZWdzLCBNSVhfTDBfU1JDX1NJWkUsDQo+ID4gfjApOw0KPiA+ICsgICAgICAgICAgICAgICBi cmVhazsNCj4gPiArICAgICAgIGNhc2UgMToNCj4gPiArICAgICAgICAgICAgICAgbXRrX2RkcF93 cml0ZV9tYXNrKGNtZHFfcGt0LCAwLCAmbWl4ZXItPmNtZHFfYmFzZSwNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1peGVyLT5yZWdzLCBNSVhfTDFfU1JDX1NJWkUsDQo+ ID4gfjApOw0KPiA+ICsgICAgICAgICAgICAgICBicmVhazsNCj4gPiArICAgICAgIGNhc2UgMjoN Cj4gPiArICAgICAgICAgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKGNtZHFfcGt0LCAwLCAmbWl4 ZXItPmNtZHFfYmFzZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1p eGVyLT5yZWdzLCBNSVhfTDJfU1JDX1NJWkUsDQo+ID4gfjApOw0KPiA+ICsgICAgICAgICAgICAg ICBicmVhazsNCj4gPiArICAgICAgIGNhc2UgMzoNCj4gPiArICAgICAgICAgICAgICAgbXRrX2Rk cF93cml0ZV9tYXNrKGNtZHFfcGt0LCAwLCAmbWl4ZXItPmNtZHFfYmFzZSwNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1peGVyLT5yZWdzLCBNSVhfTDNfU1JDX1NJWkUs DQo+ID4gfjApOw0KPiA+ICsgICAgICAgICAgICAgICBicmVhazsNCj4gPiArICAgICAgIGRlZmF1 bHQ6DQo+ID4gKyAgICAgICAgICAgICAgIGRldl9kYmcoZGV2LCAiJXMgV3JvbmcgbGF5ZXIgSURc biIsIF9fZnVuY19fKTsNCj4gPiArICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgICB9 DQo+IA0KPiBXaHkgbm90IGp1c3QNCj4gDQo+ICAgICAgICAgICAgICAgIG10a19kZHBfd3JpdGVf bWFzayhjbWRxX3BrdCwgMCwgJm1peGVyLT5jbWRxX2Jhc2UsDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtaXhlci0+cmVncywgTUlYX1NSQ19DT04sDQo+IEJJVChpZHgpKTsN Cj4gDQoNClRoZXJlIGFyZSB0d28gbW9kZXMgaW4gTWl4ZXIuDQoxLiBCYWNrZ3JvdW5kIHJlbGF5 IG1vZGU6IGFsbCBsYXllcnMgb2ZmDQoyLiBOb3JtYWwgbWl4IG1vZGU6IGF0IGxlYXN0IG9uZSBs YXllciBvbg0KVGhlIHRpbWluZyBvZiB0aGUgdHdvIG1vZGVzIGlzIGRpZmZlcmVudCwgc28ga2Vl cCB1c2luZyB0aGUgbm9ybWFsIG1peA0KbW9kZS4NCkp1c3Qgc2V0IHRoZSBsYXllciByZWdpb24g dG8gMCB3aGVuIHRoZSBsYXllciBvZmYuDQoNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtf ZXRoZHJfbGF5ZXJfY29uZmlnKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGlkeCwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG10a19wbGFuZV9zdGF0ZSAq c3RhdGUsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBjbWRxX3BrdCAq Y21kcV9wa3QpDQo+IA0KPiBCZWNhdXNlIGV0aGRyIGhhcyBsYXllcnMgYW5kIHZibGFuayBpbnRl cnJ1cHQsIEkgdGhpbmsgZXRoZHIgc2hvdWxkDQo+IGJlDQo+IHBhcnQgb2YgcHNldWRvIG92bCwg c28gc3F1YXNoIHRoZXNlIHR3byBpbnRvIG9uZS4NCj4gDQpPSywgSSB3aWxsIG1lcmdlIHRoZSBw c2V1ZG9fb3ZsIGFuZCBldGhkciBjb21wb25lbnRzIGludG8gb25lLg0KDQo+ID4gK3sNCj4gPiAr ICAgICAgIHN0cnVjdCBtdGtfZXRoZHIgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4g PiArICAgICAgIHN0cnVjdCBtdGtfZXRoZHJfY29tcCAqbWl4ZXIgPSAmcHJpdi0NCj4gPiA+ZXRo ZHJfY29tcFtFVEhEUl9NSVhFUl07DQo+ID4gKyAgICAgICBzdHJ1Y3QgbXRrX3BsYW5lX3BlbmRp bmdfc3RhdGUgKnBlbmRpbmcgPSAmc3RhdGUtPnBlbmRpbmc7DQo+ID4gKyAgICAgICB1bnNpZ25l ZCBpbnQgc3JjX3NpemUgPSAocGVuZGluZy0+aGVpZ2h0IDw8IDE2KSB8IHBlbmRpbmctDQo+ID4g PndpZHRoOw0KPiA+ICsgICAgICAgdW5zaWduZWQgaW50IG9mZnNldCA9IChwZW5kaW5nLT55IDw8 IDE2KSB8IHBlbmRpbmctPng7DQo+ID4gKyAgICAgICB1bnNpZ25lZCBpbnQgYWxwaGFfY29uID0g MDsNCj4gPiArICAgICAgIHVuc2lnbmVkIGludCBmbXQgPSAwOw0KPiA+ICsNCj4gPiArICAgICAg IGZtdCA9IHN0YXRlLT5wZW5kaW5nLmZvcm1hdDsNCj4gDQo+IGZtdCBpcyB1c2VsZXNzLCBzbyBy ZW1vdmUuDQo+IA0KT0ssIEkgd2lsbCByZW1vdmUgaXQuDQoNCj4gPiArDQo+ID4gKyAgICAgICBp ZiAoc3RhdGUtPmJhc2UuZmIgJiYgc3RhdGUtPmJhc2UuZmItPmZvcm1hdC0+aGFzX2FscGhhKSB7 DQo+ID4gKyAgICAgICAgICAgICAgIGFscGhhX2NvbiA9IE1JWEVSX0FMUEhBX0FFTiB8IE1JWEVS X0FMUEhBOw0KPiA+ICsgICAgICAgICAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soY21kcV9wa3Qs IDAsICZwcml2LQ0KPiA+ID50b3BfY21kcV9iYXNlLCBwcml2LT50b3BfcmVncywNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZETzFfQ09ORklHX0hEUl9UT1BfQ0ZHLA0K PiA+IGFscGhhX3NvdXJjZV9zZWxbaWR4XSk7DQo+IA0KPiBTZXQgdmRvc3lzMSByZWdpc3RlciBp biB2ZG9zeXMxIGRyaXZlciwgYW5kIHZkb3N5czEgZHJpdmVyIHByb3ZpZGUNCj4gaW50ZXJmYWNl IGZvciB0aGlzIGRyaXZlciB0byB1c2UuDQo+IA0KT0ssIEkgd2lsbCBhZGQgYSBuZXcgbW1zeXMg QVBJIGZvciB0aGUgY29uZmlnLg0KDQo+ID4gKyAgICAgICB9IGVsc2Ugew0KPiA+ICsgICAgICAg ICAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soY21kcV9wa3QsIH4wLCAmcHJpdi0NCj4gPiA+dG9w X2NtZHFfYmFzZSwgcHJpdi0+dG9wX3JlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWRE8xX0NPTkZJR19IRFJfVE9QX0NGRywNCj4gPiBhbHBoYV9zb3VyY2Vfc2Vs W2lkeF0pOw0KPiA+ICsgICAgICAgfQ0KPiA+ICsNCj4gPiArICAgICAgIHN3aXRjaCAoaWR4KSB7 DQo+ID4gKyAgICAgICBjYXNlIDA6DQo+ID4gKyAgICAgICAgICAgICAgIG10a19kZHBfd3JpdGVf bWFzayhjbWRxX3BrdCwgc3JjX3NpemUsICZtaXhlci0NCj4gPiA+Y21kcV9iYXNlLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWl4ZXItPnJlZ3MsIE1JWF9MMF9TUkNf U0laRSwNCj4gPiB+MCk7DQo+IA0KPiAjZGVmaW5lIE1JWF9MX1NSQ19TSVpFKG4pICAoMHgzMCAr IDB4MTggKiAobikpDQo+IA0KPiBBbmQgeW91IGNvdWxkIGdldCByaWQgb2YgdGhpcyBzd2l0Y2gg Y2FzZS4NCg0KT0ssIEkgd2lsbCBtb2RpZnkgaXQuDQo+IA0KPiA+ICsgICAgICAgICAgICAgICBt dGtfZGRwX3dyaXRlX21hc2soY21kcV9wa3QsIG9mZnNldCwgJm1peGVyLQ0KPiA+ID5jbWRxX2Jh c2UsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXhlci0+cmVncywg TUlYX0wwX09GRlNFVCwgfjApOw0KPiA+ICsgICAgICAgICAgICAgICBtdGtfZGRwX3dyaXRlX21h c2soY21kcV9wa3QsIGFscGhhX2NvbiwgJm1peGVyLQ0KPiA+ID5jbWRxX2Jhc2UsDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXhlci0+cmVncywgTUlYX0wwX0NPTiwg MHgxZmYpOw0KPiA+ICsgICAgICAgICAgICAgICBicmVhazsNCj4gPiArICAgICAgIGNhc2UgMToN Cj4gPiArICAgICAgICAgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKGNtZHFfcGt0LCBzcmNfc2l6 ZSwgJm1peGVyLQ0KPiA+ID5jbWRxX2Jhc2UsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBtaXhlci0+cmVncywgTUlYX0wxX1NSQ19TSVpFLA0KPiA+IH4wKTsNCj4gPiAr ICAgICAgICAgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKGNtZHFfcGt0LCBvZmZzZXQsICZtaXhl ci0NCj4gPiA+Y21kcV9iYXNlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbWl4ZXItPnJlZ3MsIE1JWF9MMV9PRkZTRVQsIH4wKTsNCj4gPiArICAgICAgICAgICAgICAg bXRrX2RkcF93cml0ZV9tYXNrKGNtZHFfcGt0LCBhbHBoYV9jb24sICZtaXhlci0NCj4gPiA+Y21k cV9iYXNlLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWl4ZXItPnJl Z3MsIE1JWF9MMV9DT04sIDB4MWZmKTsNCj4gPiArICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4g KyAgICAgICBjYXNlIDI6DQo+ID4gKyAgICAgICAgICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhj bWRxX3BrdCwgc3JjX3NpemUsICZtaXhlci0NCj4gPiA+Y21kcV9iYXNlLA0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWl4ZXItPnJlZ3MsIE1JWF9MMl9TUkNfU0laRSwN Cj4gPiB+MCk7DQo+ID4gKyAgICAgICAgICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhjbWRxX3Br dCwgb2Zmc2V0LCAmbWl4ZXItDQo+ID4gPmNtZHFfYmFzZSwNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1peGVyLT5yZWdzLCBNSVhfTDJfT0ZGU0VULCB+MCk7DQo+ID4g KyAgICAgICAgICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhjbWRxX3BrdCwgYWxwaGFfY29uLCAm bWl4ZXItDQo+ID4gPmNtZHFfYmFzZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1peGVyLT5yZWdzLCBNSVhfTDJfQ09OLCAweDFmZik7DQo+ID4gKyAgICAgICAgICAg ICAgIGJyZWFrOw0KPiA+ICsgICAgICAgY2FzZSAzOg0KPiA+ICsgICAgICAgICAgICAgICBtdGtf ZGRwX3dyaXRlX21hc2soY21kcV9wa3QsIHNyY19zaXplLCAmbWl4ZXItDQo+ID4gPmNtZHFfYmFz ZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1peGVyLT5yZWdzLCBN SVhfTDNfU1JDX1NJWkUsDQo+ID4gfjApOw0KPiA+ICsgICAgICAgICAgICAgICBtdGtfZGRwX3dy aXRlX21hc2soY21kcV9wa3QsIG9mZnNldCwgJm1peGVyLQ0KPiA+ID5jbWRxX2Jhc2UsDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXhlci0+cmVncywgTUlYX0wzX09G RlNFVCwgfjApOw0KPiA+ICsgICAgICAgICAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soY21kcV9w a3QsIGFscGhhX2NvbiwgJm1peGVyLQ0KPiA+ID5jbWRxX2Jhc2UsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtaXhlci0+cmVncywgTUlYX0wzX0NPTiwgMHgxZmYpOw0K PiA+ICsgICAgICAgICAgICAgICBicmVhazsNCj4gPiArICAgICAgIGRlZmF1bHQ6DQo+ID4gKyAg ICAgICAgICAgICAgIGRldl9kYmcoZGV2LCAiJXMgV3JvbmcgbGF5ZXIgSURcbiIsIF9fZnVuY19f KTsNCj4gPiArICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgICB9DQo+ID4gK30NCj4g PiArDQo+ID4gK3ZvaWQgbXRrX2V0aGRyX2NvbmZpZyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2ln bmVkIGludCB3LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgaCwgdW5z aWduZWQgaW50IHZyZWZyZXNoLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp bnQgYnBjLCBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBz dHJ1Y3QgbXRrX2V0aGRyICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKyAgICAg ICBzdHJ1Y3QgbXRrX2V0aGRyX2NvbXAgKm1peGVyID0gJnByaXYtDQo+ID4gPmV0aGRyX2NvbXBb RVRIRFJfTUlYRVJdOw0KPiA+ICsNCj4gPiArICAgICAgIGRldl9kYmcoZGV2LCAiJXMtdzolZCwg aDolZFxuIiwgX19mdW5jX18sIHcsIGgpOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNr KGNtZHFfcGt0LCAoaCA8PCAxNikgfCAodyAvIDIpLCAmcHJpdi0NCj4gPiA+dG9wX2NtZHFfYmFz ZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2LT50b3BfcmVncywNCj4gPiBW RE8xX0NPTkZJR19IRFJfQkVfQVNZTkNfQ0ZHX1dELCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRw X3dyaXRlX21hc2soY21kcV9wa3QsIDAsICZwcml2LT50b3BfY21kcV9iYXNlLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgIHByaXYtPnRvcF9yZWdzLA0KPiA+IFZETzFfQ09ORklHX01J WEVSX0lONF9QQUQsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhjbWRxX3Br dCwgKGggPDwgMTYgfCB3KSwgJm1peGVyLQ0KPiA+ID5jbWRxX2Jhc2UsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgbWl4ZXItPnJlZ3MsIE1JWF9ST0lfU0laRSwgfjApOw0KPiANCj4g ICAgICAgbXRrX2RkcF93cml0ZShjbWRxX3BrdCwgKGggPDwgMTYgfCB3KSwgJm1peGVyLT5jbWRx X2Jhc2UsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBtaXhlci0+cmVncywgTUlYX1JPSV9T SVpFKTsNCj4gDQpPSywgSSB3aWxsIG1vZGlmeSBpdC4NCg0KPiA+ICsgICAgICAgbXRrX2RkcF93 cml0ZV9tYXNrKGNtZHFfcGt0LCAweDAxMDAwMTAwLCAmcHJpdi0NCj4gPiA+dG9wX2NtZHFfYmFz ZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2LT50b3BfcmVncywNCj4gPiBW RE8xX0NPTkZJR19NSVhFUl9JTjFfQUxQSEEsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3Jp dGVfbWFzayhjbWRxX3BrdCwgMHgwMTAwMDEwMCwgJnByaXYtDQo+ID4gPnRvcF9jbWRxX2Jhc2Us DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdi0+dG9wX3JlZ3MsDQo+ID4gVkRP MV9DT05GSUdfTUlYRVJfSU4yX0FMUEhBLCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRl X21hc2soY21kcV9wa3QsIDB4MDEwMDAxMDAsICZwcml2LQ0KPiA+ID50b3BfY21kcV9iYXNlLA0K PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHByaXYtPnRvcF9yZWdzLA0KPiA+IFZETzFf Q09ORklHX01JWEVSX0lOM19BTFBIQSwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9t YXNrKGNtZHFfcGt0LCAweDAxMDAwMTAwLCAmcHJpdi0NCj4gPiA+dG9wX2NtZHFfYmFzZSwNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2LT50b3BfcmVncywNCj4gPiBWRE8xX0NP TkZJR19NSVhFUl9JTjRfQUxQSEEsIH4wKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArdm9pZCBtdGtf ZXRoZHJfc3RhcnQoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBzdHJ1 Y3QgbXRrX2V0aGRyICpwcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4gKyAgICAgICBz dHJ1Y3QgbXRrX2V0aGRyX2NvbXAgKnZkb19mZTAgPSAmcHJpdi0NCj4gPiA+ZXRoZHJfY29tcFtF VEhEUl9WRE9fRkUwXTsNCj4gPiArICAgICAgIHN0cnVjdCBtdGtfZXRoZHJfY29tcCAqdmRvX2Zl MSA9ICZwcml2LQ0KPiA+ID5ldGhkcl9jb21wW0VUSERSX1ZET19GRTFdOw0KPiA+ICsgICAgICAg c3RydWN0IG10a19ldGhkcl9jb21wICpnZnhfZmUwID0gJnByaXYtDQo+ID4gPmV0aGRyX2NvbXBb RVRIRFJfR0ZYX0ZFMF07DQo+ID4gKyAgICAgICBzdHJ1Y3QgbXRrX2V0aGRyX2NvbXAgKmdmeF9m ZTEgPSAmcHJpdi0NCj4gPiA+ZXRoZHJfY29tcFtFVEhEUl9HRlhfRkUxXTsNCj4gPiArICAgICAg IHN0cnVjdCBtdGtfZXRoZHJfY29tcCAqdmRvX2JlID0gJnByaXYtDQo+ID4gPmV0aGRyX2NvbXBb RVRIRFJfVkRPX0JFXTsNCj4gPiArICAgICAgIHN0cnVjdCBtdGtfZXRoZHJfY29tcCAqbWl4ZXIg PSAmcHJpdi0NCj4gPiA+ZXRoZHJfY29tcFtFVEhEUl9NSVhFUl07DQo+ID4gKw0KPiA+ICsgICAg ICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4ZmQsICZ2ZG9fZmUwLT5jbWRxX2Jhc2UsDQo+ ID4gdmRvX2ZlMC0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfVkRP X0ZFXzA4MDRfSERSX0RNX0ZFLCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2so TlVMTCwgMHg4MCwgJnZkb19mZTAtPmNtZHFfYmFzZSwNCj4gPiB2ZG9fZmUwLT5yZWdzLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9WRE9fRkVfMDlFQ19IRFJfRE1fRkUsIH4w KTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweDEyZSwgJnZkb19mZTAt PmNtZHFfYmFzZSwNCj4gPiB2ZG9fZmUwLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgIEhEUl9WRE9fRkVfMDgxQ19IRFJfRE1fRkUsIH4wKTsNCj4gPiArICAgICAgIG10a19k ZHBfd3JpdGVfbWFzayhOVUxMLCAweDAsICZ2ZG9fZmUwLT5jbWRxX2Jhc2UsIHZkb19mZTAtDQo+ ID4gPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgSERSX1ZET19GRV8wNjE4 X0hEUl9UT1BfRkUsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAw eDIsICZ2ZG9fZmUwLT5jbWRxX2Jhc2UsIHZkb19mZTAtDQo+ID4gPnJlZ3MsDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgSERSX1ZET19GRV8wNjFDX0hEUl9UT1BfRkUsIH4wKTsNCj4g PiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweDgwMDEsICZ2ZG9fZmUwLT5jbWRx X2Jhc2UsDQo+ID4gdmRvX2ZlMC0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICBIRFJfVkRPX0ZFXzA2RDBfSERSX1RPUF9GRSwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93 cml0ZV9tYXNrKE5VTEwsIDB4ODAwMCwgJnZkb19mZTAtPmNtZHFfYmFzZSwNCj4gPiB2ZG9fZmUw LT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9WRE9fRkVfMDYzNF9I RFJfVE9QX0ZFLCB+MCk7DQo+IA0KPiBFeHBsYWluIHdoYXQgdGhlc2UgdmFsdWUgbWVhbi4NCj4g DQpPSywgSSB3aWxsIGV4cGxhaW4gdGhlc2Ugc2V0dGluZ3MuDQo+ID4gKw0KPiA+ICsgICAgICAg bXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4ZmQsICZ2ZG9fZmUxLT5jbWRxX2Jhc2UsDQo+ID4g dmRvX2ZlMS0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfVkRPX0ZF XzA4MDRfSERSX0RNX0ZFLCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVM TCwgMHg4MCwgJnZkb19mZTEtPmNtZHFfYmFzZSwNCj4gPiB2ZG9fZmUxLT5yZWdzLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9WRE9fRkVfMDlFQ19IRFJfRE1fRkUsIH4wKTsN Cj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweDEyZSwgJnZkb19mZTEtPmNt ZHFfYmFzZSwNCj4gPiB2ZG9fZmUxLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIEhEUl9WRE9fRkVfMDgxQ19IRFJfRE1fRkUsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBf d3JpdGVfbWFzayhOVUxMLCAweDAsICZ2ZG9fZmUxLT5jbWRxX2Jhc2UsIHZkb19mZTEtDQo+ID4g PnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgSERSX1ZET19GRV8wNjE4X0hE Ul9UT1BfRkUsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweDIs ICZ2ZG9fZmUxLT5jbWRxX2Jhc2UsIHZkb19mZTEtDQo+ID4gPnJlZ3MsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgSERSX1ZET19GRV8wNjFDX0hEUl9UT1BfRkUsIH4wKTsNCj4gPiAr ICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweDgwMDEsICZ2ZG9fZmUxLT5jbWRxX2Jh c2UsDQo+ID4gdmRvX2ZlMS0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBI RFJfVkRPX0ZFXzA2RDBfSERSX1RPUF9GRSwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0 ZV9tYXNrKE5VTEwsIDB4ODAwMCwgJnZkb19mZTEtPmNtZHFfYmFzZSwNCj4gPiB2ZG9fZmUxLT5y ZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9WRE9fRkVfMDYzNF9IRFJf VE9QX0ZFLCB+MCk7DQo+ID4gKw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEws IDB4ODAwMSwgJmdmeF9mZTAtPmNtZHFfYmFzZSwNCj4gPiBnZnhfZmUwLT5yZWdzLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9HRlhfRkVfMDEwMF9HRlhfRFZfV1AsIH4wKTsN Cj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweGUwMzAsICZnZnhfZmUwLT5j bWRxX2Jhc2UsDQo+ID4gZ2Z4X2ZlMC0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICBIRFJfR0ZYX0ZFXzAxMkNfR0ZYX0RWX1dQLCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRw X3dyaXRlX21hc2soTlVMTCwgMHgxYzAsICZnZnhfZmUwLT5jbWRxX2Jhc2UsDQo+ID4gZ2Z4X2Zl MC0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfR0ZYX0ZFXzAxMzRf R0ZYX0RWX1dQLCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMHgx ZTY5LCAmZ2Z4X2ZlMC0+Y21kcV9iYXNlLA0KPiA+IGdmeF9mZTAtPnJlZ3MsDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgSERSX0dGWF9GRV8wMTM4X0dGWF9EVl9XUCwgfjApOw0KPiA+ ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4MWZkNywgJmdmeF9mZTAtPmNtZHFf YmFzZSwNCj4gPiBnZnhfZmUwLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg IEhEUl9HRlhfRkVfMDEzQ19HRlhfRFZfV1AsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3Jp dGVfbWFzayhOVUxMLCAweGJhLCAmZ2Z4X2ZlMC0+Y21kcV9iYXNlLA0KPiA+IGdmeF9mZTAtPnJl Z3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgSERSX0dGWF9GRV8wMTQwX0dGWF9E Vl9XUCwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4Mjc1LCAm Z2Z4X2ZlMC0+Y21kcV9iYXNlLA0KPiA+IGdmeF9mZTAtPnJlZ3MsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgSERSX0dGWF9GRV8wMTQ0X0dGWF9EVl9XUCwgfjApOw0KPiA+ICsgICAg ICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4M2YsICZnZnhfZmUwLT5jbWRxX2Jhc2UsDQo+ ID4gZ2Z4X2ZlMC0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfR0ZY X0ZFXzAxNDhfR0ZYX0RWX1dQLCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2so TlVMTCwgMHgxZjk5LCAmZ2Z4X2ZlMC0+Y21kcV9iYXNlLA0KPiA+IGdmeF9mZTAtPnJlZ3MsDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgSERSX0dGWF9GRV8wMTRDX0dGWF9EVl9XUCwg fjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4MWVhNiwgJmdmeF9m ZTAtPmNtZHFfYmFzZSwNCj4gPiBnZnhfZmUwLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIEhEUl9HRlhfRkVfMDE1MF9HRlhfRFZfV1AsIH4wKTsNCj4gPiArICAgICAgIG10 a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweDFjMiwgJmdmeF9mZTAtPmNtZHFfYmFzZSwNCj4gPiBn ZnhfZmUwLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9HRlhfRkVf MDE1NF9HRlhfRFZfV1AsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxM LCAweGZkLCAmZ2Z4X2ZlMC0+Y21kcV9iYXNlLA0KPiA+IGdmeF9mZTAtPnJlZ3MsDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgSERSX0dGWF9GRV8wMjA0X0dGWF9IRFJfRkUsIH4wKTsN Cj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweDgwLCAmZ2Z4X2ZlMC0+Y21k cV9iYXNlLA0KPiA+IGdmeF9mZTAtPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgSERSX0dGWF9GRV8wM0VDX0dGWF9IRFJfRkUsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBf d3JpdGVfbWFzayhOVUxMLCAweDIwLCAmZ2Z4X2ZlMC0+Y21kcV9iYXNlLA0KPiA+IGdmeF9mZTAt PnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgSERSX0dGWF9GRV8wMjFDX0dG WF9IRFJfRkUsIH4wKTsNCj4gPiArDQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVM TCwgMHg4MDAxLCAmZ2Z4X2ZlMS0+Y21kcV9iYXNlLA0KPiA+IGdmeF9mZTEtPnJlZ3MsDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgSERSX0dGWF9GRV8wMTAwX0dGWF9EVl9XUCwgfjAp Ow0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4ZTAzMCwgJmdmeF9mZTEt PmNtZHFfYmFzZSwNCj4gPiBnZnhfZmUxLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgIEhEUl9HRlhfRkVfMDEyQ19HRlhfRFZfV1AsIH4wKTsNCj4gPiArICAgICAgIG10a19k ZHBfd3JpdGVfbWFzayhOVUxMLCAweDFjMCwgJmdmeF9mZTEtPmNtZHFfYmFzZSwNCj4gPiBnZnhf ZmUxLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9HRlhfRkVfMDEz NF9HRlhfRFZfV1AsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAw eDFlNjksICZnZnhfZmUxLT5jbWRxX2Jhc2UsDQo+ID4gZ2Z4X2ZlMS0+cmVncywNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgICBIRFJfR0ZYX0ZFXzAxMzhfR0ZYX0RWX1dQLCB+MCk7DQo+ ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMHgxZmQ3LCAmZ2Z4X2ZlMS0+Y21k cV9iYXNlLA0KPiA+IGdmeF9mZTEtPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgSERSX0dGWF9GRV8wMTNDX0dGWF9EVl9XUCwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93 cml0ZV9tYXNrKE5VTEwsIDB4YmEsICZnZnhfZmUxLT5jbWRxX2Jhc2UsDQo+ID4gZ2Z4X2ZlMS0+ cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfR0ZYX0ZFXzAxNDBfR0ZY X0RWX1dQLCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMHgyNzUs ICZnZnhfZmUxLT5jbWRxX2Jhc2UsDQo+ID4gZ2Z4X2ZlMS0+cmVncywNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICBIRFJfR0ZYX0ZFXzAxNDRfR0ZYX0RWX1dQLCB+MCk7DQo+ID4gKyAg ICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMHgzZiwgJmdmeF9mZTEtPmNtZHFfYmFzZSwN Cj4gPiBnZnhfZmUxLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9H RlhfRkVfMDE0OF9HRlhfRFZfV1AsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFz ayhOVUxMLCAweDFmOTksICZnZnhfZmUxLT5jbWRxX2Jhc2UsDQo+ID4gZ2Z4X2ZlMS0+cmVncywN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfR0ZYX0ZFXzAxNENfR0ZYX0RWX1dQ LCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMHgxZWE2LCAmZ2Z4 X2ZlMS0+Y21kcV9iYXNlLA0KPiA+IGdmeF9mZTEtPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgSERSX0dGWF9GRV8wMTUwX0dGWF9EVl9XUCwgfjApOw0KPiA+ICsgICAgICAg bXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4MWMyLCAmZ2Z4X2ZlMS0+Y21kcV9iYXNlLA0KPiA+ IGdmeF9mZTEtPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgSERSX0dGWF9G RV8wMTU0X0dGWF9EVl9XUCwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5V TEwsIDB4ZmQsICZnZnhfZmUxLT5jbWRxX2Jhc2UsDQo+ID4gZ2Z4X2ZlMS0+cmVncywNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfR0ZYX0ZFXzAyMDRfR0ZYX0hEUl9GRSwgfjAp Ow0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4ODAsICZnZnhfZmUxLT5j bWRxX2Jhc2UsDQo+ID4gZ2Z4X2ZlMS0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICBIRFJfR0ZYX0ZFXzAzRUNfR0ZYX0hEUl9GRSwgfjApOw0KPiA+ICsgICAgICAgbXRrX2Rk cF93cml0ZV9tYXNrKE5VTEwsIDB4MjAsICZnZnhfZmUxLT5jbWRxX2Jhc2UsDQo+ID4gZ2Z4X2Zl MS0+cmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfR0ZYX0ZFXzAyMUNf R0ZYX0hEUl9GRSwgfjApOw0KPiA+ICsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhO VUxMLCAweDdlLCAmdmRvX2JlLT5jbWRxX2Jhc2UsIHZkb19iZS0NCj4gPiA+cmVncywNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICBIRFJfVkRPX0JFXzAyMDRfVkRPX0RNX0JFLCB+MCk7 DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMHgwMCwgJnZkb19iZS0+Y21k cV9iYXNlLCB2ZG9fYmUtDQo+ID4gPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgSERSX1ZET19CRV8wMzIwX1ZET19ETV9CRSwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93 cml0ZV9tYXNrKE5VTEwsIDB4MDEsICZ2ZG9fYmUtPmNtZHFfYmFzZSwgdmRvX2JlLQ0KPiA+ID5y ZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEhEUl9WRE9fQkVfMDNDOF9WRE9f RE1fQkUsIH4wKTsNCj4gPiArDQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwg MHhmZmZmZmZmZiwgJm1peGVyLT5jbWRxX2Jhc2UsDQo+ID4gbWl4ZXItPnJlZ3MsDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgTUlYX0ZVTkNfRENNMCwgfjApOw0KPiA+ICsgICAgICAg bXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4ZmZmZmZmZmYsICZtaXhlci0+Y21kcV9iYXNlLA0K PiA+IG1peGVyLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIE1JWF9GVU5D X0RDTTEsIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAweDAwMDAw ODg4LCAmbWl4ZXItPmNtZHFfYmFzZSwNCj4gPiBtaXhlci0+cmVncywNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICBNSVhfREFUQVBBVEhfQ09OLCB+MCk7DQo+ID4gKyAgICAgICBtdGtf ZGRwX3dyaXRlX21hc2soTlVMTCwgMHgwMDAwMjFmZiwgJm1peGVyLT5jbWRxX2Jhc2UsDQo+ID4g bWl4ZXItPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTUlYX0wwX0NPTiwg fjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4MDAwMDIxZmYsICZt aXhlci0+Y21kcV9iYXNlLA0KPiA+IG1peGVyLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIE1JWF9MMV9DT04sIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFz ayhOVUxMLCAweDAwMDAyMWZmLCAmbWl4ZXItPmNtZHFfYmFzZSwNCj4gPiBtaXhlci0+cmVncywN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBNSVhfTDJfQ09OLCB+MCk7DQo+ID4gKyAg ICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMHgwMDAwMjFmZiwgJm1peGVyLT5jbWRxX2Jh c2UsDQo+ID4gbWl4ZXItPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTUlY X0wzX0NPTiwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4MCwg Jm1peGVyLT5jbWRxX2Jhc2UsIG1peGVyLQ0KPiA+ID5yZWdzLA0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgIE1JWF9MMF9TUkNfU0laRSwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93 cml0ZV9tYXNrKE5VTEwsIDB4MCwgJm1peGVyLT5jbWRxX2Jhc2UsIG1peGVyLQ0KPiA+ID5yZWdz LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIE1JWF9MMV9TUkNfU0laRSwgfjApOw0K PiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4MCwgJm1peGVyLT5jbWRxX2Jh c2UsIG1peGVyLQ0KPiA+ID5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIE1J WF9MMl9TUkNfU0laRSwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEws IDB4MCwgJm1peGVyLT5jbWRxX2Jhc2UsIG1peGVyLQ0KPiA+ID5yZWdzLA0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgIE1JWF9MM19TUkNfU0laRSwgfjApOw0KPiA+ICsgICAgICAgbXRr X2RkcF93cml0ZV9tYXNrKE5VTEwsIDB4MGZhNTAwMDEsICZtaXhlci0+Y21kcV9iYXNlLA0KPiA+ IG1peGVyLT5yZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIE1JWF9TUkNfQ09O LCB+MCk7DQo+ID4gKyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMHhGRjAwMDAwMCwg Jm1peGVyLT5jbWRxX2Jhc2UsDQo+ID4gbWl4ZXItPnJlZ3MsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgTUlYX1JPSV9CR0NMUiwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0 ZV9tYXNrKE5VTEwsIDB4MDAwMDAwMDEsICZtaXhlci0+Y21kcV9iYXNlLA0KPiA+IG1peGVyLT5y ZWdzLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIE1JWF9FTiwgfjApOw0KPiANCj4g SSB0aGluayBvbmx5IHRoZSBsYXRlc3Qgc2V0dGluZyBpcyBhYm91dCBzdGFydCwgbW92ZSBvdGhl ciBzZXR0aW5nIHRvDQo+IGNvbmZpZy4NCj4gDQpPSywgSSB3aWxsIG1vdmUgaXQuDQo+IA0KPiA+ ICt9DQo+ID4gKw0KPiA+ICt2b2lkIG10a19ldGhkcl9zdG9wKHN0cnVjdCBkZXZpY2UgKmRldikN Cj4gPiArew0KPiA+ICsgICAgICAgc3RydWN0IG10a19ldGhkciAqcHJpdiA9IGRldl9nZXRfZHJ2 ZGF0YShkZXYpOw0KPiA+ICsgICAgICAgc3RydWN0IG10a19ldGhkcl9jb21wICptaXhlciA9ICZw cml2LQ0KPiA+ID5ldGhkcl9jb21wW0VUSERSX01JWEVSXTsNCj4gPiArDQo+ID4gKyAgICAgICBt dGtfZGRwX3dyaXRlX21hc2soTlVMTCwgMCwgJm1peGVyLT5jbWRxX2Jhc2UsIG1peGVyLT5yZWdz LCANCj4gPiBNSVhfRU4sIH4wKTsNCj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxM LCAxLCAmbWl4ZXItPmNtZHFfYmFzZSwgbWl4ZXItPnJlZ3MsIA0KPiA+IE1JWF9SU1QsIH4wKTsN Cj4gPiArICAgICAgIG10a19kZHBfd3JpdGVfbWFzayhOVUxMLCAwLCAmcHJpdi0+dG9wX2NtZHFf YmFzZSwgcHJpdi0NCj4gPiA+dG9wX3JlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgVkRPMV9DT05GSUdfU1cxX1JTVF9CLA0KPiA+IEhEUl9BU1lOQ19SRVNFVF9CSVQpOw0KPiA+ ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIDAsICZwcml2LT50b3BfY21kcV9iYXNl LCBwcml2LQ0KPiA+ID50b3BfcmVncywNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICBW RE8xX0NPTkZJR19TVzBfUlNUX0IsIEJJVCgyOSkpOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0 ZV9tYXNrKE5VTEwsIDAsICZtaXhlci0+Y21kcV9iYXNlLCBtaXhlci0+cmVncywgDQo+ID4gTUlY X1JTVCwgfjApOw0KPiA+ICsgICAgICAgbXRrX2RkcF93cml0ZV9tYXNrKE5VTEwsIEhEUl9BU1lO Q19SRVNFVF9CSVQsICZwcml2LQ0KPiA+ID50b3BfY21kcV9iYXNlLA0KPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgIHByaXYtPnRvcF9yZWdzLCBWRE8xX0NPTkZJR19TVzFfUlNUX0IsDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgSERSX0FTWU5DX1JFU0VUX0JJVCk7DQo+ID4g KyAgICAgICBtdGtfZGRwX3dyaXRlX21hc2soTlVMTCwgQklUKDI5KSwgJnByaXYtPnRvcF9jbWRx X2Jhc2UsDQo+ID4gcHJpdi0+dG9wX3JlZ3MsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgVkRPMV9DT05GSUdfU1cwX1JTVF9CLCBCSVQoMjkpKTsNCj4gDQo+IE1ha2UgdmRvc3lzMSBh IHJlc2V0IGNvbnRyb2xsZXIgbGlrZSBbMV0uDQo+IA0KPiBbMV0gDQo+IGh0dHBzOi8vdXJsZGVm ZW5zZS5jb20vdjMvX19odHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QvbGludXgt bWVkaWF0ZWsvbGlzdC8/c2VyaWVzPTUxNTM1NV9fOyEhQ1RSTktBOXdNZzBBUmJ3ITJlWHNid2Iz ay1JdkdpbUtYWnhDQ1hHSmlHUW93bU55eHV3SGV0TjRKcjZqaGU4Qmd1NGFIdUxUWWN2Z1ZyeHkk DQo+IA0KT0ssIEkgd2lsbCBjaGFuZ2UgdG8gdXNlIHRoZSByZXNldCBmcmFtZXdvcmsuDQo+ICAN Cj4gDQo+IFJlZ2FyZHMsDQo+IENodW4tS3VhbmcuDQo+IA0KPiA+ICt9DQo+ID4gKw0KPiA+ICtp bnQgbXRrX2V0aGRyX2Nsa19lbmFibGUoc3RydWN0IGRldmljZSAqZGV2KQ0KPiA+ICt7DQo+ID4g KyAgICAgICBpbnQgaSwgcmV0Ow0KPiA+ICsgICAgICAgc3RydWN0IG10a19ldGhkciAqcHJpdiA9 IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KPiA+ICsNCj4gPiArICAgICAgIHJldCA9IGNsa19idWxr X3ByZXBhcmVfZW5hYmxlKEVUSERSX0NMS19OVU0sIHByaXYtDQo+ID4gPmV0aGRyX2Nsayk7DQo+ ID4gKyAgICAgICBpZiAocmV0KQ0KPiA+ICsgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAiZXRoZHJfY2xrIHByZXBhcmUgZW5hYmxlIGZhaWxl ZFxuIik7DQo+ID4gKyAgICAgICByZXR1cm4gcmV0Ow0KPiA+ICt9DQo+ID4gKw0KPiA+ICt2b2lk IG10a19ldGhkcl9jbGtfZGlzYWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQo+ID4gK3sNCj4gPiAr ICAgICAgIHN0cnVjdCBtdGtfZXRoZHIgKnByaXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsNCj4g PiArICAgICAgIGludCBpOw0KPiA+ICsNCj4gPiArICAgICAgIGNsa19idWxrX2Rpc2FibGVfdW5w cmVwYXJlKEVUSERSX0NMS19OVU0sIHByaXYtPmV0aGRyX2Nsayk7DQo+ID4gK30NCj4gPiArDQo+ ID4gK3N0YXRpYyBpbnQgbXRrX2V0aGRyX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg ZGV2aWNlDQo+ID4gKm1hc3RlciwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQg KmRhdGEpDQo+ID4gK3sNCj4gPiArICAgICAgIHN0cnVjdCBtdGtfZXRoZHIgKnByaXYgPSBkZXZf Z2V0X2RydmRhdGEoZGV2KTsNCj4gPiArICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2 ID0gZGF0YTsNCj4gPiArICAgICAgIHN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKmRybV9wcml2YXRl ID0gZHJtX2Rldi0+ZGV2X3ByaXZhdGU7DQo+ID4gKyAgICAgICBzdHJ1Y3QgZGV2aWNlICptbXN5 c19kZXYgPSBkcm1fcHJpdmF0ZS0+bW1zeXNfZGV2Ow0KPiA+ICsNCj4gPiArICAgICAgIHByaXYt PnRvcF9yZWdzID0gb2ZfaW9tYXAobW1zeXNfZGV2LT5vZl9ub2RlLCAwKTsNCj4gPiArI2lmIElT X1JFQUNIQUJMRShDT05GSUdfTVRLX0NNRFEpDQo+ID4gKyAgICAgICBpZiAoY21kcV9kZXZfZ2V0 X2NsaWVudF9yZWcobW1zeXNfZGV2LCAmcHJpdi0NCj4gPiA+dG9wX2NtZHFfYmFzZSwgMCkpDQo+ ID4gKyAgICAgICAgICAgICAgIGRldl9kYmcoZGV2LCAiZ2V0IG1lZGlhdGVrLGdjZS1jbGllbnQt cmVnDQo+ID4gZmFpbCFcbiIpOw0KPiA+ICsjZW5kaWYNCj4gPiArICAgICAgIHJldHVybiAwOw0K PiA+ICt9DQo+ID4gKw0KPiA+ICtzdGF0aWMgdm9pZCBtdGtfZXRoZHJfdW5iaW5kKHN0cnVjdCBk ZXZpY2UgKmRldiwgc3RydWN0IGRldmljZQ0KPiA+ICptYXN0ZXIsIHZvaWQgKmRhdGEpDQo+ID4g K3sNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBjb21wb25lbnRfb3Bz IG10a19ldGhkcl9jb21wb25lbnRfb3BzID0gew0KPiA+ICsgICAgICAgLmJpbmQgICA9IG10a19l dGhkcl9iaW5kLA0KPiA+ICsgICAgICAgLnVuYmluZCA9IG10a19ldGhkcl91bmJpbmQsDQo+ID4g K307DQo+ID4gKw0KPiA+ICtzdGF0aWMgaW50IG10a19ldGhkcl9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXYg PSAmcGRldi0+ZGV2Ow0KPiA+ICsgICAgICAgc3RydWN0IG10a19ldGhkciAqcHJpdjsNCj4gPiAr ICAgICAgIGludCByZXQ7DQo+ID4gKyAgICAgICBpbnQgaTsNCj4gPiArDQo+ID4gKyAgICAgICBk ZXZfaW5mbyhkZXYsICIlcytcbiIsIF9fZnVuY19fKTsNCj4gPiArDQo+ID4gKyAgICAgICBwcml2 ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpwcml2KSwgR0ZQX0tFUk5FTCk7DQo+ID4gKyAg ICAgICBpZiAoIXByaXYpDQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KPiA+ ICsNCj4gPiArICAgICAgIGZvciAoaSA9IDA7IGkgPCBFVEhEUl9JRF9NQVg7IGkrKykgew0KPiA+ ICsgICAgICAgICAgICAgICBwcml2LT5ldGhkcl9jb21wW2ldLmRldiA9IGRldjsNCj4gPiArICAg ICAgICAgICAgICAgcHJpdi0+ZXRoZHJfY29tcFtpXS5yZWdzID0gb2ZfaW9tYXAoZGV2LT5vZl9u b2RlLA0KPiA+IGkpOw0KPiA+ICsjaWYgSVNfUkVBQ0hBQkxFKENPTkZJR19NVEtfQ01EUSkNCj4g PiArICAgICAgICAgICAgICAgcmV0ID0gY21kcV9kZXZfZ2V0X2NsaWVudF9yZWcoZGV2LA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcHJpdi0NCj4g PiA+ZXRoZHJfY29tcFtpXS5jbWRxX2Jhc2UsIGkpOw0KPiA+ICsgICAgICAgICAgICAgICBpZiAo cmV0KQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGRldl9kYmcoZGV2LCAiZ2V0IG1lZGlh dGVrLGdjZS1jbGllbnQtcmVnDQo+ID4gZmFpbCFcbiIpOw0KPiA+ICsjZW5kaWYNCj4gPiArICAg ICAgICAgICAgICAgZGV2X2luZm8oZGV2LCAiW0RSTV1yZWdzOjB4JXgsIG5vZGU6JXNcbiIsDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgIHByaXYtPmV0aGRyX2NvbXBbaV0ucmVncywNCj4g PiBldGhkcl9jb21wX3N0cltpXSk7DQo+ID4gKyAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAg Zm9yIChpID0gMDsgaSA8IEVUSERSX0NMS19OVU07IGkrKykNCj4gPiArICAgICAgICAgICAgICAg cHJpdi0+ZXRoZHJfY2xrW2ldLmlkID0gZXRoZHJfY2xrX3N0cltpXTsNCj4gPiArICAgICAgIHJl dCA9IGRldm1fY2xrX2J1bGtfZ2V0X29wdGlvbmFsKGRldiwgRVRIRFJfQ0xLX05VTSwgcHJpdi0N Cj4gPiA+ZXRoZHJfY2xrKTsNCj4gPiArICAgICAgIGlmIChyZXQpDQo+ID4gKyAgICAgICAgICAg ICAgIHJldHVybiByZXQ7DQo+ID4gKw0KPiA+ICsgICAgICAgcGxhdGZvcm1fc2V0X2RydmRhdGEo cGRldiwgcHJpdik7DQo+ID4gKw0KPiA+ICsgICAgICAgcmV0ID0gY29tcG9uZW50X2FkZChkZXYs ICZtdGtfZXRoZHJfY29tcG9uZW50X29wcyk7DQo+ID4gKyAgICAgICBpZiAocmV0KQ0KPiA+ICsg ICAgICAgICAgICAgICBkZXZfbm90aWNlKGRldiwgIkZhaWxlZCB0byBhZGQgY29tcG9uZW50OiAl ZFxuIiwNCj4gPiByZXQpOw0KPiA+ICsNCj4gPiArICAgICAgIGRldl9pbmZvKGRldiwgIiVzLVxu IiwgX19mdW5jX18pOw0KPiA+ICsNCj4gPiArICAgICAgIHJldHVybiByZXQ7DQo+ID4gK30NCj4g PiArDQo+ID4gK3N0YXRpYyBpbnQgbXRrX2V0aGRyX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQ0KPiA+ICt7DQo+ID4gKyAgICAgICBjb21wb25lbnRfZGVsKCZwZGV2LT5kZXYs ICZtdGtfZXRoZHJfY29tcG9uZW50X29wcyk7DQo+ID4gKyAgICAgICByZXR1cm4gMDsNCj4gPiAr fQ0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX2V0aGRy X2RyaXZlcl9kdF9tYXRjaFtdID0gew0KPiA+ICsgICAgICAgeyAuY29tcGF0aWJsZSA9ICJtZWRp YXRlayxtdDgxOTUtZGlzcC1ldGhkciJ9LA0KPiA+ICsgICAgICAge30sDQo+ID4gK307DQo+ID4g Kw0KPiA+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBtdGtfZXRoZHJfZHJpdmVyX2R0X21hdGNo KTsNCj4gPiArDQo+ID4gK3N0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgbXRrX2V0aGRyX2RyaXZlciA9 IHsNCj4gPiArICAgICAgIC5wcm9iZSA9IG10a19ldGhkcl9wcm9iZSwNCj4gPiArICAgICAgIC5y ZW1vdmUgPSBtdGtfZXRoZHJfcmVtb3ZlLA0KPiA+ICsgICAgICAgLmRyaXZlciA9IHsNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAubmFtZSA9ICJtZWRpYXRlay1kaXNwLWV0aGRyIiwNCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAub3duZXIgPSBUSElTX01PRFVMRSwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAub2ZfbWF0Y2hfdGFibGUgPQ0KPiA+IG10a19ldGhkcl9kcml2 ZXJfZHRfbWF0Y2gsDQo+ID4gKyAgICAgICAgICAgICAgIH0sDQo+ID4gK307DQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZXRoZHIuaA0KPiA+IGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19ldGhkci5oDQo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gPiBpbmRleCAwMDAwMDAwMDAwMDAuLmM4ZmMwNTgxYTYzMg0KPiA+IC0tLSAvZGV2L251bGwN Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2V0aGRyLmgNCj4gPiBAQCAt MCwwICsxLDIwIEBADQo+ID4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkgKi8NCj4gPiArLyoNCj4gPiArICogQ29weXJpZ2h0IChjKSAyMDIxIE1lZGlhVGVrIEluYy4N Cj4gPiArICovDQo+ID4gKw0KPiA+ICsjaWZuZGVmIF9fTVRLX0RJU1BfRVRIRFJfSF9fDQo+ID4g KyNkZWZpbmUgX19NVEtfRElTUF9FVEhEUl9IX18NCj4gPiArDQo+ID4gKyNpbmNsdWRlIDxsaW51 eC91YWNjZXNzLmg+DQo+ID4gKyNpbmNsdWRlIDxkcm0vbWVkaWF0ZWtfZHJtLmg+DQo+ID4gKw0K PiA+ICt2b2lkIG10a19ldGhkcl9sYXllcl9jb25maWcoc3RydWN0IGRldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgaWR4LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXRr X3BsYW5lX3N0YXRlICpzdGF0ZSwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGNtZHFfcGt0ICpjbWRxX3BrdCk7DQo+ID4gK3ZvaWQgbXRrX2V0aGRyX2xheWVyX29uKHN0 cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGlkeCwNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3QgY21kcV9wa3QgKmNtZHFfcGt0KTsNCj4gPiArdm9pZCBtdGtfZXRoZHJf bGF5ZXJfb2ZmKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50IGlkeCwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGNtZHFfcGt0ICpjbWRxX3BrdCk7DQo+ID4gKyNl bmRpZg0KPiA+ICsNCj4gPiAtLQ0KPiA+IDIuMTguMA0KPiA+IA0KX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbWVkaWF0ZWsgbWFpbGluZyBsaXN0 CkxpbnV4LW1lZGlhdGVrQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tZWRpYXRlawo=