Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp4306667ybe; Mon, 9 Sep 2019 07:26:45 -0700 (PDT) X-Google-Smtp-Source: APXvYqz3XjnfqcgripIFzcMcOBJdpvPpSDRr1tO6VaptY9ddZg/b4VyxOxQYfzYwukE7ePG+KRft X-Received: by 2002:a17:906:938f:: with SMTP id l15mr19235826ejx.225.1568039205454; Mon, 09 Sep 2019 07:26:45 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1568039205; cv=pass; d=google.com; s=arc-20160816; b=jz+eu/fxwXM2r71oMRYBKDeknhwL0JUT9uTBGacluE1rmZbaRivGbUqD/ouNgi56PS 8rjqFoKJ7VbapCsgsTZCt6pqStq+9y5jr1BQ3VPIwVr1g5E9M7ogZ2xk8WnzUqBgbCO6 gW5pOED/UvZkER9NaeAY0jscBDKyrek0CabuQvrXesAIXagca9UatBfADZ6rv4wmltPL 2VViz5SAKqiYpQ+l0LP6oQZp/pwBNiglpTmVwTIBoP9HyISWGVmtAvxgHx/Wx3lbc3w5 5kQMfbKkPfXCRkPPTu4pkY2dYicl9lRJnbvuOOtki6vx2bvGOvY9nIs8RwN0ISqWkbyV 2cWw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=CZY7t20wS9fgNKgDxpPnuxsrNyjvW/NBOBP4vN/FbDk=; b=Bauwn2uJANeQTaTp/OrcgmBC+Uxl+XfaLgnGtxlUpQHO/TH1igT8iT4EJ9CmV2U65M zytE4GM9uFGQ9YtyjZTnoloLxS1cUXQNrl+1KQdKZ7JyXw/RmXXopg2lSObM8VN82Pp1 lcXavsowM4xQyx57p3+DarZgPxNC+kDX1qzl/47nX3LkK7WyDIMm8uayZiNgHe1LFvWt Nq8Bu0sxn3CZ//DK1NkLJAXQHGjAI9JX9KKv9iLCjy6sgN0xZUTObXKFifwZ0xocIcrv tBM8yAWCY03rT7JdD0/U9Asqs/2xlb/LP+EWKdMXIyhRaDuXKAFjuTaQPD05t9EElgkH hf5A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@analog.onmicrosoft.com header.s=selector2-analog-onmicrosoft-com header.b=iNHGKJwA; arc=pass (i=1 spf=pass spfdomain=analog.com dkim=pass dkdomain=analog.com dmarc=pass fromdomain=analog.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j38si9545154ede.374.2019.09.09.07.26.21; Mon, 09 Sep 2019 07:26:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@analog.onmicrosoft.com header.s=selector2-analog-onmicrosoft-com header.b=iNHGKJwA; arc=pass (i=1 spf=pass spfdomain=analog.com dkim=pass dkdomain=analog.com dmarc=pass fromdomain=analog.com); spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727240AbfIIFyQ (ORCPT + 99 others); Mon, 9 Sep 2019 01:54:16 -0400 Received: from mx0a-00128a01.pphosted.com ([148.163.135.77]:54502 "EHLO mx0a-00128a01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727181AbfIIFyQ (ORCPT ); Mon, 9 Sep 2019 01:54:16 -0400 Received: from pps.filterd (m0167089.ppops.net [127.0.0.1]) by mx0a-00128a01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x895rJh5018382; Mon, 9 Sep 2019 01:53:39 -0400 Received: from nam05-co1-obe.outbound.protection.outlook.com (mail-co1nam05lp2053.outbound.protection.outlook.com [104.47.48.53]) by mx0a-00128a01.pphosted.com with ESMTP id 2uv9f66rxf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 09 Sep 2019 01:53:39 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y15CXaIPtJP6NeXq/NNBACpBttoOVawlAf1MeRgHoqo6VS/2RZG2epCMlxbCB0+ZojNS2GMzWUsiRV8o8WBLN9ilHSqRfEnTIeXyBtX9bGk4spfzaUfTciZ/1dt6ml1FSpmaRCJo5WB0wC+areYRS+WacZyl7GUk6ydmf66YnB5FkRLlIgsrpZoceGQg5rawD5d/cCGOHon6XerH3miJs163l5datkOBifyqdKbRNnaSrFtbF5Lvi+uhjWoEmL9Vryg5ZOrF60TvVJEhjI4LOzDaXeRsqmp1zybD3mb2spVMS42bcgtGX7e9AZOuTO/b0D12Gk6VGwi6hTbbByTdIQ== 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=CZY7t20wS9fgNKgDxpPnuxsrNyjvW/NBOBP4vN/FbDk=; b=gGXXRk8pVFCA/jW+PnP6kuj06DRegXO1UhlJIwobJ4W7nQQwZaJut4abzTs7+5HoE0xqr8xrz00VJArNBQ+glVgKCBCUWYQ4vNwtuJzpiB18HIPFlGQMtd/Xtbojizp12pe3KBDDHZ9r7y0C44ZlQrmDIvDHsCFAvq8YwK3VVBk8POHC0jFXdTxyeIB0oJgzVqVIqIDjrJeAOWRriYCtFeQvpzheCKxZggJdP7z4TMU1jeD4K9utRWuD35tfAiXnIU8EdGFVrrxv52WOyJxFiJj22DS7YzgCuPCzDeiLncQLNnlJtSxaQUUgN0LZ/3P3MYxBynMXpY/I/7eFztRNng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=analog.com; dmarc=pass action=none header.from=analog.com; dkim=pass header.d=analog.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=analog.onmicrosoft.com; s=selector2-analog-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CZY7t20wS9fgNKgDxpPnuxsrNyjvW/NBOBP4vN/FbDk=; b=iNHGKJwAHaR2kb28VdFlNhL4UswMdeP9p/uLFZrQZkMT4BPeKFQpw2LlLwvvDmqhT4SW1ewYHDQZqMC8x3QYs3ZGfau33IuP19HSMB9seUAvwkKNY93TCm6BZeytBun9MTi/sCKku7PirSF6CxTjesqGaliAe8Axuh5+Ymg4pkM= Received: from CH2PR03MB5192.namprd03.prod.outlook.com (20.180.12.152) by CH2PR03MB5301.namprd03.prod.outlook.com (20.180.15.211) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2241.15; Mon, 9 Sep 2019 05:53:36 +0000 Received: from CH2PR03MB5192.namprd03.prod.outlook.com ([fe80::344d:7f50:49a3:db1b]) by CH2PR03MB5192.namprd03.prod.outlook.com ([fe80::344d:7f50:49a3:db1b%3]) with mapi id 15.20.2241.018; Mon, 9 Sep 2019 05:53:36 +0000 From: "Ardelean, Alexandru" To: "jic23@kernel.org" CC: "kernel-usp@googlegroups.com" , "linux-iio@vger.kernel.org" , "pmeerw@pmeerw.net" , "knaack.h@gmx.de" , "Hennerich, Michael" , "linux-kernel@vger.kernel.org" , "Popa, Stefan Serban" , "rodrigorsdc@gmail.com" , "lars@metafoo.de" Subject: Re: [PATCH 2/2] staging: iio: accel: adis16240: move out of staging Thread-Topic: [PATCH 2/2] staging: iio: accel: adis16240: move out of staging Thread-Index: AQHVYSnZFCWG9VNqVkWJw952NEF21acYYZmAgAlHuoCAATouAA== Date: Mon, 9 Sep 2019 05:53:35 +0000 Message-ID: <4b20e66b44a113af6a2dfff5cb5592979b918101.camel@analog.com> References: <20190902005938.7734-1-rodrigorsdc@gmail.com> <20190902005938.7734-2-rodrigorsdc@gmail.com> <5cd4ad2f84280d8567d8c82e745a3189cecbde49.camel@analog.com> <20190908120905.4a1ffedc@archlinux> In-Reply-To: <20190908120905.4a1ffedc@archlinux> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [137.71.226.54] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 50914373-c219-4221-aac0-08d734ea0e25 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600166)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:CH2PR03MB5301; x-ms-traffictypediagnostic: CH2PR03MB5301: x-ld-processed: eaa689b4-8f87-40e0-9c6f-7228de4d754a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 01559F388D x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(136003)(39860400002)(346002)(376002)(366004)(396003)(51914003)(189003)(199004)(66946007)(2501003)(54906003)(91956017)(76116006)(66476007)(3846002)(14454004)(66556008)(6116002)(99286004)(2906002)(64756008)(66446008)(7736002)(8676002)(305945005)(316002)(478600001)(2351001)(14444005)(86362001)(71200400001)(71190400001)(256004)(118296001)(6506007)(81156014)(66066001)(81166006)(486006)(6436002)(186003)(5640700003)(102836004)(53946003)(6512007)(11346002)(476003)(4326008)(26005)(76176011)(229853002)(30864003)(8936002)(25786009)(5660300002)(2616005)(36756003)(6246003)(53936002)(6916009)(446003)(6486002)(579004);DIR:OUT;SFP:1101;SCL:1;SRVR:CH2PR03MB5301;H:CH2PR03MB5192.namprd03.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: analog.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: AFxlHFN4uOPzUbt6iXq4E0B0NH+5hc1U3oE7519+azmYqgMaQGrn+qsWig0xy6sBdMEPa/yYy9KNMThrcOQ6yeimRO9kf2UPN4K1XH401laLLYBuzhu8mk/3K51NrN7m006GljrvlxYRmboldo7UUK3RqdRKiKTx7SakSVhLPXodwehIeuVnAQo7A0evLAuoXPKTJ4XZrENVxk/swpRsS9mqLPJrjIkrOijst7PBGO5hd59hi0Ga1KmOlx1tuWdV0Pdb9uNy/J/tLCLwGuJNCcSJZwz8P4H0JSBE954lpvdoiHmj8HkxAEozvMdXFfPzXE9tuF9b2TNm6Kv2+R86vxVz+aOnCA4WT199GT4yfLA8ht9guzQAneng6xY8WBHIUFCVf0Q2vkJ3WiMlQh0X7XgvpT/SD9gSxNyzk4I+dNw= Content-Type: text/plain; charset="utf-8" Content-ID: <70C4CA2FD1C9A043832BF12A95EBA5AF@namprd03.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-Network-Message-Id: 50914373-c219-4221-aac0-08d734ea0e25 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2019 05:53:35.7093 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SRhm0rD3VJvAIbn6bCctAo+GwdzRx4FGyv+DWiBqzomV9lg5p5qtXhrUHOziASyF5yt4E26QAbyxpqq66Dg9/vdT+CjI5xwzfUp4e4TeSQU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5301 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.70,1.0.8 definitions=2019-09-09_04:2019-09-08,2019-09-09 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 suspectscore=0 spamscore=0 adultscore=0 phishscore=0 mlxscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 mlxlogscore=999 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1906280000 definitions=main-1909090065 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gU3VuLCAyMDE5LTA5LTA4IGF0IDEyOjA5ICswMTAwLCBKb25hdGhhbiBDYW1lcm9uIHdyb3Rl Og0KPiBPbiBNb24sIDIgU2VwIDIwMTkgMTM6MjY6MDIgKzAwMDANCj4gIkFyZGVsZWFuLCBBbGV4 YW5kcnUiIDxhbGV4YW5kcnUuQXJkZWxlYW5AYW5hbG9nLmNvbT4gd3JvdGU6DQo+IA0KPiA+IE9u IFN1biwgMjAxOS0wOS0wMSBhdCAyMTo1OSAtMDMwMCwgUm9kcmlnbyBDYXJ2YWxobyB3cm90ZToN Cj4gPiA+IE1vdmUgQURJUzE2MjQwIGRyaXZlciBmcm9tIHN0YWdpbmcgdG8gbWFpbmxpbmUuDQo+ ID4gPiANCj4gPiA+IFRoZSBBRElTMTYyNDAgaXMgYSBmdWxseSBpbnRlZ3JhdGVkIGRpZ2l0YWwg c2hvY2sgZGV0ZWN0aW9uDQo+ID4gPiBhbmQgcmVjb3JkZXIgc3lzdGVtLiAgDQo+ID4gDQo+ID4g SGV5LA0KPiA+IA0KPiA+IENvbW1lbnRzIGlubGluZS4NCj4gPiANCj4gPiBJJ2xsIHByb2JhYmx5 IHRha2UgYSBsb29rIGluIHRoZSBuZXh0IGRheXMgYWdhaW4uDQo+ID4gVGhlcmUgc2VlbSB0byBi ZSBzb21lIEFCSS9zeXNmcyBhdHRyaWJ1dGVzIHRoYXQgbmVlZCB0byBiZSByZXNvbHZlZCBiZWZv cmUgbW92aW5nIHRoaXMgb3V0IG9mIHN0YWdpbmcuDQo+IA0KPiBBYnNvbHV0ZWx5LiBJdCBpcyBh ICduZXcnIHR5cGUgb2YgZGV2aWNlIHNvIHRoZXJlIGFyZSBkZWZpbml0ZWx5IHNvbWUNCj4gY29y bmVycyB0aGF0IG5lZWQgZGlzY3Vzc2luZyBiZWZvcmUgd2UgbW92ZSBvdXQgb2Ygc3RhZ2luZyBh bmQgY29tbWl0DQo+IHRvIG1haW50YWluaW5nIHRoZSBBQkkgbW92aW5nIGZvcndhcmRzLg0KPiAN Cj4gVGhhdCBpcyB0aGUgcmVhbCByZWFzb24gdGhpcyBkcml2ZXIgd2FzIHN0aWxsIGluIHN0YWdp bmchICBObyBvbmUNCj4gaGFkIGJlZW4gdGhyb3VnaCB0aGUgcHJvY2VzcyBvZiBwcm9wb3Npbmcg dGhlIEFCSSBhbmQgcmVzcG9uZGluZyB0bw0KPiBxdWVzdGlvbnMgZXRjLg0KPiANCj4gVGhlIGlz c3VlIHdpdGggaW1wYWN0IHNlbnNvcnMgaGFzIGFsd2F5cyBiZWVuIHRoYXQgdGhleSBkb24ndCBy ZWFsbHkgZml0DQo+IG91ciBub3JtYWwgbW9kZWwgZm9yIGJ1ZmZlcnMgb3IgdHJpZ2dlcnMuDQo+ IA0KPiBTbyBub3JtYWxseSBhIHRyaWdnZXIgKGlmIGV4cG9zZWQgaW4gSUlPKSBpcyB1c2VkIGFz IG9uZSB0cmlnZ2VyDQo+IGNhdXNlcyAxIHNldCBvZiBzYW1wbGVzIChzbyBsaWtlIGEgZnJhbWUg dHJpZ2dlciBmb3IgYSBjYW1lcmEpLg0KPiANCj4gVGhlc2UgZGV2aWNlcyB0ZW5kIHRvIHdvcmsg aW4gYSBtb2RlIHdoZXJlIG9uZSB0cmlnZ2VyIGNhdXNlcyBkYXRhDQo+IHRvIGJlIGNhcHR1cmVk IGZvciBhIHBlcmlvZCBvZiB0aW1lLiAgSW4gdGhpcyBwYXJ0IHRoYXQncyB0aGUgZXZlbnQNCj4g cmVjb3JkZXIgZnVuY3Rpb24NCj4gDQo+IE5vIG9uZSBpcyByZWFsaXN0aWNhbGx5IGdvaW5nIHRv IGJ1eSBhbiBpbXBhY3Qgc2Vuc29yIHRvIGp1c3QgdXNlIGl0DQo+IGFzIGFuIGFjY2VsZXJvbWV0 ZXIgd2hpY2ggaXMgd2hhdCB0aGlzIGRyaXZlciBpcyBjdXJyZW50bHkgZG9pbmcuDQo+IEkgc3Vw cG9zZSB3ZSBjb3VsZCBqdXN0IGxlYXZlIHN1cHBvcnQgaW4gdGhhdCBmb3JtIGZvciBub3csIGJ1 dA0KPiBJJ20gbm8gc3VyZSBob3cgbXVjaCB1c2UgaXQgaXMgdG8gYW55b25lLg0KPiANCj4gQW5h bG9nIERldmljZXMgcGVvcGxlLCB3b3J0aCB3b3JraW5nIG91dCBob3cgdG8gc3VwcG9ydCB0aGUg ZXZlbnQNCj4gcmVjb3JkZXI/ICBGb3IgdGhhdCBzb21lb25lIG5lZWRzIHRvIGhhdmUgaGFyZHdh cmUgYXMgaXQgaXMgY29tcGxleA0KPiB0byBzYXkgdGhlIGxlYXN0IQ0KDQpXb3J0aCBpdDogeWVz Lg0KQnV0IHdlIGRvbid0IGhhdmUgYW55IHJlc291cmNlcyB0byBhbGxvY2F0ZSBmb3IgdGhpcyBb YXQgdGhpcyBwb2ludCBpbiB0aW1lXS4NCg0KPiANCj4gV2UgY291bGQgbW92ZSBpdCBvdXQgYnV0 IG1pZ2h0IGJlIHdvcnRoIGFkZGluZyBhIGNvbW1lbnQgc29tZXdoZXJlDQo+IHNheWluZyB0aGlz IG9ubHkgcmVhbGx5IHN1cHBvcnRzIGRpcmVjdCBhY2Nlc3MgdG8gY2hhbm5lbHMsIGFuZA0KPiBu b3QgdGhlIGV2ZW50IHJlY29yZGVyIGZ1bmN0aW9uYWxpdHkuDQo+IA0KDQpJIGd1ZXNzLCBJIHdv dWxkIHZvdGUgZm9yIGxlYXZpbmcgaXQgaW4gc3RhZ2luZy4NCkl0J3MgYWxzbyBhIHdheSB0byBt YXJrIGl0IGFzIGEgd29yay1pbi1wcm9ncmVzcy9ub3QtZG9uZS9zdGlsbC1uZWVkcy1zb21ldGhp bmcga2luZCBvZiB0aGluZy4NCklmIHdlIG1vdmUgaXQgbm93LCBpdCBnZXRzIHRoZSBzdGF0dXMg b2YgImV2ZXJ5dGhpbmctcmVzb2x2ZWQiIHdoaWNoIGlzIG5vdCB5ZXQgdGhlIGNhc2UuDQoNClRo YW5rcyBmb3IgdGhlIGluc2lnaHQvYmFja2dyb3VuZCBpbmZvLg0KTXVjaCBvZiBpdCB3YXMgZGlz Y3Vzc2VkIGJlZm9yZSBteSB0aW1lLg0KDQo+IA0KPiBKb25hdGhhbg0KDQpBbGV4DQoNCj4gDQo+ IA0KPiA+ID4gU2lnbmVkLW9mZi1ieTogUm9kcmlnbyBSaWJlaXJvIENhcnZhbGhvIDxyb2RyaWdv cnNkY0BnbWFpbC5jb20+DQo+ID4gPiAtLS0NCj4gPiA+ICBkcml2ZXJzL2lpby9hY2NlbC9LY29u ZmlnICAgICAgICAgICAgIHwgIDEyICsNCj4gPiA+ICBkcml2ZXJzL2lpby9hY2NlbC9NYWtlZmls ZSAgICAgICAgICAgIHwgICAxICsNCj4gPiA+ICBkcml2ZXJzL2lpby9hY2NlbC9hZGlzMTYyNDAu YyAgICAgICAgIHwgNDU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gPiAgZHJpdmVy cy9zdGFnaW5nL2lpby9hY2NlbC9LY29uZmlnICAgICB8ICAxMiAtDQo+ID4gPiAgZHJpdmVycy9z dGFnaW5nL2lpby9hY2NlbC9NYWtlZmlsZSAgICB8ICAgMSAtDQo+ID4gPiAgZHJpdmVycy9zdGFn aW5nL2lpby9hY2NlbC9hZGlzMTYyNDAuYyB8IDQ1NCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiA+ID4gIDYgZmlsZXMgY2hhbmdlZCwgNDY3IGluc2VydGlvbnMoKyksIDQ2NyBkZWxldGlv bnMoLSkNCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9paW8vYWNjZWwvYWRpczE2 MjQwLmMNCj4gPiA+ICBkZWxldGUgbW9kZSAxMDA2NDQgZHJpdmVycy9zdGFnaW5nL2lpby9hY2Nl bC9hZGlzMTYyNDAuYyAgDQo+ID4gDQo+ID4gTG9va3MgbGlrZSBNQUlOVEFJTkVSUyBmaWxlIGFs c28gbmVlZHMgdG8gYmUgdXBkYXRlZCwgYWxzbyB3aXRoIHRoZSBEVCBiaW5kaW5ncyBmaWxlLg0K PiA+IEkgdGhpbmsgY2hlY2twYXRjaCB1c3VhbGx5IGNvbXBsYWlucyBhYm91dCB0aGVzZS4NCj4g PiANCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lpby9hY2NlbC9LY29uZmlnIGIvZHJpdmVy cy9paW8vYWNjZWwvS2NvbmZpZw0KPiA+ID4gaW5kZXggZDRlZjM1YWViNTc5Li45MWZkODc0MWM5 NWYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL2lpby9hY2NlbC9LY29uZmlnDQo+ID4gPiAr KysgYi9kcml2ZXJzL2lpby9hY2NlbC9LY29uZmlnDQo+ID4gPiBAQCAtMzAsNiArMzAsMTggQEAg Y29uZmlnIEFESVMxNjIwOQ0KPiA+ID4gIAkgIFRvIGNvbXBpbGUgdGhpcyBkcml2ZXIgYXMgYSBt b2R1bGUsIHNheSBNIGhlcmU6IHRoZSBtb2R1bGUgd2lsbCBiZQ0KPiA+ID4gIAkgIGNhbGxlZCBh ZGlzMTYyMDkuDQo+ID4gPiAgDQo+ID4gPiArY29uZmlnIEFESVMxNjI0MA0KPiA+ID4gKwl0cmlz dGF0ZSAiQW5hbG9nIERldmljZXMgQURJUzE2MjQwIFByb2dyYW1tYWJsZSBJbXBhY3QgU2Vuc29y IGFuZCBSZWNvcmRlciINCj4gPiA+ICsJZGVwZW5kcyBvbiBTUEkNCj4gPiA+ICsJc2VsZWN0IElJ T19BRElTX0xJQg0KPiA+ID4gKwlzZWxlY3QgSUlPX0FESVNfTElCX0JVRkZFUiBpZiBJSU9fQlVG RkVSDQo+ID4gPiArCWhlbHANCj4gPiA+ICsJICBTYXkgWSBoZXJlIHRvIGJ1aWxkIHN1cHBvcnQg Zm9yIEFuYWxvZyBEZXZpY2VzIGFkaXMxNjI0MCBwcm9ncmFtbWFibGUNCj4gPiA+ICsJICBpbXBh Y3QgU2Vuc29yIGFuZCByZWNvcmRlci4NCj4gPiA+ICsNCj4gPiA+ICsJICBUbyBjb21waWxlIHRo aXMgZHJpdmVyIGFzIGEgbW9kdWxlLCBzYXkgTSBoZXJlOiB0aGUgbW9kdWxlIHdpbGwgYmUNCj4g PiA+ICsJICBjYWxsZWQgYWRpczE2MjQwLg0KPiA+ID4gKwkgIA0KPiA+ID4gIGNvbmZpZyBBRFhM MzQ1DQo+ID4gPiAgCXRyaXN0YXRlDQo+ID4gPiAgDQo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9paW8vYWNjZWwvTWFrZWZpbGUgYi9kcml2ZXJzL2lpby9hY2NlbC9NYWtlZmlsZQ0KPiA+ID4g aW5kZXggNTZiZDAyMTVlMGQ0Li5mN2UwMjVhODZkZDkgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2 ZXJzL2lpby9hY2NlbC9NYWtlZmlsZQ0KPiA+ID4gKysrIGIvZHJpdmVycy9paW8vYWNjZWwvTWFr ZWZpbGUNCj4gPiA+IEBAIC02LDYgKzYsNyBAQA0KPiA+ID4gICMgV2hlbiBhZGRpbmcgbmV3IGVu dHJpZXMga2VlcCB0aGUgbGlzdCBpbiBhbHBoYWJldGljYWwgb3JkZXINCj4gPiA+ICBvYmotJChD T05GSUdfQURJUzE2MjAxKSArPSBhZGlzMTYyMDEubw0KPiA+ID4gIG9iai0kKENPTkZJR19BRElT MTYyMDkpICs9IGFkaXMxNjIwOS5vDQo+ID4gPiArb2JqLSQoQ09ORklHX0FESVMxNjI0MCkgKz0g YWRpczE2MjQwLm8NCj4gPiA+ICBvYmotJChDT05GSUdfQURYTDM0NSkgKz0gYWR4bDM0NV9jb3Jl Lm8NCj4gPiA+ICBvYmotJChDT05GSUdfQURYTDM0NV9JMkMpICs9IGFkeGwzNDVfaTJjLm8NCj4g PiA+ICBvYmotJChDT05GSUdfQURYTDM0NV9TUEkpICs9IGFkeGwzNDVfc3BpLm8NCj4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2lpby9hY2NlbC9hZGlzMTYyNDAuYyBiL2RyaXZlcnMvaWlvL2Fj Y2VsL2FkaXMxNjI0MC5jDQo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+ID4gaW5kZXgg MDAwMDAwMDAwMDAwLi44MjA5OWRiNGJmMGMNCj4gPiA+IC0tLSAvZGV2L251bGwNCj4gPiA+ICsr KyBiL2RyaXZlcnMvaWlvL2FjY2VsL2FkaXMxNjI0MC5jDQo+ID4gPiBAQCAtMCwwICsxLDQ1NCBA QA0KPiA+ID4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wKw0KPiA+ID4gKy8q DQo+ID4gPiArICogQURJUzE2MjQwIFByb2dyYW1tYWJsZSBJbXBhY3QgU2Vuc29yIGFuZCBSZWNv cmRlciBkcml2ZXINCj4gPiA+ICsgKg0KPiA+ID4gKyAqIENvcHlyaWdodCAyMDEwIEFuYWxvZyBE ZXZpY2VzIEluYy4NCj4gPiA+ICsgKi8NCj4gPiA+ICsNCj4gPiA+ICsjaW5jbHVkZSA8bGludXgv aW50ZXJydXB0Lmg+DQo+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2lycS5oPg0KPiA+ID4gKyNpbmNs dWRlIDxsaW51eC9ncGlvLmg+DQo+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQo+ID4g PiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPg0KPiA+ID4gKyNpbmNsdWRlIDxsaW51eC9rZXJu ZWwuaD4NCj4gPiA+ICsjaW5jbHVkZSA8bGludXgvc3BpL3NwaS5oPg0KPiA+ID4gKyNpbmNsdWRl IDxsaW51eC9zbGFiLmg+DQo+ID4gPiArI2luY2x1ZGUgPGxpbnV4L3N5c2ZzLmg+DQo+ID4gPiAr I2luY2x1ZGUgPGxpbnV4L2xpc3QuaD4NCj4gPiA+ICsjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+ DQo+ID4gPiArDQo+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2lpby9paW8uaD4NCj4gPiA+ICsjaW5j bHVkZSA8bGludXgvaWlvL3N5c2ZzLmg+DQo+ID4gPiArI2luY2x1ZGUgPGxpbnV4L2lpby9idWZm ZXIuaD4NCj4gPiA+ICsjaW5jbHVkZSA8bGludXgvaWlvL2ltdS9hZGlzLmg+DQo+ID4gPiArDQo+ ID4gPiArI2RlZmluZSBBRElTMTYyNDBfU1RBUlRVUF9ERUxBWQkyMjAgLyogbXMgKi8NCj4gPiA+ ICsNCj4gPiA+ICsvKiBGbGFzaCBtZW1vcnkgd3JpdGUgY291bnQgKi8NCj4gPiA+ICsjZGVmaW5l IEFESVMxNjI0MF9GTEFTSF9DTlQgICAgICAweDAwDQo+ID4gPiArDQo+ID4gPiArLyogT3V0cHV0 LCBwb3dlciBzdXBwbHkgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9TVVBQTFlfT1VUICAg ICAweDAyDQo+ID4gPiArDQo+ID4gPiArLyogT3V0cHV0LCB4LWF4aXMgYWNjZWxlcm9tZXRlciAq Lw0KPiA+ID4gKyNkZWZpbmUgQURJUzE2MjQwX1hBQ0NMX09VVCAgICAgIDB4MDQNCj4gPiA+ICsN Cj4gPiA+ICsvKiBPdXRwdXQsIHktYXhpcyBhY2NlbGVyb21ldGVyICovDQo+ID4gPiArI2RlZmlu ZSBBRElTMTYyNDBfWUFDQ0xfT1VUICAgICAgMHgwNg0KPiA+ID4gKw0KPiA+ID4gKy8qIE91dHB1 dCwgei1heGlzIGFjY2VsZXJvbWV0ZXIgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9aQUND TF9PVVQgICAgICAweDA4DQo+ID4gPiArDQo+ID4gPiArLyogT3V0cHV0LCBhdXhpbGlhcnkgQURD IGlucHV0ICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfQVVYX0FEQyAgICAgICAgMHgwQQ0K PiA+ID4gKw0KPiA+ID4gKy8qIE91dHB1dCwgdGVtcGVyYXR1cmUgKi8NCj4gPiA+ICsjZGVmaW5l IEFESVMxNjI0MF9URU1QX09VVCAgICAgICAweDBDDQo+ID4gPiArDQo+ID4gPiArLyogT3V0cHV0 LCB4LWF4aXMgYWNjZWxlcmF0aW9uIHBlYWsgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9Y UEVBS19PVVQgICAgICAweDBFDQo+ID4gPiArDQo+ID4gPiArLyogT3V0cHV0LCB5LWF4aXMgYWNj ZWxlcmF0aW9uIHBlYWsgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9ZUEVBS19PVVQgICAg ICAweDEwDQo+ID4gPiArDQo+ID4gPiArLyogT3V0cHV0LCB6LWF4aXMgYWNjZWxlcmF0aW9uIHBl YWsgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9aUEVBS19PVVQgICAgICAweDEyDQo+ID4g PiArDQo+ID4gPiArLyogT3V0cHV0LCBzdW0tb2Ytc3F1YXJlcyBhY2NlbGVyYXRpb24gcGVhayAq Lw0KPiA+ID4gKyNkZWZpbmUgQURJUzE2MjQwX1hZWlBFQUtfT1VUICAgIDB4MTQNCj4gPiA+ICsN Cj4gPiA+ICsvKiBPdXRwdXQsIENhcHR1cmUgQnVmZmVyIDEsIFggYW5kIFkgYWNjZWxlcmF0aW9u ICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfQ0FQVF9CVUYxICAgICAgMHgxNg0KPiA+ID4g Kw0KPiA+ID4gKy8qIE91dHB1dCwgQ2FwdHVyZSBCdWZmZXIgMiwgWiBhY2NlbGVyYXRpb24gKi8N Cj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9DQVBUX0JVRjIgICAgICAweDE4DQo+ID4gPiArDQo+ ID4gPiArLyogRGlhZ25vc3RpYywgZXJyb3IgZmxhZ3MgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMx NjI0MF9ESUFHX1NUQVQgICAgICAweDFBDQo+ID4gPiArVGhpcyBsb29rcyBsaWtlIGl0IGNvdWxk IGJlIGNvbnZlcnRlZCB0byBJSU9fQ0hBTl9JTkZPX1NBTVBfRlJFUSBhdHRyaWJ1dGUuDQo+ID4g PiArLyogRGlhZ25vc3RpYywgZXZlbnQgY291bnRlciAqLw0KPiA+ID4gKyNkZWZpbmUgQURJUzE2 MjQwX0VWTlRfQ05UUiAgICAgIDB4MUMNCj4gPiA+ICsNCj4gPiA+ICsvKiBEaWFnbm9zdGljLCBj aGVjayBzdW0gdmFsdWUgZnJvbSBmaXJtd2FyZSB0ZXN0ICovDQo+ID4gPiArI2RlZmluZSBBRElT MTYyNDBfQ0hLX1NVTSAgICAgICAgMHgxRQ0KPiA+ID4gKw0KPiA+ID4gKy8qIENhbGlicmF0aW9u LCB4LWF4aXMgYWNjZWxlcmF0aW9uIG9mZnNldCBhZGp1c3RtZW50ICovDQo+ID4gPiArI2RlZmlu ZSBBRElTMTYyNDBfWEFDQ0xfT0ZGICAgICAgMHgyMA0KPiA+ID4gKw0KPiA+ID4gKy8qIENhbGli cmF0aW9uLCB5LWF4aXMgYWNjZWxlcmF0aW9uIG9mZnNldCBhZGp1c3RtZW50ICovDQo+ID4gPiAr I2RlZmluZSBBRElTMTYyNDBfWUFDQ0xfT0ZGICAgICAgMHgyMg0KPiA+ID4gKw0KPiA+ID4gKy8q IENhbGlicmF0aW9uLCB6LWF4aXMgYWNjZWxlcmF0aW9uIG9mZnNldCBhZGp1c3RtZW50ICovDQo+ ID4gPiArI2RlZmluZSBBRElTMTYyNDBfWkFDQ0xfT0ZGICAgICAgMHgyNA0KPiA+ID4gK1RoaXMg bG9va3MgbGlrZSBpdCBjb3VsZCBiZSBjb252ZXJ0ZWQgdG8gSUlPX0NIQU5fSU5GT19TQU1QX0ZS RVEgYXR0cmlidXRlLg0KPiA+ID4gKy8qIENsb2NrLCBob3VyIGFuZCBtaW51dGUgKi8NCj4gPiA+ ICsjZGVmaW5lIEFESVMxNjI0MF9DTEtfVElNRSAgICAgICAweDJFDQo+ID4gPiArDQo+ID4gPiAr LyogQ2xvY2ssIG1vbnRoIGFuZCBkYXkgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9DTEtf REFURSAgICAgICAweDMwDQo+ID4gPiArDQo+ID4gPiArLyogQ2xvY2ssIHllYXIgKi8NCj4gPiA+ ICsjZGVmaW5lIEFESVMxNjI0MF9DTEtfWUVBUiAgICAgICAweDMyDQo+ID4gPiArDQo+ID4gPiAr LyogV2FrZS11cCBzZXR0aW5nLCBob3VyIGFuZCBtaW51dGUgKi8NCj4gPiA+ICsjZGVmaW5lIEFE SVMxNjI0MF9XQUtFX1RJTUUgICAgICAweDM0DQo+ID4gPiArDQo+ID4gPiArLyogV2FrZS11cCBz ZXR0aW5nLCBtb250aCBhbmQgZGF5ICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfV0FLRV9E QVRFICAgICAgMHgzNg0KPiA+ID4gKw0KPiA+ID4gKy8qIEFsYXJtIDEgYW1wbGl0dWRlIHRocmVz aG9sZCAqLw0KPiA+ID4gKyNkZWZpbmUgQURJUzE2MjQwX0FMTV9NQUcxICAgICAgIDB4MzgNCj4g PiA+ICsNCj4gPiA+ICsvKiBBbGFybSAyIGFtcGxpdHVkZSB0aHJlc2hvbGQgKi8NCj4gPiA+ICsj ZGVmaW5lIEFESVMxNjI0MF9BTE1fTUFHMiAgICAgICAweDNBDQo+ID4gPiArDQo+ID4gPiArLyog QWxhcm0gY29udHJvbCAqLw0KPiA+ID4gKyNkZWZpbmUgQURJUzE2MjQwX0FMTV9DVFJMICAgICAg IDB4M0MNCj4gPiA+ICsNCj4gPiA+ICsvKiBDYXB0dXJlLCBleHRlcm5hbCB0cmlnZ2VyIGNvbnRy b2wgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9YVFJJR19DVFJMICAgICAweDNFDQo+ID4g PiArDQo+ID4gPiArLyogQ2FwdHVyZSwgYWRkcmVzcyBwb2ludGVyICovDQo+ID4gPiArI2RlZmlu ZSBBRElTMTYyNDBfQ0FQVF9QTlRSICAgICAgMHg0MA0KPiA+ID4gKw0KPiA+ID4gKy8qIENhcHR1 cmUsIGNvbmZpZ3VyYXRpb24gYW5kIGNvbnRyb2wgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0 MF9DQVBUX0NUUkwgICAgICAweDQyDQo+ID4gPiArDQo+ID4gPiArLyogR2VuZXJhbC1wdXJwb3Nl IGRpZ2l0YWwgaW5wdXQvb3V0cHV0IGNvbnRyb2wgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0 MF9HUElPX0NUUkwgICAgICAweDQ0DQo+ID4gPiArDQo+ID4gPiArLyogTWlzY2VsbGFuZW91cyBj b250cm9sICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfTVNDX0NUUkwgICAgICAgMHg0Ng0K PiA+ID4gKw0KPiA+ID4gKy8qIEludGVybmFsIHNhbXBsZSBwZXJpb2QgKHJhdGUpIGNvbnRyb2wg Ki8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9TTVBMX1BSRCAgICAgICAweDQ4DQo+ID4gPiAr DQo+ID4gPiArLyogU3lzdGVtIGNvbW1hbmQgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9H TE9CX0NNRCAgICAgICAweDRBDQo+ID4gPiArDQo+ID4gPiArLyogTVNDX0NUUkwgKi8NCj4gPiA+ ICsNCj4gPiA+ICsvKiBFbmFibGVzIHN1bS1vZi1zcXVhcmVzIG91dHB1dCAoWFlaUEVBS19PVVQp ICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfTVNDX0NUUkxfWFlaUEVBS19PVVRfRU4JQklU KDE1KQ0KPiA+ID4gKw0KPiA+ID4gKy8qIEVuYWJsZXMgcGVhayB0cmFja2luZyBvdXRwdXQgKFhQ RUFLX09VVCwgWVBFQUtfT1VULCBhbmQgWlBFQUtfT1VUKSAqLw0KPiA+ID4gKyNkZWZpbmUgQURJ UzE2MjQwX01TQ19DVFJMX1hfWV9aUEVBS19PVVRfRU4JQklUKDE0KQ0KPiA+ID4gKw0KPiA+ID4g Ky8qIFNlbGYtdGVzdCBlbmFibGU6IDEgPSBhcHBseSBlbGVjdHJvc3RhdGljIGZvcmNlLCAwID0g ZGlzYWJsZWQgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9NU0NfQ1RSTF9TRUxGX1RFU1Rf RU4JICAgICAgICBCSVQoOCkNCj4gPiA+ICsNCj4gPiA+ICsvKiBEYXRhLXJlYWR5IGVuYWJsZTog MSA9IGVuYWJsZWQsIDAgPSBkaXNhYmxlZCAqLw0KPiA+ID4gKyNkZWZpbmUgQURJUzE2MjQwX01T Q19DVFJMX0RBVEFfUkRZX0VOCSAgICAgICAgQklUKDIpDQo+ID4gPiArDQo+ID4gPiArLyogRGF0 YS1yZWFkeSBwb2xhcml0eTogMSA9IGFjdGl2ZSBoaWdoLCAwID0gYWN0aXZlIGxvdyAqLw0KPiA+ ID4gKyNkZWZpbmUgQURJUzE2MjQwX01TQ19DVFJMX0FDVElWRV9ISUdICSAgICAgICAgQklUKDEp DQo+ID4gPiArDQo+ID4gPiArLyogRGF0YS1yZWFkeSBsaW5lIHNlbGVjdGlvbjogMSA9IERJTzIs IDAgPSBESU8xICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfTVNDX0NUUkxfREFUQV9SRFlf RElPMglCSVQoMCkNCj4gPiA+ICsNCj4gPiA+ICsvKiBESUFHX1NUQVQgKi8NCj4gPiA+ICsNCj4g PiA+ICsvKiBBbGFybSAyIHN0YXR1czogMSA9IGFsYXJtIGFjdGl2ZSwgMCA9IGFsYXJtIGluYWN0 aXZlICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfRElBR19TVEFUX0FMQVJNMiAgICAgIEJJ VCg5KQ0KPiA+ID4gKw0KPiA+ID4gKy8qIEFsYXJtIDEgc3RhdHVzOiAxID0gYWxhcm0gYWN0aXZl LCAwID0gYWxhcm0gaW5hY3RpdmUgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9ESUFHX1NU QVRfQUxBUk0xICAgICAgQklUKDgpDQo+ID4gPiArDQo+ID4gPiArLyogQ2FwdHVyZSBidWZmZXIg ZnVsbDogMSA9IGNhcHR1cmUgYnVmZmVyIGlzIGZ1bGwgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMx NjI0MF9ESUFHX1NUQVRfQ1BUX0JVRl9GVUwgQklUKDcpDQo+ID4gPiArDQo+ID4gPiArLyogRmxh c2ggdGVzdCwgY2hlY2tzdW0gZmxhZzogMSA9IG1pc21hdGNoLCAwID0gbWF0Y2ggKi8NCj4gPiA+ ICsjZGVmaW5lIEFESVMxNjI0MF9ESUFHX1NUQVRfQ0hLU1VNICAgICAgQklUKDYpDQo+ID4gPiAr DQo+ID4gPiArLyogUG93ZXItb24sIHNlbGYtdGVzdCBmbGFnOiAxID0gZmFpbHVyZSwgMCA9IHBh c3MgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMxNjI0MF9ESUFHX1NUQVRfUFdST05fRkFJTF9CSVQg IDUNCj4gPiA+ICsNCj4gPiA+ICsvKiBQb3dlci1vbiBzZWxmLXRlc3Q6IDEgPSBpbi1wcm9ncmVz cywgMCA9IGNvbXBsZXRlICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfRElBR19TVEFUX1BX Uk9OX0JVU1kgIEJJVCg0KQ0KPiA+ID4gKw0KPiA+ID4gKy8qIFNQSSBjb21tdW5pY2F0aW9ucyBm YWlsdXJlICovDQo+ID4gPiArI2RlZmluZSBBRElTMTYyNDBfRElBR19TVEFUX1NQSV9GQUlMX0JJ VAkzDQo+ID4gPiArDQo+ID4gPiArLyogRmxhc2ggdXBkYXRlIGZhaWx1cmUgKi8NCj4gPiA+ICsj ZGVmaW5lIEFESVMxNjI0MF9ESUFHX1NUQVRfRkxBU0hfVVBUX0JJVAkyDQo+ID4gPiArDQo+ID4g PiArLyogUG93ZXIgc3VwcGx5IGFib3ZlIDMuNjI1IFYgKi8NCj4gPiA+ICsjZGVmaW5lIEFESVMx NjI0MF9ESUFHX1NUQVRfUE9XRVJfSElHSF9CSVQJMQ0KPiA+ID4gKw0KPiA+ID4gKyAvKiBQb3dl ciBzdXBwbHkgYmVsb3cgMi4yMjUgViAqLw0KPiA+ID4gKyNkZWZpbmUgQURJUzE2MjQwX0RJQUdf U1RBVF9QT1dFUl9MT1dfQklUCTANCj4gPiA+ICsNCj4gPiA+ICsvKiBHTE9CX0NNRCAqLw0KPiA+ ID4gKw0KPiA+ID4gKyNkZWZpbmUgQURJUzE2MjQwX0dMT0JfQ01EX1JFU1VNRQlCSVQoOCkNCj4g PiA+ICsjZGVmaW5lIEFESVMxNjI0MF9HTE9CX0NNRF9TV19SRVNFVAlCSVQoNykNCj4gPiA+ICsj ZGVmaW5lIEFESVMxNjI0MF9HTE9CX0NNRF9TVEFOREJZCUJJVCgyKQ0KPiA+ID4gKw0KPiA+ID4g KyNkZWZpbmUgQURJUzE2MjQwX0VSUk9SX0FDVElWRSAgICAgICAgICBCSVQoMTQpDQo+ID4gPiAr DQo+ID4gPiArLyogQXQgdGhlIG1vbWVudCB0cmlnZ2VycyBhcmUgb25seSB1c2VkIGZvciByaW5n IGJ1ZmZlcg0KPiA+ID4gKyAqIGZpbGxpbmcuIFRoaXMgbWF5IGNoYW5nZSENCj4gPiA+ICsgKi8N Cj4gPiA+ICsNCj4gPiA+ICtlbnVtIGFkaXMxNjI0MF9zY2FuIHsNCj4gPiA+ICsJQURJUzE2MjQw X1NDQU5fQUNDX1gsDQo+ID4gPiArCUFESVMxNjI0MF9TQ0FOX0FDQ19ZLA0KPiA+ID4gKwlBRElT MTYyNDBfU0NBTl9BQ0NfWiwNCj4gPiA+ICsJQURJUzE2MjQwX1NDQU5fU1VQUExZLA0KPiA+ID4g KwlBRElTMTYyNDBfU0NBTl9BVVhfQURDLA0KPiA+ID4gKwlBRElTMTYyNDBfU0NBTl9URU1QLA0K PiA+ID4gK307DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIHNzaXplX3QgYWRpczE2MjQwX3NwaV9y ZWFkX3NpZ25lZChzdHJ1Y3QgZGV2aWNlICpkZXYsDQo+ID4gPiArCQkJCQkgc3RydWN0IGRldmlj ZV9hdHRyaWJ1dGUgKmF0dHIsDQo+ID4gPiArCQkJCQkgY2hhciAqYnVmLA0KPiA+ID4gKwkJCQkJ IHVuc2lnbmVkIGludCBiaXRzKQ0KPiA+ID4gK3sNCj4gPiA+ICsJc3RydWN0IGlpb19kZXYgKmlu ZGlvX2RldiA9IGRldl90b19paW9fZGV2KGRldik7DQo+ID4gPiArCXN0cnVjdCBhZGlzICpzdCA9 IGlpb19wcml2KGluZGlvX2Rldik7DQo+ID4gPiArCWludCByZXQ7DQo+ID4gPiArCXMxNiB2YWwg PSAwOw0KPiA+ID4gKwl1bnNpZ25lZCBpbnQgc2hpZnQgPSAxNiAtIGJpdHM7DQo+ID4gPiArCXN0 cnVjdCBpaW9fZGV2X2F0dHIgKnRoaXNfYXR0ciA9IHRvX2lpb19kZXZfYXR0cihhdHRyKTsNCj4g PiA+ICsNCj4gPiA+ICsJcmV0ID0gYWRpc19yZWFkX3JlZ18xNihzdCwNCj4gPiA+ICsJCQkgICAg ICAgdGhpc19hdHRyLT5hZGRyZXNzLCAodTE2ICopJnZhbCk7DQo+IA0KPiBDaGVjayBmb3Igb2Rk IGxpbmUgYnJlYWtzLiAgVGhhdCBsb29rcyBsaWtlIGl0J2xsIGZpdCB1bmRlciA4MCBjaGFycw0K PiBqdXN0IGZpbmUuDQo+IA0KPiA+ID4gKwlpZiAocmV0KQ0KPiA+ID4gKwkJcmV0dXJuIHJldDsN Cj4gPiA+ICsNCj4gPiA+ICsJaWYgKHZhbCAmIEFESVMxNjI0MF9FUlJPUl9BQ1RJVkUpDQo+ID4g PiArCQlhZGlzX2NoZWNrX3N0YXR1cyhzdCk7DQo+ID4gPiArDQo+ID4gPiArCXZhbCA9IChzMTYp KHZhbCA8PCBzaGlmdCkgPj4gc2hpZnQ7DQo+IA0KPiBVc2Ugc2lnbl9leHRlbmQzMiAoYWRkZWQg YWZ0ZXIgdGhpcyBkcml2ZXIgSSB0aGluayEpDQo+IA0KPiA+ID4gKwlyZXR1cm4gc3ByaW50Zihi dWYsICIlZFxuIiwgdmFsKTsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIHNzaXpl X3QgYWRpczE2MjQwX3JlYWRfMTJiaXRfc2lnbmVkKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gPiA+ ICsJCQkJCSAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLA0KPiA+ID4gKwkJCQkJICAg Y2hhciAqYnVmKQ0KPiA+ID4gK3sNCj4gPiA+ICsJcmV0dXJuIGFkaXMxNjI0MF9zcGlfcmVhZF9z aWduZWQoZGV2LCBhdHRyLCBidWYsIDEyKTsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiArc3Rh dGljIElJT19ERVZJQ0VfQVRUUihpbl9hY2NlbF94eXpfc3F1YXJlZF9wZWFrX3JhdywgMDQ0NCwN Cj4gPiA+ICsJCSAgICAgICBhZGlzMTYyNDBfcmVhZF8xMmJpdF9zaWduZWQsIE5VTEwsDQo+ID4g PiArCQkgICAgICAgQURJUzE2MjQwX1hZWlBFQUtfT1VUKTsNCj4gPiA+ICsNCj4gPiA+ICtzdGF0 aWMgSUlPX0NPTlNUX0FUVFJfU0FNUF9GUkVRX0FWQUlMKCI0MDk2Iik7DQo+ID4gPiArDQo+ID4g PiArc3RhdGljIGNvbnN0IHU4IGFkaXMxNjI0MF9hZGRyZXNzZXNbXVsyXSA9IHsNCj4gPiA+ICsJ W0FESVMxNjI0MF9TQ0FOX0FDQ19YXSA9IHsgQURJUzE2MjQwX1hBQ0NMX09GRiwgQURJUzE2MjQw X1hQRUFLX09VVCB9LA0KPiA+ID4gKwlbQURJUzE2MjQwX1NDQU5fQUNDX1ldID0geyBBRElTMTYy NDBfWUFDQ0xfT0ZGLCBBRElTMTYyNDBfWVBFQUtfT1VUIH0sDQo+ID4gPiArCVtBRElTMTYyNDBf U0NBTl9BQ0NfWl0gPSB7IEFESVMxNjI0MF9aQUNDTF9PRkYsIEFESVMxNjI0MF9aUEVBS19PVVQg fSwNCj4gPiA+ICt9Ow0KPiA+ID4gKw0KPiA+ID4gK3N0YXRpYyBpbnQgYWRpczE2MjQwX3JlYWRf cmF3KHN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYsDQo+ID4gPiArCQkJICAgICAgc3RydWN0IGlp b19jaGFuX3NwZWMgY29uc3QgKmNoYW4sDQo+ID4gPiArCQkJICAgICAgaW50ICp2YWwsIGludCAq dmFsMiwNCj4gPiA+ICsJCQkgICAgICBsb25nIG1hc2spDQo+ID4gPiArew0KPiA+ID4gKwlzdHJ1 Y3QgYWRpcyAqc3QgPSBpaW9fcHJpdihpbmRpb19kZXYpOw0KPiA+ID4gKwlpbnQgcmV0Ow0KPiA+ ID4gKwl1OCBhZGRyOw0KPiA+ID4gKwlzMTYgdmFsMTY7DQo+ID4gPiArDQo+ID4gPiArCXN3aXRj aCAobWFzaykgew0KPiA+ID4gKwljYXNlIElJT19DSEFOX0lORk9fUkFXOg0KPiA+ID4gKwkJcmV0 dXJuIGFkaXNfc2luZ2xlX2NvbnZlcnNpb24oaW5kaW9fZGV2LCBjaGFuLA0KPiA+ID4gKwkJCQlB RElTMTYyNDBfRVJST1JfQUNUSVZFLCB2YWwpOw0KPiA+ID4gKwljYXNlIElJT19DSEFOX0lORk9f U0NBTEU6DQo+ID4gPiArCQlzd2l0Y2ggKGNoYW4tPnR5cGUpIHsNCj4gPiA+ICsJCWNhc2UgSUlP X1ZPTFRBR0U6DQo+ID4gPiArCQkJaWYgKGNoYW4tPmNoYW5uZWwgPT0gMCkgew0KPiA+ID4gKwkJ CQkqdmFsID0gNDsNCj4gPiA+ICsJCQkJKnZhbDIgPSA4ODAwMDA7IC8qIDQuODggbVYgKi8NCj4g PiA+ICsJCQkJcmV0dXJuIElJT19WQUxfSU5UX1BMVVNfTUlDUk87DQo+ID4gPiArCQkJfQ0KPiA+ ID4gKwkJCXJldHVybiAtRUlOVkFMOw0KPiA+ID4gKwkJY2FzZSBJSU9fVEVNUDoNCj4gPiA+ICsJ CQkqdmFsID0gMjQ0OyAvKiAwLjI0NCBDICovDQo+ID4gPiArCQkJKnZhbDIgPSAwOyAgDQo+ID4g DQo+ID4gVGhpcyBsb29rcyBsaWtlIGEgYnVnIGluIHRoZSBvcmlnaW5hbCBkcml2ZXIuDQo+ID4g SSB0aGluayAqdmFsID0gMCwgYW5kICp2YWwyID0gMjQ0ID8NCj4gPiANCj4gPiA+ICsJCQlyZXR1 cm4gSUlPX1ZBTF9JTlRfUExVU19NSUNSTzsNCj4gPiA+ICsJCWNhc2UgSUlPX0FDQ0VMOg0KPiA+ ID4gKwkJCSp2YWwgPSAwOw0KPiA+ID4gKwkJCSp2YWwyID0gSUlPX0dfVE9fTV9TXzIoNTE0MDAp OyAvKiA1MS40IG1nICovDQo+ID4gPiArCQkJcmV0dXJuIElJT19WQUxfSU5UX1BMVVNfTUlDUk87 DQo+ID4gPiArCQlkZWZhdWx0Og0KPiA+ID4gKwkJCXJldHVybiAtRUlOVkFMOw0KPiA+ID4gKwkJ fQ0KPiA+ID4gKwkJYnJlYWs7DQo+ID4gPiArCWNhc2UgSUlPX0NIQU5fSU5GT19QRUFLX1NDQUxF Og0KPiA+ID4gKwkJKnZhbCA9IDA7DQo+ID4gPiArCQkqdmFsMiA9IElJT19HX1RPX01fU18yKDUx NDAwKTsgLyogNTEuNCBtZyAqLw0KPiA+ID4gKwkJcmV0dXJuIElJT19WQUxfSU5UX1BMVVNfTUlD Uk87DQo+ID4gPiArCWNhc2UgSUlPX0NIQU5fSU5GT19PRkZTRVQ6DQo+ID4gPiArCQkqdmFsID0g MjUwMDAgLyAyNDQgLSAweDEzMzsgLyogMjUgQyA9IDB4MTMzICovDQo+ID4gPiArCQlyZXR1cm4g SUlPX1ZBTF9JTlQ7DQo+ID4gPiArCWNhc2UgSUlPX0NIQU5fSU5GT19DQUxJQkJJQVM6DQo+ID4g PiArCQlhZGRyID0gYWRpczE2MjQwX2FkZHJlc3Nlc1tjaGFuLT5zY2FuX2luZGV4XVswXTsNCj4g PiA+ICsJCXJldCA9IGFkaXNfcmVhZF9yZWdfMTYoc3QsIGFkZHIsICZ2YWwxNik7DQo+ID4gPiAr CQlpZiAocmV0KQ0KPiA+ID4gKwkJCXJldHVybiByZXQ7DQo+ID4gPiArCQkqdmFsID0gc2lnbl9l eHRlbmQzMih2YWwxNiwgOSk7DQo+ID4gPiArCQlyZXR1cm4gSUlPX1ZBTF9JTlQ7DQo+ID4gPiAr CWNhc2UgSUlPX0NIQU5fSU5GT19QRUFLOg0KPiA+ID4gKwkJYWRkciA9IGFkaXMxNjI0MF9hZGRy ZXNzZXNbY2hhbi0+c2Nhbl9pbmRleF1bMV07DQo+ID4gPiArCQlyZXQgPSBhZGlzX3JlYWRfcmVn XzE2KHN0LCBhZGRyLCAmdmFsMTYpOw0KPiA+ID4gKwkJaWYgKHJldCkNCj4gPiA+ICsJCQlyZXR1 cm4gcmV0Ow0KPiA+ID4gKwkJKnZhbCA9IHNpZ25fZXh0ZW5kMzIodmFsMTYsIDkpOw0KPiA+ID4g KwkJcmV0dXJuIElJT19WQUxfSU5UOw0KPiA+ID4gKwl9DQo+ID4gPiArCXJldHVybiAtRUlOVkFM Ow0KPiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgaW50IGFkaXMxNjI0MF93cml0ZV9y YXcoc3RydWN0IGlpb19kZXYgKmluZGlvX2RldiwNCj4gPiA+ICsJCQkgICAgICAgc3RydWN0IGlp b19jaGFuX3NwZWMgY29uc3QgKmNoYW4sDQo+ID4gPiArCQkJICAgICAgIGludCB2YWwsDQo+ID4g PiArCQkJICAgICAgIGludCB2YWwyLA0KPiA+ID4gKwkJCSAgICAgICBsb25nIG1hc2spDQo+ID4g PiArew0KPiA+ID4gKwlzdHJ1Y3QgYWRpcyAqc3QgPSBpaW9fcHJpdihpbmRpb19kZXYpOw0KPiA+ ID4gKwl1OCBhZGRyOw0KPiA+ID4gKw0KPiA+ID4gKwlzd2l0Y2ggKG1hc2spIHsNCj4gPiA+ICsJ Y2FzZSBJSU9fQ0hBTl9JTkZPX0NBTElCQklBUzoNCj4gPiA+ICsJCWFkZHIgPSBhZGlzMTYyNDBf YWRkcmVzc2VzW2NoYW4tPnNjYW5faW5kZXhdWzBdOw0KPiA+ID4gKwkJcmV0dXJuIGFkaXNfd3Jp dGVfcmVnXzE2KHN0LCBhZGRyLCB2YWwgJiBHRU5NQVNLKDksIDApKTsNCj4gPiA+ICsJfQ0KPiA+ ID4gKwlyZXR1cm4gLUVJTlZBTDsNCj4gPiA+ICt9DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIGNv bnN0IHN0cnVjdCBpaW9fY2hhbl9zcGVjIGFkaXMxNjI0MF9jaGFubmVsc1tdID0gew0KPiA+ID4g KwlBRElTX1NVUFBMWV9DSEFOKEFESVMxNjI0MF9TVVBQTFlfT1VULCBBRElTMTYyNDBfU0NBTl9T VVBQTFksIDAsIDEwKSwNCj4gPiA+ICsJQURJU19BVVhfQURDX0NIQU4oQURJUzE2MjQwX0FVWF9B REMsIEFESVMxNjI0MF9TQ0FOX0FVWF9BREMsIDAsIDEwKSwNCj4gPiA+ICsJQURJU19BQ0NFTF9D SEFOKFgsIEFESVMxNjI0MF9YQUNDTF9PVVQsIEFESVMxNjI0MF9TQ0FOX0FDQ19YLA0KPiA+ID4g KwkJCUJJVChJSU9fQ0hBTl9JTkZPX0NBTElCQklBUykgfCBCSVQoSUlPX0NIQU5fSU5GT19QRUFL KSwNCj4gPiA+ICsJCQkwLCAxMCksDQo+ID4gPiArCUFESVNfQUNDRUxfQ0hBTihZLCBBRElTMTYy NDBfWUFDQ0xfT1VULCBBRElTMTYyNDBfU0NBTl9BQ0NfWSwNCj4gPiA+ICsJCQlCSVQoSUlPX0NI QU5fSU5GT19DQUxJQkJJQVMpIHwgQklUKElJT19DSEFOX0lORk9fUEVBSyksDQo+ID4gPiArCQkJ MCwgMTApLA0KPiA+ID4gKwlBRElTX0FDQ0VMX0NIQU4oWiwgQURJUzE2MjQwX1pBQ0NMX09VVCwg QURJUzE2MjQwX1NDQU5fQUNDX1osDQo+ID4gPiArCQkJQklUKElJT19DSEFOX0lORk9fQ0FMSUJC SUFTKSB8IEJJVChJSU9fQ0hBTl9JTkZPX1BFQUspLA0KPiA+ID4gKwkJCTAsIDEwKSwNCj4gPiA+ ICsJQURJU19URU1QX0NIQU4oQURJUzE2MjQwX1RFTVBfT1VULCBBRElTMTYyNDBfU0NBTl9URU1Q LCAwLCAxMCksDQo+ID4gPiArCUlJT19DSEFOX1NPRlRfVElNRVNUQU1QKDYpDQo+ID4gPiArfTsN Cj4gPiA+ICsNCj4gPiA+ICtzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqYWRpczE2MjQwX2F0dHJp YnV0ZXNbXSA9IHsNCj4gPiA+ICsJJmlpb19kZXZfYXR0cl9pbl9hY2NlbF94eXpfc3F1YXJlZF9w ZWFrX3Jhdy5kZXZfYXR0ci5hdHRyLCAgDQo+ID4gDQo+ID4gVGhpcyBvbmUgbG9va3MgYSBiaXQg d2VpcmQvcmFyZS4NCj4gPiBJIGFtIG5vdCBzdXJlIGFib3V0IGl0J3MgdXNlLWNhc2UvbmVlZCBy aWdodCBub3cgKGF0IHRoaXMgcG9pbnQgaW4gdGltZSkuDQo+ID4gDQo+ID4gTWF5YmUgd2UgY291 bGQganVzdCBkcm9wIGl0Pw0KPiA+IFNpbmNlIEkgZGlkIG5vdCB3cml0ZSB0aGUgaW5pdGlhbCBk cml2ZXIsIEkgZG9uJ3Qga25vdyB5ZXQgd2hhdCBpdCB3YXMgc3VwcG9zZWQgdG8gYmUvZG8uDQo+ IA0KPiBGb3IgYW4gaW1wYWN0IHNlbnNvciBpdCdzIGEgZmFpcmx5IHVzZWZ1bCB0aGluZyBJIHN1 c3BlY3QgYXMgaXQgaXMgZ2l2aW5nIHRoZSBtYXhpbXVtDQo+IGFjY2VsZXJhdGlvbiBpbiBhbnkg ZGlyZWN0aW9uIHRoYXQgb2NjdXJlZCAob25jZSB5b3Ugc3F1YXJlIHJvb3QgaXQgaW4gdXNlcnNw YWNlLikNCj4gDQo+ID4gSW4gYW55IGNhc2UsIGlmIHdlIHdhbnQgdG8gYWRkIGl0LCBpdCBsb29r cyBsaWtlIGl0IG5lZWRzIGFuIEFCSSBkb2N1bWVudGF0aW9uLg0KPiANCj4gQWdyZWVkLiBOZWVk cyBkb2NzLiAgV2UgYWN0dWFsbHkgaGF2ZSBhIG1vZGlmaWVyIGZvciBpdCBzbyBjYW4gYmUgaGFu ZGxlZA0KPiBhcyBhIGNoYW5uZWwuIElJT19NT0RfU1VNX1NRVUFSRURfWF9ZX1ogOikNCj4gDQo+ IA0KPiA+IA0KPiA+ID4gKwkmaWlvX2NvbnN0X2F0dHJfc2FtcGxpbmdfZnJlcXVlbmN5X2F2YWls YWJsZS5kZXZfYXR0ci5hdHRyLCAgDQo+ID4gDQo+ID4gVGhpcyBsb29rcyBsaWtlIGl0IGNvdWxk IGJlIGNvbnZlcnRlZCB0byBJSU9fQ0hBTl9JTkZPX1NBTVBfRlJFUSBhdHRyaWJ1dGUuDQo+ID4g DQo+ID4gDQo+ID4gPiArCU5VTEwNCj4gPiA+ICt9Ow0KPiA+ID4gKw0KPiA+ID4gK3N0YXRpYyBj b25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIGFkaXMxNjI0MF9hdHRyaWJ1dGVfZ3JvdXAgPSB7 DQo+ID4gPiArCS5hdHRycyA9IGFkaXMxNjI0MF9hdHRyaWJ1dGVzLA0KPiA+ID4gK307DQo+ID4g PiArDQo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBpaW9faW5mbyBhZGlzMTYyNDBfaW5mbyA9 IHsNCj4gPiA+ICsJLmF0dHJzID0gJmFkaXMxNjI0MF9hdHRyaWJ1dGVfZ3JvdXAsDQo+ID4gPiAr CS5yZWFkX3JhdyA9IGFkaXMxNjI0MF9yZWFkX3JhdywNCj4gPiA+ICsJLndyaXRlX3JhdyA9IGFk aXMxNjI0MF93cml0ZV9yYXcsDQo+ID4gPiArCS51cGRhdGVfc2Nhbl9tb2RlID0gYWRpc191cGRh dGVfc2Nhbl9tb2RlLA0KPiA+ID4gK307DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIGNvbnN0IGNo YXIgKiBjb25zdCBhZGlzMTYyNDBfc3RhdHVzX2Vycm9yX21zZ3NbXSA9IHsNCj4gPiA+ICsJW0FE SVMxNjI0MF9ESUFHX1NUQVRfUFdST05fRkFJTF9CSVRdID0gIlBvd2VyIG9uLCBzZWxmLXRlc3Qg ZmFpbGVkIiwNCj4gPiA+ICsJW0FESVMxNjI0MF9ESUFHX1NUQVRfU1BJX0ZBSUxfQklUXSA9ICJT UEkgZmFpbHVyZSIsDQo+ID4gPiArCVtBRElTMTYyNDBfRElBR19TVEFUX0ZMQVNIX1VQVF9CSVRd ID0gIkZsYXNoIHVwZGF0ZSBmYWlsZWQiLA0KPiA+ID4gKwlbQURJUzE2MjQwX0RJQUdfU1RBVF9Q T1dFUl9ISUdIX0JJVF0gPSAiUG93ZXIgc3VwcGx5IGFib3ZlIDMuNjI1ViIsDQo+ID4gPiArCVtB RElTMTYyNDBfRElBR19TVEFUX1BPV0VSX0xPV19CSVRdID0gIlBvd2VyIHN1cHBseSBiZWxvdyAy LjIyNVYiLA0KPiA+ID4gK307DQo+ID4gPiArDQo+ID4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBh ZGlzX2RhdGEgYWRpczE2MjQwX2RhdGEgPSB7DQo+ID4gPiArCS53cml0ZV9kZWxheSA9IDM1LA0K PiA+ID4gKwkucmVhZF9kZWxheSA9IDM1LA0KPiA+ID4gKwkubXNjX2N0cmxfcmVnID0gQURJUzE2 MjQwX01TQ19DVFJMLA0KPiA+ID4gKwkuZ2xvYl9jbWRfcmVnID0gQURJUzE2MjQwX0dMT0JfQ01E LA0KPiA+ID4gKwkuZGlhZ19zdGF0X3JlZyA9IEFESVMxNjI0MF9ESUFHX1NUQVQsDQo+ID4gPiAr DQo+ID4gPiArCS5zZWxmX3Rlc3RfbWFzayA9IEFESVMxNjI0MF9NU0NfQ1RSTF9TRUxGX1RFU1Rf RU4sDQo+ID4gPiArCS5zZWxmX3Rlc3Rfbm9fYXV0b2NsZWFyID0gdHJ1ZSwNCj4gPiA+ICsJLnN0 YXJ0dXBfZGVsYXkgPSBBRElTMTYyNDBfU1RBUlRVUF9ERUxBWSwNCj4gPiA+ICsNCj4gPiA+ICsJ LnN0YXR1c19lcnJvcl9tc2dzID0gYWRpczE2MjQwX3N0YXR1c19lcnJvcl9tc2dzLA0KPiA+ID4g Kwkuc3RhdHVzX2Vycm9yX21hc2sgPSBCSVQoQURJUzE2MjQwX0RJQUdfU1RBVF9QV1JPTl9GQUlM X0JJVCkgfA0KPiA+ID4gKwkJQklUKEFESVMxNjI0MF9ESUFHX1NUQVRfU1BJX0ZBSUxfQklUKSB8 DQo+ID4gPiArCQlCSVQoQURJUzE2MjQwX0RJQUdfU1RBVF9GTEFTSF9VUFRfQklUKSB8DQo+ID4g PiArCQlCSVQoQURJUzE2MjQwX0RJQUdfU1RBVF9QT1dFUl9ISUdIX0JJVCkgfA0KPiA+ID4gKwkJ QklUKEFESVMxNjI0MF9ESUFHX1NUQVRfUE9XRVJfTE9XX0JJVCksDQo+ID4gPiArfTsNCj4gPiA+ ICsNCj4gPiA+ICtzdGF0aWMgaW50IGFkaXMxNjI0MF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAq c3BpKQ0KPiA+ID4gK3sNCj4gPiA+ICsJaW50IHJldDsNCj4gPiA+ICsJc3RydWN0IGFkaXMgKnN0 Ow0KPiA+ID4gKwlzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2Ow0KPiA+ID4gKw0KPiA+ID4gKwkv KiBzZXR1cCB0aGUgaW5kdXN0cmlhbGlvIGRyaXZlciBhbGxvY2F0ZWQgZWxlbWVudHMgKi8NCj4g DQo+IEkgd291bGQgcmV2aWV3IGNvbW1lbnRzIGFuZCBkZWNpZGUgd2hldGhlciB0aGV5IGFjdHVh bGx5IGFkZCBhbnl0aGluZy4NCj4gVGhpcyBvbmUgZm9yIGV4YW1wbGUgLSBJJ20gbm90IGNvbnZp bmNlZCENCj4gDQo+ID4gPiArCWluZGlvX2RldiA9IGRldm1faWlvX2RldmljZV9hbGxvYygmc3Bp LT5kZXYsIHNpemVvZigqc3QpKTsNCj4gPiA+ICsJaWYgKCFpbmRpb19kZXYpDQo+ID4gPiArCQly ZXR1cm4gLUVOT01FTTsNCj4gPiA+ICsJc3QgPSBpaW9fcHJpdihpbmRpb19kZXYpOw0KPiA+ID4g KwkvKiB0aGlzIGlzIG9ubHkgdXNlZCBmb3IgcmVtb3ZhbCBwdXJwb3NlcyAqLw0KPiA+ID4gKwlz cGlfc2V0X2RydmRhdGEoc3BpLCBpbmRpb19kZXYpOw0KPiA+ID4gKw0KPiA+ID4gKwlpbmRpb19k ZXYtPm5hbWUgPSBzcGktPmRldi5kcml2ZXItPm5hbWU7DQo+ID4gPiArCWluZGlvX2Rldi0+ZGV2 LnBhcmVudCA9ICZzcGktPmRldjsNCj4gPiA+ICsJaW5kaW9fZGV2LT5pbmZvID0gJmFkaXMxNjI0 MF9pbmZvOw0KPiA+ID4gKwlpbmRpb19kZXYtPmNoYW5uZWxzID0gYWRpczE2MjQwX2NoYW5uZWxz Ow0KPiA+ID4gKwlpbmRpb19kZXYtPm51bV9jaGFubmVscyA9IEFSUkFZX1NJWkUoYWRpczE2MjQw X2NoYW5uZWxzKTsNCj4gPiA+ICsJaW5kaW9fZGV2LT5tb2RlcyA9IElORElPX0RJUkVDVF9NT0RF Ow0KPiA+ID4gKw0KPiA+ID4gKwlyZXQgPSBhZGlzX2luaXQoc3QsIGluZGlvX2Rldiwgc3BpLCAm YWRpczE2MjQwX2RhdGEpOw0KPiA+ID4gKwlpZiAocmV0KQ0KPiA+ID4gKwkJcmV0dXJuIHJldDsN Cj4gDQo+IE1pZ2h0IGJlIG5pY2UgdG8gbG9vayBhdCBhZGRpbmcgc29tZSB3aGl0ZSBzcGFjZSBh ZnRlciBlcnJvciBoYW5kbGluZw0KPiBibG9ja3MgbGlrZSB0aGlzLiAgQSBibGFuayBsaW5lIGlu IGxvY2F0aW9ucyBsaWtlIHRoaXMgbWFrZSBpdA0KPiBlYXNpZXIgZm9yIHRoZSBleWUgdG8gZm9s bG93IHRoZSBjb2RlLg0KPiANCj4gPiA+ICsJcmV0ID0gYWRpc19zZXR1cF9idWZmZXJfYW5kX3Ry aWdnZXIoc3QsIGluZGlvX2RldiwgTlVMTCk7DQo+ID4gPiArCWlmIChyZXQpDQo+ID4gPiArCQly ZXR1cm4gcmV0Ow0KPiA+ID4gKw0KPiA+ID4gKwkvKiBHZXQgdGhlIGRldmljZSBpbnRvIGEgc2Fu ZSBpbml0aWFsIHN0YXRlICovDQo+ID4gPiArCXJldCA9IGFkaXNfaW5pdGlhbF9zdGFydHVwKHN0 KTsNCj4gPiA+ICsJaWYgKHJldCkNCj4gPiA+ICsJCWdvdG8gZXJyb3JfY2xlYW51cF9idWZmZXJf dHJpZ2dlcjsNCj4gPiA+ICsJcmV0ID0gaWlvX2RldmljZV9yZWdpc3RlcihpbmRpb19kZXYpOw0K PiA+ID4gKwlpZiAocmV0KQ0KPiA+ID4gKwkJZ290byBlcnJvcl9jbGVhbnVwX2J1ZmZlcl90cmln Z2VyOw0KPiA+ID4gKwlyZXR1cm4gMDsNCj4gPiA+ICsNCj4gPiA+ICtlcnJvcl9jbGVhbnVwX2J1 ZmZlcl90cmlnZ2VyOg0KPiA+ID4gKwlhZGlzX2NsZWFudXBfYnVmZmVyX2FuZF90cmlnZ2VyKHN0 LCBpbmRpb19kZXYpOw0KPiA+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ID4gK30NCj4gPiA+ICsNCj4g PiA+ICtzdGF0aWMgaW50IGFkaXMxNjI0MF9yZW1vdmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkN Cj4gPiA+ICt7DQo+ID4gPiArCXN0cnVjdCBpaW9fZGV2ICppbmRpb19kZXYgPSBzcGlfZ2V0X2Ry dmRhdGEoc3BpKTsNCj4gPiA+ICsJc3RydWN0IGFkaXMgKnN0ID0gaWlvX3ByaXYoaW5kaW9fZGV2 KTsNCj4gPiA+ICsNCj4gPiA+ICsJaWlvX2RldmljZV91bnJlZ2lzdGVyKGluZGlvX2Rldik7DQo+ ID4gPiArCWFkaXNfY2xlYW51cF9idWZmZXJfYW5kX3RyaWdnZXIoc3QsIGluZGlvX2Rldik7DQo+ ID4gPiArDQo+ID4gPiArCXJldHVybiAwOw0KPiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBhZGlzMTYyNDBfb2ZfbWF0Y2hbXSA9IHsNCj4g PiA+ICsJeyAuY29tcGF0aWJsZSA9ICJhZGksYWRpczE2MjQwIiB9LA0KPiA+ID4gKwl7IH0sDQo+ ID4gPiArfTsNCj4gPiA+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBhZGlzMTYyNDBfb2ZfbWF0 Y2gpOw0KPiA+ID4gKw0KPiA+ID4gK3N0YXRpYyBzdHJ1Y3Qgc3BpX2RyaXZlciBhZGlzMTYyNDBf ZHJpdmVyID0gew0KPiA+ID4gKwkuZHJpdmVyID0gew0KPiA+ID4gKwkJLm5hbWUgPSAiYWRpczE2 MjQwIiwNCj4gPiA+ICsJCS5vZl9tYXRjaF90YWJsZSA9IGFkaXMxNjI0MF9vZl9tYXRjaCwNCj4g PiA+ICsJfSwNCj4gPiA+ICsJLnByb2JlID0gYWRpczE2MjQwX3Byb2JlLA0KPiA+ID4gKwkucmVt b3ZlID0gYWRpczE2MjQwX3JlbW92ZSwNCj4gPiA+ICt9Ow0KPiA+ID4gK21vZHVsZV9zcGlfZHJp dmVyKGFkaXMxNjI0MF9kcml2ZXIpOw0KPiA+ID4gKw0KPiA+ID4gK01PRFVMRV9BVVRIT1IoIkJh cnJ5IFNvbmcgPDIxY25iYW9AZ21haWwuY29tPiIpOw0KPiA+ID4gK01PRFVMRV9ERVNDUklQVElP TigiQW5hbG9nIERldmljZXMgUHJvZ3JhbW1hYmxlIEltcGFjdCBTZW5zb3IgYW5kIFJlY29yZGVy Iik7DQo+ID4gPiArTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOw0KPiA+ID4gK01PRFVMRV9BTElB Uygic3BpOmFkaXMxNjI0MCIpOw0KPiAuLi4NCg==