From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0EDB1A034C for ; Thu, 22 Dec 2022 01:19:50 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D7E6240A7F; Thu, 22 Dec 2022 01:19:49 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id A6BAC40698 for ; Thu, 22 Dec 2022 01:19:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1671668387; x=1703204387; h=message-id:date:mime-version:subject:from:to:cc; bh=mPthMI6QuQEQviQKT3ZB2fJlAGakO5XXKKwLaIRnNJg=; b=Dzatzeq4yHZ0hmLyhP8kKEkTtd/PNj6tj1us28sx5hrS1SJe0YGlHi6c qV7bzG93+DsaKBc1gQm0Lr0zQqXG+VRbYr6uauGY29co68M4StK545ZQi Wv3ugGZQ8izhv9co3DH6TyE1+duanz11P0R4TKfKckUbzYwi2D+bSyK7o 4pKB9cbHdqW+FUmzaAPcsd+TCK/0zD+u/goLP5tUXn+2p/6AUkDz8PupA 4nDN/sqeHrgild6gpTgLwTaH1v8PJfGlIIVRpczl3ZZEmrPbdxuV2TNA5 ju/bHOQADs3CeIhDcjClAWjhTb5Xfb9Fiz0tHQXJcgNzQ5+MVkojyMwOh Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10568"; a="317641768" X-IronPort-AV: E=Sophos;i="5.96,263,1665471600"; d="scan'208";a="317641768" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2022 16:19:45 -0800 Message-Id: Date: 21 Dec 2022 16:19:16 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10568"; a="651576092" X-IronPort-AV: E=Sophos;i="5.96,263,1665471600"; d="scan'208";a="651576092" Received: from unknown (HELO [10.239.252.161]) ([10.239.252.161]) by orsmga002-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Dec 2022 16:19:16 -0800 Content-Type: multipart/alternative; boundary="===============2985670374327805484==" MIME-Version: 1.0 Subject: [dpdk-test-report] |FAILURE| pw(121241) sid(26231) job(PER_PATCH_BUILD5785)[RFC] bus/platform: add platform bus From: sys_stv@intel.com To: test-report@dpdk.org, tduszynski@marvell.com Cc: X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org --===============2985670374327805484== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 ClRlc3QtTGFiZWw6IEludGVsLWNvbXBpbGF0aW9uClRlc3QtU3RhdHVzOiBGQUlMVVJFCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8xMjEyNDEKCl9Db21waWxhdGlvbiBpc3N1ZXNfCgpTdWJtaXR0ZXI6 IFRvbWFzeiBEdXN6eW5za2kgPHRkdXN6eW5za2lAbWFydmVsbC5jb20+CkRhdGU6IDIwMjItMTIt MjIgMDA6MDE6MDYKUmVwbHlfbWFpbDogPDIwMjIxMjIyMDAwMTA2LjI3MDYxOS0xLXRkdXN6eW5z a2lAbWFydmVsbC5jb20+CgpEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLCBDb21taXRJRDog MzczZjRjN2RlOGZmMzUwNTQ4Y2FjYzNkNTZlNzg4NDYxNjc3ZjJjNwoKCk1lc29uIEJ1aWxkIFN1 bW1hcnk6IDI1IEJ1aWxkcyBEb25lLCA0IFN1Y2Nlc3NmdWwsIDIxIEZhaWx1cmVzLCAwIEJsb2Nr ZWQKCistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSsKfCBv cyAgICAgICAgICAgfCBnY2Mtc3RhdGljIHwgY2xhbmctc3RhdGljIHwgaWNjLXN0YXRpYyB8IGdj Yy1zaGFyZWQgfCBnY2MtZGVidWcgfCBkb2N1bWVudCB8IGdjYy0xNmJ5dGUgfAorLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rCnwgRkMzNi02NCAgICAgIHwg ZmFpbCAgICAgICB8IGZhaWwgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBGcmVlQlNEMTMtNjQgfCBwYXNzICAg ICAgIHwgcGFzcyAgICAgICAgIHwgICAgICAgICAgICB8IHBhc3MgICAgICAgfCBwYXNzICAgICAg fCAgICAgICAgICB8ICAgICAgICAgICAgfAp8IFJIRUw4Ni02NCAgICB8IGZhaWwgICAgICAgfCBm YWlsICAgICAgICAgfCAgICAgICAgICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAgICB8ICAgICAg ICAgIHwgICAgICAgICAgICB8CnwgU1VTRTE1LTY0ICAgIHwgZmFpbCAgICAgICB8IGZhaWwgICAg ICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAg ICAgICAgICAgIHwKfCBSSEVMOTAtNjQgICAgfCBmYWlsICAgICAgIHwgICAgICAgICAgICAgIHwg ICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAg ICAgfAp8IFVCMjAwNC02NCAgICB8IGZhaWwgICAgICAgfCBmYWlsICAgICAgICAgfCAgICAgICAg ICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8IGZhaWwgICAgIHwgICAgICAgICAgICB8Cnwg VUIyMjA0LTMyICAgIHwgZmFpbCAgICAgICB8ICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCAg ICAgICAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBVQjIyMDQt NjQgICAgfCBmYWlsICAgICAgIHwgZmFpbCAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAg ICAgfCAgICAgICAgICAgfCBmYWlsICAgICB8IGZhaWwgICAgICAgfAp8IENlbnRPUzc5LTY0ICB8 IGZhaWwgICAgICAgfCAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAg ICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8CnwgUkhFTDg2LTY0UnQgIHwgZmFpbCAg ICAgICB8ICAgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAg IHwgICAgICAgICAgfCAgICAgICAgICAgIHwKfCBVQjIyMTAtNjQgICAgfCBmYWlsICAgICAgIHwg ICAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICAgfCAgICAgICAgICAgfCAgICAg ICAgICB8ICAgICAgICAgICAgfAp8IEZDMzctNjQgICAgICB8IGZhaWwgICAgICAgfCAgICAgICAg ICAgICAgfCAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwg ICAgICAgICAgICB8CistLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSsKCkNvbW1lbnRzOiAKQmVjYXVzZSBvZiBEUERLIGJ1ZyAoaHR0cHM6Ly9idWdzLmRwZGsu b3JnL3Nob3dfYnVnLmNnaT9pZD05MjgpLApBbGwgdGhlIGRwZGstbmV4dC0qIGJyYW5jaCBhZGQg YERkaXNhYmxlX2RyaXZlcnM9ZXZlbnQvY254a2Agb3B0aW9uIHdoZW4gYnVpbGQgd2l0aCBJQ0Mg Y29tcGxpZXIuIAogClRlc3QgZW52aXJvbm1lbnQgYW5kIGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6 CgoKT1M6IEZDMzYtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjE3LjctMzAwLmZjMzYueDg2XzY0CglH Q0MgVmVyc2lvbjogZ2NjIChHQ0MpIDEyLjEuMSAyMDIyMDUwNyAoUmVkIEhhdCAxMi4xLjEtMSkK CUNsYW5nIFZlcnNpb246IDE0LjAuMCAoRmVkb3JhIDE0LjAuMC0xLmZjMzYpCgl4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwoKT1M6IEZyZWVC U0QxMy02NAoJS2VybmVsIFZlcnNpb246IDEzLjEtUkVMRUFTRQoJR0NDIFZlcnNpb246IGdjYyAo RnJlZUJTRCBQb3J0cyBDb2xsZWN0aW9uKSAxMC4zLjAKCUNsYW5nIFZlcnNpb246IDEzLjAuMCAo Z2l0QGdpdGh1Yi5jb206bGx2bS9sbHZtLXByb2plY3QuZ2l0IGxsdm1vcmctMTMuMC4wLTAtZ2Q3 YjY2OWIzYTMwMykKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1ic2Rh cHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYytzaGFyZWQKCXg4Nl82NC1uYXRpdmUt YnNkYXBwLWdjYytkZWJ1ZwoKT1M6IFJIRUw4Ni02NAoJS2VybmVsIFZlcnNpb246IDQuMTguMC0z NzIuOS4xLmVsOC54ODZfNjQKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgOC41LjAgMjAyMTA1MTQg KFJlZCBIYXQgOC41LjAtMTMpCglDbGFuZyBWZXJzaW9uOiAxNC4wLjAgKFJlZCBIYXQgMTQuMC4w LTEubW9kdWxlX2VsOC43LjArMTE0Mis1MzQzZGY1NCkKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYytzaGFyZWQKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjK2RlYnVnCgpPUzogU1VTRTE1 LTY0CglLZXJuZWwgVmVyc2lvbjogNS4xNC4yMS0xNTA0MDAuMjItZGVmYXVsdAoJR0NDIFZlcnNp b246IGdjYyAoU1VTRSBMaW51eCkgNy41LjAKCUNsYW5nIFZlcnNpb246IDExLjAuMQoJeDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCk9TOiBS SEVMOTAtNjQKCUtlcm5lbCBWZXJzaW9uOiA1LjE0LjAtNzAuMTMuMS5lbDlfMC54ODZfNjQKCUdD QyBWZXJzaW9uOiBnY2MgKEdDQykgMTEuMi4xIDIwMjIwMTI3IChSZWQgSGF0IDExLjIuMS05KQoJ Q2xhbmcgVmVyc2lvbjogMTMuMC4xIChSZWQgSGF0IDEzLjAuMS0xLmVsOSkKCXg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjCgpPUzogVUIyMDA0LTY0CglLZXJuZWwgVmVyc2lvbjogNS44LjAtNDgt Z2VuZXJpYwoJR0NDIFZlcnNpb246IGdjYyAoVWJ1bnR1IDEwLjMuMC0xdWJ1bnR1MX4yMC4wNCkg MTAuMy4wCglDbGFuZyBWZXJzaW9uOiAxMC4wLjAtNHVidW50dTEKCXg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgl4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWRvYwoKT1M6IFVCMjIwNC0zMgoJS2VybmVsIFZlcnNpb246IDUuMTUuMC0yNS1nZW5l cmljCglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUgMTEuMi4wLTE5dWJ1bnR1MSkgMTEuMi4wCglD bGFuZyBWZXJzaW9uOiBOQQoJaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogVUIyMjA0LTY0 CglLZXJuZWwgVmVyc2lvbjogNS4xNS4wLTI1LWdlbmVyaWMKCUdDQyBWZXJzaW9uOiBnY2MgKFVi dW50dSAxMS4yLjAtMTl1YnVudHUxKSAxMS4yLjAKCUNsYW5nIFZlcnNpb246IDE0LjAuMC0xdWJ1 bnR1MQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MrMTZieXRlCgl4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1kb2MKCk9TOiBDZW50T1M3OS02NAoJS2VybmVsIFZlcnNpb246IDMuMTAuMC0xMTYw Ljc2LjEuZWw3Lng4Nl82NAoJR0NDIFZlcnNpb246IGdjYyAoR0NDKSA0LjguNSAyMDE1MDYyMyAo UmVkIEhhdCA0LjguNS00NCkKCUNsYW5nIFZlcnNpb246IDMuNC4yICh0YWdzL1JFTEVBU0VfMzQv ZG90Mi1maW5hbCkKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogUkhFTDg2LTY0UnQK CUtlcm5lbCBWZXJzaW9uOiA0LjE4LjAtMzcyLjkuMS5ydDcuMTY2LmVsOC54ODZfNjQKCUdDQyBW ZXJzaW9uOiBnY2MgKEdDQykgOC41LjAgMjAyMTA1MTQgKFJlZCBIYXQgOC41LjAtMTMpCglDbGFu ZyBWZXJzaW9uOiAxNC4wLjAgKFJlZCBIYXQgMTQuMC4wLTEubW9kdWxlX2VsOC43LjArMTE0Mis1 MzQzZGY1NCkKCXg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCgpPUzogVUIyMjEwLTY0CglLZXJu ZWwgVmVyc2lvbjogNS4xOS4wLTIxLWdlbmVyaWMKCUdDQyBWZXJzaW9uOiBnY2MgKFVidW50dSAx Mi4yLjAtM3VidW50dTEpIDEyLjIuMAoJQ2xhbmcgVmVyc2lvbjogMTUuMC4yLTEKCXg4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjCgpPUzogRkMzNy02NAoJS2VybmVsIFZlcnNpb246IDYuMC43LTMw MS5mYzM3Lng4Nl82NAoJR0NDIFZlcnNpb246IGdjYyAoR0NDKSAxMi4yLjEgMjAyMjA4MTkgKFJl ZCBIYXQgMTIuMi4xLTIpCglDbGFuZyBWZXJzaW9uOiAxNS4wLjQgKEZlZG9yYSAxNS4wLjQtMS5m YzM3KQoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKCgoKKkJ1aWxkIEZhaWxlZCAjMToKT1M6 IEZDMzYtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZl cnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8g CmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wIC1JZHJpdmVycyAtSS4u L2RyaXZlcnMgLUlkcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGli L2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9p bmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUls aWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwg LUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJp Y3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtZmRpYWdub3N0aWNzLWNvbG9y PWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRy YSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNh dGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNz aW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1X b2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3Ry aWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBh Y2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWlu aXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1t YXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJ IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1idXMucGxh dGZvcm0gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxh dGZvcm1fcGxhdGZvcm0uYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEu cC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2J1c19w bGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAtYyAuLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjEyOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3Bs YXRmb3JtLmg6OTE6Mjc6IGVycm9yOiBmaWVsZCDigJhkZXZpY2XigJkgaGFzIGluY29tcGxldGUg dHlwZQogICA5MSB8ICAgICAgICAgc3RydWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8IENvcmUg ZGV2aWNlICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjEwMjoyNzogZXJyb3I6IGZpZWxk IOKAmGRyaXZlcuKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgMTAyIHwgICAgICAgICBzdHJ1Y3Qg cnRlX2RyaXZlciBkcml2ZXI7IC8qKjwgQ29yZSBkcml2ZXIgKi8KICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyMDoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0 ZS5oOjMwOjI0OiBlcnJvcjogZmllbGQg4oCYYnVz4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAg MzAgfCAgICAgICAgIHN0cnVjdCBydGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgIF5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOiBJbiBmdW5jdGlvbiDigJhkZXZpY2VfYWxsb3dlZOKAmToKLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzo2ODoxNDogZXJyb3I6IOKAmFJURV9CVVNfU0NBTl9VTkRFRklORUTi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIDY4IHwgICAgICAg ICBjYXNlIFJURV9CVVNfU0NBTl9VTkRFRklORUQ6CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2ODox NDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzo2OToxNDogZXJyb3I6IOKAmFJURV9CVVNfU0NBTl9BTExPV0xJU1TigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIDY5IHwgICAgICAgICBjYXNl IFJURV9CVVNfU0NBTl9BTExPV0xJU1Q6CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo3MzoxNDogZXJy b3I6IOKAmFJURV9CVVNfU0NBTl9CTE9DS0xJU1TigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgIDczIHwgICAgICAgICBjYXNlIFJURV9CVVNfU0NBTl9CTE9DS0xJ U1Q6CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6ODoKLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVz X2ZpbmRfZGV2aWNl4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2Nzog ZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRp YmxlIHBvaW50ZXIgdHlwZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI2NDoy NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9UQUlMUV9ORVhU4oCZCiAgMjY0 IHwgICAgICAgICBwZGV2ID0gc3RhcnQgPyBSVEVfVEFJTFFfTkVYVChSVEVfREVWX1RPX1BMQVRG T1JNX0RFVl9DT05TVChzdGFydCksIG5leHQpIDoKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZv cm0uaDoxMjA6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKA mQogIDEyMCB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgY29uc3Qgc3RydWN0IHJ0ZV9wbGF0 Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI2NDozOTogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVWX0NPTlNU4oCZCiAgMjY0IHwgICAgICAg ICBwZGV2ID0gc3RhcnQgPyBSVEVfVEFJTFFfTkVYVChSVEVfREVWX1RPX1BMQVRGT1JNX0RFVl9D T05TVChzdGFydCksIG5leHQpIDoKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19wbHVn4oCZOgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI4OTozMTogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNl4oCZCiAgMjg5IHwgICAg ICAgICBpZiAoIWRldmljZV9leGlzdHMoZGV2LT5uYW1lKSkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI5 MjozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVf ZGV2aWNl4oCZCiAgMjkyIHwgICAgICAgICBpZiAoZGV2aWNlX2FsbG93ZWQoZGV2LT5uYW1lKSkg ewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MjE6Ci4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjY3OiBlcnJvcjogaW5pdGlhbGl6YXRp b24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKA mHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlw ZXNdCiAgODEyIHwgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAq KTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAgY29udGFpbmVy X29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAg ICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI5ODoz MTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW 4oCZCiAgMjk4IHwgICAgICAgICByZXR1cm4gcGxhdGZvcm1fcHJvYmUoUlRFX0RFVl9UT19QTEFU Rk9STV9ERVYoZGV2KSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzog SW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX3VucGx1Z+KAmToKLi4vbGliL2VhbC9pbmNsdWRl L3J0ZV9jb21tb24uaDo4MTI6Njc6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBp bnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZp Y2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA4MTIgfCAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9w dHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY Y29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAgICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3Qg cnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzA0OjQ0OiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAzMDQgfCAgICAg ICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9S TV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21t b24uaDo4MTI6Njc6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwZGV24oCZKQog IDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+ bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5lcl9vZihw dHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBe fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6NDQ6IG5v dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQog IDMwNCB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVW X1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZG1hX21hcOKA mToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IGVycm9yOiBpbml0aWFs aXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5 cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRl ci10eXBlc10KICA4MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0 eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAgICBjb250 YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8 ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 MzI1OjQ0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9S TV9ERVbigJkKICAzMjUgfCAgICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2 ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0 aW9uIGZvciDigJhwZGV24oCZKQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAg ICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZp Y2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzozMjU6NDQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVW X1RPX1BMQVRGT1JNX0RFVuKAmQogIDMyNSB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhw bGF0Zm9ybV9idXNfZG1hX3VubWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5o OjgxMjo2NzogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20g aW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vy cm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBc CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRm b3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bi gJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1f ZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNDY6NDQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDM0NiB8ICAgICAgICAgc3RydWN0IHJ0 ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2Nzog bm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBkZXbigJkpCiAgODEyIHwgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRy ID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0 ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNv bnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0 ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM0Njo0NDogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzQ2IHwgICAgICAg ICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1f REVWKGRldik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoz OTM6NDQ6IGVycm9yOiBleHBlY3RlZCDigJgp4oCZIGJlZm9yZSDigJgu4oCZIHRva2VuCiAgMzkz IHwgUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5idXMpOwogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKY2MxOiBhbGwgd2Fy bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKWzU3NS8zMjM0XSBHZW5lcmF0aW5nIHJ0ZV9i dXNfaWZwZ2EucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kCls1NzYvMzIzNF0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9y bV9wbGF0Zm9ybV9wYXJhbXMuYy5vCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0 Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gCmdjYyAtSWRyaXZlcnMv bGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2 ZXJzL2J1cy9wbGF0Zm9ybSAtSS4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLiAtSS4uIC1JY29u ZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1J bGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2Vh bC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAt SS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1J Li4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1l dHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxF X09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAt aW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1X Zm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9u cyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmlu aXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMg LVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVdu by1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25v LXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURB TExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRy dW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1idXMucGxhdGZvcm0gLU1EIC1NUSBk cml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1f cGFyYW1zLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3Bs YXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3Bs YXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMubyAtYyAuLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjE0LAogICAgICAgICAgICAgICAgIGZyb20g Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6MTM6Ci4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDo5MToyNzogZXJyb3I6IGZpZWxkIOKAmGRl dmljZeKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgIDkxIHwgICAgICAgICBzdHJ1Y3QgcnRlX2Rl dmljZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3Jt Lmg6MTAyOjI3OiBlcnJvcjogZmllbGQg4oCYZHJpdmVy4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUK ICAxMDIgfCAgICAgICAgIHN0cnVjdCBydGVfZHJpdmVyIGRyaXZlcjsgLyoqPCBDb3JlIGRyaXZl ciAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3ByaXZhdGUuaDozMDoyNDogZXJyb3I6IGZpZWxkIOKAmGJ1c+KAmSBoYXMg aW5jb21wbGV0ZSB0eXBlCiAgIDMwIHwgICAgICAgICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENv cmUgYnVzICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2Rl dl9tYXRjaOKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6Mzg6 Mzc6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhjb25zdCBzdHJ1Y3Qg cnRlX2RldmljZeKAmQogICAzOCB8ICAgICAgICAgaWYgKG5hbWUgJiYgc3RyY21wKG5hbWUsIGRl di0+bmFtZSkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6IEluIGZ1bmN0aW9uIOKA mHBsYXRmb3JtX2J1c19kZXZfaXRlcmF0ZeKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm1fcGFyYW1zLmM6NDg6OTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lIOKAmHJ0ZV9idXNf ZmluZF9kZXZpY2VfdOKAmQogICA0OCB8ICAgICAgICAgcnRlX2J1c19maW5kX2RldmljZV90IGZp bmRfZGV2aWNlOwogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjU2OjM3OiBlcnJvcjog4oCYRUlOVkFM 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA1NiB8ICAgICAg ICAgICAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm1fcGFyYW1zLmM6NTY6Mzc6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVy IGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCls1 NzcvMzIzNF0gR2VuZXJhdGluZyBydGVfYnVzX2RwYWEucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21t YW5kCls1NzgvMzIzNF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf ZnNsbWMuYS5wL2J1c19mc2xtY19xYm1hbl9xYm1hbl9wb3J0YWwuYy5vCls1NzkvMzIzNF0gQ29t cGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xp bnV4X3BjaV92ZmlvLmMubwpbNTgwLzMyMzRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnRtcF9ydGVfYnVzX3ZkZXYuYS5wL2J1c192ZGV2X3ZkZXYuYy5vCls1ODEvMzIzNF0gQ29tcGls aW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xpbnV4 X3BjaS5jLm8KWzU4Mi8zMjM0XSBHZW5lcmF0aW5nIHZob3N0LnN5bV9jaGsgd2l0aCBhIGN1c3Rv bSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbNTgzLzMyMzRd IENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX3BpcGVsaW5lLmEucC9waXBlbGluZV9ydGVf dGFibGVfYWN0aW9uLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAj MjoKT1M6IEZDMzYtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkZBSUxF RDogZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRm b3JtX3BhcmFtcy5jLm8gCmNsYW5nIC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5h LnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJp dmVycy9idXMvcGxhdGZvcm0gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFs L2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUku Li9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2Vh bC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIv ZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJp Y3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1m Y29sb3ItZGlhZ25vc3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQt cGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFs IC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3Vy aXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQt ZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29t cGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRk cmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURf R05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAt REFMTE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9y bSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9y bV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3Jt LmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMuby5kIC1vIGRyaXZlcnMvbGlidG1w X3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1j IC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoKSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDoxNDoK Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjog ZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAgc3Ry dWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8IENvcmUgZGV2aWNlICovCiAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2Rldmlj ZTsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtX3BhcmFtcy5jOjEzOgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjE0OgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVz X3BsYXRmb3JtLmg6MTAyOjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3Ry dWN0IHJ0ZV9kcml2ZXInCiAgICAgICAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENv cmUgZHJpdmVyICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1 ZGUvcnRlX2Rldi5oOjMwOjg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBy dGVfZHJpdmVyJwpzdHJ1Y3QgcnRlX2RyaXZlcjsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6MTc6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21w bGV0ZSB0eXBlICdzdHJ1Y3QgcnRlX2J1cycKICAgICAgICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8q IENvcmUgYnVzICovCiAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUv cnRlX2J1cy5oOjI1Ojg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVf YnVzJwpzdHJ1Y3QgcnRlX2J1czsKICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm1fcGFyYW1zLmM6Mzg6MzA6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlw ZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAgaWYgKG5hbWUgJiYgc3RyY21wKG5hbWUsIGRl di0+bmFtZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl4KLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgcnRlX2RldmljZScKc3RydWN0IHJ0ZV9kZXZpY2U7CiAgICAgICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjQ4OjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdydGVfYnVzX2ZpbmRfZGV2aWNlX3QnOyBkaWQgeW91IG1lYW4gJ3J0 ZV9idXNfZmluZF9ieV9kZXZpY2UnPwogICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5k X2RldmljZTsKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICBydGVfYnVzX2Zp bmRfYnlfZGV2aWNlCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnVzLmg6MTEwOjE3OiBub3RlOiAn cnRlX2J1c19maW5kX2J5X2RldmljZScgZGVjbGFyZWQgaGVyZQpzdHJ1Y3QgcnRlX2J1cyAqcnRl X2J1c19maW5kX2J5X2RldmljZShjb25zdCBzdHJ1Y3QgcnRlX2RldmljZSAqZGV2KTsKICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6 MjM6IGVycm9yOiBleHBlY3RlZCAnOycgYWZ0ZXIgZXhwcmVzc2lvbgogICAgICAgIHJ0ZV9idXNf ZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w bGF0Zm9ybV9wYXJhbXMuYzo0ODoyNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ2ZpbmRfZGV2aWNlJwogICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2Rldmlj ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybV9wYXJhbXMuYzo1NjoxNjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ0VJTlZBTCcKICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFM OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjYyOjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBp ZGVudGlmaWVyICdmaW5kX2RldmljZScKICAgICAgICBmaW5kX2RldmljZSA9IHBsYXRmb3JtX2J1 cy5idXMuZmluZF9kZXZpY2U7CiAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybV9wYXJhbXMuYzo2Mzo3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAn ZmluZF9kZXZpY2UnCiAgICAgICAgaWYgKCFmaW5kX2RldmljZSkKICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6MjogZXJyb3I6IGV4cHJl c3Npb24gcmVzdWx0IHVudXNlZCBbLVdlcnJvciwtV3VudXNlZC12YWx1ZV0KICAgICAgICBydGVf YnVzX2ZpbmRfZGV2aWNlX3QgZmluZF9kZXZpY2U7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn5+CjExIGVycm9ycyBnZW5lcmF0ZWQuCls1NzgvMzIyMF0gR2VuZXJhdGluZyBydGVfYnVzX2lm cGdhLnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbNTc5LzMyMjBdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxh dGZvcm0uYy5vCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVz X3BsYXRmb3JtX3BsYXRmb3JtLmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3Bs YXRmb3JtLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZvcm0g LUkuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAt SWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5j bHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUku Li9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1v biAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUls aWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxl bWV0cnkgLWZjb2xvci1kaWFnbm9zdGljcyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1X aW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdj YXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3Jt YXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAt V25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1X c2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3Mg LVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxp emVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5U QUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9YnVz LnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVz X3BsYXRmb3JtX3BsYXRmb3JtLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9y bS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLWMgLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1 c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3Ry dWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAgc3RydWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8IENv cmUgZGV2aWNlICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1 ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBy dGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2RldmljZTsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MTI6Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6MjA6IGVycm9yOiBmaWVsZCBoYXMgaW5j b21wbGV0ZSB0eXBlICdzdHJ1Y3QgcnRlX2RyaXZlcicKICAgICAgICBzdHJ1Y3QgcnRlX2RyaXZl ciBkcml2ZXI7IC8qKjwgQ29yZSBkcml2ZXIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGV2Lmg6MzA6ODogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IHJ0ZV9kcml2ZXInCnN0cnVjdCBydGVfZHJpdmVyOwogICAgICAgXgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoy MDoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjMwOjE3OiBlcnJvcjogZmllbGQg aGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHJ0ZV9idXMnCiAgICAgICAgc3RydWN0IHJ0ZV9i dXMgYnVzOyAvKiBDb3JlIGJ1cyAqLwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9idXMuaDoyNTo4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgcnRlX2J1cycKc3RydWN0IHJ0ZV9idXM7CiAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6Njg6NzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZp ZXIgJ1JURV9CVVNfU0NBTl9VTkRFRklORUQnCiAgICAgICAgY2FzZSBSVEVfQlVTX1NDQU5fVU5E RUZJTkVEOgogICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5j OjY5Ojc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQlVTX1NDQU5f QUxMT1dMSVNUJwogICAgICAgIGNhc2UgUlRFX0JVU19TQ0FOX0FMTE9XTElTVDoKICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo3Mzo3OiBlcnJvcjogdXNl IG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JVU19TQ0FOX0JMT0NLTElTVCcKICAgICAg ICBjYXNlIFJURV9CVVNfU0NBTl9CTE9DS0xJU1Q6CiAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjY0OjcwOiBlcnJvcjogbWVtYmVyIHJlZmVyZW5jZSB0 eXBlICd2b2lkJyBpcyBub3QgYSBwb2ludGVyCiAgICAgICAgcGRldiA9IHN0YXJ0ID8gUlRFX1RB SUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5efn5+fgouLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUvcnRlX29zLmg6 MjU6NTQ6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1JURV9UQUlMUV9ORVhUJwojZGVmaW5l IFJURV9UQUlMUV9ORVhUKGVsZW0sIGZpZWxkKSBUQUlMUV9ORVhUKGVsZW0sIGZpZWxkKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fl5+fn5+fgov dXNyL2luY2x1ZGUvc3lzL3F1ZXVlLmg6NDU5OjQxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3Jv ICdUQUlMUV9ORVhUJwojZGVmaW5lIFRBSUxRX05FWFQoZWxtLCBmaWVsZCkgICAgICAgICAgKChl bG0pLT5maWVsZC50cWVfbmV4dCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5+fiAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI4OToyNDog ZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgcnRlX2RldmljZScK ICAgICAgICBpZiAoIWRldmljZV9leGlzdHMoZGV2LT5uYW1lKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+XgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2Rldmlj ZTsKICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyOTI6MjQ6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAg ICAgICAgaWYgKGRldmljZV9hbGxvd2VkKGRldi0+bmFtZSkpIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+XgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2Rldmlj ZTsKICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyOTg6MjQ6IGVy cm9yOiBwYXNzaW5nICd2b2lkJyB0byBwYXJhbWV0ZXIgb2YgaW5jb21wYXRpYmxlIHR5cGUgJ3N0 cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlIConCiAgICAgICAgcmV0dXJuIHBsYXRmb3JtX3Byb2Jl KFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldikpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnUlRF X0RFVl9UT19QTEFURk9STV9ERVYnCiAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0 ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjgxMTo0MTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnY29udGFpbmVyX29mJwoj ZGVmaW5lIGNvbnRhaW5lcl9vZihwdHIsIHR5cGUsIG1lbWJlcikgX19leHRlbnNpb25fXyAoeyAg ICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzoxODM6NDQ6IG5vdGU6IHBhc3NpbmcgYXJndW1lbnQgdG8gcGFyYW1ldGVyICdw ZGV2JyBoZXJlCnBsYXRmb3JtX3Byb2JlKHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMwNDozMDogZXJyb3I6IGluaXRpYWxpemluZyAnc3Ry dWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKicgd2l0aCBhbiBleHByZXNzaW9uIG9mIGluY29tcGF0 aWJsZSB0eXBlICd2b2lkJwogICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2 ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXiAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMjU6MzA6IGVycm9yOiBpbml0aWFsaXppbmcgJ3N0 cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlIConIHdpdGggYW4gZXhwcmVzc2lvbiBvZiBpbmNvbXBh dGlibGUgdHlwZSAndm9pZCcKICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRl diA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4gICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjMwOiBlcnJvcjogaW5pdGlhbGl6aW5nICdz dHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqJyB3aXRoIGFuIGV4cHJlc3Npb24gb2YgaW5jb21w YXRpYmxlIHR5cGUgJ3ZvaWQnCiAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBk ZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5MzozMjogZXJyb3I6IHJlZGVmaW5pdGlvbiBv ZiBwYXJhbWV0ZXIgJ3BsYXRmb3JtX2J1cycKUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMs IHBsYXRmb3JtX2J1cy5idXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5Mzo0NDogZXJyb3I6IGV4cGVjdGVkICcp JwpSVEVfUkVHSVNURVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6MzkzOjE3OiBub3RlOiB0byBtYXRjaCB0aGlzICcoJwpSVEVfUkVH SVNURVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzkzOjE6IGVycm9yOiB0eXBl IHNwZWNpZmllciBtaXNzaW5nLCBkZWZhdWx0cyB0byAnaW50JyBbLVdlcnJvciwtV2ltcGxpY2l0 LWludF0KUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5idXMpOwpe Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzkzOjE4OiBlcnJvcjogYSBwYXJh bWV0ZXIgbGlzdCB3aXRob3V0IHR5cGVzIGlzIG9ubHkgYWxsb3dlZCBpbiBhIGZ1bmN0aW9uIGRl ZmluaXRpb24KUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5idXMp OwogICAgICAgICAgICAgICAgIF4KMTcgZXJyb3JzIGdlbmVyYXRlZC4KWzU4MC8zMjIwXSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGlu dXhfcGNpX3Vpby5jLm8KWzU4MS8zMjIwXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0 bXBfcnRlX2J1c192ZGV2LmEucC9idXNfdmRldl92ZGV2LmMubwpbNTgyLzMyMjBdIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9w Y2lfdmZpby5jLm8KWzU4My8zMjIwXSBHZW5lcmF0aW5nIHJ0ZV9idXNfZHBhYS5wbWQuYyB3aXRo IGEgY3VzdG9tIGNvbW1hbmQKWzU4NC8zMjIwXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9s aWJ0bXBfcnRlX2J1c19mc2xtYy5hLnAvYnVzX2ZzbG1jX3FibWFuX3FibWFuX3BvcnRhbC5jLm8K WzU4NS8zMjIwXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2ku YS5wL2J1c19wY2lfbGludXhfcGNpLmMubwpbNTg2LzMyMjBdIENvbXBpbGluZyBDIG9iamVjdCBs aWIvbGlicnRlX3BpcGVsaW5lLmEucC9waXBlbGluZV9ydGVfdGFibGVfYWN0aW9uLmMubwpuaW5q YTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMzoKT1M6IFJIRUw4Ni02NApUYXJn ZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRl X2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gCmdjYyAt SWRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZl cnMgLUlkcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLiAt SS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9p bmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRl IC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFs L2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIv a3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUls aWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5 cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vy cm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1X Zm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRl Y2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0 eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXBy b3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1wYWNrZWQtbm90LWFsaWduZWQg LVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJj aD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1X bm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1idXMucGxhdGZv cm0gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZv cm1fcGxhdGZvcm1fcGFyYW1zLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9y bS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8uZCAtbyBkcml2ZXJzL2xpYnRt cF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMubyAt YyAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYwpJbiBmaWxlIGluY2x1 ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjE0LAogICAgICAgICAg ICAgICAgIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6MTM6 Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDo5MToyMDogZXJyb3I6 IGZpZWxkIOKAmGRldmljZeKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHJ0ZV9kZXZp Y2UgZGV2aWNlOyAvKio8IENvcmUgZGV2aWNlICovCiAgICAgICAgICAgICAgICAgICAgXn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6MjA6IGVycm9y OiBmaWVsZCDigJhkcml2ZXLigJkgaGFzIGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBydGVfZHJp dmVyIGRyaXZlcjsgLyoqPCBDb3JlIGRyaXZlciAqLwogICAgICAgICAgICAgICAgICAgIF5+fn5+ fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1f cGFyYW1zLmM6MTM6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDozMDoxNzogZXJy b3I6IGZpZWxkIOKAmGJ1c+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHJ0ZV9idXMg YnVzOyAvKiBDb3JlIGJ1cyAqLwogICAgICAgICAgICAgICAgIF5+fgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fZGV2X21h dGNo4oCZOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzozODozMDog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYY29uc3Qg c3RydWN0IHJ0ZV9kZXZpY2XigJkKICBpZiAobmFtZSAmJiBzdHJjbXAobmFtZSwgZGV2LT5uYW1l KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcGxhdGZvcm1fcGFyYW1zLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19kZXZfaXRl cmF0ZeKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6Mjog ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2VfdOKAmQogIHJ0 ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICBefn5+fn5+fn5+fn5+fn5+fn5+fn4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NTY6MTY6IGVycm9yOiDi gJhFSU5WQUzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICBy dGVfZXJybm8gPSBFSU5WQUw7CiAgICAgICAgICAgICAgICBefn5+fn4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NTY6MTY6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBp ZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBl YXJzIGluCls1NzYvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8KRkFJTEVEOiBkcml2ZXJz L2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vIApn Y2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucCAtSWRyaXZlcnMgLUkuLi9k cml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybSAt SS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9l YWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5j bHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGli L2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1J bGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNz IC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLWZkaWFnbm9zdGljcy1jb2xvcj1h bHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEg LVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRl ZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2lu Zy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29s ZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmlj dC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tcGFja2VkLW5vdC1hbGln bmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAt bWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQ SSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9YnVzLnBs YXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3Bs YXRmb3JtX3BsYXRmb3JtLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5h LnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf cGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLWMgLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjogZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBsZXRl IHR5cGUKICBzdHJ1Y3QgcnRlX2RldmljZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAg ICAgICAgICAgICAgICAgICBefn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjEwMjoyMDogZXJyb3I6IGZpZWxkIOKAmGRyaXZlcuKAmSBoYXMgaW5jb21wbGV0 ZSB0eXBlCiAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAg ICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjIwOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2 YXRlLmg6MzA6MTc6IGVycm9yOiBmaWVsZCDigJhidXPigJkgaGFzIGluY29tcGxldGUgdHlwZQog IHN0cnVjdCBydGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgICAgICAgICAgICBefn4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYZGV2aWNl X2FsbG93ZWTigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6NzogZXJy b3I6IOKAmFJURV9CVVNfU0NBTl9VTkRFRklORUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JVU19BVVhJTElBUlnigJk/CiAg Y2FzZSBSVEVfQlVTX1NDQU5fVU5ERUZJTkVEOgogICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgogICAgICAgUlRFX0JVU19BVVhJTElBUlkKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZv cm0uYzo2ODo3OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBv bmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjY5Ojc6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fQUxMT1dMSVNU 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGNhc2UgUlRFX0JV U19TQ0FOX0FMTE9XTElTVDoKICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo3Mzo3OiBlcnJvcjog4oCYUlRFX0JVU19TQ0FOX0JM T0NLTElTVOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNl IFJURV9CVVNfU0NBTl9CTE9DS0xJU1Q6CiAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Cklu IGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjg6 Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRm b3JtX2J1c19maW5kX2RldmljZeKAmToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4 MTI6NDY6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGlu Y29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBb LVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgIGNvbnN0IHR5cGVvZigoKHR5 cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6MjY0OjE3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX1RBSUxRX05FWFTi gJkKICBwZGV2ID0gc3RhcnQgPyBSVEVfVEFJTFFfTkVYVChSVEVfREVWX1RPX1BMQVRGT1JNX0RF Vl9DT05TVChzdGFydCksIG5leHQpIDoKICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTIwOjI6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICBjb250YWluZXJfb2YocHRy LCBjb25zdCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogIF5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI2NDozMjogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVWX0NPTlNU4oCZCiAgcGRl diA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qo c3RhcnQpLCBuZXh0KSA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzog SW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX3BsdWfigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6Mjg5OjI0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZeKAmQogIGlmICghZGV2aWNlX2V4aXN0 cyhkZXYtPm5hbWUpKQogICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjIxLAogICAg ICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoK Li4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXph dGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg 4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10 eXBlc10KICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIp OyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0 cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mjk4OjI0OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICByZXR1cm4gcGxhdGZvcm1fcHJv YmUoUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KSk7CiAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c191bnBsdWfigJk6Ci4uL2xpYi9lYWwvaW5j bHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29u c3QgaW50ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVf ZGV2aWNlICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgICBjb25z dCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhjb250YWluZXJfb2bigJkKICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRm b3JtX2RldmljZSwgZGV2aWNlKQogIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybS5jOjMwNDozNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9E RVZfVE9fUExBVEZPUk1fREVW4oCZCiAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYg PSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0 ZV9jb21tb24uaDo4MTI6NDY6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwZGV2 4oCZKQogICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7 IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwgc3Ry dWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt YWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxhdGZvcm1f ZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19k bWFfbWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6 IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJs ZS1wb2ludGVyLXR5cGVzXQogICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpf cHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgY29udGFpbmVy X29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMjU6Mzc6IG5vdGU6IGluIGV4 cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIHN0cnVjdCBy dGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBub3RlOiAobmVhciBp bml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikw KS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZv cm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKA mQogIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2Up CiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzI1OjM3 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbi gJkKICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZP Uk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBm dW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZG1hX3VubWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUv cnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGlu dCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2Rldmlj ZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogICAgY29uc3QgdHlw ZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY Y29udGFpbmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzozNDY6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RP X1BMQVRGT1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRF X0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29t bW9uLmg6ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkK ICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBy dGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g 4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2Rldmlj ZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6Mzc4OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3Ig dW5pb24gaW5pdGlhbGl6ZXIKICAgLnNjYW4gPSBwbGF0Zm9ybV9idXNfc2NhbiwKICAgXgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM3ODozOiBub3RlOiAobmVhciBpbml0aWFs aXphdGlvbiBmb3Ig4oCYcGxhdGZvcm1fYnVzLmJ1c+KAmSkKLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcGxhdGZvcm0uYzozNzk6MzogZXJyb3I6IGZpZWxkIG5hbWUgbm90IGluIHJlY29yZCBvciB1 bmlvbiBpbml0aWFsaXplcgogICAucHJvYmUgPSBwbGF0Zm9ybV9idXNfcHJvYmUsCiAgIF4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNzk6Mzogbm90ZTogKG5lYXIgaW5pdGlh bGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6MzgwOjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3Ig dW5pb24gaW5pdGlhbGl6ZXIKICAgLmZpbmRfZGV2aWNlID0gcGxhdGZvcm1fYnVzX2ZpbmRfZGV2 aWNlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgwOjM6IG5vdGU6 IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MTozOiBlcnJvcjogZmllbGQgbmFtZSBub3Qg aW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5wbHVnID0gcGxhdGZvcm1fYnVzX3Bs dWcsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODE6Mzogbm90ZTog KG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgyOjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBp biByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLnVucGx1ZyA9IHBsYXRmb3JtX2J1c191 bnBsdWcsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODI6Mzogbm90 ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgzOjM6IGVycm9yOiBmaWVsZCBuYW1lIG5v dCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLnBhcnNlID0gcGxhdGZvcm1fYnVz X3BhcnNlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgzOjM6IG5v dGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4NDozOiBlcnJvcjogZmllbGQgbmFtZSBu b3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5kbWFfbWFwID0gcGxhdGZvcm1f YnVzX2RtYV9tYXAsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODQ6 Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkp Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg1OjM6IGVycm9yOiBmaWVsZCBu YW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmRtYV91bm1hcCA9IHBs YXRmb3JtX2J1c19kbWFfdW5tYXAsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZv cm0uYzozODU6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1 cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg2OjM6IGVycm9y OiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmdldF9p b21tdV9jbGFzcyA9IHBsYXRmb3JtX2J1c19nZXRfaW9tbXVfY2xhc3MsCiAgIF4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODY6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRp b24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmM6Mzg3OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24g aW5pdGlhbGl6ZXIKICAgLmRldl9pdGVyYXRlID0gcGxhdGZvcm1fYnVzX2Rldl9pdGVyYXRlLAog ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg3OjM6IG5vdGU6IChuZWFy IGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5Mzo0NDogZXJyb3I6IGV4cGVjdGVkIOKAmCnigJkgYmVm b3JlIOKAmC7igJkgdG9rZW4KIFJURV9SRUdJU1RFUl9CVVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9y bV9idXMuYnVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQpjYzE6IGFsbCB3 YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbNTc3LzMxODRdIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9wY2lfdWlv LmMubwpbNTc4LzMxODRdIEdlbmVyYXRpbmcgcnRlX2J1c19pZnBnYS5wbWQuYyB3aXRoIGEgY3Vz dG9tIGNvbW1hbmQKWzU3OS8zMTg0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpX3ZmaW8uYy5vCls1ODAvMzE4NF0gR2Vu ZXJhdGluZyBydGVfYnVzX2RwYWEucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kCls1ODEvMzE4 NF0gR2VuZXJhdGluZyBydGVfYnVzX2ZzbG1jLnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApb NTgyLzMxODRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5h LnAvYnVzX3BjaV9saW51eF9wY2kuYy5vCls1ODMvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxp Yi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vCls1ODQvMzE4NF0gQ29tcGls aW5nIEMgb2JqZWN0IGxpYi9saWJydGVfcGlwZWxpbmUuYS5wL3BpcGVsaW5lX3J0ZV90YWJsZV9h Y3Rpb24uYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICM0OgpPUzog UkhFTDg2LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGRy aXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5j Lm8gCmNsYW5nIC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJz IC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxh dGZvcm0gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUku Li9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xp bnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVk ZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGli L2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIv bWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mY29sb3ItZGlhZ25v c3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEg LVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRl ZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2lu Zy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29s ZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmlj dC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNr ZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAt ZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVS TkFMX0FQSSAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRy aXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5j Lm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9w bGF0Zm9ybS5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNf cGxhdGZvcm1fcGxhdGZvcm0uYy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6MTI6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDo5MToyMDog ZXJyb3I6IGZpZWxkIGhhcyBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBydGVfZGV2aWNlJwogICAg ICAgIHN0cnVjdCBydGVfZGV2aWNlIGRldmljZTsgLyoqPCBDb3JlIGRldmljZSAqLwogICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4OiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2RldmljZScKc3RydWN0IHJ0 ZV9kZXZpY2U7CiAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjEyOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3Bs YXRmb3JtLmg6MTAyOjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0 IHJ0ZV9kcml2ZXInCiAgICAgICAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUg ZHJpdmVyICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUv cnRlX2Rldi5oOjMwOjg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVf ZHJpdmVyJwpzdHJ1Y3QgcnRlX2RyaXZlcjsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjA6Ci4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3ByaXZhdGUuaDozMDoxNzogZXJyb3I6IGZpZWxkIGhhcyBpbmNvbXBsZXRlIHR5cGUg J3N0cnVjdCBydGVfYnVzJwogICAgICAgIHN0cnVjdCBydGVfYnVzIGJ1czsgLyogQ29yZSBidXMg Ki8KICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnVzLmg6 MjU6ODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9idXMnCnN0cnVj dCBydGVfYnVzOwogICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjY4 Ojc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQlVTX1NDQU5fVU5E RUZJTkVEJwogICAgICAgIGNhc2UgUlRFX0JVU19TQ0FOX1VOREVGSU5FRDoKICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2OTo3OiBlcnJvcjogdXNlIG9m IHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JVU19TQ0FOX0FMTE9XTElTVCcKICAgICAgICBj YXNlIFJURV9CVVNfU0NBTl9BTExPV0xJU1Q6CiAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6NzM6NzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ1JURV9CVVNfU0NBTl9CTE9DS0xJU1QnCiAgICAgICAgY2FzZSBSVEVfQlVTX1NDQU5f QkxPQ0tMSVNUOgogICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOjI2NDo3MDogZXJyb3I6IG1lbWJlciByZWZlcmVuY2UgdHlwZSAndm9pZCcgaXMgbm90IGEg cG9pbnRlcgogICAgICAgIHBkZXYgPSBzdGFydCA/IFJURV9UQUlMUV9ORVhUKFJURV9ERVZfVE9f UExBVEZPUk1fREVWX0NPTlNUKHN0YXJ0KSwgbmV4dCkgOgogICAgICAgICAgICAgICAgICAgICAg IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+ fn4KLi4vbGliL2VhbC9saW51eC9pbmNsdWRlL3J0ZV9vcy5oOjI1OjU0OiBub3RlOiBleHBhbmRl ZCBmcm9tIG1hY3JvICdSVEVfVEFJTFFfTkVYVCcKI2RlZmluZSBSVEVfVEFJTFFfTkVYVChlbGVt LCBmaWVsZCkgVEFJTFFfTkVYVChlbGVtLCBmaWVsZCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5efn5+fn4KL3Vzci9pbmNsdWRlL3N5cy9xdWV1 ZS5oOjQ1OTo0MTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnVEFJTFFfTkVYVCcKI2RlZmlu ZSBUQUlMUV9ORVhUKGVsbSwgZmllbGQpICAgICAgICAgICgoZWxtKS0+ZmllbGQudHFlX25leHQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn4gIF4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyODk6MjQ6IGVycm9yOiBpbmNvbXBsZXRlIGRl ZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAgaWYgKCFkZXZpY2Vf ZXhpc3RzKGRldi0+bmFtZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl4KLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgcnRlX2RldmljZScKc3RydWN0IHJ0ZV9kZXZpY2U7CiAgICAgICBeCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjkyOjI0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZp bml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVfZGV2aWNlJwogICAgICAgIGlmIChkZXZpY2VfYWxs b3dlZChkZXYtPm5hbWUpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl4KLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgcnRlX2RldmljZScKc3RydWN0IHJ0ZV9kZXZpY2U7CiAgICAgICBeCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mjk4OjI0OiBlcnJvcjogcGFzc2luZyAndm9pZCcg dG8gcGFyYW1ldGVyIG9mIGluY29tcGF0aWJsZSB0eXBlICdzdHJ1Y3QgcnRlX3BsYXRmb3JtX2Rl dmljZSAqJwogICAgICAgIHJldHVybiBwbGF0Zm9ybV9wcm9iZShSVEVfREVWX1RPX1BMQVRGT1JN X0RFVihkZXYpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6 MTE3OjI6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1JURV9ERVZfVE9fUExBVEZPUk1fREVW JwogICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBk ZXZpY2UpCiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTE6NDE6IG5vdGU6 IGV4cGFuZGVkIGZyb20gbWFjcm8gJ2NvbnRhaW5lcl9vZicKI2RlZmluZSBjb250YWluZXJfb2Yo cHRyLCB0eXBlLCBtZW1iZXIpIF9fZXh0ZW5zaW9uX18gKHsgICAgICAgICAgICAgICAgXAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MTgzOjQ0OiBu b3RlOiBwYXNzaW5nIGFyZ3VtZW50IHRvIHBhcmFtZXRlciAncGRldicgaGVyZQpwbGF0Zm9ybV9w cm9iZShzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZv cm0uYzozMDQ6MzA6IGVycm9yOiBpbml0aWFsaXppbmcgJ3N0cnVjdCBydGVfcGxhdGZvcm1fZGV2 aWNlIConIHdpdGggYW4gZXhwcmVzc2lvbiBvZiBpbmNvbXBhdGlibGUgdHlwZSAndm9pZCcKICAg ICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZP Uk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6MzI1OjMwOiBlcnJvcjogaW5pdGlhbGl6aW5nICdzdHJ1Y3QgcnRlX3BsYXRmb3JtX2Rl dmljZSAqJyB3aXRoIGFuIGV4cHJlc3Npb24gb2YgaW5jb21wYXRpYmxlIHR5cGUgJ3ZvaWQnCiAg ICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRG T1JNX0RFVihkZXYpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICAg fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjM0NjozMDogZXJyb3I6IGluaXRpYWxpemluZyAnc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UgKicgd2l0aCBhbiBleHByZXNzaW9uIG9mIGluY29tcGF0aWJsZSB0eXBlICd2b2lkJwog ICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFU Rk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAg IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzozOTM6MzI6IGVycm9yOiByZWRlZmluaXRpb24gb2YgcGFyYW1ldGVyICdwbGF0Zm9y bV9idXMnClJURV9SRUdJU1RFUl9CVVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMuYnVzKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzozOTM6NDQ6IGVycm9yOiBleHBlY3RlZCAnKScKUlRFX1JFR0lTVEVSX0JVUyhw bGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5idXMpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5 MzoxNzogbm90ZTogdG8gbWF0Y2ggdGhpcyAnKCcKUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9i dXMsIHBsYXRmb3JtX2J1cy5idXMpOwogICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjM5MzoxOiBlcnJvcjogdHlwZSBzcGVjaWZpZXIgbWlzc2luZywg ZGVmYXVsdHMgdG8gJ2ludCcgWy1XZXJyb3IsLVdpbXBsaWNpdC1pbnRdClJURV9SRUdJU1RFUl9C VVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMuYnVzKTsKXgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOjM5MzoxODogZXJyb3I6IGEgcGFyYW1ldGVyIGxpc3Qgd2l0aG91dCB0 eXBlcyBpcyBvbmx5IGFsbG93ZWQgaW4gYSBmdW5jdGlvbiBkZWZpbml0aW9uClJURV9SRUdJU1RF Ul9CVVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMuYnVzKTsKICAgICAgICAgICAgICAgICBe CjE3IGVycm9ycyBnZW5lcmF0ZWQuCls1ODQvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaV91aW8uYy5vCls1ODUv MzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0u YS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vCkZBSUxFRDogZHJpdmVycy9saWJ0 bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8g CmNsYW5nIC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJzIC1J Li4vZHJpdmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxhdGZv cm0gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9s aWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4 L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAt SWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2Vh bCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0 cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mY29sb3ItZGlhZ25vc3Rp Y3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdl cnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAt V2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1k ZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1z dHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1w cm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQt bWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJ QyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFM X0FQSSAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRyaXZl cnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJh bXMuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZv cm1fcGxhdGZvcm1fcGFyYW1zLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZv cm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1jIC4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoKSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDoxNDoKLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29t cGxldGUgdHlwZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAgc3RydWN0IHJ0ZV9kZXZpY2Ug ZGV2aWNlOyAvKio8IENvcmUgZGV2aWNlICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRp b24gb2YgJ3N0cnVjdCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2RldmljZTsKICAgICAgIF4KSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFt cy5jOjEzOgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJp dmF0ZS5oOjE0OgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTAy OjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHJ0ZV9kcml2ZXIn CiAgICAgICAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Rldi5oOjMw Ojg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZHJpdmVyJwpzdHJ1 Y3QgcnRlX2RyaXZlcjsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wcml2YXRlLmg6MzA6MTc6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1 Y3QgcnRlX2J1cycKICAgICAgICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENvcmUgYnVzICovCiAg ICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI1Ojg6 IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYnVzJwpzdHJ1Y3QgcnRl X2J1czsKICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6 Mzg6MzA6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9k ZXZpY2UnCiAgICAgICAgaWYgKG5hbWUgJiYgc3RyY21wKG5hbWUsIGRldi0+bmFtZSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9i dXMuaDoyNjo4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2Rldmlj ZScKc3RydWN0IHJ0ZV9kZXZpY2U7CiAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtX3BhcmFtcy5jOjQ4OjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVy ICdydGVfYnVzX2ZpbmRfZGV2aWNlX3QnOyBkaWQgeW91IG1lYW4gJ3J0ZV9idXNfZmluZF9ieV9k ZXZpY2UnPwogICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgICBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlCi4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfYnVzLmg6MTEwOjE3OiBub3RlOiAncnRlX2J1c19maW5kX2J5 X2RldmljZScgZGVjbGFyZWQgaGVyZQpzdHJ1Y3QgcnRlX2J1cyAqcnRlX2J1c19maW5kX2J5X2Rl dmljZShjb25zdCBzdHJ1Y3QgcnRlX2RldmljZSAqZGV2KTsKICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6MjM6IGVycm9yOiBleHBl Y3RlZCAnOycgYWZ0ZXIgZXhwcmVzc2lvbgogICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBm aW5kX2RldmljZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOwouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMu Yzo0ODoyNDogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZpbmRfZGV2aWNl JwogICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJh bXMuYzo1NjoxNjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0VJTlZBTCcK ICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt X3BhcmFtcy5jOjYyOjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmaW5k X2RldmljZScKICAgICAgICBmaW5kX2RldmljZSA9IHBsYXRmb3JtX2J1cy5idXMuZmluZF9kZXZp Y2U7CiAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo2 Mzo3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmluZF9kZXZpY2UnCiAg ICAgICAgaWYgKCFmaW5kX2RldmljZSkKICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6MjogZXJyb3I6IGV4cHJlc3Npb24gcmVzdWx0IHVu dXNlZCBbLVdlcnJvciwtV3VudXNlZC12YWx1ZV0KICAgICAgICBydGVfYnVzX2ZpbmRfZGV2aWNl X3QgZmluZF9kZXZpY2U7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CjExIGVycm9ycyBn ZW5lcmF0ZWQuCls1ODYvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9idXNfZnNsbWMuYS5wL2J1c19mc2xtY19xYm1hbl9xYm1hbl9wb3J0YWwuYy5vCls1ODcvMzE4 NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNf cGNpX2xpbnV4X3BjaV92ZmlvLmMubwpbNTg4LzMxODRdIEdlbmVyYXRpbmcgcnRlX2J1c19kcGFh LnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbNTg5LzMxODRdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3ZkZXYuYS5wL2J1c192ZGV2X3ZkZXYuYy5vCls1OTAv MzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9i dXNfcGNpX2xpbnV4X3BjaS5jLm8KWzU5MS8zMTg0XSBHZW5lcmF0aW5nIHJ0ZV9idXNfaWZwZ2Eu c3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVy ZSBvdXRwdXQpCls1OTIvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfcGlwZWxp bmUuYS5wL3BpcGVsaW5lX3J0ZV90YWJsZV9hY3Rpb24uYy5vCm5pbmphOiBidWlsZCBzdG9wcGVk CgoKCgoqQnVpbGQgRmFpbGVkICM1OgpPUzogUkhFTDg2LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2Mrc2hhcmVkCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0 Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBf cnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYnVz L3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuIC1JLi4gLUljb25maWcgLUku Li9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFs L2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9p bmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGli L2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIv a3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUku Li9saWIvdGVsZW1ldHJ5IC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VU X0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRl IHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQt bm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlz c2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAt V3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVm IC1Xd3JpdGUtc3RyaW5ncyAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmll bGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9X X0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNh dGlvbiAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRyaXZl cnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8g LU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0 Zm9ybS5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxh dGZvcm1fcGxhdGZvcm0uYy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmMK SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 MTI6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDo5MToyMDogZXJy b3I6IGZpZWxkIOKAmGRldmljZeKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHJ0ZV9k ZXZpY2UgZGV2aWNlOyAvKio8IENvcmUgZGV2aWNlICovCiAgICAgICAgICAgICAgICAgICAgXn5+ fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6MjA6IGVy cm9yOiBmaWVsZCDigJhkcml2ZXLigJkgaGFzIGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBydGVf ZHJpdmVyIGRyaXZlcjsgLyoqPCBDb3JlIGRyaXZlciAqLwogICAgICAgICAgICAgICAgICAgIF5+ fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZv cm0uYzoyMDoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjMwOjE3OiBlcnJvcjog ZmllbGQg4oCYYnVz4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgcnRlX2J1cyBidXM7 IC8qIENvcmUgYnVzICovCiAgICAgICAgICAgICAgICAgXn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmGRldmljZV9hbGxvd2Vk4oCZOgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjY4Ojc6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5f VU5ERUZJTkVE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKTsgZGlk IHlvdSBtZWFuIOKAmFJURV9CVVNfQVVYSUxJQVJZ4oCZPwogIGNhc2UgUlRFX0JVU19TQ0FOX1VO REVGSU5FRDoKICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KICAgICAgIFJURV9CVVNfQVVY SUxJQVJZCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6Nzogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2 OTo3OiBlcnJvcjog4oCYUlRFX0JVU19TQ0FOX0FMTE9XTElTVOKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNlIFJURV9CVVNfU0NBTl9BTExPV0xJU1Q6CiAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6NzM6NzogZXJyb3I6IOKAmFJURV9CVVNfU0NBTl9CTE9DS0xJU1TigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgY2FzZSBSVEVfQlVTX1NDQU5fQkxPQ0tM SVNUOgogICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo4OgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZmluZF9kZXZpY2Xi gJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBlcnJvcjogaW5pdGlh bGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0 eXBlIOKAmGNvbnN0IHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxl LXBvaW50ZXItdHlwZXNdCiAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9w dHIgPSAocHRyKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI2NDoxNzogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9UQUlMUV9ORVhU4oCZCiAgcGRldiA9IHN0YXJ0ID8g UlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0 KSA6CiAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcnRlX2J1c19wbGF0Zm9ybS5oOjEyMDoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g 4oCYY29udGFpbmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwgY29uc3Qgc3RydWN0IHJ0ZV9w bGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzoyNjQ6MzI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhS VEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVOKAmQogIHBkZXYgPSBzdGFydCA/IFJURV9UQUlM UV9ORVhUKFJURV9ERVZfVE9fUExBVEZPUk1fREVWX0NPTlNUKHN0YXJ0KSwgbmV4dCkgOgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRm b3JtX2J1c19wbHVn4oCZOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI4OToy NDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IHJ0ZV9kZXZpY2XigJkKICBpZiAoIWRldmljZV9leGlzdHMoZGV2LT5uYW1lKSkKICAgICAg ICAgICAgICAgICAgICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoyMSwKICAgICAgICAgICAgICAgICBmcm9tIC4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MTI6Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfY29tbW9uLmg6ODEyOjQ2OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50 ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNl ICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgICBjb25zdCB0eXBl b2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9y dGVfYnVzX3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhj b250YWluZXJfb2bigJkKICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2Rl dmljZSwgZGV2aWNlKQogIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjI5ODoyNDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9f UExBVEZPUk1fREVW4oCZCiAgcmV0dXJuIHBsYXRmb3JtX3Byb2JlKFJURV9ERVZfVE9fUExBVEZP Uk1fREVWKGRldikpOwogICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhw bGF0Zm9ybV9idXNfdW5wbHVn4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgx Mjo0NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5j b21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTAp LT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9y bS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZ CiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkK ICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6Mzc6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKA mQogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9S TV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBu b3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICAgIGNvbnN0IHR5cGVv ZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0 ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNv bnRhaW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2 aWNlLCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6MzA0OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19Q TEFURk9STV9ERVbigJkKICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9E RVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZG1hX21hcOKAmToKLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDi gJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0 IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAg IGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVf cGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6MzI1OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY UlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAq cGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1 ZGUvcnRlX2NvbW1vbi5oOjgxMjo0Njogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKA mHBkZXbigJkpCiAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAo cHRyKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICBjb250YWluZXJfb2YocHRy LCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogIF5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMyNTozNzogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgc3RydWN0IHJ0ZV9wbGF0 Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1f YnVzX2RtYV91bm1hcOKAmToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6 IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0 aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNv bXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVt YmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDox MTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNv bnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjM3OiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICBz dHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVW KGRldik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0Njogbm90ZTog KG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBkZXbigJkpCiAgICBjb25zdCB0eXBlb2YoKCh0 eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVz X3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWlu ZXJfb2bigJkKICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwg ZGV2aWNlKQogIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5j OjM0NjozNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZP Uk1fREVW4oCZCiAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RP X1BMQVRGT1JNX0RFVihkZXYpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM3ODoz OiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAg IC5zY2FuID0gcGxhdGZvcm1fYnVzX3NjYW4sCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzozNzg6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRm b3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzc5OjM6 IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAg LnByb2JlID0gcGxhdGZvcm1fYnVzX3Byb2JlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6Mzc5OjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0 Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MDoz OiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAg IC5maW5kX2RldmljZSA9IHBsYXRmb3JtX2J1c19maW5kX2RldmljZSwKICAgXgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MDozOiBub3RlOiAobmVhciBpbml0aWFsaXphdGlv biBmb3Ig4oCYcGxhdGZvcm1fYnVzLmJ1c+KAmSkKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzozODE6MzogZXJyb3I6IGZpZWxkIG5hbWUgbm90IGluIHJlY29yZCBvciB1bmlvbiBp bml0aWFsaXplcgogICAucGx1ZyA9IHBsYXRmb3JtX2J1c19wbHVnLAogICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgxOjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9u IGZvciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjM4MjozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGlu aXRpYWxpemVyCiAgIC51bnBsdWcgPSBwbGF0Zm9ybV9idXNfdW5wbHVnLAogICBeCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgyOjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0 aW9uIGZvciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w bGF0Zm9ybS5jOjM4MzozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9u IGluaXRpYWxpemVyCiAgIC5wYXJzZSA9IHBsYXRmb3JtX2J1c19wYXJzZSwKICAgXgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MzozOiBub3RlOiAobmVhciBpbml0aWFsaXph dGlvbiBmb3Ig4oCYcGxhdGZvcm1fYnVzLmJ1c+KAmSkKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzozODQ6MzogZXJyb3I6IGZpZWxkIG5hbWUgbm90IGluIHJlY29yZCBvciB1bmlv biBpbml0aWFsaXplcgogICAuZG1hX21hcCA9IHBsYXRmb3JtX2J1c19kbWFfbWFwLAogICBeCi4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg0OjM6IG5vdGU6IChuZWFyIGluaXRp YWxpemF0aW9uIGZvciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOjM4NTozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9y IHVuaW9uIGluaXRpYWxpemVyCiAgIC5kbWFfdW5tYXAgPSBwbGF0Zm9ybV9idXNfZG1hX3VubWFw LAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg1OjM6IG5vdGU6IChu ZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4NjozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4g cmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5nZXRfaW9tbXVfY2xhc3MgPSBwbGF0Zm9y bV9idXNfZ2V0X2lvbW11X2NsYXNzLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6Mzg2OjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0Zm9ybV9i dXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4NzozOiBlcnJv cjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5kZXZf aXRlcmF0ZSA9IHBsYXRmb3JtX2J1c19kZXZfaXRlcmF0ZSwKICAgXgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjM4NzozOiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig 4oCYcGxhdGZvcm1fYnVzLmJ1c+KAmSkKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzozOTM6NDQ6IGVycm9yOiBleHBlY3RlZCDigJgp4oCZIGJlZm9yZSDigJgu4oCZIHRva2VuCiBS VEVfUkVHSVNURVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICkKY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRl ZCBhcyBlcnJvcnMKWzU5NC8zMDQyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8KRkFJ TEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxh dGZvcm1fcGFyYW1zLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5h LnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJp dmVycy9idXMvcGxhdGZvcm0gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFs L2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUku Li9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2Vh bC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIv ZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJp Y3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1m ZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdp bnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nh c3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1h dC1zZWN1cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1X bmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdz aWduLWNvbXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAt V25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1E X0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkg LURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVG QVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf cGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1NRiBkcml2ZXJz L2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1z LmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9y bV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt X3BhcmFtcy5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w cml2YXRlLmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjogZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBsZXRl IHR5cGUKICBzdHJ1Y3QgcnRlX2RldmljZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAg ICAgICAgICAgICAgICAgICBefn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjEwMjoyMDogZXJyb3I6IGZpZWxkIOKAmGRyaXZlcuKAmSBoYXMgaW5jb21wbGV0 ZSB0eXBlCiAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAg ICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoKLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcHJpdmF0ZS5oOjMwOjE3OiBlcnJvcjogZmllbGQg4oCYYnVz4oCZIGhhcyBpbmNvbXBsZXRl IHR5cGUKICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENvcmUgYnVzICovCiAgICAgICAgICAgICAg ICAgXn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOiBJbiBmdW5j dGlvbiDigJhwbGF0Zm9ybV9kZXZfbWF0Y2jigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtX3BhcmFtcy5jOjM4OjMwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2RldmljZeKAmQogIGlmIChuYW1lICYm IHN0cmNtcChuYW1lLCBkZXYtPm5hbWUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzogSW4gZnVuY3Rpb24g 4oCYcGxhdGZvcm1fYnVzX2Rldl9pdGVyYXRl4oCZOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w bGF0Zm9ybV9wYXJhbXMuYzo0ODoyOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg4oCYcnRlX2J1 c19maW5kX2RldmljZV904oCZCiAgcnRlX2J1c19maW5kX2RldmljZV90IGZpbmRfZGV2aWNlOwog IF5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9w YXJhbXMuYzo1NjoxNjogZXJyb3I6IOKAmEVJTlZBTOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsKICAgICAgICAgICAgICAg IF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo1NjoxNjog bm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZv ciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KWzU5NS8zMDQyXSBHZW5lcmF0aW5nIHJ0ZV9i dXNfaWZwZ2EucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kCls1OTYvMzA0Ml0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3Bj aV91aW8uYy5vCls1OTcvMzA0Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9idXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaV92ZmlvLmMubwpbNTk4LzMwNDJdIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51 eF9wY2kuYy5vCls1OTkvMzA0Ml0gR2VuZXJhdGluZyBydGVfYnVzX2RwYWEucG1kLmMgd2l0aCBh IGN1c3RvbSBjb21tYW5kCls2MDAvMzA0Ml0gR2VuZXJhdGluZyBydGVfYnVzX2ZzbG1jLnBtZC5j IHdpdGggYSBjdXN0b20gY29tbWFuZApbNjAxLzMwNDJdIEdlbmVyYXRpbmcgdmhvc3Quc3ltX2No ayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRw dXQpCls2MDIvMzA0Ml0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfcGlwZWxpbmUuYS5w L3BpcGVsaW5lX3J0ZV90YWJsZV9hY3Rpb24uYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoq QnVpbGQgRmFpbGVkICM2OgpPUzogUkhFTDg2LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MrZGVidWcKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEu cC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVz X3BsYXRmb3JtLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZv cm0gLUkuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZp ZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgv aW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUg LUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2Nv bW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3Mg LUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90 ZWxlbWV0cnkgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02 NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRl X2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25s aXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5n LXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9p bnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3 cml0ZS1zdHJpbmdzIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1p bml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQ RVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9u IC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9s aWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAtTUYg ZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3Jt LmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9y bV9wbGF0Zm9ybS5jLm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYwpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoK Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjog ZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgcnRlX2Rldmlj ZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAgICAgICAgICAgICAgICAgICBefn5+fn4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjEwMjoyMDogZXJyb3I6 IGZpZWxkIOKAmGRyaXZlcuKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHJ0ZV9kcml2 ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgICAgICAgICAgICAgICAgXn5+fn5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5j OjIwOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6MTc6IGVycm9yOiBmaWVs ZCDigJhidXPigJkgaGFzIGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBydGVfYnVzIGJ1czsgLyog Q29yZSBidXMgKi8KICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYZGV2aWNlX2FsbG93ZWTigJk6Ci4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6NzogZXJyb3I6IOKAmFJURV9CVVNfU0NBTl9VTkRF RklORUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91 IG1lYW4g4oCYUlRFX0JVU19BVVhJTElBUlnigJk/CiAgY2FzZSBSVEVfQlVTX1NDQU5fVU5ERUZJ TkVEOgogICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgUlRFX0JVU19BVVhJTElB UlkKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2ODo3OiBub3RlOiBlYWNoIHVu ZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rp b24gaXQgYXBwZWFycyBpbgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjY5Ojc6 IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fQUxMT1dMSVNU4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGNhc2UgUlRFX0JVU19TQ0FOX0FMTE9XTElTVDoKICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u Yzo3Mzo3OiBlcnJvcjog4oCYUlRFX0JVU19TQ0FOX0JMT0NLTElTVOKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBjYXNlIFJURV9CVVNfU0NBTl9CTE9DS0xJU1Q6 CiAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjg6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19maW5kX2RldmljZeKAmToK Li4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXph dGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg 4oCYY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9p bnRlci10eXBlc10KICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9 IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjY0OjE3OiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8g4oCYUlRFX1RBSUxRX05FWFTigJkKICBwZGV2ID0gc3RhcnQgPyBSVEVf VEFJTFFfTkVYVChSVEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVChzdGFydCksIG5leHQpIDoK ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9y dGVfYnVzX3BsYXRmb3JtLmg6MTIwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhj b250YWluZXJfb2bigJkKICBjb250YWluZXJfb2YocHRyLCBjb25zdCBzdHJ1Y3QgcnRlX3BsYXRm b3JtX2RldmljZSwgZGV2aWNlKQogIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybS5jOjI2NDozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9E RVZfVE9fUExBVEZPUk1fREVWX0NPTlNU4oCZCiAgcGRldiA9IHN0YXJ0ID8gUlRFX1RBSUxRX05F WFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1f YnVzX3BsdWfigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mjg5OjI0OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg cnRlX2RldmljZeKAmQogIGlmICghZGV2aWNlX2V4aXN0cyhkZXYtPm5hbWUpKQogICAgICAgICAg ICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjIxLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9j b21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKA mSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKA mSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgIGNvbnN0IHR5cGVvZigo KHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9i dXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRh aW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNl LCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6Mjk4OjI0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFU Rk9STV9ERVbigJkKICByZXR1cm4gcGxhdGZvcm1fcHJvYmUoUlRFX0RFVl9UT19QTEFURk9STV9E RVYoZGV2KSk7CiAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRm b3JtX2J1c191bnBsdWfigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2 OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBpbmNvbXBh dGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1l bWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6 MTE3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICBj b250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogIF5+ fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMwNDozNzogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAg c3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RF VihkZXYpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IG5vdGU6 IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwZGV24oCZKQogICAgY29uc3QgdHlwZW9mKCgo dHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1 c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFp bmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2Us IGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzozMDQ6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRG T1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9U T19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19kbWFfbWFw4oCZOgouLi9saWIvZWFsL2lu Y2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNv bnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRl X2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogICAgY29u c3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYY29udGFpbmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0 Zm9ybV9kZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcGxhdGZvcm0uYzozMjU6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVf REVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2 ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfY29tbW9uLmg6ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRl duKAmSkKICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIp OyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0 cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzI1OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICBzdHJ1Y3QgcnRlX3BsYXRmb3Jt X2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNf ZG1hX3VubWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0NjogZXJy b3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0 aWJsZS1wb2ludGVyLXR5cGVzXQogICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIp ICpfcHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoy OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgY29udGFp bmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBefn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNDY6Mzc6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIHN0cnVj dCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2 KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBub3RlOiAobmVh ciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICAgIGNvbnN0IHR5cGVvZigoKHR5cGUg KikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxh dGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9v ZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZp Y2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2 OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9E RVbigJkKICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExB VEZPUk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBB dCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzc4OjM6IGVy cm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLnNj YW4gPSBwbGF0Zm9ybV9idXNfc2NhbiwKICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjM3ODozOiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGxhdGZvcm1f YnVzLmJ1c+KAmSkKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNzk6MzogZXJy b3I6IGZpZWxkIG5hbWUgbm90IGluIHJlY29yZCBvciB1bmlvbiBpbml0aWFsaXplcgogICAucHJv YmUgPSBwbGF0Zm9ybV9idXNfcHJvYmUsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzozNzk6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3Jt X2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgwOjM6IGVy cm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmZp bmRfZGV2aWNlID0gcGxhdGZvcm1fYnVzX2ZpbmRfZGV2aWNlLAogICBeCi4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgwOjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZv ciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOjM4MTozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRp YWxpemVyCiAgIC5wbHVnID0gcGxhdGZvcm1fYnVzX3BsdWcsCiAgIF4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYzozODE6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9y IOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6MzgyOjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlh bGl6ZXIKICAgLnVucGx1ZyA9IHBsYXRmb3JtX2J1c191bnBsdWcsCiAgIF4KLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODI6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24g Zm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6MzgzOjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5p dGlhbGl6ZXIKICAgLnBhcnNlID0gcGxhdGZvcm1fYnVzX3BhcnNlLAogICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgzOjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9u IGZvciDigJhwbGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjM4NDozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGlu aXRpYWxpemVyCiAgIC5kbWFfbWFwID0gcGxhdGZvcm1fYnVzX2RtYV9tYXAsCiAgIF4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODQ6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6 YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6Mzg1OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5p b24gaW5pdGlhbGl6ZXIKICAgLmRtYV91bm1hcCA9IHBsYXRmb3JtX2J1c19kbWFfdW5tYXAsCiAg IF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODU6Mzogbm90ZTogKG5lYXIg aW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg2OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNv cmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmdldF9pb21tdV9jbGFzcyA9IHBsYXRmb3JtX2J1 c19nZXRfaW9tbXVfY2xhc3MsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzozODY6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5i dXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg3OjM6IGVycm9yOiBm aWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmRldl9pdGVy YXRlID0gcGxhdGZvcm1fYnVzX2Rldl9pdGVyYXRlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6Mzg3OjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhw bGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5 Mzo0NDogZXJyb3I6IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKAmC7igJkgdG9rZW4KIFJURV9S RUdJU1RFUl9CVVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMuYnVzKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKQpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwpbNTczLzMxODRdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMubwpGQUlMRUQ6 IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9y bV9wYXJhbXMuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucCAt SWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5j bHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xp Yi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4 Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwg LUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAt SS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLWZkaWFn bm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFs aWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzIgLWcgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2Fz dC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0 LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdu ZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3Np Z24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1X bm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURf R05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAt REFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZB VUxUX0xPR1RZUEU9YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19w bGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gLU1GIGRyaXZlcnMv bGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMu Yy5vLmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3Jt X3BsYXRmb3JtX3BhcmFtcy5jLm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1f cGFyYW1zLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3By aXZhdGUuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3Bs YXRmb3JtLmg6OTE6MjA6IGVycm9yOiBmaWVsZCDigJhkZXZpY2XigJkgaGFzIGluY29tcGxldGUg dHlwZQogIHN0cnVjdCBydGVfZGV2aWNlIGRldmljZTsgLyoqPCBDb3JlIGRldmljZSAqLwogICAg ICAgICAgICAgICAgICAgIF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3Bs YXRmb3JtLmg6MTAyOjIwOiBlcnJvcjogZmllbGQg4oCYZHJpdmVy4oCZIGhhcyBpbmNvbXBsZXRl IHR5cGUKICBzdHJ1Y3QgcnRlX2RyaXZlciBkcml2ZXI7IC8qKjwgQ29yZSBkcml2ZXIgKi8KICAg ICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wcml2YXRlLmg6MzA6MTc6IGVycm9yOiBmaWVsZCDigJhidXPigJkgaGFzIGluY29tcGxldGUg dHlwZQogIHN0cnVjdCBydGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgICAgICAgICAg ICBefn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6IEluIGZ1bmN0 aW9uIOKAmHBsYXRmb3JtX2Rldl9tYXRjaOKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm1fcGFyYW1zLmM6Mzg6MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmGNvbnN0IHN0cnVjdCBydGVfZGV2aWNl4oCZCiAgaWYgKG5hbWUgJiYg c3RyY21wKG5hbWUsIGRldi0+bmFtZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOiBJbiBmdW5jdGlvbiDi gJhwbGF0Zm9ybV9idXNfZGV2X2l0ZXJhdGXigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtX3BhcmFtcy5jOjQ4OjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhydGVfYnVz X2ZpbmRfZGV2aWNlX3TigJkKICBydGVfYnVzX2ZpbmRfZGV2aWNlX3QgZmluZF9kZXZpY2U7CiAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3Bh cmFtcy5jOjU2OjE2OiBlcnJvcjog4oCYRUlOVkFM4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAgcnRlX2Vycm5vID0gRUlOVkFMOwogICAgICAgICAgICAgICAg Xn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjU2OjE2OiBu b3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9y IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpbNTc0LzMxODRdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnJ0ZV9idXNfaWZwZ2EuYS5wL21lc29uLWdlbmVyYXRlZF8uLl9ydGVfYnVz X2lmcGdhLnBtZC5jLm8KWzU3NS8zMTg0XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0 bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpX3Vpby5jLm8KWzU3Ni8zMTg0XSBD b21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lf bGludXhfcGNpX3ZmaW8uYy5vCls1NzcvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9idXNfZnNsbWMuYS5wL2J1c19mc2xtY19xYm1hbl9xYm1hbl9wb3J0YWwuYy5v Cls1NzgvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNp LmEucC9idXNfcGNpX2xpbnV4X3BjaS5jLm8KWzU3OS8zMTg0XSBDb21waWxpbmcgQyBvYmplY3Qg ZHJpdmVycy9saWJ0bXBfcnRlX2J1c19kcGFhLmEucC9idXNfZHBhYV9iYXNlX3FibWFuX3FtYW4u Yy5vCls1ODAvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfdmhvc3QuYS5wL3Zo b3N0X3ZpcnRpb19uZXQuYy5vCls1ODEvMzE4NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJy dGVfcGlwZWxpbmUuYS5wL3BpcGVsaW5lX3J0ZV90YWJsZV9hY3Rpb24uYy5vCm5pbmphOiBidWls ZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVkICM3OgpPUzogU1VTRTE1LTY0ClRhcmdldDogeDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf cGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gCmNsYW5nIC1JZHJpdmVycy9s aWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZl cnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuIC1JLi4gLUljb25m aWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUls aWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFs L3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1J Li4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUku Li9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0 cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mY29sb3ItZGlhZ25vc3RpY3MgLURfRklMRV9PRkZTRVRf QklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUg cnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1u b25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNz aW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1X cG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYg LVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2lu Zy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1E QUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVG QVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf cGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLU1GIGRyaXZlcnMvbGlidG1w X3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8uZCAtbyBkcml2 ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5v IC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmMKSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MTI6Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDo5MToyMDogZXJyb3I6IGZpZWxkIGhhcyBpbmNv bXBsZXRlIHR5cGUgJ3N0cnVjdCBydGVfZGV2aWNlJwogICAgICAgIHN0cnVjdCBydGVfZGV2aWNl IGRldmljZTsgLyoqPCBDb3JlIGRldmljZSAqLwogICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vbGliL2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgcnRlX2RldmljZScKc3RydWN0IHJ0ZV9kZXZpY2U7CiAgICAgICBeCklu IGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjEy OgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTAyOjIwOiBlcnJv cjogZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHJ0ZV9kcml2ZXInCiAgICAgICAg c3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Rldi5oOjMwOjg6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZHJpdmVyJwpzdHJ1Y3QgcnRlX2Ry aXZlcjsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6MjA6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDozMDox NzogZXJyb3I6IGZpZWxkIGhhcyBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBydGVfYnVzJwogICAg ICAgIHN0cnVjdCBydGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnVzLmg6MjU6ODogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9idXMnCnN0cnVjdCBydGVfYnVzOwogICAgICAgXgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI2NDo3MDogZXJyb3I6IG1lbWJlciBy ZWZlcmVuY2UgdHlwZSAndm9pZCcgaXMgbm90IGEgcG9pbnRlcgogICAgICAgIHBkZXYgPSBzdGFy dCA/IFJURV9UQUlMUV9ORVhUKFJURV9ERVZfVE9fUExBVEZPUk1fREVWX0NPTlNUKHN0YXJ0KSwg bmV4dCkgOgogICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn4KLi4vbGliL2VhbC9saW51eC9pbmNsdWRl L3J0ZV9vcy5oOjI1OjU0OiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdSVEVfVEFJTFFfTkVY VCcKI2RlZmluZSBSVEVfVEFJTFFfTkVYVChlbGVtLCBmaWVsZCkgVEFJTFFfTkVYVChlbGVtLCBm aWVsZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+ fn5efn5+fn4KL3Vzci9pbmNsdWRlL3N5cy9xdWV1ZS5oOjQ1OTo0MTogbm90ZTogZXhwYW5kZWQg ZnJvbSBtYWNybyAnVEFJTFFfTkVYVCcKI2RlZmluZSBUQUlMUV9ORVhUKGVsbSwgZmllbGQpICAg ICAgICAgICgoZWxtKS0+ZmllbGQudHFlX25leHQpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+fn4gIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzoyODk6MjQ6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0 ZV9kZXZpY2UnCiAgICAgICAgaWYgKCFkZXZpY2VfZXhpc3RzKGRldi0+bmFtZSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fl4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2RldmljZScKc3RydWN0 IHJ0ZV9kZXZpY2U7CiAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 MjkyOjI0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBydGVf ZGV2aWNlJwogICAgICAgIGlmIChkZXZpY2VfYWxsb3dlZChkZXYtPm5hbWUpKSB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fl4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2RldmljZScKc3RydWN0 IHJ0ZV9kZXZpY2U7CiAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 Mjk4OjI0OiBlcnJvcjogcGFzc2luZyAndm9pZCcgdG8gcGFyYW1ldGVyIG9mIGluY29tcGF0aWJs ZSB0eXBlICdzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqJwogICAgICAgIHJldHVybiBwbGF0 Zm9ybV9wcm9iZShSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGV4cGFuZGVkIGZyb20g bWFjcm8gJ1JURV9ERVZfVE9fUExBVEZPUk1fREVWJwogICAgICAgIGNvbnRhaW5lcl9vZihwdHIs IHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2VhbC9pbmNs dWRlL3J0ZV9jb21tb24uaDo4MTE6NDE6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ2NvbnRh aW5lcl9vZicKI2RlZmluZSBjb250YWluZXJfb2YocHRyLCB0eXBlLCBtZW1iZXIpIF9fZXh0ZW5z aW9uX18gKHsgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6MTgzOjQ0OiBub3RlOiBwYXNzaW5nIGFyZ3VtZW50IHRvIHBh cmFtZXRlciAncGRldicgaGVyZQpwbGF0Zm9ybV9wcm9iZShzdHJ1Y3QgcnRlX3BsYXRmb3JtX2Rl dmljZSAqcGRldikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6MzA6IGVycm9yOiBpbml0aWFs aXppbmcgJ3N0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlIConIHdpdGggYW4gZXhwcmVzc2lvbiBv ZiBpbmNvbXBhdGlibGUgdHlwZSAndm9pZCcKICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2Rl dmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4gICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzI1OjMwOiBlcnJvcjogaW5pdGlh bGl6aW5nICdzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqJyB3aXRoIGFuIGV4cHJlc3Npb24g b2YgaW5jb21wYXRpYmxlIHR5cGUgJ3ZvaWQnCiAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM0NjozMDogZXJyb3I6IGluaXRp YWxpemluZyAnc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKicgd2l0aCBhbiBleHByZXNzaW9u IG9mIGluY29tcGF0aWJsZSB0eXBlICd2b2lkJwogICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1f ZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozOTM6MzI6IGVycm9yOiByZWRl ZmluaXRpb24gb2YgcGFyYW1ldGVyICdwbGF0Zm9ybV9idXMnClJURV9SRUdJU1RFUl9CVVMocGxh dGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMuYnVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozOTM6NDQ6IGVycm9yOiBl eHBlY3RlZCAnKScKUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5i dXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5MzoxNzogbm90ZTogdG8gbWF0Y2ggdGhpcyAn KCcKUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5idXMpOwogICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5MzoxOiBl cnJvcjogdHlwZSBzcGVjaWZpZXIgbWlzc2luZywgZGVmYXVsdHMgdG8gJ2ludCcgWy1XZXJyb3Is LVdpbXBsaWNpdC1pbnRdClJURV9SRUdJU1RFUl9CVVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9ybV9i dXMuYnVzKTsKXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5MzoxODogZXJy b3I6IGEgcGFyYW1ldGVyIGxpc3Qgd2l0aG91dCB0eXBlcyBpcyBvbmx5IGFsbG93ZWQgaW4gYSBm dW5jdGlvbiBkZWZpbml0aW9uClJURV9SRUdJU1RFUl9CVVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9y bV9idXMuYnVzKTsKICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmM6Njg6NzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9C VVNfU0NBTl9VTkRFRklORUQnCiAgICAgICAgY2FzZSBSVEVfQlVTX1NDQU5fVU5ERUZJTkVEOgog ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjY5Ojc6IGVy cm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQlVTX1NDQU5fQUxMT1dMSVNU JwogICAgICAgIGNhc2UgUlRFX0JVU19TQ0FOX0FMTE9XTElTVDoKICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo3Mzo3OiBlcnJvcjogdXNlIG9mIHVuZGVj bGFyZWQgaWRlbnRpZmllciAnUlRFX0JVU19TQ0FOX0JMT0NLTElTVCcKICAgICAgICBjYXNlIFJU RV9CVVNfU0NBTl9CTE9DS0xJU1Q6CiAgICAgICAgICAgICBeCjE3IGVycm9ycyBnZW5lcmF0ZWQu Cls1NzUvMzI2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlicnRlX2J1c19kcGFhLmEu cC9tZXNvbi1nZW5lcmF0ZWRfLi5fcnRlX2J1c19kcGFhLnBtZC5jLm8KWzU3Ni8zMjY1XSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19mc2xtYy5hLnAvYnVzX2ZzbG1j X3FibWFuX3FibWFuX3BvcnRhbC5jLm8KWzU3Ny8zMjY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3Bh cmFtcy5jLm8KRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNf cGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX3BsYXRmb3JtLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxh dGZvcm0gLUkuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2Nv bmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGlu dXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1 ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFs L2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFy Z3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xp Yi90ZWxlbWV0cnkgLWZjb2xvci1kaWFnbm9zdGljcyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1X YWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmln LmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwg LVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90 eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFy aXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0 cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1taXNzaW5nLWZpZWxkLWlu aXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBF UklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZ UEU9YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5h LnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0 ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vLmQgLW8g ZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3Jt X3BhcmFtcy5jLm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmMK SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3Bh cmFtcy5jOjEzOgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cHJpdmF0ZS5oOjE0OgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6 OTE6MjA6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgcnRlX2Rldmlj ZScKICAgICAgICBzdHJ1Y3QgcnRlX2RldmljZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8K ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfYnVzLmg6 MjY6ODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9kZXZpY2UnCnN0 cnVjdCBydGVfZGV2aWNlOwogICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6MTM6CkluIGZpbGUgaW5jbHVkZWQgZnJv bSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MTQ6Ci4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6MjA6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21w bGV0ZSB0eXBlICdzdHJ1Y3QgcnRlX2RyaXZlcicKICAgICAgICBzdHJ1Y3QgcnRlX2RyaXZlciBk cml2ZXI7IC8qKjwgQ29yZSBkcml2ZXIgKi8KICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfZGV2Lmg6MzA6ODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IHJ0ZV9kcml2ZXInCnN0cnVjdCBydGVfZHJpdmVyOwogICAgICAgXgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1z LmM6MTM6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDozMDoxNzogZXJyb3I6IGZp ZWxkIGhhcyBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBydGVfYnVzJwogICAgICAgIHN0cnVjdCBy dGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xp Yi9lYWwvaW5jbHVkZS9ydGVfYnVzLmg6MjU6ODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IHJ0ZV9idXMnCnN0cnVjdCBydGVfYnVzOwogICAgICAgXgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzozODozMDogZXJyb3I6IGluY29tcGxldGUgZGVm aW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgcnRlX2RldmljZScKICAgICAgICBpZiAobmFtZSAmJiBz dHJjbXAobmFtZSwgZGV2LT5uYW1lKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fn5+XgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZvcndhcmQgZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2RldmljZTsKICAgICAg IF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6MjogZXJyb3I6 IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ3J0ZV9idXNfZmluZF9kZXZpY2VfdCc7IGRp ZCB5b3UgbWVhbiAncnRlX2J1c19maW5kX2J5X2RldmljZSc/CiAgICAgICAgcnRlX2J1c19maW5k X2RldmljZV90IGZpbmRfZGV2aWNlOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAg ICAgIHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9idXMuaDox MTA6MTc6IG5vdGU6ICdydGVfYnVzX2ZpbmRfYnlfZGV2aWNlJyBkZWNsYXJlZCBoZXJlCnN0cnVj dCBydGVfYnVzICpydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGNvbnN0IHN0cnVjdCBydGVfZGV2aWNl ICpkZXYpOwogICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bV9wYXJhbXMuYzo0ODoyMzogZXJyb3I6IGV4cGVjdGVkICc7JyBhZnRlciBleHByZXNzaW9uCiAg ICAgICAgcnRlX2J1c19maW5kX2RldmljZV90IGZpbmRfZGV2aWNlOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7Ci4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjQ4OjI6IGVycm9yOiBleHByZXNzaW9uIHJl c3VsdCB1bnVzZWQgWy1XZXJyb3IsLVd1bnVzZWQtdmFsdWVdCiAgICAgICAgcnRlX2J1c19maW5k X2RldmljZV90IGZpbmRfZGV2aWNlOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo0ODoyNDogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZpbmRfZGV2aWNlJwogICAgICAgIHJ0ZV9idXNfZmlu ZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo1NjoxNjogZXJyb3I6IHVz ZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0VJTlZBTCcKICAgICAgICAgICAgICAgICAgICAg ICAgcnRlX2Vycm5vID0gRUlOVkFMOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjYyOjI6IGVycm9y OiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmaW5kX2RldmljZScKICAgICAgICBmaW5k X2RldmljZSA9IHBsYXRmb3JtX2J1cy5idXMuZmluZF9kZXZpY2U7CiAgICAgICAgXgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo2Mzo3OiBlcnJvcjogdXNlIG9mIHVu ZGVjbGFyZWQgaWRlbnRpZmllciAnZmluZF9kZXZpY2UnCiAgICAgICAgaWYgKCFmaW5kX2Rldmlj ZSkKICAgICAgICAgICAgIF4KMTEgZXJyb3JzIGdlbmVyYXRlZC4KWzU3OC8zMjY1XSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhf cGNpX3Vpby5jLm8KWzU3OS8zMjY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpX3ZmaW8uYy5vCls1ODAvMzI2NV0gR2Vu ZXJhdGluZyBkcml2ZXJzL3J0ZV9idXNfaWZwZ2EucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5k Cls1ODEvMzI2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfdmRl di5hLnAvYnVzX3ZkZXZfdmRldi5jLm8KWzU4Mi8zMjY1XSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpLmMubwpbNTgzLzMy NjVdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX3BpcGVsaW5lLmEucC9waXBlbGluZV9y dGVfdGFibGVfYWN0aW9uLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxl ZCAjODoKT1M6IFNVU0UxNS02NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZB SUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3Bs YXRmb3JtLmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlk cml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1 ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIv ZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYv aW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1J Li4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUku Li9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mZGlhZ25v c3RpY3MtY29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlk LXBjaCAtV2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVh bCAtV2RlcHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1 cml0eSAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVk LWV4dGVybnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNv bXBhcmUgLVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLW1p c3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIC1EX0dOVV9TT1VSQ0UgLWZQSUMgLW1hcmNoPW5hdGl2 ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3Jt YXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQg LU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0 Zm9ybS5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0 Zm9ybV9wbGF0Zm9ybS5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEu cC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmM6MTI6MDoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5o OjkxOjIwOiBlcnJvcjogZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBz dHJ1Y3QgcnRlX2RldmljZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAgICAgICAgICAg ICAgICAgICBefn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5o OjEwMjoyMDogZXJyb3I6IGZpZWxkIOKAmGRyaXZlcuKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAg c3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgICAgICAg ICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOjIwOjA6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDoz MDoxNzogZXJyb3I6IGZpZWxkIOKAmGJ1c+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0 IHJ0ZV9idXMgYnVzOyAvKiBDb3JlIGJ1cyAqLwogICAgICAgICAgICAgICAgIF5+fgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhkZXZpY2VfYWxsb3dl ZOKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2ODo3OiBlcnJvcjog4oCY UlRFX0JVU19TQ0FOX1VOREVGSU5FROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhfQlNEX1NJWkVfVF9ERUZJTkVEX+KAmT8KICBjYXNl IFJURV9CVVNfU0NBTl9VTkRFRklORUQ6CiAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAg ICAgICBfQlNEX1NJWkVfVF9ERUZJTkVEXwouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOjY4Ojc6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9u bHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6Njk6NzogZXJyb3I6IOKAmFJURV9CVVNfU0NBTl9BTExPV0xJU1Ti gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g 4oCYUlRFX0JVU19TQ0FOX1VOREVGSU5FROKAmT8KICBjYXNlIFJURV9CVVNfU0NBTl9BTExPV0xJ U1Q6CiAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgICBSVEVfQlVTX1NDQU5fVU5E RUZJTkVECi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6NzM6NzogZXJyb3I6IOKA mFJURV9CVVNfU0NBTl9CTE9DS0xJU1TigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRFX0JVU19TQ0FOX0FMTE9XTElTVOKAmT8KICBj YXNlIFJURV9CVVNfU0NBTl9CTE9DS0xJU1Q6CiAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ CiAgICAgICBSVEVfQlVTX1NDQU5fQUxMT1dMSVNUCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjg6MDoKLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX2ZpbmRfZGV2aWNl4oCZ OgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxp emF0aW9uIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGli bGUtcG9pbnRlci10eXBlc10KICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAq X3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjY0OjE3OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX1RBSUxRX05FWFTigJkKICBwZGV2ID0gc3RhcnQg PyBSVEVfVEFJTFFfTkVYVChSVEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVChzdGFydCksIG5l eHQpIDoKICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTIwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhjb250YWluZXJfb2bigJkKICBjb250YWluZXJfb2YocHRyLCBjb25zdCBzdHJ1Y3QgcnRl X3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjI2NDozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mFJURV9ERVZfVE9fUExBVEZPUk1fREVWX0NPTlNU4oCZCiAgcGRldiA9IHN0YXJ0ID8gUlRFX1RB SUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYcGxh dGZvcm1fYnVzX3BsdWfigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mjg5 OjI0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhz dHJ1Y3QgcnRlX2RldmljZeKAmQogIGlmICghZGV2aWNlX2V4aXN0cyhkZXYtPm5hbWUpKQogICAg ICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjIxOjAsCiAgICAgICAgICAgICAgICAgZnJv bSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjEyOgouLi9saWIvZWFsL2luY2x1 ZGUvcnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIGZyb20gaW5jb21w YXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10K ICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBy dGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6Mjk4OjI0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g 4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICByZXR1cm4gcGxhdGZvcm1fcHJvYmUoUlRF X0RFVl9UT19QTEFURk9STV9ERVYoZGV2KSk7CiAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IElu IGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c191bnBsdWfigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfY29tbW9uLmg6ODEyOjQ2OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gZnJvbSBpbmNvbXBhdGli bGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogICAg Y29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9w bGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzozMDQ6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhS VEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpw ZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVk ZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCY cGRlduKAmSkKICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChw dHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIs IHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzA0OjM3OiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICBzdHJ1Y3QgcnRlX3BsYXRm b3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9i dXNfZG1hX21hcOKAmToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVy cm9yOiBpbml0aWFsaXphdGlvbiBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgICBjb25zdCB0eXBlb2YoKCh0eXBlICop MCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRm b3JtLmg6MTE3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bi gJkKICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNl KQogIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMyNToz Nzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW 4oCZCiAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRG T1JNX0RFVihkZXYpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6 IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwZGV24oCZKQogICAgY29uc3QgdHlw ZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY Y29udGFpbmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzozMjU6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RP X1BMQVRGT1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRF X0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19kbWFfdW5tYXDigJk6Ci4uL2xp Yi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBlcnJvcjogaW5pdGlhbGl6YXRpb24g ZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2lu dGVyLXR5cGVzXQogICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0g KHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0 ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNDY6Mzc6IG5vdGU6IGluIGV4cGFuc2lv biBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxh dGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFs aXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVt YmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDox MTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNv bnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjM3OiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICBz dHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVW KGRldik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBBdCB0b3AgbGV2 ZWw6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzc4OjM6IGVycm9yOiBmaWVs ZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLnNjYW4gPSBwbGF0 Zm9ybV9idXNfc2NhbiwKICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM3 ODozOiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGxhdGZvcm1fYnVzLmJ1c+KA mSkKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNzk6MzogZXJyb3I6IGZpZWxk IG5hbWUgbm90IGluIHJlY29yZCBvciB1bmlvbiBpbml0aWFsaXplcgogICAucHJvYmUgPSBwbGF0 Zm9ybV9idXNfcHJvYmUsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoz Nzk6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPi gJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgwOjM6IGVycm9yOiBmaWVs ZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmZpbmRfZGV2aWNl ID0gcGxhdGZvcm1fYnVzX2ZpbmRfZGV2aWNlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6MzgwOjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0 Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MToz OiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAg IC5wbHVnID0gcGxhdGZvcm1fYnVzX3BsdWcsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzozODE6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRm b3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgyOjM6 IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAg LnVucGx1ZyA9IHBsYXRmb3JtX2J1c191bnBsdWcsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcGxhdGZvcm0uYzozODI6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBs YXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzgz OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIK ICAgLnBhcnNlID0gcGxhdGZvcm1fYnVzX3BhcnNlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6MzgzOjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhw bGF0Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4 NDozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVy CiAgIC5kbWFfbWFwID0gcGxhdGZvcm1fYnVzX2RtYV9tYXAsCiAgIF4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYzozODQ6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9y IOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6Mzg1OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlh bGl6ZXIKICAgLmRtYV91bm1hcCA9IHBsYXRmb3JtX2J1c19kbWFfdW5tYXAsCiAgIF4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODU6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6 YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6Mzg2OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5p b24gaW5pdGlhbGl6ZXIKICAgLmdldF9pb21tdV9jbGFzcyA9IHBsYXRmb3JtX2J1c19nZXRfaW9t bXVfY2xhc3MsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODY6Mzog bm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg3OjM6IGVycm9yOiBmaWVsZCBuYW1l IG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmRldl9pdGVyYXRlID0gcGxh dGZvcm1fYnVzX2Rldl9pdGVyYXRlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6Mzg3OjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0Zm9ybV9i dXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5Mzo0NDogZXJy b3I6IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKAmC7igJkgdG9rZW4KIFJURV9SRUdJU1RFUl9C VVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMuYnVzKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQg YXMgZXJyb3JzCls1NzQvMzI2M10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vCkZBSUxF RDogZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRm b3JtX3BhcmFtcy5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5w IC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9p bmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4v bGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwv eDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2Vh bCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNz IC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtZmRp YWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52 YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0 LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQt c2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25l c3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2ln bi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVdu by1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1u YXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8t Zm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1idXMucGxhdGZvcm0g LU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1f cGxhdGZvcm1fcGFyYW1zLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5h LnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9y dGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMubyAtYyAu Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYwpJbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjE0OjAsCiAgICAgICAgICAg ICAgICAgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoK Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjog ZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgcnRlX2Rldmlj ZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAgICAgICAgICAgICAgICAgICBefn5+fn4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjEwMjoyMDogZXJyb3I6 IGZpZWxkIOKAmGRyaXZlcuKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHJ0ZV9kcml2 ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgICAgICAgICAgICAgICAgXn5+fn5+ CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9w YXJhbXMuYzoxMzowOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6MTc6IGVy cm9yOiBmaWVsZCDigJhidXPigJkgaGFzIGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBydGVfYnVz IGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2Rldl9t YXRjaOKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6Mzg6MzA6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmGNvbnN0 IHN0cnVjdCBydGVfZGV2aWNl4oCZCiAgaWYgKG5hbWUgJiYgc3RyY21wKG5hbWUsIGRldi0+bmFt ZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtX3BhcmFtcy5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZGV2X2l0 ZXJhdGXigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjQ4OjI6 IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhydGVfYnVzX2ZpbmRfZGV2aWNlX3TigJkKICBy dGVfYnVzX2ZpbmRfZGV2aWNlX3QgZmluZF9kZXZpY2U7CiAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjU2OjE2OiBlcnJvcjog 4oCYRUlOVkFM4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAg cnRlX2Vycm5vID0gRUlOVkFMOwogICAgICAgICAgICAgICAgXn5+fn5+Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjU2OjE2OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQg aWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBw ZWFycyBpbgpbNTc1LzMyNjNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX2RwYWEuYS5wL2J1c19kcGFhX2Jhc2VfcWJtYW5fcW1hbi5jLm8KWzU3Ni8zMjYzXSBDb21w aWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfcGNp X2NvbW1vbi5jLm8KWzU3Ny8zMjYzXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBf cnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpLmMubwpbNTc4LzMyNjNdIEdlbmVyYXRp bmcgZHJpdmVycy9ydGVfYnVzX2lmcGdhLnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbNTc5 LzMyNjNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAv YnVzX3BjaV9saW51eF9wY2lfdmZpby5jLm8KWzU4MC8zMjYzXSBDb21waWxpbmcgQyBvYmplY3Qg ZHJpdmVycy9saWJ0bXBfcnRlX2J1c192ZGV2LmEucC9idXNfdmRldl92ZGV2LmMubwpbNTgxLzMy NjNdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX2ZzbG1jLmEucC9i dXNfZnNsbWNfcWJtYW5fcWJtYW5fcG9ydGFsLmMubwpbNTgyLzMyNjNdIENvbXBpbGluZyBDIG9i amVjdCBsaWIvbGlicnRlX3BpcGVsaW5lLmEucC9waXBlbGluZV9ydGVfdGFibGVfYWN0aW9uLmMu bwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjOToKT1M6IFJIRUw5MC02 NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkZBSUxFRDogZHJpdmVycy9saWJ0 bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8g CmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wIC1JZHJpdmVycyAtSS4u L2RyaXZlcnMgLUlkcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt IC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGli L2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9p bmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUls aWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwg LUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJp Y3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVtZXRyeSAtZmRpYWdub3N0aWNzLWNvbG9y PWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRy YSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNh dGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNz aW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1X b2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3Ry aWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBh Y2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWlu aXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1t YXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJ IC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1idXMucGxh dGZvcm0gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxh dGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0 Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8uZCAtbyBkcml2ZXJzL2xp YnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMu byAtYyAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYwpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjE0LAogICAgICAg ICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6 MTM6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDo5MToyNzogZXJy b3I6IGZpZWxkIOKAmGRldmljZeKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgIDkxIHwgICAgICAg ICBzdHJ1Y3QgcnRlX2RldmljZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9y dGVfYnVzX3BsYXRmb3JtLmg6MTAyOjI3OiBlcnJvcjogZmllbGQg4oCYZHJpdmVy4oCZIGhhcyBp bmNvbXBsZXRlIHR5cGUKICAxMDIgfCAgICAgICAgIHN0cnVjdCBydGVfZHJpdmVyIGRyaXZlcjsg LyoqPCBDb3JlIGRyaXZlciAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bV9wYXJhbXMuYzoxMzoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjMwOjI0OiBl cnJvcjogZmllbGQg4oCYYnVz4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAgMzAgfCAgICAgICAg IHN0cnVjdCBydGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgIF5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzog SW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fZGV2X21hdGNo4oCZOgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzozODozNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmGNvbnN0IHN0cnVjdCBydGVfZGV2aWNl4oCZCiAgIDM4IHwgICAgICAgICBp ZiAobmFtZSAmJiBzdHJjbXAobmFtZSwgZGV2LT5uYW1lKSkKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bV9wYXJhbXMuYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX2Rldl9pdGVyYXRl4oCZOgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo0ODo5OiBlcnJvcjogdW5r bm93biB0eXBlIG5hbWUg4oCYcnRlX2J1c19maW5kX2RldmljZV904oCZCiAgIDQ4IHwgICAgICAg ICBydGVfYnVzX2ZpbmRfZGV2aWNlX3QgZmluZF9kZXZpY2U7CiAgICAgIHwgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1z LmM6NTY6Mzc6IGVycm9yOiDigJhFSU5WQUzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRo aXMgZnVuY3Rpb24pCiAgIDU2IHwgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0g RUlOVkFMOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo1NjozNzogbm90ZTog ZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNo IGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KWzU3Mi8zMTgwXSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRl X2J1c19pZnBnYS5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzU3My8zMTgwXSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRm b3JtX3BsYXRmb3JtLmMubwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0u YS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGxhdGZvcm0uYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2J1cy9wbGF0 Zm9ybSAtSS4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29u ZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51 eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVk ZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwv Y29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJn cyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGli L3RlbGVtZXRyeSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRT PTY0IC1XYWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVf Y29uZmlnLmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxp dGVyYWwgLVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3Npbmct cHJvdG90eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2lu dGVyLWFyaXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dy aXRlLXN0cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90 LWFsaWduZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3Ro LWJvdW5kcyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklN RU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURS VEVfTE9HX0RFRkFVTFRfTE9HVFlQRT1idXMucGxhdGZvcm0gLU1EIC1NUSBkcml2ZXJzL2xpYnRt cF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vIC1NRiBkcml2 ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5v LmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3Bs YXRmb3JtLmMubyAtYyAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jCkluIGZpbGUg aW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjEyOgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6OTE6Mjc6IGVycm9yOiBmaWVs ZCDigJhkZXZpY2XigJkgaGFzIGluY29tcGxldGUgdHlwZQogICA5MSB8ICAgICAgICAgc3RydWN0 IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8IENvcmUgZGV2aWNlICovCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjEwMjoyNzogZXJyb3I6IGZpZWxkIOKAmGRyaXZlcuKAmSBoYXMgaW5jb21wbGV0 ZSB0eXBlCiAgMTAyIHwgICAgICAgICBzdHJ1Y3QgcnRlX2RyaXZlciBkcml2ZXI7IC8qKjwgQ29y ZSBkcml2ZXIgKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyMDoK Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjMwOjI0OiBlcnJvcjogZmllbGQg4oCY YnVz4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAgMzAgfCAgICAgICAgIHN0cnVjdCBydGVfYnVz IGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhkZXZpY2Vf YWxsb3dlZOKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2ODoxNDogZXJy b3I6IOKAmFJURV9CVVNfU0NBTl9VTkRFRklORUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgIDY4IHwgICAgICAgICBjYXNlIFJURV9CVVNfU0NBTl9VTkRFRklO RUQ6CiAgICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2ODoxNDogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVh cnMgaW4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2OToxNDogZXJyb3I6IOKA mFJURV9CVVNfU0NBTl9BTExPV0xJU1TigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMg ZnVuY3Rpb24pCiAgIDY5IHwgICAgICAgICBjYXNlIFJURV9CVVNfU0NBTl9BTExPV0xJU1Q6CiAg ICAgIHwgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYzo3MzoxNDogZXJyb3I6IOKAmFJURV9CVVNfU0NBTl9CTE9DS0xJ U1TigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIDczIHwgICAg ICAgICBjYXNlIFJURV9CVVNfU0NBTl9CTE9DS0xJU1Q6CiAgICAgIHwgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6ODoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX2ZpbmRfZGV2aWNl4oCZOgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2NzogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKA mGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhjb25zdCBz dHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikw KS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI2NDoyNDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h Y3JvIOKAmFJURV9UQUlMUV9ORVhU4oCZCiAgMjY0IHwgICAgICAgICBwZGV2ID0gc3RhcnQgPyBS VEVfVEFJTFFfTkVYVChSVEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVChzdGFydCksIG5leHQp IDoKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMjA6OTogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDEyMCB8ICAgICAgICAgY29udGFpbmVy X29mKHB0ciwgY29uc3Qgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAg fCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5j OjI2NDozOTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZP Uk1fREVWX0NPTlNU4oCZCiAgMjY0IHwgICAgICAgICBwZGV2ID0gc3RhcnQgPyBSVEVfVEFJTFFf TkVYVChSVEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVChzdGFydCksIG5leHQpIDoKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0 aW9uIOKAmHBsYXRmb3JtX2J1c19wbHVn4oCZOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjI4OTozMTogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfZGV2aWNl4oCZCiAgMjg5IHwgICAgICAgICBpZiAoIWRldmljZV9leGlzdHMoZGV2 LT5uYW1lKSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI5MjozMTogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNl4oCZCiAgMjkyIHwgICAgICAgICBp ZiAoZGV2aWNlX2FsbG93ZWQoZGV2LT5uYW1lKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MjEsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjEyOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjgxMjo2NzogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZ IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZ IFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChw dHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVz X3BsYXRmb3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWlu ZXJfb2bigJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxh dGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyOTg6MzE6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDI5OCB8ICAgICAgICAgcmV0 dXJuIHBsYXRmb3JtX3Byb2JlKFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldikpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3Jt X2J1c191bnBsdWfigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjY3OiBl cnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBpbmNvbXBhdGli bGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5jb21w YXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6 OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8 ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRl dmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybS5jOjMwNDo0NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9E RVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzA0IHwgICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3Jt X2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjY3OiBub3RlOiAobmVh ciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICA4MTIgfCAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsg XAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0 Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m 4oCZCiAgMTE3IHwgICAgICAgICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3Jt X2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzA0OjQ0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAzMDQgfCAgICAgICAgIHN0cnVjdCBy dGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4g ZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX2RtYV9tYXDigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfY29tbW9uLmg6ODEyOjY3OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50 ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNl ICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRy ID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0 ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNv bnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0 ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMyNTo0NDogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzI1IHwgICAgICAg ICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1f REVWKGRldik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9u Lmg6ODEyOjY3OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICA4 MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1l bWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAgICBjb250YWluZXJfb2YocHRy LCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAgICAgXn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzI1OjQ0OiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAz MjUgfCAgICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9U T19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX2RtYV91bm1hcOKA mToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IGVycm9yOiBpbml0aWFs aXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5 cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRl ci10eXBlc10KICA4MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0 eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAgICBjb250 YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8 ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 MzQ2OjQ0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9S TV9ERVbigJkKICAzNDYgfCAgICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2 ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0 aW9uIGZvciDigJhwZGV24oCZKQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAg ICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZp Y2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzozNDY6NDQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVW X1RPX1BMQVRGT1JNX0RFVuKAmQogIDM0NiB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBBdCB0b3AgbGV2ZWw6Ci4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzkzOjQ0OiBlcnJvcjogZXhwZWN0ZWQg 4oCYKeKAmSBiZWZvcmUg4oCYLuKAmSB0b2tlbgogIDM5MyB8IFJURV9SRUdJU1RFUl9CVVMocGxh dGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMuYnVzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICApCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMg ZXJyb3JzCls1NzQvMzE4MF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaV91aW8uYy5vCls1NzUvMzE4MF0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfZnNsbWMuYS5wL2J1c19mc2xtY19xYm1h bl9xYm1hbl9wb3J0YWwuYy5vCls1NzYvMzE4MF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMv bGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaV92ZmlvLmMubwpbNTc3LzMx ODBdIEdlbmVyYXRpbmcgZHJpdmVycy9ydGVfYnVzX2RwYWEucG1kLmMgd2l0aCBhIGN1c3RvbSBj b21tYW5kCls1NzgvMzE4MF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaS5jLm8KWzU3OS8zMTgwXSBDb21waWxpbmcgQyBv YmplY3QgbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3RfdmlydGlvX25ldC5jLm8KWzU4MC8zMTgw XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9waXBlbGluZS5hLnAvcGlwZWxpbmVfcnRl X3RhYmxlX2FjdGlvbi5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQg IzEwOgpPUzogVUIyMDA0LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwpG QUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9w bGF0Zm9ybS5jLm8gCmNsYW5nIC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAg LUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2lu Y2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9s aWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94 ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFs IC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3Mg LUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mY29s b3ItZGlhZ25vc3RpY3MgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNo IC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1X ZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5 IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0 ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFy ZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVz cy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05V X1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFM TE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAt TUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9w bGF0Zm9ybS5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19w bGF0Zm9ybV9wbGF0Zm9ybS5jLm8uZCAtbyBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3Jt LmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6MTI6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0u aDo5MToyMDogZXJyb3I6IGZpZWxkIGhhcyBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBydGVfZGV2 aWNlJwogICAgICAgIHN0cnVjdCBydGVfZGV2aWNlIGRldmljZTsgLyoqPCBDb3JlIGRldmljZSAq LwogICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9idXMu aDoyNjo4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2RldmljZScK c3RydWN0IHJ0ZV9kZXZpY2U7CiAgICAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjEyOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9y dGVfYnVzX3BsYXRmb3JtLmg6MTAyOjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29tcGxldGUgdHlw ZSAnc3RydWN0IHJ0ZV9kcml2ZXInCiAgICAgICAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAv Kio8IENvcmUgZHJpdmVyICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2Rldi5oOjMwOjg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0 cnVjdCBydGVfZHJpdmVyJwpzdHJ1Y3QgcnRlX2RyaXZlcjsKICAgICAgIF4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjA6Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDozMDoxNzogZXJyb3I6IGZpZWxkIGhhcyBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBydGVfYnVzJwogICAgICAgIHN0cnVjdCBydGVfYnVzIGJ1czsgLyog Q29yZSBidXMgKi8KICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9y dGVfYnVzLmg6MjU6ODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9i dXMnCnN0cnVjdCBydGVfYnVzOwogICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjI2NDo3MDogZXJyb3I6IG1lbWJlciByZWZlcmVuY2UgdHlwZSAndm9pZCcgaXMgbm90 IGEgcG9pbnRlcgogICAgICAgIHBkZXYgPSBzdGFydCA/IFJURV9UQUlMUV9ORVhUKFJURV9ERVZf VE9fUExBVEZPUk1fREVWX0NPTlNUKHN0YXJ0KSwgbmV4dCkgOgogICAgICAgICAgICAgICAgICAg ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Xn5+fn4KLi4vbGliL2VhbC9saW51eC9pbmNsdWRlL3J0ZV9vcy5oOjI1OjU0OiBub3RlOiBleHBh bmRlZCBmcm9tIG1hY3JvICdSVEVfVEFJTFFfTkVYVCcKI2RlZmluZSBSVEVfVEFJTFFfTkVYVChl bGVtLCBmaWVsZCkgVEFJTFFfTkVYVChlbGVtLCBmaWVsZCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5efn5+fn4KL3Vzci9pbmNsdWRlL3g4Nl82 NC1saW51eC1nbnUvc3lzL3F1ZXVlLmg6NDU5OjQxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3Jv ICdUQUlMUV9ORVhUJwojZGVmaW5lIFRBSUxRX05FWFQoZWxtLCBmaWVsZCkgICAgICAgICAgKChl bG0pLT5maWVsZC50cWVfbmV4dCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5+fiAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI4OToyNDog ZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgcnRlX2RldmljZScK ICAgICAgICBpZiAoIWRldmljZV9leGlzdHMoZGV2LT5uYW1lKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+XgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2Rldmlj ZTsKICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyOTI6MjQ6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAg ICAgICAgaWYgKGRldmljZV9hbGxvd2VkKGRldi0+bmFtZSkpIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgfn5+XgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2Rldmlj ZTsKICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyOTg6MjQ6IGVy cm9yOiBwYXNzaW5nICd2b2lkJyB0byBwYXJhbWV0ZXIgb2YgaW5jb21wYXRpYmxlIHR5cGUgJ3N0 cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlIConCiAgICAgICAgcmV0dXJuIHBsYXRmb3JtX3Byb2Jl KFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldikpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnUlRF X0RFVl9UT19QTEFURk9STV9ERVYnCiAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0 ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjgxMTo0MTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnY29udGFpbmVyX29mJwoj ZGVmaW5lIGNvbnRhaW5lcl9vZihwdHIsIHR5cGUsIG1lbWJlcikgX19leHRlbnNpb25fXyAoeyAg ICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzoxODM6NDQ6IG5vdGU6IHBhc3NpbmcgYXJndW1lbnQgdG8gcGFyYW1ldGVyICdw ZGV2JyBoZXJlCnBsYXRmb3JtX3Byb2JlKHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMwNDozMDogZXJyb3I6IGluaXRpYWxpemluZyAnc3Ry dWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKicgd2l0aCBhbiBleHByZXNzaW9uIG9mIGluY29tcGF0 aWJsZSB0eXBlICd2b2lkJwogICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2 ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXiAgICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMjU6MzA6IGVycm9yOiBpbml0aWFsaXppbmcgJ3N0 cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlIConIHdpdGggYW4gZXhwcmVzc2lvbiBvZiBpbmNvbXBh dGlibGUgdHlwZSAndm9pZCcKICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRl diA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4gICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjMwOiBlcnJvcjogaW5pdGlhbGl6aW5nICdz dHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqJyB3aXRoIGFuIGV4cHJlc3Npb24gb2YgaW5jb21w YXRpYmxlIHR5cGUgJ3ZvaWQnCiAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBk ZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5MzozMjogZXJyb3I6IHJlZGVmaW5pdGlvbiBv ZiBwYXJhbWV0ZXIgJ3BsYXRmb3JtX2J1cycKUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMs IHBsYXRmb3JtX2J1cy5idXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5Mzo0NDogZXJyb3I6IGV4cGVjdGVkICcp JwpSVEVfUkVHSVNURVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6MzkzOjE3OiBub3RlOiB0byBtYXRjaCB0aGlzICcoJwpSVEVfUkVH SVNURVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzkzOjE6IGVycm9yOiB0eXBl IHNwZWNpZmllciBtaXNzaW5nLCBkZWZhdWx0cyB0byAnaW50JyBbLVdlcnJvciwtV2ltcGxpY2l0 LWludF0KUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5idXMpOwpe Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzkzOjE4OiBlcnJvcjogYSBwYXJh bWV0ZXIgbGlzdCB3aXRob3V0IHR5cGVzIGlzIG9ubHkgYWxsb3dlZCBpbiBhIGZ1bmN0aW9uIGRl ZmluaXRpb24KUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5idXMp OwogICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2 ODo3OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JVU19TQ0FOX1VO REVGSU5FRCcKICAgICAgICBjYXNlIFJURV9CVVNfU0NBTl9VTkRFRklORUQ6CiAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njk6NzogZXJyb3I6IHVzZSBv ZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1JURV9CVVNfU0NBTl9BTExPV0xJU1QnCiAgICAgICAg Y2FzZSBSVEVfQlVTX1NDQU5fQUxMT1dMSVNUOgogICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjczOjc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVu dGlmaWVyICdSVEVfQlVTX1NDQU5fQkxPQ0tMSVNUJwogICAgICAgIGNhc2UgUlRFX0JVU19TQ0FO X0JMT0NLTElTVDoKICAgICAgICAgICAgIF4KMTcgZXJyb3JzIGdlbmVyYXRlZC4KWzYwOS8zMjU3 XSBHZW5lcmF0aW5nIHJ0ZV9idXNfaWZwZ2Euc3ltX2NoayB3aXRoIGEgY3VzdG9tIGNvbW1hbmQg KHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpCls2MTAvMzI1N10gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9y bV9wbGF0Zm9ybV9wYXJhbXMuYy5vCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0 Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gCmNsYW5nIC1JZHJpdmVy cy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVycyAtSWRy aXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuIC1JLi4gLUlj b25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2luY2x1ZGUg LUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUgLUlsaWIv ZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwvY29tbW9u IC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9rdmFyZ3Mg LUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxpYi90ZWxl bWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mY29sb3ItZGlhZ25vc3RpY3MgLURfRklMRV9PRkZT RVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1 ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1h dC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdt aXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9u IC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5k ZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tbWlz c2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZl IC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtRFJURV9MT0df REVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1NRiBkcml2 ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFy YW1zLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0 Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtX3BhcmFtcy5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3ByaXZhdGUuaDoxNDoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1 c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3Ry dWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAgc3RydWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8IENv cmUgZGV2aWNlICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1 ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBy dGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2RldmljZTsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjEzOgpJbiBmaWxl IGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjE0OgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTAyOjIwOiBlcnJvcjogZmll bGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHJ0ZV9kcml2ZXInCiAgICAgICAgc3RydWN0 IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Rldi5oOjMwOjg6IG5vdGU6IGZvcndh cmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZHJpdmVyJwpzdHJ1Y3QgcnRlX2RyaXZlcjsK ICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6 MTc6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgcnRlX2J1cycKICAg ICAgICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENvcmUgYnVzICovCiAgICAgICAgICAgICAgICAg ICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI1Ojg6IG5vdGU6IGZvcndhcmQg ZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYnVzJwpzdHJ1Y3QgcnRlX2J1czsKICAgICAgIF4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6Mzg6MzA6IGVycm9yOiBp bmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAg aWYgKG5hbWUgJiYgc3RyY21wKG5hbWUsIGRldi0+bmFtZSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fl4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4OiBub3Rl OiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2RldmljZScKc3RydWN0IHJ0ZV9k ZXZpY2U7CiAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5j OjQ4OjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdydGVfYnVzX2ZpbmRf ZGV2aWNlX3QnOyBkaWQgeW91IG1lYW4gJ3J0ZV9idXNfZmluZF9ieV9kZXZpY2UnPwogICAgICAg IHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn4KICAgICAgICBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlCi4uL2xpYi9lYWwvaW5jbHVk ZS9ydGVfYnVzLmg6MTEwOjE3OiBub3RlOiAncnRlX2J1c19maW5kX2J5X2RldmljZScgZGVjbGFy ZWQgaGVyZQpzdHJ1Y3QgcnRlX2J1cyAqcnRlX2J1c19maW5kX2J5X2RldmljZShjb25zdCBzdHJ1 Y3QgcnRlX2RldmljZSAqZGV2KTsKICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6MjM6IGVycm9yOiBleHBlY3RlZCAnOycgYWZ0ZXIg ZXhwcmVzc2lvbgogICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg OwouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo0ODoyOiBlcnJvcjog ZXhwcmVzc2lvbiByZXN1bHQgdW51c2VkIFstV2Vycm9yLC1XdW51c2VkLXZhbHVlXQogICAgICAg IHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6MjQ6 IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmaW5kX2RldmljZScKICAgICAg ICBydGVfYnVzX2ZpbmRfZGV2aWNlX3QgZmluZF9kZXZpY2U7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NTY6 MTY6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdFSU5WQUwnCiAgICAgICAg ICAgICAgICAgICAgICAgIHJ0ZV9lcnJubyA9IEVJTlZBTDsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMu Yzo2MjoyOiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmluZF9kZXZpY2Un CiAgICAgICAgZmluZF9kZXZpY2UgPSBwbGF0Zm9ybV9idXMuYnVzLmZpbmRfZGV2aWNlOwogICAg ICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NjM6NzogZXJy b3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZpbmRfZGV2aWNlJwogICAgICAgIGlm ICghZmluZF9kZXZpY2UpCiAgICAgICAgICAgICBeCjExIGVycm9ycyBnZW5lcmF0ZWQuCls2MTEv MzI1N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlicnRlX2J1c192ZGV2LmEucC9tZXNv bi1nZW5lcmF0ZWRfLi5fcnRlX2J1c192ZGV2LnBtZC5jLm8KWzYxMi8zMjU3XSBHZW5lcmF0aW5n IHJ0ZV9idXNfdm1idXMucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kCls2MTMvMzI1N10gR2Vu ZXJhdGluZyBydGVfYnVzX3BjaS5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzYxNC8zMjU3 XSBHZW5lcmF0aW5nIHJ0ZV9idXNfZnNsbWMucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kCls2 MTUvMzI1N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9jb21tb25fY254 ay5hLnAvY29tbW9uX2NueGtfcm9jX2NwdF9kZWJ1Zy5jLm8KWzYxNi8zMjU3XSBHZW5lcmF0aW5n IHJ0ZV9idXNfZHBhYS5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBt ZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzYxNy8zMjU3XSBHZW5lcmF0aW5nIHBpcGVsaW5lLnN5 bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUg b3V0cHV0KQpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTE6Ck9TOiBV QjIwMDQtNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZl cnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJh bXMuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucCAtSWRyaXZl cnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAt SS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwv bGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNs dWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9s aWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xp Yi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLWZkaWFnbm9zdGlj cy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNo IC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1X ZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5 IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0 ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFy ZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVz cy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1m aWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAt ZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVS TkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9 YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAv YnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vLmQgLW8gZHJp dmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3Bh cmFtcy5jLm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmMKSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDoxNCwK ICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3Bh cmFtcy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6OTE6 MjA6IGVycm9yOiBmaWVsZCDigJhkZXZpY2XigJkgaGFzIGluY29tcGxldGUgdHlwZQogICA5MSB8 ICBzdHJ1Y3QgcnRlX2RldmljZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAgICAgfCAg ICAgICAgICAgICAgICAgICAgXn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNf cGxhdGZvcm0uaDoxMDI6MjA6IGVycm9yOiBmaWVsZCDigJhkcml2ZXLigJkgaGFzIGluY29tcGxl dGUgdHlwZQogIDEwMiB8ICBzdHJ1Y3QgcnRlX2RyaXZlciBkcml2ZXI7IC8qKjwgQ29yZSBkcml2 ZXIgKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQg ZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoKLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjMwOjE3OiBlcnJvcjogZmllbGQg4oCYYnVz4oCZ IGhhcyBpbmNvbXBsZXRlIHR5cGUKICAgMzAgfCAgc3RydWN0IHJ0ZV9idXMgYnVzOyAvKiBDb3Jl IGJ1cyAqLwogICAgICB8ICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcGxhdGZvcm1fcGFyYW1zLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2Rldl9tYXRjaOKA mToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6Mzg6MzA6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2Rldmlj ZeKAmQogICAzOCB8ICBpZiAobmFtZSAmJiBzdHJjbXAobmFtZSwgZGV2LT5uYW1lKSkKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtX3BhcmFtcy5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZGV2X2l0ZXJh dGXigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjQ4OjI6IGVy cm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhydGVfYnVzX2ZpbmRfZGV2aWNlX3TigJkKICAgNDgg fCAgcnRlX2J1c19maW5kX2RldmljZV90IGZpbmRfZGV2aWNlOwogICAgICB8ICBefn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NTY6 MTY6IGVycm9yOiDigJhFSU5WQUzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVu Y3Rpb24pCiAgIDU2IHwgICAgcnRlX2Vycm5vID0gRUlOVkFMOwogICAgICB8ICAgICAgICAgICAg ICAgIF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo1Njox Njogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNl IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KWzU3MC8zMjY1XSBDb21waWxpbmcgQyBv YmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3Bs YXRmb3JtLmMubwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1 c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxh dGZvcm0uYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2J1cy9wbGF0Zm9ybSAt SS4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLiAtSS4uIC1JY29uZmlnIC1JLi4vY29uZmlnIC1J bGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2VhbC9saW51eC9pbmNs dWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYvaW5jbHVkZSAtSS4u L2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xpYi9lYWwvY29tbW9u IC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGliL2t2YXJncyAtSWxp Yi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1JLi4vbGliL3RlbGVt ZXRyeSAtZmRpYWdub3N0aWNzLWNvbG9yPWFsd2F5cyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1X YWxsIC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmln LmggLVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwg LVdmb3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90 eXBlcyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFy aXRoIC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0 cmluZ3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1wYWNrZWQtbm90LWFsaWdu ZWQgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyAtV25vLXplcm8tbGVuZ3RoLWJvdW5k cyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklNRU5UQUxf QVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1Xbm8tZm9ybWF0LXRydW5jYXRpb24gLURSVEVfTE9H X0RFRkFVTFRfTE9HVFlQRT1idXMucGxhdGZvcm0gLU1EIC1NUSBkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vIC1NRiBkcml2ZXJzL2xp YnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vLmQgLW8g ZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3Jt LmMubyAtYyAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jCkluIGZpbGUgaW5jbHVk ZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjEyOgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6OTE6MjA6IGVycm9yOiBmaWVsZCDigJhk ZXZpY2XigJkgaGFzIGluY29tcGxldGUgdHlwZQogICA5MSB8ICBzdHJ1Y3QgcnRlX2RldmljZSBk ZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgXn5+ fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6MjA6IGVy cm9yOiBmaWVsZCDigJhkcml2ZXLigJkgaGFzIGluY29tcGxldGUgdHlwZQogIDEwMiB8ICBzdHJ1 Y3QgcnRlX2RyaXZlciBkcml2ZXI7IC8qKjwgQ29yZSBkcml2ZXIgKi8KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjIwOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6 MzA6MTc6IGVycm9yOiBmaWVsZCDigJhidXPigJkgaGFzIGluY29tcGxldGUgdHlwZQogICAzMCB8 ICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENvcmUgYnVzICovCiAgICAgIHwgICAgICAgICAgICAg ICAgIF5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDi gJhkZXZpY2VfYWxsb3dlZOKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2 ODo3OiBlcnJvcjog4oCYUlRFX0JVU19TQ0FOX1VOREVGSU5FROKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgNjggfCAgY2FzZSBSVEVfQlVTX1NDQU5fVU5ERUZJ TkVEOgogICAgICB8ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYzo2ODo3OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjY5Ojc6IGVycm9yOiDigJhSVEVfQlVT X1NDQU5fQUxMT1dMSVNU4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogICA2OSB8ICBjYXNlIFJURV9CVVNfU0NBTl9BTExPV0xJU1Q6CiAgICAgIHwgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjcz Ojc6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fQkxPQ0tMSVNU4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA3MyB8ICBjYXNlIFJURV9CVVNfU0NBTl9CTE9DS0xJ U1Q6CiAgICAgIHwgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo4OgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZmluZF9k ZXZpY2XigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBlcnJvcjog aW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9p bnRlciB0eXBlIOKAmGNvbnN0IHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5jb21w YXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTAp LT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6MjY0OjE3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX1RBSUxRX05FWFTi gJkKICAyNjQgfCAgcGRldiA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19QTEFU Rk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAgICAgIHwgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDox MjA6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDEy MCB8ICBjb250YWluZXJfb2YocHRyLCBjb25zdCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwg ZGV2aWNlKQogICAgICB8ICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzoyNjQ6MzI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RP X1BMQVRGT1JNX0RFVl9DT05TVOKAmQogIDI2NCB8ICBwZGV2ID0gc3RhcnQgPyBSVEVfVEFJTFFf TkVYVChSVEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVChzdGFydCksIG5leHQpIDoKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCY cGxhdGZvcm1fYnVzX3BsdWfigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 Mjg5OjI0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9kZXZpY2XigJkKICAyODkgfCAgaWYgKCFkZXZpY2VfZXhpc3RzKGRldi0+bmFtZSkpCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjI5MjoyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCBydGVfZGV2aWNl4oCZCiAgMjkyIHwgIGlmIChkZXZpY2VfYWxsb3dlZChkZXYtPm5hbWUp KSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjIxLAogICAgICAg ICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4v bGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXphdGlv biBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCY c3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBl c10KICA4MTIgfCAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAo cHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgIGNv bnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAg IHwgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI5ODoy NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW 4oCZCiAgMjk4IHwgIHJldHVybiBwbGF0Zm9ybV9wcm9iZShSVEVfREVWX1RPX1BMQVRGT1JNX0RF VihkZXYpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKA mHBsYXRmb3JtX2J1c191bnBsdWfigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 ODEyOjQ2OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwgICAgY29uc3QgdHlwZW9mKCgo dHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3Bs YXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy byDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDMwNCB8ICBzdHJ1Y3QgcnRlX3BsYXRm b3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IG5vdGU6IChuZWFyIGlu aXRpYWxpemF0aW9uIGZvciDigJhwZGV24oCZKQogIDgxMiB8ICAgIGNvbnN0IHR5cGVvZigoKHR5 cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9y dGVfYnVzX3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhj b250YWluZXJfb2bigJkKICAxMTcgfCAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0 Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6MzA0OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g 4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAzMDQgfCAgc3RydWN0IHJ0ZV9wbGF0Zm9y bV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRm b3JtX2J1c19kbWFfbWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0 NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21w YXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWlu Y29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgIGNvbnN0IHR5cGVvZigoKHR5cGUg KikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVf YnVzX3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250 YWluZXJfb2bigJkKICAxMTcgfCAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9y bV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6MzI1OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY UlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAzMjUgfCAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFs aXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICA4MTIgfCAgICBjb25zdCB0eXBlb2YoKCh0eXBlICop MCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1 c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFp bmVyX29m4oCZCiAgMTE3IHwgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1f ZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOjMyNTozNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJU RV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzI1IHwgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2 aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9i dXNfZG1hX3VubWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0Njog ZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRp YmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29t cGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikw KS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVz X3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWlu ZXJfb2bigJkKICAxMTcgfCAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UsIGRldmljZSkKICAgICAgfCAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6MzQ2OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRF X0RFVl9UT19QTEFURk9STV9ERVbigJkKICAzNDYgfCAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZp Y2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xp Yi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFsaXph dGlvbiBmb3Ig4oCYcGRlduKAmSkKICA4MTIgfCAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCkt Pm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVy X29m4oCZCiAgMTE3IHwgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2 aWNlLCBkZXZpY2UpCiAgICAgIHwgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybS5jOjM0NjozNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9E RVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzQ2IHwgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNl ICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBBdCB0b3AgbGV2ZWw6Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6MzkzOjQ0OiBlcnJvcjogZXhwZWN0ZWQg4oCYKeKAmSBiZWZv cmUg4oCYLuKAmSB0b2tlbgogIDM5MyB8IFJURV9SRUdJU1RFUl9CVVMocGxhdGZvcm1fYnVzLCBw bGF0Zm9ybV9idXMuYnVzKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCls1NzEv MzI2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9i dXNfcGNpX2xpbnV4X3BjaV92ZmlvLmMubwpbNTcyLzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9wY2kuYy5vCls1NzMv MzI2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfZHBhYS5hLnAv YnVzX2RwYWFfYmFzZV9xYm1hbl9xbWFuLmMubwpbNTc0LzMyNjVdIENvbXBpbGluZyBDIG9iamVj dCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3ZkZXYuYS5wL2J1c192ZGV2X3ZkZXYuYy5vCls1NzUv MzI2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfZnNsbWMuYS5w L2J1c19mc2xtY19xYm1hbl9xYm1hbl9wb3J0YWwuYy5vCls1NzYvMzI2NV0gQ29tcGlsaW5nIEMg b2JqZWN0IGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vCls1NzcvMzI2 NV0gR2VuZXJhdGluZyBydGVfYnVzX2lmcGdhLnN5bV9jaGsgd2l0aCBhIGN1c3RvbSBjb21tYW5k ICh3cmFwcGVkIGJ5IG1lc29uIHRvIGNhcHR1cmUgb3V0cHV0KQpbNTc4LzMyNjVdIENvbXBpbGlu ZyBDIG9iamVjdCBsaWIvbGlicnRlX3BpcGVsaW5lLmEucC9waXBlbGluZV9ydGVfdGFibGVfYWN0 aW9uLmMubwpuaW5qYTogYnVpbGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTI6Ck9TOiBV QjIyMDQtMzIKVGFyZ2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJz L2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1z LmMubyAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJz IC1JLi4vZHJpdmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxh dGZvcm0gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUku Li9saWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xp bnV4L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVk ZSAtSWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGli L2VhbCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIv bWV0cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mZGlhZ25vc3RpY3Mt Y29sb3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAt V2V4dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2Rl cHJlY2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAt V21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVy bnMgLVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUg LVdzdHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mt b2YtcGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmll bGQtaW5pdGlhbGl6ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91bmRzIC1Xbm8tcG9pbnRlci10by1p bnQtY2FzdCAtRF9HTlVfU09VUkNFIC1tMzIgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VY UEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlv biAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRyaXZlcnMv bGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMu Yy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1f cGxhdGZvcm1fcGFyYW1zLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0u YS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1jIC4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MTQsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoKLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkxOjI3OiBlcnJvcjogZmllbGQg4oCYZGV2aWNl4oCZ IGhhcyBpbmNvbXBsZXRlIHR5cGUKICAgOTEgfCAgICAgICAgIHN0cnVjdCBydGVfZGV2aWNlIGRl dmljZTsgLyoqPCBDb3JlIGRldmljZSAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6 Mjc6IGVycm9yOiBmaWVsZCDigJhkcml2ZXLigJkgaGFzIGluY29tcGxldGUgdHlwZQogIDEwMiB8 ICAgICAgICAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6MjQ6IGVycm9yOiBmaWVsZCDigJhidXPigJkg aGFzIGluY29tcGxldGUgdHlwZQogICAzMCB8ICAgICAgICAgc3RydWN0IHJ0ZV9idXMgYnVzOyAv KiBDb3JlIGJ1cyAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9y bV9kZXZfbWF0Y2jigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5j OjM4OjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYY29uc3Qgc3Ry dWN0IHJ0ZV9kZXZpY2XigJkKICAgMzggfCAgICAgICAgIGlmIChuYW1lICYmIHN0cmNtcChuYW1l LCBkZXYtPm5hbWUpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOiBJbiBmdW5jdGlv biDigJhwbGF0Zm9ybV9idXNfZGV2X2l0ZXJhdGXigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtX3BhcmFtcy5jOjQ4Ojk6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhydGVf YnVzX2ZpbmRfZGV2aWNlX3TigJkKICAgNDggfCAgICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2Vf dCBmaW5kX2RldmljZTsKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo1NjozNzogZXJyb3I6IOKAmEVJ TlZBTOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgNTYgfCAg ICAgICAgICAgICAgICAgICAgICAgICBydGVfZXJybm8gPSBFSU5WQUw7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtX3BhcmFtcy5jOjU2OjM3OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRp ZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBp bgpbNTUyLzIxNDhdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3Bs YXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vCkZBSUxFRDogZHJpdmVycy9saWJ0 bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAKZ2NjIC1J ZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVy cyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuIC1J Li4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2lu Y2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUg LUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwv Y29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9r dmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxp Yi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3YXlz IC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1XZXJy b3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQgLVdm b3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3NpbmctZGVj bGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQtc3R5 bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3QtcHJv dG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2VkLW1l bWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6 ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91bmRzIC1Xbm8tcG9pbnRlci10by1pbnQtY2FzdCAtRF9H TlVfU09VUkNFIC1tMzIgLWZQSUMgLW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9B UEkgLURBTExPV19JTlRFUk5BTF9BUEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0df REVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLU1GIGRyaXZlcnMvbGli dG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8uZCAtbyBk cml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0u Yy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmMKSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MTI6Ci4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDo5MToyNzogZXJyb3I6IGZpZWxkIOKAmGRl dmljZeKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgIDkxIHwgICAgICAgICBzdHJ1Y3QgcnRlX2Rl dmljZSBkZXZpY2U7IC8qKjwgQ29yZSBkZXZpY2UgKi8KICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3Jt Lmg6MTAyOjI3OiBlcnJvcjogZmllbGQg4oCYZHJpdmVy4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUK ICAxMDIgfCAgICAgICAgIHN0cnVjdCBydGVfZHJpdmVyIGRyaXZlcjsgLyoqPCBDb3JlIGRyaXZl ciAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjIwOgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6MjQ6IGVycm9yOiBmaWVsZCDigJhidXPigJkg aGFzIGluY29tcGxldGUgdHlwZQogICAzMCB8ICAgICAgICAgc3RydWN0IHJ0ZV9idXMgYnVzOyAv KiBDb3JlIGJ1cyAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmGRldmljZV9hbGxvd2Vk 4oCZOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjY4OjE0OiBlcnJvcjog4oCY UlRFX0JVU19TQ0FOX1VOREVGSU5FROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgNjggfCAgICAgICAgIGNhc2UgUlRFX0JVU19TQ0FOX1VOREVGSU5FRDoKICAg ICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjY4OjE0OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjY5OjE0OiBlcnJvcjog4oCYUlRFX0JV U19TQ0FOX0FMTE9XTElTVOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgNjkgfCAgICAgICAgIGNhc2UgUlRFX0JVU19TQ0FOX0FMTE9XTElTVDoKICAgICAgfCAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybS5jOjczOjE0OiBlcnJvcjog4oCYUlRFX0JVU19TQ0FOX0JMT0NLTElTVOKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgNzMgfCAgICAgICAgIGNh c2UgUlRFX0JVU19TQ0FOX0JMT0NLTElTVDoKICAgICAgfCAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcGxhdGZvcm0uYzo4OgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBm dW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZmluZF9kZXZpY2XigJk6Ci4uL2xpYi9lYWwvaW5jbHVk ZS9ydGVfY29tbW9uLmg6ODEyOjY3OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3Qg aW50ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmGNvbnN0IHN0cnVjdCBy dGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEy IHwgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1i ZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6MjY0OjI0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCY UlRFX1RBSUxRX05FWFTigJkKICAyNjQgfCAgICAgICAgIHBkZXYgPSBzdGFydCA/IFJURV9UQUlM UV9ORVhUKFJURV9ERVZfVE9fUExBVEZPUk1fREVWX0NPTlNUKHN0YXJ0KSwgbmV4dCkgOgogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjEyMDo5OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTIwIHwgICAgICAgICBjb250YWluZXJfb2YocHRy LCBjb25zdCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAg ICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjY0OjM5 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVZf Q09OU1TigJkKICAyNjQgfCAgICAgICAgIHBkZXYgPSBzdGFydCA/IFJURV9UQUlMUV9ORVhUKFJU RV9ERVZfVE9fUExBVEZPUk1fREVWX0NPTlNUKHN0YXJ0KSwgbmV4dCkgOgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCY cGxhdGZvcm1fYnVzX3BsdWfigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 Mjg5OjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHJ0 ZV9kZXZpY2XigJkKICAyODkgfCAgICAgICAgIGlmICghZGV2aWNlX2V4aXN0cyhkZXYtPm5hbWUp KQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6MjkyOjMxOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2XigJkKICAyOTIgfCAgICAgICAgIGlmIChkZXZp Y2VfYWxsb3dlZChkZXYtPm5hbWUpKSB7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0 ZV9idXNfcGxhdGZvcm0uaDoyMSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6MTI6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 ODEyOjY3OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZv cm0uaDoxMTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKA mQogIDExNyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9k ZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI5ODozMTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv IOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMjk4IHwgICAgICAgICByZXR1cm4gcGxh dGZvcm1fcHJvYmUoUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KSk7CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX3Vu cGx1Z+KAmToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IGVycm9yOiBp bml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUt cG9pbnRlci10eXBlc10KICA4MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBl b2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAg ICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQog ICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6MzA0OjQ0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19Q TEFURk9STV9ERVbigJkKICAzMDQgfCAgICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNl ICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K Li4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IG5vdGU6IChuZWFyIGluaXRp YWxpemF0aW9uIGZvciDigJhwZGV24oCZKQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6 MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAx MTcgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNl LCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzozMDQ6NDQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhS VEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDMwNCB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0 Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlv biDigJhwbGF0Zm9ybV9idXNfZG1hX21hcOKAmToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21t b24uaDo4MTI6Njc6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBm cm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBb LVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA4MTIgfCAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRy KTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVy X29m4oCZCiAgMTE3IHwgICAgICAgICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRm b3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzI1OjQ0OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAzMjUgfCAgICAgICAgIHN0cnVj dCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2 KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6 Njc6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwZGV24oCZKQogIDgxMiB8ICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAq X3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDi gJhjb250YWluZXJfb2bigJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVj dCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMjU6NDQ6IG5vdGU6IGluIGV4 cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDMyNSB8ICAg ICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRG T1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w bGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZG1hX3VubWFw4oCZOgouLi9s aWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2NzogZXJyb3I6IGluaXRpYWxpemF0aW9u IG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhz dHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikw KS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lv biBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5lcl9v ZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAg ICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNDY6NDQ6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKA mQogIDM0NiB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVf REVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2lu Y2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2Nzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9y IOKAmHBkZXbigJkpCiAgODEyIHwgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9m KCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAg Y29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAg ICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOjM0Njo0NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExB VEZPUk1fREVW4oCZCiAgMzQ2IHwgICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAq cGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEF0IHRvcCBsZXZlbDoKLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozOTM6NDQ6IGVycm9yOiBleHBlY3RlZCDigJgp4oCZ IGJlZm9yZSDigJgu4oCZIHRva2VuCiAgMzkzIHwgUlRFX1JFR0lTVEVSX0JVUyhwbGF0Zm9ybV9i dXMsIHBsYXRmb3JtX2J1cy5idXMpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMK WzU1My8yMTQ4XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJydGVfYnVzX2lmcGdhLmEu cC9tZXNvbi1nZW5lcmF0ZWRfLi5fcnRlX2J1c19pZnBnYS5wbWQuYy5vCls1NTQvMjE0OF0gQ29t cGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xp bnV4X3BjaV91aW8uYy5vCls1NTUvMjE0OF0gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9idXNfZHBh YS5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzU1Ni8yMTQ4XSBDb21waWxpbmcgQyBvYmpl Y3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpX3ZmaW8u Yy5vCls1NTcvMjE0OF0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf ZnNsbWMuYS5wL2J1c19mc2xtY19xYm1hbl9xYm1hbl9wb3J0YWwuYy5vCls1NTgvMjE0OF0gQ29t cGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xp bnV4X3BjaS5jLm8KWzU1OS8yMTQ4XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV92aG9z dC5hLnAvdmhvc3RfdmlydGlvX25ldC5jLm8KWzU2MC8yMTQ4XSBDb21waWxpbmcgQyBvYmplY3Qg bGliL2xpYnJ0ZV9waXBlbGluZS5hLnAvcGlwZWxpbmVfcnRlX3RhYmxlX2FjdGlvbi5jLm8Kbmlu amE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzEzOgpPUzogVUIyMDA0LTY0ClRh cmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1kb2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9y dGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vIApnY2MgLUlkcml2 ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1J ZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAt SWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVk ZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxp Yi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21t b24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJn cyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3Rl bGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURf RklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAt TzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1h dCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJh dGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1k ZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5 cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVy IC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMg LVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZl IC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1h dC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9YnVzLnBsYXRmb3JtIC1NRCAt TVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRm b3JtLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRm b3JtX3BsYXRmb3JtLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5w L2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzoxMjoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkx OjIwOiBlcnJvcjogZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAgOTEg fCAgc3RydWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8IENvcmUgZGV2aWNlICovCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgIF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVz X3BsYXRmb3JtLmg6MTAyOjIwOiBlcnJvcjogZmllbGQg4oCYZHJpdmVy4oCZIGhhcyBpbmNvbXBs ZXRlIHR5cGUKICAxMDIgfCAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJp dmVyICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgIF5+fn5+fgpJbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyMDoKLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjMwOjE3OiBlcnJvcjogZmllbGQg4oCYYnVz4oCZIGhhcyBp bmNvbXBsZXRlIHR5cGUKICAgMzAgfCAgc3RydWN0IHJ0ZV9idXMgYnVzOyAvKiBDb3JlIGJ1cyAq LwogICAgICB8ICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYZGV2aWNlX2FsbG93ZWTigJk6Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6NzogZXJyb3I6IOKAmFJURV9CVVNfU0NBTl9VTkRFRklO RUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIDY4IHwgIGNh c2UgUlRFX0JVU19TQ0FOX1VOREVGSU5FRDoKICAgICAgfCAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6Nzogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2 OTo3OiBlcnJvcjog4oCYUlRFX0JVU19TQ0FOX0FMTE9XTElTVOKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgNjkgfCAgY2FzZSBSVEVfQlVTX1NDQU5fQUxMT1dM SVNUOgogICAgICB8ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYzo3Mzo3OiBlcnJvcjog4oCYUlRFX0JVU19TQ0FOX0JMT0NLTElT VOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgNzMgfCAgY2Fz ZSBSVEVfQlVTX1NDQU5fQkxPQ0tMSVNUOgogICAgICB8ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6ODoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g 4oCYcGxhdGZvcm1fYnVzX2ZpbmRfZGV2aWNl4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZ IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhjb25zdCBzdHJ1Y3QgcnRlX2Rldmlj ZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgIGNv bnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI2NDoxNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h Y3JvIOKAmFJURV9UQUlMUV9ORVhU4oCZCiAgMjY0IHwgIHBkZXYgPSBzdGFydCA/IFJURV9UQUlM UV9ORVhUKFJURV9ERVZfVE9fUExBVEZPUk1fREVWX0NPTlNUKHN0YXJ0KSwgbmV4dCkgOgogICAg ICB8ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9ydGVfYnVzX3BsYXRmb3JtLmg6MTIwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDi gJhjb250YWluZXJfb2bigJkKICAxMjAgfCAgY29udGFpbmVyX29mKHB0ciwgY29uc3Qgc3RydWN0 IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgXn5+fn5+fn5+fn5+Ci4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjY0OjMyOiBub3RlOiBpbiBleHBhbnNpb24g b2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1TigJkKICAyNjQgfCAgcGRl diA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qo c3RhcnQpLCBuZXh0KSA6CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19wbHVn4oCZOgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjI4OToyNDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVm aW5lZCB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNl4oCZCiAgMjg5IHwgIGlmICghZGV2aWNlX2V4 aXN0cyhkZXYtPm5hbWUpKQogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyOTI6MjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZeKAmQogIDI5MiB8ICBpZiAoZGV2 aWNlX2FsbG93ZWQoZGV2LT5uYW1lKSkgewogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg Xn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNf cGxhdGZvcm0uaDoyMSwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6MTI6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2 OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBpbmNvbXBh dGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwgICAgY29uc3QgdHlwZW9mKCgodHlwZSAq KTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9i dXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRh aW5lcl9vZuKAmQogIDExNyB8ICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3Jt X2RldmljZSwgZGV2aWNlKQogICAgICB8ICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzoyOTg6MjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhS VEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDI5OCB8ICByZXR1cm4gcGxhdGZvcm1fcHJvYmUo UlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfdW5wbHVn4oCZOgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKA mGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3Qg cnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgx MiB8ICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBc CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAgY29udGFpbmVy X29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgXn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzA0OjM3OiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAz MDQgfCAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRG T1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICA4MTIg fCAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgIGNvbnRhaW5lcl9v ZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgIF5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMwNDozNzogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzA0 IHwgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9S TV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5j OiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZG1hX21hcOKAmToKLi4vbGliL2VhbC9pbmNs dWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25z dCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9k ZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA4MTIgfCAg ICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBh bnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgIGNvbnRhaW5lcl9vZihw dHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMyNTozNzogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzI1IHwg IHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9E RVYoZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0 Njogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBkZXbigJkpCiAgODEyIHwgICAg Y29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICBjb250YWluZXJfb2YocHRy LCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICBefn5+fn5+fn5+ fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMjU6Mzc6IG5vdGU6IGluIGV4 cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDMyNSB8ICBz dHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVW KGRldik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4g ZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX2RtYV91bm1hcOKAmToKLi4vbGliL2VhbC9pbmNsdWRl L3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBp bnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZp Y2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA4MTIgfCAgICBj b25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNp b24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgIGNvbnRhaW5lcl9vZihwdHIs IHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgIF5+fn5+fn5+fn5+ fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM0NjozNzogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzQ2IHwgIHN0 cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYo ZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0Njog bm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBkZXbigJkpCiAgODEyIHwgICAgY29u c3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICBjb250YWluZXJfb2YocHRyLCBz dHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICBefn5+fn5+fn5+fn4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNDY6Mzc6IG5vdGU6IGluIGV4cGFu c2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDM0NiB8ICBzdHJ1 Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRl dik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogQXQgdG9w IGxldmVsOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5Mzo0NDogZXJyb3I6 IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKAmC7igJkgdG9rZW4KICAzOTMgfCBSVEVfUkVHSVNU RVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0 cmVhdGVkIGFzIGVycm9ycwpbNTY4LzMwNDddIEdlbmVyYXRpbmcgcnRlX2J1c19pZnBnYS5wbWQu YyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzU2OS8zMDQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfcGNpX2NvbW1vbi5jLm8KWzU3MC8z MDQ3XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1 c19wY2lfbGludXhfcGNpX3Vpby5jLm8KWzU3MS8zMDQ3XSBHZW5lcmF0aW5nIHJ0ZV9idXNfZHBh YS5wbWQuYyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzU3Mi8zMDQ3XSBDb21waWxpbmcgQyBvYmpl Y3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpLmMubwpb NTczLzMwNDddIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX2ZzbG1j LmEucC9idXNfZnNsbWNfcWJtYW5fcWJtYW5fcG9ydGFsLmMubwpbNTc0LzMwNDddIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9w Y2lfdmZpby5jLm8KWzU3NS8zMDQ3XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV92aG9z dC5hLnAvdmhvc3RfdmlydGlvX25ldC5jLm8KWzU3Ni8zMDQ3XSBDb21waWxpbmcgQyBvYmplY3Qg bGliL2xpYnJ0ZV9waXBlbGluZS5hLnAvcGlwZWxpbmVfcnRlX3RhYmxlX2FjdGlvbi5jLm8Kbmlu amE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE0OgpPUzogVUIyMjA0LTY0ClRh cmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MrMTZieXRlCkZBSUxFRDogZHJpdmVycy9s aWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAKZ2Nj IC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJzIC1JLi4vZHJp dmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxhdGZvcm0gLUku IC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFs L2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1 ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9l YWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxp Yi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAt SWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mZGlhZ25vc3RpY3MtY29sb3I9YWx3 YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4dHJhIC1X ZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJlY2F0ZWQg LVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21pc3Npbmct ZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMgLVdvbGQt c3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdzdHJpY3Qt cHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2YtcGFja2Vk LW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlh bGl6ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91bmRzIC1EX0dOVV9TT1VSQ0UgLURSVEVfTElCUlRF X0k0MEVfMTZCWVRFX1JYX0RFU0MgLURSVEVfTElCUlRFX0lDRV8xNkJZVEVfUlhfREVTQyAtZlBJ QyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFM X0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9YnVz LnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVz X3BsYXRmb3JtX3BsYXRmb3JtLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9y bS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9i dXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLWMgLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1 c19wbGF0Zm9ybS5oOjkxOjI3OiBlcnJvcjogZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBs ZXRlIHR5cGUKICAgOTEgfCAgICAgICAgIHN0cnVjdCBydGVfZGV2aWNlIGRldmljZTsgLyoqPCBD b3JlIGRldmljZSAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6Mjc6IGVycm9yOiBm aWVsZCDigJhkcml2ZXLigJkgaGFzIGluY29tcGxldGUgdHlwZQogIDEwMiB8ICAgICAgICAgc3Ry dWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjA6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3By aXZhdGUuaDozMDoyNDogZXJyb3I6IGZpZWxkIOKAmGJ1c+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBl CiAgIDMwIHwgICAgICAgICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENvcmUgYnVzICovCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYZGV2aWNlX2FsbG93ZWTigJk6Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6MTQ6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fVU5ERUZJ TkVE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA2OCB8ICAg ICAgICAgY2FzZSBSVEVfQlVTX1NDQU5fVU5ERUZJTkVEOgogICAgICB8ICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 Njg6MTQ6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkg b25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6Njk6MTQ6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fQUxMT1dMSVNU4oCZ IHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA2OSB8ICAgICAgICAg Y2FzZSBSVEVfQlVTX1NDQU5fQUxMT1dMSVNUOgogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6NzM6MTQ6 IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fQkxPQ0tMSVNU4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA3MyB8ICAgICAgICAgY2FzZSBSVEVfQlVTX1NDQU5fQkxP Q0tMSVNUOgogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CkluIGZp bGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjg6Ci4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3Jt X2J1c19maW5kX2RldmljZeKAmToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6 Njc6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29t cGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdl cnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA4MTIgfCAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsg XAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoy NjQ6MjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfVEFJTFFfTkVYVOKAmQog IDI2NCB8ICAgICAgICAgcGRldiA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19Q TEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3Bs YXRmb3JtLmg6MTIwOjk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJf b2bigJkKICAxMjAgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIGNvbnN0IHN0cnVjdCBydGVf cGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyNjQ6Mzk6IG5vdGU6IGluIGV4cGFuc2lv biBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVOKAmQogIDI2NCB8ICAg ICAgICAgcGRldiA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9E RVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1 cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfcGx1Z+KA mToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyODk6MzE6IGVycm9yOiBpbnZh bGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZeKAmQogIDI4OSB8 ICAgICAgICAgaWYgKCFkZXZpY2VfZXhpc3RzKGRldi0+bmFtZSkpCiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzoyOTI6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg cnRlX2RldmljZeKAmQogIDI5MiB8ICAgICAgICAgaWYgKGRldmljZV9hbGxvd2VkKGRldi0+bmFt ZSkpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjIx LAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzoxMjoKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IGVycm9yOiBpbml0 aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVy IHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9p bnRlci10eXBlc10KICA4MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2Yo KCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAgICBj b250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAg ICB8ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6Mjk4OjMxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFU Rk9STV9ERVbigJkKICAyOTggfCAgICAgICAgIHJldHVybiBwbGF0Zm9ybV9wcm9iZShSVEVfREVW X1RPX1BMQVRGT1JNX0RFVihkZXYpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfdW5wbHVn4oCZOgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2NzogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKA mGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3Qg cnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgx MiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVt YmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt YWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIs IHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6NDQ6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDMw NCB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RP X1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUv cnRlX2NvbW1vbi5oOjgxMjo2Nzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBk ZXbigJkpCiAgODEyIHwgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlw ZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTogaW4gZXhw YW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAgY29udGFp bmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAg ICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMw NDo0NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1f REVW4oCZCiAgMzA0IHwgICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9 IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19k bWFfbWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2NzogZXJyb3I6 IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJs ZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5 cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6IG5v dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAgICAg ICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2Up CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzozMjU6NDQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RP X1BMQVRGT1JNX0RFVuKAmQogIDMyNSB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZp Y2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2Nzogbm90ZTogKG5lYXIgaW5p dGlhbGl6YXRpb24gZm9yIOKAmHBkZXbigJkpCiAgODEyIHwgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0u aDoxMTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQog IDExNyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZp Y2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjMyNTo0NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKA mFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzI1IHwgICAgICAgICBzdHJ1Y3QgcnRlX3Bs YXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0 aW9uIOKAmHBsYXRmb3JtX2J1c19kbWFfdW5tYXDigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf Y29tbW9uLmg6ODEyOjY3OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICri gJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNlICri gJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0g KHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9i dXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRh aW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9w bGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM0Njo0NDogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzQ2IHwgICAgICAgICBz dHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVW KGRldik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 ODEyOjY3OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICA4MTIg fCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJl cikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAgICBjb250YWluZXJfb2YocHRyLCBz dHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAgICAgXn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjQ0OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAzNDYg fCAgICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19Q TEFURk9STV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcGxhdGZvcm0uYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjM5Mzo0NDogZXJyb3I6IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKAmC7igJkgdG9r ZW4KICAzOTMgfCBSVEVfUkVHSVNURVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1 cyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQpjYzE6 IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbNTgxLzMyNjldIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9w Y2lfdWlvLmMubwpbNTgyLzMyNjldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnJ0ZV9i dXNfZHBhYS5zby4yMy4xLnAvbWVzb24tZ2VuZXJhdGVkXy4uX3J0ZV9idXNfZHBhYS5wbWQuYy5v Cls1ODMvMzI2OV0gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9idXNfZnNsbWMucG1kLmMgd2l0aCBh IGN1c3RvbSBjb21tYW5kCls1ODQvMzI2OV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGli dG1wX3J0ZV9idXNfdmRldi5hLnAvYnVzX3ZkZXZfdmRldi5jLm8KWzU4NS8zMjY5XSBDb21waWxp bmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhf cGNpLmMubwpbNTg2LzMyNjldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9wY2lfdmZpby5jLm8KWzU4Ny8zMjY5XSBDb21waWxp bmcgQyBvYmplY3QgbGliL2xpYnJ0ZV92aG9zdC5hLnAvdmhvc3RfdmlydGlvX25ldC5jLm8KWzU4 OC8zMjY5XSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2J1c19pZnBnYS5zeW1fY2hrIHdpdGggYSBj dXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzU4OS8z MjY5XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9waXBlbGluZS5hLnAvcGlwZWxpbmVf cnRlX3RhYmxlX2FjdGlvbi5jLm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWls ZWQgIzE1OgpPUzogVUIyMjA0LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MK RkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1f cGxhdGZvcm0uYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucCAt SWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5j bHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xp Yi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4 Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwg LUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAt SS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLWZkaWFn bm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFs aWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1x dWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNl Y3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0 ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24t Y29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8t YWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlz c2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05VX1NP VVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9X X0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xP R1RZUEU9YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9y bS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1 c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMuby5kIC1vIGRyaXZlcnMvbGli dG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLWMgLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkxOjI3OiBlcnJvcjogZmllbGQg4oCYZGV2aWNl4oCZIGhh cyBpbmNvbXBsZXRlIHR5cGUKICAgOTEgfCAgICAgICAgIHN0cnVjdCBydGVfZGV2aWNlIGRldmlj ZTsgLyoqPCBDb3JlIGRldmljZSAqLwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6Mjc6 IGVycm9yOiBmaWVsZCDigJhkcml2ZXLigJkgaGFzIGluY29tcGxldGUgdHlwZQogIDEwMiB8ICAg ICAgICAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjA6Ci4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3ByaXZhdGUuaDozMDoyNDogZXJyb3I6IGZpZWxkIOKAmGJ1c+KAmSBoYXMgaW5jb21w bGV0ZSB0eXBlCiAgIDMwIHwgICAgICAgICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENvcmUgYnVz ICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYZGV2aWNlX2FsbG93ZWTigJk6Ci4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6MTQ6IGVycm9yOiDigJhSVEVfQlVTX1ND QU5fVU5ERUZJTkVE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQog ICA2OCB8ICAgICAgICAgY2FzZSBSVEVfQlVTX1NDQU5fVU5ERUZJTkVEOgogICAgICB8ICAgICAg ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmM6Njg6MTQ6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y dGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njk6MTQ6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fQUxM T1dMSVNU4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA2OSB8 ICAgICAgICAgY2FzZSBSVEVfQlVTX1NDQU5fQUxMT1dMSVNUOgogICAgICB8ICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6NzM6MTQ6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fQkxPQ0tMSVNU4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA3MyB8ICAgICAgICAgY2FzZSBSVEVfQlVT X1NDQU5fQkxPQ0tMSVNUOgogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOjg6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKA mHBsYXRmb3JtX2J1c19maW5kX2RldmljZeKAmToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21t b24uaDo4MTI6Njc6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBm cm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2Ug KuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA4MTIgfCAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIg PSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzoyNjQ6MjQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfVEFJTFFf TkVYVOKAmQogIDI2NCB8ICAgICAgICAgcGRldiA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRF X0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9y dGVfYnVzX3BsYXRmb3JtLmg6MTIwOjk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhj b250YWluZXJfb2bigJkKICAxMjAgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIGNvbnN0IHN0 cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+ fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyNjQ6Mzk6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVOKAmQog IDI2NCB8ICAgICAgICAgcGRldiA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19Q TEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9i dXNfcGx1Z+KAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyODk6MzE6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZeKA mQogIDI4OSB8ICAgICAgICAgaWYgKCFkZXZpY2VfZXhpc3RzKGRldi0+bmFtZSkpCiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzoyOTI6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgcnRlX2RldmljZeKAmQogIDI5MiB8ICAgICAgICAgaWYgKGRldmljZV9hbGxvd2Vk KGRldi0+bmFtZSkpIHsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0 Zm9ybS5oOjIxLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzoxMjoKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IGVy cm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJs ZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBh dGlibGUtcG9pbnRlci10eXBlc10KICA4MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwg ICAgICAgICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2 aWNlKQogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6Mjk4OjMxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RF Vl9UT19QTEFURk9STV9ERVbigJkKICAyOTggfCAgICAgICAgIHJldHVybiBwbGF0Zm9ybV9wcm9i ZShSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpKTsKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfdW5wbHVn4oCZOgou Li9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2NzogZXJyb3I6IGluaXRpYWxpemF0 aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDi gJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5 cGVzXQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUg KikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFu c2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5l cl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAg ICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6 NDQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RF VuKAmQogIDMwNCB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBS VEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2Nzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24g Zm9yIOKAmHBkZXbigJkpCiAgODEyIHwgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlw ZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90 ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAg ICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkK ICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjMwNDo0NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9f UExBVEZPUk1fREVW4oCZCiAgMzA0IHwgICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2Rldmlj ZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRm b3JtX2J1c19kbWFfbWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2 NzogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21w YXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWlu Y29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6 MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAx MTcgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNl LCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzozMjU6NDQ6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhS VEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDMyNSB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0 Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2Nzogbm90ZTog KG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBkZXbigJkpCiAgODEyIHwgICAgICAgICAgICAg ICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0 cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNf cGxhdGZvcm0uaDoxMTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5l cl9vZuKAmQogIDExNyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0 Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMyNTo0NDogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzI1IHwgICAgICAgICBzdHJ1 Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRl dik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19kbWFfdW5tYXDigJk6Ci4uL2xpYi9lYWwvaW5j bHVkZS9ydGVfY29tbW9uLmg6ODEyOjY3OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29u c3QgaW50ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVf ZGV2aWNlICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIp ICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv IOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3Ry dWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM0Njo0NDogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzQ2IHwg ICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExB VEZPUk1fREVWKGRldik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf Y29tbW9uLmg6ODEyOjY3OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKA mSkKICA4MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICop MCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBleHBhbnNp b24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAgICBjb250YWluZXJf b2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAg ICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjQ0 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbi gJkKICAzNDYgfCAgICAgICAgIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRF X0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOjM5Mzo0NDogZXJyb3I6IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKA mC7igJkgdG9rZW4KICAzOTMgfCBSVEVfUkVHSVNURVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZv cm1fYnVzLmJ1cyk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKQpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbNTczLzMyNjVd IEdlbmVyYXRpbmcgZHJpdmVycy9ydGVfYnVzX2RwYWEucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21t YW5kCls1NzQvMzI2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlicnRlX2J1c19pZnBn YS5zby4yMy4xLnAvbWVzb24tZ2VuZXJhdGVkXy4uX3J0ZV9idXNfaWZwZ2EucG1kLmMubwpbNTc1 LzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAv YnVzX3BjaV9saW51eF9wY2lfdWlvLmMubwpbNTc2LzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfYnVzX2ZzbG1jLmEucC9idXNfZnNsbWNfcWJtYW5fcWJtYW5fcG9y dGFsLmMubwpbNTc3LzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9wY2lfdmZpby5jLm8KWzU3OC8zMjY1XSBHZW5lcmF0 aW5nIGRyaXZlcnMvcnRlX2J1c19pZnBnYS5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAo d3JhcHBlZCBieSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzU3OS8zMjY1XSBDb21waWxpbmcg QyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNp LmMubwpbNTgwLzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGlicnRlX3Zob3N0LmEucC92 aG9zdF92aXJ0aW9fbmV0LmMubwpbNTgxLzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBsaWIvbGli cnRlX3BpcGVsaW5lLmEucC9waXBlbGluZV9ydGVfdGFibGVfYWN0aW9uLmMubwpuaW5qYTogYnVp bGQgc3RvcHBlZAoKCgoKKkJ1aWxkIEZhaWxlZCAjMTY6Ck9TOiBVQjIyMDQtNjQKVGFyZ2V0OiB4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2J1 c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gCmNsYW5nIC1J ZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJzIC1JLi4vZHJpdmVy cyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuIC1J Li4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9saWIvZWFsL2lu Y2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUg LUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAtSWxpYi9lYWwv Y29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2VhbCAtSWxpYi9r dmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0cmljcyAtSWxp Yi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mY29sb3ItZGlhZ25vc3RpY3MgLURfRklM RV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMg LWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAt V2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlv bnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZp bml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVz IC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1X bm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9 bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtRFJU RV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5wbGF0Zm9ybSAtTUQgLU1RIGRyaXZlcnMvbGlidG1w X3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1N RiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZv cm1fcGFyYW1zLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1 c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtX3BhcmFtcy5jCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzoxMzoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDoxNDoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cnRlX2J1c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29tcGxldGUgdHlw ZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAgc3RydWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAv Kio8IENvcmUgZGV2aWNlICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFs L2luY2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0 cnVjdCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2RldmljZTsKICAgICAgIF4KSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjEzOgpJ biBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjE0 OgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTAyOjIwOiBlcnJv cjogZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHJ0ZV9kcml2ZXInCiAgICAgICAg c3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Rldi5oOjMwOjg6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfZHJpdmVyJwpzdHJ1Y3QgcnRlX2Ry aXZlcjsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRl Lmg6MzA6MTc6IGVycm9yOiBmaWVsZCBoYXMgaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgcnRlX2J1 cycKICAgICAgICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENvcmUgYnVzICovCiAgICAgICAgICAg ICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2J1cy5oOjI1Ojg6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBydGVfYnVzJwpzdHJ1Y3QgcnRlX2J1czsKICAg ICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6Mzg6MzA6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHJ0ZV9kZXZpY2UnCiAg ICAgICAgaWYgKG5hbWUgJiYgc3RyY21wKG5hbWUsIGRldi0+bmFtZSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH5+fl4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNjo4 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgcnRlX2RldmljZScKc3RydWN0 IHJ0ZV9kZXZpY2U7CiAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3Bh cmFtcy5jOjQ4OjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdydGVfYnVz X2ZpbmRfZGV2aWNlX3QnOyBkaWQgeW91IG1lYW4gJ3J0ZV9idXNfZmluZF9ieV9kZXZpY2UnPwog ICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fn5+fn4KICAgICAgICBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlCi4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfYnVzLmg6MTEwOjE3OiBub3RlOiAncnRlX2J1c19maW5kX2J5X2RldmljZScg ZGVjbGFyZWQgaGVyZQpzdHJ1Y3QgcnRlX2J1cyAqcnRlX2J1c19maW5kX2J5X2RldmljZShjb25z dCBzdHJ1Y3QgcnRlX2RldmljZSAqZGV2KTsKICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NDg6MjM6IGVycm9yOiBleHBlY3RlZCAnOycg YWZ0ZXIgZXhwcmVzc2lvbgogICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2Rldmlj ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOwouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo0ODoyNDog ZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ2ZpbmRfZGV2aWNlJwogICAgICAg IHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo1Njox NjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ0VJTlZBTCcKICAgICAgICAg ICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5j OjYyOjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdmaW5kX2RldmljZScK ICAgICAgICBmaW5kX2RldmljZSA9IHBsYXRmb3JtX2J1cy5idXMuZmluZF9kZXZpY2U7CiAgICAg ICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo2Mzo3OiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnZmluZF9kZXZpY2UnCiAgICAgICAgaWYg KCFmaW5kX2RldmljZSkKICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm1fcGFyYW1zLmM6NDg6MjogZXJyb3I6IGV4cHJlc3Npb24gcmVzdWx0IHVudXNlZCBbLVdl cnJvciwtV3VudXNlZC12YWx1ZV0KICAgICAgICBydGVfYnVzX2ZpbmRfZGV2aWNlX3QgZmluZF9k ZXZpY2U7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CjExIGVycm9ycyBnZW5lcmF0ZWQu Cls1ODQvMzI2NV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfdm1i dXMuYS5wL2J1c192bWJ1c192bWJ1c19idWZyaW5nLmMubwpbNTg1LzMyNjVdIENvbXBpbGluZyBD IG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1f cGxhdGZvcm0uYy5vCkZBSUxFRDogZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAv YnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAKY2xhbmcgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVz X3BsYXRmb3JtLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZv cm0gLUkuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZp ZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgv aW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUg LUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2Nv bW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3Mg LUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90 ZWxlbWV0cnkgLWZjb2xvci1kaWFnbm9zdGljcyAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxs IC1XaW52YWxpZC1wY2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmgg LVdjYXN0LXF1YWwgLVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdm b3JtYXQtc2VjdXJpdHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBl cyAtV25lc3RlZC1leHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRo IC1Xc2lnbi1jb21wYXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmlu Z3MgLVduby1hZGRyZXNzLW9mLXBhY2tlZC1tZW1iZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRp YWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUgLURBTExPV19FWFBFUklN RU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9 YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAv YnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0 Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0 ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLWMgLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRl X2J1c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjogZmllbGQgaGFzIGluY29tcGxldGUgdHlwZSAn c3RydWN0IHJ0ZV9kZXZpY2UnCiAgICAgICAgc3RydWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8 IENvcmUgZGV2aWNlICovCiAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2lu Y2x1ZGUvcnRlX2J1cy5oOjI2Ojg6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCBydGVfZGV2aWNlJwpzdHJ1Y3QgcnRlX2RldmljZTsKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MTI6Ci4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6MjA6IGVycm9yOiBmaWVsZCBoYXMg aW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgcnRlX2RyaXZlcicKICAgICAgICBzdHJ1Y3QgcnRlX2Ry aXZlciBkcml2ZXI7IC8qKjwgQ29yZSBkcml2ZXIgKi8KICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfZGV2Lmg6MzA6ODogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9kcml2ZXInCnN0cnVjdCBydGVfZHJpdmVyOwogICAgICAg XgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzoyMDoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjMwOjE3OiBlcnJvcjogZmll bGQgaGFzIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHJ0ZV9idXMnCiAgICAgICAgc3RydWN0IHJ0 ZV9idXMgYnVzOyAvKiBDb3JlIGJ1cyAqLwogICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9idXMuaDoyNTo4OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgcnRlX2J1cycKc3RydWN0IHJ0ZV9idXM7CiAgICAgICBeCi4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6NzogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50 aWZpZXIgJ1JURV9CVVNfU0NBTl9VTkRFRklORUQnCiAgICAgICAgY2FzZSBSVEVfQlVTX1NDQU5f VU5ERUZJTkVEOgogICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOjY5Ojc6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdSVEVfQlVTX1ND QU5fQUxMT1dMSVNUJwogICAgICAgIGNhc2UgUlRFX0JVU19TQ0FOX0FMTE9XTElTVDoKICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo3Mzo3OiBlcnJvcjog dXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnUlRFX0JVU19TQ0FOX0JMT0NLTElTVCcKICAg ICAgICBjYXNlIFJURV9CVVNfU0NBTl9CTE9DS0xJU1Q6CiAgICAgICAgICAgICBeCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjY0OjcwOiBlcnJvcjogbWVtYmVyIHJlZmVyZW5j ZSB0eXBlICd2b2lkJyBpcyBub3QgYSBwb2ludGVyCiAgICAgICAgcGRldiA9IHN0YXJ0ID8gUlRF X1RBSUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6 CiAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5efn5+fgouLi9saWIvZWFsL2xpbnV4L2luY2x1ZGUvcnRlX29z Lmg6MjU6NTQ6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1JURV9UQUlMUV9ORVhUJwojZGVm aW5lIFJURV9UQUlMUV9ORVhUKGVsZW0sIGZpZWxkKSBUQUlMUV9ORVhUKGVsZW0sIGZpZWxkKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+fn5+fn5+fl5+fn5+ fgovdXNyL2luY2x1ZGUveDg2XzY0LWxpbnV4LWdudS9zeXMvcXVldWUuaDo0NTk6NDE6IG5vdGU6 IGV4cGFuZGVkIGZyb20gbWFjcm8gJ1RBSUxRX05FWFQnCiNkZWZpbmUgVEFJTFFfTkVYVChlbG0s IGZpZWxkKSAgICAgICAgICAoKGVsbSktPmZpZWxkLnRxZV9uZXh0KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6Mjg5OjI0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUg J3N0cnVjdCBydGVfZGV2aWNlJwogICAgICAgIGlmICghZGV2aWNlX2V4aXN0cyhkZXYtPm5hbWUp KQogICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5eCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf YnVzLmg6MjY6ODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9kZXZp Y2UnCnN0cnVjdCBydGVfZGV2aWNlOwogICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w bGF0Zm9ybS5jOjI5MjoyNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdz dHJ1Y3QgcnRlX2RldmljZScKICAgICAgICBpZiAoZGV2aWNlX2FsbG93ZWQoZGV2LT5uYW1lKSkg ewogICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5eCi4uL2xpYi9lYWwvaW5jbHVkZS9ydGVf YnVzLmg6MjY6ODogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHJ0ZV9kZXZp Y2UnCnN0cnVjdCBydGVfZGV2aWNlOwogICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w bGF0Zm9ybS5jOjI5ODoyNDogZXJyb3I6IHBhc3NpbmcgJ3ZvaWQnIHRvIHBhcmFtZXRlciBvZiBp bmNvbXBhdGlibGUgdHlwZSAnc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKicKICAgICAgICBy ZXR1cm4gcGxhdGZvcm1fcHJvYmUoUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KSk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBleHBh bmRlZCBmcm9tIG1hY3JvICdSVEVfREVWX1RPX1BMQVRGT1JNX0RFVicKICAgICAgICBjb250YWlu ZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xp Yi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODExOjQxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1h Y3JvICdjb250YWluZXJfb2YnCiNkZWZpbmUgY29udGFpbmVyX29mKHB0ciwgdHlwZSwgbWVtYmVy KSBfX2V4dGVuc2lvbl9fICh7ICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjE4Mzo0NDogbm90ZTogcGFzc2luZyBhcmd1 bWVudCB0byBwYXJhbWV0ZXIgJ3BkZXYnIGhlcmUKcGxhdGZvcm1fcHJvYmUoc3RydWN0IHJ0ZV9w bGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzA0OjMwOiBlcnJv cjogaW5pdGlhbGl6aW5nICdzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqJyB3aXRoIGFuIGV4 cHJlc3Npb24gb2YgaW5jb21wYXRpYmxlIHR5cGUgJ3ZvaWQnCiAgICAgICAgc3RydWN0IHJ0ZV9w bGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICAgfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMyNTozMDogZXJy b3I6IGluaXRpYWxpemluZyAnc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKicgd2l0aCBhbiBl eHByZXNzaW9uIG9mIGluY29tcGF0aWJsZSB0eXBlICd2b2lkJwogICAgICAgIHN0cnVjdCBydGVf cGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNDY6MzA6IGVy cm9yOiBpbml0aWFsaXppbmcgJ3N0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlIConIHdpdGggYW4g ZXhwcmVzc2lvbiBvZiBpbmNvbXBhdGlibGUgdHlwZSAndm9pZCcKICAgICAgICBzdHJ1Y3QgcnRl X3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgICB+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzkzOjMyOiBl cnJvcjogcmVkZWZpbml0aW9uIG9mIHBhcmFtZXRlciAncGxhdGZvcm1fYnVzJwpSVEVfUkVHSVNU RVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzkzOjQ0 OiBlcnJvcjogZXhwZWN0ZWQgJyknClJURV9SRUdJU1RFUl9CVVMocGxhdGZvcm1fYnVzLCBwbGF0 Zm9ybV9idXMuYnVzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozOTM6MTc6IG5vdGU6IHRvIG1h dGNoIHRoaXMgJygnClJURV9SRUdJU1RFUl9CVVMocGxhdGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMu YnVzKTsKICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzozOTM6MTogZXJyb3I6IHR5cGUgc3BlY2lmaWVyIG1pc3NpbmcsIGRlZmF1bHRzIHRvICdpbnQn IFstV2Vycm9yLC1XaW1wbGljaXQtaW50XQpSVEVfUkVHSVNURVJfQlVTKHBsYXRmb3JtX2J1cywg cGxhdGZvcm1fYnVzLmJ1cyk7Cl4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoz OTM6MTg6IGVycm9yOiBhIHBhcmFtZXRlciBsaXN0IHdpdGhvdXQgdHlwZXMgaXMgb25seSBhbGxv d2VkIGluIGEgZnVuY3Rpb24gZGVmaW5pdGlvbgpSVEVfUkVHSVNURVJfQlVTKHBsYXRmb3JtX2J1 cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAgICAgICAgICAgICAgXgoxNyBlcnJvcnMgZ2VuZXJh dGVkLgpbNTg2LzMyNjVdIExpbmtpbmcgc3RhdGljIHRhcmdldCBkcml2ZXJzL2xpYnJ0ZV9idXNf aWZwZ2EuYQpbNTg3LzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9wY2kuYy5vCls1ODgvMzI2NV0gQ29tcGlsaW5nIEMg b2JqZWN0IGRyaXZlcnMvbGlicnRlX2J1c19pZnBnYS5zby4yMy4xLnAvbWVzb24tZ2VuZXJhdGVk Xy4uX3J0ZV9idXNfaWZwZ2EucG1kLmMubwpbNTg5LzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBk cml2ZXJzL2xpYnRtcF9ydGVfYnVzX2ZzbG1jLmEucC9idXNfZnNsbWNfcWJtYW5fcWJtYW5fcG9y dGFsLmMubwpbNTkwLzMyNjVdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX3ZkZXYuYS5wL2J1c192ZGV2X3ZkZXYuYy5vCls1OTEvMzI2NV0gR2VuZXJhdGluZyBkcml2 ZXJzL3J0ZV9idXNfZHBhYS5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBi eSBtZXNvbiB0byBjYXB0dXJlIG91dHB1dCkKWzU5Mi8zMjY1XSBDb21waWxpbmcgQyBvYmplY3Qg bGliL2xpYnJ0ZV9waXBlbGluZS5hLnAvcGlwZWxpbmVfcnRlX3RhYmxlX2FjdGlvbi5jLm8Kbmlu amE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE3OgpPUzogVUIyMjA0LTY0ClRh cmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1kb2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9y dGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm0uYy5vIApnY2MgLUlkcml2 ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1J ZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAt SWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVk ZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxp Yi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21t b24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJn cyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3Rl bGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURf RklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAt TzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1h dCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJh dGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1k ZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5 cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVy IC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMg LVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZl IC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1h dC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9YnVzLnBsYXRmb3JtIC1NRCAt TVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRm b3JtLmMubyAtTUYgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRm b3JtX3BsYXRmb3JtLmMuby5kIC1vIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5w L2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzoxMjoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkx OjI3OiBlcnJvcjogZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAgOTEg fCAgICAgICAgIHN0cnVjdCBydGVfZGV2aWNlIGRldmljZTsgLyoqPCBDb3JlIGRldmljZSAqLwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6Mjc6IGVycm9yOiBmaWVsZCDigJhkcml2ZXLi gJkgaGFzIGluY29tcGxldGUgdHlwZQogIDEwMiB8ICAgICAgICAgc3RydWN0IHJ0ZV9kcml2ZXIg ZHJpdmVyOyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6MjA6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDozMDoyNDog ZXJyb3I6IGZpZWxkIOKAmGJ1c+KAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgIDMwIHwgICAgICAg ICBzdHJ1Y3QgcnRlX2J1cyBidXM7IC8qIENvcmUgYnVzICovCiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICBefn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVu Y3Rpb24g4oCYZGV2aWNlX2FsbG93ZWTigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6Njg6MTQ6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fVU5ERUZJTkVE4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA2OCB8ICAgICAgICAgY2FzZSBSVEVf QlVTX1NDQU5fVU5ERUZJTkVEOgogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6MTQ6IG5vdGU6IGVh Y2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBm dW5jdGlvbiBpdCBhcHBlYXJzIGluCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 Njk6MTQ6IGVycm9yOiDigJhSVEVfQlVTX1NDQU5fQUxMT1dMSVNU4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICA2OSB8ICAgICAgICAgY2FzZSBSVEVfQlVTX1ND QU5fQUxMT1dMSVNUOgogICAgICB8ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6NzM6MTQ6IGVycm9yOiDigJhSVEVf QlVTX1NDQU5fQkxPQ0tMSVNU4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICA3MyB8ICAgICAgICAgY2FzZSBSVEVfQlVTX1NDQU5fQkxPQ0tMSVNUOgogICAgICB8 ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJv bSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjg6Ci4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19maW5kX2Rldmlj ZeKAmToKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IGVycm9yOiBpbml0 aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVy IHR5cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGli bGUtcG9pbnRlci10eXBlc10KICA4MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0 eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyNjQ6MjQ6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfVEFJTFFfTkVYVOKAmQogIDI2NCB8ICAgICAgICAg cGRldiA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09O U1Qoc3RhcnQpLCBuZXh0KSA6CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTIwOjk6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMjAgfCAg ICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIGNvbnN0IHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNl LCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzoyNjQ6Mzk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhS VEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVOKAmQogIDI2NCB8ICAgICAgICAgcGRldiA9IHN0 YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9UT19QTEFURk9STV9ERVZfQ09OU1Qoc3RhcnQp LCBuZXh0KSA6CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfcGx1Z+KAmToKLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyODk6MzE6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZeKAmQogIDI4OSB8ICAgICAgICAgaWYgKCFk ZXZpY2VfZXhpc3RzKGRldi0+bmFtZSkpCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyOTI6MzE6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZeKAmQog IDI5MiB8ICAgICAgICAgaWYgKGRldmljZV9hbGxvd2VkKGRldi0+bmFtZSkpIHsKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjIxLAogICAgICAgICAgICAg ICAgIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vbGliL2Vh bC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6Njc6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDi gJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0 IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA4 MTIgfCAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1l bWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgMTE3IHwgICAgICAgICBjb250YWluZXJfb2YocHRy LCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAgICAgXn5+ fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mjk4OjMxOiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAy OTggfCAgICAgICAgIHJldHVybiBwbGF0Zm9ybV9wcm9iZShSVEVfREVWX1RPX1BMQVRGT1JNX0RF VihkZXYpKTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5j dGlvbiDigJhwbGF0Zm9ybV9idXNfdW5wbHVn4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjgxMjo2NzogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZ IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZ IFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDgxMiB8ICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChw dHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVz X3BsYXRmb3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWlu ZXJfb2bigJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxh dGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6NDQ6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIDMwNCB8ICAgICAgICAgc3Ry dWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihk ZXYpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgx Mjo2Nzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBkZXbigJkpCiAgODEyIHwg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIp ICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3Jv IOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3Ry dWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+ fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMwNDo0NDogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzA0IHwg ICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExB VEZPUk1fREVWKGRldik7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19kbWFfbWFw4oCZOgouLi9s aWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2NzogZXJyb3I6IGluaXRpYWxpemF0aW9u IG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhz dHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogIDgxMiB8ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikw KS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3Ojk6IG5vdGU6IGluIGV4cGFuc2lv biBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICAxMTcgfCAgICAgICAgIGNvbnRhaW5lcl9v ZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgICAgIHwgICAgICAg ICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMjU6NDQ6 IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKA mQogIDMyNSB8ICAgICAgICAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVf REVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9saWIvZWFsL2lu Y2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo2Nzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9y IOKAmHBkZXbigJkpCiAgODEyIHwgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZW9m KCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6OTogbm90ZTog aW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDExNyB8ICAgICAgICAg Y29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICAg ICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOjMyNTo0NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExB VEZPUk1fREVW4oCZCiAgMzI1IHwgICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAq cGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3Jt X2J1c19kbWFfdW5tYXDigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjY3 OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBpbmNvbXBh dGlibGUgcG9pbnRlciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5j b21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgODEyIHwgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDox MTc6OTogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIDEx NyB8ICAgICAgICAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2Us IGRldmljZSkKICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOjM0Njo0NDogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJU RV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgMzQ2IHwgICAgICAgICBzdHJ1Y3QgcnRlX3BsYXRm b3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjY3OiBub3RlOiAo bmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICA4MTIgfCAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRy KTsgXAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjExNzo5OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVy X29m4oCZCiAgMTE3IHwgICAgICAgICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRm b3JtX2RldmljZSwgZGV2aWNlKQogICAgICB8ICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjQ0OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICAzNDYgfCAgICAgICAgIHN0cnVj dCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2 KTsKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzog QXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5Mzo0NDog ZXJyb3I6IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKAmC7igJkgdG9rZW4KICAzOTMgfCBSVEVf UkVHSVNURVJfQlVTKHBsYXRmb3JtX2J1cywgcGxhdGZvcm1fYnVzLmJ1cyk7CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQpjYzE6IGFsbCB3YXJuaW5ncyBi ZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbNTcyLzMwOTddIEdlbmVyYXRpbmcgZHJpdmVycy9ydGVf YnVzX2lmcGdhLnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbNTczLzMwOTddIENvbXBpbGlu ZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9w Y2lfdWlvLmMubwpbNTc0LzMwOTddIEdlbmVyYXRpbmcgZHJpdmVycy9ydGVfYnVzX2RwYWEucG1k LmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kCls1NzUvMzA5N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRy aXZlcnMvbGlidG1wX3J0ZV9idXNfdmRldi5hLnAvYnVzX3ZkZXZfdmRldi5jLm8KWzU3Ni8zMDk3 XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19w Y2lfbGludXhfcGNpX3ZmaW8uYy5vCls1NzcvMzA5N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9idXNfZnNsbWMuYS5wL2J1c19mc2xtY19xYm1hbl9xYm1hbl9wb3J0YWwu Yy5vCls1NzgvMzA5N10gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf cGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaS5jLm8KWzU3OS8zMDk3XSBHZW5lcmF0aW5nIGxpYi92 aG9zdC5zeW1fY2hrIHdpdGggYSBjdXN0b20gY29tbWFuZCAod3JhcHBlZCBieSBtZXNvbiB0byBj YXB0dXJlIG91dHB1dCkKWzU4MC8zMDk3XSBDb21waWxpbmcgQyBvYmplY3QgbGliL2xpYnJ0ZV9w aXBlbGluZS5hLnAvcGlwZWxpbmVfcnRlX3RhYmxlX2FjdGlvbi5jLm8KbmluamE6IGJ1aWxkIHN0 b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzE4OgpPUzogQ2VudE9TNzktNjQKVGFyZ2V0OiB4ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlMRUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxh dGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5jLm8gCmdjYyAtSWRyaXZlcnMvbGlidG1w X3J0ZV9idXNfcGxhdGZvcm0uYS5wIC1JZHJpdmVycyAtSS4uL2RyaXZlcnMgLUlkcml2ZXJzL2J1 cy9wbGF0Zm9ybSAtSS4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLiAtSS4uIC1JY29uZmlnIC1J Li4vY29uZmlnIC1JbGliL2VhbC9pbmNsdWRlIC1JLi4vbGliL2VhbC9pbmNsdWRlIC1JbGliL2Vh bC9saW51eC9pbmNsdWRlIC1JLi4vbGliL2VhbC9saW51eC9pbmNsdWRlIC1JbGliL2VhbC94ODYv aW5jbHVkZSAtSS4uL2xpYi9lYWwveDg2L2luY2x1ZGUgLUlsaWIvZWFsL2NvbW1vbiAtSS4uL2xp Yi9lYWwvY29tbW9uIC1JbGliL2VhbCAtSS4uL2xpYi9lYWwgLUlsaWIva3ZhcmdzIC1JLi4vbGli L2t2YXJncyAtSWxpYi9tZXRyaWNzIC1JLi4vbGliL21ldHJpY3MgLUlsaWIvdGVsZW1ldHJ5IC1J Li4vbGliL3RlbGVtZXRyeSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1XYWxsIC1XaW52YWxpZC1w Y2ggLVdleHRyYSAtV2Vycm9yIC1PMyAtaW5jbHVkZSBydGVfY29uZmlnLmggLVdjYXN0LXF1YWwg LVdkZXByZWNhdGVkIC1XZm9ybWF0IC1XZm9ybWF0LW5vbmxpdGVyYWwgLVdmb3JtYXQtc2VjdXJp dHkgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV25lc3RlZC1l eHRlcm5zIC1Xb2xkLXN0eWxlLWRlZmluaXRpb24gLVdwb2ludGVyLWFyaXRoIC1Xc2lnbi1jb21w YXJlIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVd1bmRlZiAtV3dyaXRlLXN0cmluZ3MgLVduby1taXNz aW5nLWZpZWxkLWluaXRpYWxpemVycyAtRF9HTlVfU09VUkNFIC1mUElDIC1tYXJjaD1uYXRpdmUg LURBTExPV19FWFBFUklNRU5UQUxfQVBJIC1EQUxMT1dfSU5URVJOQUxfQVBJIC1EUlRFX0xPR19E RUZBVUxUX0xPR1RZUEU9YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1 c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAtTUYgZHJpdmVycy9saWJ0 bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMuby5kIC1vIGRy aXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5j Lm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjowOgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6OTE6MjA6IGVycm9yOiBmaWVsZCAnZGV2 aWNlJyBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8 IENvcmUgZGV2aWNlICovCiAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTAyOjIwOiBlcnJvcjogZmllbGQgJ2RyaXZlcicgaGFz IGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBydGVfZHJpdmVyIGRyaXZlcjsgLyoqPCBDb3JlIGRy aXZlciAqLwogICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjA6MDoKLi4vZHJpdmVycy9idXMvcGxhdGZv cm0vcHJpdmF0ZS5oOjMwOjE3OiBlcnJvcjogZmllbGQgJ2J1cycgaGFzIGluY29tcGxldGUgdHlw ZQogIHN0cnVjdCBydGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgICAgICAgICAgICBe Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uICdkZXZpY2Vf YWxsb3dlZCc6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6NzogZXJyb3I6 ICdSVEVfQlVTX1NDQU5fVU5ERUZJTkVEJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICBjYXNlIFJURV9CVVNfU0NBTl9VTkRFRklORUQ6CiAgICAgICBeCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Njg6Nzogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVh cnMgaW4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2OTo3OiBlcnJvcjogJ1JU RV9CVVNfU0NBTl9BTExPV0xJU1QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogIGNhc2UgUlRFX0JVU19TQ0FOX0FMTE9XTElTVDoKICAgICAgIF4KLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo3Mzo3OiBlcnJvcjogJ1JURV9CVVNfU0NBTl9CTE9DS0xJ U1QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIGNhc2UgUlRFX0JV U19TQ0FOX0JMT0NLTElTVDoKICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6ODowOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w bGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiAncGxhdGZvcm1fYnVzX2ZpbmRfZGV2aWNlJzoKLi4vbGli L2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXphdGlvbiBm cm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgICBjb25zdCB0eXBlb2Yo KCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIgPSAocHRyKTsgXAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybS5jOjI2NDoxNzogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdSVEVfVEFJTFFfTkVY VCcKICBwZGV2ID0gc3RhcnQgPyBSVEVfVEFJTFFfTkVYVChSVEVfREVWX1RPX1BMQVRGT1JNX0RF Vl9DT05TVChzdGFydCksIG5leHQpIDoKICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMjA6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvICdjb250YWluZXJfb2YnCiAgY29udGFpbmVyX29mKHB0ciwgY29uc3Qgc3RydWN0IHJ0 ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmM6MjY0OjMyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1JURV9ERVZfVE9f UExBVEZPUk1fREVWX0NPTlNUJwogIHBkZXYgPSBzdGFydCA/IFJURV9UQUlMUV9ORVhUKFJURV9E RVZfVE9fUExBVEZPUk1fREVWX0NPTlNUKHN0YXJ0KSwgbmV4dCkgOgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4g ZnVuY3Rpb24gJ3BsYXRmb3JtX2J1c19wbHVnJzoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzoyODk6MjQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgaWYgKCFkZXZpY2VfZXhpc3RzKGRldi0+bmFtZSkpCiAgICAgICAgICAgICAgICAg ICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoyOTI6MjQ6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKGRldmljZV9h bGxvd2VkKGRldi0+bmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjIx OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9y bS5jOjEyOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6IGlu aXRpYWxpemF0aW9uIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcl0KICAg IGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9m IG1hY3JvICdjb250YWluZXJfb2YnCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0 Zm9ybV9kZXZpY2UsIGRldmljZSkKICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6Mjk4OjI0OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1JURV9ERVZfVE9fUExBVEZP Uk1fREVWJwogIHJldHVybiBwbGF0Zm9ybV9wcm9iZShSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihk ZXYpKTsKICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9w bGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiAncGxhdGZvcm1fYnVzX3VucGx1Zyc6Ci4uL2xpYi9lYWwv aW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBlcnJvcjogaW5pdGlhbGl6YXRpb24gZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogICAgY29uc3QgdHlwZW9mKCgodHlw ZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19w bGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2NvbnRhaW5lcl9v ZicKICBjb250YWluZXJfb2YocHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNl KQogIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6Mzc6IG5vdGU6IGlu IGV4cGFuc2lvbiBvZiBtYWNybyAnUlRFX0RFVl9UT19QTEFURk9STV9ERVYnCiAgc3RydWN0IHJ0 ZV9wbGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgouLi9saWIvZWFsL2luY2x1ZGUv cnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciAncGRl dicpIFstV2Vycm9yXQogICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRy ID0gKHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3Rl OiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ2NvbnRhaW5lcl9vZicKICBjb250YWluZXJfb2YocHRy LCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogIF4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyAn UlRFX0RFVl9UT19QTEFURk9STV9ERVYnCiAgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UgKnBk ZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBJbiBm dW5jdGlvbiAncGxhdGZvcm1fYnVzX2RtYV9tYXAnOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIGZyb20gaW5jb21wYXRpYmxlIHBv aW50ZXIgdHlwZSBbLVdlcnJvcl0KICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVy KSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6 Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdjb250YWluZXJfb2YnCiAgY29udGFpbmVy X29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBeCi4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzI1OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2Yg bWFjcm8gJ1JURV9ERVZfVE9fUExBVEZPUk1fREVWJwogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2 aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4 MTI6NDY6IGVycm9yOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3IgJ3BkZXYnKSBbLVdlcnJvcl0K ICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9u IG9mIG1hY3JvICdjb250YWluZXJfb2YnCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9w bGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6MzI1OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1JURV9ERVZfVE9fUExB VEZPUk1fREVWJwogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9U T19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24gJ3BsYXRm b3JtX2J1c19kbWFfdW5tYXAnOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0 NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBb LVdlcnJvcl0KICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChw dHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4g ZXhwYW5zaW9uIG9mIG1hY3JvICdjb250YWluZXJfb2YnCiAgY29udGFpbmVyX29mKHB0ciwgc3Ry dWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6MzQ2OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1JURV9E RVZfVE9fUExBVEZPUk1fREVWJwogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0g UlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9y OiAobmVhciBpbml0aWFsaXphdGlvbiBmb3IgJ3BkZXYnKSBbLVdlcnJvcl0KICAgIGNvbnN0IHR5 cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvICdj b250YWluZXJfb2YnCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZp Y2UsIGRldmljZSkKICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjM3 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8gJ1JURV9ERVZfVE9fUExBVEZPUk1fREVWJwog IHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9E RVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzogQXQgdG9wIGxldmVsOgouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjM3ODozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3Jk IG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5zY2FuID0gcGxhdGZvcm1fYnVzX3NjYW4sCiAgIF4K Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNzg6MzogZXJyb3I6IChuZWFyIGlu aXRpYWxpemF0aW9uIGZvciAncGxhdGZvcm1fYnVzLmJ1cycpCi4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6Mzc5OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3Ig dW5pb24gaW5pdGlhbGl6ZXIKICAgLnByb2JlID0gcGxhdGZvcm1fYnVzX3Byb2JlLAogICBeCi4u L2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzc5OjM6IGVycm9yOiAobmVhciBpbml0 aWFsaXphdGlvbiBmb3IgJ3BsYXRmb3JtX2J1cy5idXMnKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bS9wbGF0Zm9ybS5jOjM4MDozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVu aW9uIGluaXRpYWxpemVyCiAgIC5maW5kX2RldmljZSA9IHBsYXRmb3JtX2J1c19maW5kX2Rldmlj ZSwKICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MDozOiBlcnJvcjog KG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yICdwbGF0Zm9ybV9idXMuYnVzJykKLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODE6MzogZXJyb3I6IGZpZWxkIG5hbWUgbm90IGluIHJl Y29yZCBvciB1bmlvbiBpbml0aWFsaXplcgogICAucGx1ZyA9IHBsYXRmb3JtX2J1c19wbHVnLAog ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgxOjM6IGVycm9yOiAobmVh ciBpbml0aWFsaXphdGlvbiBmb3IgJ3BsYXRmb3JtX2J1cy5idXMnKQouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MjozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3Jk IG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC51bnBsdWcgPSBwbGF0Zm9ybV9idXNfdW5wbHVnLAog ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgyOjM6IGVycm9yOiAobmVh ciBpbml0aWFsaXphdGlvbiBmb3IgJ3BsYXRmb3JtX2J1cy5idXMnKQouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MzozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3Jk IG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5wYXJzZSA9IHBsYXRmb3JtX2J1c19wYXJzZSwKICAg XgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MzozOiBlcnJvcjogKG5lYXIg aW5pdGlhbGl6YXRpb24gZm9yICdwbGF0Zm9ybV9idXMuYnVzJykKLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzozODQ6MzogZXJyb3I6IGZpZWxkIG5hbWUgbm90IGluIHJlY29yZCBv ciB1bmlvbiBpbml0aWFsaXplcgogICAuZG1hX21hcCA9IHBsYXRmb3JtX2J1c19kbWFfbWFwLAog ICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg0OjM6IGVycm9yOiAobmVh ciBpbml0aWFsaXphdGlvbiBmb3IgJ3BsYXRmb3JtX2J1cy5idXMnKQouLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjM4NTozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3Jk IG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5kbWFfdW5tYXAgPSBwbGF0Zm9ybV9idXNfZG1hX3Vu bWFwLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg1OjM6IGVycm9y OiAobmVhciBpbml0aWFsaXphdGlvbiBmb3IgJ3BsYXRmb3JtX2J1cy5idXMnKQouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4NjozOiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4g cmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5nZXRfaW9tbXVfY2xhc3MgPSBwbGF0Zm9y bV9idXNfZ2V0X2lvbW11X2NsYXNzLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRm b3JtLmM6Mzg2OjM6IGVycm9yOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3IgJ3BsYXRmb3JtX2J1 cy5idXMnKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4NzozOiBlcnJvcjog ZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5kZXZfaXRl cmF0ZSA9IHBsYXRmb3JtX2J1c19kZXZfaXRlcmF0ZSwKICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOjM4NzozOiBlcnJvcjogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yICdw bGF0Zm9ybV9idXMuYnVzJykKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozOTM6 NDQ6IGVycm9yOiBleHBlY3RlZCAnKScgYmVmb3JlICcuJyB0b2tlbgogUlRFX1JFR0lTVEVSX0JV UyhwbGF0Zm9ybV9idXMsIHBsYXRmb3JtX2J1cy5idXMpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh cyBlcnJvcnMKWzU3MC8zMjEyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRl X2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpLmMubwpbNTcxLzMyMTJdIEdlbmVyYXRpbmcg ZHJpdmVycy9ydGVfYnVzX2lmcGdhLnBtZC5jIHdpdGggYSBjdXN0b20gY29tbWFuZApbNTcyLzMy MTJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVz X3BjaV9wY2lfY29tbW9uLmMubwpbNTczLzMyMTJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJz L2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9wY2lfdmZpby5jLm8KWzU3NC8z MjEyXSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c192ZGV2LmEucC9i dXNfdmRldl92ZGV2LmMubwpbNTc1LzMyMTJdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnRtcF9ydGVfYnVzX2ZzbG1jLmEucC9idXNfZnNsbWNfcWJtYW5fcWJtYW5fcG9ydGFsLmMubwpb NTc2LzMyMTJdIEdlbmVyYXRpbmcgZHJpdmVycy9ydGVfYnVzX2RwYWEucG1kLmMgd2l0aCBhIGN1 c3RvbSBjb21tYW5kCls1NzcvMzIxMl0gR2VuZXJhdGluZyBsaWIvdmhvc3Quc3ltX2NoayB3aXRo IGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpCls1 NzgvMzIxMl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfcGlwZWxpbmUuYS5wL3BpcGVs aW5lX3J0ZV90YWJsZV9hY3Rpb24uYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQg RmFpbGVkICMxOToKT1M6IFJIRUw4Ni02NFJ0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxh dGZvcm1fcGxhdGZvcm0uYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3Jt LmEucCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9k cml2ZXJzL2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9l YWwvaW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAt SS4uL2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIv ZWFsL3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxp Yi9lYWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0 cmljcyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkg LWZkaWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAt V2ludmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1X Y2FzdC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9y bWF0LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMg LVduZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAt V3NpZ24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdz IC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMg LURfR05VX1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQ SSAtREFMTE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19E RUZBVUxUX0xPR1RZUEU9YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1 c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMubyAtTUYgZHJpdmVycy9saWJ0 bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtLmMuby5kIC1vIGRy aXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybS5j Lm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYwpJbiBmaWxlIGluY2x1ZGVk IGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkxOjIwOiBlcnJvcjogZmllbGQg4oCYZGV2 aWNl4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3QgcnRlX2RldmljZSBkZXZpY2U7IC8q KjwgQ29yZSBkZXZpY2UgKi8KICAgICAgICAgICAgICAgICAgICBefn5+fn4KLi4vZHJpdmVycy9i dXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjEwMjoyMDogZXJyb3I6IGZpZWxkIOKAmGRy aXZlcuKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVyOyAv Kio8IENvcmUgZHJpdmVyICovCiAgICAgICAgICAgICAgICAgICAgXn5+fn5+CkluIGZpbGUgaW5j bHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjIwOgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6MTc6IGVycm9yOiBmaWVsZCDigJhidXPigJkg aGFzIGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBydGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8K ICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzog SW4gZnVuY3Rpb24g4oCYZGV2aWNlX2FsbG93ZWTigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6Njg6NzogZXJyb3I6IOKAmFJURV9CVVNfU0NBTl9VTkRFRklORUTigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUlRF X0JVU19BVVhJTElBUlnigJk/CiAgY2FzZSBSVEVfQlVTX1NDQU5fVU5ERUZJTkVEOgogICAgICAg Xn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICAgUlRFX0JVU19BVVhJTElBUlkKLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo2ODo3OiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRl bnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFy cyBpbgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjY5Ojc6IGVycm9yOiDigJhS VEVfQlVTX1NDQU5fQUxMT1dMSVNU4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogIGNhc2UgUlRFX0JVU19TQ0FOX0FMTE9XTElTVDoKICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzo3Mzo3OiBlcnJv cjog4oCYUlRFX0JVU19TQ0FOX0JMT0NLTElTVOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICBjYXNlIFJURV9CVVNfU0NBTl9CTE9DS0xJU1Q6CiAgICAgICBefn5+ fn5+fn5+fn5+fn5+fn5+fn5+CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9w bGF0Zm9ybS9wbGF0Zm9ybS5jOjg6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c19maW5kX2RldmljZeKAmToKLi4vbGliL2VhbC9p bmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhj b25zdCBpbnQgKuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYY29uc3Qgc3Ry dWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10K ICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MjY0OjE3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj cm8g4oCYUlRFX1RBSUxRX05FWFTigJkKICBwZGV2ID0gc3RhcnQgPyBSVEVfVEFJTFFfTkVYVChS VEVfREVWX1RPX1BMQVRGT1JNX0RFVl9DT05TVChzdGFydCksIG5leHQpIDoKICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRm b3JtLmg6MTIwOjI6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bi gJkKICBjb250YWluZXJfb2YocHRyLCBjb25zdCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwg ZGV2aWNlKQogIF5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5j OjI2NDozMjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZP Uk1fREVWX0NPTlNU4oCZCiAgcGRldiA9IHN0YXJ0ID8gUlRFX1RBSUxRX05FWFQoUlRFX0RFVl9U T19QTEFURk9STV9ERVZfQ09OU1Qoc3RhcnQpLCBuZXh0KSA6CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMv cGxhdGZvcm0vcGxhdGZvcm0uYzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX3BsdWfigJk6 Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mjg5OjI0OiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZeKA mQogIGlmICghZGV2aWNlX2V4aXN0cyhkZXYtPm5hbWUpKQogICAgICAgICAgICAgICAgICAgICAg ICBefgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1 c19wbGF0Zm9ybS5oOjIxLAogICAgICAgICAgICAgICAgIGZyb20gLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzoxMjoKLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6 NDY6IGVycm9yOiBpbml0aWFsaXphdGlvbiBvZiDigJhjb25zdCBpbnQgKuKAmSBmcm9tIGluY29t cGF0aWJsZSBwb2ludGVyIHR5cGUg4oCYc3RydWN0IHJ0ZV9kZXZpY2UgKuKAmSBbLVdlcnJvcj1p bmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+ bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0u aDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQog IGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAg Xn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mjk4OjI0OiBu b3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkK ICByZXR1cm4gcGxhdGZvcm1fcHJvYmUoUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KSk7CiAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMv YnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3JtX2J1c191bnBs dWfigJk6Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBlcnJvcjogaW5p dGlhbGl6YXRpb24gb2Yg4oCYY29uc3QgaW50ICrigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRl ciB0eXBlIOKAmHN0cnVjdCBydGVfZGV2aWNlICrigJkgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBv aW50ZXItdHlwZXNdCiAgICBjb25zdCB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKl9wdHIg PSAocHRyKTsgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTE3OjI6IG5vdGU6 IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhjb250YWluZXJfb2bigJkKICBjb250YWluZXJfb2Yo cHRyLCBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSwgZGV2aWNlKQogIF5+fn5+fn5+fn5+fgou Li9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjMwNDozNzogbm90ZTogaW4gZXhwYW5z aW9uIG9mIG1hY3JvIOKAmFJURV9ERVZfVE9fUExBVEZPUk1fREVW4oCZCiAgc3RydWN0IHJ0ZV9w bGF0Zm9ybV9kZXZpY2UgKnBkZXYgPSBSVEVfREVWX1RPX1BMQVRGT1JNX0RFVihkZXYpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K Li4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDo4MTI6NDY6IG5vdGU6IChuZWFyIGluaXRp YWxpemF0aW9uIGZvciDigJhwZGV24oCZKQogICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5t ZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5o OjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAg Y29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBe fn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozMDQ6Mzc6IG5v dGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQog IHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9E RVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6IEluIGZ1bmN0 aW9uIOKAmHBsYXRmb3JtX2J1c19kbWFfbWFw4oCZOgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2Nv bW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxpemF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZ IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZ IFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogICAgY29uc3QgdHlwZW9mKCgo dHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0cik7IFwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1 c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFp bmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwgc3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2Us IGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0u YzozMjU6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRG T1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9U T19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xpYi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6 ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGRlduKAmSkKICAgIGNv bnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVyKSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3Bs YXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1h Y3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNvbnRhaW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxh dGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+fn5+fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRm b3JtL3BsYXRmb3JtLmM6MzI1OjM3OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRF X0RFVl9UT19QTEFURk9STV9ERVbigJkKICBzdHJ1Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRl diA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRldik7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0 Zm9ybS9wbGF0Zm9ybS5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZG1hX3VubWFw4oCZ OgouLi9saWIvZWFsL2luY2x1ZGUvcnRlX2NvbW1vbi5oOjgxMjo0NjogZXJyb3I6IGluaXRpYWxp emF0aW9uIG9mIOKAmGNvbnN0IGludCAq4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlw ZSDigJhzdHJ1Y3QgcnRlX2RldmljZSAq4oCZIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogICAgY29uc3QgdHlwZW9mKCgodHlwZSAqKTApLT5tZW1iZXIpICpfcHRyID0gKHB0 cik7IFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLi4v ZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjExNzoyOiBub3RlOiBpbiBl eHBhbnNpb24gb2YgbWFjcm8g4oCYY29udGFpbmVyX29m4oCZCiAgY29udGFpbmVyX29mKHB0ciwg c3RydWN0IHJ0ZV9wbGF0Zm9ybV9kZXZpY2UsIGRldmljZSkKICBefn5+fn5+fn5+fn4KLi4vZHJp dmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNDY6Mzc6IG5vdGU6IGluIGV4cGFuc2lvbiBv ZiBtYWNybyDigJhSVEVfREVWX1RPX1BMQVRGT1JNX0RFVuKAmQogIHN0cnVjdCBydGVfcGxhdGZv cm1fZGV2aWNlICpwZGV2ID0gUlRFX0RFVl9UT19QTEFURk9STV9ERVYoZGV2KTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci4uL2xp Yi9lYWwvaW5jbHVkZS9ydGVfY29tbW9uLmg6ODEyOjQ2OiBub3RlOiAobmVhciBpbml0aWFsaXph dGlvbiBmb3Ig4oCYcGRlduKAmSkKICAgIGNvbnN0IHR5cGVvZigoKHR5cGUgKikwKS0+bWVtYmVy KSAqX3B0ciA9IChwdHIpOyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3J0ZV9idXNfcGxhdGZvcm0uaDoxMTc6 Mjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmGNvbnRhaW5lcl9vZuKAmQogIGNvbnRh aW5lcl9vZihwdHIsIHN0cnVjdCBydGVfcGxhdGZvcm1fZGV2aWNlLCBkZXZpY2UpCiAgXn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzQ2OjM3OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYUlRFX0RFVl9UT19QTEFURk9STV9ERVbigJkKICBzdHJ1 Y3QgcnRlX3BsYXRmb3JtX2RldmljZSAqcGRldiA9IFJURV9ERVZfVE9fUExBVEZPUk1fREVWKGRl dik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOiBBdCB0b3AgbGV2ZWw6 Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzc4OjM6IGVycm9yOiBmaWVsZCBu YW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLnNjYW4gPSBwbGF0Zm9y bV9idXNfc2NhbiwKICAgXgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM3ODoz OiBub3RlOiAobmVhciBpbml0aWFsaXphdGlvbiBmb3Ig4oCYcGxhdGZvcm1fYnVzLmJ1c+KAmSkK Li4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNzk6MzogZXJyb3I6IGZpZWxkIG5h bWUgbm90IGluIHJlY29yZCBvciB1bmlvbiBpbml0aWFsaXplcgogICAucHJvYmUgPSBwbGF0Zm9y bV9idXNfcHJvYmUsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozNzk6 Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkp Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgwOjM6IGVycm9yOiBmaWVsZCBu YW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmZpbmRfZGV2aWNlID0g cGxhdGZvcm1fYnVzX2ZpbmRfZGV2aWNlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmM6MzgwOjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0Zm9y bV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4MTozOiBl cnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAgIC5w bHVnID0gcGxhdGZvcm1fYnVzX3BsdWcsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxh dGZvcm0uYzozODE6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3Jt X2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgyOjM6IGVy cm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLnVu cGx1ZyA9IHBsYXRmb3JtX2J1c191bnBsdWcsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0v cGxhdGZvcm0uYzozODI6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRm b3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6MzgzOjM6 IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAg LnBhcnNlID0gcGxhdGZvcm1fYnVzX3BhcnNlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3BsYXRmb3JtLmM6MzgzOjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0 Zm9ybV9idXMuYnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM4NDoz OiBlcnJvcjogZmllbGQgbmFtZSBub3QgaW4gcmVjb3JkIG9yIHVuaW9uIGluaXRpYWxpemVyCiAg IC5kbWFfbWFwID0gcGxhdGZvcm1fYnVzX2RtYV9tYXAsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxh dGZvcm0vcGxhdGZvcm0uYzozODQ6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKA mHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6 Mzg1OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6 ZXIKICAgLmRtYV91bm1hcCA9IHBsYXRmb3JtX2J1c19kbWFfdW5tYXAsCiAgIF4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODU6Mzogbm90ZTogKG5lYXIgaW5pdGlhbGl6YXRp b24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtLmM6Mzg2OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5vdCBpbiByZWNvcmQgb3IgdW5pb24g aW5pdGlhbGl6ZXIKICAgLmdldF9pb21tdV9jbGFzcyA9IHBsYXRmb3JtX2J1c19nZXRfaW9tbXVf Y2xhc3MsCiAgIF4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm0uYzozODY6Mzogbm90 ZTogKG5lYXIgaW5pdGlhbGl6YXRpb24gZm9yIOKAmHBsYXRmb3JtX2J1cy5idXPigJkpCi4uL2Ry aXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtLmM6Mzg3OjM6IGVycm9yOiBmaWVsZCBuYW1lIG5v dCBpbiByZWNvcmQgb3IgdW5pb24gaW5pdGlhbGl6ZXIKICAgLmRldl9pdGVyYXRlID0gcGxhdGZv cm1fYnVzX2Rldl9pdGVyYXRlLAogICBeCi4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3Jt LmM6Mzg3OjM6IG5vdGU6IChuZWFyIGluaXRpYWxpemF0aW9uIGZvciDigJhwbGF0Zm9ybV9idXMu YnVz4oCZKQouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybS5jOjM5Mzo0NDogZXJyb3I6 IGV4cGVjdGVkIOKAmCnigJkgYmVmb3JlIOKAmC7igJkgdG9rZW4KIFJURV9SRUdJU1RFUl9CVVMo cGxhdGZvcm1fYnVzLCBwbGF0Zm9ybV9idXMuYnVzKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKQpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwpbNTc3 LzMyMTldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3Jt LmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMubwpGQUlMRUQ6IGRyaXZlcnMvbGli dG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5v IApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucCAtSWRyaXZlcnMgLUku Li9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9kcml2ZXJzL2J1cy9wbGF0Zm9y bSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwvaW5jbHVkZSAtSS4uL2xp Yi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4uL2xpYi9lYWwvbGludXgv aW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFsL3g4Ni9pbmNsdWRlIC1J bGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9lYWwgLUkuLi9saWIvZWFs IC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmljcyAtSS4uL2xpYi9tZXRy aWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLWZkaWFnbm9zdGljcy1jb2xv cj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2ludmFsaWQtcGNoIC1XZXh0 cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2FzdC1xdWFsIC1XZGVwcmVj YXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlz c2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAt V29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3NpZ24tY29tcGFyZSAtV3N0 cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1Xbm8tcGFja2VkLW5vdC1h bGlnbmVkIC1Xbm8tbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLURfR05VX1NPVVJDRSAtZlBJ QyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFMTE9XX0lOVEVSTkFM X0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxUX0xPR1RZUEU9YnVz LnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVz X3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gLU1GIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf cGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vLmQgLW8gZHJpdmVy cy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFt cy5jLm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmMKSW4gZmls ZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZhdGUuaDoxNCwKICAg ICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFt cy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6OTE6MjA6 IGVycm9yOiBmaWVsZCDigJhkZXZpY2XigJkgaGFzIGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBy dGVfZGV2aWNlIGRldmljZTsgLyoqPCBDb3JlIGRldmljZSAqLwogICAgICAgICAgICAgICAgICAg IF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRmb3JtLmg6MTAyOjIw OiBlcnJvcjogZmllbGQg4oCYZHJpdmVy4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICBzdHJ1Y3Qg cnRlX2RyaXZlciBkcml2ZXI7IC8qKjwgQ29yZSBkcml2ZXIgKi8KICAgICAgICAgICAgICAgICAg ICBefn5+fn4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6 MTc6IGVycm9yOiBmaWVsZCDigJhidXPigJkgaGFzIGluY29tcGxldGUgdHlwZQogIHN0cnVjdCBy dGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgICAgICAgICAgICBefn4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6IEluIGZ1bmN0aW9uIOKAmHBsYXRmb3Jt X2Rldl9tYXRjaOKAmToKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6 Mzg6MzA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKA mGNvbnN0IHN0cnVjdCBydGVfZGV2aWNl4oCZCiAgaWYgKG5hbWUgJiYgc3RyY21wKG5hbWUsIGRl di0+bmFtZSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNf ZGV2X2l0ZXJhdGXigJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5j OjQ4OjI6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSDigJhydGVfYnVzX2ZpbmRfZGV2aWNlX3Ti gJkKICBydGVfYnVzX2ZpbmRfZGV2aWNlX3QgZmluZF9kZXZpY2U7CiAgXn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjU2OjE2OiBl cnJvcjog4oCYRUlOVkFM4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogICAgcnRlX2Vycm5vID0gRUlOVkFMOwogICAgICAgICAgICAgICAgXn5+fn5+Ci4uL2RyaXZl cnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjU2OjE2OiBub3RlOiBlYWNoIHVuZGVj bGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24g aXQgYXBwZWFycyBpbgpbNTc4LzMyMTldIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRt cF9ydGVfYnVzX2RwYWEuYS5wL2J1c19kcGFhX2Jhc2VfcWJtYW5fcW1hbi5jLm8KWzU3OS8zMjE5 XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19mc2xtYy5hLnAvYnVz X2ZzbG1jX3FibWFuX3FibWFuX3BvcnRhbC5jLm8KWzU4MC8zMjE5XSBHZW5lcmF0aW5nIHJ0ZV9i dXNfaWZwZ2EucG1kLmMgd2l0aCBhIGN1c3RvbSBjb21tYW5kCls1ODEvMzIxOV0gQ29tcGlsaW5n IEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3Bj aV91aW8uYy5vCls1ODIvMzIxOV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9idXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaV92ZmlvLmMubwpbNTgzLzMyMTldIENvbXBp bGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51 eF9wY2kuYy5vCls1ODQvMzIxOV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0 ZV9idXNfdmRldi5hLnAvYnVzX3ZkZXZfdmRldi5jLm8KWzU4NS8zMjE5XSBDb21waWxpbmcgQyBv YmplY3QgbGliL2xpYnJ0ZV9waXBlbGluZS5hLnAvcGlwZWxpbmVfcnRlX3RhYmxlX2FjdGlvbi5j Lm8KbmluamE6IGJ1aWxkIHN0b3BwZWQKCgoKCipCdWlsZCBGYWlsZWQgIzIwOgpPUzogVUIyMjEw LTY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKRkFJTEVEOiBkcml2ZXJzL2xp YnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMu byAKZ2NjIC1JZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAgLUlkcml2ZXJzIC1J Li4vZHJpdmVycyAtSWRyaXZlcnMvYnVzL3BsYXRmb3JtIC1JLi4vZHJpdmVycy9idXMvcGxhdGZv cm0gLUkuIC1JLi4gLUljb25maWcgLUkuLi9jb25maWcgLUlsaWIvZWFsL2luY2x1ZGUgLUkuLi9s aWIvZWFsL2luY2x1ZGUgLUlsaWIvZWFsL2xpbnV4L2luY2x1ZGUgLUkuLi9saWIvZWFsL2xpbnV4 L2luY2x1ZGUgLUlsaWIvZWFsL3g4Ni9pbmNsdWRlIC1JLi4vbGliL2VhbC94ODYvaW5jbHVkZSAt SWxpYi9lYWwvY29tbW9uIC1JLi4vbGliL2VhbC9jb21tb24gLUlsaWIvZWFsIC1JLi4vbGliL2Vh bCAtSWxpYi9rdmFyZ3MgLUkuLi9saWIva3ZhcmdzIC1JbGliL21ldHJpY3MgLUkuLi9saWIvbWV0 cmljcyAtSWxpYi90ZWxlbWV0cnkgLUkuLi9saWIvdGVsZW1ldHJ5IC1mZGlhZ25vc3RpY3MtY29s b3I9YWx3YXlzIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2V4 dHJhIC1XZXJyb3IgLU8zIC1pbmNsdWRlIHJ0ZV9jb25maWcuaCAtV2Nhc3QtcXVhbCAtV2RlcHJl Y2F0ZWQgLVdmb3JtYXQgLVdmb3JtYXQtbm9ubGl0ZXJhbCAtV2Zvcm1hdC1zZWN1cml0eSAtV21p c3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbmVzdGVkLWV4dGVybnMg LVdvbGQtc3R5bGUtZGVmaW5pdGlvbiAtV3BvaW50ZXItYXJpdGggLVdzaWduLWNvbXBhcmUgLVdz dHJpY3QtcHJvdG90eXBlcyAtV3VuZGVmIC1Xd3JpdGUtc3RyaW5ncyAtV25vLWFkZHJlc3Mtb2Yt cGFja2VkLW1lbWJlciAtV25vLXBhY2tlZC1ub3QtYWxpZ25lZCAtV25vLW1pc3NpbmctZmllbGQt aW5pdGlhbGl6ZXJzIC1Xbm8temVyby1sZW5ndGgtYm91bmRzIC1EX0dOVV9TT1VSQ0UgLWZQSUMg LW1hcmNoPW5hdGl2ZSAtREFMTE9XX0VYUEVSSU1FTlRBTF9BUEkgLURBTExPV19JTlRFUk5BTF9B UEkgLVduby1mb3JtYXQtdHJ1bmNhdGlvbiAtRFJURV9MT0dfREVGQVVMVF9MT0dUWVBFPWJ1cy5w bGF0Zm9ybSAtTUQgLU1RIGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19w bGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5vIC1NRiBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3Bs YXRmb3JtLmEucC9idXNfcGxhdGZvcm1fcGxhdGZvcm1fcGFyYW1zLmMuby5kIC1vIGRyaXZlcnMv bGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMu Yy5vIC1jIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jCkluIGZpbGUg aW5jbHVkZWQgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MTQsCiAgICAg ICAgICAgICAgICAgZnJvbSAuLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMu YzoxMzoKLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjkxOjI3OiBl cnJvcjogZmllbGQg4oCYZGV2aWNl4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAgOTEgfCAgICAg ICAgIHN0cnVjdCBydGVfZGV2aWNlIGRldmljZTsgLyoqPCBDb3JlIGRldmljZSAqLwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3Jt L3J0ZV9idXNfcGxhdGZvcm0uaDoxMDI6Mjc6IGVycm9yOiBmaWVsZCDigJhkcml2ZXLigJkgaGFz IGluY29tcGxldGUgdHlwZQogIDEwMiB8ICAgICAgICAgc3RydWN0IHJ0ZV9kcml2ZXIgZHJpdmVy OyAvKio8IENvcmUgZHJpdmVyICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcHJpdmF0ZS5oOjMwOjI0OiBlcnJvcjogZmll bGQg4oCYYnVz4oCZIGhhcyBpbmNvbXBsZXRlIHR5cGUKICAgMzAgfCAgICAgICAgIHN0cnVjdCBy dGVfYnVzIGJ1czsgLyogQ29yZSBidXMgKi8KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg IF5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzogSW4gZnVuY3Rp b24g4oCYcGxhdGZvcm1fZGV2X21hdGNo4oCZOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0 Zm9ybV9wYXJhbXMuYzozODozNzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmGNvbnN0IHN0cnVjdCBydGVfZGV2aWNl4oCZCiAgIDM4IHwgICAgICAgICBpZiAobmFtZSAm JiBzdHJjbXAobmFtZSwgZGV2LT5uYW1lKSkKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBefgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMu YzogSW4gZnVuY3Rpb24g4oCYcGxhdGZvcm1fYnVzX2Rldl9pdGVyYXRl4oCZOgouLi9kcml2ZXJz L2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo0ODo5OiBlcnJvcjogdW5rbm93biB0eXBl IG5hbWUg4oCYcnRlX2J1c19maW5kX2RldmljZV904oCZCiAgIDQ4IHwgICAgICAgICBydGVfYnVz X2ZpbmRfZGV2aWNlX3QgZmluZF9kZXZpY2U7CiAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fn4KLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFyYW1zLmM6NTY6Mzc6 IGVycm9yOiDigJhFSU5WQUzigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rp b24pCiAgIDU2IHwgICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2Vycm5vID0gRUlOVkFMOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgouLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9wYXJhbXMuYzo1NjozNzogbm90ZTogZWFjaCB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9u IGl0IGFwcGVhcnMgaW4KWzU2OC8zMjUxXSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgZHJpdmVycy9s aWJydGVfYnVzX2RwYWEuYQpbNTY5LzMyNTFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xp YnJ0ZV9idXNfZHBhYS5zby4yMy4xLnAvbWVzb24tZ2VuZXJhdGVkXy4uX3J0ZV9idXNfZHBhYS5w bWQuYy5vCls1NzAvMzI1MV0gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9idXNfaWZwZ2EucG1kLmMg d2l0aCBhIGN1c3RvbSBjb21tYW5kCls1NzEvMzI1MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZl cnMvbGlidG1wX3J0ZV9idXNfZnNsbWMuYS5wL2J1c19mc2xtY19xYm1hbl9xYm1hbl9wb3J0YWwu Yy5vCls1NzIvMzI1MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNf cGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaV91aW8uYy5vCls1NzMvMzI1MV0gQ29tcGlsaW5nIEMg b2JqZWN0IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGNpLmEucC9idXNfcGNpX2xpbnV4X3BjaV92 ZmlvLmMubwpbNTc0LzMyNTFdIENvbXBpbGluZyBDIG9iamVjdCBkcml2ZXJzL2xpYnRtcF9ydGVf YnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9wY2kuYy5vCls1NzUvMzI1MV0gQ29tcGlsaW5nIEMg b2JqZWN0IGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vCls1NzYvMzI1 MV0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYi9saWJydGVfcGlwZWxpbmUuYS5wL3BpcGVsaW5lX3J0 ZV90YWJsZV9hY3Rpb24uYy5vCm5pbmphOiBidWlsZCBzdG9wcGVkCgoKCgoqQnVpbGQgRmFpbGVk ICMyMToKT1M6IEZDMzctNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpGQUlM RUQ6IGRyaXZlcnMvbGlidG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0 Zm9ybV9wYXJhbXMuYy5vIApnY2MgLUlkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BsYXRmb3JtLmEu cCAtSWRyaXZlcnMgLUkuLi9kcml2ZXJzIC1JZHJpdmVycy9idXMvcGxhdGZvcm0gLUkuLi9kcml2 ZXJzL2J1cy9wbGF0Zm9ybSAtSS4gLUkuLiAtSWNvbmZpZyAtSS4uL2NvbmZpZyAtSWxpYi9lYWwv aW5jbHVkZSAtSS4uL2xpYi9lYWwvaW5jbHVkZSAtSWxpYi9lYWwvbGludXgvaW5jbHVkZSAtSS4u L2xpYi9lYWwvbGludXgvaW5jbHVkZSAtSWxpYi9lYWwveDg2L2luY2x1ZGUgLUkuLi9saWIvZWFs L3g4Ni9pbmNsdWRlIC1JbGliL2VhbC9jb21tb24gLUkuLi9saWIvZWFsL2NvbW1vbiAtSWxpYi9l YWwgLUkuLi9saWIvZWFsIC1JbGliL2t2YXJncyAtSS4uL2xpYi9rdmFyZ3MgLUlsaWIvbWV0cmlj cyAtSS4uL2xpYi9tZXRyaWNzIC1JbGliL3RlbGVtZXRyeSAtSS4uL2xpYi90ZWxlbWV0cnkgLWZk aWFnbm9zdGljcy1jb2xvcj1hbHdheXMgLURfRklMRV9PRkZTRVRfQklUUz02NCAtV2FsbCAtV2lu dmFsaWQtcGNoIC1XZXh0cmEgLVdlcnJvciAtTzMgLWluY2x1ZGUgcnRlX2NvbmZpZy5oIC1XY2Fz dC1xdWFsIC1XZGVwcmVjYXRlZCAtV2Zvcm1hdCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0 LXNlY3VyaXR5IC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdu ZXN0ZWQtZXh0ZXJucyAtV29sZC1zdHlsZS1kZWZpbml0aW9uIC1XcG9pbnRlci1hcml0aCAtV3Np Z24tY29tcGFyZSAtV3N0cmljdC1wcm90b3R5cGVzIC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1X bm8tYWRkcmVzcy1vZi1wYWNrZWQtbWVtYmVyIC1Xbm8tcGFja2VkLW5vdC1hbGlnbmVkIC1Xbm8t bWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgLVduby16ZXJvLWxlbmd0aC1ib3VuZHMgLURfR05V X1NPVVJDRSAtZlBJQyAtbWFyY2g9bmF0aXZlIC1EQUxMT1dfRVhQRVJJTUVOVEFMX0FQSSAtREFM TE9XX0lOVEVSTkFMX0FQSSAtV25vLWZvcm1hdC10cnVuY2F0aW9uIC1EUlRFX0xPR19ERUZBVUxU X0xPR1RZUEU9YnVzLnBsYXRmb3JtIC1NRCAtTVEgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0 Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3BsYXRmb3JtX3BhcmFtcy5jLm8gLU1GIGRyaXZlcnMvbGli dG1wX3J0ZV9idXNfcGxhdGZvcm0uYS5wL2J1c19wbGF0Zm9ybV9wbGF0Zm9ybV9wYXJhbXMuYy5v LmQgLW8gZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wbGF0Zm9ybS5hLnAvYnVzX3BsYXRmb3JtX3Bs YXRmb3JtX3BhcmFtcy5jLm8gLWMgLi4vZHJpdmVycy9idXMvcGxhdGZvcm0vcGxhdGZvcm1fcGFy YW1zLmMKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3ByaXZh dGUuaDoxNCwKICAgICAgICAgICAgICAgICBmcm9tIC4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtX3BhcmFtcy5jOjEzOgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9ydGVfYnVzX3BsYXRm b3JtLmg6OTE6Mjc6IGVycm9yOiBmaWVsZCDigJhkZXZpY2XigJkgaGFzIGluY29tcGxldGUgdHlw ZQogICA5MSB8ICAgICAgICAgc3RydWN0IHJ0ZV9kZXZpY2UgZGV2aWNlOyAvKio8IENvcmUgZGV2 aWNlICovCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KLi4vZHJpdmVy cy9idXMvcGxhdGZvcm0vcnRlX2J1c19wbGF0Zm9ybS5oOjEwMjoyNzogZXJyb3I6IGZpZWxkIOKA mGRyaXZlcuKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCiAgMTAyIHwgICAgICAgICBzdHJ1Y3QgcnRl X2RyaXZlciBkcml2ZXI7IC8qKjwgQ29yZSBkcml2ZXIgKi8KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgIF5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wcml2YXRlLmg6MzA6 MjQ6IGVycm9yOiBmaWVsZCDigJhidXPigJkgaGFzIGluY29tcGxldGUgdHlwZQogICAzMCB8ICAg ICAgICAgc3RydWN0IHJ0ZV9idXMgYnVzOyAvKiBDb3JlIGJ1cyAqLwogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgXn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFt cy5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9kZXZfbWF0Y2jigJk6Ci4uL2RyaXZlcnMvYnVz L3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjM4OjM3OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2XigJkKICAgMzggfCAgICAg ICAgIGlmIChuYW1lICYmIHN0cmNtcChuYW1lLCBkZXYtPm5hbWUpKQogICAgICB8ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3Bs YXRmb3JtX3BhcmFtcy5jOiBJbiBmdW5jdGlvbiDigJhwbGF0Zm9ybV9idXNfZGV2X2l0ZXJhdGXi gJk6Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjQ4Ojk6IGVycm9y OiB1bmtub3duIHR5cGUgbmFtZSDigJhydGVfYnVzX2ZpbmRfZGV2aWNlX3TigJkKICAgNDggfCAg ICAgICAgIHJ0ZV9idXNfZmluZF9kZXZpY2VfdCBmaW5kX2RldmljZTsKICAgICAgfCAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fgouLi9kcml2ZXJzL2J1cy9wbGF0Zm9ybS9wbGF0Zm9ybV9w YXJhbXMuYzo1NjozNzogZXJyb3I6IOKAmEVJTlZBTOKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICAgNTYgfCAgICAgICAgICAgICAgICAgICAgICAgICBydGVfZXJy bm8gPSBFSU5WQUw7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+Ci4uL2RyaXZlcnMvYnVzL3BsYXRmb3JtL3BsYXRmb3JtX3BhcmFtcy5jOjU2OjM3OiBu b3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9y IGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgpbNTgxLzMyMTldIExpbmtpbmcgc3RhdGljIHRh cmdldCBkcml2ZXJzL2xpYnJ0ZV9idXNfaWZwZ2EuYQpbNTgyLzMyMTldIENvbXBpbGluZyBDIG9i amVjdCBkcml2ZXJzL2xpYnRtcF9ydGVfYnVzX3BjaS5hLnAvYnVzX3BjaV9saW51eF9wY2lfdmZp by5jLm8KWzU4My8zMjE5XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1 c19wY2kuYS5wL2J1c19wY2lfcGNpX2NvbW1vbl91aW8uYy5vCls1ODQvMzIxOV0gQ29tcGlsaW5n IEMgb2JqZWN0IGxpYi9saWJydGVfdmhvc3QuYS5wL3Zob3N0X3ZpcnRpb19uZXQuYy5vCls1ODUv MzIxOV0gR2VuZXJhdGluZyBkcml2ZXJzL3J0ZV9idXNfZHBhYS5wbWQuYyB3aXRoIGEgY3VzdG9t IGNvbW1hbmQKWzU4Ni8zMjE5XSBHZW5lcmF0aW5nIGRyaXZlcnMvcnRlX2J1c19mc2xtYy5wbWQu YyB3aXRoIGEgY3VzdG9tIGNvbW1hbmQKWzU4Ny8zMjE5XSBDb21waWxpbmcgQyBvYmplY3QgZHJp dmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5wL2J1c19wY2lfbGludXhfcGNpX3Vpby5jLm8KWzU4 OC8zMjE5XSBDb21waWxpbmcgQyBvYmplY3QgZHJpdmVycy9saWJ0bXBfcnRlX2J1c19wY2kuYS5w L2J1c19wY2lfbGludXhfcGNpLmMubwpbNTg5LzMyMTldIENvbXBpbGluZyBDIG9iamVjdCBsaWIv bGlicnRlX3BpcGVsaW5lLmEucC9waXBlbGluZV9ydGVfdGFibGVfYWN0aW9uLmMubwpuaW5qYTog YnVpbGQgc3RvcHBlZAoKCkRQREsgU1RWIHRlYW0K --===============2985670374327805484==--