<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>213992</bug_id>
          
          <creation_ts>2008-03-20 07:13 0000</creation_ts>
          <short_desc>Please stabilise app-emacs/auctex-11.85</short_desc>
          <delta_ts>2008-05-05 20:51:12 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <keywords>STABLEREQ</keywords>
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>ulm@gentoo.org</reporter>
          <assigned_to>emacs@gentoo.org</assigned_to>
          <cc>Zeliboba@mail.ru</cc>

      

      
          <long_desc isprivate="0">
            <who>ulm@gentoo.org</who>
            <bug_when>2008-03-20 07:13:13 0000</bug_when>
            <thetext>Test plan: &lt;http://overlays.gentoo.org/proj/emacs/wiki/test%20plans&gt;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>fauli@gentoo.org</who>
            <bug_when>2008-03-21 09:07:56 0000</bug_when>
            <thetext>x86 stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nixnut@gentoo.org</who>
            <bug_when>2008-03-22 12:10:45 0000</bug_when>
            <thetext>ppc stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>armin76@gentoo.org</who>
            <bug_when>2008-03-22 20:11:37 0000</bug_when>
            <thetext>sparc stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ranger@gentoo.org</who>
            <bug_when>2008-03-23 13:50:05 0000</bug_when>
            <thetext>ppc64 stable</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>Zeliboba@mail.ru</who>
            <bug_when>2008-04-15 05:54:13 0000</bug_when>
            <thetext>Created an attachment (id=149764)
environment for failed build

auctex-11.85 is failed on my system with error message below, while emerge =app-emacs/auctex-11.84-r3 went flawlessly (only related part of the log is shown):

&gt;&gt;&gt; Source compiled.
&gt;&gt;&gt; Test phase [not enabled]: app-emacs/auctex-11.85

&gt;&gt;&gt; Install auctex-11.85 into /var/tmp/portage/app-emacs/auctex-11.85/image/ cat
egory app-emacs
./mkinstalldirs /var/tmp/portage/app-emacs/auctex-11.85/image//usr/share/emacs/s
ite-lisp/auctex
cd doc ; make DESTDIR=/var/tmp/portage/app-emacs/auctex-11.85/image/ install-auc
tex
mkdir -p -- /var/tmp/portage/app-emacs/auctex-11.85/image//usr/share/emacs/site-
lisp/auctex
./mkinstalldirs /var/tmp/portage/app-emacs/auctex-11.85/image//usr/share/emacs/e
tc/auctex/images
test no != no || \
          /usr/bin/install -c -m 644 auctex.el /var/tmp/portage/app-emacs/auctex
