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=-11.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNPARSEABLE_RELAY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27705C433DF for ; Wed, 29 Jul 2020 08:45:21 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C02D72065E for ; Wed, 29 Jul 2020 08:45:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="MCCq8yTu" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728121AbgG2IpT (ORCPT ); Wed, 29 Jul 2020 04:45:19 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:40963 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726707AbgG2IpS (ORCPT ); Wed, 29 Jul 2020 04:45:18 -0400 X-UUID: 486dea7df1ea4a238b8bafc7233ce055-20200729 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=P5IrBmOTwQJW5pcNdWLZzy1lQ5SHjluwa7+vs0uX9xI=; b=MCCq8yTuKjee4jhykOPRkHkoOKNyXAESMcJTHVaDgbjr/hp3YD8sRW99tBbAjsFCChkrErjd+374AFS7j/9WvZFUG8xaKlf0aanTOwo47zlIb318W01DatSTuAqEKjHvD8Cs+SZTRCmRvyN0gM9zLBgN9HEEDYaPbn21RKzpO38=; X-UUID: 486dea7df1ea4a238b8bafc7233ce055-20200729 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 482266472; Wed, 29 Jul 2020 16:44:47 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 29 Jul 2020 16:44:44 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 29 Jul 2020 16:44:46 +0800 From: Weiyi Lu To: Matthias Brugger , Rob Herring , Stephen Boyd , Nicolas Boichat CC: James Liao , , , , , , Weiyi Lu , Wendell Lin Subject: [PATCH v2 5/5] clk: mediatek: Add MT8192 clock support Date: Wed, 29 Jul 2020 16:44:37 +0800 Message-ID: <1596012277-8448-6-git-send-email-weiyi.lu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1596012277-8448-1-git-send-email-weiyi.lu@mediatek.com> References: <1596012277-8448-1-git-send-email-weiyi.lu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIE1UODE5MiBjbG9jayBzdXBwb3J0LCBpbmNsdWRlIHRvcGNrZ2VuLCBhcG1peGVkc3lzLA0K aW5mcmFjZmcsIHBlcmljZmcgYW5kIHN1YnN5c3RlbSBjbG9ja3MuDQoNClNpZ25lZC1vZmYtYnk6 IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5jb20+DQotLS0NCiBkcml2ZXJzL2Nsay9tZWRp YXRlay9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgIHwgIDE0NiArKw0KIGRyaXZlcnMvY2xr L21lZGlhdGVrL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgfCAgIDI0ICsNCiBkcml2ZXJz L2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWF1ZC5jICAgICAgICAgICAgIHwgIDE1MCArKw0KIGRy aXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtLmMgICAgICAgICAgICAgfCAgIDY5ICsN CiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbV9yYXdhLmMgICAgICAgIHwgICA1 NiArDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1jYW1fcmF3Yi5jICAgICAgICB8 ICAgNTYgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2MuYyAgICAg ICAgfCAgIDU2ICsNCiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltZy5jICAgICAg ICAgICAgIHwgICA1NyArDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbWcyLmMg ICAgICAgICAgICB8ICAgNTkgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1w X2lpY193cmFwX2MuYyAgfCAgIDYxICsNCiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTky LWltcF9paWNfd3JhcF9lLmMgIHwgICA1NSArDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10 ODE5Mi1pbXBfaWljX3dyYXBfbi5jICB8ICAgNTcgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Ns ay1tdDgxOTItaW1wX2lpY193cmFwX3MuYyAgfCAgIDU5ICsNCiBkcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF93LmMgIHwgICA1NSArDQogZHJpdmVycy9jbGsvbWVk aWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfd3MuYyB8ICAgNTkgKw0KIGRyaXZlcnMvY2xr L21lZGlhdGVrL2Nsay1tdDgxOTItaXBlLmMgICAgICAgICAgICAgfCAgIDYxICsNCiBkcml2ZXJz L2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1kcC5jICAgICAgICAgICAgIHwgICA4OSArKw0KIGRy aXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbWZnLmMgICAgICAgICAgICAgfCAgIDU0ICsN CiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1tLmMgICAgICAgICAgICAgIHwgIDEw OCArKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbXNkYy5jICAgICAgICAgICAg fCAgIDU0ICsNCiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1zZGNfdG9wLmMgICAg ICAgIHwgICA4MyArKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItc2NwX2Fkc3Au YyAgICAgICAgfCAgIDU1ICsNCiBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLXZkZWMu YyAgICAgICAgICAgIHwgICA4MSArKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIt dmRlY19zb2MuYyAgICAgICAgfCAgIDg2ICsrDQogZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10 ODE5Mi12ZW5jLmMgICAgICAgICAgICB8ICAgNTcgKw0KIGRyaXZlcnMvY2xrL21lZGlhdGVrL2Ns ay1tdDgxOTIuYyAgICAgICAgICAgICAgICAgfCAxNTQ5ICsrKysrKysrKysrKysrKysrKysrKw0K IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdXguaCAgICAgICAgICAgICAgICAgICAgfCAgIDE1 ICsNCiAyNyBmaWxlcyBjaGFuZ2VkLCAzMzExIGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9kZSAx MDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1hdWQuYw0KIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbS5jDQogY3JlYXRlIG1v ZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2EuYw0KIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbV9yYXdi LmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1j YW1fcmF3Yy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1t dDgxOTItaW1nLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xr LW10ODE5Mi1pbWcyLmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsv Y2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfYy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv Y2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX2UuYw0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF9uLmMNCiBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWlj X3dyYXBfcy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1t dDgxOTItaW1wX2lpY193cmFwX3cuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9t ZWRpYXRlay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF93cy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaXBlLmMNCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tZHAuYw0KIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1mZy5jDQogY3JlYXRlIG1vZGUg MTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbW0uYw0KIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1zZGMuYw0KIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1zZGNfdG9wLmMNCiBj cmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1zY3BfYWRz cC5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIt dmRlYy5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgx OTItdmRlY19zb2MuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRlay9j bGstbXQ4MTkyLXZlbmMuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLmMNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL0tjb25m aWcgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9LY29uZmlnDQppbmRleCA4OWNlYjJmYi4uYzIwNDgy OSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL0tjb25maWcNCisrKyBiL2RyaXZl cnMvY2xrL21lZGlhdGVrL0tjb25maWcNCkBAIC00NDEsNiArNDQxLDE1MiBAQCBjb25maWcgQ09N TU9OX0NMS19NVDgxODNfVkVOQ1NZUw0KIAloZWxwDQogCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMg TWVkaWFUZWsgTVQ4MTgzIHZlbmNzeXMgY2xvY2tzLg0KIA0KK2NvbmZpZyBDT01NT05fQ0xLX01U ODE5Mg0KKwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiINCisJZGVwZW5k cyBvbiAoQVJDSF9NRURJQVRFSyAmJiBBUk02NCkgfHwgQ09NUElMRV9URVNUDQorCXNlbGVjdCBD T01NT05fQ0xLX01FRElBVEVLDQorCWRlZmF1bHQgQVJDSF9NRURJQVRFSyAmJiBBUk02NA0KKwlo ZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIGJhc2ljIGNsb2Nr cy4NCisNCitjb25maWcgQ09NTU9OX0NMS19NVDgxOTJfQVVEU1lTDQorCWJvb2wgIkNsb2NrIGRy aXZlciBmb3IgTWVkaWFUZWsgTVQ4MTkyIGF1ZHN5cyINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xL X01UODE5Mg0KKwloZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTky IGF1ZHN5cyBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTkyX0NBTVNZUw0KKwli b29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBjYW1zeXMiDQorCWRlcGVuZHMg b24gQ09NTU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1l ZGlhVGVrIE1UODE5MiBjYW1zeXMgY2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5 Ml9DQU1TWVNfUkFXQQ0KKwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBj YW1zeXNfcmF3YSINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwloZWxwDQorCSAg VGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIGNhbXN5c19yYXdhIGNsb2Nrcy4N CisNCitjb25maWcgQ09NTU9OX0NMS19NVDgxOTJfQ0FNU1lTX1JBV0INCisJYm9vbCAiQ2xvY2sg ZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIgY2Ftc3lzX3Jhd2IiDQorCWRlcGVuZHMgb24gQ09N TU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVr IE1UODE5MiBjYW1zeXNfcmF3YiBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTky X0NBTVNZU19SQVdDDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4MTkyIGNh bXN5c19yYXdjIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJICBU aGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgY2Ftc3lzX3Jhd2MgY2xvY2tzLg0K Kw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9JTUdTWVMNCisJYm9vbCAiQ2xvY2sgZHJpdmVy IGZvciBNZWRpYVRlayBNVDgxOTIgaW1nc3lzIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4 MTkyDQorCWhlbHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgaW1n c3lzIGNsb2Nrcy4NCisNCitjb25maWcgQ09NTU9OX0NMS19NVDgxOTJfSU1HU1lTMg0KKwlib29s ICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBpbWdzeXMyIg0KKwlkZXBlbmRzIG9u IENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRp YVRlayBNVDgxOTIgaW1nc3lzMiBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTky X0lNUF9JSUNfV1JBUF9DDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4MTky IGltcF9paWNfd3JhcF9jIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHAN CisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFwX2Mg Y2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9JTVBfSUlDX1dSQVBfRQ0KKwli b29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBpbXBfaWljX3dyYXBfZSINCisJ ZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwloZWxwDQorCSAgVGhpcyBkcml2ZXIgc3Vw cG9ydHMgTWVkaWFUZWsgTVQ4MTkyIGltcF9paWNfd3JhcF9lIGNsb2Nrcy4NCisNCitjb25maWcg Q09NTU9OX0NMS19NVDgxOTJfSU1QX0lJQ19XUkFQX04NCisJYm9vbCAiQ2xvY2sgZHJpdmVyIGZv ciBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFwX24iDQorCWRlcGVuZHMgb24gQ09NTU9OX0NM S19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1UODE5 MiBpbXBfaWljX3dyYXBfbiBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTkyX0lN UF9JSUNfV1JBUF9TDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4MTkyIGlt cF9paWNfd3JhcF9zIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJ ICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgaW1wX2lpY193cmFwX3MgY2xv Y2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9JTVBfSUlDX1dSQVBfVw0KKwlib29s ICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBpbXBfaWljX3dyYXBfdyINCisJZGVw ZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwloZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9y dHMgTWVkaWFUZWsgTVQ4MTkyIGltcF9paWNfd3JhcF93IGNsb2Nrcy4NCisNCitjb25maWcgQ09N TU9OX0NMS19NVDgxOTJfSU1QX0lJQ19XUkFQX1dTDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3Ig TWVkaWFUZWsgTVQ4MTkyIGltcF9paWNfd3JhcF93cyINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xL X01UODE5Mg0KKwloZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTky IGltcF9paWNfd3JhcF93cyBjbG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTkyX0lQ RVNZUw0KKwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBpcGVzeXMiDQor CWRlcGVuZHMgb24gQ09NTU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1 cHBvcnRzIE1lZGlhVGVrIE1UODE5MiBpcGVzeXMgY2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05f Q0xLX01UODE5Ml9NRFBTWVMNCisJYm9vbCAiQ2xvY2sgZHJpdmVyIGZvciBNZWRpYVRlayBNVDgx OTIgbWRwc3lzIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJICBU aGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgbWRwc3lzIGNsb2Nrcy4NCisNCitj b25maWcgQ09NTU9OX0NMS19NVDgxOTJfTUZHQ0ZHDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3Ig TWVkaWFUZWsgTVQ4MTkyIG1mZ2NmZyINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0K KwloZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIG1mZ2NmZyBj bG9ja3MuDQorDQorY29uZmlnIENPTU1PTl9DTEtfTVQ4MTkyX01NU1lTDQorCWJvb2wgIkNsb2Nr IGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4MTkyIG1tc3lzIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9D TEtfTVQ4MTkyDQorCWhlbHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgx OTIgbW1zeXMgY2xvY2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9NU0RDX1RPUA0K Kwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBtc2RjX3RvcCINCisJZGVw ZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0KKwloZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9y dHMgTWVkaWFUZWsgTVQ4MTkyIG1zZGNfdG9wIGNsb2Nrcy4NCisNCitjb25maWcgQ09NTU9OX0NM S19NVDgxOTJfTVNEQw0KKwlib29sICJDbG9jayBkcml2ZXIgZm9yIE1lZGlhVGVrIE1UODE5MiBt c2RjIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhlbHANCisJICBUaGlzIGRy aXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgbXNkYyBjbG9ja3MuDQorDQorY29uZmlnIENP TU1PTl9DTEtfTVQ4MTkyX1NDUF9BRFNQDQorCWJvb2wgIkNsb2NrIGRyaXZlciBmb3IgTWVkaWFU ZWsgTVQ4MTkyIHNjcF9hZHNwIg0KKwlkZXBlbmRzIG9uIENPTU1PTl9DTEtfTVQ4MTkyDQorCWhl bHANCisJICBUaGlzIGRyaXZlciBzdXBwb3J0cyBNZWRpYVRlayBNVDgxOTIgc2NwX2Fkc3AgY2xv Y2tzLg0KKw0KK2NvbmZpZyBDT01NT05fQ0xLX01UODE5Ml9WREVDU1lTDQorCWJvb2wgIkNsb2Nr IGRyaXZlciBmb3IgTWVkaWFUZWsgTVQ4MTkyIHZkZWNzeXMiDQorCWRlcGVuZHMgb24gQ09NTU9O X0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJpdmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1U ODE5MiB2ZGVjc3lzIGNsb2Nrcy4NCisNCitjb25maWcgQ09NTU9OX0NMS19NVDgxOTJfVkRFQ1NZ U19TT0MNCisJYm9vbCAiQ2xvY2sgZHJpdmVyIGZvciBNZWRpYVRlayBNVDgxOTIgdmRlY3N5c19z b2MiDQorCWRlcGVuZHMgb24gQ09NTU9OX0NMS19NVDgxOTINCisJaGVscA0KKwkgIFRoaXMgZHJp dmVyIHN1cHBvcnRzIE1lZGlhVGVrIE1UODE5MiB2ZGVjc3lzX3NvYyBjbG9ja3MuDQorDQorY29u ZmlnIENPTU1PTl9DTEtfTVQ4MTkyX1ZFTkNTWVMNCisJYm9vbCAiQ2xvY2sgZHJpdmVyIGZvciBN ZWRpYVRlayBNVDgxOTIgdmVuY3N5cyINCisJZGVwZW5kcyBvbiBDT01NT05fQ0xLX01UODE5Mg0K KwloZWxwDQorCSAgVGhpcyBkcml2ZXIgc3VwcG9ydHMgTWVkaWFUZWsgTVQ4MTkyIHZlbmNzeXMg Y2xvY2tzLg0KKw0KIGNvbmZpZyBDT01NT05fQ0xLX01UODUxNg0KIAlib29sICJDbG9jayBkcml2 ZXIgZm9yIE1lZGlhVGVrIE1UODUxNiINCiAJZGVwZW5kcyBvbiBBUkNIX01FRElBVEVLIHx8IENP TVBJTEVfVEVTVA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL01ha2VmaWxlIGIv ZHJpdmVycy9jbGsvbWVkaWF0ZWsvTWFrZWZpbGUNCmluZGV4IDk1OWI1NTYuLjNlNjYwYWMgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9NYWtlZmlsZQ0KKysrIGIvZHJpdmVycy9j bGsvbWVkaWF0ZWsvTWFrZWZpbGUNCkBAIC02MSw1ICs2MSwyOSBAQCBvYmotJChDT05GSUdfQ09N TU9OX0NMS19NVDgxODNfTUZHQ0ZHKSArPSBjbGstbXQ4MTgzLW1mZ2NmZy5vDQogb2JqLSQoQ09O RklHX0NPTU1PTl9DTEtfTVQ4MTgzX01NU1lTKSArPSBjbGstbXQ4MTgzLW1tLm8NCiBvYmotJChD T05GSUdfQ09NTU9OX0NMS19NVDgxODNfVkRFQ1NZUykgKz0gY2xrLW10ODE4My12ZGVjLm8NCiBv YmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxODNfVkVOQ1NZUykgKz0gY2xrLW10ODE4My12ZW5j Lm8NCitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxOTIpICs9IGNsay1tdDgxOTIubw0KK29i ai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9BVURTWVMpICs9IGNsay1tdDgxOTItYXVkLm8N CitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxOTJfQ0FNU1lTKSArPSBjbGstbXQ4MTkyLWNh bS5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX0NBTVNZU19SQVdBKSArPSBjbGst bXQ4MTkyLWNhbV9yYXdhLm8NCitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxOTJfQ0FNU1lT X1JBV0IpICs9IGNsay1tdDgxOTItY2FtX3Jhd2Iubw0KK29iai0kKENPTkZJR19DT01NT05fQ0xL X01UODE5Ml9DQU1TWVNfUkFXQykgKz0gY2xrLW10ODE5Mi1jYW1fcmF3Yy5vDQorb2JqLSQoQ09O RklHX0NPTU1PTl9DTEtfTVQ4MTkyX0lNR1NZUykgKz0gY2xrLW10ODE5Mi1pbWcubw0KK29iai0k KENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9JTUdTWVMyKSArPSBjbGstbXQ4MTkyLWltZzIubw0K K29iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9JTVBfSUlDX1dSQVBfQykgKz0gY2xrLW10 ODE5Mi1pbXBfaWljX3dyYXBfYy5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX0lN UF9JSUNfV1JBUF9FKSArPSBjbGstbXQ4MTkyLWltcF9paWNfd3JhcF9lLm8NCitvYmotJChDT05G SUdfQ09NTU9OX0NMS19NVDgxOTJfSU1QX0lJQ19XUkFQX04pICs9IGNsay1tdDgxOTItaW1wX2lp Y193cmFwX24ubw0KK29iai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9JTVBfSUlDX1dSQVBf UykgKz0gY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfcy5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9D TEtfTVQ4MTkyX0lNUF9JSUNfV1JBUF9XKSArPSBjbGstbXQ4MTkyLWltcF9paWNfd3JhcF93Lm8N CitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgxOTJfSU1QX0lJQ19XUkFQX1dTKSArPSBjbGst bXQ4MTkyLWltcF9paWNfd3JhcF93cy5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTky X0lQRVNZUykgKz0gY2xrLW10ODE5Mi1pcGUubw0KK29iai0kKENPTkZJR19DT01NT05fQ0xLX01U ODE5Ml9NRFBTWVMpICs9IGNsay1tdDgxOTItbWRwLm8NCitvYmotJChDT05GSUdfQ09NTU9OX0NM S19NVDgxOTJfTUZHQ0ZHKSArPSBjbGstbXQ4MTkyLW1mZy5vDQorb2JqLSQoQ09ORklHX0NPTU1P Tl9DTEtfTVQ4MTkyX01NU1lTKSArPSBjbGstbXQ4MTkyLW1tLm8NCitvYmotJChDT05GSUdfQ09N TU9OX0NMS19NVDgxOTJfTVNEQ19UT1ApICs9IGNsay1tdDgxOTItbXNkY190b3Aubw0KK29iai0k KENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9NU0RDKSArPSBjbGstbXQ4MTkyLW1zZGMubw0KK29i ai0kKENPTkZJR19DT01NT05fQ0xLX01UODE5Ml9TQ1BfQURTUCkgKz0gY2xrLW10ODE5Mi1zY3Bf YWRzcC5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX1ZERUNTWVMpICs9IGNsay1t dDgxOTItdmRlYy5vDQorb2JqLSQoQ09ORklHX0NPTU1PTl9DTEtfTVQ4MTkyX1ZERUNTWVNfU09D KSArPSBjbGstbXQ4MTkyLXZkZWNfc29jLm8NCitvYmotJChDT05GSUdfQ09NTU9OX0NMS19NVDgx OTJfVkVOQ1NZUykgKz0gY2xrLW10ODE5Mi12ZW5jLm8NCiBvYmotJChDT05GSUdfQ09NTU9OX0NM S19NVDg1MTYpICs9IGNsay1tdDg1MTYubw0KIG9iai0kKENPTkZJR19DT01NT05fQ0xLX01UODUx Nl9BVURTWVMpICs9IGNsay1tdDg1MTYtYXVkLm8NCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9t ZWRpYXRlay9jbGstbXQ4MTkyLWF1ZC5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5 Mi1hdWQuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjM2YmY5MTkNCi0t LSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItYXVkLmMN CkBAIC0wLDAgKzEsMTUwIEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAN CisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBX ZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGst cHJvdmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4NCisjaW5jbHVkZSA8 bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCINCisjaW5j bHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTky LWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBhdWQwX2NnX3Jl Z3MgPSB7DQorCS5zZXRfb2ZzID0gMHgwLA0KKwkuY2xyX29mcyA9IDB4MCwNCisJLnN0YV9vZnMg PSAweDAsDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgYXVkMV9j Z19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDQsDQorCS5zdGFf b2ZzID0gMHg0LA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGF1 ZDJfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweDgsDQorCS5jbHJfb2ZzID0gMHg4LA0KKwku c3RhX29mcyA9IDB4OCwNCit9Ow0KKw0KKyNkZWZpbmUgR0FURV9BVUQwKF9pZCwgX25hbWUsIF9w YXJlbnQsIF9zaGlmdCkJCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZhdWQw X2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfbm9fc2V0Y2xyKQ0KKw0K KyNkZWZpbmUgR0FURV9BVUQxKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCQlcDQorCUdB VEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZhdWQxX2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJ Jm10a19jbGtfZ2F0ZV9vcHNfbm9fc2V0Y2xyKQ0KKw0KKyNkZWZpbmUgR0FURV9BVUQyKF9pZCwg X25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJl bnQsICZhdWQyX2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfbm9fc2V0 Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgYXVkX2Nsa3NbXSA9IHsNCisJ LyogQVVEMCAqLw0KKwlHQVRFX0FVRDAoQ0xLX0FVRF9BRkUsICJhdWRfYWZlIiwgImF1ZGlvX3Nl bCIsDQorCQkyKSwNCisJR0FURV9BVUQwKENMS19BVURfMjJNLCAiYXVkXzIybSIsICJhdWRfZW5n ZW4xX3NlbCIsDQorCQk4KSwNCisJR0FURV9BVUQwKENMS19BVURfMjRNLCAiYXVkXzI0bSIsICJh dWRfZW5nZW4yX3NlbCIsDQorCQk5KSwNCisJR0FURV9BVUQwKENMS19BVURfQVBMTDJfVFVORVIs ICJhdWRfYXBsbDJfdHVuZXIiLCAiYXVkX2VuZ2VuMl9zZWwiLA0KKwkJMTgpLA0KKwlHQVRFX0FV RDAoQ0xLX0FVRF9BUExMX1RVTkVSLCAiYXVkX2FwbGxfdHVuZXIiLCAiYXVkX2VuZ2VuMV9zZWwi LA0KKwkJMTkpLA0KKwlHQVRFX0FVRDAoQ0xLX0FVRF9URE0sICJhdWRfdGRtIiwgImF1ZF8xX3Nl bCIsDQorCQkyMCksDQorCUdBVEVfQVVEMChDTEtfQVVEX0FEQywgImF1ZF9hZGMiLCAiYXVkaW9f c2VsIiwNCisJCTI0KSwNCisJR0FURV9BVUQwKENMS19BVURfREFDLCAiYXVkX2RhYyIsICJhdWRp b19zZWwiLA0KKwkJMjUpLA0KKwlHQVRFX0FVRDAoQ0xLX0FVRF9EQUNfUFJFRElTLCAiYXVkX2Rh Y19wcmVkaXMiLCAiYXVkaW9fc2VsIiwNCisJCTI2KSwNCisJR0FURV9BVUQwKENMS19BVURfVE1M LCAiYXVkX3RtbCIsICJhdWRpb19zZWwiLA0KKwkJMjcpLA0KKwlHQVRFX0FVRDAoQ0xLX0FVRF9O TEUsICJhdWRfbmxlIiwgImF1ZGlvX3NlbCIsDQorCQkyOCksDQorCS8qIEFVRDEgKi8NCisJR0FU RV9BVUQxKENMS19BVURfSTJTMV9CLCAiYXVkX2kyczFfYiIsICJhdWRpb19zZWwiLA0KKwkJNCks DQorCUdBVEVfQVVEMShDTEtfQVVEX0kyUzJfQiwgImF1ZF9pMnMyX2IiLCAiYXVkaW9fc2VsIiwN CisJCTUpLA0KKwlHQVRFX0FVRDEoQ0xLX0FVRF9JMlMzX0IsICJhdWRfaTJzM19iIiwgImF1ZGlv X3NlbCIsDQorCQk2KSwNCisJR0FURV9BVUQxKENMS19BVURfSTJTNF9CLCAiYXVkX2kyczRfYiIs ICJhdWRpb19zZWwiLA0KKwkJNyksDQorCUdBVEVfQVVEMShDTEtfQVVEX0NPTk5TWVNfSTJTX0FT UkMsICJhdWRfY29ubnN5c19pMnNfYXNyYyIsICJhdWRpb19zZWwiLA0KKwkJMTIpLA0KKwlHQVRF X0FVRDEoQ0xLX0FVRF9HRU5FUkFMMV9BU1JDLCAiYXVkX2dlbmVyYWwxX2FzcmMiLCAiYXVkaW9f c2VsIiwNCisJCTEzKSwNCisJR0FURV9BVUQxKENMS19BVURfR0VORVJBTDJfQVNSQywgImF1ZF9n ZW5lcmFsMl9hc3JjIiwgImF1ZGlvX3NlbCIsDQorCQkxNCksDQorCUdBVEVfQVVEMShDTEtfQVVE X0RBQ19ISVJFUywgImF1ZF9kYWNfaGlyZXMiLCAiYXVkaW9faF9zZWwiLA0KKwkJMTUpLA0KKwlH QVRFX0FVRDEoQ0xLX0FVRF9BRENfSElSRVMsICJhdWRfYWRjX2hpcmVzIiwgImF1ZGlvX2hfc2Vs IiwNCisJCTE2KSwNCisJR0FURV9BVUQxKENMS19BVURfQURDX0hJUkVTX1RNTCwgImF1ZF9hZGNf aGlyZXNfdG1sIiwgImF1ZGlvX2hfc2VsIiwNCisJCTE3KSwNCisJR0FURV9BVUQxKENMS19BVURf QUREQTZfQURDLCAiYXVkX2FkZGE2X2FkYyIsICJhdWRpb19zZWwiLA0KKwkJMjApLA0KKwlHQVRF X0FVRDEoQ0xLX0FVRF9BRERBNl9BRENfSElSRVMsICJhdWRfYWRkYTZfYWRjX2hpcmVzIiwgImF1 ZGlvX2hfc2VsIiwNCisJCTIxKSwNCisJR0FURV9BVUQxKENMS19BVURfM1JEX0RBQywgImF1ZF8z cmRfZGFjIiwgImF1ZGlvX3NlbCIsDQorCQkyOCksDQorCUdBVEVfQVVEMShDTEtfQVVEXzNSRF9E QUNfUFJFRElTLCAiYXVkXzNyZF9kYWNfcHJlZGlzIiwgImF1ZGlvX3NlbCIsDQorCQkyOSksDQor CUdBVEVfQVVEMShDTEtfQVVEXzNSRF9EQUNfVE1MLCAiYXVkXzNyZF9kYWNfdG1sIiwgImF1ZGlv X3NlbCIsDQorCQkzMCksDQorCUdBVEVfQVVEMShDTEtfQVVEXzNSRF9EQUNfSElSRVMsICJhdWRf M3JkX2RhY19oaXJlcyIsICJhdWRpb19oX3NlbCIsDQorCQkzMSksDQorCS8qIEFVRDIgKi8NCisJ R0FURV9BVUQyKENMS19BVURfSTJTNV9CLCAiYXVkX2kyczVfYiIsICJhdWRpb19zZWwiLA0KKwkJ MCksDQorCUdBVEVfQVVEMihDTEtfQVVEX0kyUzZfQiwgImF1ZF9pMnM2X2IiLCAiYXVkaW9fc2Vs IiwNCisJCTEpLA0KKwlHQVRFX0FVRDIoQ0xLX0FVRF9JMlM3X0IsICJhdWRfaTJzN19iIiwgImF1 ZGlvX3NlbCIsDQorCQkyKSwNCisJR0FURV9BVUQyKENMS19BVURfSTJTOF9CLCAiYXVkX2kyczhf YiIsICJhdWRpb19zZWwiLA0KKwkJMyksDQorCUdBVEVfQVVEMihDTEtfQVVEX0kyUzlfQiwgImF1 ZF9pMnM5X2IiLCAiYXVkaW9fc2VsIiwNCisJCTQpLA0KK307DQorDQorc3RhdGljIGludCBjbGtf bXQ4MTkyX2F1ZF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3Ry dWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5v ZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisJaW50IHI7DQorDQorCWNsa19kYXRhID0gbXRrX2Fs bG9jX2Nsa19kYXRhKENMS19BVURfTlJfQ0xLKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rlcl9nYXRl cyhub2RlLCBhdWRfY2xrcywgQVJSQVlfU0laRShhdWRfY2xrcyksDQorCQkJY2xrX2RhdGEpOw0K Kw0KKwlyID0gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0 LCBjbGtfZGF0YSk7DQorCWlmIChyKQ0KKwkJcmV0dXJuIHI7DQorDQorCXIgPSBkZXZtX29mX3Bs YXRmb3JtX3BvcHVsYXRlKCZwZGV2LT5kZXYpOw0KKwlpZiAocikNCisJCW9mX2Nsa19kZWxfcHJv dmlkZXIobm9kZSk7DQorDQorCXJldHVybiByOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0 IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX2F1ZFtdID0gew0KKwl7IC5jb21wYXRp YmxlID0gIm1lZGlhdGVrLG10ODE5Mi1hdWRzeXMiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGlj IHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml9hdWRfZHJ2ID0gew0KKwkucHJvYmUg PSBjbGtfbXQ4MTkyX2F1ZF9wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1t dDgxOTItYXVkIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTJfYXVk LA0KKwl9LA0KK307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9hdWRf ZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbS5j IGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1jYW0uYw0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAuLjMwOTYyNWINCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZl cnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtLmMNCkBAIC0wLDAgKzEsNjkgQEANCisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAy MDIwIE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRl ay5jb20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxs aW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNs dWRlICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTIt Y2xrLmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGNhbV9jZ19yZWdz ID0gew0KKwkuc2V0X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQorCS5zdGFfb2ZzID0g MHgwLA0KK307DQorDQorI2RlZmluZSBHQVRFX0NBTShfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hp ZnQpCQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmY2FtX2NnX3JlZ3MsIF9z aGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBz dHJ1Y3QgbXRrX2dhdGUgY2FtX2Nsa3NbXSA9IHsNCisJR0FURV9DQU0oQ0xLX0NBTV9MQVJCMTMs ICJjYW1fbGFyYjEzIiwgImNhbV9zZWwiLCAwKSwNCisJR0FURV9DQU0oQ0xLX0NBTV9ERlBfVkFE LCAiY2FtX2RmcF92YWQiLCAiY2FtX3NlbCIsIDEpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0xBUkIx NCwgImNhbV9sYXJiMTQiLCAiY2FtX3NlbCIsIDIpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0NBTSwg ImNhbV9jYW0iLCAiY2FtX3NlbCIsIDYpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0NBTVRHLCAiY2Ft X2NhbXRnIiwgImNhbV9zZWwiLCA3KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9TRU5JTkYsICJjYW1f c2VuaW5mIiwgImNhbV9zZWwiLCA4KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQU1TVjAsICJjYW1f Y2Ftc3YwIiwgImNhbV9zZWwiLCA5KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQU1TVjEsICJjYW1f Y2Ftc3YxIiwgImNhbV9zZWwiLCAxMCksDQorCUdBVEVfQ0FNKENMS19DQU1fQ0FNU1YyLCAiY2Ft X2NhbXN2MiIsICJjYW1fc2VsIiwgMTEpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0NBTVNWMywgImNh bV9jYW1zdjMiLCAiY2FtX3NlbCIsIDEyKSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQ1UwLCAiY2Ft X2NjdTAiLCAiY2FtX3NlbCIsIDEzKSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQ1UxLCAiY2FtX2Nj dTEiLCAiY2FtX3NlbCIsIDE0KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9NUkFXMCwgImNhbV9tcmF3 MCIsICJjYW1fc2VsIiwgMTUpLA0KKwlHQVRFX0NBTShDTEtfQ0FNX0ZBS0VfRU5HLCAiY2FtX2Zh a2VfZW5nIiwgImNhbV9zZWwiLCAxNyksDQorCUdBVEVfQ0FNKENMS19DQU1fQ0NVX0dBTFMsICJj YW1fY2N1X2dhbHMiLCAiY2FtX3NlbCIsIDE4KSwNCisJR0FURV9DQU0oQ0xLX0NBTV9DQU0yTU1f R0FMUywgImNhbTJtbV9nYWxzIiwgImNhbV9zZWwiLCAxOSksDQorfTsNCisNCitzdGF0aWMgaW50 IGNsa19tdDgxOTJfY2FtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0K KwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9k ZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19j bGtfZGF0YShDTEtfQ0FNX05SX0NMSyk7DQorDQorCW10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9k ZSwgY2FtX2Nsa3MsIEFSUkFZX1NJWkUoY2FtX2Nsa3MpLA0KKwkJCWNsa19kYXRhKTsNCisNCisJ cmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwg Y2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9t YXRjaF9jbGtfbXQ4MTkyX2NhbVtdID0gew0KKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10 ODE5Mi1jYW1zeXMiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9k cml2ZXIgY2xrX210ODE5Ml9jYW1fZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX2NhbV9w cm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgxOTItY2FtIiwNCisJCS5v Zl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTJfY2FtLA0KKwl9LA0KK307DQorDQor YnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9jYW1fZHJ2KTsNCmRpZmYgLS1naXQg YS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbV9yYXdhLmMgYi9kcml2ZXJzL2Ns ay9tZWRpYXRlay9jbGstbXQ4MTkyLWNhbV9yYXdhLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQpp bmRleCAwMDAwMDAwLi5jYjE5MTFhDQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9t ZWRpYXRlay9jbGstbXQ4MTkyLWNhbV9yYXdhLmMNCkBAIC0wLDAgKzEsNTYgQEANCisvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAyMDIw IE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5j b20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxsaW51 eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRl ICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTItY2xr Lmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGNhbV9yYXdhX2NnX3Jl Z3MgPSB7DQorCS5zZXRfb2ZzID0gMHg0LA0KKwkuY2xyX29mcyA9IDB4OCwNCisJLnN0YV9vZnMg PSAweDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfQ0FNX1JBV0EoX2lkLCBfbmFtZSwgX3BhcmVu dCwgX3NoaWZ0KQkJCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmNhbV9yYXdh X2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgY2FtX3Jhd2FfY2xrc1tdID0gew0KKwlHQVRFX0NB TV9SQVdBKENMS19DQU1fUkFXQV9MQVJCWCwgImNhbV9yYXdhX2xhcmJ4IiwgImNhbV9zZWwiLCAw KSwNCisJR0FURV9DQU1fUkFXQShDTEtfQ0FNX1JBV0FfQ0FNLCAiY2FtX3Jhd2FfY2FtIiwgImNh bV9zZWwiLCAxKSwNCisJR0FURV9DQU1fUkFXQShDTEtfQ0FNX1JBV0FfQ0FNVEcsICJjYW1fcmF3 YV9jYW10ZyIsICJjYW1fc2VsIiwgMiksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJf Y2FtX3Jhd2FfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVj dCBjbGtfb25lY2VsbF9kYXRhICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2Rl ID0gcGRldi0+ZGV2Lm9mX25vZGU7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRh KENMS19DQU1fUkFXQV9OUl9DTEspOw0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUs IGNhbV9yYXdhX2Nsa3MsIEFSUkFZX1NJWkUoY2FtX3Jhd2FfY2xrcyksDQorCQkJY2xrX2RhdGEp Ow0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNl bGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNl X2lkIG9mX21hdGNoX2Nsa19tdDgxOTJfY2FtX3Jhd2FbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9 ICJtZWRpYXRlayxtdDgxOTItY2Ftc3lzX3Jhd2EiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGlj IHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml9jYW1fcmF3YV9kcnYgPSB7DQorCS5w cm9iZSA9IGNsa19tdDgxOTJfY2FtX3Jhd2FfcHJvYmUsDQorCS5kcml2ZXIgPSB7DQorCQkubmFt ZSA9ICJjbGstbXQ4MTkyLWNhbV9yYXdhIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNo X2Nsa19tdDgxOTJfY2FtX3Jhd2EsDQorCX0sDQorfTsNCisNCitidWlsdGluX3BsYXRmb3JtX2Ry aXZlcihjbGtfbXQ4MTkyX2NhbV9yYXdhX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsv bWVkaWF0ZWsvY2xrLW10ODE5Mi1jYW1fcmF3Yi5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xr LW10ODE5Mi1jYW1fcmF3Yi5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4u N2ZjYzMzZg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10 ODE5Mi1jYW1fcmF3Yi5jDQpAQCAtMCwwICsxLDU2IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjANCisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMu DQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNs dWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2 aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCIN CisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRp YyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBjYW1fcmF3Yl9jZ19yZWdzID0gew0KKwkuc2V0 X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQorCS5zdGFfb2ZzID0gMHgwLA0KK307DQor DQorI2RlZmluZSBHQVRFX0NBTV9SQVdCKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCQlc DQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZjYW1fcmF3Yl9jZ19yZWdzLCBfc2hp ZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG10a19nYXRlIGNhbV9yYXdiX2Nsa3NbXSA9IHsNCisJR0FURV9DQU1fUkFXQihDTEtfQ0FN X1JBV0JfTEFSQlgsICJjYW1fcmF3Yl9sYXJieCIsICJjYW1fc2VsIiwgMCksDQorCUdBVEVfQ0FN X1JBV0IoQ0xLX0NBTV9SQVdCX0NBTSwgImNhbV9yYXdiX2NhbSIsICJjYW1fc2VsIiwgMSksDQor CUdBVEVfQ0FNX1JBV0IoQ0xLX0NBTV9SQVdCX0NBTVRHLCAiY2FtX3Jhd2JfY2FtdGciLCAiY2Ft X3NlbCIsIDIpLA0KK307DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX2NhbV9yYXdiX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxf ZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5v Zl9ub2RlOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfQ0FNX1JBV0Jf TlJfQ0xLKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBjYW1fcmF3Yl9jbGtz LCBBUlJBWV9TSVpFKGNhbV9yYXdiX2Nsa3MpLA0KKwkJCWNsa19kYXRhKTsNCisNCisJcmV0dXJu IG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2Rh dGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9j bGtfbXQ4MTkyX2NhbV9yYXdiW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4 MTkyLWNhbXN5c19yYXdiIiwgfSwNCisJe30NCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZv cm1fZHJpdmVyIGNsa19tdDgxOTJfY2FtX3Jhd2JfZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4 MTkyX2NhbV9yYXdiX3Byb2JlLA0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5 Mi1jYW1fcmF3YiIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX2Nh bV9yYXdiLA0KKwl9LA0KK307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5 Ml9jYW1fcmF3Yl9kcnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1t dDgxOTItY2FtX3Jhd2MuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jh d2MuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmJjMmFhNTQNCi0tLSAv ZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItY2FtX3Jhd2Mu Yw0KQEAgLTAsMCArMSw1NiBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w DQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjog V2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xr LXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNp bmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUg PGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0 IG10a19nYXRlX3JlZ3MgY2FtX3Jhd2NfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweDQsDQor CS5jbHJfb2ZzID0gMHg4LA0KKwkuc3RhX29mcyA9IDB4MCwNCit9Ow0KKw0KKyNkZWZpbmUgR0FU RV9DQU1fUkFXQyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCQkJXA0KKwlHQVRFX01USyhf aWQsIF9uYW1lLCBfcGFyZW50LCAmY2FtX3Jhd2NfY2dfcmVncywgX3NoaWZ0LAlcDQorCQkmbXRr X2Nsa19nYXRlX29wc19zZXRjbHIpDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBj YW1fcmF3Y19jbGtzW10gPSB7DQorCUdBVEVfQ0FNX1JBV0MoQ0xLX0NBTV9SQVdDX0xBUkJYLCAi Y2FtX3Jhd2NfbGFyYngiLCAiY2FtX3NlbCIsIDApLA0KKwlHQVRFX0NBTV9SQVdDKENMS19DQU1f UkFXQ19DQU0sICJjYW1fcmF3Y19jYW0iLCAiY2FtX3NlbCIsIDEpLA0KKwlHQVRFX0NBTV9SQVdD KENMS19DQU1fUkFXQ19DQU1URywgImNhbV9yYXdjX2NhbXRnIiwgImNhbV9zZWwiLCAyKSwNCit9 Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9jYW1fcmF3Y19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRh Ow0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisNCisJ Y2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0NBTV9SQVdDX05SX0NMSyk7DQorDQor CW10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgY2FtX3Jhd2NfY2xrcywgQVJSQVlfU0laRShj YW1fcmF3Y19jbGtzKSwNCisJCQljbGtfZGF0YSk7DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3By b3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQor c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9jYW1f cmF3Y1tdID0gew0KKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi1jYW1zeXNfcmF3 YyIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtf bXQ4MTkyX2NhbV9yYXdjX2RydiA9IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml9jYW1fcmF3Y19w cm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgxOTItY2FtX3Jhd2MiLA0K KwkJLm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml9jYW1fcmF3YywNCisJfSwN Cit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGNsa19tdDgxOTJfY2FtX3Jhd2NfZHJ2 KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltZy5jIGIv ZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbWcuYw0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAuLjlmYTBmNDcNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMv Y2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1nLmMNCkBAIC0wLDAgKzEsNTcgQEANCisvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAyMDIw IE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5j b20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxsaW51 eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRl ICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTItY2xr Lmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGltZ19jZ19yZWdzID0g ew0KKwkuc2V0X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQorCS5zdGFfb2ZzID0gMHgw LA0KK307DQorDQorI2RlZmluZSBHQVRFX0lNRyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQp CQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaW1nX2NnX3JlZ3MsIF9zaGlm dCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgbXRrX2dhdGUgaW1nX2Nsa3NbXSA9IHsNCisJR0FURV9JTUcoQ0xLX0lNR19MQVJCOSwgImlt Z19sYXJiOSIsICJpbWcxX3NlbCIsIDApLA0KKwlHQVRFX0lNRyhDTEtfSU1HX0xBUkIxMCwgImlt Z19sYXJiMTAiLCAiaW1nMV9zZWwiLCAxKSwNCisJR0FURV9JTUcoQ0xLX0lNR19ESVAsICJpbWdf ZGlwIiwgImltZzFfc2VsIiwgMiksDQorCUdBVEVfSU1HKENMS19JTUdfR0FMUywgImltZ19nYWxz IiwgImltZzFfc2VsIiwgMTIpLA0KK307DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX2ltZ19w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVj ZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5k ZXYub2Zfbm9kZTsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lNR19O Ul9DTEspOw0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGltZ19jbGtzLCBBUlJB WV9TSVpFKGltZ19jbGtzKSwNCisJCQljbGtfZGF0YSk7DQorDQorCXJldHVybiBvZl9jbGtfYWRk X3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9p bWdbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItaW1nc3lzIiwgfSwN CisJe30NCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJf aW1nX2RydiA9IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml9pbWdfcHJvYmUsDQorCS5kcml2ZXIg PSB7DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyLWltZyIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBv Zl9tYXRjaF9jbGtfbXQ4MTkyX2ltZywNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1f ZHJpdmVyKGNsa19tdDgxOTJfaW1nX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVk aWF0ZWsvY2xrLW10ODE5Mi1pbWcyLmMgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTky LWltZzIuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjQyOTI1Y2MNCi0t LSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1nMi5j DQpAQCAtMCwwICsxLDU5IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAN CisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBX ZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGst cHJvdmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2lu Y2x1ZGUgImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8 ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg bXRrX2dhdGVfcmVncyBpbWcyX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHg0LA0KKwkuY2xy X29mcyA9IDB4OCwNCisJLnN0YV9vZnMgPSAweDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfSU1H MihfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1l LCBfcGFyZW50LCAmaW1nMl9jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3Bz X3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlIGltZzJfY2xrc1tdID0g ew0KKwlHQVRFX0lNRzIoQ0xLX0lNRzJfTEFSQjExLCAiaW1nMl9sYXJiMTEiLCAiaW1nMV9zZWwi LCAwKSwNCisJR0FURV9JTUcyKENMS19JTUcyX0xBUkIxMiwgImltZzJfbGFyYjEyIiwgImltZzFf c2VsIiwgMSksDQorCUdBVEVfSU1HMihDTEtfSU1HMl9NRkIsICJpbWcyX21mYiIsICJpbWcxX3Nl bCIsIDYpLA0KKwlHQVRFX0lNRzIoQ0xLX0lNRzJfV1BFLCAiaW1nMl93cGUiLCAiaW1nMV9zZWwi LCA3KSwNCisJR0FURV9JTUcyKENMS19JTUcyX01TUywgImltZzJfbXNzIiwgImltZzFfc2VsIiwg OCksDQorCUdBVEVfSU1HMihDTEtfSU1HMl9HQUxTLCAiaW1nMl9nYWxzIiwgImltZzFfc2VsIiwg MTIpLA0KK307DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX2ltZzJfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9kYXRhICpjbGtf ZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9mX25vZGU7DQor DQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19JTUcyX05SX0NMSyk7DQorDQor CW10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW1nMl9jbGtzLCBBUlJBWV9TSVpFKGltZzJf Y2xrcyksDQorCQkJY2xrX2RhdGEpOw0KKw0KKwlyZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihu b2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Nsa19tdDgxOTJfaW1nMltdID0gew0K Kwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi1pbWdzeXMyIiwgfSwNCisJe30NCit9 Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfaW1nMl9kcnYg PSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJfaW1nMl9wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJ CS5uYW1lID0gImNsay1tdDgxOTItaW1nMiIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9tYXRj aF9jbGtfbXQ4MTkyX2ltZzIsDQorCX0sDQorfTsNCisNCitidWlsdGluX3BsYXRmb3JtX2RyaXZl cihjbGtfbXQ4MTkyX2ltZzJfZHJ2KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRl ay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF9jLmMgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGst bXQ4MTkyLWltcF9paWNfd3JhcF9jLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw MDAwLi44OGQ4ZDEyDQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9j bGstbXQ4MTkyLWltcF9paWNfd3JhcF9jLmMNCkBAIC0wLDAgKzEsNjEgQEANCisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAyMDIwIE1l ZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5jb20+ DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxsaW51eC9w bGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRlICJj bGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTItY2xrLmg+ DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIGltcF9paWNfd3JhcF9jX2Nn X3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHhlMDgsDQorCS5jbHJfb2ZzID0gMHhlMDQsDQorCS5z dGFfb2ZzID0gMHhlMDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfSU1QX0lJQ19XUkFQX0MoX2lk LCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFy ZW50LCAmaW1wX2lpY193cmFwX2NfY2dfcmVncywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRl X29wc19zZXRjbHIpDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSBpbXBfaWljX3dy YXBfY19jbGtzW10gPSB7DQorCUdBVEVfSU1QX0lJQ19XUkFQX0MoQ0xLX0lNUF9JSUNfV1JBUF9D X0kyQzEwLCAiaW1wX2lpY193cmFwX2NfaTJjMTAiLA0KKwkJImluZnJhX2kyYzAiLCAwKSwNCisJ R0FURV9JTVBfSUlDX1dSQVBfQyhDTEtfSU1QX0lJQ19XUkFQX0NfSTJDMTEsICJpbXBfaWljX3dy YXBfY19pMmMxMSIsDQorCQkiaW5mcmFfaTJjMCIsIDEpLA0KKwlHQVRFX0lNUF9JSUNfV1JBUF9D KENMS19JTVBfSUlDX1dSQVBfQ19JMkMxMiwgImltcF9paWNfd3JhcF9jX2kyYzEyIiwNCisJCSJp bmZyYV9pMmMwIiwgMiksDQorCUdBVEVfSU1QX0lJQ19XUkFQX0MoQ0xLX0lNUF9JSUNfV1JBUF9D X0kyQzEzLCAiaW1wX2lpY193cmFwX2NfaTJjMTMiLA0KKwkJImluZnJhX2kyYzAiLCAzKSwNCit9 Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfY19wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNs a19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsN CisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lNUF9JSUNfV1JBUF9DX05S X0NMSyk7DQorDQorCW10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW1wX2lpY193cmFwX2Nf Y2xrcywNCisJCUFSUkFZX1NJWkUoaW1wX2lpY193cmFwX2NfY2xrcyksIGNsa19kYXRhKTsNCisN CisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dl dCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBv Zl9tYXRjaF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9jW10gPSB7DQorCXsgLmNvbXBhdGlibGUg PSAibWVkaWF0ZWssbXQ4MTkyLWltcF9paWNfd3JhcF9jIiwgfSwNCisJe30NCit9Ow0KKw0KK3N0 YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfaW1wX2lpY193cmFwX2NfZHJ2 ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9jX3Byb2JlLA0KKwkuZHJp dmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfYyIsDQorCQkub2Zf bWF0Y2hfdGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9jLA0KKwl9LA0K K307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9pbXBfaWljX3dyYXBf Y19kcnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1w X2lpY193cmFwX2UuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193 cmFwX2UuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLmZjMTQwMTMNCi0t LSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lp Y193cmFwX2UuYw0KQEAgLTAsMCArMSw1NSBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wDQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8v IEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8 bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5o Pg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQor I2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29u c3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgaW1wX2lpY193cmFwX2VfY2dfcmVncyA9IHsNCisJLnNl dF9vZnMgPSAweGUwOCwNCisJLmNscl9vZnMgPSAweGUwNCwNCisJLnN0YV9vZnMgPSAweGUwMCwN Cit9Ow0KKw0KKyNkZWZpbmUgR0FURV9JTVBfSUlDX1dSQVBfRShfaWQsIF9uYW1lLCBfcGFyZW50 LCBfc2hpZnQpCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbXBfaWljX3dy YXBfZV9jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisN CitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlIGltcF9paWNfd3JhcF9lX2Nsa3NbXSA9IHsN CisJR0FURV9JTVBfSUlDX1dSQVBfRShDTEtfSU1QX0lJQ19XUkFQX0VfSTJDMywgImltcF9paWNf d3JhcF9lX2kyYzMiLA0KKwkJImluZnJhX2kyYzAiLCAwKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQg Y2xrX210ODE5Ml9pbXBfaWljX3dyYXBfZV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisNCisJY2xrX2RhdGEgPSBt dGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lNUF9JSUNfV1JBUF9FX05SX0NMSyk7DQorDQorCW10a19j bGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW1wX2lpY193cmFwX2VfY2xrcywNCisJCUFSUkFZX1NJ WkUoaW1wX2lpY193cmFwX2VfY2xrcyksIGNsa19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19h ZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30N CisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTky X2ltcF9paWNfd3JhcF9lW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTky LWltcF9paWNfd3JhcF9lIiwgfSwNCisJe30NCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZv cm1fZHJpdmVyIGNsa19tdDgxOTJfaW1wX2lpY193cmFwX2VfZHJ2ID0gew0KKwkucHJvYmUgPSBj bGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9lX3Byb2JlLA0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUg PSAiY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfZSIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9t YXRjaF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9lLA0KKwl9LA0KK307DQorDQorYnVpbHRpbl9w bGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfZV9kcnYpOw0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX24uYyBiL2Ry aXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX24uYw0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjUyNWU0M2QNCi0tLSAvZGV2L251bGwNCisrKyBi L2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX24uYw0KQEAgLTAs MCArMSw1NyBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQorLy8NCisv LyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUg PHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVy Lmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJj bGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRp bmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRl X3JlZ3MgaW1wX2lpY193cmFwX25fY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGUwOCwNCisJ LmNscl9vZnMgPSAweGUwNCwNCisJLnN0YV9vZnMgPSAweGUwMCwNCit9Ow0KKw0KKyNkZWZpbmUg R0FURV9JTVBfSUlDX1dSQVBfTihfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCQlcDQorCUdB VEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbXBfaWljX3dyYXBfbl9jZ19yZWdzLCBfc2hp ZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG10a19nYXRlIGltcF9paWNfd3JhcF9uX2Nsa3NbXSA9IHsNCisJR0FURV9JTVBfSUlDX1dS QVBfTihDTEtfSU1QX0lJQ19XUkFQX05fSTJDMCwgImltcF9paWNfd3JhcF9uX2kyYzAiLA0KKwkJ ImluZnJhX2kyYzAiLCAwKSwNCisJR0FURV9JTVBfSUlDX1dSQVBfTihDTEtfSU1QX0lJQ19XUkFQ X05fSTJDNiwgImltcF9paWNfd3JhcF9uX2kyYzYiLA0KKwkJImluZnJhX2kyYzAiLCAxKSwNCit9 Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfbl9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNs a19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsN CisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lNUF9JSUNfV1JBUF9OX05S X0NMSyk7DQorDQorCW10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW1wX2lpY193cmFwX25f Y2xrcywNCisJCUFSUkFZX1NJWkUoaW1wX2lpY193cmFwX25fY2xrcyksIGNsa19kYXRhKTsNCisN CisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dl dCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBv Zl9tYXRjaF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9uW10gPSB7DQorCXsgLmNvbXBhdGlibGUg PSAibWVkaWF0ZWssbXQ4MTkyLWltcF9paWNfd3JhcF9uIiwgfSwNCisJe30NCit9Ow0KKw0KK3N0 YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfaW1wX2lpY193cmFwX25fZHJ2 ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9uX3Byb2JlLA0KKwkuZHJp dmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfbiIsDQorCQkub2Zf bWF0Y2hfdGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9uLA0KKwl9LA0K K307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9pbXBfaWljX3dyYXBf bl9kcnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1w X2lpY193cmFwX3MuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193 cmFwX3MuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjBkNjUyYmQNCi0t LSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lp Y193cmFwX3MuYw0KQEAgLTAsMCArMSw1OSBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wDQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8v IEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8 bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5o Pg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQor I2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29u c3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgaW1wX2lpY193cmFwX3NfY2dfcmVncyA9IHsNCisJLnNl dF9vZnMgPSAweGUwOCwNCisJLmNscl9vZnMgPSAweGUwNCwNCisJLnN0YV9vZnMgPSAweGUwMCwN Cit9Ow0KKw0KKyNkZWZpbmUgR0FURV9JTVBfSUlDX1dSQVBfUyhfaWQsIF9uYW1lLCBfcGFyZW50 LCBfc2hpZnQpCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbXBfaWljX3dy YXBfc19jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisN CitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlIGltcF9paWNfd3JhcF9zX2Nsa3NbXSA9IHsN CisJR0FURV9JTVBfSUlDX1dSQVBfUyhDTEtfSU1QX0lJQ19XUkFQX1NfSTJDNywgImltcF9paWNf d3JhcF9zX2kyYzciLA0KKwkJImluZnJhX2kyYzAiLCAwKSwNCisJR0FURV9JTVBfSUlDX1dSQVBf UyhDTEtfSU1QX0lJQ19XUkFQX1NfSTJDOCwgImltcF9paWNfd3JhcF9zX2kyYzgiLA0KKwkJImlu ZnJhX2kyYzAiLCAxKSwNCisJR0FURV9JTVBfSUlDX1dSQVBfUyhDTEtfSU1QX0lJQ19XUkFQX1Nf STJDOSwgImltcF9paWNfd3JhcF9zX2kyYzkiLA0KKwkJImluZnJhX2kyYzAiLCAyKSwNCit9Ow0K Kw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfc19wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19k YXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisN CisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lNUF9JSUNfV1JBUF9TX05SX0NM Syk7DQorDQorCW10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW1wX2lpY193cmFwX3NfY2xr cywNCisJCUFSUkFZX1NJWkUoaW1wX2lpY193cmFwX3NfY2xrcyksIGNsa19kYXRhKTsNCisNCisJ cmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwg Y2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9t YXRjaF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9zW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAi bWVkaWF0ZWssbXQ4MTkyLWltcF9paWNfd3JhcF9zIiwgfSwNCisJe30NCit9Ow0KKw0KK3N0YXRp YyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfaW1wX2lpY193cmFwX3NfZHJ2ID0g ew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9zX3Byb2JlLA0KKwkuZHJpdmVy ID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfcyIsDQorCQkub2ZfbWF0 Y2hfdGFibGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF9zLA0KKwl9LA0KK307 DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfc19k cnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lp Y193cmFwX3cuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFw X3cuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjE2NjkyMmMNCi0tLSAv ZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193 cmFwX3cuYw0KQEAgLTAsMCArMSw1NSBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wDQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1 dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGlu dXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0K Kw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2lu Y2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qg c3RydWN0IG10a19nYXRlX3JlZ3MgaW1wX2lpY193cmFwX3dfY2dfcmVncyA9IHsNCisJLnNldF9v ZnMgPSAweGUwOCwNCisJLmNscl9vZnMgPSAweGUwNCwNCisJLnN0YV9vZnMgPSAweGUwMCwNCit9 Ow0KKw0KKyNkZWZpbmUgR0FURV9JTVBfSUlDX1dSQVBfVyhfaWQsIF9uYW1lLCBfcGFyZW50LCBf c2hpZnQpCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpbXBfaWljX3dyYXBf d19jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCitz dGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlIGltcF9paWNfd3JhcF93X2Nsa3NbXSA9IHsNCisJ R0FURV9JTVBfSUlDX1dSQVBfVyhDTEtfSU1QX0lJQ19XUkFQX1dfSTJDNSwgImltcF9paWNfd3Jh cF93X2kyYzUiLA0KKwkJImluZnJhX2kyYzAiLCAwKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xr X210ODE5Ml9pbXBfaWljX3dyYXBfd19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisNCisJY2xrX2RhdGEgPSBtdGtf YWxsb2NfY2xrX2RhdGEoQ0xLX0lNUF9JSUNfV1JBUF9XX05SX0NMSyk7DQorDQorCW10a19jbGtf cmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW1wX2lpY193cmFwX3dfY2xrcywNCisJCUFSUkFZX1NJWkUo aW1wX2lpY193cmFwX3dfY2xrcyksIGNsa19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRf cHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisN CitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX2lt cF9paWNfd3JhcF93W10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWlt cF9paWNfd3JhcF93IiwgfSwNCisJe30NCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1f ZHJpdmVyIGNsa19tdDgxOTJfaW1wX2lpY193cmFwX3dfZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtf bXQ4MTkyX2ltcF9paWNfd3JhcF93X3Byb2JlLA0KKwkuZHJpdmVyID0gew0KKwkJLm5hbWUgPSAi Y2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfdyIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9tYXRj aF9jbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF93LA0KKwl9LA0KK307DQorDQorYnVpbHRpbl9wbGF0 Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfd19kcnYpOw0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItaW1wX2lpY193cmFwX3dzLmMgYi9kcml2 ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWltcF9paWNfd3JhcF93cy5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uYmQxM2ZkYw0KLS0tIC9kZXYvbnVsbA0KKysrIGIv ZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfd3MuYw0KQEAgLTAs MCArMSw1OSBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQorLy8NCisv LyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUg PHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVy Lmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJj bGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRp bmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRl X3JlZ3MgaW1wX2lpY193cmFwX3dzX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHhlMDgsDQor CS5jbHJfb2ZzID0gMHhlMDQsDQorCS5zdGFfb2ZzID0gMHhlMDAsDQorfTsNCisNCisjZGVmaW5l IEdBVEVfSU1QX0lJQ19XUkFQX1dTKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCVwNCisJ R0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmltcF9paWNfd3JhcF93c19jZ19yZWdzLCBf c2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNscikNCisNCitzdGF0aWMgY29uc3Qg c3RydWN0IG10a19nYXRlIGltcF9paWNfd3JhcF93c19jbGtzW10gPSB7DQorCUdBVEVfSU1QX0lJ Q19XUkFQX1dTKENMS19JTVBfSUlDX1dSQVBfV1NfSTJDMSwgImltcF9paWNfd3JhcF93c19pMmMx IiwNCisJCSJpbmZyYV9pMmMwIiwgMCksDQorCUdBVEVfSU1QX0lJQ19XUkFQX1dTKENMS19JTVBf SUlDX1dSQVBfV1NfSTJDMiwgImltcF9paWNfd3JhcF93c19pMmMyIiwNCisJCSJpbmZyYV9pMmMw IiwgMSksDQorCUdBVEVfSU1QX0lJQ19XUkFQX1dTKENMS19JTVBfSUlDX1dSQVBfV1NfSTJDNCwg ImltcF9paWNfd3JhcF93c19pMmM0IiwNCisJCSJpbmZyYV9pMmMwIiwgMiksDQorfTsNCisNCitz dGF0aWMgaW50IGNsa19tdDgxOTJfaW1wX2lpY193cmFwX3dzX3Byb2JlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7 DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKw0KKwlj bGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfSU1QX0lJQ19XUkFQX1dTX05SX0NMSyk7 DQorDQorCW10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgaW1wX2lpY193cmFwX3dzX2Nsa3Ms DQorCQlBUlJBWV9TSVpFKGltcF9paWNfd3JhcF93c19jbGtzKSwgY2xrX2RhdGEpOw0KKw0KKwly ZXR1cm4gb2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBj bGtfZGF0YSk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21h dGNoX2Nsa19tdDgxOTJfaW1wX2lpY193cmFwX3dzW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAi bWVkaWF0ZWssbXQ4MTkyLWltcF9paWNfd3JhcF93cyIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0 aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX2ltcF9paWNfd3JhcF93c19kcnYg PSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJfaW1wX2lpY193cmFwX3dzX3Byb2JlLA0KKwkuZHJp dmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1pbXBfaWljX3dyYXBfd3MiLA0KKwkJLm9m X21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml9pbXBfaWljX3dyYXBfd3MsDQorCX0s DQorfTsNCisNCitidWlsdGluX3BsYXRmb3JtX2RyaXZlcihjbGtfbXQ4MTkyX2ltcF9paWNfd3Jh cF93c19kcnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIt aXBlLmMgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLWlwZS5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uMTUxMDlhOA0KLS0tIC9kZXYvbnVsbA0KKysrIGIv ZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1pcGUuYw0KQEAgLTAsMCArMSw2MSBAQA0K Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQorLy8NCisvLyBDb3B5cmlnaHQg KGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1l ZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1 ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQor I2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210 ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgaXBlX2Nn X3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHg0LA0KKwkuY2xyX29mcyA9IDB4OCwNCisJLnN0YV9v ZnMgPSAweDAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfSVBFKF9pZCwgX25hbWUsIF9wYXJlbnQs IF9zaGlmdCkJCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZpcGVfY2dfcmVn cywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQorDQorc3RhdGljIGNv bnN0IHN0cnVjdCBtdGtfZ2F0ZSBpcGVfY2xrc1tdID0gew0KKwlHQVRFX0lQRShDTEtfSVBFX0xB UkIxOSwgImlwZV9sYXJiMTkiLCAiaXBlX3NlbCIsIDApLA0KKwlHQVRFX0lQRShDTEtfSVBFX0xB UkIyMCwgImlwZV9sYXJiMjAiLCAiaXBlX3NlbCIsIDEpLA0KKwlHQVRFX0lQRShDTEtfSVBFX1NN SV9TVUJDT00sICJpcGVfc21pX3N1YmNvbSIsICJpcGVfc2VsIiwgMiksDQorCUdBVEVfSVBFKENM S19JUEVfRkQsICJpcGVfZmQiLCAiaXBlX3NlbCIsIDMpLA0KKwlHQVRFX0lQRShDTEtfSVBFX0ZF LCAiaXBlX2ZlIiwgImlwZV9zZWwiLCA0KSwNCisJR0FURV9JUEUoQ0xLX0lQRV9SU0MsICJpcGVf cnNjIiwgImlwZV9zZWwiLCA1KSwNCisJR0FURV9JUEUoQ0xLX0lQRV9EUEUsICJpcGVfZHBlIiwg ImlwZV9zZWwiLCA2KSwNCisJR0FURV9JUEUoQ0xLX0lQRV9HQUxTLCAiaXBlX2dhbHMiLCAiaXBl X3NlbCIsIDgpLA0KK307DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX2lwZV9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEg KmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9k ZTsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX0lQRV9OUl9DTEspOw0K Kw0KKwltdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIGlwZV9jbGtzLCBBUlJBWV9TSVpFKGlw ZV9jbGtzKSwNCisJCQljbGtfZGF0YSk7DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVy KG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9pcGVbXSA9IHsN CisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItaXBlc3lzIiwgfSwNCisJe30NCit9 Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfaXBlX2RydiA9 IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml9pcGVfcHJvYmUsDQorCS5kcml2ZXIgPSB7DQorCQku bmFtZSA9ICJjbGstbXQ4MTkyLWlwZSIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9tYXRjaF9j bGtfbXQ4MTkyX2lwZSwNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGNs a19tdDgxOTJfaXBlX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xr LW10ODE5Mi1tZHAuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbWRwLmMNCm5l dyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5jZTViZDdiDQotLS0gL2Rldi9udWxs DQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1kcC5jDQpAQCAtMCwwICsx LDg5IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCisvLw0KKy8vIENv cHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2Vp eWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4N CisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1t dGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3Mv Y2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVn cyBtZHAwX2NnX3JlZ3MgPSB7DQorCS5zZXRfb2ZzID0gMHgxMDQsDQorCS5jbHJfb2ZzID0gMHgx MDgsDQorCS5zdGFfb2ZzID0gMHgxMDAsDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10 a19nYXRlX3JlZ3MgbWRwMV9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4MTI0LA0KKwkuY2xy X29mcyA9IDB4MTI4LA0KKwkuc3RhX29mcyA9IDB4MTIwLA0KK307DQorDQorI2RlZmluZSBHQVRF X01EUDAoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJCVwNCisJR0FURV9NVEsoX2lkLCBf bmFtZSwgX3BhcmVudCwgJm1kcDBfY2dfcmVncywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRl X29wc19zZXRjbHIpDQorDQorI2RlZmluZSBHQVRFX01EUDEoX2lkLCBfbmFtZSwgX3BhcmVudCwg X3NoaWZ0KQkJCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJm1kcDFfY2dfcmVn cywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQorDQorc3RhdGljIGNv bnN0IHN0cnVjdCBtdGtfZ2F0ZSBtZHBfY2xrc1tdID0gew0KKwkvKiBNRFAwICovDQorCUdBVEVf TURQMChDTEtfTURQX1JETUEwLCAibWRwX21kcF9yZG1hMCIsICJtZHBfc2VsIiwgMCksDQorCUdB VEVfTURQMChDTEtfTURQX1REU0hQMCwgIm1kcF9tZHBfdGRzaHAwIiwgIm1kcF9zZWwiLCAxKSwN CisJR0FURV9NRFAwKENMS19NRFBfSU1HX0RMX0FTWU5DMCwgIm1kcF9pbWdfZGxfYXN5bmMwIiwg Im1kcF9zZWwiLCAyKSwNCisJR0FURV9NRFAwKENMS19NRFBfSU1HX0RMX0FTWU5DMSwgIm1kcF9p bWdfZGxfYXN5bmMxIiwgIm1kcF9zZWwiLCAzKSwNCisJR0FURV9NRFAwKENMS19NRFBfUkRNQTEs ICJtZHBfbWRwX3JkbWExIiwgIm1kcF9zZWwiLCA0KSwNCisJR0FURV9NRFAwKENMS19NRFBfVERT SFAxLCAibWRwX21kcF90ZHNocDEiLCAibWRwX3NlbCIsIDUpLA0KKwlHQVRFX01EUDAoQ0xLX01E UF9TTUkwLCAibWRwX3NtaTAiLCAibWRwX3NlbCIsIDYpLA0KKwlHQVRFX01EUDAoQ0xLX01EUF9B UEJfQlVTLCAibWRwX2FwYl9idXMiLCAibWRwX3NlbCIsIDcpLA0KKwlHQVRFX01EUDAoQ0xLX01E UF9XUk9UMCwgIm1kcF9tZHBfd3JvdDAiLCAibWRwX3NlbCIsIDgpLA0KKwlHQVRFX01EUDAoQ0xL X01EUF9SU1owLCAibWRwX21kcF9yc3owIiwgIm1kcF9zZWwiLCA5KSwNCisJR0FURV9NRFAwKENM S19NRFBfSERSMCwgIm1kcF9tZHBfaGRyMCIsICJtZHBfc2VsIiwgMTApLA0KKwlHQVRFX01EUDAo Q0xLX01EUF9NVVRFWDAsICJtZHBfbWRwX211dGV4MCIsICJtZHBfc2VsIiwgMTEpLA0KKwlHQVRF X01EUDAoQ0xLX01EUF9XUk9UMSwgIm1kcF9tZHBfd3JvdDEiLCAibWRwX3NlbCIsIDEyKSwNCisJ R0FURV9NRFAwKENMS19NRFBfUlNaMSwgIm1kcF9tZHBfcnN6MSIsICJtZHBfc2VsIiwgMTMpLA0K KwlHQVRFX01EUDAoQ0xLX01EUF9IRFIxLCAibWRwX21kcF9oZHIxIiwgIm1kcF9zZWwiLCAxNCks DQorCUdBVEVfTURQMChDTEtfTURQX0ZBS0VfRU5HMCwgIm1kcF9tZHBfZmFrZV9lbmcwIiwgIm1k cF9zZWwiLCAxNSksDQorCUdBVEVfTURQMChDTEtfTURQX0FBTDAsICJtZHBfbWRwX2FhbDAiLCAi bWRwX3NlbCIsIDE2KSwNCisJR0FURV9NRFAwKENMS19NRFBfQUFMMSwgIm1kcF9tZHBfYWFsMSIs ICJtZHBfc2VsIiwgMTcpLA0KKwlHQVRFX01EUDAoQ0xLX01EUF9DT0xPUjAsICJtZHBfbWRwX2Nv bG9yMCIsICJtZHBfc2VsIiwgMTgpLA0KKwlHQVRFX01EUDAoQ0xLX01EUF9DT0xPUjEsICJtZHBf bWRwX2NvbG9yMSIsICJtZHBfc2VsIiwgMTkpLA0KKwkvKiBNRFAxICovDQorCUdBVEVfTURQMShD TEtfTURQX0lNR19ETF9SRUxBWTBfQVNZTkMwLCAibWRwX2ltZ19kbF9yZWxheTBfYXN5bmMwIiwN CisJCSJtZHBfc2VsIiwgMCksDQorCUdBVEVfTURQMShDTEtfTURQX0lNR19ETF9SRUxBWTFfQVNZ TkMxLCAibWRwX2ltZ19kbF9yZWxheTFfYXN5bmMxIiwNCisJCSJtZHBfc2VsIiwgOCksDQorfTsN CisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfbWRwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0 cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKw0KKwljbGtfZGF0 YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfTURQX05SX0NMSyk7DQorDQorCW10a19jbGtfcmVn aXN0ZXJfZ2F0ZXMobm9kZSwgbWRwX2Nsa3MsIEFSUkFZX1NJWkUobWRwX2Nsa3MpLA0KKwkJCWNs a19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3Ny Y19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX21kcFtdID0gew0KKwl7IC5jb21wYXRpYmxl ID0gIm1lZGlhdGVrLG10ODE5Mi1tZHBzeXMiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGljIHN0 cnVjdCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml9tZHBfZHJ2ID0gew0KKwkucHJvYmUgPSBj bGtfbXQ4MTkyX21kcF9wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgx OTItbWRwIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTJfbWRwLA0K Kwl9LA0KK307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml9tZHBfZHJ2 KTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1mZy5jIGIv ZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tZmcuYw0KbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCmluZGV4IDAwMDAwMDAuLjFkOGMxN2QNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMv Y2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbWZnLmMNCkBAIC0wLDAgKzEsNTQgQEANCisvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMA0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAyMDIw IE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5j b20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxsaW51 eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRl ICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTItY2xr Lmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIG1mZ19jZ19yZWdzID0g ew0KKwkuc2V0X29mcyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQorCS5zdGFfb2ZzID0gMHgw LA0KK307DQorDQorI2RlZmluZSBHQVRFX01GRyhfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQp CQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmbWZnX2NnX3JlZ3MsIF9zaGlm dCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgbXRrX2dhdGUgbWZnX2Nsa3NbXSA9IHsNCisJR0FURV9NRkcoQ0xLX01GR19CRzNELCAibWZn X2JnM2QiLCAibWZnX3BsbF9zZWwiLCAwKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5 Ml9tZmdfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBj bGtfb25lY2VsbF9kYXRhICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0g cGRldi0+ZGV2Lm9mX25vZGU7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENM S19NRkdfTlJfQ0xLKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBtZmdfY2xr cywgQVJSQVlfU0laRShtZmdfY2xrcyksDQorCQkJY2xrX2RhdGEpOw0KKw0KKwlyZXR1cm4gb2Zf Y2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7 DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Nsa19t dDgxOTJfbWZnW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLW1mZ2Nm ZyIsIH0sDQorCXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtf bXQ4MTkyX21mZ19kcnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJfbWZnX3Byb2JlLA0KKwku ZHJpdmVyID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi1tZmciLA0KKwkJLm9mX21hdGNoX3Rh YmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml9tZmcsDQorCX0sDQorfTsNCisNCitidWlsdGluX3Bs YXRmb3JtX2RyaXZlcihjbGtfbXQ4MTkyX21mZ19kcnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv Y2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbW0uYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1t dDgxOTItbW0uYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjAyZWVmMjQN Ci0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItbW0u Yw0KQEAgLTAsMCArMSwxMDggQEANCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MA0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAyMDIwIE1lZGlhVGVrIEluYy4NCisvLyBBdXRob3I6 IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5jb20+DQorDQorI2luY2x1ZGUgPGxpbnV4L2Ns ay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisNCisj aW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRlICJjbGstZ2F0ZS5oIg0KKw0KKyNpbmNsdWRl IDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTItY2xrLmg+DQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCBtdGtfZ2F0ZV9yZWdzIG1tMF9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4MTA0LA0KKwku Y2xyX29mcyA9IDB4MTA4LA0KKwkuc3RhX29mcyA9IDB4MTAwLA0KK307DQorDQorc3RhdGljIGNv bnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIG1tMV9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4 MTE0LA0KKwkuY2xyX29mcyA9IDB4MTE4LA0KKwkuc3RhX29mcyA9IDB4MTEwLA0KK307DQorDQor c3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIG1tMl9jZ19yZWdzID0gew0KKwkuc2V0 X29mcyA9IDB4MWE0LA0KKwkuY2xyX29mcyA9IDB4MWE4LA0KKwkuc3RhX29mcyA9IDB4MWEwLA0K K307DQorDQorI2RlZmluZSBHQVRFX01NMChfaWQsIF9uYW1lLCBfcGFyZW50LCBfc2hpZnQpCQkJ XA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmbW0wX2NnX3JlZ3MsIF9zaGlmdCwJ XA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KKyNkZWZpbmUgR0FURV9NTTEoX2lk LCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3Bh cmVudCwgJm1tMV9jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNs cikNCisNCisjZGVmaW5lIEdBVEVfTU0yKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCQlc DQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZtbTJfY2dfcmVncywgX3NoaWZ0LAlc DQorCQkmbXRrX2Nsa19nYXRlX29wc19zZXRjbHIpDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBt dGtfZ2F0ZSBtbV9jbGtzW10gPSB7DQorCS8qIE1NMCAqLw0KKwlHQVRFX01NMChDTEtfTU1fRElT UF9NVVRFWDAsICJtbV9kaXNwX211dGV4MCIsICJkaXNwX3NlbCIsIDApLA0KKwlHQVRFX01NMChD TEtfTU1fRElTUF9DT05GSUcsICJtbV9kaXNwX2NvbmZpZyIsICJkaXNwX3NlbCIsIDEpLA0KKwlH QVRFX01NMChDTEtfTU1fRElTUF9PVkwwLCAibW1fZGlzcF9vdmwwIiwgImRpc3Bfc2VsIiwgMiks DQorCUdBVEVfTU0wKENMS19NTV9ESVNQX1JETUEwLCAibW1fZGlzcF9yZG1hMCIsICJkaXNwX3Nl bCIsIDMpLA0KKwlHQVRFX01NMChDTEtfTU1fRElTUF9PVkwwXzJMLCAibW1fZGlzcF9vdmwwXzJs IiwgImRpc3Bfc2VsIiwgNCksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX1dETUEwLCAibW1fZGlz cF93ZG1hMCIsICJkaXNwX3NlbCIsIDUpLA0KKwlHQVRFX01NMChDTEtfTU1fRElTUF9VRkJDX1dE TUEwLCAibW1fZGlzcF91ZmJjX3dkbWEwIiwgImRpc3Bfc2VsIiwgNiksDQorCUdBVEVfTU0wKENM S19NTV9ESVNQX1JTWjAsICJtbV9kaXNwX3JzejAiLCAiZGlzcF9zZWwiLCA3KSwNCisJR0FURV9N TTAoQ0xLX01NX0RJU1BfQUFMMCwgIm1tX2Rpc3BfYWFsMCIsICJkaXNwX3NlbCIsIDgpLA0KKwlH QVRFX01NMChDTEtfTU1fRElTUF9DQ09SUjAsICJtbV9kaXNwX2Njb3JyMCIsICJkaXNwX3NlbCIs IDkpLA0KKwlHQVRFX01NMChDTEtfTU1fRElTUF9ESVRIRVIwLCAibW1fZGlzcF9kaXRoZXIwIiwg ImRpc3Bfc2VsIiwgMTApLA0KKwlHQVRFX01NMChDTEtfTU1fU01JX0lORlJBLCAibW1fc21pX2lu ZnJhIiwgImRpc3Bfc2VsIiwgMTEpLA0KKwlHQVRFX01NMChDTEtfTU1fRElTUF9HQU1NQTAsICJt bV9kaXNwX2dhbW1hMCIsICJkaXNwX3NlbCIsIDEyKSwNCisJR0FURV9NTTAoQ0xLX01NX0RJU1Bf UE9TVE1BU0swLCAibW1fZGlzcF9wb3N0bWFzazAiLCAiZGlzcF9zZWwiLCAxMyksDQorCUdBVEVf TU0wKENMS19NTV9ESVNQX0RTQ19XUkFQMCwgIm1tX2Rpc3BfZHNjX3dyYXAwIiwgImRpc3Bfc2Vs IiwgMTQpLA0KKwlHQVRFX01NMChDTEtfTU1fRFNJMCwgIm1tX2RzaTAiLCAiZGlzcF9zZWwiLCAx NSksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX0NPTE9SMCwgIm1tX2Rpc3BfY29sb3IwIiwgImRp c3Bfc2VsIiwgMTYpLA0KKwlHQVRFX01NMChDTEtfTU1fU01JX0NPTU1PTiwgIm1tX3NtaV9jb21t b24iLCAiZGlzcF9zZWwiLCAxNyksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX0ZBS0VfRU5HMCwg Im1tX2Rpc3BfZmFrZV9lbmcwIiwgImRpc3Bfc2VsIiwgMTgpLA0KKwlHQVRFX01NMChDTEtfTU1f RElTUF9GQUtFX0VORzEsICJtbV9kaXNwX2Zha2VfZW5nMSIsICJkaXNwX3NlbCIsIDE5KSwNCisJ R0FURV9NTTAoQ0xLX01NX01EUF9URFNIUDQsICJtbV9tZHBfdGRzaHA0IiwgImRpc3Bfc2VsIiwg MjApLA0KKwlHQVRFX01NMChDTEtfTU1fTURQX1JTWjQsICJtbV9tZHBfcnN6NCIsICJkaXNwX3Nl bCIsIDIxKSwNCisJR0FURV9NTTAoQ0xLX01NX01EUF9BQUw0LCAibW1fbWRwX2FhbDQiLCAiZGlz cF9zZWwiLCAyMiksDQorCUdBVEVfTU0wKENMS19NTV9NRFBfSERSNCwgIm1tX21kcF9oZHI0Iiwg ImRpc3Bfc2VsIiwgMjMpLA0KKwlHQVRFX01NMChDTEtfTU1fTURQX1JETUE0LCAibW1fbWRwX3Jk bWE0IiwgImRpc3Bfc2VsIiwgMjQpLA0KKwlHQVRFX01NMChDTEtfTU1fTURQX0NPTE9SNCwgIm1t X21kcF9jb2xvcjQiLCAiZGlzcF9zZWwiLCAyNSksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX1ky UjAsICJtbV9kaXNwX3kycjAiLCAiZGlzcF9zZWwiLCAyNiksDQorCUdBVEVfTU0wKENMS19NTV9T TUlfR0FMUywgIm1tX3NtaV9nYWxzIiwgImRpc3Bfc2VsIiwgMjcpLA0KKwlHQVRFX01NMChDTEtf TU1fRElTUF9PVkwyXzJMLCAibW1fZGlzcF9vdmwyXzJsIiwgImRpc3Bfc2VsIiwgMjgpLA0KKwlH QVRFX01NMChDTEtfTU1fRElTUF9SRE1BNCwgIm1tX2Rpc3BfcmRtYTQiLCAiZGlzcF9zZWwiLCAy OSksDQorCUdBVEVfTU0wKENMS19NTV9ESVNQX0RQSTAsICJtbV9kaXNwX2RwaTAiLCAiZGlzcF9z ZWwiLCAzMCksDQorCS8qIE1NMSAqLw0KKwlHQVRFX01NMShDTEtfTU1fU01JX0lPTU1VLCAibW1f c21pX2lvbW11IiwgImRpc3Bfc2VsIiwgMCksDQorCS8qIE1NMiAqLw0KKwlHQVRFX01NMihDTEtf TU1fRFNJX0RTSTAsICJtbV9kc2lfZHNpMCIsICJkaXNwX3NlbCIsIDApLA0KKwlHQVRFX01NMihD TEtfTU1fRFBJX0RQSTAsICJtbV9kcGlfZHBpMCIsICJkcGlfc2VsIiwgOCksDQorCUdBVEVfTU0y KENMS19NTV8yNk1IWiwgIm1tXzI2bWh6IiwgImNsazI2bSIsIDI0KSwNCisJR0FURV9NTTIoQ0xL X01NXzMyS0haLCAibW1fMzJraHoiLCAiY2xrMzJrIiwgMjUpLA0KK307DQorDQorc3RhdGljIGlu dCBjbGtfbXQ4MTkyX21tX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0K KwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Ow0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUg Km5vZGUgPSBkZXYtPnBhcmVudC0+b2Zfbm9kZTsNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEg KmNsa19kYXRhOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfTU1fTlJf Q0xLKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBtbV9jbGtzLCBBUlJBWV9T SVpFKG1tX2Nsa3MpLA0KKwkJCWNsa19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJv dmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCisN CitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX21tX2RydiA9IHsNCisJ LnByb2JlID0gY2xrX210ODE5Ml9tbV9wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0g ImNsay1tdDgxOTItbW0iLA0KKwl9LA0KK307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9kcml2ZXIo Y2xrX210ODE5Ml9tbV9kcnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Ns ay1tdDgxOTItbXNkYy5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1tc2RjLmMN Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwLi5mMGIzMGExDQotLS0gL2Rldi9u dWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLW1zZGMuYw0KQEAgLTAs MCArMSw1NCBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wDQorLy8NCisv LyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5jLg0KKy8vIEF1dGhvcjogV2VpeWkgTHUg PHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5jbHVkZSA8bGludXgvY2xrLXByb3ZpZGVy Lmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPg0KKw0KKyNpbmNsdWRlICJj bGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgiDQorDQorI2luY2x1ZGUgPGR0LWJpbmRp bmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRl X3JlZ3MgbXNkY19jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4YjQsDQorCS5jbHJfb2ZzID0g MHhiNCwNCisJLnN0YV9vZnMgPSAweGI0LA0KK307DQorDQorI2RlZmluZSBHQVRFX01TREMoX2lk LCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3Bh cmVudCwgJm1zZGNfY2dfcmVncywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19ub19z ZXRjbHJfaW52KQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgbXNkY19jbGtzW10g PSB7DQorCUdBVEVfTVNEQyhDTEtfTVNEQ19BWElfV1JBUCwgIm1zZGNfYXhpX3dyYXAiLCAiYXhp X3NlbCIsIDIyKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml9tc2RjX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0 YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9u b2RlOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfTVNEQ19OUl9DTEsp Ow0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIG1zZGNfY2xrcywgQVJSQVlfU0la RShtc2RjX2Nsa3MpLA0KKwkJCWNsa19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJv dmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCitz dGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX21zZGNb XSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItbXNkYyIsIH0sDQorCXt9 DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX21zZGNf ZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX21zZGNfcHJvYmUsDQorCS5kcml2ZXIgPSB7 DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyLW1zZGMiLA0KKwkJLm9mX21hdGNoX3RhYmxlID0gb2Zf bWF0Y2hfY2xrX210ODE5Ml9tc2RjLA0KKwl9LA0KK307DQorDQorYnVpbHRpbl9wbGF0Zm9ybV9k cml2ZXIoY2xrX210ODE5Ml9tc2RjX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVk aWF0ZWsvY2xrLW10ODE5Mi1tc2RjX3RvcC5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10 ODE5Mi1tc2RjX3RvcC5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uNTRl MmRhNA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5 Mi1tc2RjX3RvcC5jDQpAQCAtMCwwICsxLDgzIEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjANCisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQor Ly8gQXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRl IDxsaW51eC9jbGstcHJvdmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNl Lmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCINCisN CisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBtc2RjX3RvcF9jZ19yZWdzID0gew0KKwkuc2V0X29m cyA9IDB4MCwNCisJLmNscl9vZnMgPSAweDAsDQorCS5zdGFfb2ZzID0gMHgwLA0KK307DQorDQor I2RlZmluZSBHQVRFX01TRENfVE9QKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCQlcDQor CUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZtc2RjX3RvcF9jZ19yZWdzLCBfc2hpZnQs CVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX25vX3NldGNscl9pbnYpDQorDQorc3RhdGljIGNvbnN0 IHN0cnVjdCBtdGtfZ2F0ZSBtc2RjX3RvcF9jbGtzW10gPSB7DQorCUdBVEVfTVNEQ19UT1AoQ0xL X01TRENfVE9QX0FFU18wUCwgIm1zZGNfdG9wX2Flc18wcCIsDQorCQkiYWVzX21zZGNmZGVfc2Vs IiwgMCksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QX1NSQ18wUCwgIm1zZGNfdG9wX3Ny Y18wcCIsDQorCQkiaW5mcmFfbXNkYzBfc3JjIiwgMSksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01T RENfVE9QX1NSQ18xUCwgIm1zZGNfdG9wX3NyY18xcCIsDQorCQkiaW5mcmFfbXNkYzFfc3JjIiwg MiksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QX1NSQ18yUCwgIm1zZGNfdG9wX3NyY18y cCIsDQorCQkiaW5mcmFfbXNkYzJfc3JjIiwgMyksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01TRENf VE9QX1BfTVNEQzAsICJtc2RjX3RvcF9wX21zZGMwIiwNCisJCSJheGlfc2VsIiwgNCksDQorCUdB VEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QX1BfTVNEQzEsICJtc2RjX3RvcF9wX21zZGMxIiwNCisJ CSJheGlfc2VsIiwgNSksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QX1BfTVNEQzIsICJt c2RjX3RvcF9wX21zZGMyIiwNCisJCSJheGlfc2VsIiwgNiksDQorCUdBVEVfTVNEQ19UT1AoQ0xL X01TRENfVE9QX1BfQ0ZHLCAibXNkY190b3BfcF9jZmciLA0KKwkJImF4aV9zZWwiLCA3KSwNCisJ R0FURV9NU0RDX1RPUChDTEtfTVNEQ19UT1BfQVhJLCAibXNkY190b3BfYXhpIiwNCisJCSJheGlf c2VsIiwgOCksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QX0hfTVNUXzBQLCAibXNkY190 b3BfaF9tc3RfMHAiLA0KKwkJImluZnJhX21zZGMwIiwgOSksDQorCUdBVEVfTVNEQ19UT1AoQ0xL X01TRENfVE9QX0hfTVNUXzFQLCAibXNkY190b3BfaF9tc3RfMXAiLA0KKwkJImluZnJhX21zZGMx IiwgMTApLA0KKwlHQVRFX01TRENfVE9QKENMS19NU0RDX1RPUF9IX01TVF8yUCwgIm1zZGNfdG9w X2hfbXN0XzJwIiwNCisJCSJpbmZyYV9tc2RjMiIsIDExKSwNCisJR0FURV9NU0RDX1RPUChDTEtf TVNEQ19UT1BfTUVNX09GRl9ETFlfMjZNLCAibXNkY190b3BfbWVtX29mZl9kbHlfMjZtIiwNCisJ CSJjbGsyNm0iLCAxMiksDQorCUdBVEVfTVNEQ19UT1AoQ0xLX01TRENfVE9QXzMySywgIm1zZGNf dG9wXzMyayIsDQorCQkiY2xrMzJrIiwgMTMpLA0KKwlHQVRFX01TRENfVE9QKENMS19NU0RDX1RP UF9BSEIyQVhJX0JSR19BWEksICJtc2RjX3RvcF9haGIyYXhpX2JyZ19heGkiLA0KKwkJImF4aV9z ZWwiLCAxNCksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfbXNkY190b3BfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9k YXRhICpjbGtfZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9m X25vZGU7DQorDQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19NU0RDX1RPUF9O Ul9DTEspOw0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIG1zZGNfdG9wX2Nsa3Ms IEFSUkFZX1NJWkUobXNkY190b3BfY2xrcyksDQorCQkJY2xrX2RhdGEpOw0KKw0KKwlyZXR1cm4g b2ZfY2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0 YSk7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Ns a19tdDgxOTJfbXNkY190b3BbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgx OTItbXNkY190b3AiLCB9LA0KKwl7fQ0KK307DQorDQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9k cml2ZXIgY2xrX210ODE5Ml9tc2RjX3RvcF9kcnYgPSB7DQorCS5wcm9iZSA9IGNsa19tdDgxOTJf bXNkY190b3BfcHJvYmUsDQorCS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyLW1z ZGNfdG9wIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9mX21hdGNoX2Nsa19tdDgxOTJfbXNkY190 b3AsDQorCX0sDQorfTsNCisNCitidWlsdGluX3BsYXRmb3JtX2RyaXZlcihjbGtfbXQ4MTkyX21z ZGNfdG9wX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5 Mi1zY3BfYWRzcC5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1zY3BfYWRzcC5j DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMC4uYTc4NTc3Mg0KLS0tIC9kZXYv bnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi1zY3BfYWRzcC5jDQpA QCAtMCwwICsxLDU1IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCisv Lw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5 aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGstcHJv dmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorDQorI2luY2x1 ZGUgImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVkZSA8ZHQt YmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X2dhdGVfcmVncyBzY3BfYWRzcF9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4MTgwLA0KKwku Y2xyX29mcyA9IDB4MTgwLA0KKwkuc3RhX29mcyA9IDB4MTgwLA0KK307DQorDQorI2RlZmluZSBH QVRFX1NDUF9BRFNQKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCQlcDQorCUdBVEVfTVRL KF9pZCwgX25hbWUsIF9wYXJlbnQsICZzY3BfYWRzcF9jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZt dGtfY2xrX2dhdGVfb3BzX25vX3NldGNscikNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19n YXRlIHNjcF9hZHNwX2Nsa3NbXSA9IHsNCisJR0FURV9TQ1BfQURTUChDTEtfU0NQX0FEU1BfQVVE SU9EU1AsICJzY3BfYWRzcF9hdWRpb2RzcCIsICJhZHNwX3NlbCIsDQorCQkwKSwNCit9Ow0KKw0K K3N0YXRpYyBpbnQgY2xrX210ODE5Ml9zY3BfYWRzcF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlz dHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9kZTsNCisNCisJY2xrX2Rh dGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX1NDUF9BRFNQX05SX0NMSyk7DQorDQorCW10a19j bGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgc2NwX2Fkc3BfY2xrcywgQVJSQVlfU0laRShzY3BfYWRz cF9jbGtzKSwNCisJCQljbGtfZGF0YSk7DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3ZpZGVy KG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml9zY3BfYWRzcFtd ID0gew0KKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi1zY3BfYWRzcCIsIH0sDQor CXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX3Nj cF9hZHNwX2RydiA9IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml9zY3BfYWRzcF9wcm9iZSwNCisJ LmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgxOTItc2NwX2Fkc3AiLA0KKwkJLm9mX21h dGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml9zY3BfYWRzcCwNCisJfSwNCit9Ow0KKw0K K2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGNsa19tdDgxOTJfc2NwX2Fkc3BfZHJ2KTsNCmRpZmYg LS1naXQgYS9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXQ4MTkyLXZkZWMuYyBiL2RyaXZlcnMv Y2xrL21lZGlhdGVrL2Nsay1tdDgxOTItdmRlYy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5k ZXggMDAwMDAwMC4uMzdmOGE4Mw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVk aWF0ZWsvY2xrLW10ODE5Mi12ZGVjLmMNCkBAIC0wLDAgKzEsODEgQEANCisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMA0KKy8vDQorLy8gQ29weXJpZ2h0IChjKSAyMDIwIE1lZGlh VGVrIEluYy4NCisvLyBBdXRob3I6IFdlaXlpIEx1IDx3ZWl5aS5sdUBtZWRpYXRlay5jb20+DQor DQorI2luY2x1ZGUgPGxpbnV4L2Nsay1wcm92aWRlci5oPg0KKyNpbmNsdWRlIDxsaW51eC9wbGF0 Zm9ybV9kZXZpY2UuaD4NCisNCisjaW5jbHVkZSAiY2xrLW10ay5oIg0KKyNpbmNsdWRlICJjbGst Z2F0ZS5oIg0KKw0KKyNpbmNsdWRlIDxkdC1iaW5kaW5ncy9jbG9jay9tdDgxOTItY2xrLmg+DQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZV9yZWdzIHZkZWMwX2NnX3JlZ3MgPSB7DQor CS5zZXRfb2ZzID0gMHgwLA0KKwkuY2xyX29mcyA9IDB4NCwNCisJLnN0YV9vZnMgPSAweDAsDQor fTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgdmRlYzFfY2dfcmVncyA9 IHsNCisJLnNldF9vZnMgPSAweDIwMCwNCisJLmNscl9vZnMgPSAweDIwNCwNCisJLnN0YV9vZnMg PSAweDIwMCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyB2ZGVj Ml9jZ19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4OCwNCisJLmNscl9vZnMgPSAweGMsDQorCS5z dGFfb2ZzID0gMHg4LA0KK307DQorDQorI2RlZmluZSBHQVRFX1ZERUMwKF9pZCwgX25hbWUsIF9w YXJlbnQsIF9zaGlmdCkJCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZ2ZGVj MF9jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNscl9pbnYpDQor DQorI2RlZmluZSBHQVRFX1ZERUMxKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCQlcDQor CUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZ2ZGVjMV9jZ19yZWdzLCBfc2hpZnQsCVwN CisJCSZtdGtfY2xrX2dhdGVfb3BzX3NldGNscl9pbnYpDQorDQorI2RlZmluZSBHQVRFX1ZERUMy KF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUs IF9wYXJlbnQsICZ2ZGVjMl9jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3Bz X3NldGNscl9pbnYpDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZ2F0ZSB2ZGVjX2Nsa3Nb XSA9IHsNCisJLyogVkRFQzAgKi8NCisJR0FURV9WREVDMChDTEtfVkRFQ19WREVDLCAidmRlY192 ZGVjIiwgInZkZWNfc2VsIiwgMCksDQorCUdBVEVfVkRFQzAoQ0xLX1ZERUNfQUNUSVZFLCAidmRl Y19hY3RpdmUiLCAidmRlY19zZWwiLCA0KSwNCisJLyogVkRFQzEgKi8NCisJR0FURV9WREVDMShD TEtfVkRFQ19MQVQsICJ2ZGVjX2xhdCIsICJ2ZGVjX3NlbCIsIDApLA0KKwlHQVRFX1ZERUMxKENM S19WREVDX0xBVF9BQ1RJVkUsICJ2ZGVjX2xhdF9hY3RpdmUiLCAidmRlY19zZWwiLCA0KSwNCisJ LyogVkRFQzIgKi8NCisJR0FURV9WREVDMihDTEtfVkRFQ19MQVJCMSwgInZkZWNfbGFyYjEiLCAi dmRlY19zZWwiLCAwKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgY2xrX210ODE5Ml92ZGVjX3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxf ZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5v Zl9ub2RlOw0KKw0KKwljbGtfZGF0YSA9IG10a19hbGxvY19jbGtfZGF0YShDTEtfVkRFQ19OUl9D TEspOw0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX2dhdGVzKG5vZGUsIHZkZWNfY2xrcywgQVJSQVlf U0laRSh2ZGVjX2Nsa3MpLA0KKwkJCWNsa19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRf cHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisN CitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX3Zk ZWNbXSA9IHsNCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItdmRlY3N5cyIsIH0s DQorCXt9DQorfTsNCisNCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTky X3ZkZWNfZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX3ZkZWNfcHJvYmUsDQorCS5kcml2 ZXIgPSB7DQorCQkubmFtZSA9ICJjbGstbXQ4MTkyLXZkZWMiLA0KKwkJLm9mX21hdGNoX3RhYmxl ID0gb2ZfbWF0Y2hfY2xrX210ODE5Ml92ZGVjLA0KKwl9LA0KK307DQorDQorYnVpbHRpbl9wbGF0 Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml92ZGVjX2Rydik7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9j bGsvbWVkaWF0ZWsvY2xrLW10ODE5Mi12ZGVjX3NvYy5jIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsv Y2xrLW10ODE5Mi12ZGVjX3NvYy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAw MC4uNWRmOThkNA0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xr LW10ODE5Mi12ZGVjX3NvYy5jDQpAQCAtMCwwICsxLDg2IEBADQorLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjANCisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJ bmMuDQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2VpeWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNp bmNsdWRlIDxsaW51eC9jbGstcHJvdmlkZXIuaD4NCisjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1f ZGV2aWNlLmg+DQorDQorI2luY2x1ZGUgImNsay1tdGsuaCINCisjaW5jbHVkZSAiY2xrLWdhdGUu aCINCisNCisjaW5jbHVkZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyB2ZGVjX3NvYzBfY2dfcmVncyA9IHsNCisJ LnNldF9vZnMgPSAweDAsDQorCS5jbHJfb2ZzID0gMHg0LA0KKwkuc3RhX29mcyA9IDB4MCwNCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyB2ZGVjX3NvYzFfY2dfcmVn cyA9IHsNCisJLnNldF9vZnMgPSAweDIwMCwNCisJLmNscl9vZnMgPSAweDIwNCwNCisJLnN0YV9v ZnMgPSAweDIwMCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyB2 ZGVjX3NvYzJfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweDgsDQorCS5jbHJfb2ZzID0gMHhj LA0KKwkuc3RhX29mcyA9IDB4OCwNCit9Ow0KKw0KKyNkZWZpbmUgR0FURV9WREVDX1NPQzAoX2lk LCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3Bh cmVudCwgJnZkZWNfc29jMF9jZ19yZWdzLCBfc2hpZnQsCVwNCisJCSZtdGtfY2xrX2dhdGVfb3Bz X3NldGNscl9pbnYpDQorDQorI2RlZmluZSBHQVRFX1ZERUNfU09DMShfaWQsIF9uYW1lLCBfcGFy ZW50LCBfc2hpZnQpCQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmdmRlY19z b2MxX2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyX2ludikN CisNCisjZGVmaW5lIEdBVEVfVkRFQ19TT0MyKF9pZCwgX25hbWUsIF9wYXJlbnQsIF9zaGlmdCkJ CQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZ2ZGVjX3NvYzJfY2dfcmVncywg X3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19zZXRjbHJfaW52KQ0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2dhdGUgdmRlY19zb2NfY2xrc1tdID0gew0KKwkvKiBWREVDX1NPQzAg Ki8NCisJR0FURV9WREVDX1NPQzAoQ0xLX1ZERUNfU09DX1ZERUMsICJ2ZGVjX3NvY192ZGVjIiwN CisJCSJ2ZGVjX3NlbCIsIDApLA0KKwlHQVRFX1ZERUNfU09DMChDTEtfVkRFQ19TT0NfVkRFQ19B Q1RJVkUsICJ2ZGVjX3NvY192ZGVjX2FjdGl2ZSIsDQorCQkidmRlY19zZWwiLCA0KSwNCisJLyog VkRFQ19TT0MxICovDQorCUdBVEVfVkRFQ19TT0MxKENMS19WREVDX1NPQ19MQVQsICJ2ZGVjX3Nv Y19sYXQiLA0KKwkJInZkZWNfc2VsIiwgMCksDQorCUdBVEVfVkRFQ19TT0MxKENMS19WREVDX1NP Q19MQVRfQUNUSVZFLCAidmRlY19zb2NfbGF0X2FjdGl2ZSIsDQorCQkidmRlY19zZWwiLCA0KSwN CisJLyogVkRFQ19TT0MyICovDQorCUdBVEVfVkRFQ19TT0MyKENMS19WREVDX1NPQ19MQVJCMSwg InZkZWNfc29jX2xhcmIxIiwNCisJCSJ2ZGVjX3NlbCIsIDApLA0KK307DQorDQorc3RhdGljIGlu dCBjbGtfbXQ4MTkyX3ZkZWNfc29jX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp DQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBkZXZp Y2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKw0KKwljbGtfZGF0YSA9IG10a19h bGxvY19jbGtfZGF0YShDTEtfVkRFQ19TT0NfTlJfQ0xLKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rl cl9nYXRlcyhub2RlLCB2ZGVjX3NvY19jbGtzLCBBUlJBWV9TSVpFKHZkZWNfc29jX2Nsa3MpLA0K KwkJCWNsa19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2Zf Y2xrX3NyY19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG9mX2RldmljZV9pZCBvZl9tYXRjaF9jbGtfbXQ4MTkyX3ZkZWNfc29jW10gPSB7DQorCXsg LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLXZkZWNzeXNfc29jIiwgfSwNCisJe30NCit9 Ow0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIGNsa19tdDgxOTJfdmRlY19zb2Nf ZHJ2ID0gew0KKwkucHJvYmUgPSBjbGtfbXQ4MTkyX3ZkZWNfc29jX3Byb2JlLA0KKwkuZHJpdmVy ID0gew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi12ZGVjX3NvYyIsDQorCQkub2ZfbWF0Y2hfdGFi bGUgPSBvZl9tYXRjaF9jbGtfbXQ4MTkyX3ZkZWNfc29jLA0KKwl9LA0KK307DQorDQorYnVpbHRp bl9wbGF0Zm9ybV9kcml2ZXIoY2xrX210ODE5Ml92ZGVjX3NvY19kcnYpOw0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTItdmVuYy5jIGIvZHJpdmVycy9jbGsvbWVk aWF0ZWsvY2xrLW10ODE5Mi12ZW5jLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAw MDAwLi44Njc1ZDZhDQotLS0gL2Rldi9udWxsDQorKysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9j bGstbXQ4MTkyLXZlbmMuYw0KQEAgLTAsMCArMSw1NyBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wDQorLy8NCisvLyBDb3B5cmlnaHQgKGMpIDIwMjAgTWVkaWFUZWsgSW5j Lg0KKy8vIEF1dGhvcjogV2VpeWkgTHUgPHdlaXlpLmx1QG1lZGlhdGVrLmNvbT4NCisNCisjaW5j bHVkZSA8bGludXgvY2xrLXByb3ZpZGVyLmg+DQorI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2Rl dmljZS5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQorI2luY2x1ZGUgImNsay1nYXRlLmgi DQorDQorI2luY2x1ZGUgPGR0LWJpbmRpbmdzL2Nsb2NrL210ODE5Mi1jbGsuaD4NCisNCitzdGF0 aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgdmVuY19jZ19yZWdzID0gew0KKwkuc2V0X29m cyA9IDB4NCwNCisJLmNscl9vZnMgPSAweDgsDQorCS5zdGFfb2ZzID0gMHgwLA0KK307DQorDQor I2RlZmluZSBHQVRFX1ZFTkMoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJCVwNCisJR0FU RV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJnZlbmNfY2dfcmVncywgX3NoaWZ0LAlcDQorCQkm bXRrX2Nsa19nYXRlX29wc19zZXRjbHJfaW52KQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X2dhdGUgdmVuY19jbGtzW10gPSB7DQorCUdBVEVfVkVOQyhDTEtfVkVOQ19TRVQwX0xBUkIsICJ2 ZW5jX3NldDBfbGFyYiIsICJ2ZW5jX3NlbCIsIDApLA0KKwlHQVRFX1ZFTkMoQ0xLX1ZFTkNfU0VU MV9WRU5DLCAidmVuY19zZXQxX3ZlbmMiLCAidmVuY19zZWwiLCA0KSwNCisJR0FURV9WRU5DKENM S19WRU5DX1NFVDJfSlBHRU5DLCAidmVuY19zZXQyX2pwZ2VuYyIsICJ2ZW5jX3NlbCIsIDgpLA0K KwlHQVRFX1ZFTkMoQ0xLX1ZFTkNfU0VUNV9HQUxTLCAidmVuY19zZXQ1X2dhbHMiLCAidmVuY19z ZWwiLCAyOCksDQorfTsNCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJfdmVuY19wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNsa19vbmVjZWxsX2RhdGEg KmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwZGV2LT5kZXYub2Zfbm9k ZTsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xLX1ZFTkNfTlJfQ0xLKTsN CisNCisJbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCB2ZW5jX2Nsa3MsIEFSUkFZX1NJWkUo dmVuY19jbGtzKSwNCisJCQljbGtfZGF0YSk7DQorDQorCXJldHVybiBvZl9jbGtfYWRkX3Byb3Zp ZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRhKTsNCit9DQorDQorc3Rh dGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgb2ZfbWF0Y2hfY2xrX210ODE5Ml92ZW5jW10g PSB7DQorCXsgLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLXZlbmNzeXMiLCB9LA0KKwl7 fQ0KK307DQorDQorc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kcml2ZXIgY2xrX210ODE5Ml92ZW5j X2RydiA9IHsNCisJLnByb2JlID0gY2xrX210ODE5Ml92ZW5jX3Byb2JlLA0KKwkuZHJpdmVyID0g ew0KKwkJLm5hbWUgPSAiY2xrLW10ODE5Mi12ZW5jIiwNCisJCS5vZl9tYXRjaF90YWJsZSA9IG9m X21hdGNoX2Nsa19tdDgxOTJfdmVuYywNCisJfSwNCit9Ow0KKw0KK2J1aWx0aW5fcGxhdGZvcm1f ZHJpdmVyKGNsa19tdDgxOTJfdmVuY19kcnYpOw0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY2xrL21l ZGlhdGVrL2Nsay1tdDgxOTIuYyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIuYw0K bmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAuLjY1NzcxOTcNCi0tLSAvZGV2L251 bGwNCisrKyBiL2RyaXZlcnMvY2xrL21lZGlhdGVrL2Nsay1tdDgxOTIuYw0KQEAgLTAsMCArMSwx NTQ5IEBADQorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCisvLw0KKy8vIENv cHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQorLy8gQXV0aG9yOiBXZWl5aSBMdSA8d2Vp eWkubHVAbWVkaWF0ZWsuY29tPg0KKw0KKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4NCisjaW5jbHVk ZSA8bGludXgvZGVsYXkuaD4NCisjaW5jbHVkZSA8bGludXgvbWZkL3N5c2Nvbi5oPg0KKyNpbmNs dWRlIDxsaW51eC9vZi5oPg0KKyNpbmNsdWRlIDxsaW51eC9vZl9hZGRyZXNzLmg+DQorI2luY2x1 ZGUgPGxpbnV4L29mX2RldmljZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2Uu aD4NCisjaW5jbHVkZSA8bGludXgvc2xhYi5oPg0KKw0KKyNpbmNsdWRlICJjbGstbXRrLmgiDQor I2luY2x1ZGUgImNsay1tdXguaCINCisjaW5jbHVkZSAiY2xrLWdhdGUuaCINCisNCisjaW5jbHVk ZSA8ZHQtYmluZGluZ3MvY2xvY2svbXQ4MTkyLWNsay5oPg0KKw0KK3N0YXRpYyBERUZJTkVfU1BJ TkxPQ0sobXQ4MTkyX2Nsa19sb2NrKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19maXhl ZF9jbGsgdG9wX2ZpeGVkX2Nsa3NbXSA9IHsNCisJRklYRURfQ0xLKENMS19UT1BfVUxQT1NDLCAi dWxwb3NjIiwgTlVMTCwgMjYwMDAwMDAwKSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg bXRrX2ZpeGVkX2ZhY3RvciB0b3BfZWFybHlfZGl2c1tdID0gew0KKwlGQUNUT1IoQ0xLX1RPUF9D U1dfRjI2TV9EMiwgImNzd19mMjZtX2QyIiwgImNsazI2bSIsIDEsIDIpLA0KK307DQorDQorc3Rh dGljIGNvbnN0IHN0cnVjdCBtdGtfZml4ZWRfZmFjdG9yIHRvcF9kaXZzW10gPSB7DQorCUZBQ1RP UihDTEtfVE9QX01BSU5QTExfRDMsICJtYWlucGxsX2QzIiwgIm1haW5wbGwiLCAxLA0KKwkJMyks DQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDQsICJtYWlucGxsX2Q0IiwgIm1haW5wbGwiLCAx LA0KKwkJNCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDRfRDIsICJtYWlucGxsX2Q0X2Qy IiwgIm1haW5wbGxfZDQiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDRf RDQsICJtYWlucGxsX2Q0X2Q0IiwgIm1haW5wbGxfZDQiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihD TEtfVE9QX01BSU5QTExfRDRfRDgsICJtYWlucGxsX2Q0X2Q4IiwgIm1haW5wbGxfZDQiLCAxLA0K KwkJOCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDRfRDE2LCAibWFpbnBsbF9kNF9kMTYi LCAibWFpbnBsbF9kNCIsIDEsDQorCQkxNiksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDUs ICJtYWlucGxsX2Q1IiwgIm1haW5wbGwiLCAxLA0KKwkJNSksDQorCUZBQ1RPUihDTEtfVE9QX01B SU5QTExfRDVfRDIsICJtYWlucGxsX2Q1X2QyIiwgIm1haW5wbGxfZDUiLCAxLA0KKwkJMiksDQor CUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDVfRDQsICJtYWlucGxsX2Q1X2Q0IiwgIm1haW5wbGxf ZDUiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDVfRDgsICJtYWlucGxs X2Q1X2Q4IiwgIm1haW5wbGxfZDUiLCAxLA0KKwkJOCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5Q TExfRDYsICJtYWlucGxsX2Q2IiwgIm1haW5wbGwiLCAxLA0KKwkJNiksDQorCUZBQ1RPUihDTEtf VE9QX01BSU5QTExfRDZfRDIsICJtYWlucGxsX2Q2X2QyIiwgIm1haW5wbGxfZDYiLCAxLA0KKwkJ MiksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDZfRDQsICJtYWlucGxsX2Q2X2Q0IiwgIm1h aW5wbGxfZDYiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDcsICJtYWlu cGxsX2Q3IiwgIm1haW5wbGwiLCAxLA0KKwkJNyksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExf RDdfRDIsICJtYWlucGxsX2Q3X2QyIiwgIm1haW5wbGxfZDciLCAxLA0KKwkJMiksDQorCUZBQ1RP UihDTEtfVE9QX01BSU5QTExfRDdfRDQsICJtYWlucGxsX2Q3X2Q0IiwgIm1haW5wbGxfZDciLCAx LA0KKwkJNCksDQorCUZBQ1RPUihDTEtfVE9QX01BSU5QTExfRDdfRDgsICJtYWlucGxsX2Q3X2Q4 IiwgIm1haW5wbGxfZDciLCAxLA0KKwkJOCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDMs ICJ1bml2cGxsX2QzIiwgInVuaXZwbGwiLCAxLA0KKwkJMyksDQorCUZBQ1RPUihDTEtfVE9QX1VO SVZQTExfRDQsICJ1bml2cGxsX2Q0IiwgInVuaXZwbGwiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihD TEtfVE9QX1VOSVZQTExfRDRfRDIsICJ1bml2cGxsX2Q0X2QyIiwgInVuaXZwbGxfZDQiLCAxLA0K KwkJMiksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDRfRDQsICJ1bml2cGxsX2Q0X2Q0Iiwg InVuaXZwbGxfZDQiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDRfRDgs ICJ1bml2cGxsX2Q0X2Q4IiwgInVuaXZwbGxfZDQiLCAxLA0KKwkJOCksDQorCUZBQ1RPUihDTEtf VE9QX1VOSVZQTExfRDUsICJ1bml2cGxsX2Q1IiwgInVuaXZwbGwiLCAxLA0KKwkJNSksDQorCUZB Q1RPUihDTEtfVE9QX1VOSVZQTExfRDVfRDIsICJ1bml2cGxsX2Q1X2QyIiwgInVuaXZwbGxfZDUi LCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDVfRDQsICJ1bml2cGxsX2Q1 X2Q0IiwgInVuaXZwbGxfZDUiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExf RDVfRDgsICJ1bml2cGxsX2Q1X2Q4IiwgInVuaXZwbGxfZDUiLCAxLA0KKwkJOCksDQorCUZBQ1RP UihDTEtfVE9QX1VOSVZQTExfRDYsICJ1bml2cGxsX2Q2IiwgInVuaXZwbGwiLCAxLA0KKwkJNiks DQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDZfRDIsICJ1bml2cGxsX2Q2X2QyIiwgInVuaXZw bGxfZDYiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDZfRDQsICJ1bml2 cGxsX2Q2X2Q0IiwgInVuaXZwbGxfZDYiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtfVE9QX1VO SVZQTExfRDZfRDgsICJ1bml2cGxsX2Q2X2Q4IiwgInVuaXZwbGxfZDYiLCAxLA0KKwkJOCksDQor CUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDZfRDE2LCAidW5pdnBsbF9kNl9kMTYiLCAidW5pdnBs bF9kNiIsIDEsDQorCQkxNiksDQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfRDcsICJ1bml2cGxs X2Q3IiwgInVuaXZwbGwiLCAxLA0KKwkJNyksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwxLCAiYXBs bDFfY2siLCAiYXBsbDEiLCAxLA0KKwkJMSksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwxX0QyLCAi YXBsbDFfZDIiLCAiYXBsbDEiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwxX0Q0 LCAiYXBsbDFfZDQiLCAiYXBsbDEiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtfVE9QX0FQTEwx X0Q4LCAiYXBsbDFfZDgiLCAiYXBsbDEiLCAxLA0KKwkJOCksDQorCUZBQ1RPUihDTEtfVE9QX0FQ TEwyLCAiYXBsbDJfY2siLCAiYXBsbDIiLCAxLA0KKwkJMSksDQorCUZBQ1RPUihDTEtfVE9QX0FQ TEwyX0QyLCAiYXBsbDJfZDIiLCAiYXBsbDIiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtfVE9Q X0FQTEwyX0Q0LCAiYXBsbDJfZDQiLCAiYXBsbDIiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtf VE9QX0FQTEwyX0Q4LCAiYXBsbDJfZDgiLCAiYXBsbDIiLCAxLA0KKwkJOCksDQorCUZBQ1RPUihD TEtfVE9QX01NUExMX0Q0LCAibW1wbGxfZDQiLCAibW1wbGwiLCAxLA0KKwkJNCksDQorCUZBQ1RP UihDTEtfVE9QX01NUExMX0Q0X0QyLCAibW1wbGxfZDRfZDIiLCAibW1wbGxfZDQiLCAxLA0KKwkJ MiksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q1LCAibW1wbGxfZDUiLCAibW1wbGwiLCAxLA0K KwkJNSksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q1X0QyLCAibW1wbGxfZDVfZDIiLCAibW1w bGxfZDUiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q2LCAibW1wbGxfZDYi LCAibW1wbGwiLCAxLA0KKwkJNiksDQorCUZBQ1RPUihDTEtfVE9QX01NUExMX0Q2X0QyLCAibW1w bGxfZDZfZDIiLCAibW1wbGxfZDYiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtfVE9QX01NUExM X0Q3LCAibW1wbGxfZDciLCAibW1wbGwiLCAxLA0KKwkJNyksDQorCUZBQ1RPUihDTEtfVE9QX01N UExMX0Q5LCAibW1wbGxfZDkiLCAibW1wbGwiLCAxLA0KKwkJOSksDQorCUZBQ1RPUihDTEtfVE9Q X0FQVVBMTCwgImFwdXBsbF9jayIsICJhcHVwbGwiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtf VE9QX05QVVBMTCwgIm5wdXBsbF9jayIsICJucHVwbGwiLCAxLA0KKwkJMSksDQorCUZBQ1RPUihD TEtfVE9QX1RWRFBMTCwgInR2ZHBsbF9jayIsICJ0dmRwbGwiLCAxLA0KKwkJMSksDQorCUZBQ1RP UihDTEtfVE9QX1RWRFBMTF9EMiwgInR2ZHBsbF9kMiIsICJ0dmRwbGwiLCAxLA0KKwkJMiksDQor CUZBQ1RPUihDTEtfVE9QX1RWRFBMTF9ENCwgInR2ZHBsbF9kNCIsICJ0dmRwbGwiLCAxLA0KKwkJ NCksDQorCUZBQ1RPUihDTEtfVE9QX1RWRFBMTF9EOCwgInR2ZHBsbF9kOCIsICJ0dmRwbGwiLCAx LA0KKwkJOCksDQorCUZBQ1RPUihDTEtfVE9QX1RWRFBMTF9EMTYsICJ0dmRwbGxfZDE2IiwgInR2 ZHBsbCIsIDEsDQorCQkxNiksDQorCUZBQ1RPUihDTEtfVE9QX01TRENQTEwsICJtc2RjcGxsX2Nr IiwgIm1zZGNwbGwiLCAxLA0KKwkJMSksDQorCUZBQ1RPUihDTEtfVE9QX01TRENQTExfRDIsICJt c2RjcGxsX2QyIiwgIm1zZGNwbGwiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtfVE9QX01TRENQ TExfRDQsICJtc2RjcGxsX2Q0IiwgIm1zZGNwbGwiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtf VE9QX09TQ19EMiwgIm9zY19kMiIsICJ1bHBvc2MiLCAxLA0KKwkJMiksDQorCUZBQ1RPUihDTEtf VE9QX09TQ19ENCwgIm9zY19kNCIsICJ1bHBvc2MiLCAxLA0KKwkJNCksDQorCUZBQ1RPUihDTEtf VE9QX09TQ19EOCwgIm9zY19kOCIsICJ1bHBvc2MiLCAxLA0KKwkJOCksDQorCUZBQ1RPUihDTEtf VE9QX09TQ19EMTAsICJvc2NfZDEwIiwgInVscG9zYyIsIDEsDQorCQkxMCksDQorCUZBQ1RPUihD TEtfVE9QX09TQ19EMTYsICJvc2NfZDE2IiwgInVscG9zYyIsIDEsDQorCQkxNiksDQorCUZBQ1RP UihDTEtfVE9QX09TQ19EMjAsICJvc2NfZDIwIiwgInVscG9zYyIsIDEsDQorCQkyMCksDQorCUZB Q1RPUihDTEtfVE9QX0FEU1BQTEwsICJhZHNwcGxsX2NrIiwgImFkc3BwbGwiLCAxLA0KKwkJMSks DQorCUZBQ1RPUihDTEtfVE9QX1VOSVZQTExfMTkyTSwgInVuaXZwbGxfMTkybSIsICJ1bml2cGxs IiwgMSwNCisJCTEzKSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJNX0QyLCAidW5pdnBs bF8xOTJtX2QyIiwgInVuaXZwbGxfMTkybSIsIDEsDQorCQkyKSwNCisJRkFDVE9SKENMS19UT1Bf VU5JVlBMTF8xOTJNX0Q0LCAidW5pdnBsbF8xOTJtX2Q0IiwgInVuaXZwbGxfMTkybSIsIDEsDQor CQk0KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJNX0Q4LCAidW5pdnBsbF8xOTJtX2Q4 IiwgInVuaXZwbGxfMTkybSIsIDEsDQorCQk4KSwNCisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8x OTJNX0QxNiwgInVuaXZwbGxfMTkybV9kMTYiLCAidW5pdnBsbF8xOTJtIiwgMSwNCisJCTE2KSwN CisJRkFDVE9SKENMS19UT1BfVU5JVlBMTF8xOTJNX0QzMiwgInVuaXZwbGxfMTkybV9kMzIiLCAi dW5pdnBsbF8xOTJtIiwgMSwNCisJCTMyKSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgYXhpX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0X2Q0IiwN CisJIm1haW5wbGxfZDdfZDIiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q1X2Qy IiwNCisJIm1haW5wbGxfZDZfZDIiLA0KKwkib3NjX2Q0Ig0KK307DQorDQorc3RhdGljIGNvbnN0 IGNoYXIgKiBjb25zdCBzcG1fcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm9zY19kMTAi LA0KKwkibWFpbnBsbF9kN19kNCIsDQorCSJjbGszMmsiDQorfTsNCisNCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IHNjcF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9k NSIsDQorCSJtYWlucGxsX2Q2X2QyIiwNCisJIm1haW5wbGxfZDYiLA0KKwkidW5pdnBsbF9kNiIs DQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwkidW5pdnBsbF9kNF9k MiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYnVzX2F4aW1lbV9wYXJlbnRz W10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFpbnBsbF9kN19kMiIsDQorCSJtYWlucGxsX2Q0X2Qy IiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwkibWFpbnBsbF9kNiINCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgZGlzcF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5p dnBsbF9kNl9kMiIsDQorCSJtYWlucGxsX2Q1X2QyIiwNCisJIm1tcGxsX2Q2X2QyIiwNCisJInVu aXZwbGxfZDVfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJtbXBsbF9kNyIsDQorCSJ1bml2 cGxsX2Q2IiwNCisJIm1haW5wbGxfZDQiLA0KKwkibW1wbGxfZDVfZDIiDQorfTsNCisNCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IG1kcF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwki bWFpbnBsbF9kNV9kMiIsDQorCSJtbXBsbF9kNl9kMiIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJ Im1tcGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDYiLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtYWlu cGxsX2Q0IiwNCisJInR2ZHBsbF9jayIsDQorCSJ1bml2cGxsX2Q0IiwNCisJIm1tcGxsX2Q1X2Qy Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBpbWcxX3BhcmVudHNbXSA9IHsN CisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q0IiwNCisJInR2ZHBsbF9jayIsDQorCSJtYWlucGxs X2Q0IiwNCisJInVuaXZwbGxfZDUiLA0KKwkibW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNiIsDQor CSJtYWlucGxsX2Q2IiwNCisJIm1tcGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwki bW1wbGxfZDZfZDIiLA0KKwkibW1wbGxfZDVfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IGltZzJfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDQi LA0KKwkidHZkcGxsX2NrIiwNCisJIm1haW5wbGxfZDQiLA0KKwkidW5pdnBsbF9kNSIsDQorCSJt bXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDYiLA0KKwkibW1wbGxfZDRf ZDIiLA0KKwkibWFpbnBsbF9kNF9kMiIsDQorCSJtbXBsbF9kNl9kMiIsDQorCSJtbXBsbF9kNV9k MiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgaXBlX3BhcmVudHNbXSA9IHsN CisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZwbGxf ZDYiLA0KKwkibWFpbnBsbF9kNiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDRf ZDIiLA0KKwkibW1wbGxfZDZfZDIiLA0KKwkibW1wbGxfZDVfZDIiDQorfTsNCisNCitzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IGRwZV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkibWFp bnBsbF9kNCIsDQorCSJtbXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1haW5wbGxfZDYi LA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q1X2QyIiwNCisJIm1tcGxsX2Q2X2Qy Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjYW1fcGFyZW50c1tdID0gew0K KwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDQiLA0KKwkibW1wbGxfZDYiLA0KKwkidW5pdnBsbF9k NCIsDQorCSJ1bml2cGxsX2Q1IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibW1wbGxfZDciLA0KKwki dW5pdnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDZfZDIiDQor fTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNjdV9wYXJlbnRzW10gPSB7DQorCSJj bGsyNm0iLA0KKwkibWFpbnBsbF9kNCIsDQorCSJtbXBsbF9kNiIsDQorCSJtYWlucGxsX2Q2IiwN CisJIm1tcGxsX2Q3IiwNCisJInVuaXZwbGxfZDRfZDIiLA0KKwkibW1wbGxfZDZfZDIiLA0KKwki bW1wbGxfZDVfZDIiLA0KKwkidW5pdnBsbF9kNSIsDQorCSJ1bml2cGxsX2Q2X2QyIg0KK307DQor DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkc3A3X3BhcmVudHNbXSA9IHsNCisJImNsazI2 bSIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDYiLA0KKwkibW1wbGxfZDYiLA0K KwkidW5pdnBsbF9kNSIsDQorCSJtbXBsbF9kNSIsDQorCSJ1bml2cGxsX2Q0IiwNCisJIm1tcGxs X2Q0Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtZmdfcmVmX3BhcmVudHNb XSA9IHsNCisJImNsazI2bSIsDQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNiIsDQorCSJtYWlu cGxsX2Q1X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtZmdfcGxsX3Bh cmVudHNbXSA9IHsNCisJIm1mZ19yZWZfc2VsIiwNCisJIm1mZ3BsbCINCit9Ow0KKw0KK3N0YXRp YyBjb25zdCBjaGFyICogY29uc3QgY2FtdGdfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJ InVuaXZwbGxfMTkybV9kOCIsDQorCSJ1bml2cGxsX2Q2X2Q4IiwNCisJInVuaXZwbGxfMTkybV9k NCIsDQorCSJ1bml2cGxsX2Q2X2QxNiIsDQorCSJjc3dfZjI2bV9kMiIsDQorCSJ1bml2cGxsXzE5 Mm1fZDE2IiwNCisJInVuaXZwbGxfMTkybV9kMzIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IGNhbXRnMl9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF8x OTJtX2Q4IiwNCisJInVuaXZwbGxfZDZfZDgiLA0KKwkidW5pdnBsbF8xOTJtX2Q0IiwNCisJInVu aXZwbGxfZDZfZDE2IiwNCisJImNzd19mMjZtX2QyIiwNCisJInVuaXZwbGxfMTkybV9kMTYiLA0K KwkidW5pdnBsbF8xOTJtX2QzMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qg Y2FtdGczX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDgiLA0K KwkidW5pdnBsbF9kNl9kOCIsDQorCSJ1bml2cGxsXzE5Mm1fZDQiLA0KKwkidW5pdnBsbF9kNl9k MTYiLA0KKwkiY3N3X2YyNm1fZDIiLA0KKwkidW5pdnBsbF8xOTJtX2QxNiIsDQorCSJ1bml2cGxs XzE5Mm1fZDMyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBjYW10ZzRfcGFy ZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfMTkybV9kOCIsDQorCSJ1bml2cGxs X2Q2X2Q4IiwNCisJInVuaXZwbGxfMTkybV9kNCIsDQorCSJ1bml2cGxsX2Q2X2QxNiIsDQorCSJj c3dfZjI2bV9kMiIsDQorCSJ1bml2cGxsXzE5Mm1fZDE2IiwNCisJInVuaXZwbGxfMTkybV9kMzIi DQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGNhbXRnNV9wYXJlbnRzW10gPSB7 DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF8xOTJtX2Q4IiwNCisJInVuaXZwbGxfZDZfZDgiLA0K KwkidW5pdnBsbF8xOTJtX2Q0IiwNCisJInVuaXZwbGxfZDZfZDE2IiwNCisJImNzd19mMjZtX2Qy IiwNCisJInVuaXZwbGxfMTkybV9kMTYiLA0KKwkidW5pdnBsbF8xOTJtX2QzMiINCit9Ow0KKw0K K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgY2FtdGc2X3BhcmVudHNbXSA9IHsNCisJImNsazI2 bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDgiLA0KKwkidW5pdnBsbF9kNl9kOCIsDQorCSJ1bml2cGxs XzE5Mm1fZDQiLA0KKwkidW5pdnBsbF9kNl9kMTYiLA0KKwkiY3N3X2YyNm1fZDIiLA0KKwkidW5p dnBsbF8xOTJtX2QxNiIsDQorCSJ1bml2cGxsXzE5Mm1fZDMyIg0KK307DQorDQorc3RhdGljIGNv bnN0IGNoYXIgKiBjb25zdCB1YXJ0X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2 cGxsX2Q2X2Q4Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBzcGlfcGFyZW50 c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDVfZDQiLA0KKwkibWFpbnBsbF9kNl9k NCIsDQorCSJtc2RjcGxsX2Q0Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBt c2RjNTBfMF9oX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0X2QyIiwN CisJIm1haW5wbGxfZDZfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1z ZGM1MF8wX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtc2RjcGxsX2NrIiwNCisJIm1z ZGNwbGxfZDIiLA0KKwkidW5pdnBsbF9kNF9kNCIsDQorCSJtYWlucGxsX2Q2X2QyIiwNCisJInVu aXZwbGxfZDRfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1zZGMzMF8x X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJIm1haW5w bGxfZDZfZDIiLA0KKwkibWFpbnBsbF9kN19kMiIsDQorCSJtc2RjcGxsX2QyIg0KK307DQorDQor c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtc2RjMzBfMl9wYXJlbnRzW10gPSB7DQorCSJjbGsy Nm0iLA0KKwkidW5pdnBsbF9kNl9kMiIsDQorCSJtYWlucGxsX2Q2X2QyIiwNCisJIm1haW5wbGxf ZDdfZDIiLA0KKwkibXNkY3BsbF9kMiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgYXVkaW9fcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDVfZDgiLA0K KwkibWFpbnBsbF9kN19kOCIsDQorCSJtYWlucGxsX2Q0X2QxNiINCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgYXVkX2ludGJ1c19wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0K KwkibWFpbnBsbF9kNF9kNCIsDQorCSJtYWlucGxsX2Q3X2Q0Ig0KK307DQorDQorc3RhdGljIGNv bnN0IGNoYXIgKiBjb25zdCBwd3JhcF91bHBvc2NfcGFyZW50c1tdID0gew0KKwkib3NjX2QxMCIs DQorCSJjbGsyNm0iLA0KKwkib3NjX2Q0IiwNCisJIm9zY19kOCIsDQorCSJvc2NfZDE2Ig0KK307 DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdGJfcGFyZW50c1tdID0gew0KKwkiY2xr MjZtIiwNCisJIm1haW5wbGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNV9kMiINCit9Ow0KKw0KK3N0 YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc3NwbV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0K KwkibWFpbnBsbF9kNV9kMiIsDQorCSJ1bml2cGxsX2Q1X2QyIiwNCisJIm1haW5wbGxfZDRfZDIi LA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q2Ig0KK307DQorDQorc3RhdGljIGNv bnN0IGNoYXIgKiBjb25zdCBkcGlfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInR2ZHBs bF9kMiIsDQorCSJ0dmRwbGxfZDQiLA0KKwkidHZkcGxsX2Q4IiwNCisJInR2ZHBsbF9kMTYiDQor fTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNjYW1fcGFyZW50c1tdID0gew0KKwki Y2xrMjZtIiwNCisJIm1haW5wbGxfZDVfZDQiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IGRpc3BfcHdtX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q2 X2Q0IiwNCisJIm9zY19kMiIsDQorCSJvc2NfZDQiLA0KKwkib3NjX2QxNiINCit9Ow0KKw0KK3N0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgdXNiX3RvcF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0i LA0KKwkidW5pdnBsbF9kNV9kNCIsDQorCSJ1bml2cGxsX2Q2X2Q0IiwNCisJInVuaXZwbGxfZDVf ZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNzdXNiX3hoY2lfcGFyZW50 c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDVfZDQiLA0KKwkidW5pdnBsbF9kNl9k NCIsDQorCSJ1bml2cGxsX2Q1X2QyIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCBpMmNfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxfZDRfZDgiLA0KKwki dW5pdnBsbF9kNV9kNCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc2VuaW5m X3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsX2Q0X2Q0IiwNCisJInVuaXZw bGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2cGxsX2Q3IiwNCisJInVuaXZw bGxfZDYiLA0KKwkibW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNSINCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3Qgc2VuaW5mMV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwki dW5pdnBsbF9kNF9kNCIsDQorCSJ1bml2cGxsX2Q2X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiLA0K KwkidW5pdnBsbF9kNyIsDQorCSJ1bml2cGxsX2Q2IiwNCisJIm1tcGxsX2Q2IiwNCisJInVuaXZw bGxfZDUiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNlbmluZjJfcGFyZW50 c1tdID0gew0KKwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDRfZDQiLA0KKwkidW5pdnBsbF9kNl9k MiIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDciLA0KKwkidW5pdnBsbF9kNiIs DQorCSJtbXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q1Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNo YXIgKiBjb25zdCBzZW5pbmYzX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxs X2Q0X2Q0IiwNCisJInVuaXZwbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJ1bml2 cGxsX2Q3IiwNCisJInVuaXZwbGxfZDYiLA0KKwkibW1wbGxfZDYiLA0KKwkidW5pdnBsbF9kNSIN Cit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgdGxfcGFyZW50c1tdID0gew0KKwki Y2xrMjZtIiwNCisJInVuaXZwbGxfMTkybV9kMiIsDQorCSJtYWlucGxsX2Q2X2Q0Ig0KK307DQor DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkeGNjX3BhcmVudHNbXSA9IHsNCisJImNsazI2 bSIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDRfZDQiLA0KKwkibWFpbnBsbF9k NF9kOCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXVkX2VuZ2VuMV9wYXJl bnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkiYXBsbDFfZDIiLA0KKwkiYXBsbDFfZDQiLA0KKwki YXBsbDFfZDgiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGF1ZF9lbmdlbjJf cGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJImFwbGwyX2QyIiwNCisJImFwbGwyX2Q0IiwN CisJImFwbGwyX2Q4Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhZXNfdWZz ZmRlX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0IiwNCisJIm1haW5w bGxfZDRfZDIiLA0KKwkibWFpbnBsbF9kNiIsDQorCSJtYWlucGxsX2Q0X2Q0IiwNCisJInVuaXZw bGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNiINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgdWZzX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJtYWlucGxsX2Q0X2Q0IiwN CisJIm1haW5wbGxfZDRfZDgiLA0KKwkidW5pdnBsbF9kNF9kNCIsDQorCSJtYWlucGxsX2Q2X2Qy IiwNCisJIm1haW5wbGxfZDVfZDIiLA0KKwkibXNkY3BsbF9kMiINCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgYXVkXzFfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJImFw bGwxX2NrIg0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBhdWRfMl9wYXJlbnRz W10gPSB7DQorCSJjbGsyNm0iLA0KKwkiYXBsbDJfY2siDQorfTsNCisNCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IGFkc3BfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1haW5wbGxf ZDYiLA0KKwkibWFpbnBsbF9kNV9kMiIsDQorCSJ1bml2cGxsX2Q0X2Q0IiwNCisJInVuaXZwbGxf ZDQiLA0KKwkidW5pdnBsbF9kNiIsDQorCSJ1bHBvc2MiLA0KKwkiYWRzcHBsbF9jayINCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZHBtYWlmX21haW5fcGFyZW50c1tdID0gew0K KwkiY2xrMjZtIiwNCisJInVuaXZwbGxfZDRfZDQiLA0KKwkibWFpbnBsbF9kNiIsDQorCSJtYWlu cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IHZlbmNfcGFyZW50c1tdID0gew0KKwkiY2xrMjZtIiwNCisJIm1tcGxsX2Q3IiwN CisJIm1haW5wbGxfZDYiLA0KKwkidW5pdnBsbF9kNF9kMiIsDQorCSJtYWlucGxsX2Q0X2QyIiwN CisJInVuaXZwbGxfZDYiLA0KKwkibW1wbGxfZDYiLA0KKwkibWFpbnBsbF9kNV9kMiIsDQorCSJt YWlucGxsX2Q2X2QyIiwNCisJIm1tcGxsX2Q5IiwNCisJInVuaXZwbGxfZDRfZDQiLA0KKwkibWFp bnBsbF9kNCIsDQorCSJ1bml2cGxsX2Q0IiwNCisJInVuaXZwbGxfZDUiLA0KKwkidW5pdnBsbF9k NV9kMiIsDQorCSJtYWlucGxsX2Q1Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25z dCB2ZGVjX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIsDQorCSJ1bml2cGxsXzE5Mm1fZDIiLA0K KwkidW5pdnBsbF9kNV9kNCIsDQorCSJtYWlucGxsX2Q1IiwNCisJIm1haW5wbGxfZDVfZDIiLA0K KwkibW1wbGxfZDZfZDIiLA0KKwkidW5pdnBsbF9kNV9kMiIsDQorCSJtYWlucGxsX2Q0X2QyIiwN CisJInVuaXZwbGxfZDRfZDIiLA0KKwkidW5pdnBsbF9kNyIsDQorCSJtbXBsbF9kNyIsDQorCSJt bXBsbF9kNiIsDQorCSJ1bml2cGxsX2Q1IiwNCisJIm1haW5wbGxfZDQiLA0KKwkidW5pdnBsbF9k NCIsDQorCSJ1bml2cGxsX2Q2Ig0KK307DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBj YW10bV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNyIsDQorCSJ1bml2 cGxsX2Q2X2QyIiwNCisJInVuaXZwbGxfZDRfZDIiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IHB3bV9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNF9k OCINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYXVkaW9faF9wYXJlbnRzW10g PSB7DQorCSJjbGsyNm0iLA0KKwkidW5pdnBsbF9kNyIsDQorCSJhcGxsMV9jayIsDQorCSJhcGxs Ml9jayINCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3Qgc3BtaV9tc3RfcGFyZW50 c1tdID0gew0KKwkiY2xrMjZtIiwNCisJImNzd19mMjZtX2QyIiwNCisJIm9zY19kOCIsDQorCSJv c2NfZDEwIiwNCisJIm9zY19kMTYiLA0KKwkib3NjX2QyMCIsDQorCSJjbGszMmsiDQorfTsNCisN CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFlc19tc2RjZmRlX3BhcmVudHNbXSA9IHsNCisJ ImNsazI2bSIsDQorCSJtYWlucGxsX2Q0X2QyIiwNCisJIm1haW5wbGxfZDYiLA0KKwkibWFpbnBs bF9kNF9kNCIsDQorCSJ1bml2cGxsX2Q0X2QyIiwNCisJInVuaXZwbGxfZDYiDQorfTsNCisNCitz dGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IG1jdXBtX3BhcmVudHNbXSA9IHsNCisJImNsazI2bSIs DQorCSJtYWlucGxsX2Q2X2Q0IiwNCisJIm1haW5wbGxfZDZfZDIiDQorfTsNCisNCitzdGF0aWMg Y29uc3QgY2hhciAqIGNvbnN0IHNmbGFzaF9wYXJlbnRzW10gPSB7DQorCSJjbGsyNm0iLA0KKwki bWFpbnBsbF9kN19kOCIsDQorCSJ1bml2cGxsX2Q2X2Q4IiwNCisJInVuaXZwbGxfZDVfZDgiDQor fTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFwbGxfaTJzMF9tX3BhcmVudHNbXSA9 IHsNCisJImF1ZF8xX3NlbCIsDQorCSJhdWRfMl9zZWwiDQorfTsNCisNCitzdGF0aWMgY29uc3Qg Y2hhciAqIGNvbnN0IGFwbGxfaTJzMV9tX3BhcmVudHNbXSA9IHsNCisJImF1ZF8xX3NlbCIsDQor CSJhdWRfMl9zZWwiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFwbGxfaTJz Ml9tX3BhcmVudHNbXSA9IHsNCisJImF1ZF8xX3NlbCIsDQorCSJhdWRfMl9zZWwiDQorfTsNCisN CitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFwbGxfaTJzM19tX3BhcmVudHNbXSA9IHsNCisJ ImF1ZF8xX3NlbCIsDQorCSJhdWRfMl9zZWwiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAq IGNvbnN0IGFwbGxfaTJzNF9tX3BhcmVudHNbXSA9IHsNCisJImF1ZF8xX3NlbCIsDQorCSJhdWRf Ml9zZWwiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFwbGxfaTJzNV9tX3Bh cmVudHNbXSA9IHsNCisJImF1ZF8xX3NlbCIsDQorCSJhdWRfMl9zZWwiDQorfTsNCisNCitzdGF0 aWMgY29uc3QgY2hhciAqIGNvbnN0IGFwbGxfaTJzNl9tX3BhcmVudHNbXSA9IHsNCisJImF1ZF8x X3NlbCIsDQorCSJhdWRfMl9zZWwiDQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IGFwbGxfaTJzN19tX3BhcmVudHNbXSA9IHsNCisJImF1ZF8xX3NlbCIsDQorCSJhdWRfMl9zZWwi DQorfTsNCisNCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGFwbGxfaTJzOF9tX3BhcmVudHNb XSA9IHsNCisJImF1ZF8xX3NlbCIsDQorCSJhdWRfMl9zZWwiDQorfTsNCisNCitzdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGFwbGxfaTJzOV9tX3BhcmVudHNbXSA9IHsNCisJImF1ZF8xX3NlbCIs DQorCSJhdWRfMl9zZWwiDQorfTsNCisNCisvKg0KKyAqIENSSVRJQ0FMIENMT0NLOg0KKyAqIGF4 aV9zZWwgaXMgdGhlIG1haW4gYnVzIGNsb2NrIG9mIHdob2xlIFNPQy4NCisgKiBzcG1fc2VsIGlz IHRoZSBjbG9jayBvZiB0aGUgYWx3YXlzLW9uIGNvLXByb2Nlc3Nvci4NCisgKiBidXNfYXhpbWVt X3NlbCBpcyBjbG9jayBvZiB0aGUgYnVzIHRoYXQgYWNjZXNzIGVtaS4NCisgKi8NCitzdGF0aWMg Y29uc3Qgc3RydWN0IG10a19tdXggdG9wX210a19tdXhlc1tdID0gew0KKwkvKiBDTEtfQ0ZHXzAg Ki8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUERfRkxBR1MoQ0xLX1RPUF9BWElfU0VMLCAiYXhpX3Nl bCIsDQorCQlheGlfcGFyZW50cywgMHgwMTAsIDB4MDE0LCAweDAxOCwgMCwgMywgNywgMHgwMDQs IDAsDQorCQlDTEtfSVNfQ1JJVElDQUwpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRF9GTEFHUyhD TEtfVE9QX1NQTV9TRUwsICJzcG1fc2VsIiwNCisJCXNwbV9wYXJlbnRzLCAweDAxMCwgMHgwMTQs IDB4MDE4LCA4LCAyLCAxNSwgMHgwMDQsIDEsDQorCQlDTEtfSVNfQ1JJVElDQUwpLA0KKwlNVVhf R0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NDUF9TRUwsICJzY3Bfc2VsIiwNCisJCXNjcF9wYXJl bnRzLCAweDAxMCwgMHgwMTQsIDB4MDE4LCAxNiwgMywgMjMsIDB4MDA0LCAyKSwNCisJTVVYX0dB VEVfQ0xSX1NFVF9VUERfRkxBR1MoQ0xLX1RPUF9CVVNfQVhJTUVNX1NFTCwgImJ1c19heGltZW1f c2VsIiwNCisJCWJ1c19heGltZW1fcGFyZW50cywgMHgwMTAsIDB4MDE0LCAweDAxOCwgMjQsIDMs IDMxLCAweDAwNCwgMywNCisJCUNMS19JU19DUklUSUNBTCksDQorCS8qIENMS19DRkdfMSAqLw0K KwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0RJU1BfU0VMLCAiZGlzcF9zZWwiLA0KKwkJ ZGlzcF9wYXJlbnRzLCAweDAyMCwgMHgwMjQsIDB4MDI4LCAwLCA0LCA3LCAweDAwNCwgNCksDQor CU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfTURQX1NFTCwgIm1kcF9zZWwiLA0KKwkJbWRw X3BhcmVudHMsIDB4MDIwLCAweDAyNCwgMHgwMjgsIDgsIDQsIDE1LCAweDAwNCwgNSksDQorCU1V WF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfSU1HMV9TRUwsICJpbWcxX3NlbCIsDQorCQlpbWcx X3BhcmVudHMsIDB4MDIwLCAweDAyNCwgMHgwMjgsIDE2LCA0LCAyMywgMHgwMDQsIDYpLA0KKwlN VVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0lNRzJfU0VMLCAiaW1nMl9zZWwiLA0KKwkJaW1n Ml9wYXJlbnRzLCAweDAyMCwgMHgwMjQsIDB4MDI4LCAyNCwgNCwgMzEsIDB4MDA0LCA3KSwNCisJ LyogQ0xLX0NGR18yICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfSVBFX1NFTCwg ImlwZV9zZWwiLA0KKwkJaXBlX3BhcmVudHMsIDB4MDMwLCAweDAzNCwgMHgwMzgsIDAsIDQsIDcs IDB4MDA0LCA4KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9EUEVfU0VMLCAiZHBl X3NlbCIsDQorCQlkcGVfcGFyZW50cywgMHgwMzAsIDB4MDM0LCAweDAzOCwgOCwgMywgMTUsIDB4 MDA0LCA5KSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9DQU1fU0VMLCAiY2FtX3Nl bCIsDQorCQljYW1fcGFyZW50cywgMHgwMzAsIDB4MDM0LCAweDAzOCwgMTYsIDQsIDIzLCAweDAw NCwgMTApLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0NDVV9TRUwsICJjY3Vfc2Vs IiwNCisJCWNjdV9wYXJlbnRzLCAweDAzMCwgMHgwMzQsIDB4MDM4LCAyNCwgNCwgMzEsIDB4MDA0 LCAxMSksDQorCS8qIENMS19DRkdfNCAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9Q X0RTUDdfU0VMLCAiZHNwN19zZWwiLA0KKwkJZHNwN19wYXJlbnRzLCAweDA1MCwgMHgwNTQsIDB4 MDU4LCAwLCAzLCA3LCAweDAwNCwgMTYpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9Q X01GR19SRUZfU0VMLCAibWZnX3JlZl9zZWwiLA0KKwkJbWZnX3JlZl9wYXJlbnRzLCAweDA1MCwg MHgwNTQsIDB4MDU4LCAxNiwgMiwgMjMsIDB4MDA0LCAxOCksDQorCU1VWF9DTFJfU0VUX1VQRChD TEtfVE9QX01GR19QTExfU0VMLCAibWZnX3BsbF9zZWwiLA0KKwkJbWZnX3BsbF9wYXJlbnRzLCAw eDA1MCwgMHgwNTQsIDB4MDU4LCAxOCwgMSwgLTEsIC0xKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9V UEQoQ0xLX1RPUF9DQU1UR19TRUwsICJjYW10Z19zZWwiLA0KKwkJY2FtdGdfcGFyZW50cywgMHgw NTAsIDB4MDU0LCAweDA1OCwgMjQsIDMsIDMxLCAweDAwNCwgMTkpLA0KKwkvKiBDTEtfQ0ZHXzUg Ki8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9DQU1URzJfU0VMLCAiY2FtdGcyX3Nl bCIsDQorCQljYW10ZzJfcGFyZW50cywgMHgwNjAsIDB4MDY0LCAweDA2OCwgMCwgMywgNywgMHgw MDQsIDIwKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9DQU1URzNfU0VMLCAiY2Ft dGczX3NlbCIsDQorCQljYW10ZzNfcGFyZW50cywgMHgwNjAsIDB4MDY0LCAweDA2OCwgOCwgMywg MTUsIDB4MDA0LCAyMSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfQ0FNVEc0X1NF TCwgImNhbXRnNF9zZWwiLA0KKwkJY2FtdGc0X3BhcmVudHMsIDB4MDYwLCAweDA2NCwgMHgwNjgs IDE2LCAzLCAyMywgMHgwMDQsIDIyKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9D QU1URzVfU0VMLCAiY2FtdGc1X3NlbCIsDQorCQljYW10ZzVfcGFyZW50cywgMHgwNjAsIDB4MDY0 LCAweDA2OCwgMjQsIDMsIDMxLCAweDAwNCwgMjMpLA0KKwkvKiBDTEtfQ0ZHXzYgKi8NCisJTVVY X0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9DQU1URzZfU0VMLCAiY2FtdGc2X3NlbCIsDQorCQlj YW10ZzZfcGFyZW50cywgMHgwNzAsIDB4MDc0LCAweDA3OCwgMCwgMywgNywgMHgwMDQsIDI0KSwN CisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9VQVJUX1NFTCwgInVhcnRfc2VsIiwNCisJ CXVhcnRfcGFyZW50cywgMHgwNzAsIDB4MDc0LCAweDA3OCwgOCwgMSwgMTUsIDB4MDA0LCAyNSks DQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfU1BJX1NFTCwgInNwaV9zZWwiLA0KKwkJ c3BpX3BhcmVudHMsIDB4MDcwLCAweDA3NCwgMHgwNzgsIDE2LCAyLCAyMywgMHgwMDQsIDI2KSwN CisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9NU0RDNTBfMF9IX1NFTCwgIm1zZGM1MF8w X2hfc2VsIiwNCisJCW1zZGM1MF8wX2hfcGFyZW50cywgMHgwNzAsIDB4MDc0LCAweDA3OCwgMjQs IDIsIDMxLCAweDAwNCwgMjcpLA0KKwkvKiBDTEtfQ0ZHXzcgKi8NCisJTVVYX0dBVEVfQ0xSX1NF VF9VUEQoQ0xLX1RPUF9NU0RDNTBfMF9TRUwsICJtc2RjNTBfMF9zZWwiLA0KKwkJbXNkYzUwXzBf cGFyZW50cywgMHgwODAsIDB4MDg0LCAweDA4OCwgMCwgMywgNywgMHgwMDQsIDI4KSwNCisJTVVY X0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9NU0RDMzBfMV9TRUwsICJtc2RjMzBfMV9zZWwiLA0K KwkJbXNkYzMwXzFfcGFyZW50cywgMHgwODAsIDB4MDg0LCAweDA4OCwgOCwgMywgMTUsIDB4MDA0 LCAyOSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfTVNEQzMwXzJfU0VMLCAibXNk YzMwXzJfc2VsIiwNCisJCW1zZGMzMF8yX3BhcmVudHMsIDB4MDgwLCAweDA4NCwgMHgwODgsIDE2 LCAzLCAyMywgMHgwMDQsIDMwKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9BVURJ T19TRUwsICJhdWRpb19zZWwiLA0KKwkJYXVkaW9fcGFyZW50cywgMHgwODAsIDB4MDg0LCAweDA4 OCwgMjQsIDIsIDMxLCAweDAwOCwgMCksDQorCS8qIENMS19DRkdfOCAqLw0KKwlNVVhfR0FURV9D TFJfU0VUX1VQRChDTEtfVE9QX0FVRF9JTlRCVVNfU0VMLCAiYXVkX2ludGJ1c19zZWwiLA0KKwkJ YXVkX2ludGJ1c19wYXJlbnRzLCAweDA5MCwgMHgwOTQsIDB4MDk4LCAwLCAyLCA3LCAweDAwOCwg MSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfUFdSQVBfVUxQT1NDX1NFTCwgInB3 cmFwX3VscG9zY19zZWwiLA0KKwkJcHdyYXBfdWxwb3NjX3BhcmVudHMsIDB4MDkwLCAweDA5NCwg MHgwOTgsIDgsIDMsIDE1LCAweDAwOCwgMiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19U T1BfQVRCX1NFTCwgImF0Yl9zZWwiLA0KKwkJYXRiX3BhcmVudHMsIDB4MDkwLCAweDA5NCwgMHgw OTgsIDE2LCAyLCAyMywgMHgwMDgsIDMpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9Q X1NTUE1fU0VMLCAic3NwbV9zZWwiLA0KKwkJc3NwbV9wYXJlbnRzLCAweDA5MCwgMHgwOTQsIDB4 MDk4LCAyNCwgMywgMzEsIDB4MDA4LCA0KSwNCisJLyogQ0xLX0NGR185ICovDQorCU1VWF9HQVRF X0NMUl9TRVRfVVBEKENMS19UT1BfRFBJX1NFTCwgImRwaV9zZWwiLA0KKwkJZHBpX3BhcmVudHMs IDB4MGEwLCAweDBhNCwgMHgwYTgsIDAsIDMsIDcsIDB4MDA4LCA1KSwNCisJTVVYX0dBVEVfQ0xS X1NFVF9VUEQoQ0xLX1RPUF9TQ0FNX1NFTCwgInNjYW1fc2VsIiwNCisJCXNjYW1fcGFyZW50cywg MHgwYTAsIDB4MGE0LCAweDBhOCwgOCwgMSwgMTUsIDB4MDA4LCA2KSwNCisJTVVYX0dBVEVfQ0xS X1NFVF9VUEQoQ0xLX1RPUF9ESVNQX1BXTV9TRUwsICJkaXNwX3B3bV9zZWwiLA0KKwkJZGlzcF9w d21fcGFyZW50cywgMHgwYTAsIDB4MGE0LCAweDBhOCwgMTYsIDMsIDIzLCAweDAwOCwgNyksDQor CU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfVVNCX1RPUF9TRUwsICJ1c2JfdG9wX3NlbCIs DQorCQl1c2JfdG9wX3BhcmVudHMsIDB4MGEwLCAweDBhNCwgMHgwYTgsIDI0LCAyLCAzMSwgMHgw MDgsIDgpLA0KKwkvKiBDTEtfQ0ZHXzEwICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19U T1BfU1NVU0JfWEhDSV9TRUwsICJzc3VzYl94aGNpX3NlbCIsDQorCQlzc3VzYl94aGNpX3BhcmVu dHMsIDB4MGIwLCAweDBiNCwgMHgwYjgsIDAsIDIsIDcsIDB4MDA4LCA5KSwNCisJTVVYX0dBVEVf Q0xSX1NFVF9VUEQoQ0xLX1RPUF9JMkNfU0VMLCAiaTJjX3NlbCIsDQorCQlpMmNfcGFyZW50cywg MHgwYjAsIDB4MGI0LCAweDBiOCwgOCwgMiwgMTUsIDB4MDA4LCAxMCksDQorCU1VWF9HQVRFX0NM Ul9TRVRfVVBEKENMS19UT1BfU0VOSU5GX1NFTCwgInNlbmluZl9zZWwiLA0KKwkJc2VuaW5mX3Bh cmVudHMsIDB4MGIwLCAweDBiNCwgMHgwYjgsIDE2LCAzLCAyMywgMHgwMDgsIDExKSwNCisJTVVY X0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9TRU5JTkYxX1NFTCwgInNlbmluZjFfc2VsIiwNCisJ CXNlbmluZjFfcGFyZW50cywgMHgwYjAsIDB4MGI0LCAweDBiOCwgMjQsIDMsIDMxLCAweDAwOCwg MTIpLA0KKwkvKiBDTEtfQ0ZHXzExICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1Bf U0VOSU5GMl9TRUwsICJzZW5pbmYyX3NlbCIsDQorCQlzZW5pbmYyX3BhcmVudHMsIDB4MGMwLCAw eDBjNCwgMHgwYzgsIDAsIDMsIDcsIDB4MDA4LCAxMyksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBE KENMS19UT1BfU0VOSU5GM19TRUwsICJzZW5pbmYzX3NlbCIsDQorCQlzZW5pbmYzX3BhcmVudHMs IDB4MGMwLCAweDBjNCwgMHgwYzgsIDgsIDMsIDE1LCAweDAwOCwgMTQpLA0KKwlNVVhfR0FURV9D TFJfU0VUX1VQRChDTEtfVE9QX1RMX1NFTCwgInRsX3NlbCIsDQorCQl0bF9wYXJlbnRzLCAweDBj MCwgMHgwYzQsIDB4MGM4LCAxNiwgMiwgMjMsIDB4MDA4LCAxNSksDQorCU1VWF9HQVRFX0NMUl9T RVRfVVBEKENMS19UT1BfRFhDQ19TRUwsICJkeGNjX3NlbCIsDQorCQlkeGNjX3BhcmVudHMsIDB4 MGMwLCAweDBjNCwgMHgwYzgsIDI0LCAyLCAzMSwgMHgwMDgsIDE2KSwNCisJLyogQ0xLX0NGR18x MiAqLw0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0FVRF9FTkdFTjFfU0VMLCAiYXVk X2VuZ2VuMV9zZWwiLA0KKwkJYXVkX2VuZ2VuMV9wYXJlbnRzLCAweDBkMCwgMHgwZDQsIDB4MGQ4 LCAwLCAyLCA3LCAweDAwOCwgMTcpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0FV RF9FTkdFTjJfU0VMLCAiYXVkX2VuZ2VuMl9zZWwiLA0KKwkJYXVkX2VuZ2VuMl9wYXJlbnRzLCAw eDBkMCwgMHgwZDQsIDB4MGQ4LCA4LCAyLCAxNSwgMHgwMDgsIDE4KSwNCisJTVVYX0dBVEVfQ0xS X1NFVF9VUEQoQ0xLX1RPUF9BRVNfVUZTRkRFX1NFTCwgImFlc191ZnNmZGVfc2VsIiwNCisJCWFl c191ZnNmZGVfcGFyZW50cywgMHgwZDAsIDB4MGQ0LCAweDBkOCwgMTYsIDMsIDIzLCAweDAwOCwg MTkpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1VGU19TRUwsICJ1ZnNfc2VsIiwN CisJCXVmc19wYXJlbnRzLCAweDBkMCwgMHgwZDQsIDB4MGQ4LCAyNCwgMywgMzEsIDB4MDA4LCAy MCksDQorCS8qIENMS19DRkdfMTMgKi8NCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9B VURfMV9TRUwsICJhdWRfMV9zZWwiLA0KKwkJYXVkXzFfcGFyZW50cywgMHgwZTAsIDB4MGU0LCAw eDBlOCwgMCwgMSwgNywgMHgwMDgsIDIxKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RP UF9BVURfMl9TRUwsICJhdWRfMl9zZWwiLA0KKwkJYXVkXzJfcGFyZW50cywgMHgwZTAsIDB4MGU0 LCAweDBlOCwgOCwgMSwgMTUsIDB4MDA4LCAyMiksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENM S19UT1BfQURTUF9TRUwsICJhZHNwX3NlbCIsDQorCQlhZHNwX3BhcmVudHMsIDB4MGUwLCAweDBl NCwgMHgwZTgsIDE2LCAzLCAyMywgMHgwMDgsIDIzKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQo Q0xLX1RPUF9EUE1BSUZfTUFJTl9TRUwsICJkcG1haWZfbWFpbl9zZWwiLA0KKwkJZHBtYWlmX21h aW5fcGFyZW50cywgMHgwZTAsIDB4MGU0LCAweDBlOCwgMjQsIDMsIDMxLCAweDAwOCwgMjQpLA0K KwkvKiBDTEtfQ0ZHXzE0ICovDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfVkVOQ19T RUwsICJ2ZW5jX3NlbCIsDQorCQl2ZW5jX3BhcmVudHMsIDB4MGYwLCAweDBmNCwgMHgwZjgsIDAs IDQsIDcsIDB4MDA4LCAyNSksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1BfVkRFQ19T RUwsICJ2ZGVjX3NlbCIsDQorCQl2ZGVjX3BhcmVudHMsIDB4MGYwLCAweDBmNCwgMHgwZjgsIDgs IDQsIDE1LCAweDAwOCwgMjYpLA0KKwlNVVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX0NBTVRN X1NFTCwgImNhbXRtX3NlbCIsDQorCQljYW10bV9wYXJlbnRzLCAweDBmMCwgMHgwZjQsIDB4MGY4 LCAxNiwgMiwgMjMsIDB4MDA4LCAyNyksDQorCU1VWF9HQVRFX0NMUl9TRVRfVVBEKENMS19UT1Bf UFdNX1NFTCwgInB3bV9zZWwiLA0KKwkJcHdtX3BhcmVudHMsIDB4MGYwLCAweDBmNCwgMHgwZjgs IDI0LCAxLCAzMSwgMHgwMDgsIDI4KSwNCisJLyogQ0xLX0NGR18xNSAqLw0KKwlNVVhfR0FURV9D TFJfU0VUX1VQRChDTEtfVE9QX0FVRElPX0hfU0VMLCAiYXVkaW9faF9zZWwiLA0KKwkJYXVkaW9f aF9wYXJlbnRzLCAweDEwMCwgMHgxMDQsIDB4MTA4LCAwLCAyLCA3LCAweDAwOCwgMjkpLA0KKwlN VVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NQTUlfTVNUX1NFTCwgInNwbWlfbXN0X3NlbCIs DQorCQlzcG1pX21zdF9wYXJlbnRzLCAweDEwMCwgMHgxMDQsIDB4MTA4LCA4LCAzLCAxNSwgMHgw MDgsIDMwKSwNCisJTVVYX0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9BRVNfTVNEQ0ZERV9TRUws ICJhZXNfbXNkY2ZkZV9zZWwiLA0KKwkJYWVzX21zZGNmZGVfcGFyZW50cywgMHgxMDAsIDB4MTA0 LCAweDEwOCwgMjQsIDMsIDMxLCAweDAwYywgMSksDQorCS8qIENMS19DRkdfMTYgKi8NCisJTVVY X0dBVEVfQ0xSX1NFVF9VUEQoQ0xLX1RPUF9NQ1VQTV9TRUwsICJtY3VwbV9zZWwiLA0KKwkJbWN1 cG1fcGFyZW50cywgMHgxMTAsIDB4MTE0LCAweDExOCwgMCwgMiwgNywgMHgwMGMsIDIpLA0KKwlN VVhfR0FURV9DTFJfU0VUX1VQRChDTEtfVE9QX1NGTEFTSF9TRUwsICJzZmxhc2hfc2VsIiwNCisJ CXNmbGFzaF9wYXJlbnRzLCAweDExMCwgMHgxMTQsIDB4MTE4LCA4LCAyLCAxNSwgMHgwMGMsIDMp LA0KK307DQorDQorc3RhdGljIHN0cnVjdCBtdGtfY29tcG9zaXRlIHRvcF9tdXhlc1tdID0gew0K KwkvKiBDTEtfQVVERElWXzAgKi8NCisJTVVYKENMS19UT1BfQVBMTF9JMlMwX01fU0VMLCAiYXBs bF9pMnMwX21fc2VsIiwgYXBsbF9pMnMwX21fcGFyZW50cywNCisJCTB4MzIwLCAxNiwgMSksDQor CU1VWChDTEtfVE9QX0FQTExfSTJTMV9NX1NFTCwgImFwbGxfaTJzMV9tX3NlbCIsIGFwbGxfaTJz MV9tX3BhcmVudHMsDQorCQkweDMyMCwgMTcsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzJf TV9TRUwsICJhcGxsX2kyczJfbV9zZWwiLCBhcGxsX2kyczJfbV9wYXJlbnRzLA0KKwkJMHgzMjAs IDE4LCAxKSwNCisJTVVYKENMS19UT1BfQVBMTF9JMlMzX01fU0VMLCAiYXBsbF9pMnMzX21fc2Vs IiwgYXBsbF9pMnMzX21fcGFyZW50cywNCisJCTB4MzIwLCAxOSwgMSksDQorCU1VWChDTEtfVE9Q X0FQTExfSTJTNF9NX1NFTCwgImFwbGxfaTJzNF9tX3NlbCIsIGFwbGxfaTJzNF9tX3BhcmVudHMs DQorCQkweDMyMCwgMjAsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzVfTV9TRUwsICJhcGxs X2kyczVfbV9zZWwiLCBhcGxsX2kyczVfbV9wYXJlbnRzLA0KKwkJMHgzMjAsIDIxLCAxKSwNCisJ TVVYKENMS19UT1BfQVBMTF9JMlM2X01fU0VMLCAiYXBsbF9pMnM2X21fc2VsIiwgYXBsbF9pMnM2 X21fcGFyZW50cywNCisJCTB4MzIwLCAyMiwgMSksDQorCU1VWChDTEtfVE9QX0FQTExfSTJTN19N X1NFTCwgImFwbGxfaTJzN19tX3NlbCIsIGFwbGxfaTJzN19tX3BhcmVudHMsDQorCQkweDMyMCwg MjMsIDEpLA0KKwlNVVgoQ0xLX1RPUF9BUExMX0kyUzhfTV9TRUwsICJhcGxsX2kyczhfbV9zZWwi LCBhcGxsX2kyczhfbV9wYXJlbnRzLA0KKwkJMHgzMjAsIDI0LCAxKSwNCisJTVVYKENMS19UT1Bf QVBMTF9JMlM5X01fU0VMLCAiYXBsbF9pMnM5X21fc2VsIiwgYXBsbF9pMnM5X21fcGFyZW50cywN CisJCTB4MzIwLCAyNSwgMSksDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19jb21w b3NpdGUgdG9wX2Fkal9kaXZzW10gPSB7DQorCURJVl9HQVRFKENMS19UT1BfQVBMTDEyX0RJVjAs ICJhcGxsMTJfZGl2MCIsICJhcGxsX2kyczBfbV9zZWwiLCAweDMyMCwNCisJCTAsIDB4MzI4LCA4 LCAwKSwNCisJRElWX0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWMSwgImFwbGwxMl9kaXYxIiwgImFw bGxfaTJzMV9tX3NlbCIsIDB4MzIwLA0KKwkJMSwgMHgzMjgsIDgsIDgpLA0KKwlESVZfR0FURShD TEtfVE9QX0FQTEwxMl9ESVYyLCAiYXBsbDEyX2RpdjIiLCAiYXBsbF9pMnMyX21fc2VsIiwgMHgz MjAsDQorCQkyLCAweDMyOCwgOCwgMTYpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVYz LCAiYXBsbDEyX2RpdjMiLCAiYXBsbF9pMnMzX21fc2VsIiwgMHgzMjAsDQorCQkzLCAweDMyOCwg OCwgMjQpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVY0LCAiYXBsbDEyX2RpdjQiLCAi YXBsbF9pMnM0X21fc2VsIiwgMHgzMjAsDQorCQk0LCAweDMzNCwgOCwgMCksDQorCURJVl9HQVRF KENMS19UT1BfQVBMTDEyX0RJVkIsICJhcGxsMTJfZGl2YiIsICJhcGxsMTJfZGl2NCIsIDB4MzIw LA0KKwkJNSwgMHgzMzQsIDgsIDgpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVY1LCAi YXBsbDEyX2RpdjUiLCAiYXBsbF9pMnM1X21fc2VsIiwgMHgzMjAsDQorCQk2LCAweDMzNCwgOCwg MTYpLA0KKwlESVZfR0FURShDTEtfVE9QX0FQTEwxMl9ESVY2LCAiYXBsbDEyX2RpdjYiLCAiYXBs bF9pMnM2X21fc2VsIiwgMHgzMjAsDQorCQk3LCAweDMzNCwgOCwgMjQpLA0KKwlESVZfR0FURShD TEtfVE9QX0FQTEwxMl9ESVY3LCAiYXBsbDEyX2RpdjciLCAiYXBsbF9pMnM3X21fc2VsIiwgMHgz MjAsDQorCQk4LCAweDMzOCwgOCwgMCksDQorCURJVl9HQVRFKENMS19UT1BfQVBMTDEyX0RJVjgs ICJhcGxsMTJfZGl2OCIsICJhcGxsX2kyczhfbV9zZWwiLCAweDMyMCwNCisJCTksIDB4MzM4LCA4 LCA4KSwNCisJRElWX0dBVEUoQ0xLX1RPUF9BUExMMTJfRElWOSwgImFwbGwxMl9kaXY5IiwgImFw bGxfaTJzOV9tX3NlbCIsIDB4MzIwLA0KKwkJMTAsIDB4MzM4LCA4LCAxNiksDQorfTsNCisNCitz dGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgYXBtaXhlZF9jZ19yZWdzID0gew0KKwku c2V0X29mcyA9IDB4MTQsDQorCS5jbHJfb2ZzID0gMHgxNCwNCisJLnN0YV9vZnMgPSAweDE0LA0K K307DQorDQorI2RlZmluZSBHQVRFX0FQTUlYRUQoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0 KQkJCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJmFwbWl4ZWRfY2dfcmVncywg X3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19ub19zZXRjbHJfaW52KQ0KKw0KK3N0YXRp YyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgYXBtaXhlZF9jbGtzW10gPSB7DQorCUdBVEVfQVBNSVhF RChDTEtfQVBNSVhFRF9NSVBJRDI2TSwgIm1pcGlkMjZtIiwgImNsazI2bSIsIDE2KSwNCit9Ow0K Kw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTBfY2dfcmVncyA9IHsN CisJLnNldF9vZnMgPSAweDgwLA0KKwkuY2xyX29mcyA9IDB4ODQsDQorCS5zdGFfb2ZzID0gMHg5 MCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTFfY2df cmVncyA9IHsNCisJLnNldF9vZnMgPSAweDg4LA0KKwkuY2xyX29mcyA9IDB4OGMsDQorCS5zdGFf b2ZzID0gMHg5NCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBp bmZyYTJfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGE0LA0KKwkuY2xyX29mcyA9IDB4YTgs DQorCS5zdGFfb2ZzID0gMHhhYywNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dh dGVfcmVncyBpbmZyYTNfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGMwLA0KKwkuY2xyX29m cyA9IDB4YzQsDQorCS5zdGFfb2ZzID0gMHhjOCwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1 Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTRfY2dfcmVncyA9IHsNCisJLnNldF9vZnMgPSAweGQwLA0K KwkuY2xyX29mcyA9IDB4ZDQsDQorCS5zdGFfb2ZzID0gMHhkOCwNCit9Ow0KKw0KK3N0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX2dhdGVfcmVncyBpbmZyYTVfY2dfcmVncyA9IHsNCisJLnNldF9vZnMg PSAweGUwLA0KKwkuY2xyX29mcyA9IDB4ZTQsDQorCS5zdGFfb2ZzID0gMHhlOCwNCit9Ow0KKw0K KyNkZWZpbmUgR0FURV9JTkZSQTAoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJXA0KKwlH QVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaW5mcmEwX2NnX3JlZ3MsIF9zaGlmdCwJXA0K KwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KKyNkZWZpbmUgR0FURV9JTkZSQTEoX2lk LCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFy ZW50LCAmaW5mcmExX2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0 Y2xyKQ0KKw0KKyNkZWZpbmUgR0FURV9JTkZSQTIoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0 KQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaW5mcmEyX2NnX3JlZ3MsIF9z aGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KKyNkZWZpbmUgR0FURV9J TkZSQTMoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJXA0KKwlHQVRFX01USyhfaWQsIF9u YW1lLCBfcGFyZW50LCAmaW5mcmEzX2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0 ZV9vcHNfc2V0Y2xyKQ0KKw0KKyNkZWZpbmUgR0FURV9JTkZSQTQoX2lkLCBfbmFtZSwgX3BhcmVu dCwgX3NoaWZ0KQkJXA0KKwlHQVRFX01USyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaW5mcmE0X2Nn X3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KKyNkZWZp bmUgR0FURV9JTkZSQTUoX2lkLCBfbmFtZSwgX3BhcmVudCwgX3NoaWZ0KQkJXA0KKwlHQVRFX01U SyhfaWQsIF9uYW1lLCBfcGFyZW50LCAmaW5mcmE1X2NnX3JlZ3MsIF9zaGlmdCwJXA0KKwkJJm10 a19jbGtfZ2F0ZV9vcHNfc2V0Y2xyKQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUg aW5mcmFfY2xrc1tdID0gew0KKwkvKiBJTkZSQTAgKi8NCisJR0FURV9JTkZSQTAoQ0xLX0lORlJB X1BNSUNfVE1SLCAiaW5mcmFfcG1pY190bXIiLA0KKwkJInB3cmFwX3VscG9zY19zZWwiLCAwKSwN CisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BNSUNfQVAsICJpbmZyYV9wbWljX2FwIiwNCisJCSJw d3JhcF91bHBvc2Nfc2VsIiwgMSksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9QTUlDX01ELCAi aW5mcmFfcG1pY19tZCIsDQorCQkicHdyYXBfdWxwb3NjX3NlbCIsIDIpLA0KKwlHQVRFX0lORlJB MChDTEtfSU5GUkFfUE1JQ19DT05OLCAiaW5mcmFfcG1pY19jb25uIiwNCisJCSJwd3JhcF91bHBv c2Nfc2VsIiwgMyksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9TQ1BTWVMsICJpbmZyYV9zY3Bz eXMiLA0KKwkJInNjcF9zZWwiLCA0KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1NFSiwgImlu ZnJhX3NlaiIsDQorCQkiYXhpX3NlbCIsIDUpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfQVBY R1BULCAiaW5mcmFfYXB4Z3B0IiwNCisJCSJheGlfc2VsIiwgNiksDQorCUdBVEVfSU5GUkEwKENM S19JTkZSQV9NQ1VQTSwgImluZnJhX21jdXBtIiwNCisJCSJtY3VwbV9zZWwiLCA3KSwNCisJR0FU RV9JTkZSQTAoQ0xLX0lORlJBX0dDRSwgImluZnJhX2djZSIsDQorCQkiYXhpX3NlbCIsIDgpLA0K KwlHQVRFX0lORlJBMChDTEtfSU5GUkFfR0NFMiwgImluZnJhX2djZTIiLA0KKwkJImF4aV9zZWwi LCA5KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1RIRVJNLCAiaW5mcmFfdGhlcm0iLA0KKwkJ ImF4aV9zZWwiLCAxMCksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9JMkMwLCAiaW5mcmFfaTJj MCIsDQorCQkiaTJjX3NlbCIsIDExKSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX0FQX0RNQV9Q U0VVRE8sICJpbmZyYV9hcF9kbWFfcHNldWRvIiwNCisJCSJheGlfc2VsIiwgMTIpLA0KKwlHQVRF X0lORlJBMChDTEtfSU5GUkFfSTJDMiwgImluZnJhX2kyYzIiLA0KKwkJImkyY19zZWwiLCAxMyks DQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9JMkMzLCAiaW5mcmFfaTJjMyIsDQorCQkiaTJjX3Nl bCIsIDE0KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTV9ILCAiaW5mcmFfcHdtX2giLA0K KwkJImF4aV9zZWwiLCAxNSksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9QV00xLCAiaW5mcmFf cHdtMSIsDQorCQkicHdtX3NlbCIsIDE2KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1BXTTIs ICJpbmZyYV9wd20yIiwNCisJCSJwd21fc2VsIiwgMTcpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5G UkFfUFdNMywgImluZnJhX3B3bTMiLA0KKwkJInB3bV9zZWwiLCAxOCksDQorCUdBVEVfSU5GUkEw KENMS19JTkZSQV9QV000LCAiaW5mcmFfcHdtNCIsDQorCQkicHdtX3NlbCIsIDE5KSwNCisJR0FU RV9JTkZSQTAoQ0xLX0lORlJBX1BXTSwgImluZnJhX3B3bSIsDQorCQkicHdtX3NlbCIsIDIxKSwN CisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX1VBUlQwLCAiaW5mcmFfdWFydDAiLA0KKwkJInVhcnRf c2VsIiwgMjIpLA0KKwlHQVRFX0lORlJBMChDTEtfSU5GUkFfVUFSVDEsICJpbmZyYV91YXJ0MSIs DQorCQkidWFydF9zZWwiLCAyMyksDQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9VQVJUMiwgImlu ZnJhX3VhcnQyIiwNCisJCSJ1YXJ0X3NlbCIsIDI0KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJB X1VBUlQzLCAiaW5mcmFfdWFydDMiLA0KKwkJInVhcnRfc2VsIiwgMjUpLA0KKwlHQVRFX0lORlJB MChDTEtfSU5GUkFfR0NFXzI2TSwgImluZnJhX2djZV8yNm0iLA0KKwkJImF4aV9zZWwiLCAyNyks DQorCUdBVEVfSU5GUkEwKENMS19JTkZSQV9DUV9ETUFfRlBDLCAiaW5mcmFfY3FfZG1hX2ZwYyIs DQorCQkiYXhpX3NlbCIsIDI4KSwNCisJR0FURV9JTkZSQTAoQ0xLX0lORlJBX0JUSUYsICJpbmZy YV9idGlmIiwNCisJCSJheGlfc2VsIiwgMzEpLA0KKwkvKiBJTkZSQTEgKi8NCisJR0FURV9JTkZS QTEoQ0xLX0lORlJBX1NQSTAsICJpbmZyYV9zcGkwIiwNCisJCSJzcGlfc2VsIiwgMSksDQorCUdB VEVfSU5GUkExKENMS19JTkZSQV9NU0RDMCwgImluZnJhX21zZGMwIiwNCisJCSJtc2RjNTBfMF9o X3NlbCIsIDIpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfTVNEQzEsICJpbmZyYV9tc2RjMSIs DQorCQkibXNkYzUwXzBfaF9zZWwiLCA0KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX01TREMy LCAiaW5mcmFfbXNkYzIiLA0KKwkJIm1zZGM1MF8wX2hfc2VsIiwgNSksDQorCUdBVEVfSU5GUkEx KENMS19JTkZSQV9NU0RDMF9TUkMsICJpbmZyYV9tc2RjMF9zcmMiLA0KKwkJIm1zZGM1MF8wX3Nl bCIsIDYpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfR0NQVSwgImluZnJhX2djcHUiLA0KKwkJ ImF4aV9zZWwiLCA4KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX1RSTkcsICJpbmZyYV90cm5n IiwNCisJCSJheGlfc2VsIiwgOSksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9BVVhBREMsICJp bmZyYV9hdXhhZGMiLA0KKwkJImNsazI2bSIsIDEwKSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJB X0NQVU0sICJpbmZyYV9jcHVtIiwNCisJCSJheGlfc2VsIiwgMTEpLA0KKwlHQVRFX0lORlJBMShD TEtfSU5GUkFfQ0NJRjFfQVAsICJpbmZyYV9jY2lmMV9hcCIsDQorCQkiYXhpX3NlbCIsIDEyKSwN CisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0NDSUYxX01ELCAiaW5mcmFfY2NpZjFfbWQiLA0KKwkJ ImF4aV9zZWwiLCAxMyksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9BVVhBRENfTUQsICJpbmZy YV9hdXhhZGNfbWQiLA0KKwkJImNsazI2bSIsIDE0KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJB X1BDSUVfVExfMjZNLCAiaW5mcmFfcGNpZV90bF8yNm0iLA0KKwkJImF4aV9zZWwiLCAxNSksDQor CUdBVEVfSU5GUkExKENMS19JTkZSQV9NU0RDMV9TUkMsICJpbmZyYV9tc2RjMV9zcmMiLA0KKwkJ Im1zZGMzMF8xX3NlbCIsIDE2KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX01TREMyX1NSQywg ImluZnJhX21zZGMyX3NyYyIsDQorCQkibXNkYzMwXzJfc2VsIiwgMTcpLA0KKwlHQVRFX0lORlJB MShDTEtfSU5GUkFfUENJRV9UTF85Nk0sICJpbmZyYV9wY2llX3RsXzk2bSIsDQorCQkiYXhpX3Nl bCIsIDE4KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX1BDSUVfUExfUF8yNTBNLCAiaW5mcmFf cGNpZV9wbF9wXzI1MG0iLA0KKwkJImF4aV9zZWwiLCAxOSksDQorCUdBVEVfSU5GUkExKENMS19J TkZSQV9ERVZJQ0VfQVBDLCAiaW5mcmFfZGV2aWNlX2FwYyIsDQorCQkiYXhpX3NlbCIsIDIwKSwN CisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0NDSUZfQVAsICJpbmZyYV9jY2lmX2FwIiwNCisJCSJh eGlfc2VsIiwgMjMpLA0KKwlHQVRFX0lORlJBMShDTEtfSU5GUkFfREVCVUdTWVMsICJpbmZyYV9k ZWJ1Z3N5cyIsDQorCQkiYXhpX3NlbCIsIDI0KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0FV RElPLCAiaW5mcmFfYXVkaW8iLA0KKwkJImF4aV9zZWwiLCAyNSksDQorCUdBVEVfSU5GUkExKENM S19JTkZSQV9DQ0lGX01ELCAiaW5mcmFfY2NpZl9tZCIsDQorCQkiYXhpX3NlbCIsIDI2KSwNCisJ R0FURV9JTkZSQTEoQ0xLX0lORlJBX0RYQ0NfU0VDX0NPUkUsICJpbmZyYV9keGNjX3NlY19jb3Jl IiwNCisJCSJkeGNjX3NlbCIsIDI3KSwNCisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0RYQ0NfQU8s ICJpbmZyYV9keGNjX2FvIiwNCisJCSJkeGNjX3NlbCIsIDI4KSwNCisJR0FURV9JTkZSQTEoQ0xL X0lORlJBX0RCR19UUkFDRSwgImluZnJhX2RiZ190cmFjZSIsDQorCQkiYXhpX3NlbCIsIDI5KSwN CisJR0FURV9JTkZSQTEoQ0xLX0lORlJBX0RFVk1QVV9CLCAiaW5mcmFfZGV2bXB1X2IiLA0KKwkJ ImF4aV9zZWwiLCAzMCksDQorCUdBVEVfSU5GUkExKENMS19JTkZSQV9EUkFNQ19GMjZNLCAiaW5m cmFfZHJhbWNfZjI2bSIsDQorCQkiY2xrMjZtIiwgMzEpLA0KKwkvKiBJTkZSQTIgKi8NCisJR0FU RV9JTkZSQTIoQ0xLX0lORlJBX0lSVFgsICJpbmZyYV9pcnR4IiwNCisJCSJjbGsyNm0iLCAwKSwN CisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1NTVVNCLCAiaW5mcmFfc3N1c2IiLA0KKwkJInVzYl90 b3Bfc2VsIiwgMSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9ESVNQX1BXTSwgImluZnJhX2Rp c3BfcHdtIiwNCisJCSJheGlfc2VsIiwgMiksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9DTERN QV9CLCAiaW5mcmFfY2xkbWFfYiIsDQorCQkiYXhpX3NlbCIsIDMpLA0KKwlHQVRFX0lORlJBMihD TEtfSU5GUkFfQVVESU9fMjZNX0IsICJpbmZyYV9hdWRpb18yNm1fYiIsDQorCQkiY2xrMjZtIiwg NCksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9NT0RFTV9URU1QX1NIQVJFLCAiaW5mcmFfbW9k ZW1fdGVtcF9zaGFyZSIsDQorCQkiY2xrMjZtIiwgNSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZS QV9TUEkxLCAiaW5mcmFfc3BpMSIsDQorCQkic3BpX3NlbCIsIDYpLA0KKwlHQVRFX0lORlJBMihD TEtfSU5GUkFfSTJDNCwgImluZnJhX2kyYzQiLA0KKwkJImkyY19zZWwiLCA3KSwNCisJR0FURV9J TkZSQTIoQ0xLX0lORlJBX1NQSTIsICJpbmZyYV9zcGkyIiwNCisJCSJzcGlfc2VsIiwgOSksDQor CUdBVEVfSU5GUkEyKENMS19JTkZSQV9TUEkzLCAiaW5mcmFfc3BpMyIsDQorCQkic3BpX3NlbCIs IDEwKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1VOSVBST19TWVMsICJpbmZyYV91bmlwcm9f c3lzIiwNCisJCSJ1ZnNfc2VsIiwgMTEpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfVU5JUFJP X1RJQ0ssICJpbmZyYV91bmlwcm9fdGljayIsDQorCQkiY2xrMjZtIiwgMTIpLA0KKwlHQVRFX0lO RlJBMihDTEtfSU5GUkFfVUZTX01QX1NBUF9CLCAiaW5mcmFfdWZzX21wX3NhcF9iIiwNCisJCSJj bGsyNm0iLCAxMyksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9NRDMyX0IsICJpbmZyYV9tZDMy X2IiLA0KKwkJImF4aV9zZWwiLCAxNCksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9TU1BNLCAi aW5mcmFfc3NwbSIsDQorCQkic3NwbV9zZWwiLCAxNSksDQorCUdBVEVfSU5GUkEyKENMS19JTkZS QV9VTklQUk9fTUJJU1QsICJpbmZyYV91bmlwcm9fbWJpc3QiLA0KKwkJImF4aV9zZWwiLCAxNiks DQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9TU1BNX0JVU19ILCAiaW5mcmFfc3NwbV9idXNfaCIs DQorCQkiYXhpX3NlbCIsIDE3KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX0kyQzUsICJpbmZy YV9pMmM1IiwNCisJCSJpMmNfc2VsIiwgMTgpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5GUkFfSTJD NV9BUkJJVEVSLCAiaW5mcmFfaTJjNV9hcmJpdGVyIiwNCisJCSJpMmNfc2VsIiwgMTkpLA0KKwlH QVRFX0lORlJBMihDTEtfSU5GUkFfSTJDNV9JTU0sICJpbmZyYV9pMmM1X2ltbSIsDQorCQkiaTJj X3NlbCIsIDIwKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX0kyQzFfQVJCSVRFUiwgImluZnJh X2kyYzFfYXJiaXRlciIsDQorCQkiaTJjX3NlbCIsIDIxKSwNCisJR0FURV9JTkZSQTIoQ0xLX0lO RlJBX0kyQzFfSU1NLCAiaW5mcmFfaTJjMV9pbW0iLA0KKwkJImkyY19zZWwiLCAyMiksDQorCUdB VEVfSU5GUkEyKENMS19JTkZSQV9JMkMyX0FSQklURVIsICJpbmZyYV9pMmMyX2FyYml0ZXIiLA0K KwkJImkyY19zZWwiLCAyMyksDQorCUdBVEVfSU5GUkEyKENMS19JTkZSQV9JMkMyX0lNTSwgImlu ZnJhX2kyYzJfaW1tIiwNCisJCSJpMmNfc2VsIiwgMjQpLA0KKwlHQVRFX0lORlJBMihDTEtfSU5G UkFfU1BJNCwgImluZnJhX3NwaTQiLA0KKwkJInNwaV9zZWwiLCAyNSksDQorCUdBVEVfSU5GUkEy KENMS19JTkZSQV9TUEk1LCAiaW5mcmFfc3BpNSIsDQorCQkic3BpX3NlbCIsIDI2KSwNCisJR0FU RV9JTkZSQTIoQ0xLX0lORlJBX0NRX0RNQSwgImluZnJhX2NxX2RtYSIsDQorCQkiYXhpX3NlbCIs IDI3KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX1VGUywgImluZnJhX3VmcyIsDQorCQkidWZz X3NlbCIsIDI4KSwNCisJR0FURV9JTkZSQTIoQ0xLX0lORlJBX0FFU19VRlNGREUsICJpbmZyYV9h ZXNfdWZzZmRlIiwNCisJCSJhZXNfdWZzZmRlX3NlbCIsIDI5KSwNCisJR0FURV9JTkZSQTIoQ0xL X0lORlJBX1VGU19USUNLLCAiaW5mcmFfdWZzX3RpY2siLA0KKwkJInVmc19zZWwiLCAzMCksDQor CUdBVEVfSU5GUkEyKENMS19JTkZSQV9TU1VTQl9YSENJLCAiaW5mcmFfc3N1c2JfeGhjaSIsDQor CQkic3N1c2JfeGhjaV9zZWwiLCAzMSksDQorCS8qIElORlJBMyAqLw0KKwlHQVRFX0lORlJBMyhD TEtfSU5GUkFfTVNEQzBfU0VMRiwgImluZnJhX21zZGMwX3NlbGYiLA0KKwkJIm1zZGM1MF8wX3Nl bCIsIDApLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfTVNEQzFfU0VMRiwgImluZnJhX21zZGMx X3NlbGYiLA0KKwkJIm1zZGM1MF8wX3NlbCIsIDEpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFf TVNEQzJfU0VMRiwgImluZnJhX21zZGMyX3NlbGYiLA0KKwkJIm1zZGM1MF8wX3NlbCIsIDIpLA0K KwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfU1NQTV8yNk1fU0VMRiwgImluZnJhX3NzcG1fMjZtX3Nl bGYiLA0KKwkJImNsazI2bSIsIDMpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfU1NQTV8zMktf U0VMRiwgImluZnJhX3NzcG1fMzJrX3NlbGYiLA0KKwkJImNsazMyayIsIDQpLA0KKwlHQVRFX0lO RlJBMyhDTEtfSU5GUkFfVUZTX0FYSSwgImluZnJhX3Vmc19heGkiLA0KKwkJImF4aV9zZWwiLCA1 KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0kyQzYsICJpbmZyYV9pMmM2IiwNCisJCSJpMmNf c2VsIiwgNiksDQorCUdBVEVfSU5GUkEzKENMS19JTkZSQV9BUF9NU0RDMCwgImluZnJhX2FwX21z ZGMwIiwNCisJCSJtc2RjNTBfMF9zZWwiLCA3KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX01E X01TREMwLCAiaW5mcmFfbWRfbXNkYzAiLA0KKwkJIm1zZGM1MF8wX3NlbCIsIDgpLA0KKwlHQVRF X0lORlJBMyhDTEtfSU5GUkFfQ0NJRjVfQVAsICJpbmZyYV9jY2lmNV9hcCIsDQorCQkiYXhpX3Nl bCIsIDkpLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQ0NJRjVfTUQsICJpbmZyYV9jY2lmNV9t ZCIsDQorCQkiYXhpX3NlbCIsIDEwKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1BDSUVfVE9Q X0hfMTMzTSwgImluZnJhX3BjaWVfdG9wX2hfMTMzbSIsDQorCQkiYXhpX3NlbCIsIDExKSwNCisJ R0FURV9JTkZSQTMoQ0xLX0lORlJBX0ZMQVNISUZfVE9QX0hfMTMzTSwgImluZnJhX2ZsYXNoaWZf dG9wX2hfMTMzbSIsDQorCQkiYXhpX3NlbCIsIDE0KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJB X1BDSUVfUEVSSV8yNk0sICJpbmZyYV9wY2llX3BlcmlfMjZtIiwNCisJCSJheGlfc2VsIiwgMTUp LA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfQ0NJRjJfQVAsICJpbmZyYV9jY2lmMl9hcCIsDQor CQkiYXhpX3NlbCIsIDE2KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0NDSUYyX01ELCAiaW5m cmFfY2NpZjJfbWQiLA0KKwkJImF4aV9zZWwiLCAxNyksDQorCUdBVEVfSU5GUkEzKENMS19JTkZS QV9DQ0lGM19BUCwgImluZnJhX2NjaWYzX2FwIiwNCisJCSJheGlfc2VsIiwgMTgpLA0KKwlHQVRF X0lORlJBMyhDTEtfSU5GUkFfQ0NJRjNfTUQsICJpbmZyYV9jY2lmM19tZCIsDQorCQkiYXhpX3Nl bCIsIDE5KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1NFSl9GMTNNLCAiaW5mcmFfc2VqX2Yx M20iLA0KKwkJImNsazI2bSIsIDIwKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0FFUywgImlu ZnJhX2FlcyIsDQorCQkiYXhpX3NlbCIsIDIxKSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0ky QzcsICJpbmZyYV9pMmM3IiwNCisJCSJpMmNfc2VsIiwgMjIpLA0KKwlHQVRFX0lORlJBMyhDTEtf SU5GUkFfSTJDOCwgImluZnJhX2kyYzgiLA0KKwkJImkyY19zZWwiLCAyMyksDQorCUdBVEVfSU5G UkEzKENMS19JTkZSQV9GQklTVDJGUEMsICJpbmZyYV9mYmlzdDJmcGMiLA0KKwkJIm1zZGM1MF8w X3NlbCIsIDI0KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX0RFVklDRV9BUENfU1lOQywgImlu ZnJhX2RldmljZV9hcGNfc3luYyIsDQorCQkiYXhpX3NlbCIsIDI1KSwNCisJR0FURV9JTkZSQTMo Q0xLX0lORlJBX0RQTUFJRl9NQUlOLCAiaW5mcmFfZHBtYWlmX21haW4iLA0KKwkJImRwbWFpZl9t YWluX3NlbCIsIDI2KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1BDSUVfVExfMzJLLCAiaW5m cmFfcGNpZV90bF8zMmsiLA0KKwkJImF4aV9zZWwiLCAyNyksDQorCUdBVEVfSU5GUkEzKENMS19J TkZSQV9DQ0lGNF9BUCwgImluZnJhX2NjaWY0X2FwIiwNCisJCSJheGlfc2VsIiwgMjgpLA0KKwlH QVRFX0lORlJBMyhDTEtfSU5GUkFfQ0NJRjRfTUQsICJpbmZyYV9jY2lmNF9tZCIsDQorCQkiYXhp X3NlbCIsIDI5KSwNCisJR0FURV9JTkZSQTMoQ0xLX0lORlJBX1NQSTYsICJpbmZyYV9zcGk2IiwN CisJCSJzcGlfc2VsIiwgMzApLA0KKwlHQVRFX0lORlJBMyhDTEtfSU5GUkFfU1BJNywgImluZnJh X3NwaTciLA0KKwkJInNwaV9zZWwiLCAzMSksDQorCS8qIElORlJBNCAqLw0KKwlHQVRFX0lORlJB NChDTEtfSU5GUkFfQVBfRE1BLCAiaW5mcmFfYXBfZG1hIiwNCisJCSJpbmZyYV9hcF9kbWFfcHNl dWRvIiwgMzEpLA0KKwkvKiBJTkZSQTUgKi8NCisJR0FURV9JTkZSQTUoQ0xLX0lORlJBXzEzM00s ICJpbmZyYV8xMzNtIiwNCisJCSJheGlfc2VsIiwgMCksDQorCUdBVEVfSU5GUkE1KENMS19JTkZS QV82Nk0sICJpbmZyYV82Nm0iLA0KKwkJImF4aV9zZWwiLCAxKSwNCisJR0FURV9JTkZSQTUoQ0xL X0lORlJBXzY2TV9QRVJJX0JVUywgImluZnJhXzY2bV9wZXJpX2J1cyIsDQorCQkiYXhpX3NlbCIs IDIpLA0KKwlHQVRFX0lORlJBNShDTEtfSU5GUkFfRlJFRV9EQ01fMTMzTSwgImluZnJhX2ZyZWVf ZGNtXzEzM20iLA0KKwkJImF4aV9zZWwiLCAzKSwNCisJR0FURV9JTkZSQTUoQ0xLX0lORlJBX0ZS RUVfRENNXzY2TSwgImluZnJhX2ZyZWVfZGNtXzY2bSIsDQorCQkiYXhpX3NlbCIsIDQpLA0KKwlH QVRFX0lORlJBNShDTEtfSU5GUkFfUEVSSV9CVVNfRENNXzEzM00sICJpbmZyYV9wZXJpX2J1c19k Y21fMTMzbSIsDQorCQkiYXhpX3NlbCIsIDUpLA0KKwlHQVRFX0lORlJBNShDTEtfSU5GUkFfUEVS SV9CVVNfRENNXzY2TSwgImluZnJhX3BlcmlfYnVzX2RjbV82Nm0iLA0KKwkJImF4aV9zZWwiLCA2 KSwNCisJR0FURV9JTkZSQTUoQ0xLX0lORlJBX0ZMQVNISUZfUEVSSV8yNk0sICJpbmZyYV9mbGFz aGlmX3BlcmlfMjZtIiwNCisJCSJheGlfc2VsIiwgMzApLA0KKwlHQVRFX0lORlJBNShDTEtfSU5G UkFfRkxBU0hJRl9TRkxBU0gsICJpbmZyYV9mbGFzaGlmX2ZzZmxhc2giLA0KKwkJImF4aV9zZWwi LCAzMSksDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgcGVyaV9j Z19yZWdzID0gew0KKwkuc2V0X29mcyA9IDB4MjBjLA0KKwkuY2xyX29mcyA9IDB4MjBjLA0KKwku c3RhX29mcyA9IDB4MjBjLA0KK307DQorDQorI2RlZmluZSBHQVRFX1BFUkkoX2lkLCBfbmFtZSwg X3BhcmVudCwgX3NoaWZ0KQkJCVwNCisJR0FURV9NVEsoX2lkLCBfbmFtZSwgX3BhcmVudCwgJnBl cmlfY2dfcmVncywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19ub19zZXRjbHJfaW52 KQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgcGVyaV9jbGtzW10gPSB7DQorCUdB VEVfUEVSSShDTEtfUEVSSV9QRVJJQVhJLCAicGVyaV9wZXJpYXhpIiwgImF4aV9zZWwiLCAzMSks DQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IG10a19nYXRlX3JlZ3MgdG9wX2NnX3JlZ3Mg PSB7DQorCS5zZXRfb2ZzID0gMHgxNTAsDQorCS5jbHJfb2ZzID0gMHgxNTAsDQorCS5zdGFfb2Zz ID0gMHgxNTAsDQorfTsNCisNCisjZGVmaW5lIEdBVEVfVE9QKF9pZCwgX25hbWUsIF9wYXJlbnQs IF9zaGlmdCkJCQlcDQorCUdBVEVfTVRLKF9pZCwgX25hbWUsIF9wYXJlbnQsICZ0b3BfY2dfcmVn cywgX3NoaWZ0LAlcDQorCQkmbXRrX2Nsa19nYXRlX29wc19ub19zZXRjbHJfaW52KQ0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2dhdGUgdG9wX2Nsa3NbXSA9IHsNCisJR0FURV9UT1AoQ0xL X1RPUF9TU1VTQl9UT1BfUkVGLCAic3N1c2JfdG9wX3JlZiIsICJjbGsyNm0iLCAyNCksDQorCUdB VEVfVE9QKENMS19UT1BfU1NVU0JfUEhZX1JFRiwgInNzdXNiX3BoeV9yZWYiLCAiY2xrMjZtIiwg MjUpLA0KK307DQorDQorI2RlZmluZSBNVDgxOTJfUExMX0ZNQVgJCSgzODAwVUwgKiBNSFopDQor I2RlZmluZSBNVDgxOTJfUExMX0ZNSU4JCSgxNTAwVUwgKiBNSFopDQorI2RlZmluZSBNVDgxOTJf SU5URUdFUl9CSVRTCTgNCisNCisjZGVmaW5lIFBMTChfaWQsIF9uYW1lLCBfcmVnLCBfcHdyX3Jl ZywgX2VuX21hc2ssIF9mbGFncywJCVwNCisJCQlfcnN0X2Jhcl9tYXNrLCBfcGN3Yml0cywgX3Bk X3JlZywgX3BkX3NoaWZ0LAlcDQorCQkJX3R1bmVyX3JlZywgX3R1bmVyX2VuX3JlZywgX3R1bmVy X2VuX2JpdCwJXA0KKwkJCV9wY3dfcmVnLCBfcGN3X3NoaWZ0LCBfcGN3X2NoZ19yZWcsCQlcDQor CQkJX2VuX3JlZywgX3BsbF9lbl9iaXQpIHsJCQkJXA0KKwkJLmlkID0gX2lkLAkJCQkJCVwNCisJ CS5uYW1lID0gX25hbWUsCQkJCQkJXA0KKwkJLnJlZyA9IF9yZWcsCQkJCQkJXA0KKwkJLnB3cl9y ZWcgPSBfcHdyX3JlZywJCQkJCVwNCisJCS5lbl9tYXNrID0gX2VuX21hc2ssCQkJCQlcDQorCQku ZmxhZ3MgPSBfZmxhZ3MsCQkJCQlcDQorCQkucnN0X2Jhcl9tYXNrID0gX3JzdF9iYXJfbWFzaywJ CQkJXA0KKwkJLmZtYXggPSBNVDgxOTJfUExMX0ZNQVgsCQkJCVwNCisJCS5mbWluID0gTVQ4MTky X1BMTF9GTUlOLAkJCQlcDQorCQkucGN3Yml0cyA9IF9wY3diaXRzLAkJCQkJXA0KKwkJLnBjd2li aXRzID0gTVQ4MTkyX0lOVEVHRVJfQklUUywJCQlcDQorCQkucGRfcmVnID0gX3BkX3JlZywJCQkJ CVwNCisJCS5wZF9zaGlmdCA9IF9wZF9zaGlmdCwJCQkJCVwNCisJCS50dW5lcl9yZWcgPSBfdHVu ZXJfcmVnLAkJCQlcDQorCQkudHVuZXJfZW5fcmVnID0gX3R1bmVyX2VuX3JlZywJCQkJXA0KKwkJ LnR1bmVyX2VuX2JpdCA9IF90dW5lcl9lbl9iaXQsCQkJCVwNCisJCS5wY3dfcmVnID0gX3Bjd19y ZWcsCQkJCQlcDQorCQkucGN3X3NoaWZ0ID0gX3Bjd19zaGlmdCwJCQkJXA0KKwkJLnBjd19jaGdf cmVnID0gX3Bjd19jaGdfcmVnLAkJCQlcDQorCQkuZW5fcmVnID0gX2VuX3JlZywJCQkJCVwNCisJ CS5wbGxfZW5fYml0ID0gX3BsbF9lbl9iaXQsCQkJCVwNCisJfQ0KKw0KKyNkZWZpbmUgUExMX0Io X2lkLCBfbmFtZSwgX3JlZywgX3B3cl9yZWcsIF9lbl9tYXNrLCBfZmxhZ3MsCQlcDQorCQkJX3Jz dF9iYXJfbWFzaywgX3Bjd2JpdHMsIF9wZF9yZWcsIF9wZF9zaGlmdCwJXA0KKwkJCV90dW5lcl9y ZWcsIF90dW5lcl9lbl9yZWcsIF90dW5lcl9lbl9iaXQsCVwNCisJCQlfcGN3X3JlZywgX3Bjd19z aGlmdCkJCQkJXA0KKwkJUExMKF9pZCwgX25hbWUsIF9yZWcsIF9wd3JfcmVnLCBfZW5fbWFzaywg X2ZsYWdzLAlcDQorCQkJX3JzdF9iYXJfbWFzaywgX3Bjd2JpdHMsIF9wZF9yZWcsIF9wZF9zaGlm dCwJXA0KKwkJCV90dW5lcl9yZWcsIF90dW5lcl9lbl9yZWcsIF90dW5lcl9lbl9iaXQsCVwNCisJ CQlfcGN3X3JlZywgX3Bjd19zaGlmdCwgMCwgMCwgMCkNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0 IG10a19wbGxfZGF0YSBwbGxzW10gPSB7DQorCVBMTF9CKENMS19BUE1JWEVEX01BSU5QTEwsICJt YWlucGxsIiwgMHgwMzQwLCAweDAzNGMsIDB4ZmYwMDAwMDAsDQorCQlIQVZFX1JTVF9CQVIsIEJJ VCgyMyksIDIyLCAweDAzNDQsIDI0LCAwLCAwLCAwLCAweDAzNDQsIDApLA0KKwlQTExfQihDTEtf QVBNSVhFRF9VTklWUExMLCAidW5pdnBsbCIsIDB4MDMwOCwgMHgwMzE0LCAweGZmMDAwMDAwLA0K KwkJSEFWRV9SU1RfQkFSLCBCSVQoMjMpLCAyMiwgMHgwMzBjLCAyNCwgMCwgMCwgMCwgMHgwMzBj LCAwKSwNCisJUExMKENMS19BUE1JWEVEX1VTQlBMTCwgInVzYnBsbCIsIDB4MDNjNCwgMHgwM2Nj LCAweDAwMDAwMDAwLA0KKwkJMCwgMCwgMjIsIDB4MDNjNCwgMjQsIDAsIDAsIDAsIDB4MDNjNCwg MCwgMHgwM2M0LCAweDAzY2MsIDIpLA0KKwlQTExfQihDTEtfQVBNSVhFRF9NU0RDUExMLCAibXNk Y3BsbCIsIDB4MDM1MCwgMHgwMzVjLCAweDAwMDAwMDAwLA0KKwkJMCwgMCwgMjIsIDB4MDM1NCwg MjQsIDAsIDAsIDAsIDB4MDM1NCwgMCksDQorCVBMTF9CKENMS19BUE1JWEVEX01NUExMLCAibW1w bGwiLCAweDAzNjAsIDB4MDM2YywgMHhmZjAwMDAwMCwNCisJCUhBVkVfUlNUX0JBUiwgQklUKDIz KSwgMjIsIDB4MDM2NCwgMjQsIDAsIDAsIDAsIDB4MDM2NCwgMCksDQorCVBMTF9CKENMS19BUE1J WEVEX0FEU1BQTEwsICJhZHNwcGxsIiwgMHgwMzcwLCAweDAzN2MsIDB4ZmYwMDAwMDAsDQorCQlI QVZFX1JTVF9CQVIsIEJJVCgyMyksIDIyLCAweDAzNzQsIDI0LCAwLCAwLCAwLCAweDAzNzQsIDAp LA0KKwlQTExfQihDTEtfQVBNSVhFRF9NRkdQTEwsICJtZmdwbGwiLCAweDAyNjgsIDB4MDI3NCwg MHgwMDAwMDAwMCwNCisJCTAsIDAsIDIyLCAweDAyNmMsIDI0LCAwLCAwLCAwLCAweDAyNmMsIDAp LA0KKwlQTExfQihDTEtfQVBNSVhFRF9UVkRQTEwsICJ0dmRwbGwiLCAweDAzODAsIDB4MDM4Yywg MHgwMDAwMDAwMCwNCisJCTAsIDAsIDIyLCAweDAzODQsIDI0LCAwLCAwLCAwLCAweDAzODQsIDAp LA0KKwlQTExfQihDTEtfQVBNSVhFRF9BUExMMSwgImFwbGwxIiwgMHgwMzE4LCAweDAzMjgsIDB4 MDAwMDAwMDAsDQorCQkwLCAwLCAzMiwgMHgwMzFjLCAyNCwgMHgwMDQwLCAweDAwMGMsIDAsIDB4 MDMyMCwgMCksDQorCVBMTF9CKENMS19BUE1JWEVEX0FQTEwyLCAiYXBsbDIiLCAweDAzMmMsIDB4 MDMzYywgMHgwMDAwMDAwMCwNCisJCTAsIDAsIDMyLCAweDAzMzAsIDI0LCAwLCAwLCAwLCAweDAz MzQsIDApLA0KK307DQorDQorc3RhdGljIHN0cnVjdCBjbGtfb25lY2VsbF9kYXRhICp0b3BfY2xr X2RhdGE7DQorDQorc3RhdGljIHZvaWQgY2xrX210ODE5Ml90b3BfaW5pdF9lYXJseShzdHJ1Y3Qg ZGV2aWNlX25vZGUgKm5vZGUpDQorew0KKwlpbnQgaTsNCisNCisJdG9wX2Nsa19kYXRhID0gbXRr X2FsbG9jX2Nsa19kYXRhKENMS19UT1BfTlJfQ0xLKTsNCisNCisJZm9yIChpID0gMDsgaSA8IENM S19UT1BfTlJfQ0xLOyBpKyspDQorCQl0b3BfY2xrX2RhdGEtPmNsa3NbaV0gPSBFUlJfUFRSKC1F UFJPQkVfREVGRVIpOw0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX2ZhY3RvcnModG9wX2Vhcmx5X2Rp dnMsIEFSUkFZX1NJWkUodG9wX2Vhcmx5X2RpdnMpLA0KKwkJCXRvcF9jbGtfZGF0YSk7DQorDQor CW9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgdG9wX2Ns a19kYXRhKTsNCit9DQorDQorQ0xLX09GX0RFQ0xBUkVfRFJJVkVSKG10ODE5Ml90b3Bja2dlbiwg Im1lZGlhdGVrLG10ODE5Mi10b3Bja2dlbiIsDQorCQkJY2xrX210ODE5Ml90b3BfaW5pdF9lYXJs eSk7DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX3RvcF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2 Lm9mX25vZGU7DQorCXZvaWQgX19pb21lbSAqYmFzZTsNCisNCisJYmFzZSA9IGRldm1fcGxhdGZv cm1faW9yZW1hcF9yZXNvdXJjZShwZGV2LCAwKTsNCisJaWYgKElTX0VSUihiYXNlKSkNCisJCXJl dHVybiBQVFJfRVJSKGJhc2UpOw0KKw0KKwltdGtfY2xrX3JlZ2lzdGVyX2ZpeGVkX2Nsa3ModG9w X2ZpeGVkX2Nsa3MsIEFSUkFZX1NJWkUodG9wX2ZpeGVkX2Nsa3MpLA0KKwkJCXRvcF9jbGtfZGF0 YSk7DQorCW10a19jbGtfcmVnaXN0ZXJfZmFjdG9ycyh0b3BfZWFybHlfZGl2cywgQVJSQVlfU0la RSh0b3BfZWFybHlfZGl2cyksDQorCQkJdG9wX2Nsa19kYXRhKTsNCisJbXRrX2Nsa19yZWdpc3Rl cl9mYWN0b3JzKHRvcF9kaXZzLCBBUlJBWV9TSVpFKHRvcF9kaXZzKSwgdG9wX2Nsa19kYXRhKTsN CisJbXRrX2Nsa19yZWdpc3Rlcl9tdXhlcyh0b3BfbXRrX211eGVzLCBBUlJBWV9TSVpFKHRvcF9t dGtfbXV4ZXMpLCBub2RlLA0KKwkJCSZtdDgxOTJfY2xrX2xvY2ssIHRvcF9jbGtfZGF0YSk7DQor DQorCW10a19jbGtfcmVnaXN0ZXJfY29tcG9zaXRlcyh0b3BfbXV4ZXMsIEFSUkFZX1NJWkUodG9w X211eGVzKSwgYmFzZSwNCisJCQkmbXQ4MTkyX2Nsa19sb2NrLCB0b3BfY2xrX2RhdGEpOw0KKwlt dGtfY2xrX3JlZ2lzdGVyX2NvbXBvc2l0ZXModG9wX2Fkal9kaXZzLCBBUlJBWV9TSVpFKHRvcF9h ZGpfZGl2cyksDQorCQkJYmFzZSwgJm10ODE5Ml9jbGtfbG9jaywgdG9wX2Nsa19kYXRhKTsNCisJ bXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCB0b3BfY2xrcywgQVJSQVlfU0laRSh0b3BfY2xr cyksDQorCQkJdG9wX2Nsa19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIo bm9kZSwgb2ZfY2xrX3NyY19vbmVjZWxsX2dldCwgdG9wX2Nsa19kYXRhKTsNCit9DQorDQorc3Rh dGljIGludCBjbGtfbXQ4MTkyX2luZnJhX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpDQorew0KKwlzdHJ1Y3QgY2xrX29uZWNlbGxfZGF0YSAqY2xrX2RhdGE7DQorCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqbm9kZSA9IHBkZXYtPmRldi5vZl9ub2RlOw0KKw0KKwljbGtfZGF0YSA9IG10 a19hbGxvY19jbGtfZGF0YShDTEtfSU5GUkFfTlJfQ0xLKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rl cl9nYXRlcyhub2RlLCBpbmZyYV9jbGtzLCBBUlJBWV9TSVpFKGluZnJhX2Nsa3MpLA0KKwkJCWNs a19kYXRhKTsNCisNCisJcmV0dXJuIG9mX2Nsa19hZGRfcHJvdmlkZXIobm9kZSwgb2ZfY2xrX3Ny Y19vbmVjZWxsX2dldCwgY2xrX2RhdGEpOw0KK30NCisNCitzdGF0aWMgaW50IGNsa19tdDgxOTJf cGVyaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KK3sNCisJc3RydWN0IGNs a19vbmVjZWxsX2RhdGEgKmNsa19kYXRhOw0KKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBw ZGV2LT5kZXYub2Zfbm9kZTsNCisNCisJY2xrX2RhdGEgPSBtdGtfYWxsb2NfY2xrX2RhdGEoQ0xL X1BFUklfTlJfQ0xLKTsNCisNCisJbXRrX2Nsa19yZWdpc3Rlcl9nYXRlcyhub2RlLCBwZXJpX2Ns a3MsIEFSUkFZX1NJWkUocGVyaV9jbGtzKSwNCisJCQljbGtfZGF0YSk7DQorDQorCXJldHVybiBv Zl9jbGtfYWRkX3Byb3ZpZGVyKG5vZGUsIG9mX2Nsa19zcmNfb25lY2VsbF9nZXQsIGNsa19kYXRh KTsNCit9DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX2FwbWl4ZWRfcHJvYmUoc3RydWN0IHBs YXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0cnVjdCBjbGtfb25lY2VsbF9kYXRhICpjbGtf ZGF0YTsNCisJc3RydWN0IGRldmljZV9ub2RlICpub2RlID0gcGRldi0+ZGV2Lm9mX25vZGU7DQor DQorCWNsa19kYXRhID0gbXRrX2FsbG9jX2Nsa19kYXRhKENMS19BUE1JWEVEX05SX0NMSyk7DQor DQorCW10a19jbGtfcmVnaXN0ZXJfcGxscyhub2RlLCBwbGxzLCBBUlJBWV9TSVpFKHBsbHMpLCBj bGtfZGF0YSk7DQorCW10a19jbGtfcmVnaXN0ZXJfZ2F0ZXMobm9kZSwgYXBtaXhlZF9jbGtzLCBB UlJBWV9TSVpFKGFwbWl4ZWRfY2xrcyksDQorCQkJY2xrX2RhdGEpOw0KKw0KKwlyZXR1cm4gb2Zf Y2xrX2FkZF9wcm92aWRlcihub2RlLCBvZl9jbGtfc3JjX29uZWNlbGxfZ2V0LCBjbGtfZGF0YSk7 DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIG9mX21hdGNoX2Nsa19t dDgxOTJbXSA9IHsNCisJew0KKwkJLmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTkyLWFwbWl4 ZWRzeXMiLA0KKwkJLmRhdGEgPSBjbGtfbXQ4MTkyX2FwbWl4ZWRfcHJvYmUsDQorCX0sIHsNCisJ CS5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5Mi10b3Bja2dlbiIsDQorCQkuZGF0YSA9IGNs a19tdDgxOTJfdG9wX3Byb2JlLA0KKwl9LCB7DQorCQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxt dDgxOTItaW5mcmFjZmciLA0KKwkJLmRhdGEgPSBjbGtfbXQ4MTkyX2luZnJhX3Byb2JlLA0KKwl9 LCB7DQorCQkuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxOTItcGVyaWNmZyIsDQorCQkuZGF0 YSA9IGNsa19tdDgxOTJfcGVyaV9wcm9iZSwNCisJfSwgew0KKwkJLyogc2VudGluZWwgKi8NCisJ fQ0KK307DQorDQorc3RhdGljIGludCBjbGtfbXQ4MTkyX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpDQorew0KKwlpbnQgKCpjbGtfcHJvYmUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpOw0KKwlpbnQgcjsNCisNCisJY2xrX3Byb2JlID0gb2ZfZGV2aWNlX2dldF9tYXRj aF9kYXRhKCZwZGV2LT5kZXYpOw0KKwlpZiAoIWNsa19wcm9iZSkNCisJCXJldHVybiAtRUlOVkFM Ow0KKw0KKwlyID0gY2xrX3Byb2JlKHBkZXYpOw0KKwlpZiAocikNCisJCWRldl9lcnIoJnBkZXYt PmRldiwNCisJCQkiY291bGQgbm90IHJlZ2lzdGVyIGNsb2NrIHByb3ZpZGVyOiAlczogJWRcbiIs DQorCQkJcGRldi0+bmFtZSwgcik7DQorDQorCXJldHVybiByOw0KK30NCisNCitzdGF0aWMgc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciBjbGtfbXQ4MTkyX2RydiA9IHsNCisJLnByb2JlID0gY2xrX210 ODE5Ml9wcm9iZSwNCisJLmRyaXZlciA9IHsNCisJCS5uYW1lID0gImNsay1tdDgxOTIiLA0KKwkJ Lm9mX21hdGNoX3RhYmxlID0gb2ZfbWF0Y2hfY2xrX210ODE5MiwNCisJfSwNCit9Ow0KKw0KK3N0 YXRpYyBpbnQgX19pbml0IGNsa19tdDgxOTJfaW5pdCh2b2lkKQ0KK3sNCisJcmV0dXJuIHBsYXRm b3JtX2RyaXZlcl9yZWdpc3RlcigmY2xrX210ODE5Ml9kcnYpOw0KK30NCisNCithcmNoX2luaXRj YWxsKGNsa19tdDgxOTJfaW5pdCk7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsv Y2xrLW11eC5oIGIvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW11eC5oDQppbmRleCBmNTYyNWY0 Li5hZmJjN2RmIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jbGsvbWVkaWF0ZWsvY2xrLW11eC5oDQor KysgYi9kcml2ZXJzL2Nsay9tZWRpYXRlay9jbGstbXV4LmgNCkBAIC03Nyw2ICs3NywyMSBAQCBz dHJ1Y3QgbXRrX211eCB7DQogCQkJX3dpZHRoLCBfZ2F0ZSwgX3VwZF9vZnMsIF91cGQsCQkJXA0K IAkJCUNMS19TRVRfUkFURV9QQVJFTlQpDQogDQorI2RlZmluZSBNVVhfQ0xSX1NFVF9VUERfRkxB R1MoX2lkLCBfbmFtZSwgX3BhcmVudHMsIF9tdXhfb2ZzLAkJXA0KKwkJCV9tdXhfc2V0X29mcywg X211eF9jbHJfb2ZzLCBfc2hpZnQsIF93aWR0aCwJXA0KKwkJCV91cGRfb2ZzLCBfdXBkLCBfZmxh Z3MpCQkJCVwNCisJCUdBVEVfQ0xSX1NFVF9VUERfRkxBR1MoX2lkLCBfbmFtZSwgX3BhcmVudHMs IF9tdXhfb2ZzLAlcDQorCQkJX211eF9zZXRfb2ZzLCBfbXV4X2Nscl9vZnMsIF9zaGlmdCwgX3dp ZHRoLAlcDQorCQkJMCwgX3VwZF9vZnMsIF91cGQsIF9mbGFncywJCQlcDQorCQkJbXRrX211eF9j bHJfc2V0X3VwZF9vcHMpDQorDQorI2RlZmluZSBNVVhfQ0xSX1NFVF9VUEQoX2lkLCBfbmFtZSwg X3BhcmVudHMsIF9tdXhfb2ZzLAkJCVwNCisJCQlfbXV4X3NldF9vZnMsIF9tdXhfY2xyX29mcywg X3NoaWZ0LCBfd2lkdGgsCVwNCisJCQlfdXBkX29mcywgX3VwZCkJCQkJCVwNCisJCU1VWF9DTFJf U0VUX1VQRF9GTEFHUyhfaWQsIF9uYW1lLCBfcGFyZW50cywJCVwNCisJCQlfbXV4X29mcywgX211 eF9zZXRfb2ZzLCBfbXV4X2Nscl9vZnMsIF9zaGlmdCwJXA0KKwkJCV93aWR0aCwgX3VwZF9vZnMs IF91cGQsCUNMS19TRVRfUkFURV9QQVJFTlQpDQorDQogc3RydWN0IGNsayAqbXRrX2Nsa19yZWdp c3Rlcl9tdXgoY29uc3Qgc3RydWN0IG10a19tdXggKm11eCwNCiAJCQkJIHN0cnVjdCByZWdtYXAg KnJlZ21hcCwNCiAJCQkJIHNwaW5sb2NrX3QgKmxvY2spOw0KLS0gDQoxLjguMS4xLmRpcnR5DQo=