<?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>120441</bug_id>
          
          <creation_ts>2006-01-26 09:36 0000</creation_ts>
          <short_desc>(request) bump dev-libs/nspr to 4.6.1</short_desc>
          <delta_ts>2006-01-30 09:57:09 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>2005.1</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>113548</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>h.mth@web.de</reporter>
          <assigned_to>liquidx@gentoo.org</assigned_to>
          <cc>crypto@gentoo.org</cc>
    
    <cc>mozilla@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>h.mth@web.de</who>
            <bug_when>2006-01-26 09:36:37 0000</bug_when>
            <thetext>This bump is necessary to get bug 120423 solved.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>h.mth@web.de</who>
            <bug_when>2006-01-26 09:37:23 0000</bug_when>
            <thetext>Created an attachment (id=78183)
dev-libs/nspr-4.6.1.ebuild

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>h.mth@web.de</who>
            <bug_when>2006-01-26 09:40:55 0000</bug_when>
            <thetext>Created an attachment (id=78185)
nspr.pc.in

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>h.mth@web.de</who>
            <bug_when>2006-01-26 09:56:21 0000</bug_when>
            <thetext>It would be great to get this into portage with package.mask entry.
For future Mozilla applications to link to system nspr/nss.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>geekypenguin@gmail.com</who>
            <bug_when>2006-01-26 10:59:26 0000</bug_when>
            <thetext>Soon as this is added I will finish up the work on firefox/thunderbird to build against nss/nspr packages in tree.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>geekypenguin@gmail.com</who>
            <bug_when>2006-01-26 11:34:32 0000</bug_when>
            <thetext>Created an attachment (id=78204)
updated for multilib systems.

Small changes for multilib systems.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>h.mth@web.de</who>
            <bug_when>2006-01-26 11:47:57 0000</bug_when>
            <thetext>Instead of:

	# create pkg-config file
	mkdir -p ${D}/usr/$(get_libdir)/pkgconfig/
	sed -e &quot;s:@NSPR_VER@:${PV}:g&quot; \
		&lt; ${FILESDIR}/${PN}.pc.in \
		&gt; ${D}/usr/$(get_libdir)/pkgconfig/${PN}.pc \
		|| die &quot;pkg-config file creation failed!&quot;

	#correct lib dir in nspr.pc
	sed -i &quot;s:libdir=/usr/lib/nspr:libdir=/usr/$(get_libdir)/nspr:g&quot; \
		${D}/usr/$(get_libdir)/pkgconfig/${PN}.pc || die &quot;failed to correct nspr.pc&quot;


We may do:

	# create pkg-config file
	mkdir -p ${D}/usr/$(get_libdir)/pkgconfig/
	sed -e &quot;s:@NSPR_VER@:${PV}:g&quot; \
		-e &quot;s:^libdir=.*:libdir=/usr/$(get_libdir)/nspr:&quot; \
		&lt; ${FILESDIR}/${PN}.pc.in \
		&gt; ${D}/usr/$(get_libdir)/pkgconfig/${PN}.pc \
		|| die &quot;pkg-config file creation failed!&quot;

With dev-libs/nss likewise then.
Well, just a thought. You may do the way you like.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>geekypenguin@gmail.com</who>
            <bug_when>2006-01-26 12:02:28 0000</bug_when>
            <thetext>either way is fine I was just working out the details quickly is all.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>geekypenguin@gmail.com</who>
            <bug_when>2006-01-26 12:38:55 0000</bug_when>
            <thetext>I am gonna have to make another modification to ebuild. Soon as it is ready I will update it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>geekypenguin@gmail.com</who>
            <bug_when>2006-01-26 12:49:14 0000</bug_when>
            <thetext>Created an attachment (id=78212)
fully working 64bit with proper multilib

Aight this is the full working ebuild ppc64 might need a block to enable 64bit elf support.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>h.mth@web.de</who>
            <bug_when>2006-01-26 12:58:35 0000</bug_when>
            <thetext>We may want to enable visibility feature?
http://cvs.fedora.redhat.com/viewcvs/*checkout*/devel/nspr/nspr-4.6.1-gcc-visibility.patch</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>geekypenguin@gmail.com</who>
            <bug_when>2006-01-26 13:30:00 0000</bug_when>
            <thetext>Created an attachment (id=78217)
amd64 patch

I seem to have forgotten it so here it is now! :-b</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>geekypenguin@gmail.com</who>
            <bug_when>2006-01-26 13:44:58 0000</bug_when>
            <thetext>I have managed to get these bumped in tree sooner then I thought possible. I will get to mozilla related products just as soon as I can, either next few days or sunday for sure.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vanquirius@gentoo.org</who>
            <bug_when>2006-01-26 13:45:39 0000</bug_when>
            <thetext>Bumped in cvs, thanks!
Since it had no metadata, added crypto as a herd.
Alastair: feel free do add yourself as a maintainer.

Cheers</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vanquirius@gentoo.org</who>
            <bug_when>2006-01-26 13:46:41 0000</bug_when>
            <thetext>As for visibility: I don&apos;t think it&apos;s much important. If you disagree, please reopen this bug.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>h.mth@web.de</who>
            <bug_when>2006-01-26 14:16:27 0000</bug_when>
            <thetext>If I am not wrong it defines HAVE_VISIBILITY_PRAGMA.
At least for firefox build with gcc-4.1 here.
configure part looks same for nspr as firefox.

So that patch may be useless even.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>geekypenguin@gmail.com</who>
            <bug_when>2006-01-30 09:57:09 0000</bug_when>
            <thetext>I have commited -r1 as it has many changes, I also p.masked as it should have been to begin with.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>78183</attachid>
            <date>2006-01-26 09:37 0000</date>
            <desc>dev-libs/nspr-4.6.1.ebuild</desc>
            <filename>nspr-4.6.1.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA1IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1saWJzL25zcHIvbnNwci00LjQuMS1yMi5l
YnVpbGQsdiAxLjE0IDIwMDUvMDkvMjUgMTA6Mzg6NDUgdmFwaWVyIEV4cCAkCgppbmhlcml0IGV1
dGlscyBnbnVjb25maWcKCkRFU0NSSVBUSU9OPSJOZXRzY2FwZSBQb3J0YWJsZSBSdW50aW1lIgpI
T01FUEFHRT0iaHR0cDovL3d3dy5tb3ppbGxhLm9yZy9wcm9qZWN0cy9uc3ByLyIKU1JDX1VSST0i
ZnRwOi8vZnRwLm1vemlsbGEub3JnL3B1Yi9tb3ppbGxhLm9yZy9uc3ByL3JlbGVhc2VzL3Yke1BW
fS9zcmMvJHtQfS50YXIuZ3oiCgpMSUNFTlNFPSJNUEwtMS4xIgpTTE9UPSIwIgpLRVlXT1JEUz0i
YWxwaGEgYW1kNjQgYXJtIGhwcGEgaWE2NCBtaXBzIHBwYyBwcGM2NCBzcGFyYyB4ODYiCklVU0U9
IiIKCkRFUEVORD0iIgoKc3JjX3VucGFjaygpIHsKCXVucGFjayAke0F9CgljZCAiJHtTfSIKCW1r
ZGlyIGJ1aWxkIGluc3QKCWdudWNvbmZpZ191cGRhdGUKfQoKc3JjX2NvbXBpbGUoKSB7CgljZCBi
dWlsZAoJLi4vbW96aWxsYS9uc3BycHViL2NvbmZpZ3VyZSBcCgkJLS1idWlsZD0ke0NCVUlMRDot
JHtDSE9TVH19IFwKCQktLWhvc3Q9JHtDSE9TVH0gXAoJCS0tcHJlZml4PSR7U30vaW5zdCBcCgkJ
LS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbyBcCgkJLS1tYW5kaXI9L3Vzci9zaGFyZS9tYW4gfHwg
ZGllICIuL2NvbmZpZ3VyZSBmYWlsZWQiCgltYWtlIHx8IGRpZQp9CgpzcmNfaW5zdGFsbCAoKSB7
CgkjIFRoZWlyIGJ1aWxkIHN5c3RlbSBpcyByb3lhbGx5IGZ1Y2tlZCwgYXMgdXN1YWwKCWNkICR7
U30vYnVpbGQKCW1ha2UgaW5zdGFsbAoJZG9kaXIgL3VzcgoJY3AgLVJmTCBkaXN0LyogJHtEfS91
c3IKCXJtIC1yZiAke0R9L3Vzci9iaW4vbGliKi5zbwoKCSMgdGhlcmUgaGF2ZSBiZWVuIC91c3Iv
bGliL25zcHIgY2hhbmdlcyAobGlrZSB0aGUgbGRwYXRoIGJlbG93KSwgYnV0IG5ldmVyCgkjIGhh
dmUgSSBzZWVuIGFueSBsaWJyYXJpZXMgZW5kIHVwIGluIHRoaXMgZGlyZWN0b3J5LiBsZXRzIGZp
eCB0aGF0LgoJIyBub3RlOiBJIHRyaWVkIGRvaW5nIHRoaXMgZml4IHZpYSB0aGUgYnVpbGQgc3lz
dGVtLiBJdCB3b250IHdvcmsuCglpZiBbICEgLWUgJHtEfS91c3IvbGliL25zcHIgXSA7IHRoZW4K
CQlta2RpciAtcCAke0R9L3Vzci9saWIvbnNwcgoJCW12ICR7RH0vdXNyL2xpYi8qc28qICR7RH0v
dXNyL2xpYi9uc3ByCgkJbXYgJHtEfS91c3IvbGliLypcLmEgJHtEfS91c3IvbGliL25zcHIKCWZp
CgkjIGFuZCB3aGlsZSB3ZSdyZSBhdCBpdCwgbGV0cyBtYWtlIGl0IGFjdHVhbGx5IHVzZSB0aGUg
YXJjaCdzIGxpYmRpciBkYW1uaXQKCWlmIFsgImxpYiIgIT0gIiQoZ2V0X2xpYmRpcikiIF0gOyB0
aGVuCgkJbXYgJHtEfS91c3IvbGliICR7RH0vdXNyLyQoZ2V0X2xpYmRpcikKCWZpCgoJIyBjb3Bl
IHdpdGggbGlicmFyaWVzIGJlaW5nIGluIC91c3IvbGliL25zcHIKCWRvZGlyIC9ldGMvZW52LmQK
CWVjaG8gIkxEUEFUSD0vdXNyLyQoZ2V0X2xpYmRpcikvbnNwciIgPiAke0R9L2V0Yy9lbnYuZC81
MG5zcHIKCgkjIGNyZWF0ZSBwa2ctY29uZmlnIGZpbGUKCW1rZGlyIC1wICR7RH0vdXNyL2xpYi9w
a2djb25maWcvCglzZWQgLWUgInM6QE5TUFJfVkVSQDoke1BWfTpnIiBcCgkJPCAke0ZJTEVTRElS
fS8ke1BOfS5wYy5pbiBcCgkJPiAke0R9L3Vzci9saWIvcGtnY29uZmlnLyR7UE59LnBjIFwKCQl8
fCBkaWUgInBrZy1jb25maWcgZmlsZSBjcmVhdGlvbiBmYWlsZWQhIgp9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>78185</attachid>
            <date>2006-01-26 09:40 0000</date>
            <desc>nspr.pc.in</desc>
            <filename>nspr.pc.in</filename>
            <type>text/plain</type>
            <data encoding="base64">cHJlZml4PS91c3IKZXhlY19wcmVmaXg9L3VzcgpsaWJkaXI9L3Vzci9saWIvbnNwcgppbmNsdWRl
ZGlyPS91c3IvaW5jbHVkZQoKTmFtZTogTlNQUgpEZXNjcmlwdGlvbjogVGhlIE5ldHNjYXBlIFBv
cnRhYmxlIFJ1bnRpbWUKVmVyc2lvbjogQE5TUFJfVkVSQApMaWJzOiAtTCR7bGliZGlyfSAtbHBs
ZHM0IC1scGxjNCAtbG5zcHI0IC1scHRocmVhZCAtbGRsIC1XbCwtUiR7bGliZGlyfQpDZmxhZ3M6
IC1JJHtpbmNsdWRlZGlyfS9uc3ByCg==
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>78204</attachid>
            <date>2006-01-26 11:34 0000</date>
            <desc>updated for multilib systems.</desc>
            <filename>nspr-4.6.1.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA1IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6ICQKCmluaGVyaXQgZXV0aWxzIGdudWNvbmZpZwoKREVTQ1JJUFRJT049Ik5ldHNjYXBlIFBv
cnRhYmxlIFJ1bnRpbWUiCkhPTUVQQUdFPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2plY3Rz
L25zcHIvIgpTUkNfVVJJPSJmdHA6Ly9mdHAubW96aWxsYS5vcmcvcHViL21vemlsbGEub3JnL25z
cHIvcmVsZWFzZXMvdiR7UFZ9L3NyYy8ke1B9LnRhci5neiIKCkxJQ0VOU0U9Ik1QTC0xLjEiClNM
T1Q9IjAiCktFWVdPUkRTPSJhbHBoYSBhbWQ2NCBhcm0gaHBwYSBpYTY0IG1pcHMgcHBjIHBwYzY0
IHNwYXJjIHg4NiIKSVVTRT0iIgoKREVQRU5EPSIiCgpzcmNfdW5wYWNrKCkgewoJdW5wYWNrICR7
QX0KCWNkICIke1N9IgoJbWtkaXIgYnVpbGQgaW5zdAoJZ251Y29uZmlnX3VwZGF0ZQp9CgpzcmNf
Y29tcGlsZSgpIHsKCWNkIGJ1aWxkCgkuLi9tb3ppbGxhL25zcHJwdWIvY29uZmlndXJlIFwKCQkt
LWJ1aWxkPSR7Q0JVSUxEOi0ke0NIT1NUfX0gXAoJCS0taG9zdD0ke0NIT1NUfSBcCgkJLS1wcmVm
aXg9JHtTfS9pbnN0IFwKCQktLWluZm9kaXI9L3Vzci9zaGFyZS9pbmZvIFwKCQktLW1hbmRpcj0v
dXNyL3NoYXJlL21hbiB8fCBkaWUgIi4vY29uZmlndXJlIGZhaWxlZCIKCW1ha2UgfHwgZGllCn0K
CnNyY19pbnN0YWxsICgpIHsKCSMgVGhlaXIgYnVpbGQgc3lzdGVtIGlzIHJveWFsbHkgZnVja2Vk
LCBhcyB1c3VhbAoJY2QgJHtTfS9idWlsZAoJbWFrZSBpbnN0YWxsCglkb2RpciAvdXNyCgljcCAt
UmZMIGRpc3QvKiAke0R9L3VzcgoJcm0gLXJmICR7RH0vdXNyL2Jpbi9saWIqLnNvCgoJIyB0aGVy
ZSBoYXZlIGJlZW4gL3Vzci9saWIvbnNwciBjaGFuZ2VzIChsaWtlIHRoZSBsZHBhdGggYmVsb3cp
LCBidXQgbmV2ZXIKCSMgaGF2ZSBJIHNlZW4gYW55IGxpYnJhcmllcyBlbmQgdXAgaW4gdGhpcyBk
aXJlY3RvcnkuIGxldHMgZml4IHRoYXQuCgkjIG5vdGU6IEkgdHJpZWQgZG9pbmcgdGhpcyBmaXgg
dmlhIHRoZSBidWlsZCBzeXN0ZW0uIEl0IHdvbnQgd29yay4KCWlmIFsgISAtZSAke0R9L3Vzci9s
aWIvbnNwciBdIDsgdGhlbgoJCW1rZGlyIC1wICR7RH0vdXNyL2xpYi9uc3ByCgkJbXYgJHtEfS91
c3IvbGliLypzbyogJHtEfS91c3IvbGliL25zcHIKCQltdiAke0R9L3Vzci9saWIvKlwuYSAke0R9
L3Vzci9saWIvbnNwcgoJZmkKCSMgYW5kIHdoaWxlIHdlJ3JlIGF0IGl0LCBsZXRzIG1ha2UgaXQg
YWN0dWFsbHkgdXNlIHRoZSBhcmNoJ3MgbGliZGlyIGRhbW5pdAoJaWYgWyAibGliIiAhPSAiJChn
ZXRfbGliZGlyKSIgXSA7IHRoZW4KCQltdiAke0R9L3Vzci9saWIgJHtEfS91c3IvJChnZXRfbGli
ZGlyKQoJZmkKCgkjIGNvcGUgd2l0aCBsaWJyYXJpZXMgYmVpbmcgaW4gL3Vzci9saWIvbnNwcgoJ
ZG9kaXIgL2V0Yy9lbnYuZAoJZWNobyAiTERQQVRIPS91c3IvJChnZXRfbGliZGlyKS9uc3ByIiA+
ICR7RH0vZXRjL2Vudi5kLzUwbnNwcgoKCSMgY3JlYXRlIHBrZy1jb25maWcgZmlsZQoJbWtkaXIg
LXAgJHtEfS91c3IvJChnZXRfbGliZGlyKS9wa2djb25maWcvCglzZWQgLWUgInM6QE5TUFJfVkVS
QDoke1BWfTpnIiBcCgkJPCAke0ZJTEVTRElSfS8ke1BOfS5wYy5pbiBcCgkJPiAke0R9L3Vzci8k
KGdldF9saWJkaXIpL3BrZ2NvbmZpZy8ke1BOfS5wYyBcCgkJfHwgZGllICJwa2ctY29uZmlnIGZp
bGUgY3JlYXRpb24gZmFpbGVkISIKCgkjY29ycmVjdCBsaWIgZGlyIGluIG5zcHIucGMKCXNlZCAt
aSAiczpsaWJkaXI9L3Vzci9saWIvbnNwcjpsaWJkaXI9L3Vzci8kKGdldF9saWJkaXIpL25zcHI6
ZyIgXAoJCSR7RH0vdXNyLyQoZ2V0X2xpYmRpcikvcGtnY29uZmlnLyR7UE59LnBjIHx8IGRpZSAi
ZmFpbGVkIHRvIGNvcnJlY3QgbnNwci5wYyIKfQo=
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>78212</attachid>
            <date>2006-01-26 12:49 0000</date>
            <desc>fully working 64bit with proper multilib</desc>
            <filename>nspr-4.6.1.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA1IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6ICQKCmluaGVyaXQgZXV0aWxzIGdudWNvbmZpZwoKREVTQ1JJUFRJT049Ik5ldHNjYXBlIFBv
cnRhYmxlIFJ1bnRpbWUiCkhPTUVQQUdFPSJodHRwOi8vd3d3Lm1vemlsbGEub3JnL3Byb2plY3Rz
L25zcHIvIgpTUkNfVVJJPSJmdHA6Ly9mdHAubW96aWxsYS5vcmcvcHViL21vemlsbGEub3JnL25z
cHIvcmVsZWFzZXMvdiR7UFZ9L3NyYy8ke1B9LnRhci5neiIKCkxJQ0VOU0U9Ik1QTC0xLjEiClNM
T1Q9IjAiCktFWVdPUkRTPSJhbHBoYSBhbWQ2NCBhcm0gaHBwYSBpYTY0IG1pcHMgcHBjIHBwYzY0
IHNwYXJjIHg4NiIKSVVTRT0iIgoKREVQRU5EPSIiCgpzcmNfdW5wYWNrKCkgewoJdW5wYWNrICR7
QX0KCWNkICIke1N9IgoJbWtkaXIgYnVpbGQgaW5zdAoJZXBhdGNoICIke0ZJTEVTRElSfSIvJHtQ
fS1hbWQ2NC5wYXRjaAoJZ251Y29uZmlnX3VwZGF0ZQp9CgpzcmNfY29tcGlsZSgpIHsKCWNkIGJ1
aWxkCgoJaWYgdXNlIGFtZDY0OyB0aGVuCgkJbXljb25mPSItLWVuYWJsZS02NGJpdCIKCWVsc2UK
CQlteWNvbmY9IiIKCWZpCgoJLi4vbW96aWxsYS9uc3BycHViL2NvbmZpZ3VyZSBcCgkJLS1idWls
ZD0ke0NCVUlMRDotJHtDSE9TVH19IFwKCQktLWhvc3Q9JHtDSE9TVH0gXAoJCS0tcHJlZml4PSR7
U30vaW5zdCBcCgkJLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbyBcCgkJLS1tYW5kaXI9L3Vzci9z
aGFyZS9tYW4gXAoJCSR7bXljb25mfSB8fCBkaWUgIi4vY29uZmlndXJlIGZhaWxlZCIKCW1ha2Ug
fHwgZGllCn0KCnNyY19pbnN0YWxsICgpIHsKCSMgVGhlaXIgYnVpbGQgc3lzdGVtIGlzIHJveWFs
bHkgZnVja2VkLCBhcyB1c3VhbAoJY2QgJHtTfS9idWlsZAoJbWFrZSBpbnN0YWxsCglkb2RpciAv
dXNyCgljcCAtUmZMIGRpc3QvKiAke0R9L3VzcgoJcm0gLXJmICR7RH0vdXNyL2Jpbi9saWIqLnNv
CgoJIyB0aGVyZSBoYXZlIGJlZW4gL3Vzci9saWIvbnNwciBjaGFuZ2VzIChsaWtlIHRoZSBsZHBh
dGggYmVsb3cpLCBidXQgbmV2ZXIKCSMgaGF2ZSBJIHNlZW4gYW55IGxpYnJhcmllcyBlbmQgdXAg
aW4gdGhpcyBkaXJlY3RvcnkuIGxldHMgZml4IHRoYXQuCgkjIG5vdGU6IEkgdHJpZWQgZG9pbmcg
dGhpcyBmaXggdmlhIHRoZSBidWlsZCBzeXN0ZW0uIEl0IHdvbnQgd29yay4KCWlmIFsgISAtZSAk
e0R9L3Vzci9saWIvbnNwciBdIDsgdGhlbgoJCW1rZGlyIC1wICR7RH0vdXNyL2xpYi9uc3ByCgkJ
bXYgJHtEfS91c3IvbGliLypzbyogJHtEfS91c3IvbGliL25zcHIKCQltdiAke0R9L3Vzci9saWIv
KlwuYSAke0R9L3Vzci9saWIvbnNwcgoJZmkKCSMgYW5kIHdoaWxlIHdlJ3JlIGF0IGl0LCBsZXRz
IG1ha2UgaXQgYWN0dWFsbHkgdXNlIHRoZSBhcmNoJ3MgbGliZGlyIGRhbW5pdAoJaWYgWyAibGli
IiAhPSAiJChnZXRfbGliZGlyKSIgXSA7IHRoZW4KCQltdiAke0R9L3Vzci9saWIgJHtEfS91c3Iv
JChnZXRfbGliZGlyKQoJZmkKCgkjIGNvcGUgd2l0aCBsaWJyYXJpZXMgYmVpbmcgaW4gL3Vzci9s
aWIvbnNwcgoJZG9kaXIgL2V0Yy9lbnYuZAoJZWNobyAiTERQQVRIPS91c3IvJChnZXRfbGliZGly
KS9uc3ByIiA+ICR7RH0vZXRjL2Vudi5kLzUwbnNwcgoKCSMgY3JlYXRlIHBrZy1jb25maWcgZmls
ZQoJbWtkaXIgLXAgJHtEfS91c3IvJChnZXRfbGliZGlyKS9wa2djb25maWcvCglzZWQgLWUgInM6
QE5TUFJfVkVSQDoke1BWfTpnIiBcCgkJLWUgInM6XmxpYmRpcj0uKjpsaWJkaXI9L3Vzci8kKGdl
dF9saWJkaXIpL25zcHI6IiBcCgkJPCAke0ZJTEVTRElSfS8ke1BOfS5wYy5pbiBcCgkJPiAke0R9
L3Vzci8kKGdldF9saWJkaXIpL3BrZ2NvbmZpZy8ke1BOfS5wYyBcCgkJfHwgZGllICJwa2ctY29u
ZmlnIGZpbGUgY3JlYXRpb24gZmFpbGVkISIKfQo=
</data>        

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78217</attachid>
            <date>2006-01-26 13:30 0000</date>
            <desc>amd64 patch</desc>
            <filename>nspr-4.6.1-amd64.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtdXJOIG5zcHItNC42LjEtb3JpZy9tb3ppbGxhL25zcHJwdWIvY29uZmlndXJlIG5zcHIt
NC42LjEvbW96aWxsYS9uc3BycHViL2NvbmZpZ3VyZQotLS0gbnNwci00LjYuMS1vcmlnL21vemls
bGEvbnNwcnB1Yi9jb25maWd1cmUJMjAwNS0wOS0wMSAyMTo0NDozNy4wMDAwMDAwMDAgLTA1MDAK
KysrIG5zcHItNC42LjEvbW96aWxsYS9uc3BycHViL2NvbmZpZ3VyZQkyMDA2LTAxLTI2IDEzOjQ2
OjM0Ljc1MjM1MTQ1NiAtMDYwMApAQCAtMzg1OCw2ICszODU4LDkgQEAKICAgICAgICAgICAgIENY
WD0iJENYWCAtbTY0IgogICAgICAgICBmaQogICAgICAgICA7OworICAgIHg4Nl82NCkKKyAgICAg
ICAgUFJfTURfQVNGSUxFUz1vc19MaW51eF94ODZfNjQucworICAgICAgICA7OwogICAgIG02OGsp
CiAgICAgICAgIENGTEFHUz0iJENGTEFHUyAtbTY4MDIwLTYwIgogICAgICAgICBDWFhGTEFHUz0i
JENYWEZMQUdTIC1tNjgwMjAtNjAiCmRpZmYgLXVyTiBuc3ByLTQuNi4xLW9yaWcvbW96aWxsYS9u
c3BycHViL2NvbmZpZ3VyZS5pbiBuc3ByLTQuNi4xL21vemlsbGEvbnNwcnB1Yi9jb25maWd1cmUu
aW4KLS0tIG5zcHItNC42LjEtb3JpZy9tb3ppbGxhL25zcHJwdWIvY29uZmlndXJlLmluCTIwMDUt
MDktMDEgMjE6NDQ6MzcuMDAwMDAwMDAwIC0wNTAwCisrKyBuc3ByLTQuNi4xL21vemlsbGEvbnNw
cnB1Yi9jb25maWd1cmUuaW4JMjAwNi0wMS0yNiAxMzo0NjozNC43NTYzNTA4NDggLTA2MDAKQEAg
LTEzNDcsNiArMTM0Nyw5IEBACiAgICAgICAgICAgICBDWFg9IiRDWFggLW02NCIKICAgICAgICAg
ZmkKICAgICAgICAgOzsKKyAgICB4ODZfNjQpCisgICAgICAgIFBSX01EX0FTRklMRVM9b3NfTGlu
dXhfeDg2XzY0LnMKKyAgICAgICAgOzsKICAgICBtNjhrKQogICAgICAgICBDRkxBR1M9IiRDRkxB
R1MgLW02ODAyMC02MCIKICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtbTY4MDIwLTYwIgpk
aWZmIC11ck4gbnNwci00LjYuMS1vcmlnL21vemlsbGEvbnNwcnB1Yi9jb25maWd1cmUuaW4ub3Jp
ZyBuc3ByLTQuNi4xL21vemlsbGEvbnNwcnB1Yi9jb25maWd1cmUuaW4ub3JpZwotLS0gbnNwci00
LjYuMS1vcmlnL21vemlsbGEvbnNwcnB1Yi9jb25maWd1cmUuaW4ub3JpZwkxOTY5LTEyLTMxIDE4
OjAwOjAwLjAwMDAwMDAwMCAtMDYwMAorKysgbnNwci00LjYuMS9tb3ppbGxhL25zcHJwdWIvY29u
ZmlndXJlLmluLm9yaWcJMjAwNS0wOS0wMSAyMTo0NDozNy4wMDAwMDAwMDAgLTA1MDAKQEAgLTAs
MCArMSwyNzE4IEBACitkbmwgLSotIE1vZGU6IEF1dG9jb25mOyB0YWItd2lkdGg6IDQ7IGluZGVu
dC10YWJzLW1vZGU6IG5pbDsgLSotCitkbmwgCitkbmwgVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmls
ZSBhcmUgc3ViamVjdCB0byB0aGUgTW96aWxsYSBQdWJsaWMKK2RubCBMaWNlbnNlIFZlcnNpb24g
MS4xICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZQorZG5sIGV4Y2Vw
dCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBv
ZgorZG5sIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cubW96aWxsYS5vcmcvTVBMLworZG5sIAor
ZG5sIFNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVk
IG9uIGFuICJBUworZG5sIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwg
ZWl0aGVyIGV4cHJlc3Mgb3IKK2RubCBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBz
cGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKK2RubCByaWdodHMgYW5kIGxpbWl0YXRpb25zIHVu
ZGVyIHRoZSBMaWNlbnNlLgorZG5sIAorZG5sIFRoZSBPcmlnaW5hbCBDb2RlIGlzIHRoZSBOZXRz
Y2FwZSBQb3J0YWJsZSBSdW50aW1lIChOU1BSKS4KK2RubCAKK2RubCBUaGUgSW5pdGlhbCBEZXZl
bG9wZXIgb2YgdGhlIE9yaWdpbmFsIENvZGUgaXMgTmV0c2NhcGUKK2RubCBDb21tdW5pY2F0aW9u
cyBDb3Jwb3JhdGlvbi4gIFBvcnRpb25zIGNyZWF0ZWQgYnkgTmV0c2NhcGUgYXJlIAorZG5sIENv
cHlyaWdodCAoQykgMTk5OG8tMjAwMCBOZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlv
bi4gIEFsbAorZG5sIFJpZ2h0cyBSZXNlcnZlZC4KK2RubCAKK2RubCBDb250cmlidXRvcihzKToK
K2RubCAgICAgQ2hyaXN0b3BoZXIgU2Vhd29vZCA8Y2xzQHNlYXdvb2Qub3JnPgorZG5sICAgICBI
b3dhcmQgQ2h1IDxoeWNAc3ltYXMuY29tPgorZG5sIAorZG5sIEFsdGVybmF0aXZlbHksIHRoZSBj
b250ZW50cyBvZiB0aGlzIGZpbGUgbWF5IGJlIHVzZWQgdW5kZXIgdGhlCitkbmwgdGVybXMgb2Yg
dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMiBvciBsYXRlciAodGhlCitk
bmwgIkdQTCIpLCBpbiB3aGljaCBjYXNlIHRoZSBwcm92aXNpb25zIG9mIHRoZSBHUEwgYXJlIGFw
cGxpY2FibGUgCitkbmwgaW5zdGVhZCBvZiB0aG9zZSBhYm92ZS4gIElmIHlvdSB3aXNoIHRvIGFs
bG93IHVzZSBvZiB5b3VyIAorZG5sIHZlcnNpb24gb2YgdGhpcyBmaWxlIG9ubHkgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHUEwgYW5kIG5vdCB0bworZG5sIGFsbG93IG90aGVycyB0byB1c2UgeW91
ciB2ZXJzaW9uIG9mIHRoaXMgZmlsZSB1bmRlciB0aGUgTVBMLAorZG5sIGluZGljYXRlIHlvdXIg
ZGVjaXNpb24gYnkgZGVsZXRpbmcgdGhlIHByb3Zpc2lvbnMgYWJvdmUgYW5kCitkbmwgcmVwbGFj
ZSB0aGVtIHdpdGggdGhlIG5vdGljZSBhbmQgb3RoZXIgcHJvdmlzaW9ucyByZXF1aXJlZCBieQor
ZG5sIHRoZSBHUEwuICBJZiB5b3UgZG8gbm90IGRlbGV0ZSB0aGUgcHJvdmlzaW9ucyBhYm92ZSwg
YSByZWNpcGllbnQKK2RubCBtYXkgdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgdW5kZXIg
ZWl0aGVyIHRoZSBNUEwgb3IgdGhlCitkbmwgR1BMLgorZG5sIAorCitBQ19QUkVSRVEoMi4xMikK
K0FDX0lOSVQoY29uZmlnL2xpYmNfci5oKQorCitBQ19DT05GSUdfQVVYX0RJUigke3NyY2Rpcn0v
YnVpbGQvYXV0b2NvbmYpCitBQ19DQU5PTklDQUxfU1lTVEVNCisKK2RubCA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZG5sID0gRGVmYXVs
dHMKK2RubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQorTU9EX01BSk9SX1ZFUlNJT049NAorTU9EX01JTk9SX1ZFUlNJT049NgorTU9EX1BB
VENIX1ZFUlNJT049MQorTlNQUl9NT0ROQU1FPW5zcHIyMAorX0hBVkVfUFRIUkVBRFM9CitVU0Vf
UFRIUkVBRFM9CitVU0VfVVNFUl9QVEhSRUFEUz0KK1VTRV9OU1BSX1RIUkVBRFM9CitVU0VfTjMy
PQorVVNFXzY0PQorVVNFX0NQTFVTPQorVVNFX0lQVjY9CitVU0VfTURVUERBVEU9CitfTUFDT1NY
X0RFUExPWU1FTlRfVEFSR0VUPQorX09QVElNSVpFX0ZMQUdTPS1PCitfREVCVUdfRkxBR1M9LWcK
K01PWl9ERUJVRz0xCitNT1pfT1BUSU1JWkU9CitPQkpESVI9LgorT0JKRElSX05BTUU9LgorT0JK
RElSX1NVRkZJWD1PQkoKK05TSU5TVEFMTD0nJChNT0RfREVQVEgpL2NvbmZpZy8kKE9CSkRJUl9O
QU1FKS9uc2luc3RhbGwnCitOT1NVQ0hGSUxFPS9uby1zdWNoLWZpbGUKK0xJQk5TUFI9Jy1MJChk
aXN0X2xpYmRpcikgLWxuc3ByJChNT0RfTUFKT1JfVkVSU0lPTiknCitMSUJQTEM9Jy1MJChkaXN0
X2xpYmRpcikgLWxwbGMkKE1PRF9NQUpPUl9WRVJTSU9OKScKK0NZR1dJTl9XUkFQUEVSPQorCitk
bmwgTGluayBpbiBsaWJyYXJpZXMgbmVjZXNzYXJ5IHRvIHJlc29sdmUgYWxsIHN5bWJvbHMgZm9y
IHNoYXJlZCBsaWJzCitSRVNPTFZFX0xJTktfU1lNQk9MUz0KKworZG5sID09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkbmwgPQorZG5sID0g
RG9udCBjaGFuZ2UgdGhlIGZvbGxvd2luZyBsaW5lcy4gIERvaW5nIHNvIGJyZWFrczoKK2RubCA9
CitkbmwgPSBDRkxBR1M9Ii1mb28iIC4vY29uZmlndXJlCitkbmwgPQorZG5sID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitDRkxBR1M9IiR7
Q0ZMQUdTPX0iCitDWFhGTEFHUz0iJHtDWFhGTEFHUz19IgorTERGTEFHUz0iJHtMREZMQUdTPX0i
CitIT1NUX0NGTEFHUz0iJHtIT1NUX0NGTEFHUz19IgorSE9TVF9MREZMQUdTPSIke0hPU1RfTERG
TEFHUz19IgorCitjYXNlICIkdGFyZ2V0IiBpbgorKi1jeWd3aW4qfCotbWluZ3cqKQorICAgICMg
Q2hlY2sgdG8gc2VlIGlmIHdlIGFyZSByZWFsbHkgcnVubmluZyBpbiBhIG1zdmMgZW52aXJvbmVt
bnQKKyAgICBfV0lOMzJfTVNWQz0KKyAgICBBQ19DSEVDS19QUk9HUyhDQywgY2wpCisgICAgaWYg
dGVzdCAiJENDIiA9ICJjbCI7IHRoZW4KKyAgICAgICAgZWNobyAnbWFpbigpIHsgcmV0dXJuIDA7
IH0nID4gZHVtbXkuYworICAgICAgICAke0NDfSAtbyBkdW1teSBkdW1teS5jID4vZGV2L251bGwg
Mj4mMQorICAgICAgICBpZiB0ZXN0ICQ/ID0gMDsgdGhlbgorICAgICAgICAgICAgX1dJTjMyX01T
VkM9MQorICAgICAgICAgICAgQ1hYPSRDQworICAgICAgICBlbHNlCisgICAgICAgICAgICBBQ19N
U0dfV0FSTihbJChDQykgdGVzdCBmYWlsZWQuICBVc2luZyBub3JtYWwgZmVhdHVyZSB0ZXN0c10p
CisgICAgICAgIGZpCisgICAgICAgIHJtIC1mIGR1bW15IGR1bW15Lm8gZHVtbXkub2JqIGR1bW15
LmV4ZSBkdW1teS5jCisgICAgZmkKKyAgICA7OworKi1tc3ZjKikKKyAgICBfV0lOMzJfTVNWQz0x
CisgICAgOzsKKyotbWtzKikKKyAgICBfV0lOMzJfTVNWQz0xCisgICAgOzsKK2VzYWMKKworaWYg
dGVzdCAtbiAiJF9XSU4zMl9NU1ZDIjsgdGhlbgorICAgIFNLSVBfUEFUSF9DSEVDS1M9MQorICAg
IFNLSVBfQ09NUElMRVJfQ0hFQ0tTPTEKKyAgICBTS0lQX0xJQlJBUllfQ0hFQ0tTPTEKK2ZpCisK
K2RubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQorZG5sID0KK2RubCA9IENoZWNrIG9wdGlvbnMgdGhhdCBtYXkgYWZmZWN0IHRoZSBjb21w
aWxlcgorZG5sID0KK2RubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQorZGlzdF9wcmVmaXg9JyR7TU9EX0RFUFRIfS9kaXN0JworZGlzdF9i
aW5kaXI9JyR7ZGlzdF9wcmVmaXh9L2JpbicKK2Rpc3RfaW5jbHVkZWRpcj0nJHtkaXN0X3ByZWZp
eH0vaW5jbHVkZS9uc3ByJworZGlzdF9saWJkaXI9JyR7ZGlzdF9wcmVmaXh9L2xpYicKK2lmIHRl
c3QgIiR7aW5jbHVkZWRpcn0iID0gJyR7cHJlZml4fS9pbmNsdWRlJzsgdGhlbgorICAgIGluY2x1
ZGVkaXI9JyR7cHJlZml4fS9pbmNsdWRlL25zcHInCitmaQorCitBQ19BUkdfV0lUSChkaXN0LXBy
ZWZpeCwKKyAgICBbICAtLXdpdGgtZGlzdC1wcmVmaXg9RElTVF9QUkVGSVgKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGxhY2UgYnVpbGQgZmlsZXMgaW4gRElTVF9QUkVGSVggW2Rpc3RdXSwK
KyAgICBkaXN0X3ByZWZpeD0kd2l0aHZhbCkKKworQUNfQVJHX1dJVEgoZGlzdC1iaW5kaXIsCisg
ICAgWyAgLS13aXRoLWRpc3QtYmluZGlyPURJUiAgYnVpbGQgZXhlY3VhdGFibGVzIGluIERJUiBb
RElTVF9QUkVGSVgvYmluXV0sCisgICAgZGlzdF9iaW5kaXI9JHdpdGh2YWwpCisKK0FDX0FSR19X
SVRIKGRpc3QtaW5jbHVkZWRpciwKKyAgICBbICAtLXdpdGgtZGlzdC1pbmNsdWRlZGlyPURJUgor
ICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZCBpbmNsdWRlIGZpbGVzIGluIERJUiBbRElT
VF9QUkVGSVgvaW5jbHVkZS9uc3ByXV0sCisgICAgZGlzdF9pbmNsdWRlZGlyPSR3aXRodmFsKQor
CitBQ19BUkdfV0lUSChkaXN0LWxpYmRpciwKKyAgICBbICAtLXdpdGgtZGlzdC1saWJkaXI9RElS
ICBidWlsZCBsaWJyYXJ5IGZpbGVzIGluIERJUiBbRElTVF9QUkVGSVgvbGliXV0sCisgICAgZGlz
dF9saWJkaXI9JHdpdGh2YWwpCisKK0FDX1NVQlNUKGRpc3RfcHJlZml4KQorQUNfU1VCU1QoZGlz
dF9iaW5kaXIpCitBQ19TVUJTVChkaXN0X2luY2x1ZGVkaXIpCitBQ19TVUJTVChkaXN0X2xpYmRp
cikKKworZG5sIENoZWNrIGlmIE5TUFIgaXMgYmVpbmcgY29tcGlsZWQgZm9yIE1vemlsbGEKK2Ru
bCBMZXQgLS13aXRoLWFyZyBvdmVycmlkZSBlbnZpcm9ubWVudCBzZXR0aW5nCitkbmwKK0FDX0FS
R19XSVRIKG1vemlsbGEsCisgICAgWyAgLS13aXRoLW1vemlsbGEgICAgICAgICAgQ29tcGlsZSBO
U1BSIHdpdGggTW96aWxsYSBzdXBwb3J0XSwKKyAgICBbICAgaWYgdGVzdCAiJHdpdGh2YWwiID0g
InllcyI7IHRoZW4KKyAgICAgICAgICAgIEFDX0RFRklORShNT1pJTExBX0NMSUVOVCkKKyAgICAg
ICAgICAgIE1PWklMTEFfQ0xJRU5UPTEKKwkgICAgZWxzZQorCSAgICAgICAgTU9aSUxMQV9DTElF
TlQ9CisJICAgIGZpXSwKKyAgICBbCWlmIHRlc3QgLW4gIiRNT1pJTExBX0NMSUVOVCI7IHRoZW4K
KwkgICAgICAgIEFDX0RFRklORShNT1pJTExBX0NMSUVOVCkKKwkgICAgZmldKQorCitBQ19BUkdf
RU5BQkxFKG9wdGltaXplLAorICAgIFsgIC0tZW5hYmxlLW9wdGltaXplKD12YWwpIEVuYWJsZSBj
b2RlIG9wdGltaXphdGlvbnMgKHZhbCwgaWUuIC1PMikgXSwKKyAgICBbIGlmIHRlc3QgIiRlbmFi
bGV2YWwiICE9ICJubyI7IHRoZW4KKyAgICAgICAgTU9aX09QVElNSVpFPTEKKyAgICAgICAgaWYg
dGVzdCAtbiAiJGVuYWJsZXZhbCIgJiYgdGVzdCAiJGVuYWJsZXZhbCIgIT0gInllcyI7IHRoZW4K
KyAgICAJICAgIF9PUFRJTUlaRV9GTEFHUz1gZWNobyAkZW5hYmxldmFsIHwgc2VkIC1lICdzfFxc
XCB8IHxnJ2AKKyAgICAgICAgICAgIF9TQVZFX09QVElNSVpFX0ZMQUdTPSRfT1BUSU1JWkVfRkxB
R1MKKyAgICAgICAgZmkKKyAgICAgIGVsc2UKKyAgICAgICAgTU9aX09QVElNSVpFPQorICAgIGZp
IF0pCisKK0FDX0FSR19FTkFCTEUoZGVidWcsCisgICAgWyAgLS1kaXNhYmxlLWRlYnVnICAgICAg
ICAgRG8gbm90IGNvbXBpbGUgaW4gZGVidWdnaW5nIHN5bWJvbHMKKyAgLS1lbmFibGUtZGVidWco
PXZhbCkgICAgRW5hYmxlIGRlYnVnZ2luZyAoZGVidWcgZmxhZ3MgdmFsKV0sCisgICAgWwlpZiB0
ZXN0ICIkZW5hYmxldmFsIiA9ICJubyI7IHRoZW4KKyAgICAJICAgIE1PWl9ERUJVRz0KKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgTU9aX0RFQlVHPTEKKyAgICAgICAgICAgIGlmIHRlc3QgLW4g
IiRlbmFibGV2YWwiICYmIHRlc3QgIiRlbmFibGV2YWwiICE9ICJ5ZXMiOyB0aGVuCisgICAgICAg
ICAgICAgICAgX0RFQlVHX0ZMQUdTPWBlY2hvICRlbmFibGV2YWwgfCBzZWQgLWUgJ3N8XFxcIHwg
fGcnYAorICAgICAgICAgICAgICAgIF9TQVZFX0RFQlVHX0ZMQUdTPSRfREVCVUdfRkxBR1MKKyAg
ICAgICAgICAgIGZpCisgICAgICAgIGZpXSkKKworQUNfQVJHX0VOQUJMRSh3aW4zMi10YXJnZXQs
CisgICAgWyAgLS1lbmFibGUtd2luMzItdGFyZ2V0PVwkdAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBTcGVjaWZ5IHdpbjMyIGZsYXZvci4gKFdJTjk1IG9yIFdJTk5UKV0sCisgICAgT1NfVEFS
R0VUPWBlY2hvICRlbmFibGV2YWwgfCB0ciBhLXogQS1aYCwKKyAgICBPU19UQVJHRVQ9KQorCitB
Q19BUkdfRU5BQkxFKGRlYnVnLXJ0bCwKKyAgICBbICAtLWVuYWJsZS1kZWJ1Zy1ydGwgICAgICBV
c2UgdGhlIE1TVkMgZGVidWcgcnVudGltZSBsaWJyYXJ5XSwKKyAgICBbIGlmIHRlc3QgIiRlbmFi
bGV2YWwiID0gInllcyI7IHRoZW4KKwkgICAgVVNFX0RFQlVHX1JUTD0xCisgICAgICBmaSBdKQor
CitBQ19BUkdfRU5BQkxFKG4zMiwKKyAgICBbICAtLWVuYWJsZS1uMzIgICAgICAgICAgICBFbmFi
bGUgbjMyIEFCSSBzdXBwb3J0IChJUklYIG9ubHkpXSwKKyAgICBbIGlmIHRlc3QgIiRlbmFibGV2
YWwiID0gInllcyI7IHRoZW4KKwlVU0VfTjMyPTEKKyAgICAgIGVsc2UgaWYgdGVzdCAiJGVuYWJs
ZXZhbCIgPSAibm8iOyB0aGVuCisJVVNFX04zMj0KKyAgICAgIGZpCisgICAgZmkgXSkKKworQUNf
QVJHX0VOQUJMRSg2NGJpdCwKKyAgICBbICAtLWVuYWJsZS02NGJpdCAgICAgICAgICBFbmFibGUg
NjQtYml0IHN1cHBvcnQgKG9uIGNlcnRhaW4gcGxhdGZvcm1zKV0sCisgICAgWyBpZiB0ZXN0ICIk
ZW5hYmxldmFsIiA9ICJ5ZXMiOyB0aGVuCisJICAgIFVTRV82ND0xCisgICAgICBmaSBdKQorCitB
Q19BUkdfRU5BQkxFKG1kdXBkYXRlLAorICAgIFsgIC0tZW5hYmxlLW1kdXBkYXRlICAgICAgIEVu
YWJsZSB1c2Ugb2YgY2VydGFpbiBjb21waWxlcnMnIG1kdXBkYXRlIGZlYXR1cmVdLAorICAgIFsg
aWYgdGVzdCAiJGVuYWJsZXZhbCIgPSAieWVzIjsgdGhlbgorCSAgICBVU0VfTURVUERBVEU9MQor
ICAgICAgZmkgXSkKKworQUNfQVJHX0VOQUJMRShtYWNvcy10YXJnZXQsCisgICAgICAgICAgICAg
WyAgLS1lbmFibGUtbWFjb3MtdGFyZ2V0PVZFUgorICAgICAgICAgICAgICAgICAgICAgICAgICBT
ZXQgdGhlIG1pbmltdW0gTWFjT1MgdmVyc2lvbiBuZWVkZWQgYXQgcnVudGltZQorICAgICAgICAg
ICAgICAgICAgICAgICAgICBbMTAuMSBmb3IgcHBjLCAxMC40IGZvciB4ODZdXSwKKyAgICAgICAg
ICAgICBbX01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVD0kZW5hYmxldmFsXSkKKworZG5sID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Citkbmwg
PQorZG5sID0gU2V0IHRoZSB0aHJlYWRpbmcgbW9kZWwKK2RubCA9CitkbmwgPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2Nhc2UgIiR0YXJn
ZXQiIGluCisKKyotYWl4KikKKyAgICBjYXNlICIke3RhcmdldF9vc30iIGluCisgICAgYWl4My4y
KikKKyAgICAgICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAgICAgIDs7CisgICAgKikKKyAgICAg
ICAgVVNFX1BUSFJFQURTPTEKKyAgICAgICAgOzsKKyAgICBlc2FjCisgICAgOzsKKworZXNhYwor
CitkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KK2RubCA9CitkbmwgPSBTZXQgdGhlIGRlZmF1bHQgQyBjb21waWxlcgorZG5sID0KK2Ru
bCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQoraWYgdGVzdCAteiAiJENDIjsgdGhlbgorICAgIGNhc2UgIiR0YXJnZXQiIGluCisKKyAgICAq
LWFpeCopCisgICAgICAgIGlmIHRlc3QgLXogIiRVU0VfTlNQUl9USFJFQURTIjsgdGhlbgorICAg
ICAgICAgICAgQ0M9eGxjX3IKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgQ0M9eGxjCisgICAg
ICAgIGZpCisgICAgOzsKKworICAgICotaHB1eCopCisgICAgICAgIENDPWNjCisgICAgOzsKKwor
ICAgICotaXJpeCopCisgICAgICAgIENDPWNjCisgICAgOzsKKworICAgICotb3BlbnZtcyopCisg
ICAgICAgIENDPWNjCisgICAgOzsKKworICAgICotb3NmKikKKyAgICAgICAgQ0M9Y2MKKyAgICA7
OworCisgICAgKi1zb2xhcmlzKikKKyAgICAgICAgQ0M9Y2MKKyAgICA7OworCisgICAgZXNhYwor
ZmkKKworZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CitkbmwgPQorZG5sID0gU2V0IHRoZSBkZWZhdWx0IEMrKyBjb21waWxlcgorZG5s
ID0KK2RubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQoraWYgdGVzdCAteiAiJENYWCI7IHRoZW4KKyAgICBjYXNlICIkdGFyZ2V0IiBpbgor
CisgICAgKi1haXgqKQorICAgICAgICBpZiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRo
ZW4KKyAgICAgICAgICAgIENYWD14bENfcgorICAgICAgICBlbHNlCisgICAgICAgICAgICBDWFg9
eGxDCisgICAgICAgIGZpCisgICAgOzsKKworICAgICotaHB1eCopCisgICAgICAgIGNhc2UgIiR7
dGFyZ2V0X29zfSIgaW4KKyAgICAgICAgaHB1eDEwLjMwKQorICAgICAgICAgICAgQ1hYPWFDQwor
ICAgICAgICAgICAgOzsKKyAgICAgICAgaHB1eDExLiopCisgICAgICAgICAgICBDWFg9YUNDCisg
ICAgICAgICAgICA7OworICAgICAgICAqKQorICAgICAgICAgICAgQ1hYPUNDCisgICAgICAgICAg
ICA7OworICAgICAgICBlc2FjCisgICAgOzsKKworICAgICotaXJpeCopCisgICAgICAgIENYWD1D
QworICAgIDs7CisKKyAgICAqLW9wZW52bXMqKQorICAgICAgICBDWFg9Y3h4CisgICAgOzsKKwor
ICAgICotb3NmKikKKyAgICAgICAgQ1hYPWN4eAorICAgIDs7CisKKyAgICAqLXNvbGFyaXMqKQor
ICAgICAgICBDWFg9Q0MKKyAgICA7OworCisgICAgZXNhYworZmkKKworaWYgdGVzdCAteiAiJFNL
SVBfUEFUSF9DSEVDS1MiOyB0aGVuCisgICAgQUNfUEFUSF9QUk9HKFdIT0FNSSwgJFdIT0FNSSB3
aG9hbWksIGVjaG8gbm90X3dob2FtaSkKK2ZpCisKK2lmIHRlc3QgLW4gIiRNT1pfREVCVUciOyB0
aGVuCisgICAgQUNfREVGSU5FKERFQlVHKQorICAgIERFRklORVM9IiRERUZJTkVTIC1VTkRFQlVH
IgorCisgICAgY2FzZSAiJHt0YXJnZXRfb3N9IiBpbgorICAgIGJlb3MqKQorICAgICAgICBERUZJ
TkVTPSIkREVGSU5FUyAtRERFQlVHXyR7VVNFUn0iCisgICAgICAgIDs7CisgICAgbXN2Yyp8bWtz
KnxjeWd3aW4qfG1pbmd3KnxvczIqKQorICAgICAgICBERUZJTkVTPSIkREVGSU5FUyAtRERFQlVH
X2BlY2hvICR7VVNFUk5BTUV9IHwgc2VkIC1lICdzfCB8X3xnJ2AiCisgICAgICAgIDs7CisgICAg
KikgCisgICAgICAgIERFRklORVM9IiRERUZJTkVTIC1EREVCVUdfYCRXSE9BTUlgIgorICAgICAg
ICA7OworICAgIGVzYWMKK2Vsc2UKKyAgICBBQ19ERUZJTkUoTkRFQlVHKQorICAgIERFRklORVM9
IiRERUZJTkVTIC1VREVCVUciCitmaQorCitpZiB0ZXN0IC16ICIkU0tJUF9DT01QSUxFUl9DSEVD
S1MiOyB0aGVuCitkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KK2RubCBDaGVja3MgZm9yIGNvbXBpbGVycy4KK2RubCA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoraWYgdGVzdCAi
JHRhcmdldCIgIT0gIiRob3N0IjsgdGhlbgorICAgIGVjaG8gImNyb3NzIGNvbXBpbGluZyBmcm9t
ICRob3N0IHRvICR0YXJnZXQiCisgICAgY3Jvc3NfY29tcGlsaW5nPXllcworCisgICAgX1NBVkVf
Q0M9IiRDQyIKKyAgICBfU0FWRV9DRkxBR1M9IiRDRkxBR1MiCisgICAgX1NBVkVfTERGTEFHUz0i
JExERkxBR1MiCisKKyAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciAkaG9zdCBjb21waWxlcl0pCisg
ICAgQUNfQ0hFQ0tfUFJPR1MoSE9TVF9DQywgJEhPU1RfQ0MgZ2NjIGNjIC91c3IvdWNiL2NjLCAi
IikKKyAgICBpZiB0ZXN0IC16ICIkSE9TVF9DQyI7IHRoZW4KKyAgICAgICAgQUNfTVNHX0VSUk9S
KFtubyBhY2NlcHRhYmxlIGNjIGZvdW5kIGluIFwkUEFUSF0pCisgICAgZmkKKyAgICBBQ19NU0df
UkVTVUxUKFskSE9TVF9DQ10pCisgICAgaWYgdGVzdCAteiAiJEhPU1RfQ0ZMQUdTIjsgdGhlbgor
ICAgICAgICBIT1NUX0NGTEFHUz0iJENGTEFHUyIKKyAgICBmaQorICAgIGlmIHRlc3QgLXogIiRI
T1NUX0xERkxBR1MiOyB0aGVuCisgICAgICAgIEhPU1RfTERGTEFHUz0iJExERkxBR1MiCisgICAg
ZmkKKworICAgIENDPSIkSE9TVF9DQyIKKyAgICBDRkxBR1M9IiRIT1NUX0NGTEFHUyIKKyAgICBM
REZMQUdTPSIkSE9TVF9MREZMQUdTIgorCisgICAgQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRo
ZSAkaG9zdCBjb21waWxlciAoJEhPU1RfQ0MgJEhPU1RfQ0ZMQUdTICRIT1NUX0xERkxBR1MpIHdv
cmtzXSkKKyAgICBBQ19UUllfQ09NUElMRShbXSwgW3JldHVybigwKTtdLCAKKyAgICAgICAgW2Fj
X2N2X3Byb2dfaG9zdF9jY193b3Jrcz0xIEFDX01TR19SRVNVTFQoW3llc10pXSwKKyAgICAgICAg
QUNfTVNHX0VSUk9SKFtpbnN0YWxsYXRpb24gb3IgY29uZmlndXJhdGlvbiBwcm9ibGVtOiAkaG9z
dCBjb21waWxlciAkSE9TVF9DQyBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzLl0pICkKKworICAg
IENDPSRfU0FWRV9DQworICAgIENGTEFHUz0kX1NBVkVfQ0ZMQUdTCisgICAgTERGTEFHUz0kX1NB
VkVfTERGTEFHUworCisgICAgQUNfQ0hFQ0tfUFJPR1MoQ0MsICRDQyAiJHt0YXJnZXRfYWxpYXN9
LWdjYyIgIiR7dGFyZ2V0fS1nY2MiLCBlY2hvKQorICAgIHVuc2V0IGFjX2N2X3Byb2dfQ0MKKyAg
ICBBQ19QUk9HX0NDCisgICAgQUNfQ0hFQ0tfUFJPR1MoQ1hYLCAkQ1hYICIke3RhcmdldF9hbGlh
c30tZysrIiAiJHt0YXJnZXR9LWcrKyIsIGVjaG8pCisgICAgdW5zZXQgYWNfY3ZfcHJvZ19DWFgK
KyAgICBBQ19QUk9HX0NYWAorICAgIEFDX0NIRUNLX1BST0dTKFJBTkxJQiwgJFJBTkxJQiAiJHt0
YXJnZXRfYWxpYXN9LXJhbmxpYiIgIiR7dGFyZ2V0fS1yYW5saWIiLCBlY2hvKQorICAgIEFDX0NI
RUNLX1BST0dTKEFSLCAkQVIgIiR7dGFyZ2V0X2FsaWFzfS1hciIgIiR7dGFyZ2V0fS1hciIsIGVj
aG8pCisgICAgQUNfQ0hFQ0tfUFJPR1MoQVMsICRBUyAiJHt0YXJnZXRfYWxpYXN9LWFzIiAiJHt0
YXJnZXR9LWFzIiwgZWNobykKKyAgICBBQ19DSEVDS19QUk9HUyhMRCwgJExEICIke3RhcmdldF9h
bGlhc30tbGQiICIke3RhcmdldH0tbGQiLCBlY2hvKQorICAgIEFDX0NIRUNLX1BST0dTKFNUUklQ
LCAkU1RSSVAgIiR7dGFyZ2V0X2FsaWFzfS1zdHJpcCIgIiR7dGFyZ2V0fS1zdHJpcCIsIGVjaG8p
CisgICAgQUNfQ0hFQ0tfUFJPR1MoV0lORFJFUywgJFdJTkRSRVMgIiR7dGFyZ2V0X2FsaWFzfS13
aW5kcmVzIiAiJHt0YXJnZXR9LXdpbmRyZXMiLCBlY2hvKQorCitlbHNlCisgICAgQUNfUFJPR19D
WFgKKyAgICBpZiB0ZXN0ICIkQ1hYIiA9ICJjbCIgLWEgLXogIiRDQyI7IHRoZW4KKyAgICAgICAg
Q0M9JENYWAorICAgIGVsc2UgICAgICAgIAorICAgICAgICBBQ19QUk9HX0NDCisgICAgZmkKKyAg
ICBBQ19QUk9HX0NQUAorICAgIEFDX1BST0dfUkFOTElCCisgICAgQUNfUEFUSF9QUk9HUyhBUywg
YXMsICRDQykKKyAgICBBQ19QQVRIX1BST0dTKEFSLCBhciwgZWNobyBub3RfYXIpCisgICAgQUNf
UEFUSF9QUk9HUyhMRCwgbGQgbGluaywgZWNobyBub3RfbGQpCisgICAgQUNfUEFUSF9QUk9HUyhT
VFJJUCwgc3RyaXAsIGVjaG8gbm90X3N0cmlwKQorICAgIEFDX1BBVEhfUFJPR1MoV0lORFJFUywg
d2luZHJlcywgZWNobyBub3Rfd2luZHJlcykKKyAgICBpZiB0ZXN0IC16ICIkSE9TVF9DQyI7IHRo
ZW4KKyAgICAgICAgSE9TVF9DQz0iJENDIgorICAgIGZpCisgICAgaWYgdGVzdCAteiAiJEhPU1Rf
Q0ZMQUdTIjsgdGhlbgorICAgICAgICBIT1NUX0NGTEFHUz0iJENGTEFHUyIKKyAgICBmaQorZmkK
KworaWYgdGVzdCAiJEdDQyIgPSAieWVzIjsgdGhlbgorICAgIEdOVV9DQz0xCitmaQoraWYgdGVz
dCAiJEdYWCIgPSAieWVzIjsgdGhlbgorICAgIEdOVV9DWFg9MQorZmkKK2lmIHRlc3QgImBlY2hv
IHwgJEFTIC12IDI+JjEgfCBncmVwIC1jIEdOVWAiICE9ICIwIjsgdGhlbgorICAgIEdOVV9BUz0x
CitmaQorcm0gLWYgYS5vdXQKKworaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgID0gInllcyI7
IHRoZW4KKyAgICBDUk9TU19DT01QSUxFPTEKK2Vsc2UKKyAgICBDUk9TU19DT01QSUxFPQorZmkK
KworZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CitkbmwgQ2hlY2sgZm9yIGdjYyAtcGlwZSBzdXBwb3J0CitkbmwgPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0FDX01TR19DSEVD
S0lORyhbZm9yIGdjYyAtcGlwZSBzdXBwb3J0XSkKK2lmIHRlc3QgLW4gIiRHTlVfQ0MiICYmIHRl
c3QgLW4gIiRHTlVfQ1hYIiAmJiB0ZXN0IC1uICIkR05VX0FTIjsgdGhlbgorICAgIGVjaG8gJyNp
bmNsdWRlIDxzdGRpby5oPicgPiBkdW1teS1oZWxsby5jCisgICAgZWNobyAnaW50IG1haW4oKSB7
IHByaW50ZigiSGVsbG8gV29ybGRcbiIpOyByZXR1cm4gMDsgfScgPj4gZHVtbXktaGVsbG8uYwor
ICAgICR7Q0N9IC1TIGR1bW15LWhlbGxvLmMgLW8gZHVtbXktaGVsbG8ucyAyPiY1CisgICAgY2F0
IGR1bW15LWhlbGxvLnMgfCAke0FTfSAtbyBkdW1teS1oZWxsby5TIC0gMj4mNQorICAgIGlmIHRl
c3QgJD8gPSAwOyB0aGVuCisgICAgICAgIF9yZXNfYXNfc3RkaW49InllcyIKKyAgICBlbHNlCisg
ICAgICAgIF9yZXNfYXNfc3RkaW49Im5vIgorICAgIGZpCisgICAgaWYgdGVzdCAiJF9yZXNfYXNf
c3RkaW4iID0gInllcyI7IHRoZW4KKyAgICAgICAgX1NBVkVfQ0ZMQUdTPSRDRkxBR1MKKyAgICAg
ICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1waXBlIgorICAgICAgICBBQ19UUllfQ09NUElMRSggWyAjaW5j
bHVkZSA8c3RkaW8uaD4gXSwKKyAgICAgICAgICAgIFtwcmludGYoIkhlbGxvIFdvcmxkXG4iKTtd
LAorICAgICAgICAgICAgW19yZXNfZ2NjX3BpcGU9InllcyJdLAorICAgICAgICAgICAgW19yZXNf
Z2NjX3BpcGU9Im5vIl0gKQorICAgICAgICBDRkxBR1M9JF9TQVZFX0NGTEFHUworICAgIGZpCisg
ICAgaWYgdGVzdCAiJF9yZXNfYXNfc3RkaW4iID0gInllcyIgJiYgdGVzdCAiJF9yZXNfZ2NjX3Bp
cGUiID0gInllcyI7IHRoZW4KKyAgICAgICAgX3Jlcz0ieWVzIjsKKyAgICAgICAgQ0ZMQUdTPSIk
Q0ZMQUdTIC1waXBlIgorICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1waXBlIgorICAgIGVs
c2UKKyAgICAgICAgX3Jlcz0ibm8iCisgICAgZmkKKyAgICBybSAtZiBkdW1teS1oZWxsby5jIGR1
bW15LWhlbGxvLnMgZHVtbXktaGVsbG8uUyBkdW1teS1oZWxsbyBhLm91dAorICAgIEFDX01TR19S
RVNVTFQoWyRfcmVzXSkKK2Vsc2UKKyAgICBBQ19NU0dfUkVTVUxUKFtub10pCitmaQorCitkbmwg
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CitkbmwgQ2hlY2sgZm9yIC5oaWRkZW4gYXNzZW1ibGVyIGRpcmVjdGl2ZSBhbmQgdmlz
aWJpbGl0eSBhdHRyaWJ1dGUuCitkbmwgQm9ycm93ZWQgZnJvbSBnbGliYyBjb25maWd1cmUuaW4K
K2RubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KK2lmIHRlc3QgIiRHTlVfQ0MiOyB0aGVuCisgICAgQUNfQ0FDSEVfQ0hFQ0so
Zm9yIHZpc2liaWxpdHkoaGlkZGVuKSBhdHRyaWJ1dGUsCisgICAgICAgIGFjX2N2X3Zpc2liaWxp
dHlfaGlkZGVuLAorICAgICAgICBbY2F0ID4gY29uZnRlc3QuYyA8PEVPRgorICAgICAgICBpbnQg
Zm9vIF9fYXR0cmlidXRlX18gKCh2aXNpYmlsaXR5ICgiaGlkZGVuIikpKSA9IDE7CitFT0YKKyAg
ICAgICAgYWNfY3ZfdmlzaWJpbGl0eV9oaWRkZW49bm8KKyAgICAgICAgaWYgJHtDQy1jY30gLVdl
cnJvciAtUyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0LnMgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisg
ICAgICAgICAgICBpZiBncmVwICdcLmhpZGRlbi4qZm9vJyBjb25mdGVzdC5zID4vZGV2L251bGw7
IHRoZW4KKyAgICAgICAgICAgICAgICBhY19jdl92aXNpYmlsaXR5X2hpZGRlbj15ZXMKKyAgICAg
ICAgICAgIGZpCisgICAgICAgIGZpCisgICAgICAgIHJtIC1mIGNvbmZ0ZXN0Lltjc10KKyAgICAg
ICAgXSkKKyAgICBpZiB0ZXN0ICIkYWNfY3ZfdmlzaWJpbGl0eV9oaWRkZW4iID0gInllcyI7IHRo
ZW4KKyAgICAgICAgQUNfREVGSU5FKEhBVkVfVklTSUJJTElUWV9ISURERU5fQVRUUklCVVRFKQor
ICAgICAgICBBQ19DQUNIRV9DSEVDSyhmb3IgdmlzaWJpbGl0eSBwcmFnbWEgc3VwcG9ydCwKKyAg
ICAgICAgICAgIGFjX2N2X3Zpc2liaWxpdHlfcHJhZ21hLAorICAgICAgICAgICAgW2NhdCA+IGNv
bmZ0ZXN0LmMgPDxFT0YKKyNwcmFnbWEgR0NDIHZpc2liaWxpdHkgcHVzaChoaWRkZW4pCisgICAg
ICAgICAgICBpbnQgZm9vX2hpZGRlbiA9IDE7CisjcHJhZ21hIEdDQyB2aXNpYmlsaXR5IHB1c2go
ZGVmYXVsdCkKKyAgICAgICAgICAgIGludCBmb29fZGVmYXVsdCA9IDE7CitFT0YKKyAgICAgICAg
ICAgIGFjX2N2X3Zpc2liaWxpdHlfcHJhZ21hPW5vCisgICAgICAgICAgICBpZiAke0NDLWNjfSAt
V2Vycm9yIC1TIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QucyA+L2Rldi9udWxsIDI+JjE7IHRoZW4K
KyAgICAgICAgICAgICAgICBpZiBncmVwICdcLmhpZGRlbi4qZm9vX2hpZGRlbicgY29uZnRlc3Qu
cyA+L2Rldi9udWxsOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIGlmICEgZ3JlcCAnXC5oaWRk
ZW4uKmZvb19kZWZhdWx0JyBjb25mdGVzdC5zID4gL2Rldi9udWxsOyB0aGVuCisgICAgICAgICAg
ICAgICAgICAgICAgICBhY19jdl92aXNpYmlsaXR5X3ByYWdtYT15ZXMKKyAgICAgICAgICAgICAg
ICAgICAgZmkKKyAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgZmkKKyAgICAgICAgICAg
IHJtIC1mIGNvbmZ0ZXN0Lltjc10KKyAgICAgICAgICAgIF0pCisgICAgICAgIGlmIHRlc3QgIiRh
Y19jdl92aXNpYmlsaXR5X3ByYWdtYSIgPSAieWVzIjsgdGhlbgorICAgICAgICAgICAgQUNfREVG
SU5FKEhBVkVfVklTSUJJTElUWV9QUkFHTUEpCisgICAgICAgICAgICAjIFRvIHdvcmsgYXJvdW5k
IGEgYnVpbGQgcHJvYmxlbSBvbiBMaW51eCB4ODYtNjQgKEJ1Z3ppbGxhIGJ1ZworICAgICAgICAg
ICAgIyAyOTM0MzgpLCB3ZSB1c2UgdGhlIC1mdmlzaWJpbGl0eT1oaWRkZW4gZmxhZy4gIFRoaXMg
ZmxhZyBpcyBsZXNzCisgICAgICAgICAgICAjIG9wdGltYWwgdGhhbiAjcHJhZ21hIEdDQyB2aXNp
YmlsaXR5IHB1c2goaGlkZGVuKSBiZWNhdXNlIHRoZSBmbGFnCisgICAgICAgICAgICAjIGFzc3Vt
ZXMgdGhhdCBzeW1ib2xzIGRlZmluZWQgb3V0c2lkZSB0aGUgY3VycmVudCBzb3VyY2UgZmlsZSBo
YXZlCisgICAgICAgICAgICAjIHRoZSBkZWZhdWx0IHZpc2liaWxpdHkuICBUaGlzIGhhcyB0aGUg
YWR2YW50YWdlIHRoYXQgd2UgZG9uJ3QgbmVlZAorICAgICAgICAgICAgIyB0byB3cmFwIHN5c3Rl
bSBoZWFkZXIgZmlsZXMsIGJ1dCBoYXMgdGhlIGRpc2FkdmFudGFnZSB0aGF0IGNhbGxzCisgICAg
ICAgICAgICAjIHRvIGhpZGRlbiBzeW1ib2xzIGRlZmluZWQgaW4gb3RoZXIgc291cmNlIGZpbGVz
IGNhbm5vdCBiZQorICAgICAgICAgICAgIyBvcHRpbWl6ZWQgYnkgdGhlIGNvbXBpbGVyLiAgVGhl
IC1mdmlzaWJpbGl0eT1oaWRkZW4gZmxhZyBkb2VzCisgICAgICAgICAgICAjIGhpZGUgYW5kIGV4
cG9ydCBzeW1ib2xzIGNvcnJlY3RseS4KKyAgICAgICAgICAgICNWSVNJQklMSVRZX0ZMQUdTPSct
SSQoZGlzdF9pbmNsdWRlZGlyKS9zeXN0ZW1fd3JhcHBlcnMgLWluY2x1ZGUgJCh0b3BzcmNkaXIp
L2NvbmZpZy9nY2NfaGlkZGVuLmgnCisgICAgICAgICAgICAjV1JBUF9TWVNURU1fSU5DTFVERVM9
MQorICAgICAgICAgICAgVklTSUJJTElUWV9GTEFHUz0iLWZ2aXNpYmlsaXR5PWhpZGRlbiIKKyAg
ICAgICAgICAgIFdSQVBfU1lTVEVNX0lOQ0xVREVTPQorICAgICAgICBmaQorICAgIGZpCitmaSAj
IEdOVV9DQworCitmaSAjIFNLSVBfQ09NUElMRVJfQ0hFQ0tTCisKK2RubCA9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZG5sIENoZWNrcyBm
b3IgcHJvZ3JhbXMuCitkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KK2lmIHRlc3QgLXogIiRTS0lQX1BBVEhfQ0hFQ0tTIjsgdGhlbgor
ICAgIEFDX1BBVEhfUFJPR1MoUEVSTCwgcGVybDUgcGVybCwgZWNobyBub3RfcGVybCkKK2VsaWYg
dGVzdCAteiAiJFBFUkwiOyB0aGVuCisgICAgUEVSTD1wZXJsCitmaQorCitkbmwgPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RubCBEZWZh
dWx0IHBsYXRmb3JtIHNwZWNpZmljIG9wdGlvbnMKK2RubCA9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorT0JKX1NVRkZJWD1vCitMSUJfU1VG
RklYPWEKK0RMTF9TVUZGSVg9c28KK0FTTV9TVUZGSVg9cworTUtTSExJQj0nJChMRCkgJChEU09f
TERPUFRTKSAtbyAkQCcKK1BSX01EX0FTRklMRVM9CitQUl9NRF9DU1JDUz0KK1BSX01EX0FSQ0hf
RElSPXVuaXgKK0FSX0ZMQUdTPSdjciAkQCcKK0FTPSckKENDKScKK0FTRkxBR1M9JyQoQ0ZMQUdT
KScKKworaWYgdGVzdCAtbiAiJENST1NTX0NPTVBJTEUiOyB0aGVuCisgICAgT1NfQVJDSD1gZWNo
byAkdGFyZ2V0X29zIHwgc2VkIC1lICdzfC98X3xnJ2AKKyAgICBPU19SRUxFQVNFPQorICAgIE9T
X1RFU1Q9IiR7dGFyZ2V0X2NwdX0iCisgICAgY2FzZSAiJHt0YXJnZXRfb3N9IiBpbgorICAgICAg
ICBsaW51eCopICAgICAgIE9TX0FSQ0g9TGludXggOzsKKyAgICAgICAgc29sYXJpcyopICAgICBP
U19BUkNIPVN1bk9TIE9TX1JFTEVBU0U9NSA7OworICAgICAgICBtaW5ndyopICAgICAgIE9TX0FS
Q0g9V0lOTlQgOzsKKyAgICBlc2FjCitlbHNlCisgICAgT1NfQVJDSD1gdW5hbWUgLXMgfCBzZWQg
LWUgJ3N8L3xffGcnYAorICAgIE9TX1JFTEVBU0U9YHVuYW1lIC1yYAorICAgIE9TX1RFU1Q9YHVu
YW1lIC1tYAorZmkKKworaWYgdGVzdCAiJE9TX0FSQ0giID0gIklSSVg2NCI7IHRoZW4KKyAgICBP
U19BUkNIPUlSSVgKK2ZpCisKK2lmIHRlc3QgIiRPU19BUkNIIiA9ICJBSVgiOyB0aGVuCisgICAg
T1NfUkVMRUFTRT1gdW5hbWUgLXZgLmB1bmFtZSAtcmAKK2ZpCisKK2lmIHRlc3QgIiRPU19BUkNI
IiA9ICJGcmVlQlNEIjsgdGhlbgorICAgIE9TX1JFTEVBU0U9YGVjaG8gJE9TX1JFTEVBU0UgfCBz
ZWQgJ3MvLS4qLy8nYAorZmkKKworaWYgdGVzdCAiJE9TX0FSQ0giID0gIkxpbnV4IjsgdGhlbgor
ICAgIE9TX1JFTEVBU0U9YGVjaG8gJE9TX1JFTEVBU0UgfCBzZWQgJ3MvLS4qLy8nYAorICAgIE9T
X1JFTEVBU0U9YGVjaG8gJE9TX1JFTEVBU0UgfCBhd2sgLUZcLiAneyBwcmludCAkMSAiLiIgJDIg
fSdgCitmaQorCitpZiB0ZXN0ICIkT1NfQVJDSCIgPSAiT3BlblZNUyI7IHRoZW4KKyAgICBPU19S
RUxFQVNFPWB1bmFtZSAtdmAKK2ZpCisKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIE1hc3RlciAiQ29yZSBD
b21wb25lbnRzIiBtYWNyb3MgZm9yIGdldHRpbmcgdGhlIE9TIHRhcmdldCAgICAgICAgICAgIwor
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKKworIworIyBOb3RlOiBPU19UQVJHRVQgc2hvdWxkIGJlIHNwZWNpZmll
ZCBvbiB0aGUgY29tbWFuZCBsaW5lIGZvciBnbWFrZS4KKyMgV2hlbiBPU19UQVJHRVQ9V0lOOTUg
aXMgc3BlY2lmaWVkLCB0aGVuIGEgV2luZG93cyA5NSB0YXJnZXQgaXMgYnVpbHQuCisjIFRoZSBk
aWZmZXJlbmNlIGJldHdlZW4gdGhlIFdpbjk1IHRhcmdldCBhbmQgdGhlIFdpbk5UIHRhcmdldCBp
cyB0aGF0CisjIHRoZSBXaW5OVCB0YXJnZXQgdXNlcyBXaW5kb3dzIE5UIHNwZWNpZmljIGZlYXR1
cmVzIG5vdCBhdmFpbGFibGUKKyMgaW4gV2luZG93cyA5NS4gVGhlIFdpbjk1IHRhcmdldCB3aWxs
IHJ1biBvbiBXaW5kb3dzIE5ULCBidXQgKHN1cHBvc2VkbHkpCisjIGF0IGxlc3NlciBwZXJmb3Jt
YW5jZSAodGhlIFdpbjk1IHRhcmdldCB1c2VzIHRocmVhZHM7IHRoZSBXaW5OVCB0YXJnZXQKKyMg
dXNlcyBmaWJlcnMpLgorIworIyBXaGVuIE9TX1RBUkdFVD1XSU4xNiBpcyBzcGVjaWZpZWQsIHRo
ZW4gYSBXaW5kb3dzIDMuMTEgKDE2Yml0KSB0YXJnZXQKKyMgaXMgYnVpbHQuIFNlZTogd2luMTZf
My4xMS5tayBmb3IgbG90cyBtb3JlIGFib3V0IHRoZSBXaW4xNiB0YXJnZXQuCisjCisjIElmIE9T
X1RBUkdFVCBpcyBub3Qgc3BlY2lmaWVkLCBpdCBkZWZhdWx0cyB0byAkKE9TX0FSQ0gpLCBpLmUu
LCBubworIyBjcm9zcy1jb21waWxhdGlvbi4KKyMKKworIworIyBUaGUgZm9sbG93aW5nIGhhY2sg
YWxsb3dzIG9uZSB0byBidWlsZCBvbiBhIFdJTjk1IG1hY2hpbmUgKGFzIGlmCisjIHMvaGUgd2Vy
ZSBjcm9zcy1jb21waWxpbmcgb24gYSBXSU5OVCBob3N0IGZvciBhIFdJTjk1IHRhcmdldCkuCisj
IEl0IGFsc28gYWNjb21vZGF0ZXMgZm9yIE1LUydzIHVuYW1lLmV4ZS4gIElmIHlvdSBuZXZlciBp
bnRlbmQKKyMgdG8gZG8gZGV2ZWxvcG1lbnQgb24gYSBXSU45NSBtYWNoaW5lLCB5b3UgZG9uJ3Qg
bmVlZCB0aGlzIGhhY2suCisjCitjYXNlICIkT1NfQVJDSCIgaW4KK1dJTjk1KQorICAgIE9TX0FS
Q0g9V0lOTlQKKyAgICBPU19UQVJHRVQ9V0lOOTUKKyAgICA7OworV2luZG93c185NSkKKyAgICBP
U19BUkNIPVdpbmRvd3NfTlQKKyAgICBPU19UQVJHRVQ9V0lOOTUKKyAgICA7OworV2luZG93c185
OCkKKyAgICBPU19BUkNIPVdpbmRvd3NfTlQKKyAgICBPU19UQVJHRVQ9V0lOOTUKKyAgICA7Owor
Q1lHV0lOXzkqfENZR1dJTl9NRSopCisgICAgT1NfQVJDSD0nQ1lHV0lOX05ULTQuMCcKKyAgICBP
U19UQVJHRVQ9V0lOOTUKKyAgICA7OworT1NfMikKKyAgICBPU19BUkNIPU9TMgorICAgIE9TX1RB
UkdFVD1PUzIKKyAgICA7OworZXNhYworCisjCisjIE9uIFdJTjMyLCB3ZSBhbHNvIGRlZmluZSB0
aGUgdmFyaWFibGUgQ1BVX0FSQ0guCisjCisKK2Nhc2UgIiRPU19BUkNIIiBpbgorV0lOTlQpCisg
ICAgQ1BVX0FSQ0g9YHVuYW1lIC1wYAorICAgIGlmIHRlc3QgIiRDUFVfQVJDSCIgPSAiSTM4NiI7
IHRoZW4KKyAgICAgICAgQ1BVX0FSQ0g9eDg2CisgICAgZmkKKyAgICA7OworV2luZG93c19OVCkK
KyMKKyMgSWYgdW5hbWUgLXMgcmV0dXJucyAiV2luZG93c19OVCIsIHdlIGFzc3VtZSB0aGF0IHdl
IGFyZSB1c2luZworIyB0aGUgdW5hbWUuZXhlIGluIE1LUyB0b29sa2l0LgorIworIyBUaGUgLXIg
b3B0aW9uIG9mIE1LUyB1bmFtZSBvbmx5IHJldHVybnMgdGhlIG1ham9yIHZlcnNpb24gbnVtYmVy
LgorIyBTbyB3ZSBuZWVkIHRvIHVzZSBpdHMgLXYgb3B0aW9uIHRvIGdldCB0aGUgbWlub3IgdmVy
c2lvbiBudW1iZXIuCisjIE1vcmVvdmVyLCBpdCBkb2Vzbid0IGhhdmUgdGhlIC1wIG9wdGlvbiwg
c28gd2UgbmVlZCB0byB1c2UgdW5hbWUgLW0uCisjCisgICAgT1NfQVJDSD1XSU5OVAorICAgIE9T
X01JTk9SX1JFTEVBU0U9YHVuYW1lIC12YAorICAgIGlmIHRlc3QgIiRPU19NSU5PUl9SRUxFQVNF
IiA9ICIwMCI7IHRoZW4KKyAgICAgICAgT1NfTUlOT1JfUkVMRUFTRT0wCisgICAgZmkKKyAgICBP
U19SRUxFQVNFPSIke09TX1JFTEVBU0V9LiR7T1NfTUlOT1JfUkVMRUFTRX0iCisgICAgQ1BVX0FS
Q0g9YHVuYW1lIC1tYAorICAgICMKKyAgICAjIE1LUydzIHVuYW1lIC1tIHJldHVybnMgIjU4NiIg
b24gYSBQZW50aXVtIG1hY2hpbmUuCisgICAgIworICAgIGlmIGVjaG8gIiRDUFVfQVJDSCIgfCBn
cmVwIC1jIDg2ID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgQ1BVX0FSQ0g9eDg2CisgICAgZmkK
KyAgICA7OworQ1lHV0lOX05UKnxNSU5HVypfTlQqKQorIworIyBJZiB1bmFtZSAtcyByZXR1cm5z
ICJDWUdXSU5fTlQtNC4wIiwgd2UgYXNzdW1lIHRoYXQgd2UgYXJlIHVzaW5nCisjIHRoZSB1bmFt
ZS5leGUgaW4gdGhlIEN5Z3dpbiB0b29scy4KKyMgSWYgdW5hbWUgLXMgcmV0dXJucyBNSU5HVzMy
X05ULTUuMSwgd2UgYXNzdW1lIHRoYXQgd2UgYXJlIHVzaW5nCisjIHRoZSB1bmFtZS5leGUgaW4g
dGhlIE1TWVMgdG9vbHMuCisjCisgICAgT1NfUkVMRUFTRT1gZXhwciAkT1NfQVJDSCA6ICcuKk5U
LVwoLipcKSdgCisgICAgT1NfQVJDSD1XSU5OVAorICAgIENQVV9BUkNIPWB1bmFtZSAtbWAKKyAg
ICAjCisgICAgIyBDeWd3aW4ncyB1bmFtZSAtbSByZXR1cm5zICJpNjg2IiBvbiBhIFBlbnRpdW0g
UHJvIG1hY2hpbmUuCisgICAgIworICAgIGlmIGVjaG8gIiRDUFVfQVJDSCIgfCBncmVwIC1jIDg2
ID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgQ1BVX0FSQ0g9eDg2CisgICAgZmkKKyAgICA7Owor
ZXNhYworCitpZiB0ZXN0IC1uICIkTU9aSUxMQV9DTElFTlQiICYmIHRlc3QgIiRPU19BUkNIIiA9
ICJXSU5OVCI7IHRoZW4KKyAgICBPU19UQVJHRVQ9V0lOOTUKKyAgICBpZiB0ZXN0IC1uICIkTU9a
X0RFQlVHIjsgdGhlbgorICAgICAgICBVU0VfREVCVUdfUlRMPTEKKyAgICBmaQorZmkKK2lmIHRl
c3QgLXogIiRPU19UQVJHRVQiOyB0aGVuCisgICAgT1NfVEFSR0VUPSRPU19BUkNICitmaQoraWYg
dGVzdCAiJE9TX1RBUkdFVCIgPSAiV0lOOTUiOyB0aGVuCisgICAgT1NfUkVMRUFTRT0iNC4wIgor
ZmkKK2lmIHRlc3QgIiRPU19UQVJHRVQiID0gIldJTjE2IjsgdGhlbgorICAgIE9TX1JFTEVBU0U9
CitmaQorT1NfQ09ORklHPSIke09TX1RBUkdFVH0ke09TX1JFTEVBU0V9IgorCitkbmwgPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworZG5s
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CitkbmwgT3ZlcnJpZGUgb2Ygc3lzdGVtIHNwZWNpZmljIGhvc3Qgb3B0aW9ucworZG5sID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitjYXNl
ICIkaG9zdCIgaW4KKyotbWluZ3cqKQorICAgIE5TSU5TVEFMTD1uc2luc3RhbGwKKyAgICA7Owor
Ki1jeWd3aW4qfCotbXN2Yyp8Ki1ta3MqKQorICAgIE5TSU5TVEFMTD0nJChDWUdXSU5fV1JBUFBF
UikgbnNpbnN0YWxsJworICAgIGlmIHRlc3QgYGVjaG8gIiR7UEFUSH0iIHwgZ3JlcCAtYyBcO2Ag
PSAwOyB0aGVuCisgICAgICAgIENZR1dJTl9XUkFQUEVSPSdzaCAkKHRvcHNyY2RpcikvYnVpbGQv
Y3lnd2luLXdyYXBwZXInCisgICAgZmkKKyAgICA7OworKi1iZW9zKikKKyAgICBIT1NUX0NGTEFH
Uz0iJEhPU1RfQ0ZMQUdTIC1EWFBfQkVPUyAtREJlT1MgLURCRU9TIC1EX1BPU0lYX1NPVVJDRSIK
KyAgICA7OworKm9zMiopCisgICAgOzsKKyopCisgICAgSE9TVF9DRkxBR1M9IiRIT1NUX0NGTEFH
UyAtRFhQX1VOSVgiCisgICAgOzsKK2VzYWMKKworZG5sID09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkbmwgT3ZlcnJpZGUgb2Ygc3lzdGVt
IHNwZWNpZmljIHRhcmdldCBvcHRpb25zCitkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2Nhc2UgIiR0YXJnZXQiIGluCisKKyotYWl4
KikKKyAgICBBQ19ERUZJTkUoWFBfVU5JWCkKKyAgICBBQ19ERUZJTkUoQUlYKQorICAgIEFDX0RF
RklORShTWVNWKQorICAgIERTT19MRE9QVFM9Jy1icnRsIC1ibm9ydGxsaWIgLWJNOlNSRSAtYm5v
ZW50cnkgLWJleHBhbGwgLWJsaWJwYXRoOi91c3IvbGliOi9saWInCisgICAgQUNfQ0hFQ0tfSEVB
REVSKHN5cy9hdG9taWNfb3AuaCwgQUNfREVGSU5FKEFJWF9IQVZFX0FUT01JQ19PUF9IKSkKKyAg
ICBjYXNlICIke3RhcmdldF9vc30iIGluCisgICAgYWl4My4yKikKKyAgICAgICAgQUNfREVGSU5F
KEFJWF9SRU5BTUVfU0VMRUNUKQorICAgICAgICBBQ19ERUZJTkUoX1BSX05PX0xBUkdFX0ZJTEVT
KQorICAgICAgICBBSVhfTElOS19PUFRTPSctYm5zbyAtYmVyb2snCisgICAgICAgIFBSX01EX0FT
RklMRVM9b3NfQUlYLnMKKyAgICAgICAgOzsKKyAgICBhaXg0LjEqKQorICAgICAgICBBQ19ERUZJ
TkUoQUlYX1RJTUVSUykKKyAgICAgICAgQUNfREVGSU5FKF9QUl9OT19MQVJHRV9GSUxFUykKKyAg
ICAgICAgQUNfREVGSU5FKEFJWDRfMSkKKyAgICAgICAgTUtTSExJQj0KKyAgICAgICAgRFNPX0xE
T1BUUz0KKyAgICAgICAgQUlYX0xJTktfT1BUUz0nLWJuc28gLWJlcm9rJworICAgICAgICBMSUJO
U1BSPSctTCQoZGlzdF9saWJkaXIpIC1sbnNwciQoTU9EX01BSk9SX1ZFUlNJT04pX3NocicKKyAg
ICAgICAgTElCUExDPSctTCQoZGlzdF9saWJkaXIpIC1scGxjJChNT0RfTUFKT1JfVkVSU0lPTilf
c2hyJworICAgICAgICA7OworICAgIGFpeDQuMiopCisgICAgICAgIEFDX0RFRklORShBSVhfVElN
RVJTKQorICAgICAgICBBQ19ERUZJTkUoX1BSX0hBVkVfT0ZGNjRfVCkKKyAgICAgICAgQUlYX0xJ
TktfT1BUUz0nLWJydGwgLWJuc28gLWJlcm9rJworICAgICAgICA7OworICAgIGFpeDQuMyopCisg
ICAgICAgIEFDX0RFRklORShBSVhfVElNRVJTKQorICAgICAgICBBQ19ERUZJTkUoX1BSX0hBVkVf
T0ZGNjRfVCkKKyAgICAgICAgQUNfREVGSU5FKEFJWDRfM19QTFVTKQorICAgICAgICBBQ19ERUZJ
TkUoSEFWRV9TT0NLTEVOX1QpCisgICAgICAgIEFDX0RFRklORShIQVZFX0ZDTlRMX0ZJTEVfTE9D
S0lORykKKyAgICAgICAgVVNFX0lQVjY9MQorICAgICAgICBBSVhfTElOS19PUFRTPSctYnJ0bCAt
Ym5zbyAtYmVyb2snCisgICAgICAgIDs7CisgICAgKikKKyAgICAgICAgQUNfREVGSU5FKEFJWF9U
SU1FUlMpCisgICAgICAgIEFDX0RFRklORShfUFJfSEFWRV9PRkY2NF9UKQorICAgICAgICBBQ19E
RUZJTkUoQUlYNF8zX1BMVVMpCisgICAgICAgIEFDX0RFRklORShIQVZFX1NPQ0tMRU5fVCkKKyAg
ICAgICAgQUNfREVGSU5FKEhBVkVfRkNOVExfRklMRV9MT0NLSU5HKQorICAgICAgICBVU0VfSVBW
Nj0xCisgICAgICAgIEFJWF9MSU5LX09QVFM9Jy1icnRsIC1ibnNvIC1iZXJvaycKKyAgICAgICAg
OzsKKyAgICBlc2FjCisgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1xcm8gLXFyb2NvbnN0IgorICAgIEFJ
WF9XUkFQPSckKERJU1QpL2xpYi9haXh3cmFwLm8nCisgICAgQUlYX1RNUD0nLi9fYWl4X3RtcC5v
JworICAgIGlmIHRlc3QgLW4gIiRVU0VfNjQiOyB0aGVuCisgICAgICAgIE1EQ1BVQ0ZHX0g9X2Fp
eDY0LmNmZworICAgICAgICBPQkpFQ1RfTU9ERT02NAorICAgIGVsc2UKKyAgICAgICAgTURDUFVD
RkdfSD1fYWl4MzIuY2ZnCisgICAgZmkKKyAgICBQUl9NRF9DU1JDUz1haXguYworICAgIFJFU09M
VkVfTElOS19TWU1CT0xTPTEKKyAgICA7OworICAgICAgICAKKyotYmVvcyopCisgICAgQUNfREVG
SU5FKFhQX0JFT1MpCisgICAgQUNfREVGSU5FKEJlT1MpCisgICAgQUNfREVGSU5FKEJFT1MpCisg
ICAgQUNfREVGSU5FKF9QT1NJWF9TT1VSQ0UpCisgICAgRFNPX0xET1BUUz0tbm9zdGFydAorICAg
IE1EQ1BVQ0ZHX0g9X2Jlb3MuY2ZnCisgICAgVVNFX0JUSFJFQURTPTEKKyAgICBQUl9NRF9BUkNI
X0RJUj1iZW9zCisgICAgUkVTT0xWRV9MSU5LX1NZTUJPTFM9MQorICAgIGNhc2UgIiR7dGFyZ2V0
X2NwdX0iIGluCisgICAgaSo4NikKKyAgICAgICAgX09QVElNSVpFX0ZMQUdTPS1PMgorICAgICAg
ICBfREVCVUdfRkxBR1M9Jy1nZHdhcmYtMiAtTzAnCisgICAgICAgIE1LU0hMSUI9JyQoQ0NDKSAk
KERTT19MRE9QVFMpIC1vICRAJworICAgICAgICBBQ19DSEVDS19MSUIoYmluZCwgZ2V0aG9zdGJ5
YWRkciwgW09TX0xJQlM9IiRPU19MSUJTIC1sYmluZCAtbHNvY2tldCJdKQorICAgICAgICA7Owor
ICAgIHBvd2VycGMpCisgICAgICAgIENDPW13Y2MKKyAgICAgICAgQ0NDPW13Y2MKKyAgICAgICAg
TEQ9bXdsZAorICAgICAgICBEU09fTERPUFRTPScteG1zIC1leHBvcnQgcHJhZ21hIC1pbml0IF9p
bml0X3JvdXRpbmVfIC10ZXJtIF90ZXJtX3JvdXRpbmVfIC1scm9vdCAtbG5ldCAvYm9vdC9kZXZl
bG9wL2xpYi9wcGMvZ2x1ZS1ub2luaXQuYSAvYm9vdC9kZXZlbG9wL2xpYi9wcGMvaW5pdF90ZXJt
X2R5bi5vIC9ib290L2RldmVsb3AvbGliL3BwYy9zdGFydF9keW4ubycKKyAgICAgICAgX09QVElN
SVpFX0ZMQUdTPS1PMiAgICAKKyAgICAgICAgX0RFQlVHX0ZMQUdTPSctZyAtTzAnCisgICAgICAg
IDs7CisgICAgZXNhYworICAgIDs7CisKKyotYnNkaSopCisgICAgQUNfREVGSU5FKFhQX1VOSVgp
CisgICAgQUNfREVGSU5FKEJTREkpCisgICAgQUNfREVGSU5FKE5FRURfQlNEUkVHRVgpCisKKyAg
ICBDRkxBR1M9IiRDRkxBR1MgLVdhbGwgLVduby1mb3JtYXQiCisgICAgQ1hYRkxBR1M9IiRDWFhG
TEFHUyAtV2FsbCAtV25vLWZvcm1hdCIKKworICAgIGlmIGVjaG8gIiRPU19URVNUIiB8IGdyZXAg
LWMgODYgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBDUFVfQVJDSD14ODYKKyAgICBlbGlmIGVj
aG8gIiRPU19URVNUIiB8IGdyZXAgLWMgc3BhcmMgPi9kZXYvbnVsbDsgdGhlbiAKKyAgICAgICAg
Q1BVX0FSQ0g9c3BhcmMKKyAgICBmaQorCisgICAgTURDUFVDRkdfSD1fYnNkaS5jZmcKKyAgICBQ
Ul9NRF9DU1JDUz1ic2RpLmMKKworICAgIERTT19MRE9QVFM9LXIKKworICAgIGNhc2UgIiR0YXJn
ZXRfb3MiIGluCisgICAgYnNkaTEuMSopCisgICAgICAgIEFDX0RFRklORShfUFJfQlNESV9KTVBC
VUZfSVNfQVJSQVkpCisgICAgICAgIEFDX0RFRklORShfUFJfU1RBVF9IQVNfT05MWV9TVF9BVElN
RSkKKyAgICAgICAgQUNfREVGSU5FKF9QUl9ORUVEX0hfRVJSTk8pCisgICAgICAgIE1LU0hMSUI9
CisgICAgICAgIERTT19DRkxBR1M9CisgICAgICAgIERTT19MRE9QVFM9CisgICAgICAgIDs7CisK
KyAgICBic2RpMi4xKikKKyAgICAgICAgQUNfREVGSU5FKF9QUl9USU1FU1BFQ19IQVNfVFNfU0VD
KQorICAgICAgICBBQ19ERUZJTkUoX1BSX0JTRElfSk1QQlVGX0lTX0FSUkFZKQorICAgICAgICBB
Q19ERUZJTkUoSEFWRV9ETEwpCisgICAgICAgIEFDX0RFRklORShVU0VfRExGQ04pCisgICAgICAg
IEFDX0RFRklORShfUFJfU1RBVF9IQVNfU1RfQVRJTUVTUEVDKQorICAgICAgICBQUl9NRF9BU0ZJ
TEVTPW9zX0JTRF9PU18zODZfMi5zCisgICAgICAgIDs7CisKKyAgICBic2RpNC4qIHwgYnNkaTUu
KikKKyAgICAgICAgQUNfREVGSU5FKF9QUl9TRUxFQ1RfQ09OU1RfVElNRVZBTCkKKyAgICAgICAg
QUNfREVGSU5FKF9QUl9CU0RJX0pNUEJVRl9JU19TVFJVQ1QpCisgICAgICAgIEFDX0RFRklORShI
QVZFX0RMTCkKKyAgICAgICAgQUNfREVGSU5FKFVTRV9ETEZDTikKKyAgICAgICAgQUNfREVGSU5F
KF9QUl9TVEFUX0hBU19TVF9BVElNRVNQRUMpCisgICAgICAgIE1LU0hMSUI9JyQoQ0MpIC1vICRA
ICQoRFNPX0xET1BUUyknCisgICAgICAgIERTT19DRkxBR1M9LWZQSUMKKyAgICAgICAgRFNPX0xE
T1BUUz0nLXNoYXJlZCAtV2wsLXNvbmFtZSwkKEA6JChPQkpESVIpLyUuc289JS5zbyknCisgICAg
ICAgIFNUUklQPSIkU1RSSVAgLWQiCisgICAgICAgIGNhc2UgIiR0YXJnZXRfb3MiIGluCisgICAg
ICAgIGJzZGk0LjIqIHwgYnNkaTQuMyogfCBic2RpNS4qKQorICAgICAgICAgICAgQUNfREVGSU5F
KF9QUl9IQVZFX0dFVFBST1RPX1IpCisgICAgICAgICAgICBBQ19ERUZJTkUoX1BSX0hBVkVfR0VU
UFJPVE9fUl9QT0lOVEVSKQorICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgICAgICA7
OworICAgICopCisgICAgICAgIEFDX0RFRklORShfUFJfU0VMRUNUX0NPTlNUX1RJTUVWQUwpCisg
ICAgICAgIEFDX0RFRklORShfUFJfQlNESV9KTVBCVUZfSVNfU1RSVUNUKQorICAgICAgICBBQ19E
RUZJTkUoSEFWRV9ETEwpCisgICAgICAgIEFDX0RFRklORShVU0VfRExGQ04pCisgICAgICAgIEFD
X0RFRklORShfUFJfU1RBVF9IQVNfU1RfQVRJTUVTUEVDKQorICAgICAgICA7OworICAgIGVzYWMK
KworICAgIDs7CisKKyotZGFyd2luKikKKyAgICBBQ19ERUZJTkUoWFBfVU5JWCkKKyAgICBBQ19E
RUZJTkUoREFSV0lOKQorICAgIEFDX0RFRklORShIQVZFX0JTRF9GTE9DSykKKyAgICBDRkxBR1M9
IiRDRkxBR1MgLVdtb3N0IC1mbm8tY29tbW9uIgorICAgIGlmIGVjaG8gJE9TX1RFU1QgfCBncmVw
IC1jIDg2IDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIEFDX0RFRklORShpMzg2KQorICAgICAg
ICBDUFVfQVJDSD1pMzg2CisgICAgZWxzZQorICAgICAgICBBQ19ERUZJTkUocHBjKQorICAgICAg
ICBDUFVfQVJDSD1wcGMKKyAgICBmaQorICAgIERTT19DRkxBR1M9LWZQSUMKKyAgICBEU09fTERP
UFRTPSctZHluYW1pY2xpYiAtY29tcGF0aWJpbGl0eV92ZXJzaW9uIDEgLWN1cnJlbnRfdmVyc2lv
biAxIC1hbGxfbG9hZCAtaW5zdGFsbF9uYW1lIEBleGVjdXRhYmxlX3BhdGgvJEAgLWhlYWRlcnBh
ZF9tYXhfaW5zdGFsbF9uYW1lcycKKyAgICAjIFVzZSB0aGUgc3RhbmRhcmQgcHJlcHJvY2Vzc29y
IChjcHApCisgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1uby1jcHAtcHJlY29tcCIKKyAgICBNS1NITElC
PSckKENDKSAtYXJjaCAkKENQVV9BUkNIKSAkKERTT19MRE9QVFMpIC1vICRAJworICAgIFNUUklQ
PSIkU1RSSVAgLXggLVMiCisgICAgRExMX1NVRkZJWD1keWxpYgorICAgIFVTRV9QVEhSRUFEUz0x
CisgICAgTURDUFVDRkdfSD1fZGFyd2luLmNmZworICAgIFBSX01EX0NTUkNTPWRhcndpbi5jCisg
ICAgaWYgdGVzdCAiJENQVV9BUkNIIiA9ICJwcGMiOyB0aGVuCisgICAgICAgIFBSX01EX0FTRklM
RVM9b3NfRGFyd2luX3BwYy5zCisgICAgZmkKKworICAgICMgQWRkIE1hYyBPUyBYIHN1cHBvcnQg
Zm9yIGxvYWRpbmcgQ0ZNICYgQ0ZCdW5kbGUgcGx1Z2lucworICAgIGlmIHRlc3QgLWYgL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvQ2FyYm9uLmZyYW1ld29yay9DYXJib247IHRoZW4KKyAgICAg
ICAgQUNfREVGSU5FKFhQX01BQ09TWCkKKyAgICAgICAgT1NfVEFSR0VUPU1hY09TWAorCisgICAg
ICAgIGlmIHRlc3QgLW4gIiRfTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUIiA7IHRoZW4KKyAgICAg
ICAgICAgIGRubCBVc2UgdGhlIHNwZWNpZmllZCB2YWx1ZQorICAgICAgICAgICAgZXhwb3J0IE1B
Q09TWF9ERVBMT1lNRU5UX1RBUkdFVD0kX01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVAorICAgICAg
ICBlbGlmIHRlc3QgLXogIiRNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQiIDsgdGhlbgorICAgICAg
ICAgICAgZG5sIE5vIHZhbHVlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lIG9yIGluIHRo
ZSBlbnZpcm9ubWVudCwKKyAgICAgICAgICAgIGRubCB1c2UgdGhlIGxlc3NlciBvZiB0aGUgbGli
cmFyeSdzIG1pbmltdW0gb3IgdGhlIGFyY2hpdGVjdHVyZSdzCisgICAgICAgICAgICBkbmwgbWlu
aW11bS4KKyAgICAgICAgICAgIGNhc2UgIiR7dGFyZ2V0X2NwdX0iIGluCisgICAgICAgICAgICAg
ICAgcG93ZXJwYyopCisgICAgICAgICAgICAgICAgICAgIGRubCBBcmNoaXRlY3R1cmUgbWluaW11
bSAxMC4xCisgICAgICAgICAgICAgICAgICAgIGV4cG9ydCBNQUNPU1hfREVQTE9ZTUVOVF9UQVJH
RVQ9MTAuMQorICAgICAgICAgICAgICAgICAgICA7OworICAgICAgICAgICAgICAgIGkqODYqKQor
ICAgICAgICAgICAgICAgICAgICBkbmwgQXJjaGl0ZWN0dXJlIG1pbmltdW0gMTAuNAorICAgICAg
ICAgICAgICAgICAgICBleHBvcnQgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUPTEwLjQKKyAgICAg
ICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgIGVzYWMKKyAgICAgICAgZmkKKyAgICBmaQor
CisgICAgIyBkbyB0aGUgcmlnaHQgdGhpbmcgZm9yIFNESyBzdXBwb3J0CisgICAgaWYgdGVzdCAi
JE5FWFRfUk9PVCI7IHRoZW4KKyAgICAgICAgZG5sIFN5bmNlZCB0byB0aGUgTUFDT1NfU0RLX0RJ
UiBibG9jayBpbiBNb3ppbGxhJ3MgdG9wLWxldmVsCisgICAgICAgIGRubCBjb25maWd1cmUuaW4K
KworICAgICAgICBkbmwgQ3VycmVudCBrbm93biB2YWxpZCB2ZXJzaW9ucyBmb3IgR0NDX1ZFUlNJ
T04gYXJlIDIuOTUuMiAzLjEgMy4zIDQuMC4KKyAgICAgICAgZG5sIDQuMCBpZGVudGlmaWVzIGl0
c2VsZiBhcyA0LjAueCwgc28gc3RyaXAgdGhlIGRlY2lkZWNpbWFsIGZvcgorICAgICAgICBkbmwg
dGhlIGVudmlyb25tZW50IGFuZCBpbmNsdWRlZGlyIHB1cnBvc2VzICh3aGVuIHVzaW5nIGFuIFNE
SywgYmVsb3cpLAorICAgICAgICBkbmwgYnV0IHJlbWVtYmVyIHRoZSBmdWxsIHZlcnNpb24gbnVt
YmVyIGZvciB0aGUgbGliZGlyIChTREspLgorCisgICAgICAgIGNoYW5nZXF1b3RlKCwpCisgICAg
ICAgIENDX1ZFUlNJT049YCRDQyAtdiAyPiYxIHwgZ3JlcCAnZ2NjIHZlcnNpb24nYAorICAgICAg
ICBHQ0NfVkVSU0lPTl9GVUxMPWBlY2hvICRDQ19WRVJTSU9OIHwgJFBFUkwgLXBlICdzL14uKmdj
YyB2ZXJzaW9uIChbXiBdKikuKi8kMS8nYAorICAgICAgICBHQ0NfVkVSU0lPTj1gZWNobyAkR0ND
X1ZFUlNJT05fRlVMTCB8ICRQRVJMIC1wZSAnKHNwbGl0KC9cLi8pKVswXT49NCYmcy8oXlxkKlwu
XGQqKS4qLyQxLzsnYAorICAgICAgICBjaGFuZ2VxdW90ZShbLF0pCisgICAgICAgIEdDQ19WRVJT
SU9OX01BSk9SPWBlY2hvICRHQ0NfVkVSU0lPTl9GVUxMIHwgJFBFUkwgLXBlICdzLyheXGQqKS4q
LyQxLzsnYAorCisgICAgICAgIGlmIHRlc3QgIiRHQ0NfVkVSU0lPTl9NQUpPUiIgLWx0ICI0IiA7
IHRoZW4KKyAgICAgICAgICAgIGRubCBnY2MgPCA0LjAgb25seSBzdXBwb3J0cyBQb3dlclBDLCBP
SyB0byBoYXJkLWNvZGUKKyAgICAgICAgICAgIFRBUkdFVF9BUkNIX0xJQj0iZGFyd2luIgorICAg
ICAgICAgICAgVEFSR0VUX0FSQ0hfSU5DTFVERT0icHBjLWRhcndpbiIKKyAgICAgICAgICAgIFNE
S19DX0lOQ0xVREU9Ii1pc3lzdGVtICR7TkVYVF9ST09UfS91c3IvaW5jbHVkZS9nY2MvZGFyd2lu
LyR7R0NDX1ZFUlNJT059IC1pc3lzdGVtICR7TkVYVF9ST09UfS91c3IvaW5jbHVkZSAtRiR7TkVY
VF9ST09UfS9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIgorICAgICAgICBlbHNlCisgICAgICAg
ICAgICBkbmwgSWYgZ2NjID49IDQsIHVzZSBjcHUtYXBwbGUtZGFyd2luIywgd2hlcmUgIyBpcyB0
aGUgdmVyc2lvbgorICAgICAgICAgICAgZG5sIG9mIHRoZSBEYXJ3aW4gcmVsZWFzZSBjb3JyZXNw
b25kaW5nIHRvIHRoZSB0YXJnZXQgTWFjIE9TIFgKKyAgICAgICAgICAgIGRubCByZWxlYXNlLiAg
Rm9yIE9TIFggPj0gMTAuMS4xLCB0YWtlIHRoZSBtaW5vciB2ZXJzaW9uIG51bWJlciBhbmQKKyAg
ICAgICAgICAgIGRubCBhZGQgNCB0byBnZXQgdGhlIERhcndpbiBtYWpvciB2ZXJzaW9uIG51bWJl
ci4gIElmIGl0IGNhbid0IGJlIAorICAgICAgICAgICAgZG5sIGRldGVybWluZWQsIHVzZSBjdXJy
ZW50IERhcndpbiBtYWpvciB2ZXJzaW9uIG51bWJlciBhbmQgaG9wZQorICAgICAgICAgICAgZG5s
IHRoYXQgdGhlcmUncyBhIHN5bWxpbmsuCisgICAgICAgICAgICBUQVJHRVRfQVJDSF9MSUI9JHt0
YXJnZXRfY3B1fS0ke3RhcmdldF92ZW5kb3J9LWRhcndpbmBlY2hvICRORVhUX1JPT1QgfCAkUEVS
TCAtcGUgJ3MvTWFjT1NYMTBcLihbXGRdKikvLztpZiAoJDEpIHskXz0kMSs0O30gZWxzZSB7JF89
Iicke3RhcmdldF9vc30nIjtzLyhcZCspLy87JF89JDE7fSdgCisgICAgICAgICAgICBUQVJHRVRf
QVJDSF9JTkNMVURFPSRUQVJHRVRfQVJDSF9MSUIKKyAgICAgICAgICAgIFNES19DX0lOQ0xVREU9
Ii1pc3lzdGVtICR7TkVYVF9ST09UfS91c3IvbGliL2djYy8ke1RBUkdFVF9BUkNIX0xJQn0vJHtH
Q0NfVkVSU0lPTl9GVUxMfS9pbmNsdWRlIC1pc3lzdGVtICR7TkVYVF9ST09UfS91c3IvaW5jbHVk
ZSAtRiR7TkVYVF9ST09UfS9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzIgorICAgICAgICBmaQor
CisgICAgICAgIGlmIHRlc3QgLWQgIiR7TkVYVF9ST09UfS9MaWJyYXJ5L0ZyYW1ld29ya3MiIDsg
dGhlbgorICAgICAgICAgICAgU0RLX0NfSU5DTFVERT0iJFNES19DX0lOQ0xVREUgLUYke05FWFRf
Uk9PVH0vTGlicmFyeS9GcmFtZXdvcmtzIgorICAgICAgICBmaQorCisgICAgICAgIENGTEFHUz0i
JENGTEFHUyAtbm9zdGRpbmMgJHtTREtfQ19JTkNMVURFfSIKKworICAgICAgICBkbmwgQ1BQIG5l
ZWRzIHRvIGJlIHNldCBmb3IgQUNfQ0hFQ0tfSEVBREVSLgorICAgICAgICBDUFA9IiRDUFAgLW5v
c3RkaW5jICR7U0RLX0NfSU5DTFVERX0iCisKKyAgICAgICAgT1NfTElCUz0iLUwke05FWFRfUk9P
VH0vdXNyL2xpYi9nY2MvJHtUQVJHRVRfQVJDSF9MSUJ9IC1MJHtORVhUX1JPT1R9L3Vzci9saWIv
Z2NjLyR7VEFSR0VUX0FSQ0hfTElCfS8ke0dDQ19WRVJTSU9OX0ZVTEx9IC1MJHtORVhUX1JPT1R9
L3Vzci9saWIgJE9TX0xJQlMiCisgICAgZmkKKyAgICA7OworCisqLWRndXgqKQorICAgIEFDX0RF
RklORShYUF9VTklYKQorICAgIEFDX0RFRklORShfUFJfTE9DQUxfVEhSRUFEU19PTkxZKQorICAg
IEFDX0RFRklORShTVlI0KQorICAgIEFDX0RFRklORShTWVNWKQorICAgIEFDX0RFRklORShER1VY
KQorICAgIEFDX0RFRklORShfREdVWF9TT1VSQ0UpCisgICAgQUNfREVGSU5FKF9QT1NJWDRBX0RS
QUZUNl9TT1VSQ0UpCisgICAgRFNPX0xET1BUUz0tRworICAgIF9PUFRJTUlaRV9GTEFHUz0tTzIK
KyAgICBfREVCVUdfRkxBR1M9CisgICAgTURDUFVDRkdfSD1fZGd1eC5jZmcKKyAgICBQUl9NRF9D
U1JDUz1kZ3V4LmMKKyAgICA7OworCisqLWZyZWVic2QqKQorICAgIGlmIHRlc3QgLXogIiRVU0Vf
TlNQUl9USFJFQURTIjsgdGhlbgorICAgICAgICBVU0VfUFRIUkVBRFM9MQorICAgIGZpCisgICAg
QUNfREVGSU5FKFhQX1VOSVgpCisgICAgQUNfREVGSU5FKEZSRUVCU0QpCisgICAgQUNfREVGSU5F
KEhBVkVfQlNEX0ZMT0NLKQorICAgIEFDX0RFRklORShIQVZFX1NPQ0tMRU5fVCkKKyAgICBDRkxB
R1M9IiRDRkxBR1MgJChEU09fQ0ZMQUdTKSAtYW5zaSAtV2FsbCIKKyAgICBNT1pfT0JKRk9STUFU
PWB0ZXN0IC14IC91c3IvYmluL29iamZvcm1hdCAmJiAvdXNyL2Jpbi9vYmpmb3JtYXQgfHwgZWNo
byBhb3V0YAorICAgIGlmIHRlc3QgIiRNT1pfT0JKRk9STUFUIiA9ICJlbGYiOyB0aGVuCisgICAg
ICAgIERMTF9TVUZGSVg9c28KKyAgICBlbHNlCisgICAgICAgIERMTF9TVUZGSVg9c28uMS4wCisg
ICAgZmkKKyAgICBNS1NITElCPSckKENDKSAkKERTT19MRE9QVFMpIC1vICRAJworICAgIERTT19D
RkxBR1M9LWZQSUMKKyAgICBEU09fTERPUFRTPSctc2hhcmVkIC1XbCwtc29uYW1lIC1XbCwkKG5v
dGRpciAkQCknCisgICAgTURDUFVDRkdfSD1fZnJlZWJzZC5jZmcKKyAgICBQUl9NRF9DU1JDUz1m
cmVlYnNkLmMKKyAgICA7OworCisqLWhwdXgqKQorICAgIEFDX0RFRklORShYUF9VTklYKQorICAg
IEFDX0RFRklORShIUFVYKQorICAgIEFDX0RFRklORShfSFBVWF9TT1VSQ0UpCisgICAgQUNfREVG
SU5FKGhwcGEpCisgICAgIyBPU0YxIGFuZCBIUFVYIHJlcG9ydCB0aGUgUE9MTEhVUCBldmVudCBm
b3IgYSBzb2NrZXQgd2hlbiB0aGUKKyAgICAjIHNodXRkb3duKFNIVVRfV1IpIG9wZXJhdGlvbiBp
cyBjYWxsZWQgZm9yIHRoZSByZW1vdGUgZW5kLCBldmVuIHRob3VnaAorICAgICMgdGhlIHNvY2tl
dCBpcyBzdGlsbCB3cml0ZWFibGUuIFVzZSBzZWxlY3QoKSwgaW5zdGVhZCBvZiBwb2xsKCksIHRv
CisgICAgIyB3b3JrYXJvdW5kIHRoaXMgcHJvYmxlbS4KKyAgICBBQ19ERUZJTkUoX1BSX1BPTExf
V0lUSF9TRUxFQ1QpCisgICAgQUNfREVGSU5FKF9VU0VfQklHX0ZEUykKKyAgICBETExfU1VGRklY
PXNsCisgICAgRFNPX0xET1BUUz0nLWIgK2ggJChub3RkaXIgJEApJworICAgIFBSX01EX0NTUkNT
PWhwdXguYworICAgIGlmIHRlc3QgIiRPU19URVNUIiAhPSAiaWE2NCI7IHRoZW4KKyAgICAgICAg
UFJfTURfQVNGSUxFUz1vc19IUFVYLnMKKyAgICBmaQorICAgIGlmIHRlc3QgLW4gIiRVU0VfNjQi
OyB0aGVuCisgICAgICAgIE1EQ1BVQ0ZHX0g9X2hwdXg2NC5jZmcKKyAgICBlbHNlCisgICAgICAg
IE1EQ1BVQ0ZHX0g9X2hwdXgzMi5jZmcKKyAgICBmaQorICAgIGlmIHRlc3QgLXogIiRHTlVfQ0Mi
OyB0aGVuCisgICAgICAgIENDPSIkQ0MgLUFlIgorICAgICAgICBDWFg9IiRDWFggLWV4dCIKKyAg
ICAgICAgRFNPX0NGTEFHUz0rWgorICAgIGVsc2UKKyAgICAgICAgRFNPX0NGTEFHUz0tZlBJQwor
ICAgIGZpCisKKyAgICBpZiB0ZXN0IC1uICIkTU9aSUxMQV9DTElFTlQiOyB0aGVuCisgICAgICAg
IERFRkFVTFRfSU1QTF9TVFJBVEVHWT1fRU1VCisgICAgZmkKKworICAgIGlmIGVjaG8gIiRPU19S
RUxFQVNFIiB8IGdyZXAgXkEuMDkgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBBQ19ERUZJTkUo
X1BSX05FRURfSF9FUlJOTykKKyAgICAgICAgQUNfREVGSU5FKEhQVVg5KQorICAgICAgICBERUZB
VUxUX0lNUExfU1RSQVRFR1k9X0VNVQorICAgIAlVU0VfTlNQUl9USFJFQURTPTEKKyAgICBmaQor
CisgICAgaWYgZWNobyAiJE9TX1JFTEVBU0UiIHwgZWdyZXAgJ14oQS4wOXxCLjEwKScgPi9kZXYv
bnVsbDsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoX1BSX05PX0xBUkdFX0ZJTEVTKQorICAgIGZp
CisKKyAgICBpZiBlY2hvICIkT1NfUkVMRUFTRSIgfCBlZ3JlcCAnXihCLjEwLjEwfEIuMTAuMjAp
JyA+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIEFDX0RFRklORShfUFJfTkVFRF9IX0VSUk5PKQor
ICAgIGZpCisKKyAgICBpZiBlY2hvICIkT1NfUkVMRUFTRSIgfCBlZ3JlcCAnXihCLjEwLjEwfEIu
MTAuMjApJyA+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIEFDX0RFRklORShIQVZFX0lOVF9MT0NB
TFRJTUVfUikKKyAgICBmaQorCisgICAgaWYgZWNobyAiJE9TX1JFTEVBU0UiIHwgZWdyZXAgJ14o
Qi4xMC4zMHxCLjExKScgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoSEFWRV9Q
T0lOVEVSX0xPQ0FMVElNRV9SKQorICAgIGZpCisKKyAgICAjIEhQLVVYIDExaSAoQi4xMS4xMSkg
b3IgaGlnaGVyCisgICAgY2hhbmdlcXVvdGUoPDwsPj4pCisgICAgY2FzZSAiJE9TX1JFTEVBU0Ui
IGluCisgICAgW0MtWl0qfEIuWzItOV0qfEIuMVsyLTldKnxCLjExLlsyLTldKnxCLjExLjFbMS05
XSopCisgICAgICAgIFVTRV9JUFY2PTEKKyAgICAgICAgOzsKKyAgICBlc2FjCisgICAgY2hhbmdl
cXVvdGUoWyxdKQorCisgICAgaWYgdGVzdCAiJE9TX1JFTEVBU0UiID0gIkIuMTAuMDEiOyB0aGVu
CisgICAgICAgIEFDX0RFRklORShIUFVYMTApCisgICAgICAgIERFRkFVTFRfSU1QTF9TVFJBVEVH
WT1fRU1VCisgICAgZmkKKworICAgIGlmIHRlc3QgIiRPU19SRUxFQVNFIiA9ICJCLjEwLjEwIjsg
dGhlbgorICAgICAgICBBQ19ERUZJTkUoSFBVWDEwKQorICAgICAgICBBQ19ERUZJTkUoSFBVWDEw
XzEwKQorICAgICAgICBERUZBVUxUX0lNUExfU1RSQVRFR1k9X1BUSAorICAgIGZpCisKKyAgICBp
ZiB0ZXN0ICIkT1NfUkVMRUFTRSIgPSAiQi4xMC4yMCI7IHRoZW4KKyAgICAgICAgQUNfREVGSU5F
KEhQVVgxMCkKKyAgICAgICAgQUNfREVGSU5FKEhQVVgxMF8yMCkKKyAgICAgICAgaWYgdGVzdCAt
eiAiJEdOVV9DQyI7IHRoZW4KKyAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyArREFwb3J0YWJs
ZSArRFMxLjEiCisgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTICtEQXBvcnRhYmxlICtE
UzEuMSIKKyAgICAgICAgZmkKKyAgICAgICAgREVGQVVMVF9JTVBMX1NUUkFURUdZPV9QVEgKKyAg
ICBmaQorCisgICAgaWYgdGVzdCAiJE9TX1JFTEVBU0UiID0gIkIuMTAuMzAiOyB0aGVuCisgICAg
ICAgIEFDX0RFRklORShIUFVYMTApCisgICAgICAgIEFDX0RFRklORShIUFVYMTBfMzApCisgICAg
ICAgIGlmIHRlc3QgLXogIiRHTlVfQ0MiOyB0aGVuCisgICAgICAgICAgICBDRkxBR1M9IiRDRkxB
R1MgK0RBcG9ydGFibGUgK0RTMS4xIgorICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAr
REFwb3J0YWJsZSArRFMxLjEiCisgICAgICAgIGZpCisgICAgICAgIERFRkFVTFRfSU1QTF9TVFJB
VEVHWT1fUFRICisgICAgZmkKKworICAgIGlmIGVjaG8gIiRPU19SRUxFQVNFIiB8IGdyZXAgXkIu
MTEgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoSFBVWDEwKQorICAgICAgICBB
Q19ERUZJTkUoSFBVWDExKQorICAgICAgICBBQ19ERUZJTkUoX0xBUkdFRklMRTY0X1NPVVJDRSkK
KyAgICAgICAgQUNfREVGSU5FKF9QUl9IQVZFX09GRjY0X1QpCisgICAgICAgIEFDX0RFRklORShI
QVZFX0ZDTlRMX0ZJTEVfTE9DS0lORykKKyAgICAgICAgaWYgdGVzdCAteiAiJEdOVV9DQyI7IHRo
ZW4KKyAgICAgICAgICAgIGlmIHRlc3QgLXogIiRVU0VfNjQiOyB0aGVuCisgICAgICAgICAgICAg
ICAgaWYgdGVzdCAiJE9TX1RFU1QiID0gImlhNjQiOyB0aGVuCisgICAgICAgICAgICAgICAgICAg
IENGTEFHUz0iJENGTEFHUyArREQzMiIKKyAgICAgICAgICAgICAgICAgICAgQ1hYRkxBR1M9IiRD
WFhGTEFHUyArREQzMiIKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IENGTEFHUz0iJENGTEFHUyArREFwb3J0YWJsZSArRFMyLjAiCisgICAgICAgICAgICAgICAgICAg
IENYWEZMQUdTPSIkQ1hYRkxBR1MgK0RBcG9ydGFibGUgK0RTMi4wIgorICAgICAgICAgICAgICAg
IGZpCisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaWYgdGVzdCAiJE9TX1RFU1Qi
ID0gImlhNjQiOyB0aGVuCisgICAgICAgICAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyArREQ2
NCIKKyAgICAgICAgICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyArREQ2NCIKKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyArREEy
LjBXICtEUzIuMCIKKyAgICAgICAgICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyArREEy
LjBXICtEUzIuMCIKKyAgICAgICAgICAgICAgICBmaQorICAgICAgICAgICAgZmkKKyAgICAgICAg
ZmkKKyAgICAgICAgREVGQVVMVF9JTVBMX1NUUkFURUdZPV9QVEgKKyAgICBmaQorCisgICAgaWYg
dGVzdCAiJERFRkFVTFRfSU1QTF9TVFJBVEVHWSIgPSAiX0VNVSI7IHRoZW4KKyAgICAgICAgVVNF
X05TUFJfVEhSRUFEUz0xCisgICAgICAgIFVTRV9QVEhSRUFEUz0KKyAgICAgICAgVVNFX1VTRVJf
VEhSRUFEUz0KKyAgICBlbGlmIHRlc3QgIiRERUZBVUxUX0lNUExfU1RSQVRFR1kiID0gIl9QVEgi
OyB0aGVuCisgICAgICAgIFVTRV9QVEhSRUFEUz0xCisgICAgICAgIGlmIHRlc3QgIiRVU0VfTlNQ
Ul9USFJFQURTIjsgdGhlbgorICAgICAgICAgICAgVVNFX1BUSFJFQURTPQorICAgICAgICBmaQor
ICAgICAgICBpZiB0ZXN0ICIkVVNFX1VTRVJfUFRIUkVBRFMiOyB0aGVuCisgICAgICAgICAgICBV
U0VfUFRIUkVBRFM9CisgICAgICAgIGZpCisgICAgZmkKKyAgICA7OworCisqLWlyaXgqKQorICAg
IEFDX0RFRklORShYUF9VTklYKQorICAgIEFDX0RFRklORShJUklYKQorICAgIEFDX0RFRklORShT
VlI0KQorICAgIEFDX0RFRklORShfU0dJX01QX1NPVVJDRSkKKyAgICBBQ19ERUZJTkUoSEFWRV9G
Q05UTF9GSUxFX0xPQ0tJTkcpCisgICAgUFJfTURfQ1NSQ1M9aXJpeC5jCisgICAgUFJfTURfQVNG
SUxFUz1vc19Jcml4LnMKKyAgICBNS1NITElCPSckKExEKSAkKERTT19MRE9QVFMpIC1yZGF0YV9z
aGFyZWQgLXNoYXJlZCAtc29uYW1lICQobm90ZGlyICRAKSAtbyAkQCcKKyAgICBTVFJJUD0iJFNU
UklQIC1mIgorICAgIFJFU09MVkVfTElOS19TWU1CT0xTPTEKKyAgICBpZiB0ZXN0IC1uICIkVVNF
XzY0IjsgdGhlbgorICAgICAgICBNRENQVUNGR19IPV9pcml4NjQuY2ZnCisgICAgZWxzZQorICAg
ICAgICBNRENQVUNGR19IPV9pcml4MzIuY2ZnCisgICAgZmkKKyAgICBjYXNlICIke3RhcmdldF9v
c30iIGluCisgICAgaXJpeDYqKQorICAgICAgICBBQ19ERUZJTkUoSVJJWDYpCisgICAgICAgIFVT
RV9QVEhSRUFEUz0xCisgICAgICAgIFVTRV9OMzI9MQorICAgICAgICBDT01QSUxFUl9UQUc9X24z
MgorICAgICAgICBJTVBMX1NUUkFURUdZPV9QVEgKKyAgICAgICAgOzsKKyAgICBpcml4NSopCisg
ICAgICAgIEFDX0RFRklORShJUklYNSkKKyAgICAgICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAg
ICAgIDs7CisgICAgKikKKyAgICAgICAgVVNFX1BUSFJFQURTPTEKKyAgICAgICAgVVNFX04zMj0x
CisgICAgICAgIDs7CisgICAgZXNhYworICAgIGlmIHRlc3QgIiRHTlVfQ0MiOyB0aGVuCisgICAg
ICAgIGRubAorICAgICAgICBkbmwgSWYgd2UgYXJlIHVzaW5nIGdjYyB3aXRoIG5hdGl2ZSBiaW51
dGlscywgd2UgbmVlZCB0bworICAgICAgICBkbmwgc3VwcHJlc3MgdGhlCisgICAgICAgIGRubCAj
bGluZW5vICJmaWxlbmFtZSIgbnVtIG51bQorICAgICAgICBkbmwgbGluZXMsIHdoaWNoIGNvbmZ1
c2UgSVJJWCBuYXRpdmUgYXMuICBBZGQgLVdwLC1QIHRvIHRoZQorICAgICAgICBkbmwgZ2NjIGNv
bW1hbmQgbGluZSwgd2hpY2ggcGFzc2VzIC1QIHRvIHRoZSBwcmVwcm9jZXNzb3IuCisgICAgICAg
IGRubAorCSAgICBBUz0nJChDQykgLVdwLC1QIC14IGFzc2VtYmxlci13aXRoLWNwcCAtRF9BU00g
LW1pcHMyICQoSU5DTFVERVMpJworCSAgICBDRkxBR1M9IiRDRkxBR1MgLVdhbGwgLVduby1mb3Jt
YXQiCisJICAgIF9PUFRJTUlaRV9GTEFHUz0iLU82IgorICAgIGVsc2UKKwkgICAgaWYgdGVzdCAt
biAiJFVTRV9OMzIiOyB0aGVuCisJCUFTPSdhcyAtRF9BU00gJChJTkNMVURFUykgLW4zMicKKwkg
ICAgZWxzZQorCQlBUz0nYXMgLURfQVNNICQoSU5DTFVERVMpJworCSAgICBmaQorCSAgICBDRkxB
R1M9IiRDRkxBR1MgLWZ1bGx3YXJuIC14YW5zaSIKKwkgICAgaWYgdGVzdCAiJFVTRV9OMzIiOyB0
aGVuCisJICAgICAgICBfT1BUSU1JWkVfRkxBR1M9Ii1PIC1PUFQ6T2xpbWl0PTQwMDAiCisJICAg
IGVsc2UKKwkgICAgICAgIF9PUFRJTUlaRV9GTEFHUz0iLU8gLU9saW1pdCA0MDAwIgorCSAgICBm
aQorCSAgICBpZiB0ZXN0ICIkVVNFX01EVVBEQVRFIjsgdGhlbgorICAgICAgICAgICAgICAgIENG
TEFHUz0iJENGTEFHUyAtTUR1cGRhdGUgXCQoREVQRU5ERU5DSUVTKSIKKwkgICAgZmkKKwkgICAg
Y2FzZSAiJHt0YXJnZXR9IiBpbgorCSAgICAqLWlyaXg2LiopCisJICAgICAgICBDRkxBR1M9IiRD
RkxBR1MgLW11bHRpZ290IgorCSAgICAgICAgRFNPX0xET1BUUz0iLW5vX3VucmVzb2x2ZWQiCisJ
ICAgICAgICBpZiB0ZXN0ICIkVVNFX04zMiI7IHRoZW4KKwkJICAgICAgICBDRkxBR1M9IiRDRkxB
R1MgLW4zMiAtd29mZiAxMjA5IgorCQkgICAgICAgIERTT19MRE9QVFM9IiREU09fTERPUFRTIC1u
MzIiCisJICAgICAgICBlbHNlCisJCSAgICAgICAgaWYgdGVzdCAiJFVTRV82NCI7IHRoZW4KKwkJ
ICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC02NCIKKwkJICAgICAgICBlbHNlCisJCSAgICAg
ICAgICAgIENGTEFHUz0iJENGTEFHUyAtMzIiCisJCSAgICAgICAgZmkKKwkgICAgICAgIGZpCisJ
ICAgICAgICA7OworCSAgICAqKQorCSAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC14Z290IgorCSAg
ICAgICAgOzsKKwkgICAgZXNhYworICAgIGZpCisgICAgaWYgdGVzdCAiJHt0YXJnZXRfb3N9IiA9
ICJpcml4NS4zIjsgdGhlbgorCSAgICBBQ19ERUZJTkUoSVJJWDVfMykKKyAgICBmaQorICAgIGNh
c2UgIiR7dGFyZ2V0X29zfSIgaW4KKwlpcml4Ni41KQorCSAgICBpZiB0ZXN0IC16ICIkR05VX0ND
IjsgdGhlbgorCQkgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1taXBzMyIKKwkgICAgZmkKKwkgICAgQUNf
REVGSU5FKF9QUl9IQVZFX0dFVFBST1RPX1IpCisJICAgIEFDX0RFRklORShfUFJfSEFWRV9HRVRQ
Uk9UT19SX1BPSU5URVIpCisJICAgIEFDX0RFRklORShfUFJfSEFWRV9TR0lfUFJEQV9QUk9DTUFT
SykKKwkgICAgOzsKKwlpcml4NSopCisJICAgIDs7CisJKikKKwkgICAgQUNfREVGSU5FKF9QUl9I
QVZFX1NHSV9QUkRBX1BST0NNQVNLKQorCSAgICA7OworCWVzYWMKKyAgICA7OworCisqLWxpbnV4
KikKKyAgICBpZiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRoZW4KKyAgICAgICAgVVNF
X1BUSFJFQURTPTEKKyAgICAgICAgSU1QTF9TVFJBVEVHWT1fUFRICisgICAgZmkKKyAgICBBQ19E
RUZJTkUoWFBfVU5JWCkKKyAgICBBQ19ERUZJTkUoX1BPU0lYX1NPVVJDRSkKKyAgICBBQ19ERUZJ
TkUoX0JTRF9TT1VSQ0UpCisgICAgQUNfREVGSU5FKF9TVklEX1NPVVJDRSkKKyAgICBBQ19ERUZJ
TkUoX0xBUkdFRklMRTY0X1NPVVJDRSkKKyAgICBBQ19ERUZJTkUoSEFWRV9GQ05UTF9GSUxFX0xP
Q0tJTkcpCisgICAgQUNfREVGSU5FKExJTlVYKQorICAgIENGTEFHUz0iJENGTEFHUyAtYW5zaSAt
V2FsbCIKKyAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1hbnNpIC1XYWxsIgorICAgIE1EQ1BVQ0ZH
X0g9X2xpbnV4LmNmZworICAgIFBSX01EX0NTUkNTPWxpbnV4LmMKKyAgICBNS1NITElCPSckKEND
KSAkKERTT19MRE9QVFMpIC1vICRAJworICAgIERTT19DRkxBR1M9LWZQSUMKKyAgICBEU09fTERP
UFRTPSctc2hhcmVkIC1XbCwtc29uYW1lIC1XbCwkKG5vdGRpciAkQCknCisgICAgX09QVElNSVpF
X0ZMQUdTPS1PMgorICAgIF9ERUJVR19GTEFHUz0iLWcgLWZuby1pbmxpbmUiICAjIG1vc3QgcGVv
cGxlIG9uIGxpbnV4IHVzZSBnY2MvZ2RiLCBhbmQgdGhhdAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAjIGNvbWJvIGlzIG5vdCB5ZXQgZ29vZCBhdCBkZWJ1Z2dpbmcgaW5saW5l
ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZ1bmN0aW9ucyAoZXZlbiB3
aGVuIHVzaW5nIERXQVJGMiBhcyB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIyBkZWJ1Z2dpbmcgZm9ybWF0KQorICAgIENPTVBJTEVSX1RBRz1fZ2xpYmMKKyAgICBpZiBl
Y2hvICIkT1NfVEVTVCIgfCBncmVwIC1jIDg2ID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgQ1BV
X0FSQ0g9eDg2CisgICAgZWxzZQorICAgICAgICBDUFVfQVJDSD0kT1NfVEVTVAorICAgIGZpCisg
ICAgQ1BVX0FSQ0hfVEFHPV8ke0NQVV9BUkNIfQorICAgIGNhc2UgIiR7dGFyZ2V0X2NwdX0iIGlu
CisgICAgYWxwaGEpCisgICAgICAgIEFDX0RFRklORShfQUxQSEFfKQorICAgICAgICBBQ19ERUZJ
TkUoX19hbHBoYSkKKyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1taWVlZSIKKyAgICAgICAgQ1hY
RkxBR1M9IiRDWFhGTEFHUyAtbWllZWUiCisgICAgICAgIDs7CisgICAgaSo4NikKKyAgICAgICAg
QUNfREVGSU5FKGkzODYpCisgICAgICAgIFBSX01EX0FTRklMRVM9b3NfTGludXhfeDg2LnMKKyAg
ICAgICAgOzsKKyAgICBpYTY0KQorICAgICAgICBQUl9NRF9BU0ZJTEVTPW9zX0xpbnV4X2lhNjQu
cworICAgICAgICA7OworICAgIHg4Nl82NCkKKyAgICAgICAgaWYgdGVzdCAtbiAiJFVTRV82NCI7
IHRoZW4KKyAgICAgICAgICAgIFBSX01EX0FTRklMRVM9b3NfTGludXhfeDg2XzY0LnMKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgQUNfREVGSU5FKGkzODYpCisgICAgICAgICAgICBQUl9NRF9B
U0ZJTEVTPW9zX0xpbnV4X3g4Ni5zCisgICAgICAgICAgICBDQz0iJENDIC1tMzIiCisgICAgICAg
ICAgICBDWFg9IiRDWFggLW0zMiIKKyAgICAgICAgZmkKKyAgICAgICAgOzsKKyAgICBwb3dlcnBj
NjQpCisgICAgICAgIGlmIHRlc3QgLW4gIiRVU0VfNjQiOyB0aGVuCisgICAgICAgICAgICBDQz0i
JENDIC1tNjQiCisgICAgICAgICAgICBDWFg9IiRDWFggLW02NCIKKyAgICAgICAgZmkKKyAgICAg
ICAgOzsKKyAgICBtNjhrKQorICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLW02ODAyMC02MCIKKyAg
ICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtbTY4MDIwLTYwIgorICAgICAgICA7OworICAgIGVz
YWMgICAgCisgICAgOzsKKworKi1taW5ndyp8Ki1jeWd3aW4qfCotbXN2Yyp8Ki1ta3MqKQorICAg
IEFDX0RFRklORShYUF9QQykKKyAgICBBQ19ERUZJTkUoV0lOMzIpCisgICAgUFJfTURfQVJDSF9E
SVI9d2luZG93cworICAgIFJFU09MVkVfTElOS19TWU1CT0xTPTEKKworICAgIGlmIHRlc3QgLW4g
IiRHTlVfQ0MiOyB0aGVuCisgICAgICAgIENDPSIkQ0MgLW1uby1jeWd3aW4iCisgICAgICAgIENY
WD0iJENYWCAtbW5vLWN5Z3dpbiIKKyAgICAgICAgRExMX1NVRkZJWD1kbGwKKyAgICAgICAgTUtT
SExJQj0nJChDQykgLXNoYXJlZCAtV2wsLS1leHBvcnQtYWxsLXN5bWJvbHMgLVdsLC0tb3V0LWlt
cGxpYiAtV2wsJChJTVBPUlRfTElCUkFSWSkgJChETExCQVNFKSAtbyAkKHN1YnN0ICQoT0JKRElS
KS8sLCQoU0hBUkVEX0xJQlJBUlkpKScKKyAgICAgICAgUkM9JFdJTkRSRVMKKyAgICAgICAgIyBV
c2UgdGVtcCBmaWxlIGZvciB3aW5kcmVzIChidWcgMjEzMjgxKQorICAgICAgICBSQ0ZMQUdTPSct
TyBjb2ZmIC0tdXNlLXRlbXAtZmlsZScKKyAgICBlbHNlCisgICAgICAgIENDPWNsCisgICAgICAg
IENYWD1jbAorICAgICAgICBMRD1saW5rCisgICAgICAgIEFSPSdsaWIgLU5PTE9HTyAtT1VUOiIk
QCInCisgICAgICAgIEFSX0ZMQUdTPQorICAgICAgICBSQU5MSUI9J2VjaG8gbm90X3JhbmxpYicK
KyAgICAgICAgU1RSSVA9J2VjaG8gbm90X3N0cmlwJworICAgICAgICBSQz1yYy5leGUKKyAgICAg
ICAgR0FSQkFHRT0nJChPQkpESVIpL3ZjMjAucGRiICQoT0JKRElSKS92YzQwLnBkYicKKyAgICAg
ICAgT0JKX1NVRkZJWD1vYmoKKyAgICAgICAgTElCX1NVRkZJWD1saWIKKyAgICAgICAgRExMX1NV
RkZJWD1kbGwKKworICAgICAgICAjIERldGVybWluZSBjb21waWxlciB2ZXJzaW9uCisgICAgICAg
IENDX1ZFUlNJT049YCIke0NDfSIgLXYgMj4mMSB8IGdyZXAgVmVyc2lvbiB8IHNlZCAtZSAnc3wu
KiBWZXJzaW9uIHx8JyAtZSAnc3wgLip8fCdgCisgICAgICAgIF9DQ19NQUpPUl9WRVJTSU9OPWBl
Y2hvICRDQ19WRVJTSU9OIHwgYXdrIC1GXC4gJ3sgcHJpbnQgJDEgfSdgCisgICAgICAgIF9DQ19N
SU5PUl9WRVJTSU9OPWBlY2hvICRDQ19WRVJTSU9OIHwgYXdrIC1GXC4gJ3sgcHJpbnQgJDIgfSdg
CisgICAgICAgIE1TQ19WRVI9JHtfQ0NfTUFKT1JfVkVSU0lPTn0ke19DQ19NSU5PUl9WRVJTSU9O
fQorICAgICAgICAKKyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XMyAtbm9sb2dvIC1HRiAtR3ki
CisgICAgICAgIERMTEZMQUdTPSctT1VUOiIkQCInCisgICAgICAgIF9ERUJVR19GTEFHUz0tWjcK
KyAgICAgICAgX09QVElNSVpFX0ZMQUdTPS1PMgorICAgICAgICBpZiB0ZXN0IC16ICIkTU9aX09Q
VElNSVpFIjsgdGhlbgorICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1PZCIKKyAgICAgICAg
ZmkKKworICAgICAgICBpZiB0ZXN0IC1uICIkVVNFX0RFQlVHX1JUTCI7IHRoZW4KKyAgICAgICAg
ICAgIENGTEFHUz0iJENGTEFHUyAtTURkIgorICAgICAgICBlbHNlCisgICAgICAgICAgICBDRkxB
R1M9IiRDRkxBR1MgLU1EIgorICAgICAgICBmaQorCisgICAgICAgIGlmIHRlc3QgLW4gIiRNT1pf
REVCVUciOyB0aGVuCisgICAgICAgICAgICBBQ19ERUZJTkUoX0RFQlVHKQorICAgICAgICBlbHNl
CisgICAgICAgICAgICBERUZJTkVTPSIkREVGSU5FUyAtVV9ERUJVRyIKKyAgICAgICAgZmkKKwor
ICAgICAgICBpZiB0ZXN0IC1uICIkTU9aX09QVElNSVpFIjsgdGhlbgorICAgICAgICAgICAgaWYg
dGVzdCAtbiAiJE1PWl9QUk9GSUxFIjsgdGhlbgorICAgICAgICAgICAgICAgIF9PUFRJTUlaRV9G
TEFHUz0iJF9PUFRJTUlaRV9GTEFHUyAtWjciCisgICAgICAgICAgICBmaQorICAgICAgICAgICAg
aWYgdGVzdCAtbiAiJE1PWl9ERUJVR19TWU1CT0xTIjsgdGhlbgorICAgICAgICAgICAgICAgIF9P
UFRJTUlaRV9GTEFHUz0iJF9PUFRJTUlaRV9GTEFHUyAtWmkiCisgICAgICAgICAgICBmaQorICAg
ICAgICAgICAgaWYgdGVzdCAtbiAiJE1PWl9QUk9GSUxFIiAtbyAtbiAiJE1PWl9ERUJVR19TWU1C
T0xTIjsgdGhlbgorICAgICAgICAgICAgICAgIERMTEZMQUdTPSIkRExMRkxBR1MgLURFQlVHIC1P
UFQ6UkVGIgorICAgICAgICAgICAgICAgIExERkxBR1M9IiRMREZMQUdTIC1ERUJVRyAtT1BUOlJF
RiIKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisKKyAgICAgICAgaWYgdGVzdCAtbiAiJE1P
Wl9ERUJVRyI7IHRoZW4KKyAgICAgICAgICAgIERMTEZMQUdTPSIkRExMRkxBR1MgLURFQlVHIgor
ICAgICAgICAgICAgTERGTEFHUz0iJExERkxBR1MgLURFQlVHIgorICAgICAgICBmaQorCisgICAg
ICAgIE9TX0RMTEZMQUdTPSItbm9sb2dvIC1ETEwgLVNVQlNZU1RFTTpXSU5ET1dTIgorICAgICAg
ICBpZiB0ZXN0ICIkTVNDX1ZFUiIgLWxlICIxMjAwIiAtYSAteiAiJE1PWl9ERUJVR19TWU1CT0xT
IjsgdGhlbgorICAgICAgICAgICAgT1NfRExMRkxBR1M9IiRPU19ETExGTEFHUyAtUERCOk5PTkUi
CisgICAgICAgIGZpCisgICAgICAgIAorICAgICAgICBpZiB0ZXN0ICIkT1NfVEFSR0VUIiA9ICJX
SU5OVCI7IHRoZW4KKyAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyAtR1QiCisgICAgICAgICAg
ICBpZiB0ZXN0ICIkQ1BVX0FSQ0giID0gIng4NiI7IHRoZW4KKyAgICAgICAgICAgICAgICBDRkxB
R1M9IiRDRkxBR1MgLUc1IgorICAgICAgICAgICAgZmkKKyAgICAgICAgICAgIExJQk5TUFI9JyQo
ZGlzdF9saWJkaXIpL2xpYm5zcHIkKE1PRF9NQUpPUl9WRVJTSU9OKS4kKExJQl9TVUZGSVgpJwor
ICAgICAgICAgICAgTElCUExDPSckKGRpc3RfbGliZGlyKS9saWJwbGMkKE1PRF9NQUpPUl9WRVJT
SU9OKS4kKExJQl9TVUZGSVgpJworICAgICAgICBlbHNlCisgICAgICAgICAgICBMSUJOU1BSPSck
KGRpc3RfbGliZGlyKS9uc3ByJChNT0RfTUFKT1JfVkVSU0lPTikuJChMSUJfU1VGRklYKScKKyAg
ICAgICAgICAgIExJQlBMQz0nJChkaXN0X2xpYmRpcikvcGxjJChNT0RfTUFKT1JfVkVSU0lPTiku
JChMSUJfU1VGRklYKScKKyAgICAgICAgZmkKKyAgICBmaSAjIEdOVV9DQworCisgICAgaWYgdGVz
dCAtbiAiJFVTRV9TVEFUSUNfVExTIjsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoX1BSX1VTRV9T
VEFUSUNfVExTKQorICAgIGZpCisKKyAgICBpZiB0ZXN0ICIkT1NfVEFSR0VUIiA9ICJXSU5OVCI7
IHRoZW4KKyAgICAgICAgQUNfREVGSU5FKFdJTk5UKQorICAgIGVsc2UKKyAgICAgICAgQUNfREVG
SU5FKFdJTjk1KQorICAgICAgICAjIHVuZGVmaW5lIFdJTk5UIGFzIHNvbWUgdmVyc2lvbnMgb2Yg
bWluZ3cgZ2NjIGRlZmluZSBpdCBieSBkZWZhdWx0CisgICAgICAgIERFRklORVM9IiRERUZJTkVT
IC1VV0lOTlQiCisgICAgICAgIEFDX0RFRklORShfUFJfR0xPQkFMX1RIUkVBRFNfT05MWSkKKyAg
ICBmaQorCisgICAgaWYgdGVzdCAiJENQVV9BUkNIIiA9ICJ4ODYiOyB0aGVuCisgICAgICAgIENQ
VV9BUkNIX1RBRz0KKyAgICBlbHNlCisgICAgICAgIENQVV9BUkNIX1RBRz0kQ1BVX0FSQ0gKKyAg
ICBmaQorCisgICAgaWYgdGVzdCAtbiAiJFVTRV9ERUJVR19SVEwiOyB0aGVuCisgICAgICAgIE9C
SkRJUl9TVUZGSVg9T0JKRAorICAgIGZpCisKKyAgICBjYXNlICIkT1NfVEFSR0VUIiBpbgorICAg
IFdJTk5UKQorCSAgICBNRENQVUNGR19IPV93aW5udC5jZmcKKwkgICAgOzsKKyAgICBXSU45NSkK
KwkgICAgTURDUFVDRkdfSD1fd2luOTUuY2ZnCisJICAgIDs7CisgICAgV0lOMTYpCisJICAgIE1E
Q1BVQ0ZHX0g9X3dpbjE2LmNmZworCSAgICA7OworICAgICopCisJICAgIEFDX01TR19FUlJPUihb
TWlzc2luZyBPU19UQVJHRVQgZm9yICR7dGFyZ2V0fS4gIFVzZSAtLWVuYWJsZS13aW4zMi10YXJn
ZXQgdG8gc2V0Ll0pCisgICAJOzsKKyAgICBlc2FjCisKKyAgICBjYXNlICIkdGFyZ2V0X2NwdSIg
aW4KKyAgICBpKjg2KQorCSAgICBBQ19ERUZJTkUoX1g4Nl8pCisgICAgICAgIDs7CisgICAgYWxw
aGEpCisJICAgIEFDX0RFRklORShfQUxQSEFfKQorICAgCSAgICA7OworICAgIG1pcHMpCisJICAg
IEFDX0RFRklORShfTUlQU18pCisJICAgIDs7CisgICAgKikKKwkgICAgQUNfREVGSU5FKF9DUFVf
QVJDSF9OT1RfREVGSU5FRCkKKwkgICAgOzsKKyAgICBlc2FjCisKKyAgICA7OworCisqLW5jci1z
eXN2KikKKyAgICBBQ19ERUZJTkUoWFBfVU5JWCkKKyAgICBBQ19ERUZJTkUoU1ZSNCkKKyAgICBB
Q19ERUZJTkUoU1lTVikKKyAgICBBQ19ERUZJTkUoTkNSKQorICAgIFVTRV9OU1BSX1RIUkVBRFM9
MQorICAgIGlmIHRlc3QgIiRPU19SRUxFQVNFIiA9ICIyLjAzIjsgdGhlbgorICAgICAgICBBQ19E
RUZJTkUoX1BSX1NUQVRfSEFTX1NUX0FUSU0pCisgICAgZWxzZQorICAgICAgICBBQ19ERUZJTkUo
X1BSX1NUQVRfSEFTX1NUX0FUSU1fVU5JT04pCisgICAgZmkKKworICAgIGlmIHRlc3QgLXogIiRH
TlVfQ0MiOyB0aGVuCisgICAgICAgIENGTEFHUz0iJENGTEFHUyAtSG5vY29weXIiCisgICAgICAg
IENYWEZMQUdTPSIkQ1hYRkxBR1MgLUhub2NvcHlyIgorICAgIGVsc2UKKyAgICAgICAgQ0ZMQUdT
PSIkQ0ZMQUdTIC1mUElDIC1XYWxsIgorICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1mUElD
IC1XYWxsIgorICAgICAgICBEU09fTERPUFRTPS1HCisgICAgZmkKKyAgICBNRENQVUNGR19IPV9u
Y3IuY2ZnCisgICAgUFJfTURfQ1NSQ1M9bmNyLmMKKyAgICA7OworCittaXBzLW5lYy1zeXN2KikK
KyAgICBBQ19ERUZJTkUoWFBfVU5JWCkKKyAgICBBQ19ERUZJTkUoU1ZSNCkKKyAgICBBQ19ERUZJ
TkUoX19TVlI0KQorICAgIEFDX0RFRklORShORUMpCisgICAgQUNfREVGSU5FKG5lY19ld3MpCisg
ICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAgaWYgdGVzdCAteiAiJEdOVV9DQyI7IHRoZW4KKyAg
ICAgICAgQ0M9JyQoTlNERVBUSCkvYnVpbGQvaGNjIGNjIC1YYSAtS0dudW09MCAtS09saW1pdD00
MDAwJworICAgICAgICBDWFg9ZysrCisgICAgZmkKKyAgICBPU19MSUJTPSIkT1NfTElCUyAtbHNv
Y2tldCAtbG5zbCAtbGRsIgorICAgIERTT19MRE9QVFM9LUcKKyAgICBNRENQVUNGR19IPV9uZWMu
Y2ZnCisgICAgUFJfTURfQ1NSQ1M9bmVjLmMKKyAgICA7OworCisqLW5ldGJzZCopCisgICAgQUNf
REVGSU5FKFhQX1VOSVgpCisgICAgQUNfREVGSU5FKE5FVEJTRCkKKyAgICBBQ19ERUZJTkUoSEFW
RV9CU0RfRkxPQ0spCisgICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAgTURDUFVDRkdfSD1fbmV0
YnNkLmNmZworICAgIFBSX01EX0NTUkNTPW5ldGJzZC5jCisKKyAgICBEU09fQ0ZMQUdTPSctZlBJ
QyAtRFBJQycKKyAgICBDRkxBR1M9IiRDRkxBR1MgLWFuc2kgLVdhbGwiCisgICAgQ1hYRkxBR1M9
IiRDWFhGTEFHUyAtYW5zaSAtV2FsbCIKKyAgICBNS1NITElCPSckKENDKSAtbyAkQCAkKERTT19M
RE9QVFMpJworCisgICAgaWYgdGVzdCAteiAiJE9CSkVDVF9GTVQiOyB0aGVuCisgICAgICAgIGlm
IGVjaG8gX19FTEZfXyB8ICR7Q0MtY2N9IC1FIC0gfCBncmVwIC1xIF9fRUxGX18gMj4vZGV2L251
bGw7IHRoZW4KKyAgICAgICAgICAgIE9CSkVDVF9GTVQ9YS5vdXQKKyAgICAgICAgICAgIERMTF9T
VUZGSVg9c28uMS4wCisgICAgICAgICAgICBEU09fTERPUFRTPSctc2hhcmVkJworICAgICAgICBl
bHNlCisgICAgICAgICAgICBPQkpFQ1RfRk1UPUVMRgorICAgICAgICAgICAgRExMX1NVRkZJWD1z
bworICAgICAgICAgICAgRFNPX0xET1BUUz0nLXNoYXJlZCAtV2wsLXNvbmFtZSwkKG5vdGRpciAk
QCknCisgICAgICAgIGZpCisgICAgZmkKKworICAgIGlmIHRlc3QgIiRMSUJSVU5QQVRIIjsgdGhl
bgorICAgICAgICBEU09fTERPUFRTPSIkRFNPX0xET1BUUyAtV2wsLVIkTElCUlVOUEFUSCIKKyAg
ICBmaQorICAgIDs7CisKK21pcHMtc29ueS1uZXdzb3MqKQorICAgIEFDX0RFRklORShYUF9VTklY
KQorICAgIEFDX0RFRklORShTT05ZKQorICAgIEFDX0RFRklORShTWVNWKQorICAgIEFDX0RFRklO
RShTVlI0KQorICAgIEFDX0RFRklORShfX3N2cjQpCisgICAgQUNfREVGSU5FKF9fc3ZyNF9fKQor
ICAgIEFDX0RFRklORShIQVZFX1NWSURfR0VUVE9EKQorICAgIFVTRV9OU1BSX1RIUkVBRFM9MQor
ICAgIENGTEFHUz0iJENGTEFHUyAtWGEgLWZ1bGx3YXJuIgorICAgIENYWEZMQUdTPSIkQ1hYRkxB
R1MgLVhhIC1mdWxsd2FybiIKKyAgICBEU09fTERPUFRTPS1HCisgICAgTURDUFVDRkdfSD1fc29u
eS5jZmcKKyAgICBQUl9NRF9DU1JDUz1zb255LmMKKyAgICA7OworCisqLW5leHRzdGVwKnwqLW9w
ZW5zdGVwKikKKyAgICBBQ19ERUZJTkUoWFBfVU5JWCkKKyAgICBBQ19ERUZJTkUoTkVYVFNURVAp
CisgICAgQUNfREVGSU5FKEhBVkVfQlNEX0ZMT0NLKQorICAgIEFDX0RFRklORShfUE9TSVhfU09V
UkNFKQorICAgIENGTEFHUz0iJENGTEFHUyAtV2FsbCAtZm5vLWNvbW1vbiAtdHJhZGl0aW9uYWwt
Y3BwIC1wb3NpeCIKKyAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XYWxsIC1mbm8tY29tbW9uIC10
cmFkaXRpb25hbC1jcHAgLXBvc2l4IgorICAgIFVTRV9OU1BSX1RIUkVBRFM9MQorICAgIERMTF9T
VUZGSVg9ZHlsaWIKKyAgICBNRENQVUNGR19IPV9uZXh0c3RlcC5jZmcKKyAgICBQUl9NRF9DU1JD
Uz1uZXh0c3RlcC5jCisgICAgOzsKKworCisqLW50byopCisgICAgQUNfREVGSU5FKFhQX1VOSVgp
CisgICAgQUNfREVGSU5FKE5UTykKKyAgICBBQ19ERUZJTkUoX1FOWF9TT1VSQ0UpCisgICAgQUNf
REVGSU5FKEhBVkVfUE9JTlRFUl9MT0NBTFRJTUVfUikKKyAgICBNRENQVUNGR19IPV9udG8uY2Zn
CisgICAgUFJfTURfQ1NSQ1M9bnRvLmMKKyAgICBNS1NITElCPSckKENDKSAkKERTT19MRE9QVFMp
IC1XbCwtc29uYW1lIC1XbCwkKG5vdGRpciAkQCkgLW8gJEAnCisgICAgRFNPX0NGTEFHUz0tZlBJ
QworICAgIERTT19MRE9QVFM9LXNoYXJlZAorICAgIE9TX0xJQlM9IiRPU19MSUJTIC1sc29ja2V0
IgorICAgIF9PUFRJTUlaRV9GTEFHUz0iLU8xIgorICAgIF9ERUJVR19GTEFHUz0iLWdzdGFicyIK
Kwk7OworCisqLW9wZW5ic2QqKQorICAgIEFDX0RFRklORShYUF9VTklYKQorICAgIEFDX0RFRklO
RShPUEVOQlNEKQorICAgIEFDX0RFRklORShIQVZFX0JTRF9GTE9DSykKKyAgICBBQ19ERUZJTkUo
SEFWRV9TT0NLTEVOX1QpCisgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1hbnNpIC1XYWxsIgorICAgIENY
WEZMQUdTPSIkQ1hYRkxBR1MgLWFuc2kgLVdhbGwiCisgICAgRExMX1NVRkZJWD1zby4xLjAKKyAg
ICBEU09fQ0ZMQUdTPS1mUElDCisgICAgTURDUFVDRkdfSD1fb3BlbmJzZC5jZmcKKyAgICBQUl9N
RF9DU1JDUz1vcGVuYnNkLmMKKyAgICBpZiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRo
ZW4KKyAgICAgICAgVVNFX1BUSFJFQURTPTEKKyAgICBmaQorICAgIERTT19MRE9QVFM9Jy1zaGFy
ZWQgLWZQSUMnCisgICAgTUtTSExJQj0nJChDQykgJChEU09fTERPUFRTKSAtbyAkQCcKKyAgICA7
OworCisqLW9wZW52bXMqKQorICAgIEFDX0RFRklORShYUF9VTklYKQorICAgIEFDX0RFRklORShW
TVMpCisgICAgQUNfREVGSU5FKFBSX0dFVElQTk9ERV9OT1RfVEhSRUFEU0FGRSkKKyAgICBSRVNP
TFZFX0xJTktfU1lNQk9MUz0xCisgICAgQVJfRkxBR1M9J2MgJEAnCisgICAgTURDUFVDRkdfSD1f
b3BlbnZtcy5jZmcKKyAgICBQUl9NRF9DU1JDUz1vcGVudm1zLmMKKyAgICBEU09fTERPUFRTPSct
c2hhcmVkIC1hdXRvX3N5bXZlYyAkKExERkxBR1MpJworICAgIGlmIHRlc3QgLW4gIiRNT1pfREVC
VUciOyB0aGVuCisgICAgICBEU09fTERPUFRTPSIkRFNPX0xET1BUUyAkX0RFQlVHX0ZMQUdTIgor
ICAgIGVsc2UKKyAgICAgIERTT19MRE9QVFM9IiREU09fTERPUFRTICRfT1BUSU1JWkVfRkxBR1Mi
CisgICAgZmkKKyAgICA7OworCisqLW9zZiopCisgICAgU0hFTExfT1ZFUlJJREU9IlNIRUxMCQk9
IC91c3IvYmluL2tzaCIKKyAgICBBQ19ERUZJTkUoWFBfVU5JWCkKKyAgICBBQ19ERUZJTkUoT1NG
MSkKKyAgICBBQ19ERUZJTkUoX1JFRU5UUkFOVCkKKyAgICAjIE9TRjEgYW5kIEhQVVggcmVwb3J0
IHRoZSBQT0xMSFVQIGV2ZW50IGZvciBhIHNvY2tldCB3aGVuIHRoZQorICAgICMgc2h1dGRvd24o
U0hVVF9XUikgb3BlcmF0aW9uIGlzIGNhbGxlZCBmb3IgdGhlIHJlbW90ZSBlbmQsIGV2ZW4gdGhv
dWdoCisgICAgIyB0aGUgc29ja2V0IGlzIHN0aWxsIHdyaXRlYWJsZS4gVXNlIHNlbGVjdCgpLCBp
bnN0ZWFkIG9mIHBvbGwoKSwgdG8KKyAgICAjIHdvcmthcm91bmQgdGhpcyBwcm9ibGVtLgorICAg
IEFDX0RFRklORShfUFJfUE9MTF9XSVRIX1NFTEVDVCkKKworICAgIGlmIGVjaG8gIiRPU19SRUxF
QVNFIiB8IGVncmVwIC1jICcoVjIuMHxWMy4yKScgMj4vZGV2L251bGwgOyB0aGVuCisgICAgICAg
IFVTRV9OU1BSX1RIUkVBRFM9MQorICAgIGZpCisKKyAgICBpZiB0ZXN0IC16ICIkR05VX0NDIjsg
dGhlbgorICAgICAgICBDQz0iJENDIC1zdGQxIC1pZWVlX3dpdGhfaW5leGFjdCIKKyAgICAgICAg
aWYgdGVzdCAiJE9TX1JFTEVBU0UiICE9ICJWMi4wIjsgdGhlbgorICAgICAgICAgICAgQ0M9IiRD
QyAtcmVhZG9ubHlfc3RyaW5ncyIKKyAgICAgICAgZmkKKyAgICAgICAgX09QVElNSVpFX0ZMQUdT
PSIkX09QVElNSVpFX0ZMQUdTIC1PbGltaXQgNDAwMCIKKyAgICAgICAgQUNfQ0hFQ0tfSEVBREVS
KG1hY2hpbmUvYnVpbHRpbnMuaCwgQUNfREVGSU5FKE9TRjFfSEFWRV9NQUNISU5FX0JVSUxUSU5T
X0gpKQorICAgIGVsc2UKKyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1taWVlZSIKKyAgICAgICAg
Q1hYRkxBR1M9IiRDWFhGTEFHUyAtbWllZWUiCisgICAgZmkKKworICAgIGlmIGVjaG8gJE9TX1JF
TEVBU0UgfCBlZ3JlcCAtYyAnKFYyLjB8VjMuMiknIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAg
IEFDX0RFRklORShIQVZFX0lOVF9MT0NBTFRJTUVfUikKKyAgICBlbHNlCisgICAgICAgIEFDX0RF
RklORShIQVZFX0ZDTlRMX0ZJTEVfTE9DS0lORykKKyAgICAgICAgQUNfREVGSU5FKEhBVkVfUE9J
TlRFUl9MT0NBTFRJTUVfUikKKyAgICBmaQorICAgIGlmIGVjaG8gJE9TX1JFTEVBU0UgfCBncmVw
IC1jIFY0LjAgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoT1NGMVY0X01BUF9Q
UklWQVRFX0JVRykKKyAgICBmaQorICAgIERTT19MRE9QVFM9Jy1zaGFyZWQgLWFsbCAtZXhwZWN0
X3VucmVzb2x2ZWQgIioiIC1zb25hbWUgJChub3RkaXIgJEApJworICAgIE1EQ1BVQ0ZHX0g9X29z
ZjEuY2ZnCisgICAgUFJfTURfQ1NSQ1M9b3NmMS5jCisgICAgOzsKKworKi1xbngqKQorICAgIEFD
X0RFRklORShYUF9VTklYKQorICAgIEFDX0RFRklORShRTlgpCisgICAgQUNfREVGSU5FKF9QUl9O
RUVEX0hfRVJSTk8pCisgICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAgTURDUFVDRkdfSD1fcW54
LmNmZworICAgIFBSX01EX0NTUkNTPXFueC5jCisgICAgOzsKKworKi1yaXNjb3MqKQorICAgIEFD
X0RFRklORShYUF9VTklYKQorICAgIEFDX0RFRklORShSSVNDT1MpCisgICAgQUNfREVGSU5FKF9Q
Ul9ORUVEX0hfRVJSTk8pCisgICAgVVNFX1BUSFJFQURTPTEKKyAgICBNRENQVUNGR19IPV9yaXNj
b3MuY2ZnCisgICAgUFJfTURfQ1NSQ1M9cmlzY29zLmMKKyAgICBETExfU1VGRklYPWEKKyAgICBM
RD0iL2hvbWUvcmlzY29zL2Vudi9yby1hciBjciIKKyAgICA7OworCisqLSotc2NvKikKKyAgICBB
Q19ERUZJTkUoWFBfVU5JWCkKKyAgICBBQ19ERUZJTkUoU0NPKQorICAgIEFDX0RFRklORShzY28p
CisgICAgQUNfREVGSU5FKFNZU1YpCisgICAgQUNfREVGSU5FKF9TVklEMykKKyAgICBBQ19ERUZJ
TkUoX1BSX05FRURfSF9FUlJOTykKKyAgICBDQz0nY2MgLWIgZWxmIC1LUElDJworICAgIENYWD0n
JChOU0RFUFRIKS9idWlsZC9oY3BwIENDICsuY3BwICt3JworICAgIFVTRV9OU1BSX1RIUkVBRFM9
MQorICAgIENQVV9BUkNIPXg4NgorICAgIERTT19MRE9QVFM9Jy1iIGVsZiAtRycKKyAgICBNRENQ
VUNGR19IPV9zY29vcy5jZmcKKyAgICBQUl9NRF9TUkNTPXNjb29zLmMKKyAgICA7OworCisqLXNp
bml4KikKKyAgICBBQ19ERUZJTkUoWFBfVU5JWCkKKyAgICBBQ19ERUZJTkUoU1ZSNCkKKyAgICBB
Q19ERUZJTkUoU05JKQorICAgIEFDX0RFRklORShSRUxJQU5UVU5JWCkKKyAgICBBQ19ERUZJTkUo
c2luaXgpCisgICAgQUNfREVGSU5FKEhBVkVfU1ZJRF9HRVRUT0QpCisgICAgaWYgZWNobyAiJE9T
X1RFU1QiIHwgZ3JlcCAtYyA4NiAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBBQ19ERUZJTkUo
aTM4NikKKyAgICAgICAgQ1BVX0FSQ0g9eDg2CisgICAgZWxzZQorICAgICAgICBDUFVfQVJDSD1t
aXBzCisgICAgZmkKKworICAgIGlmIHRlc3QgIiRHTlVfQ0MiOyB0aGVuCisgICAgICAgIEFTPSck
KENDKSAteCBhc3NlbWJsZXItd2l0aC1jcHAnCisgICAgICAgIGlmIHRlc3QgIiRDUFVfQVJDSCIg
PSAibWlwcyI7IHRoZW4KKyAgICAgICAgICAgIExEPWdsZAorICAgICAgICBmaQorICAgICAgICBD
RkxBR1M9IiRDRkxBR1MgLVdhbGwgLVduby1mb3JtYXQiCisgICAgZWxzZQorICAgICAgICBBUz0n
L3Vzci9iaW4vY2MnCisgICAgICAgIF9PUFRJTUlaRV9GTEFHUz0nLU8gLUYgT2xpbWl0LDQwMDAn
CisgICAgZmkKKworICAgIERTT19MRE9QVFM9Jy1HIC16IGRlZnMgLWggJChAOiQoT0JKRElSKS8l
LnNvPSUuc28pJworCisgICAgaWYgdGVzdCAiJE9TX1JFTEVBU0UiID0gIjUuNDMiOyB0aGVuCisg
ICAgICAgIEFDX0RFRklORShJUF9NVUxUSUNBU1QpCisgICAgZmkKKworICAgIE9TX0xJQlM9IiRP
U19MSUJTIC1sc29ja2V0IC1sbnNsIC1scmVzb2x2IC1sZGwgLWxjIgorICAgIFVTRV9OU1BSX1RI
UkVBRFM9MQorICAgIE1EQ1BVQ0ZHX0g9X3JlbGlhbnR1bml4LmNmZworICAgIFBSX01EX0NTUkNT
PXJlbGlhbnR1bml4LmMKKyAgICBpZiB0ZXN0ICIke09TX0FSQ0h9IiA9ICJtaXBzIjsgdGhlbgor
ICAgICAgICBQUl9NRF9BU0ZJTEVTPW9zX1JlbGlhbnRVTklYLnMKKyAgICBmaQorICAgIDs7CisK
Kyotc3Vub3MqKQorICAgIEFDX0RFRklORShYUF9VTklYKQorICAgIEFDX0RFRklORShTVU5PUzQp
CisgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XYWxsIC1Xbm8tZm9ybWF0IgorICAgIGlmIHRlc3QgIiRV
U0VfTURVUERBVEUiOyB0aGVuCisgICAgICAgIENGTEFHUz0iJENGTEFHUyAtTUR1cGRhdGUgXCQo
REVQRU5ERU5DSUVTKSIKKyAgICBmaQorICAgIENQVV9BUkNIPXNwYXJjCisgICAgRExMX1NVRkZJ
WD1zby4xLjAKKyAgICBEU09fTERPUFRTPQorICAgIERTT19DRkxBR1M9LWZQSUMKKyAgICBVU0Vf
TlNQUl9USFJFQURTPTEKKyAgICBpZiB0ZXN0ICIkT1NfUkVMRUFTRSIgPSAiNC4xLjNfVTEiOyB0
aGVuCisgICAgICAgIF9PUFRJTUlaRV9GTEFHUz0KKyAgICAgICAgT1NfTElCUz0iJE9TX0xJQlMg
LWxtIgorICAgIGZpCisgICAgTURDUFVDRkdfSD1fc3Vub3M0LmNmZworICAgIFBSX01EX0NTUkNT
PXN1bm9zNC5jCisgICAgOzsKKworKi1zb2xhcmlzKikKKyAgICBpZiB0ZXN0IC16ICIkVVNFX1VT
RVJfVEhSRUFEUyIgJiYgdGVzdCAteiAiJFVTRV9OQVRJVkVfVEhSRUFEUyI7IHRoZW4KKyAgICAg
ICAgVVNFX1BUSFJFQURTPTEKKyAgICBmaQorICAgIEFDX0RFRklORShYUF9VTklYKQorICAgIEFD
X0RFRklORShTVlI0KQorICAgIEFDX0RFRklORShTWVNWKQorICAgIEFDX0RFRklORShfX3N2cjQp
CisgICAgQUNfREVGSU5FKF9fc3ZyNF9fKQorICAgIEFDX0RFRklORShTT0xBUklTKQorICAgIEFD
X0RFRklORShIQVZFX0ZDTlRMX0ZJTEVfTE9DS0lORykKKyAgICBNRENQVUNGR19IPV9zb2xhcmlz
LmNmZworICAgIFBSX01EX0NTUkNTPXNvbGFyaXMuYworICAgIExEPS91c3IvY2NzL2Jpbi9sZAor
ICAgIE1LU0hMSUI9JyQoQ0MpICQoRFNPX0xET1BUUykgLW8gJEAnCisgICAgUkVTT0xWRV9MSU5L
X1NZTUJPTFM9MQorICAgIGlmIHRlc3QgLW4gIiRHTlVfQ0MiOyB0aGVuCisgICAgICAgIERTT19D
RkxBR1M9LWZQSUMKKyAgICAgICAgaWYgYCRDQyAtcHJpbnQtcHJvZy1uYW1lPWxkYCAtdiAyPiYx
IHwgZ3JlcCAtYyBHTlUgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgR0NDX1VTRV9HTlVf
TEQ9MQorICAgICAgICBmaQorICAgICAgICBEU09fTERPUFRTPSctc2hhcmVkIC1XbCwtaCwkKG5v
dGRpciAkQCksLXosY29tYnJlbG9jLC16LGRlZnMnIAorICAgIGVsc2UKKyAgICAgICAgRFNPX0NG
TEFHUz0tS1BJQworICAgICAgICBEU09fTERPUFRTPSctRyAtaCAkKG5vdGRpciAkQCkgLXogY29t
YnJlbG9jIC16IGRlZnMnCisgICAgZmkKKyAgICBpZiB0ZXN0IC1uICIkR05VX0NDIjsgdGhlbgor
ICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLVdhbGwiCisgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxB
R1MgLVdhbGwiCisgICAgICAgIGlmIHRlc3QgLW4gIiRVU0VfTURVUERBVEUiOyB0aGVuCisgICAg
ICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLU1EdXBkYXRlIFwkKERFUEVOREVOQ0lFUykiCisgICAg
ICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1NRHVwZGF0ZSBcJChERVBFTkRFTkNJRVMpIgor
ICAgICAgICBmaQorICAgICAgICBHQ0NfQVM9YCRDQyAtcHJpbnQtcHJvZy1uYW1lPWFzYAorICAg
ICAgICBpZiB0ZXN0ICJgZWNobyB8ICRHQ0NfQVMgLXYgMj4mMSB8IGdyZXAgLWMgR05VYCIgIT0g
IjAiOyB0aGVuCisgICAgICAgICAgICBHTlVfQVM9MQorICAgICAgICBmaQorICAgIGVsc2UKKyAg
ICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC14c3RyY29uc3QiCisgICAgICAgIENYWEZMQUdTPSIkQ1hY
RkxBR1MgLVFvcHRpb24gY2cgLXhzdHJjb25zdCAtZmVhdHVyZXM9dG1wbGlmZSIKKyAgICAgICAg
aWYgdGVzdCAteiAiJE1PWl9PUFRJTUlaRSI7IHRoZW4KKyAgICAgICAgICAgIENGTEFHUz0iJENG
TEFHUyAteHMiCisgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC14cyIKKyAgICAgICAg
ZmkKKyAgICAgICAgX09QVElNSVpFX0ZMQUdTPS14TzQKKyAgICBmaQorICAgIGlmIHRlc3QgLXog
IiRHTlVfQVMiOyB0aGVuCisgICAgICAgIEFTRkxBR1M9IiRBU0ZMQUdTIC1XYSwtUCIKKyAgICBm
aQorICAgIGlmIHRlc3QgLW4gIiRVU0VfNjQiOyB0aGVuCisgICAgICAgIGlmIHRlc3QgLW4gIiRH
TlVfQ0MiOyB0aGVuCisgICAgICAgICAgICBDQz0iJENDIC1tNjQiCisgICAgICAgICAgICBDWFg9
IiRDWFggLW02NCIKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgdGVzdCAiJE9TX1RFU1Qi
ID0gImk4NnBjIjsgdGhlbgorICAgICAgICAgICAgICAgIENDPSIkQ0MgLXhhcmNoPWFtZDY0Igor
ICAgICAgICAgICAgICAgIENYWD0iJENYWCAteGFyY2g9YW1kNjQiCisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgQ0M9IiRDQyAteGFyY2g9djkiCisgICAgICAgICAgICAgICAgQ1hY
PSIkQ1hYIC14YXJjaD12OSIKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisgICAgZmkKKyAg
ICBpZiB0ZXN0ICIkT1NfVEVTVCIgPSAiaTg2cGMiOyB0aGVuCisgICAgICAgIGlmIHRlc3QgLXog
IiRVU0VfNjQiOyB0aGVuCisgICAgICAgICAgICBBQ19ERUZJTkUoaTM4NikKKyAgICAgICAgZmkK
KyAgICAgICAgQ1BVX0FSQ0hfVEFHPV8kT1NfVEVTVAorICAgICAgICAjIFRoZSBkZWZhdWx0IGRl
YnVnIGZvcm1hdCwgRFdBUkYgKC1nKSwgaXMgbm90IHN1cHBvcnRlZCBieSBnY2MKKyAgICAgICAg
IyBvbiBpMzg2LUFOWS1zeXN2NC9zb2xhcmlzLCBidXQgdGhlIHN0YWJzIGZvcm1hdCBpcy4gIEl0
IGlzCisgICAgICAgICMgYXNzdW1lZCB0aGF0IHRoZSBTb2xhcmlzIGFzc2VtYmxlciAvdXNyL2Nj
cy9iaW4vYXMgaXMgdXNlZC4KKyAgICAgICAgIyBJZiB5b3VyIGdjYyB1c2VzIEdOVSBhcywgeW91
IGRvIG5vdCBuZWVkIHRoZSAtV2EsLXMgb3B0aW9uLgorICAgICAgICBpZiB0ZXN0IC1uICIkTU9a
X0RFQlVHIiAmJiB0ZXN0IC1uICIkR05VX0NDIjsgdGhlbgorICAgICAgICAgICAgX0RFQlVHX0ZM
QUdTPS1nc3RhYnMKKyAgICAgICAgICAgIGlmIHRlc3QgLXogIiRHTlVfQVMiOyB0aGVuCisgICAg
ICAgICAgICAgICAgX0RFQlVHX0ZMQUdTPSIkX0RFQlVHX0ZMQUdTIC1XYSwtcyIKKyAgICAgICAg
ICAgIGZpCisgICAgICAgIGZpCisgICAgZmkKKyAgICBjYXNlICIke3RhcmdldF9vc30iIGluCisg
ICAgc29sYXJpczIuMyopCisgICAgICAgIEFDX0RFRklORShfUFJfTk9fTEFSR0VfRklMRVMpCisg
ICAgICAgIDs7CisgICAgc29sYXJpczIuNCopCisgICAgICAgIEFDX0RFRklORShfUFJfTk9fTEFS
R0VfRklMRVMpCisgICAgICAgIDs7CisgICAgc29sYXJpczIuNSopCisgICAgICAgIEFDX0RFRklO
RShTT0xBUklTMl81KSAgICAKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBBQ19ERUZJTkUo
X1BSX0hBVkVfT0ZGNjRfVCkKKyAgICAgICAgIyBUaGUgbGZjb21waWxlNjQoNSkgbWFuIHBhZ2Ug
b24gU29sYXJpcyAyLjYgc2F5czoKKyAgICAgICAgIyAgICAgRm9yIGFwcGxpY2F0aW9ucyB0aGF0
IGRvIG5vdCB3aXNoIHRvIGNvbmZvcm0gdG8gdGhlIFBPU0lYIG9yCisgICAgICAgICMgICAgIFgv
T3BlbiAgc3BlY2lmaWNhdGlvbnMsICB0aGUgIDY0LWJpdCB0cmFuc2l0aW9uYWwgaW50ZXJmYWNl
cworICAgICAgICAjICAgICBhcmUgYXZhaWxhYmxlIGJ5IGRlZmF1bHQuICBObyBjb21waWxlLXRp
bWUgZmxhZ3MgbmVlZCB0byAgYmUKKyAgICAgICAgIyAgICAgc2V0LgorICAgICAgICAjIEJ1dCBn
Y2MgMi43LjIueCBmYWlscyB0byBkZWZpbmUgX0xBUkdFRklMRTY0X1NPVVJDRSBieSBkZWZhdWx0
LgorICAgICAgICAjIFRoZSBuYXRpdmUgY29tcGlsZXIsIGdjYyAyLjgueCwgYW5kIGVnY3MgZG9u
J3QgaGF2ZSB0aGlzIHByb2JsZW0uCisgICAgICAgIGlmIHRlc3QgLW4gIiRHTlVfQ0MiOyB0aGVu
CisgICAgICAgICAgICBBQ19ERUZJTkUoX0xBUkdFRklMRTY0X1NPVVJDRSkKKyAgICAgICAgZmkK
KyAgICAgICAgOzsKKyAgICBlc2FjCisgICAgY2FzZSAiJHt0YXJnZXRfb3N9IiBpbgorICAgIHNv
bGFyaXMyLjMqKQorICAgICAgICA7OworICAgIHNvbGFyaXMyLjQqKQorICAgICAgICA7OworICAg
IHNvbGFyaXMyLjUqKQorICAgICAgICA7OworICAgIHNvbGFyaXMyLjYqKQorICAgICAgICA7Owor
ICAgIHNvbGFyaXMyLjcqKQorICAgICAgICA7OworICAgICopCisgICAgICAgICMgU29sYXJpcyA4
IG9yIGhpZ2hlciBoYXMgSVB2Ni4KKyAgICAgICAgQUNfREVGSU5FKF9QUl9JTkVUNikKKyAgICAg
ICAgOzsKKyAgICBlc2FjCisgICAgaWYgdGVzdCAiJE9TX1RFU1QiID0gInN1bjR1IjsgdGhlbgor
ICAgICAgICAjIDY0LWJpdCBTb2xhcmlzIHJlcXVpcmVzIFNQQVJDIFY5IGFyY2hpdGVjdHVyZSwg
c28gdGhlIGZvbGxvd2luZworICAgICAgICAjIGlzIG5vdCBuZWVkZWQuCisgICAgICAgIGlmIHRl
c3QgLXogIiRVU0VfNjQiOyB0aGVuCisgICAgICAgICAgICBVTFRSQVNQQVJDX0xJQlJBUlk9bnNw
cl9mbHQKKyAgICAgICAgZmkKKyAgICBmaQorICAgICMgUHVyaWZ5IHJlcXVpcmVzIHRoYXQgYmlu
YXJpZXMgbGlua2VkIGFnYWluc3QgbnNwciBhbHNvCisgICAgIyBiZSBsaW5rZWQgYWdhaW5zdCAt
bHJ0IChvciAtbHBvc2l4NCkgc28gYWRkIGl0IHRvIE9TX0xJQlMKKyAgICBfcmV2PWB1bmFtZSAt
cmAKKyAgICBfbGlicnQ9YGVjaG8gJF9yZXYgNS42IHwgYXdrICd7IGlmICgkMSA+ICQyKSBwcmlu
dCAiLWxydCI7IGVsc2UgcHJpbnQgIi1scG9zaXg0IiB9J2AKKyAgICBPU19MSUJTPSIkT1NfTElC
UyAkX2xpYnJ0IgorICAgIDs7CisKKyotc2NvLXN5c3Y1KikKKyAgICBBQ19ERUZJTkUoWFBfVU5J
WCkKKyAgICBBQ19ERUZJTkUoVU5JWFdBUkUpCisgICAgQUNfREVGSU5FKFNWUjQpCisgICAgQUNf
REVGSU5FKFNZU1YpCisgICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAgaWYgZWNobyAkT1NfUkVM
RUFTRSB8IGdyZXAgLWMgMi4xIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIEFDX0RFRklORShf
UFJfTk9fTEFSR0VfRklMRVMpCisgICAgICAgIENDPSckKE5TREVQVEgpL2J1aWxkL2hjYyBjYycK
KyAgICAgICAgQ1hYPSckKE5TREVQVEgpL2J1aWxkL2hjcHAgQ0MnCisgICAgICAgIE1EQ1BVQ0ZH
X0g9X3VuaXh3YXJlLmNmZworICAgIGVsc2UKKyAgICAgICAgQUNfREVGSU5FKF9MQVJHRUZJTEU2
NF9TT1VSQ0UpCisgICAgICAgIEFDX0RFRklORShfUFJfSEFWRV9PRkY2NF9UKQorICAgICAgICBB
Q19ERUZJTkUoX1BSX0hBVkVfU09DS0FERFJfTEVOKQorICAgICAgICBNRENQVUNGR19IPV91bml4
d2FyZTcuY2ZnCisgICAgZmkKKyAgICBQUl9NRF9DU1JDUz11bml4d2FyZS5jCisgICAgRFNPX0xE
T1BUUz0tRworICAgIENQVV9BUkNIPXg4NgorICAgIDs7CisKKyotb3MyKikKKyAgICBBQ19ERUZJ
TkUoWFBfT1MyKQorICAgIEFDX0RFRklORShYUF9QQykKKyAgICBBQ19ERUZJTkUoQlNEX1NFTEVD
VCkKKyAgICBBQ19ERUZJTkUoVENQVjQwSERSUykKKyAgICBMSUJfU1VGRklYPWxpYgorICAgIERM
TF9TVUZGSVg9ZGxsCisgICAgUkM9cmMuZXhlCisgICAgUFJfTURfQVJDSF9ESVI9b3MyCisgICAg
UFJPR19TVUZGSVg9LmV4ZQorICAgIE5TSU5TVEFMTD1uc2luc3RhbGwKKyAgICBNRENQVUNGR19I
PV9vczIuY2ZnCisgICAgUkVTT0xWRV9MSU5LX1NZTUJPTFM9MQorCisgICAgIyBFTVgvR0NDIGJ1
aWxkCisgICAgaWYgdGVzdCAtbiAiJEdOVV9DQyI7IHRoZW4KKyAgICAgICAgQUNfREVGSU5FKFhQ
X09TMl9FTVgpCisgICAgICAgIEFDX0RFRklORShPUzIpCisgICAgICAgIEFSPWVteG9tZmFyCisg
ICAgICAgIEFSX0ZMQUdTPSdyICRAJworICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLVdhbGwgLVpv
bWYiCisgICAgICAgIENYWEZMQUdTPSIkQ0ZMQUdTIC1XYWxsIC1ab21mIgorICAgICAgICBNS1NI
TElCPSckKENDKSAkKERTT19MRE9QVFMpIC1vICRAJworICAgICAgICBEU09fQ0ZMQUdTPQorICAg
ICAgICBEU09fTERPUFRTPSctWm9tZiAtWmRsbCAtWm1hcCcKKyAgICAgICAgTERGTEFHUz0nLVpt
YXAnCisgICAgICAgIF9PUFRJTUlaRV9GTEFHUz0iLU8yIC1zIgorICAgICAgICBfREVCVUdfRkxB
R1M9Ii1nIC1mbm8taW5saW5lIgorICAgICAgICBpZiB0ZXN0IC1uICIkTU9aX09QVElNSVpFIjsg
dGhlbgorICAgICAgICAgIERTT19MRE9QVFM9IiREU09fTERPUFRTIC1abGlua2VyIC9FWEVQQUNL
OjIgLVpsaW5rZXIgL1BBQ0tDT0RFIC1abGlua2VyIC9QQUNLREFUQSIKKyAgICAgICAgZmkKKyAg
ICAgICAgT1NfTElCUz0iLWxzb2NrZXQiCisgICAgICAgIElNUExJQj0nZW14aW1wIC1vJworICAg
ICAgICBGSUxURVI9J2VteGV4cCAtbycKKworICAgICAgICAjIEdDQyBmb3IgT1MvMiBjdXJyZW50
bHkgcHJlZGVmaW5lcyB0aGVzZSwgYnV0IHdlIGRvbid0IHdhbnQgdGhlbQorICAgICAgICBERUZJ
TkVTPSIkREVGSU5FUyAtVXVuaXggLVVfX3VuaXggLVVfX3VuaXhfXyIKKworICAgICMgVmlzdWFs
IEFnZSBDKysgYnVpbGQKKyAgICBlbGlmIHRlc3QgIiRWQUNQUCIgPSAieWVzIjsgdGhlbgorICAg
ICAgICBBQ19ERUZJTkUoWFBfT1MyX1ZBQ1BQKQorICAgICAgICBBQ19ERUZJTkUoT1MyLDQpCisg
ICAgICAgIEFDX0RFRklORShfWDg2XykKKyAgICAgICAgT0JKX1NVRkZJWD1vYmoKKyAgICAgICAg
QVM9YWxwCisgICAgICAgIEFTRkxBR1M9Jy1NYicKKyAgICAgICAgQVNNX1NVRkZJWD1hc20KKyAg
ICAgICAgQVI9LWlsaWIKKyAgICAgICAgQVJfRkxBR1M9Jy9OT0wgL05PSSAvTzokKHN1YnN0IC8s
XFwsJEApJworICAgICAgICBDRkxBR1M9Jy9RIC9xbGliYW5zaSAvR2QrIC9HbSsgL1N1NCAvTXAg
L1RsOScKKyAgICAgICAgSE9TVF9DRkxBR1M9IiRDRkxBR1MiCisgICAgICAgIE9TX0NGTEFHUz0n
L1EgL3FsaWJhbnNpIC9HZCsgL0dtKyAvU3U0IC9NcCAvVGw5JworICAgICAgICBPU19FWEVfQ0ZM
QUdTPScvUSAvcWxpYmFuc2kgL0dkKyAvR20rIC9TdTQgL01wIC9UbDknCisgICAgICAgIENYWEZM
QUdTPScvUSAvcWxpYmFuc2kgL0dkKyAvR20rIC9TdTQgL01wIC9UbDknCisgICAgICAgIE9TX0xJ
QlM9J3NvMzJkbGwubGliIHRjcDMyZGxsLmxpYicKKyAgICAgICAgTEQ9Jy1pbGluaycKKyAgICAg
ICAgTUtTSExJQj0nJChMRCkgJChEU09fTERPUFRTKScKKyAgICAgICAgSU1QTElCPSdpbXBsaWIg
LW5vbG9nbyAtbm9pZ25vcmVjYXNlJworICAgICAgICBGSUxURVI9J2NwcGZpbHQgLXEgLUIgLVAn
CisgICAgICAgIF9PUFRJTUlaRV9GTEFHUz0nL08rIC9HbCsgL3F0dW5lPXBlbnRpdW0gL3FhcmNo
PXBlbnRpdW0nCisgICAgICAgIF9ERUJVR19GTEFHUz0nL1RpKyAnCisgICAgICAgIExERkxBR1M9
Jy9OT0wgL00gL0wnCisgICAgICAgIERMTEZMQUdTPScvTzokQCAvRExMIC9JTkM6X2RsbGVudHJ5
IC9NQVA6JChAOi5kbGw9Lm1hcCkgL0wgL05PTCcKKyAgICAgICAgRVhFRkxBR1M9Jy9PVVQ6JEAg
L1BNVFlQRTpWSU8gL01BUDokKEA6LmV4ZT0ubWFwKSAvTCAvTk9MJworICAgICAgICBpZiB0ZXN0
IC1uICIkTU9aX0RFQlVHIjsgdGhlbgorICAgICAgICAgIExERkxBR1M9IiRMREZMQUdTIC9ERSIK
KyAgICAgICAgICBETExGTEFHUz0iJERMTEZMQUdTIC9ERSIKKyAgICAgICAgICBFWEVGTEFHUz0i
JEVYRUZMQUdTIC9ERSIKKyAgICAgICAgZmkKKyAgICAgICAgaWYgdGVzdCAtbiAiJE1PWl9PUFRJ
TUlaRSI7IHRoZW4KKyAgICAgICAgICBMREZMQUdTPSIkTERGTEFHUyAvT1BURlVOQyAvRVhFUEFD
SzoyIC9QQUNLQ09ERSAvUEFDS0RBVEEiCisgICAgICAgICAgRExMRkxBR1M9IiRETExGTEFHUyAv
T1BURlVOQyAvRVhFUEFDSzoyIC9QQUNLQ09ERSAvUEFDS0RBVEEiCisgICAgICAgICAgRVhFRkxB
R1M9IiRFWEVGTEFHUyAvT1BURlVOQyAvRVhFUEFDSzoyIC9QQUNLQ09ERSAvUEFDS0RBVEEiCisg
ICAgICAgIGZpCisgICAgICAgIExJQk5TUFI9JyQoZGlzdF9saWJkaXIpL25zcHIkKE1PRF9NQUpP
Ul9WRVJTSU9OKS4kKExJQl9TVUZGSVgpJworICAgICAgICBMSUJQTEM9JyQoZGlzdF9saWJkaXIp
L3BsYyQoTU9EX01BSk9SX1ZFUlNJT04pLiQoTElCX1NVRkZJWCknCisgICAgZmkKKyAgICA7Owor
CisqKQorICAgIEFDX0RFRklORShYUF9VTklYKQorICAgIDs7CisgICAKK2VzYWMKKworaWYgdGVz
dCAteiAiJFNLSVBfTElCUkFSWV9DSEVDS1MiOyB0aGVuCitkbmwgPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RubCBDaGVjayBmb3Igc3lz
dGVtIGxpYnJhcmllcworZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CitkbmwgQUNfQ0hFQ0tfTElCKEMsIG1haW4pCitkbmwgQUNfQ0hF
Q0tfTElCKENfciwgbWFpbikKK2RubCBBQ19DSEVDS19MSUIoYywgbWFpbikKK2RubCBBQ19DSEVD
S19MSUIoY19yLCBtYWluKQorZG5sIEFDX0NIRUNLX0xJQihkY2UsIG1haW4pCitkbmwgQUNfQ0hF
Q0tfTElCKGRsLCBtYWluKQorZG5sIEFDX0NIRUNLX0xJQihkbGQsIG1haW4pCitkbmwgQUNfQ0hF
Q0tfTElCKGdlbiwgbWFpbikKK2RubCBBQ19DSEVDS19MSUIoaXA2LCBtYWluKQorZG5sIEFDX0NI
RUNLX0xJQihsLCBtYWluKQorZG5sIEFDX0NIRUNLX0xJQihtLCBtYWluKQorZG5sIEFDX0NIRUNL
X0xJQihuc2wsIG1haW4pCitkbmwgQUNfQ0hFQ0tfTElCKHBvc2l4NCwgbWFpbikKK2RubCBBQ19D
SEVDS19MSUIocHJzdHJtcywgbWFpbikKK2RubCBBQ19DSEVDS19MSUIocHJzdHJtc19zaHIsIG1h
aW4pCitkbmwgQUNfQ0hFQ0tfTElCKHB0aHJlYWQsIG1haW4pCitkbmwgQUNfQ0hFQ0tfTElCKHB0
aHJlYWRzLCBtYWluKQorZG5sIEFDX0NIRUNLX0xJQihyZXNvbHYsIG1haW4pCitkbmwgQUNfQ0hF
Q0tfTElCKHJ0LCBtYWluKQorZG5sIEFDX0NIRUNLX0xJQihzb2NrZXQsIG1haW4pCitkbmwgQUNf
Q0hFQ0tfTElCKHN2bGQsIG1haW4pCitkbmwgQUNfQ0hFQ0tfTElCKHRocmVhZCwgbWFpbikKK2Ru
bCBBQ19DSEVDS19MSUIodm1zX2phY2tldHMsIG1haW4pCisKKworZG5sIFdlIGRvbid0IHdhbnQg
YW55dGhpbmcgdG8gbGluayB3aXRoIGxpYmRsIGV2ZW4gaWYgaXQncyBwcmVzZW50IG9uIE9TIFgs
IAorZG5sIHNpbmNlIGl0J3Mgbm90IHVzZWQgYW5kIG5vdCBwYXJ0IG9mIHRoZSBkZWZhdWx0IGlu
c3RhbGxhdGlvbi4KKworY2FzZSAkdGFyZ2V0IGluCisqLWRhcndpbiopCisgICAgOzsKKyopCisg
ICAgQUNfQ0hFQ0tfTElCKGRsLCBkbG9wZW4sCisgICAgICAgIEFDX0NIRUNLX0hFQURFUihkbGZj
bi5oLAorICAgICAgICAgICAgT1NfTElCUz0iLWxkbCAkT1NfTElCUyIpKQorICAgIDs7Citlc2Fj
CisKKworZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CitkbmwgQ2hlY2sgZm9yIHN5c3RlbSBoZWFkZXIgZmlsZXMuCitkbmwgPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RubCBB
Q19IRUFERVJfRElSRU5UCitkbmwgQUNfSEVBREVSX1NUREMKK2RubCBBQ19IRUFERVJfU1lTX1dB
SVQKK2RubCBBQ19DSEVDS19IRUFERVJTKGZjbnRsLmggbGltaXRzLmggc3lzL2ZpbGUuaCBzeXMv
aW9jdGwuaCBzeXMvdGltZS5oIHVuaXN0ZC5oKQorCitkbmwgPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK2RubCBDaGVjayBmb3IgdHlwZWRl
ZnMgYW5kIHN0cnVjdHMKK2RubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQorZG5sIEFDX0NfQ09OU1QKK2RubCBBQ19UWVBFX1VJRF9UCitk
bmwgQUNfVFlQRV9NT0RFX1QKK2RubCBBQ19UWVBFX09GRl9UCitkbmwgQUNfVFlQRV9QSURfVAor
ZG5sIEFDX1RZUEVfU0laRV9UCitkbmwgQUNfU1RSVUNUX1NUX0JMS1NJWkUKK2RubCBBQ19TVFJV
Q1RfU1RfQkxPQ0tTCitkbmwgQUNfU1RSVUNUX1NUX1JERVYKK2RubCBBQ19IRUFERVJfVElNRQor
ZG5sIEFDX1NUUlVDVF9UTQorCitkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KK2RubCBDaGVja3MgZm9yIGxpYnJhcnkgZnVuY3Rpb25z
LgorZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09CitBQ19QUk9HX0dDQ19UUkFESVRJT05BTAorQUNfQ0hFQ0tfRlVOQ1MobGNob3duIHN0
cmVycm9yKQorCitkbmwgQUNfRlVOQ19NRU1DTVAKK2RubCBBQ19GVU5DX01NQVAKK2RubCBBQ19G
VU5DX1NFVFZCVUZfUkVWRVJTRUQKK2RubCBBQ19GVU5DX1NUUkNPTEwKK2RubCBBQ19GVU5DX1NU
UkZUSU1FCitkbmwgQUNfRlVOQ19VVElNRV9OVUxMCitkbmwgQUNfRlVOQ19WUFJJTlRGCitkbmwg
QUNfQ0hFQ0tfRlVOQ1MoZnRpbWUgZ2V0Y3dkIGdldGhvc3RuYW1lIGdldHRpbWVvZmRheSBnZXR3
ZCBta2RpciBta3RpbWUgcHV0ZW52IHJtZGlyIHNlbGVjdCBzb2NrZXQgc3RyZHVwIHN0cmVycm9y
IHN0cnN0ciBzdHJ0b2wgc3RydG91bCB1bmFtZSkKKworZG5sID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitkbmwgQ2hlY2sgb3B0aW9ucwor
ZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09CisKK2RubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQorZG5sID0KK2RubCA9IC0tZW5hYmxlLXN0cmlwCitkbmwgPSAKK2RubCA9IEVu
YWJsZSBzdHJpcHBpbmcgb2YgbGlicyBhbmQgZXhlY3V0YWJsZXMKK2RubCA9IAorZG5sID09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitBQ19B
UkdfRU5BQkxFKHN0cmlwLAorICAgIFsgIC0tZW5hYmxlLXN0cmlwICAgICAgICAgIEVuYWJsZSBz
dHJpcHBpbmcgb2Ygc2hhcmVkIGxpYnMgYW5kIHByb2dyYW1zXSwKKyAgICBbIGlmIHRlc3QgIiRl
bmFibGV2YWwiID0gInllcyI7IHRoZW4KKwkgICAgRU5BQkxFX1NUUklQPTEKKyAgICAgIGZpIF0p
CisKK2RubCBDaGVjayBmb3IgaHB1eCBvcHRpb25zCitjYXNlICIke3RhcmdldF9vc30iIGluCito
cHV4KikKK2lmIHRlc3QgLXogIiRHTlVfQ0MiOyB0aGVuCisKKyAgICBBQ19DQUNIRV9DSEVDSyhm
b3IgK09saXQgc3VwcG9ydCwKKyAgICAgICAgYWNfY3ZfaHB1eF91c2FibGVfb2xpdF9vcHRpb24s
CisgICAgICAgIGRubCBzaW5jZSBhQ0MgZG9lc24ndCB0aHJvdyBhbiBlcnJvciBvbiBpbnZhbGlk
IG9wdGlvbnMsCisgICAgICAgIGRubCB3ZSBoYXZlIHRvIHRlc3QgdGhpcyB0aGUgaGFyZCB3YXkK
KyAgICAgICAgW2FjX2N2X2hwdXhfdXNhYmxlX29saXRfb3B0aW9uPW5vCisgICAgICAgIHJtIC1m
IGNvbmZ0ZXN0KgorICAgICAgICBlY2hvICdpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0nIHwgY2F0
ID4gY29uZnRlc3QuYworICAgICAgICAke0NDLWNjfSAke0NGTEFHU30gK09saXQ9YWxsIC1vIGNv
bmZ0ZXN0IGNvbmZ0ZXN0LmMgPiBjb25mdGVzdC5vdXQgMj4mMQorICAgICAgICBpZiB0ZXN0ICQ/
IC1lcSAwOyB0aGVuCisgICAgICAgICAgICBpZiB0ZXN0IC16ICJgZWdyZXAgLWkgJyh1bnJlY29n
bml6ZXx1bmtub3duKScgY29uZnRlc3Qub3V0YCI7IHRoZW4KKyAgICAgICAgICAgICAgICBhY19j
dl9ocHV4X3VzYWJsZV9vbGl0X29wdGlvbj15ZXMKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZp
CisgICAgICAgIHJtIC1mIGNvbmZ0ZXN0KgorICAgICAgICBdKQorCisgICAgaWYgdGVzdCAiJGFj
X2N2X2hwdXhfdXNhYmxlX29saXRfb3B0aW9uIiA9ICJ5ZXMiOyB0aGVuCisgICAgICAgIENGTEFH
Uz0iJENGTEFHUyArT2xpdD1hbGwiCisgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgK09saXQ9
YWxsIgorICAgIGVsc2UKKyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICtFU2xpdCIKKyAgICAgICAg
Q1hYRkxBR1M9IiRDWFhGTEFHUyArRVNsaXQiCisgICAgZmkKK2ZpCis7OworZXNhYworCitkbmwK
K2RubCBBcHBhcmVudGx5LCBzb21lIHN5c3RlbXMgY2Fubm90IHByb3Blcmx5IGNoZWNrIGZvciB0
aGUgcHRocmVhZAorZG5sIGxpYnJhcnkgdW5sZXNzIDxwdGhyZWFkLmg+IGlzIGluY2x1ZGVkIHNv
IHdlIG5lZWQgdG8gdGVzdAorZG5sIHVzaW5nIGl0CitkbmwKK2RubCBNT1pfQ0hFQ0tfUFRIUkVB
RFMobGliLCBzdWNjZXNzLCBmYWlsdXJlKQorQUNfREVGVU4oTU9aX0NIRUNLX1BUSFJFQURTLAor
WworQUNfTVNHX0NIRUNLSU5HKFtmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWwkMV0pCitlY2hvICIK
KyAgICAjaW5jbHVkZSA8cHRocmVhZC5oPiAKKyAgICB2b2lkICpmb28odm9pZCAqdikgeyByZXR1
cm4gdjsgfSAKKyAgICBpbnQgbWFpbigpIHsgCisgICAgICAgIHB0aHJlYWRfdCB0OworICAgICAg
ICBpZiAoIXB0aHJlYWRfY3JlYXRlKCZ0LCAwLCAmZm9vLCAwKSkgeworICAgICAgICAgICAgcHRo
cmVhZF9qb2luKHQsIDApOworICAgICAgICB9CisgICAgICAgIHJldHVybiAwOworICAgIH0iID4g
ZHVtbXkuYyA7CisgICAgZWNobyAiJHtDQy1jY30gLW8gZHVtbXkke2FjX2V4ZWV4dH0gZHVtbXku
YyAkQ0ZMQUdTICRDUFBGTEFHUyAtbFskMV0gJExERkxBR1MgJExJQlMiIDE+JjU7CisgICAgJHtD
Qy1jY30gLW8gZHVtbXkke2FjX2V4ZWV4dH0gZHVtbXkuYyAkQ0ZMQUdTICRDUFBGTEFHUyAtbFsk
MV0gJExERkxBR1MgJExJQlMgMj4mNTsKKyAgICBfcmVzPSQ/IDsKKyAgICBybSAtZiBkdW1teS5j
IGR1bW15JHthY19leGVleHR9IDsKKyAgICBpZiB0ZXN0ICIkX3JlcyIgPSAiMCI7IHRoZW4KKyAg
ICAgICAgQUNfTVNHX1JFU1VMVChbeWVzXSkKKyAgICAgICAgWyQyXQorICAgIGVsc2UKKyAgICAg
ICAgQUNfTVNHX1JFU1VMVChbbm9dKQorICAgICAgICBbJDNdCisgICAgZmkKK10pCisKK2Nhc2Ug
IiR0YXJnZXRfb3MiIGluCitkYXJ3aW4qKQorICAgIF9IQVZFX1BUSFJFQURTPTEKKyAgICA7Owor
KikKKyAgICBNT1pfQ0hFQ0tfUFRIUkVBRFMocHRocmVhZHMsCisgICAgICAgIF9IQVZFX1BUSFJF
QURTPTEgX1BUSFJFQURfTERGTEFHUz0iLWxwdGhyZWFkcyIsCisgICAgICAgIE1PWl9DSEVDS19Q
VEhSRUFEUyhwdGhyZWFkLAorICAgICAgICAgICAgX0hBVkVfUFRIUkVBRFM9MSBfUFRIUkVBRF9M
REZMQUdTPSItbHB0aHJlYWQiLAorICAgICAgICAgICAgTU9aX0NIRUNLX1BUSFJFQURTKGNfciwK
KyAgICAgICAgICAgICAgICBfSEFWRV9QVEhSRUFEUz0xIF9QVEhSRUFEX0xERkxBR1M9Ii1sY19y
IiwKKyAgICAgICAgICAgICAgICBNT1pfQ0hFQ0tfUFRIUkVBRFMoYywKKyAgICAgICAgICAgICAg
ICAgICAgX0hBVkVfUFRIUkVBRFM9MQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkK
KyAgICAgICAgKQorICAgICkKKyAgICA7OworZXNhYworCitBQ19BUkdfV0lUSChwdGhyZWFkcywK
KyAgICBbICAtLXdpdGgtcHRocmVhZHMgICAgICAgICBVc2Ugc3lzdGVtIHB0aHJlYWRzIGxpYnJh
cnkgYXMgdGhyZWFkIHN1YnN5c3RlbV0sCisgICAgWyBpZiB0ZXN0ICIkd2l0aHZhbCIgPSAieWVz
IjsgdGhlbgorCSAgICBpZiB0ZXN0IC1uICIkX0hBVkVfUFRIUkVBRFMiOyB0aGVuCisJCSAgICBV
U0VfUFRIUkVBRFM9MSAKKwkJICAgIFVTRV9VU0VSX1BUSFJFQURTPQorCQkgICAgVVNFX05TUFJf
VEhSRUFEUz0KKwkgICAgZWxzZQorCQkgICAgQUNfTVNHX0VSUk9SKFsgLS13aXRoLXB0aHJlYWRz
IHNwZWNpZmllZCBmb3IgYSBzeXN0ZW0gd2l0aG91dCBwdGhyZWFkIHN1cHBvcnQgXSk7CisJICAg
IGZpCisJICBlbHNlCisJICAgIFVTRV9QVEhSRUFEUz0KKwkgICAgX1BUSFJFQURfTERGTEFHUz0K
KwkgIGZpXSwKKwlbIGlmIHRlc3QgLW4gIiRfSEFWRV9QVEhSRUFEUyIgJiYgdGVzdCAteiAiJFVT
RV9VU0VSX1BUSFJFQURTIiAmJiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRoZW4KKwkg
ICAgVVNFX1BUSFJFQURTPTEKKwkgICAgVVNFX1VTRVJfUFRIUkVBRFM9CisJICAgIFVTRV9OU1BS
X1RIUkVBRFM9CisJICBmaV0pCisKK0FDX0FSR19FTkFCTEUodXNlci1wdGhyZWFkcywKKyAgICBb
ICAtLWVuYWJsZS11c2VyLXB0aHJlYWRzICBCdWlsZCB1c2luZyB1c2VybGFuZCBwdGhyZWFkc10s
CisgICAgWyBpZiB0ZXN0ICIkZW5hYmxldmFsIiA9ICJ5ZXMiOyB0aGVuCisgICAgICAgIGlmIHRl
c3QgLW4gIiRfSEFWRV9QVEhSRUFEUyI7IHRoZW4KKwkJICAgIFVTRV9QVEhSRUFEUz0KKwkJICAg
IFVTRV9VU0VSX1BUSFJFQURTPTEKKwkJICAgIFVTRV9OU1BSX1RIUkVBRFM9CisJICAgIGVsc2UK
KwkJICAgIEFDX01TR19FUlJPUihbIC0tZW5hYmxlLXVzZXItcHRocmVhZHMgc3BlY2lmaWVkIGZv
ciBhIHN5c3RlbSB3aXRob3V0IHB0aHJlYWQgc3VwcG9ydCBdKTsKKwkgICAgZmkKKwkgIGZpXSkK
KworQUNfQVJHX0VOQUJMRShuc3ByLXRocmVhZHMsCisgICAgWyAgLS1lbmFibGUtbnNwci10aHJl
YWRzICAgQnVpbGQgdXNpbmcgY2xhc3NpYyBuc3ByIHRocmVhZHNdLAorICAgIFsgaWYgdGVzdCAi
JGVuYWJsZXZhbCIgPSAieWVzIjsgdGhlbgorCSAgICBVU0VfUFRIUkVBRFM9CisJICAgIFVTRV9V
U0VSX1BUSFJFQURTPQorCSAgICBVU0VfTlNQUl9USFJFQURTPTEKKwkgIGZpXSkKKworY2FzZSAi
JHRhcmdldCIgaW4KKyotYmVvcyopCisgICAgQUNfQVJHX1dJVEgoYnRocmVhZHMsCisgICAgWyAg
LS13aXRoLWJ0aHJlYWRzICAgICAgICAgVXNlIHN5c3RlbSBidGhyZWFkcyBsaWJyYXJ5IGFzIHRo
cmVhZCBzdWJzeXN0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgKEJlT1Mgb25seSldLAor
ICAgIFsJaWYgdGVzdCAiJHdpdGh2YWwiID0gInllcyI7IHRoZW4KKyAgICAJICAgIFVTRV9CVEhS
RUFEUz0xCisJICAgICAgICBVU0VfVVNFUl9QVEhSRUFEUz0KKwkgICAgICAgIFVTRV9QVEhSRUFE
Uz0KKwkgICAgZmldKQorICAgIDs7CisKKyotc29sYXJpcyopCisgICAgQUNfQVJHX1dJVEgobmF0
aXZlLXRocmVhZHMsCisgICAgWyAgLS13aXRoLW5hdGl2ZS10aHJlYWRzICAgVXNlIG5hdGl2ZSBz
eXN0ZW0gdGhyZWFkcyBhcyB0aHJlYWQgc3Vic3lzdGVtCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIChTb2xhcmlzIG9ubHkpXSwKKyAgICBbIGlmIHRlc3QgIiR3aXRodmFsIiA9ICJ5ZXMiOyB0
aGVuCisJICAgIFVTRV9OQVRJVkVfVEhSRUFEUz0xCisJICAgIFVTRV9VU0VSX1BUSFJFQURTPQor
CSAgICBVU0VfUFRIUkVBRFM9CisJICBmaV0pCisgICAgOzsKK2VzYWMKKworZmkgIyBTS0lQX0xJ
QlJBUllfQ0hFQ0tTCisKK0FDX0FSR19FTkFCTEUoY3BsdXMsCisgICAgWyAgLS1lbmFibGUtY3Bs
dXMgICAgICAgICAgRW5hYmxlIHNvbWUgYysrIGFwaSByb3V0aW5lc10sCisgICAgWyBpZiB0ZXN0
ICIkZW5hYmxldmFsIiA9ICJ5ZXMiOyB0aGVuCisJICAgIFVTRV9DUExVUz0xCisgICAgICBmaV0p
IAorCitBQ19BUkdfRU5BQkxFKGlwdjYsCisgICAgWyAgLS1lbmFibGUtaXB2NiAgICAgICAgICAg
Q29tcGlsZSBpcHY2IHN1cHBvcnRdLAorICAgIFsgaWYgdGVzdCAiJGVuYWJsZXZhbCIgPSAieWVz
IjsgdGhlbgorCSAgICBVU0VfSVBWNj0xCisgICAgICBlbHNlCisJICAgIFVTRV9JUFY2PQorICAg
ICAgZmldKQorCisKK0FDX0FSR19FTkFCTEUoYm9laG0sCisgICAgWyAgLS1lbmFibGUtYm9laG0g
ICAgICAgICAgRW5hYmxlIHRoZSBCb2VobSBHYXJiYWdlIENvbGxlY3Rvcl0sCisgICAgWyBpZiB0
ZXN0ICIkZW5hYmxldmFsIiA9ICJ5ZXMiOyB0aGVuCisgICAgICAgIEFDX0RFRklORShHQ19MRUFL
X0RFVEVDVE9SKQorICAgICAgICBHQ19MRUFLX0RFVEVDVE9SPTEKKyAgICBmaV0pCisKK2lmIHRl
c3QgLW4gIiRVU0VfUFRIUkVBRFMiOyB0aGVuCisgICBkbmwgU2VlIGlmIC1wdGhyZWFkIGlzIHN1
cHBvcnRlZC4KKyAgIHJtIC1mIGNvbmZ0ZXN0KgorICAgYWNfY3ZfaGF2ZV9kYXNoX3B0aHJlYWQ9
bm8KKyAgIEFDX01TR19DSEVDS0lORyh3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWQp
CisgICBlY2hvICdpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0nIHwgY2F0ID4gY29uZnRlc3QuYwor
ICAgJHtDQy1jY30gLXB0aHJlYWQgLW8gY29uZnRlc3QgY29uZnRlc3QuYyA+IGNvbmZ0ZXN0Lm91
dCAyPiYxCisgICBpZiB0ZXN0ICQ/IC1lcSAwOyB0aGVuCisJaWYgdGVzdCAteiAiYGVncmVwIC1p
ICcodW5yZWNvZ25pemV8dW5rbm93biknIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgcHRocmVhZGAiICYm
IHRlc3QgLXogImBlZ3JlcCAtaSAnKGVycm9yfGluY29ycmVjdCknIGNvbmZ0ZXN0Lm91dGAiIDsg
dGhlbgorCSAgICBhY19jdl9oYXZlX2Rhc2hfcHRocmVhZD15ZXMKKwkJY2FzZSAiJHRhcmdldF9v
cyIgaW4KKwkgICAgZnJlZWJzZCopCisjIEZyZWVic2QgZG9lc24ndCB1c2UgLXB0aHJlYWQgZm9y
IGNvbXBpbGVzLCBpdCB1c2VzIHRoZW0gZm9yIGxpbmtpbmcKKyAgICAgICAgICAgIDs7CisJICAg
ICopCisgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLXB0aHJlYWQiCisgICAgICAgICAgICBD
WFhGTEFHUz0iJENYWEZMQUdTIC1wdGhyZWFkIgorICAgICAgICAgICAgOzsKKyAgICAgICAgZXNh
YworCWZpCisgICAgZmkKKyAgICBybSAtZiBjb25mdGVzdCoKKyAgICBBQ19NU0dfUkVTVUxUKCRh
Y19jdl9oYXZlX2Rhc2hfcHRocmVhZCkKKworCWRubAorCWRubCBTZWUgaWYgLXB0aHJlYWRzIGlz
IHN1cHBvcnRlZC4KKwlkbmwKKyAgICBhY19jdl9oYXZlX2Rhc2hfcHRocmVhZHM9bm8KKyAgICBp
ZiB0ZXN0ICIkYWNfY3ZfaGF2ZV9kYXNoX3B0aHJlYWQiID0gIm5vIjsgdGhlbgorCSAgICBBQ19N
U0dfQ0hFQ0tJTkcod2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1wdGhyZWFkcykKKyAgICAJZWNo
byAnaW50IG1haW4oKSB7IHJldHVybiAwOyB9JyB8IGNhdCA+IGNvbmZ0ZXN0LmMKKwkgICAgJHtD
Qy1jY30gLXB0aHJlYWRzIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgPiBjb25mdGVzdC5vdXQgMj4m
MQorICAgIAlpZiB0ZXN0ICQ/IC1lcSAwOyB0aGVuCisJICAgIAlpZiB0ZXN0IC16ICJgZWdyZXAg
LWkgJyh1bnJlY29nbml6ZXx1bmtub3duKScgY29uZnRlc3Qub3V0IHwgZ3JlcCBwdGhyZWFkc2Ai
ICYmIHRlc3QgLXogImBlZ3JlcCAtaSAnKGVycm9yfGluY29ycmVjdCknIGNvbmZ0ZXN0Lm91dGAi
IDsgdGhlbgorCQkJICAgIGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkcz15ZXMKKwkJCSAgICBDRkxB
R1M9IiRDRkxBR1MgLXB0aHJlYWRzIgorCQkJICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLXB0aHJl
YWRzIgorCQkgICAgZmkKKwkgICAgZmkKKwkgICAgcm0gLWYgY29uZnRlc3QqCisgICAgCUFDX01T
R19SRVNVTFQoJGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkcykKKyAgICBmaQorCisgICAgY2FzZSAi
JHRhcmdldCIgaW4KKyAgICAqLXNvbGFyaXMqKQorICAgICAgICBpZiB0ZXN0ICIkYWNfY3ZfaGF2
ZV9kYXNoX3B0aHJlYWRzIiA9ICJ5ZXMiOyB0aGVuCisgICAgICAgICAgICBfUFRIUkVBRF9MREZM
QUdTPQorICAgICAgICBmaQorCSAgICA7OworICAgICotZnJlZWJzZCopCisJICAgIEFDX0RFRklO
RShfUkVFTlRSQU5UKQorCSAgICBBQ19ERUZJTkUoX1RIUkVBRF9TQUZFKQorCSAgICBkbmwgLXB0
aHJlYWQgbGlua3MgaW4gLWxjX3IsIHNvIGRvbid0IHNwZWNpZnkgaXQgZXhwbGljaXRseS4KKwkg
ICAgaWYgdGVzdCAiJGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkIiA9ICJ5ZXMiOyB0aGVuCisJICAg
ICAgICBfUFRIUkVBRF9MREZMQUdTPSItcHRocmVhZCIKKwkgICAgZWxzZQorCSAgICAgICAgX1BU
SFJFQURfTERGTEFHUz0iLWxjX3IiCisJICAgIGZpCisJICAgIDs7CisgICAgKi1uZXRic2QqKQor
CSAgICBpZiB0ZXN0ICIkYWNfY3ZfaGF2ZV9kYXNoX3B0aHJlYWQiID0gInllcyI7IHRoZW4KKwkg
ICAgICAgIF9QVEhSRUFEX0xERkxBR1M9Ii1wdGhyZWFkIgorCSAgICBmaQorCSAgICA7OworICAg
ICotYnNkaSopCisJICAgIEFDX0RFRklORShfVEhSRUFEX1NBRkUpCisJICAgIGRubCAtcHRocmVh
ZCBsaW5rcyBpbiAtbGNfciwgc28gZG9uJ3Qgc3BlY2lmeSBpdCBleHBsaWNpdGx5LgorCSAgICBp
ZiB0ZXN0ICIkYWNfY3ZfaGF2ZV9kYXNoX3B0aHJlYWQiID0gInllcyI7IHRoZW4KKwkgICAgICAg
IF9QVEhSRUFEX0xERkxBR1M9CisJICAgIGZpCisJICAgIDs7CisgICAgKi1vcGVuYnNkKikKKyAg
ICAgICAgaWYgdGVzdCAiJGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkIiA9ICJ5ZXMiOyB0aGVuCisg
ICAgICAgICAgICBfUFRIUkVBRF9MREZMQUdTPS1wdGhyZWFkCisgICAgICAgIGZpCisgICAgICAg
IDs7CisgICAgKi1saW51eCopCisgICAgICAgIEFDX0RFRklORShfUkVFTlRSQU5UKQorICAgICAg
ICA7OworICAgIGVzYWMKKworZWxzZSAKKyAgICBpZiB0ZXN0IC1uICIkVVNFX1VTRVJfUFRIUkVB
RFMiOyB0aGVuCisJICAgIFVTRV9QVEhSRUFEUz0KKwkgICAgVVNFX05TUFJfVEhSRUFEUz0KKyAg
ICBlbHNlCisgICAgICAgIF9QVEhSRUFEX0xERkxBR1M9CisgICAgZmkKK2ZpCitkbmwgU3BlY2lh
bCB0aHJlYWQgZXhjZXB0aW9ucworCitjYXNlICIkdGFyZ2V0IiBpbgorKi1haXgqKQorICAgIGlm
IHRlc3QgLW4gIiRVU0VfTlNQUl9USFJFQURTIjsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoX1BS
X0xPQ0FMX1RIUkVBRFNfT05MWSkKKyAgICBmaQorICAgIGNhc2UgIiR0YXJnZXRfb3MiIGluCisg
ICAgYWl4NC4xKikKKyAgICAgICAgaWYgdGVzdCAteiAiJFVTRV9QVEhSRUFEUyI7IHRoZW4KKyAg
ICAgICAgICAgIEFDX0RFRklORShBSVhfUkVOQU1FX1NFTEVDVCkKKyAgICAgICAgZmkKKyAgICAg
ICAgOzsKKyAgICBhaXg0LjIqKQorICAgICAgICBpZiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFE
UyI7IHRoZW4KKyAgICAgICAgICAgIEFDX0RFRklORShIQVZFX1BPSU5URVJfTE9DQUxUSU1FX1Ip
CisgICAgICAgIGZpCisgICAgICAgIDs7CisgICAgYWl4NC4zKikKKyAgICAgICAgaWYgdGVzdCAt
eiAiJFVTRV9OU1BSX1RIUkVBRFMiOyB0aGVuCisgICAgICAgICAgICBBQ19ERUZJTkUoSEFWRV9Q
T0lOVEVSX0xPQ0FMVElNRV9SKQorICAgICAgICBmaQorICAgICAgICBpZiB0ZXN0IC1uICIkVVNF
X1BUSFJFQURTIjsgdGhlbgorICAgICAgICAgICAgQUNfREVGSU5FKF9QUl9IQVZFX1RIUkVBRFNB
RkVfR0VUSE9TVCkKKyAgICAgICAgZmkKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBpZiB0
ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRoZW4KKyAgICAgICAgICAgIEFDX0RFRklORShI
QVZFX1BPSU5URVJfTE9DQUxUSU1FX1IpCisgICAgICAgIGZpCisgICAgICAgIGlmIHRlc3QgLW4g
IiRVU0VfUFRIUkVBRFMiOyB0aGVuCisgICAgICAgICAgICBBQ19ERUZJTkUoX1BSX0hBVkVfVEhS
RUFEU0FGRV9HRVRIT1NUKQorICAgICAgICBmaQorICAgICAgICA7OworICAgIGVzYWMKKyAgICA7
OworKi1ic2RpKikKKyAgICBpZiB0ZXN0IC1uICIkVVNFX1BUSFJFQURTIjsgdGhlbgorICAgICAg
ICBBQ19ERUZJTkUoX1BSX05FRURfUFRIUkVBRF9JTklUKQorICAgIGZpCisgICAgOzsKKyotZnJl
ZWJzZCopCisgICAgaWYgdGVzdCAtbiAiJFVTRV9OU1BSX1RIUkVBRFMiOyB0aGVuCisgICAgICAg
IEFDX0RFRklORShfUFJfTE9DQUxfVEhSRUFEU19PTkxZKQorICAgIGZpCisgICAgOzsKKyotaHB1
eCopCisgICAgaWYgdGVzdCAtbiAiJFVTRV9OU1BSX1RIUkVBRFMiOyB0aGVuCisgICAgICAgIEFD
X0RFRklORShfUFJfTE9DQUxfVEhSRUFEU19PTkxZKQorICAgIGZpIAorICAgIGlmIHRlc3QgIiRV
U0VfUFRIUkVBRFMiOyB0aGVuCisgICAgICAgIGlmIGVjaG8gIiRPU19SRUxFQVNFIiB8IGVncmVw
ICdeKEIuMTAuMTB8Qi4xMC4yMCknID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIEFDX0RF
RklORShfUkVFTlRSQU5UKQorICAgICAgICAgICAgQUNfREVGSU5FKF9QUl9EQ0VUSFJFQURTKQor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBBQ19ERUZJTkVfVU5RVU9URUQoX1BPU0lYX0NfU09V
UkNFLDE5OTUwNkwpCisgICAgICAgICAgICBBQ19ERUZJTkUoX1BSX0hBVkVfVEhSRUFEU0FGRV9H
RVRIT1NUKQorICAgICAgICBmaQorICAgIGZpCisgICAgaWYgdGVzdCAiJFVTRV9VU0VSX1BUSFJF
QURTIjsgdGhlbgorICAgICAgICBBQ19ERUZJTkVfVU5RVU9URUQoX1BPU0lYX0NfU09VUkNFLDE5
OTUwNkwpCisgICAgZmkKKyAgICA7OworKi1pcml4KikKKyAgICBpZiB0ZXN0ICIke3RhcmdldF9v
c30iID0gImlyaXg2LjUiOyB0aGVuCisgICAgICAgIGlmIHRlc3QgLW4gIiRVU0VfUFRIUkVBRFMi
OyB0aGVuCisgICAgICAgICAgICBBQ19ERUZJTkUoX1BSX0hBVkVfR0VUSE9TVF9SKQorICAgICAg
ICAgICAgQUNfREVGSU5FKF9QUl9IQVZFX0dFVEhPU1RfUl9QT0lOVEVSKQorICAgICAgICBmaQor
ICAgIGZpCisgICAgOzsKKyotbGludXgqKQorICAgIGlmIHRlc3QgLW4gIiRVU0VfTlNQUl9USFJF
QURTIjsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoX1BSX0xPQ0FMX1RIUkVBRFNfT05MWSkKKyAg
ICBmaQorICAgIDs7CisqLW1pbmd3KnwqLWN5Z3dpbip8Ki1tc3ZjKnwqLW1rcyopCisgICAgZG5s
IHdpbjMyIGRvZXMgbm90IHVzZSBwdGhyZWFkcworICAgIFVTRV9QVEhSRUFEUz0KKyAgICBfUFRI
UkVBRF9MREZMQUdTPQorICAgIFVTRV9VU0VSX1BUSFJFQURTPQorICAgIDs7CisqLW5ldGJzZCp8
Ki1vcGVuYnNkKikKKyAgICBpZiB0ZXN0IC1uICIkVVNFX05TUFJfVEhSRUFEUyI7IHRoZW4KKyAg
ICAgICAgQUNfREVGSU5FKF9QUl9MT0NBTF9USFJFQURTX09OTFkpCisgICAgZmkKKyAgICA7Owor
Ki1vc2YqKQorICAgIGlmIHRlc3QgLW4gIiRVU0VfTlNQUl9USFJFQURTIjsgdGhlbgorICAgICAg
ICBBQ19ERUZJTkUoX1BSX0xPQ0FMX1RIUkVBRFNfT05MWSkKKyAgICBmaQorICAgIGlmIHRlc3Qg
LW4gIiRVU0VfUFRIUkVBRFMiOyB0aGVuCisgICAgICAgIGlmIGVjaG8gJE9TX1JFTEVBU0UgfCBl
Z3JlcCAtYyAnKFYyLjB8VjMuMiknIDI+L2Rldi9udWxsOyB0aGVuCisgICAgICAgICAgICA6Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIEFDX0RFRklORShfUFJfSEFWRV9USFJFQURTQUZFX0dF
VEhPU1QpCisgICAgICAgIGZpCisgICAgZmkKKyAgICA7OworKi1zb2xhcmlzKikKKyAgICBpZiB0
ZXN0IC1uICIkVVNFX05BVElWRV9USFJFQURTIjsgdGhlbgorICAgICAgICBBQ19ERUZJTkUoX1BS
X0dMT0JBTF9USFJFQURTX09OTFkpCisgICAgZWxzZQorICAgICAgICBpZiB0ZXN0IC1uICIkVVNF
X05TUFJfVEhSRUFEUyI7IHRoZW4KKyAgICAgICAgICAgIEFDX0RFRklORShfUFJfTE9DQUxfVEhS
RUFEU19PTkxZKQorICAgICAgICBmaQorICAgIGZpCisgICAgaWYgdGVzdCAteiAiJFVTRV9OU1BS
X1RIUkVBRFMiOyB0aGVuCisgICAgICAgIEFDX0RFRklORShfUkVFTlRSQU5UKQorICAgICAgICBB
Q19ERUZJTkUoSEFWRV9QT0lOVEVSX0xPQ0FMVElNRV9SKQorICAgICAgICBpZiB0ZXN0ICIkT1Nf
VEVTVCIgPSAiaTg2cGMiOyB0aGVuCisgICAgICAgICAgICBpZiB0ZXN0IC1uICIkVVNFXzY0Ijsg
dGhlbgorICAgICAgICAgICAgICAgUFJfTURfQVNGSUxFUz1vc19TdW5PU194ODZfNjQucworICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgUFJfTURfQVNGSUxFUz1vc19TdW5PU194ODYu
cworICAgICAgICAgICAgZmkKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgdGVzdCAtbiAi
JFVTRV82NCI7IHRoZW4KKyAgICAgICAgICAgICAgICBQUl9NRF9BU0ZJTEVTPW9zX1N1bk9TX3Nw
YXJjdjkucworICAgICAgICAgICAgZmkKKyAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRVU0VfTkFU
SVZFX1RIUkVBRFMiOyB0aGVuCisgICAgICAgICAgICAgICAgUFJfTURfQVNGSUxFUz0iJFBSX01E
X0FTRklMRVMgb3NfU3VuT1MucyIKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisgICAgZmkK
KyAgICA7OworKi1udG8qKQorICAgIGlmIHRlc3QgLW4gIiRVU0VfUFRIUkVBRFMiOyB0aGVuCisg
ICAgICAgIEFDX0RFRklORShfUFJfSEFWRV9HRVRIT1NUX1IpCisgICAgICAgIEFDX0RFRklORShf
UFJfSEFWRV9HRVRIT1NUX1JfUE9JTlRFUikKKyAgICBmaQorICAgIDs7Citlc2FjCisKK09TX0xJ
QlM9IiRfUFRIUkVBRF9MREZMQUdTICRPU19MSUJTIgorCitkbmwgSWYgdGhlIHVzZXIgcGFzc2Vk
IGluIGFyZyB0byAtLWVuYWJsZS1vcHRpbWl6ZSBvciAtLWVuYWJsZS1kZWJ1ZywKK2RubCBtYWtl
IHN1cmUgdGhhdCB3ZSB1c2UgaXQuCitpZiB0ZXN0IC1uICIkX1NBVkVfT1BUSU1JWkVfRkxBR1Mi
OyB0aGVuCisgICAgX09QVElNSVpFX0ZMQUdTPSIkX1NBVkVfT1BUSU1JWkVfRkxBR1MiCitmaQor
CitpZiB0ZXN0IC1uICIkX1NBVkVfREVCVUdfRkxBR1MiOyB0aGVuCisgICAgX0RFQlVHX0ZMQUdT
PSIkX1NBVkVfREVCVUdfRkxBR1MiCitmaQorCitpZiB0ZXN0IC1uICIkTU9aX09QVElNSVpFIjsg
dGhlbgorICAgIENGTEFHUz0iJENGTEFHUyAkX09QVElNSVpFX0ZMQUdTIgorICAgIENYWEZMQUdT
PSIkQ1hYRkxBR1MgJF9PUFRJTUlaRV9GTEFHUyIKK2ZpCisKK2lmIHRlc3QgLW4gIiRNT1pfREVC
VUciOyB0aGVuCisgICAgQ0ZMQUdTPSIkQ0ZMQUdTICRfREVCVUdfRkxBR1MiCisgICAgQ1hYRkxB
R1M9IiRDWFhGTEFHUyAkX0RFQlVHX0ZMQUdTIgorZmkKKworaWYgdGVzdCAtbiAiJE1PWl9PUFRJ
TUlaRSI7IHRoZW4KKyAgICBPQkpESVJfVEFHPV9PUFQKK2Vsc2UKKyAgICBPQkpESVJfVEFHPV9E
QkcKK2ZpCisKK2lmIHRlc3QgLW4gIiRVU0VfNjQiOyB0aGVuCisgICAgQ09NUElMRVJfVEFHPV82
NAorZmkKKworUkVMRUFTRV9PQkpESVJfTkFNRT0iJHtPU19DT05GSUd9JHtDUFVfQVJDSF9UQUd9
JHtDT01QSUxFUl9UQUd9JHtJTVBMX1NUUkFURUdZfSR7T0JKRElSX1RBR30uJHtPQkpESVJfU1VG
RklYfSIKKworZG5sID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CitkbmwgVXNlIGN5Z3dpbiB3cmFwcGVyIGZvciB3aW4zMiBidWlsZHMsIGV4
Y2VwdCBNU1lTL01pbkdXCitkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KK2Nhc2UgIiR0YXJnZXRfb3MiIGluCitjeWd3aW4qfG1zdmMq
fG1rcyopCisgICAgQ0M9IlwkKENZR1dJTl9XUkFQUEVSKSAkQ0MiCisgICAgQ1hYPSJcJChDWUdX
SU5fV1JBUFBFUikgJENYWCIKKyAgICBSQz0iXCQoQ1lHV0lOX1dSQVBQRVIpICRSQyIKKyAgICA7
OworZXNhYworCitkbmwgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KK2RubCBTdWJzdGl0dXRpb24gb2YgZm91bmQgdmFyaWFibGVzLgorZG5s
ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CitBQ19TVUJTVChTSEVMTF9PVkVSUklERSkKKworQUNfU1VCU1QoTU9aSUxMQV9DTElFTlQpCitB
Q19TVUJTVChDQykKK0FDX1NVQlNUKENYWCkKK0FDX1NVQlNUKENGTEFHUykKK0FDX1NVQlNUKENY
WEZMQUdTKQorQUNfU1VCU1QoQ1BQRkxBR1MpCitBQ19TVUJTVChIT1NUX0NDKQorQUNfU1VCU1Qo
SE9TVF9DRkxBR1MpCitBQ19TVUJTVChMREZMQUdTKQorQUNfU1VCU1QoR05VX0NDKQorQUNfU1VC
U1QoR0NDX1VTRV9HTlVfTEQpCitBQ19TVUJTVChNU0NfVkVSKQorQUNfU1VCU1QoQ1JPU1NfQ09N
UElMRSkKKworQUNfU1VCU1QoTU9aX09QVElNSVpFKQorCitBQ19TVUJTVChVU0VfQ1BMVVMpCitB
Q19TVUJTVChVU0VfSVBWNikKK0FDX1NVQlNUKFVTRV9OMzIpCitBQ19TVUJTVChVU0VfNjQpCitB
Q19TVUJTVChPQkpFQ1RfTU9ERSkKK0FDX1NVQlNUKEdDX0xFQUtfREVURUNUT1IpCitBQ19TVUJT
VChFTkFCTEVfU1RSSVApCisKK0FDX1NVQlNUKFVTRV9QVEhSRUFEUykKK0FDX1NVQlNUKFVTRV9C
VEhSRUFEUykKK0FDX1NVQlNUKFVTRV9VU0VSX1BUSFJFQURTKQorQUNfU1VCU1QoVVNFX05BVElW
RV9USFJFQURTKQorQUNfU1VCU1QoVVNFX05TUFJfVEhSRUFEUykKKworQUNfU1VCU1QoTElCTlNQ
UikKK0FDX1NVQlNUKExJQlBMQykKKworQUNfU1VCU1QoTU9EX01BSk9SX1ZFUlNJT04pCitBQ19T
VUJTVChNT0RfTUlOT1JfVkVSU0lPTikKK0FDX1NVQlNUKE1PRF9QQVRDSF9WRVJTSU9OKQorQUNf
U1VCU1QoTlNQUl9NT0ROQU1FKQorQUNfU1VCU1QoTURDUFVDRkdfSCkKK0FDX1NVQlNUKFBSX01E
X0NTUkNTKQorQUNfU1VCU1QoUFJfTURfQVNGSUxFUykKK0FDX1NVQlNUKFBSX01EX0FSQ0hfRElS
KQorQUNfU1VCU1QoQ1BVX0FSQ0gpCisKK0FDX1NVQlNUKE9CSl9TVUZGSVgpCitBQ19TVUJTVChM
SUJfU1VGRklYKQorQUNfU1VCU1QoRExMX1NVRkZJWCkKK0FDX1NVQlNUKEFTTV9TVUZGSVgpCitB
Q19TVUJTVChNS1NITElCKQorQUNfU1VCU1QoRFNPX0NGTEFHUykKK0FDX1NVQlNUKERTT19MRE9Q
VFMpCisKK0FDX1NVQlNUKE9TX1RBUkdFVCkKK0FDX1NVQlNUKE9TX0FSQ0gpCitBQ19TVUJTVChP
U19SRUxFQVNFKQorQUNfU1VCU1QoT1NfVEVTVCkKK0FDX1NVQlNUKE1BQ09TWF9ERVBMT1lNRU5U
X1RBUkdFVCkKKworQUNfU1VCU1QoREVGSU5FUykKK0FDX1NVQlNUKERFRlMpCitBQ19TVUJTVChB
UikKK0FDX1NVQlNUKEFSX0ZMQUdTKQorQUNfU1VCU1QoQVMpCitBQ19TVUJTVChBU0ZMQUdTKQor
QUNfU1VCU1QoTEQpCitBQ19TVUJTVChSQU5MSUIpCitBQ19TVUJTVChQRVJMKQorQUNfU1VCU1Qo
U1RSSVApCitBQ19TVUJTVChGSUxURVIpCitBQ19TVUJTVChJTVBMSUIpCisKK0FDX1NVQlNUKE9T
X0xJQlMpCitBQ19TVUJTVChSRVNPTFZFX0xJTktfU1lNQk9MUykKK0FDX1NVQlNUKEFJWF9MSU5L
X09QVFMpCitBQ19TVUJTVChOT1NVQ0hGSUxFKQorQUNfU1VCU1QoTU9aX09CSkZPUk1BVCkKK0FD
X1NVQlNUKFVMVFJBU1BBUkNfTElCUkFSWSkKKworQUNfU1VCU1QoT0JKRElSKQorQUNfU1VCU1Qo
T0JKRElSX05BTUUpCitBQ19TVUJTVChSRUxFQVNFX09CSkRJUl9OQU1FKQorQUNfU1VCU1QoTlNJ
TlNUQUxMKQorQUNfU1VCU1QoT1BUSU1JWkVSKQorQUNfU1VCU1QoUkMpCitBQ19TVUJTVChSQ0ZM
QUdTKQorQUNfU1VCU1QoRExMRkxBR1MpCitBQ19TVUJTVChFWEVGTEFHUykKK0FDX1NVQlNUKE9T
X0RMTEZMQUdTKQorQUNfU1VCU1QoQ1lHV0lOX1dSQVBQRVIpCitBQ19TVUJTVChWSVNJQklMSVRZ
X0ZMQUdTKQorQUNfU1VCU1QoV1JBUF9TWVNURU1fSU5DTFVERVMpCisKK2RubCA9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorZG5sIEdlbmVy
YXRlIG91dHB1dCBmaWxlcy4KK2RubCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQorTUFLRUZJTEVTPSIKK01ha2VmaWxlIAorY29uZmlnL01h
a2VmaWxlCitjb25maWcvYXV0b2NvbmYubWsKK2NvbmZpZy9uc3ByaW5jbC5taworY29uZmlnL25z
cHJpbmNsLnNoCitjb25maWcvbnNwci1jb25maWcKK2xpYi9NYWtlZmlsZSAKK2xpYi9kcy9NYWtl
ZmlsZSAKK2xpYi9saWJjL01ha2VmaWxlIAorbGliL2xpYmMvaW5jbHVkZS9NYWtlZmlsZSAKK2xp
Yi9saWJjL3NyYy9NYWtlZmlsZSAKK2xpYi90ZXN0cy9NYWtlZmlsZQorcGtnL01ha2VmaWxlCitw
a2cvbGludXgvTWFrZWZpbGUKK3BrZy9zb2xhcmlzL01ha2VmaWxlCitwa2cvc29sYXJpcy9TVU5X
cHIvTWFrZWZpbGUKK3BrZy9zb2xhcmlzL1NVTldwcmQvTWFrZWZpbGUKK3ByL01ha2VmaWxlIAor
cHIvaW5jbHVkZS9NYWtlZmlsZSAKK3ByL2luY2x1ZGUvbWQvTWFrZWZpbGUgCitwci9pbmNsdWRl
L29ic29sZXRlL01ha2VmaWxlIAorcHIvaW5jbHVkZS9wcml2YXRlL01ha2VmaWxlIAorcHIvc3Jj
L01ha2VmaWxlIAorcHIvc3JjL2lvL01ha2VmaWxlIAorcHIvc3JjL2xpbmtpbmcvTWFrZWZpbGUg
Citwci9zcmMvbWFsbG9jL01ha2VmaWxlIAorcHIvc3JjL21kL01ha2VmaWxlIAorcHIvc3JjL21k
LyR7UFJfTURfQVJDSF9ESVJ9L01ha2VmaWxlIAorcHIvc3JjL21lbW9yeS9NYWtlZmlsZSAKK3By
L3NyYy9taXNjL01ha2VmaWxlIAorcHIvc3JjL3RocmVhZHMvTWFrZWZpbGUgCitwci90ZXN0cy9N
YWtlZmlsZSAKK3ByL3Rlc3RzL2RsbC9NYWtlZmlsZSAKKyIKKworZG5sIGxpYi90ZXN0cy9NYWtl
ZmlsZQorZG5sIHByL3Rlc3RzL3cxNmd1aS9NYWtlZmlsZQorZG5sIHRvb2xzL01ha2VmaWxlCisK
K2lmIHRlc3QgLXogIiRVU0VfUFRIUkVBRFMiICYmIHRlc3QgLXogIiRVU0VfQlRIUkVBRFMiOyB0
aGVuCisgICAgTUFLRUZJTEVTPSIkTUFLRUZJTEVTIHByL3NyYy90aHJlYWRzL2NvbWJpbmVkL01h
a2VmaWxlIgorZWxpZiB0ZXN0IC1uICIkVVNFX1BUSFJFQURTIjsgdGhlbgorICAgIE1BS0VGSUxF
Uz0iJE1BS0VGSUxFUyBwci9zcmMvcHRocmVhZHMvTWFrZWZpbGUiCitlbGlmIHRlc3QgLW4gIiRV
U0VfQlRIUkVBRFMiOyB0aGVuCisgICAgTUFLRUZJTEVTPSIkTUFLRUZJTEVTIHByL3NyYy9idGhy
ZWFkcy9NYWtlZmlsZSIKK2ZpCisKK2lmIHRlc3QgLW4gIiRVU0VfQ1BMVVMiOyB0aGVuCisgICAg
TUFLRUZJTEVTPSIkTUFLRUZJTEVTIHByL3NyYy9jcGx1cy9NYWtlZmlsZSBwci9zcmMvY3BsdXMv
dGVzdHMvTWFrZWZpbGUiCitmaQorCitBQ19PVVRQVVQoWyRNQUtFRklMRVNdLCBbY2htb2QgK3gg
Y29uZmlnL25zcHItY29uZmlnXSkKZGlmZiAtdXJOIG5zcHItNC42LjEtb3JpZy9tb3ppbGxhL25z
cHJwdWIvY29uZmlndXJlLm9yaWcgbnNwci00LjYuMS9tb3ppbGxhL25zcHJwdWIvY29uZmlndXJl
Lm9yaWcKLS0tIG5zcHItNC42LjEtb3JpZy9tb3ppbGxhL25zcHJwdWIvY29uZmlndXJlLm9yaWcJ
MTk2OS0xMi0zMSAxODowMDowMC4wMDAwMDAwMDAgLTA2MDAKKysrIG5zcHItNC42LjEvbW96aWxs
YS9uc3BycHViL2NvbmZpZ3VyZS5vcmlnCTIwMDUtMDktMDEgMjE6NDQ6MzcuMDAwMDAwMDAwIC0w
NTAwCkBAIC0wLDAgKzEsNjIwMiBAQAorIyEgL2Jpbi9zaAorCisjIEd1ZXNzIHZhbHVlcyBmb3Ig
c3lzdGVtLWRlcGVuZGVudCB2YXJpYWJsZXMgYW5kIGNyZWF0ZSBNYWtlZmlsZXMuCisjIEdlbmVy
YXRlZCBhdXRvbWF0aWNhbGx5IHVzaW5nIGF1dG9jb25mIHZlcnNpb24gMi4xMyAKKyMgQ29weXJp
Z2h0IChDKSAxOTkyLCA5MywgOTQsIDk1LCA5NiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4KKyMKKyMgVGhpcyBjb25maWd1cmUgc2NyaXB0IGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24KKyMgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29w
eSwgZGlzdHJpYnV0ZSBhbmQgbW9kaWZ5IGl0LgorCisjIERlZmF1bHRzOgorYWNfaGVscD0KK2Fj
X2RlZmF1bHRfcHJlZml4PS91c3IvbG9jYWwKKyMgQW55IGFkZGl0aW9ucyBmcm9tIGNvbmZpZ3Vy
ZS5pbjoKK2FjX2hlbHA9IiRhY19oZWxwCisgIC0td2l0aC1kaXN0LXByZWZpeD1ESVNUX1BSRUZJ
WAorICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZSBidWlsZCBmaWxlcyBpbiBESVNUX1BS
RUZJWCBbZGlzdF0iCithY19oZWxwPSIkYWNfaGVscAorICAtLXdpdGgtZGlzdC1iaW5kaXI9RElS
ICBidWlsZCBleGVjdWF0YWJsZXMgaW4gRElSIFtESVNUX1BSRUZJWC9iaW5dIgorYWNfaGVscD0i
JGFjX2hlbHAKKyAgLS13aXRoLWRpc3QtaW5jbHVkZWRpcj1ESVIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnVpbGQgaW5jbHVkZSBmaWxlcyBpbiBESVIgW0RJU1RfUFJFRklYL2luY2x1ZGUv
bnNwcl0iCithY19oZWxwPSIkYWNfaGVscAorICAtLXdpdGgtZGlzdC1saWJkaXI9RElSICBidWls
ZCBsaWJyYXJ5IGZpbGVzIGluIERJUiBbRElTVF9QUkVGSVgvbGliXSIKK2FjX2hlbHA9IiRhY19o
ZWxwCisgIC0td2l0aC1tb3ppbGxhICAgICAgICAgIENvbXBpbGUgTlNQUiB3aXRoIE1vemlsbGEg
c3VwcG9ydCIKK2FjX2hlbHA9IiRhY19oZWxwCisgIC0tZW5hYmxlLW9wdGltaXplKD12YWwpIEVu
YWJsZSBjb2RlIG9wdGltaXphdGlvbnMgKHZhbCwgaWUuIC1PMikgIgorYWNfaGVscD0iJGFjX2hl
bHAKKyAgLS1kaXNhYmxlLWRlYnVnICAgICAgICAgRG8gbm90IGNvbXBpbGUgaW4gZGVidWdnaW5n
IHN5bWJvbHMKKyAgLS1lbmFibGUtZGVidWcoPXZhbCkgICAgRW5hYmxlIGRlYnVnZ2luZyAoZGVi
dWcgZmxhZ3MgdmFsKSIKK2FjX2hlbHA9IiRhY19oZWxwCisgIC0tZW5hYmxlLXdpbjMyLXRhcmdl
dD1cJHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU3BlY2lmeSB3aW4zMiBmbGF2b3IuIChX
SU45NSBvciBXSU5OVCkiCithY19oZWxwPSIkYWNfaGVscAorICAtLWVuYWJsZS1kZWJ1Zy1ydGwg
ICAgICBVc2UgdGhlIE1TVkMgZGVidWcgcnVudGltZSBsaWJyYXJ5IgorYWNfaGVscD0iJGFjX2hl
bHAKKyAgLS1lbmFibGUtbjMyICAgICAgICAgICAgRW5hYmxlIG4zMiBBQkkgc3VwcG9ydCAoSVJJ
WCBvbmx5KSIKK2FjX2hlbHA9IiRhY19oZWxwCisgIC0tZW5hYmxlLTY0Yml0ICAgICAgICAgIEVu
YWJsZSA2NC1iaXQgc3VwcG9ydCAob24gY2VydGFpbiBwbGF0Zm9ybXMpIgorYWNfaGVscD0iJGFj
X2hlbHAKKyAgLS1lbmFibGUtbWR1cGRhdGUgICAgICAgRW5hYmxlIHVzZSBvZiBjZXJ0YWluIGNv
bXBpbGVycycgbWR1cGRhdGUgZmVhdHVyZSIKK2FjX2hlbHA9IiRhY19oZWxwCisgIC0tZW5hYmxl
LW1hY29zLXRhcmdldD1WRVIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU2V0IHRoZSBtaW5p
bXVtIE1hY09TIHZlcnNpb24gbmVlZGVkIGF0IHJ1bnRpbWUKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgWzEwLjEgZm9yIHBwYywgMTAuNCBmb3IgeDg2XSIKK2FjX2hlbHA9IiRhY19oZWxwCisg
IC0tZW5hYmxlLXN0cmlwICAgICAgICAgIEVuYWJsZSBzdHJpcHBpbmcgb2Ygc2hhcmVkIGxpYnMg
YW5kIHByb2dyYW1zIgorYWNfaGVscD0iJGFjX2hlbHAKKyAgLS13aXRoLXB0aHJlYWRzICAgICAg
ICAgVXNlIHN5c3RlbSBwdGhyZWFkcyBsaWJyYXJ5IGFzIHRocmVhZCBzdWJzeXN0ZW0iCithY19o
ZWxwPSIkYWNfaGVscAorICAtLWVuYWJsZS11c2VyLXB0aHJlYWRzICBCdWlsZCB1c2luZyB1c2Vy
bGFuZCBwdGhyZWFkcyIKK2FjX2hlbHA9IiRhY19oZWxwCisgIC0tZW5hYmxlLW5zcHItdGhyZWFk
cyAgIEJ1aWxkIHVzaW5nIGNsYXNzaWMgbnNwciB0aHJlYWRzIgorYWNfaGVscD0iJGFjX2hlbHAK
KyAgLS13aXRoLWJ0aHJlYWRzICAgICAgICAgVXNlIHN5c3RlbSBidGhyZWFkcyBsaWJyYXJ5IGFz
IHRocmVhZCBzdWJzeXN0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgKEJlT1Mgb25seSki
CithY19oZWxwPSIkYWNfaGVscAorICAtLXdpdGgtbmF0aXZlLXRocmVhZHMgICBVc2UgbmF0aXZl
IHN5c3RlbSB0aHJlYWRzIGFzIHRocmVhZCBzdWJzeXN0ZW0KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgKFNvbGFyaXMgb25seSkiCithY19oZWxwPSIkYWNfaGVscAorICAtLWVuYWJsZS1jcGx1
cyAgICAgICAgICBFbmFibGUgc29tZSBjKysgYXBpIHJvdXRpbmVzIgorYWNfaGVscD0iJGFjX2hl
bHAKKyAgLS1lbmFibGUtaXB2NiAgICAgICAgICAgQ29tcGlsZSBpcHY2IHN1cHBvcnQiCithY19o
ZWxwPSIkYWNfaGVscAorICAtLWVuYWJsZS1ib2VobSAgICAgICAgICBFbmFibGUgdGhlIEJvZWht
IEdhcmJhZ2UgQ29sbGVjdG9yIgorCisjIEluaXRpYWxpemUgc29tZSB2YXJpYWJsZXMgc2V0IGJ5
IG9wdGlvbnMuCisjIFRoZSB2YXJpYWJsZXMgaGF2ZSB0aGUgc2FtZSBuYW1lcyBhcyB0aGUgb3B0
aW9ucywgd2l0aAorIyBkYXNoZXMgY2hhbmdlZCB0byB1bmRlcmxpbmVzLgorYnVpbGQ9Tk9ORQor
Y2FjaGVfZmlsZT0uL2NvbmZpZy5jYWNoZQorZXhlY19wcmVmaXg9Tk9ORQoraG9zdD1OT05FCitu
b19jcmVhdGU9Citub25vcHQ9Tk9ORQorbm9fcmVjdXJzaW9uPQorcHJlZml4PU5PTkUKK3Byb2dy
YW1fcHJlZml4PU5PTkUKK3Byb2dyYW1fc3VmZml4PU5PTkUKK3Byb2dyYW1fdHJhbnNmb3JtX25h
bWU9cyx4LHgsCitzaWxlbnQ9CitzaXRlPQorc3JjZGlyPQordGFyZ2V0PU5PTkUKK3ZlcmJvc2U9
Cit4X2luY2x1ZGVzPU5PTkUKK3hfbGlicmFyaWVzPU5PTkUKK2JpbmRpcj0nJHtleGVjX3ByZWZp
eH0vYmluJworc2JpbmRpcj0nJHtleGVjX3ByZWZpeH0vc2JpbicKK2xpYmV4ZWNkaXI9JyR7ZXhl
Y19wcmVmaXh9L2xpYmV4ZWMnCitkYXRhZGlyPScke3ByZWZpeH0vc2hhcmUnCitzeXNjb25mZGly
PScke3ByZWZpeH0vZXRjJworc2hhcmVkc3RhdGVkaXI9JyR7cHJlZml4fS9jb20nCitsb2NhbHN0
YXRlZGlyPScke3ByZWZpeH0vdmFyJworbGliZGlyPScke2V4ZWNfcHJlZml4fS9saWInCitpbmNs
dWRlZGlyPScke3ByZWZpeH0vaW5jbHVkZScKK29sZGluY2x1ZGVkaXI9Jy91c3IvaW5jbHVkZScK
K2luZm9kaXI9JyR7cHJlZml4fS9pbmZvJworbWFuZGlyPScke3ByZWZpeH0vbWFuJworCisjIElu
aXRpYWxpemUgc29tZSBvdGhlciB2YXJpYWJsZXMuCitzdWJkaXJzPQorTUZMQUdTPSBNQUtFRkxB
R1M9CitTSEVMTD0ke0NPTkZJR19TSEVMTC0vYmluL3NofQorIyBNYXhpbXVtIG51bWJlciBvZiBs
aW5lcyB0byBwdXQgaW4gYSBzaGVsbCBoZXJlIGRvY3VtZW50LgorYWNfbWF4X2hlcmVfbGluZXM9
MTIKKworYWNfcHJldj0KK2ZvciBhY19vcHRpb24KK2RvCisKKyAgIyBJZiB0aGUgcHJldmlvdXMg
b3B0aW9uIG5lZWRzIGFuIGFyZ3VtZW50LCBhc3NpZ24gaXQuCisgIGlmIHRlc3QgLW4gIiRhY19w
cmV2IjsgdGhlbgorICAgIGV2YWwgIiRhY19wcmV2PVwkYWNfb3B0aW9uIgorICAgIGFjX3ByZXY9
CisgICAgY29udGludWUKKyAgZmkKKworICBjYXNlICIkYWNfb3B0aW9uIiBpbgorICAtKj0qKSBh
Y19vcHRhcmc9YGVjaG8gIiRhY19vcHRpb24iIHwgc2VkICdzL1stX2EtekEtWjAtOV0qPS8vJ2Ag
OzsKKyAgKikgYWNfb3B0YXJnPSA7OworICBlc2FjCisKKyAgIyBBY2NlcHQgdGhlIGltcG9ydGFu
dCBDeWdudXMgY29uZmlndXJlIG9wdGlvbnMsIHNvIHdlIGNhbiBkaWFnbm9zZSB0eXBvcy4KKwor
ICBjYXNlICIkYWNfb3B0aW9uIiBpbgorCisgIC1iaW5kaXIgfCAtLWJpbmRpciB8IC0tYmluZGkg
fCAtLWJpbmQgfCAtLWJpbiB8IC0tYmkpCisgICAgYWNfcHJldj1iaW5kaXIgOzsKKyAgLWJpbmRp
cj0qIHwgLS1iaW5kaXI9KiB8IC0tYmluZGk9KiB8IC0tYmluZD0qIHwgLS1iaW49KiB8IC0tYmk9
KikKKyAgICBiaW5kaXI9IiRhY19vcHRhcmciIDs7CisKKyAgLWJ1aWxkIHwgLS1idWlsZCB8IC0t
YnVpbCB8IC0tYnVpIHwgLS1idSkKKyAgICBhY19wcmV2PWJ1aWxkIDs7CisgIC1idWlsZD0qIHwg
LS1idWlsZD0qIHwgLS1idWlsPSogfCAtLWJ1aT0qIHwgLS1idT0qKQorICAgIGJ1aWxkPSIkYWNf
b3B0YXJnIiA7OworCisgIC1jYWNoZS1maWxlIHwgLS1jYWNoZS1maWxlIHwgLS1jYWNoZS1maWwg
fCAtLWNhY2hlLWZpIFwKKyAgfCAtLWNhY2hlLWYgfCAtLWNhY2hlLSB8IC0tY2FjaGUgfCAtLWNh
Y2ggfCAtLWNhYyB8IC0tY2EgfCAtLWMpCisgICAgYWNfcHJldj1jYWNoZV9maWxlIDs7CisgIC1j
YWNoZS1maWxlPSogfCAtLWNhY2hlLWZpbGU9KiB8IC0tY2FjaGUtZmlsPSogfCAtLWNhY2hlLWZp
PSogXAorICB8IC0tY2FjaGUtZj0qIHwgLS1jYWNoZS09KiB8IC0tY2FjaGU9KiB8IC0tY2FjaD0q
IHwgLS1jYWM9KiB8IC0tY2E9KiB8IC0tYz0qKQorICAgIGNhY2hlX2ZpbGU9IiRhY19vcHRhcmci
IDs7CisKKyAgLWRhdGFkaXIgfCAtLWRhdGFkaXIgfCAtLWRhdGFkaSB8IC0tZGF0YWQgfCAtLWRh
dGEgfCAtLWRhdCB8IC0tZGEpCisgICAgYWNfcHJldj1kYXRhZGlyIDs7CisgIC1kYXRhZGlyPSog
fCAtLWRhdGFkaXI9KiB8IC0tZGF0YWRpPSogfCAtLWRhdGFkPSogfCAtLWRhdGE9KiB8IC0tZGF0
PSogXAorICB8IC0tZGE9KikKKyAgICBkYXRhZGlyPSIkYWNfb3B0YXJnIiA7OworCisgIC1kaXNh
YmxlLSogfCAtLWRpc2FibGUtKikKKyAgICBhY19mZWF0dXJlPWBlY2hvICRhY19vcHRpb258c2Vk
IC1lICdzLy0qZGlzYWJsZS0vLydgCisgICAgIyBSZWplY3QgbmFtZXMgdGhhdCBhcmUgbm90IHZh
bGlkIHNoZWxsIHZhcmlhYmxlIG5hbWVzLgorICAgIGlmIHRlc3QgLW4gImBlY2hvICRhY19mZWF0
dXJlfCBzZWQgJ3MvWy1hLXpBLVowLTlfXS8vZydgIjsgdGhlbgorICAgICAgeyBlY2hvICJjb25m
aWd1cmU6IGVycm9yOiAkYWNfZmVhdHVyZTogaW52YWxpZCBmZWF0dXJlIG5hbWUiIDE+JjI7IGV4
aXQgMTsgfQorICAgIGZpCisgICAgYWNfZmVhdHVyZT1gZWNobyAkYWNfZmVhdHVyZXwgc2VkICdz
Ly0vXy9nJ2AKKyAgICBldmFsICJlbmFibGVfJHthY19mZWF0dXJlfT1ubyIgOzsKKworICAtZW5h
YmxlLSogfCAtLWVuYWJsZS0qKQorICAgIGFjX2ZlYXR1cmU9YGVjaG8gJGFjX29wdGlvbnxzZWQg
LWUgJ3MvLSplbmFibGUtLy8nIC1lICdzLz0uKi8vJ2AKKyAgICAjIFJlamVjdCBuYW1lcyB0aGF0
IGFyZSBub3QgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZXMuCisgICAgaWYgdGVzdCAtbiAiYGVj
aG8gJGFjX2ZlYXR1cmV8IHNlZCAncy9bLV9hLXpBLVowLTldLy9nJ2AiOyB0aGVuCisgICAgICB7
IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6ICRhY19mZWF0dXJlOiBpbnZhbGlkIGZlYXR1cmUgbmFt
ZSIgMT4mMjsgZXhpdCAxOyB9CisgICAgZmkKKyAgICBhY19mZWF0dXJlPWBlY2hvICRhY19mZWF0
dXJlfCBzZWQgJ3MvLS9fL2cnYAorICAgIGNhc2UgIiRhY19vcHRpb24iIGluCisgICAgICAqPSop
IDs7CisgICAgICAqKSBhY19vcHRhcmc9eWVzIDs7CisgICAgZXNhYworICAgIGV2YWwgImVuYWJs
ZV8ke2FjX2ZlYXR1cmV9PSckYWNfb3B0YXJnJyIgOzsKKworICAtZXhlYy1wcmVmaXggfCAtLWV4
ZWNfcHJlZml4IHwgLS1leGVjLXByZWZpeCB8IC0tZXhlYy1wcmVmaSBcCisgIHwgLS1leGVjLXBy
ZWYgfCAtLWV4ZWMtcHJlIHwgLS1leGVjLXByIHwgLS1leGVjLXAgfCAtLWV4ZWMtIFwKKyAgfCAt
LWV4ZWMgfCAtLWV4ZSB8IC0tZXgpCisgICAgYWNfcHJldj1leGVjX3ByZWZpeCA7OworICAtZXhl
Yy1wcmVmaXg9KiB8IC0tZXhlY19wcmVmaXg9KiB8IC0tZXhlYy1wcmVmaXg9KiB8IC0tZXhlYy1w
cmVmaT0qIFwKKyAgfCAtLWV4ZWMtcHJlZj0qIHwgLS1leGVjLXByZT0qIHwgLS1leGVjLXByPSog
fCAtLWV4ZWMtcD0qIHwgLS1leGVjLT0qIFwKKyAgfCAtLWV4ZWM9KiB8IC0tZXhlPSogfCAtLWV4
PSopCisgICAgZXhlY19wcmVmaXg9IiRhY19vcHRhcmciIDs7CisKKyAgLWdhcyB8IC0tZ2FzIHwg
LS1nYSB8IC0tZykKKyAgICAjIE9ic29sZXRlOyB1c2UgLS13aXRoLWdhcy4KKyAgICB3aXRoX2dh
cz15ZXMgOzsKKworICAtaGVscCB8IC0taGVscCB8IC0taGVsIHwgLS1oZSkKKyAgICAjIE9taXQg
c29tZSBpbnRlcm5hbCBvciBvYnNvbGV0ZSBvcHRpb25zIHRvIG1ha2UgdGhlIGxpc3QgbGVzcyBp
bXBvc2luZy4KKyAgICAjIFRoaXMgbWVzc2FnZSBpcyB0b28gbG9uZyB0byBiZSBhIHN0cmluZyBp
biB0aGUgQS9VWCAzLjEgc2guCisgICAgY2F0IDw8IEVPRgorVXNhZ2U6IGNvbmZpZ3VyZSBbb3B0
aW9uc10gW2hvc3RdCitPcHRpb25zOiBbZGVmYXVsdHMgaW4gYnJhY2tldHMgYWZ0ZXIgZGVzY3Jp
cHRpb25zXQorQ29uZmlndXJhdGlvbjoKKyAgLS1jYWNoZS1maWxlPUZJTEUgICAgICAgY2FjaGUg
dGVzdCByZXN1bHRzIGluIEZJTEUKKyAgLS1oZWxwICAgICAgICAgICAgICAgICAgcHJpbnQgdGhp
cyBtZXNzYWdlCisgIC0tbm8tY3JlYXRlICAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgb3V0cHV0
IGZpbGVzCisgIC0tcXVpZXQsIC0tc2lsZW50ICAgICAgIGRvIG5vdCBwcmludCBcYGNoZWNraW5n
Li4uJyBtZXNzYWdlcworICAtLXZlcnNpb24gICAgICAgICAgICAgICBwcmludCB0aGUgdmVyc2lv
biBvZiBhdXRvY29uZiB0aGF0IGNyZWF0ZWQgY29uZmlndXJlCitEaXJlY3RvcnkgYW5kIGZpbGUg
bmFtZXM6CisgIC0tcHJlZml4PVBSRUZJWCAgICAgICAgIGluc3RhbGwgYXJjaGl0ZWN0dXJlLWlu
ZGVwZW5kZW50IGZpbGVzIGluIFBSRUZJWAorICAgICAgICAgICAgICAgICAgICAgICAgICBbJGFj
X2RlZmF1bHRfcHJlZml4XQorICAtLWV4ZWMtcHJlZml4PUVQUkVGSVggICBpbnN0YWxsIGFyY2hp
dGVjdHVyZS1kZXBlbmRlbnQgZmlsZXMgaW4gRVBSRUZJWAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBbc2FtZSBhcyBwcmVmaXhdCisgIC0tYmluZGlyPURJUiAgICAgICAgICAgIHVzZXIgZXhl
Y3V0YWJsZXMgaW4gRElSIFtFUFJFRklYL2Jpbl0KKyAgLS1zYmluZGlyPURJUiAgICAgICAgICAg
c3lzdGVtIGFkbWluIGV4ZWN1dGFibGVzIGluIERJUiBbRVBSRUZJWC9zYmluXQorICAtLWxpYmV4
ZWNkaXI9RElSICAgICAgICBwcm9ncmFtIGV4ZWN1dGFibGVzIGluIERJUiBbRVBSRUZJWC9saWJl
eGVjXQorICAtLWRhdGFkaXI9RElSICAgICAgICAgICByZWFkLW9ubHkgYXJjaGl0ZWN0dXJlLWlu
ZGVwZW5kZW50IGRhdGEgaW4gRElSCisgICAgICAgICAgICAgICAgICAgICAgICAgIFtQUkVGSVgv
c2hhcmVdCisgIC0tc3lzY29uZmRpcj1ESVIgICAgICAgIHJlYWQtb25seSBzaW5nbGUtbWFjaGlu
ZSBkYXRhIGluIERJUiBbUFJFRklYL2V0Y10KKyAgLS1zaGFyZWRzdGF0ZWRpcj1ESVIgICAgbW9k
aWZpYWJsZSBhcmNoaXRlY3R1cmUtaW5kZXBlbmRlbnQgZGF0YSBpbiBESVIKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgW1BSRUZJWC9jb21dCisgIC0tbG9jYWxzdGF0ZWRpcj1ESVIgICAgIG1v
ZGlmaWFibGUgc2luZ2xlLW1hY2hpbmUgZGF0YSBpbiBESVIgW1BSRUZJWC92YXJdCisgIC0tbGli
ZGlyPURJUiAgICAgICAgICAgIG9iamVjdCBjb2RlIGxpYnJhcmllcyBpbiBESVIgW0VQUkVGSVgv
bGliXQorICAtLWluY2x1ZGVkaXI9RElSICAgICAgICBDIGhlYWRlciBmaWxlcyBpbiBESVIgW1BS
RUZJWC9pbmNsdWRlXQorICAtLW9sZGluY2x1ZGVkaXI9RElSICAgICBDIGhlYWRlciBmaWxlcyBm
b3Igbm9uLWdjYyBpbiBESVIgWy91c3IvaW5jbHVkZV0KKyAgLS1pbmZvZGlyPURJUiAgICAgICAg
ICAgaW5mbyBkb2N1bWVudGF0aW9uIGluIERJUiBbUFJFRklYL2luZm9dCisgIC0tbWFuZGlyPURJ
UiAgICAgICAgICAgIG1hbiBkb2N1bWVudGF0aW9uIGluIERJUiBbUFJFRklYL21hbl0KKyAgLS1z
cmNkaXI9RElSICAgICAgICAgICAgZmluZCB0aGUgc291cmNlcyBpbiBESVIgW2NvbmZpZ3VyZSBk
aXIgb3IgLi5dCisgIC0tcHJvZ3JhbS1wcmVmaXg9UFJFRklYIHByZXBlbmQgUFJFRklYIHRvIGlu
c3RhbGxlZCBwcm9ncmFtIG5hbWVzCisgIC0tcHJvZ3JhbS1zdWZmaXg9U1VGRklYIGFwcGVuZCBT
VUZGSVggdG8gaW5zdGFsbGVkIHByb2dyYW0gbmFtZXMKKyAgLS1wcm9ncmFtLXRyYW5zZm9ybS1u
YW1lPVBST0dSQU0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuIHNlZCBQUk9HUkFNIG9u
IGluc3RhbGxlZCBwcm9ncmFtIG5hbWVzCitFT0YKKyAgICBjYXQgPDwgRU9GCitIb3N0IHR5cGU6
CisgIC0tYnVpbGQ9QlVJTEQgICAgICAgICAgIGNvbmZpZ3VyZSBmb3IgYnVpbGRpbmcgb24gQlVJ
TEQgW0JVSUxEPUhPU1RdCisgIC0taG9zdD1IT1NUICAgICAgICAgICAgIGNvbmZpZ3VyZSBmb3Ig
SE9TVCBbZ3Vlc3NlZF0KKyAgLS10YXJnZXQ9VEFSR0VUICAgICAgICAgY29uZmlndXJlIGZvciBU
QVJHRVQgW1RBUkdFVD1IT1NUXQorRmVhdHVyZXMgYW5kIHBhY2thZ2VzOgorICAtLWRpc2FibGUt
RkVBVFVSRSAgICAgICBkbyBub3QgaW5jbHVkZSBGRUFUVVJFIChzYW1lIGFzIC0tZW5hYmxlLUZF
QVRVUkU9bm8pCisgIC0tZW5hYmxlLUZFQVRVUkVbPUFSR10gIGluY2x1ZGUgRkVBVFVSRSBbQVJH
PXllc10KKyAgLS13aXRoLVBBQ0tBR0VbPUFSR10gICAgdXNlIFBBQ0tBR0UgW0FSRz15ZXNdCisg
IC0td2l0aG91dC1QQUNLQUdFICAgICAgIGRvIG5vdCB1c2UgUEFDS0FHRSAoc2FtZSBhcyAtLXdp
dGgtUEFDS0FHRT1ubykKKyAgLS14LWluY2x1ZGVzPURJUiAgICAgICAgWCBpbmNsdWRlIGZpbGVz
IGFyZSBpbiBESVIKKyAgLS14LWxpYnJhcmllcz1ESVIgICAgICAgWCBsaWJyYXJ5IGZpbGVzIGFy
ZSBpbiBESVIKK0VPRgorICAgIGlmIHRlc3QgLW4gIiRhY19oZWxwIjsgdGhlbgorICAgICAgZWNo
byAiLS1lbmFibGUgYW5kIC0td2l0aCBvcHRpb25zIHJlY29nbml6ZWQ6JGFjX2hlbHAiCisgICAg
ZmkKKyAgICBleGl0IDAgOzsKKworICAtaG9zdCB8IC0taG9zdCB8IC0taG9zIHwgLS1obykKKyAg
ICBhY19wcmV2PWhvc3QgOzsKKyAgLWhvc3Q9KiB8IC0taG9zdD0qIHwgLS1ob3M9KiB8IC0taG89
KikKKyAgICBob3N0PSIkYWNfb3B0YXJnIiA7OworCisgIC1pbmNsdWRlZGlyIHwgLS1pbmNsdWRl
ZGlyIHwgLS1pbmNsdWRlZGkgfCAtLWluY2x1ZGVkIHwgLS1pbmNsdWRlIFwKKyAgfCAtLWluY2x1
ZCB8IC0taW5jbHUgfCAtLWluY2wgfCAtLWluYykKKyAgICBhY19wcmV2PWluY2x1ZGVkaXIgOzsK
KyAgLWluY2x1ZGVkaXI9KiB8IC0taW5jbHVkZWRpcj0qIHwgLS1pbmNsdWRlZGk9KiB8IC0taW5j
bHVkZWQ9KiB8IC0taW5jbHVkZT0qIFwKKyAgfCAtLWluY2x1ZD0qIHwgLS1pbmNsdT0qIHwgLS1p
bmNsPSogfCAtLWluYz0qKQorICAgIGluY2x1ZGVkaXI9IiRhY19vcHRhcmciIDs7CisKKyAgLWlu
Zm9kaXIgfCAtLWluZm9kaXIgfCAtLWluZm9kaSB8IC0taW5mb2QgfCAtLWluZm8gfCAtLWluZikK
KyAgICBhY19wcmV2PWluZm9kaXIgOzsKKyAgLWluZm9kaXI9KiB8IC0taW5mb2Rpcj0qIHwgLS1p
bmZvZGk9KiB8IC0taW5mb2Q9KiB8IC0taW5mbz0qIHwgLS1pbmY9KikKKyAgICBpbmZvZGlyPSIk
YWNfb3B0YXJnIiA7OworCisgIC1saWJkaXIgfCAtLWxpYmRpciB8IC0tbGliZGkgfCAtLWxpYmQp
CisgICAgYWNfcHJldj1saWJkaXIgOzsKKyAgLWxpYmRpcj0qIHwgLS1saWJkaXI9KiB8IC0tbGli
ZGk9KiB8IC0tbGliZD0qKQorICAgIGxpYmRpcj0iJGFjX29wdGFyZyIgOzsKKworICAtbGliZXhl
Y2RpciB8IC0tbGliZXhlY2RpciB8IC0tbGliZXhlY2RpIHwgLS1saWJleGVjZCB8IC0tbGliZXhl
YyBcCisgIHwgLS1saWJleGUgfCAtLWxpYmV4IHwgLS1saWJlKQorICAgIGFjX3ByZXY9bGliZXhl
Y2RpciA7OworICAtbGliZXhlY2Rpcj0qIHwgLS1saWJleGVjZGlyPSogfCAtLWxpYmV4ZWNkaT0q
IHwgLS1saWJleGVjZD0qIHwgLS1saWJleGVjPSogXAorICB8IC0tbGliZXhlPSogfCAtLWxpYmV4
PSogfCAtLWxpYmU9KikKKyAgICBsaWJleGVjZGlyPSIkYWNfb3B0YXJnIiA7OworCisgIC1sb2Nh
bHN0YXRlZGlyIHwgLS1sb2NhbHN0YXRlZGlyIHwgLS1sb2NhbHN0YXRlZGkgfCAtLWxvY2Fsc3Rh
dGVkIFwKKyAgfCAtLWxvY2Fsc3RhdGUgfCAtLWxvY2Fsc3RhdCB8IC0tbG9jYWxzdGEgfCAtLWxv
Y2Fsc3QgXAorICB8IC0tbG9jYWxzIHwgLS1sb2NhbCB8IC0tbG9jYSB8IC0tbG9jIHwgLS1sbykK
KyAgICBhY19wcmV2PWxvY2Fsc3RhdGVkaXIgOzsKKyAgLWxvY2Fsc3RhdGVkaXI9KiB8IC0tbG9j
YWxzdGF0ZWRpcj0qIHwgLS1sb2NhbHN0YXRlZGk9KiB8IC0tbG9jYWxzdGF0ZWQ9KiBcCisgIHwg
LS1sb2NhbHN0YXRlPSogfCAtLWxvY2Fsc3RhdD0qIHwgLS1sb2NhbHN0YT0qIHwgLS1sb2NhbHN0
PSogXAorICB8IC0tbG9jYWxzPSogfCAtLWxvY2FsPSogfCAtLWxvY2E9KiB8IC0tbG9jPSogfCAt
LWxvPSopCisgICAgbG9jYWxzdGF0ZWRpcj0iJGFjX29wdGFyZyIgOzsKKworICAtbWFuZGlyIHwg
LS1tYW5kaXIgfCAtLW1hbmRpIHwgLS1tYW5kIHwgLS1tYW4gfCAtLW1hIHwgLS1tKQorICAgIGFj
X3ByZXY9bWFuZGlyIDs7CisgIC1tYW5kaXI9KiB8IC0tbWFuZGlyPSogfCAtLW1hbmRpPSogfCAt
LW1hbmQ9KiB8IC0tbWFuPSogfCAtLW1hPSogfCAtLW09KikKKyAgICBtYW5kaXI9IiRhY19vcHRh
cmciIDs7CisKKyAgLW5mcCB8IC0tbmZwIHwgLS1uZikKKyAgICAjIE9ic29sZXRlOyB1c2UgLS13
aXRob3V0LWZwLgorICAgIHdpdGhfZnA9bm8gOzsKKworICAtbm8tY3JlYXRlIHwgLS1uby1jcmVh
dGUgfCAtLW5vLWNyZWF0IHwgLS1uby1jcmVhIHwgLS1uby1jcmUgXAorICB8IC0tbm8tY3IgfCAt
LW5vLWMpCisgICAgbm9fY3JlYXRlPXllcyA7OworCisgIC1uby1yZWN1cnNpb24gfCAtLW5vLXJl
Y3Vyc2lvbiB8IC0tbm8tcmVjdXJzaW8gfCAtLW5vLXJlY3Vyc2kgXAorICB8IC0tbm8tcmVjdXJz
IHwgLS1uby1yZWN1ciB8IC0tbm8tcmVjdSB8IC0tbm8tcmVjIHwgLS1uby1yZSB8IC0tbm8tcikK
KyAgICBub19yZWN1cnNpb249eWVzIDs7CisKKyAgLW9sZGluY2x1ZGVkaXIgfCAtLW9sZGluY2x1
ZGVkaXIgfCAtLW9sZGluY2x1ZGVkaSB8IC0tb2xkaW5jbHVkZWQgXAorICB8IC0tb2xkaW5jbHVk
ZSB8IC0tb2xkaW5jbHVkIHwgLS1vbGRpbmNsdSB8IC0tb2xkaW5jbCB8IC0tb2xkaW5jIFwKKyAg
fCAtLW9sZGluIHwgLS1vbGRpIHwgLS1vbGQgfCAtLW9sIHwgLS1vKQorICAgIGFjX3ByZXY9b2xk
aW5jbHVkZWRpciA7OworICAtb2xkaW5jbHVkZWRpcj0qIHwgLS1vbGRpbmNsdWRlZGlyPSogfCAt
LW9sZGluY2x1ZGVkaT0qIHwgLS1vbGRpbmNsdWRlZD0qIFwKKyAgfCAtLW9sZGluY2x1ZGU9KiB8
IC0tb2xkaW5jbHVkPSogfCAtLW9sZGluY2x1PSogfCAtLW9sZGluY2w9KiB8IC0tb2xkaW5jPSog
XAorICB8IC0tb2xkaW49KiB8IC0tb2xkaT0qIHwgLS1vbGQ9KiB8IC0tb2w9KiB8IC0tbz0qKQor
ICAgIG9sZGluY2x1ZGVkaXI9IiRhY19vcHRhcmciIDs7CisKKyAgLXByZWZpeCB8IC0tcHJlZml4
IHwgLS1wcmVmaSB8IC0tcHJlZiB8IC0tcHJlIHwgLS1wciB8IC0tcCkKKyAgICBhY19wcmV2PXBy
ZWZpeCA7OworICAtcHJlZml4PSogfCAtLXByZWZpeD0qIHwgLS1wcmVmaT0qIHwgLS1wcmVmPSog
fCAtLXByZT0qIHwgLS1wcj0qIHwgLS1wPSopCisgICAgcHJlZml4PSIkYWNfb3B0YXJnIiA7Owor
CisgIC1wcm9ncmFtLXByZWZpeCB8IC0tcHJvZ3JhbS1wcmVmaXggfCAtLXByb2dyYW0tcHJlZmkg
fCAtLXByb2dyYW0tcHJlZiBcCisgIHwgLS1wcm9ncmFtLXByZSB8IC0tcHJvZ3JhbS1wciB8IC0t
cHJvZ3JhbS1wKQorICAgIGFjX3ByZXY9cHJvZ3JhbV9wcmVmaXggOzsKKyAgLXByb2dyYW0tcHJl
Zml4PSogfCAtLXByb2dyYW0tcHJlZml4PSogfCAtLXByb2dyYW0tcHJlZmk9KiBcCisgIHwgLS1w
cm9ncmFtLXByZWY9KiB8IC0tcHJvZ3JhbS1wcmU9KiB8IC0tcHJvZ3JhbS1wcj0qIHwgLS1wcm9n
cmFtLXA9KikKKyAgICBwcm9ncmFtX3ByZWZpeD0iJGFjX29wdGFyZyIgOzsKKworICAtcHJvZ3Jh
bS1zdWZmaXggfCAtLXByb2dyYW0tc3VmZml4IHwgLS1wcm9ncmFtLXN1ZmZpIHwgLS1wcm9ncmFt
LXN1ZmYgXAorICB8IC0tcHJvZ3JhbS1zdWYgfCAtLXByb2dyYW0tc3UgfCAtLXByb2dyYW0tcykK
KyAgICBhY19wcmV2PXByb2dyYW1fc3VmZml4IDs7CisgIC1wcm9ncmFtLXN1ZmZpeD0qIHwgLS1w
cm9ncmFtLXN1ZmZpeD0qIHwgLS1wcm9ncmFtLXN1ZmZpPSogXAorICB8IC0tcHJvZ3JhbS1zdWZm
PSogfCAtLXByb2dyYW0tc3VmPSogfCAtLXByb2dyYW0tc3U9KiB8IC0tcHJvZ3JhbS1zPSopCisg
ICAgcHJvZ3JhbV9zdWZmaXg9IiRhY19vcHRhcmciIDs7CisKKyAgLXByb2dyYW0tdHJhbnNmb3Jt
LW5hbWUgfCAtLXByb2dyYW0tdHJhbnNmb3JtLW5hbWUgXAorICB8IC0tcHJvZ3JhbS10cmFuc2Zv
cm0tbmFtIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYSBcCisgIHwgLS1wcm9ncmFtLXRyYW5zZm9y
bS1uIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS0gXAorICB8IC0tcHJvZ3JhbS10cmFuc2Zvcm0gfCAt
LXByb2dyYW0tdHJhbnNmb3IgXAorICB8IC0tcHJvZ3JhbS10cmFuc2ZvIHwgLS1wcm9ncmFtLXRy
YW5zZiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zIHwgLS1wcm9ncmFtLXRyYW4gXAorICB8IC0tcHJv
Z3ItdHJhIHwgLS1wcm9ncmFtLXRyIHwgLS1wcm9ncmFtLXQpCisgICAgYWNfcHJldj1wcm9ncmFt
X3RyYW5zZm9ybV9uYW1lIDs7CisgIC1wcm9ncmFtLXRyYW5zZm9ybS1uYW1lPSogfCAtLXByb2dy
YW0tdHJhbnNmb3JtLW5hbWU9KiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uYW09KiB8IC0t
cHJvZ3JhbS10cmFuc2Zvcm0tbmE9KiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zZm9ybS1uPSogfCAt
LXByb2dyYW0tdHJhbnNmb3JtLT0qIFwKKyAgfCAtLXByb2dyYW0tdHJhbnNmb3JtPSogfCAtLXBy
b2dyYW0tdHJhbnNmb3I9KiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zZm89KiB8IC0tcHJvZ3JhbS10
cmFuc2Y9KiBcCisgIHwgLS1wcm9ncmFtLXRyYW5zPSogfCAtLXByb2dyYW0tdHJhbj0qIFwKKyAg
fCAtLXByb2dyLXRyYT0qIHwgLS1wcm9ncmFtLXRyPSogfCAtLXByb2dyYW0tdD0qKQorICAgIHBy
b2dyYW1fdHJhbnNmb3JtX25hbWU9IiRhY19vcHRhcmciIDs7CisKKyAgLXEgfCAtcXVpZXQgfCAt
LXF1aWV0IHwgLS1xdWllIHwgLS1xdWkgfCAtLXF1IHwgLS1xIFwKKyAgfCAtc2lsZW50IHwgLS1z
aWxlbnQgfCAtLXNpbGVuIHwgLS1zaWxlIHwgLS1zaWwpCisgICAgc2lsZW50PXllcyA7OworCisg
IC1zYmluZGlyIHwgLS1zYmluZGlyIHwgLS1zYmluZGkgfCAtLXNiaW5kIHwgLS1zYmluIHwgLS1z
YmkgfCAtLXNiKQorICAgIGFjX3ByZXY9c2JpbmRpciA7OworICAtc2JpbmRpcj0qIHwgLS1zYmlu
ZGlyPSogfCAtLXNiaW5kaT0qIHwgLS1zYmluZD0qIHwgLS1zYmluPSogXAorICB8IC0tc2JpPSog
fCAtLXNiPSopCisgICAgc2JpbmRpcj0iJGFjX29wdGFyZyIgOzsKKworICAtc2hhcmVkc3RhdGVk
aXIgfCAtLXNoYXJlZHN0YXRlZGlyIHwgLS1zaGFyZWRzdGF0ZWRpIFwKKyAgfCAtLXNoYXJlZHN0
YXRlZCB8IC0tc2hhcmVkc3RhdGUgfCAtLXNoYXJlZHN0YXQgfCAtLXNoYXJlZHN0YSBcCisgIHwg
LS1zaGFyZWRzdCB8IC0tc2hhcmVkcyB8IC0tc2hhcmVkIHwgLS1zaGFyZSB8IC0tc2hhciBcCisg
IHwgLS1zaGEgfCAtLXNoKQorICAgIGFjX3ByZXY9c2hhcmVkc3RhdGVkaXIgOzsKKyAgLXNoYXJl
ZHN0YXRlZGlyPSogfCAtLXNoYXJlZHN0YXRlZGlyPSogfCAtLXNoYXJlZHN0YXRlZGk9KiBcCisg
IHwgLS1zaGFyZWRzdGF0ZWQ9KiB8IC0tc2hhcmVkc3RhdGU9KiB8IC0tc2hhcmVkc3RhdD0qIHwg
LS1zaGFyZWRzdGE9KiBcCisgIHwgLS1zaGFyZWRzdD0qIHwgLS1zaGFyZWRzPSogfCAtLXNoYXJl
ZD0qIHwgLS1zaGFyZT0qIHwgLS1zaGFyPSogXAorICB8IC0tc2hhPSogfCAtLXNoPSopCisgICAg
c2hhcmVkc3RhdGVkaXI9IiRhY19vcHRhcmciIDs7CisKKyAgLXNpdGUgfCAtLXNpdGUgfCAtLXNp
dCkKKyAgICBhY19wcmV2PXNpdGUgOzsKKyAgLXNpdGU9KiB8IC0tc2l0ZT0qIHwgLS1zaXQ9KikK
KyAgICBzaXRlPSIkYWNfb3B0YXJnIiA7OworCisgIC1zcmNkaXIgfCAtLXNyY2RpciB8IC0tc3Jj
ZGkgfCAtLXNyY2QgfCAtLXNyYyB8IC0tc3IpCisgICAgYWNfcHJldj1zcmNkaXIgOzsKKyAgLXNy
Y2Rpcj0qIHwgLS1zcmNkaXI9KiB8IC0tc3JjZGk9KiB8IC0tc3JjZD0qIHwgLS1zcmM9KiB8IC0t
c3I9KikKKyAgICBzcmNkaXI9IiRhY19vcHRhcmciIDs7CisKKyAgLXN5c2NvbmZkaXIgfCAtLXN5
c2NvbmZkaXIgfCAtLXN5c2NvbmZkaSB8IC0tc3lzY29uZmQgfCAtLXN5c2NvbmYgXAorICB8IC0t
c3lzY29uIHwgLS1zeXNjbyB8IC0tc3lzYyB8IC0tc3lzIHwgLS1zeSkKKyAgICBhY19wcmV2PXN5
c2NvbmZkaXIgOzsKKyAgLXN5c2NvbmZkaXI9KiB8IC0tc3lzY29uZmRpcj0qIHwgLS1zeXNjb25m
ZGk9KiB8IC0tc3lzY29uZmQ9KiB8IC0tc3lzY29uZj0qIFwKKyAgfCAtLXN5c2Nvbj0qIHwgLS1z
eXNjbz0qIHwgLS1zeXNjPSogfCAtLXN5cz0qIHwgLS1zeT0qKQorICAgIHN5c2NvbmZkaXI9IiRh
Y19vcHRhcmciIDs7CisKKyAgLXRhcmdldCB8IC0tdGFyZ2V0IHwgLS10YXJnZSB8IC0tdGFyZyB8
IC0tdGFyIHwgLS10YSB8IC0tdCkKKyAgICBhY19wcmV2PXRhcmdldCA7OworICAtdGFyZ2V0PSog
fCAtLXRhcmdldD0qIHwgLS10YXJnZT0qIHwgLS10YXJnPSogfCAtLXRhcj0qIHwgLS10YT0qIHwg
LS10PSopCisgICAgdGFyZ2V0PSIkYWNfb3B0YXJnIiA7OworCisgIC12IHwgLXZlcmJvc2UgfCAt
LXZlcmJvc2UgfCAtLXZlcmJvcyB8IC0tdmVyYm8gfCAtLXZlcmIpCisgICAgdmVyYm9zZT15ZXMg
OzsKKworICAtdmVyc2lvbiB8IC0tdmVyc2lvbiB8IC0tdmVyc2lvIHwgLS12ZXJzaSB8IC0tdmVy
cykKKyAgICBlY2hvICJjb25maWd1cmUgZ2VuZXJhdGVkIGJ5IGF1dG9jb25mIHZlcnNpb24gMi4x
MyIKKyAgICBleGl0IDAgOzsKKworICAtd2l0aC0qIHwgLS13aXRoLSopCisgICAgYWNfcGFja2Fn
ZT1gZWNobyAkYWNfb3B0aW9ufHNlZCAtZSAncy8tKndpdGgtLy8nIC1lICdzLz0uKi8vJ2AKKyAg
ICAjIFJlamVjdCBuYW1lcyB0aGF0IGFyZSBub3QgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZXMu
CisgICAgaWYgdGVzdCAtbiAiYGVjaG8gJGFjX3BhY2thZ2V8IHNlZCAncy9bLV9hLXpBLVowLTld
Ly9nJ2AiOyB0aGVuCisgICAgICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6ICRhY19wYWNrYWdl
OiBpbnZhbGlkIHBhY2thZ2UgbmFtZSIgMT4mMjsgZXhpdCAxOyB9CisgICAgZmkKKyAgICBhY19w
YWNrYWdlPWBlY2hvICRhY19wYWNrYWdlfCBzZWQgJ3MvLS9fL2cnYAorICAgIGNhc2UgIiRhY19v
cHRpb24iIGluCisgICAgICAqPSopIDs7CisgICAgICAqKSBhY19vcHRhcmc9eWVzIDs7CisgICAg
ZXNhYworICAgIGV2YWwgIndpdGhfJHthY19wYWNrYWdlfT0nJGFjX29wdGFyZyciIDs7CisKKyAg
LXdpdGhvdXQtKiB8IC0td2l0aG91dC0qKQorICAgIGFjX3BhY2thZ2U9YGVjaG8gJGFjX29wdGlv
bnxzZWQgLWUgJ3MvLSp3aXRob3V0LS8vJ2AKKyAgICAjIFJlamVjdCBuYW1lcyB0aGF0IGFyZSBu
b3QgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZXMuCisgICAgaWYgdGVzdCAtbiAiYGVjaG8gJGFj
X3BhY2thZ2V8IHNlZCAncy9bLWEtekEtWjAtOV9dLy9nJ2AiOyB0aGVuCisgICAgICB7IGVjaG8g
ImNvbmZpZ3VyZTogZXJyb3I6ICRhY19wYWNrYWdlOiBpbnZhbGlkIHBhY2thZ2UgbmFtZSIgMT4m
MjsgZXhpdCAxOyB9CisgICAgZmkKKyAgICBhY19wYWNrYWdlPWBlY2hvICRhY19wYWNrYWdlfCBz
ZWQgJ3MvLS9fL2cnYAorICAgIGV2YWwgIndpdGhfJHthY19wYWNrYWdlfT1ubyIgOzsKKworICAt
LXgpCisgICAgIyBPYnNvbGV0ZTsgdXNlIC0td2l0aC14LgorICAgIHdpdGhfeD15ZXMgOzsKKwor
ICAteC1pbmNsdWRlcyB8IC0teC1pbmNsdWRlcyB8IC0teC1pbmNsdWRlIHwgLS14LWluY2x1ZCB8
IC0teC1pbmNsdSBcCisgIHwgLS14LWluY2wgfCAtLXgtaW5jIHwgLS14LWluIHwgLS14LWkpCisg
ICAgYWNfcHJldj14X2luY2x1ZGVzIDs7CisgIC14LWluY2x1ZGVzPSogfCAtLXgtaW5jbHVkZXM9
KiB8IC0teC1pbmNsdWRlPSogfCAtLXgtaW5jbHVkPSogfCAtLXgtaW5jbHU9KiBcCisgIHwgLS14
LWluY2w9KiB8IC0teC1pbmM9KiB8IC0teC1pbj0qIHwgLS14LWk9KikKKyAgICB4X2luY2x1ZGVz
PSIkYWNfb3B0YXJnIiA7OworCisgIC14LWxpYnJhcmllcyB8IC0teC1saWJyYXJpZXMgfCAtLXgt
bGlicmFyaWUgfCAtLXgtbGlicmFyaSBcCisgIHwgLS14LWxpYnJhciB8IC0teC1saWJyYSB8IC0t
eC1saWJyIHwgLS14LWxpYiB8IC0teC1saSB8IC0teC1sKQorICAgIGFjX3ByZXY9eF9saWJyYXJp
ZXMgOzsKKyAgLXgtbGlicmFyaWVzPSogfCAtLXgtbGlicmFyaWVzPSogfCAtLXgtbGlicmFyaWU9
KiB8IC0teC1saWJyYXJpPSogXAorICB8IC0teC1saWJyYXI9KiB8IC0teC1saWJyYT0qIHwgLS14
LWxpYnI9KiB8IC0teC1saWI9KiB8IC0teC1saT0qIHwgLS14LWw9KikKKyAgICB4X2xpYnJhcmll
cz0iJGFjX29wdGFyZyIgOzsKKworICAtKikgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiAkYWNf
b3B0aW9uOiBpbnZhbGlkIG9wdGlvbjsgdXNlIC0taGVscCB0byBzaG93IHVzYWdlIiAxPiYyOyBl
eGl0IDE7IH0KKyAgICA7OworCisgICopCisgICAgaWYgdGVzdCAtbiAiYGVjaG8gJGFjX29wdGlv
bnwgc2VkICdzL1stYS16MC05Ll0vL2cnYCI7IHRoZW4KKyAgICAgIGVjaG8gImNvbmZpZ3VyZTog
d2FybmluZzogJGFjX29wdGlvbjogaW52YWxpZCBob3N0IHR5cGUiIDE+JjIKKyAgICBmaQorICAg
IGlmIHRlc3QgIngkbm9ub3B0IiAhPSB4Tk9ORTsgdGhlbgorICAgICAgeyBlY2hvICJjb25maWd1
cmU6IGVycm9yOiBjYW4gb25seSBjb25maWd1cmUgZm9yIG9uZSBob3N0IGFuZCBvbmUgdGFyZ2V0
IGF0IGEgdGltZSIgMT4mMjsgZXhpdCAxOyB9CisgICAgZmkKKyAgICBub25vcHQ9IiRhY19vcHRp
b24iCisgICAgOzsKKworICBlc2FjCitkb25lCisKK2lmIHRlc3QgLW4gIiRhY19wcmV2IjsgdGhl
bgorICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IG1pc3NpbmcgYXJndW1lbnQgdG8gLS1gZWNo
byAkYWNfcHJldiB8IHNlZCAncy9fLy0vZydgIiAxPiYyOyBleGl0IDE7IH0KK2ZpCisKK3RyYXAg
J3JtIC1mciBjb25mdGVzdCogY29uZmRlZnMqIGNvcmUgY29yZS4qICouY29yZSAkYWNfY2xlYW5f
ZmlsZXM7IGV4aXQgMScgMSAyIDE1CisKKyMgRmlsZSBkZXNjcmlwdG9yIHVzYWdlOgorIyAwIHN0
YW5kYXJkIGlucHV0CisjIDEgZmlsZSBjcmVhdGlvbgorIyAyIGVycm9ycyBhbmQgd2FybmluZ3MK
KyMgMyBzb21lIHN5c3RlbXMgbWF5IG9wZW4gaXQgdG8gL2Rldi90dHkKKyMgNCB1c2VkIG9uIHRo
ZSBLdWJvdGEgVGl0YW4KKyMgNiBjaGVja2luZyBmb3IuLi4gbWVzc2FnZXMgYW5kIHJlc3VsdHMK
KyMgNSBjb21waWxlciBtZXNzYWdlcyBzYXZlZCBpbiBjb25maWcubG9nCitpZiB0ZXN0ICIkc2ls
ZW50IiA9IHllczsgdGhlbgorICBleGVjIDY+L2Rldi9udWxsCitlbHNlCisgIGV4ZWMgNj4mMQor
ZmkKK2V4ZWMgNT4uL2NvbmZpZy5sb2cKKworZWNobyAiXAorVGhpcyBmaWxlIGNvbnRhaW5zIGFu
eSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hpbGUKK3J1bm5pbmcgY29uZmlndXJl
LCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtlcyBhIG1pc3Rha2UuCisiIDE+JjUK
KworIyBTdHJpcCBvdXQgLS1uby1jcmVhdGUgYW5kIC0tbm8tcmVjdXJzaW9uIHNvIHRoZXkgZG8g
bm90IHBpbGUgdXAuCisjIEFsc28gcXVvdGUgYW55IGFyZ3MgY29udGFpbmluZyBzaGVsbCBtZXRh
Y2hhcmFjdGVycy4KK2FjX2NvbmZpZ3VyZV9hcmdzPQorZm9yIGFjX2FyZworZG8KKyAgY2FzZSAi
JGFjX2FyZyIgaW4KKyAgLW5vLWNyZWF0ZSB8IC0tbm8tY3JlYXRlIHwgLS1uby1jcmVhdCB8IC0t
bm8tY3JlYSB8IC0tbm8tY3JlIFwKKyAgfCAtLW5vLWNyIHwgLS1uby1jKSA7OworICAtbm8tcmVj
dXJzaW9uIHwgLS1uby1yZWN1cnNpb24gfCAtLW5vLXJlY3Vyc2lvIHwgLS1uby1yZWN1cnNpIFwK
KyAgfCAtLW5vLXJlY3VycyB8IC0tbm8tcmVjdXIgfCAtLW5vLXJlY3UgfCAtLW5vLXJlYyB8IC0t
bm8tcmUgfCAtLW5vLXIpIDs7CisgICoiICIqfCoiCSIqfCpbXFtcXVx+XCNcJFxeXCZcKlwoXClc
e1x9XFxcfFw7XDxcPlw/XSopCisgIGFjX2NvbmZpZ3VyZV9hcmdzPSIkYWNfY29uZmlndXJlX2Fy
Z3MgJyRhY19hcmcnIiA7OworICAqKSBhY19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZpZ3VyZV9h
cmdzICRhY19hcmciIDs7CisgIGVzYWMKK2RvbmUKKworIyBOTFMgbnVpc2FuY2VzLgorIyBPbmx5
IHNldCB0aGVzZSB0byBDIGlmIGFscmVhZHkgc2V0LiAgVGhlc2UgbXVzdCBub3QgYmUgc2V0IHVu
Y29uZGl0aW9uYWxseQorIyBiZWNhdXNlIG5vdCBhbGwgc3lzdGVtcyB1bmRlcnN0YW5kIGUuZy4g
TEFORz1DIChub3RhYmx5IFNDTykuCisjIEZpeGluZyBMQ19NRVNTQUdFUyBwcmV2ZW50cyBTb2xh
cmlzIHNoIGZyb20gdHJhbnNsYXRpbmcgdmFyIHZhbHVlcyBpbiBgc2V0JyEKKyMgTm9uLUMgTENf
Q1RZUEUgdmFsdWVzIGJyZWFrIHRoZSBjdHlwZSBjaGVjay4KK2lmIHRlc3QgIiR7TEFORytzZXR9
IiAgID0gc2V0OyB0aGVuIExBTkc9QzsgICBleHBvcnQgTEFORzsgICBmaQoraWYgdGVzdCAiJHtM
Q19BTEwrc2V0fSIgPSBzZXQ7IHRoZW4gTENfQUxMPUM7IGV4cG9ydCBMQ19BTEw7IGZpCitpZiB0
ZXN0ICIke0xDX01FU1NBR0VTK3NldH0iID0gc2V0OyB0aGVuIExDX01FU1NBR0VTPUM7IGV4cG9y
dCBMQ19NRVNTQUdFUzsgZmkKK2lmIHRlc3QgIiR7TENfQ1RZUEUrc2V0fSIgICAgPSBzZXQ7IHRo
ZW4gTENfQ1RZUEU9QzsgICAgZXhwb3J0IExDX0NUWVBFOyAgICBmaQorCisjIGNvbmZkZWZzLmgg
YXZvaWRzIE9TIGNvbW1hbmQgbGluZSBsZW5ndGggbGltaXRzIHRoYXQgREVGUyBjYW4gZXhjZWVk
Lgorcm0gLXJmIGNvbmZ0ZXN0KiBjb25mZGVmcy5oCisjIEFJWCBjcHAgbG9zZXMgb24gYW4gZW1w
dHkgZmlsZSwgc28gbWFrZSBzdXJlIGl0IGNvbnRhaW5zIGF0IGxlYXN0IGEgbmV3bGluZS4KK2Vj
aG8gPiBjb25mZGVmcy5oCisKKyMgQSBmaWxlbmFtZSB1bmlxdWUgdG8gdGhpcyBwYWNrYWdlLCBy
ZWxhdGl2ZSB0byB0aGUgZGlyZWN0b3J5IHRoYXQKKyMgY29uZmlndXJlIGlzIGluLCB3aGljaCB3
ZSBjYW4gbG9vayBmb3IgdG8gZmluZCBvdXQgaWYgc3JjZGlyIGlzIGNvcnJlY3QuCithY191bmlx
dWVfZmlsZT1jb25maWcvbGliY19yLmgKKworIyBGaW5kIHRoZSBzb3VyY2UgZmlsZXMsIGlmIGxv
Y2F0aW9uIHdhcyBub3Qgc3BlY2lmaWVkLgoraWYgdGVzdCAteiAiJHNyY2RpciI7IHRoZW4KKyAg
YWNfc3JjZGlyX2RlZmF1bHRlZD15ZXMKKyAgIyBUcnkgdGhlIGRpcmVjdG9yeSBjb250YWluaW5n
IHRoaXMgc2NyaXB0LCB0aGVuIGl0cyBwYXJlbnQuCisgIGFjX3Byb2c9JDAKKyAgYWNfY29uZmRp
cj1gZWNobyAkYWNfcHJvZ3xzZWQgJ3MlL1teL11bXi9dKiQlJSdgCisgIHRlc3QgIngkYWNfY29u
ZmRpciIgPSAieCRhY19wcm9nIiAmJiBhY19jb25mZGlyPS4KKyAgc3JjZGlyPSRhY19jb25mZGly
CisgIGlmIHRlc3QgISAtciAkc3JjZGlyLyRhY191bmlxdWVfZmlsZTsgdGhlbgorICAgIHNyY2Rp
cj0uLgorICBmaQorZWxzZQorICBhY19zcmNkaXJfZGVmYXVsdGVkPW5vCitmaQoraWYgdGVzdCAh
IC1yICRzcmNkaXIvJGFjX3VuaXF1ZV9maWxlOyB0aGVuCisgIGlmIHRlc3QgIiRhY19zcmNkaXJf
ZGVmYXVsdGVkIiA9IHllczsgdGhlbgorICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2Fu
IG5vdCBmaW5kIHNvdXJjZXMgaW4gJGFjX2NvbmZkaXIgb3IgLi4iIDE+JjI7IGV4aXQgMTsgfQor
ICBlbHNlCisgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4gbm90IGZpbmQgc291cmNl
cyBpbiAkc3JjZGlyIiAxPiYyOyBleGl0IDE7IH0KKyAgZmkKK2ZpCitzcmNkaXI9YGVjaG8gIiR7
c3JjZGlyfSIgfCBzZWQgJ3MlXChbXi9dXCkvKiQlXDElJ2AKKworIyBQcmVmZXIgZXhwbGljaXRs
eSBzZWxlY3RlZCBmaWxlIHRvIGF1dG9tYXRpY2FsbHkgc2VsZWN0ZWQgb25lcy4KK2lmIHRlc3Qg
LXogIiRDT05GSUdfU0lURSI7IHRoZW4KKyAgaWYgdGVzdCAieCRwcmVmaXgiICE9IHhOT05FOyB0
aGVuCisgICAgQ09ORklHX1NJVEU9IiRwcmVmaXgvc2hhcmUvY29uZmlnLnNpdGUgJHByZWZpeC9l
dGMvY29uZmlnLnNpdGUiCisgIGVsc2UKKyAgICBDT05GSUdfU0lURT0iJGFjX2RlZmF1bHRfcHJl
Zml4L3NoYXJlL2NvbmZpZy5zaXRlICRhY19kZWZhdWx0X3ByZWZpeC9ldGMvY29uZmlnLnNpdGUi
CisgIGZpCitmaQorZm9yIGFjX3NpdGVfZmlsZSBpbiAkQ09ORklHX1NJVEU7IGRvCisgIGlmIHRl
c3QgLXIgIiRhY19zaXRlX2ZpbGUiOyB0aGVuCisgICAgZWNobyAibG9hZGluZyBzaXRlIHNjcmlw
dCAkYWNfc2l0ZV9maWxlIgorICAgIC4gIiRhY19zaXRlX2ZpbGUiCisgIGZpCitkb25lCisKK2lm
IHRlc3QgLXIgIiRjYWNoZV9maWxlIjsgdGhlbgorICBlY2hvICJsb2FkaW5nIGNhY2hlICRjYWNo
ZV9maWxlIgorICAuICRjYWNoZV9maWxlCitlbHNlCisgIGVjaG8gImNyZWF0aW5nIGNhY2hlICRj
YWNoZV9maWxlIgorICA+ICRjYWNoZV9maWxlCitmaQorCithY19leHQ9YworIyBDRkxBR1MgaXMg
bm90IGluIGFjX2NwcCBiZWNhdXNlIC1nLCAtTywgZXRjLiBhcmUgbm90IHZhbGlkIGNwcCBvcHRp
b25zLgorYWNfY3BwPSckQ1BQICRDUFBGTEFHUycKK2FjX2NvbXBpbGU9JyR7Q0MtY2N9IC1jICRD
RkxBR1MgJENQUEZMQUdTIGNvbmZ0ZXN0LiRhY19leHQgMT4mNScKK2FjX2xpbms9JyR7Q0MtY2N9
IC1vIGNvbmZ0ZXN0JHthY19leGVleHR9ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0
ZXN0LiRhY19leHQgJExJQlMgMT4mNScKK2Nyb3NzX2NvbXBpbGluZz0kYWNfY3ZfcHJvZ19jY19j
cm9zcworCithY19leGVleHQ9CithY19vYmpleHQ9bworaWYgKGVjaG8gInRlc3RpbmdcYyI7IGVj
aG8gMSwyLDMpIHwgZ3JlcCBjID4vZGV2L251bGw7IHRoZW4KKyAgIyBTdGFyZGVudCBWaXN0cmEg
U1ZSNCBncmVwIGxhY2tzIC1lLCBzYXlzIGdoYXppQGNhaXAucnV0Z2Vycy5lZHUuCisgIGlmIChl
Y2hvIC1uIHRlc3Rpbmc7IGVjaG8gMSwyLDMpIHwgc2VkIHMvLW4veG4vIHwgZ3JlcCB4biA+L2Rl
di9udWxsOyB0aGVuCisgICAgYWNfbj0gYWNfYz0nCisnIGFjX3Q9JwknCisgIGVsc2UKKyAgICBh
Y19uPS1uIGFjX2M9IGFjX3Q9CisgIGZpCitlbHNlCisgIGFjX249IGFjX2M9J1xjJyBhY190PQor
ZmkKKworCisKK2FjX2F1eF9kaXI9Citmb3IgYWNfZGlyIGluICR7c3JjZGlyfS9idWlsZC9hdXRv
Y29uZiAkc3JjZGlyLyR7c3JjZGlyfS9idWlsZC9hdXRvY29uZjsgZG8KKyAgaWYgdGVzdCAtZiAk
YWNfZGlyL2luc3RhbGwtc2g7IHRoZW4KKyAgICBhY19hdXhfZGlyPSRhY19kaXIKKyAgICBhY19p
bnN0YWxsX3NoPSIkYWNfYXV4X2Rpci9pbnN0YWxsLXNoIC1jIgorICAgIGJyZWFrCisgIGVsaWYg
dGVzdCAtZiAkYWNfZGlyL2luc3RhbGwuc2g7IHRoZW4KKyAgICBhY19hdXhfZGlyPSRhY19kaXIK
KyAgICBhY19pbnN0YWxsX3NoPSIkYWNfYXV4X2Rpci9pbnN0YWxsLnNoIC1jIgorICAgIGJyZWFr
CisgIGZpCitkb25lCitpZiB0ZXN0IC16ICIkYWNfYXV4X2RpciI7IHRoZW4KKyAgeyBlY2hvICJj
b25maWd1cmU6IGVycm9yOiBjYW4gbm90IGZpbmQgaW5zdGFsbC1zaCBvciBpbnN0YWxsLnNoIGlu
ICR7c3JjZGlyfS9idWlsZC9hdXRvY29uZiAkc3JjZGlyLyR7c3JjZGlyfS9idWlsZC9hdXRvY29u
ZiIgMT4mMjsgZXhpdCAxOyB9CitmaQorYWNfY29uZmlnX2d1ZXNzPSRhY19hdXhfZGlyL2NvbmZp
Zy5ndWVzcworYWNfY29uZmlnX3N1Yj0kYWNfYXV4X2Rpci9jb25maWcuc3ViCithY19jb25maWd1
cmU9JGFjX2F1eF9kaXIvY29uZmlndXJlICMgVGhpcyBzaG91bGQgYmUgQ3lnbnVzIGNvbmZpZ3Vy
ZS4KKworCisjIERvIHNvbWUgZXJyb3IgY2hlY2tpbmcgYW5kIGRlZmF1bHRpbmcgZm9yIHRoZSBo
b3N0IGFuZCB0YXJnZXQgdHlwZS4KKyMgVGhlIGlucHV0cyBhcmU6CisjICAgIGNvbmZpZ3VyZSAt
LWhvc3Q9SE9TVCAtLXRhcmdldD1UQVJHRVQgLS1idWlsZD1CVUlMRCBOT05PUFQKKyMKKyMgVGhl
IHJ1bGVzIGFyZToKKyMgMS4gWW91IGFyZSBub3QgYWxsb3dlZCB0byBzcGVjaWZ5IC0taG9zdCwg
LS10YXJnZXQsIGFuZCBub25vcHQgYXQgdGhlCisjICAgIHNhbWUgdGltZS4KKyMgMi4gSG9zdCBk
ZWZhdWx0cyB0byBub25vcHQuCisjIDMuIElmIG5vbm9wdCBpcyBub3Qgc3BlY2lmaWVkLCB0aGVu
IGhvc3QgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgaG9zdCwKKyMgICAgYXMgZGV0ZXJtaW5lZCBi
eSBjb25maWcuZ3Vlc3MuCisjIDQuIFRhcmdldCBhbmQgYnVpbGQgZGVmYXVsdCB0byBub25vcHQu
CisjIDUuIElmIG5vbm9wdCBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHRhcmdldCBhbmQgYnVpbGQg
ZGVmYXVsdCB0byBob3N0LgorCisjIFRoZSBhbGlhc2VzIHNhdmUgdGhlIG5hbWVzIHRoZSB1c2Vy
IHN1cHBsaWVkLCB3aGlsZSAkaG9zdCBldGMuCisjIHdpbGwgZ2V0IGNhbm9uaWNhbGl6ZWQuCitj
YXNlICRob3N0LS0tJHRhcmdldC0tLSRub25vcHQgaW4KK05PTkUtLS0qLS0tKiB8ICotLS1OT05F
LS0tKiB8ICotLS0qLS0tTk9ORSkgOzsKKyopIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2Fu
IG9ubHkgY29uZmlndXJlIGZvciBvbmUgaG9zdCBhbmQgb25lIHRhcmdldCBhdCBhIHRpbWUiIDE+
JjI7IGV4aXQgMTsgfSA7OworZXNhYworCisKKyMgTWFrZSBzdXJlIHdlIGNhbiBydW4gY29uZmln
LnN1Yi4KK2lmICR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRhY19jb25maWdfc3ViIHN1bjQgPi9k
ZXYvbnVsbCAyPiYxOyB0aGVuIDoKK2Vsc2UgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBjYW4g
bm90IHJ1biAkYWNfY29uZmlnX3N1YiIgMT4mMjsgZXhpdCAxOyB9CitmaQorCitlY2hvICRhY19u
ICJjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZp
Z3VyZTo2MjU6IGNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUiID4mNQorCitob3N0X2FsaWFzPSRo
b3N0CitjYXNlICIkaG9zdF9hbGlhcyIgaW4KK05PTkUpCisgIGNhc2UgJG5vbm9wdCBpbgorICBO
T05FKQorICAgIGlmIGhvc3RfYWxpYXM9YCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRhY19jb25m
aWdfZ3Vlc3NgOyB0aGVuIDoKKyAgICBlbHNlIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogY2Fu
IG5vdCBndWVzcyBob3N0IHR5cGU7IHlvdSBtdXN0IHNwZWNpZnkgb25lIiAxPiYyOyBleGl0IDE7
IH0KKyAgICBmaSA7OworICAqKSBob3N0X2FsaWFzPSRub25vcHQgOzsKKyAgZXNhYyA7OworZXNh
YworCitob3N0PWAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkYWNfY29uZmlnX3N1YiAkaG9zdF9h
bGlhc2AKK2hvc3RfY3B1PWBlY2hvICRob3N0IHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwp
LVwoLipcKSQvXDEvJ2AKK2hvc3RfdmVuZG9yPWBlY2hvICRob3N0IHwgc2VkICdzL15cKFteLV0q
XCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKK2hvc3Rfb3M9YGVjaG8gJGhvc3QgfCBzZWQgJ3Mv
XlwoW14tXSpcKS1cKFteLV0qXCktXCguKlwpJC9cMy8nYAorZWNobyAiJGFjX3QiIiRob3N0IiAx
PiY2CisKK2VjaG8gJGFjX24gImNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZSIiLi4uICRhY19j
IiAxPiY2CitlY2hvICJjb25maWd1cmU6NjQ2OiBjaGVja2luZyB0YXJnZXQgc3lzdGVtIHR5cGUi
ID4mNQorCit0YXJnZXRfYWxpYXM9JHRhcmdldAorY2FzZSAiJHRhcmdldF9hbGlhcyIgaW4KK05P
TkUpCisgIGNhc2UgJG5vbm9wdCBpbgorICBOT05FKSB0YXJnZXRfYWxpYXM9JGhvc3RfYWxpYXMg
OzsKKyAgKikgdGFyZ2V0X2FsaWFzPSRub25vcHQgOzsKKyAgZXNhYyA7OworZXNhYworCit0YXJn
ZXQ9YCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICRhY19jb25maWdfc3ViICR0YXJnZXRfYWxpYXNg
Cit0YXJnZXRfY3B1PWBlY2hvICR0YXJnZXQgfCBzZWQgJ3MvXlwoW14tXSpcKS1cKFteLV0qXCkt
XCguKlwpJC9cMS8nYAordGFyZ2V0X3ZlbmRvcj1gZWNobyAkdGFyZ2V0IHwgc2VkICdzL15cKFte
LV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDIvJ2AKK3RhcmdldF9vcz1gZWNobyAkdGFyZ2V0IHwg
c2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDMvJ2AKK2VjaG8gIiRhY190IiIk
dGFyZ2V0IiAxPiY2CisKK2VjaG8gJGFjX24gImNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlIiIu
Li4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZTo2NjQ6IGNoZWNraW5nIGJ1aWxkIHN5c3Rl
bSB0eXBlIiA+JjUKKworYnVpbGRfYWxpYXM9JGJ1aWxkCitjYXNlICIkYnVpbGRfYWxpYXMiIGlu
CitOT05FKQorICBjYXNlICRub25vcHQgaW4KKyAgTk9ORSkgYnVpbGRfYWxpYXM9JGhvc3RfYWxp
YXMgOzsKKyAgKikgYnVpbGRfYWxpYXM9JG5vbm9wdCA7OworICBlc2FjIDs7Citlc2FjCisKK2J1
aWxkPWAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkYWNfY29uZmlnX3N1YiAkYnVpbGRfYWxpYXNg
CitidWlsZF9jcHU9YGVjaG8gJGJ1aWxkIHwgc2VkICdzL15cKFteLV0qXCktXChbXi1dKlwpLVwo
LipcKSQvXDEvJ2AKK2J1aWxkX3ZlbmRvcj1gZWNobyAkYnVpbGQgfCBzZWQgJ3MvXlwoW14tXSpc
KS1cKFteLV0qXCktXCguKlwpJC9cMi8nYAorYnVpbGRfb3M9YGVjaG8gJGJ1aWxkIHwgc2VkICdz
L15cKFteLV0qXCktXChbXi1dKlwpLVwoLipcKSQvXDMvJ2AKK2VjaG8gIiRhY190IiIkYnVpbGQi
IDE+JjYKKwordGVzdCAiJGhvc3RfYWxpYXMiICE9ICIkdGFyZ2V0X2FsaWFzIiAmJgorICB0ZXN0
ICIkcHJvZ3JhbV9wcmVmaXgkcHJvZ3JhbV9zdWZmaXgkcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZSIg
PSBcCisgICAgTk9ORU5PTkVzLHgseCwgJiYKKyAgcHJvZ3JhbV9wcmVmaXg9JHt0YXJnZXRfYWxp
YXN9LQorCisKK01PRF9NQUpPUl9WRVJTSU9OPTQKK01PRF9NSU5PUl9WRVJTSU9OPTYKK01PRF9Q
QVRDSF9WRVJTSU9OPTEKK05TUFJfTU9ETkFNRT1uc3ByMjAKK19IQVZFX1BUSFJFQURTPQorVVNF
X1BUSFJFQURTPQorVVNFX1VTRVJfUFRIUkVBRFM9CitVU0VfTlNQUl9USFJFQURTPQorVVNFX04z
Mj0KK1VTRV82ND0KK1VTRV9DUExVUz0KK1VTRV9JUFY2PQorVVNFX01EVVBEQVRFPQorX01BQ09T
WF9ERVBMT1lNRU5UX1RBUkdFVD0KK19PUFRJTUlaRV9GTEFHUz0tTworX0RFQlVHX0ZMQUdTPS1n
CitNT1pfREVCVUc9MQorTU9aX09QVElNSVpFPQorT0JKRElSPS4KK09CSkRJUl9OQU1FPS4KK09C
SkRJUl9TVUZGSVg9T0JKCitOU0lOU1RBTEw9JyQoTU9EX0RFUFRIKS9jb25maWcvJChPQkpESVJf
TkFNRSkvbnNpbnN0YWxsJworTk9TVUNIRklMRT0vbm8tc3VjaC1maWxlCitMSUJOU1BSPSctTCQo
ZGlzdF9saWJkaXIpIC1sbnNwciQoTU9EX01BSk9SX1ZFUlNJT04pJworTElCUExDPSctTCQoZGlz
dF9saWJkaXIpIC1scGxjJChNT0RfTUFKT1JfVkVSU0lPTiknCitDWUdXSU5fV1JBUFBFUj0KKwor
UkVTT0xWRV9MSU5LX1NZTUJPTFM9CisKK0NGTEFHUz0iJHtDRkxBR1M9fSIKK0NYWEZMQUdTPSIk
e0NYWEZMQUdTPX0iCitMREZMQUdTPSIke0xERkxBR1M9fSIKK0hPU1RfQ0ZMQUdTPSIke0hPU1Rf
Q0ZMQUdTPX0iCitIT1NUX0xERkxBR1M9IiR7SE9TVF9MREZMQUdTPX0iCisKK2Nhc2UgIiR0YXJn
ZXQiIGluCisqLWN5Z3dpbip8Ki1taW5ndyopCisgICAgIyBDaGVjayB0byBzZWUgaWYgd2UgYXJl
IHJlYWxseSBydW5uaW5nIGluIGEgbXN2YyBlbnZpcm9uZW1udAorICAgIF9XSU4zMl9NU1ZDPQor
ICAgIGZvciBhY19wcm9nIGluIGNsCitkbworIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIk
YWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVt
bXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29y
ZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6NzMxOiBjaGVja2luZyBmb3IgJGFj
X3dvcmQiID4mNQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQ0MnK3Nl
dH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgor
ZWxzZQorICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBM
ZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9IAl9Ijsg
YWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIKKyAgZm9yIGFj
X2RpciBpbiAkYWNfZHVtbXk7IGRvCisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4K
KyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3Byb2df
Q0M9IiRhY19wcm9nIgorICAgICAgYnJlYWsKKyAgICBmaQorICBkb25lCisgIElGUz0iJGFjX3Nh
dmVfaWZzIgorZmkKK2ZpCitDQz0iJGFjX2N2X3Byb2dfQ0MiCitpZiB0ZXN0IC1uICIkQ0MiOyB0
aGVuCisgIGVjaG8gIiRhY190IiIkQ0MiIDE+JjYKK2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAx
PiY2CitmaQorCit0ZXN0IC1uICIkQ0MiICYmIGJyZWFrCitkb25lCisKKyAgICBpZiB0ZXN0ICIk
Q0MiID0gImNsIjsgdGhlbgorICAgICAgICBlY2hvICdtYWluKCkgeyByZXR1cm4gMDsgfScgPiBk
dW1teS5jCisgICAgICAgICR7Q0N9IC1vIGR1bW15IGR1bW15LmMgPi9kZXYvbnVsbCAyPiYxCisg
ICAgICAgIGlmIHRlc3QgJD8gPSAwOyB0aGVuCisgICAgICAgICAgICBfV0lOMzJfTVNWQz0xCisg
ICAgICAgICAgICBDWFg9JENDCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVjaG8gImNvbmZp
Z3VyZTogd2FybmluZzogJChDQykgdGVzdCBmYWlsZWQuICBVc2luZyBub3JtYWwgZmVhdHVyZSB0
ZXN0cyIgMT4mMgorICAgICAgICBmaQorICAgICAgICBybSAtZiBkdW1teSBkdW1teS5vIGR1bW15
Lm9iaiBkdW1teS5leGUgZHVtbXkuYworICAgIGZpCisgICAgOzsKKyotbXN2YyopCisgICAgX1dJ
TjMyX01TVkM9MQorICAgIDs7CisqLW1rcyopCisgICAgX1dJTjMyX01TVkM9MQorICAgIDs7Citl
c2FjCisKK2lmIHRlc3QgLW4gIiRfV0lOMzJfTVNWQyI7IHRoZW4KKyAgICBTS0lQX1BBVEhfQ0hF
Q0tTPTEKKyAgICBTS0lQX0NPTVBJTEVSX0NIRUNLUz0xCisgICAgU0tJUF9MSUJSQVJZX0NIRUNL
Uz0xCitmaQorCitkaXN0X3ByZWZpeD0nJHtNT0RfREVQVEh9L2Rpc3QnCitkaXN0X2JpbmRpcj0n
JHtkaXN0X3ByZWZpeH0vYmluJworZGlzdF9pbmNsdWRlZGlyPScke2Rpc3RfcHJlZml4fS9pbmNs
dWRlL25zcHInCitkaXN0X2xpYmRpcj0nJHtkaXN0X3ByZWZpeH0vbGliJworaWYgdGVzdCAiJHtp
bmNsdWRlZGlyfSIgPSAnJHtwcmVmaXh9L2luY2x1ZGUnOyB0aGVuCisgICAgaW5jbHVkZWRpcj0n
JHtwcmVmaXh9L2luY2x1ZGUvbnNwcicKK2ZpCisKKyMgQ2hlY2sgd2hldGhlciAtLXdpdGgtZGlz
dC1wcmVmaXggb3IgLS13aXRob3V0LWRpc3QtcHJlZml4IHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7
d2l0aF9kaXN0X3ByZWZpeCtzZXR9IiA9IHNldDsgdGhlbgorICB3aXRodmFsPSIkd2l0aF9kaXN0
X3ByZWZpeCIKKyAgZGlzdF9wcmVmaXg9JHdpdGh2YWwKK2ZpCisKKworIyBDaGVjayB3aGV0aGVy
IC0td2l0aC1kaXN0LWJpbmRpciBvciAtLXdpdGhvdXQtZGlzdC1iaW5kaXIgd2FzIGdpdmVuLgor
aWYgdGVzdCAiJHt3aXRoX2Rpc3RfYmluZGlyK3NldH0iID0gc2V0OyB0aGVuCisgIHdpdGh2YWw9
IiR3aXRoX2Rpc3RfYmluZGlyIgorICBkaXN0X2JpbmRpcj0kd2l0aHZhbAorZmkKKworCisjIENo
ZWNrIHdoZXRoZXIgLS13aXRoLWRpc3QtaW5jbHVkZWRpciBvciAtLXdpdGhvdXQtZGlzdC1pbmNs
dWRlZGlyIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7d2l0aF9kaXN0X2luY2x1ZGVkaXIrc2V0fSIg
PSBzZXQ7IHRoZW4KKyAgd2l0aHZhbD0iJHdpdGhfZGlzdF9pbmNsdWRlZGlyIgorICBkaXN0X2lu
Y2x1ZGVkaXI9JHdpdGh2YWwKK2ZpCisKKworIyBDaGVjayB3aGV0aGVyIC0td2l0aC1kaXN0LWxp
YmRpciBvciAtLXdpdGhvdXQtZGlzdC1saWJkaXIgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHt3aXRo
X2Rpc3RfbGliZGlyK3NldH0iID0gc2V0OyB0aGVuCisgIHdpdGh2YWw9IiR3aXRoX2Rpc3RfbGli
ZGlyIgorICBkaXN0X2xpYmRpcj0kd2l0aHZhbAorZmkKKworCisKKworCisKKworIyBDaGVjayB3
aGV0aGVyIC0td2l0aC1tb3ppbGxhIG9yIC0td2l0aG91dC1tb3ppbGxhIHdhcyBnaXZlbi4KK2lm
IHRlc3QgIiR7d2l0aF9tb3ppbGxhK3NldH0iID0gc2V0OyB0aGVuCisgIHdpdGh2YWw9IiR3aXRo
X21vemlsbGEiCisgICAgIGlmIHRlc3QgIiR3aXRodmFsIiA9ICJ5ZXMiOyB0aGVuCisgICAgICAg
ICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgTU9aSUxMQV9DTElFTlQgMQor
RU9GCisKKyAgICAgICAgICAgIE1PWklMTEFfQ0xJRU5UPTEKKwkgICAgZWxzZQorCSAgICAgICAg
TU9aSUxMQV9DTElFTlQ9CisJICAgIGZpCitlbHNlCisgIAlpZiB0ZXN0IC1uICIkTU9aSUxMQV9D
TElFTlQiOyB0aGVuCisJICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUg
TU9aSUxMQV9DTElFTlQgMQorRU9GCisKKwkgICAgZmkKK2ZpCisKKworIyBDaGVjayB3aGV0aGVy
IC0tZW5hYmxlLW9wdGltaXplIG9yIC0tZGlzYWJsZS1vcHRpbWl6ZSB3YXMgZ2l2ZW4uCitpZiB0
ZXN0ICIke2VuYWJsZV9vcHRpbWl6ZStzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRl
bmFibGVfb3B0aW1pemUiCisgICBpZiB0ZXN0ICIkZW5hYmxldmFsIiAhPSAibm8iOyB0aGVuCisg
ICAgICAgIE1PWl9PUFRJTUlaRT0xCisgICAgICAgIGlmIHRlc3QgLW4gIiRlbmFibGV2YWwiICYm
IHRlc3QgIiRlbmFibGV2YWwiICE9ICJ5ZXMiOyB0aGVuCisgICAgCSAgICBfT1BUSU1JWkVfRkxB
R1M9YGVjaG8gJGVuYWJsZXZhbCB8IHNlZCAtZSAnc3xcXFwgfCB8ZydgCisgICAgICAgICAgICBf
U0FWRV9PUFRJTUlaRV9GTEFHUz0kX09QVElNSVpFX0ZMQUdTCisgICAgICAgIGZpCisgICAgICBl
bHNlCisgICAgICAgIE1PWl9PUFRJTUlaRT0KKyAgICBmaSAKK2ZpCisKKworIyBDaGVjayB3aGV0
aGVyIC0tZW5hYmxlLWRlYnVnIG9yIC0tZGlzYWJsZS1kZWJ1ZyB3YXMgZ2l2ZW4uCitpZiB0ZXN0
ICIke2VuYWJsZV9kZWJ1ZytzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVf
ZGVidWciCisgIAlpZiB0ZXN0ICIkZW5hYmxldmFsIiA9ICJubyI7IHRoZW4KKyAgICAJICAgIE1P
Wl9ERUJVRz0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgTU9aX0RFQlVHPTEKKyAgICAgICAg
ICAgIGlmIHRlc3QgLW4gIiRlbmFibGV2YWwiICYmIHRlc3QgIiRlbmFibGV2YWwiICE9ICJ5ZXMi
OyB0aGVuCisgICAgICAgICAgICAgICAgX0RFQlVHX0ZMQUdTPWBlY2hvICRlbmFibGV2YWwgfCBz
ZWQgLWUgJ3N8XFxcIHwgfGcnYAorICAgICAgICAgICAgICAgIF9TQVZFX0RFQlVHX0ZMQUdTPSRf
REVCVUdfRkxBR1MKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCitmaQorCisKKyMgQ2hlY2sg
d2hldGhlciAtLWVuYWJsZS13aW4zMi10YXJnZXQgb3IgLS1kaXNhYmxlLXdpbjMyLXRhcmdldCB3
YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV93aW4zMl90YXJnZXQrc2V0fSIgPSBzZXQ7IHRo
ZW4KKyAgZW5hYmxldmFsPSIkZW5hYmxlX3dpbjMyX3RhcmdldCIKKyAgT1NfVEFSR0VUPWBlY2hv
ICRlbmFibGV2YWwgfCB0ciBhLXogQS1aYAorZWxzZQorICBPU19UQVJHRVQ9CitmaQorCisKKyMg
Q2hlY2sgd2hldGhlciAtLWVuYWJsZS1kZWJ1Zy1ydGwgb3IgLS1kaXNhYmxlLWRlYnVnLXJ0bCB3
YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9kZWJ1Z19ydGwrc2V0fSIgPSBzZXQ7IHRoZW4K
KyAgZW5hYmxldmFsPSIkZW5hYmxlX2RlYnVnX3J0bCIKKyAgIGlmIHRlc3QgIiRlbmFibGV2YWwi
ID0gInllcyI7IHRoZW4KKwkgICAgVVNFX0RFQlVHX1JUTD0xCisgICAgICBmaSAKK2ZpCisKKwor
IyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLW4zMiBvciAtLWRpc2FibGUtbjMyIHdhcyBnaXZlbi4K
K2lmIHRlc3QgIiR7ZW5hYmxlX24zMitzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRl
bmFibGVfbjMyIgorICAgaWYgdGVzdCAiJGVuYWJsZXZhbCIgPSAieWVzIjsgdGhlbgorCVVTRV9O
MzI9MQorICAgICAgZWxzZSBpZiB0ZXN0ICIkZW5hYmxldmFsIiA9ICJubyI7IHRoZW4KKwlVU0Vf
TjMyPQorICAgICAgZmkKKyAgICBmaSAKK2ZpCisKKworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxl
LTY0Yml0IG9yIC0tZGlzYWJsZS02NGJpdCB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV82
NGJpdCtzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfNjRiaXQiCisgICBp
ZiB0ZXN0ICIkZW5hYmxldmFsIiA9ICJ5ZXMiOyB0aGVuCisJICAgIFVTRV82ND0xCisgICAgICBm
aSAKK2ZpCisKKworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLW1kdXBkYXRlIG9yIC0tZGlzYWJs
ZS1tZHVwZGF0ZSB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9tZHVwZGF0ZStzZXR9IiA9
IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfbWR1cGRhdGUiCisgICBpZiB0ZXN0ICIk
ZW5hYmxldmFsIiA9ICJ5ZXMiOyB0aGVuCisJICAgIFVTRV9NRFVQREFURT0xCisgICAgICBmaSAK
K2ZpCisKKworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLW1hY29zLXRhcmdldCBvciAtLWRpc2Fi
bGUtbWFjb3MtdGFyZ2V0IHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX21hY29zX3Rhcmdl
dCtzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfbWFjb3NfdGFyZ2V0Igor
ICBfTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUPSRlbmFibGV2YWwKK2ZpCisKKworY2FzZSAiJHRh
cmdldCIgaW4KKworKi1haXgqKQorICAgIGNhc2UgIiR7dGFyZ2V0X29zfSIgaW4KKyAgICBhaXgz
LjIqKQorICAgICAgICBVU0VfTlNQUl9USFJFQURTPTEKKyAgICAgICAgOzsKKyAgICAqKQorICAg
ICAgICBVU0VfUFRIUkVBRFM9MQorICAgICAgICA7OworICAgIGVzYWMKKyAgICA7OworCitlc2Fj
CisKK2lmIHRlc3QgLXogIiRDQyI7IHRoZW4KKyAgICBjYXNlICIkdGFyZ2V0IiBpbgorCisgICAg
Ki1haXgqKQorICAgICAgICBpZiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRoZW4KKyAg
ICAgICAgICAgIENDPXhsY19yCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIENDPXhsYworICAg
ICAgICBmaQorICAgIDs7CisKKyAgICAqLWhwdXgqKQorICAgICAgICBDQz1jYworICAgIDs7CisK
KyAgICAqLWlyaXgqKQorICAgICAgICBDQz1jYworICAgIDs7CisKKyAgICAqLW9wZW52bXMqKQor
ICAgICAgICBDQz1jYworICAgIDs7CisKKyAgICAqLW9zZiopCisgICAgICAgIENDPWNjCisgICAg
OzsKKworICAgICotc29sYXJpcyopCisgICAgICAgIENDPWNjCisgICAgOzsKKworICAgIGVzYWMK
K2ZpCisKK2lmIHRlc3QgLXogIiRDWFgiOyB0aGVuCisgICAgY2FzZSAiJHRhcmdldCIgaW4KKwor
ICAgICotYWl4KikKKyAgICAgICAgaWYgdGVzdCAteiAiJFVTRV9OU1BSX1RIUkVBRFMiOyB0aGVu
CisgICAgICAgICAgICBDWFg9eGxDX3IKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgQ1hYPXhs
QworICAgICAgICBmaQorICAgIDs7CisKKyAgICAqLWhwdXgqKQorICAgICAgICBjYXNlICIke3Rh
cmdldF9vc30iIGluCisgICAgICAgIGhwdXgxMC4zMCkKKyAgICAgICAgICAgIENYWD1hQ0MKKyAg
ICAgICAgICAgIDs7CisgICAgICAgIGhwdXgxMS4qKQorICAgICAgICAgICAgQ1hYPWFDQworICAg
ICAgICAgICAgOzsKKyAgICAgICAgKikKKyAgICAgICAgICAgIENYWD1DQworICAgICAgICAgICAg
OzsKKyAgICAgICAgZXNhYworICAgIDs7CisKKyAgICAqLWlyaXgqKQorICAgICAgICBDWFg9Q0MK
KyAgICA7OworCisgICAgKi1vcGVudm1zKikKKyAgICAgICAgQ1hYPWN4eAorICAgIDs7CisKKyAg
ICAqLW9zZiopCisgICAgICAgIENYWD1jeHgKKyAgICA7OworCisgICAgKi1zb2xhcmlzKikKKyAg
ICAgICAgQ1hYPUNDCisgICAgOzsKKworICAgIGVzYWMKK2ZpCisKK2lmIHRlc3QgLXogIiRTS0lQ
X1BBVEhfQ0hFQ0tTIjsgdGhlbgorICAgICMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJFdI
T0FNSSB3aG9hbWkiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0
IGR1bW15ICRXSE9BTUkgd2hvYW1pOyBhY193b3JkPSQyCitlY2hvICRhY19uICJjaGVja2luZyBm
b3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjEwMzE6IGNoZWNr
aW5nIGZvciAkYWNfd29yZCIgPiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zf
cGF0aF9XSE9BTUknK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVk
KSAkYWNfYyIgMT4mNgorZWxzZQorICBjYXNlICIkV0hPQU1JIiBpbgorICAvKikKKyAgYWNfY3Zf
cGF0aF9XSE9BTUk9IiRXSE9BTUkiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdp
dGggYSBwYXRoLgorICA7OworICA/Oi8qKQkJCSAKKyAgYWNfY3ZfcGF0aF9XSE9BTUk9IiRXSE9B
TUkiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBkb3MgcGF0aC4KKyAg
OzsKKyAgKikKKyAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIK
KyAgYWNfZHVtbXk9IiRQQVRIIgorICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8gCisgICAg
dGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFj
X3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3BhdGhfV0hPQU1JPSIkYWNfZGlyLyRhY193b3JkIgor
ICAgICAgYnJlYWsKKyAgICBmaQorICBkb25lCisgIElGUz0iJGFjX3NhdmVfaWZzIgorICB0ZXN0
IC16ICIkYWNfY3ZfcGF0aF9XSE9BTUkiICYmIGFjX2N2X3BhdGhfV0hPQU1JPSJlY2hvIG5vdF93
aG9hbWkiCisgIDs7Citlc2FjCitmaQorV0hPQU1JPSIkYWNfY3ZfcGF0aF9XSE9BTUkiCitpZiB0
ZXN0IC1uICIkV0hPQU1JIjsgdGhlbgorICBlY2hvICIkYWNfdCIiJFdIT0FNSSIgMT4mNgorZWxz
ZQorICBlY2hvICIkYWNfdCIibm8iIDE+JjYKK2ZpCisKK2ZpCisKK2lmIHRlc3QgLW4gIiRNT1pf
REVCVUciOyB0aGVuCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIERFQlVH
IDEKK0VPRgorCisgICAgREVGSU5FUz0iJERFRklORVMgLVVOREVCVUciCisKKyAgICBjYXNlICIk
e3RhcmdldF9vc30iIGluCisgICAgYmVvcyopCisgICAgICAgIERFRklORVM9IiRERUZJTkVTIC1E
REVCVUdfJHtVU0VSfSIKKyAgICAgICAgOzsKKyAgICBtc3ZjKnxta3MqfGN5Z3dpbip8bWluZ3cq
fG9zMiopCisgICAgICAgIERFRklORVM9IiRERUZJTkVTIC1EREVCVUdfYGVjaG8gJHtVU0VSTkFN
RX0gfCBzZWQgLWUgJ3N8IHxffGcnYCIKKyAgICAgICAgOzsKKyAgICAqKSAKKyAgICAgICAgREVG
SU5FUz0iJERFRklORVMgLURERUJVR19gJFdIT0FNSWAiCisgICAgICAgIDs7CisgICAgZXNhYwor
ZWxzZQorICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBOREVCVUcgMQorRU9G
CisKKyAgICBERUZJTkVTPSIkREVGSU5FUyAtVURFQlVHIgorZmkKKworaWYgdGVzdCAteiAiJFNL
SVBfQ09NUElMRVJfQ0hFQ0tTIjsgdGhlbgoraWYgdGVzdCAiJHRhcmdldCIgIT0gIiRob3N0Ijsg
dGhlbgorICAgIGVjaG8gImNyb3NzIGNvbXBpbGluZyBmcm9tICRob3N0IHRvICR0YXJnZXQiCisg
ICAgY3Jvc3NfY29tcGlsaW5nPXllcworCisgICAgX1NBVkVfQ0M9IiRDQyIKKyAgICBfU0FWRV9D
RkxBR1M9IiRDRkxBR1MiCisgICAgX1NBVkVfTERGTEFHUz0iJExERkxBR1MiCisKKyAgICBlY2hv
ICRhY19uICJjaGVja2luZyBmb3IgJGhvc3QgY29tcGlsZXIiIi4uLiAkYWNfYyIgMT4mNgorZWNo
byAiY29uZmlndXJlOjExMDI6IGNoZWNraW5nIGZvciAkaG9zdCBjb21waWxlciIgPiY1CisgICAg
Zm9yIGFjX3Byb2cgaW4gJEhPU1RfQ0MgZ2NjIGNjIC91c3IvdWNiL2NjCitkbworIyBFeHRyYWN0
IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFt
ZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKK2VjaG8gJGFjX24g
ImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6
MTEwODogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAn
JCcneydhY19jdl9wcm9nX0hPU1RfQ0MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRh
Y19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkSE9TVF9DQyI7
IHRoZW4KKyAgYWNfY3ZfcHJvZ19IT1NUX0NDPSIkSE9TVF9DQyIgIyBMZXQgdGhlIHVzZXIgb3Zl
cnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJ
RlMiOyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIKKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVt
bXk7IGRvCisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1m
ICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3Byb2dfSE9TVF9DQz0iJGFjX3By
b2ciCisgICAgICBicmVhaworICAgIGZpCisgIGRvbmUKKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCitm
aQorZmkKK0hPU1RfQ0M9IiRhY19jdl9wcm9nX0hPU1RfQ0MiCitpZiB0ZXN0IC1uICIkSE9TVF9D
QyI7IHRoZW4KKyAgZWNobyAiJGFjX3QiIiRIT1NUX0NDIiAxPiY2CitlbHNlCisgIGVjaG8gIiRh
Y190IiJubyIgMT4mNgorZmkKKwordGVzdCAtbiAiJEhPU1RfQ0MiICYmIGJyZWFrCitkb25lCit0
ZXN0IC1uICIkSE9TVF9DQyIgfHwgSE9TVF9DQz0iIiIiCisKKyAgICBpZiB0ZXN0IC16ICIkSE9T
VF9DQyI7IHRoZW4KKyAgICAgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBubyBhY2NlcHRh
YmxlIGNjIGZvdW5kIGluIFwkUEFUSCIgMT4mMjsgZXhpdCAxOyB9CisgICAgZmkKKyAgICBlY2hv
ICIkYWNfdCIiJEhPU1RfQ0MiIDE+JjYKKyAgICBpZiB0ZXN0IC16ICIkSE9TVF9DRkxBR1MiOyB0
aGVuCisgICAgICAgIEhPU1RfQ0ZMQUdTPSIkQ0ZMQUdTIgorICAgIGZpCisgICAgaWYgdGVzdCAt
eiAiJEhPU1RfTERGTEFHUyI7IHRoZW4KKyAgICAgICAgSE9TVF9MREZMQUdTPSIkTERGTEFHUyIK
KyAgICBmaQorCisgICAgQ0M9IiRIT1NUX0NDIgorICAgIENGTEFHUz0iJEhPU1RfQ0ZMQUdTIgor
ICAgIExERkxBR1M9IiRIT1NUX0xERkxBR1MiCisKKyAgICBlY2hvICRhY19uICJjaGVja2luZyB3
aGV0aGVyIHRoZSAkaG9zdCBjb21waWxlciAoJEhPU1RfQ0MgJEhPU1RfQ0ZMQUdTICRIT1NUX0xE
RkxBR1MpIHdvcmtzIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZToxMTU0OiBjaGVj
a2luZyB3aGV0aGVyIHRoZSAkaG9zdCBjb21waWxlciAoJEhPU1RfQ0MgJEhPU1RfQ0ZMQUdTICRI
T1NUX0xERkxBR1MpIHdvcmtzIiA+JjUKKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9G
CisjbGluZSAxMTU2ICJjb25maWd1cmUiCisjaW5jbHVkZSAiY29uZmRlZnMuaCIKKworaW50IG1h
aW4oKSB7CityZXR1cm4oMCk7Cis7IHJldHVybiAwOyB9CitFT0YKK2lmIHsgKGV2YWwgZWNobyBj
b25maWd1cmU6MTE2MzogXCIkYWNfY29tcGlsZVwiKSAxPiY1OyAoZXZhbCAkYWNfY29tcGlsZSkg
Mj4mNTsgfTsgdGhlbgorICBybSAtcmYgY29uZnRlc3QqCisgIGFjX2N2X3Byb2dfaG9zdF9jY193
b3Jrcz0xIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKK2Vsc2UKKyAgZWNobyAiY29uZmlndXJlOiBm
YWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisgIHJt
IC1yZiBjb25mdGVzdCoKKyAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBpbnN0YWxsYXRpb24g
b3IgY29uZmlndXJhdGlvbiBwcm9ibGVtOiAkaG9zdCBjb21waWxlciAkSE9TVF9DQyBjYW5ub3Qg
Y3JlYXRlIGV4ZWN1dGFibGVzLiIgMT4mMjsgZXhpdCAxOyB9IAorZmkKK3JtIC1mIGNvbmZ0ZXN0
KgorCisgICAgQ0M9JF9TQVZFX0NDCisgICAgQ0ZMQUdTPSRfU0FWRV9DRkxBR1MKKyAgICBMREZM
QUdTPSRfU0FWRV9MREZMQUdTCisKKyAgICBmb3IgYWNfcHJvZyBpbiAkQ0MgIiR7dGFyZ2V0X2Fs
aWFzfS1nY2MiICIke3RhcmdldH0tZ2NjIgorZG8KKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBv
ZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0
IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCitlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFj
X3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjExODM6IGNoZWNraW5nIGZv
ciAkYWNfd29yZCIgPiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19D
Qycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAx
PiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRDQyI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19DQz0iJEND
IiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4KK2Vsc2UKKyAgSUZTPSIke0lGUz0g
CX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIKKyAgYWNfZHVtbXk9IiRQQVRIIgorICBm
b3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKyAgICB0ZXN0IC16ICIkYWNfZGlyIiAmJiBhY19k
aXI9LgorICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorICAgICAgYWNfY3Zf
cHJvZ19DQz0iJGFjX3Byb2ciCisgICAgICBicmVhaworICAgIGZpCisgIGRvbmUKKyAgSUZTPSIk
YWNfc2F2ZV9pZnMiCitmaQorZmkKK0NDPSIkYWNfY3ZfcHJvZ19DQyIKK2lmIHRlc3QgLW4gIiRD
QyI7IHRoZW4KKyAgZWNobyAiJGFjX3QiIiRDQyIgMT4mNgorZWxzZQorICBlY2hvICIkYWNfdCIi
bm8iIDE+JjYKK2ZpCisKK3Rlc3QgLW4gIiRDQyIgJiYgYnJlYWsKK2RvbmUKK3Rlc3QgLW4gIiRD
QyIgfHwgQ0M9ImVjaG8iCisKKyAgICB1bnNldCBhY19jdl9wcm9nX0NDCisgICAgIyBFeHRyYWN0
IHRoZSBmaXJzdCB3b3JkIG9mICJnY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0
aCBhcmdzLgorc2V0IGR1bW15IGdjYzsgYWNfd29yZD0kMgorZWNobyAkYWNfbiAiY2hlY2tpbmcg
Zm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZToxMjE3OiBjaGVj
a2luZyBmb3IgJGFjX3dvcmQiID4mNQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2
X3Byb2dfQ0MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAk
YWNfYyIgMT4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIGFjX2N2X3Byb2df
Q0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0i
JHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFU
SCIKKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRvCisgICAgdGVzdCAteiAiJGFjX2RpciIg
JiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAg
IGFjX2N2X3Byb2dfQ0M9ImdjYyIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9uZQorICBJRlM9
IiRhY19zYXZlX2lmcyIKK2ZpCitmaQorQ0M9IiRhY19jdl9wcm9nX0NDIgoraWYgdGVzdCAtbiAi
JENDIjsgdGhlbgorICBlY2hvICIkYWNfdCIiJENDIiAxPiY2CitlbHNlCisgIGVjaG8gIiRhY190
IiJubyIgMT4mNgorZmkKKworaWYgdGVzdCAteiAiJENDIjsgdGhlbgorICAjIEV4dHJhY3QgdGhl
IGZpcnN0IHdvcmQgb2YgImNjIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJn
cy4KK3NldCBkdW1teSBjYzsgYWNfd29yZD0kMgorZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRh
Y193b3JkIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZToxMjQ3OiBjaGVja2luZyBm
b3IgJGFjX3dvcmQiID4mNQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2df
Q0MnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIg
MT4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIGFjX2N2X3Byb2dfQ0M9IiRD
QyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9
IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgIGFjX3Byb2dfcmVqZWN0ZWQ9bm8K
KyAgYWNfZHVtbXk9IiRQQVRIIgorICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKyAgICB0
ZXN0IC16ICIkYWNfZGlyIiAmJiBhY19kaXI9LgorICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNf
d29yZDsgdGhlbgorICAgICAgaWYgdGVzdCAiJGFjX2Rpci8kYWNfd29yZCIgPSAiL3Vzci91Y2Iv
Y2MiOyB0aGVuCisgICAgICAgIGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCisJY29udGludWUKKyAgICAg
IGZpCisgICAgICBhY19jdl9wcm9nX0NDPSJjYyIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9u
ZQorICBJRlM9IiRhY19zYXZlX2lmcyIKK2lmIHRlc3QgJGFjX3Byb2dfcmVqZWN0ZWQgPSB5ZXM7
IHRoZW4KKyAgIyBXZSBmb3VuZCBhIGJvZ29uIGluIHRoZSBwYXRoLCBzbyBtYWtlIHN1cmUgd2Ug
bmV2ZXIgdXNlIGl0LgorICBzZXQgZHVtbXkgJGFjX2N2X3Byb2dfQ0MKKyAgc2hpZnQKKyAgaWYg
dGVzdCAkIyAtZ3QgMDsgdGhlbgorICAgICMgV2UgY2hvc2UgYSBkaWZmZXJlbnQgY29tcGlsZXIg
ZnJvbSB0aGUgYm9ndXMgb25lLgorICAgICMgSG93ZXZlciwgaXQgaGFzIHRoZSBzYW1lIGJhc2Vu
YW1lLCBzbyB0aGUgYm9nb24gd2lsbCBiZSBjaG9zZW4KKyAgICAjIGZpcnN0IGlmIHdlIHNldCBD
QyB0byBqdXN0IHRoZSBiYXNlbmFtZTsgdXNlIHRoZSBmdWxsIGZpbGUgbmFtZS4KKyAgICBzaGlm
dAorICAgIHNldCBkdW1teSAiJGFjX2Rpci8kYWNfd29yZCIgIiRAIgorICAgIHNoaWZ0CisgICAg
YWNfY3ZfcHJvZ19DQz0iJEAiCisgIGZpCitmaQorZmkKK2ZpCitDQz0iJGFjX2N2X3Byb2dfQ0Mi
CitpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIGVjaG8gIiRhY190IiIkQ0MiIDE+JjYKK2Vsc2UK
KyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CitmaQorCisgIGlmIHRlc3QgLXogIiRDQyI7IHRoZW4K
KyAgICBjYXNlICJgdW5hbWUgLXNgIiBpbgorICAgICp3aW4zMiogfCAqV0lOMzIqKQorICAgICAg
IyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJjbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0g
bmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgY2w7IGFjX3dvcmQ9JDIKK2VjaG8gJGFjX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MTI5
ODogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcn
eydhY19jdl9wcm9nX0NDJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNh
Y2hlZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICBhY19j
dl9wcm9nX0NDPSIkQ0MiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQor
ICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorICBhY19kdW1t
eT0iJFBBVEgiCisgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbworICAgIHRlc3QgLXogIiRh
Y19kaXIiICYmIGFjX2Rpcj0uCisgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0aGVu
CisgICAgICBhY19jdl9wcm9nX0NDPSJjbCIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9uZQor
ICBJRlM9IiRhY19zYXZlX2lmcyIKK2ZpCitmaQorQ0M9IiRhY19jdl9wcm9nX0NDIgoraWYgdGVz
dCAtbiAiJENDIjsgdGhlbgorICBlY2hvICIkYWNfdCIiJENDIiAxPiY2CitlbHNlCisgIGVjaG8g
IiRhY190IiJubyIgMT4mNgorZmkKKyA7OworICAgIGVzYWMKKyAgZmkKKyAgdGVzdCAteiAiJEND
IiAmJiB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IG5vIGFjY2VwdGFibGUgY2MgZm91bmQgaW4g
XCRQQVRIIiAxPiYyOyBleGl0IDE7IH0KK2ZpCisKK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRo
ZXIgdGhlIEMgY29tcGlsZXIgKCRDQyAkQ0ZMQUdTICRMREZMQUdTKSB3b3JrcyIiLi4uICRhY19j
IiAxPiY2CitlY2hvICJjb25maWd1cmU6MTMzMDogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21w
aWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIHdvcmtzIiA+JjUKKworYWNfZXh0PWMKKyMgQ0ZM
QUdTIGlzIG5vdCBpbiBhY19jcHAgYmVjYXVzZSAtZywgLU8sIGV0Yy4gYXJlIG5vdCB2YWxpZCBj
cHAgb3B0aW9ucy4KK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCithY19jb21waWxlPScke0NDLWNj
fSAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0IDE+JjUnCithY19saW5rPSck
e0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFH
UyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTIDE+JjUnCitjcm9zc19jb21waWxpbmc9JGFjX2N2X3By
b2dfY2NfY3Jvc3MKKworY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PCBFT0YKKworI2xpbmUgMTM0
MSAiY29uZmlndXJlIgorI2luY2x1ZGUgImNvbmZkZWZzLmgiCisKK21haW4oKXtyZXR1cm4oMCk7
fQorRU9GCitpZiB7IChldmFsIGVjaG8gY29uZmlndXJlOjEzNDY6IFwiJGFjX2xpbmtcIikgMT4m
NTsgKGV2YWwgJGFjX2xpbmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0
fTsgdGhlbgorICBhY19jdl9wcm9nX2NjX3dvcmtzPXllcworICAjIElmIHdlIGNhbid0IHJ1biBh
IHRyaXZpYWwgcHJvZ3JhbSwgd2UgYXJlIHByb2JhYmx5IHVzaW5nIGEgY3Jvc3MgY29tcGlsZXIu
CisgIGlmICguL2NvbmZ0ZXN0OyBleGl0KSAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGFjX2N2X3By
b2dfY2NfY3Jvc3M9bm8KKyAgZWxzZQorICAgIGFjX2N2X3Byb2dfY2NfY3Jvc3M9eWVzCisgIGZp
CitlbHNlCisgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNh
dCBjb25mdGVzdC4kYWNfZXh0ID4mNQorICBhY19jdl9wcm9nX2NjX3dvcmtzPW5vCitmaQorcm0g
LWZyIGNvbmZ0ZXN0KgorYWNfZXh0PWMKKyMgQ0ZMQUdTIGlzIG5vdCBpbiBhY19jcHAgYmVjYXVz
ZSAtZywgLU8sIGV0Yy4gYXJlIG5vdCB2YWxpZCBjcHAgb3B0aW9ucy4KK2FjX2NwcD0nJENQUCAk
Q1BQRkxBR1MnCithY19jb21waWxlPScke0NDLWNjfSAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25m
dGVzdC4kYWNfZXh0IDE+JjUnCithY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhl
ZXh0fSAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTIDE+
JjUnCitjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKworZWNobyAiJGFjX3Qi
IiRhY19jdl9wcm9nX2NjX3dvcmtzIiAxPiY2CitpZiB0ZXN0ICRhY19jdl9wcm9nX2NjX3dvcmtz
ID0gbm87IHRoZW4KKyAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBpbnN0YWxsYXRpb24gb3Ig
Y29uZmlndXJhdGlvbiBwcm9ibGVtOiBDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJs
ZXMuIiAxPiYyOyBleGl0IDE7IH0KK2ZpCitlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRo
ZSBDIGNvbXBpbGVyICgkQ0MgJENGTEFHUyAkTERGTEFHUykgaXMgYSBjcm9zcy1jb21waWxlciIi
Li4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MTM3MjogY2hlY2tpbmcgd2hldGhlciB0
aGUgQyBjb21waWxlciAoJENDICRDRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3MtY29tcGlsZXIi
ID4mNQorZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2NjX2Nyb3NzIiAxPiY2Citjcm9zc19jb21w
aWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKworZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhl
ciB3ZSBhcmUgdXNpbmcgR05VIEMiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjEz
Nzc6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDIiA+JjUKK2lmIGV2YWwgInRl
c3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX2djYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisg
IGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisgIGNhdCA+IGNvbmZ0ZXN0
LmMgPDxFT0YKKyNpZmRlZiBfX0dOVUNfXworICB5ZXM7CisjZW5kaWYKK0VPRgoraWYgeyBhY190
cnk9JyR7Q0MtY2N9IC1FIGNvbmZ0ZXN0LmMnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjEzODY6
IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9IHwgZWdyZXAgeWVz
ID4vZGV2L251bGwgMj4mMTsgdGhlbgorICBhY19jdl9wcm9nX2djYz15ZXMKK2Vsc2UKKyAgYWNf
Y3ZfcHJvZ19nY2M9bm8KK2ZpCitmaQorCitlY2hvICIkYWNfdCIiJGFjX2N2X3Byb2dfZ2NjIiAx
PiY2CisKK2lmIHRlc3QgJGFjX2N2X3Byb2dfZ2NjID0geWVzOyB0aGVuCisgIEdDQz15ZXMKK2Vs
c2UKKyAgR0NDPQorZmkKKworYWNfdGVzdF9DRkxBR1M9IiR7Q0ZMQUdTK3NldH0iCithY19zYXZl
X0NGTEFHUz0iJENGTEFHUyIKK0NGTEFHUz0KK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIg
JHtDQy1jY30gYWNjZXB0cyAtZyIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MTQw
NTogY2hlY2tpbmcgd2hldGhlciAke0NDLWNjfSBhY2NlcHRzIC1nIiA+JjUKK2lmIGV2YWwgInRl
c3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX2NjX2cnK3NldH0nYFwiID0gc2V0IjsgdGhlbgor
ICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBlY2hvICd2b2lkIGYo
KXt9JyA+IGNvbmZ0ZXN0LmMKK2lmIHRlc3QgLXogImAke0NDLWNjfSAtZyAtYyBjb25mdGVzdC5j
IDI+JjFgIjsgdGhlbgorICBhY19jdl9wcm9nX2NjX2c9eWVzCitlbHNlCisgIGFjX2N2X3Byb2df
Y2NfZz1ubworZmkKK3JtIC1mIGNvbmZ0ZXN0KgorCitmaQorCitlY2hvICIkYWNfdCIiJGFjX2N2
X3Byb2dfY2NfZyIgMT4mNgoraWYgdGVzdCAiJGFjX3Rlc3RfQ0ZMQUdTIiA9IHNldDsgdGhlbgor
ICBDRkxBR1M9IiRhY19zYXZlX0NGTEFHUyIKK2VsaWYgdGVzdCAkYWNfY3ZfcHJvZ19jY19nID0g
eWVzOyB0aGVuCisgIGlmIHRlc3QgIiRHQ0MiID0geWVzOyB0aGVuCisgICAgQ0ZMQUdTPSItZyAt
TzIiCisgIGVsc2UKKyAgICBDRkxBR1M9Ii1nIgorICBmaQorZWxzZQorICBpZiB0ZXN0ICIkR0ND
IiA9IHllczsgdGhlbgorICAgIENGTEFHUz0iLU8yIgorICBlbHNlCisgICAgQ0ZMQUdTPQorICBm
aQorZmkKKworICAgIGZvciBhY19wcm9nIGluICRDWFggIiR7dGFyZ2V0X2FsaWFzfS1nKysiICIk
e3RhcmdldH0tZysrIgorZG8KKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ci
LCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRhY19w
cm9nOyBhY193b3JkPSQyCitlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAk
YWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjE0NDE6IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19DWFgnK3NldH0nYFwi
ID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQor
ICBpZiB0ZXN0IC1uICIkQ1hYIjsgdGhlbgorICBhY19jdl9wcm9nX0NYWD0iJENYWCIgIyBMZXQg
dGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9IAl9IjsgYWNf
c2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIKKyAgZm9yIGFjX2Rp
ciBpbiAkYWNfZHVtbXk7IGRvCisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKyAg
ICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3Byb2dfQ1hY
PSIkYWNfcHJvZyIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9uZQorICBJRlM9IiRhY19zYXZl
X2lmcyIKK2ZpCitmaQorQ1hYPSIkYWNfY3ZfcHJvZ19DWFgiCitpZiB0ZXN0IC1uICIkQ1hYIjsg
dGhlbgorICBlY2hvICIkYWNfdCIiJENYWCIgMT4mNgorZWxzZQorICBlY2hvICIkYWNfdCIibm8i
IDE+JjYKK2ZpCisKK3Rlc3QgLW4gIiRDWFgiICYmIGJyZWFrCitkb25lCit0ZXN0IC1uICIkQ1hY
IiB8fCBDWFg9ImVjaG8iCisKKyAgICB1bnNldCBhY19jdl9wcm9nX0NYWAorICAgIGZvciBhY19w
cm9nIGluICRDQ0MgYysrIGcrKyBnY2MgQ0MgY3h4IGNjKysgY2wKK2RvCisjIEV4dHJhY3QgdGhl
IGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdp
dGggYXJncy4KK3NldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0kMgorZWNobyAkYWNfbiAiY2hl
Y2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZToxNDc3
OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7
J2FjX2N2X3Byb2dfQ1hYJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNh
Y2hlZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJENYWCI7IHRoZW4KKyAgYWNf
Y3ZfcHJvZ19DWFg9IiRDWFgiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxz
ZQorICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorICBhY19k
dW1teT0iJFBBVEgiCisgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbworICAgIHRlc3QgLXog
IiRhY19kaXIiICYmIGFjX2Rpcj0uCisgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0
aGVuCisgICAgICBhY19jdl9wcm9nX0NYWD0iJGFjX3Byb2ciCisgICAgICBicmVhaworICAgIGZp
CisgIGRvbmUKKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCitmaQorZmkKK0NYWD0iJGFjX2N2X3Byb2df
Q1hYIgoraWYgdGVzdCAtbiAiJENYWCI7IHRoZW4KKyAgZWNobyAiJGFjX3QiIiRDWFgiIDE+JjYK
K2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CitmaQorCit0ZXN0IC1uICIkQ1hYIiAmJiBi
cmVhaworZG9uZQordGVzdCAtbiAiJENYWCIgfHwgQ1hYPSJnY2MiCisKKworZWNobyAkYWNfbiAi
Y2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNvbXBpbGVyICgkQ1hYICRDWFhGTEFHUyAkTERGTEFH
Uykgd29ya3MiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjE1MDk6IGNoZWNraW5n
IHdoZXRoZXIgdGhlIEMrKyBjb21waWxlciAoJENYWCAkQ1hYRkxBR1MgJExERkxBR1MpIHdvcmtz
IiA+JjUKKworYWNfZXh0PUMKKyMgQ1hYRkxBR1MgaXMgbm90IGluIGFjX2NwcCBiZWNhdXNlIC1n
LCAtTywgZXRjLiBhcmUgbm90IHZhbGlkIGNwcCBvcHRpb25zLgorYWNfY3BwPSckQ1hYQ1BQICRD
UFBGTEFHUycKK2FjX2NvbXBpbGU9JyR7Q1hYLWcrK30gLWMgJENYWEZMQUdTICRDUFBGTEFHUyBj
b25mdGVzdC4kYWNfZXh0IDE+JjUnCithY19saW5rPScke0NYWC1nKyt9IC1vIGNvbmZ0ZXN0JHth
Y19leGVleHR9ICRDWFhGTEFHUyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAk
TElCUyAxPiY1JworY3Jvc3NfY29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworCitjYXQg
PiBjb25mdGVzdC4kYWNfZXh0IDw8IEVPRgorCisjbGluZSAxNTIwICJjb25maWd1cmUiCisjaW5j
bHVkZSAiY29uZmRlZnMuaCIKKworaW50IG1haW4oKXtyZXR1cm4oMCk7fQorRU9GCitpZiB7IChl
dmFsIGVjaG8gY29uZmlndXJlOjE1MjU6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xp
bmspIDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICBhY19j
dl9wcm9nX2N4eF93b3Jrcz15ZXMKKyAgIyBJZiB3ZSBjYW4ndCBydW4gYSB0cml2aWFsIHByb2dy
YW0sIHdlIGFyZSBwcm9iYWJseSB1c2luZyBhIGNyb3NzIGNvbXBpbGVyLgorICBpZiAoLi9jb25m
dGVzdDsgZXhpdCkgMj4vZGV2L251bGw7IHRoZW4KKyAgICBhY19jdl9wcm9nX2N4eF9jcm9zcz1u
bworICBlbHNlCisgICAgYWNfY3ZfcHJvZ19jeHhfY3Jvc3M9eWVzCisgIGZpCitlbHNlCisgIGVj
aG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNhdCBjb25mdGVzdC4k
YWNfZXh0ID4mNQorICBhY19jdl9wcm9nX2N4eF93b3Jrcz1ubworZmkKK3JtIC1mciBjb25mdGVz
dCoKK2FjX2V4dD1jCisjIENGTEFHUyBpcyBub3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcsIC1PLCBl
dGMuIGFyZSBub3QgdmFsaWQgY3BwIG9wdGlvbnMuCithY19jcHA9JyRDUFAgJENQUEZMQUdTJwor
YWNfY29tcGlsZT0nJHtDQy1jY30gLWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4
dCAxPiY1JworYWNfbGluaz0nJHtDQy1jY30gLW8gY29uZnRlc3Qke2FjX2V4ZWV4dH0gJENGTEFH
UyAkQ1BQRkxBR1MgJExERkxBR1MgY29uZnRlc3QuJGFjX2V4dCAkTElCUyAxPiY1JworY3Jvc3Nf
Y29tcGlsaW5nPSRhY19jdl9wcm9nX2NjX2Nyb3NzCisKK2VjaG8gIiRhY190IiIkYWNfY3ZfcHJv
Z19jeHhfd29ya3MiIDE+JjYKK2lmIHRlc3QgJGFjX2N2X3Byb2dfY3h4X3dvcmtzID0gbm87IHRo
ZW4KKyAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiBpbnN0YWxsYXRpb24gb3IgY29uZmlndXJh
dGlvbiBwcm9ibGVtOiBDKysgY29tcGlsZXIgY2Fubm90IGNyZWF0ZSBleGVjdXRhYmxlcy4iIDE+
JjI7IGV4aXQgMTsgfQorZmkKK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMrKyBj
b21waWxlciAoJENYWCAkQ1hYRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3MtY29tcGlsZXIiIi4u
LiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjE1NTE6IGNoZWNraW5nIHdoZXRoZXIgdGhl
IEMrKyBjb21waWxlciAoJENYWCAkQ1hYRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3MtY29tcGls
ZXIiID4mNQorZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2N4eF9jcm9zcyIgMT4mNgorY3Jvc3Nf
Y29tcGlsaW5nPSRhY19jdl9wcm9nX2N4eF9jcm9zcworCitlY2hvICRhY19uICJjaGVja2luZyB3
aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQysrIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZp
Z3VyZToxNTU2OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSB1c2luZyBHTlUgQysrIiA+JjUKK2lm
IGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX2d4eCcrc2V0fSdgXCIgPSBzZXQi
OyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisgIGNhdCA+
IGNvbmZ0ZXN0LkMgPDxFT0YKKyNpZmRlZiBfX0dOVUNfXworICB5ZXM7CisjZW5kaWYKK0VPRgor
aWYgeyBhY190cnk9JyR7Q1hYLWcrK30gLUUgY29uZnRlc3QuQyc7IHsgKGV2YWwgZWNobyBjb25m
aWd1cmU6MTU2NTogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH07IH0g
fCBlZ3JlcCB5ZXMgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgIGFjX2N2X3Byb2dfZ3h4PXllcwor
ZWxzZQorICBhY19jdl9wcm9nX2d4eD1ubworZmkKK2ZpCisKK2VjaG8gIiRhY190IiIkYWNfY3Zf
cHJvZ19neHgiIDE+JjYKKworaWYgdGVzdCAkYWNfY3ZfcHJvZ19neHggPSB5ZXM7IHRoZW4KKyAg
R1hYPXllcworZWxzZQorICBHWFg9CitmaQorCithY190ZXN0X0NYWEZMQUdTPSIke0NYWEZMQUdT
K3NldH0iCithY19zYXZlX0NYWEZMQUdTPSIkQ1hYRkxBR1MiCitDWFhGTEFHUz0KK2VjaG8gJGFj
X24gImNoZWNraW5nIHdoZXRoZXIgJHtDWFgtZysrfSBhY2NlcHRzIC1nIiIuLi4gJGFjX2MiIDE+
JjYKK2VjaG8gImNvbmZpZ3VyZToxNTg0OiBjaGVja2luZyB3aGV0aGVyICR7Q1hYLWcrK30gYWNj
ZXB0cyAtZyIgPiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19jeHhf
Zycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAx
PiY2CitlbHNlCisgIGVjaG8gJ3ZvaWQgZigpe30nID4gY29uZnRlc3QuY2MKK2lmIHRlc3QgLXog
ImAke0NYWC1nKyt9IC1nIC1jIGNvbmZ0ZXN0LmNjIDI+JjFgIjsgdGhlbgorICBhY19jdl9wcm9n
X2N4eF9nPXllcworZWxzZQorICBhY19jdl9wcm9nX2N4eF9nPW5vCitmaQorcm0gLWYgY29uZnRl
c3QqCisKK2ZpCisKK2VjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19jeHhfZyIgMT4mNgoraWYgdGVz
dCAiJGFjX3Rlc3RfQ1hYRkxBR1MiID0gc2V0OyB0aGVuCisgIENYWEZMQUdTPSIkYWNfc2F2ZV9D
WFhGTEFHUyIKK2VsaWYgdGVzdCAkYWNfY3ZfcHJvZ19jeHhfZyA9IHllczsgdGhlbgorICBpZiB0
ZXN0ICIkR1hYIiA9IHllczsgdGhlbgorICAgIENYWEZMQUdTPSItZyAtTzIiCisgIGVsc2UKKyAg
ICBDWFhGTEFHUz0iLWciCisgIGZpCitlbHNlCisgIGlmIHRlc3QgIiRHWFgiID0geWVzOyB0aGVu
CisgICAgQ1hYRkxBR1M9Ii1PMiIKKyAgZWxzZQorICAgIENYWEZMQUdTPQorICBmaQorZmkKKwor
ICAgIGZvciBhY19wcm9nIGluICRSQU5MSUIgIiR7dGFyZ2V0X2FsaWFzfS1yYW5saWIiICIke3Rh
cmdldH0tcmFubGliIgorZG8KKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ci
LCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRhY19w
cm9nOyBhY193b3JkPSQyCitlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAk
YWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjE2MjA6IGNoZWNraW5nIGZvciAkYWNfd29yZCIg
PiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcHJvZ19SQU5MSUInK3NldH0n
YFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxz
ZQorICBpZiB0ZXN0IC1uICIkUkFOTElCIjsgdGhlbgorICBhY19jdl9wcm9nX1JBTkxJQj0iJFJB
TkxJQiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJ
RlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIK
KyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRvCisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYg
YWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFj
X2N2X3Byb2dfUkFOTElCPSIkYWNfcHJvZyIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9uZQor
ICBJRlM9IiRhY19zYXZlX2lmcyIKK2ZpCitmaQorUkFOTElCPSIkYWNfY3ZfcHJvZ19SQU5MSUIi
CitpZiB0ZXN0IC1uICIkUkFOTElCIjsgdGhlbgorICBlY2hvICIkYWNfdCIiJFJBTkxJQiIgMT4m
NgorZWxzZQorICBlY2hvICIkYWNfdCIibm8iIDE+JjYKK2ZpCisKK3Rlc3QgLW4gIiRSQU5MSUIi
ICYmIGJyZWFrCitkb25lCit0ZXN0IC1uICIkUkFOTElCIiB8fCBSQU5MSUI9ImVjaG8iCisKKyAg
ICBmb3IgYWNfcHJvZyBpbiAkQVIgIiR7dGFyZ2V0X2FsaWFzfS1hciIgIiR7dGFyZ2V0fS1hciIK
K2RvCisjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJl
IGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0k
MgorZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKK2Vj
aG8gImNvbmZpZ3VyZToxNjU1OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQoraWYgZXZhbCAi
dGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQVInK3NldH0nYFwiID0gc2V0IjsgdGhlbgor
ICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIk
QVIiOyB0aGVuCisgIGFjX2N2X3Byb2dfQVI9IiRBUiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUg
dGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJ
RlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIKKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRv
CisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRhY19k
aXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3Byb2dfQVI9IiRhY19wcm9nIgorICAgICAg
YnJlYWsKKyAgICBmaQorICBkb25lCisgIElGUz0iJGFjX3NhdmVfaWZzIgorZmkKK2ZpCitBUj0i
JGFjX2N2X3Byb2dfQVIiCitpZiB0ZXN0IC1uICIkQVIiOyB0aGVuCisgIGVjaG8gIiRhY190IiIk
QVIiIDE+JjYKK2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CitmaQorCit0ZXN0IC1uICIk
QVIiICYmIGJyZWFrCitkb25lCit0ZXN0IC1uICIkQVIiIHx8IEFSPSJlY2hvIgorCisgICAgZm9y
IGFjX3Byb2cgaW4gJEFTICIke3RhcmdldF9hbGlhc30tYXMiICIke3RhcmdldH0tYXMiCitkbwor
IyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHBy
b2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKK2Vj
aG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJj
b25maWd1cmU6MTY5MDogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2lmIGV2YWwgInRlc3Qg
XCJgZWNobyAnJCcneydhY19jdl9wcm9nX0FTJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNo
byAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJEFTIjsg
dGhlbgorICBhY19jdl9wcm9nX0FTPSIkQVMiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0
ZXN0LgorZWxzZQorICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6
IgorICBhY19kdW1teT0iJFBBVEgiCisgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbworICAg
IHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0uCisgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRh
Y193b3JkOyB0aGVuCisgICAgICBhY19jdl9wcm9nX0FTPSIkYWNfcHJvZyIKKyAgICAgIGJyZWFr
CisgICAgZmkKKyAgZG9uZQorICBJRlM9IiRhY19zYXZlX2lmcyIKK2ZpCitmaQorQVM9IiRhY19j
dl9wcm9nX0FTIgoraWYgdGVzdCAtbiAiJEFTIjsgdGhlbgorICBlY2hvICIkYWNfdCIiJEFTIiAx
PiY2CitlbHNlCisgIGVjaG8gIiRhY190IiJubyIgMT4mNgorZmkKKwordGVzdCAtbiAiJEFTIiAm
JiBicmVhaworZG9uZQordGVzdCAtbiAiJEFTIiB8fCBBUz0iZWNobyIKKworICAgIGZvciBhY19w
cm9nIGluICRMRCAiJHt0YXJnZXRfYWxpYXN9LWxkIiAiJHt0YXJnZXR9LWxkIgorZG8KKyMgRXh0
cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFt
IG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCitlY2hvICRh
Y19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmln
dXJlOjE3MjU6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitpZiBldmFsICJ0ZXN0IFwiYGVj
aG8gJyQnJ3snYWNfY3ZfcHJvZ19MRCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgIGVjaG8gJGFj
X24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisgIGlmIHRlc3QgLW4gIiRMRCI7IHRoZW4K
KyAgYWNfY3ZfcHJvZ19MRD0iJExEIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdC4K
K2Vsc2UKKyAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIKKyAg
YWNfZHVtbXk9IiRQQVRIIgorICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKyAgICB0ZXN0
IC16ICIkYWNfZGlyIiAmJiBhY19kaXI9LgorICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29y
ZDsgdGhlbgorICAgICAgYWNfY3ZfcHJvZ19MRD0iJGFjX3Byb2ciCisgICAgICBicmVhaworICAg
IGZpCisgIGRvbmUKKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCitmaQorZmkKK0xEPSIkYWNfY3ZfcHJv
Z19MRCIKK2lmIHRlc3QgLW4gIiRMRCI7IHRoZW4KKyAgZWNobyAiJGFjX3QiIiRMRCIgMT4mNgor
ZWxzZQorICBlY2hvICIkYWNfdCIibm8iIDE+JjYKK2ZpCisKK3Rlc3QgLW4gIiRMRCIgJiYgYnJl
YWsKK2RvbmUKK3Rlc3QgLW4gIiRMRCIgfHwgTEQ9ImVjaG8iCisKKyAgICBmb3IgYWNfcHJvZyBp
biAkU1RSSVAgIiR7dGFyZ2V0X2FsaWFzfS1zdHJpcCIgIiR7dGFyZ2V0fS1zdHJpcCIKK2RvCisj
IEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJv
Z3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0kMgorZWNo
byAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNv
bmZpZ3VyZToxNzYwOiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQoraWYgZXZhbCAidGVzdCBc
ImBlY2hvICckJyd7J2FjX2N2X3Byb2dfU1RSSVAnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBl
Y2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkU1RS
SVAiOyB0aGVuCisgIGFjX2N2X3Byb2dfU1RSSVA9IiRTVFJJUCIgIyBMZXQgdGhlIHVzZXIgb3Zl
cnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJ
RlMiOyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIKKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVt
bXk7IGRvCisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1m
ICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3Byb2dfU1RSSVA9IiRhY19wcm9n
IgorICAgICAgYnJlYWsKKyAgICBmaQorICBkb25lCisgIElGUz0iJGFjX3NhdmVfaWZzIgorZmkK
K2ZpCitTVFJJUD0iJGFjX2N2X3Byb2dfU1RSSVAiCitpZiB0ZXN0IC1uICIkU1RSSVAiOyB0aGVu
CisgIGVjaG8gIiRhY190IiIkU1RSSVAiIDE+JjYKK2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAx
PiY2CitmaQorCit0ZXN0IC1uICIkU1RSSVAiICYmIGJyZWFrCitkb25lCit0ZXN0IC1uICIkU1RS
SVAiIHx8IFNUUklQPSJlY2hvIgorCisgICAgZm9yIGFjX3Byb2cgaW4gJFdJTkRSRVMgIiR7dGFy
Z2V0X2FsaWFzfS13aW5kcmVzIiAiJHt0YXJnZXR9LXdpbmRyZXMiCitkbworIyBFeHRyYWN0IHRo
ZSBmaXJzdCB3b3JkIG9mICIkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3
aXRoIGFyZ3MuCitzZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKK2VjaG8gJGFjX24gImNo
ZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MTc5
NTogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcn
eydhY19jdl9wcm9nX1dJTkRSRVMnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19u
ICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkV0lORFJFUyI7IHRo
ZW4KKyAgYWNfY3ZfcHJvZ19XSU5EUkVTPSIkV0lORFJFUyIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJp
ZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMi
OyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIKKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7
IGRvCisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRh
Y19kaXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3Byb2dfV0lORFJFUz0iJGFjX3Byb2ci
CisgICAgICBicmVhaworICAgIGZpCisgIGRvbmUKKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCitmaQor
ZmkKK1dJTkRSRVM9IiRhY19jdl9wcm9nX1dJTkRSRVMiCitpZiB0ZXN0IC1uICIkV0lORFJFUyI7
IHRoZW4KKyAgZWNobyAiJGFjX3QiIiRXSU5EUkVTIiAxPiY2CitlbHNlCisgIGVjaG8gIiRhY190
IiJubyIgMT4mNgorZmkKKwordGVzdCAtbiAiJFdJTkRSRVMiICYmIGJyZWFrCitkb25lCit0ZXN0
IC1uICIkV0lORFJFUyIgfHwgV0lORFJFUz0iZWNobyIKKworCitlbHNlCisgICAgZm9yIGFjX3By
b2cgaW4gJENDQyBjKysgZysrIGdjYyBDQyBjeHggY2MrKyBjbAorZG8KKyMgRXh0cmFjdCB0aGUg
Zmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0
aCBhcmdzLgorc2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCitlY2hvICRhY19uICJjaGVj
a2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjE4MzI6
IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3sn
YWNfY3ZfcHJvZ19DWFgnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2Fj
aGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBpZiB0ZXN0IC1uICIkQ1hYIjsgdGhlbgorICBhY19j
dl9wcm9nX0NYWD0iJENYWCIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNl
CisgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgIGFjX2R1
bW15PSIkUEFUSCIKKyAgZm9yIGFjX2RpciBpbiAkYWNfZHVtbXk7IGRvCisgICAgdGVzdCAteiAi
JGFjX2RpciIgJiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRo
ZW4KKyAgICAgIGFjX2N2X3Byb2dfQ1hYPSIkYWNfcHJvZyIKKyAgICAgIGJyZWFrCisgICAgZmkK
KyAgZG9uZQorICBJRlM9IiRhY19zYXZlX2lmcyIKK2ZpCitmaQorQ1hYPSIkYWNfY3ZfcHJvZ19D
WFgiCitpZiB0ZXN0IC1uICIkQ1hYIjsgdGhlbgorICBlY2hvICIkYWNfdCIiJENYWCIgMT4mNgor
ZWxzZQorICBlY2hvICIkYWNfdCIibm8iIDE+JjYKK2ZpCisKK3Rlc3QgLW4gIiRDWFgiICYmIGJy
ZWFrCitkb25lCit0ZXN0IC1uICIkQ1hYIiB8fCBDWFg9ImdjYyIKKworCitlY2hvICRhY19uICJj
aGVja2luZyB3aGV0aGVyIHRoZSBDKysgY29tcGlsZXIgKCRDWFggJENYWEZMQUdTICRMREZMQUdT
KSB3b3JrcyIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MTg2NDogY2hlY2tpbmcg
d2hldGhlciB0aGUgQysrIGNvbXBpbGVyICgkQ1hYICRDWFhGTEFHUyAkTERGTEFHUykgd29ya3Mi
ID4mNQorCithY19leHQ9QworIyBDWFhGTEFHUyBpcyBub3QgaW4gYWNfY3BwIGJlY2F1c2UgLWcs
IC1PLCBldGMuIGFyZSBub3QgdmFsaWQgY3BwIG9wdGlvbnMuCithY19jcHA9JyRDWFhDUFAgJENQ
UEZMQUdTJworYWNfY29tcGlsZT0nJHtDWFgtZysrfSAtYyAkQ1hYRkxBR1MgJENQUEZMQUdTIGNv
bmZ0ZXN0LiRhY19leHQgMT4mNScKK2FjX2xpbms9JyR7Q1hYLWcrK30gLW8gY29uZnRlc3Qke2Fj
X2V4ZWV4dH0gJENYWEZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRM
SUJTIDE+JjUnCitjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisKK2NhdCA+
IGNvbmZ0ZXN0LiRhY19leHQgPDwgRU9GCisKKyNsaW5lIDE4NzUgImNvbmZpZ3VyZSIKKyNpbmNs
dWRlICJjb25mZGVmcy5oIgorCitpbnQgbWFpbigpe3JldHVybigwKTt9CitFT0YKK2lmIHsgKGV2
YWwgZWNobyBjb25maWd1cmU6MTg4MDogXCIkYWNfbGlua1wiKSAxPiY1OyAoZXZhbCAkYWNfbGlu
aykgMj4mNTsgfSAmJiB0ZXN0IC1zIGNvbmZ0ZXN0JHthY19leGVleHR9OyB0aGVuCisgIGFjX2N2
X3Byb2dfY3h4X3dvcmtzPXllcworICAjIElmIHdlIGNhbid0IHJ1biBhIHRyaXZpYWwgcHJvZ3Jh
bSwgd2UgYXJlIHByb2JhYmx5IHVzaW5nIGEgY3Jvc3MgY29tcGlsZXIuCisgIGlmICguL2NvbmZ0
ZXN0OyBleGl0KSAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGFjX2N2X3Byb2dfY3h4X2Nyb3NzPW5v
CisgIGVsc2UKKyAgICBhY19jdl9wcm9nX2N4eF9jcm9zcz15ZXMKKyAgZmkKK2Vsc2UKKyAgZWNo
byAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6IiA+JjUKKyAgY2F0IGNvbmZ0ZXN0LiRh
Y19leHQgPiY1CisgIGFjX2N2X3Byb2dfY3h4X3dvcmtzPW5vCitmaQorcm0gLWZyIGNvbmZ0ZXN0
KgorYWNfZXh0PWMKKyMgQ0ZMQUdTIGlzIG5vdCBpbiBhY19jcHAgYmVjYXVzZSAtZywgLU8sIGV0
Yy4gYXJlIG5vdCB2YWxpZCBjcHAgb3B0aW9ucy4KK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCith
Y19jb21waWxlPScke0NDLWNjfSAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0
IDE+JjUnCithY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ0ZMQUdT
ICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTIDE+JjUnCitjcm9zc19j
b21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKworZWNobyAiJGFjX3QiIiRhY19jdl9wcm9n
X2N4eF93b3JrcyIgMT4mNgoraWYgdGVzdCAkYWNfY3ZfcHJvZ19jeHhfd29ya3MgPSBubzsgdGhl
bgorICB7IGVjaG8gImNvbmZpZ3VyZTogZXJyb3I6IGluc3RhbGxhdGlvbiBvciBjb25maWd1cmF0
aW9uIHByb2JsZW06IEMrKyBjb21waWxlciBjYW5ub3QgY3JlYXRlIGV4ZWN1dGFibGVzLiIgMT4m
MjsgZXhpdCAxOyB9CitmaQorZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB0aGUgQysrIGNv
bXBpbGVyICgkQ1hYICRDWFhGTEFHUyAkTERGTEFHUykgaXMgYSBjcm9zcy1jb21waWxlciIiLi4u
ICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MTkwNjogY2hlY2tpbmcgd2hldGhlciB0aGUg
QysrIGNvbXBpbGVyICgkQ1hYICRDWFhGTEFHUyAkTERGTEFHUykgaXMgYSBjcm9zcy1jb21waWxl
ciIgPiY1CitlY2hvICIkYWNfdCIiJGFjX2N2X3Byb2dfY3h4X2Nyb3NzIiAxPiY2Citjcm9zc19j
b21waWxpbmc9JGFjX2N2X3Byb2dfY3h4X2Nyb3NzCisKK2VjaG8gJGFjX24gImNoZWNraW5nIHdo
ZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDKysiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmln
dXJlOjE5MTE6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIEdOVSBDKysiID4mNQoraWYg
ZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfZ3h4JytzZXR9J2BcIiA9IHNldCI7
IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgY2F0ID4g
Y29uZnRlc3QuQyA8PEVPRgorI2lmZGVmIF9fR05VQ19fCisgIHllczsKKyNlbmRpZgorRU9GCitp
ZiB7IGFjX3RyeT0nJHtDWFgtZysrfSAtRSBjb25mdGVzdC5DJzsgeyAoZXZhbCBlY2hvIGNvbmZp
Z3VyZToxOTIwOiBcIiRhY190cnlcIikgMT4mNTsgKGV2YWwgJGFjX3RyeSkgMj4mNTsgfTsgfSB8
IGVncmVwIHllcyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgYWNfY3ZfcHJvZ19neHg9eWVzCitl
bHNlCisgIGFjX2N2X3Byb2dfZ3h4PW5vCitmaQorZmkKKworZWNobyAiJGFjX3QiIiRhY19jdl9w
cm9nX2d4eCIgMT4mNgorCitpZiB0ZXN0ICRhY19jdl9wcm9nX2d4eCA9IHllczsgdGhlbgorICBH
WFg9eWVzCitlbHNlCisgIEdYWD0KK2ZpCisKK2FjX3Rlc3RfQ1hYRkxBR1M9IiR7Q1hYRkxBR1Mr
c2V0fSIKK2FjX3NhdmVfQ1hYRkxBR1M9IiRDWFhGTEFHUyIKK0NYWEZMQUdTPQorZWNobyAkYWNf
biAiY2hlY2tpbmcgd2hldGhlciAke0NYWC1nKyt9IGFjY2VwdHMgLWciIi4uLiAkYWNfYyIgMT4m
NgorZWNobyAiY29uZmlndXJlOjE5Mzk6IGNoZWNraW5nIHdoZXRoZXIgJHtDWFgtZysrfSBhY2Nl
cHRzIC1nIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX2N4eF9n
JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+
JjYKK2Vsc2UKKyAgZWNobyAndm9pZCBmKCl7fScgPiBjb25mdGVzdC5jYworaWYgdGVzdCAteiAi
YCR7Q1hYLWcrK30gLWcgLWMgY29uZnRlc3QuY2MgMj4mMWAiOyB0aGVuCisgIGFjX2N2X3Byb2df
Y3h4X2c9eWVzCitlbHNlCisgIGFjX2N2X3Byb2dfY3h4X2c9bm8KK2ZpCitybSAtZiBjb25mdGVz
dCoKKworZmkKKworZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2N4eF9nIiAxPiY2CitpZiB0ZXN0
ICIkYWNfdGVzdF9DWFhGTEFHUyIgPSBzZXQ7IHRoZW4KKyAgQ1hYRkxBR1M9IiRhY19zYXZlX0NY
WEZMQUdTIgorZWxpZiB0ZXN0ICRhY19jdl9wcm9nX2N4eF9nID0geWVzOyB0aGVuCisgIGlmIHRl
c3QgIiRHWFgiID0geWVzOyB0aGVuCisgICAgQ1hYRkxBR1M9Ii1nIC1PMiIKKyAgZWxzZQorICAg
IENYWEZMQUdTPSItZyIKKyAgZmkKK2Vsc2UKKyAgaWYgdGVzdCAiJEdYWCIgPSB5ZXM7IHRoZW4K
KyAgICBDWFhGTEFHUz0iLU8yIgorICBlbHNlCisgICAgQ1hYRkxBR1M9CisgIGZpCitmaQorCisg
ICAgaWYgdGVzdCAiJENYWCIgPSAiY2wiIC1hIC16ICIkQ0MiOyB0aGVuCisgICAgICAgIENDPSRD
WFgKKyAgICBlbHNlICAgICAgICAKKyAgICAgICAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9m
ICJnY2MiLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15
IGdjYzsgYWNfd29yZD0kMgorZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4g
JGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZToxOTc2OiBjaGVja2luZyBmb3IgJGFjX3dvcmQi
ID4mNQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQ0MnK3NldH0nYFwi
ID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQor
ICBpZiB0ZXN0IC1uICIkQ0MiOyB0aGVuCisgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhl
IHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2
ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIKKyAgZm9yIGFjX2RpciBp
biAkYWNfZHVtbXk7IGRvCisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKyAgICBp
ZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3Byb2dfQ0M9Imdj
YyIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9uZQorICBJRlM9IiRhY19zYXZlX2lmcyIKK2Zp
CitmaQorQ0M9IiRhY19jdl9wcm9nX0NDIgoraWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICBlY2hv
ICIkYWNfdCIiJENDIiAxPiY2CitlbHNlCisgIGVjaG8gIiRhY190IiJubyIgMT4mNgorZmkKKwor
aWYgdGVzdCAteiAiJENDIjsgdGhlbgorICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgImNj
Iiwgc28gaXQgY2FuIGJlIGEgcHJvZ3JhbSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSBjYzsg
YWNfd29yZD0kMgorZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2Mi
IDE+JjYKK2VjaG8gImNvbmZpZ3VyZToyMDA2OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQor
aWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X3Byb2dfQ0MnK3NldH0nYFwiID0gc2V0
IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBpZiB0
ZXN0IC1uICIkQ0MiOyB0aGVuCisgIGFjX2N2X3Byb2dfQ0M9IiRDQyIgIyBMZXQgdGhlIHVzZXIg
b3ZlcnJpZGUgdGhlIHRlc3QuCitlbHNlCisgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2ZV9pZnM9
IiRJRlMiOyBJRlM9IjoiCisgIGFjX3Byb2dfcmVqZWN0ZWQ9bm8KKyAgYWNfZHVtbXk9IiRQQVRI
IgorICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8KKyAgICB0ZXN0IC16ICIkYWNfZGlyIiAm
JiBhY19kaXI9LgorICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorICAgICAg
aWYgdGVzdCAiJGFjX2Rpci8kYWNfd29yZCIgPSAiL3Vzci91Y2IvY2MiOyB0aGVuCisgICAgICAg
IGFjX3Byb2dfcmVqZWN0ZWQ9eWVzCisJY29udGludWUKKyAgICAgIGZpCisgICAgICBhY19jdl9w
cm9nX0NDPSJjYyIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9uZQorICBJRlM9IiRhY19zYXZl
X2lmcyIKK2lmIHRlc3QgJGFjX3Byb2dfcmVqZWN0ZWQgPSB5ZXM7IHRoZW4KKyAgIyBXZSBmb3Vu
ZCBhIGJvZ29uIGluIHRoZSBwYXRoLCBzbyBtYWtlIHN1cmUgd2UgbmV2ZXIgdXNlIGl0LgorICBz
ZXQgZHVtbXkgJGFjX2N2X3Byb2dfQ0MKKyAgc2hpZnQKKyAgaWYgdGVzdCAkIyAtZ3QgMDsgdGhl
bgorICAgICMgV2UgY2hvc2UgYSBkaWZmZXJlbnQgY29tcGlsZXIgZnJvbSB0aGUgYm9ndXMgb25l
LgorICAgICMgSG93ZXZlciwgaXQgaGFzIHRoZSBzYW1lIGJhc2VuYW1lLCBzbyB0aGUgYm9nb24g
d2lsbCBiZSBjaG9zZW4KKyAgICAjIGZpcnN0IGlmIHdlIHNldCBDQyB0byBqdXN0IHRoZSBiYXNl
bmFtZTsgdXNlIHRoZSBmdWxsIGZpbGUgbmFtZS4KKyAgICBzaGlmdAorICAgIHNldCBkdW1teSAi
JGFjX2Rpci8kYWNfd29yZCIgIiRAIgorICAgIHNoaWZ0CisgICAgYWNfY3ZfcHJvZ19DQz0iJEAi
CisgIGZpCitmaQorZmkKK2ZpCitDQz0iJGFjX2N2X3Byb2dfQ0MiCitpZiB0ZXN0IC1uICIkQ0Mi
OyB0aGVuCisgIGVjaG8gIiRhY190IiIkQ0MiIDE+JjYKK2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5v
IiAxPiY2CitmaQorCisgIGlmIHRlc3QgLXogIiRDQyI7IHRoZW4KKyAgICBjYXNlICJgdW5hbWUg
LXNgIiBpbgorICAgICp3aW4zMiogfCAqV0lOMzIqKQorICAgICAgIyBFeHRyYWN0IHRoZSBmaXJz
dCB3b3JkIG9mICJjbCIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitz
ZXQgZHVtbXkgY2w7IGFjX3dvcmQ9JDIKK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29y
ZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MjA1NzogY2hlY2tpbmcgZm9yICRh
Y193b3JkIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wcm9nX0NDJytz
ZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYK
K2Vsc2UKKyAgaWYgdGVzdCAtbiAiJENDIjsgdGhlbgorICBhY19jdl9wcm9nX0NDPSIkQ0MiICMg
TGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorICBJRlM9IiR7SUZTPSAJfSI7
IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorICBhY19kdW1teT0iJFBBVEgiCisgIGZvciBh
Y19kaXIgaW4gJGFjX2R1bW15OyBkbworICAgIHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0u
CisgICAgaWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0aGVuCisgICAgICBhY19jdl9wcm9n
X0NDPSJjbCIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAgZG9uZQorICBJRlM9IiRhY19zYXZlX2lm
cyIKK2ZpCitmaQorQ0M9IiRhY19jdl9wcm9nX0NDIgoraWYgdGVzdCAtbiAiJENDIjsgdGhlbgor
ICBlY2hvICIkYWNfdCIiJENDIiAxPiY2CitlbHNlCisgIGVjaG8gIiRhY190IiJubyIgMT4mNgor
ZmkKKyA7OworICAgIGVzYWMKKyAgZmkKKyAgdGVzdCAteiAiJENDIiAmJiB7IGVjaG8gImNvbmZp
Z3VyZTogZXJyb3I6IG5vIGFjY2VwdGFibGUgY2MgZm91bmQgaW4gXCRQQVRIIiAxPiYyOyBleGl0
IDE7IH0KK2ZpCisKK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIg
KCRDQyAkQ0ZMQUdTICRMREZMQUdTKSB3b3JrcyIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25m
aWd1cmU6MjA4OTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJENDICRDRkxBR1Mg
JExERkxBR1MpIHdvcmtzIiA+JjUKKworYWNfZXh0PWMKKyMgQ0ZMQUdTIGlzIG5vdCBpbiBhY19j
cHAgYmVjYXVzZSAtZywgLU8sIGV0Yy4gYXJlIG5vdCB2YWxpZCBjcHAgb3B0aW9ucy4KK2FjX2Nw
cD0nJENQUCAkQ1BQRkxBR1MnCithY19jb21waWxlPScke0NDLWNjfSAtYyAkQ0ZMQUdTICRDUFBG
TEFHUyBjb25mdGVzdC4kYWNfZXh0IDE+JjUnCithY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVz
dCR7YWNfZXhlZXh0fSAkQ0ZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0
ICRMSUJTIDE+JjUnCitjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKworY2F0
ID4gY29uZnRlc3QuJGFjX2V4dCA8PCBFT0YKKworI2xpbmUgMjEwMCAiY29uZmlndXJlIgorI2lu
Y2x1ZGUgImNvbmZkZWZzLmgiCisKK21haW4oKXtyZXR1cm4oMCk7fQorRU9GCitpZiB7IChldmFs
IGVjaG8gY29uZmlndXJlOjIxMDU6IFwiJGFjX2xpbmtcIikgMT4mNTsgKGV2YWwgJGFjX2xpbmsp
IDI+JjU7IH0gJiYgdGVzdCAtcyBjb25mdGVzdCR7YWNfZXhlZXh0fTsgdGhlbgorICBhY19jdl9w
cm9nX2NjX3dvcmtzPXllcworICAjIElmIHdlIGNhbid0IHJ1biBhIHRyaXZpYWwgcHJvZ3JhbSwg
d2UgYXJlIHByb2JhYmx5IHVzaW5nIGEgY3Jvc3MgY29tcGlsZXIuCisgIGlmICguL2NvbmZ0ZXN0
OyBleGl0KSAyPi9kZXYvbnVsbDsgdGhlbgorICAgIGFjX2N2X3Byb2dfY2NfY3Jvc3M9bm8KKyAg
ZWxzZQorICAgIGFjX2N2X3Byb2dfY2NfY3Jvc3M9eWVzCisgIGZpCitlbHNlCisgIGVjaG8gImNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNhdCBjb25mdGVzdC4kYWNfZXh0
ID4mNQorICBhY19jdl9wcm9nX2NjX3dvcmtzPW5vCitmaQorcm0gLWZyIGNvbmZ0ZXN0KgorYWNf
ZXh0PWMKKyMgQ0ZMQUdTIGlzIG5vdCBpbiBhY19jcHAgYmVjYXVzZSAtZywgLU8sIGV0Yy4gYXJl
IG5vdCB2YWxpZCBjcHAgb3B0aW9ucy4KK2FjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCithY19jb21w
aWxlPScke0NDLWNjfSAtYyAkQ0ZMQUdTICRDUFBGTEFHUyBjb25mdGVzdC4kYWNfZXh0IDE+JjUn
CithY19saW5rPScke0NDLWNjfSAtbyBjb25mdGVzdCR7YWNfZXhlZXh0fSAkQ0ZMQUdTICRDUFBG
TEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTIDE+JjUnCitjcm9zc19jb21waWxp
bmc9JGFjX2N2X3Byb2dfY2NfY3Jvc3MKKworZWNobyAiJGFjX3QiIiRhY19jdl9wcm9nX2NjX3dv
cmtzIiAxPiY2CitpZiB0ZXN0ICRhY19jdl9wcm9nX2NjX3dvcmtzID0gbm87IHRoZW4KKyAgeyBl
Y2hvICJjb25maWd1cmU6IGVycm9yOiBpbnN0YWxsYXRpb24gb3IgY29uZmlndXJhdGlvbiBwcm9i
bGVtOiBDIGNvbXBpbGVyIGNhbm5vdCBjcmVhdGUgZXhlY3V0YWJsZXMuIiAxPiYyOyBleGl0IDE7
IH0KK2ZpCitlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyICgkQ0Mg
JENGTEFHUyAkTERGTEFHUykgaXMgYSBjcm9zcy1jb21waWxlciIiLi4uICRhY19jIiAxPiY2Citl
Y2hvICJjb25maWd1cmU6MjEzMTogY2hlY2tpbmcgd2hldGhlciB0aGUgQyBjb21waWxlciAoJEND
ICRDRkxBR1MgJExERkxBR1MpIGlzIGEgY3Jvc3MtY29tcGlsZXIiID4mNQorZWNobyAiJGFjX3Qi
IiRhY19jdl9wcm9nX2NjX2Nyb3NzIiAxPiY2Citjcm9zc19jb21waWxpbmc9JGFjX2N2X3Byb2df
Y2NfY3Jvc3MKKworZWNobyAkYWNfbiAiY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgR05V
IEMiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjIxMzY6IGNoZWNraW5nIHdoZXRo
ZXIgd2UgYXJlIHVzaW5nIEdOVSBDIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydh
Y19jdl9wcm9nX2djYycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNo
ZWQpICRhY19jIiAxPiY2CitlbHNlCisgIGNhdCA+IGNvbmZ0ZXN0LmMgPDxFT0YKKyNpZmRlZiBf
X0dOVUNfXworICB5ZXM7CisjZW5kaWYKK0VPRgoraWYgeyBhY190cnk9JyR7Q0MtY2N9IC1FIGNv
bmZ0ZXN0LmMnOyB7IChldmFsIGVjaG8gY29uZmlndXJlOjIxNDU6IFwiJGFjX3RyeVwiKSAxPiY1
OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9OyB9IHwgZWdyZXAgeWVzID4vZGV2L251bGwgMj4mMTsg
dGhlbgorICBhY19jdl9wcm9nX2djYz15ZXMKK2Vsc2UKKyAgYWNfY3ZfcHJvZ19nY2M9bm8KK2Zp
CitmaQorCitlY2hvICIkYWNfdCIiJGFjX2N2X3Byb2dfZ2NjIiAxPiY2CisKK2lmIHRlc3QgJGFj
X2N2X3Byb2dfZ2NjID0geWVzOyB0aGVuCisgIEdDQz15ZXMKK2Vsc2UKKyAgR0NDPQorZmkKKwor
YWNfdGVzdF9DRkxBR1M9IiR7Q0ZMQUdTK3NldH0iCithY19zYXZlX0NGTEFHUz0iJENGTEFHUyIK
K0NGTEFHUz0KK2VjaG8gJGFjX24gImNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0cyAt
ZyIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MjE2NDogY2hlY2tpbmcgd2hldGhl
ciAke0NDLWNjfSBhY2NlcHRzIC1nIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydh
Y19jdl9wcm9nX2NjX2cnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2Fj
aGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBlY2hvICd2b2lkIGYoKXt9JyA+IGNvbmZ0ZXN0LmMK
K2lmIHRlc3QgLXogImAke0NDLWNjfSAtZyAtYyBjb25mdGVzdC5jIDI+JjFgIjsgdGhlbgorICBh
Y19jdl9wcm9nX2NjX2c9eWVzCitlbHNlCisgIGFjX2N2X3Byb2dfY2NfZz1ubworZmkKK3JtIC1m
IGNvbmZ0ZXN0KgorCitmaQorCitlY2hvICIkYWNfdCIiJGFjX2N2X3Byb2dfY2NfZyIgMT4mNgor
aWYgdGVzdCAiJGFjX3Rlc3RfQ0ZMQUdTIiA9IHNldDsgdGhlbgorICBDRkxBR1M9IiRhY19zYXZl
X0NGTEFHUyIKK2VsaWYgdGVzdCAkYWNfY3ZfcHJvZ19jY19nID0geWVzOyB0aGVuCisgIGlmIHRl
c3QgIiRHQ0MiID0geWVzOyB0aGVuCisgICAgQ0ZMQUdTPSItZyAtTzIiCisgIGVsc2UKKyAgICBD
RkxBR1M9Ii1nIgorICBmaQorZWxzZQorICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgorICAg
IENGTEFHUz0iLU8yIgorICBlbHNlCisgICAgQ0ZMQUdTPQorICBmaQorZmkKKworICAgIGZpCisg
ICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IiIi4u
LiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjIxOTc6IGNoZWNraW5nIGhvdyB0byBydW4g
dGhlIEMgcHJlcHJvY2Vzc29yIiA+JjUKKyMgT24gU3Vucywgc29tZXRpbWVzICRDUFAgbmFtZXMg
YSBkaXJlY3RvcnkuCitpZiB0ZXN0IC1uICIkQ1BQIiAmJiB0ZXN0IC1kICIkQ1BQIjsgdGhlbgor
ICBDUFA9CitmaQoraWYgdGVzdCAteiAiJENQUCI7IHRoZW4KK2lmIGV2YWwgInRlc3QgXCJgZWNo
byAnJCcneydhY19jdl9wcm9nX0NQUCcrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgIGVjaG8gJGFj
X24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisgICAgIyBUaGlzIG11c3QgYmUgaW4gZG91
YmxlIHF1b3Rlcywgbm90IHNpbmdsZSBxdW90ZXMsIGJlY2F1c2UgQ1BQIG1heSBnZXQKKyAgIyBz
dWJzdGl0dXRlZCBpbnRvIHRoZSBNYWtlZmlsZSBhbmQgIiR7Q0MtY2N9IiB3aWxsIGNvbmZ1c2Ug
bWFrZS4KKyAgQ1BQPSIke0NDLWNjfSAtRSIKKyAgIyBPbiB0aGUgTmVYVCwgY2MgLUUgcnVucyB0
aGUgY29kZSB0aHJvdWdoIHRoZSBjb21waWxlcidzIHBhcnNlciwKKyAgIyBub3QganVzdCB0aHJv
dWdoIGNwcC4KKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorI2xpbmUgMjIxMiAiY29u
ZmlndXJlIgorI2luY2x1ZGUgImNvbmZkZWZzLmgiCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CitTeW50
YXggRXJyb3IKK0VPRgorYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVs
bCAyPmNvbmZ0ZXN0Lm91dCIKK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MjIxODogXCIkYWNfdHJ5
XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycg
Y29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKK2lmIHRlc3Qg
LXogIiRhY19lcnIiOyB0aGVuCisgIDoKK2Vsc2UKKyAgZWNobyAiJGFjX2VyciIgPiY1CisgIGVj
aG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNhdCBjb25mdGVzdC4k
YWNfZXh0ID4mNQorICBybSAtcmYgY29uZnRlc3QqCisgIENQUD0iJHtDQy1jY30gLUUgLXRyYWRp
dGlvbmFsLWNwcCIKKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorI2xpbmUgMjIyOSAi
Y29uZmlndXJlIgorI2luY2x1ZGUgImNvbmZkZWZzLmgiCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CitT
eW50YXggRXJyb3IKK0VPRgorYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYv
bnVsbCAyPmNvbmZ0ZXN0Lm91dCIKK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MjIzNTogXCIkYWNf
dHJ5XCIpIDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KK2FjX2Vycj1gZ3JlcCAtdiAnXiAq
KycgY29uZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKK2lmIHRl
c3QgLXogIiRhY19lcnIiOyB0aGVuCisgIDoKK2Vsc2UKKyAgZWNobyAiJGFjX2VyciIgPiY1Cisg
IGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNhdCBjb25mdGVz
dC4kYWNfZXh0ID4mNQorICBybSAtcmYgY29uZnRlc3QqCisgIENQUD0iJHtDQy1jY30gLW5vbG9n
byAtRSIKKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorI2xpbmUgMjI0NiAiY29uZmln
dXJlIgorI2luY2x1ZGUgImNvbmZkZWZzLmgiCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CitTeW50YXgg
RXJyb3IKK0VPRgorYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAy
PmNvbmZ0ZXN0Lm91dCIKK3sgKGV2YWwgZWNobyBjb25maWd1cmU6MjI1MjogXCIkYWNfdHJ5XCIp
IDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29u
ZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKK2lmIHRlc3QgLXog
IiRhY19lcnIiOyB0aGVuCisgIDoKK2Vsc2UKKyAgZWNobyAiJGFjX2VyciIgPiY1CisgIGVjaG8g
ImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNhdCBjb25mdGVzdC4kYWNf
ZXh0ID4mNQorICBybSAtcmYgY29uZnRlc3QqCisgIENQUD0vbGliL2NwcAorZmkKK3JtIC1mIGNv
bmZ0ZXN0KgorZmkKK3JtIC1mIGNvbmZ0ZXN0KgorZmkKK3JtIC1mIGNvbmZ0ZXN0KgorICBhY19j
dl9wcm9nX0NQUD0iJENQUCIKK2ZpCisgIENQUD0iJGFjX2N2X3Byb2dfQ1BQIgorZWxzZQorICBh
Y19jdl9wcm9nX0NQUD0iJENQUCIKK2ZpCitlY2hvICIkYWNfdCIiJENQUCIgMT4mNgorCisgICAg
IyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICJyYW5saWIiLCBzbyBpdCBjYW4gYmUgYSBwcm9n
cmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15IHJhbmxpYjsgYWNfd29yZD0kMgorZWNobyAk
YWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZp
Z3VyZToyMjc5OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQoraWYgZXZhbCAidGVzdCBcImBl
Y2hvICckJyd7J2FjX2N2X3Byb2dfUkFOTElCJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNo
byAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgaWYgdGVzdCAtbiAiJFJBTkxJ
QiI7IHRoZW4KKyAgYWNfY3ZfcHJvZ19SQU5MSUI9IiRSQU5MSUIiICMgTGV0IHRoZSB1c2VyIG92
ZXJyaWRlIHRoZSB0ZXN0LgorZWxzZQorICBJRlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIk
SUZTIjsgSUZTPSI6IgorICBhY19kdW1teT0iJFBBVEgiCisgIGZvciBhY19kaXIgaW4gJGFjX2R1
bW15OyBkbworICAgIHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0uCisgICAgaWYgdGVzdCAt
ZiAkYWNfZGlyLyRhY193b3JkOyB0aGVuCisgICAgICBhY19jdl9wcm9nX1JBTkxJQj0icmFubGli
IgorICAgICAgYnJlYWsKKyAgICBmaQorICBkb25lCisgIElGUz0iJGFjX3NhdmVfaWZzIgorICB0
ZXN0IC16ICIkYWNfY3ZfcHJvZ19SQU5MSUIiICYmIGFjX2N2X3Byb2dfUkFOTElCPSI6IgorZmkK
K2ZpCitSQU5MSUI9IiRhY19jdl9wcm9nX1JBTkxJQiIKK2lmIHRlc3QgLW4gIiRSQU5MSUIiOyB0
aGVuCisgIGVjaG8gIiRhY190IiIkUkFOTElCIiAxPiY2CitlbHNlCisgIGVjaG8gIiRhY190IiJu
byIgMT4mNgorZmkKKworICAgIGZvciBhY19wcm9nIGluIGFzCitkbworIyBFeHRyYWN0IHRoZSBm
aXJzdCB3b3JkIG9mICIkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRo
IGFyZ3MuCitzZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKK2VjaG8gJGFjX24gImNoZWNr
aW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MjMxMTog
Y2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydh
Y19jdl9wYXRoX0FTJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hl
ZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgY2FzZSAiJEFTIiBpbgorICAvKikKKyAgYWNfY3ZfcGF0
aF9BUz0iJEFTIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4K
KyAgOzsKKyAgPzovKikJCQkgCisgIGFjX2N2X3BhdGhfQVM9IiRBUyIgIyBMZXQgdGhlIHVzZXIg
b3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIGRvcyBwYXRoLgorICA7OworICAqKQorICBJRlM9IiR7
SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorICBhY19kdW1teT0iJFBBVEgi
CisgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbyAKKyAgICB0ZXN0IC16ICIkYWNfZGlyIiAm
JiBhY19kaXI9LgorICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorICAgICAg
YWNfY3ZfcGF0aF9BUz0iJGFjX2Rpci8kYWNfd29yZCIKKyAgICAgIGJyZWFrCisgICAgZmkKKyAg
ZG9uZQorICBJRlM9IiRhY19zYXZlX2lmcyIKKyAgOzsKK2VzYWMKK2ZpCitBUz0iJGFjX2N2X3Bh
dGhfQVMiCitpZiB0ZXN0IC1uICIkQVMiOyB0aGVuCisgIGVjaG8gIiRhY190IiIkQVMiIDE+JjYK
K2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CitmaQorCit0ZXN0IC1uICIkQVMiICYmIGJy
ZWFrCitkb25lCit0ZXN0IC1uICIkQVMiIHx8IEFTPSIkQ0MiCisKKyAgICBmb3IgYWNfcHJvZyBp
biBhcgorZG8KKyMgRXh0cmFjdCB0aGUgZmlyc3Qgd29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBj
YW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorc2V0IGR1bW15ICRhY19wcm9nOyBhY193
b3JkPSQyCitlY2hvICRhY19uICJjaGVja2luZyBmb3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4m
NgorZWNobyAiY29uZmlndXJlOjIzNTI6IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1CitpZiBl
dmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfcGF0aF9BUicrc2V0fSdgXCIgPSBzZXQiOyB0
aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisgIGNhc2UgIiRB
UiIgaW4KKyAgLyopCisgIGFjX2N2X3BhdGhfQVI9IiRBUiIgIyBMZXQgdGhlIHVzZXIgb3ZlcnJp
ZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgID86LyopCQkJIAorICBhY19jdl9wYXRo
X0FSPSIkQVIiICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBkb3MgcGF0
aC4KKyAgOzsKKyAgKikKKyAgSUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElG
Uz0iOiIKKyAgYWNfZHVtbXk9IiRQQVRIIgorICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8g
CisgICAgdGVzdCAteiAiJGFjX2RpciIgJiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRhY19k
aXIvJGFjX3dvcmQ7IHRoZW4KKyAgICAgIGFjX2N2X3BhdGhfQVI9IiRhY19kaXIvJGFjX3dvcmQi
CisgICAgICBicmVhaworICAgIGZpCisgIGRvbmUKKyAgSUZTPSIkYWNfc2F2ZV9pZnMiCisgIDs7
Citlc2FjCitmaQorQVI9IiRhY19jdl9wYXRoX0FSIgoraWYgdGVzdCAtbiAiJEFSIjsgdGhlbgor
ICBlY2hvICIkYWNfdCIiJEFSIiAxPiY2CitlbHNlCisgIGVjaG8gIiRhY190IiJubyIgMT4mNgor
ZmkKKwordGVzdCAtbiAiJEFSIiAmJiBicmVhaworZG9uZQordGVzdCAtbiAiJEFSIiB8fCBBUj0i
ZWNobyBub3RfYXIiCisKKyAgICBmb3IgYWNfcHJvZyBpbiBsZCBsaW5rCitkbworIyBFeHRyYWN0
IHRoZSBmaXJzdCB3b3JkIG9mICIkYWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFt
ZSB3aXRoIGFyZ3MuCitzZXQgZHVtbXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKK2VjaG8gJGFjX24g
ImNoZWNraW5nIGZvciAkYWNfd29yZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6
MjM5MzogY2hlY2tpbmcgZm9yICRhY193b3JkIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAn
JCcneydhY19jdl9wYXRoX0xEJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAi
KGNhY2hlZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgY2FzZSAiJExEIiBpbgorICAvKikKKyAgYWNf
Y3ZfcGF0aF9MRD0iJExEIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEg
cGF0aC4KKyAgOzsKKyAgPzovKikJCQkgCisgIGFjX2N2X3BhdGhfTEQ9IiRMRCIgIyBMZXQgdGhl
IHVzZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIGRvcyBwYXRoLgorICA7OworICAqKQorICBJ
RlM9IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorICBhY19kdW1teT0i
JFBBVEgiCisgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbyAKKyAgICB0ZXN0IC16ICIkYWNf
ZGlyIiAmJiBhY19kaXI9LgorICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgor
ICAgICAgYWNfY3ZfcGF0aF9MRD0iJGFjX2Rpci8kYWNfd29yZCIKKyAgICAgIGJyZWFrCisgICAg
ZmkKKyAgZG9uZQorICBJRlM9IiRhY19zYXZlX2lmcyIKKyAgOzsKK2VzYWMKK2ZpCitMRD0iJGFj
X2N2X3BhdGhfTEQiCitpZiB0ZXN0IC1uICIkTEQiOyB0aGVuCisgIGVjaG8gIiRhY190IiIkTEQi
IDE+JjYKK2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CitmaQorCit0ZXN0IC1uICIkTEQi
ICYmIGJyZWFrCitkb25lCit0ZXN0IC1uICIkTEQiIHx8IExEPSJlY2hvIG5vdF9sZCIKKworICAg
IGZvciBhY19wcm9nIGluIHN0cmlwCitkbworIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIk
YWNfcHJvZyIsIHNvIGl0IGNhbiBiZSBhIHByb2dyYW0gbmFtZSB3aXRoIGFyZ3MuCitzZXQgZHVt
bXkgJGFjX3Byb2c7IGFjX3dvcmQ9JDIKK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciAkYWNfd29y
ZCIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6MjQzNDogY2hlY2tpbmcgZm9yICRh
Y193b3JkIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9wYXRoX1NUUklQ
JytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2MiIDE+
JjYKK2Vsc2UKKyAgY2FzZSAiJFNUUklQIiBpbgorICAvKikKKyAgYWNfY3ZfcGF0aF9TVFJJUD0i
JFNUUklQIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KKyAg
OzsKKyAgPzovKikJCQkgCisgIGFjX2N2X3BhdGhfU1RSSVA9IiRTVFJJUCIgIyBMZXQgdGhlIHVz
ZXIgb3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIGRvcyBwYXRoLgorICA7OworICAqKQorICBJRlM9
IiR7SUZTPSAJfSI7IGFjX3NhdmVfaWZzPSIkSUZTIjsgSUZTPSI6IgorICBhY19kdW1teT0iJFBB
VEgiCisgIGZvciBhY19kaXIgaW4gJGFjX2R1bW15OyBkbyAKKyAgICB0ZXN0IC16ICIkYWNfZGly
IiAmJiBhY19kaXI9LgorICAgIGlmIHRlc3QgLWYgJGFjX2Rpci8kYWNfd29yZDsgdGhlbgorICAg
ICAgYWNfY3ZfcGF0aF9TVFJJUD0iJGFjX2Rpci8kYWNfd29yZCIKKyAgICAgIGJyZWFrCisgICAg
ZmkKKyAgZG9uZQorICBJRlM9IiRhY19zYXZlX2lmcyIKKyAgOzsKK2VzYWMKK2ZpCitTVFJJUD0i
JGFjX2N2X3BhdGhfU1RSSVAiCitpZiB0ZXN0IC1uICIkU1RSSVAiOyB0aGVuCisgIGVjaG8gIiRh
Y190IiIkU1RSSVAiIDE+JjYKK2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CitmaQorCit0
ZXN0IC1uICIkU1RSSVAiICYmIGJyZWFrCitkb25lCit0ZXN0IC1uICIkU1RSSVAiIHx8IFNUUklQ
PSJlY2hvIG5vdF9zdHJpcCIKKworICAgIGZvciBhY19wcm9nIGluIHdpbmRyZXMKK2RvCisjIEV4
dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgIiRhY19wcm9nIiwgc28gaXQgY2FuIGJlIGEgcHJvZ3Jh
bSBuYW1lIHdpdGggYXJncy4KK3NldCBkdW1teSAkYWNfcHJvZzsgYWNfd29yZD0kMgorZWNobyAk
YWNfbiAiY2hlY2tpbmcgZm9yICRhY193b3JkIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZp
Z3VyZToyNDc1OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQoraWYgZXZhbCAidGVzdCBcImBl
Y2hvICckJyd7J2FjX2N2X3BhdGhfV0lORFJFUycrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgIGVj
aG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisgIGNhc2UgIiRXSU5EUkVTIiBp
bgorICAvKikKKyAgYWNfY3ZfcGF0aF9XSU5EUkVTPSIkV0lORFJFUyIgIyBMZXQgdGhlIHVzZXIg
b3ZlcnJpZGUgdGhlIHRlc3Qgd2l0aCBhIHBhdGguCisgIDs7CisgID86LyopCQkJIAorICBhY19j
dl9wYXRoX1dJTkRSRVM9IiRXSU5EUkVTIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVz
dCB3aXRoIGEgZG9zIHBhdGguCisgIDs7CisgICopCisgIElGUz0iJHtJRlM9IAl9IjsgYWNfc2F2
ZV9pZnM9IiRJRlMiOyBJRlM9IjoiCisgIGFjX2R1bW15PSIkUEFUSCIKKyAgZm9yIGFjX2RpciBp
biAkYWNfZHVtbXk7IGRvIAorICAgIHRlc3QgLXogIiRhY19kaXIiICYmIGFjX2Rpcj0uCisgICAg
aWYgdGVzdCAtZiAkYWNfZGlyLyRhY193b3JkOyB0aGVuCisgICAgICBhY19jdl9wYXRoX1dJTkRS
RVM9IiRhY19kaXIvJGFjX3dvcmQiCisgICAgICBicmVhaworICAgIGZpCisgIGRvbmUKKyAgSUZT
PSIkYWNfc2F2ZV9pZnMiCisgIDs7Citlc2FjCitmaQorV0lORFJFUz0iJGFjX2N2X3BhdGhfV0lO
RFJFUyIKK2lmIHRlc3QgLW4gIiRXSU5EUkVTIjsgdGhlbgorICBlY2hvICIkYWNfdCIiJFdJTkRS
RVMiIDE+JjYKK2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CitmaQorCit0ZXN0IC1uICIk
V0lORFJFUyIgJiYgYnJlYWsKK2RvbmUKK3Rlc3QgLW4gIiRXSU5EUkVTIiB8fCBXSU5EUkVTPSJl
Y2hvIG5vdF93aW5kcmVzIgorCisgICAgaWYgdGVzdCAteiAiJEhPU1RfQ0MiOyB0aGVuCisgICAg
ICAgIEhPU1RfQ0M9IiRDQyIKKyAgICBmaQorICAgIGlmIHRlc3QgLXogIiRIT1NUX0NGTEFHUyI7
IHRoZW4KKyAgICAgICAgSE9TVF9DRkxBR1M9IiRDRkxBR1MiCisgICAgZmkKK2ZpCisKK2lmIHRl
c3QgIiRHQ0MiID0gInllcyI7IHRoZW4KKyAgICBHTlVfQ0M9MQorZmkKK2lmIHRlc3QgIiRHWFgi
ID0gInllcyI7IHRoZW4KKyAgICBHTlVfQ1hYPTEKK2ZpCitpZiB0ZXN0ICJgZWNobyB8ICRBUyAt
diAyPiYxIHwgZ3JlcCAtYyBHTlVgIiAhPSAiMCI7IHRoZW4KKyAgICBHTlVfQVM9MQorZmkKK3Jt
IC1mIGEub3V0CisKK2lmIHRlc3QgIiRjcm9zc19jb21waWxpbmciICA9ICJ5ZXMiOyB0aGVuCisg
ICAgQ1JPU1NfQ09NUElMRT0xCitlbHNlCisgICAgQ1JPU1NfQ09NUElMRT0KK2ZpCisKK2VjaG8g
JGFjX24gImNoZWNraW5nIGZvciBnY2MgLXBpcGUgc3VwcG9ydCIiLi4uICRhY19jIiAxPiY2Citl
Y2hvICJjb25maWd1cmU6MjUzNzogY2hlY2tpbmcgZm9yIGdjYyAtcGlwZSBzdXBwb3J0IiA+JjUK
K2lmIHRlc3QgLW4gIiRHTlVfQ0MiICYmIHRlc3QgLW4gIiRHTlVfQ1hYIiAmJiB0ZXN0IC1uICIk
R05VX0FTIjsgdGhlbgorICAgIGVjaG8gJyNpbmNsdWRlIDxzdGRpby5oPicgPiBkdW1teS1oZWxs
by5jCisgICAgZWNobyAnaW50IG1haW4oKSB7IHByaW50ZigiSGVsbG8gV29ybGRcbiIpOyByZXR1
cm4gMDsgfScgPj4gZHVtbXktaGVsbG8uYworICAgICR7Q0N9IC1TIGR1bW15LWhlbGxvLmMgLW8g
ZHVtbXktaGVsbG8ucyAyPiY1CisgICAgY2F0IGR1bW15LWhlbGxvLnMgfCAke0FTfSAtbyBkdW1t
eS1oZWxsby5TIC0gMj4mNQorICAgIGlmIHRlc3QgJD8gPSAwOyB0aGVuCisgICAgICAgIF9yZXNf
YXNfc3RkaW49InllcyIKKyAgICBlbHNlCisgICAgICAgIF9yZXNfYXNfc3RkaW49Im5vIgorICAg
IGZpCisgICAgaWYgdGVzdCAiJF9yZXNfYXNfc3RkaW4iID0gInllcyI7IHRoZW4KKyAgICAgICAg
X1NBVkVfQ0ZMQUdTPSRDRkxBR1MKKyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1waXBlIgorICAg
ICAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisjbGluZSAyNTUyICJjb25maWd1cmUi
CisjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAjaW5jbHVkZSA8c3RkaW8uaD4gCitpbnQgbWFpbigp
IHsKK3ByaW50ZigiSGVsbG8gV29ybGRcbiIpOworOyByZXR1cm4gMDsgfQorRU9GCitpZiB7IChl
dmFsIGVjaG8gY29uZmlndXJlOjI1NTk6IFwiJGFjX2NvbXBpbGVcIikgMT4mNTsgKGV2YWwgJGFj
X2NvbXBpbGUpIDI+JjU7IH07IHRoZW4KKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICBfcmVzX2djY19w
aXBlPSJ5ZXMiCitlbHNlCisgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIg
PiY1CisgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorICBybSAtcmYgY29uZnRlc3QqCisgIF9y
ZXNfZ2NjX3BpcGU9Im5vIiAKK2ZpCitybSAtZiBjb25mdGVzdCoKKyAgICAgICAgQ0ZMQUdTPSRf
U0FWRV9DRkxBR1MKKyAgICBmaQorICAgIGlmIHRlc3QgIiRfcmVzX2FzX3N0ZGluIiA9ICJ5ZXMi
ICYmIHRlc3QgIiRfcmVzX2djY19waXBlIiA9ICJ5ZXMiOyB0aGVuCisgICAgICAgIF9yZXM9Inll
cyI7CisgICAgICAgIENGTEFHUz0iJENGTEFHUyAtcGlwZSIKKyAgICAgICAgQ1hYRkxBR1M9IiRD
WFhGTEFHUyAtcGlwZSIKKyAgICBlbHNlCisgICAgICAgIF9yZXM9Im5vIgorICAgIGZpCisgICAg
cm0gLWYgZHVtbXktaGVsbG8uYyBkdW1teS1oZWxsby5zIGR1bW15LWhlbGxvLlMgZHVtbXktaGVs
bG8gYS5vdXQKKyAgICBlY2hvICIkYWNfdCIiJF9yZXMiIDE+JjYKK2Vsc2UKKyAgICBlY2hvICIk
YWNfdCIibm8iIDE+JjYKK2ZpCisKK2lmIHRlc3QgIiRHTlVfQ0MiOyB0aGVuCisgICAgZWNobyAk
YWNfbiAiY2hlY2tpbmcgZm9yIHZpc2liaWxpdHkoaGlkZGVuKSBhdHRyaWJ1dGUiIi4uLiAkYWNf
YyIgMT4mNgorZWNobyAiY29uZmlndXJlOjI1ODY6IGNoZWNraW5nIGZvciB2aXNpYmlsaXR5KGhp
ZGRlbikgYXR0cmlidXRlIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl92
aXNpYmlsaXR5X2hpZGRlbicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgIGVjaG8gJGFjX24gIihj
YWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisgIGNhdCA+IGNvbmZ0ZXN0LmMgPDxFT0YKKyAgICAg
ICAgaW50IGZvbyBfX2F0dHJpYnV0ZV9fICgodmlzaWJpbGl0eSAoImhpZGRlbiIpKSkgPSAxOwor
RU9GCisgICAgICAgIGFjX2N2X3Zpc2liaWxpdHlfaGlkZGVuPW5vCisgICAgICAgIGlmICR7Q0Mt
Y2N9IC1XZXJyb3IgLVMgY29uZnRlc3QuYyAtbyBjb25mdGVzdC5zID4vZGV2L251bGwgMj4mMTsg
dGhlbgorICAgICAgICAgICAgaWYgZ3JlcCAnXC5oaWRkZW4uKmZvbycgY29uZnRlc3QucyA+L2Rl
di9udWxsOyB0aGVuCisgICAgICAgICAgICAgICAgYWNfY3ZfdmlzaWJpbGl0eV9oaWRkZW49eWVz
CisgICAgICAgICAgICBmaQorICAgICAgICBmaQorICAgICAgICBybSAtZiBjb25mdGVzdC5jcwor
ICAgICAgICAKK2ZpCisKK2VjaG8gIiRhY190IiIkYWNfY3ZfdmlzaWJpbGl0eV9oaWRkZW4iIDE+
JjYKKyAgICBpZiB0ZXN0ICIkYWNfY3ZfdmlzaWJpbGl0eV9oaWRkZW4iID0gInllcyI7IHRoZW4K
KyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfVklTSUJJTElU
WV9ISURERU5fQVRUUklCVVRFIDEKK0VPRgorCisgICAgICAgIGVjaG8gJGFjX24gImNoZWNraW5n
IGZvciB2aXNpYmlsaXR5IHByYWdtYSBzdXBwb3J0IiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNv
bmZpZ3VyZToyNjEwOiBjaGVja2luZyBmb3IgdmlzaWJpbGl0eSBwcmFnbWEgc3VwcG9ydCIgPiY1
CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfdmlzaWJpbGl0eV9wcmFnbWEnK3Nl
dH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgor
ZWxzZQorICBjYXQgPiBjb25mdGVzdC5jIDw8RU9GCisjcHJhZ21hIEdDQyB2aXNpYmlsaXR5IHB1
c2goaGlkZGVuKQorICAgICAgICAgICAgaW50IGZvb19oaWRkZW4gPSAxOworI3ByYWdtYSBHQ0Mg
dmlzaWJpbGl0eSBwdXNoKGRlZmF1bHQpCisgICAgICAgICAgICBpbnQgZm9vX2RlZmF1bHQgPSAx
OworRU9GCisgICAgICAgICAgICBhY19jdl92aXNpYmlsaXR5X3ByYWdtYT1ubworICAgICAgICAg
ICAgaWYgJHtDQy1jY30gLVdlcnJvciAtUyBjb25mdGVzdC5jIC1vIGNvbmZ0ZXN0LnMgPi9kZXYv
bnVsbCAyPiYxOyB0aGVuCisgICAgICAgICAgICAgICAgaWYgZ3JlcCAnXC5oaWRkZW4uKmZvb19o
aWRkZW4nIGNvbmZ0ZXN0LnMgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICAgICAgICAgICAgICBp
ZiAhIGdyZXAgJ1wuaGlkZGVuLipmb29fZGVmYXVsdCcgY29uZnRlc3QucyA+IC9kZXYvbnVsbDsg
dGhlbgorICAgICAgICAgICAgICAgICAgICAgICAgYWNfY3ZfdmlzaWJpbGl0eV9wcmFnbWE9eWVz
CisgICAgICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgICAgZmkKKyAgICAgICAgICAg
IGZpCisgICAgICAgICAgICBybSAtZiBjb25mdGVzdC5jcworICAgICAgICAgICAgCitmaQorCitl
Y2hvICIkYWNfdCIiJGFjX2N2X3Zpc2liaWxpdHlfcHJhZ21hIiAxPiY2CisgICAgICAgIGlmIHRl
c3QgIiRhY19jdl92aXNpYmlsaXR5X3ByYWdtYSIgPSAieWVzIjsgdGhlbgorICAgICAgICAgICAg
Y2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfVklTSUJJTElUWV9QUkFHTUEg
MQorRU9GCisKKyAgICAgICAgICAgICMgVG8gd29yayBhcm91bmQgYSBidWlsZCBwcm9ibGVtIG9u
IExpbnV4IHg4Ni02NCAoQnVnemlsbGEgYnVnCisgICAgICAgICAgICAjIDI5MzQzOCksIHdlIHVz
ZSB0aGUgLWZ2aXNpYmlsaXR5PWhpZGRlbiBmbGFnLiAgVGhpcyBmbGFnIGlzIGxlc3MKKyAgICAg
ICAgICAgICMgb3B0aW1hbCB0aGFuICNwcmFnbWEgR0NDIHZpc2liaWxpdHkgcHVzaChoaWRkZW4p
IGJlY2F1c2UgdGhlIGZsYWcKKyAgICAgICAgICAgICMgYXNzdW1lcyB0aGF0IHN5bWJvbHMgZGVm
aW5lZCBvdXRzaWRlIHRoZSBjdXJyZW50IHNvdXJjZSBmaWxlIGhhdmUKKyAgICAgICAgICAgICMg
dGhlIGRlZmF1bHQgdmlzaWJpbGl0eS4gIFRoaXMgaGFzIHRoZSBhZHZhbnRhZ2UgdGhhdCB3ZSBk
b24ndCBuZWVkCisgICAgICAgICAgICAjIHRvIHdyYXAgc3lzdGVtIGhlYWRlciBmaWxlcywgYnV0
IGhhcyB0aGUgZGlzYWR2YW50YWdlIHRoYXQgY2FsbHMKKyAgICAgICAgICAgICMgdG8gaGlkZGVu
IHN5bWJvbHMgZGVmaW5lZCBpbiBvdGhlciBzb3VyY2UgZmlsZXMgY2Fubm90IGJlCisgICAgICAg
ICAgICAjIG9wdGltaXplZCBieSB0aGUgY29tcGlsZXIuICBUaGUgLWZ2aXNpYmlsaXR5PWhpZGRl
biBmbGFnIGRvZXMKKyAgICAgICAgICAgICMgaGlkZSBhbmQgZXhwb3J0IHN5bWJvbHMgY29ycmVj
dGx5LgorICAgICAgICAgICAgI1ZJU0lCSUxJVFlfRkxBR1M9Jy1JJChkaXN0X2luY2x1ZGVkaXIp
L3N5c3RlbV93cmFwcGVycyAtaW5jbHVkZSAkKHRvcHNyY2RpcikvY29uZmlnL2djY19oaWRkZW4u
aCcKKyAgICAgICAgICAgICNXUkFQX1NZU1RFTV9JTkNMVURFUz0xCisgICAgICAgICAgICBWSVNJ
QklMSVRZX0ZMQUdTPSItZnZpc2liaWxpdHk9aGlkZGVuIgorICAgICAgICAgICAgV1JBUF9TWVNU
RU1fSU5DTFVERVM9CisgICAgICAgIGZpCisgICAgZmkKK2ZpICMgR05VX0NDCisKK2ZpICMgU0tJ
UF9DT01QSUxFUl9DSEVDS1MKKworaWYgdGVzdCAteiAiJFNLSVBfUEFUSF9DSEVDS1MiOyB0aGVu
CisgICAgZm9yIGFjX3Byb2cgaW4gcGVybDUgcGVybAorZG8KKyMgRXh0cmFjdCB0aGUgZmlyc3Qg
d29yZCBvZiAiJGFjX3Byb2ciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdz
Lgorc2V0IGR1bW15ICRhY19wcm9nOyBhY193b3JkPSQyCitlY2hvICRhY19uICJjaGVja2luZyBm
b3IgJGFjX3dvcmQiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjI2NjM6IGNoZWNr
aW5nIGZvciAkYWNfd29yZCIgPiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3Zf
cGF0aF9QRVJMJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkg
JGFjX2MiIDE+JjYKK2Vsc2UKKyAgY2FzZSAiJFBFUkwiIGluCisgIC8qKQorICBhY19jdl9wYXRo
X1BFUkw9IiRQRVJMIiAjIExldCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0
aC4KKyAgOzsKKyAgPzovKikJCQkgCisgIGFjX2N2X3BhdGhfUEVSTD0iJFBFUkwiICMgTGV0IHRo
ZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBkb3MgcGF0aC4KKyAgOzsKKyAgKikKKyAg
SUZTPSIke0lGUz0gCX0iOyBhY19zYXZlX2lmcz0iJElGUyI7IElGUz0iOiIKKyAgYWNfZHVtbXk9
IiRQQVRIIgorICBmb3IgYWNfZGlyIGluICRhY19kdW1teTsgZG8gCisgICAgdGVzdCAteiAiJGFj
X2RpciIgJiYgYWNfZGlyPS4KKyAgICBpZiB0ZXN0IC1mICRhY19kaXIvJGFjX3dvcmQ7IHRoZW4K
KyAgICAgIGFjX2N2X3BhdGhfUEVSTD0iJGFjX2Rpci8kYWNfd29yZCIKKyAgICAgIGJyZWFrCisg
ICAgZmkKKyAgZG9uZQorICBJRlM9IiRhY19zYXZlX2lmcyIKKyAgOzsKK2VzYWMKK2ZpCitQRVJM
PSIkYWNfY3ZfcGF0aF9QRVJMIgoraWYgdGVzdCAtbiAiJFBFUkwiOyB0aGVuCisgIGVjaG8gIiRh
Y190IiIkUEVSTCIgMT4mNgorZWxzZQorICBlY2hvICIkYWNfdCIibm8iIDE+JjYKK2ZpCisKK3Rl
c3QgLW4gIiRQRVJMIiAmJiBicmVhaworZG9uZQordGVzdCAtbiAiJFBFUkwiIHx8IFBFUkw9ImVj
aG8gbm90X3BlcmwiCisKK2VsaWYgdGVzdCAteiAiJFBFUkwiOyB0aGVuCisgICAgUEVSTD1wZXJs
CitmaQorCitPQkpfU1VGRklYPW8KK0xJQl9TVUZGSVg9YQorRExMX1NVRkZJWD1zbworQVNNX1NV
RkZJWD1zCitNS1NITElCPSckKExEKSAkKERTT19MRE9QVFMpIC1vICRAJworUFJfTURfQVNGSUxF
Uz0KK1BSX01EX0NTUkNTPQorUFJfTURfQVJDSF9ESVI9dW5peAorQVJfRkxBR1M9J2NyICRAJwor
QVM9JyQoQ0MpJworQVNGTEFHUz0nJChDRkxBR1MpJworCitpZiB0ZXN0IC1uICIkQ1JPU1NfQ09N
UElMRSI7IHRoZW4KKyAgICBPU19BUkNIPWBlY2hvICR0YXJnZXRfb3MgfCBzZWQgLWUgJ3N8L3xf
fGcnYAorICAgIE9TX1JFTEVBU0U9CisgICAgT1NfVEVTVD0iJHt0YXJnZXRfY3B1fSIKKyAgICBj
YXNlICIke3RhcmdldF9vc30iIGluCisgICAgICAgIGxpbnV4KikgICAgICAgT1NfQVJDSD1MaW51
eCA7OworICAgICAgICBzb2xhcmlzKikgICAgIE9TX0FSQ0g9U3VuT1MgT1NfUkVMRUFTRT01IDs7
CisgICAgICAgIG1pbmd3KikgICAgICAgT1NfQVJDSD1XSU5OVCA7OworICAgIGVzYWMKK2Vsc2UK
KyAgICBPU19BUkNIPWB1bmFtZSAtcyB8IHNlZCAtZSAnc3wvfF98ZydgCisgICAgT1NfUkVMRUFT
RT1gdW5hbWUgLXJgCisgICAgT1NfVEVTVD1gdW5hbWUgLW1gCitmaQorCitpZiB0ZXN0ICIkT1Nf
QVJDSCIgPSAiSVJJWDY0IjsgdGhlbgorICAgIE9TX0FSQ0g9SVJJWAorZmkKKworaWYgdGVzdCAi
JE9TX0FSQ0giID0gIkFJWCI7IHRoZW4KKyAgICBPU19SRUxFQVNFPWB1bmFtZSAtdmAuYHVuYW1l
IC1yYAorZmkKKworaWYgdGVzdCAiJE9TX0FSQ0giID0gIkZyZWVCU0QiOyB0aGVuCisgICAgT1Nf
UkVMRUFTRT1gZWNobyAkT1NfUkVMRUFTRSB8IHNlZCAncy8tLiovLydgCitmaQorCitpZiB0ZXN0
ICIkT1NfQVJDSCIgPSAiTGludXgiOyB0aGVuCisgICAgT1NfUkVMRUFTRT1gZWNobyAkT1NfUkVM
RUFTRSB8IHNlZCAncy8tLiovLydgCisgICAgT1NfUkVMRUFTRT1gZWNobyAkT1NfUkVMRUFTRSB8
IGF3ayAtRlwuICd7IHByaW50ICQxICIuIiAkMiB9J2AKK2ZpCisKK2lmIHRlc3QgIiRPU19BUkNI
IiA9ICJPcGVuVk1TIjsgdGhlbgorICAgIE9TX1JFTEVBU0U9YHVuYW1lIC12YAorZmkKKworIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMKKyMgTWFzdGVyICJDb3JlIENvbXBvbmVudHMiIG1hY3JvcyBmb3IgZ2V0dGlu
ZyB0aGUgT1MgdGFyZ2V0ICAgICAgICAgICAjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCisjCisjIE5vdGU6
IE9TX1RBUkdFVCBzaG91bGQgYmUgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUgZm9yIGdt
YWtlLgorIyBXaGVuIE9TX1RBUkdFVD1XSU45NSBpcyBzcGVjaWZpZWQsIHRoZW4gYSBXaW5kb3dz
IDk1IHRhcmdldCBpcyBidWlsdC4KKyMgVGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgV2luOTUg
dGFyZ2V0IGFuZCB0aGUgV2luTlQgdGFyZ2V0IGlzIHRoYXQKKyMgdGhlIFdpbk5UIHRhcmdldCB1
c2VzIFdpbmRvd3MgTlQgc3BlY2lmaWMgZmVhdHVyZXMgbm90IGF2YWlsYWJsZQorIyBpbiBXaW5k
b3dzIDk1LiBUaGUgV2luOTUgdGFyZ2V0IHdpbGwgcnVuIG9uIFdpbmRvd3MgTlQsIGJ1dCAoc3Vw
cG9zZWRseSkKKyMgYXQgbGVzc2VyIHBlcmZvcm1hbmNlICh0aGUgV2luOTUgdGFyZ2V0IHVzZXMg
dGhyZWFkczsgdGhlIFdpbk5UIHRhcmdldAorIyB1c2VzIGZpYmVycykuCisjCisjIFdoZW4gT1Nf
VEFSR0VUPVdJTjE2IGlzIHNwZWNpZmllZCwgdGhlbiBhIFdpbmRvd3MgMy4xMSAoMTZiaXQpIHRh
cmdldAorIyBpcyBidWlsdC4gU2VlOiB3aW4xNl8zLjExLm1rIGZvciBsb3RzIG1vcmUgYWJvdXQg
dGhlIFdpbjE2IHRhcmdldC4KKyMKKyMgSWYgT1NfVEFSR0VUIGlzIG5vdCBzcGVjaWZpZWQsIGl0
IGRlZmF1bHRzIHRvICQoT1NfQVJDSCksIGkuZS4sIG5vCisjIGNyb3NzLWNvbXBpbGF0aW9uLgor
IworCisjCisjIFRoZSBmb2xsb3dpbmcgaGFjayBhbGxvd3Mgb25lIHRvIGJ1aWxkIG9uIGEgV0lO
OTUgbWFjaGluZSAoYXMgaWYKKyMgcy9oZSB3ZXJlIGNyb3NzLWNvbXBpbGluZyBvbiBhIFdJTk5U
IGhvc3QgZm9yIGEgV0lOOTUgdGFyZ2V0KS4KKyMgSXQgYWxzbyBhY2NvbW9kYXRlcyBmb3IgTUtT
J3MgdW5hbWUuZXhlLiAgSWYgeW91IG5ldmVyIGludGVuZAorIyB0byBkbyBkZXZlbG9wbWVudCBv
biBhIFdJTjk1IG1hY2hpbmUsIHlvdSBkb24ndCBuZWVkIHRoaXMgaGFjay4KKyMKK2Nhc2UgIiRP
U19BUkNIIiBpbgorV0lOOTUpCisgICAgT1NfQVJDSD1XSU5OVAorICAgIE9TX1RBUkdFVD1XSU45
NQorICAgIDs7CitXaW5kb3dzXzk1KQorICAgIE9TX0FSQ0g9V2luZG93c19OVAorICAgIE9TX1RB
UkdFVD1XSU45NQorICAgIDs7CitXaW5kb3dzXzk4KQorICAgIE9TX0FSQ0g9V2luZG93c19OVAor
ICAgIE9TX1RBUkdFVD1XSU45NQorICAgIDs7CitDWUdXSU5fOSp8Q1lHV0lOX01FKikKKyAgICBP
U19BUkNIPSdDWUdXSU5fTlQtNC4wJworICAgIE9TX1RBUkdFVD1XSU45NQorICAgIDs7CitPU18y
KQorICAgIE9TX0FSQ0g9T1MyCisgICAgT1NfVEFSR0VUPU9TMgorICAgIDs7Citlc2FjCisKKyMK
KyMgT24gV0lOMzIsIHdlIGFsc28gZGVmaW5lIHRoZSB2YXJpYWJsZSBDUFVfQVJDSC4KKyMKKwor
Y2FzZSAiJE9TX0FSQ0giIGluCitXSU5OVCkKKyAgICBDUFVfQVJDSD1gdW5hbWUgLXBgCisgICAg
aWYgdGVzdCAiJENQVV9BUkNIIiA9ICJJMzg2IjsgdGhlbgorICAgICAgICBDUFVfQVJDSD14ODYK
KyAgICBmaQorICAgIDs7CitXaW5kb3dzX05UKQorIworIyBJZiB1bmFtZSAtcyByZXR1cm5zICJX
aW5kb3dzX05UIiwgd2UgYXNzdW1lIHRoYXQgd2UgYXJlIHVzaW5nCisjIHRoZSB1bmFtZS5leGUg
aW4gTUtTIHRvb2xraXQuCisjCisjIFRoZSAtciBvcHRpb24gb2YgTUtTIHVuYW1lIG9ubHkgcmV0
dXJucyB0aGUgbWFqb3IgdmVyc2lvbiBudW1iZXIuCisjIFNvIHdlIG5lZWQgdG8gdXNlIGl0cyAt
diBvcHRpb24gdG8gZ2V0IHRoZSBtaW5vciB2ZXJzaW9uIG51bWJlci4KKyMgTW9yZW92ZXIsIGl0
IGRvZXNuJ3QgaGF2ZSB0aGUgLXAgb3B0aW9uLCBzbyB3ZSBuZWVkIHRvIHVzZSB1bmFtZSAtbS4K
KyMKKyAgICBPU19BUkNIPVdJTk5UCisgICAgT1NfTUlOT1JfUkVMRUFTRT1gdW5hbWUgLXZgCisg
ICAgaWYgdGVzdCAiJE9TX01JTk9SX1JFTEVBU0UiID0gIjAwIjsgdGhlbgorICAgICAgICBPU19N
SU5PUl9SRUxFQVNFPTAKKyAgICBmaQorICAgIE9TX1JFTEVBU0U9IiR7T1NfUkVMRUFTRX0uJHtP
U19NSU5PUl9SRUxFQVNFfSIKKyAgICBDUFVfQVJDSD1gdW5hbWUgLW1gCisgICAgIworICAgICMg
TUtTJ3MgdW5hbWUgLW0gcmV0dXJucyAiNTg2IiBvbiBhIFBlbnRpdW0gbWFjaGluZS4KKyAgICAj
CisgICAgaWYgZWNobyAiJENQVV9BUkNIIiB8IGdyZXAgLWMgODYgPi9kZXYvbnVsbDsgdGhlbgor
ICAgICAgICBDUFVfQVJDSD14ODYKKyAgICBmaQorICAgIDs7CitDWUdXSU5fTlQqfE1JTkdXKl9O
VCopCisjCisjIElmIHVuYW1lIC1zIHJldHVybnMgIkNZR1dJTl9OVC00LjAiLCB3ZSBhc3N1bWUg
dGhhdCB3ZSBhcmUgdXNpbmcKKyMgdGhlIHVuYW1lLmV4ZSBpbiB0aGUgQ3lnd2luIHRvb2xzLgor
IyBJZiB1bmFtZSAtcyByZXR1cm5zIE1JTkdXMzJfTlQtNS4xLCB3ZSBhc3N1bWUgdGhhdCB3ZSBh
cmUgdXNpbmcKKyMgdGhlIHVuYW1lLmV4ZSBpbiB0aGUgTVNZUyB0b29scy4KKyMKKyAgICBPU19S
RUxFQVNFPWBleHByICRPU19BUkNIIDogJy4qTlQtXCguKlwpJ2AKKyAgICBPU19BUkNIPVdJTk5U
CisgICAgQ1BVX0FSQ0g9YHVuYW1lIC1tYAorICAgICMKKyAgICAjIEN5Z3dpbidzIHVuYW1lIC1t
IHJldHVybnMgImk2ODYiIG9uIGEgUGVudGl1bSBQcm8gbWFjaGluZS4KKyAgICAjCisgICAgaWYg
ZWNobyAiJENQVV9BUkNIIiB8IGdyZXAgLWMgODYgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBD
UFVfQVJDSD14ODYKKyAgICBmaQorICAgIDs7Citlc2FjCisKK2lmIHRlc3QgLW4gIiRNT1pJTExB
X0NMSUVOVCIgJiYgdGVzdCAiJE9TX0FSQ0giID0gIldJTk5UIjsgdGhlbgorICAgIE9TX1RBUkdF
VD1XSU45NQorICAgIGlmIHRlc3QgLW4gIiRNT1pfREVCVUciOyB0aGVuCisgICAgICAgIFVTRV9E
RUJVR19SVEw9MQorICAgIGZpCitmaQoraWYgdGVzdCAteiAiJE9TX1RBUkdFVCI7IHRoZW4KKyAg
ICBPU19UQVJHRVQ9JE9TX0FSQ0gKK2ZpCitpZiB0ZXN0ICIkT1NfVEFSR0VUIiA9ICJXSU45NSI7
IHRoZW4KKyAgICBPU19SRUxFQVNFPSI0LjAiCitmaQoraWYgdGVzdCAiJE9TX1RBUkdFVCIgPSAi
V0lOMTYiOyB0aGVuCisgICAgT1NfUkVMRUFTRT0KK2ZpCitPU19DT05GSUc9IiR7T1NfVEFSR0VU
fSR7T1NfUkVMRUFTRX0iCisKKworY2FzZSAiJGhvc3QiIGluCisqLW1pbmd3KikKKyAgICBOU0lO
U1RBTEw9bnNpbnN0YWxsCisgICAgOzsKKyotY3lnd2luKnwqLW1zdmMqfCotbWtzKikKKyAgICBO
U0lOU1RBTEw9JyQoQ1lHV0lOX1dSQVBQRVIpIG5zaW5zdGFsbCcKKyAgICBpZiB0ZXN0IGBlY2hv
ICIke1BBVEh9IiB8IGdyZXAgLWMgXDtgID0gMDsgdGhlbgorICAgICAgICBDWUdXSU5fV1JBUFBF
Uj0nc2ggJCh0b3BzcmNkaXIpL2J1aWxkL2N5Z3dpbi13cmFwcGVyJworICAgIGZpCisgICAgOzsK
KyotYmVvcyopCisgICAgSE9TVF9DRkxBR1M9IiRIT1NUX0NGTEFHUyAtRFhQX0JFT1MgLURCZU9T
IC1EQkVPUyAtRF9QT1NJWF9TT1VSQ0UiCisgICAgOzsKKypvczIqKQorICAgIDs7CisqKQorICAg
IEhPU1RfQ0ZMQUdTPSIkSE9TVF9DRkxBR1MgLURYUF9VTklYIgorICAgIDs7Citlc2FjCisKK2Nh
c2UgIiR0YXJnZXQiIGluCisKKyotYWl4KikKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YK
KyNkZWZpbmUgWFBfVU5JWCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgor
I2RlZmluZSBBSVggMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZp
bmUgU1lTViAxCitFT0YKKworICAgIERTT19MRE9QVFM9Jy1icnRsIC1ibm9ydGxsaWIgLWJNOlNS
RSAtYm5vZW50cnkgLWJleHBhbGwgLWJsaWJwYXRoOi91c3IvbGliOi9saWInCisgICAgYWNfc2Fm
ZT1gZWNobyAic3lzL2F0b21pY19vcC5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKK2VjaG8gJGFj
X24gImNoZWNraW5nIGZvciBzeXMvYXRvbWljX29wLmgiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAi
Y29uZmlndXJlOjI5MDk6IGNoZWNraW5nIGZvciBzeXMvYXRvbWljX29wLmgiID4mNQoraWYgZXZh
bCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hlYWRlcl8kYWNfc2FmZScrc2V0fSdgXCIgPSBz
ZXQiOyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRhY19jIiAxPiY2CitlbHNlCisgIGNh
dCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKyNsaW5lIDI5MTQgImNvbmZpZ3VyZSIKKyNpbmNs
dWRlICJjb25mZGVmcy5oIgorI2luY2x1ZGUgPHN5cy9hdG9taWNfb3AuaD4KK0VPRgorYWNfdHJ5
PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAyPmNvbmZ0ZXN0Lm91dCIKK3sg
KGV2YWwgZWNobyBjb25maWd1cmU6MjkxOTogXCIkYWNfdHJ5XCIpIDE+JjU7IChldmFsICRhY190
cnkpIDI+JjU7IH0KK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29uZnRlc3Qub3V0IHwgZ3JlcCAt
diAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKK2lmIHRlc3QgLXogIiRhY19lcnIiOyB0aGVuCisg
IHJtIC1yZiBjb25mdGVzdCoKKyAgZXZhbCAiYWNfY3ZfaGVhZGVyXyRhY19zYWZlPXllcyIKK2Vs
c2UKKyAgZWNobyAiJGFjX2VyciIgPiY1CisgIGVjaG8gImNvbmZpZ3VyZTogZmFpbGVkIHByb2dy
YW0gd2FzOiIgPiY1CisgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4mNQorICBybSAtcmYgY29uZnRl
c3QqCisgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT1ubyIKK2ZpCitybSAtZiBjb25mdGVz
dCoKK2ZpCitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9oZWFkZXJfJyRhY19zYWZlYFwi
ID0geWVzIjsgdGhlbgorICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgIGNhdCA+PiBjb25mZGVm
cy5oIDw8XEVPRgorI2RlZmluZSBBSVhfSEFWRV9BVE9NSUNfT1BfSCAxCitFT0YKKworZWxzZQor
ICBlY2hvICIkYWNfdCIibm8iIDE+JjYKK2ZpCisKKyAgICBjYXNlICIke3RhcmdldF9vc30iIGlu
CisgICAgYWl4My4yKikKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5l
IEFJWF9SRU5BTUVfU0VMRUNUIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8
XEVPRgorI2RlZmluZSBfUFJfTk9fTEFSR0VfRklMRVMgMQorRU9GCisKKyAgICAgICAgQUlYX0xJ
TktfT1BUUz0nLWJuc28gLWJlcm9rJworICAgICAgICBQUl9NRF9BU0ZJTEVTPW9zX0FJWC5zCisg
ICAgICAgIDs7CisgICAgYWl4NC4xKikKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9G
CisjZGVmaW5lIEFJWF9USU1FUlMgMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIF9QUl9OT19MQVJHRV9GSUxFUyAxCitFT0YKKworICAgICAgICBjYXQg
Pj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgQUlYNF8xIDEKK0VPRgorCisgICAgICAgIE1L
U0hMSUI9CisgICAgICAgIERTT19MRE9QVFM9CisgICAgICAgIEFJWF9MSU5LX09QVFM9Jy1ibnNv
IC1iZXJvaycKKyAgICAgICAgTElCTlNQUj0nLUwkKGRpc3RfbGliZGlyKSAtbG5zcHIkKE1PRF9N
QUpPUl9WRVJTSU9OKV9zaHInCisgICAgICAgIExJQlBMQz0nLUwkKGRpc3RfbGliZGlyKSAtbHBs
YyQoTU9EX01BSk9SX1ZFUlNJT04pX3NocicKKyAgICAgICAgOzsKKyAgICBhaXg0LjIqKQorICAg
ICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgQUlYX1RJTUVSUyAxCitFT0YK
KworICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1BSX0hBVkVfT0ZG
NjRfVCAxCitFT0YKKworICAgICAgICBBSVhfTElOS19PUFRTPSctYnJ0bCAtYm5zbyAtYmVyb2sn
CisgICAgICAgIDs7CisgICAgYWl4NC4zKikKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxc
RU9GCisjZGVmaW5lIEFJWF9USU1FUlMgMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZz
LmggPDxcRU9GCisjZGVmaW5lIF9QUl9IQVZFX09GRjY0X1QgMQorRU9GCisKKyAgICAgICAgY2F0
ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEFJWDRfM19QTFVTIDEKK0VPRgorCisgICAg
ICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBIQVZFX1NPQ0tMRU5fVCAxCitF
T0YKKworICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSEFWRV9GQ05U
TF9GSUxFX0xPQ0tJTkcgMQorRU9GCisKKyAgICAgICAgVVNFX0lQVjY9MQorICAgICAgICBBSVhf
TElOS19PUFRTPSctYnJ0bCAtYm5zbyAtYmVyb2snCisgICAgICAgIDs7CisgICAgKikKKyAgICAg
ICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEFJWF9USU1FUlMgMQorRU9GCisK
KyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9IQVZFX09GRjY0
X1QgMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEFJ
WDRfM19QTFVTIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2Rl
ZmluZSBIQVZFX1NPQ0tMRU5fVCAxCitFT0YKKworICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8
PFxFT0YKKyNkZWZpbmUgSEFWRV9GQ05UTF9GSUxFX0xPQ0tJTkcgMQorRU9GCisKKyAgICAgICAg
VVNFX0lQVjY9MQorICAgICAgICBBSVhfTElOS19PUFRTPSctYnJ0bCAtYm5zbyAtYmVyb2snCisg
ICAgICAgIDs7CisgICAgZXNhYworICAgIENGTEFHUz0iJENGTEFHUyAtcXJvIC1xcm9jb25zdCIK
KyAgICBBSVhfV1JBUD0nJChESVNUKS9saWIvYWl4d3JhcC5vJworICAgIEFJWF9UTVA9Jy4vX2Fp
eF90bXAubycKKyAgICBpZiB0ZXN0IC1uICIkVVNFXzY0IjsgdGhlbgorICAgICAgICBNRENQVUNG
R19IPV9haXg2NC5jZmcKKyAgICAgICAgT0JKRUNUX01PREU9NjQKKyAgICBlbHNlCisgICAgICAg
IE1EQ1BVQ0ZHX0g9X2FpeDMyLmNmZworICAgIGZpCisgICAgUFJfTURfQ1NSQ1M9YWl4LmMKKyAg
ICBSRVNPTFZFX0xJTktfU1lNQk9MUz0xCisgICAgOzsKKyAgICAgICAgCisqLWJlb3MqKQorICAg
IGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBYUF9CRU9TIDEKK0VPRgorCisgICAg
Y2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEJlT1MgMQorRU9GCisKKyAgICBjYXQg
Pj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgQkVPUyAxCitFT0YKKworICAgIGNhdCA+PiBj
b25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUE9TSVhfU09VUkNFIDEKK0VPRgorCisgICAgRFNP
X0xET1BUUz0tbm9zdGFydAorICAgIE1EQ1BVQ0ZHX0g9X2Jlb3MuY2ZnCisgICAgVVNFX0JUSFJF
QURTPTEKKyAgICBQUl9NRF9BUkNIX0RJUj1iZW9zCisgICAgUkVTT0xWRV9MSU5LX1NZTUJPTFM9
MQorICAgIGNhc2UgIiR7dGFyZ2V0X2NwdX0iIGluCisgICAgaSo4NikKKyAgICAgICAgX09QVElN
SVpFX0ZMQUdTPS1PMgorICAgICAgICBfREVCVUdfRkxBR1M9Jy1nZHdhcmYtMiAtTzAnCisgICAg
ICAgIE1LU0hMSUI9JyQoQ0NDKSAkKERTT19MRE9QVFMpIC1vICRAJworICAgICAgICBlY2hvICRh
Y19uICJjaGVja2luZyBmb3IgZ2V0aG9zdGJ5YWRkciBpbiAtbGJpbmQiIi4uLiAkYWNfYyIgMT4m
NgorZWNobyAiY29uZmlndXJlOjMwNzY6IGNoZWNraW5nIGZvciBnZXRob3N0YnlhZGRyIGluIC1s
YmluZCIgPiY1CithY19saWJfdmFyPWBlY2hvIGJpbmQnXydnZXRob3N0YnlhZGRyIHwgc2VkICd5
JS4vKy0lX19wXyUnYAoraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2xpYl8kYWNf
bGliX3Zhcicrc2V0fSdgXCIgPSBzZXQiOyB0aGVuCisgIGVjaG8gJGFjX24gIihjYWNoZWQpICRh
Y19jIiAxPiY2CitlbHNlCisgIGFjX3NhdmVfTElCUz0iJExJQlMiCitMSUJTPSItbGJpbmQgICRM
SUJTIgorY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorI2xpbmUgMzA4NCAiY29uZmlndXJl
IgorI2luY2x1ZGUgImNvbmZkZWZzLmgiCisvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBw
cm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBp
bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorICAgIGJ1aWx0aW4gYW5k
IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCitjaGFy
IGdldGhvc3RieWFkZHIoKTsKKworaW50IG1haW4oKSB7CitnZXRob3N0YnlhZGRyKCkKKzsgcmV0
dXJuIDA7IH0KK0VPRgoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTozMDk1OiBcIiRhY19saW5r
XCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2Fj
X2V4ZWV4dH07IHRoZW4KKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICBldmFsICJhY19jdl9saWJfJGFj
X2xpYl92YXI9eWVzIgorZWxzZQorICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoiID4mNQorICBjYXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKyAgcm0gLXJmIGNvbmZ0ZXN0Kgor
ICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9bm8iCitmaQorcm0gLWYgY29uZnRlc3QqCitM
SUJTPSIkYWNfc2F2ZV9MSUJTIgorCitmaQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3Zf
bGliXyckYWNfbGliX3ZhcmBcIiA9IHllcyI7IHRoZW4KKyAgZWNobyAiJGFjX3QiInllcyIgMT4m
NgorICBPU19MSUJTPSIkT1NfTElCUyAtbGJpbmQgLWxzb2NrZXQiCitlbHNlCisgIGVjaG8gIiRh
Y190IiJubyIgMT4mNgorZmkKKworICAgICAgICA7OworICAgIHBvd2VycGMpCisgICAgICAgIEND
PW13Y2MKKyAgICAgICAgQ0NDPW13Y2MKKyAgICAgICAgTEQ9bXdsZAorICAgICAgICBEU09fTERP
UFRTPScteG1zIC1leHBvcnQgcHJhZ21hIC1pbml0IF9pbml0X3JvdXRpbmVfIC10ZXJtIF90ZXJt
X3JvdXRpbmVfIC1scm9vdCAtbG5ldCAvYm9vdC9kZXZlbG9wL2xpYi9wcGMvZ2x1ZS1ub2luaXQu
YSAvYm9vdC9kZXZlbG9wL2xpYi9wcGMvaW5pdF90ZXJtX2R5bi5vIC9ib290L2RldmVsb3AvbGli
L3BwYy9zdGFydF9keW4ubycKKyAgICAgICAgX09QVElNSVpFX0ZMQUdTPS1PMiAgICAKKyAgICAg
ICAgX0RFQlVHX0ZMQUdTPSctZyAtTzAnCisgICAgICAgIDs7CisgICAgZXNhYworICAgIDs7CisK
KyotYnNkaSopCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFhQX1VOSVgg
MQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgQlNESSAxCitF
T0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBORUVEX0JTRFJFR0VY
IDEKK0VPRgorCisKKyAgICBDRkxBR1M9IiRDRkxBR1MgLVdhbGwgLVduby1mb3JtYXQiCisgICAg
Q1hYRkxBR1M9IiRDWFhGTEFHUyAtV2FsbCAtV25vLWZvcm1hdCIKKworICAgIGlmIGVjaG8gIiRP
U19URVNUIiB8IGdyZXAgLWMgODYgPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBDUFVfQVJDSD14
ODYKKyAgICBlbGlmIGVjaG8gIiRPU19URVNUIiB8IGdyZXAgLWMgc3BhcmMgPi9kZXYvbnVsbDsg
dGhlbiAKKyAgICAgICAgQ1BVX0FSQ0g9c3BhcmMKKyAgICBmaQorCisgICAgTURDUFVDRkdfSD1f
YnNkaS5jZmcKKyAgICBQUl9NRF9DU1JDUz1ic2RpLmMKKworICAgIERTT19MRE9QVFM9LXIKKwor
ICAgIGNhc2UgIiR0YXJnZXRfb3MiIGluCisgICAgYnNkaTEuMSopCisgICAgICAgIGNhdCA+PiBj
b25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfQlNESV9KTVBCVUZfSVNfQVJSQVkgMQorRU9G
CisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9TVEFUX0hB
U19PTkxZX1NUX0FUSU1FIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVP
RgorI2RlZmluZSBfUFJfTkVFRF9IX0VSUk5PIDEKK0VPRgorCisgICAgICAgIE1LU0hMSUI9Cisg
ICAgICAgIERTT19DRkxBR1M9CisgICAgICAgIERTT19MRE9QVFM9CisgICAgICAgIDs7CisKKyAg
ICBic2RpMi4xKikKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9Q
Ul9USU1FU1BFQ19IQVNfVFNfU0VDIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5o
IDw8XEVPRgorI2RlZmluZSBfUFJfQlNESV9KTVBCVUZfSVNfQVJSQVkgMQorRU9GCisKKyAgICAg
ICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfRExMIDEKK0VPRgorCisg
ICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBVU0VfRExGQ04gMQorRU9G
CisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9TVEFUX0hB
U19TVF9BVElNRVNQRUMgMQorRU9GCisKKyAgICAgICAgUFJfTURfQVNGSUxFUz1vc19CU0RfT1Nf
Mzg2XzIucworICAgICAgICA7OworCisgICAgYnNkaTQuKiB8IGJzZGk1LiopCisgICAgICAgIGNh
dCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfU0VMRUNUX0NPTlNUX1RJTUVWQUwg
MQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9C
U0RJX0pNUEJVRl9JU19TVFJVQ1QgMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIEhBVkVfRExMIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVm
cy5oIDw8XEVPRgorI2RlZmluZSBVU0VfRExGQ04gMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNv
bmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9TVEFUX0hBU19TVF9BVElNRVNQRUMgMQorRU9G
CisKKyAgICAgICAgTUtTSExJQj0nJChDQykgLW8gJEAgJChEU09fTERPUFRTKScKKyAgICAgICAg
RFNPX0NGTEFHUz0tZlBJQworICAgICAgICBEU09fTERPUFRTPSctc2hhcmVkIC1XbCwtc29uYW1l
LCQoQDokKE9CSkRJUikvJS5zbz0lLnNvKScKKyAgICAgICAgU1RSSVA9IiRTVFJJUCAtZCIKKyAg
ICAgICAgY2FzZSAiJHRhcmdldF9vcyIgaW4KKyAgICAgICAgYnNkaTQuMiogfCBic2RpNC4zKiB8
IGJzZGk1LiopCisgICAgICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUg
X1BSX0hBVkVfR0VUUFJPVE9fUiAxCitFT0YKKworICAgICAgICAgICAgY2F0ID4+IGNvbmZkZWZz
LmggPDxcRU9GCisjZGVmaW5lIF9QUl9IQVZFX0dFVFBST1RPX1JfUE9JTlRFUiAxCitFT0YKKwor
ICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworICAgICAgICA7OworICAgICopCisgICAgICAg
IGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfU0VMRUNUX0NPTlNUX1RJTUVW
QUwgMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9Q
Ul9CU0RJX0pNUEJVRl9JU19TVFJVQ1QgMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZz
LmggPDxcRU9GCisjZGVmaW5lIEhBVkVfRExMIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25m
ZGVmcy5oIDw8XEVPRgorI2RlZmluZSBVU0VfRExGQ04gMQorRU9GCisKKyAgICAgICAgY2F0ID4+
IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9TVEFUX0hBU19TVF9BVElNRVNQRUMgMQor
RU9GCisKKyAgICAgICAgOzsKKyAgICBlc2FjCisKKyAgICA7OworCisqLWRhcndpbiopCisgICAg
Y2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFhQX1VOSVggMQorRU9GCisKKyAgICBj
YXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgREFSV0lOIDEKK0VPRgorCisgICAgY2F0
ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfQlNEX0ZMT0NLIDEKK0VPRgorCisg
ICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XbW9zdCAtZm5vLWNvbW1vbiIKKyAgICBpZiBlY2hvICRPU19U
RVNUIHwgZ3JlcCAtYyA4NiAyPi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBjYXQgPj4gY29uZmRl
ZnMuaCA8PFxFT0YKKyNkZWZpbmUgaTM4NiAxCitFT0YKKworICAgICAgICBDUFVfQVJDSD1pMzg2
CisgICAgZWxzZQorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgcHBj
IDEKK0VPRgorCisgICAgICAgIENQVV9BUkNIPXBwYworICAgIGZpCisgICAgRFNPX0NGTEFHUz0t
ZlBJQworICAgIERTT19MRE9QVFM9Jy1keW5hbWljbGliIC1jb21wYXRpYmlsaXR5X3ZlcnNpb24g
MSAtY3VycmVudF92ZXJzaW9uIDEgLWFsbF9sb2FkIC1pbnN0YWxsX25hbWUgQGV4ZWN1dGFibGVf
cGF0aC8kQCAtaGVhZGVycGFkX21heF9pbnN0YWxsX25hbWVzJworICAgICMgVXNlIHRoZSBzdGFu
ZGFyZCBwcmVwcm9jZXNzb3IgKGNwcCkKKyAgICBDRkxBR1M9IiRDRkxBR1MgLW5vLWNwcC1wcmVj
b21wIgorICAgIE1LU0hMSUI9JyQoQ0MpIC1hcmNoICQoQ1BVX0FSQ0gpICQoRFNPX0xET1BUUykg
LW8gJEAnCisgICAgU1RSSVA9IiRTVFJJUCAteCAtUyIKKyAgICBETExfU1VGRklYPWR5bGliCisg
ICAgVVNFX1BUSFJFQURTPTEKKyAgICBNRENQVUNGR19IPV9kYXJ3aW4uY2ZnCisgICAgUFJfTURf
Q1NSQ1M9ZGFyd2luLmMKKyAgICBpZiB0ZXN0ICIkQ1BVX0FSQ0giID0gInBwYyI7IHRoZW4KKyAg
ICAgICAgUFJfTURfQVNGSUxFUz1vc19EYXJ3aW5fcHBjLnMKKyAgICBmaQorCisgICAgIyBBZGQg
TWFjIE9TIFggc3VwcG9ydCBmb3IgbG9hZGluZyBDRk0gJiBDRkJ1bmRsZSBwbHVnaW5zCisgICAg
aWYgdGVzdCAtZiAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrL0Nh
cmJvbjsgdGhlbgorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgWFBf
TUFDT1NYIDEKK0VPRgorCisgICAgICAgIE9TX1RBUkdFVD1NYWNPU1gKKworICAgICAgICBpZiB0
ZXN0IC1uICIkX01BQ09TWF9ERVBMT1lNRU5UX1RBUkdFVCIgOyB0aGVuCisgICAgICAgICAgICAg
ICAgICAgICAgICBleHBvcnQgTUFDT1NYX0RFUExPWU1FTlRfVEFSR0VUPSRfTUFDT1NYX0RFUExP
WU1FTlRfVEFSR0VUCisgICAgICAgIGVsaWYgdGVzdCAteiAiJE1BQ09TWF9ERVBMT1lNRU5UX1RB
UkdFVCIgOyB0aGVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjYXNlICIke3RhcmdldF9jcHV9IiBpbgorICAgICAgICAgICAgICAgIHBvd2VycGMqKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9ydCBNQUNPU1hfREVQ
TE9ZTUVOVF9UQVJHRVQ9MTAuMQorICAgICAgICAgICAgICAgICAgICA7OworICAgICAgICAgICAg
ICAgIGkqODYqKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cG9y
dCBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQ9MTAuNAorICAgICAgICAgICAgICAgICAgICA7Owor
ICAgICAgICAgICAgZXNhYworICAgICAgICBmaQorICAgIGZpCisKKyAgICAjIGRvIHRoZSByaWdo
dCB0aGluZyBmb3IgU0RLIHN1cHBvcnQKKyAgICBpZiB0ZXN0ICIkTkVYVF9ST09UIjsgdGhlbgor
ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAg
ICAgCisgICAgICAgIENDX1ZFUlNJT049YCRDQyAtdiAyPiYxIHwgZ3JlcCAnZ2NjIHZlcnNpb24n
YAorICAgICAgICBHQ0NfVkVSU0lPTl9GVUxMPWBlY2hvICRDQ19WRVJTSU9OIHwgJFBFUkwgLXBl
ICdzL14uKmdjYyB2ZXJzaW9uIChbXiBdKikuKi8kMS8nYAorICAgICAgICBHQ0NfVkVSU0lPTj1g
ZWNobyAkR0NDX1ZFUlNJT05fRlVMTCB8ICRQRVJMIC1wZSAnKHNwbGl0KC9cLi8pKVswXT49NCYm
cy8oXlxkKlwuXGQqKS4qLyQxLzsnYAorICAgICAgICAKKyAgICAgICAgR0NDX1ZFUlNJT05fTUFK
T1I9YGVjaG8gJEdDQ19WRVJTSU9OX0ZVTEwgfCAkUEVSTCAtcGUgJ3MvKF5cZCopLiovJDEvOydg
CisKKyAgICAgICAgaWYgdGVzdCAiJEdDQ19WRVJTSU9OX01BSk9SIiAtbHQgIjQiIDsgdGhlbgor
ICAgICAgICAgICAgICAgICAgICAgICAgVEFSR0VUX0FSQ0hfTElCPSJkYXJ3aW4iCisgICAgICAg
ICAgICBUQVJHRVRfQVJDSF9JTkNMVURFPSJwcGMtZGFyd2luIgorICAgICAgICAgICAgU0RLX0Nf
SU5DTFVERT0iLWlzeXN0ZW0gJHtORVhUX1JPT1R9L3Vzci9pbmNsdWRlL2djYy9kYXJ3aW4vJHtH
Q0NfVkVSU0lPTn0gLWlzeXN0ZW0gJHtORVhUX1JPT1R9L3Vzci9pbmNsdWRlIC1GJHtORVhUX1JP
T1R9L1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFRBUkdFVF9BUkNIX0xJQj0ke3RhcmdldF9jcHV9LSR7dGFyZ2V0X3Zl
bmRvcn0tZGFyd2luYGVjaG8gJE5FWFRfUk9PVCB8ICRQRVJMIC1wZSAncy9NYWNPU1gxMFwuKFxk
KikvLztpZiAoJDEpIHskXz0kMSs0O30gZWxzZSB7JF89Iicke3RhcmdldF9vc30nIjtzLyhcZCsp
Ly87JF89JDE7fSdgCisgICAgICAgICAgICBUQVJHRVRfQVJDSF9JTkNMVURFPSRUQVJHRVRfQVJD
SF9MSUIKKyAgICAgICAgICAgIFNES19DX0lOQ0xVREU9Ii1pc3lzdGVtICR7TkVYVF9ST09UfS91
c3IvbGliL2djYy8ke1RBUkdFVF9BUkNIX0xJQn0vJHtHQ0NfVkVSU0lPTl9GVUxMfS9pbmNsdWRl
IC1pc3lzdGVtICR7TkVYVF9ST09UfS91c3IvaW5jbHVkZSAtRiR7TkVYVF9ST09UfS9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzIgorICAgICAgICBmaQorCisgICAgICAgIGlmIHRlc3QgLWQgIiR7
TkVYVF9ST09UfS9MaWJyYXJ5L0ZyYW1ld29ya3MiIDsgdGhlbgorICAgICAgICAgICAgU0RLX0Nf
SU5DTFVERT0iJFNES19DX0lOQ0xVREUgLUYke05FWFRfUk9PVH0vTGlicmFyeS9GcmFtZXdvcmtz
IgorICAgICAgICBmaQorCisgICAgICAgIENGTEFHUz0iJENGTEFHUyAtbm9zdGRpbmMgJHtTREtf
Q19JTkNMVURFfSIKKworICAgICAgICAgICAgICAgIENQUD0iJENQUCAtbm9zdGRpbmMgJHtTREtf
Q19JTkNMVURFfSIKKworICAgICAgICBPU19MSUJTPSItTCR7TkVYVF9ST09UfS91c3IvbGliL2dj
Yy8ke1RBUkdFVF9BUkNIX0xJQn0gLUwke05FWFRfUk9PVH0vdXNyL2xpYi9nY2MvJHtUQVJHRVRf
QVJDSF9MSUJ9LyR7R0NDX1ZFUlNJT05fRlVMTH0gLUwke05FWFRfUk9PVH0vdXNyL2xpYiAkT1Nf
TElCUyIKKyAgICBmaQorICAgIDs7CisKKyotZGd1eCopCisgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIFhQX1VOSVggMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8
PFxFT0YKKyNkZWZpbmUgX1BSX0xPQ0FMX1RIUkVBRFNfT05MWSAxCitFT0YKKworICAgIGNhdCA+
PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBTVlI0IDEKK0VPRgorCisgICAgY2F0ID4+IGNv
bmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFNZU1YgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRl
ZnMuaCA8PFxFT0YKKyNkZWZpbmUgREdVWCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5o
IDw8XEVPRgorI2RlZmluZSBfREdVWF9TT1VSQ0UgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRl
ZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1BPU0lYNEFfRFJBRlQ2X1NPVVJDRSAxCitFT0YKKworICAg
IERTT19MRE9QVFM9LUcKKyAgICBfT1BUSU1JWkVfRkxBR1M9LU8yCisgICAgX0RFQlVHX0ZMQUdT
PQorICAgIE1EQ1BVQ0ZHX0g9X2RndXguY2ZnCisgICAgUFJfTURfQ1NSQ1M9ZGd1eC5jCisgICAg
OzsKKworKi1mcmVlYnNkKikKKyAgICBpZiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRo
ZW4KKyAgICAgICAgVVNFX1BUSFJFQURTPTEKKyAgICBmaQorICAgIGNhdCA+PiBjb25mZGVmcy5o
IDw8XEVPRgorI2RlZmluZSBYUF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIEZSRUVCU0QgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8
PFxFT0YKKyNkZWZpbmUgSEFWRV9CU0RfRkxPQ0sgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRl
ZnMuaCA8PFxFT0YKKyNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQorRU9GCisKKyAgICBDRkxBR1M9
IiRDRkxBR1MgJChEU09fQ0ZMQUdTKSAtYW5zaSAtV2FsbCIKKyAgICBNT1pfT0JKRk9STUFUPWB0
ZXN0IC14IC91c3IvYmluL29iamZvcm1hdCAmJiAvdXNyL2Jpbi9vYmpmb3JtYXQgfHwgZWNobyBh
b3V0YAorICAgIGlmIHRlc3QgIiRNT1pfT0JKRk9STUFUIiA9ICJlbGYiOyB0aGVuCisgICAgICAg
IERMTF9TVUZGSVg9c28KKyAgICBlbHNlCisgICAgICAgIERMTF9TVUZGSVg9c28uMS4wCisgICAg
ZmkKKyAgICBNS1NITElCPSckKENDKSAkKERTT19MRE9QVFMpIC1vICRAJworICAgIERTT19DRkxB
R1M9LWZQSUMKKyAgICBEU09fTERPUFRTPSctc2hhcmVkIC1XbCwtc29uYW1lIC1XbCwkKG5vdGRp
ciAkQCknCisgICAgTURDUFVDRkdfSD1fZnJlZWJzZC5jZmcKKyAgICBQUl9NRF9DU1JDUz1mcmVl
YnNkLmMKKyAgICA7OworCisqLWhwdXgqKQorICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgor
I2RlZmluZSBYUF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisj
ZGVmaW5lIEhQVVggMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZp
bmUgX0hQVVhfU09VUkNFIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisj
ZGVmaW5lIGhwcGEgMQorRU9GCisKKyAgICAjIE9TRjEgYW5kIEhQVVggcmVwb3J0IHRoZSBQT0xM
SFVQIGV2ZW50IGZvciBhIHNvY2tldCB3aGVuIHRoZQorICAgICMgc2h1dGRvd24oU0hVVF9XUikg
b3BlcmF0aW9uIGlzIGNhbGxlZCBmb3IgdGhlIHJlbW90ZSBlbmQsIGV2ZW4gdGhvdWdoCisgICAg
IyB0aGUgc29ja2V0IGlzIHN0aWxsIHdyaXRlYWJsZS4gVXNlIHNlbGVjdCgpLCBpbnN0ZWFkIG9m
IHBvbGwoKSwgdG8KKyAgICAjIHdvcmthcm91bmQgdGhpcyBwcm9ibGVtLgorICAgIGNhdCA+PiBj
b25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfUE9MTF9XSVRIX1NFTEVDVCAxCitFT0YKKwor
ICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfVVNFX0JJR19GRFMgMQorRU9G
CisKKyAgICBETExfU1VGRklYPXNsCisgICAgRFNPX0xET1BUUz0nLWIgK2ggJChub3RkaXIgJEAp
JworICAgIFBSX01EX0NTUkNTPWhwdXguYworICAgIGlmIHRlc3QgIiRPU19URVNUIiAhPSAiaWE2
NCI7IHRoZW4KKyAgICAgICAgUFJfTURfQVNGSUxFUz1vc19IUFVYLnMKKyAgICBmaQorICAgIGlm
IHRlc3QgLW4gIiRVU0VfNjQiOyB0aGVuCisgICAgICAgIE1EQ1BVQ0ZHX0g9X2hwdXg2NC5jZmcK
KyAgICBlbHNlCisgICAgICAgIE1EQ1BVQ0ZHX0g9X2hwdXgzMi5jZmcKKyAgICBmaQorICAgIGlm
IHRlc3QgLXogIiRHTlVfQ0MiOyB0aGVuCisgICAgICAgIENDPSIkQ0MgLUFlIgorICAgICAgICBD
WFg9IiRDWFggLWV4dCIKKyAgICAgICAgRFNPX0NGTEFHUz0rWgorICAgIGVsc2UKKyAgICAgICAg
RFNPX0NGTEFHUz0tZlBJQworICAgIGZpCisKKyAgICBpZiB0ZXN0IC1uICIkTU9aSUxMQV9DTElF
TlQiOyB0aGVuCisgICAgICAgIERFRkFVTFRfSU1QTF9TVFJBVEVHWT1fRU1VCisgICAgZmkKKwor
ICAgIGlmIGVjaG8gIiRPU19SRUxFQVNFIiB8IGdyZXAgXkEuMDkgPi9kZXYvbnVsbDsgdGhlbgor
ICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1BSX05FRURfSF9FUlJO
TyAxCitFT0YKKworICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSFBV
WDkgMQorRU9GCisKKyAgICAgICAgREVGQVVMVF9JTVBMX1NUUkFURUdZPV9FTVUKKyAgICAJVVNF
X05TUFJfVEhSRUFEUz0xCisgICAgZmkKKworICAgIGlmIGVjaG8gIiRPU19SRUxFQVNFIiB8IGVn
cmVwICdeKEEuMDl8Qi4xMCknID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZk
ZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9OT19MQVJHRV9GSUxFUyAxCitFT0YKKworICAgIGZp
CisKKyAgICBpZiBlY2hvICIkT1NfUkVMRUFTRSIgfCBlZ3JlcCAnXihCLjEwLjEwfEIuMTAuMjAp
JyA+L2Rldi9udWxsOyB0aGVuCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2Rl
ZmluZSBfUFJfTkVFRF9IX0VSUk5PIDEKK0VPRgorCisgICAgZmkKKworICAgIGlmIGVjaG8gIiRP
U19SRUxFQVNFIiB8IGVncmVwICdeKEIuMTAuMTB8Qi4xMC4yMCknID4vZGV2L251bGw7IHRoZW4K
KyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfSU5UX0xPQ0FM
VElNRV9SIDEKK0VPRgorCisgICAgZmkKKworICAgIGlmIGVjaG8gIiRPU19SRUxFQVNFIiB8IGVn
cmVwICdeKEIuMTAuMzB8Qi4xMSknID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNv
bmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfUE9JTlRFUl9MT0NBTFRJTUVfUiAxCitFT0YK
KworICAgIGZpCisKKyAgICAjIEhQLVVYIDExaSAoQi4xMS4xMSkgb3IgaGlnaGVyCisgICAgCisg
ICAgY2FzZSAiJE9TX1JFTEVBU0UiIGluCisgICAgW0MtWl0qfEIuWzItOV0qfEIuMVsyLTldKnxC
LjExLlsyLTldKnxCLjExLjFbMS05XSopCisgICAgICAgIFVTRV9JUFY2PTEKKyAgICAgICAgOzsK
KyAgICBlc2FjCisgICAgCisKKyAgICBpZiB0ZXN0ICIkT1NfUkVMRUFTRSIgPSAiQi4xMC4wMSI7
IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhQVVgxMCAx
CitFT0YKKworICAgICAgICBERUZBVUxUX0lNUExfU1RSQVRFR1k9X0VNVQorICAgIGZpCisKKyAg
ICBpZiB0ZXN0ICIkT1NfUkVMRUFTRSIgPSAiQi4xMC4xMCI7IHRoZW4KKyAgICAgICAgY2F0ID4+
IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhQVVgxMCAxCitFT0YKKworICAgICAgICBjYXQg
Pj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSFBVWDEwXzEwIDEKK0VPRgorCisgICAgICAg
IERFRkFVTFRfSU1QTF9TVFJBVEVHWT1fUFRICisgICAgZmkKKworICAgIGlmIHRlc3QgIiRPU19S
RUxFQVNFIiA9ICJCLjEwLjIwIjsgdGhlbgorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxF
T0YKKyNkZWZpbmUgSFBVWDEwIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8
XEVPRgorI2RlZmluZSBIUFVYMTBfMjAgMQorRU9GCisKKyAgICAgICAgaWYgdGVzdCAteiAiJEdO
VV9DQyI7IHRoZW4KKyAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyArREFwb3J0YWJsZSArRFMx
LjEiCisgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTICtEQXBvcnRhYmxlICtEUzEuMSIK
KyAgICAgICAgZmkKKyAgICAgICAgREVGQVVMVF9JTVBMX1NUUkFURUdZPV9QVEgKKyAgICBmaQor
CisgICAgaWYgdGVzdCAiJE9TX1JFTEVBU0UiID0gIkIuMTAuMzAiOyB0aGVuCisgICAgICAgIGNh
dCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBIUFVYMTAgMQorRU9GCisKKyAgICAgICAg
Y2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhQVVgxMF8zMCAxCitFT0YKKworICAg
ICAgICBpZiB0ZXN0IC16ICIkR05VX0NDIjsgdGhlbgorICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZM
QUdTICtEQXBvcnRhYmxlICtEUzEuMSIKKyAgICAgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1Mg
K0RBcG9ydGFibGUgK0RTMS4xIgorICAgICAgICBmaQorICAgICAgICBERUZBVUxUX0lNUExfU1RS
QVRFR1k9X1BUSAorICAgIGZpCisKKyAgICBpZiBlY2hvICIkT1NfUkVMRUFTRSIgfCBncmVwIF5C
LjExID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisj
ZGVmaW5lIEhQVVgxMCAxCitFT0YKKworICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YK
KyNkZWZpbmUgSFBVWDExIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVP
RgorI2RlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBj
b25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfSEFWRV9PRkY2NF9UIDEKK0VPRgorCisgICAg
ICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBIQVZFX0ZDTlRMX0ZJTEVfTE9D
S0lORyAxCitFT0YKKworICAgICAgICBpZiB0ZXN0IC16ICIkR05VX0NDIjsgdGhlbgorICAgICAg
ICAgICAgaWYgdGVzdCAteiAiJFVTRV82NCI7IHRoZW4KKyAgICAgICAgICAgICAgICBpZiB0ZXN0
ICIkT1NfVEVTVCIgPSAiaWE2NCI7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgQ0ZMQUdTPSIk
Q0ZMQUdTICtERDMyIgorICAgICAgICAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTICtE
RDMyIgorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgQ0ZMQUdTPSIk
Q0ZMQUdTICtEQXBvcnRhYmxlICtEUzIuMCIKKyAgICAgICAgICAgICAgICAgICAgQ1hYRkxBR1M9
IiRDWFhGTEFHUyArREFwb3J0YWJsZSArRFMyLjAiCisgICAgICAgICAgICAgICAgZmkKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBpZiB0ZXN0ICIkT1NfVEVTVCIgPSAiaWE2NCI7
IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICtERDY0IgorICAgICAg
ICAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTICtERDY0IgorICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTICtEQTIuMFcgK0RTMi4w
IgorICAgICAgICAgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTICtEQTIuMFcgK0RTMi4w
IgorICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICBmaQorICAgICAgICBmaQorICAgICAg
ICBERUZBVUxUX0lNUExfU1RSQVRFR1k9X1BUSAorICAgIGZpCisKKyAgICBpZiB0ZXN0ICIkREVG
QVVMVF9JTVBMX1NUUkFURUdZIiA9ICJfRU1VIjsgdGhlbgorICAgICAgICBVU0VfTlNQUl9USFJF
QURTPTEKKyAgICAgICAgVVNFX1BUSFJFQURTPQorICAgICAgICBVU0VfVVNFUl9USFJFQURTPQor
ICAgIGVsaWYgdGVzdCAiJERFRkFVTFRfSU1QTF9TVFJBVEVHWSIgPSAiX1BUSCI7IHRoZW4KKyAg
ICAgICAgVVNFX1BUSFJFQURTPTEKKyAgICAgICAgaWYgdGVzdCAiJFVTRV9OU1BSX1RIUkVBRFMi
OyB0aGVuCisgICAgICAgICAgICBVU0VfUFRIUkVBRFM9CisgICAgICAgIGZpCisgICAgICAgIGlm
IHRlc3QgIiRVU0VfVVNFUl9QVEhSRUFEUyI7IHRoZW4KKyAgICAgICAgICAgIFVTRV9QVEhSRUFE
Uz0KKyAgICAgICAgZmkKKyAgICBmaQorICAgIDs7CisKKyotaXJpeCopCisgICAgY2F0ID4+IGNv
bmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFhQX1VOSVggMQorRU9GCisKKyAgICBjYXQgPj4gY29u
ZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSVJJWCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVm
cy5oIDw8XEVPRgorI2RlZmluZSBTVlI0IDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIF9TR0lfTVBfU09VUkNFIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZk
ZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfRkNOVExfRklMRV9MT0NLSU5HIDEKK0VPRgorCisg
ICAgUFJfTURfQ1NSQ1M9aXJpeC5jCisgICAgUFJfTURfQVNGSUxFUz1vc19Jcml4LnMKKyAgICBN
S1NITElCPSckKExEKSAkKERTT19MRE9QVFMpIC1yZGF0YV9zaGFyZWQgLXNoYXJlZCAtc29uYW1l
ICQobm90ZGlyICRAKSAtbyAkQCcKKyAgICBTVFJJUD0iJFNUUklQIC1mIgorICAgIFJFU09MVkVf
TElOS19TWU1CT0xTPTEKKyAgICBpZiB0ZXN0IC1uICIkVVNFXzY0IjsgdGhlbgorICAgICAgICBN
RENQVUNGR19IPV9pcml4NjQuY2ZnCisgICAgZWxzZQorICAgICAgICBNRENQVUNGR19IPV9pcml4
MzIuY2ZnCisgICAgZmkKKyAgICBjYXNlICIke3RhcmdldF9vc30iIGluCisgICAgaXJpeDYqKQor
ICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSVJJWDYgMQorRU9GCisK
KyAgICAgICAgVVNFX1BUSFJFQURTPTEKKyAgICAgICAgVVNFX04zMj0xCisgICAgICAgIENPTVBJ
TEVSX1RBRz1fbjMyCisgICAgICAgIElNUExfU1RSQVRFR1k9X1BUSAorICAgICAgICA7OworICAg
IGlyaXg1KikKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIElSSVg1
IDEKK0VPRgorCisgICAgICAgIFVTRV9OU1BSX1RIUkVBRFM9MQorICAgICAgICA7OworICAgICop
CisgICAgICAgIFVTRV9QVEhSRUFEUz0xCisgICAgICAgIFVTRV9OMzI9MQorICAgICAgICA7Owor
ICAgIGVzYWMKKyAgICBpZiB0ZXN0ICIkR05VX0NDIjsgdGhlbgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJICAgIEFTPSckKENDKSAtV3As
LVAgLXggYXNzZW1ibGVyLXdpdGgtY3BwIC1EX0FTTSAtbWlwczIgJChJTkNMVURFUyknCisJICAg
IENGTEFHUz0iJENGTEFHUyAtV2FsbCAtV25vLWZvcm1hdCIKKwkgICAgX09QVElNSVpFX0ZMQUdT
PSItTzYiCisgICAgZWxzZQorCSAgICBpZiB0ZXN0IC1uICIkVVNFX04zMiI7IHRoZW4KKwkJQVM9
J2FzIC1EX0FTTSAkKElOQ0xVREVTKSAtbjMyJworCSAgICBlbHNlCisJCUFTPSdhcyAtRF9BU00g
JChJTkNMVURFUyknCisJICAgIGZpCisJICAgIENGTEFHUz0iJENGTEFHUyAtZnVsbHdhcm4gLXhh
bnNpIgorCSAgICBpZiB0ZXN0ICIkVVNFX04zMiI7IHRoZW4KKwkgICAgICAgIF9PUFRJTUlaRV9G
TEFHUz0iLU8gLU9QVDpPbGltaXQ9NDAwMCIKKwkgICAgZWxzZQorCSAgICAgICAgX09QVElNSVpF
X0ZMQUdTPSItTyAtT2xpbWl0IDQwMDAiCisJICAgIGZpCisJICAgIGlmIHRlc3QgIiRVU0VfTURV
UERBVEUiOyB0aGVuCisgICAgICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1NRHVwZGF0ZSBc
JChERVBFTkRFTkNJRVMpIgorCSAgICBmaQorCSAgICBjYXNlICIke3RhcmdldH0iIGluCisJICAg
ICotaXJpeDYuKikKKwkgICAgICAgIENGTEFHUz0iJENGTEFHUyAtbXVsdGlnb3QiCisJICAgICAg
ICBEU09fTERPUFRTPSItbm9fdW5yZXNvbHZlZCIKKwkgICAgICAgIGlmIHRlc3QgIiRVU0VfTjMy
IjsgdGhlbgorCQkgICAgICAgIENGTEFHUz0iJENGTEFHUyAtbjMyIC13b2ZmIDEyMDkiCisJCSAg
ICAgICAgRFNPX0xET1BUUz0iJERTT19MRE9QVFMgLW4zMiIKKwkgICAgICAgIGVsc2UKKwkJICAg
ICAgICBpZiB0ZXN0ICIkVVNFXzY0IjsgdGhlbgorCQkgICAgICAgICAgICBDRkxBR1M9IiRDRkxB
R1MgLTY0IgorCQkgICAgICAgIGVsc2UKKwkJICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC0z
MiIKKwkJICAgICAgICBmaQorCSAgICAgICAgZmkKKwkgICAgICAgIDs7CisJICAgICopCisJICAg
ICAgICBDRkxBR1M9IiRDRkxBR1MgLXhnb3QiCisJICAgICAgICA7OworCSAgICBlc2FjCisgICAg
ZmkKKyAgICBpZiB0ZXN0ICIke3RhcmdldF9vc30iID0gImlyaXg1LjMiOyB0aGVuCisJICAgIGNh
dCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBJUklYNV8zIDEKK0VPRgorCisgICAgZmkK
KyAgICBjYXNlICIke3RhcmdldF9vc30iIGluCisJaXJpeDYuNSkKKwkgICAgaWYgdGVzdCAteiAi
JEdOVV9DQyI7IHRoZW4KKwkJICAgIENGTEFHUz0iJENGTEFHUyAtbWlwczMiCisJICAgIGZpCisJ
ICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfSEFWRV9HRVRQUk9UT19S
IDEKK0VPRgorCisJICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfSEFW
RV9HRVRQUk9UT19SX1BPSU5URVIgMQorRU9GCisKKwkgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxc
RU9GCisjZGVmaW5lIF9QUl9IQVZFX1NHSV9QUkRBX1BST0NNQVNLIDEKK0VPRgorCisJICAgIDs7
CisJaXJpeDUqKQorCSAgICA7OworCSopCisJICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgor
I2RlZmluZSBfUFJfSEFWRV9TR0lfUFJEQV9QUk9DTUFTSyAxCitFT0YKKworCSAgICA7OworCWVz
YWMKKyAgICA7OworCisqLWxpbnV4KikKKyAgICBpZiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFE
UyI7IHRoZW4KKyAgICAgICAgVVNFX1BUSFJFQURTPTEKKyAgICAgICAgSU1QTF9TVFJBVEVHWT1f
UFRICisgICAgZmkKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgWFBfVU5J
WCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUE9TSVhf
U09VUkNFIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9C
U0RfU09VUkNFIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5l
IF9TVklEX1NPVVJDRSAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2Rl
ZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIEhBVkVfRkNOVExfRklMRV9MT0NLSU5HIDEKK0VPRgorCisgICAgY2F0
ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIExJTlVYIDEKK0VPRgorCisgICAgQ0ZMQUdT
PSIkQ0ZMQUdTIC1hbnNpIC1XYWxsIgorICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLWFuc2kgLVdh
bGwiCisgICAgTURDUFVDRkdfSD1fbGludXguY2ZnCisgICAgUFJfTURfQ1NSQ1M9bGludXguYwor
ICAgIE1LU0hMSUI9JyQoQ0MpICQoRFNPX0xET1BUUykgLW8gJEAnCisgICAgRFNPX0NGTEFHUz0t
ZlBJQworICAgIERTT19MRE9QVFM9Jy1zaGFyZWQgLVdsLC1zb25hbWUgLVdsLCQobm90ZGlyICRA
KScKKyAgICBfT1BUSU1JWkVfRkxBR1M9LU8yCisgICAgX0RFQlVHX0ZMQUdTPSItZyAtZm5vLWlu
bGluZSIgICMgbW9zdCBwZW9wbGUgb24gbGludXggdXNlIGdjYy9nZGIsIGFuZCB0aGF0CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgY29tYm8gaXMgbm90IHlldCBnb29kIGF0
IGRlYnVnZ2luZyBpbmxpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMg
ZnVuY3Rpb25zIChldmVuIHdoZW4gdXNpbmcgRFdBUkYyIGFzIHRoZQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjIGRlYnVnZ2luZyBmb3JtYXQpCisgICAgQ09NUElMRVJfVEFH
PV9nbGliYworICAgIGlmIGVjaG8gIiRPU19URVNUIiB8IGdyZXAgLWMgODYgPi9kZXYvbnVsbDsg
dGhlbgorICAgICAgICBDUFVfQVJDSD14ODYKKyAgICBlbHNlCisgICAgICAgIENQVV9BUkNIPSRP
U19URVNUCisgICAgZmkKKyAgICBDUFVfQVJDSF9UQUc9XyR7Q1BVX0FSQ0h9CisgICAgY2FzZSAi
JHt0YXJnZXRfY3B1fSIgaW4KKyAgICBhbHBoYSkKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIF9BTFBIQV8gMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZz
LmggPDxcRU9GCisjZGVmaW5lIF9fYWxwaGEgMQorRU9GCisKKyAgICAgICAgQ0ZMQUdTPSIkQ0ZM
QUdTIC1taWVlZSIKKyAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtbWllZWUiCisgICAgICAg
IDs7CisgICAgaSo4NikKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5l
IGkzODYgMQorRU9GCisKKyAgICAgICAgUFJfTURfQVNGSUxFUz1vc19MaW51eF94ODYucworICAg
ICAgICA7OworICAgIGlhNjQpCisgICAgICAgIFBSX01EX0FTRklMRVM9b3NfTGludXhfaWE2NC5z
CisgICAgICAgIDs7CisgICAgeDg2XzY0KQorICAgICAgICBpZiB0ZXN0IC1uICIkVVNFXzY0Ijsg
dGhlbgorICAgICAgICAgICAgUFJfTURfQVNGSUxFUz1vc19MaW51eF94ODZfNjQucworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgaTM4
NiAxCitFT0YKKworICAgICAgICAgICAgUFJfTURfQVNGSUxFUz1vc19MaW51eF94ODYucworICAg
ICAgICAgICAgQ0M9IiRDQyAtbTMyIgorICAgICAgICAgICAgQ1hYPSIkQ1hYIC1tMzIiCisgICAg
ICAgIGZpCisgICAgICAgIDs7CisgICAgcG93ZXJwYzY0KQorICAgICAgICBpZiB0ZXN0IC1uICIk
VVNFXzY0IjsgdGhlbgorICAgICAgICAgICAgQ0M9IiRDQyAtbTY0IgorICAgICAgICAgICAgQ1hY
PSIkQ1hYIC1tNjQiCisgICAgICAgIGZpCisgICAgICAgIDs7CisgICAgbTY4aykKKyAgICAgICAg
Q0ZMQUdTPSIkQ0ZMQUdTIC1tNjgwMjAtNjAiCisgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1Mg
LW02ODAyMC02MCIKKyAgICAgICAgOzsKKyAgICBlc2FjICAgIAorICAgIDs7CisKKyotbWluZ3cq
fCotY3lnd2luKnwqLW1zdmMqfCotbWtzKikKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YK
KyNkZWZpbmUgWFBfUEMgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNk
ZWZpbmUgV0lOMzIgMQorRU9GCisKKyAgICBQUl9NRF9BUkNIX0RJUj13aW5kb3dzCisgICAgUkVT
T0xWRV9MSU5LX1NZTUJPTFM9MQorCisgICAgaWYgdGVzdCAtbiAiJEdOVV9DQyI7IHRoZW4KKyAg
ICAgICAgQ0M9IiRDQyAtbW5vLWN5Z3dpbiIKKyAgICAgICAgQ1hYPSIkQ1hYIC1tbm8tY3lnd2lu
IgorICAgICAgICBETExfU1VGRklYPWRsbAorICAgICAgICBNS1NITElCPSckKENDKSAtc2hhcmVk
IC1XbCwtLWV4cG9ydC1hbGwtc3ltYm9scyAtV2wsLS1vdXQtaW1wbGliIC1XbCwkKElNUE9SVF9M
SUJSQVJZKSAkKERMTEJBU0UpIC1vICQoc3Vic3QgJChPQkpESVIpLywsJChTSEFSRURfTElCUkFS
WSkpJworICAgICAgICBSQz0kV0lORFJFUworICAgICAgICAjIFVzZSB0ZW1wIGZpbGUgZm9yIHdp
bmRyZXMgKGJ1ZyAyMTMyODEpCisgICAgICAgIFJDRkxBR1M9Jy1PIGNvZmYgLS11c2UtdGVtcC1m
aWxlJworICAgIGVsc2UKKyAgICAgICAgQ0M9Y2wKKyAgICAgICAgQ1hYPWNsCisgICAgICAgIExE
PWxpbmsKKyAgICAgICAgQVI9J2xpYiAtTk9MT0dPIC1PVVQ6IiRAIicKKyAgICAgICAgQVJfRkxB
R1M9CisgICAgICAgIFJBTkxJQj0nZWNobyBub3RfcmFubGliJworICAgICAgICBTVFJJUD0nZWNo
byBub3Rfc3RyaXAnCisgICAgICAgIFJDPXJjLmV4ZQorICAgICAgICBHQVJCQUdFPSckKE9CSkRJ
UikvdmMyMC5wZGIgJChPQkpESVIpL3ZjNDAucGRiJworICAgICAgICBPQkpfU1VGRklYPW9iagor
ICAgICAgICBMSUJfU1VGRklYPWxpYgorICAgICAgICBETExfU1VGRklYPWRsbAorCisgICAgICAg
ICMgRGV0ZXJtaW5lIGNvbXBpbGVyIHZlcnNpb24KKyAgICAgICAgQ0NfVkVSU0lPTj1gIiR7Q0N9
IiAtdiAyPiYxIHwgZ3JlcCBWZXJzaW9uIHwgc2VkIC1lICdzfC4qIFZlcnNpb24gfHwnIC1lICdz
fCAuKnx8J2AKKyAgICAgICAgX0NDX01BSk9SX1ZFUlNJT049YGVjaG8gJENDX1ZFUlNJT04gfCBh
d2sgLUZcLiAneyBwcmludCAkMSB9J2AKKyAgICAgICAgX0NDX01JTk9SX1ZFUlNJT049YGVjaG8g
JENDX1ZFUlNJT04gfCBhd2sgLUZcLiAneyBwcmludCAkMiB9J2AKKyAgICAgICAgTVNDX1ZFUj0k
e19DQ19NQUpPUl9WRVJTSU9OfSR7X0NDX01JTk9SX1ZFUlNJT059CisgICAgICAgIAorICAgICAg
ICBDRkxBR1M9IiRDRkxBR1MgLVczIC1ub2xvZ28gLUdGIC1HeSIKKyAgICAgICAgRExMRkxBR1M9
Jy1PVVQ6IiRAIicKKyAgICAgICAgX0RFQlVHX0ZMQUdTPS1aNworICAgICAgICBfT1BUSU1JWkVf
RkxBR1M9LU8yCisgICAgICAgIGlmIHRlc3QgLXogIiRNT1pfT1BUSU1JWkUiOyB0aGVuCisgICAg
ICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLU9kIgorICAgICAgICBmaQorCisgICAgICAgIGlmIHRl
c3QgLW4gIiRVU0VfREVCVUdfUlRMIjsgdGhlbgorICAgICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdT
IC1NRGQiCisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIENGTEFHUz0iJENGTEFHUyAtTUQiCisg
ICAgICAgIGZpCisKKyAgICAgICAgaWYgdGVzdCAtbiAiJE1PWl9ERUJVRyI7IHRoZW4KKyAgICAg
ICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfREVCVUcgMQorRU9GCisK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgREVGSU5FUz0iJERFRklORVMgLVVfREVCVUciCisg
ICAgICAgIGZpCisKKyAgICAgICAgaWYgdGVzdCAtbiAiJE1PWl9PUFRJTUlaRSI7IHRoZW4KKyAg
ICAgICAgICAgIGlmIHRlc3QgLW4gIiRNT1pfUFJPRklMRSI7IHRoZW4KKyAgICAgICAgICAgICAg
ICBfT1BUSU1JWkVfRkxBR1M9IiRfT1BUSU1JWkVfRkxBR1MgLVo3IgorICAgICAgICAgICAgZmkK
KyAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRNT1pfREVCVUdfU1lNQk9MUyI7IHRoZW4KKyAgICAg
ICAgICAgICAgICBfT1BUSU1JWkVfRkxBR1M9IiRfT1BUSU1JWkVfRkxBR1MgLVppIgorICAgICAg
ICAgICAgZmkKKyAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRNT1pfUFJPRklMRSIgLW8gLW4gIiRN
T1pfREVCVUdfU1lNQk9MUyI7IHRoZW4KKyAgICAgICAgICAgICAgICBETExGTEFHUz0iJERMTEZM
QUdTIC1ERUJVRyAtT1BUOlJFRiIKKyAgICAgICAgICAgICAgICBMREZMQUdTPSIkTERGTEFHUyAt
REVCVUcgLU9QVDpSRUYiCisgICAgICAgICAgICBmaQorICAgICAgICBmaQorCisgICAgICAgIGlm
IHRlc3QgLW4gIiRNT1pfREVCVUciOyB0aGVuCisgICAgICAgICAgICBETExGTEFHUz0iJERMTEZM
QUdTIC1ERUJVRyIKKyAgICAgICAgICAgIExERkxBR1M9IiRMREZMQUdTIC1ERUJVRyIKKyAgICAg
ICAgZmkKKworICAgICAgICBPU19ETExGTEFHUz0iLW5vbG9nbyAtRExMIC1TVUJTWVNURU06V0lO
RE9XUyIKKyAgICAgICAgaWYgdGVzdCAiJE1TQ19WRVIiIC1sZSAiMTIwMCIgLWEgLXogIiRNT1pf
REVCVUdfU1lNQk9MUyI7IHRoZW4KKyAgICAgICAgICAgIE9TX0RMTEZMQUdTPSIkT1NfRExMRkxB
R1MgLVBEQjpOT05FIgorICAgICAgICBmaQorICAgICAgICAKKyAgICAgICAgaWYgdGVzdCAiJE9T
X1RBUkdFVCIgPSAiV0lOTlQiOyB0aGVuCisgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLUdU
IgorICAgICAgICAgICAgaWYgdGVzdCAiJENQVV9BUkNIIiA9ICJ4ODYiOyB0aGVuCisgICAgICAg
ICAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1HNSIKKyAgICAgICAgICAgIGZpCisgICAgICAgICAg
ICBMSUJOU1BSPSckKGRpc3RfbGliZGlyKS9saWJuc3ByJChNT0RfTUFKT1JfVkVSU0lPTikuJChM
SUJfU1VGRklYKScKKyAgICAgICAgICAgIExJQlBMQz0nJChkaXN0X2xpYmRpcikvbGlicGxjJChN
T0RfTUFKT1JfVkVSU0lPTikuJChMSUJfU1VGRklYKScKKyAgICAgICAgZWxzZQorICAgICAgICAg
ICAgTElCTlNQUj0nJChkaXN0X2xpYmRpcikvbnNwciQoTU9EX01BSk9SX1ZFUlNJT04pLiQoTElC
X1NVRkZJWCknCisgICAgICAgICAgICBMSUJQTEM9JyQoZGlzdF9saWJkaXIpL3BsYyQoTU9EX01B
Sk9SX1ZFUlNJT04pLiQoTElCX1NVRkZJWCknCisgICAgICAgIGZpCisgICAgZmkgIyBHTlVfQ0MK
KworICAgIGlmIHRlc3QgLW4gIiRVU0VfU1RBVElDX1RMUyI7IHRoZW4KKyAgICAgICAgY2F0ID4+
IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9VU0VfU1RBVElDX1RMUyAxCitFT0YKKwor
ICAgIGZpCisKKyAgICBpZiB0ZXN0ICIkT1NfVEFSR0VUIiA9ICJXSU5OVCI7IHRoZW4KKyAgICAg
ICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFdJTk5UIDEKK0VPRgorCisgICAg
ZWxzZQorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgV0lOOTUgMQor
RU9GCisKKyAgICAgICAgIyB1bmRlZmluZSBXSU5OVCBhcyBzb21lIHZlcnNpb25zIG9mIG1pbmd3
IGdjYyBkZWZpbmUgaXQgYnkgZGVmYXVsdAorICAgICAgICBERUZJTkVTPSIkREVGSU5FUyAtVVdJ
Tk5UIgorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1BSX0dMT0JB
TF9USFJFQURTX09OTFkgMQorRU9GCisKKyAgICBmaQorCisgICAgaWYgdGVzdCAiJENQVV9BUkNI
IiA9ICJ4ODYiOyB0aGVuCisgICAgICAgIENQVV9BUkNIX1RBRz0KKyAgICBlbHNlCisgICAgICAg
IENQVV9BUkNIX1RBRz0kQ1BVX0FSQ0gKKyAgICBmaQorCisgICAgaWYgdGVzdCAtbiAiJFVTRV9E
RUJVR19SVEwiOyB0aGVuCisgICAgICAgIE9CSkRJUl9TVUZGSVg9T0JKRAorICAgIGZpCisKKyAg
ICBjYXNlICIkT1NfVEFSR0VUIiBpbgorICAgIFdJTk5UKQorCSAgICBNRENQVUNGR19IPV93aW5u
dC5jZmcKKwkgICAgOzsKKyAgICBXSU45NSkKKwkgICAgTURDUFVDRkdfSD1fd2luOTUuY2ZnCisJ
ICAgIDs7CisgICAgV0lOMTYpCisJICAgIE1EQ1BVQ0ZHX0g9X3dpbjE2LmNmZworCSAgICA7Owor
ICAgICopCisJICAgIHsgZWNobyAiY29uZmlndXJlOiBlcnJvcjogTWlzc2luZyBPU19UQVJHRVQg
Zm9yICR7dGFyZ2V0fS4gIFVzZSAtLWVuYWJsZS13aW4zMi10YXJnZXQgdG8gc2V0LiIgMT4mMjsg
ZXhpdCAxOyB9CisgICAJOzsKKyAgICBlc2FjCisKKyAgICBjYXNlICIkdGFyZ2V0X2NwdSIgaW4K
KyAgICBpKjg2KQorCSAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1g4Nl8g
MQorRU9GCisKKyAgICAgICAgOzsKKyAgICBhbHBoYSkKKwkgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIF9BTFBIQV8gMQorRU9GCisKKyAgIAkgICAgOzsKKyAgICBtaXBzKQor
CSAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX01JUFNfIDEKK0VPRgorCisJ
ICAgIDs7CisgICAgKikKKwkgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9D
UFVfQVJDSF9OT1RfREVGSU5FRCAxCitFT0YKKworCSAgICA7OworICAgIGVzYWMKKworICAgIDs7
CisKKyotbmNyLXN5c3YqKQorICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBY
UF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFNW
UjQgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgU1lTViAx
CitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBOQ1IgMQorRU9G
CisKKyAgICBVU0VfTlNQUl9USFJFQURTPTEKKyAgICBpZiB0ZXN0ICIkT1NfUkVMRUFTRSIgPSAi
Mi4wMyI7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9Q
Ul9TVEFUX0hBU19TVF9BVElNIDEKK0VPRgorCisgICAgZWxzZQorICAgICAgICBjYXQgPj4gY29u
ZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1BSX1NUQVRfSEFTX1NUX0FUSU1fVU5JT04gMQorRU9G
CisKKyAgICBmaQorCisgICAgaWYgdGVzdCAteiAiJEdOVV9DQyI7IHRoZW4KKyAgICAgICAgQ0ZM
QUdTPSIkQ0ZMQUdTIC1Ibm9jb3B5ciIKKyAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtSG5v
Y29weXIiCisgICAgZWxzZQorICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLWZQSUMgLVdhbGwiCisg
ICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLWZQSUMgLVdhbGwiCisgICAgICAgIERTT19MRE9Q
VFM9LUcKKyAgICBmaQorICAgIE1EQ1BVQ0ZHX0g9X25jci5jZmcKKyAgICBQUl9NRF9DU1JDUz1u
Y3IuYworICAgIDs7CisKK21pcHMtbmVjLXN5c3YqKQorICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8
XEVPRgorI2RlZmluZSBYUF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxc
RU9GCisjZGVmaW5lIFNWUjQgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YK
KyNkZWZpbmUgX19TVlI0IDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisj
ZGVmaW5lIE5FQyAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmlu
ZSBuZWNfZXdzIDEKK0VPRgorCisgICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAgaWYgdGVzdCAt
eiAiJEdOVV9DQyI7IHRoZW4KKyAgICAgICAgQ0M9JyQoTlNERVBUSCkvYnVpbGQvaGNjIGNjIC1Y
YSAtS0dudW09MCAtS09saW1pdD00MDAwJworICAgICAgICBDWFg9ZysrCisgICAgZmkKKyAgICBP
U19MSUJTPSIkT1NfTElCUyAtbHNvY2tldCAtbG5zbCAtbGRsIgorICAgIERTT19MRE9QVFM9LUcK
KyAgICBNRENQVUNGR19IPV9uZWMuY2ZnCisgICAgUFJfTURfQ1NSQ1M9bmVjLmMKKyAgICA7Owor
CisqLW5ldGJzZCopCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFhQX1VO
SVggMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgTkVUQlNE
IDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfQlNE
X0ZMT0NLIDEKK0VPRgorCisgICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAgTURDUFVDRkdfSD1f
bmV0YnNkLmNmZworICAgIFBSX01EX0NTUkNTPW5ldGJzZC5jCisKKyAgICBEU09fQ0ZMQUdTPSct
ZlBJQyAtRFBJQycKKyAgICBDRkxBR1M9IiRDRkxBR1MgLWFuc2kgLVdhbGwiCisgICAgQ1hYRkxB
R1M9IiRDWFhGTEFHUyAtYW5zaSAtV2FsbCIKKyAgICBNS1NITElCPSckKENDKSAtbyAkQCAkKERT
T19MRE9QVFMpJworCisgICAgaWYgdGVzdCAteiAiJE9CSkVDVF9GTVQiOyB0aGVuCisgICAgICAg
IGlmIGVjaG8gX19FTEZfXyB8ICR7Q0MtY2N9IC1FIC0gfCBncmVwIC1xIF9fRUxGX18gMj4vZGV2
L251bGw7IHRoZW4KKyAgICAgICAgICAgIE9CSkVDVF9GTVQ9YS5vdXQKKyAgICAgICAgICAgIERM
TF9TVUZGSVg9c28uMS4wCisgICAgICAgICAgICBEU09fTERPUFRTPSctc2hhcmVkJworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBPQkpFQ1RfRk1UPUVMRgorICAgICAgICAgICAgRExMX1NVRkZJ
WD1zbworICAgICAgICAgICAgRFNPX0xET1BUUz0nLXNoYXJlZCAtV2wsLXNvbmFtZSwkKG5vdGRp
ciAkQCknCisgICAgICAgIGZpCisgICAgZmkKKworICAgIGlmIHRlc3QgIiRMSUJSVU5QQVRIIjsg
dGhlbgorICAgICAgICBEU09fTERPUFRTPSIkRFNPX0xET1BUUyAtV2wsLVIkTElCUlVOUEFUSCIK
KyAgICBmaQorICAgIDs7CisKK21pcHMtc29ueS1uZXdzb3MqKQorICAgIGNhdCA+PiBjb25mZGVm
cy5oIDw8XEVPRgorI2RlZmluZSBYUF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZz
LmggPDxcRU9GCisjZGVmaW5lIFNPTlkgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8
PFxFT0YKKyNkZWZpbmUgU1lTViAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVP
RgorI2RlZmluZSBTVlI0IDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisj
ZGVmaW5lIF9fc3ZyNCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2Rl
ZmluZSBfX3N2cjRfXyAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2Rl
ZmluZSBIQVZFX1NWSURfR0VUVE9EIDEKK0VPRgorCisgICAgVVNFX05TUFJfVEhSRUFEUz0xCisg
ICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1YYSAtZnVsbHdhcm4iCisgICAgQ1hYRkxBR1M9IiRDWFhGTEFH
UyAtWGEgLWZ1bGx3YXJuIgorICAgIERTT19MRE9QVFM9LUcKKyAgICBNRENQVUNGR19IPV9zb255
LmNmZworICAgIFBSX01EX0NTUkNTPXNvbnkuYworICAgIDs7CisKKyotbmV4dHN0ZXAqfCotb3Bl
bnN0ZXAqKQorICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBYUF9VTklYIDEK
K0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIE5FWFRTVEVQIDEK
K0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfQlNEX0ZM
T0NLIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QT1NJ
WF9TT1VSQ0UgMQorRU9GCisKKyAgICBDRkxBR1M9IiRDRkxBR1MgLVdhbGwgLWZuby1jb21tb24g
LXRyYWRpdGlvbmFsLWNwcCAtcG9zaXgiCisgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtV2FsbCAt
Zm5vLWNvbW1vbiAtdHJhZGl0aW9uYWwtY3BwIC1wb3NpeCIKKyAgICBVU0VfTlNQUl9USFJFQURT
PTEKKyAgICBETExfU1VGRklYPWR5bGliCisgICAgTURDUFVDRkdfSD1fbmV4dHN0ZXAuY2ZnCisg
ICAgUFJfTURfQ1NSQ1M9bmV4dHN0ZXAuYworICAgIDs7CisKKworKi1udG8qKQorICAgIGNhdCA+
PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBYUF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+
IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIE5UTyAxCitFT0YKKworICAgIGNhdCA+PiBjb25m
ZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUU5YX1NPVVJDRSAxCitFT0YKKworICAgIGNhdCA+PiBj
b25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBIQVZFX1BPSU5URVJfTE9DQUxUSU1FX1IgMQorRU9G
CisKKyAgICBNRENQVUNGR19IPV9udG8uY2ZnCisgICAgUFJfTURfQ1NSQ1M9bnRvLmMKKyAgICBN
S1NITElCPSckKENDKSAkKERTT19MRE9QVFMpIC1XbCwtc29uYW1lIC1XbCwkKG5vdGRpciAkQCkg
LW8gJEAnCisgICAgRFNPX0NGTEFHUz0tZlBJQworICAgIERTT19MRE9QVFM9LXNoYXJlZAorICAg
IE9TX0xJQlM9IiRPU19MSUJTIC1sc29ja2V0IgorICAgIF9PUFRJTUlaRV9GTEFHUz0iLU8xIgor
ICAgIF9ERUJVR19GTEFHUz0iLWdzdGFicyIKKwk7OworCisqLW9wZW5ic2QqKQorICAgIGNhdCA+
PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBYUF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+
IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIE9QRU5CU0QgMQorRU9GCisKKyAgICBjYXQgPj4g
Y29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSEFWRV9CU0RfRkxPQ0sgMQorRU9GCisKKyAgICBj
YXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSEFWRV9TT0NLTEVOX1QgMQorRU9GCisK
KyAgICBDRkxBR1M9IiRDRkxBR1MgLWFuc2kgLVdhbGwiCisgICAgQ1hYRkxBR1M9IiRDWFhGTEFH
UyAtYW5zaSAtV2FsbCIKKyAgICBETExfU1VGRklYPXNvLjEuMAorICAgIERTT19DRkxBR1M9LWZQ
SUMKKyAgICBNRENQVUNGR19IPV9vcGVuYnNkLmNmZworICAgIFBSX01EX0NTUkNTPW9wZW5ic2Qu
YworICAgIGlmIHRlc3QgLXogIiRVU0VfTlNQUl9USFJFQURTIjsgdGhlbgorICAgICAgICBVU0Vf
UFRIUkVBRFM9MQorICAgIGZpCisgICAgRFNPX0xET1BUUz0nLXNoYXJlZCAtZlBJQycKKyAgICBN
S1NITElCPSckKENDKSAkKERTT19MRE9QVFMpIC1vICRAJworICAgIDs7CisKKyotb3BlbnZtcyop
CisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFhQX1VOSVggMQorRU9GCisK
KyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgVk1TIDEKK0VPRgorCisgICAg
Y2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFBSX0dFVElQTk9ERV9OT1RfVEhSRUFE
U0FGRSAxCitFT0YKKworICAgIFJFU09MVkVfTElOS19TWU1CT0xTPTEKKyAgICBBUl9GTEFHUz0n
YyAkQCcKKyAgICBNRENQVUNGR19IPV9vcGVudm1zLmNmZworICAgIFBSX01EX0NTUkNTPW9wZW52
bXMuYworICAgIERTT19MRE9QVFM9Jy1zaGFyZWQgLWF1dG9fc3ltdmVjICQoTERGTEFHUyknCisg
ICAgaWYgdGVzdCAtbiAiJE1PWl9ERUJVRyI7IHRoZW4KKyAgICAgIERTT19MRE9QVFM9IiREU09f
TERPUFRTICRfREVCVUdfRkxBR1MiCisgICAgZWxzZQorICAgICAgRFNPX0xET1BUUz0iJERTT19M
RE9QVFMgJF9PUFRJTUlaRV9GTEFHUyIKKyAgICBmaQorICAgIDs7CisKKyotb3NmKikKKyAgICBT
SEVMTF9PVkVSUklERT0iU0hFTEwJCT0gL3Vzci9iaW4va3NoIgorICAgIGNhdCA+PiBjb25mZGVm
cy5oIDw8XEVPRgorI2RlZmluZSBYUF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZz
LmggPDxcRU9GCisjZGVmaW5lIE9TRjEgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8
PFxFT0YKKyNkZWZpbmUgX1JFRU5UUkFOVCAxCitFT0YKKworICAgICMgT1NGMSBhbmQgSFBVWCBy
ZXBvcnQgdGhlIFBPTExIVVAgZXZlbnQgZm9yIGEgc29ja2V0IHdoZW4gdGhlCisgICAgIyBzaHV0
ZG93bihTSFVUX1dSKSBvcGVyYXRpb24gaXMgY2FsbGVkIGZvciB0aGUgcmVtb3RlIGVuZCwgZXZl
biB0aG91Z2gKKyAgICAjIHRoZSBzb2NrZXQgaXMgc3RpbGwgd3JpdGVhYmxlLiBVc2Ugc2VsZWN0
KCksIGluc3RlYWQgb2YgcG9sbCgpLCB0bworICAgICMgd29ya2Fyb3VuZCB0aGlzIHByb2JsZW0u
CisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9QT0xMX1dJVEhfU0VM
RUNUIDEKK0VPRgorCisKKyAgICBpZiBlY2hvICIkT1NfUkVMRUFTRSIgfCBlZ3JlcCAtYyAnKFYy
LjB8VjMuMiknIDI+L2Rldi9udWxsIDsgdGhlbgorICAgICAgICBVU0VfTlNQUl9USFJFQURTPTEK
KyAgICBmaQorCisgICAgaWYgdGVzdCAteiAiJEdOVV9DQyI7IHRoZW4KKyAgICAgICAgQ0M9IiRD
QyAtc3RkMSAtaWVlZV93aXRoX2luZXhhY3QiCisgICAgICAgIGlmIHRlc3QgIiRPU19SRUxFQVNF
IiAhPSAiVjIuMCI7IHRoZW4KKyAgICAgICAgICAgIENDPSIkQ0MgLXJlYWRvbmx5X3N0cmluZ3Mi
CisgICAgICAgIGZpCisgICAgICAgIF9PUFRJTUlaRV9GTEFHUz0iJF9PUFRJTUlaRV9GTEFHUyAt
T2xpbWl0IDQwMDAiCisgICAgICAgIGFjX3NhZmU9YGVjaG8gIm1hY2hpbmUvYnVpbHRpbnMuaCIg
fCBzZWQgJ3klLi8rLSVfX3BfJSdgCitlY2hvICRhY19uICJjaGVja2luZyBmb3IgbWFjaGluZS9i
dWlsdGlucy5oIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZTo0MzQwOiBjaGVja2lu
ZyBmb3IgbWFjaGluZS9idWlsdGlucy5oIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcn
eydhY19jdl9oZWFkZXJfJGFjX3NhZmUnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRh
Y19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0
IDw8RU9GCisjbGluZSA0MzQ1ICJjb25maWd1cmUiCisjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyNp
bmNsdWRlIDxtYWNoaW5lL2J1aWx0aW5zLmg+CitFT0YKK2FjX3RyeT0iJGFjX2NwcCBjb25mdGVz
dC4kYWNfZXh0ID4vZGV2L251bGwgMj5jb25mdGVzdC5vdXQiCit7IChldmFsIGVjaG8gY29uZmln
dXJlOjQzNTA6IFwiJGFjX3RyeVwiKSAxPiY1OyAoZXZhbCAkYWNfdHJ5KSAyPiY1OyB9CithY19l
cnI9YGdyZXAgLXYgJ14gKisnIGNvbmZ0ZXN0Lm91dCB8IGdyZXAgLXYgIl5jb25mdGVzdC4ke2Fj
X2V4dH1cJCJgCitpZiB0ZXN0IC16ICIkYWNfZXJyIjsgdGhlbgorICBybSAtcmYgY29uZnRlc3Qq
CisgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT15ZXMiCitlbHNlCisgIGVjaG8gIiRhY19l
cnIiID4mNQorICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorICBj
YXQgY29uZnRlc3QuJGFjX2V4dCA+JjUKKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICBldmFsICJhY19j
dl9oZWFkZXJfJGFjX3NhZmU9bm8iCitmaQorcm0gLWYgY29uZnRlc3QqCitmaQoraWYgZXZhbCAi
dGVzdCBcImBlY2hvICckYWNfY3ZfaGVhZGVyXyckYWNfc2FmZWBcIiA9IHllcyI7IHRoZW4KKyAg
ZWNobyAiJGFjX3QiInllcyIgMT4mNgorICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZp
bmUgT1NGMV9IQVZFX01BQ0hJTkVfQlVJTFRJTlNfSCAxCitFT0YKKworZWxzZQorICBlY2hvICIk
YWNfdCIibm8iIDE+JjYKK2ZpCisKKyAgICBlbHNlCisgICAgICAgIENGTEFHUz0iJENGTEFHUyAt
bWllZWUiCisgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLW1pZWVlIgorICAgIGZpCisKKyAg
ICBpZiBlY2hvICRPU19SRUxFQVNFIHwgZWdyZXAgLWMgJyhWMi4wfFYzLjIpJyAyPi9kZXYvbnVs
bDsgdGhlbgorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSEFWRV9J
TlRfTE9DQUxUSU1FX1IgMQorRU9GCisKKyAgICBlbHNlCisgICAgICAgIGNhdCA+PiBjb25mZGVm
cy5oIDw8XEVPRgorI2RlZmluZSBIQVZFX0ZDTlRMX0ZJTEVfTE9DS0lORyAxCitFT0YKKworICAg
ICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgSEFWRV9QT0lOVEVSX0xPQ0FM
VElNRV9SIDEKK0VPRgorCisgICAgZmkKKyAgICBpZiBlY2hvICRPU19SRUxFQVNFIHwgZ3JlcCAt
YyBWNC4wID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9G
CisjZGVmaW5lIE9TRjFWNF9NQVBfUFJJVkFURV9CVUcgMQorRU9GCisKKyAgICBmaQorICAgIERT
T19MRE9QVFM9Jy1zaGFyZWQgLWFsbCAtZXhwZWN0X3VucmVzb2x2ZWQgIioiIC1zb25hbWUgJChu
b3RkaXIgJEApJworICAgIE1EQ1BVQ0ZHX0g9X29zZjEuY2ZnCisgICAgUFJfTURfQ1NSQ1M9b3Nm
MS5jCisgICAgOzsKKworKi1xbngqKQorICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2Rl
ZmluZSBYUF9VTklYIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVm
aW5lIFFOWCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBf
UFJfTkVFRF9IX0VSUk5PIDEKK0VPRgorCisgICAgVVNFX05TUFJfVEhSRUFEUz0xCisgICAgTURD
UFVDRkdfSD1fcW54LmNmZworICAgIFBSX01EX0NTUkNTPXFueC5jCisgICAgOzsKKworKi1yaXNj
b3MqKQorICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBYUF9VTklYIDEKK0VP
RgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFJJU0NPUyAxCitFT0YK
KworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfTkVFRF9IX0VSUk5P
IDEKK0VPRgorCisgICAgVVNFX1BUSFJFQURTPTEKKyAgICBNRENQVUNGR19IPV9yaXNjb3MuY2Zn
CisgICAgUFJfTURfQ1NSQ1M9cmlzY29zLmMKKyAgICBETExfU1VGRklYPWEKKyAgICBMRD0iL2hv
bWUvcmlzY29zL2Vudi9yby1hciBjciIKKyAgICA7OworCisqLSotc2NvKikKKyAgICBjYXQgPj4g
Y29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgWFBfVU5JWCAxCitFT0YKKworICAgIGNhdCA+PiBj
b25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBTQ08gMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRl
ZnMuaCA8PFxFT0YKKyNkZWZpbmUgc2NvIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIFNZU1YgMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxF
T0YKKyNkZWZpbmUgX1NWSUQzIDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9G
CisjZGVmaW5lIF9QUl9ORUVEX0hfRVJSTk8gMQorRU9GCisKKyAgICBDQz0nY2MgLWIgZWxmIC1L
UElDJworICAgIENYWD0nJChOU0RFUFRIKS9idWlsZC9oY3BwIENDICsuY3BwICt3JworICAgIFVT
RV9OU1BSX1RIUkVBRFM9MQorICAgIENQVV9BUkNIPXg4NgorICAgIERTT19MRE9QVFM9Jy1iIGVs
ZiAtRycKKyAgICBNRENQVUNGR19IPV9zY29vcy5jZmcKKyAgICBQUl9NRF9TUkNTPXNjb29zLmMK
KyAgICA7OworCisqLXNpbml4KikKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZp
bmUgWFBfVU5JWCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmlu
ZSBTVlI0IDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFNO
SSAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBSRUxJQU5U
VU5JWCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBzaW5p
eCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBIQVZFX1NW
SURfR0VUVE9EIDEKK0VPRgorCisgICAgaWYgZWNobyAiJE9TX1RFU1QiIHwgZ3JlcCAtYyA4NiAy
Pi9kZXYvbnVsbDsgdGhlbgorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZp
bmUgaTM4NiAxCitFT0YKKworICAgICAgICBDUFVfQVJDSD14ODYKKyAgICBlbHNlCisgICAgICAg
IENQVV9BUkNIPW1pcHMKKyAgICBmaQorCisgICAgaWYgdGVzdCAiJEdOVV9DQyI7IHRoZW4KKyAg
ICAgICAgQVM9JyQoQ0MpIC14IGFzc2VtYmxlci13aXRoLWNwcCcKKyAgICAgICAgaWYgdGVzdCAi
JENQVV9BUkNIIiA9ICJtaXBzIjsgdGhlbgorICAgICAgICAgICAgTEQ9Z2xkCisgICAgICAgIGZp
CisgICAgICAgIENGTEFHUz0iJENGTEFHUyAtV2FsbCAtV25vLWZvcm1hdCIKKyAgICBlbHNlCisg
ICAgICAgIEFTPScvdXNyL2Jpbi9jYycKKyAgICAgICAgX09QVElNSVpFX0ZMQUdTPSctTyAtRiBP
bGltaXQsNDAwMCcKKyAgICBmaQorCisgICAgRFNPX0xET1BUUz0nLUcgLXogZGVmcyAtaCAkKEA6
JChPQkpESVIpLyUuc289JS5zbyknCisKKyAgICBpZiB0ZXN0ICIkT1NfUkVMRUFTRSIgPSAiNS40
MyI7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIElQX01V
TFRJQ0FTVCAxCitFT0YKKworICAgIGZpCisKKyAgICBPU19MSUJTPSIkT1NfTElCUyAtbHNvY2tl
dCAtbG5zbCAtbHJlc29sdiAtbGRsIC1sYyIKKyAgICBVU0VfTlNQUl9USFJFQURTPTEKKyAgICBN
RENQVUNGR19IPV9yZWxpYW50dW5peC5jZmcKKyAgICBQUl9NRF9DU1JDUz1yZWxpYW50dW5peC5j
CisgICAgaWYgdGVzdCAiJHtPU19BUkNIfSIgPSAibWlwcyI7IHRoZW4KKyAgICAgICAgUFJfTURf
QVNGSUxFUz1vc19SZWxpYW50VU5JWC5zCisgICAgZmkKKyAgICA7OworCisqLXN1bm9zKikKKyAg
ICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgWFBfVU5JWCAxCitFT0YKKworICAg
IGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBTVU5PUzQgMQorRU9GCisKKyAgICBD
RkxBR1M9IiRDRkxBR1MgLVdhbGwgLVduby1mb3JtYXQiCisgICAgaWYgdGVzdCAiJFVTRV9NRFVQ
REFURSI7IHRoZW4KKyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1NRHVwZGF0ZSBcJChERVBFTkRF
TkNJRVMpIgorICAgIGZpCisgICAgQ1BVX0FSQ0g9c3BhcmMKKyAgICBETExfU1VGRklYPXNvLjEu
MAorICAgIERTT19MRE9QVFM9CisgICAgRFNPX0NGTEFHUz0tZlBJQworICAgIFVTRV9OU1BSX1RI
UkVBRFM9MQorICAgIGlmIHRlc3QgIiRPU19SRUxFQVNFIiA9ICI0LjEuM19VMSI7IHRoZW4KKyAg
ICAgICAgX09QVElNSVpFX0ZMQUdTPQorICAgICAgICBPU19MSUJTPSIkT1NfTElCUyAtbG0iCisg
ICAgZmkKKyAgICBNRENQVUNGR19IPV9zdW5vczQuY2ZnCisgICAgUFJfTURfQ1NSQ1M9c3Vub3M0
LmMKKyAgICA7OworCisqLXNvbGFyaXMqKQorICAgIGlmIHRlc3QgLXogIiRVU0VfVVNFUl9USFJF
QURTIiAmJiB0ZXN0IC16ICIkVVNFX05BVElWRV9USFJFQURTIjsgdGhlbgorICAgICAgICBVU0Vf
UFRIUkVBRFM9MQorICAgIGZpCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5l
IFhQX1VOSVggMQorRU9GCisKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUg
U1ZSNCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBTWVNW
IDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9fc3ZyNCAx
CitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfX3N2cjRfXyAx
CitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBTT0xBUklTIDEK
K0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfRkNOVExf
RklMRV9MT0NLSU5HIDEKK0VPRgorCisgICAgTURDUFVDRkdfSD1fc29sYXJpcy5jZmcKKyAgICBQ
Ul9NRF9DU1JDUz1zb2xhcmlzLmMKKyAgICBMRD0vdXNyL2Njcy9iaW4vbGQKKyAgICBNS1NITElC
PSckKENDKSAkKERTT19MRE9QVFMpIC1vICRAJworICAgIFJFU09MVkVfTElOS19TWU1CT0xTPTEK
KyAgICBpZiB0ZXN0IC1uICIkR05VX0NDIjsgdGhlbgorICAgICAgICBEU09fQ0ZMQUdTPS1mUElD
CisgICAgICAgIGlmIGAkQ0MgLXByaW50LXByb2ctbmFtZT1sZGAgLXYgMj4mMSB8IGdyZXAgLWMg
R05VID4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIEdDQ19VU0VfR05VX0xEPTEKKyAgICAg
ICAgZmkKKyAgICAgICAgRFNPX0xET1BUUz0nLXNoYXJlZCAtV2wsLWgsJChub3RkaXIgJEApLC16
LGNvbWJyZWxvYywteixkZWZzJyAKKyAgICBlbHNlCisgICAgICAgIERTT19DRkxBR1M9LUtQSUMK
KyAgICAgICAgRFNPX0xET1BUUz0nLUcgLWggJChub3RkaXIgJEApIC16IGNvbWJyZWxvYyAteiBk
ZWZzJworICAgIGZpCisgICAgaWYgdGVzdCAtbiAiJEdOVV9DQyI7IHRoZW4KKyAgICAgICAgQ0ZM
QUdTPSIkQ0ZMQUdTIC1XYWxsIgorICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XYWxsIgor
ICAgICAgICBpZiB0ZXN0IC1uICIkVVNFX01EVVBEQVRFIjsgdGhlbgorICAgICAgICAgICAgQ0ZM
QUdTPSIkQ0ZMQUdTIC1NRHVwZGF0ZSBcJChERVBFTkRFTkNJRVMpIgorICAgICAgICAgICAgQ1hY
RkxBR1M9IiRDWFhGTEFHUyAtTUR1cGRhdGUgXCQoREVQRU5ERU5DSUVTKSIKKyAgICAgICAgZmkK
KyAgICAgICAgR0NDX0FTPWAkQ0MgLXByaW50LXByb2ctbmFtZT1hc2AKKyAgICAgICAgaWYgdGVz
dCAiYGVjaG8gfCAkR0NDX0FTIC12IDI+JjEgfCBncmVwIC1jIEdOVWAiICE9ICIwIjsgdGhlbgor
ICAgICAgICAgICAgR05VX0FTPTEKKyAgICAgICAgZmkKKyAgICBlbHNlCisgICAgICAgIENGTEFH
Uz0iJENGTEFHUyAteHN0cmNvbnN0IgorICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1Rb3B0
aW9uIGNnIC14c3RyY29uc3QgLWZlYXR1cmVzPXRtcGxpZmUiCisgICAgICAgIGlmIHRlc3QgLXog
IiRNT1pfT1BUSU1JWkUiOyB0aGVuCisgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLXhzIgor
ICAgICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAteHMiCisgICAgICAgIGZpCisgICAgICAg
IF9PUFRJTUlaRV9GTEFHUz0teE80CisgICAgZmkKKyAgICBpZiB0ZXN0IC16ICIkR05VX0FTIjsg
dGhlbgorICAgICAgICBBU0ZMQUdTPSIkQVNGTEFHUyAtV2EsLVAiCisgICAgZmkKKyAgICBpZiB0
ZXN0IC1uICIkVVNFXzY0IjsgdGhlbgorICAgICAgICBpZiB0ZXN0IC1uICIkR05VX0NDIjsgdGhl
bgorICAgICAgICAgICAgQ0M9IiRDQyAtbTY0IgorICAgICAgICAgICAgQ1hYPSIkQ1hYIC1tNjQi
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIHRlc3QgIiRPU19URVNUIiA9ICJpODZwYyI7
IHRoZW4KKyAgICAgICAgICAgICAgICBDQz0iJENDIC14YXJjaD1hbWQ2NCIKKyAgICAgICAgICAg
ICAgICBDWFg9IiRDWFggLXhhcmNoPWFtZDY0IgorICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIENDPSIkQ0MgLXhhcmNoPXY5IgorICAgICAgICAgICAgICAgIENYWD0iJENYWCAteGFy
Y2g9djkiCisgICAgICAgICAgICBmaQorICAgICAgICBmaQorICAgIGZpCisgICAgaWYgdGVzdCAi
JE9TX1RFU1QiID0gImk4NnBjIjsgdGhlbgorICAgICAgICBpZiB0ZXN0IC16ICIkVVNFXzY0Ijsg
dGhlbgorICAgICAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIGkzODYg
MQorRU9GCisKKyAgICAgICAgZmkKKyAgICAgICAgQ1BVX0FSQ0hfVEFHPV8kT1NfVEVTVAorICAg
ICAgICAjIFRoZSBkZWZhdWx0IGRlYnVnIGZvcm1hdCwgRFdBUkYgKC1nKSwgaXMgbm90IHN1cHBv
cnRlZCBieSBnY2MKKyAgICAgICAgIyBvbiBpMzg2LUFOWS1zeXN2NC9zb2xhcmlzLCBidXQgdGhl
IHN0YWJzIGZvcm1hdCBpcy4gIEl0IGlzCisgICAgICAgICMgYXNzdW1lZCB0aGF0IHRoZSBTb2xh
cmlzIGFzc2VtYmxlciAvdXNyL2Njcy9iaW4vYXMgaXMgdXNlZC4KKyAgICAgICAgIyBJZiB5b3Vy
IGdjYyB1c2VzIEdOVSBhcywgeW91IGRvIG5vdCBuZWVkIHRoZSAtV2EsLXMgb3B0aW9uLgorICAg
ICAgICBpZiB0ZXN0IC1uICIkTU9aX0RFQlVHIiAmJiB0ZXN0IC1uICIkR05VX0NDIjsgdGhlbgor
ICAgICAgICAgICAgX0RFQlVHX0ZMQUdTPS1nc3RhYnMKKyAgICAgICAgICAgIGlmIHRlc3QgLXog
IiRHTlVfQVMiOyB0aGVuCisgICAgICAgICAgICAgICAgX0RFQlVHX0ZMQUdTPSIkX0RFQlVHX0ZM
QUdTIC1XYSwtcyIKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisgICAgZmkKKyAgICBjYXNl
ICIke3RhcmdldF9vc30iIGluCisgICAgc29sYXJpczIuMyopCisgICAgICAgIGNhdCA+PiBjb25m
ZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfTk9fTEFSR0VfRklMRVMgMQorRU9GCisKKyAgICAg
ICAgOzsKKyAgICBzb2xhcmlzMi40KikKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9G
CisjZGVmaW5lIF9QUl9OT19MQVJHRV9GSUxFUyAxCitFT0YKKworICAgICAgICA7OworICAgIHNv
bGFyaXMyLjUqKQorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgU09M
QVJJUzJfNSAxCitFT0YKKyAgICAKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICBjYXQgPj4g
Y29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1BSX0hBVkVfT0ZGNjRfVCAxCitFT0YKKworICAg
ICAgICAjIFRoZSBsZmNvbXBpbGU2NCg1KSBtYW4gcGFnZSBvbiBTb2xhcmlzIDIuNiBzYXlzOgor
ICAgICAgICAjICAgICBGb3IgYXBwbGljYXRpb25zIHRoYXQgZG8gbm90IHdpc2ggdG8gY29uZm9y
bSB0byB0aGUgUE9TSVggb3IKKyAgICAgICAgIyAgICAgWC9PcGVuICBzcGVjaWZpY2F0aW9ucywg
IHRoZSAgNjQtYml0IHRyYW5zaXRpb25hbCBpbnRlcmZhY2VzCisgICAgICAgICMgICAgIGFyZSBh
dmFpbGFibGUgYnkgZGVmYXVsdC4gIE5vIGNvbXBpbGUtdGltZSBmbGFncyBuZWVkIHRvICBiZQor
ICAgICAgICAjICAgICBzZXQuCisgICAgICAgICMgQnV0IGdjYyAyLjcuMi54IGZhaWxzIHRvIGRl
ZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFIGJ5IGRlZmF1bHQuCisgICAgICAgICMgVGhlIG5hdGl2
ZSBjb21waWxlciwgZ2NjIDIuOC54LCBhbmQgZWdjcyBkb24ndCBoYXZlIHRoaXMgcHJvYmxlbS4K
KyAgICAgICAgaWYgdGVzdCAtbiAiJEdOVV9DQyI7IHRoZW4KKyAgICAgICAgICAgIGNhdCA+PiBj
b25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFIDEKK0VPRgorCisg
ICAgICAgIGZpCisgICAgICAgIDs7CisgICAgZXNhYworICAgIGNhc2UgIiR7dGFyZ2V0X29zfSIg
aW4KKyAgICBzb2xhcmlzMi4zKikKKyAgICAgICAgOzsKKyAgICBzb2xhcmlzMi40KikKKyAgICAg
ICAgOzsKKyAgICBzb2xhcmlzMi41KikKKyAgICAgICAgOzsKKyAgICBzb2xhcmlzMi42KikKKyAg
ICAgICAgOzsKKyAgICBzb2xhcmlzMi43KikKKyAgICAgICAgOzsKKyAgICAqKQorICAgICAgICAj
IFNvbGFyaXMgOCBvciBoaWdoZXIgaGFzIElQdjYuCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5o
IDw8XEVPRgorI2RlZmluZSBfUFJfSU5FVDYgMQorRU9GCisKKyAgICAgICAgOzsKKyAgICBlc2Fj
CisgICAgaWYgdGVzdCAiJE9TX1RFU1QiID0gInN1bjR1IjsgdGhlbgorICAgICAgICAjIDY0LWJp
dCBTb2xhcmlzIHJlcXVpcmVzIFNQQVJDIFY5IGFyY2hpdGVjdHVyZSwgc28gdGhlIGZvbGxvd2lu
ZworICAgICAgICAjIGlzIG5vdCBuZWVkZWQuCisgICAgICAgIGlmIHRlc3QgLXogIiRVU0VfNjQi
OyB0aGVuCisgICAgICAgICAgICBVTFRSQVNQQVJDX0xJQlJBUlk9bnNwcl9mbHQKKyAgICAgICAg
ZmkKKyAgICBmaQorICAgICMgUHVyaWZ5IHJlcXVpcmVzIHRoYXQgYmluYXJpZXMgbGlua2VkIGFn
YWluc3QgbnNwciBhbHNvCisgICAgIyBiZSBsaW5rZWQgYWdhaW5zdCAtbHJ0IChvciAtbHBvc2l4
NCkgc28gYWRkIGl0IHRvIE9TX0xJQlMKKyAgICBfcmV2PWB1bmFtZSAtcmAKKyAgICBfbGlicnQ9
YGVjaG8gJF9yZXYgNS42IHwgYXdrICd7IGlmICgkMSA+ICQyKSBwcmludCAiLWxydCI7IGVsc2Ug
cHJpbnQgIi1scG9zaXg0IiB9J2AKKyAgICBPU19MSUJTPSIkT1NfTElCUyAkX2xpYnJ0IgorICAg
IDs7CisKKyotc2NvLXN5c3Y1KikKKyAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZp
bmUgWFBfVU5JWCAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmlu
ZSBVTklYV0FSRSAxCitFT0YKKworICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmlu
ZSBTVlI0IDEKK0VPRgorCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFNZ
U1YgMQorRU9GCisKKyAgICBVU0VfTlNQUl9USFJFQURTPTEKKyAgICBpZiBlY2hvICRPU19SRUxF
QVNFIHwgZ3JlcCAtYyAyLjEgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZk
ZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9OT19MQVJHRV9GSUxFUyAxCitFT0YKKworICAgICAg
ICBDQz0nJChOU0RFUFRIKS9idWlsZC9oY2MgY2MnCisgICAgICAgIENYWD0nJChOU0RFUFRIKS9i
dWlsZC9oY3BwIENDJworICAgICAgICBNRENQVUNGR19IPV91bml4d2FyZS5jZmcKKyAgICBlbHNl
CisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfTEFSR0VGSUxFNjRf
U09VUkNFIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmlu
ZSBfUFJfSEFWRV9PRkY2NF9UIDEKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8
XEVPRgorI2RlZmluZSBfUFJfSEFWRV9TT0NLQUREUl9MRU4gMQorRU9GCisKKyAgICAgICAgTURD
UFVDRkdfSD1fdW5peHdhcmU3LmNmZworICAgIGZpCisgICAgUFJfTURfQ1NSQ1M9dW5peHdhcmUu
YworICAgIERTT19MRE9QVFM9LUcKKyAgICBDUFVfQVJDSD14ODYKKyAgICA7OworCisqLW9zMiop
CisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFhQX09TMiAxCitFT0YKKwor
ICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBYUF9QQyAxCitFT0YKKworICAg
IGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBCU0RfU0VMRUNUIDEKK0VPRgorCisg
ICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFRDUFY0MEhEUlMgMQorRU9GCisK
KyAgICBMSUJfU1VGRklYPWxpYgorICAgIERMTF9TVUZGSVg9ZGxsCisgICAgUkM9cmMuZXhlCisg
ICAgUFJfTURfQVJDSF9ESVI9b3MyCisgICAgUFJPR19TVUZGSVg9LmV4ZQorICAgIE5TSU5TVEFM
TD1uc2luc3RhbGwKKyAgICBNRENQVUNGR19IPV9vczIuY2ZnCisgICAgUkVTT0xWRV9MSU5LX1NZ
TUJPTFM9MQorCisgICAgIyBFTVgvR0NDIGJ1aWxkCisgICAgaWYgdGVzdCAtbiAiJEdOVV9DQyI7
IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIFhQX09TMl9F
TVggMQorRU9GCisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIE9T
MiAxCitFT0YKKworICAgICAgICBBUj1lbXhvbWZhcgorICAgICAgICBBUl9GTEFHUz0nciAkQCcK
KyAgICAgICAgQ0ZMQUdTPSIkQ0ZMQUdTIC1XYWxsIC1ab21mIgorICAgICAgICBDWFhGTEFHUz0i
JENGTEFHUyAtV2FsbCAtWm9tZiIKKyAgICAgICAgTUtTSExJQj0nJChDQykgJChEU09fTERPUFRT
KSAtbyAkQCcKKyAgICAgICAgRFNPX0NGTEFHUz0KKyAgICAgICAgRFNPX0xET1BUUz0nLVpvbWYg
LVpkbGwgLVptYXAnCisgICAgICAgIExERkxBR1M9Jy1abWFwJworICAgICAgICBfT1BUSU1JWkVf
RkxBR1M9Ii1PMiAtcyIKKyAgICAgICAgX0RFQlVHX0ZMQUdTPSItZyAtZm5vLWlubGluZSIKKyAg
ICAgICAgaWYgdGVzdCAtbiAiJE1PWl9PUFRJTUlaRSI7IHRoZW4KKyAgICAgICAgICBEU09fTERP
UFRTPSIkRFNPX0xET1BUUyAtWmxpbmtlciAvRVhFUEFDSzoyIC1abGlua2VyIC9QQUNLQ09ERSAt
WmxpbmtlciAvUEFDS0RBVEEiCisgICAgICAgIGZpCisgICAgICAgIE9TX0xJQlM9Ii1sc29ja2V0
IgorICAgICAgICBJTVBMSUI9J2VteGltcCAtbycKKyAgICAgICAgRklMVEVSPSdlbXhleHAgLW8n
CisKKyAgICAgICAgIyBHQ0MgZm9yIE9TLzIgY3VycmVudGx5IHByZWRlZmluZXMgdGhlc2UsIGJ1
dCB3ZSBkb24ndCB3YW50IHRoZW0KKyAgICAgICAgREVGSU5FUz0iJERFRklORVMgLVV1bml4IC1V
X191bml4IC1VX191bml4X18iCisKKyAgICAjIFZpc3VhbCBBZ2UgQysrIGJ1aWxkCisgICAgZWxp
ZiB0ZXN0ICIkVkFDUFAiID0gInllcyI7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmgg
PDxcRU9GCisjZGVmaW5lIFhQX09TMl9WQUNQUCAxCitFT0YKKworICAgICAgICBjYXQgPj4gY29u
ZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgT1MyIDQKK0VPRgorCisgICAgICAgIGNhdCA+PiBjb25m
ZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfWDg2XyAxCitFT0YKKworICAgICAgICBPQkpfU1VGRklY
PW9iagorICAgICAgICBBUz1hbHAKKyAgICAgICAgQVNGTEFHUz0nLU1iJworICAgICAgICBBU01f
U1VGRklYPWFzbQorICAgICAgICBBUj0taWxpYgorICAgICAgICBBUl9GTEFHUz0nL05PTCAvTk9J
IC9POiQoc3Vic3QgLyxcXCwkQCknCisgICAgICAgIENGTEFHUz0nL1EgL3FsaWJhbnNpIC9HZCsg
L0dtKyAvU3U0IC9NcCAvVGw5JworICAgICAgICBIT1NUX0NGTEFHUz0iJENGTEFHUyIKKyAgICAg
ICAgT1NfQ0ZMQUdTPScvUSAvcWxpYmFuc2kgL0dkKyAvR20rIC9TdTQgL01wIC9UbDknCisgICAg
ICAgIE9TX0VYRV9DRkxBR1M9Jy9RIC9xbGliYW5zaSAvR2QrIC9HbSsgL1N1NCAvTXAgL1RsOScK
KyAgICAgICAgQ1hYRkxBR1M9Jy9RIC9xbGliYW5zaSAvR2QrIC9HbSsgL1N1NCAvTXAgL1RsOScK
KyAgICAgICAgT1NfTElCUz0nc28zMmRsbC5saWIgdGNwMzJkbGwubGliJworICAgICAgICBMRD0n
LWlsaW5rJworICAgICAgICBNS1NITElCPSckKExEKSAkKERTT19MRE9QVFMpJworICAgICAgICBJ
TVBMSUI9J2ltcGxpYiAtbm9sb2dvIC1ub2lnbm9yZWNhc2UnCisgICAgICAgIEZJTFRFUj0nY3Bw
ZmlsdCAtcSAtQiAtUCcKKyAgICAgICAgX09QVElNSVpFX0ZMQUdTPScvTysgL0dsKyAvcXR1bmU9
cGVudGl1bSAvcWFyY2g9cGVudGl1bScKKyAgICAgICAgX0RFQlVHX0ZMQUdTPScvVGkrICcKKyAg
ICAgICAgTERGTEFHUz0nL05PTCAvTSAvTCcKKyAgICAgICAgRExMRkxBR1M9Jy9POiRAIC9ETEwg
L0lOQzpfZGxsZW50cnkgL01BUDokKEA6LmRsbD0ubWFwKSAvTCAvTk9MJworICAgICAgICBFWEVG
TEFHUz0nL09VVDokQCAvUE1UWVBFOlZJTyAvTUFQOiQoQDouZXhlPS5tYXApIC9MIC9OT0wnCisg
ICAgICAgIGlmIHRlc3QgLW4gIiRNT1pfREVCVUciOyB0aGVuCisgICAgICAgICAgTERGTEFHUz0i
JExERkxBR1MgL0RFIgorICAgICAgICAgIERMTEZMQUdTPSIkRExMRkxBR1MgL0RFIgorICAgICAg
ICAgIEVYRUZMQUdTPSIkRVhFRkxBR1MgL0RFIgorICAgICAgICBmaQorICAgICAgICBpZiB0ZXN0
IC1uICIkTU9aX09QVElNSVpFIjsgdGhlbgorICAgICAgICAgIExERkxBR1M9IiRMREZMQUdTIC9P
UFRGVU5DIC9FWEVQQUNLOjIgL1BBQ0tDT0RFIC9QQUNLREFUQSIKKyAgICAgICAgICBETExGTEFH
Uz0iJERMTEZMQUdTIC9PUFRGVU5DIC9FWEVQQUNLOjIgL1BBQ0tDT0RFIC9QQUNLREFUQSIKKyAg
ICAgICAgICBFWEVGTEFHUz0iJEVYRUZMQUdTIC9PUFRGVU5DIC9FWEVQQUNLOjIgL1BBQ0tDT0RF
IC9QQUNLREFUQSIKKyAgICAgICAgZmkKKyAgICAgICAgTElCTlNQUj0nJChkaXN0X2xpYmRpcikv
bnNwciQoTU9EX01BSk9SX1ZFUlNJT04pLiQoTElCX1NVRkZJWCknCisgICAgICAgIExJQlBMQz0n
JChkaXN0X2xpYmRpcikvcGxjJChNT0RfTUFKT1JfVkVSU0lPTikuJChMSUJfU1VGRklYKScKKyAg
ICBmaQorICAgIDs7CisKKyopCisgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5l
IFhQX1VOSVggMQorRU9GCisKKyAgICA7OworICAgCitlc2FjCisKK2lmIHRlc3QgLXogIiRTS0lQ
X0xJQlJBUllfQ0hFQ0tTIjsgdGhlbgorCisKKworY2FzZSAkdGFyZ2V0IGluCisqLWRhcndpbiop
CisgICAgOzsKKyopCisgICAgZWNobyAkYWNfbiAiY2hlY2tpbmcgZm9yIGRsb3BlbiBpbiAtbGRs
IiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZTo0OTEyOiBjaGVja2luZyBmb3IgZGxv
cGVuIGluIC1sZGwiID4mNQorYWNfbGliX3Zhcj1gZWNobyBkbCdfJ2Rsb3BlbiB8IHNlZCAneSUu
LystJV9fcF8lJ2AKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9saWJfJGFjX2xp
Yl92YXInK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hvICRhY19uICIoY2FjaGVkKSAkYWNf
YyIgMT4mNgorZWxzZQorICBhY19zYXZlX0xJQlM9IiRMSUJTIgorTElCUz0iLWxkbCAgJExJQlMi
CitjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisjbGluZSA0OTIwICJjb25maWd1cmUiCisj
aW5jbHVkZSAiY29uZmRlZnMuaCIKKy8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3Rv
dHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCisvKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBt
aWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCisgICAgYnVpbHRpbiBhbmQgdGhl
biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KK2NoYXIgZGxv
cGVuKCk7CisKK2ludCBtYWluKCkgeworZGxvcGVuKCkKKzsgcmV0dXJuIDA7IH0KK0VPRgoraWYg
eyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo0OTMxOiBcIiRhY19saW5rXCIpIDE+JjU7IChldmFsICRh
Y19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2FjX2V4ZWV4dH07IHRoZW4KKyAg
cm0gLXJmIGNvbmZ0ZXN0KgorICBldmFsICJhY19jdl9saWJfJGFjX2xpYl92YXI9eWVzIgorZWxz
ZQorICBlY2hvICJjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoiID4mNQorICBjYXQgY29u
ZnRlc3QuJGFjX2V4dCA+JjUKKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICBldmFsICJhY19jdl9saWJf
JGFjX2xpYl92YXI9bm8iCitmaQorcm0gLWYgY29uZnRlc3QqCitMSUJTPSIkYWNfc2F2ZV9MSUJT
IgorCitmaQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckYWNfY3ZfbGliXyckYWNfbGliX3ZhcmBc
IiA9IHllcyI7IHRoZW4KKyAgZWNobyAiJGFjX3QiInllcyIgMT4mNgorICBhY19zYWZlPWBlY2hv
ICJkbGZjbi5oIiB8IHNlZCAneSUuLystJV9fcF8lJ2AKK2VjaG8gJGFjX24gImNoZWNraW5nIGZv
ciBkbGZjbi5oIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZTo0OTQ4OiBjaGVja2lu
ZyBmb3IgZGxmY24uaCIgPiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3snYWNfY3ZfaGVh
ZGVyXyRhY19zYWZlJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hl
ZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorI2xp
bmUgNDk1MyAiY29uZmlndXJlIgorI2luY2x1ZGUgImNvbmZkZWZzLmgiCisjaW5jbHVkZSA8ZGxm
Y24uaD4KK0VPRgorYWNfdHJ5PSIkYWNfY3BwIGNvbmZ0ZXN0LiRhY19leHQgPi9kZXYvbnVsbCAy
PmNvbmZ0ZXN0Lm91dCIKK3sgKGV2YWwgZWNobyBjb25maWd1cmU6NDk1ODogXCIkYWNfdHJ5XCIp
IDE+JjU7IChldmFsICRhY190cnkpIDI+JjU7IH0KK2FjX2Vycj1gZ3JlcCAtdiAnXiAqKycgY29u
ZnRlc3Qub3V0IHwgZ3JlcCAtdiAiXmNvbmZ0ZXN0LiR7YWNfZXh0fVwkImAKK2lmIHRlc3QgLXog
IiRhY19lcnIiOyB0aGVuCisgIHJtIC1yZiBjb25mdGVzdCoKKyAgZXZhbCAiYWNfY3ZfaGVhZGVy
XyRhY19zYWZlPXllcyIKK2Vsc2UKKyAgZWNobyAiJGFjX2VyciIgPiY1CisgIGVjaG8gImNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOiIgPiY1CisgIGNhdCBjb25mdGVzdC4kYWNfZXh0ID4m
NQorICBybSAtcmYgY29uZnRlc3QqCisgIGV2YWwgImFjX2N2X2hlYWRlcl8kYWNfc2FmZT1ubyIK
K2ZpCitybSAtZiBjb25mdGVzdCoKK2ZpCitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyRhY19jdl9o
ZWFkZXJfJyRhY19zYWZlYFwiID0geWVzIjsgdGhlbgorICBlY2hvICIkYWNfdCIieWVzIiAxPiY2
CisgIE9TX0xJQlM9Ii1sZGwgJE9TX0xJQlMiCitlbHNlCisgIGVjaG8gIiRhY190IiJubyIgMT4m
NgorZmkKKworZWxzZQorICBlY2hvICIkYWNfdCIibm8iIDE+JjYKK2ZpCisKKyAgICA7OworZXNh
YworCisKKworCitpZiB0ZXN0ICRhY19jdl9wcm9nX2djYyA9IHllczsgdGhlbgorICAgIGVjaG8g
JGFjX24gImNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gbmVlZHMgLXRyYWRpdGlvbmFsIiIuLi4g
JGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3VyZTo0OTkxOiBjaGVja2luZyB3aGV0aGVyICR7Q0Mt
Y2N9IG5lZWRzIC10cmFkaXRpb25hbCIgPiY1CitpZiBldmFsICJ0ZXN0IFwiYGVjaG8gJyQnJ3sn
YWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWwnK3NldH0nYFwiID0gc2V0IjsgdGhlbgorICBlY2hv
ICRhY19uICIoY2FjaGVkKSAkYWNfYyIgMT4mNgorZWxzZQorICAgIGFjX3BhdHRlcm49IkF1dG9j
b25mLioneCciCisgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxFT0YKKyNsaW5lIDQ5OTcgImNv
bmZpZ3VyZSIKKyNpbmNsdWRlICJjb25mZGVmcy5oIgorI2luY2x1ZGUgPHNndHR5Lmg+CitBdXRv
Y29uZiBUSU9DR0VUUAorRU9GCitpZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0Iikg
Mj4mNSB8CisgIGVncmVwICIkYWNfcGF0dGVybiIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisgIHJt
IC1yZiBjb25mdGVzdCoKKyAgYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWw9eWVzCitlbHNlCisg
IHJtIC1yZiBjb25mdGVzdCoKKyAgYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWw9bm8KK2ZpCity
bSAtZiBjb25mdGVzdCoKKworCisgIGlmIHRlc3QgJGFjX2N2X3Byb2dfZ2NjX3RyYWRpdGlvbmFs
ID0gbm87IHRoZW4KKyAgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0IDw8RU9GCisjbGluZSA1MDE1
ICJjb25maWd1cmUiCisjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyNpbmNsdWRlIDx0ZXJtaW8uaD4K
K0F1dG9jb25mIFRDR0VUQQorRU9GCitpZiAoZXZhbCAiJGFjX2NwcCBjb25mdGVzdC4kYWNfZXh0
IikgMj4mNSB8CisgIGVncmVwICIkYWNfcGF0dGVybiIgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisg
IHJtIC1yZiBjb25mdGVzdCoKKyAgYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9uYWw9eWVzCitmaQor
cm0gLWYgY29uZnRlc3QqCisKKyAgZmkKK2ZpCisKK2VjaG8gIiRhY190IiIkYWNfY3ZfcHJvZ19n
Y2NfdHJhZGl0aW9uYWwiIDE+JjYKKyAgaWYgdGVzdCAkYWNfY3ZfcHJvZ19nY2NfdHJhZGl0aW9u
YWwgPSB5ZXM7IHRoZW4KKyAgICBDQz0iJENDIC10cmFkaXRpb25hbCIKKyAgZmkKK2ZpCisKK2Zv
ciBhY19mdW5jIGluIGxjaG93biBzdHJlcnJvcgorZG8KK2VjaG8gJGFjX24gImNoZWNraW5nIGZv
ciAkYWNfZnVuYyIiLi4uICRhY19jIiAxPiY2CitlY2hvICJjb25maWd1cmU6NTAzOTogY2hlY2tp
bmcgZm9yICRhY19mdW5jIiA+JjUKK2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJCcneydhY19jdl9m
dW5jXyRhY19mdW5jJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hl
ZCkgJGFjX2MiIDE+JjYKK2Vsc2UKKyAgY2F0ID4gY29uZnRlc3QuJGFjX2V4dCA8PEVPRgorI2xp
bmUgNTA0NCAiY29uZmlndXJlIgorI2luY2x1ZGUgImNvbmZkZWZzLmgiCisvKiBTeXN0ZW0gaGVh
ZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMs
CisgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciAkYWNfZnVuYygpOyBiZWxvdy4gICov
CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisvKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90
b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLworLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQg
bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgorICAgIGJ1aWx0aW4gYW5kIHRo
ZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCitjaGFyICRh
Y19mdW5jKCk7CisKK2ludCBtYWluKCkgeworCisvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz
IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCisgICAgdG8gYWx3YXlzIGZh
aWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKKyAgICBz
b21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFz
LiAgKi8KKyNpZiBkZWZpbmVkIChfX3N0dWJfJGFjX2Z1bmMpIHx8IGRlZmluZWQgKF9fc3R1Yl9f
XyRhY19mdW5jKQorY2hva2UgbWUKKyNlbHNlCiskYWNfZnVuYygpOworI2VuZGlmCisKKzsgcmV0
dXJuIDA7IH0KK0VPRgoraWYgeyAoZXZhbCBlY2hvIGNvbmZpZ3VyZTo1MDY3OiBcIiRhY19saW5r
XCIpIDE+JjU7IChldmFsICRhY19saW5rKSAyPiY1OyB9ICYmIHRlc3QgLXMgY29uZnRlc3Qke2Fj
X2V4ZWV4dH07IHRoZW4KKyAgcm0gLXJmIGNvbmZ0ZXN0KgorICBldmFsICJhY19jdl9mdW5jXyRh
Y19mdW5jPXllcyIKK2Vsc2UKKyAgZWNobyAiY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
IiA+JjUKKyAgY2F0IGNvbmZ0ZXN0LiRhY19leHQgPiY1CisgIHJtIC1yZiBjb25mdGVzdCoKKyAg
ZXZhbCAiYWNfY3ZfZnVuY18kYWNfZnVuYz1ubyIKK2ZpCitybSAtZiBjb25mdGVzdCoKK2ZpCisK
K2lmIGV2YWwgInRlc3QgXCJgZWNobyAnJGFjX2N2X2Z1bmNfJyRhY19mdW5jYFwiID0geWVzIjsg
dGhlbgorICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICAgYWNfdHJfZnVuYz1IQVZFX2BlY2hv
ICRhY19mdW5jIHwgdHIgJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6JyAnQUJDREVGR0hJSktM
TU5PUFFSU1RVVldYWVonYAorICBjYXQgPj4gY29uZmRlZnMuaCA8PEVPRgorI2RlZmluZSAkYWNf
dHJfZnVuYyAxCitFT0YKKyAKK2Vsc2UKKyAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CitmaQorZG9u
ZQorCisKKworCisjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtc3RyaXAgb3IgLS1kaXNhYmxlLXN0
cmlwIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX3N0cmlwK3NldH0iID0gc2V0OyB0aGVu
CisgIGVuYWJsZXZhbD0iJGVuYWJsZV9zdHJpcCIKKyAgIGlmIHRlc3QgIiRlbmFibGV2YWwiID0g
InllcyI7IHRoZW4KKwkgICAgRU5BQkxFX1NUUklQPTEKKyAgICAgIGZpIAorZmkKKworCitjYXNl
ICIke3RhcmdldF9vc30iIGluCitocHV4KikKK2lmIHRlc3QgLXogIiRHTlVfQ0MiOyB0aGVuCisK
KyAgICBlY2hvICRhY19uICJjaGVja2luZyBmb3IgK09saXQgc3VwcG9ydCIiLi4uICRhY19jIiAx
PiY2CitlY2hvICJjb25maWd1cmU6NTEwODogY2hlY2tpbmcgZm9yICtPbGl0IHN1cHBvcnQiID4m
NQoraWYgZXZhbCAidGVzdCBcImBlY2hvICckJyd7J2FjX2N2X2hwdXhfdXNhYmxlX29saXRfb3B0
aW9uJytzZXR9J2BcIiA9IHNldCI7IHRoZW4KKyAgZWNobyAkYWNfbiAiKGNhY2hlZCkgJGFjX2Mi
IDE+JjYKK2Vsc2UKKyAgICAgICAgICAgICAgICAgIGFjX2N2X2hwdXhfdXNhYmxlX29saXRfb3B0
aW9uPW5vCisgICAgICAgIHJtIC1mIGNvbmZ0ZXN0KgorICAgICAgICBlY2hvICdpbnQgbWFpbigp
IHsgcmV0dXJuIDA7IH0nIHwgY2F0ID4gY29uZnRlc3QuYworICAgICAgICAke0NDLWNjfSAke0NG
TEFHU30gK09saXQ9YWxsIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgPiBjb25mdGVzdC5vdXQgMj4m
MQorICAgICAgICBpZiB0ZXN0ICQ/IC1lcSAwOyB0aGVuCisgICAgICAgICAgICBpZiB0ZXN0IC16
ICJgZWdyZXAgLWkgJyh1bnJlY29nbml6ZXx1bmtub3duKScgY29uZnRlc3Qub3V0YCI7IHRoZW4K
KyAgICAgICAgICAgICAgICBhY19jdl9ocHV4X3VzYWJsZV9vbGl0X29wdGlvbj15ZXMKKyAgICAg
ICAgICAgIGZpCisgICAgICAgIGZpCisgICAgICAgIHJtIC1mIGNvbmZ0ZXN0KgorICAgICAgICAK
K2ZpCisKK2VjaG8gIiRhY190IiIkYWNfY3ZfaHB1eF91c2FibGVfb2xpdF9vcHRpb24iIDE+JjYK
KworICAgIGlmIHRlc3QgIiRhY19jdl9ocHV4X3VzYWJsZV9vbGl0X29wdGlvbiIgPSAieWVzIjsg
dGhlbgorICAgICAgICBDRkxBR1M9IiRDRkxBR1MgK09saXQ9YWxsIgorICAgICAgICBDWFhGTEFH
Uz0iJENYWEZMQUdTICtPbGl0PWFsbCIKKyAgICBlbHNlCisgICAgICAgIENGTEFHUz0iJENGTEFH
UyArRVNsaXQiCisgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgK0VTbGl0IgorICAgIGZpCitm
aQorOzsKK2VzYWMKKworCisKK2Nhc2UgIiR0YXJnZXRfb3MiIGluCitkYXJ3aW4qKQorICAgIF9I
QVZFX1BUSFJFQURTPTEKKyAgICA7OworKikKKyAgICAKK2VjaG8gJGFjX24gImNoZWNraW5nIGZv
ciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWRzIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNv
bmZpZ3VyZTo1MTQ3OiBjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxwdGhyZWFkcyIg
PiY1CitlY2hvICIKKyAgICAjaW5jbHVkZSA8cHRocmVhZC5oPiAKKyAgICB2b2lkICpmb28odm9p
ZCAqdikgeyByZXR1cm4gdjsgfSAKKyAgICBpbnQgbWFpbigpIHsgCisgICAgICAgIHB0aHJlYWRf
dCB0OworICAgICAgICBpZiAoIXB0aHJlYWRfY3JlYXRlKCZ0LCAwLCAmZm9vLCAwKSkgeworICAg
ICAgICAgICAgcHRocmVhZF9qb2luKHQsIDApOworICAgICAgICB9CisgICAgICAgIHJldHVybiAw
OworICAgIH0iID4gZHVtbXkuYyA7CisgICAgZWNobyAiJHtDQy1jY30gLW8gZHVtbXkke2FjX2V4
ZWV4dH0gZHVtbXkuYyAkQ0ZMQUdTICRDUFBGTEFHUyAtbHB0aHJlYWRzICRMREZMQUdTICRMSUJT
IiAxPiY1OworICAgICR7Q0MtY2N9IC1vIGR1bW15JHthY19leGVleHR9IGR1bW15LmMgJENGTEFH
UyAkQ1BQRkxBR1MgLWxwdGhyZWFkcyAkTERGTEFHUyAkTElCUyAyPiY1OworICAgIF9yZXM9JD8g
OworICAgIHJtIC1mIGR1bW15LmMgZHVtbXkke2FjX2V4ZWV4dH0gOworICAgIGlmIHRlc3QgIiRf
cmVzIiA9ICIwIjsgdGhlbgorICAgICAgICBlY2hvICIkYWNfdCIieWVzIiAxPiY2CisgICAgICAg
IF9IQVZFX1BUSFJFQURTPTEgX1BUSFJFQURfTERGTEFHUz0iLWxwdGhyZWFkcyIKKyAgICBlbHNl
CisgICAgICAgIGVjaG8gIiRhY190IiJubyIgMT4mNgorICAgICAgICAKK2VjaG8gJGFjX24gImNo
ZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0aHJlYWQiIi4uLiAkYWNfYyIgMT4mNgor
ZWNobyAiY29uZmlndXJlOjUxNjk6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbHB0
aHJlYWQiID4mNQorZWNobyAiCisgICAgI2luY2x1ZGUgPHB0aHJlYWQuaD4gCisgICAgdm9pZCAq
Zm9vKHZvaWQgKnYpIHsgcmV0dXJuIHY7IH0gCisgICAgaW50IG1haW4oKSB7IAorICAgICAgICBw
dGhyZWFkX3QgdDsKKyAgICAgICAgaWYgKCFwdGhyZWFkX2NyZWF0ZSgmdCwgMCwgJmZvbywgMCkp
IHsKKyAgICAgICAgICAgIHB0aHJlYWRfam9pbih0LCAwKTsKKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9IiA+IGR1bW15LmMgOworICAgIGVjaG8gIiR7Q0MtY2N9IC1vIGR1bW15
JHthY19leGVleHR9IGR1bW15LmMgJENGTEFHUyAkQ1BQRkxBR1MgLWxwdGhyZWFkICRMREZMQUdT
ICRMSUJTIiAxPiY1OworICAgICR7Q0MtY2N9IC1vIGR1bW15JHthY19leGVleHR9IGR1bW15LmMg
JENGTEFHUyAkQ1BQRkxBR1MgLWxwdGhyZWFkICRMREZMQUdTICRMSUJTIDI+JjU7CisgICAgX3Jl
cz0kPyA7CisgICAgcm0gLWYgZHVtbXkuYyBkdW1teSR7YWNfZXhlZXh0fSA7CisgICAgaWYgdGVz
dCAiJF9yZXMiID0gIjAiOyB0aGVuCisgICAgICAgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAg
ICAgICAgX0hBVkVfUFRIUkVBRFM9MSBfUFRIUkVBRF9MREZMQUdTPSItbHB0aHJlYWQiCisgICAg
ZWxzZQorICAgICAgICBlY2hvICIkYWNfdCIibm8iIDE+JjYKKyAgICAgICAgCitlY2hvICRhY19u
ICJjaGVja2luZyBmb3IgcHRocmVhZF9jcmVhdGUgaW4gLWxjX3IiIi4uLiAkYWNfYyIgMT4mNgor
ZWNobyAiY29uZmlndXJlOjUxOTE6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbGNf
ciIgPiY1CitlY2hvICIKKyAgICAjaW5jbHVkZSA8cHRocmVhZC5oPiAKKyAgICB2b2lkICpmb28o
dm9pZCAqdikgeyByZXR1cm4gdjsgfSAKKyAgICBpbnQgbWFpbigpIHsgCisgICAgICAgIHB0aHJl
YWRfdCB0OworICAgICAgICBpZiAoIXB0aHJlYWRfY3JlYXRlKCZ0LCAwLCAmZm9vLCAwKSkgewor
ICAgICAgICAgICAgcHRocmVhZF9qb2luKHQsIDApOworICAgICAgICB9CisgICAgICAgIHJldHVy
biAwOworICAgIH0iID4gZHVtbXkuYyA7CisgICAgZWNobyAiJHtDQy1jY30gLW8gZHVtbXkke2Fj
X2V4ZWV4dH0gZHVtbXkuYyAkQ0ZMQUdTICRDUFBGTEFHUyAtbGNfciAkTERGTEFHUyAkTElCUyIg
MT4mNTsKKyAgICAke0NDLWNjfSAtbyBkdW1teSR7YWNfZXhlZXh0fSBkdW1teS5jICRDRkxBR1Mg
JENQUEZMQUdTIC1sY19yICRMREZMQUdTICRMSUJTIDI+JjU7CisgICAgX3Jlcz0kPyA7CisgICAg
cm0gLWYgZHVtbXkuYyBkdW1teSR7YWNfZXhlZXh0fSA7CisgICAgaWYgdGVzdCAiJF9yZXMiID0g
IjAiOyB0aGVuCisgICAgICAgIGVjaG8gIiRhY190IiJ5ZXMiIDE+JjYKKyAgICAgICAgX0hBVkVf
UFRIUkVBRFM9MSBfUFRIUkVBRF9MREZMQUdTPSItbGNfciIKKyAgICBlbHNlCisgICAgICAgIGVj
aG8gIiRhY190IiJubyIgMT4mNgorICAgICAgICAKK2VjaG8gJGFjX24gImNoZWNraW5nIGZvciBw
dGhyZWFkX2NyZWF0ZSBpbiAtbGMiIi4uLiAkYWNfYyIgMT4mNgorZWNobyAiY29uZmlndXJlOjUy
MTM6IGNoZWNraW5nIGZvciBwdGhyZWFkX2NyZWF0ZSBpbiAtbGMiID4mNQorZWNobyAiCisgICAg
I2luY2x1ZGUgPHB0aHJlYWQuaD4gCisgICAgdm9pZCAqZm9vKHZvaWQgKnYpIHsgcmV0dXJuIHY7
IH0gCisgICAgaW50IG1haW4oKSB7IAorICAgICAgICBwdGhyZWFkX3QgdDsKKyAgICAgICAgaWYg
KCFwdGhyZWFkX2NyZWF0ZSgmdCwgMCwgJmZvbywgMCkpIHsKKyAgICAgICAgICAgIHB0aHJlYWRf
am9pbih0LCAwKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gMDsKKyAgICB9IiA+IGR1bW15
LmMgOworICAgIGVjaG8gIiR7Q0MtY2N9IC1vIGR1bW15JHthY19leGVleHR9IGR1bW15LmMgJENG
TEFHUyAkQ1BQRkxBR1MgLWxjICRMREZMQUdTICRMSUJTIiAxPiY1OworICAgICR7Q0MtY2N9IC1v
IGR1bW15JHthY19leGVleHR9IGR1bW15LmMgJENGTEFHUyAkQ1BQRkxBR1MgLWxjICRMREZMQUdT
ICRMSUJTIDI+JjU7CisgICAgX3Jlcz0kPyA7CisgICAgcm0gLWYgZHVtbXkuYyBkdW1teSR7YWNf
ZXhlZXh0fSA7CisgICAgaWYgdGVzdCAiJF9yZXMiID0gIjAiOyB0aGVuCisgICAgICAgIGVjaG8g
IiRhY190IiJ5ZXMiIDE+JjYKKyAgICAgICAgX0hBVkVfUFRIUkVBRFM9MQorICAgICAgICAgICAg
ICAgIAorICAgIGVsc2UKKyAgICAgICAgZWNobyAiJGFjX3QiIm5vIiAxPiY2CisgICAgICAgIAor
ICAgIGZpCisKKyAgICAgICAgICAgIAorICAgIGZpCisKKyAgICAgICAgCisgICAgZmkKKworICAg
IAorICAgIGZpCisKKyAgICA7OworZXNhYworCisjIENoZWNrIHdoZXRoZXIgLS13aXRoLXB0aHJl
YWRzIG9yIC0td2l0aG91dC1wdGhyZWFkcyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke3dpdGhfcHRo
cmVhZHMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgd2l0aHZhbD0iJHdpdGhfcHRocmVhZHMiCisgICBp
ZiB0ZXN0ICIkd2l0aHZhbCIgPSAieWVzIjsgdGhlbgorCSAgICBpZiB0ZXN0IC1uICIkX0hBVkVf
UFRIUkVBRFMiOyB0aGVuCisJCSAgICBVU0VfUFRIUkVBRFM9MSAKKwkJICAgIFVTRV9VU0VSX1BU
SFJFQURTPQorCQkgICAgVVNFX05TUFJfVEhSRUFEUz0KKwkgICAgZWxzZQorCQkgICAgeyBlY2hv
ICJjb25maWd1cmU6IGVycm9yOiAgLS13aXRoLXB0aHJlYWRzIHNwZWNpZmllZCBmb3IgYSBzeXN0
ZW0gd2l0aG91dCBwdGhyZWFkIHN1cHBvcnQgIiAxPiYyOyBleGl0IDE7IH07CisJICAgIGZpCisJ
ICBlbHNlCisJICAgIFVTRV9QVEhSRUFEUz0KKwkgICAgX1BUSFJFQURfTERGTEFHUz0KKwkgIGZp
CitlbHNlCisgICBpZiB0ZXN0IC1uICIkX0hBVkVfUFRIUkVBRFMiICYmIHRlc3QgLXogIiRVU0Vf
VVNFUl9QVEhSRUFEUyIgJiYgdGVzdCAteiAiJFVTRV9OU1BSX1RIUkVBRFMiOyB0aGVuCisJICAg
IFVTRV9QVEhSRUFEUz0xCisJICAgIFVTRV9VU0VSX1BUSFJFQURTPQorCSAgICBVU0VfTlNQUl9U
SFJFQURTPQorCSAgZmkKK2ZpCisKKworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLXVzZXItcHRo
cmVhZHMgb3IgLS1kaXNhYmxlLXVzZXItcHRocmVhZHMgd2FzIGdpdmVuLgoraWYgdGVzdCAiJHtl
bmFibGVfdXNlcl9wdGhyZWFkcytzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFi
bGVfdXNlcl9wdGhyZWFkcyIKKyAgIGlmIHRlc3QgIiRlbmFibGV2YWwiID0gInllcyI7IHRoZW4K
KyAgICAgICAgaWYgdGVzdCAtbiAiJF9IQVZFX1BUSFJFQURTIjsgdGhlbgorCQkgICAgVVNFX1BU
SFJFQURTPQorCQkgICAgVVNFX1VTRVJfUFRIUkVBRFM9MQorCQkgICAgVVNFX05TUFJfVEhSRUFE
Uz0KKwkgICAgZWxzZQorCQkgICAgeyBlY2hvICJjb25maWd1cmU6IGVycm9yOiAgLS1lbmFibGUt
dXNlci1wdGhyZWFkcyBzcGVjaWZpZWQgZm9yIGEgc3lzdGVtIHdpdGhvdXQgcHRocmVhZCBzdXBw
b3J0ICIgMT4mMjsgZXhpdCAxOyB9OworCSAgICBmaQorCSAgZmkKK2ZpCisKKworIyBDaGVjayB3
aGV0aGVyIC0tZW5hYmxlLW5zcHItdGhyZWFkcyBvciAtLWRpc2FibGUtbnNwci10aHJlYWRzIHdh
cyBnaXZlbi4KK2lmIHRlc3QgIiR7ZW5hYmxlX25zcHJfdGhyZWFkcytzZXR9IiA9IHNldDsgdGhl
bgorICBlbmFibGV2YWw9IiRlbmFibGVfbnNwcl90aHJlYWRzIgorICAgaWYgdGVzdCAiJGVuYWJs
ZXZhbCIgPSAieWVzIjsgdGhlbgorCSAgICBVU0VfUFRIUkVBRFM9CisJICAgIFVTRV9VU0VSX1BU
SFJFQURTPQorCSAgICBVU0VfTlNQUl9USFJFQURTPTEKKwkgIGZpCitmaQorCisKK2Nhc2UgIiR0
YXJnZXQiIGluCisqLWJlb3MqKQorICAgICMgQ2hlY2sgd2hldGhlciAtLXdpdGgtYnRocmVhZHMg
b3IgLS13aXRob3V0LWJ0aHJlYWRzIHdhcyBnaXZlbi4KK2lmIHRlc3QgIiR7d2l0aF9idGhyZWFk
cytzZXR9IiA9IHNldDsgdGhlbgorICB3aXRodmFsPSIkd2l0aF9idGhyZWFkcyIKKyAgCWlmIHRl
c3QgIiR3aXRodmFsIiA9ICJ5ZXMiOyB0aGVuCisgICAgCSAgICBVU0VfQlRIUkVBRFM9MQorCSAg
ICAgICAgVVNFX1VTRVJfUFRIUkVBRFM9CisJICAgICAgICBVU0VfUFRIUkVBRFM9CisJICAgIGZp
CitmaQorCisgICAgOzsKKworKi1zb2xhcmlzKikKKyAgICAjIENoZWNrIHdoZXRoZXIgLS13aXRo
LW5hdGl2ZS10aHJlYWRzIG9yIC0td2l0aG91dC1uYXRpdmUtdGhyZWFkcyB3YXMgZ2l2ZW4uCitp
ZiB0ZXN0ICIke3dpdGhfbmF0aXZlX3RocmVhZHMrc2V0fSIgPSBzZXQ7IHRoZW4KKyAgd2l0aHZh
bD0iJHdpdGhfbmF0aXZlX3RocmVhZHMiCisgICBpZiB0ZXN0ICIkd2l0aHZhbCIgPSAieWVzIjsg
dGhlbgorCSAgICBVU0VfTkFUSVZFX1RIUkVBRFM9MQorCSAgICBVU0VfVVNFUl9QVEhSRUFEUz0K
KwkgICAgVVNFX1BUSFJFQURTPQorCSAgZmkKK2ZpCisKKyAgICA7OworZXNhYworCitmaSAjIFNL
SVBfTElCUkFSWV9DSEVDS1MKKworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWNwbHVzIG9yIC0t
ZGlzYWJsZS1jcGx1cyB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9jcGx1cytzZXR9IiA9
IHNldDsgdGhlbgorICBlbmFibGV2YWw9IiRlbmFibGVfY3BsdXMiCisgICBpZiB0ZXN0ICIkZW5h
YmxldmFsIiA9ICJ5ZXMiOyB0aGVuCisJICAgIFVTRV9DUExVUz0xCisgICAgICBmaQorZmkKKyAK
KworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWlwdjYgb3IgLS1kaXNhYmxlLWlwdjYgd2FzIGdp
dmVuLgoraWYgdGVzdCAiJHtlbmFibGVfaXB2NitzZXR9IiA9IHNldDsgdGhlbgorICBlbmFibGV2
YWw9IiRlbmFibGVfaXB2NiIKKyAgIGlmIHRlc3QgIiRlbmFibGV2YWwiID0gInllcyI7IHRoZW4K
KwkgICAgVVNFX0lQVjY9MQorICAgICAgZWxzZQorCSAgICBVU0VfSVBWNj0KKyAgICAgIGZpCitm
aQorCisKKworIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxlLWJvZWhtIG9yIC0tZGlzYWJsZS1ib2Vo
bSB3YXMgZ2l2ZW4uCitpZiB0ZXN0ICIke2VuYWJsZV9ib2VobStzZXR9IiA9IHNldDsgdGhlbgor
ICBlbmFibGV2YWw9IiRlbmFibGVfYm9laG0iCisgICBpZiB0ZXN0ICIkZW5hYmxldmFsIiA9ICJ5
ZXMiOyB0aGVuCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBHQ19M
RUFLX0RFVEVDVE9SIDEKK0VPRgorCisgICAgICAgIEdDX0xFQUtfREVURUNUT1I9MQorICAgIGZp
CitmaQorCisKK2lmIHRlc3QgLW4gIiRVU0VfUFRIUkVBRFMiOyB0aGVuCisgICAgICBybSAtZiBj
b25mdGVzdCoKKyAgIGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkPW5vCisgICBlY2hvICRhY19uICJj
aGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWQiIi4uLiAkYWNfYyIgMT4m
NgorZWNobyAiY29uZmlndXJlOjUzNjc6IGNoZWNraW5nIHdoZXRoZXIgJHtDQy1jY30gYWNjZXB0
cyAtcHRocmVhZCIgPiY1CisgICBlY2hvICdpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0nIHwgY2F0
ID4gY29uZnRlc3QuYworICAgJHtDQy1jY30gLXB0aHJlYWQgLW8gY29uZnRlc3QgY29uZnRlc3Qu
YyA+IGNvbmZ0ZXN0Lm91dCAyPiYxCisgICBpZiB0ZXN0ICQ/IC1lcSAwOyB0aGVuCisJaWYgdGVz
dCAteiAiYGVncmVwIC1pICcodW5yZWNvZ25pemV8dW5rbm93biknIGNvbmZ0ZXN0Lm91dCB8IGdy
ZXAgcHRocmVhZGAiICYmIHRlc3QgLXogImBlZ3JlcCAtaSAnKGVycm9yfGluY29ycmVjdCknIGNv
bmZ0ZXN0Lm91dGAiIDsgdGhlbgorCSAgICBhY19jdl9oYXZlX2Rhc2hfcHRocmVhZD15ZXMKKwkJ
Y2FzZSAiJHRhcmdldF9vcyIgaW4KKwkgICAgZnJlZWJzZCopCisjIEZyZWVic2QgZG9lc24ndCB1
c2UgLXB0aHJlYWQgZm9yIGNvbXBpbGVzLCBpdCB1c2VzIHRoZW0gZm9yIGxpbmtpbmcKKyAgICAg
ICAgICAgIDs7CisJICAgICopCisgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgLXB0aHJlYWQi
CisgICAgICAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1wdGhyZWFkIgorICAgICAgICAgICAg
OzsKKyAgICAgICAgZXNhYworCWZpCisgICAgZmkKKyAgICBybSAtZiBjb25mdGVzdCoKKyAgICBl
Y2hvICIkYWNfdCIiJGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkIiAxPiY2CisKKwkJCSAgICBhY19j
dl9oYXZlX2Rhc2hfcHRocmVhZHM9bm8KKyAgICBpZiB0ZXN0ICIkYWNfY3ZfaGF2ZV9kYXNoX3B0
aHJlYWQiID0gIm5vIjsgdGhlbgorCSAgICBlY2hvICRhY19uICJjaGVja2luZyB3aGV0aGVyICR7
Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWRzIiIuLi4gJGFjX2MiIDE+JjYKK2VjaG8gImNvbmZpZ3Vy
ZTo1MzkwOiBjaGVja2luZyB3aGV0aGVyICR7Q0MtY2N9IGFjY2VwdHMgLXB0aHJlYWRzIiA+JjUK
KyAgICAJZWNobyAnaW50IG1haW4oKSB7IHJldHVybiAwOyB9JyB8IGNhdCA+IGNvbmZ0ZXN0LmMK
KwkgICAgJHtDQy1jY30gLXB0aHJlYWRzIC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgPiBjb25mdGVz
dC5vdXQgMj4mMQorICAgIAlpZiB0ZXN0ICQ/IC1lcSAwOyB0aGVuCisJICAgIAlpZiB0ZXN0IC16
ICJgZWdyZXAgLWkgJyh1bnJlY29nbml6ZXx1bmtub3duKScgY29uZnRlc3Qub3V0IHwgZ3JlcCBw
dGhyZWFkc2AiICYmIHRlc3QgLXogImBlZ3JlcCAtaSAnKGVycm9yfGluY29ycmVjdCknIGNvbmZ0
ZXN0Lm91dGAiIDsgdGhlbgorCQkJICAgIGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkcz15ZXMKKwkJ
CSAgICBDRkxBR1M9IiRDRkxBR1MgLXB0aHJlYWRzIgorCQkJICAgIENYWEZMQUdTPSIkQ1hYRkxB
R1MgLXB0aHJlYWRzIgorCQkgICAgZmkKKwkgICAgZmkKKwkgICAgcm0gLWYgY29uZnRlc3QqCisg
ICAgCWVjaG8gIiRhY190IiIkYWNfY3ZfaGF2ZV9kYXNoX3B0aHJlYWRzIiAxPiY2CisgICAgZmkK
KworICAgIGNhc2UgIiR0YXJnZXQiIGluCisgICAgKi1zb2xhcmlzKikKKyAgICAgICAgaWYgdGVz
dCAiJGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkcyIgPSAieWVzIjsgdGhlbgorICAgICAgICAgICAg
X1BUSFJFQURfTERGTEFHUz0KKyAgICAgICAgZmkKKwkgICAgOzsKKyAgICAqLWZyZWVic2QqKQor
CSAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1JFRU5UUkFOVCAxCitFT0YK
KworCSAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1RIUkVBRF9TQUZFIDEK
K0VPRgorCisJICAgIAkgICAgaWYgdGVzdCAiJGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkIiA9ICJ5
ZXMiOyB0aGVuCisJICAgICAgICBfUFRIUkVBRF9MREZMQUdTPSItcHRocmVhZCIKKwkgICAgZWxz
ZQorCSAgICAgICAgX1BUSFJFQURfTERGTEFHUz0iLWxjX3IiCisJICAgIGZpCisJICAgIDs7Cisg
ICAgKi1uZXRic2QqKQorCSAgICBpZiB0ZXN0ICIkYWNfY3ZfaGF2ZV9kYXNoX3B0aHJlYWQiID0g
InllcyI7IHRoZW4KKwkgICAgICAgIF9QVEhSRUFEX0xERkxBR1M9Ii1wdGhyZWFkIgorCSAgICBm
aQorCSAgICA7OworICAgICotYnNkaSopCisJICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgor
I2RlZmluZSBfVEhSRUFEX1NBRkUgMQorRU9GCisKKwkgICAgCSAgICBpZiB0ZXN0ICIkYWNfY3Zf
aGF2ZV9kYXNoX3B0aHJlYWQiID0gInllcyI7IHRoZW4KKwkgICAgICAgIF9QVEhSRUFEX0xERkxB
R1M9CisJICAgIGZpCisJICAgIDs7CisgICAgKi1vcGVuYnNkKikKKyAgICAgICAgaWYgdGVzdCAi
JGFjX2N2X2hhdmVfZGFzaF9wdGhyZWFkIiA9ICJ5ZXMiOyB0aGVuCisgICAgICAgICAgICBfUFRI
UkVBRF9MREZMQUdTPS1wdGhyZWFkCisgICAgICAgIGZpCisgICAgICAgIDs7CisgICAgKi1saW51
eCopCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUkVFTlRSQU5U
IDEKK0VPRgorCisgICAgICAgIDs7CisgICAgZXNhYworCitlbHNlIAorICAgIGlmIHRlc3QgLW4g
IiRVU0VfVVNFUl9QVEhSRUFEUyI7IHRoZW4KKwkgICAgVVNFX1BUSFJFQURTPQorCSAgICBVU0Vf
TlNQUl9USFJFQURTPQorICAgIGVsc2UKKyAgICAgICAgX1BUSFJFQURfTERGTEFHUz0KKyAgICBm
aQorZmkKKworY2FzZSAiJHRhcmdldCIgaW4KKyotYWl4KikKKyAgICBpZiB0ZXN0IC1uICIkVVNF
X05TUFJfVEhSRUFEUyI7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisj
ZGVmaW5lIF9QUl9MT0NBTF9USFJFQURTX09OTFkgMQorRU9GCisKKyAgICBmaQorICAgIGNhc2Ug
IiR0YXJnZXRfb3MiIGluCisgICAgYWl4NC4xKikKKyAgICAgICAgaWYgdGVzdCAteiAiJFVTRV9Q
VEhSRUFEUyI7IHRoZW4KKyAgICAgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2Rl
ZmluZSBBSVhfUkVOQU1FX1NFTEVDVCAxCitFT0YKKworICAgICAgICBmaQorICAgICAgICA7Owor
ICAgIGFpeDQuMiopCisgICAgICAgIGlmIHRlc3QgLXogIiRVU0VfTlNQUl9USFJFQURTIjsgdGhl
bgorICAgICAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfUE9J
TlRFUl9MT0NBTFRJTUVfUiAxCitFT0YKKworICAgICAgICBmaQorICAgICAgICA7OworICAgIGFp
eDQuMyopCisgICAgICAgIGlmIHRlc3QgLXogIiRVU0VfTlNQUl9USFJFQURTIjsgdGhlbgorICAg
ICAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfUE9JTlRFUl9M
T0NBTFRJTUVfUiAxCitFT0YKKworICAgICAgICBmaQorICAgICAgICBpZiB0ZXN0IC1uICIkVVNF
X1BUSFJFQURTIjsgdGhlbgorICAgICAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisj
ZGVmaW5lIF9QUl9IQVZFX1RIUkVBRFNBRkVfR0VUSE9TVCAxCitFT0YKKworICAgICAgICBmaQor
ICAgICAgICA7OworICAgICopCisgICAgICAgIGlmIHRlc3QgLXogIiRVU0VfTlNQUl9USFJFQURT
IjsgdGhlbgorICAgICAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhB
VkVfUE9JTlRFUl9MT0NBTFRJTUVfUiAxCitFT0YKKworICAgICAgICBmaQorICAgICAgICBpZiB0
ZXN0IC1uICIkVVNFX1BUSFJFQURTIjsgdGhlbgorICAgICAgICAgICAgY2F0ID4+IGNvbmZkZWZz
LmggPDxcRU9GCisjZGVmaW5lIF9QUl9IQVZFX1RIUkVBRFNBRkVfR0VUSE9TVCAxCitFT0YKKwor
ICAgICAgICBmaQorICAgICAgICA7OworICAgIGVzYWMKKyAgICA7OworKi1ic2RpKikKKyAgICBp
ZiB0ZXN0IC1uICIkVVNFX1BUSFJFQURTIjsgdGhlbgorICAgICAgICBjYXQgPj4gY29uZmRlZnMu
aCA8PFxFT0YKKyNkZWZpbmUgX1BSX05FRURfUFRIUkVBRF9JTklUIDEKK0VPRgorCisgICAgZmkK
KyAgICA7OworKi1mcmVlYnNkKikKKyAgICBpZiB0ZXN0IC1uICIkVVNFX05TUFJfVEhSRUFEUyI7
IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9MT0NB
TF9USFJFQURTX09OTFkgMQorRU9GCisKKyAgICBmaQorICAgIDs7CisqLWhwdXgqKQorICAgIGlm
IHRlc3QgLW4gIiRVU0VfTlNQUl9USFJFQURTIjsgdGhlbgorICAgICAgICBjYXQgPj4gY29uZmRl
ZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1BSX0xPQ0FMX1RIUkVBRFNfT05MWSAxCitFT0YKKworICAg
IGZpIAorICAgIGlmIHRlc3QgIiRVU0VfUFRIUkVBRFMiOyB0aGVuCisgICAgICAgIGlmIGVjaG8g
IiRPU19SRUxFQVNFIiB8IGVncmVwICdeKEIuMTAuMTB8Qi4xMC4yMCknID4vZGV2L251bGw7IHRo
ZW4KKyAgICAgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUkVFTlRS
QU5UIDEKK0VPRgorCisgICAgICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZp
bmUgX1BSX0RDRVRIUkVBRFMgMQorRU9GCisKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY2F0
ID4+IGNvbmZkZWZzLmggPDxFT0YKKyNkZWZpbmUgX1BPU0lYX0NfU09VUkNFIDE5OTUwNkwKK0VP
RgorCisgICAgICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZpbmUgX1BSX0hB
VkVfVEhSRUFEU0FGRV9HRVRIT1NUIDEKK0VPRgorCisgICAgICAgIGZpCisgICAgZmkKKyAgICBp
ZiB0ZXN0ICIkVVNFX1VTRVJfUFRIUkVBRFMiOyB0aGVuCisgICAgICAgIGNhdCA+PiBjb25mZGVm
cy5oIDw8RU9GCisjZGVmaW5lIF9QT1NJWF9DX1NPVVJDRSAxOTk1MDZMCitFT0YKKworICAgIGZp
CisgICAgOzsKKyotaXJpeCopCisgICAgaWYgdGVzdCAiJHt0YXJnZXRfb3N9IiA9ICJpcml4Ni41
IjsgdGhlbgorICAgICAgICBpZiB0ZXN0IC1uICIkVVNFX1BUSFJFQURTIjsgdGhlbgorICAgICAg
ICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9IQVZFX0dFVEhPU1Rf
UiAxCitFT0YKKworICAgICAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5l
IF9QUl9IQVZFX0dFVEhPU1RfUl9QT0lOVEVSIDEKK0VPRgorCisgICAgICAgIGZpCisgICAgZmkK
KyAgICA7OworKi1saW51eCopCisgICAgaWYgdGVzdCAtbiAiJFVTRV9OU1BSX1RIUkVBRFMiOyB0
aGVuCisgICAgICAgIGNhdCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfTE9DQUxf
VEhSRUFEU19PTkxZIDEKK0VPRgorCisgICAgZmkKKyAgICA7OworKi1taW5ndyp8Ki1jeWd3aW4q
fCotbXN2Yyp8Ki1ta3MqKQorICAgICAgICBVU0VfUFRIUkVBRFM9CisgICAgX1BUSFJFQURfTERG
TEFHUz0KKyAgICBVU0VfVVNFUl9QVEhSRUFEUz0KKyAgICA7OworKi1uZXRic2QqfCotb3BlbmJz
ZCopCisgICAgaWYgdGVzdCAtbiAiJFVTRV9OU1BSX1RIUkVBRFMiOyB0aGVuCisgICAgICAgIGNh
dCA+PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfTE9DQUxfVEhSRUFEU19PTkxZIDEK
K0VPRgorCisgICAgZmkKKyAgICA7OworKi1vc2YqKQorICAgIGlmIHRlc3QgLW4gIiRVU0VfTlNQ
Ul9USFJFQURTIjsgdGhlbgorICAgICAgICBjYXQgPj4gY29uZmRlZnMuaCA8PFxFT0YKKyNkZWZp
bmUgX1BSX0xPQ0FMX1RIUkVBRFNfT05MWSAxCitFT0YKKworICAgIGZpCisgICAgaWYgdGVzdCAt
biAiJFVTRV9QVEhSRUFEUyI7IHRoZW4KKyAgICAgICAgaWYgZWNobyAkT1NfUkVMRUFTRSB8IGVn
cmVwIC1jICcoVjIuMHxWMy4yKScgMj4vZGV2L251bGw7IHRoZW4KKyAgICAgICAgICAgIDoKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5l
IF9QUl9IQVZFX1RIUkVBRFNBRkVfR0VUSE9TVCAxCitFT0YKKworICAgICAgICBmaQorICAgIGZp
CisgICAgOzsKKyotc29sYXJpcyopCisgICAgaWYgdGVzdCAtbiAiJFVTRV9OQVRJVkVfVEhSRUFE
UyI7IHRoZW4KKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9H
TE9CQUxfVEhSRUFEU19PTkxZIDEKK0VPRgorCisgICAgZWxzZQorICAgICAgICBpZiB0ZXN0IC1u
ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRoZW4KKyAgICAgICAgICAgIGNhdCA+PiBjb25mZGVmcy5o
IDw8XEVPRgorI2RlZmluZSBfUFJfTE9DQUxfVEhSRUFEU19PTkxZIDEKK0VPRgorCisgICAgICAg
IGZpCisgICAgZmkKKyAgICBpZiB0ZXN0IC16ICIkVVNFX05TUFJfVEhSRUFEUyI7IHRoZW4KKyAg
ICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9SRUVOVFJBTlQgMQorRU9G
CisKKyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIEhBVkVfUE9JTlRF
Ul9MT0NBTFRJTUVfUiAxCitFT0YKKworICAgICAgICBpZiB0ZXN0ICIkT1NfVEVTVCIgPSAiaTg2
cGMiOyB0aGVuCisgICAgICAgICAgICBpZiB0ZXN0IC1uICIkVVNFXzY0IjsgdGhlbgorICAgICAg
ICAgICAgICAgUFJfTURfQVNGSUxFUz1vc19TdW5PU194ODZfNjQucworICAgICAgICAgICAgZWxz
ZQorICAgICAgICAgICAgICAgUFJfTURfQVNGSUxFUz1vc19TdW5PU194ODYucworICAgICAgICAg
ICAgZmkKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgdGVzdCAtbiAiJFVTRV82NCI7IHRo
ZW4KKyAgICAgICAgICAgICAgICBQUl9NRF9BU0ZJTEVTPW9zX1N1bk9TX3NwYXJjdjkucworICAg
ICAgICAgICAgZmkKKyAgICAgICAgICAgIGlmIHRlc3QgLW4gIiRVU0VfTkFUSVZFX1RIUkVBRFMi
OyB0aGVuCisgICAgICAgICAgICAgICAgUFJfTURfQVNGSUxFUz0iJFBSX01EX0FTRklMRVMgb3Nf
U3VuT1MucyIKKyAgICAgICAgICAgIGZpCisgICAgICAgIGZpCisgICAgZmkKKyAgICA7OworKi1u
dG8qKQorICAgIGlmIHRlc3QgLW4gIiRVU0VfUFRIUkVBRFMiOyB0aGVuCisgICAgICAgIGNhdCA+
PiBjb25mZGVmcy5oIDw8XEVPRgorI2RlZmluZSBfUFJfSEFWRV9HRVRIT1NUX1IgMQorRU9GCisK
KyAgICAgICAgY2F0ID4+IGNvbmZkZWZzLmggPDxcRU9GCisjZGVmaW5lIF9QUl9IQVZFX0dFVEhP
U1RfUl9QT0lOVEVSIDEKK0VPRgorCisgICAgZmkKKyAgICA7OworZXNhYworCitPU19MSUJTPSIk
X1BUSFJFQURfTERGTEFHUyAkT1NfTElCUyIKKworaWYgdGVzdCAtbiAiJF9TQVZFX09QVElNSVpF
X0ZMQUdTIjsgdGhlbgorICAgIF9PUFRJTUlaRV9GTEFHUz0iJF9TQVZFX09QVElNSVpFX0ZMQUdT
IgorZmkKKworaWYgdGVzdCAtbiAiJF9TQVZFX0RFQlVHX0ZMQUdTIjsgdGhlbgorICAgIF9ERUJV
R19GTEFHUz0iJF9TQVZFX0RFQlVHX0ZMQUdTIgorZmkKKworaWYgdGVzdCAtbiAiJE1PWl9PUFRJ
TUlaRSI7IHRoZW4KKyAgICBDRkxBR1M9IiRDRkxBR1MgJF9PUFRJTUlaRV9GTEFHUyIKKyAgICBD
WFhGTEFHUz0iJENYWEZMQUdTICRfT1BUSU1JWkVfRkxBR1MiCitmaQorCitpZiB0ZXN0IC1uICIk
TU9aX0RFQlVHIjsgdGhlbgorICAgIENGTEFHUz0iJENGTEFHUyAkX0RFQlVHX0ZMQUdTIgorICAg
IENYWEZMQUdTPSIkQ1hYRkxBR1MgJF9ERUJVR19GTEFHUyIKK2ZpCisKK2lmIHRlc3QgLW4gIiRN
T1pfT1BUSU1JWkUiOyB0aGVuCisgICAgT0JKRElSX1RBRz1fT1BUCitlbHNlCisgICAgT0JKRElS
X1RBRz1fREJHCitmaQorCitpZiB0ZXN0IC1uICIkVVNFXzY0IjsgdGhlbgorICAgIENPTVBJTEVS
X1RBRz1fNjQKK2ZpCisKK1JFTEVBU0VfT0JKRElSX05BTUU9IiR7T1NfQ09ORklHfSR7Q1BVX0FS
Q0hfVEFHfSR7Q09NUElMRVJfVEFHfSR7SU1QTF9TVFJBVEVHWX0ke09CSkRJUl9UQUd9LiR7T0JK
RElSX1NVRkZJWH0iCisKK2Nhc2UgIiR0YXJnZXRfb3MiIGluCitjeWd3aW4qfG1zdmMqfG1rcyop
CisgICAgQ0M9IlwkKENZR1dJTl9XUkFQUEVSKSAkQ0MiCisgICAgQ1hYPSJcJChDWUdXSU5fV1JB
UFBFUikgJENYWCIKKyAgICBSQz0iXCQoQ1lHV0lOX1dSQVBQRVIpICRSQyIKKyAgICA7OworZXNh
YworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKwor
CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisK
KworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisKKwor
CisKKworCisKKworCisKKworCitNQUtFRklMRVM9IgorTWFrZWZpbGUgCitjb25maWcvTWFrZWZp
bGUKK2NvbmZpZy9hdXRvY29uZi5taworY29uZmlnL25zcHJpbmNsLm1rCitjb25maWcvbnNwcmlu
Y2wuc2gKK2NvbmZpZy9uc3ByLWNvbmZpZworbGliL01ha2VmaWxlIAorbGliL2RzL01ha2VmaWxl
IAorbGliL2xpYmMvTWFrZWZpbGUgCitsaWIvbGliYy9pbmNsdWRlL01ha2VmaWxlIAorbGliL2xp
YmMvc3JjL01ha2VmaWxlIAorbGliL3Rlc3RzL01ha2VmaWxlCitwa2cvTWFrZWZpbGUKK3BrZy9s
aW51eC9NYWtlZmlsZQorcGtnL3NvbGFyaXMvTWFrZWZpbGUKK3BrZy9zb2xhcmlzL1NVTldwci9N
YWtlZmlsZQorcGtnL3NvbGFyaXMvU1VOV3ByZC9NYWtlZmlsZQorcHIvTWFrZWZpbGUgCitwci9p
bmNsdWRlL01ha2VmaWxlIAorcHIvaW5jbHVkZS9tZC9NYWtlZmlsZSAKK3ByL2luY2x1ZGUvb2Jz
b2xldGUvTWFrZWZpbGUgCitwci9pbmNsdWRlL3ByaXZhdGUvTWFrZWZpbGUgCitwci9zcmMvTWFr
ZWZpbGUgCitwci9zcmMvaW8vTWFrZWZpbGUgCitwci9zcmMvbGlua2luZy9NYWtlZmlsZSAKK3By
L3NyYy9tYWxsb2MvTWFrZWZpbGUgCitwci9zcmMvbWQvTWFrZWZpbGUgCitwci9zcmMvbWQvJHtQ
Ul9NRF9BUkNIX0RJUn0vTWFrZWZpbGUgCitwci9zcmMvbWVtb3J5L01ha2VmaWxlIAorcHIvc3Jj
L21pc2MvTWFrZWZpbGUgCitwci9zcmMvdGhyZWFkcy9NYWtlZmlsZSAKK3ByL3Rlc3RzL01ha2Vm
aWxlIAorcHIvdGVzdHMvZGxsL01ha2VmaWxlIAorIgorCisKK2lmIHRlc3QgLXogIiRVU0VfUFRI
UkVBRFMiICYmIHRlc3QgLXogIiRVU0VfQlRIUkVBRFMiOyB0aGVuCisgICAgTUFLRUZJTEVTPSIk
TUFLRUZJTEVTIHByL3NyYy90aHJlYWRzL2NvbWJpbmVkL01ha2VmaWxlIgorZWxpZiB0ZXN0IC1u
ICIkVVNFX1BUSFJFQURTIjsgdGhlbgorICAgIE1BS0VGSUxFUz0iJE1BS0VGSUxFUyBwci9zcmMv
cHRocmVhZHMvTWFrZWZpbGUiCitlbGlmIHRlc3QgLW4gIiRVU0VfQlRIUkVBRFMiOyB0aGVuCisg
ICAgTUFLRUZJTEVTPSIkTUFLRUZJTEVTIHByL3NyYy9idGhyZWFkcy9NYWtlZmlsZSIKK2ZpCisK
K2lmIHRlc3QgLW4gIiRVU0VfQ1BMVVMiOyB0aGVuCisgICAgTUFLRUZJTEVTPSIkTUFLRUZJTEVT
IHByL3NyYy9jcGx1cy9NYWtlZmlsZSBwci9zcmMvY3BsdXMvdGVzdHMvTWFrZWZpbGUiCitmaQor
Cit0cmFwICcnIDEgMiAxNQorY2F0ID4gY29uZmNhY2hlIDw8XEVPRgorIyBUaGlzIGZpbGUgaXMg
YSBzaGVsbCBzY3JpcHQgdGhhdCBjYWNoZXMgdGhlIHJlc3VsdHMgb2YgY29uZmlndXJlCisjIHRl
c3RzIHJ1biBvbiB0aGlzIHN5c3RlbSBzbyB0aGV5IGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBjb25m
aWd1cmUKKyMgc2NyaXB0cyBhbmQgY29uZmlndXJlIHJ1bnMuICBJdCBpcyBub3QgdXNlZnVsIG9u
IG90aGVyIHN5c3RlbXMuCisjIElmIGl0IGNvbnRhaW5zIHJlc3VsdHMgeW91IGRvbid0IHdhbnQg
dG8ga2VlcCwgeW91IG1heSByZW1vdmUgb3IgZWRpdCBpdC4KKyMKKyMgQnkgZGVmYXVsdCwgY29u
ZmlndXJlIHVzZXMgLi9jb25maWcuY2FjaGUgYXMgdGhlIGNhY2hlIGZpbGUsCisjIGNyZWF0aW5n
IGl0IGlmIGl0IGRvZXMgbm90IGV4aXN0IGFscmVhZHkuICBZb3UgY2FuIGdpdmUgY29uZmlndXJl
CisjIHRoZSAtLWNhY2hlLWZpbGU9RklMRSBvcHRpb24gdG8gdXNlIGEgZGlmZmVyZW50IGNhY2hl
IGZpbGU7IHRoYXQgaXMKKyMgd2hhdCBjb25maWd1cmUgZG9lcyB3aGVuIGl0IGNhbGxzIGNvbmZp
Z3VyZSBzY3JpcHRzIGluCisjIHN1YmRpcmVjdG9yaWVzLCBzbyB0aGV5IHNoYXJlIHRoZSBjYWNo
ZS4KKyMgR2l2aW5nIC0tY2FjaGUtZmlsZT0vZGV2L251bGwgZGlzYWJsZXMgY2FjaGluZywgZm9y
IGRlYnVnZ2luZyBjb25maWd1cmUuCisjIGNvbmZpZy5zdGF0dXMgb25seSBwYXlzIGF0dGVudGlv
biB0byB0aGUgY2FjaGUgZmlsZSBpZiB5b3UgZ2l2ZSBpdCB0aGUKKyMgLS1yZWNoZWNrIG9wdGlv
biB0byByZXJ1biBjb25maWd1cmUuCisjCitFT0YKKyMgVGhlIGZvbGxvd2luZyB3YXkgb2Ygd3Jp
dGluZyB0aGUgY2FjaGUgbWlzaGFuZGxlcyBuZXdsaW5lcyBpbiB2YWx1ZXMsCisjIGJ1dCB3ZSBr
bm93IG9mIG5vIHdvcmthcm91bmQgdGhhdCBpcyBzaW1wbGUsIHBvcnRhYmxlLCBhbmQgZWZmaWNp
ZW50LgorIyBTbywgZG9uJ3QgcHV0IG5ld2xpbmVzIGluIGNhY2hlIHZhcmlhYmxlcycgdmFsdWVz
LgorIyBVbHRyaXggc2ggc2V0IHdyaXRlcyB0byBzdGRlcnIgYW5kIGNhbid0IGJlIHJlZGlyZWN0
ZWQgZGlyZWN0bHksCisjIGFuZCBzZXRzIHRoZSBoaWdoIGJpdCBpbiB0aGUgY2FjaGUgZmlsZSB1
bmxlc3Mgd2UgYXNzaWduIHRvIHRoZSB2YXJzLgorKHNldCkgMj4mMSB8CisgIGNhc2UgYChhY19z
cGFjZT0nICc7IHNldCB8IGdyZXAgYWNfc3BhY2UpIDI+JjFgIGluCisgICphY19zcGFjZT1cICop
CisgICAgIyBgc2V0JyBkb2VzIG5vdCBxdW90ZSBjb3JyZWN0bHksIHNvIGFkZCBxdW90ZXMgKGRv
dWJsZS1xdW90ZSBzdWJzdGl0dXRpb24KKyAgICAjIHR1cm5zIFxcXFwgaW50byBcXCwgYW5kIHNl
ZCB0dXJucyBcXCBpbnRvIFwpLgorICAgIHNlZCAtbiBcCisgICAgICAtZSAicy8nLydcXFxcJycv
ZyIgXAorICAgICAgLWUgInMvXlxcKFthLXpBLVowLTlfXSpfY3ZfW2EtekEtWjAtOV9dKlxcKT1c
XCguKlxcKS9cXDE9XCR7XFwxPSdcXDInfS9wIgorICAgIDs7CisgICopCisgICAgIyBgc2V0JyBx
dW90ZXMgY29ycmVjdGx5IGFzIHJlcXVpcmVkIGJ5IFBPU0lYLCBzbyBkbyBub3QgYWRkIHF1b3Rl
cy4KKyAgICBzZWQgLW4gLWUgJ3MvXlwoW2EtekEtWjAtOV9dKl9jdl9bYS16QS1aMC05X10qXCk9
XCguKlwpL1wxPSR7XDE9XDJ9L3AnCisgICAgOzsKKyAgZXNhYyA+PiBjb25mY2FjaGUKK2lmIGNt
cCAtcyAkY2FjaGVfZmlsZSBjb25mY2FjaGU7IHRoZW4KKyAgOgorZWxzZQorICBpZiB0ZXN0IC13
ICRjYWNoZV9maWxlOyB0aGVuCisgICAgZWNobyAidXBkYXRpbmcgY2FjaGUgJGNhY2hlX2ZpbGUi
CisgICAgY2F0IGNvbmZjYWNoZSA+ICRjYWNoZV9maWxlCisgIGVsc2UKKyAgICBlY2hvICJub3Qg
dXBkYXRpbmcgdW53cml0YWJsZSBjYWNoZSAkY2FjaGVfZmlsZSIKKyAgZmkKK2ZpCitybSAtZiBj
b25mY2FjaGUKKwordHJhcCAncm0gLWZyIGNvbmZ0ZXN0KiBjb25mZGVmcyogY29yZSBjb3JlLiog
Ki5jb3JlICRhY19jbGVhbl9maWxlczsgZXhpdCAxJyAxIDIgMTUKKwordGVzdCAieCRwcmVmaXgi
ID0geE5PTkUgJiYgcHJlZml4PSRhY19kZWZhdWx0X3ByZWZpeAorIyBMZXQgbWFrZSBleHBhbmQg
ZXhlY19wcmVmaXguCit0ZXN0ICJ4JGV4ZWNfcHJlZml4IiA9IHhOT05FICYmIGV4ZWNfcHJlZml4
PScke3ByZWZpeH0nCisKKyMgQW55IGFzc2lnbm1lbnQgdG8gVlBBVEggY2F1c2VzIFN1biBtYWtl
IHRvIG9ubHkgZXhlY3V0ZQorIyB0aGUgZmlyc3Qgc2V0IG9mIGRvdWJsZS1jb2xvbiBydWxlcywg
c28gcmVtb3ZlIGl0IGlmIG5vdCBuZWVkZWQuCisjIElmIHRoZXJlIGlzIGEgY29sb24gaW4gdGhl
IHBhdGgsIHdlIG5lZWQgdG8ga2VlcCBpdC4KK2lmIHRlc3QgIngkc3JjZGlyIiA9IHguOyB0aGVu
CisgIGFjX3Zwc3ViPScvXlsgCV0qVlBBVEhbIAldKj1bXjpdKiQvZCcKK2ZpCisKK3RyYXAgJ3Jt
IC1mICRDT05GSUdfU1RBVFVTIGNvbmZ0ZXN0KjsgZXhpdCAxJyAxIDIgMTUKKworIyBUcmFuc2Zv
cm0gY29uZmRlZnMuaCBpbnRvIERFRlMuCisjIFByb3RlY3QgYWdhaW5zdCBzaGVsbCBleHBhbnNp
b24gd2hpbGUgZXhlY3V0aW5nIE1ha2VmaWxlIHJ1bGVzLgorIyBQcm90ZWN0IGFnYWluc3QgTWFr
ZWZpbGUgbWFjcm8gZXhwYW5zaW9uLgorY2F0ID4gY29uZnRlc3QuZGVmcyA8PFxFT0YKK3MlI2Rl
ZmluZSBcKFtBLVphLXpfXVtBLVphLXowLTlfXSpcKSAqXCguKlwpJS1EXDE9XDIlZworcyVbIAlg
fiMkXiYqKCl7fVxcfDsnIjw+P10lXFwmJWcKK3MlXFslXFwmJWcKK3MlXF0lXFwmJWcKK3MlXCQl
JCQlZworRU9GCitERUZTPWBzZWQgLWYgY29uZnRlc3QuZGVmcyBjb25mZGVmcy5oIHwgdHIgJ1ww
MTInICcgJyB8IHRyICdcMDE1JyAnICdgCitybSAtZiBjb25mdGVzdC5kZWZzCisKKworIyBXaXRo
b3V0IHRoZSAiLi8iLCBzb21lIHNoZWxscyBsb29rIGluIFBBVEggZm9yIGNvbmZpZy5zdGF0dXMu
Cis6ICR7Q09ORklHX1NUQVRVUz0uL2NvbmZpZy5zdGF0dXN9CisKK2VjaG8gY3JlYXRpbmcgJENP
TkZJR19TVEFUVVMKK3JtIC1mICRDT05GSUdfU1RBVFVTCitjYXQgPiAkQ09ORklHX1NUQVRVUyA8
PEVPRgorIyEgL2Jpbi9zaAorIyBHZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBjb25maWd1cmUu
CisjIFJ1biB0aGlzIGZpbGUgdG8gcmVjcmVhdGUgdGhlIGN1cnJlbnQgY29uZmlndXJhdGlvbi4K
KyMgVGhpcyBkaXJlY3Rvcnkgd2FzIGNvbmZpZ3VyZWQgYXMgZm9sbG93cywKKyMgb24gaG9zdCBg
KGhvc3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWA6CisjCisjICQwICRh
Y19jb25maWd1cmVfYXJncworIworIyBDb21waWxlciBvdXRwdXQgcHJvZHVjZWQgYnkgY29uZmln
dXJlLCB1c2VmdWwgZm9yIGRlYnVnZ2luZworIyBjb25maWd1cmUsIGlzIGluIC4vY29uZmlnLmxv
ZyBpZiBpdCBleGlzdHMuCisKK2FjX2NzX3VzYWdlPSJVc2FnZTogJENPTkZJR19TVEFUVVMgWy0t
cmVjaGVja10gWy0tdmVyc2lvbl0gWy0taGVscF0iCitmb3IgYWNfb3B0aW9uCitkbworICBjYXNl
ICJcJGFjX29wdGlvbiIgaW4KKyAgLXJlY2hlY2sgfCAtLXJlY2hlY2sgfCAtLXJlY2hlYyB8IC0t
cmVjaGUgfCAtLXJlY2ggfCAtLXJlYyB8IC0tcmUgfCAtLXIpCisgICAgZWNobyAicnVubmluZyBc
JHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJDAgJGFjX2NvbmZpZ3VyZV9hcmdzIC0tbm8tY3JlYXRl
IC0tbm8tcmVjdXJzaW9uIgorICAgIGV4ZWMgXCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICQwICRh
Y19jb25maWd1cmVfYXJncyAtLW5vLWNyZWF0ZSAtLW5vLXJlY3Vyc2lvbiA7OworICAtdmVyc2lv
biB8IC0tdmVyc2lvbiB8IC0tdmVyc2lvIHwgLS12ZXJzaSB8IC0tdmVycyB8IC0tdmVyIHwgLS12
ZSB8IC0tdikKKyAgICBlY2hvICIkQ09ORklHX1NUQVRVUyBnZW5lcmF0ZWQgYnkgYXV0b2NvbmYg
dmVyc2lvbiAyLjEzIgorICAgIGV4aXQgMCA7OworICAtaGVscCB8IC0taGVscCB8IC0taGVsIHwg
LS1oZSB8IC0taCkKKyAgICBlY2hvICJcJGFjX2NzX3VzYWdlIjsgZXhpdCAwIDs7CisgICopIGVj
aG8gIlwkYWNfY3NfdXNhZ2UiOyBleGl0IDEgOzsKKyAgZXNhYworZG9uZQorCithY19naXZlbl9z
cmNkaXI9JHNyY2RpcgorCit0cmFwICdybSAtZnIgYGVjaG8gIiRNQUtFRklMRVMiIHwgc2VkICJz
LzpbXiBdKi8vZyJgIGNvbmZ0ZXN0KjsgZXhpdCAxJyAxIDIgMTUKK0VPRgorY2F0ID4+ICRDT05G
SUdfU1RBVFVTIDw8RU9GCisKKyMgUHJvdGVjdCBhZ2FpbnN0IGJlaW5nIG9uIHRoZSByaWdodCBz
aWRlIG9mIGEgc2VkIHN1YnN0IGluIGNvbmZpZy5zdGF0dXMuCitzZWQgJ3MvJUAvQEAvOyBzL0Al
L0BALzsgcy8lZ1wkL0BnLzsgL0BnXCQvcy9bXFxcXCYlXS9cXFxcJi9nOworIHMvQEAvJUAvOyBz
L0BAL0AlLzsgcy9AZ1wkLyVnLycgPiBjb25mdGVzdC5zdWJzIDw8XFxDRU9GCiskYWNfdnBzdWIK
KyRleHRyYXN1YgorcyVAU0hFTExAJSRTSEVMTCVnCitzJUBDRkxBR1NAJSRDRkxBR1MlZworcyVA
Q1BQRkxBR1NAJSRDUFBGTEFHUyVnCitzJUBDWFhGTEFHU0AlJENYWEZMQUdTJWcKK3MlQEZGTEFH
U0AlJEZGTEFHUyVnCitzJUBERUZTQCUkREVGUyVnCitzJUBMREZMQUdTQCUkTERGTEFHUyVnCitz
JUBMSUJTQCUkTElCUyVnCitzJUBleGVjX3ByZWZpeEAlJGV4ZWNfcHJlZml4JWcKK3MlQHByZWZp
eEAlJHByZWZpeCVnCitzJUBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lQCUkcHJvZ3JhbV90cmFuc2Zv
cm1fbmFtZSVnCitzJUBiaW5kaXJAJSRiaW5kaXIlZworcyVAc2JpbmRpckAlJHNiaW5kaXIlZwor
cyVAbGliZXhlY2RpckAlJGxpYmV4ZWNkaXIlZworcyVAZGF0YWRpckAlJGRhdGFkaXIlZworcyVA
c3lzY29uZmRpckAlJHN5c2NvbmZkaXIlZworcyVAc2hhcmVkc3RhdGVkaXJAJSRzaGFyZWRzdGF0
ZWRpciVnCitzJUBsb2NhbHN0YXRlZGlyQCUkbG9jYWxzdGF0ZWRpciVnCitzJUBsaWJkaXJAJSRs
aWJkaXIlZworcyVAaW5jbHVkZWRpckAlJGluY2x1ZGVkaXIlZworcyVAb2xkaW5jbHVkZWRpckAl
JG9sZGluY2x1ZGVkaXIlZworcyVAaW5mb2RpckAlJGluZm9kaXIlZworcyVAbWFuZGlyQCUkbWFu
ZGlyJWcKK3MlQGhvc3RAJSRob3N0JWcKK3MlQGhvc3RfYWxpYXNAJSRob3N0X2FsaWFzJWcKK3Ml
QGhvc3RfY3B1QCUkaG9zdF9jcHUlZworcyVAaG9zdF92ZW5kb3JAJSRob3N0X3ZlbmRvciVnCitz
JUBob3N0X29zQCUkaG9zdF9vcyVnCitzJUB0YXJnZXRAJSR0YXJnZXQlZworcyVAdGFyZ2V0X2Fs
aWFzQCUkdGFyZ2V0X2FsaWFzJWcKK3MlQHRhcmdldF9jcHVAJSR0YXJnZXRfY3B1JWcKK3MlQHRh
cmdldF92ZW5kb3JAJSR0YXJnZXRfdmVuZG9yJWcKK3MlQHRhcmdldF9vc0AlJHRhcmdldF9vcyVn
CitzJUBidWlsZEAlJGJ1aWxkJWcKK3MlQGJ1aWxkX2FsaWFzQCUkYnVpbGRfYWxpYXMlZworcyVA
YnVpbGRfY3B1QCUkYnVpbGRfY3B1JWcKK3MlQGJ1aWxkX3ZlbmRvckAlJGJ1aWxkX3ZlbmRvciVn
CitzJUBidWlsZF9vc0AlJGJ1aWxkX29zJWcKK3MlQENDQCUkQ0MlZworcyVAZGlzdF9wcmVmaXhA
JSRkaXN0X3ByZWZpeCVnCitzJUBkaXN0X2JpbmRpckAlJGRpc3RfYmluZGlyJWcKK3MlQGRpc3Rf
aW5jbHVkZWRpckAlJGRpc3RfaW5jbHVkZWRpciVnCitzJUBkaXN0X2xpYmRpckAlJGRpc3RfbGli
ZGlyJWcKK3MlQFdIT0FNSUAlJFdIT0FNSSVnCitzJUBIT1NUX0NDQCUkSE9TVF9DQyVnCitzJUBD
WFhAJSRDWFglZworcyVAUkFOTElCQCUkUkFOTElCJWcKK3MlQEFSQCUkQVIlZworcyVAQVNAJSRB
UyVnCitzJUBMREAlJExEJWcKK3MlQFNUUklQQCUkU1RSSVAlZworcyVAV0lORFJFU0AlJFdJTkRS
RVMlZworcyVAQ1BQQCUkQ1BQJWcKK3MlQFBFUkxAJSRQRVJMJWcKK3MlQFNIRUxMX09WRVJSSURF
QCUkU0hFTExfT1ZFUlJJREUlZworcyVATU9aSUxMQV9DTElFTlRAJSRNT1pJTExBX0NMSUVOVCVn
CitzJUBIT1NUX0NGTEFHU0AlJEhPU1RfQ0ZMQUdTJWcKK3MlQEdOVV9DQ0AlJEdOVV9DQyVnCitz
JUBHQ0NfVVNFX0dOVV9MREAlJEdDQ19VU0VfR05VX0xEJWcKK3MlQE1TQ19WRVJAJSRNU0NfVkVS
JWcKK3MlQENST1NTX0NPTVBJTEVAJSRDUk9TU19DT01QSUxFJWcKK3MlQE1PWl9PUFRJTUlaRUAl
JE1PWl9PUFRJTUlaRSVnCitzJUBVU0VfQ1BMVVNAJSRVU0VfQ1BMVVMlZworcyVAVVNFX0lQVjZA
JSRVU0VfSVBWNiVnCitzJUBVU0VfTjMyQCUkVVNFX04zMiVnCitzJUBVU0VfNjRAJSRVU0VfNjQl
ZworcyVAT0JKRUNUX01PREVAJSRPQkpFQ1RfTU9ERSVnCitzJUBHQ19MRUFLX0RFVEVDVE9SQCUk
R0NfTEVBS19ERVRFQ1RPUiVnCitzJUBFTkFCTEVfU1RSSVBAJSRFTkFCTEVfU1RSSVAlZworcyVA
VVNFX1BUSFJFQURTQCUkVVNFX1BUSFJFQURTJWcKK3MlQFVTRV9CVEhSRUFEU0AlJFVTRV9CVEhS
RUFEUyVnCitzJUBVU0VfVVNFUl9QVEhSRUFEU0AlJFVTRV9VU0VSX1BUSFJFQURTJWcKK3MlQFVT
RV9OQVRJVkVfVEhSRUFEU0AlJFVTRV9OQVRJVkVfVEhSRUFEUyVnCitzJUBVU0VfTlNQUl9USFJF
QURTQCUkVVNFX05TUFJfVEhSRUFEUyVnCitzJUBMSUJOU1BSQCUkTElCTlNQUiVnCitzJUBMSUJQ
TENAJSRMSUJQTEMlZworcyVATU9EX01BSk9SX1ZFUlNJT05AJSRNT0RfTUFKT1JfVkVSU0lPTiVn
CitzJUBNT0RfTUlOT1JfVkVSU0lPTkAlJE1PRF9NSU5PUl9WRVJTSU9OJWcKK3MlQE1PRF9QQVRD
SF9WRVJTSU9OQCUkTU9EX1BBVENIX1ZFUlNJT04lZworcyVATlNQUl9NT0ROQU1FQCUkTlNQUl9N
T0ROQU1FJWcKK3MlQE1EQ1BVQ0ZHX0hAJSRNRENQVUNGR19IJWcKK3MlQFBSX01EX0NTUkNTQCUk
UFJfTURfQ1NSQ1MlZworcyVAUFJfTURfQVNGSUxFU0AlJFBSX01EX0FTRklMRVMlZworcyVAUFJf
TURfQVJDSF9ESVJAJSRQUl9NRF9BUkNIX0RJUiVnCitzJUBDUFVfQVJDSEAlJENQVV9BUkNIJWcK
K3MlQE9CSl9TVUZGSVhAJSRPQkpfU1VGRklYJWcKK3MlQExJQl9TVUZGSVhAJSRMSUJfU1VGRklY
JWcKK3MlQERMTF9TVUZGSVhAJSRETExfU1VGRklYJWcKK3MlQEFTTV9TVUZGSVhAJSRBU01fU1VG
RklYJWcKK3MlQE1LU0hMSUJAJSRNS1NITElCJWcKK3MlQERTT19DRkxBR1NAJSREU09fQ0ZMQUdT
JWcKK3MlQERTT19MRE9QVFNAJSREU09fTERPUFRTJWcKK3MlQE9TX1RBUkdFVEAlJE9TX1RBUkdF
VCVnCitzJUBPU19BUkNIQCUkT1NfQVJDSCVnCitzJUBPU19SRUxFQVNFQCUkT1NfUkVMRUFTRSVn
CitzJUBPU19URVNUQCUkT1NfVEVTVCVnCitzJUBNQUNPU1hfREVQTE9ZTUVOVF9UQVJHRVRAJSRN
QUNPU1hfREVQTE9ZTUVOVF9UQVJHRVQlZworcyVAREVGSU5FU0AlJERFRklORVMlZworcyVAQVJf
RkxBR1NAJSRBUl9GTEFHUyVnCitzJUBBU0ZMQUdTQCUkQVNGTEFHUyVnCitzJUBGSUxURVJAJSRG
SUxURVIlZworcyVASU1QTElCQCUkSU1QTElCJWcKK3MlQE9TX0xJQlNAJSRPU19MSUJTJWcKK3Ml
QFJFU09MVkVfTElOS19TWU1CT0xTQCUkUkVTT0xWRV9MSU5LX1NZTUJPTFMlZworcyVAQUlYX0xJ
TktfT1BUU0AlJEFJWF9MSU5LX09QVFMlZworcyVATk9TVUNIRklMRUAlJE5PU1VDSEZJTEUlZwor
cyVATU9aX09CSkZPUk1BVEAlJE1PWl9PQkpGT1JNQVQlZworcyVAVUxUUkFTUEFSQ19MSUJSQVJZ
QCUkVUxUUkFTUEFSQ19MSUJSQVJZJWcKK3MlQE9CSkRJUkAlJE9CSkRJUiVnCitzJUBPQkpESVJf
TkFNRUAlJE9CSkRJUl9OQU1FJWcKK3MlQFJFTEVBU0VfT0JKRElSX05BTUVAJSRSRUxFQVNFX09C
SkRJUl9OQU1FJWcKK3MlQE5TSU5TVEFMTEAlJE5TSU5TVEFMTCVnCitzJUBPUFRJTUlaRVJAJSRP
UFRJTUlaRVIlZworcyVAUkNAJSRSQyVnCitzJUBSQ0ZMQUdTQCUkUkNGTEFHUyVnCitzJUBETExG
TEFHU0AlJERMTEZMQUdTJWcKK3MlQEVYRUZMQUdTQCUkRVhFRkxBR1MlZworcyVAT1NfRExMRkxB
R1NAJSRPU19ETExGTEFHUyVnCitzJUBDWUdXSU5fV1JBUFBFUkAlJENZR1dJTl9XUkFQUEVSJWcK
K3MlQFZJU0lCSUxJVFlfRkxBR1NAJSRWSVNJQklMSVRZX0ZMQUdTJWcKK3MlQFdSQVBfU1lTVEVN
X0lOQ0xVREVTQCUkV1JBUF9TWVNURU1fSU5DTFVERVMlZworCitDRU9GCitFT0YKKworY2F0ID4+
ICRDT05GSUdfU1RBVFVTIDw8XEVPRgorCisjIFNwbGl0IHRoZSBzdWJzdGl0dXRpb25zIGludG8g
Yml0ZS1zaXplZCBwaWVjZXMgZm9yIHNlZHMgd2l0aAorIyBzbWFsbCBjb21tYW5kIG51bWJlciBs
aW1pdHMsIGxpa2Ugb24gRGlnaXRhbCBPU0YvMSBhbmQgSFAtVVguCithY19tYXhfc2VkX2NtZHM9
OTAgIyBNYXhpbXVtIG51bWJlciBvZiBsaW5lcyB0byBwdXQgaW4gYSBzZWQgc2NyaXB0LgorYWNf
ZmlsZT0xICMgTnVtYmVyIG9mIGN1cnJlbnQgZmlsZS4KK2FjX2JlZz0xICMgRmlyc3QgbGluZSBm
b3IgY3VycmVudCBmaWxlLgorYWNfZW5kPSRhY19tYXhfc2VkX2NtZHMgIyBMaW5lIGFmdGVyIGxh
c3QgbGluZSBmb3IgY3VycmVudCBmaWxlLgorYWNfbW9yZV9saW5lcz06CithY19zZWRfY21kcz0i
Igord2hpbGUgJGFjX21vcmVfbGluZXM7IGRvCisgIGlmIHRlc3QgJGFjX2JlZyAtZ3QgMTsgdGhl
bgorICAgIHNlZCAiMSwke2FjX2JlZ31kOyAke2FjX2VuZH1xIiBjb25mdGVzdC5zdWJzID4gY29u
ZnRlc3QucyRhY19maWxlCisgIGVsc2UKKyAgICBzZWQgIiR7YWNfZW5kfXEiIGNvbmZ0ZXN0LnN1
YnMgPiBjb25mdGVzdC5zJGFjX2ZpbGUKKyAgZmkKKyAgaWYgdGVzdCAhIC1zIGNvbmZ0ZXN0LnMk
YWNfZmlsZTsgdGhlbgorICAgIGFjX21vcmVfbGluZXM9ZmFsc2UKKyAgICBybSAtZiBjb25mdGVz
dC5zJGFjX2ZpbGUKKyAgZWxzZQorICAgIGlmIHRlc3QgLXogIiRhY19zZWRfY21kcyI7IHRoZW4K
KyAgICAgIGFjX3NlZF9jbWRzPSJzZWQgLWYgY29uZnRlc3QucyRhY19maWxlIgorICAgIGVsc2UK
KyAgICAgIGFjX3NlZF9jbWRzPSIkYWNfc2VkX2NtZHMgfCBzZWQgLWYgY29uZnRlc3QucyRhY19m
aWxlIgorICAgIGZpCisgICAgYWNfZmlsZT1gZXhwciAkYWNfZmlsZSArIDFgCisgICAgYWNfYmVn
PSRhY19lbmQKKyAgICBhY19lbmQ9YGV4cHIgJGFjX2VuZCArICRhY19tYXhfc2VkX2NtZHNgCisg
IGZpCitkb25lCitpZiB0ZXN0IC16ICIkYWNfc2VkX2NtZHMiOyB0aGVuCisgIGFjX3NlZF9jbWRz
PWNhdAorZmkKK0VPRgorCitjYXQgPj4gJENPTkZJR19TVEFUVVMgPDxFT0YKKworQ09ORklHX0ZJ
TEVTPVwke0NPTkZJR19GSUxFUy0iJE1BS0VGSUxFUyJ9CitFT0YKK2NhdCA+PiAkQ09ORklHX1NU
QVRVUyA8PFxFT0YKK2ZvciBhY19maWxlIGluIC4uICRDT05GSUdfRklMRVM7IGRvIGlmIHRlc3Qg
IngkYWNfZmlsZSIgIT0geC4uOyB0aGVuCisgICMgU3VwcG9ydCAib3V0ZmlsZVs6aW5maWxlWzpp
bmZpbGUuLi5dXSIsIGRlZmF1bHRpbmcgaW5maWxlPSJvdXRmaWxlLmluIi4KKyAgY2FzZSAiJGFj
X2ZpbGUiIGluCisgICo6KikgYWNfZmlsZV9pbj1gZWNobyAiJGFjX2ZpbGUifHNlZCAncyVbXjpd
KjolJSdgCisgICAgICAgYWNfZmlsZT1gZWNobyAiJGFjX2ZpbGUifHNlZCAncyU6LiolJSdgIDs7
CisgICopIGFjX2ZpbGVfaW49IiR7YWNfZmlsZX0uaW4iIDs7CisgIGVzYWMKKworICAjIEFkanVz
dCBhIHJlbGF0aXZlIHNyY2RpciwgdG9wX3NyY2RpciwgYW5kIElOU1RBTEwgZm9yIHN1YmRpcmVj
dG9yaWVzLgorCisgICMgUmVtb3ZlIGxhc3Qgc2xhc2ggYW5kIGFsbCB0aGF0IGZvbGxvd3MgaXQu
ICBOb3QgYWxsIHN5c3RlbXMgaGF2ZSBkaXJuYW1lLgorICBhY19kaXI9YGVjaG8gJGFjX2ZpbGV8
c2VkICdzJS9bXi9dW14vXSokJSUnYAorICBpZiB0ZXN0ICIkYWNfZGlyIiAhPSAiJGFjX2ZpbGUi
ICYmIHRlc3QgIiRhY19kaXIiICE9IC47IHRoZW4KKyAgICAjIFRoZSBmaWxlIGlzIGluIGEgc3Vi
ZGlyZWN0b3J5LgorICAgIHRlc3QgISAtZCAiJGFjX2RpciIgJiYgbWtkaXIgIiRhY19kaXIiCisg
ICAgYWNfZGlyX3N1ZmZpeD0iL2BlY2hvICRhY19kaXJ8c2VkICdzJV5cLi8lJSdgIgorICAgICMg
QSAiLi4vIiBmb3IgZWFjaCBkaXJlY3RvcnkgaW4gJGFjX2Rpcl9zdWZmaXguCisgICAgYWNfZG90
cz1gZWNobyAkYWNfZGlyX3N1ZmZpeHxzZWQgJ3MlL1teL10qJS4uLyVnJ2AKKyAgZWxzZQorICAg
IGFjX2Rpcl9zdWZmaXg9IGFjX2RvdHM9CisgIGZpCisKKyAgY2FzZSAiJGFjX2dpdmVuX3NyY2Rp
ciIgaW4KKyAgLikgIHNyY2Rpcj0uCisgICAgICBpZiB0ZXN0IC16ICIkYWNfZG90cyI7IHRoZW4g
dG9wX3NyY2Rpcj0uCisgICAgICBlbHNlIHRvcF9zcmNkaXI9YGVjaG8gJGFjX2RvdHN8c2VkICdz
JS8kJSUnYDsgZmkgOzsKKyAgLyopIHNyY2Rpcj0iJGFjX2dpdmVuX3NyY2RpciRhY19kaXJfc3Vm
Zml4IjsgdG9wX3NyY2Rpcj0iJGFjX2dpdmVuX3NyY2RpciIgOzsKKyAgKikgIyBSZWxhdGl2ZSBw
YXRoLgorICAgIHNyY2Rpcj0iJGFjX2RvdHMkYWNfZ2l2ZW5fc3JjZGlyJGFjX2Rpcl9zdWZmaXgi
CisgICAgdG9wX3NyY2Rpcj0iJGFjX2RvdHMkYWNfZ2l2ZW5fc3JjZGlyIiA7OworICBlc2FjCisK
KworICBlY2hvIGNyZWF0aW5nICIkYWNfZmlsZSIKKyAgcm0gLWYgIiRhY19maWxlIgorICBjb25m
aWd1cmVfaW5wdXQ9IkdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGZyb20gYGVjaG8gJGFjX2ZpbGVf
aW58c2VkICdzJS4qLyUlJ2AgYnkgY29uZmlndXJlLiIKKyAgY2FzZSAiJGFjX2ZpbGUiIGluCisg
ICpNYWtlZmlsZSopIGFjX2NvbXN1Yj0iMWlcXAorIyAkY29uZmlndXJlX2lucHV0IiA7OworICAq
KSBhY19jb21zdWI9IDs7CisgIGVzYWMKKworICBhY19maWxlX2lucHV0cz1gZWNobyAkYWNfZmls
ZV9pbnxzZWQgLWUgInMlXiUkYWNfZ2l2ZW5fc3JjZGlyLyUiIC1lICJzJTolICRhY19naXZlbl9z
cmNkaXIvJWciYAorICBzZWQgLWUgIiRhY19jb21zdWIKK3MlQGNvbmZpZ3VyZV9pbnB1dEAlJGNv
bmZpZ3VyZV9pbnB1dCVnCitzJUBzcmNkaXJAJSRzcmNkaXIlZworcyVAdG9wX3NyY2RpckAlJHRv
cF9zcmNkaXIlZworIiAkYWNfZmlsZV9pbnB1dHMgfCAoZXZhbCAiJGFjX3NlZF9jbWRzIikgPiAk
YWNfZmlsZQorZmk7IGRvbmUKK3JtIC1mIGNvbmZ0ZXN0LnMqCisKK0VPRgorY2F0ID4+ICRDT05G
SUdfU1RBVFVTIDw8RU9GCisKK0VPRgorY2F0ID4+ICRDT05GSUdfU1RBVFVTIDw8XEVPRgorY2ht
b2QgK3ggY29uZmlnL25zcHItY29uZmlnCitleGl0IDAKK0VPRgorY2htb2QgK3ggJENPTkZJR19T
VEFUVVMKK3JtIC1mciBjb25mZGVmcyogJGFjX2NsZWFuX2ZpbGVzCit0ZXN0ICIkbm9fY3JlYXRl
IiA9IHllcyB8fCAke0NPTkZJR19TSEVMTC0vYmluL3NofSAkQ09ORklHX1NUQVRVUyB8fCBleGl0
IDEKKwpkaWZmIC11ck4gbnNwci00LjYuMS1vcmlnL21vemlsbGEvbnNwcnB1Yi9wci9pbmNsdWRl
L21kL19saW51eC5jZmcgbnNwci00LjYuMS9tb3ppbGxhL25zcHJwdWIvcHIvaW5jbHVkZS9tZC9f
bGludXguY2ZnCi0tLSBuc3ByLTQuNi4xLW9yaWcvbW96aWxsYS9uc3BycHViL3ByL2luY2x1ZGUv
bWQvX2xpbnV4LmNmZwkyMDA1LTA4LTA5IDE3OjQxOjM3LjAwMDAwMDAwMCAtMDUwMAorKysgbnNw
ci00LjYuMS9tb3ppbGxhL25zcHJwdWIvcHIvaW5jbHVkZS9tZC9fbGludXguY2ZnCTIwMDYtMDEt
MjYgMTM6NDY6MzQuNzg2MzQ2Mjg4IC0wNjAwCkBAIC0yNzcsNiArMjc3LDUyIEBACiAjZGVmaW5l
IFBSX0JZVEVTX1BFUl9XT1JEX0xPRzIgIDMKICNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEX0xP
RzIgMwogCisjZWxpZiBkZWZpbmVkKF9feDg2XzY0X18pCisKKyNkZWZpbmUgSVNfTElUVExFX0VO
RElBTiAxCisjdW5kZWYgIElTX0JJR19FTkRJQU4KKyNkZWZpbmUgSVNfNjQKKworI2RlZmluZSBQ
Ul9CWVRFU19QRVJfQllURSAgIDEKKyNkZWZpbmUgUFJfQllURVNfUEVSX1NIT1JUICAyCisjZGVm
aW5lIFBSX0JZVEVTX1BFUl9JTlQgICAgNAorI2RlZmluZSBQUl9CWVRFU19QRVJfSU5UNjQgIDgK
KyNkZWZpbmUgUFJfQllURVNfUEVSX0xPTkcgICA4CisjZGVmaW5lIFBSX0JZVEVTX1BFUl9GTE9B
VCAgNAorI2RlZmluZSBQUl9CWVRFU19QRVJfRE9VQkxFIDgKKyNkZWZpbmUgUFJfQllURVNfUEVS
X1dPUkQgICA4CisjZGVmaW5lIFBSX0JZVEVTX1BFUl9EV09SRCAgOAorCisjZGVmaW5lIFBSX0JJ
VFNfUEVSX0JZVEUgICAgOAorI2RlZmluZSBQUl9CSVRTX1BFUl9TSE9SVCAgIDE2CisjZGVmaW5l
IFBSX0JJVFNfUEVSX0lOVCAgICAgMzIKKyNkZWZpbmUgUFJfQklUU19QRVJfSU5UNjQgICA2NAor
I2RlZmluZSBQUl9CSVRTX1BFUl9MT05HICAgIDY0CisjZGVmaW5lIFBSX0JJVFNfUEVSX0ZMT0FU
ICAgMzIKKyNkZWZpbmUgUFJfQklUU19QRVJfRE9VQkxFICA2NAorI2RlZmluZSBQUl9CSVRTX1BF
Ul9XT1JEICAgIDY0CisKKyNkZWZpbmUgUFJfQklUU19QRVJfQllURV9MT0cyICAgMworI2RlZmlu
ZSBQUl9CSVRTX1BFUl9TSE9SVF9MT0cyICA0CisjZGVmaW5lIFBSX0JJVFNfUEVSX0lOVF9MT0cy
ICAgIDUKKyNkZWZpbmUgUFJfQklUU19QRVJfSU5UNjRfTE9HMiAgNgorI2RlZmluZSBQUl9CSVRT
X1BFUl9MT05HX0xPRzIgICA2CisjZGVmaW5lIFBSX0JJVFNfUEVSX0ZMT0FUX0xPRzIgIDUKKyNk
ZWZpbmUgUFJfQklUU19QRVJfRE9VQkxFX0xPRzIgNgorI2RlZmluZSBQUl9CSVRTX1BFUl9XT1JE
X0xPRzIgICA2CisKKyNkZWZpbmUgUFJfQUxJR05fT0ZfU0hPUlQgICAyCisjZGVmaW5lIFBSX0FM
SUdOX09GX0lOVCAgICAgNAorI2RlZmluZSBQUl9BTElHTl9PRl9MT05HICAgIDgKKyNkZWZpbmUg
UFJfQUxJR05fT0ZfSU5UNjQgICA4CisjZGVmaW5lIFBSX0FMSUdOX09GX0ZMT0FUICAgNAorI2Rl
ZmluZSBQUl9BTElHTl9PRl9ET1VCTEUgIDgKKyNkZWZpbmUgUFJfQUxJR05fT0ZfUE9JTlRFUiA4
CisjZGVmaW5lIFBSX0FMSUdOX09GX1dPUkQgICAgOAorCisjZGVmaW5lIFBSX0JZVEVTX1BFUl9X
T1JEX0xPRzIgIDMKKyNkZWZpbmUgUFJfQllURVNfUEVSX0RXT1JEX0xPRzIgMworCiAjZWxpZiBk
ZWZpbmVkKF9fbWM2ODAwMF9fKQogCiAjdW5kZWYgIElTX0xJVFRMRV9FTkRJQU4KZGlmZiAtdXJO
IG5zcHItNC42LjEtb3JpZy9tb3ppbGxhL25zcHJwdWIvcHIvc3JjL21kL3VuaXgvb3NfTGludXhf
eDg2XzY0LnMucmVqIG5zcHItNC42LjEvbW96aWxsYS9uc3BycHViL3ByL3NyYy9tZC91bml4L29z
X0xpbnV4X3g4Nl82NC5zLnJlagotLS0gbnNwci00LjYuMS1vcmlnL21vemlsbGEvbnNwcnB1Yi9w
ci9zcmMvbWQvdW5peC9vc19MaW51eF94ODZfNjQucy5yZWoJMTk2OS0xMi0zMSAxODowMDowMC4w
MDAwMDAwMDAgLTA2MDAKKysrIG5zcHItNC42LjEvbW96aWxsYS9uc3BycHViL3ByL3NyYy9tZC91
bml4L29zX0xpbnV4X3g4Nl82NC5zLnJlagkyMDA2LTAxLTI2IDEzOjQ2OjQ0Ljg4NjgxMDc4NCAt
MDYwMApAQCAtMCwwICsxLDk0IEBACisqKioqKioqKioqKioqKioKKyoqKiAwICoqKioKKy0tLSAx
LDkxIC0tLS0KKysgLyAtKi0gTW9kZTogQysrOyB0YWItd2lkdGg6IDQ7IGluZGVudC10YWJzLW1v
ZGU6IG5pbDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotCisrIC8gCisrIC8gVGhlIGNvbnRlbnRzIG9m
IHRoaXMgZmlsZSBhcmUgc3ViamVjdCB0byB0aGUgTW96aWxsYSBQdWJsaWMKKysgLyBMaWNlbnNl
IFZlcnNpb24gMS4xICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZQor
KyAvIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWlu
IGEgY29weSBvZgorKyAvIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cubW96aWxsYS5vcmcvTVBM
LworKyAvIAorKyAvIFNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRp
c3RyaWJ1dGVkIG9uIGFuICJBUworKyAvIElTIiBiYXNpcywgV0lUSE9VVCBXQVJSQU5UWSBPRiBB
TlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IKKysgLyBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2Ug
Zm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcKKysgLyByaWdodHMgYW5kIGxpbWl0
YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorKyAvIAorKyAvIFRoZSBPcmlnaW5hbCBDb2RlIGlz
IHRoZSBOZXRzY2FwZSBQb3J0YWJsZSBSdW50aW1lIChOU1BSKS4KKysgLyAKKysgLyBUaGUgSW5p
dGlhbCBEZXZlbG9wZXIgb2YgdGhlIE9yaWdpbmFsIENvZGUgaXMgTmV0c2NhcGUKKysgLyBDb21t
dW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4gIFBvcnRpb25zIGNyZWF0ZWQgYnkgTmV0c2NhcGUgYXJl
IAorKyAvIENvcHlyaWdodCAoQykgMjAwMCBOZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3Jwb3Jh
dGlvbi4gIEFsbAorKyAvIFJpZ2h0cyBSZXNlcnZlZC4KKysgLyAKKysgLyBDb250cmlidXRvcihz
KToKKysgLyAKKysgLyBBbHRlcm5hdGl2ZWx5LCB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlIG1h
eSBiZSB1c2VkIHVuZGVyIHRoZQorKyAvIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBWZXJzaW9uIDIgb3IgbGF0ZXIgKHRoZQorKyAvICJHUEwiKSwgaW4gd2hpY2ggY2Fz
ZSB0aGUgcHJvdmlzaW9ucyBvZiB0aGUgR1BMIGFyZSBhcHBsaWNhYmxlIAorKyAvIGluc3RlYWQg
b2YgdGhvc2UgYWJvdmUuICBJZiB5b3Ugd2lzaCB0byBhbGxvdyB1c2Ugb2YgeW91ciAKKysgLyB2
ZXJzaW9uIG9mIHRoaXMgZmlsZSBvbmx5IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR1BMIGFuZCBu
b3QgdG8KKysgLyBhbGxvdyBvdGhlcnMgdG8gdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUg
dW5kZXIgdGhlIE1QTCwKKysgLyBpbmRpY2F0ZSB5b3VyIGRlY2lzaW9uIGJ5IGRlbGV0aW5nIHRo
ZSBwcm92aXNpb25zIGFib3ZlIGFuZAorKyAvIHJlcGxhY2UgdGhlbSB3aXRoIHRoZSBub3RpY2Ug
YW5kIG90aGVyIHByb3Zpc2lvbnMgcmVxdWlyZWQgYnkKKysgLyB0aGUgR1BMLiAgSWYgeW91IGRv
IG5vdCBkZWxldGUgdGhlIHByb3Zpc2lvbnMgYWJvdmUsIGEgcmVjaXBpZW50CisrIC8gbWF5IHVz
ZSB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIHVuZGVyIGVpdGhlciB0aGUgTVBMIG9yIHRoZQor
KyAvIEdQTC4KKysgLyAKKysgCisrIC8gUFJJbnQzMiBfUFJfeDg2XzY0X0F0b21pY0luY3JlbWVu
dChQUkludDMyICp2YWwpCisrIC8KKysgLyBBdG9taWNhbGx5IGluY3JlbWVudCB0aGUgaW50ZWdl
ciBwb2ludGVkIHRvIGJ5ICd2YWwnIGFuZCByZXR1cm4KKysgLyB0aGUgcmVzdWx0IG9mIHRoZSBp
bmNyZW1lbnQuCisrIC8KKysgICAgIC50ZXh0CisrICAgICAuZ2xvYmwgX1BSX3g4Nl82NF9BdG9t
aWNJbmNyZW1lbnQKKysgICAgIC5hbGlnbiA0CisrIF9QUl94ODZfNjRfQXRvbWljSW5jcmVtZW50
OgorKyAgICAgbW92bCAkMSwgJWVheAorKyAgICAgbG9jaworKyAgICAgeGFkZGwgJWVheCwgKCVy
ZGkpCisrICAgICBpbmNsICVlYXgKKysgICAgIHJldAorKyAKKysgLyBQUkludDMyIF9QUl94ODZf
NjRfQXRvbWljRGVjcmVtZW50KFBSSW50MzIgKnZhbCkKKysgLworKyAvIEF0b21pY2FsbHkgZGVj
cmVtZW50IHRoZSBpbnRlZ2VyIHBvaW50ZWQgdG8gYnkgJ3ZhbCcgYW5kIHJldHVybgorKyAvIHRo
ZSByZXN1bHQgb2YgdGhlIGRlY3JlbWVudC4KKysgLworKyAgICAgLnRleHQKKysgICAgIC5nbG9i
bCBfUFJfeDg2XzY0X0F0b21pY0RlY3JlbWVudAorKyAgICAgLmFsaWduIDQKKysgX1BSX3g4Nl82
NF9BdG9taWNEZWNyZW1lbnQ6CisrICAgICBtb3ZsICQtMSwgJWVheAorKyAgICAgbG9jaworKyAg
ICAgeGFkZGwgJWVheCwgKCVyZGkpCisrICAgICBkZWNsICVlYXgKKysgICAgIHJldAorKyAKKysg
LyBQUkludDMyIF9QUl94ODZfNjRfQXRvbWljU2V0KFBSSW50MzIgKnZhbCwgUFJJbnQzMiBuZXd2
YWwpCisrIC8KKysgLyBBdG9taWNhbGx5IHNldCB0aGUgaW50ZWdlciBwb2ludGVkIHRvIGJ5ICd2
YWwnIHRvIHRoZSBuZXcKKysgLyB2YWx1ZSAnbmV3dmFsJyBhbmQgcmV0dXJuIHRoZSBvbGQgdmFs
dWUuCisrICAgICAudGV4dAorKyAgICAgLmdsb2JsIF9QUl94ODZfNjRfQXRvbWljU2V0CisrICAg
ICAuYWxpZ24gNAorKyBfUFJfeDg2XzY0X0F0b21pY1NldDoKKysgICAgIG1vdmwgJWVzaSwgJWVh
eAorKyAgICAgbG9jaworKyAgICAgeGNoZ2wgJWVheCwgKCVyZGkpCisrICAgICByZXQKKysgCisr
IC8gUFJJbnQzMiBfUFJfeDg2XzY0X0F0b21pY0FkZChQUkludDMyICpwdHIsIFBSSW50MzIgdmFs
KQorKyAvCisrIC8gQXRvbWljYWxseSBhZGQgJ3ZhbCcgdG8gdGhlIGludGVnZXIgcG9pbnRlZCB0
byBieSAncHRyJworKyAvIGFuZCByZXR1cm4gdGhlIHJlc3VsdCBvZiB0aGUgYWRkaXRpb24uCisr
IC8KKysgICAgIC50ZXh0CisrICAgICAuZ2xvYmwgX1BSX3g4Nl82NF9BdG9taWNBZGQKKysgICAg
IC5hbGlnbiA0CisrIF9QUl94ODZfNjRfQXRvbWljQWRkOgorKyAgICAgbW92bCAlZXNpLCAlZWF4
CisrICAgICBsb2NrCisrICAgICB4YWRkbCAlZWF4LCAoJXJkaSkKKysgICAgIGFkZGwgJWVzaSwg
JWVheAorKyAgICAgcmV0Cg==
</data>        

          </attachment>
    </bug>

</bugzilla>