-11.85/image//usr/share/emacs/site-lisp/auctex/auctex.el
make[1]: Entering directory `/var/tmp/portage/app-emacs/auctex-11.85/work/auctex
-11.85/doc&apos;
../mkinstalldirs /var/tmp/portage/app-emacs/auctex-11.85/image//usr/share/info
mkdir -p -- /var/tmp/portage/app-emacs/auctex-11.85/image//usr/share/emacs/etc/a
uctex/images
mkdir -p -- /var/tmp/portage/app-emacs/auctex-11.85/image//usr/share/info
/usr/bin/install: cannot create regular file `/var/tmp/portage/app-emacs/auctex-
11.85/image//usr/share/emacs/site-lisp/auctex/auctex.el&apos;: No such file or direct
ory
make: *** [install-startup] Error 1
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ulm@gentoo.org</who>
            <bug_when>2008-04-15 07:07:19 0000</bug_when>
            <thetext>(In reply to comment #5)
&gt; auctex-11.85 is failed on my system with error message below, [...]

Sorry, I cannot reproduce this failure. Does it also happen with MAKEOPTS=&quot;-j1&quot;?

&gt; /usr/bin/install: cannot create regular file
&gt; `/var/tmp/portage/app-emacs/auctex-
&gt; 11.85/image//usr/share/emacs/site-lisp/auctex/auctex.el&apos;: No such file or
&gt; directory

What is the reason? The site-lisp/auctex directory doesn&apos;t exist at this point?
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pier_carla@yahoo.it</who>
            <bug_when>2008-04-18 13:50:15 0000</bug_when>
            <thetext>(In reply to comment #0)
&gt; Test plan: &lt;http://overlays.gentoo.org/proj/emacs/wiki/test%20plans&gt;
&gt; 
Got the same problem here. Changing  MAKEOPTS=&quot;-j4&quot; to MAKEOPTS=&quot;-j1&quot; solved the problem.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ulm@gentoo.org</who>
            <bug_when>2008-04-18 15:23:10 0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; Got the same problem here. Changing  MAKEOPTS=&quot;-j4&quot; to MAKEOPTS=&quot;-j1&quot; solved
&gt; the problem.

Fixed in CVS, I&apos;ve changed it to use &quot;emake -j1&quot; in install.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>maekke@gentoo.org</who>
            <bug_when>2008-05-05 20:51:12 0000</bug_when>
            <thetext>amd64 stable, all arches done.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>149764</attachid>
            <date>2008-04-15 05:54 0000</date>
            <desc>environment for failed build</desc>
            <filename>environment</filename>
            <type>text/plain</type>
            <data encoding="base64">QUxTQV9DQVJEUz0nYWxpNTQ1MSBhbHM0MDAwIGF0aWl4cCBhdGlpeHAtbW9kZW0gYnQ4N3ggY2Ew
MTA2IGNtaXBjaSBlbXUxMGsxIGVtdTEwazF4IGVuczEzNzAgZW5zMTM3MSBlczE5MzggZXMxOTY4
IGZtODAxIGhkYS1pbnRlbCBpbnRlbDh4MCBpbnRlbDh4MG0gbWFlc3RybzMgdHJpZGVudCB1c2It
YXVkaW8gdmlhODJ4eCB2aWE4Mnh4LW1vZGVtIHltZnBjaScKQUxTQV9QQ01fUExVR0lOUz0nYWRw
Y20gYWxhdyBhc3ltIGNvcHkgZG1peCBkc2hhcmUgZHNub29wIGVtcHR5IGV4dHBsdWcgZmlsZSBo
b29rcyBpZWM5NTggaW9wbHVnIGxhZHNwYSBsZmxvYXQgbGluZWFyIG1ldGVyIG11bGF3IG11bHRp
IG51bGwgcGx1ZyByYXRlIHJvdXRlIHNoYXJlIHNobSBzb2Z0dm9sJwpBTlRfSE9NRT0vdXNyL3No
YXJlL2FudC1jb3JlCkFQQUNIRTJfTU9EVUxFUz0nYWN0aW9ucyBhbGlhcyBhdXRoX2Jhc2ljIGF1
dGhuX2FsaWFzIGF1dGhuX2Fub24gYXV0aG5fZGJtIGF1dGhuX2RlZmF1bHQgYXV0aG5fZmlsZSBh
dXRoel9kYm0gYXV0aHpfZGVmYXVsdCBhdXRoel9ncm91cGZpbGUgYXV0aHpfaG9zdCBhdXRoel9v
d25lciBhdXRoel91c2VyIGF1dG9pbmRleCBjYWNoZSBkYXYgZGF2X2ZzIGRhdl9sb2NrIGRlZmxh
dGUgZGlyIGRpc2tfY2FjaGUgZW52IGV4cGlyZXMgZXh0X2ZpbHRlciBmaWxlX2NhY2hlIGZpbHRl
ciBoZWFkZXJzIGluY2x1ZGUgaW5mbyBsb2dfY29uZmlnIGxvZ2lvIG1lbV9jYWNoZSBtaW1lIG1p
bWVfbWFnaWMgbmVnb3RpYXRpb24gcmV3cml0ZSBzZXRlbnZpZiBzcGVsaW5nIHN0YXR1cyB1bmlx
dWVfaWQgdXNlcmRpciB1c2VydHJhY2sgdmhvc3RfYWxpYXMnCkFSQ0g9eDg2CkNCVUlMRD1pNjg2
LXBjLWxpbnV4LWdudQpDREVGSU5FX2RlZmF1bHQ9X191bml4X18KQ0ZMQUdTPSctbWFyY2g9cHJl
c2NvdHQgLU8yIC1waXBlIC1mb21pdC1mcmFtZS1wb2ludGVyJwpDRkxBR1NfZGVmYXVsdD0KQ0hP
U1Q9aTY4Ni1wYy1saW51eC1nbnUKQ0hPU1RfZGVmYXVsdD1pNjg2LXBjLWxpbnV4LWdudQpDTEFT
U1BBVEg9LgpDT05GQ0FDSEU9CkNUQVJHRVRfZGVmYXVsdD1pNjg2LXBjLWxpbnV4LWdudQpDVlNf
UlNIPXNzaApDWFhGTEFHUz0nLW1hcmNoPXByZXNjb3R0IC1PMiAtcGlwZSAtZm9taXQtZnJhbWUt
cG9pbnRlcicKREVGQVVMVF9BQkk9ZGVmYXVsdApERVBFTkQ9JCd2aXJ0dWFsL2xhdGV4LWJhc2Vc
blx0cHJldmlldy1sYXRleD8gKCAhZGV2LXRleC9wcmV2aWV3LWxhdGV4XG5cdFx0YXBwLXRleHQv
ZHZpcG5nXG5cdFx0dmlydHVhbC9naG9zdHNjcmlwdCApICA+PXZpcnR1YWwvZW1hY3MtMjEgdmly
dHVhbC9sYXRleC1iYXNlXG5cdD49c3lzLWFwcHMvdGV4aW5mby00LjItcjUnCkRFU0NSSVBUSU9O
PSdFeHRlbmRlZCBzdXBwb3J0IGZvciB3cml0aW5nLCBmb3JtYXR0aW5nIGFuZCB1c2luZyAoTGEp
VGVYLCBUZXhpbmZvIGFuZCBCaWJUZVggZmlsZXMnCkRFU1RUUkVFPS91c3IKRElST1BUSU9OUz0t
bTA3NTUKRUFQST0KRUNPTkZfU09VUkNFPS4KRUxJQkM9Z2xpYmMKRU1BQ1M9L3Vzci9iaW4vZW1h
Y3MKRU1BQ1NGTEFHUz0nLWJhdGNoIC1xIC0tbm8tc2l0ZS1maWxlJwpFUEFUQ0hfRVhDTFVERT0K
RVBBVENIX0ZPUkNFPW5vCkVQQVRDSF9NVUxUSV9NU0c9J0FwcGx5aW5nIHZhcmlvdXMgcGF0Y2hl
cyAoYnVnZml4ZXMvdXBkYXRlcykgLi4uJwpFUEFUQ0hfT1BUUz0nLWcwIC1FIC0tbm8tYmFja3Vw
LWlmLW1pc21hdGNoJwpFUEFUQ0hfU0lOR0xFX01TRz0KRVBBVENIX1NPVVJDRT0vdmFyL3RtcC9w
b3J0YWdlL2FwcC1lbWFjcy9hdWN0ZXgtMTEuODUvd29yay9wYXRjaApFUEFUQ0hfU1VGRklYPXBh
dGNoLmJ6MgpFWEVPUFRJT05TPS1tMDc1NQpGRUFUVVJFUz0nYnVpbGRwa2cgY2NhY2hlIGRpc3Rs
b2NrcyBtZXRhZGF0YS10cmFuc2ZlciBwYXJhbGxlbC1mZXRjaCBzYW5kYm94IHNmcGVybXMgc3Ry
aWN0IHVubWVyZ2Utb3JwaGFucyB1c2VyZmV0Y2ggdXNlcnByaXYgdXNlcnNhbmRib3gnCkZMVEtf
RE9DRElSPS91c3Ivc2hhcmUvZG9jL2ZsdGstMS4xLjctcjIvaHRtbApHQ0NfUEFUSD0vdXNyL2k2
ODYtcGMtbGludXgtZ251L2djYy1iaW4vNC4xLjIKR0NDX1NQRUNTPQpHREtfVVNFX1hGVD0xCkdF
TkVSQVRJT049MgpIT01FUEFHRT1odHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXVjdGV4LwpJ
TkhFUklURUQ9J3Rvb2xjaGFpbi1mdW5jcyBlbGlzcC1jb21tb24gcG9ydGFiaWxpdHkgZWxpc3Ag
dmVyc2lvbmF0b3IgbXVsdGlsaWIgbGF0ZXgtcGFja2FnZSBiYXNlIGV1dGlscycKSU5QVVRfREVW
SUNFUz0nZXZkZXYga2V5Ym9hcmQgbW91c2UnCklOU0RFU1RUUkVFPQpJTlNPUFRJT05TPS1tMDY0
NApJVVNFPScgcHJldmlldy1sYXRleCcKSkFWQUM9L2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQt
c3lzdGVtLXZtL2Jpbi9qYXZhYwpKQVZBX0hPTUU9L2V0Yy9qYXZhLWNvbmZpZy0yL2N1cnJlbnQt
c3lzdGVtLXZtCkpES19IT01FPS9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12bQpL
REVESVJTPS91c3I6L3Vzci9sb2NhbDovdXNyL2tkZS8zLjUKS0VSTkVMPWxpbnV4CktFUk5FTF9B
Qkk9ZGVmYXVsdApLRVlXT1JEUz0nfmFtZDY0IHBwYyBwcGM2NCBzcGFyYyB4ODYnCktWPTIuNi4y
My1nZW50b28tcjMKTENEX0RFVklDRVM9J2JheXJhZCBjZm9udHogY2ZvbnR6NjMzIGdsayBoZDQ0
NzgwIGxiMjE2IGxjZG0wMDEgbXR4b3JiIG5jdXJzZXMgdGV4dCcKTERGTEFHU19kZWZhdWx0PQpM
SUJESVJfZGVmYXVsdD1saWIKTElCT1BUSU9OUz0tbTA2NDQKTElDRU5TRT0nR1BMLTMgRkRMLTEu
MicKTElOR1VBUz0nZW4gcnUnCk1BS0VPUFRTPS1qOQpNVUxUSUxJQl9BQklTPWRlZmF1bHQKT1BF
TkdMX1BST0ZJTEU9bnZpZGlhClBERVBFTkQ9JyAnClBLR19DT05GSUdfUEFUSD0vdXNyL3F0LzMv
bGliL3BrZ2NvbmZpZwpQT1JUQUdFX05JQ0VORVNTPTMKUFJPVklERT0KUFlUSE9ORE9DUz0vdXNy
L3NoYXJlL2RvYy9weXRob24tZG9jcy0yLjQuNC9odG1sL2xpYgpQWVRIT05QQVRIPS91c3IvbGli
L3BvcnRhZ2UvcHltClFNQUtFU1BFQz1saW51eC1nKysKUVRESVI9L3Vzci9xdC8zClJERVBFTkQ9
JCd2aXJ0dWFsL2xhdGV4LWJhc2Vcblx0cHJldmlldy1sYXRleD8gKCAhZGV2LXRleC9wcmV2aWV3
LWxhdGV4XG5cdFx0YXBwLXRleHQvZHZpcG5nXG5cdFx0dmlydHVhbC9naG9zdHNjcmlwdCApICA+
PXZpcnR1YWwvZW1hY3MtMjEnClJFU1RSSUNUPQpTPS92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtYWNz
L2F1Y3RleC0xMS44NS93b3JrL2F1Y3RleC0xMS44NQpTQU5EQk9YPS9tbnQvc2RhOC9zYW5kYm94
L2lrYXp1a28KU0FOREJPWF9ERU5ZPS9ldGMvbGQuc28ucHJlbG9hZApTQU5EQk9YX1BSRURJQ1Q9
Oi9kZXYvY29uc29sZTovZGV2L3JhbmRvbTovcHJvYy9zZWxmL21hcHM6L3Vzci9saWIvcG9ydGFn
ZS9weW06L3Vzci9saWIvcHl0aG9uMi4wLzovdXNyL2xpYi9weXRob24yLjEvOi91c3IvbGliL3B5
dGhvbjIuMi86L3Vzci9saWIvcHl0aG9uMi4zLzovdXNyL2xpYi9weXRob24yLjQvOi91c3IvbGli
L3B5dGhvbjIuNS86L3Vzci9saWIvcHl0aG9uMy4wLzovdmFyL2NhY2hlL2VkYi9kZXA6L3Zhci9k
Yi9hbGlhc2VzLmRiOi92YXIvZGIvZXRoZXJzLmRiOi92YXIvZGIvZ3JvdXAuZGI6L3Zhci9kYi9o
b3N0cy5kYjovdmFyL2RiL25ldGdyb3VwLmRiOi92YXIvZGIvbmV0bWFza3MuZGI6L3Zhci9kYi9u
ZXR3b3Jrcy5kYjovdmFyL2RiL3Bhc3N3ZC5kYjovdmFyL2RiL3Byb3RvY29scy5kYjovdmFyL2Ri
L3JwYy5kYjovdmFyL2RiL3NlcnZpY2VzLmRiOi92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtYWNzL2F1
Y3RleC0xMS44NS9ob21lZGlyLy46ClNBTkRCT1hfUkVBRD06LzovZGV2L3NobTovZGV2L3N0ZGlu
Oi92YXIvdG1wOi92YXIvdG1wL2NjYWNoZToKU0FOREJPWF9XUklURT06L2Rldi9jb25zb2xlOi9k
ZXYvZmQ6L2Rldi9udWxsOi9kZXYvcHRzLzovZGV2L3B0eTovZGV2L3NobTovZGV2L3NobS9uZ3B0
Oi9kZXYvc3RkZXJyOi9kZXYvc3Rkb3V0Oi9kZXYvdHRzOi9kZXYvdHR5Oi9kZXYvdmMvOi9kZXYv
emVybzovcHJvYy9zZWxmL2ZkOi90bXA6L3RtcC86L3Vzci9saWIvY2Y6L3Vzci9saWIvY29uZnRl
c3Q6L3Vzci9saWIzMi9jZjovdXNyL2xpYjMyL2NvbmZ0ZXN0Oi91c3IvbGliNjQvY2Y6L3Vzci9s
aWI2NC9jb25mdGVzdDovdXNyL3RtcC9jZjovdXNyL3RtcC9jb25mdGVzdDovdmFyL2xvZy9zY3Jv
bGxrZWVwZXIubG9nOi92YXIvdG1wOi92YXIvdG1wLzovdmFyL3RtcC8uZGlzdGNjOi92YXIvdG1w
L2NjYWNoZTovdmFyL3RtcC9wb3J0YWdlL2FwcC1lbWFjcy9hdWN0ZXgtMTEuODUvaG9tZWRpci8u
YmFzaF9oaXN0b3J5Oi92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtYWNzL2F1Y3RleC0xMS44NS9ob21l
ZGlyLy5nY29uZmQvbG9jazoKU0lURUVUQz0vdXNyL3NoYXJlL2VtYWNzL2V0YwpTSVRFRklMRT01
MGF1Y3RleC1nZW50b28uZWwKU0lURUxJU1A9L3Vzci9zaGFyZS9lbWFjcy9zaXRlLWxpc3AKU0xP
VD0wClNSQ19VUkk9bWlycm9yOi8vZ251L2F1Y3RleC9hdWN0ZXgtMTEuODUudGFyLmd6ClNUQUdF
MV9VU0U9J25wdGwgbnB0bG9ubHkgdW5pY29kZScKU1VQUExJRVI9bWlzYwpURVhNRj0vdXNyL3No
YXJlL3RleG1mLXNpdGUKVVNFPSdlbGliY19nbGliYyBrZXJuZWxfbGludXggdXNlcmxhbmRfR05V
IHg4NicKVVNFUkxBTkQ9R05VClZFUlNJT049MjEKVkVSU0lPTkFUT1JfT0xEX0VYVEdMT0I9J3No
b3B0IC11IGV4dGdsb2InClZFUlNJT05BVE9SX1JFQ1VSU0lPTj0wClZJREVPX0NBUkRTPSdkdW1t
eSBmYmRldiB2ZXNhIHZnYSB2bXdhcmUgbnZpZGlhJwpWTUhBTkRMRT1zdW4tamRrLTEuNApWVEtI
T01FPS91c3IKVlRLX0RBVEFfUk9PVD0vdXNyL3NoYXJlL3Z0ay9kYXRhClZUS19ESVI9L3Vzci9s
aWIvdnRrLTUuMApYREdfREFUQV9ESVJTPS91c3Ivc2hhcmU6L3Vzci9rZGUvMy41L3NoYXJlOi91
c3IvbG9jYWwvc2hhcmUKXz1fUkNfR0VUX0tWX0NBQ0hFCl9FX0RPQ0RFU1RUUkVFXz0KX0VfRVhF
REVTVFRSRUVfPQpfX19FQ0xBU1NfUkVDVVJfTVVMVElMSUI9eWVzCl9fX0VDTEFTU19SRUNVUl9U
T09MQ0hBSU5fRlVOQ1M9eWVzCmNvbmY9YXVjdGV4LTExLjg1LXIwCnN0cj0nYmFzZV9zcmNfdW5w
YWNrOiBlbnRlcmluZyBmdW5jdGlvbicKX192ZXJzaW9uYXRvcl9fdGVzdF92ZXJzaW9uX2NvbXBh
cmUgKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvbjsKICAgIGxvY2FsIGx0
PTEgZXE9MiBndD0zIHAgcTsKICAgIGZ1bmN0aW9uIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lv
bl9jb21wYXJlX3QgKCkgCiAgICB7IAogICAgICAgIHZlcnNpb25fY29tcGFyZSAiJHsxfSIgIiR7
M30iOwogICAgICAgIGxvY2FsIHI9JD87CiAgICAgICAgW1sgJHtyfSAtZXEgJHsyfSBdXSB8fCBl
Y2hvICJGQUlMOiAke0B9IChnb3QgJHtyfSBleHAgJHsyfSkiCiAgICB9OwogICAgZWNobyAiCgkJ
MCAgICAgICAgICAgICAkbHQgMQoJCTEgICAgICAgICAgICAgJGx0IDIKCQkyICAgICAgICAgICAg
ICRndCAxCgkJMiAgICAgICAgICAgICAkZXEgMgoJCTAgICAgICAgICAgICAgJGVxIDAKCQkxMCAg
ICAgICAgICAgICRsdCAyMAoJCTY4ICAgICAgICAgICAgJGVxIDA2OAoJCTA2OCAgICAgICAgICAg
JGd0IDY3CgkJMDY4ICAgICAgICAgICAkbHQgNjkKCgkJMS4wICAgICAgICAgICAkbHQgMi4wCgkJ
Mi4wICAgICAgICAgICAkZXEgMi4wCgkJMi4wICAgICAgICAgICAkZ3QgMS4wCgoJCTEuMCAgICAg
ICAgICAgJGd0IDAuMAoJCTAuMCAgICAgICAgICAgJGVxIDAuMAoJCTAuMCAgICAgICAgICAgJGx0
IDEuMAoKCQkwLjEgICAgICAgICAgICRsdCAwLjIKCQkwLjIgICAgICAgICAgICRlcSAwLjIKCQkw
LjMgICAgICAgICAgICRndCAwLjIKCgkJMS4yICAgICAgICAgICAkbHQgMi4xCgkJMi4xICAgICAg
ICAgICAkZ3QgMS4yCgoJCTEuMi4zICAgICAgICAgJGx0IDEuMi40CgkJMS4yLjQgICAgICAgICAk
Z3QgMS4yLjMKCgkJMS4yLjAgICAgICAgICAkZXEgMS4yCgkJMS4yLjEgICAgICAgICAkZ3QgMS4y
CgkJMS4yICAgICAgICAgICAkbHQgMS4yLjEKCgkJMS4yYiAgICAgICAgICAkZXEgMS4yYgoJCTEu
MmIgICAgICAgICAgJGx0IDEuMmMKCQkxLjJiICAgICAgICAgICRndCAxLjJhCgkJMS4yYiAgICAg
ICAgICAkZ3QgMS4yCgkJMS4yICAgICAgICAgICAkbHQgMS4yYQoKCQkxLjMgICAgICAgICAgICRn
dCAxLjJhCgkJMS4zICAgICAgICAgICAkbHQgMS4zYQoKCQkxLjBfYWxwaGE3ICAgICRsdCAxLjBf
YmV0YTcKCQkxLjBfYmV0YSAgICAgICRsdCAxLjBfcHJlCgkJMS4wX3ByZTUgICAgICAkbHQgMS4w
X3JjMgoJCTEuMF9yYzIgICAgICAgJGx0IDEuMAoKCQkxLjBfcDEgICAgICAgICRndCAxLjAKCQkx
LjBfcDEtcjEgICAgICRndCAxLjBfcDEKCgkJMS4wX2FscGhhNi1yMSAkZ3QgMS4wX2FscGhhNgoJ
CTEuMF9iZXRhNi1yMSAgJGd0IDEuMF9hbHBoYTYtcjIKCgkJMS4wX3ByZTEgICAgICAkbHQgMS4w
LXAxCgoJCTEuMHAgICAgICAgICAgJGd0IDEuMF9wMQoJCTEuMHIgICAgICAgICAgJGd0IDEuMC1y
MQoJCTEuNi4xNSAgICAgICAgJGd0IDEuNi4xMC1yMgoJCTEuNi4xMC1yMiAgICAgJGx0IDEuNi4x
NQoKCSIgfCB3aGlsZSByZWFkIGEgYiBjOyBkbwogICAgICAgIFtbIC16ICIke2F9JHtifSR7Y30i
IF1dICYmIGNvbnRpbnVlOwogICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21w
YXJlX3QgIiR7YX0iICIke2J9IiAiJHtjfSI7CiAgICBkb25lOwogICAgZm9yIHEgaW4gImFscGhh
IGJldGEgcHJlIHJjPSR7bHR9OyR7Z3R9IiAicCByPSR7Z3R9OyR7bHR9IjsKICAgIGRvCiAgICAg
ICAgZm9yIHAgaW4gJHtxJSU9Kn07CiAgICAgICAgZG8KICAgICAgICAgICAgbG9jYWwgYz0ke3Ej
Iyo9fTsKICAgICAgICAgICAgbG9jYWwgYWx0PSR7YyUlOyp9IGFndD0ke2MjIyo7fTsKICAgICAg
ICAgICAgX192ZXJzaW9uYXRvcl9fdGVzdF92ZXJzaW9uX2NvbXBhcmVfdCAiMS4wIiAkYWd0ICIx
LjBfJHtwfSI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJl
X3QgIjEuMCIgJGFndCAiMS4wXyR7cH0xIjsKICAgICAgICAgICAgX192ZXJzaW9uYXRvcl9fdGVz
dF92ZXJzaW9uX2NvbXBhcmVfdCAiMS4wIiAkYWd0ICIxLjBfJHtwfTA2OCI7CiAgICAgICAgICAg
IF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjIuMF8ke3B9IiAkYWx0ICIy
LjAiOwogICAgICAgICAgICBfX3ZlcnNpb25hdG9yX190ZXN0X3ZlcnNpb25fY29tcGFyZV90ICIy
LjBfJHtwfTEiICRhbHQgIjIuMCI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVy
c2lvbl9jb21wYXJlX3QgIjIuMF8ke3B9MDY4IiAkYWx0ICIyLjAiOwogICAgICAgICAgICBfX3Zl
cnNpb25hdG9yX190ZXN0X3ZlcnNpb25fY29tcGFyZV90ICIxLjBfJHtwfSIgJGVxICIxLjBfJHtw
fSI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjAu
MF8ke3B9IiAkbHQgIjAuMF8ke3B9MSI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3Rf
dmVyc2lvbl9jb21wYXJlX3QgIjY2Nl8ke3B9MyIgJGd0ICI2NjZfJHtwfSI7CiAgICAgICAgICAg
IF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjFfJHtwfTciICRsdCAiMV8k
e3B9OCI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3Qg
IjFfJHtwfTciICRlcSAiMV8ke3B9NyI7CiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3JfX3Rlc3Rf
dmVyc2lvbl9jb21wYXJlX3QgIjFfJHtwfTciICRndCAiMV8ke3B9NiI7CiAgICAgICAgICAgIF9f
dmVyc2lvbmF0b3JfX3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjFfJHtwfTA5IiAkZXEgIjFfJHtw
fTkiOwogICAgICAgIGRvbmU7CiAgICBkb25lOwogICAgZm9yIHAgaW4gIi1yIiAiX3AiOwogICAg
ZG8KICAgICAgICBfX3ZlcnNpb25hdG9yX190ZXN0X3ZlcnNpb25fY29tcGFyZV90ICI3LjIke3B9
MSIgJGx0ICI3LjIke3B9MiI7CiAgICAgICAgX192ZXJzaW9uYXRvcl9fdGVzdF92ZXJzaW9uX2Nv
bXBhcmVfdCAiNy4yJHtwfTIiICRndCAiNy4yJHtwfTEiOwogICAgICAgIF9fdmVyc2lvbmF0b3Jf
X3Rlc3RfdmVyc2lvbl9jb21wYXJlX3QgIjcuMiR7cH0zIiAkZ3QgIjcuMiR7cH0yIjsKICAgICAg
ICBfX3ZlcnNpb25hdG9yX190ZXN0X3ZlcnNpb25fY29tcGFyZV90ICI3LjIke3B9MiIgJGx0ICI3
LjIke3B9MyI7CiAgICBkb25lOwogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmCn0K
X192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgKCkgCnsgCiAgICBWRVJTSU9OQVRPUl9SRUNVUlNJ
T049JHtWRVJTSU9OQVRPUl9SRUNVUlNJT046LTB9OwogICAgY2FzZSAiJDEiIGluIAogICAgICAg
ICJvbiIpCiAgICAgICAgICAgIGlmIFtbICRWRVJTSU9OQVRPUl9SRUNVUlNJT04gLWx0IDEgXV07
IHRoZW4KICAgICAgICAgICAgICAgIFZFUlNJT05BVE9SX09MRF9FWFRHTE9CPSQoc2hvcHQgLXAg
ZXh0Z2xvYik7CiAgICAgICAgICAgICAgICBzaG9wdCAtcyBleHRnbG9iOwogICAgICAgICAgICBm
aTsKICAgICAgICAgICAgVkVSU0lPTkFUT1JfUkVDVVJTSU9OPSQoKCAkVkVSU0lPTkFUT1JfUkVD
VVJTSU9OICsgMSApKQogICAgICAgIDs7CiAgICAgICAgIm9mZiIpCiAgICAgICAgICAgIFZFUlNJ
T05BVE9SX1JFQ1VSU0lPTj0kKCggJFZFUlNJT05BVE9SX1JFQ1VSU0lPTiAtIDEgKSk7CiAgICAg
ICAgICAgIGlmIFtbICRWRVJTSU9OQVRPUl9SRUNVUlNJT04gLWx0IDEgXV07IHRoZW4KICAgICAg
ICAgICAgICAgIGV2YWwgJFZFUlNJT05BVE9SX09MRF9FWFRHTE9COwogICAgICAgICAgICBmaQog
ICAgICAgIDs7CiAgICBlc2FjOwogICAgcmV0dXJuIDAKfQpfY2Ryb21fbG9jYXRlX2ZpbGVfb25f
Y2QgKCkgCnsgCiAgICBsb2NhbCBtbGluZT0iIjsKICAgIGxvY2FsIHNob3dlZG1zZz0wIHNob3dq
b2xpZXRtc2c9MDsKICAgIHdoaWxlIFtbIC16ICR7Q0RST01fUk9PVH0gXV07IGRvCiAgICAgICAg
bG9jYWwgaT0wOwogICAgICAgIGxvY2FsIC1hIGNkc2V0PSgkeyovLzovIH0pOwogICAgICAgIGlm
IFtbIC1uICR7Q0RST01fU0VUfSBdXTsgdGhlbgogICAgICAgICAgICBjZHNldD0oJHtjZHNldFsk
e0NEUk9NX1NFVH1dfSk7CiAgICAgICAgZmk7CiAgICAgICAgd2hpbGUgW1sgLW4gJHtjZHNldFsk
e2l9XX0gXV07IGRvCiAgICAgICAgICAgIGxvY2FsIGRpcj0kKGRpcm5hbWUgJHtjZHNldFske2l9
XX0pOwogICAgICAgICAgICBsb2NhbCBmaWxlPSQoYmFzZW5hbWUgJHtjZHNldFske2l9XX0pOwog
ICAgICAgICAgICBsb2NhbCBwb2ludD0gbm9kZT0gZnM9IGZvbz07CiAgICAgICAgICAgIHdoaWxl
IHJlYWQgcG9pbnQgbm9kZSBmcyBmb287IGRvCiAgICAgICAgICAgICAgICBbWyAiIGNkOTY2MCBp
c285NjYwIHVkZiAiICE9ICoiICR7ZnN9ICIqIF1dICYmICEgW1sgJHtmc30gPT0gInN1YmZzIiAm
JiAiLCR7b3B0c30sIiA9PSAqIixmcz1jZGZzcywiKiBdXSAmJiBjb250aW51ZTsKICAgICAgICAg
ICAgICAgIHBvaW50PSR7cG9pbnQvL1wwNDAvIH07CiAgICAgICAgICAgICAgICBbWyAhIC1kICR7
cG9pbnR9LyR7ZGlyfSBdXSAmJiBjb250aW51ZTsKICAgICAgICAgICAgICAgIFtbIC16ICQoZmlu
ZCAiJHtwb2ludH0vJHtkaXJ9IiAtbWF4ZGVwdGggMSAtaW5hbWUgIiR7ZmlsZX0iKSBdXSAmJiBj
b250aW51ZTsKICAgICAgICAgICAgICAgIGV4cG9ydCBDRFJPTV9ST09UPSR7cG9pbnR9OwogICAg
ICAgICAgICAgICAgZXhwb3J0IENEUk9NX1NFVD0ke2l9OwogICAgICAgICAgICAgICAgZXhwb3J0
IENEUk9NX01BVENIPSR7Y2RzZXRbJHtpfV19OwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAgICBkb25lIDw8PCAiJChnZXRfbW91bnRzKSI7CiAgICAgICAgICAgICgoKytpKSk7CiAg
ICAgICAgZG9uZTsKICAgICAgICBlY2hvOwogICAgICAgIGlmIFtbICR7c2hvd2VkbXNnfSAtZXEg
MCBdXTsgdGhlbgogICAgICAgICAgICBpZiBbWyAke0NEUk9NX1RPVEFMX0NEU30gLWVxIDEgXV07
IHRoZW4KICAgICAgICAgICAgICAgIGlmIFtbIC16ICR7Q0RST01fTkFNRX0gXV07IHRoZW4KICAg
ICAgICAgICAgICAgICAgICBlaW5mbyAiUGxlYXNlIGluc2VydCttb3VudCB0aGUgY2Ryb20gZm9y
ICR7UE59IG5vdyAhIjsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBl
aW5mbyAiUGxlYXNlIGluc2VydCttb3VudCB0aGUgJHtDRFJPTV9OQU1FfSBjZHJvbSBub3cgISI7
CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgaWYg
W1sgLXogJHtDRFJPTV9OQU1FXzF9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgZWluZm8g
IlBsZWFzZSBpbnNlcnQrbW91bnQgY2QgIyR7Q0RST01fQ1VSUkVOVF9DRH0gZm9yICR7UE59IG5v
dyAhIjsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBsb2NhbCB2YXI9
IkNEUk9NX05BTUVfJHtDRFJPTV9DVVJSRU5UX0NEfSI7CiAgICAgICAgICAgICAgICAgICAgZWlu
Zm8gIlBsZWFzZSBpbnNlcnQrbW91bnQgdGhlICR7IXZhcn0gY2Ryb20gbm93ICEiOwogICAgICAg
ICAgICAgICAgZmk7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBzaG93ZWRtc2c9MTsKICAg
ICAgICBmaTsKICAgICAgICBlaW5mbyAiUHJlc3MgcmV0dXJuIHRvIHNjYW4gZm9yIHRoZSBjZCBh
Z2FpbiI7CiAgICAgICAgZWluZm8gIm9yIGhpdCBDVFJMK0MgdG8gYWJvcnQgdGhlIGVtZXJnZS4i
OwogICAgICAgIGVjaG87CiAgICAgICAgaWYgW1sgJHtzaG93am9saWV0bXNnfSAtZXEgMCBdXTsg
dGhlbgogICAgICAgICAgICBzaG93am9saWV0bXNnPTE7CiAgICAgICAgZWxzZQogICAgICAgICAg
ICBld2FybiAiSWYgeW91IGFyZSBoYXZpbmcgdHJvdWJsZSB3aXRoIHRoZSBkZXRlY3Rpb24iOwog
ICAgICAgICAgICBld2FybiAib2YgeW91ciBDRCwgaXQgaXMgcG9zc2libGUgdGhhdCB5b3UgZG8g
bm90IGhhdmUiOwogICAgICAgICAgICBld2FybiAiSm9saWV0IHN1cHBvcnQgZW5hYmxlZCBpbiB5
b3VyIGtlcm5lbC4gIFBsZWFzZSI7CiAgICAgICAgICAgIGV3YXJuICJjaGVjayB0aGF0IENPTkZJ
R19KT0xJRVQgaXMgZW5hYmxlZCBpbiB5b3VyIGtlcm5lbC4iOwogICAgICAgICAgICBlYmVlcCA1
OwogICAgICAgIGZpOwogICAgICAgIHJlYWQgfHwgZGllICJzb21ldGhpbmcgaXMgc2NyZXdlZCB3
aXRoIHlvdXIgc3lzdGVtIjsKICAgIGRvbmUKfQpfZ2NjLWluc3RhbGwtZGlyICgpIAp7IAogICAg
ZWNobyAiJCgkKHRjLWdldENDKSAtcHJpbnQtc2VhcmNoLWRpcnMgMj4gL2Rldi9udWxsIHwJCWF3
ayAnJDE9PSJpbnN0YWxsOiIge3ByaW50ICQyfScpIgp9Cl9nY2Mtc3BlY3MtZGlyZWN0aXZlX3Jh
dyAoKSAKeyAKICAgIGxvY2FsIGNjPSQodGMtZ2V0Q0MpOwogICAgbG9jYWwgc3BlY2ZpbGVzPSQo
TENfQUxMPUMgJHtjY30gLXYgMj4mMSB8IGF3ayAnJDE9PSJSZWFkaW5nIiB7cHJpbnQgJE5GfScp
OwogICAgJHtjY30gLWR1bXBzcGVjcyAyPiAvZGV2L251bGwgfCBjYXQgLSAke3NwZWNmaWxlc30g
fCBhd2sgLXYgZGlyZWN0aXZlPSQxICdCRUdJTgl7IHBzcGVjPSIiOyBzcGVjPSIiOyBvdXRzaWRl
PTEgfQokMT09IioiZGlyZWN0aXZlIjoiICB7IHBzcGVjPXNwZWM7IHNwZWM9IiI7IG91dHNpZGU9
MDsgbmV4dCB9CglvdXRzaWRlIHx8IE5GPT0wIHx8ICggc3Vic3RyKCQxLDEsMSk9PSIqIiAmJiBz
dWJzdHIoJDEsbGVuZ3RoKCQxKSwxKT09IjoiICkgeyBvdXRzaWRlPTE7IG5leHQgfQoJc3BlYz09
IiIgJiYgc3Vic3RyKCQwLDEsMSk9PSIrIiB7IHNwZWM9cHNwZWMgIiAiIHN1YnN0cigkMCwyKTsg
bmV4dCB9Cgl7IHNwZWM9c3BlYyAkMCB9CkVORAl7IHByaW50IHNwZWMgfSc7CiAgICByZXR1cm4g
MAp9Cl9nY2Mtc3BlY3MtZXhpc3RzICgpIAp7IAogICAgW1sgLWYgJChfZ2NjLWluc3RhbGwtZGly
KS8kMSBdXQp9CmJhc2Vfc3JjX2NvbXBpbGUgKCkgCnsgCiAgICBkZWJ1Zy1wcmludC1mdW5jdGlv
biAkRlVOQ05BTUUgJCo7CiAgICBbIC16ICIkMSIgXSAmJiBiYXNlX3NyY19jb21waWxlIGFsbDsK
ICAgIGNkICIke1N9IjsKICAgIHdoaWxlIFsgIiQxIiBdOyBkbwogICAgICAgIGNhc2UgJDEgaW4g
CiAgICAgICAgICAgIGNvbmZpZ3VyZSkKICAgICAgICAgICAgICAgIGRlYnVnLXByaW50LXNlY3Rp
b24gY29uZmlndXJlOwogICAgICAgICAgICAgICAgZWNvbmYgfHwgZGllICJkaWVkIHJ1bm5pbmcg
ZWNvbmYsICRGVU5DTkFNRTpjb25maWd1cmUiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIG1h
a2UpCiAgICAgICAgICAgICAgICBkZWJ1Zy1wcmludC1zZWN0aW9uIG1ha2U7CiAgICAgICAgICAg
ICAgICBlbWFrZSB8fCBkaWUgImRpZWQgcnVubmluZyBlbWFrZSwgJEZVTkNOQU1FOm1ha2UiCiAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgIGFsbCkKICAgICAgICAgICAgICAgIGRlYnVnLXByaW50
LXNlY3Rpb24gYWxsOwogICAgICAgICAgICAgICAgYmFzZV9zcmNfY29tcGlsZSBjb25maWd1cmUg
bWFrZQogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7CiAgICAgICAgc2hpZnQ7CiAgICBkb25l
Cn0KYmFzZV9zcmNfaW5zdGFsbCAoKSAKeyAKICAgIGRlYnVnLXByaW50LWZ1bmN0aW9uICRGVU5D
TkFNRSAkKjsKICAgIFsgLXogIiQxIiBdICYmIGJhc2Vfc3JjX2luc3RhbGwgYWxsOwogICAgY2Qg
IiR7U30iOwogICAgd2hpbGUgWyAiJDEiIF07IGRvCiAgICAgICAgY2FzZSAkMSBpbiAKICAgICAg
ICAgICAgbWFrZSkKICAgICAgICAgICAgICAgIGRlYnVnLXByaW50LXNlY3Rpb24gbWFrZTsKICAg
ICAgICAgICAgICAgIG1ha2UgREVTVERJUj0iJHtEfSIgaW5zdGFsbCB8fCBkaWUgImRpZWQgcnVu
bmluZyBtYWtlIGluc3RhbGwsICRGVU5DTkFNRTptYWtlIgogICAgICAgICAgICA7OwogICAgICAg
ICAgICBhbGwpCiAgICAgICAgICAgICAgICBkZWJ1Zy1wcmludC1zZWN0aW9uIGFsbDsKICAgICAg
ICAgICAgICAgIGJhc2Vfc3JjX2luc3RhbGwgbWFrZQogICAgICAgICAgICA7OwogICAgICAgIGVz
YWM7CiAgICAgICAgc2hpZnQ7CiAgICBkb25lCn0KYmFzZV9zcmNfdW5wYWNrICgpIAp7IAogICAg
ZGVidWctcHJpbnQtZnVuY3Rpb24gJEZVTkNOQU1FICQqOwogICAgWyAteiAiJDEiIF0gJiYgYmFz
ZV9zcmNfdW5wYWNrIGFsbDsKICAgIGNkICIke1dPUktESVJ9IjsKICAgIHdoaWxlIFsgIiQxIiBd
OyBkbwogICAgICAgIGNhc2UgJDEgaW4gCiAgICAgICAgICAgIHVucGFjaykKICAgICAgICAgICAg
ICAgIGRlYnVnLXByaW50LXNlY3Rpb24gdW5wYWNrOwogICAgICAgICAgICAgICAgdW5wYWNrICR7
QX0KICAgICAgICAgICAgOzsKICAgICAgICAgICAgcGF0Y2gpCiAgICAgICAgICAgICAgICBkZWJ1
Zy1wcmludC1zZWN0aW9uIHBhdGNoOwogICAgICAgICAgICAgICAgY2QgIiR7U30iOwogICAgICAg
ICAgICAgICAgZXBhdGNoICIke0ZJTEVTRElSfS8ke1B9LWdlbnRvby5kaWZmIgogICAgICAgICAg
ICA7OwogICAgICAgICAgICBhdXRvcGF0Y2gpCiAgICAgICAgICAgICAgICBkZWJ1Zy1wcmludC1z
ZWN0aW9uIGF1dG9wYXRjaDsKICAgICAgICAgICAgICAgIGRlYnVnLXByaW50ICIkRlVOQ05BTUU6
IGF1dG9wYXRjaDogUEFUQ0hFUz0kUEFUQ0hFUywgUEFUQ0hFUzE9JFBBVENIRVMxIjsKICAgICAg
ICAgICAgICAgIGNkICIke1N9IjsKICAgICAgICAgICAgICAgIGlmIFtbICR7I1BBVENIRVNbQF19
IC1ndCAxIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgZm9yIHggaW4gIiR7UEFUQ0hFU1tA
XX0iOwogICAgICAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICAgICAgICAgIGRlYnVn
LXByaW50ICIkRlVOQ05BTUU6IGF1dG9wYXRjaDogcGF0Y2hpbmcgZnJvbSAke3h9IjsKICAgICAg
ICAgICAgICAgICAgICAgICAgZXBhdGNoICIke3h9IjsKICAgICAgICAgICAgICAgICAgICBkb25l
OwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGZvciB4IGluICR7UEFU
Q0hFU30gJHtQQVRDSEVTMX07CiAgICAgICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAg
ICAgICAgICAgZGVidWctcHJpbnQgIiRGVU5DTkFNRTogYXV0b3BhdGNoOiBwYXRjaGluZyBmcm9t
ICR7eH0iOwogICAgICAgICAgICAgICAgICAgICAgICBlcGF0Y2ggIiR7eH0iOwogICAgICAgICAg
ICAgICAgICAgIGRvbmU7CiAgICAgICAgICAgICAgICBmaQogICAgICAgICAgICA7OwogICAgICAg
ICAgICBhbGwpCiAgICAgICAgICAgICAgICBkZWJ1Zy1wcmludC1zZWN0aW9uIGFsbDsKICAgICAg
ICAgICAgICAgIGJhc2Vfc3JjX3VucGFjayB1bnBhY2sgYXV0b3BhdGNoCiAgICAgICAgICAgIDs7
CiAgICAgICAgZXNhYzsKICAgICAgICBzaGlmdDsKICAgIGRvbmUKfQpidWlsdF93aXRoX3VzZSAo
KSAKeyAKICAgIGxvY2FsIGhpZGRlbj0ibm8iOwogICAgaWYgW1sgJDEgPT0gIi0taGlkZGVuIiBd
XTsgdGhlbgogICAgICAgIGhpZGRlbj0ieWVzIjsKICAgICAgICBzaGlmdDsKICAgIGZpOwogICAg
bG9jYWwgbWlzc2luZ19hY3Rpb249ImRpZSI7CiAgICBpZiBbWyAkMSA9PSAiLS1taXNzaW5nIiBd
XTsgdGhlbgogICAgICAgIG1pc3NpbmdfYWN0aW9uPSQyOwogICAgICAgIHNoaWZ0OwogICAgICAg
IHNoaWZ0OwogICAgICAgIGNhc2UgJHttaXNzaW5nX2FjdGlvbn0gaW4gCiAgICAgICAgICAgIHRy
dWUgfCBmYWxzZSB8IGRpZSkKCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICopCiAgICAgICAg
ICAgICAgICBkaWUgInVua25vd24gYWN0aW9uICcke21pc3NpbmdfYWN0aW9ufSciCiAgICAgICAg
ICAgIDs7CiAgICAgICAgZXNhYzsKICAgIGZpOwogICAgbG9jYWwgb3B0PSQxOwogICAgW1sgJHtv
cHQ6MDoxfSA9ICItIiBdXSAmJiBzaGlmdCB8fCBvcHQ9Ii1hIjsKICAgIGxvY2FsIFBLRz0kKGJl
c3RfdmVyc2lvbiAkMSk7CiAgICBbWyAteiAke1BLR30gXV0gJiYgZGllICJVbmFibGUgdG8gcmVz
b2x2ZSAkMSB0byBhbiBpbnN0YWxsZWQgcGFja2FnZSI7CiAgICBzaGlmdDsKICAgIGxvY2FsIFVT
RUZJTEU9JHtST09UfS92YXIvZGIvcGtnLyR7UEtHfS9VU0U7CiAgICBsb2NhbCBJVVNFRklMRT0k
e1JPT1R9L3Zhci9kYi9wa2cvJHtQS0d9L0lVU0U7CiAgICBpZiBbWyAhIC1lICR7VVNFRklMRX0g
XV0gfHwgW1sgISAtZSAke0lVU0VGSUxFfSAmJiAke2hpZGRlbn0gPT0gIm5vIiBdXTsgdGhlbgog
ICAgICAgIGNhc2UgJHttaXNzaW5nX2FjdGlvbn0gaW4gCiAgICAgICAgICAgIHRydWUpCiAgICAg
ICAgICAgICAgICByZXR1cm4gMAogICAgICAgICAgICA7OwogICAgICAgICAgICBmYWxzZSkKICAg
ICAgICAgICAgICAgIHJldHVybiAxCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGRpZSkKICAg
ICAgICAgICAgICAgIGRpZSAiVW5hYmxlIHRvIGRldGVybWluZSB3aGF0IFVTRSBmbGFncyAkUEtH
IHdhcyBidWlsdCB3aXRoIgogICAgICAgICAgICA7OwogICAgICAgIGVzYWM7CiAgICBmaTsKICAg
IGlmIFtbICR7aGlkZGVufSA9PSAibm8iIF1dOyB0aGVuCiAgICAgICAgbG9jYWwgSVVTRV9CVUlM
VD0oJCg8IiR7SVVTRUZJTEV9IikpOwogICAgICAgIGxvY2FsIGV4cGFuZDsKICAgICAgICBmb3Ig
ZXhwYW5kIGluICQoZWNobyAke1VTRV9FWFBBTkR9IHwgdHIgJ1s6dXBwZXI6XScgJ1s6bG93ZXI6
XScpOwogICAgICAgIGRvCiAgICAgICAgICAgIGlmIFtbICQxID09ICR7ZXhwYW5kfV8qIF1dOyB0
aGVuCiAgICAgICAgICAgICAgICBleHBhbmQ9IiI7CiAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgICAgICBpZiBbWyAtbiAke2V4cGFuZH0gXV07
IHRoZW4KICAgICAgICAgICAgaWYgISBoYXMgJDEgJHtJVVNFX0JVSUxUW0BdI1stK119OyB0aGVu
CiAgICAgICAgICAgICAgICBjYXNlICR7bWlzc2luZ19hY3Rpb259IGluIAogICAgICAgICAgICAg
ICAgICAgIHRydWUpCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAwCiAgICAgICAgICAg
ICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBmYWxzZSkKICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIDEKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg
IGRpZSkKICAgICAgICAgICAgICAgICAgICAgICAgZGllICIkUEtHIGRvZXMgbm90IGFjdHVhbGx5
IHN1cHBvcnQgdGhlICQxIFVTRSBmbGFnISIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAg
ICAgICAgICAgZXNhYzsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAgICBmaTsKICAgIGxv
Y2FsIFVTRV9CVUlMVD0kKDwke1VTRUZJTEV9KTsKICAgIHdoaWxlIFtbICQjIC1ndCAwIF1dOyBk
bwogICAgICAgIGlmIFtbICR7b3B0fSA9ICItbyIgXV07IHRoZW4KICAgICAgICAgICAgaGFzICQx
ICR7VVNFX0JVSUxUfSAmJiByZXR1cm4gMDsKICAgICAgICBlbHNlCiAgICAgICAgICAgIGhhcyAk
MSAke1VTRV9CVUlMVH0gfHwgcmV0dXJuIDE7CiAgICAgICAgZmk7CiAgICAgICAgc2hpZnQ7CiAg
ICBkb25lOwogICAgW1sgJHtvcHR9ID0gIi1hIiBdXQp9CmNkcm9tX2dldF9jZHMgKCkgCnsgCiAg
ICBsb2NhbCBjZGNudD0wOwogICAgbG9jYWwgZj07CiAgICBmb3IgZiBpbiAiJEAiOwogICAgZG8K
ICAgICAgICAoKCsrY2RjbnQpKTsKICAgICAgICBleHBvcnQgQ0RST01fQ0hFQ0tfJHtjZGNudH09
IiRmIjsKICAgIGRvbmU7CiAgICBleHBvcnQgQ0RST01fVE9UQUxfQ0RTPSR7Y2RjbnR9OwogICAg
ZXhwb3J0IENEUk9NX0NVUlJFTlRfQ0Q9MTsKICAgIGlmIFtbIC1uICR7Q0RfUk9PVH0ke0NEX1JP
T1RfMX0gXV07IHRoZW4KICAgICAgICBsb2NhbCB2YXI9OwogICAgICAgIGNkY250PTA7CiAgICAg
ICAgd2hpbGUgW1sgJHtjZGNudH0gLWx0ICR7Q0RST01fVE9UQUxfQ0RTfSBdXTsgZG8KICAgICAg
ICAgICAgKCgrK2NkY250KSk7CiAgICAgICAgICAgIHZhcj0iQ0RfUk9PVF8ke2NkY250fSI7CiAg
ICAgICAgICAgIFtbIC16ICR7IXZhcn0gXV0gJiYgdmFyPSJDRF9ST09UIjsKICAgICAgICAgICAg
aWYgW1sgLXogJHshdmFyfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZWVycm9yICJZb3UgbXVz
dCBlaXRoZXIgdXNlIGp1c3QgdGhlIENEX1JPT1QiOwogICAgICAgICAgICAgICAgZWVycm9yICJv
ciBzcGVjaWZ5IEFMTCB0aGUgQ0RfUk9PVF9YIHZhcmlhYmxlcy4iOwogICAgICAgICAgICAgICAg
ZWVycm9yICJJbiB0aGlzIGNhc2UsIHlvdSB3aWxsIG5lZWQgJHtDRFJPTV9UT1RBTF9DRFN9IENE
X1JPT1RfWCB2YXJpYWJsZXMuIjsKICAgICAgICAgICAgICAgIGRpZSAiY291bGQgbm90IGxvY2F0
ZSBDRF9ST09UXyR7Y2RjbnR9IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgICAg
ICBleHBvcnQgQ0RST01fUk9PVD0ke0NEX1JPT1RfMTotJHtDRF9ST09UfX07CiAgICAgICAgZWlu
Zm8gIkZvdW5kIENEICMke0NEUk9NX0NVUlJFTlRfQ0R9IHJvb3QgYXQgJHtDRFJPTV9ST09UfSI7
CiAgICAgICAgZXhwb3J0IENEUk9NX1NFVD0tMTsKICAgICAgICBmb3IgZiBpbiAke0NEUk9NX0NI
RUNLXzEvLzovIH07CiAgICAgICAgZG8KICAgICAgICAgICAgKCgrK0NEUk9NX1NFVCkpOwogICAg
ICAgICAgICBbWyAtZSAke0NEX1JPT1R9LyR7Zn0gXV0gJiYgYnJlYWs7CiAgICAgICAgZG9uZTsK
ICAgICAgICBleHBvcnQgQ0RST01fTUFUQ0g9JHtmfTsKICAgICAgICByZXR1cm47CiAgICBmaTsK
ICAgIGlmIFtbICR7Q0RST01fVE9UQUxfQ0RTfSAtZXEgMSBdXTsgdGhlbgogICAgICAgIGVpbmZv
ICJUaGlzIGVidWlsZCB3aWxsIG5lZWQgdGhlICR7Q0RST01fTkFNRTotY2Ryb20gZm9yICR7UE59
fSI7CiAgICAgICAgZWNobzsKICAgICAgICBlaW5mbyAiSWYgeW91IGRvIG5vdCBoYXZlIHRoZSBD
RCwgYnV0IGhhdmUgdGhlIGRhdGEgZmlsZXMiOwogICAgICAgIGVpbmZvICJtb3VudGVkIHNvbWV3
aGVyZSBvbiB5b3VyIGZpbGVzeXN0ZW0sIGp1c3QgZXhwb3J0IjsKICAgICAgICBlaW5mbyAidGhl
IHZhcmlhYmxlIENEX1JPT1Qgc28gdGhhdCBpdCBwb2ludHMgdG8gdGhlIjsKICAgICAgICBlaW5m
byAiZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGZpbGVzLiI7CiAgICAgICAgZWNobzsKICAgICAg
ICBlaW5mbyAiRm9yIGV4YW1wbGU6IjsKICAgICAgICBlaW5mbyAiZXhwb3J0IENEX1JPT1Q9L21u
dC9jZHJvbSI7CiAgICAgICAgZWNobzsKICAgIGVsc2UKICAgICAgICBpZiBbWyAtbiAke0NEUk9N
X05BTUVfU0VUfSBdXTsgdGhlbgogICAgICAgICAgICBjZGNudD0wOwogICAgICAgICAgICB3aGls
ZSBbWyAke2NkY250fSAtbHQgJHtDRFJPTV9UT1RBTF9DRFN9IF1dOyBkbwogICAgICAgICAgICAg
ICAgKCgrK2NkY250KSk7CiAgICAgICAgICAgICAgICBleHBvcnQgQ0RST01fTkFNRV8ke2NkY250
fT0iJHtDRFJPTV9OQU1FX1NFVFskKCgke2NkY250fS0xKSldfSI7CiAgICAgICAgICAgIGRvbmU7
CiAgICAgICAgZmk7CiAgICAgICAgZWluZm8gIlRoaXMgcGFja2FnZSB3aWxsIG5lZWQgYWNjZXNz
IHRvICR7Q0RST01fVE9UQUxfQ0RTfSBjZHMuIjsKICAgICAgICBjZGNudD0wOwogICAgICAgIHdo
aWxlIFtbICR7Y2RjbnR9IC1sdCAke0NEUk9NX1RPVEFMX0NEU30gXV07IGRvCiAgICAgICAgICAg
ICgoKytjZGNudCkpOwogICAgICAgICAgICB2YXI9IkNEUk9NX05BTUVfJHtjZGNudH0iOwogICAg
ICAgICAgICBbWyAhIC16ICR7IXZhcn0gXV0gJiYgZWluZm8gIiBDRCAke2NkY250fTogJHshdmFy
fSI7CiAgICAgICAgZG9uZTsKICAgICAgICBlY2hvOwogICAgICAgIGVpbmZvICJJZiB5b3UgZG8g
bm90IGhhdmUgdGhlIENEcywgYnV0IGhhdmUgdGhlIGRhdGEgZmlsZXMiOwogICAgICAgIGVpbmZv
ICJtb3VudGVkIHNvbWV3aGVyZSBvbiB5b3VyIGZpbGVzeXN0ZW0sIGp1c3QgZXhwb3J0IjsKICAg
ICAgICBlaW5mbyAidGhlIGZvbGxvd2luZyB2YXJpYWJsZXMgc28gdGhleSBwb2ludCB0byB0aGUg
cmlnaHQgcGxhY2U6IjsKICAgICAgICBlaW5mb24gIiI7CiAgICAgICAgY2RjbnQ9MDsKICAgICAg
ICB3aGlsZSBbWyAke2NkY250fSAtbHQgJHtDRFJPTV9UT1RBTF9DRFN9IF1dOyBkbwogICAgICAg
ICAgICAoKCsrY2RjbnQpKTsKICAgICAgICAgICAgZWNobyAtbiAiIENEX1JPT1RfJHtjZGNudH0i
OwogICAgICAgIGRvbmU7CiAgICAgICAgZWNobzsKICAgICAgICBlaW5mbyAiT3IsIGlmIHlvdSBo
YXZlIGFsbCB0aGUgZmlsZXMgaW4gdGhlIHNhbWUgcGxhY2UsIG9yIjsKICAgICAgICBlaW5mbyAi
eW91IG9ubHkgaGF2ZSBvbmUgY2Ryb20sIHlvdSBjYW4gZXhwb3J0IENEX1JPT1QiOwogICAgICAg
IGVpbmZvICJhbmQgdGhhdCBwbGFjZSB3aWxsIGJlIHVzZWQgYXMgdGhlIHNhbWUgZGF0YSBzb3Vy
Y2UiOwogICAgICAgIGVpbmZvICJmb3IgYWxsIHRoZSBDRHMuIjsKICAgICAgICBlY2hvOwogICAg
ICAgIGVpbmZvICJGb3IgZXhhbXBsZToiOwogICAgICAgIGVpbmZvICJleHBvcnQgQ0RfUk9PVF8x
PS9tbnQvY2Ryb20iOwogICAgICAgIGVjaG87CiAgICBmaTsKICAgIGV4cG9ydCBDRFJPTV9TRVQ9
IiI7CiAgICBleHBvcnQgQ0RST01fQ1VSUkVOVF9DRD0wOwogICAgY2Ryb21fbG9hZF9uZXh0X2Nk
Cn0KY2Ryb21fbG9hZF9uZXh0X2NkICgpIAp7IAogICAgbG9jYWwgdmFyOwogICAgKCgrK0NEUk9N
X0NVUlJFTlRfQ0QpKTsKICAgIHVuc2V0IENEUk9NX1JPT1Q7CiAgICB2YXI9Q0RfUk9PVF8ke0NE
Uk9NX0NVUlJFTlRfQ0R9OwogICAgW1sgLXogJHshdmFyfSBdXSAmJiB2YXI9IkNEX1JPT1QiOwog
ICAgaWYgW1sgLXogJHshdmFyfSBdXTsgdGhlbgogICAgICAgIHZhcj0iQ0RST01fQ0hFQ0tfJHtD
RFJPTV9DVVJSRU5UX0NEfSI7CiAgICAgICAgX2Nkcm9tX2xvY2F0ZV9maWxlX29uX2NkICR7IXZh
cn07CiAgICBlbHNlCiAgICAgICAgZXhwb3J0IENEUk9NX1JPT1Q9JHshdmFyfTsKICAgIGZpOwog
ICAgZWluZm8gIkZvdW5kIENEICMke0NEUk9NX0NVUlJFTlRfQ0R9IHJvb3QgYXQgJHtDRFJPTV9S
T09UfSIKfQpjaGVja19saWNlbnNlICgpIAp7IAogICAgbG9jYWwgbGljPSQxOwogICAgaWYgWyAt
eiAiJHtsaWN9IiBdOyB0aGVuCiAgICAgICAgbGljPSIke1BPUlRESVJ9L2xpY2Vuc2VzLyR7TElD
RU5TRX0iOwogICAgZWxzZQogICAgICAgIGlmIFsgLWUgIiR7UE9SVERJUn0vbGljZW5zZXMvJHts
aWN9IiBdOyB0aGVuCiAgICAgICAgICAgIGxpYz0iJHtQT1JURElSfS9saWNlbnNlcy8ke2xpY30i
OwogICAgICAgIGVsc2UKICAgICAgICAgICAgaWYgWyAtZSAiJHtQV0R9LyR7bGljfSIgXTsgdGhl
bgogICAgICAgICAgICAgICAgbGljPSIke1BXRH0vJHtsaWN9IjsKICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgaWYgWyAtZSAiJHtsaWN9IiBdOyB0aGVuCiAgICAgICAgICAgICAgICAg
ICAgbGljPSIke2xpY30iOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGZpOwogICAg
ICAgIGZpOwogICAgZmk7CiAgICBbICEgLWYgIiR7bGljfSIgXSAmJiBkaWUgIkNvdWxkIG5vdCBm
aW5kIHJlcXVlc3RlZCBsaWNlbnNlICR7bGljfSI7CiAgICBsb2NhbCBsPSJgYmFzZW5hbWUgJHts
aWN9YCI7CiAgICBsb2NhbCBzaG9wdHM9JC07CiAgICBsb2NhbCBhbGljOwogICAgc2V0IC1vIG5v
Z2xvYjsKICAgIGZvciBhbGljIGluICR7QUNDRVBUX0xJQ0VOU0V9OwogICAgZG8KICAgICAgICBp
ZiBbWyAke2FsaWN9ID09ICR7bH0gXV07IHRoZW4KICAgICAgICAgICAgc2V0ICtvIG5vZ2xvYjsK
ICAgICAgICAgICAgc2V0IC0ke3Nob3B0c307CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAg
IGZpOwogICAgZG9uZTsKICAgIHNldCArbyBub2dsb2I7CiAgICBzZXQgLSRzaG9wdHM7CiAgICBs
b2NhbCBsaWNtc2c9JChlbWt0ZW1wKTsKICAgIGNhdCA+ICR7bGljbXNnfSAgPDwtRU9GCioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKVGhl
IGZvbGxvd2luZyBsaWNlbnNlIG91dGxpbmVzIHRoZSB0ZXJtcyBvZiB1c2Ugb2YgdGhpcwpwYWNr
YWdlLiAgWW91IE1VU1QgYWNjZXB0IHRoaXMgbGljZW5zZSBmb3IgaW5zdGFsbGF0aW9uIHRvCmNv
bnRpbnVlLiAgV2hlbiB5b3UgYXJlIGRvbmUgdmlld2luZywgaGl0ICdxJy4JSWYgeW91CkNUUkwr
QyBvdXQgb2YgdGhpcywgdGhlIGluc3RhbGwgd2lsbCBub3QgcnVuIQoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgpFT0YKCiAgICBjYXQg
JHtsaWN9ID4+ICR7bGljbXNnfTsKICAgICR7UEFHRVI6LWxlc3N9ICR7bGljbXNnfSB8fCBkaWUg
IkNvdWxkIG5vdCBleGVjdXRlIHBhZ2VyICgke1BBR0VSfSkgdG8gYWNjZXB0ICR7bGljfSI7CiAg
ICBlaW5mb24gIkRvIHlvdSBhY2NlcHQgdGhlIHRlcm1zIG9mIHRoaXMgbGljZW5zZSAoJHtsfSk/
IFt5ZXMvbm9dICI7CiAgICByZWFkIGFsaWM7CiAgICBjYXNlICR7YWxpY30gaW4gCiAgICAgICAg
eWVzIHwgWWVzIHwgeSB8IFkpCiAgICAgICAgICAgIHJldHVybiAwCiAgICAgICAgOzsKICAgICAg
ICAqKQogICAgICAgICAgICBlY2hvOwogICAgICAgICAgICBlY2hvOwogICAgICAgICAgICBlY2hv
OwogICAgICAgICAgICBlZXJyb3IgIllvdSBNVVNUIGFjY2VwdCB0aGUgbGljZW5zZSB0byBjb250
aW51ZSEgIEV4aXRpbmchIjsKICAgICAgICAgICAgZGllICJGYWlsZWQgdG8gYWNjZXB0IGxpY2Vu
c2UiCiAgICAgICAgOzsKICAgIGVzYWMKfQpjcmVhdGVfbWxfaW5jbHVkZXMgKCkgCnsgCiAgICBs
b2NhbCBkZXN0PSQxOwogICAgc2hpZnQ7CiAgICBsb2NhbCBiYXNlZGlycz0kKGNyZWF0ZV9tbF9p
bmNsdWRlcy1saXN0ZGlycyAiJEAiKTsKICAgIGNyZWF0ZV9tbF9pbmNsdWRlcy1tYWtlZGVzdGRp
cnMgJHtkZXN0fSAke2Jhc2VkaXJzfTsKICAgIGxvY2FsIGZpbGU7CiAgICBmb3IgZmlsZSBpbiAk
KGNyZWF0ZV9tbF9pbmNsdWRlcy1hbGxmaWxlcyAke2Jhc2VkaXJzfSk7CiAgICBkbwogICAgICAg
ICggZWNobyAiLyogQXV0b2dlbmVyYXRlZCBieSBjcmVhdGVfbWxfaW5jbHVkZXMoKSBpbiBtdWx0
aWxpYi5lY2xhc3MgKi8iOwogICAgICAgIGxvY2FsIGRpcjsKICAgICAgICBmb3IgZGlyIGluICR7
YmFzZWRpcnN9OwogICAgICAgIGRvCiAgICAgICAgICAgIGlmIFtbIC1mICR7RH0vJHtkaXJ9LyR7
ZmlsZX0gXV07IHRoZW4KICAgICAgICAgICAgICAgIGVjaG8gIiI7CiAgICAgICAgICAgICAgICBs
b2NhbCBzeW09JChjcmVhdGVfbWxfaW5jbHVkZXMtc3ltX2Zvcl9kaXIgJHtkaXJ9ICIkQCIpOwog
ICAgICAgICAgICAgICAgaWYgW1sgJHtzeW0vPX0gIT0gIiR7c3ltfSIgXV07IHRoZW4KICAgICAg
ICAgICAgICAgICAgICBlY2hvICIjaWYgJHtzeW19IjsKICAgICAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgICAgICBpZiBbWyAke3N5bTo6MX0gPT0gIiEiIF1dOyB0aGVuCiAgICAgICAg
ICAgICAgICAgICAgICAgIGVjaG8gIiNpZm5kZWYgJHtzeW06MX0iOwogICAgICAgICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgZWNobyAiI2lmZGVmICR7c3ltfSI7CiAg
ICAgICAgICAgICAgICAgICAgZmk7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAg
IGVjaG8gIiMgaW5jbHVkZSA8JChjcmVhdGVfbWxfaW5jbHVkZXMtYWJzb2x1dGUgJHtkaXJ9LyR7
ZmlsZX0pPiI7CiAgICAgICAgICAgICAgICBlY2hvICIjZW5kaWYgLyogJHtzeW19ICovIjsKICAg
ICAgICAgICAgZmk7CiAgICAgICAgZG9uZSApID4gIiR7RH0vJHtkZXN0fS8ke2ZpbGV9IjsKICAg
IGRvbmUKfQpjcmVhdGVfbWxfaW5jbHVkZXMtYWJzb2x1dGUgKCkgCnsgCiAgICBsb2NhbCBkc3Q9
IiQoY3JlYXRlX21sX2luY2x1ZGVzLXRpZHlfcGF0aCAkMSkiOwogICAgZHN0PSgke2RzdC8vXC8v
IH0pOwogICAgbG9jYWwgaTsKICAgIGZvciAoKGk9MDsgaTwkeyNkc3RbKl19OyBpKyspKQogICAg
ZG8KICAgICAgICBbICIke2RzdFtpXX0iID09ICJpbmNsdWRlIiBdICYmIGJyZWFrOwogICAgZG9u
ZTsKICAgIGxvY2FsIHN0cmlwX3VwdG89JGk7CiAgICBmb3IgKChpPXN0cmlwX3VwdG8rMTsgaTwk
eyNkc3RbKl19LTE7IGkrKykpCiAgICBkbwogICAgICAgIGVjaG8gLW4gJHtkc3RbaV19LzsKICAg
IGRvbmU7CiAgICBlY2hvIC1uICR7ZHN0W2ldfQp9CmNyZWF0ZV9tbF9pbmNsdWRlcy1hbGxmaWxl
cyAoKSAKeyAKICAgIGxvY2FsIGJhc2VkaXIgZmlsZTsKICAgIGZvciBiYXNlZGlyIGluICIkQCI7
CiAgICBkbwogICAgICAgIGZvciBmaWxlIGluICQoZmluZCAiJHtEfSIvJHtiYXNlZGlyfSAtdHlw
ZSBmKTsKICAgICAgICBkbwogICAgICAgICAgICBlY2hvICR7ZmlsZS8ke0R9XC8ke2Jhc2VkaXJ9
XC8vfTsKICAgICAgICBkb25lOwogICAgZG9uZSB8IHNvcnQgfCB1bmlxCn0KY3JlYXRlX21sX2lu
Y2x1ZGVzLWxpc3RkaXJzICgpIAp7IAogICAgbG9jYWwgZGlyczsKICAgIGxvY2FsIGRhdGE7CiAg
ICBmb3IgZGF0YSBpbiAiJEAiOwogICAgZG8KICAgICAgICBkaXJzPSIke2RpcnN9ICR7ZGF0YS8q
Oi99IjsKICAgIGRvbmU7CiAgICBlY2hvICR7ZGlyczoxfQp9CmNyZWF0ZV9tbF9pbmNsdWRlcy1t
YWtlZGVzdGRpcnMgKCkgCnsgCiAgICBsb2NhbCBkZXN0PSQxOwogICAgc2hpZnQ7CiAgICBsb2Nh
bCBiYXNlZGlycz0kQDsKICAgIGRvZGlyICR7ZGVzdH07CiAgICBsb2NhbCBiYXNlZGlyOwogICAg
Zm9yIGJhc2VkaXIgaW4gJHtiYXNlZGlyc307CiAgICBkbwogICAgICAgIGxvY2FsIGRpcjsKICAg
ICAgICBmb3IgZGlyIGluICQoZmluZCAke0R9LyR7YmFzZWRpcn0gLXR5cGUgZCk7CiAgICAgICAg
ZG8KICAgICAgICAgICAgZG9kaXIgJHtkZXN0fS8ke2Rpci8ke0R9XC8ke2Jhc2VkaXJ9L307CiAg
ICAgICAgZG9uZTsKICAgIGRvbmUKfQpjcmVhdGVfbWxfaW5jbHVkZXMtc3ltX2Zvcl9kaXIgKCkg
CnsgCiAgICBsb2NhbCBkaXI9JDE7CiAgICBzaGlmdDsKICAgIGxvY2FsIGRhdGE7CiAgICBmb3Ig
ZGF0YSBpbiAiJEAiOwogICAgZG8KICAgICAgICBpZiBbWyAke2RhdGF9ID09ICo6JHtkaXJ9IF1d
OyB0aGVuCiAgICAgICAgICAgIGVjaG8gJHtkYXRhLzoqL307CiAgICAgICAgICAgIHJldHVybiAw
OwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGVjaG8gIlNob3VsZG4ndCBiZSBoZXJlIC0tIGNy
ZWF0ZV9tbF9pbmNsdWRlcy1zeW1fZm9yX2RpciAkMSAkQCI7CiAgICBleGl0IDEKfQpjcmVhdGVf
bWxfaW5jbHVkZXMtdGlkeV9wYXRoICgpIAp7IAogICAgbG9jYWwgcmVtb3ZlZD0kMTsKICAgIGlm
IFsgLW4gIiR7cmVtb3ZlZH0iIF07IHRoZW4KICAgICAgICB3aGlsZSBbICIke3JlbW92ZWR9IiAh
PSAiJHtyZW1vdmVkL1wvXC8vXC99IiBdOyBkbwogICAgICAgICAgICByZW1vdmVkPSR7cmVtb3Zl
ZC9cL1wvL1wvfTsKICAgICAgICBkb25lOwogICAgICAgIHdoaWxlIFsgIiR7cmVtb3ZlZH0iICE9
ICIke3JlbW92ZWQvL1wvLlwvL1wvfSIgXTsgZG8KICAgICAgICAgICAgcmVtb3ZlZD0ke3JlbW92
ZWQvL1wvLlwvL1wvfTsKICAgICAgICBkb25lOwogICAgICAgIFsgIiR7cmVtb3ZlZCMjKi99IiA9
ICIuIiBdICYmIHJlbW92ZWQ9JHtyZW1vdmVkJS8qfTsKICAgICAgICB3aGlsZSBbICIke3JlbW92
ZWR9IiAhPSAiJHtyZW1vdmVkLy9cLy4uXC99IiBdOyBkbwogICAgICAgICAgICBsb2NhbCBwMT0i
JHtyZW1vdmVkJSVcLy4uXC8qfSI7CiAgICAgICAgICAgIGxvY2FsIHAyPSIke3JlbW92ZWQjKlwv
Li5cL30iOwogICAgICAgICAgICByZW1vdmVkPSIke3AxJVwvKn0vJHtwMn0iOwogICAgICAgIGRv
bmU7CiAgICAgICAgWyAiJHtyZW1vdmVkIyMqL30iID0gIi4uIiBdICYmIHJlbW92ZWQ9JHtyZW1v
dmVkJS8qLyp9OwogICAgICAgIFsgIiR7cmVtb3ZlZCMjKi99IiA9ICIiIF0gJiYgcmVtb3ZlZD0k
e3JlbW92ZWQlLyp9OwogICAgICAgIGVjaG8gJHtyZW1vdmVkfTsKICAgIGZpCn0KZGVsZXRlX2Fs
bF92ZXJzaW9uX3NlcGFyYXRvcnMgKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2ds
ZSBvbjsKICAgIHJlcGxhY2VfYWxsX3ZlcnNpb25fc2VwYXJhdG9ycyAiIiAiJHsxfSI7CiAgICBf
X3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYKfQpkZWxldGVfdmVyc2lvbl9zZXBhcmF0b3Ig
KCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvbjsKICAgIHJlcGxhY2VfdmVy
c2lvbl9zZXBhcmF0b3IgIiR7MX0iICIiICIkezJ9IjsKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRf
dG9nZ2xlIG9mZgp9CmRsb3Blbl9saWIgKCkgCnsgCiAgICBpZiBbWyAke0VMSUJDfSAhPSAqQlNE
IF1dOyB0aGVuCiAgICAgICAgZWNobyAiLWxkbCI7CiAgICBmaQp9CmRvaWNvbiAoKSAKeyAKICAg
ICggbG9jYWwgaSBqIHJldDsKICAgIGluc2ludG8gL3Vzci9zaGFyZS9waXhtYXBzOwogICAgZm9y
IGkgaW4gIiRAIjsKICAgIGRvCiAgICAgICAgaWYgW1sgLWYgJHtpfSBdXTsgdGhlbgogICAgICAg
ICAgICBkb2lucyAiJHtpfSI7CiAgICAgICAgICAgICgocmV0Kz0kPykpOwogICAgICAgIGVsc2UK
ICAgICAgICAgICAgaWYgW1sgLWQgJHtpfSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZm9yIGog
aW4gIiR7aX0iLyoucG5nOwogICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICBk
b2lucyAiJHtqfSI7CiAgICAgICAgICAgICAgICAgICAgKChyZXQrPSQ/KSk7CiAgICAgICAgICAg
ICAgICBkb25lOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAoKCsrcmV0KSk7CiAg
ICAgICAgICAgIGZpOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIGV4aXQgJHtyZXR9ICkKfQpk
b21lbnUgKCkgCnsgCiAgICAoIGxvY2FsIGkgaiByZXQ9MDsKICAgIGluc2ludG8gL3Vzci9zaGFy
ZS9hcHBsaWNhdGlvbnM7CiAgICBmb3IgaSBpbiAiJEAiOwogICAgZG8KICAgICAgICBpZiBbWyAt
ZiAke2l9IF1dOyB0aGVuCiAgICAgICAgICAgIGRvaW5zICIke2l9IjsKICAgICAgICAgICAgKChy
ZXQrPSQ/KSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBbWyAtZCAke2l9IF1dOyB0aGVu
CiAgICAgICAgICAgICAgICBmb3IgaiBpbiAiJHtpfSIvKi5kZXNrdG9wOwogICAgICAgICAgICAg
ICAgZG8KICAgICAgICAgICAgICAgICAgICBkb2lucyAiJHtqfSI7CiAgICAgICAgICAgICAgICAg
ICAgKChyZXQrPSQ/KSk7CiAgICAgICAgICAgICAgICBkb25lOwogICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAoKCsrcmV0KSk7CiAgICAgICAgICAgIGZpOwogICAgICAgIGZpOwogICAg
ZG9uZTsKICAgIGV4aXQgJHtyZXR9ICkKfQplYmVlcCAoKSAKeyAKICAgIGxvY2FsIG47CiAgICBp
ZiBbWyAteiAke0VCRUVQX0lHTk9SRX0gXV07IHRoZW4KICAgICAgICBmb3IgKChuPTEgOyBuIDw9
ICR7MTotNX0gOyBuKyspKQogICAgICAgIGRvCiAgICAgICAgICAgIGVjaG8gLW5lICJcYSI7CiAg
ICAgICAgICAgIHNsZWVwIDAuMSA+Ji9kZXYvbnVsbDsKICAgICAgICAgICAgc2xlZXAgMCwxID4m
L2Rldi9udWxsOwogICAgICAgICAgICBlY2hvIC1uZSAiXGEiOwogICAgICAgICAgICBzbGVlcCAx
OwogICAgICAgIGRvbmU7CiAgICBmaQp9CmVjdnNfY2xlYW4gKCkgCnsgCiAgICBbWyAteiAkKiBd
XSAmJiBzZXQgLS0gLjsKICAgIGZpbmQgIiRAIiAtdHlwZSBkIC1uYW1lICdDVlMnIC1wcnVuZSAt
cHJpbnQwIHwgeGFyZ3MgLTAgcm0gLXJmOwogICAgZmluZCAiJEAiIC10eXBlIGYgLW5hbWUgJy5j
dnMqJyAtcHJpbnQwIHwgeGFyZ3MgLTAgcm0gLXJmCn0KZWRvczJ1bml4ICgpIAp7IAogICAgZWNo
byAiJEAiIHwgeGFyZ3Mgc2VkIC1pICdzL1xyJC8vJwp9CmVnZXRlbnQgKCkgCnsgCiAgICBjYXNl
ICR7Q0hPU1R9IGluIAogICAgICAgICotZGFyd2luKikKICAgICAgICAgICAgY2FzZSAiJDIiIGlu
IAogICAgICAgICAgICAgICAgKlshMC05XSopCiAgICAgICAgICAgICAgICAgICAgbmlkdW1wICQx
IC4gfCBhd2sgLUYiOiIgInsgaWYgKFwkMSB+IC9eJDIkLykge3ByaW50IFwkMDtleGl0O30gfSIK
ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgICAg
IG5pZHVtcCAkMSAuIHwgYXdrIC1GIjoiICJ7IGlmIChcJDMgPT0gJDIpIHtwcmludCBcJDA7ZXhp
dDt9IH0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICBlc2FjCiAgICAgICAgOzsKICAg
ICAgICAqLWZyZWVic2QqIHwgKi1kcmFnb25mbHkqKQogICAgICAgICAgICBsb2NhbCBvcHRzIGFj
dGlvbj0idXNlciI7CiAgICAgICAgICAgIFtbICQxID09ICJwYXNzd2QiIF1dIHx8IGFjdGlvbj0i
Z3JvdXAiOwogICAgICAgICAgICBpZiBbWyAkMiA9PSBbWzpkaWdpdDpdXSogXV07IHRoZW4KICAg
ICAgICAgICAgICAgIFtbICR7YWN0aW9ufSA9PSAidXNlciIgXV0gJiYgb3B0cz0iLXUiIHx8IG9w
dHM9Ii1nIjsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIHB3IHNob3cgJHthY3Rpb259ICR7
b3B0c30gIiQyIiAtcQogICAgICAgIDs7CiAgICAgICAgKi1uZXRic2QqIHwgKi1vcGVuYnNkKikK
ICAgICAgICAgICAgZ3JlcCAiJDI6XCo6IiAvZXRjLyQxCiAgICAgICAgOzsKICAgICAgICAqKQog
ICAgICAgICAgICB0eXBlIC1wIG5zY2QgPiYvZGV2L251bGwgJiYgbnNjZCAtaSAiJDEiOwogICAg
ICAgICAgICBnZXRlbnQgIiQxIiAiJDIiCiAgICAgICAgOzsKICAgIGVzYWMKfQplZ2V0aG9tZSAo
KSAKeyAKICAgIGVudD0kKGVnZXRlbnQgcGFzc3dkICQxKTsKICAgIGNhc2UgJHtDSE9TVH0gaW4g
CiAgICAgICAgKi1kYXJ3aW4qIHwgKi1mcmVlYnNkKiB8ICotZHJhZ29uZmx5KikKICAgICAgICAg
ICAgZWNobyAke2VudH0gfCBjdXQgLWQ6IC1mOQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAg
ICAgICAgZWNobyAke2VudH0gfCBjdXQgLWQ6IC1mNgogICAgICAgIDs7CiAgICBlc2FjCn0KZWdl
dHNoZWxsICgpIAp7IAogICAgZW50PSQoZWdldGVudCBwYXNzd2QgIiQxIik7CiAgICBjYXNlICR7
Q0hPU1R9IGluIAogICAgICAgICotZGFyd2luKiB8ICotZnJlZWJzZCogfCAqLWRyYWdvbmZseSop
CiAgICAgICAgICAgIGVjaG8gJHtlbnR9IHwgY3V0IC1kOiAtZjEwCiAgICAgICAgOzsKICAgICAg
ICAqKQogICAgICAgICAgICBlY2hvICR7ZW50fSBjdXQgLWQ6IC1mNwogICAgICAgIDs7CiAgICBl
c2FjCn0KZWxpc3AtY29tcCAoKSAKeyAKICAgIFsgJCMgLWd0IDAgXSB8fCByZXR1cm4gMTsKICAg
IGViZWdpbiAiQ29tcGlsaW5nIEdOVSBFbWFjcyBFbGlzcCBmaWxlcyI7CiAgICB0ZW1wZGlyPWVs
Yy4kJDsKICAgIG1rZGlyICR7dGVtcGRpcn07CiAgICBjcCAiJEAiICR7dGVtcGRpcn07CiAgICBw
dXNoZCAke3RlbXBkaXJ9OwogICAgZWNobyAiKGFkZC10by1saXN0ICdsb2FkLXBhdGggXCIuLi9c
IikiID4gc2NyaXB0OwogICAgJHtFTUFDU30gJHtFTUFDU0ZMQUdTfSAtbCBzY3JpcHQgLWYgYmF0
Y2gtYnl0ZS1jb21waWxlICouZWw7CiAgICBsb2NhbCByZXQ9JD87CiAgICBtdiAqLmVsYyAuLjsK
ICAgIHBvcGQ7CiAgICBybSAtZnIgJHt0ZW1wZGlyfTsKICAgIGVlbmQgJHtyZXR9ICJiYXRjaC1i
eXRlLWNvbXBpbGUgZmFpbGVkIjsKICAgIHJldHVybiAke3JldH0KfQplbGlzcC1jb21waWxlICgp
IAp7IAogICAgZWJlZ2luICJDb21waWxpbmcgR05VIEVtYWNzIEVsaXNwIGZpbGVzIjsKICAgICR7
RU1BQ1N9ICR7RU1BQ1NGTEFHU30gLWYgYmF0Y2gtYnl0ZS1jb21waWxlICIkQCI7CiAgICBlZW5k
ICQ/ICJiYXRjaC1ieXRlLWNvbXBpbGUgZmFpbGVkIgp9CmVsaXNwLWVtYWNzLXZlcnNpb24gKCkg
CnsgCiAgICBlY2hvICIocHJpbmMgZW1hY3MtdmVyc2lvbikiID4gIiR7VH0iL2VtYWNzLXZlcnNp
b24uZWw7CiAgICAke0VNQUNTfSAke0VNQUNTRkxBR1N9IC1sICIke1R9Ii9lbWFjcy12ZXJzaW9u
LmVsOwogICAgcm0gLWYgIiR7VH0iL2VtYWNzLXZlcnNpb24uZWwKfQplbGlzcC1pbnN0YWxsICgp
IAp7IAogICAgbG9jYWwgc3ViZGlyPSIkMSI7CiAgICBzaGlmdDsKICAgIGViZWdpbiAiSW5zdGFs
bGluZyBFbGlzcCBmaWxlcyBmb3IgR05VIEVtYWNzIHN1cHBvcnQiOwogICAgKCBpbnNpbnRvICIk
e1NJVEVMSVNQfS8ke3N1YmRpcn0iOwogICAgZG9pbnMgIiRAIiApOwogICAgZWVuZCAkPyAiZG9p
bnMgZmFpbGVkIgp9CmVsaXNwLW1ha2UtYXV0b2xvYWQtZmlsZSAoKSAKeyAKICAgIGxvY2FsIGY9
IiR7MTotJHtQTn0tYXV0b2xvYWRzLmVsfSI7CiAgICBzaGlmdDsKICAgIGViZWdpbiAiR2VuZXJh
dGluZyBhdXRvbG9hZCBmaWxlIGZvciBHTlUgRW1hY3MiOwogICAgc2VkICdzL15GRi9cZi8nID4g
IiR7Zn0iICA8PC1FT0YKOzs7ICR7ZiMjKi99IC0tLSBhdXRvbG9hZHMgZm9yICR7UH0KCjs7OyBD
b21tZW50YXJ5Ogo7OyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBlbGlzcC1jb21tb24uZWNs
YXNzCjs7IERPIE5PVCBFRElUIFRISVMgRklMRQoKOzs7IENvZGU6CkZGCjs7IExvY2FsIFZhcmlh
YmxlczoKOzsgdmVyc2lvbi1jb250cm9sOiBuZXZlcgo7OyBuby1ieXRlLWNvbXBpbGU6IHQKOzsg
bm8tdXBkYXRlLWF1dG9sb2FkczogdAo7OyBFbmQ6Cjs7OyAke2YjIyovfSBlbmRzIGhlcmUKRU9G
CgogICAgJHtFTUFDU30gJHtFTUFDU0ZMQUdTfSAtLWV2YWwgIihzZXRxIG1ha2UtYmFja3VwLWZp
bGVzIG5pbCkiIC0tZXZhbCAiKHNldHEgZ2VuZXJhdGVkLWF1dG9sb2FkLWZpbGUgKGV4cGFuZC1m
aWxlLW5hbWUgXCIke2Z9XCIpKSIgLWYgYmF0Y2gtdXBkYXRlLWF1dG9sb2FkcyAiJHtALS59IjsK
ICAgIGVlbmQgJD8gImJhdGNoLXVwZGF0ZS1hdXRvbG9hZHMgZmFpbGVkIgp9CmVsaXNwLXNpdGUt
ZmlsZS1pbnN0YWxsICgpIAp7IAogICAgbG9jYWwgc2Y9IiR7VH0vJHsxIyMqL30iIG15X3BuPSIk
ezI6LSR7UE59fSIgcmV0OwogICAgZWJlZ2luICJJbnN0YWxsaW5nIHNpdGUgaW5pdGlhbGlzYXRp
b24gZmlsZSBmb3IgR05VIEVtYWNzIjsKICAgIGNwICIkMSIgIiR7c2Z9IjsKICAgIHNlZCAtaSAt
ZSAiczpAU0lURUxJU1BAOiR7U0lURUxJU1B9LyR7bXlfcG59OmciIC1lICJzOkBTSVRFRVRDQDok
e1NJVEVFVEN9LyR7bXlfcG59OmciICIke3NmfSI7CiAgICAoIGluc2ludG8gIiR7U0lURUxJU1B9
L3NpdGUtZ2VudG9vLmQiOwogICAgZG9pbnMgIiR7c2Z9IiApOwogICAgcmV0PSQ/OwogICAgcm0g
LWYgIiR7c2Z9IjsKICAgIGVlbmQgJHtyZXR9ICJkb2lucyBmYWlsZWQiCn0KZWxpc3Atc2l0ZS1y
ZWdlbiAoKSAKeyAKICAgIGxvY2FsIGkgc2YgbGluZSBvYnNvbGV0ZTsKICAgIGxvY2FsIC1hIHNm
bGlzdDsKICAgIGxvY2FsIHRtcGRpcj0ke1Q6LSQobWt0ZW1wIC1kKX07CiAgICBpZiBbICEgLWQg
IiR7Uk9PVH0ke1NJVEVMSVNQfSIgXTsgdGhlbgogICAgICAgIGVlcnJvciAiRGlyZWN0b3J5ICR7
U0lURUxJU1B9IGRvZXMgbm90IGV4aXN0IjsKICAgICAgICByZXR1cm4gMTsKICAgIGZpOwogICAg
aWYgWyAhIC1lICIke1JPT1R9JHtTSVRFTElTUH0iL3NpdGUtZ2VudG9vLmVsIF0gJiYgWyAhIC1l
ICIke1JPT1R9JHtTSVRFTElTUH0iL3NpdGUtc3RhcnQuZWwgXTsgdGhlbgogICAgICAgIGVpbmZv
ICJDcmVhdGluZyBkZWZhdWx0ICR7U0lURUxJU1B9L3NpdGUtc3RhcnQuZWwgLi4uIjsKICAgICAg
ICBjYXQgPiAiJHt0bXBkaXJ9Ii9zaXRlLXN0YXJ0LmVsICA8PC1FT0YKOzs7IHNpdGUtc3RhcnQu
ZWwKCjs7OyBDb21tZW50YXJ5Ogo7OyBUaGlzIGRlZmF1bHQgc2l0ZSBzdGFydHVwIGZpbGUgaXMg
aW5zdGFsbGVkIGJ5IGVsaXNwLWNvbW1vbi5lY2xhc3MuCjs7IFlvdSBtYXkgcmVwbGFjZSB0aGlz
IGZpbGUgYnkgeW91ciBvd24gc2l0ZSBpbml0aWFsaXNhdGlvbiwgb3IgZXZlbgo7OyByZW1vdmUg
aXQgY29tcGxldGVseTsgaXQgd2lsbCBub3QgYmUgcmVjcmVhdGVkLgoKOzs7IENvZGU6Cjs7IExv
YWQgc2l0ZSBpbml0aWFsaXNhdGlvbiBmb3IgR2VudG9vLWluc3RhbGxlZCBwYWNrYWdlcy4KKHJl
cXVpcmUgJ3NpdGUtZ2VudG9vKQoKOzs7IHNpdGUtc3RhcnQuZWwgZW5kcyBoZXJlCkVPRgoKICAg
IGZpCiAgICBlaW5mb24gIlJlZ2VuZXJhdGluZyAke1NJVEVMSVNQfS9zaXRlLWdlbnRvby5lbCAu
Li4iOwogICAgcm0gLWYgIiR7Uk9PVH0ke1NJVEVMSVNQfSIvMDBzaXRlLWdlbnRvby5lbDsKICAg
IGxvY2FsIG9sZF9zaG9wdHM9JChzaG9wdCAtcCBudWxsZ2xvYik7CiAgICBzaG9wdCAtcyBudWxs
Z2xvYjsKICAgIGZvciBzZiBpbiAiJHtST09UfSR7U0lURUxJU1B9Ii9bMC05XVswLTldKi1nZW50
b28uZWwgIiR7Uk9PVH0ke1NJVEVMSVNQfSIvc2l0ZS1nZW50b28uZC9bMC05XVswLTldKi5lbDsK
ICAgIGRvCiAgICAgICAgWyAtciAiJHtzZn0iIF0gfHwgY29udGludWU7CiAgICAgICAgZm9yICgo
aT0keyNzZmxpc3RbQF19OyBpPjA7IGktLSkpCiAgICAgICAgZG8KICAgICAgICAgICAgW1sgJHtz
ZiMjKi99IDwgJHtzZmxpc3RbaS0xXSMjKi99IF1dIHx8IGJyZWFrOwogICAgICAgICAgICBzZmxp
c3RbaV09JHtzZmxpc3RbaS0xXX07CiAgICAgICAgZG9uZTsKICAgICAgICBzZmxpc3RbaV09JHtz
Zn07CiAgICAgICAgWyAiJHtzZiUvKn0iID0gIiR7Uk9PVH0ke1NJVEVMSVNQfSIgXSAmJiBvYnNv
bGV0ZT10OwogICAgZG9uZTsKICAgIGV2YWwgIiR7b2xkX3Nob3B0c30iOwogICAgY2F0ID4gIiR7
dG1wZGlyfSIvc2l0ZS1nZW50b28uZWwgIDw8LUVPRgo7Ozsgc2l0ZS1nZW50b28uZWwgLS0tIHNp
dGUgaW5pdGlhbGlzYXRpb24gZm9yIEdlbnRvby1pbnN0YWxsZWQgcGFja2FnZXMKCjs7OyBDb21t
ZW50YXJ5Ogo7OyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBieSBlbGlzcC1jb21tb24uZWNsYXNz
Cjs7IERPIE5PVCBFRElUIFRISVMgRklMRQoKOzs7IENvZGU6CkVPRgoKICAgIGNhdCAiJHtzZmxp
c3RbQF19IiA8IC9kZXYvbnVsbCA+PiAiJHt0bXBkaXJ9Ii9zaXRlLWdlbnRvby5lbDsKICAgIGNh
dCA+PiAiJHt0bXBkaXJ9Ii9zaXRlLWdlbnRvby5lbCAgPDwtRU9GCgoocHJvdmlkZSAnc2l0ZS1n
ZW50b28pCgo7OyBMb2NhbCBWYXJpYWJsZXM6Cjs7IG5vLWJ5dGUtY29tcGlsZTogdAo7OyBFbmQ6
Cjs7OyBzaXRlLWdlbnRvby5lbCBlbmRzIGhlcmUKRU9GCgogICAgaWYgY21wIC1zICIke1JPT1R9
JHtTSVRFTElTUH0iL3NpdGUtZ2VudG9vLmVsICIke3RtcGRpcn0iL3NpdGUtZ2VudG9vLmVsOyB0
aGVuCiAgICAgICAgZWNobyAiIG5vIGNoYW5nZXMuIjsKICAgIGVsc2UKICAgICAgICBtdiAiJHt0
bXBkaXJ9Ii9zaXRlLWdlbnRvby5lbCAiJHtST09UfSR7U0lURUxJU1B9Ii9zaXRlLWdlbnRvby5l
bDsKICAgICAgICBbIC1mICIke3RtcGRpcn0iL3NpdGUtc3RhcnQuZWwgXSAmJiBbICEgLWUgIiR7
Uk9PVH0ke1NJVEVMSVNQfSIvc2l0ZS1zdGFydC5lbCBdICYmIG12ICIke3RtcGRpcn0iL3NpdGUt
c3RhcnQuZWwgIiR7Uk9PVH0ke1NJVEVMSVNQfSIvc2l0ZS1zdGFydC5lbDsKICAgICAgICBlY2hv
OwogICAgICAgIGVpbmZvOwogICAgICAgIGZvciBzZiBpbiAiJHtzZmxpc3RbQF0jIyovfSI7CiAg
ICAgICAgZG8KICAgICAgICAgICAgZWluZm8gIiAgQWRkaW5nICR7c2Z9IC4uLiI7CiAgICAgICAg
ZG9uZTsKICAgICAgICBlaW5mbyAiUmVnZW5lcmF0ZWQgJHtTSVRFTElTUH0vc2l0ZS1nZW50b28u
ZWwuIjsKICAgICAgICBlY2hvOwogICAgICAgIHdoaWxlIHJlYWQgbGluZTsgZG8KICAgICAgICAg
ICAgZWluZm8gIiR7bGluZX0iOwogICAgICAgIGRvbmUgIDw8RU9GCkFsbCBzaXRlIGluaXRpYWxp
c2F0aW9uIGZvciBHZW50b28taW5zdGFsbGVkIHBhY2thZ2VzIGlzIGFkZGVkIHRvCi91c3Ivc2hh
cmUvZW1hY3Mvc2l0ZS1saXNwL3NpdGUtZ2VudG9vLmVsOyBzaXRlLXN0YXJ0LmVsIGlzIG5vIGxv
bmdlcgptYW5hZ2VkIGJ5IEdlbnRvby4gIFlvdSBhcmUgcmVzcG9uc2libGUgZm9yIGFsbCBtYWlu
dGVuYW5jZSBvZgpzaXRlLXN0YXJ0LmVsIGlmIHRoZXJlIGlzIHN1Y2ggYSBmaWxlLgoKSW4gb3Jk
ZXIgZm9yIHRoaXMgc2l0ZSBpbml0aWFsaXNhdGlvbiB0byBiZSBsb2FkZWQgZm9yIGFsbCB1c2Vy
cwphdXRvbWF0aWNhbGx5LCB5b3UgY2FuIGFkZCBhIGxpbmUgbGlrZSB0aGlzOgoKCShyZXF1aXJl
ICdzaXRlLWdlbnRvbykKCnRvIC91c3Ivc2hhcmUvZW1hY3Mvc2l0ZS1saXNwL3NpdGUtc3RhcnQu
ZWwuICBBbHRlcm5hdGl2ZWx5LCB0aGF0IGxpbmUKY2FuIGJlIGFkZGVkIGJ5IGluZGl2aWR1YWwg
dXNlcnMgdG8gdGhlaXIgaW5pdGlhbGlzYXRpb24gZmlsZXMsIG9yLApmb3IgZ3JlYXRlciBmbGV4
aWJpbGl0eSwgdXNlcnMgY2FuIGxvYWQgaW5kaXZpZHVhbCBwYWNrYWdlLXNwZWNpZmljCmluaXRp
YWxpc2F0aW9uIGZpbGVzIGZyb20gL3Vzci9zaGFyZS9lbWFjcy9zaXRlLWxpc3Avc2l0ZS1nZW50
b28uZC8uCkVPRgoKICAgICAgICBlY2hvOwogICAgICAgIGlmIFsgIiR7b2Jzb2xldGV9IiBdOyB0
aGVuCiAgICAgICAgICAgIHdoaWxlIHJlYWQgbGluZTsgZG8KICAgICAgICAgICAgICAgIGV3YXJu
ICIke2xpbmV9IjsKICAgICAgICAgICAgZG9uZSAgPDwtRU9GClNpdGUtaW5pdGlhbGlzYXRpb24g
ZmlsZXMgb2YgRW1hY3MgcGFja2FnZXMgYXJlIG5vdyBpbnN0YWxsZWQgaW4KL3Vzci9zaGFyZS9l
bWFjcy9zaXRlLWxpc3Avc2l0ZS1nZW50b28uZC8uIFlvdSBtYXkgY29uc2lkZXIgdXNpbmcKL3Vz
ci9zYmluL2VtYWNzLXVwZGF0ZXIgdG8gcmVidWlsZCB0aGUgaW5zdGFsbGVkIEVtYWNzIHBhY2th
Z2VzLgpIb3dldmVyLCB0aGUgb2xkIGxvY2F0aW9uIGlzIHN0aWxsIHN1cHBvcnRlZC4KRU9GCgog
ICAgICAgICAgICBlY2hvOwogICAgICAgIGZpOwogICAgZmk7CiAgICBmb3Igc2YgaW4gIiR7c2Zs
aXN0W0BdfSI7CiAgICBkbwogICAgICAgIFsgIiR7c2YlLyp9IiA9ICIke1JPT1R9JHtTSVRFTElT
UH0vc2l0ZS1nZW50b28uZCIgXSAmJiBjYXQgIiR7c2Z9IiA+PiAiJHtST09UfSR7U0lURUxJU1B9
Ii8wMHNpdGUtZ2VudG9vLmVsOwogICAgZG9uZTsKICAgIHJtIC1mICIke3RtcGRpcn0iL3NpdGUt
e2dlbnRvbyxzdGFydH0uZWwKfQplbGlzcF9wa2dfcG9zdGluc3QgKCkgCnsgCiAgICBlbGlzcC1z
aXRlLXJlZ2VuCn0KZWxpc3BfcGtnX3Bvc3RybSAoKSAKeyAKICAgIGVsaXNwLXNpdGUtcmVnZW4K
fQplbGlzcF9wa2dfc2V0dXAgKCkgCnsgCiAgICBsb2NhbCBlbWFjc192ZXJzaW9uPSIkKGVsaXNw
LWVtYWNzLXZlcnNpb24pIjsKICAgIGlmICEgdmVyc2lvbl9pc19hdF9sZWFzdCAiJHtWRVJTSU9O
fSIgIiR7ZW1hY3NfdmVyc2lvbn0iOyB0aGVuCiAgICAgICAgZWVycm9yICJUaGlzIHBhY2thZ2Ug
bmVlZHMgYXQgbGVhc3QgRW1hY3MgJHtWRVJTSU9OfS4iOwogICAgICAgIGVlcnJvciAiVXNlIFwi
ZXNlbGVjdCBlbWFjc1wiIHRvIHNlbGVjdCB0aGUgYWN0aXZlIHZlcnNpb24uIjsKICAgICAgICBk
aWUgIkVtYWNzIHZlcnNpb24gJHtlbWFjc192ZXJzaW9ufSBpcyB0b28gbG93LiI7CiAgICBmaQp9
CmVsaXNwX3NyY19jb21waWxlICgpIAp7IAogICAgZWxpc3AtY29tcGlsZSAqLmVsIHx8IGRpZSAi
ZWxpc3AtY29tcGlsZSBmYWlsZWQiCn0KZWxpc3Bfc3JjX2luc3RhbGwgKCkgCnsgCiAgICBlbGlz
cC1pbnN0YWxsICR7UE59ICouZWwgKi5lbGMgfHwgZGllICJlbGlzcC1pbnN0YWxsIGZhaWxlZCI7
CiAgICBlbGlzcC1zaXRlLWZpbGUtaW5zdGFsbCAiJHtGSUxFU0RJUn0vJHtTSVRFRklMRX0iIHx8
IGRpZSAiZWxpc3Atc2l0ZS1maWxlLWluc3RhbGwgZmFpbGVkIjsKICAgIGlmIFsgLW4gIiR7RE9D
U30iIF07IHRoZW4KICAgICAgICBkb2RvYyAke0RPQ1N9IHx8IGRpZSAiZG9kb2MgZmFpbGVkIjsK
ICAgIGZpCn0KZWxpc3Bfc3JjX3VucGFjayAoKSAKeyAKICAgIHVucGFjayAke0F9OwogICAgaWYg
WyAiJHtTSU1QTEVfRUxJU1B9IiA9ICd0JyBdOyB0aGVuCiAgICAgICAgbXYgJHtQfS5lbCAke1BO
fS5lbCB8fCBkaWUgIm12ICR7UH0uZWwgJHtQTn0uZWwgZmFpbGVkIjsKICAgIGZpCn0KZW1rdGVt
cCAoKSAKeyAKICAgIGxvY2FsIGV4ZT0idG91Y2giOwogICAgW1sgJDEgPT0gLWQgXV0gJiYgZXhl
PSJta2RpciIgJiYgc2hpZnQ7CiAgICBsb2NhbCB0b3BkaXI9JDE7CiAgICBpZiBbWyAteiAke3Rv
cGRpcn0gXV07IHRoZW4KICAgICAgICBbWyAteiAke1R9IF1dICYmIHRvcGRpcj0iL3RtcCIgfHwg
dG9wZGlyPSR7VH07CiAgICBmaTsKICAgIGlmICEgdHlwZSAtUCBta3RlbXAgPiAvZGV2L251bGw7
IHRoZW4KICAgICAgICBsb2NhbCB0bXA9LzsKICAgICAgICB3aGlsZSBbWyAtZSAke3RtcH0gXV07
IGRvCiAgICAgICAgICAgIHRtcD0ke3RvcGRpcn0vdG1wLiR7UkFORE9NfS4ke1JBTkRPTX0uJHtS
QU5ET019OwogICAgICAgIGRvbmU7CiAgICAgICAgJHtleGV9ICIke3RtcH0iIHx8ICR7ZXhlfSAt
cCAiJHt0bXB9IjsKICAgICAgICBlY2hvICIke3RtcH0iOwogICAgZWxzZQogICAgICAgIGlmIFtb
ICR7ZXhlfSA9PSAidG91Y2giIF1dOyB0aGVuCiAgICAgICAgICAgIFRNUERJUj0iJHt0b3BkaXJ9
IiBta3RlbXAgLXQgdG1wLlhYWFhYWFhYWFg7CiAgICAgICAgZWxzZQogICAgICAgICAgICBUTVBE
SVI9IiR7dG9wZGlyfSIgbWt0ZW1wIC1kdCB0bXAuWFhYWFhYWFhYWDsKICAgICAgICBmaTsKICAg
IGZpCn0KZW5ld2dyb3VwICgpIAp7IAogICAgY2FzZSAke0VCVUlMRF9QSEFTRX0gaW4gCiAgICAg
ICAgdW5wYWNrIHwgY29tcGlsZSB8IHRlc3QgfCBpbnN0YWxsKQogICAgICAgICAgICBlZXJyb3Ig
IidlbmV3Z3JvdXAoKScgY2FsbGVkIGZyb20gJyR7RUJVSUxEX1BIQVNFfSgpJyB3aGljaCBpcyBu
b3QgYSBwa2dfKiBmdW5jdGlvbi4iOwogICAgICAgICAgICBlZXJyb3IgIlBhY2thZ2UgZmFpbHMg
YXQgUUEgYW5kIGF0IGxpZmUuICBQbGVhc2UgZmlsZSBhIGJ1Zy4iOwogICAgICAgICAgICBkaWUg
IkJhZCBwYWNrYWdlISAgZW5ld2dyb3VwIGlzIG9ubHkgZm9yIHVzZSBpbiBwa2dfKiBmdW5jdGlv
bnMhIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgbG9jYWwgZWdyb3VwPSIkMSI7CiAgICBzaGlm
dDsKICAgIGlmIFsgLXogIiR7ZWdyb3VwfSIgXTsgdGhlbgogICAgICAgIGVlcnJvciAiTm8gZ3Jv
dXAgc3BlY2lmaWVkICEiOwogICAgICAgIGRpZSAiQ2Fubm90IGNhbGwgZW5ld2dyb3VwIHdpdGhv
dXQgYSBncm91cCI7CiAgICBmaTsKICAgIGlmIFtbIC1uICQoZWdldGVudCBncm91cCAiJHtlZ3Jv
dXB9IikgXV07IHRoZW4KICAgICAgICByZXR1cm4gMDsKICAgIGZpOwogICAgZWluZm8gIkFkZGlu
ZyBncm91cCAnJHtlZ3JvdXB9JyB0byB5b3VyIHN5c3RlbSAuLi4iOwogICAgbG9jYWwgb3B0cz07
CiAgICBsb2NhbCBlZ2lkPSIkMSI7CiAgICBzaGlmdDsKICAgIGlmIFsgISAteiAiJHtlZ2lkfSIg
XTsgdGhlbgogICAgICAgIGlmIFsgIiR7ZWdpZH0iIC1ndCAwIF07IHRoZW4KICAgICAgICAgICAg
aWYgWyAteiAiYGVnZXRlbnQgZ3JvdXAgJHtlZ2lkfWAiIF07IHRoZW4KICAgICAgICAgICAgICAg
IGlmIFtbICIke0NIT1NUfSIgPT0gKi1kYXJ3aW4qIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAg
ICAgb3B0cz0iJHtvcHRzfSAke2VnaWR9IjsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgICAgICAgICBvcHRzPSIke29wdHN9IC1nICR7ZWdpZH0iOwogICAgICAgICAgICAgICAgZmk7
CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGVnaWQ9Im5leHQgYXZhaWxhYmxlOyBy
ZXF1ZXN0ZWQgZ2lkIHRha2VuIjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZWxzZQogICAgICAg
ICAgICBlZXJyb3IgIkdyb3VwaWQgZ2l2ZW4gYnV0IGlzIG5vdCBncmVhdGVyIHRoYW4gMCAhIjsK
ICAgICAgICAgICAgZGllICIke2VnaWR9IGlzIG5vdCBhIHZhbGlkIEdJRCI7CiAgICAgICAgZmk7
CiAgICBlbHNlCiAgICAgICAgZWdpZD0ibmV4dCBhdmFpbGFibGUiOwogICAgZmk7CiAgICBlaW5m
byAiIC0gR3JvdXBpZDogJHtlZ2lkfSI7CiAgICBsb2NhbCBlZXh0cmE9IiRAIjsKICAgIG9wdHM9
IiR7b3B0c30gJHtlZXh0cmF9IjsKICAgIGxvY2FsIG9sZHNhbmRib3g9IiR7U0FOREJPWF9PTn0i
OwogICAgZXhwb3J0IFNBTkRCT1hfT049IjAiOwogICAgY2FzZSAke0NIT1NUfSBpbiAKICAgICAg
ICAqLWRhcndpbiopCiAgICAgICAgICAgIGlmIFsgISAteiAiJHtlZXh0cmF9IiBdOyB0aGVuCiAg
ICAgICAgICAgICAgICBlaW5mbyAiRXh0cmEgb3B0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCBvbiBE
YXJ3aW4vT1MgWCB5ZXQiOwogICAgICAgICAgICAgICAgZWluZm8gIlBsZWFzZSByZXBvcnQgdGhl
IGVidWlsZCBhbG9uZyB3aXRoIHRoZSBpbmZvIGJlbG93IjsKICAgICAgICAgICAgICAgIGVpbmZv
ICJlZXh0cmE6ICR7ZWV4dHJhfSI7CiAgICAgICAgICAgICAgICBkaWUgIlJlcXVpcmVkIGZ1bmN0
aW9uIG1pc3NpbmciOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgY2FzZSAke2VnaWR9IGlu
IAogICAgICAgICAgICAgICAgKlshMC05XSopCiAgICAgICAgICAgICAgICAgICAgZm9yICgoZWdp
ZCA9IDEwMTsgZWdpZCA8PSA5OTk7IGVnaWQrKykpCiAgICAgICAgICAgICAgICAgICAgZG8KICAg
ICAgICAgICAgICAgICAgICAgICAgW1sgLXogJChlZ2V0ZW50IGdyb3VwICR7ZWdpZH0pIF1dICYm
IGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRvbmUKICAgICAgICAgICAgICAgIDs7CiAgICAg
ICAgICAgIGVzYWM7CiAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL2dyb3Vwcy8ke2Vncm91cH0g
Z2lkICR7ZWdpZH07CiAgICAgICAgICAgIGRzY2wgLiBjcmVhdGUgL2dyb3Vwcy8ke2Vncm91cH0g
cGFzc3dkICcqJwogICAgICAgIDs7CiAgICAgICAgKi1mcmVlYnNkKiB8ICotZHJhZ29uZmx5KikK
ICAgICAgICAgICAgY2FzZSAke2VnaWR9IGluIAogICAgICAgICAgICAgICAgKlshMC05XSopCiAg
ICAgICAgICAgICAgICAgICAgZm9yICgoZWdpZCA9IDEwMTsgZWdpZCA8PSA5OTk7IGVnaWQrKykp
CiAgICAgICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICAgICAgW1sgLXogJChl
Z2V0ZW50IGdyb3VwICR7ZWdpZH0pIF1dICYmIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIGRv
bmUKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgIHB3IGdy
b3VwYWRkICR7ZWdyb3VwfSAtZyAke2VnaWR9IHx8IGRpZSAiZW5ld2dyb3VwIGZhaWxlZCIKICAg
ICAgICA7OwogICAgICAgICotbmV0YnNkKikKICAgICAgICAgICAgY2FzZSAke2VnaWR9IGluIAog
ICAgICAgICAgICAgICAgKlshMC05XSopCiAgICAgICAgICAgICAgICAgICAgZm9yICgoZWdpZCA9
IDEwMTsgZWdpZCA8PSA5OTk7IGVnaWQrKykpCiAgICAgICAgICAgICAgICAgICAgZG8KICAgICAg
ICAgICAgICAgICAgICAgICAgW1sgLXogJChlZ2V0ZW50IGdyb3VwICR7ZWdpZH0pIF1dICYmIGJy
ZWFrOwogICAgICAgICAgICAgICAgICAgIGRvbmUKICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgIGVzYWM7CiAgICAgICAgICAgIGdyb3VwYWRkIC1nICR7ZWdpZH0gJHtlZ3JvdXB9IHx8IGRp
ZSAiZW5ld2dyb3VwIGZhaWxlZCIKICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGdy
b3VwYWRkICR7b3B0c30gJHtlZ3JvdXB9IHx8IGRpZSAiZW5ld2dyb3VwIGZhaWxlZCIKICAgICAg
ICA7OwogICAgZXNhYzsKICAgIGV4cG9ydCBTQU5EQk9YX09OPSIke29sZHNhbmRib3h9Igp9CmVu
ZXd1c2VyICgpIAp7IAogICAgY2FzZSAke0VCVUlMRF9QSEFTRX0gaW4gCiAgICAgICAgdW5wYWNr
IHwgY29tcGlsZSB8IHRlc3QgfCBpbnN0YWxsKQogICAgICAgICAgICBlZXJyb3IgIidlbmV3dXNl
cigpJyBjYWxsZWQgZnJvbSAnJHtFQlVJTERfUEhBU0V9KCknIHdoaWNoIGlzIG5vdCBhIHBrZ18q
IGZ1bmN0aW9uLiI7CiAgICAgICAgICAgIGVlcnJvciAiUGFja2FnZSBmYWlscyBhdCBRQSBhbmQg
YXQgbGlmZS4gIFBsZWFzZSBmaWxlIGEgYnVnLiI7CiAgICAgICAgICAgIGRpZSAiQmFkIHBhY2th
Z2UhICBlbmV3dXNlciBpcyBvbmx5IGZvciB1c2UgaW4gcGtnXyogZnVuY3Rpb25zISIKICAgICAg
ICA7OwogICAgZXNhYzsKICAgIGxvY2FsIGV1c2VyPSQxOwogICAgc2hpZnQ7CiAgICBpZiBbWyAt
eiAke2V1c2VyfSBdXTsgdGhlbgogICAgICAgIGVlcnJvciAiTm8gdXNlcm5hbWUgc3BlY2lmaWVk
ICEiOwogICAgICAgIGRpZSAiQ2Fubm90IGNhbGwgZW5ld3VzZXIgd2l0aG91dCBhIHVzZXJuYW1l
IjsKICAgIGZpOwogICAgaWYgW1sgLW4gJChlZ2V0ZW50IHBhc3N3ZCAiJHtldXNlcn0iKSBdXTsg
dGhlbgogICAgICAgIHJldHVybiAwOwogICAgZmk7CiAgICBlaW5mbyAiQWRkaW5nIHVzZXIgJyR7
ZXVzZXJ9JyB0byB5b3VyIHN5c3RlbSAuLi4iOwogICAgbG9jYWwgb3B0cz07CiAgICBsb2NhbCBl
dWlkPSQxOwogICAgc2hpZnQ7CiAgICBpZiBbWyAtbiAke2V1aWR9ICYmICR7ZXVpZH0gIT0gLTEg
XV07IHRoZW4KICAgICAgICBpZiBbWyAke2V1aWR9IC1ndCAwIF1dOyB0aGVuCiAgICAgICAgICAg
IGlmIFtbIC1uICQoZWdldGVudCBwYXNzd2QgJHtldWlkfSkgXV07IHRoZW4KICAgICAgICAgICAg
ICAgIGV1aWQ9Im5leHQiOwogICAgICAgICAgICBmaTsKICAgICAgICBlbHNlCiAgICAgICAgICAg
IGVlcnJvciAiVXNlcmlkIGdpdmVuIGJ1dCBpcyBub3QgZ3JlYXRlciB0aGFuIDAgISI7CiAgICAg
ICAgICAgIGRpZSAiJHtldWlkfSBpcyBub3QgYSB2YWxpZCBVSUQiOwogICAgICAgIGZpOwogICAg
ZWxzZQogICAgICAgIGV1aWQ9Im5leHQiOwogICAgZmk7CiAgICBpZiBbWyAke2V1aWR9ID09ICJu
ZXh0IiBdXTsgdGhlbgogICAgICAgIGZvciAoKGV1aWQgPSAxMDE7IGV1aWQgPD0gOTk5OyBldWlk
KyspKQogICAgICAgIGRvCiAgICAgICAgICAgIFtbIC16ICQoZWdldGVudCBwYXNzd2QgJHtldWlk
fSkgXV0gJiYgYnJlYWs7CiAgICAgICAgZG9uZTsKICAgIGZpOwogICAgb3B0cz0iJHtvcHRzfSAt
dSAke2V1aWR9IjsKICAgIGVpbmZvICIgLSBVc2VyaWQ6ICR7ZXVpZH0iOwogICAgbG9jYWwgZXNo
ZWxsPSQxOwogICAgc2hpZnQ7CiAgICBpZiBbWyAhIC16ICR7ZXNoZWxsfSBdXSAmJiBbWyAke2Vz
aGVsbH0gIT0gIi0xIiBdXTsgdGhlbgogICAgICAgIGlmIFtbICEgLWUgJHtST09UfSR7ZXNoZWxs
fSBdXTsgdGhlbgogICAgICAgICAgICBlZXJyb3IgIkEgc2hlbGwgd2FzIHNwZWNpZmllZCBidXQg
aXQgZG9lcyBub3QgZXhpc3QgISI7CiAgICAgICAgICAgIGRpZSAiJHtlc2hlbGx9IGRvZXMgbm90
IGV4aXN0IGluICR7Uk9PVH0iOwogICAgICAgIGZpOwogICAgICAgIGlmIFtbICR7ZXNoZWxsfSA9
PSAqL2ZhbHNlIHx8ICR7ZXNoZWxsfSA9PSAqL25vbG9naW4gXV07IHRoZW4KICAgICAgICAgICAg
ZWVycm9yICJEbyBub3Qgc3BlY2lmeSAke2VzaGVsbH0geW91cnNlbGYsIHVzZSAtMSI7CiAgICAg
ICAgICAgIGRpZSAiUGFzcyAnLTEnIGFzIHRoZSBzaGVsbCBwYXJhbWV0ZXIiOwogICAgICAgIGZp
OwogICAgZWxzZQogICAgICAgIGZvciBzaGVsbCBpbiAvc2Jpbi9ub2xvZ2luIC91c3Ivc2Jpbi9u
b2xvZ2luIC9iaW4vZmFsc2UgL3Vzci9iaW4vZmFsc2UgL2Rldi9udWxsOwogICAgICAgIGRvCiAg
ICAgICAgICAgIFtbIC14ICR7Uk9PVH0ke3NoZWxsfSBdXSAmJiBicmVhazsKICAgICAgICBkb25l
OwogICAgICAgIGlmIFtbICR7c2hlbGx9ID09ICIvZGV2L251bGwiIF1dOyB0aGVuCiAgICAgICAg
ICAgIGVlcnJvciAiVW5hYmxlIHRvIGlkZW50aWZ5IHRoZSBzaGVsbCB0byB1c2UsIHByb2NlZWRp
bmcgd2l0aCB1c2VybGFuZCBkZWZhdWx0LiI7CiAgICAgICAgICAgIGNhc2UgJHtVU0VSTEFORH0g
aW4gCiAgICAgICAgICAgICAgICBHTlUpCiAgICAgICAgICAgICAgICAgICAgc2hlbGw9Ii9iaW4v
ZmFsc2UiCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgQlNEKQogICAgICAgICAg
ICAgICAgICAgIHNoZWxsPSIvc2Jpbi9ub2xvZ2luIgogICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgIERhcndpbikKICAgICAgICAgICAgICAgICAgICBzaGVsbD0iL3Vzci9zYmluL25v
bG9naW4iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgKikKICAgICAgICAgICAg
ICAgICAgICBkaWUgIlVuYWJsZSB0byBpZGVudGlmeSB0aGUgZGVmYXVsdCBzaGVsbCBmb3IgdXNl
cmxhbmQgJHtVU0VSTEFORH0iCiAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICBlc2FjOwog
ICAgICAgIGZpOwogICAgICAgIGVzaGVsbD0ke3NoZWxsfTsKICAgIGZpOwogICAgZWluZm8gIiAt
IFNoZWxsOiAke2VzaGVsbH0iOwogICAgb3B0cz0iJHtvcHRzfSAtcyAke2VzaGVsbH0iOwogICAg
bG9jYWwgZWhvbWU9JDE7CiAgICBzaGlmdDsKICAgIGlmIFtbIC16ICR7ZWhvbWV9IF1dIHx8IFtb
ICR7ZWhvbWV9ID09ICItMSIgXV07IHRoZW4KICAgICAgICBlaG9tZT0iL2Rldi9udWxsIjsKICAg
IGZpOwogICAgZWluZm8gIiAtIEhvbWU6ICR7ZWhvbWV9IjsKICAgIG9wdHM9IiR7b3B0c30gLWQg
JHtlaG9tZX0iOwogICAgbG9jYWwgZWdyb3Vwcz0kMTsKICAgIHNoaWZ0OwogICAgaWYgW1sgISAt
eiAke2Vncm91cHN9IF1dOyB0aGVuCiAgICAgICAgbG9jYWwgb2xkaWZzPSR7SUZTfTsKICAgICAg
ICBsb2NhbCBkZWZncm91cD0iIiBleGdyb3Vwcz0iIjsKICAgICAgICBleHBvcnQgSUZTPSIsIjsK
ICAgICAgICBmb3IgZyBpbiAke2Vncm91cHN9OwogICAgICAgIGRvCiAgICAgICAgICAgIGV4cG9y
dCBJRlM9JHtvbGRpZnN9OwogICAgICAgICAgICBpZiBbWyAteiAkKGVnZXRlbnQgZ3JvdXAgIiR7
Z30iKSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZWVycm9yICJZb3UgbXVzdCBhZGQgZ3JvdXAg
JHtnfSB0byB0aGUgc3lzdGVtIGZpcnN0IjsKICAgICAgICAgICAgICAgIGRpZSAiJHtnfSBpcyBu
b3QgYSB2YWxpZCBHSUQiOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgaWYgW1sgLXogJHtk
ZWZncm91cH0gXV07IHRoZW4KICAgICAgICAgICAgICAgIGRlZmdyb3VwPSR7Z307CiAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgIGV4Z3JvdXBzPSIke2V4Z3JvdXBzfSwke2d9IjsKICAg
ICAgICAgICAgZmk7CiAgICAgICAgICAgIGV4cG9ydCBJRlM9IiwiOwogICAgICAgIGRvbmU7CiAg
ICAgICAgZXhwb3J0IElGUz0ke29sZGlmc307CiAgICAgICAgb3B0cz0iJHtvcHRzfSAtZyAke2Rl
Zmdyb3VwfSI7CiAgICAgICAgaWYgW1sgISAteiAke2V4Z3JvdXBzfSBdXTsgdGhlbgogICAgICAg
ICAgICBvcHRzPSIke29wdHN9IC1HICR7ZXhncm91cHM6MX0iOwogICAgICAgIGZpOwogICAgZWxz
ZQogICAgICAgIGVncm91cHM9Iihub25lKSI7CiAgICBmaTsKICAgIGVpbmZvICIgLSBHcm91cHM6
ICR7ZWdyb3Vwc30iOwogICAgbG9jYWwgb2xkc2FuZGJveD0ke1NBTkRCT1hfT059OwogICAgZXhw
b3J0IFNBTkRCT1hfT049IjAiOwogICAgY2FzZSAke0NIT1NUfSBpbiAKICAgICAgICAqLWRhcndp
biopCiAgICAgICAgICAgIGlmIFtbIC16ICRAIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBkc2Ns
IC4gY3JlYXRlIC91c2Vycy8ke2V1c2VyfSB1aWQgJHtldWlkfTsKICAgICAgICAgICAgICAgIGRz
Y2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IHNoZWxsICR7ZXNoZWxsfTsKICAgICAgICAgICAg
ICAgIGRzY2wgLiBjcmVhdGUgL3VzZXJzLyR7ZXVzZXJ9IGhvbWUgJHtlaG9tZX07CiAgICAgICAg
ICAgICAgICBkc2NsIC4gY3JlYXRlIC91c2Vycy8ke2V1c2VyfSByZWFsbmFtZSAiYWRkZWQgYnkg
cG9ydGFnZSBmb3IgJHtQTn0iOwogICAgICAgICAgICAgICAgbG9jYWwgb2xkaWZzPSR7SUZTfTsK
ICAgICAgICAgICAgICAgIGV4cG9ydCBJRlM9IiwiOwogICAgICAgICAgICAgICAgZm9yIGcgaW4g
JHtlZ3JvdXBzfTsKICAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICAgICAgZHNjbCAu
IG1lcmdlIC9ncm91cHMvJHtnfSB1c2VycyAke2V1c2VyfTsKICAgICAgICAgICAgICAgIGRvbmU7
CiAgICAgICAgICAgICAgICBleHBvcnQgSUZTPSR7b2xkaWZzfTsKICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgZWluZm8gIkV4dHJhIG9wdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgb24g
RGFyd2luIHlldCI7CiAgICAgICAgICAgICAgICBlaW5mbyAiUGxlYXNlIHJlcG9ydCB0aGUgZWJ1
aWxkIGFsb25nIHdpdGggdGhlIGluZm8gYmVsb3ciOwogICAgICAgICAgICAgICAgZWluZm8gImVl
eHRyYTogJEAiOwogICAgICAgICAgICAgICAgZGllICJSZXF1aXJlZCBmdW5jdGlvbiBtaXNzaW5n
IjsKICAgICAgICAgICAgZmkKICAgICAgICA7OwogICAgICAgICotZnJlZWJzZCogfCAqLWRyYWdv
bmZseSopCiAgICAgICAgICAgIGlmIFtbIC16ICRAIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBw
dyB1c2VyYWRkICR7ZXVzZXJ9ICR7b3B0c30gLWMgImFkZGVkIGJ5IHBvcnRhZ2UgZm9yICR7UE59
IiBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg
IGVpbmZvICIgLSBFeHRyYTogJEAiOwogICAgICAgICAgICAgICAgcHcgdXNlcmFkZCAke2V1c2Vy
fSAke29wdHN9ICIkQCIgfHwgZGllICJlbmV3dXNlciBmYWlsZWQiOwogICAgICAgICAgICBmaQog
ICAgICAgIDs7CiAgICAgICAgKi1uZXRic2QqKQogICAgICAgICAgICBpZiBbWyAteiAkQCBdXTsg
dGhlbgogICAgICAgICAgICAgICAgdXNlcmFkZCAke29wdHN9ICR7ZXVzZXJ9IHx8IGRpZSAiZW5l
d3VzZXIgZmFpbGVkIjsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIiAt
IEV4dHJhOiAkQCI7CiAgICAgICAgICAgICAgICB1c2VyYWRkICR7b3B0c30gJHtldXNlcn0gIiRA
IiB8fCBkaWUgImVuZXd1c2VyIGZhaWxlZCI7CiAgICAgICAgICAgIGZpCiAgICAgICAgOzsKICAg
ICAgICAqLW9wZW5ic2QqKQogICAgICAgICAgICBpZiBbWyAteiAkQCBdXTsgdGhlbgogICAgICAg
ICAgICAgICAgdXNlcmFkZCAtdSAke2V1aWR9IC1zICR7ZXNoZWxsfSAtZCAke2Vob21lfSAtYyAi
QWRkZWQgYnkgcG9ydGFnZSBmb3IgJHtQTn0iIC1nICR7ZWdyb3Vwc30gJHtldXNlcn0gfHwgZGll
ICJlbmV3dXNlciBmYWlsZWQiOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBlaW5m
byAiIC0gRXh0cmE6ICRAIjsKICAgICAgICAgICAgICAgIHVzZXJhZGQgLXUgJHtldWlkfSAtcyAk
e2VzaGVsbH0gLWQgJHtlaG9tZX0gLWMgIkFkZGVkIGJ5IHBvcnRhZ2UgZm9yICR7UE59IiAtZyAk
e2Vncm91cHN9ICR7ZXVzZXJ9ICIkQCIgfHwgZGllICJlbmV3dXNlciBmYWlsZWQiOwogICAgICAg
ICAgICBmaQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgaWYgW1sgLXogJEAgXV07
IHRoZW4KICAgICAgICAgICAgICAgIHVzZXJhZGQgJHtvcHRzfSAke2V1c2VyfSAtYyAiYWRkZWQg
YnkgcG9ydGFnZSBmb3IgJHtQTn0iIHx8IGRpZSAiZW5ld3VzZXIgZmFpbGVkIjsKICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIiAtIEV4dHJhOiAkQCI7CiAgICAgICAgICAg
ICAgICB1c2VyYWRkICR7b3B0c30gJHtldXNlcn0gIiRAIiB8fCBkaWUgImVuZXd1c2VyIGZhaWxl
ZCI7CiAgICAgICAgICAgIGZpCiAgICAgICAgOzsKICAgIGVzYWM7CiAgICBpZiBbWyAhIC1lICR7
Uk9PVH0vJHtlaG9tZX0gXV07IHRoZW4KICAgICAgICBlaW5mbyAiIC0gQ3JlYXRpbmcgJHtlaG9t
ZX0gaW4gJHtST09UfSI7CiAgICAgICAgbWtkaXIgLXAgIiR7Uk9PVH0vJHtlaG9tZX0iOwogICAg
ICAgIGNob3duICR7ZXVzZXJ9ICIke1JPT1R9LyR7ZWhvbWV9IjsKICAgICAgICBjaG1vZCA3NTUg
IiR7Uk9PVH0vJHtlaG9tZX0iOwogICAgZmk7CiAgICBleHBvcnQgU0FOREJPWF9PTj0ke29sZHNh
bmRib3h9Cn0KZXBhdGNoICgpIAp7IAogICAgZnVuY3Rpb24gX2VwYXRjaF9kcmF3X2xpbmUgKCkg
CiAgICB7IAogICAgICAgIFtbIC16ICQxIF1dICYmIHNldCAiJChwcmludGYgIiU2NXMiICcnKSI7
CiAgICAgICAgZWNobyAiJHsxLy8/Lz19IgogICAgfTsKICAgIGZ1bmN0aW9uIF9lcGF0Y2hfYXNz
ZXJ0ICgpIAogICAgeyAKICAgICAgICBsb2NhbCBfcGlwZXN0YXR1cz0ke1BJUEVTVEFUVVNbKl19
OwogICAgICAgIFtbICR7X3BpcGVzdGF0dXMvLyAvfSAtZXEgMCBdXQogICAgfTsKICAgIGxvY2Fs
IFBJUEVfQ01EPSIiOwogICAgbG9jYWwgU1RERVJSX1RBUkdFVD0iJHtUfS8kJC5vdXQiOwogICAg
bG9jYWwgUEFUQ0hfVEFSR0VUPSIke1R9LyQkLnBhdGNoIjsKICAgIGxvY2FsIFBBVENIX1NVRkZJ
WD0iIjsKICAgIGxvY2FsIFNJTkdMRV9QQVRDSD0ibm8iOwogICAgbG9jYWwgeD0iIjsKICAgIHVu
c2V0IFA0Q09ORklHIFA0UE9SVCBQNFVTRVI7CiAgICBpZiBbICIkIyIgLWd0IDEgXTsgdGhlbgog
ICAgICAgIGxvY2FsIG09IiI7CiAgICAgICAgZm9yIG0gaW4gIiRAIjsKICAgICAgICBkbwogICAg
ICAgICAgICBlcGF0Y2ggIiR7bX0iOwogICAgICAgIGRvbmU7CiAgICAgICAgcmV0dXJuIDA7CiAg
ICBmaTsKICAgIGlmIFsgLW4gIiQxIiAtYSAtZiAiJDEiIF07IHRoZW4KICAgICAgICBTSU5HTEVf
UEFUQ0g9InllcyI7CiAgICAgICAgbG9jYWwgRVBBVENIX1NPVVJDRT0iJDEiOwogICAgICAgIGxv
Y2FsIEVQQVRDSF9TVUZGSVg9IiR7MSMjKlwufSI7CiAgICBlbHNlCiAgICAgICAgaWYgWyAtbiAi
JDEiIC1hIC1kICIkMSIgXTsgdGhlbgogICAgICAgICAgICBpZiBbICIke0VQQVRDSF9GT1JDRX0i
ID0gInllcyIgXSAmJiBbIC16ICIke0VQQVRDSF9TVUZGSVh9IiBdOyB0aGVuCiAgICAgICAgICAg
ICAgICBsb2NhbCBFUEFUQ0hfU09VUkNFPSIkMS8qIjsKICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgbG9jYWwgRVBBVENIX1NPVVJDRT0iJDEvKi4ke0VQQVRDSF9TVUZGSVh9IjsKICAg
ICAgICAgICAgZmk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBbWyAhIC1kICR7RVBBVENI
X1NPVVJDRX0gXV0gfHwgW1sgLW4gJDEgXV07IHRoZW4KICAgICAgICAgICAgICAgIGlmIFsgLW4g
IiQxIiAtYSAiJHtFUEFUQ0hfU09VUkNFfSIgPSAiJHtXT1JLRElSfS9wYXRjaCIgXTsgdGhlbgog
ICAgICAgICAgICAgICAgICAgIEVQQVRDSF9TT1VSQ0U9IiQxIjsKICAgICAgICAgICAgICAgIGZp
OwogICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAgIGVlcnJvciAiQ2Fubm90IGZp
bmQgXCRFUEFUQ0hfU09VUkNFISAgVmFsdWUgZm9yIFwkRVBBVENIX1NPVVJDRSBpczoiOwogICAg
ICAgICAgICAgICAgZWVycm9yOwogICAgICAgICAgICAgICAgZWVycm9yICIgICR7RVBBVENIX1NP
VVJDRX0iOwogICAgICAgICAgICAgICAgZWVycm9yICIgICggJHtFUEFUQ0hfU09VUkNFIyMqL30g
KSI7CiAgICAgICAgICAgICAgICBlY2hvOwogICAgICAgICAgICAgICAgZGllICJDYW5ub3QgZmlu
ZCBcJEVQQVRDSF9TT1VSQ0UhIjsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGxvY2FsIEVQ
QVRDSF9TT1VSQ0U9IiR7RVBBVENIX1NPVVJDRX0vKi4ke0VQQVRDSF9TVUZGSVh9IjsKICAgICAg
ICBmaTsKICAgIGZpOwogICAgY2FzZSAke0VQQVRDSF9TVUZGSVgjIypcLn0gaW4gCiAgICAgICAg
YnoyKQogICAgICAgICAgICBQSVBFX0NNRD0iYnppcDIgLWRjIjsKICAgICAgICAgICAgUEFUQ0hf
U1VGRklYPSJiejIiCiAgICAgICAgOzsKICAgICAgICBneiB8IFogfCB6KQogICAgICAgICAgICBQ
SVBFX0NNRD0iZ3ppcCAtZGMiOwogICAgICAgICAgICBQQVRDSF9TVUZGSVg9Imd6IgogICAgICAg
IDs7CiAgICAgICAgWklQIHwgemlwKQogICAgICAgICAgICBQSVBFX0NNRD0idW56aXAgLXAiOwog
ICAgICAgICAgICBQQVRDSF9TVUZGSVg9InppcCIKICAgICAgICA7OwogICAgICAgICopCiAgICAg
ICAgICAgIFBJUEVfQ01EPSJjYXQiOwogICAgICAgICAgICBQQVRDSF9TVUZGSVg9InBhdGNoIgog
ICAgICAgIDs7CiAgICBlc2FjOwogICAgaWYgWyAiJHtTSU5HTEVfUEFUQ0h9IiA9ICJubyIgXTsg
dGhlbgogICAgICAgIGVpbmZvICIke0VQQVRDSF9NVUxUSV9NU0d9IjsKICAgIGZpOwogICAgZm9y
IHggaW4gJHtFUEFUQ0hfU09VUkNFfTsKICAgIGRvCiAgICAgICAgaWYgWyAtZiAke3h9IF0gJiYg
KCBbICIke1NJTkdMRV9QQVRDSH0iID0gInllcyIgLW8gIiR7eC9fYWxsX30iICE9ICIke3h9IiAt
byAiJHt4L18ke0FSQ0h9X30iICE9ICIke3h9IiBdIHx8IFsgIiR7RVBBVENIX0ZPUkNFfSIgPSAi
eWVzIiBdICk7IHRoZW4KICAgICAgICAgICAgbG9jYWwgY291bnQ9MDsKICAgICAgICAgICAgbG9j
YWwgcG9wdHM9IiR7RVBBVENIX09QVFN9IjsKICAgICAgICAgICAgbG9jYWwgcGF0Y2huYW1lPSR7
eCMjKi99OwogICAgICAgICAgICBpZiBbIC1uICIke0VQQVRDSF9FWENMVURFfSIgXTsgdGhlbgog
ICAgICAgICAgICAgICAgaWYgWyAiJHtFUEFUQ0hfRVhDTFVERS8ke3BhdGNobmFtZX19IiAhPSAi
JHtFUEFUQ0hfRVhDTFVERX0iIF07IHRoZW4KICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICBmaTsKICAgICAgICAgICAgaWYgWyAiJHtT
SU5HTEVfUEFUQ0h9IiA9ICJ5ZXMiIF07IHRoZW4KICAgICAgICAgICAgICAgIGlmIFsgLW4gIiR7
RVBBVENIX1NJTkdMRV9NU0d9IiBdOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgZWluZm8gIiR7
RVBBVENIX1NJTkdMRV9NU0d9IjsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg
ICAgICBlaW5mbyAiQXBwbHlpbmcgJHtwYXRjaG5hbWV9IC4uLiI7CiAgICAgICAgICAgICAgICBm
aTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgZWluZm8gIiAgJHtwYXRjaG5hbWV9
IC4uLiI7CiAgICAgICAgICAgIGZpOwogICAgICAgICAgICBlY2hvICIqKioqKiAke3BhdGNobmFt
ZX0gKioqKioiID4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFS
R0VUIyMqL307CiAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNo
bmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgIHdoaWxlIFsgIiR7Y291bnR9
IiAtbHQgNSBdOyBkbwogICAgICAgICAgICAgICAgX2VwYXRjaF9kcmF3X2xpbmUgIioqKioqICR7
cGF0Y2huYW1lfSAqKioqKiIgPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtT
VERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICBlY2hvID4+ICR7U1RERVJSX1RBUkdF
VCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99OwogICAgICAgICAgICAgICAg
aWYgWyAiJHtQQVRDSF9TVUZGSVh9IiAhPSAicGF0Y2giIF07IHRoZW4KICAgICAgICAgICAgICAg
ICAgICBlY2hvIC1uICJQSVBFX0NPTU1BTkQ6CSIgPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3Bh
dGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICAgICAgZWNobyAi
JHtQSVBFX0NNRH0gJHt4fSA+ICR7UEFUQ0hfVEFSR0VUfSIgPj4gJHtTVERFUlJfVEFSR0VUJS8q
fS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICAgICAgUEFUQ0hfVEFSR0VUPSIke3h9IjsKICAgICAgICAgICAgICAg
IGZpOwogICAgICAgICAgICAgICAgZWNobyAtbiAiUEFUQ0ggQ09NTUFORDoJICIgPj4gJHtTVERF
UlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAg
ICAgICAgICBlY2hvICJwYXRjaCAtcCR7Y291bnR9ICR7cG9wdHN9IDwgJHtQQVRDSF9UQVJHRVR9
IiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyov
fTsKICAgICAgICAgICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFt
ZX0tJHtTVERFUlJfVEFSR0VUIyMqL307CiAgICAgICAgICAgICAgICBfZXBhdGNoX2RyYXdfbGlu
ZSAiKioqKiogJHtwYXRjaG5hbWV9ICoqKioqIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0
Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAgICAgICAgIGlmIFsgIiR7UEFU
Q0hfU1VGRklYfSIgIT0gInBhdGNoIiBdOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgaWYgISAo
ICR7UElQRV9DTUR9ICR7eH0gPiAke1BBVENIX1RBUkdFVH0gKSA+PiAke1NUREVSUl9UQVJHRVQl
Lyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfSAyPiYxOyB0aGVuCiAgICAgICAg
ICAgICAgICAgICAgICAgIGVjaG87CiAgICAgICAgICAgICAgICAgICAgICAgIGVlcnJvciAiQ291
bGQgbm90IGV4dHJhY3QgcGF0Y2ghIjsKICAgICAgICAgICAgICAgICAgICAgICAgY291bnQ9NTsK
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgZmk7CiAg
ICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgICAgIGlmICggY2F0ICR7UEFUQ0hfVEFSR0VU
fSB8IHBhdGNoIC1wJHtjb3VudH0gJHtwb3B0c30gLS1kcnktcnVuIC1mOwogICAgICAgICAgICAg
ICAgX2VwYXRjaF9hc3NlcnQgKSA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0k
e1NUREVSUl9UQVJHRVQjIyovfSAyPiYxOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgX2VwYXRj
aF9kcmF3X2xpbmUgIioqKioqICR7cGF0Y2huYW1lfSAqKioqKiIgPiAke1NUREVSUl9UQVJHRVQl
Lyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAg
ICAgICAgIGVjaG8gPj4gJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJf
VEFSR0VUIyMqL30ucmVhbDsKICAgICAgICAgICAgICAgICAgICBlY2hvICJBQ1RVQUxMWSBBUFBM
WUlORyAke3BhdGNobmFtZX0gLi4uIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1l
fS0ke1NUREVSUl9UQVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAgICAgIGVjaG8gPj4g
JHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30ucmVh
bDsKICAgICAgICAgICAgICAgICAgICBfZXBhdGNoX2RyYXdfbGluZSAiKioqKiogJHtwYXRjaG5h
bWV9ICoqKioqIiA+PiAke1NUREVSUl9UQVJHRVQlLyp9LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9U
QVJHRVQjIyovfS5yZWFsOwogICAgICAgICAgICAgICAgICAgIGNhdCAke1BBVENIX1RBUkdFVH0g
fCBwYXRjaCAtcCR7Y291bnR9ICR7cG9wdHN9ID4+ICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRj
aG5hbWV9LSR7U1RERVJSX1RBUkdFVCMjKi99LnJlYWwgMj4mMTsKICAgICAgICAgICAgICAgICAg
ICBfZXBhdGNoX2Fzc2VydDsKICAgICAgICAgICAgICAgICAgICBpZiBbICIkPyIgLW5lIDAgXTsg
dGhlbgogICAgICAgICAgICAgICAgICAgICAgICBjYXQgJHtTVERFUlJfVEFSR0VUJS8qfS8ke3Bh
dGNobmFtZX0tJHtTVERFUlJfVEFSR0VUIyMqL30ucmVhbCA+PiAke1NUREVSUl9UQVJHRVQlLyp9
LyR7cGF0Y2huYW1lfS0ke1NUREVSUl9UQVJHRVQjIyovfTsKICAgICAgICAgICAgICAgICAgICAg
ICAgZWNobzsKICAgICAgICAgICAgICAgICAgICAgICAgZWVycm9yICJBIGRyeS1ydW4gb2YgcGF0
Y2ggY29tbWFuZCBzdWNjZWVkZWQsIGJ1dCBhY3R1YWxseSI7CiAgICAgICAgICAgICAgICAgICAg
ICAgIGVlcnJvciAiYXBwbHlpbmcgdGhlIHBhdGNoIGZhaWxlZCEiOwogICAgICAgICAgICAgICAg
ICAgICAgICBjb3VudD01OwogICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAg
ICAgIHJtIC1mICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RBUkdF
VCMjKi99LnJlYWw7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBm
aTsKICAgICAgICAgICAgICAgIGNvdW50PSQoKGNvdW50ICsgMSkpOwogICAgICAgICAgICBkb25l
OwogICAgICAgICAgICBpZiBbICIke1BBVENIX1NVRkZJWH0iICE9ICJwYXRjaCIgXTsgdGhlbgog
ICAgICAgICAgICAgICAgcm0gLWYgJHtQQVRDSF9UQVJHRVR9OwogICAgICAgICAgICBmaTsKICAg
ICAgICAgICAgaWYgWyAiJHtjb3VudH0iIC1lcSA1IF07IHRoZW4KICAgICAgICAgICAgICAgIGVj
aG87CiAgICAgICAgICAgICAgICBlZXJyb3IgIkZhaWxlZCBQYXRjaDogJHtwYXRjaG5hbWV9ICEi
OwogICAgICAgICAgICAgICAgZWVycm9yICIgKCAke1BBVENIX1RBUkdFVH0gKSI7CiAgICAgICAg
ICAgICAgICBlZXJyb3I7CiAgICAgICAgICAgICAgICBlZXJyb3IgIkluY2x1ZGUgaW4geW91ciBi
dWdyZXBvcnQgdGhlIGNvbnRlbnRzIG9mOiI7CiAgICAgICAgICAgICAgICBlZXJyb3I7CiAgICAg
ICAgICAgICAgICBlZXJyb3IgIiAgJHtTVERFUlJfVEFSR0VUJS8qfS8ke3BhdGNobmFtZX0tJHtT
VERFUlJfVEFSR0VUIyMqL30iOwogICAgICAgICAgICAgICAgZWNobzsKICAgICAgICAgICAgICAg
IGRpZSAiRmFpbGVkIFBhdGNoOiAke3BhdGNobmFtZX0hIjsKICAgICAgICAgICAgZmk7CiAgICAg
ICAgICAgIHJtIC1mICR7U1RERVJSX1RBUkdFVCUvKn0vJHtwYXRjaG5hbWV9LSR7U1RERVJSX1RB
UkdFVCMjKi99OwogICAgICAgICAgICBlZW5kIDA7CiAgICAgICAgZmk7CiAgICBkb25lOwogICAg
aWYgWyAiJHtTSU5HTEVfUEFUQ0h9IiA9ICJubyIgXTsgdGhlbgogICAgICAgIGVpbmZvICJEb25l
IHdpdGggcGF0Y2hpbmciOwogICAgZmkKfQplcGF1c2UgKCkgCnsgCiAgICBbWyAteiAke0VQQVVT
RV9JR05PUkV9IF1dICYmIHNsZWVwICR7MTotNX0KfQplcHVudF9jeHggKCkgCnsgCiAgICBsb2Nh
bCBkaXI9JDE7CiAgICBbWyAteiAke2Rpcn0gXV0gJiYgZGlyPSR7U307CiAgICBlYmVnaW4gIlJl
bW92aW5nIHVzZWxlc3MgQysrIGNoZWNrcyI7CiAgICBsb2NhbCBmOwogICAgZmluZCAiJHtkaXJ9
IiAtbmFtZSBjb25maWd1cmUgfCB3aGlsZSByZWFkIGY7IGRvCiAgICAgICAgcGF0Y2ggLS1uby1i
YWNrdXAtaWYtbWlzbWF0Y2ggLXAwICIke2Z9IiAiJHtQT1JURElSfS9lY2xhc3MvRUxULXBhdGNo
ZXMvbm9jeHgvbm9jeHgucGF0Y2giID4gL2Rldi9udWxsOwogICAgZG9uZTsKICAgIGVlbmQgMAp9
CmVzdm5fY2xlYW4gKCkgCnsgCiAgICBbWyAteiAkKiBdXSAmJiBzZXQgLS0gLjsKICAgIGZpbmQg
IiRAIiAtdHlwZSBkIC1uYW1lICcuc3ZuJyAtcHJ1bmUgLXByaW50MCB8IHhhcmdzIC0wIHJtIC1y
Zgp9CmZpbmRfdW5wYWNrYWJsZV9maWxlICgpIAp7IAogICAgbG9jYWwgc3JjPSQxOwogICAgaWYg
W1sgLXogJHtzcmN9IF1dOyB0aGVuCiAgICAgICAgc3JjPSR7RElTVERJUn0vJHtBfTsKICAgIGVs
c2UKICAgICAgICBpZiBbWyAtZSAke0RJU1RESVJ9LyR7c3JjfSBdXTsgdGhlbgogICAgICAgICAg
ICBzcmM9JHtESVNURElSfS8ke3NyY307CiAgICAgICAgZWxzZQogICAgICAgICAgICBpZiBbWyAt
ZSAke1BXRH0vJHtzcmN9IF1dOyB0aGVuCiAgICAgICAgICAgICAgICBzcmM9JHtQV0R9LyR7c3Jj
fTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgaWYgW1sgLWUgJHtzcmN9IF1dOyB0
aGVuCiAgICAgICAgICAgICAgICAgICAgc3JjPSR7c3JjfTsKICAgICAgICAgICAgICAgIGZpOwog
ICAgICAgICAgICBmaTsKICAgICAgICBmaTsKICAgIGZpOwogICAgW1sgISAtZSAke3NyY30gXV0g
JiYgcmV0dXJuIDE7CiAgICBlY2hvICIke3NyY30iCn0KZ2NjLWZ1bGx2ZXJzaW9uICgpIAp7IAog
ICAgJCh0Yy1nZXRDQyAiJEAiKSAtZHVtcHZlcnNpb24KfQpnY2MtbWFqb3ItdmVyc2lvbiAoKSAK
eyAKICAgIGdjYy12ZXJzaW9uICIkQCIgfCBjdXQgLWYxIC1kLgp9CmdjYy1taWNyby12ZXJzaW9u
ICgpIAp7IAogICAgZ2NjLWZ1bGx2ZXJzaW9uICIkQCIgfCBjdXQgLWYzIC1kLiB8IGN1dCAtZjEg
LWQtCn0KZ2NjLW1pbm9yLXZlcnNpb24gKCkgCnsgCiAgICBnY2MtdmVyc2lvbiAiJEAiIHwgY3V0
IC1mMiAtZC4KfQpnY2Mtc3BlY3MtZGlyZWN0aXZlICgpIAp7IAogICAgbG9jYWwgZGlyZWN0aXZl
IHN1YmRuYW1lIHN1YmRpcmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0iJChfZ2NjLXNwZWNzLWRpcmVj
dGl2ZV9yYXcgJDEpIjsKICAgIHdoaWxlIFtbICR7ZGlyZWN0aXZlfSA9PSAqJVwoKlwpKiBdXTsg
ZG8KICAgICAgICBzdWJkbmFtZT0ke2RpcmVjdGl2ZS8qJVwofTsKICAgICAgICBzdWJkbmFtZT0k
e3N1YmRuYW1lL1wpKn07CiAgICAgICAgc3ViZGlyZWN0aXZlPSIkKF9nY2Mtc3BlY3MtZGlyZWN0
aXZlX3JhdyAke3N1YmRuYW1lfSkiOwogICAgICAgIGRpcmVjdGl2ZT0iJHtkaXJlY3RpdmUvL1wl
KCR7c3ViZG5hbWV9KS8ke3N1YmRpcmVjdGl2ZX19IjsKICAgIGRvbmU7CiAgICBlY2hvICIke2Rp
cmVjdGl2ZX0iOwogICAgcmV0dXJuIDAKfQpnY2Mtc3BlY3Mtbm93ICgpIAp7IAogICAgbG9jYWwg
ZGlyZWN0aXZlOwogICAgZGlyZWN0aXZlPSQoZ2NjLXNwZWNzLWRpcmVjdGl2ZSBsaW5rX2NvbW1h
bmQpOwogICAgcmV0dXJuICQoW1sgJHtkaXJlY3RpdmUvXHshbm9ub3c6fSAhPSAke2RpcmVjdGl2
ZX0gXV0pCn0KZ2NjLXNwZWNzLXBpZSAoKSAKeyAKICAgIGxvY2FsIGRpcmVjdGl2ZTsKICAgIGRp
cmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJlY3RpdmUgY2MxKTsKICAgIHJldHVybiAkKFtbICR7ZGly
ZWN0aXZlL1x7IW5vcGllOn0gIT0gJHtkaXJlY3RpdmV9IF1dKQp9CmdjYy1zcGVjcy1yZWxybyAo
KSAKeyAKICAgIGxvY2FsIGRpcmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJl
Y3RpdmUgbGlua19jb21tYW5kKTsKICAgIHJldHVybiAkKFtbICR7ZGlyZWN0aXZlL1x7IW5vcmVs
cm86fSAhPSAke2RpcmVjdGl2ZX0gXV0pCn0KZ2NjLXNwZWNzLXNzcCAoKSAKeyAKICAgIGxvY2Fs
IGRpcmVjdGl2ZTsKICAgIGRpcmVjdGl2ZT0kKGdjYy1zcGVjcy1kaXJlY3RpdmUgY2MxKTsKICAg
IHJldHVybiAkKFtbICR7ZGlyZWN0aXZlL1x7IWZuby1zdGFjay1wcm90ZWN0b3I6fSAhPSAke2Rp
cmVjdGl2ZX0gXV0pCn0KZ2NjLXNwZWNzLXNzcC10by1hbGwgKCkgCnsgCiAgICBsb2NhbCBkaXJl
Y3RpdmU7CiAgICBkaXJlY3RpdmU9JChnY2Mtc3BlY3MtZGlyZWN0aXZlIGNjMSk7CiAgICByZXR1
cm4gJChbWyAke2RpcmVjdGl2ZS9ceyFmbm8tc3RhY2stcHJvdGVjdG9yLWFsbDp9ICE9ICR7ZGly
ZWN0aXZlfSBdXSkKfQpnY2MtdmVyc2lvbiAoKSAKeyAKICAgIGdjYy1mdWxsdmVyc2lvbiAiJEAi
IHwgY3V0IC1mMSwyIC1kLgp9Cmdlbl91c3JfbGRzY3JpcHQgKCkgCnsgCiAgICBsb2NhbCBsaWIg
bGliZGlyPSQoZ2V0X2xpYmRpcikgb3V0cHV0X2Zvcm1hdD0iIjsKICAgIGRvZGlyIC91c3IvJHts
aWJkaXJ9OwogICAgb3V0cHV0X2Zvcm1hdD0kKCQodGMtZ2V0Q0MpICR7Q0ZMQUdTfSAke0xERkxB
R1N9IC1XbCwtLXZlcmJvc2UgMj4mMSB8IHNlZCAtbiAncy9eT1VUUFVUX0ZPUk1BVCgiXChbXiJd
KlwpIiwuKi9cMS9wJyk7CiAgICBbWyAtbiAke291dHB1dF9mb3JtYXR9IF1dICYmIG91dHB1dF9m
b3JtYXQ9Ik9VVFBVVF9GT1JNQVQgKCAke291dHB1dF9mb3JtYXR9ICkiOwogICAgZm9yIGxpYiBp
biAiJEAiOwogICAgZG8KICAgICAgICBpZiBbWyAke1VTRVJMQU5EfSA9PSAiRGFyd2luIiBdXTsg
dGhlbgogICAgICAgICAgICBld2FybiAiTm90IGNyZWF0aW5nIGZha2UgZHluYW1pYyBsaWJyYXJ5
IGZvciAkbGliIG9uIERhcndpbjsiOwogICAgICAgICAgICBld2FybiAibWFraW5nIGEgc3ltbGlu
ayBpbnN0ZWFkLiI7CiAgICAgICAgICAgIGRvc3ltICIvJHtsaWJkaXJ9LyR7bGlifSIgIi91c3Iv
JHtsaWJkaXJ9LyR7bGlifSI7CiAgICAgICAgZWxzZQogICAgICAgICAgICBjYXQgPiAiJHtEfS91
c3IvJHtsaWJkaXJ9LyR7bGlifSIgIDw8LUVORF9MRFNDUklQVAovKiBHTlUgbGQgc2NyaXB0CiAg
IFNpbmNlIEdlbnRvbyBoYXMgY3JpdGljYWwgZHluYW1pYyBsaWJyYXJpZXMKICAgaW4gL2xpYiwg
YW5kIHRoZSBzdGF0aWMgdmVyc2lvbnMgaW4gL3Vzci9saWIsCiAgIHdlIG5lZWQgdG8gaGF2ZSBh
ICJmYWtlIiBkeW5hbWljIGxpYiBpbiAvdXNyL2xpYiwKICAgb3RoZXJ3aXNlIHdlIHJ1biBpbnRv
IGxpbmtpbmcgcHJvYmxlbXMuCgogICBTZWUgYnVnIGh0dHA6Ly9idWdzLmdlbnRvby5vcmcvNDQx
MSBmb3IgbW9yZSBpbmZvLgogKi8KJHtvdXRwdXRfZm9ybWF0fQpHUk9VUCAoIC8ke2xpYmRpcn0v
JHtsaWJ9ICkKRU5EX0xEU0NSSVBUCgogICAgICAgIGZpCiAgICAgICAgZnBlcm1zIGEreCAiL3Vz
ci8ke2xpYmRpcn0vJHtsaWJ9IiB8fCBkaWUgImNvdWxkIG5vdCBjaGFuZ2UgcGVybXMgb24gJHts
aWJ9IjsKICAgIGRvbmUKfQpnZXRfYWJpX0FTRkxBR1MgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBB
U0ZMQUdTICIkQCIKfQpnZXRfYWJpX0NERUZJTkUgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBDREVG
SU5FICIkQCIKfQpnZXRfYWJpX0NGTEFHUyAoKSAKeyAKICAgIGdldF9hYmlfdmFyIENGTEFHUyAi
JEAiCn0KZ2V0X2FiaV9DSE9TVCAoKSAKeyAKICAgIGdldF9hYmlfdmFyIENIT1NUICIkQCIKfQpn
ZXRfYWJpX0NUQVJHRVQgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBDVEFSR0VUICIkQCIKfQpnZXRf
YWJpX0ZBS0VfVEFSR0VUUyAoKSAKeyAKICAgIGdldF9hYmlfdmFyIEZBS0VfVEFSR0VUUyAiJEAi
Cn0KZ2V0X2FiaV9MREZMQUdTICgpIAp7IAogICAgZ2V0X2FiaV92YXIgTERGTEFHUyAiJEAiCn0K
Z2V0X2FiaV9MSUJESVIgKCkgCnsgCiAgICBnZXRfYWJpX3ZhciBMSUJESVIgIiRAIgp9CmdldF9h
YmlfdmFyICgpIAp7IAogICAgbG9jYWwgZmxhZz0kMTsKICAgIGxvY2FsIGFiaTsKICAgIGlmIFsg
JCMgLWd0IDEgXTsgdGhlbgogICAgICAgIGFiaT0kezJ9OwogICAgZWxzZQogICAgICAgIGlmIFsg
LW4gIiR7QUJJfSIgXTsgdGhlbgogICAgICAgICAgICBhYmk9JHtBQkl9OwogICAgICAgIGVsc2UK
ICAgICAgICAgICAgaWYgWyAtbiAiJHtERUZBVUxUX0FCSX0iIF07IHRoZW4KICAgICAgICAgICAg
ICAgIGFiaT0ke0RFRkFVTFRfQUJJfTsKICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAg
YWJpPSJkZWZhdWx0IjsKICAgICAgICAgICAgZmk7CiAgICAgICAgZmk7CiAgICBmaTsKICAgIGxv
Y2FsIHZhcj0iJHtmbGFnfV8ke2FiaX0iOwogICAgZWNobyAkeyF2YXJ9Cn0KZ2V0X2FmdGVyX21h
am9yX3ZlcnNpb24gKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvbjsKICAg
IGVjaG8gJChnZXRfdmVyc2lvbl9jb21wb25lbnRfcmFuZ2UgMi0gIiR7MTotJHtQVn19IiApOwog
ICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmCn0KZ2V0X2FsbF9hYmlzICgpIAp7IAog
ICAgbG9jYWwgb3JkZXI9IiI7CiAgICBpZiBbWyAteiAke01VTFRJTElCX0FCSVN9IF1dOyB0aGVu
CiAgICAgICAgZWNobyAiZGVmYXVsdCI7CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAgIGZv
ciB4IGluICR7TVVMVElMSUJfQUJJU307CiAgICBkbwogICAgICAgIGlmIFtbICR7eH0gIT0gJHtE
RUZBVUxUX0FCSX0gXV07IHRoZW4KICAgICAgICAgICAgb3JkZXI9IiR7b3JkZXI6KyR7b3JkZXJ9
IH0ke3h9IjsKICAgICAgICBmaTsKICAgIGRvbmU7CiAgICBvcmRlcj0iJHtvcmRlcjorJHtvcmRl
cn0gfSR7REVGQVVMVF9BQkl9IjsKICAgIGVjaG8gJHtvcmRlcn07CiAgICByZXR1cm4gMAp9Cmdl
dF9hbGxfbGliZGlycyAoKSAKeyAKICAgIGxvY2FsIGxpYmRpcnM9ImxpYiI7CiAgICBsb2NhbCBh
Ymk7CiAgICBsb2NhbCBkaXI7CiAgICBmb3IgYWJpIGluICR7TVVMVElMSUJfQUJJU307CiAgICBk
bwogICAgICAgIFsgIiQoZ2V0X2FiaV9MSUJESVIgJHthYml9KSIgIT0gImxpYiIgXSAmJiBsaWJk
aXJzPSIke2xpYmRpcnN9ICQoZ2V0X2FiaV9MSUJESVIgJHthYml9KSI7CiAgICBkb25lOwogICAg
ZWNobyAiJHtsaWJkaXJzfSIKfQpnZXRfYWxsX3ZlcnNpb25fY29tcG9uZW50cyAoKSAKeyAKICAg
IF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9uOwogICAgbG9jYWwgdmVyX3N0cj0kezE6LSR7
UFZ9fSByZXN1bHQgcmVzdWx0X2lkeD0wOwogICAgcmVzdWx0PSgpOwogICAgaWYgW1sgIiR7VkVS
U0lPTkFUT1JfQ0FDSEVfVkVSX1NUUn0iID09ICIke3Zlcl9zdHJ9IiBdXTsgdGhlbgogICAgICAg
IGVjaG8gJHtWRVJTSU9OQVRPUl9DQUNIRV9SRVNVTFR9OwogICAgICAgIF9fdmVyc2lvbmF0b3Jf
c2hvcHRfdG9nZ2xlIG9mZjsKICAgICAgICByZXR1cm47CiAgICBmaTsKICAgIGV4cG9ydCBWRVJT
SU9OQVRPUl9DQUNIRV9WRVJfU1RSPSIke3Zlcl9zdHJ9IjsKICAgIHdoaWxlIFtbIC1uICIkdmVy
X3N0ciIgXV07IGRvCiAgICAgICAgY2FzZSAiJHt2ZXJfc3RyOjA6MX0iIGluIAogICAgICAgICAg
ICBbWzpkaWdpdDpdXSkKICAgICAgICAgICAgICAgIHJlc3VsdFskcmVzdWx0X2lkeF09IiR7dmVy
X3N0ciUlW15bOmRpZ2l0Ol1dKn0iOwogICAgICAgICAgICAgICAgdmVyX3N0cj0iJHt2ZXJfc3Ry
IyMrKFtbOmRpZ2l0Ol1dKX0iOwogICAgICAgICAgICAgICAgcmVzdWx0X2lkeD0kKCgkcmVzdWx0
X2lkeCArIDEpKQogICAgICAgICAgICA7OwogICAgICAgICAgICBbLV8uXSkKICAgICAgICAgICAg
ICAgIHJlc3VsdFskcmVzdWx0X2lkeF09IiR7dmVyX3N0cjowOjF9IjsKICAgICAgICAgICAgICAg
IHZlcl9zdHI9IiR7dmVyX3N0cjoxfSI7CiAgICAgICAgICAgICAgICByZXN1bHRfaWR4PSQoKCRy
ZXN1bHRfaWR4ICsgMSkpCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIFtbOmFscGhhOl1dKQog
ICAgICAgICAgICAgICAgbG9jYWwgbm90X21hdGNoPSIke3Zlcl9zdHIjIysoW1s6YWxwaGE6XV0p
KihbWzpkaWdpdDpdXSl9IjsKICAgICAgICAgICAgICAgIHJlc3VsdFskcmVzdWx0X2lkeF09JHt2
ZXJfc3RyOjA6JCgoJHsjdmVyX3N0cn0gLSAkeyNub3RfbWF0Y2h9KSl9OwogICAgICAgICAgICAg
ICAgdmVyX3N0cj0iJHtub3RfbWF0Y2h9IjsKICAgICAgICAgICAgICAgIHJlc3VsdF9pZHg9JCgo
JHJlc3VsdF9pZHggKyAxKSkKICAgICAgICAgICAgOzsKICAgICAgICAgICAgKikKICAgICAgICAg
ICAgICAgIHJlc3VsdFskcmVzdWx0X2lkeF09IiR7dmVyX3N0cjowOjF9IjsKICAgICAgICAgICAg
ICAgIHZlcl9zdHI9IiR7dmVyX3N0cjoxfSI7CiAgICAgICAgICAgICAgICByZXN1bHRfaWR4PSQo
KCRyZXN1bHRfaWR4ICsgMSkpCiAgICAgICAgICAgIDs7CiAgICAgICAgZXNhYzsKICAgIGRvbmU7
CiAgICBleHBvcnQgVkVSU0lPTkFUT1JfQ0FDSEVfUkVTVUxUPSIke3Jlc3VsdFtAXX0iOwogICAg
ZWNobyAke3Jlc3VsdFtAXX07CiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYKfQpn
ZXRfYm1ha2UgKCkgCnsgCiAgICBpZiBbWyAke1VTRVJMQU5EfSA9PSAqQlNEIF1dOyB0aGVuCiAg
ICAgICAgZWNobyBtYWtlOwogICAgZWxzZQogICAgICAgIGlmIFtbICR7VVNFUkxBTkR9ID09ICJE
YXJ3aW4iIF1dOyB0aGVuCiAgICAgICAgICAgIGVjaG8gYnNkbWFrZTsKICAgICAgICBlbHNlCiAg
ICAgICAgICAgIGVjaG8gcG1ha2U7CiAgICAgICAgZmk7CiAgICBmaQp9CmdldF9pbnN0YWxsX2Fi
aXMgKCkgCnsgCiAgICBsb2NhbCBvcmRlcj0iIjsKICAgIGlmIFtbIC16ICR7TVVMVElMSUJfQUJJ
U30gXV07IHRoZW4KICAgICAgICBlY2hvICJkZWZhdWx0IjsKICAgICAgICByZXR1cm4gMDsKICAg
IGZpOwogICAgaWYgW1sgJHtFTVVMVElMSUJfUEtHfSA9PSAidHJ1ZSIgXV07IHRoZW4KICAgICAg
ICBmb3IgeCBpbiAke01VTFRJTElCX0FCSVN9OwogICAgICAgIGRvCiAgICAgICAgICAgIGlmIFtb
ICR7eH0gIT0gIiR7REVGQVVMVF9BQkl9IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgaGFzcSAk
e3h9ICR7QUJJX0RFTll9IHx8IG9yZGVyYT0iJHtvcmRlcmF9ICR7eH0iOwogICAgICAgICAgICBm
aTsKICAgICAgICBkb25lOwogICAgICAgIGhhc3EgJHtERUZBVUxUX0FCSX0gJHtBQklfREVOWX0g
fHwgb3JkZXI9IiR7b3JkZXJhfSAke0RFRkFVTFRfQUJJfSI7CiAgICAgICAgaWYgW1sgLW4gJHtB
QklfQUxMT1d9IF1dOyB0aGVuCiAgICAgICAgICAgIGxvY2FsIG9yZGVyYT0iIjsKICAgICAgICAg
ICAgZm9yIHggaW4gJHtvcmRlcn07CiAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICBpZiBo
YXNxICR7eH0gJHtBQklfQUxMT1d9OyB0aGVuCiAgICAgICAgICAgICAgICAgICAgb3JkZXJhPSIk
e29yZGVyYX0gJHt4fSI7CiAgICAgICAgICAgICAgICBmaTsKICAgICAgICAgICAgZG9uZTsKICAg
ICAgICAgICAgb3JkZXI9JHtvcmRlcmF9OwogICAgICAgIGZpOwogICAgZWxzZQogICAgICAgIG9y
ZGVyPSR7REVGQVVMVF9BQkl9OwogICAgZmk7CiAgICBpZiBbWyAteiAke29yZGVyfSBdXTsgdGhl
bgogICAgICAgIGRpZSAiVGhlIEFCSSBsaXN0IGlzIGVtcHR5LiAgQXJlIHlvdSB1c2luZyBhIHBy
b3BlciBtdWx0aWxpYiBwcm9maWxlPyAgUGVyaGFwcyB5b3VyIFVTRSBmbGFncyBvciBNVUxUSUxJ
Ql9BQklTIGFyZSB0b28gcmVzdHJpY3RpdmUgZm9yIHRoaXMgcGFja2FnZS4iOwogICAgZmk7CiAg
ICBlY2hvICR7b3JkZXJ9OwogICAgcmV0dXJuIDAKfQpnZXRfbGFzdF92ZXJzaW9uX2NvbXBvbmVu
dF9pbmRleCAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9uOwogICAgZWNo
byAkKCggJChnZXRfdmVyc2lvbl9jb21wb25lbnRfY291bnQgIiR7MTotJHtQVn19IiApIC0gMSAp
KTsKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZgp9CmdldF9saWJkaXIgKCkgCnsg
CiAgICBsb2NhbCBDT05GX0xJQkRJUjsKICAgIGlmIFsgLW4gIiR7Q09ORl9MSUJESVJfT1ZFUlJJ
REV9IiBdOyB0aGVuCiAgICAgICAgZWNobyAke0NPTkZfTElCRElSX09WRVJSSURFfTsKICAgIGVs
c2UKICAgICAgICBnZXRfYWJpX0xJQkRJUjsKICAgIGZpCn0KZ2V0X2xpYmRpcl9vdmVycmlkZSAo
KSAKeyAKICAgIGlmIGhhc19tdWx0aWxpYl9wcm9maWxlOyB0aGVuCiAgICAgICAgZWVycm9yICJn
ZXRfbGliZGlyX292ZXJyaWRlIGNhbGxlZCwgYnV0IGl0IHNob3VsZG4ndCBiZSBuZWVkZWQgd2l0
aCB0aGUgbmV3IG11bHRpbGliIGFwcHJvYWNoLiAgUGxlYXNlIGZpbGUgYSBidWcgYXQgaHR0cDov
L2J1Z3MuZ2VudG9vLm9yZyBhbmQgYXNzaWduIGl0IHRvIGVyYWRpY2F0b3JAZ2VudG9vLm9yZyI7
CiAgICAgICAgZXhpdCAxOwogICAgZmk7CiAgICBDT05GX0xJQkRJUj0iJDEiOwogICAgQ09ORl9M
SUJESVJfT1ZFUlJJREU9IiQxIjsKICAgIExJQkRJUl9kZWZhdWx0PSIkMSIKfQpnZXRfbGlibmFt
ZSAoKSAKeyAKICAgIGxvY2FsIGxpYm5hbWU7CiAgICBsb2NhbCB2ZXI9JDE7CiAgICBjYXNlICR7
Q0hPU1R9IGluIAogICAgICAgICotZGFyd2luKikKICAgICAgICAgICAgbGlibmFtZT0iZHlsaWIi
CiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBsaWJuYW1lPSJzbyIKICAgICAgICA7
OwogICAgZXNhYzsKICAgIGlmIFtbIC16ICRAIF1dOyB0aGVuCiAgICAgICAgZWNobyAiLiR7bGli
bmFtZX0iOwogICAgZWxzZQogICAgICAgIGZvciB2ZXIgaW4gIiRAIjsKICAgICAgICBkbwogICAg
ICAgICAgICBjYXNlICR7Q0hPU1R9IGluIAogICAgICAgICAgICAgICAgKi1kYXJ3aW4qKQogICAg
ICAgICAgICAgICAgICAgIGVjaG8gIi4ke3Zlcn0uJHtsaWJuYW1lfSIKICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgICAgIGVjaG8gIi4ke2xpYm5h
bWV9LiR7dmVyfSIKICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGVzYWM7CiAgICAgICAg
ZG9uZTsKICAgIGZpCn0KZ2V0X21ham9yX3ZlcnNpb24gKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9y
X3Nob3B0X3RvZ2dsZSBvbjsKICAgIGxvY2FsIGM7CiAgICBjPSgkKGdldF9hbGxfdmVyc2lvbl9j
b21wb25lbnRzICIkezE6LSR7UFZ9fSIgKSk7CiAgICBlY2hvICR7Y1swXX07CiAgICBfX3ZlcnNp
b25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYKfQpnZXRfbWxfaW5jZGlyICgpIAp7IAogICAgbG9jYWwg
ZGlyPS91c3IvaW5jbHVkZTsKICAgIGlmIFtbICQjIC1ndCAwIF1dOyB0aGVuCiAgICAgICAgaW5j
ZGlyPSQxOwogICAgICAgIHNoaWZ0OwogICAgZmk7CiAgICBpZiBbWyAteiAiJHtNVUxUSUxJQl9B
QklTfSIgXV07IHRoZW4KICAgICAgICBlY2hvICR7aW5jZGlyfTsKICAgICAgICByZXR1cm4gMDsK
ICAgIGZpOwogICAgbG9jYWwgYWJpPSR7QUJJLSR7REVGQVVMVF9BQkl9fTsKICAgIGlmIFtbICQj
IC1ndCAwIF1dOyB0aGVuCiAgICAgICAgYWJpPSQxOwogICAgICAgIHNoaWZ0OwogICAgZmk7CiAg
ICBpZiBbWyAtZCAiJHtkaXJ9L2dlbnRvby1tdWx0aWxpYi8ke2FiaX0iIF1dOyB0aGVuCiAgICAg
ICAgZWNobyAke2Rpcn0vZ2VudG9vLW11bHRpbGliLyR7YWJpfTsKICAgIGVsc2UKICAgICAgICBl
Y2hvICR7ZGlyfTsKICAgIGZpCn0KZ2V0X21vdW50cyAoKSAKeyAKICAgIGxvY2FsIHBvaW50PSBu
b2RlPSBmcz0gb3B0cz0gZm9vPTsKICAgIGlmIFtbICQodW5hbWUgLXMpID09ICJMaW51eCIgXV07
IHRoZW4KICAgICAgICB3aGlsZSByZWFkIG5vZGUgcG9pbnQgZnMgb3B0cyBmb287IGRvCiAgICAg
ICAgICAgIGVjaG8gIiR7cG9pbnR9ICR7bm9kZX0gJHtmc30gJHtvcHRzfSI7CiAgICAgICAgZG9u
ZSA8IC9wcm9jL21vdW50czsKICAgICAgICByZXR1cm47CiAgICBmaTsKICAgIGxvY2FsIElGUz0n
CSc7CiAgICBMQ19BTEw9QyBtb3VudCAtcCB8IHdoaWxlIHJlYWQgbm9kZSBwb2ludCBmcyBmb287
IGRvCiAgICAgICAgb3B0cz0ke2ZzIyogfTsKICAgICAgICBmcz0ke2ZzJSUgKn07CiAgICAgICAg
ZWNobyAiJHtwb2ludC8vIC9cMDQwfSAke25vZGUvLyAvXDA0MH0gJHtmcyUlICp9ICR7b3B0cy8v
IC9cMDQwfSI7CiAgICBkb25lCn0KZ2V0X211bHRpbGliZGlyICgpIAp7IAogICAgaWYgaGFzX211
bHRpbGliX3Byb2ZpbGU7IHRoZW4KICAgICAgICBlZXJyb3IgImdldF9tdWx0aWxpYmRpciBjYWxs
ZWQsIGJ1dCBpdCBzaG91bGRuJ3QgYmUgbmVlZGVkIHdpdGggdGhlIG5ldyBtdWx0aWxpYiBhcHBy
b2FjaC4gIFBsZWFzZSBmaWxlIGEgYnVnIGF0IGh0dHA6Ly9idWdzLmdlbnRvby5vcmcgYW5kIGFz
c2lnbiBpdCB0byBlcmFkaWNhdG9yQGdlbnRvby5vcmciOwogICAgICAgIGV4aXQgMTsKICAgIGZp
OwogICAgZWNobyAke0NPTkZfTVVMVElMSUJESVI6PWxpYjMyfQp9CmdldF92ZXJzaW9uX2NvbXBv
bmVudF9jb3VudCAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9uOwogICAg
bG9jYWwgYTsKICAgIGE9KCQoZ2V0X3ZlcnNpb25fY29tcG9uZW50cyAiJHsxOi0ke1BWfX0iICkp
OwogICAgZWNobyAkeyNhW0BdfTsKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZgp9
CmdldF92ZXJzaW9uX2NvbXBvbmVudF9yYW5nZSAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jfc2hv
cHRfdG9nZ2xlIG9uOwogICAgbG9jYWwgYyB2PSIkezI6LSR7UFZ9fSIgcmFuZ2U9IiR7MX0iIHJh
bmdlX3N0YXJ0IHJhbmdlX2VuZCBpPS0xIGo9MDsKICAgIGM9KCQoZ2V0X2FsbF92ZXJzaW9uX2Nv
bXBvbmVudHMgJHt2fSApKTsKICAgIHJhbmdlX3N0YXJ0PSIke3JhbmdlJS0qfSI7CiAgICByYW5n
ZV9zdGFydD0iJHtyYW5nZV9zdGFydDotMX0iOwogICAgcmFuZ2VfZW5kPSIke3JhbmdlIyotfSI7
CiAgICByYW5nZV9lbmQ9IiR7cmFuZ2VfZW5kOi0keyNjW0BdfX0iOwogICAgd2hpbGUgKCggaiA8
ICR7cmFuZ2Vfc3RhcnR9ICkpOyBkbwogICAgICAgIGk9JCgoJGkgKyAxKSk7CiAgICAgICAgW1sg
JGkgLWd0ICR7I2NbQF19IF1dICYmIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZiAmJiBy
ZXR1cm47CiAgICAgICAgW1sgLW4gIiR7Y1ske2l9XS8vWy0uX119IiBdXSAmJiBqPSQoKCRqICsg
MSkpOwogICAgZG9uZTsKICAgIHdoaWxlICgoIGogPD0gJHtyYW5nZV9lbmR9ICkpOyBkbwogICAg
ICAgIGVjaG8gLW4gJHtjWyRpXX07CiAgICAgICAgW1sgJGkgLWd0ICR7I2NbQF19IF1dICYmIF9f
dmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZiAmJiByZXR1cm47CiAgICAgICAgW1sgLW4gIiR7
Y1ske2l9XS8vWy0uX119IiBdXSAmJiBqPSQoKCRqICsgMSkpOwogICAgICAgIGk9JCgoJGkgKyAx
KSk7CiAgICBkb25lOwogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmCn0KZ2V0X3Zl
cnNpb25fY29tcG9uZW50cyAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9u
OwogICAgbG9jYWwgYz0iJChnZXRfYWxsX3ZlcnNpb25fY29tcG9uZW50cyAiJHsxOi0ke1BWfX0i
KSI7CiAgICBjPSgke2NbQF0vL1stLl9dLyB9KTsKICAgIGVjaG8gJHtjW0BdfTsKICAgIF9fdmVy
c2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZgp9Cmhhc19tdWx0aWxpYl9wcm9maWxlICgpIAp7IAog
ICAgWyAtbiAiJHtNVUxUSUxJQl9BQklTfSIgLWEgIiR7TVVMVElMSUJfQUJJU30iICE9ICIke01V
TFRJTElCX0FCSVMvIC99IiBdCn0KaXMtbG9naW4tZGlzYWJsZWQgKCkgCnsgCiAgICBzaGVsbD0k
KGVnZXRzaGVsbCAiJDEiKTsKICAgIGNhc2UgJHtzaGVsbH0gaW4gCiAgICAgICAgL2Jpbi9mYWxz
ZSB8IC91c3IvYmluL2ZhbHNlIHwgL3NiaW4vbm9sb2dpbiB8IC91c3Ivc2Jpbi9ub2xvZ2luKQog
ICAgICAgICAgICByZXR1cm4gMAogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgcmV0
dXJuIDEKICAgICAgICA7OwogICAgZXNhYwp9CmlzX2ZpbmFsX2FiaSAoKSAKeyAKICAgIGhhc19t
dWx0aWxpYl9wcm9maWxlIHx8IHJldHVybiAwOwogICAgbG9jYWwgQUxMX0FCSVM9JChnZXRfaW5z
dGFsbF9hYmlzKTsKICAgIGxvY2FsIExBU1RfQUJJPSR7QUxMX0FCSVMvKiAvfTsKICAgIFtbICR7
TEFTVF9BQkl9ID09ICR7QUJJfSBdXQp9CmxhdGV4LXBhY2thZ2VfaGFzX3RldGV4XzMgKCkgCnsg
CiAgICBpZiBoYXNfdmVyc2lvbiAnPj1hcHAtdGV4dC90ZXRleC0zJyB8fCBoYXNfdmVyc2lvbiAn
Pj1hcHAtdGV4dC9wdGV4LTMuMS44JyB8fCBoYXNfdmVyc2lvbiAnPj1hcHAtdGV4dC90ZXhsaXZl
LWNvcmUtMjAwNyc7IHRoZW4KICAgICAgICB0cnVlOwogICAgZWxzZQogICAgICAgIGZhbHNlOwog
ICAgZmkKfQpsYXRleC1wYWNrYWdlX3BrZ19wb3N0aW5zdCAoKSAKeyAKICAgIGRlYnVnLXByaW50
IGZ1bmN0aW9uICRGVU5DTkFNRSAkKjsKICAgIGxhdGV4LXBhY2thZ2VfcmVoYXNoCn0KbGF0ZXgt
cGFja2FnZV9wa2dfcG9zdHJtICgpIAp7IAogICAgZGVidWctcHJpbnQgZnVuY3Rpb24gJEZVTkNO
QU1FICQqOwogICAgbGF0ZXgtcGFja2FnZV9yZWhhc2gKfQpsYXRleC1wYWNrYWdlX3JlaGFzaCAo
KSAKeyAKICAgIGRlYnVnLXByaW50IGZ1bmN0aW9uICRGVU5DTkFNRSAkKjsKICAgIGlmIGxhdGV4
LXBhY2thZ2VfaGFzX3RldGV4XzM7IHRoZW4KICAgICAgICB0ZXhtZi11cGRhdGU7CiAgICBlbHNl
CiAgICAgICAgdGV4Y29uZmlnIHJlaGFzaDsKICAgIGZpCn0KbGF0ZXgtcGFja2FnZV9zcmNfY29t
cGlsZSAoKSAKeyAKICAgIGRlYnVnLXByaW50IGZ1bmN0aW9uICRGVU5DTkFNRSAkKjsKICAgIGZv
ciBpIGluIGBmaW5kIFxgcHdkXGAgLW1heGRlcHRoIDEgLXR5cGUgZiAtbmFtZSAiKi5pbnMiYDsK
ICAgIGRvCiAgICAgICAgZWluZm8gIkV4dHJhY3RpbmcgZnJvbSAkaSI7CiAgICAgICAgbGF0ZXgg
LS1pbnRlcmFjdGlvbj1iYXRjaG1vZGUgJGkgPiYvZGV2L251bGw7CiAgICBkb25lCn0KbGF0ZXgt
cGFja2FnZV9zcmNfZG9pbnN0YWxsICgpIAp7IAogICAgZGVidWctcHJpbnQgZnVuY3Rpb24gJEZV
TkNOQU1FICQqOwogICAgWyAteiAiJDEiIF0gJiYgbGF0ZXgtcGFja2FnZV9zcmNfaW5zdGFsbCBh
bGw7CiAgICB3aGlsZSBbICIkMSIgXTsgZG8KICAgICAgICBjYXNlICQxIGluIAogICAgICAgICAg
ICAic2giKQogICAgICAgICAgICAgICAgZm9yIGkgaW4gYGZpbmQgLiAtbWF4ZGVwdGggMSAtdHlw
ZSBmIC1uYW1lICIqLiR7MX0iYDsKICAgICAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAgICAg
ICAgZG9iaW4gJGkgfHwgZGllICJkb2JpbiAkaSBmYWlsZWQiOwogICAgICAgICAgICAgICAgZG9u
ZQogICAgICAgICAgICA7OwogICAgICAgICAgICAic3R5IiB8ICJjbHMiIHwgImZkIiB8ICJjbG8i
IHwgImRlZiIgfCAiY2ZnIikKICAgICAgICAgICAgICAgIGZvciBpIGluIGBmaW5kIC4gLW1heGRl
cHRoIDEgLXR5cGUgZiAtbmFtZSAiKi4kezF9ImA7CiAgICAgICAgICAgICAgICBkbwogICAgICAg
ICAgICAgICAgICAgIGluc2ludG8gJHtURVhNRn0vdGV4L2xhdGV4LyR7UE59OwogICAgICAgICAg
ICAgICAgICAgIGRvaW5zICRpIHx8IGRpZSAiZG9pbnMgJGkgZmFpbGVkIjsKICAgICAgICAgICAg
ICAgIGRvbmUKICAgICAgICAgICAgOzsKICAgICAgICAgICAgImR2aSIgfCAicHMiIHwgInBkZiIp
CiAgICAgICAgICAgICAgICBmb3IgaSBpbiBgZmluZCAuIC1tYXhkZXB0aCAxIC10eXBlIGYgLW5h
bWUgIiouJHsxfSJgOwogICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICBpbnNp
bnRvIC91c3Ivc2hhcmUvZG9jLyR7UH07CiAgICAgICAgICAgICAgICAgICAgZG9pbnMgJGkgfHwg
ImRvaW5zICRpIGZhaWxlZCI7CiAgICAgICAgICAgICAgICBkb25lCiAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgICJ0ZXgiIHwgImR0eCIpCiAgICAgICAgICAgICAgICBmb3IgaSBpbiBgZmluZCAu
IC1tYXhkZXB0aCAxIC10eXBlIGYgLW5hbWUgIiouJHsxfSJgOwogICAgICAgICAgICAgICAgZG8K
ICAgICAgICAgICAgICAgICAgICBlaW5mbyAiTWFraW5nIGRvY3VtZW50YXRpb246ICRpIjsKICAg
ICAgICAgICAgICAgICAgICB0ZXhpMmR2aSAtcSAtYyAtLWxhbmd1YWdlPWxhdGV4ICRpID4mL2Rl
di9udWxsOwogICAgICAgICAgICAgICAgZG9uZQogICAgICAgICAgICA7OwogICAgICAgICAgICAi
dGZtIiB8ICJ2ZiIgfCAiYWZtIikKICAgICAgICAgICAgICAgIGZvciBpIGluIGBmaW5kIC4gLW1h
eGRlcHRoIDEgLXR5cGUgZiAtbmFtZSAiKi4kezF9ImA7CiAgICAgICAgICAgICAgICBkbwogICAg
ICAgICAgICAgICAgICAgIGluc2ludG8gJHtURVhNRn0vZm9udHMvJHsxfS8ke1NVUFBMSUVSfS8k
e1BOfTsKICAgICAgICAgICAgICAgICAgICBkb2lucyAkaSB8fCBkaWUgImRvaW5zICRpIGZhaWxl
ZCI7CiAgICAgICAgICAgICAgICBkb25lCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICJwZmIi
KQogICAgICAgICAgICAgICAgZm9yIGkgaW4gYGZpbmQgLiAtbWF4ZGVwdGggMSAtdHlwZSBmIC1u
YW1lICIqLnBmYiJgOwogICAgICAgICAgICAgICAgZG8KICAgICAgICAgICAgICAgICAgICBpbnNp
bnRvICR7VEVYTUZ9L2ZvbnRzL3R5cGUxLyR7U1VQUExJRVJ9LyR7UE59OwogICAgICAgICAgICAg
ICAgICAgIGRvaW5zICRpIHx8IGRpZSAiZG9pbnMgJGkgZmFpbGVkIjsKICAgICAgICAgICAgICAg
IGRvbmUKICAgICAgICAgICAgOzsKICAgICAgICAgICAgInR0ZiIpCiAgICAgICAgICAgICAgICBm
b3IgaSBpbiBgZmluZCAuIC1tYXhkZXB0aCAxIC10eXBlIGYgLW5hbWUgIioudHRmImA7CiAgICAg
ICAgICAgICAgICBkbwogICAgICAgICAgICAgICAgICAgIGluc2ludG8gJHtURVhNRn0vZm9udHMv
dHJ1ZXR5cGUvJHtTVVBQTElFUn0vJHtQTn07CiAgICAgICAgICAgICAgICAgICAgZG9pbnMgJGkg
fHwgZGllICJkb2lucyAkaSBmYWlsZWQiOwogICAgICAgICAgICAgICAgZG9uZQogICAgICAgICAg
ICA7OwogICAgICAgICAgICAiYnN0IikKICAgICAgICAgICAgICAgIGZvciBpIGluIGBmaW5kIC4g
LW1heGRlcHRoIDEgLXR5cGUgZiAtbmFtZSAiKi5ic3QiYDsKICAgICAgICAgICAgICAgIGRvCiAg
ICAgICAgICAgICAgICAgICAgaW5zaW50byAke1RFWE1GfS9iaWJ0ZXgvYnN0LyR7UE59OwogICAg
ICAgICAgICAgICAgICAgIGRvaW5zICRpIHx8IGRpZSAiZG9pbnMgJGkgZmFpbGVkIjsKICAgICAg
ICAgICAgICAgIGRvbmUKICAgICAgICAgICAgOzsKICAgICAgICAgICAgInN0eWxlcyIpCiAgICAg
ICAgICAgICAgICBsYXRleC1wYWNrYWdlX3NyY19kb2luc3RhbGwgc3R5IGNscyBmZCBjbG8gZGVm
IGNmZyBic3QKICAgICAgICAgICAgOzsKICAgICAgICAgICAgImRvYyIpCiAgICAgICAgICAgICAg
ICBsYXRleC1wYWNrYWdlX3NyY19kb2luc3RhbGwgdGV4IGR0eCBkdmkgcHMgcGRmCiAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgICJmb250cyIpCiAgICAgICAgICAgICAgICBsYXRleC1wYWNrYWdl
X3NyY19kb2luc3RhbGwgdGZtIHZmIGFmbSBwZmIgdHRmCiAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICJiaW4iKQogICAgICAgICAgICAgICAgbGF0ZXgtcGFja2FnZV9zcmNfZG9pbnN0YWxsIHNo
CiAgICAgICAgICAgIDs7CiAgICAgICAgICAgICJhbGwiKQogICAgICAgICAgICAgICAgbGF0ZXgt
cGFja2FnZV9zcmNfZG9pbnN0YWxsIHN0eWxlcyBmb250cyBiaW4gZG9jCiAgICAgICAgICAgIDs7
CiAgICAgICAgZXNhYzsKICAgICAgICBzaGlmdDsKICAgIGRvbmUKfQpsYXRleC1wYWNrYWdlX3Ny
Y19pbnN0YWxsICgpIAp7IAogICAgZGVidWctcHJpbnQgZnVuY3Rpb24gJEZVTkNOQU1FICQqOwog
ICAgbGF0ZXgtcGFja2FnZV9zcmNfZG9pbnN0YWxsIGFsbDsKICAgIGlmIFsgLW4gIiR7RE9DU30i
IF07IHRoZW4KICAgICAgICBkb2RvYyAke0RPQ1N9OwogICAgZmkKfQptYWtlX2Rlc2t0b3BfZW50
cnkgKCkgCnsgCiAgICBbWyAteiAkMSBdXSAmJiBlZXJyb3IgIm1ha2VfZGVza3RvcF9lbnRyeTog
WW91IG11c3Qgc3BlY2lmeSB0aGUgZXhlY3V0YWJsZSIgJiYgcmV0dXJuIDE7CiAgICBsb2NhbCBl
eGVjPSR7MX07CiAgICBsb2NhbCBuYW1lPSR7MjotJHtQTn19OwogICAgbG9jYWwgaWNvbj0kezM6
LSR7UE59fTsKICAgIGxvY2FsIHR5cGU9JHs0fTsKICAgIGxvY2FsIHBhdGg9JHs1fTsKICAgIGlm
IFtbIC16ICR7dHlwZX0gXV07IHRoZW4KICAgICAgICBsb2NhbCBjYXRtYWo9JHtDQVRFR09SWSUl
LSp9OwogICAgICAgIGxvY2FsIGNhdG1pbj0ke0NBVEVHT1JZIyMqLX07CiAgICAgICAgY2FzZSAk
e2NhdG1han0gaW4gCiAgICAgICAgICAgIGFwcCkKICAgICAgICAgICAgICAgIGNhc2UgJHtjYXRt
aW59IGluIAogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHkpCiAgICAgICAgICAgICAg
ICAgICAgICAgIHR5cGU9QWNjZXNzaWJpbGl0eQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAg
ICAgICAgICAgICAgICAgYWRtaW4pCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U3lzdGVt
CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBhbnRpdmlydXMpCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9U3lzdGVtCiAgICAgICAgICAgICAgICAgICAgOzsK
ICAgICAgICAgICAgICAgICAgICBhcmNoKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFy
Y2hpdmluZwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgYmFja3Vw
KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFyY2hpdmluZwogICAgICAgICAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgICAgICAgICAgY2RyKQogICAgICAgICAgICAgICAgICAgICAgICB0
eXBlPURpc2NCdXJuaW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAg
ICBkaWN0cykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1EaWN0aW9uYXJ5CiAgICAgICAg
ICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBkb2MpCiAgICAgICAgICAgICAgICAg
ICAgICAgIHR5cGU9RG9jdW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICAgICAgZWRpdG9ycykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UZXh0RWRp
dG9yCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBlbWFjcykKICAg
ICAgICAgICAgICAgICAgICAgICAgdHlwZT1UZXh0RWRpdG9yCiAgICAgICAgICAgICAgICAgICAg
OzsKICAgICAgICAgICAgICAgICAgICBlbXVsYXRpb24pCiAgICAgICAgICAgICAgICAgICAgICAg
IHR5cGU9RW11bGF0b3IKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAg
IGxhcHRvcCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1IYXJkd2FyZVNldHRpbmdzCiAg
ICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBvZmZpY2UpCiAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGU9T2ZmaWNlCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgICAgICBwZGEpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9UERBCiAgICAg
ICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICB2aW0pCiAgICAgICAgICAgICAg
ICAgICAgICAgIHR5cGU9VGV4dEVkaXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICAgICAgeGVtYWNzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRleHRFZGl0
b3IKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ICAgIGVzYWMKICAgICAgICAgICAgOzsKICAgICAgICAgICAgZGV2KQogICAgICAgICAgICAgICAg
dHlwZT0iRGV2ZWxvcG1lbnQiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIGdhbWVzKQogICAg
ICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgYWN0aW9u
IHwgZnBzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUFjdGlvbkdhbWUKICAgICAgICAg
ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGFyY2FkZSkKICAgICAgICAgICAgICAg
ICAgICAgICAgdHlwZT1BcmNhZGVHYW1lCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgICAgICAgICBib2FyZCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1Cb2FyZEdhbWUK
ICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIGVtdWxhdGlvbikKICAg
ICAgICAgICAgICAgICAgICAgICAgdHlwZT1FbXVsYXRvcgogICAgICAgICAgICAgICAgICAgIDs7
CiAgICAgICAgICAgICAgICAgICAga2lkcykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1L
aWRzR2FtZQogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcHV6emxl
KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUxvZ2ljR2FtZQogICAgICAgICAgICAgICAg
ICAgIDs7CiAgICAgICAgICAgICAgICAgICAgcm9ndWVsaWtlKQogICAgICAgICAgICAgICAgICAg
ICAgICB0eXBlPVJvbGVQbGF5aW5nCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAg
ICAgICAgICBycGcpCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Um9sZVBsYXlpbmcKICAg
ICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHNpbXVsYXRpb24pCiAgICAg
ICAgICAgICAgICAgICAgICAgIHR5cGU9U2ltdWxhdGlvbgogICAgICAgICAgICAgICAgICAgIDs7
CiAgICAgICAgICAgICAgICAgICAgc3BvcnRzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
PVNwb3J0c0dhbWUKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHN0
cmF0ZWd5KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVN0cmF0ZWd5R2FtZQogICAgICAg
ICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgKikKICAgICAgICAgICAgICAgICAg
ICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgZXNhYzsK
ICAgICAgICAgICAgICAgIHR5cGU9IkdhbWU7JHt0eXBlfSIKICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgZ25vbWUpCiAgICAgICAgICAgICAgICB0eXBlPSJHbm9tZTtHVEsiCiAgICAgICAgICAg
IDs7CiAgICAgICAgICAgIGtkZSkKICAgICAgICAgICAgICAgIHR5cGU9IktERTtRdCIKICAgICAg
ICAgICAgOzsKICAgICAgICAgICAgbWFpbCkKICAgICAgICAgICAgICAgIHR5cGU9Ik5ldHdvcms7
RW1haWwiCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIG1lZGlhKQogICAgICAgICAgICAgICAg
Y2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgZ2Z4KQogICAgICAgICAgICAg
ICAgICAgICAgICB0eXBlPUdyYXBoaWNzCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgICAgICAgICByYWRpbykKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1UdW5lcgogICAg
ICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgc291bmQpCiAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGU9QXVkaW8KICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAg
ICAgICAgICAgIHR2KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVRWCiAgICAgICAgICAg
ICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICB2aWRlbykKICAgICAgICAgICAgICAgICAg
ICAgICAgdHlwZT1WaWRlbwogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAg
ICAgKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgICAgICAgICA7
OwogICAgICAgICAgICAgICAgZXNhYzsKICAgICAgICAgICAgICAgIHR5cGU9IkF1ZGlvVmlkZW87
JHt0eXBlfSIKICAgICAgICAgICAgOzsKICAgICAgICAgICAgbmV0KQogICAgICAgICAgICAgICAg
Y2FzZSAke2NhdG1pbn0gaW4gCiAgICAgICAgICAgICAgICAgICAgZGlhbHVwKQogICAgICAgICAg
ICAgICAgICAgICAgICB0eXBlPURpYWx1cAogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAg
ICAgICAgICAgICAgZnRwKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPUZpbGVUcmFuc2Zl
cgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgaW0pCiAgICAgICAg
ICAgICAgICAgICAgICAgIHR5cGU9SW5zdGFudE1lc3NhZ2luZwogICAgICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgICAgICAgICAgaXJjKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBl
PUlSQ0NsaWVudAogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgbWFp
bCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1FbWFpbAogICAgICAgICAgICAgICAgICAg
IDs7CiAgICAgICAgICAgICAgICAgICAgbmV3cykKICAgICAgICAgICAgICAgICAgICAgICAgdHlw
ZT1OZXdzCiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBubnRwKQog
ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPU5ld3MKICAgICAgICAgICAgICAgICAgICA7Owog
ICAgICAgICAgICAgICAgICAgIHAycCkKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1GaWxl
VHJhbnNmZXIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAg
ICAgICAgICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAg
ICAgICAgICAgIGVzYWM7CiAgICAgICAgICAgICAgICB0eXBlPSJOZXR3b3JrOyR7dHlwZX0iCiAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgIHNjaSkKICAgICAgICAgICAgICAgIGNhc2UgJHtjYXRt
aW59IGluIAogICAgICAgICAgICAgICAgICAgIGFzdHJvKikKICAgICAgICAgICAgICAgICAgICAg
ICAgdHlwZT1Bc3Ryb25vbXkKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAg
ICAgIGJpbyopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9QmlvbG9neQogICAgICAgICAg
ICAgICAgICAgIDs7CiAgICAgICAgICAgICAgICAgICAgY2FsYyopCiAgICAgICAgICAgICAgICAg
ICAgICAgIHR5cGU9Q2FsY3VsYXRvcgogICAgICAgICAgICAgICAgICAgIDs7CiAgICAgICAgICAg
ICAgICAgICAgY2hlbSopCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9Q2hlbWlzdHJ5CiAg
ICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBlbGVjKikKICAgICAgICAg
ICAgICAgICAgICAgICAgdHlwZT1FbGVjdHJvbmljcwogICAgICAgICAgICAgICAgICAgIDs7CiAg
ICAgICAgICAgICAgICAgICAgZ2VvKikKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1HZW9s
b2d5CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgICAgICBtYXRoKikKICAg
ICAgICAgICAgICAgICAgICAgICAgdHlwZT1NYXRoCiAgICAgICAgICAgICAgICAgICAgOzsKICAg
ICAgICAgICAgICAgICAgICBwaHlzaWNzKQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVBo
eXNpY3MKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgIHZpc3VhbCop
CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9RGF0YVZpc3VhbGl6YXRpb24KICAgICAgICAg
ICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAgICAgICAgICAgICAgICAg
ICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAgICAgICAgIGVzYWM7CiAg
ICAgICAgICAgICAgICB0eXBlPSJTY2llbmNlOyR7dHlwZX0iCiAgICAgICAgICAgIDs7CiAgICAg
ICAgICAgIHN5cykKICAgICAgICAgICAgICAgIHR5cGU9IlN5c3RlbSIKICAgICAgICAgICAgOzsK
ICAgICAgICAgICAgd3d3KQogICAgICAgICAgICAgICAgY2FzZSAke2NhdG1pbn0gaW4gCiAgICAg
ICAgICAgICAgICAgICAgY2xpZW50KQogICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVdlYkJy
b3dzZXIKICAgICAgICAgICAgICAgICAgICA7OwogICAgICAgICAgICAgICAgICAgICopCiAgICAg
ICAgICAgICAgICAgICAgICAgIHR5cGU9CiAgICAgICAgICAgICAgICAgICAgOzsKICAgICAgICAg
ICAgICAgIGVzYWM7CiAgICAgICAgICAgICAgICB0eXBlPSJOZXR3b3JrIgogICAgICAgICAgICA7
OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgdHlwZT0KICAgICAgICAgICAgOzsKICAg
ICAgICBlc2FjOwogICAgZmk7CiAgICBpZiBbICIke1NMT1R9IiA9PSAiMCIgXTsgdGhlbgogICAg
ICAgIGxvY2FsIGRlc2t0b3BfbmFtZT0iJHtQTn0iOwogICAgZWxzZQogICAgICAgIGxvY2FsIGRl
c2t0b3BfbmFtZT0iJHtQTn0tJHtTTE9UfSI7CiAgICBmaTsKICAgIGxvY2FsIGRlc2t0b3A9IiR7
VH0vJChlY2hvICR7ZXhlY30gfCBzZWQgJ3M6W1s6c3BhY2U6XS86XTpfOmcnKS0ke2Rlc2t0b3Bf
bmFtZX0uZGVza3RvcCI7CiAgICBjYXQgPiAiJHtkZXNrdG9wfSIgIDw8LUVPRgpbRGVza3RvcCBF
bnRyeV0KVmVyc2lvbj0xLjAKTmFtZT0ke25hbWV9ClR5cGU9QXBwbGljYXRpb24KQ29tbWVudD0k
e0RFU0NSSVBUSU9OfQpFeGVjPSR7ZXhlY30KVHJ5RXhlYz0ke2V4ZWMlJSAqfQpJY29uPSR7aWNv
bn0KQ2F0ZWdvcmllcz0ke3R5cGV9OwpFT0YKCiAgICBbWyAtbiAke3BhdGh9IF1dICYmIGVjaG8g
IlBhdGg9JHtwYXRofSIgPj4gIiR7ZGVza3RvcH0iOwogICAgKCBpbnNpbnRvIC91c3Ivc2hhcmUv
YXBwbGljYXRpb25zOwogICAgZG9pbnMgIiR7ZGVza3RvcH0iICkKfQptYWtlX3Nlc3Npb25fZGVz
a3RvcCAoKSAKeyAKICAgIFtbIC16ICQxIF1dICYmIGVlcnJvciAibWFrZV9zZXNzaW9uX2Rlc2t0
b3A6IFlvdSBtdXN0IHNwZWNpZnkgdGhlIHRpdGxlIiAmJiByZXR1cm4gMTsKICAgIFtbIC16ICQy
IF1dICYmIGVlcnJvciAibWFrZV9zZXNzaW9uX2Rlc2t0b3A6IFlvdSBtdXN0IHNwZWNpZnkgdGhl
IGNvbW1hbmQiICYmIHJldHVybiAxOwogICAgbG9jYWwgdGl0bGU9JDE7CiAgICBsb2NhbCBjb21t
YW5kPSQyOwogICAgbG9jYWwgZGVza3RvcD0ke1R9LyR7d219LmRlc2t0b3A7CiAgICBjYXQgPiAi
JHtkZXNrdG9wfSIgIDw8LUVPRgpbRGVza3RvcCBFbnRyeV0KTmFtZT0ke3RpdGxlfQpDb21tZW50
PVRoaXMgc2Vzc2lvbiBsb2dzIHlvdSBpbnRvICR7dGl0bGV9CkV4ZWM9JHtjb21tYW5kfQpUcnlF
eGVjPSR7Y29tbWFuZH0KVHlwZT1BcHBsaWNhdGlvbgpFT0YKCiAgICAoIGluc2ludG8gL3Vzci9z
aGFyZS94c2Vzc2lvbnM7CiAgICBkb2lucyAiJHtkZXNrdG9wfSIgKQp9Cm1ha2Vfd3JhcHBlciAo
KSAKeyAKICAgIGxvY2FsIHdyYXBwZXI9JDEgYmluPSQyIGNoZGlyPSQzIGxpYmRpcj0kNCBwYXRo
PSQ1OwogICAgbG9jYWwgdG1wd3JhcHBlcj0kKGVta3RlbXApOwogICAgY2F0ID4gIiR7dG1wd3Jh
cHBlcn0iICA8PEVPRgojIS9iaW4vc2gKY2QgIiR7Y2hkaXI6LS59IgppZiBbIC1uICIke2xpYmRp
cn0iIF0gOyB0aGVuCglpZiBbICJcJHtMRF9MSUJSQVJZX1BBVEgrc2V0fSIgPSAic2V0IiBdIDsg
dGhlbgoJCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9Ilwke0xEX0xJQlJBUllfUEFUSH06JHtsaWJk
aXJ9IgoJZWxzZQoJCWV4cG9ydCBMRF9MSUJSQVJZX1BBVEg9IiR7bGliZGlyfSIKCWZpCmZpCmV4
ZWMgJHtiaW59ICJcJEAiCkVPRgoKICAgIGNobW9kIGdvK3J4ICIke3RtcHdyYXBwZXJ9IjsKICAg
IGlmIFtbIC1uICR7cGF0aH0gXV07IHRoZW4KICAgICAgICAoIGV4ZWludG8gIiR7cGF0aH0iOwog
ICAgICAgIG5ld2V4ZSAiJHt0bXB3cmFwcGVyfSIgIiR7d3JhcHBlcn0iICkgfHwgZGllOwogICAg
ZWxzZQogICAgICAgIG5ld2JpbiAiJHt0bXB3cmFwcGVyfSIgIiR7d3JhcHBlcn0iIHx8IGRpZTsK
ICAgIGZpCn0KbXVsdGlsaWJfZW52ICgpIAp7IAogICAgbG9jYWwgQ1RBUkdFVD0kezE6LSR7Q1RB
UkdFVH19OwogICAgY2FzZSAke0NUQVJHRVR9IGluIAogICAgICAgIHg4Nl82NCopCiAgICAgICAg
ICAgIGV4cG9ydCBDRkxBR1NfeDg2PSR7Q0ZMQUdTX3g4Ni0tbTMyfTsKICAgICAgICAgICAgZXhw
b3J0IENIT1NUX3g4Nj0ke0NUQVJHRVQveDg2XzY0L2k2ODZ9OwogICAgICAgICAgICBleHBvcnQg
Q1RBUkdFVF94ODY9JHtDSE9TVF94ODZ9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV94ODY9
Il9faTM4Nl9fIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl94ODY9ImxpYiI7CiAgICAgICAg
ICAgIGV4cG9ydCBDRkxBR1NfYW1kNjQ9JHtDRkxBR1NfYW1kNjQtLW02NH07CiAgICAgICAgICAg
IGV4cG9ydCBDSE9TVF9hbWQ2ND0ke0NUQVJHRVR9OwogICAgICAgICAgICBleHBvcnQgQ1RBUkdF
VF9hbWQ2ND0ke0NIT1NUX2FtZDY0fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfYW1kNjQ9
Il9feDg2XzY0X18iOwogICAgICAgICAgICBleHBvcnQgTElCRElSX2FtZDY0PSJsaWI2NCI7CiAg
ICAgICAgICAgIGV4cG9ydCBNVUxUSUxJQl9BQklTPSJhbWQ2NCB4ODYiOwogICAgICAgICAgICBl
eHBvcnQgREVGQVVMVF9BQkk9ImFtZDY0IgogICAgICAgIDs7CiAgICAgICAgbWlwczY0KikKICAg
ICAgICAgICAgZXhwb3J0IENGTEFHU19vMzI9JHtDRkxBR1NfbzMyLS1tYWJpPTMyfTsKICAgICAg
ICAgICAgZXhwb3J0IENIT1NUX28zMj0ke0NUQVJHRVQvbWlwczY0L21pcHN9OwogICAgICAgICAg
ICBleHBvcnQgQ1RBUkdFVF9vMzI9JHtDSE9TVF9vMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0RF
RklORV9vMzI9Il9NSVBTX1NJTSA9PSBfQUJJTzMyIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJ
Ul9vMzI9ImxpYiI7CiAgICAgICAgICAgIGV4cG9ydCBDRkxBR1NfbjMyPSR7Q0ZMQUdTX24zMi0t
bWFiaT1uMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfbjMyPSR7Q1RBUkdFVH07CiAgICAg
ICAgICAgIGV4cG9ydCBDVEFSR0VUX24zMj0ke0NIT1NUX24zMn07CiAgICAgICAgICAgIGV4cG9y
dCBDREVGSU5FX24zMj0iX01JUFNfU0lNID09IF9BQklOMzIiOwogICAgICAgICAgICBleHBvcnQg
TElCRElSX24zMj0ibGliMzIiOwogICAgICAgICAgICBleHBvcnQgQ0ZMQUdTX242ND0ke0NGTEFH
U19uNjQtLW1hYmk9NjR9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfbjY0PSR7Q1RBUkdFVH07
CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX242ND0ke0NIT1NUX242NH07CiAgICAgICAgICAg
IGV4cG9ydCBDREVGSU5FX242ND0iX01JUFNfU0lNID09IF9BQkk2NCI7CiAgICAgICAgICAgIGV4
cG9ydCBMSUJESVJfbjY0PSJsaWI2NCI7CiAgICAgICAgICAgIGV4cG9ydCBNVUxUSUxJQl9BQklT
PSJuNjQgbjMyIG8zMiI7CiAgICAgICAgICAgIGV4cG9ydCBERUZBVUxUX0FCST0ibjMyIgogICAg
ICAgIDs7CiAgICAgICAgcG93ZXJwYzY0KikKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19wcGM9
JHtDRkxBR1NfcHBjLS1tMzJ9OwogICAgICAgICAgICBleHBvcnQgQ0hPU1RfcHBjPSR7Q1RBUkdF
VC9wb3dlcnBjNjQvcG93ZXJwY307CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3BwYz0ke0NI
T1NUX3BwY307CiAgICAgICAgICAgIGV4cG9ydCBDREVGSU5FX3BwYz0iIV9fcG93ZXJwYzY0X18i
OwogICAgICAgICAgICBleHBvcnQgTElCRElSX3BwYz0ibGliIjsKICAgICAgICAgICAgZXhwb3J0
IENGTEFHU19wcGM2ND0ke0NGTEFHU19wcGM2NC0tbTY0fTsKICAgICAgICAgICAgZXhwb3J0IENI
T1NUX3BwYzY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3BwYzY0PSR7
Q0hPU1RfcHBjNjR9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9wcGM2ND0iX19wb3dlcnBj
NjRfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfcHBjNjQ9ImxpYjY0IjsKICAgICAgICAg
ICAgZXhwb3J0IE1VTFRJTElCX0FCSVM9InBwYzY0IHBwYyI7CiAgICAgICAgICAgIGV4cG9ydCBE
RUZBVUxUX0FCST0icHBjNjQiCiAgICAgICAgOzsKICAgICAgICBzMzkweCopCiAgICAgICAgICAg
IGV4cG9ydCBDRkxBR1NfczM5MD0ke0NGTEFHU19zMzkwLS1tMzF9OwogICAgICAgICAgICBleHBv
cnQgQ0hPU1RfczM5MD0ke0NUQVJHRVQvczM5MHgvczM5MH07CiAgICAgICAgICAgIGV4cG9ydCBD
VEFSR0VUX3MzOTA9JHtDSE9TVF9zMzkwfTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfczM5
MD0iIV9fczM5MHhfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfczM5MD0ibGliIjsKICAg
ICAgICAgICAgZXhwb3J0IENGTEFHU19zMzkweD0ke0NGTEFHU19zMzkweC0tbTY0fTsKICAgICAg
ICAgICAgZXhwb3J0IENIT1NUX3MzOTB4PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBD
VEFSR0VUX3MzOTB4PSR7Q0hPU1RfczM5MHh9OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9z
MzkweD0iX19zMzkweF9fIjsKICAgICAgICAgICAgZXhwb3J0IExJQkRJUl9zMzkweD0ibGliNjQi
OwogICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0iczM5MHggczM5MCI7CiAgICAgICAg
ICAgIGV4cG9ydCBERUZBVUxUX0FCST0iczM5MHgiCiAgICAgICAgOzsKICAgICAgICBzcGFyYzY0
KikKICAgICAgICAgICAgZXhwb3J0IENGTEFHU19zcGFyYzMyPSR7Q0ZMQUdTX3NwYXJjMzItLW0z
Mn07CiAgICAgICAgICAgIGV4cG9ydCBDSE9TVF9zcGFyYzMyPSR7Q1RBUkdFVC9zcGFyYzY0L3Nw
YXJjfTsKICAgICAgICAgICAgZXhwb3J0IENUQVJHRVRfc3BhcmMzMj0ke0NIT1NUX3NwYXJjMzJ9
OwogICAgICAgICAgICBleHBvcnQgQ0RFRklORV9zcGFyYzMyPSIhX19hcmNoNjRfXyI7CiAgICAg
ICAgICAgIGV4cG9ydCBMSUJESVJfc3BhcmMzMj0ibGliIjsKICAgICAgICAgICAgZXhwb3J0IENG
TEFHU19zcGFyYzY0PSR7Q0ZMQUdTX3NwYXJjNjQtLW02NH07CiAgICAgICAgICAgIGV4cG9ydCBD
SE9TVF9zcGFyYzY0PSR7Q1RBUkdFVH07CiAgICAgICAgICAgIGV4cG9ydCBDVEFSR0VUX3NwYXJj
NjQ9JHtDSE9TVF9zcGFyYzY0fTsKICAgICAgICAgICAgZXhwb3J0IENERUZJTkVfc3BhcmM2ND0i
X19hcmNoNjRfXyI7CiAgICAgICAgICAgIGV4cG9ydCBMSUJESVJfc3BhcmM2ND0ibGliNjQiOwog
ICAgICAgICAgICBleHBvcnQgTVVMVElMSUJfQUJJUz0ic3BhcmM2NCBzcGFyYzMyIjsKICAgICAg
ICAgICAgZXhwb3J0IERFRkFVTFRfQUJJPSJzcGFyYzY0IgogICAgICAgIDs7CiAgICAgICAgKikK
ICAgICAgICAgICAgZXhwb3J0IE1VTFRJTElCX0FCSVM9ImRlZmF1bHQiOwogICAgICAgICAgICBl
eHBvcnQgREVGQVVMVF9BQkk9ImRlZmF1bHQiCiAgICAgICAgOzsKICAgIGVzYWMKfQptdWx0aWxp
Yl90b29sY2hhaW5fc2V0dXAgKCkgCnsgCiAgICBleHBvcnQgQUJJPSQxOwogICAgaWYgaGFzX3Zl
cnNpb24gYXBwLWFkbWluL2VzZWxlY3QtY29tcGlsZXI7IHRoZW4KICAgICAgICBleHBvcnQgTEQ9
ImxkICQoZ2V0X2FiaV9MREZMQUdTICQxKSI7CiAgICAgICAgZXhwb3J0IEFTPSJhcyAkKGdldF9h
YmlfQVNGTEFHUyAkMSkiOwogICAgICAgIGV4cG9ydCBDSE9TVD0kKGdldF9hYmlfQ0hPU1QgJDEp
OwogICAgICAgIGV4cG9ydCBDQlVJTEQ9JChnZXRfYWJpX0NIT1NUICQxKTsKICAgIGVsc2UKICAg
ICAgICB0Yy1leHBvcnQgQ0M7CiAgICBmaQp9Cm5ld2ljb24gKCkgCnsgCiAgICAoIGluc2ludG8g
L3Vzci9zaGFyZS9waXhtYXBzOwogICAgbmV3aW5zICIkQCIgKQp9Cm5ld21lbnUgKCkgCnsgCiAg
ICAoIGluc2ludG8gL3Vzci9zaGFyZS9hcHBsaWNhdGlvbnM7CiAgICBuZXdpbnMgIiRAIiApCn0K
bnVtYmVyX2FiaXMgKCkgCnsgCiAgICBnZXRfaW5zdGFsbF9hYmlzIHwgd2MgLXcKfQpwa2dfbm9m
ZXRjaCAoKSAKeyAKICAgIFsgLXogIiR7U1JDX1VSSX0iIF0gJiYgcmV0dXJuOwogICAgZWNobyAi
ISEhIFRoZSBmb2xsb3dpbmcgYXJlIGxpc3RlZCBpbiBTUkNfVVJJIGZvciAke1BOfToiOwogICAg
bG9jYWwgeDsKICAgIGZvciB4IGluICQoZWNobyAke1NSQ19VUkl9KTsKICAgIGRvCiAgICAgICAg
ZWNobyAiISEhICAgJHt4fSI7CiAgICBkb25lCn0KcGtnX3Bvc3RpbnN0ICgpIAp7IAogICAgdXNl
IHByZXZpZXctbGF0ZXggJiYgbGF0ZXgtcGFja2FnZV9wa2dfcG9zdGluc3Q7CiAgICBlbGlzcC1z
aXRlLXJlZ2VuCn0KcGtnX3Bvc3RybSAoKSAKeyAKICAgIHVzZSBwcmV2aWV3LWxhdGV4ICYmIGxh
dGV4LXBhY2thZ2VfcGtnX3Bvc3RybTsKICAgIGVsaXNwLXNpdGUtcmVnZW4KfQpwa2dfc2V0dXAg
KCkgCnsgCiAgICBlbGlzcF9wa2dfc2V0dXAgJEAKfQpwcmVwX21sX2luY2x1ZGVzICgpIAp7IAog
ICAgaWYgW1sgJChudW1iZXJfYWJpcykgLWd0IDEgXV07IHRoZW4KICAgICAgICBsb2NhbCBkaXI7
CiAgICAgICAgbG9jYWwgZGlyczsKICAgICAgICBsb2NhbCBiYXNlOwogICAgICAgIGlmIFtbICQj
IC1lcSAwIF1dOyB0aGVuCiAgICAgICAgICAgIGRpcnM9L3Vzci9pbmNsdWRlOwogICAgICAgIGVs
c2UKICAgICAgICAgICAgZGlycz0iJEAiOwogICAgICAgIGZpOwogICAgICAgIGZvciBkaXIgaW4g
JHtkaXJzfTsKICAgICAgICBkbwogICAgICAgICAgICBiYXNlPSR7VH0vZ2VudG9vLW11bHRpbGli
LyR7ZGlyfS9nZW50b28tbXVsdGlsaWI7CiAgICAgICAgICAgIG1rZGlyIC1wICIke2Jhc2V9IjsK
ICAgICAgICAgICAgW1sgLWQgJHtiYXNlfS8ke0FCSX0gXV0gJiYgcm0gLXJmICIke2Jhc2V9LyR7
QUJJfSI7CiAgICAgICAgICAgIG12ICIke0R9LyR7ZGlyfSIgIiR7YmFzZX0vJHtBQkl9IjsKICAg
ICAgICBkb25lOwogICAgICAgIGlmIGlzX2ZpbmFsX2FiaTsgdGhlbgogICAgICAgICAgICBiYXNl
PSR7VH0vZ2VudG9vLW11bHRpbGliOwogICAgICAgICAgICBwdXNoZCAiJHtiYXNlfSI7CiAgICAg
ICAgICAgIGZpbmQgLiB8IHRhciAtYyAtVCAtIC1mIC0gfCB0YXIgLXggLS1uby1zYW1lLW93bmVy
IC1mIC0gLUMgJHtEfTsKICAgICAgICAgICAgcG9wZDsKICAgICAgICAgICAgc2V0IC0tOwogICAg
ICAgICAgICBmb3IgZGlyIGluICR7ZGlyc307CiAgICAgICAgICAgIGRvCiAgICAgICAgICAgICAg
ICBzZXQgLS0gIiRAIiAiJHtkaXJ9IjsKICAgICAgICAgICAgICAgIGxvY2FsIGFiaTsKICAgICAg
ICAgICAgICAgIGZvciBhYmkgaW4gJChnZXRfaW5zdGFsbF9hYmlzKTsKICAgICAgICAgICAgICAg
IGRvCiAgICAgICAgICAgICAgICAgICAgc2V0IC0tICIkQCIgIiQoZ2V0X2FiaV9DREVGSU5FICR7
YWJpfSk6JHtkaXJ9L2dlbnRvby1tdWx0aWxpYi8ke2FiaX0iOwogICAgICAgICAgICAgICAgZG9u
ZTsKICAgICAgICAgICAgICAgIGNyZWF0ZV9tbF9pbmNsdWRlcyAiJEAiOwogICAgICAgICAgICBk
b25lOwogICAgICAgIGZpOwogICAgZmkKfQpwcmVzZXJ2ZV9vbGRfbGliICgpIAp7IAogICAgaWYg
W1sgJHtFQlVJTERfUEhBU0V9ICE9ICJwcmVpbnN0IiBdXTsgdGhlbgogICAgICAgIGVlcnJvciAi
cHJlc2VydmVfb2xkX2xpYigpIG11c3QgYmUgY2FsbGVkIGZyb20gcGtnX3ByZWluc3QoKSBvbmx5
IjsKICAgICAgICBkaWUgIkludmFsaWQgcHJlc2VydmVfb2xkX2xpYigpIHVzYWdlIjsKICAgIGZp
OwogICAgW1sgLXogJDEgXV0gJiYgZGllICJVc2FnZTogcHJlc2VydmVfb2xkX2xpYiA8bGlicmFy
eSB0byBwcmVzZXJ2ZT4gW21vcmUgbGlicmFyaWVzIHRvIHByZXNlcnZlXSI7CiAgICBoYXMgcHJl
c2VydmUtbGlicyAke0ZFQVRVUkVTfSAmJiByZXR1cm4gMDsKICAgIGxvY2FsIGxpYiBkaXI7CiAg
ICBmb3IgbGliIGluICIkQCI7CiAgICBkbwogICAgICAgIFtbIC1lICR7Uk9PVH0vJHtsaWJ9IF1d
IHx8IGNvbnRpbnVlOwogICAgICAgIGRpcj0ke2xpYiUvKn07CiAgICAgICAgZG9kaXIgJHtkaXJ9
IHx8IGRpZSAiZG9kaXIgJHtkaXJ9IGZhaWxlZCI7CiAgICAgICAgY3AgIiR7Uk9PVH0iLyR7bGli
fSAiJHtEfSIvJHtsaWJ9IHx8IGRpZSAiY3AgJHtsaWJ9IGZhaWxlZCI7CiAgICAgICAgdG91Y2gg
IiR7RH0iLyR7bGlifTsKICAgIGRvbmUKfQpwcmVzZXJ2ZV9vbGRfbGliX25vdGlmeSAoKSAKeyAK
ICAgIGlmIFtbICR7RUJVSUxEX1BIQVNFfSAhPSAicG9zdGluc3QiIF1dOyB0aGVuCiAgICAgICAg
ZWVycm9yICJwcmVzZXJ2ZV9vbGRfbGliX25vdGlmeSgpIG11c3QgYmUgY2FsbGVkIGZyb20gcGtn
X3Bvc3RpbnN0KCkgb25seSI7CiAgICAgICAgZGllICJJbnZhbGlkIHByZXNlcnZlX29sZF9saWJf
bm90aWZ5KCkgdXNhZ2UiOwogICAgZmk7CiAgICBoYXMgcHJlc2VydmUtbGlicyAke0ZFQVRVUkVT
fSAmJiByZXR1cm4gMDsKICAgIGxvY2FsIGxpYiBub3RpY2U9MDsKICAgIGZvciBsaWIgaW4gIiRA
IjsKICAgIGRvCiAgICAgICAgW1sgLWUgJHtST09UfS8ke2xpYn0gXV0gfHwgY29udGludWU7CiAg
ICAgICAgaWYgW1sgJHtub3RpY2V9IC1lcSAwIF1dOyB0aGVuCiAgICAgICAgICAgIG5vdGljZT0x
OwogICAgICAgICAgICBld2FybiAiT2xkIHZlcnNpb25zIG9mIGluc3RhbGxlZCBsaWJyYXJpZXMg
d2VyZSBkZXRlY3RlZCBvbiB5b3VyIHN5c3RlbS4iOwogICAgICAgICAgICBld2FybiAiSW4gb3Jk
ZXIgdG8gYXZvaWQgYnJlYWtpbmcgcGFja2FnZXMgdGhhdCBkZXBlbmQgb24gdGhlc2Ugb2xkIGxp
YnMsIjsKICAgICAgICAgICAgZXdhcm4gInRoZSBsaWJyYXJpZXMgYXJlIG5vdCBiZWluZyByZW1v
dmVkLiAgWW91IG5lZWQgdG8gcnVuIHJldmRlcC1yZWJ1aWxkIjsKICAgICAgICAgICAgZXdhcm4g
ImluIG9yZGVyIHRvIHJlbW92ZSB0aGVzZSBvbGQgZGVwZW5kZW5jaWVzLiAgSWYgeW91IGRvIG5v
dCBoYXZlIHRoaXMiOwogICAgICAgICAgICBld2FybiAiaGVscGVyIHByb2dyYW0sIHNpbXBseSBl
bWVyZ2UgdGhlICdnZW50b29sa2l0JyBwYWNrYWdlLiI7CiAgICAgICAgICAgIGV3YXJuOwogICAg
ICAgIGZpOwogICAgICAgIGV3YXJuICIgICMgcmV2ZGVwLXJlYnVpbGQgLS1saWJyYXJ5ICR7bGli
IyMqL30iOwogICAgZG9uZTsKICAgIGlmIFtbICR7bm90aWNlfSAtZXEgMSBdXTsgdGhlbgogICAg
ICAgIGV3YXJuOwogICAgICAgIGV3YXJuICJPbmNlIHlvdSd2ZSBmaW5pc2hlZCBydW5uaW5nIHJl
dmRlcC1yZWJ1aWxkLCBpdCBzaG91bGQgYmUgc2FmZSB0byI7CiAgICAgICAgZXdhcm4gImRlbGV0
ZSB0aGUgb2xkIGxpYnJhcmllcy4gIEhlcmUgaXMgYSBjb3B5ICYgcGFzdGUgZm9yIHRoZSBsYXp5
OiI7CiAgICAgICAgZm9yIGxpYiBpbiAiJEAiOwogICAgICAgIGRvCiAgICAgICAgICAgIGV3YXJu
ICIgICMgcm0gJyR7bGlifSciOwogICAgICAgIGRvbmU7CiAgICBmaQp9CnJlcGxhY2VfYWxsX3Zl
cnNpb25fc2VwYXJhdG9ycyAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9u
OwogICAgbG9jYWwgYzsKICAgIGM9KCQoZ2V0X2FsbF92ZXJzaW9uX2NvbXBvbmVudHMgIiR7Mjot
JHtQVn19IiApKTsKICAgIGM9IiR7Y1tAXS8vWy0uX10vJDF9IjsKICAgIGVjaG8gJHtjLy8gfTsK
ICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZgp9CnJlcGxhY2VfdmVyc2lvbl9zZXBh
cmF0b3IgKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvbjsKICAgIGxvY2Fs
IHcgaSBjIGZvdW5kPTAgdj0iJHszOi0ke1BWfX0iOwogICAgdz0kezE6LTF9OwogICAgYz0oJChn
ZXRfYWxsX3ZlcnNpb25fY29tcG9uZW50cyAke3Z9ICkpOwogICAgaWYgW1sgIiR7dy8vW1s6ZGln
aXQ6XV0vfSIgPT0gIiR7d30iIF1dOyB0aGVuCiAgICAgICAgZm9yICgoaSA9IDAgOyBpIDwgJHsj
Y1tAXX0gOyBpID0gJGkgKyAxICkpCiAgICAgICAgZG8KICAgICAgICAgICAgaWYgW1sgIiR7Y1sk
e2l9XX0iID09ICIke3d9IiBdXTsgdGhlbgogICAgICAgICAgICAgICAgY1ske2l9XT0iJHsyfSI7
CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAg
IGVsc2UKICAgICAgICBmb3IgKChpID0gMCA7IGkgPCAkeyNjW0BdfSA7IGkgPSAkaSArIDEgKSkK
ICAgICAgICBkbwogICAgICAgICAgICBpZiBbWyAtbiAiJHtjWyR7aX1dLy9bXi0uX119IiBdXTsg
dGhlbgogICAgICAgICAgICAgICAgZm91bmQ9JCgoJGZvdW5kICsgMSkpOwogICAgICAgICAgICAg
ICAgaWYgW1sgIiRmb3VuZCIgPT0gIiR7d30iIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAg
Y1ske2l9XT0iJHsyfSI7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICBmaTsKICAgICAgICAgICAgZmk7CiAgICAgICAgZG9uZTsKICAgIGZpOwogICAgYz0ke2NbQF19
OwogICAgZWNobyAke2MvLyB9OwogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmCn0K
c2VxICgpIAp7IAogICAgbG9jYWwgcD0kKHR5cGUgLVAgc2VxKTsKICAgIGNhc2UgJCMgaW4gCiAg
ICAgICAgMSkKICAgICAgICAgICAgbWluPTEgbWF4PSQxIHN0ZXA9MQogICAgICAgIDs7CiAgICAg
ICAgMikKICAgICAgICAgICAgbWluPSQxIG1heD0kMiBzdGVwPTEKICAgICAgICA7OwogICAgICAg
IDMpCiAgICAgICAgICAgIG1pbj0kMSBtYXg9JDMgc3RlcD0kMgogICAgICAgIDs7CiAgICAgICAg
KikKICAgICAgICAgICAgZGllICJzZXEgY2FsbGVkIHdpdGggd3JvbmcgbnVtYmVyIG9mIGFyZ3Vt
ZW50cyIKICAgICAgICA7OwogICAgZXNhYzsKICAgIGlmIFtbIC16ICR7cH0gXV07IHRoZW4KICAg
ICAgICBsb2NhbCByZXBzOwogICAgICAgIGlmIFtbICR7c3RlcH0gIT0gMCBdXTsgdGhlbgogICAg
ICAgICAgICByZXBzPSQoKCAoJG1heC0kbWluKSAvICRzdGVwICsxICkpOwogICAgICAgIGVsc2UK
ICAgICAgICAgICAgcmVwcz0wOwogICAgICAgIGZpOwogICAgICAgIGpvdCAkcmVwcyAkbWluICRt
YXggJHN0ZXA7CiAgICBlbHNlCiAgICAgICAgIiR7cH0iICRtaW4gJHN0ZXAgJG1heDsKICAgIGZp
Cn0Kc3JjX2NvbXBpbGUgKCkgCnsgCiAgICBFTUFDU19OQU1FPWVtYWNzIEVNQUNTX0ZMQVZPVVI9
ZW1hY3MgZWNvbmYgLS1kaXNhYmxlLWJ1aWxkLWRpci10ZXN0IC0td2l0aC1hdXRvLWRpcj0iL3Zh
ci9saWIvYXVjdGV4IiAtLXdpdGgtbGlzcGRpcj0iJHtTSVRFTElTUH0vJHtQTn0iIC0td2l0aC1w
YWNrYWdlbGlzcGRpcj0iJHtTSVRFTElTUH0vJHtQTn0iIC0td2l0aC1wYWNrYWdlZGF0YWRpcj0i
JHtTSVRFRVRDfS8ke1BOfSIgLS13aXRoLXRleG1mLWRpcj0iJHtURVhNRn0iICQodXNlX2VuYWJs
ZSBwcmV2aWV3LWxhdGV4IHByZXZpZXcpIHx8IGRpZSAiZWNvbmYgZmFpbGVkIjsKICAgIGVtYWtl
IHx8IGRpZSAiZW1ha2UgZmFpbGVkIjsKICAgIGNkIGRvYzsKICAgIGVtYWtlIHRleC1yZWYucGRm
IHx8IGRpZSAiY3JlYXRpb24gb2YgdGV4LXJlZi5wZGYgZmFpbGVkIgp9CnNyY19pbnN0YWxsICgp
IAp7IAogICAgZW1ha2UgREVTVERJUj0iJHtEfSIgaW5zdGFsbCB8fCBkaWUgImVtYWtlIGluc3Rh
bGwgZmFpbGVkIjsKICAgIGVsaXNwLXNpdGUtZmlsZS1pbnN0YWxsICIke0ZJTEVTRElSfS81MCR7
UE59LWdlbnRvby5lbCIgfHwgZGllOwogICAgaWYgdXNlIHByZXZpZXctbGF0ZXg7IHRoZW4KICAg
ICAgICBlbGlzcC1zaXRlLWZpbGUtaW5zdGFsbCAiJHtGSUxFU0RJUn0vNjAke1BOfS1nZW50b28u
ZWwiIHx8IGRpZTsKICAgIGZpOwogICAga2VlcGRpciAvdmFyL2xpYi9hdWN0ZXg7CiAgICBkb2Rv
YyBDaGFuZ2VMb2cgQ0hBTkdFUyBSRUFETUUgUkVMRUFTRSBUT0RPIEZBUSBJTlNUQUxMKiBkb2Mv
dGV4LXJlZi5wZGYKfQpzcmNfdGVzdCAoKSAKeyAKICAgIGlmIGVtYWtlIC1qMSBjaGVjayAtbiA+
Ji9kZXYvbnVsbDsgdGhlbgogICAgICAgIHZlY2hvICI+Pj4gVGVzdCBwaGFzZSBbY2hlY2tdOiAk
e0NBVEVHT1JZfS8ke1BGfSI7CiAgICAgICAgaWYgISBlbWFrZSAtajEgY2hlY2s7IHRoZW4KICAg
ICAgICAgICAgaGFzcSB0ZXN0ICRGRUFUVVJFUyAmJiBkaWUgIk1ha2UgY2hlY2sgZmFpbGVkLiBT
ZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsKICAgICAgICAgICAgaGFzcSB0ZXN0ICRGRUFUVVJFUyB8
fCBlZXJyb3IgIk1ha2UgY2hlY2sgZmFpbGVkLiBTZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsKICAg
ICAgICBmaTsKICAgIGVsc2UKICAgICAgICBpZiBlbWFrZSAtajEgdGVzdCAtbiA+Ji9kZXYvbnVs
bDsgdGhlbgogICAgICAgICAgICB2ZWNobyAiPj4+IFRlc3QgcGhhc2UgW3Rlc3RdOiAke0NBVEVH
T1JZfS8ke1BGfSI7CiAgICAgICAgICAgIGlmICEgZW1ha2UgLWoxIHRlc3Q7IHRoZW4KICAgICAg
ICAgICAgICAgIGhhc3EgdGVzdCAkRkVBVFVSRVMgJiYgZGllICJNYWtlIHRlc3QgZmFpbGVkLiBT
ZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsKICAgICAgICAgICAgICAgIGhhc3EgdGVzdCAkRkVBVFVS
RVMgfHwgZWVycm9yICJNYWtlIHRlc3QgZmFpbGVkLiBTZWUgYWJvdmUgZm9yIGRldGFpbHMuIjsK
ICAgICAgICAgICAgZmk7CiAgICAgICAgZWxzZQogICAgICAgICAgICB2ZWNobyAiPj4+IFRlc3Qg
cGhhc2UgW25vbmVdOiAke0NBVEVHT1JZfS8ke1BGfSI7CiAgICAgICAgZmk7CiAgICBmaQp9CnNy
Y191bnBhY2sgKCkgCnsgCiAgICBiYXNlX3NyY191bnBhY2sgJEAKfQpzdHJpcC1saW5ndWFzICgp
IAp7IAogICAgbG9jYWwgbHMgbmV3bHMgbm9sczsKICAgIGlmIFtbICQxID09ICItaSIgXV0gfHwg
W1sgJDEgPT0gIi11IiBdXTsgdGhlbgogICAgICAgIGxvY2FsIG9wPSQxOwogICAgICAgIHNoaWZ0
OwogICAgICAgIGxzPSQoZmluZCAiJDEiIC1uYW1lICcqLnBvJyAtZXhlYyBiYXNlbmFtZSB7fSAu
cG8gXDspOwogICAgICAgIHNoaWZ0OwogICAgICAgIGxvY2FsIGQgZjsKICAgICAgICBmb3IgZCBp
biAiJEAiOwogICAgICAgIGRvCiAgICAgICAgICAgIGlmIFtbICR7b3B9ID09ICItdSIgXV07IHRo
ZW4KICAgICAgICAgICAgICAgIG5ld2xzPSR7bHN9OwogICAgICAgICAgICBlbHNlCiAgICAgICAg
ICAgICAgICBuZXdscz0iIjsKICAgICAgICAgICAgZmk7CiAgICAgICAgICAgIGZvciBmIGluICQo
ZmluZCAiJGQiIC1uYW1lICcqLnBvJyAtZXhlYyBiYXNlbmFtZSB7fSAucG8gXDspOwogICAgICAg
ICAgICBkbwogICAgICAgICAgICAgICAgaWYgW1sgJHtvcH0gPT0gIi1pIiBdXTsgdGhlbgogICAg
ICAgICAgICAgICAgICAgIGhhc3EgJHtmfSAke2xzfSAmJiBuZXdscz0iJHtuZXdsc30gJHtmfSI7
CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgaGFzcSAke2Z9ICR7bHN9
IHx8IG5ld2xzPSIke25ld2xzfSAke2Z9IjsKICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAg
ICBkb25lOwogICAgICAgICAgICBscz0ke25ld2xzfTsKICAgICAgICBkb25lOwogICAgZWxzZQog
ICAgICAgIGxzPSIkQCI7CiAgICBmaTsKICAgIG5vbHM9IiI7CiAgICBuZXdscz0iIjsKICAgIGZv
ciBmIGluICR7TElOR1VBU307CiAgICBkbwogICAgICAgIGlmIGhhc3EgJHtmfSAke2xzfTsgdGhl
bgogICAgICAgICAgICBuZXdscz0iJHtuZXdsc30gJHtmfSI7CiAgICAgICAgZWxzZQogICAgICAg
ICAgICBub2xzPSIke25vbHN9ICR7Zn0iOwogICAgICAgIGZpOwogICAgZG9uZTsKICAgIFtbIC1u
ICR7bm9sc30gXV0gJiYgZXdhcm4gIlNvcnJ5LCBidXQgJHtQTn0gZG9lcyBub3Qgc3VwcG9ydCB0
aGUgTElOR1VBczoiICR7bm9sc307CiAgICBleHBvcnQgTElOR1VBUz0ke25ld2xzOjF9Cn0KdGMt
YXJjaCAoKSAKeyAKICAgIHRjLW5pbmphX21hZ2ljX3RvX2FyY2ggcG9ydGFnZSAiJEAiCn0KdGMt
YXJjaC1rZXJuZWwgKCkgCnsgCiAgICB0Yy1uaW5qYV9tYWdpY190b19hcmNoIGtlcm4gIiRAIgp9
CnRjLWVuZGlhbiAoKSAKeyAKICAgIGxvY2FsIGhvc3Q9JDE7CiAgICBbWyAteiAke2hvc3R9IF1d
ICYmIGhvc3Q9JHtDVEFSR0VUOi0ke0NIT1NUfX07CiAgICBob3N0PSR7aG9zdCUlLSp9OwogICAg
Y2FzZSAke2hvc3R9IGluIAogICAgICAgIGFscGhhKikKICAgICAgICAgICAgZWNobyBiaWcKICAg
ICAgICA7OwogICAgICAgIGFybSpiKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7Owog
ICAgICAgIGFybSopCiAgICAgICAgICAgIGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICBj
cmlzKikKICAgICAgICAgICAgZWNobyBsaXR0bGUKICAgICAgICA7OwogICAgICAgIGhwcGEqKQog
ICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAgaT84NiopCiAgICAgICAgICAg
IGVjaG8gbGl0dGxlCiAgICAgICAgOzsKICAgICAgICBpYTY0KikKICAgICAgICAgICAgZWNobyBs
aXR0bGUKICAgICAgICA7OwogICAgICAgIG02OCopCiAgICAgICAgICAgIGVjaG8gYmlnCiAgICAg
ICAgOzsKICAgICAgICBtaXBzKmwqKQogICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7
CiAgICAgICAgbWlwcyopCiAgICAgICAgICAgIGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBw
b3dlcnBjKikKICAgICAgICAgICAgZWNobyBiaWcKICAgICAgICA7OwogICAgICAgIHMzOTAqKQog
ICAgICAgICAgICBlY2hvIGJpZwogICAgICAgIDs7CiAgICAgICAgc2gqYiopCiAgICAgICAgICAg
IGVjaG8gYmlnCiAgICAgICAgOzsKICAgICAgICBzaCopCiAgICAgICAgICAgIGVjaG8gbGl0dGxl
CiAgICAgICAgOzsKICAgICAgICBzcGFyYyopCiAgICAgICAgICAgIGVjaG8gYmlnCiAgICAgICAg
OzsKICAgICAgICB4ODZfNjQqKQogICAgICAgICAgICBlY2hvIGxpdHRsZQogICAgICAgIDs7CiAg
ICAgICAgKikKICAgICAgICAgICAgZWNobyB3dGYKICAgICAgICA7OwogICAgZXNhYwp9CnRjLWV4
cG9ydCAoKSAKeyAKICAgIGxvY2FsIHZhcjsKICAgIGZvciB2YXIgaW4gIiRAIjsKICAgIGRvCiAg
ICAgICAgZXZhbCB0Yy1nZXQke3Zhcn0gPiAvZGV2L251bGw7CiAgICBkb25lCn0KdGMtZ2V0QVIg
KCkgCnsgCiAgICB0Yy1nZXRQUk9HIEFSIGFyICIkQCIKfQp0Yy1nZXRBUyAoKSAKeyAKICAgIHRj
LWdldFBST0cgQVMgYXMgIiRAIgp9CnRjLWdldEJVSUxEX0NDICgpIAp7IAogICAgbG9jYWwgdjsK
ICAgIGZvciB2IGluIENDX0ZPUl9CVUlMRCBCVUlMRF9DQyBIT1NUQ0M7CiAgICBkbwogICAgICAg
IGlmIFtbIC1uICR7IXZ9IF1dOyB0aGVuCiAgICAgICAgICAgIGV4cG9ydCBCVUlMRF9DQz0keyF2
fTsKICAgICAgICAgICAgZWNobyAiJHshdn0iOwogICAgICAgICAgICByZXR1cm4gMDsKICAgICAg
ICBmaTsKICAgIGRvbmU7CiAgICBsb2NhbCBzZWFyY2g9OwogICAgaWYgW1sgLW4gJHtDQlVJTER9
IF1dOyB0aGVuCiAgICAgICAgc2VhcmNoPSQodHlwZSAtcCAke0NCVUlMRH0tZ2NjKTsKICAgICAg
ICBzZWFyY2g9JHtzZWFyY2gjIyovfTsKICAgIGZpOwogICAgc2VhcmNoPSR7c2VhcmNoOi1nY2N9
OwogICAgZXhwb3J0IEJVSUxEX0NDPSR7c2VhcmNofTsKICAgIGVjaG8gIiR7c2VhcmNofSIKfQp0
Yy1nZXRDQyAoKSAKeyAKICAgIHRjLWdldFBST0cgQ0MgZ2NjICIkQCIKfQp0Yy1nZXRDUFAgKCkg
CnsgCiAgICB0Yy1nZXRQUk9HIENQUCBjcHAgIiRAIgp9CnRjLWdldENYWCAoKSAKeyAKICAgIHRj
LWdldFBST0cgQ1hYIGcrKyAiJEAiCn0KdGMtZ2V0Rjc3ICgpIAp7IAogICAgdGMtZ2V0UFJPRyBG
NzcgZjc3ICIkQCIKfQp0Yy1nZXRGOTAgKCkgCnsgCiAgICB0Yy1nZXRQUk9HIEY5MCBnZm9ydHJh
biAiJEAiCn0KdGMtZ2V0Rk9SVFJBTiAoKSAKeyAKICAgIHRjLWdldFBST0cgRk9SVFJBTiBnZm9y
dHJhbiAiJEAiCn0KdGMtZ2V0R0NKICgpIAp7IAogICAgdGMtZ2V0UFJPRyBHQ0ogZ2NqICIkQCIK
fQp0Yy1nZXRMRCAoKSAKeyAKICAgIHRjLWdldFBST0cgTEQgbGQgIiRAIgp9CnRjLWdldE5NICgp
IAp7IAogICAgdGMtZ2V0UFJPRyBOTSBubSAiJEAiCn0KdGMtZ2V0UFJPRyAoKSAKeyAKICAgIGxv
Y2FsIHZhcj0kMTsKICAgIGxvY2FsIHByb2c9JDI7CiAgICBpZiBbWyAtbiAkeyF2YXJ9IF1dOyB0
aGVuCiAgICAgICAgZWNobyAiJHshdmFyfSI7CiAgICAgICAgcmV0dXJuIDA7CiAgICBmaTsKICAg
IGxvY2FsIHNlYXJjaD07CiAgICBbWyAtbiAkMyBdXSAmJiBzZWFyY2g9JCh0eXBlIC1wICIkMy0k
e3Byb2d9Iik7CiAgICBbWyAteiAke3NlYXJjaH0gJiYgLW4gJHtDSE9TVH0gXV0gJiYgc2VhcmNo
PSQodHlwZSAtcCAiJHtDSE9TVH0tJHtwcm9nfSIpOwogICAgW1sgLW4gJHtzZWFyY2h9IF1dICYm
IHByb2c9JHtzZWFyY2gjIyovfTsKICAgIGV4cG9ydCAke3Zhcn09JHtwcm9nfTsKICAgIGVjaG8g
IiR7IXZhcn0iCn0KdGMtZ2V0UkFOTElCICgpIAp7IAogICAgdGMtZ2V0UFJPRyBSQU5MSUIgcmFu
bGliICIkQCIKfQp0Yy1nZXRTVFJJUCAoKSAKeyAKICAgIHRjLWdldFBST0cgU1RSSVAgc3RyaXAg
IiRAIgp9CnRjLWlzLWNyb3NzLWNvbXBpbGVyICgpIAp7IAogICAgcmV0dXJuICQoW1sgJHtDQlVJ
TEQ6LSR7Q0hPU1R9fSAhPSAke0NIT1NUfSBdXSkKfQp0Yy1pcy1zb2Z0ZmxvYXQgKCkgCnsgCiAg
ICBjYXNlICR7Q1RBUkdFVH0gaW4gCiAgICAgICAgYmZpbiogfCBoODMwMCopCiAgICAgICAgICAg
IGVjaG8gIm9ubHkiCiAgICAgICAgOzsKICAgICAgICAqKQogICAgICAgICAgICBbWyAke0NUQVJH
RVQvL18vLX0gPT0gKi1zb2Z0ZmxvYXQtKiBdXSAmJiBlY2hvICJ5ZXMiIHx8IGVjaG8gIm5vIgog
ICAgICAgIDs7CiAgICBlc2FjCn0KdGMtbmluamFfbWFnaWNfdG9fYXJjaCAoKSAKeyAKICAgIGZ1
bmN0aW9uIG5pbmogKCkgCiAgICB7IAogICAgICAgIFtbICR7dHlwZX0gPT0gImtlcm4iIF1dICYm
IGVjaG8gJDEgfHwgZWNobyAkMgogICAgfTsKICAgIGxvY2FsIHR5cGU9JDE7CiAgICBsb2NhbCBo
b3N0PSQyOwogICAgW1sgLXogJHtob3N0fSBdXSAmJiBob3N0PSR7Q1RBUkdFVDotJHtDSE9TVH19
OwogICAgY2FzZSAke2hvc3R9IGluIAogICAgICAgIGFscGhhKikKICAgICAgICAgICAgZWNobyBh
bHBoYQogICAgICAgIDs7CiAgICAgICAgYXJtKikKICAgICAgICAgICAgZWNobyBhcm0KICAgICAg
ICA7OwogICAgICAgIGF2ciopCiAgICAgICAgICAgIG5pbmogYXZyMzIgYXZyCiAgICAgICAgOzsK
ICAgICAgICBiZmluKikKICAgICAgICAgICAgbmluaiBibGFja2ZpbiBiZmluCiAgICAgICAgOzsK
ICAgICAgICBjcmlzKikKICAgICAgICAgICAgZWNobyBjcmlzCiAgICAgICAgOzsKICAgICAgICBo
cHBhKikKICAgICAgICAgICAgbmluaiBwYXJpc2MgaHBwYQogICAgICAgIDs7CiAgICAgICAgaT84
NiopCiAgICAgICAgICAgIGlmIFtbICR7dHlwZX0gPT0gImtlcm4iIF1dICYmIFtbICQoS1ZfdG9f
aW50ICR7S1Z9KSAtbHQgJChLVl90b19pbnQgMi42LjI0KSBdXTsgdGhlbgogICAgICAgICAgICAg
ICAgZWNobyBpMzg2OwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBlY2hvIHg4NjsK
ICAgICAgICAgICAgZmkKICAgICAgICA7OwogICAgICAgIGlhNjQqKQogICAgICAgICAgICBlY2hv
IGlhNjQKICAgICAgICA7OwogICAgICAgIG02OCopCiAgICAgICAgICAgIGVjaG8gbTY4awogICAg
ICAgIDs7CiAgICAgICAgbWlwcyopCiAgICAgICAgICAgIGVjaG8gbWlwcwogICAgICAgIDs7CiAg
ICAgICAgbmlvczIqKQogICAgICAgICAgICBlY2hvIG5pb3MyCiAgICAgICAgOzsKICAgICAgICBu
aW9zKikKICAgICAgICAgICAgZWNobyBuaW9zCiAgICAgICAgOzsKICAgICAgICBwb3dlcnBjKikK
ICAgICAgICAgICAgaWYgW1sgJChLVl90b19pbnQgJHtLVn0pIC1nZSAkKEtWX3RvX2ludCAyLjYu
MTYpIF1dICYmIFtbICR7dHlwZX0gPT0gImtlcm4iIF1dOyB0aGVuCiAgICAgICAgICAgICAgICBl
Y2hvIHBvd2VycGM7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIGlmIFtbICQoS1Zf
dG9faW50ICR7S1Z9KSAtZXEgJChLVl90b19pbnQgMi42LjE1KSBdXSAmJiBbWyAke3R5cGV9ID09
ICJrZXJuIiBdXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIGlmIFtbICR7aG9zdH0gPT0gcG93
ZXJwYzY0KiBdXSB8fCBbWyAke1BST0ZJTEVfQVJDSH0gPT0gInBwYzY0IiBdXTsgdGhlbgogICAg
ICAgICAgICAgICAgICAgICAgICBlY2hvIHBvd2VycGM7CiAgICAgICAgICAgICAgICAgICAgZWxz
ZQogICAgICAgICAgICAgICAgICAgICAgICBlY2hvIHBwYzsKICAgICAgICAgICAgICAgICAgICBm
aTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBpZiBbWyAke2hvc3R9
ID09IHBvd2VycGM2NCogXV07IHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgZWNobyBwcGM2
NDsKICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIFtb
ICR7UFJPRklMRV9BUkNIfSA9PSAicHBjNjQiIF1dOyB0aGVuCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBuaW5qIHBwYzY0IHBwYzsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZWNobyBwcGM7CiAgICAgICAgICAgICAgICAgICAgICAg
IGZpOwogICAgICAgICAgICAgICAgICAgIGZpOwogICAgICAgICAgICAgICAgZmk7CiAgICAgICAg
ICAgIGZpCiAgICAgICAgOzsKICAgICAgICBzMzkwKikKICAgICAgICAgICAgZWNobyBzMzkwCiAg
ICAgICAgOzsKICAgICAgICBzaDY0KikKICAgICAgICAgICAgbmluaiBzaDY0IHNoCiAgICAgICAg
OzsKICAgICAgICBzaCopCiAgICAgICAgICAgIGVjaG8gc2gKICAgICAgICA7OwogICAgICAgIHNw
YXJjNjQqKQogICAgICAgICAgICBuaW5qIHNwYXJjNjQgc3BhcmMKICAgICAgICA7OwogICAgICAg
IHNwYXJjKikKICAgICAgICAgICAgW1sgJHtQUk9GSUxFX0FSQ0h9ID09ICJzcGFyYzY0IiBdXSAm
JiBuaW5qIHNwYXJjNjQgc3BhcmMgfHwgZWNobyBzcGFyYwogICAgICAgIDs7CiAgICAgICAgdmF4
KikKICAgICAgICAgICAgZWNobyB2YXgKICAgICAgICA7OwogICAgICAgIHg4Nl82NCopCiAgICAg
ICAgICAgIGlmIFtbICR7dHlwZX0gPT0gImtlcm4iIF1dICYmIFtbICQoS1ZfdG9faW50ICR7S1Z9
KSAtZ2UgJChLVl90b19pbnQgMi42LjI0KSBdXTsgdGhlbgogICAgICAgICAgICAgICAgZWNobyB4
ODY7CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIG5pbmogeDg2XzY0IGFtZDY0Owog
ICAgICAgICAgICBmaQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgZWNobyB1bmtu
b3duCiAgICAgICAgOzsKICAgIGVzYWMKfQp0cmVlY29weSAoKSAKeyAKICAgIGRlc3Q9JHshI307
CiAgICBmaWxlc19jb3VudD0kIzsKICAgIHdoaWxlICgoICQjID4gMSApKTsgZG8KICAgICAgICBk
aXJzdHJ1Y3Q9JChkaXJuYW1lICIkMSIpOwogICAgICAgIG1rZGlyIC1wICIke2Rlc3R9LyR7ZGly
c3RydWN0fSI7CiAgICAgICAgY3AgLXBQUiAiJDEiICIke2Rlc3R9LyR7ZGlyc3RydWN0fSI7CiAg
ICAgICAgc2hpZnQ7CiAgICBkb25lCn0KdW5wYWNrX21ha2VzZWxmICgpIAp7IAogICAgbG9jYWwg
c3JjX2lucHV0PSR7MTotJHtBfX07CiAgICBsb2NhbCBzcmM9JChmaW5kX3VucGFja2FibGVfZmls
ZSAiJHtzcmNfaW5wdXR9Iik7CiAgICBsb2NhbCBza2lwPSQyOwogICAgbG9jYWwgZXhlPSQzOwog
ICAgW1sgLXogJHtzcmN9IF1dICYmIGRpZSAiQ291bGQgbm90IGxvY2F0ZSBzb3VyY2UgZm9yICck
e3NyY19pbnB1dH0nIjsKICAgIGxvY2FsIHNocnRzcmM9JChiYXNlbmFtZSAiJHtzcmN9Iik7CiAg
ICBlY2hvICI+Pj4gVW5wYWNraW5nICR7c2hydHNyY30gdG8gJHtQV0R9IjsKICAgIGlmIFtbIC16
ICR7c2tpcH0gXV07IHRoZW4KICAgICAgICBsb2NhbCB2ZXI9JChncmVwIC1hICcjLipNYWtlc2Vs
ZicgIiR7c3JjfSIgfCBhd2sgJ3twcmludCAkTkZ9Jyk7CiAgICAgICAgbG9jYWwgc2tpcD0wOwog
ICAgICAgIGV4ZT10YWlsOwogICAgICAgIGNhc2UgJHt2ZXJ9IGluIAogICAgICAgICAgICAxLjUu
KiB8IDEuNi4wLW52KQogICAgICAgICAgICAgICAgc2tpcD0kKGdyZXAgLWEgXnNraXA9ICIke3Ny
Y30iIHwgY3V0IC1kPSAtZjIpCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIDIuMCB8IDIuMC4x
KQogICAgICAgICAgICAgICAgc2tpcD0kKGdyZXAgLWEgXicJJ3RhaWwgIiR7c3JjfSIgfCBhd2sg
J3twcmludCAkMn0nIHwgY3V0IC1iMi0pCiAgICAgICAgICAgIDs7CiAgICAgICAgICAgIDIuMS4x
KQogICAgICAgICAgICAgICAgc2tpcD0kKGdyZXAgLWEgXm9mZnNldD0gIiR7c3JjfSIgfCBhd2sg
J3twcmludCAkMn0nIHwgY3V0IC1iMi0pOwogICAgICAgICAgICAgICAgbGV0IHNraXA9InNraXAg
KyAxIgogICAgICAgICAgICA7OwogICAgICAgICAgICAyLjEuMikKICAgICAgICAgICAgICAgIHNr
aXA9JChncmVwIC1hIF5vZmZzZXQ9ICIke3NyY30iIHwgYXdrICd7cHJpbnQgJDN9JyB8IGhlYWQg
LW4gMSk7CiAgICAgICAgICAgICAgICBsZXQgc2tpcD0ic2tpcCArIDEiCiAgICAgICAgICAgIDs7
CiAgICAgICAgICAgIDIuMS4zKQogICAgICAgICAgICAgICAgc2tpcD1gZ3JlcCAtYSBeb2Zmc2V0
PSAiJHtzcmN9IiB8IGF3ayAne3ByaW50ICQzfSdgOwogICAgICAgICAgICAgICAgbGV0IHNraXA9
InNraXAgKyAxIgogICAgICAgICAgICA7OwogICAgICAgICAgICAyLjEuNCB8IDIuMS41KQogICAg
ICAgICAgICAgICAgc2tpcD0kKGdyZXAgLWEgb2Zmc2V0PS4qaGVhZC4qd2MgIiR7c3JjfSIgfCBh
d2sgJ3twcmludCAkM30nIHwgaGVhZCAtbiAxKTsKICAgICAgICAgICAgICAgIHNraXA9JChoZWFk
IC1uICR7c2tpcH0gIiR7c3JjfSIgfCB3YyAtYyk7CiAgICAgICAgICAgICAgICBleGU9ImRkIgog
ICAgICAgICAgICA7OwogICAgICAgICAgICAqKQogICAgICAgICAgICAgICAgZWVycm9yICJJJ20g
c29ycnksIGJ1dCBJIHdhcyB1bmFibGUgdG8gc3VwcG9ydCB0aGUgTWFrZXNlbGYgZmlsZS4iOwog
ICAgICAgICAgICAgICAgZWVycm9yICJUaGUgdmVyc2lvbiBJIGRldGVjdGVkIHdhcyAnJHt2ZXJ9
Jy4iOwogICAgICAgICAgICAgICAgZWVycm9yICJQbGVhc2UgZmlsZSBhIGJ1ZyBhYm91dCB0aGUg
ZmlsZSAke3NocnRzcmN9IGF0IjsKICAgICAgICAgICAgICAgIGVlcnJvciAiaHR0cDovL2J1Z3Mu
Z2VudG9vLm9yZy8gc28gdGhhdCBzdXBwb3J0IGNhbiBiZSBhZGRlZC4iOwogICAgICAgICAgICAg
ICAgZGllICJtYWtlc2VsZiB2ZXJzaW9uICcke3Zlcn0nIG5vdCBzdXBwb3J0ZWQiCiAgICAgICAg
ICAgIDs7CiAgICAgICAgZXNhYzsKICAgICAgICBkZWJ1Zy1wcmludCAiRGV0ZWN0ZWQgTWFrZXNl
bGYgdmVyc2lvbiAke3Zlcn0gLi4uIHVzaW5nICR7c2tpcH0gYXMgb2Zmc2V0IjsKICAgIGZpOwog
ICAgY2FzZSAke2V4ZX0gaW4gCiAgICAgICAgdGFpbCkKICAgICAgICAgICAgZXhlPSJ0YWlsIC1u
ICske3NraXB9ICcke3NyY30nIgogICAgICAgIDs7CiAgICAgICAgZGQpCiAgICAgICAgICAgIGV4
ZT0iZGQgaWJzPSR7c2tpcH0gc2tpcD0xIG9icz0xMDI0IGNvbnY9c3luYyBpZj0nJHtzcmN9JyIK
ICAgICAgICA7OwogICAgICAgICopCiAgICAgICAgICAgIGRpZSAibWFrZXNlbGYgY2FudCBoYW5k
bGUgZXhlICcke2V4ZX0nIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgbG9jYWwgdG1wZmlsZT0k
KGVta3RlbXApOwogICAgZXZhbCAke2V4ZX0gMj4gL2Rldi9udWxsIHwgaGVhZCAtYyA1MTIgPiAi
JHt0bXBmaWxlfSI7CiAgICBsb2NhbCBmaWxldHlwZT0kKGZpbGUgLWIgIiR7dG1wZmlsZX0iKTsK
ICAgIGNhc2UgJHtmaWxldHlwZX0gaW4gCiAgICAgICAgKnRhclwgYXJjaGl2ZSopCiAgICAgICAg
ICAgIGV2YWwgJHtleGV9IHwgdGFyIC0tbm8tc2FtZS1vd25lciAteGYgLQogICAgICAgIDs7CiAg
ICAgICAgYnppcDIqKQogICAgICAgICAgICBldmFsICR7ZXhlfSB8IGJ6aXAyIC1kYyB8IHRhciAt
LW5vLXNhbWUtb3duZXIgLXhmIC0KICAgICAgICA7OwogICAgICAgIGd6aXAqKQogICAgICAgICAg
ICBldmFsICR7ZXhlfSB8IHRhciAtLW5vLXNhbWUtb3duZXIgLXh6ZiAtCiAgICAgICAgOzsKICAg
ICAgICBjb21wcmVzcyopCiAgICAgICAgICAgIGV2YWwgJHtleGV9IHwgZ3VuemlwIHwgdGFyIC0t
bm8tc2FtZS1vd25lciAteGYgLQogICAgICAgIDs7CiAgICAgICAgKikKICAgICAgICAgICAgZWVy
cm9yICJVbmtub3duIGZpbGV0eXBlIFwiJHtmaWxldHlwZX1cIiA/IjsKICAgICAgICAgICAgZmFs
c2UKICAgICAgICA7OwogICAgZXNhYzsKICAgIF9waXBlc3RhdHVzPSIke1BJUEVTVEFUVVNbKl19
IjsKICAgIFtbICIke19waXBlc3RhdHVzLy8gL30iIC1lcSAwIF1dIHx8IGRpZSAiZmFpbHVyZSB1
bnBhY2tpbmcgKCR7ZmlsZXR5cGV9KSBtYWtlc2VsZiAke3NocnRzcmN9ICgnJHt2ZXJ9JyArJHtz
a2lwfSkiCn0KdW5wYWNrX3BkdiAoKSAKeyAKICAgIGxvY2FsIHNyYz0kKGZpbmRfdW5wYWNrYWJs
ZV9maWxlICIkMSIpOwogICAgbG9jYWwgc2l6ZW9mZl90PSQyOwogICAgW1sgLXogJHtzcmN9IF1d
ICYmIGRpZSAiQ291bGQgbm90IGxvY2F0ZSBzb3VyY2UgZm9yICckMSciOwogICAgW1sgLXogJHtz
aXplb2ZmX3R9IF1dICYmIGRpZSAiTm8gaWRlYSB3aGF0IG9mZl90IHNpemUgd2FzIHVzZWQgZm9y
IHRoaXMgcGR2IDooIjsKICAgIGxvY2FsIHNocnRzcmM9JChiYXNlbmFtZSAiJHtzcmN9Iik7CiAg
ICBlY2hvICI+Pj4gVW5wYWNraW5nICR7c2hydHNyY30gdG8gJHtQV0R9IjsKICAgIGxvY2FsIG1l
dGFza2lwPSQodGFpbCAtYyAke3NpemVvZmZfdH0gIiR7c3JjfSIgfCBoZXhkdW1wIC1lIFwiJWlc
Iik7CiAgICBsb2NhbCB0YWlsc2tpcD0kKHRhaWwgLWMgJCgoJHtzaXplb2ZmX3R9KjIpKSAiJHtz
cmN9IiB8IGhlYWQgLWMgJHtzaXplb2ZmX3R9IHwgaGV4ZHVtcCAtZSBcIiVpXCIpOwogICAgbG9j
YWwgbWV0YWZpbGU9JChlbWt0ZW1wKTsKICAgIHRhaWwgLWMgKyQoKCR7bWV0YXNraXB9KzEpKSAi
JHtzcmN9IiA+ICIke21ldGFmaWxlfSI7CiAgICBsb2NhbCBkYXRhZmlsZT0kKHRhaWwgLWMgKyQo
KCR7bWV0YXNraXB9KzEpKSAiJHtzcmN9IiB8IHN0cmluZ3MgfCBoZWFkIC1uIDEpOwogICAgZGF0
YWZpbGU9JChiYXNlbmFtZSAiJHtkYXRhZmlsZX0iKTsKICAgIGxvY2FsIHRtcGZpbGU9JChlbWt0
ZW1wKTsKICAgIHRhaWwgLWMgKyQoKCR7dGFpbHNraXB9KzEpKSAke3NyY30gMj4gL2Rldi9udWxs
IHwgaGVhZCAtYyA1MTIgPiAke3RtcGZpbGV9OwogICAgbG9jYWwgaXNjb21wcmVzc2VkPSQoZmls
ZSAtYiAiJHt0bXBmaWxlfSIpOwogICAgaWYgW1sgJHtpc2NvbXByZXNzZWQ6MDo4fSA9PSAiY29t
cHJlc3MiIF1dOyB0aGVuCiAgICAgICAgaXNjb21wcmVzc2VkPTE7CiAgICAgICAgbXYgJHt0bXBm
aWxlfXssLlp9OwogICAgICAgIGd1bnppcCAke3RtcGZpbGV9OwogICAgZWxzZQogICAgICAgIGlz
Y29tcHJlc3NlZD0wOwogICAgZmk7CiAgICBsb2NhbCBpc3Rhcj0kKGZpbGUgLWIgIiR7dG1wZmls
ZX0iKTsKICAgIGlmIFtbICR7aXN0YXI6MDo5fSA9PSAiUE9TSVggdGFyIiBdXTsgdGhlbgogICAg
ICAgIGlzdGFyPTE7CiAgICBlbHNlCiAgICAgICAgaXN0YXI9MDsKICAgIGZpOwogICAgaWYgWyAk
e2lzY29tcHJlc3NlZH0gLWVxIDEgXTsgdGhlbgogICAgICAgIGlmIFsgJHtpc3Rhcn0gLWVxIDEg
XTsgdGhlbgogICAgICAgICAgICB0YWlsIC1jICskKCgke3RhaWxza2lwfSsxKSkgJHtzcmN9IDI+
IC9kZXYvbnVsbCB8IGhlYWQgLWMgJCgoJHttZXRhc2tpcH0tJHt0YWlsc2tpcH0pKSB8IHRhciAt
eHpmIC07CiAgICAgICAgZWxzZQogICAgICAgICAgICB0YWlsIC1jICskKCgke3RhaWxza2lwfSsx
KSkgJHtzcmN9IDI+IC9kZXYvbnVsbCB8IGhlYWQgLWMgJCgoJHttZXRhc2tpcH0tJHt0YWlsc2tp
cH0pKSB8IGd6aXAgLWRjID4gJHtkYXRhZmlsZX07CiAgICAgICAgZmk7CiAgICBlbHNlCiAgICAg
ICAgaWYgWyAke2lzdGFyfSAtZXEgMSBdOyB0aGVuCiAgICAgICAgICAgIHRhaWwgLWMgKyQoKCR7
dGFpbHNraXB9KzEpKSAke3NyY30gMj4gL2Rldi9udWxsIHwgaGVhZCAtYyAkKCgke21ldGFza2lw
fS0ke3RhaWxza2lwfSkpIHwgdGFyIC0tbm8tc2FtZS1vd25lciAteGYgLTsKICAgICAgICBlbHNl
CiAgICAgICAgICAgIHRhaWwgLWMgKyQoKCR7dGFpbHNraXB9KzEpKSAke3NyY30gMj4gL2Rldi9u
dWxsIHwgaGVhZCAtYyAkKCgke21ldGFza2lwfS0ke3RhaWxza2lwfSkpID4gJHtkYXRhZmlsZX07
CiAgICAgICAgZmk7CiAgICBmaTsKICAgIHRydWUKfQp2YWxpZGF0ZV9kZXNrdG9wX2VudHJpZXMg
KCkgCnsgCiAgICBpZiBbWyAteCAvdXNyL2Jpbi9kZXNrdG9wLWZpbGUtdmFsaWRhdGUgXV07IHRo
ZW4KICAgICAgICBlaW5mbyAiQ2hlY2tpbmcgZGVza3RvcCBlbnRyeSB2YWxpZGl0eSI7CiAgICAg
ICAgbG9jYWwgZGlyZWN0b3JpZXM9IiI7CiAgICAgICAgZm9yIGQgaW4gL3Vzci9zaGFyZS9hcHBs
aWNhdGlvbnMgJEA7CiAgICAgICAgZG8KICAgICAgICAgICAgW1sgLWQgJHtEfSR7ZH0gXV0gJiYg
ZGlyZWN0b3JpZXM9IiR7ZGlyZWN0b3JpZXN9ICR7RH0ke2R9IjsKICAgICAgICBkb25lOwogICAg
ICAgIGlmIFtbIC1uICR7ZGlyZWN0b3JpZXN9IF1dOyB0aGVuCiAgICAgICAgICAgIGZvciBGSUxF
IGluICQoZmluZCAke2RpcmVjdG9yaWVzfSAtbmFtZSAiKlwuZGVza3RvcCIgCQkJCQkJCS1ub3Qg
LXBhdGggJyouaGlkZGVuKicgfCBzb3J0IC11IDI+L2Rldi9udWxsKTsKICAgICAgICAgICAgZG8K
ICAgICAgICAgICAgICAgIGxvY2FsIHRlbXA9JChkZXNrdG9wLWZpbGUtdmFsaWRhdGUgJHtGSUxF
fSB8IGdyZXAgLXYgIndhcm5pbmc6IiB8IAkJCQkJCQkJc2VkIC1lICJzfGVycm9yOiB8fCIgLWUg
InN8JHtGSUxFfTp8LS18ZyIgKTsKICAgICAgICAgICAgICAgIFtbIC1uICR0ZW1wIF1dICYmIGVs
b2cgJHt0ZW1wLy0tLyR7RklMRS8ke0R9L306fTsKICAgICAgICAgICAgZG9uZTsKICAgICAgICBm
aTsKICAgICAgICBlY2hvICIiOwogICAgZWxzZQogICAgICAgIGVpbmZvICJQYXNzaW5nIGRlc2t0
b3AgZW50cnkgdmFsaWRpdHkgY2hlY2suIEluc3RhbGwgZGV2LXV0aWwvZGVza3RvcC1maWxlLXV0
aWxzLCBpZiB5b3Ugd2FudCB0byBoZWxwIHRvIGltcHJvdmUgR2VudG9vLiI7CiAgICBmaQp9CnZl
cnNpb25fY29tcGFyZSAoKSAKeyAKICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9uOwog
ICAgbG9jYWwgdmVyX2E9JHsxfSB2ZXJfYj0kezJ9IHBhcnRzX2EgcGFydHNfYiBjdXJfaWR4X2E9
MCBjdXJfaWR4X2I9MDsKICAgIHBhcnRzX2E9KCQoZ2V0X2FsbF92ZXJzaW9uX2NvbXBvbmVudHMg
IiR7dmVyX2F9IiApKTsKICAgIHBhcnRzX2I9KCQoZ2V0X2FsbF92ZXJzaW9uX2NvbXBvbmVudHMg
IiR7dmVyX2J9IiApKTsKICAgIGxvY2FsIGluZl9sb29wPTA7CiAgICB3aGlsZSB0cnVlOyBkbwog
ICAgICAgIGluZl9sb29wPSQoKCAke2luZl9sb29wfSArIDEgKSk7CiAgICAgICAgW1sgJHtpbmZf
bG9vcH0gLWd0IDIwIF1dICYmIGRpZSAidmVyc2lvbmF0b3IgY29tcGFyZSBidWcgW251bWJlcnMs
ICR7dmVyX2F9LCAke3Zlcl9ifV0iOwogICAgICAgIGxvY2FsIGN1cl90b2tfYT0ke3BhcnRzX2Fb
JHtjdXJfaWR4X2F9XX07CiAgICAgICAgbG9jYWwgY3VyX3Rva19iPSR7cGFydHNfYlske2N1cl9p
ZHhfYn1dfTsKICAgICAgICBpZiBbWyAtbiAke2N1cl90b2tfYX0gXV0gJiYgW1sgLXogJHtjdXJf
dG9rX2EvL1tbOmRpZ2l0Ol1dfSBdXTsgdGhlbgogICAgICAgICAgICBjdXJfaWR4X2E9JCgoICR7
Y3VyX2lkeF9hfSArIDEgKSk7CiAgICAgICAgICAgIFtbICR7cGFydHNfYVske2N1cl9pZHhfYX1d
fSA9PSAiLiIgXV0gJiYgY3VyX2lkeF9hPSQoKCAke2N1cl9pZHhfYX0gKyAxICkpOwogICAgICAg
IGVsc2UKICAgICAgICAgICAgY3VyX3Rva19hPSIiOwogICAgICAgIGZpOwogICAgICAgIGlmIFtb
IC1uICR7Y3VyX3Rva19ifSBdXSAmJiBbWyAteiAke2N1cl90b2tfYi8vW1s6ZGlnaXQ6XV19IF1d
OyB0aGVuCiAgICAgICAgICAgIGN1cl9pZHhfYj0kKCggJHtjdXJfaWR4X2J9ICsgMSApKTsKICAg
ICAgICAgICAgW1sgJHtwYXJ0c19iWyR7Y3VyX2lkeF9ifV19ID09ICIuIiBdXSAmJiBjdXJfaWR4
X2I9JCgoICR7Y3VyX2lkeF9ifSArIDEgKSk7CiAgICAgICAgZWxzZQogICAgICAgICAgICBjdXJf
dG9rX2I9IiI7CiAgICAgICAgZmk7CiAgICAgICAgW1sgLXogJHtjdXJfdG9rX2F9IF1dICYmIFtb
IC16ICR7Y3VyX3Rva19ifSBdXSAmJiBicmVhazsKICAgICAgICBjdXJfdG9rX2E9JHtjdXJfdG9r
X2EjIysoMCl9OwogICAgICAgIGN1cl90b2tfYj0ke2N1cl90b2tfYiMjKygwKX07CiAgICAgICAg
W1sgLXogJHtjdXJfdG9rX2F9IF1dICYmIGN1cl90b2tfYT0wOwogICAgICAgIFtbIC16ICR7Y3Vy
X3Rva19ifSBdXSAmJiBjdXJfdG9rX2I9MDsKICAgICAgICBbWyAke2N1cl90b2tfYX0gLWx0ICR7
Y3VyX3Rva19ifSBdXSAmJiBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYgJiYgcmV0dXJu
IDE7CiAgICAgICAgW1sgJHtjdXJfdG9rX2F9IC1ndCAke2N1cl90b2tfYn0gXV0gJiYgX192ZXJz
aW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmICYmIHJldHVybiAzOwogICAgZG9uZTsKICAgIGxvY2Fs
IGxldHRlcl9hPTsKICAgIGxldHRlcl9hPSR7cGFydHNfYVske2N1cl9pZHhfYX1dfTsKICAgIGlm
IFtbICR7I2xldHRlcl9hfSAtZXEgMSBdXSAmJiBbWyAteiAke2xldHRlcl9hL1thLXpdfSBdXTsg
dGhlbgogICAgICAgIGN1cl9pZHhfYT0kKCggJHtjdXJfaWR4X2F9ICsgMSApKTsKICAgIGVsc2UK
ICAgICAgICBsZXR0ZXJfYT0iQCI7CiAgICBmaTsKICAgIGxvY2FsIGxldHRlcl9iPTsKICAgIGxl
dHRlcl9iPSR7cGFydHNfYlske2N1cl9pZHhfYn1dfTsKICAgIGlmIFtbICR7I2xldHRlcl9ifSAt
ZXEgMSBdXSAmJiBbWyAteiAke2xldHRlcl9iL1thLXpdfSBdXTsgdGhlbgogICAgICAgIGN1cl9p
ZHhfYj0kKCggJHtjdXJfaWR4X2J9ICsgMSApKTsKICAgIGVsc2UKICAgICAgICBsZXR0ZXJfYj0i
QCI7CiAgICBmaTsKICAgIFtbICR7bGV0dGVyX2F9IDwgJHtsZXR0ZXJfYn0gXV0gJiYgX192ZXJz
aW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmICYmIHJldHVybiAxOwogICAgW1sgJHtsZXR0ZXJfYX0g
PiAke2xldHRlcl9ifSBdXSAmJiBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYgJiYgcmV0
dXJuIDM7CiAgICBsb2NhbCBzdWZmaXggcnVsZSBwYXJ0IHJfbHQgcl9ndDsKICAgIGZvciBydWxl
IGluICJhbHBoYT0xIiAiYmV0YT0xIiAicHJlPTEiICJyYz0xIiAicD0zIiAicj0zIjsKICAgIGRv
CiAgICAgICAgc3VmZml4PSR7cnVsZSUlPSp9OwogICAgICAgIHJfbHQ9JHtydWxlIyMqPX07CiAg
ICAgICAgW1sgJHtyX2x0fSAtZXEgMSBdXSAmJiByX2d0PTMgfHwgcl9ndD0xOwogICAgICAgIGxv
Y2FsIHN1ZmZpeF9hPTsKICAgICAgICBmb3IgcGFydCBpbiAke3BhcnRzX2FbQF19OwogICAgICAg
IGRvCiAgICAgICAgICAgIFtbICR7cGFydCMke3N1ZmZpeH19ICE9ICR7cGFydH0gXV0gJiYgW1sg
LXogJHtwYXJ0IyMke3N1ZmZpeH0qKFtbOmRpZ2l0Ol1dKX0gXV0gJiYgc3VmZml4X2E9JHtwYXJ0
IyR7c3VmZml4fX0wOwogICAgICAgIGRvbmU7CiAgICAgICAgbG9jYWwgc3VmZml4X2I9OwogICAg
ICAgIGZvciBwYXJ0IGluICR7cGFydHNfYltAXX07CiAgICAgICAgZG8KICAgICAgICAgICAgW1sg
JHtwYXJ0IyR7c3VmZml4fX0gIT0gJHtwYXJ0fSBdXSAmJiBbWyAteiAke3BhcnQjIyR7c3VmZml4
fSooW1s6ZGlnaXQ6XV0pfSBdXSAmJiBzdWZmaXhfYj0ke3BhcnQjJHtzdWZmaXh9fTA7CiAgICAg
ICAgZG9uZTsKICAgICAgICBbWyAteiAke3N1ZmZpeF9hfSBdXSAmJiBbWyAteiAke3N1ZmZpeF9i
fSBdXSAmJiBjb250aW51ZTsKICAgICAgICBbWyAteiAke3N1ZmZpeF9hfSBdXSAmJiBfX3ZlcnNp
b25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYgJiYgcmV0dXJuICR7cl9ndH07CiAgICAgICAgW1sgLXog
JHtzdWZmaXhfYn0gXV0gJiYgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmICYmIHJldHVy
biAke3JfbHR9OwogICAgICAgIHN1ZmZpeF9hPSR7c3VmZml4X2EjIysoMCl9OwogICAgICAgIHN1
ZmZpeF9hPSR7c3VmZml4X2E6LTB9OwogICAgICAgIHN1ZmZpeF9iPSR7c3VmZml4X2IjIysoMCl9
OwogICAgICAgIHN1ZmZpeF9iPSR7c3VmZml4X2I6LTB9OwogICAgICAgIFtbICR7c3VmZml4X2F9
IC1sdCAke3N1ZmZpeF9ifSBdXSAmJiBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmYgJiYg
cmV0dXJuIDE7CiAgICAgICAgW1sgJHtzdWZmaXhfYX0gLWd0ICR7c3VmZml4X2J9IF1dICYmIF9f
dmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZiAmJiByZXR1cm4gMzsKICAgIGRvbmU7CiAgICBf
X3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvZmY7CiAgICByZXR1cm4gMgp9CnZlcnNpb25faXNf
YXRfbGVhc3QgKCkgCnsgCiAgICBfX3ZlcnNpb25hdG9yX3Nob3B0X3RvZ2dsZSBvbjsKICAgIGxv
Y2FsIHdhbnRfcz0iJDEiIGhhdmVfcz0iJHsyOi0ke1BWUn19IiByOwogICAgdmVyc2lvbl9jb21w
YXJlICIke3dhbnRfc30iICIke2hhdmVfc30iOwogICAgcj0kPzsKICAgIGNhc2UgJHIgaW4gCiAg
ICAgICAgMSB8IDIpCiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZjsK
ICAgICAgICAgICAgcmV0dXJuIDAKICAgICAgICA7OwogICAgICAgIDMpCiAgICAgICAgICAgIF9f
dmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9mZjsKICAgICAgICAgICAgcmV0dXJuIDEKICAgICAg
ICA7OwogICAgICAgICopCiAgICAgICAgICAgIF9fdmVyc2lvbmF0b3Jfc2hvcHRfdG9nZ2xlIG9m
ZjsKICAgICAgICAgICAgZGllICJ2ZXJzaW9uYXRvciBjb21wYXJlIGJ1ZyBbYXRsZWFzdCwgJHt3
YW50X3N9LCAke2hhdmVfc30sICR7cn1dIgogICAgICAgIDs7CiAgICBlc2FjOwogICAgX192ZXJz
aW9uYXRvcl9zaG9wdF90b2dnbGUgb2ZmCn0KdmVyc2lvbl9zb3J0ICgpIAp7IAogICAgX192ZXJz
aW9uYXRvcl9zaG9wdF90b2dnbGUgb247CiAgICBsb2NhbCBpdGVtcz0gbGVmdD0wOwogICAgaXRl
bXM9KCRAKTsKICAgIHdoaWxlIFtbICR7bGVmdH0gLWx0ICR7I2l0ZW1zW0BdfSBdXTsgZG8KICAg
ICAgICBsb2NhbCBsb3dlc3RfaWR4PSR7bGVmdH07CiAgICAgICAgbG9jYWwgaWR4PSQoKCAke2xv
d2VzdF9pZHh9ICsgMSApKTsKICAgICAgICB3aGlsZSBbWyAke2lkeH0gLWx0ICR7I2l0ZW1zW0Bd
fSBdXTsgZG8KICAgICAgICAgICAgdmVyc2lvbl9jb21wYXJlICIke2l0ZW1zWyR7bG93ZXN0X2lk
eH1dfSIgIiR7aXRlbXNbJHtpZHh9XX0iOwogICAgICAgICAgICBbWyAkPyAtZXEgMyBdXSAmJiBs
b3dlc3RfaWR4PSR7aWR4fTsKICAgICAgICAgICAgaWR4PSQoKCAke2lkeH0gKyAxICkpOwogICAg
ICAgIGRvbmU7CiAgICAgICAgbG9jYWwgdG1wPSR7aXRlbXNbJHtsb3dlc3RfaWR4fV19OwogICAg
ICAgIGl0ZW1zWyR7bG93ZXN0X2lkeH1dPSR7aXRlbXNbJHtsZWZ0fV19OwogICAgICAgIGl0ZW1z
WyR7bGVmdH1dPSR7dG1wfTsKICAgICAgICBsZWZ0PSQoKCAke2xlZnR9ICsgMSApKTsKICAgIGRv
bmU7CiAgICBlY2hvICR7aXRlbXNbQF19OwogICAgX192ZXJzaW9uYXRvcl9zaG9wdF90b2dnbGUg
b2ZmCn0KZGVjbGFyZSAteCBBTFNBX0NBUkRTPSJhbGk1NDUxIGFsczQwMDAgYXRpaXhwIGF0aWl4
cC1tb2RlbSBidDg3eCBjYTAxMDYgY21pcGNpIGVtdTEwazEgZW11MTBrMXggZW5zMTM3MCBlbnMx
MzcxIGVzMTkzOCBlczE5NjggZm04MDEgaGRhLWludGVsIGludGVsOHgwIGludGVsOHgwbSBtYWVz
dHJvMyB0cmlkZW50IHVzYi1hdWRpbyB2aWE4Mnh4IHZpYTgyeHgtbW9kZW0geW1mcGNpIgpkZWNs
YXJlIC14IEFMU0FfUENNX1BMVUdJTlM9ImFkcGNtIGFsYXcgYXN5bSBjb3B5IGRtaXggZHNoYXJl
IGRzbm9vcCBlbXB0eSBleHRwbHVnIGZpbGUgaG9va3MgaWVjOTU4IGlvcGx1ZyBsYWRzcGEgbGZs
b2F0IGxpbmVhciBtZXRlciBtdWxhdyBtdWx0aSBudWxsIHBsdWcgcmF0ZSByb3V0ZSBzaGFyZSBz
aG0gc29mdHZvbCIKZGVjbGFyZSAteCBBTlRfSE9NRT0iL3Vzci9zaGFyZS9hbnQtY29yZSIKZGVj
bGFyZSAteCBBUEFDSEUyX01PRFVMRVM9ImFjdGlvbnMgYWxpYXMgYXV0aF9iYXNpYyBhdXRobl9h
bGlhcyBhdXRobl9hbm9uIGF1dGhuX2RibSBhdXRobl9kZWZhdWx0IGF1dGhuX2ZpbGUgYXV0aHpf
ZGJtIGF1dGh6X2RlZmF1bHQgYXV0aHpfZ3JvdXBmaWxlIGF1dGh6X2hvc3QgYXV0aHpfb3duZXIg
YXV0aHpfdXNlciBhdXRvaW5kZXggY2FjaGUgZGF2IGRhdl9mcyBkYXZfbG9jayBkZWZsYXRlIGRp
ciBkaXNrX2NhY2hlIGVudiBleHBpcmVzIGV4dF9maWx0ZXIgZmlsZV9jYWNoZSBmaWx0ZXIgaGVh
ZGVycyBpbmNsdWRlIGluZm8gbG9nX2NvbmZpZyBsb2dpbyBtZW1fY2FjaGUgbWltZSBtaW1lX21h
Z2ljIG5lZ290aWF0aW9uIHJld3JpdGUgc2V0ZW52aWYgc3BlbGluZyBzdGF0dXMgdW5pcXVlX2lk
IHVzZXJkaXIgdXNlcnRyYWNrIHZob3N0X2FsaWFzIgpkZWNsYXJlIC14IEFSQ0g9Ing4NiIKZGVj
bGFyZSAteCBDQlVJTEQ9Imk2ODYtcGMtbGludXgtZ251IgpkZWNsYXJlIC14IENERUZJTkVfZGVm
YXVsdD0iX191bml4X18iCmRlY2xhcmUgLXggQ0ZMQUdTPSItbWFyY2g9cHJlc2NvdHQgLU8yIC1w
aXBlIC1mb21pdC1mcmFtZS1wb2ludGVyIgpkZWNsYXJlIC14IENGTEFHU19kZWZhdWx0PSIiCmRl
Y2xhcmUgLXggQ0hPU1Q9Imk2ODYtcGMtbGludXgtZ251IgpkZWNsYXJlIC14IENIT1NUX2RlZmF1
bHQ9Imk2ODYtcGMtbGludXgtZ251IgpkZWNsYXJlIC14IENMQVNTUEFUSD0iLiIKZGVjbGFyZSAt
eCBDVEFSR0VUX2RlZmF1bHQ9Imk2ODYtcGMtbGludXgtZ251IgpkZWNsYXJlIC14IENWU19SU0g9
InNzaCIKZGVjbGFyZSAteCBDWFhGTEFHUz0iLW1hcmNoPXByZXNjb3R0IC1PMiAtcGlwZSAtZm9t
aXQtZnJhbWUtcG9pbnRlciIKZGVjbGFyZSAteCBERUZBVUxUX0FCST0iZGVmYXVsdCIKZGVjbGFy
ZSAteCBERVNUVFJFRT0iL3VzciIKZGVjbGFyZSAteCBESVJPUFRJT05TPSItbTA3NTUiCmRlY2xh
cmUgLXggRUxJQkM9ImdsaWJjIgpkZWNsYXJlIC14IEVYRU9QVElPTlM9Ii1tMDc1NSIKZGVjbGFy
ZSAteCBGRUFUVVJFUz0iYnVpbGRwa2cgY2NhY2hlIGRpc3Rsb2NrcyBtZXRhZGF0YS10cmFuc2Zl
ciBwYXJhbGxlbC1mZXRjaCBzYW5kYm94IHNmcGVybXMgc3RyaWN0IHVubWVyZ2Utb3JwaGFucyB1
c2VyZmV0Y2ggdXNlcnByaXYgdXNlcnNhbmRib3giCmRlY2xhcmUgLXggRkxUS19ET0NESVI9Ii91
c3Ivc2hhcmUvZG9jL2ZsdGstMS4xLjctcjIvaHRtbCIKZGVjbGFyZSAteCBHQ0NfUEFUSD0iL3Vz
ci9pNjg2LXBjLWxpbnV4LWdudS9nY2MtYmluLzQuMS4yIgpkZWNsYXJlIC14IEdDQ19TUEVDUz0i
IgpkZWNsYXJlIC14IEdES19VU0VfWEZUPSIxIgpkZWNsYXJlIC14IEdFTkVSQVRJT049IjIiCmRl
Y2xhcmUgLXggSU5IRVJJVEVEPSJ0b29sY2hhaW4tZnVuY3MgZWxpc3AtY29tbW9uIHBvcnRhYmls
aXR5IGVsaXNwIHZlcnNpb25hdG9yIG11bHRpbGliIGxhdGV4LXBhY2thZ2UgYmFzZSBldXRpbHMi
CmRlY2xhcmUgLXggSU5QVVRfREVWSUNFUz0iZXZkZXYga2V5Ym9hcmQgbW91c2UiCmRlY2xhcmUg
LXggSU5TREVTVFRSRUU9IiIKZGVjbGFyZSAteCBJTlNPUFRJT05TPSItbTA2NDQiCmRlY2xhcmUg
LXggSVVTRT0iIHByZXZpZXctbGF0ZXgiCmRlY2xhcmUgLXggSkFWQUM9Ii9ldGMvamF2YS1jb25m
aWctMi9jdXJyZW50LXN5c3RlbS12bS9iaW4vamF2YWMiCmRlY2xhcmUgLXggSkFWQV9IT01FPSIv
ZXRjL2phdmEtY29uZmlnLTIvY3VycmVudC1zeXN0ZW0tdm0iCmRlY2xhcmUgLXggSkRLX0hPTUU9
Ii9ldGMvamF2YS1jb25maWctMi9jdXJyZW50LXN5c3RlbS12bSIKZGVjbGFyZSAteCBLREVESVJT
PSIvdXNyOi91c3IvbG9jYWw6L3Vzci9rZGUvMy41IgpkZWNsYXJlIC14IEtFUk5FTD0ibGludXgi
CmRlY2xhcmUgLXggS0VSTkVMX0FCST0iZGVmYXVsdCIKZGVjbGFyZSAteCBLVj0iMi42LjIzLWdl
bnRvby1yMyIKZGVjbGFyZSAteCBMQ0RfREVWSUNFUz0iYmF5cmFkIGNmb250eiBjZm9udHo2MzMg
Z2xrIGhkNDQ3ODAgbGIyMTYgbGNkbTAwMSBtdHhvcmIgbmN1cnNlcyB0ZXh0IgpkZWNsYXJlIC14
IExERkxBR1NfZGVmYXVsdD0iIgpkZWNsYXJlIC14IExJQkRJUl9kZWZhdWx0PSJsaWIiCmRlY2xh
cmUgLXggTElCT1BUSU9OUz0iLW0wNjQ0IgpkZWNsYXJlIC14IExJTkdVQVM9ImVuIHJ1IgpkZWNs
YXJlIC14IE1BS0VPUFRTPSItajkiCmRlY2xhcmUgLXggTVVMVElMSUJfQUJJUz0iZGVmYXVsdCIK
ZGVjbGFyZSAteCBPUEVOR0xfUFJPRklMRT0ibnZpZGlhIgpkZWNsYXJlIC14IFBLR19DT05GSUdf
UEFUSD0iL3Vzci9xdC8zL2xpYi9wa2djb25maWciCmRlY2xhcmUgLXggUE9SVEFHRV9OSUNFTkVT
Uz0iMyIKZGVjbGFyZSAteCBQWVRIT05ET0NTPSIvdXNyL3NoYXJlL2RvYy9weXRob24tZG9jcy0y
LjQuNC9odG1sL2xpYiIKZGVjbGFyZSAteCBQWVRIT05QQVRIPSIvdXNyL2xpYi9wb3J0YWdlL3B5
bSIKZGVjbGFyZSAteCBRTUFLRVNQRUM9ImxpbnV4LWcrKyIKZGVjbGFyZSAteCBRVERJUj0iL3Vz
ci9xdC8zIgpkZWNsYXJlIC14IFJERVBFTkQ9InZpcnR1YWwvbGF0ZXgtYmFzZQoJcHJldmlldy1s
YXRleD8gKCAhZGV2LXRleC9wcmV2aWV3LWxhdGV4CgkJYXBwLXRleHQvZHZpcG5nCgkJdmlydHVh
bC9naG9zdHNjcmlwdCApICA+PXZpcnR1YWwvZW1hY3MtMjEiCmRlY2xhcmUgLXggUkVTVFJJQ1Q9
IiIKZGVjbGFyZSAteCBTPSIvdmFyL3RtcC9wb3J0YWdlL2FwcC1lbWFjcy9hdWN0ZXgtMTEuODUv
d29yay9hdWN0ZXgtMTEuODUiCmRlY2xhcmUgLXggU0FOREJPWD0iL21udC9zZGE4L3NhbmRib3gv
aWthenVrbyIKZGVjbGFyZSAteCBTQU5EQk9YX0RFTlk9Ii9ldGMvbGQuc28ucHJlbG9hZCIKZGVj
bGFyZSAteCBTQU5EQk9YX1BSRURJQ1Q9IjovZGV2L2NvbnNvbGU6L2Rldi9yYW5kb206L3Byb2Mv
c2VsZi9tYXBzOi91c3IvbGliL3BvcnRhZ2UvcHltOi91c3IvbGliL3B5dGhvbjIuMC86L3Vzci9s
aWIvcHl0aG9uMi4xLzovdXNyL2xpYi9weXRob24yLjIvOi91c3IvbGliL3B5dGhvbjIuMy86L3Vz
ci9saWIvcHl0aG9uMi40LzovdXNyL2xpYi9weXRob24yLjUvOi91c3IvbGliL3B5dGhvbjMuMC86
L3Zhci9jYWNoZS9lZGIvZGVwOi92YXIvZGIvYWxpYXNlcy5kYjovdmFyL2RiL2V0aGVycy5kYjov
dmFyL2RiL2dyb3VwLmRiOi92YXIvZGIvaG9zdHMuZGI6L3Zhci9kYi9uZXRncm91cC5kYjovdmFy
L2RiL25ldG1hc2tzLmRiOi92YXIvZGIvbmV0d29ya3MuZGI6L3Zhci9kYi9wYXNzd2QuZGI6L3Zh
ci9kYi9wcm90b2NvbHMuZGI6L3Zhci9kYi9ycGMuZGI6L3Zhci9kYi9zZXJ2aWNlcy5kYjovdmFy
L3RtcC9wb3J0YWdlL2FwcC1lbWFjcy9hdWN0ZXgtMTEuODUvaG9tZWRpci8uOiIKZGVjbGFyZSAt
eCBTQU5EQk9YX1JFQUQ9IjovOi9kZXYvc2htOi9kZXYvc3RkaW46L3Zhci90bXA6L3Zhci90bXAv
Y2NhY2hlOiIKZGVjbGFyZSAteCBTQU5EQk9YX1dSSVRFPSI6L2Rldi9jb25zb2xlOi9kZXYvZmQ6
L2Rldi9udWxsOi9kZXYvcHRzLzovZGV2L3B0eTovZGV2L3NobTovZGV2L3NobS9uZ3B0Oi9kZXYv
c3RkZXJyOi9kZXYvc3Rkb3V0Oi9kZXYvdHRzOi9kZXYvdHR5Oi9kZXYvdmMvOi9kZXYvemVybzov
cHJvYy9zZWxmL2ZkOi90bXA6L3RtcC86L3Vzci9saWIvY2Y6L3Vzci9saWIvY29uZnRlc3Q6L3Vz
ci9saWIzMi9jZjovdXNyL2xpYjMyL2NvbmZ0ZXN0Oi91c3IvbGliNjQvY2Y6L3Vzci9saWI2NC9j
b25mdGVzdDovdXNyL3RtcC9jZjovdXNyL3RtcC9jb25mdGVzdDovdmFyL2xvZy9zY3JvbGxrZWVw
ZXIubG9nOi92YXIvdG1wOi92YXIvdG1wLzovdmFyL3RtcC8uZGlzdGNjOi92YXIvdG1wL2NjYWNo
ZTovdmFyL3RtcC9wb3J0YWdlL2FwcC1lbWFjcy9hdWN0ZXgtMTEuODUvaG9tZWRpci8uYmFzaF9o
aXN0b3J5Oi92YXIvdG1wL3BvcnRhZ2UvYXBwLWVtYWNzL2F1Y3RleC0xMS44NS9ob21lZGlyLy5n
Y29uZmQvbG9jazoiCmRlY2xhcmUgLXggU0xPVD0iMCIKZGVjbGFyZSAteCBTVEFHRTFfVVNFPSJu
cHRsIG5wdGxvbmx5IHVuaWNvZGUiCmRlY2xhcmUgLXggVVNFPSJlbGliY19nbGliYyBrZXJuZWxf
bGludXggdXNlcmxhbmRfR05VIHg4NiIKZGVjbGFyZSAteCBVU0VSTEFORD0iR05VIgpkZWNsYXJl
IC14IFZJREVPX0NBUkRTPSJkdW1teSBmYmRldiB2ZXNhIHZnYSB2bXdhcmUgbnZpZGlhIgpkZWNs
YXJlIC14IFZNSEFORExFPSJzdW4tamRrLTEuNCIKZGVjbGFyZSAteCBWVEtIT01FPSIvdXNyIgpk
ZWNsYXJlIC14IFZUS19EQVRBX1JPT1Q9Ii91c3Ivc2hhcmUvdnRrL2RhdGEiCmRlY2xhcmUgLXgg
VlRLX0RJUj0iL3Vzci9saWIvdnRrLTUuMCIKZGVjbGFyZSAteCBYREdfREFUQV9ESVJTPSIvdXNy
L3NoYXJlOi91c3Iva2RlLzMuNS9zaGFyZTovdXNyL2xvY2FsL3NoYXJlIgpkZWNsYXJlIC14IF9F
X0RPQ0RFU1RUUkVFXz0iIgpkZWNsYXJlIC14IF9FX0VYRURFU1RUUkVFXz0iIgo=
</data>        

          </attachment>
    </bug>

</bugzilla>