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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 49D5AC38A02 for ; Mon, 31 Oct 2022 11:02:24 +0000 (UTC) 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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=N/dhuemRoORWKFT78k7RUfNyA3o1T6C4SS3J97frGqc=; b=WIzwhUukfAYyTA BgeS+7tNhj6AaiJVHeLqqBMKpkL9ZMWuDWaVLZHOntr84t1M+shaOG9pwqKHOX/ihNWQu/LL+aRBY mvfaPNiTO5i8TRgZ3MCmGZLufWRK3OFSVdBtARRWGgyiOcue7hsb1J3z8UlricsivSRd6vza11Ai6 4/0xFBUYGbADczShh6OM+5JoR5BR0RR36346mMpDWbrLcjhBc0Go2ot3AdbBnjheDqhKxWvSq8d+O UKN9SHfl/PGrwKD+G3OFV3JBRHvXeCA+H7n6bEwLew6BOSDdtbt8bhQ3jw27wsWZu8TrNa8ljZDgQ vjmrfj9vUCpSJSO6euBg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1opSXT-00B1K1-4B; Mon, 31 Oct 2022 11:01:07 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1opSXH-00B1HQ-V6 for linux-arm-kernel@lists.infradead.org; Mon, 31 Oct 2022 11:00:59 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id A1EFD611CE; Mon, 31 Oct 2022 11:00:51 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48F4AC433D6; Mon, 31 Oct 2022 11:00:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1667214051; bh=oe52KmRAKiUPs37/+XSeVSdnVohHwzo299SLBQkw8/0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=ugI3HBGXaVTd6MUKyBYRaFc4Ig5vhpvNIQUd8qNo9gx9bwn5G302mxGt6mKQzFUnJ l2T00isAU9tioqIazAWFjd3OgZ7ve+IPQddQ5m/BLCgikLdneHZTGvavxvpezcYw+e CForyxzyNIzKTXM9oNL55H2Nrk8CBJPk4P7g8Ig1RnOHTkb5wt98mwzNPW5Jy5M6fD cSkrMtSFaML6HdR2XESXREAY/yxtu9ecFv7ACKJfmKrbrIT4xDieTUGMjOHfVQEpOW BISmBJ5/PHMd/KmYFkVYCYa55t0jFrVtBAm6yyLn2ZxUddpxFbaMEPTiM7wXytmOMi QlUTjfdrEvBDw== Date: Mon, 31 Oct 2022 11:00:41 +0000 From: Lee Jones To: Jerome Neanne Cc: lgirdwood@gmail.com, broonie@kernel.org, robh+dt@kernel.org, nm@ti.com, kristo@kernel.org, dmitry.torokhov@gmail.com, krzysztof.kozlowski+dt@linaro.org, catalin.marinas@arm.com, will@kernel.org, tony@atomide.com, vigneshr@ti.com, bjorn.andersson@linaro.org, shawnguo@kernel.org, geert+renesas@glider.be, dmitry.baryshkov@linaro.org, marcel.ziswiler@toradex.com, vkoul@kernel.org, biju.das.jz@bp.renesas.com, arnd@arndb.de, jeff@labundy.com, afd@ti.com, khilman@baylibre.com, narmstrong@baylibre.com, msp@baylibre.com, j-keerthy@ti.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-input@vger.kernel.org, linux-omap@vger.kernel.org Subject: Re: [PATCH v6 4/6] mfd: tps65219: Add driver for TI TPS65219 PMIC Message-ID: References: <20221011140549.16761-1-jneanne@baylibre.com> <20221011140549.16761-5-jneanne@baylibre.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20221011140549.16761-5-jneanne@baylibre.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221031_040056_122907_77AC031D X-CRM114-Status: GOOD ( 33.25 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVHVlLCAxMSBPY3QgMjAyMiwgSmVyb21lIE5lYW5uZSB3cm90ZToKCj4gVGhlIFRQUzY1MjE5 IGlzIGEgcG93ZXIgbWFuYWdlbWVudCBJQyBQTUlDIGRlc2lnbmVkIHRvIHN1cHBseSBhIHdpZGUK PiByYW5nZSBvZiBTb0NzIGluIGJvdGggcG9ydGFibGUgYW5kIHN0YXRpb25hcnkgYXBwbGljYXRp b25zLiBBbnkgU29DIGNhbgo+IGNvbnRyb2wgVFBTNjUyMTkgb3ZlciBhIHN0YW5kYXJkIEkyQyBp bnRlcmZhY2UuCj4gCj4gSXQgY29udGFpbnMgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOgo+IC0g UmVndWxhdG9ycy4KPiAtIE92ZXIgVGVtcGVyYXR1cmUgd2FybmluZyBhbmQgU2h1dCBkb3duLgo+ IC0gR1BJT3MKPiAtIE11bHRpIEZ1bmN0aW9uIFBpbnMgKE1GUCkKPiAtIHBvd2VyLWJ1dHRvbgo+ IAo+IFRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciB0cHM2NTIxOSBQTUlDLiBBdCB0aGlzIHRp bWUgb25seQo+IHRoZSBmdW5jdGlvbmFsaXRpZXMgbGlzdGVkIGJlbG93IGFyZSBtYWRlIGF2YWls YWJsZToKPiAKPiAtIFJlZ3VsYXRvcnMgcHJvYmUgYW5kIGZ1bmN0aW9uYWxpdGllcwo+IC0gd2Fy bSBhbmQgY29sZCByZXNldCBzdXBwb3J0Cj4gLSBTVyBzaHV0ZG93biBzdXBwb3J0Cj4gLSBSZWd1 bGF0b3Igd2FybmluZ3MgdmlhIElSUXMKPiAtIFBvd2VyLWJ1dHRvbiB2aWEgSVJRCj4gCj4gU2ln bmVkLW9mZi1ieTogSmVyb21lIE5lYW5uZSA8am5lYW5uZUBiYXlsaWJyZS5jb20+Cj4gU2lnbmVk LW9mZi1ieTogTWFya3VzIFNjaG5laWRlci1QYXJnbWFubiA8bXNwQGJheWxpYnJlLmNvbT4KPiAt LS0KCnY2IGFuZCBubyBjaGFuZ2UtbG9nPyAgUGxlYXNlIGVuc3VyZSB5b3Uga2VlcCBhIGNoYW5n ZS1sb2cgaGVyZSBpbiB0aGUKZnV0dXJlLiAgRWxzZSByZXZpZXdlcnMgYXJlIGVzc2VudGlhbGx5 IGZvcmNlZCB0byBjb25kdWN0IGZ1bGwgcmV2aWV3cwpvdmVyIGFuZCBvdmVyLgoKPiAgTUFJTlRB SU5FUlMgICAgICAgICAgICAgICAgICB8ICAgMSArCj4gIGRyaXZlcnMvbWZkL0tjb25maWcgICAg ICAgICAgfCAgMTQgKysKPiAgZHJpdmVycy9tZmQvTWFrZWZpbGUgICAgICAgICB8ICAgMSArCj4g IGRyaXZlcnMvbWZkL3RwczY1MjE5LmMgICAgICAgfCAzMjAgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysKPiAgaW5jbHVkZS9saW51eC9tZmQvdHBzNjUyMTkuaCB8IDM0NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICA1IGZpbGVzIGNoYW5nZWQsIDY4MSBpbnNl cnRpb25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL21mZC90cHM2NTIxOS5jCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L21mZC90cHM2NTIxOS5oCgpKdXN0IGEg ZmV3IG5pdHMgZ29pbmcgZm9yd2FyZC4gIEl0J3Mgc2hhcGluZyB1cCBuaWNlbHkuCgpPbmNlIGZp eGVkLCBwbGVhc2Ugc3VibWl0IHdpdGggdGhpcyBhZGRlZDoKCkZvciBteSBvd24gcmVmZXJlbmNl IChhcHBseSB0aGlzIGFzLWlzIHRvIHlvdXIgc2lnbi1vZmYgYmxvY2spOgoKICBBY2tlZC1mb3It TUZELWJ5OiBMZWUgSm9uZXMgPGxlZUBrZXJuZWwub3JnPgoKPiBkaWZmIC0tZ2l0IGEvTUFJTlRB SU5FUlMgYi9NQUlOVEFJTkVSUwo+IGluZGV4IDE0ZWRhY2ZlYjFkNC4uZjg5ZTc3OTU5NTM2IDEw MDY0NAo+IC0tLSBhL01BSU5UQUlORVJTCj4gKysrIGIvTUFJTlRBSU5FUlMKPiBAQCAtMTQ5MzEs NiArMTQ5MzEsNyBAQCBGOglkcml2ZXJzL21mZC9tZW5lbGF1cy5jCj4gIEY6CWRyaXZlcnMvbWZk L3BhbG1hcy5jCj4gIEY6CWRyaXZlcnMvbWZkL3RwczY1MjE3LmMKPiAgRjoJZHJpdmVycy9tZmQv dHBzNjUyMTguYwo+ICtGOglkcml2ZXJzL21mZC90cHM2NTIxOS5jCj4gIEY6CWRyaXZlcnMvbWZk L3RwczY1OTEwLmMKPiAgRjoJZHJpdmVycy9tZmQvdHdsLWNvcmUuW2NoXQo+ICBGOglkcml2ZXJz L21mZC90d2w0MDMwKi5jCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWZkL0tjb25maWcgYi9kcml2 ZXJzL21mZC9LY29uZmlnCj4gaW5kZXggYWJiNThhYjFhMWE0Li4xYTg0NmM3ZGQwYzIgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9tZmQvS2NvbmZpZwo+ICsrKyBiL2RyaXZlcnMvbWZkL0tjb25maWcK PiBAQCAtMTU3Niw2ICsxNTc2LDIwIEBAIGNvbmZpZyBNRkRfVFBTNjUyMTgKPiAgCSAgVGhpcyBk cml2ZXIgY2FuIGFsc28gYmUgYnVpbHQgYXMgYSBtb2R1bGUuICBJZiBzbywgdGhlIG1vZHVsZQo+ ICAJICB3aWxsIGJlIGNhbGxlZCB0cHM2NTIxOC4KPiAgCj4gK2NvbmZpZyBNRkRfVFBTNjUyMTkK PiArCXRyaXN0YXRlICJUSSBUUFM2NTIxOSBQb3dlciBNYW5hZ2VtZW50IElDIgo+ICsJZGVwZW5k cyBvbiBJMkMgJiYgT0YKPiArCXNlbGVjdCBNRkRfQ09SRQo+ICsJc2VsZWN0IFJFR01BUF9JMkMK PiArCXNlbGVjdCBSRUdNQVBfSVJRCj4gKwloZWxwCj4gKwkgIElmIHlvdSBzYXkgeWVzIGhlcmUg eW91IGdldCBzdXBwb3J0IGZvciB0aGUgVFBTNjUyMTkgc2VyaWVzIG9mIFBvd2VyCj4gKwkgIE1h bmFnZW1lbnQgSUNzLiBUaGVzZSBpbmNsdWRlIHZvbHRhZ2UgcmVndWxhdG9ycywgR1BJT3MgYW5k Cj4gKwkgIHB1c2gvcG93ZXIgYnV0dG9uIHRoYXQgYXJlIG9mdGVuIHVzZWQgaW4gcG9ydGFibGUg ZGV2aWNlcy4KCk5pdDogYnV0dG9ucwoKPiArCSAgVGhpcyBkcml2ZXIgY2FuIGFsc28gYmUgYnVp bHQgYXMgYSBtb2R1bGUuIElmIHNvLCB0aGUgbW9kdWxlCj4gKwkgIHdpbGwgYmUgY2FsbGVkIHRw czY1MjE5Lgo+ICsKPiAgY29uZmlnIE1GRF9UUFM2NTg2WAo+ICAJYm9vbCAiVEkgVFBTNjU4Nngg UG93ZXIgTWFuYWdlbWVudCBjaGlwcyIKPiAgCWRlcGVuZHMgb24gSTJDPXkKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9tZmQvTWFrZWZpbGUgYi9kcml2ZXJzL21mZC9NYWtlZmlsZQo+IGluZGV4IDg1 OGNhY2Y2NTlkNi4uYThmZjNkNmVhM2FiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbWZkL01ha2Vm aWxlCj4gKysrIGIvZHJpdmVycy9tZmQvTWFrZWZpbGUKPiBAQCAtMTAxLDYgKzEwMSw3IEBAIG9i ai0kKENPTkZJR19UUFM2NTA3WCkJCSs9IHRwczY1MDd4Lm8KPiAgb2JqLSQoQ09ORklHX01GRF9U UFM2NTA4NikJKz0gdHBzNjUwODYubwo+ICBvYmotJChDT05GSUdfTUZEX1RQUzY1MjE3KQkrPSB0 cHM2NTIxNy5vCj4gIG9iai0kKENPTkZJR19NRkRfVFBTNjUyMTgpCSs9IHRwczY1MjE4Lm8KPiAr b2JqLSQoQ09ORklHX01GRF9UUFM2NTIxOSkJKz0gdHBzNjUyMTkubwo+ICBvYmotJChDT05GSUdf TUZEX1RQUzY1OTEwKQkrPSB0cHM2NTkxMC5vCj4gIG9iai0kKENPTkZJR19NRkRfVFBTNjU5MTIp CSs9IHRwczY1OTEyLWNvcmUubwo+ICBvYmotJChDT05GSUdfTUZEX1RQUzY1OTEyX0kyQykJKz0g dHBzNjU5MTItaTJjLm8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZmQvdHBzNjUyMTkuYyBiL2Ry aXZlcnMvbWZkL3RwczY1MjE5LmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw MDAwMDAwMC4uYzE2Mzg0ODNlMDY5Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvbWZk L3RwczY1MjE5LmMKPiBAQCAtMCwwICsxLDMyMCBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMAo+ICsvLwo+ICsvLyBEcml2ZXIgZm9yIFRQUzY1MjE5IEludGVncmF0ZWQg UG93ZXIgTWFuYWdlbWVudCBJbnRlZ3JhdGVkIENoaXBzIChQTUlDKQo+ICsvLwo+ICsvLyBDb3B5 cmlnaHQgKEMpIDIwMjIgQmF5TGlicmUgSW5jb3Jwb3JhdGVkIC0gaHR0cHM6Ly93d3cuYmF5bGli cmUuY29tLwo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgo+ICsjaW5jbHVkZSA8bGlu dXgvZXJyLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2lu aXQuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2ludGVycnVwdC5oPgo+ICsjaW5jbHVkZSA8bGludXgv aXJxLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KPiArI2luY2x1ZGUgPGxpbnV4L21v ZHVsZS5oPgo+ICsjaW5jbHVkZSA8bGludXgvb2ZfZGV2aWNlLmg+Cj4gKyNpbmNsdWRlIDxsaW51 eC9vZi5oPgo+ICsjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4gKyNpbmNsdWRl IDxsaW51eC9yZWJvb3QuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgo+ICsjaW5jbHVk ZSA8bGludXgvc2xhYi5oPgo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L21mZC9jb3JlLmg+Cj4gKyNp bmNsdWRlIDxsaW51eC9tZmQvdHBzNjUyMTkuaD4KPiArCj4gK3N0YXRpYyBpbnQgdHBzNjUyMTlf d2FybV9yZXNldChzdHJ1Y3QgdHBzNjUyMTkgKnRwcykKPiArewo+ICsJcmV0dXJuIHJlZ21hcF91 cGRhdGVfYml0cyh0cHMtPnJlZ21hcCwgVFBTNjUyMTlfUkVHX01GUF9DVFJMLAo+ICsJCQkJICBU UFM2NTIxOV9NRlBfV0FSTV9SRVNFVF9JMkNfQ1RSTF9NQVNLLAo+ICsJCQkJICBUUFM2NTIxOV9N RlBfV0FSTV9SRVNFVF9JMkNfQ1RSTF9NQVNLKTsKPiArfQo+ICsKPiArc3RhdGljIGludCB0cHM2 NTIxOV9jb2xkX3Jlc2V0KHN0cnVjdCB0cHM2NTIxOSAqdHBzKQo+ICt7Cj4gKwlyZXR1cm4gcmVn bWFwX3VwZGF0ZV9iaXRzKHRwcy0+cmVnbWFwLCBUUFM2NTIxOV9SRUdfTUZQX0NUUkwsCj4gKwkJ CQkgIFRQUzY1MjE5X01GUF9DT0xEX1JFU0VUX0kyQ19DVFJMX01BU0ssCj4gKwkJCQkgIFRQUzY1 MjE5X01GUF9DT0xEX1JFU0VUX0kyQ19DVFJMX01BU0spOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50 IHRwczY1MjE5X3NvZnRfc2h1dGRvd24oc3RydWN0IHRwczY1MjE5ICp0cHMpCj4gK3sKPiArCXJl dHVybiByZWdtYXBfdXBkYXRlX2JpdHModHBzLT5yZWdtYXAsIFRQUzY1MjE5X1JFR19NRlBfQ1RS TCwKPiArCQkJCSAgVFBTNjUyMTlfTUZQX0kyQ19PRkZfUkVRX01BU0ssCj4gKwkJCQkgIFRQUzY1 MjE5X01GUF9JMkNfT0ZGX1JFUV9NQVNLKTsKPiArfQo+ICsKPiArc3RhdGljIGludCB0cHM2NTIx OV9yZXN0YXJ0KHN0cnVjdCBub3RpZmllcl9ibG9jayAqdGhpcywKPiArCQkJICAgIHVuc2lnbmVk IGxvbmcgcmVib290X21vZGUsIHZvaWQgKmNtZCkKPiArewo+ICsJc3RydWN0IHRwczY1MjE5ICp0 cHM7Cj4gKwo+ICsJdHBzID0gY29udGFpbmVyX29mKHRoaXMsIHN0cnVjdCB0cHM2NTIxOSwgbmIp Owo+ICsJaWYgKCF0cHMpIHsKPiArCQlwcl9lcnIoInRwczY1MjE5OiBSZXN0YXJ0aW5nIGZhaWxl ZCBiZWNhdXNlIHRoZSBwb2ludGVyIHRvIHRwczY1MjE5IGlzIGludmFsaWRcbiIpOwo+ICsJCXJl dHVybiAtRU5PREVWOwo+ICsJfQoKTml0OiAnXG4nCgo+ICsJaWYgKHJlYm9vdF9tb2RlID09IFJF Qk9PVF9XQVJNKQo+ICsJCXRwczY1MjE5X3dhcm1fcmVzZXQodHBzKTsKPiArCWVsc2UKPiArCQl0 cHM2NTIxOV9jb2xkX3Jlc2V0KHRwcyk7CgpOaXQ6ICdcbicKCj4gKwlyZXR1cm4gTk9USUZZX0RP TkU7Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgcG1pY19yc3RfcmVz dGFydF9uYiA9IHsKPiArCS5ub3RpZmllcl9jYWxsID0gdHBzNjUyMTlfcmVzdGFydCwKPiArCS5w cmlvcml0eSA9IDIwMCwKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVzb3VyY2Ug dHBzNjUyMTlfcHdyYnV0dG9uX3Jlc291cmNlc1tdID0gewo+ICsJREVGSU5FX1JFU19JUlFfTkFN RUQoVFBTNjUyMTlfSU5UX1BCX0ZBTExJTkdfRURHRV9ERVRFQ1QsICJmYWxsaW5nIiksCj4gKwlE RUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfUEJfUklTSU5HX0VER0VfREVURUNULCAi cmlzaW5nIiksCj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHJlc291cmNlIHRwczY1 MjE5X3JlZ3VsYXRvcl9yZXNvdXJjZXNbXSA9IHsKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQ UzY1MjE5X0lOVF9MRE8zX1NDRywgIkxETzNfU0NHIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1F RChUUFM2NTIxOV9JTlRfTERPM19PQywgIkxETzNfT0MiKSwKPiArCURFRklORV9SRVNfSVJRX05B TUVEKFRQUzY1MjE5X0lOVF9MRE8zX1VWLCAiTERPM19VViIpLAo+ICsJREVGSU5FX1JFU19JUlFf TkFNRUQoVFBTNjUyMTlfSU5UX0xETzRfU0NHLCAiTERPNF9TQ0ciKSwKPiArCURFRklORV9SRVNf SVJRX05BTUVEKFRQUzY1MjE5X0lOVF9MRE80X09DLCAiTERPNF9PQyIpLAo+ICsJREVGSU5FX1JF U19JUlFfTkFNRUQoVFBTNjUyMTlfSU5UX0xETzRfVVYsICJMRE80X1VWIiksCj4gKwlERUZJTkVf UkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfTERPMV9TQ0csICJMRE8xX1NDRyIpLAo+ICsJREVG SU5FX1JFU19JUlFfTkFNRUQoVFBTNjUyMTlfSU5UX0xETzFfT0MsICJMRE8xX09DIiksCj4gKwlE RUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfTERPMV9VViwgIkxETzFfVVYiKSwKPiAr CURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1MjE5X0lOVF9MRE8yX1NDRywgIkxETzJfU0NHIiks Cj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfTERPMl9PQywgIkxETzJfT0Mi KSwKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1MjE5X0lOVF9MRE8yX1VWLCAiTERPMl9V ViIpLAo+ICsJREVGSU5FX1JFU19JUlFfTkFNRUQoVFBTNjUyMTlfSU5UX0JVQ0szX1NDRywgIkJV Q0szX1NDRyIpLAo+ICsJREVGSU5FX1JFU19JUlFfTkFNRUQoVFBTNjUyMTlfSU5UX0JVQ0szX09D LCAiQlVDSzNfT0MiKSwKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1MjE5X0lOVF9CVUNL M19ORUdfT0MsICJCVUNLM19ORUdfT0MiKSwKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1 MjE5X0lOVF9CVUNLM19VViwgIkJVQ0szX1VWIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChU UFM2NTIxOV9JTlRfQlVDSzFfU0NHLCAiQlVDSzFfU0NHIiksCj4gKwlERUZJTkVfUkVTX0lSUV9O QU1FRChUUFM2NTIxOV9JTlRfQlVDSzFfT0MsICJCVUNLMV9PQyIpLAo+ICsJREVGSU5FX1JFU19J UlFfTkFNRUQoVFBTNjUyMTlfSU5UX0JVQ0sxX05FR19PQywgIkJVQ0sxX05FR19PQyIpLAo+ICsJ REVGSU5FX1JFU19JUlFfTkFNRUQoVFBTNjUyMTlfSU5UX0JVQ0sxX1VWLCAiQlVDSzFfVVYiKSwK PiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1MjE5X0lOVF9CVUNLMl9TQ0csICJCVUNLMl9T Q0ciKSwKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1MjE5X0lOVF9CVUNLMl9PQywgIkJV Q0syX09DIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfQlVDSzJfTkVH X09DLCAiQlVDSzJfTkVHX09DIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9J TlRfQlVDSzJfVVYsICJCVUNLMl9VViIpLAo+ICsJREVGSU5FX1JFU19JUlFfTkFNRUQoVFBTNjUy MTlfSU5UX0JVQ0sxX1JWLCAiQlVDSzFfUlYiKSwKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQ UzY1MjE5X0lOVF9CVUNLMl9SViwgIkJVQ0syX1JWIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1F RChUUFM2NTIxOV9JTlRfQlVDSzNfUlYsICJCVUNLM19SViIpLAo+ICsJREVGSU5FX1JFU19JUlFf TkFNRUQoVFBTNjUyMTlfSU5UX0xETzFfUlYsICJMRE8xX1JWIiksCj4gKwlERUZJTkVfUkVTX0lS UV9OQU1FRChUUFM2NTIxOV9JTlRfTERPMl9SViwgIkxETzJfUlYiKSwKPiArCURFRklORV9SRVNf SVJRX05BTUVEKFRQUzY1MjE5X0lOVF9MRE8zX1JWLCAiTERPM19SViIpLAo+ICsJREVGSU5FX1JF U19JUlFfTkFNRUQoVFBTNjUyMTlfSU5UX0xETzRfUlYsICJMRE80X1JWIiksCj4gKwlERUZJTkVf UkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfQlVDSzFfUlZfU0QsICJCVUNLMV9SVl9TRCIpLAo+ ICsJREVGSU5FX1JFU19JUlFfTkFNRUQoVFBTNjUyMTlfSU5UX0JVQ0syX1JWX1NELCAiQlVDSzJf UlZfU0QiKSwKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1MjE5X0lOVF9CVUNLM19SVl9T RCwgIkJVQ0szX1JWX1NEIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRf TERPMV9SVl9TRCwgIkxETzFfUlZfU0QiKSwKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1 MjE5X0lOVF9MRE8yX1JWX1NELCAiTERPMl9SVl9TRCIpLAo+ICsJREVGSU5FX1JFU19JUlFfTkFN RUQoVFBTNjUyMTlfSU5UX0xETzNfUlZfU0QsICJMRE8zX1JWX1NEIiksCj4gKwlERUZJTkVfUkVT X0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfTERPNF9SVl9TRCwgIkxETzRfUlZfU0QiKSwKPiArCURF RklORV9SRVNfSVJRX05BTUVEKFRQUzY1MjE5X0lOVF9USU1FT1VULCAiVElNRU9VVCIpLAo+ICsJ REVGSU5FX1JFU19JUlFfTkFNRUQoVFBTNjUyMTlfSU5UX1NFTlNPUl8zX1dBUk0sICJTRU5TT1Jf M19XQVJNIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfU0VOU09SXzJf V0FSTSwgIlNFTlNPUl8yX1dBUk0iKSwKPiArCURFRklORV9SRVNfSVJRX05BTUVEKFRQUzY1MjE5 X0lOVF9TRU5TT1JfMV9XQVJNLCAiU0VOU09SXzFfV0FSTSIpLAo+ICsJREVGSU5FX1JFU19JUlFf TkFNRUQoVFBTNjUyMTlfSU5UX1NFTlNPUl8wX1dBUk0sICJTRU5TT1JfMF9XQVJNIiksCj4gKwlE RUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfU0VOU09SXzNfSE9ULCAiU0VOU09SXzNf SE9UIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRfU0VOU09SXzJfSE9U LCAiU0VOU09SXzJfSE9UIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChUUFM2NTIxOV9JTlRf U0VOU09SXzFfSE9ULCAiU0VOU09SXzFfSE9UIiksCj4gKwlERUZJTkVfUkVTX0lSUV9OQU1FRChU UFM2NTIxOV9JTlRfU0VOU09SXzBfSE9ULCAiU0VOU09SXzBfSE9UIiksCj4gK307Cj4gKwo+ICtz dGF0aWMgY29uc3Qgc3RydWN0IG1mZF9jZWxsIHRwczY1MjE5X2NlbGxzW10gPSB7Cj4gKwl7Cj4g KwkJLm5hbWUgPSAidHBzNjUyMTktcmVndWxhdG9yIiwKPiArCQkucmVzb3VyY2VzID0gdHBzNjUy MTlfcmVndWxhdG9yX3Jlc291cmNlcywKPiArCQkubnVtX3Jlc291cmNlcyA9IEFSUkFZX1NJWkUo dHBzNjUyMTlfcmVndWxhdG9yX3Jlc291cmNlcyksCj4gKwl9LCB7Cj4gKwkJLm5hbWUgPSAidHBz NjUyMTktZ3Bpb3MiLAo+ICsJfSwKCk5pdDogTGlrZSB0aGlzIHBsZWFzZToKCiAgICAgeyAubmFt ZSA9ICJ0cHM2NTIxOS1ncGlvcyIsIH0sCgo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVj dCBtZmRfY2VsbCB0cHM2NTIxOV9wd3JidXR0b25fY2VsbCA9IHsKPiArCS5uYW1lID0gInRwczY1 MjE5LXB3cmJ1dHRvbiIsCj4gKwkucmVzb3VyY2VzID0gdHBzNjUyMTlfcHdyYnV0dG9uX3Jlc291 cmNlcywKPiArCS5udW1fcmVzb3VyY2VzID0gQVJSQVlfU0laRSh0cHM2NTIxOV9wd3JidXR0b25f cmVzb3VyY2VzKSwKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcmVnbWFwX2NvbmZp ZyB0cHM2NTIxOV9yZWdtYXBfY29uZmlnID0gewo+ICsJLnJlZ19iaXRzID0gOCwKPiArCS52YWxf Yml0cyA9IDgsCj4gKwkubWF4X3JlZ2lzdGVyID0gVFBTNjUyMTlfUkVHX0ZBQ1RPUllfQ09ORklH XzIsCj4gK307Cj4gKwo+ICsvKgo+ICsgKiBNYXBwaW5nIG9mIG1haW4gSVJRIHJlZ2lzdGVyIGJp dHMgdG8gc3ViLUlSUSByZWdpc3RlciBvZmZzZXRzIHNvIHRoYXQgd2UgY2FuCj4gKyAqIGFjY2Vz cyBjb3JlY3Qgc3ViLUlSUSByZWdpc3RlcnMgYmFzZWQgb24gYml0cyB0aGF0IGFyZSBzZXQgaW4g bWFpbiBJUlEKPiArICogcmVnaXN0ZXIuCj4gKyAqLwo+ICsvKiBUaW1lb3V0IFJlc2lkdWFsIFZv bHRhZ2UgU2h1dGRvd24gKi8KPiArc3RhdGljIHVuc2lnbmVkIGludCBiaXQwX29mZnNldHNbXSA9 IHsgVFBTNjUyMTlfUkVHX0lOVF9UT19SVl9QT1MgfTsKPiArc3RhdGljIHVuc2lnbmVkIGludCBi aXQxX29mZnNldHNbXSA9IHsgVFBTNjUyMTlfUkVHX0lOVF9SVl9QT1MgfTsJLyogUmVzaWR1YWwg Vm9sdGFnZSAqLwo+ICtzdGF0aWMgdW5zaWduZWQgaW50IGJpdDJfb2Zmc2V0c1tdID0geyBUUFM2 NTIxOV9SRUdfSU5UX1NZU19QT1MgfTsJLyogU3lzdGVtICovCj4gK3N0YXRpYyB1bnNpZ25lZCBp bnQgYml0M19vZmZzZXRzW10gPSB7IFRQUzY1MjE5X1JFR19JTlRfQlVDS18xXzJfUE9TIH07CS8q IEJ1Y2sgMS0yICovCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgYml0NF9vZmZzZXRzW10gPSB7IFRQ UzY1MjE5X1JFR19JTlRfQlVDS18zX1BPUyB9OwkvKiBCdWNrIDMgKi8KPiArc3RhdGljIHVuc2ln bmVkIGludCBiaXQ1X29mZnNldHNbXSA9IHsgVFBTNjUyMTlfUkVHX0lOVF9MRE9fMV8yX1BPUyB9 OwkvKiBMRE8gMS0yICovCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgYml0Nl9vZmZzZXRzW10gPSB7 IFRQUzY1MjE5X1JFR19JTlRfTERPXzNfNF9QT1MgfTsJLyogTERPIDMtNCAqLwo+ICtzdGF0aWMg dW5zaWduZWQgaW50IGJpdDdfb2Zmc2V0c1tdID0geyBUUFM2NTIxOV9SRUdfSU5UX1BCX1BPUyB9 OwkvKiBQb3dlciBCdXR0b24gKi8KPiArCj4gK3N0YXRpYyBzdHJ1Y3QgcmVnbWFwX2lycV9zdWJf aXJxX21hcCB0cHM2NTIxOV9zdWJfaXJxX29mZnNldHNbXSA9IHsKPiArCVJFR01BUF9JUlFfTUFJ Tl9SRUdfT0ZGU0VUKGJpdDBfb2Zmc2V0cyksCj4gKwlSRUdNQVBfSVJRX01BSU5fUkVHX09GRlNF VChiaXQxX29mZnNldHMpLAo+ICsJUkVHTUFQX0lSUV9NQUlOX1JFR19PRkZTRVQoYml0Ml9vZmZz ZXRzKSwKPiArCVJFR01BUF9JUlFfTUFJTl9SRUdfT0ZGU0VUKGJpdDNfb2Zmc2V0cyksCj4gKwlS RUdNQVBfSVJRX01BSU5fUkVHX09GRlNFVChiaXQ0X29mZnNldHMpLAo+ICsJUkVHTUFQX0lSUV9N QUlOX1JFR19PRkZTRVQoYml0NV9vZmZzZXRzKSwKPiArCVJFR01BUF9JUlFfTUFJTl9SRUdfT0ZG U0VUKGJpdDZfb2Zmc2V0cyksCj4gKwlSRUdNQVBfSVJRX01BSU5fUkVHX09GRlNFVChiaXQ3X29m ZnNldHMpLAo+ICt9Owo+ICsKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhpbnRf bmFtZSwgcmVnaXN0ZXJfcG9zaXRpb24pIFwKPiArCVJFR01BUF9JUlFfUkVHKGludF9uYW1lLCBy ZWdpc3Rlcl9wb3NpdGlvbiwgaW50X25hbWUjI19NQVNLKQo+ICsKPiArc3RhdGljIHN0cnVjdCBy ZWdtYXBfaXJxIHRwczY1MjE5X2lycXNbXSA9IHsKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVH KFRQUzY1MjE5X0lOVF9MRE8zX1NDRywgVFBTNjUyMTlfUkVHX0lOVF9MRE9fM180X1BPUyksCj4g KwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfTERPM19PQywgVFBTNjUyMTlf UkVHX0lOVF9MRE9fM180X1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIx OV9JTlRfTERPM19VViwgVFBTNjUyMTlfUkVHX0lOVF9MRE9fM180X1BPUyksCj4gKwlUUFM2NTIx OV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfTERPNF9TQ0csIFRQUzY1MjE5X1JFR19JTlRf TERPXzNfNF9QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX0xE TzRfT0MsIFRQUzY1MjE5X1JFR19JTlRfTERPXzNfNF9QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQ X0lSUV9SRUcoVFBTNjUyMTlfSU5UX0xETzRfVVYsIFRQUzY1MjE5X1JFR19JTlRfTERPXzNfNF9Q T1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX0xETzFfU0NHLCBU UFM2NTIxOV9SRUdfSU5UX0xET18xXzJfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVH KFRQUzY1MjE5X0lOVF9MRE8xX09DLCBUUFM2NTIxOV9SRUdfSU5UX0xET18xXzJfUE9TKSwKPiAr CVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9MRE8xX1VWLCBUUFM2NTIxOV9S RUdfSU5UX0xET18xXzJfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5 X0lOVF9MRE8yX1NDRywgVFBTNjUyMTlfUkVHX0lOVF9MRE9fMV8yX1BPUyksCj4gKwlUUFM2NTIx OV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfTERPMl9PQywgVFBTNjUyMTlfUkVHX0lOVF9M RE9fMV8yX1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfTERP Ml9VViwgVFBTNjUyMTlfUkVHX0lOVF9MRE9fMV8yX1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBf SVJRX1JFRyhUUFM2NTIxOV9JTlRfQlVDSzNfU0NHLCBUUFM2NTIxOV9SRUdfSU5UX0JVQ0tfM19Q T1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX0JVQ0szX09DLCBU UFM2NTIxOV9SRUdfSU5UX0JVQ0tfM19QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lSUV9SRUco VFBTNjUyMTlfSU5UX0JVQ0szX05FR19PQywgVFBTNjUyMTlfUkVHX0lOVF9CVUNLXzNfUE9TKSwK PiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9CVUNLM19VViwgVFBTNjUy MTlfUkVHX0lOVF9CVUNLXzNfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1 MjE5X0lOVF9CVUNLMl9TQ0csIFRQUzY1MjE5X1JFR19JTlRfQlVDS18xXzJfUE9TKSwKPiArCVRQ UzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9CVUNLMl9PQywgVFBTNjUyMTlfUkVH X0lOVF9CVUNLXzFfMl9QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlf SU5UX0JVQ0syX05FR19PQywgVFBTNjUyMTlfUkVHX0lOVF9CVUNLXzFfMl9QT1MpLAo+ICsJVFBT NjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX0JVQ0syX1VWLCBUUFM2NTIxOV9SRUdf SU5UX0JVQ0tfMV8yX1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9J TlRfQlVDSzFfU0NHLCBUUFM2NTIxOV9SRUdfSU5UX0JVQ0tfMV8yX1BPUyksCj4gKwlUUFM2NTIx OV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfQlVDSzFfT0MsIFRQUzY1MjE5X1JFR19JTlRf QlVDS18xXzJfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9C VUNLMV9ORUdfT0MsIFRQUzY1MjE5X1JFR19JTlRfQlVDS18xXzJfUE9TKSwKPiArCVRQUzY1MjE5 X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9CVUNLMV9VViwgVFBTNjUyMTlfUkVHX0lOVF9C VUNLXzFfMl9QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX1NF TlNPUl8zX1dBUk0sIFRQUzY1MjE5X1JFR19JTlRfU1lTX1BPUyksCj4gKwlUUFM2NTIxOV9SRUdN QVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfU0VOU09SXzJfV0FSTSwgVFBTNjUyMTlfUkVHX0lOVF9T WVNfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9TRU5TT1Jf MV9XQVJNLCBUUFM2NTIxOV9SRUdfSU5UX1NZU19QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lS UV9SRUcoVFBTNjUyMTlfSU5UX1NFTlNPUl8wX1dBUk0sIFRQUzY1MjE5X1JFR19JTlRfU1lTX1BP UyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfU0VOU09SXzNfSE9U LCBUUFM2NTIxOV9SRUdfSU5UX1NZU19QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lSUV9SRUco VFBTNjUyMTlfSU5UX1NFTlNPUl8yX0hPVCwgVFBTNjUyMTlfUkVHX0lOVF9TWVNfUE9TKSwKPiAr CVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9TRU5TT1JfMV9IT1QsIFRQUzY1 MjE5X1JFR19JTlRfU1lTX1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIx OV9JTlRfU0VOU09SXzBfSE9ULCBUUFM2NTIxOV9SRUdfSU5UX1NZU19QT1MpLAo+ICsJVFBTNjUy MTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX0JVQ0sxX1JWLCBUUFM2NTIxOV9SRUdfSU5U X1JWX1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfQlVDSzJf UlYsIFRQUzY1MjE5X1JFR19JTlRfUlZfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVH KFRQUzY1MjE5X0lOVF9CVUNLM19SViwgVFBTNjUyMTlfUkVHX0lOVF9SVl9QT1MpLAo+ICsJVFBT NjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX0xETzFfUlYsIFRQUzY1MjE5X1JFR19J TlRfUlZfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9MRE8y X1JWLCBUUFM2NTIxOV9SRUdfSU5UX1JWX1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JF RyhUUFM2NTIxOV9JTlRfTERPM19SViwgVFBTNjUyMTlfUkVHX0lOVF9SVl9QT1MpLAo+ICsJVFBT NjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX0xETzRfUlYsIFRQUzY1MjE5X1JFR19J TlRfUlZfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9CVUNL MV9SVl9TRCwgVFBTNjUyMTlfUkVHX0lOVF9UT19SVl9QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQ X0lSUV9SRUcoVFBTNjUyMTlfSU5UX0JVQ0syX1JWX1NELCBUUFM2NTIxOV9SRUdfSU5UX1RPX1JW X1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfQlVDSzNfUlZf U0QsIFRQUzY1MjE5X1JFR19JTlRfVE9fUlZfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFf UkVHKFRQUzY1MjE5X0lOVF9MRE8xX1JWX1NELCBUUFM2NTIxOV9SRUdfSU5UX1RPX1JWX1BPUyks Cj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9JTlRfTERPMl9SVl9TRCwgVFBT NjUyMTlfUkVHX0lOVF9UT19SVl9QT1MpLAo+ICsJVFBTNjUyMTlfUkVHTUFQX0lSUV9SRUcoVFBT NjUyMTlfSU5UX0xETzNfUlZfU0QsIFRQUzY1MjE5X1JFR19JTlRfVE9fUlZfUE9TKSwKPiArCVRQ UzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lOVF9MRE80X1JWX1NELCBUUFM2NTIxOV9S RUdfSU5UX1RPX1JWX1BPUyksCj4gKwlUUFM2NTIxOV9SRUdNQVBfSVJRX1JFRyhUUFM2NTIxOV9J TlRfVElNRU9VVCwgVFBTNjUyMTlfUkVHX0lOVF9UT19SVl9QT1MpLAo+ICsJVFBTNjUyMTlfUkVH TUFQX0lSUV9SRUcoVFBTNjUyMTlfSU5UX1BCX0ZBTExJTkdfRURHRV9ERVRFQ1QsIFRQUzY1MjE5 X1JFR19JTlRfUEJfUE9TKSwKPiArCVRQUzY1MjE5X1JFR01BUF9JUlFfUkVHKFRQUzY1MjE5X0lO VF9QQl9SSVNJTkdfRURHRV9ERVRFQ1QsIFRQUzY1MjE5X1JFR19JTlRfUEJfUE9TKSwKPiArfTsK PiArCj4gK3N0YXRpYyBzdHJ1Y3QgcmVnbWFwX2lycV9jaGlwIHRwczY1MjE5X2lycV9jaGlwID0g ewo+ICsJLm5hbWUgPSAidHBzNjUyMTlfaXJxIiwKPiArCS5tYWluX3N0YXR1cyA9IFRQUzY1MjE5 X1JFR19JTlRfU09VUkNFLAo+ICsJLm51bV9tYWluX3JlZ3MgPSAxLAo+ICsJLm51bV9tYWluX3N0 YXR1c19iaXRzID0gOCwKPiArCS5pcnFzID0gdHBzNjUyMTlfaXJxcywKPiArCS5udW1faXJxcyA9 IEFSUkFZX1NJWkUodHBzNjUyMTlfaXJxcyksCj4gKwkuc3RhdHVzX2Jhc2UgPSBUUFM2NTIxOV9S RUdfSU5UX0xET18zXzQsCj4gKwkuYWNrX2Jhc2UgPSBUUFM2NTIxOV9SRUdfSU5UX0xET18zXzQs Cj4gKwkuY2xlYXJfYWNrID0gMSwKPiArCS5udW1fcmVncyA9IDgsCj4gKwkuc3ViX3JlZ19vZmZz ZXRzID0gdHBzNjUyMTlfc3ViX2lycV9vZmZzZXRzLAo+ICt9Owo+ICsKPiArc3RhdGljIGludCB0 cHM2NTIxOV9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50KQo+ICt7Cj4gKwlzdHJ1Y3Qg dHBzNjUyMTkgKnRwczsKPiArCXVuc2lnbmVkIGludCBjaGlwaWQ7Cj4gKwlib29sIHB3cl9idXR0 b247Cj4gKwlpbnQgcmV0Owo+ICsKPiArCXRwcyA9IGRldm1fa3phbGxvYygmY2xpZW50LT5kZXYs IHNpemVvZigqdHBzKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIXRwcykKPiArCQlyZXR1cm4gLUVO T01FTTsKPiArCj4gKwlpMmNfc2V0X2NsaWVudGRhdGEoY2xpZW50LCB0cHMpOwo+ICsKPiArCXRw cy0+ZGV2ID0gJmNsaWVudC0+ZGV2Owo+ICsKPiArCXRwcy0+cmVnbWFwID0gZGV2bV9yZWdtYXBf aW5pdF9pMmMoY2xpZW50LCAmdHBzNjUyMTlfcmVnbWFwX2NvbmZpZyk7Cj4gKwlpZiAoSVNfRVJS KHRwcy0+cmVnbWFwKSkgewo+ICsJCXJldCA9IFBUUl9FUlIodHBzLT5yZWdtYXApOwo+ICsJCWRl dl9lcnIodHBzLT5kZXYsICJGYWlsZWQgdG8gYWxsb2NhdGUgcmVnaXN0ZXIgbWFwOiAlZFxuIiwg cmV0KTsKPiArCQlyZXR1cm4gcmV0Owo+ICsJfQo+ICsKPiArCXJldCA9IGRldm1fcmVnbWFwX2Fk ZF9pcnFfY2hpcCgmY2xpZW50LT5kZXYsIHRwcy0+cmVnbWFwLCBjbGllbnQtPmlycSwKPiArCQkJ CSAgICAgICBJUlFGX09ORVNIT1QsIDAsICZ0cHM2NTIxOV9pcnFfY2hpcCwKPiArCQkJCSAgICAg ICAmdHBzLT5pcnFfZGF0YSk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJ cmV0ID0gcmVnbWFwX3JlYWQodHBzLT5yZWdtYXAsIFRQUzY1MjE5X1JFR19USV9ERVZfSUQsICZj aGlwaWQpOwo+ICsJaWYgKHJldCkgewo+ICsJCWRldl9lcnIodHBzLT5kZXYsICJGYWlsZWQgdG8g cmVhZCBkZXZpY2UgSUQ6ICVkXG4iLCByZXQpOwo+ICsJCXJldHVybiByZXQ7Cj4gKwl9Cj4gKwo+ ICsJcmV0ID0gZGV2bV9tZmRfYWRkX2RldmljZXModHBzLT5kZXYsIFBMQVRGT1JNX0RFVklEX0FV VE8sCj4gKwkJCQkgICB0cHM2NTIxOV9jZWxscywgQVJSQVlfU0laRSh0cHM2NTIxOV9jZWxscyks Cj4gKwkJCQkgICBOVUxMLCAwLCByZWdtYXBfaXJxX2dldF9kb21haW4odHBzLT5pcnFfZGF0YSkp Owo+ICsJaWYgKHJldCkgewo+ICsJCWRldl9lcnIodHBzLT5kZXYsICJGYWlsZWQgdG8gYWRkIGNo aWxkIGRldmljZXM6ICVkXG4iLCByZXQpOwo+ICsJCXJldHVybiByZXQ7Cj4gKwl9Cj4gKwo+ICsJ cHdyX2J1dHRvbiA9IG9mX3Byb3BlcnR5X3JlYWRfYm9vbCh0cHMtPmRldi0+b2Zfbm9kZSwgInRp LHBvd2VyLWJ1dHRvbiIpOwo+ICsJaWYgKHB3cl9idXR0b24pIHsKPiArCQlyZXQgPSBkZXZtX21m ZF9hZGRfZGV2aWNlcyh0cHMtPmRldiwgUExBVEZPUk1fREVWSURfQVVUTywKPiArCQkJCQkgICAm dHBzNjUyMTlfcHdyYnV0dG9uX2NlbGwsIDEsIE5VTEwsIDAsCj4gKwkJCQkJICAgcmVnbWFwX2ly cV9nZXRfZG9tYWluKHRwcy0+aXJxX2RhdGEpKTsKPiArCQlpZiAocmV0KSB7Cj4gKwkJCWRldl9l cnIodHBzLT5kZXYsICJGYWlsZWQgdG8gYWRkIHBvd2VyLWJ1dHRvbjogJWRcbiIsIHJldCk7Cj4g KwkJCXJldHVybiByZXQ7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCXRwcy0+bmIgPSBwbWljX3JzdF9y ZXN0YXJ0X25iOwo+ICsJcmV0ID0gcmVnaXN0ZXJfcmVzdGFydF9oYW5kbGVyKCZ0cHMtPm5iKTsK PiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKHRwcy0+ZGV2LCAiY2Fubm90IHJlZ2lzdGVyIHJl c3RhcnQgaGFuZGxlciwgJWRcbiIsIHJldCk7Cj4gKwkJcmV0dXJuIHJldDsKPiArCX0KPiArCj4g KwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQg b2ZfdHBzNjUyMTlfbWF0Y2hfdGFibGVbXSA9IHsKPiArCXsgLmNvbXBhdGlibGUgPSAidGksdHBz NjUyMTkiLCB9LAo+ICsJe30KPiArfTsKPiArTU9EVUxFX0RFVklDRV9UQUJMRShvZiwgb2ZfdHBz NjUyMTlfbWF0Y2hfdGFibGUpOwo+ICsKPiArc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVyIHRwczY1 MjE5X2RyaXZlciA9IHsKPiArCS5kcml2ZXIJCT0gewo+ICsJCS5uYW1lCT0gInRwczY1MjE5IiwK PiArCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl90cHM2NTIxOV9tYXRjaF90YWJsZSwKPiArCX0sCj4g KwkucHJvYmVfbmV3CT0gdHBzNjUyMTlfcHJvYmUsCj4gK307Cj4gK21vZHVsZV9pMmNfZHJpdmVy KHRwczY1MjE5X2RyaXZlcik7Cj4gKwo+ICtNT0RVTEVfQVVUSE9SKCJKZXJvbWUgTmVhbm5lIDxq bmVhbm5lQGJheWxpYnJlLmNvbT4iKTsKPiArTU9EVUxFX0RFU0NSSVBUSU9OKCJUUFM2NTIxOSBw b3dlciBtYW5hZ2VtZW50IElDIGRyaXZlciIpOwo+ICtNT0RVTEVfTElDRU5TRSgiR1BMIik7Cj4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWZkL3RwczY1MjE5LmggYi9pbmNsdWRlL2xpbnV4 L21mZC90cHM2NTIxOS5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAw MDAuLjJjMWNmOTJlOTJhYwo+IC0tLSAvZGV2L251bGwKPiArKysgYi9pbmNsdWRlL2xpbnV4L21m ZC90cHM2NTIxOS5oCj4gQEAgLTAsMCArMSwzNDUgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAgKi8KPiArLyoKPiArICogRnVuY3Rpb25zIHRvIGFjY2VzcyBUUFM2NTIx OSBwb3dlciBtYW5hZ2VtZW50IElDLgoKTml0OiBQb3dlciBNYW5hZ2VtZW50IElDCgo+ICsgKiBD b3B5cmlnaHQgKEMpIDIwMjIgQmF5TGlicmUgSW5jb3Jwb3JhdGVkIC0gaHR0cHM6Ly93d3cuYmF5 bGlicmUuY29tLwo+ICsgKi8KPiArCj4gKyNpZm5kZWYgTUZEX1RQUzY1MjE5X0gKPiArI2RlZmlu ZSBNRkRfVFBTNjUyMTlfSAo+ICsKPiArI2luY2x1ZGUgPGxpbnV4L2JpdG9wcy5oPgo+ICsjaW5j bHVkZSA8bGludXgvbm90aWZpZXIuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3JlZ3VsYXRvci9kcml2 ZXIuaD4KPiArCj4gK3N0cnVjdCByZWdtYXA7Cj4gK3N0cnVjdCByZWdtYXBfaXJxX2NoaXBfZGF0 YTsKPiArCj4gKyNkZWZpbmUgVFBTNjUyMTlfMVYzNQkJCQkJMTM1MDAwMAo+ICsjZGVmaW5lIFRQ UzY1MjE5XzFWOAkJCQkJMTgwMDAwMAo+ICsKPiArLyogVFBTIGNoaXAgaWQgbGlzdCAqLwo+ICsj ZGVmaW5lIFRQUzY1MjE5CQkJCQkweEYwCj4gKwo+ICsvKiBJMkMgSUQgZm9yIFRQUzY1MjE5IHBh cnQgKi8KPiArI2RlZmluZSBUUFM2NTIxOV9JMkNfSUQJCQkJCTB4MjQKPiArCj4gKy8qIEFsbCBy ZWdpc3RlciBhZGRyZXNzZXMgKi8KPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfVElfREVWX0lECQkJ CTB4MDAKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfTlZNX0lECQkJCTB4MDEKPiArI2RlZmluZSBU UFM2NTIxOV9SRUdfRU5BQkxFX0NUUkwJCQkweDAyCj4gKyNkZWZpbmUgVFBTNjUyMTlfUkVHX0JV Q0tTX0NPTkZJRwkJCTB4MDMKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfTERPNF9WT1VUCQkJCTB4 MDQKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfTERPM19WT1VUCQkJCTB4MDUKPiArI2RlZmluZSBU UFM2NTIxOV9SRUdfTERPMl9WT1VUCQkJCTB4MDYKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfTERP MV9WT1VUCQkJCTB4MDcKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfQlVDSzNfVk9VVAkJCQkweDgK PiArI2RlZmluZSBUUFM2NTIxOV9SRUdfQlVDSzJfVk9VVAkJCQkweDkKPiArI2RlZmluZSBUUFM2 NTIxOV9SRUdfQlVDSzFfVk9VVAkJCQkweEEKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfTERPNF9T RVFVRU5DRV9TTE9UCQkJMHhCCj4gKyNkZWZpbmUgVFBTNjUyMTlfUkVHX0xETzNfU0VRVUVOQ0Vf U0xPVAkJCTB4Qwo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19MRE8yX1NFUVVFTkNFX1NMT1QJCQkw eEQKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfTERPMV9TRVFVRU5DRV9TTE9UCQkJMHhFCj4gKyNk ZWZpbmUgVFBTNjUyMTlfUkVHX0JVQ0szX1NFUVVFTkNFX1NMT1QJCTB4Rgo+ICsjZGVmaW5lIFRQ UzY1MjE5X1JFR19CVUNLMl9TRVFVRU5DRV9TTE9UCQkweDEwCj4gKyNkZWZpbmUgVFBTNjUyMTlf UkVHX0JVQ0sxX1NFUVVFTkNFX1NMT1QJCTB4MTEKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfblJT VF9TRVFVRU5DRV9TTE9UCQkJMHgxMgo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19HUElPX1NFUVVF TkNFX1NMT1QJCQkweDEzCj4gKyNkZWZpbmUgVFBTNjUyMTlfUkVHX0dQTzJfU0VRVUVOQ0VfU0xP VAkJCTB4MTQKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfR1BPMV9TRVFVRU5DRV9TTE9UCQkJMHgx NQo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19QT1dFUl9VUF9TTE9UX0RVUkFUSU9OXzEJCTB4MTYK PiArI2RlZmluZSBUUFM2NTIxOV9SRUdfUE9XRVJfVVBfU0xPVF9EVVJBVElPTl8yCQkweDE3Cj4g KyNkZWZpbmUgVFBTNjUyMTlfUkVHX1BPV0VSX1VQX1NMT1RfRFVSQVRJT05fMwkJMHgxOAo+ICsj ZGVmaW5lIFRQUzY1MjE5X1JFR19QT1dFUl9VUF9TTE9UX0RVUkFUSU9OXzQJCTB4MTkKPiArI2Rl ZmluZSBUUFM2NTIxOV9SRUdfUE9XRVJfRE9XTl9TTE9UX0RVUkFUSU9OXzEJCTB4MUEKPiArI2Rl ZmluZSBUUFM2NTIxOV9SRUdfUE9XRVJfRE9XTl9TTE9UX0RVUkFUSU9OXzIJCTB4MUIKPiArI2Rl ZmluZSBUUFM2NTIxOV9SRUdfUE9XRVJfRE9XTl9TTE9UX0RVUkFUSU9OXzMJCTB4MUMKPiArI2Rl ZmluZSBUUFM2NTIxOV9SRUdfUE9XRVJfRE9XTl9TTE9UX0RVUkFUSU9OXzQJCTB4MUQKPiArI2Rl ZmluZSBUUFM2NTIxOV9SRUdfR0VORVJBTF9DT05GSUcJCQkweDFFCj4gKyNkZWZpbmUgVFBTNjUy MTlfUkVHX01GUF8xX0NPTkZJRwkJCTB4MUYKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfTUZQXzJf Q09ORklHCQkJMHgyMAo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19TVEJZXzFfQ09ORklHCQkJMHgy MQo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19TVEJZXzJfQ09ORklHCQkJMHgyMgo+ICsjZGVmaW5l IFRQUzY1MjE5X1JFR19PQ19ERUdMX0NPTkZJRwkJCTB4MjMKPiArLyogJ3N1YiBpcnEnIE1BU0sg cmVnaXN0ZXJzICovCj4gKyNkZWZpbmUgVFBTNjUyMTlfUkVHX0lOVF9NQVNLX1VWCQkJMHgyNAo+ ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19NQVNLX0NPTkZJRwkJCTB4MjUKPiArCj4gKyNkZWZpbmUg VFBTNjUyMTlfUkVHX0kyQ19BRERSRVNTX1JFRwkJCTB4MjYKPiArI2RlZmluZSBUUFM2NTIxOV9S RUdfVVNFUl9HRU5FUkFMX05WTV9TVE9SQUdFCQkweDI3Cj4gKyNkZWZpbmUgVFBTNjUyMTlfUkVH X01BTlVGQUNUVVJJTkdfVkVSCQkJMHgyOAo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19NRlBfQ1RS TAkJCQkweDI5Cj4gKyNkZWZpbmUgVFBTNjUyMTlfUkVHX0RJU0NIQVJHRV9DT05GSUcJCQkweDJB Cj4gKy8qIG1haW4gaXJxIHJlZ2lzdGVycyAqLwo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19JTlRf U09VUkNFCQkJCTB4MkIKPiArLyogJ3N1YiBpcnEnIHJlZ2lzdGVycyAqLwo+ICsjZGVmaW5lIFRQ UzY1MjE5X1JFR19JTlRfTERPXzNfNAkJCTB4MkMKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfSU5U X0xET18xXzIJCQkweDJECj4gKyNkZWZpbmUgVFBTNjUyMTlfUkVHX0lOVF9CVUNLXzMJCQkJMHgy RQo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19JTlRfQlVDS18xXzIJCQkweDJGCj4gKyNkZWZpbmUg VFBTNjUyMTlfUkVHX0lOVF9TWVNURU0JCQkJMHgzMAo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19J TlRfUlYJCQkJMHgzMQo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19JTlRfVElNRU9VVF9SVl9TRAkJ CTB4MzIKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfSU5UX1BCCQkJCTB4MzMKPiArCj4gKyNkZWZp bmUgVFBTNjUyMTlfUkVHX0lOVF9MRE9fM180X1BPUwkJCTAKPiArI2RlZmluZSBUUFM2NTIxOV9S RUdfSU5UX0xET18xXzJfUE9TCQkJMQo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19JTlRfQlVDS18z X1BPUwkJCTIKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfSU5UX0JVQ0tfMV8yX1BPUwkJCTMKPiAr I2RlZmluZSBUUFM2NTIxOV9SRUdfSU5UX1NZU19QT1MJCQk0Cj4gKyNkZWZpbmUgVFBTNjUyMTlf UkVHX0lOVF9SVl9QT1MJCQkJNQo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19JTlRfVE9fUlZfUE9T CQkJNgo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19JTlRfUEJfUE9TCQkJCTcKPiArCj4gKyNkZWZp bmUgVFBTNjUyMTlfUkVHX1VTRVJfTlZNX0NNRAkJCTB4MzQKPiArI2RlZmluZSBUUFM2NTIxOV9S RUdfUE9XRVJfVVBfU1RBVFVTCQkJMHgzNQo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19TUEFSRV8y CQkJCTB4MzYKPiArI2RlZmluZSBUUFM2NTIxOV9SRUdfU1BBUkVfMwkJCQkweDM3Cj4gKyNkZWZp bmUgVFBTNjUyMTlfUkVHX0ZBQ1RPUllfQ09ORklHXzIJCQkweDQxCj4gKwo+ICsvKiBSZWdpc3Rl ciBmaWVsZCBkZWZpbml0aW9ucyAqLwo+ICsjZGVmaW5lIFRQUzY1MjE5X0RFVklEX1JFVl9NQVNL CQkJCUdFTk1BU0soNywgMCkKPiArI2RlZmluZSBUUFM2NTIxOV9CVUNLU19MRE9TX1ZPVVRfVlNF VF9NQVNLCQlHRU5NQVNLKDUsIDApCj4gKyNkZWZpbmUgVFBTNjUyMTlfQlVDS1NfVVZfVEhSX1NF TF9NQVNLCQkJQklUKDYpCj4gKyNkZWZpbmUgVFBTNjUyMTlfQlVDS1NfQldfU0VMX01BU0sJCQlC SVQoNykKPiArI2RlZmluZSBMRE9fQllQX1NISUZUCQkJCQk2Cj4gKyNkZWZpbmUgVFBTNjUyMTlf TERPU19CWVBfQ09ORklHX01BU0sJCQlCSVQoTERPX0JZUF9TSElGVCkKPiArI2RlZmluZSBUUFM2 NTIxOV9MRE9TX0xTV19DT05GSUdfTUFTSwkJCUJJVCg3KQo+ICsvKiBSZWd1bGF0b3JzIGVuYWJs ZSBjb250cm9sICovCj4gKyNkZWZpbmUgVFBTNjUyMTlfRU5BQkxFX0JVQ0sxX0VOX01BU0sJCQlC SVQoMCkKPiArI2RlZmluZSBUUFM2NTIxOV9FTkFCTEVfQlVDSzJfRU5fTUFTSwkJCUJJVCgxKQo+ ICsjZGVmaW5lIFRQUzY1MjE5X0VOQUJMRV9CVUNLM19FTl9NQVNLCQkJQklUKDIpCj4gKyNkZWZp bmUgVFBTNjUyMTlfRU5BQkxFX0xETzFfRU5fTUFTSwkJCUJJVCgzKQo+ICsjZGVmaW5lIFRQUzY1 MjE5X0VOQUJMRV9MRE8yX0VOX01BU0sJCQlCSVQoNCkKPiArI2RlZmluZSBUUFM2NTIxOV9FTkFC TEVfTERPM19FTl9NQVNLCQkJQklUKDUpCj4gKyNkZWZpbmUgVFBTNjUyMTlfRU5BQkxFX0xETzRf RU5fTUFTSwkJCUJJVCg2KQo+ICsvKiBwb3dlciBPTi1PRkYgc2VxdWVuY2Ugc2xvdCAqLwo+ICsj ZGVmaW5lIFRQUzY1MjE5X0JVQ0tTX0xET1NfU0VRVUVOQ0VfT0ZGX1NMT1RfTUFTSwlHRU5NQVNL KDMsIDApCj4gKyNkZWZpbmUgVFBTNjUyMTlfQlVDS1NfTERPU19TRVFVRU5DRV9PTl9TTE9UX01B U0sJR0VOTUFTSyg3LCA0KQo+ICsvKiBUT0RPOiBOb3QgbmVlZGVkLCBzYW1lIG1hcHBpbmcgYXMg VFBTNjUyMTlfRU5BQkxFX1JFR05BTUVfRU4sIGZhY3Rvcml6ZSAqLwo+ICsjZGVmaW5lIFRQUzY1 MjE5X1NUQlkxX0JVQ0sxX1NUQllfRU5fTUFTSwkJQklUKDApCj4gKyNkZWZpbmUgVFBTNjUyMTlf U1RCWTFfQlVDSzJfU1RCWV9FTl9NQVNLCQlCSVQoMSkKPiArI2RlZmluZSBUUFM2NTIxOV9TVEJZ MV9CVUNLM19TVEJZX0VOX01BU0sJCUJJVCgyKQo+ICsjZGVmaW5lIFRQUzY1MjE5X1NUQlkxX0xE TzFfU1RCWV9FTl9NQVNLCQlCSVQoMykKPiArI2RlZmluZSBUUFM2NTIxOV9TVEJZMV9MRE8yX1NU QllfRU5fTUFTSwkJQklUKDQpCj4gKyNkZWZpbmUgVFBTNjUyMTlfU1RCWTFfTERPM19TVEJZX0VO X01BU0sJCUJJVCg1KQo+ICsjZGVmaW5lIFRQUzY1MjE5X1NUQlkxX0xETzRfU1RCWV9FTl9NQVNL CQlCSVQoNikKPiArLyogU1RCWV8yIGNvbmZpZyAqLwo+ICsjZGVmaW5lIFRQUzY1MjE5X1NUQlky X0dQTzFfU1RCWV9FTl9NQVNLCQlCSVQoMCkKPiArI2RlZmluZSBUUFM2NTIxOV9TVEJZMl9HUE8y X1NUQllfRU5fTUFTSwkJQklUKDEpCj4gKyNkZWZpbmUgVFBTNjUyMTlfU1RCWTJfR1BJT19TVEJZ X0VOX01BU0sJCUJJVCgyKQo+ICsvKiBNRlAgQ29udHJvbCAqLwo+ICsjZGVmaW5lIFRQUzY1MjE5 X01GUF9JMkNfT0ZGX1JFUV9NQVNLCQkJQklUKDApCj4gKyNkZWZpbmUgVFBTNjUyMTlfTUZQX1NU QllfSTJDX0NUUkxfTUFTSwkJCUJJVCgxKQo+ICsjZGVmaW5lIFRQUzY1MjE5X01GUF9DT0xEX1JF U0VUX0kyQ19DVFJMX01BU0sJCUJJVCgyKQo+ICsjZGVmaW5lIFRQUzY1MjE5X01GUF9XQVJNX1JF U0VUX0kyQ19DVFJMX01BU0sJCUJJVCgzKQo+ICsjZGVmaW5lIFRQUzY1MjE5X01GUF9HUElPX1NU QVRVU19NQVNLCQkJQklUKDQpCj4gKy8qIE1GUF8xIENvbmZpZyAqLwo+ICsjZGVmaW5lIFRQUzY1 MjE5X01GUF8xX1ZTRUxfRERSX1NFTF9NQVNLCQlCSVQoMCkKPiArI2RlZmluZSBUUFM2NTIxOV9N RlBfMV9WU0VMX1NEX1BPTF9NQVNLCQkJQklUKDEpCj4gKyNkZWZpbmUgVFBTNjUyMTlfTUZQXzFf VlNFTF9SQUlMX01BU0sJCQlCSVQoMikKPiArLyogTUZQXzIgQ29uZmlnICovCj4gKyNkZWZpbmUg VFBTNjUyMTlfTUZQXzJfTU9ERV9TVEJZX01BU0sJCQlHRU5NQVNLKDEsIDApCj4gKyNkZWZpbmUg VFBTNjUyMTlfTUZQXzJfTU9ERV9SRVNFVF9NQVNLCQkJQklUKDIpCj4gKyNkZWZpbmUgVFBTNjUy MTlfTUZQXzJfRU5fUEJfVlNFTlNFX0RFR0xfTUFTSwkJQklUKDMpCj4gKyNkZWZpbmUgVFBTNjUy MTlfTUZQXzJfRU5fUEJfVlNFTlNFX01BU0sJCUdFTk1BU0soNSwgNCkKPiArI2RlZmluZSBUUFM2 NTIxOV9NRlBfMl9XQVJNX0NPTERfUkVTRVRfTUFTSwkJQklUKDYpCj4gKyNkZWZpbmUgVFBTNjUy MTlfTUZQXzJfUFVfT05fRlNEX01BU0sJCQlCSVQoNykKPiArI2RlZmluZSBUUFM2NTIxOV9NRlBf Ml9FTgkJCQkwCj4gKyNkZWZpbmUgVFBTNjUyMTlfTUZQXzJfUEIJCQkJQklUKDQpCj4gKyNkZWZp bmUgVFBTNjUyMTlfTUZQXzJfVlNFTlNFCQkJCUJJVCg1KQo+ICsvKiBNQVNLX1VWIENvbmZpZyAq Lwo+ICsjZGVmaW5lIFRQUzY1MjE5X1JFR19NQVNLX1VWX0xETzFfVVZfTUFTSwkJQklUKDApCj4g KyNkZWZpbmUgVFBTNjUyMTlfUkVHX01BU0tfVVZfTERPMl9VVl9NQVNLCQlCSVQoMSkKPiArI2Rl ZmluZSBUUFM2NTIxOV9SRUdfTUFTS19VVl9MRE8zX1VWX01BU0sJCUJJVCgyKQo+ICsjZGVmaW5l IFRQUzY1MjE5X1JFR19NQVNLX1VWX0xETzRfVVZfTUFTSwkJQklUKDMpCj4gKyNkZWZpbmUgVFBT NjUyMTlfUkVHX01BU0tfVVZfQlVDSzFfVVZfTUFTSwkJQklUKDQpCj4gKyNkZWZpbmUgVFBTNjUy MTlfUkVHX01BU0tfVVZfQlVDSzJfVVZfTUFTSwkJQklUKDUpCj4gKyNkZWZpbmUgVFBTNjUyMTlf UkVHX01BU0tfVVZfQlVDSzNfVVZfTUFTSwkJQklUKDYpCj4gKyNkZWZpbmUgVFBTNjUyMTlfUkVH X01BU0tfVVZfUkVUUllfTUFTSwkJCUJJVCg3KQo+ICsvKiBNQVNLIENvbmZpZyAqLwo+ICsvLyBT RU5TT1JfTl9XQVJNX01BU0sgYWxyZWFkeSBkZWZpbmVkIGluIFRoZXJtYWwKPiArI2RlZmluZSBU UFM2NTIxOV9SRUdfTUFTS19JTlRfRk9SX1JWX01BU0sJCUJJVCg0KQo+ICsjZGVmaW5lIFRQUzY1 MjE5X1JFR19NQVNLX0VGRkVDVF9NQVNLCQkJR0VOTUFTSygyLCAxKQo+ICsjZGVmaW5lIFRQUzY1 MjE5X1JFR19NQVNLX0lOVF9GT1JfUEJfTUFTSwkJQklUKDcpCj4gKy8qIFVuZGVyVm9sdGFnZSAt IFNob3J0IHRvIEdORCAtIE92ZXJDdXJyZW50Ki8KPiArLyogTERPMy00ICovCj4gKyNkZWZpbmUg VFBTNjUyMTlfSU5UX0xETzNfU0NHX01BU0sJCQlCSVQoMCkKPiArI2RlZmluZSBUUFM2NTIxOV9J TlRfTERPM19PQ19NQVNLCQkJQklUKDEpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX0xETzNfVVZf TUFTSwkJCUJJVCgyKQo+ICsjZGVmaW5lIFRQUzY1MjE5X0lOVF9MRE80X1NDR19NQVNLCQkJQklU KDMpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX0xETzRfT0NfTUFTSwkJCUJJVCg0KQo+ICsjZGVm aW5lIFRQUzY1MjE5X0lOVF9MRE80X1VWX01BU0sJCQlCSVQoNSkKPiArLyogTERPMS0yICovCj4g KyNkZWZpbmUgVFBTNjUyMTlfSU5UX0xETzFfU0NHX01BU0sJCQlCSVQoMCkKPiArI2RlZmluZSBU UFM2NTIxOV9JTlRfTERPMV9PQ19NQVNLCQkJQklUKDEpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5U X0xETzFfVVZfTUFTSwkJCUJJVCgyKQo+ICsjZGVmaW5lIFRQUzY1MjE5X0lOVF9MRE8yX1NDR19N QVNLCQkJQklUKDMpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX0xETzJfT0NfTUFTSwkJCUJJVCg0 KQo+ICsjZGVmaW5lIFRQUzY1MjE5X0lOVF9MRE8yX1VWX01BU0sJCQlCSVQoNSkKPiArLyogQlVD SzMgKi8KPiArI2RlZmluZSBUUFM2NTIxOV9JTlRfQlVDSzNfU0NHX01BU0sJCQlCSVQoMCkKPiAr I2RlZmluZSBUUFM2NTIxOV9JTlRfQlVDSzNfT0NfTUFTSwkJCUJJVCgxKQo+ICsjZGVmaW5lIFRQ UzY1MjE5X0lOVF9CVUNLM19ORUdfT0NfTUFTSwkJCUJJVCgyKQo+ICsjZGVmaW5lIFRQUzY1MjE5 X0lOVF9CVUNLM19VVl9NQVNLCQkJQklUKDMpCj4gKy8qIEJVQ0sxLTIgKi8KPiArI2RlZmluZSBU UFM2NTIxOV9JTlRfQlVDSzFfU0NHX01BU0sJCQlCSVQoMCkKPiArI2RlZmluZSBUUFM2NTIxOV9J TlRfQlVDSzFfT0NfTUFTSwkJCUJJVCgxKQo+ICsjZGVmaW5lIFRQUzY1MjE5X0lOVF9CVUNLMV9O RUdfT0NfTUFTSwkJCUJJVCgyKQo+ICsjZGVmaW5lIFRQUzY1MjE5X0lOVF9CVUNLMV9VVl9NQVNL CQkJQklUKDMpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX0JVQ0syX1NDR19NQVNLCQkJQklUKDQp Cj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX0JVQ0syX09DX01BU0sJCQlCSVQoNSkKPiArI2RlZmlu ZSBUUFM2NTIxOV9JTlRfQlVDSzJfTkVHX09DX01BU0sJCQlCSVQoNikKPiArI2RlZmluZSBUUFM2 NTIxOV9JTlRfQlVDSzJfVVZfTUFTSwkJCUJJVCg3KQo+ICsvKiBUaGVybWFsIFNlbnNvciAgKi8K PiArI2RlZmluZSBUUFM2NTIxOV9JTlRfU0VOU09SXzNfV0FSTV9NQVNLCQkJQklUKDApCj4gKyNk ZWZpbmUgVFBTNjUyMTlfSU5UX1NFTlNPUl8yX1dBUk1fTUFTSwkJCUJJVCgxKQo+ICsjZGVmaW5l IFRQUzY1MjE5X0lOVF9TRU5TT1JfMV9XQVJNX01BU0sJCQlCSVQoMikKPiArI2RlZmluZSBUUFM2 NTIxOV9JTlRfU0VOU09SXzBfV0FSTV9NQVNLCQkJQklUKDMpCj4gKyNkZWZpbmUgVFBTNjUyMTlf SU5UX1NFTlNPUl8zX0hPVF9NQVNLCQkJQklUKDQpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX1NF TlNPUl8yX0hPVF9NQVNLCQkJQklUKDUpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX1NFTlNPUl8x X0hPVF9NQVNLCQkJQklUKDYpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX1NFTlNPUl8wX0hPVF9N QVNLCQkJQklUKDcpCj4gKy8qIFJlc2lkdWFsIFZvbHRhZ2UgKi8KPiArI2RlZmluZSBUUFM2NTIx OV9JTlRfQlVDSzFfUlZfTUFTSwkJCUJJVCgwKQo+ICsjZGVmaW5lIFRQUzY1MjE5X0lOVF9CVUNL Ml9SVl9NQVNLCQkJQklUKDEpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX0JVQ0szX1JWX01BU0sJ CQlCSVQoMikKPiArI2RlZmluZSBUUFM2NTIxOV9JTlRfTERPMV9SVl9NQVNLCQkJQklUKDMpCj4g KyNkZWZpbmUgVFBTNjUyMTlfSU5UX0xETzJfUlZfTUFTSwkJCUJJVCg0KQo+ICsjZGVmaW5lIFRQ UzY1MjE5X0lOVF9MRE8zX1JWX01BU0sJCQlCSVQoNSkKPiArI2RlZmluZSBUUFM2NTIxOV9JTlRf TERPNF9SVl9NQVNLCQkJQklUKDYpCj4gKy8qIFJlc2lkdWFsIFZvbHRhZ2UgU2h1dERvd24gKi8K PiArI2RlZmluZSBUUFM2NTIxOV9JTlRfQlVDSzFfUlZfU0RfTUFTSwkJCUJJVCgwKQo+ICsjZGVm aW5lIFRQUzY1MjE5X0lOVF9CVUNLMl9SVl9TRF9NQVNLCQkJQklUKDEpCj4gKyNkZWZpbmUgVFBT NjUyMTlfSU5UX0JVQ0szX1JWX1NEX01BU0sJCQlCSVQoMikKPiArI2RlZmluZSBUUFM2NTIxOV9J TlRfTERPMV9SVl9TRF9NQVNLCQkJQklUKDMpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX0xETzJf UlZfU0RfTUFTSwkJCUJJVCg0KQo+ICsjZGVmaW5lIFRQUzY1MjE5X0lOVF9MRE8zX1JWX1NEX01B U0sJCQlCSVQoNSkKPiArI2RlZmluZSBUUFM2NTIxOV9JTlRfTERPNF9SVl9TRF9NQVNLCQkJQklU KDYpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX1RJTUVPVVRfTUFTSwkJCUJJVCg3KQo+ICsvKiBQ b3dlciBCdXR0b24gKi8KPiArI2RlZmluZSBUUFM2NTIxOV9JTlRfUEJfRkFMTElOR19FREdFX0RF VEVDVF9NQVNLCUJJVCgwKQo+ICsjZGVmaW5lIFRQUzY1MjE5X0lOVF9QQl9SSVNJTkdfRURHRV9E RVRFQ1RfTUFTSwkJQklUKDEpCj4gKyNkZWZpbmUgVFBTNjUyMTlfSU5UX1BCX1JFQUxfVElNRV9T VEFUVVNfTUFTSwkJQklUKDIpCj4gKwo+ICsjZGVmaW5lIFRQUzY1MjE5X1BCX1BPUwkJCQkJNwo+ ICsjZGVmaW5lIFRQUzY1MjE5X1RPX1JWX1BPUwkJCQk2Cj4gKyNkZWZpbmUgVFBTNjUyMTlfUlZf UE9TCQkJCQk1Cj4gKyNkZWZpbmUgVFBTNjUyMTlfU1lTX1BPUwkJCQk0Cj4gKyNkZWZpbmUgVFBT NjUyMTlfQlVDS18xXzJfUE9TCQkJCTMKPiArI2RlZmluZSBUUFM2NTIxOV9CVUNLXzNfUE9TCQkJ CTIKPiArI2RlZmluZSBUUFM2NTIxOV9MRE9fMV8yX1BPUwkJCQkxCj4gKyNkZWZpbmUgVFBTNjUy MTlfTERPXzNfNF9QT1MJCQkJMAo+ICsKPiArLyogSVJRcyAqLwo+ICtlbnVtIHsKPiArCS8qIExE TzMtNCByZWdpc3RlciBJUlFzICovCj4gKwlUUFM2NTIxOV9JTlRfTERPM19TQ0csCj4gKwlUUFM2 NTIxOV9JTlRfTERPM19PQywKPiArCVRQUzY1MjE5X0lOVF9MRE8zX1VWLAo+ICsJVFBTNjUyMTlf SU5UX0xETzRfU0NHLAo+ICsJVFBTNjUyMTlfSU5UX0xETzRfT0MsCj4gKwlUUFM2NTIxOV9JTlRf TERPNF9VViwKPiArCS8qIExETzEtMiAqLwo+ICsJVFBTNjUyMTlfSU5UX0xETzFfU0NHLAo+ICsJ VFBTNjUyMTlfSU5UX0xETzFfT0MsCj4gKwlUUFM2NTIxOV9JTlRfTERPMV9VViwKPiArCVRQUzY1 MjE5X0lOVF9MRE8yX1NDRywKPiArCVRQUzY1MjE5X0lOVF9MRE8yX09DLAo+ICsJVFBTNjUyMTlf SU5UX0xETzJfVVYsCj4gKwkvKiBCVUNLMyAqLwo+ICsJVFBTNjUyMTlfSU5UX0JVQ0szX1NDRywK PiArCVRQUzY1MjE5X0lOVF9CVUNLM19PQywKPiArCVRQUzY1MjE5X0lOVF9CVUNLM19ORUdfT0Ms Cj4gKwlUUFM2NTIxOV9JTlRfQlVDSzNfVVYsCj4gKwkvKiBCVUNLMS0yICovCj4gKwlUUFM2NTIx OV9JTlRfQlVDSzFfU0NHLAo+ICsJVFBTNjUyMTlfSU5UX0JVQ0sxX09DLAo+ICsJVFBTNjUyMTlf SU5UX0JVQ0sxX05FR19PQywKPiArCVRQUzY1MjE5X0lOVF9CVUNLMV9VViwKPiArCVRQUzY1MjE5 X0lOVF9CVUNLMl9TQ0csCj4gKwlUUFM2NTIxOV9JTlRfQlVDSzJfT0MsCj4gKwlUUFM2NTIxOV9J TlRfQlVDSzJfTkVHX09DLAo+ICsJVFBTNjUyMTlfSU5UX0JVQ0syX1VWLAo+ICsJLyogVGhlcm1h bCBTZW5zb3IgICovCj4gKwlUUFM2NTIxOV9JTlRfU0VOU09SXzNfV0FSTSwKPiArCVRQUzY1MjE5 X0lOVF9TRU5TT1JfMl9XQVJNLAo+ICsJVFBTNjUyMTlfSU5UX1NFTlNPUl8xX1dBUk0sCj4gKwlU UFM2NTIxOV9JTlRfU0VOU09SXzBfV0FSTSwKPiArCVRQUzY1MjE5X0lOVF9TRU5TT1JfM19IT1Qs Cj4gKwlUUFM2NTIxOV9JTlRfU0VOU09SXzJfSE9ULAo+ICsJVFBTNjUyMTlfSU5UX1NFTlNPUl8x X0hPVCwKPiArCVRQUzY1MjE5X0lOVF9TRU5TT1JfMF9IT1QsCj4gKwkvKiBSZXNpZHVhbCBWb2x0 YWdlICovCj4gKwlUUFM2NTIxOV9JTlRfQlVDSzFfUlYsCj4gKwlUUFM2NTIxOV9JTlRfQlVDSzJf UlYsCj4gKwlUUFM2NTIxOV9JTlRfQlVDSzNfUlYsCj4gKwlUUFM2NTIxOV9JTlRfTERPMV9SViwK PiArCVRQUzY1MjE5X0lOVF9MRE8yX1JWLAo+ICsJVFBTNjUyMTlfSU5UX0xETzNfUlYsCj4gKwlU UFM2NTIxOV9JTlRfTERPNF9SViwKPiArCS8qIFJlc2lkdWFsIFZvbHRhZ2UgU2h1dERvd24gKi8K PiArCVRQUzY1MjE5X0lOVF9CVUNLMV9SVl9TRCwKPiArCVRQUzY1MjE5X0lOVF9CVUNLMl9SVl9T RCwKPiArCVRQUzY1MjE5X0lOVF9CVUNLM19SVl9TRCwKPiArCVRQUzY1MjE5X0lOVF9MRE8xX1JW X1NELAo+ICsJVFBTNjUyMTlfSU5UX0xETzJfUlZfU0QsCj4gKwlUUFM2NTIxOV9JTlRfTERPM19S Vl9TRCwKPiArCVRQUzY1MjE5X0lOVF9MRE80X1JWX1NELAo+ICsJVFBTNjUyMTlfSU5UX1RJTUVP VVQsCj4gKwkvKiBQb3dlciBCdXR0b24gKi8KPiArCVRQUzY1MjE5X0lOVF9QQl9GQUxMSU5HX0VE R0VfREVURUNULAo+ICsJVFBTNjUyMTlfSU5UX1BCX1JJU0lOR19FREdFX0RFVEVDVCwKPiArfTsK PiArCj4gK2VudW0gdHBzNjUyMTlfcmVndWxhdG9yX2lkIHsKPiArCS8qIERDREMncyAqLwo+ICsJ VFBTNjUyMTlfQlVDS18xLAo+ICsJVFBTNjUyMTlfQlVDS18yLAo+ICsJVFBTNjUyMTlfQlVDS18z LAo+ICsJLyogTERPcyAqLwo+ICsJVFBTNjUyMTlfTERPXzEsCj4gKwlUUFM2NTIxOV9MRE9fMiwK PiArCVRQUzY1MjE5X0xET18zLAo+ICsJVFBTNjUyMTlfTERPXzQsCj4gK307Cj4gKwo+ICsvKiBO dW1iZXIgb2Ygc3RlcC1kb3duIGNvbnZlcnRlcnMgYXZhaWxhYmxlICovCj4gKyNkZWZpbmUgVFBT NjUyMTlfTlVNX0RDREMJCTMKPiArLyogTnVtYmVyIG9mIExETyB2b2x0YWdlIHJlZ3VsYXRvcnMg YXZhaWxhYmxlICovCj4gKyNkZWZpbmUgVFBTNjUyMTlfTlVNX0xETwkJNAo+ICsvKiBOdW1iZXIg b2YgdG90YWwgcmVndWxhdG9ycyBhdmFpbGFibGUgKi8KPiArI2RlZmluZSBUUFM2NTIxOV9OVU1f UkVHVUxBVE9SCQkoVFBTNjUyMTlfTlVNX0RDREMgKyBUUFM2NTIxOV9OVU1fTERPKQo+ICsKPiAr LyogRGVmaW5lIHRoZSBUUFM2NTIxOSBJUlEgbnVtYmVycyAqLwo+ICtlbnVtIHRwczY1MjE5X2ly cXMgewo+ICsJLyogSU5UIHNvdXJjZSByZWdpc3RlcnMgKi8KPiArCVRQUzY1MjE5X1RPX1JWX1NE X1NFVF9JUlEsCj4gKwlUUFM2NTIxOV9SVl9TRVRfSVJRLAo+ICsJVFBTNjUyMTlfU1lTX1NFVF9J UlEsCj4gKwlUUFM2NTIxOV9CVUNLXzFfMl9TRVRfSVJRLAo+ICsJVFBTNjUyMTlfQlVDS18zX1NF VF9JUlEsCj4gKwlUUFM2NTIxOV9MRE9fMV8yX1NFVF9JUlEsCj4gKwlUUFM2NTIxOV9MRE9fM180 X1NFVF9JUlEsCj4gKwlUUFM2NTIxOV9QQl9TRVRfSVJRLAo+ICt9Owo+ICsKPiArLyoqCj4gKyAq IHN0cnVjdCB0cHM2NTIxOSAtIHRwczY1MjE5IHN1Yi1kcml2ZXIgY2hpcCBhY2Nlc3Mgcm91dGlu ZXMKPiArICoKPiArICogRGV2aWNlIGRhdGEgbWF5IGJlIHVzZWQgdG8gYWNjZXNzIHRoZSBUUFM2 NTIxOSBjaGlwCj4gKyAqCj4gKyAqIEBkZXYgTUZEIGRldmljZQo+ICsgKiBAcmVnbWFwIFJlZ21h cCBmb3IgYWNjZXNzaW5nIHRoZSBkZXZpY2UgcmVnaXN0ZXJzCj4gKyAqIEBpcnFfZGF0YSBSZWdt YXAgaXJxIGRhdGEgdXNlZCBmb3IgdGhlIGlycSBjaGlwCj4gKyAqIEBuYiBub3RpZmllciBibG9j ayBmb3IgdGhlIHJlc3RhcnQgaGFuZGxlcgo+ICsgKi8KClRoaXMgaGVhZGVyIG5lZWRzIHdvcmsu CgpDYW4geW91IHRyeSBhbiBjb21waWxlIHdpdGggVz0xIHBsZWFzZS4KCj4gK3N0cnVjdCB0cHM2 NTIxOSB7Cj4gKwlzdHJ1Y3QgZGV2aWNlICpkZXY7Cj4gKwlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7 Cj4gKwo+ICsJc3RydWN0IHJlZ21hcF9pcnFfY2hpcF9kYXRhICppcnFfZGF0YTsKPiArCXN0cnVj dCBub3RpZmllcl9ibG9jayBuYjsKPiArfTsKPiArCj4gKyNlbmRpZiAvKiAgTUZEX1RQUzY1MjE5 X0ggKi8KClN1cGVyZmx1b3VzICIgIi4KCi0tIApMZWUgSm9uZXMgW+adjueQvOaWr10KCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJu ZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK