From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com [IPv6:2a00:1450:4864:20::432]) by sourceware.org (Postfix) with ESMTPS id 71FBC385840E for ; Wed, 16 Feb 2022 21:04:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 71FBC385840E Received: by mail-wr1-x432.google.com with SMTP id o24so5487034wro.3 for ; Wed, 16 Feb 2022 13:04:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=szbZaqSDTUZS9qkC4ePHpn0tsKa4lLkooJtUqyZdtcw=; b=TgTqkKjJLG5oKOpHyc6+8xcn6nHHLg42Qrr2ClbXOJPgV9F8gEK8NS1Hqzd1/3HdCW wKUxSBlM0YJ70FoEZntBK4xEcRJUm/s+g1tRtEyNgEUtINGXLX3E+anykz491WrWiFJr owec9cpAXt2gRWU7nO+jGC3sORajk6WBPjM00EK11TIAt0WsHpU6tKF4iH0VNs56BAq/ iwL0YMzFac81rh5gLdHIGvO+QraqIM54b4fmxeVZIORG5+uyzcanY1vjXmnJgdAyIX4X 4Iq4pcXblqm5j8T3pvvsd7X7dt5C3V/vOLb6yXUFXRgARASDKiyroR8MmvG4130kOSlA Lajg== X-Gm-Message-State: AOAM533f+vB7UovmSwXwEhR+EuFK3HGpd82UOS3Np7YpOekYheKOi2GB rz2tgq8+WHQO7AGlVLBccLTMRfcMxTGLbyuc7oRwDA9HSSc= X-Google-Smtp-Source: ABdhPJwVVsjhDbfqxhhefz4VPTkseXatYLMdA35qxFjyuDvrtAoCFtsqiyXYR7Qm8usM1bk/G5j9a5K0urCf5yWsTqo= X-Received: by 2002:a05:6000:188b:b0:1e3:1cfa:5851 with SMTP id a11-20020a056000188b00b001e31cfa5851mr3854475wri.510.1645045464997; Wed, 16 Feb 2022 13:04:24 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Mohamed Atef Date: Wed, 16 Feb 2022 23:04:13 +0200 Message-ID: Subject: Re: [PATCH] libgomp : OMPD implementation To: gcc-patches@gcc.gnu.org, Martin Jambor , jakub@redhat.com, tobias@codesourcery.com Content-Type: multipart/mixed; boundary="00000000000094b9ae05d828fe56" X-Spam-Status: No, score=-7.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, HTML_MESSAGE, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Feb 2022 21:04:33 -0000 --00000000000094b9ae05d828fe56 Content-Type: text/plain; charset="UTF-8" Sorry I forgot to uncomment 2 lines, here's the Patch Again. Thanks Mohamed On Wed, Feb 16, 2022 at 10:54 PM Mohamed Atef wrote: > HI, > I am sorry that the previous patch was buggy. > This patch contains the header files and source files of functions that > are specified in OpenMP Application ProgrammingInterface book from sections > (5.1, 5.2, 5.3, 5.4, 5.5.1, 5.5.2) the functions are tested using the gdb > plugin and the results are correct. > Please Review this Patch and reply to us. > > 2022-02-16 Mohamed Atef > > * Makefile.am (toolexeclib_LTLIBRARIES): Add libgompd.la. > (libgompd_la_LDFLAGS, libgompd_la_DEPENDENCIES, libgompd_la_LINK, > libgompd_la_SOURCES, libgompd_version_dep, libgompd_version_script, > libgompd.ver-sun, libgompd.ver, libgompd_version_info): Defined. > * Makefile.in: Regenerate. > * aclocal.m4: Regenerate. > * config/darwin/plugin-suffix.h: Removed (). > * config/hpux/plugin-suffix.h: Removed (). > * config/posix/plugin-suffix.h: Removed (). > * configure: Regenerate. > * env.c: (#include "ompd-support.h") : Added. > (initialize_env) : Call ompd_load(). > * parallel.c:(#include "ompd-support.h"): Added. > (GOMP_parallel) : Call ompd_bp_parallel_begin and > ompd_bp_parallel_end. > * libgomp.map: Add OMP_5.0.3 symobl versions. > * libgompd.map: New file. > * omp-tools.h.in : New file. > * omp-types.h.in : New file. > * ompd-support.h : New file. > * ompd-support.c : New file. > * ompd-helper.h : New file. > * ompd-helper.c: New file. > * ompd-init.c: New file. > * testsuite/Makfile.in: Regenerate. > > > > --00000000000094b9ae05d828fe56 Content-Type: text/plain; charset="US-ASCII"; name="diff.txt" Content-Disposition: attachment; filename="diff.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kzq1i2uu0 ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCA5YzJkN2RmMWJiMi4uYzI3 MGVhMzQwOTggMTAwNzU1Ci0tLSBhL2NvbmZpZ3VyZQorKysgYi9jb25maWd1cmUKQEAgLTc2Niw2 ICs3NjYsNyBAQCBpbmZvZGlyCiBkb2NkaXIKIG9sZGluY2x1ZGVkaXIKIGluY2x1ZGVkaXIKK3J1 bnN0YXRlZGlyCiBsb2NhbHN0YXRlZGlyCiBzaGFyZWRzdGF0ZWRpcgogc3lzY29uZmRpcgpAQCAt OTM2LDYgKzkzNyw3IEBAIGRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9Jwogc3lzY29uZmRpcj0nJHtw cmVmaXh9L2V0YycKIHNoYXJlZHN0YXRlZGlyPScke3ByZWZpeH0vY29tJwogbG9jYWxzdGF0ZWRp cj0nJHtwcmVmaXh9L3ZhcicKK3J1bnN0YXRlZGlyPScke2xvY2Fsc3RhdGVkaXJ9L3J1bicKIGlu Y2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlJwogb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNsdWRl JwogZG9jZGlyPScke2RhdGFyb290ZGlyfS9kb2MvJHtQQUNLQUdFfScKQEAgLTExODgsNiArMTE5 MCwxNSBAQCBkbwogICB8IC1zaWxlbnQgfCAtLXNpbGVudCB8IC0tc2lsZW4gfCAtLXNpbGUgfCAt LXNpbCkKICAgICBzaWxlbnQ9eWVzIDs7CiAKKyAgLXJ1bnN0YXRlZGlyIHwgLS1ydW5zdGF0ZWRp ciB8IC0tcnVuc3RhdGVkaSB8IC0tcnVuc3RhdGVkIFwKKyAgfCAtLXJ1bnN0YXRlIHwgLS1ydW5z dGF0IHwgLS1ydW5zdGEgfCAtLXJ1bnN0IHwgLS1ydW5zIFwKKyAgfCAtLXJ1biB8IC0tcnUgfCAt LXIpCisgICAgYWNfcHJldj1ydW5zdGF0ZWRpciA7OworICAtcnVuc3RhdGVkaXI9KiB8IC0tcnVu c3RhdGVkaXI9KiB8IC0tcnVuc3RhdGVkaT0qIHwgLS1ydW5zdGF0ZWQ9KiBcCisgIHwgLS1ydW5z dGF0ZT0qIHwgLS1ydW5zdGF0PSogfCAtLXJ1bnN0YT0qIHwgLS1ydW5zdD0qIHwgLS1ydW5zPSog XAorICB8IC0tcnVuPSogfCAtLXJ1PSogfCAtLXI9KikKKyAgICBydW5zdGF0ZWRpcj0kYWNfb3B0 YXJnIDs7CisKICAgLXNiaW5kaXIgfCAtLXNiaW5kaXIgfCAtLXNiaW5kaSB8IC0tc2JpbmQgfCAt LXNiaW4gfCAtLXNiaSB8IC0tc2IpCiAgICAgYWNfcHJldj1zYmluZGlyIDs7CiAgIC1zYmluZGly PSogfCAtLXNiaW5kaXI9KiB8IC0tc2JpbmRpPSogfCAtLXNiaW5kPSogfCAtLXNiaW49KiBcCkBA IC0xMzI1LDcgKzEzMzYsNyBAQCBmaQogZm9yIGFjX3ZhciBpbglleGVjX3ByZWZpeCBwcmVmaXgg YmluZGlyIHNiaW5kaXIgbGliZXhlY2RpciBkYXRhcm9vdGRpciBcCiAJCWRhdGFkaXIgc3lzY29u ZmRpciBzaGFyZWRzdGF0ZWRpciBsb2NhbHN0YXRlZGlyIGluY2x1ZGVkaXIgXAogCQlvbGRpbmNs dWRlZGlyIGRvY2RpciBpbmZvZGlyIGh0bWxkaXIgZHZpZGlyIHBkZmRpciBwc2RpciBcCi0JCWxp YmRpciBsb2NhbGVkaXIgbWFuZGlyCisJCWxpYmRpciBsb2NhbGVkaXIgbWFuZGlyIHJ1bnN0YXRl ZGlyCiBkbwogICBldmFsIGFjX3ZhbD1cJCRhY192YXIKICAgIyBSZW1vdmUgdHJhaWxpbmcgc2xh c2hlcy4KQEAgLTE0ODUsNiArMTQ5Niw3IEBAIEZpbmUgdHVuaW5nIG9mIHRoZSBpbnN0YWxsYXRp b24gZGlyZWN0b3JpZXM6CiAgIC0tc3lzY29uZmRpcj1ESVIgICAgICAgIHJlYWQtb25seSBzaW5n bGUtbWFjaGluZSBkYXRhIFtQUkVGSVgvZXRjXQogICAtLXNoYXJlZHN0YXRlZGlyPURJUiAgICBt b2RpZmlhYmxlIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudCBkYXRhIFtQUkVGSVgvY29tXQogICAt LWxvY2Fsc3RhdGVkaXI9RElSICAgICBtb2RpZmlhYmxlIHNpbmdsZS1tYWNoaW5lIGRhdGEgW1BS RUZJWC92YXJdCisgIC0tcnVuc3RhdGVkaXI9RElSICAgICAgIG1vZGlmaWFibGUgcGVyLXByb2Nl c3MgZGF0YSBbTE9DQUxTVEFURURJUi9ydW5dCiAgIC0tbGliZGlyPURJUiAgICAgICAgICAgIG9i amVjdCBjb2RlIGxpYnJhcmllcyBbRVBSRUZJWC9saWJdCiAgIC0taW5jbHVkZWRpcj1ESVIgICAg ICAgIEMgaGVhZGVyIGZpbGVzIFtQUkVGSVgvaW5jbHVkZV0KICAgLS1vbGRpbmNsdWRlZGlyPURJ UiAgICAgQyBoZWFkZXIgZmlsZXMgZm9yIG5vbi1nY2MgWy91c3IvaW5jbHVkZV0KZGlmZiAtLWdp dCBhL2xpYmdvbXAvQ2hhbmdlTG9nIGIvbGliZ29tcC9DaGFuZ2VMb2cKaW5kZXggNzkwNTU2NWM0 MjAuLmJlNGNlMWRiZTEyIDEwMDY0NAotLS0gYS9saWJnb21wL0NoYW5nZUxvZworKysgYi9saWJn b21wL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIyLTAyLTE2ICBNb2hhbWVkIEF0ZWYg IDxtb2hhbWVkYXRlZjE2OThAZ21haWwuY29tPgorCisgICAgICAgICogTWFrZWZpbGUuYW0gKHRv b2xleGVjbGliX0xUTElCUkFSSUVTKTogQWRkIGxpYmdvbXBkLmxhLgorICAgICAgICAobGliZ29t cGRfbGFfTERGTEFHUywgbGliZ29tcGRfbGFfREVQRU5ERU5DSUVTLCBsaWJnb21wZF9sYV9MSU5L LAorICAgICAgICBsaWJnb21wZF9sYV9TT1VSQ0VTLCBsaWJnb21wZF92ZXJzaW9uX2RlcCwgbGli Z29tcGRfdmVyc2lvbl9zY3JpcHQsCisgICAgICAgIGxpYmdvbXBkLnZlci1zdW4sIGxpYmdvbXBk LnZlciwgbGliZ29tcGRfdmVyc2lvbl9pbmZvKTogRGVmaW5lZC4gCisgICAgICAgICogTWFrZWZp bGUuaW46IFJlZ2VuZXJhdGUuCisgICAgICAgICogYWNsb2NhbC5tNDogUmVnZW5lcmF0ZS4KKyAg ICAgICAgKiBjb25maWcvZGFyd2luL3BsdWdpbi1zdWZmaXguaDogUmVtb3ZlZCAoKS4KKyAgICAg ICAgKiBjb25maWcvaHB1eC9wbHVnaW4tc3VmZml4Lmg6IFJlbW92ZWQgKCkuCisgICAgICAgICog Y29uZmlnL3Bvc2l4L3BsdWdpbi1zdWZmaXguaDogUmVtb3ZlZCAoKS4KKyAgICAgICAgKiBjb25m aWd1cmU6IFJlZ2VuZXJhdGUuCisgICAgICAgICogZW52LmM6ICgjaW5jbHVkZSAib21wZC1zdXBw b3J0LmgiKSA6IEFkZGVkLgorICAgICAgICAoaW5pdGlhbGl6ZV9lbnYpIDogQ2FsbCBvbXBkX2xv YWQoKS4KKyAgICAgICAgKiBwYXJhbGxlbC5jOigjaW5jbHVkZSAib21wZC1zdXBwb3J0LmgiKTog QWRkZWQuCisgICAgICAgIChHT01QX3BhcmFsbGVsKSA6IENhbGwgb21wZF9icF9wYXJhbGxlbF9i ZWdpbiBhbmQgb21wZF9icF9wYXJhbGxlbF9lbmQuCisgICAgICAgICogbGliZ29tcC5tYXA6IEFk ZCBPTVBfNS4wLjMgc3ltb2JsIHZlcnNpb25zLgorICAgICAgICAqIGxpYmdvbXBkLm1hcDogTmV3 IGZpbGUuCisgICAgICAgICogb21wLXRvb2xzLmguaW4gOiBOZXcgZmlsZS4KKyAgICAgICAgKiBv bXAtdHlwZXMuaC5pbiA6IE5ldyBmaWxlLgorICAgICAgICAqIG9tcGQtc3VwcG9ydC5oIDogTmV3 IGZpbGUuCisgICAgICAgICogb21wZC1zdXBwb3J0LmMgOiBOZXcgZmlsZS4KKyAgICAgICAgKiBv bXBkLWhlbHBlci5oIDogTmV3IGZpbGUuCisgICAgICAgICogb21wZC1oZWxwZXIuYzogTmV3IGZp bGUuCisgICAgICAgICogb21wZC1pbml0LmM6IE5ldyBmaWxlLgorICAgICAgICAqIHRlc3RzdWl0 ZS9NYWtmaWxlLmluOiBSZWdlbmVyYXRlLgorCiAyMDIyLTAyLTA0ICBUb2JpYXMgQnVybnVzICA8 dG9iaWFzQGNvZGVzb3VyY2VyeS5jb20+CiAKIAkqIHRlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4v YWxsb2NhdGUtMS5mOTA6IFJlbW92ZSBzcHVyaW91cwpkaWZmIC0tZ2l0IGEvbGliZ29tcC9NYWtl ZmlsZS5hbSBiL2xpYmdvbXAvTWFrZWZpbGUuYW0KaW5kZXggZjhiMmEwNmQ2M2UuLjIyYTI3ZGYx MDVlIDEwMDY0NAotLS0gYS9saWJnb21wL01ha2VmaWxlLmFtCisrKyBiL2xpYmdvbXAvTWFrZWZp bGUuYW0KQEAgLTIwLDcgKzIwLDcgQEAgQU1fQ1BQRkxBR1MgPSAkKGFkZHByZWZpeCAtSSwgJChz ZWFyY2hfcGF0aCkpCiBBTV9DRkxBR1MgPSAkKFhDRkxBR1MpCiBBTV9MREZMQUdTID0gJChYTERG TEFHUykgJChTRUNUSU9OX0xERkxBR1MpICQoT1BUX0xERkxBR1MpCiAKLXRvb2xleGVjbGliX0xU TElCUkFSSUVTID0gbGliZ29tcC5sYQordG9vbGV4ZWNsaWJfTFRMSUJSQVJJRVMgPSBsaWJnb21w LmxhIGxpYmdvbXBkLmxhCiBub2Rpc3RfdG9vbGV4ZWNsaWJfSEVBREVSUyA9IGxpYmdvbXAuc3Bl YwogCiBpZiBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQgpAQCAtMzIsMTMgKzMyLDIxIEBA IGxpYmdvbXAudmVyOiAkKHRvcF9zcmNkaXIpL2xpYmdvbXAubWFwCiAJJChFR1JFUCkgLXYgJyMo I3wgfCQkKScgJDwgfCBcCiAJICAkKFBSRVBST0NFU1MpIC1QIC1pbmNsdWRlIGNvbmZpZy5oIC0g PiAkQCB8fCAocm0gLWYgJEAgOyBleGl0IDEpCiAKK2xpYmdvbXBkLnZlcjogJCh0b3Bfc3JjZGly KS9saWJnb21wZC5tYXAKKwkkKEVHUkVQKSAtdiAnIygjfCB8JCQpJyAkPCB8IFwKKwkJJChQUkVQ Uk9DRVNTKSAtUCAtaW5jbHVkZSBjb25maWcuaCAtID4gJEAgfHwgKHJtIC1mICRAIDsgZXhpdCAx KQorCiBpZiBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9HTlUKIGxpYmdvbXBfdmVyc2lv bl9zY3JpcHQgPSAtV2wsLS12ZXJzaW9uLXNjcmlwdCxsaWJnb21wLnZlcgorbGliZ29tcGRfdmVy c2lvbl9zY3JpcHQgPSAtV2wsLS12ZXJzaW9uLXNjcmlwdCxsaWJnb21wZC52ZXIKIGxpYmdvbXBf dmVyc2lvbl9kZXAgPSBsaWJnb21wLnZlcgorbGliZ29tcGRfdmVyc2lvbl9kZXAgPSBsaWJnb21w ZC52ZXIKIGVuZGlmCiBpZiBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU4KIGxpYmdv bXBfdmVyc2lvbl9zY3JpcHQgPSAtV2wsLU0sbGliZ29tcC52ZXItc3VuCitsaWJnb21wZF92ZXJz aW9uX3NjcmlwdCA9IC1XbCwtTSxsaWJnb21wZC52ZXItc3VuCiBsaWJnb21wX3ZlcnNpb25fZGVw ID0gbGliZ29tcC52ZXItc3VuCitsaWJnb21wZF92ZXJzaW9uX2RlcCA9IGxpYmdvbXBkLnZlci1z dW4KIGxpYmdvbXAudmVyLXN1biA6IGxpYmdvbXAudmVyIFwKIAkJJCh0b3Bfc3JjZGlyKS8uLi9j b250cmliL21ha2Vfc3VudmVyLnBsIFwKIAkJJChsaWJnb21wX2xhX09CSkVDVFMpICQobGliZ29t cF9sYV9MSUJBREQpCkBAIC00OCwxNyArNTYsMzQgQEAgbGliZ29tcC52ZXItc3VuIDogbGliZ29t cC52ZXIgXAogCSBgZWNobyAkKGxpYmdvbXBfbGFfTElCQUREKSB8IFwKIAkgICAgc2VkICdzLC9c KFteLy5dKlwpXC5sYSwvLmxpYnMvXDEuYSxnJ2AgXAogCSA+ICRAIHx8IChybSAtZiAkQCA7IGV4 aXQgMSkKKworbGliZ29tcGQudmVyLXN1biA6IGxpYmdvbXBkLnZlciBcCisJCSQodG9wX3NyY2Rp cikvLi4vY29udHJpYi9tYWtlX3N1bnZlci5wbCBcCisJCSQobGliZ29tcGRfbGFfT0JKRUNUUykg JChsaWJnb21wZF9sYV9MSUJBREQpCisJcGVybCAkKHRvcF9zcmNkaXIpLy4uL2NvbnRyaWIvbWFr ZV9zdW52ZXIucGwgXAorCQlsaWJnb21wZC52ZXIgXAorCQkkKGxpYmdvbXBkX2xhX09CSkVDVFM6 JS5sbz0ubGlicy8lLm8pIFwKKwkJYGVjaG8gJChsaWJnb21wZF9sYV9MSUJBREQpIHwgXAorCQkJ c2VkICdzLC9cKFteLy5dKlwpXC5sYSwvLmxpYnMvXDEuYSxnJ2AgXAorCQk+ICRAIHx8IChybSAt ZiAkQCA7IGV4aXQgMSkKKwogZW5kaWYKIGVsc2UKIGxpYmdvbXBfdmVyc2lvbl9zY3JpcHQgPQor bGliZ29tcGRfdmVyc2lvbl9zY3JpcHQgPQogbGliZ29tcF92ZXJzaW9uX2RlcCA9CitsaWJnb21w ZF92ZXJzaW9uX2RlcCA9CiBlbmRpZgogbGliZ29tcF92ZXJzaW9uX2luZm8gPSAtdmVyc2lvbi1p bmZvICQobGlidG9vbF9WRVJTSU9OKQorbGliZ29tcGRfdmVyc2lvbl9pbmZvID0gLXZlcnNpb24t aW5mbyAkKGxpYnRvb2xfVkVSU0lPTikKIGxpYmdvbXBfbGFfTERGTEFHUyA9ICQobGliZ29tcF92 ZXJzaW9uX2luZm8pICQobGliZ29tcF92ZXJzaW9uX3NjcmlwdCkgXAogICAgICAgICAkKGx0X2hv c3RfZmxhZ3MpCitsaWJnb21wZF9sYV9MREZMQUdTID0gJChsaWJnb21wZF92ZXJzaW9uX2luZm8p ICQobGliZ29tcGRfdmVyc2lvbl9zY3JpcHQpIFwKKwkJCQkkKGx0X2hvc3RfZmxhZ3MpCiBsaWJn b21wX2xhX0RFUEVOREVOQ0lFUyA9ICQobGliZ29tcF92ZXJzaW9uX2RlcCkKK2xpYmdvbXBkX2xh X0RFUEVOREVOQ0lFUyA9ICQobGliZ29tcGRfdmVyc2lvbl9kZXApCiBsaWJnb21wX2xhX0xJTksg PSAkKExJTkspICQobGliZ29tcF9sYV9MREZMQUdTKQotCitsaWJnb21wZF9sYV9MSU5LID0gJChM SU5LKSAkKGxpYmdvbXBkX2xhX0xERkxBR1MpCiBsaWJnb21wX2xhX1NPVVJDRVMgPSBhbGxvYy5j IGF0b21pYy5jIGJhcnJpZXIuYyBjcml0aWNhbC5jIGVudi5jIGVycm9yLmMgXAogCWljdi5jIGlj di1kZXZpY2UuYyBpdGVyLmMgaXRlcl91bGwuYyBsb29wLmMgbG9vcF91bGwuYyBvcmRlcmVkLmMg XAogCXBhcmFsbGVsLmMgc2NvcGUuYyBzZWN0aW9ucy5jIHNpbmdsZS5jIHRhc2suYyB0ZWFtLmMg d29yay5jIGxvY2suYyBcCkBAIC02Niw4ICs5MSw5IEBAIGxpYmdvbXBfbGFfU09VUkNFUyA9IGFs bG9jLmMgYXRvbWljLmMgYmFycmllci5jIGNyaXRpY2FsLmMgZW52LmMgZXJyb3IuYyBcCiAJdGFy Z2V0LmMgc3BsYXktdHJlZS5jIGxpYmdvbXAtcGx1Z2luLmMgb2FjYy1wYXJhbGxlbC5jIG9hY2Mt aG9zdC5jIFwKIAlvYWNjLWluaXQuYyBvYWNjLW1lbS5jIG9hY2MtYXN5bmMuYyBvYWNjLXBsdWdp bi5jIG9hY2MtY3VkYS5jIFwKIAlwcmlvcml0eV9xdWV1ZS5jIGFmZmluaXR5LWZtdC5jIHRlYW1z LmMgYWxsb2NhdG9yLmMgb2FjYy1wcm9maWxpbmcuYyBcCi0Jb2FjYy10YXJnZXQuYworCW9hY2Mt dGFyZ2V0LmMgb21wZC1zdXBwb3J0LmMKIAorbGliZ29tcGRfbGFfU09VUkNFUyA9IG9tcGQtaW5p dC5jIG9tcGQtaGVscGVyLmMKIGluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9wbHVnaW4vTWFrZWZyYWcu YW0KIAogaWYgVVNFX0ZPUlRSQU4KQEAgLTc1LDcgKzEwMSw3IEBAIGxpYmdvbXBfbGFfU09VUkNF UyArPSBvcGVuYWNjLmY5MAogZW5kaWYKIAogbm9kaXN0X25vaW5zdF9IRUFERVJTID0gbGliZ29t cF9mLmgKLW5vZGlzdF9saWJzdWJpbmNsdWRlX0hFQURFUlMgPSBvbXAuaCBvcGVuYWNjLmggYWNj X3Byb2YuaAorbm9kaXN0X2xpYnN1YmluY2x1ZGVfSEVBREVSUyA9IG9tcC5oIG9wZW5hY2MuaCBh Y2NfcHJvZi5oIG9tcC10b29scy5oIG9tcGQtdHlwZXMuaAogaWYgVVNFX0ZPUlRSQU4KIG5vZGlz dF9maW5jbHVkZV9IRUFERVJTID0gb21wX2xpYi5oIG9tcF9saWIuZjkwIG9tcF9saWIubW9kIG9t cF9saWJfa2luZHMubW9kIFwKIAlvcGVuYWNjX2xpYi5oIG9wZW5hY2MuZjkwIG9wZW5hY2MubW9k IG9wZW5hY2Nfa2luZHMubW9kCmRpZmYgLS1naXQgYS9saWJnb21wL01ha2VmaWxlLmluIGIvbGli Z29tcC9NYWtlZmlsZS5pbgppbmRleCAyMmNiMjEzNmEwOC4uOGVjZjZkY2YxOTIgMTAwNjQ0Ci0t LSBhL2xpYmdvbXAvTWFrZWZpbGUuaW4KKysrIGIvbGliZ29tcC9NYWtlZmlsZS5pbgpAQCAtMSw3 ICsxLDcgQEAKLSMgTWFrZWZpbGUuaW4gZ2VuZXJhdGVkIGJ5IGF1dG9tYWtlIDEuMTUuMSBmcm9t IE1ha2VmaWxlLmFtLgorIyBNYWtlZmlsZS5pbiBnZW5lcmF0ZWQgYnkgYXV0b21ha2UgMS4xNi4x IGZyb20gTWFrZWZpbGUuYW0uCiAjIEBjb25maWd1cmVfaW5wdXRACiAKLSMgQ29weXJpZ2h0IChD KSAxOTk0LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAo QykgMTk5NC0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAjIFRoaXMgTWFr ZWZpbGUuaW4gaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgog IyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0 LApAQCAtMTYsNyArMTYsNyBAQAogCiAjIFBsdWdpbnMgZm9yIG9mZmxvYWQgZXhlY3V0aW9uLCBN YWtlZmlsZS5hbSBmcmFnbWVudC4KICMKLSMgQ29weXJpZ2h0IChDKSAyMDE0LTIwMjEgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAxNC0yMDIyIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBDb250cmlidXRlZCBieSBNZW50b3IgRW1i ZWRkZWQuCiAjCkBAIC0xNDgsNyArMTQ4LDcgQEAgYW1fX0NPTkZJR19ESVNUQ0xFQU5fRklMRVMg PSBjb25maWcuc3RhdHVzIGNvbmZpZy5jYWNoZSBjb25maWcubG9nIFwKIG1raW5zdGFsbGRpcnMg PSAkKFNIRUxMKSAkKHRvcF9zcmNkaXIpLy4uL21raW5zdGFsbGRpcnMKIENPTkZJR19IRUFERVIg PSBjb25maWcuaAogQ09ORklHX0NMRUFOX0ZJTEVTID0gb21wLmggb21wX2xpYi5oIG9tcF9saWIu ZjkwIGxpYmdvbXBfZi5oIFwKLQlsaWJnb21wLnNwZWMKKwlvbXAtdG9vbHMuaCBvbXBkLXR5cGVz LmggbGliZ29tcC5zcGVjCiBDT05GSUdfQ0xFQU5fVlBBVEhfRklMRVMgPQogYW1fX3ZwYXRoX2Fk al9zZXR1cCA9IHNyY2RpcnN0cmlwPWBlY2hvICIkKHNyY2RpcikiIHwgc2VkICdzfC58LnxnJ2A7 CiBhbV9fdnBhdGhfYWRqID0gY2FzZSAkJHAgaW4gXApAQCAtMjIwLDggKzIyMCwxMSBAQCBhbV9s aWJnb21wX2xhX09CSkVDVFMgPSBhbGxvYy5sbyBhdG9taWMubG8gYmFycmllci5sbyBjcml0aWNh bC5sbyBcCiAJb2FjYy1wYXJhbGxlbC5sbyBvYWNjLWhvc3QubG8gb2FjYy1pbml0LmxvIG9hY2Mt bWVtLmxvIFwKIAlvYWNjLWFzeW5jLmxvIG9hY2MtcGx1Z2luLmxvIG9hY2MtY3VkYS5sbyBwcmlv cml0eV9xdWV1ZS5sbyBcCiAJYWZmaW5pdHktZm10LmxvIHRlYW1zLmxvIGFsbG9jYXRvci5sbyBv YWNjLXByb2ZpbGluZy5sbyBcCi0Jb2FjYy10YXJnZXQubG8gJChhbV9fb2JqZWN0c18xKQorCW9h Y2MtdGFyZ2V0LmxvIG9tcGQtc3VwcG9ydC5sbyAkKGFtX19vYmplY3RzXzEpCiBsaWJnb21wX2xh X09CSkVDVFMgPSAkKGFtX2xpYmdvbXBfbGFfT0JKRUNUUykKK2xpYmdvbXBkX2xhX0xJQkFERCA9 CithbV9saWJnb21wZF9sYV9PQkpFQ1RTID0gb21wZC1pbml0LmxvIG9tcGQtaGVscGVyLmxvCits aWJnb21wZF9sYV9PQkpFQ1RTID0gJChhbV9saWJnb21wZF9sYV9PQkpFQ1RTKQogQU1fVl9QID0g JChhbV9fdl9QX0BBTV9WQCkKIGFtX192X1BfID0gJChhbV9fdl9QX0BBTV9ERUZBVUxUX1ZAKQog YW1fX3ZfUF8wID0gZmFsc2UKQEAgLTIzNiw3ICsyMzksMzQgQEAgYW1fX3ZfYXRfMCA9IEAKIGFt X192X2F0XzEgPSAKIERFRkFVTFRfSU5DTFVERVMgPSAtSS5AYW1fX2lzcmNACiBkZXBjb21wID0g JChTSEVMTCkgJCh0b3Bfc3JjZGlyKS8uLi9kZXBjb21wCi1hbV9fZGVwZmlsZXNfbWF5YmUgPSBk ZXBmaWxlcworYW1fX21heWJlX3JlbWFrZV9kZXBmaWxlcyA9IGRlcGZpbGVzCithbV9fZGVwZmls ZXNfcmVtYWRlID0gLi8kKERFUERJUikvYWZmaW5pdHktZm10LlBsbyBcCisJLi8kKERFUERJUikv YWZmaW5pdHkuUGxvIC4vJChERVBESVIpL2FsbG9jLlBsbyBcCisJLi8kKERFUERJUikvYWxsb2Nh dG9yLlBsbyAuLyQoREVQRElSKS9hdG9taWMuUGxvIFwKKwkuLyQoREVQRElSKS9iYXIuUGxvIC4v JChERVBESVIpL2JhcnJpZXIuUGxvIFwKKwkuLyQoREVQRElSKS9jcml0aWNhbC5QbG8gLi8kKERF UERJUikvZW52LlBsbyBcCisJLi8kKERFUERJUikvZXJyb3IuUGxvIC4vJChERVBESVIpL2ZvcnRy YW4uUGxvIFwKKwkuLyQoREVQRElSKS9pY3YtZGV2aWNlLlBsbyAuLyQoREVQRElSKS9pY3YuUGxv IFwKKwkuLyQoREVQRElSKS9pdGVyLlBsbyAuLyQoREVQRElSKS9pdGVyX3VsbC5QbG8gXAorCS4v JChERVBESVIpL2xpYmdvbXAtcGx1Z2luLlBsbyBcCisJLi8kKERFUERJUikvbGliZ29tcF9wbHVn aW5fZ2NuX2xhLXBsdWdpbi1nY24uUGxvIFwKKwkuLyQoREVQRElSKS9saWJnb21wX3BsdWdpbl9u dnB0eF9sYS1wbHVnaW4tbnZwdHguUGxvIFwKKwkuLyQoREVQRElSKS9sb2NrLlBsbyAuLyQoREVQ RElSKS9sb29wLlBsbyBcCisJLi8kKERFUERJUikvbG9vcF91bGwuUGxvIC4vJChERVBESVIpL211 dGV4LlBsbyBcCisJLi8kKERFUERJUikvb2FjYy1hc3luYy5QbG8gLi8kKERFUERJUikvb2FjYy1j dWRhLlBsbyBcCisJLi8kKERFUERJUikvb2FjYy1ob3N0LlBsbyAuLyQoREVQRElSKS9vYWNjLWlu aXQuUGxvIFwKKwkuLyQoREVQRElSKS9vYWNjLW1lbS5QbG8gLi8kKERFUERJUikvb2FjYy1wYXJh bGxlbC5QbG8gXAorCS4vJChERVBESVIpL29hY2MtcGx1Z2luLlBsbyAuLyQoREVQRElSKS9vYWNj LXByb2ZpbGluZy5QbG8gXAorCS4vJChERVBESVIpL29hY2MtdGFyZ2V0LlBsbyAuLyQoREVQRElS KS9vbXBkLWhlbHBlci5QbG8gXAorCS4vJChERVBESVIpL29tcGQtaW5pdC5QbG8gLi8kKERFUERJ Uikvb21wZC1zdXBwb3J0LlBsbyBcCisJLi8kKERFUERJUikvb3JkZXJlZC5QbG8gLi8kKERFUERJ UikvcGFyYWxsZWwuUGxvIFwKKwkuLyQoREVQRElSKS9wcmlvcml0eV9xdWV1ZS5QbG8gLi8kKERF UERJUikvcHJvYy5QbG8gXAorCS4vJChERVBESVIpL3B0cmxvY2suUGxvIC4vJChERVBESVIpL3Nj b3BlLlBsbyBcCisJLi8kKERFUERJUikvc2VjdGlvbnMuUGxvIC4vJChERVBESVIpL3NlbS5QbG8g XAorCS4vJChERVBESVIpL3NpbmdsZS5QbG8gLi8kKERFUERJUikvc3BsYXktdHJlZS5QbG8gXAor CS4vJChERVBESVIpL3RhcmdldC5QbG8gLi8kKERFUERJUikvdGFzay5QbG8gXAorCS4vJChERVBE SVIpL3RlYW0uUGxvIC4vJChERVBESVIpL3RlYW1zLlBsbyBcCisJLi8kKERFUERJUikvdGltZS5Q bG8gLi8kKERFUERJUikvd29yay5QbG8KIGFtX19tdiA9IG12IC1mCiBDT01QSUxFID0gJChDQykg JChERUZTKSAkKERFRkFVTFRfSU5DTFVERVMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpIFwK IAkkKENQUEZMQUdTKSAkKEFNX0NGTEFHUykgJChDRkxBR1MpCkBAIC0yNjksNyArMjk5LDggQEAg YW1fX3ZfRkNMRF8gPSAkKGFtX192X0ZDTERfQEFNX0RFRkFVTFRfVkApCiBhbV9fdl9GQ0xEXzAg PSBAZWNobyAiICBGQ0xEICAgICIgJEA7CiBhbV9fdl9GQ0xEXzEgPSAKIFNPVVJDRVMgPSAkKGxp YmdvbXBfcGx1Z2luX2djbl9sYV9TT1VSQ0VTKSBcCi0JJChsaWJnb21wX3BsdWdpbl9udnB0eF9s YV9TT1VSQ0VTKSAkKGxpYmdvbXBfbGFfU09VUkNFUykKKwkkKGxpYmdvbXBfcGx1Z2luX252cHR4 X2xhX1NPVVJDRVMpICQobGliZ29tcF9sYV9TT1VSQ0VTKSBcCisJJChsaWJnb21wZF9sYV9TT1VS Q0VTKQogQU1fVl9EVklQUyA9ICQoYW1fX3ZfRFZJUFNfQEFNX1ZAKQogYW1fX3ZfRFZJUFNfID0g JChhbV9fdl9EVklQU19AQU1fREVGQVVMVF9WQCkKIGFtX192X0RWSVBTXzAgPSBAZWNobyAiICBE VklQUyAgICIgJEA7CkBAIC01MDYsNiArNTM3LDcgQEAgcGRmZGlyID0gQHBkZmRpckAKIHByZWZp eCA9IEBwcmVmaXhACiBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lID0gQHByb2dyYW1fdHJhbnNmb3Jt X25hbWVACiBwc2RpciA9IEBwc2RpckAKK3J1bnN0YXRlZGlyID0gQHJ1bnN0YXRlZGlyQAogc2Jp bmRpciA9IEBzYmluZGlyQAogc2hhcmVkc3RhdGVkaXIgPSBAc2hhcmVkc3RhdGVkaXJACiBzcmNk aXIgPSBAc3JjZGlyQApAQCAtNTMzLDcgKzU2NSw4IEBAIGxpYnN1YmluY2x1ZGVkaXIgPSAkKGxp YmRpcikvZ2NjLyQodGFyZ2V0X2FsaWFzKS8kKGdjY192ZXJzaW9uKS9pbmNsdWRlCiBBTV9DUFBG TEFHUyA9ICQoYWRkcHJlZml4IC1JLCAkKHNlYXJjaF9wYXRoKSkKIEFNX0NGTEFHUyA9ICQoWENG TEFHUykKIEFNX0xERkxBR1MgPSAkKFhMREZMQUdTKSAkKFNFQ1RJT05fTERGTEFHUykgJChPUFRf TERGTEFHUykKLXRvb2xleGVjbGliX0xUTElCUkFSSUVTID0gbGliZ29tcC5sYSAkKGFtX19hcHBl bmRfMSkgJChhbV9fYXBwZW5kXzIpCit0b29sZXhlY2xpYl9MVExJQlJBUklFUyA9IGxpYmdvbXAu bGEgbGliZ29tcGQubGEgJChhbV9fYXBwZW5kXzEpIFwKKwkkKGFtX19hcHBlbmRfMikKIG5vZGlz dF90b29sZXhlY2xpYl9IRUFERVJTID0gbGliZ29tcC5zcGVjCiAKICMgLVdjIGlzIG9ubHkgYSBs aWJ0b29sIG9wdGlvbi4KQEAgLTU0MiwxNSArNTc1LDI3IEBAIG5vZGlzdF90b29sZXhlY2xpYl9I RUFERVJTID0gbGliZ29tcC5zcGVjCiBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfRkFM U0VAbGliZ29tcF92ZXJzaW9uX3NjcmlwdCA9IAogQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NI TElCX0dOVV9UUlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQGxpYmdvbXBf dmVyc2lvbl9zY3JpcHQgPSAtV2wsLS12ZXJzaW9uLXNjcmlwdCxsaWJnb21wLnZlcgogQExJQkdP TVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1NVTl9UUlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJT05F RF9TSExJQl9UUlVFQGxpYmdvbXBfdmVyc2lvbl9zY3JpcHQgPSAtV2wsLU0sbGliZ29tcC52ZXIt c3VuCitATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfRkFMU0VAbGliZ29tcGRfdmVyc2lv bl9zY3JpcHQgPSAKK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9HTlVfVFJVRUBATElC R09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUBsaWJnb21wZF92ZXJzaW9uX3NjcmlwdCA9 IC1XbCwtLXZlcnNpb24tc2NyaXB0LGxpYmdvbXBkLnZlcgorQExJQkdPTVBfQlVJTERfVkVSU0lP TkVEX1NITElCX1NVTl9UUlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQGxp YmdvbXBkX3ZlcnNpb25fc2NyaXB0ID0gLVdsLC1NLGxpYmdvbXBkLnZlci1zdW4KIEBMSUJHT01Q X0JVSUxEX1ZFUlNJT05FRF9TSExJQl9GQUxTRUBsaWJnb21wX3ZlcnNpb25fZGVwID0gCiBATElC R09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfR05VX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lP TkVEX1NITElCX1RSVUVAbGliZ29tcF92ZXJzaW9uX2RlcCA9IGxpYmdvbXAudmVyCiBATElCR09N UF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVE X1NITElCX1RSVUVAbGliZ29tcF92ZXJzaW9uX2RlcCA9IGxpYmdvbXAudmVyLXN1bgorQExJQkdP TVBfQlVJTERfVkVSU0lPTkVEX1NITElCX0ZBTFNFQGxpYmdvbXBkX3ZlcnNpb25fZGVwID0gCitA TElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfR05VX1RSVUVAQExJQkdPTVBfQlVJTERfVkVS U0lPTkVEX1NITElCX1RSVUVAbGliZ29tcGRfdmVyc2lvbl9kZXAgPSBsaWJnb21wZC52ZXIKK0BM SUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJT SU9ORURfU0hMSUJfVFJVRUBsaWJnb21wZF92ZXJzaW9uX2RlcCA9IGxpYmdvbXBkLnZlci1zdW4K IGxpYmdvbXBfdmVyc2lvbl9pbmZvID0gLXZlcnNpb24taW5mbyAkKGxpYnRvb2xfVkVSU0lPTikK K2xpYmdvbXBkX3ZlcnNpb25faW5mbyA9IC12ZXJzaW9uLWluZm8gJChsaWJ0b29sX1ZFUlNJT04p CiBsaWJnb21wX2xhX0xERkxBR1MgPSAkKGxpYmdvbXBfdmVyc2lvbl9pbmZvKSAkKGxpYmdvbXBf dmVyc2lvbl9zY3JpcHQpIFwKICAgICAgICAgJChsdF9ob3N0X2ZsYWdzKQogCitsaWJnb21wZF9s YV9MREZMQUdTID0gJChsaWJnb21wZF92ZXJzaW9uX2luZm8pICQobGliZ29tcGRfdmVyc2lvbl9z Y3JpcHQpIFwKKwkJCQkkKGx0X2hvc3RfZmxhZ3MpCisKIGxpYmdvbXBfbGFfREVQRU5ERU5DSUVT ID0gJChsaWJnb21wX3ZlcnNpb25fZGVwKQorbGliZ29tcGRfbGFfREVQRU5ERU5DSUVTID0gJChs aWJnb21wZF92ZXJzaW9uX2RlcCkKIGxpYmdvbXBfbGFfTElOSyA9ICQoTElOSykgJChsaWJnb21w X2xhX0xERkxBR1MpCitsaWJnb21wZF9sYV9MSU5LID0gJChMSU5LKSAkKGxpYmdvbXBkX2xhX0xE RkxBR1MpCiBsaWJnb21wX2xhX1NPVVJDRVMgPSBhbGxvYy5jIGF0b21pYy5jIGJhcnJpZXIuYyBj cml0aWNhbC5jIGVudi5jIFwKIAllcnJvci5jIGljdi5jIGljdi1kZXZpY2UuYyBpdGVyLmMgaXRl cl91bGwuYyBsb29wLmMgbG9vcF91bGwuYyBcCiAJb3JkZXJlZC5jIHBhcmFsbGVsLmMgc2NvcGUu YyBzZWN0aW9ucy5jIHNpbmdsZS5jIHRhc2suYyB0ZWFtLmMgXApAQCAtNTU5LDcgKzYwNCw4IEBA IGxpYmdvbXBfbGFfU09VUkNFUyA9IGFsbG9jLmMgYXRvbWljLmMgYmFycmllci5jIGNyaXRpY2Fs LmMgZW52LmMgXAogCW9hY2MtcGFyYWxsZWwuYyBvYWNjLWhvc3QuYyBvYWNjLWluaXQuYyBvYWNj LW1lbS5jIFwKIAlvYWNjLWFzeW5jLmMgb2FjYy1wbHVnaW4uYyBvYWNjLWN1ZGEuYyBwcmlvcml0 eV9xdWV1ZS5jIFwKIAlhZmZpbml0eS1mbXQuYyB0ZWFtcy5jIGFsbG9jYXRvci5jIG9hY2MtcHJv ZmlsaW5nLmMgXAotCW9hY2MtdGFyZ2V0LmMgJChhbV9fYXBwZW5kXzMpCisJb2FjYy10YXJnZXQu YyBvbXBkLXN1cHBvcnQuYyAkKGFtX19hcHBlbmRfMykKK2xpYmdvbXBkX2xhX1NPVVJDRVMgPSBv bXBkLWluaXQuYyBvbXBkLWhlbHBlci5jCiAKICMgTnZpZGlhIFBUWCBPcGVuQUNDIHBsdWdpbi4K IEBQTFVHSU5fTlZQVFhfVFJVRUBsaWJnb21wX3BsdWdpbl9udnB0eF92ZXJzaW9uX2luZm8gPSAt dmVyc2lvbi1pbmZvICQobGlidG9vbF9WRVJTSU9OKQpAQCAtNTgzLDcgKzYyOSw3IEBAIGxpYmdv bXBfbGFfU09VUkNFUyA9IGFsbG9jLmMgYXRvbWljLmMgYmFycmllci5jIGNyaXRpY2FsLmMgZW52 LmMgXAogQFBMVUdJTl9HQ05fVFJVRUBsaWJnb21wX3BsdWdpbl9nY25fbGFfTElCQUREID0gbGli Z29tcC5sYSAkKFBMVUdJTl9HQ05fTElCUykKIEBQTFVHSU5fR0NOX1RSVUVAbGliZ29tcF9wbHVn aW5fZ2NuX2xhX0xJQlRPT0xGTEFHUyA9IC0tdGFnPWRpc2FibGUtc3RhdGljCiBub2Rpc3Rfbm9p bnN0X0hFQURFUlMgPSBsaWJnb21wX2YuaAotbm9kaXN0X2xpYnN1YmluY2x1ZGVfSEVBREVSUyA9 IG9tcC5oIG9wZW5hY2MuaCBhY2NfcHJvZi5oCitub2Rpc3RfbGlic3ViaW5jbHVkZV9IRUFERVJT ID0gb21wLmggb3BlbmFjYy5oIGFjY19wcm9mLmggb21wLXRvb2xzLmggb21wZC10eXBlcy5oCiBA VVNFX0ZPUlRSQU5fVFJVRUBub2Rpc3RfZmluY2x1ZGVfSEVBREVSUyA9IG9tcF9saWIuaCBvbXBf bGliLmY5MCBvbXBfbGliLm1vZCBvbXBfbGliX2tpbmRzLm1vZCBcCiBAVVNFX0ZPUlRSQU5fVFJV RUAJb3BlbmFjY19saWIuaCBvcGVuYWNjLmY5MCBvcGVuYWNjLm1vZCBvcGVuYWNjX2tpbmRzLm1v ZAogCkBAIC02NDQsOCArNjkwLDggQEAgTWFrZWZpbGU6ICQoc3JjZGlyKS9NYWtlZmlsZS5pbiAk KHRvcF9idWlsZGRpcikvY29uZmlnLnN0YXR1cwogCSAgICBlY2hvICcgJChTSEVMTCkgLi9jb25m aWcuc3RhdHVzJzsgXAogCSAgICAkKFNIRUxMKSAuL2NvbmZpZy5zdGF0dXM7OyBcCiAJICAqKSBc Ci0JICAgIGVjaG8gJyBjZCAkKHRvcF9idWlsZGRpcikgJiYgJChTSEVMTCkgLi9jb25maWcuc3Rh dHVzICRAICQoYW1fX2RlcGZpbGVzX21heWJlKSc7IFwKLQkgICAgY2QgJCh0b3BfYnVpbGRkaXIp ICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkQCAkKGFtX19kZXBmaWxlc19tYXliZSk7OyBc CisJICAgIGVjaG8gJyBjZCAkKHRvcF9idWlsZGRpcikgJiYgJChTSEVMTCkgLi9jb25maWcuc3Rh dHVzICRAICQoYW1fX21heWJlX3JlbWFrZV9kZXBmaWxlcyknOyBcCisJICAgIGNkICQodG9wX2J1 aWxkZGlyKSAmJiAkKFNIRUxMKSAuL2NvbmZpZy5zdGF0dXMgJEAgJChhbV9fbWF5YmVfcmVtYWtl X2RlcGZpbGVzKTs7IFwKIAllc2FjOwogJCh0b3Bfc3JjZGlyKS9wbHVnaW4vTWFrZWZyYWcuYW0g JCh0b3Bfc3JjZGlyKS8uLi9tdWx0aWxpYi5hbSAkKGFtX19lbXB0eSk6CiAKQEAgLTY4MCw2ICs3 MjYsMTAgQEAgb21wX2xpYi5mOTA6ICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzICQoc3Jj ZGlyKS9vbXBfbGliLmY5MC5pbgogCWNkICQodG9wX2J1aWxkZGlyKSAmJiAkKFNIRUxMKSAuL2Nv bmZpZy5zdGF0dXMgJEAKIGxpYmdvbXBfZi5oOiAkKHRvcF9idWlsZGRpcikvY29uZmlnLnN0YXR1 cyAkKHNyY2RpcikvbGliZ29tcF9mLmguaW4KIAljZCAkKHRvcF9idWlsZGRpcikgJiYgJChTSEVM TCkgLi9jb25maWcuc3RhdHVzICRACitvbXAtdG9vbHMuaDogJCh0b3BfYnVpbGRkaXIpL2NvbmZp Zy5zdGF0dXMgJChzcmNkaXIpL29tcC10b29scy5oLmluCisJY2QgJCh0b3BfYnVpbGRkaXIpICYm ICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkQAorb21wZC10eXBlcy5oOiAkKHRvcF9idWlsZGRp cikvY29uZmlnLnN0YXR1cyAkKHNyY2Rpcikvb21wZC10eXBlcy5oLmluCisJY2QgJCh0b3BfYnVp bGRkaXIpICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkQAogbGliZ29tcC5zcGVjOiAkKHRv cF9idWlsZGRpcikvY29uZmlnLnN0YXR1cyAkKHNyY2RpcikvbGliZ29tcC5zcGVjLmluCiAJY2Qg JCh0b3BfYnVpbGRkaXIpICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkQAogCkBAIC03Mjcs NTkgKzc3Nyw3MSBAQCBsaWJnb21wLXBsdWdpbi1udnB0eC5sYTogJChsaWJnb21wX3BsdWdpbl9u dnB0eF9sYV9PQkpFQ1RTKSAkKGxpYmdvbXBfcGx1Z2luX252cAogbGliZ29tcC5sYTogJChsaWJn b21wX2xhX09CSkVDVFMpICQobGliZ29tcF9sYV9ERVBFTkRFTkNJRVMpICQoRVhUUkFfbGliZ29t cF9sYV9ERVBFTkRFTkNJRVMpIAogCSQoQU1fVl9HRU4pJChsaWJnb21wX2xhX0xJTkspIC1ycGF0 aCAkKHRvb2xleGVjbGliZGlyKSAkKGxpYmdvbXBfbGFfT0JKRUNUUykgJChsaWJnb21wX2xhX0xJ QkFERCkgJChMSUJTKQogCitsaWJnb21wZC5sYTogJChsaWJnb21wZF9sYV9PQkpFQ1RTKSAkKGxp YmdvbXBkX2xhX0RFUEVOREVOQ0lFUykgJChFWFRSQV9saWJnb21wZF9sYV9ERVBFTkRFTkNJRVMp IAorCSQoQU1fVl9HRU4pJChsaWJnb21wZF9sYV9MSU5LKSAtcnBhdGggJCh0b29sZXhlY2xpYmRp cikgJChsaWJnb21wZF9sYV9PQkpFQ1RTKSAkKGxpYmdvbXBkX2xhX0xJQkFERCkgJChMSUJTKQor CiBtb3N0bHljbGVhbi1jb21waWxlOgogCS1ybSAtZiAqLiQoT0JKRVhUKQogCiBkaXN0Y2xlYW4t Y29tcGlsZToKIAktcm0gLWYgKi50YWIuYwogCi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBh bV9fcXVvdGVALi8kKERFUERJUikvYWZmaW5pdHktZm10LlBsb0BhbV9fcXVvdGVACi1AQU1ERVBf VFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvYWZmaW5pdHkuUGxvQGFt X19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElS KS9hbGxvYy5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1 b3RlQC4vJChERVBESVIpL2FsbG9jYXRvci5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFt X19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2F0b21pYy5QbG9AYW1fX3F1b3RlQAot QEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2Jhci5QbG9A YW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBE SVIpL2JhcnJpZXIuUGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFt X19xdW90ZUAuLyQoREVQRElSKS9jcml0aWNhbC5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVA QGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2Vudi5QbG9AYW1fX3F1b3RlQAot QEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2Vycm9yLlBs b0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERF UERJUikvZm9ydHJhbi5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBA YW1fX3F1b3RlQC4vJChERVBESVIpL2ljdi1kZXZpY2UuUGxvQGFtX19xdW90ZUAKLUBBTURFUF9U UlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9pY3YuUGxvQGFtX19xdW90 ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9pdGVy LlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8k KERFUERJUikvaXRlcl91bGwuUGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVk ZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9saWJnb21wLXBsdWdpbi5QbG9AYW1fX3F1b3RlQAot QEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2xpYmdvbXBf cGx1Z2luX2djbl9sYS1wbHVnaW4tZ2NuLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1f X2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvbGliZ29tcF9wbHVnaW5fbnZwdHhfbGEt cGx1Z2luLW52cHR4LlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBh bV9fcXVvdGVALi8kKERFUERJUikvbG9jay5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFt X19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2xvb3AuUGxvQGFtX19xdW90ZUAKLUBB TURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9sb29wX3VsbC5Q bG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChE RVBESVIpL211dGV4LlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBh bV9fcXVvdGVALi8kKERFUERJUikvb2FjYy1hc3luYy5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RS VUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29hY2MtY3VkYS5QbG9AYW1f X3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIp L29hY2MtaG9zdC5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1f X3F1b3RlQC4vJChERVBESVIpL29hY2MtaW5pdC5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVA QGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29hY2MtbWVtLlBsb0BhbV9fcXVv dGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb2Fj Yy1wYXJhbGxlbC5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1f X3F1b3RlQC4vJChERVBESVIpL29hY2MtcGx1Z2luLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJV RUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb2FjYy1wcm9maWxpbmcuUGxv QGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQ RElSKS9vYWNjLXRhcmdldC5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRl QCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29yZGVyZWQuUGxvQGFtX19xdW90ZUAKLUBBTURFUF9U UlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9wYXJhbGxlbC5QbG9AYW1f X3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIp L3ByaW9yaXR5X3F1ZXVlLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVA IEBhbV9fcXVvdGVALi8kKERFUERJUikvcHJvYy5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVA QGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3B0cmxvY2suUGxvQGFtX19xdW90 ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9zY29w ZS5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4v JChERVBESVIpL3NlY3Rpb25zLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1 ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc2VtLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJV RUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc2luZ2xlLlBsb0BhbV9fcXVv dGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc3Bs YXktdHJlZS5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1 b3RlQC4vJChERVBESVIpL3RhcmdldC5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19p bmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3Rhc2suUGxvQGFtX19xdW90ZUAKLUBBTURF UF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS90ZWFtLlBsb0BhbV9f cXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikv dGVhbXMuUGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90 ZUAuLyQoREVQRElSKS90aW1lLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1 ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvd29yay5QbG9AYW1fX3F1b3RlQAorQEFNREVQX1RS VUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2FmZmluaXR5LWZtdC5QbG9A YW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRl QCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2FmZmluaXR5LlBsb0BhbV9fcXVvdGVAICMgYW0tLWlu Y2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERF UERJUikvYWxsb2MuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9U UlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9hbGxvY2F0b3IuUGxvQGFt X19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAg QGFtX19xdW90ZUAuLyQoREVQRElSKS9hdG9taWMuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVk ZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElS KS9iYXIuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBh bV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9iYXJyaWVyLlBsb0BhbV9fcXVvdGVA ICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVv dGVALi8kKERFUERJUikvY3JpdGljYWwuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJr ZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9lbnYu UGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5j bHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9lcnJvci5QbG9AYW1fX3F1b3RlQCAjIGFtLS1p bmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChE RVBESVIpL2ZvcnRyYW4uUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURF UF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9pY3YtZGV2aWNlLlBs b0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1 ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvaWN2LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1 ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJ UikvaXRlci5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVA QGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2l0ZXJfdWxsLlBsb0BhbV9fcXVv dGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9f cXVvdGVALi8kKERFUERJUikvbGliZ29tcC1wbHVnaW4uUGxvQGFtX19xdW90ZUAgIyBhbS0taW5j bHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQ RElSKS9saWJnb21wX3BsdWdpbl9nY25fbGEtcGx1Z2luLWdjbi5QbG9AYW1fX3F1b3RlQCAjIGFt LS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4v JChERVBESVIpL2xpYmdvbXBfcGx1Z2luX252cHR4X2xhLXBsdWdpbi1udnB0eC5QbG9AYW1fX3F1 b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1f X3F1b3RlQC4vJChERVBESVIpL2xvY2suUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJr ZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9sb29w LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2lu Y2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvbG9vcF91bGwuUGxvQGFtX19xdW90ZUAgIyBh bS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAu LyQoREVQRElSKS9tdXRleC5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFN REVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29hY2MtYXN5bmMu UGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5j bHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9vYWNjLWN1ZGEuUGxvQGFtX19xdW90ZUAgIyBh bS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAu LyQoREVQRElSKS9vYWNjLWhvc3QuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIK K0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9vYWNjLWlu aXQuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9f aW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9vYWNjLW1lbS5QbG9AYW1fX3F1b3RlQCAj IGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3Rl QC4vJChERVBESVIpL29hY2MtcGFyYWxsZWwuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1t YXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9v YWNjLXBsdWdpbi5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RS VUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29hY2MtcHJvZmlsaW5nLlBs b0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1 ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb2FjYy10YXJnZXQuUGxvQGFtX19xdW90ZUAgIyBh bS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAu LyQoREVQRElSKS9vbXBkLWhlbHBlci5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtl cgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29tcGQt aW5pdC5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFt X19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29tcGQtc3VwcG9ydC5QbG9AYW1fX3F1 b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1f X3F1b3RlQC4vJChERVBESVIpL29yZGVyZWQuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1t YXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9w YXJhbGxlbC5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVA QGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3ByaW9yaXR5X3F1ZXVlLlBsb0Bh bV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVA IEBhbV9fcXVvdGVALi8kKERFUERJUikvcHJvYy5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRl LW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIp L3B0cmxvY2suUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVF QEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9zY29wZS5QbG9AYW1fX3F1b3Rl QCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1 b3RlQC4vJChERVBESVIpL3NlY3Rpb25zLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFy a2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc2Vt LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2lu Y2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc2luZ2xlLlBsb0BhbV9fcXVvdGVAICMgYW0t LWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8k KERFUERJUikvc3BsYXktdHJlZS5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgor QEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3RhcmdldC5Q bG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNs dWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3Rhc2suUGxvQGFtX19xdW90ZUAgIyBhbS0taW5j bHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQ RElSKS90ZWFtLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJV RUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvdGVhbXMuUGxvQGFtX19xdW90 ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19x dW90ZUAuLyQoREVQRElSKS90aW1lLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2Vy CitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvd29yay5Q bG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorCiskKGFtX19kZXBmaWxlc19yZW1h ZGUpOgorCUAkKE1LRElSX1ApICQoQEQpCisJQGVjaG8gJyMgZHVtbXknID4kQC10ICYmICQoYW1f X212KSAkQC10ICRACisKK2FtLS1kZXBmaWxlczogJChhbV9fZGVwZmlsZXNfcmVtYWRlKQogCiAu Yy5vOgogQGFtX19mYXN0ZGVwQ0NfVFJVRUAJJChBTV9WX0NDKSQoQ09NUElMRSkgLU1UICRAIC1N RCAtTVAgLU1GICQoREVQRElSKS8kKi5UcG8gLWMgLW8gJEAgJDwKQEAgLTExNjUsNyArMTIyNyw1 NiBAQCBjbGVhbi1hbTogY2xlYW4tYW1pbmZvIGNsZWFuLWdlbmVyaWMgY2xlYW4tbGlidG9vbCBj bGVhbi1sb2NhbCBcCiAKIGRpc3RjbGVhbjogZGlzdGNsZWFuLXJlY3Vyc2l2ZQogCS1ybSAtZiAk KGFtX19DT05GSUdfRElTVENMRUFOX0ZJTEVTKQotCS1ybSAtcmYgLi8kKERFUERJUikKKwkJLXJt IC1mIC4vJChERVBESVIpL2FmZmluaXR5LWZtdC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvYWZm aW5pdHkuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2FsbG9jLlBsbworCS1ybSAtZiAuLyQoREVQ RElSKS9hbGxvY2F0b3IuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2F0b21pYy5QbG8KKwktcm0g LWYgLi8kKERFUERJUikvYmFyLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9iYXJyaWVyLlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9jcml0aWNhbC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvZW52 LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9lcnJvci5QbG8KKwktcm0gLWYgLi8kKERFUERJUikv Zm9ydHJhbi5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvaWN2LWRldmljZS5QbG8KKwktcm0gLWYg Li8kKERFUERJUikvaWN2LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9pdGVyLlBsbworCS1ybSAt ZiAuLyQoREVQRElSKS9pdGVyX3VsbC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvbGliZ29tcC1w bHVnaW4uUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2xpYmdvbXBfcGx1Z2luX2djbl9sYS1wbHVn aW4tZ2NuLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9saWJnb21wX3BsdWdpbl9udnB0eF9sYS1w bHVnaW4tbnZwdHguUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2xvY2suUGxvCisJLXJtIC1mIC4v JChERVBESVIpL2xvb3AuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2xvb3BfdWxsLlBsbworCS1y bSAtZiAuLyQoREVQRElSKS9tdXRleC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvb2FjYy1hc3lu Yy5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvb2FjYy1jdWRhLlBsbworCS1ybSAtZiAuLyQoREVQ RElSKS9vYWNjLWhvc3QuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2MtaW5pdC5QbG8KKwkt cm0gLWYgLi8kKERFUERJUikvb2FjYy1tZW0uUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2Mt cGFyYWxsZWwuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2MtcGx1Z2luLlBsbworCS1ybSAt ZiAuLyQoREVQRElSKS9vYWNjLXByb2ZpbGluZy5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvb2Fj Yy10YXJnZXQuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29tcGQtaGVscGVyLlBsbworCS1ybSAt ZiAuLyQoREVQRElSKS9vbXBkLWluaXQuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29tcGQtc3Vw cG9ydC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvb3JkZXJlZC5QbG8KKwktcm0gLWYgLi8kKERF UERJUikvcGFyYWxsZWwuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3ByaW9yaXR5X3F1ZXVlLlBs bworCS1ybSAtZiAuLyQoREVQRElSKS9wcm9jLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9wdHJs b2NrLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9zY29wZS5QbG8KKwktcm0gLWYgLi8kKERFUERJ Uikvc2VjdGlvbnMuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3NlbS5QbG8KKwktcm0gLWYgLi8k KERFUERJUikvc2luZ2xlLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9zcGxheS10cmVlLlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS90YXJnZXQuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3Rhc2su UGxvCisJLXJtIC1mIC4vJChERVBESVIpL3RlYW0uUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3Rl YW1zLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS90aW1lLlBsbworCS1ybSAtZiAuLyQoREVQRElS KS93b3JrLlBsbwogCS1ybSAtZiBNYWtlZmlsZQogZGlzdGNsZWFuLWFtOiBjbGVhbi1hbSBkaXN0 Y2xlYW4tY29tcGlsZSBkaXN0Y2xlYW4tZ2VuZXJpYyBcCiAJZGlzdGNsZWFuLWhkciBkaXN0Y2xl YW4tbGlidG9vbCBkaXN0Y2xlYW4tbG9jYWwgZGlzdGNsZWFuLXRhZ3MKQEAgLTEzMDYsNyArMTQx Nyw1NiBAQCBpbnN0YWxsY2hlY2stYW06CiBtYWludGFpbmVyLWNsZWFuOiBtYWludGFpbmVyLWNs ZWFuLXJlY3Vyc2l2ZQogCS1ybSAtZiAkKGFtX19DT05GSUdfRElTVENMRUFOX0ZJTEVTKQogCS1y bSAtcmYgJCh0b3Bfc3JjZGlyKS9hdXRvbTR0ZS5jYWNoZQotCS1ybSAtcmYgLi8kKERFUERJUikK KwkJLXJtIC1mIC4vJChERVBESVIpL2FmZmluaXR5LWZtdC5QbG8KKwktcm0gLWYgLi8kKERFUERJ UikvYWZmaW5pdHkuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2FsbG9jLlBsbworCS1ybSAtZiAu LyQoREVQRElSKS9hbGxvY2F0b3IuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2F0b21pYy5QbG8K Kwktcm0gLWYgLi8kKERFUERJUikvYmFyLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9iYXJyaWVy LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9jcml0aWNhbC5QbG8KKwktcm0gLWYgLi8kKERFUERJ UikvZW52LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9lcnJvci5QbG8KKwktcm0gLWYgLi8kKERF UERJUikvZm9ydHJhbi5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvaWN2LWRldmljZS5QbG8KKwkt cm0gLWYgLi8kKERFUERJUikvaWN2LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9pdGVyLlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9pdGVyX3VsbC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvbGli Z29tcC1wbHVnaW4uUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2xpYmdvbXBfcGx1Z2luX2djbl9s YS1wbHVnaW4tZ2NuLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9saWJnb21wX3BsdWdpbl9udnB0 eF9sYS1wbHVnaW4tbnZwdHguUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2xvY2suUGxvCisJLXJt IC1mIC4vJChERVBESVIpL2xvb3AuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2xvb3BfdWxsLlBs bworCS1ybSAtZiAuLyQoREVQRElSKS9tdXRleC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvb2Fj Yy1hc3luYy5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvb2FjYy1jdWRhLlBsbworCS1ybSAtZiAu LyQoREVQRElSKS9vYWNjLWhvc3QuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2MtaW5pdC5Q bG8KKwktcm0gLWYgLi8kKERFUERJUikvb2FjYy1tZW0uUGxvCisJLXJtIC1mIC4vJChERVBESVIp L29hY2MtcGFyYWxsZWwuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2MtcGx1Z2luLlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9vYWNjLXByb2ZpbGluZy5QbG8KKwktcm0gLWYgLi8kKERFUERJ Uikvb2FjYy10YXJnZXQuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29tcGQtaGVscGVyLlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9vbXBkLWluaXQuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29t cGQtc3VwcG9ydC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvb3JkZXJlZC5QbG8KKwktcm0gLWYg Li8kKERFUERJUikvcGFyYWxsZWwuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3ByaW9yaXR5X3F1 ZXVlLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9wcm9jLlBsbworCS1ybSAtZiAuLyQoREVQRElS KS9wdHJsb2NrLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9zY29wZS5QbG8KKwktcm0gLWYgLi8k KERFUERJUikvc2VjdGlvbnMuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3NlbS5QbG8KKwktcm0g LWYgLi8kKERFUERJUikvc2luZ2xlLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9zcGxheS10cmVl LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS90YXJnZXQuUGxvCisJLXJtIC1mIC4vJChERVBESVIp L3Rhc2suUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3RlYW0uUGxvCisJLXJtIC1mIC4vJChERVBE SVIpL3RlYW1zLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS90aW1lLlBsbworCS1ybSAtZiAuLyQo REVQRElSKS93b3JrLlBsbwogCS1ybSAtZiBNYWtlZmlsZQogbWFpbnRhaW5lci1jbGVhbi1hbTog ZGlzdGNsZWFuLWFtIG1haW50YWluZXItY2xlYW4tYW1pbmZvIFwKIAltYWludGFpbmVyLWNsZWFu LWdlbmVyaWMgbWFpbnRhaW5lci1jbGVhbi1sb2NhbApAQCAtMTMzMyw4ICsxNDkzLDggQEAgdW5p bnN0YWxsLWFtOiB1bmluc3RhbGwtZHZpLWFtIHVuaW5zdGFsbC1odG1sLWFtIHVuaW5zdGFsbC1p bmZvLWFtIFwKIC5NQUtFOiAkKGFtX19yZWN1cnNpdmVfdGFyZ2V0cykgYWxsIGluc3RhbGwtYW0g aW5zdGFsbC1zdHJpcAogCiAuUEhPTlk6ICQoYW1fX3JlY3Vyc2l2ZV90YXJnZXRzKSBDVEFHUyBH VEFHUyBUQUdTIGFsbCBhbGwtYW0gYWxsLWxvY2FsIFwKLQlhbS0tcmVmcmVzaCBjaGVjayBjaGVj ay1hbSBjbGVhbiBjbGVhbi1hbWluZm8gY2xlYW4tY3Njb3BlIFwKLQljbGVhbi1nZW5lcmljIGNs ZWFuLWxpYnRvb2wgY2xlYW4tbG9jYWwgXAorCWFtLS1kZXBmaWxlcyBhbS0tcmVmcmVzaCBjaGVj ayBjaGVjay1hbSBjbGVhbiBjbGVhbi1hbWluZm8gXAorCWNsZWFuLWNzY29wZSBjbGVhbi1nZW5l cmljIGNsZWFuLWxpYnRvb2wgY2xlYW4tbG9jYWwgXAogCWNsZWFuLXRvb2xleGVjbGliTFRMSUJS QVJJRVMgY3Njb3BlIGNzY29wZWxpc3QtYW0gY3RhZ3MgXAogCWN0YWdzLWFtIGRpc3QtaW5mbyBk aXN0Y2xlYW4gZGlzdGNsZWFuLWNvbXBpbGUgXAogCWRpc3RjbGVhbi1nZW5lcmljIGRpc3RjbGVh bi1oZHIgZGlzdGNsZWFuLWxpYnRvb2wgXApAQCAtMTM2Niw2ICsxNTI2LDEwIEBAIHZwYXRoICUg JChzdHJpcCAkKHNlYXJjaF9wYXRoKSkKIEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9U UlVFQGxpYmdvbXAudmVyOiAkKHRvcF9zcmNkaXIpL2xpYmdvbXAubWFwCiBATElCR09NUF9CVUlM RF9WRVJTSU9ORURfU0hMSUJfVFJVRUAJJChFR1JFUCkgLXYgJyMoI3wgfCQkKScgJDwgfCBcCiBA TElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUAJICAkKFBSRVBST0NFU1MpIC1QIC1p bmNsdWRlIGNvbmZpZy5oIC0gPiAkQCB8fCAocm0gLWYgJEAgOyBleGl0IDEpCisKK0BMSUJHT01Q X0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQGxpYmdvbXBkLnZlcjogJCh0b3Bfc3JjZGlyKS9s aWJnb21wZC5tYXAKK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQAkkKEVHUkVQ KSAtdiAnIygjfCB8JCQpJyAkPCB8IFwKK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9U UlVFQAkJJChQUkVQUk9DRVNTKSAtUCAtaW5jbHVkZSBjb25maWcuaCAtID4gJEAgfHwgKHJtIC1m ICRAIDsgZXhpdCAxKQogQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1NVTl9UUlVFQEBM SUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQGxpYmdvbXAudmVyLXN1biA6IGxpYmdv bXAudmVyIFwKIEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09N UF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUAJCSQodG9wX3NyY2RpcikvLi4vY29udHJpYi9t YWtlX3N1bnZlci5wbCBcCiBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfU1VOX1RSVUVA QExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVACQkkKGxpYmdvbXBfbGFfT0JKRUNU UykgJChsaWJnb21wX2xhX0xJQkFERCkKQEAgLTEzNzYsNiArMTU0MCwxNiBAQCB2cGF0aCAlICQo c3RyaXAgJChzZWFyY2hfcGF0aCkpCiBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfU1VO X1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVACSAgICBzZWQgJ3MsL1wo W14vLl0qXClcLmxhLC8ubGlicy9cMS5hLGcnYCBcCiBATElCR09NUF9CVUlMRF9WRVJTSU9ORURf U0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVACSA+ICRA IHx8IChybSAtZiAkQCA7IGV4aXQgMSkKIAorQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElC X1NVTl9UUlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQGxpYmdvbXBkLnZl ci1zdW4gOiBsaWJnb21wZC52ZXIgXAorQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1NV Tl9UUlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQAkJJCh0b3Bfc3JjZGly KS8uLi9jb250cmliL21ha2Vfc3VudmVyLnBsIFwKK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9T SExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUAJCSQobGli Z29tcGRfbGFfT0JKRUNUUykgJChsaWJnb21wZF9sYV9MSUJBREQpCitATElCR09NUF9CVUlMRF9W RVJTSU9ORURfU0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RS VUVACXBlcmwgJCh0b3Bfc3JjZGlyKS8uLi9jb250cmliL21ha2Vfc3VudmVyLnBsIFwKK0BMSUJH T01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJTSU9O RURfU0hMSUJfVFJVRUAJCWxpYmdvbXBkLnZlciBcCitATElCR09NUF9CVUlMRF9WRVJTSU9ORURf U0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVACQkkKGxp YmdvbXBkX2xhX09CSkVDVFM6JS5sbz0ubGlicy8lLm8pIFwKK0BMSUJHT01QX0JVSUxEX1ZFUlNJ T05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUAJ CWBlY2hvICQobGliZ29tcGRfbGFfTElCQUREKSB8IFwKK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05F RF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUAJCQlz ZWQgJ3MsL1woW14vLl0qXClcLmxhLC8ubGlicy9cMS5hLGcnYCBcCitATElCR09NUF9CVUlMRF9W RVJTSU9ORURfU0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RS VUVACQk+ICRAIHx8IChybSAtZiAkQCA7IGV4aXQgMSkKKwogb21wX2xpYl9raW5kcy5tb2Q6IG9t cF9saWIubW9kCiAJOgogb3BlbmFjY19raW5kcy5tb2Q6IG9wZW5hY2MubW9kCmRpZmYgLS1naXQg YS9saWJnb21wL2FjbG9jYWwubTQgYi9saWJnb21wL2FjbG9jYWwubTQKaW5kZXggNTVkOWQ3MTg5 NWEuLjQ3MTk2M2JmNjA3IDEwMDY0NAotLS0gYS9saWJnb21wL2FjbG9jYWwubTQKKysrIGIvbGli Z29tcC9hY2xvY2FsLm00CkBAIC0xLDYgKzEsNiBAQAotIyBnZW5lcmF0ZWQgYXV0b21hdGljYWxs eSBieSBhY2xvY2FsIDEuMTUuMSAtKi0gQXV0b2NvbmYgLSotCisjIGdlbmVyYXRlZCBhdXRvbWF0 aWNhbGx5IGJ5IGFjbG9jYWwgMS4xNi4xIC0qLSBBdXRvY29uZiAtKi0KIAotIyBDb3B5cmlnaHQg KEMpIDE5OTYtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0 IChDKSAxOTk2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICMgVGhpcyBm aWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2 ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAg LTIwLDcgKzIwLDcgQEAgWW91IGhhdmUgYW5vdGhlciB2ZXJzaW9uIG9mIGF1dG9jb25mLiAgSXQg bWF5IHdvcmssIGJ1dCBpcyBub3QgZ3VhcmFudGVlZCB0by4KIElmIHlvdSBoYXZlIHByb2JsZW1z LCB5b3UgbWF5IG5lZWQgdG8gcmVnZW5lcmF0ZSB0aGUgYnVpbGQgc3lzdGVtIGVudGlyZWx5Lgog VG8gZG8gc28sIHVzZSB0aGUgcHJvY2VkdXJlIGRvY3VtZW50ZWQgYnkgdGhlIHBhY2thZ2UsIHR5 cGljYWxseSAnYXV0b3JlY29uZicuXSldKQogCi0jIENvcHlyaWdodCAoQykgMjAwMi0yMDE3IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDItMjAxOCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29m dHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBl cm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTMyLDEwICszMiwxMCBA QCBUbyBkbyBzbywgdXNlIHRoZSBwcm9jZWR1cmUgZG9jdW1lbnRlZCBieSB0aGUgcGFja2FnZSwg dHlwaWNhbGx5ICdhdXRvcmVjb25mJy5dKQogIyBnZW5lcmF0ZWQgZnJvbSB0aGUgbTQgZmlsZXMg YWNjb21wYW55aW5nIEF1dG9tYWtlIFguWS4KICMgKFRoaXMgcHJpdmF0ZSBtYWNybyBzaG91bGQg bm90IGJlIGNhbGxlZCBvdXRzaWRlIHRoaXMgZmlsZS4pCiBBQ19ERUZVTihbQU1fQVVUT01BS0Vf VkVSU0lPTl0sCi1bYW1fX2FwaV92ZXJzaW9uPScxLjE1JworW2FtX19hcGlfdmVyc2lvbj0nMS4x NicKIGRubCBTb21lIHVzZXJzIGZpbmQgQU1fQVVUT01BS0VfVkVSU0lPTiBhbmQgbWlzdGFrZSBp dCBmb3IgYSB3YXkgdG8KIGRubCByZXF1aXJlIHNvbWUgbWluaW11bSB2ZXJzaW9uLiAgUG9pbnQg dGhlbSB0byB0aGUgcmlnaHQgbWFjcm8uCi1tNF9pZihbJDFdLCBbMS4xNS4xXSwgW10sCittNF9p ZihbJDFdLCBbMS4xNi4xXSwgW10sCiAgICAgICBbQUNfRkFUQUwoW0RvIG5vdCBjYWxsICQwLCB1 c2UgQU1fSU5JVF9BVVRPTUFLRShbJDFdKS5dKV0pZG5sCiBdKQogCkBAIC01MSwxNCArNTEsMTQg QEAgbTRfZGVmaW5lKFtfQU1fQVVUT0NPTkZfVkVSU0lPTl0sIFtdKQogIyBDYWxsIEFNX0FVVE9N QUtFX1ZFUlNJT04gYW5kIEFNX0FVVE9NQUtFX1ZFUlNJT04gc28gdGhleSBjYW4gYmUgdHJhY2Vk LgogIyBUaGlzIGZ1bmN0aW9uIGlzIEFDX1JFUVVJUkVkIGJ5IEFNX0lOSVRfQVVUT01BS0UuCiBB Q19ERUZVTihbQU1fU0VUX0NVUlJFTlRfQVVUT01BS0VfVkVSU0lPTl0sCi1bQU1fQVVUT01BS0Vf VkVSU0lPTihbMS4xNS4xXSlkbmwKK1tBTV9BVVRPTUFLRV9WRVJTSU9OKFsxLjE2LjFdKWRubAog bTRfaWZuZGVmKFtBQ19BVVRPQ09ORl9WRVJTSU9OXSwKICAgW200X2NvcHkoW200X1BBQ0tBR0Vf VkVSU0lPTl0sIFtBQ19BVVRPQ09ORl9WRVJTSU9OXSldKWRubAogX0FNX0FVVE9DT05GX1ZFUlNJ T04obTRfZGVmbihbQUNfQVVUT0NPTkZfVkVSU0lPTl0pKV0pCiAKICMgQU1fQVVYX0RJUl9FWFBB TkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAt Ki0KIAotIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29y IGRpc3RyaWJ1dGUgaXQsCkBAIC0xMTAsNyArMTEwLDcgQEAgYW1fYXV4X2Rpcj1gY2QgIiRhY19h dXhfZGlyIiAmJiBwd2RgCiAKICMgQU1fQ09ORElUSU9OQUwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KIAotIyBDb3B5cmlnaHQgKEMp IDE5OTctMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChD KSAxOTk3LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmls ZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVz IHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0x NDEsNyArMTQxLDcgQEAgQUNfQ09ORklHX0NPTU1BTkRTX1BSRSgKIFVzdWFsbHkgdGhpcyBtZWFu cyB0aGUgbWFjcm8gd2FzIG9ubHkgaW52b2tlZCBjb25kaXRpb25hbGx5Ll1dKQogZmldKV0pCiAK LSMgQ29weXJpZ2h0IChDKSAxOTk5LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisjIENvcHlyaWdodCAoQykgMTk5OS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0 cmlidXRlIGl0LApAQCAtMzMyLDEzICszMzIsMTIgQEAgX0FNX1NVQlNUX05PVE1BS0UoW2FtX19u b2RlcF0pZG5sCiAKICMgR2VuZXJhdGUgY29kZSB0byBzZXQgdXAgZGVwZW5kZW5jeSB0cmFja2lu Zy4gICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KIAotIyBDb3B5cmlnaHQgKEMpIDE5OTkt MjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk5 LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBm cmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGlt aXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCiAjIHdpdGggb3Ig d2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZl ZC4KIAotCiAjIF9BTV9PVVRQVVRfREVQRU5ERU5DWV9DT01NQU5EUwogIyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIEFDX0RFRlVOKFtfQU1fT1VUUFVUX0RFUEVOREVOQ1lfQ09NTUFO RFNdLApAQCAtMzQ2LDQ5ICszNDUsNDEgQEAgQUNfREVGVU4oW19BTV9PVVRQVVRfREVQRU5ERU5D WV9DT01NQU5EU10sCiAgICMgT2xkZXIgQXV0b2NvbmYgcXVvdGVzIC0tZmlsZSBhcmd1bWVudHMg Zm9yIGV2YWwsIGJ1dCBub3Qgd2hlbiBmaWxlcwogICAjIGFyZSBsaXN0ZWQgd2l0aG91dCAtLWZp bGUuICBMZXQncyBwbGF5IHNhZmUgYW5kIG9ubHkgZW5hYmxlIHRoZSBldmFsCiAgICMgaWYgd2Ug ZGV0ZWN0IHRoZSBxdW90aW5nLgotICBjYXNlICRDT05GSUdfRklMRVMgaW4KLSAgKlwnKikgZXZh bCBzZXQgeCAiJENPTkZJR19GSUxFUyIgOzsKLSAgKikgICBzZXQgeCAkQ09ORklHX0ZJTEVTIDs7 Ci0gIGVzYWMKKyAgIyBUT0RPOiBzZWUgd2hldGhlciB0aGlzIGV4dHJhIGhhY2sgY2FuIGJlIHJl bW92ZWQgb25jZSB3ZSBzdGFydAorICAjIHJlcXVpcmluZyBBdXRvY29uZiAyLjcwIG9yIGxhdGVy LgorICBBU19DQVNFKFskQ09ORklHX0ZJTEVTXSwKKyAgICAgICAgICBbKlwnKl0sIFtldmFsIHNl dCB4ICIkQ09ORklHX0ZJTEVTIl0sCisgICAgICAgICAgWypdLCBbc2V0IHggJENPTkZJR19GSUxF U10pCiAgIHNoaWZ0Ci0gIGZvciBtZgorICAjIFVzZWQgdG8gZmxhZyBhbmQgcmVwb3J0IGJvb3Rz dHJhcHBpbmcgZmFpbHVyZXMuCisgIGFtX3JjPTAKKyAgZm9yIGFtX21mCiAgIGRvCiAgICAgIyBT dHJpcCBNRiBzbyB3ZSBlbmQgdXAgd2l0aCB0aGUgbmFtZSBvZiB0aGUgZmlsZS4KLSAgICBtZj1g ZWNobyAiJG1mIiB8IHNlZCAtZSAncy86LiokLy8nYAotICAgICMgQ2hlY2sgd2hldGhlciB0aGlz IGlzIGFuIEF1dG9tYWtlIGdlbmVyYXRlZCBNYWtlZmlsZSBvciBub3QuCi0gICAgIyBXZSB1c2Vk IHRvIG1hdGNoIG9ubHkgdGhlIGZpbGVzIG5hbWVkICdNYWtlZmlsZS5pbicsIGJ1dAotICAgICMg c29tZSBwZW9wbGUgcmVuYW1lIHRoZW07IHNvIGluc3RlYWQgd2UgbG9vayBhdCB0aGUgZmlsZSBj b250ZW50LgotICAgICMgR3JlcCdpbmcgdGhlIGZpcnN0IGxpbmUgaXMgbm90IGVub3VnaDogc29t ZSBwZW9wbGUgcG9zdC1wcm9jZXNzCi0gICAgIyBlYWNoIE1ha2VmaWxlLmluIGFuZCBhZGQgYSBu ZXcgbGluZSBvbiB0b3Agb2YgZWFjaCBmaWxlIHRvIHNheSBzby4KLSAgICAjIEdyZXAnaW5nIHRo ZSB3aG9sZSBmaWxlIGlzIG5vdCBnb29kIGVpdGhlcjogQUlYIGdyZXAgaGFzIGEgbGluZQorICAg IGFtX21mPWBBU19FQ0hPKFsiJGFtX21mIl0pIHwgc2VkIC1lICdzLzouKiQvLydgCisgICAgIyBD aGVjayB3aGV0aGVyIHRoaXMgaXMgYW4gQXV0b21ha2UgZ2VuZXJhdGVkIE1ha2VmaWxlIHdoaWNo IGluY2x1ZGVzCisgICAgIyBkZXBlbmRlbmN5LXRyYWNraW5nIHJlbGF0ZWQgcnVsZXMgYW5kIGlu Y2x1ZGVzLgorICAgICMgR3JlcCdpbmcgdGhlIHdob2xlIGZpbGUgZGlyZWN0bHkgaXMgbm90IGdy ZWF0OiBBSVggZ3JlcCBoYXMgYSBsaW5lCiAgICAgIyBsaW1pdCBvZiAyMDQ4LCBidXQgYWxsIHNl ZCdzIHdlIGtub3cgaGF2ZSB1bmRlcnN0YW5kIGF0IGxlYXN0IDQwMDAuCi0gICAgaWYgc2VkIC1u ICdzLF4jLipnZW5lcmF0ZWQgYnkgYXV0b21ha2UuKixYLHAnICIkbWYiIHwgZ3JlcCBYID4vZGV2 L251bGwgMj4mMTsgdGhlbgotICAgICAgZGlycGFydD1gQVNfRElSTkFNRSgiJG1mIilgCi0gICAg ZWxzZQotICAgICAgY29udGludWUKLSAgICBmaQotICAgICMgRXh0cmFjdCB0aGUgZGVmaW5pdGlv biBvZiBERVBESVIsIGFtX19pbmNsdWRlLCBhbmQgYW1fX3F1b3RlCi0gICAgIyBmcm9tIHRoZSBN YWtlZmlsZSB3aXRob3V0IHJ1bm5pbmcgJ21ha2UnLgotICAgIERFUERJUj1gc2VkIC1uICdzL15E RVBESVIgPSAvL3AnIDwgIiRtZiJgCi0gICAgdGVzdCAteiAiJERFUERJUiIgJiYgY29udGludWUK LSAgICBhbV9faW5jbHVkZT1gc2VkIC1uICdzL15hbV9faW5jbHVkZSA9IC8vcCcgPCAiJG1mImAK LSAgICB0ZXN0IC16ICIkYW1fX2luY2x1ZGUiICYmIGNvbnRpbnVlCi0gICAgYW1fX3F1b3RlPWBz ZWQgLW4gJ3MvXmFtX19xdW90ZSA9IC8vcCcgPCAiJG1mImAKLSAgICAjIEZpbmQgYWxsIGRlcGVu ZGVuY3kgb3V0cHV0IGZpbGVzLCB0aGV5IGFyZSBpbmNsdWRlZCBmaWxlcyB3aXRoCi0gICAgIyAk KERFUERJUikgaW4gdGhlaXIgbmFtZXMuICBXZSBpbnZva2Ugc2VkIHR3aWNlIGJlY2F1c2UgaXQg aXMgdGhlCi0gICAgIyBzaW1wbGVzdCBhcHByb2FjaCB0byBjaGFuZ2luZyAkKERFUERJUikgdG8g aXRzIGFjdHVhbCB2YWx1ZSBpbiB0aGUKLSAgICAjIGV4cGFuc2lvbi4KLSAgICBmb3IgZmlsZSBp biBgc2VkIC1uICIKLSAgICAgIHMvXiRhbV9faW5jbHVkZSAkYW1fX3F1b3RlXCguKihERVBESVIp LipcKSRhbV9fcXVvdGUiJyQvXDEvcCcgPCIkbWYiIHwgXAotCSBzZWQgLWUgJ3MvXCQoREVQRElS KS8nIiRERVBESVIiJy9nJ2A7IGRvCi0gICAgICAjIE1ha2Ugc3VyZSB0aGUgZGlyZWN0b3J5IGV4 aXN0cy4KLSAgICAgIHRlc3QgLWYgIiRkaXJwYXJ0LyRmaWxlIiAmJiBjb250aW51ZQotICAgICAg ZmRpcj1gQVNfRElSTkFNRShbIiRmaWxlIl0pYAotICAgICAgQVNfTUtESVJfUChbJGRpcnBhcnQv JGZkaXJdKQotICAgICAgIyBlY2hvICJjcmVhdGluZyAkZGlycGFydC8kZmlsZSIKLSAgICAgIGVj aG8gJyMgZHVtbXknID4gIiRkaXJwYXJ0LyRmaWxlIgotICAgIGRvbmUKKyAgICBzZWQgLW4gJ3Ms XmFtLS1kZXBmaWxlczouKixYLHAnICIkYW1fbWYiIHwgZ3JlcCBYID4vZGV2L251bGwgMj4mMSBc CisgICAgICB8fCBjb250aW51ZQorICAgIGFtX2RpcnBhcnQ9YEFTX0RJUk5BTUUoWyIkYW1fbWYi XSlgCisgICAgYW1fZmlsZXBhcnQ9YEFTX0JBU0VOQU1FKFsiJGFtX21mIl0pYAorICAgIEFNX1JV Tl9MT0coW2NkICIkYW1fZGlycGFydCIgXAorICAgICAgJiYgc2VkIC1lICcvIyBhbS0taW5jbHVk ZS1tYXJrZXIvZCcgIiRhbV9maWxlcGFydCIgXAorICAgICAgICB8ICRNQUtFIC1mIC0gYW0tLWRl cGZpbGVzXSkgfHwgYW1fcmM9JD8KICAgZG9uZQorICBpZiB0ZXN0ICRhbV9yYyAtbmUgMDsgdGhl bgorICAgIEFDX01TR19GQUlMVVJFKFtTb21ldGhpbmcgd2VudCB3cm9uZyBib290c3RyYXBwaW5n IG1ha2VmaWxlIGZyYWdtZW50cworICAgIGZvciBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2lu Zy4gIFRyeSByZS1ydW5uaW5nIGNvbmZpZ3VyZSB3aXRoIHRoZQorICAgICctLWRpc2FibGUtZGVw ZW5kZW5jeS10cmFja2luZycgb3B0aW9uIHRvIGF0IGxlYXN0IGJlIGFibGUgdG8gYnVpbGQKKyAg ICB0aGUgcGFja2FnZSAoYWxiZWl0IHdpdGhvdXQgc3VwcG9ydCBmb3IgYXV0b21hdGljIGRlcGVu ZGVuY3kgdHJhY2tpbmcpLl0pCisgIGZpCisgIEFTX1VOU0VUKFthbV9kaXJwYXJ0XSkKKyAgQVNf VU5TRVQoW2FtX2ZpbGVwYXJ0XSkKKyAgQVNfVU5TRVQoW2FtX21mXSkKKyAgQVNfVU5TRVQoW2Ft X3JjXSkKKyAgcm0gLWYgY29uZnRlc3QtZGVwcy5tawogfQogXSkjIF9BTV9PVVRQVVRfREVQRU5E RU5DWV9DT01NQU5EUwogCkBAIC0zOTcsMTggKzM4OCwxNyBAQCBBQ19ERUZVTihbX0FNX09VVFBV VF9ERVBFTkRFTkNZX0NPTU1BTkRTXSwKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K ICMgVGhpcyBtYWNybyBzaG91bGQgb25seSBiZSBpbnZva2VkIG9uY2UgLS0gdXNlIHZpYSBBQ19S RVFVSVJFLgogIwotIyBUaGlzIGNvZGUgaXMgb25seSByZXF1aXJlZCB3aGVuIGF1dG9tYXRpYyBk ZXBlbmRlbmN5IHRyYWNraW5nCi0jIGlzIGVuYWJsZWQuICBGSVhNRS4gIFRoaXMgY3JlYXRlcyBl YWNoICcuUCcgZmlsZSB0aGF0IHdlIHdpbGwKLSMgbmVlZCBpbiBvcmRlciB0byBib290c3RyYXAg dGhlIGRlcGVuZGVuY3kgaGFuZGxpbmcgY29kZS4KKyMgVGhpcyBjb2RlIGlzIG9ubHkgcmVxdWly ZWQgd2hlbiBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZyBpcyBlbmFibGVkLgorIyBUaGlz IGNyZWF0ZXMgZWFjaCAnLlBvJyBhbmQgJy5QbG8nIG1ha2VmaWxlIGZyYWdtZW50IHRoYXQgd2Un bGwgbmVlZCBpbgorIyBvcmRlciB0byBib290c3RyYXAgdGhlIGRlcGVuZGVuY3kgaGFuZGxpbmcg Y29kZS4KIEFDX0RFRlVOKFtBTV9PVVRQVVRfREVQRU5ERU5DWV9DT01NQU5EU10sCiBbQUNfQ09O RklHX0NPTU1BTkRTKFtkZXBmaWxlc10sCiAgICAgIFt0ZXN0IHgiJEFNREVQX1RSVUUiICE9IHgi IiB8fCBfQU1fT1VUUFVUX0RFUEVOREVOQ1lfQ09NTUFORFNdLAotICAgICBbQU1ERVBfVFJVRT0i JEFNREVQX1RSVUUiIGFjX2F1eF9kaXI9IiRhY19hdXhfZGlyIl0pCi1dKQorICAgICBbQU1ERVBf VFJVRT0iJEFNREVQX1RSVUUiIE1BS0U9IiR7TUFLRS1tYWtlfSJdKV0pCiAKICMgRG8gYWxsIHRo ZSB3b3JrIGZvciBBdXRvbWFrZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRv Y29uZiAtKi0KIAotIyBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkg YW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC00OTUsOCArNDg1LDggQEAgQUNfUkVRVUlSRShbQU1f UFJPR19JTlNUQUxMX1NUUklQXSlkbmwKIEFDX1JFUVVJUkUoW0FDX1BST0dfTUtESVJfUF0pZG5s CiAjIEZvciBiZXR0ZXIgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4gIFRvIGJlIHJlbW92ZWQgb25j ZSBBdXRvbWFrZSAxLjkueAogIyBkaWVzIG91dCBmb3IgZ29vZC4gIEZvciBtb3JlIGJhY2tncm91 bmQsIHNlZToKLSMgPGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8y MDEyLTA3L21zZzAwMDAxLmh0bWw+Ci0jIDxodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0 bWwvYXV0b21ha2UvMjAxMi0wNy9tc2cwMDAxNC5odG1sPgorIyA8aHR0cHM6Ly9saXN0cy5nbnUu b3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEyLTA3L21zZzAwMDAxLmh0bWw+CisjIDxodHRw czovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTItMDcvbXNnMDAwMTQu aHRtbD4KIEFDX1NVQlNUKFtta2Rpcl9wXSwgWyckKE1LRElSX1ApJ10pCiAjIFdlIG5lZWQgYXdr IGZvciB0aGUgImNoZWNrIiB0YXJnZXQgKGFuZCBwb3NzaWJseSB0aGUgVEFQIGRyaXZlcikuICBU aGUKICMgc3lzdGVtICJhd2siIGlzIGJhZCBvbiBzb21lIHBsYXRmb3Jtcy4KQEAgLTU2Myw3ICs1 NTMsNyBAQCBFTkQKIEFib3J0aW5nIHRoZSBjb25maWd1cmF0aW9uIHByb2Nlc3MsIHRvIGVuc3Vy ZSB5b3UgdGFrZSBub3RpY2Ugb2YgdGhlIGlzc3VlLgogCiBZb3UgY2FuIGRvd25sb2FkIGFuZCBp bnN0YWxsIEdOVSBjb3JldXRpbHMgdG8gZ2V0IGFuICdybScgaW1wbGVtZW50YXRpb24KLXRoYXQg YmVoYXZlcyBwcm9wZXJseTogPGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9jb3JldXRpbHMv Pi4KK3RoYXQgYmVoYXZlcyBwcm9wZXJseTogPGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv Y29yZXV0aWxzLz4uCiAKIElmIHlvdSB3YW50IHRvIGNvbXBsZXRlIHRoZSBjb25maWd1cmF0aW9u IHByb2Nlc3MgdXNpbmcgeW91ciBwcm9ibGVtYXRpYwogJ3JtJyBhbnl3YXksIGV4cG9ydCB0aGUg ZW52aXJvbm1lbnQgdmFyaWFibGUgQUNDRVBUX0lORkVSSU9SX1JNX1BST0dSQU0KQEAgLTYwNSw3 ICs1OTUsNyBAQCBmb3IgX2FtX2hlYWRlciBpbiAkY29uZmlnX2hlYWRlcnMgOjsgZG8KIGRvbmUK IGVjaG8gInRpbWVzdGFtcCBmb3IgJF9hbV9hcmciID5gQVNfRElSTkFNRShbIiRfYW1fYXJnIl0p YC9zdGFtcC1oW10kX2FtX3N0YW1wX2NvdW50XSkKIAotIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAx NyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAxLTIw MTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVl IHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRl ZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC02MjksNyArNjE5 LDcgQEAgQUNfU1VCU1QoW2luc3RhbGxfc2hdKV0pCiAjIEFkZCAtLWVuYWJsZS1tYWludGFpbmVy LW1vZGUgb3B0aW9uIHRvIGNvbmZpZ3VyZS4gICAgICAgICAtKi0gQXV0b2NvbmYgLSotCiAjIEZy b20gSmltIE1leWVyaW5nCiAKLSMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMTk5Ni0yMDE4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0 byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtNjY0LDcgKzY1NCw3IEBAIEFDX01TR19D SEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgbWFpbnRhaW5lci1zcGVjaWZpYyBwb3J0aW9ucyBv ZiBNYWtlZmlsZXNdKQogCiAjIENoZWNrIHRvIHNlZSBob3cgJ21ha2UnIHRyZWF0cyBpbmNsdWRl cy4JICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogCi0jIENvcHlyaWdodCAoQykgMjAwMS0y MDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDEt MjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZy ZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1p dGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTY3Miw0OSAr NjYyLDQyIEBAIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0byBlbmFibGUgbWFpbnRhaW5lci1z cGVjaWZpYyBwb3J0aW9ucyBvZiBNYWtlZmlsZXNdKQogCiAjIEFNX01BS0VfSU5DTFVERSgpCiAj IC0tLS0tLS0tLS0tLS0tLS0tCi0jIENoZWNrIHRvIHNlZSBob3cgbWFrZSB0cmVhdHMgaW5jbHVk ZXMuCisjIENoZWNrIHdoZXRoZXIgbWFrZSBoYXMgYW4gJ2luY2x1ZGUnIGRpcmVjdGl2ZSB0aGF0 IGNhbiBzdXBwb3J0IGFsbAorIyB0aGUgaWRpb21zIHdlIG5lZWQgZm9yIG91ciBhdXRvbWF0aWMg ZGVwZW5kZW5jeSB0cmFja2luZyBjb2RlLgogQUNfREVGVU4oW0FNX01BS0VfSU5DTFVERV0sCi1b YW1fbWFrZT0ke01BS0UtbWFrZX0KLWNhdCA+IGNvbmZpbmMgPDwgJ0VORCcKK1tBQ19NU0dfQ0hF Q0tJTkcoW3doZXRoZXIgJHtNQUtFLW1ha2V9IHN1cHBvcnRzIHRoZSBpbmNsdWRlIGRpcmVjdGl2 ZV0pCitjYXQgPiBjb25maW5jLm1rIDw8ICdFTkQnCiBhbV9fZG9pdDoKLQlAZWNobyB0aGlzIGlz IHRoZSBhbV9fZG9pdCB0YXJnZXQKKwlAZWNobyB0aGlzIGlzIHRoZSBhbV9fZG9pdCB0YXJnZXQg PmNvbmZpbmMub3V0CiAuUEhPTlk6IGFtX19kb2l0CiBFTkQKLSMgSWYgd2UgZG9uJ3QgZmluZCBh biBpbmNsdWRlIGRpcmVjdGl2ZSwganVzdCBjb21tZW50IG91dCB0aGUgY29kZS4KLUFDX01TR19D SEVDS0lORyhbZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSAkYW1fbWFrZV0pCiBhbV9faW5j bHVkZT0iIyIKIGFtX19xdW90ZT0KLV9hbV9yZXN1bHQ9bm9uZQotIyBGaXJzdCB0cnkgR05VIG1h a2Ugc3R5bGUgaW5jbHVkZS4KLWVjaG8gImluY2x1ZGUgY29uZmluYyIgPiBjb25mbWYKLSMgSWdu b3JlIGFsbCBraW5kcyBvZiBhZGRpdGlvbmFsIG91dHB1dCBmcm9tICdtYWtlJy4KLWNhc2UgYCRh bV9tYWtlIC1zIC1mIGNvbmZtZiAyPiAvZGV2L251bGxgIGluICMoCi0qdGhlXCBhbV9fZG9pdFwg dGFyZ2V0KikKLSAgYW1fX2luY2x1ZGU9aW5jbHVkZQotICBhbV9fcXVvdGU9Ci0gIF9hbV9yZXN1 bHQ9R05VCi0gIDs7Ci1lc2FjCi0jIE5vdyB0cnkgQlNEIG1ha2Ugc3R5bGUgaW5jbHVkZS4KLWlm IHRlc3QgIiRhbV9faW5jbHVkZSIgPSAiIyI7IHRoZW4KLSAgIGVjaG8gJy5pbmNsdWRlICJjb25m aW5jIicgPiBjb25mbWYKLSAgIGNhc2UgYCRhbV9tYWtlIC1zIC1mIGNvbmZtZiAyPiAvZGV2L251 bGxgIGluICMoCi0gICAqdGhlXCBhbV9fZG9pdFwgdGFyZ2V0KikKLSAgICAgYW1fX2luY2x1ZGU9 LmluY2x1ZGUKLSAgICAgYW1fX3F1b3RlPSJcIiIKLSAgICAgX2FtX3Jlc3VsdD1CU0QKLSAgICAg OzsKLSAgIGVzYWMKLWZpCi1BQ19TVUJTVChbYW1fX2luY2x1ZGVdKQotQUNfU1VCU1QoW2FtX19x dW90ZV0pCi1BQ19NU0dfUkVTVUxUKFskX2FtX3Jlc3VsdF0pCi1ybSAtZiBjb25maW5jIGNvbmZt ZgotXSkKKyMgQlNEIG1ha2UgZG9lcyBpdCBsaWtlIHRoaXMuCitlY2hvICcuaW5jbHVkZSAiY29u ZmluYy5tayIgIyBpZ25vcmVkJyA+IGNvbmZtZi5CU0QKKyMgT3RoZXIgbWFrZSBpbXBsZW1lbnRh dGlvbnMgKEdOVSwgU29sYXJpcyAxMCwgQUlYKSBkbyBpdCBsaWtlIHRoaXMuCitlY2hvICdpbmNs dWRlIGNvbmZpbmMubWsgIyBpZ25vcmVkJyA+IGNvbmZtZi5HTlUKK19hbV9yZXN1bHQ9bm8KK2Zv ciBzIGluIEdOVSBCU0Q7IGRvCisgIEFNX1JVTl9MT0coWyR7TUFLRS1tYWtlfSAtZiBjb25mbWYu JHMgJiYgY2F0IGNvbmZpbmMub3V0XSkKKyAgQVNfQ0FTRShbJD86YGNhdCBjb25maW5jLm91dCAy Pi9kZXYvbnVsbGBdLAorICAgICAgWycwOnRoaXMgaXMgdGhlIGFtX19kb2l0IHRhcmdldCddLAor ICAgICAgW0FTX0NBU0UoWyRzXSwKKyAgICAgICAgICBbQlNEXSwgW2FtX19pbmNsdWRlPScuaW5j bHVkZScgYW1fX3F1b3RlPSciJ10sCisgICAgICAgICAgW2FtX19pbmNsdWRlPSdpbmNsdWRlJyBh bV9fcXVvdGU9JyddKV0pCisgIGlmIHRlc3QgIiRhbV9faW5jbHVkZSIgIT0gIiMiOyB0aGVuCisg ICAgX2FtX3Jlc3VsdD0ieWVzICgkcyBzdHlsZSkiCisgICAgYnJlYWsKKyAgZmkKK2RvbmUKK3Jt IC1mIGNvbmZpbmMuKiBjb25mbWYuKgorQUNfTVNHX1JFU1VMVChbJHtfYW1fcmVzdWx0fV0pCitB Q19TVUJTVChbYW1fX2luY2x1ZGVdKV0pCitBQ19TVUJTVChbYW1fX3F1b3RlXSldKQogCiAjIEZh a2UgdGhlIGV4aXN0ZW5jZSBvZiBwcm9ncmFtcyB0aGF0IEdOVSBtYWludGFpbmVycyB1c2UuICAt Ki0gQXV0b2NvbmYgLSotCiAKLSMgQ29weXJpZ2h0IChDKSAxOTk3LTIwMTcgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMTk5Ny0yMDE4IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0 byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtNzUzLDcgKzczNiw3IEBAIGZpCiAKICMg SGVscGVyIGZ1bmN0aW9ucyBmb3Igb3B0aW9uIGhhbmRsaW5nLiAgICAgICAgICAgICAgICAgICAg IC0qLSBBdXRvY29uZiAtKi0KIAotIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNyBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTggRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9u IHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC03ODIsNyArNzY1LDcgQEAgQUNfREVG VU4oW19BTV9TRVRfT1BUSU9OU10sCiBBQ19ERUZVTihbX0FNX0lGX09QVElPTl0sCiBbbTRfaWZz ZXQoX0FNX01BTkdMRV9PUFRJT04oWyQxXSksIFskMl0sIFskM10pXSkKIAotIyBDb3B5cmlnaHQg KEMpIDE5OTktMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0 IChDKSAxOTk5LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMg ZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdp dmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBA IC04MjksNyArODEyLDcgQEAgQUNfTEFOR19QT1AoW0NdKV0pCiAjIEZvciBiYWNrd2FyZCBjb21w YXRpYmlsaXR5LgogQUNfREVGVU5fT05DRShbQU1fUFJPR19DQ19DX09dLCBbQUNfUkVRVUlSRShb QUNfUFJPR19DQ10pXSkKIAotIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxNyBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTggRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRv IGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC04NDgsNyArODMxLDcgQEAgQUNfREVGVU4o W0FNX1JVTl9MT0ddLAogCiAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBidWlsZCBlbnZp cm9ubWVudCBpcyBzYW5lLiAgICAtKi0gQXV0b2NvbmYgLSotCiAKLSMgQ29weXJpZ2h0IChDKSAx OTk2LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykg MTk5Ni0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUg aXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1 bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtOTI5 LDcgKzkxMiw3IEBAIEFDX0NPTkZJR19DT01NQU5EU19QUkUoCiBybSAtZiBjb25mdGVzdC5maWxl CiBdKQogCi0jIENvcHlyaWdodCAoQykgMjAwOS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDktMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQv b3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTk4OSw3ICs5NzIsNyBAQCBBQ19TVUJTVChbQU1fQkFDS1NM QVNIXSlkbmwKIF9BTV9TVUJTVF9OT1RNQUtFKFtBTV9CQUNLU0xBU0hdKWRubAogXSkKIAotIyBD b3B5cmlnaHQgKEMpIDIwMDEtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMg Q29weXJpZ2h0IChDKSAyMDAxLTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAj CiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1 dGUgaXQsCkBAIC0xMDE3LDcgKzEwMDAsNyBAQCBmaQogSU5TVEFMTF9TVFJJUF9QUk9HUkFNPSJc JChpbnN0YWxsX3NoKSAtYyAtcyIKIEFDX1NVQlNUKFtJTlNUQUxMX1NUUklQX1BST0dSQU1dKV0p CiAKLSMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisjIENvcHlyaWdodCAoQykgMjAwNi0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBk aXN0cmlidXRlIGl0LApAQCAtMTAzNiw3ICsxMDE5LDcgQEAgQUNfREVGVU4oW0FNX1NVQlNUX05P VE1BS0VdLCBbX0FNX1NVQlNUX05PVE1BS0UoJEApXSkKIAogIyBDaGVjayBob3cgdG8gY3JlYXRl IGEgdGFyYmFsbC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQog Ci0jIENvcHlyaWdodCAoQykgMjAwNC0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorIyBDb3B5cmlnaHQgKEMpIDIwMDQtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlz dHJpYnV0ZSBpdCwKZGlmZiAtLWdpdCBhL2xpYmdvbXAvY29uZmlnL2Rhcndpbi9wbHVnaW4tc3Vm Zml4LmggYi9saWJnb21wL2NvbmZpZy9kYXJ3aW4vcGx1Z2luLXN1ZmZpeC5oCmluZGV4IDdjMWFk MzFjOWI0Li41N2YxMjdmNmQzZSAxMDA2NDQKLS0tIGEvbGliZ29tcC9jb25maWcvZGFyd2luL3Bs dWdpbi1zdWZmaXguaAorKysgYi9saWJnb21wL2NvbmZpZy9kYXJ3aW4vcGx1Z2luLXN1ZmZpeC5o CkBAIC0yMyw0ICsyMyw0IEBACiAgICBzZWUgdGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5H LlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKICAgIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4gICovCiAKLSNkZWZpbmUgU09OQU1FX1NVRkZJWChuKSAoIi4iICNuICIu ZHlsaWIiKQorI2RlZmluZSBTT05BTUVfU1VGRklYKG4pICIuIiAjbiAiLmR5bGliIgpkaWZmIC0t Z2l0IGEvbGliZ29tcC9jb25maWcvaHB1eC9wbHVnaW4tc3VmZml4LmggYi9saWJnb21wL2NvbmZp Zy9ocHV4L3BsdWdpbi1zdWZmaXguaAppbmRleCBhNGM0OGE0NWRkMS4uY2VhZjJjNmUwNTQgMTAw NjQ0Ci0tLSBhL2xpYmdvbXAvY29uZmlnL2hwdXgvcGx1Z2luLXN1ZmZpeC5oCisrKyBiL2xpYmdv bXAvY29uZmlnL2hwdXgvcGx1Z2luLXN1ZmZpeC5oCkBAIC0yMyw0ICsyMyw0IEBACiAgICBzZWUg dGhlIGZpbGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYg bm90LCBzZWUKICAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCiAKLSNkZWZp bmUgU09OQU1FX1NVRkZJWChuKSAoIi5zbC4iICNuKQorI2RlZmluZSBTT05BTUVfU1VGRklYKG4p ICIuc2wuIiAjbgpkaWZmIC0tZ2l0IGEvbGliZ29tcC9jb25maWcvcG9zaXgvcGx1Z2luLXN1ZmZp eC5oIGIvbGliZ29tcC9jb25maWcvcG9zaXgvcGx1Z2luLXN1ZmZpeC5oCmluZGV4IGNmMDNmNjRm N2EzLi45OTVkMzRmNTNlYSAxMDA2NDQKLS0tIGEvbGliZ29tcC9jb25maWcvcG9zaXgvcGx1Z2lu LXN1ZmZpeC5oCisrKyBiL2xpYmdvbXAvY29uZmlnL3Bvc2l4L3BsdWdpbi1zdWZmaXguaApAQCAt MjMsNCArMjMsNCBAQAogICAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5U SU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCiAgICA8aHR0cDovL3d3dy5nbnUub3JnL2xp Y2Vuc2VzLz4uICAqLwogCi0jZGVmaW5lIFNPTkFNRV9TVUZGSVgobikgKCIuc28uIiAjbikKKyNk ZWZpbmUgU09OQU1FX1NVRkZJWChuKSAiLnNvLiIgI24KZGlmZiAtLWdpdCBhL2xpYmdvbXAvY29u ZmlndXJlIGIvbGliZ29tcC9jb25maWd1cmUKaW5kZXggYTczYTZkNDQwMDMuLjUzYzBhNWQ4MmVk IDEwMDc1NQotLS0gYS9saWJnb21wL2NvbmZpZ3VyZQorKysgYi9saWJnb21wL2NvbmZpZ3VyZQpA QCAtNzI0LDcgKzcyNCw2IEBAIGFtX19ub2RlcAogQU1ERVBCQUNLU0xBU0gKIEFNREVQX0ZBTFNF CiBBTURFUF9UUlVFCi1hbV9fcXVvdGUKIGFtX19pbmNsdWRlCiBERVBESVIKIE9CSkVYVApAQCAt Nzk3LDYgKzc5Niw3IEBAIGluZm9kaXIKIGRvY2Rpcgogb2xkaW5jbHVkZWRpcgogaW5jbHVkZWRp cgorcnVuc3RhdGVkaXIKIGxvY2Fsc3RhdGVkaXIKIHNoYXJlZHN0YXRlZGlyCiBzeXNjb25mZGly CkBAIC04MTUsNyArODE1LDggQEAgUEFDS0FHRV9WRVJTSU9OCiBQQUNLQUdFX1RBUk5BTUUKIFBB Q0tBR0VfTkFNRQogUEFUSF9TRVBBUkFUT1IKLVNIRUxMJworU0hFTEwKK2FtX19xdW90ZScKIGFj X3N1YnN0X2ZpbGVzPScnCiBhY191c2VyX29wdHM9JwogZW5hYmxlX29wdGlvbl9jaGVja2luZwpA QCAtODkyLDYgKzg5Myw3IEBAIGRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9Jwogc3lzY29uZmRpcj0n JHtwcmVmaXh9L2V0YycKIHNoYXJlZHN0YXRlZGlyPScke3ByZWZpeH0vY29tJwogbG9jYWxzdGF0 ZWRpcj0nJHtwcmVmaXh9L3ZhcicKK3J1bnN0YXRlZGlyPScke2xvY2Fsc3RhdGVkaXJ9L3J1bicK IGluY2x1ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlJwogb2xkaW5jbHVkZWRpcj0nL3Vzci9pbmNs dWRlJwogZG9jZGlyPScke2RhdGFyb290ZGlyfS9kb2MvJHtQQUNLQUdFX1RBUk5BTUV9JwpAQCAt MTE0NCw2ICsxMTQ2LDE1IEBAIGRvCiAgIHwgLXNpbGVudCB8IC0tc2lsZW50IHwgLS1zaWxlbiB8 IC0tc2lsZSB8IC0tc2lsKQogICAgIHNpbGVudD15ZXMgOzsKIAorICAtcnVuc3RhdGVkaXIgfCAt LXJ1bnN0YXRlZGlyIHwgLS1ydW5zdGF0ZWRpIHwgLS1ydW5zdGF0ZWQgXAorICB8IC0tcnVuc3Rh dGUgfCAtLXJ1bnN0YXQgfCAtLXJ1bnN0YSB8IC0tcnVuc3QgfCAtLXJ1bnMgXAorICB8IC0tcnVu IHwgLS1ydSB8IC0tcikKKyAgICBhY19wcmV2PXJ1bnN0YXRlZGlyIDs7CisgIC1ydW5zdGF0ZWRp cj0qIHwgLS1ydW5zdGF0ZWRpcj0qIHwgLS1ydW5zdGF0ZWRpPSogfCAtLXJ1bnN0YXRlZD0qIFwK KyAgfCAtLXJ1bnN0YXRlPSogfCAtLXJ1bnN0YXQ9KiB8IC0tcnVuc3RhPSogfCAtLXJ1bnN0PSog fCAtLXJ1bnM9KiBcCisgIHwgLS1ydW49KiB8IC0tcnU9KiB8IC0tcj0qKQorICAgIHJ1bnN0YXRl ZGlyPSRhY19vcHRhcmcgOzsKKwogICAtc2JpbmRpciB8IC0tc2JpbmRpciB8IC0tc2JpbmRpIHwg LS1zYmluZCB8IC0tc2JpbiB8IC0tc2JpIHwgLS1zYikKICAgICBhY19wcmV2PXNiaW5kaXIgOzsK ICAgLXNiaW5kaXI9KiB8IC0tc2JpbmRpcj0qIHwgLS1zYmluZGk9KiB8IC0tc2JpbmQ9KiB8IC0t c2Jpbj0qIFwKQEAgLTEyODEsNyArMTI5Miw3IEBAIGZpCiBmb3IgYWNfdmFyIGluCWV4ZWNfcHJl Zml4IHByZWZpeCBiaW5kaXIgc2JpbmRpciBsaWJleGVjZGlyIGRhdGFyb290ZGlyIFwKIAkJZGF0 YWRpciBzeXNjb25mZGlyIHNoYXJlZHN0YXRlZGlyIGxvY2Fsc3RhdGVkaXIgaW5jbHVkZWRpciBc CiAJCW9sZGluY2x1ZGVkaXIgZG9jZGlyIGluZm9kaXIgaHRtbGRpciBkdmlkaXIgcGRmZGlyIHBz ZGlyIFwKLQkJbGliZGlyIGxvY2FsZWRpciBtYW5kaXIKKwkJbGliZGlyIGxvY2FsZWRpciBtYW5k aXIgcnVuc3RhdGVkaXIKIGRvCiAgIGV2YWwgYWNfdmFsPVwkJGFjX3ZhcgogICAjIFJlbW92ZSB0 cmFpbGluZyBzbGFzaGVzLgpAQCAtMTQzNCw2ICsxNDQ1LDcgQEAgRmluZSB0dW5pbmcgb2YgdGhl IGluc3RhbGxhdGlvbiBkaXJlY3RvcmllczoKICAgLS1zeXNjb25mZGlyPURJUiAgICAgICAgcmVh ZC1vbmx5IHNpbmdsZS1tYWNoaW5lIGRhdGEgW1BSRUZJWC9ldGNdCiAgIC0tc2hhcmVkc3RhdGVk aXI9RElSICAgIG1vZGlmaWFibGUgYXJjaGl0ZWN0dXJlLWluZGVwZW5kZW50IGRhdGEgW1BSRUZJ WC9jb21dCiAgIC0tbG9jYWxzdGF0ZWRpcj1ESVIgICAgIG1vZGlmaWFibGUgc2luZ2xlLW1hY2hp bmUgZGF0YSBbUFJFRklYL3Zhcl0KKyAgLS1ydW5zdGF0ZWRpcj1ESVIgICAgICAgbW9kaWZpYWJs ZSBwZXItcHJvY2VzcyBkYXRhIFtMT0NBTFNUQVRFRElSL3J1bl0KICAgLS1saWJkaXI9RElSICAg ICAgICAgICAgb2JqZWN0IGNvZGUgbGlicmFyaWVzIFtFUFJFRklYL2xpYl0KICAgLS1pbmNsdWRl ZGlyPURJUiAgICAgICAgQyBoZWFkZXIgZmlsZXMgW1BSRUZJWC9pbmNsdWRlXQogICAtLW9sZGlu Y2x1ZGVkaXI9RElSICAgICBDIGhlYWRlciBmaWxlcyBmb3Igbm9uLWdjYyBbL3Vzci9pbmNsdWRl XQpAQCAtMjg4Nyw3ICsyODk5LDcgQEAgdGFyZ2V0X2FsaWFzPSR7dGFyZ2V0X2FsaWFzLSRob3N0 X2FsaWFzfQogIyAgLVdhbGw6ICB0dXJucyBvbiBhbGwgYXV0b21ha2Ugd2FybmluZ3MuLi4KICMg IC1Xbm8tcG9ydGFiaWxpdHk6ICAuLi5leGNlcHQgdGhpcyBvbmUsIHNpbmNlIEdOVSBtYWtlIGlz IHJlcXVpcmVkLgogIyAgLVduby1vdmVycmlkZTogLi4uIGFuZCB0aGlzIG9uZSwgc2luY2Ugd2Ug ZG8gd2FudCB0aGlzIGluIHRlc3RzdWl0ZS4KLWFtX19hcGlfdmVyc2lvbj0nMS4xNScKK2FtX19h cGlfdmVyc2lvbj0nMS4xNicKIAogIyBGaW5kIGEgZ29vZCBpbnN0YWxsIHByb2dyYW0uICBXZSBw cmVmZXIgYSBDIHByb2dyYW0gKGZhc3RlciksCiAjIHNvIG9uZSBzY3JpcHQgaXMgYXMgZ29vZCBh cyBhbm90aGVyLiAgQnV0IGF2b2lkIHRoZSBicm9rZW4gb3IKQEAgLTM0MDMsOCArMzQxNSw4IEBA IE1BS0VJTkZPPSR7TUFLRUlORk8tIiR7YW1fbWlzc2luZ19ydW59bWFrZWluZm8ifQogCiAjIEZv ciBiZXR0ZXIgYmFja3dhcmQgY29tcGF0aWJpbGl0eS4gIFRvIGJlIHJlbW92ZWQgb25jZSBBdXRv bWFrZSAxLjkueAogIyBkaWVzIG91dCBmb3IgZ29vZC4gIEZvciBtb3JlIGJhY2tncm91bmQsIHNl ZToKLSMgPGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEyLTA3 L21zZzAwMDAxLmh0bWw+Ci0jIDxodHRwOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYXV0 b21ha2UvMjAxMi0wNy9tc2cwMDAxNC5odG1sPgorIyA8aHR0cHM6Ly9saXN0cy5nbnUub3JnL2Fy Y2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEyLTA3L21zZzAwMDAxLmh0bWw+CisjIDxodHRwczovL2xp c3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTItMDcvbXNnMDAwMTQuaHRtbD4K IG1rZGlyX3A9JyQoTUtESVJfUCknCiAKICMgV2UgbmVlZCBhd2sgZm9yIHRoZSAiY2hlY2siIHRh cmdldCAoYW5kIHBvc3NpYmx5IHRoZSBUQVAgZHJpdmVyKS4gIFRoZQpAQCAtMzQ1NSw3ICszNDY3 LDcgQEAgRU5ECiBBYm9ydGluZyB0aGUgY29uZmlndXJhdGlvbiBwcm9jZXNzLCB0byBlbnN1cmUg eW91IHRha2Ugbm90aWNlIG9mIHRoZSBpc3N1ZS4KIAogWW91IGNhbiBkb3dubG9hZCBhbmQgaW5z dGFsbCBHTlUgY29yZXV0aWxzIHRvIGdldCBhbiAncm0nIGltcGxlbWVudGF0aW9uCi10aGF0IGJl aGF2ZXMgcHJvcGVybHk6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvY29yZXV0aWxzLz4u Cit0aGF0IGJlaGF2ZXMgcHJvcGVybHk6IDxodHRwczovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2Nv cmV1dGlscy8+LgogCiBJZiB5b3Ugd2FudCB0byBjb21wbGV0ZSB0aGUgY29uZmlndXJhdGlvbiBw cm9jZXNzIHVzaW5nIHlvdXIgcHJvYmxlbWF0aWMKICdybScgYW55d2F5LCBleHBvcnQgdGhlIGVu dmlyb25tZW50IHZhcmlhYmxlIEFDQ0VQVF9JTkZFUklPUl9STV9QUk9HUkFNCkBAIC00NDE2LDQ1 ICs0NDI4LDQ1IEBAIERFUERJUj0iJHthbV9fbGVhZGluZ19kb3R9ZGVwcyIKIAogYWNfY29uZmln X2NvbW1hbmRzPSIkYWNfY29uZmlnX2NvbW1hbmRzIGRlcGZpbGVzIgogCi0KLWFtX21ha2U9JHtN QUtFLW1ha2V9Ci1jYXQgPiBjb25maW5jIDw8ICdFTkQnCit7ICRhc19lY2hvICIkYXNfbWU6JHth c19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIHdoZXRoZXIgJHtNQUtFLW1ha2V9IHN1cHBvcnRz IHRoZSBpbmNsdWRlIGRpcmVjdGl2ZSIgPiY1CiskYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVy ICR7TUFLRS1tYWtlfSBzdXBwb3J0cyB0aGUgaW5jbHVkZSBkaXJlY3RpdmUuLi4gIiA+JjY7IH0K K2NhdCA+IGNvbmZpbmMubWsgPDwgJ0VORCcKIGFtX19kb2l0OgotCUBlY2hvIHRoaXMgaXMgdGhl IGFtX19kb2l0IHRhcmdldAorCUBlY2hvIHRoaXMgaXMgdGhlIGFtX19kb2l0IHRhcmdldCA+Y29u ZmluYy5vdXQKIC5QSE9OWTogYW1fX2RvaXQKIEVORAotIyBJZiB3ZSBkb24ndCBmaW5kIGFuIGlu Y2x1ZGUgZGlyZWN0aXZlLCBqdXN0IGNvbW1lbnQgb3V0IHRoZSBjb2RlLgoteyAkYXNfZWNobyAi JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVk ZSB1c2VkIGJ5ICRhbV9tYWtlIiA+JjUKLSRhc19lY2hvX24gImNoZWNraW5nIGZvciBzdHlsZSBv ZiBpbmNsdWRlIHVzZWQgYnkgJGFtX21ha2UuLi4gIiA+JjY7IH0KIGFtX19pbmNsdWRlPSIjIgog YW1fX3F1b3RlPQotX2FtX3Jlc3VsdD1ub25lCi0jIEZpcnN0IHRyeSBHTlUgbWFrZSBzdHlsZSBp bmNsdWRlLgotZWNobyAiaW5jbHVkZSBjb25maW5jIiA+IGNvbmZtZgotIyBJZ25vcmUgYWxsIGtp bmRzIG9mIGFkZGl0aW9uYWwgb3V0cHV0IGZyb20gJ21ha2UnLgotY2FzZSBgJGFtX21ha2UgLXMg LWYgY29uZm1mIDI+IC9kZXYvbnVsbGAgaW4gIygKLSp0aGVcIGFtX19kb2l0XCB0YXJnZXQqKQot ICBhbV9faW5jbHVkZT1pbmNsdWRlCi0gIGFtX19xdW90ZT0KLSAgX2FtX3Jlc3VsdD1HTlUKLSAg OzsKLWVzYWMKLSMgTm93IHRyeSBCU0QgbWFrZSBzdHlsZSBpbmNsdWRlLgotaWYgdGVzdCAiJGFt X19pbmNsdWRlIiA9ICIjIjsgdGhlbgotICAgZWNobyAnLmluY2x1ZGUgImNvbmZpbmMiJyA+IGNv bmZtZgotICAgY2FzZSBgJGFtX21ha2UgLXMgLWYgY29uZm1mIDI+IC9kZXYvbnVsbGAgaW4gIygK LSAgICp0aGVcIGFtX19kb2l0XCB0YXJnZXQqKQotICAgICBhbV9faW5jbHVkZT0uaW5jbHVkZQot ICAgICBhbV9fcXVvdGU9IlwiIgotICAgICBfYW1fcmVzdWx0PUJTRAorIyBCU0QgbWFrZSBkb2Vz IGl0IGxpa2UgdGhpcy4KK2VjaG8gJy5pbmNsdWRlICJjb25maW5jLm1rIiAjIGlnbm9yZWQnID4g Y29uZm1mLkJTRAorIyBPdGhlciBtYWtlIGltcGxlbWVudGF0aW9ucyAoR05VLCBTb2xhcmlzIDEw LCBBSVgpIGRvIGl0IGxpa2UgdGhpcy4KK2VjaG8gJ2luY2x1ZGUgY29uZmluYy5tayAjIGlnbm9y ZWQnID4gY29uZm1mLkdOVQorX2FtX3Jlc3VsdD1ubworZm9yIHMgaW4gR05VIEJTRDsgZG8KKyAg eyBlY2hvICIkYXNfbWU6JExJTkVOTzogJHtNQUtFLW1ha2V9IC1mIGNvbmZtZi4kcyAmJiBjYXQg Y29uZmluYy5vdXQiID4mNQorICAgKCR7TUFLRS1tYWtlfSAtZiBjb25mbWYuJHMgJiYgY2F0IGNv bmZpbmMub3V0KSA+JjUgMj4mNQorICAgYWNfc3RhdHVzPSQ/CisgICBlY2hvICIkYXNfbWU6JExJ TkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICAoZXhpdCAkYWNfc3RhdHVzKTsgfQorICBj YXNlICQ/OmBjYXQgY29uZmluYy5vdXQgMj4vZGV2L251bGxgIGluICMoCisgICcwOnRoaXMgaXMg dGhlIGFtX19kb2l0IHRhcmdldCcpIDoKKyAgICBjYXNlICRzIGluICMoCisgIEJTRCkgOgorICAg IGFtX19pbmNsdWRlPScuaW5jbHVkZScgYW1fX3F1b3RlPSciJyA7OyAjKAorICAqKSA6CisgICAg YW1fX2luY2x1ZGU9J2luY2x1ZGUnIGFtX19xdW90ZT0nJyA7OworZXNhYyA7OyAjKAorICAqKSA6 CiAgICAgIDs7Ci0gICBlc2FjCi1maQotCi0KLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu by0kTElORU5PfTogcmVzdWx0OiAkX2FtX3Jlc3VsdCIgPiY1Ci0kYXNfZWNobyAiJF9hbV9yZXN1 bHQiID4mNjsgfQotcm0gLWYgY29uZmluYyBjb25mbWYKK2VzYWMKKyAgaWYgdGVzdCAiJGFtX19p bmNsdWRlIiAhPSAiIyI7IHRoZW4KKyAgICBfYW1fcmVzdWx0PSJ5ZXMgKCRzIHN0eWxlKSIKKyAg ICBicmVhaworICBmaQorZG9uZQorcm0gLWYgY29uZmluYy4qIGNvbmZtZi4qCit7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHtfYW1fcmVzdWx0fSIgPiY1 CiskYXNfZWNobyAiJHtfYW1fcmVzdWx0fSIgPiY2OyB9CiAKICMgQ2hlY2sgd2hldGhlciAtLWVu YWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nIHdhcyBnaXZlbi4KIGlmIHRlc3QgIiR7ZW5hYmxlX2Rl cGVuZGVuY3lfdHJhY2tpbmcrc2V0fSIgPSBzZXQ7IHRoZW4gOgpAQCAtMTE0MzEsNyArMTE0NDMs NyBAQCBlbHNlCiAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRf dXNjb3JlPTIKICAgbHRfc3RhdHVzPSRsdF9kbHVua25vd24KICAgY2F0ID4gY29uZnRlc3QuJGFj X2V4dCA8PF9MVF9FT0YKLSNsaW5lIDExNDM0ICJjb25maWd1cmUiCisjbGluZSAxMTQ0NiAiY29u ZmlndXJlIgogI2luY2x1ZGUgImNvbmZkZWZzLmgiCiAKICNpZiBIQVZFX0RMRkNOX0gKQEAgLTEx NTM3LDcgKzExNTQ5LDcgQEAgZWxzZQogICBsdF9kbHVua25vd249MDsgbHRfZGxub191c2NvcmU9 MTsgbHRfZGxuZWVkX3VzY29yZT0yCiAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCiAgIGNhdCA+ IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCi0jbGluZSAxMTU0MCAiY29uZmlndXJlIgorI2xp bmUgMTE1NTIgImNvbmZpZ3VyZSIKICNpbmNsdWRlICJjb25mZGVmcy5oIgogCiAjaWYgSEFWRV9E TEZDTl9ICkBAIC0xNzA2NSw3ICsxNzA3Nyw3IEBAIGZpCiAKIAogCi1hY19jb25maWdfZmlsZXM9 IiRhY19jb25maWdfZmlsZXMgb21wLmggb21wX2xpYi5oIG9tcF9saWIuZjkwIGxpYmdvbXBfZi5o IgorYWNfY29uZmlnX2ZpbGVzPSIkYWNfY29uZmlnX2ZpbGVzIG9tcC5oIG9tcF9saWIuaCBvbXBf bGliLmY5MCBsaWJnb21wX2YuaCBvbXAtdG9vbHMuaCBvbXBkLXR5cGVzLmgiCiAKIGFjX2NvbmZp Z19maWxlcz0iJGFjX2NvbmZpZ19maWxlcyBNYWtlZmlsZSB0ZXN0c3VpdGUvTWFrZWZpbGUgbGli Z29tcC5zcGVjIgogCkBAIC0xNzg0MCw3ICsxNzg1Miw3IEBAIENDPSIkQ0MiCiBDWFg9IiRDWFgi CiBHRk9SVFJBTj0iJEdGT1JUUkFOIgogR0RDPSIkR0RDIgotQU1ERVBfVFJVRT0iJEFNREVQX1RS VUUiIGFjX2F1eF9kaXI9IiRhY19hdXhfZGlyIgorQU1ERVBfVFJVRT0iJEFNREVQX1RSVUUiIE1B S0U9IiR7TUFLRS1tYWtlfSIKIAogCiAjIFRoZSBIUC1VWCBrc2ggYW5kIFBPU0lYIHNoZWxsIHBy aW50IHRoZSB0YXJnZXQgZGlyZWN0b3J5IHRvIHN0ZG91dApAQCAtMTgyMTgsNiArMTgyMzAsOCBA QCBkbwogICAgICJvbXBfbGliLmgiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgb21wX2xp Yi5oIiA7OwogICAgICJvbXBfbGliLmY5MCIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBv bXBfbGliLmY5MCIgOzsKICAgICAibGliZ29tcF9mLmgiKSBDT05GSUdfRklMRVM9IiRDT05GSUdf RklMRVMgbGliZ29tcF9mLmgiIDs7CisgICAgIm9tcC10b29scy5oIikgQ09ORklHX0ZJTEVTPSIk Q09ORklHX0ZJTEVTIG9tcC10b29scy5oIiA7OworICAgICJvbXBkLXR5cGVzLmgiKSBDT05GSUdf RklMRVM9IiRDT05GSUdfRklMRVMgb21wZC10eXBlcy5oIiA7OwogICAgICJNYWtlZmlsZSIpIENP TkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBNYWtlZmlsZSIgOzsKICAgICAidGVzdHN1aXRlL01h a2VmaWxlIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIHRlc3RzdWl0ZS9NYWtlZmlsZSIg OzsKICAgICAibGliZ29tcC5zcGVjIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIGxpYmdv bXAuc3BlYyIgOzsKQEAgLTE4ODMwLDI5ICsxODg0NCwzNSBAQCBlc2FjIDs7CiAgICMgT2xkZXIg QXV0b2NvbmYgcXVvdGVzIC0tZmlsZSBhcmd1bWVudHMgZm9yIGV2YWwsIGJ1dCBub3Qgd2hlbiBm aWxlcwogICAjIGFyZSBsaXN0ZWQgd2l0aG91dCAtLWZpbGUuICBMZXQncyBwbGF5IHNhZmUgYW5k IG9ubHkgZW5hYmxlIHRoZSBldmFsCiAgICMgaWYgd2UgZGV0ZWN0IHRoZSBxdW90aW5nLgotICBj YXNlICRDT05GSUdfRklMRVMgaW4KLSAgKlwnKikgZXZhbCBzZXQgeCAiJENPTkZJR19GSUxFUyIg OzsKLSAgKikgICBzZXQgeCAkQ09ORklHX0ZJTEVTIDs7Ci0gIGVzYWMKKyAgIyBUT0RPOiBzZWUg d2hldGhlciB0aGlzIGV4dHJhIGhhY2sgY2FuIGJlIHJlbW92ZWQgb25jZSB3ZSBzdGFydAorICAj IHJlcXVpcmluZyBBdXRvY29uZiAyLjcwIG9yIGxhdGVyLgorICBjYXNlICRDT05GSUdfRklMRVMg aW4gIygKKyAgKlwnKikgOgorICAgIGV2YWwgc2V0IHggIiRDT05GSUdfRklMRVMiIDs7ICMoCisg ICopIDoKKyAgICBzZXQgeCAkQ09ORklHX0ZJTEVTIDs7ICMoCisgICopIDoKKyAgICAgOzsKK2Vz YWMKICAgc2hpZnQKLSAgZm9yIG1mCisgICMgVXNlZCB0byBmbGFnIGFuZCByZXBvcnQgYm9vdHN0 cmFwcGluZyBmYWlsdXJlcy4KKyAgYW1fcmM9MAorICBmb3IgYW1fbWYKICAgZG8KICAgICAjIFN0 cmlwIE1GIHNvIHdlIGVuZCB1cCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBmaWxlLgotICAgIG1mPWBl Y2hvICIkbWYiIHwgc2VkIC1lICdzLzouKiQvLydgCi0gICAgIyBDaGVjayB3aGV0aGVyIHRoaXMg aXMgYW4gQXV0b21ha2UgZ2VuZXJhdGVkIE1ha2VmaWxlIG9yIG5vdC4KLSAgICAjIFdlIHVzZWQg dG8gbWF0Y2ggb25seSB0aGUgZmlsZXMgbmFtZWQgJ01ha2VmaWxlLmluJywgYnV0Ci0gICAgIyBz b21lIHBlb3BsZSByZW5hbWUgdGhlbTsgc28gaW5zdGVhZCB3ZSBsb29rIGF0IHRoZSBmaWxlIGNv bnRlbnQuCi0gICAgIyBHcmVwJ2luZyB0aGUgZmlyc3QgbGluZSBpcyBub3QgZW5vdWdoOiBzb21l IHBlb3BsZSBwb3N0LXByb2Nlc3MKLSAgICAjIGVhY2ggTWFrZWZpbGUuaW4gYW5kIGFkZCBhIG5l dyBsaW5lIG9uIHRvcCBvZiBlYWNoIGZpbGUgdG8gc2F5IHNvLgotICAgICMgR3JlcCdpbmcgdGhl IHdob2xlIGZpbGUgaXMgbm90IGdvb2QgZWl0aGVyOiBBSVggZ3JlcCBoYXMgYSBsaW5lCisgICAg YW1fbWY9YCRhc19lY2hvICIkYW1fbWYiIHwgc2VkIC1lICdzLzouKiQvLydgCisgICAgIyBDaGVj ayB3aGV0aGVyIHRoaXMgaXMgYW4gQXV0b21ha2UgZ2VuZXJhdGVkIE1ha2VmaWxlIHdoaWNoIGlu Y2x1ZGVzCisgICAgIyBkZXBlbmRlbmN5LXRyYWNraW5nIHJlbGF0ZWQgcnVsZXMgYW5kIGluY2x1 ZGVzLgorICAgICMgR3JlcCdpbmcgdGhlIHdob2xlIGZpbGUgZGlyZWN0bHkgaXMgbm90IGdyZWF0 OiBBSVggZ3JlcCBoYXMgYSBsaW5lCiAgICAgIyBsaW1pdCBvZiAyMDQ4LCBidXQgYWxsIHNlZCdz IHdlIGtub3cgaGF2ZSB1bmRlcnN0YW5kIGF0IGxlYXN0IDQwMDAuCi0gICAgaWYgc2VkIC1uICdz LF4jLipnZW5lcmF0ZWQgYnkgYXV0b21ha2UuKixYLHAnICIkbWYiIHwgZ3JlcCBYID4vZGV2L251 bGwgMj4mMTsgdGhlbgotICAgICAgZGlycGFydD1gJGFzX2Rpcm5hbWUgLS0gIiRtZiIgfHwKLSRh c19leHByIFgiJG1mIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8qJCcgXHwgXAotCSBYIiRt ZiIgOiAnWFwoLy9cKVteL10nIFx8IFwKLQkgWCIkbWYiIDogJ1hcKC8vXCkkJyBcfCBcCi0JIFgi JG1mIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKLSRhc19lY2hvIFgiJG1mIiB8Cisg ICAgc2VkIC1uICdzLF5hbS0tZGVwZmlsZXM6LiosWCxwJyAiJGFtX21mIiB8IGdyZXAgWCA+L2Rl di9udWxsIDI+JjEgXAorICAgICAgfHwgY29udGludWUKKyAgICBhbV9kaXJwYXJ0PWAkYXNfZGly bmFtZSAtLSAiJGFtX21mIiB8fAorJGFzX2V4cHIgWCIkYW1fbWYiIDogJ1hcKC4qW14vXVwpLy8q W14vXVteL10qLyokJyBcfCBcCisJIFgiJGFtX21mIiA6ICdYXCgvL1wpW14vXScgXHwgXAorCSBY IiRhbV9tZiIgOiAnWFwoLy9cKSQnIFx8IFwKKwkgWCIkYW1fbWYiIDogJ1hcKC9cKScgXHwgLiAy Pi9kZXYvbnVsbCB8fAorJGFzX2VjaG8gWCIkYW1fbWYiIHwKICAgICBzZWQgJy9eWFwoLipbXi9d XClcL1wvKlteL11bXi9dKlwvKiQvewogCSAgICBzLy9cMS8KIAkgICAgcQpAQCAtMTg4NzAsNTMg KzE4ODkwLDQ4IEBAICRhc19lY2hvIFgiJG1mIiB8CiAJICAgIHEKIAkgIH0KIAkgIHMvLiovLi87 IHEnYAotICAgIGVsc2UKLSAgICAgIGNvbnRpbnVlCi0gICAgZmkKLSAgICAjIEV4dHJhY3QgdGhl IGRlZmluaXRpb24gb2YgREVQRElSLCBhbV9faW5jbHVkZSwgYW5kIGFtX19xdW90ZQotICAgICMg ZnJvbSB0aGUgTWFrZWZpbGUgd2l0aG91dCBydW5uaW5nICdtYWtlJy4KLSAgICBERVBESVI9YHNl ZCAtbiAncy9eREVQRElSID0gLy9wJyA8ICIkbWYiYAotICAgIHRlc3QgLXogIiRERVBESVIiICYm IGNvbnRpbnVlCi0gICAgYW1fX2luY2x1ZGU9YHNlZCAtbiAncy9eYW1fX2luY2x1ZGUgPSAvL3An IDwgIiRtZiJgCi0gICAgdGVzdCAteiAiJGFtX19pbmNsdWRlIiAmJiBjb250aW51ZQotICAgIGFt X19xdW90ZT1gc2VkIC1uICdzL15hbV9fcXVvdGUgPSAvL3AnIDwgIiRtZiJgCi0gICAgIyBGaW5k IGFsbCBkZXBlbmRlbmN5IG91dHB1dCBmaWxlcywgdGhleSBhcmUgaW5jbHVkZWQgZmlsZXMgd2l0 aAotICAgICMgJChERVBESVIpIGluIHRoZWlyIG5hbWVzLiAgV2UgaW52b2tlIHNlZCB0d2ljZSBi ZWNhdXNlIGl0IGlzIHRoZQotICAgICMgc2ltcGxlc3QgYXBwcm9hY2ggdG8gY2hhbmdpbmcgJChE RVBESVIpIHRvIGl0cyBhY3R1YWwgdmFsdWUgaW4gdGhlCi0gICAgIyBleHBhbnNpb24uCi0gICAg Zm9yIGZpbGUgaW4gYHNlZCAtbiAiCi0gICAgICBzL14kYW1fX2luY2x1ZGUgJGFtX19xdW90ZVwo LiooREVQRElSKS4qXCkkYW1fX3F1b3RlIickL1wxL3AnIDwiJG1mIiB8IFwKLQkgc2VkIC1lICdz L1wkKERFUERJUikvJyIkREVQRElSIicvZydgOyBkbwotICAgICAgIyBNYWtlIHN1cmUgdGhlIGRp cmVjdG9yeSBleGlzdHMuCi0gICAgICB0ZXN0IC1mICIkZGlycGFydC8kZmlsZSIgJiYgY29udGlu dWUKLSAgICAgIGZkaXI9YCRhc19kaXJuYW1lIC0tICIkZmlsZSIgfHwKLSRhc19leHByIFgiJGZp bGUiIDogJ1hcKC4qW14vXVwpLy8qW14vXVteL10qLyokJyBcfCBcCi0JIFgiJGZpbGUiIDogJ1hc KC8vXClbXi9dJyBcfCBcCi0JIFgiJGZpbGUiIDogJ1hcKC8vXCkkJyBcfCBcCi0JIFgiJGZpbGUi IDogJ1hcKC9cKScgXHwgLiAyPi9kZXYvbnVsbCB8fAotJGFzX2VjaG8gWCIkZmlsZSIgfAotICAg IHNlZCAnL15YXCguKlteL11cKVwvXC8qW14vXVteL10qXC8qJC97Ci0JICAgIHMvL1wxLwotCSAg ICBxCi0JICB9Ci0JICAvXlhcKFwvXC9cKVteL10uKi97CisgICAgYW1fZmlsZXBhcnQ9YCRhc19i YXNlbmFtZSAtLSAiJGFtX21mIiB8fAorJGFzX2V4cHIgWC8iJGFtX21mIiA6ICcuKi9cKFteL11b Xi9dKlwpLyokJyBcfCBcCisJIFgiJGFtX21mIiA6ICdYXCgvL1wpJCcgXHwgXAorCSBYIiRhbV9t ZiIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiskYXNfZWNobyBYLyIkYW1fbWYiIHwK KyAgICBzZWQgJy9eLipcL1woW14vXVteL10qXClcLyokL3sKIAkgICAgcy8vXDEvCiAJICAgIHEK IAkgIH0KLQkgIC9eWFwoXC9cL1wpJC97CisJICAvXlhcL1woXC9cL1wpJC97CiAJICAgIHMvL1wx LwogCSAgICBxCiAJICB9Ci0JICAvXlhcKFwvXCkuKi97CisJICAvXlhcL1woXC9cKS4qL3sKIAkg ICAgcy8vXDEvCiAJICAgIHEKIAkgIH0KIAkgIHMvLiovLi87IHEnYAotICAgICAgYXNfZGlyPSRk aXJwYXJ0LyRmZGlyOyBhc19mbl9ta2Rpcl9wCi0gICAgICAjIGVjaG8gImNyZWF0aW5nICRkaXJw YXJ0LyRmaWxlIgotICAgICAgZWNobyAnIyBkdW1teScgPiAiJGRpcnBhcnQvJGZpbGUiCi0gICAg ZG9uZQorICAgIHsgZWNobyAiJGFzX21lOiRMSU5FTk86IGNkICIkYW1fZGlycGFydCIgXAorICAg ICAgJiYgc2VkIC1lICcvIyBhbS0taW5jbHVkZS1tYXJrZXIvZCcgIiRhbV9maWxlcGFydCIgXAor ICAgICAgICB8ICRNQUtFIC1mIC0gYW0tLWRlcGZpbGVzIiA+JjUKKyAgIChjZCAiJGFtX2RpcnBh cnQiIFwKKyAgICAgICYmIHNlZCAtZSAnLyMgYW0tLWluY2x1ZGUtbWFya2VyL2QnICIkYW1fZmls ZXBhcnQiIFwKKyAgICAgICAgfCAkTUFLRSAtZiAtIGFtLS1kZXBmaWxlcykgPiY1IDI+JjUKKyAg IGFjX3N0YXR1cz0kPworICAgZWNobyAiJGFzX21lOiRMSU5FTk86IFwkPyA9ICRhY19zdGF0dXMi ID4mNQorICAgKGV4aXQgJGFjX3N0YXR1cyk7IH0gfHwgYW1fcmM9JD8KICAgZG9uZQorICBpZiB0 ZXN0ICRhbV9yYyAtbmUgMDsgdGhlbgorICAgIHsgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu ZW5vLSRMSU5FTk99OiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mNQorJGFzX2VjaG8gIiRhc19t ZTogZXJyb3I6IGluIFxgJGFjX3B3ZCc6IiA+JjI7fQorYXNfZm5fZXJyb3IgJD8gIlNvbWV0aGlu ZyB3ZW50IHdyb25nIGJvb3RzdHJhcHBpbmcgbWFrZWZpbGUgZnJhZ21lbnRzCisgICAgZm9yIGF1 dG9tYXRpYyBkZXBlbmRlbmN5IHRyYWNraW5nLiAgVHJ5IHJlLXJ1bm5pbmcgY29uZmlndXJlIHdp dGggdGhlCisgICAgJy0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nJyBvcHRpb24gdG8gYXQg bGVhc3QgYmUgYWJsZSB0byBidWlsZAorICAgIHRoZSBwYWNrYWdlIChhbGJlaXQgd2l0aG91dCBz dXBwb3J0IGZvciBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZykuCitTZWUgXGBjb25maWcu bG9nJyBmb3IgbW9yZSBkZXRhaWxzIiAiJExJTkVOTyIgNTsgfQorICBmaQorICB7IGFtX2RpcnBh cnQ9OyB1bnNldCBhbV9kaXJwYXJ0O30KKyAgeyBhbV9maWxlcGFydD07IHVuc2V0IGFtX2ZpbGVw YXJ0O30KKyAgeyBhbV9tZj07IHVuc2V0IGFtX21mO30KKyAgeyBhbV9yYz07IHVuc2V0IGFtX3Jj O30KKyAgcm0gLWYgY29uZnRlc3QtZGVwcy5tawogfQogIDs7CiAgICAgImxpYnRvb2wiOkMpCmRp ZmYgLS1naXQgYS9saWJnb21wL2NvbmZpZ3VyZS5hYyBiL2xpYmdvbXAvY29uZmlndXJlLmFjCmlu ZGV4IGE5YjFmMzk3M2Y3Li5jZDZjM2NjMWE5NiAxMDA2NDQKLS0tIGEvbGliZ29tcC9jb25maWd1 cmUuYWMKKysrIGIvbGliZ29tcC9jb25maWd1cmUuYWMKQEAgLTQ3Miw3ICs0NzIsNyBAQCBDRkxB R1M9IiRzYXZlX0NGTEFHUyIKICMgRGV0ZXJtaW5lIHdoYXQgR0NDIHZlcnNpb24gbnVtYmVyIHRv IHVzZSBpbiBmaWxlc3lzdGVtIHBhdGhzLgogR0NDX0JBU0VfVkVSCiAKLUFDX0NPTkZJR19GSUxF UyhvbXAuaCBvbXBfbGliLmggb21wX2xpYi5mOTAgbGliZ29tcF9mLmgpCitBQ19DT05GSUdfRklM RVMob21wLmggb21wX2xpYi5oIG9tcF9saWIuZjkwIGxpYmdvbXBfZi5oIG9tcC10b29scy5oIG9t cGQtdHlwZXMuaCkKIEFDX0NPTkZJR19GSUxFUyhNYWtlZmlsZSB0ZXN0c3VpdGUvTWFrZWZpbGUg bGliZ29tcC5zcGVjKQogQUNfQ09ORklHX0ZJTEVTKFt0ZXN0c3VpdGUvbGliZ29tcC10ZXN0LXN1 cHBvcnQucHQuZXhwOnRlc3RzdWl0ZS9saWJnb21wLXRlc3Qtc3VwcG9ydC5leHAuaW5dKQogQUNf Q09ORklHX0ZJTEVTKFt0ZXN0c3VpdGUvbGliZ29tcC1zaXRlLWV4dHJhLmV4cF0pCmRpZmYgLS1n aXQgYS9saWJnb21wL2Vudi5jIGIvbGliZ29tcC9lbnYuYwppbmRleCAxYzRlZTg5NDUxNS4uYTAy ODc2NWZmMjIgMTAwNjQ0Ci0tLSBhL2xpYmdvbXAvZW52LmMKKysrIGIvbGliZ29tcC9lbnYuYwpA QCAtMzMsNiArMzMsNyBAQAogI2lmbmRlZiBMSUJHT01QX09GRkxPQURFRF9PTkxZCiAjaW5jbHVk ZSAibGliZ29tcF9mLmgiCiAjaW5jbHVkZSAib2FjYy1pbnQuaCIKKyNpbmNsdWRlICJvbXBkLXN1 cHBvcnQuaCIKICNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1 ZGUgPHN0ZGlvLmg+CkBAIC0xNDgzLDYgKzE0ODQsOCBAQCBpbml0aWFsaXplX2VudiAodm9pZCkK IAk9IHRocmVhZF9saW1pdF92YXIgPiBJTlRfTUFYID8gVUlOVF9NQVggOiB0aHJlYWRfbGltaXRf dmFyOwogICAgIH0KICAgcGFyc2VfaW50X3NlY3VyZSAoIkdPTVBfREVCVUciLCAmZ29tcF9kZWJ1 Z192YXIsIHRydWUpOworICBpZihnb21wX2RlYnVnX3ZhcikKKyAgCQlvbXBkX2xvYWQoKTsKICNp Zm5kZWYgSEFWRV9TWU5DX0JVSUxUSU5TCiAgIGdvbXBfbXV0ZXhfaW5pdCAoJmdvbXBfbWFuYWdl ZF90aHJlYWRzX2xvY2spOwogI2VuZGlmCmRpZmYgLS1naXQgYS9saWJnb21wL2xpYmdvbXAubWFw IGIvbGliZ29tcC9saWJnb21wLm1hcAppbmRleCAyYWM1ODA5NDE2OS4uNWM1N2IxYTJkMDggMTAw NjQ0Ci0tLSBhL2xpYmdvbXAvbGliZ29tcC5tYXAKKysrIGIvbGliZ29tcC9saWJnb21wLm1hcApA QCAtMjI2LDYgKzIyNiwxNiBAQCBPTVBfNS4xIHsKIAlvbXBfZ2V0X3RlYW1zX3RocmVhZF9saW1p dF87CiB9IE9NUF81LjAuMjsKIAorT01QXzUuMC4zIHsKKyAgZ2xvYmFsOgorICAJb21wZF9kbGxf bG9jYXRpb25zOworICAJb21wZF9kbGxfbG9jYXRpb25zX3ZhbGlkOworICAJb21wZF9icF9wYXJh bGxlbF9iZWdpbjsKKyAgCW9tcGRfYnBfcGFyYWxsZWxfZW5kOworICBsb2NhbDoKKyAgCSo7Cit9 T01QXzUuMC4yOworCiBHT01QXzEuMCB7CiAgIGdsb2JhbDoKIAlHT01QX2F0b21pY19lbmQ7CmRp ZmYgLS1naXQgYS9saWJnb21wL2xpYmdvbXBkLm1hcCBiL2xpYmdvbXAvbGliZ29tcGQubWFwCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5lZjI5YTBlYTVhOAotLS0gL2Rl di9udWxsCisrKyBiL2xpYmdvbXAvbGliZ29tcGQubWFwCkBAIC0wLDAgKzEsMTIgQEAKK09NUERf NS4xIHsKKyAgZ2xvYmFsOgorCW9tcGRfaW5pdGlhbGl6ZTsKKwlvbXBkX2dldF9hcGlfdmVyc2lv bjsKKwlvbXBkX2dldF92ZXJzaW9uX3N0cmluZzsKKwlvbXBkX3Byb2Nlc3NfaW5pdGlhbGl6ZTsK KwlvbXBkX2RldmljZV9pbml0aWFsaXplOworCW9tcGRfcmVsX2FkZHJlc3Nfc3BhY2VfaGFuZGxl OworCW9tcGRfZmluYWxpemU7CisgIGxvY2FsOgorICAJKjsKK307CmRpZmYgLS1naXQgYS9saWJn b21wL29tcC10b29scy5oLmluIGIvbGliZ29tcC9vbXAtdG9vbHMuaC5pbgpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uYmZhYjQ4YTBhNjMKLS0tIC9kZXYvbnVsbAorKysg Yi9saWJnb21wL29tcC10b29scy5oLmluCkBAIC0wLDAgKzEsMjgyIEBACisvKiBDb3B5cmlnaHQg KEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb250cmlidXRlZCBi eSBNb2hhbWVkIEF0ZWYgPG1vaGFtZWRhdGVmMTY5OEBnbWFpbC5jb20+LgorICAgVGhpcyBmaWxl IGlzIHBhcnQgb2YgdGhlIEdOVSBPZmZsb2FkaW5nIGFuZCBNdWx0aSBQcm9jZXNzaW5nIExpYnJh cnkKKyAgIChsaWJnb21wKS4KKyAgIExpYmdvbXAgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICAgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9wdGlv bikKKyAgIGFueSBsYXRlciB2ZXJzaW9uLgorICAgTGliZ29tcCBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkKKyAgIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MKKyAgIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCisgICBtb3JlIGRldGFpbHMuCisgICBVbmRlciBTZWN0 aW9uIDcgb2YgR1BMIHZlcnNpb24gMywgeW91IGFyZSBncmFudGVkIGFkZGl0aW9uYWwKKyAgIHBl cm1pc3Npb25zIGRlc2NyaWJlZCBpbiB0aGUgR0NDIFJ1bnRpbWUgTGlicmFyeSBFeGNlcHRpb24s IHZlcnNpb24KKyAgIDMuMSwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhbmQKKyAgIGEgY29weSBvZiB0aGUgR0NDIFJ1bnRpbWUgTGli cmFyeSBFeGNlcHRpb24gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07CisgICBzZWUgdGhlIGZpbGVz IENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUK KyAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKworCisvKiBUaGlzIGZp bGUgY29udGFpbnMgZGF0YSB0eXBlcyBhbmQgZnVuY3Rpb24gZGVjbGFyYXRpb25zIHRoYXQKKyAg IHRoYXQgYXJlIGRlZmluZWQgaW4gT01QRCBzdGFuZGFyZC4gICovCisKKworCisjaWZuZGVmIF9P TVBfVE9PTFNfSAorI2RlZmluZSBfT01QX1RPT0xTX0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCitl eHRlcm4gIkMiIHsKKyNlbmRpZgorCitleHRlcm4gY29uc3QgY2hhciAqKm9tcGRfZGxsX2xvY2F0 aW9uczsKKwordm9pZCBvbXBkX2RsbF9sb2NhdGlvbnNfdmFsaWQodm9pZCk7CisKK3R5cGVkZWYg X19VSU5UNjRfVFlQRV9fIG9tcGRfc2l6ZV90OwordHlwZWRlZiBfX1VJTlQ2NF9UWVBFX18gb21w ZF93YWl0X2lkX3Q7CisKK3R5cGVkZWYgX19VSU5UNjRfVFlQRV9fIG9tcGRfYWRkcl90OwordHlw ZWRlZiBfX0lOVDY0X1RZUEVfXyBvbXBkX3dvcmRfdDsKK3R5cGVkZWYgX19VSU5UNjRfVFlQRV9f IG9tcGRfc2VnX3Q7CisKK3R5cGVkZWYgc3RydWN0IG9tcGRfYWRkcmVzc190Cit7CisJb21wZF9z ZWdfdCBzZWdtZW50OworCW9tcGRfYWRkcl90IGFkZHJlc3M7Cit9IG9tcGRfYWRkcmVzc190Owor Cit0eXBlZGVmIHN0cnVjdCBvbXBkX2ZyYW1lX2luZm9fdAoreworCW9tcGRfYWRkcmVzc190IGZy YW1lX2FkZHJlc3M7CisJb21wZF93b3JkX3QgZnJhbWVfZmxhZzsKK30gb21wZF9mcmFtZV9pbmZv X3Q7CisKK3R5cGVkZWYgX19VSU5UNjRfVFlQRV9fIG9tcGRfZGV2aWNlX3Q7Cit0eXBlZGVmIF9f VUlOVDY0X1RZUEVfXyBvbXBkX3RocmVhZF9pZF90OworCit0eXBlZGVmIHN0cnVjdCBfb21wZF9h c3BhY2VfaGFuZGxlIG9tcGRfYWRkcmVzc19zcGFjZV9oYW5kbGVfdDsKK3R5cGVkZWYgc3RydWN0 IF9vbXBkX3RocmVhZF9oYW5kbGUgb21wZF90aHJlYWRfaGFuZGxlX3Q7Cit0eXBlZGVmIHN0cnVj dCBfb21wZF9wYXJhbGxlbF9oYW5kbGUgb21wZF9wYXJhbGxlbF9oYW5kbGVfdDsKK3R5cGVkZWYg c3RydWN0IF9vbXBkX3Rhc2tfaGFuZGxlIG9tcGRfdGFza19oYW5kbGVfdDsKKwordHlwZWRlZiBl bnVtIG9tcGRfc2NvcGVfdAoreworCW9tcGRfc2NvcGVfZ2xvYmFsCQkgICAgPSAxLAorCW9tcGRf c2NvcGVfYWRkcmVzc19zcGFjZSA9IDIsCisJb21wZF9zY29wZV90aHJlYWQJCSAgICA9IDMsCisJ b21wZF9zY29wZV9wYXJhbGxlbAkJID0gNCwKKwlvbXBkX3Njb3BlX2ltcGxpY2l0X3Rhc2sgPSA1 LAorCW9tcGRfc2NvcGVfdGFzayAgICAgICAgICA9IDYKK30gb21wZF9zY29wZV90OworCit0eXBl ZGVmIF9fVUlOVDY0X1RZUEVfXyBvbXBkX2ljdl9pZF90OworCit0eXBlZGVmIHN0cnVjdCBfb21w ZF9hc3BhY2VfY29udCBvbXBkX2FkZHJlc3Nfc3BhY2VfY29udGV4dF90OwordHlwZWRlZiBzdHJ1 Y3QgX29tcGRfdGhyZWFkX2NvbnQgb21wZF90aHJlYWRfY29udGV4dF90OworCit0eXBlZGVmIGVu dW0gb21wZF9yY190Cit7CisJb21wZF9yY19vayAgICAgICAgICAgICAgICAgICA9IDAsCisJb21w ZF9yY191bmF2YWlsYWJsZSAgICAgICAgICA9IDEsCisJb21wZF9yY19zdGFsZV9oYW5kbGUgICAg ICAgICA9IDIsCisJb21wZF9yY19iYWRfaW5wdXQgICAgICAgICAgICA9IDMsCisJb21wZF9yY19l cnJvciAgICAgICAgICAgICAgICA9IDQsCisJb21wZF9yY191bnN1cHBvcnRlZCAgICAgICAgICA9 IDUsCisJb21wZF9yY19uZWVkc19zdGF0ZV90cmFja2luZyA9IDYsCisJb21wZF9yY19pbmNvbXBh dGlibGUJCSAJICA9IDcsCisJb21wZF9yY19kZXZpY2VfcmVhZF9lcnJvcgkgID0gOCwKKwlvbXBk X3JjX2RldmljZV93cml0ZV9lcnJvciAgID0gOSwKKwlvbXBkX3JjX25vbWVtICAgICAgICAgICAg ICAgID0gMTAsCisJb21wZF9yY19pbmNvbXBsZXRlICAgICAgICAgICA9IDExLAorCW9tcGRfcmNf Y2FsbGJhY2tfZXJyb3IgICAgICAgPSAxMgorfSBvbXBkX3JjX3Q7CisKKwordHlwZWRlZiBzdHJ1 Y3Qgb21wZF9kZXZpY2VfdHlwZV9zaXplc190Cit7CisJX19VSU5UOF9UWVBFX18gc2l6ZW9mX2No YXI7CisJX19VSU5UOF9UWVBFX18gc2l6ZW9mX3Nob3J0OworCV9fVUlOVDhfVFlQRV9fIHNpemVv Zl9pbnQ7CisJX19VSU5UOF9UWVBFX18gc2l6ZW9mX2xvbmc7CisJX19VSU5UOF9UWVBFX18gc2l6 ZW9mX2xvbmdfbG9uZzsKKwlfX1VJTlQ4X1RZUEVfXyBzaXplb2ZfcG9pbnRlcjsKK30gb21wZF9k ZXZpY2VfdHlwZV9zaXplc190OworCisKK3R5cGVkZWYgb21wZF9yY190ICgqb21wZF9jYWxsYmFj a19tZW1vcnlfYWxsb2NfZm5fdCkgKG9tcGRfc2l6ZV90LCB2b2lkICoqKTsKK3R5cGVkZWYgb21w ZF9yY190ICgqb21wZF9jYWxsYmFja19tZW1vcnlfZnJlZV9mbl90KSAodm9pZCAqKTsKKwordHlw ZWRlZiBvbXBkX3JjX3QgKCpvbXBkX2NhbGxiYWNrX2dldF90aHJlYWRfY29udGV4dF9mb3JfdGhy ZWFkX2lkX2ZuX3QpIAorCShvbXBkX2FkZHJlc3Nfc3BhY2VfY29udGV4dF90ICosIG9tcGRfdGhy ZWFkX2lkX3QsCisJb21wZF9zaXplX3QsIGNvbnN0IHZvaWQgKiwgb21wZF90aHJlYWRfY29udGV4 dF90ICoqKTsKKworCit0eXBlZGVmIG9tcGRfcmNfdCAoKm9tcGRfY2FsbGJhY2tfc2l6ZW9mX2Zu X3QpCisJKG9tcGRfYWRkcmVzc19zcGFjZV9jb250ZXh0X3QgKiwgb21wZF9kZXZpY2VfdHlwZV9z aXplc190ICopOworCisKK3R5cGVkZWYgb21wZF9yY190ICgqb21wZF9jYWxsYmFja19zeW1ib2xf YWRkcl9mbl90KSAKKwkob21wZF9hZGRyZXNzX3NwYWNlX2NvbnRleHRfdCAqLCBvbXBkX3RocmVh ZF9jb250ZXh0X3QgKiwKKwljb25zdCBjaGFyICosIG9tcGRfYWRkcmVzc190ICosIGNvbnN0IGNo YXIgKik7CisKK3R5cGVkZWYgb21wZF9yY190ICgqb21wZF9jYWxsYmFja19tZW1vcnlfcmVhZF9m bl90KQorCShvbXBkX2FkZHJlc3Nfc3BhY2VfY29udGV4dF90ICosIG9tcGRfdGhyZWFkX2NvbnRl eHRfdCAqLAorCWNvbnN0IG9tcGRfYWRkcmVzc190ICosIG9tcGRfc2l6ZV90IG5ieXRlcywgdm9p ZCAqKTsKKworCit0eXBlZGVmIG9tcGRfcmNfdCAoKm9tcGRfY2FsbGJhY2tfbWVtb3J5X3dyaXRl X2ZuX3QpCisJKG9tcGRfYWRkcmVzc19zcGFjZV9jb250ZXh0X3QgKiwgb21wZF90aHJlYWRfY29u dGV4dF90ICosCisJY29uc3Qgb21wZF9hZGRyZXNzX3QgKiwgb21wZF9zaXplX3QsIGNvbnN0IHZv aWQgKik7CisKK3R5cGVkZWYgb21wZF9yY190ICgqb21wZF9jYWxsYmFja19kZXZpY2VfaG9zdF9m bl90KQorCShvbXBkX2FkZHJlc3Nfc3BhY2VfY29udGV4dF90ICosIGNvbnN0IHZvaWQgKiwKKwlv bXBkX3NpemVfdCwgb21wZF9zaXplX3QsIHZvaWQgKik7CisKKwordHlwZWRlZiBvbXBkX3JjX3Qg KCpvbXBkX2NhbGxiYWNrX3ByaW50X3N0cmluZ19mbl90KSAoY29uc3QgY2hhciAqLCBpbnQpOwor Cit0eXBlZGVmIHN0cnVjdCBvbXBkX2NhbGxiYWNrc190IAoreworCW9tcGRfY2FsbGJhY2tfbWVt b3J5X2FsbG9jX2ZuX3QgYWxsb2NfbWVtb3J5OworCW9tcGRfY2FsbGJhY2tfbWVtb3J5X2ZyZWVf Zm5fdCBmcmVlX21lbW9yeTsKKwlvbXBkX2NhbGxiYWNrX3ByaW50X3N0cmluZ19mbl90IHByaW50 X3N0cmluZzsKKwlvbXBkX2NhbGxiYWNrX3NpemVvZl9mbl90IHNpemVvZl90eXBlOworCW9tcGRf Y2FsbGJhY2tfc3ltYm9sX2FkZHJfZm5fdCBzeW1ib2xfYWRkcl9sb29rdXA7CisJb21wZF9jYWxs YmFja19tZW1vcnlfcmVhZF9mbl90IHJlYWRfbWVtb3J5OworCW9tcGRfY2FsbGJhY2tfbWVtb3J5 X3dyaXRlX2ZuX3Qgd3JpdGVfbWVtb3J5OworCW9tcGRfY2FsbGJhY2tfbWVtb3J5X3JlYWRfZm5f dCByZWFkX3N0cmluZzsKKwlvbXBkX2NhbGxiYWNrX2RldmljZV9ob3N0X2ZuX3QgZGV2aWNlX3Rv X2hvc3Q7CisJb21wZF9jYWxsYmFja19kZXZpY2VfaG9zdF9mbl90IGhvc3RfdG9fZGV2aWNlOwor CW9tcGRfY2FsbGJhY2tfZ2V0X3RocmVhZF9jb250ZXh0X2Zvcl90aHJlYWRfaWRfZm5fdAorCQln ZXRfdGhyZWFkX2NvbnRleHRfZm9yX3RocmVhZF9pZDsKK30gb21wZF9jYWxsYmFja3NfdDsKKwor CitvbXBkX3JjX3Qgb21wZF9pbml0aWFsaXplKG9tcGRfd29yZF90LCBjb25zdCBvbXBkX2NhbGxi YWNrc190ICopOworCitvbXBkX3JjX3Qgb21wZF9nZXRfYXBpX3ZlcnNpb24ob21wZF93b3JkX3Qg Kik7CitvbXBkX3JjX3Qgb21wZF9nZXRfdmVyc2lvbl9zdHJpbmcoY29uc3QgY2hhciAqKik7CisK K29tcGRfcmNfdCBvbXBkX2ZpbmFsaXplKHZvaWQpOworCitvbXBkX3JjX3Qgb21wZF9wcm9jZXNz X2luaXRpYWxpemUgCisJKG9tcGRfYWRkcmVzc19zcGFjZV9jb250ZXh0X3QgKiwgb21wZF9hZGRy ZXNzX3NwYWNlX2hhbmRsZV90ICoqKTsKKworCitvbXBkX3JjX3Qgb21wZF9kZXZpY2VfaW5pdGlh bGl6ZSAKKwkob21wZF9hZGRyZXNzX3NwYWNlX2hhbmRsZV90ICosIG9tcGRfYWRkcmVzc19zcGFj ZV9jb250ZXh0X3QgKiwKKwlvbXBkX2RldmljZV90LCBvbXBkX3NpemVfdCwgdm9pZCAqLCBvbXBk X2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3QgKiopOworCitvbXBkX3JjX3Qgb21wZF9yZWxfYWRkcmVz c19zcGFjZV9oYW5kbGUob21wZF9hZGRyZXNzX3NwYWNlX2hhbmRsZV90ICopOworCitvbXBkX3Jj X3Qgb21wZF9nZXRfb21wX3ZlcnNpb24gKG9tcGRfYWRkcmVzc19zcGFjZV9oYW5kbGVfdCAqLCBv bXBkX3dvcmRfdCAqKTsKKworb21wZF9yY190IG9tcGRfZ2V0X29tcF92ZXJzaW9uX3N0cmluZyAo b21wZF9hZGRyZXNzX3NwYWNlX2hhbmRsZV90ICosIAorCWNvbnN0IGNoYXIgKiopOworCisKKwor b21wZF9yY190IG9tcGRfZ2V0X3RocmVhZF9pbl9wYXJhbGxlbAorCShvbXBkX3BhcmFsbGVsX2hh bmRsZV90ICosIGludCwgb21wZF90aHJlYWRfaGFuZGxlX3QgKiopOworCitvbXBkX3JjX3Qgb21w ZF9nZXRfdGhyZWFkX2hhbmRsZQorCShvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3QgKiwgb21w ZF90aHJlYWRfaWRfdCwKKwlvbXBkX3NpemVfdCxjb25zdCB2b2lkICosIG9tcGRfdGhyZWFkX2hh bmRsZV90ICoqKTsKKworb21wZF9yY190IG9tcGRfcmVsX3RocmVhZF9oYW5kbGUgKG9tcGRfdGhy ZWFkX2hhbmRsZV90ICopOworCitvbXBkX3JjX3Qgb21wZF90aHJlYWRfaGFuZGxlX2NvbXBhcmUg KG9tcGRfdGhyZWFkX2hhbmRsZV90ICosCisJb21wZF90aHJlYWRfaGFuZGxlX3QgKixpbnQgKik7 CisKKworb21wZF9yY190IG9tcGRfZ2V0X3RocmVhZF9pZCAob21wZF90aHJlYWRfaGFuZGxlX3Qg KiwKKwlvbXBkX3RocmVhZF9pZF90LCBvbXBkX3NpemVfdCwgdm9pZCAqKTsKKworb21wZF9yY190 IG9tcGRfZ2V0X2N1cnJfcGFyYWxsZWxfaGFuZGxlIChvbXBkX3RocmVhZF9oYW5kbGVfdCAqLAor CW9tcGRfcGFyYWxsZWxfaGFuZGxlX3QgKiopOworCitvbXBkX3JjX3Qgb21wZF9nZXRfZW5jbG9z aW5nX3BhcmFsbGVsX2hhbmRsZSAob21wZF9wYXJhbGxlbF9oYW5kbGVfdCAqLAorCW9tcGRfcGFy YWxsZWxfaGFuZGxlX3QgKiopOworCisKK29tcGRfcmNfdCBvbXBkX2dldF90YXNrX3BhcmFsbGVs X2hhbmRsZSAob21wZF90YXNrX2hhbmRsZV90ICosCisJb21wZF9wYXJhbGxlbF9oYW5kbGVfdCAq Kik7CisKKworb21wZF9yY190IG9tcGRfcmVsX3BhcmFsbGVsX2hhbmRsZSAob21wZF9wYXJhbGxl bF9oYW5kbGVfdCAqKTsKKworb21wZF9yY190IG9tcGRfcGFyYWxsZWxfaGFuZGxlX2NvbXBhcmUg KG9tcGRfcGFyYWxsZWxfaGFuZGxlX3QgKiwKKwlvbXBkX3BhcmFsbGVsX2hhbmRsZV90ICosIGlu dCAqKTsKKworb21wZF9yY190IG9tcGRfZ2V0X2N1cnJfdGFza19oYW5kbGUgKG9tcGRfdGhyZWFk X2hhbmRsZV90ICosCisJb21wZF90YXNrX2hhbmRsZV90ICoqKTsKKworb21wZF9yY190IG9tcGRf Z2V0X2dlbmVyYXRpbmdfdGFza19oYW5kbGUgKG9tcGRfdGFza19oYW5kbGVfdCAqLAorCW9tcGRf dGFza19oYW5kbGVfdCAqKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF9zY2hlZHVsaW5nX3Rhc2tf aGFuZGxlIChvbXBkX3Rhc2tfaGFuZGxlX3QgKiwKKwlvbXBkX3Rhc2tfaGFuZGxlX3QgKiopOwor CitvbXBkX3JjX3Qgb21wZF9nZXRfdGFza19pbl9wYXJhbGxlbCAob21wZF9wYXJhbGxlbF9oYW5k bGVfdCAqLAorCWludCwgb21wZF90YXNrX2hhbmRsZV90ICoqKTsKKworb21wZF9yY190IG9tcGRf cmVsX3Rhc2tfaGFuZGxlIChvbXBkX3Rhc2tfaGFuZGxlX3QgKik7CisKK29tcGRfcmNfdCBvbXBk X3Rhc2tfaGFuZGxlX2NvbXBhcmUgKG9tcGRfdGFza19oYW5kbGVfdCAqLAorCW9tcGRfdGFza19o YW5kbGVfdCAqLCBpbnQgKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF90YXNrX2Z1bmN0aW9uIChv bXBkX3Rhc2tfaGFuZGxlX3QgKiwgb21wZF9hZGRyZXNzX3QgKik7CisKK29tcGRfcmNfdCBvbXBk X2dldF90YXNrX2ZyYW1lIChvbXBkX3Rhc2tfaGFuZGxlX3QgKiwgb21wZF9mcmFtZV9pbmZvX3Qg KiwKKwlvbXBkX2ZyYW1lX2luZm9fdCAqKTsKKworb21wZF9yY190IG9tcGRfZW51bWVyYXRlX3N0 YXRlcyAob21wZF9hZGRyZXNzX3NwYWNlX2hhbmRsZV90ICosIG9tcGRfd29yZF90LAorCW9tcGRf d29yZF90ICosIGNvbnN0IGNoYXIgKiosIG9tcGRfd29yZF90ICopOworCitvbXBkX3JjX3Qgb21w ZF9nZXRfc3RhdGUgKG9tcGRfdGhyZWFkX2hhbmRsZV90ICosCisJb21wZF93b3JkX3QgKiwgb21w ZF93YWl0X2lkX3QgKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF9kaXNwbGF5X2NvbnRyb2xfdmFy cyAob21wZF9hZGRyZXNzX3NwYWNlX2hhbmRsZV90ICosCisJY29uc3QgY2hhciAqIGNvbnN0ICoq KTsKKworb21wZF9yY190IG9tcGRfcmVsX2Rpc3BsYXlfY29udHJvbF92YXJzIChjb25zdCBjaGFy ICogY29uc3QgKiopOworCitvbXBkX3JjX3Qgb21wZF9lbnVtZXJhdGVfaWN2cyAob21wZF9hZGRy ZXNzX3NwYWNlX2hhbmRsZV90ICosIG9tcGRfaWN2X2lkX3QsCisJb21wZF9pY3ZfaWRfdCAqLCBj b25zdCBjaGFyICoqLCBvbXBkX3Njb3BlX3QgKixpbnQgKik7CisKK29tcGRfcmNfdCBvbXBkX2dl dF9pY3ZfZnJvbV9zY29wZSAodm9pZCAqLCBvbXBkX3Njb3BlX3QsIG9tcGRfaWN2X2lkX3QsCisJ b21wZF93b3JkX3QgKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF9pY3Zfc3RyaW5nX2Zyb21fc2Nv cGUgKHZvaWQgKiwgb21wZF9zY29wZV90LCBvbXBkX2ljdl9pZF90LAorCWNvbnN0IGNoYXIgKiop OworCisKK29tcGRfcmNfdCBvbXBkX2dldF90b29sX2RhdGEgKHZvaWQgKiwgb21wZF9zY29wZV90 LCBvbXBkX3dvcmRfdCAqLAorCW9tcGRfYWRkcmVzc190ICopOworCit2b2lkIG9tcGRfYnBfcGFy YWxsZWxfYmVnaW4odm9pZCk7Cit2b2lkIG9tcGRfYnBfcGFyYWxsZWxfZW5kKHZvaWQpOworCit2 b2lkIG9tcGRfYnBfdGFza19iZWdpbih2b2lkKTsKK3ZvaWQgb21wZF9icF90YXNrX2VuZCh2b2lk KTsKKwordm9pZCBvbXBkX2JwX3RocmVhZF9iZWdpbih2b2lkKTsKK3ZvaWQgb21wZF9icF90aHJl YWRfZW5kKHZvaWQpOworCit2b2lkIG9tcGRfYnBfZGV2aWNlX2JlZ2luKHZvaWQpOwordm9pZCBv bXBkX2JwX2RldmljZV9lbmQodm9pZCk7CisKKworI2RlZmluZSBvbXBkX3NlZ21lbnRfbm9uZSAg KChvbXBkX3NlZ190KSAwKQorI2RlZmluZSBvbXBkX2ljdl91bmRlZmluZWQgKChvbXBkX2ljdl9p ZF90KSAwKQorCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfTsgLy8gZXh0ZXJuICJDIgorI2VuZGlm CisKKyNlbmRpZiAvKiBfT01QX1RPT0xTX0ggKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CmRpZmYgLS1naXQgYS9saWJnb21wL29tcGQtaGVscGVyLmMgYi9saWJnb21wL29tcGQtaGVscGVy LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjAzMzk5MDA3M2E1Ci0t LSAvZGV2L251bGwKKysrIGIvbGliZ29tcC9vbXBkLWhlbHBlci5jCkBAIC0wLDAgKzEsNDcgQEAK Ky8qIENvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAg IENvbnRyaWJ1dGVkIGJ5IE1vaGFtZWQgQXRlZiA8bW9oYW1lZGF0ZWYxNjk4QGdtYWlsLmNvbT4u CisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIE9mZmxvYWRpbmcgYW5kIE11bHRpIFBy b2Nlc3NpbmcgTGlicmFyeQorICAgKGxpYmdvbXApLgorICAgTGliZ29tcCBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgICB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3Ig KGF0IHlvdXIgb3B0aW9uKQorICAgYW55IGxhdGVyIHZlcnNpb24uCisgICBMaWJnb21wIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VU IEFOWQorICAgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUworICAgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAgIG1vcmUgZGV0YWlscy4K KyAgIFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJlIGdyYW50ZWQgYWRk aXRpb25hbAorICAgcGVybWlzc2lvbnMgZGVzY3JpYmVkIGluIHRoZSBHQ0MgUnVudGltZSBMaWJy YXJ5IEV4Y2VwdGlvbiwgdmVyc2lvbgorICAgMy4xLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFuZAorICAgYSBjb3B5IG9mIHRoZSBH Q0MgUnVudGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsKKyAg IHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHku ICBJZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKwor CisKKworCisjaW5jbHVkZSAib21wZC1oZWxwZXIuaCIKKworb21wZF9kZXZpY2VfdHlwZV9zaXpl c190IHRhcmdldF9zaXplczsKKworb21wZF9yY190CitnZXRfc2l6ZXMob21wZF9hZGRyZXNzX3Nw YWNlX2NvbnRleHRfdCAqY29udGV4dCkKK3sKKwlpZihjb250ZXh0ID09IE5VTEwpCisJCXJldHVy biBvbXBkX3JjX2JhZF9pbnB1dDsKKworCXN0YXRpYyBpbnQgaW5pdGVkID0gMDsKKwlzdGF0aWMg b21wZF9yY190IHJldDsKKworCWlmKGluaXRlZCkKKwkJcmV0dXJuIHJldDsKKworCXJldCA9IGNh bGxiYWNrcy0+c2l6ZW9mX3R5cGUoY29udGV4dCwgJnRhcmdldF9zaXplcyk7CisJaWYocmV0ICE9 IG9tcGRfcmNfb2spCisJCXJldHVybiByZXQ7CisKKwlpbml0ZWQgPSAxOworCXJldHVybiByZXQ7 Cit9CmRpZmYgLS1naXQgYS9saWJnb21wL29tcGQtaGVscGVyLmggYi9saWJnb21wL29tcGQtaGVs cGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjQyNzgzM2U3MDNh Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC9vbXBkLWhlbHBlci5oCkBAIC0wLDAgKzEsNjUg QEAKKy8qIENvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KyAgIENvbnRyaWJ1dGVkIGJ5IE1vaGFtZWQgQXRlZiA8bW9oYW1lZGF0ZWYxNjk4QGdtYWlsLmNv bT4uCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIE9mZmxvYWRpbmcgYW5kIE11bHRp IFByb2Nlc3NpbmcgTGlicmFyeQorICAgKGxpYmdvbXApLgorICAgTGliZ29tcCBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgICB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywg b3IgKGF0IHlvdXIgb3B0aW9uKQorICAgYW55IGxhdGVyIHZlcnNpb24uCisgICBMaWJnb21wIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRI T1VUIEFOWQorICAgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUworICAgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAgIG1vcmUgZGV0YWls cy4KKyAgIFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJlIGdyYW50ZWQg YWRkaXRpb25hbAorICAgcGVybWlzc2lvbnMgZGVzY3JpYmVkIGluIHRoZSBHQ0MgUnVudGltZSBM aWJyYXJ5IEV4Y2VwdGlvbiwgdmVyc2lvbgorICAgMy4xLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFuZAorICAgYSBjb3B5IG9mIHRo ZSBHQ0MgUnVudGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsK KyAgIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZl bHkuICBJZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KworCisKKy8qVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBoZWxwZXIgZnVuY3Rpb25zIGZvciBPTVBE LiAgKi8KKworI2lmbmRlZiBfT01QRF9IRUxQRVJfSAorI2RlZmluZSBfT01QRF9IRUxQRVJfSAor CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2luY2x1ZGUg Im9tcC10b29scy5oIgorI2luY2x1ZGUgIm9tcGQtdHlwZXMuaCIKKyNpbmNsdWRlIDxzdGRpby5o PgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjZGVmaW5lIHN0cmluZ2l6ZSh4KSAgc3RyaW5naXpl MSh4KQorI2RlZmluZSBzdHJpbmdpemUxKHgpICN4CisKKyNkZWZpbmUgVkVSU0lPTiAyMDIwMTEK KworZXh0ZXJuIGNvbnN0IG9tcGRfY2FsbGJhY2tzX3QgKmNhbGxiYWNrczsKK2V4dGVybiBfX1VJ TlQ2NF9UWVBFX18gb21wZF9zdGF0ZTsKK2V4dGVybiBvbXBkX2RldmljZV90eXBlX3NpemVzX3Qg dGFyZ2V0X3NpemVzOworCisKK29tcGRfcmNfdCBnZXRfc2l6ZXMob21wZF9hZGRyZXNzX3NwYWNl X2NvbnRleHRfdCAqKTsKKworCisKK3N0cnVjdCBfb21wZF9hc3BhY2VfaGFuZGxlCit7CisJb21w ZF9hZGRyZXNzX3NwYWNlX2NvbnRleHRfdCAqY29udGV4dDsKKwlvbXBkX2RldmljZV90IGtpbmQ7 Cit9OworCisKKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30gLy8gZXh0ZXJuIEMKKyNlbmRpZgor CisjZW5kaWYgLyogT01QRF9IRUxQRVJfSCAqLwpkaWZmIC0tZ2l0IGEvbGliZ29tcC9vbXBkLWlu aXQuYyBiL2xpYmdvbXAvb21wZC1pbml0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjgwZThlNWNlNjJhCi0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC9vbXBkLWlu aXQuYwpAQCAtMCwwICsxLDE1NyBAQAorLyogQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29udHJpYnV0ZWQgYnkgTW9oYW1lZCBBdGVmIDxtb2hh bWVkYXRlZjE2OThAZ21haWwuY29tPi4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUg T2ZmbG9hZGluZyBhbmQgTXVsdGkgUHJvY2Vzc2luZyBMaWJyYXJ5CisgICAobGliZ29tcCkuCisg ICBMaWJnb21wIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkgaXQKKyAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCisgICBhbnkgbGF0ZXIgdmVy c2lvbi4KKyAgIExpYmdvbXAgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCisgICBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCisgICBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvcgorICAgbW9yZSBkZXRhaWxzLgorICAgVW5kZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJzaW9u IDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCisgICBwZXJtaXNzaW9ucyBkZXNjcmliZWQg aW4gdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uLCB2ZXJzaW9uCisgICAzLjEsIGFz IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YW5kCisgICBhIGNvcHkgb2YgdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOworICAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlO Ry5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCisgICA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLworCisKKworLypUaGlzIGZpbGUgY29udGFpbnMgdGhlIGltcGxl bWVudGF0aW9uIG9mIGZ1bmN0aW9ucyBkZWZpbmVkIGluCisJc2VjdGlvbiA1LjUuMSwgNS41LjIu ICAqLworCisKKyNpbmNsdWRlICJvbXBkLWhlbHBlci5oIgorCisKKworCisKKy8qUGVyIE9NUEQg aW5pdGlhbGl6YXRpb24gYW5kIGZpbmFsaXphdGlvbi4gICovCisKK19fVUlOVDY0X1RZUEVfXyBv bXBkX3N0YXRlOworY29uc3Qgb21wZF9jYWxsYmFja3NfdCAqY2FsbGJhY2tzOworCitvbXBkX3Jj X3QKK29tcGRfaW5pdGlhbGl6ZShvbXBkX3dvcmRfdCBhcGlfdmVyc2lvbiwKKwljb25zdCBvbXBk X2NhbGxiYWNrc190ICpjYWxsYmFja3NfdGFibGUpCit7CisJaWYoY2FsbGJhY2tzX3RhYmxlID09 IE5VTEwpCisJCXJldHVybiBvbXBkX3JjX2JhZF9pbnB1dDsKKworCW9tcGRfd29yZF90IHZlcnNp b247CisJb21wZF9yY190IHJldCA9IG9tcGRfZ2V0X2FwaV92ZXJzaW9uKCZ2ZXJzaW9uKTsKKwor CWlmKHZlcnNpb24gIT0gYXBpX3ZlcnNpb24pCisJCXJldHVybiBvbXBkX3JjX3Vuc3VwcG9ydGVk OworCisJY2FsbGJhY2tzID0gY2FsbGJhY2tzX3RhYmxlOworCXJldHVybiByZXQ7Cit9CisKKwor b21wZF9yY190CitvbXBkX2dldF9hcGlfdmVyc2lvbihvbXBkX3dvcmRfdCAqdmVyc2lvbikKK3sK KwlpZih2ZXJzaW9uID09IE5VTEwpCisJCXJldHVybiBvbXBkX3JjX2JhZF9pbnB1dDsKKworCSp2 ZXJzaW9uID0gVkVSU0lPTjsKKwlyZXR1cm4gb21wZF9yY19vazsKK30KKworCitvbXBkX3JjX3QK K29tcGRfZ2V0X3ZlcnNpb25fc3RyaW5nKGNvbnN0IGNoYXIgKipzdHJpbmcpCit7CisJaWYoc3Ry aW5nID09IE5VTEwpCisJCXJldHVybiBvbXBkX3JjX2JhZF9pbnB1dDsKKwlzdGF0aWMgY29uc3Qg Y2hhciB0bXBfc3RyaW5nW10gPSAKKwkJIkdOVSBPcGVuTVAgcnVudGltZSBpbXBsZW1lbnRpbmcg T01QRCB2ZXJzaW9uICIKKwkJCXN0cmluZ2l6ZShWRVJTSU9OKSAiIERlYnVnZ2luZyBsaWJyYXJ5 LiI7CisJKnN0cmluZyA9IHRtcF9zdHJpbmc7CisJcmV0dXJuIG9tcGRfcmNfb2s7Cit9CisKKwor b21wZF9yY190CitvbXBkX2ZpbmFsaXplKCkKK3sKKwlyZXR1cm4gb21wZF9yY19vazsKK30KKwor CisKKy8qUGVyIHByb2Nlc3MgaW5pdGlhbGl6YXRpb24gYW5kIGZpbmFsaXphdGlvbi4gICovCisK Kworb21wZF9yY190CitvbXBkX3Byb2Nlc3NfaW5pdGlhbGl6ZShvbXBkX2FkZHJlc3Nfc3BhY2Vf Y29udGV4dF90ICpjb250ZXh0LAorCW9tcGRfYWRkcmVzc19zcGFjZV9oYW5kbGVfdCAqKmhhbmRs ZSkKK3sKKwlpZihjb250ZXh0ID09IE5VTEwgfHwgaGFuZGxlID09IE5VTEwpCisJCXJldHVybiBv bXBkX3JjX2JhZF9pbnB1dDsKKworCW9tcGRfcmNfdCByZXQgPSBnZXRfc2l6ZXMoY29udGV4dCk7 CisJaWYocmV0ICE9IG9tcGRfcmNfb2spCisJCXJldHVybiByZXQ7CisKKwlvbXBkX2FkZHJlc3Nf dCBzeW1ib2xfYWRkciA9IHtPTVBEX1NFR01FTlRfVU5TUEVDSUZJRUQsIDB9OworCisKKwkvL25h aXZlIHdheSB0byByZWFkIGZyb20gbWVtb3J5CisJcmV0ID0gY2FsbGJhY2tzLT5zeW1ib2xfYWRk cl9sb29rdXAoY29udGV4dCwgTlVMTCwgIm9tcGRfc3RhdGUiLAorCQkJJnN5bWJvbF9hZGRyLCBO VUxMKTsKKworCXJldCA9IGNhbGxiYWNrcy0+cmVhZF9tZW1vcnkoY29udGV4dCwgTlVMTCwgJnN5 bWJvbF9hZGRyLAorCQkJdGFyZ2V0X3NpemVzLnNpemVvZl9sb25nX2xvbmcsICZvbXBkX3N0YXRl KTsKKworCXJldCA9IGNhbGxiYWNrcy0+ZGV2aWNlX3RvX2hvc3QoY29udGV4dCwgJm9tcGRfc3Rh dGUsCisJCQl0YXJnZXRfc2l6ZXMuc2l6ZW9mX2xvbmdfbG9uZywgMSwgJm9tcGRfc3RhdGUpOwor CisJcmV0ID0gY2FsbGJhY2tzLT5hbGxvY19tZW1vcnkoc2l6ZW9mKG9tcGRfYWRkcmVzc19zcGFj ZV9oYW5kbGVfdCksCisJCQkodm9pZCAqKikoaGFuZGxlKSk7CisJCisKKwlpZihyZXQgIT0gb21w ZF9yY19vaykKKwkJcmV0dXJuIHJldDsKKworCWlmKGhhbmRsZSA9PSBOVUxMKQorCQlyZXR1cm4g b21wZF9yY19lcnJvcjsKKworCSgqaGFuZGxlKS0+Y29udGV4dCA9IGNvbnRleHQ7CisJKCpoYW5k bGUpLT5raW5kID0gT01QRF9ERVZJQ0VfS0lORF9IT1NUOworCXJldHVybiByZXQ7Cit9CisKKwor CisvKk9NUEQgd2lsbCBub3Qgc3VwcG9ydCBHUFVzIGZvciBub3cuICovCisKK29tcGRfcmNfdAor b21wZF9kZXZpY2VfaW5pdGlhbGl6ZShvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3QgKnByb2Nl c3NfaGFuZGxlLAorCW9tcGRfYWRkcmVzc19zcGFjZV9jb250ZXh0X3QgKmRldmljZV9jb250ZXh0 LCBvbXBkX2RldmljZV90IGtpbmQsCisJb21wZF9zaXplX3Qgc2l6ZW9mX2lkLCB2b2lkICppZCwK KwlvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3QgKipkZXZpY2VfaGFuZGxlKQorCit7CisJaWYo ZGV2aWNlX2NvbnRleHQgPT0gTlVMTCkKKwkJcmV0dXJuIG9tcGRfcmNfYmFkX2lucHV0OworCisJ cmV0dXJuIG9tcGRfcmNfdW5zdXBwb3J0ZWQ7Cit9CisKKworCitvbXBkX3JjX3QKK29tcGRfcmVs X2FkZHJlc3Nfc3BhY2VfaGFuZGxlKG9tcGRfYWRkcmVzc19zcGFjZV9oYW5kbGVfdCAqaGFuZGxl KQoreworCWlmKGhhbmRsZSA9PSBOVUxMKQorCQlyZXR1cm4gb21wZF9yY19zdGFsZV9oYW5kbGU7 CisKKwlvbXBkX3JjX3QgcmV0ID0gY2FsbGJhY2tzLT5mcmVlX21lbW9yeSgodm9pZCAqKWhhbmRs ZSk7CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2xpYmdvbXAvb21wZC1zdXBwb3J0LmMg Yi9saWJnb21wL29tcGQtc3VwcG9ydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi44NDU4ZTFmNWQ1ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmdvbXAvb21wZC1zdXBw b3J0LmMKQEAgLTAsMCArMSwxMDggQEAKKy8qIENvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvbnRyaWJ1dGVkIGJ5IE1vaGFtZWQgQXRlZiA8bW9o YW1lZGF0ZWYxNjk4QGdtYWlsLmNvbT4uCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05V IE9mZmxvYWRpbmcgYW5kIE11bHRpIFByb2Nlc3NpbmcgTGlicmFyeQorICAgKGxpYmdvbXApLgor ICAgTGliZ29tcCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5IGl0CisgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorICAgYW55IGxhdGVyIHZl cnNpb24uCisgICBMaWJnb21wIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWQorICAgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUworICAgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IKKyAgIG1vcmUgZGV0YWlscy4KKyAgIFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lv biAzLCB5b3UgYXJlIGdyYW50ZWQgYWRkaXRpb25hbAorICAgcGVybWlzc2lvbnMgZGVzY3JpYmVk IGluIHRoZSBHQ0MgUnVudGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiwgdmVyc2lvbgorICAgMy4xLCBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFuZAorICAgYSBjb3B5IG9mIHRoZSBHQ0MgUnVudGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiBhbG9u ZyB3aXRoIHRoaXMgcHJvZ3JhbTsKKyAgIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJ TkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworI2luY2x1ZGUgIm9tcGQtc3VwcG9ydC5oIgorCisKKwor Y29uc3QgY2hhciAqKm9tcGRfZGxsX2xvY2F0aW9ucyA9IE5VTEw7CitfX1VJTlQ2NF9UWVBFX18g b21wZF9zdGF0ZTsKKwordm9pZCAKK29tcGRfbG9hZCgpCit7CisJc3RhdGljIGludCBvbXBkX2lu aXRpYWxpemVkID0gMDsKKwlpZihvbXBkX2luaXRpYWxpemVkKQorCQlyZXR1cm47CisJZnByaW50 ZihzdGRlcnIsICJPTVAgT01QRCBhY3RpdmVcbiIpOworCXN0YXRpYyBjb25zdCBjaGFyICp0bXBf b21wZF9kbGxfbG9jYXRpb25zWzJdIAorCQk9IHsibGliZ29tcGQiIFNPTkFNRV9TVUZGSVgoMSkg LCBOVUxMfTsKKwlvbXBkX3N0YXRlIHw9IE9NUERfRU5BQkxFRDsKKwlvbXBkX2luaXRpYWxpemVk ID0gMTsKKwlvbXBkX2RsbF9sb2NhdGlvbnMgPSAoY29uc3QgY2hhciAqKiltYWxsb2MoMiAqIHNp emVvZihjb25zdCBjaGFyICopKTsKKwlvbXBkX2RsbF9sb2NhdGlvbnNbMF0gPSB0bXBfb21wZF9k bGxfbG9jYXRpb25zWzBdOworCW9tcGRfZGxsX2xvY2F0aW9uc1sxXSA9IHRtcF9vbXBkX2RsbF9s b2NhdGlvbnNbMV07CisJb21wZF9kbGxfbG9jYXRpb25zX3ZhbGlkKCk7Cit9CisKKworLypEdW1t eSBmdW5jdGlvbnMuIHRoZXkgc2hvdWQgbm90IGJlIG9wdGltaXplZC4gICovCisKK3ZvaWQgX19h dHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkKK29tcGRfZGxsX2xvY2F0aW9uc192YWxpZCgpCit7CisJ YXNtKCIiKTsKK30KKworCit2b2lkIF9fYXR0cmlidXRlX18gKChub2lubGluZSkpCitvbXBkX2Jw X3BhcmFsbGVsX2JlZ2luKCkKK3sKKwlhc20oIiIpOworfQorCit2b2lkIF9fYXR0cmlidXRlX18g KChub2lubGluZSkpCitvbXBkX2JwX3BhcmFsbGVsX2VuZCgpCit7CisJYXNtKCIiKTsKK30KKwor CisKK3ZvaWQgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkKK29tcGRfYnBfdGFza19iZWdpbigp Cit7CisJYXNtKCIiKTsKK30KKworCit2b2lkIF9fYXR0cmlidXRlX18gKChub2lubGluZSkpCitv bXBkX2JwX3Rhc2tfZW5kKCkKK3sKKwlhc20oIiIpOworfQorCisKKwordm9pZCBfX2F0dHJpYnV0 ZV9fICgobm9pbmxpbmUpKQorb21wZF9icF90aHJlYWRfYmVnaW4oKQoreworCWFzbSgiIik7Cit9 CisKK3ZvaWQgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkKK29tcGRfYnBfdGhyZWFkX2VuZCgp Cit7CisJYXNtKCIiKTsKK30KKworCisKK3ZvaWQgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkK K29tcGRfYnBfZGV2aWNlX2JlZ2luKCkKK3sKKwlhc20oIiIpOworfQorCit2b2lkIF9fYXR0cmli dXRlX18gKChub2lubGluZSkpCitvbXBkX2JwX2RldmljZV9lbmQoKQoreworCWFzbSgiIik7Cit9 CmRpZmYgLS1naXQgYS9saWJnb21wL29tcGQtc3VwcG9ydC5oIGIvbGliZ29tcC9vbXBkLXN1cHBv cnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzU1NGNlODg1YTEK LS0tIC9kZXYvbnVsbAorKysgYi9saWJnb21wL29tcGQtc3VwcG9ydC5oCkBAIC0wLDAgKzEsNDQg QEAKKy8qIENvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K KyAgIENvbnRyaWJ1dGVkIGJ5IE1vaGFtZWQgQXRlZiA8bW9oYW1lZGF0ZWYxNjk4QGdtYWlsLmNv bT4uCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIE9mZmxvYWRpbmcgYW5kIE11bHRp IFByb2Nlc3NpbmcgTGlicmFyeQorICAgKGxpYmdvbXApLgorICAgTGliZ29tcCBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgICB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl ZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywg b3IgKGF0IHlvdXIgb3B0aW9uKQorICAgYW55IGxhdGVyIHZlcnNpb24uCisgICBMaWJnb21wIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRI T1VUIEFOWQorICAgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUworICAgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAgIG1vcmUgZGV0YWls cy4KKyAgIFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJlIGdyYW50ZWQg YWRkaXRpb25hbAorICAgcGVybWlzc2lvbnMgZGVzY3JpYmVkIGluIHRoZSBHQ0MgUnVudGltZSBM aWJyYXJ5IEV4Y2VwdGlvbiwgdmVyc2lvbgorICAgMy4xLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFuZAorICAgYSBjb3B5IG9mIHRo ZSBHQ0MgUnVudGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsK KyAgIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZl bHkuICBJZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KworCisKKy8qVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBydW50aW1lIHN1cHBvcnQgZm9yIE9NUEQu ICAqLworCisjaWZuZGVmIF9PTVBEX1NVUFBPUlRfSAorI2RlZmluZSBfT01QRF9TVVBQT1JUX0gK KworI2luY2x1ZGUgIm9tcC10b29scy5oIgorI2luY2x1ZGUgInBsdWdpbi1zdWZmaXguaCIKKyNp bmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5o PgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCit2b2lkIG9tcGRfbG9hZCgpOworZXh0ZXJuIF9fVUlO VDY0X1RZUEVfXyBvbXBkX3N0YXRlOworCisjZGVmaW5lIE9NUERfRU5BQkxFRCAweDEKKworCisK KworCisjZW5kaWYgLyogX09NUERfU1VQUE9SVF9IICovCmRpZmYgLS1naXQgYS9saWJnb21wL29t cGQtdHlwZXMuaC5pbiBiL2xpYmdvbXAvb21wZC10eXBlcy5oLmluCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi42YzNhMGUxNDYzOQotLS0gL2Rldi9udWxsCisrKyBiL2xp YmdvbXAvb21wZC10eXBlcy5oLmluCkBAIC0wLDAgKzEsNTkgQEAKKy8qIENvcHlyaWdodCAoQykg MjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgIENvbnRyaWJ1dGVkIGJ5IE1v aGFtZWQgQXRlZiA8bW9oYW1lZGF0ZWYxNjk4QGdtYWlsLmNvbT4uCisgICBUaGlzIGZpbGUgaXMg cGFydCBvZiB0aGUgR05VIE9mZmxvYWRpbmcgYW5kIE11bHRpIFByb2Nlc3NpbmcgTGlicmFyeQor ICAgKGxpYmdvbXApLgorICAgTGliZ29tcCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQor ICAgYW55IGxhdGVyIHZlcnNpb24uCisgICBMaWJnb21wIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWQorICAgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUworICAgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IKKyAgIG1vcmUgZGV0YWlscy4KKyAgIFVuZGVyIFNlY3Rpb24g NyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJlIGdyYW50ZWQgYWRkaXRpb25hbAorICAgcGVybWlz c2lvbnMgZGVzY3JpYmVkIGluIHRoZSBHQ0MgUnVudGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiwgdmVy c2lvbgorICAgMy4xLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bi4KKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFuZAorICAgYSBjb3B5IG9mIHRoZSBHQ0MgUnVudGltZSBMaWJyYXJ5 IEV4Y2VwdGlvbiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsKKyAgIHNlZSB0aGUgZmlsZXMgQ09Q WUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQorICAg PGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKworCisvKlRoaXMgZmlsZSBjb250 YWlucyB0aGUgdHlwZXMgbmVlZGVkIGZvciBPTVBEIGltcGxlbWVudGF0aW9uLiAgKi8KKworCisj aWZuZGVmIF9PTVBEX1RZUEVTX0gKKyNkZWZpbmUgX09NUERfVFlQRVNfSAorCisjaWZkZWYgX19j cHVsc3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNkZWZpbmUgT01QRF9UWVBFU19WRVJT SU9OICAgMjAxODA5MDYgLyogWVlZWU1NREQgRm9ybWF0ICovCisKKy8qIEtpbmRzIG9mIGRldmlj ZSB0aHJlYWRzICAqLworI2RlZmluZSBPTVBEX1RIUkVBRF9JRF9QVEhSRUFEICAgICAgKChvbXBk X3RocmVhZF9pZF90KTApCisjZGVmaW5lIE9NUERfVEhSRUFEX0lEX0xXUCAgICAgICAgICAoKG9t cGRfdGhyZWFkX2lkX3QpMSkKKyNkZWZpbmUgT01QRF9USFJFQURfSURfV0lOVEhSRUFEICAgICgo b21wZF90aHJlYWRfaWRfdCkyKQorCisvKiBUaGUgcmFuZ2Ugb2Ygbm9uLXN0YW5kYXJkIGltcGxl bWVudGF0aW9uIGRlZmluZWQgdmFsdWVzICovCisjZGVmaW5lIE9NUERfVEhSRUFEX0lEX0xPICAg ICAgICgob21wZF90aHJlYWRfaWRfdCkxMDAwMDAwKQorI2RlZmluZSBPTVBEX1RIUkVBRF9JRF9I SSAgICAgICAoKG9tcGRfdGhyZWFkX2lkX3QpMTEwMDAwMCkKKworCisvKiBNZW1vcnkgQWNjZXNz IFNlZ21lbnQgZGVmaW5pdGlvbnMgZm9yIEhvc3QgYW5kIFRhcmdldCBEZXZpY2VzICovCisjZGVm aW5lIE9NUERfU0VHTUVOVF9VTlNQRUNJRklFRCAgICAgICAgICAgICAoKG9tcGRfc2VnX3QpMCkK KworCisvKiBLaW5kcyBvZiBkZXZpY2UgZGV2aWNlIGFkZHJlc3Mgc3BhY2VzICovCisjZGVmaW5l IE9NUERfREVWSUNFX0tJTkRfSE9TVCAgICAgKChvbXBkX2RldmljZV90KTEpCisKKworLyogVGhl IHJhbmdlIG9mIG5vbi1zdGFuZGFyZCBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIHZhbHVlcyAqLwor I2RlZmluZSBPTVBEX0RFVklDRV9JTVBMX0xPICAgICAgICgob21wZF9kZXZpY2VfdCkxMDAwMDAw KQorI2RlZmluZSBPTVBEX0RFVklDRV9JTVBMX0hJICAgICAgICgob21wZF9kZXZpY2VfdCkxMTAw MDAwKQorCisjaWZkZWYgX19jcGx1c3BsdXMKK30gLy8gZXh0ZXJuIEMKKyNlbmRpZgorI2VuZGlm IC8qIF9PTVBEX1RZUEVTX0ggKi8KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n aXQgYS9saWJnb21wL3BhcmFsbGVsLmMgYi9saWJnb21wL3BhcmFsbGVsLmMKaW5kZXggZjc3MjI5 OTA1NjYuLmYxYzhhMzY4NjhjIDEwMDY0NAotLS0gYS9saWJnb21wL3BhcmFsbGVsLmMKKysrIGIv bGliZ29tcC9wYXJhbGxlbC5jCkBAIC0yNiw2ICsyNiw3IEBACiAvKiBUaGlzIGZpbGUgaGFuZGxl cyB0aGUgKGJhcmUpIFBBUkFMTEVMIGNvbnN0cnVjdC4gICovCiAKICNpbmNsdWRlICJsaWJnb21w LmgiCisjaW5jbHVkZSAib21wZC1zdXBwb3J0LmgiCiAjaW5jbHVkZSA8bGltaXRzLmg+CiAKIApA QCAtMTczLDEwICsxNzQsMTQgQEAgR09NUF9wYXJhbGxlbCAodm9pZCAoKmZuKSAodm9pZCAqKSwg dm9pZCAqZGF0YSwgdW5zaWduZWQgbnVtX3RocmVhZHMsCiAJICAgICAgIHVuc2lnbmVkIGludCBm bGFncykKIHsKICAgbnVtX3RocmVhZHMgPSBnb21wX3Jlc29sdmVfbnVtX3RocmVhZHMgKG51bV90 aHJlYWRzLCAwKTsKKyAgaWYob21wZF9zdGF0ZSkKKyAgICBvbXBkX2JwX3BhcmFsbGVsX2JlZ2lu KCk7CiAgIGdvbXBfdGVhbV9zdGFydCAoZm4sIGRhdGEsIG51bV90aHJlYWRzLCBmbGFncywgZ29t cF9uZXdfdGVhbSAobnVtX3RocmVhZHMpLAogCQkgICBOVUxMKTsKICAgZm4gKGRhdGEpOwogICBp YWxpYXNfY2FsbCAoR09NUF9wYXJhbGxlbF9lbmQpICgpOworICBpZihvbXBkX3N0YXRlKQorICAg IG9tcGRfYnBfcGFyYWxsZWxfZW5kKCk7CiB9CiAKIHVuc2lnbmVkCmRpZmYgLS1naXQgYS9saWJn b21wL3Rlc3RzdWl0ZS9NYWtlZmlsZS5pbiBiL2xpYmdvbXAvdGVzdHN1aXRlL01ha2VmaWxlLmlu CmluZGV4IGU0OGMzZjJmOWIwLi40MTZlMjBlNDk4YyAxMDA2NDQKLS0tIGEvbGliZ29tcC90ZXN0 c3VpdGUvTWFrZWZpbGUuaW4KKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvTWFrZWZpbGUuaW4KQEAg LTEsNyArMSw3IEBACi0jIE1ha2VmaWxlLmluIGdlbmVyYXRlZCBieSBhdXRvbWFrZSAxLjE1LjEg ZnJvbSBNYWtlZmlsZS5hbS4KKyMgTWFrZWZpbGUuaW4gZ2VuZXJhdGVkIGJ5IGF1dG9tYWtlIDEu MTYuMSBmcm9tIE1ha2VmaWxlLmFtLgogIyBAY29uZmlndXJlX2lucHV0QAogCi0jIENvcHlyaWdo dCAoQykgMTk5NC0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmln aHQgKEMpIDE5OTQtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogIyBUaGlz IE1ha2VmaWxlLmluIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0 ZSBpdCwKQEAgLTI4NCw2ICsyODQsNyBAQCBwZGZkaXIgPSBAcGRmZGlyQAogcHJlZml4ID0gQHBy ZWZpeEAKIHByb2dyYW1fdHJhbnNmb3JtX25hbWUgPSBAcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZUAK IHBzZGlyID0gQHBzZGlyQAorcnVuc3RhdGVkaXIgPSBAcnVuc3RhdGVkaXJACiBzYmluZGlyID0g QHNiaW5kaXJACiBzaGFyZWRzdGF0ZWRpciA9IEBzaGFyZWRzdGF0ZWRpckAKIHNyY2RpciA9IEBz cmNkaXJACkBAIC0zMzEsOCArMzMyLDggQEAgTWFrZWZpbGU6ICQoc3JjZGlyKS9NYWtlZmlsZS5p biAkKHRvcF9idWlsZGRpcikvY29uZmlnLnN0YXR1cwogCSAgKmNvbmZpZy5zdGF0dXMqKSBcCiAJ ICAgIGNkICQodG9wX2J1aWxkZGlyKSAmJiAkKE1BS0UpICQoQU1fTUFLRUZMQUdTKSBhbS0tcmVm cmVzaDs7IFwKIAkgICopIFwKLQkgICAgZWNobyAnIGNkICQodG9wX2J1aWxkZGlyKSAmJiAkKFNI RUxMKSAuL2NvbmZpZy5zdGF0dXMgJChzdWJkaXIpLyRAICQoYW1fX2RlcGZpbGVzX21heWJlKSc7 IFwKLQkgICAgY2QgJCh0b3BfYnVpbGRkaXIpICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAk KHN1YmRpcikvJEAgJChhbV9fZGVwZmlsZXNfbWF5YmUpOzsgXAorCSAgICBlY2hvICcgY2QgJCh0 b3BfYnVpbGRkaXIpICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkKHN1YmRpcikvJEAgJChh bV9fbWF5YmVfcmVtYWtlX2RlcGZpbGVzKSc7IFwKKwkgICAgY2QgJCh0b3BfYnVpbGRkaXIpICYm ICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkKHN1YmRpcikvJEAgJChhbV9fbWF5YmVfcmVtYWtl X2RlcGZpbGVzKTs7IFwKIAllc2FjOwogCiAkKHRvcF9idWlsZGRpcikvY29uZmlnLnN0YXR1czog JCh0b3Bfc3JjZGlyKS9jb25maWd1cmUgJChDT05GSUdfU1RBVFVTX0RFUEVOREVOQ0lFUykK --00000000000094b9ae05d828fe56--