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=-13.7 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,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 E2810C433E0 for ; Wed, 3 Mar 2021 15:35:23 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 21F8864EC3 for ; Wed, 3 Mar 2021 15:35:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 21F8864EC3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:To:From:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=R1KqP0HJ2+jHcGDUf6GdRGnjbm7Q/3LcC1YhQ9BWZfg=; b=IPbVD25zg2utFss3/caVlZqoi drCDc3eMRE20lsriqUohQ2BGVBNcq0hFXWxT2NgF0++Pw+HJYBnIqBdnXBr4nU1r7EBG/u+2XT9hR /07tyjmladXnSbypHmtBCnYcjYXad6W1lDqsTuG7yzxzsNTusVOvCs1X8ygQVLczZzxoidSdaKeit jiazao8HY+iIQFbwoPcmdmvRGUb2Vx920ob/rkzxLFH3oP6LJiKxS9Y5Z1GMM4xrVIyn+Un6D+0+k a4SYG8eMBwOw67ujwyKRGaLqo3Ov+zieV4uMOkSfbW3rDfqEIrlcopeDer3mwCQZ/+QkOjz2bOjmW iRXTH+ngw==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lHTVD-005P0R-CL; Wed, 03 Mar 2021 15:33:31 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHSSY-0057oU-1H for linux-arm-kernel@desiato.infradead.org; Wed, 03 Mar 2021 14:26:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:To:From:Sender: Reply-To:Cc:Content-ID:Content-Description; bh=RVjAv1xDPwleV4qMqqYwljHEq/BjHHNLT7OwMd0ibR4=; b=dlCJWFFVQy9+npp02SWrj8DTFf IumkaeOejRm7vkn1n0zIP6ldH898/CZPBPgbdqiBBlbkiRQF8VoUbJgH1Ip1FCaApeCZuSTt/LfME hcxrFUeotaHii1l+h0WvVH6YoCVTWDdhnSXMWTHuWHYe6VfOWqyJZcBnqBtMq6uEI6jGcS+7dAU4o 1TBooqmcfqf+esciDF+qD2vPaqbfteQWVynF3TixwxZ2u+zDlWPnTVHCeqj5Bg2dp+fmXQnSAiRvC /ABumWIlX9Boj9yMH2kxjctSEgOcDH/oqrjdfPq38yLUv8A0ECsT74Uo6NuZIXtIljyibTy2TSbuQ HOytjvuw==; Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lHSQI-002vyK-0g for linux-arm-kernel@lists.infradead.org; Wed, 03 Mar 2021 14:24:26 +0000 Received: by mail-wr1-x433.google.com with SMTP id l12so23880314wry.2 for ; Wed, 03 Mar 2021 06:24:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=RVjAv1xDPwleV4qMqqYwljHEq/BjHHNLT7OwMd0ibR4=; b=a6EBi6UuH53QxWi9pBj0oGwBLFRibJl9wdOwb2fe/GeYqsyG/AZfvrqV8INojdIAbv Os6eOP7ykY7ykv/I9GQjMh/afmEAqeaa/xR94N4Jwe+7R7Fa4ZP8Ww9sL78/8lAbkNSf 2Ag3+VLsQ4TONb2yrpu5d7qugHBGMJUuUIRKthitsR3rV4a2BtG/KKpCdaPg2e/0CKYB KWBYTZL+6wKR919X77LWod1BFyPRDHqR9qVUo9GQkzLWIO/UqMvRfSK4nWvbO3601v+J 5HysQ1hm6H81KTddP2sJKafzCBwp0cMUcC97yxWwBrye9jnYAmpDMyngPwfnW6ZM+sx6 +3vw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RVjAv1xDPwleV4qMqqYwljHEq/BjHHNLT7OwMd0ibR4=; b=iwAqz+gOCZYT2dYMrL7k++UXGfEoycqHfdJzthOythIV0zNsp8c4qaNK79wM3jPMW+ 0j3nNn1uku5M8C6+5TiHflK7Kl+bVvmuCDV0Pgc4kWDBstalBZYCy3k8+ytqqa4LPDzv XWXz232Aqne1p8diN0zQJPK2mwIcQ0BBT4CufWUpZDZiB8NBBfE1EmVmj3eLWiDe0/br q5+ZoYJpxIDQWV+3WzapdSoJopTlWttEMUdDKtcYebIRb7xRpx8vfogT1fQb38xUFSy5 6+5aehv+42Mh3OcxgRYLw1SxGHwHv3Q9ZuS1TrRxTP2V8JCal23Xa1xbrS/Zu7bGmjrz krRA== X-Gm-Message-State: AOAM530I+DinWtKc0joypznAlsJXO5UC7Eln8llafG6QnAIeAhVh2+Qa 2+jTToACu4OHO3eVuPDhjdc= X-Google-Smtp-Source: ABdhPJztON5tM4LfNvxYRP1I2EkdJj+6wACVu0oa+n0iZKJ3BXofZKWDQhYQBFPoxWGA7yQ3aLLaRw== X-Received: by 2002:a5d:6307:: with SMTP id i7mr13312273wru.305.1614781397329; Wed, 03 Mar 2021 06:23:17 -0800 (PST) Received: from skynet.lan (170.red-88-1-105.dynamicip.rima-tde.net. [88.1.105.170]) by smtp.gmail.com with ESMTPSA id b15sm7876219wmd.41.2021.03.03.06.23.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 03 Mar 2021 06:23:16 -0800 (PST) From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= To: Linus Walleij , Rob Herring , Michael Walle , Bartosz Golaszewski , Florian Fainelli , bcm-kernel-feedback-list@broadcom.com, Jonas Gorski , =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= , Necip Fazil Yildiran , linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH v3 06/14] pinctrl: add a pincontrol driver for BCM6358 Date: Wed, 3 Mar 2021 15:23:02 +0100 Message-Id: <20210303142310.6371-7-noltari@gmail.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210303142310.6371-1-noltari@gmail.com> References: <20210303142310.6371-1-noltari@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210303_142426_514169_E21E9D17 X-CRM114-Status: GOOD ( 23.48 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org QWRkIGEgcGluY290cm9sIGRyaXZlciBmb3IgQkNNNjM1OC4gQkNNNjM1OCBhbGxvdyBvdmVybGF5 aW5nIGRpZmZlcmVudApmdW5jdGlvbnMgb250byB0aGUgR1BJTyBwaW5zLiBJdCBkb2VzIG5vdCBz dXBwb3J0IGNvbmZpZ3VyaW5nIGluZGl2aWR1YWwKcGlucyBidXQgb25seSB3aG9sZSBncm91cHMu IFRoZXNlIGdyb3VwcyBtYXkgb3ZlcmxhcCwgYW5kIHN0aWxsIHJlcXVpcmUKdGhlIGRpcmVjdGlv bnMgdG8gYmUgc2V0IGNvcnJlY3RseSBpbiB0aGUgR1BJTyByZWdpc3Rlci4gSW4gYWRkaXRpb24g dGhlCmZ1bmN0aW9ucyByZWdpc3RlciBjb250cm9scyBvdGhlciwgbm90IGRpcmVjdGx5IG11eCBy ZWxhdGVkIGZ1bmN0aW9ucy4KClNpZ25lZC1vZmYtYnk6IMOBbHZhcm8gRmVybsOhbmRleiBSb2ph cyA8bm9sdGFyaUBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEpvbmFzIEdvcnNraSA8am9uYXMu Z29yc2tpQGdtYWlsLmNvbT4KLS0tCiB2MzogdXNlIG5ldyBzaGFyZWQgY29kZQogdjI6IHN3aXRj aCB0byBHUElPX1JFR01BUAoKIGRyaXZlcnMvcGluY3RybC9iY20vS2NvbmZpZyAgICAgICAgICAg fCAgIDggKwogZHJpdmVycy9waW5jdHJsL2JjbS9NYWtlZmlsZSAgICAgICAgICB8ICAgMSArCiBk cml2ZXJzL3BpbmN0cmwvYmNtL3BpbmN0cmwtYmNtNjM1OC5jIHwgMzY5ICsrKysrKysrKysrKysr KysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDM3OCBpbnNlcnRpb25zKCspCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9waW5jdHJsL2JjbS9waW5jdHJsLWJjbTYzNTguYwoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvcGluY3RybC9iY20vS2NvbmZpZyBiL2RyaXZlcnMvcGluY3RybC9iY20v S2NvbmZpZwppbmRleCBhZThhODc4MGQ0NTQuLjIzODIzODM3MzJhYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9waW5jdHJsL2JjbS9LY29uZmlnCisrKyBiL2RyaXZlcnMvcGluY3RybC9iY20vS2NvbmZp ZwpAQCAtNDYsNiArNDYsMTQgQEAgY29uZmlnIFBJTkNUUkxfQkNNNjMyOAogCWhlbHAKIAkgICBT YXkgWSBoZXJlIHRvIGVuYWJsZSB0aGUgQnJvYWRjb20gQkNNNjMyOCBHUElPIGRyaXZlci4KIAor Y29uZmlnIFBJTkNUUkxfQkNNNjM1OAorCWJvb2wgIkJyb2FkY29tIEJDTTYzNTggR1BJTyBkcml2 ZXIiCisJZGVwZW5kcyBvbiAoQk1JUFNfR0VORVJJQyB8fCBDT01QSUxFX1RFU1QpCisJc2VsZWN0 IFBJTkNUUkxfQkNNNjNYWAorCWRlZmF1bHQgQk1JUFNfR0VORVJJQworCWhlbHAKKwkgICBTYXkg WSBoZXJlIHRvIGVuYWJsZSB0aGUgQnJvYWRjb20gQkNNNjM1OCBHUElPIGRyaXZlci4KKwogY29u ZmlnIFBJTkNUUkxfSVBST0NfR1BJTwogCWJvb2wgIkJyb2FkY29tIGlQcm9jIEdQSU8gKHdpdGgg UElOQ09ORikgZHJpdmVyIgogCWRlcGVuZHMgb24gT0ZfR1BJTyAmJiAoQVJDSF9CQ01fSVBST0Mg fHwgQ09NUElMRV9URVNUKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9waW5jdHJsL2JjbS9NYWtlZmls ZSBiL2RyaXZlcnMvcGluY3RybC9iY20vTWFrZWZpbGUKaW5kZXggNTdlNTQzNGE2ZGI2Li5jM2Y1 YjdiMmYyZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGluY3RybC9iY20vTWFrZWZpbGUKKysrIGIv ZHJpdmVycy9waW5jdHJsL2JjbS9NYWtlZmlsZQpAQCAtNSw2ICs1LDcgQEAgb2JqLSQoQ09ORklH X1BJTkNUUkxfQkNNMjgxWFgpCQkrPSBwaW5jdHJsLWJjbTI4MXh4Lm8KIG9iai0kKENPTkZJR19Q SU5DVFJMX0JDTTI4MzUpCQkrPSBwaW5jdHJsLWJjbTI4MzUubwogb2JqLSQoQ09ORklHX1BJTkNU UkxfQkNNNjNYWCkJCSs9IHBpbmN0cmwtYmNtNjN4eC5vCiBvYmotJChDT05GSUdfUElOQ1RSTF9C Q002MzI4KQkJKz0gcGluY3RybC1iY202MzI4Lm8KK29iai0kKENPTkZJR19QSU5DVFJMX0JDTTYz NTgpCQkrPSBwaW5jdHJsLWJjbTYzNTgubwogb2JqLSQoQ09ORklHX1BJTkNUUkxfSVBST0NfR1BJ TykJKz0gcGluY3RybC1pcHJvYy1ncGlvLm8KIG9iai0kKENPTkZJR19QSU5DVFJMX0NZR05VU19N VVgpCSs9IHBpbmN0cmwtY3lnbnVzLW11eC5vCiBvYmotJChDT05GSUdfUElOQ1RSTF9OUykJCSs9 IHBpbmN0cmwtbnMubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9waW5jdHJsL2JjbS9waW5jdHJsLWJj bTYzNTguYyBiL2RyaXZlcnMvcGluY3RybC9iY20vcGluY3RybC1iY202MzU4LmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lMTQ4N2E3YzJlNDYKLS0tIC9kZXYvbnVs bAorKysgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL3BpbmN0cmwtYmNtNjM1OC5jCkBAIC0wLDAgKzEs MzY5IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKKy8qCisgKiBEcml2 ZXIgZm9yIEJDTTYzNTggR1BJTyB1bml0IChwaW5jdHJsICsgR1BJTykKKyAqCisgKiBDb3B5cmln aHQgKEMpIDIwMjEgw4FsdmFybyBGZXJuw6FuZGV6IFJvamFzIDxub2x0YXJpQGdtYWlsLmNvbT4K KyAqIENvcHlyaWdodCAoQykgMjAxNiBKb25hcyBHb3Jza2kgPGpvbmFzLmdvcnNraUBnbWFpbC5j b20+CisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2JpdHMuaD4KKyNpbmNsdWRlIDxsaW51eC9ncGlv L2RyaXZlci5oPgorI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgorI2luY2x1ZGUgPGxpbnV4L29m Lmg+CisjaW5jbHVkZSA8bGludXgvcGluY3RybC9waW5tdXguaD4KKyNpbmNsdWRlIDxsaW51eC9w bGF0Zm9ybV9kZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9yZWdtYXAuaD4KKworI2luY2x1ZGUg Ii4uL3BpbmN0cmwtdXRpbHMuaCIKKworI2luY2x1ZGUgInBpbmN0cmwtYmNtNjN4eC5oIgorCisj ZGVmaW5lIEJDTTYzNThfTlVNX0dQSU9TCQk0MAorCisjZGVmaW5lIEJDTTYzNThfTU9ERV9SRUcJ CTB4MTgKKyNkZWZpbmUgIEJDTTYzNThfTU9ERV9NVVhfTk9ORQkJMAorI2RlZmluZSAgQkNNNjM1 OF9NT0RFX01VWF9FQklfQ1MJQklUKDUpCisjZGVmaW5lICBCQ002MzU4X01PREVfTVVYX1VBUlQx CQlCSVQoNikKKyNkZWZpbmUgIEJDTTYzNThfTU9ERV9NVVhfU1BJX0NTCUJJVCg3KQorI2RlZmlu ZSAgQkNNNjM1OF9NT0RFX01VWF9BU1lOQ19NT0RFTQlCSVQoOCkKKyNkZWZpbmUgIEJDTTYzNThf TU9ERV9NVVhfTEVHQUNZX0xFRAlCSVQoOSkKKyNkZWZpbmUgIEJDTTYzNThfTU9ERV9NVVhfU0VS SUFMX0xFRAlCSVQoMTApCisjZGVmaW5lICBCQ002MzU4X01PREVfTVVYX0xFRAkJQklUKDExKQor I2RlZmluZSAgQkNNNjM1OF9NT0RFX01VWF9VVE9QSUEJQklUKDEyKQorI2RlZmluZSAgQkNNNjM1 OF9NT0RFX01VWF9DTEtSU1QJQklUKDEzKQorI2RlZmluZSAgQkNNNjM1OF9NT0RFX01VWF9QV01f U1lOX0NMSwlCSVQoMTQpCisjZGVmaW5lICBCQ002MzU4X01PREVfTVVYX1NZU19JUlEJQklUKDE1 KQorCitzdHJ1Y3QgYmNtNjM1OF9waW5ncm91cCB7CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25z dCB1bnNpZ25lZCAqIGNvbnN0IHBpbnM7CisJY29uc3QgdW5zaWduZWQgbnVtX3BpbnM7CisKKwlj b25zdCB1aW50MTZfdCBtb2RlX3ZhbDsKKworCS8qIG5vbi1HUElPIGZ1bmN0aW9uIG11eGVzIHJl cXVpcmUgdGhlIGdwaW8gZGlyZWN0aW9uIHRvIGJlIHNldCAqLworCWNvbnN0IHVpbnQxNl90IGRp cmVjdGlvbjsKK307CisKK3N0cnVjdCBiY202MzU4X2Z1bmN0aW9uIHsKKwljb25zdCBjaGFyICpu YW1lOworCWNvbnN0IGNoYXIgKiBjb25zdCAqZ3JvdXBzOworCWNvbnN0IHVuc2lnbmVkIG51bV9n cm91cHM7Cit9OworCitzdHJ1Y3QgYmNtNjM1OF9wcml2IHsKKwlzdHJ1Y3QgcmVnbWFwX2ZpZWxk ICpvdmVybGF5czsKK307CisKKyNkZWZpbmUgQkNNNjM1OF9HUElPX1BJTihhLCBiLCBiaXQxLCBi aXQyLCBiaXQzKQkJXAorCXsJCQkJCQkJXAorCQkubnVtYmVyID0gYSwJCQkJCVwKKwkJLm5hbWUg PSBiLAkJCQkJXAorCQkuZHJ2X2RhdGEgPSAodm9pZCAqKShCQ002MzU4X01PREVfTVVYXyMjYml0 MSB8CVwKKwkJCQkgICAgIEJDTTYzNThfTU9ERV9NVVhfIyNiaXQyIHwJXAorCQkJCSAgICAgQkNN NjM1OF9NT0RFX01VWF8jI2JpdDMpLAlcCisJfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IHBpbmN0 cmxfcGluX2Rlc2MgYmNtNjM1OF9waW5zW10gPSB7CisJQkNNNjM1OF9HUElPX1BJTigwLCAiZ3Bp bzAiLCBMRUQsIE5PTkUsIE5PTkUpLAorCUJDTTYzNThfR1BJT19QSU4oMSwgImdwaW8xIiwgTEVE LCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDIsICJncGlvMiIsIExFRCwgTk9ORSwg Tk9ORSksCisJQkNNNjM1OF9HUElPX1BJTigzLCAiZ3BpbzMiLCBMRUQsIE5PTkUsIE5PTkUpLAor CVBJTkNUUkxfUElOKDQsICJncGlvNCIpLAorCUJDTTYzNThfR1BJT19QSU4oNSwgImdwaW81Iiwg U1lTX0lSUSwgTk9ORSwgTk9ORSksCisJQkNNNjM1OF9HUElPX1BJTig2LCAiZ3BpbzYiLCBTRVJJ QUxfTEVELCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDcsICJncGlvNyIsIFNFUklB TF9MRUQsIE5PTkUsIE5PTkUpLAorCUJDTTYzNThfR1BJT19QSU4oOCwgImdwaW84IiwgUFdNX1NZ Tl9DTEssIE5PTkUsIE5PTkUpLAorCUJDTTYzNThfR1BJT19QSU4oOSwgImdwaW8wOSIsIExFR0FD WV9MRUQsIE5PTkUsIE5PTkUpLAorCUJDTTYzNThfR1BJT19QSU4oMTAsICJncGlvMTAiLCBMRUdB Q1lfTEVELCBOT05FLCBOT05FKSwKKwlCQ002MzU4X0dQSU9fUElOKDExLCAiZ3BpbzExIiwgTEVH QUNZX0xFRCwgTk9ORSwgTk9ORSksCisJQkNNNjM1OF9HUElPX1BJTigxMiwgImdwaW8xMiIsIExF R0FDWV9MRUQsIEFTWU5DX01PREVNLCBVVE9QSUEpLAorCUJDTTYzNThfR1BJT19QSU4oMTMsICJn cGlvMTMiLCBMRUdBQ1lfTEVELCBBU1lOQ19NT0RFTSwgVVRPUElBKSwKKwlCQ002MzU4X0dQSU9f UElOKDE0LCAiZ3BpbzE0IiwgTEVHQUNZX0xFRCwgQVNZTkNfTU9ERU0sIFVUT1BJQSksCisJQkNN NjM1OF9HUElPX1BJTigxNSwgImdwaW8xNSIsIExFR0FDWV9MRUQsIEFTWU5DX01PREVNLCBVVE9Q SUEpLAorCVBJTkNUUkxfUElOKDE2LCAiZ3BpbzE2IiksCisJUElOQ1RSTF9QSU4oMTcsICJncGlv MTciKSwKKwlQSU5DVFJMX1BJTigxOCwgImdwaW8xOCIpLAorCVBJTkNUUkxfUElOKDE5LCAiZ3Bp bzE5IiksCisJUElOQ1RSTF9QSU4oMjAsICJncGlvMjAiKSwKKwlQSU5DVFJMX1BJTigyMSwgImdw aW8yMSIpLAorCUJDTTYzNThfR1BJT19QSU4oMjIsICJncGlvMjIiLCBVVE9QSUEsIE5PTkUsIE5P TkUpLAorCUJDTTYzNThfR1BJT19QSU4oMjMsICJncGlvMjMiLCBVVE9QSUEsIE5PTkUsIE5PTkUp LAorCUJDTTYzNThfR1BJT19QSU4oMjQsICJncGlvMjQiLCBVVE9QSUEsIE5PTkUsIE5PTkUpLAor CUJDTTYzNThfR1BJT19QSU4oMjUsICJncGlvMjUiLCBVVE9QSUEsIE5PTkUsIE5PTkUpLAorCUJD TTYzNThfR1BJT19QSU4oMjYsICJncGlvMjYiLCBVVE9QSUEsIE5PTkUsIE5PTkUpLAorCUJDTTYz NThfR1BJT19QSU4oMjcsICJncGlvMjciLCBVVE9QSUEsIE5PTkUsIE5PTkUpLAorCUJDTTYzNThf R1BJT19QSU4oMjgsICJncGlvMjgiLCBVVE9QSUEsIFVBUlQxLCBOT05FKSwKKwlCQ002MzU4X0dQ SU9fUElOKDI5LCAiZ3BpbzI5IiwgVVRPUElBLCBVQVJUMSwgTk9ORSksCisJQkNNNjM1OF9HUElP X1BJTigzMCwgImdwaW8zMCIsIFVUT1BJQSwgVUFSVDEsIEVCSV9DUyksCisJQkNNNjM1OF9HUElP X1BJTigzMSwgImdwaW8zMSIsIFVUT1BJQSwgVUFSVDEsIEVCSV9DUyksCisJQkNNNjM1OF9HUElP X1BJTigzMiwgImdwaW8zMiIsIFNQSV9DUywgTk9ORSwgTk9ORSksCisJQkNNNjM1OF9HUElPX1BJ TigzMywgImdwaW8zMyIsIFNQSV9DUywgTk9ORSwgTk9ORSksCisJUElOQ1RSTF9QSU4oMzQsICJn cGlvMzQiKSwKKwlQSU5DVFJMX1BJTigzNSwgImdwaW8zNSIpLAorCVBJTkNUUkxfUElOKDM2LCAi Z3BpbzM2IiksCisJUElOQ1RSTF9QSU4oMzcsICJncGlvMzciKSwKKwlQSU5DVFJMX1BJTigzOCwg ImdwaW8zOCIpLAorCVBJTkNUUkxfUElOKDM5LCAiZ3BpbzM5IiksCit9OworCitzdGF0aWMgdW5z aWduZWQgZWJpX2NzX2dycF9waW5zW10gPSB7IDMwLCAzMSB9OworCitzdGF0aWMgdW5zaWduZWQg dWFydDFfZ3JwX3BpbnNbXSA9IHsgMjgsIDI5LCAzMCwgMzEgfTsKKworc3RhdGljIHVuc2lnbmVk IHNwaV9jc19ncnBfcGluc1tdID0geyAzMiwgMzMgfTsKKworc3RhdGljIHVuc2lnbmVkIGFzeW5j X21vZGVtX2dycF9waW5zW10gPSB7IDEyLCAxMywgMTQsIDE1IH07CisKK3N0YXRpYyB1bnNpZ25l ZCBzZXJpYWxfbGVkX2dycF9waW5zW10gPSB7IDYsIDcgfTsKKworc3RhdGljIHVuc2lnbmVkIGxl Z2FjeV9sZWRfZ3JwX3BpbnNbXSA9IHsgOSwgMTAsIDExLCAxMiwgMTMsIDE0LCAxNSB9OworCitz dGF0aWMgdW5zaWduZWQgbGVkX2dycF9waW5zW10gPSB7IDAsIDEsIDIsIDMgfTsKKworc3RhdGlj IHVuc2lnbmVkIHV0b3BpYV9ncnBfcGluc1tdID0geworCTEyLCAxMywgMTQsIDE1LCAyMiwgMjMs IDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwKK307CisKK3N0YXRpYyB1bnNpZ25lZCBw d21fc3luX2Nsa19ncnBfcGluc1tdID0geyA4IH07CisKK3N0YXRpYyB1bnNpZ25lZCBzeXNfaXJx X2dycF9waW5zW10gPSB7IDUgfTsKKworI2RlZmluZSBCQ002MzU4X0dQSU9fTVVYX0dST1VQKG4s IGJpdCwgZGlyKQkJCVwKKwl7CQkJCQkJCVwKKwkJLm5hbWUgPSAjbiwJCQkJCVwKKwkJLnBpbnMg PSBuIyNfcGlucywJCQkJXAorCQkubnVtX3BpbnMgPSBBUlJBWV9TSVpFKG4jI19waW5zKSwJCVwK KwkJLm1vZGVfdmFsID0gQkNNNjM1OF9NT0RFX01VWF8jI2JpdCwJCVwKKwkJLmRpcmVjdGlvbiA9 IGRpciwJCQkJXAorCX0KKworc3RhdGljIGNvbnN0IHN0cnVjdCBiY202MzU4X3Bpbmdyb3VwIGJj bTYzNThfZ3JvdXBzW10gPSB7CisJQkNNNjM1OF9HUElPX01VWF9HUk9VUChlYmlfY3NfZ3JwLCBF QklfQ1MsIDB4MyksCisJQkNNNjM1OF9HUElPX01VWF9HUk9VUCh1YXJ0MV9ncnAsIFVBUlQxLCAw eDIpLAorCUJDTTYzNThfR1BJT19NVVhfR1JPVVAoc3BpX2NzX2dycCwgU1BJX0NTLCAweDYpLAor CUJDTTYzNThfR1BJT19NVVhfR1JPVVAoYXN5bmNfbW9kZW1fZ3JwLCBBU1lOQ19NT0RFTSwgMHg2 KSwKKwlCQ002MzU4X0dQSU9fTVVYX0dST1VQKGxlZ2FjeV9sZWRfZ3JwLCBMRUdBQ1lfTEVELCAw eDdmKSwKKwlCQ002MzU4X0dQSU9fTVVYX0dST1VQKHNlcmlhbF9sZWRfZ3JwLCBTRVJJQUxfTEVE LCAweDMpLAorCUJDTTYzNThfR1BJT19NVVhfR1JPVVAobGVkX2dycCwgTEVELCAweGYpLAorCUJD TTYzNThfR1BJT19NVVhfR1JPVVAodXRvcGlhX2dycCwgVVRPUElBLCAweDAwMGYpLAorCUJDTTYz NThfR1BJT19NVVhfR1JPVVAocHdtX3N5bl9jbGtfZ3JwLCBQV01fU1lOX0NMSywgMHgxKSwKKwlC Q002MzU4X0dQSU9fTVVYX0dST1VQKHN5c19pcnFfZ3JwLCBTWVNfSVJRLCAweDEpLAorfTsKKwor c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBlYmlfY3NfZ3JvdXBzW10gPSB7CisJImViaV9jc19n cnAiCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHVhcnQxX2dyb3Vwc1tdID0gewor CSJ1YXJ0MV9ncnAiCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNwaV9jc18yXzNf Z3JvdXBzW10gPSB7CisJInNwaV9jc18yXzNfZ3JwIgorfTsKKworc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBhc3luY19tb2RlbV9ncm91cHNbXSA9IHsKKwkiYXN5bmNfbW9kZW1fZ3JwIgorfTsK Kworc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBsZWdhY3lfbGVkX2dyb3Vwc1tdID0geworCSJs ZWdhY3lfbGVkX2dycCIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNlcmlhbF9s ZWRfZ3JvdXBzW10gPSB7CisJInNlcmlhbF9sZWRfZ3JwIiwKK307CisKK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgbGVkX2dyb3Vwc1tdID0geworCSJsZWRfZ3JwIiwKK307CisKK3N0YXRpYyBj b25zdCBjaGFyICogY29uc3QgY2xrcnN0X2dyb3Vwc1tdID0geworCSJjbGtyc3RfZ3JwIiwKK307 CisKK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcHdtX3N5bl9jbGtfZ3JvdXBzW10gPSB7CisJ InB3bV9zeW5fY2xrX2dycCIsCit9OworCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHN5c19p cnFfZ3JvdXBzW10gPSB7CisJInN5c19pcnFfZ3JwIiwKK307CisKKyNkZWZpbmUgQkNNNjM1OF9G VU4obikJCQkJCVwKKwl7CQkJCQkJXAorCQkubmFtZSA9ICNuLAkJCQlcCisJCS5ncm91cHMgPSBu IyNfZ3JvdXBzLAkJCVwKKwkJLm51bV9ncm91cHMgPSBBUlJBWV9TSVpFKG4jI19ncm91cHMpLAlc CisJfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGJjbTYzNThfZnVuY3Rpb24gYmNtNjM1OF9mdW5j c1tdID0geworCUJDTTYzNThfRlVOKGViaV9jcyksCisJQkNNNjM1OF9GVU4odWFydDEpLAorCUJD TTYzNThfRlVOKHNwaV9jc18yXzMpLAorCUJDTTYzNThfRlVOKGFzeW5jX21vZGVtKSwKKwlCQ002 MzU4X0ZVTihsZWdhY3lfbGVkKSwKKwlCQ002MzU4X0ZVTihzZXJpYWxfbGVkKSwKKwlCQ002MzU4 X0ZVTihsZWQpLAorCUJDTTYzNThfRlVOKGNsa3JzdCksCisJQkNNNjM1OF9GVU4ocHdtX3N5bl9j bGspLAorCUJDTTYzNThfRlVOKHN5c19pcnEpLAorfTsKKworc3RhdGljIGludCBiY202MzU4X3Bp bmN0cmxfZ2V0X2dyb3VwX2NvdW50KHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldikKK3sKKwly ZXR1cm4gQVJSQVlfU0laRShiY202MzU4X2dyb3Vwcyk7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFy ICpiY202MzU4X3BpbmN0cmxfZ2V0X2dyb3VwX25hbWUoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3Rs ZGV2LAorCQkJCQkJICB1bnNpZ25lZCBncm91cCkKK3sKKwlyZXR1cm4gYmNtNjM1OF9ncm91cHNb Z3JvdXBdLm5hbWU7Cit9CisKK3N0YXRpYyBpbnQgYmNtNjM1OF9waW5jdHJsX2dldF9ncm91cF9w aW5zKHN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldiwKKwkJCQkJICB1bnNpZ25lZCBncm91cCwg Y29uc3QgdW5zaWduZWQgKipwaW5zLAorCQkJCQkgIHVuc2lnbmVkICpudW1fcGlucykKK3sKKwkq cGlucyA9IGJjbTYzNThfZ3JvdXBzW2dyb3VwXS5waW5zOworCSpudW1fcGlucyA9IGJjbTYzNThf Z3JvdXBzW2dyb3VwXS5udW1fcGluczsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJj bTYzNThfcGluY3RybF9nZXRfZnVuY19jb3VudChzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYp Cit7CisJcmV0dXJuIEFSUkFZX1NJWkUoYmNtNjM1OF9mdW5jcyk7Cit9CisKK3N0YXRpYyBjb25z dCBjaGFyICpiY202MzU4X3BpbmN0cmxfZ2V0X2Z1bmNfbmFtZShzdHJ1Y3QgcGluY3RybF9kZXYg KnBjdGxkZXYsCisJCQkJCQkgdW5zaWduZWQgc2VsZWN0b3IpCit7CisJcmV0dXJuIGJjbTYzNThf ZnVuY3Nbc2VsZWN0b3JdLm5hbWU7Cit9CisKK3N0YXRpYyBpbnQgYmNtNjM1OF9waW5jdHJsX2dl dF9ncm91cHMoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3RsZGV2LAorCQkJCSAgICAgIHVuc2lnbmVk IHNlbGVjdG9yLAorCQkJCSAgICAgIGNvbnN0IGNoYXIgKiBjb25zdCAqKmdyb3VwcywKKwkJCQkg ICAgICB1bnNpZ25lZCAqIGNvbnN0IG51bV9ncm91cHMpCit7CisJKmdyb3VwcyA9IGJjbTYzNThf ZnVuY3Nbc2VsZWN0b3JdLmdyb3VwczsKKwkqbnVtX2dyb3VwcyA9IGJjbTYzNThfZnVuY3Nbc2Vs ZWN0b3JdLm51bV9ncm91cHM7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBiY202MzU4 X3BpbmN0cmxfc2V0X211eChzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdGxkZXYsCisJCQkJICAgdW5z aWduZWQgc2VsZWN0b3IsIHVuc2lnbmVkIGdyb3VwKQoreworCXN0cnVjdCBiY202M3h4X3BpbmN0 cmwgKnBjID0gcGluY3RybF9kZXZfZ2V0X2RydmRhdGEocGN0bGRldik7CisJc3RydWN0IGJjbTYz NThfcHJpdiAqcHJpdiA9IHBjLT5kcml2ZXJfZGF0YTsKKwljb25zdCBzdHJ1Y3QgYmNtNjM1OF9w aW5ncm91cCAqcGcgPSAmYmNtNjM1OF9ncm91cHNbZ3JvdXBdOworCXVuc2lnbmVkIGludCB2YWwg PSBwZy0+bW9kZV92YWw7CisJdW5zaWduZWQgaW50IG1hc2sgPSB2YWw7CisJdW5zaWduZWQgcGlu OworCisJZm9yIChwaW4gPSAwOyBwaW4gPCBwZy0+bnVtX3BpbnM7IHBpbisrKQorCQltYXNrIHw9 ICh1bnNpZ25lZCBsb25nKWJjbTYzNThfcGluc1twaW5dLmRydl9kYXRhOworCisJcmVnbWFwX2Zp ZWxkX3VwZGF0ZV9iaXRzKHByaXYtPm92ZXJsYXlzLCBtYXNrLCB2YWwpOworCisJZm9yIChwaW4g PSAwOyBwaW4gPCBwZy0+bnVtX3BpbnM7IHBpbisrKSB7CisJCXN0cnVjdCBwaW5jdHJsX2dwaW9f cmFuZ2UgKnJhbmdlOworCQl1bnNpZ25lZCBpbnQgaHdfZ3BpbyA9IGJjbTYzNThfcGluc1twaW5d Lm51bWJlcjsKKworCQlyYW5nZSA9IHBpbmN0cmxfZmluZF9ncGlvX3JhbmdlX2Zyb21fcGluKHBj dGxkZXYsIGh3X2dwaW8pOworCQlpZiAocmFuZ2UpIHsKKwkJCXN0cnVjdCBncGlvX2NoaXAgKmdj ID0gcmFuZ2UtPmdjOworCisJCQlpZiAocGctPmRpcmVjdGlvbiAmIEJJVChwaW4pKQorCQkJCWdj LT5kaXJlY3Rpb25fb3V0cHV0KGdjLCBod19ncGlvLCAwKTsKKwkJCWVsc2UKKwkJCQlnYy0+ZGly ZWN0aW9uX2lucHV0KGdjLCBod19ncGlvKTsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCitz dGF0aWMgaW50IGJjbTYzNThfZ3Bpb19yZXF1ZXN0X2VuYWJsZShzdHJ1Y3QgcGluY3RybF9kZXYg KnBjdGxkZXYsCisJCQkJICAgICAgIHN0cnVjdCBwaW5jdHJsX2dwaW9fcmFuZ2UgKnJhbmdlLAor CQkJCSAgICAgICB1bnNpZ25lZCBvZmZzZXQpCit7CisJc3RydWN0IGJjbTYzeHhfcGluY3RybCAq cGMgPSBwaW5jdHJsX2Rldl9nZXRfZHJ2ZGF0YShwY3RsZGV2KTsKKwlzdHJ1Y3QgYmNtNjM1OF9w cml2ICpwcml2ID0gcGMtPmRyaXZlcl9kYXRhOworCXVuc2lnbmVkIGludCBtYXNrOworCisJbWFz ayA9ICh1bnNpZ25lZCBsb25nKSBiY202MzU4X3BpbnNbb2Zmc2V0XS5kcnZfZGF0YTsKKwlpZiAo IW1hc2spCisJCXJldHVybiAwOworCisJLyogZGlzYWJsZSBhbGwgZnVuY3Rpb25zIHVzaW5nIHRo aXMgcGluICovCisJcmV0dXJuIHJlZ21hcF9maWVsZF91cGRhdGVfYml0cyhwcml2LT5vdmVybGF5 cywgbWFzaywgMCk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGluY3RybF9vcHMgYmNtNjM1OF9wY3Rs X29wcyA9IHsKKwkuZ2V0X2dyb3Vwc19jb3VudCA9IGJjbTYzNThfcGluY3RybF9nZXRfZ3JvdXBf Y291bnQsCisJLmdldF9ncm91cF9uYW1lID0gYmNtNjM1OF9waW5jdHJsX2dldF9ncm91cF9uYW1l LAorCS5nZXRfZ3JvdXBfcGlucyA9IGJjbTYzNThfcGluY3RybF9nZXRfZ3JvdXBfcGlucywKKwku ZHRfbm9kZV90b19tYXAgPSBwaW5jb25mX2dlbmVyaWNfZHRfbm9kZV90b19tYXBfcGluLAorCS5k dF9mcmVlX21hcCA9IHBpbmN0cmxfdXRpbHNfZnJlZV9tYXAsCit9OworCitzdGF0aWMgc3RydWN0 IHBpbm11eF9vcHMgYmNtNjM1OF9wbXhfb3BzID0geworCS5nZXRfZnVuY3Rpb25zX2NvdW50ID0g YmNtNjM1OF9waW5jdHJsX2dldF9mdW5jX2NvdW50LAorCS5nZXRfZnVuY3Rpb25fbmFtZSA9IGJj bTYzNThfcGluY3RybF9nZXRfZnVuY19uYW1lLAorCS5nZXRfZnVuY3Rpb25fZ3JvdXBzID0gYmNt NjM1OF9waW5jdHJsX2dldF9ncm91cHMsCisJLnNldF9tdXggPSBiY202MzU4X3BpbmN0cmxfc2V0 X211eCwKKwkuZ3Bpb19yZXF1ZXN0X2VuYWJsZSA9IGJjbTYzNThfZ3Bpb19yZXF1ZXN0X2VuYWJs ZSwKKwkuc3RyaWN0ID0gdHJ1ZSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmNtNjN4eF9w aW5jdHJsX3NvYyBiY202MzU4X3NvYyA9IHsKKwkubmdwaW9zID0gQkNNNjM1OF9OVU1fR1BJT1Ms CisJLm5waW5zID0gQVJSQVlfU0laRShiY202MzU4X3BpbnMpLAorCS5wY3RsX29wcyA9ICZiY202 MzU4X3BjdGxfb3BzLAorCS5waW5zID0gYmNtNjM1OF9waW5zLAorCS5wbXhfb3BzID0gJmJjbTYz NThfcG14X29wcywKK307CisKK3N0YXRpYyBpbnQgYmNtNjM1OF9waW5jdHJsX3Byb2JlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCit7CisJc3RydWN0IHJlZ19maWVsZCBvdmVybGF5cyA9 IFJFR19GSUVMRChCQ002MzU4X01PREVfUkVHLCAwLCAxNSk7CisJc3RydWN0IGRldmljZSAqZGV2 ID0gJnBkZXYtPmRldjsKKwlzdHJ1Y3QgYmNtNjN4eF9waW5jdHJsICpwYzsKKwlzdHJ1Y3QgYmNt NjM1OF9wcml2ICpwcml2OworCWludCBlcnI7CisKKwlwcml2ID0gZGV2bV9remFsbG9jKGRldiwg c2l6ZW9mKCpwcml2KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFwcml2KQorCQlyZXR1cm4gLUVOT01F TTsKKworCWVyciA9IGJjbTYzeHhfcGluY3RybF9wcm9iZShwZGV2LCAmYmNtNjM1OF9zb2MsICh2 b2lkICopIHByaXYpOworCWlmIChlcnIpCisJCXJldHVybiBlcnI7CisKKwlwYyA9IHBsYXRmb3Jt X2dldF9kcnZkYXRhKHBkZXYpOworCisJcHJpdi0+b3ZlcmxheXMgPSBkZXZtX3JlZ21hcF9maWVs ZF9hbGxvYyhkZXYsIHBjLT5yZWdzLCBvdmVybGF5cyk7CisJaWYgKElTX0VSUihwcml2LT5vdmVy bGF5cykpCisJCXJldHVybiBQVFJfRVJSKHByaXYtPm92ZXJsYXlzKTsKKworCXJldHVybiAwOwor fQorCitzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBiY202MzU4X3BpbmN0cmxfbWF0 Y2hbXSA9IHsKKwl7IC5jb21wYXRpYmxlID0gImJyY20sYmNtNjM1OC1waW5jdHJsIiwgfSwKKwl7 IH0sCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBiY202MzU4X3BpbmN0cmxf ZHJpdmVyID0geworCS5wcm9iZSA9IGJjbTYzNThfcGluY3RybF9wcm9iZSwKKwkuZHJpdmVyID0g eworCQkubmFtZSA9ICJiY202MzU4LXBpbmN0cmwiLAorCQkub2ZfbWF0Y2hfdGFibGUgPSBiY202 MzU4X3BpbmN0cmxfbWF0Y2gsCisJfSwKK307CisKK2J1aWx0aW5fcGxhdGZvcm1fZHJpdmVyKGJj bTYzNThfcGluY3RybF9kcml2ZXIpOwotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QK bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=