From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 259AFECAAA1 for ; Thu, 15 Sep 2022 09:49:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=rxi9QkKXGezH8XVv71PQM8VwDkgaTgg8LQtIu7sgus0=; b=LMVI/u3E/qQpf2 i4z3oqfEhrV4Jqbbx6CmgO0eeMqT1w2vvwB0b05YNmJjJi9LEZZ48DzoAG1zysSLA8NrveH7LIkNz 8v1AWAI08rVYg5HyPc44S2pHb5S4JXcfoAZE/zzPAzNGpszDV3QJ7Neaaadg7l3Ck5sJfLke+2gWq q/adZ52CTJf45Hw9+GRSR3YD9M4gQv0hU2+szmzaUxFvjlX5HE3mp/WCMkSQLXKufbRWyKyOjdHHZ Hxo7RduL+aZWZOlO4EVNCZxeyfMh4KgMbO6aQd72pMOyD0h6IRZTomu+CSLTp/IYEbn3BpMLAbWCk kDAMZ1i+AyMCWfhaVoLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYlUD-005iLa-9R; Thu, 15 Sep 2022 09:48:45 +0000 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oYlTz-005iD5-Rt; Thu, 15 Sep 2022 09:48:35 +0000 Received: by mail-pf1-x435.google.com with SMTP id c198so17503008pfc.13; Thu, 15 Sep 2022 02:48:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date; bh=ZKkzdFhlMcaWjhFySonr3aBox8dzu8s8j6Lei8KsK2E=; b=qTJND0ZLh7gqjyAggcPL3pMVGODNh8i1/xclslZpx/wvJXSWY5EMKedIF+ce7mocri V0+MuG84tsaNumAQRZ/p/7Y515blY4sAwdR/mrOe2qfdOa1EALO9ZKRD2J51kePBWGGx 1lyB0aMtYAESNGfQNjY7/FVKtSHHU1i/+xer1gqhv2p7gnyYcwqE9BeEquW08jI9UI2R T/0gVJfYYYTyUomddK4PjKCDt8XjvzuQw68PBGImhpXwXZ8PxRczxyCrTdShcdvjU6+w MLoSW/Jgux0KLVvRkV9PCY3rLnz3hascpBsh6Aabih8ySDrnwTHKPD+NNG7FvY+IsqQ2 tJ1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date; bh=ZKkzdFhlMcaWjhFySonr3aBox8dzu8s8j6Lei8KsK2E=; b=baRhjdkR9nhvSUyGhjjoLZ9ws0IlPDXtmkwMpmIMres6b/aH0zXSxFtsza8DEY8rSY iPInoHRyuvvitStcdPc6N9iPp1I8pzCCCJ1+vCVog3rUqtlQkURcdPejhn7+AiGA1cFJ CYNmS1lK6olVRdZdV7NSrtrZU2AOFgHbQGRpHG8VfnRbW7s8cyeWEmry6zzVfBLs//1s MZQGaTvJE35fZTNe7Qnp5UvpIAwDQvDYRx+bK4w7phLcO6KNCeW/meWMmn3adClnyH/V 9SADqlBbSaHe4BcsaQfsWHi07s6rn4NxhLMaTo6zKd5TsRKUpRzuVkrp6Fj+KcHKBPCL VSzA== X-Gm-Message-State: ACgBeo3FdtgXWH4cR9AgUoMY/yvPCSHEg0n7lzP3mUBFEMVbhGB/Ec6A L0rqh/6bBQpPBb9VcD1PCOc= X-Google-Smtp-Source: AA6agR48OXDiEsrU2H7PgAIKFPKEGGrjaDNkyIaBWrGuC8K8zJ9IPPOVQeJZucIEsZ0FGIClarF+aQ== X-Received: by 2002:a63:1d1a:0:b0:433:f6ea:dce6 with SMTP id d26-20020a631d1a000000b00433f6eadce6mr34712426pgd.178.1663235308685; Thu, 15 Sep 2022 02:48:28 -0700 (PDT) Received: from RD-3580-24288.rt.l (114-137-177-189.emome-ip.hinet.net. [114.137.177.189]) by smtp.gmail.com with ESMTPSA id n4-20020a170903110400b00176675adbe1sm12669010plh.208.2022.09.15.02.48.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 Sep 2022 02:48:28 -0700 (PDT) From: ChiaEn Wu To: pavel@ucw.cz, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, matthias.bgg@gmail.com, sre@kernel.org, jic23@kernel.org, lars@metafoo.de, broonie@kernel.org, mazziesaccount@gmail.com, andriy.shevchenko@linux.intel.com Cc: chiaen_wu@richtek.com, alice_chen@richtek.com, cy_huang@richtek.com, linux-leds@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-iio@vger.kernel.org, szunichen@gmail.com Subject: [PATCH v11 0/8] Add MediaTek MT6370 PMIC support Date: Thu, 15 Sep 2022 17:47:27 +0800 Message-Id: X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220915_024832_020728_2EDA1942 X-CRM114-Status: GOOD ( 24.03 ) 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 RnJvbTogQ2hpYUVuIFd1IDxjaGlhZW5fd3VAcmljaHRlay5jb20+CgpUaGlzIHBhdGNoIHNlcmll cyBhZGQgTWVkaWFUZWsgTVQ2MzcwIFBNSUMgc3VwcG9ydCBhbmQgYWRkIGEgaW5kZXggbWFjcm8K dG8gPGxpbmVhcl9yYW5nZS5oPi4gVGhlIE1UNjM3MCBpcyBhIGhpZ2hseS1pbnRlZ3JhdGVkIHNt YXJ0IHBvd2VyCm1hbmFnZW1lbnQgSUMsIHdoaWNoIGluY2x1ZGVzIGEgc2luZ2xlIGNlbGwgTGkt SW9uL0xpLVBvbHltZXIgc3dpdGNoaW5nCmJhdHRlcnkgY2hhcmdlciwgYSBVU0IgVHlwZS1DICYg UG93ZXIgRGVsaXZlcnkgKFBEKSBjb250cm9sbGVyLCBkdWFsCkZsYXNoIExFRCBjdXJyZW50IHNv dXJjZXMsIGEgUkdCIExFRCBkcml2ZXIsIGEgYmFja2xpZ2h0IFdMRUQgZHJpdmVyLAphIGRpc3Bs YXkgYmlhcyBkcml2ZXIgYW5kIGEgZ2VuZXJhbCBMRE8gZm9yIHBvcnRhYmxlIGRldmljZXMuCgpG aXJzdCwgaW4gdGhpcyBzZXJpZXMgb2YgcGF0Y2hlcywKLSAnZHQtYmluZGluZzogbWZkJyBhbmQg J21mZCBkcml2ZXInIGhhdmUgYmVlbiBhcHBsaWVkIGJ5IExlZSBpbiB0aGUgdjcuCiAgaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvYWxsL1l2SmRwcTBNV05QUVp3NWNAZ29vZ2xlLmNvbS8KICBodHRw czovL2xvcmUua2VybmVsLm9yZy9hbGwvWXZKZHhFcEMyY0I1OEJxOUBnb29nbGUuY29tLwoKLSAn dGNwY2kgZHJpdmVyJyBoYXMgYmVlbiBhcHBsaWVkIGJ5IEdyZWcgaW4gdGhlIHY4LgogIGh0dHBz Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L2dyZWdraC91c2IuZ2l0 L2NvbW1pdC8/aD11c2ItbmV4dCZpZD1jMmE4ZWE1OTk3ZmRmZWI0M2VkYTI1OWQ1NTMzMjM0YzNj YWUwNWQ3CgotICdkdC1iaW5kaW5nOiBiYWNrbGlnaHQnIGFuZCAnYmFja2xpZ2h0IGRyaXZlcicg aGF2ZSBiZWVuIGFwcGxpZWQKICBieSBMZWUgaW4gdjkuCiAgaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvYWxsL1l4WVNEU2xuT0VMTDJtUEZAZ29vZ2xlLmNvbS8KICBodHRwczovL2xvcmUua2VybmVs Lm9yZy9hbGwvWXhZUzclMkZkWkk2OWxNWGVoQGdvb2dsZS5jb20vCgpTZWNvbmQsIHRoZSBMRUQg UkdCIGRyaXZlciBpcyBiYXNlZCBvbiBBbmR5J3MgcGF0Y2ggd2hpY2ggbW92ZXMKbGVkX2luaXRf ZGVmYXVsdF9zdGF0ZV9nZXQoKSB0byB0aGUgZ2xvYmFsIGhlYWRlci4KaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvYWxsLzIwMjIwODA1MTU0OTA3LjMyMjYzLTMtYW5kcml5LnNoZXZjaGVua29AbGlu dXguaW50ZWwuY29tLwoKSW4gYWRkaXRpb24sIHdlIGFkZGVkIGEgbWFjcm8gdG8gdGhlIDxsaW5l YXJfcmFuZ2UuaD4gZm9yIGRlY2xhcmluZyB0aGUKbGluZWFyX3JhbmdlIHN0cnVjdCBzaW1wbHkg KHNlZSBwYXRjaCB2MTEtMDAwNCkgYW5kIG1hZGUgc29tZSBjaGFuZ2VzIGZvcgpNVDYzNzAgZHJp dmVycyAoc2VlIHYxMSBzZWN0aW9uIG9mIHRoZSBjaGFuZ2UgbG9nIGJlbG93KS4KClRoYW5rIHlv dSwKQ2hpYUVuIFd1Ci0tLQpDaGFuZ2UgaW4gdjExOgotIEluIFBhdGNoIDEvOCAoZHQtYmluZGlu Z3M6IE1UNjM3MCBDaGFyZ2VyKQoJLSBBZGQgbW9yZSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiBp cnFzLgoJLSBBZHVqdXN0IHRoZSBvcmRlciBvZiBpcnFzCgoKQ2hhbmdlIGluIHYxMDoKLSBJbiBQ YXRjaCA2LzggKE1UNjM3MCBDaGFyZ2VyKToKCS0gQWRkIGEgZmVhdHVyZSAoZGlzYWJsZSBpbnB1 dCBjdXJyZW50IGxpbWl0KSBpbgoJICAnbXQ2MzcwX2NoZ19pbml0X3NldHRpbmcoKScKCS0gQWRk IHRoZSBoZWFkZXIgZmlsZSA8bGludXgvZGV2bS1oZWxwZXJzLmg+IGZvciB1c2luZwoJICAnZGV2 bV93b3JrX2F1dG9jYW5jZWwoKScgYW5kICdkZXZtX2RlbGF5ZWRfd29ya19hdXRvY2FuY2VsKCkK CS0gUmVuYW1lICdwd3JfcmR5JyB0byAnb3Bwb3NpdGVfcHdyX3JkeScgaW4KCSAgJ210NjM3MF9j aGdfcHdyX3JkeV9jaGVjaygpJwoJLSBSZW5hbWUgZW51bSBlbGVtZW50cwoJICAoJ01UNjM3MF9B VFRBQ0hfU1RBVF9BVFRBQ0hfQkMxMl9OT1RfRE9ORScgLS0+CgkgICAnTVQ2MzcwX0FUVEFDSF9T VEFUX0FUVEFDSF9XQUlUX0ZPUl9CQzEyJykKCS0gUmV2aXNlIHRoZSBhc3NpZ25tZW50IHZhbHVl IG9mICd2YWwuaW50dmFsJyBpbgoJICAnbXQ2MzcwX2NoZ19wd3JfcmR5X2NoZWNrKCknIHRvIG1h a2UgdGhlIGNvZGUgZWFzeSB0byByZWFkLgoJLSBSZXZpc2UgdGhlIGluaXRpYWxpemF0aW9uIG9m IGJjMTJfd29yayAoSU5JVF9XT1JLKCkgLS0+CgkgIHVzaW5nIGRldm1fd29ya19hdXRvY2FuY2Vs KCkpIGFuZCBtaXZyX2R3b3JrCgkgIChJTklUX0RFTEFZRURfV09SSyArIGRldm1fYWRkX2FjdGlv bl9vcl9yZXNldCgpIC0tPgoJICAgZGV2bV9kZWxheWVkX3dvcmtfYXV0b2NhbmNlbCgpKQoKLSBJ biBQYXRjaCA4LzggKE1UNjM3MCBMRUQgRmxhc2hsaWdodCk6CgktIEFkZCB0aGUgcmV2ZXJ0IGNv ZGUgd2hlbiAnX19tdDYzNzBfZmxhc2hfYnJpZ2h0bmVzc19zZXQoKScKCSAgcmV0dXJuIGZhaWxl ZC4KCS0gUmV2aXNlIHR5cGUgb2YgJ2xlZF9ubycgKHUzMiAtPiB1OCkKCS0gUmV2aXNlIHR5cGUg b2YgJ2RlZmF1bHRfc3RhdGUnICh1MzIgLT4gZW51bSBsZWRfZGVmYXVsdF9zdGF0ZSkKCS0gUmV2 aXNlIHRoZSByZXR1cm4gdmFsdWUgb2YgJ19tdDYzNzBfZmxhc2hfYnJpZ2h0bmVzc19zZXQoKScK CS0gUmVtb3ZlIHRoZSB1c2VsZXNzIGZ1bmN0aW9uICdtdDYzNzBfaW5pdF9jb21tb25fcHJvcGVy dGllcygpJwoJLSBVc2UgJ2xlZF9pbml0X2RlZmF1bHRfc3RhdGVfZ2V0KCknIHRvIGluaXQgJ2xl ZC0+ZGVmYXVsdF9zdGF0ZScKCgpDaGFuZ2VzIGluIHY5OgotIEluIFBhdGNoIDA1LzEwOgoJLSBS ZXZpc2UgTElORUFSX1JBTkdFKCkgYW5kIExJTkVBUl9SQU5HRV9JRFgoKQoKLSBJbiBQYXRjaCAw Ny8xMDoKCS0gRml4IHdyb25nICdGX0lJTkxNVFNFTCcgc2V0dGluZyBpbiAnbXQ2MzcwX2NoZ19p bml0X3NldHRpbmcoKScKCS0gUmV2aXNlIHRoZSB1c2FnZSBvZiBMSU5FQVJfUkFOR0VfSURYKCkK Ci0gSW4gUGF0Y2ggMDkvMTA6CgktIFJldmlzZSB0aGUgZm9ybWF0IG9mIHRoZSBjb21tZW50cy4K Ci0gSW4gUGF0Y2ggMTAvMTA6CgktIFJldmlzZSB0aGUgZm9ybWF0IG9mIHRoZSBjb21tZW50cy4K CgpDaGFuZ2VzIGluIHY4OgotIEluIFBhdGNoIDA2LzEyOgoJLSBBZGQgbGluZWFyX3JhbmdlX2lk eCBtYWNybyBmb3IgZGVjbGFyaW5nIHRoZSBsaW5lYXJfcmFuZ2UKCSAgc3RydWN0IHNpbXBseS4K Ci0gSW4gUGF0Y2ggMDkvMTI6CgktIFJlbW92ZSBNVDYzNzBfQ0hHX0xJTkVBUl9SQU5HRSgpIG1h Y3JvLCBhbmQgY2hhbmdlIHRvIHVzZQoJICBMSU5FQVJfUkFOR0VfSURYKCkgbWFjcm8KCi0gSW4g UGF0Y2ggMTAvMTI6CgktIEFkZCBpbmNsdWRlIGhlYWRlciBmaWxlIDxsaW51eC9sZWRzLmg+Cgkt IFJlbW92ZSB1c2VsZXNzICdlbnVtIG10NjM3MF9zdGF0ZScgYmVjYXVzZSBvZiB1c2luZyAnZW51 bSBsZWRfZGVmYXVsdF9zdGF0ZScKCS0gUmV2aXNlIHRoZSBjYWxjdWxhdGlvbiBvZiAndmFsJyBp biAnbXQ2MzcwX2dlbl9icmVhdGhfcGF0dGVybigpJwoJLSBSZXBsYWNlIHRoZSBtZWR0aG9kIG9m IGdldHRpbmcgZGVmYXVsdC1zdGF0ZSBieSB1c2luZwoJICBsZWRfaW5pdF9kZWZhdWx0X3N0YXRl X2dldCgpCgotIEluIFBhdGNoIDExLzEyOgoJLSBBZGQgbWlzc2luZyAnZGVwZW5kZW5jeSBjb25m aWcnIGluIEtjb25maWcKCS0gUmV2aXNlIGFsbCBtdWx0aS1saW5lIGNvbW1lbnRzCgotIEluIFBh dGNoIDEyLzEyOgoJLSBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZSA8bGludXgvcHJvcGVydHkuaD4K CS0gUmVtb3ZlIHVzZWxlZGQgaGVhZGVyIGZpbGUgPGxpbnV4L29mX2RldmljZS5oPgoJLSBSZXZp c2UgdGhlIGNvbW1lbnQgb2YgJ210NjM3MF9jaGVja192ZW5kb3JfaW5mbygpJwoKCkNoYW5nZXMg aW4gdjc6Ci0gSW4gUGF0Y2ggMDUvMTM6CgktIEFkZCB0aGUgc2Vjb25kIGNvbXBhdGlibGUgc3Ry aW5nIGZvciAnbXQ2MzcyJwoJLSBBZGQgJ21lZGlhdGVrLGJsZWQtZXhwb25lbnRpYWwtbW9kZS1l bmFibGUnIHByb3BlcnR5IGZvciBlbmFibGUgdGhlCgkgIGV4cG9uZW50aWFsIG1vZGUgb2YgYmFj a2xpZ2h0IGJyaWdodG5lc3MKCS0gQWRkIHZhbGlkYXRpb24gZm9yIHRoZSBtYXhpbXVtIHZhbHVl IG9mICdkZWZhdWx0LWJyaWdodG5lc3MnIGFuZAoJICAnbWF4LWJyaWdodG5lc3MnCgotIEluIFBh dGNoIDA3LzEzOgoJLSBNb3ZlICcjZGVmaW5lIE1UNjM3MF9SRUdfTUFYQUREUicgdG8gdGhlIG5l eHQgbGluZSBvZgoJICAnI2RlZmluZSBNVDYzNzBfUkVHX0NIR19NQVNLMScKCS0gUmVuYW1lICdN VDYzNzBfUkVHX0FERFJMRU4nIHRvICdNVDYzNzBfTUFYX0FERFJMRU4nCgotIEluIFBhdGNoIDA4 LzEzOgoJLSBSZXZpc2UgJ2Rldm1fYWRkX2FjdGlvbl9vcl9yZXNldChkZXYsIC4uLiknIHRvIG9u ZSBsaW5lCgktIFJldmlzZSAncmV0dXJuIHJlZ21hcF91cGRhdGVfYml0cyguLi4pJyB3aXRoIHVz aW5nIHBvc2l0aXZlCgkgIGNvbmRpdGlvbmFsCgotIEluIFBhdGNoIDA5LzEzOgoJLSBBZGQgQUlD UigxMDBtQSB+IDM1MG1BKSwgSUNIRygxMDBtQSB+IDgwMG1BKSBtYWNyb3MKCS0gUmVtb3ZlIDQw MG1BIEFJQ1IgYW5kIDkwMG1BIElDSEcgbWFjcm9zCgktIFJldmlzZSB1c2luZyAnaWYtZWxzZScg dG8gJ3N3aXRjaC1jYXNlJyBpbiBtdDYzNzBfYWRjX3JlYWRfc2NhbGUoKQoJICB3aGVyZSB0aGUg YWRjIGNoYW5uZWwgaXMgaWJ1cyBvciBpYmF0CgotIEluIFBhdGNoIDEwLzEzOgoJLSBSZXZpc2Ug dGhlIG1ldGhvZCB0byBlbmFibGUvZGlzYWJsZSBpcnEKCS0gUmV2aXNlIGFsbCAnaWYgKHJldCA8 IDApJyB0byAnaWYgKHJldCknIGFmdGVyIHVzaW5nCgkgIG10NjM3MF9jaGdfZmllbGRfc2V0L2dl dCgpCgktIFJldmlzZSBhbGwgJ09URycgdGV4dCBhZ2FpbgoKLSBJbiBQYXRjaCAxMS8xMzoKCS0g QWRkIHRoZSBjb21tZW50IGZvciB0aGUgdW5pb24gb2YgJ3N0cnVjdCBtdDYzNzBfbGVkJwoJLSBS ZXZpc2UgdGhlIHdyb25nIGRlc2NyaXB0aW9uIG9mICdBdXRob3JzJwoJLSBSZXZpc2Ugc29tZSB0 eXBvcyAoZS5nLiBsZWQgLS0+IExFRCkKCS0gUmV2aXNlICdpZiAoIWZ3bm9kZV9wcm9wZXJ0eV9y ZWFkX3N0cmluZygpKScgdG8KCSAgJ3JldCA9IGZ3bm9kZV9wcm9wZXJ0eV9yZWFkX3N0cmluZygp JwoJLSBSZXBsYWNlICdtZW1jcHkoLi4uKScgd2l0aCAncHV0X3VuYWxpZ25lZF9iZTI0KCknIGlu CgkgIG10NjM3MF9nZW5fYnJlYXRoX3BhdHRlcm4oKQoJLSBSZXBsYWNlIGFsbCAnTEVEX09GRicg d2l0aCAwCgktIFJlbW92ZSB0aGUgcmVkdW5kYW50IGFzc2lnbm1lbnQgaW4gbXQ2MzcwX21jX3Bh dHRlcm5fY2xlYXIoKQoKLSBJbiBQYXRjaCAxMi8xMzoKCS0gRml4IHRoZSBpbmRlbnRhdGlvbi4K CS0gRm9yIHRoZSB3ZWxsIGRlZmluZWQgbWFjcm8sIHRoZSBwYXJlbnRoZXNpcyBpcyBuZWVkZWQg Zm9yIGlucHV0IHBhcmFtZXRlcnMuCgktIFJlcGxhY2Ugc29tZSBkZXZfd2FybiB0byBkZXZfaW5m byBpbiAnaW5pdF9mbGFzaF9wcm9wZXJ0aWVzJy4KCS0gQWRkIHNlbnRpbmVsIGNvbW1lbnQgZm9y IHRoZSB0ZXJtaW5hdG9yIGVudHJ5IG9mIG9mX2RldmljZV9pZC4KCS0gVXNlIHByaXYtPmZsZWRf dG9yY2hfdXNlZCBkaXJlY3RseS4KCS0gRGVsZXRlIDAgaW4ge30uCgktIFVzZSBfdUEgaW5zdGVh ZCBvZiBfVUEgaW4gZGVmaW5pdGlvbi4KCS0gUmVmaW5lIHRoZSBkZXNjcmlwdGlvbi4KCS0gVXNl IHVzbGVlcF9yYW5nZSBpbnN0ZWFkIG9mIHVkZWxheS4KCS0gUmVuYW1lIGNvbmZpZyB0byBMRURT X01UNjM3MF9GTEFTSC4KCS0gQWRkIG1pc3NpbmcgIj4iIGluIGNvcHlyaWdodC4KCS0gQ2hhbmdl IHRoZSBLY29uZmlnIG9yZGVyCgotIEluIFBhdGNoIDEzLzEzOgoJLSBBZGQgc3VwcG9ydCAnZXhw b25lbnRpYWwgbW9kZScgcHJvcGVydHkgcGFyc2luZwoJLSBBZGQgJ3JldHVybiBkZXZfZXJyX3By b2JlKCknIGFmdGVyICdpZiAoSVNfRVJSKHByaXYtPmVuYWJsZV9ncGlvKSknCgktIEFkZCAnbXQ2 MzcyJyBjb21wYXRpYmxlIHN0cmluZwoJLSBSZXZpc2UgS2NvbmZpZyBoZWxwIHRleHQKCS0gUmV2 aXNlIHVwZGF0ZSgpL2dldCgpIGZvciBzdXBwb3J0aW5nIDE2Mzg0IHN0ZXBzIChNVDYzNzIpCgkt IFJldmlzZSBhbGwgc2hpZnQgdXNhZ2VzIGZvcm0gdXNpbmcgJ2ZmcygpIGFuZCBmbHMoKScgdG8g ZGVmaW5pbmcgdGhlCgkgIF9TSElGVCBtYWNyb3MuCgktIFJldmlzZSAnYnJpZ2h0bmVzcyA/IDEg OiAwJyB0byAnISFicmlnaHRuZXNzJyBpbiBncGlvZF9zZXRfdmFsdWUoKQoKCkNoYW5nZXMgaW4g djY6Ci0gSW4gUGF0Y2ggMDMvMTM6CgktIEFkZCAncmVnJyBwcm9wZXJ0eSBvZiBsZWQgb2YgbXVs dGktbGVkIHRvIHByZXZlbnQgY2hlY2tpbmcKCSAgZXJyb3IuCgotIEluIFBhdGNoIDA4LzEzOgoJ LSBDb252ZXJ0IHRjcGNpIGFzIGRldmljZSByZXNvdXJjZSBtYW5hZ2VkIHdpdGgKCSAgJ2Rldm1f YWRkX2FjdGlvbl9vcl9yZXNldCcgYXBpLgoJLSBSZWZpbmUgcmVtdm9lIGNhbGxiYWNrLgoJLSBS ZWZpbmUgdGhlIGNvbW1pdCB0ZXh0IGZyb20gJ3RoaXMgY29tbWl0IGFkZCcgdG8gJ2FkZCcuCgot IEluIFBhdGNoIDA5LzEzOgoJLSBVc2luZyAnc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRl dicgaW4gcHJvYmUoKQoJLSBSZXZpc2UgdGhlIHNpeHRoIHBhcmFtZXRlciBvZiByZWdtYXBfcmVh ZF9wb2xsX3RpbWVvdXQoKSBieQoJICBSZXBsYWNpbmcgJzEwMDAnIHdpdGggJ01JTExJJwoJLSBS ZXZpc2UgdGhlIHVuaXRzIG9mIHRocmVlIG1hY3JvcwoJLSBNVDYzNzBfQUlDUl80MDBNQSAtLT4g TVQ2MzcwX0FJQ1JfNDAwX21BCgktIE1UNjM3MF9JQ0hHXzUwME1BIC0tPiBNVDYzNzBfSUNIR181 MDBfbUEKCS0gTVQ2MzcwX0lDSEdfOTAwTUEgLS0+IE1UNjM3MF9JQ0hHXzkwMF9tQQoKLSBJbiBw YXRjaCAxMC8xMzoKCS0gUmVtb3ZlIHRoZSB2YXJhYmxlICgqcHN5X2Rlc2MpIG9mIHN0cnVjdCBt dDYzNzBfcHJpdgoJLSBSZW1vdmUgdGhlIGRlcHJlY2F0ZWQgdXNiIHR5cGUgKFBPV0VSX1NVUFBM WV9UWVBFX1VTQl9DRFAgYW5kCgkgIFBPV0VSX1NVUFBMWV9UWVBFX1VTQl9EQ1ApCgktIFJlbW92 ZSB1c2VsZXNzIHJlbW92ZSgpCgktIFJldmlzZSBhbGwgdW5pdHMgZnJvbSBtaW5pLSB0byBtaWNy by0KCS0gUmV2aXNlIGdldC9zZXQgcG93ZXJfc3VwcGx5X3Byb3AgKGNoYW5nZSB0byBkaXJlY3Rs eSByZXR1cm4gZ2V0L3NldAoJICByZWdtYXBfZmllbGQpCgktIFJldmlzZSBwcm9iZSgpIGFuZCB1 c2UgZGV2bV9hZGRfYWN0aW9uX29yX3Jlc2V0KCkgZm9yIGhhbmRsaW5nIG9mIHRoZQoJICB3b3Jr cXVldWUvZGVsYXllZF93b3JrL211dGV4CgktIFJldmlzZSBtdDYzNzBfY2hnX3BzeV9kZXNjCgkJ LSBBZGQgJy5uYW1lID0gIm10NjM3MC1jaGFyZ2VyIicKCQktIFVzZSAnc3RhdGljIGNvbnN0JwoK LSBJbiBwYXRjaCAxMS8xMzoKCS0gUmVtb3ZlIHRoZSAna28nIGZyb20gbXQ2MzcwIGxlZCBLY29u ZmlnIGRlc2NyaXB0aW9uLgoJLSBBZGQgYm90aCBhdXRob3JzIGZvciBBbGljZSBhbmQgQ2hpWXVh bi4KCS0gVXNlIHBkYXRhIHRvIGRpc3Rpbmd1aXNoIHRoZSBjb2RlIGZyb20gbXQ2MzcwLzcxIHRv IG10NjM3Mi4KCS0gSW5zdGVhZCBvZiAnc3RhdGUnIGRlZmluZSwgdXNlIHRoZSAnc3RhdGUnIGVu dW0uCgktIEZpeCB0aGUgdHlwbyBmb3IgJ01UNjM3Ml9QTVdfRFVUWScuCgktIEZvciBwd21fZHV0 eSBkZWZpbmUsIHJlcGxhY2Ugd2l0aCBiaXQgbWFjcm8gLSAxLgoJLSBSZWZpbmUgYWxsIHRoZSBs YWJlbHMgZnJvbSAnb3V0JyB0byAnb3V0X3VubG9jaycuCgktIFVzZSBzdHJ1Y3QgJ2RldicgdmFy aWFibGUgYW5kICdkZXZfZXJyX3Byb2JlJyB0byBvcHRpbWl6ZSB0aGUgTE9DLgoJLSBSZXZpc2Ug Zm9yIHRoZSBhcnJheSBpbml0aWFsaXphdGlvbiBmcm9tIHswfSB0byB7fS4KCS0gTW92ZSBpbnRv IHJnYiBmb2xkZXIgYW5kIHJlbmFtZSBmaWxlIG5hbWUgdG8gJ2xlZHMtbXQ2MzcwLXJnYicuCgkt IFJlZmluZSB0aGUgJ2NvbW1hJyB1c2FnZSBpbiBzdHJ1Y3QvZW51bS4KCi0gSW4gcGF0Y2ggMTIv MTM6CgktIFVzZSAnR0VOTUFTSycgaW5zdGVhZCBvZiAnQklUJy4KCS0gVXNlIGRldl9lcnJfcHJv YmUgdG8gZGVjcmVhc2UgTE9DLgoJLSBVc2UgJ2RldicgdmFyaWFibGUgdG8gbWFrZSBwcm9iZSBm dW5jdGlvbiBtb3JlIGNsZWFuLgoJLSBSZWZpbmUgdGhlIHJldHVybiBvZiBfbXQ2MzcwX2ZsYXNo X2JyaWdodG5lc3Nfc2V0IGZ1bmN0aW9uLgoJLSBSZWZpbmUgdGhlIGRlc2NyaXB0aW9ucy4KCS0g VXNlIG10NjM3MF9jbGFtcCgpIGluc3RlYWQgb2YgY2xhbXBfYWxpZ24oKS4KCS0gVXNlIGRldmlj ZSByZXNvdXJjZSBtYW5hZ2VkIEFQSSBmb3IgdjRsMiBmbGFzaF9yZWxlYXNlLgoKCkNoYW5nZXMg aW4gdjU6Ci0gSW4gcGF0Y2ggMDcvMTM6CgktIEFkZCB0aGUgY29tbWEgaW4gdGhlIGxhc3QgUkVH TUFQX0lSUV9SRUdfTElORSgpLAoJICBERUZJTkVfUkVTX0lSUV9OQU1FRCgpIGFuZCBNRkRfQ0VM TF9SRVMoKQoJLSBBZGQgdGhlIHByZWZpeCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyIG9mIGFsbCBt ZmRfY2VsbAoJLSBNb3ZlIGVudW0gYW5kIHN0cnVjdCBtdDYzNzBfaW5mbyB0byBtdDYzNzAuaAoJ LSBSZW1vdmUgc3RydWN0IGRldmljZSAqZGV2IGluIHN0cnVjdCBtdDYzNzBfaW5mbwoJLSBSZXZp c2UgdGhlIGRlc2NyaXB0aW9uIG9mIEtjb25maWcgaGVscCB0ZXh0CgktIFJldmlzZSBNT0RVTEVf REVTQ1JJUFRJT04oKQoKLSBJbiBwYXRjaCAwOC8xMzoKCS0gQWRkIGNvbW1hIGZvciB0aGUgbGFz dCBpbmRleCBvZiBtdDYzNzBfcmVnX2luaXQuCgktIFVzZSBkZXZfZXJyX3Byb2JlIHRvIGRlY3Jl YXNlIExPQy4KCS0gVXNlICdkZXYnIHZhcmlhYmxlIHRvIG1ha2UgcHJvYmUgZnVuY3Rpb24gbW9y ZSBjbGVhbi4KCS0gUmVmaW5lIGtjb25maWcgdGV4dC4KCS0gUmVtb3ZlIGJvdGggJ2Vsc2UnIGlu IHNldF92YnVzIGNhbGxiYWNrLgoJLSBSZW1vdmUgY29tbWEgZm9yIG9mX2RldmljZV9pZCBpZiB0 aGUgYXNzaWduZWQgbWVtYmVyIGlzIG9ubHkgb25lLgoKLSBJbiBwYXRjaCAwOS8xMzoKCS0gUmVw bGFjZSB1c2luZyBzbnByaW50ZigpIHdpdGggc3lzZnNfZW1pdCgpIGluIG10NjM3MF9hZGNfcmVh ZF9sYWJlbCgpCgktIFJlbW92ZSBtYWNybyBBRENfQ09OVl9USU1FX1VTCgktIFJldmlzZSBhbGwg dmFyaWFibGUgb3JkZXJpbmcKCS0gUmV2aXNlIHRoZSBkZXNjcmlwdGlvbiBvZiBLY29uZmlnIGhl bHAgdGV4dAoJLSBSZXZpc2UgTU9EVUxFX0RFU0NSSVBUSU9OKCkKCi0gSW4gcGF0Y2ggMTAvMTM6 CgktIFJlcGxhY2UgdW5zaWduZWQgaW50IHR5cGUgb2YgcHdyX3JkeSB3aXRoIGJvb2wgaW4KCSAg bXQ2MzcwX2NoZ19zZXRfb25saW5lKCkKCS0gUmVtb3ZlIHJlZHVuZGFudCAnZWxzZScgaW4gbXQ2 MzcwX2NoZ19maWVsZF9nZXQoKQoJLSBSZXZpc2UgJ2lmLWVsc2UnIGluIG10NjM3MF9jaGdfZmll bGRfc2V0KCkKCS0gUmV2aXNlICdpZicgY29uZGl0aW9uIGluIG10NjM3MF9jaGdfZW5hYmxlX2ly cSgpCgktIFJldmlzZSBhbGwgdGV4dCAnb3RnJyAtLT4gJ09URycKCS0gUmV2aXNlIE1UNjM3MF9N SVZSX0lCVVNfVEhfMTAwX01BIC0tPiBNVDYzNzBfTUlWUl9JQlVTX1RIXzEwMF9tQQoJLSBSZXZp c2UgdGhlIGRlc2NyaXB0aW9uIG9mIEtjb25maWcgaGVscCB0ZXh0CgotIEluIHBhdGNoIDEyLzEz OgoJLSBSZWZpbmUgdGhlIGNvZGluZyBzdHlsZS4KCS0gVXNlICJkZXYiIGluc3RlYWQgb2YgIiZw ZGV2LT5kZXYiLgoKLSBJbiBwYXRjaCAxMy8xMzoKCS0gQWRkIG1pc3NlZCA8bW9kX2RldmljZXRh YmxlLmg+CgktIEFkZCBzdHJ1Y3QgZGV2aWNlICpkZXYgaW4gcHJvYmUoKSB0byBtYWtlIGNvZGUg Y2xlYW5pbmcKCS0gUmVtb3ZlIHVzZWxlc3MgaW5jbHVkaW5nIGhlYWRlciBmaWxlIDxncGlvL2Ry aXZlci5oPiwgPG9mLmg+CgktIFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlIHVhc2FnZSBpbiBtdDYz NzBfaW5pdF9iYWNrbGlnaHRfcHJvcGVydGllcygpCgktIFJlbW92ZSByZWR1bmRhbnQgY2hlY2tp bmcgZW5hYmxlX2dwaW8gaW4gbXQ2MzcwX2JsX3VwZGF0ZV9zdGF0dXMoKQoJLSBSZW1vdmUgcmVk dW5kYW50IHBhcmVudGhlc2VzIGluIG10NjM3MF9ibF9nZXRfYnJpZ2h0bmVzcygpCgktIFJldmlz ZSB0aGUgZGVzY3JpcHRpb24gb2YgS2NvbmZpZyBoZWxwIHRleHQKCS0gUmV2aXNlIHRoZSBjYWxj dWxhdGlvbiBvZiBoeXNfdGhfc3RlcHMKCgpDaGFuZ2VzIGluIHY0OgotIEluIHBhdGNoIDAyLzEz OgoJLSBBZGQgbWluSXRlbXMgb2YgImlvLWNoYW5uZWwtbmFtZXMiCgktIFJlcGxhY2UgdGV4dCAi TWVkaWF0ZWsiIHdpdGggIk1lZGlhVGVrIgoKLSBJbiBwYXRjaCAwNi8xMzoKCS0gUm9sbCBiYWNr IGFsbCAiJHJlZjogIiB0byB2MiBwYXRjaCBzdHlsZSAodXNpbmcgIi9zY2hlbWFzLy4uLiIpCgot IEluIHBhdGNoIDA3LzEzOgoJLSBSZXBsYWNlIHRleHQgIk1lZGlhdGVrIiB3aXRoICJNZWRpYVRl ayIgaW4gS2NvbmZpZwoJLSBSZXBsYWNlICJmaXJzdCBicmVhayBhbmQgdGhlbiByZXR1cm4iIHdp dGggInJldHVybiBkaXJlY3RseSIKCSAgaW4gIm10NjM3MF9jaGVja192ZW5kb3JfaW5mbygpIgoJ LSBBZGQgbW9kdWxlIG5hbWUgcmVsYXRlZCBkZXNjcmlwdGlvbiBpbiBLY29uZmlnIGhlbHB0ZXh0 CgktIEFkZCBDb3B5cmlnaHQgaW4gdGhlIHNvdXJjZSBjb2RlCgktIEFkZCBoZWFkZXIgZmlsZSAi bXQ2MzcwLmgiIGZvciBhbGwgIiNkZWZpbmUgSVJRIgoJLSBBZGp1c3QgTWFrZWZpbGUgb3JkZXIg b2YgTVQ2MzcwCgktIFJlZmluZSAiYmFua19pZHgiIGFuZCAiYmFua19hZGRyIiBpbgoJICAibXQ2 Mzc1X3JlZ21hcF9yZWFkKCkiIC8gIm10NjM3NV9yZWdtYXBfd3JpdGUoKSIKCS0gUmVmaW5lIHJl ZHVuZGFudCAiZWxzZSBpZiIgaW4gIm10NjM3MF9yZWdtYXBfcmVhZCgpIgoKLSBJbiBwYXRjaCAw OC8xMzoKCS0gUmVwbGFjZSB0ZXh0ICJNZWRpYXRlayIgd2l0aCAiTWVkaWFUZWsiIGluIEtjb25m aWcKCS0gUmVwbGFjZSAiZmlyc3QgcmV0PXJlZ3VsYXRvcl8oZGlzL2VuKWFibGUgYW5kIHRoZW4g cmV0dXJuIgoJICB3aXRoICJyZXR1cm4gZGlyZWN0bHkiIGluICJtdDYzNzBfdGNwY19zZXRfdmJ1 cygpIgoJLSBSZXBsYWNlIGhlYWRlciBmaWxlIDxsaW51eC9vZi5oPiB3aXRoIDxsaW51eC9tb2Rf ZGV2aWNldGFibGUuaD4KCS0gQWRkIENvcHlyaWdodCBpbiB0aGUgc291cmNlIGNvZGUKCS0gQWRk IG1vZHVsZSBuYW1lIHJlbGF0ZWQgZGVzY3JpcHRpb24gaW4gS2NvbmZpZyBoZWxwdGV4dAoJLSBS ZW1vdmUgaGVhZGVyIGZpbGUgPGxpbnV4L29mLmg+CgktIFJlZmluZSBhbGwgcHJvYmUgZXJyb3Ig YnkgdXNpbmcgZGV2X2Vycl9wcm9iZSgpCgotIEluIHBhdGNoIDA5LzEzOgoJLSBSZXBsYWNlIHRl eHQgIk1lZGlhdGVrIiB3aXRoICJNZWRpYVRlayIKCS0gUmVwbGFjZSBhbGwgImZpcnN0IGRldl9l cnIoKSBhbmQgdGhlbiByZXR1cm4iIHdpdGgKCSAgInJldHVybiBkZXZfZXJyX3Byb2JlKCkiCgkt IEFkZCBDb3B5cmlnaHQgaW4gdGhlIHNvdXJjZSBjb2RlCgktIEFkZCBtb2R1bGUgbmFtZSByZWxh dGVkIGRlc2NyaXB0aW9uIGluIEtjb25maWcKCS0gQWRkIHVuaXQgc3VmZml4IG9mIG1hY3JvICJB RENfQ09OVl9QT0xMSU5HX1RJTUUiCgktIEFkZCBuZXcgbWFjcm8gIkFEQ19DT05WX1RJTUVfTVMi CgktIEFkanVzdCB0aGUgcG9zaXRpb24gb2YgaW5jbHVkZSBmaWxlIDxtZWRpYXRlayxtdDYzNzBf YWRjLmg+CgktIEFkanVzdCB0aGUgcG9zdGlvbnMgYmV0d2VlbiA8bGludXgvbW9kdWxlLmg+IGFu ZAoJICAgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPgoJLSBGaXggc29tZSBpbmNvcnJlY3QgY2hh cmFjdGVycwoKLSBJbiBwYXRjaCAxMC8xMzoKCS0gUmVwbGFjZSB0ZXh0ICJNZWRpYXRlayIgd2l0 aCAiTWVkaWFUZWsiIGluIEtjb25maWcgYW5kCgkgIE1PRFVMRV9ERVNDUklQVElPTigpCgktIFJl cGxhY2UgIm10NjM3MF9jaGdfdmFsX3RvX3JlZyIgYW5kICJtdDYzNzBfY2hnX3JlZ190b192YWwi CgkgIHdpdGggImxpbmVhcl9yYW5nZSIgQVBJCgktIFJlcGxhY2UgImZpcnN0IGJyZWFrIGFuZCB0 aGVuIHJldHVybiIgd2l0aCAicmV0dXJuIGRpcmVjdGx5IgoJICBpbiBhbGwgY2FzZXMgb2YgZ2V0 L3NldCBwb3dlcl9zdXBwbHlfcHJvcGVydHkKCS0gUmVwbGFjZSBhbGwgImZpcnN0IGRldl9lcnIo KSBhbmQgdGhlbiByZXR1cm4iIHdpdGggInJldHVybgoJICBkZXZfZXJyX3Byb2JlKCkiCgktIFJl cGxhY2UgYWxsICJyZXR1cm4gSVNfRVJSKHByaXYtPnJkZXYpID8gUFRSX0VSUihwcml2LT5yZGV2 KSA6IDAiCgkgIHdpdGggIlBUUl9FUlJfT1JfWkVSTygpIgoJLSBSZXBsYWNlICJwcml2LT5kZXYt Pm9mX25vZGUiIHdpdGggImRldl9vZl9ub2RlKCkiCgktIEFkZCBDb3B5cmlnaHQgaW4gdGhlIHNv dXJjZSBjb2RlCgktIEFkZCBtb2R1bGUgbmFtZSByZWxhdGVkIGRlc2NyaXB0aW9uIGluIEtjb25m aWcgaGVscHRleHQKCS0gQWRkIHByb3BlciB1bml0IG9mICJNVDYzNzBfTUlWUl9JQlVTX1RIIgoJ LSBBZGQgZXJyb3IgY2hlY2sgaW4gIm10NjM3MF9jaGdfZ2V0X3N0YXR1cyIKCS0gUmVtb3ZlIGlu Y2x1ZGluZyA8bWVkaWF0ZWssbXQ2MzcwX2FkYy5oPiBoZWFkZXIgZmlsZQoJLSBSZW1vdmUgcmVk dW5kYW50IGNvbW1hIG9mIGV2ZXJ5IGVudW0gdGVybWluYXRvciBsaW5lCgktIFJlbW92ZSB1bndh bnRlZCBibGFuayBsaW5lcwoJLSBSZW1vdmUgdGhlIHVzZWxlc3MgbGFiZWwgKHRvZ2dsZV9jZm9f ZXhpdDopCgktIFJlbW92ZSB1c2luZyBhdG9taWMKCS0gUmVtb3ZlIHVzaW5nIG9mX21hdGNoX3B0 cigpCgktIEZpeCBzb21lIGluY29ycmVjdCBjaGFyYWN0ZXJzCgktIEZpeCB1cGRhdGluZyB3cm9u ZyBiaXRzIHdoZW4gdXNpbmcgZW5hX2dwaW9kIG9mIE9URyByZWd1bGF0b3IKCS0gQWRqdXN0IHRo ZSBwcm9iZSBvcmRlciBpbiBwcm9iZSgpCgotIEluIHBhdGNoIDExLzEzOgoJLSBSZXBsYWNlIHRl eHQgIk1lZGlhdGVrIiB3aXRoICJNZWRpYVRlayIgaW4gS2NvbmZpZwoJLSBSZXBsYWNlIHRleHQg ImNvbnN0IiB3aXRoICJjb25zdGFudCIgaW4gS2NvbmZpZwoJLSBBZGQgQ29weXJpZ2h0IGluIHRo ZSBzb3VyY2UgY29kZQoKLSBJbiBwYXRjaCAxMi8xMzoKCS0gUmVwbGFjZSB0ZXh0ICJNZWRpYXRl ayIgd2l0aCAiTWVkaWFUZWsiIGluIEtjb25maWcKCS0gQWRkIENvcHlyaWdodCBpbiB0aGUgc291 cmNlIGNvZGUKCi0gSW4gcGF0Y2ggMTMvMTM6CgktIFJlcGxhY2UgdGV4dCAiTWVkaWF0ZWsiIHdp dGggIk1lZGlhVGVrIiBpbiBLY29uZmlnCgktIEFkZCBDb3B5cmlnaHQgaW4gdGhlIHNvdXJjZSBj b2RlCgktIFJldmlzZSB0aGUgY29tbWVudCBvZiAiUFdNIEhZUyBTVEVQUyIKCgpDaGFuZ2VzIGlu IHYzOgotIFJlbW92ZSBBREMgQUJJIGZpbGUsIHdoaWNoIGlzIGFkZGVkIGluIHYyIFBhdGNoIDcK LSBJbiBwYXRjaCAwMi8xNDoKCS0gQWRkIGl0ZW1zIGFuZCByZW1vdmUgbWF4SXRlbXMgb2YgaW8t Y2hhbm5lbHMKCS0gQWRkIGlvLWNoYW5uZWwtbmFtZXMgYW5kIGRlc2NyaWJlIGVhY2ggaXRlbQoJ LSBBZGQgInVuZXZhbHVhdGVkUHJvcGVydGllczogZmFsc2UiIGluICJ1c2Itb3RnLXZidXMtcmVn dWxhdG9yIgoJLSBSZW5hbWUgImVuYWJsZS1ncGlvIiB0byAiZW5hYmxlLWdwaW9zIiBpbiAidXNi LW90Zy12YnVzLXJlZ3VsYXRvciIKCi0gSW4gcGF0Y2ggMDMvMTQ6CgktIFVzZSBsZWRzLWNsYXNz LW11bHRpY29sb3IueWFtbCBpbnN0ZWFkIG9mIGNvbW1vbi55YW1sLgoJLSBTcGxpdCBtdWx0aS1s ZWQgYW5kIGxlZCBub2RlLgoJLSBBZGQgc3ViZGV2aWNlICJsZWQiIGluICJtdWx0aS1sZWQiLgoK LSBJbiBwYXRjaCAwNC8xNDoKCS0gUmVtb3ZlIHRoZSBkZXNjcmlwdGlvbiBvZiBlbnVtLgoKLSBJ biBwYXRjaCAwNS8xNDoKCS0gUmVuYW1lICJtZWRpYXRlayxibGVkLXB3bS1oeXMtaW5wdXQtdGhy ZXNob2xkLXN0ZXBzIiB0bwoJICAibWVkaWF0ZWssYmxlZC1wd20taHlzLWlucHV0LXRoLXN0ZXBz IgoJLSBSZWZpbmUgImJsZWQtcHdtLWh5cy1pbnB1dC10aC1zdGVwcyIsICJibGVkLW92cC1taWNy b3ZvbHQiLAoJICAiYmxlZC1vY3AtbWljcm9hbXAiIGVudW0gdmFsdWVzCgotIEluIHBhdGNoIDA2 LzE0OgoJLSBVc2UgIiBpbiBlbnRpcmUgcGF0Y2hzZXQKCS0gUmVmaW5lIEFEQyBkZXNjcmlwdGlv bgoJLSBSZW5hbWUgImVuYWJsZS1ncGlvIiB0byAiZW5hYmxlLWdwaW9zIiBpbiAicmVndWFsdG9y IgoKLSBJbiBwYXRjaCAwNy8xNDoKCS0gUmVmaW5lIEtjb25maWcgaGVscCB0ZXh0CgktIFJlZmlu ZSBlcnJvciBtZXNzYWdlIG9mIHVua25vd24gdmVuZG9yIElEIGluCgkgIG10NjM3MF9jaGVja192 ZW5kb3JfaW5mbygpCgktIFJlZmluZSByZXR1cm4gdmFsdWUgaGFuZGxpbmcgb2YgbXQ2MzcwX3Jl Z21hcF9yZWFkKCkKCS0gUmVmaW5lIGFsbCBwcm9iZSBlcnJvciBieSB1c2luZyBkZXZfZXJyX3By b2JlKCkKCS0gUmVmaW5lICJiYW5rX2lkeCIgYW5kICJiYW5rX2FkZHIiIGluIG10NjM3MF9yZWdt YXBfcmVhZCgpIGFuZAoJICBtdDYzNzBfcmVnbWFwX3dyaXRlKCkKCS0gQWRkICIjZGVmaW5lIFZF TklEKiIgYW5kIGRyb3AgdGhlIGNvbW1lbnRzIGluCgkgIG10NjM3MF9jaGVja192ZW5kb3JfaW5m bygpCgktIERyb3AgIk1GRCIgaW4gTU9EVUxFX0RFU0NSSVBUSU9OKCkKCi0gSW4gcGF0Y2ggMDkv MTQ6CgktIFJlZmluZSBLY29uZmlnIGhlbHAgdGV4dAoKLSBJbiBwYXRjaCAxMC8xNDoKCS0gUmVm aW5lIEtjb25maWcgaGVscCB0ZXh0CgktIFJlZmluZSBhbGwgY2hhbm5lbCB2YWx1ZSBpbiByZWFk X3NjYWxlKCkKCQlhLiBjdXJyZW50OiB1QSAtLT4gbUEKCQliLiB2b2x0YWdlOiB1ViAtLT4gbVYK CQljLiB0ZW1wZXJhdHVyZTogZGVncmVlcyBDZWxzaXVzIC0tPiBtaWxsaSBkZWdyZWVzIENlbHNp dXMKCS0gQWRkICJkZWZhdWx0OiIgY29uZGl0aW9uIG9mIHN3aXRjaCBzdGF0ZW1lbnQgaW4gcmVh ZF9zY2FsZSgpIGFuZCByZWFkX3JhdygpCgktIEFkZCBlcnJvciBtZXNzYWdlIGZvciByZWFkaW5n IEFEQyByZWdpc3RlciBmYWlsZWQKCS0gQWRkIHRoZSBjb21tZW50IGZvciBhZGNfbG9jawoJLSBB ZGQgPGxpbnV4L21vZF9kZXZpY2V0YWJsZS5oPiBoZWFkZXIgZmlsZSBmb3Igc3RydWN0IG9mX2Rl dmljZV9pZAoJLSBSZXBsYWNlICJhZGMiIHRleHQgd2l0aCAiQURDIiBpbiBhbGwgb2YgdGhlIGVy cm9yIG1lc3NhZ2VzCgotIEluIHBhdGNoIDEyLzE0OgoJLSBSZWZpbmUgdGhlIGdyYW1tZXIgb2Yg dGhlIEtjb25maWcuCgktIENoYW5nZSByZWcgbW9kZSB0byB0aGUgY29uc3QgY3VycmVudCBtb2Rl LgoKLSBJbiBwYXRjaCAxNC8xNDoKCS0gUmVmaW5lIGJvb2wgcHJvcGVydGllcyBwYXJzaW5nIChw d20tZW5hYmxlLCBvdnAtc2h1dGRvd24sIG9jcC1zaHV0ZG93bikgaW4gRFQKCSAgcGFyc2luZyBm dW5jdGlvbgoJLSBSZWZpbmUgdTMyIGFuZCB1OCBwcm9wZXJ0aWVzIHBhcnNpbmcgKHB3bS1oeXMt aW5wdXQtdGgtc3RlcHMsIG92cC1taWNyb3ZvbHQsCgkgIG9jcC1taWNyb2FtcCksIGZyb20gdXNp bmcgcmVnaXN0ZXIgdmFsdWUgdG8gdXNpbmcgYWN0dWFsIHZhbHVlCgktIFJlZmluZSBlcnJvciBz dHJpbmcgb2YgImNoYW5ubGUtdXNlIiBwYXJzaW5nIGZhaWxlZAoJLSBSZWZpbmUgS2NvbmZpZyBo ZWxwIHRleHQKCgpDaGFuZ2VzIGluIHYyOgotIEluIHBhdGNoIDAxLzE1OgoJLSBBZGQgInVuZXZh bHVhdGVkUHJvcGVydGllczogZmFsc2UiLgoJLSBEZWxldGUgIkRUIGJpbmRpbmdzIi4KCS0gUmVm aW5lIHRoZSBkZXNjcmlwdGlvbiB0byBmaXQgaW4gODAgY29sdW1ucy4KCS0gU2tpcCB0aGUgY29u bmVjdG9yIGRlc2NyaXB0aW9uLgoKLSBJbiBwYXRjaCAwMi8xNToKCS0gUmVmaW5lIGl0ZW1zIGRl c2NyaXB0aW9uIG9mIGludGVycnVwdC1uYW1lCgktIFJlbmFtZSAidXNiLW90Zy12YnVzIiB0byAi dXNiLW90Zy12YnVzLXJlZ3VsYXRvciIKCS0gQWRkIGNvbnN0cmFpbnQgcHJvcGVydGllcyBmb3Ig QURDCgotIEluIHBhdGNoIDAzLzE1OgoJLSBTa2lwIG5vdCB1c2VmdWwgZGVzY3JpcHRpb24gb2Yg Il4obXVsdGktKT9sZWRAWzAtM10kIgoJICBhbmQgcmVnLgoJLSBEdWUgdG8gdGhlIGRlcGVuZGVu Y3ksIHJlbW92ZSB0aGUgbWVudGlvbiBvZiBtZmQKCSAgZG9jdW1lbnQgZGlyZWN0b3J5LgoJLSBE ZWxldGUgU29mdC1zdGFydCBwcm9wZXJ0eS4gSW4gZGVzaWduIGFzcGVjdCwgd2UgdGhpbmsKCSAg c29mdC1yZXN0YXJ0IHNob3VsZCBhbHdheXMgYmUgZW5hYmxlZCwgb3VyIG5ldyBjaGlwCgkgIGhh cyBkZWxldGVkIHRoZSByZWxhdGVkIHNldHRpbmcgcmVnaXN0ZXIgLCBhbHNvLCB3ZSBkb27igJl0 CgkgIGFsbG93IHVzZXIgYWRqdXN0IHRoaXMgcGFyYW1ldGVyIGluIHRoaXMgY2hpcC4KCS0gUmVm aW5lIHRoZSBjb21taXQgbWVzc2FnZS4KCi0gSW4gcGF0Y2ggMDQvMTU6CgktIFNraXAgbm90IHVz ZWZ1bCBkZXNjcmlwdGlvbiBvZiAiXmxlZEBbMC0xXSQiIGFuZCByZWcuCgktIEFkZCBhcGFjZSBh ZnRlciAnIycuCgktIFJlZmluZSB0aGUgY29tbWl0IG1lc3NhZ2UuCgotIEluIHBhdGNoIDA1LzE1 OgoJLSBSZW1vdmUgImJpbmRpbmcgZG9jdW1lbnRhdGlvbiIgaW4gc3ViamVjdCB0aXRsZQoJLSBS ZWZpbmUgZGVzY3JpcHRpb24gb2YgbXQ2MzcwIGJhY2tsaWdodCBiaW5kaW5nCgkgIGRvY3VtZW50 CgktIFJlZmluZSBwcm9wZXJ0aWVzIG5hbWUoYmxlZC1wd20taHlzLWlucHV0LWJpdCwKCSAgYmxl ZC1vdnAtbWljcm92b2x0LCBibGVkLW9jcC1taWNyb2FtcCkgYW5kIHRoZWlyCgkgIGRlc2NyaXB0 aW9uCgotIEluIHBhdGNoIDA2LzE1OgoJLSBSZWZpbmUgQURDIGFuZCBSZWd1bGF0b3IgZGVzY3Jp cHRpb25zCgktIFJlZmluZSBpbmNsdWRlIGhlYWRlciB1c2FnZSBpbiBleGFtcGxlCgktIFJlZmlu ZSBub2RlIG5hbWUgdG8gZ2VuZXJpYyBub2RlIG5hbWUoInBtaWNAMzQiKQoJLSBSZWZpbmUgbGVk IGV4YW1wbGUgaW5kZW50YXRpb24KCS0gUmVmaW5lIGxpY2Vuc2Ugb2YgbWVkaWF0ZWssbXQ2Mzcw X2FkYy5oCgktIFJlbmFtZSB0aGUgZHRzIGV4YW1wbGUgZnJvbSBJUlEgZGVmaW5lIHRvIG51bWJl ci4KCS0gUmVtb3ZlIG1lZGlhdGVrLG10NjM3MC5oCgotIEluIHBhdGNoIDA3LzE1OgoJLSBBZGQg QUJJIGRvY3VtZW50YXRpb24gZm9yIG10NjM3MCBub24tc3RhbmRhcmQgQURDCgkgIHN5c2ZzIGlu dGVyZmFjZXMuCgotIEluIHBhdGNoIDA4LzE1OgoJLSBBZGQgYWxsIElSUSBkZWZpbmUgaW50byBt dDYzNzAuYy4KCS0gUmVmaW5lIGluY2x1ZGUgaGVhZGVyIHVzYWdlCgotIEluIHBhdGNoIDA5LzE1 OgoJLSBObyBjaGFuZ2VzLgoKLSBJbiBwYXRjaCAxMC8xNToKCS0gVXNlICdncGlvZF9nZXRfZnJv bV9vZl9ub2RlJyB0byByZXBsYWNlCgkgICdmd25vZGVfZ3Bpb2RfZ2V0X2luZGV4Jy4KCi0gSW4g cGF0Y2ggMTEvMTU6CgktIFJlZmluZSBLY29uZmlnIG10NjM3MCBoZWxwIHRleHQKCS0gUmVmaW5l IG1hc2smc2hpZnQgdG8gRklFTERfUFJFUCgpCgktIFJlZmluZSBtdXRleCBsb2NrIG5hbWUgKCJs b2NrIiAtPiAiYWRjX2xvY2siKQoJLSBSZWZpbmUgbXQ2MzcwX2FkY19yZWFkX3NjYWxlKCkKCS0g UmVmaW5lIG10NjM3MF9hZGNfcmVhZF9vZmZzZXQoKQoJLSBSZWZpbmUgbXQ2MzcwX2NoYW5uZWxf bGFiZWxzW10gYnkgdXNpbmcgZW51bSB0byBpbmRleAoJICBjaGFuIHNwZWMKCS0gUmVmaW5lIE1U NjM3MF9BRENfQ0hBTigpCgktIFJlZmluZSBpbmRpb19kZXYtPm5hbWUKCS0gUmVtb3ZlIHVzZWxl c3MgaW5jbHVkZSBoZWFkZXIgZmlsZXMKCi0gSW4gcGF0Y2ggMTIvMTU6CgktIFJlZmluZSBtdDYz NzBfY2hnX290Z19yZGVzYy5vZl9tYXRjaAoJICAoIm10NjM3MCxvdGctdmJ1cyIgLT4gInVzYi1v dGctdmJ1cy1yZWd1bGF0b3IiKSB0byBtYXRjaAoJICBEVCBiaW5kaW5nCgotIEluIHBhdGNoIDEz LzE1OgoJLSBSZWZpbmUgS2NvbmZpZyBkZXNjcmlwdGlvbi4KCS0gUmVtb3ZlIGluY2x1ZGUgImxp bnV4L29mLmgiIGFuZCB1c2UKCSAgImxpbnV4L21vZF9kZXZpY2V0YWJsZS5oIi4KCS0gUGxhY2Ug YSBjb21tYSBmb3IgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgY29uc3QKCSAgdW5zaWduZWQgaW50 IGFycmF5LgoJLSBBZGQgYSBjb21tZW50IGxpbmUgZm9yIHRoZSBtdXRleCAnbG9jaycuCgktIElu IHByb2JlIGZ1bmN0aW9uLCB1c2UgJ2Rldl9lcnJfcHJvYmUnIGluIHNvbWUKCSAganVkZ2VtZW50 IHRvIHJlZHVjZSB0aGUgTE9DLgoJLSBSZWZpbmUgaW5jbHVkZSBoZWFkZXIgdXNhZ2UuCgkgIEJJ VC9HRU5NQVNLIC0+IGxpbnV4L2JpdHMuaAoJICBGSUVMRF9HRVQgLT4gbGludXgvYml0ZmllbGQu aAoKLSBJbiBwYXRjaCAxNC8xNToKCS0gQWRkIGJsYW5rIGxpbmUuCgktIFJlcGxhY2UgY29udGFp bmVyX29mKCkgd2l0aCB0b19tdDYzNzBfbGVkKCkgLgoJLSBSZWZpbmUgZGVzY3JpcHRpb24gb2Yg cmFtcGluZy4KCS0gUmVmaW5lIHRoZSBtdDYzNzBfaW5pdF9jb21tb25fcHJvcGVydGllcyBmdW5j dGlvbi4KCS0gUmVmaW5lIHRoZSBwcm9iZSByZXR1cm4uCgotIEluIHBhdGNoIDE1LzE1OgoJLSBS ZWZpbmUgTVQ2MzcwIGhlbHAgdGV4dCBpbiBLY29uZmlnCgktIFJlZmluZSBEVCBQYXJzZSBmdW5j dGlvbgoJLSBSZW1vdmUgdXNlbGVzcyBlbnVtCgktIEFkZCBjb21tZW50IGZvciA2MzcyIGJhY2t3 YXJkIGNvbXBhdGlibGUgaW4KCSAgYmxfdXBkYXRlX3N0YXR1cygpIGFuZAoJICBjaGVja192ZW5k b3JfaW5mbygpCgktIFVzaW5nIGRldl9lcnJfcHJvYmUoKTsgaW5zdGVhZHMgZGV2X2VycigpJnJl dHVybjsgaW4KCSAgdGhlIHByb2JlKCkKCgoKQWxpY2UgQ2hlbiAoMik6CiAgZHQtYmluZGluZ3M6 IGxlZHM6IEFkZCBNZWRpYVRlayBNVDYzNzAgZmxhc2hsaWdodAogIGxlZHM6IGZsYXNoOiBtdDYz NzA6IEFkZCBNZWRpYVRlayBNVDYzNzAgZmxhc2hsaWdodCBzdXBwb3J0CgpDaGlZdWFuIEh1YW5n ICgyKToKICBkdC1iaW5kaW5nczogbGVkczogbXQ2MzcwOiBBZGQgTWVkaWFUZWsgTVQ2MzcwIGN1 cnJlbnQgc2luayB0eXBlIExFRAogICAgaW5kaWNhdG9yCiAgbGVkczogcmdiOiBtdDYzNzA6IEFk ZCBNZWRpYVRlayBNVDYzNzAgY3VycmVudCBzaW5rIHR5cGUgTEVEIEluZGljYXRvcgogICAgc3Vw cG9ydAoKQ2hpYUVuIFd1ICg0KToKICBkdC1iaW5kaW5nczogcG93ZXI6IHN1cHBseTogQWRkIE1l ZGlhVGVrIE1UNjM3MCBDaGFyZ2VyCiAgbGliOiBhZGQgbGluZWFyIHJhbmdlIGluZGV4IG1hY3Jv CiAgaWlvOiBhZGM6IG10NjM3MDogQWRkIE1lZGlhVGVrIE1UNjM3MCBzdXBwb3J0CiAgcG93ZXI6 IHN1cHBseTogbXQ2MzcwOiBBZGQgTWVkaWFUZWsgTVQ2MzcwIGNoYXJnZXIgZHJpdmVyCgogLi4u L2JpbmRpbmdzL2xlZHMvbWVkaWF0ZWssbXQ2MzcwLWZsYXNobGlnaHQueWFtbCAgfCAgIDQxICsK IC4uLi9iaW5kaW5ncy9sZWRzL21lZGlhdGVrLG10NjM3MC1pbmRpY2F0b3IueWFtbCAgIHwgICA4 MSArKwogLi4uL3Bvd2VyL3N1cHBseS9tZWRpYXRlayxtdDYzNzAtY2hhcmdlci55YW1sICAgICAg fCAgIDk2ICsrCiBkcml2ZXJzL2lpby9hZGMvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAgMTIgKwogZHJpdmVycy9paW8vYWRjL01ha2VmaWxlICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgICAxICsKIGRyaXZlcnMvaWlvL2FkYy9tdDYzNzAtYWRjLmMgICAgICAgICAg ICAgICAgICAgICAgIHwgIDMwNSArKysrKysKIGRyaXZlcnMvbGVkcy9mbGFzaC9LY29uZmlnICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArCiBkcml2ZXJzL2xlZHMvZmxhc2gvTWFrZWZp bGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogZHJpdmVycy9sZWRzL2ZsYXNoL2xl ZHMtbXQ2MzcwLWZsYXNoLmMgICAgICAgICAgICAgfCAgNjMwICsrKysrKysrKysrKwogZHJpdmVy cy9sZWRzL3JnYi9LY29uZmlnICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEzICsKIGRy aXZlcnMvbGVkcy9yZ2IvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSAr CiBkcml2ZXJzL2xlZHMvcmdiL2xlZHMtbXQ2MzcwLXJnYi5jICAgICAgICAgICAgICAgICB8IDEw MTAgKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvcG93ZXIvc3VwcGx5L0tjb25maWcgICAg ICAgICAgICAgICAgICAgICAgIHwgICAxNCArCiBkcml2ZXJzL3Bvd2VyL3N1cHBseS9NYWtlZmls ZSAgICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogZHJpdmVycy9wb3dlci9zdXBwbHkvbXQ2 MzcwLWNoYXJnZXIuYyAgICAgICAgICAgICAgfCAgOTYxICsrKysrKysrKysrKysrKysrKysKIGlu Y2x1ZGUvbGludXgvbGluZWFyX3JhbmdlLmggICAgICAgICAgICAgICAgICAgICAgIHwgICAxMSAr CiAxNiBmaWxlcyBjaGFuZ2VkLCAzMTkyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbGVkcy9tZWRpYXRlayxtdDYzNzAt Zmxhc2hsaWdodC55YW1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0 cmVlL2JpbmRpbmdzL2xlZHMvbWVkaWF0ZWssbXQ2MzcwLWluZGljYXRvci55YW1sCiBjcmVhdGUg bW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL3Bvd2VyL3N1cHBs eS9tZWRpYXRlayxtdDYzNzAtY2hhcmdlci55YW1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9paW8vYWRjL210NjM3MC1hZGMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbGVkcy9m bGFzaC9sZWRzLW10NjM3MC1mbGFzaC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9sZWRz L3JnYi9sZWRzLW10NjM3MC1yZ2IuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvcG93ZXIv c3VwcGx5L210NjM3MC1jaGFyZ2VyLmMKCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK