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=-17.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,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=unavailable 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 48F07C433E6 for ; Sat, 20 Feb 2021 06:57:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 12BB964EE1 for ; Sat, 20 Feb 2021 06:57:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229632AbhBTG4t (ORCPT ); Sat, 20 Feb 2021 01:56:49 -0500 Received: from mailgw02.mediatek.com ([1.203.163.81]:21846 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S229470AbhBTG4p (ORCPT ); Sat, 20 Feb 2021 01:56:45 -0500 X-UUID: e5568039411c47ca920c05fc66afe52d-20210220 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=hAZDiRAmYt2G40BRz3/BtTMPTlJgARIAZXKPubz3q+8=; b=f62DYNVJx2Hoi8HN1dHmvZ3+0Euu7qnrNJ0+vv2m5xbmsvMeyp7YAcGWTzpr9cKYwhrIZ5Ksg1YvTyeptdIRqLiwkn9KWKdTPl6lTgcpAFBjGRROsJcxmlKKT4V3p//bgeH7o89JFoAUNPD4CvuZNgsgGfA7qiM6s/PxF8XiYZc=; X-UUID: e5568039411c47ca920c05fc66afe52d-20210220 Received: from mtkcas34.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 57843200; Sat, 20 Feb 2021 14:55:07 +0800 Received: from MTKCAS32.mediatek.inc (172.27.4.184) by MTKMBS31N1.mediatek.inc (172.27.4.69) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 20 Feb 2021 14:55:05 +0800 Received: from [10.17.3.153] (10.17.3.153) by MTKCAS32.mediatek.inc (172.27.4.170) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 20 Feb 2021 14:55:03 +0800 Message-ID: <1613804103.896.27.camel@mhfsdcap03> Subject: Re: [PATCH 3/3] media: mtk-vcodec: Separating mtk encoder driver From: Irui Wang To: Alexandre Courbot CC: Hans Verkuil , Tiffany Lin , Andrew-CT Chen , Mauro Carvalho Chehab , Rob Herring , Matthias Brugger , "Tomasz Figa" , Hsin-Yi Wang , Maoguang Meng , Longfei Wang , Yunfei Dong , Linux Media Mailing List , devicetree , LKML , "moderated list:ARM/Mediatek SoC support" , , "moderated list:ARM/Mediatek SoC support" Date: Sat, 20 Feb 2021 14:55:03 +0800 In-Reply-To: References: <20210121061804.26423-1-irui.wang@mediatek.com> <20210121061804.26423-3-irui.wang@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 34E6E76D8BDC8C16416B248E75577A4E96B58E5EBD7A9EEA7AAD2FD602A66A092000:8 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gV2VkLCAyMDIxLTAyLTAzIGF0IDE5OjQ0ICswOTAwLCBBbGV4YW5kcmUgQ291cmJvdCB3cm90 ZToNCj4gSGkgSXJ1aSwNCj4gDQo+IFRoYW5rcyBmb3IgcHVzaGluZyB0aGlzIGZvcndhcmQuIEkg aGFkIHR3byBzbWFsbCBjb25mbGljdHMgd2hlbg0KPiBhcHBseWluZyB0aGlzIHBhdGNoIHRvIHRo ZSBtZWRpYSB0cmVlLCBzbyB5b3UgbWF5IHdhbnQgdG8gcmViYXNlDQo+IGJlZm9yZSBzZW5kaW5n IHRoZSBuZXh0IHZlcnNpb24uIFBsZWFzZSBzZWUgdGhlIGNvbW1lbnRzIGlubGluZS4NCj4gDQo+ IE9uIFRodSwgSmFuIDIxLCAyMDIxIGF0IDM6MTggUE0gSXJ1aSBXYW5nIDxpcnVpLndhbmdAbWVk aWF0ZWsuY29tPiB3cm90ZToNCj4gPg0KPiA+IE1USyBIMjY0IEVuY29kZXIoVkVOQ19TWVMpIGFu ZCBWUDggRW5jb2RlcihWRU5DX0xUX1NZUykgYXJlIHR3bw0KPiA+IGluZGVwZW5kZW50IGhhcmR3 YXJlIGluc3RhbmNlLiBUaGV5IGhhdmUgdGhlaXIgb3duZXIgaW50ZXJydXB0LA0KPiA+IHJlZ2lz dGVyIG1hcHBpbmcsIGFuZCBzcGVjaWFsIGNsb2Nrcy4NCj4gPg0KPiA+IFRoaXMgcGF0Y2ggc2Vw ZXJhdGVzIHRoZW0gaW50byB0d28gZHJpdmVyczoNCj4gDQo+IHNlcGVyYXRlcyAtPiBzZXBhcmF0 ZXMNCj4gDQo+IEFsc28gdGhlIHBhdGNoIGRvZXMgbm90IHJlc3VsdCBpbiB0d28gZHJpdmVycywg YnV0IHR3byBkZXZpY2VzLg0KPiANCj4gPiBVc2VyIENhbGwgIlZJRElPQ19RVUVSWUNBUCI6DQo+ ID4gSDI2NCBFbmNvZGVyIHJldHVybiBkcml2ZXIgbmFtZSAibXRrLXZjb2RlYy1lbmMiOw0KPiA+ IFZQOCBFbmNvZGVyIHJldHVybiBkcml2ZXIgbmFtZSAibXRrLXZlbmMtdnA4Lg0KPiANCj4gSSB3 b25kZXIgaWYgd2UgbmVlZCB0byB1c2UgdHdvIGRpZmZlcmVudCBuYW1lcz8gVGhlIGRyaXZlciBp cyB0aGUNCj4gc2FtZSwgc28gaXQgbWFrZXMgc2Vuc2UgdG8gbWUgdGhhdCBib3RoIGRldmljZXMg cmV0dXJuDQo+ICJtdGstdmNvZGVjLWVuYyIuIFVzZXJzcGFjZSBjYW4gdGhlbiBsaXN0IHRoZSBm b3JtYXRzIG9uIHRoZSBDQVBUVVJFDQo+IHF1ZXVlIGluIG9yZGVyIHRvIHF1ZXJ5IHRoZSBzdXBw b3J0ZWQgY29kZWNzLg0KPiANCkknbSBhZnJhaWQgd2UgY2FuJ3QsIHRoZXJlIGlzIGEgc3ltbGlu ayB3aGVuIGNocm9tZSB1c2UgdGhlDQplbmNvZGVyKDUwLW1lZGlhLnJ1bGVzKToNCkFUVFJ7bmFt ZX0gPT0gIm10ay12Y29kZWMtZW5jIiwgU1lNTElOSys9InZpZGVvLWVuYyINCkFUVFJ7bmFtZX0g PT0gIm10ay12ZW5jLXZwOCIsIFNZTUxJTksrPSJ2aWRlby1lbmMwIg0KaWYgd2UgdXNlIHRoZSBz YW1lIG5hbWUsaG93IHVzZXJzcGFjZSBhY2Nlc3MgdGhlIGVuY29kZXI/IG1heWJlIHRoZXJlDQp3 aWxsIGJlIHNvbWUgbW9kaWZpY2F0aW9ucyBhcmUgbmVlZGVkIGluIFZFQShmb3IgZXhhbXBsZSk/ IA0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogSHNpbi1ZaSBXYW5nIDxoc2lueWlAY2hyb21pdW0u b3JnPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE1hb2d1YW5nIE1lbmcgPG1hb2d1YW5nLm1lbmdAbWVk aWF0ZWsuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IElydWkgV2FuZyA8aXJ1aS53YW5nQG1lZGlh dGVrLmNvbT4NCj4gPg0KPiA+IC0tLQ0KPiA+ICAuLi4vcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtf dmNvZGVjX2Rydi5oICAgICAgfCAgMTAgKy0NCj4gPiAgLi4uL3BsYXRmb3JtL210ay12Y29kZWMv bXRrX3Zjb2RlY19lbmMuYyAgICAgIHwgIDIzICsrKy0NCj4gPiAgLi4uL3BsYXRmb3JtL210ay12 Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2LmMgIHwgMTIxICsrKysrKystLS0tLS0tLS0tLQ0KPiA+ ICAuLi4vcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuY19wbS5jICAgfCAgNDAgKy0t LS0tDQo+ID4gIC4uLi9wbGF0Zm9ybS9tdGstdmNvZGVjL3ZlbmMvdmVuY192cDhfaWYuYyAgICB8 ICAgNCArLQ0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDExNiBkZWxl dGlvbnMoLSkNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210 ay12Y29kZWMvbXRrX3Zjb2RlY19kcnYuaCBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZj b2RlYy9tdGtfdmNvZGVjX2Rydi5oDQo+ID4gaW5kZXggM2RkMDEwY2JhMjNlLi4xNTk0ZWRjYzcw NmQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210 a192Y29kZWNfZHJ2LmgNCj4gPiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29k ZWMvbXRrX3Zjb2RlY19kcnYuaA0KPiA+IEBAIC0xOSw2ICsxOSw3IEBADQo+ID4gICNkZWZpbmUg TVRLX1ZDT0RFQ19EUlZfTkFNRSAgICAibXRrX3Zjb2RlY19kcnYiDQo+ID4gICNkZWZpbmUgTVRL X1ZDT0RFQ19ERUNfTkFNRSAgICAibXRrLXZjb2RlYy1kZWMiDQo+ID4gICNkZWZpbmUgTVRLX1ZD T0RFQ19FTkNfTkFNRSAgICAibXRrLXZjb2RlYy1lbmMiDQo+ID4gKyNkZWZpbmUgTVRLX1ZFTkNf VlA4X05BTUUgICAgICAibXRrLXZlbmMtdnA4Ig0KPiA+ICAjZGVmaW5lIE1US19QTEFURk9STV9T VFIgICAgICAgInBsYXRmb3JtOm10ODE3MyINCj4gPg0KPiA+ICAjZGVmaW5lIE1US19WQ09ERUNf TUFYX1BMQU5FUyAgMw0KPiA+IEBAIC0xOTMsNyArMTk0LDYgQEAgc3RydWN0IG10a192Y29kZWNf cG0gew0KPiA+DQo+ID4gICAgICAgICBzdHJ1Y3QgbXRrX3Zjb2RlY19jbGsgICB2ZW5jX2NsazsN Cj4gPiAgICAgICAgIHN0cnVjdCBkZXZpY2UgICAqbGFyYnZlbmM7DQo+ID4gLSAgICAgICBzdHJ1 Y3QgZGV2aWNlICAgKmxhcmJ2ZW5jbHQ7DQo+ID4gICAgICAgICBzdHJ1Y3QgZGV2aWNlICAgKmRl djsNCj4gPiAgICAgICAgIHN0cnVjdCBtdGtfdmNvZGVjX2RldiAgICptdGtkZXY7DQo+ID4gIH07 DQo+ID4gQEAgLTMxMSwyNSArMzExLDI3IEBAIGVudW0gbXRrX2NoaXAgew0KPiA+ICAgKiBAY2hp cDogY2hpcCB0aGlzIGVuY29kZXIgaXMgY29tcGF0aWJsZSB3aXRoDQo+ID4gICAqDQo+ID4gICAq IEB1c2VzX2V4dDogd2hldGhlciB0aGUgZW5jb2RlciB1c2VzIHRoZSBleHRlbmRlZCBmaXJtd2Fy ZSBtZXNzYWdpbmcgZm9ybWF0DQo+ID4gLSAqIEBoYXNfbHRfaXJxOiB3aGV0aGVyIHRoZSBlbmNv ZGVyIHVzZXMgdGhlIExUIGlycQ0KPiA+ICsgKiBAbmFtZTogd2hldGhlciB0aGUgZW5jb2RlciBj b3JlIGlzIHZwOA0KPiA+ICAgKiBAbWluX2JpcmF0ZTogbWluaW11bSBzdXBwb3J0ZWQgZW5jb2Rp bmcgYml0cmF0ZQ0KPiA+ICAgKiBAbWF4X2JpdHJhdGU6IG1heGltdW0gc3VwcG9ydGVkIGVuY29k aW5nIGJpdHJhdGUNCj4gPiAgICogQGNhcHR1cmVfZm9ybWF0czogYXJyYXkgb2Ygc3VwcG9ydGVk IGNhcHR1cmUgZm9ybWF0cw0KPiA+ICAgKiBAbnVtX2NhcHR1cmVfZm9ybWF0czogbnVtYmVyIG9m IGVudHJpZXMgaW4gY2FwdHVyZV9mb3JtYXRzDQo+ID4gICAqIEBvdXRwdXRfZm9ybWF0czogYXJy YXkgb2Ygc3VwcG9ydGVkIG91dHB1dCBmb3JtYXRzDQo+ID4gICAqIEBudW1fb3V0cHV0X2Zvcm1h dHM6IG51bWJlciBvZiBlbnRyaWVzIGluIG91dHB1dF9mb3JtYXRzDQo+ID4gKyAqIEBjb3JlX2lk OiBzdGFuZCBmb3IgaDI2NCBvciB2cDggZW5jb2RlIGluZGV4DQo+ID4gICAqLw0KPiA+ICBzdHJ1 Y3QgbXRrX3Zjb2RlY19lbmNfcGRhdGEgew0KPiA+ICAgICAgICAgZW51bSBtdGtfY2hpcCBjaGlw Ow0KPiA+DQo+ID4gICAgICAgICBib29sIHVzZXNfZXh0Ow0KPiA+IC0gICAgICAgYm9vbCBoYXNf bHRfaXJxOw0KPiA+ICsgICAgICAgY29uc3QgY2hhciAqbmFtZTsNCj4gDQo+IFRoaXMgbmV3IG1l bWJlciBjYW4gYmUgcmVtb3ZlZCBpZiB3ZSB1c2UgdGhlIHNhbWUgbmFtZSBmb3IgYm90aCBkZXZp Y2VzLg0KPiANCj4gPiAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWluX2JpdHJhdGU7DQo+ID4gICAg ICAgICB1bnNpZ25lZCBsb25nIG1heF9iaXRyYXRlOw0KPiA+ICAgICAgICAgY29uc3Qgc3RydWN0 IG10a192aWRlb19mbXQgKmNhcHR1cmVfZm9ybWF0czsNCj4gPiAgICAgICAgIHNpemVfdCBudW1f Y2FwdHVyZV9mb3JtYXRzOw0KPiA+ICAgICAgICAgY29uc3Qgc3RydWN0IG10a192aWRlb19mbXQg Km91dHB1dF9mb3JtYXRzOw0KPiA+ICAgICAgICAgc2l6ZV90IG51bV9vdXRwdXRfZm9ybWF0czsN Cj4gPiArICAgICAgIGludCBjb3JlX2lkOw0KPiA+ICB9Ow0KPiA+DQo+ID4gICNkZWZpbmUgTVRL X0VOQ19DVFhfSVNfRVhUKGN0eCkgKChjdHgpLT5kZXYtPnZlbmNfcGRhdGEtPnVzZXNfZXh0KQ0K PiA+IEBAIC0zNjEsNyArMzYzLDYgQEAgc3RydWN0IG10a192Y29kZWNfZW5jX3BkYXRhIHsNCj4g PiAgICoNCj4gPiAgICogQGRlY19pcnE6IGRlY29kZXIgaXJxIHJlc291cmNlDQo+ID4gICAqIEBl bmNfaXJxOiBoMjY0IGVuY29kZXIgaXJxIHJlc291cmNlDQo+ID4gLSAqIEBlbmNfbHRfaXJxOiB2 cDggZW5jb2RlciBpcnEgcmVzb3VyY2UNCj4gPiAgICoNCj4gPiAgICogQGRlY19tdXRleDogZGVj b2RlciBoYXJkd2FyZSBsb2NrDQo+ID4gICAqIEBlbmNfbXV0ZXg6IGVuY29kZXIgaGFyZHdhcmUg bG9jay4NCj4gPiBAQCAtMzk3LDcgKzM5OCw2IEBAIHN0cnVjdCBtdGtfdmNvZGVjX2RldiB7DQo+ ID4NCj4gPiAgICAgICAgIGludCBkZWNfaXJxOw0KPiA+ICAgICAgICAgaW50IGVuY19pcnE7DQo+ ID4gLSAgICAgICBpbnQgZW5jX2x0X2lycTsNCj4gPg0KPiA+ICAgICAgICAgc3RydWN0IG11dGV4 IGRlY19tdXRleDsNCj4gPiAgICAgICAgIHN0cnVjdCBtdXRleCBlbmNfbXV0ZXg7DQo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Vu Yy5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jLmMN Cj4gPiBpbmRleCAyMWRlMTQzMWNmY2IuLjBkYTY4NzFiNGIzOSAxMDA2NDQNCj4gPiAtLS0gYS9k cml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmMuYw0KPiA+ICsr KyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuYy5jDQo+ ID4gQEAgLTksNiArOSw3IEBADQo+ID4gICNpbmNsdWRlIDxtZWRpYS92NGwyLW1lbTJtZW0uaD4N Cj4gPiAgI2luY2x1ZGUgPG1lZGlhL3ZpZGVvYnVmMi1kbWEtY29udGlnLmg+DQo+ID4gICNpbmNs dWRlIDxzb2MvbWVkaWF0ZWsvc21pLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1l Lmg+DQo+ID4NCj4gPiAgI2luY2x1ZGUgIm10a192Y29kZWNfZHJ2LmgiDQo+ID4gICNpbmNsdWRl ICJtdGtfdmNvZGVjX2VuYy5oIg0KPiA+IEBAIC0xODksNyArMTkwLDEwIEBAIHN0YXRpYyBpbnQg dmlkaW9jX2VudW1fZm10X3ZpZF9vdXQoc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgKnByaXYsDQo+ ID4gIHN0YXRpYyBpbnQgdmlkaW9jX3ZlbmNfcXVlcnljYXAoc3RydWN0IGZpbGUgKmZpbGUsIHZv aWQgKnByaXYsDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdjRs Ml9jYXBhYmlsaXR5ICpjYXApDQo+ID4gIHsNCj4gPiAtICAgICAgIHN0cnNjcHkoY2FwLT5kcml2 ZXIsIE1US19WQ09ERUNfRU5DX05BTUUsIHNpemVvZihjYXAtPmRyaXZlcikpOw0KPiA+ICsgICAg ICAgY29uc3Qgc3RydWN0IG10a192Y29kZWNfZW5jX3BkYXRhICpwZGF0YSA9DQo+ID4gKyAgICAg ICAgICAgICAgIGZoX3RvX2N0eChwcml2KS0+ZGV2LT52ZW5jX3BkYXRhOw0KPiA+ICsNCj4gPiAr ICAgICAgIHN0cnNjcHkoY2FwLT5kcml2ZXIsIHBkYXRhLT5uYW1lLCBzaXplb2YoY2FwLT5kcml2 ZXIpKTsNCj4gPiAgICAgICAgIHN0cnNjcHkoY2FwLT5idXNfaW5mbywgTVRLX1BMQVRGT1JNX1NU Uiwgc2l6ZW9mKGNhcC0+YnVzX2luZm8pKTsNCj4gPiAgICAgICAgIHN0cnNjcHkoY2FwLT5jYXJk LCBNVEtfUExBVEZPUk1fU1RSLCBzaXplb2YoY2FwLT5jYXJkKSk7DQo+ID4NCj4gPiBAQCAtNzk3 LDcgKzgwMSw3IEBAIHN0YXRpYyBpbnQgdmIyb3BzX3ZlbmNfc3RhcnRfc3RyZWFtaW5nKHN0cnVj dCB2YjJfcXVldWUgKnEsIHVuc2lnbmVkIGludCBjb3VudCkNCj4gPiAgICAgICAgICAgKi8NCj4g PiAgICAgICAgIGlmICgoY3R4LT5zdGF0ZSA9PSBNVEtfU1RBVEVfQUJPUlQpIHx8IChjdHgtPnN0 YXRlID09IE1US19TVEFURV9GUkVFKSkgew0KPiA+ICAgICAgICAgICAgICAgICByZXQgPSAtRUlP Ow0KPiA+IC0gICAgICAgICAgICAgICBnb3RvIGVycl9zZXRfcGFyYW07DQo+ID4gKyAgICAgICAg ICAgICAgIGdvdG8gZXJyX3N0YXJ0X3N0cmVhbTsNCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+ICAg ICAgICAgLyogRG8gdGhlIGluaXRpYWxpemF0aW9uIHdoZW4gYm90aCBzdGFydF9zdHJlYW1pbmcg aGF2ZSBiZWVuIGNhbGxlZCAqLw0KPiA+IEBAIC04MDksNiArODEzLDEyIEBAIHN0YXRpYyBpbnQg dmIyb3BzX3ZlbmNfc3RhcnRfc3RyZWFtaW5nKHN0cnVjdCB2YjJfcXVldWUgKnEsIHVuc2lnbmVk IGludCBjb3VudCkNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiAg ICAgICAgIH0NCj4gPg0KPiA+ICsgICAgICAgcmV0ID0gcG1fcnVudGltZV9nZXRfc3luYygmY3R4 LT5kZXYtPnBsYXRfZGV2LT5kZXYpOw0KPiA+ICsgICAgICAgaWYgKHJldCA8IDApIHsNCj4gPiAr ICAgICAgICAgICAgICAgbXRrX3Y0bDJfZXJyKCJwbV9ydW50aW1lX2dldF9zeW5jIGZhaWwgJWQi LCByZXQpOw0KPiA+ICsgICAgICAgICAgICAgICBnb3RvIGVycl9zdGFydF9zdHJlYW07DQo+ID4g KyAgICAgICB9DQo+IA0KPiBUaGlzIGRvZXMgbm90IHNlZW0gdG8gYmUgcmVsYXRlZCB0byB0aGUg c3BsaXQgOyB3aHkgaXMgdGhpcyBuZWNlc3Nhcnk/DQpJdCdzIGEgcHJlcGFyZSBwYXRjaCBmb3Ig dGhlIGxhcmJzLCBhZnRlciBzZXBhcmF0aW5nLCB3ZSBuZWVkIGNhbGwNCnBtX3J1bnRpbWVfIEFQ SSBhZGRpdGlvbmFsbHkuDQo+IA0KPiA+ICsNCj4gPiAgICAgICAgIG10a192ZW5jX3NldF9wYXJh bShjdHgsICZwYXJhbSk7DQo+ID4gICAgICAgICByZXQgPSB2ZW5jX2lmX3NldF9wYXJhbShjdHgs IFZFTkNfU0VUX1BBUkFNX0VOQywgJnBhcmFtKTsNCj4gPiAgICAgICAgIGlmIChyZXQpIHsNCj4g PiBAQCAtODM1LDYgKzg0NSwxMSBAQCBzdGF0aWMgaW50IHZiMm9wc192ZW5jX3N0YXJ0X3N0cmVh bWluZyhzdHJ1Y3QgdmIyX3F1ZXVlICpxLCB1bnNpZ25lZCBpbnQgY291bnQpDQo+ID4gICAgICAg ICByZXR1cm4gMDsNCj4gPg0KPiA+ICBlcnJfc2V0X3BhcmFtOg0KPiA+ICsgICAgICAgcmV0ID0g cG1fcnVudGltZV9wdXQoJmN0eC0+ZGV2LT5wbGF0X2Rldi0+ZGV2KTsNCj4gPiArICAgICAgIGlm IChyZXQgPCAwKQ0KPiA+ICsgICAgICAgICAgICAgICBtdGtfdjRsMl9lcnIoInBtX3J1bnRpbWVf cHV0IGZhaWwgJWQiLCByZXQpOw0KPiA+ICsNCj4gPiArZXJyX3N0YXJ0X3N0cmVhbToNCj4gPiAg ICAgICAgIGZvciAoaSA9IDA7IGkgPCBxLT5udW1fYnVmZmVyczsgKytpKSB7DQo+ID4gICAgICAg ICAgICAgICAgIHN0cnVjdCB2YjJfYnVmZmVyICpidWYgPSB2YjJfZ2V0X2J1ZmZlcihxLCBpKTsN Cj4gPg0KPiA+IEBAIC04ODgsNiArOTAzLDEwIEBAIHN0YXRpYyB2b2lkIHZiMm9wc192ZW5jX3N0 b3Bfc3RyZWFtaW5nKHN0cnVjdCB2YjJfcXVldWUgKnEpDQo+ID4gICAgICAgICBpZiAocmV0KQ0K PiA+ICAgICAgICAgICAgICAgICBtdGtfdjRsMl9lcnIoInZlbmNfaWZfZGVpbml0IGZhaWxlZD0l ZCIsIHJldCk7DQo+ID4NCj4gPiArICAgICAgIHJldCA9IHBtX3J1bnRpbWVfcHV0KCZjdHgtPmRl di0+cGxhdF9kZXYtPmRldik7DQo+ID4gKyAgICAgICBpZiAocmV0IDwgMCkNCj4gPiArICAgICAg ICAgICAgICAgbXRrX3Y0bDJfZXJyKCJwbV9ydW50aW1lX3B1dCBmYWlsICVkIiwgcmV0KTsNCj4g PiArDQo+ID4gICAgICAgICBjdHgtPnN0YXRlID0gTVRLX1NUQVRFX0ZSRUU7DQo+ID4gIH0NCj4g Pg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRr X3Zjb2RlY19lbmNfZHJ2LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRr X3Zjb2RlY19lbmNfZHJ2LmMNCj4gPiBpbmRleCBkZmI0MmUxOWJmODEuLjRiZWU0MjQ1NDI1MyAx MDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zj b2RlY19lbmNfZHJ2LmMNCj4gPiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29k ZWMvbXRrX3Zjb2RlY19lbmNfZHJ2LmMNCj4gPiBAQCAtNDksMTIgKzQ5LDE1IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX3ZpZGVvX2ZtdCBtdGtfdmlkZW9fZm9ybWF0c19vdXRwdXRfbXQ4MTcz W10gPSB7DQo+ID4gICAgICAgICB9LA0KPiA+ICB9Ow0KPiA+DQo+ID4gLXN0YXRpYyBjb25zdCBz dHJ1Y3QgbXRrX3ZpZGVvX2ZtdCBtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJlX210ODE3M1tdID0g IHsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfdmlkZW9fZm10IG10a192aWRlb19mb3Jt YXRzX2NhcHR1cmVfbXQ4MTczX2gyNjRbXSA9ICB7DQo+ID4gICAgICAgICB7DQo+ID4gICAgICAg ICAgICAgICAgIC5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfSDI2NCwNCj4gPiAgICAgICAgICAgICAg ICAgLnR5cGUgPSBNVEtfRk1UX0VOQywNCj4gPiAgICAgICAgICAgICAgICAgLm51bV9wbGFuZXMg PSAxLA0KPiA+ICAgICAgICAgfSwNCj4gPiArfTsNCj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBz dHJ1Y3QgbXRrX3ZpZGVvX2ZtdCBtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJlX210ODE3M192cDhb XSA9ICB7DQo+ID4gICAgICAgICB7DQo+ID4gICAgICAgICAgICAgICAgIC5mb3VyY2MgPSBWNEwy X1BJWF9GTVRfVlA4LA0KPiA+ICAgICAgICAgICAgICAgICAudHlwZSA9IE1US19GTVRfRU5DLA0K PiA+IEBAIC0xMTAsMzUgKzExMywxMyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgbXRrX3Zjb2RlY19l bmNfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqcHJpdikNCj4gPiAgICAgICAgIGN0eCA9IGRl di0+Y3Vycl9jdHg7DQo+ID4gICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmly cWxvY2ssIGZsYWdzKTsNCj4gPg0KPiA+IC0gICAgICAgbXRrX3Y0bDJfZGVidWcoMSwgImlkPSVk IiwgY3R4LT5pZCk7DQo+ID4gLSAgICAgICBhZGRyID0gZGV2LT5yZWdfYmFzZVtWRU5DX1NZU10g KyBNVEtfVkVOQ19JUlFfQUNLX09GRlNFVDsNCj4gPiAtDQo+ID4gLSAgICAgICBjdHgtPmlycV9z dGF0dXMgPSByZWFkbChkZXYtPnJlZ19iYXNlW1ZFTkNfU1lTXSArDQo+ID4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoTVRLX1ZFTkNfSVJRX1NUQVRVU19PRkZTRVQpKTsNCj4gPiAt DQo+ID4gLSAgICAgICBjbGVhbl9pcnFfc3RhdHVzKGN0eC0+aXJxX3N0YXR1cywgYWRkcik7DQo+ ID4gLQ0KPiA+IC0gICAgICAgd2FrZV91cF9jdHgoY3R4LCBNVEtfSU5TVF9JUlFfUkVDRUlWRUQp Ow0KPiA+IC0gICAgICAgcmV0dXJuIElSUV9IQU5ETEVEOw0KPiA+IC19DQo+ID4gLQ0KPiA+IC1z dGF0aWMgaXJxcmV0dXJuX3QgbXRrX3Zjb2RlY19lbmNfbHRfaXJxX2hhbmRsZXIoaW50IGlycSwg dm9pZCAqcHJpdikNCj4gPiAtew0KPiA+IC0gICAgICAgc3RydWN0IG10a192Y29kZWNfZGV2ICpk ZXYgPSBwcml2Ow0KPiA+IC0gICAgICAgc3RydWN0IG10a192Y29kZWNfY3R4ICpjdHg7DQo+ID4g LSAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOw0KPiA+IC0gICAgICAgdm9pZCBfX2lvbWVtICph ZGRyOw0KPiA+IC0NCj4gPiAtICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZkZXYtPmlycWxvY2ss IGZsYWdzKTsNCj4gPiAtICAgICAgIGN0eCA9IGRldi0+Y3Vycl9jdHg7DQo+ID4gLSAgICAgICBz cGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmlycWxvY2ssIGZsYWdzKTsNCj4gPiArICAgICAg IG10a192NGwyX2RlYnVnKDEsICJpZD0lZCBjb3JlaWQ6JWQiLCBjdHgtPmlkLCBkZXYtPnZlbmNf cGRhdGEtPmNvcmVfaWQpOw0KPiA+ICsgICAgICAgYWRkciA9IGRldi0+cmVnX2Jhc2VbZGV2LT52 ZW5jX3BkYXRhLT5jb3JlX2lkXSArDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNVEtfVkVOQ19JUlFfQUNLX09GRlNFVDsNCj4gPg0KPiA+IC0gICAgICAgbXRrX3Y0bDJfZGVi dWcoMSwgImlkPSVkIiwgY3R4LT5pZCk7DQo+ID4gLSAgICAgICBjdHgtPmlycV9zdGF0dXMgPSBy ZWFkbChkZXYtPnJlZ19iYXNlW1ZFTkNfTFRfU1lTXSArDQo+ID4gKyAgICAgICBjdHgtPmlycV9z dGF0dXMgPSByZWFkbChkZXYtPnJlZ19iYXNlW2Rldi0+dmVuY19wZGF0YS0+Y29yZV9pZF0gKw0K PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKE1US19WRU5DX0lSUV9TVEFUVVNf T0ZGU0VUKSk7DQo+ID4NCj4gPiAtICAgICAgIGFkZHIgPSBkZXYtPnJlZ19iYXNlW1ZFTkNfTFRf U1lTXSArIE1US19WRU5DX0lSUV9BQ0tfT0ZGU0VUOw0KPiA+IC0NCj4gPiAgICAgICAgIGNsZWFu X2lycV9zdGF0dXMoY3R4LT5pcnFfc3RhdHVzLCBhZGRyKTsNCj4gPg0KPiA+ICAgICAgICAgd2Fr ZV91cF9jdHgoY3R4LCBNVEtfSU5TVF9JUlFfUkVDRUlWRUQpOw0KPiA+IEBAIC0yOTMsMTcgKzI3 NCwyMSBAQCBzdGF0aWMgaW50IG10a192Y29kZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikNCj4gPiAgICAgICAgIGRldi0+dmVuY19wZGF0YSA9IG9mX2RldmljZV9nZXRfbWF0 Y2hfZGF0YSgmcGRldi0+ZGV2KTsNCj4gPiAgICAgICAgIHJldCA9IG10a192Y29kZWNfaW5pdF9l bmNfcG0oZGV2KTsNCj4gPiAgICAgICAgIGlmIChyZXQgPCAwKSB7DQo+ID4gLSAgICAgICAgICAg ICAgIGRldl9lcnIoJnBkZXYtPmRldiwgIkZhaWxlZCB0byBnZXQgbXQgdmNvZGVjIGNsb2NrIHNv dXJjZSEiKTsNCj4gPiArICAgICAgICAgICAgICAgZGV2X2VycigmcGRldi0+ZGV2LCAiRmFpbGVk IHRvIGdldCBtdGsgdmNvZGVjIGNsb2NrIHNvdXJjZSEiKTsNCj4gPiAgICAgICAgICAgICAgICAg Z290byBlcnJfZW5jX3BtOw0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ID4gLSAgICAgICByZXMgPSBw bGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOw0KPiA+IC0gICAg ICAgZGV2LT5yZWdfYmFzZVtWRU5DX1NZU10gPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoJnBkZXYt PmRldiwgcmVzKTsNCj4gPiAtICAgICAgIGlmIChJU19FUlIoKF9fZm9yY2Ugdm9pZCAqKWRldi0+ cmVnX2Jhc2VbVkVOQ19TWVNdKSkgew0KPiA+IC0gICAgICAgICAgICAgICByZXQgPSBQVFJfRVJS KChfX2ZvcmNlIHZvaWQgKilkZXYtPnJlZ19iYXNlW1ZFTkNfU1lTXSk7DQo+ID4gKyAgICAgICBw bV9ydW50aW1lX2VuYWJsZSgmcGRldi0+ZGV2KTsNCj4gPiArDQo+ID4gKyAgICAgICBzbnByaW50 ZihkZXYtPnY0bDJfZGV2Lm5hbWUsIHNpemVvZihkZXYtPnY0bDJfZGV2Lm5hbWUpLCAiJXMiLA0K PiA+ICsgICAgICAgICAgICAgICAgZGV2LT52ZW5jX3BkYXRhLT5uYW1lKTsNCj4gPiArDQo+ID4g KyAgICAgICBkZXYtPnJlZ19iYXNlW2Rldi0+dmVuY19wZGF0YS0+Y29yZV9pZF0gPQ0KPiA+ICsg ICAgICAgICAgICAgICBkZXZtX3BsYXRmb3JtX2lvcmVtYXBfcmVzb3VyY2UocGRldiwgMCk7DQo+ ID4gKyAgICAgICBpZiAoSVNfRVJSKGRldi0+cmVnX2Jhc2VbZGV2LT52ZW5jX3BkYXRhLT5jb3Jl X2lkXSkpIHsNCj4gPiArICAgICAgICAgICAgICAgcmV0ID0gUFRSX0VSUihkZXYtPnJlZ19iYXNl W2Rldi0+dmVuY19wZGF0YS0+Y29yZV9pZF0pOw0KPiA+ICAgICAgICAgICAgICAgICBnb3RvIGVy cl9yZXM7DQo+ID4gICAgICAgICB9DQo+ID4gLSAgICAgICBtdGtfdjRsMl9kZWJ1ZygyLCAicmVn WyVkXSBiYXNlPTB4JXAiLCBpLCBkZXYtPnJlZ19iYXNlW1ZFTkNfU1lTXSk7DQo+ID4NCj4gPiAg ICAgICAgIHJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX0lSUSwg MCk7DQo+ID4gICAgICAgICBpZiAocmVzID09IE5VTEwpIHsNCj4gPiBAQCAtMzE4LDQ0ICszMDMs MTcgQEAgc3RhdGljIGludCBtdGtfdmNvZGVjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG10a192Y29kZWNfZW5j X2lycV9oYW5kbGVyLA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBwZGV2 LT5uYW1lLCBkZXYpOw0KPiA+ICAgICAgICAgaWYgKHJldCkgew0KPiA+IC0gICAgICAgICAgICAg ICBkZXZfZXJyKCZwZGV2LT5kZXYsICJGYWlsZWQgdG8gaW5zdGFsbCBkZXYtPmVuY19pcnEgJWQg KCVkKSIsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5lbmNfaXJxLA0KPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgIHJldCk7DQo+ID4gKyAgICAgICAgICAgICAgIGRldl9lcnIo JnBkZXYtPmRldiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGluc3Rh bGwgZGV2LT5lbmNfaXJxICVkICglZCkgY29yZV9pZDolZCIsDQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgZGV2LT5lbmNfaXJxLCByZXQsIGRldi0+dmVuY19wZGF0YS0+Y29yZV9pZCk7DQo+ ID4gICAgICAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7DQo+ID4gICAgICAgICAgICAgICAgIGdv dG8gZXJyX3JlczsNCj4gPiAgICAgICAgIH0NCj4gPg0KPiA+IC0gICAgICAgaWYgKGRldi0+dmVu Y19wZGF0YS0+aGFzX2x0X2lycSkgew0KPiA+IC0gICAgICAgICAgICAgICByZXMgPSBwbGF0Zm9y bV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDEpOw0KPiA+IC0gICAgICAgICAg ICAgICBkZXYtPnJlZ19iYXNlW1ZFTkNfTFRfU1lTXSA9IGRldm1faW9yZW1hcF9yZXNvdXJjZSgm cGRldi0+ZGV2LCByZXMpOw0KPiA+IC0gICAgICAgICAgICAgICBpZiAoSVNfRVJSKChfX2ZvcmNl IHZvaWQgKilkZXYtPnJlZ19iYXNlW1ZFTkNfTFRfU1lTXSkpIHsNCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICByZXQgPSBQVFJfRVJSKChfX2ZvcmNlIHZvaWQgKilkZXYtPnJlZ19iYXNlW1ZF TkNfTFRfU1lTXSk7DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZ290byBlcnJfcmVzOw0K PiA+IC0gICAgICAgICAgICAgICB9DQo+ID4gLSAgICAgICAgICAgICAgIG10a192NGwyX2RlYnVn KDIsICJyZWdbJWRdIGJhc2U9MHglcCIsIGksIGRldi0+cmVnX2Jhc2VbVkVOQ19MVF9TWVNdKTsN Cj4gPiAtDQo+ID4gLSAgICAgICAgICAgICAgIGRldi0+ZW5jX2x0X2lycSA9IHBsYXRmb3JtX2dl dF9pcnEocGRldiwgMSk7DQo+ID4gLSAgICAgICAgICAgICAgIGlycV9zZXRfc3RhdHVzX2ZsYWdz KGRldi0+ZW5jX2x0X2lycSwgSVJRX05PQVVUT0VOKTsNCj4gPiAtICAgICAgICAgICAgICAgcmV0 ID0gZGV2bV9yZXF1ZXN0X2lycSgmcGRldi0+ZGV2LA0KPiA+IC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRldi0+ZW5jX2x0X2lycSwNCj4gPiAtICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBtdGtfdmNvZGVjX2VuY19sdF9pcnFfaGFuZGxlciwNCj4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBwZGV2LT5uYW1lLCBk ZXYpOw0KPiA+IC0gICAgICAgICAgICAgICBpZiAocmV0KSB7DQo+ID4gLSAgICAgICAgICAgICAg ICAgICAgICAgZGV2X2VycigmcGRldi0+ZGV2LA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkZhaWxlZCB0byBpbnN0YWxsIGRldi0+ZW5jX2x0X2lycSAlZCAoJWQpIiwNCj4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldi0+ZW5jX2x0X2lycSwgcmV0KTsN Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgICByZXQgPSAtRUlOVkFMOw0KPiA+IC0gICAgICAg ICAgICAgICAgICAgICAgIGdvdG8gZXJyX3JlczsNCj4gPiAtICAgICAgICAgICAgICAgfQ0KPiA+ IC0gICAgICAgfQ0KPiA+IC0NCj4gPiAgICAgICAgIG11dGV4X2luaXQoJmRldi0+ZW5jX211dGV4 KTsNCj4gPiAgICAgICAgIG11dGV4X2luaXQoJmRldi0+ZGV2X211dGV4KTsNCj4gPiAgICAgICAg IHNwaW5fbG9ja19pbml0KCZkZXYtPmlycWxvY2spOw0KPiA+DQo+ID4gLSAgICAgICBzbnByaW50 ZihkZXYtPnY0bDJfZGV2Lm5hbWUsIHNpemVvZihkZXYtPnY0bDJfZGV2Lm5hbWUpLCAiJXMiLA0K PiA+IC0gICAgICAgICAgICAgICAgIltNVEtfVjRMMl9WRU5DXSIpOw0KPiA+IC0NCj4gPiAgICAg ICAgIHJldCA9IHY0bDJfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsICZkZXYtPnY0bDJfZGV2 KTsNCj4gPiAgICAgICAgIGlmIChyZXQpIHsNCj4gPiAgICAgICAgICAgICAgICAgbXRrX3Y0bDJf ZXJyKCJ2NGwyX2RldmljZV9yZWdpc3RlciBlcnI9JWQiLCByZXQpOw0KPiA+IEBAIC0zODEsNyAr MzM5LDcgQEAgc3RhdGljIGludCBtdGtfdmNvZGVjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFY0 TDJfQ0FQX1NUUkVBTUlORzsNCj4gPg0KPiA+ICAgICAgICAgc25wcmludGYodmZkX2VuYy0+bmFt ZSwgc2l6ZW9mKHZmZF9lbmMtPm5hbWUpLCAiJXMiLA0KPiA+IC0gICAgICAgICAgICAgICAgTVRL X1ZDT0RFQ19FTkNfTkFNRSk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZGV2LT52ZW5j X3BkYXRhLT5uYW1lKTsNCj4gDQo+IExldCdzIGtlZXAgdGhlIGluZGVuZGF0aW9uIGF0IHRoZSBz YW1lIGxldmVsIGFzIGJlZm9yZSAoaWYgd2UgdXNlIHRoZQ0KPiBzYW1lIGRyaXZlciBuYW1lIGZv ciBib3RoIGRldmljZXMgdGhpcyBjaGFuZ2UgaXMgdW5uZWNlc3NhcnkgdGhvdWdoKS4NCj4gDQpO ZWVkIHRvIGNvbmZpcm0gYmVmb3JlIHNlbmQgdGhlIG5leHQgdmVyc2lvbi4NCg0KPiA+ICAgICAg ICAgdmlkZW9fc2V0X2RydmRhdGEodmZkX2VuYywgZGV2KTsNCj4gPiAgICAgICAgIGRldi0+dmZk X2VuYyA9IHZmZF9lbmM7DQo+ID4gICAgICAgICBwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBk ZXYpOw0KPiA+IEBAIC00MDksOCArMzY3LDggQEAgc3RhdGljIGludCBtdGtfdmNvZGVjX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4gICAgICAgICAgICAgICAgIGdvdG8g ZXJyX2VuY19yZWc7DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiAtICAgICAgIG10a192NGwyX2Rl YnVnKDAsICJlbmNvZGVyIHJlZ2lzdGVyZWQgYXMgL2Rldi92aWRlbyVkIiwNCj4gPiAtICAgICAg ICAgICAgICAgICAgICAgICB2ZmRfZW5jLT5udW0pOw0KPiA+ICsgICAgICAgbXRrX3Y0bDJfZGVi dWcoMCwgImVuY29kZXIgJWQgcmVnaXN0ZXJlZCBhcyAvZGV2L3ZpZGVvJWQiLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgZGV2LT52ZW5jX3BkYXRhLT5jb3JlX2lkLCB2ZmRfZW5jLT5udW0p Ow0KPiA+DQo+ID4gICAgICAgICByZXR1cm4gMDsNCj4gPg0KPiA+IEBAIC00MjksMjAgKzM4Nywz MyBAQCBzdGF0aWMgaW50IG10a192Y29kZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikNCj4gPiAgICAgICAgIHJldHVybiByZXQ7DQo+ID4gIH0NCj4gPg0KPiA+IC1zdGF0aWMg Y29uc3Qgc3RydWN0IG10a192Y29kZWNfZW5jX3BkYXRhIG10ODE3M19wZGF0YSA9IHsNCj4gPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSBtdDgxNzNfYXZjX3BkYXRh ID0gew0KPiA+ICAgICAgICAgLmNoaXAgPSBNVEtfTVQ4MTczLA0KPiA+IC0gICAgICAgLmhhc19s dF9pcnEgPSB0cnVlLA0KPiA+IC0gICAgICAgLmNhcHR1cmVfZm9ybWF0cyA9IG10a192aWRlb19m b3JtYXRzX2NhcHR1cmVfbXQ4MTczLA0KPiA+IC0gICAgICAgLm51bV9jYXB0dXJlX2Zvcm1hdHMg PSBBUlJBWV9TSVpFKG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4MTczKSwNCj4gPiArICAg ICAgIC5uYW1lID0gTVRLX1ZDT0RFQ19FTkNfTkFNRSwNCj4gPiArICAgICAgIC5jYXB0dXJlX2Zv cm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJlX210ODE3M19oMjY0LA0KPiA+ICsgICAg ICAgLm51bV9jYXB0dXJlX2Zvcm1hdHMgPSAxLA0KPiANCj4gQ2FuJ3QgdGhpcyBiZSBBUlJBWV9T SVpFKG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4MTczX2gyNjQpDQo+IA0KPiA+ICAgICAg ICAgLm91dHB1dF9mb3JtYXRzID0gbXRrX3ZpZGVvX2Zvcm1hdHNfb3V0cHV0X210ODE3MywNCj4g PiAgICAgICAgIC5udW1fb3V0cHV0X2Zvcm1hdHMgPSBBUlJBWV9TSVpFKG10a192aWRlb19mb3Jt YXRzX291dHB1dF9tdDgxNzMpLA0KPiA+IC0gICAgICAgLm1pbl9iaXRyYXRlID0gMSwNCj4gPiAr ICAgICAgIC5taW5fYml0cmF0ZSA9IDY0LA0KPiANCj4gSSdtIGZpbmUgd2l0aCBjaGFuZ2luZyB0 aGUgdmFsdWUgb2YgbWluX2JpdHJhdGUsIGJ1dCB0aGlzIHNob3VsZCBiZSBhDQo+IHNlcGFyYXRl IHBhdGNoLg0KPiANCj4gPiArICAgICAgIC5tYXhfYml0cmF0ZSA9IDQwMDAwMDAsDQo+ID4gKyAg ICAgICAuY29yZV9pZCA9IFZFTkNfU1lTLA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNv bnN0IHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSBtdDgxNzNfdnA4X3BkYXRhID0gew0KPiA+ ICsgICAgICAgLmNoaXAgPSBNVEtfTVQ4MTczLA0KPiA+ICsgICAgICAgLm5hbWUgPSBNVEtfVkVO Q19WUDhfTkFNRSwNCj4gPiArICAgICAgIC5jYXB0dXJlX2Zvcm1hdHMgPSBtdGtfdmlkZW9fZm9y bWF0c19jYXB0dXJlX210ODE3M192cDgsDQo+ID4gKyAgICAgICAubnVtX2NhcHR1cmVfZm9ybWF0 cyA9IDEsDQo+IA0KPiBTYW1lIGhlcmUsIEFSUkFZX1NJWkUobXRrX3ZpZGVvX2Zvcm1hdHNfY2Fw dHVyZV9tdDgxNzNfdnA4KQ0KPiANCj4gPiArICAgICAgIC5vdXRwdXRfZm9ybWF0cyA9IG10a192 aWRlb19mb3JtYXRzX291dHB1dF9tdDgxNzMsDQo+ID4gKyAgICAgICAubnVtX291dHB1dF9mb3Jt YXRzID0gQVJSQVlfU0laRShtdGtfdmlkZW9fZm9ybWF0c19vdXRwdXRfbXQ4MTczKSwNCj4gPiAr ICAgICAgIC5taW5fYml0cmF0ZSA9IDY0LA0KPiA+ICAgICAgICAgLm1heF9iaXRyYXRlID0gNDAw MDAwMCwNCj4gPiArICAgICAgIC5jb3JlX2lkID0gVkVOQ19MVF9TWVMsDQo+ID4gIH07DQo+ID4N Cj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSBtdDgxODNfcGRh dGEgPSB7DQo+ID4gICAgICAgICAuY2hpcCA9IE1US19NVDgxODMsDQo+ID4gLSAgICAgICAuaGFz X2x0X2lycSA9IGZhbHNlLA0KPiA+ICsgICAgICAgLm5hbWUgPSBNVEtfVkNPREVDX0VOQ19OQU1F LA0KPiA+ICAgICAgICAgLnVzZXNfZXh0ID0gdHJ1ZSwNCj4gPiAgICAgICAgIC5jYXB0dXJlX2Zv cm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJlX210ODE4MywNCj4gPiAgICAgICAgIC5u dW1fY2FwdHVyZV9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJl X210ODE4MyksDQo+ID4gQEAgLTQ1MSwxMCArNDIyLDE0IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg bXRrX3Zjb2RlY19lbmNfcGRhdGEgbXQ4MTgzX3BkYXRhID0gew0KPiA+ICAgICAgICAgLm51bV9v dXRwdXRfZm9ybWF0cyA9IEFSUkFZX1NJWkUobXRrX3ZpZGVvX2Zvcm1hdHNfb3V0cHV0X210ODE3 MyksDQo+ID4gICAgICAgICAubWluX2JpdHJhdGUgPSA2NCwNCj4gPiAgICAgICAgIC5tYXhfYml0 cmF0ZSA9IDQwMDAwMDAwLA0KPiA+ICsgICAgICAgLmNvcmVfaWQgPSBWRU5DX1NZUywNCj4gPiAg fTsNCj4gPg0KPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBtdGtfdmNvZGVj X2VuY19tYXRjaFtdID0gew0KPiA+IC0gICAgICAgey5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10 ODE3My12Y29kZWMtZW5jIiwgLmRhdGEgPSAmbXQ4MTczX3BkYXRhfSwNCj4gPiArICAgICAgIHsu Y29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtdmNvZGVjLWF2Yy1lbmMiLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgIC5kYXRhID0gJm10ODE3M19hdmNfcGRhdGF9LA0KPiANCj4gRm9y IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgbGV0J3MgYWxzbyBtYXRjaA0KPiAibWVkaWF0ZWssbXQ4 MTczLXZjb2RlYy1lbmMiIGFnYWluc3QgdGhpcyBwbGF0Zm9ybSBkYXRhLg0KPiANCj4gDQo+ID4g KyAgICAgICB7LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLXZjb2RlYy12cDgtZW5jIiwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAuZGF0YSA9ICZtdDgxNzNfdnA4X3BkYXRhfSwN Cj4gPiAgICAgICAgIHsuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxODMtdmNvZGVjLWVuYyIs IC5kYXRhID0gJm10ODE4M19wZGF0YX0sDQo+ID4gICAgICAgICB7fSwNCj4gPiAgfTsNCj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNf ZW5jX3BtLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19l bmNfcG0uYw0KPiA+IGluZGV4IDNiN2M1NGQ2YWE4Zi4uMWIyZTQ5MzBlZDI3IDEwMDY0NA0KPiA+ IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuY19w bS5jDQo+ID4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29k ZWNfZW5jX3BtLmMNCj4gPiBAQCAtNDMsMjMgKzQzLDYgQEAgaW50IG10a192Y29kZWNfaW5pdF9l bmNfcG0oc3RydWN0IG10a192Y29kZWNfZGV2ICptdGtkZXYpDQo+ID4gICAgICAgICAgICAgICAg IHJldHVybiAtRU5PREVWOw0KPiA+ICAgICAgICAgfQ0KPiA+ICAgICAgICAgcG0tPmxhcmJ2ZW5j ID0gJnBkZXYtPmRldjsNCj4gPiAtDQo+ID4gLSAgICAgICBub2RlID0gb2ZfcGFyc2VfcGhhbmRs ZShkZXYtPm9mX25vZGUsICJtZWRpYXRlayxsYXJiIiwgMSk7DQo+ID4gLSAgICAgICBpZiAoIW5v ZGUpIHsNCj4gPiAtICAgICAgICAgICAgICAgbXRrX3Y0bDJfZXJyKCJubyBtZWRpYXRlayxsYXJi IGZvdW5kIik7DQo+ID4gLSAgICAgICAgICAgICAgIHJldCA9IC1FTk9ERVY7DQo+ID4gLSAgICAg ICAgICAgICAgIGdvdG8gcHV0X2xhcmJ2ZW5jOw0KPiA+IC0gICAgICAgfQ0KPiA+IC0NCj4gPiAt ICAgICAgIHBkZXYgPSBvZl9maW5kX2RldmljZV9ieV9ub2RlKG5vZGUpOw0KPiA+IC0gICAgICAg b2Zfbm9kZV9wdXQobm9kZSk7DQo+ID4gLSAgICAgICBpZiAoIXBkZXYpIHsNCj4gPiAtICAgICAg ICAgICAgICAgbXRrX3Y0bDJfZXJyKCJubyBtZWRpYXRlayxsYXJiIGRldmljZSBmb3VuZCIpOw0K PiA+IC0gICAgICAgICAgICAgICByZXQgPSAtRU5PREVWOw0KPiA+IC0gICAgICAgICAgICAgICBn b3RvIHB1dF9sYXJidmVuYzsNCj4gPiAtICAgICAgIH0NCj4gPiAtDQo+ID4gLSAgICAgICBwbS0+ bGFyYnZlbmNsdCA9ICZwZGV2LT5kZXY7DQo+ID4gICAgICAgICBwZGV2ID0gbXRrZGV2LT5wbGF0 X2RldjsNCj4gPiAgICAgICAgIHBtLT5kZXYgPSAmcGRldi0+ZGV2Ow0KPiA+DQo+ID4gQEAgLTcx LDEyICs1NCwxMiBAQCBpbnQgbXRrX3Zjb2RlY19pbml0X2VuY19wbShzdHJ1Y3QgbXRrX3Zjb2Rl Y19kZXYgKm10a2RldikNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICBHRlBfS0VSTkVMKTsN Cj4gPiAgICAgICAgICAgICAgICAgaWYgKCFlbmNfY2xrLT5jbGtfaW5mbykgew0KPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgIHJldCA9IC1FTk9NRU07DQo+ID4gLSAgICAgICAgICAgICAgICAg ICAgICAgZ290byBwdXRfbGFyYnZlbmNsdDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBn b3RvIHB1dF9sYXJidmVuYzsNCj4gPiAgICAgICAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgfSBl bHNlIHsNCj4gPiAgICAgICAgICAgICAgICAgbXRrX3Y0bDJfZXJyKCJGYWlsZWQgdG8gZ2V0IHZl bmMgY2xvY2sgY291bnQiKTsNCj4gPiAgICAgICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsNCj4g PiAtICAgICAgICAgICAgICAgZ290byBwdXRfbGFyYnZlbmNsdDsNCj4gPiArICAgICAgICAgICAg ICAgZ290byBwdXRfbGFyYnZlbmM7DQo+ID4gICAgICAgICB9DQo+ID4NCj4gPiAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCBlbmNfY2xrLT5jbGtfbnVtOyBpKyspIHsNCj4gPiBAQCAtODUsNyArNjgs NyBAQCBpbnQgbXRrX3Zjb2RlY19pbml0X2VuY19wbShzdHJ1Y3QgbXRrX3Zjb2RlY19kZXYgKm10 a2RldikNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAiY2xvY2stbmFtZXMiLCBpLCAmY2xr X2luZm8tPmNsa19uYW1lKTsNCj4gPiAgICAgICAgICAgICAgICAgaWYgKHJldCkgew0KPiA+ICAg ICAgICAgICAgICAgICAgICAgICAgIG10a192NGwyX2VycigidmVuYyBmYWlsZWQgdG8gZ2V0IGNs ayBuYW1lICVkIiwgaSk7DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgZ290byBwdXRfbGFy YnZlbmNsdDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHB1dF9sYXJidmVuYzsN Cj4gPiAgICAgICAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgICAgICAgICBjbGtfaW5mby0+dmNv ZGVjX2NsayA9IGRldm1fY2xrX2dldCgmcGRldi0+ZGV2LA0KPiA+ICAgICAgICAgICAgICAgICAg ICAgICAgIGNsa19pbmZvLT5jbGtfbmFtZSk7DQo+ID4gQEAgLTkzLDE0ICs3NiwxMiBAQCBpbnQg bXRrX3Zjb2RlY19pbml0X2VuY19wbShzdHJ1Y3QgbXRrX3Zjb2RlY19kZXYgKm10a2RldikNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICBtdGtfdjRsMl9lcnIoInZlbmMgZGV2bV9jbGtfZ2V0 ICglZCklcyBmYWlsIiwgaSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs a19pbmZvLT5jbGtfbmFtZSk7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gUFRS X0VSUihjbGtfaW5mby0+dmNvZGVjX2Nsayk7DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAg Z290byBwdXRfbGFyYnZlbmNsdDsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHB1 dF9sYXJidmVuYzsNCj4gPiAgICAgICAgICAgICAgICAgfQ0KPiA+ICAgICAgICAgfQ0KPiA+DQo+ ID4gICAgICAgICByZXR1cm4gMDsNCj4gPg0KPiA+IC1wdXRfbGFyYnZlbmNsdDoNCj4gPiAtICAg ICAgIHB1dF9kZXZpY2UocG0tPmxhcmJ2ZW5jbHQpOw0KPiA+ICBwdXRfbGFyYnZlbmM6DQo+ID4g ICAgICAgICBwdXRfZGV2aWNlKHBtLT5sYXJidmVuYyk7DQo+ID4gICAgICAgICByZXR1cm4gcmV0 Ow0KPiA+IEBAIC0xMDgsNyArODksNyBAQCBpbnQgbXRrX3Zjb2RlY19pbml0X2VuY19wbShzdHJ1 Y3QgbXRrX3Zjb2RlY19kZXYgKm10a2RldikNCj4gPg0KPiA+ICB2b2lkIG10a192Y29kZWNfcmVs ZWFzZV9lbmNfcG0oc3RydWN0IG10a192Y29kZWNfZGV2ICptdGtkZXYpDQo+ID4gIHsNCj4gPiAt ICAgICAgIHB1dF9kZXZpY2UobXRrZGV2LT5wbS5sYXJidmVuY2x0KTsNCj4gPiArICAgICAgIHBt X3J1bnRpbWVfZGlzYWJsZShtdGtkZXYtPnBtLmRldik7DQo+ID4gICAgICAgICBwdXRfZGV2aWNl KG10a2Rldi0+cG0ubGFyYnZlbmMpOw0KPiA+ICB9DQo+ID4NCj4gPiBAQCAtMTMwLDE4ICsxMTEs MTAgQEAgdm9pZCBtdGtfdmNvZGVjX2VuY19jbG9ja19vbihzdHJ1Y3QgbXRrX3Zjb2RlY19wbSAq cG0pDQo+ID4gICAgICAgICByZXQgPSBtdGtfc21pX2xhcmJfZ2V0KHBtLT5sYXJidmVuYyk7DQo+ ID4gICAgICAgICBpZiAocmV0KSB7DQo+ID4gICAgICAgICAgICAgICAgIG10a192NGwyX2Vycigi bXRrX3NtaV9sYXJiX2dldCBsYXJiMyBmYWlsICVkIiwgcmV0KTsNCj4gPiAtICAgICAgICAgICAg ICAgZ290byBsYXJidmVuY2VycjsNCj4gPiAtICAgICAgIH0NCj4gPiAtICAgICAgIHJldCA9IG10 a19zbWlfbGFyYl9nZXQocG0tPmxhcmJ2ZW5jbHQpOw0KPiA+IC0gICAgICAgaWYgKHJldCkgew0K PiA+IC0gICAgICAgICAgICAgICBtdGtfdjRsMl9lcnIoIm10a19zbWlfbGFyYl9nZXQgbGFyYjQg ZmFpbCAlZCIsIHJldCk7DQo+ID4gLSAgICAgICAgICAgICAgIGdvdG8gbGFyYnZlbmNsdGVycjsN Cj4gPiArICAgICAgICAgICAgICAgZ290byBjbGtlcnI7DQo+ID4gICAgICAgICB9DQo+ID4gICAg ICAgICByZXR1cm47DQo+ID4NCj4gPiAtbGFyYnZlbmNsdGVycjoNCj4gPiAtICAgICAgIG10a19z bWlfbGFyYl9wdXQocG0tPmxhcmJ2ZW5jKTsNCj4gPiAtbGFyYnZlbmNlcnI6DQo+ID4gIGNsa2Vy cjoNCj4gPiAgICAgICAgIGZvciAoaSAtPSAxOyBpID49IDA7IGktLSkNCj4gPiAgICAgICAgICAg ICAgICAgY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVuY19jbGstPmNsa19pbmZvW2ldLnZjb2RlY19j bGspOw0KPiA+IEBAIC0xNTMsNyArMTI2LDYgQEAgdm9pZCBtdGtfdmNvZGVjX2VuY19jbG9ja19v ZmYoc3RydWN0IG10a192Y29kZWNfcG0gKnBtKQ0KPiA+ICAgICAgICAgaW50IGkgPSAwOw0KPiA+ DQo+ID4gICAgICAgICBtdGtfc21pX2xhcmJfcHV0KHBtLT5sYXJidmVuYyk7DQo+ID4gLSAgICAg ICBtdGtfc21pX2xhcmJfcHV0KHBtLT5sYXJidmVuY2x0KTsNCj4gPiAgICAgICAgIGZvciAoaSA9 IGVuY19jbGstPmNsa19udW0gLSAxOyBpID49IDA7IGktLSkNCj4gPiAgICAgICAgICAgICAgICAg Y2xrX2Rpc2FibGVfdW5wcmVwYXJlKGVuY19jbGstPmNsa19pbmZvW2ldLnZjb2RlY19jbGspOw0K PiA+ICB9DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2Rl Yy92ZW5jL3ZlbmNfdnA4X2lmLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMv dmVuYy92ZW5jX3ZwOF9pZi5jDQo+ID4gaW5kZXggMTFhYmIxOTFhZGE1Li44MjY3YTljNGZkMjUg MTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL3ZlbmMv dmVuY192cDhfaWYuYw0KPiA+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2Rl Yy92ZW5jL3ZlbmNfdnA4X2lmLmMNCj4gPiBAQCAtMzY3LDcgKzM2Nyw3IEBAIHN0YXRpYyBpbnQg dnA4X2VuY19lbmNvZGUodm9pZCAqaGFuZGxlLA0KPiA+DQo+ID4gICAgICAgICBtdGtfdmNvZGVj X2RlYnVnX2VudGVyKGluc3QpOw0KPiA+DQo+ID4gLSAgICAgICBlbmFibGVfaXJxKGN0eC0+ZGV2 LT5lbmNfbHRfaXJxKTsNCj4gPiArICAgICAgIGVuYWJsZV9pcnEoY3R4LT5kZXYtPmVuY19pcnEp Ow0KPiA+DQo+ID4gICAgICAgICBzd2l0Y2ggKG9wdCkgew0KPiA+ICAgICAgICAgY2FzZSBWRU5D X1NUQVJUX09QVF9FTkNPREVfRlJBTUU6DQo+ID4gQEAgLTM4Niw3ICszODYsNyBAQCBzdGF0aWMg aW50IHZwOF9lbmNfZW5jb2RlKHZvaWQgKmhhbmRsZSwNCj4gPg0KPiA+ICBlbmNvZGVfZXJyOg0K PiA+DQo+ID4gLSAgICAgICBkaXNhYmxlX2lycShjdHgtPmRldi0+ZW5jX2x0X2lycSk7DQo+ID4g KyAgICAgICBkaXNhYmxlX2lycShjdHgtPmRldi0+ZW5jX2lycSk7DQo+ID4gICAgICAgICBtdGtf dmNvZGVjX2RlYnVnX2xlYXZlKGluc3QpOw0KPiA+DQo+ID4gICAgICAgICByZXR1cm4gcmV0Ow0K PiA+IC0tDQo+ID4gMi4xOC4wDQo+ID4NCg0K