From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) by sourceware.org (Postfix) with ESMTPS id 1E29D3857C75 for ; Wed, 16 Feb 2022 20:54:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1E29D3857C75 Received: by mail-wm1-x334.google.com with SMTP id q198-20020a1ca7cf000000b0037bb52545c6so4642938wme.1 for ; Wed, 16 Feb 2022 12:54:59 -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:from:date:message-id:subject:to; bh=ZRmAfevgToI839xHYSxHG00o+XqOOuukntGxpDtM5hM=; b=HCiGPjF8wBFjcbIozKrGTi1oZ4d8pC7jz7w8bwGtkiHlltNqqDDanXxKhTh3CeS0sM mhkrzUm231eipbV1hifYZ4+Bxu2cQFJDsJR1Z05BNQOP9gWNDDBf5WMFFUPoV0Mjoj1G Q4C6dB39Hbs5T8bC3gL+QZm1kn8dhyFHQiSnHVmYe6gf5yQPlhahqnUzMf6j2yATQ5Yj o3GJGZJYL3/NVVNdf48XFILWvEgu1NDKxYLTuGDlNfbsG4ZEyNuQZI5PNPaGyX6UWSJz SkgyZ0UkxVbj8rKIRmzQ0A+nHmwsFRySTG2DxRU8yuxXe6Hf/5a1ZlJUGIit2jrbmc7p oefQ== X-Gm-Message-State: AOAM530ZgUmpgXUEMqhOZ75aKOJSzxiTGyt6zRSLaDZGO95RjSmfI+x7 oRsC7te4Z0ZfK5afTeGOdiI/Np7FS2YnhlGh6LC0+kPnh7V3HQ== X-Google-Smtp-Source: ABdhPJzAskKW00D6/Ngz7DEjjKraZv5seU3r5GwD39XwTlhZbGCCl/nwzKLq4SoaoONHzlHqLf7B6gpxcyoyjB7+bnA= X-Received: by 2002:a05:600c:4ed1:b0:37b:bb72:9ecd with SMTP id g17-20020a05600c4ed100b0037bbb729ecdmr3121441wmq.177.1645044897722; Wed, 16 Feb 2022 12:54:57 -0800 (PST) MIME-Version: 1.0 From: Mohamed Atef Date: Wed, 16 Feb 2022 22:54:46 +0200 Message-ID: Subject: [PATCH] libgomp : OMPD implementation To: gcc-patches@gcc.gnu.org, Martin Jambor , jakub@redhat.com, tobias@codesourcery.com Content-Type: multipart/mixed; boundary="000000000000c4ce3805d828dc51" X-Spam-Status: No, score=-7.8 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 20:55:05 -0000 --000000000000c4ce3805d828dc51 Content-Type: text/plain; charset="UTF-8" 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. --000000000000c4ce3805d828dc51 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_kzq18o1e0 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 UiAgICAgQyBoZWFkZXIgZmlsZXMgZm9yIG5vbi1nY2MgWy91c3IvaW5jbHVkZV0KIAogCSogdGVz dHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9hbGxvY2F0ZS0xLmY5MDogUmVtb3ZlIHNwdXJpb3VzCmRp ZmYgLS1naXQgYS9saWJnb21wL01ha2VmaWxlLmFtIGIvbGliZ29tcC9NYWtlZmlsZS5hbQppbmRl eCBmOGIyYTA2ZDYzZS4uMjJhMjdkZjEwNWUgMTAwNjQ0Ci0tLSBhL2xpYmdvbXAvTWFrZWZpbGUu YW0KKysrIGIvbGliZ29tcC9NYWtlZmlsZS5hbQpAQCAtMjAsNyArMjAsNyBAQCBBTV9DUFBGTEFH UyA9ICQoYWRkcHJlZml4IC1JLCAkKHNlYXJjaF9wYXRoKSkKIEFNX0NGTEFHUyA9ICQoWENGTEFH UykKIEFNX0xERkxBR1MgPSAkKFhMREZMQUdTKSAkKFNFQ1RJT05fTERGTEFHUykgJChPUFRfTERG TEFHUykKIAotdG9vbGV4ZWNsaWJfTFRMSUJSQVJJRVMgPSBsaWJnb21wLmxhCit0b29sZXhlY2xp Yl9MVExJQlJBUklFUyA9IGxpYmdvbXAubGEgbGliZ29tcGQubGEKIG5vZGlzdF90b29sZXhlY2xp Yl9IRUFERVJTID0gbGliZ29tcC5zcGVjCiAKIGlmIExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NI TElCCkBAIC0zMiwxMyArMzIsMjEgQEAgbGliZ29tcC52ZXI6ICQodG9wX3NyY2RpcikvbGliZ29t cC5tYXAKIAkkKEVHUkVQKSAtdiAnIygjfCB8JCQpJyAkPCB8IFwKIAkgICQoUFJFUFJPQ0VTUykg LVAgLWluY2x1ZGUgY29uZmlnLmggLSA+ICRAIHx8IChybSAtZiAkQCA7IGV4aXQgMSkKIAorbGli Z29tcGQudmVyOiAkKHRvcF9zcmNkaXIpL2xpYmdvbXBkLm1hcAorCSQoRUdSRVApIC12ICcjKCN8 IHwkJCknICQ8IHwgXAorCQkkKFBSRVBST0NFU1MpIC1QIC1pbmNsdWRlIGNvbmZpZy5oIC0gPiAk QCB8fCAocm0gLWYgJEAgOyBleGl0IDEpCisKIGlmIExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NI TElCX0dOVQogbGliZ29tcF92ZXJzaW9uX3NjcmlwdCA9IC1XbCwtLXZlcnNpb24tc2NyaXB0LGxp YmdvbXAudmVyCitsaWJnb21wZF92ZXJzaW9uX3NjcmlwdCA9IC1XbCwtLXZlcnNpb24tc2NyaXB0 LGxpYmdvbXBkLnZlcgogbGliZ29tcF92ZXJzaW9uX2RlcCA9IGxpYmdvbXAudmVyCitsaWJnb21w ZF92ZXJzaW9uX2RlcCA9IGxpYmdvbXBkLnZlcgogZW5kaWYKIGlmIExJQkdPTVBfQlVJTERfVkVS U0lPTkVEX1NITElCX1NVTgogbGliZ29tcF92ZXJzaW9uX3NjcmlwdCA9IC1XbCwtTSxsaWJnb21w LnZlci1zdW4KK2xpYmdvbXBkX3ZlcnNpb25fc2NyaXB0ID0gLVdsLC1NLGxpYmdvbXBkLnZlci1z dW4KIGxpYmdvbXBfdmVyc2lvbl9kZXAgPSBsaWJnb21wLnZlci1zdW4KK2xpYmdvbXBkX3ZlcnNp b25fZGVwID0gbGliZ29tcGQudmVyLXN1bgogbGliZ29tcC52ZXItc3VuIDogbGliZ29tcC52ZXIg XAogCQkkKHRvcF9zcmNkaXIpLy4uL2NvbnRyaWIvbWFrZV9zdW52ZXIucGwgXAogCQkkKGxpYmdv bXBfbGFfT0JKRUNUUykgJChsaWJnb21wX2xhX0xJQkFERCkKQEAgLTQ4LDE3ICs1NiwzNCBAQCBs aWJnb21wLnZlci1zdW4gOiBsaWJnb21wLnZlciBcCiAJIGBlY2hvICQobGliZ29tcF9sYV9MSUJB REQpIHwgXAogCSAgICBzZWQgJ3MsL1woW14vLl0qXClcLmxhLC8ubGlicy9cMS5hLGcnYCBcCiAJ ID4gJEAgfHwgKHJtIC1mICRAIDsgZXhpdCAxKQorCitsaWJnb21wZC52ZXItc3VuIDogbGliZ29t cGQudmVyIFwKKwkJJCh0b3Bfc3JjZGlyKS8uLi9jb250cmliL21ha2Vfc3VudmVyLnBsIFwKKwkJ JChsaWJnb21wZF9sYV9PQkpFQ1RTKSAkKGxpYmdvbXBkX2xhX0xJQkFERCkKKwlwZXJsICQodG9w X3NyY2RpcikvLi4vY29udHJpYi9tYWtlX3N1bnZlci5wbCBcCisJCWxpYmdvbXBkLnZlciBcCisJ CSQobGliZ29tcGRfbGFfT0JKRUNUUzolLmxvPS5saWJzLyUubykgXAorCQlgZWNobyAkKGxpYmdv bXBkX2xhX0xJQkFERCkgfCBcCisJCQlzZWQgJ3MsL1woW14vLl0qXClcLmxhLC8ubGlicy9cMS5h LGcnYCBcCisJCT4gJEAgfHwgKHJtIC1mICRAIDsgZXhpdCAxKQorCiBlbmRpZgogZWxzZQogbGli Z29tcF92ZXJzaW9uX3NjcmlwdCA9CitsaWJnb21wZF92ZXJzaW9uX3NjcmlwdCA9CiBsaWJnb21w X3ZlcnNpb25fZGVwID0KK2xpYmdvbXBkX3ZlcnNpb25fZGVwID0KIGVuZGlmCiBsaWJnb21wX3Zl cnNpb25faW5mbyA9IC12ZXJzaW9uLWluZm8gJChsaWJ0b29sX1ZFUlNJT04pCitsaWJnb21wZF92 ZXJzaW9uX2luZm8gPSAtdmVyc2lvbi1pbmZvICQobGlidG9vbF9WRVJTSU9OKQogbGliZ29tcF9s YV9MREZMQUdTID0gJChsaWJnb21wX3ZlcnNpb25faW5mbykgJChsaWJnb21wX3ZlcnNpb25fc2Ny aXB0KSBcCiAgICAgICAgICQobHRfaG9zdF9mbGFncykKK2xpYmdvbXBkX2xhX0xERkxBR1MgPSAk KGxpYmdvbXBkX3ZlcnNpb25faW5mbykgJChsaWJnb21wZF92ZXJzaW9uX3NjcmlwdCkgXAorCQkJ CSQobHRfaG9zdF9mbGFncykKIGxpYmdvbXBfbGFfREVQRU5ERU5DSUVTID0gJChsaWJnb21wX3Zl cnNpb25fZGVwKQorbGliZ29tcGRfbGFfREVQRU5ERU5DSUVTID0gJChsaWJnb21wZF92ZXJzaW9u X2RlcCkKIGxpYmdvbXBfbGFfTElOSyA9ICQoTElOSykgJChsaWJnb21wX2xhX0xERkxBR1MpCi0K K2xpYmdvbXBkX2xhX0xJTksgPSAkKExJTkspICQobGliZ29tcGRfbGFfTERGTEFHUykKIGxpYmdv bXBfbGFfU09VUkNFUyA9IGFsbG9jLmMgYXRvbWljLmMgYmFycmllci5jIGNyaXRpY2FsLmMgZW52 LmMgZXJyb3IuYyBcCiAJaWN2LmMgaWN2LWRldmljZS5jIGl0ZXIuYyBpdGVyX3VsbC5jIGxvb3Au YyBsb29wX3VsbC5jIG9yZGVyZWQuYyBcCiAJcGFyYWxsZWwuYyBzY29wZS5jIHNlY3Rpb25zLmMg c2luZ2xlLmMgdGFzay5jIHRlYW0uYyB3b3JrLmMgbG9jay5jIFwKQEAgLTY2LDggKzkxLDkgQEAg bGliZ29tcF9sYV9TT1VSQ0VTID0gYWxsb2MuYyBhdG9taWMuYyBiYXJyaWVyLmMgY3JpdGljYWwu YyBlbnYuYyBlcnJvci5jIFwKIAl0YXJnZXQuYyBzcGxheS10cmVlLmMgbGliZ29tcC1wbHVnaW4u YyBvYWNjLXBhcmFsbGVsLmMgb2FjYy1ob3N0LmMgXAogCW9hY2MtaW5pdC5jIG9hY2MtbWVtLmMg b2FjYy1hc3luYy5jIG9hY2MtcGx1Z2luLmMgb2FjYy1jdWRhLmMgXAogCXByaW9yaXR5X3F1ZXVl LmMgYWZmaW5pdHktZm10LmMgdGVhbXMuYyBhbGxvY2F0b3IuYyBvYWNjLXByb2ZpbGluZy5jIFwK LQlvYWNjLXRhcmdldC5jCisJb2FjYy10YXJnZXQuYyBvbXBkLXN1cHBvcnQuYwogCitsaWJnb21w ZF9sYV9TT1VSQ0VTID0gb21wZC1pbml0LmMgb21wZC1oZWxwZXIuYwogaW5jbHVkZSAkKHRvcF9z cmNkaXIpL3BsdWdpbi9NYWtlZnJhZy5hbQogCiBpZiBVU0VfRk9SVFJBTgpAQCAtNzUsNyArMTAx LDcgQEAgbGliZ29tcF9sYV9TT1VSQ0VTICs9IG9wZW5hY2MuZjkwCiBlbmRpZgogCiBub2Rpc3Rf bm9pbnN0X0hFQURFUlMgPSBsaWJnb21wX2YuaAotbm9kaXN0X2xpYnN1YmluY2x1ZGVfSEVBREVS UyA9IG9tcC5oIG9wZW5hY2MuaCBhY2NfcHJvZi5oCitub2Rpc3RfbGlic3ViaW5jbHVkZV9IRUFE RVJTID0gb21wLmggb3BlbmFjYy5oIGFjY19wcm9mLmggb21wLXRvb2xzLmggb21wZC10eXBlcy5o CiBpZiBVU0VfRk9SVFJBTgogbm9kaXN0X2ZpbmNsdWRlX0hFQURFUlMgPSBvbXBfbGliLmggb21w X2xpYi5mOTAgb21wX2xpYi5tb2Qgb21wX2xpYl9raW5kcy5tb2QgXAogCW9wZW5hY2NfbGliLmgg b3BlbmFjYy5mOTAgb3BlbmFjYy5tb2Qgb3BlbmFjY19raW5kcy5tb2QKZGlmZiAtLWdpdCBhL2xp YmdvbXAvTWFrZWZpbGUuaW4gYi9saWJnb21wL01ha2VmaWxlLmluCmluZGV4IDIyY2IyMTM2YTA4 Li44ZWNmNmRjZjE5MiAxMDA2NDQKLS0tIGEvbGliZ29tcC9NYWtlZmlsZS5pbgorKysgYi9saWJn b21wL01ha2VmaWxlLmluCkBAIC0xLDcgKzEsNyBAQAotIyBNYWtlZmlsZS5pbiBnZW5lcmF0ZWQg YnkgYXV0b21ha2UgMS4xNS4xIGZyb20gTWFrZWZpbGUuYW0uCisjIE1ha2VmaWxlLmluIGdlbmVy YXRlZCBieSBhdXRvbWFrZSAxLjE2LjEgZnJvbSBNYWtlZmlsZS5hbS4KICMgQGNvbmZpZ3VyZV9p bnB1dEAKIAotIyBDb3B5cmlnaHQgKEMpIDE5OTQtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk0LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBJbmMuCiAKICMgVGhpcyBNYWtlZmlsZS5pbiBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNv cHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0xNiw3ICsxNiw3IEBACiAKICMgUGx1Z2lucyBm b3Igb2ZmbG9hZCBleGVjdXRpb24sIE1ha2VmaWxlLmFtIGZyYWdtZW50LgogIwotIyBDb3B5cmln aHQgKEMpIDIwMTQtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJp Z2h0IChDKSAyMDE0LTIwMjIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIENv bnRyaWJ1dGVkIGJ5IE1lbnRvciBFbWJlZGRlZC4KICMKQEAgLTE0OCw3ICsxNDgsNyBAQCBhbV9f Q09ORklHX0RJU1RDTEVBTl9GSUxFUyA9IGNvbmZpZy5zdGF0dXMgY29uZmlnLmNhY2hlIGNvbmZp Zy5sb2cgXAogbWtpbnN0YWxsZGlycyA9ICQoU0hFTEwpICQodG9wX3NyY2RpcikvLi4vbWtpbnN0 YWxsZGlycwogQ09ORklHX0hFQURFUiA9IGNvbmZpZy5oCiBDT05GSUdfQ0xFQU5fRklMRVMgPSBv bXAuaCBvbXBfbGliLmggb21wX2xpYi5mOTAgbGliZ29tcF9mLmggXAotCWxpYmdvbXAuc3BlYwor CW9tcC10b29scy5oIG9tcGQtdHlwZXMuaCBsaWJnb21wLnNwZWMKIENPTkZJR19DTEVBTl9WUEFU SF9GSUxFUyA9CiBhbV9fdnBhdGhfYWRqX3NldHVwID0gc3JjZGlyc3RyaXA9YGVjaG8gIiQoc3Jj ZGlyKSIgfCBzZWQgJ3N8LnwufGcnYDsKIGFtX192cGF0aF9hZGogPSBjYXNlICQkcCBpbiBcCkBA IC0yMjAsOCArMjIwLDExIEBAIGFtX2xpYmdvbXBfbGFfT0JKRUNUUyA9IGFsbG9jLmxvIGF0b21p Yy5sbyBiYXJyaWVyLmxvIGNyaXRpY2FsLmxvIFwKIAlvYWNjLXBhcmFsbGVsLmxvIG9hY2MtaG9z dC5sbyBvYWNjLWluaXQubG8gb2FjYy1tZW0ubG8gXAogCW9hY2MtYXN5bmMubG8gb2FjYy1wbHVn aW4ubG8gb2FjYy1jdWRhLmxvIHByaW9yaXR5X3F1ZXVlLmxvIFwKIAlhZmZpbml0eS1mbXQubG8g dGVhbXMubG8gYWxsb2NhdG9yLmxvIG9hY2MtcHJvZmlsaW5nLmxvIFwKLQlvYWNjLXRhcmdldC5s byAkKGFtX19vYmplY3RzXzEpCisJb2FjYy10YXJnZXQubG8gb21wZC1zdXBwb3J0LmxvICQoYW1f X29iamVjdHNfMSkKIGxpYmdvbXBfbGFfT0JKRUNUUyA9ICQoYW1fbGliZ29tcF9sYV9PQkpFQ1RT KQorbGliZ29tcGRfbGFfTElCQUREID0KK2FtX2xpYmdvbXBkX2xhX09CSkVDVFMgPSBvbXBkLWlu aXQubG8gb21wZC1oZWxwZXIubG8KK2xpYmdvbXBkX2xhX09CSkVDVFMgPSAkKGFtX2xpYmdvbXBk X2xhX09CSkVDVFMpCiBBTV9WX1AgPSAkKGFtX192X1BfQEFNX1ZAKQogYW1fX3ZfUF8gPSAkKGFt X192X1BfQEFNX0RFRkFVTFRfVkApCiBhbV9fdl9QXzAgPSBmYWxzZQpAQCAtMjM2LDcgKzIzOSwz NCBAQCBhbV9fdl9hdF8wID0gQAogYW1fX3ZfYXRfMSA9IAogREVGQVVMVF9JTkNMVURFUyA9IC1J LkBhbV9faXNyY0AKIGRlcGNvbXAgPSAkKFNIRUxMKSAkKHRvcF9zcmNkaXIpLy4uL2RlcGNvbXAK LWFtX19kZXBmaWxlc19tYXliZSA9IGRlcGZpbGVzCithbV9fbWF5YmVfcmVtYWtlX2RlcGZpbGVz ID0gZGVwZmlsZXMKK2FtX19kZXBmaWxlc19yZW1hZGUgPSAuLyQoREVQRElSKS9hZmZpbml0eS1m bXQuUGxvIFwKKwkuLyQoREVQRElSKS9hZmZpbml0eS5QbG8gLi8kKERFUERJUikvYWxsb2MuUGxv IFwKKwkuLyQoREVQRElSKS9hbGxvY2F0b3IuUGxvIC4vJChERVBESVIpL2F0b21pYy5QbG8gXAor CS4vJChERVBESVIpL2Jhci5QbG8gLi8kKERFUERJUikvYmFycmllci5QbG8gXAorCS4vJChERVBE SVIpL2NyaXRpY2FsLlBsbyAuLyQoREVQRElSKS9lbnYuUGxvIFwKKwkuLyQoREVQRElSKS9lcnJv ci5QbG8gLi8kKERFUERJUikvZm9ydHJhbi5QbG8gXAorCS4vJChERVBESVIpL2ljdi1kZXZpY2Uu UGxvIC4vJChERVBESVIpL2ljdi5QbG8gXAorCS4vJChERVBESVIpL2l0ZXIuUGxvIC4vJChERVBE SVIpL2l0ZXJfdWxsLlBsbyBcCisJLi8kKERFUERJUikvbGliZ29tcC1wbHVnaW4uUGxvIFwKKwku LyQoREVQRElSKS9saWJnb21wX3BsdWdpbl9nY25fbGEtcGx1Z2luLWdjbi5QbG8gXAorCS4vJChE RVBESVIpL2xpYmdvbXBfcGx1Z2luX252cHR4X2xhLXBsdWdpbi1udnB0eC5QbG8gXAorCS4vJChE RVBESVIpL2xvY2suUGxvIC4vJChERVBESVIpL2xvb3AuUGxvIFwKKwkuLyQoREVQRElSKS9sb29w X3VsbC5QbG8gLi8kKERFUERJUikvbXV0ZXguUGxvIFwKKwkuLyQoREVQRElSKS9vYWNjLWFzeW5j LlBsbyAuLyQoREVQRElSKS9vYWNjLWN1ZGEuUGxvIFwKKwkuLyQoREVQRElSKS9vYWNjLWhvc3Qu UGxvIC4vJChERVBESVIpL29hY2MtaW5pdC5QbG8gXAorCS4vJChERVBESVIpL29hY2MtbWVtLlBs byAuLyQoREVQRElSKS9vYWNjLXBhcmFsbGVsLlBsbyBcCisJLi8kKERFUERJUikvb2FjYy1wbHVn aW4uUGxvIC4vJChERVBESVIpL29hY2MtcHJvZmlsaW5nLlBsbyBcCisJLi8kKERFUERJUikvb2Fj Yy10YXJnZXQuUGxvIC4vJChERVBESVIpL29tcGQtaGVscGVyLlBsbyBcCisJLi8kKERFUERJUikv b21wZC1pbml0LlBsbyAuLyQoREVQRElSKS9vbXBkLXN1cHBvcnQuUGxvIFwKKwkuLyQoREVQRElS KS9vcmRlcmVkLlBsbyAuLyQoREVQRElSKS9wYXJhbGxlbC5QbG8gXAorCS4vJChERVBESVIpL3By aW9yaXR5X3F1ZXVlLlBsbyAuLyQoREVQRElSKS9wcm9jLlBsbyBcCisJLi8kKERFUERJUikvcHRy bG9jay5QbG8gLi8kKERFUERJUikvc2NvcGUuUGxvIFwKKwkuLyQoREVQRElSKS9zZWN0aW9ucy5Q bG8gLi8kKERFUERJUikvc2VtLlBsbyBcCisJLi8kKERFUERJUikvc2luZ2xlLlBsbyAuLyQoREVQ RElSKS9zcGxheS10cmVlLlBsbyBcCisJLi8kKERFUERJUikvdGFyZ2V0LlBsbyAuLyQoREVQRElS KS90YXNrLlBsbyBcCisJLi8kKERFUERJUikvdGVhbS5QbG8gLi8kKERFUERJUikvdGVhbXMuUGxv IFwKKwkuLyQoREVQRElSKS90aW1lLlBsbyAuLyQoREVQRElSKS93b3JrLlBsbwogYW1fX212ID0g bXYgLWYKIENPTVBJTEUgPSAkKENDKSAkKERFRlMpICQoREVGQVVMVF9JTkNMVURFUykgJChJTkNM VURFUykgJChBTV9DUFBGTEFHUykgXAogCSQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFH UykKQEAgLTI2OSw3ICsyOTksOCBAQCBhbV9fdl9GQ0xEXyA9ICQoYW1fX3ZfRkNMRF9AQU1fREVG QVVMVF9WQCkKIGFtX192X0ZDTERfMCA9IEBlY2hvICIgIEZDTEQgICAgIiAkQDsKIGFtX192X0ZD TERfMSA9IAogU09VUkNFUyA9ICQobGliZ29tcF9wbHVnaW5fZ2NuX2xhX1NPVVJDRVMpIFwKLQkk KGxpYmdvbXBfcGx1Z2luX252cHR4X2xhX1NPVVJDRVMpICQobGliZ29tcF9sYV9TT1VSQ0VTKQor CSQobGliZ29tcF9wbHVnaW5fbnZwdHhfbGFfU09VUkNFUykgJChsaWJnb21wX2xhX1NPVVJDRVMp IFwKKwkkKGxpYmdvbXBkX2xhX1NPVVJDRVMpCiBBTV9WX0RWSVBTID0gJChhbV9fdl9EVklQU19A QU1fVkApCiBhbV9fdl9EVklQU18gPSAkKGFtX192X0RWSVBTX0BBTV9ERUZBVUxUX1ZAKQogYW1f X3ZfRFZJUFNfMCA9IEBlY2hvICIgIERWSVBTICAgIiAkQDsKQEAgLTUwNiw2ICs1MzcsNyBAQCBw ZGZkaXIgPSBAcGRmZGlyQAogcHJlZml4ID0gQHByZWZpeEAKIHByb2dyYW1fdHJhbnNmb3JtX25h bWUgPSBAcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZUAKIHBzZGlyID0gQHBzZGlyQAorcnVuc3RhdGVk aXIgPSBAcnVuc3RhdGVkaXJACiBzYmluZGlyID0gQHNiaW5kaXJACiBzaGFyZWRzdGF0ZWRpciA9 IEBzaGFyZWRzdGF0ZWRpckAKIHNyY2RpciA9IEBzcmNkaXJACkBAIC01MzMsNyArNTY1LDggQEAg bGlic3ViaW5jbHVkZWRpciA9ICQobGliZGlyKS9nY2MvJCh0YXJnZXRfYWxpYXMpLyQoZ2NjX3Zl cnNpb24pL2luY2x1ZGUKIEFNX0NQUEZMQUdTID0gJChhZGRwcmVmaXggLUksICQoc2VhcmNoX3Bh dGgpKQogQU1fQ0ZMQUdTID0gJChYQ0ZMQUdTKQogQU1fTERGTEFHUyA9ICQoWExERkxBR1MpICQo U0VDVElPTl9MREZMQUdTKSAkKE9QVF9MREZMQUdTKQotdG9vbGV4ZWNsaWJfTFRMSUJSQVJJRVMg PSBsaWJnb21wLmxhICQoYW1fX2FwcGVuZF8xKSAkKGFtX19hcHBlbmRfMikKK3Rvb2xleGVjbGli X0xUTElCUkFSSUVTID0gbGliZ29tcC5sYSBsaWJnb21wZC5sYSAkKGFtX19hcHBlbmRfMSkgXAor CSQoYW1fX2FwcGVuZF8yKQogbm9kaXN0X3Rvb2xleGVjbGliX0hFQURFUlMgPSBsaWJnb21wLnNw ZWMKIAogIyAtV2MgaXMgb25seSBhIGxpYnRvb2wgb3B0aW9uLgpAQCAtNTQyLDE1ICs1NzUsMjcg QEAgbm9kaXN0X3Rvb2xleGVjbGliX0hFQURFUlMgPSBsaWJnb21wLnNwZWMKIEBMSUJHT01QX0JV SUxEX1ZFUlNJT05FRF9TSExJQl9GQUxTRUBsaWJnb21wX3ZlcnNpb25fc2NyaXB0ID0gCiBATElC R09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfR05VX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lP TkVEX1NITElCX1RSVUVAbGliZ29tcF92ZXJzaW9uX3NjcmlwdCA9IC1XbCwtLXZlcnNpb24tc2Ny aXB0LGxpYmdvbXAudmVyCiBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfU1VOX1RSVUVA QExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVAbGliZ29tcF92ZXJzaW9uX3Njcmlw dCA9IC1XbCwtTSxsaWJnb21wLnZlci1zdW4KK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJ Ql9GQUxTRUBsaWJnb21wZF92ZXJzaW9uX3NjcmlwdCA9IAorQExJQkdPTVBfQlVJTERfVkVSU0lP TkVEX1NITElCX0dOVV9UUlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQGxp YmdvbXBkX3ZlcnNpb25fc2NyaXB0ID0gLVdsLC0tdmVyc2lvbi1zY3JpcHQsbGliZ29tcGQudmVy CitATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERf VkVSU0lPTkVEX1NITElCX1RSVUVAbGliZ29tcGRfdmVyc2lvbl9zY3JpcHQgPSAtV2wsLU0sbGli Z29tcGQudmVyLXN1bgogQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX0ZBTFNFQGxpYmdv bXBfdmVyc2lvbl9kZXAgPSAKIEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9HTlVfVFJV RUBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUBsaWJnb21wX3ZlcnNpb25fZGVw ID0gbGliZ29tcC52ZXIKIEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBA TElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUBsaWJnb21wX3ZlcnNpb25fZGVwID0g bGliZ29tcC52ZXItc3VuCitATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfRkFMU0VAbGli Z29tcGRfdmVyc2lvbl9kZXAgPSAKK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9HTlVf VFJVRUBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUBsaWJnb21wZF92ZXJzaW9u X2RlcCA9IGxpYmdvbXBkLnZlcgorQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1NVTl9U UlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQGxpYmdvbXBkX3ZlcnNpb25f ZGVwID0gbGliZ29tcGQudmVyLXN1bgogbGliZ29tcF92ZXJzaW9uX2luZm8gPSAtdmVyc2lvbi1p bmZvICQobGlidG9vbF9WRVJTSU9OKQorbGliZ29tcGRfdmVyc2lvbl9pbmZvID0gLXZlcnNpb24t aW5mbyAkKGxpYnRvb2xfVkVSU0lPTikKIGxpYmdvbXBfbGFfTERGTEFHUyA9ICQobGliZ29tcF92 ZXJzaW9uX2luZm8pICQobGliZ29tcF92ZXJzaW9uX3NjcmlwdCkgXAogICAgICAgICAkKGx0X2hv c3RfZmxhZ3MpCiAKK2xpYmdvbXBkX2xhX0xERkxBR1MgPSAkKGxpYmdvbXBkX3ZlcnNpb25faW5m bykgJChsaWJnb21wZF92ZXJzaW9uX3NjcmlwdCkgXAorCQkJCSQobHRfaG9zdF9mbGFncykKKwog bGliZ29tcF9sYV9ERVBFTkRFTkNJRVMgPSAkKGxpYmdvbXBfdmVyc2lvbl9kZXApCitsaWJnb21w ZF9sYV9ERVBFTkRFTkNJRVMgPSAkKGxpYmdvbXBkX3ZlcnNpb25fZGVwKQogbGliZ29tcF9sYV9M SU5LID0gJChMSU5LKSAkKGxpYmdvbXBfbGFfTERGTEFHUykKK2xpYmdvbXBkX2xhX0xJTksgPSAk KExJTkspICQobGliZ29tcGRfbGFfTERGTEFHUykKIGxpYmdvbXBfbGFfU09VUkNFUyA9IGFsbG9j LmMgYXRvbWljLmMgYmFycmllci5jIGNyaXRpY2FsLmMgZW52LmMgXAogCWVycm9yLmMgaWN2LmMg aWN2LWRldmljZS5jIGl0ZXIuYyBpdGVyX3VsbC5jIGxvb3AuYyBsb29wX3VsbC5jIFwKIAlvcmRl cmVkLmMgcGFyYWxsZWwuYyBzY29wZS5jIHNlY3Rpb25zLmMgc2luZ2xlLmMgdGFzay5jIHRlYW0u YyBcCkBAIC01NTksNyArNjA0LDggQEAgbGliZ29tcF9sYV9TT1VSQ0VTID0gYWxsb2MuYyBhdG9t aWMuYyBiYXJyaWVyLmMgY3JpdGljYWwuYyBlbnYuYyBcCiAJb2FjYy1wYXJhbGxlbC5jIG9hY2Mt aG9zdC5jIG9hY2MtaW5pdC5jIG9hY2MtbWVtLmMgXAogCW9hY2MtYXN5bmMuYyBvYWNjLXBsdWdp bi5jIG9hY2MtY3VkYS5jIHByaW9yaXR5X3F1ZXVlLmMgXAogCWFmZmluaXR5LWZtdC5jIHRlYW1z LmMgYWxsb2NhdG9yLmMgb2FjYy1wcm9maWxpbmcuYyBcCi0Jb2FjYy10YXJnZXQuYyAkKGFtX19h cHBlbmRfMykKKwlvYWNjLXRhcmdldC5jIG9tcGQtc3VwcG9ydC5jICQoYW1fX2FwcGVuZF8zKQor bGliZ29tcGRfbGFfU09VUkNFUyA9IG9tcGQtaW5pdC5jIG9tcGQtaGVscGVyLmMKIAogIyBOdmlk aWEgUFRYIE9wZW5BQ0MgcGx1Z2luLgogQFBMVUdJTl9OVlBUWF9UUlVFQGxpYmdvbXBfcGx1Z2lu X252cHR4X3ZlcnNpb25faW5mbyA9IC12ZXJzaW9uLWluZm8gJChsaWJ0b29sX1ZFUlNJT04pCkBA IC01ODMsNyArNjI5LDcgQEAgbGliZ29tcF9sYV9TT1VSQ0VTID0gYWxsb2MuYyBhdG9taWMuYyBi YXJyaWVyLmMgY3JpdGljYWwuYyBlbnYuYyBcCiBAUExVR0lOX0dDTl9UUlVFQGxpYmdvbXBfcGx1 Z2luX2djbl9sYV9MSUJBREQgPSBsaWJnb21wLmxhICQoUExVR0lOX0dDTl9MSUJTKQogQFBMVUdJ Tl9HQ05fVFJVRUBsaWJnb21wX3BsdWdpbl9nY25fbGFfTElCVE9PTEZMQUdTID0gLS10YWc9ZGlz YWJsZS1zdGF0aWMKIG5vZGlzdF9ub2luc3RfSEVBREVSUyA9IGxpYmdvbXBfZi5oCi1ub2Rpc3Rf bGlic3ViaW5jbHVkZV9IRUFERVJTID0gb21wLmggb3BlbmFjYy5oIGFjY19wcm9mLmgKK25vZGlz dF9saWJzdWJpbmNsdWRlX0hFQURFUlMgPSBvbXAuaCBvcGVuYWNjLmggYWNjX3Byb2YuaCBvbXAt dG9vbHMuaCBvbXBkLXR5cGVzLmgKIEBVU0VfRk9SVFJBTl9UUlVFQG5vZGlzdF9maW5jbHVkZV9I RUFERVJTID0gb21wX2xpYi5oIG9tcF9saWIuZjkwIG9tcF9saWIubW9kIG9tcF9saWJfa2luZHMu bW9kIFwKIEBVU0VfRk9SVFJBTl9UUlVFQAlvcGVuYWNjX2xpYi5oIG9wZW5hY2MuZjkwIG9wZW5h Y2MubW9kIG9wZW5hY2Nfa2luZHMubW9kCiAKQEAgLTY0NCw4ICs2OTAsOCBAQCBNYWtlZmlsZTog JChzcmNkaXIpL01ha2VmaWxlLmluICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzCiAJICAg IGVjaG8gJyAkKFNIRUxMKSAuL2NvbmZpZy5zdGF0dXMnOyBcCiAJICAgICQoU0hFTEwpIC4vY29u ZmlnLnN0YXR1czs7IFwKIAkgICopIFwKLQkgICAgZWNobyAnIGNkICQodG9wX2J1aWxkZGlyKSAm JiAkKFNIRUxMKSAuL2NvbmZpZy5zdGF0dXMgJEAgJChhbV9fZGVwZmlsZXNfbWF5YmUpJzsgXAot CSAgICBjZCAkKHRvcF9idWlsZGRpcikgJiYgJChTSEVMTCkgLi9jb25maWcuc3RhdHVzICRAICQo YW1fX2RlcGZpbGVzX21heWJlKTs7IFwKKwkgICAgZWNobyAnIGNkICQodG9wX2J1aWxkZGlyKSAm JiAkKFNIRUxMKSAuL2NvbmZpZy5zdGF0dXMgJEAgJChhbV9fbWF5YmVfcmVtYWtlX2RlcGZpbGVz KSc7IFwKKwkgICAgY2QgJCh0b3BfYnVpbGRkaXIpICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1 cyAkQCAkKGFtX19tYXliZV9yZW1ha2VfZGVwZmlsZXMpOzsgXAogCWVzYWM7CiAkKHRvcF9zcmNk aXIpL3BsdWdpbi9NYWtlZnJhZy5hbSAkKHRvcF9zcmNkaXIpLy4uL211bHRpbGliLmFtICQoYW1f X2VtcHR5KToKIApAQCAtNjgwLDYgKzcyNiwxMCBAQCBvbXBfbGliLmY5MDogJCh0b3BfYnVpbGRk aXIpL2NvbmZpZy5zdGF0dXMgJChzcmNkaXIpL29tcF9saWIuZjkwLmluCiAJY2QgJCh0b3BfYnVp bGRkaXIpICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkQAogbGliZ29tcF9mLmg6ICQodG9w X2J1aWxkZGlyKS9jb25maWcuc3RhdHVzICQoc3JjZGlyKS9saWJnb21wX2YuaC5pbgogCWNkICQo dG9wX2J1aWxkZGlyKSAmJiAkKFNIRUxMKSAuL2NvbmZpZy5zdGF0dXMgJEAKK29tcC10b29scy5o OiAkKHRvcF9idWlsZGRpcikvY29uZmlnLnN0YXR1cyAkKHNyY2Rpcikvb21wLXRvb2xzLmguaW4K KwljZCAkKHRvcF9idWlsZGRpcikgJiYgJChTSEVMTCkgLi9jb25maWcuc3RhdHVzICRACitvbXBk LXR5cGVzLmg6ICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzICQoc3JjZGlyKS9vbXBkLXR5 cGVzLmguaW4KKwljZCAkKHRvcF9idWlsZGRpcikgJiYgJChTSEVMTCkgLi9jb25maWcuc3RhdHVz ICRACiBsaWJnb21wLnNwZWM6ICQodG9wX2J1aWxkZGlyKS9jb25maWcuc3RhdHVzICQoc3JjZGly KS9saWJnb21wLnNwZWMuaW4KIAljZCAkKHRvcF9idWlsZGRpcikgJiYgJChTSEVMTCkgLi9jb25m aWcuc3RhdHVzICRACiAKQEAgLTcyNyw1OSArNzc3LDcxIEBAIGxpYmdvbXAtcGx1Z2luLW52cHR4 LmxhOiAkKGxpYmdvbXBfcGx1Z2luX252cHR4X2xhX09CSkVDVFMpICQobGliZ29tcF9wbHVnaW5f bnZwCiBsaWJnb21wLmxhOiAkKGxpYmdvbXBfbGFfT0JKRUNUUykgJChsaWJnb21wX2xhX0RFUEVO REVOQ0lFUykgJChFWFRSQV9saWJnb21wX2xhX0RFUEVOREVOQ0lFUykgCiAJJChBTV9WX0dFTikk KGxpYmdvbXBfbGFfTElOSykgLXJwYXRoICQodG9vbGV4ZWNsaWJkaXIpICQobGliZ29tcF9sYV9P QkpFQ1RTKSAkKGxpYmdvbXBfbGFfTElCQUREKSAkKExJQlMpCiAKK2xpYmdvbXBkLmxhOiAkKGxp YmdvbXBkX2xhX09CSkVDVFMpICQobGliZ29tcGRfbGFfREVQRU5ERU5DSUVTKSAkKEVYVFJBX2xp YmdvbXBkX2xhX0RFUEVOREVOQ0lFUykgCisJJChBTV9WX0dFTikkKGxpYmdvbXBkX2xhX0xJTksp IC1ycGF0aCAkKHRvb2xleGVjbGliZGlyKSAkKGxpYmdvbXBkX2xhX09CSkVDVFMpICQobGliZ29t cGRfbGFfTElCQUREKSAkKExJQlMpCisKIG1vc3RseWNsZWFuLWNvbXBpbGU6CiAJLXJtIC1mICou JChPQkpFWFQpCiAKIGRpc3RjbGVhbi1jb21waWxlOgogCS1ybSAtZiAqLnRhYi5jCiAKLUBBTURF UF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9hZmZpbml0eS1mbXQu UGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQo REVQRElSKS9hZmZpbml0eS5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRl QCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2FsbG9jLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJV RUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvYWxsb2NhdG9yLlBsb0BhbV9f cXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikv YXRvbWljLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVv dGVALi8kKERFUERJUikvYmFyLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1 ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvYmFycmllci5QbG9AYW1fX3F1b3RlQAotQEFNREVQ X1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2NyaXRpY2FsLlBsb0Bh bV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJ UikvZW52LlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVv dGVALi8kKERFUERJUikvZXJyb3IuUGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5j bHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9mb3J0cmFuLlBsb0BhbV9fcXVvdGVACi1AQU1E RVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvaWN2LWRldmljZS5Q bG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChE RVBESVIpL2ljdi5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1f X3F1b3RlQC4vJChERVBESVIpL2l0ZXIuUGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9f aW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9pdGVyX3VsbC5QbG9AYW1fX3F1b3RlQAot QEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2xpYmdvbXAt cGx1Z2luLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVv dGVALi8kKERFUERJUikvbGliZ29tcF9wbHVnaW5fZ2NuX2xhLXBsdWdpbi1nY24uUGxvQGFtX19x dW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9s aWJnb21wX3BsdWdpbl9udnB0eF9sYS1wbHVnaW4tbnZwdHguUGxvQGFtX19xdW90ZUAKLUBBTURF UF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9sb2NrLlBsb0BhbV9f cXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikv bG9vcC5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3Rl QC4vJChERVBESVIpL2xvb3BfdWxsLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2lu Y2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvbXV0ZXguUGxvQGFtX19xdW90ZUAKLUBBTURF UF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9vYWNjLWFzeW5jLlBs b0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERF UERJUikvb2FjYy1jdWRhLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVA IEBhbV9fcXVvdGVALi8kKERFUERJUikvb2FjYy1ob3N0LlBsb0BhbV9fcXVvdGVACi1AQU1ERVBf VFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb2FjYy1pbml0LlBsb0Bh bV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJ Uikvb2FjYy1tZW0uUGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFt X19xdW90ZUAuLyQoREVQRElSKS9vYWNjLXBhcmFsbGVsLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBf VFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb2FjYy1wbHVnaW4uUGxv QGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQ RElSKS9vYWNjLXByb2ZpbGluZy5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNs dWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29hY2MtdGFyZ2V0LlBsb0BhbV9fcXVvdGVACi1A QU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb3JkZXJlZC5Q bG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChE RVBESVIpL3BhcmFsbGVsLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVA IEBhbV9fcXVvdGVALi8kKERFUERJUikvcHJpb3JpdHlfcXVldWUuUGxvQGFtX19xdW90ZUAKLUBB TURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9wcm9jLlBsb0Bh bV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJ UikvcHRybG9jay5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1f X3F1b3RlQC4vJChERVBESVIpL3Njb3BlLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJVRUBAYW1f X2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc2VjdGlvbnMuUGxvQGFtX19xdW90ZUAK LUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9zZW0uUGxv QGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQ RElSKS9zaW5nbGUuUGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFt X19xdW90ZUAuLyQoREVQRElSKS9zcGxheS10cmVlLlBsb0BhbV9fcXVvdGVACi1AQU1ERVBfVFJV RUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvdGFyZ2V0LlBsb0BhbV9fcXVv dGVACi1AQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvdGFz ay5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4v JChERVBESVIpL3RlYW0uUGxvQGFtX19xdW90ZUAKLUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAg QGFtX19xdW90ZUAuLyQoREVQRElSKS90ZWFtcy5QbG9AYW1fX3F1b3RlQAotQEFNREVQX1RSVUVA QGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3RpbWUuUGxvQGFtX19xdW90ZUAK LUBBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS93b3JrLlBs b0BhbV9fcXVvdGVACitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERF UERJUikvYWZmaW5pdHktZm10LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitA QU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvYWZmaW5pdHku UGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5j bHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9hbGxvYy5QbG9AYW1fX3F1b3RlQCAjIGFtLS1p bmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChE RVBESVIpL2FsbG9jYXRvci5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFN REVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2F0b21pYy5QbG9A YW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRl QCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2Jhci5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRl LW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIp L2JhcnJpZXIuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVF QEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9jcml0aWNhbC5QbG9AYW1fX3F1 b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1f X3F1b3RlQC4vJChERVBESVIpL2Vudi5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtl cgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2Vycm9y LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2lu Y2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvZm9ydHJhbi5QbG9AYW1fX3F1b3RlQCAjIGFt LS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4v JChERVBESVIpL2ljdi1kZXZpY2UuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIK K0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9pY3YuUGxv QGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVk ZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9pdGVyLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1 ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJ UikvaXRlcl91bGwuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9U UlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9saWJnb21wLXBsdWdpbi5Q bG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNs dWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL2xpYmdvbXBfcGx1Z2luX2djbl9sYS1wbHVnaW4t Z2NuLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1f X2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvbGliZ29tcF9wbHVnaW5fbnZwdHhfbGEt cGx1Z2luLW52cHR4LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBf VFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvbG9jay5QbG9AYW1fX3F1 b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1f X3F1b3RlQC4vJChERVBESVIpL2xvb3AuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJr ZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9sb29w X3VsbC5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFt X19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL211dGV4LlBsb0BhbV9fcXVvdGVAICMg YW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVA Li8kKERFUERJUikvb2FjYy1hc3luYy5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtl cgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29hY2Mt Y3VkYS5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFt X19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29hY2MtaG9zdC5QbG9AYW1fX3F1b3Rl QCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1 b3RlQC4vJChERVBESVIpL29hY2MtaW5pdC5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1h cmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29h Y2MtbWVtLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBA YW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb2FjYy1wYXJhbGxlbC5QbG9AYW1f X3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBA YW1fX3F1b3RlQC4vJChERVBESVIpL29hY2MtcGx1Z2luLlBsb0BhbV9fcXVvdGVAICMgYW0tLWlu Y2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERF UERJUikvb2FjYy1wcm9maWxpbmcuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIK K0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9vYWNjLXRh cmdldC5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFt X19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL29tcGQtaGVscGVyLlBsb0BhbV9fcXVv dGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9f cXVvdGVALi8kKERFUERJUikvb21wZC1pbml0LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUt bWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikv b21wZC1zdXBwb3J0LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBf VFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvb3JkZXJlZC5QbG9AYW1f X3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBA YW1fX3F1b3RlQC4vJChERVBESVIpL3BhcmFsbGVsLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1 ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJ UikvcHJpb3JpdHlfcXVldWUuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BB TURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9wcm9jLlBsb0Bh bV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVA IEBhbV9fcXVvdGVALi8kKERFUERJUikvcHRybG9jay5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNs dWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBE SVIpL3Njb3BlLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJV RUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvc2VjdGlvbnMuUGxvQGFtX19x dW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFt X19xdW90ZUAuLyQoREVQRElSKS9zZW0uUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJr ZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9zaW5n bGUuUGxvQGFtX19xdW90ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9f aW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQRElSKS9zcGxheS10cmVlLlBsb0BhbV9fcXVvdGVA ICMgYW0tLWluY2x1ZGUtbWFya2VyCitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVv dGVALi8kKERFUERJUikvdGFyZ2V0LlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2Vy CitAQU1ERVBfVFJVRUBAYW1fX2luY2x1ZGVAIEBhbV9fcXVvdGVALi8kKERFUERJUikvdGFzay5Q bG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RSVUVAQGFtX19pbmNs dWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3RlYW0uUGxvQGFtX19xdW90ZUAgIyBhbS0taW5j bHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19xdW90ZUAuLyQoREVQ RElSKS90ZWFtcy5QbG9AYW1fX3F1b3RlQCAjIGFtLS1pbmNsdWRlLW1hcmtlcgorQEFNREVQX1RS VUVAQGFtX19pbmNsdWRlQCBAYW1fX3F1b3RlQC4vJChERVBESVIpL3RpbWUuUGxvQGFtX19xdW90 ZUAgIyBhbS0taW5jbHVkZS1tYXJrZXIKK0BBTURFUF9UUlVFQEBhbV9faW5jbHVkZUAgQGFtX19x dW90ZUAuLyQoREVQRElSKS93b3JrLlBsb0BhbV9fcXVvdGVAICMgYW0tLWluY2x1ZGUtbWFya2Vy CisKKyQoYW1fX2RlcGZpbGVzX3JlbWFkZSk6CisJQCQoTUtESVJfUCkgJChARCkKKwlAZWNobyAn IyBkdW1teScgPiRALXQgJiYgJChhbV9fbXYpICRALXQgJEAKKworYW0tLWRlcGZpbGVzOiAkKGFt X19kZXBmaWxlc19yZW1hZGUpCiAKIC5jLm86CiBAYW1fX2Zhc3RkZXBDQ19UUlVFQAkkKEFNX1Zf Q0MpJChDT01QSUxFKSAtTVQgJEAgLU1EIC1NUCAtTUYgJChERVBESVIpLyQqLlRwbyAtYyAtbyAk QCAkPApAQCAtMTE2NSw3ICsxMjI3LDU2IEBAIGNsZWFuLWFtOiBjbGVhbi1hbWluZm8gY2xlYW4t Z2VuZXJpYyBjbGVhbi1saWJ0b29sIGNsZWFuLWxvY2FsIFwKIAogZGlzdGNsZWFuOiBkaXN0Y2xl YW4tcmVjdXJzaXZlCiAJLXJtIC1mICQoYW1fX0NPTkZJR19ESVNUQ0xFQU5fRklMRVMpCi0JLXJt IC1yZiAuLyQoREVQRElSKQorCQktcm0gLWYgLi8kKERFUERJUikvYWZmaW5pdHktZm10LlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9hZmZpbml0eS5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvYWxs b2MuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2FsbG9jYXRvci5QbG8KKwktcm0gLWYgLi8kKERF UERJUikvYXRvbWljLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9iYXIuUGxvCisJLXJtIC1mIC4v JChERVBESVIpL2JhcnJpZXIuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2NyaXRpY2FsLlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9lbnYuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2Vycm9yLlBs bworCS1ybSAtZiAuLyQoREVQRElSKS9mb3J0cmFuLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9p Y3YtZGV2aWNlLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9pY3YuUGxvCisJLXJtIC1mIC4vJChE RVBESVIpL2l0ZXIuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2l0ZXJfdWxsLlBsbworCS1ybSAt ZiAuLyQoREVQRElSKS9saWJnb21wLXBsdWdpbi5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvbGli Z29tcF9wbHVnaW5fZ2NuX2xhLXBsdWdpbi1nY24uUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2xp YmdvbXBfcGx1Z2luX252cHR4X2xhLXBsdWdpbi1udnB0eC5QbG8KKwktcm0gLWYgLi8kKERFUERJ UikvbG9jay5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvbG9vcC5QbG8KKwktcm0gLWYgLi8kKERF UERJUikvbG9vcF91bGwuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL211dGV4LlBsbworCS1ybSAt ZiAuLyQoREVQRElSKS9vYWNjLWFzeW5jLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9vYWNjLWN1 ZGEuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2MtaG9zdC5QbG8KKwktcm0gLWYgLi8kKERF UERJUikvb2FjYy1pbml0LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9vYWNjLW1lbS5QbG8KKwkt cm0gLWYgLi8kKERFUERJUikvb2FjYy1wYXJhbGxlbC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikv b2FjYy1wbHVnaW4uUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2MtcHJvZmlsaW5nLlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9vYWNjLXRhcmdldC5QbG8KKwktcm0gLWYgLi8kKERFUERJUikv b21wZC1oZWxwZXIuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29tcGQtaW5pdC5QbG8KKwktcm0g LWYgLi8kKERFUERJUikvb21wZC1zdXBwb3J0LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9vcmRl cmVkLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9wYXJhbGxlbC5QbG8KKwktcm0gLWYgLi8kKERF UERJUikvcHJpb3JpdHlfcXVldWUuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3Byb2MuUGxvCisJ LXJtIC1mIC4vJChERVBESVIpL3B0cmxvY2suUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3Njb3Bl LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9zZWN0aW9ucy5QbG8KKwktcm0gLWYgLi8kKERFUERJ Uikvc2VtLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9zaW5nbGUuUGxvCisJLXJtIC1mIC4vJChE RVBESVIpL3NwbGF5LXRyZWUuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3RhcmdldC5QbG8KKwkt cm0gLWYgLi8kKERFUERJUikvdGFzay5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvdGVhbS5QbG8K Kwktcm0gLWYgLi8kKERFUERJUikvdGVhbXMuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3RpbWUu UGxvCisJLXJtIC1mIC4vJChERVBESVIpL3dvcmsuUGxvCiAJLXJtIC1mIE1ha2VmaWxlCiBkaXN0 Y2xlYW4tYW06IGNsZWFuLWFtIGRpc3RjbGVhbi1jb21waWxlIGRpc3RjbGVhbi1nZW5lcmljIFwK IAlkaXN0Y2xlYW4taGRyIGRpc3RjbGVhbi1saWJ0b29sIGRpc3RjbGVhbi1sb2NhbCBkaXN0Y2xl YW4tdGFncwpAQCAtMTMwNiw3ICsxNDE3LDU2IEBAIGluc3RhbGxjaGVjay1hbToKIG1haW50YWlu ZXItY2xlYW46IG1haW50YWluZXItY2xlYW4tcmVjdXJzaXZlCiAJLXJtIC1mICQoYW1fX0NPTkZJ R19ESVNUQ0xFQU5fRklMRVMpCiAJLXJtIC1yZiAkKHRvcF9zcmNkaXIpL2F1dG9tNHRlLmNhY2hl Ci0JLXJtIC1yZiAuLyQoREVQRElSKQorCQktcm0gLWYgLi8kKERFUERJUikvYWZmaW5pdHktZm10 LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9hZmZpbml0eS5QbG8KKwktcm0gLWYgLi8kKERFUERJ UikvYWxsb2MuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2FsbG9jYXRvci5QbG8KKwktcm0gLWYg Li8kKERFUERJUikvYXRvbWljLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9iYXIuUGxvCisJLXJt IC1mIC4vJChERVBESVIpL2JhcnJpZXIuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2NyaXRpY2Fs LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9lbnYuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2Vy cm9yLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9mb3J0cmFuLlBsbworCS1ybSAtZiAuLyQoREVQ RElSKS9pY3YtZGV2aWNlLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9pY3YuUGxvCisJLXJtIC1m IC4vJChERVBESVIpL2l0ZXIuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL2l0ZXJfdWxsLlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9saWJnb21wLXBsdWdpbi5QbG8KKwktcm0gLWYgLi8kKERFUERJ UikvbGliZ29tcF9wbHVnaW5fZ2NuX2xhLXBsdWdpbi1nY24uUGxvCisJLXJtIC1mIC4vJChERVBE SVIpL2xpYmdvbXBfcGx1Z2luX252cHR4X2xhLXBsdWdpbi1udnB0eC5QbG8KKwktcm0gLWYgLi8k KERFUERJUikvbG9jay5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvbG9vcC5QbG8KKwktcm0gLWYg Li8kKERFUERJUikvbG9vcF91bGwuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL211dGV4LlBsbwor CS1ybSAtZiAuLyQoREVQRElSKS9vYWNjLWFzeW5jLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9v YWNjLWN1ZGEuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2MtaG9zdC5QbG8KKwktcm0gLWYg Li8kKERFUERJUikvb2FjYy1pbml0LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9vYWNjLW1lbS5Q bG8KKwktcm0gLWYgLi8kKERFUERJUikvb2FjYy1wYXJhbGxlbC5QbG8KKwktcm0gLWYgLi8kKERF UERJUikvb2FjYy1wbHVnaW4uUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29hY2MtcHJvZmlsaW5n LlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9vYWNjLXRhcmdldC5QbG8KKwktcm0gLWYgLi8kKERF UERJUikvb21wZC1oZWxwZXIuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL29tcGQtaW5pdC5QbG8K Kwktcm0gLWYgLi8kKERFUERJUikvb21wZC1zdXBwb3J0LlBsbworCS1ybSAtZiAuLyQoREVQRElS KS9vcmRlcmVkLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9wYXJhbGxlbC5QbG8KKwktcm0gLWYg Li8kKERFUERJUikvcHJpb3JpdHlfcXVldWUuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3Byb2Mu UGxvCisJLXJtIC1mIC4vJChERVBESVIpL3B0cmxvY2suUGxvCisJLXJtIC1mIC4vJChERVBESVIp L3Njb3BlLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9zZWN0aW9ucy5QbG8KKwktcm0gLWYgLi8k KERFUERJUikvc2VtLlBsbworCS1ybSAtZiAuLyQoREVQRElSKS9zaW5nbGUuUGxvCisJLXJtIC1m IC4vJChERVBESVIpL3NwbGF5LXRyZWUuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3RhcmdldC5Q bG8KKwktcm0gLWYgLi8kKERFUERJUikvdGFzay5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvdGVh bS5QbG8KKwktcm0gLWYgLi8kKERFUERJUikvdGVhbXMuUGxvCisJLXJtIC1mIC4vJChERVBESVIp L3RpbWUuUGxvCisJLXJtIC1mIC4vJChERVBESVIpL3dvcmsuUGxvCiAJLXJtIC1mIE1ha2VmaWxl CiBtYWludGFpbmVyLWNsZWFuLWFtOiBkaXN0Y2xlYW4tYW0gbWFpbnRhaW5lci1jbGVhbi1hbWlu Zm8gXAogCW1haW50YWluZXItY2xlYW4tZ2VuZXJpYyBtYWludGFpbmVyLWNsZWFuLWxvY2FsCkBA IC0xMzMzLDggKzE0OTMsOCBAQCB1bmluc3RhbGwtYW06IHVuaW5zdGFsbC1kdmktYW0gdW5pbnN0 YWxsLWh0bWwtYW0gdW5pbnN0YWxsLWluZm8tYW0gXAogLk1BS0U6ICQoYW1fX3JlY3Vyc2l2ZV90 YXJnZXRzKSBhbGwgaW5zdGFsbC1hbSBpbnN0YWxsLXN0cmlwCiAKIC5QSE9OWTogJChhbV9fcmVj dXJzaXZlX3RhcmdldHMpIENUQUdTIEdUQUdTIFRBR1MgYWxsIGFsbC1hbSBhbGwtbG9jYWwgXAot CWFtLS1yZWZyZXNoIGNoZWNrIGNoZWNrLWFtIGNsZWFuIGNsZWFuLWFtaW5mbyBjbGVhbi1jc2Nv cGUgXAotCWNsZWFuLWdlbmVyaWMgY2xlYW4tbGlidG9vbCBjbGVhbi1sb2NhbCBcCisJYW0tLWRl cGZpbGVzIGFtLS1yZWZyZXNoIGNoZWNrIGNoZWNrLWFtIGNsZWFuIGNsZWFuLWFtaW5mbyBcCisJ Y2xlYW4tY3Njb3BlIGNsZWFuLWdlbmVyaWMgY2xlYW4tbGlidG9vbCBjbGVhbi1sb2NhbCBcCiAJ Y2xlYW4tdG9vbGV4ZWNsaWJMVExJQlJBUklFUyBjc2NvcGUgY3Njb3BlbGlzdC1hbSBjdGFncyBc CiAJY3RhZ3MtYW0gZGlzdC1pbmZvIGRpc3RjbGVhbiBkaXN0Y2xlYW4tY29tcGlsZSBcCiAJZGlz dGNsZWFuLWdlbmVyaWMgZGlzdGNsZWFuLWhkciBkaXN0Y2xlYW4tbGlidG9vbCBcCkBAIC0xMzY2 LDYgKzE1MjYsMTAgQEAgdnBhdGggJSAkKHN0cmlwICQoc2VhcmNoX3BhdGgpKQogQExJQkdPTVBf QlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVAbGliZ29tcC52ZXI6ICQodG9wX3NyY2RpcikvbGli Z29tcC5tYXAKIEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQAkkKEVHUkVQKSAt diAnIygjfCB8JCQpJyAkPCB8IFwKIEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVF QAkgICQoUFJFUFJPQ0VTUykgLVAgLWluY2x1ZGUgY29uZmlnLmggLSA+ICRAIHx8IChybSAtZiAk QCA7IGV4aXQgMSkKKworQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVAbGliZ29t cGQudmVyOiAkKHRvcF9zcmNkaXIpL2xpYmdvbXBkLm1hcAorQExJQkdPTVBfQlVJTERfVkVSU0lP TkVEX1NITElCX1RSVUVACSQoRUdSRVApIC12ICcjKCN8IHwkJCknICQ8IHwgXAorQExJQkdPTVBf QlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVACQkkKFBSRVBST0NFU1MpIC1QIC1pbmNsdWRlIGNv bmZpZy5oIC0gPiAkQCB8fCAocm0gLWYgJEAgOyBleGl0IDEpCiBATElCR09NUF9CVUlMRF9WRVJT SU9ORURfU0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1RSVUVA bGliZ29tcC52ZXItc3VuIDogbGliZ29tcC52ZXIgXAogQExJQkdPTVBfQlVJTERfVkVSU0lPTkVE X1NITElCX1NVTl9UUlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQAkJJCh0 b3Bfc3JjZGlyKS8uLi9jb250cmliL21ha2Vfc3VudmVyLnBsIFwKIEBMSUJHT01QX0JVSUxEX1ZF UlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfVFJV RUAJCSQobGliZ29tcF9sYV9PQkpFQ1RTKSAkKGxpYmdvbXBfbGFfTElCQUREKQpAQCAtMTM3Niw2 ICsxNTQwLDE2IEBAIHZwYXRoICUgJChzdHJpcCAkKHNlYXJjaF9wYXRoKSkKIEBMSUJHT01QX0JV SUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJTSU9ORURfU0hM SUJfVFJVRUAJICAgIHNlZCAncywvXChbXi8uXSpcKVwubGEsLy5saWJzL1wxLmEsZydgIFwKIEBM SUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJT SU9ORURfU0hMSUJfVFJVRUAJID4gJEAgfHwgKHJtIC1mICRAIDsgZXhpdCAxKQogCitATElCR09N UF9CVUlMRF9WRVJTSU9ORURfU0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVE X1NITElCX1RSVUVAbGliZ29tcGQudmVyLXN1biA6IGxpYmdvbXBkLnZlciBcCitATElCR09NUF9C VUlMRF9WRVJTSU9ORURfU0hMSUJfU1VOX1RSVUVAQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NI TElCX1RSVUVACQkkKHRvcF9zcmNkaXIpLy4uL2NvbnRyaWIvbWFrZV9zdW52ZXIucGwgXAorQExJ QkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1NVTl9UUlVFQEBMSUJHT01QX0JVSUxEX1ZFUlNJ T05FRF9TSExJQl9UUlVFQAkJJChsaWJnb21wZF9sYV9PQkpFQ1RTKSAkKGxpYmdvbXBkX2xhX0xJ QkFERCkKK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9C VUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUAJcGVybCAkKHRvcF9zcmNkaXIpLy4uL2NvbnRyaWIv bWFrZV9zdW52ZXIucGwgXAorQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1NVTl9UUlVF QEBMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9UUlVFQAkJbGliZ29tcGQudmVyIFwKK0BM SUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9CVUlMRF9WRVJT SU9ORURfU0hMSUJfVFJVRUAJCSQobGliZ29tcGRfbGFfT0JKRUNUUzolLmxvPS5saWJzLyUubykg XAorQExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1NVTl9UUlVFQEBMSUJHT01QX0JVSUxE X1ZFUlNJT05FRF9TSExJQl9UUlVFQAkJYGVjaG8gJChsaWJnb21wZF9sYV9MSUJBREQpIHwgXAor QExJQkdPTVBfQlVJTERfVkVSU0lPTkVEX1NITElCX1NVTl9UUlVFQEBMSUJHT01QX0JVSUxEX1ZF UlNJT05FRF9TSExJQl9UUlVFQAkJCXNlZCAncywvXChbXi8uXSpcKVwubGEsLy5saWJzL1wxLmEs ZydgIFwKK0BMSUJHT01QX0JVSUxEX1ZFUlNJT05FRF9TSExJQl9TVU5fVFJVRUBATElCR09NUF9C VUlMRF9WRVJTSU9ORURfU0hMSUJfVFJVRUAJCT4gJEAgfHwgKHJtIC1mICRAIDsgZXhpdCAxKQor CiBvbXBfbGliX2tpbmRzLm1vZDogb21wX2xpYi5tb2QKIAk6CiBvcGVuYWNjX2tpbmRzLm1vZDog b3BlbmFjYy5tb2QKZGlmZiAtLWdpdCBhL2xpYmdvbXAvYWNsb2NhbC5tNCBiL2xpYmdvbXAvYWNs b2NhbC5tNAppbmRleCA1NWQ5ZDcxODk1YS4uNDcxOTYzYmY2MDcgMTAwNjQ0Ci0tLSBhL2xpYmdv bXAvYWNsb2NhbC5tNAorKysgYi9saWJnb21wL2FjbG9jYWwubTQKQEAgLTEsNiArMSw2IEBACi0j IGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IGFjbG9jYWwgMS4xNS4xIC0qLSBBdXRvY29uZiAt Ki0KKyMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgYnkgYWNsb2NhbCAxLjE2LjEgLSotIEF1dG9j b25mIC0qLQogCi0jIENvcHlyaWdodCAoQykgMTk5Ni0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KIAogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFu ZC9vciBkaXN0cmlidXRlIGl0LApAQCAtMjAsNyArMjAsNyBAQCBZb3UgaGF2ZSBhbm90aGVyIHZl cnNpb24gb2YgYXV0b2NvbmYuICBJdCBtYXkgd29yaywgYnV0IGlzIG5vdCBndWFyYW50ZWVkIHRv LgogSWYgeW91IGhhdmUgcHJvYmxlbXMsIHlvdSBtYXkgbmVlZCB0byByZWdlbmVyYXRlIHRoZSBi dWlsZCBzeXN0ZW0gZW50aXJlbHkuCiBUbyBkbyBzbywgdXNlIHRoZSBwcm9jZWR1cmUgZG9jdW1l bnRlZCBieSB0aGUgcGFja2FnZSwgdHlwaWNhbGx5ICdhdXRvcmVjb25mJy5dKV0pCiAKLSMgQ29w eXJpZ2h0IChDKSAyMDAyLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENv cHlyaWdodCAoQykgMjAwMi0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIwog IyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRl IGl0LApAQCAtMzIsMTAgKzMyLDEwIEBAIFRvIGRvIHNvLCB1c2UgdGhlIHByb2NlZHVyZSBkb2N1 bWVudGVkIGJ5IHRoZSBwYWNrYWdlLCB0eXBpY2FsbHkgJ2F1dG9yZWNvbmYnLl0pCiAjIGdlbmVy YXRlZCBmcm9tIHRoZSBtNCBmaWxlcyBhY2NvbXBhbnlpbmcgQXV0b21ha2UgWC5ZLgogIyAoVGhp cyBwcml2YXRlIG1hY3JvIHNob3VsZCBub3QgYmUgY2FsbGVkIG91dHNpZGUgdGhpcyBmaWxlLikK IEFDX0RFRlVOKFtBTV9BVVRPTUFLRV9WRVJTSU9OXSwKLVthbV9fYXBpX3ZlcnNpb249JzEuMTUn CitbYW1fX2FwaV92ZXJzaW9uPScxLjE2JwogZG5sIFNvbWUgdXNlcnMgZmluZCBBTV9BVVRPTUFL RV9WRVJTSU9OIGFuZCBtaXN0YWtlIGl0IGZvciBhIHdheSB0bwogZG5sIHJlcXVpcmUgc29tZSBt aW5pbXVtIHZlcnNpb24uICBQb2ludCB0aGVtIHRvIHRoZSByaWdodCBtYWNyby4KLW00X2lmKFsk MV0sIFsxLjE1LjFdLCBbXSwKK200X2lmKFskMV0sIFsxLjE2LjFdLCBbXSwKICAgICAgIFtBQ19G QVRBTChbRG8gbm90IGNhbGwgJDAsIHVzZSBBTV9JTklUX0FVVE9NQUtFKFskMV0pLl0pXSlkbmwK IF0pCiAKQEAgLTUxLDE0ICs1MSwxNCBAQCBtNF9kZWZpbmUoW19BTV9BVVRPQ09ORl9WRVJTSU9O XSwgW10pCiAjIENhbGwgQU1fQVVUT01BS0VfVkVSU0lPTiBhbmQgQU1fQVVUT01BS0VfVkVSU0lP TiBzbyB0aGV5IGNhbiBiZSB0cmFjZWQuCiAjIFRoaXMgZnVuY3Rpb24gaXMgQUNfUkVRVUlSRWQg YnkgQU1fSU5JVF9BVVRPTUFLRS4KIEFDX0RFRlVOKFtBTV9TRVRfQ1VSUkVOVF9BVVRPTUFLRV9W RVJTSU9OXSwKLVtBTV9BVVRPTUFLRV9WRVJTSU9OKFsxLjE1LjFdKWRubAorW0FNX0FVVE9NQUtF X1ZFUlNJT04oWzEuMTYuMV0pZG5sCiBtNF9pZm5kZWYoW0FDX0FVVE9DT05GX1ZFUlNJT05dLAog ICBbbTRfY29weShbbTRfUEFDS0FHRV9WRVJTSU9OXSwgW0FDX0FVVE9DT05GX1ZFUlNJT05dKV0p ZG5sCiBfQU1fQVVUT0NPTkZfVkVSU0lPTihtNF9kZWZuKFtBQ19BVVRPQ09ORl9WRVJTSU9OXSkp XSkKIAogIyBBTV9BVVhfRElSX0VYUEFORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogCi0jIENvcHlyaWdodCAoQykgMjAwMS0yMDE3IEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29m dHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBl cm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTExMCw3ICsxMTAsNyBA QCBhbV9hdXhfZGlyPWBjZCAiJGFjX2F1eF9kaXIiICYmIHB3ZGAKIAogIyBBTV9DT05ESVRJT05B TCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25m IC0qLQogCi0jIENvcHlyaWdodCAoQykgMTk5Ny0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTctMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQv b3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTE0MSw3ICsxNDEsNyBAQCBBQ19DT05GSUdfQ09NTUFORFNf UFJFKAogVXN1YWxseSB0aGlzIG1lYW5zIHRoZSBtYWNybyB3YXMgb25seSBpbnZva2VkIGNvbmRp dGlvbmFsbHkuXV0pCiBmaV0pXSkKIAotIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAxNyBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk5LTIwMTggRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJl OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNz aW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0zMzIsMTMgKzMzMiwxMiBAQCBf QU1fU1VCU1RfTk9UTUFLRShbYW1fX25vZGVwXSlkbmwKIAogIyBHZW5lcmF0ZSBjb2RlIHRvIHNl dCB1cCBkZXBlbmRlbmN5IHRyYWNraW5nLiAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQog Ci0jIENvcHlyaWdodCAoQykgMTk5OS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlz dHJpYnV0ZSBpdCwKICMgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMg dGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgogCi0KICMgX0FNX09VVFBVVF9ERVBFTkRFTkNZX0NP TU1BTkRTCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogQUNfREVGVU4oW19BTV9P VVRQVVRfREVQRU5ERU5DWV9DT01NQU5EU10sCkBAIC0zNDYsNDkgKzM0NSw0MSBAQCBBQ19ERUZV TihbX0FNX09VVFBVVF9ERVBFTkRFTkNZX0NPTU1BTkRTXSwKICAgIyBPbGRlciBBdXRvY29uZiBx dW90ZXMgLS1maWxlIGFyZ3VtZW50cyBmb3IgZXZhbCwgYnV0IG5vdCB3aGVuIGZpbGVzCiAgICMg YXJlIGxpc3RlZCB3aXRob3V0IC0tZmlsZS4gIExldCdzIHBsYXkgc2FmZSBhbmQgb25seSBlbmFi bGUgdGhlIGV2YWwKICAgIyBpZiB3ZSBkZXRlY3QgdGhlIHF1b3RpbmcuCi0gIGNhc2UgJENPTkZJ R19GSUxFUyBpbgotICAqXCcqKSBldmFsIHNldCB4ICIkQ09ORklHX0ZJTEVTIiA7OwotICAqKSAg IHNldCB4ICRDT05GSUdfRklMRVMgOzsKLSAgZXNhYworICAjIFRPRE86IHNlZSB3aGV0aGVyIHRo aXMgZXh0cmEgaGFjayBjYW4gYmUgcmVtb3ZlZCBvbmNlIHdlIHN0YXJ0CisgICMgcmVxdWlyaW5n IEF1dG9jb25mIDIuNzAgb3IgbGF0ZXIuCisgIEFTX0NBU0UoWyRDT05GSUdfRklMRVNdLAorICAg ICAgICAgIFsqXCcqXSwgW2V2YWwgc2V0IHggIiRDT05GSUdfRklMRVMiXSwKKyAgICAgICAgICBb Kl0sIFtzZXQgeCAkQ09ORklHX0ZJTEVTXSkKICAgc2hpZnQKLSAgZm9yIG1mCisgICMgVXNlZCB0 byBmbGFnIGFuZCByZXBvcnQgYm9vdHN0cmFwcGluZyBmYWlsdXJlcy4KKyAgYW1fcmM9MAorICBm b3IgYW1fbWYKICAgZG8KICAgICAjIFN0cmlwIE1GIHNvIHdlIGVuZCB1cCB3aXRoIHRoZSBuYW1l IG9mIHRoZSBmaWxlLgotICAgIG1mPWBlY2hvICIkbWYiIHwgc2VkIC1lICdzLzouKiQvLydgCi0g ICAgIyBDaGVjayB3aGV0aGVyIHRoaXMgaXMgYW4gQXV0b21ha2UgZ2VuZXJhdGVkIE1ha2VmaWxl IG9yIG5vdC4KLSAgICAjIFdlIHVzZWQgdG8gbWF0Y2ggb25seSB0aGUgZmlsZXMgbmFtZWQgJ01h a2VmaWxlLmluJywgYnV0Ci0gICAgIyBzb21lIHBlb3BsZSByZW5hbWUgdGhlbTsgc28gaW5zdGVh ZCB3ZSBsb29rIGF0IHRoZSBmaWxlIGNvbnRlbnQuCi0gICAgIyBHcmVwJ2luZyB0aGUgZmlyc3Qg bGluZSBpcyBub3QgZW5vdWdoOiBzb21lIHBlb3BsZSBwb3N0LXByb2Nlc3MKLSAgICAjIGVhY2gg TWFrZWZpbGUuaW4gYW5kIGFkZCBhIG5ldyBsaW5lIG9uIHRvcCBvZiBlYWNoIGZpbGUgdG8gc2F5 IHNvLgotICAgICMgR3JlcCdpbmcgdGhlIHdob2xlIGZpbGUgaXMgbm90IGdvb2QgZWl0aGVyOiBB SVggZ3JlcCBoYXMgYSBsaW5lCisgICAgYW1fbWY9YEFTX0VDSE8oWyIkYW1fbWYiXSkgfCBzZWQg LWUgJ3MvOi4qJC8vJ2AKKyAgICAjIENoZWNrIHdoZXRoZXIgdGhpcyBpcyBhbiBBdXRvbWFrZSBn ZW5lcmF0ZWQgTWFrZWZpbGUgd2hpY2ggaW5jbHVkZXMKKyAgICAjIGRlcGVuZGVuY3ktdHJhY2tp bmcgcmVsYXRlZCBydWxlcyBhbmQgaW5jbHVkZXMuCisgICAgIyBHcmVwJ2luZyB0aGUgd2hvbGUg ZmlsZSBkaXJlY3RseSBpcyBub3QgZ3JlYXQ6IEFJWCBncmVwIGhhcyBhIGxpbmUKICAgICAjIGxp bWl0IG9mIDIwNDgsIGJ1dCBhbGwgc2VkJ3Mgd2Uga25vdyBoYXZlIHVuZGVyc3RhbmQgYXQgbGVh c3QgNDAwMC4KLSAgICBpZiBzZWQgLW4gJ3MsXiMuKmdlbmVyYXRlZCBieSBhdXRvbWFrZS4qLFgs cCcgIiRtZiIgfCBncmVwIFggPi9kZXYvbnVsbCAyPiYxOyB0aGVuCi0gICAgICBkaXJwYXJ0PWBB U19ESVJOQU1FKCIkbWYiKWAKLSAgICBlbHNlCi0gICAgICBjb250aW51ZQotICAgIGZpCi0gICAg IyBFeHRyYWN0IHRoZSBkZWZpbml0aW9uIG9mIERFUERJUiwgYW1fX2luY2x1ZGUsIGFuZCBhbV9f cXVvdGUKLSAgICAjIGZyb20gdGhlIE1ha2VmaWxlIHdpdGhvdXQgcnVubmluZyAnbWFrZScuCi0g ICAgREVQRElSPWBzZWQgLW4gJ3MvXkRFUERJUiA9IC8vcCcgPCAiJG1mImAKLSAgICB0ZXN0IC16 ICIkREVQRElSIiAmJiBjb250aW51ZQotICAgIGFtX19pbmNsdWRlPWBzZWQgLW4gJ3MvXmFtX19p bmNsdWRlID0gLy9wJyA8ICIkbWYiYAotICAgIHRlc3QgLXogIiRhbV9faW5jbHVkZSIgJiYgY29u dGludWUKLSAgICBhbV9fcXVvdGU9YHNlZCAtbiAncy9eYW1fX3F1b3RlID0gLy9wJyA8ICIkbWYi YAotICAgICMgRmluZCBhbGwgZGVwZW5kZW5jeSBvdXRwdXQgZmlsZXMsIHRoZXkgYXJlIGluY2x1 ZGVkIGZpbGVzIHdpdGgKLSAgICAjICQoREVQRElSKSBpbiB0aGVpciBuYW1lcy4gIFdlIGludm9r ZSBzZWQgdHdpY2UgYmVjYXVzZSBpdCBpcyB0aGUKLSAgICAjIHNpbXBsZXN0IGFwcHJvYWNoIHRv IGNoYW5naW5nICQoREVQRElSKSB0byBpdHMgYWN0dWFsIHZhbHVlIGluIHRoZQotICAgICMgZXhw YW5zaW9uLgotICAgIGZvciBmaWxlIGluIGBzZWQgLW4gIgotICAgICAgcy9eJGFtX19pbmNsdWRl ICRhbV9fcXVvdGVcKC4qKERFUERJUikuKlwpJGFtX19xdW90ZSInJC9cMS9wJyA8IiRtZiIgfCBc Ci0JIHNlZCAtZSAncy9cJChERVBESVIpLyciJERFUERJUiInL2cnYDsgZG8KLSAgICAgICMgTWFr ZSBzdXJlIHRoZSBkaXJlY3RvcnkgZXhpc3RzLgotICAgICAgdGVzdCAtZiAiJGRpcnBhcnQvJGZp bGUiICYmIGNvbnRpbnVlCi0gICAgICBmZGlyPWBBU19ESVJOQU1FKFsiJGZpbGUiXSlgCi0gICAg ICBBU19NS0RJUl9QKFskZGlycGFydC8kZmRpcl0pCi0gICAgICAjIGVjaG8gImNyZWF0aW5nICRk aXJwYXJ0LyRmaWxlIgotICAgICAgZWNobyAnIyBkdW1teScgPiAiJGRpcnBhcnQvJGZpbGUiCi0g ICAgZG9uZQorICAgIHNlZCAtbiAncyxeYW0tLWRlcGZpbGVzOi4qLFgscCcgIiRhbV9tZiIgfCBn cmVwIFggPi9kZXYvbnVsbCAyPiYxIFwKKyAgICAgIHx8IGNvbnRpbnVlCisgICAgYW1fZGlycGFy dD1gQVNfRElSTkFNRShbIiRhbV9tZiJdKWAKKyAgICBhbV9maWxlcGFydD1gQVNfQkFTRU5BTUUo WyIkYW1fbWYiXSlgCisgICAgQU1fUlVOX0xPRyhbY2QgIiRhbV9kaXJwYXJ0IiBcCisgICAgICAm JiBzZWQgLWUgJy8jIGFtLS1pbmNsdWRlLW1hcmtlci9kJyAiJGFtX2ZpbGVwYXJ0IiBcCisgICAg ICAgIHwgJE1BS0UgLWYgLSBhbS0tZGVwZmlsZXNdKSB8fCBhbV9yYz0kPwogICBkb25lCisgIGlm IHRlc3QgJGFtX3JjIC1uZSAwOyB0aGVuCisgICAgQUNfTVNHX0ZBSUxVUkUoW1NvbWV0aGluZyB3 ZW50IHdyb25nIGJvb3RzdHJhcHBpbmcgbWFrZWZpbGUgZnJhZ21lbnRzCisgICAgZm9yIGF1dG9t YXRpYyBkZXBlbmRlbmN5IHRyYWNraW5nLiAgVHJ5IHJlLXJ1bm5pbmcgY29uZmlndXJlIHdpdGgg dGhlCisgICAgJy0tZGlzYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nJyBvcHRpb24gdG8gYXQgbGVh c3QgYmUgYWJsZSB0byBidWlsZAorICAgIHRoZSBwYWNrYWdlIChhbGJlaXQgd2l0aG91dCBzdXBw b3J0IGZvciBhdXRvbWF0aWMgZGVwZW5kZW5jeSB0cmFja2luZykuXSkKKyAgZmkKKyAgQVNfVU5T RVQoW2FtX2RpcnBhcnRdKQorICBBU19VTlNFVChbYW1fZmlsZXBhcnRdKQorICBBU19VTlNFVChb YW1fbWZdKQorICBBU19VTlNFVChbYW1fcmNdKQorICBybSAtZiBjb25mdGVzdC1kZXBzLm1rCiB9 CiBdKSMgX0FNX09VVFBVVF9ERVBFTkRFTkNZX0NPTU1BTkRTCiAKQEAgLTM5NywxOCArMzg4LDE3 IEBAIEFDX0RFRlVOKFtfQU1fT1VUUFVUX0RFUEVOREVOQ1lfQ09NTUFORFNdLAogIyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIyBUaGlzIG1hY3JvIHNob3VsZCBvbmx5IGJlIGludm9r ZWQgb25jZSAtLSB1c2UgdmlhIEFDX1JFUVVJUkUuCiAjCi0jIFRoaXMgY29kZSBpcyBvbmx5IHJl cXVpcmVkIHdoZW4gYXV0b21hdGljIGRlcGVuZGVuY3kgdHJhY2tpbmcKLSMgaXMgZW5hYmxlZC4g IEZJWE1FLiAgVGhpcyBjcmVhdGVzIGVhY2ggJy5QJyBmaWxlIHRoYXQgd2Ugd2lsbAotIyBuZWVk IGluIG9yZGVyIHRvIGJvb3RzdHJhcCB0aGUgZGVwZW5kZW5jeSBoYW5kbGluZyBjb2RlLgorIyBU aGlzIGNvZGUgaXMgb25seSByZXF1aXJlZCB3aGVuIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRyYWNr aW5nIGlzIGVuYWJsZWQuCisjIFRoaXMgY3JlYXRlcyBlYWNoICcuUG8nIGFuZCAnLlBsbycgbWFr ZWZpbGUgZnJhZ21lbnQgdGhhdCB3ZSdsbCBuZWVkIGluCisjIG9yZGVyIHRvIGJvb3RzdHJhcCB0 aGUgZGVwZW5kZW5jeSBoYW5kbGluZyBjb2RlLgogQUNfREVGVU4oW0FNX09VVFBVVF9ERVBFTkRF TkNZX0NPTU1BTkRTXSwKIFtBQ19DT05GSUdfQ09NTUFORFMoW2RlcGZpbGVzXSwKICAgICAgW3Rl c3QgeCIkQU1ERVBfVFJVRSIgIT0geCIiIHx8IF9BTV9PVVRQVVRfREVQRU5ERU5DWV9DT01NQU5E U10sCi0gICAgIFtBTURFUF9UUlVFPSIkQU1ERVBfVFJVRSIgYWNfYXV4X2Rpcj0iJGFjX2F1eF9k aXIiXSkKLV0pCisgICAgIFtBTURFUF9UUlVFPSIkQU1ERVBfVFJVRSIgTUFLRT0iJHtNQUtFLW1h a2V9Il0pXSkKIAogIyBEbyBhbGwgdGhlIHdvcmsgZm9yIEF1dG9tYWtlLiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogCi0jIENvcHlyaWdodCAoQykgMTk5Ni0y MDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTYt MjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZy ZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1p dGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTQ5NSw4ICs0 ODUsOCBAQCBBQ19SRVFVSVJFKFtBTV9QUk9HX0lOU1RBTExfU1RSSVBdKWRubAogQUNfUkVRVUlS RShbQUNfUFJPR19NS0RJUl9QXSlkbmwKICMgRm9yIGJldHRlciBiYWNrd2FyZCBjb21wYXRpYmls aXR5LiAgVG8gYmUgcmVtb3ZlZCBvbmNlIEF1dG9tYWtlIDEuOS54CiAjIGRpZXMgb3V0IGZvciBn b29kLiAgRm9yIG1vcmUgYmFja2dyb3VuZCwgc2VlOgotIyA8aHR0cDovL2xpc3RzLmdudS5vcmcv YXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTItMDcvbXNnMDAwMDEuaHRtbD4KLSMgPGh0dHA6Ly9s aXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEyLTA3L21zZzAwMDE0Lmh0bWw+ CisjIDxodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTItMDcv bXNnMDAwMDEuaHRtbD4KKyMgPGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYXV0 b21ha2UvMjAxMi0wNy9tc2cwMDAxNC5odG1sPgogQUNfU1VCU1QoW21rZGlyX3BdLCBbJyQoTUtE SVJfUCknXSkKICMgV2UgbmVlZCBhd2sgZm9yIHRoZSAiY2hlY2siIHRhcmdldCAoYW5kIHBvc3Np Ymx5IHRoZSBUQVAgZHJpdmVyKS4gIFRoZQogIyBzeXN0ZW0gImF3ayIgaXMgYmFkIG9uIHNvbWUg cGxhdGZvcm1zLgpAQCAtNTYzLDcgKzU1Myw3IEBAIEVORAogQWJvcnRpbmcgdGhlIGNvbmZpZ3Vy YXRpb24gcHJvY2VzcywgdG8gZW5zdXJlIHlvdSB0YWtlIG5vdGljZSBvZiB0aGUgaXNzdWUuCiAK IFlvdSBjYW4gZG93bmxvYWQgYW5kIGluc3RhbGwgR05VIGNvcmV1dGlscyB0byBnZXQgYW4gJ3Jt JyBpbXBsZW1lbnRhdGlvbgotdGhhdCBiZWhhdmVzIHByb3Blcmx5OiA8aHR0cDovL3d3dy5nbnUu b3JnL3NvZnR3YXJlL2NvcmV1dGlscy8+LgordGhhdCBiZWhhdmVzIHByb3Blcmx5OiA8aHR0cHM6 Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9jb3JldXRpbHMvPi4KIAogSWYgeW91IHdhbnQgdG8gY29t cGxldGUgdGhlIGNvbmZpZ3VyYXRpb24gcHJvY2VzcyB1c2luZyB5b3VyIHByb2JsZW1hdGljCiAn cm0nIGFueXdheSwgZXhwb3J0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBBQ0NFUFRfSU5GRVJJ T1JfUk1fUFJPR1JBTQpAQCAtNjA1LDcgKzU5NSw3IEBAIGZvciBfYW1faGVhZGVyIGluICRjb25m aWdfaGVhZGVycyA6OyBkbwogZG9uZQogZWNobyAidGltZXN0YW1wIGZvciAkX2FtX2FyZyIgPmBB U19ESVJOQU1FKFsiJF9hbV9hcmciXSlgL3N0YW1wLWhbXSRfYW1fc3RhbXBfY291bnRdKQogCi0j IENvcHlyaWdodCAoQykgMjAwMS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgor IyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4K ICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJp YnV0ZSBpdCwKQEAgLTYyOSw3ICs2MTksNyBAQCBBQ19TVUJTVChbaW5zdGFsbF9zaF0pXSkKICMg QWRkIC0tZW5hYmxlLW1haW50YWluZXItbW9kZSBvcHRpb24gdG8gY29uZmlndXJlLiAgICAgICAg IC0qLSBBdXRvY29uZiAtKi0KICMgRnJvbSBKaW0gTWV5ZXJpbmcKIAotIyBDb3B5cmlnaHQgKEMp IDE5OTYtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChD KSAxOTk2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmls ZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVz IHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC02 NjQsNyArNjU0LDcgQEAgQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBtYWludGFp bmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlc10pCiAKICMgQ2hlY2sgdG8gc2VlIGhv dyAnbWFrZScgdHJlYXRzIGluY2x1ZGVzLgkgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCiAK LSMgQ29weXJpZ2h0IChDKSAyMDAxLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu CisjIENvcHlyaWdodCAoQykgMjAwMS0yMDE4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0 cmlidXRlIGl0LApAQCAtNjcyLDQ5ICs2NjIsNDIgQEAgQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVy IHRvIGVuYWJsZSBtYWludGFpbmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlc10pCiAK ICMgQU1fTUFLRV9JTkNMVURFKCkKICMgLS0tLS0tLS0tLS0tLS0tLS0KLSMgQ2hlY2sgdG8gc2Vl IGhvdyBtYWtlIHRyZWF0cyBpbmNsdWRlcy4KKyMgQ2hlY2sgd2hldGhlciBtYWtlIGhhcyBhbiAn aW5jbHVkZScgZGlyZWN0aXZlIHRoYXQgY2FuIHN1cHBvcnQgYWxsCisjIHRoZSBpZGlvbXMgd2Ug bmVlZCBmb3Igb3VyIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRyYWNraW5nIGNvZGUuCiBBQ19ERUZV TihbQU1fTUFLRV9JTkNMVURFXSwKLVthbV9tYWtlPSR7TUFLRS1tYWtlfQotY2F0ID4gY29uZmlu YyA8PCAnRU5EJworW0FDX01TR19DSEVDS0lORyhbd2hldGhlciAke01BS0UtbWFrZX0gc3VwcG9y dHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlXSkKK2NhdCA+IGNvbmZpbmMubWsgPDwgJ0VORCcKIGFt X19kb2l0OgotCUBlY2hvIHRoaXMgaXMgdGhlIGFtX19kb2l0IHRhcmdldAorCUBlY2hvIHRoaXMg aXMgdGhlIGFtX19kb2l0IHRhcmdldCA+Y29uZmluYy5vdXQKIC5QSE9OWTogYW1fX2RvaXQKIEVO RAotIyBJZiB3ZSBkb24ndCBmaW5kIGFuIGluY2x1ZGUgZGlyZWN0aXZlLCBqdXN0IGNvbW1lbnQg b3V0IHRoZSBjb2RlLgotQUNfTVNHX0NIRUNLSU5HKFtmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2Vk IGJ5ICRhbV9tYWtlXSkKIGFtX19pbmNsdWRlPSIjIgogYW1fX3F1b3RlPQotX2FtX3Jlc3VsdD1u b25lCi0jIEZpcnN0IHRyeSBHTlUgbWFrZSBzdHlsZSBpbmNsdWRlLgotZWNobyAiaW5jbHVkZSBj b25maW5jIiA+IGNvbmZtZgotIyBJZ25vcmUgYWxsIGtpbmRzIG9mIGFkZGl0aW9uYWwgb3V0cHV0 IGZyb20gJ21ha2UnLgotY2FzZSBgJGFtX21ha2UgLXMgLWYgY29uZm1mIDI+IC9kZXYvbnVsbGAg aW4gIygKLSp0aGVcIGFtX19kb2l0XCB0YXJnZXQqKQotICBhbV9faW5jbHVkZT1pbmNsdWRlCi0g IGFtX19xdW90ZT0KLSAgX2FtX3Jlc3VsdD1HTlUKLSAgOzsKLWVzYWMKLSMgTm93IHRyeSBCU0Qg bWFrZSBzdHlsZSBpbmNsdWRlLgotaWYgdGVzdCAiJGFtX19pbmNsdWRlIiA9ICIjIjsgdGhlbgot ICAgZWNobyAnLmluY2x1ZGUgImNvbmZpbmMiJyA+IGNvbmZtZgotICAgY2FzZSBgJGFtX21ha2Ug LXMgLWYgY29uZm1mIDI+IC9kZXYvbnVsbGAgaW4gIygKLSAgICp0aGVcIGFtX19kb2l0XCB0YXJn ZXQqKQotICAgICBhbV9faW5jbHVkZT0uaW5jbHVkZQotICAgICBhbV9fcXVvdGU9IlwiIgotICAg ICBfYW1fcmVzdWx0PUJTRAotICAgICA7OwotICAgZXNhYwotZmkKLUFDX1NVQlNUKFthbV9faW5j bHVkZV0pCi1BQ19TVUJTVChbYW1fX3F1b3RlXSkKLUFDX01TR19SRVNVTFQoWyRfYW1fcmVzdWx0 XSkKLXJtIC1mIGNvbmZpbmMgY29uZm1mCi1dKQorIyBCU0QgbWFrZSBkb2VzIGl0IGxpa2UgdGhp cy4KK2VjaG8gJy5pbmNsdWRlICJjb25maW5jLm1rIiAjIGlnbm9yZWQnID4gY29uZm1mLkJTRAor IyBPdGhlciBtYWtlIGltcGxlbWVudGF0aW9ucyAoR05VLCBTb2xhcmlzIDEwLCBBSVgpIGRvIGl0 IGxpa2UgdGhpcy4KK2VjaG8gJ2luY2x1ZGUgY29uZmluYy5tayAjIGlnbm9yZWQnID4gY29uZm1m LkdOVQorX2FtX3Jlc3VsdD1ubworZm9yIHMgaW4gR05VIEJTRDsgZG8KKyAgQU1fUlVOX0xPRyhb JHtNQUtFLW1ha2V9IC1mIGNvbmZtZi4kcyAmJiBjYXQgY29uZmluYy5vdXRdKQorICBBU19DQVNF KFskPzpgY2F0IGNvbmZpbmMub3V0IDI+L2Rldi9udWxsYF0sCisgICAgICBbJzA6dGhpcyBpcyB0 aGUgYW1fX2RvaXQgdGFyZ2V0J10sCisgICAgICBbQVNfQ0FTRShbJHNdLAorICAgICAgICAgIFtC U0RdLCBbYW1fX2luY2x1ZGU9Jy5pbmNsdWRlJyBhbV9fcXVvdGU9JyInXSwKKyAgICAgICAgICBb YW1fX2luY2x1ZGU9J2luY2x1ZGUnIGFtX19xdW90ZT0nJ10pXSkKKyAgaWYgdGVzdCAiJGFtX19p bmNsdWRlIiAhPSAiIyI7IHRoZW4KKyAgICBfYW1fcmVzdWx0PSJ5ZXMgKCRzIHN0eWxlKSIKKyAg ICBicmVhaworICBmaQorZG9uZQorcm0gLWYgY29uZmluYy4qIGNvbmZtZi4qCitBQ19NU0dfUkVT VUxUKFske19hbV9yZXN1bHR9XSkKK0FDX1NVQlNUKFthbV9faW5jbHVkZV0pXSkKK0FDX1NVQlNU KFthbV9fcXVvdGVdKV0pCiAKICMgRmFrZSB0aGUgZXhpc3RlbmNlIG9mIHByb2dyYW1zIHRoYXQg R05VIG1haW50YWluZXJzIHVzZS4gIC0qLSBBdXRvY29uZiAtKi0KIAotIyBDb3B5cmlnaHQgKEMp IDE5OTctMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChD KSAxOTk3LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmls ZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVz IHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC03 NTMsNyArNzM2LDcgQEAgZmkKIAogIyBIZWxwZXIgZnVuY3Rpb25zIGZvciBvcHRpb24gaGFuZGxp bmcuICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9jb25mIC0qLQogCi0jIENvcHlyaWdodCAo QykgMjAwMS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQg KEMpIDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBm aWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2 ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAg LTc4Miw3ICs3NjUsNyBAQCBBQ19ERUZVTihbX0FNX1NFVF9PUFRJT05TXSwKIEFDX0RFRlVOKFtf QU1fSUZfT1BUSU9OXSwKIFttNF9pZnNldChfQU1fTUFOR0xFX09QVElPTihbJDFdKSwgWyQyXSwg WyQzXSldKQogCi0jIENvcHlyaWdodCAoQykgMTk5OS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBh bmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTgyOSw3ICs4MTIsNyBAQCBBQ19MQU5HX1BPUChbQ10p XSkKICMgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuCiBBQ19ERUZVTl9PTkNFKFtBTV9QUk9H X0NDX0NfT10sIFtBQ19SRVFVSVJFKFtBQ19QUk9HX0NDXSldKQogCi0jIENvcHlyaWdodCAoQykg MjAwMS0yMDE3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMp IDIwMDEtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxl IGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMg dW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTg0 OCw3ICs4MzEsNyBAQCBBQ19ERUZVTihbQU1fUlVOX0xPR10sCiAKICMgQ2hlY2sgdG8gbWFrZSBz dXJlIHRoYXQgdGhlIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuICAgIC0qLSBBdXRvY29uZiAt Ki0KIAotIyBDb3B5cmlnaHQgKEMpIDE5OTYtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29y IGRpc3RyaWJ1dGUgaXQsCkBAIC05MjksNyArOTEyLDcgQEAgQUNfQ09ORklHX0NPTU1BTkRTX1BS RSgKIHJtIC1mIGNvbmZ0ZXN0LmZpbGUKIF0pCiAKLSMgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTcg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAwOS0yMDE4 IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBz b2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQg cGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApAQCAtOTg5LDcgKzk3Miw3 IEBAIEFDX1NVQlNUKFtBTV9CQUNLU0xBU0hdKWRubAogX0FNX1NVQlNUX05PVE1BS0UoW0FNX0JB Q0tTTEFTSF0pZG5sCiBdKQogCi0jIENvcHlyaWdodCAoQykgMjAwMS0yMDE3IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxOCBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KICMKICMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24g dG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTEwMTcsNyArMTAwMCw3IEBAIGZpCiBJ TlNUQUxMX1NUUklQX1BST0dSQU09IlwkKGluc3RhbGxfc2gpIC1jIC1zIgogQUNfU1VCU1QoW0lO U1RBTExfU1RSSVBfUFJPR1JBTV0pXSkKIAotIyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNyBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTggRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjCiAjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3 YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCiAjIGdpdmVzIHVubGltaXRlZCBwZXJt aXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCkBAIC0xMDM2LDcgKzEwMTksNyBA QCBBQ19ERUZVTihbQU1fU1VCU1RfTk9UTUFLRV0sIFtfQU1fU1VCU1RfTk9UTUFLRSgkQCldKQog CiAjIENoZWNrIGhvdyB0byBjcmVhdGUgYSB0YXJiYWxsLiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtKi0gQXV0b2NvbmYgLSotCiAKLSMgQ29weXJpZ2h0IChDKSAyMDA0LTIwMTcgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAwNC0yMDE4IEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIwogIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2Fy ZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgogIyBnaXZlcyB1bmxpbWl0ZWQgcGVybWlz c2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LApkaWZmIC0tZ2l0IGEvbGliZ29tcC9j b25maWcvZGFyd2luL3BsdWdpbi1zdWZmaXguaCBiL2xpYmdvbXAvY29uZmlnL2Rhcndpbi9wbHVn aW4tc3VmZml4LmgKaW5kZXggN2MxYWQzMWM5YjQuLjU3ZjEyN2Y2ZDNlIDEwMDY0NAotLS0gYS9s aWJnb21wL2NvbmZpZy9kYXJ3aW4vcGx1Z2luLXN1ZmZpeC5oCisrKyBiL2xpYmdvbXAvY29uZmln L2Rhcndpbi9wbHVnaW4tc3VmZml4LmgKQEAgLTIzLDQgKzIzLDQgQEAKICAgIHNlZSB0aGUgZmls ZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNl ZQogICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KIAotI2RlZmluZSBTT05B TUVfU1VGRklYKG4pICgiLiIgI24gIi5keWxpYiIpCisjZGVmaW5lIFNPTkFNRV9TVUZGSVgobikg Ii4iICNuICIuZHlsaWIiCmRpZmYgLS1naXQgYS9saWJnb21wL2NvbmZpZy9ocHV4L3BsdWdpbi1z dWZmaXguaCBiL2xpYmdvbXAvY29uZmlnL2hwdXgvcGx1Z2luLXN1ZmZpeC5oCmluZGV4IGE0YzQ4 YTQ1ZGQxLi5jZWFmMmM2ZTA1NCAxMDA2NDQKLS0tIGEvbGliZ29tcC9jb25maWcvaHB1eC9wbHVn aW4tc3VmZml4LmgKKysrIGIvbGliZ29tcC9jb25maWcvaHB1eC9wbHVnaW4tc3VmZml4LmgKQEAg LTIzLDQgKzIzLDQgQEAKICAgIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVO VElNRSByZXNwZWN0aXZlbHkuICBJZiBub3QsIHNlZQogICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LiAgKi8KIAotI2RlZmluZSBTT05BTUVfU1VGRklYKG4pICgiLnNsLiIgI24pCisj ZGVmaW5lIFNPTkFNRV9TVUZGSVgobikgIi5zbC4iICNuCmRpZmYgLS1naXQgYS9saWJnb21wL2Nv bmZpZy9wb3NpeC9wbHVnaW4tc3VmZml4LmggYi9saWJnb21wL2NvbmZpZy9wb3NpeC9wbHVnaW4t c3VmZml4LmgKaW5kZXggY2YwM2Y2NGY3YTMuLjk5NWQzNGY1M2VhIDEwMDY0NAotLS0gYS9saWJn b21wL2NvbmZpZy9wb3NpeC9wbHVnaW4tc3VmZml4LmgKKysrIGIvbGliZ29tcC9jb25maWcvcG9z aXgvcGx1Z2luLXN1ZmZpeC5oCkBAIC0yMyw0ICsyMyw0IEBACiAgICBzZWUgdGhlIGZpbGVzIENP UFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBzZWUKICAg IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCiAKLSNkZWZpbmUgU09OQU1FX1NV RkZJWChuKSAoIi5zby4iICNuKQorI2RlZmluZSBTT05BTUVfU1VGRklYKG4pICIuc28uIiAjbgpk aWZmIC0tZ2l0IGEvbGliZ29tcC9jb25maWd1cmUgYi9saWJnb21wL2NvbmZpZ3VyZQppbmRleCBh NzNhNmQ0NDAwMy4uNTNjMGE1ZDgyZWQgMTAwNzU1Ci0tLSBhL2xpYmdvbXAvY29uZmlndXJlCisr KyBiL2xpYmdvbXAvY29uZmlndXJlCkBAIC03MjQsNyArNzI0LDYgQEAgYW1fX25vZGVwCiBBTURF UEJBQ0tTTEFTSAogQU1ERVBfRkFMU0UKIEFNREVQX1RSVUUKLWFtX19xdW90ZQogYW1fX2luY2x1 ZGUKIERFUERJUgogT0JKRVhUCkBAIC03OTcsNiArNzk2LDcgQEAgaW5mb2RpcgogZG9jZGlyCiBv bGRpbmNsdWRlZGlyCiBpbmNsdWRlZGlyCitydW5zdGF0ZWRpcgogbG9jYWxzdGF0ZWRpcgogc2hh cmVkc3RhdGVkaXIKIHN5c2NvbmZkaXIKQEAgLTgxNSw3ICs4MTUsOCBAQCBQQUNLQUdFX1ZFUlNJ T04KIFBBQ0tBR0VfVEFSTkFNRQogUEFDS0FHRV9OQU1FCiBQQVRIX1NFUEFSQVRPUgotU0hFTEwn CitTSEVMTAorYW1fX3F1b3RlJwogYWNfc3Vic3RfZmlsZXM9JycKIGFjX3VzZXJfb3B0cz0nCiBl bmFibGVfb3B0aW9uX2NoZWNraW5nCkBAIC04OTIsNiArODkzLDcgQEAgZGF0YWRpcj0nJHtkYXRh cm9vdGRpcn0nCiBzeXNjb25mZGlyPScke3ByZWZpeH0vZXRjJwogc2hhcmVkc3RhdGVkaXI9JyR7 cHJlZml4fS9jb20nCiBsb2NhbHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJworcnVuc3RhdGVkaXI9 JyR7bG9jYWxzdGF0ZWRpcn0vcnVuJwogaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1ZGUnCiBv bGRpbmNsdWRlZGlyPScvdXNyL2luY2x1ZGUnCiBkb2NkaXI9JyR7ZGF0YXJvb3RkaXJ9L2RvYy8k e1BBQ0tBR0VfVEFSTkFNRX0nCkBAIC0xMTQ0LDYgKzExNDYsMTUgQEAgZG8KICAgfCAtc2lsZW50 IHwgLS1zaWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwpCiAgICAgc2lsZW50PXllcyA7 OwogCisgIC1ydW5zdGF0ZWRpciB8IC0tcnVuc3RhdGVkaXIgfCAtLXJ1bnN0YXRlZGkgfCAtLXJ1 bnN0YXRlZCBcCisgIHwgLS1ydW5zdGF0ZSB8IC0tcnVuc3RhdCB8IC0tcnVuc3RhIHwgLS1ydW5z dCB8IC0tcnVucyBcCisgIHwgLS1ydW4gfCAtLXJ1IHwgLS1yKQorICAgIGFjX3ByZXY9cnVuc3Rh dGVkaXIgOzsKKyAgLXJ1bnN0YXRlZGlyPSogfCAtLXJ1bnN0YXRlZGlyPSogfCAtLXJ1bnN0YXRl ZGk9KiB8IC0tcnVuc3RhdGVkPSogXAorICB8IC0tcnVuc3RhdGU9KiB8IC0tcnVuc3RhdD0qIHwg LS1ydW5zdGE9KiB8IC0tcnVuc3Q9KiB8IC0tcnVucz0qIFwKKyAgfCAtLXJ1bj0qIHwgLS1ydT0q IHwgLS1yPSopCisgICAgcnVuc3RhdGVkaXI9JGFjX29wdGFyZyA7OworCiAgIC1zYmluZGlyIHwg LS1zYmluZGlyIHwgLS1zYmluZGkgfCAtLXNiaW5kIHwgLS1zYmluIHwgLS1zYmkgfCAtLXNiKQog ICAgIGFjX3ByZXY9c2JpbmRpciA7OwogICAtc2JpbmRpcj0qIHwgLS1zYmluZGlyPSogfCAtLXNi aW5kaT0qIHwgLS1zYmluZD0qIHwgLS1zYmluPSogXApAQCAtMTI4MSw3ICsxMjkyLDcgQEAgZmkK IGZvciBhY192YXIgaW4JZXhlY19wcmVmaXggcHJlZml4IGJpbmRpciBzYmluZGlyIGxpYmV4ZWNk aXIgZGF0YXJvb3RkaXIgXAogCQlkYXRhZGlyIHN5c2NvbmZkaXIgc2hhcmVkc3RhdGVkaXIgbG9j YWxzdGF0ZWRpciBpbmNsdWRlZGlyIFwKIAkJb2xkaW5jbHVkZWRpciBkb2NkaXIgaW5mb2RpciBo dG1sZGlyIGR2aWRpciBwZGZkaXIgcHNkaXIgXAotCQlsaWJkaXIgbG9jYWxlZGlyIG1hbmRpcgor CQlsaWJkaXIgbG9jYWxlZGlyIG1hbmRpciBydW5zdGF0ZWRpcgogZG8KICAgZXZhbCBhY192YWw9 XCQkYWNfdmFyCiAgICMgUmVtb3ZlIHRyYWlsaW5nIHNsYXNoZXMuCkBAIC0xNDM0LDYgKzE0NDUs NyBAQCBGaW5lIHR1bmluZyBvZiB0aGUgaW5zdGFsbGF0aW9uIGRpcmVjdG9yaWVzOgogICAtLXN5 c2NvbmZkaXI9RElSICAgICAgICByZWFkLW9ubHkgc2luZ2xlLW1hY2hpbmUgZGF0YSBbUFJFRklY L2V0Y10KICAgLS1zaGFyZWRzdGF0ZWRpcj1ESVIgICAgbW9kaWZpYWJsZSBhcmNoaXRlY3R1cmUt aW5kZXBlbmRlbnQgZGF0YSBbUFJFRklYL2NvbV0KICAgLS1sb2NhbHN0YXRlZGlyPURJUiAgICAg bW9kaWZpYWJsZSBzaW5nbGUtbWFjaGluZSBkYXRhIFtQUkVGSVgvdmFyXQorICAtLXJ1bnN0YXRl ZGlyPURJUiAgICAgICBtb2RpZmlhYmxlIHBlci1wcm9jZXNzIGRhdGEgW0xPQ0FMU1RBVEVESVIv cnVuXQogICAtLWxpYmRpcj1ESVIgICAgICAgICAgICBvYmplY3QgY29kZSBsaWJyYXJpZXMgW0VQ UkVGSVgvbGliXQogICAtLWluY2x1ZGVkaXI9RElSICAgICAgICBDIGhlYWRlciBmaWxlcyBbUFJF RklYL2luY2x1ZGVdCiAgIC0tb2xkaW5jbHVkZWRpcj1ESVIgICAgIEMgaGVhZGVyIGZpbGVzIGZv ciBub24tZ2NjIFsvdXNyL2luY2x1ZGVdCkBAIC0yODg3LDcgKzI4OTksNyBAQCB0YXJnZXRfYWxp YXM9JHt0YXJnZXRfYWxpYXMtJGhvc3RfYWxpYXN9CiAjICAtV2FsbDogIHR1cm5zIG9uIGFsbCBh dXRvbWFrZSB3YXJuaW5ncy4uLgogIyAgLVduby1wb3J0YWJpbGl0eTogIC4uLmV4Y2VwdCB0aGlz IG9uZSwgc2luY2UgR05VIG1ha2UgaXMgcmVxdWlyZWQuCiAjICAtV25vLW92ZXJyaWRlOiAuLi4g YW5kIHRoaXMgb25lLCBzaW5jZSB3ZSBkbyB3YW50IHRoaXMgaW4gdGVzdHN1aXRlLgotYW1fX2Fw aV92ZXJzaW9uPScxLjE1JworYW1fX2FwaV92ZXJzaW9uPScxLjE2JwogCiAjIEZpbmQgYSBnb29k IGluc3RhbGwgcHJvZ3JhbS4gIFdlIHByZWZlciBhIEMgcHJvZ3JhbSAoZmFzdGVyKSwKICMgc28g b25lIHNjcmlwdCBpcyBhcyBnb29kIGFzIGFub3RoZXIuICBCdXQgYXZvaWQgdGhlIGJyb2tlbiBv cgpAQCAtMzQwMyw4ICszNDE1LDggQEAgTUFLRUlORk89JHtNQUtFSU5GTy0iJHthbV9taXNzaW5n X3J1bn1tYWtlaW5mbyJ9CiAKICMgRm9yIGJldHRlciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LiAg VG8gYmUgcmVtb3ZlZCBvbmNlIEF1dG9tYWtlIDEuOS54CiAjIGRpZXMgb3V0IGZvciBnb29kLiAg Rm9yIG1vcmUgYmFja2dyb3VuZCwgc2VlOgotIyA8aHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2 ZS9odG1sL2F1dG9tYWtlLzIwMTItMDcvbXNnMDAwMDEuaHRtbD4KLSMgPGh0dHA6Ly9saXN0cy5n bnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEyLTA3L21zZzAwMDE0Lmh0bWw+CisjIDxo dHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTItMDcvbXNnMDAw MDEuaHRtbD4KKyMgPGh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvYXV0b21ha2Uv MjAxMi0wNy9tc2cwMDAxNC5odG1sPgogbWtkaXJfcD0nJChNS0RJUl9QKScKIAogIyBXZSBuZWVk IGF3ayBmb3IgdGhlICJjaGVjayIgdGFyZ2V0IChhbmQgcG9zc2libHkgdGhlIFRBUCBkcml2ZXIp LiAgVGhlCkBAIC0zNDU1LDcgKzM0NjcsNyBAQCBFTkQKIEFib3J0aW5nIHRoZSBjb25maWd1cmF0 aW9uIHByb2Nlc3MsIHRvIGVuc3VyZSB5b3UgdGFrZSBub3RpY2Ugb2YgdGhlIGlzc3VlLgogCiBZ b3UgY2FuIGRvd25sb2FkIGFuZCBpbnN0YWxsIEdOVSBjb3JldXRpbHMgdG8gZ2V0IGFuICdybScg aW1wbGVtZW50YXRpb24KLXRoYXQgYmVoYXZlcyBwcm9wZXJseTogPGh0dHA6Ly93d3cuZ251Lm9y Zy9zb2Z0d2FyZS9jb3JldXRpbHMvPi4KK3RoYXQgYmVoYXZlcyBwcm9wZXJseTogPGh0dHBzOi8v d3d3LmdudS5vcmcvc29mdHdhcmUvY29yZXV0aWxzLz4uCiAKIElmIHlvdSB3YW50IHRvIGNvbXBs ZXRlIHRoZSBjb25maWd1cmF0aW9uIHByb2Nlc3MgdXNpbmcgeW91ciBwcm9ibGVtYXRpYwogJ3Jt JyBhbnl3YXksIGV4cG9ydCB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQUNDRVBUX0lORkVSSU9S X1JNX1BST0dSQU0KQEAgLTQ0MTYsNDUgKzQ0MjgsNDUgQEAgREVQRElSPSIke2FtX19sZWFkaW5n X2RvdH1kZXBzIgogCiBhY19jb25maWdfY29tbWFuZHM9IiRhY19jb25maWdfY29tbWFuZHMgZGVw ZmlsZXMiCiAKLQotYW1fbWFrZT0ke01BS0UtbWFrZX0KLWNhdCA+IGNvbmZpbmMgPDwgJ0VORCcK K3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhl ciAke01BS0UtbWFrZX0gc3VwcG9ydHMgdGhlIGluY2x1ZGUgZGlyZWN0aXZlIiA+JjUKKyRhc19l Y2hvX24gImNoZWNraW5nIHdoZXRoZXIgJHtNQUtFLW1ha2V9IHN1cHBvcnRzIHRoZSBpbmNsdWRl IGRpcmVjdGl2ZS4uLiAiID4mNjsgfQorY2F0ID4gY29uZmluYy5tayA8PCAnRU5EJwogYW1fX2Rv aXQ6Ci0JQGVjaG8gdGhpcyBpcyB0aGUgYW1fX2RvaXQgdGFyZ2V0CisJQGVjaG8gdGhpcyBpcyB0 aGUgYW1fX2RvaXQgdGFyZ2V0ID5jb25maW5jLm91dAogLlBIT05ZOiBhbV9fZG9pdAogRU5ECi0j IElmIHdlIGRvbid0IGZpbmQgYW4gaW5jbHVkZSBkaXJlY3RpdmUsIGp1c3QgY29tbWVudCBvdXQg dGhlIGNvZGUuCi17ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNr aW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgJGFtX21ha2UiID4mNQotJGFzX2VjaG9f biAiY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBieSAkYW1fbWFrZS4uLiAiID4m NjsgfQogYW1fX2luY2x1ZGU9IiMiCiBhbV9fcXVvdGU9Ci1fYW1fcmVzdWx0PW5vbmUKLSMgRmly c3QgdHJ5IEdOVSBtYWtlIHN0eWxlIGluY2x1ZGUuCi1lY2hvICJpbmNsdWRlIGNvbmZpbmMiID4g Y29uZm1mCi0jIElnbm9yZSBhbGwga2luZHMgb2YgYWRkaXRpb25hbCBvdXRwdXQgZnJvbSAnbWFr ZScuCi1jYXNlIGAkYW1fbWFrZSAtcyAtZiBjb25mbWYgMj4gL2Rldi9udWxsYCBpbiAjKAotKnRo ZVwgYW1fX2RvaXRcIHRhcmdldCopCi0gIGFtX19pbmNsdWRlPWluY2x1ZGUKLSAgYW1fX3F1b3Rl PQotICBfYW1fcmVzdWx0PUdOVQotICA7OwotZXNhYwotIyBOb3cgdHJ5IEJTRCBtYWtlIHN0eWxl IGluY2x1ZGUuCi1pZiB0ZXN0ICIkYW1fX2luY2x1ZGUiID0gIiMiOyB0aGVuCi0gICBlY2hvICcu aW5jbHVkZSAiY29uZmluYyInID4gY29uZm1mCi0gICBjYXNlIGAkYW1fbWFrZSAtcyAtZiBjb25m bWYgMj4gL2Rldi9udWxsYCBpbiAjKAotICAgKnRoZVwgYW1fX2RvaXRcIHRhcmdldCopCi0gICAg IGFtX19pbmNsdWRlPS5pbmNsdWRlCi0gICAgIGFtX19xdW90ZT0iXCIiCi0gICAgIF9hbV9yZXN1 bHQ9QlNECisjIEJTRCBtYWtlIGRvZXMgaXQgbGlrZSB0aGlzLgorZWNobyAnLmluY2x1ZGUgImNv bmZpbmMubWsiICMgaWdub3JlZCcgPiBjb25mbWYuQlNECisjIE90aGVyIG1ha2UgaW1wbGVtZW50 YXRpb25zIChHTlUsIFNvbGFyaXMgMTAsIEFJWCkgZG8gaXQgbGlrZSB0aGlzLgorZWNobyAnaW5j bHVkZSBjb25maW5jLm1rICMgaWdub3JlZCcgPiBjb25mbWYuR05VCitfYW1fcmVzdWx0PW5vCitm b3IgcyBpbiBHTlUgQlNEOyBkbworICB7IGVjaG8gIiRhc19tZTokTElORU5POiAke01BS0UtbWFr ZX0gLWYgY29uZm1mLiRzICYmIGNhdCBjb25maW5jLm91dCIgPiY1CisgICAoJHtNQUtFLW1ha2V9 IC1mIGNvbmZtZi4kcyAmJiBjYXQgY29uZmluYy5vdXQpID4mNSAyPiY1CisgICBhY19zdGF0dXM9 JD8KKyAgIGVjaG8gIiRhc19tZTokTElORU5POiBcJD8gPSAkYWNfc3RhdHVzIiA+JjUKKyAgIChl eGl0ICRhY19zdGF0dXMpOyB9CisgIGNhc2UgJD86YGNhdCBjb25maW5jLm91dCAyPi9kZXYvbnVs bGAgaW4gIygKKyAgJzA6dGhpcyBpcyB0aGUgYW1fX2RvaXQgdGFyZ2V0JykgOgorICAgIGNhc2Ug JHMgaW4gIygKKyAgQlNEKSA6CisgICAgYW1fX2luY2x1ZGU9Jy5pbmNsdWRlJyBhbV9fcXVvdGU9 JyInIDs7ICMoCisgICopIDoKKyAgICBhbV9faW5jbHVkZT0naW5jbHVkZScgYW1fX3F1b3RlPScn IDs7Citlc2FjIDs7ICMoCisgICopIDoKICAgICAgOzsKLSAgIGVzYWMKLWZpCi0KLQoteyAkYXNf ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRfYW1fcmVzdWx0IiA+ JjUKLSRhc19lY2hvICIkX2FtX3Jlc3VsdCIgPiY2OyB9Ci1ybSAtZiBjb25maW5jIGNvbmZtZgor ZXNhYworICBpZiB0ZXN0ICIkYW1fX2luY2x1ZGUiICE9ICIjIjsgdGhlbgorICAgIF9hbV9yZXN1 bHQ9InllcyAoJHMgc3R5bGUpIgorICAgIGJyZWFrCisgIGZpCitkb25lCitybSAtZiBjb25maW5j LiogY29uZm1mLioKK3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz dWx0OiAke19hbV9yZXN1bHR9IiA+JjUKKyRhc19lY2hvICIke19hbV9yZXN1bHR9IiA+JjY7IH0K IAogIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgd2FzIGdpdmVu LgogaWYgdGVzdCAiJHtlbmFibGVfZGVwZW5kZW5jeV90cmFja2luZytzZXR9IiA9IHNldDsgdGhl biA6CkBAIC0xMTQzMSw3ICsxMTQ0Myw3IEBAIGVsc2UKICAgbHRfZGx1bmtub3duPTA7IGx0X2Rs bm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgogICBsdF9zdGF0dXM9JGx0X2RsdW5rbm93 bgogICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8X0xUX0VPRgotI2xpbmUgMTE0MzQgImNvbmZp Z3VyZSIKKyNsaW5lIDExNDQ2ICJjb25maWd1cmUiCiAjaW5jbHVkZSAiY29uZmRlZnMuaCIKIAog I2lmIEhBVkVfRExGQ05fSApAQCAtMTE1MzcsNyArMTE1NDksNyBAQCBlbHNlCiAgIGx0X2RsdW5r bm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3JlPTIKICAgbHRfc3RhdHVz PSRsdF9kbHVua25vd24KICAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PF9MVF9FT0YKLSNsaW5l IDExNTQwICJjb25maWd1cmUiCisjbGluZSAxMTU1MiAiY29uZmlndXJlIgogI2luY2x1ZGUgImNv bmZkZWZzLmgiCiAKICNpZiBIQVZFX0RMRkNOX0gKQEAgLTE3MDY1LDcgKzE3MDc3LDcgQEAgZmkK IAogCiAKLWFjX2NvbmZpZ19maWxlcz0iJGFjX2NvbmZpZ19maWxlcyBvbXAuaCBvbXBfbGliLmgg b21wX2xpYi5mOTAgbGliZ29tcF9mLmgiCithY19jb25maWdfZmlsZXM9IiRhY19jb25maWdfZmls ZXMgb21wLmggb21wX2xpYi5oIG9tcF9saWIuZjkwIGxpYmdvbXBfZi5oIG9tcC10b29scy5oIG9t cGQtdHlwZXMuaCIKIAogYWNfY29uZmlnX2ZpbGVzPSIkYWNfY29uZmlnX2ZpbGVzIE1ha2VmaWxl IHRlc3RzdWl0ZS9NYWtlZmlsZSBsaWJnb21wLnNwZWMiCiAKQEAgLTE3ODQwLDcgKzE3ODUyLDcg QEAgQ0M9IiRDQyIKIENYWD0iJENYWCIKIEdGT1JUUkFOPSIkR0ZPUlRSQU4iCiBHREM9IiRHREMi Ci1BTURFUF9UUlVFPSIkQU1ERVBfVFJVRSIgYWNfYXV4X2Rpcj0iJGFjX2F1eF9kaXIiCitBTURF UF9UUlVFPSIkQU1ERVBfVFJVRSIgTUFLRT0iJHtNQUtFLW1ha2V9IgogCiAKICMgVGhlIEhQLVVY IGtzaCBhbmQgUE9TSVggc2hlbGwgcHJpbnQgdGhlIHRhcmdldCBkaXJlY3RvcnkgdG8gc3Rkb3V0 CkBAIC0xODIxOCw2ICsxODIzMCw4IEBAIGRvCiAgICAgIm9tcF9saWIuaCIpIENPTkZJR19GSUxF Uz0iJENPTkZJR19GSUxFUyBvbXBfbGliLmgiIDs7CiAgICAgIm9tcF9saWIuZjkwIikgQ09ORklH X0ZJTEVTPSIkQ09ORklHX0ZJTEVTIG9tcF9saWIuZjkwIiA7OwogICAgICJsaWJnb21wX2YuaCIp IENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBsaWJnb21wX2YuaCIgOzsKKyAgICAib21wLXRv b2xzLmgiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklMRVMgb21wLXRvb2xzLmgiIDs7CisgICAg Im9tcGQtdHlwZXMuaCIpIENPTkZJR19GSUxFUz0iJENPTkZJR19GSUxFUyBvbXBkLXR5cGVzLmgi IDs7CiAgICAgIk1ha2VmaWxlIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIE1ha2VmaWxl IiA7OwogICAgICJ0ZXN0c3VpdGUvTWFrZWZpbGUiKSBDT05GSUdfRklMRVM9IiRDT05GSUdfRklM RVMgdGVzdHN1aXRlL01ha2VmaWxlIiA7OwogICAgICJsaWJnb21wLnNwZWMiKSBDT05GSUdfRklM RVM9IiRDT05GSUdfRklMRVMgbGliZ29tcC5zcGVjIiA7OwpAQCAtMTg4MzAsMjkgKzE4ODQ0LDM1 IEBAIGVzYWMgOzsKICAgIyBPbGRlciBBdXRvY29uZiBxdW90ZXMgLS1maWxlIGFyZ3VtZW50cyBm b3IgZXZhbCwgYnV0IG5vdCB3aGVuIGZpbGVzCiAgICMgYXJlIGxpc3RlZCB3aXRob3V0IC0tZmls ZS4gIExldCdzIHBsYXkgc2FmZSBhbmQgb25seSBlbmFibGUgdGhlIGV2YWwKICAgIyBpZiB3ZSBk ZXRlY3QgdGhlIHF1b3RpbmcuCi0gIGNhc2UgJENPTkZJR19GSUxFUyBpbgotICAqXCcqKSBldmFs IHNldCB4ICIkQ09ORklHX0ZJTEVTIiA7OwotICAqKSAgIHNldCB4ICRDT05GSUdfRklMRVMgOzsK LSAgZXNhYworICAjIFRPRE86IHNlZSB3aGV0aGVyIHRoaXMgZXh0cmEgaGFjayBjYW4gYmUgcmVt b3ZlZCBvbmNlIHdlIHN0YXJ0CisgICMgcmVxdWlyaW5nIEF1dG9jb25mIDIuNzAgb3IgbGF0ZXIu CisgIGNhc2UgJENPTkZJR19GSUxFUyBpbiAjKAorICAqXCcqKSA6CisgICAgZXZhbCBzZXQgeCAi JENPTkZJR19GSUxFUyIgOzsgIygKKyAgKikgOgorICAgIHNldCB4ICRDT05GSUdfRklMRVMgOzsg IygKKyAgKikgOgorICAgICA7OworZXNhYwogICBzaGlmdAotICBmb3IgbWYKKyAgIyBVc2VkIHRv IGZsYWcgYW5kIHJlcG9ydCBib290c3RyYXBwaW5nIGZhaWx1cmVzLgorICBhbV9yYz0wCisgIGZv ciBhbV9tZgogICBkbwogICAgICMgU3RyaXAgTUYgc28gd2UgZW5kIHVwIHdpdGggdGhlIG5hbWUg b2YgdGhlIGZpbGUuCi0gICAgbWY9YGVjaG8gIiRtZiIgfCBzZWQgLWUgJ3MvOi4qJC8vJ2AKLSAg ICAjIENoZWNrIHdoZXRoZXIgdGhpcyBpcyBhbiBBdXRvbWFrZSBnZW5lcmF0ZWQgTWFrZWZpbGUg b3Igbm90LgotICAgICMgV2UgdXNlZCB0byBtYXRjaCBvbmx5IHRoZSBmaWxlcyBuYW1lZCAnTWFr ZWZpbGUuaW4nLCBidXQKLSAgICAjIHNvbWUgcGVvcGxlIHJlbmFtZSB0aGVtOyBzbyBpbnN0ZWFk IHdlIGxvb2sgYXQgdGhlIGZpbGUgY29udGVudC4KLSAgICAjIEdyZXAnaW5nIHRoZSBmaXJzdCBs aW5lIGlzIG5vdCBlbm91Z2g6IHNvbWUgcGVvcGxlIHBvc3QtcHJvY2VzcwotICAgICMgZWFjaCBN YWtlZmlsZS5pbiBhbmQgYWRkIGEgbmV3IGxpbmUgb24gdG9wIG9mIGVhY2ggZmlsZSB0byBzYXkg c28uCi0gICAgIyBHcmVwJ2luZyB0aGUgd2hvbGUgZmlsZSBpcyBub3QgZ29vZCBlaXRoZXI6IEFJ WCBncmVwIGhhcyBhIGxpbmUKKyAgICBhbV9tZj1gJGFzX2VjaG8gIiRhbV9tZiIgfCBzZWQgLWUg J3MvOi4qJC8vJ2AKKyAgICAjIENoZWNrIHdoZXRoZXIgdGhpcyBpcyBhbiBBdXRvbWFrZSBnZW5l cmF0ZWQgTWFrZWZpbGUgd2hpY2ggaW5jbHVkZXMKKyAgICAjIGRlcGVuZGVuY3ktdHJhY2tpbmcg cmVsYXRlZCBydWxlcyBhbmQgaW5jbHVkZXMuCisgICAgIyBHcmVwJ2luZyB0aGUgd2hvbGUgZmls ZSBkaXJlY3RseSBpcyBub3QgZ3JlYXQ6IEFJWCBncmVwIGhhcyBhIGxpbmUKICAgICAjIGxpbWl0 IG9mIDIwNDgsIGJ1dCBhbGwgc2VkJ3Mgd2Uga25vdyBoYXZlIHVuZGVyc3RhbmQgYXQgbGVhc3Qg NDAwMC4KLSAgICBpZiBzZWQgLW4gJ3MsXiMuKmdlbmVyYXRlZCBieSBhdXRvbWFrZS4qLFgscCcg IiRtZiIgfCBncmVwIFggPi9kZXYvbnVsbCAyPiYxOyB0aGVuCi0gICAgICBkaXJwYXJ0PWAkYXNf ZGlybmFtZSAtLSAiJG1mIiB8fAotJGFzX2V4cHIgWCIkbWYiIDogJ1hcKC4qW14vXVwpLy8qW14v XVteL10qLyokJyBcfCBcCi0JIFgiJG1mIiA6ICdYXCgvL1wpW14vXScgXHwgXAotCSBYIiRtZiIg OiAnWFwoLy9cKSQnIFx8IFwKLQkgWCIkbWYiIDogJ1hcKC9cKScgXHwgLiAyPi9kZXYvbnVsbCB8 fAotJGFzX2VjaG8gWCIkbWYiIHwKKyAgICBzZWQgLW4gJ3MsXmFtLS1kZXBmaWxlczouKixYLHAn ICIkYW1fbWYiIHwgZ3JlcCBYID4vZGV2L251bGwgMj4mMSBcCisgICAgICB8fCBjb250aW51ZQor ICAgIGFtX2RpcnBhcnQ9YCRhc19kaXJuYW1lIC0tICIkYW1fbWYiIHx8CiskYXNfZXhwciBYIiRh bV9tZiIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQnIFx8IFwKKwkgWCIkYW1fbWYiIDog J1hcKC8vXClbXi9dJyBcfCBcCisJIFgiJGFtX21mIiA6ICdYXCgvL1wpJCcgXHwgXAorCSBYIiRh bV9tZiIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiskYXNfZWNobyBYIiRhbV9tZiIg fAogICAgIHNlZCAnL15YXCguKlteL11cKVwvXC8qW14vXVteL10qXC8qJC97CiAJICAgIHMvL1wx LwogCSAgICBxCkBAIC0xODg3MCw1MyArMTg4OTAsNDggQEAgJGFzX2VjaG8gWCIkbWYiIHwKIAkg ICAgcQogCSAgfQogCSAgcy8uKi8uLzsgcSdgCi0gICAgZWxzZQotICAgICAgY29udGludWUKLSAg ICBmaQotICAgICMgRXh0cmFjdCB0aGUgZGVmaW5pdGlvbiBvZiBERVBESVIsIGFtX19pbmNsdWRl LCBhbmQgYW1fX3F1b3RlCi0gICAgIyBmcm9tIHRoZSBNYWtlZmlsZSB3aXRob3V0IHJ1bm5pbmcg J21ha2UnLgotICAgIERFUERJUj1gc2VkIC1uICdzL15ERVBESVIgPSAvL3AnIDwgIiRtZiJgCi0g ICAgdGVzdCAteiAiJERFUERJUiIgJiYgY29udGludWUKLSAgICBhbV9faW5jbHVkZT1gc2VkIC1u ICdzL15hbV9faW5jbHVkZSA9IC8vcCcgPCAiJG1mImAKLSAgICB0ZXN0IC16ICIkYW1fX2luY2x1 ZGUiICYmIGNvbnRpbnVlCi0gICAgYW1fX3F1b3RlPWBzZWQgLW4gJ3MvXmFtX19xdW90ZSA9IC8v cCcgPCAiJG1mImAKLSAgICAjIEZpbmQgYWxsIGRlcGVuZGVuY3kgb3V0cHV0IGZpbGVzLCB0aGV5 IGFyZSBpbmNsdWRlZCBmaWxlcyB3aXRoCi0gICAgIyAkKERFUERJUikgaW4gdGhlaXIgbmFtZXMu ICBXZSBpbnZva2Ugc2VkIHR3aWNlIGJlY2F1c2UgaXQgaXMgdGhlCi0gICAgIyBzaW1wbGVzdCBh cHByb2FjaCB0byBjaGFuZ2luZyAkKERFUERJUikgdG8gaXRzIGFjdHVhbCB2YWx1ZSBpbiB0aGUK LSAgICAjIGV4cGFuc2lvbi4KLSAgICBmb3IgZmlsZSBpbiBgc2VkIC1uICIKLSAgICAgIHMvXiRh bV9faW5jbHVkZSAkYW1fX3F1b3RlXCguKihERVBESVIpLipcKSRhbV9fcXVvdGUiJyQvXDEvcCcg PCIkbWYiIHwgXAotCSBzZWQgLWUgJ3MvXCQoREVQRElSKS8nIiRERVBESVIiJy9nJ2A7IGRvCi0g ICAgICAjIE1ha2Ugc3VyZSB0aGUgZGlyZWN0b3J5IGV4aXN0cy4KLSAgICAgIHRlc3QgLWYgIiRk aXJwYXJ0LyRmaWxlIiAmJiBjb250aW51ZQotICAgICAgZmRpcj1gJGFzX2Rpcm5hbWUgLS0gIiRm aWxlIiB8fAotJGFzX2V4cHIgWCIkZmlsZSIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSovKiQn IFx8IFwKLQkgWCIkZmlsZSIgOiAnWFwoLy9cKVteL10nIFx8IFwKLQkgWCIkZmlsZSIgOiAnWFwo Ly9cKSQnIFx8IFwKLQkgWCIkZmlsZSIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8Ci0k YXNfZWNobyBYIiRmaWxlIiB8Ci0gICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpc LyokL3sKLQkgICAgcy8vXDEvCi0JICAgIHEKLQkgIH0KLQkgIC9eWFwoXC9cL1wpW14vXS4qL3sK KyAgICBhbV9maWxlcGFydD1gJGFzX2Jhc2VuYW1lIC0tICIkYW1fbWYiIHx8CiskYXNfZXhwciBY LyIkYW1fbWYiIDogJy4qL1woW14vXVteL10qXCkvKiQnIFx8IFwKKwkgWCIkYW1fbWYiIDogJ1hc KC8vXCkkJyBcfCBcCisJIFgiJGFtX21mIiA6ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwK KyRhc19lY2hvIFgvIiRhbV9tZiIgfAorICAgIHNlZCAnL14uKlwvXChbXi9dW14vXSpcKVwvKiQv ewogCSAgICBzLy9cMS8KIAkgICAgcQogCSAgfQotCSAgL15YXChcL1wvXCkkL3sKKwkgIC9eWFwv XChcL1wvXCkkL3sKIAkgICAgcy8vXDEvCiAJICAgIHEKIAkgIH0KLQkgIC9eWFwoXC9cKS4qL3sK KwkgIC9eWFwvXChcL1wpLiovewogCSAgICBzLy9cMS8KIAkgICAgcQogCSAgfQogCSAgcy8uKi8u LzsgcSdgCi0gICAgICBhc19kaXI9JGRpcnBhcnQvJGZkaXI7IGFzX2ZuX21rZGlyX3AKLSAgICAg ICMgZWNobyAiY3JlYXRpbmcgJGRpcnBhcnQvJGZpbGUiCi0gICAgICBlY2hvICcjIGR1bW15JyA+ ICIkZGlycGFydC8kZmlsZSIKLSAgICBkb25lCisgICAgeyBlY2hvICIkYXNfbWU6JExJTkVOTzog Y2QgIiRhbV9kaXJwYXJ0IiBcCisgICAgICAmJiBzZWQgLWUgJy8jIGFtLS1pbmNsdWRlLW1hcmtl ci9kJyAiJGFtX2ZpbGVwYXJ0IiBcCisgICAgICAgIHwgJE1BS0UgLWYgLSBhbS0tZGVwZmlsZXMi ID4mNQorICAgKGNkICIkYW1fZGlycGFydCIgXAorICAgICAgJiYgc2VkIC1lICcvIyBhbS0taW5j bHVkZS1tYXJrZXIvZCcgIiRhbV9maWxlcGFydCIgXAorICAgICAgICB8ICRNQUtFIC1mIC0gYW0t LWRlcGZpbGVzKSA+JjUgMj4mNQorICAgYWNfc3RhdHVzPSQ/CisgICBlY2hvICIkYXNfbWU6JExJ TkVOTzogXCQ/ID0gJGFjX3N0YXR1cyIgPiY1CisgICAoZXhpdCAkYWNfc3RhdHVzKTsgfSB8fCBh bV9yYz0kPwogICBkb25lCisgIGlmIHRlc3QgJGFtX3JjIC1uZSAwOyB0aGVuCisgICAgeyB7ICRh c19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVycm9yOiBpbiBcYCRhY19wd2Qn OiIgPiY1CiskYXNfZWNobyAiJGFzX21lOiBlcnJvcjogaW4gXGAkYWNfcHdkJzoiID4mMjt9Cith c19mbl9lcnJvciAkPyAiU29tZXRoaW5nIHdlbnQgd3JvbmcgYm9vdHN0cmFwcGluZyBtYWtlZmls ZSBmcmFnbWVudHMKKyAgICBmb3IgYXV0b21hdGljIGRlcGVuZGVuY3kgdHJhY2tpbmcuICBUcnkg cmUtcnVubmluZyBjb25maWd1cmUgd2l0aCB0aGUKKyAgICAnLS1kaXNhYmxlLWRlcGVuZGVuY3kt dHJhY2tpbmcnIG9wdGlvbiB0byBhdCBsZWFzdCBiZSBhYmxlIHRvIGJ1aWxkCisgICAgdGhlIHBh Y2thZ2UgKGFsYmVpdCB3aXRob3V0IHN1cHBvcnQgZm9yIGF1dG9tYXRpYyBkZXBlbmRlbmN5IHRy YWNraW5nKS4KK1NlZSBcYGNvbmZpZy5sb2cnIGZvciBtb3JlIGRldGFpbHMiICIkTElORU5PIiA1 OyB9CisgIGZpCisgIHsgYW1fZGlycGFydD07IHVuc2V0IGFtX2RpcnBhcnQ7fQorICB7IGFtX2Zp bGVwYXJ0PTsgdW5zZXQgYW1fZmlsZXBhcnQ7fQorICB7IGFtX21mPTsgdW5zZXQgYW1fbWY7fQor ICB7IGFtX3JjPTsgdW5zZXQgYW1fcmM7fQorICBybSAtZiBjb25mdGVzdC1kZXBzLm1rCiB9CiAg OzsKICAgICAibGlidG9vbCI6QykKZGlmZiAtLWdpdCBhL2xpYmdvbXAvY29uZmlndXJlLmFjIGIv bGliZ29tcC9jb25maWd1cmUuYWMKaW5kZXggYTliMWYzOTczZjcuLmNkNmMzY2MxYTk2IDEwMDY0 NAotLS0gYS9saWJnb21wL2NvbmZpZ3VyZS5hYworKysgYi9saWJnb21wL2NvbmZpZ3VyZS5hYwpA QCAtNDcyLDcgKzQ3Miw3IEBAIENGTEFHUz0iJHNhdmVfQ0ZMQUdTIgogIyBEZXRlcm1pbmUgd2hh dCBHQ0MgdmVyc2lvbiBudW1iZXIgdG8gdXNlIGluIGZpbGVzeXN0ZW0gcGF0aHMuCiBHQ0NfQkFT RV9WRVIKIAotQUNfQ09ORklHX0ZJTEVTKG9tcC5oIG9tcF9saWIuaCBvbXBfbGliLmY5MCBsaWJn b21wX2YuaCkKK0FDX0NPTkZJR19GSUxFUyhvbXAuaCBvbXBfbGliLmggb21wX2xpYi5mOTAgbGli Z29tcF9mLmggb21wLXRvb2xzLmggb21wZC10eXBlcy5oKQogQUNfQ09ORklHX0ZJTEVTKE1ha2Vm aWxlIHRlc3RzdWl0ZS9NYWtlZmlsZSBsaWJnb21wLnNwZWMpCiBBQ19DT05GSUdfRklMRVMoW3Rl c3RzdWl0ZS9saWJnb21wLXRlc3Qtc3VwcG9ydC5wdC5leHA6dGVzdHN1aXRlL2xpYmdvbXAtdGVz dC1zdXBwb3J0LmV4cC5pbl0pCiBBQ19DT05GSUdfRklMRVMoW3Rlc3RzdWl0ZS9saWJnb21wLXNp dGUtZXh0cmEuZXhwXSkKZGlmZiAtLWdpdCBhL2xpYmdvbXAvZW52LmMgYi9saWJnb21wL2Vudi5j CmluZGV4IDFjNGVlODk0NTE1Li5hMDI4NzY1ZmYyMiAxMDA2NDQKLS0tIGEvbGliZ29tcC9lbnYu YworKysgYi9saWJnb21wL2Vudi5jCkBAIC0zMyw2ICszMyw3IEBACiAjaWZuZGVmIExJQkdPTVBf T0ZGTE9BREVEX09OTFkKICNpbmNsdWRlICJsaWJnb21wX2YuaCIKICNpbmNsdWRlICJvYWNjLWlu dC5oIgorI2luY2x1ZGUgIm9tcGQtc3VwcG9ydC5oIgogI2luY2x1ZGUgPGN0eXBlLmg+CiAjaW5j bHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KQEAgLTE0ODMsNiArMTQ4NCw4IEBA IGluaXRpYWxpemVfZW52ICh2b2lkKQogCT0gdGhyZWFkX2xpbWl0X3ZhciA+IElOVF9NQVggPyBV SU5UX01BWCA6IHRocmVhZF9saW1pdF92YXI7CiAgICAgfQogICBwYXJzZV9pbnRfc2VjdXJlICgi R09NUF9ERUJVRyIsICZnb21wX2RlYnVnX3ZhciwgdHJ1ZSk7CisgIGlmKGdvbXBfZGVidWdfdmFy KQorICAJCW9tcGRfbG9hZCgpOwogI2lmbmRlZiBIQVZFX1NZTkNfQlVJTFRJTlMKICAgZ29tcF9t dXRleF9pbml0ICgmZ29tcF9tYW5hZ2VkX3RocmVhZHNfbG9jayk7CiAjZW5kaWYKZGlmZiAtLWdp dCBhL2xpYmdvbXAvbGliZ29tcC5tYXAgYi9saWJnb21wL2xpYmdvbXAubWFwCmluZGV4IDJhYzU4 MDk0MTY5Li41YzU3YjFhMmQwOCAxMDA2NDQKLS0tIGEvbGliZ29tcC9saWJnb21wLm1hcAorKysg Yi9saWJnb21wL2xpYmdvbXAubWFwCkBAIC0yMjYsNiArMjI2LDE2IEBAIE9NUF81LjEgewogCW9t cF9nZXRfdGVhbXNfdGhyZWFkX2xpbWl0XzsKIH0gT01QXzUuMC4yOwogCitPTVBfNS4wLjMgewor ICBnbG9iYWw6CisgIAlvbXBkX2RsbF9sb2NhdGlvbnM7CisgIAlvbXBkX2RsbF9sb2NhdGlvbnNf dmFsaWQ7CisgIAlvbXBkX2JwX3BhcmFsbGVsX2JlZ2luOworICAJb21wZF9icF9wYXJhbGxlbF9l bmQ7CisgIGxvY2FsOgorICAJKjsKK31PTVBfNS4wLjI7CisKIEdPTVBfMS4wIHsKICAgZ2xvYmFs OgogCUdPTVBfYXRvbWljX2VuZDsKZGlmZiAtLWdpdCBhL2xpYmdvbXAvbGliZ29tcGQubWFwIGIv bGliZ29tcC9saWJnb21wZC5tYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAuLmVmMjlhMGVhNWE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC9saWJnb21wZC5tYXAK QEAgLTAsMCArMSwxMiBAQAorT01QRF81LjEgeworICBnbG9iYWw6CisJb21wZF9pbml0aWFsaXpl OworCW9tcGRfZ2V0X2FwaV92ZXJzaW9uOworCW9tcGRfZ2V0X3ZlcnNpb25fc3RyaW5nOworCW9t cGRfcHJvY2Vzc19pbml0aWFsaXplOworCW9tcGRfZGV2aWNlX2luaXRpYWxpemU7CisJb21wZF9y ZWxfYWRkcmVzc19zcGFjZV9oYW5kbGU7CisJb21wZF9maW5hbGl6ZTsKKyAgbG9jYWw6CisgIAkq OworfTsKZGlmZiAtLWdpdCBhL2xpYmdvbXAvb21wLXRvb2xzLmguaW4gYi9saWJnb21wL29tcC10 b29scy5oLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iZmFiNDhh MGE2MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmdvbXAvb21wLXRvb2xzLmguaW4KQEAgLTAsMCAr MSwyODIgQEAKKy8qIENvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KKyAgIENvbnRyaWJ1dGVkIGJ5IE1vaGFtZWQgQXRlZiA8bW9oYW1lZGF0ZWYxNjk4QGdt YWlsLmNvbT4uCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIE9mZmxvYWRpbmcgYW5k IE11bHRpIFByb2Nlc3NpbmcgTGlicmFyeQorICAgKGxpYmdvbXApLgorICAgTGliZ29tcCBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Cisg ICB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMywgb3IgKGF0IHlvdXIgb3B0aW9uKQorICAgYW55IGxhdGVyIHZlcnNpb24uCisgICBMaWJn b21wIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1 dCBXSVRIT1VUIEFOWQorICAgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUworICAgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IKKyAgIG1vcmUg ZGV0YWlscy4KKyAgIFVuZGVyIFNlY3Rpb24gNyBvZiBHUEwgdmVyc2lvbiAzLCB5b3UgYXJlIGdy YW50ZWQgYWRkaXRpb25hbAorICAgcGVybWlzc2lvbnMgZGVzY3JpYmVkIGluIHRoZSBHQ0MgUnVu dGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiwgdmVyc2lvbgorICAgMy4xLCBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFuZAorICAgYSBjb3B5 IG9mIHRoZSBHQ0MgUnVudGltZSBMaWJyYXJ5IEV4Y2VwdGlvbiBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbTsKKyAgIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVElNRSByZXNw ZWN0aXZlbHkuICBJZiBub3QsIHNlZQorICAgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LiAgKi8KKworCisKKy8qIFRoaXMgZmlsZSBjb250YWlucyBkYXRhIHR5cGVzIGFuZCBmdW5jdGlv biBkZWNsYXJhdGlvbnMgdGhhdAorICAgdGhhdCBhcmUgZGVmaW5lZCBpbiBPTVBEIHN0YW5kYXJk LiAgKi8KKworCisKKyNpZm5kZWYgX09NUF9UT09MU19ICisjZGVmaW5lIF9PTVBfVE9PTFNfSAor CisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK2V4dGVybiBjb25z dCBjaGFyICoqb21wZF9kbGxfbG9jYXRpb25zOworCit2b2lkIG9tcGRfZGxsX2xvY2F0aW9uc192 YWxpZCh2b2lkKTsKKwordHlwZWRlZiBfX1VJTlQ2NF9UWVBFX18gb21wZF9zaXplX3Q7Cit0eXBl ZGVmIF9fVUlOVDY0X1RZUEVfXyBvbXBkX3dhaXRfaWRfdDsKKwordHlwZWRlZiBfX1VJTlQ2NF9U WVBFX18gb21wZF9hZGRyX3Q7Cit0eXBlZGVmIF9fSU5UNjRfVFlQRV9fIG9tcGRfd29yZF90Owor dHlwZWRlZiBfX1VJTlQ2NF9UWVBFX18gb21wZF9zZWdfdDsKKwordHlwZWRlZiBzdHJ1Y3Qgb21w ZF9hZGRyZXNzX3QKK3sKKwlvbXBkX3NlZ190IHNlZ21lbnQ7CisJb21wZF9hZGRyX3QgYWRkcmVz czsKK30gb21wZF9hZGRyZXNzX3Q7CisKK3R5cGVkZWYgc3RydWN0IG9tcGRfZnJhbWVfaW5mb190 Cit7CisJb21wZF9hZGRyZXNzX3QgZnJhbWVfYWRkcmVzczsKKwlvbXBkX3dvcmRfdCBmcmFtZV9m bGFnOworfSBvbXBkX2ZyYW1lX2luZm9fdDsKKwordHlwZWRlZiBfX1VJTlQ2NF9UWVBFX18gb21w ZF9kZXZpY2VfdDsKK3R5cGVkZWYgX19VSU5UNjRfVFlQRV9fIG9tcGRfdGhyZWFkX2lkX3Q7CisK K3R5cGVkZWYgc3RydWN0IF9vbXBkX2FzcGFjZV9oYW5kbGUgb21wZF9hZGRyZXNzX3NwYWNlX2hh bmRsZV90OwordHlwZWRlZiBzdHJ1Y3QgX29tcGRfdGhyZWFkX2hhbmRsZSBvbXBkX3RocmVhZF9o YW5kbGVfdDsKK3R5cGVkZWYgc3RydWN0IF9vbXBkX3BhcmFsbGVsX2hhbmRsZSBvbXBkX3BhcmFs bGVsX2hhbmRsZV90OwordHlwZWRlZiBzdHJ1Y3QgX29tcGRfdGFza19oYW5kbGUgb21wZF90YXNr X2hhbmRsZV90OworCit0eXBlZGVmIGVudW0gb21wZF9zY29wZV90Cit7CisJb21wZF9zY29wZV9n bG9iYWwJCSAgICA9IDEsCisJb21wZF9zY29wZV9hZGRyZXNzX3NwYWNlID0gMiwKKwlvbXBkX3Nj b3BlX3RocmVhZAkJICAgID0gMywKKwlvbXBkX3Njb3BlX3BhcmFsbGVsCQkgPSA0LAorCW9tcGRf c2NvcGVfaW1wbGljaXRfdGFzayA9IDUsCisJb21wZF9zY29wZV90YXNrICAgICAgICAgID0gNgor fSBvbXBkX3Njb3BlX3Q7CisKK3R5cGVkZWYgX19VSU5UNjRfVFlQRV9fIG9tcGRfaWN2X2lkX3Q7 CisKK3R5cGVkZWYgc3RydWN0IF9vbXBkX2FzcGFjZV9jb250IG9tcGRfYWRkcmVzc19zcGFjZV9j b250ZXh0X3Q7Cit0eXBlZGVmIHN0cnVjdCBfb21wZF90aHJlYWRfY29udCBvbXBkX3RocmVhZF9j b250ZXh0X3Q7CisKK3R5cGVkZWYgZW51bSBvbXBkX3JjX3QKK3sKKwlvbXBkX3JjX29rICAgICAg ICAgICAgICAgICAgID0gMCwKKwlvbXBkX3JjX3VuYXZhaWxhYmxlICAgICAgICAgID0gMSwKKwlv bXBkX3JjX3N0YWxlX2hhbmRsZSAgICAgICAgID0gMiwKKwlvbXBkX3JjX2JhZF9pbnB1dCAgICAg ICAgICAgID0gMywKKwlvbXBkX3JjX2Vycm9yICAgICAgICAgICAgICAgID0gNCwKKwlvbXBkX3Jj X3Vuc3VwcG9ydGVkICAgICAgICAgID0gNSwKKwlvbXBkX3JjX25lZWRzX3N0YXRlX3RyYWNraW5n ID0gNiwKKwlvbXBkX3JjX2luY29tcGF0aWJsZQkJIAkgID0gNywKKwlvbXBkX3JjX2RldmljZV9y ZWFkX2Vycm9yCSAgPSA4LAorCW9tcGRfcmNfZGV2aWNlX3dyaXRlX2Vycm9yICAgPSA5LAorCW9t cGRfcmNfbm9tZW0gICAgICAgICAgICAgICAgPSAxMCwKKwlvbXBkX3JjX2luY29tcGxldGUgICAg ICAgICAgID0gMTEsCisJb21wZF9yY19jYWxsYmFja19lcnJvciAgICAgICA9IDEyCit9IG9tcGRf cmNfdDsKKworCit0eXBlZGVmIHN0cnVjdCBvbXBkX2RldmljZV90eXBlX3NpemVzX3QKK3sKKwlf X1VJTlQ4X1RZUEVfXyBzaXplb2ZfY2hhcjsKKwlfX1VJTlQ4X1RZUEVfXyBzaXplb2Zfc2hvcnQ7 CisJX19VSU5UOF9UWVBFX18gc2l6ZW9mX2ludDsKKwlfX1VJTlQ4X1RZUEVfXyBzaXplb2ZfbG9u ZzsKKwlfX1VJTlQ4X1RZUEVfXyBzaXplb2ZfbG9uZ19sb25nOworCV9fVUlOVDhfVFlQRV9fIHNp emVvZl9wb2ludGVyOworfSBvbXBkX2RldmljZV90eXBlX3NpemVzX3Q7CisKKwordHlwZWRlZiBv bXBkX3JjX3QgKCpvbXBkX2NhbGxiYWNrX21lbW9yeV9hbGxvY19mbl90KSAob21wZF9zaXplX3Qs IHZvaWQgKiopOwordHlwZWRlZiBvbXBkX3JjX3QgKCpvbXBkX2NhbGxiYWNrX21lbW9yeV9mcmVl X2ZuX3QpICh2b2lkICopOworCit0eXBlZGVmIG9tcGRfcmNfdCAoKm9tcGRfY2FsbGJhY2tfZ2V0 X3RocmVhZF9jb250ZXh0X2Zvcl90aHJlYWRfaWRfZm5fdCkgCisJKG9tcGRfYWRkcmVzc19zcGFj ZV9jb250ZXh0X3QgKiwgb21wZF90aHJlYWRfaWRfdCwKKwlvbXBkX3NpemVfdCwgY29uc3Qgdm9p ZCAqLCBvbXBkX3RocmVhZF9jb250ZXh0X3QgKiopOworCisKK3R5cGVkZWYgb21wZF9yY190ICgq b21wZF9jYWxsYmFja19zaXplb2ZfZm5fdCkKKwkob21wZF9hZGRyZXNzX3NwYWNlX2NvbnRleHRf dCAqLCBvbXBkX2RldmljZV90eXBlX3NpemVzX3QgKik7CisKKwordHlwZWRlZiBvbXBkX3JjX3Qg KCpvbXBkX2NhbGxiYWNrX3N5bWJvbF9hZGRyX2ZuX3QpIAorCShvbXBkX2FkZHJlc3Nfc3BhY2Vf Y29udGV4dF90ICosIG9tcGRfdGhyZWFkX2NvbnRleHRfdCAqLAorCWNvbnN0IGNoYXIgKiwgb21w ZF9hZGRyZXNzX3QgKiwgY29uc3QgY2hhciAqKTsKKwordHlwZWRlZiBvbXBkX3JjX3QgKCpvbXBk X2NhbGxiYWNrX21lbW9yeV9yZWFkX2ZuX3QpCisJKG9tcGRfYWRkcmVzc19zcGFjZV9jb250ZXh0 X3QgKiwgb21wZF90aHJlYWRfY29udGV4dF90ICosCisJY29uc3Qgb21wZF9hZGRyZXNzX3QgKiwg b21wZF9zaXplX3QgbmJ5dGVzLCB2b2lkICopOworCisKK3R5cGVkZWYgb21wZF9yY190ICgqb21w ZF9jYWxsYmFja19tZW1vcnlfd3JpdGVfZm5fdCkKKwkob21wZF9hZGRyZXNzX3NwYWNlX2NvbnRl eHRfdCAqLCBvbXBkX3RocmVhZF9jb250ZXh0X3QgKiwKKwljb25zdCBvbXBkX2FkZHJlc3NfdCAq LCBvbXBkX3NpemVfdCwgY29uc3Qgdm9pZCAqKTsKKwordHlwZWRlZiBvbXBkX3JjX3QgKCpvbXBk X2NhbGxiYWNrX2RldmljZV9ob3N0X2ZuX3QpCisJKG9tcGRfYWRkcmVzc19zcGFjZV9jb250ZXh0 X3QgKiwgY29uc3Qgdm9pZCAqLAorCW9tcGRfc2l6ZV90LCBvbXBkX3NpemVfdCwgdm9pZCAqKTsK KworCit0eXBlZGVmIG9tcGRfcmNfdCAoKm9tcGRfY2FsbGJhY2tfcHJpbnRfc3RyaW5nX2ZuX3Qp IChjb25zdCBjaGFyICosIGludCk7CisKK3R5cGVkZWYgc3RydWN0IG9tcGRfY2FsbGJhY2tzX3Qg Cit7CisJb21wZF9jYWxsYmFja19tZW1vcnlfYWxsb2NfZm5fdCBhbGxvY19tZW1vcnk7CisJb21w ZF9jYWxsYmFja19tZW1vcnlfZnJlZV9mbl90IGZyZWVfbWVtb3J5OworCW9tcGRfY2FsbGJhY2tf cHJpbnRfc3RyaW5nX2ZuX3QgcHJpbnRfc3RyaW5nOworCW9tcGRfY2FsbGJhY2tfc2l6ZW9mX2Zu X3Qgc2l6ZW9mX3R5cGU7CisJb21wZF9jYWxsYmFja19zeW1ib2xfYWRkcl9mbl90IHN5bWJvbF9h ZGRyX2xvb2t1cDsKKwlvbXBkX2NhbGxiYWNrX21lbW9yeV9yZWFkX2ZuX3QgcmVhZF9tZW1vcnk7 CisJb21wZF9jYWxsYmFja19tZW1vcnlfd3JpdGVfZm5fdCB3cml0ZV9tZW1vcnk7CisJb21wZF9j YWxsYmFja19tZW1vcnlfcmVhZF9mbl90IHJlYWRfc3RyaW5nOworCW9tcGRfY2FsbGJhY2tfZGV2 aWNlX2hvc3RfZm5fdCBkZXZpY2VfdG9faG9zdDsKKwlvbXBkX2NhbGxiYWNrX2RldmljZV9ob3N0 X2ZuX3QgaG9zdF90b19kZXZpY2U7CisJb21wZF9jYWxsYmFja19nZXRfdGhyZWFkX2NvbnRleHRf Zm9yX3RocmVhZF9pZF9mbl90CisJCWdldF90aHJlYWRfY29udGV4dF9mb3JfdGhyZWFkX2lkOwor fSBvbXBkX2NhbGxiYWNrc190OworCisKK29tcGRfcmNfdCBvbXBkX2luaXRpYWxpemUob21wZF93 b3JkX3QsIGNvbnN0IG9tcGRfY2FsbGJhY2tzX3QgKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF9h cGlfdmVyc2lvbihvbXBkX3dvcmRfdCAqKTsKK29tcGRfcmNfdCBvbXBkX2dldF92ZXJzaW9uX3N0 cmluZyhjb25zdCBjaGFyICoqKTsKKworb21wZF9yY190IG9tcGRfZmluYWxpemUodm9pZCk7CisK K29tcGRfcmNfdCBvbXBkX3Byb2Nlc3NfaW5pdGlhbGl6ZSAKKwkob21wZF9hZGRyZXNzX3NwYWNl X2NvbnRleHRfdCAqLCBvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3QgKiopOworCisKK29tcGRf cmNfdCBvbXBkX2RldmljZV9pbml0aWFsaXplIAorCShvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxl X3QgKiwgb21wZF9hZGRyZXNzX3NwYWNlX2NvbnRleHRfdCAqLAorCW9tcGRfZGV2aWNlX3QsIG9t cGRfc2l6ZV90LCB2b2lkICosIG9tcGRfYWRkcmVzc19zcGFjZV9oYW5kbGVfdCAqKik7CisKK29t cGRfcmNfdCBvbXBkX3JlbF9hZGRyZXNzX3NwYWNlX2hhbmRsZShvbXBkX2FkZHJlc3Nfc3BhY2Vf aGFuZGxlX3QgKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF9vbXBfdmVyc2lvbiAob21wZF9hZGRy ZXNzX3NwYWNlX2hhbmRsZV90ICosIG9tcGRfd29yZF90ICopOworCitvbXBkX3JjX3Qgb21wZF9n ZXRfb21wX3ZlcnNpb25fc3RyaW5nIChvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3QgKiwgCisJ Y29uc3QgY2hhciAqKik7CisKKworCitvbXBkX3JjX3Qgb21wZF9nZXRfdGhyZWFkX2luX3BhcmFs bGVsCisJKG9tcGRfcGFyYWxsZWxfaGFuZGxlX3QgKiwgaW50LCBvbXBkX3RocmVhZF9oYW5kbGVf dCAqKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF90aHJlYWRfaGFuZGxlCisJKG9tcGRfYWRkcmVz c19zcGFjZV9oYW5kbGVfdCAqLCBvbXBkX3RocmVhZF9pZF90LAorCW9tcGRfc2l6ZV90LGNvbnN0 IHZvaWQgKiwgb21wZF90aHJlYWRfaGFuZGxlX3QgKiopOworCitvbXBkX3JjX3Qgb21wZF9yZWxf dGhyZWFkX2hhbmRsZSAob21wZF90aHJlYWRfaGFuZGxlX3QgKik7CisKK29tcGRfcmNfdCBvbXBk X3RocmVhZF9oYW5kbGVfY29tcGFyZSAob21wZF90aHJlYWRfaGFuZGxlX3QgKiwKKwlvbXBkX3Ro cmVhZF9oYW5kbGVfdCAqLGludCAqKTsKKworCitvbXBkX3JjX3Qgb21wZF9nZXRfdGhyZWFkX2lk IChvbXBkX3RocmVhZF9oYW5kbGVfdCAqLAorCW9tcGRfdGhyZWFkX2lkX3QsIG9tcGRfc2l6ZV90 LCB2b2lkICopOworCitvbXBkX3JjX3Qgb21wZF9nZXRfY3Vycl9wYXJhbGxlbF9oYW5kbGUgKG9t cGRfdGhyZWFkX2hhbmRsZV90ICosCisJb21wZF9wYXJhbGxlbF9oYW5kbGVfdCAqKik7CisKK29t cGRfcmNfdCBvbXBkX2dldF9lbmNsb3NpbmdfcGFyYWxsZWxfaGFuZGxlIChvbXBkX3BhcmFsbGVs X2hhbmRsZV90ICosCisJb21wZF9wYXJhbGxlbF9oYW5kbGVfdCAqKik7CisKKworb21wZF9yY190 IG9tcGRfZ2V0X3Rhc2tfcGFyYWxsZWxfaGFuZGxlIChvbXBkX3Rhc2tfaGFuZGxlX3QgKiwKKwlv bXBkX3BhcmFsbGVsX2hhbmRsZV90ICoqKTsKKworCitvbXBkX3JjX3Qgb21wZF9yZWxfcGFyYWxs ZWxfaGFuZGxlIChvbXBkX3BhcmFsbGVsX2hhbmRsZV90ICopOworCitvbXBkX3JjX3Qgb21wZF9w YXJhbGxlbF9oYW5kbGVfY29tcGFyZSAob21wZF9wYXJhbGxlbF9oYW5kbGVfdCAqLAorCW9tcGRf cGFyYWxsZWxfaGFuZGxlX3QgKiwgaW50ICopOworCitvbXBkX3JjX3Qgb21wZF9nZXRfY3Vycl90 YXNrX2hhbmRsZSAob21wZF90aHJlYWRfaGFuZGxlX3QgKiwKKwlvbXBkX3Rhc2tfaGFuZGxlX3Qg KiopOworCitvbXBkX3JjX3Qgb21wZF9nZXRfZ2VuZXJhdGluZ190YXNrX2hhbmRsZSAob21wZF90 YXNrX2hhbmRsZV90ICosCisJb21wZF90YXNrX2hhbmRsZV90ICoqKTsKKworb21wZF9yY190IG9t cGRfZ2V0X3NjaGVkdWxpbmdfdGFza19oYW5kbGUgKG9tcGRfdGFza19oYW5kbGVfdCAqLAorCW9t cGRfdGFza19oYW5kbGVfdCAqKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF90YXNrX2luX3BhcmFs bGVsIChvbXBkX3BhcmFsbGVsX2hhbmRsZV90ICosCisJaW50LCBvbXBkX3Rhc2tfaGFuZGxlX3Qg KiopOworCitvbXBkX3JjX3Qgb21wZF9yZWxfdGFza19oYW5kbGUgKG9tcGRfdGFza19oYW5kbGVf dCAqKTsKKworb21wZF9yY190IG9tcGRfdGFza19oYW5kbGVfY29tcGFyZSAob21wZF90YXNrX2hh bmRsZV90ICosCisJb21wZF90YXNrX2hhbmRsZV90ICosIGludCAqKTsKKworb21wZF9yY190IG9t cGRfZ2V0X3Rhc2tfZnVuY3Rpb24gKG9tcGRfdGFza19oYW5kbGVfdCAqLCBvbXBkX2FkZHJlc3Nf dCAqKTsKKworb21wZF9yY190IG9tcGRfZ2V0X3Rhc2tfZnJhbWUgKG9tcGRfdGFza19oYW5kbGVf dCAqLCBvbXBkX2ZyYW1lX2luZm9fdCAqLAorCW9tcGRfZnJhbWVfaW5mb190ICopOworCitvbXBk X3JjX3Qgb21wZF9lbnVtZXJhdGVfc3RhdGVzIChvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3Qg Kiwgb21wZF93b3JkX3QsCisJb21wZF93b3JkX3QgKiwgY29uc3QgY2hhciAqKiwgb21wZF93b3Jk X3QgKik7CisKK29tcGRfcmNfdCBvbXBkX2dldF9zdGF0ZSAob21wZF90aHJlYWRfaGFuZGxlX3Qg KiwKKwlvbXBkX3dvcmRfdCAqLCBvbXBkX3dhaXRfaWRfdCAqKTsKKworb21wZF9yY190IG9tcGRf Z2V0X2Rpc3BsYXlfY29udHJvbF92YXJzIChvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3QgKiwK Kwljb25zdCBjaGFyICogY29uc3QgKiopOworCitvbXBkX3JjX3Qgb21wZF9yZWxfZGlzcGxheV9j b250cm9sX3ZhcnMgKGNvbnN0IGNoYXIgKiBjb25zdCAqKik7CisKK29tcGRfcmNfdCBvbXBkX2Vu dW1lcmF0ZV9pY3ZzIChvbXBkX2FkZHJlc3Nfc3BhY2VfaGFuZGxlX3QgKiwgb21wZF9pY3ZfaWRf dCwKKwlvbXBkX2ljdl9pZF90ICosIGNvbnN0IGNoYXIgKiosIG9tcGRfc2NvcGVfdCAqLGludCAq KTsKKworb21wZF9yY190IG9tcGRfZ2V0X2ljdl9mcm9tX3Njb3BlICh2b2lkICosIG9tcGRfc2Nv cGVfdCwgb21wZF9pY3ZfaWRfdCwKKwlvbXBkX3dvcmRfdCAqKTsKKworb21wZF9yY190IG9tcGRf Z2V0X2ljdl9zdHJpbmdfZnJvbV9zY29wZSAodm9pZCAqLCBvbXBkX3Njb3BlX3QsIG9tcGRfaWN2 X2lkX3QsCisJY29uc3QgY2hhciAqKik7CisKKworb21wZF9yY190IG9tcGRfZ2V0X3Rvb2xfZGF0 YSAodm9pZCAqLCBvbXBkX3Njb3BlX3QsIG9tcGRfd29yZF90ICosCisJb21wZF9hZGRyZXNzX3Qg Kik7CisKK3ZvaWQgb21wZF9icF9wYXJhbGxlbF9iZWdpbih2b2lkKTsKK3ZvaWQgb21wZF9icF9w YXJhbGxlbF9lbmQodm9pZCk7CisKK3ZvaWQgb21wZF9icF90YXNrX2JlZ2luKHZvaWQpOwordm9p ZCBvbXBkX2JwX3Rhc2tfZW5kKHZvaWQpOworCit2b2lkIG9tcGRfYnBfdGhyZWFkX2JlZ2luKHZv aWQpOwordm9pZCBvbXBkX2JwX3RocmVhZF9lbmQodm9pZCk7CisKK3ZvaWQgb21wZF9icF9kZXZp Y2VfYmVnaW4odm9pZCk7Cit2b2lkIG9tcGRfYnBfZGV2aWNlX2VuZCh2b2lkKTsKKworCisjZGVm aW5lIG9tcGRfc2VnbWVudF9ub25lICAoKG9tcGRfc2VnX3QpIDApCisjZGVmaW5lIG9tcGRfaWN2 X3VuZGVmaW5lZCAoKG9tcGRfaWN2X2lkX3QpIDApCisKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9 OyAvLyBleHRlcm4gIkMiCisjZW5kaWYKKworI2VuZGlmIC8qIF9PTVBfVE9PTFNfSCAqLwpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYmdvbXAvb21wZC1oZWxwZXIu YyBiL2xpYmdvbXAvb21wZC1oZWxwZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMC4uMDMzOTkwMDczYTUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJnb21wL29tcGQtaGVs cGVyLmMKQEAgLTAsMCArMSw0NyBAQAorLyogQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29udHJpYnV0ZWQgYnkgTW9oYW1lZCBBdGVmIDxtb2hh bWVkYXRlZjE2OThAZ21haWwuY29tPi4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUg T2ZmbG9hZGluZyBhbmQgTXVsdGkgUHJvY2Vzc2luZyBMaWJyYXJ5CisgICAobGliZ29tcCkuCisg ICBMaWJnb21wIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkgaXQKKyAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCisgICBhbnkgbGF0ZXIgdmVy c2lvbi4KKyAgIExpYmdvbXAgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCisgICBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCisgICBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvcgorICAgbW9yZSBkZXRhaWxzLgorICAgVW5kZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJzaW9u IDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCisgICBwZXJtaXNzaW9ucyBkZXNjcmliZWQg aW4gdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uLCB2ZXJzaW9uCisgICAzLjEsIGFz IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YW5kCisgICBhIGNvcHkgb2YgdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOworICAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlO Ry5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCisgICA8aHR0cDovL3d3dy5nbnUu b3JnL2xpY2Vuc2VzLz4uICAqLworCisKKworCisKKyNpbmNsdWRlICJvbXBkLWhlbHBlci5oIgor CitvbXBkX2RldmljZV90eXBlX3NpemVzX3QgdGFyZ2V0X3NpemVzOworCitvbXBkX3JjX3QKK2dl dF9zaXplcyhvbXBkX2FkZHJlc3Nfc3BhY2VfY29udGV4dF90ICpjb250ZXh0KQoreworCWlmKGNv bnRleHQgPT0gTlVMTCkKKwkJcmV0dXJuIG9tcGRfcmNfYmFkX2lucHV0OworCisJc3RhdGljIGlu dCBpbml0ZWQgPSAwOworCXN0YXRpYyBvbXBkX3JjX3QgcmV0OworCisJaWYoaW5pdGVkKQorCQly ZXR1cm4gcmV0OworCisJcmV0ID0gY2FsbGJhY2tzLT5zaXplb2ZfdHlwZShjb250ZXh0LCAmdGFy Z2V0X3NpemVzKTsKKwlpZihyZXQgIT0gb21wZF9yY19vaykKKwkJcmV0dXJuIHJldDsKKworCWlu aXRlZCA9IDE7CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2xpYmdvbXAvb21wZC1oZWxw ZXIuaCBiL2xpYmdvbXAvb21wZC1oZWxwZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uNDI3ODMzZTcwM2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJnb21wL29tcGQt aGVscGVyLmgKQEAgLTAsMCArMSw2NSBAQAorLyogQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29udHJpYnV0ZWQgYnkgTW9oYW1lZCBBdGVmIDxt b2hhbWVkYXRlZjE2OThAZ21haWwuY29tPi4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBH TlUgT2ZmbG9hZGluZyBhbmQgTXVsdGkgUHJvY2Vzc2luZyBMaWJyYXJ5CisgICAobGliZ29tcCku CisgICBMaWJnb21wIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkgaXQKKyAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCisgICBhbnkgbGF0ZXIg dmVyc2lvbi4KKyAgIExpYmdvbXAgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCisgICBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCisgICBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvcgorICAgbW9yZSBkZXRhaWxzLgorICAgVW5kZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJz aW9uIDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCisgICBwZXJtaXNzaW9ucyBkZXNjcmli ZWQgaW4gdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uLCB2ZXJzaW9uCisgICAzLjEs IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICAgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYW5kCisgICBhIGNvcHkgb2YgdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOworICAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09Q WUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCisgICA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisKKworLypUaGlzIGZpbGUgY29udGFpbnMgdGhlIGhl bHBlciBmdW5jdGlvbnMgZm9yIE9NUEQuICAqLworCisjaWZuZGVmIF9PTVBEX0hFTFBFUl9ICisj ZGVmaW5lIF9PTVBEX0hFTFBFUl9ICisKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMi IHsKKyNlbmRpZgorCisjaW5jbHVkZSAib21wLXRvb2xzLmgiCisjaW5jbHVkZSAib21wZC10eXBl cy5oIgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNkZWZpbmUg c3RyaW5naXplKHgpICBzdHJpbmdpemUxKHgpCisjZGVmaW5lIHN0cmluZ2l6ZTEoeCkgI3gKKwor I2RlZmluZSBWRVJTSU9OIDIwMjAxMQorCitleHRlcm4gY29uc3Qgb21wZF9jYWxsYmFja3NfdCAq Y2FsbGJhY2tzOworZXh0ZXJuIF9fVUlOVDY0X1RZUEVfXyBvbXBkX3N0YXRlOworZXh0ZXJuIG9t cGRfZGV2aWNlX3R5cGVfc2l6ZXNfdCB0YXJnZXRfc2l6ZXM7CisKKworb21wZF9yY190IGdldF9z aXplcyhvbXBkX2FkZHJlc3Nfc3BhY2VfY29udGV4dF90ICopOworCisKKworc3RydWN0IF9vbXBk X2FzcGFjZV9oYW5kbGUKK3sKKwlvbXBkX2FkZHJlc3Nfc3BhY2VfY29udGV4dF90ICpjb250ZXh0 OworCW9tcGRfZGV2aWNlX3Qga2luZDsKK307CisKKworCisKKyNpZmRlZiBfX2NwbHVzcGx1cwor fSAvLyBleHRlcm4gQworI2VuZGlmCisKKyNlbmRpZiAvKiBPTVBEX0hFTFBFUl9IICovCmRpZmYg LS1naXQgYS9saWJnb21wL29tcGQtaW5pdC5jIGIvbGliZ29tcC9vbXBkLWluaXQuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uODBlOGU1Y2U2MmEKLS0tIC9kZXYvbnVs bAorKysgYi9saWJnb21wL29tcGQtaW5pdC5jCkBAIC0wLDAgKzEsMTU3IEBACisvKiBDb3B5cmln aHQgKEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb250cmlidXRl ZCBieSBNb2hhbWVkIEF0ZWYgPG1vaGFtZWRhdGVmMTY5OEBnbWFpbC5jb20+LgorICAgVGhpcyBm aWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBPZmZsb2FkaW5nIGFuZCBNdWx0aSBQcm9jZXNzaW5nIExp YnJhcnkKKyAgIChsaWJnb21wKS4KKyAgIExpYmdvbXAgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICAgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3VyIG9w dGlvbikKKyAgIGFueSBsYXRlciB2ZXJzaW9uLgorICAgTGliZ29tcCBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkKKyAgIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MKKyAgIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCisgICBtb3JlIGRldGFpbHMuCisgICBVbmRlciBT ZWN0aW9uIDcgb2YgR1BMIHZlcnNpb24gMywgeW91IGFyZSBncmFudGVkIGFkZGl0aW9uYWwKKyAg IHBlcm1pc3Npb25zIGRlc2NyaWJlZCBpbiB0aGUgR0NDIFJ1bnRpbWUgTGlicmFyeSBFeGNlcHRp b24sIHZlcnNpb24KKyAgIDMuMSwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbmQKKyAgIGEgY29weSBvZiB0aGUgR0NDIFJ1bnRpbWUg TGlicmFyeSBFeGNlcHRpb24gYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07CisgICBzZWUgdGhlIGZp bGVzIENPUFlJTkczIGFuZCBDT1BZSU5HLlJVTlRJTUUgcmVzcGVjdGl2ZWx5LiAgSWYgbm90LCBz ZWUKKyAgIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKworCisvKlRoaXMg ZmlsZSBjb250YWlucyB0aGUgaW1wbGVtZW50YXRpb24gb2YgZnVuY3Rpb25zIGRlZmluZWQgaW4K KwlzZWN0aW9uIDUuNS4xLCA1LjUuMi4gICovCisKKworI2luY2x1ZGUgIm9tcGQtaGVscGVyLmgi CisKKworCisKKworLypQZXIgT01QRCBpbml0aWFsaXphdGlvbiBhbmQgZmluYWxpemF0aW9uLiAg Ki8KKworX19VSU5UNjRfVFlQRV9fIG9tcGRfc3RhdGU7Citjb25zdCBvbXBkX2NhbGxiYWNrc190 ICpjYWxsYmFja3M7CisKK29tcGRfcmNfdAorb21wZF9pbml0aWFsaXplKG9tcGRfd29yZF90IGFw aV92ZXJzaW9uLAorCWNvbnN0IG9tcGRfY2FsbGJhY2tzX3QgKmNhbGxiYWNrc190YWJsZSkKK3sK KwlpZihjYWxsYmFja3NfdGFibGUgPT0gTlVMTCkKKwkJcmV0dXJuIG9tcGRfcmNfYmFkX2lucHV0 OworCisJb21wZF93b3JkX3QgdmVyc2lvbjsKKwlvbXBkX3JjX3QgcmV0ID0gb21wZF9nZXRfYXBp X3ZlcnNpb24oJnZlcnNpb24pOworCisJaWYodmVyc2lvbiAhPSBhcGlfdmVyc2lvbikKKwkJcmV0 dXJuIG9tcGRfcmNfdW5zdXBwb3J0ZWQ7CisKKwljYWxsYmFja3MgPSBjYWxsYmFja3NfdGFibGU7 CisJcmV0dXJuIHJldDsKK30KKworCitvbXBkX3JjX3QKK29tcGRfZ2V0X2FwaV92ZXJzaW9uKG9t cGRfd29yZF90ICp2ZXJzaW9uKQoreworCWlmKHZlcnNpb24gPT0gTlVMTCkKKwkJcmV0dXJuIG9t cGRfcmNfYmFkX2lucHV0OworCisJKnZlcnNpb24gPSBWRVJTSU9OOworCXJldHVybiBvbXBkX3Jj X29rOworfQorCisKK29tcGRfcmNfdAorb21wZF9nZXRfdmVyc2lvbl9zdHJpbmcoY29uc3QgY2hh ciAqKnN0cmluZykKK3sKKwlpZihzdHJpbmcgPT0gTlVMTCkKKwkJcmV0dXJuIG9tcGRfcmNfYmFk X2lucHV0OworCXN0YXRpYyBjb25zdCBjaGFyIHRtcF9zdHJpbmdbXSA9IAorCQkiR05VIE9wZW5N UCBydW50aW1lIGltcGxlbWVudGluZyBPTVBEIHZlcnNpb24gIgorCQkJc3RyaW5naXplKFZFUlNJ T04pICIgRGVidWdnaW5nIGxpYnJhcnkuIjsKKwkqc3RyaW5nID0gdG1wX3N0cmluZzsKKwlyZXR1 cm4gb21wZF9yY19vazsKK30KKworCitvbXBkX3JjX3QKK29tcGRfZmluYWxpemUoKQoreworCXJl dHVybiBvbXBkX3JjX29rOworfQorCisKKworLypQZXIgcHJvY2VzcyBpbml0aWFsaXphdGlvbiBh bmQgZmluYWxpemF0aW9uLiAgKi8KKworCitvbXBkX3JjX3QKK29tcGRfcHJvY2Vzc19pbml0aWFs aXplKG9tcGRfYWRkcmVzc19zcGFjZV9jb250ZXh0X3QgKmNvbnRleHQsCisJb21wZF9hZGRyZXNz X3NwYWNlX2hhbmRsZV90ICoqaGFuZGxlKQoreworCWlmKGNvbnRleHQgPT0gTlVMTCB8fCBoYW5k bGUgPT0gTlVMTCkKKwkJcmV0dXJuIG9tcGRfcmNfYmFkX2lucHV0OworCisJb21wZF9yY190IHJl dCA9IGdldF9zaXplcyhjb250ZXh0KTsKKwlpZihyZXQgIT0gb21wZF9yY19vaykKKwkJcmV0dXJu IHJldDsKKworCW9tcGRfYWRkcmVzc190IHN5bWJvbF9hZGRyID0ge09NUERfU0VHTUVOVF9VTlNQ RUNJRklFRCwgMH07CisKKworCS8vbmFpdmUgd2F5IHRvIHJlYWQgZnJvbSBtZW1vcnkKKwlyZXQg PSBjYWxsYmFja3MtPnN5bWJvbF9hZGRyX2xvb2t1cChjb250ZXh0LCBOVUxMLCAib21wZF9zdGF0 ZSIsCisJCQkmc3ltYm9sX2FkZHIsIE5VTEwpOworCisJcmV0ID0gY2FsbGJhY2tzLT5yZWFkX21l bW9yeShjb250ZXh0LCBOVUxMLCAmc3ltYm9sX2FkZHIsCisJCQl0YXJnZXRfc2l6ZXMuc2l6ZW9m X2xvbmdfbG9uZywgJm9tcGRfc3RhdGUpOworCisJcmV0ID0gY2FsbGJhY2tzLT5kZXZpY2VfdG9f aG9zdChjb250ZXh0LCAmb21wZF9zdGF0ZSwKKwkJCXRhcmdldF9zaXplcy5zaXplb2ZfbG9uZ19s b25nLCAxLCAmb21wZF9zdGF0ZSk7CisKKwlyZXQgPSBjYWxsYmFja3MtPmFsbG9jX21lbW9yeShz aXplb2Yob21wZF9hZGRyZXNzX3NwYWNlX2hhbmRsZV90KSwKKwkJCSh2b2lkICoqKShoYW5kbGUp KTsKKwkKKworCWlmKHJldCAhPSBvbXBkX3JjX29rKQorCQlyZXR1cm4gcmV0OworCisJaWYoaGFu ZGxlID09IE5VTEwpCisJCXJldHVybiBvbXBkX3JjX2Vycm9yOworCisJKCpoYW5kbGUpLT5jb250 ZXh0ID0gY29udGV4dDsKKwkoKmhhbmRsZSktPmtpbmQgPSBPTVBEX0RFVklDRV9LSU5EX0hPU1Q7 CisJcmV0dXJuIHJldDsKK30KKworCisKKy8qT01QRCB3aWxsIG5vdCBzdXBwb3J0IEdQVXMgZm9y IG5vdy4gKi8KKworb21wZF9yY190CitvbXBkX2RldmljZV9pbml0aWFsaXplKG9tcGRfYWRkcmVz c19zcGFjZV9oYW5kbGVfdCAqcHJvY2Vzc19oYW5kbGUsCisJb21wZF9hZGRyZXNzX3NwYWNlX2Nv bnRleHRfdCAqZGV2aWNlX2NvbnRleHQsIG9tcGRfZGV2aWNlX3Qga2luZCwKKwlvbXBkX3NpemVf dCBzaXplb2ZfaWQsIHZvaWQgKmlkLAorCW9tcGRfYWRkcmVzc19zcGFjZV9oYW5kbGVfdCAqKmRl dmljZV9oYW5kbGUpCisKK3sKKwlpZihkZXZpY2VfY29udGV4dCA9PSBOVUxMKQorCQlyZXR1cm4g b21wZF9yY19iYWRfaW5wdXQ7CisKKwlyZXR1cm4gb21wZF9yY191bnN1cHBvcnRlZDsKK30KKwor CisKK29tcGRfcmNfdAorb21wZF9yZWxfYWRkcmVzc19zcGFjZV9oYW5kbGUob21wZF9hZGRyZXNz X3NwYWNlX2hhbmRsZV90ICpoYW5kbGUpCit7CisJaWYoaGFuZGxlID09IE5VTEwpCisJCXJldHVy biBvbXBkX3JjX3N0YWxlX2hhbmRsZTsKKworCW9tcGRfcmNfdCByZXQgPSBjYWxsYmFja3MtPmZy ZWVfbWVtb3J5KCh2b2lkICopaGFuZGxlKTsKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEv bGliZ29tcC9vbXBkLXN1cHBvcnQuYyBiL2xpYmdvbXAvb21wZC1zdXBwb3J0LmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjg0NThlMWY1ZDVmCi0tLSAvZGV2L251bGwK KysrIGIvbGliZ29tcC9vbXBkLXN1cHBvcnQuYwpAQCAtMCwwICsxLDEwOCBAQAorLyogQ29weXJp Z2h0IChDKSAyMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29udHJpYnV0 ZWQgYnkgTW9oYW1lZCBBdGVmIDxtb2hhbWVkYXRlZjE2OThAZ21haWwuY29tPi4KKyAgIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgT2ZmbG9hZGluZyBhbmQgTXVsdGkgUHJvY2Vzc2luZyBM aWJyYXJ5CisgICAobGliZ29tcCkuCisgICBMaWJnb21wIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAgIHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBv cHRpb24pCisgICBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAgIExpYmdvbXAgaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCisgICBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTCisgICBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvcgorICAgbW9yZSBkZXRhaWxzLgorICAgVW5kZXIg U2VjdGlvbiA3IG9mIEdQTCB2ZXJzaW9uIDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCisg ICBwZXJtaXNzaW9ucyBkZXNjcmliZWQgaW4gdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0 aW9uLCB2ZXJzaW9uCisgICAzLjEsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLgorICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYW5kCisgICBhIGNvcHkgb2YgdGhlIEdDQyBSdW50aW1l IExpYnJhcnkgRXhjZXB0aW9uIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOworICAgc2VlIHRoZSBm aWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwg c2VlCisgICA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisjaW5jbHVkZSAi b21wZC1zdXBwb3J0LmgiCisKKworCitjb25zdCBjaGFyICoqb21wZF9kbGxfbG9jYXRpb25zID0g TlVMTDsKK19fVUlOVDY0X1RZUEVfXyBvbXBkX3N0YXRlOworCit2b2lkIAorb21wZF9sb2FkKCkK K3sKKwlzdGF0aWMgaW50IG9tcGRfaW5pdGlhbGl6ZWQgPSAwOworCWlmKG9tcGRfaW5pdGlhbGl6 ZWQpCisJCXJldHVybjsKKwlmcHJpbnRmKHN0ZGVyciwgIk9NUCBPTVBEIGFjdGl2ZVxuIik7CisJ c3RhdGljIGNvbnN0IGNoYXIgKnRtcF9vbXBkX2RsbF9sb2NhdGlvbnNbMl0gCisJCT0geyJsaWJn b21wZCIgU09OQU1FX1NVRkZJWCgxKSAsIE5VTEx9OworCW9tcGRfc3RhdGUgfD0gT01QRF9FTkFC TEVEOworCW9tcGRfaW5pdGlhbGl6ZWQgPSAxOworCW9tcGRfZGxsX2xvY2F0aW9ucyA9IChjb25z dCBjaGFyICoqKW1hbGxvYygyICogc2l6ZW9mKGNvbnN0IGNoYXIgKikpOworCW9tcGRfZGxsX2xv Y2F0aW9uc1swXSA9IHRtcF9vbXBkX2RsbF9sb2NhdGlvbnNbMF07CisJb21wZF9kbGxfbG9jYXRp b25zWzFdID0gdG1wX29tcGRfZGxsX2xvY2F0aW9uc1sxXTsKKwlvbXBkX2RsbF9sb2NhdGlvbnNf dmFsaWQoKTsKK30KKworCisvKkR1bW15IGZ1bmN0aW9ucy4gdGhleSBzaG91ZCBub3QgYmUgb3B0 aW1pemVkLiAgKi8KKwordm9pZCBfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUpKQorb21wZF9kbGxf bG9jYXRpb25zX3ZhbGlkKCkKK3sKKwlhc20oIiIpOworfQorCisKK3ZvaWQgX19hdHRyaWJ1dGVf XyAoKG5vaW5saW5lKSkKK29tcGRfYnBfcGFyYWxsZWxfYmVnaW4oKQoreworCWFzbSgiIik7Cit9 CisKK3ZvaWQgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkKK29tcGRfYnBfcGFyYWxsZWxfZW5k KCkKK3sKKwlhc20oIiIpOworfQorCisKKwordm9pZCBfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUp KQorb21wZF9icF90YXNrX2JlZ2luKCkKK3sKKwlhc20oIiIpOworfQorCisKK3ZvaWQgX19hdHRy aWJ1dGVfXyAoKG5vaW5saW5lKSkKK29tcGRfYnBfdGFza19lbmQoKQoreworCWFzbSgiIik7Cit9 CisKKworCit2b2lkIF9fYXR0cmlidXRlX18gKChub2lubGluZSkpCitvbXBkX2JwX3RocmVhZF9i ZWdpbigpCit7CisJYXNtKCIiKTsKK30KKwordm9pZCBfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUp KQorb21wZF9icF90aHJlYWRfZW5kKCkKK3sKKwlhc20oIiIpOworfQorCisKKwordm9pZCBfX2F0 dHJpYnV0ZV9fICgobm9pbmxpbmUpKQorb21wZF9icF9kZXZpY2VfYmVnaW4oKQoreworCWFzbSgi Iik7Cit9CisKK3ZvaWQgX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkKK29tcGRfYnBfZGV2aWNl X2VuZCgpCit7CisJYXNtKCIiKTsKK30KZGlmZiAtLWdpdCBhL2xpYmdvbXAvb21wZC1zdXBwb3J0 LmggYi9saWJnb21wL29tcGQtc3VwcG9ydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwLi4zNTU0Y2U4ODVhMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmdvbXAvb21wZC1z dXBwb3J0LmgKQEAgLTAsMCArMSw0NCBAQAorLyogQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29udHJpYnV0ZWQgYnkgTW9oYW1lZCBBdGVmIDxt b2hhbWVkYXRlZjE2OThAZ21haWwuY29tPi4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBH TlUgT2ZmbG9hZGluZyBhbmQgTXVsdGkgUHJvY2Vzc2luZyBMaWJyYXJ5CisgICAobGliZ29tcCku CisgICBMaWJnb21wIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkgaXQKKyAgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCisgICBhbnkgbGF0ZXIg dmVyc2lvbi4KKyAgIExpYmdvbXAgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZCisgICBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCisgICBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvcgorICAgbW9yZSBkZXRhaWxzLgorICAgVW5kZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJz aW9uIDMsIHlvdSBhcmUgZ3JhbnRlZCBhZGRpdGlvbmFsCisgICBwZXJtaXNzaW9ucyBkZXNjcmli ZWQgaW4gdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uLCB2ZXJzaW9uCisgICAzLjEs IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICAgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYW5kCisgICBhIGNvcHkgb2YgdGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOworICAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09Q WUlORy5SVU5USU1FIHJlc3BlY3RpdmVseS4gIElmIG5vdCwgc2VlCisgICA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisKKworLypUaGlzIGZpbGUgY29udGFpbnMgdGhlIHJ1 bnRpbWUgc3VwcG9ydCBmb3IgT01QRC4gICovCisKKyNpZm5kZWYgX09NUERfU1VQUE9SVF9ICisj ZGVmaW5lIF9PTVBEX1NVUFBPUlRfSAorCisjaW5jbHVkZSAib21wLXRvb2xzLmgiCisjaW5jbHVk ZSAicGx1Z2luLXN1ZmZpeC5oIgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxp Yi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKK3ZvaWQgb21w ZF9sb2FkKCk7CitleHRlcm4gX19VSU5UNjRfVFlQRV9fIG9tcGRfc3RhdGU7CisKKyNkZWZpbmUg T01QRF9FTkFCTEVEIDB4MQorCisKKworCisKKyNlbmRpZiAvKiBfT01QRF9TVVBQT1JUX0ggKi8K ZGlmZiAtLWdpdCBhL2xpYmdvbXAvb21wZC10eXBlcy5oLmluIGIvbGliZ29tcC9vbXBkLXR5cGVz LmguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZjM2EwZTE0NjM5 Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC9vbXBkLXR5cGVzLmguaW4KQEAgLTAsMCArMSw1 OSBAQAorLyogQ29weXJpZ2h0IChDKSAyMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgorICAgQ29udHJpYnV0ZWQgYnkgTW9oYW1lZCBBdGVmIDxtb2hhbWVkYXRlZjE2OThAZ21haWwu Y29tPi4KKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgT2ZmbG9hZGluZyBhbmQgTXVs dGkgUHJvY2Vzc2luZyBMaWJyYXJ5CisgICAobGliZ29tcCkuCisgICBMaWJnb21wIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAgIHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz LCBvciAoYXQgeW91ciBvcHRpb24pCisgICBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAgIExpYmdvbXAg aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJ VEhPVVQgQU5ZCisgICBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCisgICBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvcgorICAgbW9yZSBkZXRh aWxzLgorICAgVW5kZXIgU2VjdGlvbiA3IG9mIEdQTCB2ZXJzaW9uIDMsIHlvdSBhcmUgZ3JhbnRl ZCBhZGRpdGlvbmFsCisgICBwZXJtaXNzaW9ucyBkZXNjcmliZWQgaW4gdGhlIEdDQyBSdW50aW1l IExpYnJhcnkgRXhjZXB0aW9uLCB2ZXJzaW9uCisgICAzLjEsIGFzIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYW5kCisgICBhIGNvcHkgb2Yg dGhlIEdDQyBSdW50aW1lIExpYnJhcnkgRXhjZXB0aW9uIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt OworICAgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3Rp dmVseS4gIElmIG5vdCwgc2VlCisgICA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAq LworCisKKy8qVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSB0eXBlcyBuZWVkZWQgZm9yIE9NUEQgaW1w bGVtZW50YXRpb24uICAqLworCisKKyNpZm5kZWYgX09NUERfVFlQRVNfSAorI2RlZmluZSBfT01Q RF9UWVBFU19ICisKKyNpZmRlZiBfX2NwdWxzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKwor I2RlZmluZSBPTVBEX1RZUEVTX1ZFUlNJT04gICAyMDE4MDkwNiAvKiBZWVlZTU1ERCBGb3JtYXQg Ki8KKworLyogS2luZHMgb2YgZGV2aWNlIHRocmVhZHMgICovCisjZGVmaW5lIE9NUERfVEhSRUFE X0lEX1BUSFJFQUQgICAgICAoKG9tcGRfdGhyZWFkX2lkX3QpMCkKKyNkZWZpbmUgT01QRF9USFJF QURfSURfTFdQICAgICAgICAgICgob21wZF90aHJlYWRfaWRfdCkxKQorI2RlZmluZSBPTVBEX1RI UkVBRF9JRF9XSU5USFJFQUQgICAgKChvbXBkX3RocmVhZF9pZF90KTIpCisKKy8qIFRoZSByYW5n ZSBvZiBub24tc3RhbmRhcmQgaW1wbGVtZW50YXRpb24gZGVmaW5lZCB2YWx1ZXMgKi8KKyNkZWZp bmUgT01QRF9USFJFQURfSURfTE8gICAgICAgKChvbXBkX3RocmVhZF9pZF90KTEwMDAwMDApCisj ZGVmaW5lIE9NUERfVEhSRUFEX0lEX0hJICAgICAgICgob21wZF90aHJlYWRfaWRfdCkxMTAwMDAw KQorCisKKy8qIE1lbW9yeSBBY2Nlc3MgU2VnbWVudCBkZWZpbml0aW9ucyBmb3IgSG9zdCBhbmQg VGFyZ2V0IERldmljZXMgKi8KKyNkZWZpbmUgT01QRF9TRUdNRU5UX1VOU1BFQ0lGSUVEICAgICAg ICAgICAgICgob21wZF9zZWdfdCkwKQorCisKKy8qIEtpbmRzIG9mIGRldmljZSBkZXZpY2UgYWRk cmVzcyBzcGFjZXMgKi8KKyNkZWZpbmUgT01QRF9ERVZJQ0VfS0lORF9IT1NUICAgICAoKG9tcGRf ZGV2aWNlX3QpMSkKKworCisvKiBUaGUgcmFuZ2Ugb2Ygbm9uLXN0YW5kYXJkIGltcGxlbWVudGF0 aW9uIGRlZmluZWQgdmFsdWVzICovCisjZGVmaW5lIE9NUERfREVWSUNFX0lNUExfTE8gICAgICAg KChvbXBkX2RldmljZV90KTEwMDAwMDApCisjZGVmaW5lIE9NUERfREVWSUNFX0lNUExfSEkgICAg ICAgKChvbXBkX2RldmljZV90KTExMDAwMDApCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfSAvLyBl eHRlcm4gQworI2VuZGlmCisjZW5kaWYgLyogX09NUERfVFlQRVNfSCAqLwpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2xpYmdvbXAvcGFyYWxsZWwuYyBiL2xpYmdvbXAv cGFyYWxsZWwuYwppbmRleCBmNzcyMjk5MDU2Ni4uZDMyNWU1OTc0NTkgMTAwNjQ0Ci0tLSBhL2xp YmdvbXAvcGFyYWxsZWwuYworKysgYi9saWJnb21wL3BhcmFsbGVsLmMKQEAgLTI2LDYgKzI2LDcg QEAKIC8qIFRoaXMgZmlsZSBoYW5kbGVzIHRoZSAoYmFyZSkgUEFSQUxMRUwgY29uc3RydWN0LiAg Ki8KIAogI2luY2x1ZGUgImxpYmdvbXAuaCIKKyNpbmNsdWRlICJvbXBkLXN1cHBvcnQuaCIKICNp bmNsdWRlIDxsaW1pdHMuaD4KIAogCkBAIC0xNzMsMTAgKzE3NCwxNCBAQCBHT01QX3BhcmFsbGVs ICh2b2lkICgqZm4pICh2b2lkICopLCB2b2lkICpkYXRhLCB1bnNpZ25lZCBudW1fdGhyZWFkcywK IAkgICAgICAgdW5zaWduZWQgaW50IGZsYWdzKQogewogICBudW1fdGhyZWFkcyA9IGdvbXBfcmVz b2x2ZV9udW1fdGhyZWFkcyAobnVtX3RocmVhZHMsIDApOworICAvL2lmKG9tcGRfc3RhdGUpCisg ICAgb21wZF9icF9wYXJhbGxlbF9iZWdpbigpOwogICBnb21wX3RlYW1fc3RhcnQgKGZuLCBkYXRh LCBudW1fdGhyZWFkcywgZmxhZ3MsIGdvbXBfbmV3X3RlYW0gKG51bV90aHJlYWRzKSwKIAkJICAg TlVMTCk7CiAgIGZuIChkYXRhKTsKICAgaWFsaWFzX2NhbGwgKEdPTVBfcGFyYWxsZWxfZW5kKSAo KTsKKyAgLy9pZihvbXBkX3N0YXRlKQorICAgIG9tcGRfYnBfcGFyYWxsZWxfZW5kKCk7CiB9CiAK IHVuc2lnbmVkCmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9NYWtlZmlsZS5pbiBiL2xp YmdvbXAvdGVzdHN1aXRlL01ha2VmaWxlLmluCmluZGV4IGU0OGMzZjJmOWIwLi40MTZlMjBlNDk4 YyAxMDA2NDQKLS0tIGEvbGliZ29tcC90ZXN0c3VpdGUvTWFrZWZpbGUuaW4KKysrIGIvbGliZ29t cC90ZXN0c3VpdGUvTWFrZWZpbGUuaW4KQEAgLTEsNyArMSw3IEBACi0jIE1ha2VmaWxlLmluIGdl bmVyYXRlZCBieSBhdXRvbWFrZSAxLjE1LjEgZnJvbSBNYWtlZmlsZS5hbS4KKyMgTWFrZWZpbGUu aW4gZ2VuZXJhdGVkIGJ5IGF1dG9tYWtlIDEuMTYuMSBmcm9tIE1ha2VmaWxlLmFtLgogIyBAY29u ZmlndXJlX2lucHV0QAogCi0jIENvcHlyaWdodCAoQykgMTk5NC0yMDE3IEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDE5OTQtMjAxOCBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4KIAogIyBUaGlzIE1ha2VmaWxlLmluIGlzIGZyZWUgc29mdHdhcmU7 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KICMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Np b24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKQEAgLTI4NCw2ICsyODQsNyBAQCBwZGZk aXIgPSBAcGRmZGlyQAogcHJlZml4ID0gQHByZWZpeEAKIHByb2dyYW1fdHJhbnNmb3JtX25hbWUg PSBAcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZUAKIHBzZGlyID0gQHBzZGlyQAorcnVuc3RhdGVkaXIg PSBAcnVuc3RhdGVkaXJACiBzYmluZGlyID0gQHNiaW5kaXJACiBzaGFyZWRzdGF0ZWRpciA9IEBz aGFyZWRzdGF0ZWRpckAKIHNyY2RpciA9IEBzcmNkaXJACkBAIC0zMzEsOCArMzMyLDggQEAgTWFr ZWZpbGU6ICQoc3JjZGlyKS9NYWtlZmlsZS5pbiAkKHRvcF9idWlsZGRpcikvY29uZmlnLnN0YXR1 cwogCSAgKmNvbmZpZy5zdGF0dXMqKSBcCiAJICAgIGNkICQodG9wX2J1aWxkZGlyKSAmJiAkKE1B S0UpICQoQU1fTUFLRUZMQUdTKSBhbS0tcmVmcmVzaDs7IFwKIAkgICopIFwKLQkgICAgZWNobyAn IGNkICQodG9wX2J1aWxkZGlyKSAmJiAkKFNIRUxMKSAuL2NvbmZpZy5zdGF0dXMgJChzdWJkaXIp LyRAICQoYW1fX2RlcGZpbGVzX21heWJlKSc7IFwKLQkgICAgY2QgJCh0b3BfYnVpbGRkaXIpICYm ICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkKHN1YmRpcikvJEAgJChhbV9fZGVwZmlsZXNfbWF5 YmUpOzsgXAorCSAgICBlY2hvICcgY2QgJCh0b3BfYnVpbGRkaXIpICYmICQoU0hFTEwpIC4vY29u ZmlnLnN0YXR1cyAkKHN1YmRpcikvJEAgJChhbV9fbWF5YmVfcmVtYWtlX2RlcGZpbGVzKSc7IFwK KwkgICAgY2QgJCh0b3BfYnVpbGRkaXIpICYmICQoU0hFTEwpIC4vY29uZmlnLnN0YXR1cyAkKHN1 YmRpcikvJEAgJChhbV9fbWF5YmVfcmVtYWtlX2RlcGZpbGVzKTs7IFwKIAllc2FjOwogCiAkKHRv cF9idWlsZGRpcikvY29uZmlnLnN0YXR1czogJCh0b3Bfc3JjZGlyKS9jb25maWd1cmUgJChDT05G SUdfU1RBVFVTX0RFUEVOREVOQ0lFUykK --000000000000c4ce3805d828dc51--