GNU logs - #15845, boring messages


Message sent to bug-libtool@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#15845: [GNU Libtool 2.4.2] testsuite: 55 95 96 97 107 115 failed
Resent-From: =?UTF-8?Q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9_?= =?UTF-8?Q?=D0=9D=D0=BE=D0=B2=D0=B8=D0=BA=D0=BE=D0=B2?= <stalkien@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-libtool@HIDDEN
Resent-Date: Sat, 09 Nov 2013 23:18:01 +0000
Resent-Message-ID: <handler.15845.B.138403906124764 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 15845
X-GNU-PR-Package: libtool
X-GNU-PR-Keywords: 
To: kristos84@HIDDEN, 15845 <at> debbugs.gnu.org
X-Debbugs-Original-To: kristos84@HIDDEN, bug-libtool@HIDDEN
Reply-To: =?UTF-8?Q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9_?= =?UTF-8?Q?=D0=9D=D0=BE=D0=B2=D0=B8=D0=BA=D0=BE=D0=B2?= <stalkien@HIDDEN>
Received: via spool by submit <at> debbugs.gnu.org id=B.138403906124764
          (code B ref -1); Sat, 09 Nov 2013 23:18:01 +0000
Received: (at submit) by debbugs.gnu.org; 9 Nov 2013 23:17:41 +0000
Received: from localhost ([127.0.0.1]:44799 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.80)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1VfHme-0006RL-9L
	for submit <at> debbugs.gnu.org; Sat, 09 Nov 2013 18:17:40 -0500
Received: from eggs.gnu.org ([208.118.235.92]:50738)
 by debbugs.gnu.org with esmtp (Exim 4.80)
 (envelope-from <stalkien@HIDDEN>) id 1VfGt3-00056R-Ed
 for submit <at> debbugs.gnu.org; Sat, 09 Nov 2013 17:20:14 -0500
Received: from lists.gnu.org ([2001:4830:134:3::11]:46227)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <stalkien@HIDDEN>) id 1VfGsx-0001bp-Qo
 for submit <at> debbugs.gnu.org; Sat, 09 Nov 2013 17:20:08 -0500
Received: from eggs.gnu.org ([2001:4830:134:3::10]:52464)
 by lists.gnu.org with esmtp (Exim 4.71)
 (envelope-from <stalkien@HIDDEN>) id 1VfGsp-0000jx-IX
 for bug-libtool@HIDDEN; Sat, 09 Nov 2013 17:20:07 -0500
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: ****
X-Spam-Status: No, score=4.0 required=5.0 tests=BAYES_50,
 CHARSET_FARAWAY_HEADER,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD
 autolearn=disabled version=3.3.2
Received: from mxout1.rambler.ru ([81.19.67.58]:12982)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <stalkien@HIDDEN>) id 1VfGsm-0001M9-Qs
 for bug-libtool@HIDDEN; Sat, 09 Nov 2013 17:19:59 -0500
Received: from saddam2.rambler.ru (saddam2.rambler.ru [10.32.16.2])
 by mxout1.rambler.ru (Postfix) with ESMTP id D51661140;
 Sun, 10 Nov 2013 02:19:54 +0400 (MSK)
Received: from localhost.localdomain (localhost [127.0.0.1])
 by saddam2.rambler.ru (Postfix) with ESMTP id B1AA33FF84D;
 Sun, 10 Nov 2013 02:19:54 +0400 (MSK)
Received: from [185.19.23.59] by saddam2.rambler.ru with HTTP;
 Sun, 10 Nov 2013 02:19:54 +0400
From: =?UTF-8?Q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9_?= =?UTF-8?Q?=D0=9D=D0=BE=D0=B2=D0=B8=D0=BA=D0=BE=D0=B2?= <stalkien@HIDDEN>
Date: Sun, 10 Nov 2013 02:19:54 +0400
Content-Transfer-Encoding: 7bit
Content-Type: multipart/mixed; boundary="_----------=_13840355941782731"
Message-Id: <1384035594.169109.17827.11989@HIDDEN>
MIME-Version: 1.0
X-Mailer: Rambler WebMail, http://mail.rambler.ru/
X-Rambler-User: stalkien@HIDDEN/185.19.23.59
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic]
X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address
 (bad octet value).
X-Mailman-Approved-At: Sat, 09 Nov 2013 18:17:37 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>


This is a multi-part message in MIME format.

--_----------=_13840355941782731
Content-Type: multipart/alternative; boundary="_----------=_13840355941782732"

This is a multi-part message in MIME format.

--_----------=_13840355941782732
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"; format="flowed"

Current MinGW+MSYS versions deployed on my Wintel have the libtool [2.4.1-m=
sys ??
I doubt: really only usual libtool-2.4-1-mingw32-bin.tar.lzma ],
GCC 4.8.1.
Before a build of the 2.4.2 [for MinGW - not for MSYS] (i.e. the one for th=
is
report): I already decided to use (even for a build and hence for this buil=
d)
the libtool file (in /mingw/bin) with my manual correction: I saw the stran=
ge
[for the presence of GCC 4.8.1 deployed] script - working,
but inside it there were 4.5.0 paths instead of 4.8.1 (and this is not stra=
nge
for the libtool-2.4-1-mingw32-bin.tar.lzma , but only for the current
MinGW+MSYS).
I almost ignore this hand-made file, but here it is among the attachment.
The build of the 2.4.2 that I mention above was successful, but here the .l=
og -
more important file, of cource - is among the attachment.

(One can see
sys_lib_search_path_spec=3D"c:/tingw/lib/gcc/mingw32/4.8.1 c:/tingw/lib/gcc
c:/tingw/mingw32/lib c:/tingw/lib "
and
compiler_lib_search_dirs=3D"c:/tingw/bin/../lib/gcc/mingw32/4.8.1
c:/tingw/bin/../lib/gcc
c:/tingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib
c:/tingw/bin/../lib/gcc/mingw32/4.8.1/../../.."
in the 312.96KB file of the 2.4.2 build
- the "TinGW" substrings are due to my allusion to tin plague under a frost=
:/)

Best regards, while you can be giving an advice what a libtool without any
hand-made file must become a mean for my case.

--_----------=_13840355941782732
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="utf-8"

<p>Current MinGW+MSYS versions deployed on my Wintel have&nbsp; the <strong=
>libtool</strong> &nbsp;[2.4.1-msys ?? I doubt: really only usual &nbsp;lib=
tool-2.4-1-mingw32-bin.tar.lzma ],<br />GCC 4.8.1.<br />Before a build of t=
he 2.4.2 [for MinGW - not for MSYS] (i.e. the one for this report): I alrea=
dy decided to use (even for a build and hence for this build)&nbsp;<br />th=
e <strong>libtool file</strong> (in /mingw/bin) with my manual correction: =
I saw the strange [for the presence of GCC 4.8.1 deployed]<strong>&nbsp;</s=
trong>script - working,&nbsp;<br />but inside it there were 4.5.0 paths ins=
tead of 4.8.1 (and this is not strange for the&nbsp; libtool-2.4-1-mingw32-=
bin.tar.lzma , but only for the&nbsp; current MinGW+MSYS).<br />I almost ig=
nore this hand-made&nbsp;<strong>file, </strong>&nbsp;but here it is among =
the attachment.<br />The&nbsp; build of the 2.4.2 that &nbsp;I mention abov=
e &nbsp;was successful, but here the .log - more important file, of cource =
- is among&nbsp; the attachment. &nbsp;<br /><br />(One can see&nbsp;<br />=
sys_lib_search_path_spec=3D"c:/tingw/lib/gcc/mingw32/4.8.1 c:/tingw/lib/gcc=
 c:/tingw/mingw32/lib c:/tingw/lib "<br />and &nbsp;<br />compiler_lib_sear=
ch_dirs=3D"c:/tingw/bin/../lib/gcc/mingw32/4.8.1 c:/tingw/bin/../lib/gcc c:=
/tingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/lib c:/tingw/bin/..=
/lib/gcc/mingw32/4.8.1/../../.."&nbsp;<br />in the&nbsp;312.96KB file&nbsp;=
of the 2.4.2 build&nbsp;<br />- the "TinGW" substrings are due to my allusi=
on to tin plague under a frost:/)<br /><br />Best regards, while you can be=
 giving an advice what a <strong>libtool</strong> without any hand-made fil=
e must become a mean for my case.</p>=

--_----------=_13840355941782732--

--_----------=_13840355941782731
Content-Disposition: attachment; filename="config.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="config.log"

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBj
b21waWxlcnMgd2hpbGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1
Z2dpbmcgaWYgY29uZmlndXJlIG1ha2VzIGEgbWlzdGFrZS4KCkl0IHdhcyBj
cmVhdGVkIGJ5IEdOVSBMaWJ0b29sIGNvbmZpZ3VyZSAyLjQuMiwgd2hpY2gg
d2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42OC4gIEludm9jYXRp
b24gY29tbWFuZCBsaW5lIHdhcwoKICAkIC9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvY29uZmlndXJlIAoKIyMgLS0tLS0tLS0t
ICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0tLS0tLS0gIyMKCmhvc3RuYW1l
ID0gdGlsbAp1bmFtZSAtbSA9IGk2ODYKdW5hbWUgLXIgPSAxLjAuMTgoMC40
OC8zLzIpCnVuYW1lIC1zID0gTUlOR1czMl9OVC02LjEKdW5hbWUgLXYgPSAy
MDEyLTExLTIxIDIyOjM0CgovdXNyL2Jpbi91bmFtZSAtcCA9IHVua25vd24K
L2Jpbi91bmFtZSAtWCAgICAgPSB1bmtub3duCgovYmluL2FyY2ggICAgICAg
ICAgICAgID0gdW5rbm93bgovdXNyL2Jpbi9hcmNoIC1rICAgICAgID0gdW5r
bm93bgovdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5rbm93bgovdXNyL2Jp
bi9ob3N0aW5mbyAgICAgID0gdW5rbm93bgovYmluL21hY2hpbmUgICAgICAg
ICAgID0gdW5rbm93bgovdXNyL2Jpbi9vc2xldmVsICAgICAgID0gdW5rbm93
bgovYmluL3VuaXZlcnNlICAgICAgICAgID0gdW5rbm93bgoKUEFUSDogLgpQ
QVRIOiAvdXNyL2xvY2FsL2JpbgpQQVRIOiAvbWluZ3cvYmluClBBVEg6IC9i
aW4KUEFUSDogL2MvV2luZG93cy9zeXN0ZW0zMgpQQVRIOiAvYy9XaW5kb3dz
ClBBVEg6IC9jL1dpbmRvd3MvU3lzdGVtMzIvV2JlbQpQQVRIOiAvYy9XaW5k
b3dzL1N5c3RlbTMyL1dpbmRvd3NQb3dlclNoZWxsL3YxLjAvClBBVEg6IC9j
L1Byb2dyYW0gRmlsZXMgKHg4NikvTWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAw
L1Rvb2xzL0Jpbm4vClBBVEg6IC9jL1Byb2dyYW0gRmlsZXMvTWljcm9zb2Z0
IFNRTCBTZXJ2ZXIvMTAwL1Rvb2xzL0Jpbm4vClBBVEg6IC9jL1Byb2dyYW0g
RmlsZXMvTWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAwL0RUUy9CaW5uLwpQQVRI
OiAvYy9CQzUvQklOClBBVEg6IC9jL0JDNS9CSU4KUEFUSDogL2MvV2luZG93
cy9zeXN0ZW0zMgpQQVRIOiAvYy9XaW5kb3dzClBBVEg6IC9jL1dpbmRvd3Mv
U3lzdGVtMzIvV2JlbQpQQVRIOiAvYy9XaW5kb3dzL1N5c3RlbTMyL1dpbmRv
d3NQb3dlclNoZWxsL3YxLjAvClBBVEg6IC9jL1Byb2dyYW0gRmlsZXMgKHg4
NikvTWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAwL1Rvb2xzL0Jpbm4vClBBVEg6
IC9jL1Byb2dyYW0gRmlsZXMvTWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAwL1Rv
b2xzL0Jpbm4vClBBVEg6IC9jL1Byb2dyYW0gRmlsZXMvTWljcm9zb2Z0IFNR
TCBTZXJ2ZXIvMTAwL0RUUy9CaW5uLwoKCiMjIC0tLS0tLS0tLS0tICMjCiMj
IENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0tLS0tICMjCgpjb25maWd1cmU6
MjcwNDogY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbApj
b25maWd1cmU6Mjc3MjogcmVzdWx0OiAvYmluL2luc3RhbGwgLWMKY29uZmln
dXJlOjI3ODM6IGNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQg
aXMgc2FuZQpjb25maWd1cmU6MjgzMzogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjI5NzQ6IGNoZWNraW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wCmNv
bmZpZ3VyZTozMDEzOiByZXN1bHQ6IC9iaW4vbWtkaXIgLXAKY29uZmlndXJl
OjMwMjY6IGNoZWNraW5nIGZvciBnYXdrCmNvbmZpZ3VyZTozMDQyOiBmb3Vu
ZCAvYmluL2dhd2sKY29uZmlndXJlOjMwNTM6IHJlc3VsdDogZ2F3awpjb25m
aWd1cmU6MzA2NDogY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtF
KQpjb25maWd1cmU6MzA4NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjMxODA6
IGNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlCmNvbmZpZ3VyZTozMTk0OiBy
ZXN1bHQ6IGk2ODYtcGMtbWluZ3czMgpjb25maWd1cmU6MzIxNDogY2hlY2tp
bmcgaG9zdCBzeXN0ZW0gdHlwZQpjb25maWd1cmU6MzIyNzogcmVzdWx0OiBp
Njg2LXBjLW1pbmd3MzIKY29uZmlndXJlOjMyNTQ6IGF1dG9idWlsZCBwcm9q
ZWN0Li4uIEdOVSBMaWJ0b29sCmNvbmZpZ3VyZTozMjYwOiBhdXRvYnVpbGQg
cmV2aXNpb24uLi4gMi40LjIgKCkKY29uZmlndXJlOjMyNjU6IGF1dG9idWls
ZCBob3N0bmFtZS4uLiB0aWxsCmNvbmZpZ3VyZTozMjY5OiBhdXRvYnVpbGQg
bW9kZS4uLiBkZWZhdWx0CmNvbmZpZ3VyZTozMjc3OiBhdXRvYnVpbGQgdGlt
ZXN0YW1wLi4uIDIwMTMxMTA5VDAwMDYxNFoKY29uZmlndXJlOjMzNzY6IGNo
ZWNraW5nIGZvciBnY2MKY29uZmlndXJlOjMzOTI6IGZvdW5kIC9taW5ndy9i
aW4vZ2NjCmNvbmZpZ3VyZTozNDAzOiByZXN1bHQ6IGdjYwpjb25maWd1cmU6
MzYzMjogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1
cmU6MzY0MTogZ2NjIC0tdmVyc2lvbiA+JjUKZ2NjLmV4ZSAoR0NDKSA0Ljgu
MQ0KQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLg0KVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJj
ZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMgTk8NCndhcnJh
bnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLg0KDQpjb25maWd1cmU6MzY1Mjog
JD8gPSAwCmNvbmZpZ3VyZTozNjQxOiBnY2MgLXYgPiY1ClVzaW5nIGJ1aWx0
LWluIHNwZWNzLgpDT0xMRUNUX0dDQz1jOlxUaW5HV1xiaW5cZ2NjLmV4ZQpD
T0xMRUNUX0xUT19XUkFQUEVSPWM6L3Rpbmd3L2Jpbi8uLi9saWJleGVjL2dj
Yy9taW5ndzMyLzQuOC4xL2x0by13cmFwcGVyLmV4ZQpUYXJnZXQ6IG1pbmd3
MzIKQ29uZmlndXJlZCB3aXRoOiAuLi9nY2MtNC44LjEvY29uZmlndXJlIC0t
cHJlZml4PS9taW5ndyAtLWhvc3Q9bWluZ3czMiAtLWJ1aWxkPW1pbmd3MzIg
LS13aXRob3V0LXBpYyAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtc3RhdGlj
IC0td2l0aC1nbnUtbGQgLS1lbmFibGUtbHRvIC0tZW5hYmxlLWxpYnNzcCAt
LWRpc2FibGUtbXVsdGlsaWIgLS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLGZv
cnRyYW4sb2JqYyxvYmotYysrLGFkYSAtLWRpc2FibGUtc2psai1leGNlcHRp
b25zIC0td2l0aC1kd2FyZjIgLS1kaXNhYmxlLXdpbjMyLXJlZ2lzdHJ5IC0t
ZW5hYmxlLWxpYnN0ZGN4eC1kZWJ1ZyAtLWVuYWJsZS12ZXJzaW9uLXNwZWNp
ZmljLXJ1bnRpbWUtbGlicyAtLXdpdGgtZ21wPS91c3Ivc3JjL3BrZy9nbXAt
NS4xLjItMS1taW5ndzMyLXNyYy9ibGQgLS13aXRoLW1wYz0vdXNyL3NyYy9w
a2cvbXBjLTEuMC4xLTEtbWluZ3czMi1zcmMvYmxkIC0td2l0aC1tcGZyPSAt
LXdpdGgtc3lzdGVtLXpsaWIgLS13aXRoLWdudS1hcyAtLWVuYWJsZS1kZWNp
bWFsLWZsb2F0PXllcyAtLWVuYWJsZS1saWJnb21wIC0tZW5hYmxlLXRocmVh
ZHMgLS13aXRoLWxpYmljb252LXByZWZpeD0vbWluZ3czMiAtLXdpdGgtbGli
aW50bC1wcmVmaXg9L21pbmd3IC0tZGlzYWJsZS1ib290c3RyYXAgTERGTEFH
Uz0tcyBDRkxBR1M9LURfVVNFXzMyQklUX1RJTUVfVApUaHJlYWQgbW9kZWw6
IHdpbjMyCmdjYyB2ZXJzaW9uIDQuOC4xIChHQ0MpIApjb25maWd1cmU6MzY1
MjogJD8gPSAwCmNvbmZpZ3VyZTozNjQxOiBnY2MgLVYgPiY1CmdjYy5leGU6
IGVycm9yOiB1bnJlY29nbml6ZWQgY29tbWFuZCBsaW5lIG9wdGlvbiAnLVYn
CmdjYy5leGU6IGZhdGFsIGVycm9yOiBubyBpbnB1dCBmaWxlcwpjb21waWxh
dGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MzY1MjogJD8gPSAxCmNvbmZp
Z3VyZTozNjQxOiBnY2MgLXF2ZXJzaW9uID4mNQpnY2MuZXhlOiBlcnJvcjog
dW5yZWNvZ25pemVkIGNvbW1hbmQgbGluZSBvcHRpb24gJy1xdmVyc2lvbicK
Z2NjLmV4ZTogZmF0YWwgZXJyb3I6IG5vIGlucHV0IGZpbGVzCmNvbXBpbGF0
aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTozNjUyOiAkPyA9IDEKY29uZmln
dXJlOjM2NzI6IGNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29y
a3MKY29uZmlndXJlOjM2OTQ6IGdjYyAgICBjb25mdGVzdC5jICA+JjUKY29u
ZmlndXJlOjM2OTg6ICQ/ID0gMApjb25maWd1cmU6Mzc0NjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjM3NDk6IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl
ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZQpjb25maWd1cmU6Mzc1MTogcmVzdWx0
OiBhLmV4ZQpjb25maWd1cmU6Mzc1NzogY2hlY2tpbmcgZm9yIHN1ZmZpeCBv
ZiBleGVjdXRhYmxlcwpjb25maWd1cmU6Mzc2NDogZ2NjIC1vIGNvbmZ0ZXN0
LmV4ZSAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjM3Njg6ICQ/ID0g
MApjb25maWd1cmU6Mzc5MDogcmVzdWx0OiAuZXhlCmNvbmZpZ3VyZTozODEy
OiBjaGVja2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29u
ZmlndXJlOjM4MjA6IGdjYyAtbyBjb25mdGVzdC5leGUgICAgY29uZnRlc3Qu
YyAgPiY1CmNvbmZpZ3VyZTozODI0OiAkPyA9IDAKY29uZmlndXJlOjM4MzE6
IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZTozODM1OiAkPyA9IDAKY29uZmln
dXJlOjM4NTA6IHJlc3VsdDogbm8KY29uZmlndXJlOjM4NTU6IGNoZWNraW5n
IGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTozODc3OiBn
Y2MgLWMgICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6Mzg4MTogJD8gPSAw
CmNvbmZpZ3VyZTozOTAyOiByZXN1bHQ6IG8KY29uZmlndXJlOjM5MDY6IGNo
ZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxl
cgpjb25maWd1cmU6MzkyNTogZ2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29u
ZmlndXJlOjM5MjU6ICQ/ID0gMApjb25maWd1cmU6MzkzNDogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjM5NDM6IGNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2Vw
dHMgLWcKY29uZmlndXJlOjM5NjM6IGdjYyAtYyAtZyAgY29uZnRlc3QuYyA+
JjUKY29uZmlndXJlOjM5NjM6ICQ/ID0gMApjb25maWd1cmU6NDAwNDogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQwMjE6IGNoZWNraW5nIGZvciBnY2Mgb3B0
aW9uIHRvIGFjY2VwdCBJU08gQzg5CmNvbmZpZ3VyZTo0MDg1OiBnY2MgIC1j
IC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQwODU6ICQ/ID0g
MApjb25maWd1cmU6NDA5ODogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1
cmU6NDEyOTogY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNlZCBi
eSBtYWtlCmNvbmZpZ3VyZTo0MTU3OiByZXN1bHQ6IEdOVQpjb25maWd1cmU6
NDE4MjogY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnY2MKY29uZmln
dXJlOjQyOTI6IHJlc3VsdDogZ2NjMwpjb25maWd1cmU6NDMwODogY2hlY2tp
bmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5kIC1vIHRv
Z2V0aGVyCmNvbmZpZ3VyZTo0MzM5OiBnY2MgLWMgY29uZnRlc3QuYyAtbyBj
b25mdGVzdDIubyA+JjUKY29uZmlndXJlOjQzNDM6ICQ/ID0gMApjb25maWd1
cmU6NDM0OTogZ2NjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1
CmNvbmZpZ3VyZTo0MzUzOiAkPyA9IDAKY29uZmlndXJlOjQzNjQ6IGNjIC1j
IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0MzY4OiAkPyA9IDAKY29uZmln
dXJlOjQzNzY6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1
CmNvbmZpZ3VyZTo0MzgwOiAkPyA9IDAKY29uZmlndXJlOjQzODY6IGNjIC1j
IGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1CmNvbmZpZ3VyZTo0Mzkw
OiAkPyA9IDAKY29uZmlndXJlOjQ0MDg6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo0NDM4OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nv
cgpjb25maWd1cmU6NDQ2OTogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3Vy
ZTo0NDY5OiAkPyA9IDAKY29uZmlndXJlOjQ0ODM6IGdjYyAtRSAgY29uZnRl
c3QuYwpjb25mdGVzdC5jOjExOjI4OiBmYXRhbCBlcnJvcjogYWNfbm9uZXhp
c3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUg
PGFjX25vbmV4aXN0ZW50Lmg+CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo0NDgzOiAk
PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9v
bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdF
X1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdF
X0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9v
bC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVS
U0lPTiAiMi40LjIiCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
dWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1cmU6NDUwODogcmVzdWx0
OiBnY2MgLUUKY29uZmlndXJlOjQ1Mjg6IGdjYyAtRSAgY29uZnRlc3QuYwpj
b25maWd1cmU6NDUyODogJD8gPSAwCmNvbmZpZ3VyZTo0NTQyOiBnY2MgLUUg
IGNvbmZ0ZXN0LmMKY29uZnRlc3QuYzoxMToyODogZmF0YWwgZXJyb3I6IGFj
X25vbmV4aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNp
bmNsdWRlIDxhY19ub25leGlzdGVudC5oPgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6
NDU0MjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8
IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V
IExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wi
CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2Rl
ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVm
aW5lIFZFUlNJT04gIjIuNC4yIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
fCAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjQ2MjA6
IGNoZWNraW5nIGhvdyB0byBwcmludCBzdHJpbmdzCmNvbmZpZ3VyZTo0NjQ3
OiByZXN1bHQ6IHByaW50Zgpjb25maWd1cmU6NDY2ODogY2hlY2tpbmcgZm9y
IGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0CmNvbmZpZ3Vy
ZTo0NzMyOiByZXN1bHQ6IC9iaW4vc2VkCmNvbmZpZ3VyZTo0NzUwOiBjaGVj
a2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUK
Y29uZmlndXJlOjQ4MDg6IHJlc3VsdDogL2Jpbi9ncmVwCmNvbmZpZ3VyZTo0
ODEzOiBjaGVja2luZyBmb3IgZWdyZXAKY29uZmlndXJlOjQ4NzU6IHJlc3Vs
dDogL2Jpbi9ncmVwIC1FCmNvbmZpZ3VyZTo0ODgwOiBjaGVja2luZyBmb3Ig
ZmdyZXAKY29uZmlndXJlOjQ5NDI6IHJlc3VsdDogL2Jpbi9ncmVwIC1GCmNv
bmZpZ3VyZTo0OTc3OiBjaGVja2luZyBmb3IgbGQgdXNlZCBieSBnY2MKY29u
ZmlndXJlOjUwNDQ6IHJlc3VsdDogYzovdGluZ3cvbWluZ3czMi9iaW4vbGQu
ZXhlCmNvbmZpZ3VyZTo1MDUxOiBjaGVja2luZyBpZiB0aGUgbGlua2VyIChj
Oi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIGlzIEdOVSBsZApjb25maWd1
cmU6NTA2NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUwNzg6IGNoZWNraW5n
IGZvciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKQpj
b25maWd1cmU6NTEyNzogcmVzdWx0OiAvYmluL25tIC1CCmNvbmZpZ3VyZTo1
MjU3OiBjaGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC9iaW4vbm0gLUIpIGlu
dGVyZmFjZQpjb25maWd1cmU6NTI2NDogZ2NjIC1jIC1nIC1PMiAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjUyNjc6IC9iaW4vbm0gLUIgImNvbmZ0ZXN0
Lm8iCmNvbmZpZ3VyZTo1MjcwOiBvdXRwdXQKMDAwMDAwMDAgYiAuYnNzCjAw
MDAwMDAwIGQgLmRhdGEKMDAwMDAwMDAgTiAuZGVidWdfYWJicmV2CjAwMDAw
MDAwIE4gLmRlYnVnX2FyYW5nZXMKMDAwMDAwMDAgTiAuZGVidWdfaW5mbwow
MDAwMDAwMCBOIC5kZWJ1Z19saW5lCjAwMDAwMDAwIHIgLnJkYXRhJHp6egow
MDAwMDAwMCB0IC50ZXh0CjAwMDAwMDAwIEIgX3NvbWVfdmFyaWFibGUKY29u
ZmlndXJlOjUyNzc6IHJlc3VsdDogQlNEIG5tCmNvbmZpZ3VyZTo1MjgwOiBj
aGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzCmNvbmZpZ3VyZTo1Mjg3OiBy
ZXN1bHQ6IG5vLCB1c2luZyBjcCAtcApjb25maWd1cmU6NTI5MjogY2hlY2tp
bmcgdGhlIG1heGltdW0gbGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVu
dHMKY29uZmlndXJlOjU0MjI6IHJlc3VsdDogODE5Mgpjb25maWd1cmU6NTQz
OTogY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29t
ZSBYU0kgY29uc3RydWN0cwpjb25maWd1cmU6NTQ0OTogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjU0NTM6IGNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVu
ZGVyc3RhbmRzICIrPSIKY29uZmlndXJlOjU0NTk6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo1NDk0OiBjaGVja2luZyBob3cgdG8gY29udmVydCBpNjg2LXBj
LW1pbmd3MzIgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1pbmd3MzIgZm9ybWF0
CmNvbmZpZ3VyZTo1NTM0OiByZXN1bHQ6IGZ1bmNfY29udmVydF9maWxlX21z
eXNfdG9fdzMyCmNvbmZpZ3VyZTo1NTQxOiBjaGVja2luZyBob3cgdG8gY29u
dmVydCBpNjg2LXBjLW1pbmd3MzIgZmlsZSBuYW1lcyB0byB0b29sY2hhaW4g
Zm9ybWF0CmNvbmZpZ3VyZTo1NTYxOiByZXN1bHQ6IGZ1bmNfY29udmVydF9m
aWxlX21zeXNfdG9fdzMyCmNvbmZpZ3VyZTo1NTY4OiBjaGVja2luZyBmb3Ig
YzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlIG9wdGlvbiB0byByZWxvYWQg
b2JqZWN0IGZpbGVzCmNvbmZpZ3VyZTo1NTc1OiByZXN1bHQ6IC1yCmNvbmZp
Z3VyZTo1NjQ5OiBjaGVja2luZyBmb3Igb2JqZHVtcApjb25maWd1cmU6NTY2
NTogZm91bmQgL21pbmd3L2Jpbi9vYmpkdW1wCmNvbmZpZ3VyZTo1Njc2OiBy
ZXN1bHQ6IG9iamR1bXAKY29uZmlndXJlOjU3MDU6IGNoZWNraW5nIGhvdyB0
byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmllcwpjb25maWd1cmU6NTkw
NzogcmVzdWx0OiBmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4
NiBETEwKY29uZmlndXJlOjU5OTI6IGNoZWNraW5nIGZvciBkbGx0b29sCmNv
bmZpZ3VyZTo2MDA4OiBmb3VuZCAvbWluZ3cvYmluL2RsbHRvb2wKY29uZmln
dXJlOjYwMTk6IHJlc3VsdDogZGxsdG9vbApjb25maWd1cmU6NjA0OTogY2hl
Y2tpbmcgaG93IHRvIGFzc29jaWF0ZSBydW50aW1lIGFuZCBsaW5rIGxpYnJh
cmllcwpjb25maWd1cmU6NjA3NjogcmVzdWx0OiBmdW5jX2N5Z21pbmdfZGxs
X2Zvcl9pbXBsaWIKY29uZmlndXJlOjYxMzc6IGNoZWNraW5nIGZvciBhcgpj
b25maWd1cmU6NjE1MzogZm91bmQgL21pbmd3L2Jpbi9hcgpjb25maWd1cmU6
NjE2NDogcmVzdWx0OiBhcgpjb25maWd1cmU6NjIwMTogY2hlY2tpbmcgZm9y
IGFyY2hpdmVyIEBGSUxFIHN1cHBvcnQKY29uZmlndXJlOjYyMTg6IGdjYyAt
YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2MjE4OiAkPyA9
IDAKY29uZmlndXJlOjYyMjE6IGFyIGNydSBsaWJjb25mdGVzdC5hIEBjb25m
dGVzdC5sc3QgPiY1CmNvbmZpZ3VyZTo2MjI0OiAkPyA9IDAKY29uZmlndXJl
OjYyMjk6IGFyIGNydSBsaWJjb25mdGVzdC5hIEBjb25mdGVzdC5sc3QgPiY1
CmM6XFRpbkdXXGJpblxhci5leGU6IGNvbmZ0ZXN0Lm86IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkNCmNvbmZpZ3VyZTo2MjMyOiAkPyA9IDEKY29uZmln
dXJlOjYyNDQ6IHJlc3VsdDogQApjb25maWd1cmU6NjMwMjogY2hlY2tpbmcg
Zm9yIHN0cmlwCmNvbmZpZ3VyZTo2MzE4OiBmb3VuZCAvbWluZ3cvYmluL3N0
cmlwCmNvbmZpZ3VyZTo2MzI5OiByZXN1bHQ6IHN0cmlwCmNvbmZpZ3VyZTo2
NDAxOiBjaGVja2luZyBmb3IgcmFubGliCmNvbmZpZ3VyZTo2NDE3OiBmb3Vu
ZCAvbWluZ3cvYmluL3JhbmxpYgpjb25maWd1cmU6NjQyODogcmVzdWx0OiBy
YW5saWIKY29uZmlndXJlOjY1MzA6IGNoZWNraW5nIGNvbW1hbmQgdG8gcGFy
c2UgL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBnY2Mgb2JqZWN0CmNvbmZpZ3Vy
ZTo2NjUwOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6NjY1MzogJD8gPSAwCmNvbmZpZ3VyZTo2NjU3OiAvYmluL25tIC1CIGNv
bmZ0ZXN0Lm8gXHwgc2VkIC1uIC1lICdzL14uKlsgXVwoW0FCQ0RHSVJTVFdd
W0FCQ0RHSVJTVFddKlwpWyBdWyBdKlwoW19BLVphLXpdW19BLVphLXowLTld
KlwpXHswLDFcfSQvXDEgXDIgXDIvcCcgfCBzZWQgJy8gX19nbnVfbHRvL2Qn
IFw+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZTo2NjYwOiAkPyA9IDAKY2Fubm90
IGZpbmQgbm1fdGVzdF92YXIgaW4gY29uZnRlc3Qubm0KY29uZmlndXJlOjY2
NTA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo2
NjUzOiAkPyA9IDAKY29uZmlndXJlOjY2NTc6IC9iaW4vbm0gLUIgY29uZnRl
c3QubyBcfCBzZWQgLW4gLWUgJ3MvXi4qWyBdXChbQUJDREdJUlNUV11bQUJD
REdJUlNUV10qXClbIF1bIF0qX1woW19BLVphLXpdW19BLVphLXowLTldKlwp
XHswLDFcfSQvXDEgX1wyIFwyL3AnIHwgc2VkICcvIF9fZ251X2x0by9kJyBc
PiBjb25mdGVzdC5ubQpjb25maWd1cmU6NjY2MDogJD8gPSAwCmNvbmZpZ3Vy
ZTo2NzI2OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0
LmMgY29uZnRzdG0ubyA+JjUKY29uZmlndXJlOjY3Mjk6ICQ/ID0gMApjb25m
aWd1cmU6Njc2NzogcmVzdWx0OiBvawpjb25maWd1cmU6NjgwNDogY2hlY2tp
bmcgZm9yIHN5c3Jvb3QKY29uZmlndXJlOjY4MzQ6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjcwOTA6IGNoZWNraW5nIGZvciBtdApjb25maWd1cmU6NzEyMDog
cmVzdWx0OiBubwpjb25maWd1cmU6NzE0MDogY2hlY2tpbmcgaWYgOiBpcyBh
IG1hbmlmZXN0IHRvb2wKY29uZmlndXJlOjcxNDY6IDogJy0/Jwpjb25maWd1
cmU6NzE1NDogcmVzdWx0OiBubwpjb25maWd1cmU6Nzc5MjogY2hlY2tpbmcg
Zm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMKY29uZmlndXJlOjc4MTI6IGdjYyAt
YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3ODEyOiAkPyA9
IDAKY29uZmlndXJlOjc4ODU6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8y
ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo3ODg1OiAkPyA9IDAKY29u
ZmlndXJlOjc4ODU6IC4vY29uZnRlc3QuZXhlCmNvbmZpZ3VyZTo3ODg1OiAk
PyA9IDAKY29uZmlndXJlOjc4OTY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3
OTA5OiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjc5MDk6
IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3OTA5
OiAkPyA9IDAKY29uZmlndXJlOjc5MDk6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo3OTA5OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6Nzkw
OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5
MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc5MDk6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6Nzkw
OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5
MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc5MDk6IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6Nzkw
OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5
MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc5MDk6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6Nzkw
OTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjc5
MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc5MDk6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29uZmlndXJlOjc5
MDk6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo3
OTA5OiAkPyA9IDAKY29uZmlndXJlOjc5MDk6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo3OTA5OiBjaGVja2luZyBmb3IgaW50dHlwZXMuaApjb25maWd1cmU6
NzkwOTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
Ojc5MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjc5MDk6IGNoZWNraW5nIGZvciBzdGRpbnQuaApjb25maWd1cmU6
NzkwOTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
Ojc5MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjc5MDk6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25maWd1cmU6
NzkwOTogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
Ojc5MDk6ICQ/ID0gMApjb25maWd1cmU6NzkwOTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjc5MjM6IGNoZWNraW5nIGZvciBkbGZjbi5oCmNvbmZpZ3VyZTo3
OTIzOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5j
OjU1OjE5OiBmYXRhbCBlcnJvcjogZGxmY24uaDogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQogI2luY2x1ZGUgPGRsZmNuLmg+CiAgICAgICAgICAgICAg
ICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZTo3OTIz
OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog
Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGli
dG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGli
dG9vbC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUg
VkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNs
dWRlIDxzdGRpby5oPgp8ICNpZmRlZiBIQVZFX1NZU19UWVBFU19ICnwgIyBp
bmNsdWRlIDxzeXMvdHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9T
WVNfU1RBVF9ICnwgIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgp8ICNlbmRpZgp8
ICNpZmRlZiBTVERDX0hFQURFUlMKfCAjIGluY2x1ZGUgPHN0ZGxpYi5oPgp8
ICMgaW5jbHVkZSA8c3RkZGVmLmg+CnwgI2Vsc2UKfCAjIGlmZGVmIEhBVkVf
U1RETElCX0gKfCAjICBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGVuZGlmCnwg
I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RSSU5HX0gKfCAjIGlmICFkZWZpbmVk
IFNURENfSEVBREVSUyAmJiBkZWZpbmVkIEhBVkVfTUVNT1JZX0gKfCAjICBp
bmNsdWRlIDxtZW1vcnkuaD4KfCAjIGVuZGlmCnwgIyBpbmNsdWRlIDxzdHJp
bmcuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdTX0gKfCAjIGlu
Y2x1ZGUgPHN0cmluZ3MuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9JTlRU
WVBFU19ICnwgIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgp8ICNlbmRpZgp8ICNp
ZmRlZiBIQVZFX1NURElOVF9ICnwgIyBpbmNsdWRlIDxzdGRpbnQuaD4KfCAj
ZW5kaWYKfCAjaWZkZWYgSEFWRV9VTklTVERfSAp8ICMgaW5jbHVkZSA8dW5p
c3RkLmg+CnwgI2VuZGlmCnwgCnwgI2luY2x1ZGUgPGRsZmNuLmg+CmNvbmZp
Z3VyZTo3OTIzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo3OTg3OiBjaGVja2lu
ZyBmb3IgYXMKY29uZmlndXJlOjgwMDM6IGZvdW5kIC9taW5ndy9iaW4vYXMK
Y29uZmlndXJlOjgwMTQ6IHJlc3VsdDogYXMKY29uZmlndXJlOjgwNzk6IGNo
ZWNraW5nIGZvciBkbGx0b29sCmNvbmZpZ3VyZTo4MTA2OiByZXN1bHQ6IGRs
bHRvb2wKY29uZmlndXJlOjgxNzE6IGNoZWNraW5nIGZvciBvYmpkdW1wCmNv
bmZpZ3VyZTo4MTk4OiByZXN1bHQ6IG9iamR1bXAKY29uZmlndXJlOjg0MjY6
IGNoZWNraW5nIGZvciBvYmpkaXIKY29uZmlndXJlOjg0NDE6IHJlc3VsdDog
LmxpYnMKY29uZmlndXJlOjg3MTI6IGNoZWNraW5nIGlmIGdjYyBzdXBwb3J0
cyAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zCmNvbmZpZ3VyZTo4NzMwOiBn
Y2MgLWMgLWcgLU8yICAtZm5vLXJ0dGkgLWZuby1leGNlcHRpb25zIGNvbmZ0
ZXN0LmMgPiY1CmNjMS5leGU6IHdhcm5pbmc6IGNvbW1hbmQgbGluZSBvcHRp
b24gJy1mbm8tcnR0aScgaXMgdmFsaWQgZm9yIEMrKy9PYmpDKysgYnV0IG5v
dCBmb3IgQyBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KY29uZmlndXJlOjg3MzQ6
ICQ/ID0gMApjb25maWd1cmU6ODc0NzogcmVzdWx0OiBubwpjb25maWd1cmU6
OTA3NDogY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMK
Y29uZmlndXJlOjkwODE6IHJlc3VsdDogLURETExfRVhQT1JUIC1EUElDCmNv
bmZpZ3VyZTo5MDg5OiBjaGVja2luZyBpZiBnY2MgUElDIGZsYWcgLURETExf
RVhQT1JUIC1EUElDIHdvcmtzCmNvbmZpZ3VyZTo5MTA3OiBnY2MgLWMgLWcg
LU8yICAtRERMTF9FWFBPUlQgLURQSUMgLURQSUMgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjkxMTE6ICQ/ID0gMApjb25maWd1cmU6OTEyNDogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjkxNTM6IGNoZWNraW5nIGlmIGdjYyBzdGF0aWMg
ZmxhZyAtc3RhdGljIHdvcmtzCmNvbmZpZ3VyZTo5MTgxOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6OTE5NjogY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1j
IC1vIGZpbGUubwpjb25maWd1cmU6OTIxNzogZ2NjIC1jIC1nIC1PMiAgLW8g
b3V0L2NvbmZ0ZXN0Mi5vIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5MjIx
OiAkPyA9IDAKY29uZmlndXJlOjkyNDM6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo5MjUxOiBjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5v
CmNvbmZpZ3VyZTo5Mjk4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTMzMTog
Y2hlY2tpbmcgd2hldGhlciB0aGUgZ2NjIGxpbmtlciAoYzovdGluZ3cvbWlu
Z3czMi9iaW4vbGQuZXhlKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzCmNv
bmZpZ3VyZToxMDQ4NDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEwNTIxOiBj
aGVja2luZyB3aGV0aGVyIC1sYyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5r
ZWQgaW4KY29uZmlndXJlOjEwNTI5OiBnY2MgLWMgLWcgLU8yICBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6MTA1MzI6ICQ/ID0gMApjb25maWd1cmU6MTA1
NDc6IGdjYyAtc2hhcmVkIGNvbmZ0ZXN0Lm8gIC12IC1vIC4vY29uZnRlc3Qg
LVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91dC1p
bXBsaWIgLVhsaW5rZXIgY29uZnRlc3QgMlw+XCYxIFx8IC9iaW4vZ3JlcCAg
LWxjICBcPi9kZXYvbnVsbCAyXD5cJjEKY29uZmlndXJlOjEwNTUwOiAkPyA9
IDEKY29uZmlndXJlOjEwNTY0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA3
MjQ6IGNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcwpj
b25maWd1cmU6MTE0NTc6IHJlc3VsdDogV2luMzIgbGQuZXhlCmNvbmZpZ3Vy
ZToxMTU2NDogY2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0
aHMgaW50byBwcm9ncmFtcwpjb25maWd1cmU6MTE1ODk6IHJlc3VsdDogaW1t
ZWRpYXRlCmNvbmZpZ3VyZToxMjEyOTogY2hlY2tpbmcgd2hldGhlciBzdHJp
cHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlCmNvbmZpZ3VyZToxMjEzNDog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyMTY5OiBjaGVja2luZyBpZiBsaWJ0
b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMKY29uZmlndXJlOjEyMTcx
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTIxNzQ6IGNoZWNraW5nIHdoZXRo
ZXIgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTIxOTU6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjE5ODogY2hlY2tpbmcgd2hldGhl
ciB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzCmNvbmZpZ3VyZToxMjIwMjog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyMjQwOiBjaGVja2luZyB3aGljaCBl
eHRlbnNpb24gaXMgdXNlZCBmb3IgcnVudGltZSBsb2FkYWJsZSBtb2R1bGVz
CmNvbmZpZ3VyZToxMjI1MjogcmVzdWx0OiAuZGxsCmNvbmZpZ3VyZToxMjI2
OTogY2hlY2tpbmcgd2hpY2ggdmFyaWFibGUgc3BlY2lmaWVzIHJ1bi10aW1l
IG1vZHVsZSBzZWFyY2ggcGF0aApjb25maWd1cmU6MTIyNzY6IHJlc3VsdDog
UEFUSApjb25maWd1cmU6MTIyODY6IGNoZWNraW5nIGZvciB0aGUgZGVmYXVs
dCBsaWJyYXJ5IHNlYXJjaCBwYXRoCmNvbmZpZ3VyZToxMjI5MzogcmVzdWx0
OiAvbGliIC91c3IvbGliCmNvbmZpZ3VyZToxMjMyMzogY2hlY2tpbmcgZm9y
IGxpYnJhcnkgY29udGFpbmluZyBkbG9wZW4KY29uZmlndXJlOjEyMzU0OiBn
Y2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpD
OlxVc2Vyc1xQVVNIX1R+MVxBcHBEYXRhXExvY2FsXFRlbXBcY2NPM0NicDgu
bzogSW4gZnVuY3Rpb24gYG1haW4nOgpjOlxUaW5HV1xsaWJ0b29sLWJ1aWxk
LWR1ZS10by1HTlUvY29uZnRlc3QuYzozNjogdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBgZGxvcGVuJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5l
ZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMjM1NDogJD8gPSAxCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K
fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO
VSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg
ImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi
aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZp
bmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4y
Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RV
TEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQ
QVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xp
YiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgCnwgLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl
dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg
YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj
aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
ciBkbG9wZW4gKCk7CnwgaW50CnwgbWFpbiAoKQp8IHsKfCByZXR1cm4gZGxv
cGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTIz
NTQ6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAt
bGRsICAgPiY1CkM6XFVzZXJzXFBVU0hfVH4xXEFwcERhdGFcTG9jYWxcVGVt
cFxjY3dVckFNVi5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmM6XFRpbkdXXGxp
YnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9jb25mdGVzdC5jOjM2OiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGBkbG9wZW4nCmNvbGxlY3QyLmV4ZTogZXJyb3I6
IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEyMzU0OiAk
PyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9v
bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdF
X1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdF
X0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBB
Q0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9v
bC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVS
U0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9V
TklTVERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVm
aW5lIExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVf
UEFUSF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIv
bGliOi91c3IvbGliIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAv
KiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9p
ZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBt
YXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFu
ZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw
bHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAj
ZW5kaWYKfCBjaGFyIGRsb3BlbiAoKTsKfCBpbnQKfCBtYWluICgpCnwgewp8
IHJldHVybiBkbG9wZW4gKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNv
bmZpZ3VyZToxMjM3MTogcmVzdWx0OiBubwpjb25maWd1cmU6MTIzOTk6IGdj
YyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CkM6
XFVzZXJzXFBVU0hfVH4xXEFwcERhdGFcTG9jYWxcVGVtcFxjY3JSVXdFcS5v
OiBJbiBmdW5jdGlvbiBgbWFpbic6CmM6XFRpbkdXXGxpYnRvb2wtYnVpbGQt
ZHVlLXRvLUdOVS9jb25mdGVzdC5jOjMyOiB1bmRlZmluZWQgcmVmZXJlbmNl
IHRvIGBkbG9wZW4nCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVybmVk
IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEyMzk5OiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V
IExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi
YnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo
dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCnwgI2RlZmlu
ZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi40LjIi
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIExUX01PRFVM
RV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFUSF9WQVIgIlBB
VEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGliOi91c3IvbGli
Igp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaWYgSEFWRV9ETEZDTl9I
CnwgIyAgaW5jbHVkZSA8ZGxmY24uaD4KfCAjZW5kaWYKfCAKfCBpbnQKfCBt
YWluICgpCnwgewp8IGRsb3BlbigwLCAwKTsKfCAgIDsKfCAgIHJldHVybiAw
Owp8IH0KY29uZmlndXJlOjEyNDA2OiBjaGVja2luZyBmb3IgZGxvcGVuIGlu
IC1sc3ZsZApjb25maWd1cmU6MTI0MzE6IGdjYyAtbyBjb25mdGVzdC5leGUg
LWcgLU8yICAgY29uZnRlc3QuYyAtbHN2bGQgICA+JjUKYzovdGluZ3cvYmlu
Ly4uL2xpYi9nY2MvbWluZ3czMi80LjguMS8uLi8uLi8uLi8uLi9taW5ndzMy
L2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sc3ZsZApjb2xsZWN0Mi5leGU6
IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTox
MjQzMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8
IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V
IExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wi
CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2Rl
ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVm
aW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i
CnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRf
TU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hf
UEFUSCAiL2xpYjovdXNyL2xpYiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov
CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUg
dG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQg
bWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0
aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4g
IkMiCnwgI2VuZGlmCnwgY2hhciBkbG9wZW4gKCk7CnwgaW50CnwgbWFpbiAo
KQp8IHsKfCByZXR1cm4gZGxvcGVuICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7
CnwgfQpjb25maWd1cmU6MTI0NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEy
NDc1OiBjaGVja2luZyBmb3Igc2hsX2xvYWQKY29uZmlndXJlOjEyNDc1OiBn
Y2MgLW8gY29uZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpD
OlxVc2Vyc1xQVVNIX1R+MVxBcHBEYXRhXExvY2FsXFRlbXBcY2NDNEF6T1Uu
bzogSW4gZnVuY3Rpb24gYG1haW4nOgpjOlxUaW5HV1xsaWJ0b29sLWJ1aWxk
LWR1ZS10by1HTlUvY29uZnRlc3QuYzo1OTogdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBgc2hsX2xvYWQnCmNvbGxlY3QyLmV4ZTogZXJyb3I6IGxkIHJldHVy
bmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEyNDc1OiAkPyA9IDEKY29u
ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAq
Lwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tB
R0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi
R05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
VCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJM
ICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCnwgI2Rl
ZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi40
LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9T
WVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19I
IDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVm
aW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAx
CnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIExUX01P
RFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFUSF9WQVIg
IlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGliOi91c3Iv
bGliIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgc2hs
X2xvYWQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0
cy5oPiBkZWNsYXJlcyBzaGxfbG9hZC4KfCAgICBGb3IgZXhhbXBsZSwgSFAt
VVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K
fCAjZGVmaW5lIHNobF9sb2FkIGlubm9jdW91c19zaGxfbG9hZAp8IAp8IC8q
IFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhv
cGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBzaGxfbG9hZCAoKTsgYmVsb3cuCnwgICAgIFByZWZl
ciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERDX18gaXMgZGVm
aW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBm
cmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZkZWYgX19TVERD
X18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRl
IDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgc2hsX2xvYWQKfCAK
fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh
dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo
dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg
YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK
fCAjZW5kaWYKfCBjaGFyIHNobF9sb2FkICgpOwp8IC8qIFRoZSBHTlUgQyBs
aWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGlt
cGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBT
b21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRo
aW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBh
biBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19zdHViX3NobF9sb2FkIHx8
IGRlZmluZWQgX19zdHViX19fc2hsX2xvYWQKfCBjaG9rZSBtZQp8ICNlbmRp
Zgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIHNobF9sb2FkICgp
Owp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI0NzU6IHJl
c3VsdDogbm8KY29uZmlndXJlOjEyNDgyOiBjaGVja2luZyBmb3Igc2hsX2xv
YWQgaW4gLWxkbGQKY29uZmlndXJlOjEyNTA3OiBnY2MgLW8gY29uZnRlc3Qu
ZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgLWxkbGQgICA+JjUKYzovdGluZ3cv
YmluLy4uL2xpYi9nY2MvbWluZ3czMi80LjguMS8uLi8uLi8uLi8uLi9taW5n
dzMyL2Jpbi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sZGxkCmNvbGxlY3QyLmV4
ZTogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl
OjEyNTA3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJH
TlUgTGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9v
bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmlu
ZSBQQUNLQUdFX1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdh
cmUvbGlidG9vbC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNk
ZWZpbmUgVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9J
TlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZp
bmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJz
LyIKfCAjZGVmaW5lIExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBM
VF9NT0RVTEVfUEFUSF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJD
SF9QQVRIICIvbGliOi91c3IvbGliIgp8IC8qIGVuZCBjb25mZGVmcy5oLiAg
Ki8KfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGlu
dCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBi
dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQg
c3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVy
biAiQyIKfCAjZW5kaWYKfCBjaGFyIHNobF9sb2FkICgpOwp8IGludAp8IG1h
aW4gKCkKfCB7CnwgcmV0dXJuIHNobF9sb2FkICgpOwp8ICAgOwp8ICAgcmV0
dXJuIDA7CnwgfQpjb25maWd1cmU6MTI1MTY6IHJlc3VsdDogbm8KY29uZmln
dXJlOjEyNTQ2OiBjaGVja2luZyB3aGV0aGVyIGN5Z3dpbl9jb252X3BhdGgg
aXMgZGVjbGFyZWQKY29uZmlndXJlOjEyNTQ2OiBnY2MgLWMgLWcgLU8yICBj
b25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjI1OjI0OiBmYXRhbCBlcnJvcjog
c3lzL2N5Z3dpbi5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5j
bHVkZSA8c3lzL2N5Z3dpbi5oPgogICAgICAgICAgICAgICAgICAgICAgICBe
CmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMjU0NjogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZk
ZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wi
CnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmlu
ZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9T
VFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNL
QUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wv
Igp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJ
T04gIjIuNC4yIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmlu
ZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BB
VEhfVkFSICJQQVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xp
YjovdXNyL2xpYiIKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgI2luY2x1
ZGUgPHN5cy9jeWd3aW4uaD4KfCAKfCBpbnQKfCBtYWluICgpCnwgewp8ICNp
Zm5kZWYgY3lnd2luX2NvbnZfcGF0aAp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
ICAgKHZvaWQpIGN5Z3dpbl9jb252X3BhdGg7CnwgI2Vsc2UKfCAgICh2b2lk
KSBjeWd3aW5fY29udl9wYXRoOwp8ICNlbmRpZgp8ICNlbmRpZgp8IAp8ICAg
Owp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI1NDY6IHJlc3VsdDog
bm8KY29uZmlndXJlOjEyNTYyOiBjaGVja2luZyBmb3IgZGxkX2xpbmsgaW4g
LWxkbGQKY29uZmlndXJlOjEyNTg3OiBnY2MgLW8gY29uZnRlc3QuZXhlIC1n
IC1PMiAgIGNvbmZ0ZXN0LmMgLWxkbGQgICA+JjUKYzovdGluZ3cvYmluLy4u
L2xpYi9nY2MvbWluZ3czMi80LjguMS8uLi8uLi8uLi8uLi9taW5ndzMyL2Jp
bi9sZC5leGU6IGNhbm5vdCBmaW5kIC1sZGxkCmNvbGxlY3QyLmV4ZTogZXJy
b3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjEyNTg3
OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog
Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGli
dG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAj
ZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNL
QUdFX1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNL
QUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5l
IFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGli
dG9vbC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUg
VkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19T
VEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9VTklTVERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAj
ZGVmaW5lIExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RV
TEVfUEFUSF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRI
ICIvbGliOi91c3IvbGliIgp8ICNkZWZpbmUgSEFWRV9ERUNMX0NZR1dJTl9D
T05WX1BBVEggMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAKfCAvKiBP
dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0
aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku
ICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5k
aWYKfCBjaGFyIGRsZF9saW5rICgpOwp8IGludAp8IG1haW4gKCkKfCB7Cnwg
cmV0dXJuIGRsZF9saW5rICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj
b25maWd1cmU6MTI1OTY6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNjMwOiBj
aGVja2luZyBmb3IgXyBwcmVmaXggaW4gY29tcGlsZWQgc3ltYm9scwpjb25m
aWd1cmU6MTI2NDA6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNv
bmZpZ3VyZToxMjY0MzogJD8gPSAwCmNvbmZpZ3VyZToxMjY0NzogL2Jpbi9u
bSAtQiBjb25mdGVzdC5vIFx8IHNlZCAtbiAtZSAncy9eLipbCSBdXChbQUJD
REdJUlNUV11bQUJDREdJUlNUV10qXClbCSBdWwkgXSpfXChbX0EtWmEtel1b
X0EtWmEtejAtOV0qXClcezAsMVx9JC9cMSBfXDIgXDIvcCcgfCBzZWQgJy8g
X19nbnVfbHRvL2QnIFw+IGNvbmZ0ZXN0Lm5tCmNvbmZpZ3VyZToxMjY1MDog
JD8gPSAwCmNvbmZpZ3VyZToxMjY3MjogcmVzdWx0OiB5ZXMKY29uZmlndXJl
OjEyNzk2OiBjaGVja2luZyB3aGV0aGVyIGRlcGxpYnMgYXJlIGxvYWRlZCBi
eSBkbG9wZW4KY29uZmlndXJlOjEyODkwOiByZXN1bHQ6IHVua25vd24KY29u
ZmlndXJlOjEyOTAyOiBjaGVja2luZyBmb3IgYXJnei5oCmNvbmZpZ3VyZTox
MjkwMjogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3Qu
Yzo2MjoxODogZmF0YWwgZXJyb3I6IGFyZ3ouaDogTm8gc3VjaCBmaWxlIG9y
IGRpcmVjdG9yeQogI2luY2x1ZGUgPGFyZ3ouaD4KICAgICAgICAgICAgICAg
ICAgXgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MTI5MDI6
ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBj
b25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBMaWJ0
b29sIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJ0b29sIgp8ICNk
ZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjQuMiIKfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICJHTlUgTGlidG9vbCAyLjQuMiIKfCAjZGVmaW5lIFBBQ0tB
R0VfQlVHUkVQT1JUICJidWctbGlidG9vbEBnbnUub3JnIgp8ICNkZWZpbmUg
UEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0
b29sLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnRvb2wiCnwgI2RlZmluZSBW
RVJTSU9OICIyLjQuMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NU
QVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZF
X1VOSVNURF9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNk
ZWZpbmUgTFRfTU9EVUxFX0VYVCAiLmRsbCIKfCAjZGVmaW5lIExUX01PRFVM
RV9QQVRIX1ZBUiAiUEFUSCIKfCAjZGVmaW5lIExUX0RMU0VBUkNIX1BBVEgg
Ii9saWI6L3Vzci9saWIiCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ1lHV0lOX0NP
TlZfUEFUSCAwCnwgI2RlZmluZSBIQVZFX0xJQkRMTE9BREVSIDEKfCAjZGVm
aW5lIExURExfRExPUEVOX0RFUExJQlMgMQp8IC8qIGVuZCBjb25mZGVmcy5o
LiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYgSEFWRV9TWVNf
VFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CnwgI2VuZGlmCnwg
I2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8c3lzL3N0YXQu
aD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwgIyBpbmNsdWRl
IDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8ICNlbHNlCnwg
IyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8c3RkbGliLmg+
CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR19ICnwg
IyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5lZCBIQVZFX01F
TU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBlbmRpZgp8ICMg
aW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RS
SU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlmCnwgI2lm
ZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4K
fCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8
c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAj
IGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNpbmNsdWRlIDxh
cmd6Lmg+CmNvbmZpZ3VyZToxMjkwMjogcmVzdWx0OiBubwpjb25maWd1cmU6
MTI5MTQ6IGNoZWNraW5nIGZvciBlcnJvcl90CmNvbmZpZ3VyZToxMjkxNDog
Z2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZnRlc3QuYzogSW4g
ZnVuY3Rpb24gJ21haW4nOgpjb25mdGVzdC5jOjM1OjEzOiBlcnJvcjogJ2Vy
cm9yX3QnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u
KQogaWYgKHNpemVvZiAoZXJyb3JfdCkpCiAgICAgICAgICAgICBeCmNvbmZ0
ZXN0LmM6MzU6MTM6IG5vdGU6IGVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVy
IGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlvbiBpdCBh
cHBlYXJzIGluCmNvbmZpZ3VyZToxMjkxNDogJD8gPSAxCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ
T04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0
b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1s
aWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov
L3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFD
S0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNk
ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp
bmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhU
ICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8
ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAj
ZGVmaW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5l
IEhBVkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQ
TElCUyAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpZiBkZWZpbmVk
KEhBVkVfQVJHWl9IKQp8ICMgIGluY2x1ZGUgPGFyZ3ouaD4KfCAjZW5kaWYK
fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IGlmIChzaXplb2YgKGVycm9yX3Qp
KQp8IAkgcmV0dXJuIDA7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZp
Z3VyZToxMjkxNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI5NDA6IGNoZWNr
aW5nIGZvciBhcmd6X2FkZApjb25maWd1cmU6MTI5NDA6IGdjYyAtbyBjb25m
dGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CkM6XFVzZXJzXFBV
U0hfVH4xXEFwcERhdGFcTG9jYWxcVGVtcFxjYzZaclJkMy5vOiBJbiBmdW5j
dGlvbiBgbWFpbic6CmM6XFRpbkdXXGxpYnRvb2wtYnVpbGQtZHVlLXRvLUdO
VS9jb25mdGVzdC5jOjY0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBhcmd6
X2FkZCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0
IHN0YXR1cwpjb25maWd1cmU6MTI5NDA6ICQ/ID0gMQpjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu
ZSBQQUNLQUdFX05BTUUgIkdOVSBMaWJ0b29sIgp8ICNkZWZpbmUgUEFDS0FH
RV9UQVJOQU1FICJsaWJ0b29sIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
ICIyLjQuMiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJHTlUgTGlidG9v
bCAyLjQuMiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJidWctbGli
dG9vbEBnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93
d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0b29sLyIKfCAjZGVmaW5lIFBBQ0tB
R0UgImxpYnRvb2wiCnwgI2RlZmluZSBWRVJTSU9OICIyLjQuMiIKfCAjZGVm
aW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
bmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAx
CnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l
IExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgTFRfTU9EVUxFX0VYVCAi
LmRsbCIKfCAjZGVmaW5lIExUX01PRFVMRV9QQVRIX1ZBUiAiUEFUSCIKfCAj
ZGVmaW5lIExUX0RMU0VBUkNIX1BBVEggIi9saWI6L3Vzci9saWIiCnwgI2Rl
ZmluZSBIQVZFX0RFQ0xfQ1lHV0lOX0NPTlZfUEFUSCAwCnwgI2RlZmluZSBI
QVZFX0xJQkRMTE9BREVSIDEKfCAjZGVmaW5lIExURExfRExPUEVOX0RFUExJ
QlMgMQp8ICNkZWZpbmUgZXJyb3JfdCBpbnQKfCAjZGVmaW5lIF9fZXJyb3Jf
dF9kZWZpbmVkIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVm
aW5lIGFyZ3pfYWRkIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl
IDxsaW1pdHMuaD4gZGVjbGFyZXMgYXJnel9hZGQuCnwgICAgRm9yIGV4YW1w
bGUsIEhQLVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRh
eS4gICovCnwgI2RlZmluZSBhcmd6X2FkZCBpbm5vY3VvdXNfYXJnel9hZGQK
fCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9z
IGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNh
biBjb25mbGljdCB3aXRoIGNoYXIgYXJnel9hZGQgKCk7IGJlbG93Lgp8ICAg
ICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19f
IGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2
ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVm
IF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMg
aW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGFyZ3pf
YWRkCnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5
cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVjYXVzZSBp
bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19jcGx1c3BsdXMKfCBleHRl
cm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhcmd6X2FkZCAoKTsKfCAvKiBUaGUg
R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGlj
aCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5P
U1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCnwgICAg
IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h
bWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9hcmd6
X2FkZCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2FyZ3pfYWRkCnwgY2hva2UgbWUK
fCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBhcmd6
X2FkZCAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEy
OTQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjk0MDogY2hlY2tpbmcgZm9y
IGFyZ3pfYXBwZW5kCmNvbmZpZ3VyZToxMjk0MDogZ2NjIC1vIGNvbmZ0ZXN0
LmV4ZSAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUKQzpcVXNlcnNcUFVTSF9U
fjFcQXBwRGF0YVxMb2NhbFxUZW1wXGNjMTNtbWlLLm86IEluIGZ1bmN0aW9u
IGBtYWluJzoKYzpcVGluR1dcbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL2Nv
bmZ0ZXN0LmM6NjQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFyZ3pfYXBw
ZW5kJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQg
c3RhdHVzCmNvbmZpZ3VyZToxMjk0MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5l
IFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdF
X1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29s
IDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0
b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3
dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FH
RSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmlu
ZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK
fCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NU
RElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUg
TFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIu
ZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNk
ZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVm
aW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhB
VkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElC
UyAxCnwgI2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90
X2RlZmluZWQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZp
bmUgYXJnel9hcHBlbmQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNh
c2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBhcmd6X2FwcGVuZC4KfCAgICBGb3Ig
ZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGlt
ZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGFyZ3pfYXBwZW5kIGlubm9jdW91c19h
cmd6X2FwcGVuZAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9f
c3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAg
ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBhcmd6X2FwcGVuZCAo
KTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQu
aD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0
cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAg
Ki8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5o
Pgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAK
fCAjdW5kZWYgYXJnel9hcHBlbmQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0ND
IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBV
c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5
cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVu
dCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBf
X2NwbHVzcGx1cwp8IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFyZ3pf
YXBwZW5kICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8g
YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUg
YWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGgg
X18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lm
IGRlZmluZWQgX19zdHViX2FyZ3pfYXBwZW5kIHx8IGRlZmluZWQgX19zdHVi
X19fYXJnel9hcHBlbmQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8
IG1haW4gKCkKfCB7CnwgcmV0dXJuIGFyZ3pfYXBwZW5kICgpOwp8ICAgOwp8
ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MTI5NDA6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjEyOTQwOiBjaGVja2luZyBmb3IgYXJnel9jb3VudApjb25m
aWd1cmU6MTI5NDA6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29u
ZnRlc3QuYyAgPiY1CkM6XFVzZXJzXFBVU0hfVH4xXEFwcERhdGFcTG9jYWxc
VGVtcFxjY05ZUm1hVy5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmM6XFRpbkdX
XGxpYnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9jb25mdGVzdC5jOjY0OiB1bmRl
ZmluZWQgcmVmZXJlbmNlIHRvIGBhcmd6X2NvdW50Jwpjb2xsZWN0Mi5leGU6
IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTox
Mjk0MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8
IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05V
IExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wi
CnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2Rl
ZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJl
L2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVm
aW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEK
fCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5l
IEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i
CnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRf
TU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hf
UEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVmaW5lIEhBVkVfREVDTF9DWUdX
SU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhBVkVfTElCRExMT0FERVIgMQp8
ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElCUyAxCnwgI2RlZmluZSBlcnJv
cl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90X2RlZmluZWQgMQp8IC8qIGVu
ZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgYXJnel9jb3VudCB0byBh
biBpbm5vY3VvdXMgdmFyaWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xh
cmVzIGFyZ3pfY291bnQuCnwgICAgRm9yIGV4YW1wbGUsIEhQLVVYIDExaSA8
bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICovCnwgI2RlZmlu
ZSBhcmd6X2NvdW50IGlubm9jdW91c19hcmd6X2NvdW50CnwgCnwgLyogU3lz
dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1
bGx5IGZldyBwcm90b3R5cGVzLAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qg
d2l0aCBjaGFyIGFyZ3pfY291bnQgKCk7IGJlbG93Lgp8ICAgICBQcmVmZXIg
PGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmlu
ZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMuaD4gZXhpc3RzIGV2ZW4gb24gZnJl
ZXN0YW5kaW5nIGNvbXBpbGVycy4gICovCnwgCnwgI2lmZGVmIF9fU1REQ19f
CnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4KfCAjZWxzZQp8ICMgaW5jbHVkZSA8
YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwgI3VuZGVmIGFyZ3pfY291bnQKfCAK
fCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBh
dm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdo
dCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg
YXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8IGV4dGVybiAiQyIK
fCAjZW5kaWYKfCBjaGFyIGFyZ3pfY291bnQgKCk7CnwgLyogVGhlIEdOVSBD
IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQg
aW1wbGVtZW50cwp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g
IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAp8ICAgICBzb21l
dGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz
IGFuIGFsaWFzLiAgKi8KfCAjaWYgZGVmaW5lZCBfX3N0dWJfYXJnel9jb3Vu
dCB8fCBkZWZpbmVkIF9fc3R1Yl9fX2FyZ3pfY291bnQKfCBjaG9rZSBtZQp8
ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7CnwgcmV0dXJuIGFyZ3pf
Y291bnQgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTox
Mjk0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTI5NDA6IGNoZWNraW5nIGZv
ciBhcmd6X2NyZWF0ZV9zZXAKY29uZmlndXJlOjEyOTQwOiBnY2MgLW8gY29u
ZnRlc3QuZXhlIC1nIC1PMiAgIGNvbmZ0ZXN0LmMgID4mNQpDOlxVc2Vyc1xQ
VVNIX1R+MVxBcHBEYXRhXExvY2FsXFRlbXBcY2NJUm9iSmQubzogSW4gZnVu
Y3Rpb24gYG1haW4nOgpjOlxUaW5HV1xsaWJ0b29sLWJ1aWxkLWR1ZS10by1H
TlUvY29uZnRlc3QuYzo2NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgYXJn
el9jcmVhdGVfc2VwJwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5l
ZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxMjk0MDogJD8gPSAxCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8K
fCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdO
VSBMaWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQg
ImJ1Zy1saWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAi
aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZp
bmUgUEFDS0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4y
Igp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
CnwgI2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RS
SU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RV
TEVfRVhUICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQ
QVRIIgp8ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xp
YiIKfCAjZGVmaW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAj
ZGVmaW5lIEhBVkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9Q
RU5fREVQTElCUyAxCnwgI2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUg
X19lcnJvcl90X2RlZmluZWQgMQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8K
fCAvKiBEZWZpbmUgYXJnel9jcmVhdGVfc2VwIHRvIGFuIGlubm9jdW91cyB2
YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYXJnel9jcmVh
dGVfc2VwLgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5o
PiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgYXJnel9j
cmVhdGVfc2VwIGlubm9jdW91c19hcmd6X2NyZWF0ZV9zZXAKfCAKfCAvKiBT
eXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3Bl
ZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdoaWNoIGNhbiBjb25mbGlj
dCB3aXRoIGNoYXIgYXJnel9jcmVhdGVfc2VwICgpOyBiZWxvdy4KfCAgICAg
UHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBp
cyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVu
IG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBf
X1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGlu
Y2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8IAp8ICN1bmRlZiBhcmd6X2Ny
ZWF0ZV9zZXAKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK
fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg
d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFyZ3pfY3JlYXRlX3NlcCAo
KTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1
bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAgIHRvIGFsd2F5cyBm
YWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5
IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0
aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8ICNpZiBkZWZpbmVk
IF9fc3R1Yl9hcmd6X2NyZWF0ZV9zZXAgfHwgZGVmaW5lZCBfX3N0dWJfX19h
cmd6X2NyZWF0ZV9zZXAKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8
IG1haW4gKCkKfCB7CnwgcmV0dXJuIGFyZ3pfY3JlYXRlX3NlcCAoKTsKfCAg
IDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEyOTQwOiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToxMjk0MDogY2hlY2tpbmcgZm9yIGFyZ3pfaW5zZXJ0
CmNvbmZpZ3VyZToxMjk0MDogZ2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIg
ICBjb25mdGVzdC5jICA+JjUKQzpcVXNlcnNcUFVTSF9UfjFcQXBwRGF0YVxM
b2NhbFxUZW1wXGNjVUtuTVVSLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKYzpc
VGluR1dcbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL2NvbmZ0ZXN0LmM6NjQ6
IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGFyZ3pfaW5zZXJ0Jwpjb2xsZWN0
Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp
Z3VyZToxMjk0MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFN
RSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImxp
YnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4yIgp8ICNk
ZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgp8ICNk
ZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdudS5vcmci
CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUub3JnL3Nv
ZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGlidG9vbCIK
fCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1REQ19IRUFE
RVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX01FTU9S
WV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhB
VkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIu
bGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8ICNkZWZp
bmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUgTFRfRExT
RUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVmaW5lIEhBVkVfREVD
TF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhBVkVfTElCRExMT0FE
RVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElCUyAxCnwgI2RlZmlu
ZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90X2RlZmluZWQgMQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAvKiBEZWZpbmUgYXJnel9pbnNl
cnQgdG8gYW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5o
PiBkZWNsYXJlcyBhcmd6X2luc2VydC4KfCAgICBGb3IgZXhhbXBsZSwgSFAt
VVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8K
fCAjZGVmaW5lIGFyZ3pfaW5zZXJ0IGlubm9jdW91c19hcmd6X2luc2VydAp8
IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3Mg
YW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2Fu
IGNvbmZsaWN0IHdpdGggY2hhciBhcmd6X2luc2VydCAoKTsgYmVsb3cuCnwg
ICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3NlcnQuaD4gaWYgX19TVERD
X18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxpbWl0cy5oPiBleGlzdHMg
ZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJzLiAgKi8KfCAKfCAjaWZk
ZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0cy5oPgp8ICNlbHNlCnwg
IyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYKfCAKfCAjdW5kZWYgYXJn
el9pbnNlcnQKfCAKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MK
fCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg
d291bGQgc3RpbGwgYXBwbHkuICAqLwp8ICNpZmRlZiBfX2NwbHVzcGx1cwp8
IGV4dGVybiAiQyIKfCAjZW5kaWYKfCBjaGFyIGFyZ3pfaW5zZXJ0ICgpOwp8
IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlzIGZhaWwg
d2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt
ZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBu
b3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmluZWQgX19z
dHViX2FyZ3pfaW5zZXJ0IHx8IGRlZmluZWQgX19zdHViX19fYXJnel9pbnNl
cnQKfCBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8IGludAp8IG1haW4gKCkKfCB7
CnwgcmV0dXJuIGFyZ3pfaW5zZXJ0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7
CnwgfQpjb25maWd1cmU6MTI5NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjEy
OTQwOiBjaGVja2luZyBmb3IgYXJnel9uZXh0CmNvbmZpZ3VyZToxMjk0MDog
Z2NjIC1vIGNvbmZ0ZXN0LmV4ZSAtZyAtTzIgICBjb25mdGVzdC5jICA+JjUK
QzpcVXNlcnNcUFVTSF9UfjFcQXBwRGF0YVxMb2NhbFxUZW1wXGNjSVRpbm56
Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKYzpcVGluR1dcbGlidG9vbC1idWls
ZC1kdWUtdG8tR05VL2NvbmZ0ZXN0LmM6NjQ6IHVuZGVmaW5lZCByZWZlcmVu
Y2UgdG8gYGFyZ3pfbmV4dCcKY29sbGVjdDIuZXhlOiBlcnJvcjogbGQgcmV0
dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6MTI5NDA6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5o
ICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdOVSBMaWJ0b29sIgp8ICNk
ZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJ0b29sIgp8ICNkZWZpbmUgUEFD
S0FHRV9WRVJTSU9OICIyLjQuMiIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5H
ICJHTlUgTGlidG9vbCAyLjQuMiIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQ
T1JUICJidWctbGlidG9vbEBnbnUub3JnIgp8ICNkZWZpbmUgUEFDS0FHRV9V
UkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0b29sLyIKfCAj
ZGVmaW5lIFBBQ0tBR0UgImxpYnRvb2wiCnwgI2RlZmluZSBWRVJTSU9OICIy
LjQuMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZF
X1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwg
I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
X0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxCnwgI2RlZmluZSBIQVZF
X1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgTFRf
TU9EVUxFX0VYVCAiLmRsbCIKfCAjZGVmaW5lIExUX01PRFVMRV9QQVRIX1ZB
UiAiUEFUSCIKfCAjZGVmaW5lIExUX0RMU0VBUkNIX1BBVEggIi9saWI6L3Vz
ci9saWIiCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ1lHV0lOX0NPTlZfUEFUSCAw
CnwgI2RlZmluZSBIQVZFX0xJQkRMTE9BREVSIDEKfCAjZGVmaW5lIExURExf
RExPUEVOX0RFUExJQlMgMQp8ICNkZWZpbmUgZXJyb3JfdCBpbnQKfCAjZGVm
aW5lIF9fZXJyb3JfdF9kZWZpbmVkIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4g
ICovCnwgLyogRGVmaW5lIGFyZ3pfbmV4dCB0byBhbiBpbm5vY3VvdXMgdmFy
aWFudCwgaW4gY2FzZSA8bGltaXRzLmg+IGRlY2xhcmVzIGFyZ3pfbmV4dC4K
fCAgICBGb3IgZXhhbXBsZSwgSFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFy
ZXMgZ2V0dGltZW9mZGF5LiAgKi8KfCAjZGVmaW5lIGFyZ3pfbmV4dCBpbm5v
Y3VvdXNfYXJnel9uZXh0CnwgCnwgLyogU3lzdGVtIGhlYWRlciB0byBkZWZp
bmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVz
LAp8ICAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGFyZ3pfbmV4
dCAoKTsgYmVsb3cuCnwgICAgIFByZWZlciA8bGltaXRzLmg+IHRvIDxhc3Nl
cnQuaD4gaWYgX19TVERDX18gaXMgZGVmaW5lZCwgc2luY2UKfCAgICAgPGxp
bWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29tcGlsZXJz
LiAgKi8KfCAKfCAjaWZkZWYgX19TVERDX18KfCAjIGluY2x1ZGUgPGxpbWl0
cy5oPgp8ICNlbHNlCnwgIyBpbmNsdWRlIDxhc3NlcnQuaD4KfCAjZW5kaWYK
fCAKfCAjdW5kZWYgYXJnel9uZXh0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg
VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0
eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l
bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg
X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhcmd6
X25leHQgKCk7CnwgLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz
IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwp8ICAgICB0byBh
bHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh
Y3R1YWxseSBuYW1lZAp8ICAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf
XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KfCAjaWYg
ZGVmaW5lZCBfX3N0dWJfYXJnel9uZXh0IHx8IGRlZmluZWQgX19zdHViX19f
YXJnel9uZXh0CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu
ICgpCnwgewp8IHJldHVybiBhcmd6X25leHQgKCk7CnwgICA7CnwgICByZXR1
cm4gMDsKfCB9CmNvbmZpZ3VyZToxMjk0MDogcmVzdWx0OiBubwpjb25maWd1
cmU6MTI5NDA6IGNoZWNraW5nIGZvciBhcmd6X3N0cmluZ2lmeQpjb25maWd1
cmU6MTI5NDA6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRl
c3QuYyAgPiY1CkM6XFVzZXJzXFBVU0hfVH4xXEFwcERhdGFcTG9jYWxcVGVt
cFxjY0VQNFVPOS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6CmM6XFRpbkdXXGxp
YnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9jb25mdGVzdC5jOjY0OiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGBhcmd6X3N0cmluZ2lmeScKY29sbGVjdDIuZXhl
OiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6
MTI5NDA6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoK
fCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkdO
VSBMaWJ0b29sIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJ0b29s
Igp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIyLjQuMiIKfCAjZGVmaW5l
IFBBQ0tBR0VfU1RSSU5HICJHTlUgTGlidG9vbCAyLjQuMiIKfCAjZGVmaW5l
IFBBQ0tBR0VfQlVHUkVQT1JUICJidWctbGlidG9vbEBnbnUub3JnIgp8ICNk
ZWZpbmUgUEFDS0FHRV9VUkwgImh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2Fy
ZS9saWJ0b29sLyIKfCAjZGVmaW5lIFBBQ0tBR0UgImxpYnRvb2wiCnwgI2Rl
ZmluZSBWRVJTSU9OICIyLjQuMiIKfCAjZGVmaW5lIFNURENfSEVBREVSUyAx
CnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVm
aW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAx
CnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX0lO
VFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMv
Igp8ICNkZWZpbmUgTFRfTU9EVUxFX0VYVCAiLmRsbCIKfCAjZGVmaW5lIExU
X01PRFVMRV9QQVRIX1ZBUiAiUEFUSCIKfCAjZGVmaW5lIExUX0RMU0VBUkNI
X1BBVEggIi9saWI6L3Vzci9saWIiCnwgI2RlZmluZSBIQVZFX0RFQ0xfQ1lH
V0lOX0NPTlZfUEFUSCAwCnwgI2RlZmluZSBIQVZFX0xJQkRMTE9BREVSIDEK
fCAjZGVmaW5lIExURExfRExPUEVOX0RFUExJQlMgMQp8ICNkZWZpbmUgZXJy
b3JfdCBpbnQKfCAjZGVmaW5lIF9fZXJyb3JfdF9kZWZpbmVkIDEKfCAvKiBl
bmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIGFyZ3pfc3RyaW5naWZ5
IHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNlIDxsaW1pdHMuaD4g
ZGVjbGFyZXMgYXJnel9zdHJpbmdpZnkuCnwgICAgRm9yIGV4YW1wbGUsIEhQ
LVVYIDExaSA8bGltaXRzLmg+IGRlY2xhcmVzIGdldHRpbWVvZmRheS4gICov
CnwgI2RlZmluZSBhcmd6X3N0cmluZ2lmeSBpbm5vY3VvdXNfYXJnel9zdHJp
bmdpZnkKfCAKfCAvKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCnwgICAgIHdo
aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgYXJnel9zdHJpbmdpZnkgKCk7
IGJlbG93Lgp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0Lmg+
IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlCnwgICAgIDxsaW1pdHMu
aD4gZXhpc3RzIGV2ZW4gb24gZnJlZXN0YW5kaW5nIGNvbXBpbGVycy4gICov
CnwgCnwgI2lmZGVmIF9fU1REQ19fCnwgIyBpbmNsdWRlIDxsaW1pdHMuaD4K
fCAjZWxzZQp8ICMgaW5jbHVkZSA8YXNzZXJ0Lmg+CnwgI2VuZGlmCnwgCnwg
I3VuZGVmIGFyZ3pfc3RyaW5naWZ5CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAg
VXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0
eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1l
bnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYg
X19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBhcmd6
X3N0cmluZ2lmeSAoKTsKfCAvKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVz
IHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCnwgICAg
IHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMg
YXJlIGFjdHVhbGx5IG5hbWVkCnwgICAgIHNvbWV0aGluZyBzdGFydGluZyB3
aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwp8
ICNpZiBkZWZpbmVkIF9fc3R1Yl9hcmd6X3N0cmluZ2lmeSB8fCBkZWZpbmVk
IF9fc3R1Yl9fX2FyZ3pfc3RyaW5naWZ5CnwgY2hva2UgbWUKfCAjZW5kaWYK
fCAKfCBpbnQKfCBtYWluICgpCnwgewp8IHJldHVybiBhcmd6X3N0cmluZ2lm
eSAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjEyOTQw
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzAwODogY2hlY2tpbmcgd2hldGhl
ciBsaWJ0b29sIHN1cHBvcnRzIC1kbG9wZW4vLWRscHJlb3Blbgpjb25maWd1
cmU6MTMwMjA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzA3MzogY2hlY2tp
bmcgZm9yIHVuaXN0ZC5oCmNvbmZpZ3VyZToxMzA3MzogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEzMDczOiBjaGVja2luZyBmb3IgZGwuaApjb25maWd1cmU6
MTMwNzM6IGdjYyAtYyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0
LmM6NjY6MTY6IGZhdGFsIGVycm9yOiBkbC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CiAjaW5jbHVkZSA8ZGwuaD4KICAgICAgICAgICAgICAgIF4K
Y29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjEzMDczOiAkPyA9
IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRl
ZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIK
fCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NU
UklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tB
R0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8i
CnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lP
TiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NU
UklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklT
VERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5l
IExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFU
SF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGli
Oi91c3IvbGliIgp8ICNkZWZpbmUgSEFWRV9ERUNMX0NZR1dJTl9DT05WX1BB
VEggMAp8ICNkZWZpbmUgSEFWRV9MSUJETExPQURFUiAxCnwgI2RlZmluZSBM
VERMX0RMT1BFTl9ERVBMSUJTIDEKfCAjZGVmaW5lIGVycm9yX3QgaW50Cnwg
I2RlZmluZSBfX2Vycm9yX3RfZGVmaW5lZCAxCnwgI2RlZmluZSBIQVZFX1BS
RUxPQURFRF9TWU1CT0xTIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8
IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4K
fCAjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5
cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMg
aW5jbHVkZSA8c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19I
RUFERVJTCnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0
ZGRlZi5oPgp8ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAg
aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1NUUklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMg
JiYgZGVmaW5lZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5
Lmg+CnwgIyBlbmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdz
Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5j
bHVkZSA8aW50dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJ
TlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVm
IEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRp
Zgp8IAp8ICNpbmNsdWRlIDxkbC5oPgpjb25maWd1cmU6MTMwNzM6IHJlc3Vs
dDogbm8KY29uZmlndXJlOjEzMDczOiBjaGVja2luZyBmb3Igc3lzL2RsLmgK
Y29uZmlndXJlOjEzMDczOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4m
NQpjb25mdGVzdC5jOjY2OjIwOiBmYXRhbCBlcnJvcjogc3lzL2RsLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKICNpbmNsdWRlIDxzeXMvZGwuaD4K
ICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQu
CmNvbmZpZ3VyZToxMzA3MzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB
R0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4y
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4y
Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdu
dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUu
b3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGli
dG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1RE
Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JK
RElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8
ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUg
TFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVmaW5lIEhB
VkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhBVkVfTElC
RExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElCUyAxCnwg
I2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90X2RlZmlu
ZWQgMQp8ICNkZWZpbmUgSEFWRV9QUkVMT0FERURfU1lNQk9MUyAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov
CnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVT
X0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNlbmRpZgp8ICNpZmRl
ZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+Cnwg
I2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMgaW5jbHVkZSA8c3Rk
bGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAjZWxzZQp8ICMgaWZk
ZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0ZGxpYi5oPgp8ICMg
ZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaWYg
IWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQgSEFWRV9NRU1PUllf
SAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5kaWYKfCAjIGluY2x1
ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NUUklOR1Nf
SAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
QVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5cGVzLmg+CnwgI2Vu
ZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGluY2x1ZGUgPHN0ZGlu
dC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNURF9ICnwgIyBpbmNs
dWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5jbHVkZSA8c3lzL2Rs
Lmg+CmNvbmZpZ3VyZToxMzA3MzogcmVzdWx0OiBubwpjb25maWd1cmU6MTMw
NzM6IGNoZWNraW5nIGZvciBkbGQuaApjb25maWd1cmU6MTMwNzM6IGdjYyAt
YyAtZyAtTzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZ0ZXN0LmM6NjY6MTc6IGZh
dGFsIGVycm9yOiBkbGQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQog
I2luY2x1ZGUgPGRsZC5oPgogICAgICAgICAgICAgICAgIF4KY29tcGlsYXRp
b24gdGVybWluYXRlZC4KY29uZmlndXJlOjEzMDczOiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8
ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05V
IExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAi
YnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJo
dHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCnwgI2RlZmlu
ZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi40LjIi
CnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp
bmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEK
fCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5l
IEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwg
I2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIExUX01PRFVM
RV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFUSF9WQVIgIlBB
VEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGliOi91c3IvbGli
Igp8ICNkZWZpbmUgSEFWRV9ERUNMX0NZR1dJTl9DT05WX1BBVEggMAp8ICNk
ZWZpbmUgSEFWRV9MSUJETExPQURFUiAxCnwgI2RlZmluZSBMVERMX0RMT1BF
Tl9ERVBMSUJTIDEKfCAjZGVmaW5lIGVycm9yX3QgaW50CnwgI2RlZmluZSBf
X2Vycm9yX3RfZGVmaW5lZCAxCnwgI2RlZmluZSBIQVZFX1BSRUxPQURFRF9T
WU1CT0xTIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8IC8qIGVuZCBj
b25mZGVmcy5oLiAgKi8KfCAjaW5jbHVkZSA8c3RkaW8uaD4KfCAjaWZkZWYg
SEFWRV9TWVNfVFlQRVNfSAp8ICMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cnwg
I2VuZGlmCnwgI2lmZGVmIEhBVkVfU1lTX1NUQVRfSAp8ICMgaW5jbHVkZSA8
c3lzL3N0YXQuaD4KfCAjZW5kaWYKfCAjaWZkZWYgU1REQ19IRUFERVJTCnwg
IyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjIGluY2x1ZGUgPHN0ZGRlZi5oPgp8
ICNlbHNlCnwgIyBpZmRlZiBIQVZFX1NURExJQl9ICnwgIyAgaW5jbHVkZSA8
c3RkbGliLmg+CnwgIyBlbmRpZgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1NU
UklOR19ICnwgIyBpZiAhZGVmaW5lZCBTVERDX0hFQURFUlMgJiYgZGVmaW5l
ZCBIQVZFX01FTU9SWV9ICnwgIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CnwgIyBl
bmRpZgp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlmCnwgI2lmZGVm
IEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2Vu
ZGlmCnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50
dHlwZXMuaD4KfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMg
aW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5J
U1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNlbmRpZgp8IAp8ICNp
bmNsdWRlIDxkbGQuaD4KY29uZmlndXJlOjEzMDczOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxMzA3MzogY2hlY2tpbmcgZm9yIG1hY2gtby9keWxkLmgKY29u
ZmlndXJlOjEzMDczOiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpj
b25mdGVzdC5jOjY2OjI1OiBmYXRhbCBlcnJvcjogbWFjaC1vL2R5bGQuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQogI2luY2x1ZGUgPG1hY2gtby9k
eWxkLmg+CiAgICAgICAgICAgICAgICAgICAgICAgICBeCmNvbXBpbGF0aW9u
IHRlcm1pbmF0ZWQuCmNvbmZpZ3VyZToxMzA3MzogJD8gPSAxCmNvbmZpZ3Vy
ZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj
ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQ
QUNLQUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZF
UlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBM
aWJ0b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1
Zy1saWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0
cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUg
UEFDS0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8
ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg
I2RlZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBI
QVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNk
ZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVf
RVhUICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRI
Igp8ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIK
fCAjZGVmaW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVm
aW5lIEhBVkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5f
REVQTElCUyAxCnwgI2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19l
cnJvcl90X2RlZmluZWQgMQp8ICNkZWZpbmUgSEFWRV9QUkVMT0FERURfU1lN
Qk9MUyAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAvKiBlbmQgY29u
ZmRlZnMuaC4gICovCnwgI2luY2x1ZGUgPHN0ZGlvLmg+CnwgI2lmZGVmIEhB
VkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNl
bmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5
cy9zdGF0Lmg+CnwgI2VuZGlmCnwgI2lmZGVmIFNURENfSEVBREVSUwp8ICMg
aW5jbHVkZSA8c3RkbGliLmg+CnwgIyBpbmNsdWRlIDxzdGRkZWYuaD4KfCAj
ZWxzZQp8ICMgaWZkZWYgSEFWRV9TVERMSUJfSAp8ICMgIGluY2x1ZGUgPHN0
ZGxpYi5oPgp8ICMgZW5kaWYKfCAjZW5kaWYKfCAjaWZkZWYgSEFWRV9TVFJJ
TkdfSAp8ICMgaWYgIWRlZmluZWQgU1REQ19IRUFERVJTICYmIGRlZmluZWQg
SEFWRV9NRU1PUllfSAp8ICMgIGluY2x1ZGUgPG1lbW9yeS5oPgp8ICMgZW5k
aWYKfCAjIGluY2x1ZGUgPHN0cmluZy5oPgp8ICNlbmRpZgp8ICNpZmRlZiBI
QVZFX1NUUklOR1NfSAp8ICMgaW5jbHVkZSA8c3RyaW5ncy5oPgp8ICNlbmRp
Zgp8ICNpZmRlZiBIQVZFX0lOVFRZUEVTX0gKfCAjIGluY2x1ZGUgPGludHR5
cGVzLmg+CnwgI2VuZGlmCnwgI2lmZGVmIEhBVkVfU1RESU5UX0gKfCAjIGlu
Y2x1ZGUgPHN0ZGludC5oPgp8ICNlbmRpZgp8ICNpZmRlZiBIQVZFX1VOSVNU
RF9ICnwgIyBpbmNsdWRlIDx1bmlzdGQuaD4KfCAjZW5kaWYKfCAKfCAjaW5j
bHVkZSA8bWFjaC1vL2R5bGQuaD4KY29uZmlndXJlOjEzMDczOiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToxMzA3MzogY2hlY2tpbmcgZm9yIGRpcmVudC5oCmNv
bmZpZ3VyZToxMzA3MzogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjEzMDczOiAkPyA9IDAKY29uZmlndXJlOjEzMDczOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6MTMwODg6IGNoZWNraW5nIGZvciBjbG9zZWRp
cgpjb25maWd1cmU6MTMwODg6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8y
ICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToxMzA4ODogJD8gPSAwCmNv
bmZpZ3VyZToxMzA4ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMDg4OiBj
aGVja2luZyBmb3Igb3BlbmRpcgpjb25maWd1cmU6MTMwODg6IGdjYyAtbyBj
b25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3Vy
ZToxMzA4ODogJD8gPSAwCmNvbmZpZ3VyZToxMzA4ODogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjEzMDg4OiBjaGVja2luZyBmb3IgcmVhZGRpcgpjb25maWd1
cmU6MTMwODg6IGdjYyAtbyBjb25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRl
c3QuYyAgPiY1CmNvbmZpZ3VyZToxMzA4ODogJD8gPSAwCmNvbmZpZ3VyZTox
MzA4ODogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMTA3OiBjaGVja2luZyBm
b3Igc3RybGNhdApjb25maWd1cmU6MTMxMDc6IGdjYyAtbyBjb25mdGVzdC5l
eGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CkM6XFVzZXJzXFBVU0hfVH4x
XEFwcERhdGFcTG9jYWxcVGVtcFxjY2F4OFpSbC5vOiBJbiBmdW5jdGlvbiBg
bWFpbic6CmM6XFRpbkdXXGxpYnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9jb25m
dGVzdC5jOjcwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdHJsY2F0Jwpj
b2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz
CmNvbmZpZ3VyZToxMzEwNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tB
R0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5B
TUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuNC4y
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4y
Igp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1saWJ0b29sQGdu
dS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDovL3d3dy5nbnUu
b3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFDS0FHRSAibGli
dG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNkZWZpbmUgU1RE
Q19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElC
X0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZF
X01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgTFRfT0JK
RElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhUICIuZGxsIgp8
ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8ICNkZWZpbmUg
TFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAjZGVmaW5lIEhB
VkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5lIEhBVkVfTElC
RExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQTElCUyAxCnwg
I2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJvcl90X2RlZmlu
ZWQgMQp8ICNkZWZpbmUgSEFWRV9QUkVMT0FERURfU1lNQk9MUyAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfRElSRU5UX0gg
MQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmluZSBIQVZFX09Q
RU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9SRUFERElSIDEKfCAvKiBlbmQgY29u
ZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHN0cmxjYXQgdG8gYW4gaW5ub2N1
b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNsYXJlcyBzdHJs
Y2F0Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBk
ZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUgc3RybGNhdCBp
bm5vY3VvdXNfc3RybGNhdAp8IAp8IC8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm
aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl
cywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzdHJsY2F0
ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2Vy
dC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8ICAgICA8bGlt
aXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMu
ICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVkZSA8bGltaXRz
Lmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8ICNlbmRpZgp8
IAp8ICN1bmRlZiBzdHJsY2F0CnwgCnwgLyogT3ZlcnJpZGUgYW55IEdDQyBp
bnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg
cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAjaWZkZWYgX19j
cGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hhciBzdHJsY2F0
ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig
ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAgdG8gYWx3YXlz
IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs
bHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k
IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwgI2lmIGRlZmlu
ZWQgX19zdHViX3N0cmxjYXQgfHwgZGVmaW5lZCBfX3N0dWJfX19zdHJsY2F0
CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWluICgpCnwgewp8
IHJldHVybiBzdHJsY2F0ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpj
b25maWd1cmU6MTMxMDc6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMTA3OiBj
aGVja2luZyBmb3Igc3RybGNweQpjb25maWd1cmU6MTMxMDc6IGdjYyAtbyBj
b25mdGVzdC5leGUgLWcgLU8yICAgY29uZnRlc3QuYyAgPiY1CkM6XFVzZXJz
XFBVU0hfVH4xXEFwcERhdGFcTG9jYWxcVGVtcFxjY2ZCY0VYbC5vOiBJbiBm
dW5jdGlvbiBgbWFpbic6CmM6XFRpbkdXXGxpYnRvb2wtYnVpbGQtZHVlLXRv
LUdOVS9jb25mdGVzdC5jOjcwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBz
dHJsY3B5Jwpjb2xsZWN0Mi5leGU6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4
aXQgc3RhdHVzCmNvbmZpZ3VyZToxMzEwNzogJD8gPSAxCmNvbmZpZ3VyZTog
ZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVm
aW5lIFBBQ0tBR0VfTkFNRSAiR05VIExpYnRvb2wiCnwgI2RlZmluZSBQQUNL
QUdFX1RBUk5BTUUgImxpYnRvb2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJ
T04gIjIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkdOVSBMaWJ0
b29sIDIuNC4yIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImJ1Zy1s
aWJ0b29sQGdudS5vcmciCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiaHR0cDov
L3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgp8ICNkZWZpbmUgUEFD
S0FHRSAibGlidG9vbCIKfCAjZGVmaW5lIFZFUlNJT04gIjIuNC4yIgp8ICNk
ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX01FTU9SWV9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZp
bmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBMVF9NT0RVTEVfRVhU
ICIuZGxsIgp8ICNkZWZpbmUgTFRfTU9EVUxFX1BBVEhfVkFSICJQQVRIIgp8
ICNkZWZpbmUgTFRfRExTRUFSQ0hfUEFUSCAiL2xpYjovdXNyL2xpYiIKfCAj
ZGVmaW5lIEhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRIIDAKfCAjZGVmaW5l
IEhBVkVfTElCRExMT0FERVIgMQp8ICNkZWZpbmUgTFRETF9ETE9QRU5fREVQ
TElCUyAxCnwgI2RlZmluZSBlcnJvcl90IGludAp8ICNkZWZpbmUgX19lcnJv
cl90X2RlZmluZWQgMQp8ICNkZWZpbmUgSEFWRV9QUkVMT0FERURfU1lNQk9M
UyAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVf
RElSRU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCnwgI2RlZmlu
ZSBIQVZFX09QRU5ESVIgMQp8ICNkZWZpbmUgSEFWRV9SRUFERElSIDEKfCAv
KiBlbmQgY29uZmRlZnMuaC4gICovCnwgLyogRGVmaW5lIHN0cmxjcHkgdG8g
YW4gaW5ub2N1b3VzIHZhcmlhbnQsIGluIGNhc2UgPGxpbWl0cy5oPiBkZWNs
YXJlcyBzdHJsY3B5Lgp8ICAgIEZvciBleGFtcGxlLCBIUC1VWCAxMWkgPGxp
bWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLwp8ICNkZWZpbmUg
c3RybGNweSBpbm5vY3VvdXNfc3RybGNweQp8IAp8IC8qIFN5c3RlbSBoZWFk
ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcg
cHJvdG90eXBlcywKfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hh
ciBzdHJsY3B5ICgpOyBiZWxvdy4KfCAgICAgUHJlZmVyIDxsaW1pdHMuaD4g
dG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVkLCBzaW5jZQp8
ICAgICA8bGltaXRzLmg+IGV4aXN0cyBldmVuIG9uIGZyZWVzdGFuZGluZyBj
b21waWxlcnMuICAqLwp8IAp8ICNpZmRlZiBfX1NURENfXwp8ICMgaW5jbHVk
ZSA8bGltaXRzLmg+CnwgI2Vsc2UKfCAjIGluY2x1ZGUgPGFzc2VydC5oPgp8
ICNlbmRpZgp8IAp8ICN1bmRlZiBzdHJsY3B5CnwgCnwgLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJl
dHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMg
YXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KfCAj
aWZkZWYgX19jcGx1c3BsdXMKfCBleHRlcm4gIkMiCnwgI2VuZGlmCnwgY2hh
ciBzdHJsY3B5ICgpOwp8IC8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMg
dGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKfCAgICAg
dG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh
cmUgYWN0dWFsbHkgbmFtZWQKfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdp
dGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCnwg
I2lmIGRlZmluZWQgX19zdHViX3N0cmxjcHkgfHwgZGVmaW5lZCBfX3N0dWJf
X19zdHJsY3B5CnwgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCBpbnQKfCBtYWlu
ICgpCnwgewp8IHJldHVybiBzdHJsY3B5ICgpOwp8ICAgOwp8ICAgcmV0dXJu
IDA7CnwgfQpjb25maWd1cmU6MTMxMDc6IHJlc3VsdDogbm8KY29uZmlndXJl
OjEzMjAyOiBjaGVja2luZyBmb3IgZysrCmNvbmZpZ3VyZToxMzIxODogZm91
bmQgL21pbmd3L2Jpbi9nKysKY29uZmlndXJlOjEzMjI5OiByZXN1bHQ6IGcr
Kwpjb25maWd1cmU6MTMyNTY6IGNoZWNraW5nIGZvciBDKysgY29tcGlsZXIg
dmVyc2lvbgpjb25maWd1cmU6MTMyNjU6IGcrKyAtLXZlcnNpb24gPiY1Cmcr
Ky5leGUgKEdDQykgNC44LjENCkNvcHlyaWdodCAoQykgMjAxMyBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4NClRoaXMgaXMgZnJlZSBzb2Z0d2Fy
ZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRo
ZXJlIGlzIE5PDQp3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4NCg0K
Y29uZmlndXJlOjEzMjc2OiAkPyA9IDAKY29uZmlndXJlOjEzMjY1OiBnKysg
LXYgPiY1ClVzaW5nIGJ1aWx0LWluIHNwZWNzLgpDT0xMRUNUX0dDQz1jOlxU
aW5HV1xiaW5cZysrLmV4ZQpDT0xMRUNUX0xUT19XUkFQUEVSPWM6L3Rpbmd3
L2Jpbi8uLi9saWJleGVjL2djYy9taW5ndzMyLzQuOC4xL2x0by13cmFwcGVy
LmV4ZQpUYXJnZXQ6IG1pbmd3MzIKQ29uZmlndXJlZCB3aXRoOiAuLi9nY2Mt
NC44LjEvY29uZmlndXJlIC0tcHJlZml4PS9taW5ndyAtLWhvc3Q9bWluZ3cz
MiAtLWJ1aWxkPW1pbmd3MzIgLS13aXRob3V0LXBpYyAtLWVuYWJsZS1zaGFy
ZWQgLS1lbmFibGUtc3RhdGljIC0td2l0aC1nbnUtbGQgLS1lbmFibGUtbHRv
IC0tZW5hYmxlLWxpYnNzcCAtLWRpc2FibGUtbXVsdGlsaWIgLS1lbmFibGUt
bGFuZ3VhZ2VzPWMsYysrLGZvcnRyYW4sb2JqYyxvYmotYysrLGFkYSAtLWRp
c2FibGUtc2psai1leGNlcHRpb25zIC0td2l0aC1kd2FyZjIgLS1kaXNhYmxl
LXdpbjMyLXJlZ2lzdHJ5IC0tZW5hYmxlLWxpYnN0ZGN4eC1kZWJ1ZyAtLWVu
YWJsZS12ZXJzaW9uLXNwZWNpZmljLXJ1bnRpbWUtbGlicyAtLXdpdGgtZ21w
PS91c3Ivc3JjL3BrZy9nbXAtNS4xLjItMS1taW5ndzMyLXNyYy9ibGQgLS13
aXRoLW1wYz0vdXNyL3NyYy9wa2cvbXBjLTEuMC4xLTEtbWluZ3czMi1zcmMv
YmxkIC0td2l0aC1tcGZyPSAtLXdpdGgtc3lzdGVtLXpsaWIgLS13aXRoLWdu
dS1hcyAtLWVuYWJsZS1kZWNpbWFsLWZsb2F0PXllcyAtLWVuYWJsZS1saWJn
b21wIC0tZW5hYmxlLXRocmVhZHMgLS13aXRoLWxpYmljb252LXByZWZpeD0v
bWluZ3czMiAtLXdpdGgtbGliaW50bC1wcmVmaXg9L21pbmd3IC0tZGlzYWJs
ZS1ib290c3RyYXAgTERGTEFHUz0tcyBDRkxBR1M9LURfVVNFXzMyQklUX1RJ
TUVfVApUaHJlYWQgbW9kZWw6IHdpbjMyCmdjYyB2ZXJzaW9uIDQuOC4xIChH
Q0MpIApjb25maWd1cmU6MTMyNzY6ICQ/ID0gMApjb25maWd1cmU6MTMyNjU6
IGcrKyAtViA+JjUKZysrLmV4ZTogZXJyb3I6IHVucmVjb2duaXplZCBjb21t
YW5kIGxpbmUgb3B0aW9uICctVicKZysrLmV4ZTogZmF0YWwgZXJyb3I6IG5v
IGlucHV0IGZpbGVzCmNvbXBpbGF0aW9uIHRlcm1pbmF0ZWQuCmNvbmZpZ3Vy
ZToxMzI3NjogJD8gPSAxCmNvbmZpZ3VyZToxMzI2NTogZysrIC1xdmVyc2lv
biA+JjUKZysrLmV4ZTogZXJyb3I6IHVucmVjb2duaXplZCBjb21tYW5kIGxp
bmUgb3B0aW9uICctcXZlcnNpb24nCmcrKy5leGU6IGZhdGFsIGVycm9yOiBu
byBpbnB1dCBmaWxlcwpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1
cmU6MTMyNzY6ICQ/ID0gMQpjb25maWd1cmU6MTMyODA6IGNoZWNraW5nIHdo
ZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQysrIGNvbXBpbGVyCmNvbmZp
Z3VyZToxMzI5OTogZysrIC1jICAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1
cmU6MTMyOTk6ICQ/ID0gMApjb25maWd1cmU6MTMzMDg6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZToxMzMxNzogY2hlY2tpbmcgd2hldGhlciBnKysgYWNjZXB0
cyAtZwpjb25maWd1cmU6MTMzMzc6IGcrKyAtYyAtZyAgY29uZnRlc3QuY3Bw
ID4mNQpjb25maWd1cmU6MTMzMzc6ICQ/ID0gMApjb25maWd1cmU6MTMzNzg6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzQwMzogY2hlY2tpbmcgZGVwZW5k
ZW5jeSBzdHlsZSBvZiBnKysKY29uZmlndXJlOjEzNTEzOiByZXN1bHQ6IGdj
YzMKY29uZmlndXJlOjEzNTQ3OiBjaGVja2luZyBob3cgdG8gcnVuIHRoZSBD
KysgcHJlcHJvY2Vzc29yCmNvbmZpZ3VyZToxMzU3NDogZysrIC1FICBjb25m
dGVzdC5jcHAKY29uZmlndXJlOjEzNTc0OiAkPyA9IDAKY29uZmlndXJlOjEz
NTg4OiBnKysgLUUgIGNvbmZ0ZXN0LmNwcApjb25mdGVzdC5jcHA6Mzg6Mjg6
IGZhdGFsIGVycm9yOiBhY19ub25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CiAjaW5jbHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF4KY29tcGlsYXRpb24gdGVybWlu
YXRlZC4KY29uZmlndXJlOjEzNTg4OiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUg
UEFDS0FHRV9OQU1FICJHTlUgTGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
VEFSTkFNRSAibGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAi
Mi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiR05VIExpYnRvb2wg
Mi40LjIiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRv
b2xAZ251Lm9yZyIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3
LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCnwgI2RlZmluZSBQQUNLQUdF
ICJsaWJ0b29sIgp8ICNkZWZpbmUgVkVSU0lPTiAiMi40LjIiCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5l
IEhBVkVfTUVNT1JZX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8
ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RE
SU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBM
VF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIExUX01PRFVMRV9FWFQgIi5k
bGwiCnwgI2RlZmluZSBMVF9NT0RVTEVfUEFUSF9WQVIgIlBBVEgiCnwgI2Rl
ZmluZSBMVF9ETFNFQVJDSF9QQVRIICIvbGliOi91c3IvbGliIgp8ICNkZWZp
bmUgSEFWRV9ERUNMX0NZR1dJTl9DT05WX1BBVEggMAp8ICNkZWZpbmUgSEFW
RV9MSUJETExPQURFUiAxCnwgI2RlZmluZSBMVERMX0RMT1BFTl9ERVBMSUJT
IDEKfCAjZGVmaW5lIGVycm9yX3QgaW50CnwgI2RlZmluZSBfX2Vycm9yX3Rf
ZGVmaW5lZCAxCnwgI2RlZmluZSBIQVZFX1BSRUxPQURFRF9TWU1CT0xTIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJF
TlRfSCAxCnwgI2RlZmluZSBIQVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhB
VkVfT1BFTkRJUiAxCnwgI2RlZmluZSBIQVZFX1JFQURESVIgMQp8ICNkZWZp
bmUgTFRfTElCRVhUICJhIgp8ICNkZWZpbmUgTFRfTElCUFJFRklYICJsaWIi
CnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25l
eGlzdGVudC5oPgpjb25maWd1cmU6MTM2MTM6IHJlc3VsdDogZysrIC1FCmNv
bmZpZ3VyZToxMzYzMzogZysrIC1FICBjb25mdGVzdC5jcHAKY29uZmlndXJl
OjEzNjMzOiAkPyA9IDAKY29uZmlndXJlOjEzNjQ3OiBnKysgLUUgIGNvbmZ0
ZXN0LmNwcApjb25mdGVzdC5jcHA6Mzg6Mjg6IGZhdGFsIGVycm9yOiBhY19u
b25leGlzdGVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAjaW5j
bHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF4KY29tcGlsYXRpb24gdGVybWluYXRlZC4KY29uZmlndXJlOjEz
NjQ3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg
LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJHTlUg
TGlidG9vbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAibGlidG9vbCIK
fCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBQ
QUNLQUdFX1NUUklORyAiR05VIExpYnRvb2wgMi40LjIiCnwgI2RlZmluZSBQ
QUNLQUdFX0JVR1JFUE9SVCAiYnVnLWxpYnRvb2xAZ251Lm9yZyIKfCAjZGVm
aW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv
bGlidG9vbC8iCnwgI2RlZmluZSBQQUNLQUdFICJsaWJ0b29sIgp8ICNkZWZp
bmUgVkVSU0lPTiAiMi40LjIiCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRU
WVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIK
fCAjZGVmaW5lIExUX01PRFVMRV9FWFQgIi5kbGwiCnwgI2RlZmluZSBMVF9N
T0RVTEVfUEFUSF9WQVIgIlBBVEgiCnwgI2RlZmluZSBMVF9ETFNFQVJDSF9Q
QVRIICIvbGliOi91c3IvbGliIgp8ICNkZWZpbmUgSEFWRV9ERUNMX0NZR1dJ
Tl9DT05WX1BBVEggMAp8ICNkZWZpbmUgSEFWRV9MSUJETExPQURFUiAxCnwg
I2RlZmluZSBMVERMX0RMT1BFTl9ERVBMSUJTIDEKfCAjZGVmaW5lIGVycm9y
X3QgaW50CnwgI2RlZmluZSBfX2Vycm9yX3RfZGVmaW5lZCAxCnwgI2RlZmlu
ZSBIQVZFX1BSRUxPQURFRF9TWU1CT0xTIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9ESVJFTlRfSCAxCnwgI2RlZmluZSBI
QVZFX0NMT1NFRElSIDEKfCAjZGVmaW5lIEhBVkVfT1BFTkRJUiAxCnwgI2Rl
ZmluZSBIQVZFX1JFQURESVIgMQp8ICNkZWZpbmUgTFRfTElCRVhUICJhIgp8
ICNkZWZpbmUgTFRfTElCUFJFRklYICJsaWIiCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLwp8ICNpbmNsdWRlIDxhY19ub25leGlzdGVudC5oPgpjb25maWd1
cmU6MTM4MTY6IGNoZWNraW5nIGZvciBsZCB1c2VkIGJ5IGcrKwpjb25maWd1
cmU6MTM4ODM6IHJlc3VsdDogYzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhl
CmNvbmZpZ3VyZToxMzg5MDogY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoYzov
dGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlKSBpcyBHTlUgbGQKY29uZmlndXJl
OjEzOTA1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM5NjA6IGNoZWNraW5n
IHdoZXRoZXIgdGhlIGcrKyBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmlu
L2xkLmV4ZSkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6
MTQ5NjU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTAwMTogZysrIC1jIC1n
IC1PMiAgY29uZnRlc3QuY3BwID4mNQpjb25maWd1cmU6MTUwMDQ6ICQ/ID0g
MApjb25maWd1cmU6MTU1MjQ6IGNoZWNraW5nIGZvciBnKysgb3B0aW9uIHRv
IHByb2R1Y2UgUElDCmNvbmZpZ3VyZToxNTUzMTogcmVzdWx0OiAtRERMTF9F
WFBPUlQgLURQSUMKY29uZmlndXJlOjE1NTM5OiBjaGVja2luZyBpZiBnKysg
UElDIGZsYWcgLURETExfRVhQT1JUIC1EUElDIHdvcmtzCmNvbmZpZ3VyZTox
NTU1NzogZysrIC1jIC1nIC1PMiAgLURETExfRVhQT1JUIC1EUElDIC1EUElD
IGNvbmZ0ZXN0LmNwcCA+JjUKY29uZmlndXJlOjE1NTYxOiAkPyA9IDAKY29u
ZmlndXJlOjE1NTc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU1OTc6IGNo
ZWNraW5nIGlmIGcrKyBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzCmNvbmZp
Z3VyZToxNTYyNTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE1NjM3OiBjaGVj
a2luZyBpZiBnKysgc3VwcG9ydHMgLWMgLW8gZmlsZS5vCmNvbmZpZ3VyZTox
NTY1ODogZysrIC1jIC1nIC1PMiAgLW8gb3V0L2NvbmZ0ZXN0Mi5vIGNvbmZ0
ZXN0LmNwcCA+JjUKY29uZmlndXJlOjE1NjYyOiAkPyA9IDAKY29uZmlndXJl
OjE1Njg0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU2ODk6IGNoZWNraW5n
IGlmIGcrKyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8KY29uZmlndXJlOjE1NzM2
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTU3NjY6IGNoZWNraW5nIHdoZXRo
ZXIgdGhlIGcrKyBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4
ZSkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcwpjb25maWd1cmU6MTU4MDI6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTk0MzogY2hlY2tpbmcgZHluYW1p
YyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzCmNvbmZpZ3VyZToxNjYxMDogcmVz
dWx0OiBXaW4zMiBsZC5leGUKY29uZmlndXJlOjE2NjYzOiBjaGVja2luZyBo
b3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zCmNv
bmZpZ3VyZToxNjY4ODogcmVzdWx0OiBpbW1lZGlhdGUKY29uZmlndXJlOjE2
NzgxOiBjaGVja2luZyBmb3IgZzc3CmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0
OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciB4bGYKY29uZmln
dXJlOjE2ODExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjc4MTogY2hlY2tp
bmcgZm9yIGY3Nwpjb25maWd1cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE2NzgxOiBjaGVja2luZyBmb3IgZnJ0CmNvbmZpZ3VyZToxNjgxMTog
cmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciBwZ2Y3
Nwpjb25maWd1cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2Nzgx
OiBjaGVja2luZyBmb3IgY2Y3Nwpjb25maWd1cmU6MTY4MTE6IHJlc3VsdDog
bm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBmb3IgZm9ydDc3CmNvbmZp
Z3VyZToxNjgxMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNr
aW5nIGZvciBmbDMyCmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0OiBubwpjb25m
aWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciBhZjc3CmNvbmZpZ3VyZToxNjgx
MTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciB4
bGY5MApjb25maWd1cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2
NzgxOiBjaGVja2luZyBmb3IgZjkwCmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0
OiBubwpjb25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciBwZ2Y5MApjb25m
aWd1cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVj
a2luZyBmb3IgcGdocGYKY29uZmlndXJlOjE2ODExOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxNjc4MTogY2hlY2tpbmcgZm9yIGVwY2Y5MApjb25maWd1cmU6
MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBm
b3IgZ2ZvcnRyYW4KY29uZmlndXJlOjE2ODExOiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZToxNjc4MTogY2hlY2tpbmcgZm9yIGc5NQpjb25maWd1cmU6MTY4MTE6
IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBmb3IgeGxm
OTUKY29uZmlndXJlOjE2ODExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjc4
MTogY2hlY2tpbmcgZm9yIGY5NQpjb25maWd1cmU6MTY4MTE6IHJlc3VsdDog
bm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBmb3IgZm9ydApjb25maWd1
cmU6MTY4MTE6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2lu
ZyBmb3IgaWZvcnQKY29uZmlndXJlOjE2ODExOiByZXN1bHQ6IG5vCmNvbmZp
Z3VyZToxNjc4MTogY2hlY2tpbmcgZm9yIGlmYwpjb25maWd1cmU6MTY4MTE6
IHJlc3VsdDogbm8KY29uZmlndXJlOjE2NzgxOiBjaGVja2luZyBmb3IgZWZj
CmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6
IGNoZWNraW5nIGZvciBwZ2ZvcnRyYW4KY29uZmlndXJlOjE2ODExOiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZToxNjc4MTogY2hlY2tpbmcgZm9yIHBnZjk1CmNv
bmZpZ3VyZToxNjgxMTogcmVzdWx0OiBubwpjb25maWd1cmU6MTY3ODE6IGNo
ZWNraW5nIGZvciBsZjk1CmNvbmZpZ3VyZToxNjgxMTogcmVzdWx0OiBubwpj
b25maWd1cmU6MTY3ODE6IGNoZWNraW5nIGZvciBmdG4KY29uZmlndXJlOjE2
ODExOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjgzNDogY2hlY2tpbmcgZm9y
IEZvcnRyYW4gNzcgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MTY4NDM6
ICAtLXZlcnNpb24gPiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xp
YnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5lIDE2ODQ1OiAtLXZlcnNpb246
IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZToxNjg1NDogJD8gPSAxMjcK
Y29uZmlndXJlOjE2ODQzOiAgLXYgPiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5lIDE2ODQ1OiAt
djogY29tbWFuZCBub3QgZm91bmQKY29uZmlndXJlOjE2ODU0OiAkPyA9IDEy
Nwpjb25maWd1cmU6MTY4NDM6ICAtViA+JjUKL01pbkdXL3NoYXJlL2F1dG9t
YWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1cmU6IGxpbmUgMTY4NDU6
IC1WOiBjb21tYW5kIG5vdCBmb3VuZApjb25maWd1cmU6MTY4NTQ6ICQ/ID0g
MTI3CmNvbmZpZ3VyZToxNjg0MzogIC1xdmVyc2lvbiA+JjUKL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1cmU6IGxp
bmUgMTY4NDU6IC1xdmVyc2lvbjogY29tbWFuZCBub3QgZm91bmQKY29uZmln
dXJlOjE2ODU0OiAkPyA9IDEyNwpjb25maWd1cmU6MTY4NjM6IGNoZWNraW5n
IHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgRm9ydHJhbiA3NyBjb21w
aWxlcgpjb25maWd1cmU6MTY4NzY6ICAtYyAgY29uZnRlc3QuRiA+JjUKL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1
cmU6IGxpbmUgMjA1MjogLWM6IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3Vy
ZToxNjg3NjogJD8gPSAxMjcKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6CnwgICAgICAgcHJvZ3JhbSBtYWluCnwgI2lmbmRlZiBfX0dOVUNfXwp8
ICAgICAgICBjaG9rZSBtZQp8ICNlbmRpZgp8IAp8ICAgICAgIGVuZApjb25m
aWd1cmU6MTY4ODU6IHJlc3VsdDogbm8KY29uZmlndXJlOjE2ODkxOiBjaGVj
a2luZyB3aGV0aGVyICBhY2NlcHRzIC1nCmNvbmZpZ3VyZToxNjkwMjogIC1j
IC1nIGNvbmZ0ZXN0LmYgPiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjEx
L2xpYnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5lIDIwNTI6IC1jOiBjb21t
YW5kIG5vdCBmb3VuZApjb25maWd1cmU6MTY5MDI6ICQ/ID0gMTI3CmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8ICAgICAgIHByb2dyYW0gbWFp
bgp8IAp8ICAgICAgIGVuZApjb25maWd1cmU6MTY5MTA6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjE5NzEwOiBjaGVja2luZyBmb3IgZ2ZvcnRyYW4KY29uZmln
dXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tp
bmcgZm9yIGc5NQpjb25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE5NzEwOiBjaGVja2luZyBmb3IgeGxmOTUKY29uZmlndXJlOjE5NzQw
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tpbmcgZm9yIGY5
NQpjb25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5NzEw
OiBjaGVja2luZyBmb3IgZm9ydApjb25maWd1cmU6MTk3NDA6IHJlc3VsdDog
bm8KY29uZmlndXJlOjE5NzEwOiBjaGVja2luZyBmb3IgaWZvcnQKY29uZmln
dXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tp
bmcgZm9yIGlmYwpjb25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE5NzEwOiBjaGVja2luZyBmb3IgZWZjCmNvbmZpZ3VyZToxOTc0MDog
cmVzdWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBwZ2Zv
cnRyYW4KY29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox
OTcxMDogY2hlY2tpbmcgZm9yIHBnZjk1CmNvbmZpZ3VyZToxOTc0MDogcmVz
dWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBsZjk1CmNv
bmZpZ3VyZToxOTc0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNo
ZWNraW5nIGZvciBmdG4KY29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxOTcxMDogY2hlY2tpbmcgZm9yIHhsZjkwCmNvbmZpZ3VyZTox
OTc0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZv
ciBmOTAKY29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox
OTcxMDogY2hlY2tpbmcgZm9yIHBnZjkwCmNvbmZpZ3VyZToxOTc0MDogcmVz
dWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBwZ2hwZgpj
b25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmlndXJlOjE5NzEwOiBj
aGVja2luZyBmb3IgZXBjZjkwCmNvbmZpZ3VyZToxOTc0MDogcmVzdWx0OiBu
bwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBnNzcKY29uZmlndXJl
OjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tpbmcg
Zm9yIHhsZgpjb25maWd1cmU6MTk3NDA6IHJlc3VsdDogbm8KY29uZmlndXJl
OjE5NzEwOiBjaGVja2luZyBmb3IgZjc3CmNvbmZpZ3VyZToxOTc0MDogcmVz
dWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBmcnQKY29u
ZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hl
Y2tpbmcgZm9yIHBnZjc3CmNvbmZpZ3VyZToxOTc0MDogcmVzdWx0OiBubwpj
b25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZvciBjZjc3CmNvbmZpZ3VyZTox
OTc0MDogcmVzdWx0OiBubwpjb25maWd1cmU6MTk3MTA6IGNoZWNraW5nIGZv
ciBmb3J0NzcKY29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZToxOTcxMDogY2hlY2tpbmcgZm9yIGZsMzIKY29uZmlndXJlOjE5NzQwOiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTcxMDogY2hlY2tpbmcgZm9yIGFmNzcK
Y29uZmlndXJlOjE5NzQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTc2Mzog
Y2hlY2tpbmcgZm9yIEZvcnRyYW4gY29tcGlsZXIgdmVyc2lvbgpjb25maWd1
cmU6MTk3NzI6ICAtLXZlcnNpb24gPiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5lIDE5Nzc0OiAt
LXZlcnNpb246IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZToxOTc4Mzog
JD8gPSAxMjcKY29uZmlndXJlOjE5NzcyOiAgLXYgPiY1Ci9NaW5HVy9zaGFy
ZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvY29uZmlndXJlOiBsaW5l
IDE5Nzc0OiAtdjogY29tbWFuZCBub3QgZm91bmQKY29uZmlndXJlOjE5Nzgz
OiAkPyA9IDEyNwpjb25maWd1cmU6MTk3NzI6ICAtViA+JjUKL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1cmU6IGxp
bmUgMTk3NzQ6IC1WOiBjb21tYW5kIG5vdCBmb3VuZApjb25maWd1cmU6MTk3
ODM6ICQ/ID0gMTI3CmNvbmZpZ3VyZToxOTc3MjogIC1xdmVyc2lvbiA+JjUK
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25m
aWd1cmU6IGxpbmUgMTk3NzQ6IC1xdmVyc2lvbjogY29tbWFuZCBub3QgZm91
bmQKY29uZmlndXJlOjE5NzgzOiAkPyA9IDEyNwpjb25maWd1cmU6MTk3OTI6
IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgRm9ydHJh
biBjb21waWxlcgpjb25maWd1cmU6MTk4MDU6ICAtYyAgIGNvbmZ0ZXN0LkYg
PiY1Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIv
Y29uZmlndXJlOiBsaW5lIDIxMzY6IC1jOiBjb21tYW5kIG5vdCBmb3VuZApj
b25maWd1cmU6MTk4MDU6ICQ/ID0gMTI3CmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgp8ICAgICAgIHByb2dyYW0gbWFpbgp8ICNpZm5kZWYgX19H
TlVDX18KfCAgICAgICAgY2hva2UgbWUKfCAjZW5kaWYKfCAKfCAgICAgICBl
bmQKY29uZmlndXJlOjE5ODE0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxOTgy
MDogY2hlY2tpbmcgd2hldGhlciAgYWNjZXB0cyAtZwpjb25maWd1cmU6MTk4
MzE6ICAtYyAtZyAgY29uZnRlc3QuZiA+JjUKL01pbkdXL3NoYXJlL2F1dG9t
YWtlLTEuMTEvbGlidG9vbC0yLjQuMi9jb25maWd1cmU6IGxpbmUgMjEzNjog
LWM6IGNvbW1hbmQgbm90IGZvdW5kCmNvbmZpZ3VyZToxOTgzMTogJD8gPSAx
MjcKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgICAgICAgcHJv
Z3JhbSBtYWluCnwgCnwgICAgICAgZW5kCmNvbmZpZ3VyZToxOTgzOTogcmVz
dWx0OiBubwpjb25maWd1cmU6MjI3NzI6IGNoZWNraW5nIGZvciBnY2Nnbwpj
b25maWd1cmU6MjI4MDI6IHJlc3VsdDogbm8KY29uZmlndXJlOjI0ODY4OiBj
aGVja2luZyBmb3IgZ2NqCmNvbmZpZ3VyZToyNDg5ODogcmVzdWx0OiBubwpj
b25maWd1cmU6MjY5NjU6IGNoZWNraW5nIGZvciB3aW5kcmVzCmNvbmZpZ3Vy
ZToyNjk4MTogZm91bmQgL21pbmd3L2Jpbi93aW5kcmVzCmNvbmZpZ3VyZToy
Njk5MjogcmVzdWx0OiB3aW5kcmVzCmNvbmZpZ3VyZToyNzE0ODogY2hlY2tp
bmcgd2hldGhlciBtYWtlIHN1cHBvcnRzIG9yZGVyLW9ubHkgcHJlcmVxdWlz
aXRlcwpjb25maWd1cmU6MjcxNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToy
NzM1NjogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCgojIyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tICMjCiMjIFJ1bm5pbmcgY29uZmlnLnN0YXR1cy4gIyMK
IyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwoKVGhpcyBmaWxlIHdhcyBl
eHRlbmRlZCBieSBHTlUgTGlidG9vbCBjb25maWcuc3RhdHVzIDIuNC4yLCB3
aGljaCB3YXMKZ2VuZXJhdGVkIGJ5IEdOVSBBdXRvY29uZiAyLjY4LiAgSW52
b2NhdGlvbiBjb21tYW5kIGxpbmUgd2FzCgogIENPTkZJR19GSUxFUyAgICA9
IAogIENPTkZJR19IRUFERVJTICA9IAogIENPTkZJR19MSU5LUyAgICA9IAog
IENPTkZJR19DT01NQU5EUyA9IAogICQgLi9jb25maWcuc3RhdHVzIAoKb24g
dGlsbAoKY29uZmlnLnN0YXR1czoxNDkwOiBjcmVhdGluZyBNYWtlZmlsZQpj
b25maWcuc3RhdHVzOjE0OTA6IGNyZWF0aW5nIGNvbmZpZy5oCmNvbmZpZy5z
dGF0dXM6MTcwNDogZXhlY3V0aW5nIHRlc3RzL2F0Y29uZmlnIGNvbW1hbmRz
CmNvbmZpZy5zdGF0dXM6MTcwNDogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1h
bmRzCmNvbmZpZy5zdGF0dXM6MTcwNDogZXhlY3V0aW5nIGxpYnRvb2wgY29t
bWFuZHMKCiMjIC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFi
bGVzLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tICMjCgphY19jdl9idWlsZD1p
Njg2LXBjLW1pbmd3MzIKYWNfY3ZfY19jb21waWxlcl9nbnU9eWVzCmFjX2N2
X2N4eF9jb21waWxlcl9nbnU9eWVzCmFjX2N2X2Vudl9DQ0Nfc2V0PQphY19j
dl9lbnZfQ0NDX3ZhbHVlPQphY19jdl9lbnZfQ0Nfc2V0PQphY19jdl9lbnZf
Q0NfdmFsdWU9CmFjX2N2X2Vudl9DRkxBR1Nfc2V0PQphY19jdl9lbnZfQ0ZM
QUdTX3ZhbHVlPQphY19jdl9lbnZfQ1BQRkxBR1Nfc2V0PQphY19jdl9lbnZf
Q1BQRkxBR1NfdmFsdWU9CmFjX2N2X2Vudl9DUFBfc2V0PQphY19jdl9lbnZf
Q1BQX3ZhbHVlPQphY19jdl9lbnZfQ1hYQ1BQX3NldD0KYWNfY3ZfZW52X0NY
WENQUF92YWx1ZT0KYWNfY3ZfZW52X0NYWEZMQUdTX3NldD0KYWNfY3ZfZW52
X0NYWEZMQUdTX3ZhbHVlPQphY19jdl9lbnZfQ1hYX3NldD0KYWNfY3ZfZW52
X0NYWF92YWx1ZT0KYWNfY3ZfZW52X0Y3N19zZXQ9CmFjX2N2X2Vudl9GNzdf
dmFsdWU9CmFjX2N2X2Vudl9GQ0ZMQUdTX3NldD0KYWNfY3ZfZW52X0ZDRkxB
R1NfdmFsdWU9CmFjX2N2X2Vudl9GQ19zZXQ9CmFjX2N2X2Vudl9GQ192YWx1
ZT0KYWNfY3ZfZW52X0ZGTEFHU19zZXQ9CmFjX2N2X2Vudl9GRkxBR1NfdmFs
dWU9CmFjX2N2X2Vudl9MREZMQUdTX3NldD0KYWNfY3ZfZW52X0xERkxBR1Nf
dmFsdWU9CmFjX2N2X2Vudl9MSUJTX3NldD0KYWNfY3ZfZW52X0xJQlNfdmFs
dWU9CmFjX2N2X2Vudl9idWlsZF9hbGlhc19zZXQ9CmFjX2N2X2Vudl9idWls
ZF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X2hvc3RfYWxpYXNfc2V0PQphY19j
dl9lbnZfaG9zdF9hbGlhc192YWx1ZT0KYWNfY3ZfZW52X3RhcmdldF9hbGlh
c19zZXQ9CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9CmFjX2N2X2V4
ZWV4dD0uZXhlCmFjX2N2X2Y3N19jb21waWxlcl9nbnU9bm8KYWNfY3ZfZmNf
Y29tcGlsZXJfZ251PW5vCmFjX2N2X2Z1bmNfYXJnel9hZGQ9bm8KYWNfY3Zf
ZnVuY19hcmd6X2FwcGVuZD1ubwphY19jdl9mdW5jX2FyZ3pfY291bnQ9bm8K
YWNfY3ZfZnVuY19hcmd6X2NyZWF0ZV9zZXA9bm8KYWNfY3ZfZnVuY19hcmd6
X2luc2VydD1ubwphY19jdl9mdW5jX2FyZ3pfbmV4dD1ubwphY19jdl9mdW5j
X2FyZ3pfc3RyaW5naWZ5PW5vCmFjX2N2X2Z1bmNfY2xvc2VkaXI9eWVzCmFj
X2N2X2Z1bmNfb3BlbmRpcj15ZXMKYWNfY3ZfZnVuY19yZWFkZGlyPXllcwph
Y19jdl9mdW5jX3NobF9sb2FkPW5vCmFjX2N2X2Z1bmNfc3RybGNhdD1ubwph
Y19jdl9mdW5jX3N0cmxjcHk9bm8KYWNfY3ZfaGF2ZV9kZWNsX2N5Z3dpbl9j
b252X3BhdGg9bm8KYWNfY3ZfaGVhZGVyX2FyZ3pfaD1ubwphY19jdl9oZWFk
ZXJfZGlyZW50X2g9eWVzCmFjX2N2X2hlYWRlcl9kbF9oPW5vCmFjX2N2X2hl
YWRlcl9kbGRfaD1ubwphY19jdl9oZWFkZXJfZGxmY25faD1ubwphY19jdl9o
ZWFkZXJfaW50dHlwZXNfaD15ZXMKYWNfY3ZfaGVhZGVyX21hY2hfb19keWxk
X2g9bm8KYWNfY3ZfaGVhZGVyX21lbW9yeV9oPXllcwphY19jdl9oZWFkZXJf
c3RkYz15ZXMKYWNfY3ZfaGVhZGVyX3N0ZGludF9oPXllcwphY19jdl9oZWFk
ZXJfc3RkbGliX2g9eWVzCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMKYWNf
Y3ZfaGVhZGVyX3N0cmluZ3NfaD15ZXMKYWNfY3ZfaGVhZGVyX3N5c19kbF9o
PW5vCmFjX2N2X2hlYWRlcl9zeXNfc3RhdF9oPXllcwphY19jdl9oZWFkZXJf
c3lzX3R5cGVzX2g9eWVzCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMKYWNf
Y3ZfaG9zdD1pNjg2LXBjLW1pbmd3MzIKYWNfY3ZfbGliX2RsZF9kbGRfbGlu
az1ubwphY19jdl9saWJfZGxkX3NobF9sb2FkPW5vCmFjX2N2X2xpYl9zdmxk
X2Rsb3Blbj1ubwphY19jdl9vYmpleHQ9bwphY19jdl9wYXRoX0VHUkVQPScv
YmluL2dyZXAgLUUnCmFjX2N2X3BhdGhfRkdSRVA9Jy9iaW4vZ3JlcCAtRicK
YWNfY3ZfcGF0aF9HUkVQPS9iaW4vZ3JlcAphY19jdl9wYXRoX1NFRD0vYmlu
L3NlZAphY19jdl9wYXRoX2luc3RhbGw9Jy9iaW4vaW5zdGFsbCAtYycKYWNf
Y3ZfcGF0aF9ta2Rpcj0vYmluL21rZGlyCmFjX2N2X3Byb2dfQVdLPWdhd2sK
YWNfY3ZfcHJvZ19DUFA9J2djYyAtRScKYWNfY3ZfcHJvZ19DWFhDUFA9J2cr
KyAtRScKYWNfY3ZfcHJvZ19hY19jdF9BUj1hcgphY19jdl9wcm9nX2FjX2N0
X0FTPWFzCmFjX2N2X3Byb2dfYWNfY3RfQ0M9Z2NjCmFjX2N2X3Byb2dfYWNf
Y3RfQ1hYPWcrKwphY19jdl9wcm9nX2FjX2N0X0RMTFRPT0w9ZGxsdG9vbAph
Y19jdl9wcm9nX2FjX2N0X09CSkRVTVA9b2JqZHVtcAphY19jdl9wcm9nX2Fj
X2N0X1JBTkxJQj1yYW5saWIKYWNfY3ZfcHJvZ19hY19jdF9SQz13aW5kcmVz
CmFjX2N2X3Byb2dfYWNfY3RfU1RSSVA9c3RyaXAKYWNfY3ZfcHJvZ19jY19j
ODk9CmFjX2N2X3Byb2dfY2NfZz15ZXMKYWNfY3ZfcHJvZ19jY19nY2NfY19v
PXllcwphY19jdl9wcm9nX2N4eF9nPXllcwphY19jdl9wcm9nX2Y3N19nPW5v
CmFjX2N2X3Byb2dfZmNfZz1ubwphY19jdl9wcm9nX21ha2VfbWFrZV9zZXQ9
eWVzCmFjX2N2X3NlYXJjaF9kbG9wZW49bm8KYWNfY3ZfdHlwZV9lcnJvcl90
PW5vCmFtX2N2X0NDX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMK
YW1fY3ZfQ1hYX2RlcGVuZGVuY2llc19jb21waWxlcl90eXBlPWdjYzMKbGli
bHRkbF9jdl9wcmVsb2FkZWRfc3ltYm9scz15ZXMKbGlibHRkbF9jdl9zaGxp
YmV4dD0uZGxsCmxpYmx0ZGxfY3Zfc2hyZXh0PS5kbGwKbHRfY3ZfYXJfYXRf
ZmlsZT1ACmx0X2N2X2FyY2hpdmVfY21kc19uZWVkX2xjPXllcwpsdF9jdl9k
ZXBsaWJzX2NoZWNrX21ldGhvZD0nZmlsZV9tYWdpYyBeeDg2IGFyY2hpdmUg
aW1wb3J0fF54ODYgRExMJwpsdF9jdl9kbG9wZW49TG9hZExpYnJhcnkKbHRf
Y3ZfZGxvcGVuX2xpYnM9Cmx0X2N2X2ZpbGVfbWFnaWNfY21kPWZ1bmNfd2lu
MzJfbGliaWQKbHRfY3ZfZmlsZV9tYWdpY190ZXN0X2ZpbGU9Cmx0X2N2X2xk
X3JlbG9hZF9mbGFnPS1yCmx0X2N2X21ha2Vfb3JkZXJfb25seT15ZXMKbHRf
Y3ZfbW9kdWxlX3BhdGhfdmFyPVBBVEgKbHRfY3Zfbm1faW50ZXJmYWNlPSdC
U0Qgbm0nCmx0X2N2X29iamRpcj0ubGlicwpsdF9jdl9wYXRoX0xEPWM6L3Rp
bmd3L21pbmd3MzIvYmluL2xkLmV4ZQpsdF9jdl9wYXRoX0xEQ1hYPWM6L3Rp
bmd3L21pbmd3MzIvYmluL2xkLmV4ZQpsdF9jdl9wYXRoX05NPScvYmluL25t
IC1CJwpsdF9jdl9wYXRoX21haW5mZXN0X3Rvb2w9bm8KbHRfY3ZfcHJvZ19j
b21waWxlcl9jX289eWVzCmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0NYWD15
ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fUkM9eWVzCmx0X2N2X3Byb2df
Y29tcGlsZXJfcGljPSctRERMTF9FWFBPUlQgLURQSUMnCmx0X2N2X3Byb2df
Y29tcGlsZXJfcGljX0NYWD0nLURETExfRVhQT1JUIC1EUElDJwpsdF9jdl9w
cm9nX2NvbXBpbGVyX3BpY193b3Jrcz15ZXMKbHRfY3ZfcHJvZ19jb21waWxl
cl9waWNfd29ya3NfQ1hYPXllcwpsdF9jdl9wcm9nX2NvbXBpbGVyX3J0dGlf
ZXhjZXB0aW9ucz1ubwpsdF9jdl9wcm9nX2NvbXBpbGVyX3N0YXRpY193b3Jr
cz15ZXMKbHRfY3ZfcHJvZ19jb21waWxlcl9zdGF0aWNfd29ya3NfQ1hYPXll
cwpsdF9jdl9wcm9nX2dudV9sZD15ZXMKbHRfY3ZfcHJvZ19nbnVfbGRjeHg9
eWVzCmx0X2N2X3NoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kPWZ1bmNfY3ln
bWluZ19kbGxfZm9yX2ltcGxpYgpsdF9jdl9zeXNfZGxvcGVuX2RlcGxpYnM9
dW5rbm93bgpsdF9jdl9zeXNfZGxzZWFyY2hfcGF0aD0nL2xpYiAvdXNyL2xp
YicKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZT0nc2VkIC1uIC1lICdc
JydzL14uKlsJIF1cKFtBQkNER0lSU1RXXVtBQkNER0lSU1RXXSpcKVsJIF1b
CSBdKl9cKFtfQS1aYS16XVtfQS1aYS16MC05XSpcKQ1cezAsMVx9JC9cMSBf
XDIgXDIvcCdcJycgfCBzZWQgJ1wnJy8gX19nbnVfbHRvL2QnXCcnJwpsdF9j
dl9zeXNfZ2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0nc2VkIC1u
IC1lICdcJydzL146IFwoW14gXSpcKVsgXSokLyAge1wiXDFcIiwgKHZvaWQg
KikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIFwoW14gXSpc
KSBcKFteIF0qXCkkLyAgeyJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJycK
bHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGli
X3ByZWZpeD0nc2VkIC1uIC1lICdcJydzL146IFwoW14gXSpcKVsgXSokLyAg
e1wiXDFcIiwgKHZvaWQgKikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJ
UlNUV10qIFwoW14gXSpcKSBcKGxpYlteIF0qXCkkLyAgeyJcMiIsICh2b2lk
ICopIFwmXDJ9LC9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFddKiBcKFte
IF0qXCkgXChbXiBdKlwpJC8gIHsibGliXDIiLCAodm9pZCAqKSBcJlwyfSwv
cCdcJycnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsPSdzZWQg
LW4gLWUgJ1wnJ3MvXlQgLiogXCguKlwpJC9leHRlcm4gaW50IFwxKCk7L3An
XCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIC4qIFwoLipcKSQvZXh0ZXJu
IGNoYXIgXDE7L3AnXCcnJwpsdF9jdl9zeXNfbWF4X2NtZF9sZW49ODE5Mgps
dF9jdl9zeXNfc3ltYm9sX3VuZGVyc2NvcmU9eWVzCmx0X2N2X3RvX2hvc3Rf
ZmlsZV9jbWQ9ZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIKbHRfY3Zf
dG9fdG9vbF9maWxlX2NtZD1mdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3cz
MgoKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgT3V0cHV0IHZhcmlhYmxl
cy4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMKCkFDTE9DQUw9JyR7U0hF
TEx9IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIv
bGlibHRkbC9jb25maWcvbWlzc2luZyAtLXJ1biBhY2xvY2FsLTEuMTEnCkFN
REVQQkFDS1NMQVNIPSdcJwpBTURFUF9GQUxTRT0nIycKQU1ERVBfVFJVRT0n
JwpBTVRBUj0nJHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEv
bGlidG9vbC0yLjQuMi9saWJsdGRsL2NvbmZpZy9taXNzaW5nIC0tcnVuIHRh
cicKQVI9J2FyJwpBUkdaX0g9J2FyZ3ouaCcKQVM9J2FzJwpBVVRPQ09ORj0n
JHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi9saWJsdGRsL2NvbmZpZy9taXNzaW5nIC0tcnVuIGF1dG9jb25mJwpB
VVRPSEVBREVSPScke1NIRUxMfSAvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4x
MS9saWJ0b29sLTIuNC4yL2xpYmx0ZGwvY29uZmlnL21pc3NpbmcgLS1ydW4g
YXV0b2hlYWRlcicKQVVUT000VEU9J2F1dG9tNHRlJwpBVVRPTUFLRT0nJHtT
SEVMTH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQu
Mi9saWJsdGRsL2NvbmZpZy9taXNzaW5nIC0tcnVuIGF1dG9tYWtlLTEuMTEn
CkFVVE9URVNUPSckKEFVVE9NNFRFKSAtLWxhbmd1YWdlPWF1dG90ZXN0JwpB
V0s9J2dhd2snCkNDPSdnY2MnCkNDREVQTU9ERT0nZGVwbW9kZT1nY2MzJwpD
RkxBR1M9Jy1nIC1PMicKQ09ORklHX1NUQVRVU19ERVBFTkRFTkNJRVM9JyQo
dG9wX3NyY2RpcikvQ2hhbmdlTG9nJwpDT05GX1NVQkRJUlM9J3Rlc3RzL2Nk
ZW1vIHRlc3RzL2RlbW8gdGVzdHMvZGVwZGVtbyB0ZXN0cy9mNzdkZW1vIHRl
c3RzL2ZjZGVtbyAJdGVzdHMvbWRlbW8gdGVzdHMvbWRlbW8yIHRlc3RzL3Bk
ZW1vIHRlc3RzL3RhZ2RlbW8nCkNPTlZFTklFTkNFX0xURExfRkFMU0U9JycK
Q09OVkVOSUVOQ0VfTFRETF9UUlVFPScjJwpDUFA9J2djYyAtRScKQ1BQRkxB
R1M9JycKQ1hYPSdnKysnCkNYWENQUD0nZysrIC1FJwpDWFhERVBNT0RFPSdk
ZXBtb2RlPWdjYzMnCkNYWEZMQUdTPSctZyAtTzInCkNZR1BBVEhfVz0nZWNo
bycKREVGUz0nLURIQVZFX0NPTkZJR19IJwpERVBESVI9Jy5kZXBzJwpESVNU
X01BS0VGSUxFX0xJU1Q9J3Rlc3RzL2NkZW1vL01ha2VmaWxlIHRlc3RzL2Rl
bW8vTWFrZWZpbGUgdGVzdHMvZGVwZGVtby9NYWtlZmlsZSB0ZXN0cy9mNzdk
ZW1vL01ha2VmaWxlIHRlc3RzL2ZjZGVtby9NYWtlZmlsZSB0ZXN0cy9tZGVt
by9NYWtlZmlsZSB0ZXN0cy9tZGVtbzIvTWFrZWZpbGUgdGVzdHMvcGRlbW8v
TWFrZWZpbGUgdGVzdHMvdGFnZGVtby9NYWtlZmlsZSAnCkRMTFRPT0w9J2Rs
bHRvb2wnCkRTWU1VVElMPScnCkRVTVBCSU49JycKRUNIT19DPScnCkVDSE9f
Tj0nLW4nCkVDSE9fVD0nJwpFR1JFUD0nL2Jpbi9ncmVwIC1FJwpFWEVFWFQ9
Jy5leGUnCkY3Nz0nJwpGQz0nJwpGQ0ZMQUdTPScnCkZGTEFHUz0nJwpGR1JF
UD0nL2Jpbi9ncmVwIC1GJwpHQ0o9JycKR0NKRkxBR1M9Jy1nIC1PMicKR09D
PScnCkdSRVA9Jy9iaW4vZ3JlcCcKSEFWRV9DWFhfRkFMU0U9JyMnCkhBVkVf
Q1hYX1RSVUU9JycKSEFWRV9GNzdfRkFMU0U9JycKSEFWRV9GNzdfVFJVRT0n
IycKSEFWRV9GQ19GQUxTRT0nJwpIQVZFX0ZDX1RSVUU9JyMnCkhBVkVfR0NK
X0ZBTFNFPScnCkhBVkVfR0NKX1RSVUU9JyMnCkhBVkVfUkNfRkFMU0U9JyMn
CkhBVkVfUkNfVFJVRT0nJwpIRUxQMk1BTj0nJHtTSEVMTH0gL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9saWJsdGRsL2NvbmZp
Zy9taXNzaW5nIC0tcnVuIGhlbHAybWFuJwpJTlNUQUxMX0RBVEE9JyR7SU5T
VEFMTH0gLW0gNjQ0JwpJTlNUQUxMX0xURExfRkFMU0U9JyMnCklOU1RBTExf
TFRETF9UUlVFPScnCklOU1RBTExfUFJPR1JBTT0nJHtJTlNUQUxMfScKSU5T
VEFMTF9TQ1JJUFQ9JyR7SU5TVEFMTH0nCklOU1RBTExfU1RSSVBfUFJPR1JB
TT0nJChpbnN0YWxsX3NoKSAtYyAtcycKTEFTVFJFTEVBU0U9JzIuNC4xJwpM
RD0nYzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlJwpMREZMQUdTPScnCkxJ
QkFERF9ETD0nICcKTElCQUREX0RMRF9MSU5LPScnCkxJQkFERF9ETE9QRU49
JycKTElCQUREX1NITF9MT0FEPScnCkxJQk9CSlM9JyAke0xJQk9CSkRJUn1h
cmd6JFUubyAke0xJQk9CSkRJUn1sdF9fc3RybCRVLm8nCkxJQlM9JycKTElC
VE9PTD0nJChTSEVMTCkgJCh0b3BfYnVpbGRkaXIpL2xpYnRvb2wnCkxJUE89
JycKTE5fUz0nY3AgLXAnCkxURExPUEVOPSdsaWJsdGRsJwpMVExJQk9CSlM9
JyAke0xJQk9CSkRJUn1hcmd6JFUubG8gJHtMSUJPQkpESVJ9bHRfX3N0cmwk
VS5sbycKTFRfQ09ORklHX0g9J2NvbmZpZy5oJwpMVF9ETExPQURFUlM9JyBs
aWJsdGRsL2xvYWRsaWJyYXJ5LmxhJwpMVF9ETFBSRU9QRU49Jy1kbHByZW9w
ZW4gbGlibHRkbC9sb2FkbGlicmFyeS5sYSAnCk00U0g9JyQoQVVUT000VEUp
IC0tbGFuZ3VhZ2U9bTRzaCcKTUFLRUlORk89JyR7U0hFTEx9IC9NaW5HVy9z
aGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvbGlibHRkbC9jb25m
aWcvbWlzc2luZyAtLXJ1biBtYWtlaW5mbycKTUFOSUZFU1RfVE9PTD0nOicK
TUtESVJfUD0nL2Jpbi9ta2RpciAtcCcKTk09Jy9iaW4vbm0gLUInCk5NRURJ
VD0nJwpPQkpEVU1QPSdvYmpkdW1wJwpPQkpFWFQ9J28nCk9SREVSPSd8JwpP
VE9PTDY0PScnCk9UT09MPScnClBBQ0tBR0U9J2xpYnRvb2wnClBBQ0tBR0Vf
QlVHUkVQT1JUPSdidWctbGlidG9vbEBnbnUub3JnJwpQQUNLQUdFX05BTUU9
J0dOVSBMaWJ0b29sJwpQQUNLQUdFX1NUUklORz0nR05VIExpYnRvb2wgMi40
LjInClBBQ0tBR0VfVEFSTkFNRT0nbGlidG9vbCcKUEFDS0FHRV9VUkw9J2h0
dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9saWJ0b29sLycKUEFDS0FHRV9W
RVJTSU9OPScyLjQuMicKUEFUSF9TRVBBUkFUT1I9JzonClJBTkxJQj0ncmFu
bGliJwpSQz0nd2luZHJlcycKU0VEPScvYmluL3NlZCcKU0VUX01BS0U9JycK
U0hFTEw9Jy9iaW4vc2gnClNUUklQPSdzdHJpcCcKVElNRVNUQU1QPScnClZF
UlNJT049JzIuNC4yJwphY19jdF9BUj0nYXInCmFjX2N0X0NDPSdnY2MnCmFj
X2N0X0NYWD0nZysrJwphY19jdF9EVU1QQklOPScnCmFjX2N0X0Y3Nz0nJwph
Y19jdF9GQz0nJwphY2xvY2FsZGlyPScke2RhdGFkaXJ9L2FjbG9jYWwnCmFt
X19FWEVFWFRfRkFMU0U9JyMnCmFtX19FWEVFWFRfVFJVRT0nJwphbV9fZmFz
dGRlcENDX0ZBTFNFPScjJwphbV9fZmFzdGRlcENDX1RSVUU9JycKYW1fX2Zh
c3RkZXBDWFhfRkFMU0U9JyMnCmFtX19mYXN0ZGVwQ1hYX1RSVUU9JycKYW1f
X2luY2x1ZGU9J2luY2x1ZGUnCmFtX19pc3JjPScgLUkkKHNyY2RpciknCmFt
X19sZWFkaW5nX2RvdD0nLicKYW1fX3F1b3RlPScnCmFtX190YXI9JyR7QU1U
QVJ9IGNob2YgLSAiJCR0YXJkaXIiJwphbV9fdW50YXI9JyR7QU1UQVJ9IHhm
IC0nCmJpbmRpcj0nJHtleGVjX3ByZWZpeH0vYmluJwpidWlsZD0naTY4Ni1w
Yy1taW5ndzMyJwpidWlsZF9hbGlhcz0nJwpidWlsZF9jcHU9J2k2ODYnCmJ1
aWxkX29zPSdtaW5ndzMyJwpidWlsZF92ZW5kb3I9J3BjJwpkYXRhZGlyPSck
e2RhdGFyb290ZGlyfScKZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScK
ZG9jZGlyPScke2RhdGFyb290ZGlyfS9kb2MvJHtQQUNLQUdFX1RBUk5BTUV9
JwpkdmlkaXI9JyR7ZG9jZGlyfScKZXhlY19wcmVmaXg9JyR7cHJlZml4fScK
aG9zdD0naTY4Ni1wYy1taW5ndzMyJwpob3N0X2FsaWFzPScnCmhvc3RfY3B1
PSdpNjg2Jwpob3N0X29zPSdtaW5ndzMyJwpob3N0X3ZlbmRvcj0ncGMnCmh0
bWxkaXI9JyR7ZG9jZGlyfScKaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1
ZGUnCmluZm9kaXI9JyR7ZGF0YXJvb3RkaXJ9L2luZm8nCmluc3RhbGxfc2g9
JyR7U0hFTEx9IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvbGlibHRkbC9jb25maWcvaW5zdGFsbC1zaCcKbGliZGlyPScke2V4
ZWNfcHJlZml4fS9saWInCmxpYmV4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L2xp
YmV4ZWMnCmxvY2FsZWRpcj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxlJwpsb2Nh
bHN0YXRlZGlyPScke3ByZWZpeH0vdmFyJwptYW5kaXI9JyR7ZGF0YXJvb3Rk
aXJ9L21hbicKbWtkaXJfcD0nL2Jpbi9ta2RpciAtcCcKb2xkaW5jbHVkZWRp
cj0nL3Vzci9pbmNsdWRlJwpwYWNrYWdlX3JldmlzaW9uPScxLjMzMzcnCnBk
ZmRpcj0nJHtkb2NkaXJ9Jwpwa2dkYXRhZGlyPScke2RhdGFkaXJ9L2xpYnRv
b2wnCnByZWZpeD0nL3Vzci9sb2NhbCcKcHJvZ3JhbV90cmFuc2Zvcm1fbmFt
ZT0ncyx4LHgsJwpwc2Rpcj0nJHtkb2NkaXJ9JwpzYmluZGlyPScke2V4ZWNf
cHJlZml4fS9zYmluJwpzaGFyZWRzdGF0ZWRpcj0nJHtwcmVmaXh9L2NvbScK
c3lzX3N5bWJvbF91bmRlcnNjb3JlPSd5ZXMnCnN5c2NvbmZkaXI9JyR7cHJl
Zml4fS9ldGMnCnRhcmdldF9hbGlhcz0nJwp0b19ob3N0X2ZpbGVfY21kPSdm
dW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMicKdG9fdG9vbF9maWxlX2Nt
ZD0nZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzInCgojIyAtLS0tLS0t
LS0tLSAjIwojIyBjb25mZGVmcy5oLiAjIwojIyAtLS0tLS0tLS0tLSAjIwoK
LyogY29uZmRlZnMuaCAqLwojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiR05VIExp
YnRvb2wiCiNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJsaWJ0b29sIgojZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTiAiMi40LjIiCiNkZWZpbmUgUEFDS0FHRV9T
VFJJTkcgIkdOVSBMaWJ0b29sIDIuNC4yIgojZGVmaW5lIFBBQ0tBR0VfQlVH
UkVQT1JUICJidWctbGlidG9vbEBnbnUub3JnIgojZGVmaW5lIFBBQ0tBR0Vf
VVJMICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8iCiNk
ZWZpbmUgUEFDS0FHRSAibGlidG9vbCIKI2RlZmluZSBWRVJTSU9OICIyLjQu
MiIKI2RlZmluZSBTVERDX0hFQURFUlMgMQojZGVmaW5lIEhBVkVfU1lTX1RZ
UEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCiNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCiNkZWZpbmUg
SEFWRV9NRU1PUllfSCAxCiNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQojZGVm
aW5lIEhBVkVfSU5UVFlQRVNfSCAxCiNkZWZpbmUgSEFWRV9TVERJTlRfSCAx
CiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZpbmUgTFRfT0JKRElSICIu
bGlicy8iCiNkZWZpbmUgTFRfTU9EVUxFX0VYVCAiLmRsbCIKI2RlZmluZSBM
VF9NT0RVTEVfUEFUSF9WQVIgIlBBVEgiCiNkZWZpbmUgTFRfRExTRUFSQ0hf
UEFUSCAiL2xpYjovdXNyL2xpYiIKI2RlZmluZSBIQVZFX0RFQ0xfQ1lHV0lO
X0NPTlZfUEFUSCAwCiNkZWZpbmUgSEFWRV9MSUJETExPQURFUiAxCiNkZWZp
bmUgTFRETF9ETE9QRU5fREVQTElCUyAxCiNkZWZpbmUgZXJyb3JfdCBpbnQK
I2RlZmluZSBfX2Vycm9yX3RfZGVmaW5lZCAxCiNkZWZpbmUgSEFWRV9QUkVM
T0FERURfU1lNQk9MUyAxCiNkZWZpbmUgSEFWRV9VTklTVERfSCAxCiNkZWZp
bmUgSEFWRV9ESVJFTlRfSCAxCiNkZWZpbmUgSEFWRV9DTE9TRURJUiAxCiNk
ZWZpbmUgSEFWRV9PUEVORElSIDEKI2RlZmluZSBIQVZFX1JFQURESVIgMQoj
ZGVmaW5lIExUX0xJQkVYVCAiYSIKI2RlZmluZSBMVF9MSUJQUkVGSVggImxp
YiIKCmNvbmZpZ3VyZTogZXhpdCAwCg==

--_----------=_13840355941782731
Content-Disposition: attachment; filename="config.status"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="config.status"

IyEgL2Jpbi9zaAojIEdlbmVyYXRlZCBieSBjb25maWd1cmUuCiMgUnVuIHRo
aXMgZmlsZSB0byByZWNyZWF0ZSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9u
LgojIENvbXBpbGVyIG91dHB1dCBwcm9kdWNlZCBieSBjb25maWd1cmUsIHVz
ZWZ1bCBmb3IgZGVidWdnaW5nCiMgY29uZmlndXJlLCBpcyBpbiBjb25maWcu
bG9nIGlmIGl0IGV4aXN0cy4KCmRlYnVnPWZhbHNlCmFjX2NzX3JlY2hlY2s9
ZmFsc2UKYWNfY3Nfc2lsZW50PWZhbHNlCgpTSEVMTD0ke0NPTkZJR19TSEVM
TC0vYmluL3NofQpleHBvcnQgU0hFTEwKIyMgLS0tLS0tLS0tLS0tLS0tLS0t
LS0gIyMKIyMgTTRzaCBJbml0aWFsaXphdGlvbi4gIyMKIyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0gIyMKCiMgQmUgbW9yZSBCb3VybmUgY29tcGF0aWJsZQpE
VUFMQ0FTRT0xOyBleHBvcnQgRFVBTENBU0UgIyBmb3IgTUtTIHNoCmlmIHRl
c3QgLW4gIiR7WlNIX1ZFUlNJT04rc2V0fSIgJiYgKGVtdWxhdGUgc2gpID4v
ZGV2L251bGwgMj4mMTsgdGhlbiA6CiAgZW11bGF0ZSBzaAogIE5VTExDTUQ9
OgogICMgUHJlLTQuMiB2ZXJzaW9ucyBvZiBac2ggZG8gd29yZCBzcGxpdHRp
bmcgb24gJHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29udHJhcnkgdG8gb3Vy
IHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAgYWxpYXMgLWcgJyR7
MSsiJEAifSc9JyIkQCInCiAgc2V0b3B0IE5PX0dMT0JfU1VCU1QKZWxzZQog
IGNhc2UgYChzZXQgLW8pIDI+L2Rldi9udWxsYCBpbiAjKAogICpwb3NpeCop
IDoKICAgIHNldCAtbyBwb3NpeCA7OyAjKAogICopIDoKICAgICA7Owplc2Fj
CmZpCgoKYXNfbmw9JwonCmV4cG9ydCBhc19ubAojIFByaW50aW5nIGEgbG9u
ZyBzdHJpbmcgY3Jhc2hlcyBTb2xhcmlzIDcgL3Vzci9iaW4vcHJpbnRmLgph
c19lY2hvPSdcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxc
XFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxc
XFxcXFxcXFxcXFxcXFxcXFxcXFxcJwphc19lY2hvPSRhc19lY2hvJGFzX2Vj
aG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KYXNfZWNobz0kYXNfZWNobyRh
c19lY2hvJGFzX2VjaG8kYXNfZWNobyRhc19lY2hvJGFzX2VjaG8KIyBQcmVm
ZXIgYSBrc2ggc2hlbGwgYnVpbHRpbiBvdmVyIGFuIGV4dGVybmFsIHByaW50
ZiBwcm9ncmFtIG9uIFNvbGFyaXMsCiMgYnV0IHdpdGhvdXQgd2FzdGluZyBm
b3JrcyBmb3IgYmFzaCBvciB6c2guCmlmIHRlc3QgLXogIiRCQVNIX1ZFUlNJ
T04kWlNIX1ZFUlNJT04iIFwKICAgICYmICh0ZXN0ICJYYHByaW50IC1yIC0t
ICRhc19lY2hvYCIgPSAiWCRhc19lY2hvIikgMj4vZGV2L251bGw7IHRoZW4K
ICBhc19lY2hvPSdwcmludCAtciAtLScKICBhc19lY2hvX249J3ByaW50IC1y
biAtLScKZWxpZiAodGVzdCAiWGBwcmludGYgJXMgJGFzX2VjaG9gIiA9ICJY
JGFzX2VjaG8iKSAyPi9kZXYvbnVsbDsgdGhlbgogIGFzX2VjaG89J3ByaW50
ZiAlc1xuJwogIGFzX2VjaG9fbj0ncHJpbnRmICVzJwplbHNlCiAgaWYgdGVz
dCAiWGAoL3Vzci91Y2IvZWNobyAtbiAtbiAkYXNfZWNobykgMj4vZGV2L251
bGxgIiA9ICJYLW4gJGFzX2VjaG8iOyB0aGVuCiAgICBhc19lY2hvX2JvZHk9
J2V2YWwgL3Vzci91Y2IvZWNobyAtbiAiJDEkYXNfbmwiJwogICAgYXNfZWNo
b19uPScvdXNyL3VjYi9lY2hvIC1uJwogIGVsc2UKICAgIGFzX2VjaG9fYm9k
eT0nZXZhbCBleHByICJYJDEiIDogIlhcXCguKlxcKSInCiAgICBhc19lY2hv
X25fYm9keT0nZXZhbAogICAgICBhcmc9JDE7CiAgICAgIGNhc2UgJGFyZyBp
biAjKAogICAgICAqIiRhc19ubCIqKQoJZXhwciAiWCRhcmciIDogIlhcXCgu
KlxcKSRhc19ubCI7Cglhcmc9YGV4cHIgIlgkYXJnIiA6ICIuKiRhc19ubFxc
KC4qXFwpImA7OwogICAgICBlc2FjOwogICAgICBleHByICJYJGFyZyIgOiAi
WFxcKC4qXFwpIiB8IHRyIC1kICIkYXNfbmwiCiAgICAnCiAgICBleHBvcnQg
YXNfZWNob19uX2JvZHkKICAgIGFzX2VjaG9fbj0nc2ggLWMgJGFzX2VjaG9f
bl9ib2R5IGFzX2VjaG8nCiAgZmkKICBleHBvcnQgYXNfZWNob19ib2R5CiAg
YXNfZWNobz0nc2ggLWMgJGFzX2VjaG9fYm9keSBhc19lY2hvJwpmaQoKIyBU
aGUgdXNlciBpcyBhbHdheXMgcmlnaHQuCmlmIHRlc3QgIiR7UEFUSF9TRVBB
UkFUT1Irc2V0fSIgIT0gc2V0OyB0aGVuCiAgUEFUSF9TRVBBUkFUT1I9Ogog
IChQQVRIPScvYmluOy9iaW4nOyBGUEFUSD0kUEFUSDsgc2ggLWMgOikgPi9k
ZXYvbnVsbCAyPiYxICYmIHsKICAgIChQQVRIPScvYmluOi9iaW4nOyBGUEFU
SD0kUEFUSDsgc2ggLWMgOikgPi9kZXYvbnVsbCAyPiYxIHx8CiAgICAgIFBB
VEhfU0VQQVJBVE9SPSc7JwogIH0KZmkKCgojIElGUwojIFdlIG5lZWQgc3Bh
Y2UsIHRhYiBhbmQgbmV3IGxpbmUsIGluIHByZWNpc2VseSB0aGF0IG9yZGVy
LiAgUXVvdGluZyBpcwojIHRoZXJlIHRvIHByZXZlbnQgZWRpdG9ycyBmcm9t
IGNvbXBsYWluaW5nIGFib3V0IHNwYWNlLXRhYi4KIyAoSWYgX0FTX1BBVEhf
V0FMSyB3ZXJlIGNhbGxlZCB3aXRoIElGUyB1bnNldCwgaXQgd291bGQgZGlz
YWJsZSB3b3JkCiMgc3BsaXR0aW5nIGJ5IHNldHRpbmcgSUZTIHRvIGVtcHR5
IHZhbHVlLikKSUZTPSIgIiIJJGFzX25sIgoKIyBGaW5kIHdobyB3ZSBhcmUu
ICBMb29rIGluIHRoZSBwYXRoIGlmIHdlIGNvbnRhaW4gbm8gZGlyZWN0b3J5
IHNlcGFyYXRvci4KYXNfbXlzZWxmPQpjYXNlICQwIGluICMoKAogICpbXFwv
XSogKSBhc19teXNlbGY9JDAgOzsKICAqKSBhc19zYXZlX0lGUz0kSUZTOyBJ
RlM9JFBBVEhfU0VQQVJBVE9SCmZvciBhc19kaXIgaW4gJFBBVEgKZG8KICBJ
RlM9JGFzX3NhdmVfSUZTCiAgdGVzdCAteiAiJGFzX2RpciIgJiYgYXNfZGly
PS4KICAgIHRlc3QgLXIgIiRhc19kaXIvJDAiICYmIGFzX215c2VsZj0kYXNf
ZGlyLyQwICYmIGJyZWFrCiAgZG9uZQpJRlM9JGFzX3NhdmVfSUZTCgogICAg
IDs7CmVzYWMKIyBXZSBkaWQgbm90IGZpbmQgb3Vyc2VsdmVzLCBtb3N0IHBy
b2JhYmx5IHdlIHdlcmUgcnVuIGFzIGBzaCBDT01NQU5EJwojIGluIHdoaWNo
IGNhc2Ugd2UgYXJlIG5vdCB0byBiZSBmb3VuZCBpbiB0aGUgcGF0aC4KaWYg
dGVzdCAieCRhc19teXNlbGYiID0geDsgdGhlbgogIGFzX215c2VsZj0kMApm
aQppZiB0ZXN0ICEgLWYgIiRhc19teXNlbGYiOyB0aGVuCiAgJGFzX2VjaG8g
IiRhc19teXNlbGY6IGVycm9yOiBjYW5ub3QgZmluZCBteXNlbGY7IHJlcnVu
IHdpdGggYW4gYWJzb2x1dGUgZmlsZSBuYW1lIiA+JjIKICBleGl0IDEKZmkK
CiMgVW5zZXQgdmFyaWFibGVzIHRoYXQgd2UgZG8gbm90IG5lZWQgYW5kIHdo
aWNoIGNhdXNlIGJ1Z3MgKGUuZy4gaW4KIyBwcmUtMy4wIFVXSU4ga3NoKS4g
IEJ1dCBkbyBub3QgY2F1c2UgYnVncyBpbiBiYXNoIDIuMDE7IHRoZSAifHwg
ZXhpdCAxIgojIHN1cHByZXNzZXMgYW55ICJTZWdtZW50YXRpb24gZmF1bHQi
IG1lc3NhZ2UgdGhlcmUuICAnKCgnIGNvdWxkCiMgdHJpZ2dlciBhIGJ1ZyBp
biBwZGtzaCA1LjIuMTQuCmZvciBhc192YXIgaW4gQkFTSF9FTlYgRU5WIE1B
SUwgTUFJTFBBVEgKZG8gZXZhbCB0ZXN0IHhcJHskYXNfdmFyK3NldH0gPSB4
c2V0IFwKICAmJiAoICh1bnNldCAkYXNfdmFyKSB8fCBleGl0IDEpID4vZGV2
L251bGwgMj4mMSAmJiB1bnNldCAkYXNfdmFyIHx8IDoKZG9uZQpQUzE9JyQg
JwpQUzI9Jz4gJwpQUzQ9JysgJwoKIyBOTFMgbnVpc2FuY2VzLgpMQ19BTEw9
QwpleHBvcnQgTENfQUxMCkxBTkdVQUdFPUMKZXhwb3J0IExBTkdVQUdFCgoj
IENEUEFUSC4KKHVuc2V0IENEUEFUSCkgPi9kZXYvbnVsbCAyPiYxICYmIHVu
c2V0IENEUEFUSAoKCiMgYXNfZm5fZXJyb3IgU1RBVFVTIEVSUk9SIFtMSU5F
Tk8gTE9HX0ZEXQojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIyBPdXRwdXQgImBiYXNlbmFtZSAkMGA6IGVycm9yOiBFUlJP
UiIgdG8gc3RkZXJyLiBJZiBMSU5FTk8gYW5kIExPR19GRCBhcmUKIyBwcm92
aWRlZCwgYWxzbyBvdXRwdXQgdGhlIGVycm9yIHRvIExPR19GRCwgcmVmZXJl
bmNpbmcgTElORU5PLiBUaGVuIGV4aXQgdGhlCiMgc2NyaXB0IHdpdGggU1RB
VFVTLCB1c2luZyAxIGlmIHRoYXQgd2FzIDAuCmFzX2ZuX2Vycm9yICgpCnsK
ICBhc19zdGF0dXM9JDE7IHRlc3QgJGFzX3N0YXR1cyAtZXEgMCAmJiBhc19z
dGF0dXM9MQogIGlmIHRlc3QgIiQ0IjsgdGhlbgogICAgYXNfbGluZW5vPSR7
YXNfbGluZW5vLSIkMyJ9IGFzX2xpbmVub19zdGFjaz1hc19saW5lbm9fc3Rh
Y2s9JGFzX2xpbmVub19zdGFjawogICAgJGFzX2VjaG8gIiRhc19tZToke2Fz
X2xpbmVuby0kTElORU5PfTogZXJyb3I6ICQyIiA+JiQ0CiAgZmkKICAkYXNf
ZWNobyAiJGFzX21lOiBlcnJvcjogJDIiID4mMgogIGFzX2ZuX2V4aXQgJGFz
X3N0YXR1cwp9ICMgYXNfZm5fZXJyb3IKCgojIGFzX2ZuX3NldF9zdGF0dXMg
U1RBVFVTCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBTZXQgJD8gdG8g
U1RBVFVTLCB3aXRob3V0IGZvcmtpbmcuCmFzX2ZuX3NldF9zdGF0dXMgKCkK
ewogIHJldHVybiAkMQp9ICMgYXNfZm5fc2V0X3N0YXR1cwoKIyBhc19mbl9l
eGl0IFNUQVRVUwojIC0tLS0tLS0tLS0tLS0tLS0tCiMgRXhpdCB0aGUgc2hl
bGwgd2l0aCBTVEFUVVMsIGV2ZW4gaW4gYSAidHJhcCAwIiBvciAic2V0IC1l
IiBjb250ZXh0Lgphc19mbl9leGl0ICgpCnsKICBzZXQgK2UKICBhc19mbl9z
ZXRfc3RhdHVzICQxCiAgZXhpdCAkMQp9ICMgYXNfZm5fZXhpdAoKIyBhc19m
bl91bnNldCBWQVIKIyAtLS0tLS0tLS0tLS0tLS0KIyBQb3J0YWJseSB1bnNl
dCBWQVIuCmFzX2ZuX3Vuc2V0ICgpCnsKICB7IGV2YWwgJDE9OyB1bnNldCAk
MTt9Cn0KYXNfdW5zZXQ9YXNfZm5fdW5zZXQKIyBhc19mbl9hcHBlbmQgVkFS
IFZBTFVFCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIEFwcGVuZCB0aGUg
dGV4dCBpbiBWQUxVRSB0byB0aGUgZW5kIG9mIHRoZSBkZWZpbml0aW9uIGNv
bnRhaW5lZCBpbiBWQVIuIFRha2UKIyBhZHZhbnRhZ2Ugb2YgYW55IHNoZWxs
IG9wdGltaXphdGlvbnMgdGhhdCBhbGxvdyBhbW9ydGl6ZWQgbGluZWFyIGdy
b3d0aCBvdmVyCiMgcmVwZWF0ZWQgYXBwZW5kcywgaW5zdGVhZCBvZiB0aGUg
dHlwaWNhbCBxdWFkcmF0aWMgZ3Jvd3RoIHByZXNlbnQgaW4gbmFpdmUKIyBp
bXBsZW1lbnRhdGlvbnMuCmlmIChldmFsICJhc192YXI9MTsgYXNfdmFyKz0y
OyB0ZXN0IHhcJGFzX3ZhciA9IHgxMiIpIDI+L2Rldi9udWxsOyB0aGVuIDoK
ICBldmFsICdhc19mbl9hcHBlbmQgKCkKICB7CiAgICBldmFsICQxKz1cJDIK
ICB9JwplbHNlCiAgYXNfZm5fYXBwZW5kICgpCiAgewogICAgZXZhbCAkMT1c
JCQxXCQyCiAgfQpmaSAjIGFzX2ZuX2FwcGVuZAoKIyBhc19mbl9hcml0aCBB
UkcuLi4KIyAtLS0tLS0tLS0tLS0tLS0tLS0KIyBQZXJmb3JtIGFyaXRobWV0
aWMgZXZhbHVhdGlvbiBvbiB0aGUgQVJHcywgYW5kIHN0b3JlIHRoZSByZXN1
bHQgaW4gdGhlCiMgZ2xvYmFsICRhc192YWwuIFRha2UgYWR2YW50YWdlIG9m
IHNoZWxscyB0aGF0IGNhbiBhdm9pZCBmb3Jrcy4gVGhlIGFyZ3VtZW50cwoj
IG11c3QgYmUgcG9ydGFibGUgYWNyb3NzICQoKCkpIGFuZCBleHByLgppZiAo
ZXZhbCAidGVzdCBcJCgoIDEgKyAxICkpID0gMiIpIDI+L2Rldi9udWxsOyB0
aGVuIDoKICBldmFsICdhc19mbl9hcml0aCAoKQogIHsKICAgIGFzX3ZhbD0k
KCggJCogKSkKICB9JwplbHNlCiAgYXNfZm5fYXJpdGggKCkKICB7CiAgICBh
c192YWw9YGV4cHIgIiRAIiB8fCB0ZXN0ICQ/IC1lcSAxYAogIH0KZmkgIyBh
c19mbl9hcml0aAoKCmlmIGV4cHIgYSA6ICdcKGFcKScgPi9kZXYvbnVsbCAy
PiYxICYmCiAgIHRlc3QgIlhgZXhwciAwMDAwMSA6ICcuKlwoLi4uXCknYCIg
PSBYMDAxOyB0aGVuCiAgYXNfZXhwcj1leHByCmVsc2UKICBhc19leHByPWZh
bHNlCmZpCgppZiAoYmFzZW5hbWUgLS0gLykgPi9kZXYvbnVsbCAyPiYxICYm
IHRlc3QgIlhgYmFzZW5hbWUgLS0gLyAyPiYxYCIgPSAiWC8iOyB0aGVuCiAg
YXNfYmFzZW5hbWU9YmFzZW5hbWUKZWxzZQogIGFzX2Jhc2VuYW1lPWZhbHNl
CmZpCgppZiAoYXNfZGlyPWBkaXJuYW1lIC0tIC9gICYmIHRlc3QgIlgkYXNf
ZGlyIiA9IFgvKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBhc19kaXJuYW1l
PWRpcm5hbWUKZWxzZQogIGFzX2Rpcm5hbWU9ZmFsc2UKZmkKCmFzX21lPWAk
YXNfYmFzZW5hbWUgLS0gIiQwIiB8fAokYXNfZXhwciBYLyIkMCIgOiAnLiov
XChbXi9dW14vXSpcKS8qJCcgXHwgXAoJIFgiJDAiIDogJ1hcKC8vXCkkJyBc
fCBcCgkgWCIkMCIgOiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiRh
c19lY2hvIFgvIiQwIiB8CiAgICBzZWQgJy9eLipcL1woW14vXVteL10qXClc
LyokL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXC9cKFwvXC9c
KSQvewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcL1woXC9cKS4q
L3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgcy8uKi8uLzsgcSdgCgoj
IEF2b2lkIGRlcGVuZGluZyB1cG9uIENoYXJhY3RlciBSYW5nZXMuCmFzX2Ny
X2xldHRlcnM9J2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jwphc19jcl9M
RVRURVJTPSdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWicKYXNfY3JfTGV0
dGVycz0kYXNfY3JfbGV0dGVycyRhc19jcl9MRVRURVJTCmFzX2NyX2RpZ2l0
cz0nMDEyMzQ1Njc4OScKYXNfY3JfYWxudW09JGFzX2NyX0xldHRlcnMkYXNf
Y3JfZGlnaXRzCgpFQ0hPX0M9IEVDSE9fTj0gRUNIT19UPQpjYXNlIGBlY2hv
IC1uIHhgIGluICMoKCgoKAotbiopCiAgY2FzZSBgZWNobyAneHlcYydgIGlu
CiAgKmMqKSBFQ0hPX1Q9JwknOzsJIyBFQ0hPX1QgaXMgc2luZ2xlIHRhYiBj
aGFyYWN0ZXIuCiAgeHkpICBFQ0hPX0M9J1xjJzs7CiAgKikgICBlY2hvIGBl
Y2hvIGtzaDg4IGJ1ZyBvbiBBSVggNi4xYCA+IC9kZXYvbnVsbAogICAgICAg
RUNIT19UPScJJzs7CiAgZXNhYzs7CiopCiAgRUNIT19OPSctbic7Owplc2Fj
CgpybSAtZiBjb25mJCQgY29uZiQkLmV4ZSBjb25mJCQuZmlsZQppZiB0ZXN0
IC1kIGNvbmYkJC5kaXI7IHRoZW4KICBybSAtZiBjb25mJCQuZGlyL2NvbmYk
JC5maWxlCmVsc2UKICBybSAtZiBjb25mJCQuZGlyCiAgbWtkaXIgY29uZiQk
LmRpciAyPi9kZXYvbnVsbApmaQppZiAoZWNobyA+Y29uZiQkLmZpbGUpIDI+
L2Rldi9udWxsOyB0aGVuCiAgaWYgbG4gLXMgY29uZiQkLmZpbGUgY29uZiQk
IDI+L2Rldi9udWxsOyB0aGVuCiAgICBhc19sbl9zPSdsbiAtcycKICAgICMg
Li4uIGJ1dCB0aGVyZSBhcmUgdHdvIGdvdGNoYXM6CiAgICAjIDEpIE9uIE1T
WVMsIGJvdGggYGxuIC1zIGZpbGUgZGlyJyBhbmQgYGxuIGZpbGUgZGlyJyBm
YWlsLgogICAgIyAyKSBESkdQUCA8IDIuMDQgaGFzIG5vIHN5bWxpbmtzOyBg
bG4gLXMnIGNyZWF0ZXMgYSB3cmFwcGVyIGV4ZWN1dGFibGUuCiAgICAjIElu
IGJvdGggY2FzZXMsIHdlIGhhdmUgdG8gZGVmYXVsdCB0byBgY3AgLXAnLgog
ICAgbG4gLXMgY29uZiQkLmZpbGUgY29uZiQkLmRpciAyPi9kZXYvbnVsbCAm
JiB0ZXN0ICEgLWYgY29uZiQkLmV4ZSB8fAogICAgICBhc19sbl9zPSdjcCAt
cCcKICBlbGlmIGxuIGNvbmYkJC5maWxlIGNvbmYkJCAyPi9kZXYvbnVsbDsg
dGhlbgogICAgYXNfbG5fcz1sbgogIGVsc2UKICAgIGFzX2xuX3M9J2NwIC1w
JwogIGZpCmVsc2UKICBhc19sbl9zPSdjcCAtcCcKZmkKcm0gLWYgY29uZiQk
IGNvbmYkJC5leGUgY29uZiQkLmRpci9jb25mJCQuZmlsZSBjb25mJCQuZmls
ZQpybWRpciBjb25mJCQuZGlyIDI+L2Rldi9udWxsCgoKIyBhc19mbl9ta2Rp
cl9wCiMgLS0tLS0tLS0tLS0tLQojIENyZWF0ZSAiJGFzX2RpciIgYXMgYSBk
aXJlY3RvcnksIGluY2x1ZGluZyBwYXJlbnRzIGlmIG5lY2Vzc2FyeS4KYXNf
Zm5fbWtkaXJfcCAoKQp7CgogIGNhc2UgJGFzX2RpciBpbiAjKAogIC0qKSBh
c19kaXI9Li8kYXNfZGlyOzsKICBlc2FjCiAgdGVzdCAtZCAiJGFzX2RpciIg
fHwgZXZhbCAkYXNfbWtkaXJfcCB8fCB7CiAgICBhc19kaXJzPQogICAgd2hp
bGUgOjsgZG8KICAgICAgY2FzZSAkYXNfZGlyIGluICMoCiAgICAgICpcJyop
IGFzX3FkaXI9YCRhc19lY2hvICIkYXNfZGlyIiB8IHNlZCAicy8nLydcXFxc
XFxcXCcnL2ciYDs7ICMnKAogICAgICAqKSBhc19xZGlyPSRhc19kaXI7Owog
ICAgICBlc2FjCiAgICAgIGFzX2RpcnM9IickYXNfcWRpcicgJGFzX2RpcnMi
CiAgICAgIGFzX2Rpcj1gJGFzX2Rpcm5hbWUgLS0gIiRhc19kaXIiIHx8CiRh
c19leHByIFgiJGFzX2RpciIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSov
KiQnIFx8IFwKCSBYIiRhc19kaXIiIDogJ1hcKC8vXClbXi9dJyBcfCBcCgkg
WCIkYXNfZGlyIiA6ICdYXCgvL1wpJCcgXHwgXAoJIFgiJGFzX2RpciIgOiAn
WFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiRhc19lY2hvIFgiJGFzX2Rp
ciIgfAogICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyok
L3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wvXClbXi9d
LiovewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9cKSQv
ewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXCkuKi97Cgkg
ICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIHMvLiovLi87IHEnYAogICAgICB0
ZXN0IC1kICIkYXNfZGlyIiAmJiBicmVhawogICAgZG9uZQogICAgdGVzdCAt
eiAiJGFzX2RpcnMiIHx8IGV2YWwgIm1rZGlyICRhc19kaXJzIgogIH0gfHwg
dGVzdCAtZCAiJGFzX2RpciIgfHwgYXNfZm5fZXJyb3IgJD8gImNhbm5vdCBj
cmVhdGUgZGlyZWN0b3J5ICRhc19kaXIiCgoKfSAjIGFzX2ZuX21rZGlyX3AK
aWYgbWtkaXIgLXAgLiAyPi9kZXYvbnVsbDsgdGhlbgogIGFzX21rZGlyX3A9
J21rZGlyIC1wICIkYXNfZGlyIicKZWxzZQogIHRlc3QgLWQgLi8tcCAmJiBy
bWRpciAuLy1wCiAgYXNfbWtkaXJfcD1mYWxzZQpmaQoKaWYgdGVzdCAteCAv
ID4vZGV2L251bGwgMj4mMTsgdGhlbgogIGFzX3Rlc3RfeD0ndGVzdCAteCcK
ZWxzZQogIGlmIGxzIC1kTCAvID4vZGV2L251bGwgMj4mMTsgdGhlbgogICAg
YXNfbHNfTF9vcHRpb249TAogIGVsc2UKICAgIGFzX2xzX0xfb3B0aW9uPQog
IGZpCiAgYXNfdGVzdF94PScKICAgIGV2YWwgc2ggLWMgJ1wnJwogICAgICBp
ZiB0ZXN0IC1kICIkMSI7IHRoZW4KCXRlc3QgLWQgIiQxLy4iOwogICAgICBl
bHNlCgljYXNlICQxIGluICMoCgktKilzZXQgIi4vJDEiOzsKCWVzYWM7Cglj
YXNlIGBscyAtbGQnJGFzX2xzX0xfb3B0aW9uJyAiJDEiIDI+L2Rldi9udWxs
YCBpbiAjKCgKCT8/P1tzeF0qKTo7OyopZmFsc2U7O2VzYWM7ZmkKICAgICdc
Jycgc2gKICAnCmZpCmFzX2V4ZWN1dGFibGVfcD0kYXNfdGVzdF94CgojIFNl
ZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQgQ1BQ
IG5hbWUuCmFzX3RyX2NwcD0iZXZhbCBzZWQgJ3klKiRhc19jcl9sZXR0ZXJz
JVAkYXNfY3JfTEVUVEVSUyU7cyVbXl8kYXNfY3JfYWxudW1dJV8lZyciCgoj
IFNlZCBleHByZXNzaW9uIHRvIG1hcCBhIHN0cmluZyBvbnRvIGEgdmFsaWQg
dmFyaWFibGUgbmFtZS4KYXNfdHJfc2g9ImV2YWwgc2VkICd5JSorJXBwJTtz
JVteXyRhc19jcl9hbG51bV0lXyVnJyIKCgpleGVjIDY+JjEKIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgTWFpbiBib2R5
IG9mICRDT05GSUdfU1RBVFVTIHNjcmlwdC4gIyMKIyMgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyBTYXZlIHRoZSBsb2cgbWVz
c2FnZSwgdG8ga2VlcCAkMCBhbmQgc28gb24gbWVhbmluZ2Z1bCwgYW5kIHRv
CiMgcmVwb3J0IGFjdHVhbCBpbnB1dCB2YWx1ZXMgb2YgQ09ORklHX0ZJTEVT
IGV0Yy4gaW5zdGVhZCBvZiB0aGVpcgojIHZhbHVlcyBhZnRlciBvcHRpb25z
IGhhbmRsaW5nLgphY19sb2c9IgpUaGlzIGZpbGUgd2FzIGV4dGVuZGVkIGJ5
IEdOVSBMaWJ0b29sICRhc19tZSAyLjQuMiwgd2hpY2ggd2FzCmdlbmVyYXRl
ZCBieSBHTlUgQXV0b2NvbmYgMi42OC4gIEludm9jYXRpb24gY29tbWFuZCBs
aW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAkQ09ORklHX0ZJTEVTCiAg
Q09ORklHX0hFQURFUlMgID0gJENPTkZJR19IRUFERVJTCiAgQ09ORklHX0xJ
TktTICAgID0gJENPTkZJR19MSU5LUwogIENPTkZJR19DT01NQU5EUyA9ICRD
T05GSUdfQ09NTUFORFMKICAkICQwICRACgpvbiBgKGhvc3RuYW1lIHx8IHVu
YW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWAKIgoKIyBGaWxlcyB0aGF0
IGNvbmZpZy5zdGF0dXMgd2FzIG1hZGUgZm9yLgpjb25maWdfZmlsZXM9IiBN
YWtlZmlsZSIKY29uZmlnX2hlYWRlcnM9IiBjb25maWcuaDpjb25maWctaC5p
biIKY29uZmlnX2NvbW1hbmRzPSIgdGVzdHMvYXRjb25maWcgZGVwZmlsZXMg
bGlidG9vbCIKCmFjX2NzX3VzYWdlPSJcClxgJGFzX21lJyBpbnN0YW50aWF0
ZXMgZmlsZXMgYW5kIG90aGVyIGNvbmZpZ3VyYXRpb24gYWN0aW9ucwpmcm9t
IHRlbXBsYXRlcyBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgY29uZmlndXJh
dGlvbi4gIFVubGVzcyB0aGUgZmlsZXMKYW5kIGFjdGlvbnMgYXJlIHNwZWNp
ZmllZCBhcyBUQUdzLCBhbGwgYXJlIGluc3RhbnRpYXRlZCBieSBkZWZhdWx0
LgoKVXNhZ2U6ICQwIFtPUFRJT05dLi4uIFtUQUddLi4uCgogIC1oLCAtLWhl
bHAgICAgICAgcHJpbnQgdGhpcyBoZWxwLCB0aGVuIGV4aXQKICAtViwgLS12
ZXJzaW9uICAgIHByaW50IHZlcnNpb24gbnVtYmVyIGFuZCBjb25maWd1cmF0
aW9uIHNldHRpbmdzLCB0aGVuIGV4aXQKICAgICAgLS1jb25maWcgICAgIHBy
aW50IGNvbmZpZ3VyYXRpb24sIHRoZW4gZXhpdAogIC1xLCAtLXF1aWV0LCAt
LXNpbGVudAogICAgICAgICAgICAgICAgICAgZG8gbm90IHByaW50IHByb2dy
ZXNzIG1lc3NhZ2VzCiAgLWQsIC0tZGVidWcgICAgICBkb24ndCByZW1vdmUg
dGVtcG9yYXJ5IGZpbGVzCiAgICAgIC0tcmVjaGVjayAgICB1cGRhdGUgJGFz
X21lIGJ5IHJlY29uZmlndXJpbmcgaW4gdGhlIHNhbWUgY29uZGl0aW9ucwog
ICAgICAtLWZpbGU9RklMRVs6VEVNUExBVEVdCiAgICAgICAgICAgICAgICAg
ICBpbnN0YW50aWF0ZSB0aGUgY29uZmlndXJhdGlvbiBmaWxlIEZJTEUKICAg
ICAgLS1oZWFkZXI9RklMRVs6VEVNUExBVEVdCiAgICAgICAgICAgICAgICAg
ICBpbnN0YW50aWF0ZSB0aGUgY29uZmlndXJhdGlvbiBoZWFkZXIgRklMRQoK
Q29uZmlndXJhdGlvbiBmaWxlczoKJGNvbmZpZ19maWxlcwoKQ29uZmlndXJh
dGlvbiBoZWFkZXJzOgokY29uZmlnX2hlYWRlcnMKCkNvbmZpZ3VyYXRpb24g
Y29tbWFuZHM6CiRjb25maWdfY29tbWFuZHMKClJlcG9ydCBidWdzIHRvIDxi
dWctbGlidG9vbEBnbnUub3JnPi4KR05VIExpYnRvb2wgaG9tZSBwYWdlOiA8
aHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvPi4KR2VuZXJh
bCBoZWxwIHVzaW5nIEdOVSBzb2Z0d2FyZTogPGh0dHA6Ly93d3cuZ251Lm9y
Zy9nZXRoZWxwLz4uIgoKYWNfY3NfY29uZmlnPSIiCmFjX2NzX3ZlcnNpb249
IlwKR05VIExpYnRvb2wgY29uZmlnLnN0YXR1cyAyLjQuMgpjb25maWd1cmVk
IGJ5IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIv
Y29uZmlndXJlLCBnZW5lcmF0ZWQgYnkgR05VIEF1dG9jb25mIDIuNjgsCiAg
d2l0aCBvcHRpb25zIFwiJGFjX2NzX2NvbmZpZ1wiCgpDb3B5cmlnaHQgKEMp
IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuClRoaXMgY29u
ZmlnLnN0YXR1cyBzY3JpcHQgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbgpnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lv
biB0byBjb3B5LCBkaXN0cmlidXRlIGFuZCBtb2RpZnkgaXQuIgoKYWNfcHdk
PScvbWluZ3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05VJwpzcmNkaXI9Jy9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjInCklOU1RB
TEw9Jy9iaW4vaW5zdGFsbCAtYycKTUtESVJfUD0nL2Jpbi9ta2RpciAtcCcK
QVdLPSdnYXdrJwp0ZXN0IC1uICIkQVdLIiB8fCBBV0s9YXdrCiMgVGhlIGRl
ZmF1bHQgbGlzdHMgYXBwbHkgaWYgdGhlIHVzZXIgZG9lcyBub3Qgc3BlY2lm
eSBhbnkgZmlsZS4KYWNfbmVlZF9kZWZhdWx0cz06CndoaWxlIHRlc3QgJCMg
IT0gMApkbwogIGNhc2UgJDEgaW4KICAtLSo9PyopCiAgICBhY19vcHRpb249
YGV4cHIgIlgkMSIgOiAnWFwoW149XSpcKT0nYAogICAgYWNfb3B0YXJnPWBl
eHByICJYJDEiIDogJ1hbXj1dKj1cKC4qXCknYAogICAgYWNfc2hpZnQ9Ogog
ICAgOzsKICAtLSo9KQogICAgYWNfb3B0aW9uPWBleHByICJYJDEiIDogJ1hc
KFtePV0qXCk9J2AKICAgIGFjX29wdGFyZz0KICAgIGFjX3NoaWZ0PToKICAg
IDs7CiAgKikKICAgIGFjX29wdGlvbj0kMQogICAgYWNfb3B0YXJnPSQyCiAg
ICBhY19zaGlmdD1zaGlmdAogICAgOzsKICBlc2FjCgogIGNhc2UgJGFjX29w
dGlvbiBpbgogICMgSGFuZGxpbmcgb2YgdGhlIG9wdGlvbnMuCiAgLXJlY2hl
Y2sgfCAtLXJlY2hlY2sgfCAtLXJlY2hlYyB8IC0tcmVjaGUgfCAtLXJlY2gg
fCAtLXJlYyB8IC0tcmUgfCAtLXIpCiAgICBhY19jc19yZWNoZWNrPTogOzsK
ICAtLXZlcnNpb24gfCAtLXZlcnNpbyB8IC0tdmVyc2kgfCAtLXZlcnMgfCAt
LXZlciB8IC0tdmUgfCAtLXYgfCAtViApCiAgICAkYXNfZWNobyAiJGFjX2Nz
X3ZlcnNpb24iOyBleGl0IDs7CiAgLS1jb25maWcgfCAtLWNvbmZpIHwgLS1j
b25mIHwgLS1jb24gfCAtLWNvIHwgLS1jICkKICAgICRhc19lY2hvICIkYWNf
Y3NfY29uZmlnIjsgZXhpdCA7OwogIC0tZGVidWcgfCAtLWRlYnUgfCAtLWRl
YiB8IC0tZGUgfCAtLWQgfCAtZCApCiAgICBkZWJ1Zz06IDs7CiAgLS1maWxl
IHwgLS1maWwgfCAtLWZpIHwgLS1mICkKICAgICRhY19zaGlmdAogICAgY2Fz
ZSAkYWNfb3B0YXJnIGluCiAgICAqXCcqKSBhY19vcHRhcmc9YCRhc19lY2hv
ICIkYWNfb3B0YXJnIiB8IHNlZCAicy8nLydcXFxcXFxcXCcnL2ciYCA7Owog
ICAgJycpIGFzX2ZuX2Vycm9yICQ/ICJtaXNzaW5nIGZpbGUgYXJndW1lbnQi
IDs7CiAgICBlc2FjCiAgICBhc19mbl9hcHBlbmQgQ09ORklHX0ZJTEVTICIg
JyRhY19vcHRhcmcnIgogICAgYWNfbmVlZF9kZWZhdWx0cz1mYWxzZTs7CiAg
LS1oZWFkZXIgfCAtLWhlYWRlIHwgLS1oZWFkIHwgLS1oZWEgKQogICAgJGFj
X3NoaWZ0CiAgICBjYXNlICRhY19vcHRhcmcgaW4KICAgICpcJyopIGFjX29w
dGFyZz1gJGFzX2VjaG8gIiRhY19vcHRhcmciIHwgc2VkICJzLycvJ1xcXFxc
XFxcJycvZyJgIDs7CiAgICBlc2FjCiAgICBhc19mbl9hcHBlbmQgQ09ORklH
X0hFQURFUlMgIiAnJGFjX29wdGFyZyciCiAgICBhY19uZWVkX2RlZmF1bHRz
PWZhbHNlOzsKICAtLWhlIHwgLS1oKQogICAgIyBDb25mbGljdCBiZXR3ZWVu
IC0taGVscCBhbmQgLS1oZWFkZXIKICAgIGFzX2ZuX2Vycm9yICQ/ICJhbWJp
Z3VvdXMgb3B0aW9uOiBcYCQxJwpUcnkgXGAkMCAtLWhlbHAnIGZvciBtb3Jl
IGluZm9ybWF0aW9uLiI7OwogIC0taGVscCB8IC0taGVsIHwgLWggKQogICAg
JGFzX2VjaG8gIiRhY19jc191c2FnZSI7IGV4aXQgOzsKICAtcSB8IC1xdWll
dCB8IC0tcXVpZXQgfCAtLXF1aWUgfCAtLXF1aSB8IC0tcXUgfCAtLXEgXAog
IHwgLXNpbGVudCB8IC0tc2lsZW50IHwgLS1zaWxlbiB8IC0tc2lsZSB8IC0t
c2lsIHwgLS1zaSB8IC0tcykKICAgIGFjX2NzX3NpbGVudD06IDs7CgogICMg
VGhpcyBpcyBhbiBlcnJvci4KICAtKikgYXNfZm5fZXJyb3IgJD8gInVucmVj
b2duaXplZCBvcHRpb246IFxgJDEnClRyeSBcYCQwIC0taGVscCcgZm9yIG1v
cmUgaW5mb3JtYXRpb24uIiA7OwoKICAqKSBhc19mbl9hcHBlbmQgYWNfY29u
ZmlnX3RhcmdldHMgIiAkMSIKICAgICBhY19uZWVkX2RlZmF1bHRzPWZhbHNl
IDs7CgogIGVzYWMKICBzaGlmdApkb25lCgphY19jb25maWd1cmVfZXh0cmFf
YXJncz0KCmlmICRhY19jc19zaWxlbnQ7IHRoZW4KICBleGVjIDY+L2Rldi9u
dWxsCiAgYWNfY29uZmlndXJlX2V4dHJhX2FyZ3M9IiRhY19jb25maWd1cmVf
ZXh0cmFfYXJncyAtLXNpbGVudCIKZmkKCmlmICRhY19jc19yZWNoZWNrOyB0
aGVuCiAgc2V0IFggJy9iaW4vc2gnICcvTWluR1cvc2hhcmUvYXV0b21ha2Ut
MS4xMS9saWJ0b29sLTIuNC4yL2NvbmZpZ3VyZScgICRhY19jb25maWd1cmVf
ZXh0cmFfYXJncyAtLW5vLWNyZWF0ZSAtLW5vLXJlY3Vyc2lvbgogIHNoaWZ0
CiAgJGFzX2VjaG8gInJ1bm5pbmcgQ09ORklHX1NIRUxMPS9iaW4vc2ggJCoi
ID4mNgogIENPTkZJR19TSEVMTD0nL2Jpbi9zaCcKICBleHBvcnQgQ09ORklH
X1NIRUxMCiAgZXhlYyAiJEAiCmZpCgpleGVjIDU+PmNvbmZpZy5sb2cKewog
IGVjaG8KICBzZWQgJ2g7cy8uLy0vZztzL14uLi4vIyMgLztzLy4uLiQvICMj
LztwO3g7cDt4JyA8PF9BU0JPWAojIyBSdW5uaW5nICRhc19tZS4gIyMKX0FT
Qk9YCiAgJGFzX2VjaG8gIiRhY19sb2ciCn0gPiY1CgojCiMgSU5JVC1DT01N
QU5EUwojCgpBTURFUF9UUlVFPSIiIGFjX2F1eF9kaXI9Ii9NaW5HVy9zaGFy
ZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvbGlibHRkbC9jb25maWci
CgoKIyBUaGUgSFAtVVgga3NoIGFuZCBQT1NJWCBzaGVsbCBwcmludCB0aGUg
dGFyZ2V0IGRpcmVjdG9yeSB0byBzdGRvdXQKIyBpZiBDRFBBVEggaXMgc2V0
LgoodW5zZXQgQ0RQQVRIKSA+L2Rldi9udWxsIDI+JjEgJiYgdW5zZXQgQ0RQ
QVRICgpzZWRfcXVvdGVfc3Vic3Q9J3MvXChbImAkXFxdXCkvXFxcMS9nJwpk
b3VibGVfcXVvdGVfc3Vic3Q9J3MvXChbImBcXF1cKS9cXFwxL2cnCmRlbGF5
X3ZhcmlhYmxlX3N1YnN0PSdzL1xcXFxcXFxcXFxcJC9cXFxcXFwkL2cnCm1h
Y3JvX3ZlcnNpb249JzIuNC4yJwptYWNyb19yZXZpc2lvbj0nMS4zMzM3JwpB
Uz0nYXMnCkRMTFRPT0w9J2RsbHRvb2wnCk9CSkRVTVA9J29iamR1bXAnCmVu
YWJsZV9zaGFyZWQ9J3llcycKZW5hYmxlX3N0YXRpYz0neWVzJwpwaWNfbW9k
ZT0nZGVmYXVsdCcKZW5hYmxlX2Zhc3RfaW5zdGFsbD0nbmVlZGxlc3MnClNI
RUxMPScvYmluL3NoJwpFQ0hPPSdwcmludGYgJXNcbicKUEFUSF9TRVBBUkFU
T1I9JzonCmhvc3RfYWxpYXM9JycKaG9zdD0naTY4Ni1wYy1taW5ndzMyJwpo
b3N0X29zPSdtaW5ndzMyJwpidWlsZF9hbGlhcz0nJwpidWlsZD0naTY4Ni1w
Yy1taW5ndzMyJwpidWlsZF9vcz0nbWluZ3czMicKU0VEPScvYmluL3NlZCcK
WHNlZD0nL2Jpbi9zZWQgLWUgMXMvXlgvLycKR1JFUD0nL2Jpbi9ncmVwJwpF
R1JFUD0nL2Jpbi9ncmVwIC1FJwpGR1JFUD0nL2Jpbi9ncmVwIC1GJwpMRD0n
YzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlJwpOTT0nL2Jpbi9ubSAtQicK
TE5fUz0nY3AgLXAnCm1heF9jbWRfbGVuPSc4MTkyJwphY19vYmpleHQ9J28n
CmV4ZWV4dD0nJwpsdF91bnNldD0ndW5zZXQnCmx0X1NQMk5MPSd0ciBcMDQw
IFwwMTInCmx0X05MMlNQPSd0ciBcMDE1XDAxMiBcMDQwXDA0MCcKbHRfY3Zf
dG9faG9zdF9maWxlX2NtZD0nZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193
MzInCmx0X2N2X3RvX3Rvb2xfZmlsZV9jbWQ9J2Z1bmNfY29udmVydF9maWxl
X21zeXNfdG9fdzMyJwpyZWxvYWRfZmxhZz0nIC1yJwpyZWxvYWRfY21kcz0n
JExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2FkX29ianMnCmRlcGxp
YnNfY2hlY2tfbWV0aG9kPSdmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBv
cnR8Xng4NiBETEwnCmZpbGVfbWFnaWNfY21kPSdmdW5jX3dpbjMyX2xpYmlk
JwpmaWxlX21hZ2ljX2dsb2I9JycKd2FudF9ub2Nhc2VnbG9iPSd5ZXMnCnNo
YXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kPSdmdW5jX2N5Z21pbmdfZGxsX2Zv
cl9pbXBsaWInCkFSPSdhcicKQVJfRkxBR1M9J2NydScKYXJjaGl2ZXJfbGlz
dF9zcGVjPSdAJwpTVFJJUD0nc3RyaXAnClJBTkxJQj0ncmFubGliJwpvbGRf
cG9zdGluc3RhbGxfY21kcz0nY2htb2QgNjQ0ICRvbGRsaWJ+JFJBTkxJQiAk
dG9vbF9vbGRsaWInCm9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9JycKb2xkX2Fy
Y2hpdmVfY21kcz0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianN+JFJB
TkxJQiAkdG9vbF9vbGRsaWInCmxvY2tfb2xkX2FyY2hpdmVfZXh0cmFjdGlv
bj0nbm8nCkNDPSdnY2MnCkNGTEFHUz0nLWcgLU8yJwpjb21waWxlcj0nd2lu
ZHJlcycKR0NDPSd5ZXMnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3BpcGU9
J3NlZCAtbiAtZSAnXCcncy9eLipbCSBdXChbQUJDREdJUlNUV11bQUJDREdJ
UlNUV10qXClbCSBdWwkgXSpfXChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkN
XHswLDFcfSQvXDEgX1wyIFwyL3AnXCcnIHwgc2VkICdcJycvIF9fZ251X2x0
by9kJ1wnJycKbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J3Nl
ZCAtbiAtZSAnXCcncy9eVCAuKiBcKC4qXCkkL2V4dGVybiBpbnQgXDEoKTsv
cCdcJycgLWUgJ1wnJ3MvXltBQkNER0lSU1RXXSogLiogXCguKlwpJC9leHRl
cm4gY2hhciBcMTsvcCdcJycnCmx0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3Rv
X2NfbmFtZV9hZGRyZXNzPSdzZWQgLW4gLWUgJ1wnJ3MvXjogXChbXiBdKlwp
WyBdKiQvICB7XCJcMVwiLCAodm9pZCAqKSAwfSwvcCdcJycgLWUgJ1wnJ3Mv
XltBQkNER0lSU1RXXSogXChbXiBdKlwpIFwoW14gXSpcKSQvICB7IlwyIiwg
KHZvaWQgKikgXCZcMn0sL3AnXCcnJwpsdF9jdl9zeXNfZ2xvYmFsX3N5bWJv
bF90b19jX25hbWVfYWRkcmVzc19saWJfcHJlZml4PSdzZWQgLW4gLWUgJ1wn
J3MvXjogXChbXiBdKlwpWyBdKiQvICB7XCJcMVwiLCAodm9pZCAqKSAwfSwv
cCdcJycgLWUgJ1wnJ3MvXltBQkNER0lSU1RXXSogXChbXiBdKlwpIFwobGli
W14gXSpcKSQvICB7IlwyIiwgKHZvaWQgKikgXCZcMn0sL3AnXCcnIC1lICdc
JydzL15bQUJDREdJUlNUV10qIFwoW14gXSpcKSBcKFteIF0qXCkkLyAgeyJs
aWJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJycKbm1fZmlsZV9saXN0X3Nw
ZWM9J0AnCmx0X3N5c3Jvb3Q9JycKb2JqZGlyPScubGlicycKTUFHSUNfQ01E
PSdmaWxlJwpsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZz0nIC1m
bm8tYnVpbHRpbicKbHRfcHJvZ19jb21waWxlcl9waWM9JyAtRERMTF9FWFBP
UlQgLURQSUMnCmx0X3Byb2dfY29tcGlsZXJfd2w9Jy1XbCwnCmx0X3Byb2df
Y29tcGlsZXJfc3RhdGljPSctc3RhdGljJwpsdF9jdl9wcm9nX2NvbXBpbGVy
X2Nfbz0neWVzJwpuZWVkX2xvY2tzPSdubycKTUFOSUZFU1RfVE9PTD0nOicK
RFNZTVVUSUw9JycKTk1FRElUPScnCkxJUE89JycKT1RPT0w9JycKT1RPT0w2
ND0nJwpsaWJleHQ9J2EnCnNocmV4dF9jbWRzPScuZGxsJwpleHRyYWN0X2V4
cHN5bXNfY21kcz0nJwphcmNoaXZlX2NtZHNfbmVlZF9sYz0neWVzJwplbmFi
bGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzPSd5ZXMnCmV4cG9ydF9k
eW5hbWljX2ZsYWdfc3BlYz0nJHt3bH0tLWV4cG9ydC1hbGwtc3ltYm9scycK
d2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JyR7d2x9LS13aG9sZS1hcmNoaXZl
JGNvbnZlbmllbmNlICR7d2x9LS1uby13aG9sZS1hcmNoaXZlJwpjb21waWxl
cl9uZWVkc19vYmplY3Q9J25vJwpvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRz
PScnCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPScnCmFyY2hpdmVf
Y21kcz0nJENDIC1zaGFyZWQgJGxpYm9ianMgJGRlcGxpYnMgJGNvbXBpbGVy
X2ZsYWdzIC1vICRvdXRwdXRfb2JqZGlyLyRzb25hbWUgJHt3bH0tLWVuYWJs
ZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1vdXQtaW1wbGliIC1YbGlu
a2VyICRsaWInCmFyY2hpdmVfZXhwc3ltX2NtZHM9J2lmIHRlc3QgInhgJFNF
RCAxcSAkZXhwb3J0X3N5bWJvbHNgIiA9IHhFWFBPUlRTOyB0aGVuCgkgIGNw
ICRleHBvcnRfc3ltYm9scyAkb3V0cHV0X29iamRpci8kc29uYW1lLmRlZjsK
CWVsc2UKCSAgZWNobyBFWFBPUlRTID4gJG91dHB1dF9vYmpkaXIvJHNvbmFt
ZS5kZWY7CgkgIGNhdCAkZXhwb3J0X3N5bWJvbHMgPj4gJG91dHB1dF9vYmpk
aXIvJHNvbmFtZS5kZWY7CglmaX4KCSRDQyAtc2hhcmVkICRvdXRwdXRfb2Jq
ZGlyLyRzb25hbWUuZGVmICRsaWJvYmpzICRkZXBsaWJzICRjb21waWxlcl9m
bGFncyAtbyAkb3V0cHV0X29iamRpci8kc29uYW1lICR7d2x9LS1lbmFibGUt
YXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtl
ciAkbGliJwptb2R1bGVfY21kcz0nJwptb2R1bGVfZXhwc3ltX2NtZHM9JycK
d2l0aF9nbnVfbGQ9J3llcycKYWxsb3dfdW5kZWZpbmVkX2ZsYWc9J3Vuc3Vw
cG9ydGVkJwpub191bmRlZmluZWRfZmxhZz0nJwpoYXJkY29kZV9saWJkaXJf
ZmxhZ19zcGVjPSctTCRsaWJkaXInCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0
b3I9JycKaGFyZGNvZGVfZGlyZWN0PSdubycKaGFyZGNvZGVfZGlyZWN0X2Fi
c29sdXRlPSdubycKaGFyZGNvZGVfbWludXNfTD0nbm8nCmhhcmRjb2RlX3No
bGlicGF0aF92YXI9J3Vuc3VwcG9ydGVkJwpoYXJkY29kZV9hdXRvbWF0aWM9
J25vJwppbmhlcml0X3JwYXRoPSdubycKbGlua19hbGxfZGVwbGlicz0ndW5r
bm93bicKYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSdubycKZXhwb3J0X3N5bWJv
bHNfY21kcz0nJE5NICRsaWJvYmpzICRjb252ZW5pZW5jZSB8ICRnbG9iYWxf
c3ltYm9sX3BpcGUgfCAkU0VEIC1lICdcJycvXltCQ0RHUlNdWyBdL3MvLipb
IF1cKFteIF0qXCkvXDEgREFUQS87cy9eLipbIF1fX25tX19cKFteIF0qXClb
IF1bXiBdKi9cMSBEQVRBLzsvXklbIF0vZDsvXltBSVRXXVsgXS9zLy4qIC8v
J1wnJyB8IHNvcnQgfCB1bmlxID4gJGV4cG9ydF9zeW1ib2xzJwpleGNsdWRl
X2V4cHN5bXM9J1tfXStHTE9CQUxfT0ZGU0VUX1RBQkxFX3xbX10rR0xPQkFM
X19bRklEXV8uKnxbX10raGVhZF9bQS1aYS16MC05X10rX2RsbHxbQS1aYS16
MC05X10rX2RsbF9pbmFtZScKaW5jbHVkZV9leHBzeW1zPScnCnByZWxpbmtf
Y21kcz0nJwpwb3N0bGlua19jbWRzPScnCmZpbGVfbGlzdF9zcGVjPScnCnZh
cmlhYmxlc19zYXZlZF9mb3JfcmVsaW5rPSdQQVRIIFBBVEggTERfUlVOX1BB
VEggR0NDX0VYRUNfUFJFRklYIENPTVBJTEVSX1BBVEggTElCUkFSWV9QQVRI
JwpuZWVkX2xpYl9wcmVmaXg9J25vJwpuZWVkX3ZlcnNpb249J25vJwp2ZXJz
aW9uX3R5cGU9J3dpbmRvd3MnCnJ1bnBhdGhfdmFyPSdMRF9SVU5fUEFUSCcK
c2hsaWJwYXRoX3Zhcj0nUEFUSCcKc2hsaWJwYXRoX292ZXJyaWRlc19ydW5w
YXRoPSd5ZXMnCmxpYm5hbWVfc3BlYz0nbGliJG5hbWUnCmxpYnJhcnlfbmFt
ZXNfc3BlYz0nJGxpYm5hbWUuZGxsLmEnCnNvbmFtZV9zcGVjPScke2xpYm5h
bWV9YGVjaG8gJHtyZWxlYXNlfSB8ICRTRUQgLWUgcy9bLl0vLS9nYCR7dmVy
c3VmZml4fSR7c2hhcmVkX2V4dH0nCmluc3RhbGxfb3ZlcnJpZGVfbW9kZT0n
Jwpwb3N0aW5zdGFsbF9jbWRzPSdiYXNlX2ZpbGU9YGJhc2VuYW1lIFwke2Zp
bGV9YH4KICAgICAgZGxwYXRoPWAkU0hFTEwgMj4mMSAtYyAnXCcnLiAkZGly
LydcJydcJHtiYXNlX2ZpbGV9J1wnJ2k7IGVjaG8gXCRkbG5hbWUnXCcnYH4K
ICAgICAgZGxkaXI9JGRlc3RkaXIvYGRpcm5hbWUgXCRkbHBhdGhgfgogICAg
ICB0ZXN0IC1kIFwkZGxkaXIgfHwgbWtkaXIgLXAgXCRkbGRpcn4KICAgICAg
JGluc3RhbGxfcHJvZyAkZGlyLyRkbG5hbWUgXCRkbGRpci8kZGxuYW1lfgog
ICAgICBjaG1vZCBhK3ggXCRkbGRpci8kZGxuYW1lfgogICAgICBpZiB0ZXN0
IC1uICdcJyckc3RyaXBtZSdcJycgJiYgdGVzdCAtbiAnXCcnJHN0cmlwbGli
J1wnJzsgdGhlbgogICAgICAgIGV2YWwgJ1wnJyRzdHJpcGxpYiBcJGRsZGly
LyRkbG5hbWUnXCcnIHx8IGV4aXQgXCQ/OwogICAgICBmaScKcG9zdHVuaW5z
dGFsbF9jbWRzPSdkbGRsbD1gJFNIRUxMIDI+JjEgLWMgJ1wnJy4gJGZpbGU7
IGVjaG8gXCRkbG5hbWUnXCcnYH4KICAgICAgZGxwYXRoPSRkaXIvXCRkbGRs
bH4KICAgICAgICRSTSBcJGRscGF0aCcKZmluaXNoX2NtZHM9JycKZmluaXNo
X2V2YWw9JycKaGFyZGNvZGVfaW50b19saWJzPSdubycKc3lzX2xpYl9zZWFy
Y2hfcGF0aF9zcGVjPSdjOi90aW5ndy9saWIvZ2NjL21pbmd3MzIvNC44LjEg
YzovdGluZ3cvbGliL2djYyBjOi90aW5ndy9taW5ndzMyL2xpYiBjOi90aW5n
dy9saWIgJwpzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0nL2xpYiAvdXNy
L2xpYicKaGFyZGNvZGVfYWN0aW9uPSdpbW1lZGlhdGUnCmVuYWJsZV9kbG9w
ZW49J3llcycKZW5hYmxlX2Rsb3Blbl9zZWxmPSd1bmtub3duJwplbmFibGVf
ZGxvcGVuX3NlbGZfc3RhdGljPSd1bmtub3duJwpvbGRfc3RyaXBsaWI9J3N0
cmlwIC0tc3RyaXAtZGVidWcnCnN0cmlwbGliPSdzdHJpcCAtLXN0cmlwLXVu
bmVlZGVkJwpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9JycKcHJlZGVwX29i
amVjdHM9JycKcG9zdGRlcF9vYmplY3RzPScnCnByZWRlcHM9JycKcG9zdGRl
cHM9JycKY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPScnCkxEX0NYWD0nYzov
dGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlJwpMRF9GNzc9JycKTERfRkM9JycK
TERfR089J2M6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZScKTERfR0NKPSdj
Oi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUnCkxEX1JDPScnCnJlbG9hZF9m
bGFnX0NYWD0nIC1yJwpyZWxvYWRfZmxhZ19GNzc9JyAtcicKcmVsb2FkX2Zs
YWdfRkM9JyAtcicKcmVsb2FkX2ZsYWdfR089JyAtcicKcmVsb2FkX2ZsYWdf
R0NKPScgLXInCnJlbG9hZF9mbGFnX1JDPScnCnJlbG9hZF9jbWRzX0NYWD0n
JExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2FkX29ianMnCnJlbG9h
ZF9jbWRzX0Y3Nz0nJExEJHJlbG9hZF9mbGFnIC1vICRvdXRwdXQkcmVsb2Fk
X29ianMnCnJlbG9hZF9jbWRzX0ZDPSckTEQkcmVsb2FkX2ZsYWcgLW8gJG91
dHB1dCRyZWxvYWRfb2JqcycKcmVsb2FkX2NtZHNfR089JyRMRCRyZWxvYWRf
ZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwpyZWxvYWRfY21kc19HQ0o9
JyRMRCRyZWxvYWRfZmxhZyAtbyAkb3V0cHV0JHJlbG9hZF9vYmpzJwpyZWxv
YWRfY21kc19SQz0nJwpvbGRfYXJjaGl2ZV9jbWRzX0NYWD0nJEFSICRBUl9G
TEFHUyAkb2xkbGliJG9sZG9ianN+JFJBTkxJQiAkdG9vbF9vbGRsaWInCm9s
ZF9hcmNoaXZlX2NtZHNfRjc3PSckQVIgJEFSX0ZMQUdTICRvbGRsaWIkb2xk
b2Jqc34kUkFOTElCICR0b29sX29sZGxpYicKb2xkX2FyY2hpdmVfY21kc19G
Qz0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianN+JFJBTkxJQiAkdG9v
bF9vbGRsaWInCm9sZF9hcmNoaXZlX2NtZHNfR089JyRBUiAkQVJfRkxBR1Mg
JG9sZGxpYiRvbGRvYmpzfiRSQU5MSUIgJHRvb2xfb2xkbGliJwpvbGRfYXJj
aGl2ZV9jbWRzX0dDSj0nJEFSICRBUl9GTEFHUyAkb2xkbGliJG9sZG9ianN+
JFJBTkxJQiAkdG9vbF9vbGRsaWInCm9sZF9hcmNoaXZlX2NtZHNfUkM9JycK
Y29tcGlsZXJfQ1hYPSdnKysnCmNvbXBpbGVyX0Y3Nz0nJwpjb21waWxlcl9G
Qz0nJwpjb21waWxlcl9HTz0nJwpjb21waWxlcl9HQ0o9JycKY29tcGlsZXJf
UkM9J3dpbmRyZXMnCkdDQ19DWFg9J3llcycKR0NDX0Y3Nz0nJwpHQ0NfRkM9
JycKR0NDX0dPPScnCkdDQ19HQ0o9JycKR0NDX1JDPScnCmx0X3Byb2dfY29t
cGlsZXJfbm9fYnVpbHRpbl9mbGFnX0NYWD0nIC1mbm8tYnVpbHRpbicKbHRf
cHJvZ19jb21waWxlcl9ub19idWlsdGluX2ZsYWdfRjc3PScnCmx0X3Byb2df
Y29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnX0ZDPScnCmx0X3Byb2dfY29tcGls
ZXJfbm9fYnVpbHRpbl9mbGFnX0dPPScnCmx0X3Byb2dfY29tcGlsZXJfbm9f
YnVpbHRpbl9mbGFnX0dDSj0nJwpsdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0
aW5fZmxhZ19SQz0nJwpsdF9wcm9nX2NvbXBpbGVyX3BpY19DWFg9JyAtRERM
TF9FWFBPUlQgLURQSUMnCmx0X3Byb2dfY29tcGlsZXJfcGljX0Y3Nz0nJwps
dF9wcm9nX2NvbXBpbGVyX3BpY19GQz0nJwpsdF9wcm9nX2NvbXBpbGVyX3Bp
Y19HTz0nJwpsdF9wcm9nX2NvbXBpbGVyX3BpY19HQ0o9JycKbHRfcHJvZ19j
b21waWxlcl9waWNfUkM9JycKbHRfcHJvZ19jb21waWxlcl93bF9DWFg9Jy1X
bCwnCmx0X3Byb2dfY29tcGlsZXJfd2xfRjc3PScnCmx0X3Byb2dfY29tcGls
ZXJfd2xfRkM9JycKbHRfcHJvZ19jb21waWxlcl93bF9HTz0nJwpsdF9wcm9n
X2NvbXBpbGVyX3dsX0dDSj0nJwpsdF9wcm9nX2NvbXBpbGVyX3dsX1JDPScn
Cmx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0NYWD0nLXN0YXRpYycKbHRfcHJv
Z19jb21waWxlcl9zdGF0aWNfRjc3PScnCmx0X3Byb2dfY29tcGlsZXJfc3Rh
dGljX0ZDPScnCmx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0dPPScnCmx0X3By
b2dfY29tcGlsZXJfc3RhdGljX0dDSj0nJwpsdF9wcm9nX2NvbXBpbGVyX3N0
YXRpY19SQz0nJwpsdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19DWFg9J3llcycK
bHRfY3ZfcHJvZ19jb21waWxlcl9jX29fRjc3PScnCmx0X2N2X3Byb2dfY29t
cGlsZXJfY19vX0ZDPScnCmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0dPPScn
Cmx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0dDSj0nJwpsdF9jdl9wcm9nX2Nv
bXBpbGVyX2Nfb19SQz0neWVzJwphcmNoaXZlX2NtZHNfbmVlZF9sY19DWFg9
J25vJwphcmNoaXZlX2NtZHNfbmVlZF9sY19GNzc9J25vJwphcmNoaXZlX2Nt
ZHNfbmVlZF9sY19GQz0nbm8nCmFyY2hpdmVfY21kc19uZWVkX2xjX0dPPSdu
bycKYXJjaGl2ZV9jbWRzX25lZWRfbGNfR0NKPSdubycKYXJjaGl2ZV9jbWRz
X25lZWRfbGNfUkM9JycKZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50
aW1lc19DWFg9J3llcycKZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50
aW1lc19GNzc9J25vJwplbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRp
bWVzX0ZDPSdubycKZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRpY19ydW50aW1l
c19HTz0nJwplbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzX0dD
Sj0nJwplbmFibGVfc2hhcmVkX3dpdGhfc3RhdGljX3J1bnRpbWVzX1JDPScn
CmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19DWFg9JyR7d2x9LS1leHBvcnQt
YWxsLXN5bWJvbHMnCmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19GNzc9JycK
ZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjX0ZDPScnCmV4cG9ydF9keW5hbWlj
X2ZsYWdfc3BlY19HTz0nJwpleHBvcnRfZHluYW1pY19mbGFnX3NwZWNfR0NK
PScnCmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19SQz0nJwp3aG9sZV9hcmNo
aXZlX2ZsYWdfc3BlY19DWFg9JyR7d2x9LS13aG9sZS1hcmNoaXZlJGNvbnZl
bmllbmNlICR7d2x9LS1uby13aG9sZS1hcmNoaXZlJwp3aG9sZV9hcmNoaXZl
X2ZsYWdfc3BlY19GNzc9JycKd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWNfRkM9
JycKd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWNfR089JycKd2hvbGVfYXJjaGl2
ZV9mbGFnX3NwZWNfR0NKPScnCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjX1JD
PScnCmNvbXBpbGVyX25lZWRzX29iamVjdF9DWFg9J25vJwpjb21waWxlcl9u
ZWVkc19vYmplY3RfRjc3PScnCmNvbXBpbGVyX25lZWRzX29iamVjdF9GQz0n
Jwpjb21waWxlcl9uZWVkc19vYmplY3RfR089JycKY29tcGlsZXJfbmVlZHNf
b2JqZWN0X0dDSj0nJwpjb21waWxlcl9uZWVkc19vYmplY3RfUkM9JycKb2xk
X2FyY2hpdmVfZnJvbV9uZXdfY21kc19DWFg9JycKb2xkX2FyY2hpdmVfZnJv
bV9uZXdfY21kc19GNzc9JycKb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kc19G
Qz0nJwpvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzX0dPPScnCm9sZF9hcmNo
aXZlX2Zyb21fbmV3X2NtZHNfR0NKPScnCm9sZF9hcmNoaXZlX2Zyb21fbmV3
X2NtZHNfUkM9JycKb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHNfQ1hY
PScnCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzX0Y3Nz0nJwpvbGRf
YXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kc19GQz0nJwpvbGRfYXJjaGl2ZV9m
cm9tX2V4cHN5bXNfY21kc19HTz0nJwpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5
bXNfY21kc19HQ0o9JycKb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHNf
UkM9JycKYXJjaGl2ZV9jbWRzX0NYWD0nJENDIC1zaGFyZWQgLW5vc3RkbGli
ICRwcmVkZXBfb2JqZWN0cyAkbGlib2JqcyAkZGVwbGlicyAkcG9zdGRlcF9v
YmplY3RzICRjb21waWxlcl9mbGFncyAtbyAkb3V0cHV0X29iamRpci8kc29u
YW1lICR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0t
b3V0LWltcGxpYiAtWGxpbmtlciAkbGliJwphcmNoaXZlX2NtZHNfRjc3PScn
CmFyY2hpdmVfY21kc19GQz0nJwphcmNoaXZlX2NtZHNfR089JycKYXJjaGl2
ZV9jbWRzX0dDSj0nJwphcmNoaXZlX2NtZHNfUkM9JycKYXJjaGl2ZV9leHBz
eW1fY21kc19DWFg9J2lmIHRlc3QgInhgJFNFRCAxcSAkZXhwb3J0X3N5bWJv
bHNgIiA9IHhFWFBPUlRTOyB0aGVuCgkgICAgICBjcCAkZXhwb3J0X3N5bWJv
bHMgJG91dHB1dF9vYmpkaXIvJHNvbmFtZS5kZWY7CgkgICAgZWxzZQoJICAg
ICAgZWNobyBFWFBPUlRTID4gJG91dHB1dF9vYmpkaXIvJHNvbmFtZS5kZWY7
CgkgICAgICBjYXQgJGV4cG9ydF9zeW1ib2xzID4+ICRvdXRwdXRfb2JqZGly
LyRzb25hbWUuZGVmOwoJICAgIGZpfgoJICAgICRDQyAtc2hhcmVkIC1ub3N0
ZGxpYiAkb3V0cHV0X29iamRpci8kc29uYW1lLmRlZiAkcHJlZGVwX29iamVj
dHMgJGxpYm9ianMgJGRlcGxpYnMgJHBvc3RkZXBfb2JqZWN0cyAkY29tcGls
ZXJfZmxhZ3MgLW8gJG91dHB1dF9vYmpkaXIvJHNvbmFtZSAke3dsfS0tZW5h
YmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91dC1pbXBsaWIgLVhs
aW5rZXIgJGxpYicKYXJjaGl2ZV9leHBzeW1fY21kc19GNzc9JycKYXJjaGl2
ZV9leHBzeW1fY21kc19GQz0nJwphcmNoaXZlX2V4cHN5bV9jbWRzX0dPPScn
CmFyY2hpdmVfZXhwc3ltX2NtZHNfR0NKPScnCmFyY2hpdmVfZXhwc3ltX2Nt
ZHNfUkM9JycKbW9kdWxlX2NtZHNfQ1hYPScnCm1vZHVsZV9jbWRzX0Y3Nz0n
Jwptb2R1bGVfY21kc19GQz0nJwptb2R1bGVfY21kc19HTz0nJwptb2R1bGVf
Y21kc19HQ0o9JycKbW9kdWxlX2NtZHNfUkM9JycKbW9kdWxlX2V4cHN5bV9j
bWRzX0NYWD0nJwptb2R1bGVfZXhwc3ltX2NtZHNfRjc3PScnCm1vZHVsZV9l
eHBzeW1fY21kc19GQz0nJwptb2R1bGVfZXhwc3ltX2NtZHNfR089JycKbW9k
dWxlX2V4cHN5bV9jbWRzX0dDSj0nJwptb2R1bGVfZXhwc3ltX2NtZHNfUkM9
JycKd2l0aF9nbnVfbGRfQ1hYPSd5ZXMnCndpdGhfZ251X2xkX0Y3Nz0nJwp3
aXRoX2dudV9sZF9GQz0nJwp3aXRoX2dudV9sZF9HTz0nJwp3aXRoX2dudV9s
ZF9HQ0o9JycKd2l0aF9nbnVfbGRfUkM9JycKYWxsb3dfdW5kZWZpbmVkX2Zs
YWdfQ1hYPSd1bnN1cHBvcnRlZCcKYWxsb3dfdW5kZWZpbmVkX2ZsYWdfRjc3
PScnCmFsbG93X3VuZGVmaW5lZF9mbGFnX0ZDPScnCmFsbG93X3VuZGVmaW5l
ZF9mbGFnX0dPPScnCmFsbG93X3VuZGVmaW5lZF9mbGFnX0dDSj0nJwphbGxv
d191bmRlZmluZWRfZmxhZ19SQz0nJwpub191bmRlZmluZWRfZmxhZ19DWFg9
JycKbm9fdW5kZWZpbmVkX2ZsYWdfRjc3PScnCm5vX3VuZGVmaW5lZF9mbGFn
X0ZDPScnCm5vX3VuZGVmaW5lZF9mbGFnX0dPPScnCm5vX3VuZGVmaW5lZF9m
bGFnX0dDSj0nJwpub191bmRlZmluZWRfZmxhZ19SQz0nJwpoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjX0NYWD0nLUwkbGliZGlyJwpoYXJkY29kZV9saWJk
aXJfZmxhZ19zcGVjX0Y3Nz0nJwpoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
X0ZDPScnCmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfR089JycKaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlY19HQ0o9JycKaGFyZGNvZGVfbGliZGlyX2Zs
YWdfc3BlY19SQz0nJwpoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0NYWD0n
JwpoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0Y3Nz0nJwpoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yX0ZDPScnCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0
b3JfR089JycKaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcl9HQ0o9JycKaGFy
ZGNvZGVfbGliZGlyX3NlcGFyYXRvcl9SQz0nJwpoYXJkY29kZV9kaXJlY3Rf
Q1hYPSdubycKaGFyZGNvZGVfZGlyZWN0X0Y3Nz0nbm8nCmhhcmRjb2RlX2Rp
cmVjdF9GQz0nbm8nCmhhcmRjb2RlX2RpcmVjdF9HTz0nJwpoYXJkY29kZV9k
aXJlY3RfR0NKPScnCmhhcmRjb2RlX2RpcmVjdF9SQz0nJwpoYXJkY29kZV9k
aXJlY3RfYWJzb2x1dGVfQ1hYPSdubycKaGFyZGNvZGVfZGlyZWN0X2Fic29s
dXRlX0Y3Nz0nbm8nCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZV9GQz0nbm8n
CmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZV9HTz0nJwpoYXJkY29kZV9kaXJl
Y3RfYWJzb2x1dGVfR0NKPScnCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZV9S
Qz0nJwpoYXJkY29kZV9taW51c19MX0NYWD0nbm8nCmhhcmRjb2RlX21pbnVz
X0xfRjc3PSdubycKaGFyZGNvZGVfbWludXNfTF9GQz0nbm8nCmhhcmRjb2Rl
X21pbnVzX0xfR089JycKaGFyZGNvZGVfbWludXNfTF9HQ0o9JycKaGFyZGNv
ZGVfbWludXNfTF9SQz0nJwpoYXJkY29kZV9zaGxpYnBhdGhfdmFyX0NYWD0n
dW5zdXBwb3J0ZWQnCmhhcmRjb2RlX3NobGlicGF0aF92YXJfRjc3PScnCmhh
cmRjb2RlX3NobGlicGF0aF92YXJfRkM9JycKaGFyZGNvZGVfc2hsaWJwYXRo
X3Zhcl9HTz0nJwpoYXJkY29kZV9zaGxpYnBhdGhfdmFyX0dDSj0nJwpoYXJk
Y29kZV9zaGxpYnBhdGhfdmFyX1JDPScnCmhhcmRjb2RlX2F1dG9tYXRpY19D
WFg9J25vJwpoYXJkY29kZV9hdXRvbWF0aWNfRjc3PSdubycKaGFyZGNvZGVf
YXV0b21hdGljX0ZDPSdubycKaGFyZGNvZGVfYXV0b21hdGljX0dPPScnCmhh
cmRjb2RlX2F1dG9tYXRpY19HQ0o9JycKaGFyZGNvZGVfYXV0b21hdGljX1JD
PScnCmluaGVyaXRfcnBhdGhfQ1hYPSdubycKaW5oZXJpdF9ycGF0aF9GNzc9
J25vJwppbmhlcml0X3JwYXRoX0ZDPSdubycKaW5oZXJpdF9ycGF0aF9HTz0n
Jwppbmhlcml0X3JwYXRoX0dDSj0nJwppbmhlcml0X3JwYXRoX1JDPScnCmxp
bmtfYWxsX2RlcGxpYnNfQ1hYPSd1bmtub3duJwpsaW5rX2FsbF9kZXBsaWJz
X0Y3Nz0ndW5rbm93bicKbGlua19hbGxfZGVwbGlic19GQz0ndW5rbm93bicK
bGlua19hbGxfZGVwbGlic19HTz0nJwpsaW5rX2FsbF9kZXBsaWJzX0dDSj0n
JwpsaW5rX2FsbF9kZXBsaWJzX1JDPScnCmFsd2F5c19leHBvcnRfc3ltYm9s
c19DWFg9J25vJwphbHdheXNfZXhwb3J0X3N5bWJvbHNfRjc3PSdubycKYWx3
YXlzX2V4cG9ydF9zeW1ib2xzX0ZDPSdubycKYWx3YXlzX2V4cG9ydF9zeW1i
b2xzX0dPPScnCmFsd2F5c19leHBvcnRfc3ltYm9sc19HQ0o9JycKYWx3YXlz
X2V4cG9ydF9zeW1ib2xzX1JDPScnCmV4cG9ydF9zeW1ib2xzX2NtZHNfQ1hY
PSckTk0gJGxpYm9ianMgJGNvbnZlbmllbmNlIHwgJGdsb2JhbF9zeW1ib2xf
cGlwZSB8ICRTRUQgLWUgJ1wnJy9eW0JDREdSU11bIF0vcy8uKlsgXVwoW14g
XSpcKS9cMSBEQVRBLztzL14uKlsgXV9fbm1fX1woW14gXSpcKVsgXVteIF0q
L1wxIERBVEEvOy9eSVsgXS9kOy9eW0FJVFddWyBdL3MvLiogLy8nXCcnIHwg
c29ydCB8IHVuaXEgPiAkZXhwb3J0X3N5bWJvbHMnCmV4cG9ydF9zeW1ib2xz
X2NtZHNfRjc3PScnCmV4cG9ydF9zeW1ib2xzX2NtZHNfRkM9JycKZXhwb3J0
X3N5bWJvbHNfY21kc19HTz0nJwpleHBvcnRfc3ltYm9sc19jbWRzX0dDSj0n
JwpleHBvcnRfc3ltYm9sc19jbWRzX1JDPScnCmV4Y2x1ZGVfZXhwc3ltc19D
WFg9J1tfXStHTE9CQUxfT0ZGU0VUX1RBQkxFX3xbX10rR0xPQkFMX19bRklE
XV8uKnxbX10raGVhZF9bQS1aYS16MC05X10rX2RsbHxbQS1aYS16MC05X10r
X2RsbF9pbmFtZScKZXhjbHVkZV9leHBzeW1zX0Y3Nz0nJwpleGNsdWRlX2V4
cHN5bXNfRkM9JycKZXhjbHVkZV9leHBzeW1zX0dPPScnCmV4Y2x1ZGVfZXhw
c3ltc19HQ0o9JycKZXhjbHVkZV9leHBzeW1zX1JDPScnCmluY2x1ZGVfZXhw
c3ltc19DWFg9JycKaW5jbHVkZV9leHBzeW1zX0Y3Nz0nJwppbmNsdWRlX2V4
cHN5bXNfRkM9JycKaW5jbHVkZV9leHBzeW1zX0dPPScnCmluY2x1ZGVfZXhw
c3ltc19HQ0o9JycKaW5jbHVkZV9leHBzeW1zX1JDPScnCnByZWxpbmtfY21k
c19DWFg9JycKcHJlbGlua19jbWRzX0Y3Nz0nJwpwcmVsaW5rX2NtZHNfRkM9
JycKcHJlbGlua19jbWRzX0dPPScnCnByZWxpbmtfY21kc19HQ0o9JycKcHJl
bGlua19jbWRzX1JDPScnCnBvc3RsaW5rX2NtZHNfQ1hYPScnCnBvc3RsaW5r
X2NtZHNfRjc3PScnCnBvc3RsaW5rX2NtZHNfRkM9JycKcG9zdGxpbmtfY21k
c19HTz0nJwpwb3N0bGlua19jbWRzX0dDSj0nJwpwb3N0bGlua19jbWRzX1JD
PScnCmZpbGVfbGlzdF9zcGVjX0NYWD0nJwpmaWxlX2xpc3Rfc3BlY19GNzc9
JycKZmlsZV9saXN0X3NwZWNfRkM9JycKZmlsZV9saXN0X3NwZWNfR089JycK
ZmlsZV9saXN0X3NwZWNfR0NKPScnCmZpbGVfbGlzdF9zcGVjX1JDPScnCmhh
cmRjb2RlX2FjdGlvbl9DWFg9J2ltbWVkaWF0ZScKaGFyZGNvZGVfYWN0aW9u
X0Y3Nz0nJwpoYXJkY29kZV9hY3Rpb25fRkM9JycKaGFyZGNvZGVfYWN0aW9u
X0dPPScnCmhhcmRjb2RlX2FjdGlvbl9HQ0o9JycKaGFyZGNvZGVfYWN0aW9u
X1JDPScnCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlyc19DWFg9J2M6L3Rpbmd3
L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEgYzovdGluZ3cvYmluLy4u
L2xpYi9nY2MgYzovdGluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80Ljgu
MS8uLi8uLi8uLi8uLi9taW5ndzMyL2xpYiBjOi90aW5ndy9iaW4vLi4vbGli
L2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uJwpjb21waWxlcl9saWJfc2Vh
cmNoX2RpcnNfRjc3PScnCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlyc19GQz0n
Jwpjb21waWxlcl9saWJfc2VhcmNoX2RpcnNfR089JycKY29tcGlsZXJfbGli
X3NlYXJjaF9kaXJzX0dDSj0nJwpjb21waWxlcl9saWJfc2VhcmNoX2RpcnNf
UkM9JycKcHJlZGVwX29iamVjdHNfQ1hYPSdjOi90aW5ndy9iaW4vLi4vbGli
L2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uLy4uL21pbmd3MzIvbGliL2Rs
bGNydDIubyBjOi90aW5ndy9iaW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4x
L2NydGJlZ2luLm8nCnByZWRlcF9vYmplY3RzX0Y3Nz0nJwpwcmVkZXBfb2Jq
ZWN0c19GQz0nJwpwcmVkZXBfb2JqZWN0c19HTz0nJwpwcmVkZXBfb2JqZWN0
c19HQ0o9JycKcHJlZGVwX29iamVjdHNfUkM9JycKcG9zdGRlcF9vYmplY3Rz
X0NYWD0nYzovdGluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80LjguMS9j
cnRlbmQubycKcG9zdGRlcF9vYmplY3RzX0Y3Nz0nJwpwb3N0ZGVwX29iamVj
dHNfRkM9JycKcG9zdGRlcF9vYmplY3RzX0dPPScnCnBvc3RkZXBfb2JqZWN0
c19HQ0o9JycKcG9zdGRlcF9vYmplY3RzX1JDPScnCnByZWRlcHNfQ1hYPScn
CnByZWRlcHNfRjc3PScnCnByZWRlcHNfRkM9JycKcHJlZGVwc19HTz0nJwpw
cmVkZXBzX0dDSj0nJwpwcmVkZXBzX1JDPScnCnBvc3RkZXBzX0NYWD0nLWxz
dGRjKysgLWxtaW5ndzMyIC1sZ2NjX3MgLWxnY2MgLWxtb2xkbmFtZSAtbG1p
bmd3ZXggLWxtc3ZjcnQgLWxhZHZhcGkzMiAtbHNoZWxsMzIgLWx1c2VyMzIg
LWxrZXJuZWwzMiAtbG1pbmd3MzIgLWxnY2NfcyAtbGdjYyAtbG1vbGRuYW1l
IC1sbWluZ3dleCAtbG1zdmNydCcKcG9zdGRlcHNfRjc3PScnCnBvc3RkZXBz
X0ZDPScnCnBvc3RkZXBzX0dPPScnCnBvc3RkZXBzX0dDSj0nJwpwb3N0ZGVw
c19SQz0nJwpjb21waWxlcl9saWJfc2VhcmNoX3BhdGhfQ1hYPSctTGM6L3Rp
bmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEgLUxjOi90aW5ndy9i
aW4vLi4vbGliL2djYyAtTGM6L3Rpbmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3
MzIvNC44LjEvLi4vLi4vLi4vLi4vbWluZ3czMi9saWIgLUxjOi90aW5ndy9i
aW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uJwpjb21waWxl
cl9saWJfc2VhcmNoX3BhdGhfRjc3PScnCmNvbXBpbGVyX2xpYl9zZWFyY2hf
cGF0aF9GQz0nJwpjb21waWxlcl9saWJfc2VhcmNoX3BhdGhfR089JycKY29t
cGlsZXJfbGliX3NlYXJjaF9wYXRoX0dDSj0nJwpjb21waWxlcl9saWJfc2Vh
cmNoX3BhdGhfUkM9JycKCkxUQ0M9J2djYycKTFRDRkxBR1M9Jy1nIC1PMicK
Y29tcGlsZXI9J2djYycKCiMgQSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgd2hl
biB0aGVyZSBpcyBubyBwcmludCBidWlsdGluIG9yIHByaW50Zi4KZnVuY19m
YWxsYmFja19lY2hvICgpCnsKICBldmFsICdjYXQgPDxfTFRFQ0hPX0VPRgok
MQpfTFRFQ0hPX0VPRicKfQoKIyBRdW90ZSBldmFsZWQgc3RyaW5ncy4KZm9y
IHZhciBpbiBBUyBETExUT09MIE9CSkRVTVAgU0hFTEwgRUNITyBQQVRIX1NF
UEFSQVRPUiBTRUQgR1JFUCBFR1JFUCBGR1JFUCBMRCBOTSBMTl9TIGx0X1NQ
Mk5MIGx0X05MMlNQIHJlbG9hZF9mbGFnIGRlcGxpYnNfY2hlY2tfbWV0aG9k
IGZpbGVfbWFnaWNfY21kIGZpbGVfbWFnaWNfZ2xvYiB3YW50X25vY2FzZWds
b2Igc2hhcmVkbGliX2Zyb21fbGlua2xpYl9jbWQgQVIgQVJfRkxBR1MgYXJj
aGl2ZXJfbGlzdF9zcGVjIFNUUklQIFJBTkxJQiBDQyBDRkxBR1MgY29tcGls
ZXIgbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfcGlwZSBsdF9jdl9zeXNfZ2xv
YmFsX3N5bWJvbF90b19jZGVjbCBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90
b19jX25hbWVfYWRkcmVzcyBsdF9jdl9zeXNfZ2xvYmFsX3N5bWJvbF90b19j
X25hbWVfYWRkcmVzc19saWJfcHJlZml4IG5tX2ZpbGVfbGlzdF9zcGVjIGx0
X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnIGx0X3Byb2dfY29tcGls
ZXJfcGljIGx0X3Byb2dfY29tcGlsZXJfd2wgbHRfcHJvZ19jb21waWxlcl9z
dGF0aWMgbHRfY3ZfcHJvZ19jb21waWxlcl9jX28gbmVlZF9sb2NrcyBNQU5J
RkVTVF9UT09MIERTWU1VVElMIE5NRURJVCBMSVBPIE9UT09MIE9UT09MNjQg
c2hyZXh0X2NtZHMgZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjIHdob2xlX2Fy
Y2hpdmVfZmxhZ19zcGVjIGNvbXBpbGVyX25lZWRzX29iamVjdCB3aXRoX2du
dV9sZCBhbGxvd191bmRlZmluZWRfZmxhZyBub191bmRlZmluZWRfZmxhZyBo
YXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIGhhcmRjb2RlX2xpYmRpcl9zZXBh
cmF0b3IgZXhjbHVkZV9leHBzeW1zIGluY2x1ZGVfZXhwc3ltcyBmaWxlX2xp
c3Rfc3BlYyB2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluayBsaWJuYW1lX3Nw
ZWMgbGlicmFyeV9uYW1lc19zcGVjIHNvbmFtZV9zcGVjIGluc3RhbGxfb3Zl
cnJpZGVfbW9kZSBmaW5pc2hfZXZhbCBvbGRfc3RyaXBsaWIgc3RyaXBsaWIg
Y29tcGlsZXJfbGliX3NlYXJjaF9kaXJzIHByZWRlcF9vYmplY3RzIHBvc3Rk
ZXBfb2JqZWN0cyBwcmVkZXBzIHBvc3RkZXBzIGNvbXBpbGVyX2xpYl9zZWFy
Y2hfcGF0aCBMRF9DWFggTERfRjc3IExEX0ZDIExEX0dPIExEX0dDSiBMRF9S
QyByZWxvYWRfZmxhZ19DWFggcmVsb2FkX2ZsYWdfRjc3IHJlbG9hZF9mbGFn
X0ZDIHJlbG9hZF9mbGFnX0dPIHJlbG9hZF9mbGFnX0dDSiByZWxvYWRfZmxh
Z19SQyBjb21waWxlcl9DWFggY29tcGlsZXJfRjc3IGNvbXBpbGVyX0ZDIGNv
bXBpbGVyX0dPIGNvbXBpbGVyX0dDSiBjb21waWxlcl9SQyBsdF9wcm9nX2Nv
bXBpbGVyX25vX2J1aWx0aW5fZmxhZ19DWFggbHRfcHJvZ19jb21waWxlcl9u
b19idWlsdGluX2ZsYWdfRjc3IGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRp
bl9mbGFnX0ZDIGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnX0dP
IGx0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9mbGFnX0dDSiBsdF9wcm9n
X2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZ19SQyBsdF9wcm9nX2NvbXBpbGVy
X3BpY19DWFggbHRfcHJvZ19jb21waWxlcl9waWNfRjc3IGx0X3Byb2dfY29t
cGlsZXJfcGljX0ZDIGx0X3Byb2dfY29tcGlsZXJfcGljX0dPIGx0X3Byb2df
Y29tcGlsZXJfcGljX0dDSiBsdF9wcm9nX2NvbXBpbGVyX3BpY19SQyBsdF9w
cm9nX2NvbXBpbGVyX3dsX0NYWCBsdF9wcm9nX2NvbXBpbGVyX3dsX0Y3NyBs
dF9wcm9nX2NvbXBpbGVyX3dsX0ZDIGx0X3Byb2dfY29tcGlsZXJfd2xfR08g
bHRfcHJvZ19jb21waWxlcl93bF9HQ0ogbHRfcHJvZ19jb21waWxlcl93bF9S
QyBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY19DWFggbHRfcHJvZ19jb21waWxl
cl9zdGF0aWNfRjc3IGx0X3Byb2dfY29tcGlsZXJfc3RhdGljX0ZDIGx0X3By
b2dfY29tcGlsZXJfc3RhdGljX0dPIGx0X3Byb2dfY29tcGlsZXJfc3RhdGlj
X0dDSiBsdF9wcm9nX2NvbXBpbGVyX3N0YXRpY19SQyBsdF9jdl9wcm9nX2Nv
bXBpbGVyX2Nfb19DWFggbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fRjc3IGx0
X2N2X3Byb2dfY29tcGlsZXJfY19vX0ZDIGx0X2N2X3Byb2dfY29tcGlsZXJf
Y19vX0dPIGx0X2N2X3Byb2dfY29tcGlsZXJfY19vX0dDSiBsdF9jdl9wcm9n
X2NvbXBpbGVyX2Nfb19SQyBleHBvcnRfZHluYW1pY19mbGFnX3NwZWNfQ1hY
IGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19GNzcgZXhwb3J0X2R5bmFtaWNf
ZmxhZ19zcGVjX0ZDIGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19HTyBleHBv
cnRfZHluYW1pY19mbGFnX3NwZWNfR0NKIGV4cG9ydF9keW5hbWljX2ZsYWdf
c3BlY19SQyB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY19DWFggd2hvbGVfYXJj
aGl2ZV9mbGFnX3NwZWNfRjc3IHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjX0ZD
IHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjX0dPIHdob2xlX2FyY2hpdmVfZmxh
Z19zcGVjX0dDSiB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY19SQyBjb21waWxl
cl9uZWVkc19vYmplY3RfQ1hYIGNvbXBpbGVyX25lZWRzX29iamVjdF9GNzcg
Y29tcGlsZXJfbmVlZHNfb2JqZWN0X0ZDIGNvbXBpbGVyX25lZWRzX29iamVj
dF9HTyBjb21waWxlcl9uZWVkc19vYmplY3RfR0NKIGNvbXBpbGVyX25lZWRz
X29iamVjdF9SQyB3aXRoX2dudV9sZF9DWFggd2l0aF9nbnVfbGRfRjc3IHdp
dGhfZ251X2xkX0ZDIHdpdGhfZ251X2xkX0dPIHdpdGhfZ251X2xkX0dDSiB3
aXRoX2dudV9sZF9SQyBhbGxvd191bmRlZmluZWRfZmxhZ19DWFggYWxsb3df
dW5kZWZpbmVkX2ZsYWdfRjc3IGFsbG93X3VuZGVmaW5lZF9mbGFnX0ZDIGFs
bG93X3VuZGVmaW5lZF9mbGFnX0dPIGFsbG93X3VuZGVmaW5lZF9mbGFnX0dD
SiBhbGxvd191bmRlZmluZWRfZmxhZ19SQyBub191bmRlZmluZWRfZmxhZ19D
WFggbm9fdW5kZWZpbmVkX2ZsYWdfRjc3IG5vX3VuZGVmaW5lZF9mbGFnX0ZD
IG5vX3VuZGVmaW5lZF9mbGFnX0dPIG5vX3VuZGVmaW5lZF9mbGFnX0dDSiBu
b191bmRlZmluZWRfZmxhZ19SQyBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
X0NYWCBoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX0Y3NyBoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjX0ZDIGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNf
R08gaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19HQ0ogaGFyZGNvZGVfbGli
ZGlyX2ZsYWdfc3BlY19SQyBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0NY
WCBoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0Y3NyBoYXJkY29kZV9saWJk
aXJfc2VwYXJhdG9yX0ZDIGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3JfR08g
aGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcl9HQ0ogaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvcl9SQyBleGNsdWRlX2V4cHN5bXNfQ1hYIGV4Y2x1ZGVfZXhw
c3ltc19GNzcgZXhjbHVkZV9leHBzeW1zX0ZDIGV4Y2x1ZGVfZXhwc3ltc19H
TyBleGNsdWRlX2V4cHN5bXNfR0NKIGV4Y2x1ZGVfZXhwc3ltc19SQyBpbmNs
dWRlX2V4cHN5bXNfQ1hYIGluY2x1ZGVfZXhwc3ltc19GNzcgaW5jbHVkZV9l
eHBzeW1zX0ZDIGluY2x1ZGVfZXhwc3ltc19HTyBpbmNsdWRlX2V4cHN5bXNf
R0NKIGluY2x1ZGVfZXhwc3ltc19SQyBmaWxlX2xpc3Rfc3BlY19DWFggZmls
ZV9saXN0X3NwZWNfRjc3IGZpbGVfbGlzdF9zcGVjX0ZDIGZpbGVfbGlzdF9z
cGVjX0dPIGZpbGVfbGlzdF9zcGVjX0dDSiBmaWxlX2xpc3Rfc3BlY19SQyBj
b21waWxlcl9saWJfc2VhcmNoX2RpcnNfQ1hYIGNvbXBpbGVyX2xpYl9zZWFy
Y2hfZGlyc19GNzcgY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzX0ZDIGNvbXBp
bGVyX2xpYl9zZWFyY2hfZGlyc19HTyBjb21waWxlcl9saWJfc2VhcmNoX2Rp
cnNfR0NKIGNvbXBpbGVyX2xpYl9zZWFyY2hfZGlyc19SQyBwcmVkZXBfb2Jq
ZWN0c19DWFggcHJlZGVwX29iamVjdHNfRjc3IHByZWRlcF9vYmplY3RzX0ZD
IHByZWRlcF9vYmplY3RzX0dPIHByZWRlcF9vYmplY3RzX0dDSiBwcmVkZXBf
b2JqZWN0c19SQyBwb3N0ZGVwX29iamVjdHNfQ1hYIHBvc3RkZXBfb2JqZWN0
c19GNzcgcG9zdGRlcF9vYmplY3RzX0ZDIHBvc3RkZXBfb2JqZWN0c19HTyBw
b3N0ZGVwX29iamVjdHNfR0NKIHBvc3RkZXBfb2JqZWN0c19SQyBwcmVkZXBz
X0NYWCBwcmVkZXBzX0Y3NyBwcmVkZXBzX0ZDIHByZWRlcHNfR08gcHJlZGVw
c19HQ0ogcHJlZGVwc19SQyBwb3N0ZGVwc19DWFggcG9zdGRlcHNfRjc3IHBv
c3RkZXBzX0ZDIHBvc3RkZXBzX0dPIHBvc3RkZXBzX0dDSiBwb3N0ZGVwc19S
QyBjb21waWxlcl9saWJfc2VhcmNoX3BhdGhfQ1hYIGNvbXBpbGVyX2xpYl9z
ZWFyY2hfcGF0aF9GNzcgY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoX0ZDIGNv
bXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9HTyBjb21waWxlcl9saWJfc2VhcmNo
X3BhdGhfR0NKIGNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9SQzsgZG8KICAg
IGNhc2UgYGV2YWwgXFwkRUNITyBcXCIiXFwkJHZhciJcXCJgIGluCiAgICAq
W1xcXGBcIlwkXSopCiAgICAgIGV2YWwgImx0XyR2YXI9XFxcIlxgXCRFQ0hP
IFwiXCQkdmFyXCIgfCBcJFNFRCBcIlwkc2VkX3F1b3RlX3N1YnN0XCJcYFxc
XCIiCiAgICAgIDs7CiAgICAqKQogICAgICBldmFsICJsdF8kdmFyPVxcXCJc
JCR2YXJcXFwiIgogICAgICA7OwogICAgZXNhYwpkb25lCgojIERvdWJsZS1x
dW90ZSBkb3VibGUtZXZhbGVkIHN0cmluZ3MuCmZvciB2YXIgaW4gcmVsb2Fk
X2NtZHMgb2xkX3Bvc3RpbnN0YWxsX2NtZHMgb2xkX3Bvc3R1bmluc3RhbGxf
Y21kcyBvbGRfYXJjaGl2ZV9jbWRzIGV4dHJhY3RfZXhwc3ltc19jbWRzIG9s
ZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHMgb2xkX2FyY2hpdmVfZnJvbV9leHBz
eW1zX2NtZHMgYXJjaGl2ZV9jbWRzIGFyY2hpdmVfZXhwc3ltX2NtZHMgbW9k
dWxlX2NtZHMgbW9kdWxlX2V4cHN5bV9jbWRzIGV4cG9ydF9zeW1ib2xzX2Nt
ZHMgcHJlbGlua19jbWRzIHBvc3RsaW5rX2NtZHMgcG9zdGluc3RhbGxfY21k
cyBwb3N0dW5pbnN0YWxsX2NtZHMgZmluaXNoX2NtZHMgc3lzX2xpYl9zZWFy
Y2hfcGF0aF9zcGVjIHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjIHJlbG9h
ZF9jbWRzX0NYWCByZWxvYWRfY21kc19GNzcgcmVsb2FkX2NtZHNfRkMgcmVs
b2FkX2NtZHNfR08gcmVsb2FkX2NtZHNfR0NKIHJlbG9hZF9jbWRzX1JDIG9s
ZF9hcmNoaXZlX2NtZHNfQ1hYIG9sZF9hcmNoaXZlX2NtZHNfRjc3IG9sZF9h
cmNoaXZlX2NtZHNfRkMgb2xkX2FyY2hpdmVfY21kc19HTyBvbGRfYXJjaGl2
ZV9jbWRzX0dDSiBvbGRfYXJjaGl2ZV9jbWRzX1JDIG9sZF9hcmNoaXZlX2Zy
b21fbmV3X2NtZHNfQ1hYIG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHNfRjc3
IG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHNfRkMgb2xkX2FyY2hpdmVfZnJv
bV9uZXdfY21kc19HTyBvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzX0dDSiBv
bGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzX1JDIG9sZF9hcmNoaXZlX2Zyb21f
ZXhwc3ltc19jbWRzX0NYWCBvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21k
c19GNzcgb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHNfRkMgb2xkX2Fy
Y2hpdmVfZnJvbV9leHBzeW1zX2NtZHNfR08gb2xkX2FyY2hpdmVfZnJvbV9l
eHBzeW1zX2NtZHNfR0NKIG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRz
X1JDIGFyY2hpdmVfY21kc19DWFggYXJjaGl2ZV9jbWRzX0Y3NyBhcmNoaXZl
X2NtZHNfRkMgYXJjaGl2ZV9jbWRzX0dPIGFyY2hpdmVfY21kc19HQ0ogYXJj
aGl2ZV9jbWRzX1JDIGFyY2hpdmVfZXhwc3ltX2NtZHNfQ1hYIGFyY2hpdmVf
ZXhwc3ltX2NtZHNfRjc3IGFyY2hpdmVfZXhwc3ltX2NtZHNfRkMgYXJjaGl2
ZV9leHBzeW1fY21kc19HTyBhcmNoaXZlX2V4cHN5bV9jbWRzX0dDSiBhcmNo
aXZlX2V4cHN5bV9jbWRzX1JDIG1vZHVsZV9jbWRzX0NYWCBtb2R1bGVfY21k
c19GNzcgbW9kdWxlX2NtZHNfRkMgbW9kdWxlX2NtZHNfR08gbW9kdWxlX2Nt
ZHNfR0NKIG1vZHVsZV9jbWRzX1JDIG1vZHVsZV9leHBzeW1fY21kc19DWFgg
bW9kdWxlX2V4cHN5bV9jbWRzX0Y3NyBtb2R1bGVfZXhwc3ltX2NtZHNfRkMg
bW9kdWxlX2V4cHN5bV9jbWRzX0dPIG1vZHVsZV9leHBzeW1fY21kc19HQ0og
bW9kdWxlX2V4cHN5bV9jbWRzX1JDIGV4cG9ydF9zeW1ib2xzX2NtZHNfQ1hY
IGV4cG9ydF9zeW1ib2xzX2NtZHNfRjc3IGV4cG9ydF9zeW1ib2xzX2NtZHNf
RkMgZXhwb3J0X3N5bWJvbHNfY21kc19HTyBleHBvcnRfc3ltYm9sc19jbWRz
X0dDSiBleHBvcnRfc3ltYm9sc19jbWRzX1JDIHByZWxpbmtfY21kc19DWFgg
cHJlbGlua19jbWRzX0Y3NyBwcmVsaW5rX2NtZHNfRkMgcHJlbGlua19jbWRz
X0dPIHByZWxpbmtfY21kc19HQ0ogcHJlbGlua19jbWRzX1JDIHBvc3RsaW5r
X2NtZHNfQ1hYIHBvc3RsaW5rX2NtZHNfRjc3IHBvc3RsaW5rX2NtZHNfRkMg
cG9zdGxpbmtfY21kc19HTyBwb3N0bGlua19jbWRzX0dDSiBwb3N0bGlua19j
bWRzX1JDOyBkbwogICAgY2FzZSBgZXZhbCBcXCRFQ0hPIFxcIiJcXCQkdmFy
IlxcImAgaW4KICAgICpbXFxcYFwiXCRdKikKICAgICAgZXZhbCAibHRfJHZh
cj1cXFwiXGBcJEVDSE8gXCJcJCR2YXJcIiB8IFwkU0VEIC1lIFwiXCRkb3Vi
bGVfcXVvdGVfc3Vic3RcIiAtZSBcIlwkc2VkX3F1b3RlX3N1YnN0XCIgLWUg
XCJcJGRlbGF5X3ZhcmlhYmxlX3N1YnN0XCJcYFxcXCIiCiAgICAgIDs7CiAg
ICAqKQogICAgICBldmFsICJsdF8kdmFyPVxcXCJcJCR2YXJcXFwiIgogICAg
ICA7OwogICAgZXNhYwpkb25lCgphY19hdXhfZGlyPScvTWluR1cvc2hhcmUv
YXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL2xpYmx0ZGwvY29uZmlnJwp4
c2lfc2hlbGw9J3llcycKbHRfc2hlbGxfYXBwZW5kPSd5ZXMnCgojIFNlZSBp
ZiB3ZSBhcmUgcnVubmluZyBvbiB6c2gsIGFuZCBzZXQgdGhlIG9wdGlvbnMg
d2hpY2ggYWxsb3cgb3VyCiMgY29tbWFuZHMgdGhyb3VnaCB3aXRob3V0IHJl
bW92YWwgb2YgXCBlc2NhcGVzIElOSVQuCmlmIHRlc3QgLW4gIiR7WlNIX1ZF
UlNJT04rc2V0fSIgOyB0aGVuCiAgIHNldG9wdCBOT19HTE9CX1NVQlNUCmZp
CgoKICAgIFBBQ0tBR0U9J2xpYnRvb2wnCiAgICBWRVJTSU9OPScyLjQuMicK
ICAgIFRJTUVTVEFNUD0nJwogICAgUk09J3JtIC1mJwogICAgb2ZpbGU9J2xp
YnRvb2wnCgoKCgoKCgoKCgoKCgoKCgoKIyBIYW5kbGluZyBvZiBhcmd1bWVu
dHMuCmZvciBhY19jb25maWdfdGFyZ2V0IGluICRhY19jb25maWdfdGFyZ2V0
cwpkbwogIGNhc2UgJGFjX2NvbmZpZ190YXJnZXQgaW4KICAgICJjb25maWcu
aCIpIENPTkZJR19IRUFERVJTPSIkQ09ORklHX0hFQURFUlMgY29uZmlnLmg6
Y29uZmlnLWguaW4iIDs7CiAgICAidGVzdHMvYXRjb25maWciKSBDT05GSUdf
Q09NTUFORFM9IiRDT05GSUdfQ09NTUFORFMgdGVzdHMvYXRjb25maWciIDs7
CiAgICAiZGVwZmlsZXMiKSBDT05GSUdfQ09NTUFORFM9IiRDT05GSUdfQ09N
TUFORFMgZGVwZmlsZXMiIDs7CiAgICAibGlidG9vbCIpIENPTkZJR19DT01N
QU5EUz0iJENPTkZJR19DT01NQU5EUyBsaWJ0b29sIiA7OwogICAgIk1ha2Vm
aWxlIikgQ09ORklHX0ZJTEVTPSIkQ09ORklHX0ZJTEVTIE1ha2VmaWxlIiA7
OwoKICAqKSBhc19mbl9lcnJvciAkPyAiaW52YWxpZCBhcmd1bWVudDogXGAk
YWNfY29uZmlnX3RhcmdldCciICIkTElORU5PIiA1OzsKICBlc2FjCmRvbmUK
CgojIElmIHRoZSB1c2VyIGRpZCBub3QgdXNlIHRoZSBhcmd1bWVudHMgdG8g
c3BlY2lmeSB0aGUgaXRlbXMgdG8gaW5zdGFudGlhdGUsCiMgdGhlbiB0aGUg
ZW52dmFyIGludGVyZmFjZSBpcyB1c2VkLiAgU2V0IG9ubHkgdGhvc2UgdGhh
dCBhcmUgbm90LgojIFdlIHVzZSB0aGUgbG9uZyBmb3JtIGZvciB0aGUgZGVm
YXVsdCBhc3NpZ25tZW50IGJlY2F1c2Ugb2YgYW4gZXh0cmVtZWx5CiMgYml6
YXJyZSBidWcgb24gU3VuT1MgNC4xLjMuCmlmICRhY19uZWVkX2RlZmF1bHRz
OyB0aGVuCiAgdGVzdCAiJHtDT05GSUdfRklMRVMrc2V0fSIgPSBzZXQgfHwg
Q09ORklHX0ZJTEVTPSRjb25maWdfZmlsZXMKICB0ZXN0ICIke0NPTkZJR19I
RUFERVJTK3NldH0iID0gc2V0IHx8IENPTkZJR19IRUFERVJTPSRjb25maWdf
aGVhZGVycwogIHRlc3QgIiR7Q09ORklHX0NPTU1BTkRTK3NldH0iID0gc2V0
IHx8IENPTkZJR19DT01NQU5EUz0kY29uZmlnX2NvbW1hbmRzCmZpCgojIEhh
dmUgYSB0ZW1wb3JhcnkgZGlyZWN0b3J5IGZvciBjb252ZW5pZW5jZS4gIE1h
a2UgaXQgaW4gdGhlIGJ1aWxkIHRyZWUKIyBzaW1wbHkgYmVjYXVzZSB0aGVy
ZSBpcyBubyByZWFzb24gYWdhaW5zdCBoYXZpbmcgaXQgaGVyZSwgYW5kIGlu
IGFkZGl0aW9uLAojIGNyZWF0aW5nIGFuZCBtb3ZpbmcgZmlsZXMgZnJvbSAv
dG1wIGNhbiBzb21ldGltZXMgY2F1c2UgcHJvYmxlbXMuCiMgSG9vayBmb3Ig
aXRzIHJlbW92YWwgdW5sZXNzIGRlYnVnZ2luZy4KIyBOb3RlIHRoYXQgdGhl
cmUgaXMgYSBzbWFsbCB3aW5kb3cgaW4gd2hpY2ggdGhlIGRpcmVjdG9yeSB3
aWxsIG5vdCBiZSBjbGVhbmVkOgojIGFmdGVyIGl0cyBjcmVhdGlvbiBidXQg
YmVmb3JlIGl0cyBuYW1lIGhhcyBiZWVuIGFzc2lnbmVkIHRvIGAkdG1wJy4K
JGRlYnVnIHx8CnsKICB0bXA9IGFjX3RtcD0KICB0cmFwICdleGl0X3N0YXR1
cz0kPwogIDogIiR7YWNfdG1wOj0kdG1wfSIKICB7IHRlc3QgISAtZCAiJGFj
X3RtcCIgfHwgcm0gLWZyICIkYWNfdG1wIjsgfSAmJiBleGl0ICRleGl0X3N0
YXR1cwonIDAKICB0cmFwICdhc19mbl9leGl0IDEnIDEgMiAxMyAxNQp9CiMg
Q3JlYXRlIGEgKHNlY3VyZSkgdG1wIGRpcmVjdG9yeSBmb3IgdG1wIGZpbGVz
LgoKewogIHRtcD1gKHVtYXNrIDA3NyAmJiBta3RlbXAgLWQgIi4vY29uZlhY
WFhYWCIpIDI+L2Rldi9udWxsYCAmJgogIHRlc3QgLWQgIiR0bXAiCn0gIHx8
CnsKICB0bXA9Li9jb25mJCQtJFJBTkRPTQogICh1bWFzayAwNzcgJiYgbWtk
aXIgIiR0bXAiKQp9IHx8IGFzX2ZuX2Vycm9yICQ/ICJjYW5ub3QgY3JlYXRl
IGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBpbiAuIiAiJExJTkVOTyIgNQphY190
bXA9JHRtcAoKIyBTZXQgdXAgdGhlIHNjcmlwdHMgZm9yIENPTkZJR19GSUxF
UyBzZWN0aW9uLgojIE5vIG5lZWQgdG8gZ2VuZXJhdGUgdGhlbSBpZiB0aGVy
ZSBhcmUgbm8gQ09ORklHX0ZJTEVTLgojIFRoaXMgaGFwcGVucyBmb3IgaW5z
dGFuY2Ugd2l0aCBgLi9jb25maWcuc3RhdHVzIGNvbmZpZy5oJy4KaWYgdGVz
dCAtbiAiJENPTkZJR19GSUxFUyI7IHRoZW4KCgphY19jcj1gZWNobyBYIHwg
dHIgWCAnXDAxNSdgCiMgT24gY3lnd2luLCBiYXNoIGNhbiBlYXQgXHIgaW5z
aWRlIGBgIGlmIHRoZSB1c2VyIHJlcXVlc3RlZCBpZ25jci4KIyBCdXQgd2Ug
a25vdyBvZiBubyBvdGhlciBzaGVsbCB3aGVyZSBhY19jciB3b3VsZCBiZSBl
bXB0eSBhdCB0aGlzCiMgcG9pbnQsIHNvIHdlIGNhbiB1c2UgYSBiYXNoaXNt
IGFzIGEgZmFsbGJhY2suCmlmIHRlc3QgIngkYWNfY3IiID0geDsgdGhlbgog
IGV2YWwgYWNfY3I9XCRcJ1xcclwnCmZpCmFjX2NzX2F3a19jcj1gJEFXSyAn
QkVHSU4geyBwcmludCAiYVxyYiIgfScgPC9kZXYvbnVsbCAyPi9kZXYvbnVs
bGAKaWYgdGVzdCAiJGFjX2NzX2F3a19jciIgPSAiYSR7YWNfY3J9YiI7IHRo
ZW4KICBhY19jc19hd2tfY3I9J1xccicKZWxzZQogIGFjX2NzX2F3a19jcj0k
YWNfY3IKZmkKCmVjaG8gJ0JFR0lOIHsnID4iJGFjX3RtcC9zdWJzMS5hd2si
ICYmCmNhdCA+PiIkYWNfdG1wL3N1YnMxLmF3ayIgPDxcX0FDQVdLICYmClNb
ImFtX19FWEVFWFRfRkFMU0UiXT0iIyIKU1siYW1fX0VYRUVYVF9UUlVFIl09
IiIKU1siTFRMSUJPQkpTIl09IiAke0xJQk9CSkRJUn1hcmd6JFUubG8gJHtM
SUJPQkpESVJ9bHRfX3N0cmwkVS5sbyIKU1siSEVMUDJNQU4iXT0iJHtTSEVM
TH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9s
aWJsdGRsL2NvbmZpZy9taXNzaW5nIC0tcnVuIGhlbHAybWFuIgpTWyJPUkRF
UiJdPSJ8IgpTWyJIQVZFX1JDX0ZBTFNFIl09IiMiClNbIkhBVkVfUkNfVFJV
RSJdPSIiClNbIkhBVkVfR0NKX0ZBTFNFIl09IiIKU1siSEFWRV9HQ0pfVFJV
RSJdPSIjIgpTWyJIQVZFX0ZDX0ZBTFNFIl09IiIKU1siSEFWRV9GQ19UUlVF
Il09IiMiClNbIkhBVkVfRjc3X0ZBTFNFIl09IiIKU1siSEFWRV9GNzdfVFJV
RSJdPSIjIgpTWyJIQVZFX0NYWF9GQUxTRSJdPSIjIgpTWyJIQVZFX0NYWF9U
UlVFIl09IiIKU1sidG9fdG9vbF9maWxlX2NtZCJdPSJmdW5jX2NvbnZlcnRf
ZmlsZV9tc3lzX3RvX3czMiIKU1sidG9faG9zdF9maWxlX2NtZCJdPSJmdW5j
X2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMiIKU1siUkMiXT0id2luZHJlcyIK
U1siR0NKRkxBR1MiXT0iLWcgLU8yIgpTWyJHQ0oiXT0iIgpTWyJHT0MiXT0i
IgpTWyJhY19jdF9GQyJdPSIiClNbIkZDRkxBR1MiXT0iIgpTWyJGQyJdPSIi
ClNbImFjX2N0X0Y3NyJdPSIiClNbIkZGTEFHUyJdPSIiClNbIkY3NyJdPSIi
ClNbIkNYWENQUCJdPSJnKysgLUUiClNbImFtX19mYXN0ZGVwQ1hYX0ZBTFNF
Il09IiMiClNbImFtX19mYXN0ZGVwQ1hYX1RSVUUiXT0iIgpTWyJDWFhERVBN
T0RFIl09ImRlcG1vZGU9Z2NjMyIKU1siYWNfY3RfQ1hYIl09ImcrKyIKU1si
Q1hYRkxBR1MiXT0iLWcgLU8yIgpTWyJDWFgiXT0iZysrIgpTWyJMVERMT1BF
TiJdPSJsaWJsdGRsIgpTWyJMVF9DT05GSUdfSCJdPSJjb25maWcuaCIKU1si
Q09OVkVOSUVOQ0VfTFRETF9GQUxTRSJdPSIiClNbIkNPTlZFTklFTkNFX0xU
RExfVFJVRSJdPSIjIgpTWyJJTlNUQUxMX0xURExfRkFMU0UiXT0iIyIKU1si
SU5TVEFMTF9MVERMX1RSVUUiXT0iIgpTWyJBUkdaX0giXT0iYXJnei5oIgpT
WyJMSUJPQkpTIl09IiAke0xJQk9CSkRJUn1hcmd6JFUubyAke0xJQk9CSkRJ
Un1sdF9fc3RybCRVLm8iClNbInN5c19zeW1ib2xfdW5kZXJzY29yZSJdPSJ5
ZXMiClNbIkxJQkFERF9ETCJdPSIgIgpTWyJMVF9ETFBSRU9QRU4iXT0iLWRs
cHJlb3BlbiBsaWJsdGRsL2xvYWRsaWJyYXJ5LmxhICIKU1siTElCQUREX0RM
RF9MSU5LIl09IiIKU1siTElCQUREX1NITF9MT0FEIl09IiIKU1siTElCQURE
X0RMT1BFTiJdPSIiClNbIkxUX0RMTE9BREVSUyJdPSIgbGlibHRkbC9sb2Fk
bGlicmFyeS5sYSIKU1siT1RPT0w2NCJdPSIiClNbIk9UT09MIl09IiIKU1si
TElQTyJdPSIiClNbIk5NRURJVCJdPSIiClNbIkRTWU1VVElMIl09IiIKU1si
TUFOSUZFU1RfVE9PTCJdPSI6IgpTWyJSQU5MSUIiXT0icmFubGliIgpTWyJh
Y19jdF9BUiJdPSJhciIKU1siQVIiXT0iYXIiClNbIkxOX1MiXT0iY3AgLXAi
ClNbIk5NIl09Ii9iaW4vbm0gLUIiClNbImFjX2N0X0RVTVBCSU4iXT0iIgpT
WyJEVU1QQklOIl09IiIKU1siTEQiXT0iYzovdGluZ3cvbWluZ3czMi9iaW4v
bGQuZXhlIgpTWyJGR1JFUCJdPSIvYmluL2dyZXAgLUYiClNbIkVHUkVQIl09
Ii9iaW4vZ3JlcCAtRSIKU1siR1JFUCJdPSIvYmluL2dyZXAiClNbIlNFRCJd
PSIvYmluL3NlZCIKU1siTElCVE9PTCJdPSIkKFNIRUxMKSAkKHRvcF9idWls
ZGRpcikvbGlidG9vbCIKU1siT0JKRFVNUCJdPSJvYmpkdW1wIgpTWyJETExU
T09MIl09ImRsbHRvb2wiClNbIkFTIl09ImFzIgpTWyJDUFAiXT0iZ2NjIC1F
IgpTWyJhbV9fZmFzdGRlcENDX0ZBTFNFIl09IiMiClNbImFtX19mYXN0ZGVw
Q0NfVFJVRSJdPSIiClNbIkNDREVQTU9ERSJdPSJkZXBtb2RlPWdjYzMiClNb
IkFNREVQQkFDS1NMQVNIIl09IlxcIgpTWyJBTURFUF9GQUxTRSJdPSIjIgpT
WyJBTURFUF9UUlVFIl09IiIKU1siYW1fX3F1b3RlIl09IiIKU1siYW1fX2lu
Y2x1ZGUiXT0iaW5jbHVkZSIKU1siREVQRElSIl09Ii5kZXBzIgpTWyJPQkpF
WFQiXT0ibyIKU1siRVhFRVhUIl09Ii5leGUiClNbImFjX2N0X0NDIl09Imdj
YyIKU1siQ1BQRkxBR1MiXT0iIgpTWyJMREZMQUdTIl09IiIKU1siQ0ZMQUdT
Il09Ii1nIC1PMiIKU1siQ0MiXT0iZ2NjIgpTWyJESVNUX01BS0VGSUxFX0xJ
U1QiXT0idGVzdHMvY2RlbW8vTWFrZWZpbGUgdGVzdHMvZGVtby9NYWtlZmls
ZSB0ZXN0cy9kZXBkZW1vL01ha2VmaWxlIHRlc3RzL2Y3N2RlbW8vTWFrZWZp
bGUgdGVzdHMvZmNkZW1vL01ha2VmaWxlIHRlc3RzL21kZW1vL01ha2VmaWxl
IHRlc3RzL21kZW1vMi9NYWtlZiJcCiJpbGUgdGVzdHMvcGRlbW8vTWFrZWZp
bGUgdGVzdHMvdGFnZGVtby9NYWtlZmlsZSAiClNbIkNPTkZfU1VCRElSUyJd
PSJ0ZXN0cy9jZGVtbyB0ZXN0cy9kZW1vIHRlc3RzL2RlcGRlbW8gdGVzdHMv
Zjc3ZGVtbyB0ZXN0cy9mY2RlbW8gCXRlc3RzL21kZW1vIHRlc3RzL21kZW1v
MiB0ZXN0cy9wZGVtbyB0ZXN0cy90YWdkZW1vIgpTWyJwa2dkYXRhZGlyIl09
IiR7ZGF0YWRpcn0vbGlidG9vbCIKU1siYWNsb2NhbGRpciJdPSIke2RhdGFk
aXJ9L2FjbG9jYWwiClNbIkNPTkZJR19TVEFUVVNfREVQRU5ERU5DSUVTIl09
IiQodG9wX3NyY2RpcikvQ2hhbmdlTG9nIgpTWyJNNFNIIl09IiQoQVVUT000
VEUpIC0tbGFuZ3VhZ2U9bTRzaCIKU1siaG9zdF9vcyJdPSJtaW5ndzMyIgpT
WyJob3N0X3ZlbmRvciJdPSJwYyIKU1siaG9zdF9jcHUiXT0iaTY4NiIKU1si
aG9zdCJdPSJpNjg2LXBjLW1pbmd3MzIiClNbImJ1aWxkX29zIl09Im1pbmd3
MzIiClNbImJ1aWxkX3ZlbmRvciJdPSJwYyIKU1siYnVpbGRfY3B1Il09Imk2
ODYiClNbImJ1aWxkIl09Imk2ODYtcGMtbWluZ3czMiIKU1siYW1fX3VudGFy
Il09IiR7QU1UQVJ9IHhmIC0iClNbImFtX190YXIiXT0iJHtBTVRBUn0gY2hv
ZiAtIFwiJCR0YXJkaXJcIiIKU1siQU1UQVIiXT0iJHtTSEVMTH0gL01pbkdX
L3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9saWJsdGRsL2Nv
bmZpZy9taXNzaW5nIC0tcnVuIHRhciIKU1siYW1fX2xlYWRpbmdfZG90Il09
Ii4iClNbIlNFVF9NQUtFIl09IiIKU1siQVdLIl09Imdhd2siClNbIm1rZGly
X3AiXT0iL2Jpbi9ta2RpciAtcCIKU1siTUtESVJfUCJdPSIvYmluL21rZGly
IC1wIgpTWyJJTlNUQUxMX1NUUklQX1BST0dSQU0iXT0iJChpbnN0YWxsX3No
KSAtYyAtcyIKU1siU1RSSVAiXT0ic3RyaXAiClNbImluc3RhbGxfc2giXT0i
JHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi9saWJsdGRsL2NvbmZpZy9pbnN0YWxsLXNoIgpTWyJNQUtFSU5GTyJd
PSIke1NIRUxMfSAvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL2xpYmx0ZGwvY29uZmlnL21pc3NpbmcgLS1ydW4gbWFrZWluZm8i
ClNbIkFVVE9IRUFERVIiXT0iJHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1dG9t
YWtlLTEuMTEvbGlidG9vbC0yLjQuMi9saWJsdGRsL2NvbmZpZy9taXNzaW5n
IC0tcnVuIGF1dG9oZWFkZXIiClNbIkFVVE9NQUtFIl09IiR7U0hFTEx9IC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvbGlibHRk
bC9jb25maWcvbWlzc2luZyAtLXJ1biBhdXRvbWFrZS0xLjExIgpTWyJBVVRP
Q09ORiJdPSIke1NIRUxMfSAvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9s
aWJ0b29sLTIuNC4yL2xpYmx0ZGwvY29uZmlnL21pc3NpbmcgLS1ydW4gYXV0
b2NvbmYiClNbIkFDTE9DQUwiXT0iJHtTSEVMTH0gL01pbkdXL3NoYXJlL2F1
dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi9saWJsdGRsL2NvbmZpZy9taXNz
aW5nIC0tcnVuIGFjbG9jYWwtMS4xMSIKU1siVkVSU0lPTiJdPSIyLjQuMiIK
U1siUEFDS0FHRSJdPSJsaWJ0b29sIgpTWyJDWUdQQVRIX1ciXT0iZWNobyIK
U1siYW1fX2lzcmMiXT0iIC1JJChzcmNkaXIpIgpTWyJJTlNUQUxMX0RBVEEi
XT0iJHtJTlNUQUxMfSAtbSA2NDQiClNbIklOU1RBTExfU0NSSVBUIl09IiR7
SU5TVEFMTH0iClNbIklOU1RBTExfUFJPR1JBTSJdPSIke0lOU1RBTEx9IgpT
WyJwYWNrYWdlX3JldmlzaW9uIl09IjEuMzMzNyIKU1siVElNRVNUQU1QIl09
IiIKU1siTEFTVFJFTEVBU0UiXT0iMi40LjEiClNbIkFVVE9URVNUIl09IiQo
QVVUT000VEUpIC0tbGFuZ3VhZ2U9YXV0b3Rlc3QiClNbIkFVVE9NNFRFIl09
ImF1dG9tNHRlIgpTWyJ0YXJnZXRfYWxpYXMiXT0iIgpTWyJob3N0X2FsaWFz
Il09IiIKU1siYnVpbGRfYWxpYXMiXT0iIgpTWyJMSUJTIl09IiIKU1siRUNI
T19UIl09IiIKU1siRUNIT19OIl09Ii1uIgpTWyJFQ0hPX0MiXT0iIgpTWyJE
RUZTIl09Ii1ESEFWRV9DT05GSUdfSCIKU1sibWFuZGlyIl09IiR7ZGF0YXJv
b3RkaXJ9L21hbiIKU1sibG9jYWxlZGlyIl09IiR7ZGF0YXJvb3RkaXJ9L2xv
Y2FsZSIKU1sibGliZGlyIl09IiR7ZXhlY19wcmVmaXh9L2xpYiIKU1sicHNk
aXIiXT0iJHtkb2NkaXJ9IgpTWyJwZGZkaXIiXT0iJHtkb2NkaXJ9IgpTWyJk
dmlkaXIiXT0iJHtkb2NkaXJ9IgpTWyJodG1sZGlyIl09IiR7ZG9jZGlyfSIK
U1siaW5mb2RpciJdPSIke2RhdGFyb290ZGlyfS9pbmZvIgpTWyJkb2NkaXIi
XT0iJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfSIKU1si
b2xkaW5jbHVkZWRpciJdPSIvdXNyL2luY2x1ZGUiClNbImluY2x1ZGVkaXIi
XT0iJHtwcmVmaXh9L2luY2x1ZGUiClNbImxvY2Fsc3RhdGVkaXIiXT0iJHtw
cmVmaXh9L3ZhciIKU1sic2hhcmVkc3RhdGVkaXIiXT0iJHtwcmVmaXh9L2Nv
bSIKU1sic3lzY29uZmRpciJdPSIke3ByZWZpeH0vZXRjIgpTWyJkYXRhZGly
Il09IiR7ZGF0YXJvb3RkaXJ9IgpTWyJkYXRhcm9vdGRpciJdPSIke3ByZWZp
eH0vc2hhcmUiClNbImxpYmV4ZWNkaXIiXT0iJHtleGVjX3ByZWZpeH0vbGli
ZXhlYyIKU1sic2JpbmRpciJdPSIke2V4ZWNfcHJlZml4fS9zYmluIgpTWyJi
aW5kaXIiXT0iJHtleGVjX3ByZWZpeH0vYmluIgpTWyJwcm9ncmFtX3RyYW5z
Zm9ybV9uYW1lIl09InMseCx4LCIKU1sicHJlZml4Il09Ii91c3IvbG9jYWwi
ClNbImV4ZWNfcHJlZml4Il09IiR7cHJlZml4fSIKU1siUEFDS0FHRV9VUkwi
XT0iaHR0cDovL3d3dy5nbnUub3JnL3NvZnR3YXJlL2xpYnRvb2wvIgpTWyJQ
QUNLQUdFX0JVR1JFUE9SVCJdPSJidWctbGlidG9vbEBnbnUub3JnIgpTWyJQ
QUNLQUdFX1NUUklORyJdPSJHTlUgTGlidG9vbCAyLjQuMiIKU1siUEFDS0FH
RV9WRVJTSU9OIl09IjIuNC4yIgpTWyJQQUNLQUdFX1RBUk5BTUUiXT0ibGli
dG9vbCIKU1siUEFDS0FHRV9OQU1FIl09IkdOVSBMaWJ0b29sIgpTWyJQQVRI
X1NFUEFSQVRPUiJdPSI6IgpTWyJTSEVMTCJdPSIvYmluL3NoIgpfQUNBV0sK
Y2F0ID4+IiRhY190bXAvc3ViczEuYXdrIiA8PF9BQ0FXSyAmJgogIGZvciAo
a2V5IGluIFMpIFNfaXNfc2V0W2tleV0gPSAxCiAgRlMgPSAiByIKCn0Kewog
IGxpbmUgPSAkIDAKICBuZmllbGRzID0gc3BsaXQobGluZSwgZmllbGQsICJA
IikKICBzdWJzdGVkID0gMAogIGxlbiA9IGxlbmd0aChmaWVsZFsxXSkKICBm
b3IgKGkgPSAyOyBpIDwgbmZpZWxkczsgaSsrKSB7CiAgICBrZXkgPSBmaWVs
ZFtpXQogICAga2V5bGVuID0gbGVuZ3RoKGtleSkKICAgIGlmIChTX2lzX3Nl
dFtrZXldKSB7CiAgICAgIHZhbHVlID0gU1trZXldCiAgICAgIGxpbmUgPSBz
dWJzdHIobGluZSwgMSwgbGVuKSAiIiB2YWx1ZSAiIiBzdWJzdHIobGluZSwg
bGVuICsga2V5bGVuICsgMykKICAgICAgbGVuICs9IGxlbmd0aCh2YWx1ZSkg
KyBsZW5ndGgoZmllbGRbKytpXSkKICAgICAgc3Vic3RlZCA9IDEKICAgIH0g
ZWxzZQogICAgICBsZW4gKz0gMSArIGtleWxlbgogIH0KCiAgcHJpbnQgbGlu
ZQp9CgpfQUNBV0sKaWYgc2VkICJzLyRhY19jci8vIiA8IC9kZXYvbnVsbCA+
IC9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgc2VkICJzLyRhY19jclwkLy87IHMv
JGFjX2NyLyRhY19jc19hd2tfY3IvZyIKZWxzZQogIGNhdApmaSA8ICIkYWNf
dG1wL3N1YnMxLmF3ayIgPiAiJGFjX3RtcC9zdWJzLmF3ayIgXAogIHx8IGFz
X2ZuX2Vycm9yICQ/ICJjb3VsZCBub3Qgc2V0dXAgY29uZmlnIGZpbGVzIG1h
Y2hpbmVyeSIgIiRMSU5FTk8iIDUKZmkgIyB0ZXN0IC1uICIkQ09ORklHX0ZJ
TEVTIgoKIyBTZXQgdXAgdGhlIHNjcmlwdHMgZm9yIENPTkZJR19IRUFERVJT
IHNlY3Rpb24uCiMgTm8gbmVlZCB0byBnZW5lcmF0ZSB0aGVtIGlmIHRoZXJl
IGFyZSBubyBDT05GSUdfSEVBREVSUy4KIyBUaGlzIGhhcHBlbnMgZm9yIGlu
c3RhbmNlIHdpdGggYC4vY29uZmlnLnN0YXR1cyBNYWtlZmlsZScuCmlmIHRl
c3QgLW4gIiRDT05GSUdfSEVBREVSUyI7IHRoZW4KY2F0ID4iJGFjX3RtcC9k
ZWZpbmVzLmF3ayIgPDxcX0FDQVdLIHx8CkJFR0lOIHsKRFsiUEFDS0FHRV9O
QU1FIl09IiBcIkdOVSBMaWJ0b29sXCIiCkRbIlBBQ0tBR0VfVEFSTkFNRSJd
PSIgXCJsaWJ0b29sXCIiCkRbIlBBQ0tBR0VfVkVSU0lPTiJdPSIgXCIyLjQu
MlwiIgpEWyJQQUNLQUdFX1NUUklORyJdPSIgXCJHTlUgTGlidG9vbCAyLjQu
MlwiIgpEWyJQQUNLQUdFX0JVR1JFUE9SVCJdPSIgXCJidWctbGlidG9vbEBn
bnUub3JnXCIiCkRbIlBBQ0tBR0VfVVJMIl09IiBcImh0dHA6Ly93d3cuZ251
Lm9yZy9zb2Z0d2FyZS9saWJ0b29sL1wiIgpEWyJQQUNLQUdFIl09IiBcImxp
YnRvb2xcIiIKRFsiVkVSU0lPTiJdPSIgXCIyLjQuMlwiIgpEWyJTVERDX0hF
QURFUlMiXT0iIDEiCkRbIkhBVkVfU1lTX1RZUEVTX0giXT0iIDEiCkRbIkhB
VkVfU1lTX1NUQVRfSCJdPSIgMSIKRFsiSEFWRV9TVERMSUJfSCJdPSIgMSIK
RFsiSEFWRV9TVFJJTkdfSCJdPSIgMSIKRFsiSEFWRV9NRU1PUllfSCJdPSIg
MSIKRFsiSEFWRV9TVFJJTkdTX0giXT0iIDEiCkRbIkhBVkVfSU5UVFlQRVNf
SCJdPSIgMSIKRFsiSEFWRV9TVERJTlRfSCJdPSIgMSIKRFsiSEFWRV9VTklT
VERfSCJdPSIgMSIKRFsiTFRfT0JKRElSIl09IiBcIi5saWJzL1wiIgpEWyJM
VF9NT0RVTEVfRVhUIl09IiBcIi5kbGxcIiIKRFsiTFRfTU9EVUxFX1BBVEhf
VkFSIl09IiBcIlBBVEhcIiIKRFsiTFRfRExTRUFSQ0hfUEFUSCJdPSIgXCIv
bGliOi91c3IvbGliXCIiCkRbIkhBVkVfREVDTF9DWUdXSU5fQ09OVl9QQVRI
Il09IiAwIgpEWyJIQVZFX0xJQkRMTE9BREVSIl09IiAxIgpEWyJMVERMX0RM
T1BFTl9ERVBMSUJTIl09IiAxIgpEWyJlcnJvcl90Il09IiBpbnQiCkRbIl9f
ZXJyb3JfdF9kZWZpbmVkIl09IiAxIgpEWyJIQVZFX1BSRUxPQURFRF9TWU1C
T0xTIl09IiAxIgpEWyJIQVZFX1VOSVNURF9IIl09IiAxIgpEWyJIQVZFX0RJ
UkVOVF9IIl09IiAxIgpEWyJIQVZFX0NMT1NFRElSIl09IiAxIgpEWyJIQVZF
X09QRU5ESVIiXT0iIDEiCkRbIkhBVkVfUkVBRERJUiJdPSIgMSIKRFsiTFRf
TElCRVhUIl09IiBcImFcIiIKRFsiTFRfTElCUFJFRklYIl09IiBcImxpYlwi
IgogIGZvciAoa2V5IGluIEQpIERfaXNfc2V0W2tleV0gPSAxCiAgRlMgPSAi
ByIKfQovXltcdCBdKiNbXHQgXSooZGVmaW5lfHVuZGVmKVtcdCBdK1tfYWJj
ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVW
V1hZWl1bX2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktM
TU5PUFFSU1RVVldYWVowMTIzNDU2Nzg5XSooW1x0IChdfCQpLyB7CiAgbGlu
ZSA9ICQgMAogIHNwbGl0KGxpbmUsIGFyZywgIiAiKQogIGlmIChhcmdbMV0g
PT0gIiMiKSB7CiAgICBkZWZ1bmRlZiA9IGFyZ1syXQogICAgbWFjMSA9IGFy
Z1szXQogIH0gZWxzZSB7CiAgICBkZWZ1bmRlZiA9IHN1YnN0cihhcmdbMV0s
IDIpCiAgICBtYWMxID0gYXJnWzJdCiAgfQogIHNwbGl0KG1hYzEsIG1hYzIs
ICIoIikgIykKICBtYWNybyA9IG1hYzJbMV0KICBwcmVmaXggPSBzdWJzdHIo
bGluZSwgMSwgaW5kZXgobGluZSwgZGVmdW5kZWYpIC0gMSkKICBpZiAoRF9p
c19zZXRbbWFjcm9dKSB7CiAgICAjIFByZXNlcnZlIHRoZSB3aGl0ZSBzcGFj
ZSBzdXJyb3VuZGluZyB0aGUgIiMiLgogICAgcHJpbnQgcHJlZml4ICJkZWZp
bmUiLCBtYWNybyBQW21hY3JvXSBEW21hY3JvXQogICAgbmV4dAogIH0gZWxz
ZSB7CiAgICAjIFJlcGxhY2UgI3VuZGVmIHdpdGggY29tbWVudHMuICBUaGlz
IGlzIG5lY2Vzc2FyeSwgZm9yIGV4YW1wbGUsCiAgICAjIGluIHRoZSBjYXNl
IG9mIF9QT1NJWF9TT1VSQ0UsIHdoaWNoIGlzIHByZWRlZmluZWQgYW5kIHJl
cXVpcmVkCiAgICAjIG9uIHNvbWUgc3lzdGVtcyB3aGVyZSBjb25maWd1cmUg
d2lsbCBub3QgZGVjaWRlIHRvIGRlZmluZSBpdC4KICAgIGlmIChkZWZ1bmRl
ZiA9PSAidW5kZWYiKSB7CiAgICAgIHByaW50ICIvKiIsIHByZWZpeCBkZWZ1
bmRlZiwgbWFjcm8sICIqLyIKICAgICAgbmV4dAogICAgfQogIH0KfQp7IHBy
aW50IH0KX0FDQVdLCiAgYXNfZm5fZXJyb3IgJD8gImNvdWxkIG5vdCBzZXR1
cCBjb25maWcgaGVhZGVycyBtYWNoaW5lcnkiICIkTElORU5PIiA1CmZpICMg
dGVzdCAtbiAiJENPTkZJR19IRUFERVJTIgoKCmV2YWwgc2V0IFggIiAgOkYg
JENPTkZJR19GSUxFUyAgOkggJENPTkZJR19IRUFERVJTICAgIDpDICRDT05G
SUdfQ09NTUFORFMiCnNoaWZ0CmZvciBhY190YWcKZG8KICBjYXNlICRhY190
YWcgaW4KICA6W0ZITENdKSBhY19tb2RlPSRhY190YWc7IGNvbnRpbnVlOzsK
ICBlc2FjCiAgY2FzZSAkYWNfbW9kZSRhY190YWcgaW4KICA6W0ZITF0qOiop
OzsKICA6TCogfCA6Qyo6KikgYXNfZm5fZXJyb3IgJD8gImludmFsaWQgdGFn
IFxgJGFjX3RhZyciICIkTElORU5PIiA1OzsKICA6W0ZIXS0pIGFjX3RhZz0t
Oi07OwogIDpbRkhdKikgYWNfdGFnPSRhY190YWc6JGFjX3RhZy5pbjs7CiAg
ZXNhYwogIGFjX3NhdmVfSUZTPSRJRlMKICBJRlM9OgogIHNldCB4ICRhY190
YWcKICBJRlM9JGFjX3NhdmVfSUZTCiAgc2hpZnQKICBhY19maWxlPSQxCiAg
c2hpZnQKCiAgY2FzZSAkYWNfbW9kZSBpbgogIDpMKSBhY19zb3VyY2U9JDE7
OwogIDpbRkhdKQogICAgYWNfZmlsZV9pbnB1dHM9CiAgICBmb3IgYWNfZgog
ICAgZG8KICAgICAgY2FzZSAkYWNfZiBpbgogICAgICAtKSBhY19mPSIkYWNf
dG1wL3N0ZGluIjs7CiAgICAgICopICMgTG9vayBmb3IgdGhlIGZpbGUgZmly
c3QgaW4gdGhlIGJ1aWxkIHRyZWUsIHRoZW4gaW4gdGhlIHNvdXJjZSB0cmVl
CgkgIyAoaWYgdGhlIHBhdGggaXMgbm90IGFic29sdXRlKS4gIFRoZSBhYnNv
bHV0ZSBwYXRoIGNhbm5vdCBiZSBET1Mtc3R5bGUsCgkgIyBiZWNhdXNlICRh
Y19mIGNhbm5vdCBjb250YWluIGA6Jy4KCSB0ZXN0IC1mICIkYWNfZiIgfHwK
CSAgIGNhc2UgJGFjX2YgaW4KCSAgIFtcXC8kXSopIGZhbHNlOzsKCSAgICop
IHRlc3QgLWYgIiRzcmNkaXIvJGFjX2YiICYmIGFjX2Y9IiRzcmNkaXIvJGFj
X2YiOzsKCSAgIGVzYWMgfHwKCSAgIGFzX2ZuX2Vycm9yIDEgImNhbm5vdCBm
aW5kIGlucHV0IGZpbGU6IFxgJGFjX2YnIiAiJExJTkVOTyIgNTs7CiAgICAg
IGVzYWMKICAgICAgY2FzZSAkYWNfZiBpbiAqXCcqKSBhY19mPWAkYXNfZWNo
byAiJGFjX2YiIHwgc2VkICJzLycvJ1xcXFxcXFxcJycvZyJgOzsgZXNhYwog
ICAgICBhc19mbl9hcHBlbmQgYWNfZmlsZV9pbnB1dHMgIiAnJGFjX2YnIgog
ICAgZG9uZQoKICAgICMgTGV0J3Mgc3RpbGwgcHJldGVuZCBpdCBpcyBgY29u
ZmlndXJlJyB3aGljaCBpbnN0YW50aWF0ZXMgKGkuZS4sIGRvbid0CiAgICAj
IHVzZSAkYXNfbWUpLCBwZW9wbGUgd291bGQgYmUgc3VycHJpc2VkIHRvIHJl
YWQ6CiAgICAjICAgIC8qIGNvbmZpZy5oLiAgR2VuZXJhdGVkIGJ5IGNvbmZp
Zy5zdGF0dXMuICAqLwogICAgY29uZmlndXJlX2lucHV0PSdHZW5lcmF0ZWQg
ZnJvbSAnYAoJICAkYXNfZWNobyAiJCoiIHwgc2VkICdzfF5bXjpdKi98fDtz
fDpbXjpdKi98LCB8ZycKCWAnIGJ5IGNvbmZpZ3VyZS4nCiAgICBpZiB0ZXN0
IHgiJGFjX2ZpbGUiICE9IHgtOyB0aGVuCiAgICAgIGNvbmZpZ3VyZV9pbnB1
dD0iJGFjX2ZpbGUuICAkY29uZmlndXJlX2lucHV0IgogICAgICB7ICRhc19l
Y2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNyZWF0aW5nICRh
Y19maWxlIiA+JjUKJGFzX2VjaG8gIiRhc19tZTogY3JlYXRpbmcgJGFjX2Zp
bGUiID4mNjt9CiAgICBmaQogICAgIyBOZXV0cmFsaXplIHNwZWNpYWwgY2hh
cmFjdGVycyBpbnRlcnByZXRlZCBieSBzZWQgaW4gcmVwbGFjZW1lbnQgc3Ry
aW5ncy4KICAgIGNhc2UgJGNvbmZpZ3VyZV9pbnB1dCBpbiAjKAogICAgKlwm
KiB8ICpcfCogfCAqXFwqICkKICAgICAgIGFjX3NlZF9jb25mX2lucHV0PWAk
YXNfZWNobyAiJGNvbmZpZ3VyZV9pbnB1dCIgfAogICAgICAgc2VkICdzL1tc
XFxcJnxdL1xcXFwmL2cnYDs7ICMoCiAgICAqKSBhY19zZWRfY29uZl9pbnB1
dD0kY29uZmlndXJlX2lucHV0OzsKICAgIGVzYWMKCiAgICBjYXNlICRhY190
YWcgaW4KICAgICo6LToqIHwgKjotKSBjYXQgPiIkYWNfdG1wL3N0ZGluIiBc
CiAgICAgIHx8IGFzX2ZuX2Vycm9yICQ/ICJjb3VsZCBub3QgY3JlYXRlICRh
Y19maWxlIiAiJExJTkVOTyIgNSA7OwogICAgZXNhYwogICAgOzsKICBlc2Fj
CgogIGFjX2Rpcj1gJGFzX2Rpcm5hbWUgLS0gIiRhY19maWxlIiB8fAokYXNf
ZXhwciBYIiRhY19maWxlIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8q
JCcgXHwgXAoJIFgiJGFjX2ZpbGUiIDogJ1hcKC8vXClbXi9dJyBcfCBcCgkg
WCIkYWNfZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwKCSBYIiRhY19maWxlIiA6
ICdYXCgvXCknIFx8IC4gMj4vZGV2L251bGwgfHwKJGFzX2VjaG8gWCIkYWNf
ZmlsZSIgfAogICAgc2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpc
LyokL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wvXClb
Xi9dLiovewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9c
KSQvewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXCkuKi97
CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIHMvLiovLi87IHEnYAogIGFz
X2Rpcj0iJGFjX2RpciI7IGFzX2ZuX21rZGlyX3AKICBhY19idWlsZGRpcj0u
CgpjYXNlICIkYWNfZGlyIiBpbgouKSBhY19kaXJfc3VmZml4PSBhY190b3Bf
YnVpbGRkaXJfc3ViPS4gYWNfdG9wX2J1aWxkX3ByZWZpeD0gOzsKKikKICBh
Y19kaXJfc3VmZml4PS9gJGFzX2VjaG8gIiRhY19kaXIiIHwgc2VkICdzfF5c
LltcXC9dfHwnYAogICMgQSAiLi4iIGZvciBlYWNoIGRpcmVjdG9yeSBpbiAk
YWNfZGlyX3N1ZmZpeC4KICBhY190b3BfYnVpbGRkaXJfc3ViPWAkYXNfZWNo
byAiJGFjX2Rpcl9zdWZmaXgiIHwgc2VkICdzfC9bXlxcL10qfC8uLnxnO3N8
L3x8J2AKICBjYXNlICRhY190b3BfYnVpbGRkaXJfc3ViIGluCiAgIiIpIGFj
X3RvcF9idWlsZGRpcl9zdWI9LiBhY190b3BfYnVpbGRfcHJlZml4PSA7Owog
ICopICBhY190b3BfYnVpbGRfcHJlZml4PSRhY190b3BfYnVpbGRkaXJfc3Vi
LyA7OwogIGVzYWMgOzsKZXNhYwphY19hYnNfdG9wX2J1aWxkZGlyPSRhY19w
d2QKYWNfYWJzX2J1aWxkZGlyPSRhY19wd2QkYWNfZGlyX3N1ZmZpeAojIGZv
ciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5OgphY190b3BfYnVpbGRkaXI9JGFj
X3RvcF9idWlsZF9wcmVmaXgKCmNhc2UgJHNyY2RpciBpbgogIC4pICAjIFdl
IGFyZSBidWlsZGluZyBpbiBwbGFjZS4KICAgIGFjX3NyY2Rpcj0uCiAgICBh
Y190b3Bfc3JjZGlyPSRhY190b3BfYnVpbGRkaXJfc3ViCiAgICBhY19hYnNf
dG9wX3NyY2Rpcj0kYWNfcHdkIDs7CiAgW1xcL10qIHwgPzpbXFwvXSogKSAg
IyBBYnNvbHV0ZSBuYW1lLgogICAgYWNfc3JjZGlyPSRzcmNkaXIkYWNfZGly
X3N1ZmZpeDsKICAgIGFjX3RvcF9zcmNkaXI9JHNyY2RpcgogICAgYWNfYWJz
X3RvcF9zcmNkaXI9JHNyY2RpciA7OwogICopICMgUmVsYXRpdmUgbmFtZS4K
ICAgIGFjX3NyY2Rpcj0kYWNfdG9wX2J1aWxkX3ByZWZpeCRzcmNkaXIkYWNf
ZGlyX3N1ZmZpeAogICAgYWNfdG9wX3NyY2Rpcj0kYWNfdG9wX2J1aWxkX3By
ZWZpeCRzcmNkaXIKICAgIGFjX2Fic190b3Bfc3JjZGlyPSRhY19wd2QvJHNy
Y2RpciA7Owplc2FjCmFjX2Fic19zcmNkaXI9JGFjX2Fic190b3Bfc3JjZGly
JGFjX2Rpcl9zdWZmaXgKCgogIGNhc2UgJGFjX21vZGUgaW4KICA6RikKICAj
CiAgIyBDT05GSUdfRklMRQogICMKCiAgY2FzZSAkSU5TVEFMTCBpbgogIFtc
XC8kXSogfCA/OltcXC9dKiApIGFjX0lOU1RBTEw9JElOU1RBTEwgOzsKICAq
KSBhY19JTlNUQUxMPSRhY190b3BfYnVpbGRfcHJlZml4JElOU1RBTEwgOzsK
ICBlc2FjCiAgYWNfTUtESVJfUD0kTUtESVJfUAogIGNhc2UgJE1LRElSX1Ag
aW4KICBbXFwvJF0qIHwgPzpbXFwvXSogKSA7OwogICovKikgYWNfTUtESVJf
UD0kYWNfdG9wX2J1aWxkX3ByZWZpeCRNS0RJUl9QIDs7CiAgZXNhYwojIElm
IHRoZSB0ZW1wbGF0ZSBkb2VzIG5vdCBrbm93IGFib3V0IGRhdGFyb290ZGly
LCBleHBhbmQgaXQuCiMgRklYTUU6IFRoaXMgaGFjayBzaG91bGQgYmUgcmVt
b3ZlZCBhIGZldyB5ZWFycyBhZnRlciAyLjYwLgphY19kYXRhcm9vdGRpcl9o
YWNrPTsgYWNfZGF0YXJvb3RkaXJfc2Vlbj0KYWNfc2VkX2RhdGFyb290PScK
L2RhdGFyb290ZGlyLyB7CiAgcAogIHEKfQovQGRhdGFkaXJAL3AKL0Bkb2Nk
aXJAL3AKL0BpbmZvZGlyQC9wCi9AbG9jYWxlZGlyQC9wCi9AbWFuZGlyQC9w
JwpjYXNlIGBldmFsICJzZWQgLW4gXCJcJGFjX3NlZF9kYXRhcm9vdFwiICRh
Y19maWxlX2lucHV0cyJgIGluCipkYXRhcm9vdGRpciopIGFjX2RhdGFyb290
ZGlyX3NlZW49eWVzOzsKKkBkYXRhZGlyQCp8KkBkb2NkaXJAKnwqQGluZm9k
aXJAKnwqQGxvY2FsZWRpckAqfCpAbWFuZGlyQCopCiAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBXQVJOSU5HOiAkYWNfZmls
ZV9pbnB1dHMgc2VlbXMgdG8gaWdub3JlIHRoZSAtLWRhdGFyb290ZGlyIHNl
dHRpbmciID4mNQokYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiAkYWNfZmls
ZV9pbnB1dHMgc2VlbXMgdG8gaWdub3JlIHRoZSAtLWRhdGFyb290ZGlyIHNl
dHRpbmciID4mMjt9CiAgYWNfZGF0YXJvb3RkaXJfaGFjaz0nCiAgcyZAZGF0
YWRpckAmJHtkYXRhcm9vdGRpcn0mZwogIHMmQGRvY2RpckAmJHtkYXRhcm9v
dGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJOQU1FfSZnCiAgcyZAaW5mb2RpckAm
JHtkYXRhcm9vdGRpcn0vaW5mbyZnCiAgcyZAbG9jYWxlZGlyQCYke2RhdGFy
b290ZGlyfS9sb2NhbGUmZwogIHMmQG1hbmRpckAmJHtkYXRhcm9vdGRpcn0v
bWFuJmcKICBzJlwke2RhdGFyb290ZGlyfSYke3ByZWZpeH0vc2hhcmUmZycg
OzsKZXNhYwphY19zZWRfZXh0cmE9IgoKOnQKL0BbYS16QS1aX11bYS16QS1a
XzAtOV0qQC8hYgpzfEBjb25maWd1cmVfaW5wdXRAfCRhY19zZWRfY29uZl9p
bnB1dHw7dCB0CnMmQHRvcF9idWlsZGRpckAmJGFjX3RvcF9idWlsZGRpcl9z
dWImO3QgdApzJkB0b3BfYnVpbGRfcHJlZml4QCYkYWNfdG9wX2J1aWxkX3By
ZWZpeCY7dCB0CnMmQHNyY2RpckAmJGFjX3NyY2RpciY7dCB0CnMmQGFic19z
cmNkaXJAJiRhY19hYnNfc3JjZGlyJjt0IHQKcyZAdG9wX3NyY2RpckAmJGFj
X3RvcF9zcmNkaXImO3QgdApzJkBhYnNfdG9wX3NyY2RpckAmJGFjX2Fic190
b3Bfc3JjZGlyJjt0IHQKcyZAYnVpbGRkaXJAJiRhY19idWlsZGRpciY7dCB0
CnMmQGFic19idWlsZGRpckAmJGFjX2Fic19idWlsZGRpciY7dCB0CnMmQGFi
c190b3BfYnVpbGRkaXJAJiRhY19hYnNfdG9wX2J1aWxkZGlyJjt0IHQKcyZA
SU5TVEFMTEAmJGFjX0lOU1RBTEwmO3QgdApzJkBNS0RJUl9QQCYkYWNfTUtE
SVJfUCY7dCB0CiRhY19kYXRhcm9vdGRpcl9oYWNrCiIKZXZhbCBzZWQgXCJc
JGFjX3NlZF9leHRyYVwiICIkYWNfZmlsZV9pbnB1dHMiIHwgJEFXSyAtZiAi
JGFjX3RtcC9zdWJzLmF3ayIgXAogID4kYWNfdG1wL291dCB8fCBhc19mbl9l
cnJvciAkPyAiY291bGQgbm90IGNyZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8i
IDUKCnRlc3QgLXogIiRhY19kYXRhcm9vdGRpcl9oYWNrJGFjX2RhdGFyb290
ZGlyX3NlZW4iICYmCiAgeyBhY19vdXQ9YHNlZCAtbiAnL1wke2RhdGFyb290
ZGlyfS9wJyAiJGFjX3RtcC9vdXQiYDsgdGVzdCAtbiAiJGFjX291dCI7IH0g
JiYKICB7IGFjX291dD1gc2VkIC1uICcvXlsJIF0qZGF0YXJvb3RkaXJbCSBd
KjoqPS9wJyBcCiAgICAgICIkYWNfdG1wL291dCJgOyB0ZXN0IC16ICIkYWNf
b3V0IjsgfSAmJgogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0k
TElORU5PfTogV0FSTklORzogJGFjX2ZpbGUgY29udGFpbnMgYSByZWZlcmVu
Y2UgdG8gdGhlIHZhcmlhYmxlIFxgZGF0YXJvb3RkaXInCndoaWNoIHNlZW1z
IHRvIGJlIHVuZGVmaW5lZC4gIFBsZWFzZSBtYWtlIHN1cmUgaXQgaXMgZGVm
aW5lZCIgPiY1CiRhc19lY2hvICIkYXNfbWU6IFdBUk5JTkc6ICRhY19maWxl
IGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSB2YXJpYWJsZSBcYGRhdGFy
b290ZGlyJwp3aGljaCBzZWVtcyB0byBiZSB1bmRlZmluZWQuICBQbGVhc2Ug
bWFrZSBzdXJlIGl0IGlzIGRlZmluZWQiID4mMjt9CgogIHJtIC1mICIkYWNf
dG1wL3N0ZGluIgogIGNhc2UgJGFjX2ZpbGUgaW4KICAtKSBjYXQgIiRhY190
bXAvb3V0IiAmJiBybSAtZiAiJGFjX3RtcC9vdXQiOzsKICAqKSBybSAtZiAi
JGFjX2ZpbGUiICYmIG12ICIkYWNfdG1wL291dCIgIiRhY19maWxlIjs7CiAg
ZXNhYyBcCiAgfHwgYXNfZm5fZXJyb3IgJD8gImNvdWxkIG5vdCBjcmVhdGUg
JGFjX2ZpbGUiICIkTElORU5PIiA1CiA7OwogIDpIKQogICMKICAjIENPTkZJ
R19IRUFERVIKICAjCiAgaWYgdGVzdCB4IiRhY19maWxlIiAhPSB4LTsgdGhl
bgogICAgewogICAgICAkYXNfZWNobyAiLyogJGNvbmZpZ3VyZV9pbnB1dCAg
Ki8iIFwKICAgICAgJiYgZXZhbCAnJEFXSyAtZiAiJGFjX3RtcC9kZWZpbmVz
LmF3ayInICIkYWNfZmlsZV9pbnB1dHMiCiAgICB9ID4iJGFjX3RtcC9jb25m
aWcuaCIgXAogICAgICB8fCBhc19mbl9lcnJvciAkPyAiY291bGQgbm90IGNy
ZWF0ZSAkYWNfZmlsZSIgIiRMSU5FTk8iIDUKICAgIGlmIGRpZmYgIiRhY19m
aWxlIiAiJGFjX3RtcC9jb25maWcuaCIgPi9kZXYvbnVsbCAyPiYxOyB0aGVu
CiAgICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+JjUKJGFzX2VjaG8gIiRhc19t
ZTogJGFjX2ZpbGUgaXMgdW5jaGFuZ2VkIiA+JjY7fQogICAgZWxzZQogICAg
ICBybSAtZiAiJGFjX2ZpbGUiCiAgICAgIG12ICIkYWNfdG1wL2NvbmZpZy5o
IiAiJGFjX2ZpbGUiIFwKCXx8IGFzX2ZuX2Vycm9yICQ/ICJjb3VsZCBub3Qg
Y3JlYXRlICRhY19maWxlIiAiJExJTkVOTyIgNQogICAgZmkKICBlbHNlCiAg
ICAkYXNfZWNobyAiLyogJGNvbmZpZ3VyZV9pbnB1dCAgKi8iIFwKICAgICAg
JiYgZXZhbCAnJEFXSyAtZiAiJGFjX3RtcC9kZWZpbmVzLmF3ayInICIkYWNf
ZmlsZV9pbnB1dHMiIFwKICAgICAgfHwgYXNfZm5fZXJyb3IgJD8gImNvdWxk
IG5vdCBjcmVhdGUgLSIgIiRMSU5FTk8iIDUKICBmaQojIENvbXB1dGUgIiRh
Y19maWxlIidzIGluZGV4IGluICRjb25maWdfaGVhZGVycy4KX2FtX2FyZz0i
JGFjX2ZpbGUiCl9hbV9zdGFtcF9jb3VudD0xCmZvciBfYW1faGVhZGVyIGlu
ICRjb25maWdfaGVhZGVycyA6OyBkbwogIGNhc2UgJF9hbV9oZWFkZXIgaW4K
ICAgICRfYW1fYXJnIHwgJF9hbV9hcmc6KiApCiAgICAgIGJyZWFrIDs7CiAg
ICAqICkKICAgICAgX2FtX3N0YW1wX2NvdW50PWBleHByICRfYW1fc3RhbXBf
Y291bnQgKyAxYCA7OwogIGVzYWMKZG9uZQplY2hvICJ0aW1lc3RhbXAgZm9y
ICRfYW1fYXJnIiA+YCRhc19kaXJuYW1lIC0tICIkX2FtX2FyZyIgfHwKJGFz
X2V4cHIgWCIkX2FtX2FyZyIgOiAnWFwoLipbXi9dXCkvLypbXi9dW14vXSov
KiQnIFx8IFwKCSBYIiRfYW1fYXJnIiA6ICdYXCgvL1wpW14vXScgXHwgXAoJ
IFgiJF9hbV9hcmciIDogJ1hcKC8vXCkkJyBcfCBcCgkgWCIkX2FtX2FyZyIg
OiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiRhc19lY2hvIFgiJF9h
bV9hcmciIHwKICAgIHNlZCAnL15YXCguKlteL11cKVwvXC8qW14vXVteL10q
XC8qJC97CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIC9eWFwoXC9cL1wp
W14vXS4qL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wv
XCkkL3sKCSAgICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wpLiov
ewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICBzLy4qLy4vOyBxJ2Avc3Rh
bXAtaCRfYW1fc3RhbXBfY291bnQKIDs7CgogIDpDKSAgeyAkYXNfZWNobyAi
JGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBleGVjdXRpbmcgJGFjX2Zp
bGUgY29tbWFuZHMiID4mNQokYXNfZWNobyAiJGFzX21lOiBleGVjdXRpbmcg
JGFjX2ZpbGUgY29tbWFuZHMiID4mNjt9CiA7OwogIGVzYWMKCgogIGNhc2Ug
JGFjX2ZpbGUkYWNfbW9kZSBpbgogICAgInRlc3RzL2F0Y29uZmlnIjpDKSBj
YXQgPnRlc3RzL2F0Y29uZmlnIDw8QVRFT0YKIyBDb25maWd1cmFibGUgdmFy
aWFibGUgdmFsdWVzIGZvciBidWlsZGluZyB0ZXN0IHN1aXRlcy4KIyBHZW5l
cmF0ZWQgYnkgJDAuCiMgQ29weXJpZ2h0IChDKSAyMDEwIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLgoKIyBUaGUgdGVzdCBzdWl0ZSB3aWxsIGRl
ZmluZSB0b3Bfc3JjZGlyPSRhdF90b3Bfc3JjZGlyLy4uLy4uIGV0Yy4KYXRf
dGVzdGRpcj0ndGVzdHMnCmFic19idWlsZGRpcj0nJGFjX2Fic19idWlsZGRp
cicKYXRfc3JjZGlyPSckYWNfc3JjZGlyJwphYnNfc3JjZGlyPSckYWNfYWJz
X3NyY2RpcicKYXRfdG9wX3NyY2Rpcj0nJGFjX3RvcF9zcmNkaXInCmFic190
b3Bfc3JjZGlyPSckYWNfYWJzX3RvcF9zcmNkaXInCmF0X3RvcF9idWlsZF9w
cmVmaXg9JyRhY190b3BfYnVpbGRfcHJlZml4JwphYnNfdG9wX2J1aWxkZGly
PSckYWNfYWJzX3RvcF9idWlsZGRpcicKCiMgQmFja3dhcmQgY29tcGF0aWJp
bGl0eSB3aXRoIEF1dG90ZXN0IDw9IDIuNTliOgphdF90b3BfYnVpbGRkaXI9
XCRhdF90b3BfYnVpbGRfcHJlZml4CgpBVVRPVEVTVF9QQVRIPSd0ZXN0cycK
ClNIRUxMPVwke0NPTkZJR19TSEVMTC0nJFNIRUxMJ30KQVRFT0YKIDs7CiAg
ICAiZGVwZmlsZXMiOkMpIHRlc3QgeCIkQU1ERVBfVFJVRSIgIT0geCIiIHx8
IHsKICAjIEF1dG9jb25mIDIuNjIgcXVvdGVzIC0tZmlsZSBhcmd1bWVudHMg
Zm9yIGV2YWwsIGJ1dCBub3Qgd2hlbiBmaWxlcwogICMgYXJlIGxpc3RlZCB3
aXRob3V0IC0tZmlsZS4gIExldCdzIHBsYXkgc2FmZSBhbmQgb25seSBlbmFi
bGUgdGhlIGV2YWwKICAjIGlmIHdlIGRldGVjdCB0aGUgcXVvdGluZy4KICBj
YXNlICRDT05GSUdfRklMRVMgaW4KICAqXCcqKSBldmFsIHNldCB4ICIkQ09O
RklHX0ZJTEVTIiA7OwogICopICAgc2V0IHggJENPTkZJR19GSUxFUyA7Owog
IGVzYWMKICBzaGlmdAogIGZvciBtZgogIGRvCiAgICAjIFN0cmlwIE1GIHNv
IHdlIGVuZCB1cCB3aXRoIHRoZSBuYW1lIG9mIHRoZSBmaWxlLgogICAgbWY9
YGVjaG8gIiRtZiIgfCBzZWQgLWUgJ3MvOi4qJC8vJ2AKICAgICMgQ2hlY2sg
d2hldGhlciB0aGlzIGlzIGFuIEF1dG9tYWtlIGdlbmVyYXRlZCBNYWtlZmls
ZSBvciBub3QuCiAgICAjIFdlIHVzZWQgdG8gbWF0Y2ggb25seSB0aGUgZmls
ZXMgbmFtZWQgYE1ha2VmaWxlLmluJywgYnV0CiAgICAjIHNvbWUgcGVvcGxl
IHJlbmFtZSB0aGVtOyBzbyBpbnN0ZWFkIHdlIGxvb2sgYXQgdGhlIGZpbGUg
Y29udGVudC4KICAgICMgR3JlcCdpbmcgdGhlIGZpcnN0IGxpbmUgaXMgbm90
IGVub3VnaDogc29tZSBwZW9wbGUgcG9zdC1wcm9jZXNzCiAgICAjIGVhY2gg
TWFrZWZpbGUuaW4gYW5kIGFkZCBhIG5ldyBsaW5lIG9uIHRvcCBvZiBlYWNo
IGZpbGUgdG8gc2F5IHNvLgogICAgIyBHcmVwJ2luZyB0aGUgd2hvbGUgZmls
ZSBpcyBub3QgZ29vZCBlaXRoZXI6IEFJWCBncmVwIGhhcyBhIGxpbmUKICAg
ICMgbGltaXQgb2YgMjA0OCwgYnV0IGFsbCBzZWQncyB3ZSBrbm93IGhhdmUg
dW5kZXJzdGFuZCBhdCBsZWFzdCA0MDAwLgogICAgaWYgc2VkIC1uICdzLF4j
LipnZW5lcmF0ZWQgYnkgYXV0b21ha2UuKixYLHAnICIkbWYiIHwgZ3JlcCBY
ID4vZGV2L251bGwgMj4mMTsgdGhlbgogICAgICBkaXJwYXJ0PWAkYXNfZGly
bmFtZSAtLSAiJG1mIiB8fAokYXNfZXhwciBYIiRtZiIgOiAnWFwoLipbXi9d
XCkvLypbXi9dW14vXSovKiQnIFx8IFwKCSBYIiRtZiIgOiAnWFwoLy9cKVte
L10nIFx8IFwKCSBYIiRtZiIgOiAnWFwoLy9cKSQnIFx8IFwKCSBYIiRtZiIg
OiAnWFwoL1wpJyBcfCAuIDI+L2Rldi9udWxsIHx8CiRhc19lY2hvIFgiJG1m
IiB8CiAgICBzZWQgJy9eWFwoLipbXi9dXClcL1wvKlteL11bXi9dKlwvKiQv
ewoJICAgIHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9cKVteL10u
Ki97CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIC9eWFwoXC9cL1wpJC97
CgkgICAgcy8vXDEvCgkgICAgcQoJICB9CgkgIC9eWFwoXC9cKS4qL3sKCSAg
ICBzLy9cMS8KCSAgICBxCgkgIH0KCSAgcy8uKi8uLzsgcSdgCiAgICBlbHNl
CiAgICAgIGNvbnRpbnVlCiAgICBmaQogICAgIyBFeHRyYWN0IHRoZSBkZWZp
bml0aW9uIG9mIERFUERJUiwgYW1fX2luY2x1ZGUsIGFuZCBhbV9fcXVvdGUK
ICAgICMgZnJvbSB0aGUgTWFrZWZpbGUgd2l0aG91dCBydW5uaW5nIGBtYWtl
Jy4KICAgIERFUERJUj1gc2VkIC1uICdzL15ERVBESVIgPSAvL3AnIDwgIiRt
ZiJgCiAgICB0ZXN0IC16ICIkREVQRElSIiAmJiBjb250aW51ZQogICAgYW1f
X2luY2x1ZGU9YHNlZCAtbiAncy9eYW1fX2luY2x1ZGUgPSAvL3AnIDwgIiRt
ZiJgCiAgICB0ZXN0IC16ICJhbV9faW5jbHVkZSIgJiYgY29udGludWUKICAg
IGFtX19xdW90ZT1gc2VkIC1uICdzL15hbV9fcXVvdGUgPSAvL3AnIDwgIiRt
ZiJgCiAgICAjIFdoZW4gdXNpbmcgYW5zaTJrbnIsIFUgbWF5IGJlIGVtcHR5
IG9yIGFuIHVuZGVyc2NvcmU7IGV4cGFuZCBpdAogICAgVT1gc2VkIC1uICdz
L15VID0gLy9wJyA8ICIkbWYiYAogICAgIyBGaW5kIGFsbCBkZXBlbmRlbmN5
IG91dHB1dCBmaWxlcywgdGhleSBhcmUgaW5jbHVkZWQgZmlsZXMgd2l0aAog
ICAgIyAkKERFUERJUikgaW4gdGhlaXIgbmFtZXMuICBXZSBpbnZva2Ugc2Vk
IHR3aWNlIGJlY2F1c2UgaXQgaXMgdGhlCiAgICAjIHNpbXBsZXN0IGFwcHJv
YWNoIHRvIGNoYW5naW5nICQoREVQRElSKSB0byBpdHMgYWN0dWFsIHZhbHVl
IGluIHRoZQogICAgIyBleHBhbnNpb24uCiAgICBmb3IgZmlsZSBpbiBgc2Vk
IC1uICIKICAgICAgcy9eJGFtX19pbmNsdWRlICRhbV9fcXVvdGVcKC4qKERF
UERJUikuKlwpJGFtX19xdW90ZSInJC9cMS9wJyA8IiRtZiIgfCBcCgkgc2Vk
IC1lICdzL1wkKERFUERJUikvJyIkREVQRElSIicvZycgLWUgJ3MvXCRVLyci
JFUiJy9nJ2A7IGRvCiAgICAgICMgTWFrZSBzdXJlIHRoZSBkaXJlY3Rvcnkg
ZXhpc3RzLgogICAgICB0ZXN0IC1mICIkZGlycGFydC8kZmlsZSIgJiYgY29u
dGludWUKICAgICAgZmRpcj1gJGFzX2Rpcm5hbWUgLS0gIiRmaWxlIiB8fAok
YXNfZXhwciBYIiRmaWxlIiA6ICdYXCguKlteL11cKS8vKlteL11bXi9dKi8q
JCcgXHwgXAoJIFgiJGZpbGUiIDogJ1hcKC8vXClbXi9dJyBcfCBcCgkgWCIk
ZmlsZSIgOiAnWFwoLy9cKSQnIFx8IFwKCSBYIiRmaWxlIiA6ICdYXCgvXCkn
IFx8IC4gMj4vZGV2L251bGwgfHwKJGFzX2VjaG8gWCIkZmlsZSIgfAogICAg
c2VkICcvXlhcKC4qW14vXVwpXC9cLypbXi9dW14vXSpcLyokL3sKCSAgICBz
Ly9cMS8KCSAgICBxCgkgIH0KCSAgL15YXChcL1wvXClbXi9dLiovewoJICAg
IHMvL1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXC9cKSQvewoJICAgIHMv
L1wxLwoJICAgIHEKCSAgfQoJICAvXlhcKFwvXCkuKi97CgkgICAgcy8vXDEv
CgkgICAgcQoJICB9CgkgIHMvLiovLi87IHEnYAogICAgICBhc19kaXI9JGRp
cnBhcnQvJGZkaXI7IGFzX2ZuX21rZGlyX3AKICAgICAgIyBlY2hvICJjcmVh
dGluZyAkZGlycGFydC8kZmlsZSIKICAgICAgZWNobyAnIyBkdW1teScgPiAi
JGRpcnBhcnQvJGZpbGUiCiAgICBkb25lCiAgZG9uZQp9CiA7OwogICAgImxp
YnRvb2wiOkMpCgogICAgIyBTZWUgaWYgd2UgYXJlIHJ1bm5pbmcgb24genNo
LCBhbmQgc2V0IHRoZSBvcHRpb25zIHdoaWNoIGFsbG93IG91cgogICAgIyBj
b21tYW5kcyB0aHJvdWdoIHdpdGhvdXQgcmVtb3ZhbCBvZiBcIGVzY2FwZXMu
CiAgICBpZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iIDsgdGhlbgog
ICAgICBzZXRvcHQgTk9fR0xPQl9TVUJTVAogICAgZmkKCiAgICBjZmdmaWxl
PSIke29maWxlfVQiCiAgICB0cmFwICIkUk0gXCIkY2ZnZmlsZVwiOyBleGl0
IDEiIDEgMiAxNQogICAgJFJNICIkY2ZnZmlsZSIKCiAgICBjYXQgPDxfTFRf
RU9GID4+ICIkY2ZnZmlsZSIKIyEgJFNIRUxMCgojIGAkRUNITyAiJG9maWxl
IiB8IHNlZCAncyVeLiovJSUnYCAtIFByb3ZpZGUgZ2VuZXJhbGl6ZWQgbGli
cmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZpY2VzLgojIEdlbmVyYXRlZCBh
dXRvbWF0aWNhbGx5IGJ5ICRhc19tZSAoJFBBQ0tBR0UkVElNRVNUQU1QKSAk
VkVSU0lPTgojIExpYnRvb2wgd2FzIGNvbmZpZ3VyZWQgb24gaG9zdCBgKGhv
c3RuYW1lIHx8IHVuYW1lIC1uKSAyPi9kZXYvbnVsbCB8IHNlZCAxcWA6CiMg
Tk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6
IGxvb2sgYXQgbHRtYWluLnNoLgojCiMgICBDb3B5cmlnaHQgKEMpIDE5OTYs
IDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIw
MDUsCiMgICAgICAgICAgICAgICAgIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTAsIDIwMTEgRnJlZSBTb2Z0d2FyZQojICAgICAgICAgICAgICAgICBG
b3VuZGF0aW9uLCBJbmMuCiMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdr
ZWl0LCAxOTk2CiMKIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0
b29sLgojCiMgR05VIExpYnRvb2wgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMK
IyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyIHZlcnNpb24gMiBvZgojIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgQXMgYSBzcGVjaWFs
IGV4Y2VwdGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Us
CiMgaWYgeW91IGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBw
cm9ncmFtIG9yIGxpYnJhcnkgdGhhdAojIGlzIGJ1aWx0IHVzaW5nIEdOVSBM
aWJ0b29sLCB5b3UgbWF5IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQoj
IHNhbWUgZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhl
IHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgojCiMgR05VIExpYnRvb2wgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIEdOVSBMaWJ0b29s
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgYSBjb3B5CiMgY2Fu
IGJlIGRvd25sb2FkZWQgZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z
ZXMvZ3BsLmh0bWwsIG9yCiMgb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAojIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgoKCiMgVGhlIG5hbWVzIG9mIHRoZSB0YWdnZWQgY29uZmlndXJhdGlv
bnMgc3VwcG9ydGVkIGJ5IHRoaXMgc2NyaXB0LgphdmFpbGFibGVfdGFncz0i
Q1hYIEY3NyBGQyBHTyBHQ0ogUkMgIgoKIyAjIyMgQkVHSU4gTElCVE9PTCBD
T05GSUcKCiMgV2hpY2ggcmVsZWFzZSBvZiBsaWJ0b29sLm00IHdhcyB1c2Vk
PwptYWNyb192ZXJzaW9uPSRtYWNyb192ZXJzaW9uCm1hY3JvX3JldmlzaW9u
PSRtYWNyb19yZXZpc2lvbgoKIyBBc3NlbWJsZXIgcHJvZ3JhbS4KQVM9JGx0
X0FTCgojIERMTCBjcmVhdGlvbiBwcm9ncmFtLgpETExUT09MPSRsdF9ETExU
T09MCgojIE9iamVjdCBkdW1wZXIgcHJvZ3JhbS4KT0JKRFVNUD0kbHRfT0JK
RFVNUAoKIyBXaGV0aGVyIG9yIG5vdCB0byBidWlsZCBzaGFyZWQgbGlicmFy
aWVzLgpidWlsZF9saWJ0b29sX2xpYnM9JGVuYWJsZV9zaGFyZWQKCiMgV2hl
dGhlciBvciBub3QgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmllcy4KYnVpbGRf
b2xkX2xpYnM9JGVuYWJsZV9zdGF0aWMKCiMgV2hhdCB0eXBlIG9mIG9iamVj
dHMgdG8gYnVpbGQuCnBpY19tb2RlPSRwaWNfbW9kZQoKIyBXaGV0aGVyIG9y
IG5vdCB0byBvcHRpbWl6ZSBmb3IgZmFzdCBpbnN0YWxsYXRpb24uCmZhc3Rf
aW5zdGFsbD0kZW5hYmxlX2Zhc3RfaW5zdGFsbAoKIyBTaGVsbCB0byB1c2Ug
d2hlbiBpbnZva2luZyBzaGVsbCBzY3JpcHRzLgpTSEVMTD0kbHRfU0hFTEwK
CiMgQW4gZWNobyBwcm9ncmFtIHRoYXQgcHJvdGVjdHMgYmFja3NsYXNoZXMu
CkVDSE89JGx0X0VDSE8KCiMgVGhlIFBBVEggc2VwYXJhdG9yIGZvciB0aGUg
YnVpbGQgc3lzdGVtLgpQQVRIX1NFUEFSQVRPUj0kbHRfUEFUSF9TRVBBUkFU
T1IKCiMgVGhlIGhvc3Qgc3lzdGVtLgpob3N0X2FsaWFzPSRob3N0X2FsaWFz
Cmhvc3Q9JGhvc3QKaG9zdF9vcz0kaG9zdF9vcwoKIyBUaGUgYnVpbGQgc3lz
dGVtLgpidWlsZF9hbGlhcz0kYnVpbGRfYWxpYXMKYnVpbGQ9JGJ1aWxkCmJ1
aWxkX29zPSRidWlsZF9vcwoKIyBBIHNlZCBwcm9ncmFtIHRoYXQgZG9lcyBu
b3QgdHJ1bmNhdGUgb3V0cHV0LgpTRUQ9JGx0X1NFRAoKIyBTZWQgdGhhdCBo
ZWxwcyB1cyBhdm9pZCBhY2NpZGVudGFsbHkgdHJpZ2dlcmluZyBlY2hvKDEp
IG9wdGlvbnMgbGlrZSAtbi4KWHNlZD0iXCRTRUQgLWUgMXMvXlgvLyIKCiMg
QSBncmVwIHByb2dyYW0gdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMuCkdSRVA9
JGx0X0dSRVAKCiMgQW4gRVJFIG1hdGNoZXIuCkVHUkVQPSRsdF9FR1JFUAoK
IyBBIGxpdGVyYWwgc3RyaW5nIG1hdGNoZXIuCkZHUkVQPSRsdF9GR1JFUAoK
IyBBIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3Rlci4KTk09JGx0
X05NCgojIFdoZXRoZXIgd2UgbmVlZCBzb2Z0IG9yIGhhcmQgbGlua3MuCkxO
X1M9JGx0X0xOX1MKCiMgV2hhdCBpcyB0aGUgbWF4aW11bSBsZW5ndGggb2Yg
YSBjb21tYW5kPwptYXhfY21kX2xlbj0kbWF4X2NtZF9sZW4KCiMgT2JqZWN0
IGZpbGUgc3VmZml4IChub3JtYWxseSAibyIpLgpvYmpleHQ9JGFjX29iamV4
dAoKIyBFeGVjdXRhYmxlIGZpbGUgc3VmZml4IChub3JtYWxseSAiIikuCmV4
ZWV4dD0kZXhlZXh0CgojIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRz
ICJ1bnNldCIuCmx0X3Vuc2V0PSRsdF91bnNldAoKIyB0dXJuIHNwYWNlcyBp
bnRvIG5ld2xpbmVzLgpTUDJOTD0kbHRfbHRfU1AyTkwKCiMgdHVybiBuZXds
aW5lcyBpbnRvIHNwYWNlcy4KTkwyU1A9JGx0X2x0X05MMlNQCgojIGNvbnZl
cnQgXCRidWlsZCBmaWxlIG5hbWVzIHRvIFwkaG9zdCBmb3JtYXQuCnRvX2hv
c3RfZmlsZV9jbWQ9JGx0X2N2X3RvX2hvc3RfZmlsZV9jbWQKCiMgY29udmVy
dCBcJGJ1aWxkIGZpbGVzIHRvIHRvb2xjaGFpbiBmb3JtYXQuCnRvX3Rvb2xf
ZmlsZV9jbWQ9JGx0X2N2X3RvX3Rvb2xfZmlsZV9jbWQKCiMgTWV0aG9kIHRv
IGNoZWNrIHdoZXRoZXIgZGVwZW5kZW50IGxpYnJhcmllcyBhcmUgc2hhcmVk
IG9iamVjdHMuCmRlcGxpYnNfY2hlY2tfbWV0aG9kPSRsdF9kZXBsaWJzX2No
ZWNrX21ldGhvZAoKIyBDb21tYW5kIHRvIHVzZSB3aGVuIGRlcGxpYnNfY2hl
Y2tfbWV0aG9kID0gImZpbGVfbWFnaWMiLgpmaWxlX21hZ2ljX2NtZD0kbHRf
ZmlsZV9tYWdpY19jbWQKCiMgSG93IHRvIGZpbmQgcG90ZW50aWFsIGZpbGVz
IHdoZW4gZGVwbGlic19jaGVja19tZXRob2QgPSAiZmlsZV9tYWdpYyIuCmZp
bGVfbWFnaWNfZ2xvYj0kbHRfZmlsZV9tYWdpY19nbG9iCgojIEZpbmQgcG90
ZW50aWFsIGZpbGVzIHVzaW5nIG5vY2FzZWdsb2Igd2hlbiBkZXBsaWJzX2No
ZWNrX21ldGhvZCA9ICJmaWxlX21hZ2ljIi4Kd2FudF9ub2Nhc2VnbG9iPSRs
dF93YW50X25vY2FzZWdsb2IKCiMgQ29tbWFuZCB0byBhc3NvY2lhdGUgc2hh
cmVkIGFuZCBsaW5rIGxpYnJhcmllcy4Kc2hhcmVkbGliX2Zyb21fbGlua2xp
Yl9jbWQ9JGx0X3NoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kCgojIFRoZSBh
cmNoaXZlci4KQVI9JGx0X0FSCgojIEZsYWdzIHRvIGNyZWF0ZSBhbiBhcmNo
aXZlLgpBUl9GTEFHUz0kbHRfQVJfRkxBR1MKCiMgSG93IHRvIGZlZWQgYSBm
aWxlIGxpc3RpbmcgdG8gdGhlIGFyY2hpdmVyLgphcmNoaXZlcl9saXN0X3Nw
ZWM9JGx0X2FyY2hpdmVyX2xpc3Rfc3BlYwoKIyBBIHN5bWJvbCBzdHJpcHBp
bmcgcHJvZ3JhbS4KU1RSSVA9JGx0X1NUUklQCgojIENvbW1hbmRzIHVzZWQg
dG8gaW5zdGFsbCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4KUkFOTElCPSRsdF9S
QU5MSUIKb2xkX3Bvc3RpbnN0YWxsX2NtZHM9JGx0X29sZF9wb3N0aW5zdGFs
bF9jbWRzCm9sZF9wb3N0dW5pbnN0YWxsX2NtZHM9JGx0X29sZF9wb3N0dW5p
bnN0YWxsX2NtZHMKCiMgV2hldGhlciB0byB1c2UgYSBsb2NrIGZvciBvbGQg
YXJjaGl2ZSBleHRyYWN0aW9uLgpsb2NrX29sZF9hcmNoaXZlX2V4dHJhY3Rp
b249JGxvY2tfb2xkX2FyY2hpdmVfZXh0cmFjdGlvbgoKIyBBIEMgY29tcGls
ZXIuCkxUQ0M9JGx0X0NDCgojIExUQ0MgY29tcGlsZXIgZmxhZ3MuCkxUQ0ZM
QUdTPSRsdF9DRkxBR1MKCiMgVGFrZSB0aGUgb3V0cHV0IG9mIG5tIGFuZCBw
cm9kdWNlIGEgbGlzdGluZyBvZiByYXcgc3ltYm9scyBhbmQgQyBuYW1lcy4K
Z2xvYmFsX3N5bWJvbF9waXBlPSRsdF9sdF9jdl9zeXNfZ2xvYmFsX3N5bWJv
bF9waXBlCgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgcHJv
cGVyIEMgZGVjbGFyYXRpb24uCmdsb2JhbF9zeW1ib2xfdG9fY2RlY2w9JGx0
X2x0X2N2X3N5c19nbG9iYWxfc3ltYm9sX3RvX2NkZWNsCgojIFRyYW5zZm9y
bSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3MgcGFpci4K
Z2xvYmFsX3N5bWJvbF90b19jX25hbWVfYWRkcmVzcz0kbHRfbHRfY3Zfc3lz
X2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3MKCiMgVHJhbnNmb3Jt
IHRoZSBvdXRwdXQgb2Ygbm0gaW4gYSBDIG5hbWUgYWRkcmVzcyBwYWlyIHdo
ZW4gbGliIHByZWZpeCBpcyBuZWVkZWQuCmdsb2JhbF9zeW1ib2xfdG9fY19u
YW1lX2FkZHJlc3NfbGliX3ByZWZpeD0kbHRfbHRfY3Zfc3lzX2dsb2JhbF9z
eW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGliX3ByZWZpeAoKIyBTcGVjaWZ5
IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMgZm9yIFwkTk0uCm5t
X2ZpbGVfbGlzdF9zcGVjPSRsdF9ubV9maWxlX2xpc3Rfc3BlYwoKIyBUaGUg
cm9vdCB3aGVyZSB0byBzZWFyY2ggZm9yIGRlcGVuZGVudCBsaWJyYXJpZXMs
YW5kIGluIHdoaWNoIG91ciBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxl
ZC4KbHRfc3lzcm9vdD0kbHRfc3lzcm9vdAoKIyBUaGUgbmFtZSBvZiB0aGUg
ZGlyZWN0b3J5IHRoYXQgY29udGFpbnMgdGVtcG9yYXJ5IGxpYnRvb2wgZmls
ZXMuCm9iamRpcj0kb2JqZGlyCgojIFVzZWQgdG8gZXhhbWluZSBsaWJyYXJp
ZXMgd2hlbiBmaWxlX21hZ2ljX2NtZCBiZWdpbnMgd2l0aCAiZmlsZSIuCk1B
R0lDX0NNRD0kTUFHSUNfQ01ECgojIE11c3Qgd2UgbG9jayBmaWxlcyB3aGVu
IGRvaW5nIGNvbXBpbGF0aW9uPwpuZWVkX2xvY2tzPSRsdF9uZWVkX2xvY2tz
CgojIE1hbmlmZXN0IHRvb2wuCk1BTklGRVNUX1RPT0w9JGx0X01BTklGRVNU
X1RPT0wKCiMgVG9vbCB0byBtYW5pcHVsYXRlIGFyY2hpdmVkIERXQVJGIGRl
YnVnIHN5bWJvbCBmaWxlcyBvbiBNYWMgT1MgWC4KRFNZTVVUSUw9JGx0X0RT
WU1VVElMCgojIFRvb2wgdG8gY2hhbmdlIGdsb2JhbCB0byBsb2NhbCBzeW1i
b2xzIG9uIE1hYyBPUyBYLgpOTUVESVQ9JGx0X05NRURJVAoKIyBUb29sIHRv
IG1hbmlwdWxhdGUgZmF0IG9iamVjdHMgYW5kIGFyY2hpdmVzIG9uIE1hYyBP
UyBYLgpMSVBPPSRsdF9MSVBPCgojIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBm
b3IgTWFjaC1PIGJpbmFyaWVzIG9uIE1hYyBPUyBYLgpPVE9PTD0kbHRfT1RP
T0wKCiMgbGRkL3JlYWRlbGYgbGlrZSB0b29sIGZvciA2NCBiaXQgTWFjaC1P
IGJpbmFyaWVzIG9uIE1hYyBPUyBYIDEwLjQuCk9UT09MNjQ9JGx0X09UT09M
NjQKCiMgT2xkIGFyY2hpdmUgc3VmZml4IChub3JtYWxseSAiYSIpLgpsaWJl
eHQ9JGxpYmV4dAoKIyBTaGFyZWQgbGlicmFyeSBzdWZmaXggKG5vcm1hbGx5
ICIuc28iKS4Kc2hyZXh0X2NtZHM9JGx0X3NocmV4dF9jbWRzCgojIFRoZSBj
b21tYW5kcyB0byBleHRyYWN0IHRoZSBleHBvcnRlZCBzeW1ib2wgbGlzdCBm
cm9tIGEgc2hhcmVkIGFyY2hpdmUuCmV4dHJhY3RfZXhwc3ltc19jbWRzPSRs
dF9leHRyYWN0X2V4cHN5bXNfY21kcwoKIyBWYXJpYWJsZXMgd2hvc2UgdmFs
dWVzIHNob3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0
cyBhbmQKIyByZXN0b3JlZCBhdCBsaW5rIHRpbWUuCnZhcmlhYmxlc19zYXZl
ZF9mb3JfcmVsaW5rPSRsdF92YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluawoK
IyBEbyB3ZSBuZWVkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVsZXM/Cm5l
ZWRfbGliX3ByZWZpeD0kbmVlZF9saWJfcHJlZml4CgojIERvIHdlIG5lZWQg
YSB2ZXJzaW9uIGZvciBsaWJyYXJpZXM/Cm5lZWRfdmVyc2lvbj0kbmVlZF92
ZXJzaW9uCgojIExpYnJhcnkgdmVyc2lvbmluZyB0eXBlLgp2ZXJzaW9uX3R5
cGU9JHZlcnNpb25fdHlwZQoKIyBTaGFyZWQgbGlicmFyeSBydW50aW1lIHBh
dGggdmFyaWFibGUuCnJ1bnBhdGhfdmFyPSRydW5wYXRoX3ZhcgoKIyBTaGFy
ZWQgbGlicmFyeSBwYXRoIHZhcmlhYmxlLgpzaGxpYnBhdGhfdmFyPSRzaGxp
YnBhdGhfdmFyCgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhl
IGhhcmQtY29kZWQgbGlicmFyeSBzZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292
ZXJyaWRlc19ydW5wYXRoPSRzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBhdGgK
CiMgRm9ybWF0IG9mIGxpYnJhcnkgbmFtZSBwcmVmaXguCmxpYm5hbWVfc3Bl
Yz0kbHRfbGlibmFtZV9zcGVjCgojIExpc3Qgb2YgYXJjaGl2ZSBuYW1lcy4g
IEZpcnN0IG5hbWUgaXMgdGhlIHJlYWwgb25lLCB0aGUgcmVzdCBhcmUgbGlu
a3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0aGUgb25lIHRoYXQgdGhlIGxpbmtl
ciBmaW5kcyB3aXRoIC1sTkFNRQpsaWJyYXJ5X25hbWVzX3NwZWM9JGx0X2xp
YnJhcnlfbmFtZXNfc3BlYwoKIyBUaGUgY29kZWQgbmFtZSBvZiB0aGUgbGli
cmFyeSwgaWYgZGlmZmVyZW50IGZyb20gdGhlIHJlYWwgbmFtZS4Kc29uYW1l
X3NwZWM9JGx0X3NvbmFtZV9zcGVjCgojIFBlcm1pc3Npb24gbW9kZSBvdmVy
cmlkZSBmb3IgaW5zdGFsbGF0aW9uIG9mIHNoYXJlZCBsaWJyYXJpZXMuCmlu
c3RhbGxfb3ZlcnJpZGVfbW9kZT0kbHRfaW5zdGFsbF9vdmVycmlkZV9tb2Rl
CgojIENvbW1hbmQgdG8gdXNlIGFmdGVyIGluc3RhbGxhdGlvbiBvZiBhIHNo
YXJlZCBhcmNoaXZlLgpwb3N0aW5zdGFsbF9jbWRzPSRsdF9wb3N0aW5zdGFs
bF9jbWRzCgojIENvbW1hbmQgdG8gdXNlIGFmdGVyIHVuaW5zdGFsbGF0aW9u
IG9mIGEgc2hhcmVkIGFyY2hpdmUuCnBvc3R1bmluc3RhbGxfY21kcz0kbHRf
cG9zdHVuaW5zdGFsbF9jbWRzCgojIENvbW1hbmRzIHVzZWQgdG8gZmluaXNo
IGEgbGlidG9vbCBsaWJyYXJ5IGluc3RhbGxhdGlvbiBpbiBhIGRpcmVjdG9y
eS4KZmluaXNoX2NtZHM9JGx0X2ZpbmlzaF9jbWRzCgojIEFzICJmaW5pc2hf
Y21kcyIsIGV4Y2VwdCBhIHNpbmdsZSBzY3JpcHQgZnJhZ21lbnQgdG8gYmUg
ZXZhbGVkIGJ1dAojIG5vdCBzaG93bi4KZmluaXNoX2V2YWw9JGx0X2Zpbmlz
aF9ldmFsCgojIFdoZXRoZXIgd2Ugc2hvdWxkIGhhcmRjb2RlIGxpYnJhcnkg
cGF0aHMgaW50byBsaWJyYXJpZXMuCmhhcmRjb2RlX2ludG9fbGlicz0kaGFy
ZGNvZGVfaW50b19saWJzCgojIENvbXBpbGUtdGltZSBzeXN0ZW0gc2VhcmNo
IHBhdGggZm9yIGxpYnJhcmllcy4Kc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVj
PSRsdF9zeXNfbGliX3NlYXJjaF9wYXRoX3NwZWMKCiMgUnVuLXRpbWUgc3lz
dGVtIHNlYXJjaCBwYXRoIGZvciBsaWJyYXJpZXMuCnN5c19saWJfZGxzZWFy
Y2hfcGF0aF9zcGVjPSRsdF9zeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYwoK
IyBXaGV0aGVyIGRsb3BlbiBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zdXBwb3J0
PSRlbmFibGVfZGxvcGVuCgojIFdoZXRoZXIgZGxvcGVuIG9mIHByb2dyYW1z
IGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGY9JGVuYWJsZV9kbG9wZW5fc2Vs
ZgoKIyBXaGV0aGVyIGRsb3BlbiBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9n
cmFtcyBpcyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxmX3N0YXRpYz0kZW5hYmxl
X2Rsb3Blbl9zZWxmX3N0YXRpYwoKIyBDb21tYW5kcyB0byBzdHJpcCBsaWJy
YXJpZXMuCm9sZF9zdHJpcGxpYj0kbHRfb2xkX3N0cmlwbGliCnN0cmlwbGli
PSRsdF9zdHJpcGxpYgoKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxp
YnJhcmllcy4KTEQ9JGx0X0xECgojIEhvdyB0byBjcmVhdGUgcmVsb2FkYWJs
ZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxhZwpy
ZWxvYWRfY21kcz0kbHRfcmVsb2FkX2NtZHMKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21k
cz0kbHRfb2xkX2FyY2hpdmVfY21kcwoKIyBBIGxhbmd1YWdlIHNwZWNpZmlj
IGNvbXBpbGVyLgpDQz0kbHRfY29tcGlsZXIKCiMgSXMgdGhlIGNvbXBpbGVy
IHRoZSBHTlUgY29tcGlsZXI/CndpdGhfZ2NjPSRHQ0MKCiMgQ29tcGlsZXIg
ZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4Kbm9fYnVpbHRp
bl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1aWx0aW5fZmxhZwoK
IyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJy
YXJ5IG9iamVjdHMuCnBpY19mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3Bp
YwoKIyBIb3cgdG8gcGFzcyBhIGxpbmtlciBmbGFnIHRocm91Z2ggdGhlIGNv
bXBpbGVyLgp3bD0kbHRfbHRfcHJvZ19jb21waWxlcl93bAoKIyBDb21waWxl
ciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgpsaW5rX3N0YXRp
Y19mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3N0YXRpYwoKIyBEb2VzIGNv
bXBpbGVyIHNpbXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlv
bnM/CmNvbXBpbGVyX2Nfbz0kbHRfbHRfY3ZfcHJvZ19jb21waWxlcl9jX28K
CiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcgc2hh
cmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVkX2xjPSRhcmNoaXZl
X2NtZHNfbmVlZF9sYwoKIyBXaGV0aGVyIG9yIG5vdCB0byBkaXNhbGxvdyBz
aGFyZWQgbGlicyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljLgphbGxv
d19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9JGVuYWJsZV9z
aGFyZWRfd2l0aF9zdGF0aWNfcnVudGltZXMKCiMgQ29tcGlsZXIgZmxhZyB0
byBhbGxvdyByZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxh
Z19zcGVjPSRsdF9leHBvcnRfZHluYW1pY19mbGFnX3NwZWMKCiMgQ29tcGls
ZXIgZmxhZyB0byBnZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBm
cm9tIGFyY2hpdmVzLgp3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0kbHRfd2hv
bGVfYXJjaGl2ZV9mbGFnX3NwZWMKCiMgV2hldGhlciB0aGUgY29tcGlsZXIg
Y29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBp
bGVyX25lZWRzX29iamVjdD0kbHRfY29tcGlsZXJfbmVlZHNfb2JqZWN0Cgoj
IENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFy
Y2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9JGx0X29sZF9hcmNo
aXZlX2Zyb21fbmV3X2NtZHMKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1z
dHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0kbHRfb2xkX2Fy
Y2hpdmVfZnJvbV9leHBzeW1zX2NtZHMKCiMgQ29tbWFuZHMgdXNlZCB0byBi
dWlsZCBhIHNoYXJlZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9JGx0X2FyY2hp
dmVfY21kcwphcmNoaXZlX2V4cHN5bV9jbWRzPSRsdF9hcmNoaXZlX2V4cHN5
bV9jbWRzCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBsb2FkYWJsZSBt
b2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBhIHNoYXJlZCBh
cmNoaXZlLgptb2R1bGVfY21kcz0kbHRfbW9kdWxlX2NtZHMKbW9kdWxlX2V4
cHN5bV9jbWRzPSRsdF9tb2R1bGVfZXhwc3ltX2NtZHMKCiMgV2hldGhlciB3
ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9s
ZD0kbHRfd2l0aF9nbnVfbGQKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQg
bGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQu
CmFsbG93X3VuZGVmaW5lZF9mbGFnPSRsdF9hbGxvd191bmRlZmluZWRfZmxh
ZwoKIyBGbGFnIHRoYXQgZW5mb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMu
Cm5vX3VuZGVmaW5lZF9mbGFnPSRsdF9ub191bmRlZmluZWRfZmxhZwoKIyBG
bGFnIHRvIGhhcmRjb2RlIFwkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5n
IGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiBcJGxpYmRpciBk
b2VzIG5vdCBleGlzdApoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSRsdF9o
YXJkY29kZV9saWJkaXJfZmxhZ19zcGVjCgojIFdoZXRoZXIgd2UgbmVlZCBh
IHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJndW1l
bnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9JGx0X2hhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9s
aWJOQU1FXCR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVz
CiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2Rp
cmVjdD0kaGFyZGNvZGVfZGlyZWN0CgojIFNldCB0byAieWVzIiBpZiB1c2lu
ZyBESVIvbGliTkFNRVwke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhh
cmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0
aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNvbHV0
ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgXCR7c2hs
aWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGlicmFyeSBpcyByZWxvY2F0ZWQuCmhh
cmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT0kaGFyZGNvZGVfZGlyZWN0X2Fic29s
dXRlCgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0
aW5nIGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD0kaGFyZGNvZGVfbWludXNf
TAoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIg
ZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3Vs
dGluZyBiaW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9JGhhcmRjb2Rl
X3NobGlicGF0aF92YXIKCiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEg
c2hhcmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMg
aW50byB0aGUgbGlicmFyeSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVz
IGFuZCBleGVjdXRhYmxlcyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29k
ZV9hdXRvbWF0aWM9JGhhcmRjb2RlX2F1dG9tYXRpYwoKIyBTZXQgdG8geWVz
IGlmIGxpbmtlciBhZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxp
YnJhcmllcwojIHRvIHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRo
PSRpbmhlcml0X3JwYXRoCgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsg
YSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmll
cy4KbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlicwoKIyBTZXQg
dG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFs
d2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzCgoj
IFRoZSBjb21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9y
dF9zeW1ib2xzX2NtZHM9JGx0X2V4cG9ydF9zeW1ib2xzX2NtZHMKCiMgU3lt
Ym9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRoZSBwcmVsb2Fk
ZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSRsdF9leGNsdWRlX2V4cHN5
bXMKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgpp
bmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltcwoKIyBDb21tYW5k
cyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGli
cmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJlbGlua19jbWRzPSRsdF9wcmVs
aW5rX2NtZHMKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBmaW5pc2hpbmcg
bGlua2luZyBwcm9ncmFtcy4KcG9zdGxpbmtfY21kcz0kbHRfcG9zdGxpbmtf
Y21kcwoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmls
ZXMuCmZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlYwoKIyBIb3cg
dG8gaGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhl
Y3V0YWJsZS4KaGFyZGNvZGVfYWN0aW9uPSRoYXJkY29kZV9hY3Rpb24KCiMg
VGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hl
biBjcmVhdGluZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2Vh
cmNoX2RpcnM9JGx0X2NvbXBpbGVyX2xpYl9zZWFyY2hfZGlycwoKIyBEZXBl
bmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUgb2JqZWN0
cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4K
cHJlZGVwX29iamVjdHM9JGx0X3ByZWRlcF9vYmplY3RzCnBvc3RkZXBfb2Jq
ZWN0cz0kbHRfcG9zdGRlcF9vYmplY3RzCnByZWRlcHM9JGx0X3ByZWRlcHMK
cG9zdGRlcHM9JGx0X3Bvc3RkZXBzCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBw
YXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5r
aW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9w
YXRoPSRsdF9jb21waWxlcl9saWJfc2VhcmNoX3BhdGgKCiMgIyMjIEVORCBM
SUJUT09MIENPTkZJRwoKX0xUX0VPRgoKICBjYXNlICRob3N0X29zIGluCiAg
YWl4MyopCiAgICBjYXQgPDxcX0xUX0VPRiA+PiAiJGNmZ2ZpbGUiCiMgQUlY
IHNvbWV0aW1lcyBoYXMgcHJvYmxlbXMgd2l0aCB0aGUgR0NDIGNvbGxlY3Qy
IHByb2dyYW0uICBGb3Igc29tZQojIHJlYXNvbiwgaWYgd2Ugc2V0IHRoZSBD
T0xMRUNUX05BTUVTIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgcHJvYmxl
bXMKIyB2YW5pc2ggaW4gYSBwdWZmIG9mIHNtb2tlLgppZiB0ZXN0ICJYJHtD
T0xMRUNUX05BTUVTK3NldH0iICE9IFhzZXQ7IHRoZW4KICBDT0xMRUNUX05B
TUVTPQogIGV4cG9ydCBDT0xMRUNUX05BTUVTCmZpCl9MVF9FT0YKICAgIDs7
CiAgZXNhYwoKCmx0bWFpbj0iJGFjX2F1eF9kaXIvbHRtYWluLnNoIgoKCiAg
IyBXZSB1c2Ugc2VkIGluc3RlYWQgb2YgY2F0IGJlY2F1c2UgYmFzaCBvbiBE
SkdQUCBnZXRzIGNvbmZ1c2VkIGlmCiAgIyBpZiBmaW5kcyBtaXhlZCBDUi9M
RiBhbmQgTEYtb25seSBsaW5lcy4gIFNpbmNlIHNlZCBvcGVyYXRlcyBpbgog
ICMgdGV4dCBtb2RlLCBpdCBwcm9wZXJseSBjb252ZXJ0cyBsaW5lcyB0byBD
Ui9MRi4gIFRoaXMgYmFzaCBwcm9ibGVtCiAgIyBpcyByZXBvcnRlZGx5IGZp
eGVkLCBidXQgd2h5IG5vdCBydW4gb24gb2xkIHZlcnNpb25zIHRvbz8KICBz
ZWQgJyRxJyAiJGx0bWFpbiIgPj4gIiRjZmdmaWxlIiBcCiAgICAgfHwgKHJt
IC1mICIkY2ZnZmlsZSI7IGV4aXQgMSkKCiAgaWYgdGVzdCB4IiR4c2lfc2hl
bGwiID0geHllczsgdGhlbgogIHNlZCAtZSAnL15mdW5jX2Rpcm5hbWUgKCkk
LywvXn0gIyBmdW5jX2Rpcm5hbWUgL2NcCmZ1bmNfZGlybmFtZSAoKVwKe1wK
XCAgICBjYXNlICR7MX0gaW5cClwgICAgICAqLyopIGZ1bmNfZGlybmFtZV9y
ZXN1bHQ9IiR7MSUvKn0kezJ9IiA7O1wKXCAgICAgICogICkgZnVuY19kaXJu
YW1lX3Jlc3VsdD0iJHszfSIgOztcClwgICAgZXNhY1wKfSAjIEV4dGVuZGVk
LXNoZWxsIGZ1bmNfZGlybmFtZSBpbXBsZW1lbnRhdGlvbicgIiRjZmdmaWxl
IiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRtcCIg
IiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBjcCAi
JGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZS50
bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNlX2Zh
aWw9OgoKCiAgc2VkIC1lICcvXmZ1bmNfYmFzZW5hbWUgKCkkLywvXn0gIyBm
dW5jX2Jhc2VuYW1lIC9jXApmdW5jX2Jhc2VuYW1lICgpXAp7XApcICAgIGZ1
bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEjIyovfSJcCn0gIyBFeHRlbmRlZC1z
aGVsbCBmdW5jX2Jhc2VuYW1lIGltcGxlbWVudGF0aW9uJyAiJGNmZ2ZpbGUi
ID4gJGNmZ2ZpbGUudG1wIFwKICAmJiBtdiAtZiAiJGNmZ2ZpbGUudG1wIiAi
JGNmZ2ZpbGUiIFwKICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiICYmIGNwICIk
Y2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlLnRt
cCIpCnRlc3QgMCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3JlcGxhY2VfZmFp
bD06CgoKICBzZWQgLWUgJy9eZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAo
KSQvLC9efSAjIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgL2NcCmZ1bmNf
ZGlybmFtZV9hbmRfYmFzZW5hbWUgKClcCntcClwgICAgY2FzZSAkezF9IGlu
XApcICAgICAgKi8qKSBmdW5jX2Rpcm5hbWVfcmVzdWx0PSIkezElLyp9JHsy
fSIgOztcClwgICAgICAqICApIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30i
IDs7XApcICAgIGVzYWNcClwgICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9IiR7
MSMjKi99IlwKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfZGlybmFtZV9hbmRf
YmFzZW5hbWUgaW1wbGVtZW50YXRpb24nICIkY2ZnZmlsZSIgPiAkY2ZnZmls
ZS50bXAgXAogICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIg
XAogICAgfHwgKHJtIC1mICIkY2ZnZmlsZSIgJiYgY3AgIiRjZmdmaWxlLnRt
cCIgIiRjZmdmaWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUudG1wIikKdGVzdCAw
IC1lcSAkPyB8fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKCgogIHNl
ZCAtZSAnL15mdW5jX3N0cmlwbmFtZSAoKSQvLC9efSAjIGZ1bmNfc3RyaXBu
YW1lIC9jXApmdW5jX3N0cmlwbmFtZSAoKVwKe1wKXCAgICAjIHBka3NoIDUu
Mi4xNCBkb2VzIG5vdCBkbyAke1glJFl9IGNvcnJlY3RseSBpZiBib3RoIFgg
YW5kIFkgYXJlXApcICAgICMgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBzbyBh
c3NpZ24gb25lIHRvIG9yZGluYXJ5IHBhcmFtZXRlciBmaXJzdC5cClwgICAg
ZnVuY19zdHJpcG5hbWVfcmVzdWx0PSR7M31cClwgICAgZnVuY19zdHJpcG5h
bWVfcmVzdWx0PSR7ZnVuY19zdHJpcG5hbWVfcmVzdWx0IyIkezF9In1cClwg
ICAgZnVuY19zdHJpcG5hbWVfcmVzdWx0PSR7ZnVuY19zdHJpcG5hbWVfcmVz
dWx0JSIkezJ9In1cCn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX3N0cmlwbmFt
ZSBpbXBsZW1lbnRhdGlvbicgIiRjZmdmaWxlIiA+ICRjZmdmaWxlLnRtcCBc
CiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRtcCIgIiRjZmdmaWxlIiBcCiAgICB8
fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBjcCAiJGNmZ2ZpbGUudG1wIiAiJGNm
Z2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZS50bXAiKQp0ZXN0IDAgLWVxICQ/
IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNlX2ZhaWw9OgoKCiAgc2VkIC1lICcv
XmZ1bmNfc3BsaXRfbG9uZ19vcHQgKCkkLywvXn0gIyBmdW5jX3NwbGl0X2xv
bmdfb3B0IC9jXApmdW5jX3NwbGl0X2xvbmdfb3B0ICgpXAp7XApcICAgIGZ1
bmNfc3BsaXRfbG9uZ19vcHRfbmFtZT0kezElJT0qfVwKXCAgICBmdW5jX3Nw
bGl0X2xvbmdfb3B0X2FyZz0kezEjKj19XAp9ICMgRXh0ZW5kZWQtc2hlbGwg
ZnVuY19zcGxpdF9sb25nX29wdCBpbXBsZW1lbnRhdGlvbicgIiRjZmdmaWxl
IiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRtcCIg
IiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBjcCAi
JGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZS50
bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNlX2Zh
aWw9OgoKCiAgc2VkIC1lICcvXmZ1bmNfc3BsaXRfc2hvcnRfb3B0ICgpJC8s
L159ICMgZnVuY19zcGxpdF9zaG9ydF9vcHQgL2NcCmZ1bmNfc3BsaXRfc2hv
cnRfb3B0ICgpXAp7XApcICAgIGZ1bmNfc3BsaXRfc2hvcnRfb3B0X2FyZz0k
ezEjPz99XApcICAgIGZ1bmNfc3BsaXRfc2hvcnRfb3B0X25hbWU9JHsxJSIk
ZnVuY19zcGxpdF9zaG9ydF9vcHRfYXJnIn1cCn0gIyBFeHRlbmRlZC1zaGVs
bCBmdW5jX3NwbGl0X3Nob3J0X29wdCBpbXBsZW1lbnRhdGlvbicgIiRjZmdm
aWxlIiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRt
cCIgIiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBj
cCAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmls
ZS50bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNl
X2ZhaWw9OgoKCiAgc2VkIC1lICcvXmZ1bmNfbG8ybyAoKSQvLC9efSAjIGZ1
bmNfbG8ybyAvY1wKZnVuY19sbzJvICgpXAp7XApcICAgIGNhc2UgJHsxfSBp
blwKXCAgICAgICoubG8pIGZ1bmNfbG8yb19yZXN1bHQ9JHsxJS5sb30uJHtv
YmpleHR9IDs7XApcICAgICAgKikgICAgZnVuY19sbzJvX3Jlc3VsdD0kezF9
IDs7XApcICAgIGVzYWNcCn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX2xvMm8g
aW1wbGVtZW50YXRpb24nICIkY2ZnZmlsZSIgPiAkY2ZnZmlsZS50bXAgXAog
ICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgXAogICAgfHwg
KHJtIC1mICIkY2ZnZmlsZSIgJiYgY3AgIiRjZmdmaWxlLnRtcCIgIiRjZmdm
aWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUudG1wIikKdGVzdCAwIC1lcSAkPyB8
fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKCgogIHNlZCAtZSAnL15m
dW5jX3hmb3JtICgpJC8sL159ICMgZnVuY194Zm9ybSAvY1wKZnVuY194Zm9y
bSAoKVwKe1wKICAgIGZ1bmNfeGZvcm1fcmVzdWx0PSR7MSUuKn0ubG9cCn0g
IyBFeHRlbmRlZC1zaGVsbCBmdW5jX3hmb3JtIGltcGxlbWVudGF0aW9uJyAi
JGNmZ2ZpbGUiID4gJGNmZ2ZpbGUudG1wIFwKICAmJiBtdiAtZiAiJGNmZ2Zp
bGUudG1wIiAiJGNmZ2ZpbGUiIFwKICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUi
ICYmIGNwICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgJiYgcm0gLWYgIiRj
ZmdmaWxlLnRtcCIpCnRlc3QgMCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3Jl
cGxhY2VfZmFpbD06CgoKICBzZWQgLWUgJy9eZnVuY19hcml0aCAoKSQvLC9e
fSAjIGZ1bmNfYXJpdGggL2NcCmZ1bmNfYXJpdGggKClcCntcCiAgICBmdW5j
X2FyaXRoX3Jlc3VsdD0kKCggJCogKSlcCn0gIyBFeHRlbmRlZC1zaGVsbCBm
dW5jX2FyaXRoIGltcGxlbWVudGF0aW9uJyAiJGNmZ2ZpbGUiID4gJGNmZ2Zp
bGUudG1wIFwKICAmJiBtdiAtZiAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUi
IFwKICAgIHx8IChybSAtZiAiJGNmZ2ZpbGUiICYmIGNwICIkY2ZnZmlsZS50
bXAiICIkY2ZnZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlLnRtcCIpCnRlc3Qg
MCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3JlcGxhY2VfZmFpbD06CgoKICBz
ZWQgLWUgJy9eZnVuY19sZW4gKCkkLywvXn0gIyBmdW5jX2xlbiAvY1wKZnVu
Y19sZW4gKClcCntcCiAgICBmdW5jX2xlbl9yZXN1bHQ9JHsjMX1cCn0gIyBF
eHRlbmRlZC1zaGVsbCBmdW5jX2xlbiBpbXBsZW1lbnRhdGlvbicgIiRjZmdm
aWxlIiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRt
cCIgIiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBj
cCAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmls
ZS50bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNl
X2ZhaWw9OgoKZmkKCmlmIHRlc3QgeCIkbHRfc2hlbGxfYXBwZW5kIiA9IHh5
ZXM7IHRoZW4KICBzZWQgLWUgJy9eZnVuY19hcHBlbmQgKCkkLywvXn0gIyBm
dW5jX2FwcGVuZCAvY1wKZnVuY19hcHBlbmQgKClcCntcCiAgICBldmFsICIk
ezF9Kz1cXCR7Mn0iXAp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19hcHBlbmQg
aW1wbGVtZW50YXRpb24nICIkY2ZnZmlsZSIgPiAkY2ZnZmlsZS50bXAgXAog
ICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgXAogICAgfHwg
KHJtIC1mICIkY2ZnZmlsZSIgJiYgY3AgIiRjZmdmaWxlLnRtcCIgIiRjZmdm
aWxlIiAmJiBybSAtZiAiJGNmZ2ZpbGUudG1wIikKdGVzdCAwIC1lcSAkPyB8
fCBfbHRfZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKCgogIHNlZCAtZSAnL15m
dW5jX2FwcGVuZF9xdW90ZWQgKCkkLywvXn0gIyBmdW5jX2FwcGVuZF9xdW90
ZWQgL2NcCmZ1bmNfYXBwZW5kX3F1b3RlZCAoKVwKe1wKXCAgICBmdW5jX3F1
b3RlX2Zvcl9ldmFsICIkezJ9IlwKXCAgICBldmFsICIkezF9Kz1cXFxcIFxc
JGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IlwKfSAjIEV4dGVuZGVkLXNo
ZWxsIGZ1bmNfYXBwZW5kX3F1b3RlZCBpbXBsZW1lbnRhdGlvbicgIiRjZmdm
aWxlIiA+ICRjZmdmaWxlLnRtcCBcCiAgJiYgbXYgLWYgIiRjZmdmaWxlLnRt
cCIgIiRjZmdmaWxlIiBcCiAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBj
cCAiJGNmZ2ZpbGUudG1wIiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmls
ZS50bXAiKQp0ZXN0IDAgLWVxICQ/IHx8IF9sdF9mdW5jdGlvbl9yZXBsYWNl
X2ZhaWw9OgoKCiAgIyBTYXZlIGEgYGZ1bmNfYXBwZW5kJyBmdW5jdGlvbiBj
YWxsIHdoZXJlIHBvc3NpYmxlIGJ5IGRpcmVjdCB1c2Ugb2YgJys9JwogIHNl
ZCAtZSAncyVmdW5jX2FwcGVuZCBcKFthLXpBLVpfXVx7MSxcfVwpICIlXDEr
PSIlZycgJGNmZ2ZpbGUgPiAkY2ZnZmlsZS50bXAgXAogICAgJiYgbXYgLWYg
IiRjZmdmaWxlLnRtcCIgIiRjZmdmaWxlIiBcCiAgICAgIHx8IChybSAtZiAi
JGNmZ2ZpbGUiICYmIGNwICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgJiYg
cm0gLWYgIiRjZmdmaWxlLnRtcCIpCiAgdGVzdCAwIC1lcSAkPyB8fCBfbHRf
ZnVuY3Rpb25fcmVwbGFjZV9mYWlsPToKZWxzZQogICMgU2F2ZSBhIGBmdW5j
X2FwcGVuZCcgZnVuY3Rpb24gY2FsbCBldmVuIHdoZW4gJys9JyBpcyBub3Qg
YXZhaWxhYmxlCiAgc2VkIC1lICdzJWZ1bmNfYXBwZW5kIFwoW2EtekEtWl9d
XHsxLFx9XCkgIiVcMT0iJFwxJWcnICRjZmdmaWxlID4gJGNmZ2ZpbGUudG1w
IFwKICAgICYmIG12IC1mICIkY2ZnZmlsZS50bXAiICIkY2ZnZmlsZSIgXAog
ICAgICB8fCAocm0gLWYgIiRjZmdmaWxlIiAmJiBjcCAiJGNmZ2ZpbGUudG1w
IiAiJGNmZ2ZpbGUiICYmIHJtIC1mICIkY2ZnZmlsZS50bXAiKQogIHRlc3Qg
MCAtZXEgJD8gfHwgX2x0X2Z1bmN0aW9uX3JlcGxhY2VfZmFpbD06CmZpCgpp
ZiB0ZXN0IHgiJF9sdF9mdW5jdGlvbl9yZXBsYWNlX2ZhaWwiID0geCI6Ijsg
dGhlbgogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P
fTogV0FSTklORzogVW5hYmxlIHRvIHN1YnN0aXR1dGUgZXh0ZW5kZWQgc2hl
bGwgZnVuY3Rpb25zIGluICRvZmlsZSIgPiY1CiRhc19lY2hvICIkYXNfbWU6
IFdBUk5JTkc6IFVuYWJsZSB0byBzdWJzdGl0dXRlIGV4dGVuZGVkIHNoZWxs
IGZ1bmN0aW9ucyBpbiAkb2ZpbGUiID4mMjt9CmZpCgoKICAgbXYgLWYgIiRj
ZmdmaWxlIiAiJG9maWxlIiB8fAogICAgKHJtIC1mICIkb2ZpbGUiICYmIGNw
ICIkY2ZnZmlsZSIgIiRvZmlsZSIgJiYgcm0gLWYgIiRjZmdmaWxlIikKICBj
aG1vZCAreCAiJG9maWxlIgoKCiAgICBjYXQgPDxfTFRfRU9GID4+ICIkb2Zp
bGUiCgojICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6IENYWAoKIyBU
aGUgbGlua2VyIHVzZWQgdG8gYnVpbGQgbGlicmFyaWVzLgpMRD0kbHRfTERf
Q1hYCgojIEhvdyB0byBjcmVhdGUgcmVsb2FkYWJsZSBvYmplY3QgZmlsZXMu
CnJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxhZ19DWFgKcmVsb2FkX2NtZHM9
JGx0X3JlbG9hZF9jbWRzX0NYWAoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxk
IGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9jbWRzPSRsdF9v
bGRfYXJjaGl2ZV9jbWRzX0NYWAoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNv
bXBpbGVyLgpDQz0kbHRfY29tcGlsZXJfQ1hYCgojIElzIHRoZSBjb21waWxl
ciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2djYz0kR0NDX0NYWAoKIyBDb21w
aWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgpub19i
dWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9fYnVpbHRpbl9m
bGFnX0NYWAoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWls
ZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSRsdF9sdF9wcm9nX2Nv
bXBpbGVyX3BpY19DWFgKCiMgSG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0
aHJvdWdoIHRoZSBjb21waWxlci4Kd2w9JGx0X2x0X3Byb2dfY29tcGlsZXJf
d2xfQ1hYCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxp
bmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJf
c3RhdGljX0NYWAoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFuZW91c2x5IHN1
cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBpbGVyX2Nfbz0kbHRfbHRf
Y3ZfcHJvZ19jb21waWxlcl9jX29fQ1hYCgojIFdoZXRoZXIgb3Igbm90IHRv
IGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1aWxk
X2xpYnRvb2xfbmVlZF9sYz0kYXJjaGl2ZV9jbWRzX25lZWRfbGNfQ1hYCgoj
IFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdoZW4g
cnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRvb2xfbGlic193
aXRoX3N0YXRpY19ydW50aW1lcz0kZW5hYmxlX3NoYXJlZF93aXRoX3N0YXRp
Y19ydW50aW1lc19DWFgKCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxvdyByZWZs
ZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSRsdF9l
eHBvcnRfZHluYW1pY19mbGFnX3NwZWNfQ1hYCgojIENvbXBpbGVyIGZsYWcg
dG8gZ2VuZXJhdGUgc2hhcmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNo
aXZlcy4Kd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9JGx0X3dob2xlX2FyY2hp
dmVfZmxhZ19zcGVjX0NYWAoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBjb3Bl
cyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGlsZXJf
bmVlZHNfb2JqZWN0PSRsdF9jb21waWxlcl9uZWVkc19vYmplY3RfQ1hYCgoj
IENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFy
Y2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9JGx0X29sZF9hcmNo
aXZlX2Zyb21fbmV3X2NtZHNfQ1hYCgojIENyZWF0ZSBhIHRlbXBvcmFyeSBv
bGQtc3R5bGUgYXJjaGl2ZSB0byBsaW5rIGluc3RlYWQgb2YgYSBzaGFyZWQg
YXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHM9JGx0X29s
ZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzX0NYWAoKIyBDb21tYW5kcyB1
c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0k
bHRfYXJjaGl2ZV9jbWRzX0NYWAphcmNoaXZlX2V4cHN5bV9jbWRzPSRsdF9h
cmNoaXZlX2V4cHN5bV9jbWRzX0NYWAoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1
aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRpZmZlcmVudCBmcm9tIGJ1aWxk
aW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9kdWxlX2NtZHM9JGx0X21vZHVs
ZV9jbWRzX0NYWAptb2R1bGVfZXhwc3ltX2NtZHM9JGx0X21vZHVsZV9leHBz
eW1fY21kc19DWFgKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcgd2l0aCBH
TlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0kbHRfd2l0aF9nbnVfbGRfQ1hY
CgojIEZsYWcgdGhhdCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVu
ZGVmaW5lZCBzeW1ib2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmluZWRf
ZmxhZz0kbHRfYWxsb3dfdW5kZWZpbmVkX2ZsYWdfQ1hYCgojIEZsYWcgdGhh
dCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVk
X2ZsYWc9JGx0X25vX3VuZGVmaW5lZF9mbGFnX0NYWAoKIyBGbGFnIHRvIGhh
cmRjb2RlIFwkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcu
CiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiBcJGxpYmRpciBkb2VzIG5vdCBl
eGlzdApoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSRsdF9oYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjX0NYWAoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5n
bGUgIi1ycGF0aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50Lgpo
YXJkY29kZV9saWJkaXJfc2VwYXJhdG9yPSRsdF9oYXJkY29kZV9saWJkaXJf
c2VwYXJhdG9yX0NYWAoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xp
Yk5BTUVcJHtzaGFyZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMK
IyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGly
ZWN0PSRoYXJkY29kZV9kaXJlY3RfQ1hYCgojIFNldCB0byAieWVzIiBpZiB1
c2luZyBESVIvbGliTkFNRVwke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5n
IGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFu
ZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNv
bHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgXCR7
c2hsaWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGlicmFyeSBpcyByZWxvY2F0ZWQu
CmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT0kaGFyZGNvZGVfZGlyZWN0X2Fi
c29sdXRlX0NYWAoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgdGhlIC1MRElS
IGZsYWcgZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhl
IHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX21pbnVzX0w9JGhhcmRjb2Rl
X21pbnVzX0xfQ1hYCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBB
VEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50
byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zh
cj0kaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcl9DWFgKCiMgU2V0IHRvICJ5ZXMi
IGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBo
YXJkY29kZXMgRElSCiMgaW50byB0aGUgbGlicmFyeSBhbmQgYWxsIHN1YnNl
cXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcyBsaW5rZWQKIyBhZ2Fp
bnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9JGhhcmRjb2RlX2F1dG9tYXRp
Y19DWFgKCiMgU2V0IHRvIHllcyBpZiBsaW5rZXIgYWRkcyBydW50aW1lIHBh
dGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMKIyB0byBydW50aW1lIHBhdGgg
bGlzdC4KaW5oZXJpdF9ycGF0aD0kaW5oZXJpdF9ycGF0aF9DWFgKCiMgV2hl
dGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwg
aXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPSRs
aW5rX2FsbF9kZXBsaWJzX0NYWAoKIyBTZXQgdG8gInllcyIgaWYgZXhwb3J0
ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFsd2F5c19leHBvcnRfc3ltYm9s
cz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzX0NYWAoKIyBUaGUgY29tbWFuZHMg
dG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9sc19jbWRz
PSRsdF9leHBvcnRfc3ltYm9sc19jbWRzX0NYWAoKIyBTeW1ib2xzIHRoYXQg
c2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xz
LgpleGNsdWRlX2V4cHN5bXM9JGx0X2V4Y2x1ZGVfZXhwc3ltc19DWFgKCiMg
U3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRl
X2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3ltc19DWFgKCiMgQ29tbWFuZHMg
bmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJh
cmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0kbHRfcHJlbGlu
a19jbWRzX0NYWAoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGlu
ZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0bGlua19jbWRzPSRsdF9wb3N0bGlu
a19jbWRzX0NYWAoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5w
dXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSRsdF9maWxlX2xpc3Rfc3BlY19D
WFgKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBp
bnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlvbj0kaGFyZGNvZGVf
YWN0aW9uX0NYWAoKIyBUaGUgZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhp
cyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNv
bXBpbGVyX2xpYl9zZWFyY2hfZGlycz0kbHRfY29tcGlsZXJfbGliX3NlYXJj
aF9kaXJzX0NYWAoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFu
ZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUg
YSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29iamVjdHM9JGx0X3ByZWRlcF9v
YmplY3RzX0NYWApwb3N0ZGVwX29iamVjdHM9JGx0X3Bvc3RkZXBfb2JqZWN0
c19DWFgKcHJlZGVwcz0kbHRfcHJlZGVwc19DWFgKcG9zdGRlcHM9JGx0X3Bv
c3RkZXBzX0NYWAoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGlu
dGVybmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hh
cmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aD0kbHRfY29t
cGlsZXJfbGliX3NlYXJjaF9wYXRoX0NYWAoKIyAjIyMgRU5EIExJQlRPT0wg
VEFHIENPTkZJRzogQ1hYCl9MVF9FT0YKCgogICAgY2F0IDw8X0xUX0VPRiA+
PiAiJG9maWxlIgoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBG
NzcKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9
JGx0X0xEX0Y3NwoKIyBIb3cgdG8gY3JlYXRlIHJlbG9hZGFibGUgb2JqZWN0
IGZpbGVzLgpyZWxvYWRfZmxhZz0kbHRfcmVsb2FkX2ZsYWdfRjc3CnJlbG9h
ZF9jbWRzPSRsdF9yZWxvYWRfY21kc19GNzcKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21k
cz0kbHRfb2xkX2FyY2hpdmVfY21kc19GNzcKCiMgQSBsYW5ndWFnZSBzcGVj
aWZpYyBjb21waWxlci4KQ0M9JGx0X2NvbXBpbGVyX0Y3NwoKIyBJcyB0aGUg
Y29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9JEdDQ19GNzcK
CiMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9u
cy4Kbm9fYnVpbHRpbl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1
aWx0aW5fZmxhZ19GNzcKCiMgQWRkaXRpb25hbCBjb21waWxlciBmbGFncyBm
b3IgYnVpbGRpbmcgbGlicmFyeSBvYmplY3RzLgpwaWNfZmxhZz0kbHRfbHRf
cHJvZ19jb21waWxlcl9waWNfRjc3CgojIEhvdyB0byBwYXNzIGEgbGlua2Vy
IGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSRsdF9sdF9wcm9nX2Nv
bXBpbGVyX3dsX0Y3NwoKIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHlu
YW1pYyBsaW5raW5nLgpsaW5rX3N0YXRpY19mbGFnPSRsdF9sdF9wcm9nX2Nv
bXBpbGVyX3N0YXRpY19GNzcKCiMgRG9lcyBjb21waWxlciBzaW11bHRhbmVv
dXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21waWxlcl9jX289
JGx0X2x0X2N2X3Byb2dfY29tcGlsZXJfY19vX0Y3NwoKIyBXaGV0aGVyIG9y
IG5vdCB0byBhZGQgLWxjIGZvciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVz
LgpidWlsZF9saWJ0b29sX25lZWRfbGM9JGFyY2hpdmVfY21kc19uZWVkX2xj
X0Y3NwoKIyBXaGV0aGVyIG9yIG5vdCB0byBkaXNhbGxvdyBzaGFyZWQgbGli
cyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljLgphbGxvd19saWJ0b29s
X2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9JGVuYWJsZV9zaGFyZWRfd2l0
aF9zdGF0aWNfcnVudGltZXNfRjc3CgojIENvbXBpbGVyIGZsYWcgdG8gYWxs
b3cgcmVmbGV4aXZlIGRsb3BlbnMuCmV4cG9ydF9keW5hbWljX2ZsYWdfc3Bl
Yz0kbHRfZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjX0Y3NwoKIyBDb21waWxl
ciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZy
b20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSRsdF93aG9s
ZV9hcmNoaXZlX2ZsYWdfc3BlY19GNzcKCiMgV2hldGhlciB0aGUgY29tcGls
ZXIgY29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNv
bXBpbGVyX25lZWRzX29iamVjdD0kbHRfY29tcGlsZXJfbmVlZHNfb2JqZWN0
X0Y3NwoKIyBDcmVhdGUgYW4gb2xkLXN0eWxlIGFyY2hpdmUgZnJvbSBhIHNo
YXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzPSRsdF9v
bGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzX0Y3NwoKIyBDcmVhdGUgYSB0ZW1w
b3Jhcnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEg
c2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRz
PSRsdF9vbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kc19GNzcKCiMgQ29t
bWFuZHMgdXNlZCB0byBidWlsZCBhIHNoYXJlZCBhcmNoaXZlLgphcmNoaXZl
X2NtZHM9JGx0X2FyY2hpdmVfY21kc19GNzcKYXJjaGl2ZV9leHBzeW1fY21k
cz0kbHRfYXJjaGl2ZV9leHBzeW1fY21kc19GNzcKCiMgQ29tbWFuZHMgdXNl
ZCB0byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJv
bSBidWlsZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSRs
dF9tb2R1bGVfY21kc19GNzcKbW9kdWxlX2V4cHN5bV9jbWRzPSRsdF9tb2R1
bGVfZXhwc3ltX2NtZHNfRjc3CgojIFdoZXRoZXIgd2UgYXJlIGJ1aWxkaW5n
IHdpdGggR05VIGxkIG9yIG5vdC4Kd2l0aF9nbnVfbGQ9JGx0X3dpdGhfZ251
X2xkX0Y3NwoKIyBGbGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMg
d2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5k
ZWZpbmVkX2ZsYWc9JGx0X2FsbG93X3VuZGVmaW5lZF9mbGFnX0Y3NwoKIyBG
bGFnIHRoYXQgZW5mb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5vX3Vu
ZGVmaW5lZF9mbGFnPSRsdF9ub191bmRlZmluZWRfZmxhZ19GNzcKCiMgRmxh
ZyB0byBoYXJkY29kZSBcJGxpYmRpciBpbnRvIGEgYmluYXJ5IGR1cmluZyBs
aW5raW5nLgojIFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYgXCRsaWJkaXIgZG9l
cyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0kbHRfaGFy
ZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19GNzcKCiMgV2hldGhlciB3ZSBuZWVk
IGEgc2luZ2xlICItcnBhdGgiIGZsYWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1
bWVudC4KaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0kbHRfaGFyZGNvZGVf
bGliZGlyX3NlcGFyYXRvcl9GNzcKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5n
IERJUi9saWJOQU1FXCR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFy
ZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRj
b2RlX2RpcmVjdD0kaGFyZGNvZGVfZGlyZWN0X0Y3NwoKIyBTZXQgdG8gInll
cyIgaWYgdXNpbmcgRElSL2xpYk5BTUVcJHtzaGFyZWRfZXh0fSBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJp
bmFyeSBhbmQgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGRlcGVuZGVuY3kgaXMK
IyAiYWJzb2x1dGUiLGkuZSBpbXBvc3NpYmxlIHRvIGNoYW5nZSBieSBzZXR0
aW5nIFwke3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMgcmVs
b2NhdGVkLgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9JGhhcmRjb2RlX2Rp
cmVjdF9hYnNvbHV0ZV9GNzcKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRo
ZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19MPSRo
YXJkY29kZV9taW51c19MX0Y3NwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcg
U0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJ
UgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX3NobGli
cGF0aF92YXI9JGhhcmRjb2RlX3NobGlicGF0aF92YXJfRjc3CgojIFNldCB0
byAieWVzIiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRp
Y2FsbHkgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFs
bCBzdWJzZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2Vk
CiMgYWdhaW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPSRoYXJkY29kZV9h
dXRvbWF0aWNfRjc3CgojIFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVu
dGltZSBwYXRocyBvZiBkZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVudGlt
ZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGhfRjc3
CgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWlu
c3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVw
bGlicz0kbGlua19hbGxfZGVwbGlic19GNzcKCiMgU2V0IHRvICJ5ZXMiIGlm
IGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0
X3N5bWJvbHM9JGFsd2F5c19leHBvcnRfc3ltYm9sc19GNzcKCiMgVGhlIGNv
bW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJv
bHNfY21kcz0kbHRfZXhwb3J0X3N5bWJvbHNfY21kc19GNzcKCiMgU3ltYm9s
cyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRoZSBwcmVsb2FkZWQg
c3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSRsdF9leGNsdWRlX2V4cHN5bXNf
Rjc3CgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBvcnRlZC4K
aW5jbHVkZV9leHBzeW1zPSRsdF9pbmNsdWRlX2V4cHN5bXNfRjc3CgojIENv
bW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5z
dCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgpwcmVsaW5rX2NtZHM9JGx0
X3ByZWxpbmtfY21kc19GNzcKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBm
aW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxpbmtfY21kcz0kbHRf
cG9zdGxpbmtfY21kc19GNzcKCiMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWlu
aW5nIGlucHV0IGZpbGVzLgpmaWxlX2xpc3Rfc3BlYz0kbHRfZmlsZV9saXN0
X3NwZWNfRjc3CgojIEhvdyB0byBoYXJkY29kZSBhIHNoYXJlZCBsaWJyYXJ5
IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29kZV9hY3Rpb249JGhh
cmRjb2RlX2FjdGlvbl9GNzcKCiMgVGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVk
IGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJlZCBsaWJy
YXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9JGx0X2NvbXBpbGVyX2xp
Yl9zZWFyY2hfZGlyc19GNzcKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJl
Zm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvCiMg
Y3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSRsdF9w
cmVkZXBfb2JqZWN0c19GNzcKcG9zdGRlcF9vYmplY3RzPSRsdF9wb3N0ZGVw
X29iamVjdHNfRjc3CnByZWRlcHM9JGx0X3ByZWRlcHNfRjc3CnBvc3RkZXBz
PSRsdF9wb3N0ZGVwc19GNzcKCiMgVGhlIGxpYnJhcnkgc2VhcmNoIHBhdGgg
dXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxpbmtpbmcK
IyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX3BhdGg9
JGx0X2NvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9GNzcKCiMgIyMjIEVORCBM
SUJUT09MIFRBRyBDT05GSUc6IEY3NwpfTFRfRU9GCgoKICAgIGNhdCA8PF9M
VF9FT0YgPj4gIiRvZmlsZSIKCiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENP
TkZJRzogRkMKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmll
cy4KTEQ9JGx0X0xEX0ZDCgojIEhvdyB0byBjcmVhdGUgcmVsb2FkYWJsZSBv
YmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxhZ19GQwpy
ZWxvYWRfY21kcz0kbHRfcmVsb2FkX2NtZHNfRkMKCiMgQ29tbWFuZHMgdXNl
ZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVf
Y21kcz0kbHRfb2xkX2FyY2hpdmVfY21kc19GQwoKIyBBIGxhbmd1YWdlIHNw
ZWNpZmljIGNvbXBpbGVyLgpDQz0kbHRfY29tcGlsZXJfRkMKCiMgSXMgdGhl
IGNvbXBpbGVyIHRoZSBHTlUgY29tcGlsZXI/CndpdGhfZ2NjPSRHQ0NfRkMK
CiMgQ29tcGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9u
cy4Kbm9fYnVpbHRpbl9mbGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX25vX2J1
aWx0aW5fZmxhZ19GQwoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZv
ciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSRsdF9sdF9w
cm9nX2NvbXBpbGVyX3BpY19GQwoKIyBIb3cgdG8gcGFzcyBhIGxpbmtlciBm
bGFnIHRocm91Z2ggdGhlIGNvbXBpbGVyLgp3bD0kbHRfbHRfcHJvZ19jb21w
aWxlcl93bF9GQwoKIyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1p
YyBsaW5raW5nLgpsaW5rX3N0YXRpY19mbGFnPSRsdF9sdF9wcm9nX2NvbXBp
bGVyX3N0YXRpY19GQwoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFuZW91c2x5
IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBpbGVyX2Nfbz0kbHRf
bHRfY3ZfcHJvZ19jb21waWxlcl9jX29fRkMKCiMgV2hldGhlciBvciBub3Qg
dG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVp
bGRfbGlidG9vbF9uZWVkX2xjPSRhcmNoaXZlX2NtZHNfbmVlZF9sY19GQwoK
IyBXaGV0aGVyIG9yIG5vdCB0byBkaXNhbGxvdyBzaGFyZWQgbGlicyB3aGVu
IHJ1bnRpbWUgbGlicyBhcmUgc3RhdGljLgphbGxvd19saWJ0b29sX2xpYnNf
d2l0aF9zdGF0aWNfcnVudGltZXM9JGVuYWJsZV9zaGFyZWRfd2l0aF9zdGF0
aWNfcnVudGltZXNfRkMKCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxvdyByZWZs
ZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSRsdF9l
eHBvcnRfZHluYW1pY19mbGFnX3NwZWNfRkMKCiMgQ29tcGlsZXIgZmxhZyB0
byBnZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hp
dmVzLgp3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0kbHRfd2hvbGVfYXJjaGl2
ZV9mbGFnX3NwZWNfRkMKCiMgV2hldGhlciB0aGUgY29tcGlsZXIgY29wZXMg
d2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVyX25l
ZWRzX29iamVjdD0kbHRfY29tcGlsZXJfbmVlZHNfb2JqZWN0X0ZDCgojIENy
ZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hp
dmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9JGx0X29sZF9hcmNoaXZl
X2Zyb21fbmV3X2NtZHNfRkMKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1z
dHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0kbHRfb2xkX2Fy
Y2hpdmVfZnJvbV9leHBzeW1zX2NtZHNfRkMKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhIHNoYXJlZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9JGx0X2Fy
Y2hpdmVfY21kc19GQwphcmNoaXZlX2V4cHN5bV9jbWRzPSRsdF9hcmNoaXZl
X2V4cHN5bV9jbWRzX0ZDCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBs
b2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBh
IHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0kbHRfbW9kdWxlX2NtZHNf
RkMKbW9kdWxlX2V4cHN5bV9jbWRzPSRsdF9tb2R1bGVfZXhwc3ltX2NtZHNf
RkMKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Ig
bm90Lgp3aXRoX2dudV9sZD0kbHRfd2l0aF9nbnVfbGRfRkMKCiMgRmxhZyB0
aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5
bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5lZF9mbGFnPSRsdF9h
bGxvd191bmRlZmluZWRfZmxhZ19GQwoKIyBGbGFnIHRoYXQgZW5mb3JjZXMg
bm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5vX3VuZGVmaW5lZF9mbGFnPSRsdF9u
b191bmRlZmluZWRfZmxhZ19GQwoKIyBGbGFnIHRvIGhhcmRjb2RlIFwkbGli
ZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0
IHdvcmsgZXZlbiBpZiBcJGxpYmRpciBkb2VzIG5vdCBleGlzdApoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjPSRsdF9oYXJkY29kZV9saWJkaXJfZmxhZ19z
cGVjX0ZDCgojIFdoZXRoZXIgd2UgbmVlZCBhIHNpbmdsZSAiLXJwYXRoIiBm
bGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJndW1lbnQuCmhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3I9JGx0X2hhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3JfRkMK
CiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FXCR7c2hhcmVk
X2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhl
IHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2RpcmVjdD0kaGFyZGNvZGVf
ZGlyZWN0X0ZDCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFN
RVwke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJ
UiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5n
IGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9z
c2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgXCR7c2hsaWJwYXRoX3Zhcn0g
aWYgdGhlCiMgbGlicmFyeSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVj
dF9hYnNvbHV0ZT0kaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlX0ZDCgojIFNl
dCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBkdXJpbmcgbGlu
a2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFy
eS4KaGFyZGNvZGVfbWludXNfTD0kaGFyZGNvZGVfbWludXNfTF9GQwoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5n
IGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBi
aW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9JGhhcmRjb2RlX3NobGli
cGF0aF92YXJfRkMKCiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEgc2hh
cmVkIGxpYnJhcnkgYXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50
byB0aGUgbGlicmFyeSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFu
ZCBleGVjdXRhYmxlcyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9h
dXRvbWF0aWM9JGhhcmRjb2RlX2F1dG9tYXRpY19GQwoKIyBTZXQgdG8geWVz
IGlmIGxpbmtlciBhZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxp
YnJhcmllcwojIHRvIHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRo
PSRpbmhlcml0X3JwYXRoX0ZDCgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxp
bmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJh
cmllcy4KbGlua19hbGxfZGVwbGlicz0kbGlua19hbGxfZGVwbGlic19GQwoK
IyBTZXQgdG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWly
ZWQuCmFsd2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1i
b2xzX0ZDCgojIFRoZSBjb21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJv
bHMuCmV4cG9ydF9zeW1ib2xzX2NtZHM9JGx0X2V4cG9ydF9zeW1ib2xzX2Nt
ZHNfRkMKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGlu
IHRoZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSRsdF9l
eGNsdWRlX2V4cHN5bXNfRkMKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlz
IGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhw
c3ltc19GQwoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJv
Z3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJl
bGlua19jbWRzPSRsdF9wcmVsaW5rX2NtZHNfRkMKCiMgQ29tbWFuZHMgbmVj
ZXNzYXJ5IGZvciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxp
bmtfY21kcz0kbHRfcG9zdGxpbmtfY21kc19GQwoKIyBTcGVjaWZ5IGZpbGVu
YW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSRs
dF9maWxlX2xpc3Rfc3BlY19GQwoKIyBIb3cgdG8gaGFyZGNvZGUgYSBzaGFy
ZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNvZGVf
YWN0aW9uPSRoYXJkY29kZV9hY3Rpb25fRkMKCiMgVGhlIGRpcmVjdG9yaWVz
IHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNo
YXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9JGx0X2Nv
bXBpbGVyX2xpYl9zZWFyY2hfZGlyc19GQwoKIyBEZXBlbmRlbmNpZXMgdG8g
cGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5r
ZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29iamVj
dHM9JGx0X3ByZWRlcF9vYmplY3RzX0ZDCnBvc3RkZXBfb2JqZWN0cz0kbHRf
cG9zdGRlcF9vYmplY3RzX0ZDCnByZWRlcHM9JGx0X3ByZWRlcHNfRkMKcG9z
dGRlcHM9JGx0X3Bvc3RkZXBzX0ZDCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBw
YXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5r
aW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9w
YXRoPSRsdF9jb21waWxlcl9saWJfc2VhcmNoX3BhdGhfRkMKCiMgIyMjIEVO
RCBMSUJUT09MIFRBRyBDT05GSUc6IEZDCl9MVF9FT0YKCgogICAgY2F0IDw8
X0xUX0VPRiA+PiAiJG9maWxlIgoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcg
Q09ORklHOiBHTwoKIyBUaGUgbGlua2VyIHVzZWQgdG8gYnVpbGQgbGlicmFy
aWVzLgpMRD0kbHRfTERfR08KCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRhYmxl
IG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9JGx0X3JlbG9hZF9mbGFnX0dP
CnJlbG9hZF9jbWRzPSRsdF9yZWxvYWRfY21kc19HTwoKIyBDb21tYW5kcyB1
c2VkIHRvIGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpvbGRfYXJjaGl2
ZV9jbWRzPSRsdF9vbGRfYXJjaGl2ZV9jbWRzX0dPCgojIEEgbGFuZ3VhZ2Ug
c3BlY2lmaWMgY29tcGlsZXIuCkNDPSRsdF9jb21waWxlcl9HTwoKIyBJcyB0
aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9JEdDQ19H
TwoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rp
b25zLgpub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfbm9f
YnVpbHRpbl9mbGFnX0dPCgojIEFkZGl0aW9uYWwgY29tcGlsZXIgZmxhZ3Mg
Zm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2ZsYWc9JGx0X2x0
X3Byb2dfY29tcGlsZXJfcGljX0dPCgojIEhvdyB0byBwYXNzIGEgbGlua2Vy
IGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSRsdF9sdF9wcm9nX2Nv
bXBpbGVyX3dsX0dPCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5h
bWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0X3Byb2dfY29t
cGlsZXJfc3RhdGljX0dPCgojIERvZXMgY29tcGlsZXIgc2ltdWx0YW5lb3Vz
bHkgc3VwcG9ydCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGlsZXJfY19vPSRs
dF9sdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19HTwoKIyBXaGV0aGVyIG9yIG5v
dCB0byBhZGQgLWxjIGZvciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzLgpi
dWlsZF9saWJ0b29sX25lZWRfbGM9JGFyY2hpdmVfY21kc19uZWVkX2xjX0dP
CgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdo
ZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRvb2xfbGli
c193aXRoX3N0YXRpY19ydW50aW1lcz0kZW5hYmxlX3NoYXJlZF93aXRoX3N0
YXRpY19ydW50aW1lc19HTwoKIyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJl
ZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9JGx0
X2V4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19HTwoKIyBDb21waWxlciBmbGFn
IHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJj
aGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSRsdF93aG9sZV9hcmNo
aXZlX2ZsYWdfc3BlY19HTwoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBjb3Bl
cyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGlsZXJf
bmVlZHNfb2JqZWN0PSRsdF9jb21waWxlcl9uZWVkc19vYmplY3RfR08KCiMg
Q3JlYXRlIGFuIG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJj
aGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kcz0kbHRfb2xkX2FyY2hp
dmVfZnJvbV9uZXdfY21kc19HTwoKIyBDcmVhdGUgYSB0ZW1wb3Jhcnkgb2xk
LXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEgc2hhcmVkIGFy
Y2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPSRsdF9vbGRf
YXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kc19HTwoKIyBDb21tYW5kcyB1c2Vk
IHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0kbHRf
YXJjaGl2ZV9jbWRzX0dPCmFyY2hpdmVfZXhwc3ltX2NtZHM9JGx0X2FyY2hp
dmVfZXhwc3ltX2NtZHNfR08KCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBh
IGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBidWlsZGluZwoj
IGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSRsdF9tb2R1bGVfY21k
c19HTwptb2R1bGVfZXhwc3ltX2NtZHM9JGx0X21vZHVsZV9leHBzeW1fY21k
c19HTwoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3aXRoIEdOVSBsZCBv
ciBub3QuCndpdGhfZ251X2xkPSRsdF93aXRoX2dudV9sZF9HTwoKIyBGbGFn
IHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQg
c3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9JGx0
X2FsbG93X3VuZGVmaW5lZF9mbGFnX0dPCgojIEZsYWcgdGhhdCBlbmZvcmNl
cyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9JGx0
X25vX3VuZGVmaW5lZF9mbGFnX0dPCgojIEZsYWcgdG8gaGFyZGNvZGUgXCRs
aWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11
c3Qgd29yayBldmVuIGlmIFwkbGliZGlyIGRvZXMgbm90IGV4aXN0CmhhcmRj
b2RlX2xpYmRpcl9mbGFnX3NwZWM9JGx0X2hhcmRjb2RlX2xpYmRpcl9mbGFn
X3NwZWNfR08KCiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgi
IGZsYWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGli
ZGlyX3NlcGFyYXRvcj0kbHRfaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcl9H
TwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUVcJHtzaGFy
ZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0
aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PSRoYXJkY29k
ZV9kaXJlY3RfR08KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJO
QU1FXCR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMg
RElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkgYW5kIHRoZSByZXN1bHRp
bmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFic29sdXRlIixpLmUgaW1w
b3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyBcJHtzaGxpYnBhdGhfdmFy
fSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVfZGly
ZWN0X2Fic29sdXRlPSRoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGVfR08KCiMg
U2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBs
aW5raW5nIGhhcmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmlu
YXJ5LgpoYXJkY29kZV9taW51c19MPSRoYXJkY29kZV9taW51c19MX0dPCgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBBVEhfVkFSPURJUiBkdXJp
bmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5n
IGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0kaGFyZGNvZGVfc2hs
aWJwYXRoX3Zhcl9HTwoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRpbmcgYSBz
aGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMg
YW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhhcmRjb2Rl
X2F1dG9tYXRpYz0kaGFyZGNvZGVfYXV0b21hdGljX0dPCgojIFNldCB0byB5
ZXMgaWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBkZXBlbmRlbnQg
bGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBh
dGg9JGluaGVyaXRfcnBhdGhfR08KCiMgV2hldGhlciBsaWJ0b29sIG11c3Qg
bGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGli
cmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9kZXBsaWJzX0dP
CgojIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1
aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSRhbHdheXNfZXhwb3J0X3N5
bWJvbHNfR08KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3lt
Ym9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0kbHRfZXhwb3J0X3N5bWJvbHNf
Y21kc19HTwoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQg
aW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9JGx0
X2V4Y2x1ZGVfZXhwc3ltc19HTwoKIyBTeW1ib2xzIHRoYXQgbXVzdCBhbHdh
eXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0kbHRfaW5jbHVkZV9l
eHBzeW1zX0dPCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBw
cm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxhdGVzLgpw
cmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kc19HTwoKIyBDb21tYW5kcyBu
ZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0
bGlua19jbWRzPSRsdF9wb3N0bGlua19jbWRzX0dPCgojIFNwZWNpZnkgZmls
ZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9
JGx0X2ZpbGVfbGlzdF9zcGVjX0dPCgojIEhvdyB0byBoYXJkY29kZSBhIHNo
YXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29k
ZV9hY3Rpb249JGhhcmRjb2RlX2FjdGlvbl9HTwoKIyBUaGUgZGlyZWN0b3Jp
ZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEg
c2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlycz0kbHRf
Y29tcGlsZXJfbGliX3NlYXJjaF9kaXJzX0dPCgojIERlcGVuZGVuY2llcyB0
byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5nIGxp
bmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBfb2Jq
ZWN0cz0kbHRfcHJlZGVwX29iamVjdHNfR08KcG9zdGRlcF9vYmplY3RzPSRs
dF9wb3N0ZGVwX29iamVjdHNfR08KcHJlZGVwcz0kbHRfcHJlZGVwc19HTwpw
b3N0ZGVwcz0kbHRfcG9zdGRlcHNfR08KCiMgVGhlIGxpYnJhcnkgc2VhcmNo
IHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxp
bmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNo
X3BhdGg9JGx0X2NvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9HTwoKIyAjIyMg
RU5EIExJQlRPT0wgVEFHIENPTkZJRzogR08KX0xUX0VPRgoKCiAgICBjYXQg
PDxfTFRfRU9GID4+ICIkb2ZpbGUiCgojICMjIyBCRUdJTiBMSUJUT09MIFRB
RyBDT05GSUc6IEdDSgoKIyBUaGUgbGlua2VyIHVzZWQgdG8gYnVpbGQgbGli
cmFyaWVzLgpMRD0kbHRfTERfR0NKCgojIEhvdyB0byBjcmVhdGUgcmVsb2Fk
YWJsZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSRsdF9yZWxvYWRfZmxh
Z19HQ0oKcmVsb2FkX2NtZHM9JGx0X3JlbG9hZF9jbWRzX0dDSgoKIyBDb21t
YW5kcyB1c2VkIHRvIGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpvbGRf
YXJjaGl2ZV9jbWRzPSRsdF9vbGRfYXJjaGl2ZV9jbWRzX0dDSgoKIyBBIGxh
bmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0kbHRfY29tcGlsZXJfR0NK
CgojIElzIHRoZSBjb21waWxlciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2dj
Yz0kR0NDX0dDSgoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0
aW4gZnVuY3Rpb25zLgpub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29t
cGlsZXJfbm9fYnVpbHRpbl9mbGFnX0dDSgoKIyBBZGRpdGlvbmFsIGNvbXBp
bGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19m
bGFnPSRsdF9sdF9wcm9nX2NvbXBpbGVyX3BpY19HQ0oKCiMgSG93IHRvIHBh
c3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxlci4Kd2w9JGx0
X2x0X3Byb2dfY29tcGlsZXJfd2xfR0NKCgojIENvbXBpbGVyIGZsYWcgdG8g
cHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9JGx0
X2x0X3Byb2dfY29tcGlsZXJfc3RhdGljX0dDSgoKIyBEb2VzIGNvbXBpbGVy
IHNpbXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNv
bXBpbGVyX2Nfbz0kbHRfbHRfY3ZfcHJvZ19jb21waWxlcl9jX29fR0NKCgoj
IFdoZXRoZXIgb3Igbm90IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJl
ZCBsaWJyYXJpZXMuCmJ1aWxkX2xpYnRvb2xfbmVlZF9sYz0kYXJjaGl2ZV9j
bWRzX25lZWRfbGNfR0NKCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93
IHNoYXJlZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFs
bG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz0kZW5hYmxl
X3NoYXJlZF93aXRoX3N0YXRpY19ydW50aW1lc19HQ0oKCiMgQ29tcGlsZXIg
ZmxhZyB0byBhbGxvdyByZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFt
aWNfZmxhZ19zcGVjPSRsdF9leHBvcnRfZHluYW1pY19mbGFnX3NwZWNfR0NK
CgojIENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUgc2hhcmVkIG9iamVjdHMg
ZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVfYXJjaGl2ZV9mbGFnX3Nw
ZWM9JGx0X3dob2xlX2FyY2hpdmVfZmxhZ19zcGVjX0dDSgoKIyBXaGV0aGVy
IHRoZSBjb21waWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBk
aXJlY3RseS4KY29tcGlsZXJfbmVlZHNfb2JqZWN0PSRsdF9jb21waWxlcl9u
ZWVkc19vYmplY3RfR0NKCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2
ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3
X2NtZHM9JGx0X29sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHNfR0NKCgojIENy
ZWF0ZSBhIHRlbXBvcmFyeSBvbGQtc3R5bGUgYXJjaGl2ZSB0byBsaW5rIGlu
c3RlYWQgb2YgYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9l
eHBzeW1zX2NtZHM9JGx0X29sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRz
X0dDSgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hp
dmUuCmFyY2hpdmVfY21kcz0kbHRfYXJjaGl2ZV9jbWRzX0dDSgphcmNoaXZl
X2V4cHN5bV9jbWRzPSRsdF9hcmNoaXZlX2V4cHN5bV9jbWRzX0dDSgoKIyBD
b21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRp
ZmZlcmVudCBmcm9tIGJ1aWxkaW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9k
dWxlX2NtZHM9JGx0X21vZHVsZV9jbWRzX0dDSgptb2R1bGVfZXhwc3ltX2Nt
ZHM9JGx0X21vZHVsZV9leHBzeW1fY21kc19HQ0oKCiMgV2hldGhlciB3ZSBh
cmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0k
bHRfd2l0aF9nbnVfbGRfR0NKCgojIEZsYWcgdGhhdCBhbGxvd3Mgc2hhcmVk
IGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBzeW1ib2xzIHRvIGJlIGJ1aWx0
LgphbGxvd191bmRlZmluZWRfZmxhZz0kbHRfYWxsb3dfdW5kZWZpbmVkX2Zs
YWdfR0NKCgojIEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3lt
Ym9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9JGx0X25vX3VuZGVmaW5lZF9mbGFn
X0dDSgoKIyBGbGFnIHRvIGhhcmRjb2RlIFwkbGliZGlyIGludG8gYSBiaW5h
cnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiBc
JGxpYmRpciBkb2VzIG5vdCBleGlzdApoYXJkY29kZV9saWJkaXJfZmxhZ19z
cGVjPSRsdF9oYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjX0dDSgoKIyBXaGV0
aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0aCIgZmxhZyB3aXRoIGEgc2Vw
YXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yPSRs
dF9oYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yX0dDSgoKIyBTZXQgdG8gInll
cyIgaWYgdXNpbmcgRElSL2xpYk5BTUVcJHtzaGFyZWRfZXh0fSBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJp
bmFyeS4KaGFyZGNvZGVfZGlyZWN0PSRoYXJkY29kZV9kaXJlY3RfR0NKCgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRVwke3NoYXJlZF9l
eHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSBy
ZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVw
ZW5kZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hh
bmdlIGJ5IHNldHRpbmcgXCR7c2hsaWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGli
cmFyeSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT0k
aGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlX0dDSgoKIyBTZXQgdG8gInllcyIg
aWYgdXNpbmcgdGhlIC1MRElSIGZsYWcgZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X21pbnVzX0w9JGhhcmRjb2RlX21pbnVzX0xfR0NKCgojIFNldCB0byAieWVz
IiBpZiB1c2luZyBTSExJQlBBVEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBo
YXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFy
ZGNvZGVfc2hsaWJwYXRoX3Zhcj0kaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcl9H
Q0oKCiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJh
cnkgYXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgbGli
cmFyeSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRh
YmxlcyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9
JGhhcmRjb2RlX2F1dG9tYXRpY19HQ0oKCiMgU2V0IHRvIHllcyBpZiBsaW5r
ZXIgYWRkcyBydW50aW1lIHBhdGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMK
IyB0byBydW50aW1lIHBhdGggbGlzdC4KaW5oZXJpdF9ycGF0aD0kaW5oZXJp
dF9ycGF0aF9HQ0oKCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHBy
b2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgps
aW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9kZXBsaWJzX0dDSgoKIyBTZXQg
dG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFs
d2F5c19leHBvcnRfc3ltYm9scz0kYWx3YXlzX2V4cG9ydF9zeW1ib2xzX0dD
SgoKIyBUaGUgY29tbWFuZHMgdG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpl
eHBvcnRfc3ltYm9sc19jbWRzPSRsdF9leHBvcnRfc3ltYm9sc19jbWRzX0dD
SgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhl
IHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9JGx0X2V4Y2x1
ZGVfZXhwc3ltc19HQ0oKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJl
IGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9JGx0X2luY2x1ZGVfZXhwc3lt
c19HQ0oKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dy
YW1zIChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxp
bmtfY21kcz0kbHRfcHJlbGlua19jbWRzX0dDSgoKIyBDb21tYW5kcyBuZWNl
c3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0bGlu
a19jbWRzPSRsdF9wb3N0bGlua19jbWRzX0dDSgoKIyBTcGVjaWZ5IGZpbGVu
YW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSRs
dF9maWxlX2xpc3Rfc3BlY19HQ0oKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hh
cmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2Rl
X2FjdGlvbj0kaGFyZGNvZGVfYWN0aW9uX0dDSgoKIyBUaGUgZGlyZWN0b3Jp
ZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEg
c2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlycz0kbHRf
Y29tcGlsZXJfbGliX3NlYXJjaF9kaXJzX0dDSgoKIyBEZXBlbmRlbmNpZXMg
dG8gcGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBs
aW5rZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29i
amVjdHM9JGx0X3ByZWRlcF9vYmplY3RzX0dDSgpwb3N0ZGVwX29iamVjdHM9
JGx0X3Bvc3RkZXBfb2JqZWN0c19HQ0oKcHJlZGVwcz0kbHRfcHJlZGVwc19H
Q0oKcG9zdGRlcHM9JGx0X3Bvc3RkZXBzX0dDSgoKIyBUaGUgbGlicmFyeSBz
ZWFyY2ggcGF0aCB1c2VkIGludGVybmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdo
ZW4gbGlua2luZwojIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9z
ZWFyY2hfcGF0aD0kbHRfY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoX0dDSgoK
IyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogR0NKCl9MVF9FT0YKCgog
ICAgY2F0IDw8X0xUX0VPRiA+PiAiJG9maWxlIgoKIyAjIyMgQkVHSU4gTElC
VE9PTCBUQUcgQ09ORklHOiBSQwoKIyBUaGUgbGlua2VyIHVzZWQgdG8gYnVp
bGQgbGlicmFyaWVzLgpMRD0kbHRfTERfUkMKCiMgSG93IHRvIGNyZWF0ZSBy
ZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9JGx0X3JlbG9h
ZF9mbGFnX1JDCnJlbG9hZF9jbWRzPSRsdF9yZWxvYWRfY21kc19SQwoKIyBD
b21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpv
bGRfYXJjaGl2ZV9jbWRzPSRsdF9vbGRfYXJjaGl2ZV9jbWRzX1JDCgojIEEg
bGFuZ3VhZ2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSRsdF9jb21waWxlcl9S
QwoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9n
Y2M9JEdDQ19SQwoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0
aW4gZnVuY3Rpb25zLgpub19idWlsdGluX2ZsYWc9JGx0X2x0X3Byb2dfY29t
cGlsZXJfbm9fYnVpbHRpbl9mbGFnX1JDCgojIEFkZGl0aW9uYWwgY29tcGls
ZXIgZmxhZ3MgZm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2Zs
YWc9JGx0X2x0X3Byb2dfY29tcGlsZXJfcGljX1JDCgojIEhvdyB0byBwYXNz
IGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSRsdF9s
dF9wcm9nX2NvbXBpbGVyX3dsX1JDCgojIENvbXBpbGVyIGZsYWcgdG8gcHJl
dmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9JGx0X2x0
X3Byb2dfY29tcGlsZXJfc3RhdGljX1JDCgojIERvZXMgY29tcGlsZXIgc2lt
dWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGls
ZXJfY19vPSRsdF9sdF9jdl9wcm9nX2NvbXBpbGVyX2Nfb19SQwoKIyBXaGV0
aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZvciBidWlsZGluZyBzaGFyZWQgbGli
cmFyaWVzLgpidWlsZF9saWJ0b29sX25lZWRfbGM9JGFyY2hpdmVfY21kc19u
ZWVkX2xjX1JDCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJl
ZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xp
YnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz0kZW5hYmxlX3NoYXJl
ZF93aXRoX3N0YXRpY19ydW50aW1lc19SQwoKIyBDb21waWxlciBmbGFnIHRv
IGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFn
X3NwZWM9JGx0X2V4cG9ydF9keW5hbWljX2ZsYWdfc3BlY19SQwoKIyBDb21w
aWxlciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5
IGZyb20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSRsdF93
aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY19SQwoKIyBXaGV0aGVyIHRoZSBjb21w
aWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4K
Y29tcGlsZXJfbmVlZHNfb2JqZWN0PSRsdF9jb21waWxlcl9uZWVkc19vYmpl
Y3RfUkMKCiMgQ3JlYXRlIGFuIG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBz
aGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kcz0kbHRf
b2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kc19SQwoKIyBDcmVhdGUgYSB0ZW1w
b3Jhcnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEg
c2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRz
PSRsdF9vbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kc19SQwoKIyBDb21t
YW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVf
Y21kcz0kbHRfYXJjaGl2ZV9jbWRzX1JDCmFyY2hpdmVfZXhwc3ltX2NtZHM9
JGx0X2FyY2hpdmVfZXhwc3ltX2NtZHNfUkMKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBi
dWlsZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSRsdF9t
b2R1bGVfY21kc19SQwptb2R1bGVfZXhwc3ltX2NtZHM9JGx0X21vZHVsZV9l
eHBzeW1fY21kc19SQwoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3aXRo
IEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xkPSRsdF93aXRoX2dudV9sZF9S
QwoKIyBGbGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1
bmRlZmluZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVk
X2ZsYWc9JGx0X2FsbG93X3VuZGVmaW5lZF9mbGFnX1JDCgojIEZsYWcgdGhh
dCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVk
X2ZsYWc9JGx0X25vX3VuZGVmaW5lZF9mbGFnX1JDCgojIEZsYWcgdG8gaGFy
ZGNvZGUgXCRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4K
IyBUaGlzIG11c3Qgd29yayBldmVuIGlmIFwkbGliZGlyIGRvZXMgbm90IGV4
aXN0CmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9JGx0X2hhcmRjb2RlX2xp
YmRpcl9mbGFnX3NwZWNfUkMKCiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xl
ICItcnBhdGgiIGZsYWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4KaGFy
ZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0kbHRfaGFyZGNvZGVfbGliZGlyX3Nl
cGFyYXRvcl9SQwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5B
TUVcJHtzaGFyZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBE
SVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0
PSRoYXJkY29kZV9kaXJlY3RfUkMKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5n
IERJUi9saWJOQU1FXCR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFy
ZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkgYW5kIHRo
ZSByZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFic29sdXRl
IixpLmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyBcJHtzaGxp
YnBhdGhfdmFyfSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFy
ZGNvZGVfZGlyZWN0X2Fic29sdXRlPSRoYXJkY29kZV9kaXJlY3RfYWJzb2x1
dGVfUkMKCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFn
IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1
bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19MPSRoYXJkY29kZV9taW51
c19MX1JDCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBBVEhfVkFS
PURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUg
cmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0kaGFy
ZGNvZGVfc2hsaWJwYXRoX3Zhcl9SQwoKIyBTZXQgdG8gInllcyIgaWYgYnVp
bGRpbmcgYSBzaGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBs
aWJyYXJpZXMgYW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQu
CmhhcmRjb2RlX2F1dG9tYXRpYz0kaGFyZGNvZGVfYXV0b21hdGljX1JDCgoj
IFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBk
ZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmlu
aGVyaXRfcnBhdGg9JGluaGVyaXRfcnBhdGhfUkMKCiMgV2hldGhlciBsaWJ0
b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVu
ZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPSRsaW5rX2FsbF9k
ZXBsaWJzX1JDCgojIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xz
IGFyZSByZXF1aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPSRhbHdheXNf
ZXhwb3J0X3N5bWJvbHNfUkMKCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhw
b3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0kbHRfZXhwb3J0
X3N5bWJvbHNfY21kc19SQwoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBi
ZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4
cHN5bXM9JGx0X2V4Y2x1ZGVfZXhwc3ltc19SQwoKIyBTeW1ib2xzIHRoYXQg
bXVzdCBhbHdheXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0kbHRf
aW5jbHVkZV9leHBzeW1zX1JDCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3Ig
bGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVt
cGxhdGVzLgpwcmVsaW5rX2NtZHM9JGx0X3ByZWxpbmtfY21kc19SQwoKIyBD
b21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dy
YW1zLgpwb3N0bGlua19jbWRzPSRsdF9wb3N0bGlua19jbWRzX1JDCgojIFNw
ZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmlsZV9s
aXN0X3NwZWM9JGx0X2ZpbGVfbGlzdF9zcGVjX1JDCgojIEhvdyB0byBoYXJk
Y29kZSBhIHNoYXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxl
LgpoYXJkY29kZV9hY3Rpb249JGhhcmRjb2RlX2FjdGlvbl9SQwoKIyBUaGUg
ZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNy
ZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hf
ZGlycz0kbHRfY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzX1JDCgojIERlcGVu
ZGVuY2llcyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3Rz
IGJlaW5nIGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5Lgpw
cmVkZXBfb2JqZWN0cz0kbHRfcHJlZGVwX29iamVjdHNfUkMKcG9zdGRlcF9v
YmplY3RzPSRsdF9wb3N0ZGVwX29iamVjdHNfUkMKcHJlZGVwcz0kbHRfcHJl
ZGVwc19SQwpwb3N0ZGVwcz0kbHRfcG9zdGRlcHNfUkMKCiMgVGhlIGxpYnJh
cnkgc2VhcmNoIHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxl
ciB3aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9s
aWJfc2VhcmNoX3BhdGg9JGx0X2NvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aF9S
QwoKIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogUkMKX0xUX0VPRgoK
IDs7CgogIGVzYWMKZG9uZSAjIGZvciBhY190YWcKCgphc19mbl9leGl0IDAK

--_----------=_13840355941782731
Content-Disposition: attachment; filename="test-suite.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="test-suite.log"

PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAg
R05VIExpYnRvb2wgMi40LjI6IC4vdGVzdC1zdWl0ZS5sb2cgICAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkFsbCAxMDQg
dGVzdHMgcGFzc2VkLiAgKDIgdGVzdHMgd2VyZSBub3QgcnVuKS4gIAoKLi4g
Y29udGVudHM6OiA6ZGVwdGg6IDIKCgpTS0lQOiB0ZXN0cy9jZGVtby11bmRl
Zi50ZXN0IChleGl0OiA3NykKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CgpjZGVtby11bmRlZi50ZXN0OiA9PT0gIFJ1bm5pbmcg
Y2RlbW8tdW5kZWYudGVzdApjZGVtby11bmRlZi50ZXN0OiA9PT0gIFJ1bm5p
bmcgYG1ha2UgZGlzdGNsZWFuJyBpbiBjZGVtbwogcm0gLWYgY2RlbW8uZXhl
CiBybSAtZiBjZGVtbwpybSAtcmYgLmxpYnMgX2xpYnMKdGVzdCAteiAibGli
Zm9vLmxhIiB8fCBybSAtZiBsaWJmb28ubGEKcm0gLWYgIi4vc29fbG9jYXRp
b25zIgpybSAtZiAqLm8Kcm0gLWYgKi5sbwpybSAtZiAqLnRhYi5jCnRlc3Qg
LXogIiIgfHwgcm0gLWYgCnRlc3QgLiA9ICIvTWluR1cvc2hhcmUvYXV0b21h
a2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2NkZW1vIiB8fCB0ZXN0IC16
ICIiIHx8IHJtIC1mIApybSAtZiBsaWJ0b29sIGNvbmZpZy5sdAphY19maWxl
cz0iYS5vdXQuKiBhLmV4ZS4qIGFfb3V0LmV4ZS4qIGIub3V0LiogY29uZnRl
c3QuKiI7IFwKCWZvciBhY19maWxlIGluICRhY19maWxlczsgZG8gXAoJICBj
YXNlICRhY19maWxlIGluIFwKCSAgICAqLnhjb2ZmIHwgKi50ZHMgfCAqLmQg
fCAqLnBkYiB8ICoueFNZTSB8ICouYmIgfCAqLmJiZyB8ICoubWFwIHwgKi5p
bmYgfCAqLmRTWU0gKSBybSAtcmYgJGFjX2ZpbGUgOzsgXAoJICBlc2FjOyBc
Cglkb25lCnJtIC1mIFRBR1MgSUQgR1RBR1MgR1JUQUdTIEdTWU1TIEdQQVRI
IHRhZ3MKcm0gLWYgY29uZmlnLnN0YXR1cyBjb25maWcuY2FjaGUgY29uZmln
LmxvZyBjb25maWd1cmUubGluZW5vIGNvbmZpZy5zdGF0dXMubGluZW5vCnJt
IC1mIE1ha2VmaWxlCmNkZW1vLXVuZGVmLnRlc3Q6ID09PSAgQ29uZmlndXJp
bmcgaW4gY2RlbW8KY2RlbW8tdW5kZWYudGVzdDogPT09ICAvYmluL3NoIC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
Y2RlbW8vY29uZmlndXJlIC0tc3JjZGlyPS9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY2RlbW8gLS1wcmVmaXg9L21p
bmd3L2xpYnRvb2wtYnVpbGQtZHVlLXRvLUdOVS9faW5zdC1jZGVtbyAtLWRp
c2FibGUtc3RhdGljCmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu
c3RhbGwuLi4gL2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVp
bGQgZW52aXJvbm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEg
dGhyZWFkLXNhZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2lu
ZyBmb3IgZ2F3ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRz
ICQoTUFLRSkuLi4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNr
aW5nIHdoZXRoZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNr
aW5nIGZvciBDIGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4u
LiBhLmV4ZQpjaGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4u
IC5leGUKY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5n
Li4uIG5vCmNoZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4u
IG8KY2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNv
bXBpbGVyLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1n
Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNP
IEM4OS4uLiBub25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5j
bHVkZSB1c2VkIGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kg
c3R5bGUgb2YgZ2NjLi4uIGdjYzMKY2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5
cGUuLi4gaTY4Ni1wYy1taW5ndzMyCmNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5
cGUuLi4gaTY4Ni1wYy1taW5ndzMyCmNoZWNraW5nIGhvdyB0byBwcmludCBz
dHJpbmdzLi4uIHByaW50ZgpjaGVja2luZyBmb3IgYSBzZWQgdGhhdCBkb2Vz
IG5vdCB0cnVuY2F0ZSBvdXRwdXQuLi4gL2Jpbi9zZWQKY2hlY2tpbmcgZm9y
IGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1lLi4uIC9iaW4v
Z3JlcApjaGVja2luZyBmb3IgZWdyZXAuLi4gL2Jpbi9ncmVwIC1FCmNoZWNr
aW5nIGZvciBmZ3JlcC4uLiAvYmluL2dyZXAgLUYKY2hlY2tpbmcgZm9yIGxk
IHVzZWQgYnkgZ2NjLi4uIGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZQpj
aGVja2luZyBpZiB0aGUgbGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9s
ZC5leGUpIGlzIEdOVSBsZC4uLiB5ZXMKY2hlY2tpbmcgZm9yIEJTRC0gb3Ig
TVMtY29tcGF0aWJsZSBuYW1lIGxpc3RlciAobm0pLi4uIC9iaW4vbm0gLUIK
Y2hlY2tpbmcgdGhlIG5hbWUgbGlzdGVyICgvYmluL25tIC1CKSBpbnRlcmZh
Y2UuLi4gQlNEIG5tCmNoZWNraW5nIHdoZXRoZXIgbG4gLXMgd29ya3MuLi4g
bm8sIHVzaW5nIGNwIC1wCmNoZWNraW5nIHRoZSBtYXhpbXVtIGxlbmd0aCBv
ZiBjb21tYW5kIGxpbmUgYXJndW1lbnRzLi4uIDgxOTIKY2hlY2tpbmcgd2hl
dGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0
cy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFu
ZHMgIis9Ii4uLiB5ZXMKY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgaTY4Ni1w
Yy1taW5ndzMyIGZpbGUgbmFtZXMgdG8gaTY4Ni1wYy1taW5ndzMyIGZvcm1h
dC4uLiAoY2FjaGVkKSBmdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgpj
aGVja2luZyBob3cgdG8gY29udmVydCBpNjg2LXBjLW1pbmd3MzIgZmlsZSBu
YW1lcyB0byB0b29sY2hhaW4gZm9ybWF0Li4uIChjYWNoZWQpIGZ1bmNfY29u
dmVydF9maWxlX21zeXNfdG9fdzMyCmNoZWNraW5nIGZvciBjOi90aW5ndy9t
aW5ndzMyL2Jpbi9sZC5leGUgb3B0aW9uIHRvIHJlbG9hZCBvYmplY3QgZmls
ZXMuLi4gLXIKY2hlY2tpbmcgZm9yIG9iamR1bXAuLi4gb2JqZHVtcApjaGVj
a2luZyBob3cgdG8gcmVjb2duaXplIGRlcGVuZGVudCBsaWJyYXJpZXMuLi4g
ZmlsZV9tYWdpYyBeeDg2IGFyY2hpdmUgaW1wb3J0fF54ODYgRExMCmNoZWNr
aW5nIGZvciBkbGx0b29sLi4uIGRsbHRvb2wKY2hlY2tpbmcgaG93IHRvIGFz
c29jaWF0ZSBydW50aW1lIGFuZCBsaW5rIGxpYnJhcmllcy4uLiBmdW5jX2N5
Z21pbmdfZGxsX2Zvcl9pbXBsaWIKY2hlY2tpbmcgZm9yIGFyY2hpdmVyIEBG
SUxFIHN1cHBvcnQuLi4gQApjaGVja2luZyBmb3Igc3RyaXAuLi4gc3RyaXAK
Y2hlY2tpbmcgZm9yIHJhbmxpYi4uLiByYW5saWIKY2hlY2tpbmcgY29tbWFu
ZCB0byBwYXJzZSAvYmluL25tIC1CIG91dHB1dCBmcm9tIGdjYyBvYmplY3Qu
Li4gb2sKY2hlY2tpbmcgZm9yIHN5c3Jvb3QuLi4gbm8KY2hlY2tpbmcgZm9y
IG10Li4uIDoKY2hlY2tpbmcgaWYgOiBpcyBhIG1hbmlmZXN0IHRvb2wuLi4g
bm8KY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IuLi4g
Z2NjIC1FCmNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uIHll
cwpjaGVja2luZyBmb3Igc3lzL3R5cGVzLmguLi4geWVzCmNoZWNraW5nIGZv
ciBzeXMvc3RhdC5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RkbGliLmguLi4g
eWVzCmNoZWNraW5nIGZvciBzdHJpbmcuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IG1lbW9yeS5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RyaW5ncy5oLi4uIHll
cwpjaGVja2luZyBmb3IgaW50dHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IHN0ZGludC5oLi4uIHllcwpjaGVja2luZyBmb3IgdW5pc3RkLmguLi4geWVz
CmNoZWNraW5nIGZvciBkbGZjbi5oLi4uIG5vCmNoZWNraW5nIGZvciBvYmpk
aXIuLi4gLmxpYnMKY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0
aSAtZm5vLWV4Y2VwdGlvbnMuLi4gbm8KY2hlY2tpbmcgZm9yIGdjYyBvcHRp
b24gdG8gcHJvZHVjZSBQSUMuLi4gLURETExfRVhQT1JUIC1EUElDCmNoZWNr
aW5nIGlmIGdjYyBQSUMgZmxhZyAtRERMTF9FWFBPUlQgLURQSUMgd29ya3Mu
Li4geWVzCmNoZWNraW5nIGlmIGdjYyBzdGF0aWMgZmxhZyAtc3RhdGljIHdv
cmtzLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmls
ZS5vLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmls
ZS5vLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBnY2Mg
bGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIHN1cHBvcnRz
IHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgLWxj
IHNob3VsZCBiZSBleHBsaWNpdGx5IGxpbmtlZCBpbi4uLiB5ZXMKY2hlY2tp
bmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIFdpbjMyIGxk
LmV4ZQpjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBp
bnRvIHByb2dyYW1zLi4uIGltbWVkaWF0ZQpjaGVja2luZyB3aGV0aGVyIHN0
cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUuLi4geWVzCmNoZWNraW5n
IGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLi4u
IHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJp
ZXMuLi4gbm8KY2hlY2tpbmcgZm9yIGNvcyBpbiAtbG0uLi4geWVzCmNvbmZp
Z3VyZTogY3JlYXRpbmcgLi9jb25maWcuc3RhdHVzCmNvbmZpZy5zdGF0dXM6
IGNyZWF0aW5nIE1ha2VmaWxlCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBk
ZXBmaWxlcyBjb21tYW5kcwpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgbGli
dG9vbCBjb21tYW5kcwpjZGVtby11bmRlZi50ZXN0OiBpNjg2LXBjLW1pbmd3
MzIgZG9lc24ndCBzdXBwb3J0IHVuZGVmaW5lZCBzeW1ib2xzIGluIHNoYXJl
ZCBsaWJzCgpTS0lQOiB0ZXN0cy90YWdkZW1vLXVuZGVmLnRlc3QgKGV4aXQ6
IDc3KQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQoKdGFnZGVtby11bmRlZi50ZXN0OiA9PT0gIFJ1bm5pbmcgdGFnZGVtby11
bmRlZi50ZXN0CnRhZ2RlbW8tdW5kZWYudGVzdDogPT09ICBSdW5uaW5nIGBt
YWtlIGRpc3RjbGVhbicgaW4gdGFnZGVtbwogcm0gLWYgdGFnZGVtby5leGUK
IHJtIC1mIHRhZ2RlbW8KdGVzdCAteiAibGliZm9vLmxhIGxpYmJhei5sYSIg
fHwgcm0gLWYgbGliZm9vLmxhIGxpYmJhei5sYQpybSAtZiAiLi9zb19sb2Nh
dGlvbnMiCnJtIC1mICIuL3NvX2xvY2F0aW9ucyIKcm0gLXJmIC5saWJzIF9s
aWJzCnRlc3QgLXogImxpYmNvbnYubGEiIHx8IHJtIC1mIGxpYmNvbnYubGEK
cm0gLWYgIi4vc29fbG9jYXRpb25zIgpybSAtZiAqLm8Kcm0gLWYgKi5sbwpy
bSAtZiAqLnRhYi5jCnRlc3QgLXogIiIgfHwgcm0gLWYgCnRlc3QgLiA9ICIv
TWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3Rz
L3RhZ2RlbW8iIHx8IHRlc3QgLXogIiIgfHwgcm0gLWYgCnJtIC1mIGxpYnRv
b2wgY29uZmlnLmx0CmFjX2ZpbGVzPSJhLm91dC4qIGEuZXhlLiogYV9vdXQu
ZXhlLiogYi5vdXQuKiBjb25mdGVzdC4qIjsgXAoJZm9yIGFjX2ZpbGUgaW4g
JGFjX2ZpbGVzOyBkbyBcCgkgIGNhc2UgJGFjX2ZpbGUgaW4gXAoJICAgICou
eGNvZmYgfCAqLnRkcyB8ICouZCB8ICoucGRiIHwgKi54U1lNIHwgKi5iYiB8
ICouYmJnIHwgKi5tYXAgfCAqLmluZiB8ICouZFNZTSApIHJtIC1yZiAkYWNf
ZmlsZSA7OyBcCgkgIGVzYWM7IFwKCWRvbmUKcm0gLWYgVEFHUyBJRCBHVEFH
UyBHUlRBR1MgR1NZTVMgR1BBVEggdGFncwpybSAtZiBjb25maWcuc3RhdHVz
IGNvbmZpZy5jYWNoZSBjb25maWcubG9nIGNvbmZpZ3VyZS5saW5lbm8gY29u
ZmlnLnN0YXR1cy5saW5lbm8Kcm0gLWYgTWFrZWZpbGUKdGFnZGVtby11bmRl
Zi50ZXN0OiA9PT0gIENvbmZpZ3VyaW5nIGluIHRhZ2RlbW8KdGFnZGVtby11
bmRlZi50ZXN0OiA9PT0gIC9iaW4vc2ggL01pbkdXL3NoYXJlL2F1dG9tYWtl
LTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy90YWdkZW1vL2NvbmZpZ3VyZSAt
LXNyY2Rpcj0vTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIu
NC4yL3Rlc3RzL3RhZ2RlbW8gLS1wcmVmaXg9L21pbmd3L2xpYnRvb2wtYnVp
bGQtZHVlLXRvLUdOVS9faW5zdC10YWdkZW1vIC0tZGlzYWJsZS1zdGF0aWMK
Y2hlY2tpbmcgYnVpbGQgc3lzdGVtIHR5cGUuLi4gaTY4Ni1wYy1taW5ndzMy
CmNoZWNraW5nIGhvc3Qgc3lzdGVtIHR5cGUuLi4gaTY4Ni1wYy1taW5ndzMy
CmNoZWNraW5nIHRhcmdldCBzeXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3
MzIKY2hlY2tpbmcgZm9yIGEgQlNELWNvbXBhdGlibGUgaW5zdGFsbC4uLiAv
YmluL2luc3RhbGwgLWMKY2hlY2tpbmcgd2hldGhlciBidWlsZCBlbnZpcm9u
bWVudCBpcyBzYW5lLi4uIHllcwpjaGVja2luZyBmb3IgYSB0aHJlYWQtc2Fm
ZSBta2RpciAtcC4uLiAvYmluL21rZGlyIC1wCmNoZWNraW5nIGZvciBnYXdr
Li4uIGdhd2sKY2hlY2tpbmcgd2hldGhlciBtYWtlIHNldHMgJChNQUtFKS4u
LiB5ZXMKY2hlY2tpbmcgZm9yIGdjYy4uLiBnY2MKY2hlY2tpbmcgd2hldGhl
ciB0aGUgQyBjb21waWxlciB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIEMg
Y29tcGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lLi4uIGEuZXhlCmNo
ZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMuLi4gLmV4ZQpjaGVj
a2luZyB3aGV0aGVyIHdlIGFyZSBjcm9zcyBjb21waWxpbmcuLi4gbm8KY2hl
Y2tpbmcgZm9yIHN1ZmZpeCBvZiBvYmplY3QgZmlsZXMuLi4gbwpjaGVja2lu
ZyB3aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMgY29tcGlsZXIuLi4g
eWVzCmNoZWNraW5nIHdoZXRoZXIgZ2NjIGFjY2VwdHMgLWcuLi4geWVzCmNo
ZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBJU08gQzg5Li4uIG5v
bmUgbmVlZGVkCmNoZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQg
YnkgbWFrZS4uLiBHTlUKY2hlY2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBn
Y2MuLi4gZ2NjMwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nl
c3Nvci4uLiBnY2MgLUUKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVu
ZGVyc3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyB3
aGV0aGVyIHdlIGFyZSB1c2luZyB0aGUgR05VIEMrKyBjb21waWxlci4uLiB5
ZXMKY2hlY2tpbmcgd2hldGhlciBnKysgYWNjZXB0cyAtZy4uLiB5ZXMKY2hl
Y2tpbmcgZGVwZW5kZW5jeSBzdHlsZSBvZiBnKysuLi4gZ2NjMwpjaGVja2lu
ZyBob3cgdG8gcnVuIHRoZSBDKysgcHJlcHJvY2Vzc29yLi4uIGcrKyAtRQpj
aGVja2luZyB3aGV0aGVyIHRoZSBjb21waWxlciBpbXBsZW1lbnRzIG5hbWVz
cGFjZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGNvbXBpbGVyIGhh
cyBJU08gQysrIGlvc3RyZWFtLi4uIHllcwpjaGVja2luZyBob3cgdG8gcHJp
bnQgc3RyaW5ncy4uLiBwcmludGYKY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQg
ZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0Li4uIC9iaW4vc2VkCmNoZWNraW5n
IGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZS4uLiAv
YmluL2dyZXAKY2hlY2tpbmcgZm9yIGVncmVwLi4uIC9iaW4vZ3JlcCAtRQpj
aGVja2luZyBmb3IgZmdyZXAuLi4gL2Jpbi9ncmVwIC1GCmNoZWNraW5nIGZv
ciBsZCB1c2VkIGJ5IGdjYy4uLiBjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5l
eGUKY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoYzovdGluZ3cvbWluZ3czMi9i
aW4vbGQuZXhlKSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIGZvciBCU0Qt
IG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKS4uLiAvYmluL25t
IC1CCmNoZWNraW5nIHRoZSBuYW1lIGxpc3RlciAoL2Jpbi9ubSAtQikgaW50
ZXJmYWNlLi4uIEJTRCBubQpjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtz
Li4uIG5vLCB1c2luZyBjcCAtcApjaGVja2luZyB0aGUgbWF4aW11bSBsZW5n
dGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4uLiA4MTkyCmNoZWNraW5n
IHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0
cnVjdHMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVy
c3RhbmRzICIrPSIuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2
ODYtcGMtbWluZ3czMiBmaWxlIG5hbWVzIHRvIGk2ODYtcGMtbWluZ3czMiBm
b3JtYXQuLi4gKGNhY2hlZCkgZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193
MzIKY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgaTY4Ni1wYy1taW5ndzMyIGZp
bGUgbmFtZXMgdG8gdG9vbGNoYWluIGZvcm1hdC4uLiAoY2FjaGVkKSBmdW5j
X2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgpjaGVja2luZyBmb3IgYzovdGlu
Z3cvbWluZ3czMi9iaW4vbGQuZXhlIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0
IGZpbGVzLi4uIC1yCmNoZWNraW5nIGZvciBvYmpkdW1wLi4uIG9iamR1bXAK
Y2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVz
Li4uIGZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2IERMTApj
aGVja2luZyBmb3IgZGxsdG9vbC4uLiBkbGx0b29sCmNoZWNraW5nIGhvdyB0
byBhc3NvY2lhdGUgcnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMuLi4gZnVu
Y19jeWdtaW5nX2RsbF9mb3JfaW1wbGliCmNoZWNraW5nIGZvciBhcmNoaXZl
ciBARklMRSBzdXBwb3J0Li4uIEAKY2hlY2tpbmcgZm9yIHN0cmlwLi4uIHN0
cmlwCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIGNv
bW1hbmQgdG8gcGFyc2UgL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBnY2Mgb2Jq
ZWN0Li4uIG9rCmNoZWNraW5nIGZvciBzeXNyb290Li4uIG5vCmNoZWNraW5n
IGZvciBtdC4uLiA6CmNoZWNraW5nIGlmIDogaXMgYSBtYW5pZmVzdCB0b29s
Li4uIG5vCmNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVzLi4uIHll
cwpjaGVja2luZyBmb3Igc3lzL3R5cGVzLmguLi4geWVzCmNoZWNraW5nIGZv
ciBzeXMvc3RhdC5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RkbGliLmguLi4g
eWVzCmNoZWNraW5nIGZvciBzdHJpbmcuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IG1lbW9yeS5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RyaW5ncy5oLi4uIHll
cwpjaGVja2luZyBmb3IgaW50dHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IHN0ZGludC5oLi4uIHllcwpjaGVja2luZyBmb3IgdW5pc3RkLmguLi4geWVz
CmNoZWNraW5nIGZvciBkbGZjbi5oLi4uIG5vCmNoZWNraW5nIGZvciBvYmpk
aXIuLi4gLmxpYnMKY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0
aSAtZm5vLWV4Y2VwdGlvbnMuLi4gbm8KY2hlY2tpbmcgZm9yIGdjYyBvcHRp
b24gdG8gcHJvZHVjZSBQSUMuLi4gLURETExfRVhQT1JUIC1EUElDCmNoZWNr
aW5nIGlmIGdjYyBQSUMgZmxhZyAtRERMTF9FWFBPUlQgLURQSUMgd29ya3Mu
Li4geWVzCmNoZWNraW5nIGlmIGdjYyBzdGF0aWMgZmxhZyAtc3RhdGljIHdv
cmtzLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmls
ZS5vLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmls
ZS5vLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBnY2Mg
bGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIHN1cHBvcnRz
IHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgLWxj
IHNob3VsZCBiZSBleHBsaWNpdGx5IGxpbmtlZCBpbi4uLiB5ZXMKY2hlY2tp
bmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzLi4uIFdpbjMyIGxk
LmV4ZQpjaGVja2luZyBob3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBp
bnRvIHByb2dyYW1zLi4uIGltbWVkaWF0ZQpjaGVja2luZyB3aGV0aGVyIHN0
cmlwcGluZyBsaWJyYXJpZXMgaXMgcG9zc2libGUuLi4geWVzCmNoZWNraW5n
IGlmIGxpYnRvb2wgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzLi4u
IHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJp
ZXMuLi4gbm8KY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQysrIHByZXByb2Nl
c3Nvci4uLiBnKysgLUUKY2hlY2tpbmcgZm9yIGxkIHVzZWQgYnkgZysrLi4u
IGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZQpjaGVja2luZyBpZiB0aGUg
bGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIGlzIEdOVSBs
ZC4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciB0aGUgZysrIGxpbmtlciAoYzov
dGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlKSBzdXBwb3J0cyBzaGFyZWQgbGli
cmFyaWVzLi4uIHllcwpjaGVja2luZyBmb3IgZysrIG9wdGlvbiB0byBwcm9k
dWNlIFBJQy4uLiAtRERMTF9FWFBPUlQgLURQSUMKY2hlY2tpbmcgaWYgZysr
IFBJQyBmbGFnIC1ERExMX0VYUE9SVCAtRFBJQyB3b3Jrcy4uLiB5ZXMKY2hl
Y2tpbmcgaWYgZysrIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29ya3MuLi4geWVz
CmNoZWNraW5nIGlmIGcrKyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4geWVz
CmNoZWNraW5nIGlmIGcrKyBzdXBwb3J0cyAtYyAtbyBmaWxlLm8uLi4gKGNh
Y2hlZCkgeWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGcrKyBsaW5rZXIgKGM6
L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSkgc3VwcG9ydHMgc2hhcmVkIGxp
YnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFj
dGVyaXN0aWNzLi4uIFdpbjMyIGxkLmV4ZQpjaGVja2luZyBob3cgdG8gaGFy
ZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zLi4uIGltbWVkaWF0
ZQpjaGVja2luZyBmb3IgY29zIGluIC1sbS4uLiB5ZXMKY29uZmlndXJlOiBj
cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp
bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVz
IGNvbW1hbmRzCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBsaWJ0b29sIGNv
bW1hbmRzCnRhZ2RlbW8tdW5kZWYudGVzdDogaTY4Ni1wYy1taW5ndzMyIGRv
ZXNuJ3Qgc3VwcG9ydCB1bmRlZmluZWQgc3ltYm9scyBpbiBzaGFyZWQgbGli
cwo=

--_----------=_13840355941782731
Content-Disposition: attachment; filename="libtool"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="libtool"

IyEgL2Jpbi9zaAoKIyBsaWJ0b29sIC0gUHJvdmlkZSBnZW5lcmFsaXplZCBs
aWJyYXJ5LWJ1aWxkaW5nIHN1cHBvcnQgc2VydmljZXMuCiMgR2VuZXJhdGVk
IGF1dG9tYXRpY2FsbHkgYnkgY29uZmlnLnN0YXR1cyAobGlidG9vbCkgMi40
CiMgTGlidG9vbCB3YXMgY29uZmlndXJlZCBvbiBob3N0IGtoZWxkYXI6CiMg
Tk9URTogQ2hhbmdlcyBtYWRlIHRvIHRoaXMgZmlsZSB3aWxsIGJlIGxvc3Q6
IGxvb2sgYXQgbHRtYWluLnNoLgojCiMgICBDb3B5cmlnaHQgKEMpIDE5OTYs
IDE5OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIw
MDUsCiMgICAgICAgICAgICAgICAgIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLAojICAgICAgICAgICAg
ICAgICBJbmMuCiMgICBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0LCAx
OTk2CiMKIyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBMaWJ0b29sLgoj
CiMgR05VIExpYnRvb2wgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKIyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
IHZlcnNpb24gMiBvZgojIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgQXMgYSBzcGVjaWFsIGV4Y2Vw
dGlvbiB0byB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCiMgaWYg
eW91IGRpc3RyaWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFt
IG9yIGxpYnJhcnkgdGhhdAojIGlzIGJ1aWx0IHVzaW5nIEdOVSBMaWJ0b29s
LCB5b3UgbWF5IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQojIHNhbWUg
ZGlzdHJpYnV0aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qg
b2YgdGhhdCBwcm9ncmFtLgojCiMgR05VIExpYnRvb2wgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIEdOVSBMaWJ0b29sOyBzZWUg
dGhlIGZpbGUgQ09QWUlORy4gIElmIG5vdCwgYSBjb3B5CiMgY2FuIGJlIGRv
d25sb2FkZWQgZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3Bs
Lmh0bWwsIG9yCiMgb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAojIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgoK
CiMgVGhlIG5hbWVzIG9mIHRoZSB0YWdnZWQgY29uZmlndXJhdGlvbnMgc3Vw
cG9ydGVkIGJ5IHRoaXMgc2NyaXB0LgphdmFpbGFibGVfdGFncz0iQ1hYIEY3
NyBGQyBHQ0ogUkMgIgoKIyAjIyMgQkVHSU4gTElCVE9PTCBDT05GSUcKCiMg
V2hpY2ggcmVsZWFzZSBvZiBsaWJ0b29sLm00IHdhcyB1c2VkPwptYWNyb192
ZXJzaW9uPTIuNAptYWNyb19yZXZpc2lvbj0xLjMyOTQKCiMgQXNzZW1ibGVy
IHByb2dyYW0uCkFTPSJhcyIKCiMgRExMIGNyZWF0aW9uIHByb2dyYW0uCkRM
TFRPT0w9ImRsbHRvb2wiCgojIE9iamVjdCBkdW1wZXIgcHJvZ3JhbS4KT0JK
RFVNUD0ib2JqZHVtcCIKCiMgV2hldGhlciBvciBub3QgdG8gYnVpbGQgc2hh
cmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9saWJzPXllcwoKIyBXaGV0
aGVyIG9yIG5vdCB0byBidWlsZCBzdGF0aWMgbGlicmFyaWVzLgpidWlsZF9v
bGRfbGlicz15ZXMKCiMgV2hhdCB0eXBlIG9mIG9iamVjdHMgdG8gYnVpbGQu
CnBpY19tb2RlPWRlZmF1bHQKCiMgV2hldGhlciBvciBub3QgdG8gb3B0aW1p
emUgZm9yIGZhc3QgaW5zdGFsbGF0aW9uLgpmYXN0X2luc3RhbGw9bmVlZGxl
c3MKCiMgU2hlbGwgdG8gdXNlIHdoZW4gaW52b2tpbmcgc2hlbGwgc2NyaXB0
cy4KU0hFTEw9Ii9iaW4vc2giCgojIEFuIGVjaG8gcHJvZ3JhbSB0aGF0IHBy
b3RlY3RzIGJhY2tzbGFzaGVzLgpFQ0hPPSJwcmludGYgJXNcXG4iCgojIFRo
ZSBob3N0IHN5c3RlbS4KaG9zdF9hbGlhcz0KaG9zdD1pNjg2LXBjLW1pbmd3
MzIKaG9zdF9vcz1taW5ndzMyCgojIFRoZSBidWlsZCBzeXN0ZW0uCmJ1aWxk
X2FsaWFzPQpidWlsZD1pNjg2LXBjLW1pbmd3MzIKYnVpbGRfb3M9bWluZ3cz
MgoKIyBBIHNlZCBwcm9ncmFtIHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0
cHV0LgpTRUQ9Ii9iaW4vc2VkIgoKIyBTZWQgdGhhdCBoZWxwcyB1cyBhdm9p
ZCBhY2NpZGVudGFsbHkgdHJpZ2dlcmluZyBlY2hvKDEpIG9wdGlvbnMgbGlr
ZSAtbi4KWHNlZD0iJFNFRCAtZSAxcy9eWC8vIgoKIyBBIGdyZXAgcHJvZ3Jh
bSB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcy4KR1JFUD0iL2Jpbi9ncmVwIgoK
IyBBbiBFUkUgbWF0Y2hlci4KRUdSRVA9Ii9iaW4vZ3JlcCAtRSIKCiMgQSBs
aXRlcmFsIHN0cmluZyBtYXRjaGVyLgpGR1JFUD0iL2Jpbi9ncmVwIC1GIgoK
IyBBIEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3Rlci4KTk09Ii9i
aW4vbm0gLUIiCgojIFdoZXRoZXIgd2UgbmVlZCBzb2Z0IG9yIGhhcmQgbGlu
a3MuCkxOX1M9ImNwIC1wIgoKIyBXaGF0IGlzIHRoZSBtYXhpbXVtIGxlbmd0
aCBvZiBhIGNvbW1hbmQ/Cm1heF9jbWRfbGVuPTgxOTIKCiMgT2JqZWN0IGZp
bGUgc3VmZml4IChub3JtYWxseSAibyIpLgpvYmpleHQ9bwoKIyBFeGVjdXRh
YmxlIGZpbGUgc3VmZml4IChub3JtYWxseSAiIikuCmV4ZWV4dD0KCiMgd2hl
dGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgInVuc2V0Ii4KbHRfdW5zZXQ9
dW5zZXQKCiMgdHVybiBzcGFjZXMgaW50byBuZXdsaW5lcy4KU1AyTkw9InRy
IFxcMDQwIFxcMDEyIgoKIyB0dXJuIG5ld2xpbmVzIGludG8gc3BhY2VzLgpO
TDJTUD0idHIgXFwwMTVcXDAxMiBcXDA0MFxcMDQwIgoKIyBjb252ZXJ0ICRi
dWlsZCBmaWxlIG5hbWVzIHRvICRob3N0IGZvcm1hdC4KdG9faG9zdF9maWxl
X2NtZD1mdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgoKIyBjb252ZXJ0
ICRidWlsZCBmaWxlcyB0byB0b29sY2hhaW4gZm9ybWF0Lgp0b190b29sX2Zp
bGVfY21kPWZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCgojIE1ldGhv
ZCB0byBjaGVjayB3aGV0aGVyIGRlcGVuZGVudCBsaWJyYXJpZXMgYXJlIHNo
YXJlZCBvYmplY3RzLgpkZXBsaWJzX2NoZWNrX21ldGhvZD0iZmlsZV9tYWdp
YyBeeDg2IGFyY2hpdmUgaW1wb3J0fF54ODYgRExMIgoKIyBDb21tYW5kIHRv
IHVzZSB3aGVuIGRlcGxpYnNfY2hlY2tfbWV0aG9kID0gImZpbGVfbWFnaWMi
LgpmaWxlX21hZ2ljX2NtZD0iZnVuY193aW4zMl9saWJpZCIKCiMgSG93IHRv
IGZpbmQgcG90ZW50aWFsIGZpbGVzIHdoZW4gZGVwbGlic19jaGVja19tZXRo
b2QgPSAiZmlsZV9tYWdpYyIuCmZpbGVfbWFnaWNfZ2xvYj0iIgoKIyBGaW5k
IHBvdGVudGlhbCBmaWxlcyB1c2luZyBub2Nhc2VnbG9iIHdoZW4gZGVwbGli
c19jaGVja19tZXRob2QgPSAiZmlsZV9tYWdpYyIuCndhbnRfbm9jYXNlZ2xv
Yj0ieWVzIgoKIyBDb21tYW5kIHRvIGFzc29jaWF0ZSBzaGFyZWQgYW5kIGxp
bmsgbGlicmFyaWVzLgpzaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZD0iZnVu
Y19jeWdtaW5nX2RsbF9mb3JfaW1wbGliIgoKIyBUaGUgYXJjaGl2ZXIuCkFS
PSJhciIKCiMgRmxhZ3MgdG8gY3JlYXRlIGFuIGFyY2hpdmUuCkFSX0ZMQUdT
PSJjcnUiCgojIEhvdyB0byBmZWVkIGEgZmlsZSBsaXN0aW5nIHRvIHRoZSBh
cmNoaXZlci4KYXJjaGl2ZXJfbGlzdF9zcGVjPSJAIgoKIyBBIHN5bWJvbCBz
dHJpcHBpbmcgcHJvZ3JhbS4KU1RSSVA9InN0cmlwIgoKIyBDb21tYW5kcyB1
c2VkIHRvIGluc3RhbGwgYW4gb2xkLXN0eWxlIGFyY2hpdmUuClJBTkxJQj0i
cmFubGliIgpvbGRfcG9zdGluc3RhbGxfY21kcz0iY2htb2QgNjQ0IFwkb2xk
bGliflwkUkFOTElCIFwkb2xkbGliIgpvbGRfcG9zdHVuaW5zdGFsbF9jbWRz
PSIiCgojIFdoZXRoZXIgdG8gdXNlIGEgbG9jayBmb3Igb2xkIGFyY2hpdmUg
ZXh0cmFjdGlvbi4KbG9ja19vbGRfYXJjaGl2ZV9leHRyYWN0aW9uPW5vCgoj
IEEgQyBjb21waWxlci4KTFRDQz0iZ2NjIgoKIyBMVENDIGNvbXBpbGVyIGZs
YWdzLgpMVENGTEFHUz0iLU8zIC1zIC1tbXMtYml0ZmllbGRzIC1tYXJjaD1p
Mzg2IC1tdHVuZT1pNjg2IgoKIyBUYWtlIHRoZSBvdXRwdXQgb2Ygbm0gYW5k
IHByb2R1Y2UgYSBsaXN0aW5nIG9mIHJhdyBzeW1ib2xzIGFuZCBDIG5hbWVz
LgpnbG9iYWxfc3ltYm9sX3BpcGU9InNlZCAtbiAtZSAncy9eLipbCSBdXFwo
W0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlxcKVsJIF1bCSBdKl9cXChbX0Et
WmEtel1bX0EtWmEtejAtOV0qXFwpXFx7MCwxXFx9XCQvXFwxIF9cXDIgXFwy
L3AnIHwgc2VkICcvIF9fZ251X2x0by9kJyIKCiMgVHJhbnNmb3JtIHRoZSBv
dXRwdXQgb2Ygbm0gaW4gYSBwcm9wZXIgQyBkZWNsYXJhdGlvbi4KZ2xvYmFs
X3N5bWJvbF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFxcKC4qXFwp
XCQvZXh0ZXJuIGludCBcXDEoKTsvcCcgLWUgJ3MvXltBQkNER0lSU1RXXSog
LiogXFwoLipcXClcJC9leHRlcm4gY2hhciBcXDE7L3AnIgoKIyBUcmFuc2Zv
cm0gdGhlIG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIu
Cmdsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9InNlZCAtbiAtZSAn
cy9eOiBcXChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZvaWQg
KikgMH0sL3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxc
KFteIF0qXFwpXCQvICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwyfSwvcCci
CgojIFRyYW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFk
ZHJlc3MgcGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgpnbG9iYWxf
c3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9InNlZCAtbiAt
ZSAncy9eOiBcXChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZv
aWQgKikgMH0sL3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwp
IFxcKGxpYlteIF0qXFwpXCQvICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwy
fSwvcCcgLWUgJ3MvXltBQkNER0lSU1RXXSogXFwoW14gXSpcXCkgXFwoW14g
XSpcXClcJC8gIHtcImxpYlxcMlwiLCAodm9pZCAqKSBcXCZcXDJ9LC9wJyIK
CiMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzIGZv
ciAkTk0uCm5tX2ZpbGVfbGlzdF9zcGVjPSJAIgoKIyBUaGUgcm9vdCB3aGVy
ZSB0byBzZWFyY2ggZm9yIGRlcGVuZGVudCBsaWJyYXJpZXMsYW5kIGluIHdo
aWNoIG91ciBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxlZC4KbHRfc3lz
cm9vdD0KCiMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRh
aW5zIHRlbXBvcmFyeSBsaWJ0b29sIGZpbGVzLgpvYmpkaXI9LmxpYnMKCiMg
VXNlZCB0byBleGFtaW5lIGxpYnJhcmllcyB3aGVuIGZpbGVfbWFnaWNfY21k
IGJlZ2lucyB3aXRoICJmaWxlIi4KTUFHSUNfQ01EPWZpbGUKCiMgTXVzdCB3
ZSBsb2NrIGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/Cm5lZWRfbG9j
a3M9Im5vIgoKIyBNYW5pZmVzdCB0b29sLgpNQU5JRkVTVF9UT09MPSI6IgoK
IyBUb29sIHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3lt
Ym9sIGZpbGVzIG9uIE1hYyBPUyBYLgpEU1lNVVRJTD0iIgoKIyBUb29sIHRv
IGNoYW5nZSBnbG9iYWwgdG8gbG9jYWwgc3ltYm9scyBvbiBNYWMgT1MgWC4K
Tk1FRElUPSIiCgojIFRvb2wgdG8gbWFuaXB1bGF0ZSBmYXQgb2JqZWN0cyBh
bmQgYXJjaGl2ZXMgb24gTWFjIE9TIFguCkxJUE89IiIKCiMgbGRkL3JlYWRl
bGYgbGlrZSB0b29sIGZvciBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFgu
Ck9UT09MPSIiCgojIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgNjQgYml0
IE1hY2gtTyBiaW5hcmllcyBvbiBNYWMgT1MgWCAxMC40LgpPVE9PTDY0PSIi
CgojIE9sZCBhcmNoaXZlIHN1ZmZpeCAobm9ybWFsbHkgImEiKS4KbGliZXh0
PWEKCiMgU2hhcmVkIGxpYnJhcnkgc3VmZml4IChub3JtYWxseSAiLnNvIiku
CnNocmV4dF9jbWRzPSIuZGxsIgoKIyBUaGUgY29tbWFuZHMgdG8gZXh0cmFj
dCB0aGUgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBhIHNoYXJlZCBhcmNo
aXZlLgpleHRyYWN0X2V4cHN5bXNfY21kcz0iIgoKIyBWYXJpYWJsZXMgd2hv
c2UgdmFsdWVzIHNob3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIg
c2NyaXB0cyBhbmQKIyByZXN0b3JlZCBhdCBsaW5rIHRpbWUuCnZhcmlhYmxl
c19zYXZlZF9mb3JfcmVsaW5rPSJQQVRIIFBBVEggTERfUlVOX1BBVEggR0ND
X0VYRUNfUFJFRklYIENPTVBJTEVSX1BBVEggTElCUkFSWV9QQVRIIgoKIyBE
byB3ZSBuZWVkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVsZXM/Cm5lZWRf
bGliX3ByZWZpeD1ubwoKIyBEbyB3ZSBuZWVkIGEgdmVyc2lvbiBmb3IgbGli
cmFyaWVzPwpuZWVkX3ZlcnNpb249bm8KCiMgTGlicmFyeSB2ZXJzaW9uaW5n
IHR5cGUuCnZlcnNpb25fdHlwZT13aW5kb3dzCgojIFNoYXJlZCBsaWJyYXJ5
IHJ1bnRpbWUgcGF0aCB2YXJpYWJsZS4KcnVucGF0aF92YXI9TERfUlVOX1BB
VEgKCiMgU2hhcmVkIGxpYnJhcnkgcGF0aCB2YXJpYWJsZS4Kc2hsaWJwYXRo
X3Zhcj1QQVRICgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhl
IGhhcmQtY29kZWQgbGlicmFyeSBzZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292
ZXJyaWRlc19ydW5wYXRoPXllcwoKIyBGb3JtYXQgb2YgbGlicmFyeSBuYW1l
IHByZWZpeC4KbGlibmFtZV9zcGVjPSJsaWJcJG5hbWUiCgojIExpc3Qgb2Yg
YXJjaGl2ZSBuYW1lcy4gIEZpcnN0IG5hbWUgaXMgdGhlIHJlYWwgb25lLCB0
aGUgcmVzdCBhcmUgbGlua3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0aGUgb25l
IHRoYXQgdGhlIGxpbmtlciBmaW5kcyB3aXRoIC1sTkFNRQpsaWJyYXJ5X25h
bWVzX3NwZWM9IlwkbGlibmFtZS5kbGwuYSIKCiMgVGhlIGNvZGVkIG5hbWUg
b2YgdGhlIGxpYnJhcnksIGlmIGRpZmZlcmVudCBmcm9tIHRoZSByZWFsIG5h
bWUuCnNvbmFtZV9zcGVjPSJcJHtsaWJuYW1lfVxgZWNobyBcJHtyZWxlYXNl
fSB8IFwkU0VEIC1lIHMvWy5dLy0vZ1xgXCR7dmVyc3VmZml4fVwke3NoYXJl
ZF9leHR9IgoKIyBQZXJtaXNzaW9uIG1vZGUgb3ZlcnJpZGUgZm9yIGluc3Rh
bGxhdGlvbiBvZiBzaGFyZWQgbGlicmFyaWVzLgppbnN0YWxsX292ZXJyaWRl
X21vZGU9IiIKCiMgQ29tbWFuZCB0byB1c2UgYWZ0ZXIgaW5zdGFsbGF0aW9u
IG9mIGEgc2hhcmVkIGFyY2hpdmUuCnBvc3RpbnN0YWxsX2NtZHM9ImJhc2Vf
ZmlsZT1cXFxgYmFzZW5hbWUgXFxcJHtmaWxlfVxcXGB+CiAgICAgIGRscGF0
aD1cXFxgXCRTSEVMTCAyPiYxIC1jICcuIFwkZGlyLydcXFwke2Jhc2VfZmls
ZX0naTsgZWNobyBcXFwkZGxuYW1lJ1xcXGB+CiAgICAgIGRsZGlyPVwkZGVz
dGRpci9cXFxgZGlybmFtZSBcXFwkZGxwYXRoXFxcYH4KICAgICAgdGVzdCAt
ZCBcXFwkZGxkaXIgfHwgbWtkaXIgLXAgXFxcJGRsZGlyfgogICAgICBcJGlu
c3RhbGxfcHJvZyBcJGRpci9cJGRsbmFtZSBcXFwkZGxkaXIvXCRkbG5hbWV+
CiAgICAgIGNobW9kIGEreCBcXFwkZGxkaXIvXCRkbG5hbWV+CiAgICAgIGlm
IHRlc3QgLW4gJ1wkc3RyaXBtZScgJiYgdGVzdCAtbiAnXCRzdHJpcGxpYic7
IHRoZW4KICAgICAgICBldmFsICdcJHN0cmlwbGliIFxcXCRkbGRpci9cJGRs
bmFtZScgfHwgZXhpdCBcXFwkPzsKICAgICAgZmkiCgojIENvbW1hbmQgdG8g
dXNlIGFmdGVyIHVuaW5zdGFsbGF0aW9uIG9mIGEgc2hhcmVkIGFyY2hpdmUu
CnBvc3R1bmluc3RhbGxfY21kcz0iZGxkbGw9XFxcYFwkU0hFTEwgMj4mMSAt
YyAnLiBcJGZpbGU7IGVjaG8gXFxcJGRsbmFtZSdcXFxgfgogICAgICBkbHBh
dGg9XCRkaXIvXFxcJGRsZGxsfgogICAgICAgXCRSTSBcXFwkZGxwYXRoIgoK
IyBDb21tYW5kcyB1c2VkIHRvIGZpbmlzaCBhIGxpYnRvb2wgbGlicmFyeSBp
bnN0YWxsYXRpb24gaW4gYSBkaXJlY3RvcnkuCmZpbmlzaF9jbWRzPSIiCgoj
IEFzICJmaW5pc2hfY21kcyIsIGV4Y2VwdCBhIHNpbmdsZSBzY3JpcHQgZnJh
Z21lbnQgdG8gYmUgZXZhbGVkIGJ1dAojIG5vdCBzaG93bi4KZmluaXNoX2V2
YWw9IiIKCiMgV2hldGhlciB3ZSBzaG91bGQgaGFyZGNvZGUgbGlicmFyeSBw
YXRocyBpbnRvIGxpYnJhcmllcy4KaGFyZGNvZGVfaW50b19saWJzPW5vCgoj
IENvbXBpbGUtdGltZSBzeXN0ZW0gc2VhcmNoIHBhdGggZm9yIGxpYnJhcmll
cy4Kc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSJjOi9taW5ndy9saWIvZ2Nj
L21pbmd3MzIvNC44LjEgYzovbWluZ3cvbGliL2djYyBjOi9taW5ndy9taW5n
dzMyL2xpYiBjOi9taW5ndy9saWIgL21pbmd3L2xpYiAiCgojIFJ1bi10aW1l
IHN5c3RlbSBzZWFyY2ggcGF0aCBmb3IgbGlicmFyaWVzLgpzeXNfbGliX2Rs
c2VhcmNoX3BhdGhfc3BlYz0iL2xpYiAvdXNyL2xpYiIKCiMgV2hldGhlciBk
bG9wZW4gaXMgc3VwcG9ydGVkLgpkbG9wZW5fc3VwcG9ydD15ZXMKCiMgV2hl
dGhlciBkbG9wZW4gb2YgcHJvZ3JhbXMgaXMgc3VwcG9ydGVkLgpkbG9wZW5f
c2VsZj11bmtub3duCgojIFdoZXRoZXIgZGxvcGVuIG9mIHN0YXRpY2FsbHkg
bGlua2VkIHByb2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGZfc3Rh
dGljPXVua25vd24KCiMgQ29tbWFuZHMgdG8gc3RyaXAgbGlicmFyaWVzLgpv
bGRfc3RyaXBsaWI9InN0cmlwIC0tc3RyaXAtZGVidWciCnN0cmlwbGliPSJz
dHJpcCAtLXN0cmlwLXVubmVlZGVkIgoKCiMgVGhlIGxpbmtlciB1c2VkIHRv
IGJ1aWxkIGxpYnJhcmllcy4KTEQ9ImM6L21pbmd3L21pbmd3MzIvYmluL2xk
LmV4ZSIKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxl
cy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9h
ZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMg
dXNlZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hp
dmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwk
UkFOTElCIFwkb2xkbGliIgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBp
bGVyLgpDQz0iZ2NjIgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21w
aWxlcj8Kd2l0aF9nY2M9eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBv
ZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIC1mbm8t
YnVpbHRpbiIKCiMgQWRkaXRpb25hbCBjb21waWxlciBmbGFncyBmb3IgYnVp
bGRpbmcgbGlicmFyeSBvYmplY3RzLgpwaWNfZmxhZz0iIC1ERExMX0VYUE9S
VCAtRFBJQyIKCiMgSG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdo
IHRoZSBjb21waWxlci4Kd2w9Ii1XbCwiCgojIENvbXBpbGVyIGZsYWcgdG8g
cHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9Ii1z
dGF0aWMiCgojIERvZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9y
dCAtYyBhbmQgLW8gb3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdo
ZXRoZXIgb3Igbm90IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBs
aWJyYXJpZXMuCmJ1aWxkX2xpYnRvb2xfbmVlZF9sYz15ZXMKCiMgV2hldGhl
ciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1l
IGxpYnMgYXJlIHN0YXRpYy4KYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3Rh
dGljX3J1bnRpbWVzPXllcwoKIyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJl
ZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9Ilwk
e3dsfS0tZXhwb3J0LWFsbC1zeW1ib2xzIgoKIyBDb21waWxlciBmbGFnIHRv
IGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJjaGl2
ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSJcJHt3bH0tLXdob2xlLWFy
Y2hpdmVcJGNvbnZlbmllbmNlIFwke3dsfS0tbm8td2hvbGUtYXJjaGl2ZSIK
CiMgV2hldGhlciB0aGUgY29tcGlsZXIgY29wZXMgd2l0aCBwYXNzaW5nIG5v
IG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVyX25lZWRzX29iamVjdD0ibm8i
CgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVk
IGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3Jl
YXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5z
dGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4
cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hh
cmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iXCRDQyAtc2hhcmVkIFwkbGli
b2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9mbGFncyAtbyBcJG91dHB1dF9v
YmpkaXIvXCRzb25hbWUgXCR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNl
IC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciBcJGxpYiIKYXJjaGl2
ZV9leHBzeW1fY21kcz0iaWYgdGVzdCBcXFwieFxcXGBcJFNFRCAxcSBcJGV4
cG9ydF9zeW1ib2xzXFxcYFxcXCIgPSB4RVhQT1JUUzsgdGhlbgoJICBjcCBc
JGV4cG9ydF9zeW1ib2xzIFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7
CgllbHNlCgkgIGVjaG8gRVhQT1JUUyA+IFwkb3V0cHV0X29iamRpci9cJHNv
bmFtZS5kZWY7CgkgIGNhdCBcJGV4cG9ydF9zeW1ib2xzID4+IFwkb3V0cHV0
X29iamRpci9cJHNvbmFtZS5kZWY7CglmaX4KCVwkQ0MgLXNoYXJlZCBcJG91
dHB1dF9vYmpkaXIvXCRzb25hbWUuZGVmIFwkbGlib2JqcyBcJGRlcGxpYnMg
XCRjb21waWxlcl9mbGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUg
XCR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0
LWltcGxpYiAtWGxpbmtlciBcJGxpYiIKCiMgQ29tbWFuZHMgdXNlZCB0byBi
dWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBidWls
ZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSIiCm1vZHVs
ZV9leHBzeW1fY21kcz0iIgoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3
aXRoIEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xkPSJ5ZXMiCgojIEZsYWcg
dGhhdCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBz
eW1ib2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0idW5z
dXBwb3J0ZWQiCgojIEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQg
c3ltYm9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJk
Y29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMg
VGhpcyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0
CmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Ii1MXCRsaWJkaXIiCgojIElm
IGxkIGlzIHVzZWQgd2hlbiBsaW5raW5nLCBmbGFnIHRvIGhhcmRjb2RlICRs
aWJkaXIgaW50byBhIGJpbmFyeQojIGR1cmluZyBsaW5raW5nLiAgVGhpcyBt
dXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0LgpoYXJk
Y29kZV9saWJkaXJfZmxhZ19zcGVjX2xkPSIiCgojIFdoZXRoZXIgd2UgbmVl
ZCBhIHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJn
dW1lbnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0IHRv
ICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJp
bmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5n
IGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0byAieWVzIiBp
ZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtp
bmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkg
YW5kIHRoZSByZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFi
c29sdXRlIixpLmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyAk
e3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMgcmVsb2NhdGVk
LgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9bm8KCiMgU2V0IHRvICJ5ZXMi
IGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRj
b2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29k
ZV9taW51c19MPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBB
VEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50
byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zh
cj11bnN1cHBvcnRlZAoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRpbmcgYSBz
aGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMg
YW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhhcmRjb2Rl
X2F1dG9tYXRpYz1ubwoKIyBTZXQgdG8geWVzIGlmIGxpbmtlciBhZGRzIHJ1
bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJhcmllcwojIHRvIHJ1bnRp
bWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPW5vCgojIFdoZXRoZXIgbGli
dG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBl
bmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVwbGlicz11bmtub3duCgoj
IFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJl
ZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCgojIFRoZSBjb21tYW5kcyB0
byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9ydF9zeW1ib2xzX2NtZHM9
IlwkTk0gXCRsaWJvYmpzIFwkY29udmVuaWVuY2UgfCBcJGdsb2JhbF9zeW1i
b2xfcGlwZSB8IFwkU0VEIC1lICcvXltCQ0RHUlNdWyBdL3MvLipbIF1cXFxc
KFteIF0qXFxcXCkvXFxcXDEgREFUQS87cy9eLipbIF1fX25tX19cXFxcKFte
IF0qXFxcXClbIF1bXiBdKi9cXFxcMSBEQVRBLzsvXklbIF0vZDsvXltBSVRX
XVsgXS9zLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBvcnRfc3ltYm9s
cyIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRo
ZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSJbX10rR0xP
QkFMX09GRlNFVF9UQUJMRV98W19dK0dMT0JBTF9fW0ZJRF1fLip8W19dK2hl
YWRfW0EtWmEtejAtOV9dK19kbGx8W0EtWmEtejAtOV9dK19kbGxfaW5hbWUi
CgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBvcnRlZC4KaW5j
bHVkZV9leHBzeW1zPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlu
a2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxh
dGVzLgpwcmVsaW5rX2NtZHM9IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZv
ciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxpbmtfY21kcz0i
IgoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMu
CmZpbGVfbGlzdF9zcGVjPSIiCgojIEhvdyB0byBoYXJkY29kZSBhIHNoYXJl
ZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29kZV9h
Y3Rpb249aW1tZWRpYXRlCgojIFRoZSBkaXJlY3RvcmllcyBzZWFyY2hlZCBi
eSB0aGlzIGNvbXBpbGVyIHdoZW4gY3JlYXRpbmcgYSBzaGFyZWQgbGlicmFy
eS4KY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzPSIiCgojIERlcGVuZGVuY2ll
cyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5n
IGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBf
b2JqZWN0cz0iIgpwb3N0ZGVwX29iamVjdHM9IiIKcHJlZGVwcz0iIgpwb3N0
ZGVwcz0iIgoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGludGVy
bmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hhcmVk
IGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aD0iIgoKIyAjIyMg
RU5EIExJQlRPT0wgQ09ORklHCgoKIyBsaWJ0b29sIChHTlUgbGlidG9vbCkg
Mi40CiMgV3JpdHRlbiBieSBHb3Jkb24gTWF0emlna2VpdCA8Z29yZEBnbnUu
YWkubWl0LmVkdT4sIDE5OTYKCiMgQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3
LCAxOTk4LCAxOTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LCAy
MDA2LAojIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuCiMgVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyBzZWUg
dGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhlcmUgaXMg
Tk8KIyB3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KCiMgR05VIExp
YnRvb2wgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgojCiMgQXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0
aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCiMgaWYgeW91IGRpc3Ry
aWJ1dGUgdGhpcyBmaWxlIGFzIHBhcnQgb2YgYSBwcm9ncmFtIG9yIGxpYnJh
cnkgdGhhdAojIGlzIGJ1aWx0IHVzaW5nIEdOVSBMaWJ0b29sLCB5b3UgbWF5
IGluY2x1ZGUgdGhpcyBmaWxlIHVuZGVyIHRoZQojIHNhbWUgZGlzdHJpYnV0
aW9uIHRlcm1zIHRoYXQgeW91IHVzZSBmb3IgdGhlIHJlc3Qgb2YgdGhhdCBw
cm9ncmFtLgojCiMgR05VIExpYnRvb2wgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CiMgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiMgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojCiMgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKIyBhbG9uZyB3aXRoIEdOVSBMaWJ0b29sOyBzZWUgdGhlIGZpbGUg
Q09QWUlORy4gIElmIG5vdCwgYSBjb3B5CiMgY2FuIGJlIGRvd25sb2FkZWQg
ZnJvbSBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWwsCiMg
b3Igb2J0YWluZWQgYnkgd3JpdGluZyB0byB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLAojIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgoKIyBVc2FnZTog
JHByb2duYW1lIFtPUFRJT05dLi4uIFtNT0RFLUFSR10uLi4KIwojIFByb3Zp
ZGUgZ2VuZXJhbGl6ZWQgbGlicmFyeS1idWlsZGluZyBzdXBwb3J0IHNlcnZp
Y2VzLgojCiMgICAgICAgLS1jb25maWcgICAgICAgICAgICAgc2hvdyBhbGwg
Y29uZmlndXJhdGlvbiB2YXJpYWJsZXMKIyAgICAgICAtLWRlYnVnICAgICAg
ICAgICAgICBlbmFibGUgdmVyYm9zZSBzaGVsbCB0cmFjaW5nCiMgICAtbiwg
LS1kcnktcnVuICAgICAgICAgICAgZGlzcGxheSBjb21tYW5kcyB3aXRob3V0
IG1vZGlmeWluZyBhbnkgZmlsZXMKIyAgICAgICAtLWZlYXR1cmVzICAgICAg
ICAgICBkaXNwbGF5IGJhc2ljIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24g
YW5kIGV4aXQKIyAgICAgICAtLW1vZGU9TU9ERSAgICAgICAgICB1c2Ugb3Bl
cmF0aW9uIG1vZGUgTU9ERQojICAgICAgIC0tcHJlc2VydmUtZHVwLWRlcHMg
IGRvbid0IHJlbW92ZSBkdXBsaWNhdGUgZGVwZW5kZW5jeSBsaWJyYXJpZXMK
IyAgICAgICAtLXF1aWV0LCAtLXNpbGVudCAgICBkb24ndCBwcmludCBpbmZv
cm1hdGlvbmFsIG1lc3NhZ2VzCiMgICAgICAgLS1uby1xdWlldCwgLS1uby1z
aWxlbnQKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBpbmZv
cm1hdGlvbmFsIG1lc3NhZ2VzIChkZWZhdWx0KQojICAgICAgIC0tdGFnPVRB
RyAgICAgICAgICAgIHVzZSBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyBmcm9t
IHRhZyBUQUcKIyAgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBwcmludCBt
b3JlIGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgdGhhbiBkZWZhdWx0CiMgICAg
ICAgLS1uby12ZXJib3NlICAgICAgICAgZG9uJ3QgcHJpbnQgdGhlIGV4dHJh
IGluZm9ybWF0aW9uYWwgbWVzc2FnZXMKIyAgICAgICAtLXZlcnNpb24gICAg
ICAgICAgICBwcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uCiMgICAtaCwgLS1o
ZWxwLCAtLWhlbHAtYWxsICAgcHJpbnQgc2hvcnQsIGxvbmcsIG9yIGRldGFp
bGVkIGhlbHAgbWVzc2FnZQojCiMgTU9ERSBtdXN0IGJlIG9uZSBvZiB0aGUg
Zm9sbG93aW5nOgojCiMgICAgICAgICBjbGVhbiAgICAgICAgICAgICAgcmVt
b3ZlIGZpbGVzIGZyb20gdGhlIGJ1aWxkIGRpcmVjdG9yeQojICAgICAgICAg
Y29tcGlsZSAgICAgICAgICAgIGNvbXBpbGUgYSBzb3VyY2UgZmlsZSBpbnRv
IGEgbGlidG9vbCBvYmplY3QKIyAgICAgICAgIGV4ZWN1dGUgICAgICAgICAg
ICBhdXRvbWF0aWNhbGx5IHNldCBsaWJyYXJ5IHBhdGgsIHRoZW4gcnVuIGEg
cHJvZ3JhbQojICAgICAgICAgZmluaXNoICAgICAgICAgICAgIGNvbXBsZXRl
IHRoZSBpbnN0YWxsYXRpb24gb2YgbGlidG9vbCBsaWJyYXJpZXMKIyAgICAg
ICAgIGluc3RhbGwgICAgICAgICAgICBpbnN0YWxsIGxpYnJhcmllcyBvciBl
eGVjdXRhYmxlcwojICAgICAgICAgbGluayAgICAgICAgICAgICAgIGNyZWF0
ZSBhIGxpYnJhcnkgb3IgYW4gZXhlY3V0YWJsZQojICAgICAgICAgdW5pbnN0
YWxsICAgICAgICAgIHJlbW92ZSBsaWJyYXJpZXMgZnJvbSBhbiBpbnN0YWxs
ZWQgZGlyZWN0b3J5CiMKIyBNT0RFLUFSR1MgdmFyeSBkZXBlbmRpbmcgb24g
dGhlIE1PREUuICBXaGVuIHBhc3NlZCBhcyBmaXJzdCBvcHRpb24sCiMgYC0t
bW9kZT1NT0RFJyBtYXkgYmUgYWJicmV2aWF0ZWQgYXMgYE1PREUnIG9yIGEg
dW5pcXVlIGFiYnJldmlhdGlvbiBvZiB0aGF0LgojIFRyeSBgJHByb2duYW1l
IC0taGVscCAtLW1vZGU9TU9ERScgZm9yIGEgbW9yZSBkZXRhaWxlZCBkZXNj
cmlwdGlvbiBvZiBNT0RFLgojCiMgV2hlbiByZXBvcnRpbmcgYSBidWcsIHBs
ZWFzZSBkZXNjcmliZSBhIHRlc3QgY2FzZSB0byByZXByb2R1Y2UgaXQgYW5k
CiMgaW5jbHVkZSB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOgojCiMgICAg
ICAgICBob3N0LXRyaXBsZXQ6CSRob3N0CiMgICAgICAgICBzaGVsbDoJCSRT
SEVMTAojICAgICAgICAgY29tcGlsZXI6CQkkTFRDQwojICAgICAgICAgY29t
cGlsZXIgZmxhZ3M6CQkkTFRDRkxBR1MKIyAgICAgICAgIGxpbmtlcjoJCSRM
RCAoZ251PyAkd2l0aF9nbnVfbGQpCiMgICAgICAgICAkcHJvZ25hbWU6CShH
TlUgbGlidG9vbCkgMi40CiMgICAgICAgICBhdXRvbWFrZToJJGF1dG9tYWtl
X3ZlcnNpb24KIyAgICAgICAgIGF1dG9jb25mOgkkYXV0b2NvbmZfdmVyc2lv
bgojCiMgUmVwb3J0IGJ1Z3MgdG8gPGJ1Zy1saWJ0b29sQGdudS5vcmc+Lgoj
IEdOVSBsaWJ0b29sIGhvbWUgcGFnZTogPGh0dHA6Ly93d3cuZ251Lm9yZy9z
b2Z0d2FyZS9saWJ0b29sLz4uCiMgR2VuZXJhbCBoZWxwIHVzaW5nIEdOVSBz
b2Z0d2FyZTogPGh0dHA6Ly93d3cuZ251Lm9yZy9nZXRoZWxwLz4uCgpQUk9H
UkFNPWxpYnRvb2wKUEFDS0FHRT1saWJ0b29sClZFUlNJT049Mi40ClRJTUVT
VEFNUD0iIgpwYWNrYWdlX3JldmlzaW9uPTEuMzI5NAoKIyBCZSBCb3VybmUg
Y29tcGF0aWJsZQppZiB0ZXN0IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYm
IChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KICBlbXVsYXRl
IHNoCiAgTlVMTENNRD06CiAgIyBac2ggMy54IGFuZCA0LnggcGVyZm9ybXMg
d29yZCBzcGxpdHRpbmcgb24gJHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29u
dHJhcnkgdG8gb3VyIHVzYWdlLiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAg
YWxpYXMgLWcgJyR7MSsiJEAifSc9JyIkQCInCiAgc2V0b3B0IE5PX0dMT0Jf
U1VCU1QKZWxzZQogIGNhc2UgYChzZXQgLW8pIDI+L2Rldi9udWxsYCBpbiAq
cG9zaXgqKSBzZXQgLW8gcG9zaXg7OyBlc2FjCmZpCkJJTl9TSD14cGc0OyBl
eHBvcnQgQklOX1NIICMgZm9yIFRydTY0CkRVQUxDQVNFPTE7IGV4cG9ydCBE
VUFMQ0FTRSAjIGZvciBNS1Mgc2gKCiMgQSBmdW5jdGlvbiB0aGF0IGlzIHVz
ZWQgd2hlbiB0aGVyZSBpcyBubyBwcmludCBidWlsdGluIG9yIHByaW50Zi4K
ZnVuY19mYWxsYmFja19lY2hvICgpCnsKICBldmFsICdjYXQgPDxfTFRFQ0hP
X0VPRgokMQpfTFRFQ0hPX0VPRicKfQoKIyBOTFMgbnVpc2FuY2VzOiBXZSBz
YXZlIHRoZSBvbGQgdmFsdWVzIHRvIHJlc3RvcmUgZHVyaW5nIGV4ZWN1dGUg
bW9kZS4KbHRfdXNlcl9sb2NhbGU9Cmx0X3NhZmVfbG9jYWxlPQpmb3IgbHRf
dmFyIGluIExBTkcgTEFOR1VBR0UgTENfQUxMIExDX0NUWVBFIExDX0NPTExB
VEUgTENfTUVTU0FHRVMKZG8KICBldmFsICJpZiB0ZXN0IFwiXCR7JGx0X3Zh
citzZXR9XCIgPSBzZXQ7IHRoZW4KICAgICAgICAgIHNhdmVfJGx0X3Zhcj1c
JCRsdF92YXIKICAgICAgICAgICRsdF92YXI9QwoJICBleHBvcnQgJGx0X3Zh
cgoJICBsdF91c2VyX2xvY2FsZT1cIiRsdF92YXI9XFxcJHNhdmVfXCRsdF92
YXI7IFwkbHRfdXNlcl9sb2NhbGVcIgoJICBsdF9zYWZlX2xvY2FsZT1cIiRs
dF92YXI9QzsgXCRsdF9zYWZlX2xvY2FsZVwiCglmaSIKZG9uZQpMQ19BTEw9
QwpMQU5HVUFHRT1DCmV4cG9ydCBMQU5HVUFHRSBMQ19BTEwKCiRsdF91bnNl
dCBDRFBBVEgKCgojIFdvcmsgYXJvdW5kIGJhY2t3YXJkIGNvbXBhdGliaWxp
dHkgaXNzdWUgb24gSVJJWCA2LjUuIE9uIElSSVggNi40Kywgc2gKIyBpcyBr
c2ggYnV0IHdoZW4gdGhlIHNoZWxsIGlzIGludm9rZWQgYXMgInNoIiBhbmQg
dGhlIGN1cnJlbnQgdmFsdWUgb2YKIyB0aGUgX1hQRyBlbnZpcm9ubWVudCB2
YXJpYWJsZSBpcyBub3QgZXF1YWwgdG8gMSAob25lKSwgdGhlIHNwZWNpYWwK
IyBwb3NpdGlvbmFsIHBhcmFtZXRlciAkMCwgd2l0aGluIGEgZnVuY3Rpb24g
Y2FsbCwgaXMgdGhlIG5hbWUgb2YgdGhlCiMgZnVuY3Rpb24uCnByb2dwYXRo
PSIkMCIKCgoKOiAke0NQPSJjcCAtZiJ9CnRlc3QgIiR7RUNITytzZXR9IiA9
IHNldCB8fCBFQ0hPPSR7YXNfZWNoby0ncHJpbnRmICVzXG4nfQo6ICR7RUdS
RVA9Ii9iaW4vZ3JlcCAtRSJ9CjogJHtGR1JFUD0iL2Jpbi9ncmVwIC1GIn0K
OiAke0dSRVA9Ii9iaW4vZ3JlcCJ9CjogJHtMTl9TPSJjcCAtcCJ9CjogJHtN
QUtFPSJtYWtlIn0KOiAke01LRElSPSJta2RpciJ9CjogJHtNVj0ibXYgLWYi
fQo6ICR7Uk09InJtIC1mIn0KOiAke1NFRD0iL2Jpbi9zZWQifQo6ICR7U0hF
TEw9IiR7Q09ORklHX1NIRUxMLS9iaW4vc2h9In0KOiAke1hzZWQ9IiRTRUQg
LWUgMXMvXlgvLyJ9CgojIEdsb2JhbCB2YXJpYWJsZXM6CkVYSVRfU1VDQ0VT
Uz0wCkVYSVRfRkFJTFVSRT0xCkVYSVRfTUlTTUFUQ0g9NjMgICMgJD8gPSA2
MyBpcyB1c2VkIHRvIGluZGljYXRlIHZlcnNpb24gbWlzbWF0Y2ggdG8gbWlz
c2luZy4KRVhJVF9TS0lQPTc3CSAgIyAkPyA9IDc3IGlzIHVzZWQgdG8gaW5k
aWNhdGUgYSBza2lwcGVkIHRlc3QgdG8gYXV0b21ha2UuCgpleGl0X3N0YXR1
cz0kRVhJVF9TVUNDRVNTCgojIE1ha2Ugc3VyZSBJRlMgaGFzIGEgc2Vuc2li
bGUgZGVmYXVsdApsdF9ubD0nCicKSUZTPSIgCSRsdF9ubCIKCmRpcm5hbWU9
InMsL1teL10qJCwsIgpiYXNlbmFtZT0icyxeLiovLCwiCgojIGZ1bmNfZGly
bmFtZSBmaWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKIyBDb21wdXRl
IHRoZSBkaXJuYW1lIG9mIEZJTEUuICBJZiBub25lbXB0eSwgYWRkIEFQUEVO
RCB0byB0aGUgcmVzdWx0LAojIG90aGVyd2lzZSBzZXQgcmVzdWx0IHRvIE5P
TkRJUl9SRVBMQUNFTUVOVC4KZnVuY19kaXJuYW1lICgpCnsKICAgIGNhc2Ug
JHsxfSBpbgogICAgICAqLyopIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7MSUv
Kn0kezJ9IiA7OwogICAgICAqICApIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7
M30iIDs7CiAgICBlc2FjCn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX2Rpcm5h
bWUgaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfYmFzZW5hbWUgZmlsZQpmdW5j
X2Jhc2VuYW1lICgpCnsKICAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEj
IyovfSIKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfYmFzZW5hbWUgaW1wbGVt
ZW50YXRpb24KCgojIGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgZmlsZSBh
cHBlbmQgbm9uZGlyX3JlcGxhY2VtZW50CiMgcGVyZm9ybSBmdW5jX2Jhc2Vu
YW1lIGFuZCBmdW5jX2Rpcm5hbWUgaW4gYSBzaW5nbGUgZnVuY3Rpb24KIyBj
YWxsOgojICAgZGlybmFtZTogIENvbXB1dGUgdGhlIGRpcm5hbWUgb2YgRklM
RS4gIElmIG5vbmVtcHR5LAojICAgICAgICAgICAgIGFkZCBBUFBFTkQgdG8g
dGhlIHJlc3VsdCwgb3RoZXJ3aXNlIHNldCByZXN1bHQKIyAgICAgICAgICAg
ICB0byBOT05ESVJfUkVQTEFDRU1FTlQuCiMgICAgICAgICAgICAgdmFsdWUg
cmV0dXJuZWQgaW4gIiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgojICAgYmFzZW5h
bWU6IENvbXB1dGUgZmlsZW5hbWUgb2YgRklMRS4KIyAgICAgICAgICAgICB2
YWx1ZSByZXR1bmVkIGluICIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCiMgSW1w
bGVtZW50YXRpb24gbXVzdCBiZSBrZXB0IHN5bmNocm9uaXplZCB3aXRoIGZ1
bmNfZGlybmFtZQojIGFuZCBmdW5jX2Jhc2VuYW1lLiBGb3IgZWZmaWNpZW5j
eSwgd2UgZG8gbm90IGRlbGVnYXRlIHRvCiMgdGhvc2UgZnVuY3Rpb25zIGJ1
dCBpbnN0ZWFkIGR1cGxpY2F0ZSB0aGUgZnVuY3Rpb25hbGl0eSBoZXJlLgpm
dW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICgpCnsKICAgIGNhc2UgJHsxfSBp
bgogICAgICAqLyopIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7MSUvKn0kezJ9
IiA7OwogICAgICAqICApIGZ1bmNfZGlybmFtZV9yZXN1bHQ9IiR7M30iIDs7
CiAgICBlc2FjCiAgICBmdW5jX2Jhc2VuYW1lX3Jlc3VsdD0iJHsxIyMqL30i
Cn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1l
IGltcGxlbWVudGF0aW9uCgoKIyBmdW5jX3N0cmlwbmFtZSBwcmVmaXggc3Vm
Zml4IG5hbWUKIyBzdHJpcCBQUkVGSVggYW5kIFNVRkZJWCBvZmYgb2YgTkFN
RS4KIyBQUkVGSVggYW5kIFNVRkZJWCBtdXN0IG5vdCBjb250YWluIGdsb2Ji
aW5nIG9yIHJlZ2V4IHNwZWNpYWwKIyBjaGFyYWN0ZXJzLCBoYXNoZXMsIHBl
cmNlbnQgc2lnbnMsIGJ1dCBTVUZGSVggbWF5IGNvbnRhaW4gYSBsZWFkaW5n
CiMgZG90IChpbiB3aGljaCBjYXNlIHRoYXQgbWF0Y2hlcyBvbmx5IGEgZG90
KS4KIyBmdW5jX3N0cmlwX3N1ZmZpeCBwcmVmaXggbmFtZQpmdW5jX3N0cmlw
bmFtZSAoKQp7CiAgICAjIHBka3NoIDUuMi4xNCBkb2VzIG5vdCBkbyAke1gl
JFl9IGNvcnJlY3RseSBpZiBib3RoIFggYW5kIFkgYXJlCiAgICAjIHBvc2l0
aW9uYWwgcGFyYW1ldGVycywgc28gYXNzaWduIG9uZSB0byBvcmRpbmFyeSBw
YXJhbWV0ZXIgZmlyc3QuCiAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHsz
fQogICAgZnVuY19zdHJpcG5hbWVfcmVzdWx0PSR7ZnVuY19zdHJpcG5hbWVf
cmVzdWx0IyIkezF9In0KICAgIGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdD0ke2Z1
bmNfc3RyaXBuYW1lX3Jlc3VsdCUiJHsyfSJ9Cn0gIyBFeHRlbmRlZC1zaGVs
bCBmdW5jX3N0cmlwbmFtZSBpbXBsZW1lbnRhdGlvbgoKCiMgVGhlc2UgU0VE
IHNjcmlwdHMgcHJlc3VwcG9zZSBhbiBhYnNvbHV0ZSBwYXRoIHdpdGggYSB0
cmFpbGluZyBzbGFzaC4KcGF0aGNhcj0ncyxeL1woW14vXSpcKS4qJCxcMSwn
CnBhdGhjZHI9J3MsXi9bXi9dKiwsJwpyZW1vdmVkb3RwYXJ0cz0nOmRvdHNs
CgkJc0AvXC4vQC9AZwoJCXQgZG90c2wKCQlzLC9cLiQsLywnCmNvbGxhcHNl
c2xhc2hlcz0nc0AvXHsxLFx9QC9AZycKZmluYWxzbGFzaD0ncywvKiQsLywn
CgojIGZ1bmNfbm9ybWFsX2Fic3BhdGggUEFUSAojIFJlbW92ZSBkb3VibGVk
LXVwIGFuZCB0cmFpbGluZyBzbGFzaGVzLCAiLiIgcGF0aCBjb21wb25lbnRz
LAojIGFuZCBjYW5jZWwgb3V0IGFueSAiLi4iIHBhdGggY29tcG9uZW50cyBp
biBQQVRIIGFmdGVyIG1ha2luZwojIGl0IGFuIGFic29sdXRlIHBhdGguCiMg
ICAgICAgICAgICAgdmFsdWUgcmV0dXJuZWQgaW4gIiRmdW5jX25vcm1hbF9h
YnNwYXRoX3Jlc3VsdCIKZnVuY19ub3JtYWxfYWJzcGF0aCAoKQp7CiAgIyBT
dGFydCBmcm9tIHJvb3QgZGlyIGFuZCByZWFzc2VtYmxlIHRoZSBwYXRoLgog
IGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0PQogIGZ1bmNfbm9ybWFsX2Fi
c3BhdGhfdHBhdGg9JDEKICBmdW5jX25vcm1hbF9hYnNwYXRoX2FsdG5hbWVz
cGFjZT0KICBjYXNlICRmdW5jX25vcm1hbF9hYnNwYXRoX3RwYXRoIGluCiAg
ICAiIikKICAgICAgIyBFbXB0eSBwYXRoLCB0aGF0IGp1c3QgbWVhbnMgJGN3
ZC4KICAgICAgZnVuY19zdHJpcG5hbWUgJycgJy8nICJgcHdkYCIKICAgICAg
ZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQ9JGZ1bmNfc3RyaXBuYW1lX3Jl
c3VsdAogICAgICByZXR1cm4KICAgIDs7CiAgICAjIFRoZSBuZXh0IHRocmVl
IGVudHJpZXMgYXJlIHVzZWQgdG8gc3BvdCBhIHJ1biBvZiBwcmVjaXNlbHkK
ICAgICMgdHdvIGxlYWRpbmcgc2xhc2hlcyB3aXRob3V0IHVzaW5nIG5lZ2F0
ZWQgY2hhcmFjdGVyIGNsYXNzZXM7CiAgICAjIHdlIHRha2UgYWR2YW50YWdl
IG9mIGNhc2UncyBmaXJzdC1tYXRjaCBiZWhhdmlvdXIuCiAgICAvLy8qKQog
ICAgICAjIFVudXN1YWwgZm9ybSBvZiBhYnNvbHV0ZSBwYXRoLCBkbyBub3Ro
aW5nLgogICAgOzsKICAgIC8vKikKICAgICAgIyBOb3QgbmVjZXNzYXJpbHkg
YW4gb3JkaW5hcnkgcGF0aDsgUE9TSVggcmVzZXJ2ZXMgbGVhZGluZyAnLy8n
CiAgICAgICMgYW5kIGZvciBleGFtcGxlIEN5Z3dpbiB1c2VzIGl0IHRvIGFj
Y2VzcyByZW1vdGUgZmlsZSBzaGFyZXMKICAgICAgIyBvdmVyIENJRlMvU01C
LCBzbyB3ZSBjb25zZXJ2ZSBhIGxlYWRpbmcgZG91YmxlIHNsYXNoIGlmIGZv
dW5kLgogICAgICBmdW5jX25vcm1hbF9hYnNwYXRoX2FsdG5hbWVzcGFjZT0v
CiAgICA7OwogICAgLyopCiAgICAgICMgQWJzb2x1dGUgcGF0aCwgZG8gbm90
aGluZy4KICAgIDs7CiAgICAqKQogICAgICAjIFJlbGF0aXZlIHBhdGgsIHBy
ZXBlbmQgJGN3ZC4KICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aF90cGF0aD1g
cHdkYC8kZnVuY19ub3JtYWxfYWJzcGF0aF90cGF0aAogICAgOzsKICBlc2Fj
CiAgIyBDYW5jZWwgb3V0IGFsbCB0aGUgc2ltcGxlIHN0dWZmIHRvIHNhdmUg
aXRlcmF0aW9ucy4gIFdlIGFsc28gd2FudAogICMgdGhlIHBhdGggdG8gZW5k
IHdpdGggYSBzbGFzaCBmb3IgZWFzZSBvZiBwYXJzaW5nLCBzbyBtYWtlIHN1
cmUKICAjIHRoZXJlIGlzIG9uZSAoYW5kIG9ubHkgb25lKSBoZXJlLgogIGZ1
bmNfbm9ybWFsX2Fic3BhdGhfdHBhdGg9YCRFQ0hPICIkZnVuY19ub3JtYWxf
YWJzcGF0aF90cGF0aCIgfCAkU0VEIFwKICAgICAgICAtZSAiJHJlbW92ZWRv
dHBhcnRzIiAtZSAiJGNvbGxhcHNlc2xhc2hlcyIgLWUgIiRmaW5hbHNsYXNo
ImAKICB3aGlsZSA6OyBkbwogICAgIyBQcm9jZXNzZWQgaXQgYWxsIHlldD8K
ICAgIGlmIHRlc3QgIiRmdW5jX25vcm1hbF9hYnNwYXRoX3RwYXRoIiA9IC8g
OyB0aGVuCiAgICAgICMgSWYgd2UgYXNjZW5kZWQgdG8gdGhlIHJvb3QgdXNp
bmcgIi4uIiB0aGUgcmVzdWx0IG1heSBiZSBlbXB0eSBub3cuCiAgICAgIGlm
IHRlc3QgLXogIiRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdCIgOyB0aGVu
CiAgICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQ9LwogICAgICBm
aQogICAgICBicmVhawogICAgZmkKICAgIGZ1bmNfbm9ybWFsX2Fic3BhdGhf
dGNvbXBvbmVudD1gJEVDSE8gIiRmdW5jX25vcm1hbF9hYnNwYXRoX3RwYXRo
IiB8ICRTRUQgXAogICAgICAgIC1lICIkcGF0aGNhciJgCiAgICBmdW5jX25v
cm1hbF9hYnNwYXRoX3RwYXRoPWAkRUNITyAiJGZ1bmNfbm9ybWFsX2Fic3Bh
dGhfdHBhdGgiIHwgJFNFRCBcCiAgICAgICAgLWUgIiRwYXRoY2RyImAKICAg
ICMgRmlndXJlIG91dCB3aGF0IHRvIGRvIHdpdGggaXQKICAgIGNhc2UgJGZ1
bmNfbm9ybWFsX2Fic3BhdGhfdGNvbXBvbmVudCBpbgogICAgICAiIikKICAg
ICAgICAjIFRyYWlsaW5nIGVtcHR5IHBhdGggY29tcG9uZW50LCBpZ25vcmUg
aXQuCiAgICAgIDs7CiAgICAgIC4uKQogICAgICAgICMgUGFyZW50IGRpcjsg
c3RyaXAgbGFzdCBhc3NlbWJsZWQgY29tcG9uZW50IGZyb20gcmVzdWx0Lgog
ICAgICAgIGZ1bmNfZGlybmFtZSAiJGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVz
dWx0IgogICAgICAgIGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0PSRmdW5j
X2Rpcm5hbWVfcmVzdWx0CiAgICAgIDs7CiAgICAgICopCiAgICAgICAgIyBB
Y3R1YWwgcGF0aCBjb21wb25lbnQsIGFwcGVuZCBpdC4KICAgICAgICBmdW5j
X25vcm1hbF9hYnNwYXRoX3Jlc3VsdD0kZnVuY19ub3JtYWxfYWJzcGF0aF9y
ZXN1bHQvJGZ1bmNfbm9ybWFsX2Fic3BhdGhfdGNvbXBvbmVudAogICAgICA7
OwogICAgZXNhYwogIGRvbmUKICAjIFJlc3RvcmUgbGVhZGluZyBkb3VibGUt
c2xhc2ggaWYgb25lIHdhcyBmb3VuZCBvbiBlbnRyeS4KICBmdW5jX25vcm1h
bF9hYnNwYXRoX3Jlc3VsdD0kZnVuY19ub3JtYWxfYWJzcGF0aF9hbHRuYW1l
c3BhY2UkZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKfQoKIyBmdW5jX3Jl
bGF0aXZlX3BhdGggU1JDRElSIERTVERJUgojIGdlbmVyYXRlcyBhIHJlbGF0
aXZlIHBhdGggZnJvbSBTUkNESVIgdG8gRFNURElSLCB3aXRoIGEgdHJhaWxp
bmcKIyBzbGFzaCBpZiBub24tZW1wdHksIHN1aXRhYmxlIGZvciBpbW1lZGlh
dGVseSBhcHBlbmRpbmcgYSBmaWxlbmFtZQojIHdpdGhvdXQgbmVlZGluZyB0
byBhcHBlbmQgYSBzZXBhcmF0b3IuCiMgICAgICAgICAgICAgdmFsdWUgcmV0
dXJuZWQgaW4gIiRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0IgpmdW5jX3Jl
bGF0aXZlX3BhdGggKCkKewogIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQ9
CiAgZnVuY19ub3JtYWxfYWJzcGF0aCAiJDEiCiAgZnVuY19yZWxhdGl2ZV9w
YXRoX3RsaWJkaXI9JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0CiAgZnVu
Y19ub3JtYWxfYWJzcGF0aCAiJDIiCiAgZnVuY19yZWxhdGl2ZV9wYXRoX3Ri
aW5kaXI9JGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0CgogICMgQXNjZW5k
IHRoZSB0cmVlIHN0YXJ0aW5nIGZyb20gbGliZGlyCiAgd2hpbGUgOjsgZG8K
ICAgICMgY2hlY2sgaWYgd2UgaGF2ZSBmb3VuZCBhIHByZWZpeCBvZiBiaW5k
aXIKICAgIGNhc2UgJGZ1bmNfcmVsYXRpdmVfcGF0aF90YmluZGlyIGluCiAg
ICAgICRmdW5jX3JlbGF0aXZlX3BhdGhfdGxpYmRpcikKICAgICAgICAjIGZv
dW5kIGFuIGV4YWN0IG1hdGNoCiAgICAgICAgZnVuY19yZWxhdGl2ZV9wYXRo
X3RjYW5jZWxsZWQ9CiAgICAgICAgYnJlYWsKICAgICAgICA7OwogICAgICAk
ZnVuY19yZWxhdGl2ZV9wYXRoX3RsaWJkaXIqKQogICAgICAgICMgZm91bmQg
YSBtYXRjaGluZyBwcmVmaXgKICAgICAgICBmdW5jX3N0cmlwbmFtZSAiJGZ1
bmNfcmVsYXRpdmVfcGF0aF90bGliZGlyIiAnJyAiJGZ1bmNfcmVsYXRpdmVf
cGF0aF90YmluZGlyIgogICAgICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF90Y2Fu
Y2VsbGVkPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgICAgICBpZiB0ZXN0
IC16ICIkZnVuY19yZWxhdGl2ZV9wYXRoX3Jlc3VsdCI7IHRoZW4KICAgICAg
ICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQ9LgogICAgICAgIGZpCiAg
ICAgICAgYnJlYWsKICAgICAgICA7OwogICAgICAqKQogICAgICAgIGZ1bmNf
ZGlybmFtZSAkZnVuY19yZWxhdGl2ZV9wYXRoX3RsaWJkaXIKICAgICAgICBm
dW5jX3JlbGF0aXZlX3BhdGhfdGxpYmRpcj0ke2Z1bmNfZGlybmFtZV9yZXN1
bHR9CiAgICAgICAgaWYgdGVzdCAieCRmdW5jX3JlbGF0aXZlX3BhdGhfdGxp
YmRpciIgPSB4IDsgdGhlbgogICAgICAgICAgIyBIYXZlIHRvIGRlc2NlbmQg
YWxsIHRoZSB3YXkgdG8gdGhlIHJvb3QhCiAgICAgICAgICBmdW5jX3JlbGF0
aXZlX3BhdGhfcmVzdWx0PS4uLyRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0
CiAgICAgICAgICBmdW5jX3JlbGF0aXZlX3BhdGhfdGNhbmNlbGxlZD0kZnVu
Y19yZWxhdGl2ZV9wYXRoX3RiaW5kaXIKICAgICAgICAgIGJyZWFrCiAgICAg
ICAgZmkKICAgICAgICBmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0PS4uLyRm
dW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0CiAgICAgICAgOzsKICAgIGVzYWMK
ICBkb25lCgogICMgTm93IGNhbGN1bGF0ZSBwYXRoOyB0YWtlIGNhcmUgdG8g
YXZvaWQgZG91YmxpbmctdXAgc2xhc2hlcy4KICBmdW5jX3N0cmlwbmFtZSAn
JyAnLycgIiRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0IgogIGZ1bmNfcmVs
YXRpdmVfcGF0aF9yZXN1bHQ9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAogIGZ1
bmNfc3RyaXBuYW1lICcvJyAnLycgIiRmdW5jX3JlbGF0aXZlX3BhdGhfdGNh
bmNlbGxlZCIKICBpZiB0ZXN0ICJ4JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIg
IT0geCA7IHRoZW4KICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQ9JHtm
dW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0fS8ke2Z1bmNfc3RyaXBuYW1lX3Jl
c3VsdH0KICBmaQoKICAjIE5vcm1hbGlzYXRpb24uIElmIGJpbmRpciBpcyBs
aWJkaXIsIHJldHVybiBlbXB0eSBzdHJpbmcsCiAgIyBlbHNlIHJlbGF0aXZl
IHBhdGggZW5kaW5nIHdpdGggYSBzbGFzaDsgZWl0aGVyIHdheSwgdGFyZ2V0
CiAgIyBmaWxlIG5hbWUgY2FuIGJlIGRpcmVjdGx5IGFwcGVuZGVkLgogIGlm
IHRlc3QgISAteiAiJGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQiOyB0aGVu
CiAgICBmdW5jX3N0cmlwbmFtZSAnLi8nICcnICIkZnVuY19yZWxhdGl2ZV9w
YXRoX3Jlc3VsdC8iCiAgICBmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0PSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKICBmaQp9CgojIFRoZSBuYW1lIG9mIHRo
aXMgcHJvZ3JhbToKZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAiJHByb2dw
YXRoIgpwcm9nbmFtZT0kZnVuY19iYXNlbmFtZV9yZXN1bHQKCiMgTWFrZSBz
dXJlIHdlIGhhdmUgYW4gYWJzb2x1dGUgcGF0aCBmb3IgcmVleGVjdXRpb246
CmNhc2UgJHByb2dwYXRoIGluCiAgW1xcL10qfFtBLVphLXpdOlxcKikgOzsK
ICAqW1xcL10qKQogICAgIHByb2dkaXI9JGZ1bmNfZGlybmFtZV9yZXN1bHQK
ICAgICBwcm9nZGlyPWBjZCAiJHByb2dkaXIiICYmIHB3ZGAKICAgICBwcm9n
cGF0aD0iJHByb2dkaXIvJHByb2duYW1lIgogICAgIDs7CiAgKikKICAgICBz
YXZlX0lGUz0iJElGUyIKICAgICBJRlM9OgogICAgIGZvciBwcm9nZGlyIGlu
ICRQQVRIOyBkbwogICAgICAgSUZTPSIkc2F2ZV9JRlMiCiAgICAgICB0ZXN0
IC14ICIkcHJvZ2Rpci8kcHJvZ25hbWUiICYmIGJyZWFrCiAgICAgZG9uZQog
ICAgIElGUz0iJHNhdmVfSUZTIgogICAgIHRlc3QgLW4gIiRwcm9nZGlyIiB8
fCBwcm9nZGlyPWBwd2RgCiAgICAgcHJvZ3BhdGg9IiRwcm9nZGlyLyRwcm9n
bmFtZSIKICAgICA7Owplc2FjCgojIFNlZCBzdWJzdGl0dXRpb24gdGhhdCBo
ZWxwcyB1cyBkbyByb2J1c3QgcXVvdGluZy4gIEl0IGJhY2tzbGFzaGlmaWVz
CiMgbWV0YWNoYXJhY3RlcnMgdGhhdCBhcmUgc3RpbGwgYWN0aXZlIHdpdGhp
biBkb3VibGUtcXVvdGVkIHN0cmluZ3MuClhzZWQ9IiR7U0VEfSInIC1lIDFz
L15YLy8nCnNlZF9xdW90ZV9zdWJzdD0ncy9cKFtgIiRcXF1cKS9cXFwxL2cn
CgojIFNhbWUgYXMgYWJvdmUsIGJ1dCBkbyBub3QgcXVvdGUgdmFyaWFibGUg
cmVmZXJlbmNlcy4KZG91YmxlX3F1b3RlX3N1YnN0PSdzL1woWyJgXFxdXCkv
XFxcMS9nJwoKIyBTZWQgc3Vic3RpdHV0aW9uIHRoYXQgdHVybnMgYSBzdHJp
bmcgaW50byBhIHJlZ2V4IG1hdGNoaW5nIGZvciB0aGUKIyBzdHJpbmcgbGl0
ZXJhbGx5LgpzZWRfbWFrZV9saXRlcmFsX3JlZ2V4PSdzLFtdLlteJFxcKlwv
XSxcXCYsZycKCiMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGNvbnZlcnRzIGEg
dzMyIGZpbGUgbmFtZSBvciBwYXRoCiMgd2hpY2ggY29udGFpbnMgZm9yd2Fy
ZCBzbGFzaGVzLCBpbnRvIG9uZSB0aGF0IGNvbnRhaW5zCiMgKGVzY2FwZWQp
IGJhY2tzbGFzaGVzLiAgQSB2ZXJ5IG5haXZlIGltcGxlbWVudGF0aW9uLgps
dF9zZWRfbmFpdmVfYmFja3NsYXNoaWZ5PSdzfFxcXFwqfFxcfGc7c3wvfFxc
fGc7c3xcXHxcXFxcfGcnCgojIFJlLWBcJyBwYXJhbWV0ZXIgZXhwYW5zaW9u
cyBpbiBvdXRwdXQgb2YgZG91YmxlX3F1b3RlX3N1YnN0IHRoYXQgd2VyZQoj
IGBcJy1lZCBpbiBpbnB1dCB0byB0aGUgc2FtZS4gIElmIGFuIG9kZCBudW1i
ZXIgb2YgYFwnIHByZWNlZGVkIGEgJyQnCiMgaW4gaW5wdXQgdG8gZG91Ymxl
X3F1b3RlX3N1YnN0LCB0aGF0ICckJyB3YXMgcHJvdGVjdGVkIGZyb20gZXhw
YW5zaW9uLgojIFNpbmNlIGVhY2ggaW5wdXQgYFwnIGlzIG5vdyB0d28gYFwn
cywgbG9vayBmb3IgYW55IG51bWJlciBvZiBydW5zIG9mCiMgZm91ciBgXCdz
IGZvbGxvd2VkIGJ5IHR3byBgXCdzIGFuZCB0aGVuIGEgJyQnLiAgYFwnIHRo
YXQgJyQnLgpicz0nXFwnCmJzMj0nXFxcXCcKYnM0PSdcXFxcXFxcXCcKZG9s
bGFyPSdcJCcKc2VkX2RvdWJsZV9iYWNrc2xhc2g9IlwKICBzLyRiczQvJlxc
Ci9nCiAgcy9eJGJzMiRkb2xsYXIvJGJzJi8KICBzL1xcKFteJGJzXVxcKSRi
czIkZG9sbGFyL1xcMSRiczIkYnMkZG9sbGFyL2cKICBzL1xuLy9nIgoKIyBT
dGFuZGFyZCBvcHRpb25zOgpvcHRfZHJ5X3J1bj1mYWxzZQpvcHRfaGVscD1m
YWxzZQpvcHRfcXVpZXQ9ZmFsc2UKb3B0X3ZlcmJvc2U9ZmFsc2UKb3B0X3dh
cm5pbmc9OgoKIyBmdW5jX2VjaG8gYXJnLi4uCiMgRWNobyBwcm9ncmFtIG5h
bWUgcHJlZml4ZWQgbWVzc2FnZSwgYWxvbmcgd2l0aCB0aGUgY3VycmVudCBt
b2RlCiMgbmFtZSBpZiBpdCBoYXMgYmVlbiBzZXQgeWV0LgpmdW5jX2VjaG8g
KCkKewogICAgJEVDSE8gIiRwcm9nbmFtZTogJHtvcHRfbW9kZSskb3B0X21v
ZGU6IH0kKiIKfQoKIyBmdW5jX3ZlcmJvc2UgYXJnLi4uCiMgRWNobyBwcm9n
cmFtIG5hbWUgcHJlZml4ZWQgbWVzc2FnZSBpbiB2ZXJib3NlIG1vZGUgb25s
eS4KZnVuY192ZXJib3NlICgpCnsKICAgICRvcHRfdmVyYm9zZSAmJiBmdW5j
X2VjaG8gJHsxKyIkQCJ9CgogICAgIyBBIGJ1ZyBpbiBiYXNoIGhhbHRzIHRo
ZSBzY3JpcHQgaWYgdGhlIGxhc3QgbGluZSBvZiBhIGZ1bmN0aW9uCiAgICAj
IGZhaWxzIHdoZW4gc2V0IC1lIGlzIGluIGZvcmNlLCBzbyB3ZSBuZWVkIGFu
b3RoZXIgY29tbWFuZCB0bwogICAgIyB3b3JrIGFyb3VuZCB0aGF0OgogICAg
Ogp9CgojIGZ1bmNfZWNob19hbGwgYXJnLi4uCiMgSW52b2tlICRFQ0hPIHdp
dGggYWxsIGFyZ3MsIHNwYWNlLXNlcGFyYXRlZC4KZnVuY19lY2hvX2FsbCAo
KQp7CiAgICAkRUNITyAiJCoiCn0KCiMgZnVuY19lcnJvciBhcmcuLi4KIyBF
Y2hvIHByb2dyYW0gbmFtZSBwcmVmaXhlZCBtZXNzYWdlIHRvIHN0YW5kYXJk
IGVycm9yLgpmdW5jX2Vycm9yICgpCnsKICAgICRFQ0hPICIkcHJvZ25hbWU6
ICR7b3B0X21vZGUrJG9wdF9tb2RlOiB9IiR7MSsiJEAifSAxPiYyCn0KCiMg
ZnVuY193YXJuaW5nIGFyZy4uLgojIEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZp
eGVkIHdhcm5pbmcgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvci4KZnVuY193
YXJuaW5nICgpCnsKICAgICRvcHRfd2FybmluZyAmJiAkRUNITyAiJHByb2du
YW1lOiAke29wdF9tb2RlKyRvcHRfbW9kZTogfXdhcm5pbmc6ICIkezErIiRA
In0gMT4mMgoKICAgICMgYmFzaCBidWcgYWdhaW46CiAgICA6Cn0KCiMgZnVu
Y19mYXRhbF9lcnJvciBhcmcuLi4KIyBFY2hvIHByb2dyYW0gbmFtZSBwcmVm
aXhlZCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yLCBhbmQgZXhpdC4KZnVu
Y19mYXRhbF9lcnJvciAoKQp7CiAgICBmdW5jX2Vycm9yICR7MSsiJEAifQog
ICAgZXhpdCAkRVhJVF9GQUlMVVJFCn0KCiMgZnVuY19mYXRhbF9oZWxwIGFy
Zy4uLgojIEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZpeGVkIG1lc3NhZ2UgdG8g
c3RhbmRhcmQgZXJyb3IsIGZvbGxvd2VkIGJ5CiMgYSBoZWxwIGhpbnQsIGFu
ZCBleGl0LgpmdW5jX2ZhdGFsX2hlbHAgKCkKewogICAgZnVuY19lcnJvciAk
ezErIiRAIn0KICAgIGZ1bmNfZmF0YWxfZXJyb3IgIiRoZWxwIgp9CmhlbHA9
IlRyeSBcYCRwcm9nbmFtZSAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9u
LiIgICMjIGRlZmF1bHQKCgojIGZ1bmNfZ3JlcCBleHByZXNzaW9uIGZpbGVu
YW1lCiMgQ2hlY2sgd2hldGhlciBFWFBSRVNTSU9OIG1hdGNoZXMgYW55IGxp
bmUgb2YgRklMRU5BTUUsIHdpdGhvdXQgb3V0cHV0LgpmdW5jX2dyZXAgKCkK
ewogICAgJEdSRVAgIiQxIiAiJDIiID4vZGV2L251bGwgMj4mMQp9CgoKIyBm
dW5jX21rZGlyX3AgZGlyZWN0b3J5LXBhdGgKIyBNYWtlIHN1cmUgdGhlIGVu
dGlyZSBwYXRoIHRvIERJUkVDVE9SWS1QQVRIIGlzIGF2YWlsYWJsZS4KZnVu
Y19ta2Rpcl9wICgpCnsKICAgIG15X2RpcmVjdG9yeV9wYXRoPSIkMSIKICAg
IG15X2Rpcl9saXN0PQoKICAgIGlmIHRlc3QgLW4gIiRteV9kaXJlY3Rvcnlf
cGF0aCIgJiYgdGVzdCAiJG9wdF9kcnlfcnVuIiAhPSAiOiI7IHRoZW4KCiAg
ICAgICMgUHJvdGVjdCBkaXJlY3RvcnkgbmFtZXMgc3RhcnRpbmcgd2l0aCBg
LScKICAgICAgY2FzZSAkbXlfZGlyZWN0b3J5X3BhdGggaW4KICAgICAgICAt
KikgbXlfZGlyZWN0b3J5X3BhdGg9Ii4vJG15X2RpcmVjdG9yeV9wYXRoIiA7
OwogICAgICBlc2FjCgogICAgICAjIFdoaWxlIHNvbWUgcG9ydGlvbiBvZiBE
SVIgZG9lcyBub3QgeWV0IGV4aXN0Li4uCiAgICAgIHdoaWxlIHRlc3QgISAt
ZCAiJG15X2RpcmVjdG9yeV9wYXRoIjsgZG8KICAgICAgICAjIC4uLm1ha2Ug
YSBsaXN0IGluIHRvcG1vc3QgZmlyc3Qgb3JkZXIuICBVc2UgYSBjb2xvbiBk
ZWxpbWl0ZWQKCSMgbGlzdCBpbmNhc2Ugc29tZSBwb3J0aW9uIG9mIHBhdGgg
Y29udGFpbnMgd2hpdGVzcGFjZS4KICAgICAgICBteV9kaXJfbGlzdD0iJG15
X2RpcmVjdG9yeV9wYXRoOiRteV9kaXJfbGlzdCIKCiAgICAgICAgIyBJZiB0
aGUgbGFzdCBwb3J0aW9uIGFkZGVkIGhhcyBubyBzbGFzaCBpbiBpdCwgdGhl
IGxpc3QgaXMgZG9uZQogICAgICAgIGNhc2UgJG15X2RpcmVjdG9yeV9wYXRo
IGluICovKikgOzsgKikgYnJlYWsgOzsgZXNhYwoKICAgICAgICAjIC4uLm90
aGVyd2lzZSB0aHJvdyBhd2F5IHRoZSBjaGlsZCBkaXJlY3RvcnkgYW5kIGxv
b3AKICAgICAgICBteV9kaXJlY3RvcnlfcGF0aD1gJEVDSE8gIiRteV9kaXJl
Y3RvcnlfcGF0aCIgfCAkU0VEIC1lICIkZGlybmFtZSJgCiAgICAgIGRvbmUK
ICAgICAgbXlfZGlyX2xpc3Q9YCRFQ0hPICIkbXlfZGlyX2xpc3QiIHwgJFNF
RCAncyw6KiQsLCdgCgogICAgICBzYXZlX21rZGlyX3BfSUZTPSIkSUZTIjsg
SUZTPSc6JwogICAgICBmb3IgbXlfZGlyIGluICRteV9kaXJfbGlzdDsgZG8K
CUlGUz0iJHNhdmVfbWtkaXJfcF9JRlMiCiAgICAgICAgIyBta2RpciBjYW4g
ZmFpbCB3aXRoIGEgYEZpbGUgZXhpc3QnIGVycm9yIGlmIHR3byBwcm9jZXNz
ZXMKICAgICAgICAjIHRyeSB0byBjcmVhdGUgb25lIG9mIHRoZSBkaXJlY3Rv
cmllcyBjb25jdXJyZW50bHkuICBEb24ndAogICAgICAgICMgc3RvcCBpbiB0
aGF0IGNhc2UhCiAgICAgICAgJE1LRElSICIkbXlfZGlyIiAyPi9kZXYvbnVs
bCB8fCA6CiAgICAgIGRvbmUKICAgICAgSUZTPSIkc2F2ZV9ta2Rpcl9wX0lG
UyIKCiAgICAgICMgQmFpbCBvdXQgaWYgd2UgKG9yIHNvbWUgb3RoZXIgcHJv
Y2VzcykgZmFpbGVkIHRvIGNyZWF0ZSBhIGRpcmVjdG9yeS4KICAgICAgdGVz
dCAtZCAiJG15X2RpcmVjdG9yeV9wYXRoIiB8fCBcCiAgICAgICAgZnVuY19m
YXRhbF9lcnJvciAiRmFpbGVkIHRvIGNyZWF0ZSBcYCQxJyIKICAgIGZpCn0K
CgojIGZ1bmNfbWt0ZW1wZGlyIFtzdHJpbmddCiMgTWFrZSBhIHRlbXBvcmFy
eSBkaXJlY3RvcnkgdGhhdCB3b24ndCBjbGFzaCB3aXRoIG90aGVyIHJ1bm5p
bmcKIyBsaWJ0b29sIHByb2Nlc3NlcywgYW5kIGF2b2lkcyByYWNlIGNvbmRp
dGlvbnMgaWYgcG9zc2libGUuICBJZgojIGdpdmVuLCBTVFJJTkcgaXMgdGhl
IGJhc2VuYW1lIGZvciB0aGF0IGRpcmVjdG9yeS4KZnVuY19ta3RlbXBkaXIg
KCkKewogICAgbXlfdGVtcGxhdGU9IiR7VE1QRElSLS90bXB9LyR7MS0kcHJv
Z25hbWV9IgoKICAgIGlmIHRlc3QgIiRvcHRfZHJ5X3J1biIgPSAiOiI7IHRo
ZW4KICAgICAgIyBSZXR1cm4gYSBkaXJlY3RvcnkgbmFtZSwgYnV0IGRvbid0
IGNyZWF0ZSBpdCBpbiBkcnktcnVuIG1vZGUKICAgICAgbXlfdG1wZGlyPSIk
e215X3RlbXBsYXRlfS0kJCIKICAgIGVsc2UKCiAgICAgICMgSWYgbWt0ZW1w
IHdvcmtzLCB1c2UgdGhhdCBmaXJzdCBhbmQgZm9yZW1vc3QKICAgICAgbXlf
dG1wZGlyPWBta3RlbXAgLWQgIiR7bXlfdGVtcGxhdGV9LVhYWFhYWFhYIiAy
Pi9kZXYvbnVsbGAKCiAgICAgIGlmIHRlc3QgISAtZCAiJG15X3RtcGRpciI7
IHRoZW4KICAgICAgICAjIEZhaWxpbmcgdGhhdCwgYXQgbGVhc3QgdHJ5IGFu
ZCB1c2UgJFJBTkRPTSB0byBhdm9pZCBhIHJhY2UKICAgICAgICBteV90bXBk
aXI9IiR7bXlfdGVtcGxhdGV9LSR7UkFORE9NLTB9JCQiCgogICAgICAgIHNh
dmVfbWt0ZW1wZGlyX3VtYXNrPWB1bWFza2AKICAgICAgICB1bWFzayAwMDc3
CiAgICAgICAgJE1LRElSICIkbXlfdG1wZGlyIgogICAgICAgIHVtYXNrICRz
YXZlX21rdGVtcGRpcl91bWFzawogICAgICBmaQoKICAgICAgIyBJZiB3ZSdy
ZSBub3QgaW4gZHJ5LXJ1biBtb2RlLCBib21iIG91dCBvbiBmYWlsdXJlCiAg
ICAgIHRlc3QgLWQgIiRteV90bXBkaXIiIHx8IFwKICAgICAgICBmdW5jX2Zh
dGFsX2Vycm9yICJjYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBkaXJlY3Rvcnkg
XGAkbXlfdG1wZGlyJyIKICAgIGZpCgogICAgJEVDSE8gIiRteV90bXBkaXIi
Cn0KCgojIGZ1bmNfcXVvdGVfZm9yX2V2YWwgYXJnCiMgQWVzdGhldGljYWxs
eSBxdW90ZSBBUkcgdG8gYmUgZXZhbGVkIGxhdGVyLgojIFRoaXMgZnVuY3Rp
b24gcmV0dXJucyB0d28gdmFsdWVzOiBGVU5DX1FVT1RFX0ZPUl9FVkFMX1JF
U1VMVAojIGlzIGRvdWJsZS1xdW90ZWQsIHN1aXRhYmxlIGZvciBhIHN1YnNl
cXVlbnQgZXZhbCwgd2hlcmVhcwojIEZVTkNfUVVPVEVfRk9SX0VWQUxfVU5R
VU9URURfUkVTVUxUIGhhcyBtZXJlbHkgYWxsIGNoYXJhY3RlcnMKIyB3aGlj
aCBhcmUgc3RpbGwgYWN0aXZlIHdpdGhpbiBkb3VibGUgcXVvdGVzIGJhY2tz
bGFzaGlmaWVkLgpmdW5jX3F1b3RlX2Zvcl9ldmFsICgpCnsKICAgIGNhc2Ug
JDEgaW4KICAgICAgKltcXFxgXCJcJF0qKQoJZnVuY19xdW90ZV9mb3JfZXZh
bF91bnF1b3RlZF9yZXN1bHQ9YCRFQ0hPICIkMSIgfCAkU0VEICIkc2VkX3F1
b3RlX3N1YnN0ImAgOzsKICAgICAgKikKICAgICAgICBmdW5jX3F1b3RlX2Zv
cl9ldmFsX3VucXVvdGVkX3Jlc3VsdD0iJDEiIDs7CiAgICBlc2FjCgogICAg
Y2FzZSAkZnVuY19xdW90ZV9mb3JfZXZhbF91bnF1b3RlZF9yZXN1bHQgaW4K
ICAgICAgIyBEb3VibGUtcXVvdGUgYXJncyBjb250YWluaW5nIHNoZWxsIG1l
dGFjaGFyYWN0ZXJzIHRvIGRlbGF5CiAgICAgICMgd29yZCBzcGxpdHRpbmcs
IGNvbW1hbmQgc3Vic3RpdHV0aW9uIGFuZCBhbmQgdmFyaWFibGUKICAgICAg
IyBleHBhbnNpb24gZm9yIGEgc3Vic2VxdWVudCBldmFsLgogICAgICAjIE1h
bnkgQm91cm5lIHNoZWxscyBjYW5ub3QgaGFuZGxlIGNsb3NlIGJyYWNrZXRz
IGNvcnJlY3RseQogICAgICAjIGluIHNjYW4gc2V0cywgc28gd2Ugc3BlY2lm
eSBpdCBzZXBhcmF0ZWx5LgogICAgICAqW1xbXH5cI1xeXCZcKlwoXClce1x9
XHxcO1w8XD5cP1wnXCBcCV0qfCpdKnwiIikKICAgICAgICBmdW5jX3F1b3Rl
X2Zvcl9ldmFsX3Jlc3VsdD0iXCIkZnVuY19xdW90ZV9mb3JfZXZhbF91bnF1
b3RlZF9yZXN1bHRcIiIKICAgICAgICA7OwogICAgICAqKQogICAgICAgIGZ1
bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0PSIkZnVuY19xdW90ZV9mb3JfZXZh
bF91bnF1b3RlZF9yZXN1bHQiCiAgICBlc2FjCn0KCgojIGZ1bmNfcXVvdGVf
Zm9yX2V4cGFuZCBhcmcKIyBBZXN0aGV0aWNhbGx5IHF1b3RlIEFSRyB0byBi
ZSBldmFsZWQgbGF0ZXI7IHNhbWUgYXMgYWJvdmUsCiMgYnV0IGRvIG5vdCBx
dW90ZSB2YXJpYWJsZSByZWZlcmVuY2VzLgpmdW5jX3F1b3RlX2Zvcl9leHBh
bmQgKCkKewogICAgY2FzZSAkMSBpbgogICAgICAqW1xcXGBcIl0qKQoJbXlf
YXJnPWAkRUNITyAiJDEiIHwgJFNFRCBcCgkgICAgLWUgIiRkb3VibGVfcXVv
dGVfc3Vic3QiIC1lICIkc2VkX2RvdWJsZV9iYWNrc2xhc2giYCA7OwogICAg
ICAqKQogICAgICAgIG15X2FyZz0iJDEiIDs7CiAgICBlc2FjCgogICAgY2Fz
ZSAkbXlfYXJnIGluCiAgICAgICMgRG91YmxlLXF1b3RlIGFyZ3MgY29udGFp
bmluZyBzaGVsbCBtZXRhY2hhcmFjdGVycyB0byBkZWxheQogICAgICAjIHdv
cmQgc3BsaXR0aW5nIGFuZCBjb21tYW5kIHN1YnN0aXR1dGlvbiBmb3IgYSBz
dWJzZXF1ZW50IGV2YWwuCiAgICAgICMgTWFueSBCb3VybmUgc2hlbGxzIGNh
bm5vdCBoYW5kbGUgY2xvc2UgYnJhY2tldHMgY29ycmVjdGx5CiAgICAgICMg
aW4gc2NhbiBzZXRzLCBzbyB3ZSBzcGVjaWZ5IGl0IHNlcGFyYXRlbHkuCiAg
ICAgICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8
Kl0qfCIiKQogICAgICAgIG15X2FyZz0iXCIkbXlfYXJnXCIiCiAgICAgICAg
OzsKICAgIGVzYWMKCiAgICBmdW5jX3F1b3RlX2Zvcl9leHBhbmRfcmVzdWx0
PSIkbXlfYXJnIgp9CgoKIyBmdW5jX3Nob3dfZXZhbCBjbWQgW2ZhaWxfZXhw
XQojIFVubGVzcyBvcHRfc2lsZW50IGlzIHRydWUsIHRoZW4gb3V0cHV0IENN
RC4gIFRoZW4sIGlmIG9wdF9kcnlydW4gaXMKIyBub3QgdHJ1ZSwgZXZhbHVh
dGUgQ01ELiAgSWYgdGhlIGV2YWx1YXRpb24gb2YgQ01EIGZhaWxzLCBhbmQg
RkFJTF9FWFAKIyBpcyBnaXZlbiwgdGhlbiBldmFsdWF0ZSBpdC4KZnVuY19z
aG93X2V2YWwgKCkKewogICAgbXlfY21kPSIkMSIKICAgIG15X2ZhaWxfZXhw
PSIkezItOn0iCgogICAgJHtvcHRfc2lsZW50LWZhbHNlfSB8fCB7CiAgICAg
IGZ1bmNfcXVvdGVfZm9yX2V4cGFuZCAiJG15X2NtZCIKICAgICAgZXZhbCAi
ZnVuY19lY2hvICRmdW5jX3F1b3RlX2Zvcl9leHBhbmRfcmVzdWx0IgogICAg
fQoKICAgIGlmICR7b3B0X2RyeV9ydW4tZmFsc2V9OyB0aGVuIDo7IGVsc2UK
ICAgICAgZXZhbCAiJG15X2NtZCIKICAgICAgbXlfc3RhdHVzPSQ/CiAgICAg
IGlmIHRlc3QgIiRteV9zdGF0dXMiIC1lcSAwOyB0aGVuIDo7IGVsc2UKCWV2
YWwgIihleGl0ICRteV9zdGF0dXMpOyAkbXlfZmFpbF9leHAiCiAgICAgIGZp
CiAgICBmaQp9CgoKIyBmdW5jX3Nob3dfZXZhbF9sb2NhbGUgY21kIFtmYWls
X2V4cF0KIyBVbmxlc3Mgb3B0X3NpbGVudCBpcyB0cnVlLCB0aGVuIG91dHB1
dCBDTUQuICBUaGVuLCBpZiBvcHRfZHJ5cnVuIGlzCiMgbm90IHRydWUsIGV2
YWx1YXRlIENNRC4gIElmIHRoZSBldmFsdWF0aW9uIG9mIENNRCBmYWlscywg
YW5kIEZBSUxfRVhQCiMgaXMgZ2l2ZW4sIHRoZW4gZXZhbHVhdGUgaXQuICBV
c2UgdGhlIHNhdmVkIGxvY2FsZSBmb3IgZXZhbHVhdGlvbi4KZnVuY19zaG93
X2V2YWxfbG9jYWxlICgpCnsKICAgIG15X2NtZD0iJDEiCiAgICBteV9mYWls
X2V4cD0iJHsyLTp9IgoKICAgICR7b3B0X3NpbGVudC1mYWxzZX0gfHwgewog
ICAgICBmdW5jX3F1b3RlX2Zvcl9leHBhbmQgIiRteV9jbWQiCiAgICAgIGV2
YWwgImZ1bmNfZWNobyAkZnVuY19xdW90ZV9mb3JfZXhwYW5kX3Jlc3VsdCIK
ICAgIH0KCiAgICBpZiAke29wdF9kcnlfcnVuLWZhbHNlfTsgdGhlbiA6OyBl
bHNlCiAgICAgIGV2YWwgIiRsdF91c2VyX2xvY2FsZQoJICAgICRteV9jbWQi
CiAgICAgIG15X3N0YXR1cz0kPwogICAgICBldmFsICIkbHRfc2FmZV9sb2Nh
bGUiCiAgICAgIGlmIHRlc3QgIiRteV9zdGF0dXMiIC1lcSAwOyB0aGVuIDo7
IGVsc2UKCWV2YWwgIihleGl0ICRteV9zdGF0dXMpOyAkbXlfZmFpbF9leHAi
CiAgICAgIGZpCiAgICBmaQp9CgojIGZ1bmNfdHJfc2gKIyBUdXJuICQxIGlu
dG8gYSBzdHJpbmcgc3VpdGFibGUgZm9yIGEgc2hlbGwgdmFyaWFibGUgbmFt
ZS4KIyBSZXN1bHQgaXMgc3RvcmVkIGluICRmdW5jX3RyX3NoX3Jlc3VsdC4g
IEFsbCBjaGFyYWN0ZXJzCiMgbm90IGluIHRoZSBzZXQgYS16QS1aMC05XyBh
cmUgcmVwbGFjZWQgd2l0aCAnXycuIEZ1cnRoZXIsCiMgaWYgJDEgYmVnaW5z
IHdpdGggYSBkaWdpdCwgYSAnXycgaXMgcHJlcGVuZGVkIGFzIHdlbGwuCmZ1
bmNfdHJfc2ggKCkKewogIGNhc2UgJDEgaW4KICBbMC05XSogfCAqWyFhLXpB
LVowLTlfXSopCiAgICBmdW5jX3RyX3NoX3Jlc3VsdD1gJEVDSE8gIiQxIiB8
ICRTRUQgJ3MvXlwoWzAtOV1cKS9fXDEvOyBzL1teYS16QS1aMC05X10vXy9n
J2AKICAgIDs7CiAgKiApCiAgICBmdW5jX3RyX3NoX3Jlc3VsdD0kMQogICAg
OzsKICBlc2FjCn0KCgojIGZ1bmNfdmVyc2lvbgojIEVjaG8gdmVyc2lvbiBt
ZXNzYWdlIHRvIHN0YW5kYXJkIG91dHB1dCBhbmQgZXhpdC4KZnVuY192ZXJz
aW9uICgpCnsKICAgICRvcHRfZGVidWcKCiAgICAkU0VEIC1uICcvKEMpLyFi
IGdvCgk6bW9yZQoJL1wuLyF7CgkgIE4KCSAgcy9cbiMgLyAvCgkgIGIgbW9y
ZQoJfQoJOmdvCgkvXiMgJyRQUk9HUkFNJyAoR05VIC8sLyMgd2FycmFudHk7
IC8gewogICAgICAgIHMvXiMgLy8KCXMvXiMgKiQvLwogICAgICAgIHMvXCgo
QylcKVsgMC05LC1dKlwoIFsxLTldWzAtOV0qXCkvXDFcMi8KICAgICAgICBw
CiAgICAgfScgPCAiJHByb2dwYXRoIgogICAgIGV4aXQgJD8KfQoKIyBmdW5j
X3VzYWdlCiMgRWNobyBzaG9ydCBoZWxwIG1lc3NhZ2UgdG8gc3RhbmRhcmQg
b3V0cHV0IGFuZCBleGl0LgpmdW5jX3VzYWdlICgpCnsKICAgICRvcHRfZGVi
dWcKCiAgICAkU0VEIC1uICcvXiMgVXNhZ2U6LywvXiMgICouKi0taGVscC8g
ewogICAgICAgIHMvXiMgLy8KCXMvXiMgKiQvLwoJcy9cJHByb2duYW1lLyck
cHJvZ25hbWUnLwoJcAogICAgfScgPCAiJHByb2dwYXRoIgogICAgZWNobwog
ICAgJEVDSE8gInJ1biBcYCRwcm9nbmFtZSAtLWhlbHAgfCBtb3JlJyBmb3Ig
ZnVsbCB1c2FnZSIKICAgIGV4aXQgJD8KfQoKIyBmdW5jX2hlbHAgW05PRVhJ
VF0KIyBFY2hvIGxvbmcgaGVscCBtZXNzYWdlIHRvIHN0YW5kYXJkIG91dHB1
dCBhbmQgZXhpdCwKIyB1bmxlc3MgJ25vZXhpdCcgaXMgcGFzc2VkIGFzIGFy
Z3VtZW50LgpmdW5jX2hlbHAgKCkKewogICAgJG9wdF9kZWJ1ZwoKICAgICRT
RUQgLW4gJy9eIyBVc2FnZTovLC8jIFJlcG9ydCBidWdzIHRvLyB7Cgk6cHJp
bnQKICAgICAgICBzL14jIC8vCglzL14jICokLy8KCXMqXCRwcm9nbmFtZSon
JHByb2duYW1lJyoKCXMqXCRob3N0KiciJGhvc3QiJyoKCXMqXCRTSEVMTCon
IiRTSEVMTCInKgoJcypcJExUQ0MqJyIkTFRDQyInKgoJcypcJExUQ0ZMQUdT
KiciJExUQ0ZMQUdTIicqCglzKlwkTEQqJyIkTEQiJyoKCXMvXCR3aXRoX2du
dV9sZC8nIiR3aXRoX2dudV9sZCInLwoJcy9cJGF1dG9tYWtlX3ZlcnNpb24v
JyJgKGF1dG9tYWtlIC0tdmVyc2lvbikgMj4vZGV2L251bGwgfCRTRUQgMXFg
IicvCglzL1wkYXV0b2NvbmZfdmVyc2lvbi8nImAoYXV0b2NvbmYgLS12ZXJz
aW9uKSAyPi9kZXYvbnVsbCB8JFNFRCAxcWAiJy8KCXAKCWQKICAgICB9CiAg
ICAgL14jIC4qIGhvbWUgcGFnZTovYiBwcmludAogICAgIC9eIyBHZW5lcmFs
IGhlbHAgdXNpbmcvYiBwcmludAogICAgICcgPCAiJHByb2dwYXRoIgogICAg
cmV0PSQ/CiAgICBpZiB0ZXN0IC16ICIkMSI7IHRoZW4KICAgICAgZXhpdCAk
cmV0CiAgICBmaQp9CgojIGZ1bmNfbWlzc2luZ19hcmcgYXJnbmFtZQojIEVj
aG8gcHJvZ3JhbSBuYW1lIHByZWZpeGVkIG1lc3NhZ2UgdG8gc3RhbmRhcmQg
ZXJyb3IgYW5kIHNldCBnbG9iYWwKIyBleGl0X2NtZC4KZnVuY19taXNzaW5n
X2FyZyAoKQp7CiAgICAkb3B0X2RlYnVnCgogICAgZnVuY19lcnJvciAibWlz
c2luZyBhcmd1bWVudCBmb3IgJDEuIgogICAgZXhpdF9jbWQ9ZXhpdAp9CgoK
IyBmdW5jX3NwbGl0X3Nob3J0X29wdCBzaG9ydG9wdAojIFNldCBmdW5jX3Nw
bGl0X3Nob3J0X29wdF9uYW1lIGFuZCBmdW5jX3NwbGl0X3Nob3J0X29wdF9h
cmcgc2hlbGwKIyB2YXJpYWJsZXMgYWZ0ZXIgc3BsaXR0aW5nIFNIT1JUT1BU
IGFmdGVyIHRoZSAybmQgY2hhcmFjdGVyLgpmdW5jX3NwbGl0X3Nob3J0X29w
dCAoKQp7CiAgICBmdW5jX3NwbGl0X3Nob3J0X29wdF9hcmc9JHsxIz8/fQog
ICAgZnVuY19zcGxpdF9zaG9ydF9vcHRfbmFtZT0kezElIiRmdW5jX3NwbGl0
X3Nob3J0X29wdF9hcmcifQp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19zcGxp
dF9zaG9ydF9vcHQgaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfc3BsaXRfbG9u
Z19vcHQgbG9uZ29wdAojIFNldCBmdW5jX3NwbGl0X2xvbmdfb3B0X25hbWUg
YW5kIGZ1bmNfc3BsaXRfbG9uZ19vcHRfYXJnIHNoZWxsCiMgdmFyaWFibGVz
IGFmdGVyIHNwbGl0dGluZyBMT05HT1BUIGF0IHRoZSBgPScgc2lnbi4KZnVu
Y19zcGxpdF9sb25nX29wdCAoKQp7CiAgICBmdW5jX3NwbGl0X2xvbmdfb3B0
X25hbWU9JHsxJSU9Kn0KICAgIGZ1bmNfc3BsaXRfbG9uZ19vcHRfYXJnPSR7
MSMqPX0KfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfc3BsaXRfbG9uZ19vcHQg
aW1wbGVtZW50YXRpb24KCmV4aXRfY21kPToKCgoKCgptYWdpYz0iJSUlTUFH
SUMgdmFyaWFibGUlJSUiCm1hZ2ljX2V4ZT0iJSUlTUFHSUMgRVhFIHZhcmlh
YmxlJSUlIgoKIyBHbG9iYWwgdmFyaWFibGVzLgpub25vcHQ9CnByZXNlcnZl
X2FyZ3M9CmxvMm89InMvXFwubG9cJC8uJHtvYmpleHR9LyIKbzJsbz0icy9c
XC4ke29iamV4dH1cJC8ubG8vIgpleHRyYWN0ZWRfYXJjaGl2ZXM9CmV4dHJh
Y3RlZF9zZXJpYWw9MAoKIyBJZiB0aGlzIHZhcmlhYmxlIGlzIHNldCBpbiBh
bnkgb2YgdGhlIGFjdGlvbnMsIHRoZSBjb21tYW5kIGluIGl0CiMgd2lsbCBi
ZSBleGVjZWQgYXQgdGhlIGVuZC4gIFRoaXMgcHJldmVudHMgaGVyZS1kb2N1
bWVudHMgZnJvbSBiZWluZwojIGxlZnQgb3ZlciBieSBzaGVsbHMuCmV4ZWNf
Y21kPQoKIyBmdW5jX2FwcGVuZCB2YXIgdmFsdWUKIyBBcHBlbmQgVkFMVUUg
dG8gdGhlIGVuZCBvZiBzaGVsbCB2YXJpYWJsZSBWQVIuCmZ1bmNfYXBwZW5k
ICgpCnsKICAgIGV2YWwgIiR7MX0rPVwkezJ9Igp9ICMgRXh0ZW5kZWQtc2hl
bGwgZnVuY19hcHBlbmQgaW1wbGVtZW50YXRpb24KCiMgZnVuY19hcHBlbmRf
cXVvdGVkIHZhciB2YWx1ZQojIFF1b3RlIFZBTFVFIGFuZCBhcHBlbmQgdG8g
dGhlIGVuZCBvZiBzaGVsbCB2YXJpYWJsZSBWQVIsIHNlcGFyYXRlZAojIGJ5
IGEgc3BhY2UuCmZ1bmNfYXBwZW5kX3F1b3RlZCAoKQp7CiAgICBmdW5jX3F1
b3RlX2Zvcl9ldmFsICIkezJ9IgogICAgZXZhbCAiJHsxfSs9XFwgXCRmdW5j
X3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1
bmNfYXBwZW5kX3F1b3RlZCBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19hcml0
aCBhcml0aG1ldGljLXRlcm0uLi4KZnVuY19hcml0aCAoKQp7CiAgICBmdW5j
X2FyaXRoX3Jlc3VsdD0kKCggJCogKSkKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1
bmNfYXJpdGggaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfbGVuIHN0cmluZwoj
IFNUUklORyBtYXkgbm90IHN0YXJ0IHdpdGggYSBoeXBoZW4uCmZ1bmNfbGVu
ICgpCnsKICAgIGZ1bmNfbGVuX3Jlc3VsdD0keyMxfQp9ICMgRXh0ZW5kZWQt
c2hlbGwgZnVuY19sZW4gaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfbG8ybyBv
YmplY3QKZnVuY19sbzJvICgpCnsKICAgIGNhc2UgJHsxfSBpbgogICAgICAq
LmxvKSBmdW5jX2xvMm9fcmVzdWx0PSR7MSUubG99LiR7b2JqZXh0fSA7Owog
ICAgICAqKSAgICBmdW5jX2xvMm9fcmVzdWx0PSR7MX0gOzsKICAgIGVzYWMK
fSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfbG8ybyBpbXBsZW1lbnRhdGlvbgoK
CiMgZnVuY194Zm9ybSBsaWJvYmotb3Itc291cmNlCmZ1bmNfeGZvcm0gKCkK
ewogICAgZnVuY194Zm9ybV9yZXN1bHQ9JHsxJS4qfS5sbwp9ICMgRXh0ZW5k
ZWQtc2hlbGwgZnVuY194Zm9ybSBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19m
YXRhbF9jb25maWd1cmF0aW9uIGFyZy4uLgojIEVjaG8gcHJvZ3JhbSBuYW1l
IHByZWZpeGVkIG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IsIGZvbGxvd2Vk
IGJ5CiMgYSBjb25maWd1cmF0aW9uIGZhaWx1cmUgaGludCwgYW5kIGV4aXQu
CmZ1bmNfZmF0YWxfY29uZmlndXJhdGlvbiAoKQp7CiAgICBmdW5jX2Vycm9y
ICR7MSsiJEAifQogICAgZnVuY19lcnJvciAiU2VlIHRoZSAkUEFDS0FHRSBk
b2N1bWVudGF0aW9uIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKICAgIGZ1bmNf
ZmF0YWxfZXJyb3IgIkZhdGFsIGNvbmZpZ3VyYXRpb24gZXJyb3IuIgp9CgoK
IyBmdW5jX2NvbmZpZwojIERpc3BsYXkgdGhlIGNvbmZpZ3VyYXRpb24gZm9y
IGFsbCB0aGUgdGFncyBpbiB0aGlzIHNjcmlwdC4KZnVuY19jb25maWcgKCkK
ewogICAgcmVfYmVnaW5jZj0nXiMgIyMjIEJFR0lOIExJQlRPT0wnCiAgICBy
ZV9lbmRjZj0nXiMgIyMjIEVORCBMSUJUT09MJwoKICAgICMgRGVmYXVsdCBj
b25maWd1cmF0aW9uLgogICAgJFNFRCAiMSwvJHJlX2JlZ2luY2YgQ09ORklH
L2Q7LyRyZV9lbmRjZiBDT05GSUcvLFwkZCIgPCAiJHByb2dwYXRoIgoKICAg
ICMgTm93IHByaW50IHRoZSBjb25maWd1cmF0aW9ucyBmb3IgdGhlIHRhZ3Mu
CiAgICBmb3IgdGFnbmFtZSBpbiAkdGFnbGlzdDsgZG8KICAgICAgJFNFRCAt
biAiLyRyZV9iZWdpbmNmIFRBRyBDT05GSUc6ICR0YWduYW1lXCQvLC8kcmVf
ZW5kY2YgVEFHIENPTkZJRzogJHRhZ25hbWVcJC9wIiA8ICIkcHJvZ3BhdGgi
CiAgICBkb25lCgogICAgZXhpdCAkPwp9CgojIGZ1bmNfZmVhdHVyZXMKIyBE
aXNwbGF5IHRoZSBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkgdGhpcyBzY3JpcHQu
CmZ1bmNfZmVhdHVyZXMgKCkKewogICAgZWNobyAiaG9zdDogJGhvc3QiCiAg
ICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgog
ICAgICBlY2hvICJlbmFibGUgc2hhcmVkIGxpYnJhcmllcyIKICAgIGVsc2UK
ICAgICAgZWNobyAiZGlzYWJsZSBzaGFyZWQgbGlicmFyaWVzIgogICAgZmkK
ICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KICAg
ICAgZWNobyAiZW5hYmxlIHN0YXRpYyBsaWJyYXJpZXMiCiAgICBlbHNlCiAg
ICAgIGVjaG8gImRpc2FibGUgc3RhdGljIGxpYnJhcmllcyIKICAgIGZpCgog
ICAgZXhpdCAkPwp9CgojIGZ1bmNfZW5hYmxlX3RhZyB0YWduYW1lCiMgVmVy
aWZ5IHRoYXQgVEFHTkFNRSBpcyB2YWxpZCwgYW5kIGVpdGhlciBmbGFnIGFu
IGVycm9yIGFuZCBleGl0LCBvcgojIGVuYWJsZSB0aGUgVEFHTkFNRSB0YWcu
ICBXZSBhbHNvIGFkZCBUQUdOQU1FIHRvIHRoZSBnbG9iYWwgJHRhZ2xpc3QK
IyB2YXJpYWJsZSBoZXJlLgpmdW5jX2VuYWJsZV90YWcgKCkKewogICMgR2xv
YmFsIHZhcmlhYmxlOgogIHRhZ25hbWU9IiQxIgoKICByZV9iZWdpbmNmPSJe
IyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiAkdGFnbmFtZVwkIgog
IHJlX2VuZGNmPSJeIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogJHRh
Z25hbWVcJCIKICBzZWRfZXh0cmFjdGNmPSIvJHJlX2JlZ2luY2YvLC8kcmVf
ZW5kY2YvcCIKCiAgIyBWYWxpZGF0ZSB0YWduYW1lLgogIGNhc2UgJHRhZ25h
bWUgaW4KICAgICpbIS1fQS1aYS16MC05LC9dKikKICAgICAgZnVuY19mYXRh
bF9lcnJvciAiaW52YWxpZCB0YWcgbmFtZTogJHRhZ25hbWUiCiAgICAgIDs7
CiAgZXNhYwoKICAjIERvbid0IHRlc3QgZm9yIHRoZSAiZGVmYXVsdCIgQyB0
YWcsIGFzIHdlIGtub3cgaXQncwogICMgdGhlcmUgYnV0IG5vdCBzcGVjaWFs
bHkgbWFya2VkLgogIGNhc2UgJHRhZ25hbWUgaW4KICAgIENDKSA7OwogICAg
KikKICAgICAgaWYgJEdSRVAgIiRyZV9iZWdpbmNmIiAiJHByb2dwYXRoIiA+
L2Rldi9udWxsIDI+JjE7IHRoZW4KCXRhZ2xpc3Q9IiR0YWdsaXN0ICR0YWdu
YW1lIgoKCSMgRXZhbHVhdGUgdGhlIGNvbmZpZ3VyYXRpb24uICBCZSBjYXJl
ZnVsIHRvIHF1b3RlIHRoZSBwYXRoCgkjIGFuZCB0aGUgc2VkIHNjcmlwdCwg
dG8gYXZvaWQgc3BsaXR0aW5nIG9uIHdoaXRlc3BhY2UsIGJ1dAoJIyBhbHNv
IGRvbid0IHVzZSBub24tcG9ydGFibGUgcXVvdGVzIHdpdGhpbiBiYWNrcXVv
dGVzIHdpdGhpbgoJIyBxdW90ZXMgd2UgaGF2ZSB0byBkbyBpdCBpbiAyIHN0
ZXBzOgoJZXh0cmFjdGVkY2Y9YCRTRUQgLW4gLWUgIiRzZWRfZXh0cmFjdGNm
IiA8ICIkcHJvZ3BhdGgiYAoJZXZhbCAiJGV4dHJhY3RlZGNmIgogICAgICBl
bHNlCglmdW5jX2Vycm9yICJpZ25vcmluZyB1bmtub3duIHRhZyAkdGFnbmFt
ZSIKICAgICAgZmkKICAgICAgOzsKICBlc2FjCn0KCiMgZnVuY19jaGVja192
ZXJzaW9uX21hdGNoCiMgRW5zdXJlIHRoYXQgd2UgYXJlIHVzaW5nIG00IG1h
Y3JvcywgYW5kIGxpYnRvb2wgc2NyaXB0IGZyb20gdGhlIHNhbWUKIyByZWxl
YXNlIG9mIGxpYnRvb2wuCmZ1bmNfY2hlY2tfdmVyc2lvbl9tYXRjaCAoKQp7
CiAgaWYgdGVzdCAiJHBhY2thZ2VfcmV2aXNpb24iICE9ICIkbWFjcm9fcmV2
aXNpb24iOyB0aGVuCiAgICBpZiB0ZXN0ICIkVkVSU0lPTiIgIT0gIiRtYWNy
b192ZXJzaW9uIjsgdGhlbgogICAgICBpZiB0ZXN0IC16ICIkbWFjcm9fdmVy
c2lvbiI7IHRoZW4KICAgICAgICBjYXQgPiYyIDw8X0xUX0VPRgokcHJvZ25h
bWU6IFZlcnNpb24gbWlzbWF0Y2ggZXJyb3IuICBUaGlzIGlzICRQQUNLQUdF
ICRWRVJTSU9OLCBidXQgdGhlCiRwcm9nbmFtZTogZGVmaW5pdGlvbiBvZiB0
aGlzIExUX0lOSVQgY29tZXMgZnJvbSBhbiBvbGRlciByZWxlYXNlLgokcHJv
Z25hbWU6IFlvdSBzaG91bGQgcmVjcmVhdGUgYWNsb2NhbC5tNCB3aXRoIG1h
Y3JvcyBmcm9tICRQQUNLQUdFICRWRVJTSU9OCiRwcm9nbmFtZTogYW5kIHJ1
biBhdXRvY29uZiBhZ2Fpbi4KX0xUX0VPRgogICAgICBlbHNlCiAgICAgICAg
Y2F0ID4mMiA8PF9MVF9FT0YKJHByb2duYW1lOiBWZXJzaW9uIG1pc21hdGNo
IGVycm9yLiAgVGhpcyBpcyAkUEFDS0FHRSAkVkVSU0lPTiwgYnV0IHRoZQok
cHJvZ25hbWU6IGRlZmluaXRpb24gb2YgdGhpcyBMVF9JTklUIGNvbWVzIGZy
b20gJFBBQ0tBR0UgJG1hY3JvX3ZlcnNpb24uCiRwcm9nbmFtZTogWW91IHNo
b3VsZCByZWNyZWF0ZSBhY2xvY2FsLm00IHdpdGggbWFjcm9zIGZyb20gJFBB
Q0tBR0UgJFZFUlNJT04KJHByb2duYW1lOiBhbmQgcnVuIGF1dG9jb25mIGFn
YWluLgpfTFRfRU9GCiAgICAgIGZpCiAgICBlbHNlCiAgICAgIGNhdCA+JjIg
PDxfTFRfRU9GCiRwcm9nbmFtZTogVmVyc2lvbiBtaXNtYXRjaCBlcnJvci4g
IFRoaXMgaXMgJFBBQ0tBR0UgJFZFUlNJT04sIHJldmlzaW9uICRwYWNrYWdl
X3JldmlzaW9uLAokcHJvZ25hbWU6IGJ1dCB0aGUgZGVmaW5pdGlvbiBvZiB0
aGlzIExUX0lOSVQgY29tZXMgZnJvbSByZXZpc2lvbiAkbWFjcm9fcmV2aXNp
b24uCiRwcm9nbmFtZTogWW91IHNob3VsZCByZWNyZWF0ZSBhY2xvY2FsLm00
IHdpdGggbWFjcm9zIGZyb20gcmV2aXNpb24gJHBhY2thZ2VfcmV2aXNpb24K
JHByb2duYW1lOiBvZiAkUEFDS0FHRSAkVkVSU0lPTiBhbmQgcnVuIGF1dG9j
b25mIGFnYWluLgpfTFRfRU9GCiAgICBmaQoKICAgIGV4aXQgJEVYSVRfTUlT
TUFUQ0gKICBmaQp9CgoKIyBTaG9ydGhhbmQgZm9yIC0tbW9kZT1mb28sIG9u
bHkgdmFsaWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50CmNhc2UgJDEgaW4KY2xl
YW58Y2xlYXxjbGV8Y2wpCiAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgY2xl
YW4gJHsxKyIkQCJ9OyBzaGlmdAogIDs7CmNvbXBpbGV8Y29tcGlsfGNvbXBp
fGNvbXB8Y29tfGNvfGMpCiAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgY29t
cGlsZSAkezErIiRAIn07IHNoaWZ0CiAgOzsKZXhlY3V0ZXxleGVjdXR8ZXhl
Y3V8ZXhlY3xleGV8ZXh8ZSkKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBl
eGVjdXRlICR7MSsiJEAifTsgc2hpZnQKICA7OwpmaW5pc2h8ZmluaXN8Zmlu
aXxmaW58Zml8ZikKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBmaW5pc2gg
JHsxKyIkQCJ9OyBzaGlmdAogIDs7Cmluc3RhbGx8aW5zdGFsfGluc3RhfGlu
c3R8aW5zfGlufGkpCiAgc2hpZnQ7IHNldCBkdW1teSAtLW1vZGUgaW5zdGFs
bCAkezErIiRAIn07IHNoaWZ0CiAgOzsKbGlua3xsaW58bGl8bCkKICBzaGlm
dDsgc2V0IGR1bW15IC0tbW9kZSBsaW5rICR7MSsiJEAifTsgc2hpZnQKICA7
Owp1bmluc3RhbGx8dW5pbnN0YWx8dW5pbnN0YXx1bmluc3R8dW5pbnN8dW5p
bnx1bml8dW58dSkKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSB1bmluc3Rh
bGwgJHsxKyIkQCJ9OyBzaGlmdAogIDs7CmVzYWMKCgoKIyBPcHRpb24gZGVm
YXVsdHM6Cm9wdF9kZWJ1Zz06Cm9wdF9kcnlfcnVuPWZhbHNlCm9wdF9jb25m
aWc9ZmFsc2UKb3B0X3ByZXNlcnZlX2R1cF9kZXBzPWZhbHNlCm9wdF9mZWF0
dXJlcz1mYWxzZQpvcHRfZmluaXNoPWZhbHNlCm9wdF9oZWxwPWZhbHNlCm9w
dF9oZWxwX2FsbD1mYWxzZQpvcHRfc2lsZW50PToKb3B0X3ZlcmJvc2U9Ogpv
cHRfc2lsZW50PWZhbHNlCm9wdF92ZXJib3NlPWZhbHNlCgoKIyBQYXJzZSBv
cHRpb25zIG9uY2UsIHRob3JvdWdobHkuICBUaGlzIGNvbWVzIGFzIHNvb24g
YXMgcG9zc2libGUgaW4gdGhlCiMgc2NyaXB0IHRvIG1ha2UgdGhpbmdzIGxp
a2UgYC0tdmVyc2lvbicgaGFwcGVuIGFzIHF1aWNrbHkgYXMgd2UgY2FuLgp7
CiAgIyB0aGlzIGp1c3QgZWFzZXMgZXhpdCBoYW5kbGluZwogIHdoaWxlIHRl
c3QgJCMgLWd0IDA7IGRvCiAgICBvcHQ9IiQxIgogICAgc2hpZnQKICAgIGNh
c2UgJG9wdCBpbgogICAgICAtLWRlYnVnfC14KQlvcHRfZGVidWc9J3NldCAt
eCcKCQkJZnVuY19lY2hvICJlbmFibGluZyBzaGVsbCB0cmFjZSBtb2RlIgoJ
CQkkb3B0X2RlYnVnCgkJCTs7CiAgICAgIC0tZHJ5LXJ1bnwtLWRyeXJ1bnwt
bikKCQkJb3B0X2RyeV9ydW49OgoJCQk7OwogICAgICAtLWNvbmZpZykKCQkJ
b3B0X2NvbmZpZz06CmZ1bmNfY29uZmlnCgkJCTs7CiAgICAgIC0tZGxvcGVu
fC1kbG9wZW4pCgkJCW9wdGFyZz0iJDEiCgkJCW9wdF9kbG9wZW49IiR7b3B0
X2Rsb3Blbiskb3B0X2Rsb3Blbgp9JG9wdGFyZyIKCQkJc2hpZnQKCQkJOzsK
ICAgICAgLS1wcmVzZXJ2ZS1kdXAtZGVwcykKCQkJb3B0X3ByZXNlcnZlX2R1
cF9kZXBzPToKCQkJOzsKICAgICAgLS1mZWF0dXJlcykKCQkJb3B0X2ZlYXR1
cmVzPToKZnVuY19mZWF0dXJlcwoJCQk7OwogICAgICAtLWZpbmlzaCkKCQkJ
b3B0X2ZpbmlzaD06CnNldCBkdW1teSAtLW1vZGUgZmluaXNoICR7MSsiJEAi
fTsgc2hpZnQKCQkJOzsKICAgICAgLS1oZWxwKQoJCQlvcHRfaGVscD06CgkJ
CTs7CiAgICAgIC0taGVscC1hbGwpCgkJCW9wdF9oZWxwX2FsbD06Cm9wdF9o
ZWxwPSc6IGhlbHAtYWxsJwoJCQk7OwogICAgICAtLW1vZGUpCgkJCXRlc3Qg
JCMgPSAwICYmIGZ1bmNfbWlzc2luZ19hcmcgJG9wdCAmJiBicmVhawoJCQlv
cHRhcmc9IiQxIgoJCQlvcHRfbW9kZT0iJG9wdGFyZyIKY2FzZSAkb3B0YXJn
IGluCiAgIyBWYWxpZCBtb2RlIGFyZ3VtZW50czoKICBjbGVhbnxjb21waWxl
fGV4ZWN1dGV8ZmluaXNofGluc3RhbGx8bGlua3xyZWxpbmt8dW5pbnN0YWxs
KSA7OwoKICAjIENhdGNoIGFueXRoaW5nIGVsc2UgYXMgYW4gZXJyb3IKICAq
KSBmdW5jX2Vycm9yICJpbnZhbGlkIGFyZ3VtZW50IGZvciAkb3B0IgogICAg
IGV4aXRfY21kPWV4aXQKICAgICBicmVhawogICAgIDs7CmVzYWMKCQkJc2hp
ZnQKCQkJOzsKICAgICAgLS1uby1zaWxlbnR8LS1uby1xdWlldCkKCQkJb3B0
X3NpbGVudD1mYWxzZQpwcmVzZXJ2ZV9hcmdzKz0iICRvcHQiCgkJCTs7CiAg
ICAgIC0tbm8tdmVyYm9zZSkKCQkJb3B0X3ZlcmJvc2U9ZmFsc2UKcHJlc2Vy
dmVfYXJncys9IiAkb3B0IgoJCQk7OwogICAgICAtLXNpbGVudHwtLXF1aWV0
KQoJCQlvcHRfc2lsZW50PToKcHJlc2VydmVfYXJncys9IiAkb3B0IgogICAg
ICAgIG9wdF92ZXJib3NlPWZhbHNlCgkJCTs7CiAgICAgIC0tdmVyYm9zZXwt
dikKCQkJb3B0X3ZlcmJvc2U9OgpwcmVzZXJ2ZV9hcmdzKz0iICRvcHQiCm9w
dF9zaWxlbnQ9ZmFsc2UKCQkJOzsKICAgICAgLS10YWcpCgkJCXRlc3QgJCMg
PSAwICYmIGZ1bmNfbWlzc2luZ19hcmcgJG9wdCAmJiBicmVhawoJCQlvcHRh
cmc9IiQxIgoJCQlvcHRfdGFnPSIkb3B0YXJnIgpwcmVzZXJ2ZV9hcmdzKz0i
ICRvcHQgJG9wdGFyZyIKZnVuY19lbmFibGVfdGFnICIkb3B0YXJnIgoJCQlz
aGlmdAoJCQk7OwoKICAgICAgLVw/fC1oKQkJZnVuY191c2FnZQkJCQk7Owog
ICAgICAtLWhlbHApCQlmdW5jX2hlbHAJCQkJOzsKICAgICAgLS12ZXJzaW9u
KQlmdW5jX3ZlcnNpb24JCQkJOzsKCiAgICAgICMgU2VwYXJhdGUgb3B0YXJn
cyB0byBsb25nIG9wdGlvbnM6CiAgICAgIC0tKj0qKQoJCQlmdW5jX3NwbGl0
X2xvbmdfb3B0ICIkb3B0IgoJCQlzZXQgZHVtbXkgIiRmdW5jX3NwbGl0X2xv
bmdfb3B0X25hbWUiICIkZnVuY19zcGxpdF9sb25nX29wdF9hcmciICR7MSsi
JEAifQoJCQlzaGlmdAoJCQk7OwoKICAgICAgIyBTZXBhcmF0ZSBub24tYXJn
dW1lbnQgc2hvcnQgb3B0aW9uczoKICAgICAgLVw/KnwtaCp8LW4qfC12KikK
CQkJZnVuY19zcGxpdF9zaG9ydF9vcHQgIiRvcHQiCgkJCXNldCBkdW1teSAi
JGZ1bmNfc3BsaXRfc2hvcnRfb3B0X25hbWUiICItJGZ1bmNfc3BsaXRfc2hv
cnRfb3B0X2FyZyIgJHsxKyIkQCJ9CgkJCXNoaWZ0CgkJCTs7CgogICAgICAt
LSkJCWJyZWFrCQkJCQk7OwogICAgICAtKikJCWZ1bmNfZmF0YWxfaGVscCAi
dW5yZWNvZ25pemVkIG9wdGlvbiBcYCRvcHQnIiA7OwogICAgICAqKQkJc2V0
IGR1bW15ICIkb3B0IiAkezErIiRAIn07CXNoaWZ0OyBicmVhayAgOzsKICAg
IGVzYWMKICBkb25lCgogICMgVmFsaWRhdGUgb3B0aW9uczoKCiAgIyBzYXZl
IGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQKICBpZiB0ZXN0ICIkIyIgLWd0
IDA7IHRoZW4KICAgIG5vbm9wdD0iJG9wdCIKICAgIHNoaWZ0CiAgZmkKCiAg
IyBwcmVzZXJ2ZSAtLWRlYnVnCiAgdGVzdCAiJG9wdF9kZWJ1ZyIgPSA6IHx8
IHByZXNlcnZlX2FyZ3MrPSIgLS1kZWJ1ZyIKCiAgY2FzZSAkaG9zdCBpbgog
ICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKnB3MzIqIHwgKmNlZ2NjKikKICAg
ICAgIyBkb24ndCBlbGltaW5hdGUgZHVwbGljYXRpb25zIGluICRwb3N0ZGVw
cyBhbmQgJHByZWRlcHMKICAgICAgb3B0X2R1cGxpY2F0ZV9jb21waWxlcl9n
ZW5lcmF0ZWRfZGVwcz06CiAgICAgIDs7CiAgICAqKQogICAgICBvcHRfZHVw
bGljYXRlX2NvbXBpbGVyX2dlbmVyYXRlZF9kZXBzPSRvcHRfcHJlc2VydmVf
ZHVwX2RlcHMKICAgICAgOzsKICBlc2FjCgogICRvcHRfaGVscCB8fCB7CiAg
ICAjIFNhbml0eSBjaGVja3MgZmlyc3Q6CiAgICBmdW5jX2NoZWNrX3ZlcnNp
b25fbWF0Y2gKCiAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAh
PSB5ZXMgJiYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiAhPSB5ZXM7IHRoZW4K
ICAgICAgZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJub3QgY29uZmlndXJl
ZCB0byBidWlsZCBhbnkga2luZCBvZiBsaWJyYXJ5IgogICAgZmkKCiAgICAj
IERhcndpbiBzdWNrcwogICAgZXZhbCBzdGRfc2hyZXh0PVwiJHNocmV4dF9j
bWRzXCIKCiAgICAjIE9ubHkgZXhlY3V0ZSBtb2RlIGlzIGFsbG93ZWQgdG8g
aGF2ZSAtZGxvcGVuIGZsYWdzLgogICAgaWYgdGVzdCAtbiAiJG9wdF9kbG9w
ZW4iICYmIHRlc3QgIiRvcHRfbW9kZSIgIT0gZXhlY3V0ZTsgdGhlbgogICAg
ICBmdW5jX2Vycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uIFxgLWRsb3Blbici
CiAgICAgICRFQ0hPICIkaGVscCIgMT4mMgogICAgICBleGl0ICRFWElUX0ZB
SUxVUkUKICAgIGZpCgogICAgIyBDaGFuZ2UgdGhlIGhlbHAgbWVzc2FnZSB0
byBhIG1vZGUtc3BlY2lmaWMgb25lLgogICAgZ2VuZXJpY19oZWxwPSIkaGVs
cCIKICAgIGhlbHA9IlRyeSBcYCRwcm9nbmFtZSAtLWhlbHAgLS1tb2RlPSRv
cHRfbW9kZScgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogIH0KCgogICMgQmFp
bCBpZiB0aGUgb3B0aW9ucyB3ZXJlIHNjcmV3ZWQKICAkZXhpdF9jbWQgJEVY
SVRfRkFJTFVSRQp9CgoKCgojIyAtLS0tLS0tLS0tLSAjIwojIyAgICBNYWlu
LiAgICAjIwojIyAtLS0tLS0tLS0tLSAjIwoKIyBmdW5jX2xhbGliX3AgZmls
ZQojIFRydWUgaWZmIEZJTEUgaXMgYSBsaWJ0b29sIGAubGEnIGxpYnJhcnkg
b3IgYC5sbycgb2JqZWN0IGZpbGUuCiMgVGhpcyBmdW5jdGlvbiBpcyBvbmx5
IGEgYmFzaWMgc2FuaXR5IGNoZWNrOyBpdCB3aWxsIGhhcmRseSBmbHVzaCBv
dXQKIyBkZXRlcm1pbmVkIGltcG9zdGVycy4KZnVuY19sYWxpYl9wICgpCnsK
ICAgIHRlc3QgLWYgIiQxIiAmJgogICAgICAkU0VEIC1lIDRxICIkMSIgMj4v
ZGV2L251bGwgXAogICAgICAgIHwgJEdSRVAgIl4jIEdlbmVyYXRlZCBieSAu
KiRQQUNLQUdFIiA+IC9kZXYvbnVsbCAyPiYxCn0KCiMgZnVuY19sYWxpYl91
bnNhZmVfcCBmaWxlCiMgVHJ1ZSBpZmYgRklMRSBpcyBhIGxpYnRvb2wgYC5s
YScgbGlicmFyeSBvciBgLmxvJyBvYmplY3QgZmlsZS4KIyBUaGlzIGZ1bmN0
aW9uIGltcGxlbWVudHMgdGhlIHNhbWUgY2hlY2sgYXMgZnVuY19sYWxpYl9w
IHdpdGhvdXQKIyByZXNvcnRpbmcgdG8gZXh0ZXJuYWwgcHJvZ3JhbXMuICBU
byB0aGlzIGVuZCwgaXQgcmVkaXJlY3RzIHN0ZGluIGFuZAojIGNsb3NlcyBp
dCBhZnRlcndhcmRzLCB3aXRob3V0IHNhdmluZyB0aGUgb3JpZ2luYWwgZmls
ZSBkZXNjcmlwdG9yLgojIEFzIGEgc2FmZXR5IG1lYXN1cmUsIHVzZSBpdCBv
bmx5IHdoZXJlIGEgbmVnYXRpdmUgcmVzdWx0IHdvdWxkIGJlCiMgZmF0YWwg
YW55d2F5LiAgV29ya3MgaWYgYGZpbGUnIGRvZXMgbm90IGV4aXN0LgpmdW5j
X2xhbGliX3Vuc2FmZV9wICgpCnsKICAgIGxhbGliX3A9bm8KICAgIGlmIHRl
c3QgLWYgIiQxIiAmJiB0ZXN0IC1yICIkMSIgJiYgZXhlYyA1PCYwIDwiJDEi
OyB0aGVuCglmb3IgbGFsaWJfcF9sIGluIDEgMiAzIDQKCWRvCgkgICAgcmVh
ZCBsYWxpYl9wX2xpbmUKCSAgICBjYXNlICIkbGFsaWJfcF9saW5lIiBpbgoJ
CVwjXCBHZW5lcmF0ZWRcIGJ5XCAqJFBBQ0tBR0UqICkgbGFsaWJfcD15ZXM7
IGJyZWFrOzsKCSAgICBlc2FjCglkb25lCglleGVjIDA8JjUgNTwmLQogICAg
ZmkKICAgIHRlc3QgIiRsYWxpYl9wIiA9IHllcwp9CgojIGZ1bmNfbHR3cmFw
cGVyX3NjcmlwdF9wIGZpbGUKIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGlidG9v
bCB3cmFwcGVyIHNjcmlwdAojIFRoaXMgZnVuY3Rpb24gaXMgb25seSBhIGJh
c2ljIHNhbml0eSBjaGVjazsgaXQgd2lsbCBoYXJkbHkgZmx1c2ggb3V0CiMg
ZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCmZ1bmNfbHR3cmFwcGVyX3NjcmlwdF9w
ICgpCnsKICAgIGZ1bmNfbGFsaWJfcCAiJDEiCn0KCiMgZnVuY19sdHdyYXBw
ZXJfZXhlY3V0YWJsZV9wIGZpbGUKIyBUcnVlIGlmZiBGSUxFIGlzIGEgbGli
dG9vbCB3cmFwcGVyIGV4ZWN1dGFibGUKIyBUaGlzIGZ1bmN0aW9uIGlzIG9u
bHkgYSBiYXNpYyBzYW5pdHkgY2hlY2s7IGl0IHdpbGwgaGFyZGx5IGZsdXNo
IG91dAojIGRldGVybWluZWQgaW1wb3N0ZXJzLgpmdW5jX2x0d3JhcHBlcl9l
eGVjdXRhYmxlX3AgKCkKewogICAgZnVuY19sdHdyYXBwZXJfZXhlY19zdWZm
aXg9CiAgICBjYXNlICQxIGluCiAgICAqLmV4ZSkgOzsKICAgICopIGZ1bmNf
bHR3cmFwcGVyX2V4ZWNfc3VmZml4PS5leGUgOzsKICAgIGVzYWMKICAgICRH
UkVQICIkbWFnaWNfZXhlIiAiJDEkZnVuY19sdHdyYXBwZXJfZXhlY19zdWZm
aXgiID4vZGV2L251bGwgMj4mMQp9CgojIGZ1bmNfbHR3cmFwcGVyX3Njcmlw
dG5hbWUgZmlsZQojIEFzc3VtZXMgZmlsZSBpcyBhbiBsdHdyYXBwZXJfZXhl
Y3V0YWJsZQojIHVzZXMgJGZpbGUgdG8gZGV0ZXJtaW5lIHRoZSBhcHByb3By
aWF0ZSBmaWxlbmFtZSBmb3IgYQojIHRlbXBvcmFyeSBsdHdyYXBwZXJfc2Ny
aXB0LgpmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICgpCnsKICAgIGZ1bmNf
ZGlybmFtZV9hbmRfYmFzZW5hbWUgIiQxIiAiIiAiLiIKICAgIGZ1bmNfc3Ry
aXBuYW1lICcnICcuZXhlJyAiJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgogICAg
ZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQ9IiRmdW5jX2Rpcm5h
bWVfcmVzdWx0LyRvYmpkaXIvJHtmdW5jX3N0cmlwbmFtZV9yZXN1bHR9X2x0
c2h3cmFwcGVyIgp9CgojIGZ1bmNfbHR3cmFwcGVyX3AgZmlsZQojIFRydWUg
aWZmIEZJTEUgaXMgYSBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0IG9yIHdyYXBw
ZXIgZXhlY3V0YWJsZQojIFRoaXMgZnVuY3Rpb24gaXMgb25seSBhIGJhc2lj
IHNhbml0eSBjaGVjazsgaXQgd2lsbCBoYXJkbHkgZmx1c2ggb3V0CiMgZGV0
ZXJtaW5lZCBpbXBvc3RlcnMuCmZ1bmNfbHR3cmFwcGVyX3AgKCkKewogICAg
ZnVuY19sdHdyYXBwZXJfc2NyaXB0X3AgIiQxIiB8fCBmdW5jX2x0d3JhcHBl
cl9leGVjdXRhYmxlX3AgIiQxIgp9CgoKIyBmdW5jX2V4ZWN1dGVfY21kcyBj
b21tYW5kcyBmYWlsX2NtZAojIEV4ZWN1dGUgdGlsZGUtZGVsaW1pdGVkIENP
TU1BTkRTLgojIElmIEZBSUxfQ01EIGlzIGdpdmVuLCBldmFsIHRoYXQgdXBv
biBmYWlsdXJlLgojIEZBSUxfQ01EIG1heSByZWFkLWFjY2VzcyB0aGUgY3Vy
cmVudCBjb21tYW5kIGluIHZhcmlhYmxlIENNRCEKZnVuY19leGVjdXRlX2Nt
ZHMgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgc2F2ZV9pZnM9JElGUzsgSUZT
PSd+JwogICAgZm9yIGNtZCBpbiAkMTsgZG8KICAgICAgSUZTPSRzYXZlX2lm
cwogICAgICBldmFsIGNtZD1cIiRjbWRcIgogICAgICBmdW5jX3Nob3dfZXZh
bCAiJGNtZCIgIiR7Mi06fSIKICAgIGRvbmUKICAgIElGUz0kc2F2ZV9pZnMK
fQoKCiMgZnVuY19zb3VyY2UgZmlsZQojIFNvdXJjZSBGSUxFLCBhZGRpbmcg
ZGlyZWN0b3J5IGNvbXBvbmVudCBpZiBuZWNlc3NhcnkuCiMgTm90ZSB0aGF0
IGl0IGlzIG5vdCBuZWNlc3Nhcnkgb24gY3lnd2luL21pbmd3IHRvIGFwcGVu
ZCBhIGRvdCB0bwojIEZJTEUgZXZlbiBpZiBib3RoIEZJTEUgYW5kIEZJTEUu
ZXhlIGV4aXN0OiBhdXRvbWF0aWMtYXBwZW5kLS5leGUKIyBiZWhhdmlvciBo
YXBwZW5zIG9ubHkgZm9yIGV4ZWMoMyksIG5vdCBmb3Igb3BlbigyKSEgIEFs
c28sIHNvdXJjaW5nCiMgYEZJTEUuJyBkb2VzIG5vdCB3b3JrIG9uIGN5Z3dp
biBtYW5hZ2VkIG1vdW50cy4KZnVuY19zb3VyY2UgKCkKewogICAgJG9wdF9k
ZWJ1ZwogICAgY2FzZSAkMSBpbgogICAgKi8qIHwgKlxcKikJLiAiJDEiIDs7
CiAgICAqKQkJLiAiLi8kMSIgOzsKICAgIGVzYWMKfQoKCiMgZnVuY19yZXNv
bHZlX3N5c3Jvb3QgUEFUSAojIFJlcGxhY2UgYSBsZWFkaW5nID0gaW4gUEFU
SCB3aXRoIGEgc3lzcm9vdC4gIFN0b3JlIHRoZSByZXN1bHQgaW50bwojIGZ1
bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdApmdW5jX3Jlc29sdmVfc3lzcm9v
dCAoKQp7CiAgZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0PSQxCiAgY2Fz
ZSAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0IGluCiAgPSopCiAgICBm
dW5jX3N0cmlwbmFtZSAnPScgJycgIiRmdW5jX3Jlc29sdmVfc3lzcm9vdF9y
ZXN1bHQiCiAgICBmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQ9JGx0X3N5
c3Jvb3QkZnVuY19zdHJpcG5hbWVfcmVzdWx0CiAgICA7OwogIGVzYWMKfQoK
IyBmdW5jX3JlcGxhY2Vfc3lzcm9vdCBQQVRICiMgSWYgUEFUSCBiZWdpbnMg
d2l0aCB0aGUgc3lzcm9vdCwgcmVwbGFjZSBpdCB3aXRoID0gYW5kCiMgc3Rv
cmUgdGhlIHJlc3VsdCBpbnRvIGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3Vs
dC4KZnVuY19yZXBsYWNlX3N5c3Jvb3QgKCkKewogIGNhc2UgIiRsdF9zeXNy
b290OiQxIiBpbgogID8qOiIkbHRfc3lzcm9vdCIqKQogICAgZnVuY19zdHJp
cG5hbWUgIiRsdF9zeXNyb290IiAnJyAiJDEiCiAgICBmdW5jX3JlcGxhY2Vf
c3lzcm9vdF9yZXN1bHQ9Ij0kZnVuY19zdHJpcG5hbWVfcmVzdWx0IgogICAg
OzsKICAqKQogICAgIyBJbmNsdWRpbmcgbm8gc3lzcm9vdC4KICAgIGZ1bmNf
cmVwbGFjZV9zeXNyb290X3Jlc3VsdD0kMQogICAgOzsKICBlc2FjCn0KCiMg
ZnVuY19pbmZlcl90YWcgYXJnCiMgSW5mZXIgdGFnZ2VkIGNvbmZpZ3VyYXRp
b24gdG8gdXNlIGlmIGFueSBhcmUgYXZhaWxhYmxlIGFuZAojIGlmIG9uZSB3
YXNuJ3QgY2hvc2VuIHZpYSB0aGUgIi0tdGFnIiBjb21tYW5kIGxpbmUgb3B0
aW9uLgojIE9ubHkgYXR0ZW1wdCB0aGlzIGlmIHRoZSBjb21waWxlciBpbiB0
aGUgYmFzZSBjb21waWxlCiMgY29tbWFuZCBkb2Vzbid0IG1hdGNoIHRoZSBk
ZWZhdWx0IGNvbXBpbGVyLgojIGFyZyBpcyB1c3VhbGx5IG9mIHRoZSBmb3Jt
ICdnY2MgLi4uJwpmdW5jX2luZmVyX3RhZyAoKQp7CiAgICAkb3B0X2RlYnVn
CiAgICBpZiB0ZXN0IC1uICIkYXZhaWxhYmxlX3RhZ3MiICYmIHRlc3QgLXog
IiR0YWduYW1lIjsgdGhlbgogICAgICBDQ19xdW90ZWQ9CiAgICAgIGZvciBh
cmcgaW4gJENDOyBkbwoJZnVuY19hcHBlbmRfcXVvdGVkIENDX3F1b3RlZCAi
JGFyZyIKICAgICAgZG9uZQogICAgICBDQ19leHBhbmRlZD1gZnVuY19lY2hv
X2FsbCAkQ0NgCiAgICAgIENDX3F1b3RlZF9leHBhbmRlZD1gZnVuY19lY2hv
X2FsbCAkQ0NfcXVvdGVkYAogICAgICBjYXNlICRAIGluCiAgICAgICMgQmxh
bmtzIGluIHRoZSBjb21tYW5kIG1heSBoYXZlIGJlZW4gc3RyaXBwZWQgYnkg
dGhlIGNhbGxpbmcgc2hlbGwsCiAgICAgICMgYnV0IG5vdCBmcm9tIHRoZSBD
QyBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aGVuIGNvbmZpZ3VyZSB3YXMgcnVu
LgogICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiICRDQ19leHBhbmRlZCAi
KiB8ICIkQ0NfZXhwYW5kZWQgIiogfCBcCiAgICAgICIgJENDX3F1b3RlZCIq
IHwgIiRDQ19xdW90ZWQgIiogfCAiICRDQ19xdW90ZWRfZXhwYW5kZWQgIiog
fCAiJENDX3F1b3RlZF9leHBhbmRlZCAiKikgOzsKICAgICAgIyBCbGFua3Mg
YXQgdGhlIHN0YXJ0IG9mICRiYXNlX2NvbXBpbGUgd2lsbCBjYXVzZSB0aGlz
IHRvIGZhaWwKICAgICAgIyBpZiB3ZSBkb24ndCBjaGVjayBmb3IgdGhlbSBh
cyB3ZWxsLgogICAgICAqKQoJZm9yIHogaW4gJGF2YWlsYWJsZV90YWdzOyBk
bwoJICBpZiAkR1JFUCAiXiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJ
RzogJHokIiA8ICIkcHJvZ3BhdGgiID4gL2Rldi9udWxsOyB0aGVuCgkgICAg
IyBFdmFsdWF0ZSB0aGUgY29uZmlndXJhdGlvbi4KCSAgICBldmFsICJgJHtT
RUR9IC1uIC1lICcvXiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzog
JyR6JyQvLC9eIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogJyR6JyQv
cCcgPCAkcHJvZ3BhdGhgIgoJICAgIENDX3F1b3RlZD0KCSAgICBmb3IgYXJn
IGluICRDQzsgZG8KCSAgICAgICMgRG91YmxlLXF1b3RlIGFyZ3MgY29udGFp
bmluZyBvdGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KCSAgICAgIGZ1bmNf
YXBwZW5kX3F1b3RlZCBDQ19xdW90ZWQgIiRhcmciCgkgICAgZG9uZQoJICAg
IENDX2V4cGFuZGVkPWBmdW5jX2VjaG9fYWxsICRDQ2AKCSAgICBDQ19xdW90
ZWRfZXhwYW5kZWQ9YGZ1bmNfZWNob19hbGwgJENDX3F1b3RlZGAKCSAgICBj
YXNlICIkQCAiIGluCgkgICAgIiAkQ0MgIiogfCAiJENDICIqIHwgIiAkQ0Nf
ZXhwYW5kZWQgIiogfCAiJENDX2V4cGFuZGVkICIqIHwgXAoJICAgICIgJEND
X3F1b3RlZCIqIHwgIiRDQ19xdW90ZWQgIiogfCAiICRDQ19xdW90ZWRfZXhw
YW5kZWQgIiogfCAiJENDX3F1b3RlZF9leHBhbmRlZCAiKikKCSAgICAgICMg
VGhlIGNvbXBpbGVyIGluIHRoZSBiYXNlIGNvbXBpbGUgY29tbWFuZCBtYXRj
aGVzCgkgICAgICAjIHRoZSBvbmUgaW4gdGhlIHRhZ2dlZCBjb25maWd1cmF0
aW9uLgoJICAgICAgIyBBc3N1bWUgdGhpcyBpcyB0aGUgdGFnZ2VkIGNvbmZp
Z3VyYXRpb24gd2Ugd2FudC4KCSAgICAgIHRhZ25hbWU9JHoKCSAgICAgIGJy
ZWFrCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZmkKCWRvbmUKCSMgSWYgJHRh
Z25hbWUgc3RpbGwgaXNuJ3Qgc2V0LCB0aGVuIG5vIHRhZ2dlZCBjb25maWd1
cmF0aW9uCgkjIHdhcyBmb3VuZCBhbmQgbGV0IHRoZSB1c2VyIGtub3cgdGhh
dCB0aGUgIi0tdGFnIiBjb21tYW5kCgkjIGxpbmUgb3B0aW9uIG11c3QgYmUg
dXNlZC4KCWlmIHRlc3QgLXogIiR0YWduYW1lIjsgdGhlbgoJICBmdW5jX2Vj
aG8gInVuYWJsZSB0byBpbmZlciB0YWdnZWQgY29uZmlndXJhdGlvbiIKCSAg
ZnVuY19mYXRhbF9lcnJvciAic3BlY2lmeSBhIHRhZyB3aXRoIFxgLS10YWcn
IgojCWVsc2UKIwkgIGZ1bmNfdmVyYm9zZSAidXNpbmcgJHRhZ25hbWUgdGFn
Z2VkIGNvbmZpZ3VyYXRpb24iCglmaQoJOzsKICAgICAgZXNhYwogICAgZmkK
fQoKCgojIGZ1bmNfd3JpdGVfbGlidG9vbF9vYmplY3Qgb3V0cHV0X25hbWUg
cGljX25hbWUgbm9ucGljX25hbWUKIyBDcmVhdGUgYSBsaWJ0b29sIG9iamVj
dCBmaWxlIChhbmFsb2dvdXMgdG8gYSAiLmxhIiBmaWxlKSwKIyBidXQgZG9u
J3QgY3JlYXRlIGl0IGlmIHdlJ3JlIGRvaW5nIGEgZHJ5IHJ1bi4KZnVuY193
cml0ZV9saWJ0b29sX29iamVjdCAoKQp7CiAgICB3cml0ZV9saWJvYmo9JHsx
fQogICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRo
ZW4KICAgICAgd3JpdGVfbG9iaj1cJyR7Mn1cJwogICAgZWxzZQogICAgICB3
cml0ZV9sb2JqPW5vbmUKICAgIGZpCgogICAgaWYgdGVzdCAiJGJ1aWxkX29s
ZF9saWJzIiA9IHllczsgdGhlbgogICAgICB3cml0ZV9vbGRvYmo9XCckezN9
XCcKICAgIGVsc2UKICAgICAgd3JpdGVfb2xkb2JqPW5vbmUKICAgIGZpCgog
ICAgJG9wdF9kcnlfcnVuIHx8IHsKICAgICAgY2F0ID4ke3dyaXRlX2xpYm9i
an1UIDw8RU9GCiMgJHdyaXRlX2xpYm9iaiAtIGEgbGlidG9vbCBvYmplY3Qg
ZmlsZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAoR05VICRQQUNLQUdFJFRJ
TUVTVEFNUCkgJFZFUlNJT04KIwojIFBsZWFzZSBETyBOT1QgZGVsZXRlIHRo
aXMgZmlsZSEKIyBJdCBpcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgdGhlIGxp
YnJhcnkuCgojIE5hbWUgb2YgdGhlIFBJQyBvYmplY3QuCnBpY19vYmplY3Q9
JHdyaXRlX2xvYmoKCiMgTmFtZSBvZiB0aGUgbm9uLVBJQyBvYmplY3QKbm9u
X3BpY19vYmplY3Q9JHdyaXRlX29sZG9iagoKRU9GCiAgICAgICRNViAiJHt3
cml0ZV9saWJvYmp9VCIgIiR7d3JpdGVfbGlib2JqfSIKICAgIH0KfQoKCiMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCiMgRklMRSBOQU1FIEFORCBQQVRIIENPTlZFUlNJT04gSEVMUEVSIEZV
TkNUSU9OUyAjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjCgojIGZ1bmNfY29udmVydF9jb3JlX2ZpbGVfd2lu
ZV90b193MzIgQVJHCiMgSGVscGVyIGZ1bmN0aW9uIHVzZWQgYnkgZmlsZSBu
YW1lIGNvbnZlcnNpb24gZnVuY3Rpb25zIHdoZW4gJGJ1aWxkIGlzICpuaXgs
CiMgYW5kICRob3N0IGlzIG1pbmd3LCBjeWd3aW4sIG9yIHNvbWUgb3RoZXIg
dzMyIGVudmlyb25tZW50LiBSZWxpZXMgb24gYQojIGNvcnJlY3RseSBjb25m
aWd1cmVkIHdpbmUgZW52aXJvbm1lbnQgYXZhaWxhYmxlLCB3aXRoIHRoZSB3
aW5lcGF0aCBwcm9ncmFtCiMgaW4gJGJ1aWxkJ3MgJFBBVEguCiMKIyBBUkcg
aXMgdGhlICRidWlsZCBmaWxlIG5hbWUgdG8gYmUgY29udmVydGVkIHRvIHcz
MiBmb3JtYXQuCiMgUmVzdWx0IGlzIGF2YWlsYWJsZSBpbiAkZnVuY19jb252
ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1bHQsIGFuZCB3aWxsCiMg
YmUgZW1wdHkgb24gZXJyb3IgKG9yIHdoZW4gQVJHIGlzIGVtcHR5KQpmdW5j
X2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyICgpCnsKICAkb3B0X2Rl
YnVnCiAgZnVuY19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1
bHQ9IiQxIgogIGlmIHRlc3QgLW4gIiQxIjsgdGhlbgogICAgIyBVbmZvcnR1
bmF0ZWx5LCB3aW5lcGF0aCBkb2VzIG5vdCBleGl0IHdpdGggYSBub24temVy
byBlcnJvciBjb2RlLCBzbyB3ZQogICAgIyBhcmUgZm9yY2VkIHRvIGNoZWNr
IHRoZSBjb250ZW50cyBvZiBzdGRvdXQuIE9uIHRoZSBvdGhlciBoYW5kLCBp
ZiB0aGUKICAgICMgY29tbWFuZCBpcyBub3QgZm91bmQsIHRoZSBzaGVsbCB3
aWxsIHNldCBhbiBleGl0IGNvZGUgb2YgMTI3IGFuZCBwcmludAogICAgIyAq
YW4gZXJyb3IgbWVzc2FnZSogdG8gc3Rkb3V0LiBTbyB3ZSBtdXN0IGNoZWNr
IGZvciBib3RoIGVycm9yIGNvZGUgb2YKICAgICMgemVybyBBTkQgbm9uLWVt
cHR5IHN0ZG91dCwgd2hpY2ggZXhwbGFpbnMgdGhlIG9kZCBjb25zdHJ1Y3Rp
b246CiAgICBmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyX3Rt
cD1gd2luZXBhdGggLXcgIiQxIiAyPi9kZXYvbnVsbGAKICAgIGlmIHRlc3Qg
IiQ/IiAtZXEgMCAmJiB0ZXN0IC1uICIke2Z1bmNfY29udmVydF9jb3JlX2Zp
bGVfd2luZV90b193MzJfdG1wfSI7IHRoZW4KICAgICAgZnVuY19jb252ZXJ0
X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1bHQ9YCRFQ0hPICIkZnVuY19j
b252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl90bXAiIHwKICAgICAgICAk
U0VEIC1lICIkbHRfc2VkX25haXZlX2JhY2tzbGFzaGlmeSJgCiAgICBlbHNl
CiAgICAgIGZ1bmNfY29udmVydF9jb3JlX2ZpbGVfd2luZV90b193MzJfcmVz
dWx0PQogICAgZmkKICBmaQp9CiMgZW5kOiBmdW5jX2NvbnZlcnRfY29yZV9m
aWxlX3dpbmVfdG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dp
bmVfdG9fdzMyIEFSRwojIEhlbHBlciBmdW5jdGlvbiB1c2VkIGJ5IHBhdGgg
Y29udmVyc2lvbiBmdW5jdGlvbnMgd2hlbiAkYnVpbGQgaXMgKm5peCwgYW5k
CiMgJGhvc3QgaXMgbWluZ3csIGN5Z3dpbiwgb3Igc29tZSBvdGhlciB3MzIg
ZW52aXJvbm1lbnQuIFJlbGllcyBvbiBhIGNvcnJlY3RseQojIGNvbmZpZ3Vy
ZWQgd2luZSBlbnZpcm9ubWVudCBhdmFpbGFibGUsIHdpdGggdGhlIHdpbmVw
YXRoIHByb2dyYW0gaW4gJGJ1aWxkJ3MKIyAkUEFUSC4gQXNzdW1lcyBBUkcg
aGFzIG5vIGxlYWRpbmcgb3IgdHJhaWxpbmcgcGF0aCBzZXBhcmF0b3IgY2hh
cmFjdGVycy4KIwojIEFSRyBpcyBwYXRoIHRvIGJlIGNvbnZlcnRlZCBmcm9t
ICRidWlsZCBmb3JtYXQgdG8gd2luMzIuCiMgUmVzdWx0IGlzIGF2YWlsYWJs
ZSBpbiAkZnVuY19jb252ZXJ0X2NvcmVfcGF0aF93aW5lX3RvX3czMl9yZXN1
bHQuCiMgVW5jb252ZXJ0aWJsZSBmaWxlIChkaXJlY3RvcnkpIG5hbWVzIGlu
IEFSRyBhcmUgc2tpcHBlZDsgaWYgbm8gZGlyZWN0b3J5IG5hbWVzCiMgYXJl
IGNvbnZlcnRpYmxlLCB0aGVuIHRoZSByZXN1bHQgbWF5IGJlIGVtcHR5Lgpm
dW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMyICgpCnsKICAkb3B0
X2RlYnVnCiAgIyB1bmZvcnR1bmF0ZWx5LCB3aW5lcGF0aCBkb2Vzbid0IGNv
bnZlcnQgcGF0aHMsIG9ubHkgZmlsZSBuYW1lcwogIGZ1bmNfY29udmVydF9j
b3JlX3BhdGhfd2luZV90b193MzJfcmVzdWx0PSIiCiAgaWYgdGVzdCAtbiAi
JDEiOyB0aGVuCiAgICBvbGRJRlM9JElGUwogICAgSUZTPToKICAgIGZvciBm
dW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMyX2YgaW4gJDE7IGRv
CiAgICAgIElGUz0kb2xkSUZTCiAgICAgIGZ1bmNfY29udmVydF9jb3JlX2Zp
bGVfd2luZV90b193MzIgIiRmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVf
dG9fdzMyX2YiCiAgICAgIGlmIHRlc3QgLW4gIiRmdW5jX2NvbnZlcnRfY29y
ZV9maWxlX3dpbmVfdG9fdzMyX3Jlc3VsdCIgOyB0aGVuCiAgICAgICAgaWYg
dGVzdCAteiAiJGZ1bmNfY29udmVydF9jb3JlX3BhdGhfd2luZV90b193MzJf
cmVzdWx0IjsgdGhlbgogICAgICAgICAgZnVuY19jb252ZXJ0X2NvcmVfcGF0
aF93aW5lX3RvX3czMl9yZXN1bHQ9IiRmdW5jX2NvbnZlcnRfY29yZV9maWxl
X3dpbmVfdG9fdzMyX3Jlc3VsdCIKICAgICAgICBlbHNlCiAgICAgICAgICBm
dW5jX2FwcGVuZCBmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMy
X3Jlc3VsdCAiOyRmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMy
X3Jlc3VsdCIKICAgICAgICBmaQogICAgICBmaQogICAgZG9uZQogICAgSUZT
PSRvbGRJRlMKICBmaQp9CiMgZW5kOiBmdW5jX2NvbnZlcnRfY29yZV9wYXRo
X3dpbmVfdG9fdzMyCgoKIyBmdW5jX2N5Z3BhdGggQVJHUy4uLgojIFdyYXBw
ZXIgYXJvdW5kIGNhbGxpbmcgdGhlIGN5Z3BhdGggcHJvZ3JhbSB2aWEgTFRf
Q1lHUEFUSC4gVGhpcyBpcyB1c2VkIHdoZW4KIyB3aGVuICgxKSAkYnVpbGQg
aXMgKm5peCBhbmQgQ3lnd2luIGlzIGhvc3RlZCB2aWEgYSB3aW5lIGVudmly
b25tZW50OyBvciAoMikKIyAkYnVpbGQgaXMgTVNZUyBhbmQgJGhvc3QgaXMg
Q3lnd2luLCBvciAoMykgJGJ1aWxkIGlzIEN5Z3dpbi4gSW4gY2FzZSAoMSkg
b3IKIyAoMiksIHJldHVybnMgdGhlIEN5Z3dpbiBmaWxlIG5hbWUgb3IgcGF0
aCBpbiBmdW5jX2N5Z3BhdGhfcmVzdWx0IChpbnB1dAojIGZpbGUgbmFtZSBv
ciBwYXRoIGlzIGFzc3VtZWQgdG8gYmUgaW4gdzMyIGZvcm1hdCwgYXMgcHJl
dmlvdXNseSBjb252ZXJ0ZWQKIyBmcm9tICRidWlsZCdzICpuaXggb3IgTVNZ
UyBmb3JtYXQpLiBJbiBjYXNlICgzKSwgcmV0dXJucyB0aGUgdzMyIGZpbGUg
bmFtZQojIG9yIHBhdGggaW4gZnVuY19jeWdwYXRoX3Jlc3VsdCAoaW5wdXQg
ZmlsZSBuYW1lIG9yIHBhdGggaXMgYXNzdW1lZCB0byBiZSBpbgojIEN5Z3dp
biBmb3JtYXQpLiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBvbiBlcnJvci4K
IwojIEFSR1MgYXJlIHBhc3NlZCB0byBjeWdwYXRoLCB3aXRoIHRoZSBsYXN0
IG9uZSBiZWluZyB0aGUgZmlsZSBuYW1lIG9yIHBhdGggdG8KIyBiZSBjb252
ZXJ0ZWQuCiMKIyBTcGVjaWZ5IHRoZSBhYnNvbHV0ZSAqbml4IChvciB3MzIp
IG5hbWUgdG8gY3lncGF0aCBpbiB0aGUgTFRfQ1lHUEFUSAojIGVudmlyb25t
ZW50IHZhcmlhYmxlOyBkbyBub3QgcHV0IGl0IGluICRQQVRILgpmdW5jX2N5
Z3BhdGggKCkKewogICRvcHRfZGVidWcKICBpZiB0ZXN0IC1uICIkTFRfQ1lH
UEFUSCIgJiYgdGVzdCAtZiAiJExUX0NZR1BBVEgiOyB0aGVuCiAgICBmdW5j
X2N5Z3BhdGhfcmVzdWx0PWAkTFRfQ1lHUEFUSCAiJEAiIDI+L2Rldi9udWxs
YAogICAgaWYgdGVzdCAiJD8iIC1uZSAwOyB0aGVuCiAgICAgICMgb24gZmFp
bHVyZSwgZW5zdXJlIHJlc3VsdCBpcyBlbXB0eQogICAgICBmdW5jX2N5Z3Bh
dGhfcmVzdWx0PQogICAgZmkKICBlbHNlCiAgICBmdW5jX2N5Z3BhdGhfcmVz
dWx0PQogICAgZnVuY19lcnJvciAiTFRfQ1lHUEFUSCBpcyBlbXB0eSBvciBz
cGVjaWZpZXMgbm9uLWV4aXN0ZW50IGZpbGU6IFxgJExUX0NZR1BBVEgnIgog
IGZpCn0KI2VuZDogZnVuY19jeWdwYXRoCgoKIyBmdW5jX2NvbnZlcnRfY29y
ZV9tc3lzX3RvX3czMiBBUkcKIyBDb252ZXJ0IGZpbGUgbmFtZSBvciBwYXRo
IEFSRyBmcm9tIE1TWVMgZm9ybWF0IHRvIHczMiBmb3JtYXQuICBSZXR1cm4K
IyByZXN1bHQgaW4gZnVuY19jb252ZXJ0X2NvcmVfbXN5c190b193MzJfcmVz
dWx0LgpmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3RvX3czMiAoKQp7CiAgJG9w
dF9kZWJ1ZwogICMgYXdrd2FyZDogY21kIGFwcGVuZHMgc3BhY2VzIHRvIHJl
c3VsdAogIGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyX3Jlc3VsdD1g
KCBjbWQgLy9jIGVjaG8gIiQxIiApIDI+L2Rldi9udWxsIHwKICAgICRTRUQg
LWUgJ3MvWyBdKiQvLycgLWUgIiRsdF9zZWRfbmFpdmVfYmFja3NsYXNoaWZ5
ImAKfQojZW5kOiBmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3RvX3czMgoKCiMg
ZnVuY19jb252ZXJ0X2ZpbGVfY2hlY2sgQVJHMSBBUkcyCiMgVmVyaWZ5IHRo
YXQgQVJHMSAoYSBmaWxlIG5hbWUgaW4gJGJ1aWxkIGZvcm1hdCkgd2FzIGNv
bnZlcnRlZCB0byAkaG9zdAojIGZvcm1hdCBpbiBBUkcyLiBPdGhlcndpc2Us
IGVtaXQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGNvbnRpbnVlIChyZXNldHRp
bmcKIyBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQgdG8gQVJHMSkuCmZ1bmNf
Y29udmVydF9maWxlX2NoZWNrICgpCnsKICAkb3B0X2RlYnVnCiAgaWYgdGVz
dCAteiAiJDIiICYmIHRlc3QgLW4gIiQxIiA7IHRoZW4KICAgIGZ1bmNfZXJy
b3IgIkNvdWxkIG5vdCBkZXRlcm1pbmUgaG9zdCBmaWxlIG5hbWUgY29ycmVz
cG9uZGluZyB0byIKICAgIGZ1bmNfZXJyb3IgIiAgXGAkMSciCiAgICBmdW5j
X2Vycm9yICJDb250aW51aW5nLCBidXQgdW5pbnN0YWxsZWQgZXhlY3V0YWJs
ZXMgbWF5IG5vdCB3b3JrLiIKICAgICMgRmFsbGJhY2s6CiAgICBmdW5jX3Rv
X2hvc3RfZmlsZV9yZXN1bHQ9IiQxIgogIGZpCn0KIyBlbmQgZnVuY19jb252
ZXJ0X2ZpbGVfY2hlY2sKCgojIGZ1bmNfY29udmVydF9wYXRoX2NoZWNrIEZS
T01fUEFUSFNFUCBUT19QQVRIU0VQIEZST01fUEFUSCBUT19QQVRICiMgVmVy
aWZ5IHRoYXQgRlJPTV9QQVRIIChhIHBhdGggaW4gJGJ1aWxkIGZvcm1hdCkg
d2FzIGNvbnZlcnRlZCB0byAkaG9zdAojIGZvcm1hdCBpbiBUT19QQVRILiBP
dGhlcndpc2UsIGVtaXQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGNvbnRpbnVl
LCByZXNldHRpbmcKIyBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQgdG8gYSBz
aW1wbGlzdGljIGZhbGxiYWNrIHZhbHVlIChzZWUgYmVsb3cpLgpmdW5jX2Nv
bnZlcnRfcGF0aF9jaGVjayAoKQp7CiAgJG9wdF9kZWJ1ZwogIGlmIHRlc3Qg
LXogIiQ0IiAmJiB0ZXN0IC1uICIkMyI7IHRoZW4KICAgIGZ1bmNfZXJyb3Ig
IkNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGhvc3QgcGF0aCBjb3JyZXNwb25k
aW5nIHRvIgogICAgZnVuY19lcnJvciAiICBcYCQzJyIKICAgIGZ1bmNfZXJy
b3IgIkNvbnRpbnVpbmcsIGJ1dCB1bmluc3RhbGxlZCBleGVjdXRhYmxlcyBt
YXkgbm90IHdvcmsuIgogICAgIyBGYWxsYmFjay4gIFRoaXMgaXMgYSBkZWxp
YmVyYXRlbHkgc2ltcGxpc3RpYyAiY29udmVyc2lvbiIgYW5kCiAgICAjIHNo
b3VsZCBub3QgYmUgImltcHJvdmVkIi4gIFNlZSBsaWJ0b29sLmluZm8uCiAg
ICBpZiB0ZXN0ICJ4JDEiICE9ICJ4JDIiOyB0aGVuCiAgICAgIGx0X3JlcGxh
Y2VfcGF0aHNlcF9jaGFycz0ic3wkMXwkMnxnIgogICAgICBmdW5jX3RvX2hv
c3RfcGF0aF9yZXN1bHQ9YGVjaG8gIiQzIiB8CiAgICAgICAgJFNFRCAtZSAi
JGx0X3JlcGxhY2VfcGF0aHNlcF9jaGFycyJgCiAgICBlbHNlCiAgICAgIGZ1
bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDMiCiAgICBmaQogIGZpCn0KIyBl
bmQgZnVuY19jb252ZXJ0X3BhdGhfY2hlY2sKCgojIGZ1bmNfY29udmVydF9w
YXRoX2Zyb250X2JhY2tfcGF0aHNlcCBGUk9OVFBBVCBCQUNLUEFUIFJFUEwg
T1JJRwojIE1vZGlmaWVzIGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCBieSBw
cmVwZW5kaW5nIFJFUEwgaWYgT1JJRyBtYXRjaGVzIEZST05UUEFUCiMgYW5k
IGFwcGVuZGluZyBSRVBMIGlmIE9SSUcgbWF0Y2hlcyBCQUNLUEFULgpmdW5j
X2NvbnZlcnRfcGF0aF9mcm9udF9iYWNrX3BhdGhzZXAgKCkKewogICRvcHRf
ZGVidWcKICBjYXNlICQ0IGluCiAgJDEgKSBmdW5jX3RvX2hvc3RfcGF0aF9y
ZXN1bHQ9IiQzJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKICAgIDs7CiAg
ZXNhYwogIGNhc2UgJDQgaW4KICAkMiApIGZ1bmNfdG9faG9zdF9wYXRoX3Jl
c3VsdCs9IiQzIgogICAgOzsKICBlc2FjCn0KIyBlbmQgZnVuY19jb252ZXJ0
X3BhdGhfZnJvbnRfYmFja19wYXRoc2VwCgoKIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAkYnVpbGQgdG8g
JGhvc3QgRklMRSBOQU1FIENPTlZFUlNJT04gRlVOQ1RJT05TICMKIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK
IyBpbnZva2VkIHZpYSBgJHRvX2hvc3RfZmlsZV9jbWQgQVJHJwojCiMgSW4g
ZWFjaCBjYXNlLCBBUkcgaXMgdGhlIHBhdGggdG8gYmUgY29udmVydGVkIGZy
b20gJGJ1aWxkIHRvICRob3N0IGZvcm1hdC4KIyBSZXN1bHQgd2lsbCBiZSBh
dmFpbGFibGUgaW4gJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KCgojIGZ1
bmNfdG9faG9zdF9maWxlIEFSRwojIENvbnZlcnRzIHRoZSBmaWxlIG5hbWUg
QVJHIGZyb20gJGJ1aWxkIGZvcm1hdCB0byAkaG9zdCBmb3JtYXQuIFJldHVy
biByZXN1bHQKIyBpbiBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNf
dG9faG9zdF9maWxlICgpCnsKICAkb3B0X2RlYnVnCiAgJHRvX2hvc3RfZmls
ZV9jbWQgIiQxIgp9CiMgZW5kIGZ1bmNfdG9faG9zdF9maWxlCgoKIyBmdW5j
X3RvX3Rvb2xfZmlsZSBBUkcgTEFaWQojIGNvbnZlcnRzIHRoZSBmaWxlIG5h
bWUgQVJHIGZyb20gJGJ1aWxkIGZvcm1hdCB0byB0b29sY2hhaW4gZm9ybWF0
LiBSZXR1cm4KIyByZXN1bHQgaW4gZnVuY190b190b29sX2ZpbGVfcmVzdWx0
LiAgSWYgdGhlIGNvbnZlcnNpb24gaW4gdXNlIGlzIGxpc3RlZAojIGluICh0
aGUgY29tbWEgc2VwYXJhdGVkKSBMQVpZLCBubyBjb252ZXJzaW9uIHRha2Vz
IHBsYWNlLgpmdW5jX3RvX3Rvb2xfZmlsZSAoKQp7CiAgJG9wdF9kZWJ1Zwog
IGNhc2UgLCQyLCBpbgogICAgKiwiJHRvX3Rvb2xfZmlsZV9jbWQiLCopCiAg
ICAgIGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdD0kMQogICAgICA7OwogICAg
KikKICAgICAgJHRvX3Rvb2xfZmlsZV9jbWQgIiQxIgogICAgICBmdW5jX3Rv
X3Rvb2xfZmlsZV9yZXN1bHQ9JGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdAog
ICAgICA7OwogIGVzYWMKfQojIGVuZCBmdW5jX3RvX3Rvb2xfZmlsZQoKCiMg
ZnVuY19jb252ZXJ0X2ZpbGVfbm9vcCBBUkcKIyBDb3B5IEFSRyB0byBmdW5j
X3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxlX25vb3Ag
KCkKewogIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJDEiCn0KIyBlbmQg
ZnVuY19jb252ZXJ0X2ZpbGVfbm9vcAoKCiMgZnVuY19jb252ZXJ0X2ZpbGVf
bXN5c190b193MzIgQVJHCiMgQ29udmVydCBmaWxlIG5hbWUgQVJHIGZyb20g
KG1pbmd3KSBNU1lTIHRvIChtaW5ndykgdzMyIGZvcm1hdDsgYXV0b21hdGlj
CiMgY29udmVyc2lvbiB0byB3MzIgaXMgbm90IGF2YWlsYWJsZSBpbnNpZGUg
dGhlIGN3cmFwcGVyLiAgUmV0dXJucyByZXN1bHQgaW4KIyBmdW5jX3RvX2hv
c3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMy
ICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0
PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgIGZ1bmNfY29udmVy
dF9jb3JlX21zeXNfdG9fdzMyICIkMSIKICAgIGZ1bmNfdG9faG9zdF9maWxl
X3Jlc3VsdD0iJGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyX3Jlc3Vs
dCIKICBmaQogIGZ1bmNfY29udmVydF9maWxlX2NoZWNrICIkMSIgIiRmdW5j
X3RvX2hvc3RfZmlsZV9yZXN1bHQiCn0KIyBlbmQgZnVuY19jb252ZXJ0X2Zp
bGVfbXN5c190b193MzIKCgojIGZ1bmNfY29udmVydF9maWxlX2N5Z3dpbl90
b193MzIgQVJHCiMgQ29udmVydCBmaWxlIG5hbWUgQVJHIGZyb20gQ3lnd2lu
IHRvIHczMiBmb3JtYXQuICBSZXR1cm5zIHJlc3VsdCBpbgojIGZ1bmNfdG9f
aG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0X2ZpbGVfY3lnd2luX3Rv
X3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9faG9zdF9maWxlX3Jl
c3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVuCiAgICAjIGJlY2F1
c2UgJGJ1aWxkIGlzIGN5Z3dpbiwgd2UgY2FsbCAidGhlIiBjeWdwYXRoIGlu
ICRQQVRIOyBubyBuZWVkIHRvIHVzZQogICAgIyBMVF9DWUdQQVRIIGluIHRo
aXMgY2FzZS4KICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD1gY3lncGF0
aCAtbSAiJDEiYAogIGZpCiAgZnVuY19jb252ZXJ0X2ZpbGVfY2hlY2sgIiQx
IiAiJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdCIKfQojIGVuZCBmdW5jX2Nv
bnZlcnRfZmlsZV9jeWd3aW5fdG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfZmls
ZV9uaXhfdG9fdzMyIEFSRwojIENvbnZlcnQgZmlsZSBuYW1lIEFSRyBmcm9t
ICpuaXggdG8gdzMyIGZvcm1hdC4gIFJlcXVpcmVzIGEgd2luZSBlbnZpcm9u
bWVudAojIGFuZCBhIHdvcmtpbmcgd2luZXBhdGguIFJldHVybnMgcmVzdWx0
IGluIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0X2Zp
bGVfbml4X3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9faG9z
dF9maWxlX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVuCiAg
ICBmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyICIkMSIKICAg
IGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNfY29udmVydF9jb3Jl
X2ZpbGVfd2luZV90b193MzJfcmVzdWx0IgogIGZpCiAgZnVuY19jb252ZXJ0
X2ZpbGVfY2hlY2sgIiQxIiAiJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdCIK
fQojIGVuZCBmdW5jX2NvbnZlcnRfZmlsZV9uaXhfdG9fdzMyCgoKIyBmdW5j
X2NvbnZlcnRfZmlsZV9tc3lzX3RvX2N5Z3dpbiBBUkcKIyBDb252ZXJ0IGZp
bGUgbmFtZSBBUkcgZnJvbSBNU1lTIHRvIEN5Z3dpbiBmb3JtYXQuICBSZXF1
aXJlcyBMVF9DWUdQQVRIIHNldC4KIyBSZXR1cm5zIHJlc3VsdCBpbiBmdW5j
X3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxlX21zeXNf
dG9fY3lnd2luICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19ob3N0X2Zp
bGVfcmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgIGZ1
bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyICIkMSIKICAgIGZ1bmNfY3ln
cGF0aCAtdSAiJGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyX3Jlc3Vs
dCIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNfY3lncGF0
aF9yZXN1bHQiCiAgZmkKICBmdW5jX2NvbnZlcnRfZmlsZV9jaGVjayAiJDEi
ICIkZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0Igp9CiMgZW5kIGZ1bmNfY29u
dmVydF9maWxlX21zeXNfdG9fY3lnd2luCgoKIyBmdW5jX2NvbnZlcnRfZmls
ZV9uaXhfdG9fY3lnd2luIEFSRwojIENvbnZlcnQgZmlsZSBuYW1lIEFSRyBm
cm9tICpuaXggdG8gQ3lnd2luIGZvcm1hdC4gIFJlcXVpcmVzIEN5Z3dpbiBp
bnN0YWxsZWQKIyBpbiBhIHdpbmUgZW52aXJvbm1lbnQsIHdvcmtpbmcgd2lu
ZXBhdGgsIGFuZCBMVF9DWUdQQVRIIHNldC4gIFJldHVybnMgcmVzdWx0CiMg
aW4gZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0LgpmdW5jX2NvbnZlcnRfZmls
ZV9uaXhfdG9fY3lnd2luICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19o
b3N0X2ZpbGVfcmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4K
ICAgICMgY29udmVydCBmcm9tICpuaXggdG8gdzMyLCB0aGVuIHVzZSBjeWdw
YXRoIHRvIGNvbnZlcnQgZnJvbSB3MzIgdG8gY3lnd2luLgogICAgZnVuY19j
b252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMiAiJDEiCiAgICBmdW5jX2N5
Z3BhdGggLXUgIiRmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMy
X3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNf
Y3lncGF0aF9yZXN1bHQiCiAgZmkKICBmdW5jX2NvbnZlcnRfZmlsZV9jaGVj
ayAiJDEiICIkZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0Igp9CiMgZW5kIGZ1
bmNfY29udmVydF9maWxlX25peF90b19jeWd3aW4KCgojIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAkYnVpbGQgdG8g
JGhvc3QgUEFUSCBDT05WRVJTSU9OIEZVTkNUSU9OUyAjCiMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIGludm9rZWQg
dmlhIGAkdG9faG9zdF9wYXRoX2NtZCBBUkcnCiMKIyBJbiBlYWNoIGNhc2Us
IEFSRyBpcyB0aGUgcGF0aCB0byBiZSBjb252ZXJ0ZWQgZnJvbSAkYnVpbGQg
dG8gJGhvc3QgZm9ybWF0LgojIFRoZSByZXN1bHQgd2lsbCBiZSBhdmFpbGFi
bGUgaW4gJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdC4KIwojIFBhdGggc2Vw
YXJhdG9ycyBhcmUgYWxzbyBjb252ZXJ0ZWQgZnJvbSAkYnVpbGQgZm9ybWF0
IHRvICRob3N0IGZvcm1hdC4gIElmCiMgQVJHIGJlZ2lucyBvciBlbmRzIHdp
dGggYSBwYXRoIHNlcGFyYXRvciBjaGFyYWN0ZXIsIGl0IGlzIHByZXNlcnZl
ZCAoYnV0CiMgY29udmVydGVkIHRvICRob3N0IGZvcm1hdCkgb24gb3V0cHV0
LgojCiMgQWxsIHBhdGggY29udmVyc2lvbiBmdW5jdGlvbnMgYXJlIG5hbWVk
IHVzaW5nIHRoZSBmb2xsb3dpbmcgY29udmVudGlvbjoKIyAgIGZpbGUgbmFt
ZSBjb252ZXJzaW9uIGZ1bmN0aW9uICAgIDogZnVuY19jb252ZXJ0X2ZpbGVf
WF90b19ZICgpCiMgICBwYXRoIGNvbnZlcnNpb24gZnVuY3Rpb24gICAgICAg
ICA6IGZ1bmNfY29udmVydF9wYXRoX1hfdG9fWSAoKQojIHdoZXJlLCBmb3Ig
YW55IGdpdmVuICRidWlsZC8kaG9zdCBjb21iaW5hdGlvbiB0aGUgJ1hfdG9f
WScgdmFsdWUgaXMgdGhlCiMgc2FtZS4gIElmIGNvbnZlcnNpb24gZnVuY3Rp
b25zIGFyZSBhZGRlZCBmb3IgbmV3ICRidWlsZC8kaG9zdCBjb21iaW5hdGlv
bnMsCiMgdGhlIHR3byBuZXcgZnVuY3Rpb25zIG11c3QgZm9sbG93IHRoaXMg
cGF0dGVybiwgb3IgZnVuY19pbml0X3RvX2hvc3RfcGF0aF9jbWQKIyB3aWxs
IGJyZWFrLgoKCiMgZnVuY19pbml0X3RvX2hvc3RfcGF0aF9jbWQKIyBFbnN1
cmVzIHRoYXQgZnVuY3Rpb24gInBvaW50ZXIiIHZhcmlhYmxlICR0b19ob3N0
X3BhdGhfY21kIGlzIHNldCB0byB0aGUKIyBhcHByb3ByaWF0ZSB2YWx1ZSwg
YmFzZWQgb24gdGhlIHZhbHVlIG9mICR0b19ob3N0X2ZpbGVfY21kLgp0b19o
b3N0X3BhdGhfY21kPQpmdW5jX2luaXRfdG9faG9zdF9wYXRoX2NtZCAoKQp7
CiAgJG9wdF9kZWJ1ZwogIGlmIHRlc3QgLXogIiR0b19ob3N0X3BhdGhfY21k
IjsgdGhlbgogICAgZnVuY19zdHJpcG5hbWUgJ2Z1bmNfY29udmVydF9maWxl
XycgJycgIiR0b19ob3N0X2ZpbGVfY21kIgogICAgdG9faG9zdF9wYXRoX2Nt
ZD0iZnVuY19jb252ZXJ0X3BhdGhfJHtmdW5jX3N0cmlwbmFtZV9yZXN1bHR9
IgogIGZpCn0KCgojIGZ1bmNfdG9faG9zdF9wYXRoIEFSRwojIENvbnZlcnRz
IHRoZSBwYXRoIEFSRyBmcm9tICRidWlsZCBmb3JtYXQgdG8gJGhvc3QgZm9y
bWF0LiBSZXR1cm4gcmVzdWx0CiMgaW4gZnVuY190b19ob3N0X3BhdGhfcmVz
dWx0LgpmdW5jX3RvX2hvc3RfcGF0aCAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1
bmNfaW5pdF90b19ob3N0X3BhdGhfY21kCiAgJHRvX2hvc3RfcGF0aF9jbWQg
IiQxIgp9CiMgZW5kIGZ1bmNfdG9faG9zdF9wYXRoCgoKIyBmdW5jX2NvbnZl
cnRfcGF0aF9ub29wIEFSRwojIENvcHkgQVJHIHRvIGZ1bmNfdG9faG9zdF9w
YXRoX3Jlc3VsdC4KZnVuY19jb252ZXJ0X3BhdGhfbm9vcCAoKQp7CiAgZnVu
Y190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKfQojIGVuZCBmdW5jX2NvbnZl
cnRfcGF0aF9ub29wCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3cz
MiBBUkcKIyBDb252ZXJ0IHBhdGggQVJHIGZyb20gKG1pbmd3KSBNU1lTIHRv
IChtaW5ndykgdzMyIGZvcm1hdDsgYXV0b21hdGljCiMgY29udmVyc2lvbiB0
byB3MzIgaXMgbm90IGF2YWlsYWJsZSBpbnNpZGUgdGhlIGN3cmFwcGVyLiAg
UmV0dXJucyByZXN1bHQgaW4KIyBmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQu
CmZ1bmNfY29udmVydF9wYXRoX21zeXNfdG9fdzMyICgpCnsKICAkb3B0X2Rl
YnVnCiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKICBpZiB0ZXN0
IC1uICIkMSI7IHRoZW4KICAgICMgUmVtb3ZlIGxlYWRpbmcgYW5kIHRyYWls
aW5nIHBhdGggc2VwYXJhdG9yIGNoYXJhY3RlcnMgZnJvbSBBUkcuICBNU1lT
CiAgICAjIGJlaGF2aW9yIGlzIGluY29uc2lzdGVudCBoZXJlOyBjeWdwYXRo
IHR1cm5zIHRoZW0gaW50byAnLjsnIGFuZCAnOy4nOwogICAgIyBhbmQgd2lu
ZXBhdGggaWdub3JlcyB0aGVtIGNvbXBsZXRlbHkuCiAgICBmdW5jX3N0cmlw
bmFtZSA6IDogIiQxIgogICAgZnVuY190b19ob3N0X3BhdGhfdG1wMT0kZnVu
Y19zdHJpcG5hbWVfcmVzdWx0CiAgICBmdW5jX2NvbnZlcnRfY29yZV9tc3lz
X3RvX3czMiAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiCiAgICBmdW5jX3Rv
X2hvc3RfcGF0aF9yZXN1bHQ9IiRmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3Rv
X3czMl9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRfcGF0aF9jaGVjayA6ICI7
IiBcCiAgICAgICIkZnVuY190b19ob3N0X3BhdGhfdG1wMSIgIiRmdW5jX3Rv
X2hvc3RfcGF0aF9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRfcGF0aF9mcm9u
dF9iYWNrX3BhdGhzZXAgIjoqIiAiKjoiICI7IiAiJDEiCiAgZmkKfQojIGVu
ZCBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMgoKCiMgZnVuY19jb252
ZXJ0X3BhdGhfY3lnd2luX3RvX3czMiBBUkcKIyBDb252ZXJ0IHBhdGggQVJH
IGZyb20gQ3lnd2luIHRvIHczMiBmb3JtYXQuICBSZXR1cm5zIHJlc3VsdCBp
bgojIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0X3Bh
dGhfY3lnd2luX3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9f
aG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVu
CiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMjoKICAg
IGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3RfcGF0
aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfdG9faG9z
dF9wYXRoX3Jlc3VsdD1gY3lncGF0aCAtbSAtcCAiJGZ1bmNfdG9faG9zdF9w
YXRoX3RtcDEiYAogICAgZnVuY19jb252ZXJ0X3BhdGhfY2hlY2sgOiAiOyIg
XAogICAgICAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiICIkZnVuY190b19o
b3N0X3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252ZXJ0X3BhdGhfZnJvbnRf
YmFja19wYXRoc2VwICI6KiIgIio6IiAiOyIgIiQxIgogIGZpCn0KIyBlbmQg
ZnVuY19jb252ZXJ0X3BhdGhfY3lnd2luX3RvX3czMgoKCiMgZnVuY19jb252
ZXJ0X3BhdGhfbml4X3RvX3czMiBBUkcKIyBDb252ZXJ0IHBhdGggQVJHIGZy
b20gKm5peCB0byB3MzIgZm9ybWF0LiAgUmVxdWlyZXMgYSB3aW5lIGVudmly
b25tZW50IGFuZAojIGEgd29ya2luZyB3aW5lcGF0aC4gIFJldHVybnMgcmVz
dWx0IGluIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0
X3BhdGhfbml4X3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9f
aG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVu
CiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMjoKICAg
IGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3RfcGF0
aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfY29udmVy
dF9jb3JlX3BhdGhfd2luZV90b193MzIgIiRmdW5jX3RvX2hvc3RfcGF0aF90
bXAxIgogICAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkZnVuY19jb252
ZXJ0X2NvcmVfcGF0aF93aW5lX3RvX3czMl9yZXN1bHQiCiAgICBmdW5jX2Nv
bnZlcnRfcGF0aF9jaGVjayA6ICI7IiBcCiAgICAgICIkZnVuY190b19ob3N0
X3BhdGhfdG1wMSIgIiRmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQiCiAgICBm
dW5jX2NvbnZlcnRfcGF0aF9mcm9udF9iYWNrX3BhdGhzZXAgIjoqIiAiKjoi
ICI7IiAiJDEiCiAgZmkKfQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0aF9uaXhf
dG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX2N5Z3dpbiBB
UkcKIyBDb252ZXJ0IHBhdGggQVJHIGZyb20gTVNZUyB0byBDeWd3aW4gZm9y
bWF0LiAgUmVxdWlyZXMgTFRfQ1lHUEFUSCBzZXQuCiMgUmV0dXJucyByZXN1
bHQgaW4gZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0LgpmdW5jX2NvbnZlcnRf
cGF0aF9tc3lzX3RvX2N5Z3dpbiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNf
dG9faG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0
aGVuCiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMjoK
ICAgIGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3Rf
cGF0aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfY29u
dmVydF9jb3JlX21zeXNfdG9fdzMyICIkZnVuY190b19ob3N0X3BhdGhfdG1w
MSIKICAgIGZ1bmNfY3lncGF0aCAtdSAtcCAiJGZ1bmNfY29udmVydF9jb3Jl
X21zeXNfdG9fdzMyX3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9wYXRoX3Jl
c3VsdD0iJGZ1bmNfY3lncGF0aF9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRf
cGF0aF9jaGVjayA6IDogXAogICAgICAiJGZ1bmNfdG9faG9zdF9wYXRoX3Rt
cDEiICIkZnVuY190b19ob3N0X3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252
ZXJ0X3BhdGhfZnJvbnRfYmFja19wYXRoc2VwICI6KiIgIio6IiA6ICIkMSIK
ICBmaQp9CiMgZW5kIGZ1bmNfY29udmVydF9wYXRoX21zeXNfdG9fY3lnd2lu
CgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luIEFSRwojIENv
bnZlcnQgcGF0aCBBUkcgZnJvbSAqbml4IHRvIEN5Z3dpbiBmb3JtYXQuICBS
ZXF1aXJlcyBDeWd3aW4gaW5zdGFsbGVkIGluIGEKIyBhIHdpbmUgZW52aXJv
bm1lbnQsIHdvcmtpbmcgd2luZXBhdGgsIGFuZCBMVF9DWUdQQVRIIHNldC4g
IFJldHVybnMgcmVzdWx0IGluCiMgZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0
LgpmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luICgpCnsKICAkb3B0
X2RlYnVnCiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKICBpZiB0
ZXN0IC1uICIkMSI7IHRoZW4KICAgICMgUmVtb3ZlIGxlYWRpbmcgYW5kIHRy
YWlsaW5nIHBhdGggc2VwYXJhdG9yIGNoYXJhY3RlcnMgZnJvbQogICAgIyBB
UkcuIG1zeXMgYmVoYXZpb3IgaXMgaW5jb25zaXN0ZW50IGhlcmUsIGN5Z3Bh
dGggdHVybnMgdGhlbQogICAgIyBpbnRvICcuOycgYW5kICc7LicsIGFuZCB3
aW5lcGF0aCBpZ25vcmVzIHRoZW0gY29tcGxldGVseS4KICAgIGZ1bmNfc3Ry
aXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3RfcGF0aF90bXAxPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfY29udmVydF9jb3JlX3Bh
dGhfd2luZV90b193MzIgIiRmdW5jX3RvX2hvc3RfcGF0aF90bXAxIgogICAg
ZnVuY19jeWdwYXRoIC11IC1wICIkZnVuY19jb252ZXJ0X2NvcmVfcGF0aF93
aW5lX3RvX3czMl9yZXN1bHQiCiAgICBmdW5jX3RvX2hvc3RfcGF0aF9yZXN1
bHQ9IiRmdW5jX2N5Z3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252ZXJ0X3Bh
dGhfY2hlY2sgOiA6IFwKICAgICAgIiRmdW5jX3RvX2hvc3RfcGF0aF90bXAx
IiAiJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKICAgIGZ1bmNfY29udmVy
dF9wYXRoX2Zyb250X2JhY2tfcGF0aHNlcCAiOioiICIqOiIgOiAiJDEiCiAg
ZmkKfQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luCgoK
IyBmdW5jX21vZGVfY29tcGlsZSBhcmcuLi4KZnVuY19tb2RlX2NvbXBpbGUg
KCkKewogICAgJG9wdF9kZWJ1ZwogICAgIyBHZXQgdGhlIGNvbXBpbGF0aW9u
IGNvbW1hbmQgYW5kIHRoZSBzb3VyY2UgZmlsZS4KICAgIGJhc2VfY29tcGls
ZT0KICAgIHNyY2ZpbGU9IiRub25vcHQiICAjICBhbHdheXMga2VlcCBhIG5v
bi1lbXB0eSB2YWx1ZSBpbiAic3JjZmlsZSIKICAgIHN1cHByZXNzX29wdD15
ZXMKICAgIHN1cHByZXNzX291dHB1dD0KICAgIGFyZ19tb2RlPW5vcm1hbAog
ICAgbGlib2JqPQogICAgbGF0ZXI9CiAgICBwaWVfZmxhZz0KCiAgICBmb3Ig
YXJnCiAgICBkbwogICAgICBjYXNlICRhcmdfbW9kZSBpbgogICAgICBhcmcg
ICkKCSMgZG8gbm90ICJjb250aW51ZSIuICBJbnN0ZWFkLCBhZGQgdGhpcyB0
byBiYXNlX2NvbXBpbGUKCWxhc3Rhcmc9IiRhcmciCglhcmdfbW9kZT1ub3Jt
YWwKCTs7CgogICAgICB0YXJnZXQgKQoJbGlib2JqPSIkYXJnIgoJYXJnX21v
ZGU9bm9ybWFsCgljb250aW51ZQoJOzsKCiAgICAgIG5vcm1hbCApCgkjIEFj
Y2VwdCBhbnkgY29tbWFuZC1saW5lIG9wdGlvbnMuCgljYXNlICRhcmcgaW4K
CS1vKQoJICB0ZXN0IC1uICIkbGlib2JqIiAmJiBcCgkgICAgZnVuY19mYXRh
bF9lcnJvciAieW91IGNhbm5vdCBzcGVjaWZ5IFxgLW8nIG1vcmUgdGhhbiBv
bmNlIgoJICBhcmdfbW9kZT10YXJnZXQKCSAgY29udGludWUKCSAgOzsKCgkt
cGllIHwgLWZwaWUgfCAtZlBJRSkKICAgICAgICAgIHBpZV9mbGFnKz0iICRh
cmciCgkgIGNvbnRpbnVlCgkgIDs7CgoJLXNoYXJlZCB8IC1zdGF0aWMgfCAt
cHJlZmVyLXBpYyB8IC1wcmVmZXItbm9uLXBpYykKCSAgbGF0ZXIrPSIgJGFy
ZyIKCSAgY29udGludWUKCSAgOzsKCgktbm8tc3VwcHJlc3MpCgkgIHN1cHBy
ZXNzX29wdD1ubwoJICBjb250aW51ZQoJICA7OwoKCS1YY29tcGlsZXIpCgkg
IGFyZ19tb2RlPWFyZyAgIyAgdGhlIG5leHQgb25lIGdvZXMgaW50byB0aGUg
ImJhc2VfY29tcGlsZSIgYXJnIGxpc3QKCSAgY29udGludWUgICAgICAjICBU
aGUgY3VycmVudCAic3JjZmlsZSIgd2lsbCBlaXRoZXIgYmUgcmV0YWluZWQg
b3IKCSAgOzsgICAgICAgICAgICAjICByZXBsYWNlZCBsYXRlci4gIEkgd291
bGQgZ3Vlc3MgdGhhdCB3b3VsZCBiZSBhIGJ1Zy4KCgktV2MsKikKCSAgZnVu
Y19zdHJpcG5hbWUgJy1XYywnICcnICIkYXJnIgoJICBhcmdzPSRmdW5jX3N0
cmlwbmFtZV9yZXN1bHQKCSAgbGFzdGFyZz0KCSAgc2F2ZV9pZnM9IiRJRlMi
OyBJRlM9JywnCgkgIGZvciBhcmcgaW4gJGFyZ3M7IGRvCgkgICAgSUZTPSIk
c2F2ZV9pZnMiCgkgICAgZnVuY19hcHBlbmRfcXVvdGVkIGxhc3RhcmcgIiRh
cmciCgkgIGRvbmUKCSAgSUZTPSIkc2F2ZV9pZnMiCgkgIGZ1bmNfc3RyaXBu
YW1lICcgJyAnJyAiJGxhc3RhcmciCgkgIGxhc3Rhcmc9JGZ1bmNfc3RyaXBu
YW1lX3Jlc3VsdAoKCSAgIyBBZGQgdGhlIGFyZ3VtZW50cyB0byBiYXNlX2Nv
bXBpbGUuCgkgIGJhc2VfY29tcGlsZSs9IiAkbGFzdGFyZyIKCSAgY29udGlu
dWUKCSAgOzsKCgkqKQoJICAjIEFjY2VwdCB0aGUgY3VycmVudCBhcmd1bWVu
dCBhcyB0aGUgc291cmNlIGZpbGUuCgkgICMgVGhlIHByZXZpb3VzICJzcmNm
aWxlIiBiZWNvbWVzIHRoZSBjdXJyZW50IGFyZ3VtZW50LgoJICAjCgkgIGxh
c3Rhcmc9IiRzcmNmaWxlIgoJICBzcmNmaWxlPSIkYXJnIgoJICA7OwoJZXNh
YyAgIyAgY2FzZSAkYXJnCgk7OwogICAgICBlc2FjICAgICMgIGNhc2UgJGFy
Z19tb2RlCgogICAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhlIHByZXZp
b3VzIGFyZ3VtZW50LgogICAgICBmdW5jX2FwcGVuZF9xdW90ZWQgYmFzZV9j
b21waWxlICIkbGFzdGFyZyIKICAgIGRvbmUgIyBmb3IgYXJnCgogICAgY2Fz
ZSAkYXJnX21vZGUgaW4KICAgIGFyZykKICAgICAgZnVuY19mYXRhbF9lcnJv
ciAieW91IG11c3Qgc3BlY2lmeSBhbiBhcmd1bWVudCBmb3IgLVhjb21waWxl
IgogICAgICA7OwogICAgdGFyZ2V0KQogICAgICBmdW5jX2ZhdGFsX2Vycm9y
ICJ5b3UgbXVzdCBzcGVjaWZ5IGEgdGFyZ2V0IHdpdGggXGAtbyciCiAgICAg
IDs7CiAgICAqKQogICAgICAjIEdldCB0aGUgbmFtZSBvZiB0aGUgbGlicmFy
eSBvYmplY3QuCiAgICAgIHRlc3QgLXogIiRsaWJvYmoiICYmIHsKCWZ1bmNf
YmFzZW5hbWUgIiRzcmNmaWxlIgoJbGlib2JqPSIkZnVuY19iYXNlbmFtZV9y
ZXN1bHQiCiAgICAgIH0KICAgICAgOzsKICAgIGVzYWMKCiAgICAjIFJlY29n
bml6ZSBzZXZlcmFsIGRpZmZlcmVudCBmaWxlIHN1ZmZpeGVzLgogICAgIyBJ
ZiB0aGUgdXNlciBzcGVjaWZpZXMgLW8gZmlsZS5vLCBpdCBpcyByZXBsYWNl
ZCB3aXRoIGZpbGUubG8KICAgIGNhc2UgJGxpYm9iaiBpbgogICAgKi5bY0NG
U2lmbXNvXSB8IFwKICAgICouYWRhIHwgKi5hZGIgfCAqLmFkcyB8ICouYXNt
IHwgXAogICAgKi5jKysgfCAqLmNjIHwgKi5paSB8ICouY2xhc3MgfCAqLmNw
cCB8ICouY3h4IHwgXAogICAgKi5bZkZdWzA5XT8gfCAqLmZvciB8ICouamF2
YSB8ICoub2JqIHwgKi5zeCB8ICouY3UgfCAqLmN1cCkKICAgICAgZnVuY194
Zm9ybSAiJGxpYm9iaiIKICAgICAgbGlib2JqPSRmdW5jX3hmb3JtX3Jlc3Vs
dAogICAgICA7OwogICAgZXNhYwoKICAgIGNhc2UgJGxpYm9iaiBpbgogICAg
Ki5sbykgZnVuY19sbzJvICIkbGlib2JqIjsgb2JqPSRmdW5jX2xvMm9fcmVz
dWx0IDs7CiAgICAqKQogICAgICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3Qg
ZGV0ZXJtaW5lIG5hbWUgb2YgbGlicmFyeSBvYmplY3QgZnJvbSBcYCRsaWJv
YmonIgogICAgICA7OwogICAgZXNhYwoKICAgIGZ1bmNfaW5mZXJfdGFnICRi
YXNlX2NvbXBpbGUKCiAgICBmb3IgYXJnIGluICRsYXRlcjsgZG8KICAgICAg
Y2FzZSAkYXJnIGluCiAgICAgIC1zaGFyZWQpCgl0ZXN0ICIkYnVpbGRfbGli
dG9vbF9saWJzIiAhPSB5ZXMgJiYgXAoJICBmdW5jX2ZhdGFsX2NvbmZpZ3Vy
YXRpb24gImNhbiBub3QgYnVpbGQgYSBzaGFyZWQgbGlicmFyeSIKCWJ1aWxk
X29sZF9saWJzPW5vCgljb250aW51ZQoJOzsKCiAgICAgIC1zdGF0aWMpCgli
dWlsZF9saWJ0b29sX2xpYnM9bm8KCWJ1aWxkX29sZF9saWJzPXllcwoJY29u
dGludWUKCTs7CgogICAgICAtcHJlZmVyLXBpYykKCXBpY19tb2RlPXllcwoJ
Y29udGludWUKCTs7CgogICAgICAtcHJlZmVyLW5vbi1waWMpCglwaWNfbW9k
ZT1ubwoJY29udGludWUKCTs7CiAgICAgIGVzYWMKICAgIGRvbmUKCiAgICBm
dW5jX3F1b3RlX2Zvcl9ldmFsICIkbGlib2JqIgogICAgdGVzdCAiWCRsaWJv
YmoiICE9ICJYJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IiBcCiAgICAg
ICYmICRFQ0hPICJYJGxpYm9iaiIgfCAkR1JFUCAnW11+I14qe307PD4/Iici
JyInCSAmKCl8YCRbXScgXAogICAgICAmJiBmdW5jX3dhcm5pbmcgImxpYm9i
aiBuYW1lIFxgJGxpYm9iaicgbWF5IG5vdCBjb250YWluIHNoZWxsIHNwZWNp
YWwgY2hhcmFjdGVycy4iCiAgICBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1l
ICIkb2JqIiAiLyIgIiIKICAgIG9iam5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jl
c3VsdCIKICAgIHhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgogICAgbG9i
aj0ke3hkaXJ9JG9iamRpci8kb2JqbmFtZQoKICAgIHRlc3QgLXogIiRiYXNl
X2NvbXBpbGUiICYmIFwKICAgICAgZnVuY19mYXRhbF9oZWxwICJ5b3UgbXVz
dCBzcGVjaWZ5IGEgY29tcGlsYXRpb24gY29tbWFuZCIKCiAgICAjIERlbGV0
ZSBhbnkgbGVmdG92ZXIgbGlicmFyeSBvYmplY3RzLgogICAgaWYgdGVzdCAi
JGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICByZW1vdmVsaXN0
PSIkb2JqICRsb2JqICRsaWJvYmogJHtsaWJvYmp9VCIKICAgIGVsc2UKICAg
ICAgcmVtb3ZlbGlzdD0iJGxvYmogJGxpYm9iaiAke2xpYm9ian1UIgogICAg
ZmkKCiAgICAjIE9uIEN5Z3dpbiB0aGVyZSdzIG5vICJyZWFsIiBQSUMgZmxh
ZyBzbyB3ZSBtdXN0IGJ1aWxkIGJvdGggb2JqZWN0IHR5cGVzCiAgICBjYXNl
ICRob3N0X29zIGluCiAgICBjeWd3aW4qIHwgbWluZ3cqIHwgcHczMiogfCBv
czIqIHwgY2VnY2MqKQogICAgICBwaWNfbW9kZT1kZWZhdWx0CiAgICAgIDs7
CiAgICBlc2FjCiAgICBpZiB0ZXN0ICIkcGljX21vZGUiID0gbm8gJiYgdGVz
dCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAhPSBwYXNzX2FsbDsgdGhlbgog
ICAgICAjIG5vbi1QSUMgY29kZSBpbiBzaGFyZWQgbGlicmFyaWVzIGlzIG5v
dCBzdXBwb3J0ZWQKICAgICAgcGljX21vZGU9ZGVmYXVsdAogICAgZmkKCiAg
ICAjIENhbGN1bGF0ZSB0aGUgZmlsZW5hbWUgb2YgdGhlIG91dHB1dCBvYmpl
Y3QgaWYgY29tcGlsZXIgZG9lcwogICAgIyBub3Qgc3VwcG9ydCAtbyB3aXRo
IC1jCiAgICBpZiB0ZXN0ICIkY29tcGlsZXJfY19vIiA9IG5vOyB0aGVuCiAg
ICAgIG91dHB1dF9vYmo9YCRFQ0hPICIkc3JjZmlsZSIgfCAkU0VEICdzJV4u
Ki8lJTsgcyVcLlteLl0qJCUlJ2AuJHtvYmpleHR9CiAgICAgIGxvY2tmaWxl
PSIkb3V0cHV0X29iai5sb2NrIgogICAgZWxzZQogICAgICBvdXRwdXRfb2Jq
PQogICAgICBuZWVkX2xvY2tzPW5vCiAgICAgIGxvY2tmaWxlPQogICAgZmkK
CiAgICAjIExvY2sgdGhpcyBjcml0aWNhbCBzZWN0aW9uIGlmIGl0IGlzIG5l
ZWRlZAogICAgIyBXZSB1c2UgdGhpcyBzY3JpcHQgZmlsZSB0byBtYWtlIHRo
ZSBsaW5rLCBpdCBhdm9pZHMgY3JlYXRpbmcgYSBuZXcgZmlsZQogICAgaWYg
dGVzdCAiJG5lZWRfbG9ja3MiID0geWVzOyB0aGVuCiAgICAgIHVudGlsICRv
cHRfZHJ5X3J1biB8fCBsbiAiJHByb2dwYXRoIiAiJGxvY2tmaWxlIiAyPi9k
ZXYvbnVsbDsgZG8KCWZ1bmNfZWNobyAiV2FpdGluZyBmb3IgJGxvY2tmaWxl
IHRvIGJlIHJlbW92ZWQiCglzbGVlcCAyCiAgICAgIGRvbmUKICAgIGVsaWYg
dGVzdCAiJG5lZWRfbG9ja3MiID0gd2FybjsgdGhlbgogICAgICBpZiB0ZXN0
IC1mICIkbG9ja2ZpbGUiOyB0aGVuCgkkRUNITyAiXAoqKiogRVJST1IsICRs
b2NrZmlsZSBleGlzdHMgYW5kIGNvbnRhaW5zOgpgY2F0ICRsb2NrZmlsZSAy
Pi9kZXYvbnVsbGAKClRoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9j
ZXNzIGlzIHRyeWluZyB0byB1c2UgdGhlIHNhbWUKdGVtcG9yYXJ5IG9iamVj
dCBmaWxlLCBhbmQgbGlidG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQg
YmVjYXVzZQp5b3VyIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgXGAtYycg
YW5kIFxgLW8nIHRvZ2V0aGVyLiAgSWYgeW91CnJlcGVhdCB0aGlzIGNvbXBp
bGF0aW9uLCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhh
ZCBiZXR0ZXIKYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0
aGlzIHBsYXRmb3JtLCBvciBnZXQgYSBiZXR0ZXIKY29tcGlsZXIuIgoKCSRv
cHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3QKCWV4aXQgJEVYSVRfRkFJ
TFVSRQogICAgICBmaQogICAgICByZW1vdmVsaXN0Kz0iICRvdXRwdXRfb2Jq
IgogICAgICAkRUNITyAiJHNyY2ZpbGUiID4gIiRsb2NrZmlsZSIKICAgIGZp
CgogICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3ZlbGlzdAogICAgcmVt
b3ZlbGlzdCs9IiAkbG9ja2ZpbGUiCiAgICB0cmFwICckb3B0X2RyeV9ydW4g
fHwgJFJNICRyZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUnIDEgMiAx
NQoKICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkc3JjZmlsZSIgZnVuY19jb252
ZXJ0X2ZpbGVfbXN5c190b193MzIKICAgIHNyY2ZpbGU9JGZ1bmNfdG9fdG9v
bF9maWxlX3Jlc3VsdAogICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJHNyY2Zp
bGUiCiAgICBxc3JjZmlsZT0kZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQK
CiAgICAjIE9ubHkgYnVpbGQgYSBQSUMgb2JqZWN0IGlmIHdlIGFyZSBidWls
ZGluZyBsaWJ0b29sIGxpYnJhcmllcy4KICAgIGlmIHRlc3QgIiRidWlsZF9s
aWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCiAgICAgICMgV2l0aG91dCB0aGlz
IGFzc2lnbm1lbnQsIGJhc2VfY29tcGlsZSBnZXRzIGVtcHRpZWQuCiAgICAg
IGZic2RfaGlkZW91c19zaF9idWc9JGJhc2VfY29tcGlsZQoKICAgICAgaWYg
dGVzdCAiJHBpY19tb2RlIiAhPSBubzsgdGhlbgoJY29tbWFuZD0iJGJhc2Vf
Y29tcGlsZSAkcXNyY2ZpbGUgJHBpY19mbGFnIgogICAgICBlbHNlCgkjIERv
bid0IGJ1aWxkIFBJQyBjb2RlCgljb21tYW5kPSIkYmFzZV9jb21waWxlICRx
c3JjZmlsZSIKICAgICAgZmkKCiAgICAgIGZ1bmNfbWtkaXJfcCAiJHhkaXIk
b2JqZGlyIgoKICAgICAgaWYgdGVzdCAteiAiJG91dHB1dF9vYmoiOyB0aGVu
CgkjIFBsYWNlIFBJQyBvYmplY3RzIGluICRvYmpkaXIKCWNvbW1hbmQrPSIg
LW8gJGxvYmoiCiAgICAgIGZpCgogICAgICBmdW5jX3Nob3dfZXZhbF9sb2Nh
bGUgIiRjb21tYW5kIglcCiAgICAgICAgICAndGVzdCAtbiAiJG91dHB1dF9v
YmoiICYmICRSTSAkcmVtb3ZlbGlzdDsgZXhpdCAkRVhJVF9GQUlMVVJFJwoK
ICAgICAgaWYgdGVzdCAiJG5lZWRfbG9ja3MiID0gd2FybiAmJgoJIHRlc3Qg
IlhgY2F0ICRsb2NrZmlsZSAyPi9kZXYvbnVsbGAiICE9ICJYJHNyY2ZpbGUi
OyB0aGVuCgkkRUNITyAiXAoqKiogRVJST1IsICRsb2NrZmlsZSBjb250YWlu
czoKYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgCgpidXQgaXQgc2hvdWxk
IGNvbnRhaW46CiRzcmNmaWxlCgpUaGlzIGluZGljYXRlcyB0aGF0IGFub3Ro
ZXIgcHJvY2VzcyBpcyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCnRlbXBvcmFy
eSBvYmplY3QgZmlsZSwgYW5kIGxpYnRvb2wgY291bGQgbm90IHdvcmsgYXJv
dW5kIGl0IGJlY2F1c2UKeW91ciBjb21waWxlciBkb2VzIG5vdCBzdXBwb3J0
IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQpyZXBlYXQgdGhp
cyBjb21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNoYW5jZSwgYnV0
IHlvdSBoYWQgYmV0dGVyCmF2b2lkIHBhcmFsbGVsIGJ1aWxkcyAobWFrZSAt
aikgaW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0IGEgYmV0dGVyCmNvbXBpbGVy
LiIKCgkkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0CglleGl0ICRF
WElUX0ZBSUxVUkUKICAgICAgZmkKCiAgICAgICMgSnVzdCBtb3ZlIHRoZSBv
YmplY3QgaWYgbmVlZGVkLCB0aGVuIGdvIG9uIHRvIGNvbXBpbGUgdGhlIG5l
eHQgb25lCiAgICAgIGlmIHRlc3QgLW4gIiRvdXRwdXRfb2JqIiAmJiB0ZXN0
ICJYJG91dHB1dF9vYmoiICE9ICJYJGxvYmoiOyB0aGVuCglmdW5jX3Nob3df
ZXZhbCAnJE1WICIkb3V0cHV0X29iaiIgIiRsb2JqIicgXAoJICAnZXJyb3I9
JD87ICRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJGVy
cm9yJwogICAgICBmaQoKICAgICAgIyBBbGxvdyBlcnJvciBtZXNzYWdlcyBv
bmx5IGZyb20gdGhlIGZpcnN0IGNvbXBpbGF0aW9uLgogICAgICBpZiB0ZXN0
ICIkc3VwcHJlc3Nfb3B0IiA9IHllczsgdGhlbgoJc3VwcHJlc3Nfb3V0cHV0
PScgPi9kZXYvbnVsbCAyPiYxJwogICAgICBmaQogICAgZmkKCiAgICAjIE9u
bHkgYnVpbGQgYSBwb3NpdGlvbi1kZXBlbmRlbnQgb2JqZWN0IGlmIHdlIGJ1
aWxkIG9sZCBsaWJyYXJpZXMuCiAgICBpZiB0ZXN0ICIkYnVpbGRfb2xkX2xp
YnMiID0geWVzOyB0aGVuCiAgICAgIGlmIHRlc3QgIiRwaWNfbW9kZSIgIT0g
eWVzOyB0aGVuCgkjIERvbid0IGJ1aWxkIFBJQyBjb2RlCgljb21tYW5kPSIk
YmFzZV9jb21waWxlICRxc3JjZmlsZSRwaWVfZmxhZyIKICAgICAgZWxzZQoJ
Y29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUgJHBpY19mbGFnIgog
ICAgICBmaQogICAgICBpZiB0ZXN0ICIkY29tcGlsZXJfY19vIiA9IHllczsg
dGhlbgoJY29tbWFuZCs9IiAtbyAkb2JqIgogICAgICBmaQoKICAgICAgIyBT
dXBwcmVzcyBjb21waWxlciBvdXRwdXQgaWYgd2UgYWxyZWFkeSBkaWQgYSBQ
SUMgY29tcGlsYXRpb24uCiAgICAgIGNvbW1hbmQrPSIkc3VwcHJlc3Nfb3V0
cHV0IgogICAgICBmdW5jX3Nob3dfZXZhbF9sb2NhbGUgIiRjb21tYW5kIiBc
CiAgICAgICAgJyRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4
aXQgJEVYSVRfRkFJTFVSRScKCiAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tz
IiA9IHdhcm4gJiYKCSB0ZXN0ICJYYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251
bGxgIiAhPSAiWCRzcmNmaWxlIjsgdGhlbgoJJEVDSE8gIlwKKioqIEVSUk9S
LCAkbG9ja2ZpbGUgY29udGFpbnM6CmBjYXQgJGxvY2tmaWxlIDI+L2Rldi9u
dWxsYAoKYnV0IGl0IHNob3VsZCBjb250YWluOgokc3JjZmlsZQoKVGhpcyBp
bmRpY2F0ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3MgaXMgdHJ5aW5nIHRvIHVz
ZSB0aGUgc2FtZQp0ZW1wb3Jhcnkgb2JqZWN0IGZpbGUsIGFuZCBsaWJ0b29s
IGNvdWxkIG5vdCB3b3JrIGFyb3VuZCBpdCBiZWNhdXNlCnlvdXIgY29tcGls
ZXIgZG9lcyBub3Qgc3VwcG9ydCBcYC1jJyBhbmQgXGAtbycgdG9nZXRoZXIu
ICBJZiB5b3UKcmVwZWF0IHRoaXMgY29tcGlsYXRpb24sIGl0IG1heSBzdWNj
ZWVkLCBieSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRlcgphdm9pZCBwYXJh
bGxlbCBidWlsZHMgKG1ha2UgLWopIGluIHRoaXMgcGxhdGZvcm0sIG9yIGdl
dCBhIGJldHRlcgpjb21waWxlci4iCgoJJG9wdF9kcnlfcnVuIHx8ICRSTSAk
cmVtb3ZlbGlzdAoJZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCgogICAg
ICAjIEp1c3QgbW92ZSB0aGUgb2JqZWN0IGlmIG5lZWRlZAogICAgICBpZiB0
ZXN0IC1uICIkb3V0cHV0X29iaiIgJiYgdGVzdCAiWCRvdXRwdXRfb2JqIiAh
PSAiWCRvYmoiOyB0aGVuCglmdW5jX3Nob3dfZXZhbCAnJE1WICIkb3V0cHV0
X29iaiIgIiRvYmoiJyBcCgkgICdlcnJvcj0kPzsgJG9wdF9kcnlfcnVuIHx8
ICRSTSAkcmVtb3ZlbGlzdDsgZXhpdCAkZXJyb3InCiAgICAgIGZpCiAgICBm
aQoKICAgICRvcHRfZHJ5X3J1biB8fCB7CiAgICAgIGZ1bmNfd3JpdGVfbGli
dG9vbF9vYmplY3QgIiRsaWJvYmoiICIkb2JqZGlyLyRvYmpuYW1lIiAiJG9i
am5hbWUiCgogICAgICAjIFVubG9jayB0aGUgY3JpdGljYWwgc2VjdGlvbiBp
ZiBpdCB3YXMgbG9ja2VkCiAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiAh
PSBubzsgdGhlbgoJcmVtb3ZlbGlzdD0kbG9ja2ZpbGUKICAgICAgICAkUk0g
IiRsb2NrZmlsZSIKICAgICAgZmkKICAgIH0KCiAgICBleGl0ICRFWElUX1NV
Q0NFU1MKfQoKJG9wdF9oZWxwIHx8IHsKICB0ZXN0ICIkb3B0X21vZGUiID0g
Y29tcGlsZSAmJiBmdW5jX21vZGVfY29tcGlsZSAkezErIiRAIn0KfQoKZnVu
Y19tb2RlX2hlbHAgKCkKewogICAgIyBXZSBuZWVkIHRvIGRpc3BsYXkgaGVs
cCBmb3IgZWFjaCBvZiB0aGUgbW9kZXMuCiAgICBjYXNlICRvcHRfbW9kZSBp
bgogICAgICAiIikKICAgICAgICAjIEdlbmVyaWMgaGVscCBpcyBleHRyYWN0
ZWQgZnJvbSB0aGUgdXNhZ2UgY29tbWVudHMKICAgICAgICAjIGF0IHRoZSBz
dGFydCBvZiB0aGlzIGZpbGUuCiAgICAgICAgZnVuY19oZWxwCiAgICAgICAg
OzsKCiAgICAgIGNsZWFuKQogICAgICAgICRFQ0hPIFwKIlVzYWdlOiAkcHJv
Z25hbWUgW09QVElPTl0uLi4gLS1tb2RlPWNsZWFuIFJNIFtSTS1PUFRJT05d
Li4uIEZJTEUuLi4KClJlbW92ZSBmaWxlcyBmcm9tIHRoZSBidWlsZCBkaXJl
Y3RvcnkuCgpSTSBpcyB0aGUgbmFtZSBvZiB0aGUgcHJvZ3JhbSB0byB1c2Ug
dG8gZGVsZXRlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBlYWNoIEZJTEUKKHR5
cGljYWxseSBcYC9iaW4vcm0nKS4gIFJNLU9QVElPTlMgYXJlIG9wdGlvbnMg
KHN1Y2ggYXMgXGAtZicpIHRvIGJlIHBhc3NlZAp0byBSTS4KCklmIEZJTEUg
aXMgYSBsaWJ0b29sIGxpYnJhcnksIG9iamVjdCBvciBwcm9ncmFtLCBhbGwg
dGhlIGZpbGVzIGFzc29jaWF0ZWQKd2l0aCBpdCBhcmUgZGVsZXRlZC4gT3Ro
ZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRlbGV0ZWQgdXNpbmcgUk0u
IgogICAgICAgIDs7CgogICAgICBjb21waWxlKQogICAgICAkRUNITyBcCiJV
c2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1jb21waWxlIENP
TVBJTEUtQ09NTUFORC4uLiBTT1VSQ0VGSUxFCgpDb21waWxlIGEgc291cmNl
IGZpbGUgaW50byBhIGxpYnRvb2wgbGlicmFyeSBvYmplY3QuCgpUaGlzIG1v
ZGUgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgb3B0aW9uczoK
CiAgLW8gT1VUUFVULUZJTEUgICAgc2V0IHRoZSBvdXRwdXQgZmlsZSBuYW1l
IHRvIE9VVFBVVC1GSUxFCiAgLW5vLXN1cHByZXNzICAgICAgZG8gbm90IHN1
cHByZXNzIGNvbXBpbGVyIG91dHB1dCBmb3IgbXVsdGlwbGUgcGFzc2VzCiAg
LXByZWZlci1waWMgICAgICAgdHJ5IHRvIGJ1aWxkIFBJQyBvYmplY3RzIG9u
bHkKICAtcHJlZmVyLW5vbi1waWMgICB0cnkgdG8gYnVpbGQgbm9uLVBJQyBv
YmplY3RzIG9ubHkKICAtc2hhcmVkICAgICAgICAgICBkbyBub3QgYnVpbGQg
YSBcYC5vJyBmaWxlIHN1aXRhYmxlIGZvciBzdGF0aWMgbGlua2luZwogIC1z
dGF0aWMgICAgICAgICAgIG9ubHkgYnVpbGQgYSBcYC5vJyBmaWxlIHN1aXRh
YmxlIGZvciBzdGF0aWMgbGlua2luZwogIC1XYyxGTEFHICAgICAgICAgIHBh
c3MgRkxBRyBkaXJlY3RseSB0byB0aGUgY29tcGlsZXIKCkNPTVBJTEUtQ09N
TUFORCBpcyBhIGNvbW1hbmQgdG8gYmUgdXNlZCBpbiBjcmVhdGluZyBhIFxg
c3RhbmRhcmQnIG9iamVjdCBmaWxlCmZyb20gdGhlIGdpdmVuIFNPVVJDRUZJ
TEUuCgpUaGUgb3V0cHV0IGZpbGUgbmFtZSBpcyBkZXRlcm1pbmVkIGJ5IHJl
bW92aW5nIHRoZSBkaXJlY3RvcnkgY29tcG9uZW50IGZyb20KU09VUkNFRklM
RSwgdGhlbiBzdWJzdGl0dXRpbmcgdGhlIEMgc291cmNlIGNvZGUgc3VmZml4
IFxgLmMnIHdpdGggdGhlCmxpYnJhcnkgb2JqZWN0IHN1ZmZpeCwgXGAubG8n
LiIKICAgICAgICA7OwoKICAgICAgZXhlY3V0ZSkKICAgICAgICAkRUNITyBc
CiJVc2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1leGVjdXRl
IENPTU1BTkQgW0FSR1NdLi4uCgpBdXRvbWF0aWNhbGx5IHNldCBsaWJyYXJ5
IHBhdGgsIHRoZW4gcnVuIGEgcHJvZ3JhbS4KClRoaXMgbW9kZSBhY2NlcHRz
IHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBvcHRpb25zOgoKICAtZGxvcGVu
IEZJTEUgICAgICBhZGQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEUg
dG8gdGhlIGxpYnJhcnkgcGF0aAoKVGhpcyBtb2RlIHNldHMgdGhlIGxpYnJh
cnkgcGF0aCBlbnZpcm9ubWVudCB2YXJpYWJsZSBhY2NvcmRpbmcgdG8gXGAt
ZGxvcGVuJwpmbGFncy4KCklmIGFueSBvZiB0aGUgQVJHUyBhcmUgbGlidG9v
bCBleGVjdXRhYmxlIHdyYXBwZXJzLCB0aGVuIHRoZXkgYXJlIHRyYW5zbGF0
ZWQKaW50byB0aGVpciBjb3JyZXNwb25kaW5nIHVuaW5zdGFsbGVkIGJpbmFy
eSwgYW5kIGFueSBvZiB0aGVpciByZXF1aXJlZCBsaWJyYXJ5CmRpcmVjdG9y
aWVzIGFyZSBhZGRlZCB0byB0aGUgbGlicmFyeSBwYXRoLgoKVGhlbiwgQ09N
TUFORCBpcyBleGVjdXRlZCwgd2l0aCBBUkdTIGFzIGFyZ3VtZW50cy4iCiAg
ICAgICAgOzsKCiAgICAgIGZpbmlzaCkKICAgICAgICAkRUNITyBcCiJVc2Fn
ZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1maW5pc2ggW0xJQkRJ
Ul0uLi4KCkNvbXBsZXRlIHRoZSBpbnN0YWxsYXRpb24gb2YgbGlidG9vbCBs
aWJyYXJpZXMuCgpFYWNoIExJQkRJUiBpcyBhIGRpcmVjdG9yeSB0aGF0IGNv
bnRhaW5zIGxpYnRvb2wgbGlicmFyaWVzLgoKVGhlIGNvbW1hbmRzIHRoYXQg
dGhpcyBtb2RlIGV4ZWN1dGVzIG1heSByZXF1aXJlIHN1cGVydXNlciBwcml2
aWxlZ2VzLiAgVXNlCnRoZSBcYC0tZHJ5LXJ1bicgb3B0aW9uIGlmIHlvdSBq
dXN0IHdhbnQgdG8gc2VlIHdoYXQgd291bGQgYmUgZXhlY3V0ZWQuIgogICAg
ICAgIDs7CgogICAgICBpbnN0YWxsKQogICAgICAgICRFQ0hPIFwKIlVzYWdl
OiAkcHJvZ25hbWUgW09QVElPTl0uLi4gLS1tb2RlPWluc3RhbGwgSU5TVEFM
TC1DT01NQU5ELi4uCgpJbnN0YWxsIGV4ZWN1dGFibGVzIG9yIGxpYnJhcmll
cy4KCklOU1RBTEwtQ09NTUFORCBpcyB0aGUgaW5zdGFsbGF0aW9uIGNvbW1h
bmQuICBUaGUgZmlyc3QgY29tcG9uZW50IHNob3VsZCBiZQplaXRoZXIgdGhl
IFxgaW5zdGFsbCcgb3IgXGBjcCcgcHJvZ3JhbS4KClRoZSBmb2xsb3dpbmcg
Y29tcG9uZW50cyBvZiBJTlNUQUxMLUNPTU1BTkQgYXJlIHRyZWF0ZWQgc3Bl
Y2lhbGx5OgoKICAtaW5zdC1wcmVmaXgtZGlyIFBSRUZJWC1ESVIgIFVzZSBQ
UkVGSVgtRElSIGFzIGEgc3RhZ2luZyBhcmVhIGZvciBpbnN0YWxsYXRpb24K
ClRoZSByZXN0IG9mIHRoZSBjb21wb25lbnRzIGFyZSBpbnRlcnByZXRlZCBh
cyBhcmd1bWVudHMgdG8gdGhhdCBjb21tYW5kIChvbmx5CkJTRC1jb21wYXRp
YmxlIGluc3RhbGwgb3B0aW9ucyBhcmUgcmVjb2duaXplZCkuIgogICAgICAg
IDs7CgogICAgICBsaW5rKQogICAgICAgICRFQ0hPIFwKIlVzYWdlOiAkcHJv
Z25hbWUgW09QVElPTl0uLi4gLS1tb2RlPWxpbmsgTElOSy1DT01NQU5ELi4u
CgpMaW5rIG9iamVjdCBmaWxlcyBvciBsaWJyYXJpZXMgdG9nZXRoZXIgdG8g
Zm9ybSBhbm90aGVyIGxpYnJhcnksIG9yIHRvCmNyZWF0ZSBhbiBleGVjdXRh
YmxlIHByb2dyYW0uCgpMSU5LLUNPTU1BTkQgaXMgYSBjb21tYW5kIHVzaW5n
IHRoZSBDIGNvbXBpbGVyIHRoYXQgeW91IHdvdWxkIHVzZSB0byBjcmVhdGUK
YSBwcm9ncmFtIGZyb20gc2V2ZXJhbCBvYmplY3QgZmlsZXMuCgpUaGUgZm9s
bG93aW5nIGNvbXBvbmVudHMgb2YgTElOSy1DT01NQU5EIGFyZSB0cmVhdGVk
IHNwZWNpYWxseToKCiAgLWFsbC1zdGF0aWMgICAgICAgZG8gbm90IGRvIGFu
eSBkeW5hbWljIGxpbmtpbmcgYXQgYWxsCiAgLWF2b2lkLXZlcnNpb24gICAg
ZG8gbm90IGFkZCBhIHZlcnNpb24gc3VmZml4IGlmIHBvc3NpYmxlCiAgLWJp
bmRpciBCSU5ESVIgICAgc3BlY2lmeSBwYXRoIHRvIGJpbmFyaWVzIGRpcmVj
dG9yeSAoZm9yIHN5c3RlbXMgd2hlcmUKICAgICAgICAgICAgICAgICAgICBs
aWJyYXJpZXMgbXVzdCBiZSBmb3VuZCBpbiB0aGUgUEFUSCBzZXR0aW5nIGF0
IHJ1bnRpbWUpCiAgLWRsb3BlbiBGSUxFICAgICAgXGAtZGxwcmVvcGVuJyBG
SUxFIGlmIGl0IGNhbm5vdCBiZSBkbG9wZW5lZCBhdCBydW50aW1lCiAgLWRs
cHJlb3BlbiBGSUxFICAgbGluayBpbiBGSUxFIGFuZCBhZGQgaXRzIHN5bWJv
bHMgdG8gbHRfcHJlbG9hZGVkX3N5bWJvbHMKICAtZXhwb3J0LWR5bmFtaWMg
ICBhbGxvdyBzeW1ib2xzIGZyb20gT1VUUFVULUZJTEUgdG8gYmUgcmVzb2x2
ZWQgd2l0aCBkbHN5bSgzKQogIC1leHBvcnQtc3ltYm9scyBTWU1GSUxFCiAg
ICAgICAgICAgICAgICAgICAgdHJ5IHRvIGV4cG9ydCBvbmx5IHRoZSBzeW1i
b2xzIGxpc3RlZCBpbiBTWU1GSUxFCiAgLWV4cG9ydC1zeW1ib2xzLXJlZ2V4
IFJFR0VYCiAgICAgICAgICAgICAgICAgICAgdHJ5IHRvIGV4cG9ydCBvbmx5
IHRoZSBzeW1ib2xzIG1hdGNoaW5nIFJFR0VYCiAgLUxMSUJESVIgICAgICAg
ICAgc2VhcmNoIExJQkRJUiBmb3IgcmVxdWlyZWQgaW5zdGFsbGVkIGxpYnJh
cmllcwogIC1sTkFNRSAgICAgICAgICAgIE9VVFBVVC1GSUxFIHJlcXVpcmVz
IHRoZSBpbnN0YWxsZWQgbGlicmFyeSBsaWJOQU1FCiAgLW1vZHVsZSAgICAg
ICAgICAgYnVpbGQgYSBsaWJyYXJ5IHRoYXQgY2FuIGRsb3BlbmVkCiAgLW5v
LWZhc3QtaW5zdGFsbCAgZGlzYWJsZSB0aGUgZmFzdC1pbnN0YWxsIG1vZGUK
ICAtbm8taW5zdGFsbCAgICAgICBsaW5rIGEgbm90LWluc3RhbGxhYmxlIGV4
ZWN1dGFibGUKICAtbm8tdW5kZWZpbmVkICAgICBkZWNsYXJlIHRoYXQgYSBs
aWJyYXJ5IGRvZXMgbm90IHJlZmVyIHRvIGV4dGVybmFsIHN5bWJvbHMKICAt
byBPVVRQVVQtRklMRSAgICBjcmVhdGUgT1VUUFVULUZJTEUgZnJvbSB0aGUg
c3BlY2lmaWVkIG9iamVjdHMKICAtb2JqZWN0bGlzdCBGSUxFICBVc2UgYSBs
aXN0IG9mIG9iamVjdCBmaWxlcyBmb3VuZCBpbiBGSUxFIHRvIHNwZWNpZnkg
b2JqZWN0cwogIC1wcmVjaW91cy1maWxlcy1yZWdleCBSRUdFWAogICAgICAg
ICAgICAgICAgICAgIGRvbid0IHJlbW92ZSBvdXRwdXQgZmlsZXMgbWF0Y2hp
bmcgUkVHRVgKICAtcmVsZWFzZSBSRUxFQVNFICBzcGVjaWZ5IHBhY2thZ2Ug
cmVsZWFzZSBpbmZvcm1hdGlvbgogIC1ycGF0aCBMSUJESVIgICAgIHRoZSBj
cmVhdGVkIGxpYnJhcnkgd2lsbCBldmVudHVhbGx5IGJlIGluc3RhbGxlZCBp
biBMSUJESVIKICAtUlsgXUxJQkRJUiAgICAgICBhZGQgTElCRElSIHRvIHRo
ZSBydW50aW1lIHBhdGggb2YgcHJvZ3JhbXMgYW5kIGxpYnJhcmllcwogIC1z
aGFyZWQgICAgICAgICAgIG9ubHkgZG8gZHluYW1pYyBsaW5raW5nIG9mIGxp
YnRvb2wgbGlicmFyaWVzCiAgLXNocmV4dCBTVUZGSVggICAgb3ZlcnJpZGUg
dGhlIHN0YW5kYXJkIHNoYXJlZCBsaWJyYXJ5IGZpbGUgZXh0ZW5zaW9uCiAg
LXN0YXRpYyAgICAgICAgICAgZG8gbm90IGRvIGFueSBkeW5hbWljIGxpbmtp
bmcgb2YgdW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMKICAtc3RhdGlj
LWxpYnRvb2wtbGlicwogICAgICAgICAgICAgICAgICAgIGRvIG5vdCBkbyBh
bnkgZHluYW1pYyBsaW5raW5nIG9mIGxpYnRvb2wgbGlicmFyaWVzCiAgLXZl
cnNpb24taW5mbyBDVVJSRU5UWzpSRVZJU0lPTls6QUdFXV0KICAgICAgICAg
ICAgICAgICAgICBzcGVjaWZ5IGxpYnJhcnkgdmVyc2lvbiBpbmZvIFtlYWNo
IHZhcmlhYmxlIGRlZmF1bHRzIHRvIDBdCiAgLXdlYWsgTElCTkFNRSAgICAg
ZGVjbGFyZSB0aGF0IHRoZSB0YXJnZXQgcHJvdmlkZXMgdGhlIExJQk5BTUUg
aW50ZXJmYWNlCiAgLVdjLEZMQUcKICAtWGNvbXBpbGVyIEZMQUcgICBwYXNz
IGxpbmtlci1zcGVjaWZpYyBGTEFHIGRpcmVjdGx5IHRvIHRoZSBjb21waWxl
cgogIC1XbCxGTEFHCiAgLVhsaW5rZXIgRkxBRyAgICAgcGFzcyBsaW5rZXIt
c3BlY2lmaWMgRkxBRyBkaXJlY3RseSB0byB0aGUgbGlua2VyCiAgLVhDQ2xp
bmtlciBGTEFHICAgcGFzcyBsaW5rLXNwZWNpZmljIEZMQUcgdG8gdGhlIGNv
bXBpbGVyIGRyaXZlciAoQ0MpCgpBbGwgb3RoZXIgb3B0aW9ucyAoYXJndW1l
bnRzIGJlZ2lubmluZyB3aXRoIFxgLScpIGFyZSBpZ25vcmVkLgoKRXZlcnkg
b3RoZXIgYXJndW1lbnQgaXMgdHJlYXRlZCBhcyBhIGZpbGVuYW1lLiAgRmls
ZXMgZW5kaW5nIGluIFxgLmxhJyBhcmUKdHJlYXRlZCBhcyB1bmluc3RhbGxl
ZCBsaWJ0b29sIGxpYnJhcmllcywgb3RoZXIgZmlsZXMgYXJlIHN0YW5kYXJk
IG9yIGxpYnJhcnkKb2JqZWN0IGZpbGVzLgoKSWYgdGhlIE9VVFBVVC1GSUxF
IGVuZHMgaW4gXGAubGEnLCB0aGVuIGEgbGlidG9vbCBsaWJyYXJ5IGlzIGNy
ZWF0ZWQsCm9ubHkgbGlicmFyeSBvYmplY3RzIChcYC5sbycgZmlsZXMpIG1h
eSBiZSBzcGVjaWZpZWQsIGFuZCBcYC1ycGF0aCcgaXMKcmVxdWlyZWQsIGV4
Y2VwdCB3aGVuIGNyZWF0aW5nIGEgY29udmVuaWVuY2UgbGlicmFyeS4KCklm
IE9VVFBVVC1GSUxFIGVuZHMgaW4gXGAuYScgb3IgXGAubGliJywgdGhlbiBh
IHN0YW5kYXJkIGxpYnJhcnkgaXMgY3JlYXRlZAp1c2luZyBcYGFyJyBhbmQg
XGByYW5saWInLCBvciBvbiBXaW5kb3dzIHVzaW5nIFxgbGliJy4KCklmIE9V
VFBVVC1GSUxFIGVuZHMgaW4gXGAubG8nIG9yIFxgLiR7b2JqZXh0fScsIHRo
ZW4gYSByZWxvYWRhYmxlIG9iamVjdCBmaWxlCmlzIGNyZWF0ZWQsIG90aGVy
d2lzZSBhbiBleGVjdXRhYmxlIHByb2dyYW0gaXMgY3JlYXRlZC4iCiAgICAg
ICAgOzsKCiAgICAgIHVuaW5zdGFsbCkKICAgICAgICAkRUNITyBcCiJVc2Fn
ZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT11bmluc3RhbGwgUk0g
W1JNLU9QVElPTl0uLi4gRklMRS4uLgoKUmVtb3ZlIGxpYnJhcmllcyBmcm9t
IGFuIGluc3RhbGxhdGlvbiBkaXJlY3RvcnkuCgpSTSBpcyB0aGUgbmFtZSBv
ZiB0aGUgcHJvZ3JhbSB0byB1c2UgdG8gZGVsZXRlIGZpbGVzIGFzc29jaWF0
ZWQgd2l0aCBlYWNoIEZJTEUKKHR5cGljYWxseSBcYC9iaW4vcm0nKS4gIFJN
LU9QVElPTlMgYXJlIG9wdGlvbnMgKHN1Y2ggYXMgXGAtZicpIHRvIGJlIHBh
c3NlZAp0byBSTS4KCklmIEZJTEUgaXMgYSBsaWJ0b29sIGxpYnJhcnksIGFs
bCB0aGUgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIGl0IGFyZSBkZWxldGVkLgpP
dGhlcndpc2UsIG9ubHkgRklMRSBpdHNlbGYgaXMgZGVsZXRlZCB1c2luZyBS
TS4iCiAgICAgICAgOzsKCiAgICAgICopCiAgICAgICAgZnVuY19mYXRhbF9o
ZWxwICJpbnZhbGlkIG9wZXJhdGlvbiBtb2RlIFxgJG9wdF9tb2RlJyIKICAg
ICAgICA7OwogICAgZXNhYwoKICAgIGVjaG8KICAgICRFQ0hPICJUcnkgXGAk
cHJvZ25hbWUgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBv
dGhlciBtb2Rlcy4iCn0KCiMgTm93IHRoYXQgd2UndmUgY29sbGVjdGVkIGEg
cG9zc2libGUgLS1tb2RlIGFyZywgc2hvdyBoZWxwIGlmIG5lY2Vzc2FyeQpp
ZiAkb3B0X2hlbHA7IHRoZW4KICBpZiB0ZXN0ICIkb3B0X2hlbHAiID0gOjsg
dGhlbgogICAgZnVuY19tb2RlX2hlbHAKICBlbHNlCiAgICB7CiAgICAgIGZ1
bmNfaGVscCBub2V4aXQKICAgICAgZm9yIG9wdF9tb2RlIGluIGNvbXBpbGUg
bGluayBleGVjdXRlIGluc3RhbGwgZmluaXNoIHVuaW5zdGFsbCBjbGVhbjsg
ZG8KCWZ1bmNfbW9kZV9oZWxwCiAgICAgIGRvbmUKICAgIH0gfCBzZWQgLW4g
JzFwOyAyLCRzL15Vc2FnZTovICBvcjogL3AnCiAgICB7CiAgICAgIGZ1bmNf
aGVscCBub2V4aXQKICAgICAgZm9yIG9wdF9tb2RlIGluIGNvbXBpbGUgbGlu
ayBleGVjdXRlIGluc3RhbGwgZmluaXNoIHVuaW5zdGFsbCBjbGVhbjsgZG8K
CWVjaG8KCWZ1bmNfbW9kZV9oZWxwCiAgICAgIGRvbmUKICAgIH0gfAogICAg
c2VkICcxZAogICAgICAvXldoZW4gcmVwb3J0aW5nLywvXlJlcG9ydC97CglI
CglkCiAgICAgIH0KICAgICAgJHgKICAgICAgL2luZm9ybWF0aW9uIGFib3V0
IG90aGVyIG1vZGVzL2QKICAgICAgL21vcmUgZGV0YWlsZWQgLipNT0RFL2QK
ICAgICAgcy9eVXNhZ2U6LiotLW1vZGU9XChbXiBdKlwpIC4qL0Rlc2NyaXB0
aW9uIG9mIFwxIG1vZGU6LycKICBmaQogIGV4aXQgJD8KZmkKCgojIGZ1bmNf
bW9kZV9leGVjdXRlIGFyZy4uLgpmdW5jX21vZGVfZXhlY3V0ZSAoKQp7CiAg
ICAkb3B0X2RlYnVnCiAgICAjIFRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUg
Y29tbWFuZCBuYW1lLgogICAgY21kPSIkbm9ub3B0IgogICAgdGVzdCAteiAi
JGNtZCIgJiYgXAogICAgICBmdW5jX2ZhdGFsX2hlbHAgInlvdSBtdXN0IHNw
ZWNpZnkgYSBDT01NQU5EIgoKICAgICMgSGFuZGxlIC1kbG9wZW4gZmxhZ3Mg
aW1tZWRpYXRlbHkuCiAgICBmb3IgZmlsZSBpbiAkb3B0X2Rsb3BlbjsgZG8K
ICAgICAgdGVzdCAtZiAiJGZpbGUiIFwKCXx8IGZ1bmNfZmF0YWxfaGVscCAi
XGAkZmlsZScgaXMgbm90IGEgZmlsZSIKCiAgICAgIGRpcj0KICAgICAgY2Fz
ZSAkZmlsZSBpbgogICAgICAqLmxhKQoJZnVuY19yZXNvbHZlX3N5c3Jvb3Qg
IiRmaWxlIgoJZmlsZT0kZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CgoJ
IyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJlYWxseSBpcyBhIGxpYnRvb2wg
YXJjaGl2ZS4KCWZ1bmNfbGFsaWJfdW5zYWZlX3AgIiRmaWxlIiBcCgkgIHx8
IGZ1bmNfZmF0YWxfaGVscCAiXGAkbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0
b29sIGFyY2hpdmUiCgoJIyBSZWFkIHRoZSBsaWJ0b29sIGxpYnJhcnkuCglk
bG5hbWU9CglsaWJyYXJ5X25hbWVzPQoJZnVuY19zb3VyY2UgIiRmaWxlIgoK
CSMgU2tpcCB0aGlzIGxpYnJhcnkgaWYgaXQgY2Fubm90IGJlIGRsb3BlbmVk
LgoJaWYgdGVzdCAteiAiJGRsbmFtZSI7IHRoZW4KCSAgIyBXYXJuIGlmIGl0
IHdhcyBhIHNoYXJlZCBsaWJyYXJ5LgoJICB0ZXN0IC1uICIkbGlicmFyeV9u
YW1lcyIgJiYgXAoJICAgIGZ1bmNfd2FybmluZyAiXGAkZmlsZScgd2FzIG5v
dCBsaW5rZWQgd2l0aCBcYC1leHBvcnQtZHluYW1pYyciCgkgIGNvbnRpbnVl
CglmaQoKCWZ1bmNfZGlybmFtZSAiJGZpbGUiICIiICIuIgoJZGlyPSIkZnVu
Y19kaXJuYW1lX3Jlc3VsdCIKCglpZiB0ZXN0IC1mICIkZGlyLyRvYmpkaXIv
JGRsbmFtZSI7IHRoZW4KCSAgZGlyKz0iLyRvYmpkaXIiCgllbHNlCgkgIGlm
IHRlc3QgISAtZiAiJGRpci8kZGxuYW1lIjsgdGhlbgoJICAgIGZ1bmNfZmF0
YWxfZXJyb3IgImNhbm5vdCBmaW5kIFxgJGRsbmFtZScgaW4gXGAkZGlyJyBv
ciBcYCRkaXIvJG9iamRpciciCgkgIGZpCglmaQoJOzsKCiAgICAgICoubG8p
CgkjIEp1c3QgYWRkIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgLmxv
IGZpbGUuCglmdW5jX2Rpcm5hbWUgIiRmaWxlIiAiIiAiLiIKCWRpcj0iJGZ1
bmNfZGlybmFtZV9yZXN1bHQiCgk7OwoKICAgICAgKikKCWZ1bmNfd2Fybmlu
ZyAiXGAtZGxvcGVuJyBpcyBpZ25vcmVkIGZvciBub24tbGlidG9vbCBsaWJy
YXJpZXMgYW5kIG9iamVjdHMiCgljb250aW51ZQoJOzsKICAgICAgZXNhYwoK
ICAgICAgIyBHZXQgdGhlIGFic29sdXRlIHBhdGhuYW1lLgogICAgICBhYnNk
aXI9YGNkICIkZGlyIiAmJiBwd2RgCiAgICAgIHRlc3QgLW4gIiRhYnNkaXIi
ICYmIGRpcj0iJGFic2RpciIKCiAgICAgICMgTm93IGFkZCB0aGUgZGlyZWN0
b3J5IHRvIHNobGlicGF0aF92YXIuCiAgICAgIGlmIGV2YWwgInRlc3QgLXog
XCJcJCRzaGxpYnBhdGhfdmFyXCIiOyB0aGVuCglldmFsICIkc2hsaWJwYXRo
X3Zhcj1cIlwkZGlyXCIiCiAgICAgIGVsc2UKCWV2YWwgIiRzaGxpYnBhdGhf
dmFyPVwiXCRkaXI6XCQkc2hsaWJwYXRoX3ZhclwiIgogICAgICBmaQogICAg
ZG9uZQoKICAgICMgVGhpcyB2YXJpYWJsZSB0ZWxscyB3cmFwcGVyIHNjcmlw
dHMganVzdCB0byBzZXQgc2hsaWJwYXRoX3ZhcgogICAgIyByYXRoZXIgdGhh
biBydW5uaW5nIHRoZWlyIHByb2dyYW1zLgogICAgbGlidG9vbF9leGVjdXRl
X21hZ2ljPSIkbWFnaWMiCgogICAgIyBDaGVjayBpZiBhbnkgb2YgdGhlIGFy
Z3VtZW50cyBpcyBhIHdyYXBwZXIgc2NyaXB0LgogICAgYXJncz0KICAgIGZv
ciBmaWxlCiAgICBkbwogICAgICBjYXNlICRmaWxlIGluCiAgICAgIC0qIHwg
Ki5sYSB8ICoubG8gKSA7OwogICAgICAqKQoJIyBEbyBhIHRlc3QgdG8gc2Vl
IGlmIHRoaXMgaXMgcmVhbGx5IGEgbGlidG9vbCBwcm9ncmFtLgoJaWYgZnVu
Y19sdHdyYXBwZXJfc2NyaXB0X3AgIiRmaWxlIjsgdGhlbgoJICBmdW5jX3Nv
dXJjZSAiJGZpbGUiCgkgICMgVHJhbnNmb3JtIGFyZyB0byB3cmFwcGVkIG5h
bWUuCgkgIGZpbGU9IiRwcm9nZGlyLyRwcm9ncmFtIgoJZWxpZiBmdW5jX2x0
d3JhcHBlcl9leGVjdXRhYmxlX3AgIiRmaWxlIjsgdGhlbgoJICBmdW5jX2x0
d3JhcHBlcl9zY3JpcHRuYW1lICIkZmlsZSIKCSAgZnVuY19zb3VyY2UgIiRm
dW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdCIKCSAgIyBUcmFuc2Zv
cm0gYXJnIHRvIHdyYXBwZWQgbmFtZS4KCSAgZmlsZT0iJHByb2dkaXIvJHBy
b2dyYW0iCglmaQoJOzsKICAgICAgZXNhYwogICAgICAjIFF1b3RlIGFyZ3Vt
ZW50cyAodG8gcHJlc2VydmUgc2hlbGwgbWV0YWNoYXJhY3RlcnMpLgogICAg
ICBmdW5jX2FwcGVuZF9xdW90ZWQgYXJncyAiJGZpbGUiCiAgICBkb25lCgog
ICAgaWYgdGVzdCAiWCRvcHRfZHJ5X3J1biIgPSBYZmFsc2U7IHRoZW4KICAg
ICAgaWYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiOyB0aGVuCgkjIEV4cG9y
dCB0aGUgc2hsaWJwYXRoX3Zhci4KCWV2YWwgImV4cG9ydCAkc2hsaWJwYXRo
X3ZhciIKICAgICAgZmkKCiAgICAgICMgUmVzdG9yZSBzYXZlZCBlbnZpcm9u
bWVudCB2YXJpYWJsZXMKICAgICAgZm9yIGx0X3ZhciBpbiBMQU5HIExBTkdV
QUdFIExDX0FMTCBMQ19DVFlQRSBMQ19DT0xMQVRFIExDX01FU1NBR0VTCiAg
ICAgIGRvCglldmFsICJpZiB0ZXN0IFwiXCR7c2F2ZV8kbHRfdmFyK3NldH1c
IiA9IHNldDsgdGhlbgogICAgICAgICAgICAgICAgJGx0X3Zhcj1cJHNhdmVf
JGx0X3ZhcjsgZXhwb3J0ICRsdF92YXIKCSAgICAgIGVsc2UKCQkkbHRfdW5z
ZXQgJGx0X3ZhcgoJICAgICAgZmkiCiAgICAgIGRvbmUKCiAgICAgICMgTm93
IHByZXBhcmUgdG8gYWN0dWFsbHkgZXhlYyB0aGUgY29tbWFuZC4KICAgICAg
ZXhlY19jbWQ9IlwkY21kJGFyZ3MiCiAgICBlbHNlCiAgICAgICMgRGlzcGxh
eSB3aGF0IHdvdWxkIGJlIGRvbmUuCiAgICAgIGlmIHRlc3QgLW4gIiRzaGxp
YnBhdGhfdmFyIjsgdGhlbgoJZXZhbCAiXCRFQ0hPIFwiXCRzaGxpYnBhdGhf
dmFyPVwkJHNobGlicGF0aF92YXJcIiIKCWVjaG8gImV4cG9ydCAkc2hsaWJw
YXRoX3ZhciIKICAgICAgZmkKICAgICAgJEVDSE8gIiRjbWQkYXJncyIKICAg
ICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICBmaQp9Cgp0ZXN0ICIkb3B0X21v
ZGUiID0gZXhlY3V0ZSAmJiBmdW5jX21vZGVfZXhlY3V0ZSAkezErIiRAIn0K
CgojIGZ1bmNfbW9kZV9maW5pc2ggYXJnLi4uCmZ1bmNfbW9kZV9maW5pc2gg
KCkKewogICAgJG9wdF9kZWJ1ZwogICAgbGlicz0KICAgIGxpYmRpcnM9CiAg
ICBhZG1pbmNtZHM9CgogICAgZm9yIG9wdCBpbiAiJG5vbm9wdCIgJHsxKyIk
QCJ9CiAgICBkbwogICAgICBpZiB0ZXN0IC1kICIkb3B0IjsgdGhlbgoJbGli
ZGlycys9IiAkb3B0IgoKICAgICAgZWxpZiB0ZXN0IC1mICIkb3B0IjsgdGhl
bgoJaWYgZnVuY19sYWxpYl91bnNhZmVfcCAiJG9wdCI7IHRoZW4KCSAgbGli
cys9IiAkb3B0IgoJZWxzZQoJICBmdW5jX3dhcm5pbmcgIlxgJG9wdCcgaXMg
bm90IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIgoJZmkKCiAgICAgIGVsc2UK
CWZ1bmNfZmF0YWxfZXJyb3IgImludmFsaWQgYXJndW1lbnQgXGAkb3B0JyIK
ICAgICAgZmkKICAgIGRvbmUKCiAgICBpZiB0ZXN0IC1uICIkbGlicyI7IHRo
ZW4KICAgICAgaWYgdGVzdCAtbiAiJGx0X3N5c3Jvb3QiOyB0aGVuCiAgICAg
ICAgc3lzcm9vdF9yZWdleD1gJEVDSE8gIiRsdF9zeXNyb290IiB8ICRTRUQg
IiRzZWRfbWFrZV9saXRlcmFsX3JlZ2V4ImAKICAgICAgICBzeXNyb290X2Nt
ZD0icy9cKFsgJ11cKSRzeXNyb290X3JlZ2V4L1wxL2c7IgogICAgICBlbHNl
CiAgICAgICAgc3lzcm9vdF9jbWQ9CiAgICAgIGZpCgogICAgICAjIFJlbW92
ZSBzeXNyb290IHJlZmVyZW5jZXMKICAgICAgaWYgJG9wdF9kcnlfcnVuOyB0
aGVuCiAgICAgICAgZm9yIGxpYiBpbiAkbGliczsgZG8KICAgICAgICAgIGVj
aG8gInJlbW92aW5nIHJlZmVyZW5jZXMgdG8gJGx0X3N5c3Jvb3QgYW5kIFxg
PScgcHJlZml4ZXMgZnJvbSAkbGliIgogICAgICAgIGRvbmUKICAgICAgZWxz
ZQogICAgICAgIHRtcGRpcj1gZnVuY19ta3RlbXBkaXJgCiAgICAgICAgZm9y
IGxpYiBpbiAkbGliczsgZG8KCSAgc2VkIC1lICIke3N5c3Jvb3RfY21kfSBz
L1woWyAnXS1bTFJdXCk9L1wxL2c7IHMvXChbICddXCk9L1wxL2ciICRsaWIg
XAoJICAgID4gJHRtcGRpci90bXAtbGEKCSAgbXYgLWYgJHRtcGRpci90bXAt
bGEgJGxpYgoJZG9uZQogICAgICAgICR7Uk19ciAiJHRtcGRpciIKICAgICAg
ZmkKICAgIGZpCgogICAgaWYgdGVzdCAtbiAiJGZpbmlzaF9jbWRzJGZpbmlz
aF9ldmFsIiAmJiB0ZXN0IC1uICIkbGliZGlycyI7IHRoZW4KICAgICAgZm9y
IGxpYmRpciBpbiAkbGliZGlyczsgZG8KCWlmIHRlc3QgLW4gIiRmaW5pc2hf
Y21kcyI7IHRoZW4KCSAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIGZpbmlz
aCBjb21tYW5kcy4KCSAgZnVuY19leGVjdXRlX2NtZHMgIiRmaW5pc2hfY21k
cyIgJ2FkbWluY21kcz0iJGFkbWluY21kcwonIiRjbWQiJyInCglmaQoJaWYg
dGVzdCAtbiAiJGZpbmlzaF9ldmFsIjsgdGhlbgoJICAjIERvIHRoZSBzaW5n
bGUgZmluaXNoX2V2YWwuCgkgIGV2YWwgY21kcz1cIiRmaW5pc2hfZXZhbFwi
CgkgICRvcHRfZHJ5X3J1biB8fCBldmFsICIkY21kcyIgfHwgYWRtaW5jbWRz
Kz0iCiAgICAgICAkY21kcyIKCWZpCiAgICAgIGRvbmUKICAgIGZpCgogICAg
IyBFeGl0IGhlcmUgaWYgdGhleSB3YW50ZWQgc2lsZW50IG1vZGUuCiAgICAk
b3B0X3NpbGVudCAmJiBleGl0ICRFWElUX1NVQ0NFU1MKCiAgICBpZiB0ZXN0
IC1uICIkZmluaXNoX2NtZHMkZmluaXNoX2V2YWwiICYmIHRlc3QgLW4gIiRs
aWJkaXJzIjsgdGhlbgogICAgICBlY2hvICItLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tIgogICAgICBlY2hvICJMaWJyYXJpZXMgaGF2ZSBiZWVuIGluc3Rh
bGxlZCBpbjoiCiAgICAgIGZvciBsaWJkaXIgaW4gJGxpYmRpcnM7IGRvCgkk
RUNITyAiICAgJGxpYmRpciIKICAgICAgZG9uZQogICAgICBlY2hvCiAgICAg
IGVjaG8gIklmIHlvdSBldmVyIGhhcHBlbiB0byB3YW50IHRvIGxpbmsgYWdh
aW5zdCBpbnN0YWxsZWQgbGlicmFyaWVzIgogICAgICBlY2hvICJpbiBhIGdp
dmVuIGRpcmVjdG9yeSwgTElCRElSLCB5b3UgbXVzdCBlaXRoZXIgdXNlIGxp
YnRvb2wsIGFuZCIKICAgICAgZWNobyAic3BlY2lmeSB0aGUgZnVsbCBwYXRo
bmFtZSBvZiB0aGUgbGlicmFyeSwgb3IgdXNlIHRoZSBcYC1MTElCRElSJyIK
ICAgICAgZWNobyAiZmxhZyBkdXJpbmcgbGlua2luZyBhbmQgZG8gYXQgbGVh
c3Qgb25lIG9mIHRoZSBmb2xsb3dpbmc6IgogICAgICBpZiB0ZXN0IC1uICIk
c2hsaWJwYXRoX3ZhciI7IHRoZW4KCWVjaG8gIiAgIC0gYWRkIExJQkRJUiB0
byB0aGUgXGAkc2hsaWJwYXRoX3ZhcicgZW52aXJvbm1lbnQgdmFyaWFibGUi
CgllY2hvICIgICAgIGR1cmluZyBleGVjdXRpb24iCiAgICAgIGZpCiAgICAg
IGlmIHRlc3QgLW4gIiRydW5wYXRoX3ZhciI7IHRoZW4KCWVjaG8gIiAgIC0g
YWRkIExJQkRJUiB0byB0aGUgXGAkcnVucGF0aF92YXInIGVudmlyb25tZW50
IHZhcmlhYmxlIgoJZWNobyAiICAgICBkdXJpbmcgbGlua2luZyIKICAgICAg
ZmkKICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3Nw
ZWMiOyB0aGVuCglsaWJkaXI9TElCRElSCglldmFsIGZsYWc9XCIkaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgoJJEVDSE8gIiAgIC0gdXNlIHRoZSBc
YCRmbGFnJyBsaW5rZXIgZmxhZyIKICAgICAgZmkKICAgICAgaWYgdGVzdCAt
biAiJGFkbWluY21kcyI7IHRoZW4KCSRFQ0hPICIgICAtIGhhdmUgeW91ciBz
eXN0ZW0gYWRtaW5pc3RyYXRvciBydW4gdGhlc2UgY29tbWFuZHM6JGFkbWlu
Y21kcyIKICAgICAgZmkKICAgICAgaWYgdGVzdCAtZiAvZXRjL2xkLnNvLmNv
bmY7IHRoZW4KCWVjaG8gIiAgIC0gaGF2ZSB5b3VyIHN5c3RlbSBhZG1pbmlz
dHJhdG9yIGFkZCBMSUJESVIgdG8gXGAvZXRjL2xkLnNvLmNvbmYnIgogICAg
ICBmaQogICAgICBlY2hvCgogICAgICBlY2hvICJTZWUgYW55IG9wZXJhdGlu
ZyBzeXN0ZW0gZG9jdW1lbnRhdGlvbiBhYm91dCBzaGFyZWQgbGlicmFyaWVz
IGZvciIKICAgICAgY2FzZSAkaG9zdCBpbgoJc29sYXJpczIuWzY3ODldfHNv
bGFyaXMyLjFbMC05XSkKCSAgZWNobyAibW9yZSBpbmZvcm1hdGlvbiwgc3Vj
aCBhcyB0aGUgbGQoMSksIGNybGUoMSkgYW5kIGxkLnNvKDgpIG1hbnVhbCIK
CSAgZWNobyAicGFnZXMuIgoJICA7OwoJKikKCSAgZWNobyAibW9yZSBpbmZv
cm1hdGlvbiwgc3VjaCBhcyB0aGUgbGQoMSkgYW5kIGxkLnNvKDgpIG1hbnVh
bCBwYWdlcy4iCgkgIDs7CiAgICAgIGVzYWMKICAgICAgZWNobyAiLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSIKICAgIGZpCiAgICBleGl0ICRFWElUX1NV
Q0NFU1MKfQoKdGVzdCAiJG9wdF9tb2RlIiA9IGZpbmlzaCAmJiBmdW5jX21v
ZGVfZmluaXNoICR7MSsiJEAifQoKCiMgZnVuY19tb2RlX2luc3RhbGwgYXJn
Li4uCmZ1bmNfbW9kZV9pbnN0YWxsICgpCnsKICAgICRvcHRfZGVidWcKICAg
ICMgVGhlcmUgbWF5IGJlIGFuIG9wdGlvbmFsIHNoKDEpIGFyZ3VtZW50IGF0
IHRoZSBiZWdpbm5pbmcgb2YKICAgICMgaW5zdGFsbF9wcm9nIChlc3BlY2lh
bGx5IG9uIFdpbmRvd3MgTlQpLgogICAgaWYgdGVzdCAiJG5vbm9wdCIgPSAi
JFNIRUxMIiB8fCB0ZXN0ICIkbm9ub3B0IiA9IC9iaW4vc2ggfHwKICAgICAg
ICMgQWxsb3cgdGhlIHVzZSBvZiBHTlUgc2h0b29sJ3MgaW5zdGFsbCBjb21t
YW5kLgogICAgICAgY2FzZSAkbm9ub3B0IGluICpzaHRvb2wqKSA6OzsgKikg
ZmFsc2U7OyBlc2FjOyB0aGVuCiAgICAgICMgQWVzdGhldGljYWxseSBxdW90
ZSBpdC4KICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJG5vbm9wdCIKICAg
ICAgaW5zdGFsbF9wcm9nPSIkZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQg
IgogICAgICBhcmc9JDEKICAgICAgc2hpZnQKICAgIGVsc2UKICAgICAgaW5z
dGFsbF9wcm9nPQogICAgICBhcmc9JG5vbm9wdAogICAgZmkKCiAgICAjIFRo
ZSByZWFsIGZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSB0aGUgbmFtZSBvZiB0
aGUgaW5zdGFsbGF0aW9uIHByb2dyYW0uCiAgICAjIEFlc3RoZXRpY2FsbHkg
cXVvdGUgaXQuCiAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkYXJnIgogICAg
aW5zdGFsbF9wcm9nKz0iJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0Igog
ICAgaW5zdGFsbF9zaGFyZWRfcHJvZz0kaW5zdGFsbF9wcm9nCiAgICBjYXNl
ICIgJGluc3RhbGxfcHJvZyAiIGluCiAgICAgICpbXFxcIC9dY3BcICopIGlu
c3RhbGxfY3A9OiA7OwogICAgICAqKSBpbnN0YWxsX2NwPWZhbHNlIDs7CiAg
ICBlc2FjCgogICAgIyBXZSBuZWVkIHRvIGFjY2VwdCBhdCBsZWFzdCBhbGwg
dGhlIEJTRCBpbnN0YWxsIGZsYWdzLgogICAgZGVzdD0KICAgIGZpbGVzPQog
ICAgb3B0cz0KICAgIHByZXY9CiAgICBpbnN0YWxsX3R5cGU9CiAgICBpc2Rp
cj1ubwogICAgc3RyaXBtZT0KICAgIG5vX21vZGU9OgogICAgZm9yIGFyZwog
ICAgZG8KICAgICAgYXJnMj0KICAgICAgaWYgdGVzdCAtbiAiJGRlc3QiOyB0
aGVuCglmaWxlcys9IiAkZGVzdCIKCWRlc3Q9JGFyZwoJY29udGludWUKICAg
ICAgZmkKCiAgICAgIGNhc2UgJGFyZyBpbgogICAgICAtZCkgaXNkaXI9eWVz
IDs7CiAgICAgIC1mKQoJaWYgJGluc3RhbGxfY3A7IHRoZW4gOjsgZWxzZQoJ
ICBwcmV2PSRhcmcKCWZpCgk7OwogICAgICAtZyB8IC1tIHwgLW8pCglwcmV2
PSRhcmcKCTs7CiAgICAgIC1zKQoJc3RyaXBtZT0iIC1zIgoJY29udGludWUK
CTs7CiAgICAgIC0qKQoJOzsKICAgICAgKikKCSMgSWYgdGhlIHByZXZpb3Vz
IG9wdGlvbiBuZWVkZWQgYW4gYXJndW1lbnQsIHRoZW4gc2tpcCBpdC4KCWlm
IHRlc3QgLW4gIiRwcmV2IjsgdGhlbgoJICBpZiB0ZXN0ICJ4JHByZXYiID0g
eC1tICYmIHRlc3QgLW4gIiRpbnN0YWxsX292ZXJyaWRlX21vZGUiOyB0aGVu
CgkgICAgYXJnMj0kaW5zdGFsbF9vdmVycmlkZV9tb2RlCgkgICAgbm9fbW9k
ZT1mYWxzZQoJICBmaQoJICBwcmV2PQoJZWxzZQoJICBkZXN0PSRhcmcKCSAg
Y29udGludWUKCWZpCgk7OwogICAgICBlc2FjCgogICAgICAjIEFlc3RoZXRp
Y2FsbHkgcXVvdGUgdGhlIGFyZ3VtZW50LgogICAgICBmdW5jX3F1b3RlX2Zv
cl9ldmFsICIkYXJnIgogICAgICBpbnN0YWxsX3Byb2crPSIgJGZ1bmNfcXVv
dGVfZm9yX2V2YWxfcmVzdWx0IgogICAgICBpZiB0ZXN0IC1uICIkYXJnMiI7
IHRoZW4KCWZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRhcmcyIgogICAgICBmaQog
ICAgICBpbnN0YWxsX3NoYXJlZF9wcm9nKz0iICRmdW5jX3F1b3RlX2Zvcl9l
dmFsX3Jlc3VsdCIKICAgIGRvbmUKCiAgICB0ZXN0IC16ICIkaW5zdGFsbF9w
cm9nIiAmJiBcCiAgICAgIGZ1bmNfZmF0YWxfaGVscCAieW91IG11c3Qgc3Bl
Y2lmeSBhbiBpbnN0YWxsIHByb2dyYW0iCgogICAgdGVzdCAtbiAiJHByZXYi
ICYmIFwKICAgICAgZnVuY19mYXRhbF9oZWxwICJ0aGUgXGAkcHJldicgb3B0
aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgoKICAgIGlmIHRlc3QgLW4gIiRp
bnN0YWxsX292ZXJyaWRlX21vZGUiICYmICRub19tb2RlOyB0aGVuCiAgICAg
IGlmICRpbnN0YWxsX2NwOyB0aGVuIDo7IGVsc2UKCWZ1bmNfcXVvdGVfZm9y
X2V2YWwgIiRpbnN0YWxsX292ZXJyaWRlX21vZGUiCglpbnN0YWxsX3NoYXJl
ZF9wcm9nKz0iIC1tICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKICAg
ICAgZmkKICAgIGZpCgogICAgaWYgdGVzdCAteiAiJGZpbGVzIjsgdGhlbgog
ICAgICBpZiB0ZXN0IC16ICIkZGVzdCI7IHRoZW4KCWZ1bmNfZmF0YWxfaGVs
cCAibm8gZmlsZSBvciBkZXN0aW5hdGlvbiBzcGVjaWZpZWQiCiAgICAgIGVs
c2UKCWZ1bmNfZmF0YWxfaGVscCAieW91IG11c3Qgc3BlY2lmeSBhIGRlc3Rp
bmF0aW9uIgogICAgICBmaQogICAgZmkKCiAgICAjIFN0cmlwIGFueSB0cmFp
bGluZyBzbGFzaCBmcm9tIHRoZSBkZXN0aW5hdGlvbi4KICAgIGZ1bmNfc3Ry
aXBuYW1lICcnICcvJyAiJGRlc3QiCiAgICBkZXN0PSRmdW5jX3N0cmlwbmFt
ZV9yZXN1bHQKCiAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoZSBkZXN0aW5h
dGlvbiBpcyBhIGRpcmVjdG9yeS4KICAgIHRlc3QgLWQgIiRkZXN0IiAmJiBp
c2Rpcj15ZXMKICAgIGlmIHRlc3QgIiRpc2RpciIgPSB5ZXM7IHRoZW4KICAg
ICAgZGVzdGRpcj0iJGRlc3QiCiAgICAgIGRlc3RuYW1lPQogICAgZWxzZQog
ICAgICBmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICIkZGVzdCIgIiIgIi4i
CiAgICAgIGRlc3RkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgogICAgICBk
ZXN0bmFtZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoKICAgICAgIyBOb3Qg
YSBkaXJlY3RvcnksIHNvIGNoZWNrIHRvIHNlZSB0aGF0IHRoZXJlIGlzIG9u
bHkgb25lIGZpbGUgc3BlY2lmaWVkLgogICAgICBzZXQgZHVtbXkgJGZpbGVz
OyBzaGlmdAogICAgICB0ZXN0ICIkIyIgLWd0IDEgJiYgXAoJZnVuY19mYXRh
bF9oZWxwICJcYCRkZXN0JyBpcyBub3QgYSBkaXJlY3RvcnkiCiAgICBmaQog
ICAgY2FzZSAkZGVzdGRpciBpbgogICAgW1xcL10qIHwgW0EtWmEtel06W1xc
L10qKSA7OwogICAgKikKICAgICAgZm9yIGZpbGUgaW4gJGZpbGVzOyBkbwoJ
Y2FzZSAkZmlsZSBpbgoJKi5sbykgOzsKCSopCgkgIGZ1bmNfZmF0YWxfaGVs
cCAiXGAkZGVzdGRpcicgbXVzdCBiZSBhbiBhYnNvbHV0ZSBkaXJlY3Rvcnkg
bmFtZSIKCSAgOzsKCWVzYWMKICAgICAgZG9uZQogICAgICA7OwogICAgZXNh
YwoKICAgICMgVGhpcyB2YXJpYWJsZSB0ZWxscyB3cmFwcGVyIHNjcmlwdHMg
anVzdCB0byBzZXQgdmFyaWFibGVzIHJhdGhlcgogICAgIyB0aGFuIHJ1bm5p
bmcgdGhlaXIgcHJvZ3JhbXMuCiAgICBsaWJ0b29sX2luc3RhbGxfbWFnaWM9
IiRtYWdpYyIKCiAgICBzdGF0aWNsaWJzPQogICAgZnV0dXJlX2xpYmRpcnM9
CiAgICBjdXJyZW50X2xpYmRpcnM9CiAgICBmb3IgZmlsZSBpbiAkZmlsZXM7
IGRvCgogICAgICAjIERvIGVhY2ggaW5zdGFsbGF0aW9uLgogICAgICBjYXNl
ICRmaWxlIGluCiAgICAgICouJGxpYmV4dCkKCSMgRG8gdGhlIHN0YXRpYyBs
aWJyYXJpZXMgbGF0ZXIuCglzdGF0aWNsaWJzKz0iICRmaWxlIgoJOzsKCiAg
ICAgICoubGEpCglmdW5jX3Jlc29sdmVfc3lzcm9vdCAiJGZpbGUiCglmaWxl
PSRmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQKCgkjIENoZWNrIHRvIHNl
ZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEgbGlidG9vbCBhcmNoaXZlLgoJZnVu
Y19sYWxpYl91bnNhZmVfcCAiJGZpbGUiIFwKCSAgfHwgZnVuY19mYXRhbF9o
ZWxwICJcYCRmaWxlJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUi
CgoJbGlicmFyeV9uYW1lcz0KCW9sZF9saWJyYXJ5PQoJcmVsaW5rX2NvbW1h
bmQ9CglmdW5jX3NvdXJjZSAiJGZpbGUiCgoJIyBBZGQgdGhlIGxpYmRpciB0
byBjdXJyZW50X2xpYmRpcnMgaWYgaXQgaXMgdGhlIGRlc3RpbmF0aW9uLgoJ
aWYgdGVzdCAiWCRkZXN0ZGlyIiA9ICJYJGxpYmRpciI7IHRoZW4KCSAgY2Fz
ZSAiJGN1cnJlbnRfbGliZGlycyAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7
CgkgICopIGN1cnJlbnRfbGliZGlycys9IiAkbGliZGlyIiA7OwoJICBlc2Fj
CgllbHNlCgkgICMgTm90ZSB0aGUgbGliZGlyIGFzIGEgZnV0dXJlIGxpYmRp
ci4KCSAgY2FzZSAiJGZ1dHVyZV9saWJkaXJzICIgaW4KCSAgKiIgJGxpYmRp
ciAiKikgOzsKCSAgKikgZnV0dXJlX2xpYmRpcnMrPSIgJGxpYmRpciIgOzsK
CSAgZXNhYwoJZmkKCglmdW5jX2Rpcm5hbWUgIiRmaWxlIiAiLyIgIiIKCWRp
cj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCglkaXIrPSIkb2JqZGlyIgoKCWlm
IHRlc3QgLW4gIiRyZWxpbmtfY29tbWFuZCI7IHRoZW4KCSAgIyBEZXRlcm1p
bmUgdGhlIHByZWZpeCB0aGUgdXNlciBoYXMgYXBwbGllZCB0byBvdXIgZnV0
dXJlIGRpci4KCSAgaW5zdF9wcmVmaXhfZGlyPWAkRUNITyAiJGRlc3RkaXIi
IHwgJFNFRCAtZSAicyUkbGliZGlyXCQlJSJgCgoJICAjIERvbid0IGFsbG93
IHRoZSB1c2VyIHRvIHBsYWNlIHVzIG91dHNpZGUgb2Ygb3VyIGV4cGVjdGVk
CgkgICMgbG9jYXRpb24gYi9jIHRoaXMgcHJldmVudHMgZmluZGluZyBkZXBl
bmRlbnQgbGlicmFyaWVzIHRoYXQKCSAgIyBhcmUgaW5zdGFsbGVkIHRvIHRo
ZSBzYW1lIHByZWZpeC4KCSAgIyBBdCBwcmVzZW50LCB0aGlzIGNoZWNrIGRv
ZXNuJ3QgYWZmZWN0IHdpbmRvd3MgLmRsbCdzIHRoYXQKCSAgIyBhcmUgaW5z
dGFsbGVkIGludG8gJGxpYmRpci8uLi9iaW4gKGN1cnJlbnRseSwgdGhhdCB3
b3JrcyBmaW5lKQoJICAjIGJ1dCBpdCdzIHNvbWV0aGluZyB0byBrZWVwIGFu
IGV5ZSBvbi4KCSAgdGVzdCAiJGluc3RfcHJlZml4X2RpciIgPSAiJGRlc3Rk
aXIiICYmIFwKCSAgICBmdW5jX2ZhdGFsX2Vycm9yICJlcnJvcjogY2Fubm90
IGluc3RhbGwgXGAkZmlsZScgdG8gYSBkaXJlY3Rvcnkgbm90IGVuZGluZyBp
biAkbGliZGlyIgoKCSAgaWYgdGVzdCAtbiAiJGluc3RfcHJlZml4X2RpciI7
IHRoZW4KCSAgICAjIFN0aWNrIHRoZSBpbnN0X3ByZWZpeF9kaXIgZGF0YSBp
bnRvIHRoZSBsaW5rIGNvbW1hbmQuCgkgICAgcmVsaW5rX2NvbW1hbmQ9YCRF
Q0hPICIkcmVsaW5rX2NvbW1hbmQiIHwgJFNFRCAicyVAaW5zdF9wcmVmaXhf
ZGlyQCUtaW5zdC1wcmVmaXgtZGlyICRpbnN0X3ByZWZpeF9kaXIlImAKCSAg
ZWxzZQoJICAgIHJlbGlua19jb21tYW5kPWAkRUNITyAiJHJlbGlua19jb21t
YW5kIiB8ICRTRUQgInMlQGluc3RfcHJlZml4X2RpckAlJSJgCgkgIGZpCgoJ
ICBmdW5jX3dhcm5pbmcgInJlbGlua2luZyBcYCRmaWxlJyIKCSAgZnVuY19z
aG93X2V2YWwgIiRyZWxpbmtfY29tbWFuZCIgXAoJICAgICdmdW5jX2ZhdGFs
X2Vycm9yICJlcnJvcjogcmVsaW5rIFxgJGZpbGUnXCcnIHdpdGggdGhlIGFi
b3ZlIGNvbW1hbmQgYmVmb3JlIGluc3RhbGxpbmcgaXQiJwoJZmkKCgkjIFNl
ZSB0aGUgbmFtZXMgb2YgdGhlIHNoYXJlZCBsaWJyYXJ5LgoJc2V0IGR1bW15
ICRsaWJyYXJ5X25hbWVzOyBzaGlmdAoJaWYgdGVzdCAtbiAiJDEiOyB0aGVu
CgkgIHJlYWxuYW1lPSIkMSIKCSAgc2hpZnQKCgkgIHNyY25hbWU9IiRyZWFs
bmFtZSIKCSAgdGVzdCAtbiAiJHJlbGlua19jb21tYW5kIiAmJiBzcmNuYW1l
PSIkcmVhbG5hbWUiVAoKCSAgIyBJbnN0YWxsIHRoZSBzaGFyZWQgbGlicmFy
eSBhbmQgYnVpbGQgdGhlIHN5bWxpbmtzLgoJICBmdW5jX3Nob3dfZXZhbCAi
JGluc3RhbGxfc2hhcmVkX3Byb2cgJGRpci8kc3JjbmFtZSAkZGVzdGRpci8k
cmVhbG5hbWUiIFwKCSAgICAgICdleGl0ICQ/JwoJICB0c3RyaXBtZT0iJHN0
cmlwbWUiCgkgIGNhc2UgJGhvc3Rfb3MgaW4KCSAgY3lnd2luKiB8IG1pbmd3
KiB8IHB3MzIqIHwgY2VnY2MqKQoJICAgIGNhc2UgJHJlYWxuYW1lIGluCgkg
ICAgKi5kbGwuYSkKCSAgICAgIHRzdHJpcG1lPSIiCgkgICAgICA7OwoJICAg
IGVzYWMKCSAgICA7OwoJICBlc2FjCgkgIGlmIHRlc3QgLW4gIiR0c3RyaXBt
ZSIgJiYgdGVzdCAtbiAiJHN0cmlwbGliIjsgdGhlbgoJICAgIGZ1bmNfc2hv
d19ldmFsICIkc3RyaXBsaWIgJGRlc3RkaXIvJHJlYWxuYW1lIiAnZXhpdCAk
PycKCSAgZmkKCgkgIGlmIHRlc3QgIiQjIiAtZ3QgMDsgdGhlbgoJICAgICMg
RGVsZXRlIHRoZSBvbGQgc3ltbGlua3MsIGFuZCBjcmVhdGUgbmV3IG9uZXMu
CgkgICAgIyBUcnkgYGxuIC1zZicgZmlyc3QsIGJlY2F1c2UgdGhlIGBsbicg
YmluYXJ5IG1pZ2h0IGRlcGVuZCBvbgoJICAgICMgdGhlIHN5bWxpbmsgd2Ug
cmVwbGFjZSEgIFNvbGFyaXMgL2Jpbi9sbiBkb2VzIG5vdCB1bmRlcnN0YW5k
IC1mLAoJICAgICMgc28gd2UgYWxzbyBuZWVkIHRvIHRyeSBybSAmJiBsbiAt
cy4KCSAgICBmb3IgbGlua25hbWUKCSAgICBkbwoJICAgICAgdGVzdCAiJGxp
bmtuYW1lIiAhPSAiJHJlYWxuYW1lIiBcCgkJJiYgZnVuY19zaG93X2V2YWwg
IihjZCAkZGVzdGRpciAmJiB7ICRMTl9TIC1mICRyZWFsbmFtZSAkbGlua25h
bWUgfHwgeyAkUk0gJGxpbmtuYW1lICYmICRMTl9TICRyZWFsbmFtZSAkbGlu
a25hbWU7IH07IH0pIgoJICAgIGRvbmUKCSAgZmkKCgkgICMgRG8gZWFjaCBj
b21tYW5kIGluIHRoZSBwb3N0aW5zdGFsbCBjb21tYW5kcy4KCSAgbGliPSIk
ZGVzdGRpci8kcmVhbG5hbWUiCgkgIGZ1bmNfZXhlY3V0ZV9jbWRzICIkcG9z
dGluc3RhbGxfY21kcyIgJ2V4aXQgJD8nCglmaQoKCSMgSW5zdGFsbCB0aGUg
cHNldWRvLWxpYnJhcnkgZm9yIGluZm9ybWF0aW9uIHB1cnBvc2VzLgoJZnVu
Y19iYXNlbmFtZSAiJGZpbGUiCgluYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1
bHQiCglpbnN0bmFtZT0iJGRpci8kbmFtZSJpCglmdW5jX3Nob3dfZXZhbCAi
JGluc3RhbGxfcHJvZyAkaW5zdG5hbWUgJGRlc3RkaXIvJG5hbWUiICdleGl0
ICQ/JwoKCSMgTWF5YmUgaW5zdGFsbCB0aGUgc3RhdGljIGxpYnJhcnksIHRv
by4KCXRlc3QgLW4gIiRvbGRfbGlicmFyeSIgJiYgc3RhdGljbGlicys9IiAk
ZGlyLyRvbGRfbGlicmFyeSIKCTs7CgogICAgICAqLmxvKQoJIyBJbnN0YWxs
IChpLmUuIGNvcHkpIGEgbGlidG9vbCBvYmplY3QuCgoJIyBGaWd1cmUgb3V0
IGRlc3RpbmF0aW9uIGZpbGUgbmFtZSwgaWYgaXQgd2Fzbid0IGFscmVhZHkg
c3BlY2lmaWVkLgoJaWYgdGVzdCAtbiAiJGRlc3RuYW1lIjsgdGhlbgoJICBk
ZXN0ZmlsZT0iJGRlc3RkaXIvJGRlc3RuYW1lIgoJZWxzZQoJICBmdW5jX2Jh
c2VuYW1lICIkZmlsZSIKCSAgZGVzdGZpbGU9IiRmdW5jX2Jhc2VuYW1lX3Jl
c3VsdCIKCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0ZmlsZSIKCWZpCgoJ
IyBEZWR1Y2UgdGhlIG5hbWUgb2YgdGhlIGRlc3RpbmF0aW9uIG9sZC1zdHls
ZSBvYmplY3QgZmlsZS4KCWNhc2UgJGRlc3RmaWxlIGluCgkqLmxvKQoJICBm
dW5jX2xvMm8gIiRkZXN0ZmlsZSIKCSAgc3RhdGljZGVzdD0kZnVuY19sbzJv
X3Jlc3VsdAoJICA7OwoJKi4kb2JqZXh0KQoJICBzdGF0aWNkZXN0PSIkZGVz
dGZpbGUiCgkgIGRlc3RmaWxlPQoJICA7OwoJKikKCSAgZnVuY19mYXRhbF9o
ZWxwICJjYW5ub3QgY29weSBhIGxpYnRvb2wgb2JqZWN0IHRvIFxgJGRlc3Rm
aWxlJyIKCSAgOzsKCWVzYWMKCgkjIEluc3RhbGwgdGhlIGxpYnRvb2wgb2Jq
ZWN0IGlmIHJlcXVlc3RlZC4KCXRlc3QgLW4gIiRkZXN0ZmlsZSIgJiYgXAoJ
ICBmdW5jX3Nob3dfZXZhbCAiJGluc3RhbGxfcHJvZyAkZmlsZSAkZGVzdGZp
bGUiICdleGl0ICQ/JwoKCSMgSW5zdGFsbCB0aGUgb2xkIG9iamVjdCBpZiBl
bmFibGVkLgoJaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhl
bgoJICAjIERlZHVjZSB0aGUgbmFtZSBvZiB0aGUgb2xkLXN0eWxlIG9iamVj
dCBmaWxlLgoJICBmdW5jX2xvMm8gIiRmaWxlIgoJICBzdGF0aWNvYmo9JGZ1
bmNfbG8yb19yZXN1bHQKCSAgZnVuY19zaG93X2V2YWwgIiRpbnN0YWxsX3By
b2cgXCRzdGF0aWNvYmogXCRzdGF0aWNkZXN0IiAnZXhpdCAkPycKCWZpCgll
eGl0ICRFWElUX1NVQ0NFU1MKCTs7CgogICAgICAqKQoJIyBGaWd1cmUgb3V0
IGRlc3RpbmF0aW9uIGZpbGUgbmFtZSwgaWYgaXQgd2Fzbid0IGFscmVhZHkg
c3BlY2lmaWVkLgoJaWYgdGVzdCAtbiAiJGRlc3RuYW1lIjsgdGhlbgoJICBk
ZXN0ZmlsZT0iJGRlc3RkaXIvJGRlc3RuYW1lIgoJZWxzZQoJICBmdW5jX2Jh
c2VuYW1lICIkZmlsZSIKCSAgZGVzdGZpbGU9IiRmdW5jX2Jhc2VuYW1lX3Jl
c3VsdCIKCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0ZmlsZSIKCWZpCgoJ
IyBJZiB0aGUgZmlsZSBpcyBtaXNzaW5nLCBhbmQgdGhlcmUgaXMgYSAuZXhl
IG9uIHRoZSBlbmQsIHN0cmlwIGl0CgkjIGJlY2F1c2UgaXQgaXMgbW9zdCBs
aWtlbHkgYSBsaWJ0b29sIHNjcmlwdCB3ZSBhY3R1YWxseSB3YW50IHRvCgkj
IGluc3RhbGwKCXN0cmlwcGVkX2V4dD0iIgoJY2FzZSAkZmlsZSBpbgoJICAq
LmV4ZSkKCSAgICBpZiB0ZXN0ICEgLWYgIiRmaWxlIjsgdGhlbgoJICAgICAg
ZnVuY19zdHJpcG5hbWUgJycgJy5leGUnICIkZmlsZSIKCSAgICAgIGZpbGU9
JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICAgICAgc3RyaXBwZWRfZXh0PSIu
ZXhlIgoJICAgIGZpCgkgICAgOzsKCWVzYWMKCgkjIERvIGEgdGVzdCB0byBz
ZWUgaWYgdGhpcyBpcyByZWFsbHkgYSBsaWJ0b29sIHByb2dyYW0uCgljYXNl
ICRob3N0IGluCgkqY3lnd2luKiB8ICptaW5ndyopCgkgICAgaWYgZnVuY19s
dHdyYXBwZXJfZXhlY3V0YWJsZV9wICIkZmlsZSI7IHRoZW4KCSAgICAgIGZ1
bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWUgIiRmaWxlIgoJICAgICAgd3JhcHBl
cj0kZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQKCSAgICBlbHNl
CgkgICAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4ZScgIiRmaWxlIgoJICAg
ICAgd3JhcHBlcj0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CgkgICAgZmkKCSAg
ICA7OwoJKikKCSAgICB3cmFwcGVyPSRmaWxlCgkgICAgOzsKCWVzYWMKCWlm
IGZ1bmNfbHR3cmFwcGVyX3NjcmlwdF9wICIkd3JhcHBlciI7IHRoZW4KCSAg
bm90aW5zdF9kZXBsaWJzPQoJICByZWxpbmtfY29tbWFuZD0KCgkgIGZ1bmNf
c291cmNlICIkd3JhcHBlciIKCgkgICMgQ2hlY2sgdGhlIHZhcmlhYmxlcyB0
aGF0IHNob3VsZCBoYXZlIGJlZW4gc2V0LgoJICB0ZXN0IC16ICIkZ2VuZXJh
dGVkX2J5X2xpYnRvb2xfdmVyc2lvbiIgJiYgXAoJICAgIGZ1bmNfZmF0YWxf
ZXJyb3IgImludmFsaWQgbGlidG9vbCB3cmFwcGVyIHNjcmlwdCBcYCR3cmFw
cGVyJyIKCgkgIGZpbmFsaXplPXllcwoJICBmb3IgbGliIGluICRub3RpbnN0
X2RlcGxpYnM7IGRvCgkgICAgIyBDaGVjayB0byBzZWUgdGhhdCBlYWNoIGxp
YnJhcnkgaXMgaW5zdGFsbGVkLgoJICAgIGxpYmRpcj0KCSAgICBpZiB0ZXN0
IC1mICIkbGliIjsgdGhlbgoJICAgICAgZnVuY19zb3VyY2UgIiRsaWIiCgkg
ICAgZmkKCSAgICBsaWJmaWxlPSIkbGliZGlyLyJgJEVDSE8gIiRsaWIiIHwg
JFNFRCAncyVeLiovJSVnJ2AgIyMjIHRlc3RzdWl0ZTogc2tpcCBuZXN0ZWQg
cXVvdGluZyB0ZXN0CgkgICAgaWYgdGVzdCAtbiAiJGxpYmRpciIgJiYgdGVz
dCAhIC1mICIkbGliZmlsZSI7IHRoZW4KCSAgICAgIGZ1bmNfd2FybmluZyAi
XGAkbGliJyBoYXMgbm90IGJlZW4gaW5zdGFsbGVkIGluIFxgJGxpYmRpcici
CgkgICAgICBmaW5hbGl6ZT1ubwoJICAgIGZpCgkgIGRvbmUKCgkgIHJlbGlu
a19jb21tYW5kPQoJICBmdW5jX3NvdXJjZSAiJHdyYXBwZXIiCgoJICBvdXRw
dXRuYW1lPQoJICBpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IG5vICYmIHRl
c3QgLW4gIiRyZWxpbmtfY29tbWFuZCI7IHRoZW4KCSAgICAkb3B0X2RyeV9y
dW4gfHwgewoJICAgICAgaWYgdGVzdCAiJGZpbmFsaXplIiA9IHllczsgdGhl
bgoJICAgICAgICB0bXBkaXI9YGZ1bmNfbWt0ZW1wZGlyYAoJCWZ1bmNfYmFz
ZW5hbWUgIiRmaWxlJHN0cmlwcGVkX2V4dCIKCQlmaWxlPSIkZnVuY19iYXNl
bmFtZV9yZXN1bHQiCgkgICAgICAgIG91dHB1dG5hbWU9IiR0bXBkaXIvJGZp
bGUiCgkgICAgICAgICMgUmVwbGFjZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lm
aWNhdGlvbi4KCSAgICAgICAgcmVsaW5rX2NvbW1hbmQ9YCRFQ0hPICIkcmVs
aW5rX2NvbW1hbmQiIHwgJFNFRCAncyVAT1VUUFVUQCUnIiRvdXRwdXRuYW1l
IiclZydgCgoJICAgICAgICAkb3B0X3NpbGVudCB8fCB7CgkgICAgICAgICAg
ZnVuY19xdW90ZV9mb3JfZXhwYW5kICIkcmVsaW5rX2NvbW1hbmQiCgkJICBl
dmFsICJmdW5jX2VjaG8gJGZ1bmNfcXVvdGVfZm9yX2V4cGFuZF9yZXN1bHQi
CgkgICAgICAgIH0KCSAgICAgICAgaWYgZXZhbCAiJHJlbGlua19jb21tYW5k
IjsgdGhlbiA6CgkgICAgICAgICAgZWxzZQoJCSAgZnVuY19lcnJvciAiZXJy
b3I6IHJlbGluayBcYCRmaWxlJyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJl
Zm9yZSBpbnN0YWxsaW5nIGl0IgoJCSAgJG9wdF9kcnlfcnVuIHx8ICR7Uk19
ciAiJHRtcGRpciIKCQkgIGNvbnRpbnVlCgkgICAgICAgIGZpCgkgICAgICAg
IGZpbGU9IiRvdXRwdXRuYW1lIgoJICAgICAgZWxzZQoJICAgICAgICBmdW5j
X3dhcm5pbmcgImNhbm5vdCByZWxpbmsgXGAkZmlsZSciCgkgICAgICBmaQoJ
ICAgIH0KCSAgZWxzZQoJICAgICMgSW5zdGFsbCB0aGUgYmluYXJ5IHRoYXQg
d2UgY29tcGlsZWQgZWFybGllci4KCSAgICBmaWxlPWAkRUNITyAiJGZpbGUk
c3RyaXBwZWRfZXh0IiB8ICRTRUQgInMlXChbXi9dKlwpJCUkb2JqZGlyL1wx
JSJgCgkgIGZpCglmaQoKCSMgcmVtb3ZlIC5leGUgc2luY2UgY3lnd2luIC91
c3IvYmluL2luc3RhbGwgd2lsbCBhcHBlbmQgYW5vdGhlcgoJIyBvbmUgYW55
d2F5CgljYXNlICRpbnN0YWxsX3Byb2csJGhvc3QgaW4KCSovdXNyL2Jpbi9p
bnN0YWxsKiwqY3lnd2luKikKCSAgY2FzZSAkZmlsZTokZGVzdGZpbGUgaW4K
CSAgKi5leGU6Ki5leGUpCgkgICAgIyB0aGlzIGlzIG9rCgkgICAgOzsKCSAg
Ki5leGU6KikKCSAgICBkZXN0ZmlsZT0kZGVzdGZpbGUuZXhlCgkgICAgOzsK
CSAgKjoqLmV4ZSkKCSAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4ZScgIiRk
ZXN0ZmlsZSIKCSAgICBkZXN0ZmlsZT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0
CgkgICAgOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJZnVuY19zaG93X2V2YWwg
IiRpbnN0YWxsX3Byb2dcJHN0cmlwbWUgXCRmaWxlIFwkZGVzdGZpbGUiICdl
eGl0ICQ/JwoJJG9wdF9kcnlfcnVuIHx8IGlmIHRlc3QgLW4gIiRvdXRwdXRu
YW1lIjsgdGhlbgoJICAke1JNfXIgIiR0bXBkaXIiCglmaQoJOzsKICAgICAg
ZXNhYwogICAgZG9uZQoKICAgIGZvciBmaWxlIGluICRzdGF0aWNsaWJzOyBk
bwogICAgICBmdW5jX2Jhc2VuYW1lICIkZmlsZSIKICAgICAgbmFtZT0iJGZ1
bmNfYmFzZW5hbWVfcmVzdWx0IgoKICAgICAgIyBTZXQgdXAgdGhlIHJhbmxp
YiBwYXJhbWV0ZXJzLgogICAgICBvbGRsaWI9IiRkZXN0ZGlyLyRuYW1lIgoK
ICAgICAgZnVuY19zaG93X2V2YWwgIiRpbnN0YWxsX3Byb2cgXCRmaWxlIFwk
b2xkbGliIiAnZXhpdCAkPycKCiAgICAgIGlmIHRlc3QgLW4gIiRzdHJpcG1l
IiAmJiB0ZXN0IC1uICIkb2xkX3N0cmlwbGliIjsgdGhlbgoJZnVuY19zaG93
X2V2YWwgIiRvbGRfc3RyaXBsaWIgJG9sZGxpYiIgJ2V4aXQgJD8nCiAgICAg
IGZpCgogICAgICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgcG9zdGluc3Rh
bGwgY29tbWFuZHMuCiAgICAgIGZ1bmNfZXhlY3V0ZV9jbWRzICIkb2xkX3Bv
c3RpbnN0YWxsX2NtZHMiICdleGl0ICQ/JwogICAgZG9uZQoKICAgIHRlc3Qg
LW4gIiRmdXR1cmVfbGliZGlycyIgJiYgXAogICAgICBmdW5jX3dhcm5pbmcg
InJlbWVtYmVyIHRvIHJ1biBcYCRwcm9nbmFtZSAtLWZpbmlzaCRmdXR1cmVf
bGliZGlycyciCgogICAgaWYgdGVzdCAtbiAiJGN1cnJlbnRfbGliZGlycyI7
IHRoZW4KICAgICAgIyBNYXliZSBqdXN0IGRvIGEgZHJ5IHJ1bi4KICAgICAg
JG9wdF9kcnlfcnVuICYmIGN1cnJlbnRfbGliZGlycz0iIC1uJGN1cnJlbnRf
bGliZGlycyIKICAgICAgZXhlY19jbWQ9JyRTSEVMTCAkcHJvZ3BhdGggJHBy
ZXNlcnZlX2FyZ3MgLS1maW5pc2gkY3VycmVudF9saWJkaXJzJwogICAgZWxz
ZQogICAgICBleGl0ICRFWElUX1NVQ0NFU1MKICAgIGZpCn0KCnRlc3QgIiRv
cHRfbW9kZSIgPSBpbnN0YWxsICYmIGZ1bmNfbW9kZV9pbnN0YWxsICR7MSsi
JEAifQoKCiMgZnVuY19nZW5lcmF0ZV9kbHN5bXMgb3V0cHV0bmFtZSBvcmln
aW5hdG9yIHBpY19wCiMgRXh0cmFjdCBzeW1ib2xzIGZyb20gZGxwcmVmaWxl
cyBhbmQgY3JlYXRlICR7b3V0cHV0bmFtZX1TLm8gd2l0aAojIGEgZGxwcmVv
cGVuIHN5bWJvbCB0YWJsZS4KZnVuY19nZW5lcmF0ZV9kbHN5bXMgKCkKewog
ICAgJG9wdF9kZWJ1ZwogICAgbXlfb3V0cHV0bmFtZT0iJDEiCiAgICBteV9v
cmlnaW5hdG9yPSIkMiIKICAgIG15X3BpY19wPSIkezMtbm99IgogICAgbXlf
cHJlZml4PWAkRUNITyAiJG15X29yaWdpbmF0b3IiIHwgc2VkICdzJVteYS16
QS1aMC05XSVfJWcnYAogICAgbXlfZGxzeW1zPQoKICAgIGlmIHRlc3QgLW4g
IiRkbGZpbGVzJGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5v
OyB0aGVuCiAgICAgIGlmIHRlc3QgLW4gIiROTSIgJiYgdGVzdCAtbiAiJGds
b2JhbF9zeW1ib2xfcGlwZSI7IHRoZW4KCW15X2Rsc3ltcz0iJHtteV9vdXRw
dXRuYW1lfVMuYyIKICAgICAgZWxzZQoJZnVuY19lcnJvciAibm90IGNvbmZp
Z3VyZWQgdG8gZXh0cmFjdCBnbG9iYWwgc3ltYm9scyBmcm9tIGRscHJlb3Bl
bmVkIGZpbGVzIgogICAgICBmaQogICAgZmkKCiAgICBpZiB0ZXN0IC1uICIk
bXlfZGxzeW1zIjsgdGhlbgogICAgICBjYXNlICRteV9kbHN5bXMgaW4KICAg
ICAgIiIpIDs7CiAgICAgICouYykKCSMgRGlzY292ZXIgdGhlIG5saXN0IG9m
IGVhY2ggb2YgdGhlIGRsZmlsZXMuCglubGlzdD0iJG91dHB1dF9vYmpkaXIv
JHtteV9vdXRwdXRuYW1lfS5ubSIKCglmdW5jX3Nob3dfZXZhbCAiJFJNICRu
bGlzdCAke25saXN0fVMgJHtubGlzdH1UIgoKCSMgUGFyc2UgdGhlIG5hbWUg
bGlzdCBpbnRvIGEgc291cmNlIGZpbGUuCglmdW5jX3ZlcmJvc2UgImNyZWF0
aW5nICRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCgoJJG9wdF9kcnlfcnVu
IHx8ICRFQ0hPID4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICJcCi8q
ICRteV9kbHN5bXMgLSBzeW1ib2wgcmVzb2x1dGlvbiB0YWJsZSBmb3IgXGAk
bXlfb3V0cHV0bmFtZScgZGxzeW0gZW11bGF0aW9uLiAqLwovKiBHZW5lcmF0
ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJT
SU9OICovCgojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuIFwiQ1wiIHsKI2Vu
ZGlmCgojaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0g
NCkgJiYgKF9fR05VQ19NSU5PUl9fID49IDQpKSB8fCAoX19HTlVDX18gPiA0
KSkKI3ByYWdtYSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdzdHJpY3Qt
cHJvdG90eXBlc1wiCiNlbmRpZgoKLyogS2VlcCB0aGlzIGNvZGUgaW4gc3lu
YyBiZXR3ZWVuIGxpYnRvb2wubTQsIGx0bWFpbiwgbHRfc3lzdGVtLmgsIGFu
ZCB0ZXN0cy4gICovCiNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZChf
X0NZR1dJTl9fKSB8fCBkZWZpbmVkKF9XSU4zMl9XQ0UpCi8qIERBVEEgaW1w
b3J0cyBmcm9tIERMTHMgb24gV0lOMzIgY29uJ3QgYmUgY29uc3QsIGJlY2F1
c2UgcnVudGltZQogICByZWxvY2F0aW9ucyBhcmUgcGVyZm9ybWVkIC0tIHNl
ZSBsZCdzIGRvY3VtZW50YXRpb24gb24gcHNldWRvLXJlbG9jcy4gICovCiMg
ZGVmaW5lIExUX0RMU1lNX0NPTlNUCiNlbGlmIGRlZmluZWQoX19vc2ZfXykK
LyogVGhpcyBzeXN0ZW0gZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggcmVsb2Nh
dGlvbnMgaW4gY29uc3QgZGF0YS4gICovCiMgZGVmaW5lIExUX0RMU1lNX0NP
TlNUCiNlbHNlCiMgZGVmaW5lIExUX0RMU1lNX0NPTlNUIGNvbnN0CiNlbmRp
ZgoKLyogRXh0ZXJuYWwgc3ltYm9sIGRlY2xhcmF0aW9ucyBmb3IgdGhlIGNv
bXBpbGVyLiAqL1wKIgoKCWlmIHRlc3QgIiRkbHNlbGYiID0geWVzOyB0aGVu
CgkgIGZ1bmNfdmVyYm9zZSAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3Ig
XGAkb3V0cHV0JyIKCgkgICRvcHRfZHJ5X3J1biB8fCBlY2hvICc6IEBQUk9H
UkFNQCAnID4gIiRubGlzdCIKCgkgICMgQWRkIG91ciBvd24gcHJvZ3JhbSBv
YmplY3RzIHRvIHRoZSBzeW1ib2wgbGlzdC4KCSAgcHJvZ2ZpbGVzPWAkRUNI
TyAiJG9ianMkb2xkX2RlcGxpYnMiIHwgJFNQMk5MIHwgJFNFRCAiJGxvMm8i
IHwgJE5MMlNQYAoJICBmb3IgcHJvZ2ZpbGUgaW4gJHByb2dmaWxlczsgZG8K
CSAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJHByb2dmaWxlIiBmdW5jX2NvbnZl
cnRfZmlsZV9tc3lzX3RvX3czMgoJICAgIGZ1bmNfdmVyYm9zZSAiZXh0cmFj
dGluZyBnbG9iYWwgQyBzeW1ib2xzIGZyb20gXGAkZnVuY190b190b29sX2Zp
bGVfcmVzdWx0JyIKCSAgICAkb3B0X2RyeV9ydW4gfHwgZXZhbCAiJE5NICRm
dW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQgfCAkZ2xvYmFsX3N5bWJvbF9waXBl
ID4+ICckbmxpc3QnIgoJICBkb25lCgoJICBpZiB0ZXN0IC1uICIkZXhjbHVk
ZV9leHBzeW1zIjsgdGhlbgoJICAgICRvcHRfZHJ5X3J1biB8fCB7CgkgICAg
ICBldmFsICckRUdSRVAgLXYgIiAoJGV4Y2x1ZGVfZXhwc3ltcykkIiAiJG5s
aXN0IiA+ICIkbmxpc3QiVCcKCSAgICAgIGV2YWwgJyRNViAiJG5saXN0IlQg
IiRubGlzdCInCgkgICAgfQoJICBmaQoKCSAgaWYgdGVzdCAtbiAiJGV4cG9y
dF9zeW1ib2xzX3JlZ2V4IjsgdGhlbgoJICAgICRvcHRfZHJ5X3J1biB8fCB7
CgkgICAgICBldmFsICckRUdSRVAgLWUgIiRleHBvcnRfc3ltYm9sc19yZWdl
eCIgIiRubGlzdCIgPiAiJG5saXN0IlQnCgkgICAgICBldmFsICckTVYgIiRu
bGlzdCJUICIkbmxpc3QiJwoJICAgIH0KCSAgZmkKCgkgICMgUHJlcGFyZSB0
aGUgbGlzdCBvZiBleHBvcnRlZCBzeW1ib2xzCgkgIGlmIHRlc3QgLXogIiRl
eHBvcnRfc3ltYm9scyI7IHRoZW4KCSAgICBleHBvcnRfc3ltYm9scz0iJG91
dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZXhwIgoJICAgICRvcHRfZHJ5X3J1
biB8fCB7CgkgICAgICAkUk0gJGV4cG9ydF9zeW1ib2xzCgkgICAgICBldmFs
ICIke1NFRH0gLW4gLWUgJy9eOiBAUFJPR1JBTUAgJC9kJyAtZSAncy9eLiog
XCguKlwpJC9cMS9wJyAiJzwgIiRubGlzdCIgPiAiJGV4cG9ydF9zeW1ib2xz
IicKCSAgICAgIGNhc2UgJGhvc3QgaW4KCSAgICAgICpjeWd3aW4qIHwgKm1p
bmd3KiB8ICpjZWdjYyogKQogICAgICAgICAgICAgICAgZXZhbCAiZWNobyBF
WFBPUlRTICInPiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicK
ICAgICAgICAgICAgICAgIGV2YWwgJ2NhdCAiJGV4cG9ydF9zeW1ib2xzIiA+
PiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicKCSAgICAgICAg
OzsKCSAgICAgIGVzYWMKCSAgICB9CgkgIGVsc2UKCSAgICAkb3B0X2RyeV9y
dW4gfHwgewoJICAgICAgZXZhbCAiJHtTRUR9IC1lICdzL1woW10uWypeJF1c
KS9cXFxcXDEvZycgLWUgJ3MvXi8gLycgLWUgJ3MvJC8kLyciJyA8ICIkZXhw
b3J0X3N5bWJvbHMiID4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmV4
cCInCgkgICAgICBldmFsICckR1JFUCAtZiAiJG91dHB1dF9vYmpkaXIvJG91
dHB1dG5hbWUuZXhwIiA8ICIkbmxpc3QiID4gIiRubGlzdCJUJwoJICAgICAg
ZXZhbCAnJE1WICIkbmxpc3QiVCAiJG5saXN0IicKCSAgICAgIGNhc2UgJGhv
c3QgaW4KCSAgICAgICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiAp
CgkgICAgICAgICAgZXZhbCAiZWNobyBFWFBPUlRTICInPiAiJG91dHB1dF9v
YmpkaXIvJG91dHB1dG5hbWUuZGVmIicKCSAgICAgICAgICBldmFsICdjYXQg
IiRubGlzdCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmRlZiIn
CgkgICAgICAgICAgOzsKCSAgICAgIGVzYWMKCSAgICB9CgkgIGZpCglmaQoK
CWZvciBkbHByZWZpbGUgaW4gJGRscHJlZmlsZXM7IGRvCgkgIGZ1bmNfdmVy
Ym9zZSAiZXh0cmFjdGluZyBnbG9iYWwgQyBzeW1ib2xzIGZyb20gXGAkZGxw
cmVmaWxlJyIKCSAgZnVuY19iYXNlbmFtZSAiJGRscHJlZmlsZSIKCSAgbmFt
ZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgogICAgICAgICAgY2FzZSAkaG9z
dCBpbgoJICAgICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQoJICAg
ICAgIyBpZiBhbiBpbXBvcnQgbGlicmFyeSwgd2UgbmVlZCB0byBvYnRhaW4g
ZGxuYW1lCgkgICAgICBpZiBmdW5jX3dpbjMyX2ltcG9ydF9saWJfcCAiJGRs
cHJlZmlsZSI7IHRoZW4KCSAgICAgICAgZnVuY190cl9zaCAiJGRscHJlZmls
ZSIKCSAgICAgICAgZXZhbCAiY3Vycl9sYWZpbGU9XCRsaWJmaWxlXyRmdW5j
X3RyX3NoX3Jlc3VsdCIKCSAgICAgICAgZGxwcmVmaWxlX2RsYmFzZW5hbWU9
IiIKCSAgICAgICAgaWYgdGVzdCAtbiAiJGN1cnJfbGFmaWxlIiAmJiBmdW5j
X2xhbGliX3AgIiRjdXJyX2xhZmlsZSI7IHRoZW4KCSAgICAgICAgICAjIFVz
ZSBzdWJzaGVsbCwgdG8gYXZvaWQgY2xvYmJlcmluZyBjdXJyZW50IHZhcmlh
YmxlIHZhbHVlcwoJICAgICAgICAgIGRscHJlZmlsZV9kbG5hbWU9YHNvdXJj
ZSAiJGN1cnJfbGFmaWxlIiAmJiBlY2hvICIkZGxuYW1lImAKCSAgICAgICAg
ICBpZiB0ZXN0IC1uICIkZGxwcmVmaWxlX2RsbmFtZSIgOyB0aGVuCgkgICAg
ICAgICAgICBmdW5jX2Jhc2VuYW1lICIkZGxwcmVmaWxlX2RsbmFtZSIKCSAg
ICAgICAgICAgIGRscHJlZmlsZV9kbGJhc2VuYW1lPSIkZnVuY19iYXNlbmFt
ZV9yZXN1bHQiCgkgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgIyBubyBs
YWZpbGUuIHVzZXIgZXhwbGljaXRseSByZXF1ZXN0ZWQgLWRscHJlb3BlbiA8
aW1wb3J0IGxpYnJhcnk+LgoJICAgICAgICAgICAgJHNoYXJlZGxpYl9mcm9t
X2xpbmtsaWJfY21kICIkZGxwcmVmaWxlIgoJICAgICAgICAgICAgZGxwcmVm
aWxlX2RsYmFzZW5hbWU9JHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0
CgkgICAgICAgICAgZmkKCSAgICAgICAgZmkKCSAgICAgICAgJG9wdF9kcnlf
cnVuIHx8IHsKCSAgICAgICAgICBpZiB0ZXN0IC1uICIkZGxwcmVmaWxlX2Rs
YmFzZW5hbWUiIDsgdGhlbgoJICAgICAgICAgICAgZXZhbCAnJEVDSE8gIjog
JGRscHJlZmlsZV9kbGJhc2VuYW1lIiA+PiAiJG5saXN0IicKCSAgICAgICAg
ICBlbHNlCgkgICAgICAgICAgICBmdW5jX3dhcm5pbmcgIkNvdWxkIG5vdCBj
b21wdXRlIERMTCBuYW1lIGZyb20gJG5hbWUiCgkgICAgICAgICAgICBldmFs
ICckRUNITyAiOiAkbmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICAgICAgIGZp
CgkgICAgICAgICAgZnVuY190b190b29sX2ZpbGUgIiRkbHByZWZpbGUiIGZ1
bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCgkgICAgICAgICAgZXZhbCAi
JE5NIFwiJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdFwiIDI+L2Rldi9udWxs
IHwgJGdsb2JhbF9zeW1ib2xfcGlwZSB8CgkgICAgICAgICAgICAkU0VEIC1l
ICcvSSBfX2ltcC9kJyAtZSAncy9JIF9fbm1fL0QgLztzL19ubV9fLy8nID4+
ICckbmxpc3QnIgoJICAgICAgICB9CgkgICAgICBlbHNlICMgbm90IGFuIGlt
cG9ydCBsaWIKCSAgICAgICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAgICAgICAg
ICBldmFsICckRUNITyAiOiAkbmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICAg
ICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkZGxwcmVmaWxlIiBmdW5jX2NvbnZl
cnRfZmlsZV9tc3lzX3RvX3czMgoJICAgICAgICAgIGV2YWwgIiROTSBcIiRm
dW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHRcIiAyPi9kZXYvbnVsbCB8ICRnbG9i
YWxfc3ltYm9sX3BpcGUgPj4gJyRubGlzdCciCgkgICAgICAgIH0KCSAgICAg
IGZpCgkgICAgOzsKCSAgICAqKQoJICAgICAgJG9wdF9kcnlfcnVuIHx8IHsK
CSAgICAgICAgZXZhbCAnJEVDSE8gIjogJG5hbWUgIiA+PiAiJG5saXN0IicK
CSAgICAgICAgZnVuY190b190b29sX2ZpbGUgIiRkbHByZWZpbGUiIGZ1bmNf
Y29udmVydF9maWxlX21zeXNfdG9fdzMyCgkgICAgICAgIGV2YWwgIiROTSBc
IiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHRcIiAyPi9kZXYvbnVsbCB8ICRn
bG9iYWxfc3ltYm9sX3BpcGUgPj4gJyRubGlzdCciCgkgICAgICB9CgkgICAg
OzsKICAgICAgICAgIGVzYWMKCWRvbmUKCgkkb3B0X2RyeV9ydW4gfHwgewoJ
ICAjIE1ha2Ugc3VyZSB3ZSBoYXZlIGF0IGxlYXN0IGFuIGVtcHR5IGZpbGUu
CgkgIHRlc3QgLWYgIiRubGlzdCIgfHwgOiA+ICIkbmxpc3QiCgoJICBpZiB0
ZXN0IC1uICIkZXhjbHVkZV9leHBzeW1zIjsgdGhlbgoJICAgICRFR1JFUCAt
diAiICgkZXhjbHVkZV9leHBzeW1zKSQiICIkbmxpc3QiID4gIiRubGlzdCJU
CgkgICAgJE1WICIkbmxpc3QiVCAiJG5saXN0IgoJICBmaQoKCSAgIyBUcnkg
c29ydGluZyBhbmQgdW5pcXVpZnlpbmcgdGhlIG91dHB1dC4KCSAgaWYgJEdS
RVAgLXYgIl46ICIgPCAiJG5saXN0IiB8CgkgICAgICBpZiBzb3J0IC1rIDMg
PC9kZXYvbnVsbCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KCQlzb3J0IC1rIDMK
CSAgICAgIGVsc2UKCQlzb3J0ICsyCgkgICAgICBmaSB8CgkgICAgICB1bmlx
ID4gIiRubGlzdCJTOyB0aGVuCgkgICAgOgoJICBlbHNlCgkgICAgJEdSRVAg
LXYgIl46ICIgPCAiJG5saXN0IiA+ICIkbmxpc3QiUwoJICBmaQoKCSAgaWYg
dGVzdCAtZiAiJG5saXN0IlM7IHRoZW4KCSAgICBldmFsICIkZ2xvYmFsX3N5
bWJvbF90b19jZGVjbCInIDwgIiRubGlzdCJTID4+ICIkb3V0cHV0X29iamRp
ci8kbXlfZGxzeW1zIicKCSAgZWxzZQoJICAgIGVjaG8gJy8qIE5PTkUgKi8n
ID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIgoJICBmaQoKCSAgZWNo
byA+PiAiJG91dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKCi8qIFRoZSBt
YXBwaW5nIGJldHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8K
dHlwZWRlZiBzdHJ1Y3QgewogIGNvbnN0IGNoYXIgKm5hbWU7CiAgdm9pZCAq
YWRkcmVzczsKfSBsdF9kbHN5bWxpc3Q7CmV4dGVybiBMVF9ETFNZTV9DT05T
VCBsdF9kbHN5bWxpc3QKbHRfJHtteV9wcmVmaXh9X0xUWF9wcmVsb2FkZWRf
c3ltYm9sc1tdOwpMVF9ETFNZTV9DT05TVCBsdF9kbHN5bWxpc3QKbHRfJHtt
eV9wcmVmaXh9X0xUWF9wcmVsb2FkZWRfc3ltYm9sc1tdID0Ke1wKICB7IFwi
JG15X29yaWdpbmF0b3JcIiwgKHZvaWQgKikgMCB9LCIKCgkgIGNhc2UgJG5l
ZWRfbGliX3ByZWZpeCBpbgoJICBubykKCSAgICBldmFsICIkZ2xvYmFsX3N5
bWJvbF90b19jX25hbWVfYWRkcmVzcyIgPCAiJG5saXN0IiA+PiAiJG91dHB1
dF9vYmpkaXIvJG15X2Rsc3ltcyIKCSAgICA7OwoJICAqKQoJICAgIGV2YWwg
IiRnbG9iYWxfc3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgi
IDwgIiRubGlzdCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCgkg
ICAgOzsKCSAgZXNhYwoJICBlY2hvID4+ICIkb3V0cHV0X29iamRpci8kbXlf
ZGxzeW1zIiAiXAogIHswLCAodm9pZCAqKSAwfQp9OwoKLyogVGhpcyB3b3Jr
cyBhcm91bmQgYSBwcm9ibGVtIGluIEZyZWVCU0QgbGlua2VyICovCiNpZmRl
ZiBGUkVFQlNEX1dPUktBUk9VTkQKc3RhdGljIGNvbnN0IHZvaWQgKmx0X3By
ZWxvYWRlZF9zZXR1cCgpIHsKICByZXR1cm4gbHRfJHtteV9wcmVmaXh9X0xU
WF9wcmVsb2FkZWRfc3ltYm9sczsKfQojZW5kaWYKCiNpZmRlZiBfX2NwbHVz
cGx1cwp9CiNlbmRpZlwKIgoJfSAjICEkb3B0X2RyeV9ydW4KCglwaWNfZmxh
Z19mb3Jfc3ltdGFibGU9CgljYXNlICIkY29tcGlsZV9jb21tYW5kICIgaW4K
CSoiIC1zdGF0aWMgIiopIDs7CgkqKQoJICBjYXNlICRob3N0IGluCgkgICMg
Y29tcGlsaW5nIHRoZSBzeW1ib2wgdGFibGUgZmlsZSB3aXRoIHBpY19mbGFn
IHdvcmtzIGFyb3VuZAoJICAjIGEgRnJlZUJTRCBidWcgdGhhdCBjYXVzZXMg
cHJvZ3JhbXMgdG8gY3Jhc2ggd2hlbiAtbG0gaXMKCSAgIyBsaW5rZWQgYmVm
b3JlIGFueSBvdGhlciBQSUMgb2JqZWN0LiAgQnV0IHdlIG11c3Qgbm90IHVz
ZQoJICAjIHBpY19mbGFnIHdoZW4gbGlua2luZyB3aXRoIC1zdGF0aWMuICBU
aGUgcHJvYmxlbSBleGlzdHMgaW4KCSAgIyBGcmVlQlNEIDIuMi42IGFuZCBp
cyBmaXhlZCBpbiBGcmVlQlNEIDMuMS4KCSAgKi0qLWZyZWVic2QyKnwqLSot
ZnJlZWJzZDMuMCp8Ki0qLWZyZWVic2RlbGYzLjAqKQoJICAgIHBpY19mbGFn
X2Zvcl9zeW10YWJsZT0iICRwaWNfZmxhZyAtREZSRUVCU0RfV09SS0FST1VO
RCIgOzsKCSAgKi0qLWhwdXgqKQoJICAgIHBpY19mbGFnX2Zvcl9zeW10YWJs
ZT0iICRwaWNfZmxhZyIgIDs7CgkgICopCgkgICAgaWYgdGVzdCAiWCRteV9w
aWNfcCIgIT0gWG5vOyB0aGVuCgkgICAgICBwaWNfZmxhZ19mb3Jfc3ltdGFi
bGU9IiAkcGljX2ZsYWciCgkgICAgZmkKCSAgICA7OwoJICBlc2FjCgkgIDs7
Cgllc2FjCglzeW10YWJfY2ZsYWdzPQoJZm9yIGFyZyBpbiAkTFRDRkxBR1M7
IGRvCgkgIGNhc2UgJGFyZyBpbgoJICAtcGllIHwgLWZwaWUgfCAtZlBJRSkg
OzsKCSAgKikgc3ltdGFiX2NmbGFncys9IiAkYXJnIiA7OwoJICBlc2FjCglk
b25lCgoJIyBOb3cgY29tcGlsZSB0aGUgZHluYW1pYyBzeW1ib2wgZmlsZS4K
CWZ1bmNfc2hvd19ldmFsICcoY2QgJG91dHB1dF9vYmpkaXIgJiYgJExUQ0Mk
c3ltdGFiX2NmbGFncyAtYyRub19idWlsdGluX2ZsYWckcGljX2ZsYWdfZm9y
X3N5bXRhYmxlICIkbXlfZGxzeW1zIiknICdleGl0ICQ/JwoKCSMgQ2xlYW4g
dXAgdGhlIGdlbmVyYXRlZCBmaWxlcy4KCWZ1bmNfc2hvd19ldmFsICckUk0g
IiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICIkbmxpc3QiICIke25saXN0
fVMiICIke25saXN0fVQiJwoKCSMgVHJhbnNmb3JtIHRoZSBzeW1ib2wgZmls
ZSBpbnRvIHRoZSBjb3JyZWN0IG5hbWUuCglzeW1maWxlb2JqPSIkb3V0cHV0
X29iamRpci8ke215X291dHB1dG5hbWV9Uy4kb2JqZXh0IgoJY2FzZSAkaG9z
dCBpbgoJKmN5Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiApCgkgIGlmIHRl
c3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRteV9vdXRwdXRuYW1lLmRlZiI7IHRo
ZW4KCSAgICBjb21waWxlX2NvbW1hbmQ9YCRFQ0hPICIkY29tcGlsZV9jb21t
YW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRvdXRwdXRfb2JqZGlyLyRteV9v
dXRwdXRuYW1lLmRlZiAkc3ltZmlsZW9iaiUiYAoJICAgIGZpbmFsaXplX2Nv
bW1hbmQ9YCRFQ0hPICIkZmluYWxpemVfY29tbWFuZCIgfCAkU0VEICJzJUBT
WU1GSUxFQCUkb3V0cHV0X29iamRpci8kbXlfb3V0cHV0bmFtZS5kZWYgJHN5
bWZpbGVvYmolImAKCSAgZWxzZQoJICAgIGNvbXBpbGVfY29tbWFuZD1gJEVD
SE8gIiRjb21waWxlX2NvbW1hbmQiIHwgJFNFRCAicyVAU1lNRklMRUAlJHN5
bWZpbGVvYmolImAKCSAgICBmaW5hbGl6ZV9jb21tYW5kPWAkRUNITyAiJGZp
bmFsaXplX2NvbW1hbmQiIHwgJFNFRCAicyVAU1lNRklMRUAlJHN5bWZpbGVv
YmolImAKCSAgZmkKCSAgOzsKCSopCgkgIGNvbXBpbGVfY29tbWFuZD1gJEVD
SE8gIiRjb21waWxlX2NvbW1hbmQiIHwgJFNFRCAicyVAU1lNRklMRUAlJHN5
bWZpbGVvYmolImAKCSAgZmluYWxpemVfY29tbWFuZD1gJEVDSE8gIiRmaW5h
bGl6ZV9jb21tYW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRzeW1maWxlb2Jq
JSJgCgkgIDs7Cgllc2FjCgk7OwogICAgICAqKQoJZnVuY19mYXRhbF9lcnJv
ciAidW5rbm93biBzdWZmaXggZm9yIFxgJG15X2Rsc3ltcyciCgk7OwogICAg
ICBlc2FjCiAgICBlbHNlCiAgICAgICMgV2Uga2VlcCBnb2luZyBqdXN0IGlu
IGNhc2UgdGhlIHVzZXIgZGlkbid0IHJlZmVyIHRvCiAgICAgICMgbHRfcHJl
bG9hZGVkX3N5bWJvbHMuICBUaGUgbGlua2VyIHdpbGwgZmFpbCBpZiBnbG9i
YWxfc3ltYm9sX3BpcGUKICAgICAgIyByZWFsbHkgd2FzIHJlcXVpcmVkLgoK
ICAgICAgIyBOdWxsaWZ5IHRoZSBzeW1ib2wgZmlsZS4KICAgICAgY29tcGls
ZV9jb21tYW5kPWAkRUNITyAiJGNvbXBpbGVfY29tbWFuZCIgfCAkU0VEICJz
JSBAU1lNRklMRUAlJSJgCiAgICAgIGZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hP
ICIkZmluYWxpemVfY29tbWFuZCIgfCAkU0VEICJzJSBAU1lNRklMRUAlJSJg
CiAgICBmaQp9CgojIGZ1bmNfd2luMzJfbGliaWQgYXJnCiMgcmV0dXJuIHRo
ZSBsaWJyYXJ5IHR5cGUgb2YgZmlsZSAnYXJnJwojCiMgTmVlZCBhIGxvdCBv
ZiBnb28gdG8gaGFuZGxlICpib3RoKiBETExzIGFuZCBpbXBvcnQgbGlicwoj
IEhhcyB0byBiZSBhIHNoZWxsIGZ1bmN0aW9uIGluIG9yZGVyIHRvICdlYXQn
IHRoZSBhcmd1bWVudAojIHRoYXQgaXMgc3VwcGxpZWQgd2hlbiAkZmlsZV9t
YWdpY19jb21tYW5kIGlzIGNhbGxlZC4KIyBEZXNwaXRlIHRoZSBuYW1lLCBh
bHNvIGRlYWwgd2l0aCA2NCBiaXQgYmluYXJpZXMuCmZ1bmNfd2luMzJfbGli
aWQgKCkKewogICRvcHRfZGVidWcKICB3aW4zMl9saWJpZF90eXBlPSJ1bmtu
b3duIgogIHdpbjMyX2ZpbGVyZXM9YGZpbGUgLUwgJDEgMj4vZGV2L251bGxg
CiAgY2FzZSAkd2luMzJfZmlsZXJlcyBpbgogICphclwgYXJjaGl2ZVwgaW1w
b3J0XCBsaWJyYXJ5KikgIyBkZWZpbml0ZWx5IGltcG9ydAogICAgd2luMzJf
bGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0IgogICAgOzsKICAqYXJc
IGFyY2hpdmUqKSAjIGNvdWxkIGJlIGFuIGltcG9ydCwgb3Igc3RhdGljCiAg
ICAjIEtlZXAgdGhlIGVncmVwIHBhdHRlcm4gaW4gc3luYyB3aXRoIHRoZSBv
bmUgaW4gX0xUX0NIRUNLX01BR0lDX01FVEhPRC4KICAgIGlmIGV2YWwgJE9C
SkRVTVAgLWYgJDEgfCAkU0VEIC1lICcxMHEnIDI+L2Rldi9udWxsIHwKICAg
ICAgICRFR1JFUCAnZmlsZSBmb3JtYXQgKHBlaSotaTM4NiguKmFyY2hpdGVj
dHVyZTogaTM4Nik/fHBlLWFybS13aW5jZXxwZS14ODYtNjQpJyA+L2Rldi9u
dWxsOyB0aGVuCiAgICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkMSIgZnVuY19j
b252ZXJ0X2ZpbGVfbXN5c190b193MzIKICAgICAgd2luMzJfbm1yZXM9YGV2
YWwgJE5NIC1mIHBvc2l4IC1BIFwiJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3Vs
dFwiIHwKCSRTRUQgLW4gLWUgJwoJICAgIDEsMTAwewoJCS8gSSAvewoJCSAg
ICBzLC4qLGltcG9ydCwKCQkgICAgcAoJCSAgICBxCgkJfQoJICAgIH0nYAog
ICAgICBjYXNlICR3aW4zMl9ubXJlcyBpbgogICAgICBpbXBvcnQqKSAgd2lu
MzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgaW1wb3J0Ijs7CiAgICAgICop
ICAgICAgICB3aW4zMl9saWJpZF90eXBlPSJ4ODYgYXJjaGl2ZSBzdGF0aWMi
OzsKICAgICAgZXNhYwogICAgZmkKICAgIDs7CiAgKkRMTCopCiAgICB3aW4z
Ml9saWJpZF90eXBlPSJ4ODYgRExMIgogICAgOzsKICAqZXhlY3V0YWJsZSop
ICMgYnV0IHNoZWxsIHNjcmlwdHMgYXJlICJleGVjdXRhYmxlIiB0b28uLi4K
ICAgIGNhc2UgJHdpbjMyX2ZpbGVyZXMgaW4KICAgICpNU1wgV2luZG93c1wg
UEVcIEludGVsKikKICAgICAgd2luMzJfbGliaWRfdHlwZT0ieDg2IERMTCIK
ICAgICAgOzsKICAgIGVzYWMKICAgIDs7CiAgZXNhYwogICRFQ0hPICIkd2lu
MzJfbGliaWRfdHlwZSIKfQoKIyBmdW5jX2N5Z21pbmdfZGxsX2Zvcl9pbXBs
aWIgQVJHCiMKIyBQbGF0Zm9ybS1zcGVjaWZpYyBmdW5jdGlvbiB0byBleHRy
YWN0IHRoZQojIG5hbWUgb2YgdGhlIERMTCBhc3NvY2lhdGVkIHdpdGggdGhl
IHNwZWNpZmllZAojIGltcG9ydCBsaWJyYXJ5IEFSRy4KIyBJbnZva2VkIGJ5
IGV2YWwnaW5nIHRoZSBsaWJ0b29sIHZhcmlhYmxlCiMgICAgJHNoYXJlZGxp
Yl9mcm9tX2xpbmtsaWJfY21kCiMgUmVzdWx0IGlzIGF2YWlsYWJsZSBpbiB0
aGUgdmFyaWFibGUKIyAgICAkc2hhcmVkbGliX2Zyb21fbGlua2xpYl9yZXN1
bHQKZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliICgpCnsKICAkb3B0X2Rl
YnVnCiAgc2hhcmVkbGliX2Zyb21fbGlua2xpYl9yZXN1bHQ9YCRETExUT09M
IC0taWRlbnRpZnktc3RyaWN0IC0taWRlbnRpZnkgIiQxImAKfQoKIyBmdW5j
X2N5Z21pbmdfZGxsX2Zvcl9pbXBsaWJfZmFsbGJhY2tfY29yZSBTRUNUSU9O
X05BTUUgTElCTkFNRXMKIwojIFRoZSBpcyB0aGUgY29yZSBvZiBhIGZhbGxi
YWNrIGltcGxlbWVudGF0aW9uIG9mIGEKIyBwbGF0Zm9ybS1zcGVjaWZpYyBm
dW5jdGlvbiB0byBleHRyYWN0IHRoZSBuYW1lIG9mIHRoZQojIERMTCBhc3Nv
Y2lhdGVkIHdpdGggdGhlIHNwZWNpZmllZCBpbXBvcnQgbGlicmFyeSBMSUJO
QU1FLgojCiMgU0VDVElPTl9OQU1FIGlzIGVpdGhlciAuaWRhdGEkNiBvciAu
aWRhdGEkNywgZGVwZW5kaW5nCiMgb24gdGhlIHBsYXRmb3JtIGFuZCBjb21w
aWxlciB0aGF0IGNyZWF0ZWQgdGhlIGltcGxpYi4KIwojIEVjaG9zIHRoZSBu
YW1lIG9mIHRoZSBETEwgYXNzb2NpYXRlZCB3aXRoIHRoZQojIHNwZWNpZmll
ZCBpbXBvcnQgbGlicmFyeS4KZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGli
X2ZhbGxiYWNrX2NvcmUgKCkKewogICRvcHRfZGVidWcKICBtYXRjaF9saXRl
cmFsPWAkRUNITyAiJDEiIHwgJFNFRCAiJHNlZF9tYWtlX2xpdGVyYWxfcmVn
ZXgiYAogICRPQkpEVU1QIC1zIC0tc2VjdGlvbiAiJDEiICIkMiIgMj4vZGV2
L251bGwgfAogICAgJFNFRCAnL15Db250ZW50cyBvZiBzZWN0aW9uICciJG1h
dGNoX2xpdGVyYWwiJzovewogICAgICAjIFBsYWNlIG1hcmtlciBhdCBiZWdp
bm5pbmcgb2YgYXJjaGl2ZSBtZW1iZXIgZGxsbmFtZSBzZWN0aW9uCiAgICAg
IHMvLiovPT09PU1BUks9PT09LwogICAgICBwCiAgICAgIGQKICAgIH0KICAg
ICMgVGhlc2UgbGluZXMgY2FuIHNvbWV0aW1lcyBiZSBsb25nZXIgdGhhbiA0
MyBjaGFyYWN0ZXJzLCBidXQKICAgICMgYXJlIGFsd2F5cyB1bmludGVyZXN0
aW5nCiAgICAvOlsJIF0qZmlsZSBmb3JtYXQgcGVbaV1ceywxXH0tL2QKICAg
IC9eSW4gYXJjaGl2ZSBbXjpdKjovZAogICAgIyBFbnN1cmUgbWFya2VyIGlz
IHByaW50ZWQKICAgIC9ePT09PU1BUks9PT09L3AKICAgICMgUmVtb3ZlIGFs
bCBsaW5lcyB3aXRoIGxlc3MgdGhhbiA0MyBjaGFyYWN0ZXJzCiAgICAvXi5c
ezQzXH0vIWQKICAgICMgRnJvbSByZW1haW5pbmcgbGluZXMsIHJlbW92ZSBm
aXJzdCA0MyBjaGFyYWN0ZXJzCiAgICBzL14uXHs0M1x9Ly8nIHwKICAgICRT
RUQgLW4gJwogICAgICAjIEpvaW4gbWFya2VyIGFuZCBhbGwgbGluZXMgdW50
aWwgbmV4dCBtYXJrZXIgaW50byBhIHNpbmdsZSBsaW5lCiAgICAgIC9ePT09
PU1BUks9PT09LyBiIHBhcmEKICAgICAgSAogICAgICAkIGIgcGFyYQogICAg
ICBiCiAgICAgIDpwYXJhCiAgICAgIHgKICAgICAgcy9cbi8vZwogICAgICAj
IFJlbW92ZSB0aGUgbWFya2VyCiAgICAgIHMvXj09PT1NQVJLPT09PS8vCiAg
ICAgICMgUmVtb3ZlIHRyYWlsaW5nIGRvdHMgYW5kIHdoaXRlc3BhY2UKICAg
ICAgcy9bXC4gXHRdKiQvLwogICAgICAjIFByaW50CiAgICAgIC8uL3AnIHwK
ICAgICMgd2Ugbm93IGhhdmUgYSBsaXN0LCBvbmUgZW50cnkgcGVyIGxpbmUs
IG9mIHRoZSBzdHJpbmdpZmllZAogICAgIyBjb250ZW50cyBvZiB0aGUgYXBw
cm9wcmlhdGUgc2VjdGlvbiBvZiBhbGwgbWVtYmVycyBvZiB0aGUKICAgICMg
YXJjaGl2ZSB3aGljaCBwb3NzZXNzIHRoYXQgc2VjdGlvbi4gSGV1cmlzdGlj
OiBlbGltaW5hdGUKICAgICMgYWxsIHRob3NlIHdoaWNoIGhhdmUgYSBmaXJz
dCBvciBzZWNvbmQgY2hhcmFjdGVyIHRoYXQgaXMKICAgICMgYSAnLicgKHRo
YXQgaXMsIG9iamR1bXAncyByZXByZXNlbnRhdGlvbiBvZiBhbiB1bnByaW50
YWJsZQogICAgIyBjaGFyYWN0ZXIuKSBUaGlzIHNob3VsZCB3b3JrIGZvciBh
bGwgYXJjaGl2ZXMgd2l0aCBsZXNzIHRoYW4KICAgICMgMHgzMDJmIGV4cG9y
dHMgLS0gYnV0IHdpbGwgZmFpbCBmb3IgRExMcyB3aG9zZSBuYW1lIGFjdHVh
bGx5CiAgICAjIGJlZ2lucyB3aXRoIGEgbGl0ZXJhbCAnLicgb3IgYSBzaW5n
bGUgY2hhcmFjdGVyIGZvbGxvd2VkIGJ5CiAgICAjIGEgJy4nLgogICAgIwog
ICAgIyBPZiB0aG9zZSB0aGF0IHJlbWFpbiwgcHJpbnQgdGhlIGZpcnN0IG9u
ZS4KICAgICRTRUQgLWUgJy9eXC4vZDsvXi5cLi9kO3EnCn0KCiMgZnVuY19j
eWdtaW5nX2dudV9pbXBsaWJfcCBBUkcKIyBUaGlzIHByZWRpY2F0ZSByZXR1
cm5zIHdpdGggemVybyBzdGF0dXMgKFRSVUUpIGlmCiMgQVJHIGlzIGEgR05V
L2JpbnV0aWxzLXN0eWxlIGltcG9ydCBsaWJyYXJ5LiBSZXR1cm5zCiMgd2l0
aCBub256ZXJvIHN0YXR1cyAoRkFMU0UpIG90aGVyd2lzZS4KZnVuY19jeWdt
aW5nX2dudV9pbXBsaWJfcCAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9f
dG9vbF9maWxlICIkMSIgZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIK
ICBmdW5jX2N5Z21pbmdfZ251X2ltcGxpYl90bXA9YCROTSAiJGZ1bmNfdG9f
dG9vbF9maWxlX3Jlc3VsdCIgfCBldmFsICIkZ2xvYmFsX3N5bWJvbF9waXBl
IiB8ICRFR1JFUCAnIChfaGVhZF9bQS1aYS16MC05X10rX1thZF1sKnxbQS1a
YS16MC05X10rX1thZF1sKl9pbmFtZSkkJ2AKICB0ZXN0IC1uICIkZnVuY19j
eWdtaW5nX2dudV9pbXBsaWJfdG1wIgp9CgojIGZ1bmNfY3lnbWluZ19tc19p
bXBsaWJfcCBBUkcKIyBUaGlzIHByZWRpY2F0ZSByZXR1cm5zIHdpdGggemVy
byBzdGF0dXMgKFRSVUUpIGlmCiMgQVJHIGlzIGFuIE1TLXN0eWxlIGltcG9y
dCBsaWJyYXJ5LiBSZXR1cm5zCiMgd2l0aCBub256ZXJvIHN0YXR1cyAoRkFM
U0UpIG90aGVyd2lzZS4KZnVuY19jeWdtaW5nX21zX2ltcGxpYl9wICgpCnsK
ICAkb3B0X2RlYnVnCiAgZnVuY190b190b29sX2ZpbGUgIiQxIiBmdW5jX2Nv
bnZlcnRfZmlsZV9tc3lzX3RvX3czMgogIGZ1bmNfY3lnbWluZ19tc19pbXBs
aWJfdG1wPWAkTk0gIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiIHwgZXZh
bCAiJGdsb2JhbF9zeW1ib2xfcGlwZSIgfCAkR1JFUCAnX05VTExfSU1QT1JU
X0RFU0NSSVBUT1InYAogIHRlc3QgLW4gIiRmdW5jX2N5Z21pbmdfbXNfaW1w
bGliX3RtcCIKfQoKIyBmdW5jX2N5Z21pbmdfZGxsX2Zvcl9pbXBsaWJfZmFs
bGJhY2sgQVJHCiMgUGxhdGZvcm0tc3BlY2lmaWMgZnVuY3Rpb24gdG8gZXh0
cmFjdCB0aGUKIyBuYW1lIG9mIHRoZSBETEwgYXNzb2NpYXRlZCB3aXRoIHRo
ZSBzcGVjaWZpZWQKIyBpbXBvcnQgbGlicmFyeSBBUkcuCiMKIyBUaGlzIGZh
bGxiYWNrIGltcGxlbWVudGF0aW9uIGlzIGZvciB1c2Ugd2hlbiAkRExMVE9P
TAojIGRvZXMgbm90IHN1cHBvcnQgdGhlIC0taWRlbnRpZnktc3RyaWN0IG9w
dGlvbi4KIyBJbnZva2VkIGJ5IGV2YWwnaW5nIHRoZSBsaWJ0b29sIHZhcmlh
YmxlCiMgICAgJHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfY21kCiMgUmVzdWx0
IGlzIGF2YWlsYWJsZSBpbiB0aGUgdmFyaWFibGUKIyAgICAkc2hhcmVkbGli
X2Zyb21fbGlua2xpYl9yZXN1bHQKZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1w
bGliX2ZhbGxiYWNrICgpCnsKICAkb3B0X2RlYnVnCiAgaWYgZnVuY19jeWdt
aW5nX2dudV9pbXBsaWJfcCAiJDEiIDsgdGhlbgogICAgIyBiaW51dGlscyBp
bXBvcnQgbGlicmFyeQogICAgc2hhcmVkbGliX2Zyb21fbGlua2xpYl9yZXN1
bHQ9YGZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYl9mYWxsYmFja19jb3Jl
ICcuaWRhdGEkNycgIiQxImAKICBlbGlmIGZ1bmNfY3lnbWluZ19tc19pbXBs
aWJfcCAiJDEiIDsgdGhlbgogICAgIyBtcy1nZW5lcmF0ZWQgaW1wb3J0IGxp
YnJhcnkKICAgIHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0PWBmdW5j
X2N5Z21pbmdfZGxsX2Zvcl9pbXBsaWJfZmFsbGJhY2tfY29yZSAnLmlkYXRh
JDYnICIkMSJgCiAgZWxzZQogICAgIyB1bmtub3duCiAgICBzaGFyZWRsaWJf
ZnJvbV9saW5rbGliX3Jlc3VsdD0iIgogIGZpCn0KCgojIGZ1bmNfZXh0cmFj
dF9hbl9hcmNoaXZlIGRpciBvbGRsaWIKZnVuY19leHRyYWN0X2FuX2FyY2hp
dmUgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgZl9leF9hbl9hcl9kaXI9IiQx
Ijsgc2hpZnQKICAgIGZfZXhfYW5fYXJfb2xkbGliPSIkMSIKICAgIGlmIHRl
c3QgIiRsb2NrX29sZF9hcmNoaXZlX2V4dHJhY3Rpb24iID0geWVzOyB0aGVu
CiAgICAgIGxvY2tmaWxlPSRmX2V4X2FuX2FyX29sZGxpYi5sb2NrCiAgICAg
IHVudGlsICRvcHRfZHJ5X3J1biB8fCBsbiAiJHByb2dwYXRoIiAiJGxvY2tm
aWxlIiAyPi9kZXYvbnVsbDsgZG8KCWZ1bmNfZWNobyAiV2FpdGluZyBmb3Ig
JGxvY2tmaWxlIHRvIGJlIHJlbW92ZWQiCglzbGVlcCAyCiAgICAgIGRvbmUK
ICAgIGZpCiAgICBmdW5jX3Nob3dfZXZhbCAiKGNkIFwkZl9leF9hbl9hcl9k
aXIgJiYgJEFSIHggXCJcJGZfZXhfYW5fYXJfb2xkbGliXCIpIiBcCgkJICAg
J3N0YXQ9JD87IHJtIC1mICIkbG9ja2ZpbGUiOyBleGl0ICRzdGF0JwogICAg
aWYgdGVzdCAiJGxvY2tfb2xkX2FyY2hpdmVfZXh0cmFjdGlvbiIgPSB5ZXM7
IHRoZW4KICAgICAgJG9wdF9kcnlfcnVuIHx8IHJtIC1mICIkbG9ja2ZpbGUi
CiAgICBmaQogICAgaWYgKCRBUiB0ICIkZl9leF9hbl9hcl9vbGRsaWIiIHwg
c29ydCB8IHNvcnQgLXVjID4vZGV2L251bGwgMj4mMSk7IHRoZW4KICAgICA6
CiAgICBlbHNlCiAgICAgIGZ1bmNfZmF0YWxfZXJyb3IgIm9iamVjdCBuYW1l
IGNvbmZsaWN0cyBpbiBhcmNoaXZlOiAkZl9leF9hbl9hcl9kaXIvJGZfZXhf
YW5fYXJfb2xkbGliIgogICAgZmkKfQoKCiMgZnVuY19leHRyYWN0X2FyY2hp
dmVzIGdlbnRvcCBvbGRsaWIgLi4uCmZ1bmNfZXh0cmFjdF9hcmNoaXZlcyAo
KQp7CiAgICAkb3B0X2RlYnVnCiAgICBteV9nZW50b3A9IiQxIjsgc2hpZnQK
ICAgIG15X29sZGxpYnM9JHsxKyIkQCJ9CiAgICBteV9vbGRvYmpzPSIiCiAg
ICBteV94bGliPSIiCiAgICBteV94YWJzPSIiCiAgICBteV94ZGlyPSIiCgog
ICAgZm9yIG15X3hsaWIgaW4gJG15X29sZGxpYnM7IGRvCiAgICAgICMgRXh0
cmFjdCB0aGUgb2JqZWN0cy4KICAgICAgY2FzZSAkbXlfeGxpYiBpbgoJW1xc
L10qIHwgW0EtWmEtel06W1xcL10qKSBteV94YWJzPSIkbXlfeGxpYiIgOzsK
CSopIG15X3hhYnM9YHB3ZGAiLyRteV94bGliIiA7OwogICAgICBlc2FjCiAg
ICAgIGZ1bmNfYmFzZW5hbWUgIiRteV94bGliIgogICAgICBteV94bGliPSIk
ZnVuY19iYXNlbmFtZV9yZXN1bHQiCiAgICAgIG15X3hsaWJfdT0kbXlfeGxp
YgogICAgICB3aGlsZSA6OyBkbwogICAgICAgIGNhc2UgIiAkZXh0cmFjdGVk
X2FyY2hpdmVzICIgaW4KCSoiICRteV94bGliX3UgIiopCgkgIGZ1bmNfYXJp
dGggJGV4dHJhY3RlZF9zZXJpYWwgKyAxCgkgIGV4dHJhY3RlZF9zZXJpYWw9
JGZ1bmNfYXJpdGhfcmVzdWx0CgkgIG15X3hsaWJfdT1sdCRleHRyYWN0ZWRf
c2VyaWFsLSRteV94bGliIDs7CgkqKSBicmVhayA7OwoJZXNhYwogICAgICBk
b25lCiAgICAgIGV4dHJhY3RlZF9hcmNoaXZlcz0iJGV4dHJhY3RlZF9hcmNo
aXZlcyAkbXlfeGxpYl91IgogICAgICBteV94ZGlyPSIkbXlfZ2VudG9wLyRt
eV94bGliX3UiCgogICAgICBmdW5jX21rZGlyX3AgIiRteV94ZGlyIgoKICAg
ICAgY2FzZSAkaG9zdCBpbgogICAgICAqLWRhcndpbiopCglmdW5jX3ZlcmJv
c2UgIkV4dHJhY3RpbmcgJG15X3hhYnMiCgkjIERvIG5vdCBib3RoZXIgZG9p
bmcgYW55dGhpbmcgaWYganVzdCBhIGRyeSBydW4KCSRvcHRfZHJ5X3J1biB8
fCB7CgkgIGRhcndpbl9vcmlnX2Rpcj1gcHdkYAoJICBjZCAkbXlfeGRpciB8
fCBleGl0ICQ/CgkgIGRhcndpbl9hcmNoaXZlPSRteV94YWJzCgkgIGRhcndp
bl9jdXJkaXI9YHB3ZGAKCSAgZGFyd2luX2Jhc2VfYXJjaGl2ZT1gYmFzZW5h
bWUgIiRkYXJ3aW5fYXJjaGl2ZSJgCgkgIGRhcndpbl9hcmNoZXM9YCRMSVBP
IC1pbmZvICIkZGFyd2luX2FyY2hpdmUiIDI+L2Rldi9udWxsIHwgJEdSRVAg
QXJjaGl0ZWN0dXJlcyAyPi9kZXYvbnVsbCB8fCB0cnVlYAoJICBpZiB0ZXN0
IC1uICIkZGFyd2luX2FyY2hlcyI7IHRoZW4KCSAgICBkYXJ3aW5fYXJjaGVz
PWAkRUNITyAiJGRhcndpbl9hcmNoZXMiIHwgJFNFRCAtZSAncy8uKmFyZTov
LydgCgkgICAgZGFyd2luX2FyY2g9CgkgICAgZnVuY192ZXJib3NlICIkZGFy
d2luX2Jhc2VfYXJjaGl2ZSBoYXMgbXVsdGlwbGUgYXJjaGl0ZWN0dXJlcyAk
ZGFyd2luX2FyY2hlcyIKCSAgICBmb3IgZGFyd2luX2FyY2ggaW4gICRkYXJ3
aW5fYXJjaGVzIDsgZG8KCSAgICAgIGZ1bmNfbWtkaXJfcCAidW5mYXQtJCQv
JHtkYXJ3aW5fYmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofSIKCSAgICAg
ICRMSVBPIC10aGluICRkYXJ3aW5fYXJjaCAtb3V0cHV0ICJ1bmZhdC0kJC8k
e2Rhcndpbl9iYXNlX2FyY2hpdmV9LSR7ZGFyd2luX2FyY2h9LyR7ZGFyd2lu
X2Jhc2VfYXJjaGl2ZX0iICIke2Rhcndpbl9hcmNoaXZlfSIKCSAgICAgIGNk
ICJ1bmZhdC0kJC8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9LSR7ZGFyd2luX2Fy
Y2h9IgoJICAgICAgZnVuY19leHRyYWN0X2FuX2FyY2hpdmUgImBwd2RgIiAi
JHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIKCSAgICAgIGNkICIkZGFyd2luX2N1
cmRpciIKCSAgICAgICRSTSAidW5mYXQtJCQvJHtkYXJ3aW5fYmFzZV9hcmNo
aXZlfS0ke2Rhcndpbl9hcmNofS8ke2Rhcndpbl9iYXNlX2FyY2hpdmV9IgoJ
ICAgIGRvbmUgIyAkZGFyd2luX2FyY2hlcwogICAgICAgICAgICAjIyBPa2F5
IG5vdyB3ZSd2ZSBhIGJ1bmNoIG9mIHRoaW4gb2JqZWN0cywgZ290dGEgZmF0
dGVuIHRoZW0gdXAgOikKCSAgICBkYXJ3aW5fZmlsZWxpc3Q9YGZpbmQgdW5m
YXQtJCQgLXR5cGUgZiAtbmFtZSBcKi5vIC1wcmludCAtbyAtbmFtZSBcKi5s
byAtcHJpbnQgfCAkU0VEIC1lICIkYmFzZW5hbWUiIHwgc29ydCAtdWAKCSAg
ICBkYXJ3aW5fZmlsZT0KCSAgICBkYXJ3aW5fZmlsZXM9CgkgICAgZm9yIGRh
cndpbl9maWxlIGluICRkYXJ3aW5fZmlsZWxpc3Q7IGRvCgkgICAgICBkYXJ3
aW5fZmlsZXM9YGZpbmQgdW5mYXQtJCQgLW5hbWUgJGRhcndpbl9maWxlIC1w
cmludCB8IHNvcnQgfCAkTkwyU1BgCgkgICAgICAkTElQTyAtY3JlYXRlIC1v
dXRwdXQgIiRkYXJ3aW5fZmlsZSIgJGRhcndpbl9maWxlcwoJICAgIGRvbmUg
IyAkZGFyd2luX2ZpbGVsaXN0CgkgICAgJFJNIC1yZiB1bmZhdC0kJAoJICAg
IGNkICIkZGFyd2luX29yaWdfZGlyIgoJICBlbHNlCgkgICAgY2QgJGRhcndp
bl9vcmlnX2RpcgoJICAgIGZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlICIkbXlf
eGRpciIgIiRteV94YWJzIgoJICBmaSAjICRkYXJ3aW5fYXJjaGVzCgl9ICMg
ISRvcHRfZHJ5X3J1bgoJOzsKICAgICAgKikKICAgICAgICBmdW5jX2V4dHJh
Y3RfYW5fYXJjaGl2ZSAiJG15X3hkaXIiICIkbXlfeGFicyIKCTs7CiAgICAg
IGVzYWMKICAgICAgbXlfb2xkb2Jqcz0iJG15X29sZG9ianMgImBmaW5kICRt
eV94ZGlyIC1uYW1lIFwqLiRvYmpleHQgLXByaW50IC1vIC1uYW1lIFwqLmxv
IC1wcmludCB8IHNvcnQgfCAkTkwyU1BgCiAgICBkb25lCgogICAgZnVuY19l
eHRyYWN0X2FyY2hpdmVzX3Jlc3VsdD0iJG15X29sZG9ianMiCn0KCgojIGZ1
bmNfZW1pdF93cmFwcGVyIFthcmc9bm9dCiMKIyBFbWl0IGEgbGlidG9vbCB3
cmFwcGVyIHNjcmlwdCBvbiBzdGRvdXQuCiMgRG9uJ3QgZGlyZWN0bHkgb3Bl
biBhIGZpbGUgYmVjYXVzZSB3ZSBtYXkgd2FudCB0bwojIGluY29ycG9yYXRl
IHRoZSBzY3JpcHQgY29udGVudHMgd2l0aGluIGEgY3lnd2luL21pbmd3CiMg
d3JhcHBlciBleGVjdXRhYmxlLiAgTXVzdCBPTkxZIGJlIGNhbGxlZCBmcm9t
IHdpdGhpbgojIGZ1bmNfbW9kZV9saW5rIGJlY2F1c2UgaXQgZGVwZW5kcyBv
biBhIG51bWJlciBvZiB2YXJpYWJsZXMKIyBzZXQgdGhlcmVpbi4KIwojIEFS
RyBpcyB0aGUgdmFsdWUgdGhhdCB0aGUgV1JBUFBFUl9TQ1JJUFRfQkVMT05H
U19JTl9PQkpESVIKIyB2YXJpYWJsZSB3aWxsIHRha2UuICBJZiAneWVzJywg
dGhlbiB0aGUgZW1pdHRlZCBzY3JpcHQKIyB3aWxsIGFzc3VtZSB0aGF0IHRo
ZSBkaXJlY3RvcnkgaW4gd2hpY2ggaXQgaXMgc3RvcmVkIGlzCiMgdGhlICRv
YmpkaXIgZGlyZWN0b3J5LiAgVGhpcyBpcyBhIGN5Z3dpbi9taW5ndy1zcGVj
aWZpYwojIGJlaGF2aW9yLgpmdW5jX2VtaXRfd3JhcHBlciAoKQp7CglmdW5j
X2VtaXRfd3JhcHBlcl9hcmcxPSR7MS1ub30KCgkkRUNITyAiXAojISAkU0hF
TEwKCiMgJG91dHB1dCAtIHRlbXBvcmFyeSB3cmFwcGVyIHNjcmlwdCBmb3Ig
JG9iamRpci8kb3V0cHV0bmFtZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAo
R05VICRQQUNLQUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KIwojIFRoZSAkb3V0
cHV0IHByb2dyYW0gY2Fubm90IGJlIGRpcmVjdGx5IGV4ZWN1dGVkIHVudGls
IGFsbCB0aGUgbGlidG9vbAojIGxpYnJhcmllcyB0aGF0IGl0IGRlcGVuZHMg
b24gYXJlIGluc3RhbGxlZC4KIwojIFRoaXMgd3JhcHBlciBzY3JpcHQgc2hv
dWxkIG5ldmVyIGJlIG1vdmVkIG91dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5
LgojIElmIGl0IGlzLCBpdCB3aWxsIG5vdCBvcGVyYXRlIGNvcnJlY3RseS4K
CiMgU2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBzIHVzIGRvIHJvYnVzdCBx
dW90aW5nLiAgSXQgYmFja3NsYXNoaWZpZXMKIyBtZXRhY2hhcmFjdGVycyB0
aGF0IGFyZSBzdGlsbCBhY3RpdmUgd2l0aGluIGRvdWJsZS1xdW90ZWQgc3Ry
aW5ncy4Kc2VkX3F1b3RlX3N1YnN0PSckc2VkX3F1b3RlX3N1YnN0JwoKIyBC
ZSBCb3VybmUgY29tcGF0aWJsZQppZiB0ZXN0IC1uIFwiXCR7WlNIX1ZFUlNJ
T04rc2V0fVwiICYmIChlbXVsYXRlIHNoKSA+L2Rldi9udWxsIDI+JjE7IHRo
ZW4KICBlbXVsYXRlIHNoCiAgTlVMTENNRD06CiAgIyBac2ggMy54IGFuZCA0
LnggcGVyZm9ybXMgd29yZCBzcGxpdHRpbmcgb24gXCR7MStcIlwkQFwifSwg
d2hpY2gKICAjIGlzIGNvbnRyYXJ5IHRvIG91ciB1c2FnZS4gIERpc2FibGUg
dGhpcyBmZWF0dXJlLgogIGFsaWFzIC1nICdcJHsxK1wiXCRAXCJ9Jz0nXCJc
JEBcIicKICBzZXRvcHQgTk9fR0xPQl9TVUJTVAplbHNlCiAgY2FzZSBcYChz
ZXQgLW8pIDI+L2Rldi9udWxsXGAgaW4gKnBvc2l4Kikgc2V0IC1vIHBvc2l4
OzsgZXNhYwpmaQpCSU5fU0g9eHBnNDsgZXhwb3J0IEJJTl9TSCAjIGZvciBU
cnU2NApEVUFMQ0FTRT0xOyBleHBvcnQgRFVBTENBU0UgIyBmb3IgTUtTIHNo
CgojIFRoZSBIUC1VWCBrc2ggYW5kIFBPU0lYIHNoZWxsIHByaW50IHRoZSB0
YXJnZXQgZGlyZWN0b3J5IHRvIHN0ZG91dAojIGlmIENEUEFUSCBpcyBzZXQu
Cih1bnNldCBDRFBBVEgpID4vZGV2L251bGwgMj4mMSAmJiB1bnNldCBDRFBB
VEgKCnJlbGlua19jb21tYW5kPVwiJHJlbGlua19jb21tYW5kXCIKCiMgVGhp
cyBlbnZpcm9ubWVudCB2YXJpYWJsZSBkZXRlcm1pbmVzIG91ciBvcGVyYXRp
b24gbW9kZS4KaWYgdGVzdCBcIlwkbGlidG9vbF9pbnN0YWxsX21hZ2ljXCIg
PSBcIiRtYWdpY1wiOyB0aGVuCiAgIyBpbnN0YWxsIG1vZGUgbmVlZHMgdGhl
IGZvbGxvd2luZyB2YXJpYWJsZXM6CiAgZ2VuZXJhdGVkX2J5X2xpYnRvb2xf
dmVyc2lvbj0nJG1hY3JvX3ZlcnNpb24nCiAgbm90aW5zdF9kZXBsaWJzPSck
bm90aW5zdF9kZXBsaWJzJwplbHNlCiAgIyBXaGVuIHdlIGFyZSBzb3VyY2Vk
IGluIGV4ZWN1dGUgbW9kZSwgXCRmaWxlIGFuZCBcJEVDSE8gYXJlIGFscmVh
ZHkgc2V0LgogIGlmIHRlc3QgXCJcJGxpYnRvb2xfZXhlY3V0ZV9tYWdpY1wi
ICE9IFwiJG1hZ2ljXCI7IHRoZW4KICAgIGZpbGU9XCJcJDBcIiIKCiAgICBx
RUNITz1gJEVDSE8gIiRFQ0hPIiB8ICRTRUQgIiRzZWRfcXVvdGVfc3Vic3Qi
YAogICAgJEVDSE8gIlwKCiMgQSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgd2hl
biB0aGVyZSBpcyBubyBwcmludCBidWlsdGluIG9yIHByaW50Zi4KZnVuY19m
YWxsYmFja19lY2hvICgpCnsKICBldmFsICdjYXQgPDxfTFRFQ0hPX0VPRgpc
JDEKX0xURUNIT19FT0YnCn0KICAgIEVDSE89XCIkcUVDSE9cIgogIGZpCgoj
IFZlcnkgYmFzaWMgb3B0aW9uIHBhcnNpbmcuIFRoZXNlIG9wdGlvbnMgYXJl
IChhKSBzcGVjaWZpYyB0bwojIHRoZSBsaWJ0b29sIHdyYXBwZXIsIChiKSBh
cmUgaWRlbnRpY2FsIGJldHdlZW4gdGhlIHdyYXBwZXIKIyAvc2NyaXB0LyBh
bmQgdGhlIHdyYXBwZXIgL2V4ZWN1dGFibGUvIHdoaWNoIGlzIHVzZWQgb25s
eSBvbgojIHdpbmRvd3MgcGxhdGZvcm1zLCBhbmQgKGMpIGFsbCBiZWdpbiB3
aXRoIHRoZSBzdHJpbmcgIi0tbHQtIgojIChhcHBsaWNhdGlvbiBwcm9ncmFt
cyBhcmUgdW5saWtlbHkgdG8gaGF2ZSBvcHRpb25zIHdoaWNoIG1hdGNoCiMg
dGhpcyBwYXR0ZXJuKS4KIwojIFRoZXJlIGFyZSBvbmx5IHR3byBzdXBwb3J0
ZWQgb3B0aW9uczogLS1sdC1kZWJ1ZyBhbmQKIyAtLWx0LWR1bXAtc2NyaXB0
LiBUaGVyZSBpcywgZGVsaWJlcmF0ZWx5LCBubyAtLWx0LWhlbHAuCiMKIyBU
aGUgZmlyc3QgYXJndW1lbnQgdG8gdGhpcyBwYXJzaW5nIGZ1bmN0aW9uIHNo
b3VsZCBiZSB0aGUKIyBzY3JpcHQncyAkMCB2YWx1ZSwgZm9sbG93ZWQgYnkg
IiRAIi4KbHRfb3B0aW9uX2RlYnVnPQpmdW5jX3BhcnNlX2x0X29wdGlvbnMg
KCkKewogIGx0X3NjcmlwdF9hcmcwPVwkMAogIHNoaWZ0CiAgZm9yIGx0X29w
dAogIGRvCiAgICBjYXNlIFwiXCRsdF9vcHRcIiBpbgogICAgLS1sdC1kZWJ1
ZykgbHRfb3B0aW9uX2RlYnVnPTEgOzsKICAgIC0tbHQtZHVtcC1zY3JpcHQp
CiAgICAgICAgbHRfZHVtcF9EPVxgXCRFQ0hPIFwiWFwkbHRfc2NyaXB0X2Fy
ZzBcIiB8ICRTRUQgLWUgJ3MvXlgvLycgLWUgJ3MlL1teL10qJCUlJ1xgCiAg
ICAgICAgdGVzdCBcIlhcJGx0X2R1bXBfRFwiID0gXCJYXCRsdF9zY3JpcHRf
YXJnMFwiICYmIGx0X2R1bXBfRD0uCiAgICAgICAgbHRfZHVtcF9GPVxgXCRF
Q0hPIFwiWFwkbHRfc2NyaXB0X2FyZzBcIiB8ICRTRUQgLWUgJ3MvXlgvLycg
LWUgJ3MlXi4qLyUlJ1xgCiAgICAgICAgY2F0IFwiXCRsdF9kdW1wX0QvXCRs
dF9kdW1wX0ZcIgogICAgICAgIGV4aXQgMAogICAgICA7OwogICAgLS1sdC0q
KQogICAgICAgIFwkRUNITyBcIlVucmVjb2duaXplZCAtLWx0LSBvcHRpb246
ICdcJGx0X29wdCdcIiAxPiYyCiAgICAgICAgZXhpdCAxCiAgICAgIDs7CiAg
ICBlc2FjCiAgZG9uZQoKICAjIFByaW50IHRoZSBkZWJ1ZyBiYW5uZXIgaW1t
ZWRpYXRlbHk6CiAgaWYgdGVzdCAtbiBcIlwkbHRfb3B0aW9uX2RlYnVnXCI7
IHRoZW4KICAgIGVjaG8gXCIke291dHB1dG5hbWV9OiR7b3V0cHV0fTpcJHtM
SU5FTk99OiBsaWJ0b29sIHdyYXBwZXIgKEdOVSAkUEFDS0FHRSRUSU1FU1RB
TVApICRWRVJTSU9OXCIgMT4mMgogIGZpCn0KCiMgVXNlZCB3aGVuIC0tbHQt
ZGVidWcuIFByaW50cyBpdHMgYXJndW1lbnRzIHRvIHN0ZG91dAojIChyZWRp
cmVjdGlvbiBpcyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgdGhlIGNhbGxlcikK
ZnVuY19sdF9kdW1wX2FyZ3MgKCkKewogIGx0X2R1bXBfYXJnc19OPTE7CiAg
Zm9yIGx0X2FyZwogIGRvCiAgICBcJEVDSE8gXCIke291dHB1dG5hbWV9OiR7
b3V0cHV0fTpcJHtMSU5FTk99OiBuZXdhcmd2W1wkbHRfZHVtcF9hcmdzX05d
OiBcJGx0X2FyZ1wiCiAgICBsdF9kdW1wX2FyZ3NfTj1cYGV4cHIgXCRsdF9k
dW1wX2FyZ3NfTiArIDFcYAogIGRvbmUKfQoKIyBDb3JlIGZ1bmN0aW9uIGZv
ciBsYXVuY2hpbmcgdGhlIHRhcmdldCBhcHBsaWNhdGlvbgpmdW5jX2V4ZWNf
cHJvZ3JhbV9jb3JlICgpCnsKIgogIGNhc2UgJGhvc3QgaW4KICAjIEJhY2tz
bGFzaGVzIHNlcGFyYXRlIGRpcmVjdG9yaWVzIG9uIHBsYWluIHdpbmRvd3MK
ICAqLSotbWluZ3cgfCAqLSotb3MyKiB8ICotY2VnY2MqKQogICAgJEVDSE8g
IlwKICAgICAgaWYgdGVzdCAtbiBcIlwkbHRfb3B0aW9uX2RlYnVnXCI7IHRo
ZW4KICAgICAgICBcJEVDSE8gXCIke291dHB1dG5hbWV9OiR7b3V0cHV0fTpc
JHtMSU5FTk99OiBuZXdhcmd2WzBdOiBcJHByb2dkaXJcXFxcXCRwcm9ncmFt
XCIgMT4mMgogICAgICAgIGZ1bmNfbHRfZHVtcF9hcmdzIFwkezErXCJcJEBc
In0gMT4mMgogICAgICBmaQogICAgICBleGVjIFwiXCRwcm9nZGlyXFxcXFwk
cHJvZ3JhbVwiIFwkezErXCJcJEBcIn0KIgogICAgOzsKCiAgKikKICAgICRF
Q0hPICJcCiAgICAgIGlmIHRlc3QgLW4gXCJcJGx0X29wdGlvbl9kZWJ1Z1wi
OyB0aGVuCiAgICAgICAgXCRFQ0hPIFwiJHtvdXRwdXRuYW1lfToke291dHB1
dH06XCR7TElORU5PfTogbmV3YXJndlswXTogXCRwcm9nZGlyL1wkcHJvZ3Jh
bVwiIDE+JjIKICAgICAgICBmdW5jX2x0X2R1bXBfYXJncyBcJHsxK1wiXCRA
XCJ9IDE+JjIKICAgICAgZmkKICAgICAgZXhlYyBcIlwkcHJvZ2Rpci9cJHBy
b2dyYW1cIiBcJHsxK1wiXCRAXCJ9CiIKICAgIDs7CiAgZXNhYwogICRFQ0hP
ICJcCiAgICAgIFwkRUNITyBcIlwkMDogY2Fubm90IGV4ZWMgXCRwcm9ncmFt
IFwkKlwiIDE+JjIKICAgICAgZXhpdCAxCn0KCiMgQSBmdW5jdGlvbiB0byBl
bmNhcHN1bGF0ZSBsYXVuY2hpbmcgdGhlIHRhcmdldCBhcHBsaWNhdGlvbgoj
IFN0cmlwcyBvcHRpb25zIGluIHRoZSAtLWx0LSogbmFtZXNwYWNlIGZyb20g
XCRAIGFuZAojIGxhdW5jaGVzIHRhcmdldCBhcHBsaWNhdGlvbiB3aXRoIHRo
ZSByZW1haW5pbmcgYXJndW1lbnRzLgpmdW5jX2V4ZWNfcHJvZ3JhbSAoKQp7
CiAgZm9yIGx0X3dyX2FyZwogIGRvCiAgICBjYXNlIFwkbHRfd3JfYXJnIGlu
CiAgICAtLWx0LSopIDs7CiAgICAqKSBzZXQgeCBcIlwkQFwiIFwiXCRsdF93
cl9hcmdcIjsgc2hpZnQ7OwogICAgZXNhYwogICAgc2hpZnQKICBkb25lCiAg
ZnVuY19leGVjX3Byb2dyYW1fY29yZSBcJHsxK1wiXCRAXCJ9Cn0KCiAgIyBQ
YXJzZSBvcHRpb25zCiAgZnVuY19wYXJzZV9sdF9vcHRpb25zIFwiXCQwXCIg
XCR7MStcIlwkQFwifQoKICAjIEZpbmQgdGhlIGRpcmVjdG9yeSB0aGF0IHRo
aXMgc2NyaXB0IGxpdmVzIGluLgogIHRoaXNkaXI9XGBcJEVDSE8gXCJcJGZp
bGVcIiB8ICRTRUQgJ3MlL1teL10qJCUlJ1xgCiAgdGVzdCBcInhcJHRoaXNk
aXJcIiA9IFwieFwkZmlsZVwiICYmIHRoaXNkaXI9LgoKICAjIEZvbGxvdyBz
eW1ib2xpYyBsaW5rcyB1bnRpbCB3ZSBnZXQgdG8gdGhlIHJlYWwgdGhpc2Rp
ci4KICBmaWxlPVxgbHMgLWxkIFwiXCRmaWxlXCIgfCAkU0VEIC1uICdzLy4q
LT4gLy9wJ1xgCiAgd2hpbGUgdGVzdCAtbiBcIlwkZmlsZVwiOyBkbwogICAg
ZGVzdGRpcj1cYFwkRUNITyBcIlwkZmlsZVwiIHwgJFNFRCAncyUvW14vXSpc
JCUlJ1xgCgogICAgIyBJZiB0aGVyZSB3YXMgYSBkaXJlY3RvcnkgY29tcG9u
ZW50LCB0aGVuIGNoYW5nZSB0aGlzZGlyLgogICAgaWYgdGVzdCBcInhcJGRl
c3RkaXJcIiAhPSBcInhcJGZpbGVcIjsgdGhlbgogICAgICBjYXNlIFwiXCRk
ZXN0ZGlyXCIgaW4KICAgICAgW1xcXFwvXSogfCBbQS1aYS16XTpbXFxcXC9d
KikgdGhpc2Rpcj1cIlwkZGVzdGRpclwiIDs7CiAgICAgICopIHRoaXNkaXI9
XCJcJHRoaXNkaXIvXCRkZXN0ZGlyXCIgOzsKICAgICAgZXNhYwogICAgZmkK
CiAgICBmaWxlPVxgXCRFQ0hPIFwiXCRmaWxlXCIgfCAkU0VEICdzJV4uKi8l
JSdcYAogICAgZmlsZT1cYGxzIC1sZCBcIlwkdGhpc2Rpci9cJGZpbGVcIiB8
ICRTRUQgLW4gJ3MvLiotPiAvL3AnXGAKICBkb25lCgogICMgVXN1YWxseSAn
bm8nLCBleGNlcHQgb24gY3lnd2luL21pbmd3IHdoZW4gZW1iZWRkZWQgaW50
bwogICMgdGhlIGN3cmFwcGVyLgogIFdSQVBQRVJfU0NSSVBUX0JFTE9OR1Nf
SU5fT0JKRElSPSRmdW5jX2VtaXRfd3JhcHBlcl9hcmcxCiAgaWYgdGVzdCBc
IlwkV1JBUFBFUl9TQ1JJUFRfQkVMT05HU19JTl9PQkpESVJcIiA9IFwieWVz
XCI7IHRoZW4KICAgICMgc3BlY2lhbCBjYXNlIGZvciAnLicKICAgIGlmIHRl
c3QgXCJcJHRoaXNkaXJcIiA9IFwiLlwiOyB0aGVuCiAgICAgIHRoaXNkaXI9
XGBwd2RcYAogICAgZmkKICAgICMgcmVtb3ZlIC5saWJzIGZyb20gdGhpc2Rp
cgogICAgY2FzZSBcIlwkdGhpc2RpclwiIGluCiAgICAqW1xcXFwvXSRvYmpk
aXIgKSB0aGlzZGlyPVxgXCRFQ0hPIFwiXCR0aGlzZGlyXCIgfCAkU0VEICdz
JVtcXFxcL11bXlxcXFwvXSokJSUnXGAgOzsKICAgICRvYmpkaXIgKSAgIHRo
aXNkaXI9LiA7OwogICAgZXNhYwogIGZpCgogICMgVHJ5IHRvIGdldCB0aGUg
YWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUuCiAgYWJzZGlyPVxgY2QgXCJcJHRo
aXNkaXJcIiAmJiBwd2RcYAogIHRlc3QgLW4gXCJcJGFic2RpclwiICYmIHRo
aXNkaXI9XCJcJGFic2RpclwiCiIKCglpZiB0ZXN0ICIkZmFzdF9pbnN0YWxs
IiA9IHllczsgdGhlbgoJICAkRUNITyAiXAogIHByb2dyYW09bHQtJyRvdXRw
dXRuYW1lJyRleGVleHQKICBwcm9nZGlyPVwiXCR0aGlzZGlyLyRvYmpkaXJc
IgoKICBpZiB0ZXN0ICEgLWYgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIgfHwK
ICAgICB7IGZpbGU9XGBscyAtMWR0IFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwi
IFwiXCRwcm9nZGlyLy4uL1wkcHJvZ3JhbVwiIDI+L2Rldi9udWxsIHwgJHtT
RUR9IDFxXGA7IFxcCiAgICAgICB0ZXN0IFwiWFwkZmlsZVwiICE9IFwiWFwk
cHJvZ2Rpci9cJHByb2dyYW1cIjsgfTsgdGhlbgoKICAgIGZpbGU9XCJcJFwk
LVwkcHJvZ3JhbVwiCgogICAgaWYgdGVzdCAhIC1kIFwiXCRwcm9nZGlyXCI7
IHRoZW4KICAgICAgJE1LRElSIFwiXCRwcm9nZGlyXCIKICAgIGVsc2UKICAg
ICAgJFJNIFwiXCRwcm9nZGlyL1wkZmlsZVwiCiAgICBmaSIKCgkgICRFQ0hP
ICJcCgogICAgIyByZWxpbmsgZXhlY3V0YWJsZSBpZiBuZWNlc3NhcnkKICAg
IGlmIHRlc3QgLW4gXCJcJHJlbGlua19jb21tYW5kXCI7IHRoZW4KICAgICAg
aWYgcmVsaW5rX2NvbW1hbmRfb3V0cHV0PVxgZXZhbCBcJHJlbGlua19jb21t
YW5kIDI+JjFcYDsgdGhlbiA6CiAgICAgIGVsc2UKCSRFQ0hPIFwiXCRyZWxp
bmtfY29tbWFuZF9vdXRwdXRcIiA+JjIKCSRSTSBcIlwkcHJvZ2Rpci9cJGZp
bGVcIgoJZXhpdCAxCiAgICAgIGZpCiAgICBmaQoKICAgICRNViBcIlwkcHJv
Z2Rpci9cJGZpbGVcIiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1cIiAyPi9kZXYv
bnVsbCB8fAogICAgeyAkUk0gXCJcJHByb2dkaXIvXCRwcm9ncmFtXCI7CiAg
ICAgICRNViBcIlwkcHJvZ2Rpci9cJGZpbGVcIiBcIlwkcHJvZ2Rpci9cJHBy
b2dyYW1cIjsgfQogICAgJFJNIFwiXCRwcm9nZGlyL1wkZmlsZVwiCiAgZmki
CgllbHNlCgkgICRFQ0hPICJcCiAgcHJvZ3JhbT0nJG91dHB1dG5hbWUnCiAg
cHJvZ2Rpcj1cIlwkdGhpc2Rpci8kb2JqZGlyXCIKIgoJZmkKCgkkRUNITyAi
XAoKICBpZiB0ZXN0IC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3JhbVwiOyB0aGVu
IgoKCSMgZml4dXAgdGhlIGRsbCBzZWFyY2hwYXRoIGlmIHdlIG5lZWQgdG8u
CgkjCgkjIEZpeCB0aGUgRExMIHNlYXJjaHBhdGggaWYgd2UgbmVlZCB0by4g
IERvIHRoaXMgYmVmb3JlIHByZXBlbmRpbmcKCSMgdG8gc2hsaWJwYXRoLCBi
ZWNhdXNlIG9uIFdpbmRvd3MsIGJvdGggYXJlIFBBVEggYW5kIHVuaW5zdGFs
bGVkCgkjIGxpYnJhcmllcyBtdXN0IGNvbWUgZmlyc3QuCglpZiB0ZXN0IC1u
ICIkZGxsc2VhcmNocGF0aCI7IHRoZW4KCSAgJEVDSE8gIlwKICAgICMgQWRk
IHRoZSBkbGwgc2VhcmNoIHBhdGggY29tcG9uZW50cyB0byB0aGUgZXhlY3V0
YWJsZSBQQVRICiAgICBQQVRIPSRkbGxzZWFyY2hwYXRoOlwkUEFUSAoiCglm
aQoKCSMgRXhwb3J0IG91ciBzaGxpYnBhdGhfdmFyIGlmIHdlIGhhdmUgb25l
LgoJaWYgdGVzdCAiJHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aCIgPSB5
ZXMgJiYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiICYmIHRlc3QgLW4gIiR0
ZW1wX3JwYXRoIjsgdGhlbgoJICAkRUNITyAiXAogICAgIyBBZGQgb3VyIG93
biBsaWJyYXJ5IHBhdGggdG8gJHNobGlicGF0aF92YXIKICAgICRzaGxpYnBh
dGhfdmFyPVwiJHRlbXBfcnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIKCiAgICAj
IFNvbWUgc3lzdGVtcyBjYW5ub3QgY29wZSB3aXRoIGNvbG9uLXRlcm1pbmF0
ZWQgJHNobGlicGF0aF92YXIKICAgICMgVGhlIHNlY29uZCBjb2xvbiBpcyBh
IHdvcmthcm91bmQgZm9yIGEgYnVnIGluIEJlT1MgUjQgc2VkCiAgICAkc2hs
aWJwYXRoX3Zhcj1cYFwkRUNITyBcIlwkJHNobGlicGF0aF92YXJcIiB8ICRT
RUQgJ3MvOjoqXCQvLydcYAoKICAgIGV4cG9ydCAkc2hsaWJwYXRoX3Zhcgoi
CglmaQoKCSRFQ0hPICJcCiAgICBpZiB0ZXN0IFwiXCRsaWJ0b29sX2V4ZWN1
dGVfbWFnaWNcIiAhPSBcIiRtYWdpY1wiOyB0aGVuCiAgICAgICMgUnVuIHRo
ZSBhY3R1YWwgcHJvZ3JhbSB3aXRoIG91ciBhcmd1bWVudHMuCiAgICAgIGZ1
bmNfZXhlY19wcm9ncmFtIFwkezErXCJcJEBcIn0KICAgIGZpCiAgZWxzZQog
ICAgIyBUaGUgcHJvZ3JhbSBkb2Vzbid0IGV4aXN0LgogICAgXCRFQ0hPIFwi
XCQwOiBlcnJvcjogXFxcYFwkcHJvZ2Rpci9cJHByb2dyYW0nIGRvZXMgbm90
IGV4aXN0XCIgMT4mMgogICAgXCRFQ0hPIFwiVGhpcyBzY3JpcHQgaXMganVz
dCBhIHdyYXBwZXIgZm9yIFwkcHJvZ3JhbS5cIiAxPiYyCiAgICBcJEVDSE8g
XCJTZWUgdGhlICRQQUNLQUdFIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5m
b3JtYXRpb24uXCIgMT4mMgogICAgZXhpdCAxCiAgZmkKZmlcCiIKfQoKCiMg
ZnVuY19lbWl0X2N3cmFwcGVyZXhlX3NyYwojIGVtaXQgdGhlIHNvdXJjZSBj
b2RlIGZvciBhIHdyYXBwZXIgZXhlY3V0YWJsZSBvbiBzdGRvdXQKIyBNdXN0
IE9OTFkgYmUgY2FsbGVkIGZyb20gd2l0aGluIGZ1bmNfbW9kZV9saW5rIGJl
Y2F1c2UKIyBpdCBkZXBlbmRzIG9uIGEgbnVtYmVyIG9mIHZhcmlhYmxlIHNl
dCB0aGVyZWluLgpmdW5jX2VtaXRfY3dyYXBwZXJleGVfc3JjICgpCnsKCWNh
dCA8PEVPRgoKLyogJGN3cmFwcGVyc291cmNlIC0gdGVtcG9yYXJ5IHdyYXBw
ZXIgZXhlY3V0YWJsZSBmb3IgJG9iamRpci8kb3V0cHV0bmFtZQogICBHZW5l
cmF0ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRW
RVJTSU9OCgogICBUaGUgJG91dHB1dCBwcm9ncmFtIGNhbm5vdCBiZSBkaXJl
Y3RseSBleGVjdXRlZCB1bnRpbCBhbGwgdGhlIGxpYnRvb2wKICAgbGlicmFy
aWVzIHRoYXQgaXQgZGVwZW5kcyBvbiBhcmUgaW5zdGFsbGVkLgoKICAgVGhp
cyB3cmFwcGVyIGV4ZWN1dGFibGUgc2hvdWxkIG5ldmVyIGJlIG1vdmVkIG91
dCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5LgogICBJZiBpdCBpcywgaXQgd2ls
bCBub3Qgb3BlcmF0ZSBjb3JyZWN0bHkuCiovCkVPRgoJICAgIGNhdCA8PCJF
T0YiCiNpZmRlZiBfTVNDX1ZFUgojIGRlZmluZSBfQ1JUX1NFQ1VSRV9OT19E
RVBSRUNBVEUgMQojZW5kaWYKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRl
IDxzdGRsaWIuaD4KI2lmZGVmIF9NU0NfVkVSCiMgaW5jbHVkZSA8ZGlyZWN0
Lmg+CiMgaW5jbHVkZSA8cHJvY2Vzcy5oPgojIGluY2x1ZGUgPGlvLmg+CiNl
bHNlCiMgaW5jbHVkZSA8dW5pc3RkLmg+CiMgaW5jbHVkZSA8c3RkaW50Lmg+
CiMgaWZkZWYgX19DWUdXSU5fXwojICBpbmNsdWRlIDxpby5oPgojIGVuZGlm
CiNlbmRpZgojaW5jbHVkZSA8bWFsbG9jLmg+CiNpbmNsdWRlIDxzdGRhcmcu
aD4KI2luY2x1ZGUgPGFzc2VydC5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNp
bmNsdWRlIDxjdHlwZS5oPgojaW5jbHVkZSA8ZXJybm8uaD4KI2luY2x1ZGUg
PGZjbnRsLmg+CiNpbmNsdWRlIDxzeXMvc3RhdC5oPgoKLyogZGVjbGFyYXRp
b25zIG9mIG5vbi1BTlNJIGZ1bmN0aW9ucyAqLwojaWYgZGVmaW5lZChfX01J
TkdXMzJfXykKIyBpZmRlZiBfX1NUUklDVF9BTlNJX18KaW50IF9wdXRlbnYg
KGNvbnN0IGNoYXIgKik7CiMgZW5kaWYKI2VsaWYgZGVmaW5lZChfX0NZR1dJ
Tl9fKQojIGlmZGVmIF9fU1RSSUNUX0FOU0lfXwpjaGFyICpyZWFscGF0aCAo
Y29uc3QgY2hhciAqLCBjaGFyICopOwppbnQgcHV0ZW52IChjaGFyICopOwpp
bnQgc2V0ZW52IChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgaW50KTsK
IyBlbmRpZgovKiAjZWxpZiBkZWZpbmVkIChvdGhlciBwbGF0Zm9ybXMpIC4u
LiAqLwojZW5kaWYKCi8qIHBvcnRhYmlsaXR5IGRlZmluZXMsIGV4Y2x1ZGlu
ZyBwYXRoIGhhbmRsaW5nIG1hY3JvcyAqLwojaWYgZGVmaW5lZChfTVNDX1ZF
UikKIyBkZWZpbmUgc2V0bW9kZSBfc2V0bW9kZQojIGRlZmluZSBzdGF0ICAg
IF9zdGF0CiMgZGVmaW5lIGNobW9kICAgX2NobW9kCiMgZGVmaW5lIGdldGN3
ZCAgX2dldGN3ZAojIGRlZmluZSBwdXRlbnYgIF9wdXRlbnYKIyBkZWZpbmUg
U19JWFVTUiBfU19JRVhFQwojIGlmbmRlZiBfSU5UUFRSX1RfREVGSU5FRAoj
ICBkZWZpbmUgX0lOVFBUUl9UX0RFRklORUQKIyAgZGVmaW5lIGludHB0cl90
IGludAojIGVuZGlmCiNlbGlmIGRlZmluZWQoX19NSU5HVzMyX18pCiMgZGVm
aW5lIHNldG1vZGUgX3NldG1vZGUKIyBkZWZpbmUgc3RhdCAgICBfc3RhdAoj
IGRlZmluZSBjaG1vZCAgIF9jaG1vZAojIGRlZmluZSBnZXRjd2QgIF9nZXRj
d2QKIyBkZWZpbmUgcHV0ZW52ICBfcHV0ZW52CiNlbGlmIGRlZmluZWQoX19D
WUdXSU5fXykKIyBkZWZpbmUgSEFWRV9TRVRFTlYKIyBkZWZpbmUgRk9QRU5f
V0IgIndiIgovKiAjZWxpZiBkZWZpbmVkIChvdGhlciBwbGF0Zm9ybXMpIC4u
LiAqLwojZW5kaWYKCiNpZiBkZWZpbmVkKFBBVEhfTUFYKQojIGRlZmluZSBM
VF9QQVRITUFYIFBBVEhfTUFYCiNlbGlmIGRlZmluZWQoTUFYUEFUSExFTikK
IyBkZWZpbmUgTFRfUEFUSE1BWCBNQVhQQVRITEVOCiNlbHNlCiMgZGVmaW5l
IExUX1BBVEhNQVggMTAyNAojZW5kaWYKCiNpZm5kZWYgU19JWE9USAojIGRl
ZmluZSBTX0lYT1RIIDAKI2VuZGlmCiNpZm5kZWYgU19JWEdSUAojIGRlZmlu
ZSBTX0lYR1JQIDAKI2VuZGlmCgovKiBwYXRoIGhhbmRsaW5nIHBvcnRhYmls
aXR5IG1hY3JvcyAqLwojaWZuZGVmIERJUl9TRVBBUkFUT1IKIyBkZWZpbmUg
RElSX1NFUEFSQVRPUiAnLycKIyBkZWZpbmUgUEFUSF9TRVBBUkFUT1IgJzon
CiNlbmRpZgoKI2lmIGRlZmluZWQgKF9XSU4zMikgfHwgZGVmaW5lZCAoX19N
U0RPU19fKSB8fCBkZWZpbmVkIChfX0RKR1BQX18pIHx8IFwKICBkZWZpbmVk
IChfX09TMl9fKQojIGRlZmluZSBIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RF
TQojIGRlZmluZSBGT1BFTl9XQiAid2IiCiMgaWZuZGVmIERJUl9TRVBBUkFU
T1JfMgojICBkZWZpbmUgRElSX1NFUEFSQVRPUl8yICdcXCcKIyBlbmRpZgoj
IGlmbmRlZiBQQVRIX1NFUEFSQVRPUl8yCiMgIGRlZmluZSBQQVRIX1NFUEFS
QVRPUl8yICc7JwojIGVuZGlmCiNlbmRpZgoKI2lmbmRlZiBESVJfU0VQQVJB
VE9SXzIKIyBkZWZpbmUgSVNfRElSX1NFUEFSQVRPUihjaCkgKChjaCkgPT0g
RElSX1NFUEFSQVRPUikKI2Vsc2UgLyogRElSX1NFUEFSQVRPUl8yICovCiMg
ZGVmaW5lIElTX0RJUl9TRVBBUkFUT1IoY2gpIFwKCSgoKGNoKSA9PSBESVJf
U0VQQVJBVE9SKSB8fCAoKGNoKSA9PSBESVJfU0VQQVJBVE9SXzIpKQojZW5k
aWYgLyogRElSX1NFUEFSQVRPUl8yICovCgojaWZuZGVmIFBBVEhfU0VQQVJB
VE9SXzIKIyBkZWZpbmUgSVNfUEFUSF9TRVBBUkFUT1IoY2gpICgoY2gpID09
IFBBVEhfU0VQQVJBVE9SKQojZWxzZSAvKiBQQVRIX1NFUEFSQVRPUl8yICov
CiMgZGVmaW5lIElTX1BBVEhfU0VQQVJBVE9SKGNoKSAoKGNoKSA9PSBQQVRI
X1NFUEFSQVRPUl8yKQojZW5kaWYgLyogUEFUSF9TRVBBUkFUT1JfMiAqLwoK
I2lmbmRlZiBGT1BFTl9XQgojIGRlZmluZSBGT1BFTl9XQiAidyIKI2VuZGlm
CiNpZm5kZWYgX09fQklOQVJZCiMgZGVmaW5lIF9PX0JJTkFSWSAwCiNlbmRp
ZgoKI2RlZmluZSBYTUFMTE9DKHR5cGUsIG51bSkgICAgICAoKHR5cGUgKikg
eG1hbGxvYyAoKG51bSkgKiBzaXplb2YodHlwZSkpKQojZGVmaW5lIFhGUkVF
KHN0YWxlKSBkbyB7IFwKICBpZiAoc3RhbGUpIHsgZnJlZSAoKHZvaWQgKikg
c3RhbGUpOyBzdGFsZSA9IDA7IH0gXAp9IHdoaWxlICgwKQoKI2lmIGRlZmlu
ZWQoTFRfREVCVUdXUkFQUEVSKQpzdGF0aWMgaW50IGx0X2RlYnVnID0gMTsK
I2Vsc2UKc3RhdGljIGludCBsdF9kZWJ1ZyA9IDA7CiNlbmRpZgoKY29uc3Qg
Y2hhciAqcHJvZ3JhbV9uYW1lID0gImxpYnRvb2wtd3JhcHBlciI7IC8qIGlu
IGNhc2UgeHN0cmR1cCBmYWlscyAqLwoKdm9pZCAqeG1hbGxvYyAoc2l6ZV90
IG51bSk7CmNoYXIgKnhzdHJkdXAgKGNvbnN0IGNoYXIgKnN0cmluZyk7CmNv
bnN0IGNoYXIgKmJhc2VfbmFtZSAoY29uc3QgY2hhciAqbmFtZSk7CmNoYXIg
KmZpbmRfZXhlY3V0YWJsZSAoY29uc3QgY2hhciAqd3JhcHBlcik7CmNoYXIg
KmNoYXNlX3N5bWxpbmtzIChjb25zdCBjaGFyICpwYXRoc3BlYyk7CmludCBt
YWtlX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBhdGgpOwppbnQgY2hlY2tf
ZXhlY3V0YWJsZSAoY29uc3QgY2hhciAqcGF0aCk7CmNoYXIgKnN0cmVuZHph
cCAoY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXQpOwp2b2lkIGx0X2RlYnVn
cHJpbnRmIChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hh
ciAqZm10LCAuLi4pOwp2b2lkIGx0X2ZhdGFsIChjb25zdCBjaGFyICpmaWxl
LCBpbnQgbGluZSwgY29uc3QgY2hhciAqbWVzc2FnZSwgLi4uKTsKc3RhdGlj
IGNvbnN0IGNoYXIgKm5vbm51bGwgKGNvbnN0IGNoYXIgKnMpOwpzdGF0aWMg
Y29uc3QgY2hhciAqbm9uZW1wdHkgKGNvbnN0IGNoYXIgKnMpOwp2b2lkIGx0
X3NldGVudiAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUp
OwpjaGFyICpsdF9leHRlbmRfc3RyIChjb25zdCBjaGFyICpvcmlnX3ZhbHVl
LCBjb25zdCBjaGFyICphZGQsIGludCB0b19lbmQpOwp2b2lkIGx0X3VwZGF0
ZV9leGVfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFs
dWUpOwp2b2lkIGx0X3VwZGF0ZV9saWJfcGF0aCAoY29uc3QgY2hhciAqbmFt
ZSwgY29uc3QgY2hhciAqdmFsdWUpOwpjaGFyICoqcHJlcGFyZV9zcGF3biAo
Y2hhciAqKmFyZ3YpOwp2b2lkIGx0X2R1bXBfc2NyaXB0IChGSUxFICpmKTsK
RU9GCgoJICAgIGNhdCA8PEVPRgp2b2xhdGlsZSBjb25zdCBjaGFyICogTUFH
SUNfRVhFID0gIiRtYWdpY19leGUiOwpjb25zdCBjaGFyICogTElCX1BBVEhf
VkFSTkFNRSA9ICIkc2hsaWJwYXRoX3ZhciI7CkVPRgoKCSAgICBpZiB0ZXN0
ICIkc2hsaWJwYXRoX292ZXJyaWRlc19ydW5wYXRoIiA9IHllcyAmJiB0ZXN0
IC1uICIkc2hsaWJwYXRoX3ZhciIgJiYgdGVzdCAtbiAiJHRlbXBfcnBhdGgi
OyB0aGVuCiAgICAgICAgICAgICAgZnVuY190b19ob3N0X3BhdGggIiR0ZW1w
X3JwYXRoIgoJICAgICAgY2F0IDw8RU9GCmNvbnN0IGNoYXIgKiBMSUJfUEFU
SF9WQUxVRSAgID0gIiRmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQiOwpFT0YK
CSAgICBlbHNlCgkgICAgICBjYXQgPDwiRU9GIgpjb25zdCBjaGFyICogTElC
X1BBVEhfVkFMVUUgICA9ICIiOwpFT0YKCSAgICBmaQoKCSAgICBpZiB0ZXN0
IC1uICIkZGxsc2VhcmNocGF0aCI7IHRoZW4KICAgICAgICAgICAgICBmdW5j
X3RvX2hvc3RfcGF0aCAiJGRsbHNlYXJjaHBhdGg6IgoJICAgICAgY2F0IDw8
RU9GCmNvbnN0IGNoYXIgKiBFWEVfUEFUSF9WQVJOQU1FID0gIlBBVEgiOwpj
b25zdCBjaGFyICogRVhFX1BBVEhfVkFMVUUgICA9ICIkZnVuY190b19ob3N0
X3BhdGhfcmVzdWx0IjsKRU9GCgkgICAgZWxzZQoJICAgICAgY2F0IDw8IkVP
RiIKY29uc3QgY2hhciAqIEVYRV9QQVRIX1ZBUk5BTUUgPSAiIjsKY29uc3Qg
Y2hhciAqIEVYRV9QQVRIX1ZBTFVFICAgPSAiIjsKRU9GCgkgICAgZmkKCgkg
ICAgaWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5ZXM7IHRoZW4KCSAgICAg
IGNhdCA8PEVPRgpjb25zdCBjaGFyICogVEFSR0VUX1BST0dSQU1fTkFNRSA9
ICJsdC0kb3V0cHV0bmFtZSI7IC8qIGhvcGVmdWxseSwgbm8gLmV4ZSAqLwpF
T0YKCSAgICBlbHNlCgkgICAgICBjYXQgPDxFT0YKY29uc3QgY2hhciAqIFRB
UkdFVF9QUk9HUkFNX05BTUUgPSAiJG91dHB1dG5hbWUiOyAvKiBob3BlZnVs
bHksIG5vIC5leGUgKi8KRU9GCgkgICAgZmkKCgoJICAgIGNhdCA8PCJFT0Yi
CgojZGVmaW5lIExUV1JBUFBFUl9PUFRJT05fUFJFRklYICAgICAgICAgIi0t
bHQtIgoKc3RhdGljIGNvbnN0IGNoYXIgKmx0d3JhcHBlcl9vcHRpb25fcHJl
Zml4ID0gTFRXUkFQUEVSX09QVElPTl9QUkVGSVg7CnN0YXRpYyBjb25zdCBj
aGFyICpkdW1wc2NyaXB0X29wdCAgICAgICA9IExUV1JBUFBFUl9PUFRJT05f
UFJFRklYICJkdW1wLXNjcmlwdCI7CnN0YXRpYyBjb25zdCBjaGFyICpkZWJ1
Z19vcHQgICAgICAgICAgICA9IExUV1JBUFBFUl9PUFRJT05fUFJFRklYICJk
ZWJ1ZyI7CgppbnQKbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewog
IGNoYXIgKipuZXdhcmd6OwogIGludCAgbmV3YXJnYzsKICBjaGFyICp0bXBf
cGF0aHNwZWM7CiAgY2hhciAqYWN0dWFsX2N3cmFwcGVyX3BhdGg7CiAgY2hh
ciAqYWN0dWFsX2N3cmFwcGVyX25hbWU7CiAgY2hhciAqdGFyZ2V0X25hbWU7
CiAgY2hhciAqbHRfYXJndl96ZXJvOwogIGludHB0cl90IHJ2YWwgPSAxMjc7
CgogIGludCBpOwoKICBwcm9ncmFtX25hbWUgPSAoY2hhciAqKSB4c3RyZHVw
IChiYXNlX25hbWUgKGFyZ3ZbMF0pKTsKICBuZXdhcmd6ID0gWE1BTExPQyAo
Y2hhciAqLCBhcmdjICsgMSk7CgogIC8qIHZlcnkgc2ltcGxlIGFyZyBwYXJz
aW5nOyBkb24ndCB3YW50IHRvIHJlbHkgb24gZ2V0b3B0CiAgICogYWxzbywg
Y29weSBhbGwgbm9uIGN3cmFwcGVyIG9wdGlvbnMgdG8gbmV3YXJneiwgZXhj
ZXB0CiAgICogYXJnelswXSwgd2hpY2ggaXMgaGFuZGxlZCBkaWZmZXJlbnRs
eQogICAqLwogIG5ld2FyZ2M9MDsKICBmb3IgKGkgPSAxOyBpIDwgYXJnYzsg
aSsrKQogICAgewogICAgICBpZiAoc3RyY21wIChhcmd2W2ldLCBkdW1wc2Ny
aXB0X29wdCkgPT0gMCkKCXsKRU9GCgkgICAgY2FzZSAiJGhvc3QiIGluCgkg
ICAgICAqbWluZ3cqIHwgKmN5Z3dpbiogKQoJCSMgbWFrZSBzdGRvdXQgdXNl
ICJ1bml4IiBsaW5lIGVuZGluZ3MKCQllY2hvICIgICAgICAgICAgc2V0bW9k
ZSgxLF9PX0JJTkFSWSk7IgoJCTs7CgkgICAgICBlc2FjCgoJICAgIGNhdCA8
PCJFT0YiCgkgIGx0X2R1bXBfc2NyaXB0IChzdGRvdXQpOwoJICByZXR1cm4g
MDsKCX0KICAgICAgaWYgKHN0cmNtcCAoYXJndltpXSwgZGVidWdfb3B0KSA9
PSAwKQoJewogICAgICAgICAgbHRfZGVidWcgPSAxOwogICAgICAgICAgY29u
dGludWU7Cgl9CiAgICAgIGlmIChzdHJjbXAgKGFyZ3ZbaV0sIGx0d3JhcHBl
cl9vcHRpb25fcHJlZml4KSA9PSAwKQogICAgICAgIHsKICAgICAgICAgIC8q
IGhvd2V2ZXIsIGlmIHRoZXJlIGlzIGFuIG9wdGlvbiBpbiB0aGUgTFRXUkFQ
UEVSX09QVElPTl9QUkVGSVgKICAgICAgICAgICAgIG5hbWVzcGFjZSwgYnV0
IGl0IGlzIG5vdCBvbmUgb2YgdGhlIG9uZXMgd2Uga25vdyBhYm91dCBhbmQK
ICAgICAgICAgICAgIGhhdmUgYWxyZWFkeSBkZWFsdCB3aXRoLCBhYm92ZSAo
aW5sdWRpbmcgZHVtcC1zY3JpcHQpLCB0aGVuCiAgICAgICAgICAgICByZXBv
cnQgYW4gZXJyb3IuIE90aGVyd2lzZSwgdGFyZ2V0cyBtaWdodCBiZWdpbiB0
byBiZWxpZXZlCiAgICAgICAgICAgICB0aGV5IGFyZSBhbGxvd2VkIHRvIHVz
ZSBvcHRpb25zIGluIHRoZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWAogICAg
ICAgICAgICAgbmFtZXNwYWNlLiBUaGUgZmlyc3QgdGltZSBhbnkgdXNlciBj
b21wbGFpbnMgYWJvdXQgdGhpcywgd2UnbGwKICAgICAgICAgICAgIG5lZWQg
dG8gbWFrZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWCBhIGNvbmZpZ3VyZS10
aW1lIG9wdGlvbgogICAgICAgICAgICAgb3IgYSBjb25maWd1cmUuYWMtc2V0
dGFibGUgdmFsdWUuCiAgICAgICAgICAgKi8KICAgICAgICAgIGx0X2ZhdGFs
IChfX0ZJTEVfXywgX19MSU5FX18sCgkJICAgICJ1bnJlY29nbml6ZWQgJXMg
b3B0aW9uOiAnJXMnIiwKICAgICAgICAgICAgICAgICAgICBsdHdyYXBwZXJf
b3B0aW9uX3ByZWZpeCwgYXJndltpXSk7CiAgICAgICAgfQogICAgICAvKiBv
dGhlcndpc2UgLi4uICovCiAgICAgIG5ld2FyZ3pbKytuZXdhcmdjXSA9IHhz
dHJkdXAgKGFyZ3ZbaV0pOwogICAgfQogIG5ld2FyZ3pbKytuZXdhcmdjXSA9
IE5VTEw7CgpFT0YKCSAgICBjYXQgPDxFT0YKICAvKiBUaGUgR05VIGJhbm5l
ciBtdXN0IGJlIHRoZSBmaXJzdCBub24tZXJyb3IgZGVidWcgbWVzc2FnZSAq
LwogIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18sICJsaWJ0
b29sIHdyYXBwZXIgKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9O
XG4iKTsKRU9GCgkgICAgY2F0IDw8IkVPRiIKICBsdF9kZWJ1Z3ByaW50ZiAo
X19GSUxFX18sIF9fTElORV9fLCAiKG1haW4pIGFyZ3ZbMF06ICVzXG4iLCBh
cmd2WzBdKTsKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9f
LCAiKG1haW4pIHByb2dyYW1fbmFtZTogJXNcbiIsIHByb2dyYW1fbmFtZSk7
CgogIHRtcF9wYXRoc3BlYyA9IGZpbmRfZXhlY3V0YWJsZSAoYXJndlswXSk7
CiAgaWYgKHRtcF9wYXRoc3BlYyA9PSBOVUxMKQogICAgbHRfZmF0YWwgKF9f
RklMRV9fLCBfX0xJTkVfXywgImNvdWxkbid0IGZpbmQgJXMiLCBhcmd2WzBd
KTsKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9fLAogICAg
ICAgICAgICAgICAgICAiKG1haW4pIGZvdW5kIGV4ZSAoYmVmb3JlIHN5bWxp
bmsgY2hhc2UpIGF0OiAlc1xuIiwKCQkgIHRtcF9wYXRoc3BlYyk7CgogIGFj
dHVhbF9jd3JhcHBlcl9wYXRoID0gY2hhc2Vfc3ltbGlua3MgKHRtcF9wYXRo
c3BlYyk7CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBfX0xJTkVfXywK
ICAgICAgICAgICAgICAgICAgIihtYWluKSBmb3VuZCBleGUgKGFmdGVyIHN5
bWxpbmsgY2hhc2UpIGF0OiAlc1xuIiwKCQkgIGFjdHVhbF9jd3JhcHBlcl9w
YXRoKTsKICBYRlJFRSAodG1wX3BhdGhzcGVjKTsKCiAgYWN0dWFsX2N3cmFw
cGVyX25hbWUgPSB4c3RyZHVwIChiYXNlX25hbWUgKGFjdHVhbF9jd3JhcHBl
cl9wYXRoKSk7CiAgc3RyZW5kemFwIChhY3R1YWxfY3dyYXBwZXJfcGF0aCwg
YWN0dWFsX2N3cmFwcGVyX25hbWUpOwoKICAvKiB3cmFwcGVyIG5hbWUgdHJh
bnNmb3JtcyAqLwogIHN0cmVuZHphcCAoYWN0dWFsX2N3cmFwcGVyX25hbWUs
ICIuZXhlIik7CiAgdG1wX3BhdGhzcGVjID0gbHRfZXh0ZW5kX3N0ciAoYWN0
dWFsX2N3cmFwcGVyX25hbWUsICIuZXhlIiwgMSk7CiAgWEZSRUUgKGFjdHVh
bF9jd3JhcHBlcl9uYW1lKTsKICBhY3R1YWxfY3dyYXBwZXJfbmFtZSA9IHRt
cF9wYXRoc3BlYzsKICB0bXBfcGF0aHNwZWMgPSAwOwoKICAvKiB0YXJnZXRf
bmFtZSB0cmFuc2Zvcm1zIC0tIHVzZSBhY3R1YWwgdGFyZ2V0IHByb2dyYW0g
bmFtZTsgbWlnaHQgaGF2ZSBsdC0gcHJlZml4ICovCiAgdGFyZ2V0X25hbWUg
PSB4c3RyZHVwIChiYXNlX25hbWUgKFRBUkdFVF9QUk9HUkFNX05BTUUpKTsK
ICBzdHJlbmR6YXAgKHRhcmdldF9uYW1lLCAiLmV4ZSIpOwogIHRtcF9wYXRo
c3BlYyA9IGx0X2V4dGVuZF9zdHIgKHRhcmdldF9uYW1lLCAiLmV4ZSIsIDEp
OwogIFhGUkVFICh0YXJnZXRfbmFtZSk7CiAgdGFyZ2V0X25hbWUgPSB0bXBf
cGF0aHNwZWM7CiAgdG1wX3BhdGhzcGVjID0gMDsKCiAgbHRfZGVidWdwcmlu
dGYgKF9fRklMRV9fLCBfX0xJTkVfXywKCQkgICIobWFpbikgbGlidG9vbCB0
YXJnZXQgbmFtZTogJXNcbiIsCgkJICB0YXJnZXRfbmFtZSk7CkVPRgoKCSAg
ICBjYXQgPDxFT0YKICBuZXdhcmd6WzBdID0KICAgIFhNQUxMT0MgKGNoYXIs
IChzdHJsZW4gKGFjdHVhbF9jd3JhcHBlcl9wYXRoKSArCgkJICAgIHN0cmxl
biAoIiRvYmpkaXIiKSArIDEgKyBzdHJsZW4gKGFjdHVhbF9jd3JhcHBlcl9u
YW1lKSArIDEpKTsKICBzdHJjcHkgKG5ld2FyZ3pbMF0sIGFjdHVhbF9jd3Jh
cHBlcl9wYXRoKTsKICBzdHJjYXQgKG5ld2FyZ3pbMF0sICIkb2JqZGlyIik7
CiAgc3RyY2F0IChuZXdhcmd6WzBdLCAiLyIpOwpFT0YKCgkgICAgY2F0IDw8
IkVPRiIKICAvKiBzdG9wIGhlcmUsIGFuZCBjb3B5IHNvIHdlIGRvbid0IGhh
dmUgdG8gZG8gdGhpcyB0d2ljZSAqLwogIHRtcF9wYXRoc3BlYyA9IHhzdHJk
dXAgKG5ld2FyZ3pbMF0pOwoKICAvKiBkbyBOT1Qgd2FudCB0aGUgbHQtIHBy
ZWZpeCBoZXJlLCBzbyB1c2UgYWN0dWFsX2N3cmFwcGVyX25hbWUgKi8KICBz
dHJjYXQgKG5ld2FyZ3pbMF0sIGFjdHVhbF9jd3JhcHBlcl9uYW1lKTsKCiAg
LyogRE8gd2FudCB0aGUgbHQtIHByZWZpeCBoZXJlIGlmIGl0IGV4aXN0cywg
c28gdXNlIHRhcmdldF9uYW1lICovCiAgbHRfYXJndl96ZXJvID0gbHRfZXh0
ZW5kX3N0ciAodG1wX3BhdGhzcGVjLCB0YXJnZXRfbmFtZSwgMSk7CiAgWEZS
RUUgKHRtcF9wYXRoc3BlYyk7CiAgdG1wX3BhdGhzcGVjID0gTlVMTDsKRU9G
CgoJICAgIGNhc2UgJGhvc3Rfb3MgaW4KCSAgICAgIG1pbmd3KikKCSAgICBj
YXQgPDwiRU9GIgogIHsKICAgIGNoYXIqIHA7CiAgICB3aGlsZSAoKHAgPSBz
dHJjaHIgKG5ld2FyZ3pbMF0sICdcXCcpKSAhPSBOVUxMKQogICAgICB7Cgkq
cCA9ICcvJzsKICAgICAgfQogICAgd2hpbGUgKChwID0gc3RyY2hyIChsdF9h
cmd2X3plcm8sICdcXCcpKSAhPSBOVUxMKQogICAgICB7CgkqcCA9ICcvJzsK
ICAgICAgfQogIH0KRU9GCgkgICAgOzsKCSAgICBlc2FjCgoJICAgIGNhdCA8
PCJFT0YiCiAgWEZSRUUgKHRhcmdldF9uYW1lKTsKICBYRlJFRSAoYWN0dWFs
X2N3cmFwcGVyX3BhdGgpOwogIFhGUkVFIChhY3R1YWxfY3dyYXBwZXJfbmFt
ZSk7CgogIGx0X3NldGVudiAoIkJJTl9TSCIsICJ4cGc0Iik7IC8qIGZvciBU
cnU2NCAqLwogIGx0X3NldGVudiAoIkRVQUxDQVNFIiwgIjEiKTsgIC8qIGZv
ciBNU0sgc2ggKi8KICAvKiBVcGRhdGUgdGhlIERMTCBzZWFyY2hwYXRoLiAg
RVhFX1BBVEhfVkFMVUUgKCRkbGxzZWFyY2hwYXRoKSBtdXN0CiAgICAgYmUg
cHJlcGVuZGVkIGJlZm9yZSAodGhhdCBpcywgYXBwZWFyIGFmdGVyKSBMSUJf
UEFUSF9WQUxVRSAoJHRlbXBfcnBhdGgpCiAgICAgYmVjYXVzZSBvbiBXaW5k
b3dzLCBib3RoICpfVkFSTkFNRXMgYXJlIFBBVEggYnV0IHVuaW5zdGFsbGVk
CiAgICAgbGlicmFyaWVzIG11c3QgY29tZSBmaXJzdC4gKi8KICBsdF91cGRh
dGVfZXhlX3BhdGggKEVYRV9QQVRIX1ZBUk5BTUUsIEVYRV9QQVRIX1ZBTFVF
KTsKICBsdF91cGRhdGVfbGliX3BhdGggKExJQl9QQVRIX1ZBUk5BTUUsIExJ
Ql9QQVRIX1ZBTFVFKTsKCiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBf
X0xJTkVfXywgIihtYWluKSBsdF9hcmd2X3plcm86ICVzXG4iLAoJCSAgbm9u
bnVsbCAobHRfYXJndl96ZXJvKSk7CiAgZm9yIChpID0gMDsgaSA8IG5ld2Fy
Z2M7IGkrKykKICAgIHsKICAgICAgbHRfZGVidWdwcmludGYgKF9fRklMRV9f
LCBfX0xJTkVfXywgIihtYWluKSBuZXdhcmd6WyVkXTogJXNcbiIsCgkJICAg
ICAgaSwgbm9ubnVsbCAobmV3YXJneltpXSkpOwogICAgfQoKRU9GCgoJICAg
IGNhc2UgJGhvc3Rfb3MgaW4KCSAgICAgIG1pbmd3KikKCQljYXQgPDwiRU9G
IgogIC8qIGV4ZWN2IGRvZXNuJ3QgYWN0dWFsbHkgd29yayBvbiBtaW5ndyBh
cyBleHBlY3RlZCBvbiB1bml4ICovCiAgbmV3YXJneiA9IHByZXBhcmVfc3Bh
d24gKG5ld2FyZ3opOwogIHJ2YWwgPSBfc3Bhd252IChfUF9XQUlULCBsdF9h
cmd2X3plcm8sIChjb25zdCBjaGFyICogY29uc3QgKikgbmV3YXJneik7CiAg
aWYgKHJ2YWwgPT0gLTEpCiAgICB7CiAgICAgIC8qIGZhaWxlZCB0byBzdGFy
dCBwcm9jZXNzICovCiAgICAgIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywg
X19MSU5FX18sCgkJICAgICAgIihtYWluKSBmYWlsZWQgdG8gbGF1bmNoIHRh
cmdldCBcIiVzXCI6ICVzXG4iLAoJCSAgICAgIGx0X2FyZ3ZfemVybywgbm9u
bnVsbCAoc3RyZXJyb3IgKGVycm5vKSkpOwogICAgICByZXR1cm4gMTI3Owog
ICAgfQogIHJldHVybiBydmFsOwpFT0YKCQk7OwoJICAgICAgKikKCQljYXQg
PDwiRU9GIgogIGV4ZWN2IChsdF9hcmd2X3plcm8sIG5ld2FyZ3opOwogIHJl
dHVybiBydmFsOyAvKiA9MTI3LCBidXQgYXZvaWRzIHVudXNlZCB2YXJpYWJs
ZSB3YXJuaW5nICovCkVPRgoJCTs7CgkgICAgZXNhYwoKCSAgICBjYXQgPDwi
RU9GIgp9Cgp2b2lkICoKeG1hbGxvYyAoc2l6ZV90IG51bSkKewogIHZvaWQg
KnAgPSAodm9pZCAqKSBtYWxsb2MgKG51bSk7CiAgaWYgKCFwKQogICAgbHRf
ZmF0YWwgKF9fRklMRV9fLCBfX0xJTkVfXywgIm1lbW9yeSBleGhhdXN0ZWQi
KTsKCiAgcmV0dXJuIHA7Cn0KCmNoYXIgKgp4c3RyZHVwIChjb25zdCBjaGFy
ICpzdHJpbmcpCnsKICByZXR1cm4gc3RyaW5nID8gc3RyY3B5ICgoY2hhciAq
KSB4bWFsbG9jIChzdHJsZW4gKHN0cmluZykgKyAxKSwKCQkJICBzdHJpbmcp
IDogTlVMTDsKfQoKY29uc3QgY2hhciAqCmJhc2VfbmFtZSAoY29uc3QgY2hh
ciAqbmFtZSkKewogIGNvbnN0IGNoYXIgKmJhc2U7CgojaWYgZGVmaW5lZCAo
SEFWRV9ET1NfQkFTRURfRklMRV9TWVNURU0pCiAgLyogU2tpcCBvdmVyIHRo
ZSBkaXNrIG5hbWUgaW4gTVNET1MgcGF0aG5hbWVzLiAqLwogIGlmIChpc2Fs
cGhhICgodW5zaWduZWQgY2hhcikgbmFtZVswXSkgJiYgbmFtZVsxXSA9PSAn
OicpCiAgICBuYW1lICs9IDI7CiNlbmRpZgoKICBmb3IgKGJhc2UgPSBuYW1l
OyAqbmFtZTsgbmFtZSsrKQogICAgaWYgKElTX0RJUl9TRVBBUkFUT1IgKCpu
YW1lKSkKICAgICAgYmFzZSA9IG5hbWUgKyAxOwogIHJldHVybiBiYXNlOwp9
CgppbnQKY2hlY2tfZXhlY3V0YWJsZSAoY29uc3QgY2hhciAqcGF0aCkKewog
IHN0cnVjdCBzdGF0IHN0OwoKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18s
IF9fTElORV9fLCAiKGNoZWNrX2V4ZWN1dGFibGUpOiAlc1xuIiwKICAgICAg
ICAgICAgICAgICAgbm9uZW1wdHkgKHBhdGgpKTsKICBpZiAoKCFwYXRoKSB8
fCAoISpwYXRoKSkKICAgIHJldHVybiAwOwoKICBpZiAoKHN0YXQgKHBhdGgs
ICZzdCkgPj0gMCkKICAgICAgJiYgKHN0LnN0X21vZGUgJiAoU19JWFVTUiB8
IFNfSVhHUlAgfCBTX0lYT1RIKSkpCiAgICByZXR1cm4gMTsKICBlbHNlCiAg
ICByZXR1cm4gMDsKfQoKaW50Cm1ha2VfZXhlY3V0YWJsZSAoY29uc3QgY2hh
ciAqcGF0aCkKewogIGludCBydmFsID0gMDsKICBzdHJ1Y3Qgc3RhdCBzdDsK
CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBfX0xJTkVfXywgIihtYWtl
X2V4ZWN1dGFibGUpOiAlc1xuIiwKICAgICAgICAgICAgICAgICAgbm9uZW1w
dHkgKHBhdGgpKTsKICBpZiAoKCFwYXRoKSB8fCAoISpwYXRoKSkKICAgIHJl
dHVybiAwOwoKICBpZiAoc3RhdCAocGF0aCwgJnN0KSA+PSAwKQogICAgewog
ICAgICBydmFsID0gY2htb2QgKHBhdGgsIHN0LnN0X21vZGUgfCBTX0lYT1RI
IHwgU19JWEdSUCB8IFNfSVhVU1IpOwogICAgfQogIHJldHVybiBydmFsOwp9
CgovKiBTZWFyY2hlcyBmb3IgdGhlIGZ1bGwgcGF0aCBvZiB0aGUgd3JhcHBl
ci4gIFJldHVybnMKICAgbmV3bHkgYWxsb2NhdGVkIGZ1bGwgcGF0aCBuYW1l
IGlmIGZvdW5kLCBOVUxMIG90aGVyd2lzZQogICBEb2VzIG5vdCBjaGFzZSBz
eW1saW5rcywgZXZlbiBvbiBwbGF0Zm9ybXMgdGhhdCBzdXBwb3J0IHRoZW0u
CiovCmNoYXIgKgpmaW5kX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKndyYXBw
ZXIpCnsKICBpbnQgaGFzX3NsYXNoID0gMDsKICBjb25zdCBjaGFyICpwOwog
IGNvbnN0IGNoYXIgKnBfbmV4dDsKICAvKiBzdGF0aWMgYnVmZmVyIGZvciBn
ZXRjd2QgKi8KICBjaGFyIHRtcFtMVF9QQVRITUFYICsgMV07CiAgaW50IHRt
cF9sZW47CiAgY2hhciAqY29uY2F0X25hbWU7CgogIGx0X2RlYnVncHJpbnRm
IChfX0ZJTEVfXywgX19MSU5FX18sICIoZmluZF9leGVjdXRhYmxlKTogJXNc
biIsCiAgICAgICAgICAgICAgICAgIG5vbmVtcHR5ICh3cmFwcGVyKSk7Cgog
IGlmICgod3JhcHBlciA9PSBOVUxMKSB8fCAoKndyYXBwZXIgPT0gJ1wwJykp
CiAgICByZXR1cm4gTlVMTDsKCiAgLyogQWJzb2x1dGUgcGF0aD8gKi8KI2lm
IGRlZmluZWQgKEhBVkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNKQogIGlmIChp
c2FscGhhICgodW5zaWduZWQgY2hhcikgd3JhcHBlclswXSkgJiYgd3JhcHBl
clsxXSA9PSAnOicpCiAgICB7CiAgICAgIGNvbmNhdF9uYW1lID0geHN0cmR1
cCAod3JhcHBlcik7CiAgICAgIGlmIChjaGVja19leGVjdXRhYmxlIChjb25j
YXRfbmFtZSkpCglyZXR1cm4gY29uY2F0X25hbWU7CiAgICAgIFhGUkVFIChj
b25jYXRfbmFtZSk7CiAgICB9CiAgZWxzZQogICAgewojZW5kaWYKICAgICAg
aWYgKElTX0RJUl9TRVBBUkFUT1IgKHdyYXBwZXJbMF0pKQoJewoJICBjb25j
YXRfbmFtZSA9IHhzdHJkdXAgKHdyYXBwZXIpOwoJICBpZiAoY2hlY2tfZXhl
Y3V0YWJsZSAoY29uY2F0X25hbWUpKQoJICAgIHJldHVybiBjb25jYXRfbmFt
ZTsKCSAgWEZSRUUgKGNvbmNhdF9uYW1lKTsKCX0KI2lmIGRlZmluZWQgKEhB
VkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNKQogICAgfQojZW5kaWYKCiAgZm9y
IChwID0gd3JhcHBlcjsgKnA7IHArKykKICAgIGlmICgqcCA9PSAnLycpCiAg
ICAgIHsKCWhhc19zbGFzaCA9IDE7CglicmVhazsKICAgICAgfQogIGlmICgh
aGFzX3NsYXNoKQogICAgewogICAgICAvKiBubyBzbGFzaGVzOyBzZWFyY2gg
UEFUSCAqLwogICAgICBjb25zdCBjaGFyICpwYXRoID0gZ2V0ZW52ICgiUEFU
SCIpOwogICAgICBpZiAocGF0aCAhPSBOVUxMKQoJewoJICBmb3IgKHAgPSBw
YXRoOyAqcDsgcCA9IHBfbmV4dCkKCSAgICB7CgkgICAgICBjb25zdCBjaGFy
ICpxOwoJICAgICAgc2l6ZV90IHBfbGVuOwoJICAgICAgZm9yIChxID0gcDsg
KnE7IHErKykKCQlpZiAoSVNfUEFUSF9TRVBBUkFUT1IgKCpxKSkKCQkgIGJy
ZWFrOwoJICAgICAgcF9sZW4gPSBxIC0gcDsKCSAgICAgIHBfbmV4dCA9ICgq
cSA9PSAnXDAnID8gcSA6IHEgKyAxKTsKCSAgICAgIGlmIChwX2xlbiA9PSAw
KQoJCXsKCQkgIC8qIGVtcHR5IHBhdGg6IGN1cnJlbnQgZGlyZWN0b3J5ICov
CgkJICBpZiAoZ2V0Y3dkICh0bXAsIExUX1BBVEhNQVgpID09IE5VTEwpCgkJ
ICAgIGx0X2ZhdGFsIChfX0ZJTEVfXywgX19MSU5FX18sICJnZXRjd2QgZmFp
bGVkOiAlcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbm51
bGwgKHN0cmVycm9yIChlcnJubykpKTsKCQkgIHRtcF9sZW4gPSBzdHJsZW4g
KHRtcCk7CgkJICBjb25jYXRfbmFtZSA9CgkJICAgIFhNQUxMT0MgKGNoYXIs
IHRtcF9sZW4gKyAxICsgc3RybGVuICh3cmFwcGVyKSArIDEpOwoJCSAgbWVt
Y3B5IChjb25jYXRfbmFtZSwgdG1wLCB0bXBfbGVuKTsKCQkgIGNvbmNhdF9u
YW1lW3RtcF9sZW5dID0gJy8nOwoJCSAgc3RyY3B5IChjb25jYXRfbmFtZSAr
IHRtcF9sZW4gKyAxLCB3cmFwcGVyKTsKCQl9CgkgICAgICBlbHNlCgkJewoJ
CSAgY29uY2F0X25hbWUgPQoJCSAgICBYTUFMTE9DIChjaGFyLCBwX2xlbiAr
IDEgKyBzdHJsZW4gKHdyYXBwZXIpICsgMSk7CgkJICBtZW1jcHkgKGNvbmNh
dF9uYW1lLCBwLCBwX2xlbik7CgkJICBjb25jYXRfbmFtZVtwX2xlbl0gPSAn
Lyc7CgkJICBzdHJjcHkgKGNvbmNhdF9uYW1lICsgcF9sZW4gKyAxLCB3cmFw
cGVyKTsKCQl9CgkgICAgICBpZiAoY2hlY2tfZXhlY3V0YWJsZSAoY29uY2F0
X25hbWUpKQoJCXJldHVybiBjb25jYXRfbmFtZTsKCSAgICAgIFhGUkVFIChj
b25jYXRfbmFtZSk7CgkgICAgfQoJfQogICAgICAvKiBub3QgZm91bmQgaW4g
UEFUSDsgYXNzdW1lIGN1cmRpciAqLwogICAgfQogIC8qIFJlbGF0aXZlIHBh
dGggfCBub3QgZm91bmQgaW4gcGF0aDogcHJlcGVuZCBjd2QgKi8KICBpZiAo
Z2V0Y3dkICh0bXAsIExUX1BBVEhNQVgpID09IE5VTEwpCiAgICBsdF9mYXRh
bCAoX19GSUxFX18sIF9fTElORV9fLCAiZ2V0Y3dkIGZhaWxlZDogJXMiLAog
ICAgICAgICAgICAgIG5vbm51bGwgKHN0cmVycm9yIChlcnJubykpKTsKICB0
bXBfbGVuID0gc3RybGVuICh0bXApOwogIGNvbmNhdF9uYW1lID0gWE1BTExP
QyAoY2hhciwgdG1wX2xlbiArIDEgKyBzdHJsZW4gKHdyYXBwZXIpICsgMSk7
CiAgbWVtY3B5IChjb25jYXRfbmFtZSwgdG1wLCB0bXBfbGVuKTsKICBjb25j
YXRfbmFtZVt0bXBfbGVuXSA9ICcvJzsKICBzdHJjcHkgKGNvbmNhdF9uYW1l
ICsgdG1wX2xlbiArIDEsIHdyYXBwZXIpOwoKICBpZiAoY2hlY2tfZXhlY3V0
YWJsZSAoY29uY2F0X25hbWUpKQogICAgcmV0dXJuIGNvbmNhdF9uYW1lOwog
IFhGUkVFIChjb25jYXRfbmFtZSk7CiAgcmV0dXJuIE5VTEw7Cn0KCmNoYXIg
KgpjaGFzZV9zeW1saW5rcyAoY29uc3QgY2hhciAqcGF0aHNwZWMpCnsKI2lm
bmRlZiBTX0lTTE5LCiAgcmV0dXJuIHhzdHJkdXAgKHBhdGhzcGVjKTsKI2Vs
c2UKICBjaGFyIGJ1ZltMVF9QQVRITUFYXTsKICBzdHJ1Y3Qgc3RhdCBzOwog
IGNoYXIgKnRtcF9wYXRoc3BlYyA9IHhzdHJkdXAgKHBhdGhzcGVjKTsKICBj
aGFyICpwOwogIGludCBoYXNfc3ltbGlua3MgPSAwOwogIHdoaWxlIChzdHJs
ZW4gKHRtcF9wYXRoc3BlYykgJiYgIWhhc19zeW1saW5rcykKICAgIHsKICAg
ICAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBfX0xJTkVfXywKCQkgICAg
ICAiY2hlY2tpbmcgcGF0aCBjb21wb25lbnQgZm9yIHN5bWxpbmtzOiAlc1xu
IiwKCQkgICAgICB0bXBfcGF0aHNwZWMpOwogICAgICBpZiAobHN0YXQgKHRt
cF9wYXRoc3BlYywgJnMpID09IDApCgl7CgkgIGlmIChTX0lTTE5LIChzLnN0
X21vZGUpICE9IDApCgkgICAgewoJICAgICAgaGFzX3N5bWxpbmtzID0gMTsK
CSAgICAgIGJyZWFrOwoJICAgIH0KCgkgIC8qIHNlYXJjaCBiYWNrd2FyZHMg
Zm9yIGxhc3QgRElSX1NFUEFSQVRPUiAqLwoJICBwID0gdG1wX3BhdGhzcGVj
ICsgc3RybGVuICh0bXBfcGF0aHNwZWMpIC0gMTsKCSAgd2hpbGUgKChwID4g
dG1wX3BhdGhzcGVjKSAmJiAoIUlTX0RJUl9TRVBBUkFUT1IgKCpwKSkpCgkg
ICAgcC0tOwoJICBpZiAoKHAgPT0gdG1wX3BhdGhzcGVjKSAmJiAoIUlTX0RJ
Ul9TRVBBUkFUT1IgKCpwKSkpCgkgICAgewoJICAgICAgLyogbm8gbW9yZSBE
SVJfU0VQQVJBVE9SUyBsZWZ0ICovCgkgICAgICBicmVhazsKCSAgICB9Cgkg
ICpwID0gJ1wwJzsKCX0KICAgICAgZWxzZQoJewoJICBsdF9mYXRhbCAoX19G
SUxFX18sIF9fTElORV9fLAoJCSAgICAiZXJyb3IgYWNjZXNzaW5nIGZpbGUg
XCIlc1wiOiAlcyIsCgkJICAgIHRtcF9wYXRoc3BlYywgbm9ubnVsbCAoc3Ry
ZXJyb3IgKGVycm5vKSkpOwoJfQogICAgfQogIFhGUkVFICh0bXBfcGF0aHNw
ZWMpOwoKICBpZiAoIWhhc19zeW1saW5rcykKICAgIHsKICAgICAgcmV0dXJu
IHhzdHJkdXAgKHBhdGhzcGVjKTsKICAgIH0KCiAgdG1wX3BhdGhzcGVjID0g
cmVhbHBhdGggKHBhdGhzcGVjLCBidWYpOwogIGlmICh0bXBfcGF0aHNwZWMg
PT0gMCkKICAgIHsKICAgICAgbHRfZmF0YWwgKF9fRklMRV9fLCBfX0xJTkVf
XywKCQkiY291bGQgbm90IGZvbGxvdyBzeW1saW5rcyBmb3IgJXMiLCBwYXRo
c3BlYyk7CiAgICB9CiAgcmV0dXJuIHhzdHJkdXAgKHRtcF9wYXRoc3BlYyk7
CiNlbmRpZgp9CgpjaGFyICoKc3RyZW5kemFwIChjaGFyICpzdHIsIGNvbnN0
IGNoYXIgKnBhdCkKewogIHNpemVfdCBsZW4sIHBhdGxlbjsKCiAgYXNzZXJ0
IChzdHIgIT0gTlVMTCk7CiAgYXNzZXJ0IChwYXQgIT0gTlVMTCk7CgogIGxl
biA9IHN0cmxlbiAoc3RyKTsKICBwYXRsZW4gPSBzdHJsZW4gKHBhdCk7Cgog
IGlmIChwYXRsZW4gPD0gbGVuKQogICAgewogICAgICBzdHIgKz0gbGVuIC0g
cGF0bGVuOwogICAgICBpZiAoc3RyY21wIChzdHIsIHBhdCkgPT0gMCkKCSpz
dHIgPSAnXDAnOwogICAgfQogIHJldHVybiBzdHI7Cn0KCnZvaWQKbHRfZGVi
dWdwcmludGYgKGNvbnN0IGNoYXIgKmZpbGUsIGludCBsaW5lLCBjb25zdCBj
aGFyICpmbXQsIC4uLikKewogIHZhX2xpc3QgYXJnczsKICBpZiAobHRfZGVi
dWcpCiAgICB7CiAgICAgICh2b2lkKSBmcHJpbnRmIChzdGRlcnIsICIlczol
czolZDogIiwgcHJvZ3JhbV9uYW1lLCBmaWxlLCBsaW5lKTsKICAgICAgdmFf
c3RhcnQgKGFyZ3MsIGZtdCk7CiAgICAgICh2b2lkKSB2ZnByaW50ZiAoc3Rk
ZXJyLCBmbXQsIGFyZ3MpOwogICAgICB2YV9lbmQgKGFyZ3MpOwogICAgfQp9
CgpzdGF0aWMgdm9pZApsdF9lcnJvcl9jb3JlIChpbnQgZXhpdF9zdGF0dXMs
IGNvbnN0IGNoYXIgKmZpbGUsCgkgICAgICAgaW50IGxpbmUsIGNvbnN0IGNo
YXIgKm1vZGUsCgkgICAgICAgY29uc3QgY2hhciAqbWVzc2FnZSwgdmFfbGlz
dCBhcCkKewogIGZwcmludGYgKHN0ZGVyciwgIiVzOiVzOiVkOiAlczogIiwg
cHJvZ3JhbV9uYW1lLCBmaWxlLCBsaW5lLCBtb2RlKTsKICB2ZnByaW50ZiAo
c3RkZXJyLCBtZXNzYWdlLCBhcCk7CiAgZnByaW50ZiAoc3RkZXJyLCAiLlxu
Iik7CgogIGlmIChleGl0X3N0YXR1cyA+PSAwKQogICAgZXhpdCAoZXhpdF9z
dGF0dXMpOwp9Cgp2b2lkCmx0X2ZhdGFsIChjb25zdCBjaGFyICpmaWxlLCBp
bnQgbGluZSwgY29uc3QgY2hhciAqbWVzc2FnZSwgLi4uKQp7CiAgdmFfbGlz
dCBhcDsKICB2YV9zdGFydCAoYXAsIG1lc3NhZ2UpOwogIGx0X2Vycm9yX2Nv
cmUgKEVYSVRfRkFJTFVSRSwgZmlsZSwgbGluZSwgIkZBVEFMIiwgbWVzc2Fn
ZSwgYXApOwogIHZhX2VuZCAoYXApOwp9CgpzdGF0aWMgY29uc3QgY2hhciAq
Cm5vbm51bGwgKGNvbnN0IGNoYXIgKnMpCnsKICByZXR1cm4gcyA/IHMgOiAi
KG51bGwpIjsKfQoKc3RhdGljIGNvbnN0IGNoYXIgKgpub25lbXB0eSAoY29u
c3QgY2hhciAqcykKewogIHJldHVybiAocyAmJiAhKnMpID8gIihlbXB0eSki
IDogbm9ubnVsbCAocyk7Cn0KCnZvaWQKbHRfc2V0ZW52IChjb25zdCBjaGFy
ICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKewogIGx0X2RlYnVncHJpbnRm
IChfX0ZJTEVfXywgX19MSU5FX18sCgkJICAiKGx0X3NldGVudikgc2V0dGlu
ZyAnJXMnIHRvICclcydcbiIsCiAgICAgICAgICAgICAgICAgIG5vbm51bGwg
KG5hbWUpLCBub25udWxsICh2YWx1ZSkpOwogIHsKI2lmZGVmIEhBVkVfU0VU
RU5WCiAgICAvKiBhbHdheXMgbWFrZSBhIGNvcHksIGZvciBjb25zaXN0ZW5j
eSB3aXRoICFIQVZFX1NFVEVOViAqLwogICAgY2hhciAqc3RyID0geHN0cmR1
cCAodmFsdWUpOwogICAgc2V0ZW52IChuYW1lLCBzdHIsIDEpOwojZWxzZQog
ICAgaW50IGxlbiA9IHN0cmxlbiAobmFtZSkgKyAxICsgc3RybGVuICh2YWx1
ZSkgKyAxOwogICAgY2hhciAqc3RyID0gWE1BTExPQyAoY2hhciwgbGVuKTsK
ICAgIHNwcmludGYgKHN0ciwgIiVzPSVzIiwgbmFtZSwgdmFsdWUpOwogICAg
aWYgKHB1dGVudiAoc3RyKSAhPSBFWElUX1NVQ0NFU1MpCiAgICAgIHsKICAg
ICAgICBYRlJFRSAoc3RyKTsKICAgICAgfQojZW5kaWYKICB9Cn0KCmNoYXIg
KgpsdF9leHRlbmRfc3RyIChjb25zdCBjaGFyICpvcmlnX3ZhbHVlLCBjb25z
dCBjaGFyICphZGQsIGludCB0b19lbmQpCnsKICBjaGFyICpuZXdfdmFsdWU7
CiAgaWYgKG9yaWdfdmFsdWUgJiYgKm9yaWdfdmFsdWUpCiAgICB7CiAgICAg
IGludCBvcmlnX3ZhbHVlX2xlbiA9IHN0cmxlbiAob3JpZ192YWx1ZSk7CiAg
ICAgIGludCBhZGRfbGVuID0gc3RybGVuIChhZGQpOwogICAgICBuZXdfdmFs
dWUgPSBYTUFMTE9DIChjaGFyLCBhZGRfbGVuICsgb3JpZ192YWx1ZV9sZW4g
KyAxKTsKICAgICAgaWYgKHRvX2VuZCkKICAgICAgICB7CiAgICAgICAgICBz
dHJjcHkgKG5ld192YWx1ZSwgb3JpZ192YWx1ZSk7CiAgICAgICAgICBzdHJj
cHkgKG5ld192YWx1ZSArIG9yaWdfdmFsdWVfbGVuLCBhZGQpOwogICAgICAg
IH0KICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgIHN0cmNweSAobmV3
X3ZhbHVlLCBhZGQpOwogICAgICAgICAgc3RyY3B5IChuZXdfdmFsdWUgKyBh
ZGRfbGVuLCBvcmlnX3ZhbHVlKTsKICAgICAgICB9CiAgICB9CiAgZWxzZQog
ICAgewogICAgICBuZXdfdmFsdWUgPSB4c3RyZHVwIChhZGQpOwogICAgfQog
IHJldHVybiBuZXdfdmFsdWU7Cn0KCnZvaWQKbHRfdXBkYXRlX2V4ZV9wYXRo
IChjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKewogIGx0
X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18sCgkJICAiKGx0X3Vw
ZGF0ZV9leGVfcGF0aCkgbW9kaWZ5aW5nICclcycgYnkgcHJlcGVuZGluZyAn
JXMnXG4iLAogICAgICAgICAgICAgICAgICBub25udWxsIChuYW1lKSwgbm9u
bnVsbCAodmFsdWUpKTsKCiAgaWYgKG5hbWUgJiYgKm5hbWUgJiYgdmFsdWUg
JiYgKnZhbHVlKQogICAgewogICAgICBjaGFyICpuZXdfdmFsdWUgPSBsdF9l
eHRlbmRfc3RyIChnZXRlbnYgKG5hbWUpLCB2YWx1ZSwgMCk7CiAgICAgIC8q
IHNvbWUgc3lzdGVtcyBjYW4ndCBjb3BlIHdpdGggYSAnOictdGVybWluYXRl
ZCBwYXRoICMnICovCiAgICAgIGludCBsZW4gPSBzdHJsZW4gKG5ld192YWx1
ZSk7CiAgICAgIHdoaWxlICgoKGxlbiA9IHN0cmxlbiAobmV3X3ZhbHVlKSkg
PiAwKSAmJiBJU19QQVRIX1NFUEFSQVRPUiAobmV3X3ZhbHVlW2xlbi0xXSkp
CiAgICAgICAgewogICAgICAgICAgbmV3X3ZhbHVlW2xlbi0xXSA9ICdcMCc7
CiAgICAgICAgfQogICAgICBsdF9zZXRlbnYgKG5hbWUsIG5ld192YWx1ZSk7
CiAgICAgIFhGUkVFIChuZXdfdmFsdWUpOwogICAgfQp9Cgp2b2lkCmx0X3Vw
ZGF0ZV9saWJfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAq
dmFsdWUpCnsKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9f
LAoJCSAgIihsdF91cGRhdGVfbGliX3BhdGgpIG1vZGlmeWluZyAnJXMnIGJ5
IHByZXBlbmRpbmcgJyVzJ1xuIiwKICAgICAgICAgICAgICAgICAgbm9ubnVs
bCAobmFtZSksIG5vbm51bGwgKHZhbHVlKSk7CgogIGlmIChuYW1lICYmICpu
YW1lICYmIHZhbHVlICYmICp2YWx1ZSkKICAgIHsKICAgICAgY2hhciAqbmV3
X3ZhbHVlID0gbHRfZXh0ZW5kX3N0ciAoZ2V0ZW52IChuYW1lKSwgdmFsdWUs
IDApOwogICAgICBsdF9zZXRlbnYgKG5hbWUsIG5ld192YWx1ZSk7CiAgICAg
IFhGUkVFIChuZXdfdmFsdWUpOwogICAgfQp9CgpFT0YKCSAgICBjYXNlICRo
b3N0X29zIGluCgkgICAgICBtaW5ndyopCgkJY2F0IDw8IkVPRiIKCi8qIFBy
ZXBhcmVzIGFuIGFyZ3VtZW50IHZlY3RvciBiZWZvcmUgY2FsbGluZyBzcGF3
bigpLgogICBOb3RlIHRoYXQgc3Bhd24oKSBkb2VzIG5vdCBieSBpdHNlbGYg
Y2FsbCB0aGUgY29tbWFuZCBpbnRlcnByZXRlcgogICAgIChnZXRlbnYgKCJD
T01TUEVDIikgIT0gTlVMTCA/IGdldGVudiAoIkNPTVNQRUMiKSA6CiAgICAg
ICh7IE9TVkVSU0lPTklORk8gdjsgdi5kd09TVmVyc2lvbkluZm9TaXplID0g
c2l6ZW9mKE9TVkVSU0lPTklORk8pOwogICAgICAgICBHZXRWZXJzaW9uRXgo
JnYpOwogICAgICAgICB2LmR3UGxhdGZvcm1JZCA9PSBWRVJfUExBVEZPUk1f
V0lOMzJfTlQ7CiAgICAgIH0pID8gImNtZC5leGUiIDogImNvbW1hbmQuY29t
IikuCiAgIEluc3RlYWQgaXQgc2ltcGx5IGNvbmNhdGVuYXRlcyB0aGUgYXJn
dW1lbnRzLCBzZXBhcmF0ZWQgYnkgJyAnLCBhbmQgY2FsbHMKICAgQ3JlYXRl
UHJvY2VzcygpLiAgV2UgbXVzdCBxdW90ZSB0aGUgYXJndW1lbnRzIHNpbmNl
IFdpbjMyIENyZWF0ZVByb2Nlc3MoKQogICBpbnRlcnByZXRzIGNoYXJhY3Rl
cnMgbGlrZSAnICcsICdcdCcsICdcXCcsICciJyAoYnV0IG5vdCAnPCcgYW5k
ICc+JykgaW4gYQogICBzcGVjaWFsIHdheToKICAgLSBTcGFjZSBhbmQgdGFi
IGFyZSBpbnRlcnByZXRlZCBhcyBkZWxpbWl0ZXJzLiBUaGV5IGFyZSBub3Qg
dHJlYXRlZCBhcwogICAgIGRlbGltaXRlcnMgaWYgdGhleSBhcmUgc3Vycm91
bmRlZCBieSBkb3VibGUgcXVvdGVzOiAiLi4uIi4KICAgLSBVbmVzY2FwZWQg
ZG91YmxlIHF1b3RlcyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBpbnB1dC4gVGhl
aXIgb25seSBlZmZlY3QgaXMKICAgICB0aGF0IHdpdGhpbiBkb3VibGUgcXVv
dGVzLCBzcGFjZSBhbmQgdGFiIGFyZSB0cmVhdGVkIGxpa2Ugbm9ybWFsCiAg
ICAgY2hhcmFjdGVycy4KICAgLSBCYWNrc2xhc2hlcyBub3QgZm9sbG93ZWQg
YnkgZG91YmxlIHF1b3RlcyBhcmUgbm90IHNwZWNpYWwuCiAgIC0gQnV0IDIq
bisxIGJhY2tzbGFzaGVzIGZvbGxvd2VkIGJ5IGEgZG91YmxlIHF1b3RlIGJl
Y29tZQogICAgIG4gYmFja3NsYXNoZXMgZm9sbG93ZWQgYnkgYSBkb3VibGUg
cXVvdGUgKG4gPj0gMCk6CiAgICAgICBcIiAtPiAiCiAgICAgICBcXFwiIC0+
IFwiCiAgICAgICBcXFxcXCIgLT4gXFwiCiAqLwojZGVmaW5lIFNIRUxMX1NQ
RUNJQUxfQ0hBUlMgIlwiXFwgXDAwMVwwMDJcMDAzXDAwNFwwMDVcMDA2XDAw
N1wwMTBcMDExXDAxMlwwMTNcMDE0XDAxNVwwMTZcMDE3XDAyMFwwMjFcMDIy
XDAyM1wwMjRcMDI1XDAyNlwwMjdcMDMwXDAzMVwwMzJcMDMzXDAzNFwwMzVc
MDM2XDAzNyIKI2RlZmluZSBTSEVMTF9TUEFDRV9DSEFSUyAiIFwwMDFcMDAy
XDAwM1wwMDRcMDA1XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVc
MDE2XDAxN1wwMjBcMDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFww
MzFcMDMyXDAzM1wwMzRcMDM1XDAzNlwwMzciCmNoYXIgKioKcHJlcGFyZV9z
cGF3biAoY2hhciAqKmFyZ3YpCnsKICBzaXplX3QgYXJnYzsKICBjaGFyICoq
bmV3X2FyZ3Y7CiAgc2l6ZV90IGk7CgogIC8qIENvdW50IG51bWJlciBvZiBh
cmd1bWVudHMuICAqLwogIGZvciAoYXJnYyA9IDA7IGFyZ3ZbYXJnY10gIT0g
TlVMTDsgYXJnYysrKQogICAgOwoKICAvKiBBbGxvY2F0ZSBuZXcgYXJndW1l
bnQgdmVjdG9yLiAgKi8KICBuZXdfYXJndiA9IFhNQUxMT0MgKGNoYXIgKiwg
YXJnYyArIDEpOwoKICAvKiBQdXQgcXVvdGVkIGFyZ3VtZW50cyBpbnRvIHRo
ZSBuZXcgYXJndW1lbnQgdmVjdG9yLiAgKi8KICBmb3IgKGkgPSAwOyBpIDwg
YXJnYzsgaSsrKQogICAgewogICAgICBjb25zdCBjaGFyICpzdHJpbmcgPSBh
cmd2W2ldOwoKICAgICAgaWYgKHN0cmluZ1swXSA9PSAnXDAnKQoJbmV3X2Fy
Z3ZbaV0gPSB4c3RyZHVwICgiXCJcIiIpOwogICAgICBlbHNlIGlmIChzdHJw
YnJrIChzdHJpbmcsIFNIRUxMX1NQRUNJQUxfQ0hBUlMpICE9IE5VTEwpCgl7
CgkgIGludCBxdW90ZV9hcm91bmQgPSAoc3RycGJyayAoc3RyaW5nLCBTSEVM
TF9TUEFDRV9DSEFSUykgIT0gTlVMTCk7CgkgIHNpemVfdCBsZW5ndGg7Cgkg
IHVuc2lnbmVkIGludCBiYWNrc2xhc2hlczsKCSAgY29uc3QgY2hhciAqczsK
CSAgY2hhciAqcXVvdGVkX3N0cmluZzsKCSAgY2hhciAqcDsKCgkgIGxlbmd0
aCA9IDA7CgkgIGJhY2tzbGFzaGVzID0gMDsKCSAgaWYgKHF1b3RlX2Fyb3Vu
ZCkKCSAgICBsZW5ndGgrKzsKCSAgZm9yIChzID0gc3RyaW5nOyAqcyAhPSAn
XDAnOyBzKyspCgkgICAgewoJICAgICAgY2hhciBjID0gKnM7CgkgICAgICBp
ZiAoYyA9PSAnIicpCgkJbGVuZ3RoICs9IGJhY2tzbGFzaGVzICsgMTsKCSAg
ICAgIGxlbmd0aCsrOwoJICAgICAgaWYgKGMgPT0gJ1xcJykKCQliYWNrc2xh
c2hlcysrOwoJICAgICAgZWxzZQoJCWJhY2tzbGFzaGVzID0gMDsKCSAgICB9
CgkgIGlmIChxdW90ZV9hcm91bmQpCgkgICAgbGVuZ3RoICs9IGJhY2tzbGFz
aGVzICsgMTsKCgkgIHF1b3RlZF9zdHJpbmcgPSBYTUFMTE9DIChjaGFyLCBs
ZW5ndGggKyAxKTsKCgkgIHAgPSBxdW90ZWRfc3RyaW5nOwoJICBiYWNrc2xh
c2hlcyA9IDA7CgkgIGlmIChxdW90ZV9hcm91bmQpCgkgICAgKnArKyA9ICci
JzsKCSAgZm9yIChzID0gc3RyaW5nOyAqcyAhPSAnXDAnOyBzKyspCgkgICAg
ewoJICAgICAgY2hhciBjID0gKnM7CgkgICAgICBpZiAoYyA9PSAnIicpCgkJ
ewoJCSAgdW5zaWduZWQgaW50IGo7CgkJICBmb3IgKGogPSBiYWNrc2xhc2hl
cyArIDE7IGogPiAwOyBqLS0pCgkJICAgICpwKysgPSAnXFwnOwoJCX0KCSAg
ICAgICpwKysgPSBjOwoJICAgICAgaWYgKGMgPT0gJ1xcJykKCQliYWNrc2xh
c2hlcysrOwoJICAgICAgZWxzZQoJCWJhY2tzbGFzaGVzID0gMDsKCSAgICB9
CgkgIGlmIChxdW90ZV9hcm91bmQpCgkgICAgewoJICAgICAgdW5zaWduZWQg
aW50IGo7CgkgICAgICBmb3IgKGogPSBiYWNrc2xhc2hlczsgaiA+IDA7IGot
LSkKCQkqcCsrID0gJ1xcJzsKCSAgICAgICpwKysgPSAnIic7CgkgICAgfQoJ
ICAqcCA9ICdcMCc7CgoJICBuZXdfYXJndltpXSA9IHF1b3RlZF9zdHJpbmc7
Cgl9CiAgICAgIGVsc2UKCW5ld19hcmd2W2ldID0gKGNoYXIgKikgc3RyaW5n
OwogICAgfQogIG5ld19hcmd2W2FyZ2NdID0gTlVMTDsKCiAgcmV0dXJuIG5l
d19hcmd2Owp9CkVPRgoJCTs7CgkgICAgZXNhYwoKICAgICAgICAgICAgY2F0
IDw8IkVPRiIKdm9pZCBsdF9kdW1wX3NjcmlwdCAoRklMRSogZikKewpFT0YK
CSAgICBmdW5jX2VtaXRfd3JhcHBlciB5ZXMgfAogICAgICAgICAgICAgICRT
RUQgLWUgJ3MvXChbXFwiXVwpL1xcXDEvZycgXAoJICAgICAgICAgICAtZSAn
cy9eLyAgZnB1dHMgKCIvJyAtZSAncy8kL1xcbiIsIGYpOy8nCgogICAgICAg
ICAgICBjYXQgPDwiRU9GIgp9CkVPRgp9CiMgZW5kOiBmdW5jX2VtaXRfY3dy
YXBwZXJleGVfc3JjCgojIGZ1bmNfZW1pdF9leGVfbWFuaWZlc3QKIyBlbWl0
IGEgV2luMzIgVUFDIG1hbmlmZXN0IGZvciBleGVjdXRhYmxlIG9uIHN0ZG91
dAojIE11c3QgT05MWSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4gZnVuY19tb2Rl
X2xpbmsgYmVjYXVzZQojIGl0IGRlcGVuZHMgb24gYSBudW1iZXIgb2YgdmFy
aWFibGUgc2V0IHRoZXJlaW4uCmZ1bmNfZW1pdF9leGVfbWFuaWZlc3QgKCkK
ewogICAgY2F0IDw8RU9GCjw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9
IlVURi04IiBzdGFuZGFsb25lPSJ5ZXMiPz4KPGFzc2VtYmx5IHhtbG5zPSJ1
cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOmFzbS52MSIgbWFuaWZlc3RWZXJz
aW9uPSIxLjAiPgogIDxhc3NlbWJseUlkZW50aXR5IHZlcnNpb249IjEuMC4w
LjAiCkVPRgoKICAgIGNhc2UgJGhvc3QgaW4KICAgIGk/ODYtKi0qICkgICBl
Y2hvICcgICAgIHByb2Nlc3NvckFyY2hpdGVjdHVyZT0ieDg2IicgOzsKICAg
IGlhNjQtKi0qICkgICBlY2hvICcgICAgIHByb2Nlc3NvckFyY2hpdGVjdHVy
ZT0iaWE2NCInIDs7CiAgICB4ODZfNjQtKi0qICkgZWNobyAnICAgICBwcm9j
ZXNzb3JBcmNoaXRlY3R1cmU9ImFtZDY0IicgOzsKICAgICopICAgICAgICAg
ICBlY2hvICcgICAgIHByb2Nlc3NvckFyY2hpdGVjdHVyZT0iKiInIDs7CiAg
ICBlc2FjCgogICAgY2F0IDw8RU9GCiAgICAgbmFtZT0iJGhvc3Rfb3MuJFBS
T0dSQU0uJG91dHB1dG5hbWUiCiAgICAgdHlwZT0id2luMzIiLz4KCiAgPCEt
LSBJZGVudGlmeSB0aGUgYXBwbGljYXRpb24gc2VjdXJpdHkgcmVxdWlyZW1l
bnRzLiAtLT4KICA8dHJ1c3RJbmZvIHhtbG5zPSJ1cm46c2NoZW1hcy1taWNy
b3NvZnQtY29tOmFzbS52MyI+CiAgICA8c2VjdXJpdHk+CiAgICAgIDxyZXF1
ZXN0ZWRQcml2aWxlZ2VzPgogICAgICAgIDxyZXF1ZXN0ZWRFeGVjdXRpb25M
ZXZlbCBsZXZlbD0iYXNJbnZva2VyIiB1aUFjY2Vzcz0iZmFsc2UiLz4KICAg
ICAgPC9yZXF1ZXN0ZWRQcml2aWxlZ2VzPgogICAgPC9zZWN1cml0eT4KICA8
L3RydXN0SW5mbz4KPC9hc3NlbWJseT4KRU9GCn0KCiMgZnVuY193aW4zMl9p
bXBvcnRfbGliX3AgQVJHCiMgVHJ1ZSBpZiBBUkcgaXMgYW4gaW1wb3J0IGxp
YiwgYXMgaW5kaWNhdGVkIGJ5ICRmaWxlX21hZ2ljX2NtZApmdW5jX3dpbjMy
X2ltcG9ydF9saWJfcCAoKQp7CiAgICAkb3B0X2RlYnVnCiAgICBjYXNlIGBl
dmFsICRmaWxlX21hZ2ljX2NtZCBcIlwkMVwiIDI+L2Rldi9udWxsIHwgJFNF
RCAtZSAxMHFgIGluCiAgICAqaW1wb3J0KikgOiA7OwogICAgKikgZmFsc2Ug
OzsKICAgIGVzYWMKfQoKIyBmdW5jX21vZGVfbGluayBhcmcuLi4KZnVuY19t
b2RlX2xpbmsgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgY2FzZSAkaG9zdCBp
bgogICAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwg
Ki0qLW9zMiogfCAqLWNlZ2NjKikKICAgICAgIyBJdCBpcyBpbXBvc3NpYmxl
IHRvIGxpbmsgYSBkbGwgd2l0aG91dCB0aGlzIHNldHRpbmcsIGFuZAogICAg
ICAjIHdlIHNob3VsZG4ndCBmb3JjZSB0aGUgbWFrZWZpbGUgbWFpbnRhaW5l
ciB0byBmaWd1cmUgb3V0CiAgICAgICMgd2hpY2ggc3lzdGVtIHdlIGFyZSBj
b21waWxpbmcgZm9yIGluIG9yZGVyIHRvIHBhc3MgYW4gZXh0cmEKICAgICAg
IyBmbGFnIGZvciBldmVyeSBsaWJ0b29sIGludm9jYXRpb24uCiAgICAgICMg
YWxsb3dfdW5kZWZpbmVkPW5vCgogICAgICAjIEZJWE1FOiBVbmZvcnR1bmF0
ZWx5LCB0aGVyZSBhcmUgcHJvYmxlbXMgd2l0aCB0aGUgYWJvdmUgd2hlbiB0
cnlpbmcKICAgICAgIyB0byBtYWtlIGEgZGxsIHdoaWNoIGhhcyB1bmRlZmlu
ZWQgc3ltYm9scywgaW4gd2hpY2ggY2FzZSBub3QKICAgICAgIyBldmVuIGEg
c3RhdGljIGxpYnJhcnkgaXMgYnVpbHQuICBGb3Igbm93LCB3ZSBuZWVkIHRv
IHNwZWNpZnkKICAgICAgIyAtbm8tdW5kZWZpbmVkIG9uIHRoZSBsaWJ0b29s
IGxpbmsgbGluZSB3aGVuIHdlIGNhbiBiZSBjZXJ0YWluCiAgICAgICMgdGhh
dCBhbGwgc3ltYm9scyBhcmUgc2F0aXNmaWVkLCBvdGhlcndpc2Ugd2UgZ2V0
IGEgc3RhdGljIGxpYnJhcnkuCiAgICAgIGFsbG93X3VuZGVmaW5lZD15ZXMK
ICAgICAgOzsKICAgICopCiAgICAgIGFsbG93X3VuZGVmaW5lZD15ZXMKICAg
ICAgOzsKICAgIGVzYWMKICAgIGxpYnRvb2xfYXJncz0kbm9ub3B0CiAgICBi
YXNlX2NvbXBpbGU9IiRub25vcHQgJEAiCiAgICBjb21waWxlX2NvbW1hbmQ9
JG5vbm9wdAogICAgZmluYWxpemVfY29tbWFuZD0kbm9ub3B0CgogICAgY29t
cGlsZV9ycGF0aD0KICAgIGZpbmFsaXplX3JwYXRoPQogICAgY29tcGlsZV9z
aGxpYnBhdGg9CiAgICBmaW5hbGl6ZV9zaGxpYnBhdGg9CiAgICBjb252ZW5p
ZW5jZT0KICAgIG9sZF9jb252ZW5pZW5jZT0KICAgIGRlcGxpYnM9CiAgICBv
bGRfZGVwbGlicz0KICAgIGNvbXBpbGVyX2ZsYWdzPQogICAgbGlua2VyX2Zs
YWdzPQogICAgZGxsc2VhcmNocGF0aD0KICAgIGxpYl9zZWFyY2hfcGF0aD1g
cHdkYAogICAgaW5zdF9wcmVmaXhfZGlyPQogICAgbmV3X2luaGVyaXRlZF9s
aW5rZXJfZmxhZ3M9CgogICAgYXZvaWRfdmVyc2lvbj1ubwogICAgYmluZGly
PQogICAgZGxmaWxlcz0KICAgIGRscHJlZmlsZXM9CiAgICBkbHNlbGY9bm8K
ICAgIGV4cG9ydF9keW5hbWljPW5vCiAgICBleHBvcnRfc3ltYm9scz0KICAg
IGV4cG9ydF9zeW1ib2xzX3JlZ2V4PQogICAgZ2VuZXJhdGVkPQogICAgbGli
b2Jqcz0KICAgIGx0bGlicz0KICAgIG1vZHVsZT1ubwogICAgbm9faW5zdGFs
bD1ubwogICAgb2Jqcz0KICAgIG5vbl9waWNfb2JqZWN0cz0KICAgIHByZWNp
b3VzX2ZpbGVzX3JlZ2V4PQogICAgcHJlZmVyX3N0YXRpY19saWJzPW5vCiAg
ICBwcmVsb2FkPW5vCiAgICBwcmV2PQogICAgcHJldmFyZz0KICAgIHJlbGVh
c2U9CiAgICBycGF0aD0KICAgIHhycGF0aD0KICAgIHBlcm1fcnBhdGg9CiAg
ICB0ZW1wX3JwYXRoPQogICAgdGhyZWFkX3NhZmU9bm8KICAgIHZpbmZvPQog
ICAgdmluZm9fbnVtYmVyPW5vCiAgICB3ZWFrX2xpYnM9CiAgICBzaW5nbGVf
bW9kdWxlPSIke3dsfS1zaW5nbGVfbW9kdWxlIgogICAgZnVuY19pbmZlcl90
YWcgJGJhc2VfY29tcGlsZQoKICAgICMgV2UgbmVlZCB0byBrbm93IC1zdGF0
aWMsIHRvIGdldCB0aGUgcmlnaHQgb3V0cHV0IGZpbGVuYW1lcy4KICAgIGZv
ciBhcmcKICAgIGRvCiAgICAgIGNhc2UgJGFyZyBpbgogICAgICAtc2hhcmVk
KQoJdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzICYmIFwKCSAg
ZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJjYW4gbm90IGJ1aWxkIGEgc2hh
cmVkIGxpYnJhcnkiCglidWlsZF9vbGRfbGlicz1ubwoJYnJlYWsKCTs7CiAg
ICAgIC1hbGwtc3RhdGljIHwgLXN0YXRpYyB8IC1zdGF0aWMtbGlidG9vbC1s
aWJzKQoJY2FzZSAkYXJnIGluCgktYWxsLXN0YXRpYykKCSAgaWYgdGVzdCAi
JGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXMgJiYgdGVzdCAteiAiJGxpbmtf
c3RhdGljX2ZsYWciOyB0aGVuCgkgICAgZnVuY193YXJuaW5nICJjb21wbGV0
ZSBzdGF0aWMgbGlua2luZyBpcyBpbXBvc3NpYmxlIGluIHRoaXMgY29uZmln
dXJhdGlvbiIKCSAgZmkKCSAgaWYgdGVzdCAtbiAiJGxpbmtfc3RhdGljX2Zs
YWciOyB0aGVuCgkgICAgZGxvcGVuX3NlbGY9JGRsb3Blbl9zZWxmX3N0YXRp
YwoJICBmaQoJICBwcmVmZXJfc3RhdGljX2xpYnM9eWVzCgkgIDs7Cgktc3Rh
dGljKQoJICBpZiB0ZXN0IC16ICIkcGljX2ZsYWciICYmIHRlc3QgLW4gIiRs
aW5rX3N0YXRpY19mbGFnIjsgdGhlbgoJICAgIGRsb3Blbl9zZWxmPSRkbG9w
ZW5fc2VsZl9zdGF0aWMKCSAgZmkKCSAgcHJlZmVyX3N0YXRpY19saWJzPWJ1
aWx0CgkgIDs7Cgktc3RhdGljLWxpYnRvb2wtbGlicykKCSAgaWYgdGVzdCAt
eiAiJHBpY19mbGFnIiAmJiB0ZXN0IC1uICIkbGlua19zdGF0aWNfZmxhZyI7
IHRoZW4KCSAgICBkbG9wZW5fc2VsZj0kZGxvcGVuX3NlbGZfc3RhdGljCgkg
IGZpCgkgIHByZWZlcl9zdGF0aWNfbGlicz15ZXMKCSAgOzsKCWVzYWMKCWJ1
aWxkX2xpYnRvb2xfbGlicz1ubwoJYnVpbGRfb2xkX2xpYnM9eWVzCglicmVh
awoJOzsKICAgICAgZXNhYwogICAgZG9uZQoKICAgICMgU2VlIGlmIG91ciBz
aGFyZWQgYXJjaGl2ZXMgZGVwZW5kIG9uIHN0YXRpYyBhcmNoaXZlcy4KICAg
IHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzIiAmJiBidWls
ZF9vbGRfbGlicz15ZXMKCiAgICAjIEdvIHRocm91Z2ggdGhlIGFyZ3VtZW50
cywgdHJhbnNmb3JtaW5nIHRoZW0gb24gdGhlIHdheS4KICAgIHdoaWxlIHRl
c3QgIiQjIiAtZ3QgMDsgZG8KICAgICAgYXJnPSIkMSIKICAgICAgc2hpZnQK
ICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKICAgICAgcWFyZz0k
ZnVuY19xdW90ZV9mb3JfZXZhbF91bnF1b3RlZF9yZXN1bHQKICAgICAgbGli
dG9vbF9hcmdzKz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKCiAg
ICAgICMgSWYgdGhlIHByZXZpb3VzIG9wdGlvbiBuZWVkcyBhbiBhcmd1bWVu
dCwgYXNzaWduIGl0LgogICAgICBpZiB0ZXN0IC1uICIkcHJldiI7IHRoZW4K
CWNhc2UgJHByZXYgaW4KCW91dHB1dCkKCSAgY29tcGlsZV9jb21tYW5kKz0i
IEBPVVRQVVRAIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0iIEBPVVRQVVRAIgoJ
ICA7OwoJZXNhYwoKCWNhc2UgJHByZXYgaW4KCWJpbmRpcikKCSAgYmluZGly
PSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJZGxmaWxlc3xk
bHByZWZpbGVzKQoJICBpZiB0ZXN0ICIkcHJlbG9hZCIgPSBubzsgdGhlbgoJ
ICAgICMgQWRkIHRoZSBzeW1ib2wgb2JqZWN0IGludG8gdGhlIGxpbmtpbmcg
Y29tbWFuZHMuCgkgICAgY29tcGlsZV9jb21tYW5kKz0iIEBTWU1GSUxFQCIK
CSAgICBmaW5hbGl6ZV9jb21tYW5kKz0iIEBTWU1GSUxFQCIKCSAgICBwcmVs
b2FkPXllcwoJICBmaQoJICBjYXNlICRhcmcgaW4KCSAgKi5sYSB8ICoubG8p
IDs7ICAjIFdlIGhhbmRsZSB0aGVzZSBjYXNlcyBiZWxvdy4KCSAgZm9yY2Up
CgkgICAgaWYgdGVzdCAiJGRsc2VsZiIgPSBubzsgdGhlbgoJICAgICAgZGxz
ZWxmPW5lZWRsZXNzCgkgICAgICBleHBvcnRfZHluYW1pYz15ZXMKCSAgICBm
aQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICBzZWxmKQoJ
ICAgIGlmIHRlc3QgIiRwcmV2IiA9IGRscHJlZmlsZXM7IHRoZW4KCSAgICAg
IGRsc2VsZj15ZXMKCSAgICBlbGlmIHRlc3QgIiRwcmV2IiA9IGRsZmlsZXMg
JiYgdGVzdCAiJGRsb3Blbl9zZWxmIiAhPSB5ZXM7IHRoZW4KCSAgICAgIGRs
c2VsZj15ZXMKCSAgICBlbHNlCgkgICAgICBkbHNlbGY9bmVlZGxlc3MKCSAg
ICAgIGV4cG9ydF9keW5hbWljPXllcwoJICAgIGZpCgkgICAgcHJldj0KCSAg
ICBjb250aW51ZQoJICAgIDs7CgkgICopCgkgICAgaWYgdGVzdCAiJHByZXYi
ID0gZGxmaWxlczsgdGhlbgoJICAgICAgZGxmaWxlcys9IiAkYXJnIgoJICAg
IGVsc2UKCSAgICAgIGRscHJlZmlsZXMrPSIgJGFyZyIKCSAgICBmaQoJICAg
IHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICBlc2FjCgkgIDs7Cgll
eHBzeW1zKQoJICBleHBvcnRfc3ltYm9scz0iJGFyZyIKCSAgdGVzdCAtZiAi
JGFyZyIgXAoJICAgIHx8IGZ1bmNfZmF0YWxfZXJyb3IgInN5bWJvbCBmaWxl
IFxgJGFyZycgZG9lcyBub3QgZXhpc3QiCgkgIHByZXY9CgkgIGNvbnRpbnVl
CgkgIDs7CglleHBzeW1zX3JlZ2V4KQoJICBleHBvcnRfc3ltYm9sc19yZWdl
eD0iJGFyZyIKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCWZyYW1ld29y
aykKCSAgY2FzZSAkaG9zdCBpbgoJICAgICotKi1kYXJ3aW4qKQoJICAgICAg
Y2FzZSAiJGRlcGxpYnMgIiBpbgoJCSoiICRxYXJnLmx0ZnJhbWV3b3JrICIq
KSA7OwoJCSopIGRlcGxpYnMrPSIgJHFhcmcubHRmcmFtZXdvcmsiICMgdGhp
cyBpcyBmaXhlZCBsYXRlcgoJCSAgIDs7CgkgICAgICBlc2FjCgkgICAgICA7
OwoJICBlc2FjCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7CglpbnN0X3By
ZWZpeCkKCSAgaW5zdF9wcmVmaXhfZGlyPSIkYXJnIgoJICBwcmV2PQoJICBj
b250aW51ZQoJICA7OwoJb2JqZWN0bGlzdCkKCSAgaWYgdGVzdCAtZiAiJGFy
ZyI7IHRoZW4KCSAgICBzYXZlX2FyZz0kYXJnCgkgICAgbW9yZWFyZ3M9Cgkg
ICAgZm9yIGZpbCBpbiBgY2F0ICIkc2F2ZV9hcmciYAoJICAgIGRvCiMJICAg
ICAgbW9yZWFyZ3MrPSIgJGZpbCIKCSAgICAgIGFyZz0kZmlsCgkgICAgICAj
IEEgbGlidG9vbC1jb250cm9sbGVkIG9iamVjdC4KCgkgICAgICAjIENoZWNr
IHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEgbGlidG9vbCBvYmplY3Qu
CgkgICAgICBpZiBmdW5jX2xhbGliX3Vuc2FmZV9wICIkYXJnIjsgdGhlbgoJ
CXBpY19vYmplY3Q9CgkJbm9uX3BpY19vYmplY3Q9CgoJCSMgUmVhZCB0aGUg
LmxvIGZpbGUKCQlmdW5jX3NvdXJjZSAiJGFyZyIKCgkJaWYgdGVzdCAteiAi
JHBpY19vYmplY3QiIHx8CgkJICAgdGVzdCAteiAiJG5vbl9waWNfb2JqZWN0
IiB8fAoJCSAgIHRlc3QgIiRwaWNfb2JqZWN0IiA9IG5vbmUgJiYKCQkgICB0
ZXN0ICIkbm9uX3BpY19vYmplY3QiID0gbm9uZTsgdGhlbgoJCSAgZnVuY19m
YXRhbF9lcnJvciAiY2Fubm90IGZpbmQgbmFtZSBvZiBvYmplY3QgZm9yIFxg
JGFyZyciCgkJZmkKCgkJIyBFeHRyYWN0IHN1YmRpcmVjdG9yeSBmcm9tIHRo
ZSBhcmd1bWVudC4KCQlmdW5jX2Rpcm5hbWUgIiRhcmciICIvIiAiIgoJCXhk
aXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCQlpZiB0ZXN0ICIkcGljX29i
amVjdCIgIT0gbm9uZTsgdGhlbgoJCSAgIyBQcmVwZW5kIHRoZSBzdWJkaXJl
Y3RvcnkgdGhlIG9iamVjdCBpcyBmb3VuZCBpbi4KCQkgIHBpY19vYmplY3Q9
IiR4ZGlyJHBpY19vYmplY3QiCgoJCSAgaWYgdGVzdCAiJHByZXYiID0gZGxm
aWxlczsgdGhlbgoJCSAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJz
IiA9IHllcyAmJiB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiID0geWVzOyB0aGVu
CgkJICAgICAgZGxmaWxlcys9IiAkcGljX29iamVjdCIKCQkgICAgICBwcmV2
PQoJCSAgICAgIGNvbnRpbnVlCgkJICAgIGVsc2UKCQkgICAgICAjIElmIGxp
YnRvb2wgb2JqZWN0cyBhcmUgdW5zdXBwb3J0ZWQsIHRoZW4gd2UgbmVlZCB0
byBwcmVsb2FkLgoJCSAgICAgIHByZXY9ZGxwcmVmaWxlcwoJCSAgICBmaQoJ
CSAgZmkKCgkJICAjIENIRUNLIE1FOiAgSSB0aGluayBJIGJ1c3RlZCB0aGlz
LiAgLU9zc2FtYQoJCSAgaWYgdGVzdCAiJHByZXYiID0gZGxwcmVmaWxlczsg
dGhlbgoJCSAgICAjIFByZWxvYWQgdGhlIG9sZC1zdHlsZSBvYmplY3QuCgkJ
ICAgIGRscHJlZmlsZXMrPSIgJHBpY19vYmplY3QiCgkJICAgIHByZXY9CgkJ
ICBmaQoKCQkgICMgQSBQSUMgb2JqZWN0LgoJCSAgbGlib2Jqcys9IiAkcGlj
X29iamVjdCIKCQkgIGFyZz0iJHBpY19vYmplY3QiCgkJZmkKCgkJIyBOb24t
UElDIG9iamVjdC4KCQlpZiB0ZXN0ICIkbm9uX3BpY19vYmplY3QiICE9IG5v
bmU7IHRoZW4KCQkgICMgUHJlcGVuZCB0aGUgc3ViZGlyZWN0b3J5IHRoZSBv
YmplY3QgaXMgZm91bmQgaW4uCgkJICBub25fcGljX29iamVjdD0iJHhkaXIk
bm9uX3BpY19vYmplY3QiCgoJCSAgIyBBIHN0YW5kYXJkIG5vbi1QSUMgb2Jq
ZWN0CgkJICBub25fcGljX29iamVjdHMrPSIgJG5vbl9waWNfb2JqZWN0IgoJ
CSAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IHRlc3QgIiRwaWNfb2Jq
ZWN0IiA9IG5vbmUgOyB0aGVuCgkJICAgIGFyZz0iJG5vbl9waWNfb2JqZWN0
IgoJCSAgZmkKCQllbHNlCgkJICAjIElmIHRoZSBQSUMgb2JqZWN0IGV4aXN0
cywgdXNlIGl0IGluc3RlYWQuCgkJICAjICR4ZGlyIHdhcyBwcmVwZW5kZWQg
dG8gJHBpY19vYmplY3QgYWJvdmUuCgkJICBub25fcGljX29iamVjdD0iJHBp
Y19vYmplY3QiCgkJICBub25fcGljX29iamVjdHMrPSIgJG5vbl9waWNfb2Jq
ZWN0IgoJCWZpCgkgICAgICBlbHNlCgkJIyBPbmx5IGFuIGVycm9yIGlmIG5v
dCBkb2luZyBhIGRyeS1ydW4uCgkJaWYgJG9wdF9kcnlfcnVuOyB0aGVuCgkJ
ICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhlIGFyZ3VtZW50LgoJ
CSAgZnVuY19kaXJuYW1lICIkYXJnIiAiLyIgIiIKCQkgIHhkaXI9IiRmdW5j
X2Rpcm5hbWVfcmVzdWx0IgoKCQkgIGZ1bmNfbG8ybyAiJGFyZyIKCQkgIHBp
Y19vYmplY3Q9JHhkaXIkb2JqZGlyLyRmdW5jX2xvMm9fcmVzdWx0CgkJICBu
b25fcGljX29iamVjdD0keGRpciRmdW5jX2xvMm9fcmVzdWx0CgkJICBsaWJv
YmpzKz0iICRwaWNfb2JqZWN0IgoJCSAgbm9uX3BpY19vYmplY3RzKz0iICRu
b25fcGljX29iamVjdCIKCSAgICAgICAgZWxzZQoJCSAgZnVuY19mYXRhbF9l
cnJvciAiXGAkYXJnJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIG9iamVjdCIK
CQlmaQoJICAgICAgZmkKCSAgICBkb25lCgkgIGVsc2UKCSAgICBmdW5jX2Zh
dGFsX2Vycm9yICJsaW5rIGlucHV0IGZpbGUgXGAkYXJnJyBkb2VzIG5vdCBl
eGlzdCIKCSAgZmkKCSAgYXJnPSRzYXZlX2FyZwoJICBwcmV2PQoJICBjb250
aW51ZQoJICA7OwoJcHJlY2lvdXNfcmVnZXgpCgkgIHByZWNpb3VzX2ZpbGVz
X3JlZ2V4PSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJcmVs
ZWFzZSkKCSAgcmVsZWFzZT0iLSRhcmciCgkgIHByZXY9CgkgIGNvbnRpbnVl
CgkgIDs7CglycGF0aCB8IHhycGF0aCkKCSAgIyBXZSBuZWVkIGFuIGFic29s
dXRlIHBhdGguCgkgIGNhc2UgJGFyZyBpbgoJICBbXFwvXSogfCBbQS1aYS16
XTpbXFwvXSopIDs7CgkgICopCgkgICAgZnVuY19mYXRhbF9lcnJvciAib25s
eSBhYnNvbHV0ZSBydW4tcGF0aHMgYXJlIGFsbG93ZWQiCgkgICAgOzsKCSAg
ZXNhYwoJICBpZiB0ZXN0ICIkcHJldiIgPSBycGF0aDsgdGhlbgoJICAgIGNh
c2UgIiRycGF0aCAiIGluCgkgICAgKiIgJGFyZyAiKikgOzsKCSAgICAqKSBy
cGF0aCs9IiAkYXJnIiA7OwoJICAgIGVzYWMKCSAgZWxzZQoJICAgIGNhc2Ug
IiR4cnBhdGggIiBpbgoJICAgICoiICRhcmcgIiopIDs7CgkgICAgKikgeHJw
YXRoKz0iICRhcmciIDs7CgkgICAgZXNhYwoJICBmaQoJICBwcmV2PQoJICBj
b250aW51ZQoJICA7OwoJc2hyZXh0KQoJICBzaHJleHRfY21kcz0iJGFyZyIK
CSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCXdlYWspCgkgIHdlYWtfbGli
cys9IiAkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJeGNjbGlu
a2VyKQoJICBsaW5rZXJfZmxhZ3MrPSIgJHFhcmciCgkgIGNvbXBpbGVyX2Zs
YWdzKz0iICRxYXJnIgoJICBwcmV2PQoJICBjb21waWxlX2NvbW1hbmQrPSIg
JHFhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHFhcmciCgkgIGNvbnRp
bnVlCgkgIDs7Cgl4Y29tcGlsZXIpCgkgIGNvbXBpbGVyX2ZsYWdzKz0iICRx
YXJnIgoJICBwcmV2PQoJICBjb21waWxlX2NvbW1hbmQrPSIgJHFhcmciCgkg
IGZpbmFsaXplX2NvbW1hbmQrPSIgJHFhcmciCgkgIGNvbnRpbnVlCgkgIDs7
Cgl4bGlua2VyKQoJICBsaW5rZXJfZmxhZ3MrPSIgJHFhcmciCgkgIGNvbXBp
bGVyX2ZsYWdzKz0iICR3bCRxYXJnIgoJICBwcmV2PQoJICBjb21waWxlX2Nv
bW1hbmQrPSIgJHdsJHFhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHds
JHFhcmciCgkgIGNvbnRpbnVlCgkgIDs7CgkqKQoJICBldmFsICIkcHJldj1c
IlwkYXJnXCIiCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkgIDs7Cgllc2FjCiAg
ICAgIGZpICMgdGVzdCAtbiAiJHByZXYiCgogICAgICBwcmV2YXJnPSIkYXJn
IgoKICAgICAgY2FzZSAkYXJnIGluCiAgICAgIC1hbGwtc3RhdGljKQoJaWYg
dGVzdCAtbiAiJGxpbmtfc3RhdGljX2ZsYWciOyB0aGVuCgkgICMgU2VlIGNv
bW1lbnQgZm9yIC1zdGF0aWMgZmxhZyBiZWxvdywgZm9yIG1vcmUgZGV0YWls
cy4KCSAgY29tcGlsZV9jb21tYW5kKz0iICRsaW5rX3N0YXRpY19mbGFnIgoJ
ICBmaW5hbGl6ZV9jb21tYW5kKz0iICRsaW5rX3N0YXRpY19mbGFnIgoJZmkK
CWNvbnRpbnVlCgk7OwoKICAgICAgLWFsbG93LXVuZGVmaW5lZCkKCSMgRklY
TUU6IHJlbW92ZSB0aGlzIGZsYWcgc29tZXRpbWUgaW4gdGhlIGZ1dHVyZS4K
CWZ1bmNfZmF0YWxfZXJyb3IgIlxgLWFsbG93LXVuZGVmaW5lZCcgbXVzdCBu
b3QgYmUgdXNlZCBiZWNhdXNlIGl0IGlzIHRoZSBkZWZhdWx0IgoJOzsKCiAg
ICAgIC1hdm9pZC12ZXJzaW9uKQoJYXZvaWRfdmVyc2lvbj15ZXMKCWNvbnRp
bnVlCgk7OwoKICAgICAgLWJpbmRpcikKCXByZXY9YmluZGlyCgljb250aW51
ZQoJOzsKCiAgICAgIC1kbG9wZW4pCglwcmV2PWRsZmlsZXMKCWNvbnRpbnVl
Cgk7OwoKICAgICAgLWRscHJlb3BlbikKCXByZXY9ZGxwcmVmaWxlcwoJY29u
dGludWUKCTs7CgogICAgICAtZXhwb3J0LWR5bmFtaWMpCglleHBvcnRfZHlu
YW1pYz15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWV4cG9ydC1zeW1ib2xz
IHwgLWV4cG9ydC1zeW1ib2xzLXJlZ2V4KQoJaWYgdGVzdCAtbiAiJGV4cG9y
dF9zeW1ib2xzIiB8fCB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgi
OyB0aGVuCgkgIGZ1bmNfZmF0YWxfZXJyb3IgIm1vcmUgdGhhbiBvbmUgLWV4
cG9ydGVkLXN5bWJvbHMgYXJndW1lbnQgaXMgbm90IGFsbG93ZWQiCglmaQoJ
aWYgdGVzdCAiWCRhcmciID0gIlgtZXhwb3J0LXN5bWJvbHMiOyB0aGVuCgkg
IHByZXY9ZXhwc3ltcwoJZWxzZQoJICBwcmV2PWV4cHN5bXNfcmVnZXgKCWZp
Cgljb250aW51ZQoJOzsKCiAgICAgIC1mcmFtZXdvcmspCglwcmV2PWZyYW1l
d29yawoJY29udGludWUKCTs7CgogICAgICAtaW5zdC1wcmVmaXgtZGlyKQoJ
cHJldj1pbnN0X3ByZWZpeAoJY29udGludWUKCTs7CgogICAgICAjIFRoZSBu
YXRpdmUgSVJJWCBsaW5rZXIgdW5kZXJzdGFuZHMgLUxBTkc6KiwgLUxJU1Q6
KiBhbmQgLUxOTzoqCiAgICAgICMgc28sIGlmIHdlIHNlZSB0aGVzZSBmbGFn
cyBiZSBjYXJlZnVsIG5vdCB0byB0cmVhdCB0aGVtIGxpa2UgLUwKICAgICAg
LUxbQS1aXVtBLVpdKjoqKQoJY2FzZSAkd2l0aF9nY2MvJGhvc3QgaW4KCW5v
LyotKi1pcml4KiB8IC8qLSotaXJpeCopCgkgIGNvbXBpbGVfY29tbWFuZCs9
IiAkYXJnIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0iICRhcmciCgkgIDs7Cgll
c2FjCgljb250aW51ZQoJOzsKCiAgICAgIC1MKikKCWZ1bmNfc3RyaXBuYW1l
ICItTCIgJycgIiRhcmciCglpZiB0ZXN0IC16ICIkZnVuY19zdHJpcG5hbWVf
cmVzdWx0IjsgdGhlbgoJICBpZiB0ZXN0ICIkIyIgLWd0IDA7IHRoZW4KCSAg
ICBmdW5jX2ZhdGFsX2Vycm9yICJyZXF1aXJlIG5vIHNwYWNlIGJldHdlZW4g
XGAtTCcgYW5kIFxgJDEnIgoJICBlbHNlCgkgICAgZnVuY19mYXRhbF9lcnJv
ciAibmVlZCBwYXRoIGZvciBcYC1MJyBvcHRpb24iCgkgIGZpCglmaQoJZnVu
Y19yZXNvbHZlX3N5c3Jvb3QgIiRmdW5jX3N0cmlwbmFtZV9yZXN1bHQiCglk
aXI9JGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdAoJIyBXZSBuZWVkIGFu
IGFic29sdXRlIHBhdGguCgljYXNlICRkaXIgaW4KCVtcXC9dKiB8IFtBLVph
LXpdOltcXC9dKikgOzsKCSopCgkgIGFic2Rpcj1gY2QgIiRkaXIiICYmIHB3
ZGAKCSAgdGVzdCAteiAiJGFic2RpciIgJiYgXAoJICAgIGZ1bmNfZmF0YWxf
ZXJyb3IgImNhbm5vdCBkZXRlcm1pbmUgYWJzb2x1dGUgZGlyZWN0b3J5IG5h
bWUgb2YgXGAkZGlyJyIKCSAgZGlyPSIkYWJzZGlyIgoJICA7OwoJZXNhYwoJ
Y2FzZSAiJGRlcGxpYnMgIiBpbgoJKiIgLUwkZGlyICIqIHwgKiIgJGFyZyAi
KikKCSAgIyBXaWxsIG9ubHkgaGFwcGVuIGZvciBhYnNvbHV0ZSBvciBzeXNy
b290IGFyZ3VtZW50cwoJICA7OwoJKikKCSAgIyBQcmVzZXJ2ZSBzeXNyb290
LCBidXQgbmV2ZXIgaW5jbHVkZSByZWxhdGl2ZSBkaXJlY3RvcmllcwoJICBj
YXNlICRkaXIgaW4KCSAgICBbXFwvXSogfCBbQS1aYS16XTpbXFwvXSogfCA9
KikgZGVwbGlicys9IiAkYXJnIiA7OwoJICAgICopIGRlcGxpYnMrPSIgLUwk
ZGlyIiA7OwoJICBlc2FjCgkgIGxpYl9zZWFyY2hfcGF0aCs9IiAkZGlyIgoJ
ICA7OwoJZXNhYwoJY2FzZSAkaG9zdCBpbgoJKi0qLWN5Z3dpbiogfCAqLSot
bWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLWNlZ2NjKikKCSAg
dGVzdGJpbmRpcj1gJEVDSE8gIiRkaXIiIHwgJFNFRCAncyovbGliJCovYmlu
KidgCgkgIGNhc2UgOiRkbGxzZWFyY2hwYXRoOiBpbgoJICAqIjokZGlyOiIq
KSA7OwoJICA6OikgZGxsc2VhcmNocGF0aD0kZGlyOzsKCSAgKikgZGxsc2Vh
cmNocGF0aCs9IjokZGlyIjs7CgkgIGVzYWMKCSAgY2FzZSA6JGRsbHNlYXJj
aHBhdGg6IGluCgkgICoiOiR0ZXN0YmluZGlyOiIqKSA7OwoJICA6OikgZGxs
c2VhcmNocGF0aD0kdGVzdGJpbmRpcjs7CgkgICopIGRsbHNlYXJjaHBhdGgr
PSI6JHRlc3RiaW5kaXIiOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJY29udGlu
dWUKCTs7CgogICAgICAtbCopCglpZiB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIg
fHwgdGVzdCAiWCRhcmciID0gIlgtbG0iOyB0aGVuCgkgIGNhc2UgJGhvc3Qg
aW4KCSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwg
Ki0qLWJlb3MqIHwgKi1jZWdjYyogfCAqLSotaGFpa3UqKQoJICAgICMgVGhl
c2Ugc3lzdGVtcyBkb24ndCBhY3R1YWxseSBoYXZlIGEgQyBvciBtYXRoIGxp
YnJhcnkgKGFzIHN1Y2gpCgkgICAgY29udGludWUKCSAgICA7OwoJICAqLSot
b3MyKikKCSAgICAjIFRoZXNlIHN5c3RlbXMgZG9uJ3QgYWN0dWFsbHkgaGF2
ZSBhIEMgbGlicmFyeSAoYXMgc3VjaCkKCSAgICB0ZXN0ICJYJGFyZyIgPSAi
WC1sYyIgJiYgY29udGludWUKCSAgICA7OwoJICAqLSotb3BlbmJzZCogfCAq
LSotZnJlZWJzZCogfCAqLSotZHJhZ29uZmx5KikKCSAgICAjIERvIG5vdCBp
bmNsdWRlIGxpYmMgZHVlIHRvIHVzIGhhdmluZyBsaWJjL2xpYmNfci4KCSAg
ICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGludWUKCSAgICA7OwoJ
ICAqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0pCgkgICAgIyBS
aGFwc29keSBDIGFuZCBtYXRoIGxpYnJhcmllcyBhcmUgaW4gdGhlIFN5c3Rl
bSBmcmFtZXdvcmsKCSAgICBkZXBsaWJzKz0iIFN5c3RlbS5sdGZyYW1ld29y
ayIKCSAgICBjb250aW51ZQoJICAgIDs7CgkgICotKi1zY28zLjJ2NSogfCAq
LSotc2NvNXY2KikKCSAgICAjIENhdXNlcyBwcm9ibGVtcyB3aXRoIF9fY3R5
cGUKCSAgICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGludWUKCSAg
ICA7OwoJICAqLSotc3lzdjQuMnV3MiogfCAqLSotc3lzdjUqIHwgKi0qLXVu
aXh3YXJlKiB8ICotKi1PcGVuVU5JWCopCgkgICAgIyBDb21waWxlciBpbnNl
cnRzIGxpYmMgaW4gdGhlIGNvcnJlY3QgcGxhY2UgZm9yIHRocmVhZHMgdG8g
d29yawoJICAgIHRlc3QgIlgkYXJnIiA9ICJYLWxjIiAmJiBjb250aW51ZQoJ
ICAgIDs7CgkgIGVzYWMKCWVsaWYgdGVzdCAiWCRhcmciID0gIlgtbGNfciI7
IHRoZW4KCSBjYXNlICRob3N0IGluCgkgKi0qLW9wZW5ic2QqIHwgKi0qLWZy
ZWVic2QqIHwgKi0qLWRyYWdvbmZseSopCgkgICAjIERvIG5vdCBpbmNsdWRl
IGxpYmNfciBkaXJlY3RseSwgdXNlIC1wdGhyZWFkIGZsYWcuCgkgICBjb250
aW51ZQoJICAgOzsKCSBlc2FjCglmaQoJZGVwbGlicys9IiAkYXJnIgoJY29u
dGludWUKCTs7CgogICAgICAtbW9kdWxlKQoJbW9kdWxlPXllcwoJY29udGlu
dWUKCTs7CgogICAgICAjIFRydTY0IFVOSVggdXNlcyAtbW9kZWwgW2FyZ10g
dG8gZGV0ZXJtaW5lIHRoZSBsYXlvdXQgb2YgQysrCiAgICAgICMgY2xhc3Nl
cywgbmFtZSBtYW5nbGluZywgYW5kIGV4Y2VwdGlvbiBoYW5kbGluZy4KICAg
ICAgIyBEYXJ3aW4gdXNlcyB0aGUgLWFyY2ggZmxhZyB0byBkZXRlcm1pbmUg
b3V0cHV0IGFyY2hpdGVjdHVyZS4KICAgICAgLW1vZGVsfC1hcmNofC1pc3lz
cm9vdHwtLXN5c3Jvb3QpCgljb21waWxlcl9mbGFncys9IiAkYXJnIgoJY29t
cGlsZV9jb21tYW5kKz0iICRhcmciCglmaW5hbGl6ZV9jb21tYW5kKz0iICRh
cmciCglwcmV2PXhjb21waWxlcgoJY29udGludWUKCTs7CgogICAgICAtbXR8
LW10aHJlYWRzfC1rdGhyZWFkfC1LdGhyZWFkfC1wdGhyZWFkfC1wdGhyZWFk
c3wtLXRocmVhZC1zYWZlfC10aHJlYWRzKQoJY29tcGlsZXJfZmxhZ3MrPSIg
JGFyZyIKCWNvbXBpbGVfY29tbWFuZCs9IiAkYXJnIgoJZmluYWxpemVfY29t
bWFuZCs9IiAkYXJnIgoJY2FzZSAiJG5ld19pbmhlcml0ZWRfbGlua2VyX2Zs
YWdzICIgaW4KCSAgICAqIiAkYXJnICIqKSA7OwoJICAgICogKSBuZXdfaW5o
ZXJpdGVkX2xpbmtlcl9mbGFncys9IiAkYXJnIiA7OwoJZXNhYwoJY29udGlu
dWUKCTs7CgogICAgICAtbXVsdGlfbW9kdWxlKQoJc2luZ2xlX21vZHVsZT0i
JHt3bH0tbXVsdGlfbW9kdWxlIgoJY29udGludWUKCTs7CgogICAgICAtbm8t
ZmFzdC1pbnN0YWxsKQoJZmFzdF9pbnN0YWxsPW5vCgljb250aW51ZQoJOzsK
CiAgICAgIC1uby1pbnN0YWxsKQoJY2FzZSAkaG9zdCBpbgoJKi0qLWN5Z3dp
biogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLSot
ZGFyd2luKiB8ICotY2VnY2MqKQoJICAjIFRoZSBQQVRIIGhhY2tlcnkgaW4g
d3JhcHBlciBzY3JpcHRzIGlzIHJlcXVpcmVkIG9uIFdpbmRvd3MKCSAgIyBh
bmQgRGFyd2luIGluIG9yZGVyIGZvciB0aGUgbG9hZGVyIHRvIGZpbmQgYW55
IGRsbHMgaXQgbmVlZHMuCgkgIGZ1bmNfd2FybmluZyAiXGAtbm8taW5zdGFs
bCcgaXMgaWdub3JlZCBmb3IgJGhvc3QiCgkgIGZ1bmNfd2FybmluZyAiYXNz
dW1pbmcgXGAtbm8tZmFzdC1pbnN0YWxsJyBpbnN0ZWFkIgoJICBmYXN0X2lu
c3RhbGw9bm8KCSAgOzsKCSopIG5vX2luc3RhbGw9eWVzIDs7Cgllc2FjCglj
b250aW51ZQoJOzsKCiAgICAgIC1uby11bmRlZmluZWQpCglhbGxvd191bmRl
ZmluZWQ9bm8KCWNvbnRpbnVlCgk7OwoKICAgICAgLW9iamVjdGxpc3QpCglw
cmV2PW9iamVjdGxpc3QKCWNvbnRpbnVlCgk7OwoKICAgICAgLW8pIHByZXY9
b3V0cHV0IDs7CgogICAgICAtcHJlY2lvdXMtZmlsZXMtcmVnZXgpCglwcmV2
PXByZWNpb3VzX3JlZ2V4Cgljb250aW51ZQoJOzsKCiAgICAgIC1yZWxlYXNl
KQoJcHJldj1yZWxlYXNlCgljb250aW51ZQoJOzsKCiAgICAgIC1ycGF0aCkK
CXByZXY9cnBhdGgKCWNvbnRpbnVlCgk7OwoKICAgICAgLVIpCglwcmV2PXhy
cGF0aAoJY29udGludWUKCTs7CgogICAgICAtUiopCglmdW5jX3N0cmlwbmFt
ZSAnLVInICcnICIkYXJnIgoJZGlyPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQK
CSMgV2UgbmVlZCBhbiBhYnNvbHV0ZSBwYXRoLgoJY2FzZSAkZGlyIGluCglb
XFwvXSogfCBbQS1aYS16XTpbXFwvXSopIDs7Cgk9KikKCSAgZnVuY19zdHJp
cG5hbWUgJz0nICcnICIkZGlyIgoJICBkaXI9JGx0X3N5c3Jvb3QkZnVuY19z
dHJpcG5hbWVfcmVzdWx0CgkgIDs7CgkqKQoJICBmdW5jX2ZhdGFsX2Vycm9y
ICJvbmx5IGFic29sdXRlIHJ1bi1wYXRocyBhcmUgYWxsb3dlZCIKCSAgOzsK
CWVzYWMKCWNhc2UgIiR4cnBhdGggIiBpbgoJKiIgJGRpciAiKikgOzsKCSop
IHhycGF0aCs9IiAkZGlyIiA7OwoJZXNhYwoJY29udGludWUKCTs7CgogICAg
ICAtc2hhcmVkKQoJIyBUaGUgZWZmZWN0cyBvZiAtc2hhcmVkIGFyZSBkZWZp
bmVkIGluIGEgcHJldmlvdXMgbG9vcC4KCWNvbnRpbnVlCgk7OwoKICAgICAg
LXNocmV4dCkKCXByZXY9c2hyZXh0Cgljb250aW51ZQoJOzsKCiAgICAgIC1z
dGF0aWMgfCAtc3RhdGljLWxpYnRvb2wtbGlicykKCSMgVGhlIGVmZmVjdHMg
b2YgLXN0YXRpYyBhcmUgZGVmaW5lZCBpbiBhIHByZXZpb3VzIGxvb3AuCgkj
IFdlIHVzZWQgdG8gZG8gdGhlIHNhbWUgYXMgLWFsbC1zdGF0aWMgb24gcGxh
dGZvcm1zIHRoYXQKCSMgZGlkbid0IGhhdmUgYSBQSUMgZmxhZywgYnV0IHRo
ZSBhc3N1bXB0aW9uIHRoYXQgdGhlIGVmZmVjdHMKCSMgd291bGQgYmUgZXF1
aXZhbGVudCB3YXMgd3JvbmcuICBJdCB3b3VsZCBicmVhayBvbiBhdCBsZWFz
dAoJIyBEaWdpdGFsIFVuaXggYW5kIEFJWC4KCWNvbnRpbnVlCgk7OwoKICAg
ICAgLXRocmVhZC1zYWZlKQoJdGhyZWFkX3NhZmU9eWVzCgljb250aW51ZQoJ
OzsKCiAgICAgIC12ZXJzaW9uLWluZm8pCglwcmV2PXZpbmZvCgljb250aW51
ZQoJOzsKCiAgICAgIC12ZXJzaW9uLW51bWJlcikKCXByZXY9dmluZm8KCXZp
bmZvX251bWJlcj15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLXdlYWspCiAg
ICAgICAgcHJldj13ZWFrCgljb250aW51ZQoJOzsKCiAgICAgIC1XYywqKQoJ
ZnVuY19zdHJpcG5hbWUgJy1XYywnICcnICIkYXJnIgoJYXJncz0kZnVuY19z
dHJpcG5hbWVfcmVzdWx0Cglhcmc9CglzYXZlX2lmcz0iJElGUyI7IElGUz0n
LCcKCWZvciBmbGFnIGluICRhcmdzOyBkbwoJICBJRlM9IiRzYXZlX2lmcyIK
ICAgICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRmbGFnIgoJICBhcmcr
PSIgJGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0IgoJICBjb21waWxlcl9m
bGFncys9IiAkZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCglkb25lCglJ
RlM9IiRzYXZlX2lmcyIKCWZ1bmNfc3RyaXBuYW1lICcgJyAnJyAiJGFyZyIK
CWFyZz0kZnVuY19zdHJpcG5hbWVfcmVzdWx0Cgk7OwoKICAgICAgLVdsLCop
CglmdW5jX3N0cmlwbmFtZSAnLVdsLCcgJycgIiRhcmciCglhcmdzPSRmdW5j
X3N0cmlwbmFtZV9yZXN1bHQKCWFyZz0KCXNhdmVfaWZzPSIkSUZTIjsgSUZT
PScsJwoJZm9yIGZsYWcgaW4gJGFyZ3M7IGRvCgkgIElGUz0iJHNhdmVfaWZz
IgogICAgICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGZsYWciCgkgIGFy
Zys9IiAkd2wkZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCgkgIGNvbXBp
bGVyX2ZsYWdzKz0iICR3bCRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIK
CSAgbGlua2VyX2ZsYWdzKz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3Vs
dCIKCWRvbmUKCUlGUz0iJHNhdmVfaWZzIgoJZnVuY19zdHJpcG5hbWUgJyAn
ICcnICIkYXJnIgoJYXJnPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKCTs7Cgog
ICAgICAtWGNvbXBpbGVyKQoJcHJldj14Y29tcGlsZXIKCWNvbnRpbnVlCgk7
OwoKICAgICAgLVhsaW5rZXIpCglwcmV2PXhsaW5rZXIKCWNvbnRpbnVlCgk7
OwoKICAgICAgLVhDQ2xpbmtlcikKCXByZXY9eGNjbGlua2VyCgljb250aW51
ZQoJOzsKCiAgICAgICMgLW1zZ18qIGZvciBvc2YgY2MKICAgICAgLW1zZ18q
KQoJZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKCWFyZz0iJGZ1bmNfcXVv
dGVfZm9yX2V2YWxfcmVzdWx0IgoJOzsKCiAgICAgICMgRmxhZ3MgdG8gYmUg
cGFzc2VkIHRocm91Z2ggdW5jaGFuZ2VkLCB3aXRoIHJhdGlvbmFsZToKICAg
ICAgIyAtNjQsIC1taXBzWzAtOV0gICAgICBlbmFibGUgNjQtYml0IG1vZGUg
Zm9yIHRoZSBTR0kgY29tcGlsZXIKICAgICAgIyAtclswLTldWzAtOV0qICAg
ICAgICBzcGVjaWZ5IHByb2Nlc3NvciBmb3IgdGhlIFNHSSBjb21waWxlcgog
ICAgICAjIC14YXJjaD0qLCAteHRhcmdldD0qIGVuYWJsZSA2NC1iaXQgbW9k
ZSBmb3IgdGhlIFN1biBjb21waWxlcgogICAgICAjICtEQSosICtERCogICAg
ICAgICAgIGVuYWJsZSA2NC1iaXQgbW9kZSBmb3IgdGhlIEhQIGNvbXBpbGVy
CiAgICAgICMgLXEqICAgICAgICAgICAgICAgICAgY29tcGlsZXIgYXJncyBm
b3IgdGhlIElCTSBjb21waWxlcgogICAgICAjIC1tKiwgLXRbNDVdKiwgLXR4
c2NhbGUqIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBmbGFncyBmb3IgR0NDCiAg
ICAgICMgLUYvcGF0aCAgICAgICAgICAgICAgcGF0aCB0byB1bmluc3RhbGxl
ZCBmcmFtZXdvcmtzLCBnY2Mgb24gZGFyd2luCiAgICAgICMgLXAsIC1wZywg
LS1jb3ZlcmFnZSwgLWZwcm9maWxlLSogIHByb2ZpbGluZyBmbGFncyBmb3Ig
R0NDCiAgICAgICMgQGZpbGUgICAgICAgICAgICAgICAgR0NDIHJlc3BvbnNl
IGZpbGVzCiAgICAgICMgLXRwPSogICAgICAgICAgICAgICAgUG9ydGxhbmQg
cGdjYyB0YXJnZXQgcHJvY2Vzc29yIHNlbGVjdGlvbgogICAgICAjIC0tc3lz
cm9vdD0qICAgICAgICAgIGZvciBzeXNyb290IHN1cHBvcnQKICAgICAgIyAt
TyosIC1mbHRvKiwgLWZ3aG9wciosIC1mdXNlLWxpbmtlci1wbHVnaW4gR0ND
IGxpbmstdGltZSBvcHRpbWl6YXRpb24KICAgICAgIyAte3NoYXJlZCxzdGF0
aWN9LWxpYmdjYywgLXN0YXRpYy17bGliZ2ZvcnRyYW58bGlic3RkYysrfQog
ICAgICAjICAgICAgICAgICAgICAgICAgICAgIGxpbmsgYWdhaW5zdCBzcGVj
aWZpZWQgcnVudGltZSBsaWJyYXJ5CiAgICAgICMgLWZzdGFjay1wcm90ZWN0
b3IqICAgc3RhY2sgcHJvdGVjdG9yIGZsYWdzIGZvciBHQ0MKICAgICAgLTY0
fC1taXBzWzAtOV18LXJbMC05XVswLTldKnwteGFyY2g9KnwteHRhcmdldD0q
fCtEQSp8K0REKnwtcSp8LW0qfCBcCiAgICAgIC10WzQ1XSp8LXR4c2NhbGUq
fC1wfC1wZ3wtLWNvdmVyYWdlfC1mcHJvZmlsZS0qfC1GKnxAKnwtdHA9Knwt
LXN5c3Jvb3Q9KnwgXAogICAgICAtTyp8LWZsdG8qfC1md2hvcHIqfC1mdXNl
LWxpbmtlci1wbHVnaW58IFwKICAgICAgLXNoYXJlZC1saWJnY2N8LXN0YXRp
Yy1saWJnY2N8LXN0YXRpYy1saWJnZm9ydHJhbnwtc3RhdGljLWxpYnN0ZGMr
K3wgXAogICAgICAtZnN0YWNrLXByb3RlY3RvciopCiAgICAgICAgZnVuY19x
dW90ZV9mb3JfZXZhbCAiJGFyZyIKCWFyZz0iJGZ1bmNfcXVvdGVfZm9yX2V2
YWxfcmVzdWx0IgogICAgICAgIGNvbXBpbGVfY29tbWFuZCs9IiAkYXJnIgog
ICAgICAgIGZpbmFsaXplX2NvbW1hbmQrPSIgJGFyZyIKICAgICAgICBjb21w
aWxlcl9mbGFncys9IiAkYXJnIgogICAgICAgIGNvbnRpbnVlCiAgICAgICAg
OzsKCiAgICAgICMgU29tZSBvdGhlciBjb21waWxlciBmbGFnLgogICAgICAt
KiB8ICsqKQogICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRhcmciCglh
cmc9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKCTs7CgogICAgICAq
LiRvYmpleHQpCgkjIEEgc3RhbmRhcmQgb2JqZWN0LgoJb2Jqcys9IiAkYXJn
IgoJOzsKCiAgICAgICoubG8pCgkjIEEgbGlidG9vbC1jb250cm9sbGVkIG9i
amVjdC4KCgkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEg
bGlidG9vbCBvYmplY3QuCglpZiBmdW5jX2xhbGliX3Vuc2FmZV9wICIkYXJn
IjsgdGhlbgoJICBwaWNfb2JqZWN0PQoJICBub25fcGljX29iamVjdD0KCgkg
ICMgUmVhZCB0aGUgLmxvIGZpbGUKCSAgZnVuY19zb3VyY2UgIiRhcmciCgoJ
ICBpZiB0ZXN0IC16ICIkcGljX29iamVjdCIgfHwKCSAgICAgdGVzdCAteiAi
JG5vbl9waWNfb2JqZWN0IiB8fAoJICAgICB0ZXN0ICIkcGljX29iamVjdCIg
PSBub25lICYmCgkgICAgIHRlc3QgIiRub25fcGljX29iamVjdCIgPSBub25l
OyB0aGVuCgkgICAgZnVuY19mYXRhbF9lcnJvciAiY2Fubm90IGZpbmQgbmFt
ZSBvZiBvYmplY3QgZm9yIFxgJGFyZyciCgkgIGZpCgoJICAjIEV4dHJhY3Qg
c3ViZGlyZWN0b3J5IGZyb20gdGhlIGFyZ3VtZW50LgoJICBmdW5jX2Rpcm5h
bWUgIiRhcmciICIvIiAiIgoJICB4ZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3Vs
dCIKCgkgIGlmIHRlc3QgIiRwaWNfb2JqZWN0IiAhPSBub25lOyB0aGVuCgkg
ICAgIyBQcmVwZW5kIHRoZSBzdWJkaXJlY3RvcnkgdGhlIG9iamVjdCBpcyBm
b3VuZCBpbi4KCSAgICBwaWNfb2JqZWN0PSIkeGRpciRwaWNfb2JqZWN0IgoK
CSAgICBpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVzOyB0aGVuCgkgICAgICBp
ZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllcyAmJiB0ZXN0ICIk
ZGxvcGVuX3N1cHBvcnQiID0geWVzOyB0aGVuCgkJZGxmaWxlcys9IiAkcGlj
X29iamVjdCIKCQlwcmV2PQoJCWNvbnRpbnVlCgkgICAgICBlbHNlCgkJIyBJ
ZiBsaWJ0b29sIG9iamVjdHMgYXJlIHVuc3VwcG9ydGVkLCB0aGVuIHdlIG5l
ZWQgdG8gcHJlbG9hZC4KCQlwcmV2PWRscHJlZmlsZXMKCSAgICAgIGZpCgkg
ICAgZmkKCgkgICAgIyBDSEVDSyBNRTogIEkgdGhpbmsgSSBidXN0ZWQgdGhp
cy4gIC1Pc3NhbWEKCSAgICBpZiB0ZXN0ICIkcHJldiIgPSBkbHByZWZpbGVz
OyB0aGVuCgkgICAgICAjIFByZWxvYWQgdGhlIG9sZC1zdHlsZSBvYmplY3Qu
CgkgICAgICBkbHByZWZpbGVzKz0iICRwaWNfb2JqZWN0IgoJICAgICAgcHJl
dj0KCSAgICBmaQoKCSAgICAjIEEgUElDIG9iamVjdC4KCSAgICBsaWJvYmpz
Kz0iICRwaWNfb2JqZWN0IgoJICAgIGFyZz0iJHBpY19vYmplY3QiCgkgIGZp
CgoJICAjIE5vbi1QSUMgb2JqZWN0LgoJICBpZiB0ZXN0ICIkbm9uX3BpY19v
YmplY3QiICE9IG5vbmU7IHRoZW4KCSAgICAjIFByZXBlbmQgdGhlIHN1YmRp
cmVjdG9yeSB0aGUgb2JqZWN0IGlzIGZvdW5kIGluLgoJICAgIG5vbl9waWNf
b2JqZWN0PSIkeGRpciRub25fcGljX29iamVjdCIKCgkgICAgIyBBIHN0YW5k
YXJkIG5vbi1QSUMgb2JqZWN0CgkgICAgbm9uX3BpY19vYmplY3RzKz0iICRu
b25fcGljX29iamVjdCIKCSAgICBpZiB0ZXN0IC16ICIkcGljX29iamVjdCIg
fHwgdGVzdCAiJHBpY19vYmplY3QiID0gbm9uZSA7IHRoZW4KCSAgICAgIGFy
Zz0iJG5vbl9waWNfb2JqZWN0IgoJICAgIGZpCgkgIGVsc2UKCSAgICAjIElm
IHRoZSBQSUMgb2JqZWN0IGV4aXN0cywgdXNlIGl0IGluc3RlYWQuCgkgICAg
IyAkeGRpciB3YXMgcHJlcGVuZGVkIHRvICRwaWNfb2JqZWN0IGFib3ZlLgoJ
ICAgIG5vbl9waWNfb2JqZWN0PSIkcGljX29iamVjdCIKCSAgICBub25fcGlj
X29iamVjdHMrPSIgJG5vbl9waWNfb2JqZWN0IgoJICBmaQoJZWxzZQoJICAj
IE9ubHkgYW4gZXJyb3IgaWYgbm90IGRvaW5nIGEgZHJ5LXJ1bi4KCSAgaWYg
JG9wdF9kcnlfcnVuOyB0aGVuCgkgICAgIyBFeHRyYWN0IHN1YmRpcmVjdG9y
eSBmcm9tIHRoZSBhcmd1bWVudC4KCSAgICBmdW5jX2Rpcm5hbWUgIiRhcmci
ICIvIiAiIgoJICAgIHhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCSAg
ICBmdW5jX2xvMm8gIiRhcmciCgkgICAgcGljX29iamVjdD0keGRpciRvYmpk
aXIvJGZ1bmNfbG8yb19yZXN1bHQKCSAgICBub25fcGljX29iamVjdD0keGRp
ciRmdW5jX2xvMm9fcmVzdWx0CgkgICAgbGlib2Jqcys9IiAkcGljX29iamVj
dCIKCSAgICBub25fcGljX29iamVjdHMrPSIgJG5vbl9waWNfb2JqZWN0IgoJ
ICBlbHNlCgkgICAgZnVuY19mYXRhbF9lcnJvciAiXGAkYXJnJyBpcyBub3Qg
YSB2YWxpZCBsaWJ0b29sIG9iamVjdCIKCSAgZmkKCWZpCgk7OwoKICAgICAg
Ki4kbGliZXh0KQoJIyBBbiBhcmNoaXZlLgoJZGVwbGlicys9IiAkYXJnIgoJ
b2xkX2RlcGxpYnMrPSIgJGFyZyIKCWNvbnRpbnVlCgk7OwoKICAgICAgKi5s
YSkKCSMgQSBsaWJ0b29sLWNvbnRyb2xsZWQgbGlicmFyeS4KCglmdW5jX3Jl
c29sdmVfc3lzcm9vdCAiJGFyZyIKCWlmIHRlc3QgIiRwcmV2IiA9IGRsZmls
ZXM7IHRoZW4KCSAgIyBUaGlzIGxpYnJhcnkgd2FzIHNwZWNpZmllZCB3aXRo
IC1kbG9wZW4uCgkgIGRsZmlsZXMrPSIgJGZ1bmNfcmVzb2x2ZV9zeXNyb290
X3Jlc3VsdCIKCSAgcHJldj0KCWVsaWYgdGVzdCAiJHByZXYiID0gZGxwcmVm
aWxlczsgdGhlbgoJICAjIFRoZSBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQgd2l0
aCAtZGxwcmVvcGVuLgoJICBkbHByZWZpbGVzKz0iICRmdW5jX3Jlc29sdmVf
c3lzcm9vdF9yZXN1bHQiCgkgIHByZXY9CgllbHNlCgkgIGRlcGxpYnMrPSIg
JGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdCIKCWZpCgljb250aW51ZQoJ
OzsKCiAgICAgICMgU29tZSBvdGhlciBjb21waWxlciBhcmd1bWVudC4KICAg
ICAgKikKCSMgVW5rbm93biBhcmd1bWVudHMgaW4gYm90aCBmaW5hbGl6ZV9j
b21tYW5kIGFuZCBjb21waWxlX2NvbW1hbmQgbmVlZAoJIyB0byBiZSBhZXN0
aGV0aWNhbGx5IHF1b3RlZCBiZWNhdXNlIHRoZXkgYXJlIGV2YWxlZCBsYXRl
ci4KCWZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRhcmciCglhcmc9IiRmdW5jX3F1
b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKCTs7CiAgICAgIGVzYWMgIyBhcmcKCiAg
ICAgICMgTm93IGFjdHVhbGx5IHN1YnN0aXR1dGUgdGhlIGFyZ3VtZW50IGlu
dG8gdGhlIGNvbW1hbmRzLgogICAgICBpZiB0ZXN0IC1uICIkYXJnIjsgdGhl
bgoJY29tcGlsZV9jb21tYW5kKz0iICRhcmciCglmaW5hbGl6ZV9jb21tYW5k
Kz0iICRhcmciCiAgICAgIGZpCiAgICBkb25lICMgYXJndW1lbnQgcGFyc2lu
ZyBsb29wCgogICAgdGVzdCAtbiAiJHByZXYiICYmIFwKICAgICAgZnVuY19m
YXRhbF9oZWxwICJ0aGUgXGAkcHJldmFyZycgb3B0aW9uIHJlcXVpcmVzIGFu
IGFyZ3VtZW50IgoKICAgIGlmIHRlc3QgIiRleHBvcnRfZHluYW1pYyIgPSB5
ZXMgJiYgdGVzdCAtbiAiJGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYyI7IHRo
ZW4KICAgICAgZXZhbCBhcmc9XCIkZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVj
XCIKICAgICAgY29tcGlsZV9jb21tYW5kKz0iICRhcmciCiAgICAgIGZpbmFs
aXplX2NvbW1hbmQrPSIgJGFyZyIKICAgIGZpCgogICAgb2xkbGlicz0KICAg
ICMgY2FsY3VsYXRlIHRoZSBuYW1lIG9mIHRoZSBmaWxlLCB3aXRob3V0IGl0
cyBkaXJlY3RvcnkKICAgIGZ1bmNfYmFzZW5hbWUgIiRvdXRwdXQiCiAgICBv
dXRwdXRuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCiAgICBsaWJvYmpz
X3NhdmU9IiRsaWJvYmpzIgoKICAgIGlmIHRlc3QgLW4gIiRzaGxpYnBhdGhf
dmFyIjsgdGhlbgogICAgICAjIGdldCB0aGUgZGlyZWN0b3JpZXMgbGlzdGVk
IGluICRzaGxpYnBhdGhfdmFyCiAgICAgIGV2YWwgc2hsaWJfc2VhcmNoX3Bh
dGg9XGBcJEVDSE8gXCJcJHskc2hsaWJwYXRoX3Zhcn1cIiBcfCBcJFNFRCBc
J3MvOi8gL2dcJ1xgCiAgICBlbHNlCiAgICAgIHNobGliX3NlYXJjaF9wYXRo
PQogICAgZmkKICAgIGV2YWwgc3lzX2xpYl9zZWFyY2hfcGF0aD1cIiRzeXNf
bGliX3NlYXJjaF9wYXRoX3NwZWNcIgogICAgZXZhbCBzeXNfbGliX2Rsc2Vh
cmNoX3BhdGg9XCIkc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWNcIgoKICAg
IGZ1bmNfZGlybmFtZSAiJG91dHB1dCIgIi8iICIiCiAgICBvdXRwdXRfb2Jq
ZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCRvYmpkaXIiCiAgICBmdW5jX3Rv
X3Rvb2xfZmlsZSAiJG91dHB1dF9vYmpkaXIvIgogICAgdG9vbF9vdXRwdXRf
b2JqZGlyPSRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQKICAgICMgQ3JlYXRl
IHRoZSBvYmplY3QgZGlyZWN0b3J5LgogICAgZnVuY19ta2Rpcl9wICIkb3V0
cHV0X29iamRpciIKCiAgICAjIERldGVybWluZSB0aGUgdHlwZSBvZiBvdXRw
dXQKICAgIGNhc2UgJG91dHB1dCBpbgogICAgIiIpCiAgICAgIGZ1bmNfZmF0
YWxfaGVscCAieW91IG11c3Qgc3BlY2lmeSBhbiBvdXRwdXQgZmlsZSIKICAg
ICAgOzsKICAgICouJGxpYmV4dCkgbGlua21vZGU9b2xkbGliIDs7CiAgICAq
LmxvIHwgKi4kb2JqZXh0KSBsaW5rbW9kZT1vYmogOzsKICAgICoubGEpIGxp
bmttb2RlPWxpYiA7OwogICAgKikgbGlua21vZGU9cHJvZyA7OyAjIEFueXRo
aW5nIGVsc2Ugc2hvdWxkIGJlIGEgcHJvZ3JhbS4KICAgIGVzYWMKCiAgICBz
cGVjaWFsZGVwbGlicz0KCiAgICBsaWJzPQogICAgIyBGaW5kIGFsbCBpbnRl
cmRlcGVuZGVudCBkZXBsaWJzIGJ5IHNlYXJjaGluZyBmb3IgbGlicmFyaWVz
CiAgICAjIHRoYXQgYXJlIGxpbmtlZCBtb3JlIHRoYW4gb25jZSAoZS5nLiAt
bGEgLWxiIC1sYSkKICAgIGZvciBkZXBsaWIgaW4gJGRlcGxpYnM7IGRvCiAg
ICAgIGlmICRvcHRfcHJlc2VydmVfZHVwX2RlcHMgOyB0aGVuCgljYXNlICIk
bGlicyAiIGluCgkqIiAkZGVwbGliICIqKSBzcGVjaWFsZGVwbGlicys9IiAk
ZGVwbGliIiA7OwoJZXNhYwogICAgICBmaQogICAgICBsaWJzKz0iICRkZXBs
aWIiCiAgICBkb25lCgogICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYjsg
dGhlbgogICAgICBsaWJzPSIkcHJlZGVwcyAkbGlicyAkY29tcGlsZXJfbGli
X3NlYXJjaF9wYXRoICRwb3N0ZGVwcyIKCiAgICAgICMgQ29tcHV0ZSBsaWJy
YXJpZXMgdGhhdCBhcmUgbGlzdGVkIG1vcmUgdGhhbiBvbmNlIGluICRwcmVk
ZXBzCiAgICAgICMgJHBvc3RkZXBzIGFuZCBtYXJrIHRoZW0gYXMgc3BlY2lh
bCAoaS5lLiwgd2hvc2UgZHVwbGljYXRlcyBhcmUKICAgICAgIyBub3QgdG8g
YmUgZWxpbWluYXRlZCkuCiAgICAgIHByZV9wb3N0X2RlcHM9CiAgICAgIGlm
ICRvcHRfZHVwbGljYXRlX2NvbXBpbGVyX2dlbmVyYXRlZF9kZXBzOyB0aGVu
Cglmb3IgcHJlX3Bvc3RfZGVwIGluICRwcmVkZXBzICRwb3N0ZGVwczsgZG8K
CSAgY2FzZSAiJHByZV9wb3N0X2RlcHMgIiBpbgoJICAqIiAkcHJlX3Bvc3Rf
ZGVwICIqKSBzcGVjaWFsZGVwbGlicys9IiAkcHJlX3Bvc3RfZGVwcyIgOzsK
CSAgZXNhYwoJICBwcmVfcG9zdF9kZXBzKz0iICRwcmVfcG9zdF9kZXAiCglk
b25lCiAgICAgIGZpCiAgICAgIHByZV9wb3N0X2RlcHM9CiAgICBmaQoKICAg
IGRlcGxpYnM9CiAgICBuZXdkZXBlbmRlbmN5X2xpYnM9CiAgICBuZXdsaWJf
c2VhcmNoX3BhdGg9CiAgICBuZWVkX3JlbGluaz1ubyAjIHdoZXRoZXIgd2Un
cmUgbGlua2luZyBhbnkgdW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMK
ICAgIG5vdGluc3RfZGVwbGlicz0gIyBub3QtaW5zdGFsbGVkIGxpYnRvb2wg
bGlicmFyaWVzCiAgICBub3RpbnN0X3BhdGg9ICMgcGF0aHMgdGhhdCBjb250
YWluIG5vdC1pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMKCiAgICBjYXNl
ICRsaW5rbW9kZSBpbgogICAgbGliKQoJcGFzc2VzPSJjb252IGRscHJlb3Bl
biBsaW5rIgoJZm9yIGZpbGUgaW4gJGRsZmlsZXMgJGRscHJlZmlsZXM7IGRv
CgkgIGNhc2UgJGZpbGUgaW4KCSAgKi5sYSkgOzsKCSAgKikKCSAgICBmdW5j
X2ZhdGFsX2hlbHAgImxpYnJhcmllcyBjYW4gXGAtZGxvcGVuJyBvbmx5IGxp
YnRvb2wgbGlicmFyaWVzOiAkZmlsZSIKCSAgICA7OwoJICBlc2FjCglkb25l
Cgk7OwogICAgcHJvZykKCWNvbXBpbGVfZGVwbGlicz0KCWZpbmFsaXplX2Rl
cGxpYnM9CglhbGxkZXBsaWJzPW5vCgluZXdkbGZpbGVzPQoJbmV3ZGxwcmVm
aWxlcz0KCXBhc3Nlcz0iY29udiBzY2FuIGRsb3BlbiBkbHByZW9wZW4gbGlu
ayIKCTs7CiAgICAqKSAgcGFzc2VzPSJjb252IgoJOzsKICAgIGVzYWMKCiAg
ICBmb3IgcGFzcyBpbiAkcGFzc2VzOyBkbwogICAgICAjIFRoZSBwcmVvcGVu
IHBhc3MgaW4gbGliIG1vZGUgcmV2ZXJzZXMgJGRlcGxpYnM7IHB1dCBpdCBi
YWNrIGhlcmUKICAgICAgIyBzbyB0aGF0IC1MIGNvbWVzIGJlZm9yZSBsaWJz
IHRoYXQgbmVlZCBpdCBmb3IgaW5zdGFuY2UuLi4KICAgICAgaWYgdGVzdCAi
JGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsbGluayI7IHRoZW4KCSMjIEZJWE1F
OiBGaW5kIHRoZSBwbGFjZSB3aGVyZSB0aGUgbGlzdCBpcyByZWJ1aWx0IGlu
IHRoZSB3cm9uZwoJIyMgICAgICAgIG9yZGVyLCBhbmQgZml4IGl0IHRoZXJl
IHByb3Blcmx5CiAgICAgICAgdG1wX2RlcGxpYnM9Cglmb3IgZGVwbGliIGlu
ICRkZXBsaWJzOyBkbwoJICB0bXBfZGVwbGlicz0iJGRlcGxpYiAkdG1wX2Rl
cGxpYnMiCglkb25lCglkZXBsaWJzPSIkdG1wX2RlcGxpYnMiCiAgICAgIGZp
CgogICAgICBpZiB0ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gImxpYixsaW5r
IiB8fAoJIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxzY2FuIjsg
dGhlbgoJbGlicz0iJGRlcGxpYnMiCglkZXBsaWJzPQogICAgICBmaQogICAg
ICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhlbgoJY2FzZSAkcGFz
cyBpbgoJZGxvcGVuKSBsaWJzPSIkZGxmaWxlcyIgOzsKCWRscHJlb3Blbikg
bGlicz0iJGRscHJlZmlsZXMiIDs7CglsaW5rKSBsaWJzPSIkZGVwbGlicyAl
REVQTElCUyUgJGRlcGVuZGVuY3lfbGlicyIgOzsKCWVzYWMKICAgICAgZmkK
ICAgICAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsZGxwcmVv
cGVuIjsgdGhlbgoJIyBDb2xsZWN0IGFuZCBmb3J3YXJkIGRlcGxpYnMgb2Yg
cHJlb3BlbmVkIGxpYnRvb2wgbGlicwoJZm9yIGxpYiBpbiAkZGxwcmVmaWxl
czsgZG8KCSAgIyBJZ25vcmUgbm9uLWxpYnRvb2wtbGlicwoJICBkZXBlbmRl
bmN5X2xpYnM9CgkgIGZ1bmNfcmVzb2x2ZV9zeXNyb290ICIkbGliIgoJICBj
YXNlICRsaWIgaW4KCSAgKi5sYSkJZnVuY19zb3VyY2UgIiRmdW5jX3Jlc29s
dmVfc3lzcm9vdF9yZXN1bHQiIDs7CgkgIGVzYWMKCgkgICMgQ29sbGVjdCBw
cmVvcGVuZWQgbGlidG9vbCBkZXBsaWJzLCBleGNlcHQgYW55IHRoaXMgbGli
cmFyeQoJICAjIGhhcyBkZWNsYXJlZCBhcyB3ZWFrIGxpYnMKCSAgZm9yIGRl
cGxpYiBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgIGZ1bmNfYmFzZW5h
bWUgIiRkZXBsaWIiCiAgICAgICAgICAgIGRlcGxpYl9iYXNlPSRmdW5jX2Jh
c2VuYW1lX3Jlc3VsdAoJICAgIGNhc2UgIiAkd2Vha19saWJzICIgaW4KCSAg
ICAqIiAkZGVwbGliX2Jhc2UgIiopIDs7CgkgICAgKikgZGVwbGlicys9IiAk
ZGVwbGliIiA7OwoJICAgIGVzYWMKCSAgZG9uZQoJZG9uZQoJbGlicz0iJGRs
cHJlZmlsZXMiCiAgICAgIGZpCiAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRs
b3BlbjsgdGhlbgoJIyBDb2xsZWN0IGRscHJlb3BlbmVkIGxpYnJhcmllcwoJ
c2F2ZV9kZXBsaWJzPSIkZGVwbGlicyIKCWRlcGxpYnM9CiAgICAgIGZpCgog
ICAgICBmb3IgZGVwbGliIGluICRsaWJzOyBkbwoJbGliPQoJZm91bmQ9bm8K
CWNhc2UgJGRlcGxpYiBpbgoJLW10fC1tdGhyZWFkc3wta3RocmVhZHwtS3Ro
cmVhZHwtcHRocmVhZHwtcHRocmVhZHN8LS10aHJlYWQtc2FmZXwtdGhyZWFk
cykKCSAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLGxpbmsi
OyB0aGVuCgkgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxl
X2RlcGxpYnMiCgkgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmlu
YWxpemVfZGVwbGlicyIKCSAgZWxzZQoJICAgIGNvbXBpbGVyX2ZsYWdzKz0i
ICRkZXBsaWIiCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYiA7IHRo
ZW4KCQljYXNlICIkbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MgIiBpbgoJ
CSAgICAqIiAkZGVwbGliICIqKSA7OwoJCSAgICAqICkgbmV3X2luaGVyaXRl
ZF9saW5rZXJfZmxhZ3MrPSIgJGRlcGxpYiIgOzsKCQllc2FjCgkgICAgZmkK
CSAgZmkKCSAgY29udGludWUKCSAgOzsKCS1sKikKCSAgaWYgdGVzdCAiJGxp
bmttb2RlIiAhPSBsaWIgJiYgdGVzdCAiJGxpbmttb2RlIiAhPSBwcm9nOyB0
aGVuCgkgICAgZnVuY193YXJuaW5nICJcYC1sJyBpcyBpZ25vcmVkIGZvciBh
cmNoaXZlcy9vYmplY3RzIgoJICAgIGNvbnRpbnVlCgkgIGZpCgkgIGZ1bmNf
c3RyaXBuYW1lICctbCcgJycgIiRkZXBsaWIiCgkgIG5hbWU9JGZ1bmNfc3Ry
aXBuYW1lX3Jlc3VsdAoJICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGliOyB0
aGVuCgkgICAgc2VhcmNoZGlycz0iJG5ld2xpYl9zZWFyY2hfcGF0aCAkbGli
X3NlYXJjaF9wYXRoICRjb21waWxlcl9saWJfc2VhcmNoX2RpcnMgJHN5c19s
aWJfc2VhcmNoX3BhdGggJHNobGliX3NlYXJjaF9wYXRoIgoJICBlbHNlCgkg
ICAgc2VhcmNoZGlycz0iJG5ld2xpYl9zZWFyY2hfcGF0aCAkbGliX3NlYXJj
aF9wYXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0
aCIKCSAgZmkKCSAgZm9yIHNlYXJjaGRpciBpbiAkc2VhcmNoZGlyczsgZG8K
CSAgICBmb3Igc2VhcmNoX2V4dCBpbiAubGEgJHN0ZF9zaHJleHQgLnNvIC5h
OyBkbwoJICAgICAgIyBTZWFyY2ggdGhlIGxpYnRvb2wgbGlicmFyeQoJICAg
ICAgbGliPSIkc2VhcmNoZGlyL2xpYiR7bmFtZX0ke3NlYXJjaF9leHR9IgoJ
ICAgICAgaWYgdGVzdCAtZiAiJGxpYiI7IHRoZW4KCQlpZiB0ZXN0ICIkc2Vh
cmNoX2V4dCIgPSAiLmxhIjsgdGhlbgoJCSAgZm91bmQ9eWVzCgkJZWxzZQoJ
CSAgZm91bmQ9bm8KCQlmaQoJCWJyZWFrIDIKCSAgICAgIGZpCgkgICAgZG9u
ZQoJICBkb25lCgkgIGlmIHRlc3QgIiRmb3VuZCIgIT0geWVzOyB0aGVuCgkg
ICAgIyBkZXBsaWIgZG9lc24ndCBzZWVtIHRvIGJlIGEgbGlidG9vbCBsaWJy
YXJ5CgkgICAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLGxp
bmsiOyB0aGVuCgkgICAgICBjb21waWxlX2RlcGxpYnM9IiRkZXBsaWIgJGNv
bXBpbGVfZGVwbGlicyIKCSAgICAgIGZpbmFsaXplX2RlcGxpYnM9IiRkZXBs
aWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgZGVwbGli
cz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgICAgIHRlc3QgIiRsaW5rbW9kZSIg
PSBsaWIgJiYgbmV3ZGVwZW5kZW5jeV9saWJzPSIkZGVwbGliICRuZXdkZXBl
bmRlbmN5X2xpYnMiCgkgICAgZmkKCSAgICBjb250aW51ZQoJICBlbHNlICMg
ZGVwbGliIGlzIGEgbGlidG9vbCBsaWJyYXJ5CgkgICAgIyBJZiAkYWxsb3df
bGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzICYmICRkZXBsaWIg
aXMgYSBzdGRsaWIsCgkgICAgIyBXZSBuZWVkIHRvIGRvIHNvbWUgc3BlY2lh
bCB0aGluZ3MgaGVyZSwgYW5kIG5vdCBsYXRlci4KCSAgICBpZiB0ZXN0ICJY
JGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAi
WHllcyIgOyB0aGVuCgkgICAgICBjYXNlICIgJHByZWRlcHMgJHBvc3RkZXBz
ICIgaW4KCSAgICAgICoiICRkZXBsaWIgIiopCgkJaWYgZnVuY19sYWxpYl9w
ICIkbGliIjsgdGhlbgoJCSAgbGlicmFyeV9uYW1lcz0KCQkgIG9sZF9saWJy
YXJ5PQoJCSAgZnVuY19zb3VyY2UgIiRsaWIiCgkJICBmb3IgbCBpbiAkb2xk
X2xpYnJhcnkgJGxpYnJhcnlfbmFtZXM7IGRvCgkJICAgIGxsPSIkbCIKCQkg
IGRvbmUKCQkgIGlmIHRlc3QgIlgkbGwiID0gIlgkb2xkX2xpYnJhcnkiIDsg
dGhlbiAjIG9ubHkgc3RhdGljIHZlcnNpb24gYXZhaWxhYmxlCgkJICAgIGZv
dW5kPW5vCgkJICAgIGZ1bmNfZGlybmFtZSAiJGxpYiIgIiIgIi4iCgkJICAg
IGxhZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKCQkgICAgbGliPSRsYWRp
ci8kb2xkX2xpYnJhcnkKCQkgICAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNz
IiA9ICJwcm9nLGxpbmsiOyB0aGVuCgkJICAgICAgY29tcGlsZV9kZXBsaWJz
PSIkZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkJICAgICAgZmluYWxpemVf
ZGVwbGlicz0iJGRlcGxpYiAkZmluYWxpemVfZGVwbGlicyIKCQkgICAgZWxz
ZQoJCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkJICAgICAg
dGVzdCAiJGxpbmttb2RlIiA9IGxpYiAmJiBuZXdkZXBlbmRlbmN5X2xpYnM9
IiRkZXBsaWIgJG5ld2RlcGVuZGVuY3lfbGlicyIKCQkgICAgZmkKCQkgICAg
Y29udGludWUKCQkgIGZpCgkJZmkKCQk7OwoJICAgICAgKikgOzsKCSAgICAg
IGVzYWMKCSAgICBmaQoJICBmaQoJICA7OyAjIC1sCgkqLmx0ZnJhbWV3b3Jr
KQoJICBpZiB0ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gInByb2csbGluayI7
IHRoZW4KCSAgICBjb21waWxlX2RlcGxpYnM9IiRkZXBsaWIgJGNvbXBpbGVf
ZGVwbGlicyIKCSAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5h
bGl6ZV9kZXBsaWJzIgoJICBlbHNlCgkgICAgZGVwbGlicz0iJGRlcGxpYiAk
ZGVwbGlicyIKCSAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGliIDsgdGhl
bgoJCWNhc2UgIiRuZXdfaW5oZXJpdGVkX2xpbmtlcl9mbGFncyAiIGluCgkJ
ICAgICoiICRkZXBsaWIgIiopIDs7CgkJICAgICogKSBuZXdfaW5oZXJpdGVk
X2xpbmtlcl9mbGFncys9IiAkZGVwbGliIiA7OwoJCWVzYWMKCSAgICBmaQoJ
ICBmaQoJICBjb250aW51ZQoJICA7OwoJLUwqKQoJICBjYXNlICRsaW5rbW9k
ZSBpbgoJICBsaWIpCgkgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIK
CSAgICB0ZXN0ICIkcGFzcyIgPSBjb252ICYmIGNvbnRpbnVlCgkgICAgbmV3
ZGVwZW5kZW5jeV9saWJzPSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMi
CgkgICAgZnVuY19zdHJpcG5hbWUgJy1MJyAnJyAiJGRlcGxpYiIKCSAgICBm
dW5jX3Jlc29sdmVfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIK
CSAgICBuZXdsaWJfc2VhcmNoX3BhdGgrPSIgJGZ1bmNfcmVzb2x2ZV9zeXNy
b290X3Jlc3VsdCIKCSAgICA7OwoJICBwcm9nKQoJICAgIGlmIHRlc3QgIiRw
YXNzIiA9IGNvbnY7IHRoZW4KCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRl
cGxpYnMiCgkgICAgICBjb250aW51ZQoJICAgIGZpCgkgICAgaWYgdGVzdCAi
JHBhc3MiID0gc2NhbjsgdGhlbgoJICAgICAgZGVwbGlicz0iJGRlcGxpYiAk
ZGVwbGlicyIKCSAgICBlbHNlCgkgICAgICBjb21waWxlX2RlcGxpYnM9IiRk
ZXBsaWIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICAgIGZpbmFsaXplX2RlcGxp
YnM9IiRkZXBsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgICAgZmkKCSAgICBm
dW5jX3N0cmlwbmFtZSAnLUwnICcnICIkZGVwbGliIgoJICAgIGZ1bmNfcmVz
b2x2ZV9zeXNyb290ICIkZnVuY19zdHJpcG5hbWVfcmVzdWx0IgoJICAgIG5l
d2xpYl9zZWFyY2hfcGF0aCs9IiAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVz
dWx0IgoJICAgIDs7CgkgICopCgkgICAgZnVuY193YXJuaW5nICJcYC1MJyBp
cyBpZ25vcmVkIGZvciBhcmNoaXZlcy9vYmplY3RzIgoJICAgIDs7CgkgIGVz
YWMgIyBsaW5rbW9kZQoJICBjb250aW51ZQoJICA7OyAjIC1MCgktUiopCgkg
IGlmIHRlc3QgIiRwYXNzIiA9IGxpbms7IHRoZW4KCSAgICBmdW5jX3N0cmlw
bmFtZSAnLVInICcnICIkZGVwbGliIgoJICAgIGZ1bmNfcmVzb2x2ZV9zeXNy
b290ICIkZnVuY19zdHJpcG5hbWVfcmVzdWx0IgoJICAgIGRpcj0kZnVuY19y
ZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CgkgICAgIyBNYWtlIHN1cmUgdGhlIHhy
cGF0aCBjb250YWlucyBvbmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KCSAgICBj
YXNlICIkeHJwYXRoICIgaW4KCSAgICAqIiAkZGlyICIqKSA7OwoJICAgICop
IHhycGF0aCs9IiAkZGlyIiA7OwoJICAgIGVzYWMKCSAgZmkKCSAgZGVwbGli
cz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgY29udGludWUKCSAgOzsKCSoubGEp
CgkgIGZ1bmNfcmVzb2x2ZV9zeXNyb290ICIkZGVwbGliIgoJICBsaWI9JGZ1
bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdAoJICA7OwoJKi4kbGliZXh0KQoJ
ICBpZiB0ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkgICAgZGVwbGlicz0i
JGRlcGxpYiAkZGVwbGlicyIKCSAgICBjb250aW51ZQoJICBmaQoJICBjYXNl
ICRsaW5rbW9kZSBpbgoJICBsaWIpCgkgICAgIyBMaW5raW5nIGNvbnZlbmll
bmNlIG1vZHVsZXMgaW50byBzaGFyZWQgbGlicmFyaWVzIGlzIGFsbG93ZWQs
CgkgICAgIyBidXQgbGlua2luZyBvdGhlciBzdGF0aWMgbGlicmFyaWVzIGlz
IG5vbi1wb3J0YWJsZS4KCSAgICBjYXNlICIgJGRscHJlY29udmVuaWVuY2Vs
aWJzICIgaW4KCSAgICAqIiAkZGVwbGliICIqKSA7OwoJICAgICopCgkgICAg
ICB2YWxpZF9hX2xpYj1ubwoJICAgICAgY2FzZSAkZGVwbGlic19jaGVja19t
ZXRob2QgaW4KCQltYXRjaF9wYXR0ZXJuKikKCQkgIHNldCBkdW1teSAkZGVw
bGlic19jaGVja19tZXRob2Q7IHNoaWZ0CgkJICBtYXRjaF9wYXR0ZXJuX3Jl
Z2V4PWBleHByICIkZGVwbGlic19jaGVja19tZXRob2QiIDogIiQxIFwoLipc
KSJgCgkJICBpZiBldmFsICJcJEVDSE8gXCIkZGVwbGliXCIiIDI+L2Rldi9u
dWxsIHwgJFNFRCAxMHEgXAoJCSAgICB8ICRFR1JFUCAiJG1hdGNoX3BhdHRl
cm5fcmVnZXgiID4gL2Rldi9udWxsOyB0aGVuCgkJICAgIHZhbGlkX2FfbGli
PXllcwoJCSAgZmkKCQk7OwoJCXBhc3NfYWxsKQoJCSAgdmFsaWRfYV9saWI9
eWVzCgkJOzsKCSAgICAgIGVzYWMKCSAgICAgIGlmIHRlc3QgIiR2YWxpZF9h
X2xpYiIgIT0geWVzOyB0aGVuCgkJZWNobwoJCSRFQ0hPICIqKiogV2Fybmlu
ZzogVHJ5aW5nIHRvIGxpbmsgd2l0aCBzdGF0aWMgbGliIGFyY2hpdmUgJGRl
cGxpYi4iCgkJZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBt
YWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIK
CQllY2hvICIqKiogeW91IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkg
Y2FuIG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2ZSBhIgoJCWVjaG8gIioqKiBz
aGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5v
dCBhcHBlYXIgdG8gaGF2ZSIKCQllY2hvICIqKiogYmVjYXVzZSB0aGUgZmls
ZSBleHRlbnNpb25zIC4kbGliZXh0IG9mIHRoaXMgYXJndW1lbnQgbWFrZXMg
bWUgYmVsaWV2ZSIKCQllY2hvICIqKiogdGhhdCBpdCBpcyBqdXN0IGEgc3Rh
dGljIGFyY2hpdmUgdGhhdCBJIHNob3VsZCBub3QgdXNlIGhlcmUuIgoJICAg
ICAgZWxzZQoJCWVjaG8KCQkkRUNITyAiKioqIFdhcm5pbmc6IExpbmtpbmcg
dGhlIHNoYXJlZCBsaWJyYXJ5ICRvdXRwdXQgYWdhaW5zdCB0aGUiCgkJJEVD
SE8gIioqKiBzdGF0aWMgbGlicmFyeSAkZGVwbGliIGlzIG5vdCBwb3J0YWJs
ZSEiCgkJZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgICAgIGZpCgkg
ICAgICA7OwoJICAgIGVzYWMKCSAgICBjb250aW51ZQoJICAgIDs7CgkgIHBy
b2cpCgkgICAgaWYgdGVzdCAiJHBhc3MiICE9IGxpbms7IHRoZW4KCSAgICAg
IGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgZWxzZQoJICAgICAg
Y29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkg
ICAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5hbGl6ZV9kZXBs
aWJzIgoJICAgIGZpCgkgICAgY29udGludWUKCSAgICA7OwoJICBlc2FjICMg
bGlua21vZGUKCSAgOzsgIyAqLiRsaWJleHQKCSoubG8gfCAqLiRvYmpleHQp
CgkgIGlmIHRlc3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAgICBkZXBsaWJz
PSIkZGVwbGliICRkZXBsaWJzIgoJICBlbGlmIHRlc3QgIiRsaW5rbW9kZSIg
PSBwcm9nOyB0aGVuCgkgICAgaWYgdGVzdCAiJHBhc3MiID0gZGxwcmVvcGVu
IHx8IHRlc3QgIiRkbG9wZW5fc3VwcG9ydCIgIT0geWVzIHx8IHRlc3QgIiRi
dWlsZF9saWJ0b29sX2xpYnMiID0gbm87IHRoZW4KCSAgICAgICMgSWYgdGhl
cmUgaXMgbm8gZGxvcGVuIHN1cHBvcnQgb3Igd2UncmUgbGlua2luZyBzdGF0
aWNhbGx5LAoJICAgICAgIyB3ZSBuZWVkIHRvIHByZWxvYWQuCgkgICAgICBu
ZXdkbHByZWZpbGVzKz0iICRkZXBsaWIiCgkgICAgICBjb21waWxlX2RlcGxp
YnM9IiRkZXBsaWIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICAgIGZpbmFsaXpl
X2RlcGxpYnM9IiRkZXBsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgICAgZWxz
ZQoJICAgICAgbmV3ZGxmaWxlcys9IiAkZGVwbGliIgoJICAgIGZpCgkgIGZp
CgkgIGNvbnRpbnVlCgkgIDs7CgklREVQTElCUyUpCgkgIGFsbGRlcGxpYnM9
eWVzCgkgIGNvbnRpbnVlCgkgIDs7Cgllc2FjICMgY2FzZSAkZGVwbGliCgoJ
aWYgdGVzdCAiJGZvdW5kIiA9IHllcyB8fCB0ZXN0IC1mICIkbGliIjsgdGhl
biA6CgllbHNlCgkgIGZ1bmNfZmF0YWxfZXJyb3IgImNhbm5vdCBmaW5kIHRo
ZSBsaWJyYXJ5IFxgJGxpYicgb3IgdW5oYW5kbGVkIGFyZ3VtZW50IFxgJGRl
cGxpYiciCglmaQoKCSMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhpcyByZWFsbHkg
aXMgYSBsaWJ0b29sIGFyY2hpdmUuCglmdW5jX2xhbGliX3Vuc2FmZV9wICIk
bGliIiBcCgkgIHx8IGZ1bmNfZmF0YWxfZXJyb3IgIlxgJGxpYicgaXMgbm90
IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIgoKCWZ1bmNfZGlybmFtZSAiJGxp
YiIgIiIgIi4iCglsYWRpcj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCgoJZGxu
YW1lPQoJZGxvcGVuPQoJZGxwcmVvcGVuPQoJbGliZGlyPQoJbGlicmFyeV9u
YW1lcz0KCW9sZF9saWJyYXJ5PQoJaW5oZXJpdGVkX2xpbmtlcl9mbGFncz0K
CSMgSWYgdGhlIGxpYnJhcnkgd2FzIGluc3RhbGxlZCB3aXRoIGFuIG9sZCBy
ZWxlYXNlIG9mIGxpYnRvb2wsCgkjIGl0IHdpbGwgbm90IHJlZGVmaW5lIHZh
cmlhYmxlcyBpbnN0YWxsZWQsIG9yIHNob3VsZG5vdGxpbmsKCWluc3RhbGxl
ZD15ZXMKCXNob3VsZG5vdGxpbms9bm8KCWF2b2lkdGVtcHJwYXRoPQoKCgkj
IFJlYWQgdGhlIC5sYSBmaWxlCglmdW5jX3NvdXJjZSAiJGxpYiIKCgkjIENv
bnZlcnQgIi1mcmFtZXdvcmsgZm9vIiB0byAiZm9vLmx0ZnJhbWV3b3JrIgoJ
aWYgdGVzdCAtbiAiJGluaGVyaXRlZF9saW5rZXJfZmxhZ3MiOyB0aGVuCgkg
IHRtcF9pbmhlcml0ZWRfbGlua2VyX2ZsYWdzPWAkRUNITyAiJGluaGVyaXRl
ZF9saW5rZXJfZmxhZ3MiIHwgJFNFRCAncy8tZnJhbWV3b3JrIFwoW14gJF0q
XCkvXDEubHRmcmFtZXdvcmsvZydgCgkgIGZvciB0bXBfaW5oZXJpdGVkX2xp
bmtlcl9mbGFnIGluICR0bXBfaW5oZXJpdGVkX2xpbmtlcl9mbGFnczsgZG8K
CSAgICBjYXNlICIgJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzICIgaW4K
CSAgICAgICoiICR0bXBfaW5oZXJpdGVkX2xpbmtlcl9mbGFnICIqKSA7OwoJ
ICAgICAgKikgbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MrPSIgJHRtcF9p
bmhlcml0ZWRfbGlua2VyX2ZsYWciOzsKCSAgICBlc2FjCgkgIGRvbmUKCWZp
CglkZXBlbmRlbmN5X2xpYnM9YCRFQ0hPICIgJGRlcGVuZGVuY3lfbGlicyIg
fCAkU0VEICdzJSBcKFteICRdKlwpLmx0ZnJhbWV3b3JrJSAtZnJhbWV3b3Jr
IFwxJWcnYAoJaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsbGlu
ayIgfHwKCSAgIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxzY2Fu
IiB8fAoJICAgeyB0ZXN0ICIkbGlua21vZGUiICE9IHByb2cgJiYgdGVzdCAi
JGxpbmttb2RlIiAhPSBsaWI7IH07IHRoZW4KCSAgdGVzdCAtbiAiJGRsb3Bl
biIgJiYgZGxmaWxlcys9IiAkZGxvcGVuIgoJICB0ZXN0IC1uICIkZGxwcmVv
cGVuIiAmJiBkbHByZWZpbGVzKz0iICRkbHByZW9wZW4iCglmaQoKCWlmIHRl
c3QgIiRwYXNzIiA9IGNvbnY7IHRoZW4KCSAgIyBPbmx5IGNoZWNrIGZvciBj
b252ZW5pZW5jZSBsaWJyYXJpZXMKCSAgZGVwbGlicz0iJGxpYiAkZGVwbGli
cyIKCSAgaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4KCSAgICBpZiB0ZXN0
IC16ICIkb2xkX2xpYnJhcnkiOyB0aGVuCgkgICAgICBmdW5jX2ZhdGFsX2Vy
cm9yICJjYW5ub3QgZmluZCBuYW1lIG9mIGxpbmsgbGlicmFyeSBmb3IgXGAk
bGliJyIKCSAgICBmaQoJICAgICMgSXQgaXMgYSBsaWJ0b29sIGNvbnZlbmll
bmNlIGxpYnJhcnksIHNvIGFkZCBpbiBpdHMgb2JqZWN0cy4KCSAgICBjb252
ZW5pZW5jZSs9IiAkbGFkaXIvJG9iamRpci8kb2xkX2xpYnJhcnkiCgkgICAg
b2xkX2NvbnZlbmllbmNlKz0iICRsYWRpci8kb2JqZGlyLyRvbGRfbGlicmFy
eSIKCSAgZWxpZiB0ZXN0ICIkbGlua21vZGUiICE9IHByb2cgJiYgdGVzdCAi
JGxpbmttb2RlIiAhPSBsaWI7IHRoZW4KCSAgICBmdW5jX2ZhdGFsX2Vycm9y
ICJcYCRsaWInIGlzIG5vdCBhIGNvbnZlbmllbmNlIGxpYnJhcnkiCgkgIGZp
CgkgIHRtcF9saWJzPQoJICBmb3IgZGVwbGliIGluICRkZXBlbmRlbmN5X2xp
YnM7IGRvCgkgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgICBp
ZiAkb3B0X3ByZXNlcnZlX2R1cF9kZXBzIDsgdGhlbgoJICAgICAgY2FzZSAi
JHRtcF9saWJzICIgaW4KCSAgICAgICoiICRkZXBsaWIgIiopIHNwZWNpYWxk
ZXBsaWJzKz0iICRkZXBsaWIiIDs7CgkgICAgICBlc2FjCgkgICAgZmkKCSAg
ICB0bXBfbGlicys9IiAkZGVwbGliIgoJICBkb25lCgkgIGNvbnRpbnVlCglm
aSAjICRwYXNzID0gY29udgoKCgkjIEdldCB0aGUgbmFtZSBvZiB0aGUgbGli
cmFyeSB3ZSBsaW5rIGFnYWluc3QuCglsaW5rbGliPQoJaWYgdGVzdCAtbiAi
JG9sZF9saWJyYXJ5IiAmJgoJICAgeyB0ZXN0ICIkcHJlZmVyX3N0YXRpY19s
aWJzIiA9IHllcyB8fAoJICAgICB0ZXN0ICIkcHJlZmVyX3N0YXRpY19saWJz
LCRpbnN0YWxsZWQiID0gImJ1aWx0LG5vIjsgfTsgdGhlbgoJICBsaW5rbGli
PSRvbGRfbGlicmFyeQoJZWxzZQoJICBmb3IgbCBpbiAkb2xkX2xpYnJhcnkg
JGxpYnJhcnlfbmFtZXM7IGRvCgkgICAgbGlua2xpYj0iJGwiCgkgIGRvbmUK
CWZpCglpZiB0ZXN0IC16ICIkbGlua2xpYiI7IHRoZW4KCSAgZnVuY19mYXRh
bF9lcnJvciAiY2Fubm90IGZpbmQgbmFtZSBvZiBsaW5rIGxpYnJhcnkgZm9y
IFxgJGxpYiciCglmaQoKCSMgVGhpcyBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQg
d2l0aCAtZGxvcGVuLgoJaWYgdGVzdCAiJHBhc3MiID0gZGxvcGVuOyB0aGVu
CgkgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCgkgICAgZnVuY19mYXRh
bF9lcnJvciAiY2Fubm90IC1kbG9wZW4gYSBjb252ZW5pZW5jZSBsaWJyYXJ5
OiBcYCRsaWInIgoJICBmaQoJICBpZiB0ZXN0IC16ICIkZGxuYW1lIiB8fAoJ
ICAgICB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiICE9IHllcyB8fAoJICAgICB0
ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAgIyBJ
ZiB0aGVyZSBpcyBubyBkbG5hbWUsIG5vIGRsb3BlbiBzdXBwb3J0IG9yIHdl
J3JlIGxpbmtpbmcKCSAgICAjIHN0YXRpY2FsbHksIHdlIG5lZWQgdG8gcHJl
bG9hZC4gIFdlIGFsc28gbmVlZCB0byBwcmVsb2FkIGFueQoJICAgICMgZGVw
ZW5kZW50IGxpYnJhcmllcyBzbyBsaWJsdGRsJ3MgZGVwbGliIHByZWxvYWRl
ciBkb2Vzbid0CgkgICAgIyBib21iIG91dCBpbiB0aGUgbG9hZCBkZXBsaWJz
IHBoYXNlLgoJICAgIGRscHJlZmlsZXMrPSIgJGxpYiAkZGVwZW5kZW5jeV9s
aWJzIgoJICBlbHNlCgkgICAgbmV3ZGxmaWxlcys9IiAkbGliIgoJICBmaQoJ
ICBjb250aW51ZQoJZmkgIyAkcGFzcyA9IGRsb3BlbgoKCSMgV2UgbmVlZCBh
biBhYnNvbHV0ZSBwYXRoLgoJY2FzZSAkbGFkaXIgaW4KCVtcXC9dKiB8IFtB
LVphLXpdOltcXC9dKikgYWJzX2xhZGlyPSIkbGFkaXIiIDs7CgkqKQoJICBh
YnNfbGFkaXI9YGNkICIkbGFkaXIiICYmIHB3ZGAKCSAgaWYgdGVzdCAteiAi
JGFic19sYWRpciI7IHRoZW4KCSAgICBmdW5jX3dhcm5pbmcgImNhbm5vdCBk
ZXRlcm1pbmUgYWJzb2x1dGUgZGlyZWN0b3J5IG5hbWUgb2YgXGAkbGFkaXIn
IgoJICAgIGZ1bmNfd2FybmluZyAicGFzc2luZyBpdCBsaXRlcmFsbHkgdG8g
dGhlIGxpbmtlciwgYWx0aG91Z2ggaXQgbWlnaHQgZmFpbCIKCSAgICBhYnNf
bGFkaXI9IiRsYWRpciIKCSAgZmkKCSAgOzsKCWVzYWMKCWZ1bmNfYmFzZW5h
bWUgIiRsaWIiCglsYW5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKCgkj
IEZpbmQgdGhlIHJlbGV2YW50IG9iamVjdCBkaXJlY3RvcnkgYW5kIGxpYnJh
cnkgbmFtZS4KCWlmIHRlc3QgIlgkaW5zdGFsbGVkIiA9IFh5ZXM7IHRoZW4K
CSAgaWYgdGVzdCAhIC1mICIkbHRfc3lzcm9vdCRsaWJkaXIvJGxpbmtsaWIi
ICYmIHRlc3QgLWYgIiRhYnNfbGFkaXIvJGxpbmtsaWIiOyB0aGVuCgkgICAg
ZnVuY193YXJuaW5nICJsaWJyYXJ5IFxgJGxpYicgd2FzIG1vdmVkLiIKCSAg
ICBkaXI9IiRsYWRpciIKCSAgICBhYnNkaXI9IiRhYnNfbGFkaXIiCgkgICAg
bGliZGlyPSIkYWJzX2xhZGlyIgoJICBlbHNlCgkgICAgZGlyPSIkbHRfc3lz
cm9vdCRsaWJkaXIiCgkgICAgYWJzZGlyPSIkbHRfc3lzcm9vdCRsaWJkaXIi
CgkgIGZpCgkgIHRlc3QgIlgkaGFyZGNvZGVfYXV0b21hdGljIiA9IFh5ZXMg
JiYgYXZvaWR0ZW1wcnBhdGg9eWVzCgllbHNlCgkgIGlmIHRlc3QgISAtZiAi
JGxhZGlyLyRvYmpkaXIvJGxpbmtsaWIiICYmIHRlc3QgLWYgIiRhYnNfbGFk
aXIvJGxpbmtsaWIiOyB0aGVuCgkgICAgZGlyPSIkbGFkaXIiCgkgICAgYWJz
ZGlyPSIkYWJzX2xhZGlyIgoJICAgICMgUmVtb3ZlIHRoaXMgc2VhcmNoIHBh
dGggbGF0ZXIKCSAgICBub3RpbnN0X3BhdGgrPSIgJGFic19sYWRpciIKCSAg
ZWxzZQoJICAgIGRpcj0iJGxhZGlyLyRvYmpkaXIiCgkgICAgYWJzZGlyPSIk
YWJzX2xhZGlyLyRvYmpkaXIiCgkgICAgIyBSZW1vdmUgdGhpcyBzZWFyY2gg
cGF0aCBsYXRlcgoJICAgIG5vdGluc3RfcGF0aCs9IiAkYWJzX2xhZGlyIgoJ
ICBmaQoJZmkgIyAkaW5zdGFsbGVkID0geWVzCglmdW5jX3N0cmlwbmFtZSAn
bGliJyAnLmxhJyAiJGxhbmFtZSIKCW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jl
c3VsdAoKCSMgVGhpcyBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQgd2l0aCAtZGxw
cmVvcGVuLgoJaWYgdGVzdCAiJHBhc3MiID0gZGxwcmVvcGVuOyB0aGVuCgkg
IGlmIHRlc3QgLXogIiRsaWJkaXIiICYmIHRlc3QgIiRsaW5rbW9kZSIgPSBw
cm9nOyB0aGVuCgkgICAgZnVuY19mYXRhbF9lcnJvciAib25seSBsaWJyYXJp
ZXMgbWF5IC1kbHByZW9wZW4gYSBjb252ZW5pZW5jZSBsaWJyYXJ5OiBcYCRs
aWInIgoJICBmaQoJICBjYXNlICIkaG9zdCIgaW4KCSAgICAjIHNwZWNpYWwg
aGFuZGxpbmcgZm9yIHBsYXRmb3JtcyB3aXRoIFBFLURMTHMuCgkgICAgKmN5
Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiApCgkgICAgICAjIExpbmtlciB3
aWxsIGF1dG9tYXRpY2FsbHkgbGluayBhZ2FpbnN0IHNoYXJlZCBsaWJyYXJ5
IGlmIGJvdGgKCSAgICAgICMgc3RhdGljIGFuZCBzaGFyZWQgYXJlIHByZXNl
bnQuICBUaGVyZWZvcmUsIGVuc3VyZSB3ZSBleHRyYWN0CgkgICAgICAjIHN5
bWJvbHMgZnJvbSB0aGUgaW1wb3J0IGxpYnJhcnkgaWYgYSBzaGFyZWQgbGli
cmFyeSBpcyBwcmVzZW50CgkgICAgICAjIChvdGhlcndpc2UsIHRoZSBkbG9w
ZW4gbW9kdWxlIG5hbWUgd2lsbCBiZSBpbmNvcnJlY3QpLiAgV2UgZG8KCSAg
ICAgICMgdGhpcyBieSBwdXR0aW5nIHRoZSBpbXBvcnQgbGlicmFyeSBuYW1l
IGludG8gJG5ld2RscHJlZmlsZXMuCgkgICAgICAjIFdlIHJlY292ZXIgdGhl
IGRsb3BlbiBtb2R1bGUgbmFtZSBieSAnc2F2aW5nJyB0aGUgbGEgZmlsZQoJ
ICAgICAgIyBuYW1lIGluIGEgc3BlY2lhbCBwdXJwb3NlIHZhcmlhYmxlLCBh
bmQgKGxhdGVyKSBleHRyYWN0aW5nIHRoZQoJICAgICAgIyBkbG5hbWUgZnJv
bSB0aGUgbGEgZmlsZS4KCSAgICAgIGlmIHRlc3QgLW4gIiRkbG5hbWUiOyB0
aGVuCgkgICAgICAgIGZ1bmNfdHJfc2ggIiRkaXIvJGxpbmtsaWIiCgkgICAg
ICAgIGV2YWwgImxpYmZpbGVfJGZ1bmNfdHJfc2hfcmVzdWx0PVwkYWJzX2xh
ZGlyL1wkbGFuYW1lIgoJICAgICAgICBuZXdkbHByZWZpbGVzKz0iICRkaXIv
JGxpbmtsaWIiCgkgICAgICBlbHNlCgkgICAgICAgIG5ld2RscHJlZmlsZXMr
PSIgJGRpci8kb2xkX2xpYnJhcnkiCgkgICAgICAgICMgS2VlcCBhIGxpc3Qg
b2YgcHJlb3BlbmVkIGNvbnZlbmllbmNlIGxpYnJhcmllcyB0byBjaGVjawoJ
ICAgICAgICAjIHRoYXQgdGhleSBhcmUgYmVpbmcgdXNlZCBjb3JyZWN0bHkg
aW4gdGhlIGxpbmsgcGFzcy4KCSAgICAgICAgdGVzdCAteiAiJGxpYmRpciIg
JiYgXAoJICAgICAgICAgIGRscHJlY29udmVuaWVuY2VsaWJzKz0iICRkaXIv
JG9sZF9saWJyYXJ5IgoJICAgICAgZmkKCSAgICA7OwoJICAgICogKQoJICAg
ICAgIyBQcmVmZXIgdXNpbmcgYSBzdGF0aWMgbGlicmFyeSAoc28gdGhhdCBu
byBzaWxseSBfRFlOQU1JQyBzeW1ib2xzCgkgICAgICAjIGFyZSByZXF1aXJl
ZCB0byBsaW5rKS4KCSAgICAgIGlmIHRlc3QgLW4gIiRvbGRfbGlicmFyeSI7
IHRoZW4KCSAgICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkZGlyLyRvbGRfbGli
cmFyeSIKCSAgICAgICAgIyBLZWVwIGEgbGlzdCBvZiBwcmVvcGVuZWQgY29u
dmVuaWVuY2UgbGlicmFyaWVzIHRvIGNoZWNrCgkgICAgICAgICMgdGhhdCB0
aGV5IGFyZSBiZWluZyB1c2VkIGNvcnJlY3RseSBpbiB0aGUgbGluayBwYXNz
LgoJICAgICAgICB0ZXN0IC16ICIkbGliZGlyIiAmJiBcCgkgICAgICAgICAg
ZGxwcmVjb252ZW5pZW5jZWxpYnMrPSIgJGRpci8kb2xkX2xpYnJhcnkiCgkg
ICAgICAjIE90aGVyd2lzZSwgdXNlIHRoZSBkbG5hbWUsIHNvIHRoYXQgbHRf
ZGxvcGVuIGZpbmRzIGl0LgoJICAgICAgZWxpZiB0ZXN0IC1uICIkZGxuYW1l
IjsgdGhlbgoJICAgICAgICBuZXdkbHByZWZpbGVzKz0iICRkaXIvJGRsbmFt
ZSIKCSAgICAgIGVsc2UKCSAgICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkZGly
LyRsaW5rbGliIgoJICAgICAgZmkKCSAgICA7OwoJICBlc2FjCglmaSAjICRw
YXNzID0gZGxwcmVvcGVuCgoJaWYgdGVzdCAteiAiJGxpYmRpciI7IHRoZW4K
CSAgIyBMaW5rIHRoZSBjb252ZW5pZW5jZSBsaWJyYXJ5CgkgIGlmIHRlc3Qg
IiRsaW5rbW9kZSIgPSBsaWI7IHRoZW4KCSAgICBkZXBsaWJzPSIkZGlyLyRv
bGRfbGlicmFyeSAkZGVwbGlicyIKCSAgZWxpZiB0ZXN0ICIkbGlua21vZGUs
JHBhc3MiID0gInByb2csbGluayI7IHRoZW4KCSAgICBjb21waWxlX2RlcGxp
YnM9IiRkaXIvJG9sZF9saWJyYXJ5ICRjb21waWxlX2RlcGxpYnMiCgkgICAg
ZmluYWxpemVfZGVwbGlicz0iJGRpci8kb2xkX2xpYnJhcnkgJGZpbmFsaXpl
X2RlcGxpYnMiCgkgIGVsc2UKCSAgICBkZXBsaWJzPSIkbGliICRkZXBsaWJz
IiAjIHVzZWQgZm9yIHByb2csc2NhbiBwYXNzCgkgIGZpCgkgIGNvbnRpbnVl
CglmaQoKCglpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyAmJiB0ZXN0ICIk
cGFzcyIgIT0gbGluazsgdGhlbgoJICBuZXdsaWJfc2VhcmNoX3BhdGgrPSIg
JGxhZGlyIgoJICBkZXBsaWJzPSIkbGliICRkZXBsaWJzIgoKCSAgbGlua2Fs
bGRlcGxpYnM9bm8KCSAgaWYgdGVzdCAiJGxpbmtfYWxsX2RlcGxpYnMiICE9
IG5vIHx8IHRlc3QgLXogIiRsaWJyYXJ5X25hbWVzIiB8fAoJICAgICB0ZXN0
ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAgbGlua2Fs
bGRlcGxpYnM9eWVzCgkgIGZpCgoJICB0bXBfbGlicz0KCSAgZm9yIGRlcGxp
YiBpbiAkZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgIGNhc2UgJGRlcGxpYiBp
bgoJICAgIC1MKikgZnVuY19zdHJpcG5hbWUgJy1MJyAnJyAiJGRlcGxpYiIK
CSAgICAgICAgIGZ1bmNfcmVzb2x2ZV9zeXNyb290ICIkZnVuY19zdHJpcG5h
bWVfcmVzdWx0IgoJICAgICAgICAgbmV3bGliX3NlYXJjaF9wYXRoKz0iICRm
dW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQiCgkJIDs7CgkgICAgZXNhYwoJ
ICAgICMgTmVlZCB0byBsaW5rIGFnYWluc3QgYWxsIGRlcGVuZGVuY3lfbGli
cz8KCSAgICBpZiB0ZXN0ICIkbGlua2FsbGRlcGxpYnMiID0geWVzOyB0aGVu
CgkgICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICAgIGVsc2UK
CSAgICAgICMgTmVlZCB0byBoYXJkY29kZSBzaGFyZWQgbGlicmFyeSBwYXRo
cwoJICAgICAgIyBvci9hbmQgbGluayBhZ2FpbnN0IHN0YXRpYyBsaWJyYXJp
ZXMKCSAgICAgIG5ld2RlcGVuZGVuY3lfbGlicz0iJGRlcGxpYiAkbmV3ZGVw
ZW5kZW5jeV9saWJzIgoJICAgIGZpCgkgICAgaWYgJG9wdF9wcmVzZXJ2ZV9k
dXBfZGVwcyA7IHRoZW4KCSAgICAgIGNhc2UgIiR0bXBfbGlicyAiIGluCgkg
ICAgICAqIiAkZGVwbGliICIqKSBzcGVjaWFsZGVwbGlicys9IiAkZGVwbGli
IiA7OwoJICAgICAgZXNhYwoJICAgIGZpCgkgICAgdG1wX2xpYnMrPSIgJGRl
cGxpYiIKCSAgZG9uZSAjIGZvciBkZXBsaWIKCSAgY29udGludWUKCWZpICMg
JGxpbmttb2RlID0gcHJvZy4uLgoKCWlmIHRlc3QgIiRsaW5rbW9kZSwkcGFz
cyIgPSAicHJvZyxsaW5rIjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkbGlicmFy
eV9uYW1lcyIgJiYKCSAgICAgeyB7IHRlc3QgIiRwcmVmZXJfc3RhdGljX2xp
YnMiID0gbm8gfHwKCSAgICAgICAgIHRlc3QgIiRwcmVmZXJfc3RhdGljX2xp
YnMsJGluc3RhbGxlZCIgPSAiYnVpbHQseWVzIjsgfSB8fAoJICAgICAgIHRl
c3QgLXogIiRvbGRfbGlicmFyeSI7IH07IHRoZW4KCSAgICAjIFdlIG5lZWQg
dG8gaGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aAoJICAgIGlmIHRlc3QgLW4g
IiRzaGxpYnBhdGhfdmFyIiAmJiB0ZXN0IC16ICIkYXZvaWR0ZW1wcnBhdGgi
IDsgdGhlbgoJICAgICAgIyBNYWtlIHN1cmUgdGhlIHJwYXRoIGNvbnRhaW5z
IG9ubHkgdW5pcXVlIGRpcmVjdG9yaWVzLgoJICAgICAgY2FzZSAiJHRlbXBf
cnBhdGg6IiBpbgoJICAgICAgKiIkYWJzZGlyOiIqKSA7OwoJICAgICAgKikg
dGVtcF9ycGF0aCs9IiRhYnNkaXI6IiA7OwoJICAgICAgZXNhYwoJICAgIGZp
CgoJICAgICMgSGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0aC4KCSAgICAjIFNr
aXAgZGlyZWN0b3JpZXMgdGhhdCBhcmUgaW4gdGhlIHN5c3RlbSBkZWZhdWx0
IHJ1bi10aW1lCgkgICAgIyBzZWFyY2ggcGF0aC4KCSAgICBjYXNlICIgJHN5
c19saWJfZGxzZWFyY2hfcGF0aCAiIGluCgkgICAgKiIgJGFic2RpciAiKikg
OzsKCSAgICAqKQoJICAgICAgY2FzZSAiJGNvbXBpbGVfcnBhdGggIiBpbgoJ
ICAgICAgKiIgJGFic2RpciAiKikgOzsKCSAgICAgICopIGNvbXBpbGVfcnBh
dGgrPSIgJGFic2RpciIgOzsKCSAgICAgIGVzYWMKCSAgICAgIDs7CgkgICAg
ZXNhYwoJICAgIGNhc2UgIiAkc3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4K
CSAgICAqIiAkbGliZGlyICIqKSA7OwoJICAgICopCgkgICAgICBjYXNlICIk
ZmluYWxpemVfcnBhdGggIiBpbgoJICAgICAgKiIgJGxpYmRpciAiKikgOzsK
CSAgICAgICopIGZpbmFsaXplX3JwYXRoKz0iICRsaWJkaXIiIDs7CgkgICAg
ICBlc2FjCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZmkgIyAkbGlua21vZGUs
JHBhc3MgPSBwcm9nLGxpbmsuLi4KCgkgIGlmIHRlc3QgIiRhbGxkZXBsaWJz
IiA9IHllcyAmJgoJICAgICB7IHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhv
ZCIgPSBwYXNzX2FsbCB8fAoJICAgICAgIHsgdGVzdCAiJGJ1aWxkX2xpYnRv
b2xfbGlicyIgPSB5ZXMgJiYKCQkgdGVzdCAtbiAiJGxpYnJhcnlfbmFtZXMi
OyB9OyB9OyB0aGVuCgkgICAgIyBXZSBvbmx5IG5lZWQgdG8gc2VhcmNoIGZv
ciBzdGF0aWMgbGlicmFyaWVzCgkgICAgY29udGludWUKCSAgZmkKCWZpCgoJ
bGlua19zdGF0aWM9bm8gIyBXaGV0aGVyIHRoZSBkZXBsaWIgd2lsbCBiZSBs
aW5rZWQgc3RhdGljYWxseQoJdXNlX3N0YXRpY19saWJzPSRwcmVmZXJfc3Rh
dGljX2xpYnMKCWlmIHRlc3QgIiR1c2Vfc3RhdGljX2xpYnMiID0gYnVpbHQg
JiYgdGVzdCAiJGluc3RhbGxlZCIgPSB5ZXM7IHRoZW4KCSAgdXNlX3N0YXRp
Y19saWJzPW5vCglmaQoJaWYgdGVzdCAtbiAiJGxpYnJhcnlfbmFtZXMiICYm
CgkgICB7IHRlc3QgIiR1c2Vfc3RhdGljX2xpYnMiID0gbm8gfHwgdGVzdCAt
eiAiJG9sZF9saWJyYXJ5IjsgfTsgdGhlbgoJICBjYXNlICRob3N0IGluCgkg
ICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyopCgkgICAgICAjIE5vIHBv
aW50IGluIHJlbGlua2luZyBETExzIGJlY2F1c2UgcGF0aHMgYXJlIG5vdCBl
bmNvZGVkCgkgICAgICBub3RpbnN0X2RlcGxpYnMrPSIgJGxpYiIKCSAgICAg
IG5lZWRfcmVsaW5rPW5vCgkgICAgOzsKCSAgKikKCSAgICBpZiB0ZXN0ICIk
aW5zdGFsbGVkIiA9IG5vOyB0aGVuCgkgICAgICBub3RpbnN0X2RlcGxpYnMr
PSIgJGxpYiIKCSAgICAgIG5lZWRfcmVsaW5rPXllcwoJICAgIGZpCgkgICAg
OzsKCSAgZXNhYwoJICAjIFRoaXMgaXMgYSBzaGFyZWQgbGlicmFyeQoKCSAg
IyBXYXJuIGFib3V0IHBvcnRhYmlsaXR5LCBjYW4ndCBsaW5rIGFnYWluc3Qg
LW1vZHVsZSdzIG9uIHNvbWUKCSAgIyBzeXN0ZW1zIChkYXJ3aW4pLiAgRG9u
J3QgYmxlYXQgYWJvdXQgZGxvcGVuZWQgbW9kdWxlcyB0aG91Z2ghCgkgIGRs
b3Blbm1vZHVsZT0iIgoJICBmb3IgZGxwcmVtb2R1bGV0ZXN0IGluICRkbHBy
ZWZpbGVzOyBkbwoJICAgIGlmIHRlc3QgIlgkZGxwcmVtb2R1bGV0ZXN0IiA9
ICJYJGxpYiI7IHRoZW4KCSAgICAgIGRsb3Blbm1vZHVsZT0iJGRscHJlbW9k
dWxldGVzdCIKCSAgICAgIGJyZWFrCgkgICAgZmkKCSAgZG9uZQoJICBpZiB0
ZXN0IC16ICIkZGxvcGVubW9kdWxlIiAmJiB0ZXN0ICIkc2hvdWxkbm90bGlu
ayIgPSB5ZXMgJiYgdGVzdCAiJHBhc3MiID0gbGluazsgdGhlbgoJICAgIGVj
aG8KCSAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhlbgoJICAg
ICAgJEVDSE8gIioqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxl
ICRvdXRwdXQgYWdhaW5zdCB0aGUgbG9hZGFibGUgbW9kdWxlIgoJICAgIGVs
c2UKCSAgICAgICRFQ0hPICIqKiogV2FybmluZzogTGlua2luZyB0aGUgc2hh
cmVkIGxpYnJhcnkgJG91dHB1dCBhZ2FpbnN0IHRoZSBsb2FkYWJsZSBtb2R1
bGUiCgkgICAgZmkKCSAgICAkRUNITyAiKioqICRsaW5rbGliIGlzIG5vdCBw
b3J0YWJsZSEiCgkgIGZpCgkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWIg
JiYKCSAgICAgdGVzdCAiJGhhcmRjb2RlX2ludG9fbGlicyIgPSB5ZXM7IHRo
ZW4KCSAgICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGguCgkgICAgIyBT
a2lwIGRpcmVjdG9yaWVzIHRoYXQgYXJlIGluIHRoZSBzeXN0ZW0gZGVmYXVs
dCBydW4tdGltZQoJICAgICMgc2VhcmNoIHBhdGguCgkgICAgY2FzZSAiICRz
eXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgoJICAgICoiICRhYnNkaXIgIiop
IDs7CgkgICAgKikKCSAgICAgIGNhc2UgIiRjb21waWxlX3JwYXRoICIgaW4K
CSAgICAgICoiICRhYnNkaXIgIiopIDs7CgkgICAgICAqKSBjb21waWxlX3Jw
YXRoKz0iICRhYnNkaXIiIDs7CgkgICAgICBlc2FjCgkgICAgICA7OwoJICAg
IGVzYWMKCSAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGlu
CgkgICAgKiIgJGxpYmRpciAiKikgOzsKCSAgICAqKQoJICAgICAgY2FzZSAi
JGZpbmFsaXplX3JwYXRoICIgaW4KCSAgICAgICoiICRsaWJkaXIgIiopIDs7
CgkgICAgICAqKSBmaW5hbGl6ZV9ycGF0aCs9IiAkbGliZGlyIiA7OwoJICAg
ICAgZXNhYwoJICAgICAgOzsKCSAgICBlc2FjCgkgIGZpCgoJICBpZiB0ZXN0
IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHMiOyB0aGVuCgkg
ICAgIyBmaWd1cmUgb3V0IHRoZSBzb25hbWUKCSAgICBzZXQgZHVtbXkgJGxp
YnJhcnlfbmFtZXMKCSAgICBzaGlmdAoJICAgIHJlYWxuYW1lPSIkMSIKCSAg
ICBzaGlmdAoJICAgIGxpYm5hbWU9YGV2YWwgIlxcJEVDSE8gXCIkbGlibmFt
ZV9zcGVjXCIiYAoJICAgICMgdXNlIGRsbmFtZSBpZiB3ZSBnb3QgaXQuIGl0
J3MgcGVyZmVjdGx5IGdvb2QsIG5vPwoJICAgIGlmIHRlc3QgLW4gIiRkbG5h
bWUiOyB0aGVuCgkgICAgICBzb25hbWU9IiRkbG5hbWUiCgkgICAgZWxpZiB0
ZXN0IC1uICIkc29uYW1lX3NwZWMiOyB0aGVuCgkgICAgICAjIGJsZWggd2lu
ZG93cwoJICAgICAgY2FzZSAkaG9zdCBpbgoJICAgICAgKmN5Z3dpbiogfCBt
aW5ndyogfCAqY2VnY2MqKQoJICAgICAgICBmdW5jX2FyaXRoICRjdXJyZW50
IC0gJGFnZQoJCW1ham9yPSRmdW5jX2FyaXRoX3Jlc3VsdAoJCXZlcnN1ZmZp
eD0iLSRtYWpvciIKCQk7OwoJICAgICAgZXNhYwoJICAgICAgZXZhbCBzb25h
bWU9XCIkc29uYW1lX3NwZWNcIgoJICAgIGVsc2UKCSAgICAgIHNvbmFtZT0i
JHJlYWxuYW1lIgoJICAgIGZpCgoJICAgICMgTWFrZSBhIG5ldyBuYW1lIGZv
ciB0aGUgZXh0cmFjdF9leHBzeW1zX2NtZHMgdG8gdXNlCgkgICAgc29yb290
PSIkc29uYW1lIgoJICAgIGZ1bmNfYmFzZW5hbWUgIiRzb3Jvb3QiCgkgICAg
c29uYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCgkgICAgZnVuY19zdHJp
cG5hbWUgJ2xpYicgJy5kbGwnICIkc29uYW1lIgoJICAgIG5ld2xpYj1saWJp
bXAtJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdC5hCgoJICAgICMgSWYgdGhlIGxp
YnJhcnkgaGFzIG5vIGV4cG9ydCBsaXN0LCB0aGVuIGNyZWF0ZSBvbmUgbm93
CgkgICAgaWYgdGVzdCAtZiAiJG91dHB1dF9vYmpkaXIvJHNvbmFtZS1kZWYi
OyB0aGVuIDoKCSAgICBlbHNlCgkgICAgICBmdW5jX3ZlcmJvc2UgImV4dHJh
Y3RpbmcgZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBcYCRzb25hbWUnIgoJ
ICAgICAgZnVuY19leGVjdXRlX2NtZHMgIiRleHRyYWN0X2V4cHN5bXNfY21k
cyIgJ2V4aXQgJD8nCgkgICAgZmkKCgkgICAgIyBDcmVhdGUgJG5ld2xpYgoJ
ICAgIGlmIHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRuZXdsaWIiOyB0aGVu
IDo7IGVsc2UKCSAgICAgIGZ1bmNfdmVyYm9zZSAiZ2VuZXJhdGluZyBpbXBv
cnQgbGlicmFyeSBmb3IgXGAkc29uYW1lJyIKCSAgICAgIGZ1bmNfZXhlY3V0
ZV9jbWRzICIkb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHMiICdleGl0
ICQ/JwoJICAgIGZpCgkgICAgIyBtYWtlIHN1cmUgdGhlIGxpYnJhcnkgdmFy
aWFibGVzIGFyZSBwb2ludGluZyB0byB0aGUgbmV3IGxpYnJhcnkKCSAgICBk
aXI9JG91dHB1dF9vYmpkaXIKCSAgICBsaW5rbGliPSRuZXdsaWIKCSAgZmkg
IyB0ZXN0IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHMiCgoJ
ICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyB8fCB0ZXN0ICIkb3B0X21v
ZGUiICE9IHJlbGluazsgdGhlbgoJICAgIGFkZF9zaGxpYnBhdGg9CgkgICAg
YWRkX2Rpcj0KCSAgICBhZGQ9CgkgICAgbGliX2xpbmtlZD15ZXMKCSAgICBj
YXNlICRoYXJkY29kZV9hY3Rpb24gaW4KCSAgICBpbW1lZGlhdGUgfCB1bnN1
cHBvcnRlZCkKCSAgICAgIGlmIHRlc3QgIiRoYXJkY29kZV9kaXJlY3QiID0g
bm87IHRoZW4KCQlhZGQ9IiRkaXIvJGxpbmtsaWIiCgkJY2FzZSAkaG9zdCBp
bgoJCSAgKi0qLXNjbzMuMnY1LjAuWzAyNF0qKSBhZGRfZGlyPSItTCRkaXIi
IDs7CgkJICAqLSotc3lzdjQqdXcyKikgYWRkX2Rpcj0iLUwkZGlyIiA7OwoJ
CSAgKi0qLXN5c3Y1T3BlblVOSVgqIHwgKi0qLXN5c3Y1VW5peFdhcmU3Llsw
MV0uWzEwXSogfCBcCgkJICAgICotKi11bml4d2FyZTcqKSBhZGRfZGlyPSIt
TCRkaXIiIDs7CgkJICAqLSotZGFyd2luKiApCgkJICAgICMgaWYgdGhlIGxp
YiBpcyBhIChub24tZGxvcGVuZWQpIG1vZHVsZSB0aGVuIHdlIGNhbiBub3QK
CQkgICAgIyBsaW5rIGFnYWluc3QgaXQsIHNvbWVvbmUgaXMgaWdub3Jpbmcg
dGhlIGVhcmxpZXIgd2FybmluZ3MKCQkgICAgaWYgL3Vzci9iaW4vZmlsZSAt
TCAkYWRkIDI+IC9kZXYvbnVsbCB8CgkJCSAkR1JFUCAiOiBbXjpdKiBidW5k
bGUiID4vZGV2L251bGwgOyB0aGVuCgkJICAgICAgaWYgdGVzdCAiWCRkbG9w
ZW5tb2R1bGUiICE9ICJYJGxpYiI7IHRoZW4KCQkJJEVDSE8gIioqKiBXYXJu
aW5nOiBsaWIgJGxpbmtsaWIgaXMgYSBtb2R1bGUsIG5vdCBhIHNoYXJlZCBs
aWJyYXJ5IgoJCQlpZiB0ZXN0IC16ICIkb2xkX2xpYnJhcnkiIDsgdGhlbgoJ
CQkgIGVjaG8KCQkJICBlY2hvICIqKiogQW5kIHRoZXJlIGRvZXNuJ3Qgc2Vl
bSB0byBiZSBhIHN0YXRpYyBhcmNoaXZlIGF2YWlsYWJsZSIKCQkJICBlY2hv
ICIqKiogVGhlIGxpbmsgd2lsbCBwcm9iYWJseSBmYWlsLCBzb3JyeSIKCQkJ
ZWxzZQoJCQkgIGFkZD0iJGRpci8kb2xkX2xpYnJhcnkiCgkJCWZpCgkJICAg
ICAgZWxpZiB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiOyB0aGVuCgkJCWFkZD0i
JGRpci8kb2xkX2xpYnJhcnkiCgkJICAgICAgZmkKCQkgICAgZmkKCQllc2Fj
CgkgICAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9taW51c19MIiA9IG5vOyB0
aGVuCgkJY2FzZSAkaG9zdCBpbgoJCSotKi1zdW5vcyopIGFkZF9zaGxpYnBh
dGg9IiRkaXIiIDs7CgkJZXNhYwoJCWFkZF9kaXI9Ii1MJGRpciIKCQlhZGQ9
Ii1sJG5hbWUiCgkgICAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9zaGxpYnBh
dGhfdmFyIiA9IG5vOyB0aGVuCgkJYWRkX3NobGlicGF0aD0iJGRpciIKCQlh
ZGQ9Ii1sJG5hbWUiCgkgICAgICBlbHNlCgkJbGliX2xpbmtlZD1ubwoJICAg
ICAgZmkKCSAgICAgIDs7CgkgICAgcmVsaW5rKQoJICAgICAgaWYgdGVzdCAi
JGhhcmRjb2RlX2RpcmVjdCIgPSB5ZXMgJiYKCSAgICAgICAgIHRlc3QgIiRo
YXJkY29kZV9kaXJlY3RfYWJzb2x1dGUiID0gbm87IHRoZW4KCQlhZGQ9IiRk
aXIvJGxpbmtsaWIiCgkgICAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9taW51
c19MIiA9IHllczsgdGhlbgoJCWFkZF9kaXI9Ii1MJGRpciIKCQkjIFRyeSBs
b29raW5nIGZpcnN0IGluIHRoZSBsb2NhdGlvbiB3ZSdyZSBiZWluZyBpbnN0
YWxsZWQgdG8uCgkJaWYgdGVzdCAtbiAiJGluc3RfcHJlZml4X2RpciI7IHRo
ZW4KCQkgIGNhc2UgJGxpYmRpciBpbgoJCSAgICBbXFwvXSopCgkJICAgICAg
YWRkX2Rpcis9IiAtTCRpbnN0X3ByZWZpeF9kaXIkbGliZGlyIgoJCSAgICAg
IDs7CgkJICBlc2FjCgkJZmkKCQlhZGQ9Ii1sJG5hbWUiCgkgICAgICBlbGlm
IHRlc3QgIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiA9IHllczsgdGhlbgoJ
CWFkZF9zaGxpYnBhdGg9IiRkaXIiCgkJYWRkPSItbCRuYW1lIgoJICAgICAg
ZWxzZQoJCWxpYl9saW5rZWQ9bm8KCSAgICAgIGZpCgkgICAgICA7OwoJICAg
ICopIGxpYl9saW5rZWQ9bm8gOzsKCSAgICBlc2FjCgoJICAgIGlmIHRlc3Qg
IiRsaWJfbGlua2VkIiAhPSB5ZXM7IHRoZW4KCSAgICAgIGZ1bmNfZmF0YWxf
Y29uZmlndXJhdGlvbiAidW5zdXBwb3J0ZWQgaGFyZGNvZGUgcHJvcGVydGll
cyIKCSAgICBmaQoKCSAgICBpZiB0ZXN0IC1uICIkYWRkX3NobGlicGF0aCI7
IHRoZW4KCSAgICAgIGNhc2UgOiRjb21waWxlX3NobGlicGF0aDogaW4KCSAg
ICAgICoiOiRhZGRfc2hsaWJwYXRoOiIqKSA7OwoJICAgICAgKikgY29tcGls
ZV9zaGxpYnBhdGgrPSIkYWRkX3NobGlicGF0aDoiIDs7CgkgICAgICBlc2Fj
CgkgICAgZmkKCSAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhl
bgoJICAgICAgdGVzdCAtbiAiJGFkZF9kaXIiICYmIGNvbXBpbGVfZGVwbGli
cz0iJGFkZF9kaXIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICAgIHRlc3QgLW4g
IiRhZGQiICYmIGNvbXBpbGVfZGVwbGlicz0iJGFkZCAkY29tcGlsZV9kZXBs
aWJzIgoJICAgIGVsc2UKCSAgICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAmJiBk
ZXBsaWJzPSIkYWRkX2RpciAkZGVwbGlicyIKCSAgICAgIHRlc3QgLW4gIiRh
ZGQiICYmIGRlcGxpYnM9IiRhZGQgJGRlcGxpYnMiCgkgICAgICBpZiB0ZXN0
ICIkaGFyZGNvZGVfZGlyZWN0IiAhPSB5ZXMgJiYKCQkgdGVzdCAiJGhhcmRj
b2RlX21pbnVzX0wiICE9IHllcyAmJgoJCSB0ZXN0ICIkaGFyZGNvZGVfc2hs
aWJwYXRoX3ZhciIgPSB5ZXM7IHRoZW4KCQljYXNlIDokZmluYWxpemVfc2hs
aWJwYXRoOiBpbgoJCSoiOiRsaWJkaXI6IiopIDs7CgkJKikgZmluYWxpemVf
c2hsaWJwYXRoKz0iJGxpYmRpcjoiIDs7CgkJZXNhYwoJICAgICAgZmkKCSAg
ICBmaQoJICBmaQoKCSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2cgfHwg
dGVzdCAiJG9wdF9tb2RlIiA9IHJlbGluazsgdGhlbgoJICAgIGFkZF9zaGxp
YnBhdGg9CgkgICAgYWRkX2Rpcj0KCSAgICBhZGQ9CgkgICAgIyBGaW5hbGl6
ZSBjb21tYW5kIGZvciBib3RoIGlzIHNpbXBsZToganVzdCBoYXJkY29kZSBp
dC4KCSAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiA9IHllcyAmJgoJ
ICAgICAgIHRlc3QgIiRoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGUiID0gbm87
IHRoZW4KCSAgICAgIGFkZD0iJGxpYmRpci8kbGlua2xpYiIKCSAgICBlbGlm
IHRlc3QgIiRoYXJkY29kZV9taW51c19MIiA9IHllczsgdGhlbgoJICAgICAg
YWRkX2Rpcj0iLUwkbGliZGlyIgoJICAgICAgYWRkPSItbCRuYW1lIgoJICAg
IGVsaWYgdGVzdCAiJGhhcmRjb2RlX3NobGlicGF0aF92YXIiID0geWVzOyB0
aGVuCgkgICAgICBjYXNlIDokZmluYWxpemVfc2hsaWJwYXRoOiBpbgoJICAg
ICAgKiI6JGxpYmRpcjoiKikgOzsKCSAgICAgICopIGZpbmFsaXplX3NobGli
cGF0aCs9IiRsaWJkaXI6IiA7OwoJICAgICAgZXNhYwoJICAgICAgYWRkPSIt
bCRuYW1lIgoJICAgIGVsaWYgdGVzdCAiJGhhcmRjb2RlX2F1dG9tYXRpYyIg
PSB5ZXM7IHRoZW4KCSAgICAgIGlmIHRlc3QgLW4gIiRpbnN0X3ByZWZpeF9k
aXIiICYmCgkJIHRlc3QgLWYgIiRpbnN0X3ByZWZpeF9kaXIkbGliZGlyLyRs
aW5rbGliIiA7IHRoZW4KCQlhZGQ9IiRpbnN0X3ByZWZpeF9kaXIkbGliZGly
LyRsaW5rbGliIgoJICAgICAgZWxzZQoJCWFkZD0iJGxpYmRpci8kbGlua2xp
YiIKCSAgICAgIGZpCgkgICAgZWxzZQoJICAgICAgIyBXZSBjYW5ub3Qgc2Vl
bSB0byBoYXJkY29kZSBpdCwgZ3Vlc3Mgd2UnbGwgZmFrZSBpdC4KCSAgICAg
IGFkZF9kaXI9Ii1MJGxpYmRpciIKCSAgICAgICMgVHJ5IGxvb2tpbmcgZmly
c3QgaW4gdGhlIGxvY2F0aW9uIHdlJ3JlIGJlaW5nIGluc3RhbGxlZCB0by4K
CSAgICAgIGlmIHRlc3QgLW4gIiRpbnN0X3ByZWZpeF9kaXIiOyB0aGVuCgkJ
Y2FzZSAkbGliZGlyIGluCgkJICBbXFwvXSopCgkJICAgIGFkZF9kaXIrPSIg
LUwkaW5zdF9wcmVmaXhfZGlyJGxpYmRpciIKCQkgICAgOzsKCQllc2FjCgkg
ICAgICBmaQoJICAgICAgYWRkPSItbCRuYW1lIgoJICAgIGZpCgoJICAgIGlm
IHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVuCgkgICAgICB0ZXN0IC1u
ICIkYWRkX2RpciIgJiYgZmluYWxpemVfZGVwbGlicz0iJGFkZF9kaXIgJGZp
bmFsaXplX2RlcGxpYnMiCgkgICAgICB0ZXN0IC1uICIkYWRkIiAmJiBmaW5h
bGl6ZV9kZXBsaWJzPSIkYWRkICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGVs
c2UKCSAgICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAmJiBkZXBsaWJzPSIkYWRk
X2RpciAkZGVwbGlicyIKCSAgICAgIHRlc3QgLW4gIiRhZGQiICYmIGRlcGxp
YnM9IiRhZGQgJGRlcGxpYnMiCgkgICAgZmkKCSAgZmkKCWVsaWYgdGVzdCAi
JGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCSAgIyBIZXJlIHdlIGFzc3VtZSB0
aGF0IG9uZSBvZiBoYXJkY29kZV9kaXJlY3Qgb3IgaGFyZGNvZGVfbWludXNf
TAoJICAjIGlzIG5vdCB1bnN1cHBvcnRlZC4gIFRoaXMgaXMgdmFsaWQgb24g
YWxsIGtub3duIHN0YXRpYyBhbmQKCSAgIyBzaGFyZWQgcGxhdGZvcm1zLgoJ
ICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiAhPSB1bnN1cHBvcnRlZDsg
dGhlbgoJICAgIHRlc3QgLW4gIiRvbGRfbGlicmFyeSIgJiYgbGlua2xpYj0i
JG9sZF9saWJyYXJ5IgoJICAgIGNvbXBpbGVfZGVwbGlicz0iJGRpci8kbGlu
a2xpYiAkY29tcGlsZV9kZXBsaWJzIgoJICAgIGZpbmFsaXplX2RlcGxpYnM9
IiRkaXIvJGxpbmtsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkgIGVsc2UKCSAg
ICBjb21waWxlX2RlcGxpYnM9Ii1sJG5hbWUgLUwkZGlyICRjb21waWxlX2Rl
cGxpYnMiCgkgICAgZmluYWxpemVfZGVwbGlicz0iLWwkbmFtZSAtTCRkaXIg
JGZpbmFsaXplX2RlcGxpYnMiCgkgIGZpCgllbGlmIHRlc3QgIiRidWlsZF9s
aWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCgkgICMgTm90IGEgc2hhcmVkIGxp
YnJhcnkKCSAgaWYgdGVzdCAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiAhPSBw
YXNzX2FsbDsgdGhlbgoJICAgICMgV2UncmUgdHJ5aW5nIGxpbmsgYSBzaGFy
ZWQgbGlicmFyeSBhZ2FpbnN0IGEgc3RhdGljIG9uZQoJICAgICMgYnV0IHRo
ZSBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IGl0LgoKCSAgICAjIEp1c3QgcHJp
bnQgYSB3YXJuaW5nIGFuZCBhZGQgdGhlIGxpYnJhcnkgdG8gZGVwZW5kZW5j
eV9saWJzIHNvCgkgICAgIyB0aGF0IHRoZSBwcm9ncmFtIGNhbiBiZSBsaW5r
ZWQgYWdhaW5zdCB0aGUgc3RhdGljIGxpYnJhcnkuCgkgICAgZWNobwoJICAg
ICRFQ0hPICIqKiogV2FybmluZzogVGhpcyBzeXN0ZW0gY2FuIG5vdCBsaW5r
IHRvIHN0YXRpYyBsaWIgYXJjaGl2ZSAkbGliLiIKCSAgICBlY2hvICIqKiog
SSBoYXZlIHRoZSBjYXBhYmlsaXR5IHRvIG1ha2UgdGhhdCBsaWJyYXJ5IGF1
dG9tYXRpY2FsbHkgbGluayBpbiB3aGVuIgoJICAgIGVjaG8gIioqKiB5b3Ug
bGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlz
IGlmIHlvdSBoYXZlIGEiCgkgICAgZWNobyAiKioqIHNoYXJlZCB2ZXJzaW9u
IG9mIHRoZSBsaWJyYXJ5LCB3aGljaCB5b3UgZG8gbm90IGFwcGVhciB0byBo
YXZlLiIKCSAgICBpZiB0ZXN0ICIkbW9kdWxlIiA9IHllczsgdGhlbgoJICAg
ICAgZWNobyAiKioqIEJ1dCBhcyB5b3UgdHJ5IHRvIGJ1aWxkIGEgbW9kdWxl
IGxpYnJhcnksIGxpYnRvb2wgd2lsbCBzdGlsbCBjcmVhdGUgIgoJICAgICAg
ZWNobyAiKioqIGEgc3RhdGljIG1vZHVsZSwgdGhhdCBzaG91bGQgd29yayBh
cyBsb25nIGFzIHRoZSBkbG9wZW5pbmcgYXBwbGljYXRpb24iCgkgICAgICBl
Y2hvICIqKiogaXMgbGlua2VkIHdpdGggdGhlIC1kbG9wZW4gZmxhZyB0byBy
ZXNvbHZlIHN5bWJvbHMgYXQgcnVudGltZS4iCgkgICAgICBpZiB0ZXN0IC16
ICIkZ2xvYmFsX3N5bWJvbF9waXBlIjsgdGhlbgoJCWVjaG8KCQllY2hvICIq
KiogSG93ZXZlciwgdGhpcyB3b3VsZCBvbmx5IHdvcmsgaWYgbGlidG9vbCB3
YXMgYWJsZSB0byBleHRyYWN0IHN5bWJvbCIKCQllY2hvICIqKiogbGlzdHMg
ZnJvbSBhIHByb2dyYW0sIHVzaW5nIFxgbm0nIG9yIGVxdWl2YWxlbnQsIGJ1
dCBsaWJ0b29sIGNvdWxkIgoJCWVjaG8gIioqKiBub3QgZmluZCBzdWNoIGEg
cHJvZ3JhbS4gIFNvLCB0aGlzIG1vZHVsZSBpcyBwcm9iYWJseSB1c2VsZXNz
LiIKCQllY2hvICIqKiogXGBubScgZnJvbSBHTlUgYmludXRpbHMgYW5kIGEg
ZnVsbCByZWJ1aWxkIG1heSBoZWxwLiIKCSAgICAgIGZpCgkgICAgICBpZiB0
ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0gbm87IHRoZW4KCQlidWlsZF9saWJ0
b29sX2xpYnM9bW9kdWxlCgkJYnVpbGRfb2xkX2xpYnM9eWVzCgkgICAgICBl
bHNlCgkJYnVpbGRfbGlidG9vbF9saWJzPW5vCgkgICAgICBmaQoJICAgIGZp
CgkgIGVsc2UKCSAgICBkZXBsaWJzPSIkZGlyLyRvbGRfbGlicmFyeSAkZGVw
bGlicyIKCSAgICBsaW5rX3N0YXRpYz15ZXMKCSAgZmkKCWZpICMgbGluayBz
aGFyZWQvc3RhdGljIGxpYnJhcnk/CgoJaWYgdGVzdCAiJGxpbmttb2RlIiA9
IGxpYjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkZGVwZW5kZW5jeV9saWJzIiAm
JgoJICAgICB7IHRlc3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiICE9IHllcyB8
fAoJICAgICAgIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXMgfHwKCSAg
ICAgICB0ZXN0ICIkbGlua19zdGF0aWMiID0geWVzOyB9OyB0aGVuCgkgICAg
IyBFeHRyYWN0IC1SIGZyb20gZGVwZW5kZW5jeV9saWJzCgkgICAgdGVtcF9k
ZXBsaWJzPQoJICAgIGZvciBsaWJkaXIgaW4gJGRlcGVuZGVuY3lfbGliczsg
ZG8KCSAgICAgIGNhc2UgJGxpYmRpciBpbgoJICAgICAgLVIqKSBmdW5jX3N0
cmlwbmFtZSAnLVInICcnICIkbGliZGlyIgoJICAgICAgICAgICB0ZW1wX3hy
cGF0aD0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CgkJICAgY2FzZSAiICR4cnBh
dGggIiBpbgoJCSAgICoiICR0ZW1wX3hycGF0aCAiKikgOzsKCQkgICAqKSB4
cnBhdGgrPSIgJHRlbXBfeHJwYXRoIjs7CgkJICAgZXNhYzs7CgkgICAgICAq
KSB0ZW1wX2RlcGxpYnMrPSIgJGxpYmRpciI7OwoJICAgICAgZXNhYwoJICAg
IGRvbmUKCSAgICBkZXBlbmRlbmN5X2xpYnM9IiR0ZW1wX2RlcGxpYnMiCgkg
IGZpCgoJICBuZXdsaWJfc2VhcmNoX3BhdGgrPSIgJGFic2RpciIKCSAgIyBM
aW5rIGFnYWluc3QgdGhpcyBsaWJyYXJ5CgkgIHRlc3QgIiRsaW5rX3N0YXRp
YyIgPSBubyAmJiBuZXdkZXBlbmRlbmN5X2xpYnM9IiRhYnNfbGFkaXIvJGxh
bmFtZSAkbmV3ZGVwZW5kZW5jeV9saWJzIgoJICAjIC4uLiBhbmQgaXRzIGRl
cGVuZGVuY3lfbGlicwoJICB0bXBfbGlicz0KCSAgZm9yIGRlcGxpYiBpbiAk
ZGVwZW5kZW5jeV9saWJzOyBkbwoJICAgIG5ld2RlcGVuZGVuY3lfbGlicz0i
JGRlcGxpYiAkbmV3ZGVwZW5kZW5jeV9saWJzIgoJICAgIGNhc2UgJGRlcGxp
YiBpbgogICAgICAgICAgICAgIC1MKikgZnVuY19zdHJpcG5hbWUgJy1MJyAn
JyAiJGRlcGxpYiIKICAgICAgICAgICAgICAgICAgIGZ1bmNfcmVzb2x2ZV9z
eXNyb290ICIkZnVuY19zdHJpcG5hbWVfcmVzdWx0Ijs7CiAgICAgICAgICAg
ICAgKikgZnVuY19yZXNvbHZlX3N5c3Jvb3QgIiRkZXBsaWIiIDs7CiAgICAg
ICAgICAgIGVzYWMKCSAgICBpZiAkb3B0X3ByZXNlcnZlX2R1cF9kZXBzIDsg
dGhlbgoJICAgICAgY2FzZSAiJHRtcF9saWJzICIgaW4KCSAgICAgICoiICRm
dW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQgIiopCiAgICAgICAgICAgICAg
ICBzcGVjaWFsZGVwbGlicys9IiAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVz
dWx0IiA7OwoJICAgICAgZXNhYwoJICAgIGZpCgkgICAgdG1wX2xpYnMrPSIg
JGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdCIKCSAgZG9uZQoKCSAgaWYg
dGVzdCAiJGxpbmtfYWxsX2RlcGxpYnMiICE9IG5vOyB0aGVuCgkgICAgIyBB
ZGQgdGhlIHNlYXJjaCBwYXRocyBvZiBhbGwgZGVwZW5kZW5jeSBsaWJyYXJp
ZXMKCSAgICBmb3IgZGVwbGliIGluICRkZXBlbmRlbmN5X2xpYnM7IGRvCgkg
ICAgICBwYXRoPQoJICAgICAgY2FzZSAkZGVwbGliIGluCgkgICAgICAtTCop
IHBhdGg9IiRkZXBsaWIiIDs7CgkgICAgICAqLmxhKQoJICAgICAgICBmdW5j
X3Jlc29sdmVfc3lzcm9vdCAiJGRlcGxpYiIKCSAgICAgICAgZGVwbGliPSRm
dW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQKCSAgICAgICAgZnVuY19kaXJu
YW1lICIkZGVwbGliIiAiIiAiLiIKCQlkaXI9JGZ1bmNfZGlybmFtZV9yZXN1
bHQKCQkjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0aC4KCQljYXNlICRkaXIg
aW4KCQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIGFic2Rpcj0iJGRpciIg
OzsKCQkqKQoJCSAgYWJzZGlyPWBjZCAiJGRpciIgJiYgcHdkYAoJCSAgaWYg
dGVzdCAteiAiJGFic2RpciI7IHRoZW4KCQkgICAgZnVuY193YXJuaW5nICJj
YW5ub3QgZGV0ZXJtaW5lIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lIG9mIFxg
JGRpciciCgkJICAgIGFic2Rpcj0iJGRpciIKCQkgIGZpCgkJICA7OwoJCWVz
YWMKCQlpZiAkR1JFUCAiXmluc3RhbGxlZD1ubyIgJGRlcGxpYiA+IC9kZXYv
bnVsbDsgdGhlbgoJCWNhc2UgJGhvc3QgaW4KCQkqLSotZGFyd2luKikKCQkg
IGRlcGRlcGw9CgkJICBldmFsIGRlcGxpYnJhcnlfbmFtZXM9YCR7U0VEfSAt
biAtZSAncy9ebGlicmFyeV9uYW1lcz1cKC4qXCkkL1wxL3AnICRkZXBsaWJg
CgkJICBpZiB0ZXN0IC1uICIkZGVwbGlicmFyeV9uYW1lcyIgOyB0aGVuCgkJ
ICAgIGZvciB0bXAgaW4gJGRlcGxpYnJhcnlfbmFtZXMgOyBkbwoJCSAgICAg
IGRlcGRlcGw9JHRtcAoJCSAgICBkb25lCgkJICAgIGlmIHRlc3QgLWYgIiRh
YnNkaXIvJG9iamRpci8kZGVwZGVwbCIgOyB0aGVuCgkJICAgICAgZGVwZGVw
bD0iJGFic2Rpci8kb2JqZGlyLyRkZXBkZXBsIgoJCSAgICAgIGRhcndpbl9p
bnN0YWxsX25hbWU9YCR7T1RPT0x9IC1MICRkZXBkZXBsIHwgYXdrICd7aWYg
KE5SID09IDIpIHtwcmludCAkMTtleGl0fX0nYAogICAgICAgICAgICAgICAg
ICAgICAgaWYgdGVzdCAteiAiJGRhcndpbl9pbnN0YWxsX25hbWUiOyB0aGVu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFyd2luX2luc3RhbGxfbmFt
ZT1gJHtPVE9PTDY0fSAtTCAkZGVwZGVwbCAgfCBhd2sgJ3tpZiAoTlIgPT0g
Mikge3ByaW50ICQxO2V4aXR9fSdgCiAgICAgICAgICAgICAgICAgICAgICBm
aQoJCSAgICAgIGNvbXBpbGVyX2ZsYWdzKz0iICR7d2x9LWR5bGliX2ZpbGUg
JHt3bH0ke2Rhcndpbl9pbnN0YWxsX25hbWV9OiR7ZGVwZGVwbH0iCgkJICAg
ICAgbGlua2VyX2ZsYWdzKz0iIC1keWxpYl9maWxlICR7ZGFyd2luX2luc3Rh
bGxfbmFtZX06JHtkZXBkZXBsfSIKCQkgICAgICBwYXRoPQoJCSAgICBmaQoJ
CSAgZmkKCQkgIDs7CgkJKikKCQkgIHBhdGg9Ii1MJGFic2Rpci8kb2JqZGly
IgoJCSAgOzsKCQllc2FjCgkJZWxzZQoJCSAgZXZhbCBsaWJkaXI9YCR7U0VE
fSAtbiAtZSAncy9ebGliZGlyPVwoLipcKSQvXDEvcCcgJGRlcGxpYmAKCQkg
IHRlc3QgLXogIiRsaWJkaXIiICYmIFwKCQkgICAgZnVuY19mYXRhbF9lcnJv
ciAiXGAkZGVwbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUi
CgkJICB0ZXN0ICIkYWJzZGlyIiAhPSAiJGxpYmRpciIgJiYgXAoJCSAgICBm
dW5jX3dhcm5pbmcgIlxgJGRlcGxpYicgc2VlbXMgdG8gYmUgbW92ZWQiCgoJ
CSAgcGF0aD0iLUwkYWJzZGlyIgoJCWZpCgkJOzsKCSAgICAgIGVzYWMKCSAg
ICAgIGNhc2UgIiAkZGVwbGlicyAiIGluCgkgICAgICAqIiAkcGF0aCAiKikg
OzsKCSAgICAgICopIGRlcGxpYnM9IiRwYXRoICRkZXBsaWJzIiA7OwoJICAg
ICAgZXNhYwoJICAgIGRvbmUKCSAgZmkgIyBsaW5rX2FsbF9kZXBsaWJzICE9
IG5vCglmaSAjIGxpbmttb2RlID0gbGliCiAgICAgIGRvbmUgIyBmb3IgZGVw
bGliIGluICRsaWJzCiAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGxpbms7IHRo
ZW4KCWlmIHRlc3QgIiRsaW5rbW9kZSIgPSAicHJvZyI7IHRoZW4KCSAgY29t
cGlsZV9kZXBsaWJzPSIkbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MgJGNv
bXBpbGVfZGVwbGlicyIKCSAgZmluYWxpemVfZGVwbGlicz0iJG5ld19pbmhl
cml0ZWRfbGlua2VyX2ZsYWdzICRmaW5hbGl6ZV9kZXBsaWJzIgoJZWxzZQoJ
ICBjb21waWxlcl9mbGFncz0iJGNvbXBpbGVyX2ZsYWdzICJgJEVDSE8gIiAk
bmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MiIHwgJFNFRCAncyUgXChbXiAk
XSpcKS5sdGZyYW1ld29yayUgLWZyYW1ld29yayBcMSVnJ2AKCWZpCiAgICAg
IGZpCiAgICAgIGRlcGVuZGVuY3lfbGlicz0iJG5ld2RlcGVuZGVuY3lfbGli
cyIKICAgICAgaWYgdGVzdCAiJHBhc3MiID0gZGxwcmVvcGVuOyB0aGVuCgkj
IExpbmsgdGhlIGRscHJlb3BlbmVkIGxpYnJhcmllcyBiZWZvcmUgb3RoZXIg
bGlicmFyaWVzCglmb3IgZGVwbGliIGluICRzYXZlX2RlcGxpYnM7IGRvCgkg
IGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCglkb25lCiAgICAgIGZpCiAg
ICAgIGlmIHRlc3QgIiRwYXNzIiAhPSBkbG9wZW47IHRoZW4KCWlmIHRlc3Qg
IiRwYXNzIiAhPSBjb252OyB0aGVuCgkgICMgTWFrZSBzdXJlIGxpYl9zZWFy
Y2hfcGF0aCBjb250YWlucyBvbmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KCSAg
bGliX3NlYXJjaF9wYXRoPQoJICBmb3IgZGlyIGluICRuZXdsaWJfc2VhcmNo
X3BhdGg7IGRvCgkgICAgY2FzZSAiJGxpYl9zZWFyY2hfcGF0aCAiIGluCgkg
ICAgKiIgJGRpciAiKikgOzsKCSAgICAqKSBsaWJfc2VhcmNoX3BhdGgrPSIg
JGRpciIgOzsKCSAgICBlc2FjCgkgIGRvbmUKCSAgbmV3bGliX3NlYXJjaF9w
YXRoPQoJZmkKCglpZiB0ZXN0ICIkbGlua21vZGUsJHBhc3MiICE9ICJwcm9n
LGxpbmsiOyB0aGVuCgkgIHZhcnM9ImRlcGxpYnMiCgllbHNlCgkgIHZhcnM9
ImNvbXBpbGVfZGVwbGlicyBmaW5hbGl6ZV9kZXBsaWJzIgoJZmkKCWZvciB2
YXIgaW4gJHZhcnMgZGVwZW5kZW5jeV9saWJzOyBkbwoJICAjIEFkZCBsaWJy
YXJpZXMgdG8gJHZhciBpbiByZXZlcnNlIG9yZGVyCgkgIGV2YWwgdG1wX2xp
YnM9XCJcJCR2YXJcIgoJICBuZXdfbGlicz0KCSAgZm9yIGRlcGxpYiBpbiAk
dG1wX2xpYnM7IGRvCgkgICAgIyBGSVhNRTogUGVkYW50aWNhbGx5LCB0aGlz
IGlzIHRoZSByaWdodCB0aGluZyB0byBkbywgc28KCSAgICAjICAgICAgICB0
aGF0IHNvbWUgbmFzdHkgZGVwZW5kZW5jeSBsb29wIGlzbid0IGFjY2lkZW50
YWxseQoJICAgICMgICAgICAgIGJyb2tlbjoKCSAgICAjbmV3X2xpYnM9IiRk
ZXBsaWIgJG5ld19saWJzIgoJICAgICMgUHJhZ21hdGljYWxseSwgdGhpcyBz
ZWVtcyB0byBjYXVzZSB2ZXJ5IGZldyBwcm9ibGVtcyBpbgoJICAgICMgcHJh
Y3RpY2U6CgkgICAgY2FzZSAkZGVwbGliIGluCgkgICAgLUwqKSBuZXdfbGli
cz0iJGRlcGxpYiAkbmV3X2xpYnMiIDs7CgkgICAgLVIqKSA7OwoJICAgICop
CgkgICAgICAjIEFuZCBoZXJlIGlzIHRoZSByZWFzb246IHdoZW4gYSBsaWJy
YXJ5IGFwcGVhcnMgbW9yZQoJICAgICAgIyB0aGFuIG9uY2UgYXMgYW4gZXhw
bGljaXQgZGVwZW5kZW5jZSBvZiBhIGxpYnJhcnksIG9yCgkgICAgICAjIGlz
IGltcGxpY2l0bHkgbGlua2VkIGluIG1vcmUgdGhhbiBvbmNlIGJ5IHRoZQoJ
ICAgICAgIyBjb21waWxlciwgaXQgaXMgY29uc2lkZXJlZCBzcGVjaWFsLCBh
bmQgbXVsdGlwbGUKCSAgICAgICMgb2NjdXJyZW5jZXMgdGhlcmVvZiBhcmUg
bm90IHJlbW92ZWQuICBDb21wYXJlIHRoaXMKCSAgICAgICMgd2l0aCBoYXZp
bmcgdGhlIHNhbWUgbGlicmFyeSBiZWluZyBsaXN0ZWQgYXMgYQoJICAgICAg
IyBkZXBlbmRlbmN5IG9mIG11bHRpcGxlIG90aGVyIGxpYnJhcmllczogaW4g
dGhpcyBjYXNlLAoJICAgICAgIyB3ZSBrbm93IChwZWRhbnRpY2FsbHksIHdl
IGFzc3VtZSkgdGhlIGxpYnJhcnkgZG9lcyBub3QKCSAgICAgICMgbmVlZCB0
byBiZSBsaXN0ZWQgbW9yZSB0aGFuIG9uY2UsIHNvIHdlIGtlZXAgb25seSB0
aGUKCSAgICAgICMgbGFzdCBjb3B5LiAgVGhpcyBpcyBub3QgYWx3YXlzIHJp
Z2h0LCBidXQgaXQgaXMgcmFyZQoJICAgICAgIyBlbm91Z2ggdGhhdCB3ZSBy
ZXF1aXJlIHVzZXJzIHRoYXQgcmVhbGx5IG1lYW4gdG8gcGxheQoJICAgICAg
IyBzdWNoIHVucG9ydGFibGUgbGlua2luZyB0cmlja3MgdG8gbGluayB0aGUg
bGlicmFyeQoJICAgICAgIyB1c2luZyAtV2wsLWxuYW1lLCBzbyB0aGF0IGxp
YnRvb2wgZG9lcyBub3QgY29uc2lkZXIgaXQKCSAgICAgICMgZm9yIGR1cGxp
Y2F0ZSByZW1vdmFsLgoJICAgICAgY2FzZSAiICRzcGVjaWFsZGVwbGlicyAi
IGluCgkgICAgICAqIiAkZGVwbGliICIqKSBuZXdfbGlicz0iJGRlcGxpYiAk
bmV3X2xpYnMiIDs7CgkgICAgICAqKQoJCWNhc2UgIiAkbmV3X2xpYnMgIiBp
bgoJCSoiICRkZXBsaWIgIiopIDs7CgkJKikgbmV3X2xpYnM9IiRkZXBsaWIg
JG5ld19saWJzIiA7OwoJCWVzYWMKCQk7OwoJICAgICAgZXNhYwoJICAgICAg
OzsKCSAgICBlc2FjCgkgIGRvbmUKCSAgdG1wX2xpYnM9CgkgIGZvciBkZXBs
aWIgaW4gJG5ld19saWJzOyBkbwoJICAgIGNhc2UgJGRlcGxpYiBpbgoJICAg
IC1MKikKCSAgICAgIGNhc2UgIiAkdG1wX2xpYnMgIiBpbgoJICAgICAgKiIg
JGRlcGxpYiAiKikgOzsKCSAgICAgICopIHRtcF9saWJzKz0iICRkZXBsaWIi
IDs7CgkgICAgICBlc2FjCgkgICAgICA7OwoJICAgICopIHRtcF9saWJzKz0i
ICRkZXBsaWIiIDs7CgkgICAgZXNhYwoJICBkb25lCgkgIGV2YWwgJHZhcj1c
IiR0bXBfbGlic1wiCglkb25lICMgZm9yIHZhcgogICAgICBmaQogICAgICAj
IExhc3Qgc3RlcDogcmVtb3ZlIHJ1bnRpbWUgbGlicyBmcm9tIGRlcGVuZGVu
Y3lfbGlicwogICAgICAjICh0aGV5IHN0YXkgaW4gZGVwbGlicykKICAgICAg
dG1wX2xpYnM9CiAgICAgIGZvciBpIGluICRkZXBlbmRlbmN5X2xpYnMgOyBk
bwoJY2FzZSAiICRwcmVkZXBzICRwb3N0ZGVwcyAkY29tcGlsZXJfbGliX3Nl
YXJjaF9wYXRoICIgaW4KCSoiICRpICIqKQoJICBpPSIiCgkgIDs7Cgllc2Fj
CglpZiB0ZXN0IC1uICIkaSIgOyB0aGVuCgkgIHRtcF9saWJzKz0iICRpIgoJ
ZmkKICAgICAgZG9uZQogICAgICBkZXBlbmRlbmN5X2xpYnM9JHRtcF9saWJz
CiAgICBkb25lICMgZm9yIHBhc3MKICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIg
PSBwcm9nOyB0aGVuCiAgICAgIGRsZmlsZXM9IiRuZXdkbGZpbGVzIgogICAg
ZmkKICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9nIHx8IHRlc3QgIiRs
aW5rbW9kZSIgPSBsaWI7IHRoZW4KICAgICAgZGxwcmVmaWxlcz0iJG5ld2Rs
cHJlZmlsZXMiCiAgICBmaQoKICAgIGNhc2UgJGxpbmttb2RlIGluCiAgICBv
bGRsaWIpCiAgICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmlsZXMi
IHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCglmdW5jX3dhcm5pbmcg
IlxgLWRsb3BlbicgaXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiCiAgICAgIGZp
CgogICAgICBjYXNlICIgJGRlcGxpYnMiIGluCiAgICAgICpcIC1sKiB8ICpc
IC1MKikKCWZ1bmNfd2FybmluZyAiXGAtbCcgYW5kIFxgLUwnIGFyZSBpZ25v
cmVkIGZvciBhcmNoaXZlcyIgOzsKICAgICAgZXNhYwoKICAgICAgdGVzdCAt
biAiJHJwYXRoIiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLXJwYXRoJyBpcyBp
Z25vcmVkIGZvciBhcmNoaXZlcyIKCiAgICAgIHRlc3QgLW4gIiR4cnBhdGgi
ICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtUicgaXMgaWdub3JlZCBmb3IgYXJj
aGl2ZXMiCgogICAgICB0ZXN0IC1uICIkdmluZm8iICYmIFwKCWZ1bmNfd2Fy
bmluZyAiXGAtdmVyc2lvbi1pbmZvLy12ZXJzaW9uLW51bWJlcicgaXMgaWdu
b3JlZCBmb3IgYXJjaGl2ZXMiCgogICAgICB0ZXN0IC1uICIkcmVsZWFzZSIg
JiYgXAoJZnVuY193YXJuaW5nICJcYC1yZWxlYXNlJyBpcyBpZ25vcmVkIGZv
ciBhcmNoaXZlcyIKCiAgICAgIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9scyRl
eHBvcnRfc3ltYm9sc19yZWdleCIgJiYgXAoJZnVuY193YXJuaW5nICJcYC1l
eHBvcnQtc3ltYm9scycgaXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiCgogICAg
ICAjIE5vdyBzZXQgdGhlIHZhcmlhYmxlcyBmb3IgYnVpbGRpbmcgb2xkIGxp
YnJhcmllcy4KICAgICAgYnVpbGRfbGlidG9vbF9saWJzPW5vCiAgICAgIG9s
ZGxpYnM9IiRvdXRwdXQiCiAgICAgIG9ianMrPSIkb2xkX2RlcGxpYnMiCiAg
ICAgIDs7CgogICAgbGliKQogICAgICAjIE1ha2Ugc3VyZSB3ZSBvbmx5IGdl
bmVyYXRlIGxpYnJhcmllcyBvZiB0aGUgZm9ybSBgbGliTkFNRS5sYScuCiAg
ICAgIGNhc2UgJG91dHB1dG5hbWUgaW4KICAgICAgbGliKikKCWZ1bmNfc3Ry
aXBuYW1lICdsaWInICcubGEnICIkb3V0cHV0bmFtZSIKCW5hbWU9JGZ1bmNf
c3RyaXBuYW1lX3Jlc3VsdAoJZXZhbCBzaGFyZWRfZXh0PVwiJHNocmV4dF9j
bWRzXCIKCWV2YWwgbGlibmFtZT1cIiRsaWJuYW1lX3NwZWNcIgoJOzsKICAg
ICAgKikKCXRlc3QgIiRtb2R1bGUiID0gbm8gJiYgXAoJICBmdW5jX2ZhdGFs
X2hlbHAgImxpYnRvb2wgbGlicmFyeSBcYCRvdXRwdXQnIG11c3QgYmVnaW4g
d2l0aCBcYGxpYiciCgoJaWYgdGVzdCAiJG5lZWRfbGliX3ByZWZpeCIgIT0g
bm87IHRoZW4KCSAgIyBBZGQgdGhlICJsaWIiIHByZWZpeCBmb3IgbW9kdWxl
cyBpZiByZXF1aXJlZAoJICBmdW5jX3N0cmlwbmFtZSAnJyAnLmxhJyAiJG91
dHB1dG5hbWUiCgkgIG5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICBl
dmFsIHNoYXJlZF9leHQ9XCIkc2hyZXh0X2NtZHNcIgoJICBldmFsIGxpYm5h
bWU9XCIkbGlibmFtZV9zcGVjXCIKCWVsc2UKCSAgZnVuY19zdHJpcG5hbWUg
JycgJy5sYScgIiRvdXRwdXRuYW1lIgoJICBsaWJuYW1lPSRmdW5jX3N0cmlw
bmFtZV9yZXN1bHQKCWZpCgk7OwogICAgICBlc2FjCgogICAgICBpZiB0ZXN0
IC1uICIkb2JqcyI7IHRoZW4KCWlmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21l
dGhvZCIgIT0gcGFzc19hbGw7IHRoZW4KCSAgZnVuY19mYXRhbF9lcnJvciAi
Y2Fubm90IGJ1aWxkIGxpYnRvb2wgbGlicmFyeSBcYCRvdXRwdXQnIGZyb20g
bm9uLWxpYnRvb2wgb2JqZWN0cyBvbiB0aGlzIGhvc3Q6JG9ianMiCgllbHNl
CgkgIGVjaG8KCSAgJEVDSE8gIioqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBz
aGFyZWQgbGlicmFyeSAkb3V0cHV0IGFnYWluc3QgdGhlIG5vbi1saWJ0b29s
IgoJICAkRUNITyAiKioqIG9iamVjdHMgJG9ianMgaXMgbm90IHBvcnRhYmxl
ISIKCSAgbGlib2Jqcys9IiAkb2JqcyIKCWZpCiAgICAgIGZpCgogICAgICB0
ZXN0ICIkZGxzZWxmIiAhPSBubyAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLWRs
b3BlbiBzZWxmJyBpcyBpZ25vcmVkIGZvciBsaWJ0b29sIGxpYnJhcmllcyIK
CiAgICAgIHNldCBkdW1teSAkcnBhdGgKICAgICAgc2hpZnQKICAgICAgdGVz
dCAiJCMiIC1ndCAxICYmIFwKCWZ1bmNfd2FybmluZyAiaWdub3JpbmcgbXVs
dGlwbGUgXGAtcnBhdGgncyBmb3IgYSBsaWJ0b29sIGxpYnJhcnkiCgogICAg
ICBpbnN0YWxsX2xpYmRpcj0iJDEiCgogICAgICBvbGRsaWJzPQogICAgICBp
ZiB0ZXN0IC16ICIkcnBhdGgiOyB0aGVuCglpZiB0ZXN0ICIkYnVpbGRfbGli
dG9vbF9saWJzIiA9IHllczsgdGhlbgoJICAjIEJ1aWxkaW5nIGEgbGlidG9v
bCBjb252ZW5pZW5jZSBsaWJyYXJ5LgoJICAjIFNvbWUgY29tcGlsZXJzIGhh
dmUgcHJvYmxlbXMgd2l0aCBhIGAuYWwnIGV4dGVuc2lvbiBzbwoJICAjIGNv
bnZlbmllbmNlIGxpYnJhcmllcyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBleHRl
bnNpb24gYW4KCSAgIyBhcmNoaXZlIG5vcm1hbGx5IHdvdWxkLgoJICBvbGRs
aWJzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS4kbGliZXh0ICRvbGRsaWJz
IgoJICBidWlsZF9saWJ0b29sX2xpYnM9Y29udmVuaWVuY2UKCSAgYnVpbGRf
b2xkX2xpYnM9eWVzCglmaQoKCXRlc3QgLW4gIiR2aW5mbyIgJiYgXAoJICBm
dW5jX3dhcm5pbmcgIlxgLXZlcnNpb24taW5mby8tdmVyc2lvbi1udW1iZXIn
IGlzIGlnbm9yZWQgZm9yIGNvbnZlbmllbmNlIGxpYnJhcmllcyIKCgl0ZXN0
IC1uICIkcmVsZWFzZSIgJiYgXAoJICBmdW5jX3dhcm5pbmcgIlxgLXJlbGVh
c2UnIGlzIGlnbm9yZWQgZm9yIGNvbnZlbmllbmNlIGxpYnJhcmllcyIKICAg
ICAgZWxzZQoKCSMgUGFyc2UgdGhlIHZlcnNpb24gaW5mb3JtYXRpb24gYXJn
dW1lbnQuCglzYXZlX2lmcz0iJElGUyI7IElGUz0nOicKCXNldCBkdW1teSAk
dmluZm8gMCAwIDAKCXNoaWZ0CglJRlM9IiRzYXZlX2lmcyIKCgl0ZXN0IC1u
ICIkNyIgJiYgXAoJICBmdW5jX2ZhdGFsX2hlbHAgInRvbyBtYW55IHBhcmFt
ZXRlcnMgdG8gXGAtdmVyc2lvbi1pbmZvJyIKCgkjIGNvbnZlcnQgYWJzb2x1
dGUgdmVyc2lvbiBudW1iZXJzIHRvIGxpYnRvb2wgYWdlcwoJIyB0aGlzIHJl
dGFpbnMgY29tcGF0aWJpbGl0eSB3aXRoIC5sYSBmaWxlcyBhbmQgYXR0ZW1w
dHMKCSMgdG8gbWFrZSB0aGUgY29kZSBiZWxvdyBhIGJpdCBtb3JlIGNvbXBy
ZWhlbnNpYmxlCgoJY2FzZSAkdmluZm9fbnVtYmVyIGluCgl5ZXMpCgkgIG51
bWJlcl9tYWpvcj0iJDEiCgkgIG51bWJlcl9taW5vcj0iJDIiCgkgIG51bWJl
cl9yZXZpc2lvbj0iJDMiCgkgICMKCSAgIyBUaGVyZSBhcmUgcmVhbGx5IG9u
bHkgdHdvIGtpbmRzIC0tIHRob3NlIHRoYXQKCSAgIyB1c2UgdGhlIGN1cnJl
bnQgcmV2aXNpb24gYXMgdGhlIG1ham9yIHZlcnNpb24KCSAgIyBhbmQgdGhv
c2UgdGhhdCBzdWJ0cmFjdCBhZ2UgYW5kIHVzZSBhZ2UgYXMKCSAgIyBhIG1p
bm9yIHZlcnNpb24uICBCdXQsIHRoZW4gdGhlcmUgaXMgaXJpeAoJICAjIHdo
aWNoIGhhcyBhbiBleHRyYSAxIGFkZGVkIGp1c3QgZm9yIGZ1bgoJICAjCgkg
IGNhc2UgJHZlcnNpb25fdHlwZSBpbgoJICBkYXJ3aW58bGludXh8b3NmfHdp
bmRvd3N8bm9uZSkKCSAgICBmdW5jX2FyaXRoICRudW1iZXJfbWFqb3IgKyAk
bnVtYmVyX21pbm9yCgkgICAgY3VycmVudD0kZnVuY19hcml0aF9yZXN1bHQK
CSAgICBhZ2U9IiRudW1iZXJfbWlub3IiCgkgICAgcmV2aXNpb249IiRudW1i
ZXJfcmV2aXNpb24iCgkgICAgOzsKCSAgZnJlZWJzZC1hb3V0fGZyZWVic2Qt
ZWxmfHFueHxzdW5vcykKCSAgICBjdXJyZW50PSIkbnVtYmVyX21ham9yIgoJ
ICAgIHJldmlzaW9uPSIkbnVtYmVyX21pbm9yIgoJICAgIGFnZT0iMCIKCSAg
ICA7OwoJICBpcml4fG5vbnN0b3B1eCkKCSAgICBmdW5jX2FyaXRoICRudW1i
ZXJfbWFqb3IgKyAkbnVtYmVyX21pbm9yCgkgICAgY3VycmVudD0kZnVuY19h
cml0aF9yZXN1bHQKCSAgICBhZ2U9IiRudW1iZXJfbWlub3IiCgkgICAgcmV2
aXNpb249IiRudW1iZXJfbWlub3IiCgkgICAgbHRfaXJpeF9pbmNyZW1lbnQ9
bm8KCSAgICA7OwoJICBlc2FjCgkgIDs7CglubykKCSAgY3VycmVudD0iJDEi
CgkgIHJldmlzaW9uPSIkMiIKCSAgYWdlPSIkMyIKCSAgOzsKCWVzYWMKCgkj
IENoZWNrIHRoYXQgZWFjaCBvZiB0aGUgdGhpbmdzIGFyZSB2YWxpZCBudW1i
ZXJzLgoJY2FzZSAkY3VycmVudCBpbgoJMHxbMS05XXxbMS05XVswLTldfFsx
LTldWzAtOV1bMC05XXxbMS05XVswLTldWzAtOV1bMC05XXxbMS05XVswLTld
WzAtOV1bMC05XVswLTldKSA7OwoJKikKCSAgZnVuY19lcnJvciAiQ1VSUkVO
VCBcYCRjdXJyZW50JyBtdXN0IGJlIGEgbm9ubmVnYXRpdmUgaW50ZWdlciIK
CSAgZnVuY19mYXRhbF9lcnJvciAiXGAkdmluZm8nIGlzIG5vdCB2YWxpZCB2
ZXJzaW9uIGluZm9ybWF0aW9uIgoJICA7OwoJZXNhYwoKCWNhc2UgJHJldmlz
aW9uIGluCgkwfFsxLTldfFsxLTldWzAtOV18WzEtOV1bMC05XVswLTldfFsx
LTldWzAtOV1bMC05XVswLTldfFsxLTldWzAtOV1bMC05XVswLTldWzAtOV0p
IDs7CgkqKQoJICBmdW5jX2Vycm9yICJSRVZJU0lPTiBcYCRyZXZpc2lvbicg
bXVzdCBiZSBhIG5vbm5lZ2F0aXZlIGludGVnZXIiCgkgIGZ1bmNfZmF0YWxf
ZXJyb3IgIlxgJHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lvbiBpbmZvcm1h
dGlvbiIKCSAgOzsKCWVzYWMKCgljYXNlICRhZ2UgaW4KCTB8WzEtOV18WzEt
OV1bMC05XXxbMS05XVswLTldWzAtOV18WzEtOV1bMC05XVswLTldWzAtOV18
WzEtOV1bMC05XVswLTldWzAtOV1bMC05XSkgOzsKCSopCgkgIGZ1bmNfZXJy
b3IgIkFHRSBcYCRhZ2UnIG11c3QgYmUgYSBub25uZWdhdGl2ZSBpbnRlZ2Vy
IgoJICBmdW5jX2ZhdGFsX2Vycm9yICJcYCR2aW5mbycgaXMgbm90IHZhbGlk
IHZlcnNpb24gaW5mb3JtYXRpb24iCgkgIDs7Cgllc2FjCgoJaWYgdGVzdCAi
JGFnZSIgLWd0ICIkY3VycmVudCI7IHRoZW4KCSAgZnVuY19lcnJvciAiQUdF
IFxgJGFnZScgaXMgZ3JlYXRlciB0aGFuIHRoZSBjdXJyZW50IGludGVyZmFj
ZSBudW1iZXIgXGAkY3VycmVudCciCgkgIGZ1bmNfZmF0YWxfZXJyb3IgIlxg
JHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lvbiBpbmZvcm1hdGlvbiIKCWZp
CgoJIyBDYWxjdWxhdGUgdGhlIHZlcnNpb24gdmFyaWFibGVzLgoJbWFqb3I9
Cgl2ZXJzdWZmaXg9Cgl2ZXJzdHJpbmc9CgljYXNlICR2ZXJzaW9uX3R5cGUg
aW4KCW5vbmUpIDs7CgoJZGFyd2luKQoJICAjIExpa2UgTGludXgsIGJ1dCB3
aXRoIHRoZSBjdXJyZW50IHZlcnNpb24gYXZhaWxhYmxlIGluCgkgICMgdmVy
c3RyaW5nIGZvciBjb2RpbmcgaXQgaW50byB0aGUgbGlicmFyeSBoZWFkZXIK
CSAgZnVuY19hcml0aCAkY3VycmVudCAtICRhZ2UKCSAgbWFqb3I9LiRmdW5j
X2FyaXRoX3Jlc3VsdAoJICB2ZXJzdWZmaXg9IiRtYWpvci4kYWdlLiRyZXZp
c2lvbiIKCSAgIyBEYXJ3aW4gbGQgZG9lc24ndCBsaWtlIDAgZm9yIHRoZXNl
IG9wdGlvbnMuLi4KCSAgZnVuY19hcml0aCAkY3VycmVudCArIDEKCSAgbWlu
b3JfY3VycmVudD0kZnVuY19hcml0aF9yZXN1bHQKCSAgeGxjdmVyc3RyaW5n
PSIke3dsfS1jb21wYXRpYmlsaXR5X3ZlcnNpb24gJHt3bH0kbWlub3JfY3Vy
cmVudCAke3dsfS1jdXJyZW50X3ZlcnNpb24gJHt3bH0kbWlub3JfY3VycmVu
dC4kcmV2aXNpb24iCgkgIHZlcnN0cmluZz0iLWNvbXBhdGliaWxpdHlfdmVy
c2lvbiAkbWlub3JfY3VycmVudCAtY3VycmVudF92ZXJzaW9uICRtaW5vcl9j
dXJyZW50LiRyZXZpc2lvbiIKCSAgOzsKCglmcmVlYnNkLWFvdXQpCgkgIG1h
am9yPSIuJGN1cnJlbnQiCgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50LiRyZXZp
c2lvbiI7CgkgIDs7CgoJZnJlZWJzZC1lbGYpCgkgIG1ham9yPSIuJGN1cnJl
bnQiCgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50IgoJICA7OwoKCWlyaXggfCBu
b25zdG9wdXgpCgkgIGlmIHRlc3QgIlgkbHRfaXJpeF9pbmNyZW1lbnQiID0g
IlhubyI7IHRoZW4KCSAgICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFnZQoJ
ICBlbHNlCgkgICAgZnVuY19hcml0aCAkY3VycmVudCAtICRhZ2UgKyAxCgkg
IGZpCgkgIG1ham9yPSRmdW5jX2FyaXRoX3Jlc3VsdAoKCSAgY2FzZSAkdmVy
c2lvbl90eXBlIGluCgkgICAgbm9uc3RvcHV4KSB2ZXJzdHJpbmdfcHJlZml4
PW5vbnN0b3B1eCA7OwoJICAgICopICAgICAgICAgdmVyc3RyaW5nX3ByZWZp
eD1zZ2kgOzsKCSAgZXNhYwoJICB2ZXJzdHJpbmc9IiR2ZXJzdHJpbmdfcHJl
Zml4JG1ham9yLiRyZXZpc2lvbiIKCgkgICMgQWRkIGluIGFsbCB0aGUgaW50
ZXJmYWNlcyB0aGF0IHdlIGFyZSBjb21wYXRpYmxlIHdpdGguCgkgIGxvb3A9
JHJldmlzaW9uCgkgIHdoaWxlIHRlc3QgIiRsb29wIiAtbmUgMDsgZG8KCSAg
ICBmdW5jX2FyaXRoICRyZXZpc2lvbiAtICRsb29wCgkgICAgaWZhY2U9JGZ1
bmNfYXJpdGhfcmVzdWx0CgkgICAgZnVuY19hcml0aCAkbG9vcCAtIDEKCSAg
ICBsb29wPSRmdW5jX2FyaXRoX3Jlc3VsdAoJICAgIHZlcnN0cmluZz0iJHZl
cnN0cmluZ19wcmVmaXgkbWFqb3IuJGlmYWNlOiR2ZXJzdHJpbmciCgkgIGRv
bmUKCgkgICMgQmVmb3JlIHRoaXMgcG9pbnQsICRtYWpvciBtdXN0IG5vdCBj
b250YWluIGAuJy4KCSAgbWFqb3I9LiRtYWpvcgoJICB2ZXJzdWZmaXg9IiRt
YWpvci4kcmV2aXNpb24iCgkgIDs7CgoJbGludXgpCgkgIGZ1bmNfYXJpdGgg
JGN1cnJlbnQgLSAkYWdlCgkgIG1ham9yPS4kZnVuY19hcml0aF9yZXN1bHQK
CSAgdmVyc3VmZml4PSIkbWFqb3IuJGFnZS4kcmV2aXNpb24iCgkgIDs7CgoJ
b3NmKQoJICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFnZQoJICBtYWpvcj0u
JGZ1bmNfYXJpdGhfcmVzdWx0CgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50LiRh
Z2UuJHJldmlzaW9uIgoJICB2ZXJzdHJpbmc9IiRjdXJyZW50LiRhZ2UuJHJl
dmlzaW9uIgoKCSAgIyBBZGQgaW4gYWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQg
d2UgYXJlIGNvbXBhdGlibGUgd2l0aC4KCSAgbG9vcD0kYWdlCgkgIHdoaWxl
IHRlc3QgIiRsb29wIiAtbmUgMDsgZG8KCSAgICBmdW5jX2FyaXRoICRjdXJy
ZW50IC0gJGxvb3AKCSAgICBpZmFjZT0kZnVuY19hcml0aF9yZXN1bHQKCSAg
ICBmdW5jX2FyaXRoICRsb29wIC0gMQoJICAgIGxvb3A9JGZ1bmNfYXJpdGhf
cmVzdWx0CgkgICAgdmVyc3RyaW5nPSIkdmVyc3RyaW5nOiR7aWZhY2V9LjAi
CgkgIGRvbmUKCgkgICMgTWFrZSBleGVjdXRhYmxlcyBkZXBlbmQgb24gb3Vy
IGN1cnJlbnQgdmVyc2lvbi4KCSAgdmVyc3RyaW5nKz0iOiR7Y3VycmVudH0u
MCIKCSAgOzsKCglxbngpCgkgIG1ham9yPSIuJGN1cnJlbnQiCgkgIHZlcnN1
ZmZpeD0iLiRjdXJyZW50IgoJICA7OwoKCXN1bm9zKQoJICBtYWpvcj0iLiRj
dXJyZW50IgoJICB2ZXJzdWZmaXg9Ii4kY3VycmVudC4kcmV2aXNpb24iCgkg
IDs7CgoJd2luZG93cykKCSAgIyBVc2UgJy0nIHJhdGhlciB0aGFuICcuJywg
c2luY2Ugd2Ugb25seSB3YW50IG9uZQoJICAjIGV4dGVuc2lvbiBvbiBET1Mg
OC4zIGZpbGVzeXN0ZW1zLgoJICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFn
ZQoJICBtYWpvcj0kZnVuY19hcml0aF9yZXN1bHQKCSAgdmVyc3VmZml4PSIt
JG1ham9yIgoJICA7OwoKCSopCgkgIGZ1bmNfZmF0YWxfY29uZmlndXJhdGlv
biAidW5rbm93biBsaWJyYXJ5IHZlcnNpb24gdHlwZSBcYCR2ZXJzaW9uX3R5
cGUnIgoJICA7OwoJZXNhYwoKCSMgQ2xlYXIgdGhlIHZlcnNpb24gaW5mbyBp
ZiB3ZSBkZWZhdWx0ZWQsIGFuZCB0aGV5IHNwZWNpZmllZCBhIHJlbGVhc2Uu
CglpZiB0ZXN0IC16ICIkdmluZm8iICYmIHRlc3QgLW4gIiRyZWxlYXNlIjsg
dGhlbgoJICBtYWpvcj0KCSAgY2FzZSAkdmVyc2lvbl90eXBlIGluCgkgIGRh
cndpbikKCSAgICAjIHdlIGNhbid0IGNoZWNrIGZvciAiMC4wIiBpbiBhcmNo
aXZlX2NtZHMgZHVlIHRvIHF1b3RpbmcKCSAgICAjIHByb2JsZW1zLCBzbyB3
ZSByZXNldCBpdCBjb21wbGV0ZWx5CgkgICAgdmVyc3RyaW5nPQoJICAgIDs7
CgkgICopCgkgICAgdmVyc3RyaW5nPSIwLjAiCgkgICAgOzsKCSAgZXNhYwoJ
ICBpZiB0ZXN0ICIkbmVlZF92ZXJzaW9uIiA9IG5vOyB0aGVuCgkgICAgdmVy
c3VmZml4PQoJICBlbHNlCgkgICAgdmVyc3VmZml4PSIuMC4wIgoJICBmaQoJ
ZmkKCgkjIFJlbW92ZSB2ZXJzaW9uIGluZm8gZnJvbSBuYW1lIGlmIHZlcnNp
b25pbmcgc2hvdWxkIGJlIGF2b2lkZWQKCWlmIHRlc3QgIiRhdm9pZF92ZXJz
aW9uIiA9IHllcyAmJiB0ZXN0ICIkbmVlZF92ZXJzaW9uIiA9IG5vOyB0aGVu
CgkgIG1ham9yPQoJICB2ZXJzdWZmaXg9CgkgIHZlcnN0cmluZz0iIgoJZmkK
CgkjIENoZWNrIHRvIHNlZSBpZiB0aGUgYXJjaGl2ZSB3aWxsIGhhdmUgdW5k
ZWZpbmVkIHN5bWJvbHMuCglpZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkIiA9
IHllczsgdGhlbgoJICBpZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkX2ZsYWci
ID0gdW5zdXBwb3J0ZWQ7IHRoZW4KCSAgICBmdW5jX3dhcm5pbmcgInVuZGVm
aW5lZCBzeW1ib2xzIG5vdCBhbGxvd2VkIGluICRob3N0IHNoYXJlZCBsaWJy
YXJpZXMiCgkgICAgYnVpbGRfbGlidG9vbF9saWJzPW5vCgkgICAgYnVpbGRf
b2xkX2xpYnM9eWVzCgkgIGZpCgllbHNlCgkgICMgRG9uJ3QgYWxsb3cgdW5k
ZWZpbmVkIHN5bWJvbHMuCgkgIGFsbG93X3VuZGVmaW5lZF9mbGFnPSIkbm9f
dW5kZWZpbmVkX2ZsYWciCglmaQoKICAgICAgZmkKCiAgICAgIGZ1bmNfZ2Vu
ZXJhdGVfZGxzeW1zICIkbGlibmFtZSIgIiRsaWJuYW1lIiAieWVzIgogICAg
ICBsaWJvYmpzKz0iICRzeW1maWxlb2JqIgogICAgICB0ZXN0ICJYJGxpYm9i
anMiID0gIlggIiAmJiBsaWJvYmpzPQoKICAgICAgaWYgdGVzdCAiJG9wdF9t
b2RlIiAhPSByZWxpbms7IHRoZW4KCSMgUmVtb3ZlIG91ciBvdXRwdXRzLCBi
dXQgZG9uJ3QgcmVtb3ZlIG9iamVjdCBmaWxlcyBzaW5jZSB0aGV5CgkjIG1h
eSBoYXZlIGJlZW4gY3JlYXRlZCB3aGVuIGNvbXBpbGluZyBQSUMgb2JqZWN0
cy4KCXJlbW92ZWxpc3Q9Cgl0ZW1wcmVtb3ZlbGlzdD1gJEVDSE8gIiRvdXRw
dXRfb2JqZGlyLyoiYAoJZm9yIHAgaW4gJHRlbXByZW1vdmVsaXN0OyBkbwoJ
ICBjYXNlICRwIGluCgkgICAgKi4kb2JqZXh0IHwgKi5nY25vKQoJICAgICAg
IDs7CgkgICAgJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUgfCAkb3V0cHV0
X29iamRpci8kbGlibmFtZS4qIHwgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1l
fSR7cmVsZWFzZX0uKikKCSAgICAgICBpZiB0ZXN0ICJYJHByZWNpb3VzX2Zp
bGVzX3JlZ2V4IiAhPSAiWCI7IHRoZW4KCQkgaWYgJEVDSE8gIiRwIiB8ICRF
R1JFUCAtZSAiJHByZWNpb3VzX2ZpbGVzX3JlZ2V4IiA+L2Rldi9udWxsIDI+
JjEKCQkgdGhlbgoJCSAgIGNvbnRpbnVlCgkJIGZpCgkgICAgICAgZmkKCSAg
ICAgICByZW1vdmVsaXN0Kz0iICRwIgoJICAgICAgIDs7CgkgICAgKikgOzsK
CSAgZXNhYwoJZG9uZQoJdGVzdCAtbiAiJHJlbW92ZWxpc3QiICYmIFwKCSAg
ZnVuY19zaG93X2V2YWwgIiR7Uk19ciBcJHJlbW92ZWxpc3QiCiAgICAgIGZp
CgogICAgICAjIE5vdyBzZXQgdGhlIHZhcmlhYmxlcyBmb3IgYnVpbGRpbmcg
b2xkIGxpYnJhcmllcy4KICAgICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJz
IiA9IHllcyAmJiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSBjb252
ZW5pZW5jZSA7IHRoZW4KCW9sZGxpYnMrPSIgJG91dHB1dF9vYmpkaXIvJGxp
Ym5hbWUuJGxpYmV4dCIKCgkjIFRyYW5zZm9ybSAubG8gZmlsZXMgdG8gLm8g
ZmlsZXMuCglvbGRvYmpzPSIkb2JqcyAiYCRFQ0hPICIkbGlib2JqcyIgfCAk
U1AyTkwgfCAkU0VEICIvXC4ke2xpYmV4dH0kL2Q7ICRsbzJvIiB8ICROTDJT
UGAKICAgICAgZmkKCiAgICAgICMgRWxpbWluYXRlIGFsbCB0ZW1wb3Jhcnkg
ZGlyZWN0b3JpZXMuCiAgICAgICNmb3IgcGF0aCBpbiAkbm90aW5zdF9wYXRo
OyBkbwogICAgICAjCWxpYl9zZWFyY2hfcGF0aD1gJEVDSE8gIiRsaWJfc2Vh
cmNoX3BhdGggIiB8ICRTRUQgInMlICRwYXRoICUgJWciYAogICAgICAjCWRl
cGxpYnM9YCRFQ0hPICIkZGVwbGlicyAiIHwgJFNFRCAicyUgLUwkcGF0aCAl
ICVnImAKICAgICAgIwlkZXBlbmRlbmN5X2xpYnM9YCRFQ0hPICIkZGVwZW5k
ZW5jeV9saWJzICIgfCAkU0VEICJzJSAtTCRwYXRoICUgJWciYAogICAgICAj
ZG9uZQoKICAgICAgaWYgdGVzdCAtbiAiJHhycGF0aCI7IHRoZW4KCSMgSWYg
dGhlIHVzZXIgc3BlY2lmaWVkIGFueSBycGF0aCBmbGFncywgdGhlbiBhZGQg
dGhlbS4KCXRlbXBfeHJwYXRoPQoJZm9yIGxpYmRpciBpbiAkeHJwYXRoOyBk
bwoJICBmdW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGxpYmRpciIKCSAgdGVtcF94
cnBhdGgrPSIgLVIkZnVuY19yZXBsYWNlX3N5c3Jvb3RfcmVzdWx0IgoJICBj
YXNlICIkZmluYWxpemVfcnBhdGggIiBpbgoJICAqIiAkbGliZGlyICIqKSA7
OwoJICAqKSBmaW5hbGl6ZV9ycGF0aCs9IiAkbGliZGlyIiA7OwoJICBlc2Fj
Cglkb25lCglpZiB0ZXN0ICIkaGFyZGNvZGVfaW50b19saWJzIiAhPSB5ZXMg
fHwgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgoJICBkZXBl
bmRlbmN5X2xpYnM9IiR0ZW1wX3hycGF0aCAkZGVwZW5kZW5jeV9saWJzIgoJ
ZmkKICAgICAgZmkKCiAgICAgICMgTWFrZSBzdXJlIGRsZmlsZXMgY29udGFp
bnMgb25seSB1bmlxdWUgZmlsZXMgdGhhdCB3b24ndCBiZSBkbHByZW9wZW5l
ZAogICAgICBvbGRfZGxmaWxlcz0iJGRsZmlsZXMiCiAgICAgIGRsZmlsZXM9
CiAgICAgIGZvciBsaWIgaW4gJG9sZF9kbGZpbGVzOyBkbwoJY2FzZSAiICRk
bHByZWZpbGVzICRkbGZpbGVzICIgaW4KCSoiICRsaWIgIiopIDs7CgkqKSBk
bGZpbGVzKz0iICRsaWIiIDs7Cgllc2FjCiAgICAgIGRvbmUKCiAgICAgICMg
TWFrZSBzdXJlIGRscHJlZmlsZXMgY29udGFpbnMgb25seSB1bmlxdWUgZmls
ZXMKICAgICAgb2xkX2RscHJlZmlsZXM9IiRkbHByZWZpbGVzIgogICAgICBk
bHByZWZpbGVzPQogICAgICBmb3IgbGliIGluICRvbGRfZGxwcmVmaWxlczsg
ZG8KCWNhc2UgIiRkbHByZWZpbGVzICIgaW4KCSoiICRsaWIgIiopIDs7Cgkq
KSBkbHByZWZpbGVzKz0iICRsaWIiIDs7Cgllc2FjCiAgICAgIGRvbmUKCiAg
ICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVu
CglpZiB0ZXN0IC1uICIkcnBhdGgiOyB0aGVuCgkgIGNhc2UgJGhvc3QgaW4K
CSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0q
LW9zMiogfCAqLSotYmVvcyogfCAqLWNlZ2NjKiB8ICotKi1oYWlrdSopCgkg
ICAgIyB0aGVzZSBzeXN0ZW1zIGRvbid0IGFjdHVhbGx5IGhhdmUgYSBjIGxp
YnJhcnkgKGFzIHN1Y2gpIQoJICAgIDs7CgkgICotKi1yaGFwc29keSogfCAq
LSotZGFyd2luMS5bMDEyXSkKCSAgICAjIFJoYXBzb2R5IEMgbGlicmFyeSBp
cyBpbiB0aGUgU3lzdGVtIGZyYW1ld29yawoJICAgIGRlcGxpYnMrPSIgU3lz
dGVtLmx0ZnJhbWV3b3JrIgoJICAgIDs7CgkgICotKi1uZXRic2QqKQoJICAg
ICMgRG9uJ3QgbGluayB3aXRoIGxpYmMgdW50aWwgdGhlIGEub3V0IGxkLnNv
IGlzIGZpeGVkLgoJICAgIDs7CgkgICotKi1vcGVuYnNkKiB8ICotKi1mcmVl
YnNkKiB8ICotKi1kcmFnb25mbHkqKQoJICAgICMgRG8gbm90IGluY2x1ZGUg
bGliYyBkdWUgdG8gdXMgaGF2aW5nIGxpYmMvbGliY19yLgoJICAgIDs7Cgkg
ICotKi1zY28zLjJ2NSogfCAqLSotc2NvNXY2KikKCSAgICAjIENhdXNlcyBw
cm9ibGVtcyB3aXRoIF9fY3R5cGUKCSAgICA7OwoJICAqLSotc3lzdjQuMnV3
MiogfCAqLSotc3lzdjUqIHwgKi0qLXVuaXh3YXJlKiB8ICotKi1PcGVuVU5J
WCopCgkgICAgIyBDb21waWxlciBpbnNlcnRzIGxpYmMgaW4gdGhlIGNvcnJl
Y3QgcGxhY2UgZm9yIHRocmVhZHMgdG8gd29yawoJICAgIDs7CgkgICopCgkg
ICAgIyBBZGQgbGliYyB0byBkZXBsaWJzIG9uIGFsbCBvdGhlciBzeXN0ZW1z
IGlmIG5lY2Vzc2FyeS4KCSAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9u
ZWVkX2xjIiA9ICJ5ZXMiOyB0aGVuCgkgICAgICBkZXBsaWJzKz0iIC1sYyIK
CSAgICBmaQoJICAgIDs7CgkgIGVzYWMKCWZpCgoJIyBUcmFuc2Zvcm0gZGVw
bGlicyBpbnRvIG9ubHkgZGVwbGlicyB0aGF0IGNhbiBiZSBsaW5rZWQgaW4g
c2hhcmVkLgoJbmFtZV9zYXZlPSRuYW1lCglsaWJuYW1lX3NhdmU9JGxpYm5h
bWUKCXJlbGVhc2Vfc2F2ZT0kcmVsZWFzZQoJdmVyc3VmZml4X3NhdmU9JHZl
cnN1ZmZpeAoJbWFqb3Jfc2F2ZT0kbWFqb3IKCSMgSSdtIG5vdCBzdXJlIGlm
IEknbSB0cmVhdGluZyB0aGUgcmVsZWFzZSBjb3JyZWN0bHkuICBJIHRoaW5r
CgkjIHJlbGVhc2Ugc2hvdWxkIHNob3cgdXAgaW4gdGhlIC1sIChpZSAtbGdt
cDUpIHNvIHdlIGRvbid0IHdhbnQgdG8KCSMgYWRkIGl0IGluIHR3aWNlLiAg
SXMgdGhhdCBjb3JyZWN0PwoJcmVsZWFzZT0iIgoJdmVyc3VmZml4PSIiCglt
YWpvcj0iIgoJbmV3ZGVwbGlicz0KCWRyb3BwZWRkZXBzPW5vCgljYXNlICRk
ZXBsaWJzX2NoZWNrX21ldGhvZCBpbgoJcGFzc19hbGwpCgkgICMgRG9uJ3Qg
Y2hlY2sgZm9yIHNoYXJlZC9zdGF0aWMuICBFdmVyeXRoaW5nIHdvcmtzLgoJ
ICAjIFRoaXMgbWlnaHQgYmUgYSBsaXR0bGUgbmFpdmUuICBXZSBtaWdodCB3
YW50IHRvIGNoZWNrCgkgICMgd2hldGhlciB0aGUgbGlicmFyeSBleGlzdHMg
b3Igbm90LiAgQnV0IHRoaXMgaXMgb24KCSAgIyBvc2YzICYgb3NmNCBhbmQg
SSdtIG5vdCByZWFsbHkgc3VyZS4uLiBKdXN0CgkgICMgaW1wbGVtZW50aW5n
IHdoYXQgd2FzIGFscmVhZHkgdGhlIGJlaGF2aW9yLgoJICBuZXdkZXBsaWJz
PSRkZXBsaWJzCgkgIDs7Cgl0ZXN0X2NvbXBpbGUpCgkgICMgVGhpcyBjb2Rl
IHN0cmVzc2VzIHRoZSAibGlicmFyaWVzIGFyZSBwcm9ncmFtcyIgcGFyYWRp
Z20gdG8gaXRzCgkgICMgbGltaXRzLiBNYXliZSBldmVuIGJyZWFrcyBpdC4g
IFdlIGNvbXBpbGUgYSBwcm9ncmFtLCBsaW5raW5nIGl0CgkgICMgYWdhaW5z
dCB0aGUgZGVwbGlicyBhcyBhIHByb3h5IGZvciB0aGUgbGlicmFyeS4gIFRo
ZW4gd2UgY2FuIGNoZWNrCgkgICMgd2hldGhlciB0aGV5IGxpbmtlZCBpbiBz
dGF0aWNhbGx5IG9yIGR5bmFtaWNhbGx5IHdpdGggbGRkLgoJICAkb3B0X2Ry
eV9ydW4gfHwgJFJNIGNvbmZ0ZXN0LmMKCSAgY2F0ID4gY29uZnRlc3QuYyA8
PEVPRgoJICBpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH0KRU9GCgkgICRvcHRf
ZHJ5X3J1biB8fCAkUk0gY29uZnRlc3QKCSAgaWYgJExUQ0MgJExUQ0ZMQUdT
IC1vIGNvbmZ0ZXN0IGNvbmZ0ZXN0LmMgJGRlcGxpYnM7IHRoZW4KCSAgICBs
ZGRfb3V0cHV0PWBsZGQgY29uZnRlc3RgCgkgICAgZm9yIGkgaW4gJGRlcGxp
YnM7IGRvCgkgICAgICBjYXNlICRpIGluCgkgICAgICAtbCopCgkJZnVuY19z
dHJpcG5hbWUgLWwgJycgIiRpIgoJCW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jl
c3VsdAoJCWlmIHRlc3QgIlgkYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3Rh
dGljX3J1bnRpbWVzIiA9ICJYeWVzIiA7IHRoZW4KCQkgIGNhc2UgIiAkcHJl
ZGVwcyAkcG9zdGRlcHMgIiBpbgoJCSAgKiIgJGkgIiopCgkJICAgIG5ld2Rl
cGxpYnMrPSIgJGkiCgkJICAgIGk9IiIKCQkgICAgOzsKCQkgIGVzYWMKCQlm
aQoJCWlmIHRlc3QgLW4gIiRpIiA7IHRoZW4KCQkgIGxpYm5hbWU9YGV2YWwg
IlxcJEVDSE8gXCIkbGlibmFtZV9zcGVjXCIiYAoJCSAgZGVwbGliX21hdGNo
ZXM9YGV2YWwgIlxcJEVDSE8gXCIkbGlicmFyeV9uYW1lc19zcGVjXCIiYAoJ
CSAgc2V0IGR1bW15ICRkZXBsaWJfbWF0Y2hlczsgc2hpZnQKCQkgIGRlcGxp
Yl9tYXRjaD0kMQoJCSAgaWYgdGVzdCBgZXhwciAiJGxkZF9vdXRwdXQiIDog
Ii4qJGRlcGxpYl9tYXRjaCJgIC1uZSAwIDsgdGhlbgoJCSAgICBuZXdkZXBs
aWJzKz0iICRpIgoJCSAgZWxzZQoJCSAgICBkcm9wcGVkZGVwcz15ZXMKCQkg
ICAgZWNobwoJCSAgICAkRUNITyAiKioqIFdhcm5pbmc6IGR5bmFtaWMgbGlu
a2VyIGRvZXMgbm90IGFjY2VwdCBuZWVkZWQgbGlicmFyeSAkaS4iCgkJICAg
IGVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0
IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4iCgkJICAgIGVj
aG8gIioqKiB5b3UgbGluayB0byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4g
b25seSBkbyB0aGlzIGlmIHlvdSBoYXZlIGEiCgkJICAgIGVjaG8gIioqKiBz
aGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggSSBiZWxpZXZl
IHlvdSBkbyBub3QgaGF2ZSIKCQkgICAgZWNobyAiKioqIGJlY2F1c2UgYSB0
ZXN0X2NvbXBpbGUgZGlkIHJldmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlkIG5v
dCB1c2UgaXQgZm9yIgoJCSAgICBlY2hvICIqKiogaXRzIGR5bmFtaWMgZGVw
ZW5kZW5jeSBsaXN0IHRoYXQgcHJvZ3JhbXMgZ2V0IHJlc29sdmVkIHdpdGgg
YXQgcnVudGltZS4iCgkJICBmaQoJCWZpCgkJOzsKCSAgICAgICopCgkJbmV3
ZGVwbGlicys9IiAkaSIKCQk7OwoJICAgICAgZXNhYwoJICAgIGRvbmUKCSAg
ZWxzZQoJICAgICMgRXJyb3Igb2NjdXJyZWQgaW4gdGhlIGZpcnN0IGNvbXBp
bGUuICBMZXQncyB0cnkgdG8gc2FsdmFnZQoJICAgICMgdGhlIHNpdHVhdGlv
bjogQ29tcGlsZSBhIHNlcGFyYXRlIHByb2dyYW0gZm9yIGVhY2ggbGlicmFy
eS4KCSAgICBmb3IgaSBpbiAkZGVwbGliczsgZG8KCSAgICAgIGNhc2UgJGkg
aW4KCSAgICAgIC1sKikKCQlmdW5jX3N0cmlwbmFtZSAtbCAnJyAiJGkiCgkJ
bmFtZT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CgkJJG9wdF9kcnlfcnVuIHx8
ICRSTSBjb25mdGVzdAoJCWlmICRMVENDICRMVENGTEFHUyAtbyBjb25mdGVz
dCBjb25mdGVzdC5jICRpOyB0aGVuCgkJICBsZGRfb3V0cHV0PWBsZGQgY29u
ZnRlc3RgCgkJICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRo
X3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkJICAgIGNhc2Ug
IiAkcHJlZGVwcyAkcG9zdGRlcHMgIiBpbgoJCSAgICAqIiAkaSAiKikKCQkg
ICAgICBuZXdkZXBsaWJzKz0iICRpIgoJCSAgICAgIGk9IiIKCQkgICAgICA7
OwoJCSAgICBlc2FjCgkJICBmaQoJCSAgaWYgdGVzdCAtbiAiJGkiIDsgdGhl
bgoJCSAgICBsaWJuYW1lPWBldmFsICJcXCRFQ0hPIFwiJGxpYm5hbWVfc3Bl
Y1wiImAKCQkgICAgZGVwbGliX21hdGNoZXM9YGV2YWwgIlxcJEVDSE8gXCIk
bGlicmFyeV9uYW1lc19zcGVjXCIiYAoJCSAgICBzZXQgZHVtbXkgJGRlcGxp
Yl9tYXRjaGVzOyBzaGlmdAoJCSAgICBkZXBsaWJfbWF0Y2g9JDEKCQkgICAg
aWYgdGVzdCBgZXhwciAiJGxkZF9vdXRwdXQiIDogIi4qJGRlcGxpYl9tYXRj
aCJgIC1uZSAwIDsgdGhlbgoJCSAgICAgIG5ld2RlcGxpYnMrPSIgJGkiCgkJ
ICAgIGVsc2UKCQkgICAgICBkcm9wcGVkZGVwcz15ZXMKCQkgICAgICBlY2hv
CgkJICAgICAgJEVDSE8gIioqKiBXYXJuaW5nOiBkeW5hbWljIGxpbmtlciBk
b2VzIG5vdCBhY2NlcHQgbmVlZGVkIGxpYnJhcnkgJGkuIgoJCSAgICAgIGVj
aG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxp
YnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4iCgkJICAgICAgZWNo
byAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBv
bmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKCQkgICAgICBlY2hvICIqKiog
c2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlvdSBkbyBu
b3QgYXBwZWFyIHRvIGhhdmUiCgkJICAgICAgZWNobyAiKioqIGJlY2F1c2Ug
YSB0ZXN0X2NvbXBpbGUgZGlkIHJldmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlk
IG5vdCB1c2UgdGhpcyBvbmUiCgkJICAgICAgZWNobyAiKioqIGFzIGEgZHlu
YW1pYyBkZXBlbmRlbmN5IHRoYXQgcHJvZ3JhbXMgY2FuIGdldCByZXNvbHZl
ZCB3aXRoIGF0IHJ1bnRpbWUuIgoJCSAgICBmaQoJCSAgZmkKCQllbHNlCgkJ
ICBkcm9wcGVkZGVwcz15ZXMKCQkgIGVjaG8KCQkgICRFQ0hPICIqKiogV2Fy
bmluZyEgIExpYnJhcnkgJGkgaXMgbmVlZGVkIGJ5IHRoaXMgbGlicmFyeSBi
dXQgSSB3YXMgbm90IGFibGUgdG8iCgkJICBlY2hvICIqKiogbWFrZSBpdCBs
aW5rIGluISAgWW91IHdpbGwgcHJvYmFibHkgbmVlZCB0byBpbnN0YWxsIGl0
IG9yIHNvbWUiCgkJICBlY2hvICIqKiogbGlicmFyeSB0aGF0IGl0IGRlcGVu
ZHMgb24gYmVmb3JlIHRoaXMgbGlicmFyeSB3aWxsIGJlIGZ1bGx5IgoJCSAg
ZWNobyAiKioqIGZ1bmN0aW9uYWwuICBJbnN0YWxsaW5nIGl0IGJlZm9yZSBj
b250aW51aW5nIHdvdWxkIGJlIGV2ZW4gYmV0dGVyLiIKCQlmaQoJCTs7Cgkg
ICAgICAqKQoJCW5ld2RlcGxpYnMrPSIgJGkiCgkJOzsKCSAgICAgIGVzYWMK
CSAgICBkb25lCgkgIGZpCgkgIDs7CglmaWxlX21hZ2ljKikKCSAgc2V0IGR1
bW15ICRkZXBsaWJzX2NoZWNrX21ldGhvZDsgc2hpZnQKCSAgZmlsZV9tYWdp
Y19yZWdleD1gZXhwciAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIkMSBc
KC4qXCkiYAoJICBmb3IgYV9kZXBsaWIgaW4gJGRlcGxpYnM7IGRvCgkgICAg
Y2FzZSAkYV9kZXBsaWIgaW4KCSAgICAtbCopCgkgICAgICBmdW5jX3N0cmlw
bmFtZSAtbCAnJyAiJGFfZGVwbGliIgoJICAgICAgbmFtZT0kZnVuY19zdHJp
cG5hbWVfcmVzdWx0CgkgICAgICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xf
bGlic193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkJ
Y2FzZSAiICRwcmVkZXBzICRwb3N0ZGVwcyAiIGluCgkJKiIgJGFfZGVwbGli
ICIqKQoJCSAgbmV3ZGVwbGlicys9IiAkYV9kZXBsaWIiCgkJICBhX2RlcGxp
Yj0iIgoJCSAgOzsKCQllc2FjCgkgICAgICBmaQoJICAgICAgaWYgdGVzdCAt
biAiJGFfZGVwbGliIiA7IHRoZW4KCQlsaWJuYW1lPWBldmFsICJcXCRFQ0hP
IFwiJGxpYm5hbWVfc3BlY1wiImAKCQlpZiB0ZXN0IC1uICIkZmlsZV9tYWdp
Y19nbG9iIjsgdGhlbgoJCSAgbGlibmFtZWdsb2I9YGZ1bmNfZWNob19hbGwg
IiRsaWJuYW1lIiB8ICRTRUQgLWUgJGZpbGVfbWFnaWNfZ2xvYmAKCQllbHNl
CgkJICBsaWJuYW1lZ2xvYj0kbGlibmFtZQoJCWZpCgkJdGVzdCAiJHdhbnRf
bm9jYXNlZ2xvYiIgPSB5ZXMgJiYgbm9jYXNlZ2xvYj1gc2hvcHQgLXAgbm9j
YXNlZ2xvYmAKCQlmb3IgaSBpbiAkbGliX3NlYXJjaF9wYXRoICRzeXNfbGli
X3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0aDsgZG8KCQkgIGlmIHRl
c3QgIiR3YW50X25vY2FzZWdsb2IiID0geWVzOyB0aGVuCgkJICAgIHNob3B0
IC1zIG5vY2FzZWdsb2IKCQkgICAgcG90ZW50aWFsX2xpYnM9YGxzICRpLyRs
aWJuYW1lZ2xvYlsuLV0qIDI+L2Rldi9udWxsYAoJCSAgICAkbm9jYXNlZ2xv
YgoJCSAgZWxzZQoJCSAgICBwb3RlbnRpYWxfbGlicz1gbHMgJGkvJGxpYm5h
bWVnbG9iWy4tXSogMj4vZGV2L251bGxgCgkJICBmaQoJCSAgZm9yIHBvdGVu
dF9saWIgaW4gJHBvdGVudGlhbF9saWJzOyBkbwoJCSAgICAgICMgRm9sbG93
IHNvZnQgbGlua3MuCgkJICAgICAgaWYgbHMgLWxMZCAiJHBvdGVudF9saWIi
IDI+L2Rldi9udWxsIHwKCQkJICRHUkVQICIgLT4gIiA+L2Rldi9udWxsOyB0
aGVuCgkJCWNvbnRpbnVlCgkJICAgICAgZmkKCQkgICAgICAjIFRoZSBzdGF0
ZW1lbnQgYWJvdmUgdHJpZXMgdG8gYXZvaWQgZW50ZXJpbmcgYW4KCQkgICAg
ICAjIGVuZGxlc3MgbG9vcCBiZWxvdywgaW4gY2FzZSBvZiBjeWNsaWMgbGlu
a3MuCgkJICAgICAgIyBXZSBtaWdodCBzdGlsbCBlbnRlciBhbiBlbmRsZXNz
IGxvb3AsIHNpbmNlIGEgbGluawoJCSAgICAgICMgbG9vcCBjYW4gYmUgY2xv
c2VkIHdoaWxlIHdlIGZvbGxvdyBsaW5rcywKCQkgICAgICAjIGJ1dCBzbyB3
aGF0PwoJCSAgICAgIHBvdGxpYj0iJHBvdGVudF9saWIiCgkJICAgICAgd2hp
bGUgdGVzdCAtaCAiJHBvdGxpYiIgMj4vZGV2L251bGw7IGRvCgkJCXBvdGxp
Ymxpbms9YGxzIC1sZCAkcG90bGliIHwgJHtTRUR9ICdzLy4qIC0+IC8vJ2AK
CQkJY2FzZSAkcG90bGlibGluayBpbgoJCQlbXFwvXSogfCBbQS1aYS16XTpb
XFwvXSopIHBvdGxpYj0iJHBvdGxpYmxpbmsiOzsKCQkJKikgcG90bGliPWAk
RUNITyAiJHBvdGxpYiIgfCAkU0VEICdzLFteL10qJCwsJ2AiJHBvdGxpYmxp
bmsiOzsKCQkJZXNhYwoJCSAgICAgIGRvbmUKCQkgICAgICBpZiBldmFsICRm
aWxlX21hZ2ljX2NtZCBcIlwkcG90bGliXCIgMj4vZGV2L251bGwgfAoJCQkg
JFNFRCAtZSAxMHEgfAoJCQkgJEVHUkVQICIkZmlsZV9tYWdpY19yZWdleCIg
PiAvZGV2L251bGw7IHRoZW4KCQkJbmV3ZGVwbGlicys9IiAkYV9kZXBsaWIi
CgkJCWFfZGVwbGliPSIiCgkJCWJyZWFrIDIKCQkgICAgICBmaQoJCSAgZG9u
ZQoJCWRvbmUKCSAgICAgIGZpCgkgICAgICBpZiB0ZXN0IC1uICIkYV9kZXBs
aWIiIDsgdGhlbgoJCWRyb3BwZWRkZXBzPXllcwoJCWVjaG8KCQkkRUNITyAi
KioqIFdhcm5pbmc6IGxpbmtlciBwYXRoIGRvZXMgbm90IGhhdmUgcmVhbCBm
aWxlIGZvciBsaWJyYXJ5ICRhX2RlcGxpYi4iCgkJZWNobyAiKioqIEkgaGF2
ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0
aWNhbGx5IGxpbmsgaW4gd2hlbiIKCQllY2hvICIqKiogeW91IGxpbmsgdG8g
dGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8gdGhpcyBpZiB5b3Ug
aGF2ZSBhIgoJCWVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGli
cmFyeSwgd2hpY2ggeW91IGRvIG5vdCBhcHBlYXIgdG8gaGF2ZSIKCQllY2hv
ICIqKiogYmVjYXVzZSBJIGRpZCBjaGVjayB0aGUgbGlua2VyIHBhdGggbG9v
a2luZyBmb3IgYSBmaWxlIHN0YXJ0aW5nIgoJCWlmIHRlc3QgLXogIiRwb3Rs
aWIiIDsgdGhlbgoJCSAgJEVDSE8gIioqKiB3aXRoICRsaWJuYW1lIGJ1dCBu
byBjYW5kaWRhdGVzIHdlcmUgZm91bmQuICguLi5mb3IgZmlsZSBtYWdpYyB0
ZXN0KSIKCQllbHNlCgkJICAkRUNITyAiKioqIHdpdGggJGxpYm5hbWUgYW5k
IG5vbmUgb2YgdGhlIGNhbmRpZGF0ZXMgcGFzc2VkIGEgZmlsZSBmb3JtYXQg
dGVzdCIKCQkgICRFQ0hPICIqKiogdXNpbmcgYSBmaWxlIG1hZ2ljLiBMYXN0
IGZpbGUgY2hlY2tlZDogJHBvdGxpYiIKCQlmaQoJICAgICAgZmkKCSAgICAg
IDs7CgkgICAgKikKCSAgICAgICMgQWRkIGEgLUwgYXJndW1lbnQuCgkgICAg
ICBuZXdkZXBsaWJzKz0iICRhX2RlcGxpYiIKCSAgICAgIDs7CgkgICAgZXNh
YwoJICBkb25lICMgR29uZSB0aHJvdWdoIGFsbCBkZXBsaWJzLgoJICA7OwoJ
bWF0Y2hfcGF0dGVybiopCgkgIHNldCBkdW1teSAkZGVwbGlic19jaGVja19t
ZXRob2Q7IHNoaWZ0CgkgIG1hdGNoX3BhdHRlcm5fcmVnZXg9YGV4cHIgIiRk
ZXBsaWJzX2NoZWNrX21ldGhvZCIgOiAiJDEgXCguKlwpImAKCSAgZm9yIGFf
ZGVwbGliIGluICRkZXBsaWJzOyBkbwoJICAgIGNhc2UgJGFfZGVwbGliIGlu
CgkgICAgLWwqKQoJICAgICAgZnVuY19zdHJpcG5hbWUgLWwgJycgIiRhX2Rl
cGxpYiIKCSAgICAgIG5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICAg
ICAgaWYgdGVzdCAiWCRhbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNf
cnVudGltZXMiID0gIlh5ZXMiIDsgdGhlbgoJCWNhc2UgIiAkcHJlZGVwcyAk
cG9zdGRlcHMgIiBpbgoJCSoiICRhX2RlcGxpYiAiKikKCQkgIG5ld2RlcGxp
YnMrPSIgJGFfZGVwbGliIgoJCSAgYV9kZXBsaWI9IiIKCQkgIDs7CgkJZXNh
YwoJICAgICAgZmkKCSAgICAgIGlmIHRlc3QgLW4gIiRhX2RlcGxpYiIgOyB0
aGVuCgkJbGlibmFtZT1gZXZhbCAiXFwkRUNITyBcIiRsaWJuYW1lX3NwZWNc
IiJgCgkJZm9yIGkgaW4gJGxpYl9zZWFyY2hfcGF0aCAkc3lzX2xpYl9zZWFy
Y2hfcGF0aCAkc2hsaWJfc2VhcmNoX3BhdGg7IGRvCgkJICBwb3RlbnRpYWxf
bGlicz1gbHMgJGkvJGxpYm5hbWVbLi1dKiAyPi9kZXYvbnVsbGAKCQkgIGZv
ciBwb3RlbnRfbGliIGluICRwb3RlbnRpYWxfbGliczsgZG8KCQkgICAgcG90
bGliPSIkcG90ZW50X2xpYiIgIyBzZWUgc3ltbGluay1jaGVjayBhYm92ZSBp
biBmaWxlX21hZ2ljIHRlc3QKCQkgICAgaWYgZXZhbCAiXCRFQ0hPIFwiJHBv
dGVudF9saWJcIiIgMj4vZGV2L251bGwgfCAkU0VEIDEwcSB8IFwKCQkgICAg
ICAgJEVHUkVQICIkbWF0Y2hfcGF0dGVybl9yZWdleCIgPiAvZGV2L251bGw7
IHRoZW4KCQkgICAgICBuZXdkZXBsaWJzKz0iICRhX2RlcGxpYiIKCQkgICAg
ICBhX2RlcGxpYj0iIgoJCSAgICAgIGJyZWFrIDIKCQkgICAgZmkKCQkgIGRv
bmUKCQlkb25lCgkgICAgICBmaQoJICAgICAgaWYgdGVzdCAtbiAiJGFfZGVw
bGliIiA7IHRoZW4KCQlkcm9wcGVkZGVwcz15ZXMKCQllY2hvCgkJJEVDSE8g
IioqKiBXYXJuaW5nOiBsaW5rZXIgcGF0aCBkb2VzIG5vdCBoYXZlIHJlYWwg
ZmlsZSBmb3IgbGlicmFyeSAkYV9kZXBsaWIuIgoJCWVjaG8gIioqKiBJIGhh
dmUgdGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21h
dGljYWxseSBsaW5rIGluIHdoZW4iCgkJZWNobyAiKioqIHlvdSBsaW5rIHRv
IHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91
IGhhdmUgYSIKCQllY2hvICIqKiogc2hhcmVkIHZlcnNpb24gb2YgdGhlIGxp
YnJhcnksIHdoaWNoIHlvdSBkbyBub3QgYXBwZWFyIHRvIGhhdmUiCgkJZWNo
byAiKioqIGJlY2F1c2UgSSBkaWQgY2hlY2sgdGhlIGxpbmtlciBwYXRoIGxv
b2tpbmcgZm9yIGEgZmlsZSBzdGFydGluZyIKCQlpZiB0ZXN0IC16ICIkcG90
bGliIiA7IHRoZW4KCQkgICRFQ0hPICIqKiogd2l0aCAkbGlibmFtZSBidXQg
bm8gY2FuZGlkYXRlcyB3ZXJlIGZvdW5kLiAoLi4uZm9yIHJlZ2V4IHBhdHRl
cm4gdGVzdCkiCgkJZWxzZQoJCSAgJEVDSE8gIioqKiB3aXRoICRsaWJuYW1l
IGFuZCBub25lIG9mIHRoZSBjYW5kaWRhdGVzIHBhc3NlZCBhIGZpbGUgZm9y
bWF0IHRlc3QiCgkJICAkRUNITyAiKioqIHVzaW5nIGEgcmVnZXggcGF0dGVy
bi4gTGFzdCBmaWxlIGNoZWNrZWQ6ICRwb3RsaWIiCgkJZmkKCSAgICAgIGZp
CgkgICAgICA7OwoJICAgICopCgkgICAgICAjIEFkZCBhIC1MIGFyZ3VtZW50
LgoJICAgICAgbmV3ZGVwbGlicys9IiAkYV9kZXBsaWIiCgkgICAgICA7OwoJ
ICAgIGVzYWMKCSAgZG9uZSAjIEdvbmUgdGhyb3VnaCBhbGwgZGVwbGlicy4K
CSAgOzsKCW5vbmUgfCB1bmtub3duIHwgKikKCSAgbmV3ZGVwbGlicz0iIgoJ
ICB0bXBfZGVwbGlicz1gJEVDSE8gIiAkZGVwbGlicyIgfCAkU0VEICdzLyAt
bGMkLy87IHMvIC1bTFJdW14gXSovL2cnYAoJICBpZiB0ZXN0ICJYJGFsbG93
X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIg
OyB0aGVuCgkgICAgZm9yIGkgaW4gJHByZWRlcHMgJHBvc3RkZXBzIDsgZG8K
CSAgICAgICMgY2FuJ3QgdXNlIFhzZWQgYmVsb3csIGJlY2F1c2UgJGkgbWln
aHQgY29udGFpbiAnLycKCSAgICAgIHRtcF9kZXBsaWJzPWAkRUNITyAiICR0
bXBfZGVwbGlicyIgfCAkU0VEICJzLCRpLCwiYAoJICAgIGRvbmUKCSAgZmkK
CSAgY2FzZSAkdG1wX2RlcGxpYnMgaW4KCSAgKlshXAlcIF0qKQoJICAgIGVj
aG8KCSAgICBpZiB0ZXN0ICJYJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA9ICJY
bm9uZSI7IHRoZW4KCSAgICAgIGVjaG8gIioqKiBXYXJuaW5nOiBpbnRlci1s
aWJyYXJ5IGRlcGVuZGVuY2llcyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlz
IHBsYXRmb3JtLiIKCSAgICBlbHNlCgkgICAgICBlY2hvICIqKiogV2Fybmlu
ZzogaW50ZXItbGlicmFyeSBkZXBlbmRlbmNpZXMgYXJlIG5vdCBrbm93biB0
byBiZSBzdXBwb3J0ZWQuIgoJICAgIGZpCgkgICAgZWNobyAiKioqIEFsbCBk
ZWNsYXJlZCBpbnRlci1saWJyYXJ5IGRlcGVuZGVuY2llcyBhcmUgYmVpbmcg
ZHJvcHBlZC4iCgkgICAgZHJvcHBlZGRlcHM9eWVzCgkgICAgOzsKCSAgZXNh
YwoJICA7OwoJZXNhYwoJdmVyc3VmZml4PSR2ZXJzdWZmaXhfc2F2ZQoJbWFq
b3I9JG1ham9yX3NhdmUKCXJlbGVhc2U9JHJlbGVhc2Vfc2F2ZQoJbGlibmFt
ZT0kbGlibmFtZV9zYXZlCgluYW1lPSRuYW1lX3NhdmUKCgljYXNlICRob3N0
IGluCgkqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0pCgkgICMg
T24gUmhhcHNvZHkgcmVwbGFjZSB0aGUgQyBsaWJyYXJ5IHdpdGggdGhlIFN5
c3RlbSBmcmFtZXdvcmsKCSAgbmV3ZGVwbGlicz1gJEVDSE8gIiAkbmV3ZGVw
bGlicyIgfCAkU0VEICdzLyAtbGMgLyBTeXN0ZW0ubHRmcmFtZXdvcmsgLydg
CgkgIDs7Cgllc2FjCgoJaWYgdGVzdCAiJGRyb3BwZWRkZXBzIiA9IHllczsg
dGhlbgoJICBpZiB0ZXN0ICIkbW9kdWxlIiA9IHllczsgdGhlbgoJICAgIGVj
aG8KCSAgICBlY2hvICIqKiogV2FybmluZzogbGlidG9vbCBjb3VsZCBub3Qg
c2F0aXNmeSBhbGwgZGVjbGFyZWQgaW50ZXItbGlicmFyeSIKCSAgICAkRUNI
TyAiKioqIGRlcGVuZGVuY2llcyBvZiBtb2R1bGUgJGxpYm5hbWUuICBUaGVy
ZWZvcmUsIGxpYnRvb2wgd2lsbCBjcmVhdGUiCgkgICAgZWNobyAiKioqIGEg
c3RhdGljIG1vZHVsZSwgdGhhdCBzaG91bGQgd29yayBhcyBsb25nIGFzIHRo
ZSBkbG9wZW5pbmciCgkgICAgZWNobyAiKioqIGFwcGxpY2F0aW9uIGlzIGxp
bmtlZCB3aXRoIHRoZSAtZGxvcGVuIGZsYWcuIgoJICAgIGlmIHRlc3QgLXog
IiRnbG9iYWxfc3ltYm9sX3BpcGUiOyB0aGVuCgkgICAgICBlY2hvCgkgICAg
ICBlY2hvICIqKiogSG93ZXZlciwgdGhpcyB3b3VsZCBvbmx5IHdvcmsgaWYg
bGlidG9vbCB3YXMgYWJsZSB0byBleHRyYWN0IHN5bWJvbCIKCSAgICAgIGVj
aG8gIioqKiBsaXN0cyBmcm9tIGEgcHJvZ3JhbSwgdXNpbmcgXGBubScgb3Ig
ZXF1aXZhbGVudCwgYnV0IGxpYnRvb2wgY291bGQiCgkgICAgICBlY2hvICIq
Kiogbm90IGZpbmQgc3VjaCBhIHByb2dyYW0uICBTbywgdGhpcyBtb2R1bGUg
aXMgcHJvYmFibHkgdXNlbGVzcy4iCgkgICAgICBlY2hvICIqKiogXGBubScg
ZnJvbSBHTlUgYmludXRpbHMgYW5kIGEgZnVsbCByZWJ1aWxkIG1heSBoZWxw
LiIKCSAgICBmaQoJICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSBu
bzsgdGhlbgoJICAgICAgb2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5h
bWUuJGxpYmV4dCIKCSAgICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1tb2R1bGUK
CSAgICAgIGJ1aWxkX29sZF9saWJzPXllcwoJICAgIGVsc2UKCSAgICAgIGJ1
aWxkX2xpYnRvb2xfbGlicz1ubwoJICAgIGZpCgkgIGVsc2UKCSAgICBlY2hv
ICIqKiogVGhlIGludGVyLWxpYnJhcnkgZGVwZW5kZW5jaWVzIHRoYXQgaGF2
ZSBiZWVuIGRyb3BwZWQgaGVyZSB3aWxsIGJlIgoJICAgIGVjaG8gIioqKiBh
dXRvbWF0aWNhbGx5IGFkZGVkIHdoZW5ldmVyIGEgcHJvZ3JhbSBpcyBsaW5r
ZWQgd2l0aCB0aGlzIGxpYnJhcnkiCgkgICAgZWNobyAiKioqIG9yIGlzIGRl
Y2xhcmVkIHRvIC1kbG9wZW4gaXQuIgoKCSAgICBpZiB0ZXN0ICIkYWxsb3df
dW5kZWZpbmVkIiA9IG5vOyB0aGVuCgkgICAgICBlY2hvCgkgICAgICBlY2hv
ICIqKiogU2luY2UgdGhpcyBsaWJyYXJ5IG11c3Qgbm90IGNvbnRhaW4gdW5k
ZWZpbmVkIHN5bWJvbHMsIgoJICAgICAgZWNobyAiKioqIGJlY2F1c2UgZWl0
aGVyIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IHRoZW0gb3IiCgkg
ICAgICBlY2hvICIqKiogaXQgd2FzIGV4cGxpY2l0bHkgcmVxdWVzdGVkIHdp
dGggLW5vLXVuZGVmaW5lZCwiCgkgICAgICBlY2hvICIqKiogbGlidG9vbCB3
aWxsIG9ubHkgY3JlYXRlIGEgc3RhdGljIHZlcnNpb24gb2YgaXQuIgoJICAg
ICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IG5vOyB0aGVuCgkJb2xk
bGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCIKCQlidWls
ZF9saWJ0b29sX2xpYnM9bW9kdWxlCgkJYnVpbGRfb2xkX2xpYnM9eWVzCgkg
ICAgICBlbHNlCgkJYnVpbGRfbGlidG9vbF9saWJzPW5vCgkgICAgICBmaQoJ
ICAgIGZpCgkgIGZpCglmaQoJIyBEb25lIGNoZWNraW5nIGRlcGxpYnMhCglk
ZXBsaWJzPSRuZXdkZXBsaWJzCiAgICAgIGZpCiAgICAgICMgVGltZSB0byBj
aGFuZ2UgYWxsIG91ciAiZm9vLmx0ZnJhbWV3b3JrIiBzdHVmZiBiYWNrIHRv
ICItZnJhbWV3b3JrIGZvbyIKICAgICAgY2FzZSAkaG9zdCBpbgoJKi0qLWRh
cndpbiopCgkgIG5ld2RlcGxpYnM9YCRFQ0hPICIgJG5ld2RlcGxpYnMiIHwg
JFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1ld29yayUgLWZyYW1ld29yayBc
MSVnJ2AKCSAgbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3M9YCRFQ0hPICIg
JG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzIiB8ICRTRUQgJ3MlIFwoW14g
JF0qXCkubHRmcmFtZXdvcmslIC1mcmFtZXdvcmsgXDElZydgCgkgIGRlcGxp
YnM9YCRFQ0hPICIgJGRlcGxpYnMiIHwgJFNFRCAncyUgXChbXiAkXSpcKS5s
dGZyYW1ld29yayUgLWZyYW1ld29yayBcMSVnJ2AKCSAgOzsKICAgICAgZXNh
YwoKICAgICAgIyBtb3ZlIGxpYnJhcnkgc2VhcmNoIHBhdGhzIHRoYXQgY29p
bmNpZGUgd2l0aCBwYXRocyB0byBub3QgeWV0CiAgICAgICMgaW5zdGFsbGVk
IGxpYnJhcmllcyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBsaWJyYXJ5IHNl
YXJjaCBsaXN0CiAgICAgIG5ld19saWJzPQogICAgICBmb3IgcGF0aCBpbiAk
bm90aW5zdF9wYXRoOyBkbwoJY2FzZSAiICRuZXdfbGlicyAiIGluCgkqIiAt
TCRwYXRoLyRvYmpkaXIgIiopIDs7CgkqKQoJICBjYXNlICIgJGRlcGxpYnMg
IiBpbgoJICAqIiAtTCRwYXRoLyRvYmpkaXIgIiopCgkgICAgbmV3X2xpYnMr
PSIgLUwkcGF0aC8kb2JqZGlyIiA7OwoJICBlc2FjCgkgIDs7Cgllc2FjCiAg
ICAgIGRvbmUKICAgICAgZm9yIGRlcGxpYiBpbiAkZGVwbGliczsgZG8KCWNh
c2UgJGRlcGxpYiBpbgoJLUwqKQoJICBjYXNlICIgJG5ld19saWJzICIgaW4K
CSAgKiIgJGRlcGxpYiAiKikgOzsKCSAgKikgbmV3X2xpYnMrPSIgJGRlcGxp
YiIgOzsKCSAgZXNhYwoJICA7OwoJKikgbmV3X2xpYnMrPSIgJGRlcGxpYiIg
OzsKCWVzYWMKICAgICAgZG9uZQogICAgICBkZXBsaWJzPSIkbmV3X2xpYnMi
CgogICAgICAjIEFsbCB0aGUgbGlicmFyeS1zcGVjaWZpYyB2YXJpYWJsZXMg
KGluc3RhbGxfbGliZGlyIGlzIHNldCBhYm92ZSkuCiAgICAgIGxpYnJhcnlf
bmFtZXM9CiAgICAgIG9sZF9saWJyYXJ5PQogICAgICBkbG5hbWU9CgogICAg
ICAjIFRlc3QgYWdhaW4sIHdlIG1heSBoYXZlIGRlY2lkZWQgbm90IHRvIGJ1
aWxkIGl0IGFueSBtb3JlCiAgICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29s
X2xpYnMiID0geWVzOyB0aGVuCglpZiB0ZXN0ICIkaGFyZGNvZGVfaW50b19s
aWJzIiA9IHllczsgdGhlbgoJICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBh
dGhzCgkgIGhhcmRjb2RlX2xpYmRpcnM9CgkgIGRlcF9ycGF0aD0KCSAgcnBh
dGg9IiRmaW5hbGl6ZV9ycGF0aCIKCSAgdGVzdCAiJG9wdF9tb2RlIiAhPSBy
ZWxpbmsgJiYgcnBhdGg9IiRjb21waWxlX3JwYXRoJHJwYXRoIgoJICBmb3Ig
bGliZGlyIGluICRycGF0aDsgZG8KCSAgICBpZiB0ZXN0IC1uICIkaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KCSAgICAgIGlmIHRlc3QgLW4g
IiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgoJCWZ1bmNfcmVw
bGFjZV9zeXNyb290ICIkbGliZGlyIgoJCWxpYmRpcj0kZnVuY19yZXBsYWNl
X3N5c3Jvb3RfcmVzdWx0CgkJaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRp
cnMiOyB0aGVuCgkJICBoYXJkY29kZV9saWJkaXJzPSIkbGliZGlyIgoJCWVs
c2UKCQkgICMgSnVzdCBhY2N1bXVsYXRlIHRoZSB1bmlxdWUgbGliZGlycy4K
CQkgIGNhc2UgJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkaGFyZGNvZGVf
bGliZGlycyRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIGluCgkJICAqIiRo
YXJkY29kZV9saWJkaXJfc2VwYXJhdG9yJGxpYmRpciRoYXJkY29kZV9saWJk
aXJfc2VwYXJhdG9yIiopCgkJICAgIDs7CgkJICAqKQoJCSAgICBoYXJkY29k
ZV9saWJkaXJzKz0iJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGly
IgoJCSAgICA7OwoJCSAgZXNhYwoJCWZpCgkgICAgICBlbHNlCgkJZXZhbCBm
bGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgoJCWRlcF9ycGF0
aCs9IiAkZmxhZyIKCSAgICAgIGZpCgkgICAgZWxpZiB0ZXN0IC1uICIkcnVu
cGF0aF92YXIiOyB0aGVuCgkgICAgICBjYXNlICIkcGVybV9ycGF0aCAiIGlu
CgkgICAgICAqIiAkbGliZGlyICIqKSA7OwoJICAgICAgKikgZnVuY19hcHBl
ZCBwZXJtX3JwYXRoICIgJGxpYmRpciIgOzsKCSAgICAgIGVzYWMKCSAgICBm
aQoJICBkb25lCgkgICMgU3Vic3RpdHV0ZSB0aGUgaGFyZGNvZGVkIGxpYmRp
cnMgaW50byB0aGUgcnBhdGguCgkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yIiAmJgoJICAgICB0ZXN0IC1uICIkaGFyZGNvZGVf
bGliZGlycyI7IHRoZW4KCSAgICBsaWJkaXI9IiRoYXJkY29kZV9saWJkaXJz
IgoJICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
X2xkIjsgdGhlbgoJICAgICAgZXZhbCBkZXBfcnBhdGg9XCIkaGFyZGNvZGVf
bGliZGlyX2ZsYWdfc3BlY19sZFwiCgkgICAgZWxzZQoJICAgICAgZXZhbCBk
ZXBfcnBhdGg9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgkgICAg
ZmkKCSAgZmkKCSAgaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIiAmJiB0ZXN0
IC1uICIkcGVybV9ycGF0aCI7IHRoZW4KCSAgICAjIFdlIHNob3VsZCBzZXQg
dGhlIHJ1bnBhdGhfdmFyLgoJICAgIHJwYXRoPQoJICAgIGZvciBkaXIgaW4g
JHBlcm1fcnBhdGg7IGRvCgkgICAgICBycGF0aCs9IiRkaXI6IgoJICAgIGRv
bmUKCSAgICBldmFsICIkcnVucGF0aF92YXI9JyRycGF0aFwkJHJ1bnBhdGhf
dmFyJzsgZXhwb3J0ICRydW5wYXRoX3ZhciIKCSAgZmkKCSAgdGVzdCAtbiAi
JGRlcF9ycGF0aCIgJiYgZGVwbGlicz0iJGRlcF9ycGF0aCAkZGVwbGlicyIK
CWZpCgoJc2hsaWJwYXRoPSIkZmluYWxpemVfc2hsaWJwYXRoIgoJdGVzdCAi
JG9wdF9tb2RlIiAhPSByZWxpbmsgJiYgc2hsaWJwYXRoPSIkY29tcGlsZV9z
aGxpYnBhdGgkc2hsaWJwYXRoIgoJaWYgdGVzdCAtbiAiJHNobGlicGF0aCI7
IHRoZW4KCSAgZXZhbCAiJHNobGlicGF0aF92YXI9JyRzaGxpYnBhdGhcJCRz
aGxpYnBhdGhfdmFyJzsgZXhwb3J0ICRzaGxpYnBhdGhfdmFyIgoJZmkKCgkj
IEdldCB0aGUgcmVhbCBhbmQgbGluayBuYW1lcyBvZiB0aGUgbGlicmFyeS4K
CWV2YWwgc2hhcmVkX2V4dD1cIiRzaHJleHRfY21kc1wiCglldmFsIGxpYnJh
cnlfbmFtZXM9XCIkbGlicmFyeV9uYW1lc19zcGVjXCIKCXNldCBkdW1teSAk
bGlicmFyeV9uYW1lcwoJc2hpZnQKCXJlYWxuYW1lPSIkMSIKCXNoaWZ0CgoJ
aWYgdGVzdCAtbiAiJHNvbmFtZV9zcGVjIjsgdGhlbgoJICBldmFsIHNvbmFt
ZT1cIiRzb25hbWVfc3BlY1wiCgllbHNlCgkgIHNvbmFtZT0iJHJlYWxuYW1l
IgoJZmkKCWlmIHRlc3QgLXogIiRkbG5hbWUiOyB0aGVuCgkgIGRsbmFtZT0k
c29uYW1lCglmaQoKCWxpYj0iJG91dHB1dF9vYmpkaXIvJHJlYWxuYW1lIgoJ
bGlua25hbWVzPQoJZm9yIGxpbmsKCWRvCgkgIGxpbmtuYW1lcys9IiAkbGlu
ayIKCWRvbmUKCgkjIFVzZSBzdGFuZGFyZCBvYmplY3RzIGlmIHRoZXkgYXJl
IHBpYwoJdGVzdCAteiAiJHBpY19mbGFnIiAmJiBsaWJvYmpzPWAkRUNITyAi
JGxpYm9ianMiIHwgJFNQMk5MIHwgJFNFRCAiJGxvMm8iIHwgJE5MMlNQYAoJ
dGVzdCAiWCRsaWJvYmpzIiA9ICJYICIgJiYgbGlib2Jqcz0KCglkZWxmaWxl
cz0KCWlmIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9scyIgJiYgdGVzdCAtbiAi
JGluY2x1ZGVfZXhwc3ltcyI7IHRoZW4KCSAgJG9wdF9kcnlfcnVuIHx8IGNw
ICIkZXhwb3J0X3N5bWJvbHMiICIkb3V0cHV0X29iamRpci8kbGlibmFtZS51
ZXhwIgoJICBleHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpkaXIvJGxpYm5h
bWUudWV4cCIKCSAgZGVsZmlsZXMrPSIgJGV4cG9ydF9zeW1ib2xzIgoJZmkK
CglvcmlnX2V4cG9ydF9zeW1ib2xzPQoJY2FzZSAkaG9zdF9vcyBpbgoJY3ln
d2luKiB8IG1pbmd3KiB8IGNlZ2NjKikKCSAgaWYgdGVzdCAtbiAiJGV4cG9y
dF9zeW1ib2xzIiAmJiB0ZXN0IC16ICIkZXhwb3J0X3N5bWJvbHNfcmVnZXgi
OyB0aGVuCgkgICAgIyBleHBvcnRpbmcgdXNpbmcgdXNlciBzdXBwbGllZCBz
eW1maWxlCgkgICAgaWYgdGVzdCAieGAkU0VEIDFxICRleHBvcnRfc3ltYm9s
c2AiICE9IHhFWFBPUlRTOyB0aGVuCgkgICAgICAjIGFuZCBpdCdzIE5PVCBh
bHJlYWR5IGEgLmRlZiBmaWxlLiBNdXN0IGZpZ3VyZSBvdXQKCSAgICAgICMg
d2hpY2ggb2YgdGhlIGdpdmVuIHN5bWJvbHMgYXJlIGRhdGEgc3ltYm9scyBh
bmQgdGFnCgkgICAgICAjIHRoZW0gYXMgc3VjaC4gU28sIHRyaWdnZXIgdXNl
IG9mIGV4cG9ydF9zeW1ib2xzX2NtZHMuCgkgICAgICAjIGV4cG9ydF9zeW1i
b2xzIGdldHMgcmVhc3NpZ25lZCBpbnNpZGUgdGhlICJwcmVwYXJlCgkgICAg
ICAjIHRoZSBsaXN0IG9mIGV4cG9ydGVkIHN5bWJvbHMiIGlmIHN0YXRlbWVu
dCwgc28gdGhlCgkgICAgICAjIGluY2x1ZGVfZXhwc3ltcyBsb2dpYyBzdGls
bCB3b3Jrcy4KCSAgICAgIG9yaWdfZXhwb3J0X3N5bWJvbHM9IiRleHBvcnRf
c3ltYm9scyIKCSAgICAgIGV4cG9ydF9zeW1ib2xzPQoJICAgICAgYWx3YXlz
X2V4cG9ydF9zeW1ib2xzPXllcwoJICAgIGZpCgkgIGZpCgkgIDs7Cgllc2Fj
CgoJIyBQcmVwYXJlIHRoZSBsaXN0IG9mIGV4cG9ydGVkIHN5bWJvbHMKCWlm
IHRlc3QgLXogIiRleHBvcnRfc3ltYm9scyI7IHRoZW4KCSAgaWYgdGVzdCAi
JGFsd2F5c19leHBvcnRfc3ltYm9scyIgPSB5ZXMgfHwgdGVzdCAtbiAiJGV4
cG9ydF9zeW1ib2xzX3JlZ2V4IjsgdGhlbgoJICAgIGZ1bmNfdmVyYm9zZSAi
Z2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3IgXGAkbGlibmFtZS5sYSciCgkg
ICAgZXhwb3J0X3N5bWJvbHM9IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmV4
cCIKCSAgICAkb3B0X2RyeV9ydW4gfHwgJFJNICRleHBvcnRfc3ltYm9scwoJ
ICAgIGNtZHM9JGV4cG9ydF9zeW1ib2xzX2NtZHMKCSAgICBzYXZlX2lmcz0i
JElGUyI7IElGUz0nficKCSAgICBmb3IgY21kMSBpbiAkY21kczsgZG8KCSAg
ICAgIElGUz0iJHNhdmVfaWZzIgoJICAgICAgIyBUYWtlIHRoZSBub3JtYWwg
YnJhbmNoIGlmIHRoZSBubV9maWxlX2xpc3Rfc3BlYyBicmFuY2gKCSAgICAg
ICMgZG9lc24ndCB3b3JrIG9yIGlmIHRvb2wgY29udmVyc2lvbiBpcyBub3Qg
bmVlZGVkLgoJICAgICAgY2FzZSAkbm1fZmlsZV9saXN0X3NwZWN+JHRvX3Rv
b2xfZmlsZV9jbWQgaW4KCQkqfmZ1bmNfY29udmVydF9maWxlX25vb3AgfCAq
fmZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyIHwgfiopCgkJICB0cnlf
bm9ybWFsX2JyYW5jaD15ZXMKCQkgIGV2YWwgY21kPVwiJGNtZDFcIgoJCSAg
ZnVuY19sZW4gIiAkY21kIgoJCSAgbGVuPSRmdW5jX2xlbl9yZXN1bHQKCQkg
IDs7CgkJKikKCQkgIHRyeV9ub3JtYWxfYnJhbmNoPW5vCgkJICA7OwoJICAg
ICAgZXNhYwoJICAgICAgaWYgdGVzdCAiJHRyeV9ub3JtYWxfYnJhbmNoIiA9
IHllcyBcCgkJICYmIHsgdGVzdCAiJGxlbiIgLWx0ICIkbWF4X2NtZF9sZW4i
IFwKCQkgICAgICB8fCB0ZXN0ICIkbWF4X2NtZF9sZW4iIC1sZSAtMTsgfQoJ
ICAgICAgdGhlbgoJCWZ1bmNfc2hvd19ldmFsICIkY21kIiAnZXhpdCAkPycK
CQlza2lwcGVkX2V4cG9ydD1mYWxzZQoJICAgICAgZWxpZiB0ZXN0IC1uICIk
bm1fZmlsZV9saXN0X3NwZWMiOyB0aGVuCgkJZnVuY19iYXNlbmFtZSAiJG91
dHB1dCIKCQlvdXRwdXRfbGE9JGZ1bmNfYmFzZW5hbWVfcmVzdWx0CgkJc2F2
ZV9saWJvYmpzPSRsaWJvYmpzCgkJc2F2ZV9vdXRwdXQ9JG91dHB1dAoJCW91
dHB1dD0ke291dHB1dF9vYmpkaXJ9LyR7b3V0cHV0X2xhfS5ubQoJCWZ1bmNf
dG9fdG9vbF9maWxlICIkb3V0cHV0IgoJCWxpYm9ianM9JG5tX2ZpbGVfbGlz
dF9zcGVjJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdAoJCWRlbGZpbGVzKz0i
ICRvdXRwdXQiCgkJZnVuY192ZXJib3NlICJjcmVhdGluZyAkTk0gaW5wdXQg
ZmlsZSBsaXN0OiAkb3V0cHV0IgoJCWZvciBvYmogaW4gJHNhdmVfbGlib2Jq
czsgZG8KCQkgIGZ1bmNfdG9fdG9vbF9maWxlICIkb2JqIgoJCSAgJEVDSE8g
IiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiCgkJZG9uZSA+ICIkb3V0cHV0
IgoJCWV2YWwgY21kPVwiJGNtZDFcIgoJCWZ1bmNfc2hvd19ldmFsICIkY21k
IiAnZXhpdCAkPycKCQlvdXRwdXQ9JHNhdmVfb3V0cHV0CgkJbGlib2Jqcz0k
c2F2ZV9saWJvYmpzCgkJc2tpcHBlZF9leHBvcnQ9ZmFsc2UKCSAgICAgIGVs
c2UKCQkjIFRoZSBjb21tYW5kIGxpbmUgaXMgdG9vIGxvbmcgdG8gZXhlY3V0
ZSBpbiBvbmUgc3RlcC4KCQlmdW5jX3ZlcmJvc2UgInVzaW5nIHJlbG9hZGFi
bGUgb2JqZWN0IGZpbGUgZm9yIGV4cG9ydCBsaXN0Li4uIgoJCXNraXBwZWRf
ZXhwb3J0PToKCQkjIEJyZWFrIG91dCBlYXJseSwgb3RoZXJ3aXNlIHNraXBw
ZWRfZXhwb3J0IG1heSBiZQoJCSMgc2V0IHRvIGZhbHNlIGJ5IGEgbGF0ZXIg
YnV0IHNob3J0ZXIgY21kLgoJCWJyZWFrCgkgICAgICBmaQoJICAgIGRvbmUK
CSAgICBJRlM9IiRzYXZlX2lmcyIKCSAgICBpZiB0ZXN0IC1uICIkZXhwb3J0
X3N5bWJvbHNfcmVnZXgiICYmIHRlc3QgIlgkc2tpcHBlZF9leHBvcnQiICE9
ICJYOiI7IHRoZW4KCSAgICAgIGZ1bmNfc2hvd19ldmFsICckRUdSRVAgLWUg
IiRleHBvcnRfc3ltYm9sc19yZWdleCIgIiRleHBvcnRfc3ltYm9scyIgPiAi
JHtleHBvcnRfc3ltYm9sc31UIicKCSAgICAgIGZ1bmNfc2hvd19ldmFsICck
TVYgIiR7ZXhwb3J0X3N5bWJvbHN9VCIgIiRleHBvcnRfc3ltYm9scyInCgkg
ICAgZmkKCSAgZmkKCWZpCgoJaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xz
IiAmJiB0ZXN0IC1uICIkaW5jbHVkZV9leHBzeW1zIjsgdGhlbgoJICB0bXBf
ZXhwb3J0X3N5bWJvbHM9IiRleHBvcnRfc3ltYm9scyIKCSAgdGVzdCAtbiAi
JG9yaWdfZXhwb3J0X3N5bWJvbHMiICYmIHRtcF9leHBvcnRfc3ltYm9scz0i
JG9yaWdfZXhwb3J0X3N5bWJvbHMiCgkgICRvcHRfZHJ5X3J1biB8fCBldmFs
ICckRUNITyAiJGluY2x1ZGVfZXhwc3ltcyIgfCAkU1AyTkwgPj4gIiR0bXBf
ZXhwb3J0X3N5bWJvbHMiJwoJZmkKCglpZiB0ZXN0ICJYJHNraXBwZWRfZXhw
b3J0IiAhPSAiWDoiICYmIHRlc3QgLW4gIiRvcmlnX2V4cG9ydF9zeW1ib2xz
IjsgdGhlbgoJICAjIFRoZSBnaXZlbiBleHBvcnRzX3N5bWJvbHMgZmlsZSBo
YXMgdG8gYmUgZmlsdGVyZWQsIHNvIGZpbHRlciBpdC4KCSAgZnVuY192ZXJi
b3NlICJmaWx0ZXIgc3ltYm9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIHRv
IHRhZyBEQVRBIGV4cG9ydHMiCgkgICMgRklYTUU6ICRvdXRwdXRfb2JqZGly
LyRsaWJuYW1lLmZpbHRlciBwb3RlbnRpYWxseSBjb250YWlucyBsb3RzIG9m
CgkgICMgJ3MnIGNvbW1hbmRzIHdoaWNoIG5vdCBhbGwgc2VkcyBjYW4gaGFu
ZGxlLiBHTlUgc2VkIHNob3VsZCBiZSBmaW5lCgkgICMgdGhvdWdoLiBBbHNv
LCB0aGUgZmlsdGVyIHNjYWxlcyBzdXBlcmxpbmVhcmx5IHdpdGggdGhlIG51
bWJlciBvZgoJICAjIGdsb2JhbCB2YXJpYWJsZXMuIGpvaW4oMSkgd291bGQg
YmUgbmljZSBoZXJlLCBidXQgdW5mb3J0dW5hdGVseQoJICAjIGlzbid0IGEg
Ymxlc3NlZCB0b29sLgoJICAkb3B0X2RyeV9ydW4gfHwgJFNFRCAtZSAnL1sg
LF1EQVRBLyFkO3MsXCguKlwpXChbIFwsXS4qXCksc3xeXDEkfFwxXDJ8LCcg
PCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS5m
aWx0ZXIKCSAgZGVsZmlsZXMrPSIgJGV4cG9ydF9zeW1ib2xzICRvdXRwdXRf
b2JqZGlyLyRsaWJuYW1lLmZpbHRlciIKCSAgZXhwb3J0X3N5bWJvbHM9JG91
dHB1dF9vYmpkaXIvJGxpYm5hbWUuZGVmCgkgICRvcHRfZHJ5X3J1biB8fCAk
U0VEIC1mICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRlciA8ICRvcmln
X2V4cG9ydF9zeW1ib2xzID4gJGV4cG9ydF9zeW1ib2xzCglmaQoKCXRtcF9k
ZXBsaWJzPQoJZm9yIHRlc3RfZGVwbGliIGluICRkZXBsaWJzOyBkbwoJICBj
YXNlICIgJGNvbnZlbmllbmNlICIgaW4KCSAgKiIgJHRlc3RfZGVwbGliICIq
KSA7OwoJICAqKQoJICAgIHRtcF9kZXBsaWJzKz0iICR0ZXN0X2RlcGxpYiIK
CSAgICA7OwoJICBlc2FjCglkb25lCglkZXBsaWJzPSIkdG1wX2RlcGxpYnMi
CgoJaWYgdGVzdCAtbiAiJGNvbnZlbmllbmNlIjsgdGhlbgoJICBpZiB0ZXN0
IC1uICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiICYmCgkgICAgdGVzdCAi
JGNvbXBpbGVyX25lZWRzX29iamVjdCIgPSB5ZXMgJiYKCSAgICB0ZXN0IC16
ICIkbGlib2JqcyI7IHRoZW4KCSAgICAjIGV4dHJhY3QgdGhlIGFyY2hpdmVz
LCBzbyB3ZSBoYXZlIG9iamVjdHMgdG8gbGlzdC4KCSAgICAjIFRPRE86IGNv
dWxkIG9wdGltaXplIHRoaXMgdG8ganVzdCBleHRyYWN0IG9uZSBhcmNoaXZl
LgoJICAgIHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjPQoJICBmaQoJICBpZiB0
ZXN0IC1uICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkgICAg
c2F2ZV9saWJvYmpzPSRsaWJvYmpzCgkgICAgZXZhbCBsaWJvYmpzPVwiXCRs
aWJvYmpzICR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlY1wiCgkgICAgdGVzdCAi
WCRsaWJvYmpzIiA9ICJYICIgJiYgbGlib2Jqcz0KCSAgZWxzZQoJICAgIGdl
bnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgICAgZ2Vu
ZXJhdGVkKz0iICRnZW50b3AiCgoJICAgIGZ1bmNfZXh0cmFjdF9hcmNoaXZl
cyAkZ2VudG9wICRjb252ZW5pZW5jZQoJICAgIGxpYm9ianMrPSIgJGZ1bmNf
ZXh0cmFjdF9hcmNoaXZlc19yZXN1bHQiCgkgICAgdGVzdCAiWCRsaWJvYmpz
IiA9ICJYICIgJiYgbGlib2Jqcz0KCSAgZmkKCWZpCgoJaWYgdGVzdCAiJHRo
cmVhZF9zYWZlIiA9IHllcyAmJiB0ZXN0IC1uICIkdGhyZWFkX3NhZmVfZmxh
Z19zcGVjIjsgdGhlbgoJICBldmFsIGZsYWc9XCIkdGhyZWFkX3NhZmVfZmxh
Z19zcGVjXCIKCSAgbGlua2VyX2ZsYWdzKz0iICRmbGFnIgoJZmkKCgkjIE1h
a2UgYSBiYWNrdXAgb2YgdGhlIHVuaW5zdGFsbGVkIGxpYnJhcnkgd2hlbiBy
ZWxpbmtpbmcKCWlmIHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7IHRoZW4K
CSAgJG9wdF9kcnlfcnVuIHx8IGV2YWwgJyhjZCAkb3V0cHV0X29iamRpciAm
JiAkUk0gJHtyZWFsbmFtZX1VICYmICRNViAkcmVhbG5hbWUgJHtyZWFsbmFt
ZX1VKScgfHwgZXhpdCAkPwoJZmkKCgkjIERvIGVhY2ggb2YgdGhlIGFyY2hp
dmUgY29tbWFuZHMuCglpZiB0ZXN0ICIkbW9kdWxlIiA9IHllcyAmJiB0ZXN0
IC1uICIkbW9kdWxlX2NtZHMiIDsgdGhlbgoJICBpZiB0ZXN0IC1uICIkZXhw
b3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRtb2R1bGVfZXhwc3ltX2NtZHMi
OyB0aGVuCgkgICAgZXZhbCB0ZXN0X2NtZHM9XCIkbW9kdWxlX2V4cHN5bV9j
bWRzXCIKCSAgICBjbWRzPSRtb2R1bGVfZXhwc3ltX2NtZHMKCSAgZWxzZQoJ
ICAgIGV2YWwgdGVzdF9jbWRzPVwiJG1vZHVsZV9jbWRzXCIKCSAgICBjbWRz
PSRtb2R1bGVfY21kcwoJICBmaQoJZWxzZQoJICBpZiB0ZXN0IC1uICIkZXhw
b3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRhcmNoaXZlX2V4cHN5bV9jbWRz
IjsgdGhlbgoJICAgIGV2YWwgdGVzdF9jbWRzPVwiJGFyY2hpdmVfZXhwc3lt
X2NtZHNcIgoJICAgIGNtZHM9JGFyY2hpdmVfZXhwc3ltX2NtZHMKCSAgZWxz
ZQoJICAgIGV2YWwgdGVzdF9jbWRzPVwiJGFyY2hpdmVfY21kc1wiCgkgICAg
Y21kcz0kYXJjaGl2ZV9jbWRzCgkgIGZpCglmaQoKCWlmIHRlc3QgIlgkc2tp
cHBlZF9leHBvcnQiICE9ICJYOiIgJiYKCSAgIGZ1bmNfbGVuICIgJHRlc3Rf
Y21kcyIgJiYKCSAgIGxlbj0kZnVuY19sZW5fcmVzdWx0ICYmCgkgICB0ZXN0
ICIkbGVuIiAtbHQgIiRtYXhfY21kX2xlbiIgfHwgdGVzdCAiJG1heF9jbWRf
bGVuIiAtbGUgLTE7IHRoZW4KCSAgOgoJZWxzZQoJICAjIFRoZSBjb21tYW5k
IGxpbmUgaXMgdG9vIGxvbmcgdG8gbGluayBpbiBvbmUgc3RlcCwgbGluayBw
aWVjZXdpc2UKCSAgIyBvciwgaWYgdXNpbmcgR05VIGxkIGFuZCBza2lwcGVk
X2V4cG9ydCBpcyBub3QgOiwgdXNlIGEgbGlua2VyCgkgICMgc2NyaXB0LgoK
CSAgIyBTYXZlIHRoZSB2YWx1ZSBvZiAkb3V0cHV0IGFuZCAkbGlib2JqcyBi
ZWNhdXNlIHdlIHdhbnQgdG8KCSAgIyB1c2UgdGhlbSBsYXRlci4gIElmIHdl
IGhhdmUgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMsIHdlCgkgICMgd2FudCB0
byB1c2Ugc2F2ZV9saWJvYmpzIGFzIGl0IHdhcyBiZWZvcmUKCSAgIyB3aG9s
ZV9hcmNoaXZlX2ZsYWdfc3BlYyB3YXMgZXhwYW5kZWQsIGJlY2F1c2Ugd2Ug
Y2FuJ3QKCSAgIyBhc3N1bWUgdGhlIGxpbmtlciB1bmRlcnN0YW5kcyB3aG9s
ZV9hcmNoaXZlX2ZsYWdfc3BlYy4KCSAgIyBUaGlzIG1heSBoYXZlIHRvIGJl
IHJldmlzaXRlZCwgaW4gY2FzZSB0b28gbWFueQoJICAjIGNvbnZlbmllbmNl
IGxpYnJhcmllcyBnZXQgbGlua2VkIGluIGFuZCBlbmQgdXAgZXhjZWVkaW5n
CgkgICMgdGhlIHNwZWMuCgkgIGlmIHRlc3QgLXogIiRjb252ZW5pZW5jZSIg
fHwgdGVzdCAteiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsgdGhlbgoJ
ICAgIHNhdmVfbGlib2Jqcz0kbGlib2JqcwoJICBmaQoJICBzYXZlX291dHB1
dD0kb3V0cHV0CgkgIGZ1bmNfYmFzZW5hbWUgIiRvdXRwdXQiCgkgIG91dHB1
dF9sYT0kZnVuY19iYXNlbmFtZV9yZXN1bHQKCgkgICMgQ2xlYXIgdGhlIHJl
bG9hZGFibGUgb2JqZWN0IGNyZWF0aW9uIGNvbW1hbmQgcXVldWUgYW5kCgkg
ICMgaW5pdGlhbGl6ZSBrIHRvIG9uZS4KCSAgdGVzdF9jbWRzPQoJICBjb25j
YXRfY21kcz0KCSAgb2JqbGlzdD0KCSAgbGFzdF9yb2JqPQoJICBrPTEKCgkg
IGlmIHRlc3QgLW4gIiRzYXZlX2xpYm9ianMiICYmIHRlc3QgIlgkc2tpcHBl
ZF9leHBvcnQiICE9ICJYOiIgJiYgdGVzdCAiJHdpdGhfZ251X2xkIiA9IHll
czsgdGhlbgoJICAgIG91dHB1dD0ke291dHB1dF9vYmpkaXJ9LyR7b3V0cHV0
X2xhfS5sbmtzY3JpcHQKCSAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5nIEdO
VSBsZCBzY3JpcHQ6ICRvdXRwdXQiCgkgICAgZWNobyAnSU5QVVQgKCcgPiAk
b3V0cHV0CgkgICAgZm9yIG9iaiBpbiAkc2F2ZV9saWJvYmpzCgkgICAgZG8K
CSAgICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkb2JqIgoJICAgICAgJEVDSE8g
IiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiID4+ICRvdXRwdXQKCSAgICBk
b25lCgkgICAgZWNobyAnKScgPj4gJG91dHB1dAoJICAgIGRlbGZpbGVzKz0i
ICRvdXRwdXQiCgkgICAgZnVuY190b190b29sX2ZpbGUgIiRvdXRwdXQiCgkg
ICAgb3V0cHV0PSRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQKCSAgZWxpZiB0
ZXN0IC1uICIkc2F2ZV9saWJvYmpzIiAmJiB0ZXN0ICJYJHNraXBwZWRfZXhw
b3J0IiAhPSAiWDoiICYmIHRlc3QgIlgkZmlsZV9saXN0X3NwZWMiICE9IFg7
IHRoZW4KCSAgICBvdXRwdXQ9JHtvdXRwdXRfb2JqZGlyfS8ke291dHB1dF9s
YX0ubG5rCgkgICAgZnVuY192ZXJib3NlICJjcmVhdGluZyBsaW5rZXIgaW5w
dXQgZmlsZSBsaXN0OiAkb3V0cHV0IgoJICAgIDogPiAkb3V0cHV0CgkgICAg
c2V0IHggJHNhdmVfbGlib2JqcwoJICAgIHNoaWZ0CgkgICAgZmlyc3RvYmo9
CgkgICAgaWYgdGVzdCAiJGNvbXBpbGVyX25lZWRzX29iamVjdCIgPSB5ZXM7
IHRoZW4KCSAgICAgIGZpcnN0b2JqPSIkMSAiCgkgICAgICBzaGlmdAoJICAg
IGZpCgkgICAgZm9yIG9iagoJICAgIGRvCgkgICAgICBmdW5jX3RvX3Rvb2xf
ZmlsZSAiJG9iaiIKCSAgICAgICRFQ0hPICIkZnVuY190b190b29sX2ZpbGVf
cmVzdWx0IiA+PiAkb3V0cHV0CgkgICAgZG9uZQoJICAgIGRlbGZpbGVzKz0i
ICRvdXRwdXQiCgkgICAgZnVuY190b190b29sX2ZpbGUgIiRvdXRwdXQiCgkg
ICAgb3V0cHV0PSRmaXJzdG9ialwiJGZpbGVfbGlzdF9zcGVjJGZ1bmNfdG9f
dG9vbF9maWxlX3Jlc3VsdFwiCgkgIGVsc2UKCSAgICBpZiB0ZXN0IC1uICIk
c2F2ZV9saWJvYmpzIjsgdGhlbgoJICAgICAgZnVuY192ZXJib3NlICJjcmVh
dGluZyByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4uLiIKCSAgICAgIG91dHB1
dD0kb3V0cHV0X29iamRpci8kb3V0cHV0X2xhLSR7a30uJG9iamV4dAoJICAg
ICAgZXZhbCB0ZXN0X2NtZHM9XCIkcmVsb2FkX2NtZHNcIgoJICAgICAgZnVu
Y19sZW4gIiAkdGVzdF9jbWRzIgoJICAgICAgbGVuMD0kZnVuY19sZW5fcmVz
dWx0CgkgICAgICBsZW49JGxlbjAKCgkgICAgICAjIExvb3Agb3ZlciB0aGUg
bGlzdCBvZiBvYmplY3RzIHRvIGJlIGxpbmtlZC4KCSAgICAgIGZvciBvYmog
aW4gJHNhdmVfbGlib2JqcwoJICAgICAgZG8KCQlmdW5jX2xlbiAiICRvYmoi
CgkJZnVuY19hcml0aCAkbGVuICsgJGZ1bmNfbGVuX3Jlc3VsdAoJCWxlbj0k
ZnVuY19hcml0aF9yZXN1bHQKCQlpZiB0ZXN0ICJYJG9iamxpc3QiID0gWCB8
fAoJCSAgIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVuIjsgdGhlbgoJ
CSAgb2JqbGlzdCs9IiAkb2JqIgoJCWVsc2UKCQkgICMgVGhlIGNvbW1hbmQg
JHRlc3RfY21kcyBpcyBhbG1vc3QgdG9vIGxvbmcsIGFkZCBhCgkJICAjIGNv
bW1hbmQgdG8gdGhlIHF1ZXVlLgoJCSAgaWYgdGVzdCAiJGsiIC1lcSAxIDsg
dGhlbgoJCSAgICAjIFRoZSBmaXJzdCBmaWxlIGRvZXNuJ3QgaGF2ZSBhIHBy
ZXZpb3VzIGNvbW1hbmQgdG8gYWRkLgoJCSAgICByZWxvYWRfb2Jqcz0kb2Jq
bGlzdAoJCSAgICBldmFsIGNvbmNhdF9jbWRzPVwiJHJlbG9hZF9jbWRzXCIK
CQkgIGVsc2UKCQkgICAgIyBBbGwgc3Vic2VxdWVudCByZWxvYWRhYmxlIG9i
amVjdCBmaWxlcyB3aWxsIGxpbmsgaW4KCQkgICAgIyB0aGUgbGFzdCBvbmUg
Y3JlYXRlZC4KCQkgICAgcmVsb2FkX29ianM9IiRvYmpsaXN0ICRsYXN0X3Jv
YmoiCgkJICAgIGV2YWwgY29uY2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzfiRy
ZWxvYWRfY21kc35cJFJNICRsYXN0X3JvYmpcIgoJCSAgZmkKCQkgIGxhc3Rf
cm9iaj0kb3V0cHV0X29iamRpci8kb3V0cHV0X2xhLSR7a30uJG9iamV4dAoJ
CSAgZnVuY19hcml0aCAkayArIDEKCQkgIGs9JGZ1bmNfYXJpdGhfcmVzdWx0
CgkJICBvdXRwdXQ9JG91dHB1dF9vYmpkaXIvJG91dHB1dF9sYS0ke2t9LiRv
YmpleHQKCQkgIG9iamxpc3Q9IiAkb2JqIgoJCSAgZnVuY19sZW4gIiAkbGFz
dF9yb2JqIgoJCSAgZnVuY19hcml0aCAkbGVuMCArICRmdW5jX2xlbl9yZXN1
bHQKCQkgIGxlbj0kZnVuY19hcml0aF9yZXN1bHQKCQlmaQoJICAgICAgZG9u
ZQoJICAgICAgIyBIYW5kbGUgdGhlIHJlbWFpbmluZyBvYmplY3RzIGJ5IGNy
ZWF0aW5nIG9uZSBsYXN0CgkgICAgICAjIHJlbG9hZGFibGUgb2JqZWN0IGZp
bGUuICBBbGwgc3Vic2VxdWVudCByZWxvYWRhYmxlIG9iamVjdAoJICAgICAg
IyBmaWxlcyB3aWxsIGxpbmsgaW4gdGhlIGxhc3Qgb25lIGNyZWF0ZWQuCgkg
ICAgICB0ZXN0IC16ICIkY29uY2F0X2NtZHMiIHx8IGNvbmNhdF9jbWRzPSRj
b25jYXRfY21kc34KCSAgICAgIHJlbG9hZF9vYmpzPSIkb2JqbGlzdCAkbGFz
dF9yb2JqIgoJICAgICAgZXZhbCBjb25jYXRfY21kcz1cIlwke2NvbmNhdF9j
bWRzfSRyZWxvYWRfY21kc1wiCgkgICAgICBpZiB0ZXN0IC1uICIkbGFzdF9y
b2JqIjsgdGhlbgoJICAgICAgICBldmFsIGNvbmNhdF9jbWRzPVwiXCR7Y29u
Y2F0X2NtZHN9flwkUk0gJGxhc3Rfcm9ialwiCgkgICAgICBmaQoJICAgICAg
ZGVsZmlsZXMrPSIgJG91dHB1dCIKCgkgICAgZWxzZQoJICAgICAgb3V0cHV0
PQoJICAgIGZpCgoJICAgIGlmICR7c2tpcHBlZF9leHBvcnQtZmFsc2V9OyB0
aGVuCgkgICAgICBmdW5jX3ZlcmJvc2UgImdlbmVyYXRpbmcgc3ltYm9sIGxp
c3QgZm9yIFxgJGxpYm5hbWUubGEnIgoJICAgICAgZXhwb3J0X3N5bWJvbHM9
IiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmV4cCIKCSAgICAgICRvcHRfZHJ5
X3J1biB8fCAkUk0gJGV4cG9ydF9zeW1ib2xzCgkgICAgICBsaWJvYmpzPSRv
dXRwdXQKCSAgICAgICMgQXBwZW5kIHRoZSBjb21tYW5kIHRvIGNyZWF0ZSB0
aGUgZXhwb3J0IGZpbGUuCgkgICAgICB0ZXN0IC16ICIkY29uY2F0X2NtZHMi
IHx8IGNvbmNhdF9jbWRzPSRjb25jYXRfY21kc34KCSAgICAgIGV2YWwgY29u
Y2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzJGV4cG9ydF9zeW1ib2xzX2NtZHNc
IgoJICAgICAgaWYgdGVzdCAtbiAiJGxhc3Rfcm9iaiI7IHRoZW4KCQlldmFs
IGNvbmNhdF9jbWRzPVwiXCRjb25jYXRfY21kc35cJFJNICRsYXN0X3JvYmpc
IgoJICAgICAgZmkKCSAgICBmaQoKCSAgICB0ZXN0IC1uICIkc2F2ZV9saWJv
YmpzIiAmJgoJICAgICAgZnVuY192ZXJib3NlICJjcmVhdGluZyBhIHRlbXBv
cmFyeSByZWxvYWRhYmxlIG9iamVjdCBmaWxlOiAkb3V0cHV0IgoKCSAgICAj
IExvb3AgdGhyb3VnaCB0aGUgY29tbWFuZHMgZ2VuZXJhdGVkIGFib3ZlIGFu
ZCBleGVjdXRlIHRoZW0uCgkgICAgc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34n
CgkgICAgZm9yIGNtZCBpbiAkY29uY2F0X2NtZHM7IGRvCgkgICAgICBJRlM9
IiRzYXZlX2lmcyIKCSAgICAgICRvcHRfc2lsZW50IHx8IHsKCQkgIGZ1bmNf
cXVvdGVfZm9yX2V4cGFuZCAiJGNtZCIKCQkgIGV2YWwgImZ1bmNfZWNobyAk
ZnVuY19xdW90ZV9mb3JfZXhwYW5kX3Jlc3VsdCIKCSAgICAgIH0KCSAgICAg
ICRvcHRfZHJ5X3J1biB8fCBldmFsICIkY21kIiB8fCB7CgkJbHRfZXhpdD0k
PwoKCQkjIFJlc3RvcmUgdGhlIHVuaW5zdGFsbGVkIGxpYnJhcnkgYW5kIGV4
aXQKCQlpZiB0ZXN0ICIkb3B0X21vZGUiID0gcmVsaW5rOyB0aGVuCgkJICAo
IGNkICIkb3V0cHV0X29iamRpciIgJiYgXAoJCSAgICAkUk0gIiR7cmVhbG5h
bWV9VCIgJiYgXAoJCSAgICAkTVYgIiR7cmVhbG5hbWV9VSIgIiRyZWFsbmFt
ZSIgKQoJCWZpCgoJCWV4aXQgJGx0X2V4aXQKCSAgICAgIH0KCSAgICBkb25l
CgkgICAgSUZTPSIkc2F2ZV9pZnMiCgoJICAgIGlmIHRlc3QgLW4gIiRleHBv
cnRfc3ltYm9sc19yZWdleCIgJiYgJHtza2lwcGVkX2V4cG9ydC1mYWxzZX07
IHRoZW4KCSAgICAgIGZ1bmNfc2hvd19ldmFsICckRUdSRVAgLWUgIiRleHBv
cnRfc3ltYm9sc19yZWdleCIgIiRleHBvcnRfc3ltYm9scyIgPiAiJHtleHBv
cnRfc3ltYm9sc31UIicKCSAgICAgIGZ1bmNfc2hvd19ldmFsICckTVYgIiR7
ZXhwb3J0X3N5bWJvbHN9VCIgIiRleHBvcnRfc3ltYm9scyInCgkgICAgZmkK
CSAgZmkKCiAgICAgICAgICBpZiAke3NraXBwZWRfZXhwb3J0LWZhbHNlfTsg
dGhlbgoJICAgIGlmIHRlc3QgLW4gIiRleHBvcnRfc3ltYm9scyIgJiYgdGVz
dCAtbiAiJGluY2x1ZGVfZXhwc3ltcyI7IHRoZW4KCSAgICAgIHRtcF9leHBv
cnRfc3ltYm9scz0iJGV4cG9ydF9zeW1ib2xzIgoJICAgICAgdGVzdCAtbiAi
JG9yaWdfZXhwb3J0X3N5bWJvbHMiICYmIHRtcF9leHBvcnRfc3ltYm9scz0i
JG9yaWdfZXhwb3J0X3N5bWJvbHMiCgkgICAgICAkb3B0X2RyeV9ydW4gfHwg
ZXZhbCAnJEVDSE8gIiRpbmNsdWRlX2V4cHN5bXMiIHwgJFNQMk5MID4+ICIk
dG1wX2V4cG9ydF9zeW1ib2xzIicKCSAgICBmaQoKCSAgICBpZiB0ZXN0IC1u
ICIkb3JpZ19leHBvcnRfc3ltYm9scyI7IHRoZW4KCSAgICAgICMgVGhlIGdp
dmVuIGV4cG9ydHNfc3ltYm9scyBmaWxlIGhhcyB0byBiZSBmaWx0ZXJlZCwg
c28gZmlsdGVyIGl0LgoJICAgICAgZnVuY192ZXJib3NlICJmaWx0ZXIgc3lt
Ym9sIGxpc3QgZm9yIFxgJGxpYm5hbWUubGEnIHRvIHRhZyBEQVRBIGV4cG9y
dHMiCgkgICAgICAjIEZJWE1FOiAkb3V0cHV0X29iamRpci8kbGlibmFtZS5m
aWx0ZXIgcG90ZW50aWFsbHkgY29udGFpbnMgbG90cyBvZgoJICAgICAgIyAn
cycgY29tbWFuZHMgd2hpY2ggbm90IGFsbCBzZWRzIGNhbiBoYW5kbGUuIEdO
VSBzZWQgc2hvdWxkIGJlIGZpbmUKCSAgICAgICMgdGhvdWdoLiBBbHNvLCB0
aGUgZmlsdGVyIHNjYWxlcyBzdXBlcmxpbmVhcmx5IHdpdGggdGhlIG51bWJl
ciBvZgoJICAgICAgIyBnbG9iYWwgdmFyaWFibGVzLiBqb2luKDEpIHdvdWxk
IGJlIG5pY2UgaGVyZSwgYnV0IHVuZm9ydHVuYXRlbHkKCSAgICAgICMgaXNu
J3QgYSBibGVzc2VkIHRvb2wuCgkgICAgICAkb3B0X2RyeV9ydW4gfHwgJFNF
RCAtZSAnL1sgLF1EQVRBLyFkO3MsXCguKlwpXChbIFwsXS4qXCksc3xeXDEk
fFwxXDJ8LCcgPCAkZXhwb3J0X3N5bWJvbHMgPiAkb3V0cHV0X29iamRpci8k
bGlibmFtZS5maWx0ZXIKCSAgICAgIGRlbGZpbGVzKz0iICRleHBvcnRfc3lt
Ym9scyAkb3V0cHV0X29iamRpci8kbGlibmFtZS5maWx0ZXIiCgkgICAgICBl
eHBvcnRfc3ltYm9scz0kb3V0cHV0X29iamRpci8kbGlibmFtZS5kZWYKCSAg
ICAgICRvcHRfZHJ5X3J1biB8fCAkU0VEIC1mICRvdXRwdXRfb2JqZGlyLyRs
aWJuYW1lLmZpbHRlciA8ICRvcmlnX2V4cG9ydF9zeW1ib2xzID4gJGV4cG9y
dF9zeW1ib2xzCgkgICAgZmkKCSAgZmkKCgkgIGxpYm9ianM9JG91dHB1dAoJ
ICAjIFJlc3RvcmUgdGhlIHZhbHVlIG9mIG91dHB1dC4KCSAgb3V0cHV0PSRz
YXZlX291dHB1dAoKCSAgaWYgdGVzdCAtbiAiJGNvbnZlbmllbmNlIiAmJiB0
ZXN0IC1uICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkgICAg
ZXZhbCBsaWJvYmpzPVwiXCRsaWJvYmpzICR3aG9sZV9hcmNoaXZlX2ZsYWdf
c3BlY1wiCgkgICAgdGVzdCAiWCRsaWJvYmpzIiA9ICJYICIgJiYgbGlib2Jq
cz0KCSAgZmkKCSAgIyBFeHBhbmQgdGhlIGxpYnJhcnkgbGlua2luZyBjb21t
YW5kcyBhZ2FpbiB0byByZXNldCB0aGUKCSAgIyB2YWx1ZSBvZiAkbGlib2Jq
cyBmb3IgcGllY2V3aXNlIGxpbmtpbmcuCgoJICAjIERvIGVhY2ggb2YgdGhl
IGFyY2hpdmUgY29tbWFuZHMuCgkgIGlmIHRlc3QgIiRtb2R1bGUiID0geWVz
ICYmIHRlc3QgLW4gIiRtb2R1bGVfY21kcyIgOyB0aGVuCgkgICAgaWYgdGVz
dCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1uICIkbW9kdWxlX2V4
cHN5bV9jbWRzIjsgdGhlbgoJICAgICAgY21kcz0kbW9kdWxlX2V4cHN5bV9j
bWRzCgkgICAgZWxzZQoJICAgICAgY21kcz0kbW9kdWxlX2NtZHMKCSAgICBm
aQoJICBlbHNlCgkgICAgaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAm
JiB0ZXN0IC1uICIkYXJjaGl2ZV9leHBzeW1fY21kcyI7IHRoZW4KCSAgICAg
IGNtZHM9JGFyY2hpdmVfZXhwc3ltX2NtZHMKCSAgICBlbHNlCgkgICAgICBj
bWRzPSRhcmNoaXZlX2NtZHMKCSAgICBmaQoJICBmaQoJZmkKCglpZiB0ZXN0
IC1uICIkZGVsZmlsZXMiOyB0aGVuCgkgICMgQXBwZW5kIHRoZSBjb21tYW5k
IHRvIHJlbW92ZSB0ZW1wb3JhcnkgZmlsZXMgdG8gJGNtZHMuCgkgIGV2YWwg
Y21kcz1cIlwkY21kc35cJFJNICRkZWxmaWxlc1wiCglmaQoKCSMgQWRkIGFu
eSBvYmplY3RzIGZyb20gcHJlbG9hZGVkIGNvbnZlbmllbmNlIGxpYnJhcmll
cwoJaWYgdGVzdCAtbiAiJGRscHJlZmlsZXMiOyB0aGVuCgkgIGdlbnRvcD0i
JG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgIGdlbmVyYXRlZCs9
IiAkZ2VudG9wIgoKCSAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRnZW50b3Ag
JGRscHJlZmlsZXMKCSAgbGlib2Jqcys9IiAkZnVuY19leHRyYWN0X2FyY2hp
dmVzX3Jlc3VsdCIKCSAgdGVzdCAiWCRsaWJvYmpzIiA9ICJYICIgJiYgbGli
b2Jqcz0KCWZpCgoJc2F2ZV9pZnM9IiRJRlMiOyBJRlM9J34nCglmb3IgY21k
IGluICRjbWRzOyBkbwoJICBJRlM9IiRzYXZlX2lmcyIKCSAgZXZhbCBjbWQ9
XCIkY21kXCIKCSAgJG9wdF9zaWxlbnQgfHwgewoJICAgIGZ1bmNfcXVvdGVf
Zm9yX2V4cGFuZCAiJGNtZCIKCSAgICBldmFsICJmdW5jX2VjaG8gJGZ1bmNf
cXVvdGVfZm9yX2V4cGFuZF9yZXN1bHQiCgkgIH0KCSAgJG9wdF9kcnlfcnVu
IHx8IGV2YWwgIiRjbWQiIHx8IHsKCSAgICBsdF9leGl0PSQ/CgoJICAgICMg
UmVzdG9yZSB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSBhbmQgZXhpdAoJICAg
IGlmIHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7IHRoZW4KCSAgICAgICgg
Y2QgIiRvdXRwdXRfb2JqZGlyIiAmJiBcCgkgICAgICAgICRSTSAiJHtyZWFs
bmFtZX1UIiAmJiBcCgkJJE1WICIke3JlYWxuYW1lfVUiICIkcmVhbG5hbWUi
ICkKCSAgICBmaQoKCSAgICBleGl0ICRsdF9leGl0CgkgIH0KCWRvbmUKCUlG
Uz0iJHNhdmVfaWZzIgoKCSMgUmVzdG9yZSB0aGUgdW5pbnN0YWxsZWQgbGli
cmFyeSBhbmQgZXhpdAoJaWYgdGVzdCAiJG9wdF9tb2RlIiA9IHJlbGluazsg
dGhlbgoJICAkb3B0X2RyeV9ydW4gfHwgZXZhbCAnKGNkICRvdXRwdXRfb2Jq
ZGlyICYmICRSTSAke3JlYWxuYW1lfVQgJiYgJE1WICRyZWFsbmFtZSAke3Jl
YWxuYW1lfVQgJiYgJE1WICR7cmVhbG5hbWV9VSAkcmVhbG5hbWUpJyB8fCBl
eGl0ICQ/CgoJICBpZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiOyB0aGVuCgkg
ICAgaWYgdGVzdCAteiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsgdGhl
bgoJICAgICAgZnVuY19zaG93X2V2YWwgJyR7Uk19ciAiJGdlbnRvcCInCgkg
ICAgZmkKCSAgZmkKCgkgIGV4aXQgJEVYSVRfU1VDQ0VTUwoJZmkKCgkjIENy
ZWF0ZSBsaW5rcyB0byB0aGUgcmVhbCBsaWJyYXJ5LgoJZm9yIGxpbmtuYW1l
IGluICRsaW5rbmFtZXM7IGRvCgkgIGlmIHRlc3QgIiRyZWFsbmFtZSIgIT0g
IiRsaW5rbmFtZSI7IHRoZW4KCSAgICBmdW5jX3Nob3dfZXZhbCAnKGNkICIk
b3V0cHV0X29iamRpciIgJiYgJFJNICIkbGlua25hbWUiICYmICRMTl9TICIk
cmVhbG5hbWUiICIkbGlua25hbWUiKScgJ2V4aXQgJD8nCgkgIGZpCglkb25l
CgoJIyBJZiAtbW9kdWxlIG9yIC1leHBvcnQtZHluYW1pYyB3YXMgc3BlY2lm
aWVkLCBzZXQgdGhlIGRsbmFtZS4KCWlmIHRlc3QgIiRtb2R1bGUiID0geWVz
IHx8IHRlc3QgIiRleHBvcnRfZHluYW1pYyIgPSB5ZXM7IHRoZW4KCSAgIyBP
biBhbGwga25vd24gb3BlcmF0aW5nIHN5c3RlbXMsIHRoZXNlIGFyZSBpZGVu
dGljYWwuCgkgIGRsbmFtZT0iJHNvbmFtZSIKCWZpCiAgICAgIGZpCiAgICAg
IDs7CgogICAgb2JqKQogICAgICBpZiB0ZXN0IC1uICIkZGxmaWxlcyRkbHBy
ZWZpbGVzIiB8fCB0ZXN0ICIkZGxzZWxmIiAhPSBubzsgdGhlbgoJZnVuY193
YXJuaW5nICJcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiCiAg
ICAgIGZpCgogICAgICBjYXNlICIgJGRlcGxpYnMiIGluCiAgICAgICpcIC1s
KiB8ICpcIC1MKikKCWZ1bmNfd2FybmluZyAiXGAtbCcgYW5kIFxgLUwnIGFy
ZSBpZ25vcmVkIGZvciBvYmplY3RzIiA7OwogICAgICBlc2FjCgogICAgICB0
ZXN0IC1uICIkcnBhdGgiICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtcnBhdGgn
IGlzIGlnbm9yZWQgZm9yIG9iamVjdHMiCgogICAgICB0ZXN0IC1uICIkeHJw
YXRoIiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLVInIGlzIGlnbm9yZWQgZm9y
IG9iamVjdHMiCgogICAgICB0ZXN0IC1uICIkdmluZm8iICYmIFwKCWZ1bmNf
d2FybmluZyAiXGAtdmVyc2lvbi1pbmZvJyBpcyBpZ25vcmVkIGZvciBvYmpl
Y3RzIgoKICAgICAgdGVzdCAtbiAiJHJlbGVhc2UiICYmIFwKCWZ1bmNfd2Fy
bmluZyAiXGAtcmVsZWFzZScgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIKCiAg
ICAgIGNhc2UgJG91dHB1dCBpbgogICAgICAqLmxvKQoJdGVzdCAtbiAiJG9i
anMkb2xkX2RlcGxpYnMiICYmIFwKCSAgZnVuY19mYXRhbF9lcnJvciAiY2Fu
bm90IGJ1aWxkIGxpYnJhcnkgb2JqZWN0IFxgJG91dHB1dCcgZnJvbSBub24t
bGlidG9vbCBvYmplY3RzIgoKCWxpYm9iaj0kb3V0cHV0CglmdW5jX2xvMm8g
IiRsaWJvYmoiCglvYmo9JGZ1bmNfbG8yb19yZXN1bHQKCTs7CiAgICAgICop
CglsaWJvYmo9CglvYmo9IiRvdXRwdXQiCgk7OwogICAgICBlc2FjCgogICAg
ICAjIERlbGV0ZSB0aGUgb2xkIG9iamVjdHMuCiAgICAgICRvcHRfZHJ5X3J1
biB8fCAkUk0gJG9iaiAkbGlib2JqCgogICAgICAjIE9iamVjdHMgZnJvbSBj
b252ZW5pZW5jZSBsaWJyYXJpZXMuICBUaGlzIGFzc3VtZXMKICAgICAgIyBz
aW5nbGUtdmVyc2lvbiBjb252ZW5pZW5jZSBsaWJyYXJpZXMuICBXaGVuZXZl
ciB3ZSBjcmVhdGUKICAgICAgIyBkaWZmZXJlbnQgb25lcyBmb3IgUElDL25v
bi1QSUMsIHRoaXMgd2UnbGwgaGF2ZSB0byBkdXBsaWNhdGUKICAgICAgIyB0
aGUgZXh0cmFjdGlvbi4KICAgICAgcmVsb2FkX2NvbnZfb2Jqcz0KICAgICAg
Z2VudG9wPQogICAgICAjIHJlbG9hZF9jbWRzIHJ1bnMgJExEIGRpcmVjdGx5
LCBzbyBsZXQgdXMgZ2V0IHJpZCBvZgogICAgICAjIC1XbCBmcm9tIHdob2xl
X2FyY2hpdmVfZmxhZ19zcGVjIGFuZCBob3BlIHdlIGNhbiBnZXQgYnkgd2l0
aAogICAgICAjIHR1cm5pbmcgY29tbWEgaW50byBzcGFjZS4uCiAgICAgIHds
PQoKICAgICAgaWYgdGVzdCAtbiAiJGNvbnZlbmllbmNlIjsgdGhlbgoJaWYg
dGVzdCAtbiAiJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjIjsgdGhlbgoJICBl
dmFsIHRtcF93aG9sZV9hcmNoaXZlX2ZsYWdzPVwiJHdob2xlX2FyY2hpdmVf
ZmxhZ19zcGVjXCIKCSAgcmVsb2FkX2NvbnZfb2Jqcz0kcmVsb2FkX29ianNc
IGAkRUNITyAiJHRtcF93aG9sZV9hcmNoaXZlX2ZsYWdzIiB8ICRTRUQgJ3N8
LHwgfGcnYAoJZWxzZQoJICBnZW50b3A9IiRvdXRwdXRfb2JqZGlyLyR7b2Jq
fXgiCgkgIGdlbmVyYXRlZCs9IiAkZ2VudG9wIgoKCSAgZnVuY19leHRyYWN0
X2FyY2hpdmVzICRnZW50b3AgJGNvbnZlbmllbmNlCgkgIHJlbG9hZF9jb252
X29ianM9IiRyZWxvYWRfb2JqcyAkZnVuY19leHRyYWN0X2FyY2hpdmVzX3Jl
c3VsdCIKCWZpCiAgICAgIGZpCgogICAgICAjIElmIHdlJ3JlIG5vdCBidWls
ZGluZyBzaGFyZWQsIHdlIG5lZWQgdG8gdXNlIG5vbl9waWNfb2JqcwogICAg
ICB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXMgJiYgbGlib2Jq
cz0iJG5vbl9waWNfb2JqZWN0cyIKCiAgICAgICMgQ3JlYXRlIHRoZSBvbGQt
c3R5bGUgb2JqZWN0LgogICAgICByZWxvYWRfb2Jqcz0iJG9ianMkb2xkX2Rl
cGxpYnMgImAkRUNITyAiJGxpYm9ianMiIHwgJFNQMk5MIHwgJFNFRCAiL1wu
JHtsaWJleHR9JC9kOyAvXC5saWIkL2Q7ICRsbzJvIiB8ICROTDJTUGAiICRy
ZWxvYWRfY29udl9vYmpzIiAjIyMgdGVzdHN1aXRlOiBza2lwIG5lc3RlZCBx
dW90aW5nIHRlc3QKCiAgICAgIG91dHB1dD0iJG9iaiIKICAgICAgZnVuY19l
eGVjdXRlX2NtZHMgIiRyZWxvYWRfY21kcyIgJ2V4aXQgJD8nCgogICAgICAj
IEV4aXQgaWYgd2UgYXJlbid0IGRvaW5nIGEgbGlicmFyeSBvYmplY3QgZmls
ZS4KICAgICAgaWYgdGVzdCAteiAiJGxpYm9iaiI7IHRoZW4KCWlmIHRlc3Qg
LW4gIiRnZW50b3AiOyB0aGVuCgkgIGZ1bmNfc2hvd19ldmFsICcke1JNfXIg
IiRnZW50b3AiJwoJZmkKCglleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgZmkK
CiAgICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllczsg
dGhlbgoJaWYgdGVzdCAtbiAiJGdlbnRvcCI7IHRoZW4KCSAgZnVuY19zaG93
X2V2YWwgJyR7Uk19ciAiJGdlbnRvcCInCglmaQoKCSMgQ3JlYXRlIGFuIGlu
dmFsaWQgbGlidG9vbCBvYmplY3QgaWYgbm8gUElDLCBzbyB0aGF0IHdlIGRv
bid0CgkjIGFjY2lkZW50YWxseSBsaW5rIGl0IGludG8gYSBwcm9ncmFtLgoJ
IyAkc2hvdyAiZWNobyB0aW1lc3RhbXAgPiAkbGlib2JqIgoJIyAkb3B0X2Ry
eV9ydW4gfHwgZXZhbCAiZWNobyB0aW1lc3RhbXAgPiAkbGlib2JqIiB8fCBl
eGl0ICQ/CglleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgZmkKCiAgICAgIGlm
IHRlc3QgLW4gIiRwaWNfZmxhZyIgfHwgdGVzdCAiJHBpY19tb2RlIiAhPSBk
ZWZhdWx0OyB0aGVuCgkjIE9ubHkgZG8gY29tbWFuZHMgaWYgd2UgcmVhbGx5
IGhhdmUgZGlmZmVyZW50IFBJQyBvYmplY3RzLgoJcmVsb2FkX29ianM9IiRs
aWJvYmpzICRyZWxvYWRfY29udl9vYmpzIgoJb3V0cHV0PSIkbGlib2JqIgoJ
ZnVuY19leGVjdXRlX2NtZHMgIiRyZWxvYWRfY21kcyIgJ2V4aXQgJD8nCiAg
ICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgoJZnVu
Y19zaG93X2V2YWwgJyR7Uk19ciAiJGdlbnRvcCInCiAgICAgIGZpCgogICAg
ICBleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgOzsKCiAgICBwcm9nKQogICAg
ICBjYXNlICRob3N0IGluCgkqY3lnd2luKikgZnVuY19zdHJpcG5hbWUgJycg
Jy5leGUnICIkb3V0cHV0IgoJICAgICAgICAgIG91dHB1dD0kZnVuY19zdHJp
cG5hbWVfcmVzdWx0LmV4ZTs7CiAgICAgIGVzYWMKICAgICAgdGVzdCAtbiAi
JHZpbmZvIiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLXZlcnNpb24taW5mbycg
aXMgaWdub3JlZCBmb3IgcHJvZ3JhbXMiCgogICAgICB0ZXN0IC1uICIkcmVs
ZWFzZSIgJiYgXAoJZnVuY193YXJuaW5nICJcYC1yZWxlYXNlJyBpcyBpZ25v
cmVkIGZvciBwcm9ncmFtcyIKCiAgICAgIHRlc3QgIiRwcmVsb2FkIiA9IHll
cyBcCiAgICAgICAgJiYgdGVzdCAiJGRsb3Blbl9zdXBwb3J0IiA9IHVua25v
d24gXAoJJiYgdGVzdCAiJGRsb3Blbl9zZWxmIiA9IHVua25vd24gXAoJJiYg
dGVzdCAiJGRsb3Blbl9zZWxmX3N0YXRpYyIgPSB1bmtub3duICYmIFwKCSAg
ZnVuY193YXJuaW5nICJcYExUX0lOSVQoW2Rsb3Blbl0pJyBub3QgdXNlZC4g
QXNzdW1pbmcgbm8gZGxvcGVuIHN1cHBvcnQuIgoKICAgICAgY2FzZSAkaG9z
dCBpbgogICAgICAqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAxMl0p
CgkjIE9uIFJoYXBzb2R5IHJlcGxhY2UgdGhlIEMgbGlicmFyeSBpcyB0aGUg
U3lzdGVtIGZyYW1ld29yawoJY29tcGlsZV9kZXBsaWJzPWAkRUNITyAiICRj
b21waWxlX2RlcGxpYnMiIHwgJFNFRCAncy8gLWxjIC8gU3lzdGVtLmx0ZnJh
bWV3b3JrIC8nYAoJZmluYWxpemVfZGVwbGlicz1gJEVDSE8gIiAkZmluYWxp
emVfZGVwbGlicyIgfCAkU0VEICdzLyAtbGMgLyBTeXN0ZW0ubHRmcmFtZXdv
cmsgLydgCgk7OwogICAgICBlc2FjCgogICAgICBjYXNlICRob3N0IGluCiAg
ICAgICotKi1kYXJ3aW4qKQoJIyBEb24ndCBhbGxvdyBsYXp5IGxpbmtpbmcs
IGl0IGJyZWFrcyBDKysgZ2xvYmFsIGNvbnN0cnVjdG9ycwoJIyBCdXQgaXMg
c3VwcG9zZWRseSBmaXhlZCBvbiAxMC40IG9yIGxhdGVyICh5YXkhKS4KCWlm
IHRlc3QgIiR0YWduYW1lIiA9IENYWCA7IHRoZW4KCSAgY2FzZSAke01BQ09T
WF9ERVBMT1lNRU5UX1RBUkdFVC0xMC4wfSBpbgoJICAgIDEwLlswMTIzXSkK
CSAgICAgIGNvbXBpbGVfY29tbWFuZCs9IiAke3dsfS1iaW5kX2F0X2xvYWQi
CgkgICAgICBmaW5hbGl6ZV9jb21tYW5kKz0iICR7d2x9LWJpbmRfYXRfbG9h
ZCIKCSAgICA7OwoJICBlc2FjCglmaQoJIyBUaW1lIHRvIGNoYW5nZSBhbGwg
b3VyICJmb28ubHRmcmFtZXdvcmsiIHN0dWZmIGJhY2sgdG8gIi1mcmFtZXdv
cmsgZm9vIgoJY29tcGlsZV9kZXBsaWJzPWAkRUNITyAiICRjb21waWxlX2Rl
cGxpYnMiIHwgJFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1ld29yayUgLWZy
YW1ld29yayBcMSVnJ2AKCWZpbmFsaXplX2RlcGxpYnM9YCRFQ0hPICIgJGZp
bmFsaXplX2RlcGxpYnMiIHwgJFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1l
d29yayUgLWZyYW1ld29yayBcMSVnJ2AKCTs7CiAgICAgIGVzYWMKCgogICAg
ICAjIG1vdmUgbGlicmFyeSBzZWFyY2ggcGF0aHMgdGhhdCBjb2luY2lkZSB3
aXRoIHBhdGhzIHRvIG5vdCB5ZXQKICAgICAgIyBpbnN0YWxsZWQgbGlicmFy
aWVzIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpYnJhcnkgc2VhcmNoIGxp
c3QKICAgICAgbmV3X2xpYnM9CiAgICAgIGZvciBwYXRoIGluICRub3RpbnN0
X3BhdGg7IGRvCgljYXNlICIgJG5ld19saWJzICIgaW4KCSoiIC1MJHBhdGgv
JG9iamRpciAiKikgOzsKCSopCgkgIGNhc2UgIiAkY29tcGlsZV9kZXBsaWJz
ICIgaW4KCSAgKiIgLUwkcGF0aC8kb2JqZGlyICIqKQoJICAgIG5ld19saWJz
Kz0iIC1MJHBhdGgvJG9iamRpciIgOzsKCSAgZXNhYwoJICA7OwoJZXNhYwog
ICAgICBkb25lCiAgICAgIGZvciBkZXBsaWIgaW4gJGNvbXBpbGVfZGVwbGli
czsgZG8KCWNhc2UgJGRlcGxpYiBpbgoJLUwqKQoJICBjYXNlICIgJG5ld19s
aWJzICIgaW4KCSAgKiIgJGRlcGxpYiAiKikgOzsKCSAgKikgbmV3X2xpYnMr
PSIgJGRlcGxpYiIgOzsKCSAgZXNhYwoJICA7OwoJKikgbmV3X2xpYnMrPSIg
JGRlcGxpYiIgOzsKCWVzYWMKICAgICAgZG9uZQogICAgICBjb21waWxlX2Rl
cGxpYnM9IiRuZXdfbGlicyIKCgogICAgICBjb21waWxlX2NvbW1hbmQrPSIg
JGNvbXBpbGVfZGVwbGlicyIKICAgICAgZmluYWxpemVfY29tbWFuZCs9IiAk
ZmluYWxpemVfZGVwbGlicyIKCiAgICAgIGlmIHRlc3QgLW4gIiRycGF0aCR4
cnBhdGgiOyB0aGVuCgkjIElmIHRoZSB1c2VyIHNwZWNpZmllZCBhbnkgcnBh
dGggZmxhZ3MsIHRoZW4gYWRkIHRoZW0uCglmb3IgbGliZGlyIGluICRycGF0
aCAkeHJwYXRoOyBkbwoJICAjIFRoaXMgaXMgdGhlIG1hZ2ljIHRvIHVzZSAt
cnBhdGguCgkgIGNhc2UgIiRmaW5hbGl6ZV9ycGF0aCAiIGluCgkgICoiICRs
aWJkaXIgIiopIDs7CgkgICopIGZpbmFsaXplX3JwYXRoKz0iICRsaWJkaXIi
IDs7CgkgIGVzYWMKCWRvbmUKICAgICAgZmkKCiAgICAgICMgTm93IGhhcmRj
b2RlIHRoZSBsaWJyYXJ5IHBhdGhzCiAgICAgIHJwYXRoPQogICAgICBoYXJk
Y29kZV9saWJkaXJzPQogICAgICBmb3IgbGliZGlyIGluICRjb21waWxlX3Jw
YXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KCWlmIHRlc3QgLW4gIiRoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkaGFy
ZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KCSAgICBpZiB0ZXN0IC16
ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICAgIGhhcmRjb2RlX2xp
YmRpcnM9IiRsaWJkaXIiCgkgICAgZWxzZQoJICAgICAgIyBKdXN0IGFjY3Vt
dWxhdGUgdGhlIHVuaXF1ZSBsaWJkaXJzLgoJICAgICAgY2FzZSAkaGFyZGNv
ZGVfbGliZGlyX3NlcGFyYXRvciRoYXJkY29kZV9saWJkaXJzJGhhcmRjb2Rl
X2xpYmRpcl9zZXBhcmF0b3IgaW4KCSAgICAgICoiJGhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3Ii
KikKCQk7OwoJICAgICAgKikKCQloYXJkY29kZV9saWJkaXJzKz0iJGhhcmRj
b2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyIgoJCTs7CgkgICAgICBlc2Fj
CgkgICAgZmkKCSAgZWxzZQoJICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjXCIKCSAgICBycGF0aCs9IiAkZmxhZyIKCSAgZmkK
CWVsaWYgdGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgoJICBjYXNlICIk
cGVybV9ycGF0aCAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7CgkgICopIHBl
cm1fcnBhdGgrPSIgJGxpYmRpciIgOzsKCSAgZXNhYwoJZmkKCWNhc2UgJGhv
c3QgaW4KCSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMyKiB8
ICotKi1vczIqIHwgKi1jZWdjYyopCgkgIHRlc3RiaW5kaXI9YCR7RUNIT30g
IiRsaWJkaXIiIHwgJHtTRUR9IC1lICdzKi9saWIkKi9iaW4qJ2AKCSAgY2Fz
ZSA6JGRsbHNlYXJjaHBhdGg6IGluCgkgICoiOiRsaWJkaXI6IiopIDs7Cgkg
IDo6KSBkbGxzZWFyY2hwYXRoPSRsaWJkaXI7OwoJICAqKSBkbGxzZWFyY2hw
YXRoKz0iOiRsaWJkaXIiOzsKCSAgZXNhYwoJICBjYXNlIDokZGxsc2VhcmNo
cGF0aDogaW4KCSAgKiI6JHRlc3RiaW5kaXI6IiopIDs7CgkgIDo6KSBkbGxz
ZWFyY2hwYXRoPSR0ZXN0YmluZGlyOzsKCSAgKikgZGxsc2VhcmNocGF0aCs9
IjokdGVzdGJpbmRpciI7OwoJICBlc2FjCgkgIDs7Cgllc2FjCiAgICAgIGRv
bmUKICAgICAgIyBTdWJzdGl0dXRlIHRoZSBoYXJkY29kZWQgbGliZGlycyBp
bnRvIHRoZSBycGF0aC4KICAgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IiICYmCgkgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRp
cnMiOyB0aGVuCglsaWJkaXI9IiRoYXJkY29kZV9saWJkaXJzIgoJZXZhbCBy
cGF0aD1cIiAkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCiAgICAgIGZp
CiAgICAgIGNvbXBpbGVfcnBhdGg9IiRycGF0aCIKCiAgICAgIHJwYXRoPQog
ICAgICBoYXJkY29kZV9saWJkaXJzPQogICAgICBmb3IgbGliZGlyIGluICRm
aW5hbGl6ZV9ycGF0aDsgZG8KCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJk
aXJfZmxhZ19zcGVjIjsgdGhlbgoJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVf
bGliZGlyX3NlcGFyYXRvciI7IHRoZW4KCSAgICBpZiB0ZXN0IC16ICIkaGFy
ZGNvZGVfbGliZGlycyI7IHRoZW4KCSAgICAgIGhhcmRjb2RlX2xpYmRpcnM9
IiRsaWJkaXIiCgkgICAgZWxzZQoJICAgICAgIyBKdXN0IGFjY3VtdWxhdGUg
dGhlIHVuaXF1ZSBsaWJkaXJzLgoJICAgICAgY2FzZSAkaGFyZGNvZGVfbGli
ZGlyX3NlcGFyYXRvciRoYXJkY29kZV9saWJkaXJzJGhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3IgaW4KCSAgICAgICoiJGhhcmRjb2RlX2xpYmRpcl9zZXBh
cmF0b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiKikKCQk7
OwoJICAgICAgKikKCQloYXJkY29kZV9saWJkaXJzKz0iJGhhcmRjb2RlX2xp
YmRpcl9zZXBhcmF0b3IkbGliZGlyIgoJCTs7CgkgICAgICBlc2FjCgkgICAg
ZmkKCSAgZWxzZQoJICAgIGV2YWwgZmxhZz1cIiRoYXJkY29kZV9saWJkaXJf
ZmxhZ19zcGVjXCIKCSAgICBycGF0aCs9IiAkZmxhZyIKCSAgZmkKCWVsaWYg
dGVzdCAtbiAiJHJ1bnBhdGhfdmFyIjsgdGhlbgoJICBjYXNlICIkZmluYWxp
emVfcGVybV9ycGF0aCAiIGluCgkgICoiICRsaWJkaXIgIiopIDs7CgkgICop
IGZpbmFsaXplX3Blcm1fcnBhdGgrPSIgJGxpYmRpciIgOzsKCSAgZXNhYwoJ
ZmkKICAgICAgZG9uZQogICAgICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRjb2Rl
ZCBsaWJkaXJzIGludG8gdGhlIHJwYXRoLgogICAgICBpZiB0ZXN0IC1uICIk
aGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIgJiYKCSB0ZXN0IC1uICIkaGFy
ZGNvZGVfbGliZGlycyI7IHRoZW4KCWxpYmRpcj0iJGhhcmRjb2RlX2xpYmRp
cnMiCglldmFsIHJwYXRoPVwiICRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVj
XCIKICAgICAgZmkKICAgICAgZmluYWxpemVfcnBhdGg9IiRycGF0aCIKCiAg
ICAgIGlmIHRlc3QgLW4gIiRsaWJvYmpzIiAmJiB0ZXN0ICIkYnVpbGRfb2xk
X2xpYnMiID0geWVzOyB0aGVuCgkjIFRyYW5zZm9ybSBhbGwgdGhlIGxpYnJh
cnkgb2JqZWN0cyBpbnRvIHN0YW5kYXJkIG9iamVjdHMuCgljb21waWxlX2Nv
bW1hbmQ9YCRFQ0hPICIkY29tcGlsZV9jb21tYW5kIiB8ICRTUDJOTCB8ICRT
RUQgIiRsbzJvIiB8ICROTDJTUGAKCWZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hP
ICIkZmluYWxpemVfY29tbWFuZCIgfCAkU1AyTkwgfCAkU0VEICIkbG8ybyIg
fCAkTkwyU1BgCiAgICAgIGZpCgogICAgICBmdW5jX2dlbmVyYXRlX2Rsc3lt
cyAiJG91dHB1dG5hbWUiICJAUFJPR1JBTUAiICJubyIKCiAgICAgICMgdGVt
cGxhdGUgcHJlbGlua2luZyBzdGVwCiAgICAgIGlmIHRlc3QgLW4gIiRwcmVs
aW5rX2NtZHMiOyB0aGVuCglmdW5jX2V4ZWN1dGVfY21kcyAiJHByZWxpbmtf
Y21kcyIgJ2V4aXQgJD8nCiAgICAgIGZpCgogICAgICB3cmFwcGVyc19yZXF1
aXJlZD15ZXMKICAgICAgY2FzZSAkaG9zdCBpbgogICAgICAqY2VnY2MqIHwg
Km1pbmd3MzJjZSopCiAgICAgICAgIyBEaXNhYmxlIHdyYXBwZXJzIGZvciBj
ZWdjYyBhbmQgbWluZ3czMmNlIGhvc3RzLCB3ZSBhcmUgY3Jvc3MgY29tcGls
aW5nIGFueXdheS4KICAgICAgICB3cmFwcGVyc19yZXF1aXJlZD1ubwogICAg
ICAgIDs7CiAgICAgICpjeWd3aW4qIHwgKm1pbmd3KiApCiAgICAgICAgaWYg
dGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVuCiAgICAg
ICAgICB3cmFwcGVyc19yZXF1aXJlZD1ubwogICAgICAgIGZpCiAgICAgICAg
OzsKICAgICAgKikKICAgICAgICBpZiB0ZXN0ICIkbmVlZF9yZWxpbmsiID0g
bm8gfHwgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVu
CiAgICAgICAgICB3cmFwcGVyc19yZXF1aXJlZD1ubwogICAgICAgIGZpCiAg
ICAgICAgOzsKICAgICAgZXNhYwogICAgICBpZiB0ZXN0ICIkd3JhcHBlcnNf
cmVxdWlyZWQiID0gbm87IHRoZW4KCSMgUmVwbGFjZSB0aGUgb3V0cHV0IGZp
bGUgc3BlY2lmaWNhdGlvbi4KCWNvbXBpbGVfY29tbWFuZD1gJEVDSE8gIiRj
b21waWxlX2NvbW1hbmQiIHwgJFNFRCAncyVAT1VUUFVUQCUnIiRvdXRwdXQi
JyVnJ2AKCWxpbmtfY29tbWFuZD0iJGNvbXBpbGVfY29tbWFuZCRjb21waWxl
X3JwYXRoIgoKCSMgV2UgaGF2ZSBubyB1bmluc3RhbGxlZCBsaWJyYXJ5IGRl
cGVuZGVuY2llcywgc28gZmluYWxpemUgcmlnaHQgbm93LgoJZXhpdF9zdGF0
dXM9MAoJZnVuY19zaG93X2V2YWwgIiRsaW5rX2NvbW1hbmQiICdleGl0X3N0
YXR1cz0kPycKCglpZiB0ZXN0IC1uICIkcG9zdGxpbmtfY21kcyI7IHRoZW4K
CSAgZnVuY190b190b29sX2ZpbGUgIiRvdXRwdXQiCgkgIHBvc3RsaW5rX2Nt
ZHM9YGZ1bmNfZWNob19hbGwgIiRwb3N0bGlua19jbWRzIiB8ICRTRUQgLWUg
J3MlQE9VVFBVVEAlJyIkb3V0cHV0IiclZycgLWUgJ3MlQFRPT0xfT1VUUFVU
QCUnIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiJyVnJ2AKCSAgZnVuY19l
eGVjdXRlX2NtZHMgIiRwb3N0bGlua19jbWRzIiAnZXhpdCAkPycKCWZpCgoJ
IyBEZWxldGUgdGhlIGdlbmVyYXRlZCBmaWxlcy4KCWlmIHRlc3QgLWYgIiRv
dXRwdXRfb2JqZGlyLyR7b3V0cHV0bmFtZX1TLiR7b2JqZXh0fSI7IHRoZW4K
CSAgZnVuY19zaG93X2V2YWwgJyRSTSAiJG91dHB1dF9vYmpkaXIvJHtvdXRw
dXRuYW1lfVMuJHtvYmpleHR9IicKCWZpCgoJZXhpdCAkZXhpdF9zdGF0dXMK
ICAgICAgZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRjb21waWxlX3NobGlicGF0
aCRmaW5hbGl6ZV9zaGxpYnBhdGgiOyB0aGVuCgljb21waWxlX2NvbW1hbmQ9
IiRzaGxpYnBhdGhfdmFyPVwiJGNvbXBpbGVfc2hsaWJwYXRoJGZpbmFsaXpl
X3NobGlicGF0aFwkJHNobGlicGF0aF92YXJcIiAkY29tcGlsZV9jb21tYW5k
IgogICAgICBmaQogICAgICBpZiB0ZXN0IC1uICIkZmluYWxpemVfc2hsaWJw
YXRoIjsgdGhlbgoJZmluYWxpemVfY29tbWFuZD0iJHNobGlicGF0aF92YXI9
XCIkZmluYWxpemVfc2hsaWJwYXRoXCQkc2hsaWJwYXRoX3ZhclwiICRmaW5h
bGl6ZV9jb21tYW5kIgogICAgICBmaQoKICAgICAgY29tcGlsZV92YXI9CiAg
ICAgIGZpbmFsaXplX3Zhcj0KICAgICAgaWYgdGVzdCAtbiAiJHJ1bnBhdGhf
dmFyIjsgdGhlbgoJaWYgdGVzdCAtbiAiJHBlcm1fcnBhdGgiOyB0aGVuCgkg
ICMgV2Ugc2hvdWxkIHNldCB0aGUgcnVucGF0aF92YXIuCgkgIHJwYXRoPQoJ
ICBmb3IgZGlyIGluICRwZXJtX3JwYXRoOyBkbwoJICAgIHJwYXRoKz0iJGRp
cjoiCgkgIGRvbmUKCSAgY29tcGlsZV92YXI9IiRydW5wYXRoX3Zhcj1cIiRy
cGF0aFwkJHJ1bnBhdGhfdmFyXCIgIgoJZmkKCWlmIHRlc3QgLW4gIiRmaW5h
bGl6ZV9wZXJtX3JwYXRoIjsgdGhlbgoJICAjIFdlIHNob3VsZCBzZXQgdGhl
IHJ1bnBhdGhfdmFyLgoJICBycGF0aD0KCSAgZm9yIGRpciBpbiAkZmluYWxp
emVfcGVybV9ycGF0aDsgZG8KCSAgICBycGF0aCs9IiRkaXI6IgoJICBkb25l
CgkgIGZpbmFsaXplX3Zhcj0iJHJ1bnBhdGhfdmFyPVwiJHJwYXRoXCQkcnVu
cGF0aF92YXJcIiAiCglmaQogICAgICBmaQoKICAgICAgaWYgdGVzdCAiJG5v
X2luc3RhbGwiID0geWVzOyB0aGVuCgkjIFdlIGRvbid0IG5lZWQgdG8gY3Jl
YXRlIGEgd3JhcHBlciBzY3JpcHQuCglsaW5rX2NvbW1hbmQ9IiRjb21waWxl
X3ZhciRjb21waWxlX2NvbW1hbmQkY29tcGlsZV9ycGF0aCIKCSMgUmVwbGFj
ZSB0aGUgb3V0cHV0IGZpbGUgc3BlY2lmaWNhdGlvbi4KCWxpbmtfY29tbWFu
ZD1gJEVDSE8gIiRsaW5rX2NvbW1hbmQiIHwgJFNFRCAncyVAT1VUUFVUQCUn
IiRvdXRwdXQiJyVnJ2AKCSMgRGVsZXRlIHRoZSBvbGQgb3V0cHV0IGZpbGUu
Cgkkb3B0X2RyeV9ydW4gfHwgJFJNICRvdXRwdXQKCSMgTGluayB0aGUgZXhl
Y3V0YWJsZSBhbmQgZXhpdAoJZnVuY19zaG93X2V2YWwgIiRsaW5rX2NvbW1h
bmQiICdleGl0ICQ/JwoKCWlmIHRlc3QgLW4gIiRwb3N0bGlua19jbWRzIjsg
dGhlbgoJICBmdW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dCIKCSAgcG9zdGxp
bmtfY21kcz1gZnVuY19lY2hvX2FsbCAiJHBvc3RsaW5rX2NtZHMiIHwgJFNF
RCAtZSAncyVAT1VUUFVUQCUnIiRvdXRwdXQiJyVnJyAtZSAncyVAVE9PTF9P
VVRQVVRAJSciJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCInJWcnYAoJICBm
dW5jX2V4ZWN1dGVfY21kcyAiJHBvc3RsaW5rX2NtZHMiICdleGl0ICQ/JwoJ
ZmkKCglleGl0ICRFWElUX1NVQ0NFU1MKICAgICAgZmkKCiAgICAgIGlmIHRl
c3QgIiRoYXJkY29kZV9hY3Rpb24iID0gcmVsaW5rOyB0aGVuCgkjIEZhc3Qg
aW5zdGFsbGF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQKCWxpbmtfY29tbWFuZD0i
JGNvbXBpbGVfdmFyJGNvbXBpbGVfY29tbWFuZCRjb21waWxlX3JwYXRoIgoJ
cmVsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92YXIkZmluYWxpemVfY29tbWFu
ZCRmaW5hbGl6ZV9ycGF0aCIKCglmdW5jX3dhcm5pbmcgInRoaXMgcGxhdGZv
cm0gZG9lcyBub3QgbGlrZSB1bmluc3RhbGxlZCBzaGFyZWQgbGlicmFyaWVz
IgoJZnVuY193YXJuaW5nICJcYCRvdXRwdXQnIHdpbGwgYmUgcmVsaW5rZWQg
ZHVyaW5nIGluc3RhbGxhdGlvbiIKICAgICAgZWxzZQoJaWYgdGVzdCAiJGZh
c3RfaW5zdGFsbCIgIT0gbm87IHRoZW4KCSAgbGlua19jb21tYW5kPSIkZmlu
YWxpemVfdmFyJGNvbXBpbGVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0aCIKCSAg
aWYgdGVzdCAiJGZhc3RfaW5zdGFsbCIgPSB5ZXM7IHRoZW4KCSAgICByZWxp
bmtfY29tbWFuZD1gJEVDSE8gIiRjb21waWxlX3ZhciRjb21waWxlX2NvbW1h
bmQkY29tcGlsZV9ycGF0aCIgfCAkU0VEICdzJUBPVVRQVVRAJVwkcHJvZ2Rp
ci9cJGZpbGUlZydgCgkgIGVsc2UKCSAgICAjIGZhc3RfaW5zdGFsbCBpcyBz
ZXQgdG8gbmVlZGxlc3MKCSAgICByZWxpbmtfY29tbWFuZD0KCSAgZmkKCWVs
c2UKCSAgbGlua19jb21tYW5kPSIkY29tcGlsZV92YXIkY29tcGlsZV9jb21t
YW5kJGNvbXBpbGVfcnBhdGgiCgkgIHJlbGlua19jb21tYW5kPSIkZmluYWxp
emVfdmFyJGZpbmFsaXplX2NvbW1hbmQkZmluYWxpemVfcnBhdGgiCglmaQog
ICAgICBmaQoKICAgICAgIyBSZXBsYWNlIHRoZSBvdXRwdXQgZmlsZSBzcGVj
aWZpY2F0aW9uLgogICAgICBsaW5rX2NvbW1hbmQ9YCRFQ0hPICIkbGlua19j
b21tYW5kIiB8ICRTRUQgJ3MlQE9VVFBVVEAlJyIkb3V0cHV0X29iamRpci8k
b3V0cHV0bmFtZSInJWcnYAoKICAgICAgIyBEZWxldGUgdGhlIG9sZCBvdXRw
dXQgZmlsZXMuCiAgICAgICRvcHRfZHJ5X3J1biB8fCAkUk0gJG91dHB1dCAk
b3V0cHV0X29iamRpci8kb3V0cHV0bmFtZSAkb3V0cHV0X29iamRpci9sdC0k
b3V0cHV0bmFtZQoKICAgICAgZnVuY19zaG93X2V2YWwgIiRsaW5rX2NvbW1h
bmQiICdleGl0ICQ/JwoKICAgICAgaWYgdGVzdCAtbiAiJHBvc3RsaW5rX2Nt
ZHMiOyB0aGVuCglmdW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dF9vYmpkaXIv
JG91dHB1dG5hbWUiCglwb3N0bGlua19jbWRzPWBmdW5jX2VjaG9fYWxsICIk
cG9zdGxpbmtfY21kcyIgfCAkU0VEIC1lICdzJUBPVVRQVVRAJSciJG91dHB1
dF9vYmpkaXIvJG91dHB1dG5hbWUiJyVnJyAtZSAncyVAVE9PTF9PVVRQVVRA
JSciJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCInJWcnYAoJZnVuY19leGVj
dXRlX2NtZHMgIiRwb3N0bGlua19jbWRzIiAnZXhpdCAkPycKICAgICAgZmkK
CiAgICAgICMgTm93IGNyZWF0ZSB0aGUgd3JhcHBlciBzY3JpcHQuCiAgICAg
IGZ1bmNfdmVyYm9zZSAiY3JlYXRpbmcgJG91dHB1dCIKCiAgICAgICMgUXVv
dGUgdGhlIHJlbGluayBjb21tYW5kIGZvciBzaGlwcGluZy4KICAgICAgaWYg
dGVzdCAtbiAiJHJlbGlua19jb21tYW5kIjsgdGhlbgoJIyBQcmVzZXJ2ZSBh
bnkgdmFyaWFibGVzIHRoYXQgbWF5IGFmZmVjdCBjb21waWxlciBiZWhhdmlv
cgoJZm9yIHZhciBpbiAkdmFyaWFibGVzX3NhdmVkX2Zvcl9yZWxpbms7IGRv
CgkgIGlmIGV2YWwgdGVzdCAteiBcIlwkeyR2YXIrc2V0fVwiOyB0aGVuCgkg
ICAgcmVsaW5rX2NvbW1hbmQ9InsgdGVzdCAteiBcIlwkeyR2YXIrc2V0fVwi
IHx8ICRsdF91bnNldCAkdmFyIHx8IHsgJHZhcj07IGV4cG9ydCAkdmFyOyB9
OyB9OyAkcmVsaW5rX2NvbW1hbmQiCgkgIGVsaWYgZXZhbCB2YXJfdmFsdWU9
XCQkdmFyOyB0ZXN0IC16ICIkdmFyX3ZhbHVlIjsgdGhlbgoJICAgIHJlbGlu
a19jb21tYW5kPSIkdmFyPTsgZXhwb3J0ICR2YXI7ICRyZWxpbmtfY29tbWFu
ZCIKCSAgZWxzZQoJICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwgIiR2YXJfdmFs
dWUiCgkgICAgcmVsaW5rX2NvbW1hbmQ9IiR2YXI9JGZ1bmNfcXVvdGVfZm9y
X2V2YWxfcmVzdWx0OyBleHBvcnQgJHZhcjsgJHJlbGlua19jb21tYW5kIgoJ
ICBmaQoJZG9uZQoJcmVsaW5rX2NvbW1hbmQ9IihjZCBgcHdkYDsgJHJlbGlu
a19jb21tYW5kKSIKCXJlbGlua19jb21tYW5kPWAkRUNITyAiJHJlbGlua19j
b21tYW5kIiB8ICRTRUQgIiRzZWRfcXVvdGVfc3Vic3QiYAogICAgICBmaQoK
ICAgICAgIyBPbmx5IGFjdHVhbGx5IGRvIHRoaW5ncyBpZiBub3QgaW4gZHJ5
IHJ1biBtb2RlLgogICAgICAkb3B0X2RyeV9ydW4gfHwgewoJIyB3aW4zMiB3
aWxsIHRoaW5rIHRoZSBzY3JpcHQgaXMgYSBiaW5hcnkgaWYgaXQgaGFzCgkj
IGEgLmV4ZSBzdWZmaXgsIHNvIHdlIHN0cmlwIGl0IG9mZiBoZXJlLgoJY2Fz
ZSAkb3V0cHV0IGluCgkgICouZXhlKSBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4
ZScgIiRvdXRwdXQiCgkgICAgICAgICBvdXRwdXQ9JGZ1bmNfc3RyaXBuYW1l
X3Jlc3VsdCA7OwoJZXNhYwoJIyB0ZXN0IGZvciBjeWd3aW4gYmVjYXVzZSBt
diBmYWlscyB3L28gLmV4ZSBleHRlbnNpb25zCgljYXNlICRob3N0IGluCgkg
ICpjeWd3aW4qKQoJICAgIGV4ZWV4dD0uZXhlCgkgICAgZnVuY19zdHJpcG5h
bWUgJycgJy5leGUnICIkb3V0cHV0bmFtZSIKCSAgICBvdXRwdXRuYW1lPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQgOzsKCSAgKikgZXhlZXh0PSA7OwoJZXNh
YwoJY2FzZSAkaG9zdCBpbgoJICAqY3lnd2luKiB8ICptaW5ndyogKQoJICAg
IGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgIiRvdXRwdXQiICIiICIuIgoJ
ICAgIG91dHB1dF9uYW1lPSRmdW5jX2Jhc2VuYW1lX3Jlc3VsdAoJICAgIG91
dHB1dF9wYXRoPSRmdW5jX2Rpcm5hbWVfcmVzdWx0CgkgICAgY3dyYXBwZXJz
b3VyY2U9IiRvdXRwdXRfcGF0aC8kb2JqZGlyL2x0LSRvdXRwdXRfbmFtZS5j
IgoJICAgIGN3cmFwcGVyPSIkb3V0cHV0X3BhdGgvJG91dHB1dF9uYW1lLmV4
ZSIKCSAgICAkUk0gJGN3cmFwcGVyc291cmNlICRjd3JhcHBlcgoJICAgIHRy
YXAgIiRSTSAkY3dyYXBwZXJzb3VyY2UgJGN3cmFwcGVyICRjd3JhcHBlci5t
YW5pZmVzdDsgZXhpdCAkRVhJVF9GQUlMVVJFIiAxIDIgMTUKCgkgICAgZnVu
Y19lbWl0X2N3cmFwcGVyZXhlX3NyYyA+ICRjd3JhcHBlcnNvdXJjZQoKCSAg
ICAjIFRoZSB3cmFwcGVyIGV4ZWN1dGFibGUgaXMgYnVpbHQgdXNpbmcgdGhl
ICRob3N0IGNvbXBpbGVyLAoJICAgICMgYmVjYXVzZSBpdCBjb250YWlucyAk
aG9zdCBwYXRocyBhbmQgZmlsZXMuIElmIGNyb3NzLQoJICAgICMgY29tcGls
aW5nLCBpdCwgbGlrZSB0aGUgdGFyZ2V0IGV4ZWN1dGFibGUsIG11c3QgYmUK
CSAgICAjIGV4ZWN1dGVkIG9uIHRoZSAkaG9zdCBvciB1bmRlciBhbiBlbXVs
YXRpb24gZW52aXJvbm1lbnQuCgkgICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAg
ICAgICRMVENDICRMVENGTEFHUyAtbyAkY3dyYXBwZXIgJGN3cmFwcGVyc291
cmNlCgkgICAgICAkU1RSSVAgJGN3cmFwcGVyCgkgICAgfQoKCSAgICAjIE5v
dywgY3JlYXRlIHRoZSB3cmFwcGVyIHNjcmlwdCBmb3IgZnVuY19zb3VyY2Ug
dXNlOgoJICAgIGZ1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWUgJGN3cmFwcGVy
CgkgICAgJFJNICRmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdAoJ
ICAgIHRyYXAgIiRSTSAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1
bHQ7IGV4aXQgJEVYSVRfRkFJTFVSRSIgMSAyIDE1CgkgICAgJG9wdF9kcnlf
cnVuIHx8IHsKCSAgICAgICMgbm90ZTogdGhpcyBzY3JpcHQgd2lsbCBub3Qg
YmUgZXhlY3V0ZWQsIHNvIGRvIG5vdCBjaG1vZC4KCSAgICAgIGlmIHRlc3Qg
IngkYnVpbGQiID0gIngkaG9zdCIgOyB0aGVuCgkJIyBDcmVhdGUgdGhlIFVB
QyBtYW5pZmVzdHMgZmlyc3QgaWYgbmVjZXNzYXJ5IChidXQgdGhlCgkJIyBt
YW5pZmVzdCBmaWxlcyBtdXN0IGhhdmUgZXhlY3V0YWJsZSBwZXJtaXNzaW9u
IHJlZ2FyZGxlc3MpLgoJCWNhc2UgJG91dHB1dF9uYW1lIGluCgkJICAqaW5z
dGFsKnwqcGF0Y2gqfCpzZXR1cCp8KnVwZGF0ZSopCgkJICAgIGZ1bmNfZW1p
dF9leGVfbWFuaWZlc3QgPiAkY3dyYXBwZXIubWFuaWZlc3QKCQkgICAgZnVu
Y19lbWl0X2V4ZV9tYW5pZmVzdCA+ICRvdXRwdXRfcGF0aC8kb2JqZGlyLyRv
dXRwdXRfbmFtZS5leGUubWFuaWZlc3QKCQkgICAgY2htb2QgK3ggJGN3cmFw
cGVyLm1hbmlmZXN0CgkJICAgIGNobW9kICt4ICRvdXRwdXRfcGF0aC8kb2Jq
ZGlyLyRvdXRwdXRfbmFtZS5leGUubWFuaWZlc3QKCQkgIDs7CgkJZXNhYwoJ
CSRjd3JhcHBlciAtLWx0LWR1bXAtc2NyaXB0ID4gJGZ1bmNfbHR3cmFwcGVy
X3NjcmlwdG5hbWVfcmVzdWx0CgkgICAgICBlbHNlCgkJZnVuY19lbWl0X3dy
YXBwZXIgbm8gPiAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQK
CSAgICAgIGZpCgkgICAgfQoJICA7OwoJICAqICkKCSAgICAkUk0gJG91dHB1
dAoJICAgIHRyYXAgIiRSTSAkb3V0cHV0OyBleGl0ICRFWElUX0ZBSUxVUkUi
IDEgMiAxNQoKCSAgICBmdW5jX2VtaXRfd3JhcHBlciBubyA+ICRvdXRwdXQK
CSAgICBjaG1vZCAreCAkb3V0cHV0CgkgIDs7Cgllc2FjCiAgICAgIH0KICAg
ICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICAgIDs7CiAgICBlc2FjCgogICAg
IyBTZWUgaWYgd2UgbmVlZCB0byBidWlsZCBhbiBvbGQtZmFzaGlvbmVkIGFy
Y2hpdmUuCiAgICBmb3Igb2xkbGliIGluICRvbGRsaWJzOyBkbwoKICAgICAg
aWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBjb252ZW5pZW5jZTsg
dGhlbgoJb2xkb2Jqcz0iJGxpYm9ianNfc2F2ZSAkc3ltZmlsZW9iaiIKCWFk
ZGxpYnM9IiRjb252ZW5pZW5jZSIKCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwog
ICAgICBlbHNlCglpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IG1v
ZHVsZTsgdGhlbgoJICBvbGRvYmpzPSIkbGlib2Jqc19zYXZlIgoJICBidWls
ZF9saWJ0b29sX2xpYnM9bm8KCWVsc2UKCSAgb2xkb2Jqcz0iJG9sZF9kZXBs
aWJzICRub25fcGljX29iamVjdHMiCgkgIGlmIHRlc3QgIiRwcmVsb2FkIiA9
IHllcyAmJiB0ZXN0IC1mICIkc3ltZmlsZW9iaiI7IHRoZW4KCSAgICBvbGRv
YmpzKz0iICRzeW1maWxlb2JqIgoJICBmaQoJZmkKCWFkZGxpYnM9IiRvbGRf
Y29udmVuaWVuY2UiCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1uICIkYWRk
bGlicyI7IHRoZW4KCWdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRu
YW1lfXgiCglnZW5lcmF0ZWQrPSIgJGdlbnRvcCIKCglmdW5jX2V4dHJhY3Rf
YXJjaGl2ZXMgJGdlbnRvcCAkYWRkbGlicwoJb2xkb2Jqcys9IiAkZnVuY19l
eHRyYWN0X2FyY2hpdmVzX3Jlc3VsdCIKICAgICAgZmkKCiAgICAgICMgRG8g
ZWFjaCBjb21tYW5kIGluIHRoZSBhcmNoaXZlIGNvbW1hbmRzLgogICAgICBp
ZiB0ZXN0IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kcyIgJiYgdGVz
dCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCWNtZHM9JG9s
ZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHMKICAgICAgZWxzZQoKCSMgQWRkIGFu
eSBvYmplY3RzIGZyb20gcHJlbG9hZGVkIGNvbnZlbmllbmNlIGxpYnJhcmll
cwoJaWYgdGVzdCAtbiAiJGRscHJlZmlsZXMiOyB0aGVuCgkgIGdlbnRvcD0i
JG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgIGdlbmVyYXRlZCs9
IiAkZ2VudG9wIgoKCSAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRnZW50b3Ag
JGRscHJlZmlsZXMKCSAgb2xkb2Jqcys9IiAkZnVuY19leHRyYWN0X2FyY2hp
dmVzX3Jlc3VsdCIKCWZpCgoJIyBQT1NJWCBkZW1hbmRzIG5vIHBhdGhzIHRv
IGJlIGVuY29kZWQgaW4gYXJjaGl2ZXMuICBXZSBoYXZlCgkjIHRvIGF2b2lk
IGNyZWF0aW5nIGFyY2hpdmVzIHdpdGggZHVwbGljYXRlIGJhc2VuYW1lcyBp
ZiB3ZQoJIyBtaWdodCBoYXZlIHRvIGV4dHJhY3QgdGhlbSBhZnRlcndhcmRz
LCBlLmcuLCB3aGVuIGNyZWF0aW5nIGEKCSMgc3RhdGljIGFyY2hpdmUgb3V0
IG9mIGEgY29udmVuaWVuY2UgbGlicmFyeSwgb3Igd2hlbiBsaW5raW5nCgkj
IHRoZSBlbnRpcmV0eSBvZiBhIGxpYnRvb2wgYXJjaGl2ZSBpbnRvIGFub3Ro
ZXIgKGN1cnJlbnRseQoJIyBub3Qgc3VwcG9ydGVkIGJ5IGxpYnRvb2wpLgoJ
aWYgKGZvciBvYmogaW4gJG9sZG9ianMKCSAgICBkbwoJICAgICAgZnVuY19i
YXNlbmFtZSAiJG9iaiIKCSAgICAgICRFQ0hPICIkZnVuY19iYXNlbmFtZV9y
ZXN1bHQiCgkgICAgZG9uZSB8IHNvcnQgfCBzb3J0IC11YyA+L2Rldi9udWxs
IDI+JjEpOyB0aGVuCgkgIDoKCWVsc2UKCSAgZWNobyAiY29weWluZyBzZWxl
Y3RlZCBvYmplY3QgZmlsZXMgdG8gYXZvaWQgYmFzZW5hbWUgY29uZmxpY3Rz
Li4uIgoJICBnZW50b3A9IiRvdXRwdXRfb2JqZGlyLyR7b3V0cHV0bmFtZX14
IgoJICBnZW5lcmF0ZWQrPSIgJGdlbnRvcCIKCSAgZnVuY19ta2Rpcl9wICIk
Z2VudG9wIgoJICBzYXZlX29sZG9ianM9JG9sZG9ianMKCSAgb2xkb2Jqcz0K
CSAgY291bnRlcj0xCgkgIGZvciBvYmogaW4gJHNhdmVfb2xkb2JqcwoJICBk
bwoJICAgIGZ1bmNfYmFzZW5hbWUgIiRvYmoiCgkgICAgb2JqYmFzZT0iJGZ1
bmNfYmFzZW5hbWVfcmVzdWx0IgoJICAgIGNhc2UgIiAkb2xkb2JqcyAiIGlu
CgkgICAgIiAiKSBvbGRvYmpzPSRvYmogOzsKCSAgICAqW1wgL10iJG9iamJh
c2UgIiopCgkgICAgICB3aGlsZSA6OyBkbwoJCSMgTWFrZSBzdXJlIHdlIGRv
bid0IHBpY2sgYW4gYWx0ZXJuYXRlIG5hbWUgdGhhdCBhbHNvCgkJIyBvdmVy
bGFwcy4KCQluZXdvYmo9bHQkY291bnRlci0kb2JqYmFzZQoJCWZ1bmNfYXJp
dGggJGNvdW50ZXIgKyAxCgkJY291bnRlcj0kZnVuY19hcml0aF9yZXN1bHQK
CQljYXNlICIgJG9sZG9ianMgIiBpbgoJCSpbXCAvXSIkbmV3b2JqICIqKSA7
OwoJCSopIGlmIHRlc3QgISAtZiAiJGdlbnRvcC8kbmV3b2JqIjsgdGhlbiBi
cmVhazsgZmkgOzsKCQllc2FjCgkgICAgICBkb25lCgkgICAgICBmdW5jX3No
b3dfZXZhbCAibG4gJG9iaiAkZ2VudG9wLyRuZXdvYmogfHwgY3AgJG9iaiAk
Z2VudG9wLyRuZXdvYmoiCgkgICAgICBvbGRvYmpzKz0iICRnZW50b3AvJG5l
d29iaiIKCSAgICAgIDs7CgkgICAgKikgb2xkb2Jqcys9IiAkb2JqIiA7OwoJ
ICAgIGVzYWMKCSAgZG9uZQoJZmkKCWV2YWwgY21kcz1cIiRvbGRfYXJjaGl2
ZV9jbWRzXCIKCglmdW5jX2xlbiAiICRjbWRzIgoJbGVuPSRmdW5jX2xlbl9y
ZXN1bHQKCWlmIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVuIiB8fCB0
ZXN0ICIkbWF4X2NtZF9sZW4iIC1sZSAtMTsgdGhlbgoJICBjbWRzPSRvbGRf
YXJjaGl2ZV9jbWRzCgllbGlmIHRlc3QgLW4gIiRhcmNoaXZlcl9saXN0X3Nw
ZWMiOyB0aGVuCgkgIGZ1bmNfdmVyYm9zZSAidXNpbmcgY29tbWFuZCBmaWxl
IGFyY2hpdmUgbGlua2luZy4uLiIKCSAgZm9yIG9iaiBpbiAkb2xkb2JqcwoJ
ICBkbwoJICAgIGZ1bmNfdG9fdG9vbF9maWxlICIkb2JqIgoJICAgICRFQ0hP
ICIkZnVuY190b190b29sX2ZpbGVfcmVzdWx0IgoJICBkb25lID4gJG91dHB1
dF9vYmpkaXIvJGxpYm5hbWUubGliY21kCgkgIGZ1bmNfdG9fdG9vbF9maWxl
ICIkb3V0cHV0X29iamRpci8kbGlibmFtZS5saWJjbWQiCgkgIG9sZG9ianM9
IiAkYXJjaGl2ZXJfbGlzdF9zcGVjJGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3Vs
dCIKCSAgY21kcz0kb2xkX2FyY2hpdmVfY21kcwoJZWxzZQoJICAjIHRoZSBj
b21tYW5kIGxpbmUgaXMgdG9vIGxvbmcgdG8gbGluayBpbiBvbmUgc3RlcCwg
bGluayBpbiBwYXJ0cwoJICBmdW5jX3ZlcmJvc2UgInVzaW5nIHBpZWNld2lz
ZSBhcmNoaXZlIGxpbmtpbmcuLi4iCgkgIHNhdmVfUkFOTElCPSRSQU5MSUIK
CSAgUkFOTElCPToKCSAgb2JqbGlzdD0KCSAgY29uY2F0X2NtZHM9CgkgIHNh
dmVfb2xkb2Jqcz0kb2xkb2JqcwoJICBvbGRvYmpzPQoJICAjIElzIHRoZXJl
IGEgYmV0dGVyIHdheSBvZiBmaW5kaW5nIHRoZSBsYXN0IG9iamVjdCBpbiB0
aGUgbGlzdD8KCSAgZm9yIG9iaiBpbiAkc2F2ZV9vbGRvYmpzCgkgIGRvCgkg
ICAgbGFzdF9vbGRvYmo9JG9iagoJICBkb25lCgkgIGV2YWwgdGVzdF9jbWRz
PVwiJG9sZF9hcmNoaXZlX2NtZHNcIgoJICBmdW5jX2xlbiAiICR0ZXN0X2Nt
ZHMiCgkgIGxlbjA9JGZ1bmNfbGVuX3Jlc3VsdAoJICBsZW49JGxlbjAKCSAg
Zm9yIG9iaiBpbiAkc2F2ZV9vbGRvYmpzCgkgIGRvCgkgICAgZnVuY19sZW4g
IiAkb2JqIgoJICAgIGZ1bmNfYXJpdGggJGxlbiArICRmdW5jX2xlbl9yZXN1
bHQKCSAgICBsZW49JGZ1bmNfYXJpdGhfcmVzdWx0CgkgICAgb2JqbGlzdCs9
IiAkb2JqIgoJICAgIGlmIHRlc3QgIiRsZW4iIC1sdCAiJG1heF9jbWRfbGVu
IjsgdGhlbgoJICAgICAgOgoJICAgIGVsc2UKCSAgICAgICMgdGhlIGFib3Zl
IGNvbW1hbmQgc2hvdWxkIGJlIHVzZWQgYmVmb3JlIGl0IGdldHMgdG9vIGxv
bmcKCSAgICAgIG9sZG9ianM9JG9iamxpc3QKCSAgICAgIGlmIHRlc3QgIiRv
YmoiID0gIiRsYXN0X29sZG9iaiIgOyB0aGVuCgkJUkFOTElCPSRzYXZlX1JB
TkxJQgoJICAgICAgZmkKCSAgICAgIHRlc3QgLXogIiRjb25jYXRfY21kcyIg
fHwgY29uY2F0X2NtZHM9JGNvbmNhdF9jbWRzfgoJICAgICAgZXZhbCBjb25j
YXRfY21kcz1cIlwke2NvbmNhdF9jbWRzfSRvbGRfYXJjaGl2ZV9jbWRzXCIK
CSAgICAgIG9iamxpc3Q9CgkgICAgICBsZW49JGxlbjAKCSAgICBmaQoJICBk
b25lCgkgIFJBTkxJQj0kc2F2ZV9SQU5MSUIKCSAgb2xkb2Jqcz0kb2JqbGlz
dAoJICBpZiB0ZXN0ICJYJG9sZG9ianMiID0gIlgiIDsgdGhlbgoJICAgIGV2
YWwgY21kcz1cIlwkY29uY2F0X2NtZHNcIgoJICBlbHNlCgkgICAgZXZhbCBj
bWRzPVwiXCRjb25jYXRfY21kc35cJG9sZF9hcmNoaXZlX2NtZHNcIgoJICBm
aQoJZmkKICAgICAgZmkKICAgICAgZnVuY19leGVjdXRlX2NtZHMgIiRjbWRz
IiAnZXhpdCAkPycKICAgIGRvbmUKCiAgICB0ZXN0IC1uICIkZ2VuZXJhdGVk
IiAmJiBcCiAgICAgIGZ1bmNfc2hvd19ldmFsICIke1JNfXIkZ2VuZXJhdGVk
IgoKICAgICMgTm93IGNyZWF0ZSB0aGUgbGlidG9vbCBhcmNoaXZlLgogICAg
Y2FzZSAkb3V0cHV0IGluCiAgICAqLmxhKQogICAgICBvbGRfbGlicmFyeT0K
ICAgICAgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllcyAmJiBvbGRfbGli
cmFyeT0iJGxpYm5hbWUuJGxpYmV4dCIKICAgICAgZnVuY192ZXJib3NlICJj
cmVhdGluZyAkb3V0cHV0IgoKICAgICAgIyBQcmVzZXJ2ZSBhbnkgdmFyaWFi
bGVzIHRoYXQgbWF5IGFmZmVjdCBjb21waWxlciBiZWhhdmlvcgogICAgICBm
b3IgdmFyIGluICR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluazsgZG8KCWlm
IGV2YWwgdGVzdCAteiBcIlwkeyR2YXIrc2V0fVwiOyB0aGVuCgkgIHJlbGlu
a19jb21tYW5kPSJ7IHRlc3QgLXogXCJcJHskdmFyK3NldH1cIiB8fCAkbHRf
dW5zZXQgJHZhciB8fCB7ICR2YXI9OyBleHBvcnQgJHZhcjsgfTsgfTsgJHJl
bGlua19jb21tYW5kIgoJZWxpZiBldmFsIHZhcl92YWx1ZT1cJCR2YXI7IHRl
c3QgLXogIiR2YXJfdmFsdWUiOyB0aGVuCgkgIHJlbGlua19jb21tYW5kPSIk
dmFyPTsgZXhwb3J0ICR2YXI7ICRyZWxpbmtfY29tbWFuZCIKCWVsc2UKCSAg
ZnVuY19xdW90ZV9mb3JfZXZhbCAiJHZhcl92YWx1ZSIKCSAgcmVsaW5rX2Nv
bW1hbmQ9IiR2YXI9JGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0OyBleHBv
cnQgJHZhcjsgJHJlbGlua19jb21tYW5kIgoJZmkKICAgICAgZG9uZQogICAg
ICAjIFF1b3RlIHRoZSBsaW5rIGNvbW1hbmQgZm9yIHNoaXBwaW5nLgogICAg
ICByZWxpbmtfY29tbWFuZD0iKGNkIGBwd2RgOyAkU0hFTEwgJHByb2dwYXRo
ICRwcmVzZXJ2ZV9hcmdzIC0tbW9kZT1yZWxpbmsgJGxpYnRvb2xfYXJncyBA
aW5zdF9wcmVmaXhfZGlyQCkiCiAgICAgIHJlbGlua19jb21tYW5kPWAkRUNI
TyAiJHJlbGlua19jb21tYW5kIiB8ICRTRUQgIiRzZWRfcXVvdGVfc3Vic3Qi
YAogICAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfYXV0b21hdGljIiA9IHllcyA7
IHRoZW4KCXJlbGlua19jb21tYW5kPQogICAgICBmaQoKICAgICAgIyBPbmx5
IGNyZWF0ZSB0aGUgb3V0cHV0IGlmIG5vdCBhIGRyeSBydW4uCiAgICAgICRv
cHRfZHJ5X3J1biB8fCB7Cglmb3IgaW5zdGFsbGVkIGluIG5vIHllczsgZG8K
CSAgaWYgdGVzdCAiJGluc3RhbGxlZCIgPSB5ZXM7IHRoZW4KCSAgICBpZiB0
ZXN0IC16ICIkaW5zdGFsbF9saWJkaXIiOyB0aGVuCgkgICAgICBicmVhawoJ
ICAgIGZpCgkgICAgb3V0cHV0PSIkb3V0cHV0X29iamRpci8kb3V0cHV0bmFt
ZSJpCgkgICAgIyBSZXBsYWNlIGFsbCB1bmluc3RhbGxlZCBsaWJ0b29sIGxp
YnJhcmllcyB3aXRoIHRoZSBpbnN0YWxsZWQgb25lcwoJICAgIG5ld2RlcGVu
ZGVuY3lfbGlicz0KCSAgICBmb3IgZGVwbGliIGluICRkZXBlbmRlbmN5X2xp
YnM7IGRvCgkgICAgICBjYXNlICRkZXBsaWIgaW4KCSAgICAgICoubGEpCgkJ
ZnVuY19iYXNlbmFtZSAiJGRlcGxpYiIKCQluYW1lPSIkZnVuY19iYXNlbmFt
ZV9yZXN1bHQiCgkJZXZhbCBsaWJkaXI9YCR7U0VEfSAtbiAtZSAncy9ebGli
ZGlyPVwoLipcKSQvXDEvcCcgJGRlcGxpYmAKCQl0ZXN0IC16ICIkbGliZGly
IiAmJiBcCgkJICBmdW5jX2ZhdGFsX2Vycm9yICJcYCRkZXBsaWInIGlzIG5v
dCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIKCQluZXdkZXBlbmRlbmN5X2xp
YnMrPSIgJHtsdF9zeXNyb290Ois9fSRsaWJkaXIvJG5hbWUiCgkJOzsKCSAg
ICAgIC1MKikKCQlmdW5jX3N0cmlwbmFtZSAtTCAnJyAiJGRlcGxpYiIKCQlm
dW5jX3JlcGxhY2Vfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIK
CQluZXdkZXBlbmRlbmN5X2xpYnMrPSIgLUwkZnVuY19yZXBsYWNlX3N5c3Jv
b3RfcmVzdWx0IgoJCTs7CgkgICAgICAtUiopCgkJZnVuY19zdHJpcG5hbWUg
LVIgJycgIiRkZXBsaWIiCgkJZnVuY19yZXBsYWNlX3N5c3Jvb3QgIiRmdW5j
X3N0cmlwbmFtZV9yZXN1bHQiCgkJbmV3ZGVwZW5kZW5jeV9saWJzKz0iIC1S
JGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdCIKCQk7OwoJICAgICAgKikg
bmV3ZGVwZW5kZW5jeV9saWJzKz0iICRkZXBsaWIiIDs7CgkgICAgICBlc2Fj
CgkgICAgZG9uZQoJICAgIGRlcGVuZGVuY3lfbGlicz0iJG5ld2RlcGVuZGVu
Y3lfbGlicyIKCSAgICBuZXdkbGZpbGVzPQoKCSAgICBmb3IgbGliIGluICRk
bGZpbGVzOyBkbwoJICAgICAgY2FzZSAkbGliIGluCgkgICAgICAqLmxhKQoJ
ICAgICAgICBmdW5jX2Jhc2VuYW1lICIkbGliIgoJCW5hbWU9IiRmdW5jX2Jh
c2VuYW1lX3Jlc3VsdCIKCQlldmFsIGxpYmRpcj1gJHtTRUR9IC1uIC1lICdz
L15saWJkaXI9XCguKlwpJC9cMS9wJyAkbGliYAoJCXRlc3QgLXogIiRsaWJk
aXIiICYmIFwKCQkgIGZ1bmNfZmF0YWxfZXJyb3IgIlxgJGxpYicgaXMgbm90
IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIgoJCW5ld2RsZmlsZXMrPSIgJHts
dF9zeXNyb290Ois9fSRsaWJkaXIvJG5hbWUiCgkJOzsKCSAgICAgICopIG5l
d2RsZmlsZXMrPSIgJGxpYiIgOzsKCSAgICAgIGVzYWMKCSAgICBkb25lCgkg
ICAgZGxmaWxlcz0iJG5ld2RsZmlsZXMiCgkgICAgbmV3ZGxwcmVmaWxlcz0K
CSAgICBmb3IgbGliIGluICRkbHByZWZpbGVzOyBkbwoJICAgICAgY2FzZSAk
bGliIGluCgkgICAgICAqLmxhKQoJCSMgT25seSBwYXNzIHByZW9wZW5lZCBm
aWxlcyB0byB0aGUgcHNldWRvLWFyY2hpdmUgKGZvcgoJCSMgZXZlbnR1YWwg
bGlua2luZyB3aXRoIHRoZSBhcHAuIHRoYXQgbGlua3MgaXQpIGlmIHdlCgkJ
IyBkaWRuJ3QgYWxyZWFkeSBsaW5rIHRoZSBwcmVvcGVuZWQgb2JqZWN0cyBk
aXJlY3RseSBpbnRvCgkJIyB0aGUgbGlicmFyeToKCQlmdW5jX2Jhc2VuYW1l
ICIkbGliIgoJCW5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKCQlldmFs
IGxpYmRpcj1gJHtTRUR9IC1uIC1lICdzL15saWJkaXI9XCguKlwpJC9cMS9w
JyAkbGliYAoJCXRlc3QgLXogIiRsaWJkaXIiICYmIFwKCQkgIGZ1bmNfZmF0
YWxfZXJyb3IgIlxgJGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNo
aXZlIgoJCW5ld2RscHJlZmlsZXMrPSIgJHtsdF9zeXNyb290Ois9fSRsaWJk
aXIvJG5hbWUiCgkJOzsKCSAgICAgIGVzYWMKCSAgICBkb25lCgkgICAgZGxw
cmVmaWxlcz0iJG5ld2RscHJlZmlsZXMiCgkgIGVsc2UKCSAgICBuZXdkbGZp
bGVzPQoJICAgIGZvciBsaWIgaW4gJGRsZmlsZXM7IGRvCgkgICAgICBjYXNl
ICRsaWIgaW4KCQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIGFicz0iJGxp
YiIgOzsKCQkqKSBhYnM9YHB3ZGAiLyRsaWIiIDs7CgkgICAgICBlc2FjCgkg
ICAgICBuZXdkbGZpbGVzKz0iICRhYnMiCgkgICAgZG9uZQoJICAgIGRsZmls
ZXM9IiRuZXdkbGZpbGVzIgoJICAgIG5ld2RscHJlZmlsZXM9CgkgICAgZm9y
IGxpYiBpbiAkZGxwcmVmaWxlczsgZG8KCSAgICAgIGNhc2UgJGxpYiBpbgoJ
CVtcXC9dKiB8IFtBLVphLXpdOltcXC9dKikgYWJzPSIkbGliIiA7OwoJCSop
IGFicz1gcHdkYCIvJGxpYiIgOzsKCSAgICAgIGVzYWMKCSAgICAgIG5ld2Rs
cHJlZmlsZXMrPSIgJGFicyIKCSAgICBkb25lCgkgICAgZGxwcmVmaWxlcz0i
JG5ld2RscHJlZmlsZXMiCgkgIGZpCgkgICRSTSAkb3V0cHV0CgkgICMgcGxh
Y2UgZGxuYW1lIGluIGNvcnJlY3QgcG9zaXRpb24gZm9yIGN5Z3dpbgoJICAj
IEluIGZhY3QsIGl0IHdvdWxkIGJlIG5pY2UgaWYgd2UgY291bGQgdXNlIHRo
aXMgY29kZSBmb3IgYWxsIHRhcmdldAoJICAjIHN5c3RlbXMgdGhhdCBjYW4n
dCBoYXJkLWNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHRoZWlyIGV4ZWN1dGFi
bGVzCgkgICMgYW5kIHRoYXQgaGF2ZSBubyBzaGFyZWQgbGlicmFyeSBwYXRo
IHZhcmlhYmxlIGluZGVwZW5kZW50IG9mIFBBVEgsCgkgICMgYnV0IGl0IHR1
cm5zIG91dCB3ZSBjYW4ndCBlYXNpbHkgZGV0ZXJtaW5lIHRoYXQgZnJvbSBp
bnNwZWN0aW5nCgkgICMgbGlidG9vbCB2YXJpYWJsZXMsIHNvIHdlIGhhdmUg
dG8gaGFyZC1jb2RlIHRoZSBPU3MgdG8gd2hpY2ggaXQKCSAgIyBhcHBsaWVz
IGhlcmU7IGF0IHRoZSBtb21lbnQsIHRoYXQgbWVhbnMgcGxhdGZvcm1zIHRo
YXQgdXNlIHRoZSBQRQoJICAjIG9iamVjdCBmb3JtYXQgd2l0aCBETEwgZmls
ZXMuICBTZWUgdGhlIGxvbmcgY29tbWVudCBhdCB0aGUgdG9wIG9mCgkgICMg
dGVzdHMvYmluZGlyLmF0IGZvciBmdWxsIGRldGFpbHMuCgkgIHRkbG5hbWU9
JGRsbmFtZQoJICBjYXNlICRob3N0LCRvdXRwdXQsJGluc3RhbGxlZCwkbW9k
dWxlLCRkbG5hbWUgaW4KCSAgICAqY3lnd2luKiwqbGFpLHllcyxubywqLmRs
bCB8ICptaW5ndyosKmxhaSx5ZXMsbm8sKi5kbGwgfCAqY2VnY2MqLCpsYWks
eWVzLG5vLCouZGxsKQoJICAgICAgIyBJZiBhIC1iaW5kaXIgYXJndW1lbnQg
d2FzIHN1cHBsaWVkLCBwbGFjZSB0aGUgZGxsIHRoZXJlLgoJICAgICAgaWYg
dGVzdCAieCRiaW5kaXIiICE9IHggOwoJICAgICAgdGhlbgoJCWZ1bmNfcmVs
YXRpdmVfcGF0aCAiJGluc3RhbGxfbGliZGlyIiAiJGJpbmRpciIKCQl0ZGxu
YW1lPSRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0JGRsbmFtZQoJICAgICAg
ZWxzZQoJCSMgT3RoZXJ3aXNlIGZhbGwgYmFjayBvbiBoZXVyaXN0aWMuCgkJ
dGRsbmFtZT0uLi9iaW4vJGRsbmFtZQoJICAgICAgZmkKCSAgICAgIDs7Cgkg
IGVzYWMKCSAgJEVDSE8gPiAkb3V0cHV0ICJcCiMgJG91dHB1dG5hbWUgLSBh
IGxpYnRvb2wgbGlicmFyeSBmaWxlCiMgR2VuZXJhdGVkIGJ5ICRQUk9HUkFN
IChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVSU0lPTgojCiMgUGxlYXNl
IERPIE5PVCBkZWxldGUgdGhpcyBmaWxlIQojIEl0IGlzIG5lY2Vzc2FyeSBm
b3IgbGlua2luZyB0aGUgbGlicmFyeS4KCiMgVGhlIG5hbWUgdGhhdCB3ZSBj
YW4gZGxvcGVuKDMpLgpkbG5hbWU9JyR0ZGxuYW1lJwoKIyBOYW1lcyBvZiB0
aGlzIGxpYnJhcnkuCmxpYnJhcnlfbmFtZXM9JyRsaWJyYXJ5X25hbWVzJwoK
IyBUaGUgbmFtZSBvZiB0aGUgc3RhdGljIGFyY2hpdmUuCm9sZF9saWJyYXJ5
PSckb2xkX2xpYnJhcnknCgojIExpbmtlciBmbGFncyB0aGF0IGNhbiBub3Qg
Z28gaW4gZGVwZW5kZW5jeV9saWJzLgppbmhlcml0ZWRfbGlua2VyX2ZsYWdz
PSckbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MnCgojIExpYnJhcmllcyB0
aGF0IHRoaXMgb25lIGRlcGVuZHMgdXBvbi4KZGVwZW5kZW5jeV9saWJzPSck
ZGVwZW5kZW5jeV9saWJzJwoKIyBOYW1lcyBvZiBhZGRpdGlvbmFsIHdlYWsg
bGlicmFyaWVzIHByb3ZpZGVkIGJ5IHRoaXMgbGlicmFyeQp3ZWFrX2xpYnJh
cnlfbmFtZXM9JyR3ZWFrX2xpYnMnCgojIFZlcnNpb24gaW5mb3JtYXRpb24g
Zm9yICRsaWJuYW1lLgpjdXJyZW50PSRjdXJyZW50CmFnZT0kYWdlCnJldmlz
aW9uPSRyZXZpc2lvbgoKIyBJcyB0aGlzIGFuIGFscmVhZHkgaW5zdGFsbGVk
IGxpYnJhcnk/Cmluc3RhbGxlZD0kaW5zdGFsbGVkCgojIFNob3VsZCB3ZSB3
YXJuIGFib3V0IHBvcnRhYmlsaXR5IHdoZW4gbGlua2luZyBhZ2FpbnN0IC1t
b2R1bGVzPwpzaG91bGRub3RsaW5rPSRtb2R1bGUKCiMgRmlsZXMgdG8gZGxv
cGVuL2RscHJlb3BlbgpkbG9wZW49JyRkbGZpbGVzJwpkbHByZW9wZW49JyRk
bHByZWZpbGVzJwoKIyBEaXJlY3RvcnkgdGhhdCB0aGlzIGxpYnJhcnkgbmVl
ZHMgdG8gYmUgaW5zdGFsbGVkIGluOgpsaWJkaXI9JyRpbnN0YWxsX2xpYmRp
ciciCgkgIGlmIHRlc3QgIiRpbnN0YWxsZWQiID0gbm8gJiYgdGVzdCAiJG5l
ZWRfcmVsaW5rIiA9IHllczsgdGhlbgoJICAgICRFQ0hPID4+ICRvdXRwdXQg
IlwKcmVsaW5rX2NvbW1hbmQ9XCIkcmVsaW5rX2NvbW1hbmRcIiIKCSAgZmkK
CWRvbmUKICAgICAgfQoKICAgICAgIyBEbyBhIHN5bWJvbGljIGxpbmsgc28g
dGhhdCB0aGUgbGlidG9vbCBhcmNoaXZlIGNhbiBiZSBmb3VuZCBpbgogICAg
ICAjIExEX0xJQlJBUllfUEFUSCBiZWZvcmUgdGhlIHByb2dyYW0gaXMgaW5z
dGFsbGVkLgogICAgICBmdW5jX3Nob3dfZXZhbCAnKCBjZCAiJG91dHB1dF9v
YmpkaXIiICYmICRSTSAiJG91dHB1dG5hbWUiICYmICRMTl9TICIuLi8kb3V0
cHV0bmFtZSIgIiRvdXRwdXRuYW1lIiApJyAnZXhpdCAkPycKICAgICAgOzsK
ICAgIGVzYWMKICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwp9Cgp7IHRlc3QgIiRv
cHRfbW9kZSIgPSBsaW5rIHx8IHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7
IH0gJiYKICAgIGZ1bmNfbW9kZV9saW5rICR7MSsiJEAifQoKCiMgZnVuY19t
b2RlX3VuaW5zdGFsbCBhcmcuLi4KZnVuY19tb2RlX3VuaW5zdGFsbCAoKQp7
CiAgICAkb3B0X2RlYnVnCiAgICBSTT0iJG5vbm9wdCIKICAgIGZpbGVzPQog
ICAgcm1mb3JjZT0KICAgIGV4aXRfc3RhdHVzPTAKCiAgICAjIFRoaXMgdmFy
aWFibGUgdGVsbHMgd3JhcHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0IHZhcmlh
YmxlcyByYXRoZXIKICAgICMgdGhhbiBydW5uaW5nIHRoZWlyIHByb2dyYW1z
LgogICAgbGlidG9vbF9pbnN0YWxsX21hZ2ljPSIkbWFnaWMiCgogICAgZm9y
IGFyZwogICAgZG8KICAgICAgY2FzZSAkYXJnIGluCiAgICAgIC1mKSBSTSs9
IiAkYXJnIjsgcm1mb3JjZT15ZXMgOzsKICAgICAgLSopIFJNKz0iICRhcmci
IDs7CiAgICAgICopIGZpbGVzKz0iICRhcmciIDs7CiAgICAgIGVzYWMKICAg
IGRvbmUKCiAgICB0ZXN0IC16ICIkUk0iICYmIFwKICAgICAgZnVuY19mYXRh
bF9oZWxwICJ5b3UgbXVzdCBzcGVjaWZ5IGFuIFJNIHByb2dyYW0iCgogICAg
cm1kaXJzPQoKICAgIGZvciBmaWxlIGluICRmaWxlczsgZG8KICAgICAgZnVu
Y19kaXJuYW1lICIkZmlsZSIgIiIgIi4iCiAgICAgIGRpcj0iJGZ1bmNfZGly
bmFtZV9yZXN1bHQiCiAgICAgIGlmIHRlc3QgIlgkZGlyIiA9IFguOyB0aGVu
CglvZGlyPSIkb2JqZGlyIgogICAgICBlbHNlCglvZGlyPSIkZGlyLyRvYmpk
aXIiCiAgICAgIGZpCiAgICAgIGZ1bmNfYmFzZW5hbWUgIiRmaWxlIgogICAg
ICBuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCiAgICAgIHRlc3QgIiRv
cHRfbW9kZSIgPSB1bmluc3RhbGwgJiYgb2Rpcj0iJGRpciIKCiAgICAgICMg
UmVtZW1iZXIgb2RpciBmb3IgcmVtb3ZhbCBsYXRlciwgYmVpbmcgY2FyZWZ1
bCB0byBhdm9pZCBkdXBsaWNhdGVzCiAgICAgIGlmIHRlc3QgIiRvcHRfbW9k
ZSIgPSBjbGVhbjsgdGhlbgoJY2FzZSAiICRybWRpcnMgIiBpbgoJICAqIiAk
b2RpciAiKikgOzsKCSAgKikgcm1kaXJzKz0iICRvZGlyIiA7OwoJZXNhYwog
ICAgICBmaQoKICAgICAgIyBEb24ndCBlcnJvciBpZiB0aGUgZmlsZSBkb2Vz
bid0IGV4aXN0IGFuZCBybSAtZiB3YXMgdXNlZC4KICAgICAgaWYgeyB0ZXN0
IC1MICIkZmlsZSI7IH0gPi9kZXYvbnVsbCAyPiYxIHx8CgkgeyB0ZXN0IC1o
ICIkZmlsZSI7IH0gPi9kZXYvbnVsbCAyPiYxIHx8CgkgdGVzdCAtZiAiJGZp
bGUiOyB0aGVuCgk6CiAgICAgIGVsaWYgdGVzdCAtZCAiJGZpbGUiOyB0aGVu
CglleGl0X3N0YXR1cz0xCgljb250aW51ZQogICAgICBlbGlmIHRlc3QgIiRy
bWZvcmNlIiA9IHllczsgdGhlbgoJY29udGludWUKICAgICAgZmkKCiAgICAg
IHJtZmlsZXM9IiRmaWxlIgoKICAgICAgY2FzZSAkbmFtZSBpbgogICAgICAq
LmxhKQoJIyBQb3NzaWJseSBhIGxpYnRvb2wgYXJjaGl2ZSwgc28gdmVyaWZ5
IGl0LgoJaWYgZnVuY19sYWxpYl9wICIkZmlsZSI7IHRoZW4KCSAgZnVuY19z
b3VyY2UgJGRpci8kbmFtZQoKCSAgIyBEZWxldGUgdGhlIGxpYnRvb2wgbGli
cmFyaWVzIGFuZCBzeW1saW5rcy4KCSAgZm9yIG4gaW4gJGxpYnJhcnlfbmFt
ZXM7IGRvCgkgICAgcm1maWxlcys9IiAkb2Rpci8kbiIKCSAgZG9uZQoJICB0
ZXN0IC1uICIkb2xkX2xpYnJhcnkiICYmIHJtZmlsZXMrPSIgJG9kaXIvJG9s
ZF9saWJyYXJ5IgoKCSAgY2FzZSAiJG9wdF9tb2RlIiBpbgoJICBjbGVhbikK
CSAgICBjYXNlICIgJGxpYnJhcnlfbmFtZXMgIiBpbgoJICAgICoiICRkbG5h
bWUgIiopIDs7CgkgICAgKikgdGVzdCAtbiAiJGRsbmFtZSIgJiYgcm1maWxl
cys9IiAkb2Rpci8kZGxuYW1lIiA7OwoJICAgIGVzYWMKCSAgICB0ZXN0IC1u
ICIkbGliZGlyIiAmJiBybWZpbGVzKz0iICRvZGlyLyRuYW1lICRvZGlyLyR7
bmFtZX1pIgoJICAgIDs7CgkgIHVuaW5zdGFsbCkKCSAgICBpZiB0ZXN0IC1u
ICIkbGlicmFyeV9uYW1lcyI7IHRoZW4KCSAgICAgICMgRG8gZWFjaCBjb21t
YW5kIGluIHRoZSBwb3N0dW5pbnN0YWxsIGNvbW1hbmRzLgoJICAgICAgZnVu
Y19leGVjdXRlX2NtZHMgIiRwb3N0dW5pbnN0YWxsX2NtZHMiICd0ZXN0ICIk
cm1mb3JjZSIgPSB5ZXMgfHwgZXhpdF9zdGF0dXM9MScKCSAgICBmaQoKCSAg
ICBpZiB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiOyB0aGVuCgkgICAgICAjIERv
IGVhY2ggY29tbWFuZCBpbiB0aGUgb2xkX3Bvc3R1bmluc3RhbGwgY29tbWFu
ZHMuCgkgICAgICBmdW5jX2V4ZWN1dGVfY21kcyAiJG9sZF9wb3N0dW5pbnN0
YWxsX2NtZHMiICd0ZXN0ICIkcm1mb3JjZSIgPSB5ZXMgfHwgZXhpdF9zdGF0
dXM9MScKCSAgICBmaQoJICAgICMgRklYTUU6IHNob3VsZCByZWluc3RhbGwg
dGhlIGJlc3QgcmVtYWluaW5nIHNoYXJlZCBsaWJyYXJ5LgoJICAgIDs7Cgkg
IGVzYWMKCWZpCgk7OwoKICAgICAgKi5sbykKCSMgUG9zc2libHkgYSBsaWJ0
b29sIG9iamVjdCwgc28gdmVyaWZ5IGl0LgoJaWYgZnVuY19sYWxpYl9wICIk
ZmlsZSI7IHRoZW4KCgkgICMgUmVhZCB0aGUgLmxvIGZpbGUKCSAgZnVuY19z
b3VyY2UgJGRpci8kbmFtZQoKCSAgIyBBZGQgUElDIG9iamVjdCB0byB0aGUg
bGlzdCBvZiBmaWxlcyB0byByZW1vdmUuCgkgIGlmIHRlc3QgLW4gIiRwaWNf
b2JqZWN0IiAmJgoJICAgICB0ZXN0ICIkcGljX29iamVjdCIgIT0gbm9uZTsg
dGhlbgoJICAgIHJtZmlsZXMrPSIgJGRpci8kcGljX29iamVjdCIKCSAgZmkK
CgkgICMgQWRkIG5vbi1QSUMgb2JqZWN0IHRvIHRoZSBsaXN0IG9mIGZpbGVz
IHRvIHJlbW92ZS4KCSAgaWYgdGVzdCAtbiAiJG5vbl9waWNfb2JqZWN0IiAm
JgoJICAgICB0ZXN0ICIkbm9uX3BpY19vYmplY3QiICE9IG5vbmU7IHRoZW4K
CSAgICBybWZpbGVzKz0iICRkaXIvJG5vbl9waWNfb2JqZWN0IgoJICBmaQoJ
ZmkKCTs7CgogICAgICAqKQoJaWYgdGVzdCAiJG9wdF9tb2RlIiA9IGNsZWFu
IDsgdGhlbgoJICBub2V4ZW5hbWU9JG5hbWUKCSAgY2FzZSAkZmlsZSBpbgoJ
ICAqLmV4ZSkKCSAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4ZScgIiRmaWxl
IgoJICAgIGZpbGU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICAgIGZ1bmNf
c3RyaXBuYW1lICcnICcuZXhlJyAiJG5hbWUiCgkgICAgbm9leGVuYW1lPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKCSAgICAjICRmaWxlIHdpdGggLmV4ZSBo
YXMgYWxyZWFkeSBiZWVuIGFkZGVkIHRvIHJtZmlsZXMsCgkgICAgIyBhZGQg
JGZpbGUgd2l0aG91dCAuZXhlCgkgICAgcm1maWxlcys9IiAkZmlsZSIKCSAg
ICA7OwoJICBlc2FjCgkgICMgRG8gYSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlz
IGEgbGlidG9vbCBwcm9ncmFtLgoJICBpZiBmdW5jX2x0d3JhcHBlcl9wICIk
ZmlsZSI7IHRoZW4KCSAgICBpZiBmdW5jX2x0d3JhcHBlcl9leGVjdXRhYmxl
X3AgIiRmaWxlIjsgdGhlbgoJICAgICAgZnVuY19sdHdyYXBwZXJfc2NyaXB0
bmFtZSAiJGZpbGUiCgkgICAgICByZWxpbmtfY29tbWFuZD0KCSAgICAgIGZ1
bmNfc291cmNlICRmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdAoJ
ICAgICAgcm1maWxlcys9IiAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9y
ZXN1bHQiCgkgICAgZWxzZQoJICAgICAgcmVsaW5rX2NvbW1hbmQ9CgkgICAg
ICBmdW5jX3NvdXJjZSAkZGlyLyRub2V4ZW5hbWUKCSAgICBmaQoKCSAgICAj
IG5vdGUgJG5hbWUgc3RpbGwgY29udGFpbnMgLmV4ZSBpZiBpdCB3YXMgaW4g
JGZpbGUgb3JpZ2luYWxseQoJICAgICMgYXMgZG9lcyB0aGUgdmVyc2lvbiBv
ZiAkZmlsZSB0aGF0IHdhcyBhZGRlZCBpbnRvICRybWZpbGVzCgkgICAgcm1m
aWxlcys9IiAkb2Rpci8kbmFtZSAkb2Rpci8ke25hbWV9Uy4ke29iamV4dH0i
CgkgICAgcm1maWxlcys9IiAke25hbWV9Lm1hbmlmZXN0ICRvYmpkaXIvJHtu
YW1lfS5tYW5pZmVzdCIKCSAgICBpZiB0ZXN0ICIkZmFzdF9pbnN0YWxsIiA9
IHllcyAmJiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCgkgICAg
ICBybWZpbGVzKz0iICRvZGlyL2x0LSRuYW1lICRvYmpkaXIvbHQtJHtuYW1l
fS5tYW5pZmVzdCIKCSAgICBmaQoJICAgIGlmIHRlc3QgIlgkbm9leGVuYW1l
IiAhPSAiWCRuYW1lIiA7IHRoZW4KCSAgICAgIHJtZmlsZXMrPSIgJG9kaXIv
bHQtJHtub2V4ZW5hbWV9LmMiCgkgICAgZmkKCSAgZmkKCWZpCgk7OwogICAg
ICBlc2FjCiAgICAgIGZ1bmNfc2hvd19ldmFsICIkUk0gJHJtZmlsZXMiICdl
eGl0X3N0YXR1cz0xJwogICAgZG9uZQoKICAgICMgVHJ5IHRvIHJlbW92ZSB0
aGUgJHtvYmpkaXJ9cyBpbiB0aGUgZGlyZWN0b3JpZXMgd2hlcmUgd2UgZGVs
ZXRlZCBmaWxlcwogICAgZm9yIGRpciBpbiAkcm1kaXJzOyBkbwogICAgICBp
ZiB0ZXN0IC1kICIkZGlyIjsgdGhlbgoJZnVuY19zaG93X2V2YWwgInJtZGly
ICRkaXIgPi9kZXYvbnVsbCAyPiYxIgogICAgICBmaQogICAgZG9uZQoKICAg
IGV4aXQgJGV4aXRfc3RhdHVzCn0KCnsgdGVzdCAiJG9wdF9tb2RlIiA9IHVu
aW5zdGFsbCB8fCB0ZXN0ICIkb3B0X21vZGUiID0gY2xlYW47IH0gJiYKICAg
IGZ1bmNfbW9kZV91bmluc3RhbGwgJHsxKyIkQCJ9Cgp0ZXN0IC16ICIkb3B0
X21vZGUiICYmIHsKICBoZWxwPSIkZ2VuZXJpY19oZWxwIgogIGZ1bmNfZmF0
YWxfaGVscCAieW91IG11c3Qgc3BlY2lmeSBhIE1PREUiCn0KCnRlc3QgLXog
IiRleGVjX2NtZCIgJiYgXAogIGZ1bmNfZmF0YWxfaGVscCAiaW52YWxpZCBv
cGVyYXRpb24gbW9kZSBcYCRvcHRfbW9kZSciCgppZiB0ZXN0IC1uICIkZXhl
Y19jbWQiOyB0aGVuCiAgZXZhbCBleGVjICIkZXhlY19jbWQiCiAgZXhpdCAk
RVhJVF9GQUlMVVJFCmZpCgpleGl0ICRleGl0X3N0YXR1cwoKCiMgVGhlIFRB
R3MgYmVsb3cgYXJlIGRlZmluZWQgc3VjaCB0aGF0IHdlIG5ldmVyIGdldCBp
bnRvIGEgc2l0dWF0aW9uCiMgaW4gd2hpY2ggd2UgZGlzYWJsZSBib3RoIGtp
bmRzIG9mIGxpYnJhcmllcy4gIEdpdmVuIGNvbmZsaWN0aW5nCiMgY2hvaWNl
cywgd2UgZ28gZm9yIGEgc3RhdGljIGxpYnJhcnksIHRoYXQgaXMgdGhlIG1v
c3QgcG9ydGFibGUsCiMgc2luY2Ugd2UgY2FuJ3QgdGVsbCB3aGV0aGVyIHNo
YXJlZCBsaWJyYXJpZXMgd2VyZSBkaXNhYmxlZCBiZWNhdXNlCiMgdGhlIHVz
ZXIgYXNrZWQgZm9yIHRoYXQgb3IgYmVjYXVzZSB0aGUgcGxhdGZvcm0gZG9l
c24ndCBzdXBwb3J0CiMgdGhlbS4gIFRoaXMgaXMgcGFydGljdWxhcmx5IGlt
cG9ydGFudCBvbiBBSVgsIGJlY2F1c2Ugd2UgZG9uJ3QKIyBzdXBwb3J0IGhh
dmluZyBib3RoIHN0YXRpYyBhbmQgc2hhcmVkIGxpYnJhcmllcyBlbmFibGVk
IGF0IHRoZSBzYW1lCiMgdGltZSBvbiB0aGF0IHBsYXRmb3JtLCBzbyB3ZSBk
ZWZhdWx0IHRvIGEgc2hhcmVkLW9ubHkgY29uZmlndXJhdGlvbi4KIyBJZiBh
IGRpc2FibGUtc2hhcmVkIHRhZyBpcyBnaXZlbiwgd2UnbGwgZmFsbGJhY2sg
dG8gYSBzdGF0aWMtb25seQojIGNvbmZpZ3VyYXRpb24uICBCdXQgd2UnbGwg
bmV2ZXIgZ28gZnJvbSBzdGF0aWMtb25seSB0byBzaGFyZWQtb25seS4KCiMg
IyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzogZGlzYWJsZS1zaGFyZWQK
YnVpbGRfbGlidG9vbF9saWJzPW5vCmJ1aWxkX29sZF9saWJzPXllcwojICMj
IyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBkaXNhYmxlLXNoYXJlZAoKIyAj
IyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBkaXNhYmxlLXN0YXRpYwpi
dWlsZF9vbGRfbGlicz1gY2FzZSAkYnVpbGRfbGlidG9vbF9saWJzIGluIHll
cykgZWNobyBubzs7ICopIGVjaG8geWVzOzsgZXNhY2AKIyAjIyMgRU5EIExJ
QlRPT0wgVEFHIENPTkZJRzogZGlzYWJsZS1zdGF0aWMKCiMgTG9jYWwgVmFy
aWFibGVzOgojIG1vZGU6c2hlbGwtc2NyaXB0CiMgc2gtaW5kZW50YXRpb246
MgojIEVuZDoKIyB2aTpzdz0yCgoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcg
Q09ORklHOiBDWFgKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJh
cmllcy4KTEQ9ImM6L21pbmd3L21pbmd3MzIvYmluL2xkLmV4ZSIKCiMgSG93
IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2Zs
YWc9IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwk
b3V0cHV0XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWls
ZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRB
UiBcJEFSX0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkb2xk
bGliIgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iZysr
IgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9n
Y2M9eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBm
dW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIC1mbm8tYnVpbHRpbiIKCiMg
QWRkaXRpb25hbCBjb21waWxlciBmbGFncyBmb3IgYnVpbGRpbmcgbGlicmFy
eSBvYmplY3RzLgpwaWNfZmxhZz0iIC1ERExMX0VYUE9SVCAtRFBJQyIKCiMg
SG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxl
ci4Kd2w9Ii1XbCwiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5h
bWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9Ii1zdGF0aWMiCgojIERv
ZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8g
b3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdoZXRoZXIgb3Igbm90
IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1
aWxkX2xpYnRvb2xfbmVlZF9sYz1ubwoKIyBXaGV0aGVyIG9yIG5vdCB0byBk
aXNhbGxvdyBzaGFyZWQgbGlicyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3Rh
dGljLgphbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9
eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3Bl
bnMuCmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0iXCR7d2x9LS1leHBvcnQt
YWxsLXN5bWJvbHMiCgojIENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUgc2hh
cmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVfYXJj
aGl2ZV9mbGFnX3NwZWM9Ilwke3dsfS0td2hvbGUtYXJjaGl2ZVwkY29udmVu
aWVuY2UgXCR7d2x9LS1uby13aG9sZS1hcmNoaXZlIgoKIyBXaGV0aGVyIHRo
ZSBjb21waWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJl
Y3RseS4KY29tcGlsZXJfbmVlZHNfb2JqZWN0PSJubyIKCiMgQ3JlYXRlIGFu
IG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xk
X2FyY2hpdmVfZnJvbV9uZXdfY21kcz0iIgoKIyBDcmVhdGUgYSB0ZW1wb3Jh
cnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEgc2hh
cmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPSIi
CgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBzaGFyZWQgYXJjaGl2ZS4K
YXJjaGl2ZV9jbWRzPSJcJENDIC1zaGFyZWQgLW5vc3RkbGliIFwkcHJlZGVw
X29iamVjdHMgXCRsaWJvYmpzIFwkZGVwbGlicyBcJHBvc3RkZXBfb2JqZWN0
cyBcJGNvbXBpbGVyX2ZsYWdzIC1vIFwkb3V0cHV0X29iamRpci9cJHNvbmFt
ZSBcJHt3bH0tLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1v
dXQtaW1wbGliIC1YbGlua2VyIFwkbGliIgphcmNoaXZlX2V4cHN5bV9jbWRz
PSJpZiB0ZXN0IFxcXCJ4XFxcYFwkU0VEIDFxIFwkZXhwb3J0X3N5bWJvbHNc
XFxgXFxcIiA9IHhFWFBPUlRTOyB0aGVuCgkgICAgICBjcCBcJGV4cG9ydF9z
eW1ib2xzIFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7CgkgICAgZWxz
ZQoJICAgICAgZWNobyBFWFBPUlRTID4gXCRvdXRwdXRfb2JqZGlyL1wkc29u
YW1lLmRlZjsKCSAgICAgIGNhdCBcJGV4cG9ydF9zeW1ib2xzID4+IFwkb3V0
cHV0X29iamRpci9cJHNvbmFtZS5kZWY7CgkgICAgZml+CgkgICAgXCRDQyAt
c2hhcmVkIC1ub3N0ZGxpYiBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUuZGVm
IFwkcHJlZGVwX29iamVjdHMgXCRsaWJvYmpzIFwkZGVwbGlicyBcJHBvc3Rk
ZXBfb2JqZWN0cyBcJGNvbXBpbGVyX2ZsYWdzIC1vIFwkb3V0cHV0X29iamRp
ci9cJHNvbmFtZSBcJHt3bH0tLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhs
aW5rZXIgLS1vdXQtaW1wbGliIC1YbGlua2VyIFwkbGliIgoKIyBDb21tYW5k
cyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRpZmZlcmVu
dCBmcm9tIGJ1aWxkaW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9kdWxlX2Nt
ZHM9IiIKbW9kdWxlX2V4cHN5bV9jbWRzPSIiCgojIFdoZXRoZXIgd2UgYXJl
IGJ1aWxkaW5nIHdpdGggR05VIGxkIG9yIG5vdC4Kd2l0aF9nbnVfbGQ9Inll
cyIKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVzIHdpdGgg
dW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5l
ZF9mbGFnPSJ1bnN1cHBvcnRlZCIKCiMgRmxhZyB0aGF0IGVuZm9yY2VzIG5v
IHVuZGVmaW5lZCBzeW1ib2xzLgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBG
bGFnIHRvIGhhcmRjb2RlICRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcg
bGlua2luZy4KIyBUaGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9l
cyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iLUxcJGxp
YmRpciIKCiMgSWYgbGQgaXMgdXNlZCB3aGVuIGxpbmtpbmcsIGZsYWcgdG8g
aGFyZGNvZGUgJGxpYmRpciBpbnRvIGEgYmluYXJ5CiMgZHVyaW5nIGxpbmtp
bmcuICBUaGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3Qg
ZXhpc3QuCmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNfbGQ9IiIKCiMgV2hl
dGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgiIGZsYWcgd2l0aCBhIHNl
cGFyYXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvcj0i
IgoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUUke3NoYXJl
ZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRo
ZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9kaXJlY3Q9bm8KCiMgU2V0
IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0
aW5nIGJpbmFyeSBhbmQgdGhlIHJlc3VsdGluZyBsaWJyYXJ5IGRlcGVuZGVu
Y3kgaXMKIyAiYWJzb2x1dGUiLGkuZSBpbXBvc3NpYmxlIHRvIGNoYW5nZSBi
eSBzZXR0aW5nICR7c2hsaWJwYXRoX3Zhcn0gaWYgdGhlCiMgbGlicmFyeSBp
cyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVjdF9hYnNvbHV0ZT1ubwoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgdGhlIC1MRElSIGZsYWcgZHVyaW5nIGxp
bmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5h
cnkuCmhhcmRjb2RlX21pbnVzX0w9bm8KCiMgU2V0IHRvICJ5ZXMiIGlmIHVz
aW5nIFNITElCUEFUSF9WQVI9RElSIGR1cmluZyBsaW5raW5nIGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9z
aGxpYnBhdGhfdmFyPXVuc3VwcG9ydGVkCgojIFNldCB0byAieWVzIiBpZiBi
dWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFyZGNv
ZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJzZXF1ZW50
IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdhaW5zdCBp
dC4KaGFyZGNvZGVfYXV0b21hdGljPW5vCgojIFNldCB0byB5ZXMgaWYgbGlu
a2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBkZXBlbmRlbnQgbGlicmFyaWVz
CiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBhdGg9bm8KCiMg
V2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBh
bGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJz
PXVua25vd24KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMg
YXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KCiMgVGhl
IGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5
bWJvbHNfY21kcz0iXCROTSBcJGxpYm9ianMgXCRjb252ZW5pZW5jZSB8IFwk
Z2xvYmFsX3N5bWJvbF9waXBlIHwgXCRTRUQgLWUgJy9eW0JDREdSU11bIF0v
cy8uKlsgXVxcXFwoW14gXSpcXFxcKS9cXFxcMSBEQVRBLztzL14uKlsgXV9f
bm1fX1xcXFwoW14gXSpcXFxcKVsgXVteIF0qL1xcXFwxIERBVEEvOy9eSVsg
XS9kOy9eW0FJVFddWyBdL3MvLiogLy8nIHwgc29ydCB8IHVuaXEgPiBcJGV4
cG9ydF9zeW1ib2xzIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBs
aXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5
bXM9IltfXStHTE9CQUxfT0ZGU0VUX1RBQkxFX3xbX10rR0xPQkFMX19bRklE
XV8uKnxbX10raGVhZF9bQS1aYS16MC05X10rX2RsbHxbQS1aYS16MC05X10r
X2RsbF9pbmFtZSIKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4
cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMgbmVjZXNz
YXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykg
d2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0iIgoKIyBDb21tYW5kcyBu
ZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0
bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBp
bnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIKCiMgSG93IHRvIGhhcmRj
b2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUu
CmhhcmRjb2RlX2FjdGlvbj1pbW1lZGlhdGUKCiMgVGhlIGRpcmVjdG9yaWVz
IHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNo
YXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9ImM6L21p
bmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEgYzovbWluZ3cvYmlu
Ly4uL2xpYi9nY2MgYzovbWluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80
LjguMS8uLi8uLi8uLi8uLi9taW5ndzMyL2xpYiBjOi9taW5ndy9iaW4vLi4v
bGliL2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uIC9taW5ndy9saWIiCgoj
IERlcGVuZGVuY2llcyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBv
YmplY3RzIGJlaW5nIGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJy
YXJ5LgpwcmVkZXBfb2JqZWN0cz0iYzovbWluZ3cvYmluLy4uL2xpYi9nY2Mv
bWluZ3czMi80LjguMS8uLi8uLi8uLi9kbGxjcnQyLm8gYzovbWluZ3cvYmlu
Ly4uL2xpYi9nY2MvbWluZ3czMi80LjguMS9jcnRiZWdpbi5vIgpwb3N0ZGVw
X29iamVjdHM9ImM6L21pbmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44
LjEvY3J0ZW5kLm8iCnByZWRlcHM9IiIKcG9zdGRlcHM9Ii1sc3RkYysrIC1s
bWluZ3czMiAtbGdjY19zIC1sZ2NjIC1sbW9sZG5hbWUgLWxtaW5nd2V4IC1s
bXN2Y3J0IC1sdXNlcjMyIC1sa2VybmVsMzIgLWxhZHZhcGkzMiAtbHNoZWxs
MzIgLWxtaW5ndzMyIC1sZ2NjX3MgLWxnY2MgLWxtb2xkbmFtZSAtbG1pbmd3
ZXggLWxtc3ZjcnQiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVzZWQg
aW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBz
aGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPSItTGM6
L21pbmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEgLUxjOi9taW5n
dy9iaW4vLi4vbGliL2djYyAtTGM6L21pbmd3L2Jpbi8uLi9saWIvZ2NjL21p
bmd3MzIvNC44LjEvLi4vLi4vLi4vLi4vbWluZ3czMi9saWIgLUxjOi9taW5n
dy9iaW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4xLy4uLy4uLy4uIC1ML21p
bmd3L2xpYiIKCiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6IENYWAoK
IyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBGNzcKCiMgVGhlIGxp
bmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9IiIKCiMgSG93IHRv
IGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9
IiAtciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0
cHV0XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBh
biBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBc
JEFSX0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkb2xkbGli
IgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJ
cyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9Cgoj
IENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMu
Cm5vX2J1aWx0aW5fZmxhZz0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZs
YWdzIGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIi
CgojIEhvdyB0byBwYXNzIGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29t
cGlsZXIuCndsPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5h
bWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9IiIKCiMgRG9lcyBjb21w
aWxlciBzaW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25z
Pwpjb21waWxlcl9jX289IiIKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1s
YyBmb3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9v
bF9uZWVkX2xjPW5vCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNo
YXJlZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93
X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz1ubwoKIyBDb21w
aWxlciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRf
ZHluYW1pY19mbGFnX3NwZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5l
cmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3
aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRoZSBjb21w
aWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4K
Y29tcGlsZXJfbmVlZHNfb2JqZWN0PSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5
bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZl
X2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1z
dHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21t
YW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVf
Y21kcz0iIgphcmNoaXZlX2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHVz
ZWQgdG8gYnVpbGQgYSBsb2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZy
b20gYnVpbGRpbmcKIyBhIHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0i
Igptb2R1bGVfZXhwc3ltX2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVp
bGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0iIgoKIyBG
bGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmlu
ZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9
IiIKCiMgRmxhZyB0aGF0IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1ib2xz
Lgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRs
aWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11
c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNv
ZGVfbGliZGlyX2ZsYWdfc3BlYz0iIgoKIyBJZiBsZCBpcyB1c2VkIHdoZW4g
bGlua2luZywgZmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8gYSBiaW5h
cnkKIyBkdXJpbmcgbGlua2luZy4gIFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYg
JGxpYmRpciBkb2VzIG5vdCBleGlzdC4KaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlY19sZD0iIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0
aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBE
SVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X2RpcmVjdD1ubwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5B
TUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJ
UiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5n
IGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9z
c2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgJHtzaGxpYnBhdGhfdmFyfSBp
ZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVfZGlyZWN0
X2Fic29sdXRlPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxE
SVIgZmxhZyBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0
aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD1ubwoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5n
IGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBi
aW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0byAieWVz
IiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkg
aGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJz
ZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdh
aW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPW5vCgojIFNldCB0byB5ZXMg
aWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBkZXBlbmRlbnQgbGli
cmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBhdGg9
bm8KCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdh
aW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9k
ZXBsaWJzPXVua25vd24KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5
bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8K
CiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhw
b3J0X3N5bWJvbHNfY21kcz0iIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5v
dCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRl
X2V4cHN5bXM9IiIKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4
cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMgbmVjZXNz
YXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykg
d2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0iIgoKIyBDb21tYW5kcyBu
ZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0
bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBp
bnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIKCiMgSG93IHRvIGhhcmRj
b2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUu
CmhhcmRjb2RlX2FjdGlvbj0KCiMgVGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVk
IGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJlZCBsaWJy
YXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9IiIKCiMgRGVwZW5kZW5j
aWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVp
bmcgbGlua2VkIHRvCiMgY3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRl
cF9vYmplY3RzPSIiCnBvc3RkZXBfb2JqZWN0cz0iIgpwcmVkZXBzPSIiCnBv
c3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVzZWQgaW50
ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBzaGFy
ZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPSIiCgojICMj
IyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBGNzcKCiMgIyMjIEJFR0lOIExJ
QlRPT0wgVEFHIENPTkZJRzogRkMKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1
aWxkIGxpYnJhcmllcy4KTEQ9IiIKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRh
YmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2Nt
ZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRfb2Jq
cyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJj
aGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xk
bGliXCRvbGRvYmpzflwkUkFOTElCIFwkb2xkbGliIgoKIyBBIGxhbmd1YWdl
IHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJcyB0aGUgY29tcGlsZXIg
dGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9CgojIENvbXBpbGVyIGZsYWcg
dG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxh
Zz0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWlsZGlu
ZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIiCgojIEhvdyB0byBwYXNz
IGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSIiCgoj
IENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxp
bmtfc3RhdGljX2ZsYWc9IiIKCiMgRG9lcyBjb21waWxlciBzaW11bHRhbmVv
dXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21waWxlcl9jX289
IiIKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcg
c2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVkX2xjPW5vCgoj
IFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdoZW4g
cnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRvb2xfbGlic193
aXRoX3N0YXRpY19ydW50aW1lcz1ubwoKIyBDb21waWxlciBmbGFnIHRvIGFs
bG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3Nw
ZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSBzaGFyZWQgb2Jq
ZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3aG9sZV9hcmNoaXZlX2Zs
YWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBjb3BlcyB3aXRo
IHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGlsZXJfbmVlZHNf
b2JqZWN0PSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9t
IGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9
IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRv
IGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2
ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1
aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iIgphcmNoaXZl
X2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBs
b2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBh
IHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0iIgptb2R1bGVfZXhwc3lt
X2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUg
bGQgb3Igbm90Lgp3aXRoX2dudV9sZD0iIgoKIyBGbGFnIHRoYXQgYWxsb3dz
IHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBi
ZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0aGF0
IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1ib2xzLgpub191bmRlZmluZWRf
ZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRsaWJkaXIgaW50byBhIGJp
bmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qgd29yayBldmVuIGlm
ICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlYz0iIgoKIyBJZiBsZCBpcyB1c2VkIHdoZW4gbGlua2luZywgZmxhZyB0
byBoYXJkY29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkKIyBkdXJpbmcgbGlu
a2luZy4gIFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYgJGxpYmRpciBkb2VzIG5v
dCBleGlzdC4KaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY19sZD0iIgoKIyBX
aGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0aCIgZmxhZyB3aXRoIGEg
c2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9y
PSIiCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hh
cmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8g
dGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2RpcmVjdD1ubwoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUUke3NoYXJlZF9leHR9
IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1
bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5k
ZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdl
IGJ5IHNldHRpbmcgJHtzaGxpYnBhdGhfdmFyfSBpZiB0aGUKIyBsaWJyYXJ5
IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlPW5vCgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJp
bmFyeS4KaGFyZGNvZGVfbWludXNfTD1ubwoKIyBTZXQgdG8gInllcyIgaWYg
dXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X3NobGlicGF0aF92YXI9CgojIFNldCB0byAieWVzIiBpZiBidWlsZGluZyBh
IHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFyZGNvZGVzIERJUgoj
IGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJzZXF1ZW50IGxpYnJhcmll
cyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdhaW5zdCBpdC4KaGFyZGNv
ZGVfYXV0b21hdGljPW5vCgojIFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMg
cnVudGltZSBwYXRocyBvZiBkZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVu
dGltZSBwYXRoIGxpc3QuCmluaGVyaXRfcnBhdGg9bm8KCiMgV2hldGhlciBs
aWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRl
cGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPXVua25vd24K
CiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVkIHN5bWJvbHMgYXJlIHJlcXVp
cmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9bm8KCiMgVGhlIGNvbW1hbmRz
IHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21k
cz0iIgoKIyBTeW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4g
dGhlIHByZWxvYWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9IiIKCiMg
U3ltYm9scyB0aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRl
X2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5n
IHByb2dyYW1zIChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMu
CnByZWxpbmtfY21kcz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZp
bmlzaGluZyBsaW5raW5nIHByb2dyYW1zLgpwb3N0bGlua19jbWRzPSIiCgoj
IFNwZWNpZnkgZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmls
ZV9saXN0X3NwZWM9IiIKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxp
YnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlv
bj0KCiMgVGhlIGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGls
ZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9s
aWJfc2VhcmNoX2RpcnM9IiIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJl
Zm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvCiMg
Y3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIiCnBv
c3RkZXBfb2JqZWN0cz0iIgpwcmVkZXBzPSIiCnBvc3RkZXBzPSIiCgojIFRo
ZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUg
Y29tcGlsZXIgd2hlbiBsaW5raW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29t
cGlsZXJfbGliX3NlYXJjaF9wYXRoPSIiCgojICMjIyBFTkQgTElCVE9PTCBU
QUcgQ09ORklHOiBGQwoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklH
OiBHQ0oKCiMgVGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4K
TEQ9ImM6L21pbmd3L21pbmd3MzIvYmluL2xkLmV4ZSIKCiMgSG93IHRvIGNy
ZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAt
ciIKcmVsb2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0
XCRyZWxvYWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBv
bGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFS
X0ZMQUdTIFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkb2xkbGliIgoK
IyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJcyB0
aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9CgojIENv
bXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5v
X2J1aWx0aW5fZmxhZz0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdz
IGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIiCgoj
IEhvdyB0byBwYXNzIGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGls
ZXIuCndsPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWlj
IGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9IiIKCiMgRG9lcyBjb21waWxl
ciBzaW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpj
b21waWxlcl9jX289IiIKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBm
b3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9u
ZWVkX2xjPW5vCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJl
ZCBsaWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xp
YnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz0KCiMgQ29tcGlsZXIg
ZmxhZyB0byBhbGxvdyByZWZsZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFt
aWNfZmxhZ19zcGVjPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUg
c2hhcmVkIG9iamVjdHMgZGlyZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVf
YXJjaGl2ZV9mbGFnX3NwZWM9IiIKCiMgV2hldGhlciB0aGUgY29tcGlsZXIg
Y29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBp
bGVyX25lZWRzX29iamVjdD0iIgoKIyBDcmVhdGUgYW4gb2xkLXN0eWxlIGFy
Y2hpdmUgZnJvbSBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9t
X25ld19jbWRzPSIiCgojIENyZWF0ZSBhIHRlbXBvcmFyeSBvbGQtc3R5bGUg
YXJjaGl2ZSB0byBsaW5rIGluc3RlYWQgb2YgYSBzaGFyZWQgYXJjaGl2ZS4K
b2xkX2FyY2hpdmVfZnJvbV9leHBzeW1zX2NtZHM9IiIKCiMgQ29tbWFuZHMg
dXNlZCB0byBidWlsZCBhIHNoYXJlZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9
IiIKYXJjaGl2ZV9leHBzeW1fY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRv
IGJ1aWxkIGEgbG9hZGFibGUgbW9kdWxlIGlmIGRpZmZlcmVudCBmcm9tIGJ1
aWxkaW5nCiMgYSBzaGFyZWQgYXJjaGl2ZS4KbW9kdWxlX2NtZHM9IiIKbW9k
dWxlX2V4cHN5bV9jbWRzPSIiCgojIFdoZXRoZXIgd2UgYXJlIGJ1aWxkaW5n
IHdpdGggR05VIGxkIG9yIG5vdC4Kd2l0aF9nbnVfbGQ9IiIKCiMgRmxhZyB0
aGF0IGFsbG93cyBzaGFyZWQgbGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5
bWJvbHMgdG8gYmUgYnVpbHQuCmFsbG93X3VuZGVmaW5lZF9mbGFnPSIiCgoj
IEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9f
dW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJkY29kZSAkbGliZGly
IGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdv
cmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0CmhhcmRjb2RlX2xp
YmRpcl9mbGFnX3NwZWM9IiIKCiMgSWYgbGQgaXMgdXNlZCB3aGVuIGxpbmtp
bmcsIGZsYWcgdG8gaGFyZGNvZGUgJGxpYmRpciBpbnRvIGEgYmluYXJ5CiMg
ZHVyaW5nIGxpbmtpbmcuICBUaGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJk
aXIgZG9lcyBub3QgZXhpc3QuCmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNf
bGQ9IiIKCiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgiIGZs
YWcgd2l0aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvcj0iIgoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xp
Yk5BTUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2Rlcwoj
IERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9kaXJl
Y3Q9CgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hh
cmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8g
dGhlIHJlc3VsdGluZyBiaW5hcnkgYW5kIHRoZSByZXN1bHRpbmcgbGlicmFy
eSBkZXBlbmRlbmN5IGlzCiMgImFic29sdXRlIixpLmUgaW1wb3NzaWJsZSB0
byBjaGFuZ2UgYnkgc2V0dGluZyAke3NobGlicGF0aF92YXJ9IGlmIHRoZQoj
IGxpYnJhcnkgaXMgcmVsb2NhdGVkLgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1
dGU9CgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0
aW5nIGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD0KCiMgU2V0IHRvICJ5ZXMi
IGlmIHVzaW5nIFNITElCUEFUSF9WQVI9RElSIGR1cmluZyBsaW5raW5nIGhh
cmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJk
Y29kZV9zaGxpYnBhdGhfdmFyPQoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRp
bmcgYSBzaGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBE
SVIKIyBpbnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJy
YXJpZXMgYW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhh
cmRjb2RlX2F1dG9tYXRpYz0KCiMgU2V0IHRvIHllcyBpZiBsaW5rZXIgYWRk
cyBydW50aW1lIHBhdGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMKIyB0byBy
dW50aW1lIHBhdGggbGlzdC4KaW5oZXJpdF9ycGF0aD0KCiMgV2hldGhlciBs
aWJ0b29sIG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRl
cGVuZGVuY3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPQoKIyBTZXQg
dG8gInllcyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFs
d2F5c19leHBvcnRfc3ltYm9scz0KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3Qg
ZXhwb3J0ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0iIgoKIyBT
eW1ib2xzIHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxv
YWRlZCBzeW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9IiIKCiMgU3ltYm9scyB0
aGF0IG11c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9
IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1z
IChhZ2FpbnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtf
Y21kcz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBs
aW5raW5nIHByb2dyYW1zLgpwb3N0bGlua19jbWRzPSIiCgojIFNwZWNpZnkg
ZmlsZW5hbWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmlsZV9saXN0X3Nw
ZWM9IiIKCiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0
aCBpbnRvIGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlvbj0KCiMgVGhl
IGRpcmVjdG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBj
cmVhdGluZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNo
X2RpcnM9IiIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQg
YWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvCiMgY3JlYXRlIGEg
c2hhcmVkIGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIiCnBvc3RkZXBfb2Jq
ZWN0cz0iIgpwcmVkZXBzPSIiCnBvc3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5
IHNlYXJjaCBwYXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIg
d2hlbiBsaW5raW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGli
X3NlYXJjaF9wYXRoPSIiCgojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklH
OiBHQ0oKCiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENPTkZJRzogUkMKCiMg
VGhlIGxpbmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9IiIKCiMg
SG93IHRvIGNyZWF0ZSByZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2Fk
X2ZsYWc9IiIKcmVsb2FkX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBi
dWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0i
IgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0id2luZHJl
cyIKCiMgSXMgdGhlIGNvbXBpbGVyIHRoZSBHTlUgY29tcGlsZXI/CndpdGhf
Z2NjPQoKIyBDb21waWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVu
Y3Rpb25zLgpub19idWlsdGluX2ZsYWc9IiIKCiMgQWRkaXRpb25hbCBjb21w
aWxlciBmbGFncyBmb3IgYnVpbGRpbmcgbGlicmFyeSBvYmplY3RzLgpwaWNf
ZmxhZz0iIgoKIyBIb3cgdG8gcGFzcyBhIGxpbmtlciBmbGFnIHRocm91Z2gg
dGhlIGNvbXBpbGVyLgp3bD0iIgoKIyBDb21waWxlciBmbGFnIHRvIHByZXZl
bnQgZHluYW1pYyBsaW5raW5nLgpsaW5rX3N0YXRpY19mbGFnPSIiCgojIERv
ZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8g
b3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdoZXRoZXIgb3Igbm90
IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1
aWxkX2xpYnRvb2xfbmVlZF9sYz0KCiMgV2hldGhlciBvciBub3QgdG8gZGlz
YWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0YXRp
Yy4KYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPQoK
IyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpl
eHBvcnRfZHluYW1pY19mbGFnX3NwZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0
byBnZW5lcmF0ZSBzaGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hp
dmVzLgp3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRo
ZSBjb21waWxlciBjb3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJl
Y3RseS4KY29tcGlsZXJfbmVlZHNfb2JqZWN0PSIiCgojIENyZWF0ZSBhbiBv
bGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9h
cmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5
IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJl
ZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoK
IyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFy
Y2hpdmVfY21kcz0iIgphcmNoaXZlX2V4cHN5bV9jbWRzPSIiCgojIENvbW1h
bmRzIHVzZWQgdG8gYnVpbGQgYSBsb2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVy
ZW50IGZyb20gYnVpbGRpbmcKIyBhIHNoYXJlZCBhcmNoaXZlLgptb2R1bGVf
Y21kcz0iIgptb2R1bGVfZXhwc3ltX2NtZHM9IiIKCiMgV2hldGhlciB3ZSBh
cmUgYnVpbGRpbmcgd2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0i
IgoKIyBGbGFnIHRoYXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1
bmRlZmluZWQgc3ltYm9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVk
X2ZsYWc9IiIKCiMgRmxhZyB0aGF0IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBz
eW1ib2xzLgpub191bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRj
b2RlICRsaWJkaXIgaW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBU
aGlzIG11c3Qgd29yayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3QgZXhpc3QK
aGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYz0iIgoKIyBJZiBsZCBpcyB1c2Vk
IHdoZW4gbGlua2luZywgZmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8g
YSBiaW5hcnkKIyBkdXJpbmcgbGlua2luZy4gIFRoaXMgbXVzdCB3b3JrIGV2
ZW4gaWYgJGxpYmRpciBkb2VzIG5vdCBleGlzdC4KaGFyZGNvZGVfbGliZGly
X2ZsYWdfc3BlY19sZD0iIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUg
Ii1ycGF0aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJk
Y29kZV9saWJkaXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1
c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcg
aGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhh
cmRjb2RlX2RpcmVjdD0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9s
aWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMK
IyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeSBhbmQgdGhlIHJlc3Vs
dGluZyBsaWJyYXJ5IGRlcGVuZGVuY3kgaXMKIyAiYWJzb2x1dGUiLGkuZSBp
bXBvc3NpYmxlIHRvIGNoYW5nZSBieSBzZXR0aW5nICR7c2hsaWJwYXRoX3Zh
cn0gaWYgdGhlCiMgbGlicmFyeSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2Rp
cmVjdF9hYnNvbHV0ZT0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAt
TERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIKIyBpbnRv
IHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19MPQoKIyBT
ZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5n
IGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBi
aW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0byAieWVz
IiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkg
aGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJz
ZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdh
aW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPQoKIyBTZXQgdG8geWVzIGlm
IGxpbmtlciBhZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJh
cmllcwojIHRvIHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPQoK
IyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0
IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCmxpbmtfYWxsX2RlcGxp
YnM9CgojIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSBy
ZXF1aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPQoKIyBUaGUgY29tbWFu
ZHMgdG8gbGlzdCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9sc19j
bWRzPSIiCgojIFN5bWJvbHMgdGhhdCBzaG91bGQgbm90IGJlIGxpc3RlZCBp
biB0aGUgcHJlbG9hZGVkIHN5bWJvbHMuCmV4Y2x1ZGVfZXhwc3ltcz0iIgoK
IyBTeW1ib2xzIHRoYXQgbXVzdCBhbHdheXMgYmUgZXhwb3J0ZWQuCmluY2x1
ZGVfZXhwc3ltcz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtp
bmcgcHJvZ3JhbXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRl
cy4KcHJlbGlua19jbWRzPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3Ig
ZmluaXNoaW5nIGxpbmtpbmcgcHJvZ3JhbXMuCnBvc3RsaW5rX2NtZHM9IiIK
CiMgU3BlY2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgpm
aWxlX2xpc3Rfc3BlYz0iIgoKIyBIb3cgdG8gaGFyZGNvZGUgYSBzaGFyZWQg
bGlicmFyeSBwYXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNvZGVfYWN0
aW9uPQoKIyBUaGUgZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21w
aWxlciB3aGVuIGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVy
X2xpYl9zZWFyY2hfZGlycz0iIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2Ug
YmVmb3JlIGFuZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8K
IyBjcmVhdGUgYSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29iamVjdHM9IiIK
cG9zdGRlcF9vYmplY3RzPSIiCnByZWRlcHM9IiIKcG9zdGRlcHM9IiIKCiMg
VGhlIGxpYnJhcnkgc2VhcmNoIHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRo
ZSBjb21waWxlciB3aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpj
b21waWxlcl9saWJfc2VhcmNoX3BhdGg9IiIKCiMgIyMjIEVORCBMSUJUT09M
IFRBRyBDT05GSUc6IFJDCg==

--_----------=_13840355941782731
Content-Disposition: attachment; filename="libtool"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="libtool"

IyEgL2Jpbi9zaAoKIyBsaWJ0b29sIC0gUHJvdmlkZSBnZW5lcmFsaXplZCBs
aWJyYXJ5LWJ1aWxkaW5nIHN1cHBvcnQgc2VydmljZXMuCiMgR2VuZXJhdGVk
IGF1dG9tYXRpY2FsbHkgYnkgY29uZmlnLnN0YXR1cyAobGlidG9vbCkgMi40
LjIKIyBMaWJ0b29sIHdhcyBjb25maWd1cmVkIG9uIGhvc3QgdGlsbDoKIyBO
T1RFOiBDaGFuZ2VzIG1hZGUgdG8gdGhpcyBmaWxlIHdpbGwgYmUgbG9zdDog
bG9vayBhdCBsdG1haW4uc2guCiMKIyAgIENvcHlyaWdodCAoQykgMTk5Niwg
MTk5NywgMTk5OCwgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMywgMjAwNCwgMjAw
NSwKIyAgICAgICAgICAgICAgICAgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwg
MjAxMCwgMjAxMSBGcmVlIFNvZnR3YXJlCiMgICAgICAgICAgICAgICAgIEZv
dW5kYXRpb24sIEluYy4KIyAgIFdyaXR0ZW4gYnkgR29yZG9uIE1hdHppZ2tl
aXQsIDE5OTYKIwojICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIExpYnRv
b2wuCiMKIyBHTlUgTGlidG9vbCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKIyBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwoj
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIgdmVyc2lvbiAyIG9mCiMgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBBcyBhIHNwZWNpYWwg
ZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwK
IyBpZiB5b3UgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHBy
b2dyYW0gb3IgbGlicmFyeSB0aGF0CiMgaXMgYnVpbHQgdXNpbmcgR05VIExp
YnRvb2wsIHlvdSBtYXkgaW5jbHVkZSB0aGlzIGZpbGUgdW5kZXIgdGhlCiMg
c2FtZSBkaXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUg
cmVzdCBvZiB0aGF0IHByb2dyYW0uCiMKIyBHTlUgTGlidG9vbCBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAoj
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMKIyBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggR05VIExpYnRvb2w7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCBhIGNvcHkKIyBjYW4g
YmUgZG93bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl
cy9ncGwuaHRtbCwgb3IKIyBvYnRhaW5lZCBieSB3cml0aW5nIHRvIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCiMgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCgoKIyBUaGUgbmFtZXMgb2YgdGhlIHRhZ2dlZCBjb25maWd1cmF0aW9u
cyBzdXBwb3J0ZWQgYnkgdGhpcyBzY3JpcHQuCmF2YWlsYWJsZV90YWdzPSJD
WFggRjc3IEZDIEdPIEdDSiBSQyAiCgojICMjIyBCRUdJTiBMSUJUT09MIENP
TkZJRwoKIyBXaGljaCByZWxlYXNlIG9mIGxpYnRvb2wubTQgd2FzIHVzZWQ/
Cm1hY3JvX3ZlcnNpb249Mi40LjIKbWFjcm9fcmV2aXNpb249MS4zMzM3Cgoj
IEFzc2VtYmxlciBwcm9ncmFtLgpBUz0iYXMiCgojIERMTCBjcmVhdGlvbiBw
cm9ncmFtLgpETExUT09MPSJkbGx0b29sIgoKIyBPYmplY3QgZHVtcGVyIHBy
b2dyYW0uCk9CSkRVTVA9Im9iamR1bXAiCgojIFdoZXRoZXIgb3Igbm90IHRv
IGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMuCmJ1aWxkX2xpYnRvb2xfbGlicz15
ZXMKCiMgV2hldGhlciBvciBub3QgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmll
cy4KYnVpbGRfb2xkX2xpYnM9eWVzCgojIFdoYXQgdHlwZSBvZiBvYmplY3Rz
IHRvIGJ1aWxkLgpwaWNfbW9kZT1kZWZhdWx0CgojIFdoZXRoZXIgb3Igbm90
IHRvIG9wdGltaXplIGZvciBmYXN0IGluc3RhbGxhdGlvbi4KZmFzdF9pbnN0
YWxsPW5lZWRsZXNzCgojIFNoZWxsIHRvIHVzZSB3aGVuIGludm9raW5nIHNo
ZWxsIHNjcmlwdHMuClNIRUxMPSIvYmluL3NoIgoKIyBBbiBlY2hvIHByb2dy
YW0gdGhhdCBwcm90ZWN0cyBiYWNrc2xhc2hlcy4KRUNITz0icHJpbnRmICVz
XFxuIgoKIyBUaGUgUEFUSCBzZXBhcmF0b3IgZm9yIHRoZSBidWlsZCBzeXN0
ZW0uClBBVEhfU0VQQVJBVE9SPSI6IgoKIyBUaGUgaG9zdCBzeXN0ZW0uCmhv
c3RfYWxpYXM9Cmhvc3Q9aTY4Ni1wYy1taW5ndzMyCmhvc3Rfb3M9bWluZ3cz
MgoKIyBUaGUgYnVpbGQgc3lzdGVtLgpidWlsZF9hbGlhcz0KYnVpbGQ9aTY4
Ni1wYy1taW5ndzMyCmJ1aWxkX29zPW1pbmd3MzIKCiMgQSBzZWQgcHJvZ3Jh
bSB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4KU0VEPSIvYmluL3Nl
ZCIKCiMgU2VkIHRoYXQgaGVscHMgdXMgYXZvaWQgYWNjaWRlbnRhbGx5IHRy
aWdnZXJpbmcgZWNobygxKSBvcHRpb25zIGxpa2UgLW4uClhzZWQ9IiRTRUQg
LWUgMXMvXlgvLyIKCiMgQSBncmVwIHByb2dyYW0gdGhhdCBoYW5kbGVzIGxv
bmcgbGluZXMuCkdSRVA9Ii9iaW4vZ3JlcCIKCiMgQW4gRVJFIG1hdGNoZXIu
CkVHUkVQPSIvYmluL2dyZXAgLUUiCgojIEEgbGl0ZXJhbCBzdHJpbmcgbWF0
Y2hlci4KRkdSRVA9Ii9iaW4vZ3JlcCAtRiIKCiMgQSBCU0QtIG9yIE1TLWNv
bXBhdGlibGUgbmFtZSBsaXN0ZXIuCk5NPSIvYmluL25tIC1CIgoKIyBXaGV0
aGVyIHdlIG5lZWQgc29mdCBvciBoYXJkIGxpbmtzLgpMTl9TPSJjcCAtcCIK
CiMgV2hhdCBpcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgYSBjb21tYW5kPwpt
YXhfY21kX2xlbj04MTkyCgojIE9iamVjdCBmaWxlIHN1ZmZpeCAobm9ybWFs
bHkgIm8iKS4Kb2JqZXh0PW8KCiMgRXhlY3V0YWJsZSBmaWxlIHN1ZmZpeCAo
bm9ybWFsbHkgIiIpLgpleGVleHQ9CgojIHdoZXRoZXIgdGhlIHNoZWxsIHVu
ZGVyc3RhbmRzICJ1bnNldCIuCmx0X3Vuc2V0PXVuc2V0CgojIHR1cm4gc3Bh
Y2VzIGludG8gbmV3bGluZXMuClNQMk5MPSJ0ciBcXDA0MCBcXDAxMiIKCiMg
dHVybiBuZXdsaW5lcyBpbnRvIHNwYWNlcy4KTkwyU1A9InRyIFxcMDE1XFww
MTIgXFwwNDBcXDA0MCIKCiMgY29udmVydCAkYnVpbGQgZmlsZSBuYW1lcyB0
byAkaG9zdCBmb3JtYXQuCnRvX2hvc3RfZmlsZV9jbWQ9ZnVuY19jb252ZXJ0
X2ZpbGVfbXN5c190b193MzIKCiMgY29udmVydCAkYnVpbGQgZmlsZXMgdG8g
dG9vbGNoYWluIGZvcm1hdC4KdG9fdG9vbF9maWxlX2NtZD1mdW5jX2NvbnZl
cnRfZmlsZV9tc3lzX3RvX3czMgoKIyBNZXRob2QgdG8gY2hlY2sgd2hldGhl
ciBkZXBlbmRlbnQgbGlicmFyaWVzIGFyZSBzaGFyZWQgb2JqZWN0cy4KZGVw
bGlic19jaGVja19tZXRob2Q9ImZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGlt
cG9ydHxeeDg2IERMTCIKCiMgQ29tbWFuZCB0byB1c2Ugd2hlbiBkZXBsaWJz
X2NoZWNrX21ldGhvZCA9ICJmaWxlX21hZ2ljIi4KZmlsZV9tYWdpY19jbWQ9
ImZ1bmNfd2luMzJfbGliaWQiCgojIEhvdyB0byBmaW5kIHBvdGVudGlhbCBm
aWxlcyB3aGVuIGRlcGxpYnNfY2hlY2tfbWV0aG9kID0gImZpbGVfbWFnaWMi
LgpmaWxlX21hZ2ljX2dsb2I9IiIKCiMgRmluZCBwb3RlbnRpYWwgZmlsZXMg
dXNpbmcgbm9jYXNlZ2xvYiB3aGVuIGRlcGxpYnNfY2hlY2tfbWV0aG9kID0g
ImZpbGVfbWFnaWMiLgp3YW50X25vY2FzZWdsb2I9InllcyIKCiMgQ29tbWFu
ZCB0byBhc3NvY2lhdGUgc2hhcmVkIGFuZCBsaW5rIGxpYnJhcmllcy4Kc2hh
cmVkbGliX2Zyb21fbGlua2xpYl9jbWQ9ImZ1bmNfY3lnbWluZ19kbGxfZm9y
X2ltcGxpYiIKCiMgVGhlIGFyY2hpdmVyLgpBUj0iYXIiCgojIEZsYWdzIHRv
IGNyZWF0ZSBhbiBhcmNoaXZlLgpBUl9GTEFHUz0iY3J1IgoKIyBIb3cgdG8g
ZmVlZCBhIGZpbGUgbGlzdGluZyB0byB0aGUgYXJjaGl2ZXIuCmFyY2hpdmVy
X2xpc3Rfc3BlYz0iQCIKCiMgQSBzeW1ib2wgc3RyaXBwaW5nIHByb2dyYW0u
ClNUUklQPSJzdHJpcCIKCiMgQ29tbWFuZHMgdXNlZCB0byBpbnN0YWxsIGFu
IG9sZC1zdHlsZSBhcmNoaXZlLgpSQU5MSUI9InJhbmxpYiIKb2xkX3Bvc3Rp
bnN0YWxsX2NtZHM9ImNobW9kIDY0NCBcJG9sZGxpYn5cJFJBTkxJQiBcJHRv
b2xfb2xkbGliIgpvbGRfcG9zdHVuaW5zdGFsbF9jbWRzPSIiCgojIFdoZXRo
ZXIgdG8gdXNlIGEgbG9jayBmb3Igb2xkIGFyY2hpdmUgZXh0cmFjdGlvbi4K
bG9ja19vbGRfYXJjaGl2ZV9leHRyYWN0aW9uPW5vCgojIEEgQyBjb21waWxl
ci4KTFRDQz0iZ2NjIgoKIyBMVENDIGNvbXBpbGVyIGZsYWdzLgpMVENGTEFH
Uz0iLWcgLU8yIgoKIyBUYWtlIHRoZSBvdXRwdXQgb2Ygbm0gYW5kIHByb2R1
Y2UgYSBsaXN0aW5nIG9mIHJhdyBzeW1ib2xzIGFuZCBDIG5hbWVzLgpnbG9i
YWxfc3ltYm9sX3BpcGU9InNlZCAtbiAtZSAncy9eLipbCSBdXFwoW0FCQ0RH
SVJTVFddW0FCQ0RHSVJTVFddKlxcKVsJIF1bCSBdKl9cXChbX0EtWmEtel1b
X0EtWmEtejAtOV0qXFwpXFx7MCwxXFx9XCQvXFwxIF9cXDIgXFwyL3AnIHwg
c2VkICcvIF9fZ251X2x0by9kJyIKCiMgVHJhbnNmb3JtIHRoZSBvdXRwdXQg
b2Ygbm0gaW4gYSBwcm9wZXIgQyBkZWNsYXJhdGlvbi4KZ2xvYmFsX3N5bWJv
bF90b19jZGVjbD0ic2VkIC1uIC1lICdzL15UIC4qIFxcKC4qXFwpXCQvZXh0
ZXJuIGludCBcXDEoKTsvcCcgLWUgJ3MvXltBQkNER0lSU1RXXSogLiogXFwo
LipcXClcJC9leHRlcm4gY2hhciBcXDE7L3AnIgoKIyBUcmFuc2Zvcm0gdGhl
IG91dHB1dCBvZiBubSBpbiBhIEMgbmFtZSBhZGRyZXNzIHBhaXIuCmdsb2Jh
bF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9InNlZCAtbiAtZSAncy9eOiBc
XChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZvaWQgKikgMH0s
L3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxcKFteIF0q
XFwpXCQvICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwyfSwvcCciCgojIFRy
YW5zZm9ybSB0aGUgb3V0cHV0IG9mIG5tIGluIGEgQyBuYW1lIGFkZHJlc3Mg
cGFpciB3aGVuIGxpYiBwcmVmaXggaXMgbmVlZGVkLgpnbG9iYWxfc3ltYm9s
X3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXg9InNlZCAtbiAtZSAncy9e
OiBcXChbXiBdKlxcKVsgXSpcJC8gIHtcXFwiXFwxXFxcIiwgKHZvaWQgKikg
MH0sL3AnIC1lICdzL15bQUJDREdJUlNUV10qIFxcKFteIF0qXFwpIFxcKGxp
YlteIF0qXFwpXCQvICB7XCJcXDJcIiwgKHZvaWQgKikgXFwmXFwyfSwvcCcg
LWUgJ3MvXltBQkNER0lSU1RXXSogXFwoW14gXSpcXCkgXFwoW14gXSpcXClc
JC8gIHtcImxpYlxcMlwiLCAodm9pZCAqKSBcXCZcXDJ9LC9wJyIKCiMgU3Bl
Y2lmeSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzIGZvciAkTk0u
Cm5tX2ZpbGVfbGlzdF9zcGVjPSJAIgoKIyBUaGUgcm9vdCB3aGVyZSB0byBz
ZWFyY2ggZm9yIGRlcGVuZGVudCBsaWJyYXJpZXMsYW5kIGluIHdoaWNoIG91
ciBsaWJyYXJpZXMgc2hvdWxkIGJlIGluc3RhbGxlZC4KbHRfc3lzcm9vdD0K
CiMgVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRl
bXBvcmFyeSBsaWJ0b29sIGZpbGVzLgpvYmpkaXI9LmxpYnMKCiMgVXNlZCB0
byBleGFtaW5lIGxpYnJhcmllcyB3aGVuIGZpbGVfbWFnaWNfY21kIGJlZ2lu
cyB3aXRoICJmaWxlIi4KTUFHSUNfQ01EPWZpbGUKCiMgTXVzdCB3ZSBsb2Nr
IGZpbGVzIHdoZW4gZG9pbmcgY29tcGlsYXRpb24/Cm5lZWRfbG9ja3M9Im5v
IgoKIyBNYW5pZmVzdCB0b29sLgpNQU5JRkVTVF9UT09MPSI6IgoKIyBUb29s
IHRvIG1hbmlwdWxhdGUgYXJjaGl2ZWQgRFdBUkYgZGVidWcgc3ltYm9sIGZp
bGVzIG9uIE1hYyBPUyBYLgpEU1lNVVRJTD0iIgoKIyBUb29sIHRvIGNoYW5n
ZSBnbG9iYWwgdG8gbG9jYWwgc3ltYm9scyBvbiBNYWMgT1MgWC4KTk1FRElU
PSIiCgojIFRvb2wgdG8gbWFuaXB1bGF0ZSBmYXQgb2JqZWN0cyBhbmQgYXJj
aGl2ZXMgb24gTWFjIE9TIFguCkxJUE89IiIKCiMgbGRkL3JlYWRlbGYgbGlr
ZSB0b29sIGZvciBNYWNoLU8gYmluYXJpZXMgb24gTWFjIE9TIFguCk9UT09M
PSIiCgojIGxkZC9yZWFkZWxmIGxpa2UgdG9vbCBmb3IgNjQgYml0IE1hY2gt
TyBiaW5hcmllcyBvbiBNYWMgT1MgWCAxMC40LgpPVE9PTDY0PSIiCgojIE9s
ZCBhcmNoaXZlIHN1ZmZpeCAobm9ybWFsbHkgImEiKS4KbGliZXh0PWEKCiMg
U2hhcmVkIGxpYnJhcnkgc3VmZml4IChub3JtYWxseSAiLnNvIikuCnNocmV4
dF9jbWRzPSIuZGxsIgoKIyBUaGUgY29tbWFuZHMgdG8gZXh0cmFjdCB0aGUg
ZXhwb3J0ZWQgc3ltYm9sIGxpc3QgZnJvbSBhIHNoYXJlZCBhcmNoaXZlLgpl
eHRyYWN0X2V4cHN5bXNfY21kcz0iIgoKIyBWYXJpYWJsZXMgd2hvc2UgdmFs
dWVzIHNob3VsZCBiZSBzYXZlZCBpbiBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0
cyBhbmQKIyByZXN0b3JlZCBhdCBsaW5rIHRpbWUuCnZhcmlhYmxlc19zYXZl
ZF9mb3JfcmVsaW5rPSJQQVRIIFBBVEggTERfUlVOX1BBVEggR0NDX0VYRUNf
UFJFRklYIENPTVBJTEVSX1BBVEggTElCUkFSWV9QQVRIIgoKIyBEbyB3ZSBu
ZWVkIHRoZSAibGliIiBwcmVmaXggZm9yIG1vZHVsZXM/Cm5lZWRfbGliX3By
ZWZpeD1ubwoKIyBEbyB3ZSBuZWVkIGEgdmVyc2lvbiBmb3IgbGlicmFyaWVz
PwpuZWVkX3ZlcnNpb249bm8KCiMgTGlicmFyeSB2ZXJzaW9uaW5nIHR5cGUu
CnZlcnNpb25fdHlwZT13aW5kb3dzCgojIFNoYXJlZCBsaWJyYXJ5IHJ1bnRp
bWUgcGF0aCB2YXJpYWJsZS4KcnVucGF0aF92YXI9TERfUlVOX1BBVEgKCiMg
U2hhcmVkIGxpYnJhcnkgcGF0aCB2YXJpYWJsZS4Kc2hsaWJwYXRoX3Zhcj1Q
QVRICgojIElzIHNobGlicGF0aCBzZWFyY2hlZCBiZWZvcmUgdGhlIGhhcmQt
Y29kZWQgbGlicmFyeSBzZWFyY2ggcGF0aD8Kc2hsaWJwYXRoX292ZXJyaWRl
c19ydW5wYXRoPXllcwoKIyBGb3JtYXQgb2YgbGlicmFyeSBuYW1lIHByZWZp
eC4KbGlibmFtZV9zcGVjPSJsaWJcJG5hbWUiCgojIExpc3Qgb2YgYXJjaGl2
ZSBuYW1lcy4gIEZpcnN0IG5hbWUgaXMgdGhlIHJlYWwgb25lLCB0aGUgcmVz
dCBhcmUgbGlua3MuCiMgVGhlIGxhc3QgbmFtZSBpcyB0aGUgb25lIHRoYXQg
dGhlIGxpbmtlciBmaW5kcyB3aXRoIC1sTkFNRQpsaWJyYXJ5X25hbWVzX3Nw
ZWM9IlwkbGlibmFtZS5kbGwuYSIKCiMgVGhlIGNvZGVkIG5hbWUgb2YgdGhl
IGxpYnJhcnksIGlmIGRpZmZlcmVudCBmcm9tIHRoZSByZWFsIG5hbWUuCnNv
bmFtZV9zcGVjPSJcJHtsaWJuYW1lfVxgZWNobyBcJHtyZWxlYXNlfSB8IFwk
U0VEIC1lIHMvWy5dLy0vZ1xgXCR7dmVyc3VmZml4fVwke3NoYXJlZF9leHR9
IgoKIyBQZXJtaXNzaW9uIG1vZGUgb3ZlcnJpZGUgZm9yIGluc3RhbGxhdGlv
biBvZiBzaGFyZWQgbGlicmFyaWVzLgppbnN0YWxsX292ZXJyaWRlX21vZGU9
IiIKCiMgQ29tbWFuZCB0byB1c2UgYWZ0ZXIgaW5zdGFsbGF0aW9uIG9mIGEg
c2hhcmVkIGFyY2hpdmUuCnBvc3RpbnN0YWxsX2NtZHM9ImJhc2VfZmlsZT1c
XFxgYmFzZW5hbWUgXFxcJHtmaWxlfVxcXGB+CiAgICAgIGRscGF0aD1cXFxg
XCRTSEVMTCAyPiYxIC1jICcuIFwkZGlyLydcXFwke2Jhc2VfZmlsZX0naTsg
ZWNobyBcXFwkZGxuYW1lJ1xcXGB+CiAgICAgIGRsZGlyPVwkZGVzdGRpci9c
XFxgZGlybmFtZSBcXFwkZGxwYXRoXFxcYH4KICAgICAgdGVzdCAtZCBcXFwk
ZGxkaXIgfHwgbWtkaXIgLXAgXFxcJGRsZGlyfgogICAgICBcJGluc3RhbGxf
cHJvZyBcJGRpci9cJGRsbmFtZSBcXFwkZGxkaXIvXCRkbG5hbWV+CiAgICAg
IGNobW9kIGEreCBcXFwkZGxkaXIvXCRkbG5hbWV+CiAgICAgIGlmIHRlc3Qg
LW4gJ1wkc3RyaXBtZScgJiYgdGVzdCAtbiAnXCRzdHJpcGxpYic7IHRoZW4K
ICAgICAgICBldmFsICdcJHN0cmlwbGliIFxcXCRkbGRpci9cJGRsbmFtZScg
fHwgZXhpdCBcXFwkPzsKICAgICAgZmkiCgojIENvbW1hbmQgdG8gdXNlIGFm
dGVyIHVuaW5zdGFsbGF0aW9uIG9mIGEgc2hhcmVkIGFyY2hpdmUuCnBvc3R1
bmluc3RhbGxfY21kcz0iZGxkbGw9XFxcYFwkU0hFTEwgMj4mMSAtYyAnLiBc
JGZpbGU7IGVjaG8gXFxcJGRsbmFtZSdcXFxgfgogICAgICBkbHBhdGg9XCRk
aXIvXFxcJGRsZGxsfgogICAgICAgXCRSTSBcXFwkZGxwYXRoIgoKIyBDb21t
YW5kcyB1c2VkIHRvIGZpbmlzaCBhIGxpYnRvb2wgbGlicmFyeSBpbnN0YWxs
YXRpb24gaW4gYSBkaXJlY3RvcnkuCmZpbmlzaF9jbWRzPSIiCgojIEFzICJm
aW5pc2hfY21kcyIsIGV4Y2VwdCBhIHNpbmdsZSBzY3JpcHQgZnJhZ21lbnQg
dG8gYmUgZXZhbGVkIGJ1dAojIG5vdCBzaG93bi4KZmluaXNoX2V2YWw9IiIK
CiMgV2hldGhlciB3ZSBzaG91bGQgaGFyZGNvZGUgbGlicmFyeSBwYXRocyBp
bnRvIGxpYnJhcmllcy4KaGFyZGNvZGVfaW50b19saWJzPW5vCgojIENvbXBp
bGUtdGltZSBzeXN0ZW0gc2VhcmNoIHBhdGggZm9yIGxpYnJhcmllcy4Kc3lz
X2xpYl9zZWFyY2hfcGF0aF9zcGVjPSJjOi90aW5ndy9saWIvZ2NjL21pbmd3
MzIvNC44LjEgYzovdGluZ3cvbGliL2djYyBjOi90aW5ndy9taW5ndzMyL2xp
YiBjOi90aW5ndy9saWIgIgoKIyBSdW4tdGltZSBzeXN0ZW0gc2VhcmNoIHBh
dGggZm9yIGxpYnJhcmllcy4Kc3lzX2xpYl9kbHNlYXJjaF9wYXRoX3NwZWM9
Ii9saWIgL3Vzci9saWIiCgojIFdoZXRoZXIgZGxvcGVuIGlzIHN1cHBvcnRl
ZC4KZGxvcGVuX3N1cHBvcnQ9eWVzCgojIFdoZXRoZXIgZGxvcGVuIG9mIHBy
b2dyYW1zIGlzIHN1cHBvcnRlZC4KZGxvcGVuX3NlbGY9dW5rbm93bgoKIyBX
aGV0aGVyIGRsb3BlbiBvZiBzdGF0aWNhbGx5IGxpbmtlZCBwcm9ncmFtcyBp
cyBzdXBwb3J0ZWQuCmRsb3Blbl9zZWxmX3N0YXRpYz11bmtub3duCgojIENv
bW1hbmRzIHRvIHN0cmlwIGxpYnJhcmllcy4Kb2xkX3N0cmlwbGliPSJzdHJp
cCAtLXN0cmlwLWRlYnVnIgpzdHJpcGxpYj0ic3RyaXAgLS1zdHJpcC11bm5l
ZWRlZCIKCgojIFRoZSBsaW5rZXIgdXNlZCB0byBidWlsZCBsaWJyYXJpZXMu
CkxEPSJjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUiCgojIEhvdyB0byBj
cmVhdGUgcmVsb2FkYWJsZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSIg
LXIiCnJlbG9hZF9jbWRzPSJcJExEXCRyZWxvYWRfZmxhZyAtbyBcJG91dHB1
dFwkcmVsb2FkX29ianMiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYW4g
b2xkLXN0eWxlIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2NtZHM9IlwkQVIgXCRB
Ul9GTEFHUyBcJG9sZGxpYlwkb2xkb2Jqc35cJFJBTkxJQiBcJHRvb2xfb2xk
bGliIgoKIyBBIGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iZ2Nj
IgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9n
Y2M9eWVzCgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBm
dW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIC1mbm8tYnVpbHRpbiIKCiMg
QWRkaXRpb25hbCBjb21waWxlciBmbGFncyBmb3IgYnVpbGRpbmcgbGlicmFy
eSBvYmplY3RzLgpwaWNfZmxhZz0iIC1ERExMX0VYUE9SVCAtRFBJQyIKCiMg
SG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxl
ci4Kd2w9Ii1XbCwiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5h
bWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9Ii1zdGF0aWMiCgojIERv
ZXMgY29tcGlsZXIgc2ltdWx0YW5lb3VzbHkgc3VwcG9ydCAtYyBhbmQgLW8g
b3B0aW9ucz8KY29tcGlsZXJfY19vPSJ5ZXMiCgojIFdoZXRoZXIgb3Igbm90
IHRvIGFkZCAtbGMgZm9yIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMuCmJ1
aWxkX2xpYnRvb2xfbmVlZF9sYz15ZXMKCiMgV2hldGhlciBvciBub3QgdG8g
ZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0
YXRpYy4KYWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVz
PXllcwoKIyBDb21waWxlciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9w
ZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3NwZWM9Ilwke3dsfS0tZXhwb3J0
LWFsbC1zeW1ib2xzIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHNo
YXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xlX2Fy
Y2hpdmVfZmxhZ19zcGVjPSJcJHt3bH0tLXdob2xlLWFyY2hpdmVcJGNvbnZl
bmllbmNlIFwke3dsfS0tbm8td2hvbGUtYXJjaGl2ZSIKCiMgV2hldGhlciB0
aGUgY29tcGlsZXIgY29wZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGly
ZWN0bHkuCmNvbXBpbGVyX25lZWRzX29iamVjdD0ibm8iCgojIENyZWF0ZSBh
biBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9s
ZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9y
YXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNo
YXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0i
IgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUu
CmFyY2hpdmVfY21kcz0iXCRDQyAtc2hhcmVkIFwkbGlib2JqcyBcJGRlcGxp
YnMgXCRjb21waWxlcl9mbGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25h
bWUgXCR7d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0t
b3V0LWltcGxpYiAtWGxpbmtlciBcJGxpYiIKYXJjaGl2ZV9leHBzeW1fY21k
cz0iaWYgdGVzdCBcXFwieFxcXGBcJFNFRCAxcSBcJGV4cG9ydF9zeW1ib2xz
XFxcYFxcXCIgPSB4RVhQT1JUUzsgdGhlbgoJICBjcCBcJGV4cG9ydF9zeW1i
b2xzIFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7CgllbHNlCgkgIGVj
aG8gRVhQT1JUUyA+IFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7Cgkg
IGNhdCBcJGV4cG9ydF9zeW1ib2xzID4+IFwkb3V0cHV0X29iamRpci9cJHNv
bmFtZS5kZWY7CglmaX4KCVwkQ0MgLXNoYXJlZCBcJG91dHB1dF9vYmpkaXIv
XCRzb25hbWUuZGVmIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRjb21waWxlcl9m
bGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUgXCR7d2x9LS1lbmFi
bGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxp
bmtlciBcJGxpYiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhIGxvYWRh
YmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBidWlsZGluZwojIGEgc2hh
cmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSIiCm1vZHVsZV9leHBzeW1fY21k
cz0iIgoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3aXRoIEdOVSBsZCBv
ciBub3QuCndpdGhfZ251X2xkPSJ5ZXMiCgojIEZsYWcgdGhhdCBhbGxvd3Mg
c2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBzeW1ib2xzIHRvIGJl
IGJ1aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0idW5zdXBwb3J0ZWQiCgoj
IEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9f
dW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJkY29kZSAkbGliZGly
IGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdv
cmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0CmhhcmRjb2RlX2xp
YmRpcl9mbGFnX3NwZWM9Ii1MXCRsaWJkaXIiCgojIFdoZXRoZXIgd2UgbmVl
ZCBhIHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJn
dW1lbnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0IHRv
ICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJp
bmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5n
IGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0byAieWVzIiBp
ZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtp
bmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkg
YW5kIHRoZSByZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFi
c29sdXRlIixpLmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyAk
e3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMgcmVsb2NhdGVk
LgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9bm8KCiMgU2V0IHRvICJ5ZXMi
IGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRj
b2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29k
ZV9taW51c19MPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBB
VEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50
byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zh
cj11bnN1cHBvcnRlZAoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRpbmcgYSBz
aGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMg
YW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhhcmRjb2Rl
X2F1dG9tYXRpYz1ubwoKIyBTZXQgdG8geWVzIGlmIGxpbmtlciBhZGRzIHJ1
bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJhcmllcwojIHRvIHJ1bnRp
bWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPW5vCgojIFdoZXRoZXIgbGli
dG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBl
bmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVwbGlicz11bmtub3duCgoj
IFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJl
ZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCgojIFRoZSBjb21tYW5kcyB0
byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9ydF9zeW1ib2xzX2NtZHM9
IlwkTk0gXCRsaWJvYmpzIFwkY29udmVuaWVuY2UgfCBcJGdsb2JhbF9zeW1i
b2xfcGlwZSB8IFwkU0VEIC1lICcvXltCQ0RHUlNdWyBdL3MvLipbIF1cXFxc
KFteIF0qXFxcXCkvXFxcXDEgREFUQS87cy9eLipbIF1fX25tX19cXFxcKFte
IF0qXFxcXClbIF1bXiBdKi9cXFxcMSBEQVRBLzsvXklbIF0vZDsvXltBSVRX
XVsgXS9zLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBvcnRfc3ltYm9s
cyIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlzdGVkIGluIHRo
ZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1zPSJbX10rR0xP
QkFMX09GRlNFVF9UQUJMRV98W19dK0dMT0JBTF9fW0ZJRF1fLip8W19dK2hl
YWRfW0EtWmEtejAtOV9dK19kbGx8W0EtWmEtejAtOV9dK19kbGxfaW5hbWUi
CgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBvcnRlZC4KaW5j
bHVkZV9leHBzeW1zPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgbGlu
a2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdpdGggdGVtcGxh
dGVzLgpwcmVsaW5rX2NtZHM9IiIKCiMgQ29tbWFuZHMgbmVjZXNzYXJ5IGZv
ciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxpbmtfY21kcz0i
IgoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5wdXQgZmlsZXMu
CmZpbGVfbGlzdF9zcGVjPSIiCgojIEhvdyB0byBoYXJkY29kZSBhIHNoYXJl
ZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpoYXJkY29kZV9h
Y3Rpb249aW1tZWRpYXRlCgojIFRoZSBkaXJlY3RvcmllcyBzZWFyY2hlZCBi
eSB0aGlzIGNvbXBpbGVyIHdoZW4gY3JlYXRpbmcgYSBzaGFyZWQgbGlicmFy
eS4KY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzPSIiCgojIERlcGVuZGVuY2ll
cyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJlaW5n
IGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5LgpwcmVkZXBf
b2JqZWN0cz0iIgpwb3N0ZGVwX29iamVjdHM9IiIKcHJlZGVwcz0iIgpwb3N0
ZGVwcz0iIgoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGludGVy
bmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hhcmVk
IGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aD0iIgoKIyAjIyMg
RU5EIExJQlRPT0wgQ09ORklHCgoKIyBsaWJ0b29sIChHTlUgbGlidG9vbCkg
Mi40LjIKIyBXcml0dGVuIGJ5IEdvcmRvbiBNYXR6aWdrZWl0IDxnb3JkQGdu
dS5haS5taXQuZWR1PiwgMTk5NgoKIyBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5
OTcsIDE5OTgsIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUs
IDIwMDYsCiMgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBUaGlzIGlzIGZyZWUgc29mdHdh
cmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBU
aGVyZSBpcyBOTwojIHdhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgoK
IyBHTlUgTGlidG9vbCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBBcyBhIHNwZWNpYWwgZXhjZXB0
aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKIyBpZiB5
b3UgZGlzdHJpYnV0ZSB0aGlzIGZpbGUgYXMgcGFydCBvZiBhIHByb2dyYW0g
b3IgbGlicmFyeSB0aGF0CiMgaXMgYnVpbHQgdXNpbmcgR05VIExpYnRvb2ws
IHlvdSBtYXkgaW5jbHVkZSB0aGlzIGZpbGUgdW5kZXIgdGhlCiMgc2FtZSBk
aXN0cmlidXRpb24gdGVybXMgdGhhdCB5b3UgdXNlIGZvciB0aGUgcmVzdCBv
ZiB0aGF0IHByb2dyYW0uCiMKIyBHTlUgTGlidG9vbCBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKIyBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKIyBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMKIyBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggR05VIExpYnRvb2w7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLiAgSWYgbm90LCBhIGNvcHkKIyBjYW4gYmUgZG93
bmxvYWRlZCBmcm9tIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwu
aHRtbCwKIyBvciBvYnRhaW5lZCBieSB3cml0aW5nIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCiMgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCgoj
IFVzYWdlOiAkcHJvZ25hbWUgW09QVElPTl0uLi4gW01PREUtQVJHXS4uLgoj
CiMgUHJvdmlkZSBnZW5lcmFsaXplZCBsaWJyYXJ5LWJ1aWxkaW5nIHN1cHBv
cnQgc2VydmljZXMuCiMKIyAgICAgICAtLWNvbmZpZyAgICAgICAgICAgICBz
aG93IGFsbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcwojICAgICAgIC0tZGVi
dWcgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIHNoZWxsIHRyYWNpbmcK
IyAgIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkaXNwbGF5IGNvbW1hbmRz
IHdpdGhvdXQgbW9kaWZ5aW5nIGFueSBmaWxlcwojICAgICAgIC0tZmVhdHVy
ZXMgICAgICAgICAgIGRpc3BsYXkgYmFzaWMgY29uZmlndXJhdGlvbiBpbmZv
cm1hdGlvbiBhbmQgZXhpdAojICAgICAgIC0tbW9kZT1NT0RFICAgICAgICAg
IHVzZSBvcGVyYXRpb24gbW9kZSBNT0RFCiMgICAgICAgLS1wcmVzZXJ2ZS1k
dXAtZGVwcyAgZG9uJ3QgcmVtb3ZlIGR1cGxpY2F0ZSBkZXBlbmRlbmN5IGxp
YnJhcmllcwojICAgICAgIC0tcXVpZXQsIC0tc2lsZW50ICAgIGRvbid0IHBy
aW50IGluZm9ybWF0aW9uYWwgbWVzc2FnZXMKIyAgICAgICAtLW5vLXF1aWV0
LCAtLW5vLXNpbGVudAojICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy
aW50IGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgKGRlZmF1bHQpCiMgICAgICAg
LS1uby13YXJuICAgICAgICAgICAgZG9uJ3QgZGlzcGxheSB3YXJuaW5nIG1l
c3NhZ2VzCiMgICAgICAgLS10YWc9VEFHICAgICAgICAgICAgdXNlIGNvbmZp
Z3VyYXRpb24gdmFyaWFibGVzIGZyb20gdGFnIFRBRwojICAgLXYsIC0tdmVy
Ym9zZSAgICAgICAgICAgIHByaW50IG1vcmUgaW5mb3JtYXRpb25hbCBtZXNz
YWdlcyB0aGFuIGRlZmF1bHQKIyAgICAgICAtLW5vLXZlcmJvc2UgICAgICAg
ICBkb24ndCBwcmludCB0aGUgZXh0cmEgaW5mb3JtYXRpb25hbCBtZXNzYWdl
cwojICAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgIHByaW50IHZlcnNpb24g
aW5mb3JtYXRpb24KIyAgIC1oLCAtLWhlbHAsIC0taGVscC1hbGwgICBwcmlu
dCBzaG9ydCwgbG9uZywgb3IgZGV0YWlsZWQgaGVscCBtZXNzYWdlCiMKIyBN
T0RFIG11c3QgYmUgb25lIG9mIHRoZSBmb2xsb3dpbmc6CiMKIyAgICAgICAg
IGNsZWFuICAgICAgICAgICAgICByZW1vdmUgZmlsZXMgZnJvbSB0aGUgYnVp
bGQgZGlyZWN0b3J5CiMgICAgICAgICBjb21waWxlICAgICAgICAgICAgY29t
cGlsZSBhIHNvdXJjZSBmaWxlIGludG8gYSBsaWJ0b29sIG9iamVjdAojICAg
ICAgICAgZXhlY3V0ZSAgICAgICAgICAgIGF1dG9tYXRpY2FsbHkgc2V0IGxp
YnJhcnkgcGF0aCwgdGhlbiBydW4gYSBwcm9ncmFtCiMgICAgICAgICBmaW5p
c2ggICAgICAgICAgICAgY29tcGxldGUgdGhlIGluc3RhbGxhdGlvbiBvZiBs
aWJ0b29sIGxpYnJhcmllcwojICAgICAgICAgaW5zdGFsbCAgICAgICAgICAg
IGluc3RhbGwgbGlicmFyaWVzIG9yIGV4ZWN1dGFibGVzCiMgICAgICAgICBs
aW5rICAgICAgICAgICAgICAgY3JlYXRlIGEgbGlicmFyeSBvciBhbiBleGVj
dXRhYmxlCiMgICAgICAgICB1bmluc3RhbGwgICAgICAgICAgcmVtb3ZlIGxp
YnJhcmllcyBmcm9tIGFuIGluc3RhbGxlZCBkaXJlY3RvcnkKIwojIE1PREUt
QVJHUyB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgTU9ERS4gIFdoZW4gcGFzc2Vk
IGFzIGZpcnN0IG9wdGlvbiwKIyBgLS1tb2RlPU1PREUnIG1heSBiZSBhYmJy
ZXZpYXRlZCBhcyBgTU9ERScgb3IgYSB1bmlxdWUgYWJicmV2aWF0aW9uIG9m
IHRoYXQuCiMgVHJ5IGAkcHJvZ25hbWUgLS1oZWxwIC0tbW9kZT1NT0RFJyBm
b3IgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIE1PREUuCiMKIyBX
aGVuIHJlcG9ydGluZyBhIGJ1ZywgcGxlYXNlIGRlc2NyaWJlIGEgdGVzdCBj
YXNlIHRvIHJlcHJvZHVjZSBpdCBhbmQKIyBpbmNsdWRlIHRoZSBmb2xsb3dp
bmcgaW5mb3JtYXRpb246CiMKIyAgICAgICAgIGhvc3QtdHJpcGxldDoJJGhv
c3QKIyAgICAgICAgIHNoZWxsOgkJJFNIRUxMCiMgICAgICAgICBjb21waWxl
cjoJCSRMVENDCiMgICAgICAgICBjb21waWxlciBmbGFnczoJCSRMVENGTEFH
UwojICAgICAgICAgbGlua2VyOgkJJExEIChnbnU/ICR3aXRoX2dudV9sZCkK
IyAgICAgICAgICRwcm9nbmFtZToJKEdOVSBsaWJ0b29sKSAyLjQuMgojICAg
ICAgICAgYXV0b21ha2U6CSRhdXRvbWFrZV92ZXJzaW9uCiMgICAgICAgICBh
dXRvY29uZjoJJGF1dG9jb25mX3ZlcnNpb24KIwojIFJlcG9ydCBidWdzIHRv
IDxidWctbGlidG9vbEBnbnUub3JnPi4KIyBHTlUgbGlidG9vbCBob21lIHBh
Z2U6IDxodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvbGlidG9vbC8+Lgoj
IEdlbmVyYWwgaGVscCB1c2luZyBHTlUgc29mdHdhcmU6IDxodHRwOi8vd3d3
LmdudS5vcmcvZ2V0aGVscC8+LgoKUFJPR1JBTT1saWJ0b29sClBBQ0tBR0U9
bGlidG9vbApWRVJTSU9OPTIuNC4yClRJTUVTVEFNUD0iIgpwYWNrYWdlX3Jl
dmlzaW9uPTEuMzMzNwoKIyBCZSBCb3VybmUgY29tcGF0aWJsZQppZiB0ZXN0
IC1uICIke1pTSF9WRVJTSU9OK3NldH0iICYmIChlbXVsYXRlIHNoKSA+L2Rl
di9udWxsIDI+JjE7IHRoZW4KICBlbXVsYXRlIHNoCiAgTlVMTENNRD06CiAg
IyBac2ggMy54IGFuZCA0LnggcGVyZm9ybXMgd29yZCBzcGxpdHRpbmcgb24g
JHsxKyIkQCJ9LCB3aGljaAogICMgaXMgY29udHJhcnkgdG8gb3VyIHVzYWdl
LiAgRGlzYWJsZSB0aGlzIGZlYXR1cmUuCiAgYWxpYXMgLWcgJyR7MSsiJEAi
fSc9JyIkQCInCiAgc2V0b3B0IE5PX0dMT0JfU1VCU1QKZWxzZQogIGNhc2Ug
YChzZXQgLW8pIDI+L2Rldi9udWxsYCBpbiAqcG9zaXgqKSBzZXQgLW8gcG9z
aXg7OyBlc2FjCmZpCkJJTl9TSD14cGc0OyBleHBvcnQgQklOX1NIICMgZm9y
IFRydTY0CkRVQUxDQVNFPTE7IGV4cG9ydCBEVUFMQ0FTRSAjIGZvciBNS1Mg
c2gKCiMgQSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgd2hlbiB0aGVyZSBpcyBu
byBwcmludCBidWlsdGluIG9yIHByaW50Zi4KZnVuY19mYWxsYmFja19lY2hv
ICgpCnsKICBldmFsICdjYXQgPDxfTFRFQ0hPX0VPRgokMQpfTFRFQ0hPX0VP
RicKfQoKIyBOTFMgbnVpc2FuY2VzOiBXZSBzYXZlIHRoZSBvbGQgdmFsdWVz
IHRvIHJlc3RvcmUgZHVyaW5nIGV4ZWN1dGUgbW9kZS4KbHRfdXNlcl9sb2Nh
bGU9Cmx0X3NhZmVfbG9jYWxlPQpmb3IgbHRfdmFyIGluIExBTkcgTEFOR1VB
R0UgTENfQUxMIExDX0NUWVBFIExDX0NPTExBVEUgTENfTUVTU0FHRVMKZG8K
ICBldmFsICJpZiB0ZXN0IFwiXCR7JGx0X3ZhcitzZXR9XCIgPSBzZXQ7IHRo
ZW4KICAgICAgICAgIHNhdmVfJGx0X3Zhcj1cJCRsdF92YXIKICAgICAgICAg
ICRsdF92YXI9QwoJICBleHBvcnQgJGx0X3ZhcgoJICBsdF91c2VyX2xvY2Fs
ZT1cIiRsdF92YXI9XFxcJHNhdmVfXCRsdF92YXI7IFwkbHRfdXNlcl9sb2Nh
bGVcIgoJICBsdF9zYWZlX2xvY2FsZT1cIiRsdF92YXI9QzsgXCRsdF9zYWZl
X2xvY2FsZVwiCglmaSIKZG9uZQpMQ19BTEw9QwpMQU5HVUFHRT1DCmV4cG9y
dCBMQU5HVUFHRSBMQ19BTEwKCiRsdF91bnNldCBDRFBBVEgKCgojIFdvcmsg
YXJvdW5kIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaXNzdWUgb24gSVJJWCA2
LjUuIE9uIElSSVggNi40Kywgc2gKIyBpcyBrc2ggYnV0IHdoZW4gdGhlIHNo
ZWxsIGlzIGludm9rZWQgYXMgInNoIiBhbmQgdGhlIGN1cnJlbnQgdmFsdWUg
b2YKIyB0aGUgX1hQRyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBub3QgZXF1
YWwgdG8gMSAob25lKSwgdGhlIHNwZWNpYWwKIyBwb3NpdGlvbmFsIHBhcmFt
ZXRlciAkMCwgd2l0aGluIGEgZnVuY3Rpb24gY2FsbCwgaXMgdGhlIG5hbWUg
b2YgdGhlCiMgZnVuY3Rpb24uCnByb2dwYXRoPSIkMCIKCgoKOiAke0NQPSJj
cCAtZiJ9CnRlc3QgIiR7RUNITytzZXR9IiA9IHNldCB8fCBFQ0hPPSR7YXNf
ZWNoby0ncHJpbnRmICVzXG4nfQo6ICR7TUFLRT0ibWFrZSJ9CjogJHtNS0RJ
Uj0ibWtkaXIifQo6ICR7TVY9Im12IC1mIn0KOiAke1JNPSJybSAtZiJ9Cjog
JHtTSEVMTD0iJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0ifQo6ICR7WHNlZD0i
JFNFRCAtZSAxcy9eWC8vIn0KCiMgR2xvYmFsIHZhcmlhYmxlczoKRVhJVF9T
VUNDRVNTPTAKRVhJVF9GQUlMVVJFPTEKRVhJVF9NSVNNQVRDSD02MyAgIyAk
PyA9IDYzIGlzIHVzZWQgdG8gaW5kaWNhdGUgdmVyc2lvbiBtaXNtYXRjaCB0
byBtaXNzaW5nLgpFWElUX1NLSVA9NzcJICAjICQ/ID0gNzcgaXMgdXNlZCB0
byBpbmRpY2F0ZSBhIHNraXBwZWQgdGVzdCB0byBhdXRvbWFrZS4KCmV4aXRf
c3RhdHVzPSRFWElUX1NVQ0NFU1MKCiMgTWFrZSBzdXJlIElGUyBoYXMgYSBz
ZW5zaWJsZSBkZWZhdWx0Cmx0X25sPScKJwpJRlM9IiAJJGx0X25sIgoKZGly
bmFtZT0icywvW14vXSokLCwiCmJhc2VuYW1lPSJzLF4uKi8sLCIKCiMgZnVu
Y19kaXJuYW1lIGZpbGUgYXBwZW5kIG5vbmRpcl9yZXBsYWNlbWVudAojIENv
bXB1dGUgdGhlIGRpcm5hbWUgb2YgRklMRS4gIElmIG5vbmVtcHR5LCBhZGQg
QVBQRU5EIHRvIHRoZSByZXN1bHQsCiMgb3RoZXJ3aXNlIHNldCByZXN1bHQg
dG8gTk9ORElSX1JFUExBQ0VNRU5ULgpmdW5jX2Rpcm5hbWUgKCkKewogICAg
Y2FzZSAkezF9IGluCiAgICAgICovKikgZnVuY19kaXJuYW1lX3Jlc3VsdD0i
JHsxJS8qfSR7Mn0iIDs7CiAgICAgICogICkgZnVuY19kaXJuYW1lX3Jlc3Vs
dD0iJHszfSIgOzsKICAgIGVzYWMKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNf
ZGlybmFtZSBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19iYXNlbmFtZSBmaWxl
CmZ1bmNfYmFzZW5hbWUgKCkKewogICAgZnVuY19iYXNlbmFtZV9yZXN1bHQ9
IiR7MSMjKi99Igp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19iYXNlbmFtZSBp
bXBsZW1lbnRhdGlvbgoKCiMgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSBm
aWxlIGFwcGVuZCBub25kaXJfcmVwbGFjZW1lbnQKIyBwZXJmb3JtIGZ1bmNf
YmFzZW5hbWUgYW5kIGZ1bmNfZGlybmFtZSBpbiBhIHNpbmdsZSBmdW5jdGlv
bgojIGNhbGw6CiMgICBkaXJuYW1lOiAgQ29tcHV0ZSB0aGUgZGlybmFtZSBv
ZiBGSUxFLiAgSWYgbm9uZW1wdHksCiMgICAgICAgICAgICAgYWRkIEFQUEVO
RCB0byB0aGUgcmVzdWx0LCBvdGhlcndpc2Ugc2V0IHJlc3VsdAojICAgICAg
ICAgICAgIHRvIE5PTkRJUl9SRVBMQUNFTUVOVC4KIyAgICAgICAgICAgICB2
YWx1ZSByZXR1cm5lZCBpbiAiJGZ1bmNfZGlybmFtZV9yZXN1bHQiCiMgICBi
YXNlbmFtZTogQ29tcHV0ZSBmaWxlbmFtZSBvZiBGSUxFLgojICAgICAgICAg
ICAgIHZhbHVlIHJldHVuZWQgaW4gIiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIK
IyBJbXBsZW1lbnRhdGlvbiBtdXN0IGJlIGtlcHQgc3luY2hyb25pemVkIHdp
dGggZnVuY19kaXJuYW1lCiMgYW5kIGZ1bmNfYmFzZW5hbWUuIEZvciBlZmZp
Y2llbmN5LCB3ZSBkbyBub3QgZGVsZWdhdGUgdG8KIyB0aG9zZSBmdW5jdGlv
bnMgYnV0IGluc3RlYWQgZHVwbGljYXRlIHRoZSBmdW5jdGlvbmFsaXR5IGhl
cmUuCmZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgKCkKewogICAgY2FzZSAk
ezF9IGluCiAgICAgICovKikgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHsxJS8q
fSR7Mn0iIDs7CiAgICAgICogICkgZnVuY19kaXJuYW1lX3Jlc3VsdD0iJHsz
fSIgOzsKICAgIGVzYWMKICAgIGZ1bmNfYmFzZW5hbWVfcmVzdWx0PSIkezEj
IyovfSIKfSAjIEV4dGVuZGVkLXNoZWxsIGZ1bmNfZGlybmFtZV9hbmRfYmFz
ZW5hbWUgaW1wbGVtZW50YXRpb24KCgojIGZ1bmNfc3RyaXBuYW1lIHByZWZp
eCBzdWZmaXggbmFtZQojIHN0cmlwIFBSRUZJWCBhbmQgU1VGRklYIG9mZiBv
ZiBOQU1FLgojIFBSRUZJWCBhbmQgU1VGRklYIG11c3Qgbm90IGNvbnRhaW4g
Z2xvYmJpbmcgb3IgcmVnZXggc3BlY2lhbAojIGNoYXJhY3RlcnMsIGhhc2hl
cywgcGVyY2VudCBzaWducywgYnV0IFNVRkZJWCBtYXkgY29udGFpbiBhIGxl
YWRpbmcKIyBkb3QgKGluIHdoaWNoIGNhc2UgdGhhdCBtYXRjaGVzIG9ubHkg
YSBkb3QpLgojIGZ1bmNfc3RyaXBfc3VmZml4IHByZWZpeCBuYW1lCmZ1bmNf
c3RyaXBuYW1lICgpCnsKICAgICMgcGRrc2ggNS4yLjE0IGRvZXMgbm90IGRv
ICR7WCUkWX0gY29ycmVjdGx5IGlmIGJvdGggWCBhbmQgWSBhcmUKICAgICMg
cG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBzbyBhc3NpZ24gb25lIHRvIG9yZGlu
YXJ5IHBhcmFtZXRlciBmaXJzdC4KICAgIGZ1bmNfc3RyaXBuYW1lX3Jlc3Vs
dD0kezN9CiAgICBmdW5jX3N0cmlwbmFtZV9yZXN1bHQ9JHtmdW5jX3N0cmlw
bmFtZV9yZXN1bHQjIiR7MX0ifQogICAgZnVuY19zdHJpcG5hbWVfcmVzdWx0
PSR7ZnVuY19zdHJpcG5hbWVfcmVzdWx0JSIkezJ9In0KfSAjIEV4dGVuZGVk
LXNoZWxsIGZ1bmNfc3RyaXBuYW1lIGltcGxlbWVudGF0aW9uCgoKIyBUaGVz
ZSBTRUQgc2NyaXB0cyBwcmVzdXBwb3NlIGFuIGFic29sdXRlIHBhdGggd2l0
aCBhIHRyYWlsaW5nIHNsYXNoLgpwYXRoY2FyPSdzLF4vXChbXi9dKlwpLiok
LFwxLCcKcGF0aGNkcj0ncyxeL1teL10qLCwnCnJlbW92ZWRvdHBhcnRzPSc6
ZG90c2wKCQlzQC9cLi9AL0BnCgkJdCBkb3RzbAoJCXMsL1wuJCwvLCcKY29s
bGFwc2VzbGFzaGVzPSdzQC9cezEsXH1AL0BnJwpmaW5hbHNsYXNoPSdzLC8q
JCwvLCcKCiMgZnVuY19ub3JtYWxfYWJzcGF0aCBQQVRICiMgUmVtb3ZlIGRv
dWJsZWQtdXAgYW5kIHRyYWlsaW5nIHNsYXNoZXMsICIuIiBwYXRoIGNvbXBv
bmVudHMsCiMgYW5kIGNhbmNlbCBvdXQgYW55ICIuLiIgcGF0aCBjb21wb25l
bnRzIGluIFBBVEggYWZ0ZXIgbWFraW5nCiMgaXQgYW4gYWJzb2x1dGUgcGF0
aC4KIyAgICAgICAgICAgICB2YWx1ZSByZXR1cm5lZCBpbiAiJGZ1bmNfbm9y
bWFsX2Fic3BhdGhfcmVzdWx0IgpmdW5jX25vcm1hbF9hYnNwYXRoICgpCnsK
ICAjIFN0YXJ0IGZyb20gcm9vdCBkaXIgYW5kIHJlYXNzZW1ibGUgdGhlIHBh
dGguCiAgZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQ9CiAgZnVuY19ub3Jt
YWxfYWJzcGF0aF90cGF0aD0kMQogIGZ1bmNfbm9ybWFsX2Fic3BhdGhfYWx0
bmFtZXNwYWNlPQogIGNhc2UgJGZ1bmNfbm9ybWFsX2Fic3BhdGhfdHBhdGgg
aW4KICAgICIiKQogICAgICAjIEVtcHR5IHBhdGgsIHRoYXQganVzdCBtZWFu
cyAkY3dkLgogICAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLycgImBwd2RgIgog
ICAgICBmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdD0kZnVuY19zdHJpcG5h
bWVfcmVzdWx0CiAgICAgIHJldHVybgogICAgOzsKICAgICMgVGhlIG5leHQg
dGhyZWUgZW50cmllcyBhcmUgdXNlZCB0byBzcG90IGEgcnVuIG9mIHByZWNp
c2VseQogICAgIyB0d28gbGVhZGluZyBzbGFzaGVzIHdpdGhvdXQgdXNpbmcg
bmVnYXRlZCBjaGFyYWN0ZXIgY2xhc3NlczsKICAgICMgd2UgdGFrZSBhZHZh
bnRhZ2Ugb2YgY2FzZSdzIGZpcnN0LW1hdGNoIGJlaGF2aW91ci4KICAgIC8v
LyopCiAgICAgICMgVW51c3VhbCBmb3JtIG9mIGFic29sdXRlIHBhdGgsIGRv
IG5vdGhpbmcuCiAgICA7OwogICAgLy8qKQogICAgICAjIE5vdCBuZWNlc3Nh
cmlseSBhbiBvcmRpbmFyeSBwYXRoOyBQT1NJWCByZXNlcnZlcyBsZWFkaW5n
ICcvLycKICAgICAgIyBhbmQgZm9yIGV4YW1wbGUgQ3lnd2luIHVzZXMgaXQg
dG8gYWNjZXNzIHJlbW90ZSBmaWxlIHNoYXJlcwogICAgICAjIG92ZXIgQ0lG
Uy9TTUIsIHNvIHdlIGNvbnNlcnZlIGEgbGVhZGluZyBkb3VibGUgc2xhc2gg
aWYgZm91bmQuCiAgICAgIGZ1bmNfbm9ybWFsX2Fic3BhdGhfYWx0bmFtZXNw
YWNlPS8KICAgIDs7CiAgICAvKikKICAgICAgIyBBYnNvbHV0ZSBwYXRoLCBk
byBub3RoaW5nLgogICAgOzsKICAgICopCiAgICAgICMgUmVsYXRpdmUgcGF0
aCwgcHJlcGVuZCAkY3dkLgogICAgICBmdW5jX25vcm1hbF9hYnNwYXRoX3Rw
YXRoPWBwd2RgLyRmdW5jX25vcm1hbF9hYnNwYXRoX3RwYXRoCiAgICA7Owog
IGVzYWMKICAjIENhbmNlbCBvdXQgYWxsIHRoZSBzaW1wbGUgc3R1ZmYgdG8g
c2F2ZSBpdGVyYXRpb25zLiAgV2UgYWxzbyB3YW50CiAgIyB0aGUgcGF0aCB0
byBlbmQgd2l0aCBhIHNsYXNoIGZvciBlYXNlIG9mIHBhcnNpbmcsIHNvIG1h
a2Ugc3VyZQogICMgdGhlcmUgaXMgb25lIChhbmQgb25seSBvbmUpIGhlcmUu
CiAgZnVuY19ub3JtYWxfYWJzcGF0aF90cGF0aD1gJEVDSE8gIiRmdW5jX25v
cm1hbF9hYnNwYXRoX3RwYXRoIiB8ICRTRUQgXAogICAgICAgIC1lICIkcmVt
b3ZlZG90cGFydHMiIC1lICIkY29sbGFwc2VzbGFzaGVzIiAtZSAiJGZpbmFs
c2xhc2giYAogIHdoaWxlIDo7IGRvCiAgICAjIFByb2Nlc3NlZCBpdCBhbGwg
eWV0PwogICAgaWYgdGVzdCAiJGZ1bmNfbm9ybWFsX2Fic3BhdGhfdHBhdGgi
ID0gLyA7IHRoZW4KICAgICAgIyBJZiB3ZSBhc2NlbmRlZCB0byB0aGUgcm9v
dCB1c2luZyAiLi4iIHRoZSByZXN1bHQgbWF5IGJlIGVtcHR5IG5vdy4KICAg
ICAgaWYgdGVzdCAteiAiJGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0IiA7
IHRoZW4KICAgICAgICBmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdD0vCiAg
ICAgIGZpCiAgICAgIGJyZWFrCiAgICBmaQogICAgZnVuY19ub3JtYWxfYWJz
cGF0aF90Y29tcG9uZW50PWAkRUNITyAiJGZ1bmNfbm9ybWFsX2Fic3BhdGhf
dHBhdGgiIHwgJFNFRCBcCiAgICAgICAgLWUgIiRwYXRoY2FyImAKICAgIGZ1
bmNfbm9ybWFsX2Fic3BhdGhfdHBhdGg9YCRFQ0hPICIkZnVuY19ub3JtYWxf
YWJzcGF0aF90cGF0aCIgfCAkU0VEIFwKICAgICAgICAtZSAiJHBhdGhjZHIi
YAogICAgIyBGaWd1cmUgb3V0IHdoYXQgdG8gZG8gd2l0aCBpdAogICAgY2Fz
ZSAkZnVuY19ub3JtYWxfYWJzcGF0aF90Y29tcG9uZW50IGluCiAgICAgICIi
KQogICAgICAgICMgVHJhaWxpbmcgZW1wdHkgcGF0aCBjb21wb25lbnQsIGln
bm9yZSBpdC4KICAgICAgOzsKICAgICAgLi4pCiAgICAgICAgIyBQYXJlbnQg
ZGlyOyBzdHJpcCBsYXN0IGFzc2VtYmxlZCBjb21wb25lbnQgZnJvbSByZXN1
bHQuCiAgICAgICAgZnVuY19kaXJuYW1lICIkZnVuY19ub3JtYWxfYWJzcGF0
aF9yZXN1bHQiCiAgICAgICAgZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQ9
JGZ1bmNfZGlybmFtZV9yZXN1bHQKICAgICAgOzsKICAgICAgKikKICAgICAg
ICAjIEFjdHVhbCBwYXRoIGNvbXBvbmVudCwgYXBwZW5kIGl0LgogICAgICAg
IGZ1bmNfbm9ybWFsX2Fic3BhdGhfcmVzdWx0PSRmdW5jX25vcm1hbF9hYnNw
YXRoX3Jlc3VsdC8kZnVuY19ub3JtYWxfYWJzcGF0aF90Y29tcG9uZW50CiAg
ICAgIDs7CiAgICBlc2FjCiAgZG9uZQogICMgUmVzdG9yZSBsZWFkaW5nIGRv
dWJsZS1zbGFzaCBpZiBvbmUgd2FzIGZvdW5kIG9uIGVudHJ5LgogIGZ1bmNf
bm9ybWFsX2Fic3BhdGhfcmVzdWx0PSRmdW5jX25vcm1hbF9hYnNwYXRoX2Fs
dG5hbWVzcGFjZSRmdW5jX25vcm1hbF9hYnNwYXRoX3Jlc3VsdAp9CgojIGZ1
bmNfcmVsYXRpdmVfcGF0aCBTUkNESVIgRFNURElSCiMgZ2VuZXJhdGVzIGEg
cmVsYXRpdmUgcGF0aCBmcm9tIFNSQ0RJUiB0byBEU1RESVIsIHdpdGggYSB0
cmFpbGluZwojIHNsYXNoIGlmIG5vbi1lbXB0eSwgc3VpdGFibGUgZm9yIGlt
bWVkaWF0ZWx5IGFwcGVuZGluZyBhIGZpbGVuYW1lCiMgd2l0aG91dCBuZWVk
aW5nIHRvIGFwcGVuZCBhIHNlcGFyYXRvci4KIyAgICAgICAgICAgICB2YWx1
ZSByZXR1cm5lZCBpbiAiJGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQiCmZ1
bmNfcmVsYXRpdmVfcGF0aCAoKQp7CiAgZnVuY19yZWxhdGl2ZV9wYXRoX3Jl
c3VsdD0KICBmdW5jX25vcm1hbF9hYnNwYXRoICIkMSIKICBmdW5jX3JlbGF0
aXZlX3BhdGhfdGxpYmRpcj0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQK
ICBmdW5jX25vcm1hbF9hYnNwYXRoICIkMiIKICBmdW5jX3JlbGF0aXZlX3Bh
dGhfdGJpbmRpcj0kZnVuY19ub3JtYWxfYWJzcGF0aF9yZXN1bHQKCiAgIyBB
c2NlbmQgdGhlIHRyZWUgc3RhcnRpbmcgZnJvbSBsaWJkaXIKICB3aGlsZSA6
OyBkbwogICAgIyBjaGVjayBpZiB3ZSBoYXZlIGZvdW5kIGEgcHJlZml4IG9m
IGJpbmRpcgogICAgY2FzZSAkZnVuY19yZWxhdGl2ZV9wYXRoX3RiaW5kaXIg
aW4KICAgICAgJGZ1bmNfcmVsYXRpdmVfcGF0aF90bGliZGlyKQogICAgICAg
ICMgZm91bmQgYW4gZXhhY3QgbWF0Y2gKICAgICAgICBmdW5jX3JlbGF0aXZl
X3BhdGhfdGNhbmNlbGxlZD0KICAgICAgICBicmVhawogICAgICAgIDs7CiAg
ICAgICRmdW5jX3JlbGF0aXZlX3BhdGhfdGxpYmRpciopCiAgICAgICAgIyBm
b3VuZCBhIG1hdGNoaW5nIHByZWZpeAogICAgICAgIGZ1bmNfc3RyaXBuYW1l
ICIkZnVuY19yZWxhdGl2ZV9wYXRoX3RsaWJkaXIiICcnICIkZnVuY19yZWxh
dGl2ZV9wYXRoX3RiaW5kaXIiCiAgICAgICAgZnVuY19yZWxhdGl2ZV9wYXRo
X3RjYW5jZWxsZWQ9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAogICAgICAgIGlm
IHRlc3QgLXogIiRmdW5jX3JlbGF0aXZlX3BhdGhfcmVzdWx0IjsgdGhlbgog
ICAgICAgICAgZnVuY19yZWxhdGl2ZV9wYXRoX3Jlc3VsdD0uCiAgICAgICAg
ZmkKICAgICAgICBicmVhawogICAgICAgIDs7CiAgICAgICopCiAgICAgICAg
ZnVuY19kaXJuYW1lICRmdW5jX3JlbGF0aXZlX3BhdGhfdGxpYmRpcgogICAg
ICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF90bGliZGlyPSR7ZnVuY19kaXJuYW1l
X3Jlc3VsdH0KICAgICAgICBpZiB0ZXN0ICJ4JGZ1bmNfcmVsYXRpdmVfcGF0
aF90bGliZGlyIiA9IHggOyB0aGVuCiAgICAgICAgICAjIEhhdmUgdG8gZGVz
Y2VuZCBhbGwgdGhlIHdheSB0byB0aGUgcm9vdCEKICAgICAgICAgIGZ1bmNf
cmVsYXRpdmVfcGF0aF9yZXN1bHQ9Li4vJGZ1bmNfcmVsYXRpdmVfcGF0aF9y
ZXN1bHQKICAgICAgICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF90Y2FuY2VsbGVk
PSRmdW5jX3JlbGF0aXZlX3BhdGhfdGJpbmRpcgogICAgICAgICAgYnJlYWsK
ICAgICAgICBmaQogICAgICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQ9
Li4vJGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQKICAgICAgICA7OwogICAg
ZXNhYwogIGRvbmUKCiAgIyBOb3cgY2FsY3VsYXRlIHBhdGg7IHRha2UgY2Fy
ZSB0byBhdm9pZCBkb3VibGluZy11cCBzbGFzaGVzLgogIGZ1bmNfc3RyaXBu
YW1lICcnICcvJyAiJGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHQiCiAgZnVu
Y19yZWxhdGl2ZV9wYXRoX3Jlc3VsdD0kZnVuY19zdHJpcG5hbWVfcmVzdWx0
CiAgZnVuY19zdHJpcG5hbWUgJy8nICcvJyAiJGZ1bmNfcmVsYXRpdmVfcGF0
aF90Y2FuY2VsbGVkIgogIGlmIHRlc3QgIngkZnVuY19zdHJpcG5hbWVfcmVz
dWx0IiAhPSB4IDsgdGhlbgogICAgZnVuY19yZWxhdGl2ZV9wYXRoX3Jlc3Vs
dD0ke2Z1bmNfcmVsYXRpdmVfcGF0aF9yZXN1bHR9LyR7ZnVuY19zdHJpcG5h
bWVfcmVzdWx0fQogIGZpCgogICMgTm9ybWFsaXNhdGlvbi4gSWYgYmluZGly
IGlzIGxpYmRpciwgcmV0dXJuIGVtcHR5IHN0cmluZywKICAjIGVsc2UgcmVs
YXRpdmUgcGF0aCBlbmRpbmcgd2l0aCBhIHNsYXNoOyBlaXRoZXIgd2F5LCB0
YXJnZXQKICAjIGZpbGUgbmFtZSBjYW4gYmUgZGlyZWN0bHkgYXBwZW5kZWQu
CiAgaWYgdGVzdCAhIC16ICIkZnVuY19yZWxhdGl2ZV9wYXRoX3Jlc3VsdCI7
IHRoZW4KICAgIGZ1bmNfc3RyaXBuYW1lICcuLycgJycgIiRmdW5jX3JlbGF0
aXZlX3BhdGhfcmVzdWx0LyIKICAgIGZ1bmNfcmVsYXRpdmVfcGF0aF9yZXN1
bHQ9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAogIGZpCn0KCiMgVGhlIG5hbWUg
b2YgdGhpcyBwcm9ncmFtOgpmdW5jX2Rpcm5hbWVfYW5kX2Jhc2VuYW1lICIk
cHJvZ3BhdGgiCnByb2duYW1lPSRmdW5jX2Jhc2VuYW1lX3Jlc3VsdAoKIyBN
YWtlIHN1cmUgd2UgaGF2ZSBhbiBhYnNvbHV0ZSBwYXRoIGZvciByZWV4ZWN1
dGlvbjoKY2FzZSAkcHJvZ3BhdGggaW4KICBbXFwvXSp8W0EtWmEtel06XFwq
KSA7OwogICpbXFwvXSopCiAgICAgcHJvZ2Rpcj0kZnVuY19kaXJuYW1lX3Jl
c3VsdAogICAgIHByb2dkaXI9YGNkICIkcHJvZ2RpciIgJiYgcHdkYAogICAg
IHByb2dwYXRoPSIkcHJvZ2Rpci8kcHJvZ25hbWUiCiAgICAgOzsKICAqKQog
ICAgIHNhdmVfSUZTPSIkSUZTIgogICAgIElGUz0ke1BBVEhfU0VQQVJBVE9S
LTp9CiAgICAgZm9yIHByb2dkaXIgaW4gJFBBVEg7IGRvCiAgICAgICBJRlM9
IiRzYXZlX0lGUyIKICAgICAgIHRlc3QgLXggIiRwcm9nZGlyLyRwcm9nbmFt
ZSIgJiYgYnJlYWsKICAgICBkb25lCiAgICAgSUZTPSIkc2F2ZV9JRlMiCiAg
ICAgdGVzdCAtbiAiJHByb2dkaXIiIHx8IHByb2dkaXI9YHB3ZGAKICAgICBw
cm9ncGF0aD0iJHByb2dkaXIvJHByb2duYW1lIgogICAgIDs7CmVzYWMKCiMg
U2VkIHN1YnN0aXR1dGlvbiB0aGF0IGhlbHBzIHVzIGRvIHJvYnVzdCBxdW90
aW5nLiAgSXQgYmFja3NsYXNoaWZpZXMKIyBtZXRhY2hhcmFjdGVycyB0aGF0
IGFyZSBzdGlsbCBhY3RpdmUgd2l0aGluIGRvdWJsZS1xdW90ZWQgc3RyaW5n
cy4KWHNlZD0iJHtTRUR9IicgLWUgMXMvXlgvLycKc2VkX3F1b3RlX3N1YnN0
PSdzL1woW2AiJFxcXVwpL1xcXDEvZycKCiMgU2FtZSBhcyBhYm92ZSwgYnV0
IGRvIG5vdCBxdW90ZSB2YXJpYWJsZSByZWZlcmVuY2VzLgpkb3VibGVfcXVv
dGVfc3Vic3Q9J3MvXChbImBcXF1cKS9cXFwxL2cnCgojIFNlZCBzdWJzdGl0
dXRpb24gdGhhdCB0dXJucyBhIHN0cmluZyBpbnRvIGEgcmVnZXggbWF0Y2hp
bmcgZm9yIHRoZQojIHN0cmluZyBsaXRlcmFsbHkuCnNlZF9tYWtlX2xpdGVy
YWxfcmVnZXg9J3MsW10uW14kXFwqXC9dLFxcJixnJwoKIyBTZWQgc3Vic3Rp
dHV0aW9uIHRoYXQgY29udmVydHMgYSB3MzIgZmlsZSBuYW1lIG9yIHBhdGgK
IyB3aGljaCBjb250YWlucyBmb3J3YXJkIHNsYXNoZXMsIGludG8gb25lIHRo
YXQgY29udGFpbnMKIyAoZXNjYXBlZCkgYmFja3NsYXNoZXMuICBBIHZlcnkg
bmFpdmUgaW1wbGVtZW50YXRpb24uCmx0X3NlZF9uYWl2ZV9iYWNrc2xhc2hp
Znk9J3N8XFxcXCp8XFx8ZztzfC98XFx8ZztzfFxcfFxcXFx8ZycKCiMgUmUt
YFwnIHBhcmFtZXRlciBleHBhbnNpb25zIGluIG91dHB1dCBvZiBkb3VibGVf
cXVvdGVfc3Vic3QgdGhhdCB3ZXJlCiMgYFwnLWVkIGluIGlucHV0IHRvIHRo
ZSBzYW1lLiAgSWYgYW4gb2RkIG51bWJlciBvZiBgXCcgcHJlY2VkZWQgYSAn
JCcKIyBpbiBpbnB1dCB0byBkb3VibGVfcXVvdGVfc3Vic3QsIHRoYXQgJyQn
IHdhcyBwcm90ZWN0ZWQgZnJvbSBleHBhbnNpb24uCiMgU2luY2UgZWFjaCBp
bnB1dCBgXCcgaXMgbm93IHR3byBgXCdzLCBsb29rIGZvciBhbnkgbnVtYmVy
IG9mIHJ1bnMgb2YKIyBmb3VyIGBcJ3MgZm9sbG93ZWQgYnkgdHdvIGBcJ3Mg
YW5kIHRoZW4gYSAnJCcuICBgXCcgdGhhdCAnJCcuCmJzPSdcXCcKYnMyPSdc
XFxcJwpiczQ9J1xcXFxcXFxcJwpkb2xsYXI9J1wkJwpzZWRfZG91YmxlX2Jh
Y2tzbGFzaD0iXAogIHMvJGJzNC8mXFwKL2cKICBzL14kYnMyJGRvbGxhci8k
YnMmLwogIHMvXFwoW14kYnNdXFwpJGJzMiRkb2xsYXIvXFwxJGJzMiRicyRk
b2xsYXIvZwogIHMvXG4vL2ciCgojIFN0YW5kYXJkIG9wdGlvbnM6Cm9wdF9k
cnlfcnVuPWZhbHNlCm9wdF9oZWxwPWZhbHNlCm9wdF9xdWlldD1mYWxzZQpv
cHRfdmVyYm9zZT1mYWxzZQpvcHRfd2FybmluZz06CgojIGZ1bmNfZWNobyBh
cmcuLi4KIyBFY2hvIHByb2dyYW0gbmFtZSBwcmVmaXhlZCBtZXNzYWdlLCBh
bG9uZyB3aXRoIHRoZSBjdXJyZW50IG1vZGUKIyBuYW1lIGlmIGl0IGhhcyBi
ZWVuIHNldCB5ZXQuCmZ1bmNfZWNobyAoKQp7CiAgICAkRUNITyAiJHByb2du
YW1lOiAke29wdF9tb2RlKyRvcHRfbW9kZTogfSQqIgp9CgojIGZ1bmNfdmVy
Ym9zZSBhcmcuLi4KIyBFY2hvIHByb2dyYW0gbmFtZSBwcmVmaXhlZCBtZXNz
YWdlIGluIHZlcmJvc2UgbW9kZSBvbmx5LgpmdW5jX3ZlcmJvc2UgKCkKewog
ICAgJG9wdF92ZXJib3NlICYmIGZ1bmNfZWNobyAkezErIiRAIn0KCiAgICAj
IEEgYnVnIGluIGJhc2ggaGFsdHMgdGhlIHNjcmlwdCBpZiB0aGUgbGFzdCBs
aW5lIG9mIGEgZnVuY3Rpb24KICAgICMgZmFpbHMgd2hlbiBzZXQgLWUgaXMg
aW4gZm9yY2UsIHNvIHdlIG5lZWQgYW5vdGhlciBjb21tYW5kIHRvCiAgICAj
IHdvcmsgYXJvdW5kIHRoYXQ6CiAgICA6Cn0KCiMgZnVuY19lY2hvX2FsbCBh
cmcuLi4KIyBJbnZva2UgJEVDSE8gd2l0aCBhbGwgYXJncywgc3BhY2Utc2Vw
YXJhdGVkLgpmdW5jX2VjaG9fYWxsICgpCnsKICAgICRFQ0hPICIkKiIKfQoK
IyBmdW5jX2Vycm9yIGFyZy4uLgojIEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZp
eGVkIG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IuCmZ1bmNfZXJyb3IgKCkK
ewogICAgJEVDSE8gIiRwcm9nbmFtZTogJHtvcHRfbW9kZSskb3B0X21vZGU6
IH0iJHsxKyIkQCJ9IDE+JjIKfQoKIyBmdW5jX3dhcm5pbmcgYXJnLi4uCiMg
RWNobyBwcm9ncmFtIG5hbWUgcHJlZml4ZWQgd2FybmluZyBtZXNzYWdlIHRv
IHN0YW5kYXJkIGVycm9yLgpmdW5jX3dhcm5pbmcgKCkKewogICAgJG9wdF93
YXJuaW5nICYmICRFQ0hPICIkcHJvZ25hbWU6ICR7b3B0X21vZGUrJG9wdF9t
b2RlOiB9d2FybmluZzogIiR7MSsiJEAifSAxPiYyCgogICAgIyBiYXNoIGJ1
ZyBhZ2FpbjoKICAgIDoKfQoKIyBmdW5jX2ZhdGFsX2Vycm9yIGFyZy4uLgoj
IEVjaG8gcHJvZ3JhbSBuYW1lIHByZWZpeGVkIG1lc3NhZ2UgdG8gc3RhbmRh
cmQgZXJyb3IsIGFuZCBleGl0LgpmdW5jX2ZhdGFsX2Vycm9yICgpCnsKICAg
IGZ1bmNfZXJyb3IgJHsxKyIkQCJ9CiAgICBleGl0ICRFWElUX0ZBSUxVUkUK
fQoKIyBmdW5jX2ZhdGFsX2hlbHAgYXJnLi4uCiMgRWNobyBwcm9ncmFtIG5h
bWUgcHJlZml4ZWQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciwgZm9sbG93
ZWQgYnkKIyBhIGhlbHAgaGludCwgYW5kIGV4aXQuCmZ1bmNfZmF0YWxfaGVs
cCAoKQp7CiAgICBmdW5jX2Vycm9yICR7MSsiJEAifQogICAgZnVuY19mYXRh
bF9lcnJvciAiJGhlbHAiCn0KaGVscD0iVHJ5IFxgJHByb2duYW1lIC0taGVs
cCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIiAgIyMgZGVmYXVsdAoKCiMgZnVu
Y19ncmVwIGV4cHJlc3Npb24gZmlsZW5hbWUKIyBDaGVjayB3aGV0aGVyIEVY
UFJFU1NJT04gbWF0Y2hlcyBhbnkgbGluZSBvZiBGSUxFTkFNRSwgd2l0aG91
dCBvdXRwdXQuCmZ1bmNfZ3JlcCAoKQp7CiAgICAkR1JFUCAiJDEiICIkMiIg
Pi9kZXYvbnVsbCAyPiYxCn0KCgojIGZ1bmNfbWtkaXJfcCBkaXJlY3Rvcnkt
cGF0aAojIE1ha2Ugc3VyZSB0aGUgZW50aXJlIHBhdGggdG8gRElSRUNUT1JZ
LVBBVEggaXMgYXZhaWxhYmxlLgpmdW5jX21rZGlyX3AgKCkKewogICAgbXlf
ZGlyZWN0b3J5X3BhdGg9IiQxIgogICAgbXlfZGlyX2xpc3Q9CgogICAgaWYg
dGVzdCAtbiAiJG15X2RpcmVjdG9yeV9wYXRoIiAmJiB0ZXN0ICIkb3B0X2Ry
eV9ydW4iICE9ICI6IjsgdGhlbgoKICAgICAgIyBQcm90ZWN0IGRpcmVjdG9y
eSBuYW1lcyBzdGFydGluZyB3aXRoIGAtJwogICAgICBjYXNlICRteV9kaXJl
Y3RvcnlfcGF0aCBpbgogICAgICAgIC0qKSBteV9kaXJlY3RvcnlfcGF0aD0i
Li8kbXlfZGlyZWN0b3J5X3BhdGgiIDs7CiAgICAgIGVzYWMKCiAgICAgICMg
V2hpbGUgc29tZSBwb3J0aW9uIG9mIERJUiBkb2VzIG5vdCB5ZXQgZXhpc3Qu
Li4KICAgICAgd2hpbGUgdGVzdCAhIC1kICIkbXlfZGlyZWN0b3J5X3BhdGgi
OyBkbwogICAgICAgICMgLi4ubWFrZSBhIGxpc3QgaW4gdG9wbW9zdCBmaXJz
dCBvcmRlci4gIFVzZSBhIGNvbG9uIGRlbGltaXRlZAoJIyBsaXN0IGluY2Fz
ZSBzb21lIHBvcnRpb24gb2YgcGF0aCBjb250YWlucyB3aGl0ZXNwYWNlLgog
ICAgICAgIG15X2Rpcl9saXN0PSIkbXlfZGlyZWN0b3J5X3BhdGg6JG15X2Rp
cl9saXN0IgoKICAgICAgICAjIElmIHRoZSBsYXN0IHBvcnRpb24gYWRkZWQg
aGFzIG5vIHNsYXNoIGluIGl0LCB0aGUgbGlzdCBpcyBkb25lCiAgICAgICAg
Y2FzZSAkbXlfZGlyZWN0b3J5X3BhdGggaW4gKi8qKSA7OyAqKSBicmVhayA7
OyBlc2FjCgogICAgICAgICMgLi4ub3RoZXJ3aXNlIHRocm93IGF3YXkgdGhl
IGNoaWxkIGRpcmVjdG9yeSBhbmQgbG9vcAogICAgICAgIG15X2RpcmVjdG9y
eV9wYXRoPWAkRUNITyAiJG15X2RpcmVjdG9yeV9wYXRoIiB8ICRTRUQgLWUg
IiRkaXJuYW1lImAKICAgICAgZG9uZQogICAgICBteV9kaXJfbGlzdD1gJEVD
SE8gIiRteV9kaXJfbGlzdCIgfCAkU0VEICdzLDoqJCwsJ2AKCiAgICAgIHNh
dmVfbWtkaXJfcF9JRlM9IiRJRlMiOyBJRlM9JzonCiAgICAgIGZvciBteV9k
aXIgaW4gJG15X2Rpcl9saXN0OyBkbwoJSUZTPSIkc2F2ZV9ta2Rpcl9wX0lG
UyIKICAgICAgICAjIG1rZGlyIGNhbiBmYWlsIHdpdGggYSBgRmlsZSBleGlz
dCcgZXJyb3IgaWYgdHdvIHByb2Nlc3NlcwogICAgICAgICMgdHJ5IHRvIGNy
ZWF0ZSBvbmUgb2YgdGhlIGRpcmVjdG9yaWVzIGNvbmN1cnJlbnRseS4gIERv
bid0CiAgICAgICAgIyBzdG9wIGluIHRoYXQgY2FzZSEKICAgICAgICAkTUtE
SVIgIiRteV9kaXIiIDI+L2Rldi9udWxsIHx8IDoKICAgICAgZG9uZQogICAg
ICBJRlM9IiRzYXZlX21rZGlyX3BfSUZTIgoKICAgICAgIyBCYWlsIG91dCBp
ZiB3ZSAob3Igc29tZSBvdGhlciBwcm9jZXNzKSBmYWlsZWQgdG8gY3JlYXRl
IGEgZGlyZWN0b3J5LgogICAgICB0ZXN0IC1kICIkbXlfZGlyZWN0b3J5X3Bh
dGgiIHx8IFwKICAgICAgICBmdW5jX2ZhdGFsX2Vycm9yICJGYWlsZWQgdG8g
Y3JlYXRlIFxgJDEnIgogICAgZmkKfQoKCiMgZnVuY19ta3RlbXBkaXIgW3N0
cmluZ10KIyBNYWtlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB0aGF0IHdvbid0
IGNsYXNoIHdpdGggb3RoZXIgcnVubmluZwojIGxpYnRvb2wgcHJvY2Vzc2Vz
LCBhbmQgYXZvaWRzIHJhY2UgY29uZGl0aW9ucyBpZiBwb3NzaWJsZS4gIElm
CiMgZ2l2ZW4sIFNUUklORyBpcyB0aGUgYmFzZW5hbWUgZm9yIHRoYXQgZGly
ZWN0b3J5LgpmdW5jX21rdGVtcGRpciAoKQp7CiAgICBteV90ZW1wbGF0ZT0i
JHtUTVBESVItL3RtcH0vJHsxLSRwcm9nbmFtZX0iCgogICAgaWYgdGVzdCAi
JG9wdF9kcnlfcnVuIiA9ICI6IjsgdGhlbgogICAgICAjIFJldHVybiBhIGRp
cmVjdG9yeSBuYW1lLCBidXQgZG9uJ3QgY3JlYXRlIGl0IGluIGRyeS1ydW4g
bW9kZQogICAgICBteV90bXBkaXI9IiR7bXlfdGVtcGxhdGV9LSQkIgogICAg
ZWxzZQoKICAgICAgIyBJZiBta3RlbXAgd29ya3MsIHVzZSB0aGF0IGZpcnN0
IGFuZCBmb3JlbW9zdAogICAgICBteV90bXBkaXI9YG1rdGVtcCAtZCAiJHtt
eV90ZW1wbGF0ZX0tWFhYWFhYWFgiIDI+L2Rldi9udWxsYAoKICAgICAgaWYg
dGVzdCAhIC1kICIkbXlfdG1wZGlyIjsgdGhlbgogICAgICAgICMgRmFpbGlu
ZyB0aGF0LCBhdCBsZWFzdCB0cnkgYW5kIHVzZSAkUkFORE9NIHRvIGF2b2lk
IGEgcmFjZQogICAgICAgIG15X3RtcGRpcj0iJHtteV90ZW1wbGF0ZX0tJHtS
QU5ET00tMH0kJCIKCiAgICAgICAgc2F2ZV9ta3RlbXBkaXJfdW1hc2s9YHVt
YXNrYAogICAgICAgIHVtYXNrIDAwNzcKICAgICAgICAkTUtESVIgIiRteV90
bXBkaXIiCiAgICAgICAgdW1hc2sgJHNhdmVfbWt0ZW1wZGlyX3VtYXNrCiAg
ICAgIGZpCgogICAgICAjIElmIHdlJ3JlIG5vdCBpbiBkcnktcnVuIG1vZGUs
IGJvbWIgb3V0IG9uIGZhaWx1cmUKICAgICAgdGVzdCAtZCAiJG15X3RtcGRp
ciIgfHwgXAogICAgICAgIGZ1bmNfZmF0YWxfZXJyb3IgImNhbm5vdCBjcmVh
dGUgdGVtcG9yYXJ5IGRpcmVjdG9yeSBcYCRteV90bXBkaXInIgogICAgZmkK
CiAgICAkRUNITyAiJG15X3RtcGRpciIKfQoKCiMgZnVuY19xdW90ZV9mb3Jf
ZXZhbCBhcmcKIyBBZXN0aGV0aWNhbGx5IHF1b3RlIEFSRyB0byBiZSBldmFs
ZWQgbGF0ZXIuCiMgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHR3byB2YWx1ZXM6
IEZVTkNfUVVPVEVfRk9SX0VWQUxfUkVTVUxUCiMgaXMgZG91YmxlLXF1b3Rl
ZCwgc3VpdGFibGUgZm9yIGEgc3Vic2VxdWVudCBldmFsLCB3aGVyZWFzCiMg
RlVOQ19RVU9URV9GT1JfRVZBTF9VTlFVT1RFRF9SRVNVTFQgaGFzIG1lcmVs
eSBhbGwgY2hhcmFjdGVycwojIHdoaWNoIGFyZSBzdGlsbCBhY3RpdmUgd2l0
aGluIGRvdWJsZSBxdW90ZXMgYmFja3NsYXNoaWZpZWQuCmZ1bmNfcXVvdGVf
Zm9yX2V2YWwgKCkKewogICAgY2FzZSAkMSBpbgogICAgICAqW1xcXGBcIlwk
XSopCglmdW5jX3F1b3RlX2Zvcl9ldmFsX3VucXVvdGVkX3Jlc3VsdD1gJEVD
SE8gIiQxIiB8ICRTRUQgIiRzZWRfcXVvdGVfc3Vic3QiYCA7OwogICAgICAq
KQogICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWxfdW5xdW90ZWRfcmVzdWx0
PSIkMSIgOzsKICAgIGVzYWMKCiAgICBjYXNlICRmdW5jX3F1b3RlX2Zvcl9l
dmFsX3VucXVvdGVkX3Jlc3VsdCBpbgogICAgICAjIERvdWJsZS1xdW90ZSBh
cmdzIGNvbnRhaW5pbmcgc2hlbGwgbWV0YWNoYXJhY3RlcnMgdG8gZGVsYXkK
ICAgICAgIyB3b3JkIHNwbGl0dGluZywgY29tbWFuZCBzdWJzdGl0dXRpb24g
YW5kIGFuZCB2YXJpYWJsZQogICAgICAjIGV4cGFuc2lvbiBmb3IgYSBzdWJz
ZXF1ZW50IGV2YWwuCiAgICAgICMgTWFueSBCb3VybmUgc2hlbGxzIGNhbm5v
dCBoYW5kbGUgY2xvc2UgYnJhY2tldHMgY29ycmVjdGx5CiAgICAgICMgaW4g
c2NhbiBzZXRzLCBzbyB3ZSBzcGVjaWZ5IGl0IHNlcGFyYXRlbHkuCiAgICAg
ICpbXFtcflwjXF5cJlwqXChcKVx7XH1cfFw7XDxcPlw/XCdcIFwJXSp8Kl0q
fCIiKQogICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0PSJcIiRm
dW5jX3F1b3RlX2Zvcl9ldmFsX3VucXVvdGVkX3Jlc3VsdFwiIgogICAgICAg
IDs7CiAgICAgICopCiAgICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbF9yZXN1
bHQ9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3VucXVvdGVkX3Jlc3VsdCIKICAg
IGVzYWMKfQoKCiMgZnVuY19xdW90ZV9mb3JfZXhwYW5kIGFyZwojIEFlc3Ro
ZXRpY2FsbHkgcXVvdGUgQVJHIHRvIGJlIGV2YWxlZCBsYXRlcjsgc2FtZSBh
cyBhYm92ZSwKIyBidXQgZG8gbm90IHF1b3RlIHZhcmlhYmxlIHJlZmVyZW5j
ZXMuCmZ1bmNfcXVvdGVfZm9yX2V4cGFuZCAoKQp7CiAgICBjYXNlICQxIGlu
CiAgICAgICpbXFxcYFwiXSopCglteV9hcmc9YCRFQ0hPICIkMSIgfCAkU0VE
IFwKCSAgICAtZSAiJGRvdWJsZV9xdW90ZV9zdWJzdCIgLWUgIiRzZWRfZG91
YmxlX2JhY2tzbGFzaCJgIDs7CiAgICAgICopCiAgICAgICAgbXlfYXJnPSIk
MSIgOzsKICAgIGVzYWMKCiAgICBjYXNlICRteV9hcmcgaW4KICAgICAgIyBE
b3VibGUtcXVvdGUgYXJncyBjb250YWluaW5nIHNoZWxsIG1ldGFjaGFyYWN0
ZXJzIHRvIGRlbGF5CiAgICAgICMgd29yZCBzcGxpdHRpbmcgYW5kIGNvbW1h
bmQgc3Vic3RpdHV0aW9uIGZvciBhIHN1YnNlcXVlbnQgZXZhbC4KICAgICAg
IyBNYW55IEJvdXJuZSBzaGVsbHMgY2Fubm90IGhhbmRsZSBjbG9zZSBicmFj
a2V0cyBjb3JyZWN0bHkKICAgICAgIyBpbiBzY2FuIHNldHMsIHNvIHdlIHNw
ZWNpZnkgaXQgc2VwYXJhdGVseS4KICAgICAgKltcW1x+XCNcXlwmXCpcKFwp
XHtcfVx8XDtcPFw+XD9cJ1wgXAldKnwqXSp8IiIpCiAgICAgICAgbXlfYXJn
PSJcIiRteV9hcmdcIiIKICAgICAgICA7OwogICAgZXNhYwoKICAgIGZ1bmNf
cXVvdGVfZm9yX2V4cGFuZF9yZXN1bHQ9IiRteV9hcmciCn0KCgojIGZ1bmNf
c2hvd19ldmFsIGNtZCBbZmFpbF9leHBdCiMgVW5sZXNzIG9wdF9zaWxlbnQg
aXMgdHJ1ZSwgdGhlbiBvdXRwdXQgQ01ELiAgVGhlbiwgaWYgb3B0X2RyeXJ1
biBpcwojIG5vdCB0cnVlLCBldmFsdWF0ZSBDTUQuICBJZiB0aGUgZXZhbHVh
dGlvbiBvZiBDTUQgZmFpbHMsIGFuZCBGQUlMX0VYUAojIGlzIGdpdmVuLCB0
aGVuIGV2YWx1YXRlIGl0LgpmdW5jX3Nob3dfZXZhbCAoKQp7CiAgICBteV9j
bWQ9IiQxIgogICAgbXlfZmFpbF9leHA9IiR7Mi06fSIKCiAgICAke29wdF9z
aWxlbnQtZmFsc2V9IHx8IHsKICAgICAgZnVuY19xdW90ZV9mb3JfZXhwYW5k
ICIkbXlfY21kIgogICAgICBldmFsICJmdW5jX2VjaG8gJGZ1bmNfcXVvdGVf
Zm9yX2V4cGFuZF9yZXN1bHQiCiAgICB9CgogICAgaWYgJHtvcHRfZHJ5X3J1
bi1mYWxzZX07IHRoZW4gOjsgZWxzZQogICAgICBldmFsICIkbXlfY21kIgog
ICAgICBteV9zdGF0dXM9JD8KICAgICAgaWYgdGVzdCAiJG15X3N0YXR1cyIg
LWVxIDA7IHRoZW4gOjsgZWxzZQoJZXZhbCAiKGV4aXQgJG15X3N0YXR1cyk7
ICRteV9mYWlsX2V4cCIKICAgICAgZmkKICAgIGZpCn0KCgojIGZ1bmNfc2hv
d19ldmFsX2xvY2FsZSBjbWQgW2ZhaWxfZXhwXQojIFVubGVzcyBvcHRfc2ls
ZW50IGlzIHRydWUsIHRoZW4gb3V0cHV0IENNRC4gIFRoZW4sIGlmIG9wdF9k
cnlydW4gaXMKIyBub3QgdHJ1ZSwgZXZhbHVhdGUgQ01ELiAgSWYgdGhlIGV2
YWx1YXRpb24gb2YgQ01EIGZhaWxzLCBhbmQgRkFJTF9FWFAKIyBpcyBnaXZl
biwgdGhlbiBldmFsdWF0ZSBpdC4gIFVzZSB0aGUgc2F2ZWQgbG9jYWxlIGZv
ciBldmFsdWF0aW9uLgpmdW5jX3Nob3dfZXZhbF9sb2NhbGUgKCkKewogICAg
bXlfY21kPSIkMSIKICAgIG15X2ZhaWxfZXhwPSIkezItOn0iCgogICAgJHtv
cHRfc2lsZW50LWZhbHNlfSB8fCB7CiAgICAgIGZ1bmNfcXVvdGVfZm9yX2V4
cGFuZCAiJG15X2NtZCIKICAgICAgZXZhbCAiZnVuY19lY2hvICRmdW5jX3F1
b3RlX2Zvcl9leHBhbmRfcmVzdWx0IgogICAgfQoKICAgIGlmICR7b3B0X2Ry
eV9ydW4tZmFsc2V9OyB0aGVuIDo7IGVsc2UKICAgICAgZXZhbCAiJGx0X3Vz
ZXJfbG9jYWxlCgkgICAgJG15X2NtZCIKICAgICAgbXlfc3RhdHVzPSQ/CiAg
ICAgIGV2YWwgIiRsdF9zYWZlX2xvY2FsZSIKICAgICAgaWYgdGVzdCAiJG15
X3N0YXR1cyIgLWVxIDA7IHRoZW4gOjsgZWxzZQoJZXZhbCAiKGV4aXQgJG15
X3N0YXR1cyk7ICRteV9mYWlsX2V4cCIKICAgICAgZmkKICAgIGZpCn0KCiMg
ZnVuY190cl9zaAojIFR1cm4gJDEgaW50byBhIHN0cmluZyBzdWl0YWJsZSBm
b3IgYSBzaGVsbCB2YXJpYWJsZSBuYW1lLgojIFJlc3VsdCBpcyBzdG9yZWQg
aW4gJGZ1bmNfdHJfc2hfcmVzdWx0LiAgQWxsIGNoYXJhY3RlcnMKIyBub3Qg
aW4gdGhlIHNldCBhLXpBLVowLTlfIGFyZSByZXBsYWNlZCB3aXRoICdfJy4g
RnVydGhlciwKIyBpZiAkMSBiZWdpbnMgd2l0aCBhIGRpZ2l0LCBhICdfJyBp
cyBwcmVwZW5kZWQgYXMgd2VsbC4KZnVuY190cl9zaCAoKQp7CiAgY2FzZSAk
MSBpbgogIFswLTldKiB8ICpbIWEtekEtWjAtOV9dKikKICAgIGZ1bmNfdHJf
c2hfcmVzdWx0PWAkRUNITyAiJDEiIHwgJFNFRCAncy9eXChbMC05XVwpL19c
MS87IHMvW15hLXpBLVowLTlfXS9fL2cnYAogICAgOzsKICAqICkKICAgIGZ1
bmNfdHJfc2hfcmVzdWx0PSQxCiAgICA7OwogIGVzYWMKfQoKCiMgZnVuY192
ZXJzaW9uCiMgRWNobyB2ZXJzaW9uIG1lc3NhZ2UgdG8gc3RhbmRhcmQgb3V0
cHV0IGFuZCBleGl0LgpmdW5jX3ZlcnNpb24gKCkKewogICAgJG9wdF9kZWJ1
ZwoKICAgICRTRUQgLW4gJy8oQykvIWIgZ28KCTptb3JlCgkvXC4vIXsKCSAg
TgoJICBzL1xuIyAvIC8KCSAgYiBtb3JlCgl9Cgk6Z28KCS9eIyAnJFBST0dS
QU0nIChHTlUgLywvIyB3YXJyYW50eTsgLyB7CiAgICAgICAgcy9eIyAvLwoJ
cy9eIyAqJC8vCiAgICAgICAgcy9cKChDKVwpWyAwLTksLV0qXCggWzEtOV1b
MC05XSpcKS9cMVwyLwogICAgICAgIHAKICAgICB9JyA8ICIkcHJvZ3BhdGgi
CiAgICAgZXhpdCAkPwp9CgojIGZ1bmNfdXNhZ2UKIyBFY2hvIHNob3J0IGhl
bHAgbWVzc2FnZSB0byBzdGFuZGFyZCBvdXRwdXQgYW5kIGV4aXQuCmZ1bmNf
dXNhZ2UgKCkKewogICAgJG9wdF9kZWJ1ZwoKICAgICRTRUQgLW4gJy9eIyBV
c2FnZTovLC9eIyAgKi4qLS1oZWxwLyB7CiAgICAgICAgcy9eIyAvLwoJcy9e
IyAqJC8vCglzL1wkcHJvZ25hbWUvJyRwcm9nbmFtZScvCglwCiAgICB9JyA8
ICIkcHJvZ3BhdGgiCiAgICBlY2hvCiAgICAkRUNITyAicnVuIFxgJHByb2du
YW1lIC0taGVscCB8IG1vcmUnIGZvciBmdWxsIHVzYWdlIgogICAgZXhpdCAk
Pwp9CgojIGZ1bmNfaGVscCBbTk9FWElUXQojIEVjaG8gbG9uZyBoZWxwIG1l
c3NhZ2UgdG8gc3RhbmRhcmQgb3V0cHV0IGFuZCBleGl0LAojIHVubGVzcyAn
bm9leGl0JyBpcyBwYXNzZWQgYXMgYXJndW1lbnQuCmZ1bmNfaGVscCAoKQp7
CiAgICAkb3B0X2RlYnVnCgogICAgJFNFRCAtbiAnL14jIFVzYWdlOi8sLyMg
UmVwb3J0IGJ1Z3MgdG8vIHsKCTpwcmludAogICAgICAgIHMvXiMgLy8KCXMv
XiMgKiQvLwoJcypcJHByb2duYW1lKickcHJvZ25hbWUnKgoJcypcJGhvc3Qq
JyIkaG9zdCInKgoJcypcJFNIRUxMKiciJFNIRUxMIicqCglzKlwkTFRDQyon
IiRMVENDIicqCglzKlwkTFRDRkxBR1MqJyIkTFRDRkxBR1MiJyoKCXMqXCRM
RConIiRMRCInKgoJcy9cJHdpdGhfZ251X2xkLyciJHdpdGhfZ251X2xkIicv
CglzL1wkYXV0b21ha2VfdmVyc2lvbi8nImAoJHtBVVRPTUFLRS1hdXRvbWFr
ZX0gLS12ZXJzaW9uKSAyPi9kZXYvbnVsbCB8JFNFRCAxcWAiJy8KCXMvXCRh
dXRvY29uZl92ZXJzaW9uLyciYCgke0FVVE9DT05GLWF1dG9jb25mfSAtLXZl
cnNpb24pIDI+L2Rldi9udWxsIHwkU0VEIDFxYCInLwoJcAoJZAogICAgIH0K
ICAgICAvXiMgLiogaG9tZSBwYWdlOi9iIHByaW50CiAgICAgL14jIEdlbmVy
YWwgaGVscCB1c2luZy9iIHByaW50CiAgICAgJyA8ICIkcHJvZ3BhdGgiCiAg
ICByZXQ9JD8KICAgIGlmIHRlc3QgLXogIiQxIjsgdGhlbgogICAgICBleGl0
ICRyZXQKICAgIGZpCn0KCiMgZnVuY19taXNzaW5nX2FyZyBhcmduYW1lCiMg
RWNobyBwcm9ncmFtIG5hbWUgcHJlZml4ZWQgbWVzc2FnZSB0byBzdGFuZGFy
ZCBlcnJvciBhbmQgc2V0IGdsb2JhbAojIGV4aXRfY21kLgpmdW5jX21pc3Np
bmdfYXJnICgpCnsKICAgICRvcHRfZGVidWcKCiAgICBmdW5jX2Vycm9yICJt
aXNzaW5nIGFyZ3VtZW50IGZvciAkMS4iCiAgICBleGl0X2NtZD1leGl0Cn0K
CgojIGZ1bmNfc3BsaXRfc2hvcnRfb3B0IHNob3J0b3B0CiMgU2V0IGZ1bmNf
c3BsaXRfc2hvcnRfb3B0X25hbWUgYW5kIGZ1bmNfc3BsaXRfc2hvcnRfb3B0
X2FyZyBzaGVsbAojIHZhcmlhYmxlcyBhZnRlciBzcGxpdHRpbmcgU0hPUlRP
UFQgYWZ0ZXIgdGhlIDJuZCBjaGFyYWN0ZXIuCmZ1bmNfc3BsaXRfc2hvcnRf
b3B0ICgpCnsKICAgIGZ1bmNfc3BsaXRfc2hvcnRfb3B0X2FyZz0kezEjPz99
CiAgICBmdW5jX3NwbGl0X3Nob3J0X29wdF9uYW1lPSR7MSUiJGZ1bmNfc3Bs
aXRfc2hvcnRfb3B0X2FyZyJ9Cn0gIyBFeHRlbmRlZC1zaGVsbCBmdW5jX3Nw
bGl0X3Nob3J0X29wdCBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19zcGxpdF9s
b25nX29wdCBsb25nb3B0CiMgU2V0IGZ1bmNfc3BsaXRfbG9uZ19vcHRfbmFt
ZSBhbmQgZnVuY19zcGxpdF9sb25nX29wdF9hcmcgc2hlbGwKIyB2YXJpYWJs
ZXMgYWZ0ZXIgc3BsaXR0aW5nIExPTkdPUFQgYXQgdGhlIGA9JyBzaWduLgpm
dW5jX3NwbGl0X2xvbmdfb3B0ICgpCnsKICAgIGZ1bmNfc3BsaXRfbG9uZ19v
cHRfbmFtZT0kezElJT0qfQogICAgZnVuY19zcGxpdF9sb25nX29wdF9hcmc9
JHsxIyo9fQp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19zcGxpdF9sb25nX29w
dCBpbXBsZW1lbnRhdGlvbgoKZXhpdF9jbWQ9OgoKCgoKCm1hZ2ljPSIlJSVN
QUdJQyB2YXJpYWJsZSUlJSIKbWFnaWNfZXhlPSIlJSVNQUdJQyBFWEUgdmFy
aWFibGUlJSUiCgojIEdsb2JhbCB2YXJpYWJsZXMuCm5vbm9wdD0KcHJlc2Vy
dmVfYXJncz0KbG8ybz0icy9cXC5sb1wkLy4ke29iamV4dH0vIgpvMmxvPSJz
L1xcLiR7b2JqZXh0fVwkLy5sby8iCmV4dHJhY3RlZF9hcmNoaXZlcz0KZXh0
cmFjdGVkX3NlcmlhbD0wCgojIElmIHRoaXMgdmFyaWFibGUgaXMgc2V0IGlu
IGFueSBvZiB0aGUgYWN0aW9ucywgdGhlIGNvbW1hbmQgaW4gaXQKIyB3aWxs
IGJlIGV4ZWNlZCBhdCB0aGUgZW5kLiAgVGhpcyBwcmV2ZW50cyBoZXJlLWRv
Y3VtZW50cyBmcm9tIGJlaW5nCiMgbGVmdCBvdmVyIGJ5IHNoZWxscy4KZXhl
Y19jbWQ9CgojIGZ1bmNfYXBwZW5kIHZhciB2YWx1ZQojIEFwcGVuZCBWQUxV
RSB0byB0aGUgZW5kIG9mIHNoZWxsIHZhcmlhYmxlIFZBUi4KZnVuY19hcHBl
bmQgKCkKewogICAgZXZhbCAiJHsxfSs9XCR7Mn0iCn0gIyBFeHRlbmRlZC1z
aGVsbCBmdW5jX2FwcGVuZCBpbXBsZW1lbnRhdGlvbgoKIyBmdW5jX2FwcGVu
ZF9xdW90ZWQgdmFyIHZhbHVlCiMgUXVvdGUgVkFMVUUgYW5kIGFwcGVuZCB0
byB0aGUgZW5kIG9mIHNoZWxsIHZhcmlhYmxlIFZBUiwgc2VwYXJhdGVkCiMg
YnkgYSBzcGFjZS4KZnVuY19hcHBlbmRfcXVvdGVkICgpCnsKICAgIGZ1bmNf
cXVvdGVfZm9yX2V2YWwgIiR7Mn0iCiAgICBldmFsICIkezF9Kz1cXCBcJGZ1
bmNfcXVvdGVfZm9yX2V2YWxfcmVzdWx0Igp9ICMgRXh0ZW5kZWQtc2hlbGwg
ZnVuY19hcHBlbmRfcXVvdGVkIGltcGxlbWVudGF0aW9uCgoKIyBmdW5jX2Fy
aXRoIGFyaXRobWV0aWMtdGVybS4uLgpmdW5jX2FyaXRoICgpCnsKICAgIGZ1
bmNfYXJpdGhfcmVzdWx0PSQoKCAkKiApKQp9ICMgRXh0ZW5kZWQtc2hlbGwg
ZnVuY19hcml0aCBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19sZW4gc3RyaW5n
CiMgU1RSSU5HIG1heSBub3Qgc3RhcnQgd2l0aCBhIGh5cGhlbi4KZnVuY19s
ZW4gKCkKewogICAgZnVuY19sZW5fcmVzdWx0PSR7IzF9Cn0gIyBFeHRlbmRl
ZC1zaGVsbCBmdW5jX2xlbiBpbXBsZW1lbnRhdGlvbgoKCiMgZnVuY19sbzJv
IG9iamVjdApmdW5jX2xvMm8gKCkKewogICAgY2FzZSAkezF9IGluCiAgICAg
ICoubG8pIGZ1bmNfbG8yb19yZXN1bHQ9JHsxJS5sb30uJHtvYmpleHR9IDs7
CiAgICAgICopICAgIGZ1bmNfbG8yb19yZXN1bHQ9JHsxfSA7OwogICAgZXNh
Ywp9ICMgRXh0ZW5kZWQtc2hlbGwgZnVuY19sbzJvIGltcGxlbWVudGF0aW9u
CgoKIyBmdW5jX3hmb3JtIGxpYm9iai1vci1zb3VyY2UKZnVuY194Zm9ybSAo
KQp7CiAgICBmdW5jX3hmb3JtX3Jlc3VsdD0kezElLip9LmxvCn0gIyBFeHRl
bmRlZC1zaGVsbCBmdW5jX3hmb3JtIGltcGxlbWVudGF0aW9uCgoKIyBmdW5j
X2ZhdGFsX2NvbmZpZ3VyYXRpb24gYXJnLi4uCiMgRWNobyBwcm9ncmFtIG5h
bWUgcHJlZml4ZWQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciwgZm9sbG93
ZWQgYnkKIyBhIGNvbmZpZ3VyYXRpb24gZmFpbHVyZSBoaW50LCBhbmQgZXhp
dC4KZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICgpCnsKICAgIGZ1bmNfZXJy
b3IgJHsxKyIkQCJ9CiAgICBmdW5jX2Vycm9yICJTZWUgdGhlICRQQUNLQUdF
IGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogICAgZnVu
Y19mYXRhbF9lcnJvciAiRmF0YWwgY29uZmlndXJhdGlvbiBlcnJvci4iCn0K
CgojIGZ1bmNfY29uZmlnCiMgRGlzcGxheSB0aGUgY29uZmlndXJhdGlvbiBm
b3IgYWxsIHRoZSB0YWdzIGluIHRoaXMgc2NyaXB0LgpmdW5jX2NvbmZpZyAo
KQp7CiAgICByZV9iZWdpbmNmPSdeIyAjIyMgQkVHSU4gTElCVE9PTCcKICAg
IHJlX2VuZGNmPSdeIyAjIyMgRU5EIExJQlRPT0wnCgogICAgIyBEZWZhdWx0
IGNvbmZpZ3VyYXRpb24uCiAgICAkU0VEICIxLC8kcmVfYmVnaW5jZiBDT05G
SUcvZDsvJHJlX2VuZGNmIENPTkZJRy8sXCRkIiA8ICIkcHJvZ3BhdGgiCgog
ICAgIyBOb3cgcHJpbnQgdGhlIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgdGFn
cy4KICAgIGZvciB0YWduYW1lIGluICR0YWdsaXN0OyBkbwogICAgICAkU0VE
IC1uICIvJHJlX2JlZ2luY2YgVEFHIENPTkZJRzogJHRhZ25hbWVcJC8sLyRy
ZV9lbmRjZiBUQUcgQ09ORklHOiAkdGFnbmFtZVwkL3AiIDwgIiRwcm9ncGF0
aCIKICAgIGRvbmUKCiAgICBleGl0ICQ/Cn0KCiMgZnVuY19mZWF0dXJlcwoj
IERpc3BsYXkgdGhlIGZlYXR1cmVzIHN1cHBvcnRlZCBieSB0aGlzIHNjcmlw
dC4KZnVuY19mZWF0dXJlcyAoKQp7CiAgICBlY2hvICJob3N0OiAkaG9zdCIK
ICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVu
CiAgICAgIGVjaG8gImVuYWJsZSBzaGFyZWQgbGlicmFyaWVzIgogICAgZWxz
ZQogICAgICBlY2hvICJkaXNhYmxlIHNoYXJlZCBsaWJyYXJpZXMiCiAgICBm
aQogICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgog
ICAgICBlY2hvICJlbmFibGUgc3RhdGljIGxpYnJhcmllcyIKICAgIGVsc2UK
ICAgICAgZWNobyAiZGlzYWJsZSBzdGF0aWMgbGlicmFyaWVzIgogICAgZmkK
CiAgICBleGl0ICQ/Cn0KCiMgZnVuY19lbmFibGVfdGFnIHRhZ25hbWUKIyBW
ZXJpZnkgdGhhdCBUQUdOQU1FIGlzIHZhbGlkLCBhbmQgZWl0aGVyIGZsYWcg
YW4gZXJyb3IgYW5kIGV4aXQsIG9yCiMgZW5hYmxlIHRoZSBUQUdOQU1FIHRh
Zy4gIFdlIGFsc28gYWRkIFRBR05BTUUgdG8gdGhlIGdsb2JhbCAkdGFnbGlz
dAojIHZhcmlhYmxlIGhlcmUuCmZ1bmNfZW5hYmxlX3RhZyAoKQp7CiAgIyBH
bG9iYWwgdmFyaWFibGU6CiAgdGFnbmFtZT0iJDEiCgogIHJlX2JlZ2luY2Y9
Il4jICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6ICR0YWduYW1lXCQi
CiAgcmVfZW5kY2Y9Il4jICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiAk
dGFnbmFtZVwkIgogIHNlZF9leHRyYWN0Y2Y9Ii8kcmVfYmVnaW5jZi8sLyRy
ZV9lbmRjZi9wIgoKICAjIFZhbGlkYXRlIHRhZ25hbWUuCiAgY2FzZSAkdGFn
bmFtZSBpbgogICAgKlshLV9BLVphLXowLTksL10qKQogICAgICBmdW5jX2Zh
dGFsX2Vycm9yICJpbnZhbGlkIHRhZyBuYW1lOiAkdGFnbmFtZSIKICAgICAg
OzsKICBlc2FjCgogICMgRG9uJ3QgdGVzdCBmb3IgdGhlICJkZWZhdWx0IiBD
IHRhZywgYXMgd2Uga25vdyBpdCdzCiAgIyB0aGVyZSBidXQgbm90IHNwZWNp
YWxseSBtYXJrZWQuCiAgY2FzZSAkdGFnbmFtZSBpbgogICAgQ0MpIDs7CiAg
ICAqKQogICAgICBpZiAkR1JFUCAiJHJlX2JlZ2luY2YiICIkcHJvZ3BhdGgi
ID4vZGV2L251bGwgMj4mMTsgdGhlbgoJdGFnbGlzdD0iJHRhZ2xpc3QgJHRh
Z25hbWUiCgoJIyBFdmFsdWF0ZSB0aGUgY29uZmlndXJhdGlvbi4gIEJlIGNh
cmVmdWwgdG8gcXVvdGUgdGhlIHBhdGgKCSMgYW5kIHRoZSBzZWQgc2NyaXB0
LCB0byBhdm9pZCBzcGxpdHRpbmcgb24gd2hpdGVzcGFjZSwgYnV0CgkjIGFs
c28gZG9uJ3QgdXNlIG5vbi1wb3J0YWJsZSBxdW90ZXMgd2l0aGluIGJhY2tx
dW90ZXMgd2l0aGluCgkjIHF1b3RlcyB3ZSBoYXZlIHRvIGRvIGl0IGluIDIg
c3RlcHM6CglleHRyYWN0ZWRjZj1gJFNFRCAtbiAtZSAiJHNlZF9leHRyYWN0
Y2YiIDwgIiRwcm9ncGF0aCJgCglldmFsICIkZXh0cmFjdGVkY2YiCiAgICAg
IGVsc2UKCWZ1bmNfZXJyb3IgImlnbm9yaW5nIHVua25vd24gdGFnICR0YWdu
YW1lIgogICAgICBmaQogICAgICA7OwogIGVzYWMKfQoKIyBmdW5jX2NoZWNr
X3ZlcnNpb25fbWF0Y2gKIyBFbnN1cmUgdGhhdCB3ZSBhcmUgdXNpbmcgbTQg
bWFjcm9zLCBhbmQgbGlidG9vbCBzY3JpcHQgZnJvbSB0aGUgc2FtZQojIHJl
bGVhc2Ugb2YgbGlidG9vbC4KZnVuY19jaGVja192ZXJzaW9uX21hdGNoICgp
CnsKICBpZiB0ZXN0ICIkcGFja2FnZV9yZXZpc2lvbiIgIT0gIiRtYWNyb19y
ZXZpc2lvbiI7IHRoZW4KICAgIGlmIHRlc3QgIiRWRVJTSU9OIiAhPSAiJG1h
Y3JvX3ZlcnNpb24iOyB0aGVuCiAgICAgIGlmIHRlc3QgLXogIiRtYWNyb192
ZXJzaW9uIjsgdGhlbgogICAgICAgIGNhdCA+JjIgPDxfTFRfRU9GCiRwcm9n
bmFtZTogVmVyc2lvbiBtaXNtYXRjaCBlcnJvci4gIFRoaXMgaXMgJFBBQ0tB
R0UgJFZFUlNJT04sIGJ1dCB0aGUKJHByb2duYW1lOiBkZWZpbml0aW9uIG9m
IHRoaXMgTFRfSU5JVCBjb21lcyBmcm9tIGFuIG9sZGVyIHJlbGVhc2UuCiRw
cm9nbmFtZTogWW91IHNob3VsZCByZWNyZWF0ZSBhY2xvY2FsLm00IHdpdGgg
bWFjcm9zIGZyb20gJFBBQ0tBR0UgJFZFUlNJT04KJHByb2duYW1lOiBhbmQg
cnVuIGF1dG9jb25mIGFnYWluLgpfTFRfRU9GCiAgICAgIGVsc2UKICAgICAg
ICBjYXQgPiYyIDw8X0xUX0VPRgokcHJvZ25hbWU6IFZlcnNpb24gbWlzbWF0
Y2ggZXJyb3IuICBUaGlzIGlzICRQQUNLQUdFICRWRVJTSU9OLCBidXQgdGhl
CiRwcm9nbmFtZTogZGVmaW5pdGlvbiBvZiB0aGlzIExUX0lOSVQgY29tZXMg
ZnJvbSAkUEFDS0FHRSAkbWFjcm9fdmVyc2lvbi4KJHByb2duYW1lOiBZb3Ug
c2hvdWxkIHJlY3JlYXRlIGFjbG9jYWwubTQgd2l0aCBtYWNyb3MgZnJvbSAk
UEFDS0FHRSAkVkVSU0lPTgokcHJvZ25hbWU6IGFuZCBydW4gYXV0b2NvbmYg
YWdhaW4uCl9MVF9FT0YKICAgICAgZmkKICAgIGVsc2UKICAgICAgY2F0ID4m
MiA8PF9MVF9FT0YKJHByb2duYW1lOiBWZXJzaW9uIG1pc21hdGNoIGVycm9y
LiAgVGhpcyBpcyAkUEFDS0FHRSAkVkVSU0lPTiwgcmV2aXNpb24gJHBhY2th
Z2VfcmV2aXNpb24sCiRwcm9nbmFtZTogYnV0IHRoZSBkZWZpbml0aW9uIG9m
IHRoaXMgTFRfSU5JVCBjb21lcyBmcm9tIHJldmlzaW9uICRtYWNyb19yZXZp
c2lvbi4KJHByb2duYW1lOiBZb3Ugc2hvdWxkIHJlY3JlYXRlIGFjbG9jYWwu
bTQgd2l0aCBtYWNyb3MgZnJvbSByZXZpc2lvbiAkcGFja2FnZV9yZXZpc2lv
bgokcHJvZ25hbWU6IG9mICRQQUNLQUdFICRWRVJTSU9OIGFuZCBydW4gYXV0
b2NvbmYgYWdhaW4uCl9MVF9FT0YKICAgIGZpCgogICAgZXhpdCAkRVhJVF9N
SVNNQVRDSAogIGZpCn0KCgojIFNob3J0aGFuZCBmb3IgLS1tb2RlPWZvbywg
b25seSB2YWxpZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQKY2FzZSAkMSBpbgpj
bGVhbnxjbGVhfGNsZXxjbCkKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBj
bGVhbiAkezErIiRAIn07IHNoaWZ0CiAgOzsKY29tcGlsZXxjb21waWx8Y29t
cGl8Y29tcHxjb218Y298YykKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBj
b21waWxlICR7MSsiJEAifTsgc2hpZnQKICA7OwpleGVjdXRlfGV4ZWN1dHxl
eGVjdXxleGVjfGV4ZXxleHxlKQogIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2Rl
IGV4ZWN1dGUgJHsxKyIkQCJ9OyBzaGlmdAogIDs7CmZpbmlzaHxmaW5pc3xm
aW5pfGZpbnxmaXxmKQogIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGZpbmlz
aCAkezErIiRAIn07IHNoaWZ0CiAgOzsKaW5zdGFsbHxpbnN0YWx8aW5zdGF8
aW5zdHxpbnN8aW58aSkKICBzaGlmdDsgc2V0IGR1bW15IC0tbW9kZSBpbnN0
YWxsICR7MSsiJEAifTsgc2hpZnQKICA7OwpsaW5rfGxpbnxsaXxsKQogIHNo
aWZ0OyBzZXQgZHVtbXkgLS1tb2RlIGxpbmsgJHsxKyIkQCJ9OyBzaGlmdAog
IDs7CnVuaW5zdGFsbHx1bmluc3RhbHx1bmluc3RhfHVuaW5zdHx1bmluc3x1
bmlufHVuaXx1bnx1KQogIHNoaWZ0OyBzZXQgZHVtbXkgLS1tb2RlIHVuaW5z
dGFsbCAkezErIiRAIn07IHNoaWZ0CiAgOzsKZXNhYwoKCgojIE9wdGlvbiBk
ZWZhdWx0czoKb3B0X2RlYnVnPToKb3B0X2RyeV9ydW49ZmFsc2UKb3B0X2Nv
bmZpZz1mYWxzZQpvcHRfcHJlc2VydmVfZHVwX2RlcHM9ZmFsc2UKb3B0X2Zl
YXR1cmVzPWZhbHNlCm9wdF9maW5pc2g9ZmFsc2UKb3B0X2hlbHA9ZmFsc2UK
b3B0X2hlbHBfYWxsPWZhbHNlCm9wdF9zaWxlbnQ9OgpvcHRfd2FybmluZz06
Cm9wdF92ZXJib3NlPToKb3B0X3NpbGVudD1mYWxzZQpvcHRfdmVyYm9zZT1m
YWxzZQoKCiMgUGFyc2Ugb3B0aW9ucyBvbmNlLCB0aG9yb3VnaGx5LiAgVGhp
cyBjb21lcyBhcyBzb29uIGFzIHBvc3NpYmxlIGluIHRoZQojIHNjcmlwdCB0
byBtYWtlIHRoaW5ncyBsaWtlIGAtLXZlcnNpb24nIGhhcHBlbiBhcyBxdWlj
a2x5IGFzIHdlIGNhbi4KewogICMgdGhpcyBqdXN0IGVhc2VzIGV4aXQgaGFu
ZGxpbmcKICB3aGlsZSB0ZXN0ICQjIC1ndCAwOyBkbwogICAgb3B0PSIkMSIK
ICAgIHNoaWZ0CiAgICBjYXNlICRvcHQgaW4KICAgICAgLS1kZWJ1Z3wteCkJ
b3B0X2RlYnVnPSdzZXQgLXgnCgkJCWZ1bmNfZWNobyAiZW5hYmxpbmcgc2hl
bGwgdHJhY2UgbW9kZSIKCQkJJG9wdF9kZWJ1ZwoJCQk7OwogICAgICAtLWRy
eS1ydW58LS1kcnlydW58LW4pCgkJCW9wdF9kcnlfcnVuPToKCQkJOzsKICAg
ICAgLS1jb25maWcpCgkJCW9wdF9jb25maWc9OgpmdW5jX2NvbmZpZwoJCQk7
OwogICAgICAtLWRsb3BlbnwtZGxvcGVuKQoJCQlvcHRhcmc9IiQxIgoJCQlv
cHRfZGxvcGVuPSIke29wdF9kbG9wZW4rJG9wdF9kbG9wZW4KfSRvcHRhcmci
CgkJCXNoaWZ0CgkJCTs7CiAgICAgIC0tcHJlc2VydmUtZHVwLWRlcHMpCgkJ
CW9wdF9wcmVzZXJ2ZV9kdXBfZGVwcz06CgkJCTs7CiAgICAgIC0tZmVhdHVy
ZXMpCgkJCW9wdF9mZWF0dXJlcz06CmZ1bmNfZmVhdHVyZXMKCQkJOzsKICAg
ICAgLS1maW5pc2gpCgkJCW9wdF9maW5pc2g9OgpzZXQgZHVtbXkgLS1tb2Rl
IGZpbmlzaCAkezErIiRAIn07IHNoaWZ0CgkJCTs7CiAgICAgIC0taGVscCkK
CQkJb3B0X2hlbHA9OgoJCQk7OwogICAgICAtLWhlbHAtYWxsKQoJCQlvcHRf
aGVscF9hbGw9OgpvcHRfaGVscD0nOiBoZWxwLWFsbCcKCQkJOzsKICAgICAg
LS1tb2RlKQoJCQl0ZXN0ICQjID0gMCAmJiBmdW5jX21pc3NpbmdfYXJnICRv
cHQgJiYgYnJlYWsKCQkJb3B0YXJnPSIkMSIKCQkJb3B0X21vZGU9IiRvcHRh
cmciCmNhc2UgJG9wdGFyZyBpbgogICMgVmFsaWQgbW9kZSBhcmd1bWVudHM6
CiAgY2xlYW58Y29tcGlsZXxleGVjdXRlfGZpbmlzaHxpbnN0YWxsfGxpbmt8
cmVsaW5rfHVuaW5zdGFsbCkgOzsKCiAgIyBDYXRjaCBhbnl0aGluZyBlbHNl
IGFzIGFuIGVycm9yCiAgKikgZnVuY19lcnJvciAiaW52YWxpZCBhcmd1bWVu
dCBmb3IgJG9wdCIKICAgICBleGl0X2NtZD1leGl0CiAgICAgYnJlYWsKICAg
ICA7Owplc2FjCgkJCXNoaWZ0CgkJCTs7CiAgICAgIC0tbm8tc2lsZW50fC0t
bm8tcXVpZXQpCgkJCW9wdF9zaWxlbnQ9ZmFsc2UKcHJlc2VydmVfYXJncys9
IiAkb3B0IgoJCQk7OwogICAgICAtLW5vLXdhcm5pbmd8LS1uby13YXJuKQoJ
CQlvcHRfd2FybmluZz1mYWxzZQpwcmVzZXJ2ZV9hcmdzKz0iICRvcHQiCgkJ
CTs7CiAgICAgIC0tbm8tdmVyYm9zZSkKCQkJb3B0X3ZlcmJvc2U9ZmFsc2UK
cHJlc2VydmVfYXJncys9IiAkb3B0IgoJCQk7OwogICAgICAtLXNpbGVudHwt
LXF1aWV0KQoJCQlvcHRfc2lsZW50PToKcHJlc2VydmVfYXJncys9IiAkb3B0
IgogICAgICAgIG9wdF92ZXJib3NlPWZhbHNlCgkJCTs7CiAgICAgIC0tdmVy
Ym9zZXwtdikKCQkJb3B0X3ZlcmJvc2U9OgpwcmVzZXJ2ZV9hcmdzKz0iICRv
cHQiCm9wdF9zaWxlbnQ9ZmFsc2UKCQkJOzsKICAgICAgLS10YWcpCgkJCXRl
c3QgJCMgPSAwICYmIGZ1bmNfbWlzc2luZ19hcmcgJG9wdCAmJiBicmVhawoJ
CQlvcHRhcmc9IiQxIgoJCQlvcHRfdGFnPSIkb3B0YXJnIgpwcmVzZXJ2ZV9h
cmdzKz0iICRvcHQgJG9wdGFyZyIKZnVuY19lbmFibGVfdGFnICIkb3B0YXJn
IgoJCQlzaGlmdAoJCQk7OwoKICAgICAgLVw/fC1oKQkJZnVuY191c2FnZQkJ
CQk7OwogICAgICAtLWhlbHApCQlmdW5jX2hlbHAJCQkJOzsKICAgICAgLS12
ZXJzaW9uKQlmdW5jX3ZlcnNpb24JCQkJOzsKCiAgICAgICMgU2VwYXJhdGUg
b3B0YXJncyB0byBsb25nIG9wdGlvbnM6CiAgICAgIC0tKj0qKQoJCQlmdW5j
X3NwbGl0X2xvbmdfb3B0ICIkb3B0IgoJCQlzZXQgZHVtbXkgIiRmdW5jX3Nw
bGl0X2xvbmdfb3B0X25hbWUiICIkZnVuY19zcGxpdF9sb25nX29wdF9hcmci
ICR7MSsiJEAifQoJCQlzaGlmdAoJCQk7OwoKICAgICAgIyBTZXBhcmF0ZSBu
b24tYXJndW1lbnQgc2hvcnQgb3B0aW9uczoKICAgICAgLVw/KnwtaCp8LW4q
fC12KikKCQkJZnVuY19zcGxpdF9zaG9ydF9vcHQgIiRvcHQiCgkJCXNldCBk
dW1teSAiJGZ1bmNfc3BsaXRfc2hvcnRfb3B0X25hbWUiICItJGZ1bmNfc3Bs
aXRfc2hvcnRfb3B0X2FyZyIgJHsxKyIkQCJ9CgkJCXNoaWZ0CgkJCTs7Cgog
ICAgICAtLSkJCWJyZWFrCQkJCQk7OwogICAgICAtKikJCWZ1bmNfZmF0YWxf
aGVscCAidW5yZWNvZ25pemVkIG9wdGlvbiBcYCRvcHQnIiA7OwogICAgICAq
KQkJc2V0IGR1bW15ICIkb3B0IiAkezErIiRAIn07CXNoaWZ0OyBicmVhayAg
OzsKICAgIGVzYWMKICBkb25lCgogICMgVmFsaWRhdGUgb3B0aW9uczoKCiAg
IyBzYXZlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQKICBpZiB0ZXN0ICIk
IyIgLWd0IDA7IHRoZW4KICAgIG5vbm9wdD0iJG9wdCIKICAgIHNoaWZ0CiAg
ZmkKCiAgIyBwcmVzZXJ2ZSAtLWRlYnVnCiAgdGVzdCAiJG9wdF9kZWJ1ZyIg
PSA6IHx8IHByZXNlcnZlX2FyZ3MrPSIgLS1kZWJ1ZyIKCiAgY2FzZSAkaG9z
dCBpbgogICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKnB3MzIqIHwgKmNlZ2Nj
KikKICAgICAgIyBkb24ndCBlbGltaW5hdGUgZHVwbGljYXRpb25zIGluICRw
b3N0ZGVwcyBhbmQgJHByZWRlcHMKICAgICAgb3B0X2R1cGxpY2F0ZV9jb21w
aWxlcl9nZW5lcmF0ZWRfZGVwcz06CiAgICAgIDs7CiAgICAqKQogICAgICBv
cHRfZHVwbGljYXRlX2NvbXBpbGVyX2dlbmVyYXRlZF9kZXBzPSRvcHRfcHJl
c2VydmVfZHVwX2RlcHMKICAgICAgOzsKICBlc2FjCgogICRvcHRfaGVscCB8
fCB7CiAgICAjIFNhbml0eSBjaGVja3MgZmlyc3Q6CiAgICBmdW5jX2NoZWNr
X3ZlcnNpb25fbWF0Y2gKCiAgICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9s
aWJzIiAhPSB5ZXMgJiYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiAhPSB5ZXM7
IHRoZW4KICAgICAgZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJub3QgY29u
ZmlndXJlZCB0byBidWlsZCBhbnkga2luZCBvZiBsaWJyYXJ5IgogICAgZmkK
CiAgICAjIERhcndpbiBzdWNrcwogICAgZXZhbCBzdGRfc2hyZXh0PVwiJHNo
cmV4dF9jbWRzXCIKCiAgICAjIE9ubHkgZXhlY3V0ZSBtb2RlIGlzIGFsbG93
ZWQgdG8gaGF2ZSAtZGxvcGVuIGZsYWdzLgogICAgaWYgdGVzdCAtbiAiJG9w
dF9kbG9wZW4iICYmIHRlc3QgIiRvcHRfbW9kZSIgIT0gZXhlY3V0ZTsgdGhl
bgogICAgICBmdW5jX2Vycm9yICJ1bnJlY29nbml6ZWQgb3B0aW9uIFxgLWRs
b3BlbiciCiAgICAgICRFQ0hPICIkaGVscCIgMT4mMgogICAgICBleGl0ICRF
WElUX0ZBSUxVUkUKICAgIGZpCgogICAgIyBDaGFuZ2UgdGhlIGhlbHAgbWVz
c2FnZSB0byBhIG1vZGUtc3BlY2lmaWMgb25lLgogICAgZ2VuZXJpY19oZWxw
PSIkaGVscCIKICAgIGhlbHA9IlRyeSBcYCRwcm9nbmFtZSAtLWhlbHAgLS1t
b2RlPSRvcHRfbW9kZScgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogIH0KCgog
ICMgQmFpbCBpZiB0aGUgb3B0aW9ucyB3ZXJlIHNjcmV3ZWQKICAkZXhpdF9j
bWQgJEVYSVRfRkFJTFVSRQp9CgoKCgojIyAtLS0tLS0tLS0tLSAjIwojIyAg
ICBNYWluLiAgICAjIwojIyAtLS0tLS0tLS0tLSAjIwoKIyBmdW5jX2xhbGli
X3AgZmlsZQojIFRydWUgaWZmIEZJTEUgaXMgYSBsaWJ0b29sIGAubGEnIGxp
YnJhcnkgb3IgYC5sbycgb2JqZWN0IGZpbGUuCiMgVGhpcyBmdW5jdGlvbiBp
cyBvbmx5IGEgYmFzaWMgc2FuaXR5IGNoZWNrOyBpdCB3aWxsIGhhcmRseSBm
bHVzaCBvdXQKIyBkZXRlcm1pbmVkIGltcG9zdGVycy4KZnVuY19sYWxpYl9w
ICgpCnsKICAgIHRlc3QgLWYgIiQxIiAmJgogICAgICAkU0VEIC1lIDRxICIk
MSIgMj4vZGV2L251bGwgXAogICAgICAgIHwgJEdSRVAgIl4jIEdlbmVyYXRl
ZCBieSAuKiRQQUNLQUdFIiA+IC9kZXYvbnVsbCAyPiYxCn0KCiMgZnVuY19s
YWxpYl91bnNhZmVfcCBmaWxlCiMgVHJ1ZSBpZmYgRklMRSBpcyBhIGxpYnRv
b2wgYC5sYScgbGlicmFyeSBvciBgLmxvJyBvYmplY3QgZmlsZS4KIyBUaGlz
IGZ1bmN0aW9uIGltcGxlbWVudHMgdGhlIHNhbWUgY2hlY2sgYXMgZnVuY19s
YWxpYl9wIHdpdGhvdXQKIyByZXNvcnRpbmcgdG8gZXh0ZXJuYWwgcHJvZ3Jh
bXMuICBUbyB0aGlzIGVuZCwgaXQgcmVkaXJlY3RzIHN0ZGluIGFuZAojIGNs
b3NlcyBpdCBhZnRlcndhcmRzLCB3aXRob3V0IHNhdmluZyB0aGUgb3JpZ2lu
YWwgZmlsZSBkZXNjcmlwdG9yLgojIEFzIGEgc2FmZXR5IG1lYXN1cmUsIHVz
ZSBpdCBvbmx5IHdoZXJlIGEgbmVnYXRpdmUgcmVzdWx0IHdvdWxkIGJlCiMg
ZmF0YWwgYW55d2F5LiAgV29ya3MgaWYgYGZpbGUnIGRvZXMgbm90IGV4aXN0
LgpmdW5jX2xhbGliX3Vuc2FmZV9wICgpCnsKICAgIGxhbGliX3A9bm8KICAg
IGlmIHRlc3QgLWYgIiQxIiAmJiB0ZXN0IC1yICIkMSIgJiYgZXhlYyA1PCYw
IDwiJDEiOyB0aGVuCglmb3IgbGFsaWJfcF9sIGluIDEgMiAzIDQKCWRvCgkg
ICAgcmVhZCBsYWxpYl9wX2xpbmUKCSAgICBjYXNlICIkbGFsaWJfcF9saW5l
IiBpbgoJCVwjXCBHZW5lcmF0ZWRcIGJ5XCAqJFBBQ0tBR0UqICkgbGFsaWJf
cD15ZXM7IGJyZWFrOzsKCSAgICBlc2FjCglkb25lCglleGVjIDA8JjUgNTwm
LQogICAgZmkKICAgIHRlc3QgIiRsYWxpYl9wIiA9IHllcwp9CgojIGZ1bmNf
bHR3cmFwcGVyX3NjcmlwdF9wIGZpbGUKIyBUcnVlIGlmZiBGSUxFIGlzIGEg
bGlidG9vbCB3cmFwcGVyIHNjcmlwdAojIFRoaXMgZnVuY3Rpb24gaXMgb25s
eSBhIGJhc2ljIHNhbml0eSBjaGVjazsgaXQgd2lsbCBoYXJkbHkgZmx1c2gg
b3V0CiMgZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCmZ1bmNfbHR3cmFwcGVyX3Nj
cmlwdF9wICgpCnsKICAgIGZ1bmNfbGFsaWJfcCAiJDEiCn0KCiMgZnVuY19s
dHdyYXBwZXJfZXhlY3V0YWJsZV9wIGZpbGUKIyBUcnVlIGlmZiBGSUxFIGlz
IGEgbGlidG9vbCB3cmFwcGVyIGV4ZWN1dGFibGUKIyBUaGlzIGZ1bmN0aW9u
IGlzIG9ubHkgYSBiYXNpYyBzYW5pdHkgY2hlY2s7IGl0IHdpbGwgaGFyZGx5
IGZsdXNoIG91dAojIGRldGVybWluZWQgaW1wb3N0ZXJzLgpmdW5jX2x0d3Jh
cHBlcl9leGVjdXRhYmxlX3AgKCkKewogICAgZnVuY19sdHdyYXBwZXJfZXhl
Y19zdWZmaXg9CiAgICBjYXNlICQxIGluCiAgICAqLmV4ZSkgOzsKICAgICop
IGZ1bmNfbHR3cmFwcGVyX2V4ZWNfc3VmZml4PS5leGUgOzsKICAgIGVzYWMK
ICAgICRHUkVQICIkbWFnaWNfZXhlIiAiJDEkZnVuY19sdHdyYXBwZXJfZXhl
Y19zdWZmaXgiID4vZGV2L251bGwgMj4mMQp9CgojIGZ1bmNfbHR3cmFwcGVy
X3NjcmlwdG5hbWUgZmlsZQojIEFzc3VtZXMgZmlsZSBpcyBhbiBsdHdyYXBw
ZXJfZXhlY3V0YWJsZQojIHVzZXMgJGZpbGUgdG8gZGV0ZXJtaW5lIHRoZSBh
cHByb3ByaWF0ZSBmaWxlbmFtZSBmb3IgYQojIHRlbXBvcmFyeSBsdHdyYXBw
ZXJfc2NyaXB0LgpmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICgpCnsKICAg
IGZ1bmNfZGlybmFtZV9hbmRfYmFzZW5hbWUgIiQxIiAiIiAiLiIKICAgIGZ1
bmNfc3RyaXBuYW1lICcnICcuZXhlJyAiJGZ1bmNfYmFzZW5hbWVfcmVzdWx0
IgogICAgZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQ9IiRmdW5j
X2Rpcm5hbWVfcmVzdWx0LyRvYmpkaXIvJHtmdW5jX3N0cmlwbmFtZV9yZXN1
bHR9X2x0c2h3cmFwcGVyIgp9CgojIGZ1bmNfbHR3cmFwcGVyX3AgZmlsZQoj
IFRydWUgaWZmIEZJTEUgaXMgYSBsaWJ0b29sIHdyYXBwZXIgc2NyaXB0IG9y
IHdyYXBwZXIgZXhlY3V0YWJsZQojIFRoaXMgZnVuY3Rpb24gaXMgb25seSBh
IGJhc2ljIHNhbml0eSBjaGVjazsgaXQgd2lsbCBoYXJkbHkgZmx1c2ggb3V0
CiMgZGV0ZXJtaW5lZCBpbXBvc3RlcnMuCmZ1bmNfbHR3cmFwcGVyX3AgKCkK
ewogICAgZnVuY19sdHdyYXBwZXJfc2NyaXB0X3AgIiQxIiB8fCBmdW5jX2x0
d3JhcHBlcl9leGVjdXRhYmxlX3AgIiQxIgp9CgoKIyBmdW5jX2V4ZWN1dGVf
Y21kcyBjb21tYW5kcyBmYWlsX2NtZAojIEV4ZWN1dGUgdGlsZGUtZGVsaW1p
dGVkIENPTU1BTkRTLgojIElmIEZBSUxfQ01EIGlzIGdpdmVuLCBldmFsIHRo
YXQgdXBvbiBmYWlsdXJlLgojIEZBSUxfQ01EIG1heSByZWFkLWFjY2VzcyB0
aGUgY3VycmVudCBjb21tYW5kIGluIHZhcmlhYmxlIENNRCEKZnVuY19leGVj
dXRlX2NtZHMgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgc2F2ZV9pZnM9JElG
UzsgSUZTPSd+JwogICAgZm9yIGNtZCBpbiAkMTsgZG8KICAgICAgSUZTPSRz
YXZlX2lmcwogICAgICBldmFsIGNtZD1cIiRjbWRcIgogICAgICBmdW5jX3No
b3dfZXZhbCAiJGNtZCIgIiR7Mi06fSIKICAgIGRvbmUKICAgIElGUz0kc2F2
ZV9pZnMKfQoKCiMgZnVuY19zb3VyY2UgZmlsZQojIFNvdXJjZSBGSUxFLCBh
ZGRpbmcgZGlyZWN0b3J5IGNvbXBvbmVudCBpZiBuZWNlc3NhcnkuCiMgTm90
ZSB0aGF0IGl0IGlzIG5vdCBuZWNlc3Nhcnkgb24gY3lnd2luL21pbmd3IHRv
IGFwcGVuZCBhIGRvdCB0bwojIEZJTEUgZXZlbiBpZiBib3RoIEZJTEUgYW5k
IEZJTEUuZXhlIGV4aXN0OiBhdXRvbWF0aWMtYXBwZW5kLS5leGUKIyBiZWhh
dmlvciBoYXBwZW5zIG9ubHkgZm9yIGV4ZWMoMyksIG5vdCBmb3Igb3Blbigy
KSEgIEFsc28sIHNvdXJjaW5nCiMgYEZJTEUuJyBkb2VzIG5vdCB3b3JrIG9u
IGN5Z3dpbiBtYW5hZ2VkIG1vdW50cy4KZnVuY19zb3VyY2UgKCkKewogICAg
JG9wdF9kZWJ1ZwogICAgY2FzZSAkMSBpbgogICAgKi8qIHwgKlxcKikJLiAi
JDEiIDs7CiAgICAqKQkJLiAiLi8kMSIgOzsKICAgIGVzYWMKfQoKCiMgZnVu
Y19yZXNvbHZlX3N5c3Jvb3QgUEFUSAojIFJlcGxhY2UgYSBsZWFkaW5nID0g
aW4gUEFUSCB3aXRoIGEgc3lzcm9vdC4gIFN0b3JlIHRoZSByZXN1bHQgaW50
bwojIGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdApmdW5jX3Jlc29sdmVf
c3lzcm9vdCAoKQp7CiAgZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0PSQx
CiAgY2FzZSAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0IGluCiAgPSop
CiAgICBmdW5jX3N0cmlwbmFtZSAnPScgJycgIiRmdW5jX3Jlc29sdmVfc3lz
cm9vdF9yZXN1bHQiCiAgICBmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQ9
JGx0X3N5c3Jvb3QkZnVuY19zdHJpcG5hbWVfcmVzdWx0CiAgICA7OwogIGVz
YWMKfQoKIyBmdW5jX3JlcGxhY2Vfc3lzcm9vdCBQQVRICiMgSWYgUEFUSCBi
ZWdpbnMgd2l0aCB0aGUgc3lzcm9vdCwgcmVwbGFjZSBpdCB3aXRoID0gYW5k
CiMgc3RvcmUgdGhlIHJlc3VsdCBpbnRvIGZ1bmNfcmVwbGFjZV9zeXNyb290
X3Jlc3VsdC4KZnVuY19yZXBsYWNlX3N5c3Jvb3QgKCkKewogIGNhc2UgIiRs
dF9zeXNyb290OiQxIiBpbgogID8qOiIkbHRfc3lzcm9vdCIqKQogICAgZnVu
Y19zdHJpcG5hbWUgIiRsdF9zeXNyb290IiAnJyAiJDEiCiAgICBmdW5jX3Jl
cGxhY2Vfc3lzcm9vdF9yZXN1bHQ9Ij0kZnVuY19zdHJpcG5hbWVfcmVzdWx0
IgogICAgOzsKICAqKQogICAgIyBJbmNsdWRpbmcgbm8gc3lzcm9vdC4KICAg
IGZ1bmNfcmVwbGFjZV9zeXNyb290X3Jlc3VsdD0kMQogICAgOzsKICBlc2Fj
Cn0KCiMgZnVuY19pbmZlcl90YWcgYXJnCiMgSW5mZXIgdGFnZ2VkIGNvbmZp
Z3VyYXRpb24gdG8gdXNlIGlmIGFueSBhcmUgYXZhaWxhYmxlIGFuZAojIGlm
IG9uZSB3YXNuJ3QgY2hvc2VuIHZpYSB0aGUgIi0tdGFnIiBjb21tYW5kIGxp
bmUgb3B0aW9uLgojIE9ubHkgYXR0ZW1wdCB0aGlzIGlmIHRoZSBjb21waWxl
ciBpbiB0aGUgYmFzZSBjb21waWxlCiMgY29tbWFuZCBkb2Vzbid0IG1hdGNo
IHRoZSBkZWZhdWx0IGNvbXBpbGVyLgojIGFyZyBpcyB1c3VhbGx5IG9mIHRo
ZSBmb3JtICdnY2MgLi4uJwpmdW5jX2luZmVyX3RhZyAoKQp7CiAgICAkb3B0
X2RlYnVnCiAgICBpZiB0ZXN0IC1uICIkYXZhaWxhYmxlX3RhZ3MiICYmIHRl
c3QgLXogIiR0YWduYW1lIjsgdGhlbgogICAgICBDQ19xdW90ZWQ9CiAgICAg
IGZvciBhcmcgaW4gJENDOyBkbwoJZnVuY19hcHBlbmRfcXVvdGVkIENDX3F1
b3RlZCAiJGFyZyIKICAgICAgZG9uZQogICAgICBDQ19leHBhbmRlZD1gZnVu
Y19lY2hvX2FsbCAkQ0NgCiAgICAgIENDX3F1b3RlZF9leHBhbmRlZD1gZnVu
Y19lY2hvX2FsbCAkQ0NfcXVvdGVkYAogICAgICBjYXNlICRAIGluCiAgICAg
ICMgQmxhbmtzIGluIHRoZSBjb21tYW5kIG1heSBoYXZlIGJlZW4gc3RyaXBw
ZWQgYnkgdGhlIGNhbGxpbmcgc2hlbGwsCiAgICAgICMgYnV0IG5vdCBmcm9t
IHRoZSBDQyBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aGVuIGNvbmZpZ3VyZSB3
YXMgcnVuLgogICAgICAiICRDQyAiKiB8ICIkQ0MgIiogfCAiICRDQ19leHBh
bmRlZCAiKiB8ICIkQ0NfZXhwYW5kZWQgIiogfCBcCiAgICAgICIgJENDX3F1
b3RlZCIqIHwgIiRDQ19xdW90ZWQgIiogfCAiICRDQ19xdW90ZWRfZXhwYW5k
ZWQgIiogfCAiJENDX3F1b3RlZF9leHBhbmRlZCAiKikgOzsKICAgICAgIyBC
bGFua3MgYXQgdGhlIHN0YXJ0IG9mICRiYXNlX2NvbXBpbGUgd2lsbCBjYXVz
ZSB0aGlzIHRvIGZhaWwKICAgICAgIyBpZiB3ZSBkb24ndCBjaGVjayBmb3Ig
dGhlbSBhcyB3ZWxsLgogICAgICAqKQoJZm9yIHogaW4gJGF2YWlsYWJsZV90
YWdzOyBkbwoJICBpZiAkR1JFUCAiXiMgIyMjIEJFR0lOIExJQlRPT0wgVEFH
IENPTkZJRzogJHokIiA8ICIkcHJvZ3BhdGgiID4gL2Rldi9udWxsOyB0aGVu
CgkgICAgIyBFdmFsdWF0ZSB0aGUgY29uZmlndXJhdGlvbi4KCSAgICBldmFs
ICJgJHtTRUR9IC1uIC1lICcvXiMgIyMjIEJFR0lOIExJQlRPT0wgVEFHIENP
TkZJRzogJyR6JyQvLC9eIyAjIyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzog
JyR6JyQvcCcgPCAkcHJvZ3BhdGhgIgoJICAgIENDX3F1b3RlZD0KCSAgICBm
b3IgYXJnIGluICRDQzsgZG8KCSAgICAgICMgRG91YmxlLXF1b3RlIGFyZ3Mg
Y29udGFpbmluZyBvdGhlciBzaGVsbCBtZXRhY2hhcmFjdGVycy4KCSAgICAg
IGZ1bmNfYXBwZW5kX3F1b3RlZCBDQ19xdW90ZWQgIiRhcmciCgkgICAgZG9u
ZQoJICAgIENDX2V4cGFuZGVkPWBmdW5jX2VjaG9fYWxsICRDQ2AKCSAgICBD
Q19xdW90ZWRfZXhwYW5kZWQ9YGZ1bmNfZWNob19hbGwgJENDX3F1b3RlZGAK
CSAgICBjYXNlICIkQCAiIGluCgkgICAgIiAkQ0MgIiogfCAiJENDICIqIHwg
IiAkQ0NfZXhwYW5kZWQgIiogfCAiJENDX2V4cGFuZGVkICIqIHwgXAoJICAg
ICIgJENDX3F1b3RlZCIqIHwgIiRDQ19xdW90ZWQgIiogfCAiICRDQ19xdW90
ZWRfZXhwYW5kZWQgIiogfCAiJENDX3F1b3RlZF9leHBhbmRlZCAiKikKCSAg
ICAgICMgVGhlIGNvbXBpbGVyIGluIHRoZSBiYXNlIGNvbXBpbGUgY29tbWFu
ZCBtYXRjaGVzCgkgICAgICAjIHRoZSBvbmUgaW4gdGhlIHRhZ2dlZCBjb25m
aWd1cmF0aW9uLgoJICAgICAgIyBBc3N1bWUgdGhpcyBpcyB0aGUgdGFnZ2Vk
IGNvbmZpZ3VyYXRpb24gd2Ugd2FudC4KCSAgICAgIHRhZ25hbWU9JHoKCSAg
ICAgIGJyZWFrCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZmkKCWRvbmUKCSMg
SWYgJHRhZ25hbWUgc3RpbGwgaXNuJ3Qgc2V0LCB0aGVuIG5vIHRhZ2dlZCBj
b25maWd1cmF0aW9uCgkjIHdhcyBmb3VuZCBhbmQgbGV0IHRoZSB1c2VyIGtu
b3cgdGhhdCB0aGUgIi0tdGFnIiBjb21tYW5kCgkjIGxpbmUgb3B0aW9uIG11
c3QgYmUgdXNlZC4KCWlmIHRlc3QgLXogIiR0YWduYW1lIjsgdGhlbgoJICBm
dW5jX2VjaG8gInVuYWJsZSB0byBpbmZlciB0YWdnZWQgY29uZmlndXJhdGlv
biIKCSAgZnVuY19mYXRhbF9lcnJvciAic3BlY2lmeSBhIHRhZyB3aXRoIFxg
LS10YWcnIgojCWVsc2UKIwkgIGZ1bmNfdmVyYm9zZSAidXNpbmcgJHRhZ25h
bWUgdGFnZ2VkIGNvbmZpZ3VyYXRpb24iCglmaQoJOzsKICAgICAgZXNhYwog
ICAgZmkKfQoKCgojIGZ1bmNfd3JpdGVfbGlidG9vbF9vYmplY3Qgb3V0cHV0
X25hbWUgcGljX25hbWUgbm9ucGljX25hbWUKIyBDcmVhdGUgYSBsaWJ0b29s
IG9iamVjdCBmaWxlIChhbmFsb2dvdXMgdG8gYSAiLmxhIiBmaWxlKSwKIyBi
dXQgZG9uJ3QgY3JlYXRlIGl0IGlmIHdlJ3JlIGRvaW5nIGEgZHJ5IHJ1bi4K
ZnVuY193cml0ZV9saWJ0b29sX29iamVjdCAoKQp7CiAgICB3cml0ZV9saWJv
Ymo9JHsxfQogICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5
ZXM7IHRoZW4KICAgICAgd3JpdGVfbG9iaj1cJyR7Mn1cJwogICAgZWxzZQog
ICAgICB3cml0ZV9sb2JqPW5vbmUKICAgIGZpCgogICAgaWYgdGVzdCAiJGJ1
aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICB3cml0ZV9vbGRvYmo9
XCckezN9XCcKICAgIGVsc2UKICAgICAgd3JpdGVfb2xkb2JqPW5vbmUKICAg
IGZpCgogICAgJG9wdF9kcnlfcnVuIHx8IHsKICAgICAgY2F0ID4ke3dyaXRl
X2xpYm9ian1UIDw8RU9GCiMgJHdyaXRlX2xpYm9iaiAtIGEgbGlidG9vbCBv
YmplY3QgZmlsZQojIEdlbmVyYXRlZCBieSAkUFJPR1JBTSAoR05VICRQQUNL
QUdFJFRJTUVTVEFNUCkgJFZFUlNJT04KIwojIFBsZWFzZSBETyBOT1QgZGVs
ZXRlIHRoaXMgZmlsZSEKIyBJdCBpcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcg
dGhlIGxpYnJhcnkuCgojIE5hbWUgb2YgdGhlIFBJQyBvYmplY3QuCnBpY19v
YmplY3Q9JHdyaXRlX2xvYmoKCiMgTmFtZSBvZiB0aGUgbm9uLVBJQyBvYmpl
Y3QKbm9uX3BpY19vYmplY3Q9JHdyaXRlX29sZG9iagoKRU9GCiAgICAgICRN
ViAiJHt3cml0ZV9saWJvYmp9VCIgIiR7d3JpdGVfbGlib2JqfSIKICAgIH0K
fQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCiMgRklMRSBOQU1FIEFORCBQQVRIIENPTlZFUlNJT04gSEVM
UEVSIEZVTkNUSU9OUyAjCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojIGZ1bmNfY29udmVydF9jb3JlX2Zp
bGVfd2luZV90b193MzIgQVJHCiMgSGVscGVyIGZ1bmN0aW9uIHVzZWQgYnkg
ZmlsZSBuYW1lIGNvbnZlcnNpb24gZnVuY3Rpb25zIHdoZW4gJGJ1aWxkIGlz
ICpuaXgsCiMgYW5kICRob3N0IGlzIG1pbmd3LCBjeWd3aW4sIG9yIHNvbWUg
b3RoZXIgdzMyIGVudmlyb25tZW50LiBSZWxpZXMgb24gYQojIGNvcnJlY3Rs
eSBjb25maWd1cmVkIHdpbmUgZW52aXJvbm1lbnQgYXZhaWxhYmxlLCB3aXRo
IHRoZSB3aW5lcGF0aCBwcm9ncmFtCiMgaW4gJGJ1aWxkJ3MgJFBBVEguCiMK
IyBBUkcgaXMgdGhlICRidWlsZCBmaWxlIG5hbWUgdG8gYmUgY29udmVydGVk
IHRvIHczMiBmb3JtYXQuCiMgUmVzdWx0IGlzIGF2YWlsYWJsZSBpbiAkZnVu
Y19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1bHQsIGFuZCB3
aWxsCiMgYmUgZW1wdHkgb24gZXJyb3IgKG9yIHdoZW4gQVJHIGlzIGVtcHR5
KQpmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyICgpCnsKICAk
b3B0X2RlYnVnCiAgZnVuY19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3cz
Ml9yZXN1bHQ9IiQxIgogIGlmIHRlc3QgLW4gIiQxIjsgdGhlbgogICAgIyBV
bmZvcnR1bmF0ZWx5LCB3aW5lcGF0aCBkb2VzIG5vdCBleGl0IHdpdGggYSBu
b24temVybyBlcnJvciBjb2RlLCBzbyB3ZQogICAgIyBhcmUgZm9yY2VkIHRv
IGNoZWNrIHRoZSBjb250ZW50cyBvZiBzdGRvdXQuIE9uIHRoZSBvdGhlciBo
YW5kLCBpZiB0aGUKICAgICMgY29tbWFuZCBpcyBub3QgZm91bmQsIHRoZSBz
aGVsbCB3aWxsIHNldCBhbiBleGl0IGNvZGUgb2YgMTI3IGFuZCBwcmludAog
ICAgIyAqYW4gZXJyb3IgbWVzc2FnZSogdG8gc3Rkb3V0LiBTbyB3ZSBtdXN0
IGNoZWNrIGZvciBib3RoIGVycm9yIGNvZGUgb2YKICAgICMgemVybyBBTkQg
bm9uLWVtcHR5IHN0ZG91dCwgd2hpY2ggZXhwbGFpbnMgdGhlIG9kZCBjb25z
dHJ1Y3Rpb246CiAgICBmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9f
dzMyX3RtcD1gd2luZXBhdGggLXcgIiQxIiAyPi9kZXYvbnVsbGAKICAgIGlm
IHRlc3QgIiQ/IiAtZXEgMCAmJiB0ZXN0IC1uICIke2Z1bmNfY29udmVydF9j
b3JlX2ZpbGVfd2luZV90b193MzJfdG1wfSI7IHRoZW4KICAgICAgZnVuY19j
b252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl9yZXN1bHQ9YCRFQ0hPICIk
ZnVuY19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMl90bXAiIHwKICAg
ICAgICAkU0VEIC1lICIkbHRfc2VkX25haXZlX2JhY2tzbGFzaGlmeSJgCiAg
ICBlbHNlCiAgICAgIGZ1bmNfY29udmVydF9jb3JlX2ZpbGVfd2luZV90b193
MzJfcmVzdWx0PQogICAgZmkKICBmaQp9CiMgZW5kOiBmdW5jX2NvbnZlcnRf
Y29yZV9maWxlX3dpbmVfdG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfY29yZV9w
YXRoX3dpbmVfdG9fdzMyIEFSRwojIEhlbHBlciBmdW5jdGlvbiB1c2VkIGJ5
IHBhdGggY29udmVyc2lvbiBmdW5jdGlvbnMgd2hlbiAkYnVpbGQgaXMgKm5p
eCwgYW5kCiMgJGhvc3QgaXMgbWluZ3csIGN5Z3dpbiwgb3Igc29tZSBvdGhl
ciB3MzIgZW52aXJvbm1lbnQuIFJlbGllcyBvbiBhIGNvcnJlY3RseQojIGNv
bmZpZ3VyZWQgd2luZSBlbnZpcm9ubWVudCBhdmFpbGFibGUsIHdpdGggdGhl
IHdpbmVwYXRoIHByb2dyYW0gaW4gJGJ1aWxkJ3MKIyAkUEFUSC4gQXNzdW1l
cyBBUkcgaGFzIG5vIGxlYWRpbmcgb3IgdHJhaWxpbmcgcGF0aCBzZXBhcmF0
b3IgY2hhcmFjdGVycy4KIwojIEFSRyBpcyBwYXRoIHRvIGJlIGNvbnZlcnRl
ZCBmcm9tICRidWlsZCBmb3JtYXQgdG8gd2luMzIuCiMgUmVzdWx0IGlzIGF2
YWlsYWJsZSBpbiAkZnVuY19jb252ZXJ0X2NvcmVfcGF0aF93aW5lX3RvX3cz
Ml9yZXN1bHQuCiMgVW5jb252ZXJ0aWJsZSBmaWxlIChkaXJlY3RvcnkpIG5h
bWVzIGluIEFSRyBhcmUgc2tpcHBlZDsgaWYgbm8gZGlyZWN0b3J5IG5hbWVz
CiMgYXJlIGNvbnZlcnRpYmxlLCB0aGVuIHRoZSByZXN1bHQgbWF5IGJlIGVt
cHR5LgpmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMyICgpCnsK
ICAkb3B0X2RlYnVnCiAgIyB1bmZvcnR1bmF0ZWx5LCB3aW5lcGF0aCBkb2Vz
bid0IGNvbnZlcnQgcGF0aHMsIG9ubHkgZmlsZSBuYW1lcwogIGZ1bmNfY29u
dmVydF9jb3JlX3BhdGhfd2luZV90b193MzJfcmVzdWx0PSIiCiAgaWYgdGVz
dCAtbiAiJDEiOyB0aGVuCiAgICBvbGRJRlM9JElGUwogICAgSUZTPToKICAg
IGZvciBmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVfdG9fdzMyX2YgaW4g
JDE7IGRvCiAgICAgIElGUz0kb2xkSUZTCiAgICAgIGZ1bmNfY29udmVydF9j
b3JlX2ZpbGVfd2luZV90b193MzIgIiRmdW5jX2NvbnZlcnRfY29yZV9wYXRo
X3dpbmVfdG9fdzMyX2YiCiAgICAgIGlmIHRlc3QgLW4gIiRmdW5jX2NvbnZl
cnRfY29yZV9maWxlX3dpbmVfdG9fdzMyX3Jlc3VsdCIgOyB0aGVuCiAgICAg
ICAgaWYgdGVzdCAteiAiJGZ1bmNfY29udmVydF9jb3JlX3BhdGhfd2luZV90
b193MzJfcmVzdWx0IjsgdGhlbgogICAgICAgICAgZnVuY19jb252ZXJ0X2Nv
cmVfcGF0aF93aW5lX3RvX3czMl9yZXN1bHQ9IiRmdW5jX2NvbnZlcnRfY29y
ZV9maWxlX3dpbmVfdG9fdzMyX3Jlc3VsdCIKICAgICAgICBlbHNlCiAgICAg
ICAgICBmdW5jX2FwcGVuZCBmdW5jX2NvbnZlcnRfY29yZV9wYXRoX3dpbmVf
dG9fdzMyX3Jlc3VsdCAiOyRmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVf
dG9fdzMyX3Jlc3VsdCIKICAgICAgICBmaQogICAgICBmaQogICAgZG9uZQog
ICAgSUZTPSRvbGRJRlMKICBmaQp9CiMgZW5kOiBmdW5jX2NvbnZlcnRfY29y
ZV9wYXRoX3dpbmVfdG9fdzMyCgoKIyBmdW5jX2N5Z3BhdGggQVJHUy4uLgoj
IFdyYXBwZXIgYXJvdW5kIGNhbGxpbmcgdGhlIGN5Z3BhdGggcHJvZ3JhbSB2
aWEgTFRfQ1lHUEFUSC4gVGhpcyBpcyB1c2VkIHdoZW4KIyB3aGVuICgxKSAk
YnVpbGQgaXMgKm5peCBhbmQgQ3lnd2luIGlzIGhvc3RlZCB2aWEgYSB3aW5l
IGVudmlyb25tZW50OyBvciAoMikKIyAkYnVpbGQgaXMgTVNZUyBhbmQgJGhv
c3QgaXMgQ3lnd2luLCBvciAoMykgJGJ1aWxkIGlzIEN5Z3dpbi4gSW4gY2Fz
ZSAoMSkgb3IKIyAoMiksIHJldHVybnMgdGhlIEN5Z3dpbiBmaWxlIG5hbWUg
b3IgcGF0aCBpbiBmdW5jX2N5Z3BhdGhfcmVzdWx0IChpbnB1dAojIGZpbGUg
bmFtZSBvciBwYXRoIGlzIGFzc3VtZWQgdG8gYmUgaW4gdzMyIGZvcm1hdCwg
YXMgcHJldmlvdXNseSBjb252ZXJ0ZWQKIyBmcm9tICRidWlsZCdzICpuaXgg
b3IgTVNZUyBmb3JtYXQpLiBJbiBjYXNlICgzKSwgcmV0dXJucyB0aGUgdzMy
IGZpbGUgbmFtZQojIG9yIHBhdGggaW4gZnVuY19jeWdwYXRoX3Jlc3VsdCAo
aW5wdXQgZmlsZSBuYW1lIG9yIHBhdGggaXMgYXNzdW1lZCB0byBiZSBpbgoj
IEN5Z3dpbiBmb3JtYXQpLiBSZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBvbiBl
cnJvci4KIwojIEFSR1MgYXJlIHBhc3NlZCB0byBjeWdwYXRoLCB3aXRoIHRo
ZSBsYXN0IG9uZSBiZWluZyB0aGUgZmlsZSBuYW1lIG9yIHBhdGggdG8KIyBi
ZSBjb252ZXJ0ZWQuCiMKIyBTcGVjaWZ5IHRoZSBhYnNvbHV0ZSAqbml4IChv
ciB3MzIpIG5hbWUgdG8gY3lncGF0aCBpbiB0aGUgTFRfQ1lHUEFUSAojIGVu
dmlyb25tZW50IHZhcmlhYmxlOyBkbyBub3QgcHV0IGl0IGluICRQQVRILgpm
dW5jX2N5Z3BhdGggKCkKewogICRvcHRfZGVidWcKICBpZiB0ZXN0IC1uICIk
TFRfQ1lHUEFUSCIgJiYgdGVzdCAtZiAiJExUX0NZR1BBVEgiOyB0aGVuCiAg
ICBmdW5jX2N5Z3BhdGhfcmVzdWx0PWAkTFRfQ1lHUEFUSCAiJEAiIDI+L2Rl
di9udWxsYAogICAgaWYgdGVzdCAiJD8iIC1uZSAwOyB0aGVuCiAgICAgICMg
b24gZmFpbHVyZSwgZW5zdXJlIHJlc3VsdCBpcyBlbXB0eQogICAgICBmdW5j
X2N5Z3BhdGhfcmVzdWx0PQogICAgZmkKICBlbHNlCiAgICBmdW5jX2N5Z3Bh
dGhfcmVzdWx0PQogICAgZnVuY19lcnJvciAiTFRfQ1lHUEFUSCBpcyBlbXB0
eSBvciBzcGVjaWZpZXMgbm9uLWV4aXN0ZW50IGZpbGU6IFxgJExUX0NZR1BB
VEgnIgogIGZpCn0KI2VuZDogZnVuY19jeWdwYXRoCgoKIyBmdW5jX2NvbnZl
cnRfY29yZV9tc3lzX3RvX3czMiBBUkcKIyBDb252ZXJ0IGZpbGUgbmFtZSBv
ciBwYXRoIEFSRyBmcm9tIE1TWVMgZm9ybWF0IHRvIHczMiBmb3JtYXQuICBS
ZXR1cm4KIyByZXN1bHQgaW4gZnVuY19jb252ZXJ0X2NvcmVfbXN5c190b193
MzJfcmVzdWx0LgpmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3RvX3czMiAoKQp7
CiAgJG9wdF9kZWJ1ZwogICMgYXdrd2FyZDogY21kIGFwcGVuZHMgc3BhY2Vz
IHRvIHJlc3VsdAogIGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyX3Jl
c3VsdD1gKCBjbWQgLy9jIGVjaG8gIiQxIiApIDI+L2Rldi9udWxsIHwKICAg
ICRTRUQgLWUgJ3MvWyBdKiQvLycgLWUgIiRsdF9zZWRfbmFpdmVfYmFja3Ns
YXNoaWZ5ImAKfQojZW5kOiBmdW5jX2NvbnZlcnRfY29yZV9tc3lzX3RvX3cz
MgoKCiMgZnVuY19jb252ZXJ0X2ZpbGVfY2hlY2sgQVJHMSBBUkcyCiMgVmVy
aWZ5IHRoYXQgQVJHMSAoYSBmaWxlIG5hbWUgaW4gJGJ1aWxkIGZvcm1hdCkg
d2FzIGNvbnZlcnRlZCB0byAkaG9zdAojIGZvcm1hdCBpbiBBUkcyLiBPdGhl
cndpc2UsIGVtaXQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGNvbnRpbnVlIChy
ZXNldHRpbmcKIyBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQgdG8gQVJHMSku
CmZ1bmNfY29udmVydF9maWxlX2NoZWNrICgpCnsKICAkb3B0X2RlYnVnCiAg
aWYgdGVzdCAteiAiJDIiICYmIHRlc3QgLW4gIiQxIiA7IHRoZW4KICAgIGZ1
bmNfZXJyb3IgIkNvdWxkIG5vdCBkZXRlcm1pbmUgaG9zdCBmaWxlIG5hbWUg
Y29ycmVzcG9uZGluZyB0byIKICAgIGZ1bmNfZXJyb3IgIiAgXGAkMSciCiAg
ICBmdW5jX2Vycm9yICJDb250aW51aW5nLCBidXQgdW5pbnN0YWxsZWQgZXhl
Y3V0YWJsZXMgbWF5IG5vdCB3b3JrLiIKICAgICMgRmFsbGJhY2s6CiAgICBm
dW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQ9IiQxIgogIGZpCn0KIyBlbmQgZnVu
Y19jb252ZXJ0X2ZpbGVfY2hlY2sKCgojIGZ1bmNfY29udmVydF9wYXRoX2No
ZWNrIEZST01fUEFUSFNFUCBUT19QQVRIU0VQIEZST01fUEFUSCBUT19QQVRI
CiMgVmVyaWZ5IHRoYXQgRlJPTV9QQVRIIChhIHBhdGggaW4gJGJ1aWxkIGZv
cm1hdCkgd2FzIGNvbnZlcnRlZCB0byAkaG9zdAojIGZvcm1hdCBpbiBUT19Q
QVRILiBPdGhlcndpc2UsIGVtaXQgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGNv
bnRpbnVlLCByZXNldHRpbmcKIyBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQg
dG8gYSBzaW1wbGlzdGljIGZhbGxiYWNrIHZhbHVlIChzZWUgYmVsb3cpLgpm
dW5jX2NvbnZlcnRfcGF0aF9jaGVjayAoKQp7CiAgJG9wdF9kZWJ1ZwogIGlm
IHRlc3QgLXogIiQ0IiAmJiB0ZXN0IC1uICIkMyI7IHRoZW4KICAgIGZ1bmNf
ZXJyb3IgIkNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGhvc3QgcGF0aCBjb3Jy
ZXNwb25kaW5nIHRvIgogICAgZnVuY19lcnJvciAiICBcYCQzJyIKICAgIGZ1
bmNfZXJyb3IgIkNvbnRpbnVpbmcsIGJ1dCB1bmluc3RhbGxlZCBleGVjdXRh
YmxlcyBtYXkgbm90IHdvcmsuIgogICAgIyBGYWxsYmFjay4gIFRoaXMgaXMg
YSBkZWxpYmVyYXRlbHkgc2ltcGxpc3RpYyAiY29udmVyc2lvbiIgYW5kCiAg
ICAjIHNob3VsZCBub3QgYmUgImltcHJvdmVkIi4gIFNlZSBsaWJ0b29sLmlu
Zm8uCiAgICBpZiB0ZXN0ICJ4JDEiICE9ICJ4JDIiOyB0aGVuCiAgICAgIGx0
X3JlcGxhY2VfcGF0aHNlcF9jaGFycz0ic3wkMXwkMnxnIgogICAgICBmdW5j
X3RvX2hvc3RfcGF0aF9yZXN1bHQ9YGVjaG8gIiQzIiB8CiAgICAgICAgJFNF
RCAtZSAiJGx0X3JlcGxhY2VfcGF0aHNlcF9jaGFycyJgCiAgICBlbHNlCiAg
ICAgIGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDMiCiAgICBmaQogIGZp
Cn0KIyBlbmQgZnVuY19jb252ZXJ0X3BhdGhfY2hlY2sKCgojIGZ1bmNfY29u
dmVydF9wYXRoX2Zyb250X2JhY2tfcGF0aHNlcCBGUk9OVFBBVCBCQUNLUEFU
IFJFUEwgT1JJRwojIE1vZGlmaWVzIGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3Vs
dCBieSBwcmVwZW5kaW5nIFJFUEwgaWYgT1JJRyBtYXRjaGVzIEZST05UUEFU
CiMgYW5kIGFwcGVuZGluZyBSRVBMIGlmIE9SSUcgbWF0Y2hlcyBCQUNLUEFU
LgpmdW5jX2NvbnZlcnRfcGF0aF9mcm9udF9iYWNrX3BhdGhzZXAgKCkKewog
ICRvcHRfZGVidWcKICBjYXNlICQ0IGluCiAgJDEgKSBmdW5jX3RvX2hvc3Rf
cGF0aF9yZXN1bHQ9IiQzJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKICAg
IDs7CiAgZXNhYwogIGNhc2UgJDQgaW4KICAkMiApIGZ1bmNfdG9faG9zdF9w
YXRoX3Jlc3VsdCs9IiQzIgogICAgOzsKICBlc2FjCn0KIyBlbmQgZnVuY19j
b252ZXJ0X3BhdGhfZnJvbnRfYmFja19wYXRoc2VwCgoKIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAkYnVp
bGQgdG8gJGhvc3QgRklMRSBOQU1FIENPTlZFUlNJT04gRlVOQ1RJT05TICMK
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMKIyBpbnZva2VkIHZpYSBgJHRvX2hvc3RfZmlsZV9jbWQgQVJHJwoj
CiMgSW4gZWFjaCBjYXNlLCBBUkcgaXMgdGhlIHBhdGggdG8gYmUgY29udmVy
dGVkIGZyb20gJGJ1aWxkIHRvICRob3N0IGZvcm1hdC4KIyBSZXN1bHQgd2ls
bCBiZSBhdmFpbGFibGUgaW4gJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4K
CgojIGZ1bmNfdG9faG9zdF9maWxlIEFSRwojIENvbnZlcnRzIHRoZSBmaWxl
IG5hbWUgQVJHIGZyb20gJGJ1aWxkIGZvcm1hdCB0byAkaG9zdCBmb3JtYXQu
IFJldHVybiByZXN1bHQKIyBpbiBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQu
CmZ1bmNfdG9faG9zdF9maWxlICgpCnsKICAkb3B0X2RlYnVnCiAgJHRvX2hv
c3RfZmlsZV9jbWQgIiQxIgp9CiMgZW5kIGZ1bmNfdG9faG9zdF9maWxlCgoK
IyBmdW5jX3RvX3Rvb2xfZmlsZSBBUkcgTEFaWQojIGNvbnZlcnRzIHRoZSBm
aWxlIG5hbWUgQVJHIGZyb20gJGJ1aWxkIGZvcm1hdCB0byB0b29sY2hhaW4g
Zm9ybWF0LiBSZXR1cm4KIyByZXN1bHQgaW4gZnVuY190b190b29sX2ZpbGVf
cmVzdWx0LiAgSWYgdGhlIGNvbnZlcnNpb24gaW4gdXNlIGlzIGxpc3RlZAoj
IGluICh0aGUgY29tbWEgc2VwYXJhdGVkKSBMQVpZLCBubyBjb252ZXJzaW9u
IHRha2VzIHBsYWNlLgpmdW5jX3RvX3Rvb2xfZmlsZSAoKQp7CiAgJG9wdF9k
ZWJ1ZwogIGNhc2UgLCQyLCBpbgogICAgKiwiJHRvX3Rvb2xfZmlsZV9jbWQi
LCopCiAgICAgIGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdD0kMQogICAgICA7
OwogICAgKikKICAgICAgJHRvX3Rvb2xfZmlsZV9jbWQgIiQxIgogICAgICBm
dW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQ9JGZ1bmNfdG9faG9zdF9maWxlX3Jl
c3VsdAogICAgICA7OwogIGVzYWMKfQojIGVuZCBmdW5jX3RvX3Rvb2xfZmls
ZQoKCiMgZnVuY19jb252ZXJ0X2ZpbGVfbm9vcCBBUkcKIyBDb3B5IEFSRyB0
byBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxl
X25vb3AgKCkKewogIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJDEiCn0K
IyBlbmQgZnVuY19jb252ZXJ0X2ZpbGVfbm9vcAoKCiMgZnVuY19jb252ZXJ0
X2ZpbGVfbXN5c190b193MzIgQVJHCiMgQ29udmVydCBmaWxlIG5hbWUgQVJH
IGZyb20gKG1pbmd3KSBNU1lTIHRvIChtaW5ndykgdzMyIGZvcm1hdDsgYXV0
b21hdGljCiMgY29udmVyc2lvbiB0byB3MzIgaXMgbm90IGF2YWlsYWJsZSBp
bnNpZGUgdGhlIGN3cmFwcGVyLiAgUmV0dXJucyByZXN1bHQgaW4KIyBmdW5j
X3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxlX21zeXNf
dG9fdzMyICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19ob3N0X2ZpbGVf
cmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgIGZ1bmNf
Y29udmVydF9jb3JlX21zeXNfdG9fdzMyICIkMSIKICAgIGZ1bmNfdG9faG9z
dF9maWxlX3Jlc3VsdD0iJGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMy
X3Jlc3VsdCIKICBmaQogIGZ1bmNfY29udmVydF9maWxlX2NoZWNrICIkMSIg
IiRmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQiCn0KIyBlbmQgZnVuY19jb252
ZXJ0X2ZpbGVfbXN5c190b193MzIKCgojIGZ1bmNfY29udmVydF9maWxlX2N5
Z3dpbl90b193MzIgQVJHCiMgQ29udmVydCBmaWxlIG5hbWUgQVJHIGZyb20g
Q3lnd2luIHRvIHczMiBmb3JtYXQuICBSZXR1cm5zIHJlc3VsdCBpbgojIGZ1
bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252ZXJ0X2ZpbGVfY3ln
d2luX3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNfdG9faG9zdF9m
aWxlX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0aGVuCiAgICAj
IGJlY2F1c2UgJGJ1aWxkIGlzIGN5Z3dpbiwgd2UgY2FsbCAidGhlIiBjeWdw
YXRoIGluICRQQVRIOyBubyBuZWVkIHRvIHVzZQogICAgIyBMVF9DWUdQQVRI
IGluIHRoaXMgY2FzZS4KICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD1g
Y3lncGF0aCAtbSAiJDEiYAogIGZpCiAgZnVuY19jb252ZXJ0X2ZpbGVfY2hl
Y2sgIiQxIiAiJGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdCIKfQojIGVuZCBm
dW5jX2NvbnZlcnRfZmlsZV9jeWd3aW5fdG9fdzMyCgoKIyBmdW5jX2NvbnZl
cnRfZmlsZV9uaXhfdG9fdzMyIEFSRwojIENvbnZlcnQgZmlsZSBuYW1lIEFS
RyBmcm9tICpuaXggdG8gdzMyIGZvcm1hdC4gIFJlcXVpcmVzIGEgd2luZSBl
bnZpcm9ubWVudAojIGFuZCBhIHdvcmtpbmcgd2luZXBhdGguIFJldHVybnMg
cmVzdWx0IGluIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252
ZXJ0X2ZpbGVfbml4X3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1bmNf
dG9faG9zdF9maWxlX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEiOyB0
aGVuCiAgICBmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVfdG9fdzMyICIk
MSIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNfY29udmVy
dF9jb3JlX2ZpbGVfd2luZV90b193MzJfcmVzdWx0IgogIGZpCiAgZnVuY19j
b252ZXJ0X2ZpbGVfY2hlY2sgIiQxIiAiJGZ1bmNfdG9faG9zdF9maWxlX3Jl
c3VsdCIKfQojIGVuZCBmdW5jX2NvbnZlcnRfZmlsZV9uaXhfdG9fdzMyCgoK
IyBmdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX2N5Z3dpbiBBUkcKIyBDb252
ZXJ0IGZpbGUgbmFtZSBBUkcgZnJvbSBNU1lTIHRvIEN5Z3dpbiBmb3JtYXQu
ICBSZXF1aXJlcyBMVF9DWUdQQVRIIHNldC4KIyBSZXR1cm5zIHJlc3VsdCBp
biBmdW5jX3RvX2hvc3RfZmlsZV9yZXN1bHQuCmZ1bmNfY29udmVydF9maWxl
X21zeXNfdG9fY3lnd2luICgpCnsKICAkb3B0X2RlYnVnCiAgZnVuY190b19o
b3N0X2ZpbGVfcmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4K
ICAgIGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyICIkMSIKICAgIGZ1
bmNfY3lncGF0aCAtdSAiJGZ1bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMy
X3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0iJGZ1bmNf
Y3lncGF0aF9yZXN1bHQiCiAgZmkKICBmdW5jX2NvbnZlcnRfZmlsZV9jaGVj
ayAiJDEiICIkZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0Igp9CiMgZW5kIGZ1
bmNfY29udmVydF9maWxlX21zeXNfdG9fY3lnd2luCgoKIyBmdW5jX2NvbnZl
cnRfZmlsZV9uaXhfdG9fY3lnd2luIEFSRwojIENvbnZlcnQgZmlsZSBuYW1l
IEFSRyBmcm9tICpuaXggdG8gQ3lnd2luIGZvcm1hdC4gIFJlcXVpcmVzIEN5
Z3dpbiBpbnN0YWxsZWQKIyBpbiBhIHdpbmUgZW52aXJvbm1lbnQsIHdvcmtp
bmcgd2luZXBhdGgsIGFuZCBMVF9DWUdQQVRIIHNldC4gIFJldHVybnMgcmVz
dWx0CiMgaW4gZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0LgpmdW5jX2NvbnZl
cnRfZmlsZV9uaXhfdG9fY3lnd2luICgpCnsKICAkb3B0X2RlYnVnCiAgZnVu
Y190b19ob3N0X2ZpbGVfcmVzdWx0PSIkMSIKICBpZiB0ZXN0IC1uICIkMSI7
IHRoZW4KICAgICMgY29udmVydCBmcm9tICpuaXggdG8gdzMyLCB0aGVuIHVz
ZSBjeWdwYXRoIHRvIGNvbnZlcnQgZnJvbSB3MzIgdG8gY3lnd2luLgogICAg
ZnVuY19jb252ZXJ0X2NvcmVfZmlsZV93aW5lX3RvX3czMiAiJDEiCiAgICBm
dW5jX2N5Z3BhdGggLXUgIiRmdW5jX2NvbnZlcnRfY29yZV9maWxlX3dpbmVf
dG9fdzMyX3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdD0i
JGZ1bmNfY3lncGF0aF9yZXN1bHQiCiAgZmkKICBmdW5jX2NvbnZlcnRfZmls
ZV9jaGVjayAiJDEiICIkZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0Igp9CiMg
ZW5kIGZ1bmNfY29udmVydF9maWxlX25peF90b19jeWd3aW4KCgojIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyAkYnVp
bGQgdG8gJGhvc3QgUEFUSCBDT05WRVJTSU9OIEZVTkNUSU9OUyAjCiMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIGlu
dm9rZWQgdmlhIGAkdG9faG9zdF9wYXRoX2NtZCBBUkcnCiMKIyBJbiBlYWNo
IGNhc2UsIEFSRyBpcyB0aGUgcGF0aCB0byBiZSBjb252ZXJ0ZWQgZnJvbSAk
YnVpbGQgdG8gJGhvc3QgZm9ybWF0LgojIFRoZSByZXN1bHQgd2lsbCBiZSBh
dmFpbGFibGUgaW4gJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdC4KIwojIFBh
dGggc2VwYXJhdG9ycyBhcmUgYWxzbyBjb252ZXJ0ZWQgZnJvbSAkYnVpbGQg
Zm9ybWF0IHRvICRob3N0IGZvcm1hdC4gIElmCiMgQVJHIGJlZ2lucyBvciBl
bmRzIHdpdGggYSBwYXRoIHNlcGFyYXRvciBjaGFyYWN0ZXIsIGl0IGlzIHBy
ZXNlcnZlZCAoYnV0CiMgY29udmVydGVkIHRvICRob3N0IGZvcm1hdCkgb24g
b3V0cHV0LgojCiMgQWxsIHBhdGggY29udmVyc2lvbiBmdW5jdGlvbnMgYXJl
IG5hbWVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29udmVudGlvbjoKIyAgIGZp
bGUgbmFtZSBjb252ZXJzaW9uIGZ1bmN0aW9uICAgIDogZnVuY19jb252ZXJ0
X2ZpbGVfWF90b19ZICgpCiMgICBwYXRoIGNvbnZlcnNpb24gZnVuY3Rpb24g
ICAgICAgICA6IGZ1bmNfY29udmVydF9wYXRoX1hfdG9fWSAoKQojIHdoZXJl
LCBmb3IgYW55IGdpdmVuICRidWlsZC8kaG9zdCBjb21iaW5hdGlvbiB0aGUg
J1hfdG9fWScgdmFsdWUgaXMgdGhlCiMgc2FtZS4gIElmIGNvbnZlcnNpb24g
ZnVuY3Rpb25zIGFyZSBhZGRlZCBmb3IgbmV3ICRidWlsZC8kaG9zdCBjb21i
aW5hdGlvbnMsCiMgdGhlIHR3byBuZXcgZnVuY3Rpb25zIG11c3QgZm9sbG93
IHRoaXMgcGF0dGVybiwgb3IgZnVuY19pbml0X3RvX2hvc3RfcGF0aF9jbWQK
IyB3aWxsIGJyZWFrLgoKCiMgZnVuY19pbml0X3RvX2hvc3RfcGF0aF9jbWQK
IyBFbnN1cmVzIHRoYXQgZnVuY3Rpb24gInBvaW50ZXIiIHZhcmlhYmxlICR0
b19ob3N0X3BhdGhfY21kIGlzIHNldCB0byB0aGUKIyBhcHByb3ByaWF0ZSB2
YWx1ZSwgYmFzZWQgb24gdGhlIHZhbHVlIG9mICR0b19ob3N0X2ZpbGVfY21k
Lgp0b19ob3N0X3BhdGhfY21kPQpmdW5jX2luaXRfdG9faG9zdF9wYXRoX2Nt
ZCAoKQp7CiAgJG9wdF9kZWJ1ZwogIGlmIHRlc3QgLXogIiR0b19ob3N0X3Bh
dGhfY21kIjsgdGhlbgogICAgZnVuY19zdHJpcG5hbWUgJ2Z1bmNfY29udmVy
dF9maWxlXycgJycgIiR0b19ob3N0X2ZpbGVfY21kIgogICAgdG9faG9zdF9w
YXRoX2NtZD0iZnVuY19jb252ZXJ0X3BhdGhfJHtmdW5jX3N0cmlwbmFtZV9y
ZXN1bHR9IgogIGZpCn0KCgojIGZ1bmNfdG9faG9zdF9wYXRoIEFSRwojIENv
bnZlcnRzIHRoZSBwYXRoIEFSRyBmcm9tICRidWlsZCBmb3JtYXQgdG8gJGhv
c3QgZm9ybWF0LiBSZXR1cm4gcmVzdWx0CiMgaW4gZnVuY190b19ob3N0X3Bh
dGhfcmVzdWx0LgpmdW5jX3RvX2hvc3RfcGF0aCAoKQp7CiAgJG9wdF9kZWJ1
ZwogIGZ1bmNfaW5pdF90b19ob3N0X3BhdGhfY21kCiAgJHRvX2hvc3RfcGF0
aF9jbWQgIiQxIgp9CiMgZW5kIGZ1bmNfdG9faG9zdF9wYXRoCgoKIyBmdW5j
X2NvbnZlcnRfcGF0aF9ub29wIEFSRwojIENvcHkgQVJHIHRvIGZ1bmNfdG9f
aG9zdF9wYXRoX3Jlc3VsdC4KZnVuY19jb252ZXJ0X3BhdGhfbm9vcCAoKQp7
CiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKfQojIGVuZCBmdW5j
X2NvbnZlcnRfcGF0aF9ub29wCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9tc3lz
X3RvX3czMiBBUkcKIyBDb252ZXJ0IHBhdGggQVJHIGZyb20gKG1pbmd3KSBN
U1lTIHRvIChtaW5ndykgdzMyIGZvcm1hdDsgYXV0b21hdGljCiMgY29udmVy
c2lvbiB0byB3MzIgaXMgbm90IGF2YWlsYWJsZSBpbnNpZGUgdGhlIGN3cmFw
cGVyLiAgUmV0dXJucyByZXN1bHQgaW4KIyBmdW5jX3RvX2hvc3RfcGF0aF9y
ZXN1bHQuCmZ1bmNfY29udmVydF9wYXRoX21zeXNfdG9fdzMyICgpCnsKICAk
b3B0X2RlYnVnCiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIKICBp
ZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgICMgUmVtb3ZlIGxlYWRpbmcgYW5k
IHRyYWlsaW5nIHBhdGggc2VwYXJhdG9yIGNoYXJhY3RlcnMgZnJvbSBBUkcu
ICBNU1lTCiAgICAjIGJlaGF2aW9yIGlzIGluY29uc2lzdGVudCBoZXJlOyBj
eWdwYXRoIHR1cm5zIHRoZW0gaW50byAnLjsnIGFuZCAnOy4nOwogICAgIyBh
bmQgd2luZXBhdGggaWdub3JlcyB0aGVtIGNvbXBsZXRlbHkuCiAgICBmdW5j
X3N0cmlwbmFtZSA6IDogIiQxIgogICAgZnVuY190b19ob3N0X3BhdGhfdG1w
MT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CiAgICBmdW5jX2NvbnZlcnRfY29y
ZV9tc3lzX3RvX3czMiAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiCiAgICBm
dW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQ9IiRmdW5jX2NvbnZlcnRfY29yZV9t
c3lzX3RvX3czMl9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRfcGF0aF9jaGVj
ayA6ICI7IiBcCiAgICAgICIkZnVuY190b19ob3N0X3BhdGhfdG1wMSIgIiRm
dW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQiCiAgICBmdW5jX2NvbnZlcnRfcGF0
aF9mcm9udF9iYWNrX3BhdGhzZXAgIjoqIiAiKjoiICI7IiAiJDEiCiAgZmkK
fQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3czMgoKCiMgZnVu
Y19jb252ZXJ0X3BhdGhfY3lnd2luX3RvX3czMiBBUkcKIyBDb252ZXJ0IHBh
dGggQVJHIGZyb20gQ3lnd2luIHRvIHczMiBmb3JtYXQuICBSZXR1cm5zIHJl
c3VsdCBpbgojIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19jb252
ZXJ0X3BhdGhfY3lnd2luX3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1
bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEi
OyB0aGVuCiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3cz
MjoKICAgIGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hv
c3RfcGF0aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNf
dG9faG9zdF9wYXRoX3Jlc3VsdD1gY3lncGF0aCAtbSAtcCAiJGZ1bmNfdG9f
aG9zdF9wYXRoX3RtcDEiYAogICAgZnVuY19jb252ZXJ0X3BhdGhfY2hlY2sg
OiAiOyIgXAogICAgICAiJGZ1bmNfdG9faG9zdF9wYXRoX3RtcDEiICIkZnVu
Y190b19ob3N0X3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252ZXJ0X3BhdGhf
ZnJvbnRfYmFja19wYXRoc2VwICI6KiIgIio6IiAiOyIgIiQxIgogIGZpCn0K
IyBlbmQgZnVuY19jb252ZXJ0X3BhdGhfY3lnd2luX3RvX3czMgoKCiMgZnVu
Y19jb252ZXJ0X3BhdGhfbml4X3RvX3czMiBBUkcKIyBDb252ZXJ0IHBhdGgg
QVJHIGZyb20gKm5peCB0byB3MzIgZm9ybWF0LiAgUmVxdWlyZXMgYSB3aW5l
IGVudmlyb25tZW50IGFuZAojIGEgd29ya2luZyB3aW5lcGF0aC4gIFJldHVy
bnMgcmVzdWx0IGluIGZ1bmNfdG9faG9zdF9maWxlX3Jlc3VsdC4KZnVuY19j
b252ZXJ0X3BhdGhfbml4X3RvX3czMiAoKQp7CiAgJG9wdF9kZWJ1ZwogIGZ1
bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAiJDEi
OyB0aGVuCiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX3cz
MjoKICAgIGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hv
c3RfcGF0aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNf
Y29udmVydF9jb3JlX3BhdGhfd2luZV90b193MzIgIiRmdW5jX3RvX2hvc3Rf
cGF0aF90bXAxIgogICAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkZnVu
Y19jb252ZXJ0X2NvcmVfcGF0aF93aW5lX3RvX3czMl9yZXN1bHQiCiAgICBm
dW5jX2NvbnZlcnRfcGF0aF9jaGVjayA6ICI7IiBcCiAgICAgICIkZnVuY190
b19ob3N0X3BhdGhfdG1wMSIgIiRmdW5jX3RvX2hvc3RfcGF0aF9yZXN1bHQi
CiAgICBmdW5jX2NvbnZlcnRfcGF0aF9mcm9udF9iYWNrX3BhdGhzZXAgIjoq
IiAiKjoiICI7IiAiJDEiCiAgZmkKfQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0
aF9uaXhfdG9fdzMyCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3RvX2N5
Z3dpbiBBUkcKIyBDb252ZXJ0IHBhdGggQVJHIGZyb20gTVNZUyB0byBDeWd3
aW4gZm9ybWF0LiAgUmVxdWlyZXMgTFRfQ1lHUEFUSCBzZXQuCiMgUmV0dXJu
cyByZXN1bHQgaW4gZnVuY190b19ob3N0X2ZpbGVfcmVzdWx0LgpmdW5jX2Nv
bnZlcnRfcGF0aF9tc3lzX3RvX2N5Z3dpbiAoKQp7CiAgJG9wdF9kZWJ1Zwog
IGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdD0iJDEiCiAgaWYgdGVzdCAtbiAi
JDEiOyB0aGVuCiAgICAjIFNlZSBmdW5jX2NvbnZlcnRfcGF0aF9tc3lzX3Rv
X3czMjoKICAgIGZ1bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3Rv
X2hvc3RfcGF0aF90bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1
bmNfY29udmVydF9jb3JlX21zeXNfdG9fdzMyICIkZnVuY190b19ob3N0X3Bh
dGhfdG1wMSIKICAgIGZ1bmNfY3lncGF0aCAtdSAtcCAiJGZ1bmNfY29udmVy
dF9jb3JlX21zeXNfdG9fdzMyX3Jlc3VsdCIKICAgIGZ1bmNfdG9faG9zdF9w
YXRoX3Jlc3VsdD0iJGZ1bmNfY3lncGF0aF9yZXN1bHQiCiAgICBmdW5jX2Nv
bnZlcnRfcGF0aF9jaGVjayA6IDogXAogICAgICAiJGZ1bmNfdG9faG9zdF9w
YXRoX3RtcDEiICIkZnVuY190b19ob3N0X3BhdGhfcmVzdWx0IgogICAgZnVu
Y19jb252ZXJ0X3BhdGhfZnJvbnRfYmFja19wYXRoc2VwICI6KiIgIio6IiA6
ICIkMSIKICBmaQp9CiMgZW5kIGZ1bmNfY29udmVydF9wYXRoX21zeXNfdG9f
Y3lnd2luCgoKIyBmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luIEFS
RwojIENvbnZlcnQgcGF0aCBBUkcgZnJvbSAqbml4IHRvIEN5Z3dpbiBmb3Jt
YXQuICBSZXF1aXJlcyBDeWd3aW4gaW5zdGFsbGVkIGluIGEKIyBhIHdpbmUg
ZW52aXJvbm1lbnQsIHdvcmtpbmcgd2luZXBhdGgsIGFuZCBMVF9DWUdQQVRI
IHNldC4gIFJldHVybnMgcmVzdWx0IGluCiMgZnVuY190b19ob3N0X2ZpbGVf
cmVzdWx0LgpmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3lnd2luICgpCnsK
ICAkb3B0X2RlYnVnCiAgZnVuY190b19ob3N0X3BhdGhfcmVzdWx0PSIkMSIK
ICBpZiB0ZXN0IC1uICIkMSI7IHRoZW4KICAgICMgUmVtb3ZlIGxlYWRpbmcg
YW5kIHRyYWlsaW5nIHBhdGggc2VwYXJhdG9yIGNoYXJhY3RlcnMgZnJvbQog
ICAgIyBBUkcuIG1zeXMgYmVoYXZpb3IgaXMgaW5jb25zaXN0ZW50IGhlcmUs
IGN5Z3BhdGggdHVybnMgdGhlbQogICAgIyBpbnRvICcuOycgYW5kICc7Lics
IGFuZCB3aW5lcGF0aCBpZ25vcmVzIHRoZW0gY29tcGxldGVseS4KICAgIGZ1
bmNfc3RyaXBuYW1lIDogOiAiJDEiCiAgICBmdW5jX3RvX2hvc3RfcGF0aF90
bXAxPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKICAgIGZ1bmNfY29udmVydF9j
b3JlX3BhdGhfd2luZV90b193MzIgIiRmdW5jX3RvX2hvc3RfcGF0aF90bXAx
IgogICAgZnVuY19jeWdwYXRoIC11IC1wICIkZnVuY19jb252ZXJ0X2NvcmVf
cGF0aF93aW5lX3RvX3czMl9yZXN1bHQiCiAgICBmdW5jX3RvX2hvc3RfcGF0
aF9yZXN1bHQ9IiRmdW5jX2N5Z3BhdGhfcmVzdWx0IgogICAgZnVuY19jb252
ZXJ0X3BhdGhfY2hlY2sgOiA6IFwKICAgICAgIiRmdW5jX3RvX2hvc3RfcGF0
aF90bXAxIiAiJGZ1bmNfdG9faG9zdF9wYXRoX3Jlc3VsdCIKICAgIGZ1bmNf
Y29udmVydF9wYXRoX2Zyb250X2JhY2tfcGF0aHNlcCAiOioiICIqOiIgOiAi
JDEiCiAgZmkKfQojIGVuZCBmdW5jX2NvbnZlcnRfcGF0aF9uaXhfdG9fY3ln
d2luCgoKIyBmdW5jX21vZGVfY29tcGlsZSBhcmcuLi4KZnVuY19tb2RlX2Nv
bXBpbGUgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgIyBHZXQgdGhlIGNvbXBp
bGF0aW9uIGNvbW1hbmQgYW5kIHRoZSBzb3VyY2UgZmlsZS4KICAgIGJhc2Vf
Y29tcGlsZT0KICAgIHNyY2ZpbGU9IiRub25vcHQiICAjICBhbHdheXMga2Vl
cCBhIG5vbi1lbXB0eSB2YWx1ZSBpbiAic3JjZmlsZSIKICAgIHN1cHByZXNz
X29wdD15ZXMKICAgIHN1cHByZXNzX291dHB1dD0KICAgIGFyZ19tb2RlPW5v
cm1hbAogICAgbGlib2JqPQogICAgbGF0ZXI9CiAgICBwaWVfZmxhZz0KCiAg
ICBmb3IgYXJnCiAgICBkbwogICAgICBjYXNlICRhcmdfbW9kZSBpbgogICAg
ICBhcmcgICkKCSMgZG8gbm90ICJjb250aW51ZSIuICBJbnN0ZWFkLCBhZGQg
dGhpcyB0byBiYXNlX2NvbXBpbGUKCWxhc3Rhcmc9IiRhcmciCglhcmdfbW9k
ZT1ub3JtYWwKCTs7CgogICAgICB0YXJnZXQgKQoJbGlib2JqPSIkYXJnIgoJ
YXJnX21vZGU9bm9ybWFsCgljb250aW51ZQoJOzsKCiAgICAgIG5vcm1hbCAp
CgkjIEFjY2VwdCBhbnkgY29tbWFuZC1saW5lIG9wdGlvbnMuCgljYXNlICRh
cmcgaW4KCS1vKQoJICB0ZXN0IC1uICIkbGlib2JqIiAmJiBcCgkgICAgZnVu
Y19mYXRhbF9lcnJvciAieW91IGNhbm5vdCBzcGVjaWZ5IFxgLW8nIG1vcmUg
dGhhbiBvbmNlIgoJICBhcmdfbW9kZT10YXJnZXQKCSAgY29udGludWUKCSAg
OzsKCgktcGllIHwgLWZwaWUgfCAtZlBJRSkKICAgICAgICAgIHBpZV9mbGFn
Kz0iICRhcmciCgkgIGNvbnRpbnVlCgkgIDs7CgoJLXNoYXJlZCB8IC1zdGF0
aWMgfCAtcHJlZmVyLXBpYyB8IC1wcmVmZXItbm9uLXBpYykKCSAgbGF0ZXIr
PSIgJGFyZyIKCSAgY29udGludWUKCSAgOzsKCgktbm8tc3VwcHJlc3MpCgkg
IHN1cHByZXNzX29wdD1ubwoJICBjb250aW51ZQoJICA7OwoKCS1YY29tcGls
ZXIpCgkgIGFyZ19tb2RlPWFyZyAgIyAgdGhlIG5leHQgb25lIGdvZXMgaW50
byB0aGUgImJhc2VfY29tcGlsZSIgYXJnIGxpc3QKCSAgY29udGludWUgICAg
ICAjICBUaGUgY3VycmVudCAic3JjZmlsZSIgd2lsbCBlaXRoZXIgYmUgcmV0
YWluZWQgb3IKCSAgOzsgICAgICAgICAgICAjICByZXBsYWNlZCBsYXRlci4g
IEkgd291bGQgZ3Vlc3MgdGhhdCB3b3VsZCBiZSBhIGJ1Zy4KCgktV2MsKikK
CSAgZnVuY19zdHJpcG5hbWUgJy1XYywnICcnICIkYXJnIgoJICBhcmdzPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKCSAgbGFzdGFyZz0KCSAgc2F2ZV9pZnM9
IiRJRlMiOyBJRlM9JywnCgkgIGZvciBhcmcgaW4gJGFyZ3M7IGRvCgkgICAg
SUZTPSIkc2F2ZV9pZnMiCgkgICAgZnVuY19hcHBlbmRfcXVvdGVkIGxhc3Rh
cmcgIiRhcmciCgkgIGRvbmUKCSAgSUZTPSIkc2F2ZV9pZnMiCgkgIGZ1bmNf
c3RyaXBuYW1lICcgJyAnJyAiJGxhc3RhcmciCgkgIGxhc3Rhcmc9JGZ1bmNf
c3RyaXBuYW1lX3Jlc3VsdAoKCSAgIyBBZGQgdGhlIGFyZ3VtZW50cyB0byBi
YXNlX2NvbXBpbGUuCgkgIGJhc2VfY29tcGlsZSs9IiAkbGFzdGFyZyIKCSAg
Y29udGludWUKCSAgOzsKCgkqKQoJICAjIEFjY2VwdCB0aGUgY3VycmVudCBh
cmd1bWVudCBhcyB0aGUgc291cmNlIGZpbGUuCgkgICMgVGhlIHByZXZpb3Vz
ICJzcmNmaWxlIiBiZWNvbWVzIHRoZSBjdXJyZW50IGFyZ3VtZW50LgoJICAj
CgkgIGxhc3Rhcmc9IiRzcmNmaWxlIgoJICBzcmNmaWxlPSIkYXJnIgoJICA7
OwoJZXNhYyAgIyAgY2FzZSAkYXJnCgk7OwogICAgICBlc2FjICAgICMgIGNh
c2UgJGFyZ19tb2RlCgogICAgICAjIEFlc3RoZXRpY2FsbHkgcXVvdGUgdGhl
IHByZXZpb3VzIGFyZ3VtZW50LgogICAgICBmdW5jX2FwcGVuZF9xdW90ZWQg
YmFzZV9jb21waWxlICIkbGFzdGFyZyIKICAgIGRvbmUgIyBmb3IgYXJnCgog
ICAgY2FzZSAkYXJnX21vZGUgaW4KICAgIGFyZykKICAgICAgZnVuY19mYXRh
bF9lcnJvciAieW91IG11c3Qgc3BlY2lmeSBhbiBhcmd1bWVudCBmb3IgLVhj
b21waWxlIgogICAgICA7OwogICAgdGFyZ2V0KQogICAgICBmdW5jX2ZhdGFs
X2Vycm9yICJ5b3UgbXVzdCBzcGVjaWZ5IGEgdGFyZ2V0IHdpdGggXGAtbyci
CiAgICAgIDs7CiAgICAqKQogICAgICAjIEdldCB0aGUgbmFtZSBvZiB0aGUg
bGlicmFyeSBvYmplY3QuCiAgICAgIHRlc3QgLXogIiRsaWJvYmoiICYmIHsK
CWZ1bmNfYmFzZW5hbWUgIiRzcmNmaWxlIgoJbGlib2JqPSIkZnVuY19iYXNl
bmFtZV9yZXN1bHQiCiAgICAgIH0KICAgICAgOzsKICAgIGVzYWMKCiAgICAj
IFJlY29nbml6ZSBzZXZlcmFsIGRpZmZlcmVudCBmaWxlIHN1ZmZpeGVzLgog
ICAgIyBJZiB0aGUgdXNlciBzcGVjaWZpZXMgLW8gZmlsZS5vLCBpdCBpcyBy
ZXBsYWNlZCB3aXRoIGZpbGUubG8KICAgIGNhc2UgJGxpYm9iaiBpbgogICAg
Ki5bY0NGU2lmbXNvXSB8IFwKICAgICouYWRhIHwgKi5hZGIgfCAqLmFkcyB8
ICouYXNtIHwgXAogICAgKi5jKysgfCAqLmNjIHwgKi5paSB8ICouY2xhc3Mg
fCAqLmNwcCB8ICouY3h4IHwgXAogICAgKi5bZkZdWzA5XT8gfCAqLmZvciB8
ICouamF2YSB8ICouZ28gfCAqLm9iaiB8ICouc3ggfCAqLmN1IHwgKi5jdXAp
CiAgICAgIGZ1bmNfeGZvcm0gIiRsaWJvYmoiCiAgICAgIGxpYm9iaj0kZnVu
Y194Zm9ybV9yZXN1bHQKICAgICAgOzsKICAgIGVzYWMKCiAgICBjYXNlICRs
aWJvYmogaW4KICAgICoubG8pIGZ1bmNfbG8ybyAiJGxpYm9iaiI7IG9iaj0k
ZnVuY19sbzJvX3Jlc3VsdCA7OwogICAgKikKICAgICAgZnVuY19mYXRhbF9l
cnJvciAiY2Fubm90IGRldGVybWluZSBuYW1lIG9mIGxpYnJhcnkgb2JqZWN0
IGZyb20gXGAkbGlib2JqJyIKICAgICAgOzsKICAgIGVzYWMKCiAgICBmdW5j
X2luZmVyX3RhZyAkYmFzZV9jb21waWxlCgogICAgZm9yIGFyZyBpbiAkbGF0
ZXI7IGRvCiAgICAgIGNhc2UgJGFyZyBpbgogICAgICAtc2hhcmVkKQoJdGVz
dCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzICYmIFwKCSAgZnVuY19m
YXRhbF9jb25maWd1cmF0aW9uICJjYW4gbm90IGJ1aWxkIGEgc2hhcmVkIGxp
YnJhcnkiCglidWlsZF9vbGRfbGlicz1ubwoJY29udGludWUKCTs7CgogICAg
ICAtc3RhdGljKQoJYnVpbGRfbGlidG9vbF9saWJzPW5vCglidWlsZF9vbGRf
bGlicz15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLXByZWZlci1waWMpCglw
aWNfbW9kZT15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLXByZWZlci1ub24t
cGljKQoJcGljX21vZGU9bm8KCWNvbnRpbnVlCgk7OwogICAgICBlc2FjCiAg
ICBkb25lCgogICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGxpYm9iaiIKICAg
IHRlc3QgIlgkbGlib2JqIiAhPSAiWCRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jl
c3VsdCIgXAogICAgICAmJiAkRUNITyAiWCRsaWJvYmoiIHwgJEdSRVAgJ1td
fiNeKnt9Ozw+PyInIiciJwkgJigpfGAkW10nIFwKICAgICAgJiYgZnVuY193
YXJuaW5nICJsaWJvYmogbmFtZSBcYCRsaWJvYmonIG1heSBub3QgY29udGFp
biBzaGVsbCBzcGVjaWFsIGNoYXJhY3RlcnMuIgogICAgZnVuY19kaXJuYW1l
X2FuZF9iYXNlbmFtZSAiJG9iaiIgIi8iICIiCiAgICBvYmpuYW1lPSIkZnVu
Y19iYXNlbmFtZV9yZXN1bHQiCiAgICB4ZGlyPSIkZnVuY19kaXJuYW1lX3Jl
c3VsdCIKICAgIGxvYmo9JHt4ZGlyfSRvYmpkaXIvJG9iam5hbWUKCiAgICB0
ZXN0IC16ICIkYmFzZV9jb21waWxlIiAmJiBcCiAgICAgIGZ1bmNfZmF0YWxf
aGVscCAieW91IG11c3Qgc3BlY2lmeSBhIGNvbXBpbGF0aW9uIGNvbW1hbmQi
CgogICAgIyBEZWxldGUgYW55IGxlZnRvdmVyIGxpYnJhcnkgb2JqZWN0cy4K
ICAgIGlmIHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSB5ZXM7IHRoZW4KICAg
ICAgcmVtb3ZlbGlzdD0iJG9iaiAkbG9iaiAkbGlib2JqICR7bGlib2JqfVQi
CiAgICBlbHNlCiAgICAgIHJlbW92ZWxpc3Q9IiRsb2JqICRsaWJvYmogJHts
aWJvYmp9VCIKICAgIGZpCgogICAgIyBPbiBDeWd3aW4gdGhlcmUncyBubyAi
cmVhbCIgUElDIGZsYWcgc28gd2UgbXVzdCBidWlsZCBib3RoIG9iamVjdCB0
eXBlcwogICAgY2FzZSAkaG9zdF9vcyBpbgogICAgY3lnd2luKiB8IG1pbmd3
KiB8IHB3MzIqIHwgb3MyKiB8IGNlZ2NjKikKICAgICAgcGljX21vZGU9ZGVm
YXVsdAogICAgICA7OwogICAgZXNhYwogICAgaWYgdGVzdCAiJHBpY19tb2Rl
IiA9IG5vICYmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIgIT0gcGFz
c19hbGw7IHRoZW4KICAgICAgIyBub24tUElDIGNvZGUgaW4gc2hhcmVkIGxp
YnJhcmllcyBpcyBub3Qgc3VwcG9ydGVkCiAgICAgIHBpY19tb2RlPWRlZmF1
bHQKICAgIGZpCgogICAgIyBDYWxjdWxhdGUgdGhlIGZpbGVuYW1lIG9mIHRo
ZSBvdXRwdXQgb2JqZWN0IGlmIGNvbXBpbGVyIGRvZXMKICAgICMgbm90IHN1
cHBvcnQgLW8gd2l0aCAtYwogICAgaWYgdGVzdCAiJGNvbXBpbGVyX2NfbyIg
PSBubzsgdGhlbgogICAgICBvdXRwdXRfb2JqPWAkRUNITyAiJHNyY2ZpbGUi
IHwgJFNFRCAncyVeLiovJSU7IHMlXC5bXi5dKiQlJSdgLiR7b2JqZXh0fQog
ICAgICBsb2NrZmlsZT0iJG91dHB1dF9vYmoubG9jayIKICAgIGVsc2UKICAg
ICAgb3V0cHV0X29iaj0KICAgICAgbmVlZF9sb2Nrcz1ubwogICAgICBsb2Nr
ZmlsZT0KICAgIGZpCgogICAgIyBMb2NrIHRoaXMgY3JpdGljYWwgc2VjdGlv
biBpZiBpdCBpcyBuZWVkZWQKICAgICMgV2UgdXNlIHRoaXMgc2NyaXB0IGZp
bGUgdG8gbWFrZSB0aGUgbGluaywgaXQgYXZvaWRzIGNyZWF0aW5nIGEgbmV3
IGZpbGUKICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHllczsgdGhlbgog
ICAgICB1bnRpbCAkb3B0X2RyeV9ydW4gfHwgbG4gIiRwcm9ncGF0aCIgIiRs
b2NrZmlsZSIgMj4vZGV2L251bGw7IGRvCglmdW5jX2VjaG8gIldhaXRpbmcg
Zm9yICRsb2NrZmlsZSB0byBiZSByZW1vdmVkIgoJc2xlZXAgMgogICAgICBk
b25lCiAgICBlbGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdhcm47IHRoZW4K
ICAgICAgaWYgdGVzdCAtZiAiJGxvY2tmaWxlIjsgdGhlbgoJJEVDSE8gIlwK
KioqIEVSUk9SLCAkbG9ja2ZpbGUgZXhpc3RzIGFuZCBjb250YWluczoKYGNh
dCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgCgpUaGlzIGluZGljYXRlcyB0aGF0
IGFub3RoZXIgcHJvY2VzcyBpcyB0cnlpbmcgdG8gdXNlIHRoZSBzYW1lCnRl
bXBvcmFyeSBvYmplY3QgZmlsZSwgYW5kIGxpYnRvb2wgY291bGQgbm90IHdv
cmsgYXJvdW5kIGl0IGJlY2F1c2UKeW91ciBjb21waWxlciBkb2VzIG5vdCBz
dXBwb3J0IFxgLWMnIGFuZCBcYC1vJyB0b2dldGhlci4gIElmIHlvdQpyZXBl
YXQgdGhpcyBjb21waWxhdGlvbiwgaXQgbWF5IHN1Y2NlZWQsIGJ5IGNoYW5j
ZSwgYnV0IHlvdSBoYWQgYmV0dGVyCmF2b2lkIHBhcmFsbGVsIGJ1aWxkcyAo
bWFrZSAtaikgaW4gdGhpcyBwbGF0Zm9ybSwgb3IgZ2V0IGEgYmV0dGVyCmNv
bXBpbGVyLiIKCgkkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVsaXN0Cgll
eGl0ICRFWElUX0ZBSUxVUkUKICAgICAgZmkKICAgICAgcmVtb3ZlbGlzdCs9
IiAkb3V0cHV0X29iaiIKICAgICAgJEVDSE8gIiRzcmNmaWxlIiA+ICIkbG9j
a2ZpbGUiCiAgICBmaQoKICAgICRvcHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92
ZWxpc3QKICAgIHJlbW92ZWxpc3QrPSIgJGxvY2tmaWxlIgogICAgdHJhcCAn
JG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3ZlbGlzdDsgZXhpdCAkRVhJVF9G
QUlMVVJFJyAxIDIgMTUKCiAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJHNyY2Zp
bGUiIGZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCiAgICBzcmNmaWxl
PSRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQKICAgIGZ1bmNfcXVvdGVfZm9y
X2V2YWwgIiRzcmNmaWxlIgogICAgcXNyY2ZpbGU9JGZ1bmNfcXVvdGVfZm9y
X2V2YWxfcmVzdWx0CgogICAgIyBPbmx5IGJ1aWxkIGEgUElDIG9iamVjdCBp
ZiB3ZSBhcmUgYnVpbGRpbmcgbGlidG9vbCBsaWJyYXJpZXMuCiAgICBpZiB0
ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgogICAgICAj
IFdpdGhvdXQgdGhpcyBhc3NpZ25tZW50LCBiYXNlX2NvbXBpbGUgZ2V0cyBl
bXB0aWVkLgogICAgICBmYnNkX2hpZGVvdXNfc2hfYnVnPSRiYXNlX2NvbXBp
bGUKCiAgICAgIGlmIHRlc3QgIiRwaWNfbW9kZSIgIT0gbm87IHRoZW4KCWNv
bW1hbmQ9IiRiYXNlX2NvbXBpbGUgJHFzcmNmaWxlICRwaWNfZmxhZyIKICAg
ICAgZWxzZQoJIyBEb24ndCBidWlsZCBQSUMgY29kZQoJY29tbWFuZD0iJGJh
c2VfY29tcGlsZSAkcXNyY2ZpbGUiCiAgICAgIGZpCgogICAgICBmdW5jX21r
ZGlyX3AgIiR4ZGlyJG9iamRpciIKCiAgICAgIGlmIHRlc3QgLXogIiRvdXRw
dXRfb2JqIjsgdGhlbgoJIyBQbGFjZSBQSUMgb2JqZWN0cyBpbiAkb2JqZGly
Cgljb21tYW5kKz0iIC1vICRsb2JqIgogICAgICBmaQoKICAgICAgZnVuY19z
aG93X2V2YWxfbG9jYWxlICIkY29tbWFuZCIJXAogICAgICAgICAgJ3Rlc3Qg
LW4gIiRvdXRwdXRfb2JqIiAmJiAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJEVY
SVRfRkFJTFVSRScKCiAgICAgIGlmIHRlc3QgIiRuZWVkX2xvY2tzIiA9IHdh
cm4gJiYKCSB0ZXN0ICJYYGNhdCAkbG9ja2ZpbGUgMj4vZGV2L251bGxgIiAh
PSAiWCRzcmNmaWxlIjsgdGhlbgoJJEVDSE8gIlwKKioqIEVSUk9SLCAkbG9j
a2ZpbGUgY29udGFpbnM6CmBjYXQgJGxvY2tmaWxlIDI+L2Rldi9udWxsYAoK
YnV0IGl0IHNob3VsZCBjb250YWluOgokc3JjZmlsZQoKVGhpcyBpbmRpY2F0
ZXMgdGhhdCBhbm90aGVyIHByb2Nlc3MgaXMgdHJ5aW5nIHRvIHVzZSB0aGUg
c2FtZQp0ZW1wb3Jhcnkgb2JqZWN0IGZpbGUsIGFuZCBsaWJ0b29sIGNvdWxk
IG5vdCB3b3JrIGFyb3VuZCBpdCBiZWNhdXNlCnlvdXIgY29tcGlsZXIgZG9l
cyBub3Qgc3VwcG9ydCBcYC1jJyBhbmQgXGAtbycgdG9nZXRoZXIuICBJZiB5
b3UKcmVwZWF0IHRoaXMgY29tcGlsYXRpb24sIGl0IG1heSBzdWNjZWVkLCBi
eSBjaGFuY2UsIGJ1dCB5b3UgaGFkIGJldHRlcgphdm9pZCBwYXJhbGxlbCBi
dWlsZHMgKG1ha2UgLWopIGluIHRoaXMgcGxhdGZvcm0sIG9yIGdldCBhIGJl
dHRlcgpjb21waWxlci4iCgoJJG9wdF9kcnlfcnVuIHx8ICRSTSAkcmVtb3Zl
bGlzdAoJZXhpdCAkRVhJVF9GQUlMVVJFCiAgICAgIGZpCgogICAgICAjIEp1
c3QgbW92ZSB0aGUgb2JqZWN0IGlmIG5lZWRlZCwgdGhlbiBnbyBvbiB0byBj
b21waWxlIHRoZSBuZXh0IG9uZQogICAgICBpZiB0ZXN0IC1uICIkb3V0cHV0
X29iaiIgJiYgdGVzdCAiWCRvdXRwdXRfb2JqIiAhPSAiWCRsb2JqIjsgdGhl
bgoJZnVuY19zaG93X2V2YWwgJyRNViAiJG91dHB1dF9vYmoiICIkbG9iaiIn
IFwKCSAgJ2Vycm9yPSQ/OyAkb3B0X2RyeV9ydW4gfHwgJFJNICRyZW1vdmVs
aXN0OyBleGl0ICRlcnJvcicKICAgICAgZmkKCiAgICAgICMgQWxsb3cgZXJy
b3IgbWVzc2FnZXMgb25seSBmcm9tIHRoZSBmaXJzdCBjb21waWxhdGlvbi4K
ICAgICAgaWYgdGVzdCAiJHN1cHByZXNzX29wdCIgPSB5ZXM7IHRoZW4KCXN1
cHByZXNzX291dHB1dD0nID4vZGV2L251bGwgMj4mMScKICAgICAgZmkKICAg
IGZpCgogICAgIyBPbmx5IGJ1aWxkIGEgcG9zaXRpb24tZGVwZW5kZW50IG9i
amVjdCBpZiB3ZSBidWlsZCBvbGQgbGlicmFyaWVzLgogICAgaWYgdGVzdCAi
JGJ1aWxkX29sZF9saWJzIiA9IHllczsgdGhlbgogICAgICBpZiB0ZXN0ICIk
cGljX21vZGUiICE9IHllczsgdGhlbgoJIyBEb24ndCBidWlsZCBQSUMgY29k
ZQoJY29tbWFuZD0iJGJhc2VfY29tcGlsZSAkcXNyY2ZpbGUkcGllX2ZsYWci
CiAgICAgIGVsc2UKCWNvbW1hbmQ9IiRiYXNlX2NvbXBpbGUgJHFzcmNmaWxl
ICRwaWNfZmxhZyIKICAgICAgZmkKICAgICAgaWYgdGVzdCAiJGNvbXBpbGVy
X2NfbyIgPSB5ZXM7IHRoZW4KCWNvbW1hbmQrPSIgLW8gJG9iaiIKICAgICAg
ZmkKCiAgICAgICMgU3VwcHJlc3MgY29tcGlsZXIgb3V0cHV0IGlmIHdlIGFs
cmVhZHkgZGlkIGEgUElDIGNvbXBpbGF0aW9uLgogICAgICBjb21tYW5kKz0i
JHN1cHByZXNzX291dHB1dCIKICAgICAgZnVuY19zaG93X2V2YWxfbG9jYWxl
ICIkY29tbWFuZCIgXAogICAgICAgICckb3B0X2RyeV9ydW4gfHwgJFJNICRy
ZW1vdmVsaXN0OyBleGl0ICRFWElUX0ZBSUxVUkUnCgogICAgICBpZiB0ZXN0
ICIkbmVlZF9sb2NrcyIgPSB3YXJuICYmCgkgdGVzdCAiWGBjYXQgJGxvY2tm
aWxlIDI+L2Rldi9udWxsYCIgIT0gIlgkc3JjZmlsZSI7IHRoZW4KCSRFQ0hP
ICJcCioqKiBFUlJPUiwgJGxvY2tmaWxlIGNvbnRhaW5zOgpgY2F0ICRsb2Nr
ZmlsZSAyPi9kZXYvbnVsbGAKCmJ1dCBpdCBzaG91bGQgY29udGFpbjoKJHNy
Y2ZpbGUKClRoaXMgaW5kaWNhdGVzIHRoYXQgYW5vdGhlciBwcm9jZXNzIGlz
IHRyeWluZyB0byB1c2UgdGhlIHNhbWUKdGVtcG9yYXJ5IG9iamVjdCBmaWxl
LCBhbmQgbGlidG9vbCBjb3VsZCBub3Qgd29yayBhcm91bmQgaXQgYmVjYXVz
ZQp5b3VyIGNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgXGAtYycgYW5kIFxg
LW8nIHRvZ2V0aGVyLiAgSWYgeW91CnJlcGVhdCB0aGlzIGNvbXBpbGF0aW9u
LCBpdCBtYXkgc3VjY2VlZCwgYnkgY2hhbmNlLCBidXQgeW91IGhhZCBiZXR0
ZXIKYXZvaWQgcGFyYWxsZWwgYnVpbGRzIChtYWtlIC1qKSBpbiB0aGlzIHBs
YXRmb3JtLCBvciBnZXQgYSBiZXR0ZXIKY29tcGlsZXIuIgoKCSRvcHRfZHJ5
X3J1biB8fCAkUk0gJHJlbW92ZWxpc3QKCWV4aXQgJEVYSVRfRkFJTFVSRQog
ICAgICBmaQoKICAgICAgIyBKdXN0IG1vdmUgdGhlIG9iamVjdCBpZiBuZWVk
ZWQKICAgICAgaWYgdGVzdCAtbiAiJG91dHB1dF9vYmoiICYmIHRlc3QgIlgk
b3V0cHV0X29iaiIgIT0gIlgkb2JqIjsgdGhlbgoJZnVuY19zaG93X2V2YWwg
JyRNViAiJG91dHB1dF9vYmoiICIkb2JqIicgXAoJICAnZXJyb3I9JD87ICRv
cHRfZHJ5X3J1biB8fCAkUk0gJHJlbW92ZWxpc3Q7IGV4aXQgJGVycm9yJwog
ICAgICBmaQogICAgZmkKCiAgICAkb3B0X2RyeV9ydW4gfHwgewogICAgICBm
dW5jX3dyaXRlX2xpYnRvb2xfb2JqZWN0ICIkbGlib2JqIiAiJG9iamRpci8k
b2JqbmFtZSIgIiRvYmpuYW1lIgoKICAgICAgIyBVbmxvY2sgdGhlIGNyaXRp
Y2FsIHNlY3Rpb24gaWYgaXQgd2FzIGxvY2tlZAogICAgICBpZiB0ZXN0ICIk
bmVlZF9sb2NrcyIgIT0gbm87IHRoZW4KCXJlbW92ZWxpc3Q9JGxvY2tmaWxl
CiAgICAgICAgJFJNICIkbG9ja2ZpbGUiCiAgICAgIGZpCiAgICB9CgogICAg
ZXhpdCAkRVhJVF9TVUNDRVNTCn0KCiRvcHRfaGVscCB8fCB7CiAgdGVzdCAi
JG9wdF9tb2RlIiA9IGNvbXBpbGUgJiYgZnVuY19tb2RlX2NvbXBpbGUgJHsx
KyIkQCJ9Cn0KCmZ1bmNfbW9kZV9oZWxwICgpCnsKICAgICMgV2UgbmVlZCB0
byBkaXNwbGF5IGhlbHAgZm9yIGVhY2ggb2YgdGhlIG1vZGVzLgogICAgY2Fz
ZSAkb3B0X21vZGUgaW4KICAgICAgIiIpCiAgICAgICAgIyBHZW5lcmljIGhl
bHAgaXMgZXh0cmFjdGVkIGZyb20gdGhlIHVzYWdlIGNvbW1lbnRzCiAgICAg
ICAgIyBhdCB0aGUgc3RhcnQgb2YgdGhpcyBmaWxlLgogICAgICAgIGZ1bmNf
aGVscAogICAgICAgIDs7CgogICAgICBjbGVhbikKICAgICAgICAkRUNITyBc
CiJVc2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1jbGVhbiBS
TSBbUk0tT1BUSU9OXS4uLiBGSUxFLi4uCgpSZW1vdmUgZmlsZXMgZnJvbSB0
aGUgYnVpbGQgZGlyZWN0b3J5LgoKUk0gaXMgdGhlIG5hbWUgb2YgdGhlIHBy
b2dyYW0gdG8gdXNlIHRvIGRlbGV0ZSBmaWxlcyBhc3NvY2lhdGVkIHdpdGgg
ZWFjaCBGSUxFCih0eXBpY2FsbHkgXGAvYmluL3JtJykuICBSTS1PUFRJT05T
IGFyZSBvcHRpb25zIChzdWNoIGFzIFxgLWYnKSB0byBiZSBwYXNzZWQKdG8g
Uk0uCgpJZiBGSUxFIGlzIGEgbGlidG9vbCBsaWJyYXJ5LCBvYmplY3Qgb3Ig
cHJvZ3JhbSwgYWxsIHRoZSBmaWxlcyBhc3NvY2lhdGVkCndpdGggaXQgYXJl
IGRlbGV0ZWQuIE90aGVyd2lzZSwgb25seSBGSUxFIGl0c2VsZiBpcyBkZWxl
dGVkIHVzaW5nIFJNLiIKICAgICAgICA7OwoKICAgICAgY29tcGlsZSkKICAg
ICAgJEVDSE8gXAoiVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiAtLW1v
ZGU9Y29tcGlsZSBDT01QSUxFLUNPTU1BTkQuLi4gU09VUkNFRklMRQoKQ29t
cGlsZSBhIHNvdXJjZSBmaWxlIGludG8gYSBsaWJ0b29sIGxpYnJhcnkgb2Jq
ZWN0LgoKVGhpcyBtb2RlIGFjY2VwdHMgdGhlIGZvbGxvd2luZyBhZGRpdGlv
bmFsIG9wdGlvbnM6CgogIC1vIE9VVFBVVC1GSUxFICAgIHNldCB0aGUgb3V0
cHV0IGZpbGUgbmFtZSB0byBPVVRQVVQtRklMRQogIC1uby1zdXBwcmVzcyAg
ICAgIGRvIG5vdCBzdXBwcmVzcyBjb21waWxlciBvdXRwdXQgZm9yIG11bHRp
cGxlIHBhc3NlcwogIC1wcmVmZXItcGljICAgICAgIHRyeSB0byBidWlsZCBQ
SUMgb2JqZWN0cyBvbmx5CiAgLXByZWZlci1ub24tcGljICAgdHJ5IHRvIGJ1
aWxkIG5vbi1QSUMgb2JqZWN0cyBvbmx5CiAgLXNoYXJlZCAgICAgICAgICAg
ZG8gbm90IGJ1aWxkIGEgXGAubycgZmlsZSBzdWl0YWJsZSBmb3Igc3RhdGlj
IGxpbmtpbmcKICAtc3RhdGljICAgICAgICAgICBvbmx5IGJ1aWxkIGEgXGAu
bycgZmlsZSBzdWl0YWJsZSBmb3Igc3RhdGljIGxpbmtpbmcKICAtV2MsRkxB
RyAgICAgICAgICBwYXNzIEZMQUcgZGlyZWN0bHkgdG8gdGhlIGNvbXBpbGVy
CgpDT01QSUxFLUNPTU1BTkQgaXMgYSBjb21tYW5kIHRvIGJlIHVzZWQgaW4g
Y3JlYXRpbmcgYSBcYHN0YW5kYXJkJyBvYmplY3QgZmlsZQpmcm9tIHRoZSBn
aXZlbiBTT1VSQ0VGSUxFLgoKVGhlIG91dHB1dCBmaWxlIG5hbWUgaXMgZGV0
ZXJtaW5lZCBieSByZW1vdmluZyB0aGUgZGlyZWN0b3J5IGNvbXBvbmVudCBm
cm9tClNPVVJDRUZJTEUsIHRoZW4gc3Vic3RpdHV0aW5nIHRoZSBDIHNvdXJj
ZSBjb2RlIHN1ZmZpeCBcYC5jJyB3aXRoIHRoZQpsaWJyYXJ5IG9iamVjdCBz
dWZmaXgsIFxgLmxvJy4iCiAgICAgICAgOzsKCiAgICAgIGV4ZWN1dGUpCiAg
ICAgICAgJEVDSE8gXAoiVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiAt
LW1vZGU9ZXhlY3V0ZSBDT01NQU5EIFtBUkdTXS4uLgoKQXV0b21hdGljYWxs
eSBzZXQgbGlicmFyeSBwYXRoLCB0aGVuIHJ1biBhIHByb2dyYW0uCgpUaGlz
IG1vZGUgYWNjZXB0cyB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgb3B0aW9u
czoKCiAgLWRsb3BlbiBGSUxFICAgICAgYWRkIHRoZSBkaXJlY3RvcnkgY29u
dGFpbmluZyBGSUxFIHRvIHRoZSBsaWJyYXJ5IHBhdGgKClRoaXMgbW9kZSBz
ZXRzIHRoZSBsaWJyYXJ5IHBhdGggZW52aXJvbm1lbnQgdmFyaWFibGUgYWNj
b3JkaW5nIHRvIFxgLWRsb3BlbicKZmxhZ3MuCgpJZiBhbnkgb2YgdGhlIEFS
R1MgYXJlIGxpYnRvb2wgZXhlY3V0YWJsZSB3cmFwcGVycywgdGhlbiB0aGV5
IGFyZSB0cmFuc2xhdGVkCmludG8gdGhlaXIgY29ycmVzcG9uZGluZyB1bmlu
c3RhbGxlZCBiaW5hcnksIGFuZCBhbnkgb2YgdGhlaXIgcmVxdWlyZWQgbGli
cmFyeQpkaXJlY3RvcmllcyBhcmUgYWRkZWQgdG8gdGhlIGxpYnJhcnkgcGF0
aC4KClRoZW4sIENPTU1BTkQgaXMgZXhlY3V0ZWQsIHdpdGggQVJHUyBhcyBh
cmd1bWVudHMuIgogICAgICAgIDs7CgogICAgICBmaW5pc2gpCiAgICAgICAg
JEVDSE8gXAoiVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9
ZmluaXNoIFtMSUJESVJdLi4uCgpDb21wbGV0ZSB0aGUgaW5zdGFsbGF0aW9u
IG9mIGxpYnRvb2wgbGlicmFyaWVzLgoKRWFjaCBMSUJESVIgaXMgYSBkaXJl
Y3RvcnkgdGhhdCBjb250YWlucyBsaWJ0b29sIGxpYnJhcmllcy4KClRoZSBj
b21tYW5kcyB0aGF0IHRoaXMgbW9kZSBleGVjdXRlcyBtYXkgcmVxdWlyZSBz
dXBlcnVzZXIgcHJpdmlsZWdlcy4gIFVzZQp0aGUgXGAtLWRyeS1ydW4nIG9w
dGlvbiBpZiB5b3UganVzdCB3YW50IHRvIHNlZSB3aGF0IHdvdWxkIGJlIGV4
ZWN1dGVkLiIKICAgICAgICA7OwoKICAgICAgaW5zdGFsbCkKICAgICAgICAk
RUNITyBcCiJVc2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1p
bnN0YWxsIElOU1RBTEwtQ09NTUFORC4uLgoKSW5zdGFsbCBleGVjdXRhYmxl
cyBvciBsaWJyYXJpZXMuCgpJTlNUQUxMLUNPTU1BTkQgaXMgdGhlIGluc3Rh
bGxhdGlvbiBjb21tYW5kLiAgVGhlIGZpcnN0IGNvbXBvbmVudCBzaG91bGQg
YmUKZWl0aGVyIHRoZSBcYGluc3RhbGwnIG9yIFxgY3AnIHByb2dyYW0uCgpU
aGUgZm9sbG93aW5nIGNvbXBvbmVudHMgb2YgSU5TVEFMTC1DT01NQU5EIGFy
ZSB0cmVhdGVkIHNwZWNpYWxseToKCiAgLWluc3QtcHJlZml4LWRpciBQUkVG
SVgtRElSICBVc2UgUFJFRklYLURJUiBhcyBhIHN0YWdpbmcgYXJlYSBmb3Ig
aW5zdGFsbGF0aW9uCgpUaGUgcmVzdCBvZiB0aGUgY29tcG9uZW50cyBhcmUg
aW50ZXJwcmV0ZWQgYXMgYXJndW1lbnRzIHRvIHRoYXQgY29tbWFuZCAob25s
eQpCU0QtY29tcGF0aWJsZSBpbnN0YWxsIG9wdGlvbnMgYXJlIHJlY29nbml6
ZWQpLiIKICAgICAgICA7OwoKICAgICAgbGluaykKICAgICAgICAkRUNITyBc
CiJVc2FnZTogJHByb2duYW1lIFtPUFRJT05dLi4uIC0tbW9kZT1saW5rIExJ
TkstQ09NTUFORC4uLgoKTGluayBvYmplY3QgZmlsZXMgb3IgbGlicmFyaWVz
IHRvZ2V0aGVyIHRvIGZvcm0gYW5vdGhlciBsaWJyYXJ5LCBvciB0bwpjcmVh
dGUgYW4gZXhlY3V0YWJsZSBwcm9ncmFtLgoKTElOSy1DT01NQU5EIGlzIGEg
Y29tbWFuZCB1c2luZyB0aGUgQyBjb21waWxlciB0aGF0IHlvdSB3b3VsZCB1
c2UgdG8gY3JlYXRlCmEgcHJvZ3JhbSBmcm9tIHNldmVyYWwgb2JqZWN0IGZp
bGVzLgoKVGhlIGZvbGxvd2luZyBjb21wb25lbnRzIG9mIExJTkstQ09NTUFO
RCBhcmUgdHJlYXRlZCBzcGVjaWFsbHk6CgogIC1hbGwtc3RhdGljICAgICAg
IGRvIG5vdCBkbyBhbnkgZHluYW1pYyBsaW5raW5nIGF0IGFsbAogIC1hdm9p
ZC12ZXJzaW9uICAgIGRvIG5vdCBhZGQgYSB2ZXJzaW9uIHN1ZmZpeCBpZiBw
b3NzaWJsZQogIC1iaW5kaXIgQklORElSICAgIHNwZWNpZnkgcGF0aCB0byBi
aW5hcmllcyBkaXJlY3RvcnkgKGZvciBzeXN0ZW1zIHdoZXJlCiAgICAgICAg
ICAgICAgICAgICAgbGlicmFyaWVzIG11c3QgYmUgZm91bmQgaW4gdGhlIFBB
VEggc2V0dGluZyBhdCBydW50aW1lKQogIC1kbG9wZW4gRklMRSAgICAgIFxg
LWRscHJlb3BlbicgRklMRSBpZiBpdCBjYW5ub3QgYmUgZGxvcGVuZWQgYXQg
cnVudGltZQogIC1kbHByZW9wZW4gRklMRSAgIGxpbmsgaW4gRklMRSBhbmQg
YWRkIGl0cyBzeW1ib2xzIHRvIGx0X3ByZWxvYWRlZF9zeW1ib2xzCiAgLWV4
cG9ydC1keW5hbWljICAgYWxsb3cgc3ltYm9scyBmcm9tIE9VVFBVVC1GSUxF
IHRvIGJlIHJlc29sdmVkIHdpdGggZGxzeW0oMykKICAtZXhwb3J0LXN5bWJv
bHMgU1lNRklMRQogICAgICAgICAgICAgICAgICAgIHRyeSB0byBleHBvcnQg
b25seSB0aGUgc3ltYm9scyBsaXN0ZWQgaW4gU1lNRklMRQogIC1leHBvcnQt
c3ltYm9scy1yZWdleCBSRUdFWAogICAgICAgICAgICAgICAgICAgIHRyeSB0
byBleHBvcnQgb25seSB0aGUgc3ltYm9scyBtYXRjaGluZyBSRUdFWAogIC1M
TElCRElSICAgICAgICAgIHNlYXJjaCBMSUJESVIgZm9yIHJlcXVpcmVkIGlu
c3RhbGxlZCBsaWJyYXJpZXMKICAtbE5BTUUgICAgICAgICAgICBPVVRQVVQt
RklMRSByZXF1aXJlcyB0aGUgaW5zdGFsbGVkIGxpYnJhcnkgbGliTkFNRQog
IC1tb2R1bGUgICAgICAgICAgIGJ1aWxkIGEgbGlicmFyeSB0aGF0IGNhbiBk
bG9wZW5lZAogIC1uby1mYXN0LWluc3RhbGwgIGRpc2FibGUgdGhlIGZhc3Qt
aW5zdGFsbCBtb2RlCiAgLW5vLWluc3RhbGwgICAgICAgbGluayBhIG5vdC1p
bnN0YWxsYWJsZSBleGVjdXRhYmxlCiAgLW5vLXVuZGVmaW5lZCAgICAgZGVj
bGFyZSB0aGF0IGEgbGlicmFyeSBkb2VzIG5vdCByZWZlciB0byBleHRlcm5h
bCBzeW1ib2xzCiAgLW8gT1VUUFVULUZJTEUgICAgY3JlYXRlIE9VVFBVVC1G
SUxFIGZyb20gdGhlIHNwZWNpZmllZCBvYmplY3RzCiAgLW9iamVjdGxpc3Qg
RklMRSAgVXNlIGEgbGlzdCBvZiBvYmplY3QgZmlsZXMgZm91bmQgaW4gRklM
RSB0byBzcGVjaWZ5IG9iamVjdHMKICAtcHJlY2lvdXMtZmlsZXMtcmVnZXgg
UkVHRVgKICAgICAgICAgICAgICAgICAgICBkb24ndCByZW1vdmUgb3V0cHV0
IGZpbGVzIG1hdGNoaW5nIFJFR0VYCiAgLXJlbGVhc2UgUkVMRUFTRSAgc3Bl
Y2lmeSBwYWNrYWdlIHJlbGVhc2UgaW5mb3JtYXRpb24KICAtcnBhdGggTElC
RElSICAgICB0aGUgY3JlYXRlZCBsaWJyYXJ5IHdpbGwgZXZlbnR1YWxseSBi
ZSBpbnN0YWxsZWQgaW4gTElCRElSCiAgLVJbIF1MSUJESVIgICAgICAgYWRk
IExJQkRJUiB0byB0aGUgcnVudGltZSBwYXRoIG9mIHByb2dyYW1zIGFuZCBs
aWJyYXJpZXMKICAtc2hhcmVkICAgICAgICAgICBvbmx5IGRvIGR5bmFtaWMg
bGlua2luZyBvZiBsaWJ0b29sIGxpYnJhcmllcwogIC1zaHJleHQgU1VGRklY
ICAgIG92ZXJyaWRlIHRoZSBzdGFuZGFyZCBzaGFyZWQgbGlicmFyeSBmaWxl
IGV4dGVuc2lvbgogIC1zdGF0aWMgICAgICAgICAgIGRvIG5vdCBkbyBhbnkg
ZHluYW1pYyBsaW5raW5nIG9mIHVuaW5zdGFsbGVkIGxpYnRvb2wgbGlicmFy
aWVzCiAgLXN0YXRpYy1saWJ0b29sLWxpYnMKICAgICAgICAgICAgICAgICAg
ICBkbyBub3QgZG8gYW55IGR5bmFtaWMgbGlua2luZyBvZiBsaWJ0b29sIGxp
YnJhcmllcwogIC12ZXJzaW9uLWluZm8gQ1VSUkVOVFs6UkVWSVNJT05bOkFH
RV1dCiAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBsaWJyYXJ5IHZlcnNp
b24gaW5mbyBbZWFjaCB2YXJpYWJsZSBkZWZhdWx0cyB0byAwXQogIC13ZWFr
IExJQk5BTUUgICAgIGRlY2xhcmUgdGhhdCB0aGUgdGFyZ2V0IHByb3ZpZGVz
IHRoZSBMSUJOQU1FIGludGVyZmFjZQogIC1XYyxGTEFHCiAgLVhjb21waWxl
ciBGTEFHICAgcGFzcyBsaW5rZXItc3BlY2lmaWMgRkxBRyBkaXJlY3RseSB0
byB0aGUgY29tcGlsZXIKICAtV2wsRkxBRwogIC1YbGlua2VyIEZMQUcgICAg
IHBhc3MgbGlua2VyLXNwZWNpZmljIEZMQUcgZGlyZWN0bHkgdG8gdGhlIGxp
bmtlcgogIC1YQ0NsaW5rZXIgRkxBRyAgIHBhc3MgbGluay1zcGVjaWZpYyBG
TEFHIHRvIHRoZSBjb21waWxlciBkcml2ZXIgKENDKQoKQWxsIG90aGVyIG9w
dGlvbnMgKGFyZ3VtZW50cyBiZWdpbm5pbmcgd2l0aCBcYC0nKSBhcmUgaWdu
b3JlZC4KCkV2ZXJ5IG90aGVyIGFyZ3VtZW50IGlzIHRyZWF0ZWQgYXMgYSBm
aWxlbmFtZS4gIEZpbGVzIGVuZGluZyBpbiBcYC5sYScgYXJlCnRyZWF0ZWQg
YXMgdW5pbnN0YWxsZWQgbGlidG9vbCBsaWJyYXJpZXMsIG90aGVyIGZpbGVz
IGFyZSBzdGFuZGFyZCBvciBsaWJyYXJ5Cm9iamVjdCBmaWxlcy4KCklmIHRo
ZSBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxhJywgdGhlbiBhIGxpYnRvb2wg
bGlicmFyeSBpcyBjcmVhdGVkLApvbmx5IGxpYnJhcnkgb2JqZWN0cyAoXGAu
bG8nIGZpbGVzKSBtYXkgYmUgc3BlY2lmaWVkLCBhbmQgXGAtcnBhdGgnIGlz
CnJlcXVpcmVkLCBleGNlcHQgd2hlbiBjcmVhdGluZyBhIGNvbnZlbmllbmNl
IGxpYnJhcnkuCgpJZiBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmEnIG9yIFxg
LmxpYicsIHRoZW4gYSBzdGFuZGFyZCBsaWJyYXJ5IGlzIGNyZWF0ZWQKdXNp
bmcgXGBhcicgYW5kIFxgcmFubGliJywgb3Igb24gV2luZG93cyB1c2luZyBc
YGxpYicuCgpJZiBPVVRQVVQtRklMRSBlbmRzIGluIFxgLmxvJyBvciBcYC4k
e29iamV4dH0nLCB0aGVuIGEgcmVsb2FkYWJsZSBvYmplY3QgZmlsZQppcyBj
cmVhdGVkLCBvdGhlcndpc2UgYW4gZXhlY3V0YWJsZSBwcm9ncmFtIGlzIGNy
ZWF0ZWQuIgogICAgICAgIDs7CgogICAgICB1bmluc3RhbGwpCiAgICAgICAg
JEVDSE8gXAoiVXNhZ2U6ICRwcm9nbmFtZSBbT1BUSU9OXS4uLiAtLW1vZGU9
dW5pbnN0YWxsIFJNIFtSTS1PUFRJT05dLi4uIEZJTEUuLi4KClJlbW92ZSBs
aWJyYXJpZXMgZnJvbSBhbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5LgoKUk0g
aXMgdGhlIG5hbWUgb2YgdGhlIHByb2dyYW0gdG8gdXNlIHRvIGRlbGV0ZSBm
aWxlcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBGSUxFCih0eXBpY2FsbHkgXGAv
YmluL3JtJykuICBSTS1PUFRJT05TIGFyZSBvcHRpb25zIChzdWNoIGFzIFxg
LWYnKSB0byBiZSBwYXNzZWQKdG8gUk0uCgpJZiBGSUxFIGlzIGEgbGlidG9v
bCBsaWJyYXJ5LCBhbGwgdGhlIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBpdCBh
cmUgZGVsZXRlZC4KT3RoZXJ3aXNlLCBvbmx5IEZJTEUgaXRzZWxmIGlzIGRl
bGV0ZWQgdXNpbmcgUk0uIgogICAgICAgIDs7CgogICAgICAqKQogICAgICAg
IGZ1bmNfZmF0YWxfaGVscCAiaW52YWxpZCBvcGVyYXRpb24gbW9kZSBcYCRv
cHRfbW9kZSciCiAgICAgICAgOzsKICAgIGVzYWMKCiAgICBlY2hvCiAgICAk
RUNITyAiVHJ5IFxgJHByb2duYW1lIC0taGVscCcgZm9yIG1vcmUgaW5mb3Jt
YXRpb24gYWJvdXQgb3RoZXIgbW9kZXMuIgp9CgojIE5vdyB0aGF0IHdlJ3Zl
IGNvbGxlY3RlZCBhIHBvc3NpYmxlIC0tbW9kZSBhcmcsIHNob3cgaGVscCBp
ZiBuZWNlc3NhcnkKaWYgJG9wdF9oZWxwOyB0aGVuCiAgaWYgdGVzdCAiJG9w
dF9oZWxwIiA9IDo7IHRoZW4KICAgIGZ1bmNfbW9kZV9oZWxwCiAgZWxzZQog
ICAgewogICAgICBmdW5jX2hlbHAgbm9leGl0CiAgICAgIGZvciBvcHRfbW9k
ZSBpbiBjb21waWxlIGxpbmsgZXhlY3V0ZSBpbnN0YWxsIGZpbmlzaCB1bmlu
c3RhbGwgY2xlYW47IGRvCglmdW5jX21vZGVfaGVscAogICAgICBkb25lCiAg
ICB9IHwgc2VkIC1uICcxcDsgMiwkcy9eVXNhZ2U6LyAgb3I6IC9wJwogICAg
ewogICAgICBmdW5jX2hlbHAgbm9leGl0CiAgICAgIGZvciBvcHRfbW9kZSBp
biBjb21waWxlIGxpbmsgZXhlY3V0ZSBpbnN0YWxsIGZpbmlzaCB1bmluc3Rh
bGwgY2xlYW47IGRvCgllY2hvCglmdW5jX21vZGVfaGVscAogICAgICBkb25l
CiAgICB9IHwKICAgIHNlZCAnMWQKICAgICAgL15XaGVuIHJlcG9ydGluZy8s
L15SZXBvcnQvewoJSAoJZAogICAgICB9CiAgICAgICR4CiAgICAgIC9pbmZv
cm1hdGlvbiBhYm91dCBvdGhlciBtb2Rlcy9kCiAgICAgIC9tb3JlIGRldGFp
bGVkIC4qTU9ERS9kCiAgICAgIHMvXlVzYWdlOi4qLS1tb2RlPVwoW14gXSpc
KSAuKi9EZXNjcmlwdGlvbiBvZiBcMSBtb2RlOi8nCiAgZmkKICBleGl0ICQ/
CmZpCgoKIyBmdW5jX21vZGVfZXhlY3V0ZSBhcmcuLi4KZnVuY19tb2RlX2V4
ZWN1dGUgKCkKewogICAgJG9wdF9kZWJ1ZwogICAgIyBUaGUgZmlyc3QgYXJn
dW1lbnQgaXMgdGhlIGNvbW1hbmQgbmFtZS4KICAgIGNtZD0iJG5vbm9wdCIK
ICAgIHRlc3QgLXogIiRjbWQiICYmIFwKICAgICAgZnVuY19mYXRhbF9oZWxw
ICJ5b3UgbXVzdCBzcGVjaWZ5IGEgQ09NTUFORCIKCiAgICAjIEhhbmRsZSAt
ZGxvcGVuIGZsYWdzIGltbWVkaWF0ZWx5LgogICAgZm9yIGZpbGUgaW4gJG9w
dF9kbG9wZW47IGRvCiAgICAgIHRlc3QgLWYgIiRmaWxlIiBcCgl8fCBmdW5j
X2ZhdGFsX2hlbHAgIlxgJGZpbGUnIGlzIG5vdCBhIGZpbGUiCgogICAgICBk
aXI9CiAgICAgIGNhc2UgJGZpbGUgaW4KICAgICAgKi5sYSkKCWZ1bmNfcmVz
b2x2ZV9zeXNyb290ICIkZmlsZSIKCWZpbGU9JGZ1bmNfcmVzb2x2ZV9zeXNy
b290X3Jlc3VsdAoKCSMgQ2hlY2sgdG8gc2VlIHRoYXQgdGhpcyByZWFsbHkg
aXMgYSBsaWJ0b29sIGFyY2hpdmUuCglmdW5jX2xhbGliX3Vuc2FmZV9wICIk
ZmlsZSIgXAoJICB8fCBmdW5jX2ZhdGFsX2hlbHAgIlxgJGxpYicgaXMgbm90
IGEgdmFsaWQgbGlidG9vbCBhcmNoaXZlIgoKCSMgUmVhZCB0aGUgbGlidG9v
bCBsaWJyYXJ5LgoJZGxuYW1lPQoJbGlicmFyeV9uYW1lcz0KCWZ1bmNfc291
cmNlICIkZmlsZSIKCgkjIFNraXAgdGhpcyBsaWJyYXJ5IGlmIGl0IGNhbm5v
dCBiZSBkbG9wZW5lZC4KCWlmIHRlc3QgLXogIiRkbG5hbWUiOyB0aGVuCgkg
ICMgV2FybiBpZiBpdCB3YXMgYSBzaGFyZWQgbGlicmFyeS4KCSAgdGVzdCAt
biAiJGxpYnJhcnlfbmFtZXMiICYmIFwKCSAgICBmdW5jX3dhcm5pbmcgIlxg
JGZpbGUnIHdhcyBub3QgbGlua2VkIHdpdGggXGAtZXhwb3J0LWR5bmFtaWMn
IgoJICBjb250aW51ZQoJZmkKCglmdW5jX2Rpcm5hbWUgIiRmaWxlIiAiIiAi
LiIKCWRpcj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCgoJaWYgdGVzdCAtZiAi
JGRpci8kb2JqZGlyLyRkbG5hbWUiOyB0aGVuCgkgIGRpcis9Ii8kb2JqZGly
IgoJZWxzZQoJICBpZiB0ZXN0ICEgLWYgIiRkaXIvJGRsbmFtZSI7IHRoZW4K
CSAgICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3QgZmluZCBcYCRkbG5hbWUn
IGluIFxgJGRpcicgb3IgXGAkZGlyLyRvYmpkaXInIgoJICBmaQoJZmkKCTs7
CgogICAgICAqLmxvKQoJIyBKdXN0IGFkZCB0aGUgZGlyZWN0b3J5IGNvbnRh
aW5pbmcgdGhlIC5sbyBmaWxlLgoJZnVuY19kaXJuYW1lICIkZmlsZSIgIiIg
Ii4iCglkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoJOzsKCiAgICAgICop
CglmdW5jX3dhcm5pbmcgIlxgLWRsb3BlbicgaXMgaWdub3JlZCBmb3Igbm9u
LWxpYnRvb2wgbGlicmFyaWVzIGFuZCBvYmplY3RzIgoJY29udGludWUKCTs7
CiAgICAgIGVzYWMKCiAgICAgICMgR2V0IHRoZSBhYnNvbHV0ZSBwYXRobmFt
ZS4KICAgICAgYWJzZGlyPWBjZCAiJGRpciIgJiYgcHdkYAogICAgICB0ZXN0
IC1uICIkYWJzZGlyIiAmJiBkaXI9IiRhYnNkaXIiCgogICAgICAjIE5vdyBh
ZGQgdGhlIGRpcmVjdG9yeSB0byBzaGxpYnBhdGhfdmFyLgogICAgICBpZiBl
dmFsICJ0ZXN0IC16IFwiXCQkc2hsaWJwYXRoX3ZhclwiIjsgdGhlbgoJZXZh
bCAiJHNobGlicGF0aF92YXI9XCJcJGRpclwiIgogICAgICBlbHNlCglldmFs
ICIkc2hsaWJwYXRoX3Zhcj1cIlwkZGlyOlwkJHNobGlicGF0aF92YXJcIiIK
ICAgICAgZmkKICAgIGRvbmUKCiAgICAjIFRoaXMgdmFyaWFibGUgdGVsbHMg
d3JhcHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0IHNobGlicGF0aF92YXIKICAg
ICMgcmF0aGVyIHRoYW4gcnVubmluZyB0aGVpciBwcm9ncmFtcy4KICAgIGxp
YnRvb2xfZXhlY3V0ZV9tYWdpYz0iJG1hZ2ljIgoKICAgICMgQ2hlY2sgaWYg
YW55IG9mIHRoZSBhcmd1bWVudHMgaXMgYSB3cmFwcGVyIHNjcmlwdC4KICAg
IGFyZ3M9CiAgICBmb3IgZmlsZQogICAgZG8KICAgICAgY2FzZSAkZmlsZSBp
bgogICAgICAtKiB8ICoubGEgfCAqLmxvICkgOzsKICAgICAgKikKCSMgRG8g
YSB0ZXN0IHRvIHNlZSBpZiB0aGlzIGlzIHJlYWxseSBhIGxpYnRvb2wgcHJv
Z3JhbS4KCWlmIGZ1bmNfbHR3cmFwcGVyX3NjcmlwdF9wICIkZmlsZSI7IHRo
ZW4KCSAgZnVuY19zb3VyY2UgIiRmaWxlIgoJICAjIFRyYW5zZm9ybSBhcmcg
dG8gd3JhcHBlZCBuYW1lLgoJICBmaWxlPSIkcHJvZ2Rpci8kcHJvZ3JhbSIK
CWVsaWYgZnVuY19sdHdyYXBwZXJfZXhlY3V0YWJsZV9wICIkZmlsZSI7IHRo
ZW4KCSAgZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZSAiJGZpbGUiCgkgIGZ1
bmNfc291cmNlICIkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9yZXN1bHQi
CgkgICMgVHJhbnNmb3JtIGFyZyB0byB3cmFwcGVkIG5hbWUuCgkgIGZpbGU9
IiRwcm9nZGlyLyRwcm9ncmFtIgoJZmkKCTs7CiAgICAgIGVzYWMKICAgICAg
IyBRdW90ZSBhcmd1bWVudHMgKHRvIHByZXNlcnZlIHNoZWxsIG1ldGFjaGFy
YWN0ZXJzKS4KICAgICAgZnVuY19hcHBlbmRfcXVvdGVkIGFyZ3MgIiRmaWxl
IgogICAgZG9uZQoKICAgIGlmIHRlc3QgIlgkb3B0X2RyeV9ydW4iID0gWGZh
bHNlOyB0aGVuCiAgICAgIGlmIHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIjsg
dGhlbgoJIyBFeHBvcnQgdGhlIHNobGlicGF0aF92YXIuCglldmFsICJleHBv
cnQgJHNobGlicGF0aF92YXIiCiAgICAgIGZpCgogICAgICAjIFJlc3RvcmUg
c2F2ZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzCiAgICAgIGZvciBsdF92YXIg
aW4gTEFORyBMQU5HVUFHRSBMQ19BTEwgTENfQ1RZUEUgTENfQ09MTEFURSBM
Q19NRVNTQUdFUwogICAgICBkbwoJZXZhbCAiaWYgdGVzdCBcIlwke3NhdmVf
JGx0X3ZhcitzZXR9XCIgPSBzZXQ7IHRoZW4KICAgICAgICAgICAgICAgICRs
dF92YXI9XCRzYXZlXyRsdF92YXI7IGV4cG9ydCAkbHRfdmFyCgkgICAgICBl
bHNlCgkJJGx0X3Vuc2V0ICRsdF92YXIKCSAgICAgIGZpIgogICAgICBkb25l
CgogICAgICAjIE5vdyBwcmVwYXJlIHRvIGFjdHVhbGx5IGV4ZWMgdGhlIGNv
bW1hbmQuCiAgICAgIGV4ZWNfY21kPSJcJGNtZCRhcmdzIgogICAgZWxzZQog
ICAgICAjIERpc3BsYXkgd2hhdCB3b3VsZCBiZSBkb25lLgogICAgICBpZiB0
ZXN0IC1uICIkc2hsaWJwYXRoX3ZhciI7IHRoZW4KCWV2YWwgIlwkRUNITyBc
Ilwkc2hsaWJwYXRoX3Zhcj1cJCRzaGxpYnBhdGhfdmFyXCIiCgllY2hvICJl
eHBvcnQgJHNobGlicGF0aF92YXIiCiAgICAgIGZpCiAgICAgICRFQ0hPICIk
Y21kJGFyZ3MiCiAgICAgIGV4aXQgJEVYSVRfU1VDQ0VTUwogICAgZmkKfQoK
dGVzdCAiJG9wdF9tb2RlIiA9IGV4ZWN1dGUgJiYgZnVuY19tb2RlX2V4ZWN1
dGUgJHsxKyIkQCJ9CgoKIyBmdW5jX21vZGVfZmluaXNoIGFyZy4uLgpmdW5j
X21vZGVfZmluaXNoICgpCnsKICAgICRvcHRfZGVidWcKICAgIGxpYnM9CiAg
ICBsaWJkaXJzPQogICAgYWRtaW5jbWRzPQoKICAgIGZvciBvcHQgaW4gIiRu
b25vcHQiICR7MSsiJEAifQogICAgZG8KICAgICAgaWYgdGVzdCAtZCAiJG9w
dCI7IHRoZW4KCWxpYmRpcnMrPSIgJG9wdCIKCiAgICAgIGVsaWYgdGVzdCAt
ZiAiJG9wdCI7IHRoZW4KCWlmIGZ1bmNfbGFsaWJfdW5zYWZlX3AgIiRvcHQi
OyB0aGVuCgkgIGxpYnMrPSIgJG9wdCIKCWVsc2UKCSAgZnVuY193YXJuaW5n
ICJcYCRvcHQnIGlzIG5vdCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIKCWZp
CgogICAgICBlbHNlCglmdW5jX2ZhdGFsX2Vycm9yICJpbnZhbGlkIGFyZ3Vt
ZW50IFxgJG9wdCciCiAgICAgIGZpCiAgICBkb25lCgogICAgaWYgdGVzdCAt
biAiJGxpYnMiOyB0aGVuCiAgICAgIGlmIHRlc3QgLW4gIiRsdF9zeXNyb290
IjsgdGhlbgogICAgICAgIHN5c3Jvb3RfcmVnZXg9YCRFQ0hPICIkbHRfc3lz
cm9vdCIgfCAkU0VEICIkc2VkX21ha2VfbGl0ZXJhbF9yZWdleCJgCiAgICAg
ICAgc3lzcm9vdF9jbWQ9InMvXChbICddXCkkc3lzcm9vdF9yZWdleC9cMS9n
OyIKICAgICAgZWxzZQogICAgICAgIHN5c3Jvb3RfY21kPQogICAgICBmaQoK
ICAgICAgIyBSZW1vdmUgc3lzcm9vdCByZWZlcmVuY2VzCiAgICAgIGlmICRv
cHRfZHJ5X3J1bjsgdGhlbgogICAgICAgIGZvciBsaWIgaW4gJGxpYnM7IGRv
CiAgICAgICAgICBlY2hvICJyZW1vdmluZyByZWZlcmVuY2VzIHRvICRsdF9z
eXNyb290IGFuZCBcYD0nIHByZWZpeGVzIGZyb20gJGxpYiIKICAgICAgICBk
b25lCiAgICAgIGVsc2UKICAgICAgICB0bXBkaXI9YGZ1bmNfbWt0ZW1wZGly
YAogICAgICAgIGZvciBsaWIgaW4gJGxpYnM7IGRvCgkgIHNlZCAtZSAiJHtz
eXNyb290X2NtZH0gcy9cKFsgJ10tW0xSXVwpPS9cMS9nOyBzL1woWyAnXVwp
PS9cMS9nIiAkbGliIFwKCSAgICA+ICR0bXBkaXIvdG1wLWxhCgkgIG12IC1m
ICR0bXBkaXIvdG1wLWxhICRsaWIKCWRvbmUKICAgICAgICAke1JNfXIgIiR0
bXBkaXIiCiAgICAgIGZpCiAgICBmaQoKICAgIGlmIHRlc3QgLW4gIiRmaW5p
c2hfY21kcyRmaW5pc2hfZXZhbCIgJiYgdGVzdCAtbiAiJGxpYmRpcnMiOyB0
aGVuCiAgICAgIGZvciBsaWJkaXIgaW4gJGxpYmRpcnM7IGRvCglpZiB0ZXN0
IC1uICIkZmluaXNoX2NtZHMiOyB0aGVuCgkgICMgRG8gZWFjaCBjb21tYW5k
IGluIHRoZSBmaW5pc2ggY29tbWFuZHMuCgkgIGZ1bmNfZXhlY3V0ZV9jbWRz
ICIkZmluaXNoX2NtZHMiICdhZG1pbmNtZHM9IiRhZG1pbmNtZHMKJyIkY21k
IiciJwoJZmkKCWlmIHRlc3QgLW4gIiRmaW5pc2hfZXZhbCI7IHRoZW4KCSAg
IyBEbyB0aGUgc2luZ2xlIGZpbmlzaF9ldmFsLgoJICBldmFsIGNtZHM9XCIk
ZmluaXNoX2V2YWxcIgoJICAkb3B0X2RyeV9ydW4gfHwgZXZhbCAiJGNtZHMi
IHx8IGFkbWluY21kcys9IgogICAgICAgJGNtZHMiCglmaQogICAgICBkb25l
CiAgICBmaQoKICAgICMgRXhpdCBoZXJlIGlmIHRoZXkgd2FudGVkIHNpbGVu
dCBtb2RlLgogICAgJG9wdF9zaWxlbnQgJiYgZXhpdCAkRVhJVF9TVUNDRVNT
CgogICAgaWYgdGVzdCAtbiAiJGZpbmlzaF9jbWRzJGZpbmlzaF9ldmFsIiAm
JiB0ZXN0IC1uICIkbGliZGlycyI7IHRoZW4KICAgICAgZWNobyAiLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLSIKICAgICAgZWNobyAiTGlicmFyaWVzIGhh
dmUgYmVlbiBpbnN0YWxsZWQgaW46IgogICAgICBmb3IgbGliZGlyIGluICRs
aWJkaXJzOyBkbwoJJEVDSE8gIiAgICRsaWJkaXIiCiAgICAgIGRvbmUKICAg
ICAgZWNobwogICAgICBlY2hvICJJZiB5b3UgZXZlciBoYXBwZW4gdG8gd2Fu
dCB0byBsaW5rIGFnYWluc3QgaW5zdGFsbGVkIGxpYnJhcmllcyIKICAgICAg
ZWNobyAiaW4gYSBnaXZlbiBkaXJlY3RvcnksIExJQkRJUiwgeW91IG11c3Qg
ZWl0aGVyIHVzZSBsaWJ0b29sLCBhbmQiCiAgICAgIGVjaG8gInNwZWNpZnkg
dGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGxpYnJhcnksIG9yIHVzZSB0aGUg
XGAtTExJQkRJUiciCiAgICAgIGVjaG8gImZsYWcgZHVyaW5nIGxpbmtpbmcg
YW5kIGRvIGF0IGxlYXN0IG9uZSBvZiB0aGUgZm9sbG93aW5nOiIKICAgICAg
aWYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiOyB0aGVuCgllY2hvICIgICAt
IGFkZCBMSUJESVIgdG8gdGhlIFxgJHNobGlicGF0aF92YXInIGVudmlyb25t
ZW50IHZhcmlhYmxlIgoJZWNobyAiICAgICBkdXJpbmcgZXhlY3V0aW9uIgog
ICAgICBmaQogICAgICBpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVu
CgllY2hvICIgICAtIGFkZCBMSUJESVIgdG8gdGhlIFxgJHJ1bnBhdGhfdmFy
JyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKCWVjaG8gIiAgICAgZHVyaW5nIGxp
bmtpbmciCiAgICAgIGZpCiAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjIjsgdGhlbgoJbGliZGlyPUxJQkRJUgoJZXZhbCBm
bGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgoKCSRFQ0hPICIg
ICAtIHVzZSB0aGUgXGAkZmxhZycgbGlua2VyIGZsYWciCiAgICAgIGZpCiAg
ICAgIGlmIHRlc3QgLW4gIiRhZG1pbmNtZHMiOyB0aGVuCgkkRUNITyAiICAg
LSBoYXZlIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3IgcnVuIHRoZXNlIGNv
bW1hbmRzOiRhZG1pbmNtZHMiCiAgICAgIGZpCiAgICAgIGlmIHRlc3QgLWYg
L2V0Yy9sZC5zby5jb25mOyB0aGVuCgllY2hvICIgICAtIGhhdmUgeW91ciBz
eXN0ZW0gYWRtaW5pc3RyYXRvciBhZGQgTElCRElSIHRvIFxgL2V0Yy9sZC5z
by5jb25mJyIKICAgICAgZmkKICAgICAgZWNobwoKICAgICAgZWNobyAiU2Vl
IGFueSBvcGVyYXRpbmcgc3lzdGVtIGRvY3VtZW50YXRpb24gYWJvdXQgc2hh
cmVkIGxpYnJhcmllcyBmb3IiCiAgICAgIGNhc2UgJGhvc3QgaW4KCXNvbGFy
aXMyLls2Nzg5XXxzb2xhcmlzMi4xWzAtOV0pCgkgIGVjaG8gIm1vcmUgaW5m
b3JtYXRpb24sIHN1Y2ggYXMgdGhlIGxkKDEpLCBjcmxlKDEpIGFuZCBsZC5z
byg4KSBtYW51YWwiCgkgIGVjaG8gInBhZ2VzLiIKCSAgOzsKCSopCgkgIGVj
aG8gIm1vcmUgaW5mb3JtYXRpb24sIHN1Y2ggYXMgdGhlIGxkKDEpIGFuZCBs
ZC5zbyg4KSBtYW51YWwgcGFnZXMuIgoJICA7OwogICAgICBlc2FjCiAgICAg
IGVjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCiAgICBmaQogICAg
ZXhpdCAkRVhJVF9TVUNDRVNTCn0KCnRlc3QgIiRvcHRfbW9kZSIgPSBmaW5p
c2ggJiYgZnVuY19tb2RlX2ZpbmlzaCAkezErIiRAIn0KCgojIGZ1bmNfbW9k
ZV9pbnN0YWxsIGFyZy4uLgpmdW5jX21vZGVfaW5zdGFsbCAoKQp7CiAgICAk
b3B0X2RlYnVnCiAgICAjIFRoZXJlIG1heSBiZSBhbiBvcHRpb25hbCBzaCgx
KSBhcmd1bWVudCBhdCB0aGUgYmVnaW5uaW5nIG9mCiAgICAjIGluc3RhbGxf
cHJvZyAoZXNwZWNpYWxseSBvbiBXaW5kb3dzIE5UKS4KICAgIGlmIHRlc3Qg
IiRub25vcHQiID0gIiRTSEVMTCIgfHwgdGVzdCAiJG5vbm9wdCIgPSAvYmlu
L3NoIHx8CiAgICAgICAjIEFsbG93IHRoZSB1c2Ugb2YgR05VIHNodG9vbCdz
IGluc3RhbGwgY29tbWFuZC4KICAgICAgIGNhc2UgJG5vbm9wdCBpbiAqc2h0
b29sKikgOjs7ICopIGZhbHNlOzsgZXNhYzsgdGhlbgogICAgICAjIEFlc3Ro
ZXRpY2FsbHkgcXVvdGUgaXQuCiAgICAgIGZ1bmNfcXVvdGVfZm9yX2V2YWwg
IiRub25vcHQiCiAgICAgIGluc3RhbGxfcHJvZz0iJGZ1bmNfcXVvdGVfZm9y
X2V2YWxfcmVzdWx0ICIKICAgICAgYXJnPSQxCiAgICAgIHNoaWZ0CiAgICBl
bHNlCiAgICAgIGluc3RhbGxfcHJvZz0KICAgICAgYXJnPSRub25vcHQKICAg
IGZpCgogICAgIyBUaGUgcmVhbCBmaXJzdCBhcmd1bWVudCBzaG91bGQgYmUg
dGhlIG5hbWUgb2YgdGhlIGluc3RhbGxhdGlvbiBwcm9ncmFtLgogICAgIyBB
ZXN0aGV0aWNhbGx5IHF1b3RlIGl0LgogICAgZnVuY19xdW90ZV9mb3JfZXZh
bCAiJGFyZyIKICAgIGluc3RhbGxfcHJvZys9IiRmdW5jX3F1b3RlX2Zvcl9l
dmFsX3Jlc3VsdCIKICAgIGluc3RhbGxfc2hhcmVkX3Byb2c9JGluc3RhbGxf
cHJvZwogICAgY2FzZSAiICRpbnN0YWxsX3Byb2cgIiBpbgogICAgICAqW1xc
XCAvXWNwXCAqKSBpbnN0YWxsX2NwPTogOzsKICAgICAgKikgaW5zdGFsbF9j
cD1mYWxzZSA7OwogICAgZXNhYwoKICAgICMgV2UgbmVlZCB0byBhY2NlcHQg
YXQgbGVhc3QgYWxsIHRoZSBCU0QgaW5zdGFsbCBmbGFncy4KICAgIGRlc3Q9
CiAgICBmaWxlcz0KICAgIG9wdHM9CiAgICBwcmV2PQogICAgaW5zdGFsbF90
eXBlPQogICAgaXNkaXI9bm8KICAgIHN0cmlwbWU9CiAgICBub19tb2RlPToK
ICAgIGZvciBhcmcKICAgIGRvCiAgICAgIGFyZzI9CiAgICAgIGlmIHRlc3Qg
LW4gIiRkZXN0IjsgdGhlbgoJZmlsZXMrPSIgJGRlc3QiCglkZXN0PSRhcmcK
CWNvbnRpbnVlCiAgICAgIGZpCgogICAgICBjYXNlICRhcmcgaW4KICAgICAg
LWQpIGlzZGlyPXllcyA7OwogICAgICAtZikKCWlmICRpbnN0YWxsX2NwOyB0
aGVuIDo7IGVsc2UKCSAgcHJldj0kYXJnCglmaQoJOzsKICAgICAgLWcgfCAt
bSB8IC1vKQoJcHJldj0kYXJnCgk7OwogICAgICAtcykKCXN0cmlwbWU9IiAt
cyIKCWNvbnRpbnVlCgk7OwogICAgICAtKikKCTs7CiAgICAgICopCgkjIElm
IHRoZSBwcmV2aW91cyBvcHRpb24gbmVlZGVkIGFuIGFyZ3VtZW50LCB0aGVu
IHNraXAgaXQuCglpZiB0ZXN0IC1uICIkcHJldiI7IHRoZW4KCSAgaWYgdGVz
dCAieCRwcmV2IiA9IHgtbSAmJiB0ZXN0IC1uICIkaW5zdGFsbF9vdmVycmlk
ZV9tb2RlIjsgdGhlbgoJICAgIGFyZzI9JGluc3RhbGxfb3ZlcnJpZGVfbW9k
ZQoJICAgIG5vX21vZGU9ZmFsc2UKCSAgZmkKCSAgcHJldj0KCWVsc2UKCSAg
ZGVzdD0kYXJnCgkgIGNvbnRpbnVlCglmaQoJOzsKICAgICAgZXNhYwoKICAg
ICAgIyBBZXN0aGV0aWNhbGx5IHF1b3RlIHRoZSBhcmd1bWVudC4KICAgICAg
ZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIKICAgICAgaW5zdGFsbF9wcm9n
Kz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKICAgICAgaWYgdGVz
dCAtbiAiJGFyZzIiOyB0aGVuCglmdW5jX3F1b3RlX2Zvcl9ldmFsICIkYXJn
MiIKICAgICAgZmkKICAgICAgaW5zdGFsbF9zaGFyZWRfcHJvZys9IiAkZnVu
Y19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCiAgICBkb25lCgogICAgdGVzdCAt
eiAiJGluc3RhbGxfcHJvZyIgJiYgXAogICAgICBmdW5jX2ZhdGFsX2hlbHAg
InlvdSBtdXN0IHNwZWNpZnkgYW4gaW5zdGFsbCBwcm9ncmFtIgoKICAgIHRl
c3QgLW4gIiRwcmV2IiAmJiBcCiAgICAgIGZ1bmNfZmF0YWxfaGVscCAidGhl
IFxgJHByZXYnIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKCiAgICBp
ZiB0ZXN0IC1uICIkaW5zdGFsbF9vdmVycmlkZV9tb2RlIiAmJiAkbm9fbW9k
ZTsgdGhlbgogICAgICBpZiAkaW5zdGFsbF9jcDsgdGhlbiA6OyBlbHNlCglm
dW5jX3F1b3RlX2Zvcl9ldmFsICIkaW5zdGFsbF9vdmVycmlkZV9tb2RlIgoJ
aW5zdGFsbF9zaGFyZWRfcHJvZys9IiAtbSAkZnVuY19xdW90ZV9mb3JfZXZh
bF9yZXN1bHQiCiAgICAgIGZpCiAgICBmaQoKICAgIGlmIHRlc3QgLXogIiRm
aWxlcyI7IHRoZW4KICAgICAgaWYgdGVzdCAteiAiJGRlc3QiOyB0aGVuCglm
dW5jX2ZhdGFsX2hlbHAgIm5vIGZpbGUgb3IgZGVzdGluYXRpb24gc3BlY2lm
aWVkIgogICAgICBlbHNlCglmdW5jX2ZhdGFsX2hlbHAgInlvdSBtdXN0IHNw
ZWNpZnkgYSBkZXN0aW5hdGlvbiIKICAgICAgZmkKICAgIGZpCgogICAgIyBT
dHJpcCBhbnkgdHJhaWxpbmcgc2xhc2ggZnJvbSB0aGUgZGVzdGluYXRpb24u
CiAgICBmdW5jX3N0cmlwbmFtZSAnJyAnLycgIiRkZXN0IgogICAgZGVzdD0k
ZnVuY19zdHJpcG5hbWVfcmVzdWx0CgogICAgIyBDaGVjayB0byBzZWUgdGhh
dCB0aGUgZGVzdGluYXRpb24gaXMgYSBkaXJlY3RvcnkuCiAgICB0ZXN0IC1k
ICIkZGVzdCIgJiYgaXNkaXI9eWVzCiAgICBpZiB0ZXN0ICIkaXNkaXIiID0g
eWVzOyB0aGVuCiAgICAgIGRlc3RkaXI9IiRkZXN0IgogICAgICBkZXN0bmFt
ZT0KICAgIGVsc2UKICAgICAgZnVuY19kaXJuYW1lX2FuZF9iYXNlbmFtZSAi
JGRlc3QiICIiICIuIgogICAgICBkZXN0ZGlyPSIkZnVuY19kaXJuYW1lX3Jl
c3VsdCIKICAgICAgZGVzdG5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIK
CiAgICAgICMgTm90IGEgZGlyZWN0b3J5LCBzbyBjaGVjayB0byBzZWUgdGhh
dCB0aGVyZSBpcyBvbmx5IG9uZSBmaWxlIHNwZWNpZmllZC4KICAgICAgc2V0
IGR1bW15ICRmaWxlczsgc2hpZnQKICAgICAgdGVzdCAiJCMiIC1ndCAxICYm
IFwKCWZ1bmNfZmF0YWxfaGVscCAiXGAkZGVzdCcgaXMgbm90IGEgZGlyZWN0
b3J5IgogICAgZmkKICAgIGNhc2UgJGRlc3RkaXIgaW4KICAgIFtcXC9dKiB8
IFtBLVphLXpdOltcXC9dKikgOzsKICAgICopCiAgICAgIGZvciBmaWxlIGlu
ICRmaWxlczsgZG8KCWNhc2UgJGZpbGUgaW4KCSoubG8pIDs7CgkqKQoJICBm
dW5jX2ZhdGFsX2hlbHAgIlxgJGRlc3RkaXInIG11c3QgYmUgYW4gYWJzb2x1
dGUgZGlyZWN0b3J5IG5hbWUiCgkgIDs7Cgllc2FjCiAgICAgIGRvbmUKICAg
ICAgOzsKICAgIGVzYWMKCiAgICAjIFRoaXMgdmFyaWFibGUgdGVsbHMgd3Jh
cHBlciBzY3JpcHRzIGp1c3QgdG8gc2V0IHZhcmlhYmxlcyByYXRoZXIKICAg
ICMgdGhhbiBydW5uaW5nIHRoZWlyIHByb2dyYW1zLgogICAgbGlidG9vbF9p
bnN0YWxsX21hZ2ljPSIkbWFnaWMiCgogICAgc3RhdGljbGlicz0KICAgIGZ1
dHVyZV9saWJkaXJzPQogICAgY3VycmVudF9saWJkaXJzPQogICAgZm9yIGZp
bGUgaW4gJGZpbGVzOyBkbwoKICAgICAgIyBEbyBlYWNoIGluc3RhbGxhdGlv
bi4KICAgICAgY2FzZSAkZmlsZSBpbgogICAgICAqLiRsaWJleHQpCgkjIERv
IHRoZSBzdGF0aWMgbGlicmFyaWVzIGxhdGVyLgoJc3RhdGljbGlicys9IiAk
ZmlsZSIKCTs7CgogICAgICAqLmxhKQoJZnVuY19yZXNvbHZlX3N5c3Jvb3Qg
IiRmaWxlIgoJZmlsZT0kZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CgoJ
IyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJlYWxseSBpcyBhIGxpYnRvb2wg
YXJjaGl2ZS4KCWZ1bmNfbGFsaWJfdW5zYWZlX3AgIiRmaWxlIiBcCgkgIHx8
IGZ1bmNfZmF0YWxfaGVscCAiXGAkZmlsZScgaXMgbm90IGEgdmFsaWQgbGli
dG9vbCBhcmNoaXZlIgoKCWxpYnJhcnlfbmFtZXM9CglvbGRfbGlicmFyeT0K
CXJlbGlua19jb21tYW5kPQoJZnVuY19zb3VyY2UgIiRmaWxlIgoKCSMgQWRk
IHRoZSBsaWJkaXIgdG8gY3VycmVudF9saWJkaXJzIGlmIGl0IGlzIHRoZSBk
ZXN0aW5hdGlvbi4KCWlmIHRlc3QgIlgkZGVzdGRpciIgPSAiWCRsaWJkaXIi
OyB0aGVuCgkgIGNhc2UgIiRjdXJyZW50X2xpYmRpcnMgIiBpbgoJICAqIiAk
bGliZGlyICIqKSA7OwoJICAqKSBjdXJyZW50X2xpYmRpcnMrPSIgJGxpYmRp
ciIgOzsKCSAgZXNhYwoJZWxzZQoJICAjIE5vdGUgdGhlIGxpYmRpciBhcyBh
IGZ1dHVyZSBsaWJkaXIuCgkgIGNhc2UgIiRmdXR1cmVfbGliZGlycyAiIGlu
CgkgICoiICRsaWJkaXIgIiopIDs7CgkgICopIGZ1dHVyZV9saWJkaXJzKz0i
ICRsaWJkaXIiIDs7CgkgIGVzYWMKCWZpCgoJZnVuY19kaXJuYW1lICIkZmls
ZSIgIi8iICIiCglkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoJZGlyKz0i
JG9iamRpciIKCglpZiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVu
CgkgICMgRGV0ZXJtaW5lIHRoZSBwcmVmaXggdGhlIHVzZXIgaGFzIGFwcGxp
ZWQgdG8gb3VyIGZ1dHVyZSBkaXIuCgkgIGluc3RfcHJlZml4X2Rpcj1gJEVD
SE8gIiRkZXN0ZGlyIiB8ICRTRUQgLWUgInMlJGxpYmRpclwkJSUiYAoKCSAg
IyBEb24ndCBhbGxvdyB0aGUgdXNlciB0byBwbGFjZSB1cyBvdXRzaWRlIG9m
IG91ciBleHBlY3RlZAoJICAjIGxvY2F0aW9uIGIvYyB0aGlzIHByZXZlbnRz
IGZpbmRpbmcgZGVwZW5kZW50IGxpYnJhcmllcyB0aGF0CgkgICMgYXJlIGlu
c3RhbGxlZCB0byB0aGUgc2FtZSBwcmVmaXguCgkgICMgQXQgcHJlc2VudCwg
dGhpcyBjaGVjayBkb2Vzbid0IGFmZmVjdCB3aW5kb3dzIC5kbGwncyB0aGF0
CgkgICMgYXJlIGluc3RhbGxlZCBpbnRvICRsaWJkaXIvLi4vYmluIChjdXJy
ZW50bHksIHRoYXQgd29ya3MgZmluZSkKCSAgIyBidXQgaXQncyBzb21ldGhp
bmcgdG8ga2VlcCBhbiBleWUgb24uCgkgIHRlc3QgIiRpbnN0X3ByZWZpeF9k
aXIiID0gIiRkZXN0ZGlyIiAmJiBcCgkgICAgZnVuY19mYXRhbF9lcnJvciAi
ZXJyb3I6IGNhbm5vdCBpbnN0YWxsIFxgJGZpbGUnIHRvIGEgZGlyZWN0b3J5
IG5vdCBlbmRpbmcgaW4gJGxpYmRpciIKCgkgIGlmIHRlc3QgLW4gIiRpbnN0
X3ByZWZpeF9kaXIiOyB0aGVuCgkgICAgIyBTdGljayB0aGUgaW5zdF9wcmVm
aXhfZGlyIGRhdGEgaW50byB0aGUgbGluayBjb21tYW5kLgoJICAgIHJlbGlu
a19jb21tYW5kPWAkRUNITyAiJHJlbGlua19jb21tYW5kIiB8ICRTRUQgInMl
QGluc3RfcHJlZml4X2RpckAlLWluc3QtcHJlZml4LWRpciAkaW5zdF9wcmVm
aXhfZGlyJSJgCgkgIGVsc2UKCSAgICByZWxpbmtfY29tbWFuZD1gJEVDSE8g
IiRyZWxpbmtfY29tbWFuZCIgfCAkU0VEICJzJUBpbnN0X3ByZWZpeF9kaXJA
JSUiYAoJICBmaQoKCSAgZnVuY193YXJuaW5nICJyZWxpbmtpbmcgXGAkZmls
ZSciCgkgIGZ1bmNfc2hvd19ldmFsICIkcmVsaW5rX2NvbW1hbmQiIFwKCSAg
ICAnZnVuY19mYXRhbF9lcnJvciAiZXJyb3I6IHJlbGluayBcYCRmaWxlJ1wn
JyB3aXRoIHRoZSBhYm92ZSBjb21tYW5kIGJlZm9yZSBpbnN0YWxsaW5nIGl0
IicKCWZpCgoJIyBTZWUgdGhlIG5hbWVzIG9mIHRoZSBzaGFyZWQgbGlicmFy
eS4KCXNldCBkdW1teSAkbGlicmFyeV9uYW1lczsgc2hpZnQKCWlmIHRlc3Qg
LW4gIiQxIjsgdGhlbgoJICByZWFsbmFtZT0iJDEiCgkgIHNoaWZ0CgoJICBz
cmNuYW1lPSIkcmVhbG5hbWUiCgkgIHRlc3QgLW4gIiRyZWxpbmtfY29tbWFu
ZCIgJiYgc3JjbmFtZT0iJHJlYWxuYW1lIlQKCgkgICMgSW5zdGFsbCB0aGUg
c2hhcmVkIGxpYnJhcnkgYW5kIGJ1aWxkIHRoZSBzeW1saW5rcy4KCSAgZnVu
Y19zaG93X2V2YWwgIiRpbnN0YWxsX3NoYXJlZF9wcm9nICRkaXIvJHNyY25h
bWUgJGRlc3RkaXIvJHJlYWxuYW1lIiBcCgkgICAgICAnZXhpdCAkPycKCSAg
dHN0cmlwbWU9IiRzdHJpcG1lIgoJICBjYXNlICRob3N0X29zIGluCgkgIGN5
Z3dpbiogfCBtaW5ndyogfCBwdzMyKiB8IGNlZ2NjKikKCSAgICBjYXNlICRy
ZWFsbmFtZSBpbgoJICAgICouZGxsLmEpCgkgICAgICB0c3RyaXBtZT0iIgoJ
ICAgICAgOzsKCSAgICBlc2FjCgkgICAgOzsKCSAgZXNhYwoJICBpZiB0ZXN0
IC1uICIkdHN0cmlwbWUiICYmIHRlc3QgLW4gIiRzdHJpcGxpYiI7IHRoZW4K
CSAgICBmdW5jX3Nob3dfZXZhbCAiJHN0cmlwbGliICRkZXN0ZGlyLyRyZWFs
bmFtZSIgJ2V4aXQgJD8nCgkgIGZpCgoJICBpZiB0ZXN0ICIkIyIgLWd0IDA7
IHRoZW4KCSAgICAjIERlbGV0ZSB0aGUgb2xkIHN5bWxpbmtzLCBhbmQgY3Jl
YXRlIG5ldyBvbmVzLgoJICAgICMgVHJ5IGBsbiAtc2YnIGZpcnN0LCBiZWNh
dXNlIHRoZSBgbG4nIGJpbmFyeSBtaWdodCBkZXBlbmQgb24KCSAgICAjIHRo
ZSBzeW1saW5rIHdlIHJlcGxhY2UhICBTb2xhcmlzIC9iaW4vbG4gZG9lcyBu
b3QgdW5kZXJzdGFuZCAtZiwKCSAgICAjIHNvIHdlIGFsc28gbmVlZCB0byB0
cnkgcm0gJiYgbG4gLXMuCgkgICAgZm9yIGxpbmtuYW1lCgkgICAgZG8KCSAg
ICAgIHRlc3QgIiRsaW5rbmFtZSIgIT0gIiRyZWFsbmFtZSIgXAoJCSYmIGZ1
bmNfc2hvd19ldmFsICIoY2QgJGRlc3RkaXIgJiYgeyAkTE5fUyAtZiAkcmVh
bG5hbWUgJGxpbmtuYW1lIHx8IHsgJFJNICRsaW5rbmFtZSAmJiAkTE5fUyAk
cmVhbG5hbWUgJGxpbmtuYW1lOyB9OyB9KSIKCSAgICBkb25lCgkgIGZpCgoJ
ICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgcG9zdGluc3RhbGwgY29tbWFu
ZHMuCgkgIGxpYj0iJGRlc3RkaXIvJHJlYWxuYW1lIgoJICBmdW5jX2V4ZWN1
dGVfY21kcyAiJHBvc3RpbnN0YWxsX2NtZHMiICdleGl0ICQ/JwoJZmkKCgkj
IEluc3RhbGwgdGhlIHBzZXVkby1saWJyYXJ5IGZvciBpbmZvcm1hdGlvbiBw
dXJwb3Nlcy4KCWZ1bmNfYmFzZW5hbWUgIiRmaWxlIgoJbmFtZT0iJGZ1bmNf
YmFzZW5hbWVfcmVzdWx0IgoJaW5zdG5hbWU9IiRkaXIvJG5hbWUiaQoJZnVu
Y19zaG93X2V2YWwgIiRpbnN0YWxsX3Byb2cgJGluc3RuYW1lICRkZXN0ZGly
LyRuYW1lIiAnZXhpdCAkPycKCgkjIE1heWJlIGluc3RhbGwgdGhlIHN0YXRp
YyBsaWJyYXJ5LCB0b28uCgl0ZXN0IC1uICIkb2xkX2xpYnJhcnkiICYmIHN0
YXRpY2xpYnMrPSIgJGRpci8kb2xkX2xpYnJhcnkiCgk7OwoKICAgICAgKi5s
bykKCSMgSW5zdGFsbCAoaS5lLiBjb3B5KSBhIGxpYnRvb2wgb2JqZWN0LgoK
CSMgRmlndXJlIG91dCBkZXN0aW5hdGlvbiBmaWxlIG5hbWUsIGlmIGl0IHdh
c24ndCBhbHJlYWR5IHNwZWNpZmllZC4KCWlmIHRlc3QgLW4gIiRkZXN0bmFt
ZSI7IHRoZW4KCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0bmFtZSIKCWVs
c2UKCSAgZnVuY19iYXNlbmFtZSAiJGZpbGUiCgkgIGRlc3RmaWxlPSIkZnVu
Y19iYXNlbmFtZV9yZXN1bHQiCgkgIGRlc3RmaWxlPSIkZGVzdGRpci8kZGVz
dGZpbGUiCglmaQoKCSMgRGVkdWNlIHRoZSBuYW1lIG9mIHRoZSBkZXN0aW5h
dGlvbiBvbGQtc3R5bGUgb2JqZWN0IGZpbGUuCgljYXNlICRkZXN0ZmlsZSBp
bgoJKi5sbykKCSAgZnVuY19sbzJvICIkZGVzdGZpbGUiCgkgIHN0YXRpY2Rl
c3Q9JGZ1bmNfbG8yb19yZXN1bHQKCSAgOzsKCSouJG9iamV4dCkKCSAgc3Rh
dGljZGVzdD0iJGRlc3RmaWxlIgoJICBkZXN0ZmlsZT0KCSAgOzsKCSopCgkg
IGZ1bmNfZmF0YWxfaGVscCAiY2Fubm90IGNvcHkgYSBsaWJ0b29sIG9iamVj
dCB0byBcYCRkZXN0ZmlsZSciCgkgIDs7Cgllc2FjCgoJIyBJbnN0YWxsIHRo
ZSBsaWJ0b29sIG9iamVjdCBpZiByZXF1ZXN0ZWQuCgl0ZXN0IC1uICIkZGVz
dGZpbGUiICYmIFwKCSAgZnVuY19zaG93X2V2YWwgIiRpbnN0YWxsX3Byb2cg
JGZpbGUgJGRlc3RmaWxlIiAnZXhpdCAkPycKCgkjIEluc3RhbGwgdGhlIG9s
ZCBvYmplY3QgaWYgZW5hYmxlZC4KCWlmIHRlc3QgIiRidWlsZF9vbGRfbGli
cyIgPSB5ZXM7IHRoZW4KCSAgIyBEZWR1Y2UgdGhlIG5hbWUgb2YgdGhlIG9s
ZC1zdHlsZSBvYmplY3QgZmlsZS4KCSAgZnVuY19sbzJvICIkZmlsZSIKCSAg
c3RhdGljb2JqPSRmdW5jX2xvMm9fcmVzdWx0CgkgIGZ1bmNfc2hvd19ldmFs
ICIkaW5zdGFsbF9wcm9nIFwkc3RhdGljb2JqIFwkc3RhdGljZGVzdCIgJ2V4
aXQgJD8nCglmaQoJZXhpdCAkRVhJVF9TVUNDRVNTCgk7OwoKICAgICAgKikK
CSMgRmlndXJlIG91dCBkZXN0aW5hdGlvbiBmaWxlIG5hbWUsIGlmIGl0IHdh
c24ndCBhbHJlYWR5IHNwZWNpZmllZC4KCWlmIHRlc3QgLW4gIiRkZXN0bmFt
ZSI7IHRoZW4KCSAgZGVzdGZpbGU9IiRkZXN0ZGlyLyRkZXN0bmFtZSIKCWVs
c2UKCSAgZnVuY19iYXNlbmFtZSAiJGZpbGUiCgkgIGRlc3RmaWxlPSIkZnVu
Y19iYXNlbmFtZV9yZXN1bHQiCgkgIGRlc3RmaWxlPSIkZGVzdGRpci8kZGVz
dGZpbGUiCglmaQoKCSMgSWYgdGhlIGZpbGUgaXMgbWlzc2luZywgYW5kIHRo
ZXJlIGlzIGEgLmV4ZSBvbiB0aGUgZW5kLCBzdHJpcCBpdAoJIyBiZWNhdXNl
IGl0IGlzIG1vc3QgbGlrZWx5IGEgbGlidG9vbCBzY3JpcHQgd2UgYWN0dWFs
bHkgd2FudCB0bwoJIyBpbnN0YWxsCglzdHJpcHBlZF9leHQ9IiIKCWNhc2Ug
JGZpbGUgaW4KCSAgKi5leGUpCgkgICAgaWYgdGVzdCAhIC1mICIkZmlsZSI7
IHRoZW4KCSAgICAgIGZ1bmNfc3RyaXBuYW1lICcnICcuZXhlJyAiJGZpbGUi
CgkgICAgICBmaWxlPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQKCSAgICAgIHN0
cmlwcGVkX2V4dD0iLmV4ZSIKCSAgICBmaQoJICAgIDs7Cgllc2FjCgoJIyBE
byBhIHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMgcmVhbGx5IGEgbGlidG9vbCBw
cm9ncmFtLgoJY2FzZSAkaG9zdCBpbgoJKmN5Z3dpbiogfCAqbWluZ3cqKQoJ
ICAgIGlmIGZ1bmNfbHR3cmFwcGVyX2V4ZWN1dGFibGVfcCAiJGZpbGUiOyB0
aGVuCgkgICAgICBmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICIkZmlsZSIK
CSAgICAgIHdyYXBwZXI9JGZ1bmNfbHR3cmFwcGVyX3NjcmlwdG5hbWVfcmVz
dWx0CgkgICAgZWxzZQoJICAgICAgZnVuY19zdHJpcG5hbWUgJycgJy5leGUn
ICIkZmlsZSIKCSAgICAgIHdyYXBwZXI9JGZ1bmNfc3RyaXBuYW1lX3Jlc3Vs
dAoJICAgIGZpCgkgICAgOzsKCSopCgkgICAgd3JhcHBlcj0kZmlsZQoJICAg
IDs7Cgllc2FjCglpZiBmdW5jX2x0d3JhcHBlcl9zY3JpcHRfcCAiJHdyYXBw
ZXIiOyB0aGVuCgkgIG5vdGluc3RfZGVwbGlicz0KCSAgcmVsaW5rX2NvbW1h
bmQ9CgoJICBmdW5jX3NvdXJjZSAiJHdyYXBwZXIiCgoJICAjIENoZWNrIHRo
ZSB2YXJpYWJsZXMgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIHNldC4KCSAgdGVz
dCAteiAiJGdlbmVyYXRlZF9ieV9saWJ0b29sX3ZlcnNpb24iICYmIFwKCSAg
ICBmdW5jX2ZhdGFsX2Vycm9yICJpbnZhbGlkIGxpYnRvb2wgd3JhcHBlciBz
Y3JpcHQgXGAkd3JhcHBlciciCgoJICBmaW5hbGl6ZT15ZXMKCSAgZm9yIGxp
YiBpbiAkbm90aW5zdF9kZXBsaWJzOyBkbwoJICAgICMgQ2hlY2sgdG8gc2Vl
IHRoYXQgZWFjaCBsaWJyYXJ5IGlzIGluc3RhbGxlZC4KCSAgICBsaWJkaXI9
CgkgICAgaWYgdGVzdCAtZiAiJGxpYiI7IHRoZW4KCSAgICAgIGZ1bmNfc291
cmNlICIkbGliIgoJICAgIGZpCgkgICAgbGliZmlsZT0iJGxpYmRpci8iYCRF
Q0hPICIkbGliIiB8ICRTRUQgJ3MlXi4qLyUlZydgICMjIyB0ZXN0c3VpdGU6
IHNraXAgbmVzdGVkIHF1b3RpbmcgdGVzdAoJICAgIGlmIHRlc3QgLW4gIiRs
aWJkaXIiICYmIHRlc3QgISAtZiAiJGxpYmZpbGUiOyB0aGVuCgkgICAgICBm
dW5jX3dhcm5pbmcgIlxgJGxpYicgaGFzIG5vdCBiZWVuIGluc3RhbGxlZCBp
biBcYCRsaWJkaXInIgoJICAgICAgZmluYWxpemU9bm8KCSAgICBmaQoJICBk
b25lCgoJICByZWxpbmtfY29tbWFuZD0KCSAgZnVuY19zb3VyY2UgIiR3cmFw
cGVyIgoKCSAgb3V0cHV0bmFtZT0KCSAgaWYgdGVzdCAiJGZhc3RfaW5zdGFs
bCIgPSBubyAmJiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCgkg
ICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAgICAgIGlmIHRlc3QgIiRmaW5hbGl6
ZSIgPSB5ZXM7IHRoZW4KCSAgICAgICAgdG1wZGlyPWBmdW5jX21rdGVtcGRp
cmAKCQlmdW5jX2Jhc2VuYW1lICIkZmlsZSRzdHJpcHBlZF9leHQiCgkJZmls
ZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoJICAgICAgICBvdXRwdXRuYW1l
PSIkdG1wZGlyLyRmaWxlIgoJICAgICAgICAjIFJlcGxhY2UgdGhlIG91dHB1
dCBmaWxlIHNwZWNpZmljYXRpb24uCgkgICAgICAgIHJlbGlua19jb21tYW5k
PWAkRUNITyAiJHJlbGlua19jb21tYW5kIiB8ICRTRUQgJ3MlQE9VVFBVVEAl
JyIkb3V0cHV0bmFtZSInJWcnYAoKCSAgICAgICAgJG9wdF9zaWxlbnQgfHwg
ewoJICAgICAgICAgIGZ1bmNfcXVvdGVfZm9yX2V4cGFuZCAiJHJlbGlua19j
b21tYW5kIgoJCSAgZXZhbCAiZnVuY19lY2hvICRmdW5jX3F1b3RlX2Zvcl9l
eHBhbmRfcmVzdWx0IgoJICAgICAgICB9CgkgICAgICAgIGlmIGV2YWwgIiRy
ZWxpbmtfY29tbWFuZCI7IHRoZW4gOgoJICAgICAgICAgIGVsc2UKCQkgIGZ1
bmNfZXJyb3IgImVycm9yOiByZWxpbmsgXGAkZmlsZScgd2l0aCB0aGUgYWJv
dmUgY29tbWFuZCBiZWZvcmUgaW5zdGFsbGluZyBpdCIKCQkgICRvcHRfZHJ5
X3J1biB8fCAke1JNfXIgIiR0bXBkaXIiCgkJICBjb250aW51ZQoJICAgICAg
ICBmaQoJICAgICAgICBmaWxlPSIkb3V0cHV0bmFtZSIKCSAgICAgIGVsc2UK
CSAgICAgICAgZnVuY193YXJuaW5nICJjYW5ub3QgcmVsaW5rIFxgJGZpbGUn
IgoJICAgICAgZmkKCSAgICB9CgkgIGVsc2UKCSAgICAjIEluc3RhbGwgdGhl
IGJpbmFyeSB0aGF0IHdlIGNvbXBpbGVkIGVhcmxpZXIuCgkgICAgZmlsZT1g
JEVDSE8gIiRmaWxlJHN0cmlwcGVkX2V4dCIgfCAkU0VEICJzJVwoW14vXSpc
KSQlJG9iamRpci9cMSUiYAoJICBmaQoJZmkKCgkjIHJlbW92ZSAuZXhlIHNp
bmNlIGN5Z3dpbiAvdXNyL2Jpbi9pbnN0YWxsIHdpbGwgYXBwZW5kIGFub3Ro
ZXIKCSMgb25lIGFueXdheQoJY2FzZSAkaW5zdGFsbF9wcm9nLCRob3N0IGlu
CgkqL3Vzci9iaW4vaW5zdGFsbCosKmN5Z3dpbiopCgkgIGNhc2UgJGZpbGU6
JGRlc3RmaWxlIGluCgkgICouZXhlOiouZXhlKQoJICAgICMgdGhpcyBpcyBv
awoJICAgIDs7CgkgICouZXhlOiopCgkgICAgZGVzdGZpbGU9JGRlc3RmaWxl
LmV4ZQoJICAgIDs7CgkgICo6Ki5leGUpCgkgICAgZnVuY19zdHJpcG5hbWUg
JycgJy5leGUnICIkZGVzdGZpbGUiCgkgICAgZGVzdGZpbGU9JGZ1bmNfc3Ry
aXBuYW1lX3Jlc3VsdAoJICAgIDs7CgkgIGVzYWMKCSAgOzsKCWVzYWMKCWZ1
bmNfc2hvd19ldmFsICIkaW5zdGFsbF9wcm9nXCRzdHJpcG1lIFwkZmlsZSBc
JGRlc3RmaWxlIiAnZXhpdCAkPycKCSRvcHRfZHJ5X3J1biB8fCBpZiB0ZXN0
IC1uICIkb3V0cHV0bmFtZSI7IHRoZW4KCSAgJHtSTX1yICIkdG1wZGlyIgoJ
ZmkKCTs7CiAgICAgIGVzYWMKICAgIGRvbmUKCiAgICBmb3IgZmlsZSBpbiAk
c3RhdGljbGliczsgZG8KICAgICAgZnVuY19iYXNlbmFtZSAiJGZpbGUiCiAg
ICAgIG5hbWU9IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKCiAgICAgICMgU2V0
IHVwIHRoZSByYW5saWIgcGFyYW1ldGVycy4KICAgICAgb2xkbGliPSIkZGVz
dGRpci8kbmFtZSIKICAgICAgZnVuY190b190b29sX2ZpbGUgIiRvbGRsaWIi
IGZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCiAgICAgIHRvb2xfb2xk
bGliPSRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQKCiAgICAgIGZ1bmNfc2hv
d19ldmFsICIkaW5zdGFsbF9wcm9nIFwkZmlsZSBcJG9sZGxpYiIgJ2V4aXQg
JD8nCgogICAgICBpZiB0ZXN0IC1uICIkc3RyaXBtZSIgJiYgdGVzdCAtbiAi
JG9sZF9zdHJpcGxpYiI7IHRoZW4KCWZ1bmNfc2hvd19ldmFsICIkb2xkX3N0
cmlwbGliICR0b29sX29sZGxpYiIgJ2V4aXQgJD8nCiAgICAgIGZpCgogICAg
ICAjIERvIGVhY2ggY29tbWFuZCBpbiB0aGUgcG9zdGluc3RhbGwgY29tbWFu
ZHMuCiAgICAgIGZ1bmNfZXhlY3V0ZV9jbWRzICIkb2xkX3Bvc3RpbnN0YWxs
X2NtZHMiICdleGl0ICQ/JwogICAgZG9uZQoKICAgIHRlc3QgLW4gIiRmdXR1
cmVfbGliZGlycyIgJiYgXAogICAgICBmdW5jX3dhcm5pbmcgInJlbWVtYmVy
IHRvIHJ1biBcYCRwcm9nbmFtZSAtLWZpbmlzaCRmdXR1cmVfbGliZGlycyci
CgogICAgaWYgdGVzdCAtbiAiJGN1cnJlbnRfbGliZGlycyI7IHRoZW4KICAg
ICAgIyBNYXliZSBqdXN0IGRvIGEgZHJ5IHJ1bi4KICAgICAgJG9wdF9kcnlf
cnVuICYmIGN1cnJlbnRfbGliZGlycz0iIC1uJGN1cnJlbnRfbGliZGlycyIK
ICAgICAgZXhlY19jbWQ9JyRTSEVMTCAkcHJvZ3BhdGggJHByZXNlcnZlX2Fy
Z3MgLS1maW5pc2gkY3VycmVudF9saWJkaXJzJwogICAgZWxzZQogICAgICBl
eGl0ICRFWElUX1NVQ0NFU1MKICAgIGZpCn0KCnRlc3QgIiRvcHRfbW9kZSIg
PSBpbnN0YWxsICYmIGZ1bmNfbW9kZV9pbnN0YWxsICR7MSsiJEAifQoKCiMg
ZnVuY19nZW5lcmF0ZV9kbHN5bXMgb3V0cHV0bmFtZSBvcmlnaW5hdG9yIHBp
Y19wCiMgRXh0cmFjdCBzeW1ib2xzIGZyb20gZGxwcmVmaWxlcyBhbmQgY3Jl
YXRlICR7b3V0cHV0bmFtZX1TLm8gd2l0aAojIGEgZGxwcmVvcGVuIHN5bWJv
bCB0YWJsZS4KZnVuY19nZW5lcmF0ZV9kbHN5bXMgKCkKewogICAgJG9wdF9k
ZWJ1ZwogICAgbXlfb3V0cHV0bmFtZT0iJDEiCiAgICBteV9vcmlnaW5hdG9y
PSIkMiIKICAgIG15X3BpY19wPSIkezMtbm99IgogICAgbXlfcHJlZml4PWAk
RUNITyAiJG15X29yaWdpbmF0b3IiIHwgc2VkICdzJVteYS16QS1aMC05XSVf
JWcnYAogICAgbXlfZGxzeW1zPQoKICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVz
JGRscHJlZmlsZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCiAg
ICAgIGlmIHRlc3QgLW4gIiROTSIgJiYgdGVzdCAtbiAiJGdsb2JhbF9zeW1i
b2xfcGlwZSI7IHRoZW4KCW15X2Rsc3ltcz0iJHtteV9vdXRwdXRuYW1lfVMu
YyIKICAgICAgZWxzZQoJZnVuY19lcnJvciAibm90IGNvbmZpZ3VyZWQgdG8g
ZXh0cmFjdCBnbG9iYWwgc3ltYm9scyBmcm9tIGRscHJlb3BlbmVkIGZpbGVz
IgogICAgICBmaQogICAgZmkKCiAgICBpZiB0ZXN0IC1uICIkbXlfZGxzeW1z
IjsgdGhlbgogICAgICBjYXNlICRteV9kbHN5bXMgaW4KICAgICAgIiIpIDs7
CiAgICAgICouYykKCSMgRGlzY292ZXIgdGhlIG5saXN0IG9mIGVhY2ggb2Yg
dGhlIGRsZmlsZXMuCglubGlzdD0iJG91dHB1dF9vYmpkaXIvJHtteV9vdXRw
dXRuYW1lfS5ubSIKCglmdW5jX3Nob3dfZXZhbCAiJFJNICRubGlzdCAke25s
aXN0fVMgJHtubGlzdH1UIgoKCSMgUGFyc2UgdGhlIG5hbWUgbGlzdCBpbnRv
IGEgc291cmNlIGZpbGUuCglmdW5jX3ZlcmJvc2UgImNyZWF0aW5nICRvdXRw
dXRfb2JqZGlyLyRteV9kbHN5bXMiCgoJJG9wdF9kcnlfcnVuIHx8ICRFQ0hP
ID4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiICJcCi8qICRteV9kbHN5
bXMgLSBzeW1ib2wgcmVzb2x1dGlvbiB0YWJsZSBmb3IgXGAkbXlfb3V0cHV0
bmFtZScgZGxzeW0gZW11bGF0aW9uLiAqLwovKiBHZW5lcmF0ZWQgYnkgJFBS
T0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RBTVApICRWRVJTSU9OICovCgoj
aWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuIFwiQ1wiIHsKI2VuZGlmCgojaWYg
ZGVmaW5lZChfX0dOVUNfXykgJiYgKCgoX19HTlVDX18gPT0gNCkgJiYgKF9f
R05VQ19NSU5PUl9fID49IDQpKSB8fCAoX19HTlVDX18gPiA0KSkKI3ByYWdt
YSBHQ0MgZGlhZ25vc3RpYyBpZ25vcmVkIFwiLVdzdHJpY3QtcHJvdG90eXBl
c1wiCiNlbmRpZgoKLyogS2VlcCB0aGlzIGNvZGUgaW4gc3luYyBiZXR3ZWVu
IGxpYnRvb2wubTQsIGx0bWFpbiwgbHRfc3lzdGVtLmgsIGFuZCB0ZXN0cy4g
ICovCiNpZiBkZWZpbmVkKF9XSU4zMikgfHwgZGVmaW5lZChfX0NZR1dJTl9f
KSB8fCBkZWZpbmVkKF9XSU4zMl9XQ0UpCi8qIERBVEEgaW1wb3J0cyBmcm9t
IERMTHMgb24gV0lOMzIgY29uJ3QgYmUgY29uc3QsIGJlY2F1c2UgcnVudGlt
ZQogICByZWxvY2F0aW9ucyBhcmUgcGVyZm9ybWVkIC0tIHNlZSBsZCdzIGRv
Y3VtZW50YXRpb24gb24gcHNldWRvLXJlbG9jcy4gICovCiMgZGVmaW5lIExU
X0RMU1lNX0NPTlNUCiNlbGlmIGRlZmluZWQoX19vc2ZfXykKLyogVGhpcyBz
eXN0ZW0gZG9lcyBub3QgY29wZSB3ZWxsIHdpdGggcmVsb2NhdGlvbnMgaW4g
Y29uc3QgZGF0YS4gICovCiMgZGVmaW5lIExUX0RMU1lNX0NPTlNUCiNlbHNl
CiMgZGVmaW5lIExUX0RMU1lNX0NPTlNUIGNvbnN0CiNlbmRpZgoKLyogRXh0
ZXJuYWwgc3ltYm9sIGRlY2xhcmF0aW9ucyBmb3IgdGhlIGNvbXBpbGVyLiAq
L1wKIgoKCWlmIHRlc3QgIiRkbHNlbGYiID0geWVzOyB0aGVuCgkgIGZ1bmNf
dmVyYm9zZSAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBmb3IgXGAkb3V0cHV0
JyIKCgkgICRvcHRfZHJ5X3J1biB8fCBlY2hvICc6IEBQUk9HUkFNQCAnID4g
IiRubGlzdCIKCgkgICMgQWRkIG91ciBvd24gcHJvZ3JhbSBvYmplY3RzIHRv
IHRoZSBzeW1ib2wgbGlzdC4KCSAgcHJvZ2ZpbGVzPWAkRUNITyAiJG9ianMk
b2xkX2RlcGxpYnMiIHwgJFNQMk5MIHwgJFNFRCAiJGxvMm8iIHwgJE5MMlNQ
YAoJICBmb3IgcHJvZ2ZpbGUgaW4gJHByb2dmaWxlczsgZG8KCSAgICBmdW5j
X3RvX3Rvb2xfZmlsZSAiJHByb2dmaWxlIiBmdW5jX2NvbnZlcnRfZmlsZV9t
c3lzX3RvX3czMgoJICAgIGZ1bmNfdmVyYm9zZSAiZXh0cmFjdGluZyBnbG9i
YWwgQyBzeW1ib2xzIGZyb20gXGAkZnVuY190b190b29sX2ZpbGVfcmVzdWx0
JyIKCSAgICAkb3B0X2RyeV9ydW4gfHwgZXZhbCAiJE5NICRmdW5jX3RvX3Rv
b2xfZmlsZV9yZXN1bHQgfCAkZ2xvYmFsX3N5bWJvbF9waXBlID4+ICckbmxp
c3QnIgoJICBkb25lCgoJICBpZiB0ZXN0IC1uICIkZXhjbHVkZV9leHBzeW1z
IjsgdGhlbgoJICAgICRvcHRfZHJ5X3J1biB8fCB7CgkgICAgICBldmFsICck
RUdSRVAgLXYgIiAoJGV4Y2x1ZGVfZXhwc3ltcykkIiAiJG5saXN0IiA+ICIk
bmxpc3QiVCcKCSAgICAgIGV2YWwgJyRNViAiJG5saXN0IlQgIiRubGlzdCIn
CgkgICAgfQoJICBmaQoKCSAgaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xz
X3JlZ2V4IjsgdGhlbgoJICAgICRvcHRfZHJ5X3J1biB8fCB7CgkgICAgICBl
dmFsICckRUdSRVAgLWUgIiRleHBvcnRfc3ltYm9sc19yZWdleCIgIiRubGlz
dCIgPiAiJG5saXN0IlQnCgkgICAgICBldmFsICckTVYgIiRubGlzdCJUICIk
bmxpc3QiJwoJICAgIH0KCSAgZmkKCgkgICMgUHJlcGFyZSB0aGUgbGlzdCBv
ZiBleHBvcnRlZCBzeW1ib2xzCgkgIGlmIHRlc3QgLXogIiRleHBvcnRfc3lt
Ym9scyI7IHRoZW4KCSAgICBleHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpk
aXIvJG91dHB1dG5hbWUuZXhwIgoJICAgICRvcHRfZHJ5X3J1biB8fCB7Cgkg
ICAgICAkUk0gJGV4cG9ydF9zeW1ib2xzCgkgICAgICBldmFsICIke1NFRH0g
LW4gLWUgJy9eOiBAUFJPR1JBTUAgJC9kJyAtZSAncy9eLiogXCguKlwpJC9c
MS9wJyAiJzwgIiRubGlzdCIgPiAiJGV4cG9ydF9zeW1ib2xzIicKCSAgICAg
IGNhc2UgJGhvc3QgaW4KCSAgICAgICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpj
ZWdjYyogKQogICAgICAgICAgICAgICAgZXZhbCAiZWNobyBFWFBPUlRTICIn
PiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicKICAgICAgICAg
ICAgICAgIGV2YWwgJ2NhdCAiJGV4cG9ydF9zeW1ib2xzIiA+PiAiJG91dHB1
dF9vYmpkaXIvJG91dHB1dG5hbWUuZGVmIicKCSAgICAgICAgOzsKCSAgICAg
IGVzYWMKCSAgICB9CgkgIGVsc2UKCSAgICAkb3B0X2RyeV9ydW4gfHwgewoJ
ICAgICAgZXZhbCAiJHtTRUR9IC1lICdzL1woW10uWypeJF1cKS9cXFxcXDEv
ZycgLWUgJ3MvXi8gLycgLWUgJ3MvJC8kLyciJyA8ICIkZXhwb3J0X3N5bWJv
bHMiID4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmV4cCInCgkgICAg
ICBldmFsICckR1JFUCAtZiAiJG91dHB1dF9vYmpkaXIvJG91dHB1dG5hbWUu
ZXhwIiA8ICIkbmxpc3QiID4gIiRubGlzdCJUJwoJICAgICAgZXZhbCAnJE1W
ICIkbmxpc3QiVCAiJG5saXN0IicKCSAgICAgIGNhc2UgJGhvc3QgaW4KCSAg
ICAgICAgKmN5Z3dpbiogfCAqbWluZ3cqIHwgKmNlZ2NjKiApCgkgICAgICAg
ICAgZXZhbCAiZWNobyBFWFBPUlRTICInPiAiJG91dHB1dF9vYmpkaXIvJG91
dHB1dG5hbWUuZGVmIicKCSAgICAgICAgICBldmFsICdjYXQgIiRubGlzdCIg
Pj4gIiRvdXRwdXRfb2JqZGlyLyRvdXRwdXRuYW1lLmRlZiInCgkgICAgICAg
ICAgOzsKCSAgICAgIGVzYWMKCSAgICB9CgkgIGZpCglmaQoKCWZvciBkbHBy
ZWZpbGUgaW4gJGRscHJlZmlsZXM7IGRvCgkgIGZ1bmNfdmVyYm9zZSAiZXh0
cmFjdGluZyBnbG9iYWwgQyBzeW1ib2xzIGZyb20gXGAkZGxwcmVmaWxlJyIK
CSAgZnVuY19iYXNlbmFtZSAiJGRscHJlZmlsZSIKCSAgbmFtZT0iJGZ1bmNf
YmFzZW5hbWVfcmVzdWx0IgogICAgICAgICAgY2FzZSAkaG9zdCBpbgoJICAg
ICpjeWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQoJICAgICAgIyBpZiBh
biBpbXBvcnQgbGlicmFyeSwgd2UgbmVlZCB0byBvYnRhaW4gZGxuYW1lCgkg
ICAgICBpZiBmdW5jX3dpbjMyX2ltcG9ydF9saWJfcCAiJGRscHJlZmlsZSI7
IHRoZW4KCSAgICAgICAgZnVuY190cl9zaCAiJGRscHJlZmlsZSIKCSAgICAg
ICAgZXZhbCAiY3Vycl9sYWZpbGU9XCRsaWJmaWxlXyRmdW5jX3RyX3NoX3Jl
c3VsdCIKCSAgICAgICAgZGxwcmVmaWxlX2RsYmFzZW5hbWU9IiIKCSAgICAg
ICAgaWYgdGVzdCAtbiAiJGN1cnJfbGFmaWxlIiAmJiBmdW5jX2xhbGliX3Ag
IiRjdXJyX2xhZmlsZSI7IHRoZW4KCSAgICAgICAgICAjIFVzZSBzdWJzaGVs
bCwgdG8gYXZvaWQgY2xvYmJlcmluZyBjdXJyZW50IHZhcmlhYmxlIHZhbHVl
cwoJICAgICAgICAgIGRscHJlZmlsZV9kbG5hbWU9YHNvdXJjZSAiJGN1cnJf
bGFmaWxlIiAmJiBlY2hvICIkZGxuYW1lImAKCSAgICAgICAgICBpZiB0ZXN0
IC1uICIkZGxwcmVmaWxlX2RsbmFtZSIgOyB0aGVuCgkgICAgICAgICAgICBm
dW5jX2Jhc2VuYW1lICIkZGxwcmVmaWxlX2RsbmFtZSIKCSAgICAgICAgICAg
IGRscHJlZmlsZV9kbGJhc2VuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQi
CgkgICAgICAgICAgZWxzZQoJICAgICAgICAgICAgIyBubyBsYWZpbGUuIHVz
ZXIgZXhwbGljaXRseSByZXF1ZXN0ZWQgLWRscHJlb3BlbiA8aW1wb3J0IGxp
YnJhcnk+LgoJICAgICAgICAgICAgJHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJf
Y21kICIkZGxwcmVmaWxlIgoJICAgICAgICAgICAgZGxwcmVmaWxlX2RsYmFz
ZW5hbWU9JHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0CgkgICAgICAg
ICAgZmkKCSAgICAgICAgZmkKCSAgICAgICAgJG9wdF9kcnlfcnVuIHx8IHsK
CSAgICAgICAgICBpZiB0ZXN0IC1uICIkZGxwcmVmaWxlX2RsYmFzZW5hbWUi
IDsgdGhlbgoJICAgICAgICAgICAgZXZhbCAnJEVDSE8gIjogJGRscHJlZmls
ZV9kbGJhc2VuYW1lIiA+PiAiJG5saXN0IicKCSAgICAgICAgICBlbHNlCgkg
ICAgICAgICAgICBmdW5jX3dhcm5pbmcgIkNvdWxkIG5vdCBjb21wdXRlIERM
TCBuYW1lIGZyb20gJG5hbWUiCgkgICAgICAgICAgICBldmFsICckRUNITyAi
OiAkbmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICAgICAgIGZpCgkgICAgICAg
ICAgZnVuY190b190b29sX2ZpbGUgIiRkbHByZWZpbGUiIGZ1bmNfY29udmVy
dF9maWxlX21zeXNfdG9fdzMyCgkgICAgICAgICAgZXZhbCAiJE5NIFwiJGZ1
bmNfdG9fdG9vbF9maWxlX3Jlc3VsdFwiIDI+L2Rldi9udWxsIHwgJGdsb2Jh
bF9zeW1ib2xfcGlwZSB8CgkgICAgICAgICAgICAkU0VEIC1lICcvSSBfX2lt
cC9kJyAtZSAncy9JIF9fbm1fL0QgLztzL19ubV9fLy8nID4+ICckbmxpc3Qn
IgoJICAgICAgICB9CgkgICAgICBlbHNlICMgbm90IGFuIGltcG9ydCBsaWIK
CSAgICAgICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAgICAgICAgICBldmFsICck
RUNITyAiOiAkbmFtZSAiID4+ICIkbmxpc3QiJwoJICAgICAgICAgIGZ1bmNf
dG9fdG9vbF9maWxlICIkZGxwcmVmaWxlIiBmdW5jX2NvbnZlcnRfZmlsZV9t
c3lzX3RvX3czMgoJICAgICAgICAgIGV2YWwgIiROTSBcIiRmdW5jX3RvX3Rv
b2xfZmlsZV9yZXN1bHRcIiAyPi9kZXYvbnVsbCB8ICRnbG9iYWxfc3ltYm9s
X3BpcGUgPj4gJyRubGlzdCciCgkgICAgICAgIH0KCSAgICAgIGZpCgkgICAg
OzsKCSAgICAqKQoJICAgICAgJG9wdF9kcnlfcnVuIHx8IHsKCSAgICAgICAg
ZXZhbCAnJEVDSE8gIjogJG5hbWUgIiA+PiAiJG5saXN0IicKCSAgICAgICAg
ZnVuY190b190b29sX2ZpbGUgIiRkbHByZWZpbGUiIGZ1bmNfY29udmVydF9m
aWxlX21zeXNfdG9fdzMyCgkgICAgICAgIGV2YWwgIiROTSBcIiRmdW5jX3Rv
X3Rvb2xfZmlsZV9yZXN1bHRcIiAyPi9kZXYvbnVsbCB8ICRnbG9iYWxfc3lt
Ym9sX3BpcGUgPj4gJyRubGlzdCciCgkgICAgICB9CgkgICAgOzsKICAgICAg
ICAgIGVzYWMKCWRvbmUKCgkkb3B0X2RyeV9ydW4gfHwgewoJICAjIE1ha2Ug
c3VyZSB3ZSBoYXZlIGF0IGxlYXN0IGFuIGVtcHR5IGZpbGUuCgkgIHRlc3Qg
LWYgIiRubGlzdCIgfHwgOiA+ICIkbmxpc3QiCgoJICBpZiB0ZXN0IC1uICIk
ZXhjbHVkZV9leHBzeW1zIjsgdGhlbgoJICAgICRFR1JFUCAtdiAiICgkZXhj
bHVkZV9leHBzeW1zKSQiICIkbmxpc3QiID4gIiRubGlzdCJUCgkgICAgJE1W
ICIkbmxpc3QiVCAiJG5saXN0IgoJICBmaQoKCSAgIyBUcnkgc29ydGluZyBh
bmQgdW5pcXVpZnlpbmcgdGhlIG91dHB1dC4KCSAgaWYgJEdSRVAgLXYgIl46
ICIgPCAiJG5saXN0IiB8CgkgICAgICBpZiBzb3J0IC1rIDMgPC9kZXYvbnVs
bCA+L2Rldi9udWxsIDI+JjE7IHRoZW4KCQlzb3J0IC1rIDMKCSAgICAgIGVs
c2UKCQlzb3J0ICsyCgkgICAgICBmaSB8CgkgICAgICB1bmlxID4gIiRubGlz
dCJTOyB0aGVuCgkgICAgOgoJICBlbHNlCgkgICAgJEdSRVAgLXYgIl46ICIg
PCAiJG5saXN0IiA+ICIkbmxpc3QiUwoJICBmaQoKCSAgaWYgdGVzdCAtZiAi
JG5saXN0IlM7IHRoZW4KCSAgICBldmFsICIkZ2xvYmFsX3N5bWJvbF90b19j
ZGVjbCInIDwgIiRubGlzdCJTID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxz
eW1zIicKCSAgZWxzZQoJICAgIGVjaG8gJy8qIE5PTkUgKi8nID4+ICIkb3V0
cHV0X29iamRpci8kbXlfZGxzeW1zIgoJICBmaQoKCSAgZWNobyA+PiAiJG91
dHB1dF9vYmpkaXIvJG15X2Rsc3ltcyIgIlwKCi8qIFRoZSBtYXBwaW5nIGJl
dHdlZW4gc3ltYm9sIG5hbWVzIGFuZCBzeW1ib2xzLiAgKi8KdHlwZWRlZiBz
dHJ1Y3QgewogIGNvbnN0IGNoYXIgKm5hbWU7CiAgdm9pZCAqYWRkcmVzczsK
fSBsdF9kbHN5bWxpc3Q7CmV4dGVybiBMVF9ETFNZTV9DT05TVCBsdF9kbHN5
bWxpc3QKbHRfJHtteV9wcmVmaXh9X0xUWF9wcmVsb2FkZWRfc3ltYm9sc1td
OwpMVF9ETFNZTV9DT05TVCBsdF9kbHN5bWxpc3QKbHRfJHtteV9wcmVmaXh9
X0xUWF9wcmVsb2FkZWRfc3ltYm9sc1tdID0Ke1wKICB7IFwiJG15X29yaWdp
bmF0b3JcIiwgKHZvaWQgKikgMCB9LCIKCgkgIGNhc2UgJG5lZWRfbGliX3By
ZWZpeCBpbgoJICBubykKCSAgICBldmFsICIkZ2xvYmFsX3N5bWJvbF90b19j
X25hbWVfYWRkcmVzcyIgPCAiJG5saXN0IiA+PiAiJG91dHB1dF9vYmpkaXIv
JG15X2Rsc3ltcyIKCSAgICA7OwoJICAqKQoJICAgIGV2YWwgIiRnbG9iYWxf
c3ltYm9sX3RvX2NfbmFtZV9hZGRyZXNzX2xpYl9wcmVmaXgiIDwgIiRubGlz
dCIgPj4gIiRvdXRwdXRfb2JqZGlyLyRteV9kbHN5bXMiCgkgICAgOzsKCSAg
ZXNhYwoJICBlY2hvID4+ICIkb3V0cHV0X29iamRpci8kbXlfZGxzeW1zIiAi
XAogIHswLCAodm9pZCAqKSAwfQp9OwoKLyogVGhpcyB3b3JrcyBhcm91bmQg
YSBwcm9ibGVtIGluIEZyZWVCU0QgbGlua2VyICovCiNpZmRlZiBGUkVFQlNE
X1dPUktBUk9VTkQKc3RhdGljIGNvbnN0IHZvaWQgKmx0X3ByZWxvYWRlZF9z
ZXR1cCgpIHsKICByZXR1cm4gbHRfJHtteV9wcmVmaXh9X0xUWF9wcmVsb2Fk
ZWRfc3ltYm9sczsKfQojZW5kaWYKCiNpZmRlZiBfX2NwbHVzcGx1cwp9CiNl
bmRpZlwKIgoJfSAjICEkb3B0X2RyeV9ydW4KCglwaWNfZmxhZ19mb3Jfc3lt
dGFibGU9CgljYXNlICIkY29tcGlsZV9jb21tYW5kICIgaW4KCSoiIC1zdGF0
aWMgIiopIDs7CgkqKQoJICBjYXNlICRob3N0IGluCgkgICMgY29tcGlsaW5n
IHRoZSBzeW1ib2wgdGFibGUgZmlsZSB3aXRoIHBpY19mbGFnIHdvcmtzIGFy
b3VuZAoJICAjIGEgRnJlZUJTRCBidWcgdGhhdCBjYXVzZXMgcHJvZ3JhbXMg
dG8gY3Jhc2ggd2hlbiAtbG0gaXMKCSAgIyBsaW5rZWQgYmVmb3JlIGFueSBv
dGhlciBQSUMgb2JqZWN0LiAgQnV0IHdlIG11c3Qgbm90IHVzZQoJICAjIHBp
Y19mbGFnIHdoZW4gbGlua2luZyB3aXRoIC1zdGF0aWMuICBUaGUgcHJvYmxl
bSBleGlzdHMgaW4KCSAgIyBGcmVlQlNEIDIuMi42IGFuZCBpcyBmaXhlZCBp
biBGcmVlQlNEIDMuMS4KCSAgKi0qLWZyZWVic2QyLip8Ki0qLWZyZWVic2Qz
LjAqfCotKi1mcmVlYnNkZWxmMy4wKikKCSAgICBwaWNfZmxhZ19mb3Jfc3lt
dGFibGU9IiAkcGljX2ZsYWcgLURGUkVFQlNEX1dPUktBUk9VTkQiIDs7Cgkg
ICotKi1ocHV4KikKCSAgICBwaWNfZmxhZ19mb3Jfc3ltdGFibGU9IiAkcGlj
X2ZsYWciICA7OwoJICAqKQoJICAgIGlmIHRlc3QgIlgkbXlfcGljX3AiICE9
IFhubzsgdGhlbgoJICAgICAgcGljX2ZsYWdfZm9yX3N5bXRhYmxlPSIgJHBp
Y19mbGFnIgoJICAgIGZpCgkgICAgOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJ
c3ltdGFiX2NmbGFncz0KCWZvciBhcmcgaW4gJExUQ0ZMQUdTOyBkbwoJICBj
YXNlICRhcmcgaW4KCSAgLXBpZSB8IC1mcGllIHwgLWZQSUUpIDs7CgkgICop
IHN5bXRhYl9jZmxhZ3MrPSIgJGFyZyIgOzsKCSAgZXNhYwoJZG9uZQoKCSMg
Tm93IGNvbXBpbGUgdGhlIGR5bmFtaWMgc3ltYm9sIGZpbGUuCglmdW5jX3No
b3dfZXZhbCAnKGNkICRvdXRwdXRfb2JqZGlyICYmICRMVENDJHN5bXRhYl9j
ZmxhZ3MgLWMkbm9fYnVpbHRpbl9mbGFnJHBpY19mbGFnX2Zvcl9zeW10YWJs
ZSAiJG15X2Rsc3ltcyIpJyAnZXhpdCAkPycKCgkjIENsZWFuIHVwIHRoZSBn
ZW5lcmF0ZWQgZmlsZXMuCglmdW5jX3Nob3dfZXZhbCAnJFJNICIkb3V0cHV0
X29iamRpci8kbXlfZGxzeW1zIiAiJG5saXN0IiAiJHtubGlzdH1TIiAiJHtu
bGlzdH1UIicKCgkjIFRyYW5zZm9ybSB0aGUgc3ltYm9sIGZpbGUgaW50byB0
aGUgY29ycmVjdCBuYW1lLgoJc3ltZmlsZW9iaj0iJG91dHB1dF9vYmpkaXIv
JHtteV9vdXRwdXRuYW1lfVMuJG9iamV4dCIKCWNhc2UgJGhvc3QgaW4KCSpj
eWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQoJICBpZiB0ZXN0IC1mICIk
b3V0cHV0X29iamRpci8kbXlfb3V0cHV0bmFtZS5kZWYiOyB0aGVuCgkgICAg
Y29tcGlsZV9jb21tYW5kPWAkRUNITyAiJGNvbXBpbGVfY29tbWFuZCIgfCAk
U0VEICJzJUBTWU1GSUxFQCUkb3V0cHV0X29iamRpci8kbXlfb3V0cHV0bmFt
ZS5kZWYgJHN5bWZpbGVvYmolImAKCSAgICBmaW5hbGl6ZV9jb21tYW5kPWAk
RUNITyAiJGZpbmFsaXplX2NvbW1hbmQiIHwgJFNFRCAicyVAU1lNRklMRUAl
JG91dHB1dF9vYmpkaXIvJG15X291dHB1dG5hbWUuZGVmICRzeW1maWxlb2Jq
JSJgCgkgIGVsc2UKCSAgICBjb21waWxlX2NvbW1hbmQ9YCRFQ0hPICIkY29t
cGlsZV9jb21tYW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRzeW1maWxlb2Jq
JSJgCgkgICAgZmluYWxpemVfY29tbWFuZD1gJEVDSE8gIiRmaW5hbGl6ZV9j
b21tYW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRzeW1maWxlb2JqJSJgCgkg
IGZpCgkgIDs7CgkqKQoJICBjb21waWxlX2NvbW1hbmQ9YCRFQ0hPICIkY29t
cGlsZV9jb21tYW5kIiB8ICRTRUQgInMlQFNZTUZJTEVAJSRzeW1maWxlb2Jq
JSJgCgkgIGZpbmFsaXplX2NvbW1hbmQ9YCRFQ0hPICIkZmluYWxpemVfY29t
bWFuZCIgfCAkU0VEICJzJUBTWU1GSUxFQCUkc3ltZmlsZW9iaiUiYAoJICA7
OwoJZXNhYwoJOzsKICAgICAgKikKCWZ1bmNfZmF0YWxfZXJyb3IgInVua25v
d24gc3VmZml4IGZvciBcYCRteV9kbHN5bXMnIgoJOzsKICAgICAgZXNhYwog
ICAgZWxzZQogICAgICAjIFdlIGtlZXAgZ29pbmcganVzdCBpbiBjYXNlIHRo
ZSB1c2VyIGRpZG4ndCByZWZlciB0bwogICAgICAjIGx0X3ByZWxvYWRlZF9z
eW1ib2xzLiAgVGhlIGxpbmtlciB3aWxsIGZhaWwgaWYgZ2xvYmFsX3N5bWJv
bF9waXBlCiAgICAgICMgcmVhbGx5IHdhcyByZXF1aXJlZC4KCiAgICAgICMg
TnVsbGlmeSB0aGUgc3ltYm9sIGZpbGUuCiAgICAgIGNvbXBpbGVfY29tbWFu
ZD1gJEVDSE8gIiRjb21waWxlX2NvbW1hbmQiIHwgJFNFRCAicyUgQFNZTUZJ
TEVAJSUiYAogICAgICBmaW5hbGl6ZV9jb21tYW5kPWAkRUNITyAiJGZpbmFs
aXplX2NvbW1hbmQiIHwgJFNFRCAicyUgQFNZTUZJTEVAJSUiYAogICAgZmkK
fQoKIyBmdW5jX3dpbjMyX2xpYmlkIGFyZwojIHJldHVybiB0aGUgbGlicmFy
eSB0eXBlIG9mIGZpbGUgJ2FyZycKIwojIE5lZWQgYSBsb3Qgb2YgZ29vIHRv
IGhhbmRsZSAqYm90aCogRExMcyBhbmQgaW1wb3J0IGxpYnMKIyBIYXMgdG8g
YmUgYSBzaGVsbCBmdW5jdGlvbiBpbiBvcmRlciB0byAnZWF0JyB0aGUgYXJn
dW1lbnQKIyB0aGF0IGlzIHN1cHBsaWVkIHdoZW4gJGZpbGVfbWFnaWNfY29t
bWFuZCBpcyBjYWxsZWQuCiMgRGVzcGl0ZSB0aGUgbmFtZSwgYWxzbyBkZWFs
IHdpdGggNjQgYml0IGJpbmFyaWVzLgpmdW5jX3dpbjMyX2xpYmlkICgpCnsK
ICAkb3B0X2RlYnVnCiAgd2luMzJfbGliaWRfdHlwZT0idW5rbm93biIKICB3
aW4zMl9maWxlcmVzPWBmaWxlIC1MICQxIDI+L2Rldi9udWxsYAogIGNhc2Ug
JHdpbjMyX2ZpbGVyZXMgaW4KICAqYXJcIGFyY2hpdmVcIGltcG9ydFwgbGli
cmFyeSopICMgZGVmaW5pdGVseSBpbXBvcnQKICAgIHdpbjMyX2xpYmlkX3R5
cGU9Ing4NiBhcmNoaXZlIGltcG9ydCIKICAgIDs7CiAgKmFyXCBhcmNoaXZl
KikgIyBjb3VsZCBiZSBhbiBpbXBvcnQsIG9yIHN0YXRpYwogICAgIyBLZWVw
IHRoZSBlZ3JlcCBwYXR0ZXJuIGluIHN5bmMgd2l0aCB0aGUgb25lIGluIF9M
VF9DSEVDS19NQUdJQ19NRVRIT0QuCiAgICBpZiBldmFsICRPQkpEVU1QIC1m
ICQxIHwgJFNFRCAtZSAnMTBxJyAyPi9kZXYvbnVsbCB8CiAgICAgICAkRUdS
RVAgJ2ZpbGUgZm9ybWF0IChwZWkqLWkzODYoLiphcmNoaXRlY3R1cmU6IGkz
ODYpP3xwZS1hcm0td2luY2V8cGUteDg2LTY0KScgPi9kZXYvbnVsbDsgdGhl
bgogICAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJDEiIGZ1bmNfY29udmVydF9m
aWxlX21zeXNfdG9fdzMyCiAgICAgIHdpbjMyX25tcmVzPWBldmFsICROTSAt
ZiBwb3NpeCAtQSBcIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHRcIiB8Cgkk
U0VEIC1uIC1lICcKCSAgICAxLDEwMHsKCQkvIEkgL3sKCQkgICAgcywuKixp
bXBvcnQsCgkJICAgIHAKCQkgICAgcQoJCX0KCSAgICB9J2AKICAgICAgY2Fz
ZSAkd2luMzJfbm1yZXMgaW4KICAgICAgaW1wb3J0KikgIHdpbjMyX2xpYmlk
X3R5cGU9Ing4NiBhcmNoaXZlIGltcG9ydCI7OwogICAgICAqKSAgICAgICAg
d2luMzJfbGliaWRfdHlwZT0ieDg2IGFyY2hpdmUgc3RhdGljIjs7CiAgICAg
IGVzYWMKICAgIGZpCiAgICA7OwogICpETEwqKQogICAgd2luMzJfbGliaWRf
dHlwZT0ieDg2IERMTCIKICAgIDs7CiAgKmV4ZWN1dGFibGUqKSAjIGJ1dCBz
aGVsbCBzY3JpcHRzIGFyZSAiZXhlY3V0YWJsZSIgdG9vLi4uCiAgICBjYXNl
ICR3aW4zMl9maWxlcmVzIGluCiAgICAqTVNcIFdpbmRvd3NcIFBFXCBJbnRl
bCopCiAgICAgIHdpbjMyX2xpYmlkX3R5cGU9Ing4NiBETEwiCiAgICAgIDs7
CiAgICBlc2FjCiAgICA7OwogIGVzYWMKICAkRUNITyAiJHdpbjMyX2xpYmlk
X3R5cGUiCn0KCiMgZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliIEFSRwoj
CiMgUGxhdGZvcm0tc3BlY2lmaWMgZnVuY3Rpb24gdG8gZXh0cmFjdCB0aGUK
IyBuYW1lIG9mIHRoZSBETEwgYXNzb2NpYXRlZCB3aXRoIHRoZSBzcGVjaWZp
ZWQKIyBpbXBvcnQgbGlicmFyeSBBUkcuCiMgSW52b2tlZCBieSBldmFsJ2lu
ZyB0aGUgbGlidG9vbCB2YXJpYWJsZQojICAgICRzaGFyZWRsaWJfZnJvbV9s
aW5rbGliX2NtZAojIFJlc3VsdCBpcyBhdmFpbGFibGUgaW4gdGhlIHZhcmlh
YmxlCiMgICAgJHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0CmZ1bmNf
Y3lnbWluZ19kbGxfZm9yX2ltcGxpYiAoKQp7CiAgJG9wdF9kZWJ1ZwogIHNo
YXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0PWAkRExMVE9PTCAtLWlkZW50
aWZ5LXN0cmljdCAtLWlkZW50aWZ5ICIkMSJgCn0KCiMgZnVuY19jeWdtaW5n
X2RsbF9mb3JfaW1wbGliX2ZhbGxiYWNrX2NvcmUgU0VDVElPTl9OQU1FIExJ
Qk5BTUVzCiMKIyBUaGUgaXMgdGhlIGNvcmUgb2YgYSBmYWxsYmFjayBpbXBs
ZW1lbnRhdGlvbiBvZiBhCiMgcGxhdGZvcm0tc3BlY2lmaWMgZnVuY3Rpb24g
dG8gZXh0cmFjdCB0aGUgbmFtZSBvZiB0aGUKIyBETEwgYXNzb2NpYXRlZCB3
aXRoIHRoZSBzcGVjaWZpZWQgaW1wb3J0IGxpYnJhcnkgTElCTkFNRS4KIwoj
IFNFQ1RJT05fTkFNRSBpcyBlaXRoZXIgLmlkYXRhJDYgb3IgLmlkYXRhJDcs
IGRlcGVuZGluZwojIG9uIHRoZSBwbGF0Zm9ybSBhbmQgY29tcGlsZXIgdGhh
dCBjcmVhdGVkIHRoZSBpbXBsaWIuCiMKIyBFY2hvcyB0aGUgbmFtZSBvZiB0
aGUgRExMIGFzc29jaWF0ZWQgd2l0aCB0aGUKIyBzcGVjaWZpZWQgaW1wb3J0
IGxpYnJhcnkuCmZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYl9mYWxsYmFj
a19jb3JlICgpCnsKICAkb3B0X2RlYnVnCiAgbWF0Y2hfbGl0ZXJhbD1gJEVD
SE8gIiQxIiB8ICRTRUQgIiRzZWRfbWFrZV9saXRlcmFsX3JlZ2V4ImAKICAk
T0JKRFVNUCAtcyAtLXNlY3Rpb24gIiQxIiAiJDIiIDI+L2Rldi9udWxsIHwK
ICAgICRTRUQgJy9eQ29udGVudHMgb2Ygc2VjdGlvbiAnIiRtYXRjaF9saXRl
cmFsIic6L3sKICAgICAgIyBQbGFjZSBtYXJrZXIgYXQgYmVnaW5uaW5nIG9m
IGFyY2hpdmUgbWVtYmVyIGRsbG5hbWUgc2VjdGlvbgogICAgICBzLy4qLz09
PT1NQVJLPT09PS8KICAgICAgcAogICAgICBkCiAgICB9CiAgICAjIFRoZXNl
IGxpbmVzIGNhbiBzb21ldGltZXMgYmUgbG9uZ2VyIHRoYW4gNDMgY2hhcmFj
dGVycywgYnV0CiAgICAjIGFyZSBhbHdheXMgdW5pbnRlcmVzdGluZwogICAg
LzpbCSBdKmZpbGUgZm9ybWF0IHBlW2ldXHssMVx9LS9kCiAgICAvXkluIGFy
Y2hpdmUgW146XSo6L2QKICAgICMgRW5zdXJlIG1hcmtlciBpcyBwcmludGVk
CiAgICAvXj09PT1NQVJLPT09PS9wCiAgICAjIFJlbW92ZSBhbGwgbGluZXMg
d2l0aCBsZXNzIHRoYW4gNDMgY2hhcmFjdGVycwogICAgL14uXHs0M1x9LyFk
CiAgICAjIEZyb20gcmVtYWluaW5nIGxpbmVzLCByZW1vdmUgZmlyc3QgNDMg
Y2hhcmFjdGVycwogICAgcy9eLlx7NDNcfS8vJyB8CiAgICAkU0VEIC1uICcK
ICAgICAgIyBKb2luIG1hcmtlciBhbmQgYWxsIGxpbmVzIHVudGlsIG5leHQg
bWFya2VyIGludG8gYSBzaW5nbGUgbGluZQogICAgICAvXj09PT1NQVJLPT09
PS8gYiBwYXJhCiAgICAgIEgKICAgICAgJCBiIHBhcmEKICAgICAgYgogICAg
ICA6cGFyYQogICAgICB4CiAgICAgIHMvXG4vL2cKICAgICAgIyBSZW1vdmUg
dGhlIG1hcmtlcgogICAgICBzL149PT09TUFSSz09PT0vLwogICAgICAjIFJl
bW92ZSB0cmFpbGluZyBkb3RzIGFuZCB3aGl0ZXNwYWNlCiAgICAgIHMvW1wu
IFx0XSokLy8KICAgICAgIyBQcmludAogICAgICAvLi9wJyB8CiAgICAjIHdl
IG5vdyBoYXZlIGEgbGlzdCwgb25lIGVudHJ5IHBlciBsaW5lLCBvZiB0aGUg
c3RyaW5naWZpZWQKICAgICMgY29udGVudHMgb2YgdGhlIGFwcHJvcHJpYXRl
IHNlY3Rpb24gb2YgYWxsIG1lbWJlcnMgb2YgdGhlCiAgICAjIGFyY2hpdmUg
d2hpY2ggcG9zc2VzcyB0aGF0IHNlY3Rpb24uIEhldXJpc3RpYzogZWxpbWlu
YXRlCiAgICAjIGFsbCB0aG9zZSB3aGljaCBoYXZlIGEgZmlyc3Qgb3Igc2Vj
b25kIGNoYXJhY3RlciB0aGF0IGlzCiAgICAjIGEgJy4nICh0aGF0IGlzLCBv
YmpkdW1wJ3MgcmVwcmVzZW50YXRpb24gb2YgYW4gdW5wcmludGFibGUKICAg
ICMgY2hhcmFjdGVyLikgVGhpcyBzaG91bGQgd29yayBmb3IgYWxsIGFyY2hp
dmVzIHdpdGggbGVzcyB0aGFuCiAgICAjIDB4MzAyZiBleHBvcnRzIC0tIGJ1
dCB3aWxsIGZhaWwgZm9yIERMTHMgd2hvc2UgbmFtZSBhY3R1YWxseQogICAg
IyBiZWdpbnMgd2l0aCBhIGxpdGVyYWwgJy4nIG9yIGEgc2luZ2xlIGNoYXJh
Y3RlciBmb2xsb3dlZCBieQogICAgIyBhICcuJy4KICAgICMKICAgICMgT2Yg
dGhvc2UgdGhhdCByZW1haW4sIHByaW50IHRoZSBmaXJzdCBvbmUuCiAgICAk
U0VEIC1lICcvXlwuL2Q7L14uXC4vZDtxJwp9CgojIGZ1bmNfY3lnbWluZ19n
bnVfaW1wbGliX3AgQVJHCiMgVGhpcyBwcmVkaWNhdGUgcmV0dXJucyB3aXRo
IHplcm8gc3RhdHVzIChUUlVFKSBpZgojIEFSRyBpcyBhIEdOVS9iaW51dGls
cy1zdHlsZSBpbXBvcnQgbGlicmFyeS4gUmV0dXJucwojIHdpdGggbm9uemVy
byBzdGF0dXMgKEZBTFNFKSBvdGhlcndpc2UuCmZ1bmNfY3lnbWluZ19nbnVf
aW1wbGliX3AgKCkKewogICRvcHRfZGVidWcKICBmdW5jX3RvX3Rvb2xfZmls
ZSAiJDEiIGZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCiAgZnVuY19j
eWdtaW5nX2dudV9pbXBsaWJfdG1wPWAkTk0gIiRmdW5jX3RvX3Rvb2xfZmls
ZV9yZXN1bHQiIHwgZXZhbCAiJGdsb2JhbF9zeW1ib2xfcGlwZSIgfCAkRUdS
RVAgJyAoX2hlYWRfW0EtWmEtejAtOV9dK19bYWRdbCp8W0EtWmEtejAtOV9d
K19bYWRdbCpfaW5hbWUpJCdgCiAgdGVzdCAtbiAiJGZ1bmNfY3lnbWluZ19n
bnVfaW1wbGliX3RtcCIKfQoKIyBmdW5jX2N5Z21pbmdfbXNfaW1wbGliX3Ag
QVJHCiMgVGhpcyBwcmVkaWNhdGUgcmV0dXJucyB3aXRoIHplcm8gc3RhdHVz
IChUUlVFKSBpZgojIEFSRyBpcyBhbiBNUy1zdHlsZSBpbXBvcnQgbGlicmFy
eS4gUmV0dXJucwojIHdpdGggbm9uemVybyBzdGF0dXMgKEZBTFNFKSBvdGhl
cndpc2UuCmZ1bmNfY3lnbWluZ19tc19pbXBsaWJfcCAoKQp7CiAgJG9wdF9k
ZWJ1ZwogIGZ1bmNfdG9fdG9vbF9maWxlICIkMSIgZnVuY19jb252ZXJ0X2Zp
bGVfbXN5c190b193MzIKICBmdW5jX2N5Z21pbmdfbXNfaW1wbGliX3RtcD1g
JE5NICIkZnVuY190b190b29sX2ZpbGVfcmVzdWx0IiB8IGV2YWwgIiRnbG9i
YWxfc3ltYm9sX3BpcGUiIHwgJEdSRVAgJ19OVUxMX0lNUE9SVF9ERVNDUklQ
VE9SJ2AKICB0ZXN0IC1uICIkZnVuY19jeWdtaW5nX21zX2ltcGxpYl90bXAi
Cn0KCiMgZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliX2ZhbGxiYWNrIEFS
RwojIFBsYXRmb3JtLXNwZWNpZmljIGZ1bmN0aW9uIHRvIGV4dHJhY3QgdGhl
CiMgbmFtZSBvZiB0aGUgRExMIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lm
aWVkCiMgaW1wb3J0IGxpYnJhcnkgQVJHLgojCiMgVGhpcyBmYWxsYmFjayBp
bXBsZW1lbnRhdGlvbiBpcyBmb3IgdXNlIHdoZW4gJERMTFRPT0wKIyBkb2Vz
IG5vdCBzdXBwb3J0IHRoZSAtLWlkZW50aWZ5LXN0cmljdCBvcHRpb24uCiMg
SW52b2tlZCBieSBldmFsJ2luZyB0aGUgbGlidG9vbCB2YXJpYWJsZQojICAg
ICRzaGFyZWRsaWJfZnJvbV9saW5rbGliX2NtZAojIFJlc3VsdCBpcyBhdmFp
bGFibGUgaW4gdGhlIHZhcmlhYmxlCiMgICAgJHNoYXJlZGxpYl9mcm9tX2xp
bmtsaWJfcmVzdWx0CmZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYl9mYWxs
YmFjayAoKQp7CiAgJG9wdF9kZWJ1ZwogIGlmIGZ1bmNfY3lnbWluZ19nbnVf
aW1wbGliX3AgIiQxIiA7IHRoZW4KICAgICMgYmludXRpbHMgaW1wb3J0IGxp
YnJhcnkKICAgIHNoYXJlZGxpYl9mcm9tX2xpbmtsaWJfcmVzdWx0PWBmdW5j
X2N5Z21pbmdfZGxsX2Zvcl9pbXBsaWJfZmFsbGJhY2tfY29yZSAnLmlkYXRh
JDcnICIkMSJgCiAgZWxpZiBmdW5jX2N5Z21pbmdfbXNfaW1wbGliX3AgIiQx
IiA7IHRoZW4KICAgICMgbXMtZ2VuZXJhdGVkIGltcG9ydCBsaWJyYXJ5CiAg
ICBzaGFyZWRsaWJfZnJvbV9saW5rbGliX3Jlc3VsdD1gZnVuY19jeWdtaW5n
X2RsbF9mb3JfaW1wbGliX2ZhbGxiYWNrX2NvcmUgJy5pZGF0YSQ2JyAiJDEi
YAogIGVsc2UKICAgICMgdW5rbm93bgogICAgc2hhcmVkbGliX2Zyb21fbGlu
a2xpYl9yZXN1bHQ9IiIKICBmaQp9CgoKIyBmdW5jX2V4dHJhY3RfYW5fYXJj
aGl2ZSBkaXIgb2xkbGliCmZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlICgpCnsK
ICAgICRvcHRfZGVidWcKICAgIGZfZXhfYW5fYXJfZGlyPSIkMSI7IHNoaWZ0
CiAgICBmX2V4X2FuX2FyX29sZGxpYj0iJDEiCiAgICBpZiB0ZXN0ICIkbG9j
a19vbGRfYXJjaGl2ZV9leHRyYWN0aW9uIiA9IHllczsgdGhlbgogICAgICBs
b2NrZmlsZT0kZl9leF9hbl9hcl9vbGRsaWIubG9jawogICAgICB1bnRpbCAk
b3B0X2RyeV9ydW4gfHwgbG4gIiRwcm9ncGF0aCIgIiRsb2NrZmlsZSIgMj4v
ZGV2L251bGw7IGRvCglmdW5jX2VjaG8gIldhaXRpbmcgZm9yICRsb2NrZmls
ZSB0byBiZSByZW1vdmVkIgoJc2xlZXAgMgogICAgICBkb25lCiAgICBmaQog
ICAgZnVuY19zaG93X2V2YWwgIihjZCBcJGZfZXhfYW5fYXJfZGlyICYmICRB
UiB4IFwiXCRmX2V4X2FuX2FyX29sZGxpYlwiKSIgXAoJCSAgICdzdGF0PSQ/
OyBybSAtZiAiJGxvY2tmaWxlIjsgZXhpdCAkc3RhdCcKICAgIGlmIHRlc3Qg
IiRsb2NrX29sZF9hcmNoaXZlX2V4dHJhY3Rpb24iID0geWVzOyB0aGVuCiAg
ICAgICRvcHRfZHJ5X3J1biB8fCBybSAtZiAiJGxvY2tmaWxlIgogICAgZmkK
ICAgIGlmICgkQVIgdCAiJGZfZXhfYW5fYXJfb2xkbGliIiB8IHNvcnQgfCBz
b3J0IC11YyA+L2Rldi9udWxsIDI+JjEpOyB0aGVuCiAgICAgOgogICAgZWxz
ZQogICAgICBmdW5jX2ZhdGFsX2Vycm9yICJvYmplY3QgbmFtZSBjb25mbGlj
dHMgaW4gYXJjaGl2ZTogJGZfZXhfYW5fYXJfZGlyLyRmX2V4X2FuX2FyX29s
ZGxpYiIKICAgIGZpCn0KCgojIGZ1bmNfZXh0cmFjdF9hcmNoaXZlcyBnZW50
b3Agb2xkbGliIC4uLgpmdW5jX2V4dHJhY3RfYXJjaGl2ZXMgKCkKewogICAg
JG9wdF9kZWJ1ZwogICAgbXlfZ2VudG9wPSIkMSI7IHNoaWZ0CiAgICBteV9v
bGRsaWJzPSR7MSsiJEAifQogICAgbXlfb2xkb2Jqcz0iIgogICAgbXlfeGxp
Yj0iIgogICAgbXlfeGFicz0iIgogICAgbXlfeGRpcj0iIgoKICAgIGZvciBt
eV94bGliIGluICRteV9vbGRsaWJzOyBkbwogICAgICAjIEV4dHJhY3QgdGhl
IG9iamVjdHMuCiAgICAgIGNhc2UgJG15X3hsaWIgaW4KCVtcXC9dKiB8IFtB
LVphLXpdOltcXC9dKikgbXlfeGFicz0iJG15X3hsaWIiIDs7CgkqKSBteV94
YWJzPWBwd2RgIi8kbXlfeGxpYiIgOzsKICAgICAgZXNhYwogICAgICBmdW5j
X2Jhc2VuYW1lICIkbXlfeGxpYiIKICAgICAgbXlfeGxpYj0iJGZ1bmNfYmFz
ZW5hbWVfcmVzdWx0IgogICAgICBteV94bGliX3U9JG15X3hsaWIKICAgICAg
d2hpbGUgOjsgZG8KICAgICAgICBjYXNlICIgJGV4dHJhY3RlZF9hcmNoaXZl
cyAiIGluCgkqIiAkbXlfeGxpYl91ICIqKQoJICBmdW5jX2FyaXRoICRleHRy
YWN0ZWRfc2VyaWFsICsgMQoJICBleHRyYWN0ZWRfc2VyaWFsPSRmdW5jX2Fy
aXRoX3Jlc3VsdAoJICBteV94bGliX3U9bHQkZXh0cmFjdGVkX3NlcmlhbC0k
bXlfeGxpYiA7OwoJKikgYnJlYWsgOzsKCWVzYWMKICAgICAgZG9uZQogICAg
ICBleHRyYWN0ZWRfYXJjaGl2ZXM9IiRleHRyYWN0ZWRfYXJjaGl2ZXMgJG15
X3hsaWJfdSIKICAgICAgbXlfeGRpcj0iJG15X2dlbnRvcC8kbXlfeGxpYl91
IgoKICAgICAgZnVuY19ta2Rpcl9wICIkbXlfeGRpciIKCiAgICAgIGNhc2Ug
JGhvc3QgaW4KICAgICAgKi1kYXJ3aW4qKQoJZnVuY192ZXJib3NlICJFeHRy
YWN0aW5nICRteV94YWJzIgoJIyBEbyBub3QgYm90aGVyIGRvaW5nIGFueXRo
aW5nIGlmIGp1c3QgYSBkcnkgcnVuCgkkb3B0X2RyeV9ydW4gfHwgewoJICBk
YXJ3aW5fb3JpZ19kaXI9YHB3ZGAKCSAgY2QgJG15X3hkaXIgfHwgZXhpdCAk
PwoJICBkYXJ3aW5fYXJjaGl2ZT0kbXlfeGFicwoJICBkYXJ3aW5fY3VyZGly
PWBwd2RgCgkgIGRhcndpbl9iYXNlX2FyY2hpdmU9YGJhc2VuYW1lICIkZGFy
d2luX2FyY2hpdmUiYAoJICBkYXJ3aW5fYXJjaGVzPWAkTElQTyAtaW5mbyAi
JGRhcndpbl9hcmNoaXZlIiAyPi9kZXYvbnVsbCB8ICRHUkVQIEFyY2hpdGVj
dHVyZXMgMj4vZGV2L251bGwgfHwgdHJ1ZWAKCSAgaWYgdGVzdCAtbiAiJGRh
cndpbl9hcmNoZXMiOyB0aGVuCgkgICAgZGFyd2luX2FyY2hlcz1gJEVDSE8g
IiRkYXJ3aW5fYXJjaGVzIiB8ICRTRUQgLWUgJ3MvLiphcmU6Ly8nYAoJICAg
IGRhcndpbl9hcmNoPQoJICAgIGZ1bmNfdmVyYm9zZSAiJGRhcndpbl9iYXNl
X2FyY2hpdmUgaGFzIG11bHRpcGxlIGFyY2hpdGVjdHVyZXMgJGRhcndpbl9h
cmNoZXMiCgkgICAgZm9yIGRhcndpbl9hcmNoIGluICAkZGFyd2luX2FyY2hl
cyA7IGRvCgkgICAgICBmdW5jX21rZGlyX3AgInVuZmF0LSQkLyR7ZGFyd2lu
X2Jhc2VfYXJjaGl2ZX0tJHtkYXJ3aW5fYXJjaH0iCgkgICAgICAkTElQTyAt
dGhpbiAkZGFyd2luX2FyY2ggLW91dHB1dCAidW5mYXQtJCQvJHtkYXJ3aW5f
YmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofS8ke2Rhcndpbl9iYXNlX2Fy
Y2hpdmV9IiAiJHtkYXJ3aW5fYXJjaGl2ZX0iCgkgICAgICBjZCAidW5mYXQt
JCQvJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfS0ke2Rhcndpbl9hcmNofSIKCSAg
ICAgIGZ1bmNfZXh0cmFjdF9hbl9hcmNoaXZlICJgcHdkYCIgIiR7ZGFyd2lu
X2Jhc2VfYXJjaGl2ZX0iCgkgICAgICBjZCAiJGRhcndpbl9jdXJkaXIiCgkg
ICAgICAkUk0gInVuZmF0LSQkLyR7ZGFyd2luX2Jhc2VfYXJjaGl2ZX0tJHtk
YXJ3aW5fYXJjaH0vJHtkYXJ3aW5fYmFzZV9hcmNoaXZlfSIKCSAgICBkb25l
ICMgJGRhcndpbl9hcmNoZXMKICAgICAgICAgICAgIyMgT2theSBub3cgd2Un
dmUgYSBidW5jaCBvZiB0aGluIG9iamVjdHMsIGdvdHRhIGZhdHRlbiB0aGVt
IHVwIDopCgkgICAgZGFyd2luX2ZpbGVsaXN0PWBmaW5kIHVuZmF0LSQkIC10
eXBlIGYgLW5hbWUgXCoubyAtcHJpbnQgLW8gLW5hbWUgXCoubG8gLXByaW50
IHwgJFNFRCAtZSAiJGJhc2VuYW1lIiB8IHNvcnQgLXVgCgkgICAgZGFyd2lu
X2ZpbGU9CgkgICAgZGFyd2luX2ZpbGVzPQoJICAgIGZvciBkYXJ3aW5fZmls
ZSBpbiAkZGFyd2luX2ZpbGVsaXN0OyBkbwoJICAgICAgZGFyd2luX2ZpbGVz
PWBmaW5kIHVuZmF0LSQkIC1uYW1lICRkYXJ3aW5fZmlsZSAtcHJpbnQgfCBz
b3J0IHwgJE5MMlNQYAoJICAgICAgJExJUE8gLWNyZWF0ZSAtb3V0cHV0ICIk
ZGFyd2luX2ZpbGUiICRkYXJ3aW5fZmlsZXMKCSAgICBkb25lICMgJGRhcndp
bl9maWxlbGlzdAoJICAgICRSTSAtcmYgdW5mYXQtJCQKCSAgICBjZCAiJGRh
cndpbl9vcmlnX2RpciIKCSAgZWxzZQoJICAgIGNkICRkYXJ3aW5fb3JpZ19k
aXIKCSAgICBmdW5jX2V4dHJhY3RfYW5fYXJjaGl2ZSAiJG15X3hkaXIiICIk
bXlfeGFicyIKCSAgZmkgIyAkZGFyd2luX2FyY2hlcwoJfSAjICEkb3B0X2Ry
eV9ydW4KCTs7CiAgICAgICopCiAgICAgICAgZnVuY19leHRyYWN0X2FuX2Fy
Y2hpdmUgIiRteV94ZGlyIiAiJG15X3hhYnMiCgk7OwogICAgICBlc2FjCiAg
ICAgIG15X29sZG9ianM9IiRteV9vbGRvYmpzICJgZmluZCAkbXlfeGRpciAt
bmFtZSBcKi4kb2JqZXh0IC1wcmludCAtbyAtbmFtZSBcKi5sbyAtcHJpbnQg
fCBzb3J0IHwgJE5MMlNQYAogICAgZG9uZQoKICAgIGZ1bmNfZXh0cmFjdF9h
cmNoaXZlc19yZXN1bHQ9IiRteV9vbGRvYmpzIgp9CgoKIyBmdW5jX2VtaXRf
d3JhcHBlciBbYXJnPW5vXQojCiMgRW1pdCBhIGxpYnRvb2wgd3JhcHBlciBz
Y3JpcHQgb24gc3Rkb3V0LgojIERvbid0IGRpcmVjdGx5IG9wZW4gYSBmaWxl
IGJlY2F1c2Ugd2UgbWF5IHdhbnQgdG8KIyBpbmNvcnBvcmF0ZSB0aGUgc2Ny
aXB0IGNvbnRlbnRzIHdpdGhpbiBhIGN5Z3dpbi9taW5ndwojIHdyYXBwZXIg
ZXhlY3V0YWJsZS4gIE11c3QgT05MWSBiZSBjYWxsZWQgZnJvbSB3aXRoaW4K
IyBmdW5jX21vZGVfbGluayBiZWNhdXNlIGl0IGRlcGVuZHMgb24gYSBudW1i
ZXIgb2YgdmFyaWFibGVzCiMgc2V0IHRoZXJlaW4uCiMKIyBBUkcgaXMgdGhl
IHZhbHVlIHRoYXQgdGhlIFdSQVBQRVJfU0NSSVBUX0JFTE9OR1NfSU5fT0JK
RElSCiMgdmFyaWFibGUgd2lsbCB0YWtlLiAgSWYgJ3llcycsIHRoZW4gdGhl
IGVtaXR0ZWQgc2NyaXB0CiMgd2lsbCBhc3N1bWUgdGhhdCB0aGUgZGlyZWN0
b3J5IGluIHdoaWNoIGl0IGlzIHN0b3JlZCBpcwojIHRoZSAkb2JqZGlyIGRp
cmVjdG9yeS4gIFRoaXMgaXMgYSBjeWd3aW4vbWluZ3ctc3BlY2lmaWMKIyBi
ZWhhdmlvci4KZnVuY19lbWl0X3dyYXBwZXIgKCkKewoJZnVuY19lbWl0X3dy
YXBwZXJfYXJnMT0kezEtbm99CgoJJEVDSE8gIlwKIyEgJFNIRUxMCgojICRv
dXRwdXQgLSB0ZW1wb3Jhcnkgd3JhcHBlciBzY3JpcHQgZm9yICRvYmpkaXIv
JG91dHB1dG5hbWUKIyBHZW5lcmF0ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFD
S0FHRSRUSU1FU1RBTVApICRWRVJTSU9OCiMKIyBUaGUgJG91dHB1dCBwcm9n
cmFtIGNhbm5vdCBiZSBkaXJlY3RseSBleGVjdXRlZCB1bnRpbCBhbGwgdGhl
IGxpYnRvb2wKIyBsaWJyYXJpZXMgdGhhdCBpdCBkZXBlbmRzIG9uIGFyZSBp
bnN0YWxsZWQuCiMKIyBUaGlzIHdyYXBwZXIgc2NyaXB0IHNob3VsZCBuZXZl
ciBiZSBtb3ZlZCBvdXQgb2YgdGhlIGJ1aWxkIGRpcmVjdG9yeS4KIyBJZiBp
dCBpcywgaXQgd2lsbCBub3Qgb3BlcmF0ZSBjb3JyZWN0bHkuCgojIFNlZCBz
dWJzdGl0dXRpb24gdGhhdCBoZWxwcyB1cyBkbyByb2J1c3QgcXVvdGluZy4g
IEl0IGJhY2tzbGFzaGlmaWVzCiMgbWV0YWNoYXJhY3RlcnMgdGhhdCBhcmUg
c3RpbGwgYWN0aXZlIHdpdGhpbiBkb3VibGUtcXVvdGVkIHN0cmluZ3MuCnNl
ZF9xdW90ZV9zdWJzdD0nJHNlZF9xdW90ZV9zdWJzdCcKCiMgQmUgQm91cm5l
IGNvbXBhdGlibGUKaWYgdGVzdCAtbiBcIlwke1pTSF9WRVJTSU9OK3NldH1c
IiAmJiAoZW11bGF0ZSBzaCkgPi9kZXYvbnVsbCAyPiYxOyB0aGVuCiAgZW11
bGF0ZSBzaAogIE5VTExDTUQ9OgogICMgWnNoIDMueCBhbmQgNC54IHBlcmZv
cm1zIHdvcmQgc3BsaXR0aW5nIG9uIFwkezErXCJcJEBcIn0sIHdoaWNoCiAg
IyBpcyBjb250cmFyeSB0byBvdXIgdXNhZ2UuICBEaXNhYmxlIHRoaXMgZmVh
dHVyZS4KICBhbGlhcyAtZyAnXCR7MStcIlwkQFwifSc9J1wiXCRAXCInCiAg
c2V0b3B0IE5PX0dMT0JfU1VCU1QKZWxzZQogIGNhc2UgXGAoc2V0IC1vKSAy
Pi9kZXYvbnVsbFxgIGluICpwb3NpeCopIHNldCAtbyBwb3NpeDs7IGVzYWMK
ZmkKQklOX1NIPXhwZzQ7IGV4cG9ydCBCSU5fU0ggIyBmb3IgVHJ1NjQKRFVB
TENBU0U9MTsgZXhwb3J0IERVQUxDQVNFICMgZm9yIE1LUyBzaAoKIyBUaGUg
SFAtVVgga3NoIGFuZCBQT1NJWCBzaGVsbCBwcmludCB0aGUgdGFyZ2V0IGRp
cmVjdG9yeSB0byBzdGRvdXQKIyBpZiBDRFBBVEggaXMgc2V0LgoodW5zZXQg
Q0RQQVRIKSA+L2Rldi9udWxsIDI+JjEgJiYgdW5zZXQgQ0RQQVRICgpyZWxp
bmtfY29tbWFuZD1cIiRyZWxpbmtfY29tbWFuZFwiCgojIFRoaXMgZW52aXJv
bm1lbnQgdmFyaWFibGUgZGV0ZXJtaW5lcyBvdXIgb3BlcmF0aW9uIG1vZGUu
CmlmIHRlc3QgXCJcJGxpYnRvb2xfaW5zdGFsbF9tYWdpY1wiID0gXCIkbWFn
aWNcIjsgdGhlbgogICMgaW5zdGFsbCBtb2RlIG5lZWRzIHRoZSBmb2xsb3dp
bmcgdmFyaWFibGVzOgogIGdlbmVyYXRlZF9ieV9saWJ0b29sX3ZlcnNpb249
JyRtYWNyb192ZXJzaW9uJwogIG5vdGluc3RfZGVwbGlicz0nJG5vdGluc3Rf
ZGVwbGlicycKZWxzZQogICMgV2hlbiB3ZSBhcmUgc291cmNlZCBpbiBleGVj
dXRlIG1vZGUsIFwkZmlsZSBhbmQgXCRFQ0hPIGFyZSBhbHJlYWR5IHNldC4K
ICBpZiB0ZXN0IFwiXCRsaWJ0b29sX2V4ZWN1dGVfbWFnaWNcIiAhPSBcIiRt
YWdpY1wiOyB0aGVuCiAgICBmaWxlPVwiXCQwXCIiCgogICAgcUVDSE89YCRF
Q0hPICIkRUNITyIgfCAkU0VEICIkc2VkX3F1b3RlX3N1YnN0ImAKICAgICRF
Q0hPICJcCgojIEEgZnVuY3Rpb24gdGhhdCBpcyB1c2VkIHdoZW4gdGhlcmUg
aXMgbm8gcHJpbnQgYnVpbHRpbiBvciBwcmludGYuCmZ1bmNfZmFsbGJhY2tf
ZWNobyAoKQp7CiAgZXZhbCAnY2F0IDw8X0xURUNIT19FT0YKXCQxCl9MVEVD
SE9fRU9GJwp9CiAgICBFQ0hPPVwiJHFFQ0hPXCIKICBmaQoKIyBWZXJ5IGJh
c2ljIG9wdGlvbiBwYXJzaW5nLiBUaGVzZSBvcHRpb25zIGFyZSAoYSkgc3Bl
Y2lmaWMgdG8KIyB0aGUgbGlidG9vbCB3cmFwcGVyLCAoYikgYXJlIGlkZW50
aWNhbCBiZXR3ZWVuIHRoZSB3cmFwcGVyCiMgL3NjcmlwdC8gYW5kIHRoZSB3
cmFwcGVyIC9leGVjdXRhYmxlLyB3aGljaCBpcyB1c2VkIG9ubHkgb24KIyB3
aW5kb3dzIHBsYXRmb3JtcywgYW5kIChjKSBhbGwgYmVnaW4gd2l0aCB0aGUg
c3RyaW5nICItLWx0LSIKIyAoYXBwbGljYXRpb24gcHJvZ3JhbXMgYXJlIHVu
bGlrZWx5IHRvIGhhdmUgb3B0aW9ucyB3aGljaCBtYXRjaAojIHRoaXMgcGF0
dGVybikuCiMKIyBUaGVyZSBhcmUgb25seSB0d28gc3VwcG9ydGVkIG9wdGlv
bnM6IC0tbHQtZGVidWcgYW5kCiMgLS1sdC1kdW1wLXNjcmlwdC4gVGhlcmUg
aXMsIGRlbGliZXJhdGVseSwgbm8gLS1sdC1oZWxwLgojCiMgVGhlIGZpcnN0
IGFyZ3VtZW50IHRvIHRoaXMgcGFyc2luZyBmdW5jdGlvbiBzaG91bGQgYmUg
dGhlCiMgc2NyaXB0J3MgJDAgdmFsdWUsIGZvbGxvd2VkIGJ5ICIkQCIuCmx0
X29wdGlvbl9kZWJ1Zz0KZnVuY19wYXJzZV9sdF9vcHRpb25zICgpCnsKICBs
dF9zY3JpcHRfYXJnMD1cJDAKICBzaGlmdAogIGZvciBsdF9vcHQKICBkbwog
ICAgY2FzZSBcIlwkbHRfb3B0XCIgaW4KICAgIC0tbHQtZGVidWcpIGx0X29w
dGlvbl9kZWJ1Zz0xIDs7CiAgICAtLWx0LWR1bXAtc2NyaXB0KQogICAgICAg
IGx0X2R1bXBfRD1cYFwkRUNITyBcIlhcJGx0X3NjcmlwdF9hcmcwXCIgfCAk
U0VEIC1lICdzL15YLy8nIC1lICdzJS9bXi9dKiQlJSdcYAogICAgICAgIHRl
c3QgXCJYXCRsdF9kdW1wX0RcIiA9IFwiWFwkbHRfc2NyaXB0X2FyZzBcIiAm
JiBsdF9kdW1wX0Q9LgogICAgICAgIGx0X2R1bXBfRj1cYFwkRUNITyBcIlhc
JGx0X3NjcmlwdF9hcmcwXCIgfCAkU0VEIC1lICdzL15YLy8nIC1lICdzJV4u
Ki8lJSdcYAogICAgICAgIGNhdCBcIlwkbHRfZHVtcF9EL1wkbHRfZHVtcF9G
XCIKICAgICAgICBleGl0IDAKICAgICAgOzsKICAgIC0tbHQtKikKICAgICAg
ICBcJEVDSE8gXCJVbnJlY29nbml6ZWQgLS1sdC0gb3B0aW9uOiAnXCRsdF9v
cHQnXCIgMT4mMgogICAgICAgIGV4aXQgMQogICAgICA7OwogICAgZXNhYwog
IGRvbmUKCiAgIyBQcmludCB0aGUgZGVidWcgYmFubmVyIGltbWVkaWF0ZWx5
OgogIGlmIHRlc3QgLW4gXCJcJGx0X29wdGlvbl9kZWJ1Z1wiOyB0aGVuCiAg
ICBlY2hvIFwiJHtvdXRwdXRuYW1lfToke291dHB1dH06XCR7TElORU5PfTog
bGlidG9vbCB3cmFwcGVyIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAkVkVS
U0lPTlwiIDE+JjIKICBmaQp9CgojIFVzZWQgd2hlbiAtLWx0LWRlYnVnLiBQ
cmludHMgaXRzIGFyZ3VtZW50cyB0byBzdGRvdXQKIyAocmVkaXJlY3Rpb24g
aXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXIpCmZ1bmNfbHRf
ZHVtcF9hcmdzICgpCnsKICBsdF9kdW1wX2FyZ3NfTj0xOwogIGZvciBsdF9h
cmcKICBkbwogICAgXCRFQ0hPIFwiJHtvdXRwdXRuYW1lfToke291dHB1dH06
XCR7TElORU5PfTogbmV3YXJndltcJGx0X2R1bXBfYXJnc19OXTogXCRsdF9h
cmdcIgogICAgbHRfZHVtcF9hcmdzX049XGBleHByIFwkbHRfZHVtcF9hcmdz
X04gKyAxXGAKICBkb25lCn0KCiMgQ29yZSBmdW5jdGlvbiBmb3IgbGF1bmNo
aW5nIHRoZSB0YXJnZXQgYXBwbGljYXRpb24KZnVuY19leGVjX3Byb2dyYW1f
Y29yZSAoKQp7CiIKICBjYXNlICRob3N0IGluCiAgIyBCYWNrc2xhc2hlcyBz
ZXBhcmF0ZSBkaXJlY3RvcmllcyBvbiBwbGFpbiB3aW5kb3dzCiAgKi0qLW1p
bmd3IHwgKi0qLW9zMiogfCAqLWNlZ2NjKikKICAgICRFQ0hPICJcCiAgICAg
IGlmIHRlc3QgLW4gXCJcJGx0X29wdGlvbl9kZWJ1Z1wiOyB0aGVuCiAgICAg
ICAgXCRFQ0hPIFwiJHtvdXRwdXRuYW1lfToke291dHB1dH06XCR7TElORU5P
fTogbmV3YXJndlswXTogXCRwcm9nZGlyXFxcXFwkcHJvZ3JhbVwiIDE+JjIK
ICAgICAgICBmdW5jX2x0X2R1bXBfYXJncyBcJHsxK1wiXCRAXCJ9IDE+JjIK
ICAgICAgZmkKICAgICAgZXhlYyBcIlwkcHJvZ2RpclxcXFxcJHByb2dyYW1c
IiBcJHsxK1wiXCRAXCJ9CiIKICAgIDs7CgogICopCiAgICAkRUNITyAiXAog
ICAgICBpZiB0ZXN0IC1uIFwiXCRsdF9vcHRpb25fZGVidWdcIjsgdGhlbgog
ICAgICAgIFwkRUNITyBcIiR7b3V0cHV0bmFtZX06JHtvdXRwdXR9Olwke0xJ
TkVOT306IG5ld2FyZ3ZbMF06IFwkcHJvZ2Rpci9cJHByb2dyYW1cIiAxPiYy
CiAgICAgICAgZnVuY19sdF9kdW1wX2FyZ3MgXCR7MStcIlwkQFwifSAxPiYy
CiAgICAgIGZpCiAgICAgIGV4ZWMgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIg
XCR7MStcIlwkQFwifQoiCiAgICA7OwogIGVzYWMKICAkRUNITyAiXAogICAg
ICBcJEVDSE8gXCJcJDA6IGNhbm5vdCBleGVjIFwkcHJvZ3JhbSBcJCpcIiAx
PiYyCiAgICAgIGV4aXQgMQp9CgojIEEgZnVuY3Rpb24gdG8gZW5jYXBzdWxh
dGUgbGF1bmNoaW5nIHRoZSB0YXJnZXQgYXBwbGljYXRpb24KIyBTdHJpcHMg
b3B0aW9ucyBpbiB0aGUgLS1sdC0qIG5hbWVzcGFjZSBmcm9tIFwkQCBhbmQK
IyBsYXVuY2hlcyB0YXJnZXQgYXBwbGljYXRpb24gd2l0aCB0aGUgcmVtYWlu
aW5nIGFyZ3VtZW50cy4KZnVuY19leGVjX3Byb2dyYW0gKCkKewogIGNhc2Ug
XCIgXCQqIFwiIGluCiAgKlxcIC0tbHQtKikKICAgIGZvciBsdF93cl9hcmcK
ICAgIGRvCiAgICAgIGNhc2UgXCRsdF93cl9hcmcgaW4KICAgICAgLS1sdC0q
KSA7OwogICAgICAqKSBzZXQgeCBcIlwkQFwiIFwiXCRsdF93cl9hcmdcIjsg
c2hpZnQ7OwogICAgICBlc2FjCiAgICAgIHNoaWZ0CiAgICBkb25lIDs7CiAg
ZXNhYwogIGZ1bmNfZXhlY19wcm9ncmFtX2NvcmUgXCR7MStcIlwkQFwifQp9
CgogICMgUGFyc2Ugb3B0aW9ucwogIGZ1bmNfcGFyc2VfbHRfb3B0aW9ucyBc
IlwkMFwiIFwkezErXCJcJEBcIn0KCiAgIyBGaW5kIHRoZSBkaXJlY3Rvcnkg
dGhhdCB0aGlzIHNjcmlwdCBsaXZlcyBpbi4KICB0aGlzZGlyPVxgXCRFQ0hP
IFwiXCRmaWxlXCIgfCAkU0VEICdzJS9bXi9dKiQlJSdcYAogIHRlc3QgXCJ4
XCR0aGlzZGlyXCIgPSBcInhcJGZpbGVcIiAmJiB0aGlzZGlyPS4KCiAgIyBG
b2xsb3cgc3ltYm9saWMgbGlua3MgdW50aWwgd2UgZ2V0IHRvIHRoZSByZWFs
IHRoaXNkaXIuCiAgZmlsZT1cYGxzIC1sZCBcIlwkZmlsZVwiIHwgJFNFRCAt
biAncy8uKi0+IC8vcCdcYAogIHdoaWxlIHRlc3QgLW4gXCJcJGZpbGVcIjsg
ZG8KICAgIGRlc3RkaXI9XGBcJEVDSE8gXCJcJGZpbGVcIiB8ICRTRUQgJ3Ml
L1teL10qXCQlJSdcYAoKICAgICMgSWYgdGhlcmUgd2FzIGEgZGlyZWN0b3J5
IGNvbXBvbmVudCwgdGhlbiBjaGFuZ2UgdGhpc2Rpci4KICAgIGlmIHRlc3Qg
XCJ4XCRkZXN0ZGlyXCIgIT0gXCJ4XCRmaWxlXCI7IHRoZW4KICAgICAgY2Fz
ZSBcIlwkZGVzdGRpclwiIGluCiAgICAgIFtcXFxcL10qIHwgW0EtWmEtel06
W1xcXFwvXSopIHRoaXNkaXI9XCJcJGRlc3RkaXJcIiA7OwogICAgICAqKSB0
aGlzZGlyPVwiXCR0aGlzZGlyL1wkZGVzdGRpclwiIDs7CiAgICAgIGVzYWMK
ICAgIGZpCgogICAgZmlsZT1cYFwkRUNITyBcIlwkZmlsZVwiIHwgJFNFRCAn
cyVeLiovJSUnXGAKICAgIGZpbGU9XGBscyAtbGQgXCJcJHRoaXNkaXIvXCRm
aWxlXCIgfCAkU0VEIC1uICdzLy4qLT4gLy9wJ1xgCiAgZG9uZQoKICAjIFVz
dWFsbHkgJ25vJywgZXhjZXB0IG9uIGN5Z3dpbi9taW5ndyB3aGVuIGVtYmVk
ZGVkIGludG8KICAjIHRoZSBjd3JhcHBlci4KICBXUkFQUEVSX1NDUklQVF9C
RUxPTkdTX0lOX09CSkRJUj0kZnVuY19lbWl0X3dyYXBwZXJfYXJnMQogIGlm
IHRlc3QgXCJcJFdSQVBQRVJfU0NSSVBUX0JFTE9OR1NfSU5fT0JKRElSXCIg
PSBcInllc1wiOyB0aGVuCiAgICAjIHNwZWNpYWwgY2FzZSBmb3IgJy4nCiAg
ICBpZiB0ZXN0IFwiXCR0aGlzZGlyXCIgPSBcIi5cIjsgdGhlbgogICAgICB0
aGlzZGlyPVxgcHdkXGAKICAgIGZpCiAgICAjIHJlbW92ZSAubGlicyBmcm9t
IHRoaXNkaXIKICAgIGNhc2UgXCJcJHRoaXNkaXJcIiBpbgogICAgKltcXFxc
L10kb2JqZGlyICkgdGhpc2Rpcj1cYFwkRUNITyBcIlwkdGhpc2RpclwiIHwg
JFNFRCAncyVbXFxcXC9dW15cXFxcL10qJCUlJ1xgIDs7CiAgICAkb2JqZGly
ICkgICB0aGlzZGlyPS4gOzsKICAgIGVzYWMKICBmaQoKICAjIFRyeSB0byBn
ZXQgdGhlIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lLgogIGFic2Rpcj1cYGNk
IFwiXCR0aGlzZGlyXCIgJiYgcHdkXGAKICB0ZXN0IC1uIFwiXCRhYnNkaXJc
IiAmJiB0aGlzZGlyPVwiXCRhYnNkaXJcIgoiCgoJaWYgdGVzdCAiJGZhc3Rf
aW5zdGFsbCIgPSB5ZXM7IHRoZW4KCSAgJEVDSE8gIlwKICBwcm9ncmFtPWx0
LSckb3V0cHV0bmFtZSckZXhlZXh0CiAgcHJvZ2Rpcj1cIlwkdGhpc2Rpci8k
b2JqZGlyXCIKCiAgaWYgdGVzdCAhIC1mIFwiXCRwcm9nZGlyL1wkcHJvZ3Jh
bVwiIHx8CiAgICAgeyBmaWxlPVxgbHMgLTFkdCBcIlwkcHJvZ2Rpci9cJHBy
b2dyYW1cIiBcIlwkcHJvZ2Rpci8uLi9cJHByb2dyYW1cIiAyPi9kZXYvbnVs
bCB8ICR7U0VEfSAxcVxgOyBcXAogICAgICAgdGVzdCBcIlhcJGZpbGVcIiAh
PSBcIlhcJHByb2dkaXIvXCRwcm9ncmFtXCI7IH07IHRoZW4KCiAgICBmaWxl
PVwiXCRcJC1cJHByb2dyYW1cIgoKICAgIGlmIHRlc3QgISAtZCBcIlwkcHJv
Z2RpclwiOyB0aGVuCiAgICAgICRNS0RJUiBcIlwkcHJvZ2RpclwiCiAgICBl
bHNlCiAgICAgICRSTSBcIlwkcHJvZ2Rpci9cJGZpbGVcIgogICAgZmkiCgoJ
ICAkRUNITyAiXAoKICAgICMgcmVsaW5rIGV4ZWN1dGFibGUgaWYgbmVjZXNz
YXJ5CiAgICBpZiB0ZXN0IC1uIFwiXCRyZWxpbmtfY29tbWFuZFwiOyB0aGVu
CiAgICAgIGlmIHJlbGlua19jb21tYW5kX291dHB1dD1cYGV2YWwgXCRyZWxp
bmtfY29tbWFuZCAyPiYxXGA7IHRoZW4gOgogICAgICBlbHNlCgkkRUNITyBc
IlwkcmVsaW5rX2NvbW1hbmRfb3V0cHV0XCIgPiYyCgkkUk0gXCJcJHByb2dk
aXIvXCRmaWxlXCIKCWV4aXQgMQogICAgICBmaQogICAgZmkKCiAgICAkTVYg
XCJcJHByb2dkaXIvXCRmaWxlXCIgXCJcJHByb2dkaXIvXCRwcm9ncmFtXCIg
Mj4vZGV2L251bGwgfHwKICAgIHsgJFJNIFwiXCRwcm9nZGlyL1wkcHJvZ3Jh
bVwiOwogICAgICAkTVYgXCJcJHByb2dkaXIvXCRmaWxlXCIgXCJcJHByb2dk
aXIvXCRwcm9ncmFtXCI7IH0KICAgICRSTSBcIlwkcHJvZ2Rpci9cJGZpbGVc
IgogIGZpIgoJZWxzZQoJICAkRUNITyAiXAogIHByb2dyYW09JyRvdXRwdXRu
YW1lJwogIHByb2dkaXI9XCJcJHRoaXNkaXIvJG9iamRpclwiCiIKCWZpCgoJ
JEVDSE8gIlwKCiAgaWYgdGVzdCAtZiBcIlwkcHJvZ2Rpci9cJHByb2dyYW1c
IjsgdGhlbiIKCgkjIGZpeHVwIHRoZSBkbGwgc2VhcmNocGF0aCBpZiB3ZSBu
ZWVkIHRvLgoJIwoJIyBGaXggdGhlIERMTCBzZWFyY2hwYXRoIGlmIHdlIG5l
ZWQgdG8uICBEbyB0aGlzIGJlZm9yZSBwcmVwZW5kaW5nCgkjIHRvIHNobGli
cGF0aCwgYmVjYXVzZSBvbiBXaW5kb3dzLCBib3RoIGFyZSBQQVRIIGFuZCB1
bmluc3RhbGxlZAoJIyBsaWJyYXJpZXMgbXVzdCBjb21lIGZpcnN0LgoJaWYg
dGVzdCAtbiAiJGRsbHNlYXJjaHBhdGgiOyB0aGVuCgkgICRFQ0hPICJcCiAg
ICAjIEFkZCB0aGUgZGxsIHNlYXJjaCBwYXRoIGNvbXBvbmVudHMgdG8gdGhl
IGV4ZWN1dGFibGUgUEFUSAogICAgUEFUSD0kZGxsc2VhcmNocGF0aDpcJFBB
VEgKIgoJZmkKCgkjIEV4cG9ydCBvdXIgc2hsaWJwYXRoX3ZhciBpZiB3ZSBo
YXZlIG9uZS4KCWlmIHRlc3QgIiRzaGxpYnBhdGhfb3ZlcnJpZGVzX3J1bnBh
dGgiID0geWVzICYmIHRlc3QgLW4gIiRzaGxpYnBhdGhfdmFyIiAmJiB0ZXN0
IC1uICIkdGVtcF9ycGF0aCI7IHRoZW4KCSAgJEVDSE8gIlwKICAgICMgQWRk
IG91ciBvd24gbGlicmFyeSBwYXRoIHRvICRzaGxpYnBhdGhfdmFyCiAgICAk
c2hsaWJwYXRoX3Zhcj1cIiR0ZW1wX3JwYXRoXCQkc2hsaWJwYXRoX3Zhclwi
CgogICAgIyBTb21lIHN5c3RlbXMgY2Fubm90IGNvcGUgd2l0aCBjb2xvbi10
ZXJtaW5hdGVkICRzaGxpYnBhdGhfdmFyCiAgICAjIFRoZSBzZWNvbmQgY29s
b24gaXMgYSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiBCZU9TIFI0IHNlZAog
ICAgJHNobGlicGF0aF92YXI9XGBcJEVDSE8gXCJcJCRzaGxpYnBhdGhfdmFy
XCIgfCAkU0VEICdzLzo6KlwkLy8nXGAKCiAgICBleHBvcnQgJHNobGlicGF0
aF92YXIKIgoJZmkKCgkkRUNITyAiXAogICAgaWYgdGVzdCBcIlwkbGlidG9v
bF9leGVjdXRlX21hZ2ljXCIgIT0gXCIkbWFnaWNcIjsgdGhlbgogICAgICAj
IFJ1biB0aGUgYWN0dWFsIHByb2dyYW0gd2l0aCBvdXIgYXJndW1lbnRzLgog
ICAgICBmdW5jX2V4ZWNfcHJvZ3JhbSBcJHsxK1wiXCRAXCJ9CiAgICBmaQog
IGVsc2UKICAgICMgVGhlIHByb2dyYW0gZG9lc24ndCBleGlzdC4KICAgIFwk
RUNITyBcIlwkMDogZXJyb3I6IFxcXGBcJHByb2dkaXIvXCRwcm9ncmFtJyBk
b2VzIG5vdCBleGlzdFwiIDE+JjIKICAgIFwkRUNITyBcIlRoaXMgc2NyaXB0
IGlzIGp1c3QgYSB3cmFwcGVyIGZvciBcJHByb2dyYW0uXCIgMT4mMgogICAg
XCRFQ0hPIFwiU2VlIHRoZSAkUEFDS0FHRSBkb2N1bWVudGF0aW9uIGZvciBt
b3JlIGluZm9ybWF0aW9uLlwiIDE+JjIKICAgIGV4aXQgMQogIGZpCmZpXAoi
Cn0KCgojIGZ1bmNfZW1pdF9jd3JhcHBlcmV4ZV9zcmMKIyBlbWl0IHRoZSBz
b3VyY2UgY29kZSBmb3IgYSB3cmFwcGVyIGV4ZWN1dGFibGUgb24gc3Rkb3V0
CiMgTXVzdCBPTkxZIGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBmdW5jX21vZGVf
bGluayBiZWNhdXNlCiMgaXQgZGVwZW5kcyBvbiBhIG51bWJlciBvZiB2YXJp
YWJsZSBzZXQgdGhlcmVpbi4KZnVuY19lbWl0X2N3cmFwcGVyZXhlX3NyYyAo
KQp7CgljYXQgPDxFT0YKCi8qICRjd3JhcHBlcnNvdXJjZSAtIHRlbXBvcmFy
eSB3cmFwcGVyIGV4ZWN1dGFibGUgZm9yICRvYmpkaXIvJG91dHB1dG5hbWUK
ICAgR2VuZXJhdGVkIGJ5ICRQUk9HUkFNIChHTlUgJFBBQ0tBR0UkVElNRVNU
QU1QKSAkVkVSU0lPTgoKICAgVGhlICRvdXRwdXQgcHJvZ3JhbSBjYW5ub3Qg
YmUgZGlyZWN0bHkgZXhlY3V0ZWQgdW50aWwgYWxsIHRoZSBsaWJ0b29sCiAg
IGxpYnJhcmllcyB0aGF0IGl0IGRlcGVuZHMgb24gYXJlIGluc3RhbGxlZC4K
CiAgIFRoaXMgd3JhcHBlciBleGVjdXRhYmxlIHNob3VsZCBuZXZlciBiZSBt
b3ZlZCBvdXQgb2YgdGhlIGJ1aWxkIGRpcmVjdG9yeS4KICAgSWYgaXQgaXMs
IGl0IHdpbGwgbm90IG9wZXJhdGUgY29ycmVjdGx5LgoqLwpFT0YKCSAgICBj
YXQgPDwiRU9GIgojaWZkZWYgX01TQ19WRVIKIyBkZWZpbmUgX0NSVF9TRUNV
UkVfTk9fREVQUkVDQVRFIDEKI2VuZGlmCiNpbmNsdWRlIDxzdGRpby5oPgoj
aW5jbHVkZSA8c3RkbGliLmg+CiNpZmRlZiBfTVNDX1ZFUgojIGluY2x1ZGUg
PGRpcmVjdC5oPgojIGluY2x1ZGUgPHByb2Nlc3MuaD4KIyBpbmNsdWRlIDxp
by5oPgojZWxzZQojIGluY2x1ZGUgPHVuaXN0ZC5oPgojIGluY2x1ZGUgPHN0
ZGludC5oPgojIGlmZGVmIF9fQ1lHV0lOX18KIyAgaW5jbHVkZSA8aW8uaD4K
IyBlbmRpZgojZW5kaWYKI2luY2x1ZGUgPG1hbGxvYy5oPgojaW5jbHVkZSA8
c3RkYXJnLmg+CiNpbmNsdWRlIDxhc3NlcnQuaD4KI2luY2x1ZGUgPHN0cmlu
Zy5oPgojaW5jbHVkZSA8Y3R5cGUuaD4KI2luY2x1ZGUgPGVycm5vLmg+CiNp
bmNsdWRlIDxmY250bC5oPgojaW5jbHVkZSA8c3lzL3N0YXQuaD4KCi8qIGRl
Y2xhcmF0aW9ucyBvZiBub24tQU5TSSBmdW5jdGlvbnMgKi8KI2lmIGRlZmlu
ZWQoX19NSU5HVzMyX18pCiMgaWZkZWYgX19TVFJJQ1RfQU5TSV9fCmludCBf
cHV0ZW52IChjb25zdCBjaGFyICopOwojIGVuZGlmCiNlbGlmIGRlZmluZWQo
X19DWUdXSU5fXykKIyBpZmRlZiBfX1NUUklDVF9BTlNJX18KY2hhciAqcmVh
bHBhdGggKGNvbnN0IGNoYXIgKiwgY2hhciAqKTsKaW50IHB1dGVudiAoY2hh
ciAqKTsKaW50IHNldGVudiAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICos
IGludCk7CiMgZW5kaWYKLyogI2VsaWYgZGVmaW5lZCAob3RoZXIgcGxhdGZv
cm1zKSAuLi4gKi8KI2VuZGlmCgovKiBwb3J0YWJpbGl0eSBkZWZpbmVzLCBl
eGNsdWRpbmcgcGF0aCBoYW5kbGluZyBtYWNyb3MgKi8KI2lmIGRlZmluZWQo
X01TQ19WRVIpCiMgZGVmaW5lIHNldG1vZGUgX3NldG1vZGUKIyBkZWZpbmUg
c3RhdCAgICBfc3RhdAojIGRlZmluZSBjaG1vZCAgIF9jaG1vZAojIGRlZmlu
ZSBnZXRjd2QgIF9nZXRjd2QKIyBkZWZpbmUgcHV0ZW52ICBfcHV0ZW52CiMg
ZGVmaW5lIFNfSVhVU1IgX1NfSUVYRUMKIyBpZm5kZWYgX0lOVFBUUl9UX0RF
RklORUQKIyAgZGVmaW5lIF9JTlRQVFJfVF9ERUZJTkVECiMgIGRlZmluZSBp
bnRwdHJfdCBpbnQKIyBlbmRpZgojZWxpZiBkZWZpbmVkKF9fTUlOR1czMl9f
KQojIGRlZmluZSBzZXRtb2RlIF9zZXRtb2RlCiMgZGVmaW5lIHN0YXQgICAg
X3N0YXQKIyBkZWZpbmUgY2htb2QgICBfY2htb2QKIyBkZWZpbmUgZ2V0Y3dk
ICBfZ2V0Y3dkCiMgZGVmaW5lIHB1dGVudiAgX3B1dGVudgojZWxpZiBkZWZp
bmVkKF9fQ1lHV0lOX18pCiMgZGVmaW5lIEhBVkVfU0VURU5WCiMgZGVmaW5l
IEZPUEVOX1dCICJ3YiIKLyogI2VsaWYgZGVmaW5lZCAob3RoZXIgcGxhdGZv
cm1zKSAuLi4gKi8KI2VuZGlmCgojaWYgZGVmaW5lZChQQVRIX01BWCkKIyBk
ZWZpbmUgTFRfUEFUSE1BWCBQQVRIX01BWAojZWxpZiBkZWZpbmVkKE1BWFBB
VEhMRU4pCiMgZGVmaW5lIExUX1BBVEhNQVggTUFYUEFUSExFTgojZWxzZQoj
IGRlZmluZSBMVF9QQVRITUFYIDEwMjQKI2VuZGlmCgojaWZuZGVmIFNfSVhP
VEgKIyBkZWZpbmUgU19JWE9USCAwCiNlbmRpZgojaWZuZGVmIFNfSVhHUlAK
IyBkZWZpbmUgU19JWEdSUCAwCiNlbmRpZgoKLyogcGF0aCBoYW5kbGluZyBw
b3J0YWJpbGl0eSBtYWNyb3MgKi8KI2lmbmRlZiBESVJfU0VQQVJBVE9SCiMg
ZGVmaW5lIERJUl9TRVBBUkFUT1IgJy8nCiMgZGVmaW5lIFBBVEhfU0VQQVJB
VE9SICc6JwojZW5kaWYKCiNpZiBkZWZpbmVkIChfV0lOMzIpIHx8IGRlZmlu
ZWQgKF9fTVNET1NfXykgfHwgZGVmaW5lZCAoX19ESkdQUF9fKSB8fCBcCiAg
ZGVmaW5lZCAoX19PUzJfXykKIyBkZWZpbmUgSEFWRV9ET1NfQkFTRURfRklM
RV9TWVNURU0KIyBkZWZpbmUgRk9QRU5fV0IgIndiIgojIGlmbmRlZiBESVJf
U0VQQVJBVE9SXzIKIyAgZGVmaW5lIERJUl9TRVBBUkFUT1JfMiAnXFwnCiMg
ZW5kaWYKIyBpZm5kZWYgUEFUSF9TRVBBUkFUT1JfMgojICBkZWZpbmUgUEFU
SF9TRVBBUkFUT1JfMiAnOycKIyBlbmRpZgojZW5kaWYKCiNpZm5kZWYgRElS
X1NFUEFSQVRPUl8yCiMgZGVmaW5lIElTX0RJUl9TRVBBUkFUT1IoY2gpICgo
Y2gpID09IERJUl9TRVBBUkFUT1IpCiNlbHNlIC8qIERJUl9TRVBBUkFUT1Jf
MiAqLwojIGRlZmluZSBJU19ESVJfU0VQQVJBVE9SKGNoKSBcCgkoKChjaCkg
PT0gRElSX1NFUEFSQVRPUikgfHwgKChjaCkgPT0gRElSX1NFUEFSQVRPUl8y
KSkKI2VuZGlmIC8qIERJUl9TRVBBUkFUT1JfMiAqLwoKI2lmbmRlZiBQQVRI
X1NFUEFSQVRPUl8yCiMgZGVmaW5lIElTX1BBVEhfU0VQQVJBVE9SKGNoKSAo
KGNoKSA9PSBQQVRIX1NFUEFSQVRPUikKI2Vsc2UgLyogUEFUSF9TRVBBUkFU
T1JfMiAqLwojIGRlZmluZSBJU19QQVRIX1NFUEFSQVRPUihjaCkgKChjaCkg
PT0gUEFUSF9TRVBBUkFUT1JfMikKI2VuZGlmIC8qIFBBVEhfU0VQQVJBVE9S
XzIgKi8KCiNpZm5kZWYgRk9QRU5fV0IKIyBkZWZpbmUgRk9QRU5fV0IgInci
CiNlbmRpZgojaWZuZGVmIF9PX0JJTkFSWQojIGRlZmluZSBfT19CSU5BUlkg
MAojZW5kaWYKCiNkZWZpbmUgWE1BTExPQyh0eXBlLCBudW0pICAgICAgKCh0
eXBlICopIHhtYWxsb2MgKChudW0pICogc2l6ZW9mKHR5cGUpKSkKI2RlZmlu
ZSBYRlJFRShzdGFsZSkgZG8geyBcCiAgaWYgKHN0YWxlKSB7IGZyZWUgKCh2
b2lkICopIHN0YWxlKTsgc3RhbGUgPSAwOyB9IFwKfSB3aGlsZSAoMCkKCiNp
ZiBkZWZpbmVkKExUX0RFQlVHV1JBUFBFUikKc3RhdGljIGludCBsdF9kZWJ1
ZyA9IDE7CiNlbHNlCnN0YXRpYyBpbnQgbHRfZGVidWcgPSAwOwojZW5kaWYK
CmNvbnN0IGNoYXIgKnByb2dyYW1fbmFtZSA9ICJsaWJ0b29sLXdyYXBwZXIi
OyAvKiBpbiBjYXNlIHhzdHJkdXAgZmFpbHMgKi8KCnZvaWQgKnhtYWxsb2Mg
KHNpemVfdCBudW0pOwpjaGFyICp4c3RyZHVwIChjb25zdCBjaGFyICpzdHJp
bmcpOwpjb25zdCBjaGFyICpiYXNlX25hbWUgKGNvbnN0IGNoYXIgKm5hbWUp
OwpjaGFyICpmaW5kX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKndyYXBwZXIp
OwpjaGFyICpjaGFzZV9zeW1saW5rcyAoY29uc3QgY2hhciAqcGF0aHNwZWMp
OwppbnQgbWFrZV9leGVjdXRhYmxlIChjb25zdCBjaGFyICpwYXRoKTsKaW50
IGNoZWNrX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBhdGgpOwpjaGFyICpz
dHJlbmR6YXAgKGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcGF0KTsKdm9pZCBs
dF9kZWJ1Z3ByaW50ZiAoY29uc3QgY2hhciAqZmlsZSwgaW50IGxpbmUsIGNv
bnN0IGNoYXIgKmZtdCwgLi4uKTsKdm9pZCBsdF9mYXRhbCAoY29uc3QgY2hh
ciAqZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UsIC4uLik7
CnN0YXRpYyBjb25zdCBjaGFyICpub25udWxsIChjb25zdCBjaGFyICpzKTsK
c3RhdGljIGNvbnN0IGNoYXIgKm5vbmVtcHR5IChjb25zdCBjaGFyICpzKTsK
dm9pZCBsdF9zZXRlbnYgKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIg
KnZhbHVlKTsKY2hhciAqbHRfZXh0ZW5kX3N0ciAoY29uc3QgY2hhciAqb3Jp
Z192YWx1ZSwgY29uc3QgY2hhciAqYWRkLCBpbnQgdG9fZW5kKTsKdm9pZCBs
dF91cGRhdGVfZXhlX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNo
YXIgKnZhbHVlKTsKdm9pZCBsdF91cGRhdGVfbGliX3BhdGggKGNvbnN0IGNo
YXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKTsKY2hhciAqKnByZXBhcmVf
c3Bhd24gKGNoYXIgKiphcmd2KTsKdm9pZCBsdF9kdW1wX3NjcmlwdCAoRklM
RSAqZik7CkVPRgoKCSAgICBjYXQgPDxFT0YKdm9sYXRpbGUgY29uc3QgY2hh
ciAqIE1BR0lDX0VYRSA9ICIkbWFnaWNfZXhlIjsKY29uc3QgY2hhciAqIExJ
Ql9QQVRIX1ZBUk5BTUUgPSAiJHNobGlicGF0aF92YXIiOwpFT0YKCgkgICAg
aWYgdGVzdCAiJHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aCIgPSB5ZXMg
JiYgdGVzdCAtbiAiJHNobGlicGF0aF92YXIiICYmIHRlc3QgLW4gIiR0ZW1w
X3JwYXRoIjsgdGhlbgogICAgICAgICAgICAgIGZ1bmNfdG9faG9zdF9wYXRo
ICIkdGVtcF9ycGF0aCIKCSAgICAgIGNhdCA8PEVPRgpjb25zdCBjaGFyICog
TElCX1BBVEhfVkFMVUUgICA9ICIkZnVuY190b19ob3N0X3BhdGhfcmVzdWx0
IjsKRU9GCgkgICAgZWxzZQoJICAgICAgY2F0IDw8IkVPRiIKY29uc3QgY2hh
ciAqIExJQl9QQVRIX1ZBTFVFICAgPSAiIjsKRU9GCgkgICAgZmkKCgkgICAg
aWYgdGVzdCAtbiAiJGRsbHNlYXJjaHBhdGgiOyB0aGVuCiAgICAgICAgICAg
ICAgZnVuY190b19ob3N0X3BhdGggIiRkbGxzZWFyY2hwYXRoOiIKCSAgICAg
IGNhdCA8PEVPRgpjb25zdCBjaGFyICogRVhFX1BBVEhfVkFSTkFNRSA9ICJQ
QVRIIjsKY29uc3QgY2hhciAqIEVYRV9QQVRIX1ZBTFVFICAgPSAiJGZ1bmNf
dG9faG9zdF9wYXRoX3Jlc3VsdCI7CkVPRgoJICAgIGVsc2UKCSAgICAgIGNh
dCA8PCJFT0YiCmNvbnN0IGNoYXIgKiBFWEVfUEFUSF9WQVJOQU1FID0gIiI7
CmNvbnN0IGNoYXIgKiBFWEVfUEFUSF9WQUxVRSAgID0gIiI7CkVPRgoJICAg
IGZpCgoJICAgIGlmIHRlc3QgIiRmYXN0X2luc3RhbGwiID0geWVzOyB0aGVu
CgkgICAgICBjYXQgPDxFT0YKY29uc3QgY2hhciAqIFRBUkdFVF9QUk9HUkFN
X05BTUUgPSAibHQtJG91dHB1dG5hbWUiOyAvKiBob3BlZnVsbHksIG5vIC5l
eGUgKi8KRU9GCgkgICAgZWxzZQoJICAgICAgY2F0IDw8RU9GCmNvbnN0IGNo
YXIgKiBUQVJHRVRfUFJPR1JBTV9OQU1FID0gIiRvdXRwdXRuYW1lIjsgLyog
aG9wZWZ1bGx5LCBubyAuZXhlICovCkVPRgoJICAgIGZpCgoKCSAgICBjYXQg
PDwiRU9GIgoKI2RlZmluZSBMVFdSQVBQRVJfT1BUSU9OX1BSRUZJWCAgICAg
ICAgICItLWx0LSIKCnN0YXRpYyBjb25zdCBjaGFyICpsdHdyYXBwZXJfb3B0
aW9uX3ByZWZpeCA9IExUV1JBUFBFUl9PUFRJT05fUFJFRklYOwpzdGF0aWMg
Y29uc3QgY2hhciAqZHVtcHNjcmlwdF9vcHQgICAgICAgPSBMVFdSQVBQRVJf
T1BUSU9OX1BSRUZJWCAiZHVtcC1zY3JpcHQiOwpzdGF0aWMgY29uc3QgY2hh
ciAqZGVidWdfb3B0ICAgICAgICAgICAgPSBMVFdSQVBQRVJfT1BUSU9OX1BS
RUZJWCAiZGVidWciOwoKaW50Cm1haW4gKGludCBhcmdjLCBjaGFyICphcmd2
W10pCnsKICBjaGFyICoqbmV3YXJnejsKICBpbnQgIG5ld2FyZ2M7CiAgY2hh
ciAqdG1wX3BhdGhzcGVjOwogIGNoYXIgKmFjdHVhbF9jd3JhcHBlcl9wYXRo
OwogIGNoYXIgKmFjdHVhbF9jd3JhcHBlcl9uYW1lOwogIGNoYXIgKnRhcmdl
dF9uYW1lOwogIGNoYXIgKmx0X2FyZ3ZfemVybzsKICBpbnRwdHJfdCBydmFs
ID0gMTI3OwoKICBpbnQgaTsKCiAgcHJvZ3JhbV9uYW1lID0gKGNoYXIgKikg
eHN0cmR1cCAoYmFzZV9uYW1lIChhcmd2WzBdKSk7CiAgbmV3YXJneiA9IFhN
QUxMT0MgKGNoYXIgKiwgYXJnYyArIDEpOwoKICAvKiB2ZXJ5IHNpbXBsZSBh
cmcgcGFyc2luZzsgZG9uJ3Qgd2FudCB0byByZWx5IG9uIGdldG9wdAogICAq
IGFsc28sIGNvcHkgYWxsIG5vbiBjd3JhcHBlciBvcHRpb25zIHRvIG5ld2Fy
Z3osIGV4Y2VwdAogICAqIGFyZ3pbMF0sIHdoaWNoIGlzIGhhbmRsZWQgZGlm
ZmVyZW50bHkKICAgKi8KICBuZXdhcmdjPTA7CiAgZm9yIChpID0gMTsgaSA8
IGFyZ2M7IGkrKykKICAgIHsKICAgICAgaWYgKHN0cmNtcCAoYXJndltpXSwg
ZHVtcHNjcmlwdF9vcHQpID09IDApCgl7CkVPRgoJICAgIGNhc2UgIiRob3N0
IiBpbgoJICAgICAgKm1pbmd3KiB8ICpjeWd3aW4qICkKCQkjIG1ha2Ugc3Rk
b3V0IHVzZSAidW5peCIgbGluZSBlbmRpbmdzCgkJZWNobyAiICAgICAgICAg
IHNldG1vZGUoMSxfT19CSU5BUlkpOyIKCQk7OwoJICAgICAgZXNhYwoKCSAg
ICBjYXQgPDwiRU9GIgoJICBsdF9kdW1wX3NjcmlwdCAoc3Rkb3V0KTsKCSAg
cmV0dXJuIDA7Cgl9CiAgICAgIGlmIChzdHJjbXAgKGFyZ3ZbaV0sIGRlYnVn
X29wdCkgPT0gMCkKCXsKICAgICAgICAgIGx0X2RlYnVnID0gMTsKICAgICAg
ICAgIGNvbnRpbnVlOwoJfQogICAgICBpZiAoc3RyY21wIChhcmd2W2ldLCBs
dHdyYXBwZXJfb3B0aW9uX3ByZWZpeCkgPT0gMCkKICAgICAgICB7CiAgICAg
ICAgICAvKiBob3dldmVyLCBpZiB0aGVyZSBpcyBhbiBvcHRpb24gaW4gdGhl
IExUV1JBUFBFUl9PUFRJT05fUFJFRklYCiAgICAgICAgICAgICBuYW1lc3Bh
Y2UsIGJ1dCBpdCBpcyBub3Qgb25lIG9mIHRoZSBvbmVzIHdlIGtub3cgYWJv
dXQgYW5kCiAgICAgICAgICAgICBoYXZlIGFscmVhZHkgZGVhbHQgd2l0aCwg
YWJvdmUgKGlubHVkaW5nIGR1bXAtc2NyaXB0KSwgdGhlbgogICAgICAgICAg
ICAgcmVwb3J0IGFuIGVycm9yLiBPdGhlcndpc2UsIHRhcmdldHMgbWlnaHQg
YmVnaW4gdG8gYmVsaWV2ZQogICAgICAgICAgICAgdGhleSBhcmUgYWxsb3dl
ZCB0byB1c2Ugb3B0aW9ucyBpbiB0aGUgTFRXUkFQUEVSX09QVElPTl9QUkVG
SVgKICAgICAgICAgICAgIG5hbWVzcGFjZS4gVGhlIGZpcnN0IHRpbWUgYW55
IHVzZXIgY29tcGxhaW5zIGFib3V0IHRoaXMsIHdlJ2xsCiAgICAgICAgICAg
ICBuZWVkIHRvIG1ha2UgTFRXUkFQUEVSX09QVElPTl9QUkVGSVggYSBjb25m
aWd1cmUtdGltZSBvcHRpb24KICAgICAgICAgICAgIG9yIGEgY29uZmlndXJl
LmFjLXNldHRhYmxlIHZhbHVlLgogICAgICAgICAgICovCiAgICAgICAgICBs
dF9mYXRhbCAoX19GSUxFX18sIF9fTElORV9fLAoJCSAgICAidW5yZWNvZ25p
emVkICVzIG9wdGlvbjogJyVzJyIsCiAgICAgICAgICAgICAgICAgICAgbHR3
cmFwcGVyX29wdGlvbl9wcmVmaXgsIGFyZ3ZbaV0pOwogICAgICAgIH0KICAg
ICAgLyogb3RoZXJ3aXNlIC4uLiAqLwogICAgICBuZXdhcmd6WysrbmV3YXJn
Y10gPSB4c3RyZHVwIChhcmd2W2ldKTsKICAgIH0KICBuZXdhcmd6WysrbmV3
YXJnY10gPSBOVUxMOwoKRU9GCgkgICAgY2F0IDw8RU9GCiAgLyogVGhlIEdO
VSBiYW5uZXIgbXVzdCBiZSB0aGUgZmlyc3Qgbm9uLWVycm9yIGRlYnVnIG1l
c3NhZ2UgKi8KICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9f
LCAibGlidG9vbCB3cmFwcGVyIChHTlUgJFBBQ0tBR0UkVElNRVNUQU1QKSAk
VkVSU0lPTlxuIik7CkVPRgoJICAgIGNhdCA8PCJFT0YiCiAgbHRfZGVidWdw
cmludGYgKF9fRklMRV9fLCBfX0xJTkVfXywgIihtYWluKSBhcmd2WzBdOiAl
c1xuIiwgYXJndlswXSk7CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBf
X0xJTkVfXywgIihtYWluKSBwcm9ncmFtX25hbWU6ICVzXG4iLCBwcm9ncmFt
X25hbWUpOwoKICB0bXBfcGF0aHNwZWMgPSBmaW5kX2V4ZWN1dGFibGUgKGFy
Z3ZbMF0pOwogIGlmICh0bXBfcGF0aHNwZWMgPT0gTlVMTCkKICAgIGx0X2Zh
dGFsIChfX0ZJTEVfXywgX19MSU5FX18sICJjb3VsZG4ndCBmaW5kICVzIiwg
YXJndlswXSk7CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBfX0xJTkVf
XywKICAgICAgICAgICAgICAgICAgIihtYWluKSBmb3VuZCBleGUgKGJlZm9y
ZSBzeW1saW5rIGNoYXNlKSBhdDogJXNcbiIsCgkJICB0bXBfcGF0aHNwZWMp
OwoKICBhY3R1YWxfY3dyYXBwZXJfcGF0aCA9IGNoYXNlX3N5bWxpbmtzICh0
bXBfcGF0aHNwZWMpOwogIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19M
SU5FX18sCiAgICAgICAgICAgICAgICAgICIobWFpbikgZm91bmQgZXhlIChh
ZnRlciBzeW1saW5rIGNoYXNlKSBhdDogJXNcbiIsCgkJICBhY3R1YWxfY3dy
YXBwZXJfcGF0aCk7CiAgWEZSRUUgKHRtcF9wYXRoc3BlYyk7CgogIGFjdHVh
bF9jd3JhcHBlcl9uYW1lID0geHN0cmR1cCAoYmFzZV9uYW1lIChhY3R1YWxf
Y3dyYXBwZXJfcGF0aCkpOwogIHN0cmVuZHphcCAoYWN0dWFsX2N3cmFwcGVy
X3BhdGgsIGFjdHVhbF9jd3JhcHBlcl9uYW1lKTsKCiAgLyogd3JhcHBlciBu
YW1lIHRyYW5zZm9ybXMgKi8KICBzdHJlbmR6YXAgKGFjdHVhbF9jd3JhcHBl
cl9uYW1lLCAiLmV4ZSIpOwogIHRtcF9wYXRoc3BlYyA9IGx0X2V4dGVuZF9z
dHIgKGFjdHVhbF9jd3JhcHBlcl9uYW1lLCAiLmV4ZSIsIDEpOwogIFhGUkVF
IChhY3R1YWxfY3dyYXBwZXJfbmFtZSk7CiAgYWN0dWFsX2N3cmFwcGVyX25h
bWUgPSB0bXBfcGF0aHNwZWM7CiAgdG1wX3BhdGhzcGVjID0gMDsKCiAgLyog
dGFyZ2V0X25hbWUgdHJhbnNmb3JtcyAtLSB1c2UgYWN0dWFsIHRhcmdldCBw
cm9ncmFtIG5hbWU7IG1pZ2h0IGhhdmUgbHQtIHByZWZpeCAqLwogIHRhcmdl
dF9uYW1lID0geHN0cmR1cCAoYmFzZV9uYW1lIChUQVJHRVRfUFJPR1JBTV9O
QU1FKSk7CiAgc3RyZW5kemFwICh0YXJnZXRfbmFtZSwgIi5leGUiKTsKICB0
bXBfcGF0aHNwZWMgPSBsdF9leHRlbmRfc3RyICh0YXJnZXRfbmFtZSwgIi5l
eGUiLCAxKTsKICBYRlJFRSAodGFyZ2V0X25hbWUpOwogIHRhcmdldF9uYW1l
ID0gdG1wX3BhdGhzcGVjOwogIHRtcF9wYXRoc3BlYyA9IDA7CgogIGx0X2Rl
YnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18sCgkJICAiKG1haW4pIGxp
YnRvb2wgdGFyZ2V0IG5hbWU6ICVzXG4iLAoJCSAgdGFyZ2V0X25hbWUpOwpF
T0YKCgkgICAgY2F0IDw8RU9GCiAgbmV3YXJnelswXSA9CiAgICBYTUFMTE9D
IChjaGFyLCAoc3RybGVuIChhY3R1YWxfY3dyYXBwZXJfcGF0aCkgKwoJCSAg
ICBzdHJsZW4gKCIkb2JqZGlyIikgKyAxICsgc3RybGVuIChhY3R1YWxfY3dy
YXBwZXJfbmFtZSkgKyAxKSk7CiAgc3RyY3B5IChuZXdhcmd6WzBdLCBhY3R1
YWxfY3dyYXBwZXJfcGF0aCk7CiAgc3RyY2F0IChuZXdhcmd6WzBdLCAiJG9i
amRpciIpOwogIHN0cmNhdCAobmV3YXJnelswXSwgIi8iKTsKRU9GCgoJICAg
IGNhdCA8PCJFT0YiCiAgLyogc3RvcCBoZXJlLCBhbmQgY29weSBzbyB3ZSBk
b24ndCBoYXZlIHRvIGRvIHRoaXMgdHdpY2UgKi8KICB0bXBfcGF0aHNwZWMg
PSB4c3RyZHVwIChuZXdhcmd6WzBdKTsKCiAgLyogZG8gTk9UIHdhbnQgdGhl
IGx0LSBwcmVmaXggaGVyZSwgc28gdXNlIGFjdHVhbF9jd3JhcHBlcl9uYW1l
ICovCiAgc3RyY2F0IChuZXdhcmd6WzBdLCBhY3R1YWxfY3dyYXBwZXJfbmFt
ZSk7CgogIC8qIERPIHdhbnQgdGhlIGx0LSBwcmVmaXggaGVyZSBpZiBpdCBl
eGlzdHMsIHNvIHVzZSB0YXJnZXRfbmFtZSAqLwogIGx0X2FyZ3ZfemVybyA9
IGx0X2V4dGVuZF9zdHIgKHRtcF9wYXRoc3BlYywgdGFyZ2V0X25hbWUsIDEp
OwogIFhGUkVFICh0bXBfcGF0aHNwZWMpOwogIHRtcF9wYXRoc3BlYyA9IE5V
TEw7CkVPRgoKCSAgICBjYXNlICRob3N0X29zIGluCgkgICAgICBtaW5ndyop
CgkgICAgY2F0IDw8IkVPRiIKICB7CiAgICBjaGFyKiBwOwogICAgd2hpbGUg
KChwID0gc3RyY2hyIChuZXdhcmd6WzBdLCAnXFwnKSkgIT0gTlVMTCkKICAg
ICAgewoJKnAgPSAnLyc7CiAgICAgIH0KICAgIHdoaWxlICgocCA9IHN0cmNo
ciAobHRfYXJndl96ZXJvLCAnXFwnKSkgIT0gTlVMTCkKICAgICAgewoJKnAg
PSAnLyc7CiAgICAgIH0KICB9CkVPRgoJICAgIDs7CgkgICAgZXNhYwoKCSAg
ICBjYXQgPDwiRU9GIgogIFhGUkVFICh0YXJnZXRfbmFtZSk7CiAgWEZSRUUg
KGFjdHVhbF9jd3JhcHBlcl9wYXRoKTsKICBYRlJFRSAoYWN0dWFsX2N3cmFw
cGVyX25hbWUpOwoKICBsdF9zZXRlbnYgKCJCSU5fU0giLCAieHBnNCIpOyAv
KiBmb3IgVHJ1NjQgKi8KICBsdF9zZXRlbnYgKCJEVUFMQ0FTRSIsICIxIik7
ICAvKiBmb3IgTVNLIHNoICovCiAgLyogVXBkYXRlIHRoZSBETEwgc2VhcmNo
cGF0aC4gIEVYRV9QQVRIX1ZBTFVFICgkZGxsc2VhcmNocGF0aCkgbXVzdAog
ICAgIGJlIHByZXBlbmRlZCBiZWZvcmUgKHRoYXQgaXMsIGFwcGVhciBhZnRl
cikgTElCX1BBVEhfVkFMVUUgKCR0ZW1wX3JwYXRoKQogICAgIGJlY2F1c2Ug
b24gV2luZG93cywgYm90aCAqX1ZBUk5BTUVzIGFyZSBQQVRIIGJ1dCB1bmlu
c3RhbGxlZAogICAgIGxpYnJhcmllcyBtdXN0IGNvbWUgZmlyc3QuICovCiAg
bHRfdXBkYXRlX2V4ZV9wYXRoIChFWEVfUEFUSF9WQVJOQU1FLCBFWEVfUEFU
SF9WQUxVRSk7CiAgbHRfdXBkYXRlX2xpYl9wYXRoIChMSUJfUEFUSF9WQVJO
QU1FLCBMSUJfUEFUSF9WQUxVRSk7CgogIGx0X2RlYnVncHJpbnRmIChfX0ZJ
TEVfXywgX19MSU5FX18sICIobWFpbikgbHRfYXJndl96ZXJvOiAlc1xuIiwK
CQkgIG5vbm51bGwgKGx0X2FyZ3ZfemVybykpOwogIGZvciAoaSA9IDA7IGkg
PCBuZXdhcmdjOyBpKyspCiAgICB7CiAgICAgIGx0X2RlYnVncHJpbnRmIChf
X0ZJTEVfXywgX19MSU5FX18sICIobWFpbikgbmV3YXJnelslZF06ICVzXG4i
LAoJCSAgICAgIGksIG5vbm51bGwgKG5ld2FyZ3pbaV0pKTsKICAgIH0KCkVP
RgoKCSAgICBjYXNlICRob3N0X29zIGluCgkgICAgICBtaW5ndyopCgkJY2F0
IDw8IkVPRiIKICAvKiBleGVjdiBkb2Vzbid0IGFjdHVhbGx5IHdvcmsgb24g
bWluZ3cgYXMgZXhwZWN0ZWQgb24gdW5peCAqLwogIG5ld2FyZ3ogPSBwcmVw
YXJlX3NwYXduIChuZXdhcmd6KTsKICBydmFsID0gX3NwYXdudiAoX1BfV0FJ
VCwgbHRfYXJndl96ZXJvLCAoY29uc3QgY2hhciAqIGNvbnN0ICopIG5ld2Fy
Z3opOwogIGlmIChydmFsID09IC0xKQogICAgewogICAgICAvKiBmYWlsZWQg
dG8gc3RhcnQgcHJvY2VzcyAqLwogICAgICBsdF9kZWJ1Z3ByaW50ZiAoX19G
SUxFX18sIF9fTElORV9fLAoJCSAgICAgICIobWFpbikgZmFpbGVkIHRvIGxh
dW5jaCB0YXJnZXQgXCIlc1wiOiAlc1xuIiwKCQkgICAgICBsdF9hcmd2X3pl
cm8sIG5vbm51bGwgKHN0cmVycm9yIChlcnJubykpKTsKICAgICAgcmV0dXJu
IDEyNzsKICAgIH0KICByZXR1cm4gcnZhbDsKRU9GCgkJOzsKCSAgICAgICop
CgkJY2F0IDw8IkVPRiIKICBleGVjdiAobHRfYXJndl96ZXJvLCBuZXdhcmd6
KTsKICByZXR1cm4gcnZhbDsgLyogPTEyNywgYnV0IGF2b2lkcyB1bnVzZWQg
dmFyaWFibGUgd2FybmluZyAqLwpFT0YKCQk7OwoJICAgIGVzYWMKCgkgICAg
Y2F0IDw8IkVPRiIKfQoKdm9pZCAqCnhtYWxsb2MgKHNpemVfdCBudW0pCnsK
ICB2b2lkICpwID0gKHZvaWQgKikgbWFsbG9jIChudW0pOwogIGlmICghcCkK
ICAgIGx0X2ZhdGFsIChfX0ZJTEVfXywgX19MSU5FX18sICJtZW1vcnkgZXho
YXVzdGVkIik7CgogIHJldHVybiBwOwp9CgpjaGFyICoKeHN0cmR1cCAoY29u
c3QgY2hhciAqc3RyaW5nKQp7CiAgcmV0dXJuIHN0cmluZyA/IHN0cmNweSAo
KGNoYXIgKikgeG1hbGxvYyAoc3RybGVuIChzdHJpbmcpICsgMSksCgkJCSAg
c3RyaW5nKSA6IE5VTEw7Cn0KCmNvbnN0IGNoYXIgKgpiYXNlX25hbWUgKGNv
bnN0IGNoYXIgKm5hbWUpCnsKICBjb25zdCBjaGFyICpiYXNlOwoKI2lmIGRl
ZmluZWQgKEhBVkVfRE9TX0JBU0VEX0ZJTEVfU1lTVEVNKQogIC8qIFNraXAg
b3ZlciB0aGUgZGlzayBuYW1lIGluIE1TRE9TIHBhdGhuYW1lcy4gKi8KICBp
ZiAoaXNhbHBoYSAoKHVuc2lnbmVkIGNoYXIpIG5hbWVbMF0pICYmIG5hbWVb
MV0gPT0gJzonKQogICAgbmFtZSArPSAyOwojZW5kaWYKCiAgZm9yIChiYXNl
ID0gbmFtZTsgKm5hbWU7IG5hbWUrKykKICAgIGlmIChJU19ESVJfU0VQQVJB
VE9SICgqbmFtZSkpCiAgICAgIGJhc2UgPSBuYW1lICsgMTsKICByZXR1cm4g
YmFzZTsKfQoKaW50CmNoZWNrX2V4ZWN1dGFibGUgKGNvbnN0IGNoYXIgKnBh
dGgpCnsKICBzdHJ1Y3Qgc3RhdCBzdDsKCiAgbHRfZGVidWdwcmludGYgKF9f
RklMRV9fLCBfX0xJTkVfXywgIihjaGVja19leGVjdXRhYmxlKTogJXNcbiIs
CiAgICAgICAgICAgICAgICAgIG5vbmVtcHR5IChwYXRoKSk7CiAgaWYgKCgh
cGF0aCkgfHwgKCEqcGF0aCkpCiAgICByZXR1cm4gMDsKCiAgaWYgKChzdGF0
IChwYXRoLCAmc3QpID49IDApCiAgICAgICYmIChzdC5zdF9tb2RlICYgKFNf
SVhVU1IgfCBTX0lYR1JQIHwgU19JWE9USCkpKQogICAgcmV0dXJuIDE7CiAg
ZWxzZQogICAgcmV0dXJuIDA7Cn0KCmludAptYWtlX2V4ZWN1dGFibGUgKGNv
bnN0IGNoYXIgKnBhdGgpCnsKICBpbnQgcnZhbCA9IDA7CiAgc3RydWN0IHN0
YXQgc3Q7CgogIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18s
ICIobWFrZV9leGVjdXRhYmxlKTogJXNcbiIsCiAgICAgICAgICAgICAgICAg
IG5vbmVtcHR5IChwYXRoKSk7CiAgaWYgKCghcGF0aCkgfHwgKCEqcGF0aCkp
CiAgICByZXR1cm4gMDsKCiAgaWYgKHN0YXQgKHBhdGgsICZzdCkgPj0gMCkK
ICAgIHsKICAgICAgcnZhbCA9IGNobW9kIChwYXRoLCBzdC5zdF9tb2RlIHwg
U19JWE9USCB8IFNfSVhHUlAgfCBTX0lYVVNSKTsKICAgIH0KICByZXR1cm4g
cnZhbDsKfQoKLyogU2VhcmNoZXMgZm9yIHRoZSBmdWxsIHBhdGggb2YgdGhl
IHdyYXBwZXIuICBSZXR1cm5zCiAgIG5ld2x5IGFsbG9jYXRlZCBmdWxsIHBh
dGggbmFtZSBpZiBmb3VuZCwgTlVMTCBvdGhlcndpc2UKICAgRG9lcyBub3Qg
Y2hhc2Ugc3ltbGlua3MsIGV2ZW4gb24gcGxhdGZvcm1zIHRoYXQgc3VwcG9y
dCB0aGVtLgoqLwpjaGFyICoKZmluZF9leGVjdXRhYmxlIChjb25zdCBjaGFy
ICp3cmFwcGVyKQp7CiAgaW50IGhhc19zbGFzaCA9IDA7CiAgY29uc3QgY2hh
ciAqcDsKICBjb25zdCBjaGFyICpwX25leHQ7CiAgLyogc3RhdGljIGJ1ZmZl
ciBmb3IgZ2V0Y3dkICovCiAgY2hhciB0bXBbTFRfUEFUSE1BWCArIDFdOwog
IGludCB0bXBfbGVuOwogIGNoYXIgKmNvbmNhdF9uYW1lOwoKICBsdF9kZWJ1
Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9fLCAiKGZpbmRfZXhlY3V0YWJs
ZSk6ICVzXG4iLAogICAgICAgICAgICAgICAgICBub25lbXB0eSAod3JhcHBl
cikpOwoKICBpZiAoKHdyYXBwZXIgPT0gTlVMTCkgfHwgKCp3cmFwcGVyID09
ICdcMCcpKQogICAgcmV0dXJuIE5VTEw7CgogIC8qIEFic29sdXRlIHBhdGg/
ICovCiNpZiBkZWZpbmVkIChIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSkK
ICBpZiAoaXNhbHBoYSAoKHVuc2lnbmVkIGNoYXIpIHdyYXBwZXJbMF0pICYm
IHdyYXBwZXJbMV0gPT0gJzonKQogICAgewogICAgICBjb25jYXRfbmFtZSA9
IHhzdHJkdXAgKHdyYXBwZXIpOwogICAgICBpZiAoY2hlY2tfZXhlY3V0YWJs
ZSAoY29uY2F0X25hbWUpKQoJcmV0dXJuIGNvbmNhdF9uYW1lOwogICAgICBY
RlJFRSAoY29uY2F0X25hbWUpOwogICAgfQogIGVsc2UKICAgIHsKI2VuZGlm
CiAgICAgIGlmIChJU19ESVJfU0VQQVJBVE9SICh3cmFwcGVyWzBdKSkKCXsK
CSAgY29uY2F0X25hbWUgPSB4c3RyZHVwICh3cmFwcGVyKTsKCSAgaWYgKGNo
ZWNrX2V4ZWN1dGFibGUgKGNvbmNhdF9uYW1lKSkKCSAgICByZXR1cm4gY29u
Y2F0X25hbWU7CgkgIFhGUkVFIChjb25jYXRfbmFtZSk7Cgl9CiNpZiBkZWZp
bmVkIChIQVZFX0RPU19CQVNFRF9GSUxFX1NZU1RFTSkKICAgIH0KI2VuZGlm
CgogIGZvciAocCA9IHdyYXBwZXI7ICpwOyBwKyspCiAgICBpZiAoKnAgPT0g
Jy8nKQogICAgICB7CgloYXNfc2xhc2ggPSAxOwoJYnJlYWs7CiAgICAgIH0K
ICBpZiAoIWhhc19zbGFzaCkKICAgIHsKICAgICAgLyogbm8gc2xhc2hlczsg
c2VhcmNoIFBBVEggKi8KICAgICAgY29uc3QgY2hhciAqcGF0aCA9IGdldGVu
diAoIlBBVEgiKTsKICAgICAgaWYgKHBhdGggIT0gTlVMTCkKCXsKCSAgZm9y
IChwID0gcGF0aDsgKnA7IHAgPSBwX25leHQpCgkgICAgewoJICAgICAgY29u
c3QgY2hhciAqcTsKCSAgICAgIHNpemVfdCBwX2xlbjsKCSAgICAgIGZvciAo
cSA9IHA7ICpxOyBxKyspCgkJaWYgKElTX1BBVEhfU0VQQVJBVE9SICgqcSkp
CgkJICBicmVhazsKCSAgICAgIHBfbGVuID0gcSAtIHA7CgkgICAgICBwX25l
eHQgPSAoKnEgPT0gJ1wwJyA/IHEgOiBxICsgMSk7CgkgICAgICBpZiAocF9s
ZW4gPT0gMCkKCQl7CgkJICAvKiBlbXB0eSBwYXRoOiBjdXJyZW50IGRpcmVj
dG9yeSAqLwoJCSAgaWYgKGdldGN3ZCAodG1wLCBMVF9QQVRITUFYKSA9PSBO
VUxMKQoJCSAgICBsdF9mYXRhbCAoX19GSUxFX18sIF9fTElORV9fLCAiZ2V0
Y3dkIGZhaWxlZDogJXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBub25udWxsIChzdHJlcnJvciAoZXJybm8pKSk7CgkJICB0bXBfbGVuID0g
c3RybGVuICh0bXApOwoJCSAgY29uY2F0X25hbWUgPQoJCSAgICBYTUFMTE9D
IChjaGFyLCB0bXBfbGVuICsgMSArIHN0cmxlbiAod3JhcHBlcikgKyAxKTsK
CQkgIG1lbWNweSAoY29uY2F0X25hbWUsIHRtcCwgdG1wX2xlbik7CgkJICBj
b25jYXRfbmFtZVt0bXBfbGVuXSA9ICcvJzsKCQkgIHN0cmNweSAoY29uY2F0
X25hbWUgKyB0bXBfbGVuICsgMSwgd3JhcHBlcik7CgkJfQoJICAgICAgZWxz
ZQoJCXsKCQkgIGNvbmNhdF9uYW1lID0KCQkgICAgWE1BTExPQyAoY2hhciwg
cF9sZW4gKyAxICsgc3RybGVuICh3cmFwcGVyKSArIDEpOwoJCSAgbWVtY3B5
IChjb25jYXRfbmFtZSwgcCwgcF9sZW4pOwoJCSAgY29uY2F0X25hbWVbcF9s
ZW5dID0gJy8nOwoJCSAgc3RyY3B5IChjb25jYXRfbmFtZSArIHBfbGVuICsg
MSwgd3JhcHBlcik7CgkJfQoJICAgICAgaWYgKGNoZWNrX2V4ZWN1dGFibGUg
KGNvbmNhdF9uYW1lKSkKCQlyZXR1cm4gY29uY2F0X25hbWU7CgkgICAgICBY
RlJFRSAoY29uY2F0X25hbWUpOwoJICAgIH0KCX0KICAgICAgLyogbm90IGZv
dW5kIGluIFBBVEg7IGFzc3VtZSBjdXJkaXIgKi8KICAgIH0KICAvKiBSZWxh
dGl2ZSBwYXRoIHwgbm90IGZvdW5kIGluIHBhdGg6IHByZXBlbmQgY3dkICov
CiAgaWYgKGdldGN3ZCAodG1wLCBMVF9QQVRITUFYKSA9PSBOVUxMKQogICAg
bHRfZmF0YWwgKF9fRklMRV9fLCBfX0xJTkVfXywgImdldGN3ZCBmYWlsZWQ6
ICVzIiwKICAgICAgICAgICAgICBub25udWxsIChzdHJlcnJvciAoZXJybm8p
KSk7CiAgdG1wX2xlbiA9IHN0cmxlbiAodG1wKTsKICBjb25jYXRfbmFtZSA9
IFhNQUxMT0MgKGNoYXIsIHRtcF9sZW4gKyAxICsgc3RybGVuICh3cmFwcGVy
KSArIDEpOwogIG1lbWNweSAoY29uY2F0X25hbWUsIHRtcCwgdG1wX2xlbik7
CiAgY29uY2F0X25hbWVbdG1wX2xlbl0gPSAnLyc7CiAgc3RyY3B5IChjb25j
YXRfbmFtZSArIHRtcF9sZW4gKyAxLCB3cmFwcGVyKTsKCiAgaWYgKGNoZWNr
X2V4ZWN1dGFibGUgKGNvbmNhdF9uYW1lKSkKICAgIHJldHVybiBjb25jYXRf
bmFtZTsKICBYRlJFRSAoY29uY2F0X25hbWUpOwogIHJldHVybiBOVUxMOwp9
CgpjaGFyICoKY2hhc2Vfc3ltbGlua3MgKGNvbnN0IGNoYXIgKnBhdGhzcGVj
KQp7CiNpZm5kZWYgU19JU0xOSwogIHJldHVybiB4c3RyZHVwIChwYXRoc3Bl
Yyk7CiNlbHNlCiAgY2hhciBidWZbTFRfUEFUSE1BWF07CiAgc3RydWN0IHN0
YXQgczsKICBjaGFyICp0bXBfcGF0aHNwZWMgPSB4c3RyZHVwIChwYXRoc3Bl
Yyk7CiAgY2hhciAqcDsKICBpbnQgaGFzX3N5bWxpbmtzID0gMDsKICB3aGls
ZSAoc3RybGVuICh0bXBfcGF0aHNwZWMpICYmICFoYXNfc3ltbGlua3MpCiAg
ICB7CiAgICAgIGx0X2RlYnVncHJpbnRmIChfX0ZJTEVfXywgX19MSU5FX18s
CgkJICAgICAgImNoZWNraW5nIHBhdGggY29tcG9uZW50IGZvciBzeW1saW5r
czogJXNcbiIsCgkJICAgICAgdG1wX3BhdGhzcGVjKTsKICAgICAgaWYgKGxz
dGF0ICh0bXBfcGF0aHNwZWMsICZzKSA9PSAwKQoJewoJICBpZiAoU19JU0xO
SyAocy5zdF9tb2RlKSAhPSAwKQoJICAgIHsKCSAgICAgIGhhc19zeW1saW5r
cyA9IDE7CgkgICAgICBicmVhazsKCSAgICB9CgoJICAvKiBzZWFyY2ggYmFj
a3dhcmRzIGZvciBsYXN0IERJUl9TRVBBUkFUT1IgKi8KCSAgcCA9IHRtcF9w
YXRoc3BlYyArIHN0cmxlbiAodG1wX3BhdGhzcGVjKSAtIDE7CgkgIHdoaWxl
ICgocCA+IHRtcF9wYXRoc3BlYykgJiYgKCFJU19ESVJfU0VQQVJBVE9SICgq
cCkpKQoJICAgIHAtLTsKCSAgaWYgKChwID09IHRtcF9wYXRoc3BlYykgJiYg
KCFJU19ESVJfU0VQQVJBVE9SICgqcCkpKQoJICAgIHsKCSAgICAgIC8qIG5v
IG1vcmUgRElSX1NFUEFSQVRPUlMgbGVmdCAqLwoJICAgICAgYnJlYWs7Cgkg
ICAgfQoJICAqcCA9ICdcMCc7Cgl9CiAgICAgIGVsc2UKCXsKCSAgbHRfZmF0
YWwgKF9fRklMRV9fLCBfX0xJTkVfXywKCQkgICAgImVycm9yIGFjY2Vzc2lu
ZyBmaWxlIFwiJXNcIjogJXMiLAoJCSAgICB0bXBfcGF0aHNwZWMsIG5vbm51
bGwgKHN0cmVycm9yIChlcnJubykpKTsKCX0KICAgIH0KICBYRlJFRSAodG1w
X3BhdGhzcGVjKTsKCiAgaWYgKCFoYXNfc3ltbGlua3MpCiAgICB7CiAgICAg
IHJldHVybiB4c3RyZHVwIChwYXRoc3BlYyk7CiAgICB9CgogIHRtcF9wYXRo
c3BlYyA9IHJlYWxwYXRoIChwYXRoc3BlYywgYnVmKTsKICBpZiAodG1wX3Bh
dGhzcGVjID09IDApCiAgICB7CiAgICAgIGx0X2ZhdGFsIChfX0ZJTEVfXywg
X19MSU5FX18sCgkJImNvdWxkIG5vdCBmb2xsb3cgc3ltbGlua3MgZm9yICVz
IiwgcGF0aHNwZWMpOwogICAgfQogIHJldHVybiB4c3RyZHVwICh0bXBfcGF0
aHNwZWMpOwojZW5kaWYKfQoKY2hhciAqCnN0cmVuZHphcCAoY2hhciAqc3Ry
LCBjb25zdCBjaGFyICpwYXQpCnsKICBzaXplX3QgbGVuLCBwYXRsZW47Cgog
IGFzc2VydCAoc3RyICE9IE5VTEwpOwogIGFzc2VydCAocGF0ICE9IE5VTEwp
OwoKICBsZW4gPSBzdHJsZW4gKHN0cik7CiAgcGF0bGVuID0gc3RybGVuIChw
YXQpOwoKICBpZiAocGF0bGVuIDw9IGxlbikKICAgIHsKICAgICAgc3RyICs9
IGxlbiAtIHBhdGxlbjsKICAgICAgaWYgKHN0cmNtcCAoc3RyLCBwYXQpID09
IDApCgkqc3RyID0gJ1wwJzsKICAgIH0KICByZXR1cm4gc3RyOwp9Cgp2b2lk
Cmx0X2RlYnVncHJpbnRmIChjb25zdCBjaGFyICpmaWxlLCBpbnQgbGluZSwg
Y29uc3QgY2hhciAqZm10LCAuLi4pCnsKICB2YV9saXN0IGFyZ3M7CiAgaWYg
KGx0X2RlYnVnKQogICAgewogICAgICAodm9pZCkgZnByaW50ZiAoc3RkZXJy
LCAiJXM6JXM6JWQ6ICIsIHByb2dyYW1fbmFtZSwgZmlsZSwgbGluZSk7CiAg
ICAgIHZhX3N0YXJ0IChhcmdzLCBmbXQpOwogICAgICAodm9pZCkgdmZwcmlu
dGYgKHN0ZGVyciwgZm10LCBhcmdzKTsKICAgICAgdmFfZW5kIChhcmdzKTsK
ICAgIH0KfQoKc3RhdGljIHZvaWQKbHRfZXJyb3JfY29yZSAoaW50IGV4aXRf
c3RhdHVzLCBjb25zdCBjaGFyICpmaWxlLAoJICAgICAgIGludCBsaW5lLCBj
b25zdCBjaGFyICptb2RlLAoJICAgICAgIGNvbnN0IGNoYXIgKm1lc3NhZ2Us
IHZhX2xpc3QgYXApCnsKICBmcHJpbnRmIChzdGRlcnIsICIlczolczolZDog
JXM6ICIsIHByb2dyYW1fbmFtZSwgZmlsZSwgbGluZSwgbW9kZSk7CiAgdmZw
cmludGYgKHN0ZGVyciwgbWVzc2FnZSwgYXApOwogIGZwcmludGYgKHN0ZGVy
ciwgIi5cbiIpOwoKICBpZiAoZXhpdF9zdGF0dXMgPj0gMCkKICAgIGV4aXQg
KGV4aXRfc3RhdHVzKTsKfQoKdm9pZApsdF9mYXRhbCAoY29uc3QgY2hhciAq
ZmlsZSwgaW50IGxpbmUsIGNvbnN0IGNoYXIgKm1lc3NhZ2UsIC4uLikKewog
IHZhX2xpc3QgYXA7CiAgdmFfc3RhcnQgKGFwLCBtZXNzYWdlKTsKICBsdF9l
cnJvcl9jb3JlIChFWElUX0ZBSUxVUkUsIGZpbGUsIGxpbmUsICJGQVRBTCIs
IG1lc3NhZ2UsIGFwKTsKICB2YV9lbmQgKGFwKTsKfQoKc3RhdGljIGNvbnN0
IGNoYXIgKgpub25udWxsIChjb25zdCBjaGFyICpzKQp7CiAgcmV0dXJuIHMg
PyBzIDogIihudWxsKSI7Cn0KCnN0YXRpYyBjb25zdCBjaGFyICoKbm9uZW1w
dHkgKGNvbnN0IGNoYXIgKnMpCnsKICByZXR1cm4gKHMgJiYgISpzKSA/ICIo
ZW1wdHkpIiA6IG5vbm51bGwgKHMpOwp9Cgp2b2lkCmx0X3NldGVudiAoY29u
c3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCnsKICBsdF9kZWJ1
Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9fLAoJCSAgIihsdF9zZXRlbnYp
IHNldHRpbmcgJyVzJyB0byAnJXMnXG4iLAogICAgICAgICAgICAgICAgICBu
b25udWxsIChuYW1lKSwgbm9ubnVsbCAodmFsdWUpKTsKICB7CiNpZmRlZiBI
QVZFX1NFVEVOVgogICAgLyogYWx3YXlzIG1ha2UgYSBjb3B5LCBmb3IgY29u
c2lzdGVuY3kgd2l0aCAhSEFWRV9TRVRFTlYgKi8KICAgIGNoYXIgKnN0ciA9
IHhzdHJkdXAgKHZhbHVlKTsKICAgIHNldGVudiAobmFtZSwgc3RyLCAxKTsK
I2Vsc2UKICAgIGludCBsZW4gPSBzdHJsZW4gKG5hbWUpICsgMSArIHN0cmxl
biAodmFsdWUpICsgMTsKICAgIGNoYXIgKnN0ciA9IFhNQUxMT0MgKGNoYXIs
IGxlbik7CiAgICBzcHJpbnRmIChzdHIsICIlcz0lcyIsIG5hbWUsIHZhbHVl
KTsKICAgIGlmIChwdXRlbnYgKHN0cikgIT0gRVhJVF9TVUNDRVNTKQogICAg
ICB7CiAgICAgICAgWEZSRUUgKHN0cik7CiAgICAgIH0KI2VuZGlmCiAgfQp9
CgpjaGFyICoKbHRfZXh0ZW5kX3N0ciAoY29uc3QgY2hhciAqb3JpZ192YWx1
ZSwgY29uc3QgY2hhciAqYWRkLCBpbnQgdG9fZW5kKQp7CiAgY2hhciAqbmV3
X3ZhbHVlOwogIGlmIChvcmlnX3ZhbHVlICYmICpvcmlnX3ZhbHVlKQogICAg
ewogICAgICBpbnQgb3JpZ192YWx1ZV9sZW4gPSBzdHJsZW4gKG9yaWdfdmFs
dWUpOwogICAgICBpbnQgYWRkX2xlbiA9IHN0cmxlbiAoYWRkKTsKICAgICAg
bmV3X3ZhbHVlID0gWE1BTExPQyAoY2hhciwgYWRkX2xlbiArIG9yaWdfdmFs
dWVfbGVuICsgMSk7CiAgICAgIGlmICh0b19lbmQpCiAgICAgICAgewogICAg
ICAgICAgc3RyY3B5IChuZXdfdmFsdWUsIG9yaWdfdmFsdWUpOwogICAgICAg
ICAgc3RyY3B5IChuZXdfdmFsdWUgKyBvcmlnX3ZhbHVlX2xlbiwgYWRkKTsK
ICAgICAgICB9CiAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICBzdHJj
cHkgKG5ld192YWx1ZSwgYWRkKTsKICAgICAgICAgIHN0cmNweSAobmV3X3Zh
bHVlICsgYWRkX2xlbiwgb3JpZ192YWx1ZSk7CiAgICAgICAgfQogICAgfQog
IGVsc2UKICAgIHsKICAgICAgbmV3X3ZhbHVlID0geHN0cmR1cCAoYWRkKTsK
ICAgIH0KICByZXR1cm4gbmV3X3ZhbHVlOwp9Cgp2b2lkCmx0X3VwZGF0ZV9l
eGVfcGF0aCAoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUp
CnsKICBsdF9kZWJ1Z3ByaW50ZiAoX19GSUxFX18sIF9fTElORV9fLAoJCSAg
IihsdF91cGRhdGVfZXhlX3BhdGgpIG1vZGlmeWluZyAnJXMnIGJ5IHByZXBl
bmRpbmcgJyVzJ1xuIiwKICAgICAgICAgICAgICAgICAgbm9ubnVsbCAobmFt
ZSksIG5vbm51bGwgKHZhbHVlKSk7CgogIGlmIChuYW1lICYmICpuYW1lICYm
IHZhbHVlICYmICp2YWx1ZSkKICAgIHsKICAgICAgY2hhciAqbmV3X3ZhbHVl
ID0gbHRfZXh0ZW5kX3N0ciAoZ2V0ZW52IChuYW1lKSwgdmFsdWUsIDApOwog
ICAgICAvKiBzb21lIHN5c3RlbXMgY2FuJ3QgY29wZSB3aXRoIGEgJzonLXRl
cm1pbmF0ZWQgcGF0aCAjJyAqLwogICAgICBpbnQgbGVuID0gc3RybGVuIChu
ZXdfdmFsdWUpOwogICAgICB3aGlsZSAoKChsZW4gPSBzdHJsZW4gKG5ld192
YWx1ZSkpID4gMCkgJiYgSVNfUEFUSF9TRVBBUkFUT1IgKG5ld192YWx1ZVts
ZW4tMV0pKQogICAgICAgIHsKICAgICAgICAgIG5ld192YWx1ZVtsZW4tMV0g
PSAnXDAnOwogICAgICAgIH0KICAgICAgbHRfc2V0ZW52IChuYW1lLCBuZXdf
dmFsdWUpOwogICAgICBYRlJFRSAobmV3X3ZhbHVlKTsKICAgIH0KfQoKdm9p
ZApsdF91cGRhdGVfbGliX3BhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0
IGNoYXIgKnZhbHVlKQp7CiAgbHRfZGVidWdwcmludGYgKF9fRklMRV9fLCBf
X0xJTkVfXywKCQkgICIobHRfdXBkYXRlX2xpYl9wYXRoKSBtb2RpZnlpbmcg
JyVzJyBieSBwcmVwZW5kaW5nICclcydcbiIsCiAgICAgICAgICAgICAgICAg
IG5vbm51bGwgKG5hbWUpLCBub25udWxsICh2YWx1ZSkpOwoKICBpZiAobmFt
ZSAmJiAqbmFtZSAmJiB2YWx1ZSAmJiAqdmFsdWUpCiAgICB7CiAgICAgIGNo
YXIgKm5ld192YWx1ZSA9IGx0X2V4dGVuZF9zdHIgKGdldGVudiAobmFtZSks
IHZhbHVlLCAwKTsKICAgICAgbHRfc2V0ZW52IChuYW1lLCBuZXdfdmFsdWUp
OwogICAgICBYRlJFRSAobmV3X3ZhbHVlKTsKICAgIH0KfQoKRU9GCgkgICAg
Y2FzZSAkaG9zdF9vcyBpbgoJICAgICAgbWluZ3cqKQoJCWNhdCA8PCJFT0Yi
CgovKiBQcmVwYXJlcyBhbiBhcmd1bWVudCB2ZWN0b3IgYmVmb3JlIGNhbGxp
bmcgc3Bhd24oKS4KICAgTm90ZSB0aGF0IHNwYXduKCkgZG9lcyBub3QgYnkg
aXRzZWxmIGNhbGwgdGhlIGNvbW1hbmQgaW50ZXJwcmV0ZXIKICAgICAoZ2V0
ZW52ICgiQ09NU1BFQyIpICE9IE5VTEwgPyBnZXRlbnYgKCJDT01TUEVDIikg
OgogICAgICAoeyBPU1ZFUlNJT05JTkZPIHY7IHYuZHdPU1ZlcnNpb25JbmZv
U2l6ZSA9IHNpemVvZihPU1ZFUlNJT05JTkZPKTsKICAgICAgICAgR2V0VmVy
c2lvbkV4KCZ2KTsKICAgICAgICAgdi5kd1BsYXRmb3JtSWQgPT0gVkVSX1BM
QVRGT1JNX1dJTjMyX05UOwogICAgICB9KSA/ICJjbWQuZXhlIiA6ICJjb21t
YW5kLmNvbSIpLgogICBJbnN0ZWFkIGl0IHNpbXBseSBjb25jYXRlbmF0ZXMg
dGhlIGFyZ3VtZW50cywgc2VwYXJhdGVkIGJ5ICcgJywgYW5kIGNhbGxzCiAg
IENyZWF0ZVByb2Nlc3MoKS4gIFdlIG11c3QgcXVvdGUgdGhlIGFyZ3VtZW50
cyBzaW5jZSBXaW4zMiBDcmVhdGVQcm9jZXNzKCkKICAgaW50ZXJwcmV0cyBj
aGFyYWN0ZXJzIGxpa2UgJyAnLCAnXHQnLCAnXFwnLCAnIicgKGJ1dCBub3Qg
JzwnIGFuZCAnPicpIGluIGEKICAgc3BlY2lhbCB3YXk6CiAgIC0gU3BhY2Ug
YW5kIHRhYiBhcmUgaW50ZXJwcmV0ZWQgYXMgZGVsaW1pdGVycy4gVGhleSBh
cmUgbm90IHRyZWF0ZWQgYXMKICAgICBkZWxpbWl0ZXJzIGlmIHRoZXkgYXJl
IHN1cnJvdW5kZWQgYnkgZG91YmxlIHF1b3RlczogIi4uLiIuCiAgIC0gVW5l
c2NhcGVkIGRvdWJsZSBxdW90ZXMgYXJlIHJlbW92ZWQgZnJvbSB0aGUgaW5w
dXQuIFRoZWlyIG9ubHkgZWZmZWN0IGlzCiAgICAgdGhhdCB3aXRoaW4gZG91
YmxlIHF1b3Rlcywgc3BhY2UgYW5kIHRhYiBhcmUgdHJlYXRlZCBsaWtlIG5v
cm1hbAogICAgIGNoYXJhY3RlcnMuCiAgIC0gQmFja3NsYXNoZXMgbm90IGZv
bGxvd2VkIGJ5IGRvdWJsZSBxdW90ZXMgYXJlIG5vdCBzcGVjaWFsLgogICAt
IEJ1dCAyKm4rMSBiYWNrc2xhc2hlcyBmb2xsb3dlZCBieSBhIGRvdWJsZSBx
dW90ZSBiZWNvbWUKICAgICBuIGJhY2tzbGFzaGVzIGZvbGxvd2VkIGJ5IGEg
ZG91YmxlIHF1b3RlIChuID49IDApOgogICAgICAgXCIgLT4gIgogICAgICAg
XFxcIiAtPiBcIgogICAgICAgXFxcXFwiIC0+IFxcIgogKi8KI2RlZmluZSBT
SEVMTF9TUEVDSUFMX0NIQVJTICJcIlxcIFwwMDFcMDAyXDAwM1wwMDRcMDA1
XDAwNlwwMDdcMDEwXDAxMVwwMTJcMDEzXDAxNFwwMTVcMDE2XDAxN1wwMjBc
MDIxXDAyMlwwMjNcMDI0XDAyNVwwMjZcMDI3XDAzMFwwMzFcMDMyXDAzM1ww
MzRcMDM1XDAzNlwwMzciCiNkZWZpbmUgU0hFTExfU1BBQ0VfQ0hBUlMgIiBc
MDAxXDAwMlwwMDNcMDA0XDAwNVwwMDZcMDA3XDAxMFwwMTFcMDEyXDAxM1ww
MTRcMDE1XDAxNlwwMTdcMDIwXDAyMVwwMjJcMDIzXDAyNFwwMjVcMDI2XDAy
N1wwMzBcMDMxXDAzMlwwMzNcMDM0XDAzNVwwMzZcMDM3IgpjaGFyICoqCnBy
ZXBhcmVfc3Bhd24gKGNoYXIgKiphcmd2KQp7CiAgc2l6ZV90IGFyZ2M7CiAg
Y2hhciAqKm5ld19hcmd2OwogIHNpemVfdCBpOwoKICAvKiBDb3VudCBudW1i
ZXIgb2YgYXJndW1lbnRzLiAgKi8KICBmb3IgKGFyZ2MgPSAwOyBhcmd2W2Fy
Z2NdICE9IE5VTEw7IGFyZ2MrKykKICAgIDsKCiAgLyogQWxsb2NhdGUgbmV3
IGFyZ3VtZW50IHZlY3Rvci4gICovCiAgbmV3X2FyZ3YgPSBYTUFMTE9DIChj
aGFyICosIGFyZ2MgKyAxKTsKCiAgLyogUHV0IHF1b3RlZCBhcmd1bWVudHMg
aW50byB0aGUgbmV3IGFyZ3VtZW50IHZlY3Rvci4gICovCiAgZm9yIChpID0g
MDsgaSA8IGFyZ2M7IGkrKykKICAgIHsKICAgICAgY29uc3QgY2hhciAqc3Ry
aW5nID0gYXJndltpXTsKCiAgICAgIGlmIChzdHJpbmdbMF0gPT0gJ1wwJykK
CW5ld19hcmd2W2ldID0geHN0cmR1cCAoIlwiXCIiKTsKICAgICAgZWxzZSBp
ZiAoc3RycGJyayAoc3RyaW5nLCBTSEVMTF9TUEVDSUFMX0NIQVJTKSAhPSBO
VUxMKQoJewoJICBpbnQgcXVvdGVfYXJvdW5kID0gKHN0cnBicmsgKHN0cmlu
ZywgU0hFTExfU1BBQ0VfQ0hBUlMpICE9IE5VTEwpOwoJICBzaXplX3QgbGVu
Z3RoOwoJICB1bnNpZ25lZCBpbnQgYmFja3NsYXNoZXM7CgkgIGNvbnN0IGNo
YXIgKnM7CgkgIGNoYXIgKnF1b3RlZF9zdHJpbmc7CgkgIGNoYXIgKnA7CgoJ
ICBsZW5ndGggPSAwOwoJICBiYWNrc2xhc2hlcyA9IDA7CgkgIGlmIChxdW90
ZV9hcm91bmQpCgkgICAgbGVuZ3RoKys7CgkgIGZvciAocyA9IHN0cmluZzsg
KnMgIT0gJ1wwJzsgcysrKQoJICAgIHsKCSAgICAgIGNoYXIgYyA9ICpzOwoJ
ICAgICAgaWYgKGMgPT0gJyInKQoJCWxlbmd0aCArPSBiYWNrc2xhc2hlcyAr
IDE7CgkgICAgICBsZW5ndGgrKzsKCSAgICAgIGlmIChjID09ICdcXCcpCgkJ
YmFja3NsYXNoZXMrKzsKCSAgICAgIGVsc2UKCQliYWNrc2xhc2hlcyA9IDA7
CgkgICAgfQoJICBpZiAocXVvdGVfYXJvdW5kKQoJICAgIGxlbmd0aCArPSBi
YWNrc2xhc2hlcyArIDE7CgoJICBxdW90ZWRfc3RyaW5nID0gWE1BTExPQyAo
Y2hhciwgbGVuZ3RoICsgMSk7CgoJICBwID0gcXVvdGVkX3N0cmluZzsKCSAg
YmFja3NsYXNoZXMgPSAwOwoJICBpZiAocXVvdGVfYXJvdW5kKQoJICAgICpw
KysgPSAnIic7CgkgIGZvciAocyA9IHN0cmluZzsgKnMgIT0gJ1wwJzsgcysr
KQoJICAgIHsKCSAgICAgIGNoYXIgYyA9ICpzOwoJICAgICAgaWYgKGMgPT0g
JyInKQoJCXsKCQkgIHVuc2lnbmVkIGludCBqOwoJCSAgZm9yIChqID0gYmFj
a3NsYXNoZXMgKyAxOyBqID4gMDsgai0tKQoJCSAgICAqcCsrID0gJ1xcJzsK
CQl9CgkgICAgICAqcCsrID0gYzsKCSAgICAgIGlmIChjID09ICdcXCcpCgkJ
YmFja3NsYXNoZXMrKzsKCSAgICAgIGVsc2UKCQliYWNrc2xhc2hlcyA9IDA7
CgkgICAgfQoJICBpZiAocXVvdGVfYXJvdW5kKQoJICAgIHsKCSAgICAgIHVu
c2lnbmVkIGludCBqOwoJICAgICAgZm9yIChqID0gYmFja3NsYXNoZXM7IGog
PiAwOyBqLS0pCgkJKnArKyA9ICdcXCc7CgkgICAgICAqcCsrID0gJyInOwoJ
ICAgIH0KCSAgKnAgPSAnXDAnOwoKCSAgbmV3X2FyZ3ZbaV0gPSBxdW90ZWRf
c3RyaW5nOwoJfQogICAgICBlbHNlCgluZXdfYXJndltpXSA9IChjaGFyICop
IHN0cmluZzsKICAgIH0KICBuZXdfYXJndlthcmdjXSA9IE5VTEw7CgogIHJl
dHVybiBuZXdfYXJndjsKfQpFT0YKCQk7OwoJICAgIGVzYWMKCiAgICAgICAg
ICAgIGNhdCA8PCJFT0YiCnZvaWQgbHRfZHVtcF9zY3JpcHQgKEZJTEUqIGYp
CnsKRU9GCgkgICAgZnVuY19lbWl0X3dyYXBwZXIgeWVzIHwKCSAgICAgICRT
RUQgLW4gLWUgJwpzL15cKC5cezc5XH1cKVwoLi4qXCkvXDFcClwyLwpoCnMv
XChbXFwiXVwpL1xcXDEvZwpzLyQvXFxuLwpzL1woW15cbl0qXCkuKi8gIGZw
dXRzICgiXDEiLCBmKTsvcApnCkQnCiAgICAgICAgICAgIGNhdCA8PCJFT0Yi
Cn0KRU9GCn0KIyBlbmQ6IGZ1bmNfZW1pdF9jd3JhcHBlcmV4ZV9zcmMKCiMg
ZnVuY193aW4zMl9pbXBvcnRfbGliX3AgQVJHCiMgVHJ1ZSBpZiBBUkcgaXMg
YW4gaW1wb3J0IGxpYiwgYXMgaW5kaWNhdGVkIGJ5ICRmaWxlX21hZ2ljX2Nt
ZApmdW5jX3dpbjMyX2ltcG9ydF9saWJfcCAoKQp7CiAgICAkb3B0X2RlYnVn
CiAgICBjYXNlIGBldmFsICRmaWxlX21hZ2ljX2NtZCBcIlwkMVwiIDI+L2Rl
di9udWxsIHwgJFNFRCAtZSAxMHFgIGluCiAgICAqaW1wb3J0KikgOiA7Owog
ICAgKikgZmFsc2UgOzsKICAgIGVzYWMKfQoKIyBmdW5jX21vZGVfbGluayBh
cmcuLi4KZnVuY19tb2RlX2xpbmsgKCkKewogICAgJG9wdF9kZWJ1ZwogICAg
Y2FzZSAkaG9zdCBpbgogICAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwg
Ki0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLWNlZ2NjKikKICAgICAgIyBJdCBp
cyBpbXBvc3NpYmxlIHRvIGxpbmsgYSBkbGwgd2l0aG91dCB0aGlzIHNldHRp
bmcsIGFuZAogICAgICAjIHdlIHNob3VsZG4ndCBmb3JjZSB0aGUgbWFrZWZp
bGUgbWFpbnRhaW5lciB0byBmaWd1cmUgb3V0CiAgICAgICMgd2hpY2ggc3lz
dGVtIHdlIGFyZSBjb21waWxpbmcgZm9yIGluIG9yZGVyIHRvIHBhc3MgYW4g
ZXh0cmEKICAgICAgIyBmbGFnIGZvciBldmVyeSBsaWJ0b29sIGludm9jYXRp
b24uCiAgICAgICMgYWxsb3dfdW5kZWZpbmVkPW5vCgogICAgICAjIEZJWE1F
OiBVbmZvcnR1bmF0ZWx5LCB0aGVyZSBhcmUgcHJvYmxlbXMgd2l0aCB0aGUg
YWJvdmUgd2hlbiB0cnlpbmcKICAgICAgIyB0byBtYWtlIGEgZGxsIHdoaWNo
IGhhcyB1bmRlZmluZWQgc3ltYm9scywgaW4gd2hpY2ggY2FzZSBub3QKICAg
ICAgIyBldmVuIGEgc3RhdGljIGxpYnJhcnkgaXMgYnVpbHQuICBGb3Igbm93
LCB3ZSBuZWVkIHRvIHNwZWNpZnkKICAgICAgIyAtbm8tdW5kZWZpbmVkIG9u
IHRoZSBsaWJ0b29sIGxpbmsgbGluZSB3aGVuIHdlIGNhbiBiZSBjZXJ0YWlu
CiAgICAgICMgdGhhdCBhbGwgc3ltYm9scyBhcmUgc2F0aXNmaWVkLCBvdGhl
cndpc2Ugd2UgZ2V0IGEgc3RhdGljIGxpYnJhcnkuCiAgICAgIGFsbG93X3Vu
ZGVmaW5lZD15ZXMKICAgICAgOzsKICAgICopCiAgICAgIGFsbG93X3VuZGVm
aW5lZD15ZXMKICAgICAgOzsKICAgIGVzYWMKICAgIGxpYnRvb2xfYXJncz0k
bm9ub3B0CiAgICBiYXNlX2NvbXBpbGU9IiRub25vcHQgJEAiCiAgICBjb21w
aWxlX2NvbW1hbmQ9JG5vbm9wdAogICAgZmluYWxpemVfY29tbWFuZD0kbm9u
b3B0CgogICAgY29tcGlsZV9ycGF0aD0KICAgIGZpbmFsaXplX3JwYXRoPQog
ICAgY29tcGlsZV9zaGxpYnBhdGg9CiAgICBmaW5hbGl6ZV9zaGxpYnBhdGg9
CiAgICBjb252ZW5pZW5jZT0KICAgIG9sZF9jb252ZW5pZW5jZT0KICAgIGRl
cGxpYnM9CiAgICBvbGRfZGVwbGlicz0KICAgIGNvbXBpbGVyX2ZsYWdzPQog
ICAgbGlua2VyX2ZsYWdzPQogICAgZGxsc2VhcmNocGF0aD0KICAgIGxpYl9z
ZWFyY2hfcGF0aD1gcHdkYAogICAgaW5zdF9wcmVmaXhfZGlyPQogICAgbmV3
X2luaGVyaXRlZF9saW5rZXJfZmxhZ3M9CgogICAgYXZvaWRfdmVyc2lvbj1u
bwogICAgYmluZGlyPQogICAgZGxmaWxlcz0KICAgIGRscHJlZmlsZXM9CiAg
ICBkbHNlbGY9bm8KICAgIGV4cG9ydF9keW5hbWljPW5vCiAgICBleHBvcnRf
c3ltYm9scz0KICAgIGV4cG9ydF9zeW1ib2xzX3JlZ2V4PQogICAgZ2VuZXJh
dGVkPQogICAgbGlib2Jqcz0KICAgIGx0bGlicz0KICAgIG1vZHVsZT1ubwog
ICAgbm9faW5zdGFsbD1ubwogICAgb2Jqcz0KICAgIG5vbl9waWNfb2JqZWN0
cz0KICAgIHByZWNpb3VzX2ZpbGVzX3JlZ2V4PQogICAgcHJlZmVyX3N0YXRp
Y19saWJzPW5vCiAgICBwcmVsb2FkPW5vCiAgICBwcmV2PQogICAgcHJldmFy
Zz0KICAgIHJlbGVhc2U9CiAgICBycGF0aD0KICAgIHhycGF0aD0KICAgIHBl
cm1fcnBhdGg9CiAgICB0ZW1wX3JwYXRoPQogICAgdGhyZWFkX3NhZmU9bm8K
ICAgIHZpbmZvPQogICAgdmluZm9fbnVtYmVyPW5vCiAgICB3ZWFrX2xpYnM9
CiAgICBzaW5nbGVfbW9kdWxlPSIke3dsfS1zaW5nbGVfbW9kdWxlIgogICAg
ZnVuY19pbmZlcl90YWcgJGJhc2VfY29tcGlsZQoKICAgICMgV2UgbmVlZCB0
byBrbm93IC1zdGF0aWMsIHRvIGdldCB0aGUgcmlnaHQgb3V0cHV0IGZpbGVu
YW1lcy4KICAgIGZvciBhcmcKICAgIGRvCiAgICAgIGNhc2UgJGFyZyBpbgog
ICAgICAtc2hhcmVkKQoJdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0g
eWVzICYmIFwKCSAgZnVuY19mYXRhbF9jb25maWd1cmF0aW9uICJjYW4gbm90
IGJ1aWxkIGEgc2hhcmVkIGxpYnJhcnkiCglidWlsZF9vbGRfbGlicz1ubwoJ
YnJlYWsKCTs7CiAgICAgIC1hbGwtc3RhdGljIHwgLXN0YXRpYyB8IC1zdGF0
aWMtbGlidG9vbC1saWJzKQoJY2FzZSAkYXJnIGluCgktYWxsLXN0YXRpYykK
CSAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXMgJiYgdGVz
dCAteiAiJGxpbmtfc3RhdGljX2ZsYWciOyB0aGVuCgkgICAgZnVuY193YXJu
aW5nICJjb21wbGV0ZSBzdGF0aWMgbGlua2luZyBpcyBpbXBvc3NpYmxlIGlu
IHRoaXMgY29uZmlndXJhdGlvbiIKCSAgZmkKCSAgaWYgdGVzdCAtbiAiJGxp
bmtfc3RhdGljX2ZsYWciOyB0aGVuCgkgICAgZGxvcGVuX3NlbGY9JGRsb3Bl
bl9zZWxmX3N0YXRpYwoJICBmaQoJICBwcmVmZXJfc3RhdGljX2xpYnM9eWVz
CgkgIDs7Cgktc3RhdGljKQoJICBpZiB0ZXN0IC16ICIkcGljX2ZsYWciICYm
IHRlc3QgLW4gIiRsaW5rX3N0YXRpY19mbGFnIjsgdGhlbgoJICAgIGRsb3Bl
bl9zZWxmPSRkbG9wZW5fc2VsZl9zdGF0aWMKCSAgZmkKCSAgcHJlZmVyX3N0
YXRpY19saWJzPWJ1aWx0CgkgIDs7Cgktc3RhdGljLWxpYnRvb2wtbGlicykK
CSAgaWYgdGVzdCAteiAiJHBpY19mbGFnIiAmJiB0ZXN0IC1uICIkbGlua19z
dGF0aWNfZmxhZyI7IHRoZW4KCSAgICBkbG9wZW5fc2VsZj0kZGxvcGVuX3Nl
bGZfc3RhdGljCgkgIGZpCgkgIHByZWZlcl9zdGF0aWNfbGlicz15ZXMKCSAg
OzsKCWVzYWMKCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJYnVpbGRfb2xkX2xp
YnM9eWVzCglicmVhawoJOzsKICAgICAgZXNhYwogICAgZG9uZQoKICAgICMg
U2VlIGlmIG91ciBzaGFyZWQgYXJjaGl2ZXMgZGVwZW5kIG9uIHN0YXRpYyBh
cmNoaXZlcy4KICAgIHRlc3QgLW4gIiRvbGRfYXJjaGl2ZV9mcm9tX25ld19j
bWRzIiAmJiBidWlsZF9vbGRfbGlicz15ZXMKCiAgICAjIEdvIHRocm91Z2gg
dGhlIGFyZ3VtZW50cywgdHJhbnNmb3JtaW5nIHRoZW0gb24gdGhlIHdheS4K
ICAgIHdoaWxlIHRlc3QgIiQjIiAtZ3QgMDsgZG8KICAgICAgYXJnPSIkMSIK
ICAgICAgc2hpZnQKICAgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJGFyZyIK
ICAgICAgcWFyZz0kZnVuY19xdW90ZV9mb3JfZXZhbF91bnF1b3RlZF9yZXN1
bHQKICAgICAgbGlidG9vbF9hcmdzKz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFs
X3Jlc3VsdCIKCiAgICAgICMgSWYgdGhlIHByZXZpb3VzIG9wdGlvbiBuZWVk
cyBhbiBhcmd1bWVudCwgYXNzaWduIGl0LgogICAgICBpZiB0ZXN0IC1uICIk
cHJldiI7IHRoZW4KCWNhc2UgJHByZXYgaW4KCW91dHB1dCkKCSAgY29tcGls
ZV9jb21tYW5kKz0iIEBPVVRQVVRAIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0i
IEBPVVRQVVRAIgoJICA7OwoJZXNhYwoKCWNhc2UgJHByZXYgaW4KCWJpbmRp
cikKCSAgYmluZGlyPSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJICA7
OwoJZGxmaWxlc3xkbHByZWZpbGVzKQoJICBpZiB0ZXN0ICIkcHJlbG9hZCIg
PSBubzsgdGhlbgoJICAgICMgQWRkIHRoZSBzeW1ib2wgb2JqZWN0IGludG8g
dGhlIGxpbmtpbmcgY29tbWFuZHMuCgkgICAgY29tcGlsZV9jb21tYW5kKz0i
IEBTWU1GSUxFQCIKCSAgICBmaW5hbGl6ZV9jb21tYW5kKz0iIEBTWU1GSUxF
QCIKCSAgICBwcmVsb2FkPXllcwoJICBmaQoJICBjYXNlICRhcmcgaW4KCSAg
Ki5sYSB8ICoubG8pIDs7ICAjIFdlIGhhbmRsZSB0aGVzZSBjYXNlcyBiZWxv
dy4KCSAgZm9yY2UpCgkgICAgaWYgdGVzdCAiJGRsc2VsZiIgPSBubzsgdGhl
bgoJICAgICAgZGxzZWxmPW5lZWRsZXNzCgkgICAgICBleHBvcnRfZHluYW1p
Yz15ZXMKCSAgICBmaQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7
OwoJICBzZWxmKQoJICAgIGlmIHRlc3QgIiRwcmV2IiA9IGRscHJlZmlsZXM7
IHRoZW4KCSAgICAgIGRsc2VsZj15ZXMKCSAgICBlbGlmIHRlc3QgIiRwcmV2
IiA9IGRsZmlsZXMgJiYgdGVzdCAiJGRsb3Blbl9zZWxmIiAhPSB5ZXM7IHRo
ZW4KCSAgICAgIGRsc2VsZj15ZXMKCSAgICBlbHNlCgkgICAgICBkbHNlbGY9
bmVlZGxlc3MKCSAgICAgIGV4cG9ydF9keW5hbWljPXllcwoJICAgIGZpCgkg
ICAgcHJldj0KCSAgICBjb250aW51ZQoJICAgIDs7CgkgICopCgkgICAgaWYg
dGVzdCAiJHByZXYiID0gZGxmaWxlczsgdGhlbgoJICAgICAgZGxmaWxlcys9
IiAkYXJnIgoJICAgIGVsc2UKCSAgICAgIGRscHJlZmlsZXMrPSIgJGFyZyIK
CSAgICBmaQoJICAgIHByZXY9CgkgICAgY29udGludWUKCSAgICA7OwoJICBl
c2FjCgkgIDs7CglleHBzeW1zKQoJICBleHBvcnRfc3ltYm9scz0iJGFyZyIK
CSAgdGVzdCAtZiAiJGFyZyIgXAoJICAgIHx8IGZ1bmNfZmF0YWxfZXJyb3Ig
InN5bWJvbCBmaWxlIFxgJGFyZycgZG9lcyBub3QgZXhpc3QiCgkgIHByZXY9
CgkgIGNvbnRpbnVlCgkgIDs7CglleHBzeW1zX3JlZ2V4KQoJICBleHBvcnRf
c3ltYm9sc19yZWdleD0iJGFyZyIKCSAgcHJldj0KCSAgY29udGludWUKCSAg
OzsKCWZyYW1ld29yaykKCSAgY2FzZSAkaG9zdCBpbgoJICAgICotKi1kYXJ3
aW4qKQoJICAgICAgY2FzZSAiJGRlcGxpYnMgIiBpbgoJCSoiICRxYXJnLmx0
ZnJhbWV3b3JrICIqKSA7OwoJCSopIGRlcGxpYnMrPSIgJHFhcmcubHRmcmFt
ZXdvcmsiICMgdGhpcyBpcyBmaXhlZCBsYXRlcgoJCSAgIDs7CgkgICAgICBl
c2FjCgkgICAgICA7OwoJICBlc2FjCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkg
IDs7CglpbnN0X3ByZWZpeCkKCSAgaW5zdF9wcmVmaXhfZGlyPSIkYXJnIgoJ
ICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJb2JqZWN0bGlzdCkKCSAgaWYg
dGVzdCAtZiAiJGFyZyI7IHRoZW4KCSAgICBzYXZlX2FyZz0kYXJnCgkgICAg
bW9yZWFyZ3M9CgkgICAgZm9yIGZpbCBpbiBgY2F0ICIkc2F2ZV9hcmciYAoJ
ICAgIGRvCiMJICAgICAgbW9yZWFyZ3MrPSIgJGZpbCIKCSAgICAgIGFyZz0k
ZmlsCgkgICAgICAjIEEgbGlidG9vbC1jb250cm9sbGVkIG9iamVjdC4KCgkg
ICAgICAjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5IGlzIGEgbGli
dG9vbCBvYmplY3QuCgkgICAgICBpZiBmdW5jX2xhbGliX3Vuc2FmZV9wICIk
YXJnIjsgdGhlbgoJCXBpY19vYmplY3Q9CgkJbm9uX3BpY19vYmplY3Q9CgoJ
CSMgUmVhZCB0aGUgLmxvIGZpbGUKCQlmdW5jX3NvdXJjZSAiJGFyZyIKCgkJ
aWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8CgkJICAgdGVzdCAteiAiJG5v
bl9waWNfb2JqZWN0IiB8fAoJCSAgIHRlc3QgIiRwaWNfb2JqZWN0IiA9IG5v
bmUgJiYKCQkgICB0ZXN0ICIkbm9uX3BpY19vYmplY3QiID0gbm9uZTsgdGhl
bgoJCSAgZnVuY19mYXRhbF9lcnJvciAiY2Fubm90IGZpbmQgbmFtZSBvZiBv
YmplY3QgZm9yIFxgJGFyZyciCgkJZmkKCgkJIyBFeHRyYWN0IHN1YmRpcmVj
dG9yeSBmcm9tIHRoZSBhcmd1bWVudC4KCQlmdW5jX2Rpcm5hbWUgIiRhcmci
ICIvIiAiIgoJCXhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCQlpZiB0
ZXN0ICIkcGljX29iamVjdCIgIT0gbm9uZTsgdGhlbgoJCSAgIyBQcmVwZW5k
IHRoZSBzdWJkaXJlY3RvcnkgdGhlIG9iamVjdCBpcyBmb3VuZCBpbi4KCQkg
IHBpY19vYmplY3Q9IiR4ZGlyJHBpY19vYmplY3QiCgoJCSAgaWYgdGVzdCAi
JHByZXYiID0gZGxmaWxlczsgdGhlbgoJCSAgICBpZiB0ZXN0ICIkYnVpbGRf
bGlidG9vbF9saWJzIiA9IHllcyAmJiB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQi
ID0geWVzOyB0aGVuCgkJICAgICAgZGxmaWxlcys9IiAkcGljX29iamVjdCIK
CQkgICAgICBwcmV2PQoJCSAgICAgIGNvbnRpbnVlCgkJICAgIGVsc2UKCQkg
ICAgICAjIElmIGxpYnRvb2wgb2JqZWN0cyBhcmUgdW5zdXBwb3J0ZWQsIHRo
ZW4gd2UgbmVlZCB0byBwcmVsb2FkLgoJCSAgICAgIHByZXY9ZGxwcmVmaWxl
cwoJCSAgICBmaQoJCSAgZmkKCgkJICAjIENIRUNLIE1FOiAgSSB0aGluayBJ
IGJ1c3RlZCB0aGlzLiAgLU9zc2FtYQoJCSAgaWYgdGVzdCAiJHByZXYiID0g
ZGxwcmVmaWxlczsgdGhlbgoJCSAgICAjIFByZWxvYWQgdGhlIG9sZC1zdHls
ZSBvYmplY3QuCgkJICAgIGRscHJlZmlsZXMrPSIgJHBpY19vYmplY3QiCgkJ
ICAgIHByZXY9CgkJICBmaQoKCQkgICMgQSBQSUMgb2JqZWN0LgoJCSAgbGli
b2Jqcys9IiAkcGljX29iamVjdCIKCQkgIGFyZz0iJHBpY19vYmplY3QiCgkJ
ZmkKCgkJIyBOb24tUElDIG9iamVjdC4KCQlpZiB0ZXN0ICIkbm9uX3BpY19v
YmplY3QiICE9IG5vbmU7IHRoZW4KCQkgICMgUHJlcGVuZCB0aGUgc3ViZGly
ZWN0b3J5IHRoZSBvYmplY3QgaXMgZm91bmQgaW4uCgkJICBub25fcGljX29i
amVjdD0iJHhkaXIkbm9uX3BpY19vYmplY3QiCgoJCSAgIyBBIHN0YW5kYXJk
IG5vbi1QSUMgb2JqZWN0CgkJICBub25fcGljX29iamVjdHMrPSIgJG5vbl9w
aWNfb2JqZWN0IgoJCSAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IHRl
c3QgIiRwaWNfb2JqZWN0IiA9IG5vbmUgOyB0aGVuCgkJICAgIGFyZz0iJG5v
bl9waWNfb2JqZWN0IgoJCSAgZmkKCQllbHNlCgkJICAjIElmIHRoZSBQSUMg
b2JqZWN0IGV4aXN0cywgdXNlIGl0IGluc3RlYWQuCgkJICAjICR4ZGlyIHdh
cyBwcmVwZW5kZWQgdG8gJHBpY19vYmplY3QgYWJvdmUuCgkJICBub25fcGlj
X29iamVjdD0iJHBpY19vYmplY3QiCgkJICBub25fcGljX29iamVjdHMrPSIg
JG5vbl9waWNfb2JqZWN0IgoJCWZpCgkgICAgICBlbHNlCgkJIyBPbmx5IGFu
IGVycm9yIGlmIG5vdCBkb2luZyBhIGRyeS1ydW4uCgkJaWYgJG9wdF9kcnlf
cnVuOyB0aGVuCgkJICAjIEV4dHJhY3Qgc3ViZGlyZWN0b3J5IGZyb20gdGhl
IGFyZ3VtZW50LgoJCSAgZnVuY19kaXJuYW1lICIkYXJnIiAiLyIgIiIKCQkg
IHhkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCQkgIGZ1bmNfbG8ybyAi
JGFyZyIKCQkgIHBpY19vYmplY3Q9JHhkaXIkb2JqZGlyLyRmdW5jX2xvMm9f
cmVzdWx0CgkJICBub25fcGljX29iamVjdD0keGRpciRmdW5jX2xvMm9fcmVz
dWx0CgkJICBsaWJvYmpzKz0iICRwaWNfb2JqZWN0IgoJCSAgbm9uX3BpY19v
YmplY3RzKz0iICRub25fcGljX29iamVjdCIKCSAgICAgICAgZWxzZQoJCSAg
ZnVuY19mYXRhbF9lcnJvciAiXGAkYXJnJyBpcyBub3QgYSB2YWxpZCBsaWJ0
b29sIG9iamVjdCIKCQlmaQoJICAgICAgZmkKCSAgICBkb25lCgkgIGVsc2UK
CSAgICBmdW5jX2ZhdGFsX2Vycm9yICJsaW5rIGlucHV0IGZpbGUgXGAkYXJn
JyBkb2VzIG5vdCBleGlzdCIKCSAgZmkKCSAgYXJnPSRzYXZlX2FyZwoJICBw
cmV2PQoJICBjb250aW51ZQoJICA7OwoJcHJlY2lvdXNfcmVnZXgpCgkgIHBy
ZWNpb3VzX2ZpbGVzX3JlZ2V4PSIkYXJnIgoJICBwcmV2PQoJICBjb250aW51
ZQoJICA7OwoJcmVsZWFzZSkKCSAgcmVsZWFzZT0iLSRhcmciCgkgIHByZXY9
CgkgIGNvbnRpbnVlCgkgIDs7CglycGF0aCB8IHhycGF0aCkKCSAgIyBXZSBu
ZWVkIGFuIGFic29sdXRlIHBhdGguCgkgIGNhc2UgJGFyZyBpbgoJICBbXFwv
XSogfCBbQS1aYS16XTpbXFwvXSopIDs7CgkgICopCgkgICAgZnVuY19mYXRh
bF9lcnJvciAib25seSBhYnNvbHV0ZSBydW4tcGF0aHMgYXJlIGFsbG93ZWQi
CgkgICAgOzsKCSAgZXNhYwoJICBpZiB0ZXN0ICIkcHJldiIgPSBycGF0aDsg
dGhlbgoJICAgIGNhc2UgIiRycGF0aCAiIGluCgkgICAgKiIgJGFyZyAiKikg
OzsKCSAgICAqKSBycGF0aCs9IiAkYXJnIiA7OwoJICAgIGVzYWMKCSAgZWxz
ZQoJICAgIGNhc2UgIiR4cnBhdGggIiBpbgoJICAgICoiICRhcmcgIiopIDs7
CgkgICAgKikgeHJwYXRoKz0iICRhcmciIDs7CgkgICAgZXNhYwoJICBmaQoJ
ICBwcmV2PQoJICBjb250aW51ZQoJICA7OwoJc2hyZXh0KQoJICBzaHJleHRf
Y21kcz0iJGFyZyIKCSAgcHJldj0KCSAgY29udGludWUKCSAgOzsKCXdlYWsp
CgkgIHdlYWtfbGlicys9IiAkYXJnIgoJICBwcmV2PQoJICBjb250aW51ZQoJ
ICA7OwoJeGNjbGlua2VyKQoJICBsaW5rZXJfZmxhZ3MrPSIgJHFhcmciCgkg
IGNvbXBpbGVyX2ZsYWdzKz0iICRxYXJnIgoJICBwcmV2PQoJICBjb21waWxl
X2NvbW1hbmQrPSIgJHFhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHFh
cmciCgkgIGNvbnRpbnVlCgkgIDs7Cgl4Y29tcGlsZXIpCgkgIGNvbXBpbGVy
X2ZsYWdzKz0iICRxYXJnIgoJICBwcmV2PQoJICBjb21waWxlX2NvbW1hbmQr
PSIgJHFhcmciCgkgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHFhcmciCgkgIGNv
bnRpbnVlCgkgIDs7Cgl4bGlua2VyKQoJICBsaW5rZXJfZmxhZ3MrPSIgJHFh
cmciCgkgIGNvbXBpbGVyX2ZsYWdzKz0iICR3bCRxYXJnIgoJICBwcmV2PQoJ
ICBjb21waWxlX2NvbW1hbmQrPSIgJHdsJHFhcmciCgkgIGZpbmFsaXplX2Nv
bW1hbmQrPSIgJHdsJHFhcmciCgkgIGNvbnRpbnVlCgkgIDs7CgkqKQoJICBl
dmFsICIkcHJldj1cIlwkYXJnXCIiCgkgIHByZXY9CgkgIGNvbnRpbnVlCgkg
IDs7Cgllc2FjCiAgICAgIGZpICMgdGVzdCAtbiAiJHByZXYiCgogICAgICBw
cmV2YXJnPSIkYXJnIgoKICAgICAgY2FzZSAkYXJnIGluCiAgICAgIC1hbGwt
c3RhdGljKQoJaWYgdGVzdCAtbiAiJGxpbmtfc3RhdGljX2ZsYWciOyB0aGVu
CgkgICMgU2VlIGNvbW1lbnQgZm9yIC1zdGF0aWMgZmxhZyBiZWxvdywgZm9y
IG1vcmUgZGV0YWlscy4KCSAgY29tcGlsZV9jb21tYW5kKz0iICRsaW5rX3N0
YXRpY19mbGFnIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0iICRsaW5rX3N0YXRp
Y19mbGFnIgoJZmkKCWNvbnRpbnVlCgk7OwoKICAgICAgLWFsbG93LXVuZGVm
aW5lZCkKCSMgRklYTUU6IHJlbW92ZSB0aGlzIGZsYWcgc29tZXRpbWUgaW4g
dGhlIGZ1dHVyZS4KCWZ1bmNfZmF0YWxfZXJyb3IgIlxgLWFsbG93LXVuZGVm
aW5lZCcgbXVzdCBub3QgYmUgdXNlZCBiZWNhdXNlIGl0IGlzIHRoZSBkZWZh
dWx0IgoJOzsKCiAgICAgIC1hdm9pZC12ZXJzaW9uKQoJYXZvaWRfdmVyc2lv
bj15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWJpbmRpcikKCXByZXY9Ymlu
ZGlyCgljb250aW51ZQoJOzsKCiAgICAgIC1kbG9wZW4pCglwcmV2PWRsZmls
ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWRscHJlb3BlbikKCXByZXY9ZGxw
cmVmaWxlcwoJY29udGludWUKCTs7CgogICAgICAtZXhwb3J0LWR5bmFtaWMp
CglleHBvcnRfZHluYW1pYz15ZXMKCWNvbnRpbnVlCgk7OwoKICAgICAgLWV4
cG9ydC1zeW1ib2xzIHwgLWV4cG9ydC1zeW1ib2xzLXJlZ2V4KQoJaWYgdGVz
dCAtbiAiJGV4cG9ydF9zeW1ib2xzIiB8fCB0ZXN0IC1uICIkZXhwb3J0X3N5
bWJvbHNfcmVnZXgiOyB0aGVuCgkgIGZ1bmNfZmF0YWxfZXJyb3IgIm1vcmUg
dGhhbiBvbmUgLWV4cG9ydGVkLXN5bWJvbHMgYXJndW1lbnQgaXMgbm90IGFs
bG93ZWQiCglmaQoJaWYgdGVzdCAiWCRhcmciID0gIlgtZXhwb3J0LXN5bWJv
bHMiOyB0aGVuCgkgIHByZXY9ZXhwc3ltcwoJZWxzZQoJICBwcmV2PWV4cHN5
bXNfcmVnZXgKCWZpCgljb250aW51ZQoJOzsKCiAgICAgIC1mcmFtZXdvcmsp
CglwcmV2PWZyYW1ld29yawoJY29udGludWUKCTs7CgogICAgICAtaW5zdC1w
cmVmaXgtZGlyKQoJcHJldj1pbnN0X3ByZWZpeAoJY29udGludWUKCTs7Cgog
ICAgICAjIFRoZSBuYXRpdmUgSVJJWCBsaW5rZXIgdW5kZXJzdGFuZHMgLUxB
Tkc6KiwgLUxJU1Q6KiBhbmQgLUxOTzoqCiAgICAgICMgc28sIGlmIHdlIHNl
ZSB0aGVzZSBmbGFncyBiZSBjYXJlZnVsIG5vdCB0byB0cmVhdCB0aGVtIGxp
a2UgLUwKICAgICAgLUxbQS1aXVtBLVpdKjoqKQoJY2FzZSAkd2l0aF9nY2Mv
JGhvc3QgaW4KCW5vLyotKi1pcml4KiB8IC8qLSotaXJpeCopCgkgIGNvbXBp
bGVfY29tbWFuZCs9IiAkYXJnIgoJICBmaW5hbGl6ZV9jb21tYW5kKz0iICRh
cmciCgkgIDs7Cgllc2FjCgljb250aW51ZQoJOzsKCiAgICAgIC1MKikKCWZ1
bmNfc3RyaXBuYW1lICItTCIgJycgIiRhcmciCglpZiB0ZXN0IC16ICIkZnVu
Y19zdHJpcG5hbWVfcmVzdWx0IjsgdGhlbgoJICBpZiB0ZXN0ICIkIyIgLWd0
IDA7IHRoZW4KCSAgICBmdW5jX2ZhdGFsX2Vycm9yICJyZXF1aXJlIG5vIHNw
YWNlIGJldHdlZW4gXGAtTCcgYW5kIFxgJDEnIgoJICBlbHNlCgkgICAgZnVu
Y19mYXRhbF9lcnJvciAibmVlZCBwYXRoIGZvciBcYC1MJyBvcHRpb24iCgkg
IGZpCglmaQoJZnVuY19yZXNvbHZlX3N5c3Jvb3QgIiRmdW5jX3N0cmlwbmFt
ZV9yZXN1bHQiCglkaXI9JGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jlc3VsdAoJ
IyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCgljYXNlICRkaXIgaW4KCVtc
XC9dKiB8IFtBLVphLXpdOltcXC9dKikgOzsKCSopCgkgIGFic2Rpcj1gY2Qg
IiRkaXIiICYmIHB3ZGAKCSAgdGVzdCAteiAiJGFic2RpciIgJiYgXAoJICAg
IGZ1bmNfZmF0YWxfZXJyb3IgImNhbm5vdCBkZXRlcm1pbmUgYWJzb2x1dGUg
ZGlyZWN0b3J5IG5hbWUgb2YgXGAkZGlyJyIKCSAgZGlyPSIkYWJzZGlyIgoJ
ICA7OwoJZXNhYwoJY2FzZSAiJGRlcGxpYnMgIiBpbgoJKiIgLUwkZGlyICIq
IHwgKiIgJGFyZyAiKikKCSAgIyBXaWxsIG9ubHkgaGFwcGVuIGZvciBhYnNv
bHV0ZSBvciBzeXNyb290IGFyZ3VtZW50cwoJICA7OwoJKikKCSAgIyBQcmVz
ZXJ2ZSBzeXNyb290LCBidXQgbmV2ZXIgaW5jbHVkZSByZWxhdGl2ZSBkaXJl
Y3RvcmllcwoJICBjYXNlICRkaXIgaW4KCSAgICBbXFwvXSogfCBbQS1aYS16
XTpbXFwvXSogfCA9KikgZGVwbGlicys9IiAkYXJnIiA7OwoJICAgICopIGRl
cGxpYnMrPSIgLUwkZGlyIiA7OwoJICBlc2FjCgkgIGxpYl9zZWFyY2hfcGF0
aCs9IiAkZGlyIgoJICA7OwoJZXNhYwoJY2FzZSAkaG9zdCBpbgoJKi0qLWN5
Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAq
LWNlZ2NjKikKCSAgdGVzdGJpbmRpcj1gJEVDSE8gIiRkaXIiIHwgJFNFRCAn
cyovbGliJCovYmluKidgCgkgIGNhc2UgOiRkbGxzZWFyY2hwYXRoOiBpbgoJ
ICAqIjokZGlyOiIqKSA7OwoJICA6OikgZGxsc2VhcmNocGF0aD0kZGlyOzsK
CSAgKikgZGxsc2VhcmNocGF0aCs9IjokZGlyIjs7CgkgIGVzYWMKCSAgY2Fz
ZSA6JGRsbHNlYXJjaHBhdGg6IGluCgkgICoiOiR0ZXN0YmluZGlyOiIqKSA7
OwoJICA6OikgZGxsc2VhcmNocGF0aD0kdGVzdGJpbmRpcjs7CgkgICopIGRs
bHNlYXJjaHBhdGgrPSI6JHRlc3RiaW5kaXIiOzsKCSAgZXNhYwoJICA7OwoJ
ZXNhYwoJY29udGludWUKCTs7CgogICAgICAtbCopCglpZiB0ZXN0ICJYJGFy
ZyIgPSAiWC1sYyIgfHwgdGVzdCAiWCRhcmciID0gIlgtbG0iOyB0aGVuCgkg
IGNhc2UgJGhvc3QgaW4KCSAgKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwg
Ki0qLXB3MzIqIHwgKi0qLWJlb3MqIHwgKi1jZWdjYyogfCAqLSotaGFpa3Uq
KQoJICAgICMgVGhlc2Ugc3lzdGVtcyBkb24ndCBhY3R1YWxseSBoYXZlIGEg
QyBvciBtYXRoIGxpYnJhcnkgKGFzIHN1Y2gpCgkgICAgY29udGludWUKCSAg
ICA7OwoJICAqLSotb3MyKikKCSAgICAjIFRoZXNlIHN5c3RlbXMgZG9uJ3Qg
YWN0dWFsbHkgaGF2ZSBhIEMgbGlicmFyeSAoYXMgc3VjaCkKCSAgICB0ZXN0
ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGludWUKCSAgICA7OwoJICAqLSot
b3BlbmJzZCogfCAqLSotZnJlZWJzZCogfCAqLSotZHJhZ29uZmx5KikKCSAg
ICAjIERvIG5vdCBpbmNsdWRlIGxpYmMgZHVlIHRvIHVzIGhhdmluZyBsaWJj
L2xpYmNfci4KCSAgICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYgY29udGlu
dWUKCSAgICA7OwoJICAqLSotcmhhcHNvZHkqIHwgKi0qLWRhcndpbjEuWzAx
Ml0pCgkgICAgIyBSaGFwc29keSBDIGFuZCBtYXRoIGxpYnJhcmllcyBhcmUg
aW4gdGhlIFN5c3RlbSBmcmFtZXdvcmsKCSAgICBkZXBsaWJzKz0iIFN5c3Rl
bS5sdGZyYW1ld29yayIKCSAgICBjb250aW51ZQoJICAgIDs7CgkgICotKi1z
Y28zLjJ2NSogfCAqLSotc2NvNXY2KikKCSAgICAjIENhdXNlcyBwcm9ibGVt
cyB3aXRoIF9fY3R5cGUKCSAgICB0ZXN0ICJYJGFyZyIgPSAiWC1sYyIgJiYg
Y29udGludWUKCSAgICA7OwoJICAqLSotc3lzdjQuMnV3MiogfCAqLSotc3lz
djUqIHwgKi0qLXVuaXh3YXJlKiB8ICotKi1PcGVuVU5JWCopCgkgICAgIyBD
b21waWxlciBpbnNlcnRzIGxpYmMgaW4gdGhlIGNvcnJlY3QgcGxhY2UgZm9y
IHRocmVhZHMgdG8gd29yawoJICAgIHRlc3QgIlgkYXJnIiA9ICJYLWxjIiAm
JiBjb250aW51ZQoJICAgIDs7CgkgIGVzYWMKCWVsaWYgdGVzdCAiWCRhcmci
ID0gIlgtbGNfciI7IHRoZW4KCSBjYXNlICRob3N0IGluCgkgKi0qLW9wZW5i
c2QqIHwgKi0qLWZyZWVic2QqIHwgKi0qLWRyYWdvbmZseSopCgkgICAjIERv
IG5vdCBpbmNsdWRlIGxpYmNfciBkaXJlY3RseSwgdXNlIC1wdGhyZWFkIGZs
YWcuCgkgICBjb250aW51ZQoJICAgOzsKCSBlc2FjCglmaQoJZGVwbGlicys9
IiAkYXJnIgoJY29udGludWUKCTs7CgogICAgICAtbW9kdWxlKQoJbW9kdWxl
PXllcwoJY29udGludWUKCTs7CgogICAgICAjIFRydTY0IFVOSVggdXNlcyAt
bW9kZWwgW2FyZ10gdG8gZGV0ZXJtaW5lIHRoZSBsYXlvdXQgb2YgQysrCiAg
ICAgICMgY2xhc3NlcywgbmFtZSBtYW5nbGluZywgYW5kIGV4Y2VwdGlvbiBo
YW5kbGluZy4KICAgICAgIyBEYXJ3aW4gdXNlcyB0aGUgLWFyY2ggZmxhZyB0
byBkZXRlcm1pbmUgb3V0cHV0IGFyY2hpdGVjdHVyZS4KICAgICAgLW1vZGVs
fC1hcmNofC1pc3lzcm9vdHwtLXN5c3Jvb3QpCgljb21waWxlcl9mbGFncys9
IiAkYXJnIgoJY29tcGlsZV9jb21tYW5kKz0iICRhcmciCglmaW5hbGl6ZV9j
b21tYW5kKz0iICRhcmciCglwcmV2PXhjb21waWxlcgoJY29udGludWUKCTs7
CgogICAgICAtbXR8LW10aHJlYWRzfC1rdGhyZWFkfC1LdGhyZWFkfC1wdGhy
ZWFkfC1wdGhyZWFkc3wtLXRocmVhZC1zYWZlIFwKICAgICAgfC10aHJlYWRz
fC1mb3Blbm1wfC1vcGVubXB8LW1wfC14b3Blbm1wfC1vbXB8LXFzbXA9KikK
CWNvbXBpbGVyX2ZsYWdzKz0iICRhcmciCgljb21waWxlX2NvbW1hbmQrPSIg
JGFyZyIKCWZpbmFsaXplX2NvbW1hbmQrPSIgJGFyZyIKCWNhc2UgIiRuZXdf
aW5oZXJpdGVkX2xpbmtlcl9mbGFncyAiIGluCgkgICAgKiIgJGFyZyAiKikg
OzsKCSAgICAqICkgbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MrPSIgJGFy
ZyIgOzsKCWVzYWMKCWNvbnRpbnVlCgk7OwoKICAgICAgLW11bHRpX21vZHVs
ZSkKCXNpbmdsZV9tb2R1bGU9IiR7d2x9LW11bHRpX21vZHVsZSIKCWNvbnRp
bnVlCgk7OwoKICAgICAgLW5vLWZhc3QtaW5zdGFsbCkKCWZhc3RfaW5zdGFs
bD1ubwoJY29udGludWUKCTs7CgogICAgICAtbm8taW5zdGFsbCkKCWNhc2Ug
JGhvc3QgaW4KCSotKi1jeWd3aW4qIHwgKi0qLW1pbmd3KiB8ICotKi1wdzMy
KiB8ICotKi1vczIqIHwgKi0qLWRhcndpbiogfCAqLWNlZ2NjKikKCSAgIyBU
aGUgUEFUSCBoYWNrZXJ5IGluIHdyYXBwZXIgc2NyaXB0cyBpcyByZXF1aXJl
ZCBvbiBXaW5kb3dzCgkgICMgYW5kIERhcndpbiBpbiBvcmRlciBmb3IgdGhl
IGxvYWRlciB0byBmaW5kIGFueSBkbGxzIGl0IG5lZWRzLgoJICBmdW5jX3dh
cm5pbmcgIlxgLW5vLWluc3RhbGwnIGlzIGlnbm9yZWQgZm9yICRob3N0IgoJ
ICBmdW5jX3dhcm5pbmcgImFzc3VtaW5nIFxgLW5vLWZhc3QtaW5zdGFsbCcg
aW5zdGVhZCIKCSAgZmFzdF9pbnN0YWxsPW5vCgkgIDs7CgkqKSBub19pbnN0
YWxsPXllcyA7OwoJZXNhYwoJY29udGludWUKCTs7CgogICAgICAtbm8tdW5k
ZWZpbmVkKQoJYWxsb3dfdW5kZWZpbmVkPW5vCgljb250aW51ZQoJOzsKCiAg
ICAgIC1vYmplY3RsaXN0KQoJcHJldj1vYmplY3RsaXN0Cgljb250aW51ZQoJ
OzsKCiAgICAgIC1vKSBwcmV2PW91dHB1dCA7OwoKICAgICAgLXByZWNpb3Vz
LWZpbGVzLXJlZ2V4KQoJcHJldj1wcmVjaW91c19yZWdleAoJY29udGludWUK
CTs7CgogICAgICAtcmVsZWFzZSkKCXByZXY9cmVsZWFzZQoJY29udGludWUK
CTs7CgogICAgICAtcnBhdGgpCglwcmV2PXJwYXRoCgljb250aW51ZQoJOzsK
CiAgICAgIC1SKQoJcHJldj14cnBhdGgKCWNvbnRpbnVlCgk7OwoKICAgICAg
LVIqKQoJZnVuY19zdHJpcG5hbWUgJy1SJyAnJyAiJGFyZyIKCWRpcj0kZnVu
Y19zdHJpcG5hbWVfcmVzdWx0CgkjIFdlIG5lZWQgYW4gYWJzb2x1dGUgcGF0
aC4KCWNhc2UgJGRpciBpbgoJW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSA7
OwoJPSopCgkgIGZ1bmNfc3RyaXBuYW1lICc9JyAnJyAiJGRpciIKCSAgZGly
PSRsdF9zeXNyb290JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICA7OwoJKikK
CSAgZnVuY19mYXRhbF9lcnJvciAib25seSBhYnNvbHV0ZSBydW4tcGF0aHMg
YXJlIGFsbG93ZWQiCgkgIDs7Cgllc2FjCgljYXNlICIkeHJwYXRoICIgaW4K
CSoiICRkaXIgIiopIDs7CgkqKSB4cnBhdGgrPSIgJGRpciIgOzsKCWVzYWMK
CWNvbnRpbnVlCgk7OwoKICAgICAgLXNoYXJlZCkKCSMgVGhlIGVmZmVjdHMg
b2YgLXNoYXJlZCBhcmUgZGVmaW5lZCBpbiBhIHByZXZpb3VzIGxvb3AuCglj
b250aW51ZQoJOzsKCiAgICAgIC1zaHJleHQpCglwcmV2PXNocmV4dAoJY29u
dGludWUKCTs7CgogICAgICAtc3RhdGljIHwgLXN0YXRpYy1saWJ0b29sLWxp
YnMpCgkjIFRoZSBlZmZlY3RzIG9mIC1zdGF0aWMgYXJlIGRlZmluZWQgaW4g
YSBwcmV2aW91cyBsb29wLgoJIyBXZSB1c2VkIHRvIGRvIHRoZSBzYW1lIGFz
IC1hbGwtc3RhdGljIG9uIHBsYXRmb3JtcyB0aGF0CgkjIGRpZG4ndCBoYXZl
IGEgUElDIGZsYWcsIGJ1dCB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoZSBlZmZl
Y3RzCgkjIHdvdWxkIGJlIGVxdWl2YWxlbnQgd2FzIHdyb25nLiAgSXQgd291
bGQgYnJlYWsgb24gYXQgbGVhc3QKCSMgRGlnaXRhbCBVbml4IGFuZCBBSVgu
Cgljb250aW51ZQoJOzsKCiAgICAgIC10aHJlYWQtc2FmZSkKCXRocmVhZF9z
YWZlPXllcwoJY29udGludWUKCTs7CgogICAgICAtdmVyc2lvbi1pbmZvKQoJ
cHJldj12aW5mbwoJY29udGludWUKCTs7CgogICAgICAtdmVyc2lvbi1udW1i
ZXIpCglwcmV2PXZpbmZvCgl2aW5mb19udW1iZXI9eWVzCgljb250aW51ZQoJ
OzsKCiAgICAgIC13ZWFrKQogICAgICAgIHByZXY9d2VhawoJY29udGludWUK
CTs7CgogICAgICAtV2MsKikKCWZ1bmNfc3RyaXBuYW1lICctV2MsJyAnJyAi
JGFyZyIKCWFyZ3M9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJYXJnPQoJc2F2
ZV9pZnM9IiRJRlMiOyBJRlM9JywnCglmb3IgZmxhZyBpbiAkYXJnczsgZG8K
CSAgSUZTPSIkc2F2ZV9pZnMiCiAgICAgICAgICBmdW5jX3F1b3RlX2Zvcl9l
dmFsICIkZmxhZyIKCSAgYXJnKz0iICRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jl
c3VsdCIKCSAgY29tcGlsZXJfZmxhZ3MrPSIgJGZ1bmNfcXVvdGVfZm9yX2V2
YWxfcmVzdWx0IgoJZG9uZQoJSUZTPSIkc2F2ZV9pZnMiCglmdW5jX3N0cmlw
bmFtZSAnICcgJycgIiRhcmciCglhcmc9JGZ1bmNfc3RyaXBuYW1lX3Jlc3Vs
dAoJOzsKCiAgICAgIC1XbCwqKQoJZnVuY19zdHJpcG5hbWUgJy1XbCwnICcn
ICIkYXJnIgoJYXJncz0kZnVuY19zdHJpcG5hbWVfcmVzdWx0Cglhcmc9Cglz
YXZlX2lmcz0iJElGUyI7IElGUz0nLCcKCWZvciBmbGFnIGluICRhcmdzOyBk
bwoJICBJRlM9IiRzYXZlX2lmcyIKICAgICAgICAgIGZ1bmNfcXVvdGVfZm9y
X2V2YWwgIiRmbGFnIgoJICBhcmcrPSIgJHdsJGZ1bmNfcXVvdGVfZm9yX2V2
YWxfcmVzdWx0IgoJICBjb21waWxlcl9mbGFncys9IiAkd2wkZnVuY19xdW90
ZV9mb3JfZXZhbF9yZXN1bHQiCgkgIGxpbmtlcl9mbGFncys9IiAkZnVuY19x
dW90ZV9mb3JfZXZhbF9yZXN1bHQiCglkb25lCglJRlM9IiRzYXZlX2lmcyIK
CWZ1bmNfc3RyaXBuYW1lICcgJyAnJyAiJGFyZyIKCWFyZz0kZnVuY19zdHJp
cG5hbWVfcmVzdWx0Cgk7OwoKICAgICAgLVhjb21waWxlcikKCXByZXY9eGNv
bXBpbGVyCgljb250aW51ZQoJOzsKCiAgICAgIC1YbGlua2VyKQoJcHJldj14
bGlua2VyCgljb250aW51ZQoJOzsKCiAgICAgIC1YQ0NsaW5rZXIpCglwcmV2
PXhjY2xpbmtlcgoJY29udGludWUKCTs7CgogICAgICAjIC1tc2dfKiBmb3Ig
b3NmIGNjCiAgICAgIC1tc2dfKikKCWZ1bmNfcXVvdGVfZm9yX2V2YWwgIiRh
cmciCglhcmc9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3VsdCIKCTs7Cgog
ICAgICAjIEZsYWdzIHRvIGJlIHBhc3NlZCB0aHJvdWdoIHVuY2hhbmdlZCwg
d2l0aCByYXRpb25hbGU6CiAgICAgICMgLTY0LCAtbWlwc1swLTldICAgICAg
ZW5hYmxlIDY0LWJpdCBtb2RlIGZvciB0aGUgU0dJIGNvbXBpbGVyCiAgICAg
ICMgLXJbMC05XVswLTldKiAgICAgICAgc3BlY2lmeSBwcm9jZXNzb3IgZm9y
IHRoZSBTR0kgY29tcGlsZXIKICAgICAgIyAteGFyY2g9KiwgLXh0YXJnZXQ9
KiBlbmFibGUgNjQtYml0IG1vZGUgZm9yIHRoZSBTdW4gY29tcGlsZXIKICAg
ICAgIyArREEqLCArREQqICAgICAgICAgICBlbmFibGUgNjQtYml0IG1vZGUg
Zm9yIHRoZSBIUCBjb21waWxlcgogICAgICAjIC1xKiAgICAgICAgICAgICAg
ICAgIGNvbXBpbGVyIGFyZ3MgZm9yIHRoZSBJQk0gY29tcGlsZXIKICAgICAg
IyAtbSosIC10WzQ1XSosIC10eHNjYWxlKiBhcmNoaXRlY3R1cmUtc3BlY2lm
aWMgZmxhZ3MgZm9yIEdDQwogICAgICAjIC1GL3BhdGggICAgICAgICAgICAg
IHBhdGggdG8gdW5pbnN0YWxsZWQgZnJhbWV3b3JrcywgZ2NjIG9uIGRhcndp
bgogICAgICAjIC1wLCAtcGcsIC0tY292ZXJhZ2UsIC1mcHJvZmlsZS0qICBw
cm9maWxpbmcgZmxhZ3MgZm9yIEdDQwogICAgICAjIEBmaWxlICAgICAgICAg
ICAgICAgIEdDQyByZXNwb25zZSBmaWxlcwogICAgICAjIC10cD0qICAgICAg
ICAgICAgICAgIFBvcnRsYW5kIHBnY2MgdGFyZ2V0IHByb2Nlc3NvciBzZWxl
Y3Rpb24KICAgICAgIyAtLXN5c3Jvb3Q9KiAgICAgICAgICBmb3Igc3lzcm9v
dCBzdXBwb3J0CiAgICAgICMgLU8qLCAtZmx0byosIC1md2hvcHIqLCAtZnVz
ZS1saW5rZXItcGx1Z2luIEdDQyBsaW5rLXRpbWUgb3B0aW1pemF0aW9uCiAg
ICAgIC02NHwtbWlwc1swLTldfC1yWzAtOV1bMC05XSp8LXhhcmNoPSp8LXh0
YXJnZXQ9KnwrREEqfCtERCp8LXEqfC1tKnwgXAogICAgICAtdFs0NV0qfC10
eHNjYWxlKnwtcHwtcGd8LS1jb3ZlcmFnZXwtZnByb2ZpbGUtKnwtRip8QCp8
LXRwPSp8LS1zeXNyb290PSp8IFwKICAgICAgLU8qfC1mbHRvKnwtZndob3By
KnwtZnVzZS1saW5rZXItcGx1Z2luKQogICAgICAgIGZ1bmNfcXVvdGVfZm9y
X2V2YWwgIiRhcmciCglhcmc9IiRmdW5jX3F1b3RlX2Zvcl9ldmFsX3Jlc3Vs
dCIKICAgICAgICBjb21waWxlX2NvbW1hbmQrPSIgJGFyZyIKICAgICAgICBm
aW5hbGl6ZV9jb21tYW5kKz0iICRhcmciCiAgICAgICAgY29tcGlsZXJfZmxh
Z3MrPSIgJGFyZyIKICAgICAgICBjb250aW51ZQogICAgICAgIDs7CgogICAg
ICAjIFNvbWUgb3RoZXIgY29tcGlsZXIgZmxhZy4KICAgICAgLSogfCArKikK
ICAgICAgICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkYXJnIgoJYXJnPSIkZnVu
Y19xdW90ZV9mb3JfZXZhbF9yZXN1bHQiCgk7OwoKICAgICAgKi4kb2JqZXh0
KQoJIyBBIHN0YW5kYXJkIG9iamVjdC4KCW9ianMrPSIgJGFyZyIKCTs7Cgog
ICAgICAqLmxvKQoJIyBBIGxpYnRvb2wtY29udHJvbGxlZCBvYmplY3QuCgoJ
IyBDaGVjayB0byBzZWUgdGhhdCB0aGlzIHJlYWxseSBpcyBhIGxpYnRvb2wg
b2JqZWN0LgoJaWYgZnVuY19sYWxpYl91bnNhZmVfcCAiJGFyZyI7IHRoZW4K
CSAgcGljX29iamVjdD0KCSAgbm9uX3BpY19vYmplY3Q9CgoJICAjIFJlYWQg
dGhlIC5sbyBmaWxlCgkgIGZ1bmNfc291cmNlICIkYXJnIgoKCSAgaWYgdGVz
dCAteiAiJHBpY19vYmplY3QiIHx8CgkgICAgIHRlc3QgLXogIiRub25fcGlj
X29iamVjdCIgfHwKCSAgICAgdGVzdCAiJHBpY19vYmplY3QiID0gbm9uZSAm
JgoJICAgICB0ZXN0ICIkbm9uX3BpY19vYmplY3QiID0gbm9uZTsgdGhlbgoJ
ICAgIGZ1bmNfZmF0YWxfZXJyb3IgImNhbm5vdCBmaW5kIG5hbWUgb2Ygb2Jq
ZWN0IGZvciBcYCRhcmcnIgoJICBmaQoKCSAgIyBFeHRyYWN0IHN1YmRpcmVj
dG9yeSBmcm9tIHRoZSBhcmd1bWVudC4KCSAgZnVuY19kaXJuYW1lICIkYXJn
IiAiLyIgIiIKCSAgeGRpcj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCgoJICBp
ZiB0ZXN0ICIkcGljX29iamVjdCIgIT0gbm9uZTsgdGhlbgoJICAgICMgUHJl
cGVuZCB0aGUgc3ViZGlyZWN0b3J5IHRoZSBvYmplY3QgaXMgZm91bmQgaW4u
CgkgICAgcGljX29iamVjdD0iJHhkaXIkcGljX29iamVjdCIKCgkgICAgaWYg
dGVzdCAiJHByZXYiID0gZGxmaWxlczsgdGhlbgoJICAgICAgaWYgdGVzdCAi
JGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXMgJiYgdGVzdCAiJGRsb3Blbl9z
dXBwb3J0IiA9IHllczsgdGhlbgoJCWRsZmlsZXMrPSIgJHBpY19vYmplY3Qi
CgkJcHJldj0KCQljb250aW51ZQoJICAgICAgZWxzZQoJCSMgSWYgbGlidG9v
bCBvYmplY3RzIGFyZSB1bnN1cHBvcnRlZCwgdGhlbiB3ZSBuZWVkIHRvIHBy
ZWxvYWQuCgkJcHJldj1kbHByZWZpbGVzCgkgICAgICBmaQoJICAgIGZpCgoJ
ICAgICMgQ0hFQ0sgTUU6ICBJIHRoaW5rIEkgYnVzdGVkIHRoaXMuICAtT3Nz
YW1hCgkgICAgaWYgdGVzdCAiJHByZXYiID0gZGxwcmVmaWxlczsgdGhlbgoJ
ICAgICAgIyBQcmVsb2FkIHRoZSBvbGQtc3R5bGUgb2JqZWN0LgoJICAgICAg
ZGxwcmVmaWxlcys9IiAkcGljX29iamVjdCIKCSAgICAgIHByZXY9CgkgICAg
ZmkKCgkgICAgIyBBIFBJQyBvYmplY3QuCgkgICAgbGlib2Jqcys9IiAkcGlj
X29iamVjdCIKCSAgICBhcmc9IiRwaWNfb2JqZWN0IgoJICBmaQoKCSAgIyBO
b24tUElDIG9iamVjdC4KCSAgaWYgdGVzdCAiJG5vbl9waWNfb2JqZWN0IiAh
PSBub25lOyB0aGVuCgkgICAgIyBQcmVwZW5kIHRoZSBzdWJkaXJlY3Rvcnkg
dGhlIG9iamVjdCBpcyBmb3VuZCBpbi4KCSAgICBub25fcGljX29iamVjdD0i
JHhkaXIkbm9uX3BpY19vYmplY3QiCgoJICAgICMgQSBzdGFuZGFyZCBub24t
UElDIG9iamVjdAoJICAgIG5vbl9waWNfb2JqZWN0cys9IiAkbm9uX3BpY19v
YmplY3QiCgkgICAgaWYgdGVzdCAteiAiJHBpY19vYmplY3QiIHx8IHRlc3Qg
IiRwaWNfb2JqZWN0IiA9IG5vbmUgOyB0aGVuCgkgICAgICBhcmc9IiRub25f
cGljX29iamVjdCIKCSAgICBmaQoJICBlbHNlCgkgICAgIyBJZiB0aGUgUElD
IG9iamVjdCBleGlzdHMsIHVzZSBpdCBpbnN0ZWFkLgoJICAgICMgJHhkaXIg
d2FzIHByZXBlbmRlZCB0byAkcGljX29iamVjdCBhYm92ZS4KCSAgICBub25f
cGljX29iamVjdD0iJHBpY19vYmplY3QiCgkgICAgbm9uX3BpY19vYmplY3Rz
Kz0iICRub25fcGljX29iamVjdCIKCSAgZmkKCWVsc2UKCSAgIyBPbmx5IGFu
IGVycm9yIGlmIG5vdCBkb2luZyBhIGRyeS1ydW4uCgkgIGlmICRvcHRfZHJ5
X3J1bjsgdGhlbgoJICAgICMgRXh0cmFjdCBzdWJkaXJlY3RvcnkgZnJvbSB0
aGUgYXJndW1lbnQuCgkgICAgZnVuY19kaXJuYW1lICIkYXJnIiAiLyIgIiIK
CSAgICB4ZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKCgkgICAgZnVuY19s
bzJvICIkYXJnIgoJICAgIHBpY19vYmplY3Q9JHhkaXIkb2JqZGlyLyRmdW5j
X2xvMm9fcmVzdWx0CgkgICAgbm9uX3BpY19vYmplY3Q9JHhkaXIkZnVuY19s
bzJvX3Jlc3VsdAoJICAgIGxpYm9ianMrPSIgJHBpY19vYmplY3QiCgkgICAg
bm9uX3BpY19vYmplY3RzKz0iICRub25fcGljX29iamVjdCIKCSAgZWxzZQoJ
ICAgIGZ1bmNfZmF0YWxfZXJyb3IgIlxgJGFyZycgaXMgbm90IGEgdmFsaWQg
bGlidG9vbCBvYmplY3QiCgkgIGZpCglmaQoJOzsKCiAgICAgICouJGxpYmV4
dCkKCSMgQW4gYXJjaGl2ZS4KCWRlcGxpYnMrPSIgJGFyZyIKCW9sZF9kZXBs
aWJzKz0iICRhcmciCgljb250aW51ZQoJOzsKCiAgICAgICoubGEpCgkjIEEg
bGlidG9vbC1jb250cm9sbGVkIGxpYnJhcnkuCgoJZnVuY19yZXNvbHZlX3N5
c3Jvb3QgIiRhcmciCglpZiB0ZXN0ICIkcHJldiIgPSBkbGZpbGVzOyB0aGVu
CgkgICMgVGhpcyBsaWJyYXJ5IHdhcyBzcGVjaWZpZWQgd2l0aCAtZGxvcGVu
LgoJICBkbGZpbGVzKz0iICRmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQi
CgkgIHByZXY9CgllbGlmIHRlc3QgIiRwcmV2IiA9IGRscHJlZmlsZXM7IHRo
ZW4KCSAgIyBUaGUgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRscHJl
b3Blbi4KCSAgZGxwcmVmaWxlcys9IiAkZnVuY19yZXNvbHZlX3N5c3Jvb3Rf
cmVzdWx0IgoJICBwcmV2PQoJZWxzZQoJICBkZXBsaWJzKz0iICRmdW5jX3Jl
c29sdmVfc3lzcm9vdF9yZXN1bHQiCglmaQoJY29udGludWUKCTs7CgogICAg
ICAjIFNvbWUgb3RoZXIgY29tcGlsZXIgYXJndW1lbnQuCiAgICAgICopCgkj
IFVua25vd24gYXJndW1lbnRzIGluIGJvdGggZmluYWxpemVfY29tbWFuZCBh
bmQgY29tcGlsZV9jb21tYW5kIG5lZWQKCSMgdG8gYmUgYWVzdGhldGljYWxs
eSBxdW90ZWQgYmVjYXVzZSB0aGV5IGFyZSBldmFsZWQgbGF0ZXIuCglmdW5j
X3F1b3RlX2Zvcl9ldmFsICIkYXJnIgoJYXJnPSIkZnVuY19xdW90ZV9mb3Jf
ZXZhbF9yZXN1bHQiCgk7OwogICAgICBlc2FjICMgYXJnCgogICAgICAjIE5v
dyBhY3R1YWxseSBzdWJzdGl0dXRlIHRoZSBhcmd1bWVudCBpbnRvIHRoZSBj
b21tYW5kcy4KICAgICAgaWYgdGVzdCAtbiAiJGFyZyI7IHRoZW4KCWNvbXBp
bGVfY29tbWFuZCs9IiAkYXJnIgoJZmluYWxpemVfY29tbWFuZCs9IiAkYXJn
IgogICAgICBmaQogICAgZG9uZSAjIGFyZ3VtZW50IHBhcnNpbmcgbG9vcAoK
ICAgIHRlc3QgLW4gIiRwcmV2IiAmJiBcCiAgICAgIGZ1bmNfZmF0YWxfaGVs
cCAidGhlIFxgJHByZXZhcmcnIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVu
dCIKCiAgICBpZiB0ZXN0ICIkZXhwb3J0X2R5bmFtaWMiID0geWVzICYmIHRl
c3QgLW4gIiRleHBvcnRfZHluYW1pY19mbGFnX3NwZWMiOyB0aGVuCiAgICAg
IGV2YWwgYXJnPVwiJGV4cG9ydF9keW5hbWljX2ZsYWdfc3BlY1wiCiAgICAg
IGNvbXBpbGVfY29tbWFuZCs9IiAkYXJnIgogICAgICBmaW5hbGl6ZV9jb21t
YW5kKz0iICRhcmciCiAgICBmaQoKICAgIG9sZGxpYnM9CiAgICAjIGNhbGN1
bGF0ZSB0aGUgbmFtZSBvZiB0aGUgZmlsZSwgd2l0aG91dCBpdHMgZGlyZWN0
b3J5CiAgICBmdW5jX2Jhc2VuYW1lICIkb3V0cHV0IgogICAgb3V0cHV0bmFt
ZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgogICAgbGlib2Jqc19zYXZlPSIk
bGlib2JqcyIKCiAgICBpZiB0ZXN0IC1uICIkc2hsaWJwYXRoX3ZhciI7IHRo
ZW4KICAgICAgIyBnZXQgdGhlIGRpcmVjdG9yaWVzIGxpc3RlZCBpbiAkc2hs
aWJwYXRoX3ZhcgogICAgICBldmFsIHNobGliX3NlYXJjaF9wYXRoPVxgXCRF
Q0hPIFwiXCR7JHNobGlicGF0aF92YXJ9XCIgXHwgXCRTRUQgXCdzLzovIC9n
XCdcYAogICAgZWxzZQogICAgICBzaGxpYl9zZWFyY2hfcGF0aD0KICAgIGZp
CiAgICBldmFsIHN5c19saWJfc2VhcmNoX3BhdGg9XCIkc3lzX2xpYl9zZWFy
Y2hfcGF0aF9zcGVjXCIKICAgIGV2YWwgc3lzX2xpYl9kbHNlYXJjaF9wYXRo
PVwiJHN5c19saWJfZGxzZWFyY2hfcGF0aF9zcGVjXCIKCiAgICBmdW5jX2Rp
cm5hbWUgIiRvdXRwdXQiICIvIiAiIgogICAgb3V0cHV0X29iamRpcj0iJGZ1
bmNfZGlybmFtZV9yZXN1bHQkb2JqZGlyIgogICAgZnVuY190b190b29sX2Zp
bGUgIiRvdXRwdXRfb2JqZGlyLyIKICAgIHRvb2xfb3V0cHV0X29iamRpcj0k
ZnVuY190b190b29sX2ZpbGVfcmVzdWx0CiAgICAjIENyZWF0ZSB0aGUgb2Jq
ZWN0IGRpcmVjdG9yeS4KICAgIGZ1bmNfbWtkaXJfcCAiJG91dHB1dF9vYmpk
aXIiCgogICAgIyBEZXRlcm1pbmUgdGhlIHR5cGUgb2Ygb3V0cHV0CiAgICBj
YXNlICRvdXRwdXQgaW4KICAgICIiKQogICAgICBmdW5jX2ZhdGFsX2hlbHAg
InlvdSBtdXN0IHNwZWNpZnkgYW4gb3V0cHV0IGZpbGUiCiAgICAgIDs7CiAg
ICAqLiRsaWJleHQpIGxpbmttb2RlPW9sZGxpYiA7OwogICAgKi5sbyB8ICou
JG9iamV4dCkgbGlua21vZGU9b2JqIDs7CiAgICAqLmxhKSBsaW5rbW9kZT1s
aWIgOzsKICAgICopIGxpbmttb2RlPXByb2cgOzsgIyBBbnl0aGluZyBlbHNl
IHNob3VsZCBiZSBhIHByb2dyYW0uCiAgICBlc2FjCgogICAgc3BlY2lhbGRl
cGxpYnM9CgogICAgbGlicz0KICAgICMgRmluZCBhbGwgaW50ZXJkZXBlbmRl
bnQgZGVwbGlicyBieSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcwogICAgIyB0
aGF0IGFyZSBsaW5rZWQgbW9yZSB0aGFuIG9uY2UgKGUuZy4gLWxhIC1sYiAt
bGEpCiAgICBmb3IgZGVwbGliIGluICRkZXBsaWJzOyBkbwogICAgICBpZiAk
b3B0X3ByZXNlcnZlX2R1cF9kZXBzIDsgdGhlbgoJY2FzZSAiJGxpYnMgIiBp
bgoJKiIgJGRlcGxpYiAiKikgc3BlY2lhbGRlcGxpYnMrPSIgJGRlcGxpYiIg
OzsKCWVzYWMKICAgICAgZmkKICAgICAgbGlicys9IiAkZGVwbGliIgogICAg
ZG9uZQoKICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWI7IHRoZW4KICAg
ICAgbGlicz0iJHByZWRlcHMgJGxpYnMgJGNvbXBpbGVyX2xpYl9zZWFyY2hf
cGF0aCAkcG9zdGRlcHMiCgogICAgICAjIENvbXB1dGUgbGlicmFyaWVzIHRo
YXQgYXJlIGxpc3RlZCBtb3JlIHRoYW4gb25jZSBpbiAkcHJlZGVwcwogICAg
ICAjICRwb3N0ZGVwcyBhbmQgbWFyayB0aGVtIGFzIHNwZWNpYWwgKGkuZS4s
IHdob3NlIGR1cGxpY2F0ZXMgYXJlCiAgICAgICMgbm90IHRvIGJlIGVsaW1p
bmF0ZWQpLgogICAgICBwcmVfcG9zdF9kZXBzPQogICAgICBpZiAkb3B0X2R1
cGxpY2F0ZV9jb21waWxlcl9nZW5lcmF0ZWRfZGVwczsgdGhlbgoJZm9yIHBy
ZV9wb3N0X2RlcCBpbiAkcHJlZGVwcyAkcG9zdGRlcHM7IGRvCgkgIGNhc2Ug
IiRwcmVfcG9zdF9kZXBzICIgaW4KCSAgKiIgJHByZV9wb3N0X2RlcCAiKikg
c3BlY2lhbGRlcGxpYnMrPSIgJHByZV9wb3N0X2RlcHMiIDs7CgkgIGVzYWMK
CSAgcHJlX3Bvc3RfZGVwcys9IiAkcHJlX3Bvc3RfZGVwIgoJZG9uZQogICAg
ICBmaQogICAgICBwcmVfcG9zdF9kZXBzPQogICAgZmkKCiAgICBkZXBsaWJz
PQogICAgbmV3ZGVwZW5kZW5jeV9saWJzPQogICAgbmV3bGliX3NlYXJjaF9w
YXRoPQogICAgbmVlZF9yZWxpbms9bm8gIyB3aGV0aGVyIHdlJ3JlIGxpbmtp
bmcgYW55IHVuaW5zdGFsbGVkIGxpYnRvb2wgbGlicmFyaWVzCiAgICBub3Rp
bnN0X2RlcGxpYnM9ICMgbm90LWluc3RhbGxlZCBsaWJ0b29sIGxpYnJhcmll
cwogICAgbm90aW5zdF9wYXRoPSAjIHBhdGhzIHRoYXQgY29udGFpbiBub3Qt
aW5zdGFsbGVkIGxpYnRvb2wgbGlicmFyaWVzCgogICAgY2FzZSAkbGlua21v
ZGUgaW4KICAgIGxpYikKCXBhc3Nlcz0iY29udiBkbHByZW9wZW4gbGluayIK
CWZvciBmaWxlIGluICRkbGZpbGVzICRkbHByZWZpbGVzOyBkbwoJICBjYXNl
ICRmaWxlIGluCgkgICoubGEpIDs7CgkgICopCgkgICAgZnVuY19mYXRhbF9o
ZWxwICJsaWJyYXJpZXMgY2FuIFxgLWRsb3Blbicgb25seSBsaWJ0b29sIGxp
YnJhcmllczogJGZpbGUiCgkgICAgOzsKCSAgZXNhYwoJZG9uZQoJOzsKICAg
IHByb2cpCgljb21waWxlX2RlcGxpYnM9CglmaW5hbGl6ZV9kZXBsaWJzPQoJ
YWxsZGVwbGlicz1ubwoJbmV3ZGxmaWxlcz0KCW5ld2RscHJlZmlsZXM9Cglw
YXNzZXM9ImNvbnYgc2NhbiBkbG9wZW4gZGxwcmVvcGVuIGxpbmsiCgk7Owog
ICAgKikgIHBhc3Nlcz0iY29udiIKCTs7CiAgICBlc2FjCgogICAgZm9yIHBh
c3MgaW4gJHBhc3NlczsgZG8KICAgICAgIyBUaGUgcHJlb3BlbiBwYXNzIGlu
IGxpYiBtb2RlIHJldmVyc2VzICRkZXBsaWJzOyBwdXQgaXQgYmFjayBoZXJl
CiAgICAgICMgc28gdGhhdCAtTCBjb21lcyBiZWZvcmUgbGlicyB0aGF0IG5l
ZWQgaXQgZm9yIGluc3RhbmNlLi4uCiAgICAgIGlmIHRlc3QgIiRsaW5rbW9k
ZSwkcGFzcyIgPSAibGliLGxpbmsiOyB0aGVuCgkjIyBGSVhNRTogRmluZCB0
aGUgcGxhY2Ugd2hlcmUgdGhlIGxpc3QgaXMgcmVidWlsdCBpbiB0aGUgd3Jv
bmcKCSMjICAgICAgICBvcmRlciwgYW5kIGZpeCBpdCB0aGVyZSBwcm9wZXJs
eQogICAgICAgIHRtcF9kZXBsaWJzPQoJZm9yIGRlcGxpYiBpbiAkZGVwbGli
czsgZG8KCSAgdG1wX2RlcGxpYnM9IiRkZXBsaWIgJHRtcF9kZXBsaWJzIgoJ
ZG9uZQoJZGVwbGlicz0iJHRtcF9kZXBsaWJzIgogICAgICBmaQoKICAgICAg
aWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJsaWIsbGluayIgfHwKCSB0
ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gInByb2csc2NhbiI7IHRoZW4KCWxp
YnM9IiRkZXBsaWJzIgoJZGVwbGlicz0KICAgICAgZmkKICAgICAgaWYgdGVz
dCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCWNhc2UgJHBhc3MgaW4KCWRs
b3BlbikgbGlicz0iJGRsZmlsZXMiIDs7CglkbHByZW9wZW4pIGxpYnM9IiRk
bHByZWZpbGVzIiA7OwoJbGluaykgbGlicz0iJGRlcGxpYnMgJURFUExJQlMl
ICRkZXBlbmRlbmN5X2xpYnMiIDs7Cgllc2FjCiAgICAgIGZpCiAgICAgIGlm
IHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAibGliLGRscHJlb3BlbiI7IHRo
ZW4KCSMgQ29sbGVjdCBhbmQgZm9yd2FyZCBkZXBsaWJzIG9mIHByZW9wZW5l
ZCBsaWJ0b29sIGxpYnMKCWZvciBsaWIgaW4gJGRscHJlZmlsZXM7IGRvCgkg
ICMgSWdub3JlIG5vbi1saWJ0b29sLWxpYnMKCSAgZGVwZW5kZW5jeV9saWJz
PQoJICBmdW5jX3Jlc29sdmVfc3lzcm9vdCAiJGxpYiIKCSAgY2FzZSAkbGli
IGluCgkgICoubGEpCWZ1bmNfc291cmNlICIkZnVuY19yZXNvbHZlX3N5c3Jv
b3RfcmVzdWx0IiA7OwoJICBlc2FjCgoJICAjIENvbGxlY3QgcHJlb3BlbmVk
IGxpYnRvb2wgZGVwbGlicywgZXhjZXB0IGFueSB0aGlzIGxpYnJhcnkKCSAg
IyBoYXMgZGVjbGFyZWQgYXMgd2VhayBsaWJzCgkgIGZvciBkZXBsaWIgaW4g
JGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICBmdW5jX2Jhc2VuYW1lICIkZGVw
bGliIgogICAgICAgICAgICBkZXBsaWJfYmFzZT0kZnVuY19iYXNlbmFtZV9y
ZXN1bHQKCSAgICBjYXNlICIgJHdlYWtfbGlicyAiIGluCgkgICAgKiIgJGRl
cGxpYl9iYXNlICIqKSA7OwoJICAgICopIGRlcGxpYnMrPSIgJGRlcGxpYiIg
OzsKCSAgICBlc2FjCgkgIGRvbmUKCWRvbmUKCWxpYnM9IiRkbHByZWZpbGVz
IgogICAgICBmaQogICAgICBpZiB0ZXN0ICIkcGFzcyIgPSBkbG9wZW47IHRo
ZW4KCSMgQ29sbGVjdCBkbHByZW9wZW5lZCBsaWJyYXJpZXMKCXNhdmVfZGVw
bGlicz0iJGRlcGxpYnMiCglkZXBsaWJzPQogICAgICBmaQoKICAgICAgZm9y
IGRlcGxpYiBpbiAkbGliczsgZG8KCWxpYj0KCWZvdW5kPW5vCgljYXNlICRk
ZXBsaWIgaW4KCS1tdHwtbXRocmVhZHN8LWt0aHJlYWR8LUt0aHJlYWR8LXB0
aHJlYWR8LXB0aHJlYWRzfC0tdGhyZWFkLXNhZmUgXAogICAgICAgIHwtdGhy
ZWFkc3wtZm9wZW5tcHwtb3Blbm1wfC1tcHwteG9wZW5tcHwtb21wfC1xc21w
PSopCgkgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxsaW5r
IjsgdGhlbgoJICAgIGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAkY29tcGls
ZV9kZXBsaWJzIgoJICAgIGZpbmFsaXplX2RlcGxpYnM9IiRkZXBsaWIgJGZp
bmFsaXplX2RlcGxpYnMiCgkgIGVsc2UKCSAgICBjb21waWxlcl9mbGFncys9
IiAkZGVwbGliIgoJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBsaWIgOyB0
aGVuCgkJY2FzZSAiJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzICIgaW4K
CQkgICAgKiIgJGRlcGxpYiAiKikgOzsKCQkgICAgKiApIG5ld19pbmhlcml0
ZWRfbGlua2VyX2ZsYWdzKz0iICRkZXBsaWIiIDs7CgkJZXNhYwoJICAgIGZp
CgkgIGZpCgkgIGNvbnRpbnVlCgkgIDs7CgktbCopCgkgIGlmIHRlc3QgIiRs
aW5rbW9kZSIgIT0gbGliICYmIHRlc3QgIiRsaW5rbW9kZSIgIT0gcHJvZzsg
dGhlbgoJICAgIGZ1bmNfd2FybmluZyAiXGAtbCcgaXMgaWdub3JlZCBmb3Ig
YXJjaGl2ZXMvb2JqZWN0cyIKCSAgICBjb250aW51ZQoJICBmaQoJICBmdW5j
X3N0cmlwbmFtZSAnLWwnICcnICIkZGVwbGliIgoJICBuYW1lPSRmdW5jX3N0
cmlwbmFtZV9yZXN1bHQKCSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYjsg
dGhlbgoJICAgIHNlYXJjaGRpcnM9IiRuZXdsaWJfc2VhcmNoX3BhdGggJGxp
Yl9zZWFyY2hfcGF0aCAkY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzICRzeXNf
bGliX3NlYXJjaF9wYXRoICRzaGxpYl9zZWFyY2hfcGF0aCIKCSAgZWxzZQoJ
ICAgIHNlYXJjaGRpcnM9IiRuZXdsaWJfc2VhcmNoX3BhdGggJGxpYl9zZWFy
Y2hfcGF0aCAkc3lzX2xpYl9zZWFyY2hfcGF0aCAkc2hsaWJfc2VhcmNoX3Bh
dGgiCgkgIGZpCgkgIGZvciBzZWFyY2hkaXIgaW4gJHNlYXJjaGRpcnM7IGRv
CgkgICAgZm9yIHNlYXJjaF9leHQgaW4gLmxhICRzdGRfc2hyZXh0IC5zbyAu
YTsgZG8KCSAgICAgICMgU2VhcmNoIHRoZSBsaWJ0b29sIGxpYnJhcnkKCSAg
ICAgIGxpYj0iJHNlYXJjaGRpci9saWIke25hbWV9JHtzZWFyY2hfZXh0fSIK
CSAgICAgIGlmIHRlc3QgLWYgIiRsaWIiOyB0aGVuCgkJaWYgdGVzdCAiJHNl
YXJjaF9leHQiID0gIi5sYSI7IHRoZW4KCQkgIGZvdW5kPXllcwoJCWVsc2UK
CQkgIGZvdW5kPW5vCgkJZmkKCQlicmVhayAyCgkgICAgICBmaQoJICAgIGRv
bmUKCSAgZG9uZQoJICBpZiB0ZXN0ICIkZm91bmQiICE9IHllczsgdGhlbgoJ
ICAgICMgZGVwbGliIGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGxpYnRvb2wgbGli
cmFyeQoJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAicHJvZyxs
aW5rIjsgdGhlbgoJICAgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRj
b21waWxlX2RlcGxpYnMiCgkgICAgICBmaW5hbGl6ZV9kZXBsaWJzPSIkZGVw
bGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGVsc2UKCSAgICAgIGRlcGxp
YnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgICB0ZXN0ICIkbGlua21vZGUi
ID0gbGliICYmIG5ld2RlcGVuZGVuY3lfbGlicz0iJGRlcGxpYiAkbmV3ZGVw
ZW5kZW5jeV9saWJzIgoJICAgIGZpCgkgICAgY29udGludWUKCSAgZWxzZSAj
IGRlcGxpYiBpcyBhIGxpYnRvb2wgbGlicmFyeQoJICAgICMgSWYgJGFsbG93
X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyAmJiAkZGVwbGli
IGlzIGEgc3RkbGliLAoJICAgICMgV2UgbmVlZCB0byBkbyBzb21lIHNwZWNp
YWwgdGhpbmdzIGhlcmUsIGFuZCBub3QgbGF0ZXIuCgkgICAgaWYgdGVzdCAi
WCRhbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXMiID0g
Ilh5ZXMiIDsgdGhlbgoJICAgICAgY2FzZSAiICRwcmVkZXBzICRwb3N0ZGVw
cyAiIGluCgkgICAgICAqIiAkZGVwbGliICIqKQoJCWlmIGZ1bmNfbGFsaWJf
cCAiJGxpYiI7IHRoZW4KCQkgIGxpYnJhcnlfbmFtZXM9CgkJICBvbGRfbGli
cmFyeT0KCQkgIGZ1bmNfc291cmNlICIkbGliIgoJCSAgZm9yIGwgaW4gJG9s
ZF9saWJyYXJ5ICRsaWJyYXJ5X25hbWVzOyBkbwoJCSAgICBsbD0iJGwiCgkJ
ICBkb25lCgkJICBpZiB0ZXN0ICJYJGxsIiA9ICJYJG9sZF9saWJyYXJ5IiA7
IHRoZW4gIyBvbmx5IHN0YXRpYyB2ZXJzaW9uIGF2YWlsYWJsZQoJCSAgICBm
b3VuZD1ubwoJCSAgICBmdW5jX2Rpcm5hbWUgIiRsaWIiICIiICIuIgoJCSAg
ICBsYWRpcj0iJGZ1bmNfZGlybmFtZV9yZXN1bHQiCgkJICAgIGxpYj0kbGFk
aXIvJG9sZF9saWJyYXJ5CgkJICAgIGlmIHRlc3QgIiRsaW5rbW9kZSwkcGFz
cyIgPSAicHJvZyxsaW5rIjsgdGhlbgoJCSAgICAgIGNvbXBpbGVfZGVwbGli
cz0iJGRlcGxpYiAkY29tcGlsZV9kZXBsaWJzIgoJCSAgICAgIGZpbmFsaXpl
X2RlcGxpYnM9IiRkZXBsaWIgJGZpbmFsaXplX2RlcGxpYnMiCgkJICAgIGVs
c2UKCQkgICAgICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJCSAgICAg
IHRlc3QgIiRsaW5rbW9kZSIgPSBsaWIgJiYgbmV3ZGVwZW5kZW5jeV9saWJz
PSIkZGVwbGliICRuZXdkZXBlbmRlbmN5X2xpYnMiCgkJICAgIGZpCgkJICAg
IGNvbnRpbnVlCgkJICBmaQoJCWZpCgkJOzsKCSAgICAgICopIDs7CgkgICAg
ICBlc2FjCgkgICAgZmkKCSAgZmkKCSAgOzsgIyAtbAoJKi5sdGZyYW1ld29y
aykKCSAgaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiA9ICJwcm9nLGxpbmsi
OyB0aGVuCgkgICAgY29tcGlsZV9kZXBsaWJzPSIkZGVwbGliICRjb21waWxl
X2RlcGxpYnMiCgkgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmlu
YWxpemVfZGVwbGlicyIKCSAgZWxzZQoJICAgIGRlcGxpYnM9IiRkZXBsaWIg
JGRlcGxpYnMiCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IGxpYiA7IHRo
ZW4KCQljYXNlICIkbmV3X2luaGVyaXRlZF9saW5rZXJfZmxhZ3MgIiBpbgoJ
CSAgICAqIiAkZGVwbGliICIqKSA7OwoJCSAgICAqICkgbmV3X2luaGVyaXRl
ZF9saW5rZXJfZmxhZ3MrPSIgJGRlcGxpYiIgOzsKCQllc2FjCgkgICAgZmkK
CSAgZmkKCSAgY29udGludWUKCSAgOzsKCS1MKikKCSAgY2FzZSAkbGlua21v
ZGUgaW4KCSAgbGliKQoJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMi
CgkgICAgdGVzdCAiJHBhc3MiID0gY29udiAmJiBjb250aW51ZQoJICAgIG5l
d2RlcGVuZGVuY3lfbGlicz0iJGRlcGxpYiAkbmV3ZGVwZW5kZW5jeV9saWJz
IgoJICAgIGZ1bmNfc3RyaXBuYW1lICctTCcgJycgIiRkZXBsaWIiCgkgICAg
ZnVuY19yZXNvbHZlX3N5c3Jvb3QgIiRmdW5jX3N0cmlwbmFtZV9yZXN1bHQi
CgkgICAgbmV3bGliX3NlYXJjaF9wYXRoKz0iICRmdW5jX3Jlc29sdmVfc3lz
cm9vdF9yZXN1bHQiCgkgICAgOzsKCSAgcHJvZykKCSAgICBpZiB0ZXN0ICIk
cGFzcyIgPSBjb252OyB0aGVuCgkgICAgICBkZXBsaWJzPSIkZGVwbGliICRk
ZXBsaWJzIgoJICAgICAgY29udGludWUKCSAgICBmaQoJICAgIGlmIHRlc3Qg
IiRwYXNzIiA9IHNjYW47IHRoZW4KCSAgICAgIGRlcGxpYnM9IiRkZXBsaWIg
JGRlcGxpYnMiCgkgICAgZWxzZQoJICAgICAgY29tcGlsZV9kZXBsaWJzPSIk
ZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkgICAgICBmaW5hbGl6ZV9kZXBs
aWJzPSIkZGVwbGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGZpCgkgICAg
ZnVuY19zdHJpcG5hbWUgJy1MJyAnJyAiJGRlcGxpYiIKCSAgICBmdW5jX3Jl
c29sdmVfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIKCSAgICBu
ZXdsaWJfc2VhcmNoX3BhdGgrPSIgJGZ1bmNfcmVzb2x2ZV9zeXNyb290X3Jl
c3VsdCIKCSAgICA7OwoJICAqKQoJICAgIGZ1bmNfd2FybmluZyAiXGAtTCcg
aXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMvb2JqZWN0cyIKCSAgICA7OwoJICBl
c2FjICMgbGlua21vZGUKCSAgY29udGludWUKCSAgOzsgIyAtTAoJLVIqKQoJ
ICBpZiB0ZXN0ICIkcGFzcyIgPSBsaW5rOyB0aGVuCgkgICAgZnVuY19zdHJp
cG5hbWUgJy1SJyAnJyAiJGRlcGxpYiIKCSAgICBmdW5jX3Jlc29sdmVfc3lz
cm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIKCSAgICBkaXI9JGZ1bmNf
cmVzb2x2ZV9zeXNyb290X3Jlc3VsdAoJICAgICMgTWFrZSBzdXJlIHRoZSB4
cnBhdGggY29udGFpbnMgb25seSB1bmlxdWUgZGlyZWN0b3JpZXMuCgkgICAg
Y2FzZSAiJHhycGF0aCAiIGluCgkgICAgKiIgJGRpciAiKikgOzsKCSAgICAq
KSB4cnBhdGgrPSIgJGRpciIgOzsKCSAgICBlc2FjCgkgIGZpCgkgIGRlcGxp
YnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgIGNvbnRpbnVlCgkgIDs7CgkqLmxh
KQoJICBmdW5jX3Jlc29sdmVfc3lzcm9vdCAiJGRlcGxpYiIKCSAgbGliPSRm
dW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQKCSAgOzsKCSouJGxpYmV4dCkK
CSAgaWYgdGVzdCAiJHBhc3MiID0gY29udjsgdGhlbgoJICAgIGRlcGxpYnM9
IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgY29udGludWUKCSAgZmkKCSAgY2Fz
ZSAkbGlua21vZGUgaW4KCSAgbGliKQoJICAgICMgTGlua2luZyBjb252ZW5p
ZW5jZSBtb2R1bGVzIGludG8gc2hhcmVkIGxpYnJhcmllcyBpcyBhbGxvd2Vk
LAoJICAgICMgYnV0IGxpbmtpbmcgb3RoZXIgc3RhdGljIGxpYnJhcmllcyBp
cyBub24tcG9ydGFibGUuCgkgICAgY2FzZSAiICRkbHByZWNvbnZlbmllbmNl
bGlicyAiIGluCgkgICAgKiIgJGRlcGxpYiAiKikgOzsKCSAgICAqKQoJICAg
ICAgdmFsaWRfYV9saWI9bm8KCSAgICAgIGNhc2UgJGRlcGxpYnNfY2hlY2tf
bWV0aG9kIGluCgkJbWF0Y2hfcGF0dGVybiopCgkJICBzZXQgZHVtbXkgJGRl
cGxpYnNfY2hlY2tfbWV0aG9kOyBzaGlmdAoJCSAgbWF0Y2hfcGF0dGVybl9y
ZWdleD1gZXhwciAiJGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIkMSBcKC4q
XCkiYAoJCSAgaWYgZXZhbCAiXCRFQ0hPIFwiJGRlcGxpYlwiIiAyPi9kZXYv
bnVsbCB8ICRTRUQgMTBxIFwKCQkgICAgfCAkRUdSRVAgIiRtYXRjaF9wYXR0
ZXJuX3JlZ2V4IiA+IC9kZXYvbnVsbDsgdGhlbgoJCSAgICB2YWxpZF9hX2xp
Yj15ZXMKCQkgIGZpCgkJOzsKCQlwYXNzX2FsbCkKCQkgIHZhbGlkX2FfbGli
PXllcwoJCTs7CgkgICAgICBlc2FjCgkgICAgICBpZiB0ZXN0ICIkdmFsaWRf
YV9saWIiICE9IHllczsgdGhlbgoJCWVjaG8KCQkkRUNITyAiKioqIFdhcm5p
bmc6IFRyeWluZyB0byBsaW5rIHdpdGggc3RhdGljIGxpYiBhcmNoaXZlICRk
ZXBsaWIuIgoJCWVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkgdG8g
bWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdoZW4i
CgkJZWNobyAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1dCBJ
IGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKCQllY2hvICIqKiog
c2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlvdSBkbyBu
b3QgYXBwZWFyIHRvIGhhdmUiCgkJZWNobyAiKioqIGJlY2F1c2UgdGhlIGZp
bGUgZXh0ZW5zaW9ucyAuJGxpYmV4dCBvZiB0aGlzIGFyZ3VtZW50IG1ha2Vz
IG1lIGJlbGlldmUiCgkJZWNobyAiKioqIHRoYXQgaXQgaXMganVzdCBhIHN0
YXRpYyBhcmNoaXZlIHRoYXQgSSBzaG91bGQgbm90IHVzZSBoZXJlLiIKCSAg
ICAgIGVsc2UKCQllY2hvCgkJJEVDSE8gIioqKiBXYXJuaW5nOiBMaW5raW5n
IHRoZSBzaGFyZWQgbGlicmFyeSAkb3V0cHV0IGFnYWluc3QgdGhlIgoJCSRF
Q0hPICIqKiogc3RhdGljIGxpYnJhcnkgJGRlcGxpYiBpcyBub3QgcG9ydGFi
bGUhIgoJCWRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAgICBmaQoJ
ICAgICAgOzsKCSAgICBlc2FjCgkgICAgY29udGludWUKCSAgICA7OwoJICBw
cm9nKQoJICAgIGlmIHRlc3QgIiRwYXNzIiAhPSBsaW5rOyB0aGVuCgkgICAg
ICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJICAgIGVsc2UKCSAgICAg
IGNvbXBpbGVfZGVwbGlicz0iJGRlcGxpYiAkY29tcGlsZV9kZXBsaWJzIgoJ
ICAgICAgZmluYWxpemVfZGVwbGlicz0iJGRlcGxpYiAkZmluYWxpemVfZGVw
bGlicyIKCSAgICBmaQoJICAgIGNvbnRpbnVlCgkgICAgOzsKCSAgZXNhYyAj
IGxpbmttb2RlCgkgIDs7ICMgKi4kbGliZXh0CgkqLmxvIHwgKi4kb2JqZXh0
KQoJICBpZiB0ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkgICAgZGVwbGli
cz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgZWxpZiB0ZXN0ICIkbGlua21vZGUi
ID0gcHJvZzsgdGhlbgoJICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRscHJlb3Bl
biB8fCB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiICE9IHllcyB8fCB0ZXN0ICIk
YnVpbGRfbGlidG9vbF9saWJzIiA9IG5vOyB0aGVuCgkgICAgICAjIElmIHRo
ZXJlIGlzIG5vIGRsb3BlbiBzdXBwb3J0IG9yIHdlJ3JlIGxpbmtpbmcgc3Rh
dGljYWxseSwKCSAgICAgICMgd2UgbmVlZCB0byBwcmVsb2FkLgoJICAgICAg
bmV3ZGxwcmVmaWxlcys9IiAkZGVwbGliIgoJICAgICAgY29tcGlsZV9kZXBs
aWJzPSIkZGVwbGliICRjb21waWxlX2RlcGxpYnMiCgkgICAgICBmaW5hbGl6
ZV9kZXBsaWJzPSIkZGVwbGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgIGVs
c2UKCSAgICAgIG5ld2RsZmlsZXMrPSIgJGRlcGxpYiIKCSAgICBmaQoJICBm
aQoJICBjb250aW51ZQoJICA7OwoJJURFUExJQlMlKQoJICBhbGxkZXBsaWJz
PXllcwoJICBjb250aW51ZQoJICA7OwoJZXNhYyAjIGNhc2UgJGRlcGxpYgoK
CWlmIHRlc3QgIiRmb3VuZCIgPSB5ZXMgfHwgdGVzdCAtZiAiJGxpYiI7IHRo
ZW4gOgoJZWxzZQoJICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3QgZmluZCB0
aGUgbGlicmFyeSBcYCRsaWInIG9yIHVuaGFuZGxlZCBhcmd1bWVudCBcYCRk
ZXBsaWInIgoJZmkKCgkjIENoZWNrIHRvIHNlZSB0aGF0IHRoaXMgcmVhbGx5
IGlzIGEgbGlidG9vbCBhcmNoaXZlLgoJZnVuY19sYWxpYl91bnNhZmVfcCAi
JGxpYiIgXAoJICB8fCBmdW5jX2ZhdGFsX2Vycm9yICJcYCRsaWInIGlzIG5v
dCBhIHZhbGlkIGxpYnRvb2wgYXJjaGl2ZSIKCglmdW5jX2Rpcm5hbWUgIiRs
aWIiICIiICIuIgoJbGFkaXI9IiRmdW5jX2Rpcm5hbWVfcmVzdWx0IgoKCWRs
bmFtZT0KCWRsb3Blbj0KCWRscHJlb3Blbj0KCWxpYmRpcj0KCWxpYnJhcnlf
bmFtZXM9CglvbGRfbGlicmFyeT0KCWluaGVyaXRlZF9saW5rZXJfZmxhZ3M9
CgkjIElmIHRoZSBsaWJyYXJ5IHdhcyBpbnN0YWxsZWQgd2l0aCBhbiBvbGQg
cmVsZWFzZSBvZiBsaWJ0b29sLAoJIyBpdCB3aWxsIG5vdCByZWRlZmluZSB2
YXJpYWJsZXMgaW5zdGFsbGVkLCBvciBzaG91bGRub3RsaW5rCglpbnN0YWxs
ZWQ9eWVzCglzaG91bGRub3RsaW5rPW5vCglhdm9pZHRlbXBycGF0aD0KCgoJ
IyBSZWFkIHRoZSAubGEgZmlsZQoJZnVuY19zb3VyY2UgIiRsaWIiCgoJIyBD
b252ZXJ0ICItZnJhbWV3b3JrIGZvbyIgdG8gImZvby5sdGZyYW1ld29yayIK
CWlmIHRlc3QgLW4gIiRpbmhlcml0ZWRfbGlua2VyX2ZsYWdzIjsgdGhlbgoJ
ICB0bXBfaW5oZXJpdGVkX2xpbmtlcl9mbGFncz1gJEVDSE8gIiRpbmhlcml0
ZWRfbGlua2VyX2ZsYWdzIiB8ICRTRUQgJ3MvLWZyYW1ld29yayBcKFteICRd
KlwpL1wxLmx0ZnJhbWV3b3JrL2cnYAoJICBmb3IgdG1wX2luaGVyaXRlZF9s
aW5rZXJfZmxhZyBpbiAkdG1wX2luaGVyaXRlZF9saW5rZXJfZmxhZ3M7IGRv
CgkgICAgY2FzZSAiICRuZXdfaW5oZXJpdGVkX2xpbmtlcl9mbGFncyAiIGlu
CgkgICAgICAqIiAkdG1wX2luaGVyaXRlZF9saW5rZXJfZmxhZyAiKikgOzsK
CSAgICAgICopIG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzKz0iICR0bXBf
aW5oZXJpdGVkX2xpbmtlcl9mbGFnIjs7CgkgICAgZXNhYwoJICBkb25lCglm
aQoJZGVwZW5kZW5jeV9saWJzPWAkRUNITyAiICRkZXBlbmRlbmN5X2xpYnMi
IHwgJFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1ld29yayUgLWZyYW1ld29y
ayBcMSVnJ2AKCWlmIHRlc3QgIiRsaW5rbW9kZSwkcGFzcyIgPSAibGliLGxp
bmsiIHx8CgkgICB0ZXN0ICIkbGlua21vZGUsJHBhc3MiID0gInByb2csc2Nh
biIgfHwKCSAgIHsgdGVzdCAiJGxpbmttb2RlIiAhPSBwcm9nICYmIHRlc3Qg
IiRsaW5rbW9kZSIgIT0gbGliOyB9OyB0aGVuCgkgIHRlc3QgLW4gIiRkbG9w
ZW4iICYmIGRsZmlsZXMrPSIgJGRsb3BlbiIKCSAgdGVzdCAtbiAiJGRscHJl
b3BlbiIgJiYgZGxwcmVmaWxlcys9IiAkZGxwcmVvcGVuIgoJZmkKCglpZiB0
ZXN0ICIkcGFzcyIgPSBjb252OyB0aGVuCgkgICMgT25seSBjaGVjayBmb3Ig
Y29udmVuaWVuY2UgbGlicmFyaWVzCgkgIGRlcGxpYnM9IiRsaWIgJGRlcGxp
YnMiCgkgIGlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVuCgkgICAgaWYgdGVz
dCAteiAiJG9sZF9saWJyYXJ5IjsgdGhlbgoJICAgICAgZnVuY19mYXRhbF9l
cnJvciAiY2Fubm90IGZpbmQgbmFtZSBvZiBsaW5rIGxpYnJhcnkgZm9yIFxg
JGxpYiciCgkgICAgZmkKCSAgICAjIEl0IGlzIGEgbGlidG9vbCBjb252ZW5p
ZW5jZSBsaWJyYXJ5LCBzbyBhZGQgaW4gaXRzIG9iamVjdHMuCgkgICAgY29u
dmVuaWVuY2UrPSIgJGxhZGlyLyRvYmpkaXIvJG9sZF9saWJyYXJ5IgoJICAg
IG9sZF9jb252ZW5pZW5jZSs9IiAkbGFkaXIvJG9iamRpci8kb2xkX2xpYnJh
cnkiCgkgIGVsaWYgdGVzdCAiJGxpbmttb2RlIiAhPSBwcm9nICYmIHRlc3Qg
IiRsaW5rbW9kZSIgIT0gbGliOyB0aGVuCgkgICAgZnVuY19mYXRhbF9lcnJv
ciAiXGAkbGliJyBpcyBub3QgYSBjb252ZW5pZW5jZSBsaWJyYXJ5IgoJICBm
aQoJICB0bXBfbGlicz0KCSAgZm9yIGRlcGxpYiBpbiAkZGVwZW5kZW5jeV9s
aWJzOyBkbwoJICAgIGRlcGxpYnM9IiRkZXBsaWIgJGRlcGxpYnMiCgkgICAg
aWYgJG9wdF9wcmVzZXJ2ZV9kdXBfZGVwcyA7IHRoZW4KCSAgICAgIGNhc2Ug
IiR0bXBfbGlicyAiIGluCgkgICAgICAqIiAkZGVwbGliICIqKSBzcGVjaWFs
ZGVwbGlicys9IiAkZGVwbGliIiA7OwoJICAgICAgZXNhYwoJICAgIGZpCgkg
ICAgdG1wX2xpYnMrPSIgJGRlcGxpYiIKCSAgZG9uZQoJICBjb250aW51ZQoJ
ZmkgIyAkcGFzcyA9IGNvbnYKCgoJIyBHZXQgdGhlIG5hbWUgb2YgdGhlIGxp
YnJhcnkgd2UgbGluayBhZ2FpbnN0LgoJbGlua2xpYj0KCWlmIHRlc3QgLW4g
IiRvbGRfbGlicmFyeSIgJiYKCSAgIHsgdGVzdCAiJHByZWZlcl9zdGF0aWNf
bGlicyIgPSB5ZXMgfHwKCSAgICAgdGVzdCAiJHByZWZlcl9zdGF0aWNfbGli
cywkaW5zdGFsbGVkIiA9ICJidWlsdCxubyI7IH07IHRoZW4KCSAgbGlua2xp
Yj0kb2xkX2xpYnJhcnkKCWVsc2UKCSAgZm9yIGwgaW4gJG9sZF9saWJyYXJ5
ICRsaWJyYXJ5X25hbWVzOyBkbwoJICAgIGxpbmtsaWI9IiRsIgoJICBkb25l
CglmaQoJaWYgdGVzdCAteiAiJGxpbmtsaWIiOyB0aGVuCgkgIGZ1bmNfZmF0
YWxfZXJyb3IgImNhbm5vdCBmaW5kIG5hbWUgb2YgbGluayBsaWJyYXJ5IGZv
ciBcYCRsaWInIgoJZmkKCgkjIFRoaXMgbGlicmFyeSB3YXMgc3BlY2lmaWVk
IHdpdGggLWRsb3Blbi4KCWlmIHRlc3QgIiRwYXNzIiA9IGRsb3BlbjsgdGhl
bgoJICBpZiB0ZXN0IC16ICIkbGliZGlyIjsgdGhlbgoJICAgIGZ1bmNfZmF0
YWxfZXJyb3IgImNhbm5vdCAtZGxvcGVuIGEgY29udmVuaWVuY2UgbGlicmFy
eTogXGAkbGliJyIKCSAgZmkKCSAgaWYgdGVzdCAteiAiJGRsbmFtZSIgfHwK
CSAgICAgdGVzdCAiJGRsb3Blbl9zdXBwb3J0IiAhPSB5ZXMgfHwKCSAgICAg
dGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBubzsgdGhlbgoJICAgICMg
SWYgdGhlcmUgaXMgbm8gZGxuYW1lLCBubyBkbG9wZW4gc3VwcG9ydCBvciB3
ZSdyZSBsaW5raW5nCgkgICAgIyBzdGF0aWNhbGx5LCB3ZSBuZWVkIHRvIHBy
ZWxvYWQuICBXZSBhbHNvIG5lZWQgdG8gcHJlbG9hZCBhbnkKCSAgICAjIGRl
cGVuZGVudCBsaWJyYXJpZXMgc28gbGlibHRkbCdzIGRlcGxpYiBwcmVsb2Fk
ZXIgZG9lc24ndAoJICAgICMgYm9tYiBvdXQgaW4gdGhlIGxvYWQgZGVwbGli
cyBwaGFzZS4KCSAgICBkbHByZWZpbGVzKz0iICRsaWIgJGRlcGVuZGVuY3lf
bGlicyIKCSAgZWxzZQoJICAgIG5ld2RsZmlsZXMrPSIgJGxpYiIKCSAgZmkK
CSAgY29udGludWUKCWZpICMgJHBhc3MgPSBkbG9wZW4KCgkjIFdlIG5lZWQg
YW4gYWJzb2x1dGUgcGF0aC4KCWNhc2UgJGxhZGlyIGluCglbXFwvXSogfCBb
QS1aYS16XTpbXFwvXSopIGFic19sYWRpcj0iJGxhZGlyIiA7OwoJKikKCSAg
YWJzX2xhZGlyPWBjZCAiJGxhZGlyIiAmJiBwd2RgCgkgIGlmIHRlc3QgLXog
IiRhYnNfbGFkaXIiOyB0aGVuCgkgICAgZnVuY193YXJuaW5nICJjYW5ub3Qg
ZGV0ZXJtaW5lIGFic29sdXRlIGRpcmVjdG9yeSBuYW1lIG9mIFxgJGxhZGly
JyIKCSAgICBmdW5jX3dhcm5pbmcgInBhc3NpbmcgaXQgbGl0ZXJhbGx5IHRv
IHRoZSBsaW5rZXIsIGFsdGhvdWdoIGl0IG1pZ2h0IGZhaWwiCgkgICAgYWJz
X2xhZGlyPSIkbGFkaXIiCgkgIGZpCgkgIDs7Cgllc2FjCglmdW5jX2Jhc2Vu
YW1lICIkbGliIgoJbGFuYW1lPSIkZnVuY19iYXNlbmFtZV9yZXN1bHQiCgoJ
IyBGaW5kIHRoZSByZWxldmFudCBvYmplY3QgZGlyZWN0b3J5IGFuZCBsaWJy
YXJ5IG5hbWUuCglpZiB0ZXN0ICJYJGluc3RhbGxlZCIgPSBYeWVzOyB0aGVu
CgkgIGlmIHRlc3QgISAtZiAiJGx0X3N5c3Jvb3QkbGliZGlyLyRsaW5rbGli
IiAmJiB0ZXN0IC1mICIkYWJzX2xhZGlyLyRsaW5rbGliIjsgdGhlbgoJICAg
IGZ1bmNfd2FybmluZyAibGlicmFyeSBcYCRsaWInIHdhcyBtb3ZlZC4iCgkg
ICAgZGlyPSIkbGFkaXIiCgkgICAgYWJzZGlyPSIkYWJzX2xhZGlyIgoJICAg
IGxpYmRpcj0iJGFic19sYWRpciIKCSAgZWxzZQoJICAgIGRpcj0iJGx0X3N5
c3Jvb3QkbGliZGlyIgoJICAgIGFic2Rpcj0iJGx0X3N5c3Jvb3QkbGliZGly
IgoJICBmaQoJICB0ZXN0ICJYJGhhcmRjb2RlX2F1dG9tYXRpYyIgPSBYeWVz
ICYmIGF2b2lkdGVtcHJwYXRoPXllcwoJZWxzZQoJICBpZiB0ZXN0ICEgLWYg
IiRsYWRpci8kb2JqZGlyLyRsaW5rbGliIiAmJiB0ZXN0IC1mICIkYWJzX2xh
ZGlyLyRsaW5rbGliIjsgdGhlbgoJICAgIGRpcj0iJGxhZGlyIgoJICAgIGFi
c2Rpcj0iJGFic19sYWRpciIKCSAgICAjIFJlbW92ZSB0aGlzIHNlYXJjaCBw
YXRoIGxhdGVyCgkgICAgbm90aW5zdF9wYXRoKz0iICRhYnNfbGFkaXIiCgkg
IGVsc2UKCSAgICBkaXI9IiRsYWRpci8kb2JqZGlyIgoJICAgIGFic2Rpcj0i
JGFic19sYWRpci8kb2JqZGlyIgoJICAgICMgUmVtb3ZlIHRoaXMgc2VhcmNo
IHBhdGggbGF0ZXIKCSAgICBub3RpbnN0X3BhdGgrPSIgJGFic19sYWRpciIK
CSAgZmkKCWZpICMgJGluc3RhbGxlZCA9IHllcwoJZnVuY19zdHJpcG5hbWUg
J2xpYicgJy5sYScgIiRsYW5hbWUiCgluYW1lPSRmdW5jX3N0cmlwbmFtZV9y
ZXN1bHQKCgkjIFRoaXMgbGlicmFyeSB3YXMgc3BlY2lmaWVkIHdpdGggLWRs
cHJlb3Blbi4KCWlmIHRlc3QgIiRwYXNzIiA9IGRscHJlb3BlbjsgdGhlbgoJ
ICBpZiB0ZXN0IC16ICIkbGliZGlyIiAmJiB0ZXN0ICIkbGlua21vZGUiID0g
cHJvZzsgdGhlbgoJICAgIGZ1bmNfZmF0YWxfZXJyb3IgIm9ubHkgbGlicmFy
aWVzIG1heSAtZGxwcmVvcGVuIGEgY29udmVuaWVuY2UgbGlicmFyeTogXGAk
bGliJyIKCSAgZmkKCSAgY2FzZSAiJGhvc3QiIGluCgkgICAgIyBzcGVjaWFs
IGhhbmRsaW5nIGZvciBwbGF0Zm9ybXMgd2l0aCBQRS1ETExzLgoJICAgICpj
eWd3aW4qIHwgKm1pbmd3KiB8ICpjZWdjYyogKQoJICAgICAgIyBMaW5rZXIg
d2lsbCBhdXRvbWF0aWNhbGx5IGxpbmsgYWdhaW5zdCBzaGFyZWQgbGlicmFy
eSBpZiBib3RoCgkgICAgICAjIHN0YXRpYyBhbmQgc2hhcmVkIGFyZSBwcmVz
ZW50LiAgVGhlcmVmb3JlLCBlbnN1cmUgd2UgZXh0cmFjdAoJICAgICAgIyBz
eW1ib2xzIGZyb20gdGhlIGltcG9ydCBsaWJyYXJ5IGlmIGEgc2hhcmVkIGxp
YnJhcnkgaXMgcHJlc2VudAoJICAgICAgIyAob3RoZXJ3aXNlLCB0aGUgZGxv
cGVuIG1vZHVsZSBuYW1lIHdpbGwgYmUgaW5jb3JyZWN0KS4gIFdlIGRvCgkg
ICAgICAjIHRoaXMgYnkgcHV0dGluZyB0aGUgaW1wb3J0IGxpYnJhcnkgbmFt
ZSBpbnRvICRuZXdkbHByZWZpbGVzLgoJICAgICAgIyBXZSByZWNvdmVyIHRo
ZSBkbG9wZW4gbW9kdWxlIG5hbWUgYnkgJ3NhdmluZycgdGhlIGxhIGZpbGUK
CSAgICAgICMgbmFtZSBpbiBhIHNwZWNpYWwgcHVycG9zZSB2YXJpYWJsZSwg
YW5kIChsYXRlcikgZXh0cmFjdGluZyB0aGUKCSAgICAgICMgZGxuYW1lIGZy
b20gdGhlIGxhIGZpbGUuCgkgICAgICBpZiB0ZXN0IC1uICIkZGxuYW1lIjsg
dGhlbgoJICAgICAgICBmdW5jX3RyX3NoICIkZGlyLyRsaW5rbGliIgoJICAg
ICAgICBldmFsICJsaWJmaWxlXyRmdW5jX3RyX3NoX3Jlc3VsdD1cJGFic19s
YWRpci9cJGxhbmFtZSIKCSAgICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkZGly
LyRsaW5rbGliIgoJICAgICAgZWxzZQoJICAgICAgICBuZXdkbHByZWZpbGVz
Kz0iICRkaXIvJG9sZF9saWJyYXJ5IgoJICAgICAgICAjIEtlZXAgYSBsaXN0
IG9mIHByZW9wZW5lZCBjb252ZW5pZW5jZSBsaWJyYXJpZXMgdG8gY2hlY2sK
CSAgICAgICAgIyB0aGF0IHRoZXkgYXJlIGJlaW5nIHVzZWQgY29ycmVjdGx5
IGluIHRoZSBsaW5rIHBhc3MuCgkgICAgICAgIHRlc3QgLXogIiRsaWJkaXIi
ICYmIFwKCSAgICAgICAgICBkbHByZWNvbnZlbmllbmNlbGlicys9IiAkZGly
LyRvbGRfbGlicmFyeSIKCSAgICAgIGZpCgkgICAgOzsKCSAgICAqICkKCSAg
ICAgICMgUHJlZmVyIHVzaW5nIGEgc3RhdGljIGxpYnJhcnkgKHNvIHRoYXQg
bm8gc2lsbHkgX0RZTkFNSUMgc3ltYm9scwoJICAgICAgIyBhcmUgcmVxdWly
ZWQgdG8gbGluaykuCgkgICAgICBpZiB0ZXN0IC1uICIkb2xkX2xpYnJhcnki
OyB0aGVuCgkgICAgICAgIG5ld2RscHJlZmlsZXMrPSIgJGRpci8kb2xkX2xp
YnJhcnkiCgkgICAgICAgICMgS2VlcCBhIGxpc3Qgb2YgcHJlb3BlbmVkIGNv
bnZlbmllbmNlIGxpYnJhcmllcyB0byBjaGVjawoJICAgICAgICAjIHRoYXQg
dGhleSBhcmUgYmVpbmcgdXNlZCBjb3JyZWN0bHkgaW4gdGhlIGxpbmsgcGFz
cy4KCSAgICAgICAgdGVzdCAteiAiJGxpYmRpciIgJiYgXAoJICAgICAgICAg
IGRscHJlY29udmVuaWVuY2VsaWJzKz0iICRkaXIvJG9sZF9saWJyYXJ5IgoJ
ICAgICAgIyBPdGhlcndpc2UsIHVzZSB0aGUgZGxuYW1lLCBzbyB0aGF0IGx0
X2Rsb3BlbiBmaW5kcyBpdC4KCSAgICAgIGVsaWYgdGVzdCAtbiAiJGRsbmFt
ZSI7IHRoZW4KCSAgICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkZGlyLyRkbG5h
bWUiCgkgICAgICBlbHNlCgkgICAgICAgIG5ld2RscHJlZmlsZXMrPSIgJGRp
ci8kbGlua2xpYiIKCSAgICAgIGZpCgkgICAgOzsKCSAgZXNhYwoJZmkgIyAk
cGFzcyA9IGRscHJlb3BlbgoKCWlmIHRlc3QgLXogIiRsaWJkaXIiOyB0aGVu
CgkgICMgTGluayB0aGUgY29udmVuaWVuY2UgbGlicmFyeQoJICBpZiB0ZXN0
ICIkbGlua21vZGUiID0gbGliOyB0aGVuCgkgICAgZGVwbGlicz0iJGRpci8k
b2xkX2xpYnJhcnkgJGRlcGxpYnMiCgkgIGVsaWYgdGVzdCAiJGxpbmttb2Rl
LCRwYXNzIiA9ICJwcm9nLGxpbmsiOyB0aGVuCgkgICAgY29tcGlsZV9kZXBs
aWJzPSIkZGlyLyRvbGRfbGlicmFyeSAkY29tcGlsZV9kZXBsaWJzIgoJICAg
IGZpbmFsaXplX2RlcGxpYnM9IiRkaXIvJG9sZF9saWJyYXJ5ICRmaW5hbGl6
ZV9kZXBsaWJzIgoJICBlbHNlCgkgICAgZGVwbGlicz0iJGxpYiAkZGVwbGli
cyIgIyB1c2VkIGZvciBwcm9nLHNjYW4gcGFzcwoJICBmaQoJICBjb250aW51
ZQoJZmkKCgoJaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2cgJiYgdGVzdCAi
JHBhc3MiICE9IGxpbms7IHRoZW4KCSAgbmV3bGliX3NlYXJjaF9wYXRoKz0i
ICRsYWRpciIKCSAgZGVwbGlicz0iJGxpYiAkZGVwbGlicyIKCgkgIGxpbmth
bGxkZXBsaWJzPW5vCgkgIGlmIHRlc3QgIiRsaW5rX2FsbF9kZXBsaWJzIiAh
PSBubyB8fCB0ZXN0IC16ICIkbGlicmFyeV9uYW1lcyIgfHwKCSAgICAgdGVz
dCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBubzsgdGhlbgoJICAgIGxpbmth
bGxkZXBsaWJzPXllcwoJICBmaQoKCSAgdG1wX2xpYnM9CgkgIGZvciBkZXBs
aWIgaW4gJGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICBjYXNlICRkZXBsaWIg
aW4KCSAgICAtTCopIGZ1bmNfc3RyaXBuYW1lICctTCcgJycgIiRkZXBsaWIi
CgkgICAgICAgICBmdW5jX3Jlc29sdmVfc3lzcm9vdCAiJGZ1bmNfc3RyaXBu
YW1lX3Jlc3VsdCIKCSAgICAgICAgIG5ld2xpYl9zZWFyY2hfcGF0aCs9IiAk
ZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0IgoJCSA7OwoJICAgIGVzYWMK
CSAgICAjIE5lZWQgdG8gbGluayBhZ2FpbnN0IGFsbCBkZXBlbmRlbmN5X2xp
YnM/CgkgICAgaWYgdGVzdCAiJGxpbmthbGxkZXBsaWJzIiA9IHllczsgdGhl
bgoJICAgICAgZGVwbGlicz0iJGRlcGxpYiAkZGVwbGlicyIKCSAgICBlbHNl
CgkgICAgICAjIE5lZWQgdG8gaGFyZGNvZGUgc2hhcmVkIGxpYnJhcnkgcGF0
aHMKCSAgICAgICMgb3IvYW5kIGxpbmsgYWdhaW5zdCBzdGF0aWMgbGlicmFy
aWVzCgkgICAgICBuZXdkZXBlbmRlbmN5X2xpYnM9IiRkZXBsaWIgJG5ld2Rl
cGVuZGVuY3lfbGlicyIKCSAgICBmaQoJICAgIGlmICRvcHRfcHJlc2VydmVf
ZHVwX2RlcHMgOyB0aGVuCgkgICAgICBjYXNlICIkdG1wX2xpYnMgIiBpbgoJ
ICAgICAgKiIgJGRlcGxpYiAiKikgc3BlY2lhbGRlcGxpYnMrPSIgJGRlcGxp
YiIgOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJICAgIHRtcF9saWJzKz0iICRk
ZXBsaWIiCgkgIGRvbmUgIyBmb3IgZGVwbGliCgkgIGNvbnRpbnVlCglmaSAj
ICRsaW5rbW9kZSA9IHByb2cuLi4KCglpZiB0ZXN0ICIkbGlua21vZGUsJHBh
c3MiID0gInByb2csbGluayI7IHRoZW4KCSAgaWYgdGVzdCAtbiAiJGxpYnJh
cnlfbmFtZXMiICYmCgkgICAgIHsgeyB0ZXN0ICIkcHJlZmVyX3N0YXRpY19s
aWJzIiA9IG5vIHx8CgkgICAgICAgICB0ZXN0ICIkcHJlZmVyX3N0YXRpY19s
aWJzLCRpbnN0YWxsZWQiID0gImJ1aWx0LHllcyI7IH0gfHwKCSAgICAgICB0
ZXN0IC16ICIkb2xkX2xpYnJhcnkiOyB9OyB0aGVuCgkgICAgIyBXZSBuZWVk
IHRvIGhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGgKCSAgICBpZiB0ZXN0IC1u
ICIkc2hsaWJwYXRoX3ZhciIgJiYgdGVzdCAteiAiJGF2b2lkdGVtcHJwYXRo
IiA7IHRoZW4KCSAgICAgICMgTWFrZSBzdXJlIHRoZSBycGF0aCBjb250YWlu
cyBvbmx5IHVuaXF1ZSBkaXJlY3Rvcmllcy4KCSAgICAgIGNhc2UgIiR0ZW1w
X3JwYXRoOiIgaW4KCSAgICAgICoiJGFic2RpcjoiKikgOzsKCSAgICAgICop
IHRlbXBfcnBhdGgrPSIkYWJzZGlyOiIgOzsKCSAgICAgIGVzYWMKCSAgICBm
aQoKCSAgICAjIEhhcmRjb2RlIHRoZSBsaWJyYXJ5IHBhdGguCgkgICAgIyBT
a2lwIGRpcmVjdG9yaWVzIHRoYXQgYXJlIGluIHRoZSBzeXN0ZW0gZGVmYXVs
dCBydW4tdGltZQoJICAgICMgc2VhcmNoIHBhdGguCgkgICAgY2FzZSAiICRz
eXNfbGliX2Rsc2VhcmNoX3BhdGggIiBpbgoJICAgICoiICRhYnNkaXIgIiop
IDs7CgkgICAgKikKCSAgICAgIGNhc2UgIiRjb21waWxlX3JwYXRoICIgaW4K
CSAgICAgICoiICRhYnNkaXIgIiopIDs7CgkgICAgICAqKSBjb21waWxlX3Jw
YXRoKz0iICRhYnNkaXIiIDs7CgkgICAgICBlc2FjCgkgICAgICA7OwoJICAg
IGVzYWMKCSAgICBjYXNlICIgJHN5c19saWJfZGxzZWFyY2hfcGF0aCAiIGlu
CgkgICAgKiIgJGxpYmRpciAiKikgOzsKCSAgICAqKQoJICAgICAgY2FzZSAi
JGZpbmFsaXplX3JwYXRoICIgaW4KCSAgICAgICoiICRsaWJkaXIgIiopIDs7
CgkgICAgICAqKSBmaW5hbGl6ZV9ycGF0aCs9IiAkbGliZGlyIiA7OwoJICAg
ICAgZXNhYwoJICAgICAgOzsKCSAgICBlc2FjCgkgIGZpICMgJGxpbmttb2Rl
LCRwYXNzID0gcHJvZyxsaW5rLi4uCgoJICBpZiB0ZXN0ICIkYWxsZGVwbGli
cyIgPSB5ZXMgJiYKCSAgICAgeyB0ZXN0ICIkZGVwbGlic19jaGVja19tZXRo
b2QiID0gcGFzc19hbGwgfHwKCSAgICAgICB7IHRlc3QgIiRidWlsZF9saWJ0
b29sX2xpYnMiID0geWVzICYmCgkJIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVz
IjsgfTsgfTsgdGhlbgoJICAgICMgV2Ugb25seSBuZWVkIHRvIHNlYXJjaCBm
b3Igc3RhdGljIGxpYnJhcmllcwoJICAgIGNvbnRpbnVlCgkgIGZpCglmaQoK
CWxpbmtfc3RhdGljPW5vICMgV2hldGhlciB0aGUgZGVwbGliIHdpbGwgYmUg
bGlua2VkIHN0YXRpY2FsbHkKCXVzZV9zdGF0aWNfbGlicz0kcHJlZmVyX3N0
YXRpY19saWJzCglpZiB0ZXN0ICIkdXNlX3N0YXRpY19saWJzIiA9IGJ1aWx0
ICYmIHRlc3QgIiRpbnN0YWxsZWQiID0geWVzOyB0aGVuCgkgIHVzZV9zdGF0
aWNfbGlicz1ubwoJZmkKCWlmIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIiAm
JgoJICAgeyB0ZXN0ICIkdXNlX3N0YXRpY19saWJzIiA9IG5vIHx8IHRlc3Qg
LXogIiRvbGRfbGlicmFyeSI7IH07IHRoZW4KCSAgY2FzZSAkaG9zdCBpbgoJ
ICAqY3lnd2luKiB8ICptaW5ndyogfCAqY2VnY2MqKQoJICAgICAgIyBObyBw
b2ludCBpbiByZWxpbmtpbmcgRExMcyBiZWNhdXNlIHBhdGhzIGFyZSBub3Qg
ZW5jb2RlZAoJICAgICAgbm90aW5zdF9kZXBsaWJzKz0iICRsaWIiCgkgICAg
ICBuZWVkX3JlbGluaz1ubwoJICAgIDs7CgkgICopCgkgICAgaWYgdGVzdCAi
JGluc3RhbGxlZCIgPSBubzsgdGhlbgoJICAgICAgbm90aW5zdF9kZXBsaWJz
Kz0iICRsaWIiCgkgICAgICBuZWVkX3JlbGluaz15ZXMKCSAgICBmaQoJICAg
IDs7CgkgIGVzYWMKCSAgIyBUaGlzIGlzIGEgc2hhcmVkIGxpYnJhcnkKCgkg
ICMgV2FybiBhYm91dCBwb3J0YWJpbGl0eSwgY2FuJ3QgbGluayBhZ2FpbnN0
IC1tb2R1bGUncyBvbiBzb21lCgkgICMgc3lzdGVtcyAoZGFyd2luKS4gIERv
bid0IGJsZWF0IGFib3V0IGRsb3BlbmVkIG1vZHVsZXMgdGhvdWdoIQoJICBk
bG9wZW5tb2R1bGU9IiIKCSAgZm9yIGRscHJlbW9kdWxldGVzdCBpbiAkZGxw
cmVmaWxlczsgZG8KCSAgICBpZiB0ZXN0ICJYJGRscHJlbW9kdWxldGVzdCIg
PSAiWCRsaWIiOyB0aGVuCgkgICAgICBkbG9wZW5tb2R1bGU9IiRkbHByZW1v
ZHVsZXRlc3QiCgkgICAgICBicmVhawoJICAgIGZpCgkgIGRvbmUKCSAgaWYg
dGVzdCAteiAiJGRsb3Blbm1vZHVsZSIgJiYgdGVzdCAiJHNob3VsZG5vdGxp
bmsiID0geWVzICYmIHRlc3QgIiRwYXNzIiA9IGxpbms7IHRoZW4KCSAgICBl
Y2hvCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7IHRoZW4KCSAg
ICAgICRFQ0hPICIqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhlY3V0YWJs
ZSAkb3V0cHV0IGFnYWluc3QgdGhlIGxvYWRhYmxlIG1vZHVsZSIKCSAgICBl
bHNlCgkgICAgICAkRUNITyAiKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIHNo
YXJlZCBsaWJyYXJ5ICRvdXRwdXQgYWdhaW5zdCB0aGUgbG9hZGFibGUgbW9k
dWxlIgoJICAgIGZpCgkgICAgJEVDSE8gIioqKiAkbGlua2xpYiBpcyBub3Qg
cG9ydGFibGUhIgoJICBmaQoJICBpZiB0ZXN0ICIkbGlua21vZGUiID0gbGli
ICYmCgkgICAgIHRlc3QgIiRoYXJkY29kZV9pbnRvX2xpYnMiID0geWVzOyB0
aGVuCgkgICAgIyBIYXJkY29kZSB0aGUgbGlicmFyeSBwYXRoLgoJICAgICMg
U2tpcCBkaXJlY3RvcmllcyB0aGF0IGFyZSBpbiB0aGUgc3lzdGVtIGRlZmF1
bHQgcnVuLXRpbWUKCSAgICAjIHNlYXJjaCBwYXRoLgoJICAgIGNhc2UgIiAk
c3lzX2xpYl9kbHNlYXJjaF9wYXRoICIgaW4KCSAgICAqIiAkYWJzZGlyICIq
KSA7OwoJICAgICopCgkgICAgICBjYXNlICIkY29tcGlsZV9ycGF0aCAiIGlu
CgkgICAgICAqIiAkYWJzZGlyICIqKSA7OwoJICAgICAgKikgY29tcGlsZV9y
cGF0aCs9IiAkYWJzZGlyIiA7OwoJICAgICAgZXNhYwoJICAgICAgOzsKCSAg
ICBlc2FjCgkgICAgY2FzZSAiICRzeXNfbGliX2Rsc2VhcmNoX3BhdGggIiBp
bgoJICAgICoiICRsaWJkaXIgIiopIDs7CgkgICAgKikKCSAgICAgIGNhc2Ug
IiRmaW5hbGl6ZV9ycGF0aCAiIGluCgkgICAgICAqIiAkbGliZGlyICIqKSA7
OwoJICAgICAgKikgZmluYWxpemVfcnBhdGgrPSIgJGxpYmRpciIgOzsKCSAg
ICAgIGVzYWMKCSAgICAgIDs7CgkgICAgZXNhYwoJICBmaQoKCSAgaWYgdGVz
dCAtbiAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzIjsgdGhlbgoJ
ICAgICMgZmlndXJlIG91dCB0aGUgc29uYW1lCgkgICAgc2V0IGR1bW15ICRs
aWJyYXJ5X25hbWVzCgkgICAgc2hpZnQKCSAgICByZWFsbmFtZT0iJDEiCgkg
ICAgc2hpZnQKCSAgICBsaWJuYW1lPWBldmFsICJcXCRFQ0hPIFwiJGxpYm5h
bWVfc3BlY1wiImAKCSAgICAjIHVzZSBkbG5hbWUgaWYgd2UgZ290IGl0LiBp
dCdzIHBlcmZlY3RseSBnb29kLCBubz8KCSAgICBpZiB0ZXN0IC1uICIkZGxu
YW1lIjsgdGhlbgoJICAgICAgc29uYW1lPSIkZGxuYW1lIgoJICAgIGVsaWYg
dGVzdCAtbiAiJHNvbmFtZV9zcGVjIjsgdGhlbgoJICAgICAgIyBibGVoIHdp
bmRvd3MKCSAgICAgIGNhc2UgJGhvc3QgaW4KCSAgICAgICpjeWd3aW4qIHwg
bWluZ3cqIHwgKmNlZ2NjKikKCSAgICAgICAgZnVuY19hcml0aCAkY3VycmVu
dCAtICRhZ2UKCQltYWpvcj0kZnVuY19hcml0aF9yZXN1bHQKCQl2ZXJzdWZm
aXg9Ii0kbWFqb3IiCgkJOzsKCSAgICAgIGVzYWMKCSAgICAgIGV2YWwgc29u
YW1lPVwiJHNvbmFtZV9zcGVjXCIKCSAgICBlbHNlCgkgICAgICBzb25hbWU9
IiRyZWFsbmFtZSIKCSAgICBmaQoKCSAgICAjIE1ha2UgYSBuZXcgbmFtZSBm
b3IgdGhlIGV4dHJhY3RfZXhwc3ltc19jbWRzIHRvIHVzZQoJICAgIHNvcm9v
dD0iJHNvbmFtZSIKCSAgICBmdW5jX2Jhc2VuYW1lICIkc29yb290IgoJICAg
IHNvbmFtZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoJICAgIGZ1bmNfc3Ry
aXBuYW1lICdsaWInICcuZGxsJyAiJHNvbmFtZSIKCSAgICBuZXdsaWI9bGli
aW1wLSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQuYQoKCSAgICAjIElmIHRoZSBs
aWJyYXJ5IGhhcyBubyBleHBvcnQgbGlzdCwgdGhlbiBjcmVhdGUgb25lIG5v
dwoJICAgIGlmIHRlc3QgLWYgIiRvdXRwdXRfb2JqZGlyLyRzb25hbWUtZGVm
IjsgdGhlbiA6CgkgICAgZWxzZQoJICAgICAgZnVuY192ZXJib3NlICJleHRy
YWN0aW5nIGV4cG9ydGVkIHN5bWJvbCBsaXN0IGZyb20gXGAkc29uYW1lJyIK
CSAgICAgIGZ1bmNfZXhlY3V0ZV9jbWRzICIkZXh0cmFjdF9leHBzeW1zX2Nt
ZHMiICdleGl0ICQ/JwoJICAgIGZpCgoJICAgICMgQ3JlYXRlICRuZXdsaWIK
CSAgICBpZiB0ZXN0IC1mICIkb3V0cHV0X29iamRpci8kbmV3bGliIjsgdGhl
biA6OyBlbHNlCgkgICAgICBmdW5jX3ZlcmJvc2UgImdlbmVyYXRpbmcgaW1w
b3J0IGxpYnJhcnkgZm9yIFxgJHNvbmFtZSciCgkgICAgICBmdW5jX2V4ZWN1
dGVfY21kcyAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzIiAnZXhp
dCAkPycKCSAgICBmaQoJICAgICMgbWFrZSBzdXJlIHRoZSBsaWJyYXJ5IHZh
cmlhYmxlcyBhcmUgcG9pbnRpbmcgdG8gdGhlIG5ldyBsaWJyYXJ5CgkgICAg
ZGlyPSRvdXRwdXRfb2JqZGlyCgkgICAgbGlua2xpYj0kbmV3bGliCgkgIGZp
ICMgdGVzdCAtbiAiJG9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzIgoK
CSAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2cgfHwgdGVzdCAiJG9wdF9t
b2RlIiAhPSByZWxpbms7IHRoZW4KCSAgICBhZGRfc2hsaWJwYXRoPQoJICAg
IGFkZF9kaXI9CgkgICAgYWRkPQoJICAgIGxpYl9saW5rZWQ9eWVzCgkgICAg
Y2FzZSAkaGFyZGNvZGVfYWN0aW9uIGluCgkgICAgaW1tZWRpYXRlIHwgdW5z
dXBwb3J0ZWQpCgkgICAgICBpZiB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0IiA9
IG5vOyB0aGVuCgkJYWRkPSIkZGlyLyRsaW5rbGliIgoJCWNhc2UgJGhvc3Qg
aW4KCQkgICotKi1zY28zLjJ2NS4wLlswMjRdKikgYWRkX2Rpcj0iLUwkZGly
IiA7OwoJCSAgKi0qLXN5c3Y0KnV3MiopIGFkZF9kaXI9Ii1MJGRpciIgOzsK
CQkgICotKi1zeXN2NU9wZW5VTklYKiB8ICotKi1zeXN2NVVuaXhXYXJlNy5b
MDFdLlsxMF0qIHwgXAoJCSAgICAqLSotdW5peHdhcmU3KikgYWRkX2Rpcj0i
LUwkZGlyIiA7OwoJCSAgKi0qLWRhcndpbiogKQoJCSAgICAjIGlmIHRoZSBs
aWIgaXMgYSAobm9uLWRsb3BlbmVkKSBtb2R1bGUgdGhlbiB3ZSBjYW4gbm90
CgkJICAgICMgbGluayBhZ2FpbnN0IGl0LCBzb21lb25lIGlzIGlnbm9yaW5n
IHRoZSBlYXJsaWVyIHdhcm5pbmdzCgkJICAgIGlmIC91c3IvYmluL2ZpbGUg
LUwgJGFkZCAyPiAvZGV2L251bGwgfAoJCQkgJEdSRVAgIjogW146XSogYnVu
ZGxlIiA+L2Rldi9udWxsIDsgdGhlbgoJCSAgICAgIGlmIHRlc3QgIlgkZGxv
cGVubW9kdWxlIiAhPSAiWCRsaWIiOyB0aGVuCgkJCSRFQ0hPICIqKiogV2Fy
bmluZzogbGliICRsaW5rbGliIGlzIGEgbW9kdWxlLCBub3QgYSBzaGFyZWQg
bGlicmFyeSIKCQkJaWYgdGVzdCAteiAiJG9sZF9saWJyYXJ5IiA7IHRoZW4K
CQkJICBlY2hvCgkJCSAgZWNobyAiKioqIEFuZCB0aGVyZSBkb2Vzbid0IHNl
ZW0gdG8gYmUgYSBzdGF0aWMgYXJjaGl2ZSBhdmFpbGFibGUiCgkJCSAgZWNo
byAiKioqIFRoZSBsaW5rIHdpbGwgcHJvYmFibHkgZmFpbCwgc29ycnkiCgkJ
CWVsc2UKCQkJICBhZGQ9IiRkaXIvJG9sZF9saWJyYXJ5IgoJCQlmaQoJCSAg
ICAgIGVsaWYgdGVzdCAtbiAiJG9sZF9saWJyYXJ5IjsgdGhlbgoJCQlhZGQ9
IiRkaXIvJG9sZF9saWJyYXJ5IgoJCSAgICAgIGZpCgkJICAgIGZpCgkJZXNh
YwoJICAgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfbWludXNfTCIgPSBubzsg
dGhlbgoJCWNhc2UgJGhvc3QgaW4KCQkqLSotc3Vub3MqKSBhZGRfc2hsaWJw
YXRoPSIkZGlyIiA7OwoJCWVzYWMKCQlhZGRfZGlyPSItTCRkaXIiCgkJYWRk
PSItbCRuYW1lIgoJICAgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfc2hsaWJw
YXRoX3ZhciIgPSBubzsgdGhlbgoJCWFkZF9zaGxpYnBhdGg9IiRkaXIiCgkJ
YWRkPSItbCRuYW1lIgoJICAgICAgZWxzZQoJCWxpYl9saW5rZWQ9bm8KCSAg
ICAgIGZpCgkgICAgICA7OwoJICAgIHJlbGluaykKCSAgICAgIGlmIHRlc3Qg
IiRoYXJkY29kZV9kaXJlY3QiID0geWVzICYmCgkgICAgICAgICB0ZXN0ICIk
aGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlIiA9IG5vOyB0aGVuCgkJYWRkPSIk
ZGlyLyRsaW5rbGliIgoJICAgICAgZWxpZiB0ZXN0ICIkaGFyZGNvZGVfbWlu
dXNfTCIgPSB5ZXM7IHRoZW4KCQlhZGRfZGlyPSItTCRhYnNkaXIiCgkJIyBU
cnkgbG9va2luZyBmaXJzdCBpbiB0aGUgbG9jYXRpb24gd2UncmUgYmVpbmcg
aW5zdGFsbGVkIHRvLgoJCWlmIHRlc3QgLW4gIiRpbnN0X3ByZWZpeF9kaXIi
OyB0aGVuCgkJICBjYXNlICRsaWJkaXIgaW4KCQkgICAgW1xcL10qKQoJCSAg
ICAgIGFkZF9kaXIrPSIgLUwkaW5zdF9wcmVmaXhfZGlyJGxpYmRpciIKCQkg
ICAgICA7OwoJCSAgZXNhYwoJCWZpCgkJYWRkPSItbCRuYW1lIgoJICAgICAg
ZWxpZiB0ZXN0ICIkaGFyZGNvZGVfc2hsaWJwYXRoX3ZhciIgPSB5ZXM7IHRo
ZW4KCQlhZGRfc2hsaWJwYXRoPSIkZGlyIgoJCWFkZD0iLWwkbmFtZSIKCSAg
ICAgIGVsc2UKCQlsaWJfbGlua2VkPW5vCgkgICAgICBmaQoJICAgICAgOzsK
CSAgICAqKSBsaWJfbGlua2VkPW5vIDs7CgkgICAgZXNhYwoKCSAgICBpZiB0
ZXN0ICIkbGliX2xpbmtlZCIgIT0geWVzOyB0aGVuCgkgICAgICBmdW5jX2Zh
dGFsX2NvbmZpZ3VyYXRpb24gInVuc3VwcG9ydGVkIGhhcmRjb2RlIHByb3Bl
cnRpZXMiCgkgICAgZmkKCgkgICAgaWYgdGVzdCAtbiAiJGFkZF9zaGxpYnBh
dGgiOyB0aGVuCgkgICAgICBjYXNlIDokY29tcGlsZV9zaGxpYnBhdGg6IGlu
CgkgICAgICAqIjokYWRkX3NobGlicGF0aDoiKikgOzsKCSAgICAgICopIGNv
bXBpbGVfc2hsaWJwYXRoKz0iJGFkZF9zaGxpYnBhdGg6IiA7OwoJICAgICAg
ZXNhYwoJICAgIGZpCgkgICAgaWYgdGVzdCAiJGxpbmttb2RlIiA9IHByb2c7
IHRoZW4KCSAgICAgIHRlc3QgLW4gIiRhZGRfZGlyIiAmJiBjb21waWxlX2Rl
cGxpYnM9IiRhZGRfZGlyICRjb21waWxlX2RlcGxpYnMiCgkgICAgICB0ZXN0
IC1uICIkYWRkIiAmJiBjb21waWxlX2RlcGxpYnM9IiRhZGQgJGNvbXBpbGVf
ZGVwbGlicyIKCSAgICBlbHNlCgkgICAgICB0ZXN0IC1uICIkYWRkX2RpciIg
JiYgZGVwbGlicz0iJGFkZF9kaXIgJGRlcGxpYnMiCgkgICAgICB0ZXN0IC1u
ICIkYWRkIiAmJiBkZXBsaWJzPSIkYWRkICRkZXBsaWJzIgoJICAgICAgaWYg
dGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgIT0geWVzICYmCgkJIHRlc3QgIiRo
YXJkY29kZV9taW51c19MIiAhPSB5ZXMgJiYKCQkgdGVzdCAiJGhhcmRjb2Rl
X3NobGlicGF0aF92YXIiID0geWVzOyB0aGVuCgkJY2FzZSA6JGZpbmFsaXpl
X3NobGlicGF0aDogaW4KCQkqIjokbGliZGlyOiIqKSA7OwoJCSopIGZpbmFs
aXplX3NobGlicGF0aCs9IiRsaWJkaXI6IiA7OwoJCWVzYWMKCSAgICAgIGZp
CgkgICAgZmkKCSAgZmkKCgkgIGlmIHRlc3QgIiRsaW5rbW9kZSIgPSBwcm9n
IHx8IHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7IHRoZW4KCSAgICBhZGRf
c2hsaWJwYXRoPQoJICAgIGFkZF9kaXI9CgkgICAgYWRkPQoJICAgICMgRmlu
YWxpemUgY29tbWFuZCBmb3IgYm90aCBpcyBzaW1wbGU6IGp1c3QgaGFyZGNv
ZGUgaXQuCgkgICAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgPSB5ZXMg
JiYKCSAgICAgICB0ZXN0ICIkaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlIiA9
IG5vOyB0aGVuCgkgICAgICBhZGQ9IiRsaWJkaXIvJGxpbmtsaWIiCgkgICAg
ZWxpZiB0ZXN0ICIkaGFyZGNvZGVfbWludXNfTCIgPSB5ZXM7IHRoZW4KCSAg
ICAgIGFkZF9kaXI9Ii1MJGxpYmRpciIKCSAgICAgIGFkZD0iLWwkbmFtZSIK
CSAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9zaGxpYnBhdGhfdmFyIiA9IHll
czsgdGhlbgoJICAgICAgY2FzZSA6JGZpbmFsaXplX3NobGlicGF0aDogaW4K
CSAgICAgICoiOiRsaWJkaXI6IiopIDs7CgkgICAgICAqKSBmaW5hbGl6ZV9z
aGxpYnBhdGgrPSIkbGliZGlyOiIgOzsKCSAgICAgIGVzYWMKCSAgICAgIGFk
ZD0iLWwkbmFtZSIKCSAgICBlbGlmIHRlc3QgIiRoYXJkY29kZV9hdXRvbWF0
aWMiID0geWVzOyB0aGVuCgkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVm
aXhfZGlyIiAmJgoJCSB0ZXN0IC1mICIkaW5zdF9wcmVmaXhfZGlyJGxpYmRp
ci8kbGlua2xpYiIgOyB0aGVuCgkJYWRkPSIkaW5zdF9wcmVmaXhfZGlyJGxp
YmRpci8kbGlua2xpYiIKCSAgICAgIGVsc2UKCQlhZGQ9IiRsaWJkaXIvJGxp
bmtsaWIiCgkgICAgICBmaQoJICAgIGVsc2UKCSAgICAgICMgV2UgY2Fubm90
IHNlZW0gdG8gaGFyZGNvZGUgaXQsIGd1ZXNzIHdlJ2xsIGZha2UgaXQuCgkg
ICAgICBhZGRfZGlyPSItTCRsaWJkaXIiCgkgICAgICAjIFRyeSBsb29raW5n
IGZpcnN0IGluIHRoZSBsb2NhdGlvbiB3ZSdyZSBiZWluZyBpbnN0YWxsZWQg
dG8uCgkgICAgICBpZiB0ZXN0IC1uICIkaW5zdF9wcmVmaXhfZGlyIjsgdGhl
bgoJCWNhc2UgJGxpYmRpciBpbgoJCSAgW1xcL10qKQoJCSAgICBhZGRfZGly
Kz0iIC1MJGluc3RfcHJlZml4X2RpciRsaWJkaXIiCgkJICAgIDs7CgkJZXNh
YwoJICAgICAgZmkKCSAgICAgIGFkZD0iLWwkbmFtZSIKCSAgICBmaQoKCSAg
ICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZzsgdGhlbgoJICAgICAgdGVz
dCAtbiAiJGFkZF9kaXIiICYmIGZpbmFsaXplX2RlcGxpYnM9IiRhZGRfZGly
ICRmaW5hbGl6ZV9kZXBsaWJzIgoJICAgICAgdGVzdCAtbiAiJGFkZCIgJiYg
ZmluYWxpemVfZGVwbGlicz0iJGFkZCAkZmluYWxpemVfZGVwbGlicyIKCSAg
ICBlbHNlCgkgICAgICB0ZXN0IC1uICIkYWRkX2RpciIgJiYgZGVwbGlicz0i
JGFkZF9kaXIgJGRlcGxpYnMiCgkgICAgICB0ZXN0IC1uICIkYWRkIiAmJiBk
ZXBsaWJzPSIkYWRkICRkZXBsaWJzIgoJICAgIGZpCgkgIGZpCgllbGlmIHRl
c3QgIiRsaW5rbW9kZSIgPSBwcm9nOyB0aGVuCgkgICMgSGVyZSB3ZSBhc3N1
bWUgdGhhdCBvbmUgb2YgaGFyZGNvZGVfZGlyZWN0IG9yIGhhcmRjb2RlX21p
bnVzX0wKCSAgIyBpcyBub3QgdW5zdXBwb3J0ZWQuICBUaGlzIGlzIHZhbGlk
IG9uIGFsbCBrbm93biBzdGF0aWMgYW5kCgkgICMgc2hhcmVkIHBsYXRmb3Jt
cy4KCSAgaWYgdGVzdCAiJGhhcmRjb2RlX2RpcmVjdCIgIT0gdW5zdXBwb3J0
ZWQ7IHRoZW4KCSAgICB0ZXN0IC1uICIkb2xkX2xpYnJhcnkiICYmIGxpbmts
aWI9IiRvbGRfbGlicmFyeSIKCSAgICBjb21waWxlX2RlcGxpYnM9IiRkaXIv
JGxpbmtsaWIgJGNvbXBpbGVfZGVwbGlicyIKCSAgICBmaW5hbGl6ZV9kZXBs
aWJzPSIkZGlyLyRsaW5rbGliICRmaW5hbGl6ZV9kZXBsaWJzIgoJICBlbHNl
CgkgICAgY29tcGlsZV9kZXBsaWJzPSItbCRuYW1lIC1MJGRpciAkY29tcGls
ZV9kZXBsaWJzIgoJICAgIGZpbmFsaXplX2RlcGxpYnM9Ii1sJG5hbWUgLUwk
ZGlyICRmaW5hbGl6ZV9kZXBsaWJzIgoJICBmaQoJZWxpZiB0ZXN0ICIkYnVp
bGRfbGlidG9vbF9saWJzIiA9IHllczsgdGhlbgoJICAjIE5vdCBhIHNoYXJl
ZCBsaWJyYXJ5CgkgIGlmIHRlc3QgIiRkZXBsaWJzX2NoZWNrX21ldGhvZCIg
IT0gcGFzc19hbGw7IHRoZW4KCSAgICAjIFdlJ3JlIHRyeWluZyBsaW5rIGEg
c2hhcmVkIGxpYnJhcnkgYWdhaW5zdCBhIHN0YXRpYyBvbmUKCSAgICAjIGJ1
dCB0aGUgc3lzdGVtIGRvZXNuJ3Qgc3VwcG9ydCBpdC4KCgkgICAgIyBKdXN0
IHByaW50IGEgd2FybmluZyBhbmQgYWRkIHRoZSBsaWJyYXJ5IHRvIGRlcGVu
ZGVuY3lfbGlicyBzbwoJICAgICMgdGhhdCB0aGUgcHJvZ3JhbSBjYW4gYmUg
bGlua2VkIGFnYWluc3QgdGhlIHN0YXRpYyBsaWJyYXJ5LgoJICAgIGVjaG8K
CSAgICAkRUNITyAiKioqIFdhcm5pbmc6IFRoaXMgc3lzdGVtIGNhbiBub3Qg
bGluayB0byBzdGF0aWMgbGliIGFyY2hpdmUgJGxpYi4iCgkgICAgZWNobyAi
KioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0byBtYWtlIHRoYXQgbGlicmFy
eSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hlbiIKCSAgICBlY2hvICIqKiog
eW91IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0IEkgY2FuIG9ubHkgZG8g
dGhpcyBpZiB5b3UgaGF2ZSBhIgoJICAgIGVjaG8gIioqKiBzaGFyZWQgdmVy
c2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRvIG5vdCBhcHBlYXIg
dG8gaGF2ZS4iCgkgICAgaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXM7IHRoZW4K
CSAgICAgIGVjaG8gIioqKiBCdXQgYXMgeW91IHRyeSB0byBidWlsZCBhIG1v
ZHVsZSBsaWJyYXJ5LCBsaWJ0b29sIHdpbGwgc3RpbGwgY3JlYXRlICIKCSAg
ICAgIGVjaG8gIioqKiBhIHN0YXRpYyBtb2R1bGUsIHRoYXQgc2hvdWxkIHdv
cmsgYXMgbG9uZyBhcyB0aGUgZGxvcGVuaW5nIGFwcGxpY2F0aW9uIgoJICAg
ICAgZWNobyAiKioqIGlzIGxpbmtlZCB3aXRoIHRoZSAtZGxvcGVuIGZsYWcg
dG8gcmVzb2x2ZSBzeW1ib2xzIGF0IHJ1bnRpbWUuIgoJICAgICAgaWYgdGVz
dCAteiAiJGdsb2JhbF9zeW1ib2xfcGlwZSI7IHRoZW4KCQllY2hvCgkJZWNo
byAiKioqIEhvd2V2ZXIsIHRoaXMgd291bGQgb25seSB3b3JrIGlmIGxpYnRv
b2wgd2FzIGFibGUgdG8gZXh0cmFjdCBzeW1ib2wiCgkJZWNobyAiKioqIGxp
c3RzIGZyb20gYSBwcm9ncmFtLCB1c2luZyBcYG5tJyBvciBlcXVpdmFsZW50
LCBidXQgbGlidG9vbCBjb3VsZCIKCQllY2hvICIqKiogbm90IGZpbmQgc3Vj
aCBhIHByb2dyYW0uICBTbywgdGhpcyBtb2R1bGUgaXMgcHJvYmFibHkgdXNl
bGVzcy4iCgkJZWNobyAiKioqIFxgbm0nIGZyb20gR05VIGJpbnV0aWxzIGFu
ZCBhIGZ1bGwgcmVidWlsZCBtYXkgaGVscC4iCgkgICAgICBmaQoJICAgICAg
aWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IG5vOyB0aGVuCgkJYnVpbGRf
bGlidG9vbF9saWJzPW1vZHVsZQoJCWJ1aWxkX29sZF9saWJzPXllcwoJICAg
ICAgZWxzZQoJCWJ1aWxkX2xpYnRvb2xfbGlicz1ubwoJICAgICAgZmkKCSAg
ICBmaQoJICBlbHNlCgkgICAgZGVwbGlicz0iJGRpci8kb2xkX2xpYnJhcnkg
JGRlcGxpYnMiCgkgICAgbGlua19zdGF0aWM9eWVzCgkgIGZpCglmaSAjIGxp
bmsgc2hhcmVkL3N0YXRpYyBsaWJyYXJ5PwoKCWlmIHRlc3QgIiRsaW5rbW9k
ZSIgPSBsaWI7IHRoZW4KCSAgaWYgdGVzdCAtbiAiJGRlcGVuZGVuY3lfbGli
cyIgJiYKCSAgICAgeyB0ZXN0ICIkaGFyZGNvZGVfaW50b19saWJzIiAhPSB5
ZXMgfHwKCSAgICAgICB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0geWVzIHx8
CgkgICAgICAgdGVzdCAiJGxpbmtfc3RhdGljIiA9IHllczsgfTsgdGhlbgoJ
ICAgICMgRXh0cmFjdCAtUiBmcm9tIGRlcGVuZGVuY3lfbGlicwoJICAgIHRl
bXBfZGVwbGlicz0KCSAgICBmb3IgbGliZGlyIGluICRkZXBlbmRlbmN5X2xp
YnM7IGRvCgkgICAgICBjYXNlICRsaWJkaXIgaW4KCSAgICAgIC1SKikgZnVu
Y19zdHJpcG5hbWUgJy1SJyAnJyAiJGxpYmRpciIKCSAgICAgICAgICAgdGVt
cF94cnBhdGg9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJCSAgIGNhc2UgIiAk
eHJwYXRoICIgaW4KCQkgICAqIiAkdGVtcF94cnBhdGggIiopIDs7CgkJICAg
KikgeHJwYXRoKz0iICR0ZW1wX3hycGF0aCI7OwoJCSAgIGVzYWM7OwoJICAg
ICAgKikgdGVtcF9kZXBsaWJzKz0iICRsaWJkaXIiOzsKCSAgICAgIGVzYWMK
CSAgICBkb25lCgkgICAgZGVwZW5kZW5jeV9saWJzPSIkdGVtcF9kZXBsaWJz
IgoJICBmaQoKCSAgbmV3bGliX3NlYXJjaF9wYXRoKz0iICRhYnNkaXIiCgkg
ICMgTGluayBhZ2FpbnN0IHRoaXMgbGlicmFyeQoJICB0ZXN0ICIkbGlua19z
dGF0aWMiID0gbm8gJiYgbmV3ZGVwZW5kZW5jeV9saWJzPSIkYWJzX2xhZGly
LyRsYW5hbWUgJG5ld2RlcGVuZGVuY3lfbGlicyIKCSAgIyAuLi4gYW5kIGl0
cyBkZXBlbmRlbmN5X2xpYnMKCSAgdG1wX2xpYnM9CgkgIGZvciBkZXBsaWIg
aW4gJGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICBuZXdkZXBlbmRlbmN5X2xp
YnM9IiRkZXBsaWIgJG5ld2RlcGVuZGVuY3lfbGlicyIKCSAgICBjYXNlICRk
ZXBsaWIgaW4KICAgICAgICAgICAgICAtTCopIGZ1bmNfc3RyaXBuYW1lICct
TCcgJycgIiRkZXBsaWIiCiAgICAgICAgICAgICAgICAgICBmdW5jX3Jlc29s
dmVfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCI7OwogICAgICAg
ICAgICAgICopIGZ1bmNfcmVzb2x2ZV9zeXNyb290ICIkZGVwbGliIiA7Owog
ICAgICAgICAgICBlc2FjCgkgICAgaWYgJG9wdF9wcmVzZXJ2ZV9kdXBfZGVw
cyA7IHRoZW4KCSAgICAgIGNhc2UgIiR0bXBfbGlicyAiIGluCgkgICAgICAq
IiAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0ICIqKQogICAgICAgICAg
ICAgICAgc3BlY2lhbGRlcGxpYnMrPSIgJGZ1bmNfcmVzb2x2ZV9zeXNyb290
X3Jlc3VsdCIgOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJICAgIHRtcF9saWJz
Kz0iICRmdW5jX3Jlc29sdmVfc3lzcm9vdF9yZXN1bHQiCgkgIGRvbmUKCgkg
IGlmIHRlc3QgIiRsaW5rX2FsbF9kZXBsaWJzIiAhPSBubzsgdGhlbgoJICAg
ICMgQWRkIHRoZSBzZWFyY2ggcGF0aHMgb2YgYWxsIGRlcGVuZGVuY3kgbGli
cmFyaWVzCgkgICAgZm9yIGRlcGxpYiBpbiAkZGVwZW5kZW5jeV9saWJzOyBk
bwoJICAgICAgcGF0aD0KCSAgICAgIGNhc2UgJGRlcGxpYiBpbgoJICAgICAg
LUwqKSBwYXRoPSIkZGVwbGliIiA7OwoJICAgICAgKi5sYSkKCSAgICAgICAg
ZnVuY19yZXNvbHZlX3N5c3Jvb3QgIiRkZXBsaWIiCgkgICAgICAgIGRlcGxp
Yj0kZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVzdWx0CgkgICAgICAgIGZ1bmNf
ZGlybmFtZSAiJGRlcGxpYiIgIiIgIi4iCgkJZGlyPSRmdW5jX2Rpcm5hbWVf
cmVzdWx0CgkJIyBXZSBuZWVkIGFuIGFic29sdXRlIHBhdGguCgkJY2FzZSAk
ZGlyIGluCgkJW1xcL10qIHwgW0EtWmEtel06W1xcL10qKSBhYnNkaXI9IiRk
aXIiIDs7CgkJKikKCQkgIGFic2Rpcj1gY2QgIiRkaXIiICYmIHB3ZGAKCQkg
IGlmIHRlc3QgLXogIiRhYnNkaXIiOyB0aGVuCgkJICAgIGZ1bmNfd2Fybmlu
ZyAiY2Fubm90IGRldGVybWluZSBhYnNvbHV0ZSBkaXJlY3RvcnkgbmFtZSBv
ZiBcYCRkaXInIgoJCSAgICBhYnNkaXI9IiRkaXIiCgkJICBmaQoJCSAgOzsK
CQllc2FjCgkJaWYgJEdSRVAgIl5pbnN0YWxsZWQ9bm8iICRkZXBsaWIgPiAv
ZGV2L251bGw7IHRoZW4KCQljYXNlICRob3N0IGluCgkJKi0qLWRhcndpbiop
CgkJICBkZXBkZXBsPQoJCSAgZXZhbCBkZXBsaWJyYXJ5X25hbWVzPWAke1NF
RH0gLW4gLWUgJ3MvXmxpYnJhcnlfbmFtZXM9XCguKlwpJC9cMS9wJyAkZGVw
bGliYAoJCSAgaWYgdGVzdCAtbiAiJGRlcGxpYnJhcnlfbmFtZXMiIDsgdGhl
bgoJCSAgICBmb3IgdG1wIGluICRkZXBsaWJyYXJ5X25hbWVzIDsgZG8KCQkg
ICAgICBkZXBkZXBsPSR0bXAKCQkgICAgZG9uZQoJCSAgICBpZiB0ZXN0IC1m
ICIkYWJzZGlyLyRvYmpkaXIvJGRlcGRlcGwiIDsgdGhlbgoJCSAgICAgIGRl
cGRlcGw9IiRhYnNkaXIvJG9iamRpci8kZGVwZGVwbCIKCQkgICAgICBkYXJ3
aW5faW5zdGFsbF9uYW1lPWAke09UT09MfSAtTCAkZGVwZGVwbCB8IGF3ayAn
e2lmIChOUiA9PSAyKSB7cHJpbnQgJDE7ZXhpdH19J2AKICAgICAgICAgICAg
ICAgICAgICAgIGlmIHRlc3QgLXogIiRkYXJ3aW5faW5zdGFsbF9uYW1lIjsg
dGhlbgogICAgICAgICAgICAgICAgICAgICAgICAgIGRhcndpbl9pbnN0YWxs
X25hbWU9YCR7T1RPT0w2NH0gLUwgJGRlcGRlcGwgIHwgYXdrICd7aWYgKE5S
ID09IDIpIHtwcmludCAkMTtleGl0fX0nYAogICAgICAgICAgICAgICAgICAg
ICAgZmkKCQkgICAgICBjb21waWxlcl9mbGFncys9IiAke3dsfS1keWxpYl9m
aWxlICR7d2x9JHtkYXJ3aW5faW5zdGFsbF9uYW1lfToke2RlcGRlcGx9IgoJ
CSAgICAgIGxpbmtlcl9mbGFncys9IiAtZHlsaWJfZmlsZSAke2Rhcndpbl9p
bnN0YWxsX25hbWV9OiR7ZGVwZGVwbH0iCgkJICAgICAgcGF0aD0KCQkgICAg
ZmkKCQkgIGZpCgkJICA7OwoJCSopCgkJICBwYXRoPSItTCRhYnNkaXIvJG9i
amRpciIKCQkgIDs7CgkJZXNhYwoJCWVsc2UKCQkgIGV2YWwgbGliZGlyPWAk
e1NFRH0gLW4gLWUgJ3MvXmxpYmRpcj1cKC4qXCkkL1wxL3AnICRkZXBsaWJg
CgkJICB0ZXN0IC16ICIkbGliZGlyIiAmJiBcCgkJICAgIGZ1bmNfZmF0YWxf
ZXJyb3IgIlxgJGRlcGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNo
aXZlIgoJCSAgdGVzdCAiJGFic2RpciIgIT0gIiRsaWJkaXIiICYmIFwKCQkg
ICAgZnVuY193YXJuaW5nICJcYCRkZXBsaWInIHNlZW1zIHRvIGJlIG1vdmVk
IgoKCQkgIHBhdGg9Ii1MJGFic2RpciIKCQlmaQoJCTs7CgkgICAgICBlc2Fj
CgkgICAgICBjYXNlICIgJGRlcGxpYnMgIiBpbgoJICAgICAgKiIgJHBhdGgg
IiopIDs7CgkgICAgICAqKSBkZXBsaWJzPSIkcGF0aCAkZGVwbGlicyIgOzsK
CSAgICAgIGVzYWMKCSAgICBkb25lCgkgIGZpICMgbGlua19hbGxfZGVwbGli
cyAhPSBubwoJZmkgIyBsaW5rbW9kZSA9IGxpYgogICAgICBkb25lICMgZm9y
IGRlcGxpYiBpbiAkbGlicwogICAgICBpZiB0ZXN0ICIkcGFzcyIgPSBsaW5r
OyB0aGVuCglpZiB0ZXN0ICIkbGlua21vZGUiID0gInByb2ciOyB0aGVuCgkg
IGNvbXBpbGVfZGVwbGlicz0iJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdz
ICRjb21waWxlX2RlcGxpYnMiCgkgIGZpbmFsaXplX2RlcGxpYnM9IiRuZXdf
aW5oZXJpdGVkX2xpbmtlcl9mbGFncyAkZmluYWxpemVfZGVwbGlicyIKCWVs
c2UKCSAgY29tcGlsZXJfZmxhZ3M9IiRjb21waWxlcl9mbGFncyAiYCRFQ0hP
ICIgJG5ld19pbmhlcml0ZWRfbGlua2VyX2ZsYWdzIiB8ICRTRUQgJ3MlIFwo
W14gJF0qXCkubHRmcmFtZXdvcmslIC1mcmFtZXdvcmsgXDElZydgCglmaQog
ICAgICBmaQogICAgICBkZXBlbmRlbmN5X2xpYnM9IiRuZXdkZXBlbmRlbmN5
X2xpYnMiCiAgICAgIGlmIHRlc3QgIiRwYXNzIiA9IGRscHJlb3BlbjsgdGhl
bgoJIyBMaW5rIHRoZSBkbHByZW9wZW5lZCBsaWJyYXJpZXMgYmVmb3JlIG90
aGVyIGxpYnJhcmllcwoJZm9yIGRlcGxpYiBpbiAkc2F2ZV9kZXBsaWJzOyBk
bwoJICBkZXBsaWJzPSIkZGVwbGliICRkZXBsaWJzIgoJZG9uZQogICAgICBm
aQogICAgICBpZiB0ZXN0ICIkcGFzcyIgIT0gZGxvcGVuOyB0aGVuCglpZiB0
ZXN0ICIkcGFzcyIgIT0gY29udjsgdGhlbgoJICAjIE1ha2Ugc3VyZSBsaWJf
c2VhcmNoX3BhdGggY29udGFpbnMgb25seSB1bmlxdWUgZGlyZWN0b3JpZXMu
CgkgIGxpYl9zZWFyY2hfcGF0aD0KCSAgZm9yIGRpciBpbiAkbmV3bGliX3Nl
YXJjaF9wYXRoOyBkbwoJICAgIGNhc2UgIiRsaWJfc2VhcmNoX3BhdGggIiBp
bgoJICAgICoiICRkaXIgIiopIDs7CgkgICAgKikgbGliX3NlYXJjaF9wYXRo
Kz0iICRkaXIiIDs7CgkgICAgZXNhYwoJICBkb25lCgkgIG5ld2xpYl9zZWFy
Y2hfcGF0aD0KCWZpCgoJaWYgdGVzdCAiJGxpbmttb2RlLCRwYXNzIiAhPSAi
cHJvZyxsaW5rIjsgdGhlbgoJICB2YXJzPSJkZXBsaWJzIgoJZWxzZQoJICB2
YXJzPSJjb21waWxlX2RlcGxpYnMgZmluYWxpemVfZGVwbGlicyIKCWZpCglm
b3IgdmFyIGluICR2YXJzIGRlcGVuZGVuY3lfbGliczsgZG8KCSAgIyBBZGQg
bGlicmFyaWVzIHRvICR2YXIgaW4gcmV2ZXJzZSBvcmRlcgoJICBldmFsIHRt
cF9saWJzPVwiXCQkdmFyXCIKCSAgbmV3X2xpYnM9CgkgIGZvciBkZXBsaWIg
aW4gJHRtcF9saWJzOyBkbwoJICAgICMgRklYTUU6IFBlZGFudGljYWxseSwg
dGhpcyBpcyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8sIHNvCgkgICAgIyAgICAg
ICAgdGhhdCBzb21lIG5hc3R5IGRlcGVuZGVuY3kgbG9vcCBpc24ndCBhY2Np
ZGVudGFsbHkKCSAgICAjICAgICAgICBicm9rZW46CgkgICAgI25ld19saWJz
PSIkZGVwbGliICRuZXdfbGlicyIKCSAgICAjIFByYWdtYXRpY2FsbHksIHRo
aXMgc2VlbXMgdG8gY2F1c2UgdmVyeSBmZXcgcHJvYmxlbXMgaW4KCSAgICAj
IHByYWN0aWNlOgoJICAgIGNhc2UgJGRlcGxpYiBpbgoJICAgIC1MKikgbmV3
X2xpYnM9IiRkZXBsaWIgJG5ld19saWJzIiA7OwoJICAgIC1SKikgOzsKCSAg
ICAqKQoJICAgICAgIyBBbmQgaGVyZSBpcyB0aGUgcmVhc29uOiB3aGVuIGEg
bGlicmFyeSBhcHBlYXJzIG1vcmUKCSAgICAgICMgdGhhbiBvbmNlIGFzIGFu
IGV4cGxpY2l0IGRlcGVuZGVuY2Ugb2YgYSBsaWJyYXJ5LCBvcgoJICAgICAg
IyBpcyBpbXBsaWNpdGx5IGxpbmtlZCBpbiBtb3JlIHRoYW4gb25jZSBieSB0
aGUKCSAgICAgICMgY29tcGlsZXIsIGl0IGlzIGNvbnNpZGVyZWQgc3BlY2lh
bCwgYW5kIG11bHRpcGxlCgkgICAgICAjIG9jY3VycmVuY2VzIHRoZXJlb2Yg
YXJlIG5vdCByZW1vdmVkLiAgQ29tcGFyZSB0aGlzCgkgICAgICAjIHdpdGgg
aGF2aW5nIHRoZSBzYW1lIGxpYnJhcnkgYmVpbmcgbGlzdGVkIGFzIGEKCSAg
ICAgICMgZGVwZW5kZW5jeSBvZiBtdWx0aXBsZSBvdGhlciBsaWJyYXJpZXM6
IGluIHRoaXMgY2FzZSwKCSAgICAgICMgd2Uga25vdyAocGVkYW50aWNhbGx5
LCB3ZSBhc3N1bWUpIHRoZSBsaWJyYXJ5IGRvZXMgbm90CgkgICAgICAjIG5l
ZWQgdG8gYmUgbGlzdGVkIG1vcmUgdGhhbiBvbmNlLCBzbyB3ZSBrZWVwIG9u
bHkgdGhlCgkgICAgICAjIGxhc3QgY29weS4gIFRoaXMgaXMgbm90IGFsd2F5
cyByaWdodCwgYnV0IGl0IGlzIHJhcmUKCSAgICAgICMgZW5vdWdoIHRoYXQg
d2UgcmVxdWlyZSB1c2VycyB0aGF0IHJlYWxseSBtZWFuIHRvIHBsYXkKCSAg
ICAgICMgc3VjaCB1bnBvcnRhYmxlIGxpbmtpbmcgdHJpY2tzIHRvIGxpbmsg
dGhlIGxpYnJhcnkKCSAgICAgICMgdXNpbmcgLVdsLC1sbmFtZSwgc28gdGhh
dCBsaWJ0b29sIGRvZXMgbm90IGNvbnNpZGVyIGl0CgkgICAgICAjIGZvciBk
dXBsaWNhdGUgcmVtb3ZhbC4KCSAgICAgIGNhc2UgIiAkc3BlY2lhbGRlcGxp
YnMgIiBpbgoJICAgICAgKiIgJGRlcGxpYiAiKikgbmV3X2xpYnM9IiRkZXBs
aWIgJG5ld19saWJzIiA7OwoJICAgICAgKikKCQljYXNlICIgJG5ld19saWJz
ICIgaW4KCQkqIiAkZGVwbGliICIqKSA7OwoJCSopIG5ld19saWJzPSIkZGVw
bGliICRuZXdfbGlicyIgOzsKCQllc2FjCgkJOzsKCSAgICAgIGVzYWMKCSAg
ICAgIDs7CgkgICAgZXNhYwoJICBkb25lCgkgIHRtcF9saWJzPQoJICBmb3Ig
ZGVwbGliIGluICRuZXdfbGliczsgZG8KCSAgICBjYXNlICRkZXBsaWIgaW4K
CSAgICAtTCopCgkgICAgICBjYXNlICIgJHRtcF9saWJzICIgaW4KCSAgICAg
ICoiICRkZXBsaWIgIiopIDs7CgkgICAgICAqKSB0bXBfbGlicys9IiAkZGVw
bGliIiA7OwoJICAgICAgZXNhYwoJICAgICAgOzsKCSAgICAqKSB0bXBfbGli
cys9IiAkZGVwbGliIiA7OwoJICAgIGVzYWMKCSAgZG9uZQoJICBldmFsICR2
YXI9XCIkdG1wX2xpYnNcIgoJZG9uZSAjIGZvciB2YXIKICAgICAgZmkKICAg
ICAgIyBMYXN0IHN0ZXA6IHJlbW92ZSBydW50aW1lIGxpYnMgZnJvbSBkZXBl
bmRlbmN5X2xpYnMKICAgICAgIyAodGhleSBzdGF5IGluIGRlcGxpYnMpCiAg
ICAgIHRtcF9saWJzPQogICAgICBmb3IgaSBpbiAkZGVwZW5kZW5jeV9saWJz
IDsgZG8KCWNhc2UgIiAkcHJlZGVwcyAkcG9zdGRlcHMgJGNvbXBpbGVyX2xp
Yl9zZWFyY2hfcGF0aCAiIGluCgkqIiAkaSAiKikKCSAgaT0iIgoJICA7OwoJ
ZXNhYwoJaWYgdGVzdCAtbiAiJGkiIDsgdGhlbgoJICB0bXBfbGlicys9IiAk
aSIKCWZpCiAgICAgIGRvbmUKICAgICAgZGVwZW5kZW5jeV9saWJzPSR0bXBf
bGlicwogICAgZG9uZSAjIGZvciBwYXNzCiAgICBpZiB0ZXN0ICIkbGlua21v
ZGUiID0gcHJvZzsgdGhlbgogICAgICBkbGZpbGVzPSIkbmV3ZGxmaWxlcyIK
ICAgIGZpCiAgICBpZiB0ZXN0ICIkbGlua21vZGUiID0gcHJvZyB8fCB0ZXN0
ICIkbGlua21vZGUiID0gbGliOyB0aGVuCiAgICAgIGRscHJlZmlsZXM9IiRu
ZXdkbHByZWZpbGVzIgogICAgZmkKCiAgICBjYXNlICRsaW5rbW9kZSBpbgog
ICAgb2xkbGliKQogICAgICBpZiB0ZXN0IC1uICIkZGxmaWxlcyRkbHByZWZp
bGVzIiB8fCB0ZXN0ICIkZGxzZWxmIiAhPSBubzsgdGhlbgoJZnVuY193YXJu
aW5nICJcYC1kbG9wZW4nIGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIgogICAg
ICBmaQoKICAgICAgY2FzZSAiICRkZXBsaWJzIiBpbgogICAgICAqXCAtbCog
fCAqXCAtTCopCglmdW5jX3dhcm5pbmcgIlxgLWwnIGFuZCBcYC1MJyBhcmUg
aWdub3JlZCBmb3IgYXJjaGl2ZXMiIDs7CiAgICAgIGVzYWMKCiAgICAgIHRl
c3QgLW4gIiRycGF0aCIgJiYgXAoJZnVuY193YXJuaW5nICJcYC1ycGF0aCcg
aXMgaWdub3JlZCBmb3IgYXJjaGl2ZXMiCgogICAgICB0ZXN0IC1uICIkeHJw
YXRoIiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLVInIGlzIGlnbm9yZWQgZm9y
IGFyY2hpdmVzIgoKICAgICAgdGVzdCAtbiAiJHZpbmZvIiAmJiBcCglmdW5j
X3dhcm5pbmcgIlxgLXZlcnNpb24taW5mby8tdmVyc2lvbi1udW1iZXInIGlz
IGlnbm9yZWQgZm9yIGFyY2hpdmVzIgoKICAgICAgdGVzdCAtbiAiJHJlbGVh
c2UiICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtcmVsZWFzZScgaXMgaWdub3Jl
ZCBmb3IgYXJjaGl2ZXMiCgogICAgICB0ZXN0IC1uICIkZXhwb3J0X3N5bWJv
bHMkZXhwb3J0X3N5bWJvbHNfcmVnZXgiICYmIFwKCWZ1bmNfd2FybmluZyAi
XGAtZXhwb3J0LXN5bWJvbHMnIGlzIGlnbm9yZWQgZm9yIGFyY2hpdmVzIgoK
ICAgICAgIyBOb3cgc2V0IHRoZSB2YXJpYWJsZXMgZm9yIGJ1aWxkaW5nIG9s
ZCBsaWJyYXJpZXMuCiAgICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1ubwogICAg
ICBvbGRsaWJzPSIkb3V0cHV0IgogICAgICBvYmpzKz0iJG9sZF9kZXBsaWJz
IgogICAgICA7OwoKICAgIGxpYikKICAgICAgIyBNYWtlIHN1cmUgd2Ugb25s
eSBnZW5lcmF0ZSBsaWJyYXJpZXMgb2YgdGhlIGZvcm0gYGxpYk5BTUUubGEn
LgogICAgICBjYXNlICRvdXRwdXRuYW1lIGluCiAgICAgIGxpYiopCglmdW5j
X3N0cmlwbmFtZSAnbGliJyAnLmxhJyAiJG91dHB1dG5hbWUiCgluYW1lPSRm
dW5jX3N0cmlwbmFtZV9yZXN1bHQKCWV2YWwgc2hhcmVkX2V4dD1cIiRzaHJl
eHRfY21kc1wiCglldmFsIGxpYm5hbWU9XCIkbGlibmFtZV9zcGVjXCIKCTs7
CiAgICAgICopCgl0ZXN0ICIkbW9kdWxlIiA9IG5vICYmIFwKCSAgZnVuY19m
YXRhbF9oZWxwICJsaWJ0b29sIGxpYnJhcnkgXGAkb3V0cHV0JyBtdXN0IGJl
Z2luIHdpdGggXGBsaWInIgoKCWlmIHRlc3QgIiRuZWVkX2xpYl9wcmVmaXgi
ICE9IG5vOyB0aGVuCgkgICMgQWRkIHRoZSAibGliIiBwcmVmaXggZm9yIG1v
ZHVsZXMgaWYgcmVxdWlyZWQKCSAgZnVuY19zdHJpcG5hbWUgJycgJy5sYScg
IiRvdXRwdXRuYW1lIgoJICBuYW1lPSRmdW5jX3N0cmlwbmFtZV9yZXN1bHQK
CSAgZXZhbCBzaGFyZWRfZXh0PVwiJHNocmV4dF9jbWRzXCIKCSAgZXZhbCBs
aWJuYW1lPVwiJGxpYm5hbWVfc3BlY1wiCgllbHNlCgkgIGZ1bmNfc3RyaXBu
YW1lICcnICcubGEnICIkb3V0cHV0bmFtZSIKCSAgbGlibmFtZT0kZnVuY19z
dHJpcG5hbWVfcmVzdWx0CglmaQoJOzsKICAgICAgZXNhYwoKICAgICAgaWYg
dGVzdCAtbiAiJG9ianMiOyB0aGVuCglpZiB0ZXN0ICIkZGVwbGlic19jaGVj
a19tZXRob2QiICE9IHBhc3NfYWxsOyB0aGVuCgkgIGZ1bmNfZmF0YWxfZXJy
b3IgImNhbm5vdCBidWlsZCBsaWJ0b29sIGxpYnJhcnkgXGAkb3V0cHV0JyBm
cm9tIG5vbi1saWJ0b29sIG9iamVjdHMgb24gdGhpcyBob3N0OiRvYmpzIgoJ
ZWxzZQoJICBlY2hvCgkgICRFQ0hPICIqKiogV2FybmluZzogTGlua2luZyB0
aGUgc2hhcmVkIGxpYnJhcnkgJG91dHB1dCBhZ2FpbnN0IHRoZSBub24tbGli
dG9vbCIKCSAgJEVDSE8gIioqKiBvYmplY3RzICRvYmpzIGlzIG5vdCBwb3J0
YWJsZSEiCgkgIGxpYm9ianMrPSIgJG9ianMiCglmaQogICAgICBmaQoKICAg
ICAgdGVzdCAiJGRsc2VsZiIgIT0gbm8gJiYgXAoJZnVuY193YXJuaW5nICJc
YC1kbG9wZW4gc2VsZicgaXMgaWdub3JlZCBmb3IgbGlidG9vbCBsaWJyYXJp
ZXMiCgogICAgICBzZXQgZHVtbXkgJHJwYXRoCiAgICAgIHNoaWZ0CiAgICAg
IHRlc3QgIiQjIiAtZ3QgMSAmJiBcCglmdW5jX3dhcm5pbmcgImlnbm9yaW5n
IG11bHRpcGxlIFxgLXJwYXRoJ3MgZm9yIGEgbGlidG9vbCBsaWJyYXJ5IgoK
ICAgICAgaW5zdGFsbF9saWJkaXI9IiQxIgoKICAgICAgb2xkbGlicz0KICAg
ICAgaWYgdGVzdCAteiAiJHJwYXRoIjsgdGhlbgoJaWYgdGVzdCAiJGJ1aWxk
X2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCSAgIyBCdWlsZGluZyBhIGxp
YnRvb2wgY29udmVuaWVuY2UgbGlicmFyeS4KCSAgIyBTb21lIGNvbXBpbGVy
cyBoYXZlIHByb2JsZW1zIHdpdGggYSBgLmFsJyBleHRlbnNpb24gc28KCSAg
IyBjb252ZW5pZW5jZSBsaWJyYXJpZXMgc2hvdWxkIGhhdmUgdGhlIHNhbWUg
ZXh0ZW5zaW9uIGFuCgkgICMgYXJjaGl2ZSBub3JtYWxseSB3b3VsZC4KCSAg
b2xkbGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCAkb2xk
bGlicyIKCSAgYnVpbGRfbGlidG9vbF9saWJzPWNvbnZlbmllbmNlCgkgIGJ1
aWxkX29sZF9saWJzPXllcwoJZmkKCgl0ZXN0IC1uICIkdmluZm8iICYmIFwK
CSAgZnVuY193YXJuaW5nICJcYC12ZXJzaW9uLWluZm8vLXZlcnNpb24tbnVt
YmVyJyBpcyBpZ25vcmVkIGZvciBjb252ZW5pZW5jZSBsaWJyYXJpZXMiCgoJ
dGVzdCAtbiAiJHJlbGVhc2UiICYmIFwKCSAgZnVuY193YXJuaW5nICJcYC1y
ZWxlYXNlJyBpcyBpZ25vcmVkIGZvciBjb252ZW5pZW5jZSBsaWJyYXJpZXMi
CiAgICAgIGVsc2UKCgkjIFBhcnNlIHRoZSB2ZXJzaW9uIGluZm9ybWF0aW9u
IGFyZ3VtZW50LgoJc2F2ZV9pZnM9IiRJRlMiOyBJRlM9JzonCglzZXQgZHVt
bXkgJHZpbmZvIDAgMCAwCglzaGlmdAoJSUZTPSIkc2F2ZV9pZnMiCgoJdGVz
dCAtbiAiJDciICYmIFwKCSAgZnVuY19mYXRhbF9oZWxwICJ0b28gbWFueSBw
YXJhbWV0ZXJzIHRvIFxgLXZlcnNpb24taW5mbyciCgoJIyBjb252ZXJ0IGFi
c29sdXRlIHZlcnNpb24gbnVtYmVycyB0byBsaWJ0b29sIGFnZXMKCSMgdGhp
cyByZXRhaW5zIGNvbXBhdGliaWxpdHkgd2l0aCAubGEgZmlsZXMgYW5kIGF0
dGVtcHRzCgkjIHRvIG1ha2UgdGhlIGNvZGUgYmVsb3cgYSBiaXQgbW9yZSBj
b21wcmVoZW5zaWJsZQoKCWNhc2UgJHZpbmZvX251bWJlciBpbgoJeWVzKQoJ
ICBudW1iZXJfbWFqb3I9IiQxIgoJICBudW1iZXJfbWlub3I9IiQyIgoJICBu
dW1iZXJfcmV2aXNpb249IiQzIgoJICAjCgkgICMgVGhlcmUgYXJlIHJlYWxs
eSBvbmx5IHR3byBraW5kcyAtLSB0aG9zZSB0aGF0CgkgICMgdXNlIHRoZSBj
dXJyZW50IHJldmlzaW9uIGFzIHRoZSBtYWpvciB2ZXJzaW9uCgkgICMgYW5k
IHRob3NlIHRoYXQgc3VidHJhY3QgYWdlIGFuZCB1c2UgYWdlIGFzCgkgICMg
YSBtaW5vciB2ZXJzaW9uLiAgQnV0LCB0aGVuIHRoZXJlIGlzIGlyaXgKCSAg
IyB3aGljaCBoYXMgYW4gZXh0cmEgMSBhZGRlZCBqdXN0IGZvciBmdW4KCSAg
IwoJICBjYXNlICR2ZXJzaW9uX3R5cGUgaW4KCSAgIyBjb3JyZWN0IGxpbnV4
IHRvIGdudS9saW51eCBkdXJpbmcgdGhlIG5leHQgYmlnIHJlZmFjdG9yCgkg
IGRhcndpbnxsaW51eHxvc2Z8d2luZG93c3xub25lKQoJICAgIGZ1bmNfYXJp
dGggJG51bWJlcl9tYWpvciArICRudW1iZXJfbWlub3IKCSAgICBjdXJyZW50
PSRmdW5jX2FyaXRoX3Jlc3VsdAoJICAgIGFnZT0iJG51bWJlcl9taW5vciIK
CSAgICByZXZpc2lvbj0iJG51bWJlcl9yZXZpc2lvbiIKCSAgICA7OwoJICBm
cmVlYnNkLWFvdXR8ZnJlZWJzZC1lbGZ8cW54fHN1bm9zKQoJICAgIGN1cnJl
bnQ9IiRudW1iZXJfbWFqb3IiCgkgICAgcmV2aXNpb249IiRudW1iZXJfbWlu
b3IiCgkgICAgYWdlPSIwIgoJICAgIDs7CgkgIGlyaXh8bm9uc3RvcHV4KQoJ
ICAgIGZ1bmNfYXJpdGggJG51bWJlcl9tYWpvciArICRudW1iZXJfbWlub3IK
CSAgICBjdXJyZW50PSRmdW5jX2FyaXRoX3Jlc3VsdAoJICAgIGFnZT0iJG51
bWJlcl9taW5vciIKCSAgICByZXZpc2lvbj0iJG51bWJlcl9taW5vciIKCSAg
ICBsdF9pcml4X2luY3JlbWVudD1ubwoJICAgIDs7CgkgIGVzYWMKCSAgOzsK
CW5vKQoJICBjdXJyZW50PSIkMSIKCSAgcmV2aXNpb249IiQyIgoJICBhZ2U9
IiQzIgoJICA7OwoJZXNhYwoKCSMgQ2hlY2sgdGhhdCBlYWNoIG9mIHRoZSB0
aGluZ3MgYXJlIHZhbGlkIG51bWJlcnMuCgljYXNlICRjdXJyZW50IGluCgkw
fFsxLTldfFsxLTldWzAtOV18WzEtOV1bMC05XVswLTldfFsxLTldWzAtOV1b
MC05XVswLTldfFsxLTldWzAtOV1bMC05XVswLTldWzAtOV0pIDs7CgkqKQoJ
ICBmdW5jX2Vycm9yICJDVVJSRU5UIFxgJGN1cnJlbnQnIG11c3QgYmUgYSBu
b25uZWdhdGl2ZSBpbnRlZ2VyIgoJICBmdW5jX2ZhdGFsX2Vycm9yICJcYCR2
aW5mbycgaXMgbm90IHZhbGlkIHZlcnNpb24gaW5mb3JtYXRpb24iCgkgIDs7
Cgllc2FjCgoJY2FzZSAkcmV2aXNpb24gaW4KCTB8WzEtOV18WzEtOV1bMC05
XXxbMS05XVswLTldWzAtOV18WzEtOV1bMC05XVswLTldWzAtOV18WzEtOV1b
MC05XVswLTldWzAtOV1bMC05XSkgOzsKCSopCgkgIGZ1bmNfZXJyb3IgIlJF
VklTSU9OIFxgJHJldmlzaW9uJyBtdXN0IGJlIGEgbm9ubmVnYXRpdmUgaW50
ZWdlciIKCSAgZnVuY19mYXRhbF9lcnJvciAiXGAkdmluZm8nIGlzIG5vdCB2
YWxpZCB2ZXJzaW9uIGluZm9ybWF0aW9uIgoJICA7OwoJZXNhYwoKCWNhc2Ug
JGFnZSBpbgoJMHxbMS05XXxbMS05XVswLTldfFsxLTldWzAtOV1bMC05XXxb
MS05XVswLTldWzAtOV1bMC05XXxbMS05XVswLTldWzAtOV1bMC05XVswLTld
KSA7OwoJKikKCSAgZnVuY19lcnJvciAiQUdFIFxgJGFnZScgbXVzdCBiZSBh
IG5vbm5lZ2F0aXZlIGludGVnZXIiCgkgIGZ1bmNfZmF0YWxfZXJyb3IgIlxg
JHZpbmZvJyBpcyBub3QgdmFsaWQgdmVyc2lvbiBpbmZvcm1hdGlvbiIKCSAg
OzsKCWVzYWMKCglpZiB0ZXN0ICIkYWdlIiAtZ3QgIiRjdXJyZW50IjsgdGhl
bgoJICBmdW5jX2Vycm9yICJBR0UgXGAkYWdlJyBpcyBncmVhdGVyIHRoYW4g
dGhlIGN1cnJlbnQgaW50ZXJmYWNlIG51bWJlciBcYCRjdXJyZW50JyIKCSAg
ZnVuY19mYXRhbF9lcnJvciAiXGAkdmluZm8nIGlzIG5vdCB2YWxpZCB2ZXJz
aW9uIGluZm9ybWF0aW9uIgoJZmkKCgkjIENhbGN1bGF0ZSB0aGUgdmVyc2lv
biB2YXJpYWJsZXMuCgltYWpvcj0KCXZlcnN1ZmZpeD0KCXZlcnN0cmluZz0K
CWNhc2UgJHZlcnNpb25fdHlwZSBpbgoJbm9uZSkgOzsKCglkYXJ3aW4pCgkg
ICMgTGlrZSBMaW51eCwgYnV0IHdpdGggdGhlIGN1cnJlbnQgdmVyc2lvbiBh
dmFpbGFibGUgaW4KCSAgIyB2ZXJzdHJpbmcgZm9yIGNvZGluZyBpdCBpbnRv
IHRoZSBsaWJyYXJ5IGhlYWRlcgoJICBmdW5jX2FyaXRoICRjdXJyZW50IC0g
JGFnZQoJICBtYWpvcj0uJGZ1bmNfYXJpdGhfcmVzdWx0CgkgIHZlcnN1ZmZp
eD0iJG1ham9yLiRhZ2UuJHJldmlzaW9uIgoJICAjIERhcndpbiBsZCBkb2Vz
bid0IGxpa2UgMCBmb3IgdGhlc2Ugb3B0aW9ucy4uLgoJICBmdW5jX2FyaXRo
ICRjdXJyZW50ICsgMQoJICBtaW5vcl9jdXJyZW50PSRmdW5jX2FyaXRoX3Jl
c3VsdAoJICB4bGN2ZXJzdHJpbmc9IiR7d2x9LWNvbXBhdGliaWxpdHlfdmVy
c2lvbiAke3dsfSRtaW5vcl9jdXJyZW50ICR7d2x9LWN1cnJlbnRfdmVyc2lv
biAke3dsfSRtaW5vcl9jdXJyZW50LiRyZXZpc2lvbiIKCSAgdmVyc3RyaW5n
PSItY29tcGF0aWJpbGl0eV92ZXJzaW9uICRtaW5vcl9jdXJyZW50IC1jdXJy
ZW50X3ZlcnNpb24gJG1pbm9yX2N1cnJlbnQuJHJldmlzaW9uIgoJICA7OwoK
CWZyZWVic2QtYW91dCkKCSAgbWFqb3I9Ii4kY3VycmVudCIKCSAgdmVyc3Vm
Zml4PSIuJGN1cnJlbnQuJHJldmlzaW9uIjsKCSAgOzsKCglmcmVlYnNkLWVs
ZikKCSAgbWFqb3I9Ii4kY3VycmVudCIKCSAgdmVyc3VmZml4PSIuJGN1cnJl
bnQiCgkgIDs7CgoJaXJpeCB8IG5vbnN0b3B1eCkKCSAgaWYgdGVzdCAiWCRs
dF9pcml4X2luY3JlbWVudCIgPSAiWG5vIjsgdGhlbgoJICAgIGZ1bmNfYXJp
dGggJGN1cnJlbnQgLSAkYWdlCgkgIGVsc2UKCSAgICBmdW5jX2FyaXRoICRj
dXJyZW50IC0gJGFnZSArIDEKCSAgZmkKCSAgbWFqb3I9JGZ1bmNfYXJpdGhf
cmVzdWx0CgoJICBjYXNlICR2ZXJzaW9uX3R5cGUgaW4KCSAgICBub25zdG9w
dXgpIHZlcnN0cmluZ19wcmVmaXg9bm9uc3RvcHV4IDs7CgkgICAgKikgICAg
ICAgICB2ZXJzdHJpbmdfcHJlZml4PXNnaSA7OwoJICBlc2FjCgkgIHZlcnN0
cmluZz0iJHZlcnN0cmluZ19wcmVmaXgkbWFqb3IuJHJldmlzaW9uIgoKCSAg
IyBBZGQgaW4gYWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQgd2UgYXJlIGNvbXBh
dGlibGUgd2l0aC4KCSAgbG9vcD0kcmV2aXNpb24KCSAgd2hpbGUgdGVzdCAi
JGxvb3AiIC1uZSAwOyBkbwoJICAgIGZ1bmNfYXJpdGggJHJldmlzaW9uIC0g
JGxvb3AKCSAgICBpZmFjZT0kZnVuY19hcml0aF9yZXN1bHQKCSAgICBmdW5j
X2FyaXRoICRsb29wIC0gMQoJICAgIGxvb3A9JGZ1bmNfYXJpdGhfcmVzdWx0
CgkgICAgdmVyc3RyaW5nPSIkdmVyc3RyaW5nX3ByZWZpeCRtYWpvci4kaWZh
Y2U6JHZlcnN0cmluZyIKCSAgZG9uZQoKCSAgIyBCZWZvcmUgdGhpcyBwb2lu
dCwgJG1ham9yIG11c3Qgbm90IGNvbnRhaW4gYC4nLgoJICBtYWpvcj0uJG1h
am9yCgkgIHZlcnN1ZmZpeD0iJG1ham9yLiRyZXZpc2lvbiIKCSAgOzsKCgls
aW51eCkgIyBjb3JyZWN0IHRvIGdudS9saW51eCBkdXJpbmcgdGhlIG5leHQg
YmlnIHJlZmFjdG9yCgkgIGZ1bmNfYXJpdGggJGN1cnJlbnQgLSAkYWdlCgkg
IG1ham9yPS4kZnVuY19hcml0aF9yZXN1bHQKCSAgdmVyc3VmZml4PSIkbWFq
b3IuJGFnZS4kcmV2aXNpb24iCgkgIDs7CgoJb3NmKQoJICBmdW5jX2FyaXRo
ICRjdXJyZW50IC0gJGFnZQoJICBtYWpvcj0uJGZ1bmNfYXJpdGhfcmVzdWx0
CgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50LiRhZ2UuJHJldmlzaW9uIgoJICB2
ZXJzdHJpbmc9IiRjdXJyZW50LiRhZ2UuJHJldmlzaW9uIgoKCSAgIyBBZGQg
aW4gYWxsIHRoZSBpbnRlcmZhY2VzIHRoYXQgd2UgYXJlIGNvbXBhdGlibGUg
d2l0aC4KCSAgbG9vcD0kYWdlCgkgIHdoaWxlIHRlc3QgIiRsb29wIiAtbmUg
MDsgZG8KCSAgICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGxvb3AKCSAgICBp
ZmFjZT0kZnVuY19hcml0aF9yZXN1bHQKCSAgICBmdW5jX2FyaXRoICRsb29w
IC0gMQoJICAgIGxvb3A9JGZ1bmNfYXJpdGhfcmVzdWx0CgkgICAgdmVyc3Ry
aW5nPSIkdmVyc3RyaW5nOiR7aWZhY2V9LjAiCgkgIGRvbmUKCgkgICMgTWFr
ZSBleGVjdXRhYmxlcyBkZXBlbmQgb24gb3VyIGN1cnJlbnQgdmVyc2lvbi4K
CSAgdmVyc3RyaW5nKz0iOiR7Y3VycmVudH0uMCIKCSAgOzsKCglxbngpCgkg
IG1ham9yPSIuJGN1cnJlbnQiCgkgIHZlcnN1ZmZpeD0iLiRjdXJyZW50IgoJ
ICA7OwoKCXN1bm9zKQoJICBtYWpvcj0iLiRjdXJyZW50IgoJICB2ZXJzdWZm
aXg9Ii4kY3VycmVudC4kcmV2aXNpb24iCgkgIDs7CgoJd2luZG93cykKCSAg
IyBVc2UgJy0nIHJhdGhlciB0aGFuICcuJywgc2luY2Ugd2Ugb25seSB3YW50
IG9uZQoJICAjIGV4dGVuc2lvbiBvbiBET1MgOC4zIGZpbGVzeXN0ZW1zLgoJ
ICBmdW5jX2FyaXRoICRjdXJyZW50IC0gJGFnZQoJICBtYWpvcj0kZnVuY19h
cml0aF9yZXN1bHQKCSAgdmVyc3VmZml4PSItJG1ham9yIgoJICA7OwoKCSop
CgkgIGZ1bmNfZmF0YWxfY29uZmlndXJhdGlvbiAidW5rbm93biBsaWJyYXJ5
IHZlcnNpb24gdHlwZSBcYCR2ZXJzaW9uX3R5cGUnIgoJICA7OwoJZXNhYwoK
CSMgQ2xlYXIgdGhlIHZlcnNpb24gaW5mbyBpZiB3ZSBkZWZhdWx0ZWQsIGFu
ZCB0aGV5IHNwZWNpZmllZCBhIHJlbGVhc2UuCglpZiB0ZXN0IC16ICIkdmlu
Zm8iICYmIHRlc3QgLW4gIiRyZWxlYXNlIjsgdGhlbgoJICBtYWpvcj0KCSAg
Y2FzZSAkdmVyc2lvbl90eXBlIGluCgkgIGRhcndpbikKCSAgICAjIHdlIGNh
bid0IGNoZWNrIGZvciAiMC4wIiBpbiBhcmNoaXZlX2NtZHMgZHVlIHRvIHF1
b3RpbmcKCSAgICAjIHByb2JsZW1zLCBzbyB3ZSByZXNldCBpdCBjb21wbGV0
ZWx5CgkgICAgdmVyc3RyaW5nPQoJICAgIDs7CgkgICopCgkgICAgdmVyc3Ry
aW5nPSIwLjAiCgkgICAgOzsKCSAgZXNhYwoJICBpZiB0ZXN0ICIkbmVlZF92
ZXJzaW9uIiA9IG5vOyB0aGVuCgkgICAgdmVyc3VmZml4PQoJICBlbHNlCgkg
ICAgdmVyc3VmZml4PSIuMC4wIgoJICBmaQoJZmkKCgkjIFJlbW92ZSB2ZXJz
aW9uIGluZm8gZnJvbSBuYW1lIGlmIHZlcnNpb25pbmcgc2hvdWxkIGJlIGF2
b2lkZWQKCWlmIHRlc3QgIiRhdm9pZF92ZXJzaW9uIiA9IHllcyAmJiB0ZXN0
ICIkbmVlZF92ZXJzaW9uIiA9IG5vOyB0aGVuCgkgIG1ham9yPQoJICB2ZXJz
dWZmaXg9CgkgIHZlcnN0cmluZz0iIgoJZmkKCgkjIENoZWNrIHRvIHNlZSBp
ZiB0aGUgYXJjaGl2ZSB3aWxsIGhhdmUgdW5kZWZpbmVkIHN5bWJvbHMuCglp
ZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkIiA9IHllczsgdGhlbgoJICBpZiB0
ZXN0ICIkYWxsb3dfdW5kZWZpbmVkX2ZsYWciID0gdW5zdXBwb3J0ZWQ7IHRo
ZW4KCSAgICBmdW5jX3dhcm5pbmcgInVuZGVmaW5lZCBzeW1ib2xzIG5vdCBh
bGxvd2VkIGluICRob3N0IHNoYXJlZCBsaWJyYXJpZXMiCgkgICAgYnVpbGRf
bGlidG9vbF9saWJzPW5vCgkgICAgYnVpbGRfb2xkX2xpYnM9eWVzCgkgIGZp
CgllbHNlCgkgICMgRG9uJ3QgYWxsb3cgdW5kZWZpbmVkIHN5bWJvbHMuCgkg
IGFsbG93X3VuZGVmaW5lZF9mbGFnPSIkbm9fdW5kZWZpbmVkX2ZsYWciCglm
aQoKICAgICAgZmkKCiAgICAgIGZ1bmNfZ2VuZXJhdGVfZGxzeW1zICIkbGli
bmFtZSIgIiRsaWJuYW1lIiAieWVzIgogICAgICBsaWJvYmpzKz0iICRzeW1m
aWxlb2JqIgogICAgICB0ZXN0ICJYJGxpYm9ianMiID0gIlggIiAmJiBsaWJv
YmpzPQoKICAgICAgaWYgdGVzdCAiJG9wdF9tb2RlIiAhPSByZWxpbms7IHRo
ZW4KCSMgUmVtb3ZlIG91ciBvdXRwdXRzLCBidXQgZG9uJ3QgcmVtb3ZlIG9i
amVjdCBmaWxlcyBzaW5jZSB0aGV5CgkjIG1heSBoYXZlIGJlZW4gY3JlYXRl
ZCB3aGVuIGNvbXBpbGluZyBQSUMgb2JqZWN0cy4KCXJlbW92ZWxpc3Q9Cgl0
ZW1wcmVtb3ZlbGlzdD1gJEVDSE8gIiRvdXRwdXRfb2JqZGlyLyoiYAoJZm9y
IHAgaW4gJHRlbXByZW1vdmVsaXN0OyBkbwoJICBjYXNlICRwIGluCgkgICAg
Ki4kb2JqZXh0IHwgKi5nY25vKQoJICAgICAgIDs7CgkgICAgJG91dHB1dF9v
YmpkaXIvJG91dHB1dG5hbWUgfCAkb3V0cHV0X29iamRpci8kbGlibmFtZS4q
IHwgJG91dHB1dF9vYmpkaXIvJHtsaWJuYW1lfSR7cmVsZWFzZX0uKikKCSAg
ICAgICBpZiB0ZXN0ICJYJHByZWNpb3VzX2ZpbGVzX3JlZ2V4IiAhPSAiWCI7
IHRoZW4KCQkgaWYgJEVDSE8gIiRwIiB8ICRFR1JFUCAtZSAiJHByZWNpb3Vz
X2ZpbGVzX3JlZ2V4IiA+L2Rldi9udWxsIDI+JjEKCQkgdGhlbgoJCSAgIGNv
bnRpbnVlCgkJIGZpCgkgICAgICAgZmkKCSAgICAgICByZW1vdmVsaXN0Kz0i
ICRwIgoJICAgICAgIDs7CgkgICAgKikgOzsKCSAgZXNhYwoJZG9uZQoJdGVz
dCAtbiAiJHJlbW92ZWxpc3QiICYmIFwKCSAgZnVuY19zaG93X2V2YWwgIiR7
Uk19ciBcJHJlbW92ZWxpc3QiCiAgICAgIGZpCgogICAgICAjIE5vdyBzZXQg
dGhlIHZhcmlhYmxlcyBmb3IgYnVpbGRpbmcgb2xkIGxpYnJhcmllcy4KICAg
ICAgaWYgdGVzdCAiJGJ1aWxkX29sZF9saWJzIiA9IHllcyAmJiB0ZXN0ICIk
YnVpbGRfbGlidG9vbF9saWJzIiAhPSBjb252ZW5pZW5jZSA7IHRoZW4KCW9s
ZGxpYnMrPSIgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCIKCgkj
IFRyYW5zZm9ybSAubG8gZmlsZXMgdG8gLm8gZmlsZXMuCglvbGRvYmpzPSIk
b2JqcyAiYCRFQ0hPICIkbGlib2JqcyIgfCAkU1AyTkwgfCAkU0VEICIvXC4k
e2xpYmV4dH0kL2Q7ICRsbzJvIiB8ICROTDJTUGAKICAgICAgZmkKCiAgICAg
ICMgRWxpbWluYXRlIGFsbCB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMuCiAgICAg
ICNmb3IgcGF0aCBpbiAkbm90aW5zdF9wYXRoOyBkbwogICAgICAjCWxpYl9z
ZWFyY2hfcGF0aD1gJEVDSE8gIiRsaWJfc2VhcmNoX3BhdGggIiB8ICRTRUQg
InMlICRwYXRoICUgJWciYAogICAgICAjCWRlcGxpYnM9YCRFQ0hPICIkZGVw
bGlicyAiIHwgJFNFRCAicyUgLUwkcGF0aCAlICVnImAKICAgICAgIwlkZXBl
bmRlbmN5X2xpYnM9YCRFQ0hPICIkZGVwZW5kZW5jeV9saWJzICIgfCAkU0VE
ICJzJSAtTCRwYXRoICUgJWciYAogICAgICAjZG9uZQoKICAgICAgaWYgdGVz
dCAtbiAiJHhycGF0aCI7IHRoZW4KCSMgSWYgdGhlIHVzZXIgc3BlY2lmaWVk
IGFueSBycGF0aCBmbGFncywgdGhlbiBhZGQgdGhlbS4KCXRlbXBfeHJwYXRo
PQoJZm9yIGxpYmRpciBpbiAkeHJwYXRoOyBkbwoJICBmdW5jX3JlcGxhY2Vf
c3lzcm9vdCAiJGxpYmRpciIKCSAgdGVtcF94cnBhdGgrPSIgLVIkZnVuY19y
ZXBsYWNlX3N5c3Jvb3RfcmVzdWx0IgoJICBjYXNlICIkZmluYWxpemVfcnBh
dGggIiBpbgoJICAqIiAkbGliZGlyICIqKSA7OwoJICAqKSBmaW5hbGl6ZV9y
cGF0aCs9IiAkbGliZGlyIiA7OwoJICBlc2FjCglkb25lCglpZiB0ZXN0ICIk
aGFyZGNvZGVfaW50b19saWJzIiAhPSB5ZXMgfHwgdGVzdCAiJGJ1aWxkX29s
ZF9saWJzIiA9IHllczsgdGhlbgoJICBkZXBlbmRlbmN5X2xpYnM9IiR0ZW1w
X3hycGF0aCAkZGVwZW5kZW5jeV9saWJzIgoJZmkKICAgICAgZmkKCiAgICAg
ICMgTWFrZSBzdXJlIGRsZmlsZXMgY29udGFpbnMgb25seSB1bmlxdWUgZmls
ZXMgdGhhdCB3b24ndCBiZSBkbHByZW9wZW5lZAogICAgICBvbGRfZGxmaWxl
cz0iJGRsZmlsZXMiCiAgICAgIGRsZmlsZXM9CiAgICAgIGZvciBsaWIgaW4g
JG9sZF9kbGZpbGVzOyBkbwoJY2FzZSAiICRkbHByZWZpbGVzICRkbGZpbGVz
ICIgaW4KCSoiICRsaWIgIiopIDs7CgkqKSBkbGZpbGVzKz0iICRsaWIiIDs7
Cgllc2FjCiAgICAgIGRvbmUKCiAgICAgICMgTWFrZSBzdXJlIGRscHJlZmls
ZXMgY29udGFpbnMgb25seSB1bmlxdWUgZmlsZXMKICAgICAgb2xkX2RscHJl
ZmlsZXM9IiRkbHByZWZpbGVzIgogICAgICBkbHByZWZpbGVzPQogICAgICBm
b3IgbGliIGluICRvbGRfZGxwcmVmaWxlczsgZG8KCWNhc2UgIiRkbHByZWZp
bGVzICIgaW4KCSoiICRsaWIgIiopIDs7CgkqKSBkbHByZWZpbGVzKz0iICRs
aWIiIDs7Cgllc2FjCiAgICAgIGRvbmUKCiAgICAgIGlmIHRlc3QgIiRidWls
ZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVuCglpZiB0ZXN0IC1uICIkcnBh
dGgiOyB0aGVuCgkgIGNhc2UgJGhvc3QgaW4KCSAgKi0qLWN5Z3dpbiogfCAq
LSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0qLW9zMiogfCAqLSotYmVvcyog
fCAqLWNlZ2NjKiB8ICotKi1oYWlrdSopCgkgICAgIyB0aGVzZSBzeXN0ZW1z
IGRvbid0IGFjdHVhbGx5IGhhdmUgYSBjIGxpYnJhcnkgKGFzIHN1Y2gpIQoJ
ICAgIDs7CgkgICotKi1yaGFwc29keSogfCAqLSotZGFyd2luMS5bMDEyXSkK
CSAgICAjIFJoYXBzb2R5IEMgbGlicmFyeSBpcyBpbiB0aGUgU3lzdGVtIGZy
YW1ld29yawoJICAgIGRlcGxpYnMrPSIgU3lzdGVtLmx0ZnJhbWV3b3JrIgoJ
ICAgIDs7CgkgICotKi1uZXRic2QqKQoJICAgICMgRG9uJ3QgbGluayB3aXRo
IGxpYmMgdW50aWwgdGhlIGEub3V0IGxkLnNvIGlzIGZpeGVkLgoJICAgIDs7
CgkgICotKi1vcGVuYnNkKiB8ICotKi1mcmVlYnNkKiB8ICotKi1kcmFnb25m
bHkqKQoJICAgICMgRG8gbm90IGluY2x1ZGUgbGliYyBkdWUgdG8gdXMgaGF2
aW5nIGxpYmMvbGliY19yLgoJICAgIDs7CgkgICotKi1zY28zLjJ2NSogfCAq
LSotc2NvNXY2KikKCSAgICAjIENhdXNlcyBwcm9ibGVtcyB3aXRoIF9fY3R5
cGUKCSAgICA7OwoJICAqLSotc3lzdjQuMnV3MiogfCAqLSotc3lzdjUqIHwg
Ki0qLXVuaXh3YXJlKiB8ICotKi1PcGVuVU5JWCopCgkgICAgIyBDb21waWxl
ciBpbnNlcnRzIGxpYmMgaW4gdGhlIGNvcnJlY3QgcGxhY2UgZm9yIHRocmVh
ZHMgdG8gd29yawoJICAgIDs7CgkgICopCgkgICAgIyBBZGQgbGliYyB0byBk
ZXBsaWJzIG9uIGFsbCBvdGhlciBzeXN0ZW1zIGlmIG5lY2Vzc2FyeS4KCSAg
ICBpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9uZWVkX2xjIiA9ICJ5ZXMiOyB0
aGVuCgkgICAgICBkZXBsaWJzKz0iIC1sYyIKCSAgICBmaQoJICAgIDs7Cgkg
IGVzYWMKCWZpCgoJIyBUcmFuc2Zvcm0gZGVwbGlicyBpbnRvIG9ubHkgZGVw
bGlicyB0aGF0IGNhbiBiZSBsaW5rZWQgaW4gc2hhcmVkLgoJbmFtZV9zYXZl
PSRuYW1lCglsaWJuYW1lX3NhdmU9JGxpYm5hbWUKCXJlbGVhc2Vfc2F2ZT0k
cmVsZWFzZQoJdmVyc3VmZml4X3NhdmU9JHZlcnN1ZmZpeAoJbWFqb3Jfc2F2
ZT0kbWFqb3IKCSMgSSdtIG5vdCBzdXJlIGlmIEknbSB0cmVhdGluZyB0aGUg
cmVsZWFzZSBjb3JyZWN0bHkuICBJIHRoaW5rCgkjIHJlbGVhc2Ugc2hvdWxk
IHNob3cgdXAgaW4gdGhlIC1sIChpZSAtbGdtcDUpIHNvIHdlIGRvbid0IHdh
bnQgdG8KCSMgYWRkIGl0IGluIHR3aWNlLiAgSXMgdGhhdCBjb3JyZWN0PwoJ
cmVsZWFzZT0iIgoJdmVyc3VmZml4PSIiCgltYWpvcj0iIgoJbmV3ZGVwbGli
cz0KCWRyb3BwZWRkZXBzPW5vCgljYXNlICRkZXBsaWJzX2NoZWNrX21ldGhv
ZCBpbgoJcGFzc19hbGwpCgkgICMgRG9uJ3QgY2hlY2sgZm9yIHNoYXJlZC9z
dGF0aWMuICBFdmVyeXRoaW5nIHdvcmtzLgoJICAjIFRoaXMgbWlnaHQgYmUg
YSBsaXR0bGUgbmFpdmUuICBXZSBtaWdodCB3YW50IHRvIGNoZWNrCgkgICMg
d2hldGhlciB0aGUgbGlicmFyeSBleGlzdHMgb3Igbm90LiAgQnV0IHRoaXMg
aXMgb24KCSAgIyBvc2YzICYgb3NmNCBhbmQgSSdtIG5vdCByZWFsbHkgc3Vy
ZS4uLiBKdXN0CgkgICMgaW1wbGVtZW50aW5nIHdoYXQgd2FzIGFscmVhZHkg
dGhlIGJlaGF2aW9yLgoJICBuZXdkZXBsaWJzPSRkZXBsaWJzCgkgIDs7Cgl0
ZXN0X2NvbXBpbGUpCgkgICMgVGhpcyBjb2RlIHN0cmVzc2VzIHRoZSAibGli
cmFyaWVzIGFyZSBwcm9ncmFtcyIgcGFyYWRpZ20gdG8gaXRzCgkgICMgbGlt
aXRzLiBNYXliZSBldmVuIGJyZWFrcyBpdC4gIFdlIGNvbXBpbGUgYSBwcm9n
cmFtLCBsaW5raW5nIGl0CgkgICMgYWdhaW5zdCB0aGUgZGVwbGlicyBhcyBh
IHByb3h5IGZvciB0aGUgbGlicmFyeS4gIFRoZW4gd2UgY2FuIGNoZWNrCgkg
ICMgd2hldGhlciB0aGV5IGxpbmtlZCBpbiBzdGF0aWNhbGx5IG9yIGR5bmFt
aWNhbGx5IHdpdGggbGRkLgoJICAkb3B0X2RyeV9ydW4gfHwgJFJNIGNvbmZ0
ZXN0LmMKCSAgY2F0ID4gY29uZnRlc3QuYyA8PEVPRgoJICBpbnQgbWFpbigp
IHsgcmV0dXJuIDA7IH0KRU9GCgkgICRvcHRfZHJ5X3J1biB8fCAkUk0gY29u
ZnRlc3QKCSAgaWYgJExUQ0MgJExUQ0ZMQUdTIC1vIGNvbmZ0ZXN0IGNvbmZ0
ZXN0LmMgJGRlcGxpYnM7IHRoZW4KCSAgICBsZGRfb3V0cHV0PWBsZGQgY29u
ZnRlc3RgCgkgICAgZm9yIGkgaW4gJGRlcGxpYnM7IGRvCgkgICAgICBjYXNl
ICRpIGluCgkgICAgICAtbCopCgkJZnVuY19zdHJpcG5hbWUgLWwgJycgIiRp
IgoJCW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJCWlmIHRlc3QgIlgk
YWxsb3dfbGlidG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzIiA9ICJY
eWVzIiA7IHRoZW4KCQkgIGNhc2UgIiAkcHJlZGVwcyAkcG9zdGRlcHMgIiBp
bgoJCSAgKiIgJGkgIiopCgkJICAgIG5ld2RlcGxpYnMrPSIgJGkiCgkJICAg
IGk9IiIKCQkgICAgOzsKCQkgIGVzYWMKCQlmaQoJCWlmIHRlc3QgLW4gIiRp
IiA7IHRoZW4KCQkgIGxpYm5hbWU9YGV2YWwgIlxcJEVDSE8gXCIkbGlibmFt
ZV9zcGVjXCIiYAoJCSAgZGVwbGliX21hdGNoZXM9YGV2YWwgIlxcJEVDSE8g
XCIkbGlicmFyeV9uYW1lc19zcGVjXCIiYAoJCSAgc2V0IGR1bW15ICRkZXBs
aWJfbWF0Y2hlczsgc2hpZnQKCQkgIGRlcGxpYl9tYXRjaD0kMQoJCSAgaWYg
dGVzdCBgZXhwciAiJGxkZF9vdXRwdXQiIDogIi4qJGRlcGxpYl9tYXRjaCJg
IC1uZSAwIDsgdGhlbgoJCSAgICBuZXdkZXBsaWJzKz0iICRpIgoJCSAgZWxz
ZQoJCSAgICBkcm9wcGVkZGVwcz15ZXMKCQkgICAgZWNobwoJCSAgICAkRUNI
TyAiKioqIFdhcm5pbmc6IGR5bmFtaWMgbGlua2VyIGRvZXMgbm90IGFjY2Vw
dCBuZWVkZWQgbGlicmFyeSAkaS4iCgkJICAgIGVjaG8gIioqKiBJIGhhdmUg
dGhlIGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGlj
YWxseSBsaW5rIGluIHdoZW4iCgkJICAgIGVjaG8gIioqKiB5b3UgbGluayB0
byB0aGlzIGxpYnJhcnkuICBCdXQgSSBjYW4gb25seSBkbyB0aGlzIGlmIHlv
dSBoYXZlIGEiCgkJICAgIGVjaG8gIioqKiBzaGFyZWQgdmVyc2lvbiBvZiB0
aGUgbGlicmFyeSwgd2hpY2ggSSBiZWxpZXZlIHlvdSBkbyBub3QgaGF2ZSIK
CQkgICAgZWNobyAiKioqIGJlY2F1c2UgYSB0ZXN0X2NvbXBpbGUgZGlkIHJl
dmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlkIG5vdCB1c2UgaXQgZm9yIgoJCSAg
ICBlY2hvICIqKiogaXRzIGR5bmFtaWMgZGVwZW5kZW5jeSBsaXN0IHRoYXQg
cHJvZ3JhbXMgZ2V0IHJlc29sdmVkIHdpdGggYXQgcnVudGltZS4iCgkJICBm
aQoJCWZpCgkJOzsKCSAgICAgICopCgkJbmV3ZGVwbGlicys9IiAkaSIKCQk7
OwoJICAgICAgZXNhYwoJICAgIGRvbmUKCSAgZWxzZQoJICAgICMgRXJyb3Ig
b2NjdXJyZWQgaW4gdGhlIGZpcnN0IGNvbXBpbGUuICBMZXQncyB0cnkgdG8g
c2FsdmFnZQoJICAgICMgdGhlIHNpdHVhdGlvbjogQ29tcGlsZSBhIHNlcGFy
YXRlIHByb2dyYW0gZm9yIGVhY2ggbGlicmFyeS4KCSAgICBmb3IgaSBpbiAk
ZGVwbGliczsgZG8KCSAgICAgIGNhc2UgJGkgaW4KCSAgICAgIC1sKikKCQlm
dW5jX3N0cmlwbmFtZSAtbCAnJyAiJGkiCgkJbmFtZT0kZnVuY19zdHJpcG5h
bWVfcmVzdWx0CgkJJG9wdF9kcnlfcnVuIHx8ICRSTSBjb25mdGVzdAoJCWlm
ICRMVENDICRMVENGTEFHUyAtbyBjb25mdGVzdCBjb25mdGVzdC5jICRpOyB0
aGVuCgkJICBsZGRfb3V0cHV0PWBsZGQgY29uZnRlc3RgCgkJICBpZiB0ZXN0
ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcyIg
PSAiWHllcyIgOyB0aGVuCgkJICAgIGNhc2UgIiAkcHJlZGVwcyAkcG9zdGRl
cHMgIiBpbgoJCSAgICAqIiAkaSAiKikKCQkgICAgICBuZXdkZXBsaWJzKz0i
ICRpIgoJCSAgICAgIGk9IiIKCQkgICAgICA7OwoJCSAgICBlc2FjCgkJICBm
aQoJCSAgaWYgdGVzdCAtbiAiJGkiIDsgdGhlbgoJCSAgICBsaWJuYW1lPWBl
dmFsICJcXCRFQ0hPIFwiJGxpYm5hbWVfc3BlY1wiImAKCQkgICAgZGVwbGli
X21hdGNoZXM9YGV2YWwgIlxcJEVDSE8gXCIkbGlicmFyeV9uYW1lc19zcGVj
XCIiYAoJCSAgICBzZXQgZHVtbXkgJGRlcGxpYl9tYXRjaGVzOyBzaGlmdAoJ
CSAgICBkZXBsaWJfbWF0Y2g9JDEKCQkgICAgaWYgdGVzdCBgZXhwciAiJGxk
ZF9vdXRwdXQiIDogIi4qJGRlcGxpYl9tYXRjaCJgIC1uZSAwIDsgdGhlbgoJ
CSAgICAgIG5ld2RlcGxpYnMrPSIgJGkiCgkJICAgIGVsc2UKCQkgICAgICBk
cm9wcGVkZGVwcz15ZXMKCQkgICAgICBlY2hvCgkJICAgICAgJEVDSE8gIioq
KiBXYXJuaW5nOiBkeW5hbWljIGxpbmtlciBkb2VzIG5vdCBhY2NlcHQgbmVl
ZGVkIGxpYnJhcnkgJGkuIgoJCSAgICAgIGVjaG8gIioqKiBJIGhhdmUgdGhl
IGNhcGFiaWxpdHkgdG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGljYWxs
eSBsaW5rIGluIHdoZW4iCgkJICAgICAgZWNobyAiKioqIHlvdSBsaW5rIHRv
IHRoaXMgbGlicmFyeS4gIEJ1dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91
IGhhdmUgYSIKCQkgICAgICBlY2hvICIqKiogc2hhcmVkIHZlcnNpb24gb2Yg
dGhlIGxpYnJhcnksIHdoaWNoIHlvdSBkbyBub3QgYXBwZWFyIHRvIGhhdmUi
CgkJICAgICAgZWNobyAiKioqIGJlY2F1c2UgYSB0ZXN0X2NvbXBpbGUgZGlk
IHJldmVhbCB0aGF0IHRoZSBsaW5rZXIgZGlkIG5vdCB1c2UgdGhpcyBvbmUi
CgkJICAgICAgZWNobyAiKioqIGFzIGEgZHluYW1pYyBkZXBlbmRlbmN5IHRo
YXQgcHJvZ3JhbXMgY2FuIGdldCByZXNvbHZlZCB3aXRoIGF0IHJ1bnRpbWUu
IgoJCSAgICBmaQoJCSAgZmkKCQllbHNlCgkJICBkcm9wcGVkZGVwcz15ZXMK
CQkgIGVjaG8KCQkgICRFQ0hPICIqKiogV2FybmluZyEgIExpYnJhcnkgJGkg
aXMgbmVlZGVkIGJ5IHRoaXMgbGlicmFyeSBidXQgSSB3YXMgbm90IGFibGUg
dG8iCgkJICBlY2hvICIqKiogbWFrZSBpdCBsaW5rIGluISAgWW91IHdpbGwg
cHJvYmFibHkgbmVlZCB0byBpbnN0YWxsIGl0IG9yIHNvbWUiCgkJICBlY2hv
ICIqKiogbGlicmFyeSB0aGF0IGl0IGRlcGVuZHMgb24gYmVmb3JlIHRoaXMg
bGlicmFyeSB3aWxsIGJlIGZ1bGx5IgoJCSAgZWNobyAiKioqIGZ1bmN0aW9u
YWwuICBJbnN0YWxsaW5nIGl0IGJlZm9yZSBjb250aW51aW5nIHdvdWxkIGJl
IGV2ZW4gYmV0dGVyLiIKCQlmaQoJCTs7CgkgICAgICAqKQoJCW5ld2RlcGxp
YnMrPSIgJGkiCgkJOzsKCSAgICAgIGVzYWMKCSAgICBkb25lCgkgIGZpCgkg
IDs7CglmaWxlX21hZ2ljKikKCSAgc2V0IGR1bW15ICRkZXBsaWJzX2NoZWNr
X21ldGhvZDsgc2hpZnQKCSAgZmlsZV9tYWdpY19yZWdleD1gZXhwciAiJGRl
cGxpYnNfY2hlY2tfbWV0aG9kIiA6ICIkMSBcKC4qXCkiYAoJICBmb3IgYV9k
ZXBsaWIgaW4gJGRlcGxpYnM7IGRvCgkgICAgY2FzZSAkYV9kZXBsaWIgaW4K
CSAgICAtbCopCgkgICAgICBmdW5jX3N0cmlwbmFtZSAtbCAnJyAiJGFfZGVw
bGliIgoJICAgICAgbmFtZT0kZnVuY19zdHJpcG5hbWVfcmVzdWx0CgkgICAg
ICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0YXRpY19y
dW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkJY2FzZSAiICRwcmVkZXBzICRw
b3N0ZGVwcyAiIGluCgkJKiIgJGFfZGVwbGliICIqKQoJCSAgbmV3ZGVwbGli
cys9IiAkYV9kZXBsaWIiCgkJICBhX2RlcGxpYj0iIgoJCSAgOzsKCQllc2Fj
CgkgICAgICBmaQoJICAgICAgaWYgdGVzdCAtbiAiJGFfZGVwbGliIiA7IHRo
ZW4KCQlsaWJuYW1lPWBldmFsICJcXCRFQ0hPIFwiJGxpYm5hbWVfc3BlY1wi
ImAKCQlpZiB0ZXN0IC1uICIkZmlsZV9tYWdpY19nbG9iIjsgdGhlbgoJCSAg
bGlibmFtZWdsb2I9YGZ1bmNfZWNob19hbGwgIiRsaWJuYW1lIiB8ICRTRUQg
LWUgJGZpbGVfbWFnaWNfZ2xvYmAKCQllbHNlCgkJICBsaWJuYW1lZ2xvYj0k
bGlibmFtZQoJCWZpCgkJdGVzdCAiJHdhbnRfbm9jYXNlZ2xvYiIgPSB5ZXMg
JiYgbm9jYXNlZ2xvYj1gc2hvcHQgLXAgbm9jYXNlZ2xvYmAKCQlmb3IgaSBp
biAkbGliX3NlYXJjaF9wYXRoICRzeXNfbGliX3NlYXJjaF9wYXRoICRzaGxp
Yl9zZWFyY2hfcGF0aDsgZG8KCQkgIGlmIHRlc3QgIiR3YW50X25vY2FzZWds
b2IiID0geWVzOyB0aGVuCgkJICAgIHNob3B0IC1zIG5vY2FzZWdsb2IKCQkg
ICAgcG90ZW50aWFsX2xpYnM9YGxzICRpLyRsaWJuYW1lZ2xvYlsuLV0qIDI+
L2Rldi9udWxsYAoJCSAgICAkbm9jYXNlZ2xvYgoJCSAgZWxzZQoJCSAgICBw
b3RlbnRpYWxfbGlicz1gbHMgJGkvJGxpYm5hbWVnbG9iWy4tXSogMj4vZGV2
L251bGxgCgkJICBmaQoJCSAgZm9yIHBvdGVudF9saWIgaW4gJHBvdGVudGlh
bF9saWJzOyBkbwoJCSAgICAgICMgRm9sbG93IHNvZnQgbGlua3MuCgkJICAg
ICAgaWYgbHMgLWxMZCAiJHBvdGVudF9saWIiIDI+L2Rldi9udWxsIHwKCQkJ
ICRHUkVQICIgLT4gIiA+L2Rldi9udWxsOyB0aGVuCgkJCWNvbnRpbnVlCgkJ
ICAgICAgZmkKCQkgICAgICAjIFRoZSBzdGF0ZW1lbnQgYWJvdmUgdHJpZXMg
dG8gYXZvaWQgZW50ZXJpbmcgYW4KCQkgICAgICAjIGVuZGxlc3MgbG9vcCBi
ZWxvdywgaW4gY2FzZSBvZiBjeWNsaWMgbGlua3MuCgkJICAgICAgIyBXZSBt
aWdodCBzdGlsbCBlbnRlciBhbiBlbmRsZXNzIGxvb3AsIHNpbmNlIGEgbGlu
awoJCSAgICAgICMgbG9vcCBjYW4gYmUgY2xvc2VkIHdoaWxlIHdlIGZvbGxv
dyBsaW5rcywKCQkgICAgICAjIGJ1dCBzbyB3aGF0PwoJCSAgICAgIHBvdGxp
Yj0iJHBvdGVudF9saWIiCgkJICAgICAgd2hpbGUgdGVzdCAtaCAiJHBvdGxp
YiIgMj4vZGV2L251bGw7IGRvCgkJCXBvdGxpYmxpbms9YGxzIC1sZCAkcG90
bGliIHwgJHtTRUR9ICdzLy4qIC0+IC8vJ2AKCQkJY2FzZSAkcG90bGlibGlu
ayBpbgoJCQlbXFwvXSogfCBbQS1aYS16XTpbXFwvXSopIHBvdGxpYj0iJHBv
dGxpYmxpbmsiOzsKCQkJKikgcG90bGliPWAkRUNITyAiJHBvdGxpYiIgfCAk
U0VEICdzLFteL10qJCwsJ2AiJHBvdGxpYmxpbmsiOzsKCQkJZXNhYwoJCSAg
ICAgIGRvbmUKCQkgICAgICBpZiBldmFsICRmaWxlX21hZ2ljX2NtZCBcIlwk
cG90bGliXCIgMj4vZGV2L251bGwgfAoJCQkgJFNFRCAtZSAxMHEgfAoJCQkg
JEVHUkVQICIkZmlsZV9tYWdpY19yZWdleCIgPiAvZGV2L251bGw7IHRoZW4K
CQkJbmV3ZGVwbGlicys9IiAkYV9kZXBsaWIiCgkJCWFfZGVwbGliPSIiCgkJ
CWJyZWFrIDIKCQkgICAgICBmaQoJCSAgZG9uZQoJCWRvbmUKCSAgICAgIGZp
CgkgICAgICBpZiB0ZXN0IC1uICIkYV9kZXBsaWIiIDsgdGhlbgoJCWRyb3Bw
ZWRkZXBzPXllcwoJCWVjaG8KCQkkRUNITyAiKioqIFdhcm5pbmc6IGxpbmtl
ciBwYXRoIGRvZXMgbm90IGhhdmUgcmVhbCBmaWxlIGZvciBsaWJyYXJ5ICRh
X2RlcGxpYi4iCgkJZWNobyAiKioqIEkgaGF2ZSB0aGUgY2FwYWJpbGl0eSB0
byBtYWtlIHRoYXQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGxpbmsgaW4gd2hl
biIKCQllY2hvICIqKiogeW91IGxpbmsgdG8gdGhpcyBsaWJyYXJ5LiAgQnV0
IEkgY2FuIG9ubHkgZG8gdGhpcyBpZiB5b3UgaGF2ZSBhIgoJCWVjaG8gIioq
KiBzaGFyZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgd2hpY2ggeW91IGRv
IG5vdCBhcHBlYXIgdG8gaGF2ZSIKCQllY2hvICIqKiogYmVjYXVzZSBJIGRp
ZCBjaGVjayB0aGUgbGlua2VyIHBhdGggbG9va2luZyBmb3IgYSBmaWxlIHN0
YXJ0aW5nIgoJCWlmIHRlc3QgLXogIiRwb3RsaWIiIDsgdGhlbgoJCSAgJEVD
SE8gIioqKiB3aXRoICRsaWJuYW1lIGJ1dCBubyBjYW5kaWRhdGVzIHdlcmUg
Zm91bmQuICguLi5mb3IgZmlsZSBtYWdpYyB0ZXN0KSIKCQllbHNlCgkJICAk
RUNITyAiKioqIHdpdGggJGxpYm5hbWUgYW5kIG5vbmUgb2YgdGhlIGNhbmRp
ZGF0ZXMgcGFzc2VkIGEgZmlsZSBmb3JtYXQgdGVzdCIKCQkgICRFQ0hPICIq
KiogdXNpbmcgYSBmaWxlIG1hZ2ljLiBMYXN0IGZpbGUgY2hlY2tlZDogJHBv
dGxpYiIKCQlmaQoJICAgICAgZmkKCSAgICAgIDs7CgkgICAgKikKCSAgICAg
ICMgQWRkIGEgLUwgYXJndW1lbnQuCgkgICAgICBuZXdkZXBsaWJzKz0iICRh
X2RlcGxpYiIKCSAgICAgIDs7CgkgICAgZXNhYwoJICBkb25lICMgR29uZSB0
aHJvdWdoIGFsbCBkZXBsaWJzLgoJICA7OwoJbWF0Y2hfcGF0dGVybiopCgkg
IHNldCBkdW1teSAkZGVwbGlic19jaGVja19tZXRob2Q7IHNoaWZ0CgkgIG1h
dGNoX3BhdHRlcm5fcmVnZXg9YGV4cHIgIiRkZXBsaWJzX2NoZWNrX21ldGhv
ZCIgOiAiJDEgXCguKlwpImAKCSAgZm9yIGFfZGVwbGliIGluICRkZXBsaWJz
OyBkbwoJICAgIGNhc2UgJGFfZGVwbGliIGluCgkgICAgLWwqKQoJICAgICAg
ZnVuY19zdHJpcG5hbWUgLWwgJycgIiRhX2RlcGxpYiIKCSAgICAgIG5hbWU9
JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJICAgICAgaWYgdGVzdCAiWCRhbGxv
d19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXMiID0gIlh5ZXMi
IDsgdGhlbgoJCWNhc2UgIiAkcHJlZGVwcyAkcG9zdGRlcHMgIiBpbgoJCSoi
ICRhX2RlcGxpYiAiKikKCQkgIG5ld2RlcGxpYnMrPSIgJGFfZGVwbGliIgoJ
CSAgYV9kZXBsaWI9IiIKCQkgIDs7CgkJZXNhYwoJICAgICAgZmkKCSAgICAg
IGlmIHRlc3QgLW4gIiRhX2RlcGxpYiIgOyB0aGVuCgkJbGlibmFtZT1gZXZh
bCAiXFwkRUNITyBcIiRsaWJuYW1lX3NwZWNcIiJgCgkJZm9yIGkgaW4gJGxp
Yl9zZWFyY2hfcGF0aCAkc3lzX2xpYl9zZWFyY2hfcGF0aCAkc2hsaWJfc2Vh
cmNoX3BhdGg7IGRvCgkJICBwb3RlbnRpYWxfbGlicz1gbHMgJGkvJGxpYm5h
bWVbLi1dKiAyPi9kZXYvbnVsbGAKCQkgIGZvciBwb3RlbnRfbGliIGluICRw
b3RlbnRpYWxfbGliczsgZG8KCQkgICAgcG90bGliPSIkcG90ZW50X2xpYiIg
IyBzZWUgc3ltbGluay1jaGVjayBhYm92ZSBpbiBmaWxlX21hZ2ljIHRlc3QK
CQkgICAgaWYgZXZhbCAiXCRFQ0hPIFwiJHBvdGVudF9saWJcIiIgMj4vZGV2
L251bGwgfCAkU0VEIDEwcSB8IFwKCQkgICAgICAgJEVHUkVQICIkbWF0Y2hf
cGF0dGVybl9yZWdleCIgPiAvZGV2L251bGw7IHRoZW4KCQkgICAgICBuZXdk
ZXBsaWJzKz0iICRhX2RlcGxpYiIKCQkgICAgICBhX2RlcGxpYj0iIgoJCSAg
ICAgIGJyZWFrIDIKCQkgICAgZmkKCQkgIGRvbmUKCQlkb25lCgkgICAgICBm
aQoJICAgICAgaWYgdGVzdCAtbiAiJGFfZGVwbGliIiA7IHRoZW4KCQlkcm9w
cGVkZGVwcz15ZXMKCQllY2hvCgkJJEVDSE8gIioqKiBXYXJuaW5nOiBsaW5r
ZXIgcGF0aCBkb2VzIG5vdCBoYXZlIHJlYWwgZmlsZSBmb3IgbGlicmFyeSAk
YV9kZXBsaWIuIgoJCWVjaG8gIioqKiBJIGhhdmUgdGhlIGNhcGFiaWxpdHkg
dG8gbWFrZSB0aGF0IGxpYnJhcnkgYXV0b21hdGljYWxseSBsaW5rIGluIHdo
ZW4iCgkJZWNobyAiKioqIHlvdSBsaW5rIHRvIHRoaXMgbGlicmFyeS4gIEJ1
dCBJIGNhbiBvbmx5IGRvIHRoaXMgaWYgeW91IGhhdmUgYSIKCQllY2hvICIq
Kiogc2hhcmVkIHZlcnNpb24gb2YgdGhlIGxpYnJhcnksIHdoaWNoIHlvdSBk
byBub3QgYXBwZWFyIHRvIGhhdmUiCgkJZWNobyAiKioqIGJlY2F1c2UgSSBk
aWQgY2hlY2sgdGhlIGxpbmtlciBwYXRoIGxvb2tpbmcgZm9yIGEgZmlsZSBz
dGFydGluZyIKCQlpZiB0ZXN0IC16ICIkcG90bGliIiA7IHRoZW4KCQkgICRF
Q0hPICIqKiogd2l0aCAkbGlibmFtZSBidXQgbm8gY2FuZGlkYXRlcyB3ZXJl
IGZvdW5kLiAoLi4uZm9yIHJlZ2V4IHBhdHRlcm4gdGVzdCkiCgkJZWxzZQoJ
CSAgJEVDSE8gIioqKiB3aXRoICRsaWJuYW1lIGFuZCBub25lIG9mIHRoZSBj
YW5kaWRhdGVzIHBhc3NlZCBhIGZpbGUgZm9ybWF0IHRlc3QiCgkJICAkRUNI
TyAiKioqIHVzaW5nIGEgcmVnZXggcGF0dGVybi4gTGFzdCBmaWxlIGNoZWNr
ZWQ6ICRwb3RsaWIiCgkJZmkKCSAgICAgIGZpCgkgICAgICA7OwoJICAgICop
CgkgICAgICAjIEFkZCBhIC1MIGFyZ3VtZW50LgoJICAgICAgbmV3ZGVwbGli
cys9IiAkYV9kZXBsaWIiCgkgICAgICA7OwoJICAgIGVzYWMKCSAgZG9uZSAj
IEdvbmUgdGhyb3VnaCBhbGwgZGVwbGlicy4KCSAgOzsKCW5vbmUgfCB1bmtu
b3duIHwgKikKCSAgbmV3ZGVwbGlicz0iIgoJICB0bXBfZGVwbGlicz1gJEVD
SE8gIiAkZGVwbGlicyIgfCAkU0VEICdzLyAtbGMkLy87IHMvIC1bTFJdW14g
XSovL2cnYAoJICBpZiB0ZXN0ICJYJGFsbG93X2xpYnRvb2xfbGlic193aXRo
X3N0YXRpY19ydW50aW1lcyIgPSAiWHllcyIgOyB0aGVuCgkgICAgZm9yIGkg
aW4gJHByZWRlcHMgJHBvc3RkZXBzIDsgZG8KCSAgICAgICMgY2FuJ3QgdXNl
IFhzZWQgYmVsb3csIGJlY2F1c2UgJGkgbWlnaHQgY29udGFpbiAnLycKCSAg
ICAgIHRtcF9kZXBsaWJzPWAkRUNITyAiICR0bXBfZGVwbGlicyIgfCAkU0VE
ICJzLCRpLCwiYAoJICAgIGRvbmUKCSAgZmkKCSAgY2FzZSAkdG1wX2RlcGxp
YnMgaW4KCSAgKlshXAlcIF0qKQoJICAgIGVjaG8KCSAgICBpZiB0ZXN0ICJY
JGRlcGxpYnNfY2hlY2tfbWV0aG9kIiA9ICJYbm9uZSI7IHRoZW4KCSAgICAg
IGVjaG8gIioqKiBXYXJuaW5nOiBpbnRlci1saWJyYXJ5IGRlcGVuZGVuY2ll
cyBhcmUgbm90IHN1cHBvcnRlZCBpbiB0aGlzIHBsYXRmb3JtLiIKCSAgICBl
bHNlCgkgICAgICBlY2hvICIqKiogV2FybmluZzogaW50ZXItbGlicmFyeSBk
ZXBlbmRlbmNpZXMgYXJlIG5vdCBrbm93biB0byBiZSBzdXBwb3J0ZWQuIgoJ
ICAgIGZpCgkgICAgZWNobyAiKioqIEFsbCBkZWNsYXJlZCBpbnRlci1saWJy
YXJ5IGRlcGVuZGVuY2llcyBhcmUgYmVpbmcgZHJvcHBlZC4iCgkgICAgZHJv
cHBlZGRlcHM9eWVzCgkgICAgOzsKCSAgZXNhYwoJICA7OwoJZXNhYwoJdmVy
c3VmZml4PSR2ZXJzdWZmaXhfc2F2ZQoJbWFqb3I9JG1ham9yX3NhdmUKCXJl
bGVhc2U9JHJlbGVhc2Vfc2F2ZQoJbGlibmFtZT0kbGlibmFtZV9zYXZlCglu
YW1lPSRuYW1lX3NhdmUKCgljYXNlICRob3N0IGluCgkqLSotcmhhcHNvZHkq
IHwgKi0qLWRhcndpbjEuWzAxMl0pCgkgICMgT24gUmhhcHNvZHkgcmVwbGFj
ZSB0aGUgQyBsaWJyYXJ5IHdpdGggdGhlIFN5c3RlbSBmcmFtZXdvcmsKCSAg
bmV3ZGVwbGlicz1gJEVDSE8gIiAkbmV3ZGVwbGlicyIgfCAkU0VEICdzLyAt
bGMgLyBTeXN0ZW0ubHRmcmFtZXdvcmsgLydgCgkgIDs7Cgllc2FjCgoJaWYg
dGVzdCAiJGRyb3BwZWRkZXBzIiA9IHllczsgdGhlbgoJICBpZiB0ZXN0ICIk
bW9kdWxlIiA9IHllczsgdGhlbgoJICAgIGVjaG8KCSAgICBlY2hvICIqKiog
V2FybmluZzogbGlidG9vbCBjb3VsZCBub3Qgc2F0aXNmeSBhbGwgZGVjbGFy
ZWQgaW50ZXItbGlicmFyeSIKCSAgICAkRUNITyAiKioqIGRlcGVuZGVuY2ll
cyBvZiBtb2R1bGUgJGxpYm5hbWUuICBUaGVyZWZvcmUsIGxpYnRvb2wgd2ls
bCBjcmVhdGUiCgkgICAgZWNobyAiKioqIGEgc3RhdGljIG1vZHVsZSwgdGhh
dCBzaG91bGQgd29yayBhcyBsb25nIGFzIHRoZSBkbG9wZW5pbmciCgkgICAg
ZWNobyAiKioqIGFwcGxpY2F0aW9uIGlzIGxpbmtlZCB3aXRoIHRoZSAtZGxv
cGVuIGZsYWcuIgoJICAgIGlmIHRlc3QgLXogIiRnbG9iYWxfc3ltYm9sX3Bp
cGUiOyB0aGVuCgkgICAgICBlY2hvCgkgICAgICBlY2hvICIqKiogSG93ZXZl
ciwgdGhpcyB3b3VsZCBvbmx5IHdvcmsgaWYgbGlidG9vbCB3YXMgYWJsZSB0
byBleHRyYWN0IHN5bWJvbCIKCSAgICAgIGVjaG8gIioqKiBsaXN0cyBmcm9t
IGEgcHJvZ3JhbSwgdXNpbmcgXGBubScgb3IgZXF1aXZhbGVudCwgYnV0IGxp
YnRvb2wgY291bGQiCgkgICAgICBlY2hvICIqKiogbm90IGZpbmQgc3VjaCBh
IHByb2dyYW0uICBTbywgdGhpcyBtb2R1bGUgaXMgcHJvYmFibHkgdXNlbGVz
cy4iCgkgICAgICBlY2hvICIqKiogXGBubScgZnJvbSBHTlUgYmludXRpbHMg
YW5kIGEgZnVsbCByZWJ1aWxkIG1heSBoZWxwLiIKCSAgICBmaQoJICAgIGlm
IHRlc3QgIiRidWlsZF9vbGRfbGlicyIgPSBubzsgdGhlbgoJICAgICAgb2xk
bGlicz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuJGxpYmV4dCIKCSAgICAg
IGJ1aWxkX2xpYnRvb2xfbGlicz1tb2R1bGUKCSAgICAgIGJ1aWxkX29sZF9s
aWJzPXllcwoJICAgIGVsc2UKCSAgICAgIGJ1aWxkX2xpYnRvb2xfbGlicz1u
bwoJICAgIGZpCgkgIGVsc2UKCSAgICBlY2hvICIqKiogVGhlIGludGVyLWxp
YnJhcnkgZGVwZW5kZW5jaWVzIHRoYXQgaGF2ZSBiZWVuIGRyb3BwZWQgaGVy
ZSB3aWxsIGJlIgoJICAgIGVjaG8gIioqKiBhdXRvbWF0aWNhbGx5IGFkZGVk
IHdoZW5ldmVyIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCB0aGlzIGxpYnJh
cnkiCgkgICAgZWNobyAiKioqIG9yIGlzIGRlY2xhcmVkIHRvIC1kbG9wZW4g
aXQuIgoKCSAgICBpZiB0ZXN0ICIkYWxsb3dfdW5kZWZpbmVkIiA9IG5vOyB0
aGVuCgkgICAgICBlY2hvCgkgICAgICBlY2hvICIqKiogU2luY2UgdGhpcyBs
aWJyYXJ5IG11c3Qgbm90IGNvbnRhaW4gdW5kZWZpbmVkIHN5bWJvbHMsIgoJ
ICAgICAgZWNobyAiKioqIGJlY2F1c2UgZWl0aGVyIHRoZSBwbGF0Zm9ybSBk
b2VzIG5vdCBzdXBwb3J0IHRoZW0gb3IiCgkgICAgICBlY2hvICIqKiogaXQg
d2FzIGV4cGxpY2l0bHkgcmVxdWVzdGVkIHdpdGggLW5vLXVuZGVmaW5lZCwi
CgkgICAgICBlY2hvICIqKiogbGlidG9vbCB3aWxsIG9ubHkgY3JlYXRlIGEg
c3RhdGljIHZlcnNpb24gb2YgaXQuIgoJICAgICAgaWYgdGVzdCAiJGJ1aWxk
X29sZF9saWJzIiA9IG5vOyB0aGVuCgkJb2xkbGlicz0iJG91dHB1dF9vYmpk
aXIvJGxpYm5hbWUuJGxpYmV4dCIKCQlidWlsZF9saWJ0b29sX2xpYnM9bW9k
dWxlCgkJYnVpbGRfb2xkX2xpYnM9eWVzCgkgICAgICBlbHNlCgkJYnVpbGRf
bGlidG9vbF9saWJzPW5vCgkgICAgICBmaQoJICAgIGZpCgkgIGZpCglmaQoJ
IyBEb25lIGNoZWNraW5nIGRlcGxpYnMhCglkZXBsaWJzPSRuZXdkZXBsaWJz
CiAgICAgIGZpCiAgICAgICMgVGltZSB0byBjaGFuZ2UgYWxsIG91ciAiZm9v
Lmx0ZnJhbWV3b3JrIiBzdHVmZiBiYWNrIHRvICItZnJhbWV3b3JrIGZvbyIK
ICAgICAgY2FzZSAkaG9zdCBpbgoJKi0qLWRhcndpbiopCgkgIG5ld2RlcGxp
YnM9YCRFQ0hPICIgJG5ld2RlcGxpYnMiIHwgJFNFRCAncyUgXChbXiAkXSpc
KS5sdGZyYW1ld29yayUgLWZyYW1ld29yayBcMSVnJ2AKCSAgbmV3X2luaGVy
aXRlZF9saW5rZXJfZmxhZ3M9YCRFQ0hPICIgJG5ld19pbmhlcml0ZWRfbGlu
a2VyX2ZsYWdzIiB8ICRTRUQgJ3MlIFwoW14gJF0qXCkubHRmcmFtZXdvcmsl
IC1mcmFtZXdvcmsgXDElZydgCgkgIGRlcGxpYnM9YCRFQ0hPICIgJGRlcGxp
YnMiIHwgJFNFRCAncyUgXChbXiAkXSpcKS5sdGZyYW1ld29yayUgLWZyYW1l
d29yayBcMSVnJ2AKCSAgOzsKICAgICAgZXNhYwoKICAgICAgIyBtb3ZlIGxp
YnJhcnkgc2VhcmNoIHBhdGhzIHRoYXQgY29pbmNpZGUgd2l0aCBwYXRocyB0
byBub3QgeWV0CiAgICAgICMgaW5zdGFsbGVkIGxpYnJhcmllcyB0byB0aGUg
YmVnaW5uaW5nIG9mIHRoZSBsaWJyYXJ5IHNlYXJjaCBsaXN0CiAgICAgIG5l
d19saWJzPQogICAgICBmb3IgcGF0aCBpbiAkbm90aW5zdF9wYXRoOyBkbwoJ
Y2FzZSAiICRuZXdfbGlicyAiIGluCgkqIiAtTCRwYXRoLyRvYmpkaXIgIiop
IDs7CgkqKQoJICBjYXNlICIgJGRlcGxpYnMgIiBpbgoJICAqIiAtTCRwYXRo
LyRvYmpkaXIgIiopCgkgICAgbmV3X2xpYnMrPSIgLUwkcGF0aC8kb2JqZGly
IiA7OwoJICBlc2FjCgkgIDs7Cgllc2FjCiAgICAgIGRvbmUKICAgICAgZm9y
IGRlcGxpYiBpbiAkZGVwbGliczsgZG8KCWNhc2UgJGRlcGxpYiBpbgoJLUwq
KQoJICBjYXNlICIgJG5ld19saWJzICIgaW4KCSAgKiIgJGRlcGxpYiAiKikg
OzsKCSAgKikgbmV3X2xpYnMrPSIgJGRlcGxpYiIgOzsKCSAgZXNhYwoJICA7
OwoJKikgbmV3X2xpYnMrPSIgJGRlcGxpYiIgOzsKCWVzYWMKICAgICAgZG9u
ZQogICAgICBkZXBsaWJzPSIkbmV3X2xpYnMiCgogICAgICAjIEFsbCB0aGUg
bGlicmFyeS1zcGVjaWZpYyB2YXJpYWJsZXMgKGluc3RhbGxfbGliZGlyIGlz
IHNldCBhYm92ZSkuCiAgICAgIGxpYnJhcnlfbmFtZXM9CiAgICAgIG9sZF9s
aWJyYXJ5PQogICAgICBkbG5hbWU9CgogICAgICAjIFRlc3QgYWdhaW4sIHdl
IG1heSBoYXZlIGRlY2lkZWQgbm90IHRvIGJ1aWxkIGl0IGFueSBtb3JlCiAg
ICAgIGlmIHRlc3QgIiRidWlsZF9saWJ0b29sX2xpYnMiID0geWVzOyB0aGVu
CgkjIFJlbW92ZSAke3dsfSBpbnN0YW5jZXMgd2hlbiBsaW5raW5nIHdpdGgg
bGQuCgkjIEZJWE1FOiBzaG91bGQgdGVzdCB0aGUgcmlnaHQgX2NtZHMgdmFy
aWFibGUuCgljYXNlICRhcmNoaXZlX2NtZHMgaW4KCSAgKlwkTERcICopIHds
PSA7OwogICAgICAgIGVzYWMKCWlmIHRlc3QgIiRoYXJkY29kZV9pbnRvX2xp
YnMiID0geWVzOyB0aGVuCgkgICMgSGFyZGNvZGUgdGhlIGxpYnJhcnkgcGF0
aHMKCSAgaGFyZGNvZGVfbGliZGlycz0KCSAgZGVwX3JwYXRoPQoJICBycGF0
aD0iJGZpbmFsaXplX3JwYXRoIgoJICB0ZXN0ICIkb3B0X21vZGUiICE9IHJl
bGluayAmJiBycGF0aD0iJGNvbXBpbGVfcnBhdGgkcnBhdGgiCgkgIGZvciBs
aWJkaXIgaW4gJHJwYXRoOyBkbwoJICAgIGlmIHRlc3QgLW4gIiRoYXJkY29k
ZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgoJICAgICAgaWYgdGVzdCAtbiAi
JGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCgkJZnVuY19yZXBs
YWNlX3N5c3Jvb3QgIiRsaWJkaXIiCgkJbGliZGlyPSRmdW5jX3JlcGxhY2Vf
c3lzcm9vdF9yZXN1bHQKCQlpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGly
cyI7IHRoZW4KCQkgIGhhcmRjb2RlX2xpYmRpcnM9IiRsaWJkaXIiCgkJZWxz
ZQoJCSAgIyBKdXN0IGFjY3VtdWxhdGUgdGhlIHVuaXF1ZSBsaWJkaXJzLgoJ
CSAgY2FzZSAkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRoYXJkY29kZV9s
aWJkaXJzJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IgaW4KCQkgICoiJGhh
cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IkbGliZGlyJGhhcmRjb2RlX2xpYmRp
cl9zZXBhcmF0b3IiKikKCQkgICAgOzsKCQkgICopCgkJICAgIGhhcmRjb2Rl
X2xpYmRpcnMrPSIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciRsaWJkaXIi
CgkJICAgIDs7CgkJICBlc2FjCgkJZmkKCSAgICAgIGVsc2UKCQlldmFsIGZs
YWc9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiCgkJZGVwX3JwYXRo
Kz0iICRmbGFnIgoJICAgICAgZmkKCSAgICBlbGlmIHRlc3QgLW4gIiRydW5w
YXRoX3ZhciI7IHRoZW4KCSAgICAgIGNhc2UgIiRwZXJtX3JwYXRoICIgaW4K
CSAgICAgICoiICRsaWJkaXIgIiopIDs7CgkgICAgICAqKSBwZXJtX3JwYXRo
Kz0iICRsaWJkaXIiIDs7CgkgICAgICBlc2FjCgkgICAgZmkKCSAgZG9uZQoJ
ICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRjb2RlZCBsaWJkaXJzIGludG8gdGhl
IHJwYXRoLgoJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFy
YXRvciIgJiYKCSAgICAgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0
aGVuCgkgICAgbGliZGlyPSIkaGFyZGNvZGVfbGliZGlycyIKCSAgICBldmFs
ICJkZXBfcnBhdGg9XCIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlY1wiIgoJ
ICBmaQoJICBpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiICYmIHRlc3QgLW4g
IiRwZXJtX3JwYXRoIjsgdGhlbgoJICAgICMgV2Ugc2hvdWxkIHNldCB0aGUg
cnVucGF0aF92YXIuCgkgICAgcnBhdGg9CgkgICAgZm9yIGRpciBpbiAkcGVy
bV9ycGF0aDsgZG8KCSAgICAgIHJwYXRoKz0iJGRpcjoiCgkgICAgZG9uZQoJ
ICAgIGV2YWwgIiRydW5wYXRoX3Zhcj0nJHJwYXRoXCQkcnVucGF0aF92YXIn
OyBleHBvcnQgJHJ1bnBhdGhfdmFyIgoJICBmaQoJICB0ZXN0IC1uICIkZGVw
X3JwYXRoIiAmJiBkZXBsaWJzPSIkZGVwX3JwYXRoICRkZXBsaWJzIgoJZmkK
CglzaGxpYnBhdGg9IiRmaW5hbGl6ZV9zaGxpYnBhdGgiCgl0ZXN0ICIkb3B0
X21vZGUiICE9IHJlbGluayAmJiBzaGxpYnBhdGg9IiRjb21waWxlX3NobGli
cGF0aCRzaGxpYnBhdGgiCglpZiB0ZXN0IC1uICIkc2hsaWJwYXRoIjsgdGhl
bgoJICBldmFsICIkc2hsaWJwYXRoX3Zhcj0nJHNobGlicGF0aFwkJHNobGli
cGF0aF92YXInOyBleHBvcnQgJHNobGlicGF0aF92YXIiCglmaQoKCSMgR2V0
IHRoZSByZWFsIGFuZCBsaW5rIG5hbWVzIG9mIHRoZSBsaWJyYXJ5LgoJZXZh
bCBzaGFyZWRfZXh0PVwiJHNocmV4dF9jbWRzXCIKCWV2YWwgbGlicmFyeV9u
YW1lcz1cIiRsaWJyYXJ5X25hbWVzX3NwZWNcIgoJc2V0IGR1bW15ICRsaWJy
YXJ5X25hbWVzCglzaGlmdAoJcmVhbG5hbWU9IiQxIgoJc2hpZnQKCglpZiB0
ZXN0IC1uICIkc29uYW1lX3NwZWMiOyB0aGVuCgkgIGV2YWwgc29uYW1lPVwi
JHNvbmFtZV9zcGVjXCIKCWVsc2UKCSAgc29uYW1lPSIkcmVhbG5hbWUiCglm
aQoJaWYgdGVzdCAteiAiJGRsbmFtZSI7IHRoZW4KCSAgZGxuYW1lPSRzb25h
bWUKCWZpCgoJbGliPSIkb3V0cHV0X29iamRpci8kcmVhbG5hbWUiCglsaW5r
bmFtZXM9Cglmb3IgbGluawoJZG8KCSAgbGlua25hbWVzKz0iICRsaW5rIgoJ
ZG9uZQoKCSMgVXNlIHN0YW5kYXJkIG9iamVjdHMgaWYgdGhleSBhcmUgcGlj
Cgl0ZXN0IC16ICIkcGljX2ZsYWciICYmIGxpYm9ianM9YCRFQ0hPICIkbGli
b2JqcyIgfCAkU1AyTkwgfCAkU0VEICIkbG8ybyIgfCAkTkwyU1BgCgl0ZXN0
ICJYJGxpYm9ianMiID0gIlggIiAmJiBsaWJvYmpzPQoKCWRlbGZpbGVzPQoJ
aWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1uICIkaW5j
bHVkZV9leHBzeW1zIjsgdGhlbgoJICAkb3B0X2RyeV9ydW4gfHwgY3AgIiRl
eHBvcnRfc3ltYm9scyIgIiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLnVleHAi
CgkgIGV4cG9ydF9zeW1ib2xzPSIkb3V0cHV0X29iamRpci8kbGlibmFtZS51
ZXhwIgoJICBkZWxmaWxlcys9IiAkZXhwb3J0X3N5bWJvbHMiCglmaQoKCW9y
aWdfZXhwb3J0X3N5bWJvbHM9CgljYXNlICRob3N0X29zIGluCgljeWd3aW4q
IHwgbWluZ3cqIHwgY2VnY2MqKQoJICBpZiB0ZXN0IC1uICIkZXhwb3J0X3N5
bWJvbHMiICYmIHRlc3QgLXogIiRleHBvcnRfc3ltYm9sc19yZWdleCI7IHRo
ZW4KCSAgICAjIGV4cG9ydGluZyB1c2luZyB1c2VyIHN1cHBsaWVkIHN5bWZp
bGUKCSAgICBpZiB0ZXN0ICJ4YCRTRUQgMXEgJGV4cG9ydF9zeW1ib2xzYCIg
IT0geEVYUE9SVFM7IHRoZW4KCSAgICAgICMgYW5kIGl0J3MgTk9UIGFscmVh
ZHkgYSAuZGVmIGZpbGUuIE11c3QgZmlndXJlIG91dAoJICAgICAgIyB3aGlj
aCBvZiB0aGUgZ2l2ZW4gc3ltYm9scyBhcmUgZGF0YSBzeW1ib2xzIGFuZCB0
YWcKCSAgICAgICMgdGhlbSBhcyBzdWNoLiBTbywgdHJpZ2dlciB1c2Ugb2Yg
ZXhwb3J0X3N5bWJvbHNfY21kcy4KCSAgICAgICMgZXhwb3J0X3N5bWJvbHMg
Z2V0cyByZWFzc2lnbmVkIGluc2lkZSB0aGUgInByZXBhcmUKCSAgICAgICMg
dGhlIGxpc3Qgb2YgZXhwb3J0ZWQgc3ltYm9scyIgaWYgc3RhdGVtZW50LCBz
byB0aGUKCSAgICAgICMgaW5jbHVkZV9leHBzeW1zIGxvZ2ljIHN0aWxsIHdv
cmtzLgoJICAgICAgb3JpZ19leHBvcnRfc3ltYm9scz0iJGV4cG9ydF9zeW1i
b2xzIgoJICAgICAgZXhwb3J0X3N5bWJvbHM9CgkgICAgICBhbHdheXNfZXhw
b3J0X3N5bWJvbHM9eWVzCgkgICAgZmkKCSAgZmkKCSAgOzsKCWVzYWMKCgkj
IFByZXBhcmUgdGhlIGxpc3Qgb2YgZXhwb3J0ZWQgc3ltYm9scwoJaWYgdGVz
dCAteiAiJGV4cG9ydF9zeW1ib2xzIjsgdGhlbgoJICBpZiB0ZXN0ICIkYWx3
YXlzX2V4cG9ydF9zeW1ib2xzIiA9IHllcyB8fCB0ZXN0IC1uICIkZXhwb3J0
X3N5bWJvbHNfcmVnZXgiOyB0aGVuCgkgICAgZnVuY192ZXJib3NlICJnZW5l
cmF0aW5nIHN5bWJvbCBsaXN0IGZvciBcYCRsaWJuYW1lLmxhJyIKCSAgICBl
eHBvcnRfc3ltYm9scz0iJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuZXhwIgoJ
ICAgICRvcHRfZHJ5X3J1biB8fCAkUk0gJGV4cG9ydF9zeW1ib2xzCgkgICAg
Y21kcz0kZXhwb3J0X3N5bWJvbHNfY21kcwoJICAgIHNhdmVfaWZzPSIkSUZT
IjsgSUZTPSd+JwoJICAgIGZvciBjbWQxIGluICRjbWRzOyBkbwoJICAgICAg
SUZTPSIkc2F2ZV9pZnMiCgkgICAgICAjIFRha2UgdGhlIG5vcm1hbCBicmFu
Y2ggaWYgdGhlIG5tX2ZpbGVfbGlzdF9zcGVjIGJyYW5jaAoJICAgICAgIyBk
b2Vzbid0IHdvcmsgb3IgaWYgdG9vbCBjb252ZXJzaW9uIGlzIG5vdCBuZWVk
ZWQuCgkgICAgICBjYXNlICRubV9maWxlX2xpc3Rfc3BlY34kdG9fdG9vbF9m
aWxlX2NtZCBpbgoJCSp+ZnVuY19jb252ZXJ0X2ZpbGVfbm9vcCB8ICp+ZnVu
Y19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIgfCB+KikKCQkgIHRyeV9ub3Jt
YWxfYnJhbmNoPXllcwoJCSAgZXZhbCBjbWQ9XCIkY21kMVwiCgkJICBmdW5j
X2xlbiAiICRjbWQiCgkJICBsZW49JGZ1bmNfbGVuX3Jlc3VsdAoJCSAgOzsK
CQkqKQoJCSAgdHJ5X25vcm1hbF9icmFuY2g9bm8KCQkgIDs7CgkgICAgICBl
c2FjCgkgICAgICBpZiB0ZXN0ICIkdHJ5X25vcm1hbF9icmFuY2giID0geWVz
IFwKCQkgJiYgeyB0ZXN0ICIkbGVuIiAtbHQgIiRtYXhfY21kX2xlbiIgXAoJ
CSAgICAgIHx8IHRlc3QgIiRtYXhfY21kX2xlbiIgLWxlIC0xOyB9CgkgICAg
ICB0aGVuCgkJZnVuY19zaG93X2V2YWwgIiRjbWQiICdleGl0ICQ/JwoJCXNr
aXBwZWRfZXhwb3J0PWZhbHNlCgkgICAgICBlbGlmIHRlc3QgLW4gIiRubV9m
aWxlX2xpc3Rfc3BlYyI7IHRoZW4KCQlmdW5jX2Jhc2VuYW1lICIkb3V0cHV0
IgoJCW91dHB1dF9sYT0kZnVuY19iYXNlbmFtZV9yZXN1bHQKCQlzYXZlX2xp
Ym9ianM9JGxpYm9ianMKCQlzYXZlX291dHB1dD0kb3V0cHV0CgkJb3V0cHV0
PSR7b3V0cHV0X29iamRpcn0vJHtvdXRwdXRfbGF9Lm5tCgkJZnVuY190b190
b29sX2ZpbGUgIiRvdXRwdXQiCgkJbGlib2Jqcz0kbm1fZmlsZV9saXN0X3Nw
ZWMkZnVuY190b190b29sX2ZpbGVfcmVzdWx0CgkJZGVsZmlsZXMrPSIgJG91
dHB1dCIKCQlmdW5jX3ZlcmJvc2UgImNyZWF0aW5nICROTSBpbnB1dCBmaWxl
IGxpc3Q6ICRvdXRwdXQiCgkJZm9yIG9iaiBpbiAkc2F2ZV9saWJvYmpzOyBk
bwoJCSAgZnVuY190b190b29sX2ZpbGUgIiRvYmoiCgkJICAkRUNITyAiJGZ1
bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCIKCQlkb25lID4gIiRvdXRwdXQiCgkJ
ZXZhbCBjbWQ9XCIkY21kMVwiCgkJZnVuY19zaG93X2V2YWwgIiRjbWQiICdl
eGl0ICQ/JwoJCW91dHB1dD0kc2F2ZV9vdXRwdXQKCQlsaWJvYmpzPSRzYXZl
X2xpYm9ianMKCQlza2lwcGVkX2V4cG9ydD1mYWxzZQoJICAgICAgZWxzZQoJ
CSMgVGhlIGNvbW1hbmQgbGluZSBpcyB0b28gbG9uZyB0byBleGVjdXRlIGlu
IG9uZSBzdGVwLgoJCWZ1bmNfdmVyYm9zZSAidXNpbmcgcmVsb2FkYWJsZSBv
YmplY3QgZmlsZSBmb3IgZXhwb3J0IGxpc3QuLi4iCgkJc2tpcHBlZF9leHBv
cnQ9OgoJCSMgQnJlYWsgb3V0IGVhcmx5LCBvdGhlcndpc2Ugc2tpcHBlZF9l
eHBvcnQgbWF5IGJlCgkJIyBzZXQgdG8gZmFsc2UgYnkgYSBsYXRlciBidXQg
c2hvcnRlciBjbWQuCgkJYnJlYWsKCSAgICAgIGZpCgkgICAgZG9uZQoJICAg
IElGUz0iJHNhdmVfaWZzIgoJICAgIGlmIHRlc3QgLW4gIiRleHBvcnRfc3lt
Ym9sc19yZWdleCIgJiYgdGVzdCAiWCRza2lwcGVkX2V4cG9ydCIgIT0gIlg6
IjsgdGhlbgoJICAgICAgZnVuY19zaG93X2V2YWwgJyRFR1JFUCAtZSAiJGV4
cG9ydF9zeW1ib2xzX3JlZ2V4IiAiJGV4cG9ydF9zeW1ib2xzIiA+ICIke2V4
cG9ydF9zeW1ib2xzfVQiJwoJICAgICAgZnVuY19zaG93X2V2YWwgJyRNViAi
JHtleHBvcnRfc3ltYm9sc31UIiAiJGV4cG9ydF9zeW1ib2xzIicKCSAgICBm
aQoJICBmaQoJZmkKCglpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiICYm
IHRlc3QgLW4gIiRpbmNsdWRlX2V4cHN5bXMiOyB0aGVuCgkgIHRtcF9leHBv
cnRfc3ltYm9scz0iJGV4cG9ydF9zeW1ib2xzIgoJICB0ZXN0IC1uICIkb3Jp
Z19leHBvcnRfc3ltYm9scyIgJiYgdG1wX2V4cG9ydF9zeW1ib2xzPSIkb3Jp
Z19leHBvcnRfc3ltYm9scyIKCSAgJG9wdF9kcnlfcnVuIHx8IGV2YWwgJyRF
Q0hPICIkaW5jbHVkZV9leHBzeW1zIiB8ICRTUDJOTCA+PiAiJHRtcF9leHBv
cnRfc3ltYm9scyInCglmaQoKCWlmIHRlc3QgIlgkc2tpcHBlZF9leHBvcnQi
ICE9ICJYOiIgJiYgdGVzdCAtbiAiJG9yaWdfZXhwb3J0X3N5bWJvbHMiOyB0
aGVuCgkgICMgVGhlIGdpdmVuIGV4cG9ydHNfc3ltYm9scyBmaWxlIGhhcyB0
byBiZSBmaWx0ZXJlZCwgc28gZmlsdGVyIGl0LgoJICBmdW5jX3ZlcmJvc2Ug
ImZpbHRlciBzeW1ib2wgbGlzdCBmb3IgXGAkbGlibmFtZS5sYScgdG8gdGFn
IERBVEEgZXhwb3J0cyIKCSAgIyBGSVhNRTogJG91dHB1dF9vYmpkaXIvJGxp
Ym5hbWUuZmlsdGVyIHBvdGVudGlhbGx5IGNvbnRhaW5zIGxvdHMgb2YKCSAg
IyAncycgY29tbWFuZHMgd2hpY2ggbm90IGFsbCBzZWRzIGNhbiBoYW5kbGUu
IEdOVSBzZWQgc2hvdWxkIGJlIGZpbmUKCSAgIyB0aG91Z2guIEFsc28sIHRo
ZSBmaWx0ZXIgc2NhbGVzIHN1cGVybGluZWFybHkgd2l0aCB0aGUgbnVtYmVy
IG9mCgkgICMgZ2xvYmFsIHZhcmlhYmxlcy4gam9pbigxKSB3b3VsZCBiZSBu
aWNlIGhlcmUsIGJ1dCB1bmZvcnR1bmF0ZWx5CgkgICMgaXNuJ3QgYSBibGVz
c2VkIHRvb2wuCgkgICRvcHRfZHJ5X3J1biB8fCAkU0VEIC1lICcvWyAsXURB
VEEvIWQ7cyxcKC4qXClcKFsgXCxdLipcKSxzfF5cMSR8XDFcMnwsJyA8ICRl
eHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRl
cgoJICBkZWxmaWxlcys9IiAkZXhwb3J0X3N5bWJvbHMgJG91dHB1dF9vYmpk
aXIvJGxpYm5hbWUuZmlsdGVyIgoJICBleHBvcnRfc3ltYm9scz0kb3V0cHV0
X29iamRpci8kbGlibmFtZS5kZWYKCSAgJG9wdF9kcnlfcnVuIHx8ICRTRUQg
LWYgJG91dHB1dF9vYmpkaXIvJGxpYm5hbWUuZmlsdGVyIDwgJG9yaWdfZXhw
b3J0X3N5bWJvbHMgPiAkZXhwb3J0X3N5bWJvbHMKCWZpCgoJdG1wX2RlcGxp
YnM9Cglmb3IgdGVzdF9kZXBsaWIgaW4gJGRlcGxpYnM7IGRvCgkgIGNhc2Ug
IiAkY29udmVuaWVuY2UgIiBpbgoJICAqIiAkdGVzdF9kZXBsaWIgIiopIDs7
CgkgICopCgkgICAgdG1wX2RlcGxpYnMrPSIgJHRlc3RfZGVwbGliIgoJICAg
IDs7CgkgIGVzYWMKCWRvbmUKCWRlcGxpYnM9IiR0bXBfZGVwbGlicyIKCglp
ZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiOyB0aGVuCgkgIGlmIHRlc3QgLW4g
IiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyIgJiYKCSAgICB0ZXN0ICIkY29t
cGlsZXJfbmVlZHNfb2JqZWN0IiA9IHllcyAmJgoJICAgIHRlc3QgLXogIiRs
aWJvYmpzIjsgdGhlbgoJICAgICMgZXh0cmFjdCB0aGUgYXJjaGl2ZXMsIHNv
IHdlIGhhdmUgb2JqZWN0cyB0byBsaXN0LgoJICAgICMgVE9ETzogY291bGQg
b3B0aW1pemUgdGhpcyB0byBqdXN0IGV4dHJhY3Qgb25lIGFyY2hpdmUuCgkg
ICAgd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9CgkgIGZpCgkgIGlmIHRlc3Qg
LW4gIiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyI7IHRoZW4KCSAgICBzYXZl
X2xpYm9ianM9JGxpYm9ianMKCSAgICBldmFsIGxpYm9ianM9XCJcJGxpYm9i
anMgJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVjXCIKCSAgICB0ZXN0ICJYJGxp
Ym9ianMiID0gIlggIiAmJiBsaWJvYmpzPQoJICBlbHNlCgkgICAgZ2VudG9w
PSIkb3V0cHV0X29iamRpci8ke291dHB1dG5hbWV9eCIKCSAgICBnZW5lcmF0
ZWQrPSIgJGdlbnRvcCIKCgkgICAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRn
ZW50b3AgJGNvbnZlbmllbmNlCgkgICAgbGlib2Jqcys9IiAkZnVuY19leHRy
YWN0X2FyY2hpdmVzX3Jlc3VsdCIKCSAgICB0ZXN0ICJYJGxpYm9ianMiID0g
IlggIiAmJiBsaWJvYmpzPQoJICBmaQoJZmkKCglpZiB0ZXN0ICIkdGhyZWFk
X3NhZmUiID0geWVzICYmIHRlc3QgLW4gIiR0aHJlYWRfc2FmZV9mbGFnX3Nw
ZWMiOyB0aGVuCgkgIGV2YWwgZmxhZz1cIiR0aHJlYWRfc2FmZV9mbGFnX3Nw
ZWNcIgoJICBsaW5rZXJfZmxhZ3MrPSIgJGZsYWciCglmaQoKCSMgTWFrZSBh
IGJhY2t1cCBvZiB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSB3aGVuIHJlbGlu
a2luZwoJaWYgdGVzdCAiJG9wdF9tb2RlIiA9IHJlbGluazsgdGhlbgoJICAk
b3B0X2RyeV9ydW4gfHwgZXZhbCAnKGNkICRvdXRwdXRfb2JqZGlyICYmICRS
TSAke3JlYWxuYW1lfVUgJiYgJE1WICRyZWFsbmFtZSAke3JlYWxuYW1lfVUp
JyB8fCBleGl0ICQ/CglmaQoKCSMgRG8gZWFjaCBvZiB0aGUgYXJjaGl2ZSBj
b21tYW5kcy4KCWlmIHRlc3QgIiRtb2R1bGUiID0geWVzICYmIHRlc3QgLW4g
IiRtb2R1bGVfY21kcyIgOyB0aGVuCgkgIGlmIHRlc3QgLW4gIiRleHBvcnRf
c3ltYm9scyIgJiYgdGVzdCAtbiAiJG1vZHVsZV9leHBzeW1fY21kcyI7IHRo
ZW4KCSAgICBldmFsIHRlc3RfY21kcz1cIiRtb2R1bGVfZXhwc3ltX2NtZHNc
IgoJICAgIGNtZHM9JG1vZHVsZV9leHBzeW1fY21kcwoJICBlbHNlCgkgICAg
ZXZhbCB0ZXN0X2NtZHM9XCIkbW9kdWxlX2NtZHNcIgoJICAgIGNtZHM9JG1v
ZHVsZV9jbWRzCgkgIGZpCgllbHNlCgkgIGlmIHRlc3QgLW4gIiRleHBvcnRf
c3ltYm9scyIgJiYgdGVzdCAtbiAiJGFyY2hpdmVfZXhwc3ltX2NtZHMiOyB0
aGVuCgkgICAgZXZhbCB0ZXN0X2NtZHM9XCIkYXJjaGl2ZV9leHBzeW1fY21k
c1wiCgkgICAgY21kcz0kYXJjaGl2ZV9leHBzeW1fY21kcwoJICBlbHNlCgkg
ICAgZXZhbCB0ZXN0X2NtZHM9XCIkYXJjaGl2ZV9jbWRzXCIKCSAgICBjbWRz
PSRhcmNoaXZlX2NtZHMKCSAgZmkKCWZpCgoJaWYgdGVzdCAiWCRza2lwcGVk
X2V4cG9ydCIgIT0gIlg6IiAmJgoJICAgZnVuY19sZW4gIiAkdGVzdF9jbWRz
IiAmJgoJICAgbGVuPSRmdW5jX2xlbl9yZXN1bHQgJiYKCSAgIHRlc3QgIiRs
ZW4iIC1sdCAiJG1heF9jbWRfbGVuIiB8fCB0ZXN0ICIkbWF4X2NtZF9sZW4i
IC1sZSAtMTsgdGhlbgoJICA6CgllbHNlCgkgICMgVGhlIGNvbW1hbmQgbGlu
ZSBpcyB0b28gbG9uZyB0byBsaW5rIGluIG9uZSBzdGVwLCBsaW5rIHBpZWNl
d2lzZQoJICAjIG9yLCBpZiB1c2luZyBHTlUgbGQgYW5kIHNraXBwZWRfZXhw
b3J0IGlzIG5vdCA6LCB1c2UgYSBsaW5rZXIKCSAgIyBzY3JpcHQuCgoJICAj
IFNhdmUgdGhlIHZhbHVlIG9mICRvdXRwdXQgYW5kICRsaWJvYmpzIGJlY2F1
c2Ugd2Ugd2FudCB0bwoJICAjIHVzZSB0aGVtIGxhdGVyLiAgSWYgd2UgaGF2
ZSB3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYywgd2UKCSAgIyB3YW50IHRvIHVz
ZSBzYXZlX2xpYm9ianMgYXMgaXQgd2FzIGJlZm9yZQoJICAjIHdob2xlX2Fy
Y2hpdmVfZmxhZ19zcGVjIHdhcyBleHBhbmRlZCwgYmVjYXVzZSB3ZSBjYW4n
dAoJICAjIGFzc3VtZSB0aGUgbGlua2VyIHVuZGVyc3RhbmRzIHdob2xlX2Fy
Y2hpdmVfZmxhZ19zcGVjLgoJICAjIFRoaXMgbWF5IGhhdmUgdG8gYmUgcmV2
aXNpdGVkLCBpbiBjYXNlIHRvbyBtYW55CgkgICMgY29udmVuaWVuY2UgbGli
cmFyaWVzIGdldCBsaW5rZWQgaW4gYW5kIGVuZCB1cCBleGNlZWRpbmcKCSAg
IyB0aGUgc3BlYy4KCSAgaWYgdGVzdCAteiAiJGNvbnZlbmllbmNlIiB8fCB0
ZXN0IC16ICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkgICAg
c2F2ZV9saWJvYmpzPSRsaWJvYmpzCgkgIGZpCgkgIHNhdmVfb3V0cHV0PSRv
dXRwdXQKCSAgZnVuY19iYXNlbmFtZSAiJG91dHB1dCIKCSAgb3V0cHV0X2xh
PSRmdW5jX2Jhc2VuYW1lX3Jlc3VsdAoKCSAgIyBDbGVhciB0aGUgcmVsb2Fk
YWJsZSBvYmplY3QgY3JlYXRpb24gY29tbWFuZCBxdWV1ZSBhbmQKCSAgIyBp
bml0aWFsaXplIGsgdG8gb25lLgoJICB0ZXN0X2NtZHM9CgkgIGNvbmNhdF9j
bWRzPQoJICBvYmpsaXN0PQoJICBsYXN0X3JvYmo9CgkgIGs9MQoKCSAgaWYg
dGVzdCAtbiAiJHNhdmVfbGlib2JqcyIgJiYgdGVzdCAiWCRza2lwcGVkX2V4
cG9ydCIgIT0gIlg6IiAmJiB0ZXN0ICIkd2l0aF9nbnVfbGQiID0geWVzOyB0
aGVuCgkgICAgb3V0cHV0PSR7b3V0cHV0X29iamRpcn0vJHtvdXRwdXRfbGF9
Lmxua3NjcmlwdAoJICAgIGZ1bmNfdmVyYm9zZSAiY3JlYXRpbmcgR05VIGxk
IHNjcmlwdDogJG91dHB1dCIKCSAgICBlY2hvICdJTlBVVCAoJyA+ICRvdXRw
dXQKCSAgICBmb3Igb2JqIGluICRzYXZlX2xpYm9ianMKCSAgICBkbwoJICAg
ICAgZnVuY190b190b29sX2ZpbGUgIiRvYmoiCgkgICAgICAkRUNITyAiJGZ1
bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCIgPj4gJG91dHB1dAoJICAgIGRvbmUK
CSAgICBlY2hvICcpJyA+PiAkb3V0cHV0CgkgICAgZGVsZmlsZXMrPSIgJG91
dHB1dCIKCSAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dCIKCSAgICBv
dXRwdXQ9JGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdAoJICBlbGlmIHRlc3Qg
LW4gIiRzYXZlX2xpYm9ianMiICYmIHRlc3QgIlgkc2tpcHBlZF9leHBvcnQi
ICE9ICJYOiIgJiYgdGVzdCAiWCRmaWxlX2xpc3Rfc3BlYyIgIT0gWDsgdGhl
bgoJICAgIG91dHB1dD0ke291dHB1dF9vYmpkaXJ9LyR7b3V0cHV0X2xhfS5s
bmsKCSAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5nIGxpbmtlciBpbnB1dCBm
aWxlIGxpc3Q6ICRvdXRwdXQiCgkgICAgOiA+ICRvdXRwdXQKCSAgICBzZXQg
eCAkc2F2ZV9saWJvYmpzCgkgICAgc2hpZnQKCSAgICBmaXJzdG9iaj0KCSAg
ICBpZiB0ZXN0ICIkY29tcGlsZXJfbmVlZHNfb2JqZWN0IiA9IHllczsgdGhl
bgoJICAgICAgZmlyc3RvYmo9IiQxICIKCSAgICAgIHNoaWZ0CgkgICAgZmkK
CSAgICBmb3Igb2JqCgkgICAgZG8KCSAgICAgIGZ1bmNfdG9fdG9vbF9maWxl
ICIkb2JqIgoJICAgICAgJEVDSE8gIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1
bHQiID4+ICRvdXRwdXQKCSAgICBkb25lCgkgICAgZGVsZmlsZXMrPSIgJG91
dHB1dCIKCSAgICBmdW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dCIKCSAgICBv
dXRwdXQ9JGZpcnN0b2JqXCIkZmlsZV9saXN0X3NwZWMkZnVuY190b190b29s
X2ZpbGVfcmVzdWx0XCIKCSAgZWxzZQoJICAgIGlmIHRlc3QgLW4gIiRzYXZl
X2xpYm9ianMiOyB0aGVuCgkgICAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5n
IHJlbG9hZGFibGUgb2JqZWN0IGZpbGVzLi4uIgoJICAgICAgb3V0cHV0PSRv
dXRwdXRfb2JqZGlyLyRvdXRwdXRfbGEtJHtrfS4kb2JqZXh0CgkgICAgICBl
dmFsIHRlc3RfY21kcz1cIiRyZWxvYWRfY21kc1wiCgkgICAgICBmdW5jX2xl
biAiICR0ZXN0X2NtZHMiCgkgICAgICBsZW4wPSRmdW5jX2xlbl9yZXN1bHQK
CSAgICAgIGxlbj0kbGVuMAoKCSAgICAgICMgTG9vcCBvdmVyIHRoZSBsaXN0
IG9mIG9iamVjdHMgdG8gYmUgbGlua2VkLgoJICAgICAgZm9yIG9iaiBpbiAk
c2F2ZV9saWJvYmpzCgkgICAgICBkbwoJCWZ1bmNfbGVuICIgJG9iaiIKCQlm
dW5jX2FyaXRoICRsZW4gKyAkZnVuY19sZW5fcmVzdWx0CgkJbGVuPSRmdW5j
X2FyaXRoX3Jlc3VsdAoJCWlmIHRlc3QgIlgkb2JqbGlzdCIgPSBYIHx8CgkJ
ICAgdGVzdCAiJGxlbiIgLWx0ICIkbWF4X2NtZF9sZW4iOyB0aGVuCgkJICBv
YmpsaXN0Kz0iICRvYmoiCgkJZWxzZQoJCSAgIyBUaGUgY29tbWFuZCAkdGVz
dF9jbWRzIGlzIGFsbW9zdCB0b28gbG9uZywgYWRkIGEKCQkgICMgY29tbWFu
ZCB0byB0aGUgcXVldWUuCgkJICBpZiB0ZXN0ICIkayIgLWVxIDEgOyB0aGVu
CgkJICAgICMgVGhlIGZpcnN0IGZpbGUgZG9lc24ndCBoYXZlIGEgcHJldmlv
dXMgY29tbWFuZCB0byBhZGQuCgkJICAgIHJlbG9hZF9vYmpzPSRvYmpsaXN0
CgkJICAgIGV2YWwgY29uY2F0X2NtZHM9XCIkcmVsb2FkX2NtZHNcIgoJCSAg
ZWxzZQoJCSAgICAjIEFsbCBzdWJzZXF1ZW50IHJlbG9hZGFibGUgb2JqZWN0
IGZpbGVzIHdpbGwgbGluayBpbgoJCSAgICAjIHRoZSBsYXN0IG9uZSBjcmVh
dGVkLgoJCSAgICByZWxvYWRfb2Jqcz0iJG9iamxpc3QgJGxhc3Rfcm9iaiIK
CQkgICAgZXZhbCBjb25jYXRfY21kcz1cIlwkY29uY2F0X2NtZHN+JHJlbG9h
ZF9jbWRzflwkUk0gJGxhc3Rfcm9ialwiCgkJICBmaQoJCSAgbGFzdF9yb2Jq
PSRvdXRwdXRfb2JqZGlyLyRvdXRwdXRfbGEtJHtrfS4kb2JqZXh0CgkJICBm
dW5jX2FyaXRoICRrICsgMQoJCSAgaz0kZnVuY19hcml0aF9yZXN1bHQKCQkg
IG91dHB1dD0kb3V0cHV0X29iamRpci8kb3V0cHV0X2xhLSR7a30uJG9iamV4
dAoJCSAgb2JqbGlzdD0iICRvYmoiCgkJICBmdW5jX2xlbiAiICRsYXN0X3Jv
YmoiCgkJICBmdW5jX2FyaXRoICRsZW4wICsgJGZ1bmNfbGVuX3Jlc3VsdAoJ
CSAgbGVuPSRmdW5jX2FyaXRoX3Jlc3VsdAoJCWZpCgkgICAgICBkb25lCgkg
ICAgICAjIEhhbmRsZSB0aGUgcmVtYWluaW5nIG9iamVjdHMgYnkgY3JlYXRp
bmcgb25lIGxhc3QKCSAgICAgICMgcmVsb2FkYWJsZSBvYmplY3QgZmlsZS4g
IEFsbCBzdWJzZXF1ZW50IHJlbG9hZGFibGUgb2JqZWN0CgkgICAgICAjIGZp
bGVzIHdpbGwgbGluayBpbiB0aGUgbGFzdCBvbmUgY3JlYXRlZC4KCSAgICAg
IHRlc3QgLXogIiRjb25jYXRfY21kcyIgfHwgY29uY2F0X2NtZHM9JGNvbmNh
dF9jbWRzfgoJICAgICAgcmVsb2FkX29ianM9IiRvYmpsaXN0ICRsYXN0X3Jv
YmoiCgkgICAgICBldmFsIGNvbmNhdF9jbWRzPVwiXCR7Y29uY2F0X2NtZHN9
JHJlbG9hZF9jbWRzXCIKCSAgICAgIGlmIHRlc3QgLW4gIiRsYXN0X3JvYmoi
OyB0aGVuCgkgICAgICAgIGV2YWwgY29uY2F0X2NtZHM9XCJcJHtjb25jYXRf
Y21kc31+XCRSTSAkbGFzdF9yb2JqXCIKCSAgICAgIGZpCgkgICAgICBkZWxm
aWxlcys9IiAkb3V0cHV0IgoKCSAgICBlbHNlCgkgICAgICBvdXRwdXQ9Cgkg
ICAgZmkKCgkgICAgaWYgJHtza2lwcGVkX2V4cG9ydC1mYWxzZX07IHRoZW4K
CSAgICAgIGZ1bmNfdmVyYm9zZSAiZ2VuZXJhdGluZyBzeW1ib2wgbGlzdCBm
b3IgXGAkbGlibmFtZS5sYSciCgkgICAgICBleHBvcnRfc3ltYm9scz0iJG91
dHB1dF9vYmpkaXIvJGxpYm5hbWUuZXhwIgoJICAgICAgJG9wdF9kcnlfcnVu
IHx8ICRSTSAkZXhwb3J0X3N5bWJvbHMKCSAgICAgIGxpYm9ianM9JG91dHB1
dAoJICAgICAgIyBBcHBlbmQgdGhlIGNvbW1hbmQgdG8gY3JlYXRlIHRoZSBl
eHBvcnQgZmlsZS4KCSAgICAgIHRlc3QgLXogIiRjb25jYXRfY21kcyIgfHwg
Y29uY2F0X2NtZHM9JGNvbmNhdF9jbWRzfgoJICAgICAgZXZhbCBjb25jYXRf
Y21kcz1cIlwkY29uY2F0X2NtZHMkZXhwb3J0X3N5bWJvbHNfY21kc1wiCgkg
ICAgICBpZiB0ZXN0IC1uICIkbGFzdF9yb2JqIjsgdGhlbgoJCWV2YWwgY29u
Y2F0X2NtZHM9XCJcJGNvbmNhdF9jbWRzflwkUk0gJGxhc3Rfcm9ialwiCgkg
ICAgICBmaQoJICAgIGZpCgoJICAgIHRlc3QgLW4gIiRzYXZlX2xpYm9ianMi
ICYmCgkgICAgICBmdW5jX3ZlcmJvc2UgImNyZWF0aW5nIGEgdGVtcG9yYXJ5
IHJlbG9hZGFibGUgb2JqZWN0IGZpbGU6ICRvdXRwdXQiCgoJICAgICMgTG9v
cCB0aHJvdWdoIHRoZSBjb21tYW5kcyBnZW5lcmF0ZWQgYWJvdmUgYW5kIGV4
ZWN1dGUgdGhlbS4KCSAgICBzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCSAg
ICBmb3IgY21kIGluICRjb25jYXRfY21kczsgZG8KCSAgICAgIElGUz0iJHNh
dmVfaWZzIgoJICAgICAgJG9wdF9zaWxlbnQgfHwgewoJCSAgZnVuY19xdW90
ZV9mb3JfZXhwYW5kICIkY21kIgoJCSAgZXZhbCAiZnVuY19lY2hvICRmdW5j
X3F1b3RlX2Zvcl9leHBhbmRfcmVzdWx0IgoJICAgICAgfQoJICAgICAgJG9w
dF9kcnlfcnVuIHx8IGV2YWwgIiRjbWQiIHx8IHsKCQlsdF9leGl0PSQ/CgoJ
CSMgUmVzdG9yZSB0aGUgdW5pbnN0YWxsZWQgbGlicmFyeSBhbmQgZXhpdAoJ
CWlmIHRlc3QgIiRvcHRfbW9kZSIgPSByZWxpbms7IHRoZW4KCQkgICggY2Qg
IiRvdXRwdXRfb2JqZGlyIiAmJiBcCgkJICAgICRSTSAiJHtyZWFsbmFtZX1U
IiAmJiBcCgkJICAgICRNViAiJHtyZWFsbmFtZX1VIiAiJHJlYWxuYW1lIiAp
CgkJZmkKCgkJZXhpdCAkbHRfZXhpdAoJICAgICAgfQoJICAgIGRvbmUKCSAg
ICBJRlM9IiRzYXZlX2lmcyIKCgkgICAgaWYgdGVzdCAtbiAiJGV4cG9ydF9z
eW1ib2xzX3JlZ2V4IiAmJiAke3NraXBwZWRfZXhwb3J0LWZhbHNlfTsgdGhl
bgoJICAgICAgZnVuY19zaG93X2V2YWwgJyRFR1JFUCAtZSAiJGV4cG9ydF9z
eW1ib2xzX3JlZ2V4IiAiJGV4cG9ydF9zeW1ib2xzIiA+ICIke2V4cG9ydF9z
eW1ib2xzfVQiJwoJICAgICAgZnVuY19zaG93X2V2YWwgJyRNViAiJHtleHBv
cnRfc3ltYm9sc31UIiAiJGV4cG9ydF9zeW1ib2xzIicKCSAgICBmaQoJICBm
aQoKICAgICAgICAgIGlmICR7c2tpcHBlZF9leHBvcnQtZmFsc2V9OyB0aGVu
CgkgICAgaWYgdGVzdCAtbiAiJGV4cG9ydF9zeW1ib2xzIiAmJiB0ZXN0IC1u
ICIkaW5jbHVkZV9leHBzeW1zIjsgdGhlbgoJICAgICAgdG1wX2V4cG9ydF9z
eW1ib2xzPSIkZXhwb3J0X3N5bWJvbHMiCgkgICAgICB0ZXN0IC1uICIkb3Jp
Z19leHBvcnRfc3ltYm9scyIgJiYgdG1wX2V4cG9ydF9zeW1ib2xzPSIkb3Jp
Z19leHBvcnRfc3ltYm9scyIKCSAgICAgICRvcHRfZHJ5X3J1biB8fCBldmFs
ICckRUNITyAiJGluY2x1ZGVfZXhwc3ltcyIgfCAkU1AyTkwgPj4gIiR0bXBf
ZXhwb3J0X3N5bWJvbHMiJwoJICAgIGZpCgoJICAgIGlmIHRlc3QgLW4gIiRv
cmlnX2V4cG9ydF9zeW1ib2xzIjsgdGhlbgoJICAgICAgIyBUaGUgZ2l2ZW4g
ZXhwb3J0c19zeW1ib2xzIGZpbGUgaGFzIHRvIGJlIGZpbHRlcmVkLCBzbyBm
aWx0ZXIgaXQuCgkgICAgICBmdW5jX3ZlcmJvc2UgImZpbHRlciBzeW1ib2wg
bGlzdCBmb3IgXGAkbGlibmFtZS5sYScgdG8gdGFnIERBVEEgZXhwb3J0cyIK
CSAgICAgICMgRklYTUU6ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRl
ciBwb3RlbnRpYWxseSBjb250YWlucyBsb3RzIG9mCgkgICAgICAjICdzJyBj
b21tYW5kcyB3aGljaCBub3QgYWxsIHNlZHMgY2FuIGhhbmRsZS4gR05VIHNl
ZCBzaG91bGQgYmUgZmluZQoJICAgICAgIyB0aG91Z2guIEFsc28sIHRoZSBm
aWx0ZXIgc2NhbGVzIHN1cGVybGluZWFybHkgd2l0aCB0aGUgbnVtYmVyIG9m
CgkgICAgICAjIGdsb2JhbCB2YXJpYWJsZXMuIGpvaW4oMSkgd291bGQgYmUg
bmljZSBoZXJlLCBidXQgdW5mb3J0dW5hdGVseQoJICAgICAgIyBpc24ndCBh
IGJsZXNzZWQgdG9vbC4KCSAgICAgICRvcHRfZHJ5X3J1biB8fCAkU0VEIC1l
ICcvWyAsXURBVEEvIWQ7cyxcKC4qXClcKFsgXCxdLipcKSxzfF5cMSR8XDFc
MnwsJyA8ICRleHBvcnRfc3ltYm9scyA+ICRvdXRwdXRfb2JqZGlyLyRsaWJu
YW1lLmZpbHRlcgoJICAgICAgZGVsZmlsZXMrPSIgJGV4cG9ydF9zeW1ib2xz
ICRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmZpbHRlciIKCSAgICAgIGV4cG9y
dF9zeW1ib2xzPSRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmRlZgoJICAgICAg
JG9wdF9kcnlfcnVuIHx8ICRTRUQgLWYgJG91dHB1dF9vYmpkaXIvJGxpYm5h
bWUuZmlsdGVyIDwgJG9yaWdfZXhwb3J0X3N5bWJvbHMgPiAkZXhwb3J0X3N5
bWJvbHMKCSAgICBmaQoJICBmaQoKCSAgbGlib2Jqcz0kb3V0cHV0CgkgICMg
UmVzdG9yZSB0aGUgdmFsdWUgb2Ygb3V0cHV0LgoJICBvdXRwdXQ9JHNhdmVf
b3V0cHV0CgoJICBpZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiICYmIHRlc3Qg
LW4gIiR3aG9sZV9hcmNoaXZlX2ZsYWdfc3BlYyI7IHRoZW4KCSAgICBldmFs
IGxpYm9ianM9XCJcJGxpYm9ianMgJHdob2xlX2FyY2hpdmVfZmxhZ19zcGVj
XCIKCSAgICB0ZXN0ICJYJGxpYm9ianMiID0gIlggIiAmJiBsaWJvYmpzPQoJ
ICBmaQoJICAjIEV4cGFuZCB0aGUgbGlicmFyeSBsaW5raW5nIGNvbW1hbmRz
IGFnYWluIHRvIHJlc2V0IHRoZQoJICAjIHZhbHVlIG9mICRsaWJvYmpzIGZv
ciBwaWVjZXdpc2UgbGlua2luZy4KCgkgICMgRG8gZWFjaCBvZiB0aGUgYXJj
aGl2ZSBjb21tYW5kcy4KCSAgaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXMgJiYg
dGVzdCAtbiAiJG1vZHVsZV9jbWRzIiA7IHRoZW4KCSAgICBpZiB0ZXN0IC1u
ICIkZXhwb3J0X3N5bWJvbHMiICYmIHRlc3QgLW4gIiRtb2R1bGVfZXhwc3lt
X2NtZHMiOyB0aGVuCgkgICAgICBjbWRzPSRtb2R1bGVfZXhwc3ltX2NtZHMK
CSAgICBlbHNlCgkgICAgICBjbWRzPSRtb2R1bGVfY21kcwoJICAgIGZpCgkg
IGVsc2UKCSAgICBpZiB0ZXN0IC1uICIkZXhwb3J0X3N5bWJvbHMiICYmIHRl
c3QgLW4gIiRhcmNoaXZlX2V4cHN5bV9jbWRzIjsgdGhlbgoJICAgICAgY21k
cz0kYXJjaGl2ZV9leHBzeW1fY21kcwoJICAgIGVsc2UKCSAgICAgIGNtZHM9
JGFyY2hpdmVfY21kcwoJICAgIGZpCgkgIGZpCglmaQoKCWlmIHRlc3QgLW4g
IiRkZWxmaWxlcyI7IHRoZW4KCSAgIyBBcHBlbmQgdGhlIGNvbW1hbmQgdG8g
cmVtb3ZlIHRlbXBvcmFyeSBmaWxlcyB0byAkY21kcy4KCSAgZXZhbCBjbWRz
PVwiXCRjbWRzflwkUk0gJGRlbGZpbGVzXCIKCWZpCgoJIyBBZGQgYW55IG9i
amVjdHMgZnJvbSBwcmVsb2FkZWQgY29udmVuaWVuY2UgbGlicmFyaWVzCglp
ZiB0ZXN0IC1uICIkZGxwcmVmaWxlcyI7IHRoZW4KCSAgZ2VudG9wPSIkb3V0
cHV0X29iamRpci8ke291dHB1dG5hbWV9eCIKCSAgZ2VuZXJhdGVkKz0iICRn
ZW50b3AiCgoJICBmdW5jX2V4dHJhY3RfYXJjaGl2ZXMgJGdlbnRvcCAkZGxw
cmVmaWxlcwoJICBsaWJvYmpzKz0iICRmdW5jX2V4dHJhY3RfYXJjaGl2ZXNf
cmVzdWx0IgoJICB0ZXN0ICJYJGxpYm9ianMiID0gIlggIiAmJiBsaWJvYmpz
PQoJZmkKCglzYXZlX2lmcz0iJElGUyI7IElGUz0nficKCWZvciBjbWQgaW4g
JGNtZHM7IGRvCgkgIElGUz0iJHNhdmVfaWZzIgoJICBldmFsIGNtZD1cIiRj
bWRcIgoJICAkb3B0X3NpbGVudCB8fCB7CgkgICAgZnVuY19xdW90ZV9mb3Jf
ZXhwYW5kICIkY21kIgoJICAgIGV2YWwgImZ1bmNfZWNobyAkZnVuY19xdW90
ZV9mb3JfZXhwYW5kX3Jlc3VsdCIKCSAgfQoJICAkb3B0X2RyeV9ydW4gfHwg
ZXZhbCAiJGNtZCIgfHwgewoJICAgIGx0X2V4aXQ9JD8KCgkgICAgIyBSZXN0
b3JlIHRoZSB1bmluc3RhbGxlZCBsaWJyYXJ5IGFuZCBleGl0CgkgICAgaWYg
dGVzdCAiJG9wdF9tb2RlIiA9IHJlbGluazsgdGhlbgoJICAgICAgKCBjZCAi
JG91dHB1dF9vYmpkaXIiICYmIFwKCSAgICAgICAgJFJNICIke3JlYWxuYW1l
fVQiICYmIFwKCQkkTVYgIiR7cmVhbG5hbWV9VSIgIiRyZWFsbmFtZSIgKQoJ
ICAgIGZpCgoJICAgIGV4aXQgJGx0X2V4aXQKCSAgfQoJZG9uZQoJSUZTPSIk
c2F2ZV9pZnMiCgoJIyBSZXN0b3JlIHRoZSB1bmluc3RhbGxlZCBsaWJyYXJ5
IGFuZCBleGl0CglpZiB0ZXN0ICIkb3B0X21vZGUiID0gcmVsaW5rOyB0aGVu
CgkgICRvcHRfZHJ5X3J1biB8fCBldmFsICcoY2QgJG91dHB1dF9vYmpkaXIg
JiYgJFJNICR7cmVhbG5hbWV9VCAmJiAkTVYgJHJlYWxuYW1lICR7cmVhbG5h
bWV9VCAmJiAkTVYgJHtyZWFsbmFtZX1VICRyZWFsbmFtZSknIHx8IGV4aXQg
JD8KCgkgIGlmIHRlc3QgLW4gIiRjb252ZW5pZW5jZSI7IHRoZW4KCSAgICBp
ZiB0ZXN0IC16ICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkg
ICAgICBmdW5jX3Nob3dfZXZhbCAnJHtSTX1yICIkZ2VudG9wIicKCSAgICBm
aQoJICBmaQoKCSAgZXhpdCAkRVhJVF9TVUNDRVNTCglmaQoKCSMgQ3JlYXRl
IGxpbmtzIHRvIHRoZSByZWFsIGxpYnJhcnkuCglmb3IgbGlua25hbWUgaW4g
JGxpbmtuYW1lczsgZG8KCSAgaWYgdGVzdCAiJHJlYWxuYW1lIiAhPSAiJGxp
bmtuYW1lIjsgdGhlbgoJICAgIGZ1bmNfc2hvd19ldmFsICcoY2QgIiRvdXRw
dXRfb2JqZGlyIiAmJiAkUk0gIiRsaW5rbmFtZSIgJiYgJExOX1MgIiRyZWFs
bmFtZSIgIiRsaW5rbmFtZSIpJyAnZXhpdCAkPycKCSAgZmkKCWRvbmUKCgkj
IElmIC1tb2R1bGUgb3IgLWV4cG9ydC1keW5hbWljIHdhcyBzcGVjaWZpZWQs
IHNldCB0aGUgZGxuYW1lLgoJaWYgdGVzdCAiJG1vZHVsZSIgPSB5ZXMgfHwg
dGVzdCAiJGV4cG9ydF9keW5hbWljIiA9IHllczsgdGhlbgoJICAjIE9uIGFs
bCBrbm93biBvcGVyYXRpbmcgc3lzdGVtcywgdGhlc2UgYXJlIGlkZW50aWNh
bC4KCSAgZGxuYW1lPSIkc29uYW1lIgoJZmkKICAgICAgZmkKICAgICAgOzsK
CiAgICBvYmopCiAgICAgIGlmIHRlc3QgLW4gIiRkbGZpbGVzJGRscHJlZmls
ZXMiIHx8IHRlc3QgIiRkbHNlbGYiICE9IG5vOyB0aGVuCglmdW5jX3dhcm5p
bmcgIlxgLWRsb3BlbicgaXMgaWdub3JlZCBmb3Igb2JqZWN0cyIKICAgICAg
ZmkKCiAgICAgIGNhc2UgIiAkZGVwbGlicyIgaW4KICAgICAgKlwgLWwqIHwg
KlwgLUwqKQoJZnVuY193YXJuaW5nICJcYC1sJyBhbmQgXGAtTCcgYXJlIGln
bm9yZWQgZm9yIG9iamVjdHMiIDs7CiAgICAgIGVzYWMKCiAgICAgIHRlc3Qg
LW4gIiRycGF0aCIgJiYgXAoJZnVuY193YXJuaW5nICJcYC1ycGF0aCcgaXMg
aWdub3JlZCBmb3Igb2JqZWN0cyIKCiAgICAgIHRlc3QgLW4gIiR4cnBhdGgi
ICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtUicgaXMgaWdub3JlZCBmb3Igb2Jq
ZWN0cyIKCiAgICAgIHRlc3QgLW4gIiR2aW5mbyIgJiYgXAoJZnVuY193YXJu
aW5nICJcYC12ZXJzaW9uLWluZm8nIGlzIGlnbm9yZWQgZm9yIG9iamVjdHMi
CgogICAgICB0ZXN0IC1uICIkcmVsZWFzZSIgJiYgXAoJZnVuY193YXJuaW5n
ICJcYC1yZWxlYXNlJyBpcyBpZ25vcmVkIGZvciBvYmplY3RzIgoKICAgICAg
Y2FzZSAkb3V0cHV0IGluCiAgICAgICoubG8pCgl0ZXN0IC1uICIkb2JqcyRv
bGRfZGVwbGlicyIgJiYgXAoJICBmdW5jX2ZhdGFsX2Vycm9yICJjYW5ub3Qg
YnVpbGQgbGlicmFyeSBvYmplY3QgXGAkb3V0cHV0JyBmcm9tIG5vbi1saWJ0
b29sIG9iamVjdHMiCgoJbGlib2JqPSRvdXRwdXQKCWZ1bmNfbG8ybyAiJGxp
Ym9iaiIKCW9iaj0kZnVuY19sbzJvX3Jlc3VsdAoJOzsKICAgICAgKikKCWxp
Ym9iaj0KCW9iaj0iJG91dHB1dCIKCTs7CiAgICAgIGVzYWMKCiAgICAgICMg
RGVsZXRlIHRoZSBvbGQgb2JqZWN0cy4KICAgICAgJG9wdF9kcnlfcnVuIHx8
ICRSTSAkb2JqICRsaWJvYmoKCiAgICAgICMgT2JqZWN0cyBmcm9tIGNvbnZl
bmllbmNlIGxpYnJhcmllcy4gIFRoaXMgYXNzdW1lcwogICAgICAjIHNpbmds
ZS12ZXJzaW9uIGNvbnZlbmllbmNlIGxpYnJhcmllcy4gIFdoZW5ldmVyIHdl
IGNyZWF0ZQogICAgICAjIGRpZmZlcmVudCBvbmVzIGZvciBQSUMvbm9uLVBJ
QywgdGhpcyB3ZSdsbCBoYXZlIHRvIGR1cGxpY2F0ZQogICAgICAjIHRoZSBl
eHRyYWN0aW9uLgogICAgICByZWxvYWRfY29udl9vYmpzPQogICAgICBnZW50
b3A9CiAgICAgICMgcmVsb2FkX2NtZHMgcnVucyAkTEQgZGlyZWN0bHksIHNv
IGxldCB1cyBnZXQgcmlkIG9mCiAgICAgICMgLVdsIGZyb20gd2hvbGVfYXJj
aGl2ZV9mbGFnX3NwZWMgYW5kIGhvcGUgd2UgY2FuIGdldCBieSB3aXRoCiAg
ICAgICMgdHVybmluZyBjb21tYSBpbnRvIHNwYWNlLi4KICAgICAgd2w9Cgog
ICAgICBpZiB0ZXN0IC1uICIkY29udmVuaWVuY2UiOyB0aGVuCglpZiB0ZXN0
IC1uICIkd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWMiOyB0aGVuCgkgIGV2YWwg
dG1wX3dob2xlX2FyY2hpdmVfZmxhZ3M9XCIkd2hvbGVfYXJjaGl2ZV9mbGFn
X3NwZWNcIgoJICByZWxvYWRfY29udl9vYmpzPSRyZWxvYWRfb2Jqc1wgYCRF
Q0hPICIkdG1wX3dob2xlX2FyY2hpdmVfZmxhZ3MiIHwgJFNFRCAnc3wsfCB8
ZydgCgllbHNlCgkgIGdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvYmp9eCIK
CSAgZ2VuZXJhdGVkKz0iICRnZW50b3AiCgoJICBmdW5jX2V4dHJhY3RfYXJj
aGl2ZXMgJGdlbnRvcCAkY29udmVuaWVuY2UKCSAgcmVsb2FkX2NvbnZfb2Jq
cz0iJHJlbG9hZF9vYmpzICRmdW5jX2V4dHJhY3RfYXJjaGl2ZXNfcmVzdWx0
IgoJZmkKICAgICAgZmkKCiAgICAgICMgSWYgd2UncmUgbm90IGJ1aWxkaW5n
IHNoYXJlZCwgd2UgbmVlZCB0byB1c2Ugbm9uX3BpY19vYmpzCiAgICAgIHRl
c3QgIiRidWlsZF9saWJ0b29sX2xpYnMiICE9IHllcyAmJiBsaWJvYmpzPSIk
bm9uX3BpY19vYmplY3RzIgoKICAgICAgIyBDcmVhdGUgdGhlIG9sZC1zdHls
ZSBvYmplY3QuCiAgICAgIHJlbG9hZF9vYmpzPSIkb2JqcyRvbGRfZGVwbGli
cyAiYCRFQ0hPICIkbGlib2JqcyIgfCAkU1AyTkwgfCAkU0VEICIvXC4ke2xp
YmV4dH0kL2Q7IC9cLmxpYiQvZDsgJGxvMm8iIHwgJE5MMlNQYCIgJHJlbG9h
ZF9jb252X29ianMiICMjIyB0ZXN0c3VpdGU6IHNraXAgbmVzdGVkIHF1b3Rp
bmcgdGVzdAoKICAgICAgb3V0cHV0PSIkb2JqIgogICAgICBmdW5jX2V4ZWN1
dGVfY21kcyAiJHJlbG9hZF9jbWRzIiAnZXhpdCAkPycKCiAgICAgICMgRXhp
dCBpZiB3ZSBhcmVuJ3QgZG9pbmcgYSBsaWJyYXJ5IG9iamVjdCBmaWxlLgog
ICAgICBpZiB0ZXN0IC16ICIkbGlib2JqIjsgdGhlbgoJaWYgdGVzdCAtbiAi
JGdlbnRvcCI7IHRoZW4KCSAgZnVuY19zaG93X2V2YWwgJyR7Uk19ciAiJGdl
bnRvcCInCglmaQoKCWV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICBmaQoKICAg
ICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgIT0geWVzOyB0aGVu
CglpZiB0ZXN0IC1uICIkZ2VudG9wIjsgdGhlbgoJICBmdW5jX3Nob3dfZXZh
bCAnJHtSTX1yICIkZ2VudG9wIicKCWZpCgoJIyBDcmVhdGUgYW4gaW52YWxp
ZCBsaWJ0b29sIG9iamVjdCBpZiBubyBQSUMsIHNvIHRoYXQgd2UgZG9uJ3QK
CSMgYWNjaWRlbnRhbGx5IGxpbmsgaXQgaW50byBhIHByb2dyYW0uCgkjICRz
aG93ICJlY2hvIHRpbWVzdGFtcCA+ICRsaWJvYmoiCgkjICRvcHRfZHJ5X3J1
biB8fCBldmFsICJlY2hvIHRpbWVzdGFtcCA+ICRsaWJvYmoiIHx8IGV4aXQg
JD8KCWV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICBmaQoKICAgICAgaWYgdGVz
dCAtbiAiJHBpY19mbGFnIiB8fCB0ZXN0ICIkcGljX21vZGUiICE9IGRlZmF1
bHQ7IHRoZW4KCSMgT25seSBkbyBjb21tYW5kcyBpZiB3ZSByZWFsbHkgaGF2
ZSBkaWZmZXJlbnQgUElDIG9iamVjdHMuCglyZWxvYWRfb2Jqcz0iJGxpYm9i
anMgJHJlbG9hZF9jb252X29ianMiCglvdXRwdXQ9IiRsaWJvYmoiCglmdW5j
X2V4ZWN1dGVfY21kcyAiJHJlbG9hZF9jbWRzIiAnZXhpdCAkPycKICAgICAg
ZmkKCiAgICAgIGlmIHRlc3QgLW4gIiRnZW50b3AiOyB0aGVuCglmdW5jX3No
b3dfZXZhbCAnJHtSTX1yICIkZ2VudG9wIicKICAgICAgZmkKCiAgICAgIGV4
aXQgJEVYSVRfU1VDQ0VTUwogICAgICA7OwoKICAgIHByb2cpCiAgICAgIGNh
c2UgJGhvc3QgaW4KCSpjeWd3aW4qKSBmdW5jX3N0cmlwbmFtZSAnJyAnLmV4
ZScgIiRvdXRwdXQiCgkgICAgICAgICAgb3V0cHV0PSRmdW5jX3N0cmlwbmFt
ZV9yZXN1bHQuZXhlOzsKICAgICAgZXNhYwogICAgICB0ZXN0IC1uICIkdmlu
Zm8iICYmIFwKCWZ1bmNfd2FybmluZyAiXGAtdmVyc2lvbi1pbmZvJyBpcyBp
Z25vcmVkIGZvciBwcm9ncmFtcyIKCiAgICAgIHRlc3QgLW4gIiRyZWxlYXNl
IiAmJiBcCglmdW5jX3dhcm5pbmcgIlxgLXJlbGVhc2UnIGlzIGlnbm9yZWQg
Zm9yIHByb2dyYW1zIgoKICAgICAgdGVzdCAiJHByZWxvYWQiID0geWVzIFwK
ICAgICAgICAmJiB0ZXN0ICIkZGxvcGVuX3N1cHBvcnQiID0gdW5rbm93biBc
CgkmJiB0ZXN0ICIkZGxvcGVuX3NlbGYiID0gdW5rbm93biBcCgkmJiB0ZXN0
ICIkZGxvcGVuX3NlbGZfc3RhdGljIiA9IHVua25vd24gJiYgXAoJICBmdW5j
X3dhcm5pbmcgIlxgTFRfSU5JVChbZGxvcGVuXSknIG5vdCB1c2VkLiBBc3N1
bWluZyBubyBkbG9wZW4gc3VwcG9ydC4iCgogICAgICBjYXNlICRob3N0IGlu
CiAgICAgICotKi1yaGFwc29keSogfCAqLSotZGFyd2luMS5bMDEyXSkKCSMg
T24gUmhhcHNvZHkgcmVwbGFjZSB0aGUgQyBsaWJyYXJ5IGlzIHRoZSBTeXN0
ZW0gZnJhbWV3b3JrCgljb21waWxlX2RlcGxpYnM9YCRFQ0hPICIgJGNvbXBp
bGVfZGVwbGlicyIgfCAkU0VEICdzLyAtbGMgLyBTeXN0ZW0ubHRmcmFtZXdv
cmsgLydgCglmaW5hbGl6ZV9kZXBsaWJzPWAkRUNITyAiICRmaW5hbGl6ZV9k
ZXBsaWJzIiB8ICRTRUQgJ3MvIC1sYyAvIFN5c3RlbS5sdGZyYW1ld29yayAv
J2AKCTs7CiAgICAgIGVzYWMKCiAgICAgIGNhc2UgJGhvc3QgaW4KICAgICAg
Ki0qLWRhcndpbiopCgkjIERvbid0IGFsbG93IGxhenkgbGlua2luZywgaXQg
YnJlYWtzIEMrKyBnbG9iYWwgY29uc3RydWN0b3JzCgkjIEJ1dCBpcyBzdXBw
b3NlZGx5IGZpeGVkIG9uIDEwLjQgb3IgbGF0ZXIgKHlheSEpLgoJaWYgdGVz
dCAiJHRhZ25hbWUiID0gQ1hYIDsgdGhlbgoJICBjYXNlICR7TUFDT1NYX0RF
UExPWU1FTlRfVEFSR0VULTEwLjB9IGluCgkgICAgMTAuWzAxMjNdKQoJICAg
ICAgY29tcGlsZV9jb21tYW5kKz0iICR7d2x9LWJpbmRfYXRfbG9hZCIKCSAg
ICAgIGZpbmFsaXplX2NvbW1hbmQrPSIgJHt3bH0tYmluZF9hdF9sb2FkIgoJ
ICAgIDs7CgkgIGVzYWMKCWZpCgkjIFRpbWUgdG8gY2hhbmdlIGFsbCBvdXIg
ImZvby5sdGZyYW1ld29yayIgc3R1ZmYgYmFjayB0byAiLWZyYW1ld29yayBm
b28iCgljb21waWxlX2RlcGxpYnM9YCRFQ0hPICIgJGNvbXBpbGVfZGVwbGli
cyIgfCAkU0VEICdzJSBcKFteICRdKlwpLmx0ZnJhbWV3b3JrJSAtZnJhbWV3
b3JrIFwxJWcnYAoJZmluYWxpemVfZGVwbGlicz1gJEVDSE8gIiAkZmluYWxp
emVfZGVwbGlicyIgfCAkU0VEICdzJSBcKFteICRdKlwpLmx0ZnJhbWV3b3Jr
JSAtZnJhbWV3b3JrIFwxJWcnYAoJOzsKICAgICAgZXNhYwoKCiAgICAgICMg
bW92ZSBsaWJyYXJ5IHNlYXJjaCBwYXRocyB0aGF0IGNvaW5jaWRlIHdpdGgg
cGF0aHMgdG8gbm90IHlldAogICAgICAjIGluc3RhbGxlZCBsaWJyYXJpZXMg
dG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlicmFyeSBzZWFyY2ggbGlzdAog
ICAgICBuZXdfbGlicz0KICAgICAgZm9yIHBhdGggaW4gJG5vdGluc3RfcGF0
aDsgZG8KCWNhc2UgIiAkbmV3X2xpYnMgIiBpbgoJKiIgLUwkcGF0aC8kb2Jq
ZGlyICIqKSA7OwoJKikKCSAgY2FzZSAiICRjb21waWxlX2RlcGxpYnMgIiBp
bgoJICAqIiAtTCRwYXRoLyRvYmpkaXIgIiopCgkgICAgbmV3X2xpYnMrPSIg
LUwkcGF0aC8kb2JqZGlyIiA7OwoJICBlc2FjCgkgIDs7Cgllc2FjCiAgICAg
IGRvbmUKICAgICAgZm9yIGRlcGxpYiBpbiAkY29tcGlsZV9kZXBsaWJzOyBk
bwoJY2FzZSAkZGVwbGliIGluCgktTCopCgkgIGNhc2UgIiAkbmV3X2xpYnMg
IiBpbgoJICAqIiAkZGVwbGliICIqKSA7OwoJICAqKSBuZXdfbGlicys9IiAk
ZGVwbGliIiA7OwoJICBlc2FjCgkgIDs7CgkqKSBuZXdfbGlicys9IiAkZGVw
bGliIiA7OwoJZXNhYwogICAgICBkb25lCiAgICAgIGNvbXBpbGVfZGVwbGli
cz0iJG5ld19saWJzIgoKCiAgICAgIGNvbXBpbGVfY29tbWFuZCs9IiAkY29t
cGlsZV9kZXBsaWJzIgogICAgICBmaW5hbGl6ZV9jb21tYW5kKz0iICRmaW5h
bGl6ZV9kZXBsaWJzIgoKICAgICAgaWYgdGVzdCAtbiAiJHJwYXRoJHhycGF0
aCI7IHRoZW4KCSMgSWYgdGhlIHVzZXIgc3BlY2lmaWVkIGFueSBycGF0aCBm
bGFncywgdGhlbiBhZGQgdGhlbS4KCWZvciBsaWJkaXIgaW4gJHJwYXRoICR4
cnBhdGg7IGRvCgkgICMgVGhpcyBpcyB0aGUgbWFnaWMgdG8gdXNlIC1ycGF0
aC4KCSAgY2FzZSAiJGZpbmFsaXplX3JwYXRoICIgaW4KCSAgKiIgJGxpYmRp
ciAiKikgOzsKCSAgKikgZmluYWxpemVfcnBhdGgrPSIgJGxpYmRpciIgOzsK
CSAgZXNhYwoJZG9uZQogICAgICBmaQoKICAgICAgIyBOb3cgaGFyZGNvZGUg
dGhlIGxpYnJhcnkgcGF0aHMKICAgICAgcnBhdGg9CiAgICAgIGhhcmRjb2Rl
X2xpYmRpcnM9CiAgICAgIGZvciBsaWJkaXIgaW4gJGNvbXBpbGVfcnBhdGgg
JGZpbmFsaXplX3JwYXRoOyBkbwoJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xp
YmRpcl9mbGFnX3NwZWMiOyB0aGVuCgkgIGlmIHRlc3QgLW4gIiRoYXJkY29k
ZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgoJICAgIGlmIHRlc3QgLXogIiRo
YXJkY29kZV9saWJkaXJzIjsgdGhlbgoJICAgICAgaGFyZGNvZGVfbGliZGly
cz0iJGxpYmRpciIKCSAgICBlbHNlCgkgICAgICAjIEp1c3QgYWNjdW11bGF0
ZSB0aGUgdW5pcXVlIGxpYmRpcnMuCgkgICAgICBjYXNlICRoYXJkY29kZV9s
aWJkaXJfc2VwYXJhdG9yJGhhcmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGli
ZGlyX3NlcGFyYXRvciBpbgoJICAgICAgKiIkaGFyZGNvZGVfbGliZGlyX3Nl
cGFyYXRvciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIqKQoJ
CTs7CgkgICAgICAqKQoJCWhhcmRjb2RlX2xpYmRpcnMrPSIkaGFyZGNvZGVf
bGliZGlyX3NlcGFyYXRvciRsaWJkaXIiCgkJOzsKCSAgICAgIGVzYWMKCSAg
ICBmaQoJICBlbHNlCgkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRp
cl9mbGFnX3NwZWNcIgoJICAgIHJwYXRoKz0iICRmbGFnIgoJICBmaQoJZWxp
ZiB0ZXN0IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCgkgIGNhc2UgIiRwZXJt
X3JwYXRoICIgaW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAgKikgcGVybV9y
cGF0aCs9IiAkbGliZGlyIiA7OwoJICBlc2FjCglmaQoJY2FzZSAkaG9zdCBp
bgoJKi0qLWN5Z3dpbiogfCAqLSotbWluZ3cqIHwgKi0qLXB3MzIqIHwgKi0q
LW9zMiogfCAqLWNlZ2NjKikKCSAgdGVzdGJpbmRpcj1gJHtFQ0hPfSAiJGxp
YmRpciIgfCAke1NFRH0gLWUgJ3MqL2xpYiQqL2JpbionYAoJICBjYXNlIDok
ZGxsc2VhcmNocGF0aDogaW4KCSAgKiI6JGxpYmRpcjoiKikgOzsKCSAgOjop
IGRsbHNlYXJjaHBhdGg9JGxpYmRpcjs7CgkgICopIGRsbHNlYXJjaHBhdGgr
PSI6JGxpYmRpciI7OwoJICBlc2FjCgkgIGNhc2UgOiRkbGxzZWFyY2hwYXRo
OiBpbgoJICAqIjokdGVzdGJpbmRpcjoiKikgOzsKCSAgOjopIGRsbHNlYXJj
aHBhdGg9JHRlc3RiaW5kaXI7OwoJICAqKSBkbGxzZWFyY2hwYXRoKz0iOiR0
ZXN0YmluZGlyIjs7CgkgIGVzYWMKCSAgOzsKCWVzYWMKICAgICAgZG9uZQog
ICAgICAjIFN1YnN0aXR1dGUgdGhlIGhhcmRjb2RlZCBsaWJkaXJzIGludG8g
dGhlIHJwYXRoLgogICAgICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvciIgJiYKCSB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlycyI7
IHRoZW4KCWxpYmRpcj0iJGhhcmRjb2RlX2xpYmRpcnMiCglldmFsIHJwYXRo
PVwiICRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjXCIKICAgICAgZmkKICAg
ICAgY29tcGlsZV9ycGF0aD0iJHJwYXRoIgoKICAgICAgcnBhdGg9CiAgICAg
IGhhcmRjb2RlX2xpYmRpcnM9CiAgICAgIGZvciBsaWJkaXIgaW4gJGZpbmFs
aXplX3JwYXRoOyBkbwoJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9m
bGFnX3NwZWMiOyB0aGVuCgkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJk
aXJfc2VwYXJhdG9yIjsgdGhlbgoJICAgIGlmIHRlc3QgLXogIiRoYXJkY29k
ZV9saWJkaXJzIjsgdGhlbgoJICAgICAgaGFyZGNvZGVfbGliZGlycz0iJGxp
YmRpciIKCSAgICBlbHNlCgkgICAgICAjIEp1c3QgYWNjdW11bGF0ZSB0aGUg
dW5pcXVlIGxpYmRpcnMuCgkgICAgICBjYXNlICRoYXJkY29kZV9saWJkaXJf
c2VwYXJhdG9yJGhhcmRjb2RlX2xpYmRpcnMkaGFyZGNvZGVfbGliZGlyX3Nl
cGFyYXRvciBpbgoJICAgICAgKiIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRv
ciRsaWJkaXIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciIqKQoJCTs7Cgkg
ICAgICAqKQoJCWhhcmRjb2RlX2xpYmRpcnMrPSIkaGFyZGNvZGVfbGliZGly
X3NlcGFyYXRvciRsaWJkaXIiCgkJOzsKCSAgICAgIGVzYWMKCSAgICBmaQoJ
ICBlbHNlCgkgICAgZXZhbCBmbGFnPVwiJGhhcmRjb2RlX2xpYmRpcl9mbGFn
X3NwZWNcIgoJICAgIHJwYXRoKz0iICRmbGFnIgoJICBmaQoJZWxpZiB0ZXN0
IC1uICIkcnVucGF0aF92YXIiOyB0aGVuCgkgIGNhc2UgIiRmaW5hbGl6ZV9w
ZXJtX3JwYXRoICIgaW4KCSAgKiIgJGxpYmRpciAiKikgOzsKCSAgKikgZmlu
YWxpemVfcGVybV9ycGF0aCs9IiAkbGliZGlyIiA7OwoJICBlc2FjCglmaQog
ICAgICBkb25lCiAgICAgICMgU3Vic3RpdHV0ZSB0aGUgaGFyZGNvZGVkIGxp
YmRpcnMgaW50byB0aGUgcnBhdGguCiAgICAgIGlmIHRlc3QgLW4gIiRoYXJk
Y29kZV9saWJkaXJfc2VwYXJhdG9yIiAmJgoJIHRlc3QgLW4gIiRoYXJkY29k
ZV9saWJkaXJzIjsgdGhlbgoJbGliZGlyPSIkaGFyZGNvZGVfbGliZGlycyIK
CWV2YWwgcnBhdGg9XCIgJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWNcIgog
ICAgICBmaQogICAgICBmaW5hbGl6ZV9ycGF0aD0iJHJwYXRoIgoKICAgICAg
aWYgdGVzdCAtbiAiJGxpYm9ianMiICYmIHRlc3QgIiRidWlsZF9vbGRfbGli
cyIgPSB5ZXM7IHRoZW4KCSMgVHJhbnNmb3JtIGFsbCB0aGUgbGlicmFyeSBv
YmplY3RzIGludG8gc3RhbmRhcmQgb2JqZWN0cy4KCWNvbXBpbGVfY29tbWFu
ZD1gJEVDSE8gIiRjb21waWxlX2NvbW1hbmQiIHwgJFNQMk5MIHwgJFNFRCAi
JGxvMm8iIHwgJE5MMlNQYAoJZmluYWxpemVfY29tbWFuZD1gJEVDSE8gIiRm
aW5hbGl6ZV9jb21tYW5kIiB8ICRTUDJOTCB8ICRTRUQgIiRsbzJvIiB8ICRO
TDJTUGAKICAgICAgZmkKCiAgICAgIGZ1bmNfZ2VuZXJhdGVfZGxzeW1zICIk
b3V0cHV0bmFtZSIgIkBQUk9HUkFNQCIgIm5vIgoKICAgICAgIyB0ZW1wbGF0
ZSBwcmVsaW5raW5nIHN0ZXAKICAgICAgaWYgdGVzdCAtbiAiJHByZWxpbmtf
Y21kcyI7IHRoZW4KCWZ1bmNfZXhlY3V0ZV9jbWRzICIkcHJlbGlua19jbWRz
IiAnZXhpdCAkPycKICAgICAgZmkKCiAgICAgIHdyYXBwZXJzX3JlcXVpcmVk
PXllcwogICAgICBjYXNlICRob3N0IGluCiAgICAgICpjZWdjYyogfCAqbWlu
Z3czMmNlKikKICAgICAgICAjIERpc2FibGUgd3JhcHBlcnMgZm9yIGNlZ2Nj
IGFuZCBtaW5ndzMyY2UgaG9zdHMsIHdlIGFyZSBjcm9zcyBjb21waWxpbmcg
YW55d2F5LgogICAgICAgIHdyYXBwZXJzX3JlcXVpcmVkPW5vCiAgICAgICAg
OzsKICAgICAgKmN5Z3dpbiogfCAqbWluZ3cqICkKICAgICAgICBpZiB0ZXN0
ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXM7IHRoZW4KICAgICAgICAg
IHdyYXBwZXJzX3JlcXVpcmVkPW5vCiAgICAgICAgZmkKICAgICAgICA7Owog
ICAgICAqKQogICAgICAgIGlmIHRlc3QgIiRuZWVkX3JlbGluayIgPSBubyB8
fCB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJzIiAhPSB5ZXM7IHRoZW4KICAg
ICAgICAgIHdyYXBwZXJzX3JlcXVpcmVkPW5vCiAgICAgICAgZmkKICAgICAg
ICA7OwogICAgICBlc2FjCiAgICAgIGlmIHRlc3QgIiR3cmFwcGVyc19yZXF1
aXJlZCIgPSBubzsgdGhlbgoJIyBSZXBsYWNlIHRoZSBvdXRwdXQgZmlsZSBz
cGVjaWZpY2F0aW9uLgoJY29tcGlsZV9jb21tYW5kPWAkRUNITyAiJGNvbXBp
bGVfY29tbWFuZCIgfCAkU0VEICdzJUBPVVRQVVRAJSciJG91dHB1dCInJWcn
YAoJbGlua19jb21tYW5kPSIkY29tcGlsZV9jb21tYW5kJGNvbXBpbGVfcnBh
dGgiCgoJIyBXZSBoYXZlIG5vIHVuaW5zdGFsbGVkIGxpYnJhcnkgZGVwZW5k
ZW5jaWVzLCBzbyBmaW5hbGl6ZSByaWdodCBub3cuCglleGl0X3N0YXR1cz0w
CglmdW5jX3Nob3dfZXZhbCAiJGxpbmtfY29tbWFuZCIgJ2V4aXRfc3RhdHVz
PSQ/JwoKCWlmIHRlc3QgLW4gIiRwb3N0bGlua19jbWRzIjsgdGhlbgoJICBm
dW5jX3RvX3Rvb2xfZmlsZSAiJG91dHB1dCIKCSAgcG9zdGxpbmtfY21kcz1g
ZnVuY19lY2hvX2FsbCAiJHBvc3RsaW5rX2NtZHMiIHwgJFNFRCAtZSAncyVA
T1VUUFVUQCUnIiRvdXRwdXQiJyVnJyAtZSAncyVAVE9PTF9PVVRQVVRAJSci
JGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdCInJWcnYAoJICBmdW5jX2V4ZWN1
dGVfY21kcyAiJHBvc3RsaW5rX2NtZHMiICdleGl0ICQ/JwoJZmkKCgkjIERl
bGV0ZSB0aGUgZ2VuZXJhdGVkIGZpbGVzLgoJaWYgdGVzdCAtZiAiJG91dHB1
dF9vYmpkaXIvJHtvdXRwdXRuYW1lfVMuJHtvYmpleHR9IjsgdGhlbgoJICBm
dW5jX3Nob3dfZXZhbCAnJFJNICIkb3V0cHV0X29iamRpci8ke291dHB1dG5h
bWV9Uy4ke29iamV4dH0iJwoJZmkKCglleGl0ICRleGl0X3N0YXR1cwogICAg
ICBmaQoKICAgICAgaWYgdGVzdCAtbiAiJGNvbXBpbGVfc2hsaWJwYXRoJGZp
bmFsaXplX3NobGlicGF0aCI7IHRoZW4KCWNvbXBpbGVfY29tbWFuZD0iJHNo
bGlicGF0aF92YXI9XCIkY29tcGlsZV9zaGxpYnBhdGgkZmluYWxpemVfc2hs
aWJwYXRoXCQkc2hsaWJwYXRoX3ZhclwiICRjb21waWxlX2NvbW1hbmQiCiAg
ICAgIGZpCiAgICAgIGlmIHRlc3QgLW4gIiRmaW5hbGl6ZV9zaGxpYnBhdGgi
OyB0aGVuCglmaW5hbGl6ZV9jb21tYW5kPSIkc2hsaWJwYXRoX3Zhcj1cIiRm
aW5hbGl6ZV9zaGxpYnBhdGhcJCRzaGxpYnBhdGhfdmFyXCIgJGZpbmFsaXpl
X2NvbW1hbmQiCiAgICAgIGZpCgogICAgICBjb21waWxlX3Zhcj0KICAgICAg
ZmluYWxpemVfdmFyPQogICAgICBpZiB0ZXN0IC1uICIkcnVucGF0aF92YXIi
OyB0aGVuCglpZiB0ZXN0IC1uICIkcGVybV9ycGF0aCI7IHRoZW4KCSAgIyBX
ZSBzaG91bGQgc2V0IHRoZSBydW5wYXRoX3Zhci4KCSAgcnBhdGg9CgkgIGZv
ciBkaXIgaW4gJHBlcm1fcnBhdGg7IGRvCgkgICAgcnBhdGgrPSIkZGlyOiIK
CSAgZG9uZQoJICBjb21waWxlX3Zhcj0iJHJ1bnBhdGhfdmFyPVwiJHJwYXRo
XCQkcnVucGF0aF92YXJcIiAiCglmaQoJaWYgdGVzdCAtbiAiJGZpbmFsaXpl
X3Blcm1fcnBhdGgiOyB0aGVuCgkgICMgV2Ugc2hvdWxkIHNldCB0aGUgcnVu
cGF0aF92YXIuCgkgIHJwYXRoPQoJICBmb3IgZGlyIGluICRmaW5hbGl6ZV9w
ZXJtX3JwYXRoOyBkbwoJICAgIHJwYXRoKz0iJGRpcjoiCgkgIGRvbmUKCSAg
ZmluYWxpemVfdmFyPSIkcnVucGF0aF92YXI9XCIkcnBhdGhcJCRydW5wYXRo
X3ZhclwiICIKCWZpCiAgICAgIGZpCgogICAgICBpZiB0ZXN0ICIkbm9faW5z
dGFsbCIgPSB5ZXM7IHRoZW4KCSMgV2UgZG9uJ3QgbmVlZCB0byBjcmVhdGUg
YSB3cmFwcGVyIHNjcmlwdC4KCWxpbmtfY29tbWFuZD0iJGNvbXBpbGVfdmFy
JGNvbXBpbGVfY29tbWFuZCRjb21waWxlX3JwYXRoIgoJIyBSZXBsYWNlIHRo
ZSBvdXRwdXQgZmlsZSBzcGVjaWZpY2F0aW9uLgoJbGlua19jb21tYW5kPWAk
RUNITyAiJGxpbmtfY29tbWFuZCIgfCAkU0VEICdzJUBPVVRQVVRAJSciJG91
dHB1dCInJWcnYAoJIyBEZWxldGUgdGhlIG9sZCBvdXRwdXQgZmlsZS4KCSRv
cHRfZHJ5X3J1biB8fCAkUk0gJG91dHB1dAoJIyBMaW5rIHRoZSBleGVjdXRh
YmxlIGFuZCBleGl0CglmdW5jX3Nob3dfZXZhbCAiJGxpbmtfY29tbWFuZCIg
J2V4aXQgJD8nCgoJaWYgdGVzdCAtbiAiJHBvc3RsaW5rX2NtZHMiOyB0aGVu
CgkgIGZ1bmNfdG9fdG9vbF9maWxlICIkb3V0cHV0IgoJICBwb3N0bGlua19j
bWRzPWBmdW5jX2VjaG9fYWxsICIkcG9zdGxpbmtfY21kcyIgfCAkU0VEIC1l
ICdzJUBPVVRQVVRAJSciJG91dHB1dCInJWcnIC1lICdzJUBUT09MX09VVFBV
VEAlJyIkZnVuY190b190b29sX2ZpbGVfcmVzdWx0IiclZydgCgkgIGZ1bmNf
ZXhlY3V0ZV9jbWRzICIkcG9zdGxpbmtfY21kcyIgJ2V4aXQgJD8nCglmaQoK
CWV4aXQgJEVYSVRfU1VDQ0VTUwogICAgICBmaQoKICAgICAgaWYgdGVzdCAi
JGhhcmRjb2RlX2FjdGlvbiIgPSByZWxpbms7IHRoZW4KCSMgRmFzdCBpbnN0
YWxsYXRpb24gaXMgbm90IHN1cHBvcnRlZAoJbGlua19jb21tYW5kPSIkY29t
cGlsZV92YXIkY29tcGlsZV9jb21tYW5kJGNvbXBpbGVfcnBhdGgiCglyZWxp
bmtfY29tbWFuZD0iJGZpbmFsaXplX3ZhciRmaW5hbGl6ZV9jb21tYW5kJGZp
bmFsaXplX3JwYXRoIgoKCWZ1bmNfd2FybmluZyAidGhpcyBwbGF0Zm9ybSBk
b2VzIG5vdCBsaWtlIHVuaW5zdGFsbGVkIHNoYXJlZCBsaWJyYXJpZXMiCglm
dW5jX3dhcm5pbmcgIlxgJG91dHB1dCcgd2lsbCBiZSByZWxpbmtlZCBkdXJp
bmcgaW5zdGFsbGF0aW9uIgogICAgICBlbHNlCglpZiB0ZXN0ICIkZmFzdF9p
bnN0YWxsIiAhPSBubzsgdGhlbgoJICBsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6
ZV92YXIkY29tcGlsZV9jb21tYW5kJGZpbmFsaXplX3JwYXRoIgoJICBpZiB0
ZXN0ICIkZmFzdF9pbnN0YWxsIiA9IHllczsgdGhlbgoJICAgIHJlbGlua19j
b21tYW5kPWAkRUNITyAiJGNvbXBpbGVfdmFyJGNvbXBpbGVfY29tbWFuZCRj
b21waWxlX3JwYXRoIiB8ICRTRUQgJ3MlQE9VVFBVVEAlXCRwcm9nZGlyL1wk
ZmlsZSVnJ2AKCSAgZWxzZQoJICAgICMgZmFzdF9pbnN0YWxsIGlzIHNldCB0
byBuZWVkbGVzcwoJICAgIHJlbGlua19jb21tYW5kPQoJICBmaQoJZWxzZQoJ
ICBsaW5rX2NvbW1hbmQ9IiRjb21waWxlX3ZhciRjb21waWxlX2NvbW1hbmQk
Y29tcGlsZV9ycGF0aCIKCSAgcmVsaW5rX2NvbW1hbmQ9IiRmaW5hbGl6ZV92
YXIkZmluYWxpemVfY29tbWFuZCRmaW5hbGl6ZV9ycGF0aCIKCWZpCiAgICAg
IGZpCgogICAgICAjIFJlcGxhY2UgdGhlIG91dHB1dCBmaWxlIHNwZWNpZmlj
YXRpb24uCiAgICAgIGxpbmtfY29tbWFuZD1gJEVDSE8gIiRsaW5rX2NvbW1h
bmQiIHwgJFNFRCAncyVAT1VUUFVUQCUnIiRvdXRwdXRfb2JqZGlyLyRvdXRw
dXRuYW1lIiclZydgCgogICAgICAjIERlbGV0ZSB0aGUgb2xkIG91dHB1dCBm
aWxlcy4KICAgICAgJG9wdF9kcnlfcnVuIHx8ICRSTSAkb3V0cHV0ICRvdXRw
dXRfb2JqZGlyLyRvdXRwdXRuYW1lICRvdXRwdXRfb2JqZGlyL2x0LSRvdXRw
dXRuYW1lCgogICAgICBmdW5jX3Nob3dfZXZhbCAiJGxpbmtfY29tbWFuZCIg
J2V4aXQgJD8nCgogICAgICBpZiB0ZXN0IC1uICIkcG9zdGxpbmtfY21kcyI7
IHRoZW4KCWZ1bmNfdG9fdG9vbF9maWxlICIkb3V0cHV0X29iamRpci8kb3V0
cHV0bmFtZSIKCXBvc3RsaW5rX2NtZHM9YGZ1bmNfZWNob19hbGwgIiRwb3N0
bGlua19jbWRzIiB8ICRTRUQgLWUgJ3MlQE9VVFBVVEAlJyIkb3V0cHV0X29i
amRpci8kb3V0cHV0bmFtZSInJWcnIC1lICdzJUBUT09MX09VVFBVVEAlJyIk
ZnVuY190b190b29sX2ZpbGVfcmVzdWx0IiclZydgCglmdW5jX2V4ZWN1dGVf
Y21kcyAiJHBvc3RsaW5rX2NtZHMiICdleGl0ICQ/JwogICAgICBmaQoKICAg
ICAgIyBOb3cgY3JlYXRlIHRoZSB3cmFwcGVyIHNjcmlwdC4KICAgICAgZnVu
Y192ZXJib3NlICJjcmVhdGluZyAkb3V0cHV0IgoKICAgICAgIyBRdW90ZSB0
aGUgcmVsaW5rIGNvbW1hbmQgZm9yIHNoaXBwaW5nLgogICAgICBpZiB0ZXN0
IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0aGVuCgkjIFByZXNlcnZlIGFueSB2
YXJpYWJsZXMgdGhhdCBtYXkgYWZmZWN0IGNvbXBpbGVyIGJlaGF2aW9yCglm
b3IgdmFyIGluICR2YXJpYWJsZXNfc2F2ZWRfZm9yX3JlbGluazsgZG8KCSAg
aWYgZXZhbCB0ZXN0IC16IFwiXCR7JHZhcitzZXR9XCI7IHRoZW4KCSAgICBy
ZWxpbmtfY29tbWFuZD0ieyB0ZXN0IC16IFwiXCR7JHZhcitzZXR9XCIgfHwg
JGx0X3Vuc2V0ICR2YXIgfHwgeyAkdmFyPTsgZXhwb3J0ICR2YXI7IH07IH07
ICRyZWxpbmtfY29tbWFuZCIKCSAgZWxpZiBldmFsIHZhcl92YWx1ZT1cJCR2
YXI7IHRlc3QgLXogIiR2YXJfdmFsdWUiOyB0aGVuCgkgICAgcmVsaW5rX2Nv
bW1hbmQ9IiR2YXI9OyBleHBvcnQgJHZhcjsgJHJlbGlua19jb21tYW5kIgoJ
ICBlbHNlCgkgICAgZnVuY19xdW90ZV9mb3JfZXZhbCAiJHZhcl92YWx1ZSIK
CSAgICByZWxpbmtfY29tbWFuZD0iJHZhcj0kZnVuY19xdW90ZV9mb3JfZXZh
bF9yZXN1bHQ7IGV4cG9ydCAkdmFyOyAkcmVsaW5rX2NvbW1hbmQiCgkgIGZp
Cglkb25lCglyZWxpbmtfY29tbWFuZD0iKGNkIGBwd2RgOyAkcmVsaW5rX2Nv
bW1hbmQpIgoJcmVsaW5rX2NvbW1hbmQ9YCRFQ0hPICIkcmVsaW5rX2NvbW1h
bmQiIHwgJFNFRCAiJHNlZF9xdW90ZV9zdWJzdCJgCiAgICAgIGZpCgogICAg
ICAjIE9ubHkgYWN0dWFsbHkgZG8gdGhpbmdzIGlmIG5vdCBpbiBkcnkgcnVu
IG1vZGUuCiAgICAgICRvcHRfZHJ5X3J1biB8fCB7CgkjIHdpbjMyIHdpbGwg
dGhpbmsgdGhlIHNjcmlwdCBpcyBhIGJpbmFyeSBpZiBpdCBoYXMKCSMgYSAu
ZXhlIHN1ZmZpeCwgc28gd2Ugc3RyaXAgaXQgb2ZmIGhlcmUuCgljYXNlICRv
dXRwdXQgaW4KCSAgKi5leGUpIGZ1bmNfc3RyaXBuYW1lICcnICcuZXhlJyAi
JG91dHB1dCIKCSAgICAgICAgIG91dHB1dD0kZnVuY19zdHJpcG5hbWVfcmVz
dWx0IDs7Cgllc2FjCgkjIHRlc3QgZm9yIGN5Z3dpbiBiZWNhdXNlIG12IGZh
aWxzIHcvbyAuZXhlIGV4dGVuc2lvbnMKCWNhc2UgJGhvc3QgaW4KCSAgKmN5
Z3dpbiopCgkgICAgZXhlZXh0PS5leGUKCSAgICBmdW5jX3N0cmlwbmFtZSAn
JyAnLmV4ZScgIiRvdXRwdXRuYW1lIgoJICAgIG91dHB1dG5hbWU9JGZ1bmNf
c3RyaXBuYW1lX3Jlc3VsdCA7OwoJICAqKSBleGVleHQ9IDs7Cgllc2FjCglj
YXNlICRob3N0IGluCgkgICpjeWd3aW4qIHwgKm1pbmd3KiApCgkgICAgZnVu
Y19kaXJuYW1lX2FuZF9iYXNlbmFtZSAiJG91dHB1dCIgIiIgIi4iCgkgICAg
b3V0cHV0X25hbWU9JGZ1bmNfYmFzZW5hbWVfcmVzdWx0CgkgICAgb3V0cHV0
X3BhdGg9JGZ1bmNfZGlybmFtZV9yZXN1bHQKCSAgICBjd3JhcHBlcnNvdXJj
ZT0iJG91dHB1dF9wYXRoLyRvYmpkaXIvbHQtJG91dHB1dF9uYW1lLmMiCgkg
ICAgY3dyYXBwZXI9IiRvdXRwdXRfcGF0aC8kb3V0cHV0X25hbWUuZXhlIgoJ
ICAgICRSTSAkY3dyYXBwZXJzb3VyY2UgJGN3cmFwcGVyCgkgICAgdHJhcCAi
JFJNICRjd3JhcHBlcnNvdXJjZSAkY3dyYXBwZXI7IGV4aXQgJEVYSVRfRkFJ
TFVSRSIgMSAyIDE1CgoJICAgIGZ1bmNfZW1pdF9jd3JhcHBlcmV4ZV9zcmMg
PiAkY3dyYXBwZXJzb3VyY2UKCgkgICAgIyBUaGUgd3JhcHBlciBleGVjdXRh
YmxlIGlzIGJ1aWx0IHVzaW5nIHRoZSAkaG9zdCBjb21waWxlciwKCSAgICAj
IGJlY2F1c2UgaXQgY29udGFpbnMgJGhvc3QgcGF0aHMgYW5kIGZpbGVzLiBJ
ZiBjcm9zcy0KCSAgICAjIGNvbXBpbGluZywgaXQsIGxpa2UgdGhlIHRhcmdl
dCBleGVjdXRhYmxlLCBtdXN0IGJlCgkgICAgIyBleGVjdXRlZCBvbiB0aGUg
JGhvc3Qgb3IgdW5kZXIgYW4gZW11bGF0aW9uIGVudmlyb25tZW50LgoJICAg
ICRvcHRfZHJ5X3J1biB8fCB7CgkgICAgICAkTFRDQyAkTFRDRkxBR1MgLW8g
JGN3cmFwcGVyICRjd3JhcHBlcnNvdXJjZQoJICAgICAgJFNUUklQICRjd3Jh
cHBlcgoJICAgIH0KCgkgICAgIyBOb3csIGNyZWF0ZSB0aGUgd3JhcHBlciBz
Y3JpcHQgZm9yIGZ1bmNfc291cmNlIHVzZToKCSAgICBmdW5jX2x0d3JhcHBl
cl9zY3JpcHRuYW1lICRjd3JhcHBlcgoJICAgICRSTSAkZnVuY19sdHdyYXBw
ZXJfc2NyaXB0bmFtZV9yZXN1bHQKCSAgICB0cmFwICIkUk0gJGZ1bmNfbHR3
cmFwcGVyX3NjcmlwdG5hbWVfcmVzdWx0OyBleGl0ICRFWElUX0ZBSUxVUkUi
IDEgMiAxNQoJICAgICRvcHRfZHJ5X3J1biB8fCB7CgkgICAgICAjIG5vdGU6
IHRoaXMgc2NyaXB0IHdpbGwgbm90IGJlIGV4ZWN1dGVkLCBzbyBkbyBub3Qg
Y2htb2QuCgkgICAgICBpZiB0ZXN0ICJ4JGJ1aWxkIiA9ICJ4JGhvc3QiIDsg
dGhlbgoJCSRjd3JhcHBlciAtLWx0LWR1bXAtc2NyaXB0ID4gJGZ1bmNfbHR3
cmFwcGVyX3NjcmlwdG5hbWVfcmVzdWx0CgkgICAgICBlbHNlCgkJZnVuY19l
bWl0X3dyYXBwZXIgbm8gPiAkZnVuY19sdHdyYXBwZXJfc2NyaXB0bmFtZV9y
ZXN1bHQKCSAgICAgIGZpCgkgICAgfQoJICA7OwoJICAqICkKCSAgICAkUk0g
JG91dHB1dAoJICAgIHRyYXAgIiRSTSAkb3V0cHV0OyBleGl0ICRFWElUX0ZB
SUxVUkUiIDEgMiAxNQoKCSAgICBmdW5jX2VtaXRfd3JhcHBlciBubyA+ICRv
dXRwdXQKCSAgICBjaG1vZCAreCAkb3V0cHV0CgkgIDs7Cgllc2FjCiAgICAg
IH0KICAgICAgZXhpdCAkRVhJVF9TVUNDRVNTCiAgICAgIDs7CiAgICBlc2Fj
CgogICAgIyBTZWUgaWYgd2UgbmVlZCB0byBidWlsZCBhbiBvbGQtZmFzaGlv
bmVkIGFyY2hpdmUuCiAgICBmb3Igb2xkbGliIGluICRvbGRsaWJzOyBkbwoK
ICAgICAgaWYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSBjb252ZW5p
ZW5jZTsgdGhlbgoJb2xkb2Jqcz0iJGxpYm9ianNfc2F2ZSAkc3ltZmlsZW9i
aiIKCWFkZGxpYnM9IiRjb252ZW5pZW5jZSIKCWJ1aWxkX2xpYnRvb2xfbGli
cz1ubwogICAgICBlbHNlCglpZiB0ZXN0ICIkYnVpbGRfbGlidG9vbF9saWJz
IiA9IG1vZHVsZTsgdGhlbgoJICBvbGRvYmpzPSIkbGlib2Jqc19zYXZlIgoJ
ICBidWlsZF9saWJ0b29sX2xpYnM9bm8KCWVsc2UKCSAgb2xkb2Jqcz0iJG9s
ZF9kZXBsaWJzICRub25fcGljX29iamVjdHMiCgkgIGlmIHRlc3QgIiRwcmVs
b2FkIiA9IHllcyAmJiB0ZXN0IC1mICIkc3ltZmlsZW9iaiI7IHRoZW4KCSAg
ICBvbGRvYmpzKz0iICRzeW1maWxlb2JqIgoJICBmaQoJZmkKCWFkZGxpYnM9
IiRvbGRfY29udmVuaWVuY2UiCiAgICAgIGZpCgogICAgICBpZiB0ZXN0IC1u
ICIkYWRkbGlicyI7IHRoZW4KCWdlbnRvcD0iJG91dHB1dF9vYmpkaXIvJHtv
dXRwdXRuYW1lfXgiCglnZW5lcmF0ZWQrPSIgJGdlbnRvcCIKCglmdW5jX2V4
dHJhY3RfYXJjaGl2ZXMgJGdlbnRvcCAkYWRkbGlicwoJb2xkb2Jqcys9IiAk
ZnVuY19leHRyYWN0X2FyY2hpdmVzX3Jlc3VsdCIKICAgICAgZmkKCiAgICAg
ICMgRG8gZWFjaCBjb21tYW5kIGluIHRoZSBhcmNoaXZlIGNvbW1hbmRzLgog
ICAgICBpZiB0ZXN0IC1uICIkb2xkX2FyY2hpdmVfZnJvbV9uZXdfY21kcyIg
JiYgdGVzdCAiJGJ1aWxkX2xpYnRvb2xfbGlicyIgPSB5ZXM7IHRoZW4KCWNt
ZHM9JG9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHMKICAgICAgZWxzZQoKCSMg
QWRkIGFueSBvYmplY3RzIGZyb20gcHJlbG9hZGVkIGNvbnZlbmllbmNlIGxp
YnJhcmllcwoJaWYgdGVzdCAtbiAiJGRscHJlZmlsZXMiOyB0aGVuCgkgIGdl
bnRvcD0iJG91dHB1dF9vYmpkaXIvJHtvdXRwdXRuYW1lfXgiCgkgIGdlbmVy
YXRlZCs9IiAkZ2VudG9wIgoKCSAgZnVuY19leHRyYWN0X2FyY2hpdmVzICRn
ZW50b3AgJGRscHJlZmlsZXMKCSAgb2xkb2Jqcys9IiAkZnVuY19leHRyYWN0
X2FyY2hpdmVzX3Jlc3VsdCIKCWZpCgoJIyBQT1NJWCBkZW1hbmRzIG5vIHBh
dGhzIHRvIGJlIGVuY29kZWQgaW4gYXJjaGl2ZXMuICBXZSBoYXZlCgkjIHRv
IGF2b2lkIGNyZWF0aW5nIGFyY2hpdmVzIHdpdGggZHVwbGljYXRlIGJhc2Vu
YW1lcyBpZiB3ZQoJIyBtaWdodCBoYXZlIHRvIGV4dHJhY3QgdGhlbSBhZnRl
cndhcmRzLCBlLmcuLCB3aGVuIGNyZWF0aW5nIGEKCSMgc3RhdGljIGFyY2hp
dmUgb3V0IG9mIGEgY29udmVuaWVuY2UgbGlicmFyeSwgb3Igd2hlbiBsaW5r
aW5nCgkjIHRoZSBlbnRpcmV0eSBvZiBhIGxpYnRvb2wgYXJjaGl2ZSBpbnRv
IGFub3RoZXIgKGN1cnJlbnRseQoJIyBub3Qgc3VwcG9ydGVkIGJ5IGxpYnRv
b2wpLgoJaWYgKGZvciBvYmogaW4gJG9sZG9ianMKCSAgICBkbwoJICAgICAg
ZnVuY19iYXNlbmFtZSAiJG9iaiIKCSAgICAgICRFQ0hPICIkZnVuY19iYXNl
bmFtZV9yZXN1bHQiCgkgICAgZG9uZSB8IHNvcnQgfCBzb3J0IC11YyA+L2Rl
di9udWxsIDI+JjEpOyB0aGVuCgkgIDoKCWVsc2UKCSAgZWNobyAiY29weWlu
ZyBzZWxlY3RlZCBvYmplY3QgZmlsZXMgdG8gYXZvaWQgYmFzZW5hbWUgY29u
ZmxpY3RzLi4uIgoJICBnZW50b3A9IiRvdXRwdXRfb2JqZGlyLyR7b3V0cHV0
bmFtZX14IgoJICBnZW5lcmF0ZWQrPSIgJGdlbnRvcCIKCSAgZnVuY19ta2Rp
cl9wICIkZ2VudG9wIgoJICBzYXZlX29sZG9ianM9JG9sZG9ianMKCSAgb2xk
b2Jqcz0KCSAgY291bnRlcj0xCgkgIGZvciBvYmogaW4gJHNhdmVfb2xkb2Jq
cwoJICBkbwoJICAgIGZ1bmNfYmFzZW5hbWUgIiRvYmoiCgkgICAgb2JqYmFz
ZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoJICAgIGNhc2UgIiAkb2xkb2Jq
cyAiIGluCgkgICAgIiAiKSBvbGRvYmpzPSRvYmogOzsKCSAgICAqW1wgL10i
JG9iamJhc2UgIiopCgkgICAgICB3aGlsZSA6OyBkbwoJCSMgTWFrZSBzdXJl
IHdlIGRvbid0IHBpY2sgYW4gYWx0ZXJuYXRlIG5hbWUgdGhhdCBhbHNvCgkJ
IyBvdmVybGFwcy4KCQluZXdvYmo9bHQkY291bnRlci0kb2JqYmFzZQoJCWZ1
bmNfYXJpdGggJGNvdW50ZXIgKyAxCgkJY291bnRlcj0kZnVuY19hcml0aF9y
ZXN1bHQKCQljYXNlICIgJG9sZG9ianMgIiBpbgoJCSpbXCAvXSIkbmV3b2Jq
ICIqKSA7OwoJCSopIGlmIHRlc3QgISAtZiAiJGdlbnRvcC8kbmV3b2JqIjsg
dGhlbiBicmVhazsgZmkgOzsKCQllc2FjCgkgICAgICBkb25lCgkgICAgICBm
dW5jX3Nob3dfZXZhbCAibG4gJG9iaiAkZ2VudG9wLyRuZXdvYmogfHwgY3Ag
JG9iaiAkZ2VudG9wLyRuZXdvYmoiCgkgICAgICBvbGRvYmpzKz0iICRnZW50
b3AvJG5ld29iaiIKCSAgICAgIDs7CgkgICAgKikgb2xkb2Jqcys9IiAkb2Jq
IiA7OwoJICAgIGVzYWMKCSAgZG9uZQoJZmkKCWZ1bmNfdG9fdG9vbF9maWxl
ICIkb2xkbGliIiBmdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgoJdG9v
bF9vbGRsaWI9JGZ1bmNfdG9fdG9vbF9maWxlX3Jlc3VsdAoJZXZhbCBjbWRz
PVwiJG9sZF9hcmNoaXZlX2NtZHNcIgoKCWZ1bmNfbGVuICIgJGNtZHMiCgls
ZW49JGZ1bmNfbGVuX3Jlc3VsdAoJaWYgdGVzdCAiJGxlbiIgLWx0ICIkbWF4
X2NtZF9sZW4iIHx8IHRlc3QgIiRtYXhfY21kX2xlbiIgLWxlIC0xOyB0aGVu
CgkgIGNtZHM9JG9sZF9hcmNoaXZlX2NtZHMKCWVsaWYgdGVzdCAtbiAiJGFy
Y2hpdmVyX2xpc3Rfc3BlYyI7IHRoZW4KCSAgZnVuY192ZXJib3NlICJ1c2lu
ZyBjb21tYW5kIGZpbGUgYXJjaGl2ZSBsaW5raW5nLi4uIgoJICBmb3Igb2Jq
IGluICRvbGRvYmpzCgkgIGRvCgkgICAgZnVuY190b190b29sX2ZpbGUgIiRv
YmoiCgkgICAgJEVDSE8gIiRmdW5jX3RvX3Rvb2xfZmlsZV9yZXN1bHQiCgkg
IGRvbmUgPiAkb3V0cHV0X29iamRpci8kbGlibmFtZS5saWJjbWQKCSAgZnVu
Y190b190b29sX2ZpbGUgIiRvdXRwdXRfb2JqZGlyLyRsaWJuYW1lLmxpYmNt
ZCIKCSAgb2xkb2Jqcz0iICRhcmNoaXZlcl9saXN0X3NwZWMkZnVuY190b190
b29sX2ZpbGVfcmVzdWx0IgoJICBjbWRzPSRvbGRfYXJjaGl2ZV9jbWRzCgll
bHNlCgkgICMgdGhlIGNvbW1hbmQgbGluZSBpcyB0b28gbG9uZyB0byBsaW5r
IGluIG9uZSBzdGVwLCBsaW5rIGluIHBhcnRzCgkgIGZ1bmNfdmVyYm9zZSAi
dXNpbmcgcGllY2V3aXNlIGFyY2hpdmUgbGlua2luZy4uLiIKCSAgc2F2ZV9S
QU5MSUI9JFJBTkxJQgoJICBSQU5MSUI9OgoJICBvYmpsaXN0PQoJICBjb25j
YXRfY21kcz0KCSAgc2F2ZV9vbGRvYmpzPSRvbGRvYmpzCgkgIG9sZG9ianM9
CgkgICMgSXMgdGhlcmUgYSBiZXR0ZXIgd2F5IG9mIGZpbmRpbmcgdGhlIGxh
c3Qgb2JqZWN0IGluIHRoZSBsaXN0PwoJICBmb3Igb2JqIGluICRzYXZlX29s
ZG9ianMKCSAgZG8KCSAgICBsYXN0X29sZG9iaj0kb2JqCgkgIGRvbmUKCSAg
ZXZhbCB0ZXN0X2NtZHM9XCIkb2xkX2FyY2hpdmVfY21kc1wiCgkgIGZ1bmNf
bGVuICIgJHRlc3RfY21kcyIKCSAgbGVuMD0kZnVuY19sZW5fcmVzdWx0Cgkg
IGxlbj0kbGVuMAoJICBmb3Igb2JqIGluICRzYXZlX29sZG9ianMKCSAgZG8K
CSAgICBmdW5jX2xlbiAiICRvYmoiCgkgICAgZnVuY19hcml0aCAkbGVuICsg
JGZ1bmNfbGVuX3Jlc3VsdAoJICAgIGxlbj0kZnVuY19hcml0aF9yZXN1bHQK
CSAgICBvYmpsaXN0Kz0iICRvYmoiCgkgICAgaWYgdGVzdCAiJGxlbiIgLWx0
ICIkbWF4X2NtZF9sZW4iOyB0aGVuCgkgICAgICA6CgkgICAgZWxzZQoJICAg
ICAgIyB0aGUgYWJvdmUgY29tbWFuZCBzaG91bGQgYmUgdXNlZCBiZWZvcmUg
aXQgZ2V0cyB0b28gbG9uZwoJICAgICAgb2xkb2Jqcz0kb2JqbGlzdAoJICAg
ICAgaWYgdGVzdCAiJG9iaiIgPSAiJGxhc3Rfb2xkb2JqIiA7IHRoZW4KCQlS
QU5MSUI9JHNhdmVfUkFOTElCCgkgICAgICBmaQoJICAgICAgdGVzdCAteiAi
JGNvbmNhdF9jbWRzIiB8fCBjb25jYXRfY21kcz0kY29uY2F0X2NtZHN+Cgkg
ICAgICBldmFsIGNvbmNhdF9jbWRzPVwiXCR7Y29uY2F0X2NtZHN9JG9sZF9h
cmNoaXZlX2NtZHNcIgoJICAgICAgb2JqbGlzdD0KCSAgICAgIGxlbj0kbGVu
MAoJICAgIGZpCgkgIGRvbmUKCSAgUkFOTElCPSRzYXZlX1JBTkxJQgoJICBv
bGRvYmpzPSRvYmpsaXN0CgkgIGlmIHRlc3QgIlgkb2xkb2JqcyIgPSAiWCIg
OyB0aGVuCgkgICAgZXZhbCBjbWRzPVwiXCRjb25jYXRfY21kc1wiCgkgIGVs
c2UKCSAgICBldmFsIGNtZHM9XCJcJGNvbmNhdF9jbWRzflwkb2xkX2FyY2hp
dmVfY21kc1wiCgkgIGZpCglmaQogICAgICBmaQogICAgICBmdW5jX2V4ZWN1
dGVfY21kcyAiJGNtZHMiICdleGl0ICQ/JwogICAgZG9uZQoKICAgIHRlc3Qg
LW4gIiRnZW5lcmF0ZWQiICYmIFwKICAgICAgZnVuY19zaG93X2V2YWwgIiR7
Uk19ciRnZW5lcmF0ZWQiCgogICAgIyBOb3cgY3JlYXRlIHRoZSBsaWJ0b29s
IGFyY2hpdmUuCiAgICBjYXNlICRvdXRwdXQgaW4KICAgICoubGEpCiAgICAg
IG9sZF9saWJyYXJ5PQogICAgICB0ZXN0ICIkYnVpbGRfb2xkX2xpYnMiID0g
eWVzICYmIG9sZF9saWJyYXJ5PSIkbGlibmFtZS4kbGliZXh0IgogICAgICBm
dW5jX3ZlcmJvc2UgImNyZWF0aW5nICRvdXRwdXQiCgogICAgICAjIFByZXNl
cnZlIGFueSB2YXJpYWJsZXMgdGhhdCBtYXkgYWZmZWN0IGNvbXBpbGVyIGJl
aGF2aW9yCiAgICAgIGZvciB2YXIgaW4gJHZhcmlhYmxlc19zYXZlZF9mb3Jf
cmVsaW5rOyBkbwoJaWYgZXZhbCB0ZXN0IC16IFwiXCR7JHZhcitzZXR9XCI7
IHRoZW4KCSAgcmVsaW5rX2NvbW1hbmQ9InsgdGVzdCAteiBcIlwkeyR2YXIr
c2V0fVwiIHx8ICRsdF91bnNldCAkdmFyIHx8IHsgJHZhcj07IGV4cG9ydCAk
dmFyOyB9OyB9OyAkcmVsaW5rX2NvbW1hbmQiCgllbGlmIGV2YWwgdmFyX3Zh
bHVlPVwkJHZhcjsgdGVzdCAteiAiJHZhcl92YWx1ZSI7IHRoZW4KCSAgcmVs
aW5rX2NvbW1hbmQ9IiR2YXI9OyBleHBvcnQgJHZhcjsgJHJlbGlua19jb21t
YW5kIgoJZWxzZQoJICBmdW5jX3F1b3RlX2Zvcl9ldmFsICIkdmFyX3ZhbHVl
IgoJICByZWxpbmtfY29tbWFuZD0iJHZhcj0kZnVuY19xdW90ZV9mb3JfZXZh
bF9yZXN1bHQ7IGV4cG9ydCAkdmFyOyAkcmVsaW5rX2NvbW1hbmQiCglmaQog
ICAgICBkb25lCiAgICAgICMgUXVvdGUgdGhlIGxpbmsgY29tbWFuZCBmb3Ig
c2hpcHBpbmcuCiAgICAgIHJlbGlua19jb21tYW5kPSIoY2QgYHB3ZGA7ICRT
SEVMTCAkcHJvZ3BhdGggJHByZXNlcnZlX2FyZ3MgLS1tb2RlPXJlbGluayAk
bGlidG9vbF9hcmdzIEBpbnN0X3ByZWZpeF9kaXJAKSIKICAgICAgcmVsaW5r
X2NvbW1hbmQ9YCRFQ0hPICIkcmVsaW5rX2NvbW1hbmQiIHwgJFNFRCAiJHNl
ZF9xdW90ZV9zdWJzdCJgCiAgICAgIGlmIHRlc3QgIiRoYXJkY29kZV9hdXRv
bWF0aWMiID0geWVzIDsgdGhlbgoJcmVsaW5rX2NvbW1hbmQ9CiAgICAgIGZp
CgogICAgICAjIE9ubHkgY3JlYXRlIHRoZSBvdXRwdXQgaWYgbm90IGEgZHJ5
IHJ1bi4KICAgICAgJG9wdF9kcnlfcnVuIHx8IHsKCWZvciBpbnN0YWxsZWQg
aW4gbm8geWVzOyBkbwoJICBpZiB0ZXN0ICIkaW5zdGFsbGVkIiA9IHllczsg
dGhlbgoJICAgIGlmIHRlc3QgLXogIiRpbnN0YWxsX2xpYmRpciI7IHRoZW4K
CSAgICAgIGJyZWFrCgkgICAgZmkKCSAgICBvdXRwdXQ9IiRvdXRwdXRfb2Jq
ZGlyLyRvdXRwdXRuYW1lImkKCSAgICAjIFJlcGxhY2UgYWxsIHVuaW5zdGFs
bGVkIGxpYnRvb2wgbGlicmFyaWVzIHdpdGggdGhlIGluc3RhbGxlZCBvbmVz
CgkgICAgbmV3ZGVwZW5kZW5jeV9saWJzPQoJICAgIGZvciBkZXBsaWIgaW4g
JGRlcGVuZGVuY3lfbGliczsgZG8KCSAgICAgIGNhc2UgJGRlcGxpYiBpbgoJ
ICAgICAgKi5sYSkKCQlmdW5jX2Jhc2VuYW1lICIkZGVwbGliIgoJCW5hbWU9
IiRmdW5jX2Jhc2VuYW1lX3Jlc3VsdCIKCQlmdW5jX3Jlc29sdmVfc3lzcm9v
dCAiJGRlcGxpYiIKCQlldmFsIGxpYmRpcj1gJHtTRUR9IC1uIC1lICdzL15s
aWJkaXI9XCguKlwpJC9cMS9wJyAkZnVuY19yZXNvbHZlX3N5c3Jvb3RfcmVz
dWx0YAoJCXRlc3QgLXogIiRsaWJkaXIiICYmIFwKCQkgIGZ1bmNfZmF0YWxf
ZXJyb3IgIlxgJGRlcGxpYicgaXMgbm90IGEgdmFsaWQgbGlidG9vbCBhcmNo
aXZlIgoJCW5ld2RlcGVuZGVuY3lfbGlicys9IiAke2x0X3N5c3Jvb3Q6Kz19
JGxpYmRpci8kbmFtZSIKCQk7OwoJICAgICAgLUwqKQoJCWZ1bmNfc3RyaXBu
YW1lIC1MICcnICIkZGVwbGliIgoJCWZ1bmNfcmVwbGFjZV9zeXNyb290ICIk
ZnVuY19zdHJpcG5hbWVfcmVzdWx0IgoJCW5ld2RlcGVuZGVuY3lfbGlicys9
IiAtTCRmdW5jX3JlcGxhY2Vfc3lzcm9vdF9yZXN1bHQiCgkJOzsKCSAgICAg
IC1SKikKCQlmdW5jX3N0cmlwbmFtZSAtUiAnJyAiJGRlcGxpYiIKCQlmdW5j
X3JlcGxhY2Vfc3lzcm9vdCAiJGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdCIKCQlu
ZXdkZXBlbmRlbmN5X2xpYnMrPSIgLVIkZnVuY19yZXBsYWNlX3N5c3Jvb3Rf
cmVzdWx0IgoJCTs7CgkgICAgICAqKSBuZXdkZXBlbmRlbmN5X2xpYnMrPSIg
JGRlcGxpYiIgOzsKCSAgICAgIGVzYWMKCSAgICBkb25lCgkgICAgZGVwZW5k
ZW5jeV9saWJzPSIkbmV3ZGVwZW5kZW5jeV9saWJzIgoJICAgIG5ld2RsZmls
ZXM9CgoJICAgIGZvciBsaWIgaW4gJGRsZmlsZXM7IGRvCgkgICAgICBjYXNl
ICRsaWIgaW4KCSAgICAgICoubGEpCgkgICAgICAgIGZ1bmNfYmFzZW5hbWUg
IiRsaWIiCgkJbmFtZT0iJGZ1bmNfYmFzZW5hbWVfcmVzdWx0IgoJCWV2YWwg
bGliZGlyPWAke1NFRH0gLW4gLWUgJ3MvXmxpYmRpcj1cKC4qXCkkL1wxL3An
ICRsaWJgCgkJdGVzdCAteiAiJGxpYmRpciIgJiYgXAoJCSAgZnVuY19mYXRh
bF9lcnJvciAiXGAkbGliJyBpcyBub3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hp
dmUiCgkJbmV3ZGxmaWxlcys9IiAke2x0X3N5c3Jvb3Q6Kz19JGxpYmRpci8k
bmFtZSIKCQk7OwoJICAgICAgKikgbmV3ZGxmaWxlcys9IiAkbGliIiA7OwoJ
ICAgICAgZXNhYwoJICAgIGRvbmUKCSAgICBkbGZpbGVzPSIkbmV3ZGxmaWxl
cyIKCSAgICBuZXdkbHByZWZpbGVzPQoJICAgIGZvciBsaWIgaW4gJGRscHJl
ZmlsZXM7IGRvCgkgICAgICBjYXNlICRsaWIgaW4KCSAgICAgICoubGEpCgkJ
IyBPbmx5IHBhc3MgcHJlb3BlbmVkIGZpbGVzIHRvIHRoZSBwc2V1ZG8tYXJj
aGl2ZSAoZm9yCgkJIyBldmVudHVhbCBsaW5raW5nIHdpdGggdGhlIGFwcC4g
dGhhdCBsaW5rcyBpdCkgaWYgd2UKCQkjIGRpZG4ndCBhbHJlYWR5IGxpbmsg
dGhlIHByZW9wZW5lZCBvYmplY3RzIGRpcmVjdGx5IGludG8KCQkjIHRoZSBs
aWJyYXJ5OgoJCWZ1bmNfYmFzZW5hbWUgIiRsaWIiCgkJbmFtZT0iJGZ1bmNf
YmFzZW5hbWVfcmVzdWx0IgoJCWV2YWwgbGliZGlyPWAke1NFRH0gLW4gLWUg
J3MvXmxpYmRpcj1cKC4qXCkkL1wxL3AnICRsaWJgCgkJdGVzdCAteiAiJGxp
YmRpciIgJiYgXAoJCSAgZnVuY19mYXRhbF9lcnJvciAiXGAkbGliJyBpcyBu
b3QgYSB2YWxpZCBsaWJ0b29sIGFyY2hpdmUiCgkJbmV3ZGxwcmVmaWxlcys9
IiAke2x0X3N5c3Jvb3Q6Kz19JGxpYmRpci8kbmFtZSIKCQk7OwoJICAgICAg
ZXNhYwoJICAgIGRvbmUKCSAgICBkbHByZWZpbGVzPSIkbmV3ZGxwcmVmaWxl
cyIKCSAgZWxzZQoJICAgIG5ld2RsZmlsZXM9CgkgICAgZm9yIGxpYiBpbiAk
ZGxmaWxlczsgZG8KCSAgICAgIGNhc2UgJGxpYiBpbgoJCVtcXC9dKiB8IFtB
LVphLXpdOltcXC9dKikgYWJzPSIkbGliIiA7OwoJCSopIGFicz1gcHdkYCIv
JGxpYiIgOzsKCSAgICAgIGVzYWMKCSAgICAgIG5ld2RsZmlsZXMrPSIgJGFi
cyIKCSAgICBkb25lCgkgICAgZGxmaWxlcz0iJG5ld2RsZmlsZXMiCgkgICAg
bmV3ZGxwcmVmaWxlcz0KCSAgICBmb3IgbGliIGluICRkbHByZWZpbGVzOyBk
bwoJICAgICAgY2FzZSAkbGliIGluCgkJW1xcL10qIHwgW0EtWmEtel06W1xc
L10qKSBhYnM9IiRsaWIiIDs7CgkJKikgYWJzPWBwd2RgIi8kbGliIiA7OwoJ
ICAgICAgZXNhYwoJICAgICAgbmV3ZGxwcmVmaWxlcys9IiAkYWJzIgoJICAg
IGRvbmUKCSAgICBkbHByZWZpbGVzPSIkbmV3ZGxwcmVmaWxlcyIKCSAgZmkK
CSAgJFJNICRvdXRwdXQKCSAgIyBwbGFjZSBkbG5hbWUgaW4gY29ycmVjdCBw
b3NpdGlvbiBmb3IgY3lnd2luCgkgICMgSW4gZmFjdCwgaXQgd291bGQgYmUg
bmljZSBpZiB3ZSBjb3VsZCB1c2UgdGhpcyBjb2RlIGZvciBhbGwgdGFyZ2V0
CgkgICMgc3lzdGVtcyB0aGF0IGNhbid0IGhhcmQtY29kZSBsaWJyYXJ5IHBh
dGhzIGludG8gdGhlaXIgZXhlY3V0YWJsZXMKCSAgIyBhbmQgdGhhdCBoYXZl
IG5vIHNoYXJlZCBsaWJyYXJ5IHBhdGggdmFyaWFibGUgaW5kZXBlbmRlbnQg
b2YgUEFUSCwKCSAgIyBidXQgaXQgdHVybnMgb3V0IHdlIGNhbid0IGVhc2ls
eSBkZXRlcm1pbmUgdGhhdCBmcm9tIGluc3BlY3RpbmcKCSAgIyBsaWJ0b29s
IHZhcmlhYmxlcywgc28gd2UgaGF2ZSB0byBoYXJkLWNvZGUgdGhlIE9TcyB0
byB3aGljaCBpdAoJICAjIGFwcGxpZXMgaGVyZTsgYXQgdGhlIG1vbWVudCwg
dGhhdCBtZWFucyBwbGF0Zm9ybXMgdGhhdCB1c2UgdGhlIFBFCgkgICMgb2Jq
ZWN0IGZvcm1hdCB3aXRoIERMTCBmaWxlcy4gIFNlZSB0aGUgbG9uZyBjb21t
ZW50IGF0IHRoZSB0b3Agb2YKCSAgIyB0ZXN0cy9iaW5kaXIuYXQgZm9yIGZ1
bGwgZGV0YWlscy4KCSAgdGRsbmFtZT0kZGxuYW1lCgkgIGNhc2UgJGhvc3Qs
JG91dHB1dCwkaW5zdGFsbGVkLCRtb2R1bGUsJGRsbmFtZSBpbgoJICAgICpj
eWd3aW4qLCpsYWkseWVzLG5vLCouZGxsIHwgKm1pbmd3KiwqbGFpLHllcyxu
bywqLmRsbCB8ICpjZWdjYyosKmxhaSx5ZXMsbm8sKi5kbGwpCgkgICAgICAj
IElmIGEgLWJpbmRpciBhcmd1bWVudCB3YXMgc3VwcGxpZWQsIHBsYWNlIHRo
ZSBkbGwgdGhlcmUuCgkgICAgICBpZiB0ZXN0ICJ4JGJpbmRpciIgIT0geCA7
CgkgICAgICB0aGVuCgkJZnVuY19yZWxhdGl2ZV9wYXRoICIkaW5zdGFsbF9s
aWJkaXIiICIkYmluZGlyIgoJCXRkbG5hbWU9JGZ1bmNfcmVsYXRpdmVfcGF0
aF9yZXN1bHQkZGxuYW1lCgkgICAgICBlbHNlCgkJIyBPdGhlcndpc2UgZmFs
bCBiYWNrIG9uIGhldXJpc3RpYy4KCQl0ZGxuYW1lPS4uL2Jpbi8kZGxuYW1l
CgkgICAgICBmaQoJICAgICAgOzsKCSAgZXNhYwoJICAkRUNITyA+ICRvdXRw
dXQgIlwKIyAkb3V0cHV0bmFtZSAtIGEgbGlidG9vbCBsaWJyYXJ5IGZpbGUK
IyBHZW5lcmF0ZWQgYnkgJFBST0dSQU0gKEdOVSAkUEFDS0FHRSRUSU1FU1RB
TVApICRWRVJTSU9OCiMKIyBQbGVhc2UgRE8gTk9UIGRlbGV0ZSB0aGlzIGZp
bGUhCiMgSXQgaXMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHRoZSBsaWJyYXJ5
LgoKIyBUaGUgbmFtZSB0aGF0IHdlIGNhbiBkbG9wZW4oMykuCmRsbmFtZT0n
JHRkbG5hbWUnCgojIE5hbWVzIG9mIHRoaXMgbGlicmFyeS4KbGlicmFyeV9u
YW1lcz0nJGxpYnJhcnlfbmFtZXMnCgojIFRoZSBuYW1lIG9mIHRoZSBzdGF0
aWMgYXJjaGl2ZS4Kb2xkX2xpYnJhcnk9JyRvbGRfbGlicmFyeScKCiMgTGlu
a2VyIGZsYWdzIHRoYXQgY2FuIG5vdCBnbyBpbiBkZXBlbmRlbmN5X2xpYnMu
CmluaGVyaXRlZF9saW5rZXJfZmxhZ3M9JyRuZXdfaW5oZXJpdGVkX2xpbmtl
cl9mbGFncycKCiMgTGlicmFyaWVzIHRoYXQgdGhpcyBvbmUgZGVwZW5kcyB1
cG9uLgpkZXBlbmRlbmN5X2xpYnM9JyRkZXBlbmRlbmN5X2xpYnMnCgojIE5h
bWVzIG9mIGFkZGl0aW9uYWwgd2VhayBsaWJyYXJpZXMgcHJvdmlkZWQgYnkg
dGhpcyBsaWJyYXJ5CndlYWtfbGlicmFyeV9uYW1lcz0nJHdlYWtfbGlicycK
CiMgVmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgJGxpYm5hbWUuCmN1cnJlbnQ9
JGN1cnJlbnQKYWdlPSRhZ2UKcmV2aXNpb249JHJldmlzaW9uCgojIElzIHRo
aXMgYW4gYWxyZWFkeSBpbnN0YWxsZWQgbGlicmFyeT8KaW5zdGFsbGVkPSRp
bnN0YWxsZWQKCiMgU2hvdWxkIHdlIHdhcm4gYWJvdXQgcG9ydGFiaWxpdHkg
d2hlbiBsaW5raW5nIGFnYWluc3QgLW1vZHVsZXM/CnNob3VsZG5vdGxpbms9
JG1vZHVsZQoKIyBGaWxlcyB0byBkbG9wZW4vZGxwcmVvcGVuCmRsb3Blbj0n
JGRsZmlsZXMnCmRscHJlb3Blbj0nJGRscHJlZmlsZXMnCgojIERpcmVjdG9y
eSB0aGF0IHRoaXMgbGlicmFyeSBuZWVkcyB0byBiZSBpbnN0YWxsZWQgaW46
CmxpYmRpcj0nJGluc3RhbGxfbGliZGlyJyIKCSAgaWYgdGVzdCAiJGluc3Rh
bGxlZCIgPSBubyAmJiB0ZXN0ICIkbmVlZF9yZWxpbmsiID0geWVzOyB0aGVu
CgkgICAgJEVDSE8gPj4gJG91dHB1dCAiXApyZWxpbmtfY29tbWFuZD1cIiRy
ZWxpbmtfY29tbWFuZFwiIgoJICBmaQoJZG9uZQogICAgICB9CgogICAgICAj
IERvIGEgc3ltYm9saWMgbGluayBzbyB0aGF0IHRoZSBsaWJ0b29sIGFyY2hp
dmUgY2FuIGJlIGZvdW5kIGluCiAgICAgICMgTERfTElCUkFSWV9QQVRIIGJl
Zm9yZSB0aGUgcHJvZ3JhbSBpcyBpbnN0YWxsZWQuCiAgICAgIGZ1bmNfc2hv
d19ldmFsICcoIGNkICIkb3V0cHV0X29iamRpciIgJiYgJFJNICIkb3V0cHV0
bmFtZSIgJiYgJExOX1MgIi4uLyRvdXRwdXRuYW1lIiAiJG91dHB1dG5hbWUi
ICknICdleGl0ICQ/JwogICAgICA7OwogICAgZXNhYwogICAgZXhpdCAkRVhJ
VF9TVUNDRVNTCn0KCnsgdGVzdCAiJG9wdF9tb2RlIiA9IGxpbmsgfHwgdGVz
dCAiJG9wdF9tb2RlIiA9IHJlbGluazsgfSAmJgogICAgZnVuY19tb2RlX2xp
bmsgJHsxKyIkQCJ9CgoKIyBmdW5jX21vZGVfdW5pbnN0YWxsIGFyZy4uLgpm
dW5jX21vZGVfdW5pbnN0YWxsICgpCnsKICAgICRvcHRfZGVidWcKICAgIFJN
PSIkbm9ub3B0IgogICAgZmlsZXM9CiAgICBybWZvcmNlPQogICAgZXhpdF9z
dGF0dXM9MAoKICAgICMgVGhpcyB2YXJpYWJsZSB0ZWxscyB3cmFwcGVyIHNj
cmlwdHMganVzdCB0byBzZXQgdmFyaWFibGVzIHJhdGhlcgogICAgIyB0aGFu
IHJ1bm5pbmcgdGhlaXIgcHJvZ3JhbXMuCiAgICBsaWJ0b29sX2luc3RhbGxf
bWFnaWM9IiRtYWdpYyIKCiAgICBmb3IgYXJnCiAgICBkbwogICAgICBjYXNl
ICRhcmcgaW4KICAgICAgLWYpIFJNKz0iICRhcmciOyBybWZvcmNlPXllcyA7
OwogICAgICAtKikgUk0rPSIgJGFyZyIgOzsKICAgICAgKikgZmlsZXMrPSIg
JGFyZyIgOzsKICAgICAgZXNhYwogICAgZG9uZQoKICAgIHRlc3QgLXogIiRS
TSIgJiYgXAogICAgICBmdW5jX2ZhdGFsX2hlbHAgInlvdSBtdXN0IHNwZWNp
ZnkgYW4gUk0gcHJvZ3JhbSIKCiAgICBybWRpcnM9CgogICAgZm9yIGZpbGUg
aW4gJGZpbGVzOyBkbwogICAgICBmdW5jX2Rpcm5hbWUgIiRmaWxlIiAiIiAi
LiIKICAgICAgZGlyPSIkZnVuY19kaXJuYW1lX3Jlc3VsdCIKICAgICAgaWYg
dGVzdCAiWCRkaXIiID0gWC47IHRoZW4KCW9kaXI9IiRvYmpkaXIiCiAgICAg
IGVsc2UKCW9kaXI9IiRkaXIvJG9iamRpciIKICAgICAgZmkKICAgICAgZnVu
Y19iYXNlbmFtZSAiJGZpbGUiCiAgICAgIG5hbWU9IiRmdW5jX2Jhc2VuYW1l
X3Jlc3VsdCIKICAgICAgdGVzdCAiJG9wdF9tb2RlIiA9IHVuaW5zdGFsbCAm
JiBvZGlyPSIkZGlyIgoKICAgICAgIyBSZW1lbWJlciBvZGlyIGZvciByZW1v
dmFsIGxhdGVyLCBiZWluZyBjYXJlZnVsIHRvIGF2b2lkIGR1cGxpY2F0ZXMK
ICAgICAgaWYgdGVzdCAiJG9wdF9tb2RlIiA9IGNsZWFuOyB0aGVuCgljYXNl
ICIgJHJtZGlycyAiIGluCgkgICoiICRvZGlyICIqKSA7OwoJICAqKSBybWRp
cnMrPSIgJG9kaXIiIDs7Cgllc2FjCiAgICAgIGZpCgogICAgICAjIERvbid0
IGVycm9yIGlmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QgYW5kIHJtIC1mIHdh
cyB1c2VkLgogICAgICBpZiB7IHRlc3QgLUwgIiRmaWxlIjsgfSA+L2Rldi9u
dWxsIDI+JjEgfHwKCSB7IHRlc3QgLWggIiRmaWxlIjsgfSA+L2Rldi9udWxs
IDI+JjEgfHwKCSB0ZXN0IC1mICIkZmlsZSI7IHRoZW4KCToKICAgICAgZWxp
ZiB0ZXN0IC1kICIkZmlsZSI7IHRoZW4KCWV4aXRfc3RhdHVzPTEKCWNvbnRp
bnVlCiAgICAgIGVsaWYgdGVzdCAiJHJtZm9yY2UiID0geWVzOyB0aGVuCglj
b250aW51ZQogICAgICBmaQoKICAgICAgcm1maWxlcz0iJGZpbGUiCgogICAg
ICBjYXNlICRuYW1lIGluCiAgICAgICoubGEpCgkjIFBvc3NpYmx5IGEgbGli
dG9vbCBhcmNoaXZlLCBzbyB2ZXJpZnkgaXQuCglpZiBmdW5jX2xhbGliX3Ag
IiRmaWxlIjsgdGhlbgoJICBmdW5jX3NvdXJjZSAkZGlyLyRuYW1lCgoJICAj
IERlbGV0ZSB0aGUgbGlidG9vbCBsaWJyYXJpZXMgYW5kIHN5bWxpbmtzLgoJ
ICBmb3IgbiBpbiAkbGlicmFyeV9uYW1lczsgZG8KCSAgICBybWZpbGVzKz0i
ICRvZGlyLyRuIgoJICBkb25lCgkgIHRlc3QgLW4gIiRvbGRfbGlicmFyeSIg
JiYgcm1maWxlcys9IiAkb2Rpci8kb2xkX2xpYnJhcnkiCgoJICBjYXNlICIk
b3B0X21vZGUiIGluCgkgIGNsZWFuKQoJICAgIGNhc2UgIiAkbGlicmFyeV9u
YW1lcyAiIGluCgkgICAgKiIgJGRsbmFtZSAiKikgOzsKCSAgICAqKSB0ZXN0
IC1uICIkZGxuYW1lIiAmJiBybWZpbGVzKz0iICRvZGlyLyRkbG5hbWUiIDs7
CgkgICAgZXNhYwoJICAgIHRlc3QgLW4gIiRsaWJkaXIiICYmIHJtZmlsZXMr
PSIgJG9kaXIvJG5hbWUgJG9kaXIvJHtuYW1lfWkiCgkgICAgOzsKCSAgdW5p
bnN0YWxsKQoJICAgIGlmIHRlc3QgLW4gIiRsaWJyYXJ5X25hbWVzIjsgdGhl
bgoJICAgICAgIyBEbyBlYWNoIGNvbW1hbmQgaW4gdGhlIHBvc3R1bmluc3Rh
bGwgY29tbWFuZHMuCgkgICAgICBmdW5jX2V4ZWN1dGVfY21kcyAiJHBvc3R1
bmluc3RhbGxfY21kcyIgJ3Rlc3QgIiRybWZvcmNlIiA9IHllcyB8fCBleGl0
X3N0YXR1cz0xJwoJICAgIGZpCgoJICAgIGlmIHRlc3QgLW4gIiRvbGRfbGli
cmFyeSI7IHRoZW4KCSAgICAgICMgRG8gZWFjaCBjb21tYW5kIGluIHRoZSBv
bGRfcG9zdHVuaW5zdGFsbCBjb21tYW5kcy4KCSAgICAgIGZ1bmNfZXhlY3V0
ZV9jbWRzICIkb2xkX3Bvc3R1bmluc3RhbGxfY21kcyIgJ3Rlc3QgIiRybWZv
cmNlIiA9IHllcyB8fCBleGl0X3N0YXR1cz0xJwoJICAgIGZpCgkgICAgIyBG
SVhNRTogc2hvdWxkIHJlaW5zdGFsbCB0aGUgYmVzdCByZW1haW5pbmcgc2hh
cmVkIGxpYnJhcnkuCgkgICAgOzsKCSAgZXNhYwoJZmkKCTs7CgogICAgICAq
LmxvKQoJIyBQb3NzaWJseSBhIGxpYnRvb2wgb2JqZWN0LCBzbyB2ZXJpZnkg
aXQuCglpZiBmdW5jX2xhbGliX3AgIiRmaWxlIjsgdGhlbgoKCSAgIyBSZWFk
IHRoZSAubG8gZmlsZQoJICBmdW5jX3NvdXJjZSAkZGlyLyRuYW1lCgoJICAj
IEFkZCBQSUMgb2JqZWN0IHRvIHRoZSBsaXN0IG9mIGZpbGVzIHRvIHJlbW92
ZS4KCSAgaWYgdGVzdCAtbiAiJHBpY19vYmplY3QiICYmCgkgICAgIHRlc3Qg
IiRwaWNfb2JqZWN0IiAhPSBub25lOyB0aGVuCgkgICAgcm1maWxlcys9IiAk
ZGlyLyRwaWNfb2JqZWN0IgoJICBmaQoKCSAgIyBBZGQgbm9uLVBJQyBvYmpl
Y3QgdG8gdGhlIGxpc3Qgb2YgZmlsZXMgdG8gcmVtb3ZlLgoJICBpZiB0ZXN0
IC1uICIkbm9uX3BpY19vYmplY3QiICYmCgkgICAgIHRlc3QgIiRub25fcGlj
X29iamVjdCIgIT0gbm9uZTsgdGhlbgoJICAgIHJtZmlsZXMrPSIgJGRpci8k
bm9uX3BpY19vYmplY3QiCgkgIGZpCglmaQoJOzsKCiAgICAgICopCglpZiB0
ZXN0ICIkb3B0X21vZGUiID0gY2xlYW4gOyB0aGVuCgkgIG5vZXhlbmFtZT0k
bmFtZQoJICBjYXNlICRmaWxlIGluCgkgICouZXhlKQoJICAgIGZ1bmNfc3Ry
aXBuYW1lICcnICcuZXhlJyAiJGZpbGUiCgkgICAgZmlsZT0kZnVuY19zdHJp
cG5hbWVfcmVzdWx0CgkgICAgZnVuY19zdHJpcG5hbWUgJycgJy5leGUnICIk
bmFtZSIKCSAgICBub2V4ZW5hbWU9JGZ1bmNfc3RyaXBuYW1lX3Jlc3VsdAoJ
ICAgICMgJGZpbGUgd2l0aCAuZXhlIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWQg
dG8gcm1maWxlcywKCSAgICAjIGFkZCAkZmlsZSB3aXRob3V0IC5leGUKCSAg
ICBybWZpbGVzKz0iICRmaWxlIgoJICAgIDs7CgkgIGVzYWMKCSAgIyBEbyBh
IHRlc3QgdG8gc2VlIGlmIHRoaXMgaXMgYSBsaWJ0b29sIHByb2dyYW0uCgkg
IGlmIGZ1bmNfbHR3cmFwcGVyX3AgIiRmaWxlIjsgdGhlbgoJICAgIGlmIGZ1
bmNfbHR3cmFwcGVyX2V4ZWN1dGFibGVfcCAiJGZpbGUiOyB0aGVuCgkgICAg
ICBmdW5jX2x0d3JhcHBlcl9zY3JpcHRuYW1lICIkZmlsZSIKCSAgICAgIHJl
bGlua19jb21tYW5kPQoJICAgICAgZnVuY19zb3VyY2UgJGZ1bmNfbHR3cmFw
cGVyX3NjcmlwdG5hbWVfcmVzdWx0CgkgICAgICBybWZpbGVzKz0iICRmdW5j
X2x0d3JhcHBlcl9zY3JpcHRuYW1lX3Jlc3VsdCIKCSAgICBlbHNlCgkgICAg
ICByZWxpbmtfY29tbWFuZD0KCSAgICAgIGZ1bmNfc291cmNlICRkaXIvJG5v
ZXhlbmFtZQoJICAgIGZpCgoJICAgICMgbm90ZSAkbmFtZSBzdGlsbCBjb250
YWlucyAuZXhlIGlmIGl0IHdhcyBpbiAkZmlsZSBvcmlnaW5hbGx5CgkgICAg
IyBhcyBkb2VzIHRoZSB2ZXJzaW9uIG9mICRmaWxlIHRoYXQgd2FzIGFkZGVk
IGludG8gJHJtZmlsZXMKCSAgICBybWZpbGVzKz0iICRvZGlyLyRuYW1lICRv
ZGlyLyR7bmFtZX1TLiR7b2JqZXh0fSIKCSAgICBpZiB0ZXN0ICIkZmFzdF9p
bnN0YWxsIiA9IHllcyAmJiB0ZXN0IC1uICIkcmVsaW5rX2NvbW1hbmQiOyB0
aGVuCgkgICAgICBybWZpbGVzKz0iICRvZGlyL2x0LSRuYW1lIgoJICAgIGZp
CgkgICAgaWYgdGVzdCAiWCRub2V4ZW5hbWUiICE9ICJYJG5hbWUiIDsgdGhl
bgoJICAgICAgcm1maWxlcys9IiAkb2Rpci9sdC0ke25vZXhlbmFtZX0uYyIK
CSAgICBmaQoJICBmaQoJZmkKCTs7CiAgICAgIGVzYWMKICAgICAgZnVuY19z
aG93X2V2YWwgIiRSTSAkcm1maWxlcyIgJ2V4aXRfc3RhdHVzPTEnCiAgICBk
b25lCgogICAgIyBUcnkgdG8gcmVtb3ZlIHRoZSAke29iamRpcn1zIGluIHRo
ZSBkaXJlY3RvcmllcyB3aGVyZSB3ZSBkZWxldGVkIGZpbGVzCiAgICBmb3Ig
ZGlyIGluICRybWRpcnM7IGRvCiAgICAgIGlmIHRlc3QgLWQgIiRkaXIiOyB0
aGVuCglmdW5jX3Nob3dfZXZhbCAicm1kaXIgJGRpciA+L2Rldi9udWxsIDI+
JjEiCiAgICAgIGZpCiAgICBkb25lCgogICAgZXhpdCAkZXhpdF9zdGF0dXMK
fQoKeyB0ZXN0ICIkb3B0X21vZGUiID0gdW5pbnN0YWxsIHx8IHRlc3QgIiRv
cHRfbW9kZSIgPSBjbGVhbjsgfSAmJgogICAgZnVuY19tb2RlX3VuaW5zdGFs
bCAkezErIiRAIn0KCnRlc3QgLXogIiRvcHRfbW9kZSIgJiYgewogIGhlbHA9
IiRnZW5lcmljX2hlbHAiCiAgZnVuY19mYXRhbF9oZWxwICJ5b3UgbXVzdCBz
cGVjaWZ5IGEgTU9ERSIKfQoKdGVzdCAteiAiJGV4ZWNfY21kIiAmJiBcCiAg
ZnVuY19mYXRhbF9oZWxwICJpbnZhbGlkIG9wZXJhdGlvbiBtb2RlIFxgJG9w
dF9tb2RlJyIKCmlmIHRlc3QgLW4gIiRleGVjX2NtZCI7IHRoZW4KICBldmFs
IGV4ZWMgIiRleGVjX2NtZCIKICBleGl0ICRFWElUX0ZBSUxVUkUKZmkKCmV4
aXQgJGV4aXRfc3RhdHVzCgoKIyBUaGUgVEFHcyBiZWxvdyBhcmUgZGVmaW5l
ZCBzdWNoIHRoYXQgd2UgbmV2ZXIgZ2V0IGludG8gYSBzaXR1YXRpb24KIyBp
biB3aGljaCB3ZSBkaXNhYmxlIGJvdGgga2luZHMgb2YgbGlicmFyaWVzLiAg
R2l2ZW4gY29uZmxpY3RpbmcKIyBjaG9pY2VzLCB3ZSBnbyBmb3IgYSBzdGF0
aWMgbGlicmFyeSwgdGhhdCBpcyB0aGUgbW9zdCBwb3J0YWJsZSwKIyBzaW5j
ZSB3ZSBjYW4ndCB0ZWxsIHdoZXRoZXIgc2hhcmVkIGxpYnJhcmllcyB3ZXJl
IGRpc2FibGVkIGJlY2F1c2UKIyB0aGUgdXNlciBhc2tlZCBmb3IgdGhhdCBv
ciBiZWNhdXNlIHRoZSBwbGF0Zm9ybSBkb2Vzbid0IHN1cHBvcnQKIyB0aGVt
LiAgVGhpcyBpcyBwYXJ0aWN1bGFybHkgaW1wb3J0YW50IG9uIEFJWCwgYmVj
YXVzZSB3ZSBkb24ndAojIHN1cHBvcnQgaGF2aW5nIGJvdGggc3RhdGljIGFu
ZCBzaGFyZWQgbGlicmFyaWVzIGVuYWJsZWQgYXQgdGhlIHNhbWUKIyB0aW1l
IG9uIHRoYXQgcGxhdGZvcm0sIHNvIHdlIGRlZmF1bHQgdG8gYSBzaGFyZWQt
b25seSBjb25maWd1cmF0aW9uLgojIElmIGEgZGlzYWJsZS1zaGFyZWQgdGFn
IGlzIGdpdmVuLCB3ZSdsbCBmYWxsYmFjayB0byBhIHN0YXRpYy1vbmx5CiMg
Y29uZmlndXJhdGlvbi4gIEJ1dCB3ZSdsbCBuZXZlciBnbyBmcm9tIHN0YXRp
Yy1vbmx5IHRvIHNoYXJlZC1vbmx5LgoKIyAjIyMgQkVHSU4gTElCVE9PTCBU
QUcgQ09ORklHOiBkaXNhYmxlLXNoYXJlZApidWlsZF9saWJ0b29sX2xpYnM9
bm8KYnVpbGRfb2xkX2xpYnM9eWVzCiMgIyMjIEVORCBMSUJUT09MIFRBRyBD
T05GSUc6IGRpc2FibGUtc2hhcmVkCgojICMjIyBCRUdJTiBMSUJUT09MIFRB
RyBDT05GSUc6IGRpc2FibGUtc3RhdGljCmJ1aWxkX29sZF9saWJzPWBjYXNl
ICRidWlsZF9saWJ0b29sX2xpYnMgaW4geWVzKSBlY2hvIG5vOzsgKikgZWNo
byB5ZXM7OyBlc2FjYAojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBk
aXNhYmxlLXN0YXRpYwoKIyBMb2NhbCBWYXJpYWJsZXM6CiMgbW9kZTpzaGVs
bC1zY3JpcHQKIyBzaC1pbmRlbnRhdGlvbjoyCiMgRW5kOgojIHZpOnN3PTIK
CgojICMjIyBCRUdJTiBMSUJUT09MIFRBRyBDT05GSUc6IENYWAoKIyBUaGUg
bGlua2VyIHVzZWQgdG8gYnVpbGQgbGlicmFyaWVzLgpMRD0iYzovdGluZ3cv
bWluZ3czMi9iaW4vbGQuZXhlIgoKIyBIb3cgdG8gY3JlYXRlIHJlbG9hZGFi
bGUgb2JqZWN0IGZpbGVzLgpyZWxvYWRfZmxhZz0iIC1yIgpyZWxvYWRfY21k
cz0iXCRMRFwkcmVsb2FkX2ZsYWcgLW8gXCRvdXRwdXRcJHJlbG9hZF9vYmpz
IgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNo
aXZlLgpvbGRfYXJjaGl2ZV9jbWRzPSJcJEFSIFwkQVJfRkxBR1MgXCRvbGRs
aWJcJG9sZG9ianN+XCRSQU5MSUIgXCR0b29sX29sZGxpYiIKCiMgQSBsYW5n
dWFnZSBzcGVjaWZpYyBjb21waWxlci4KQ0M9ImcrKyIKCiMgSXMgdGhlIGNv
bXBpbGVyIHRoZSBHTlUgY29tcGlsZXI/CndpdGhfZ2NjPXllcwoKIyBDb21w
aWxlciBmbGFnIHRvIHR1cm4gb2ZmIGJ1aWx0aW4gZnVuY3Rpb25zLgpub19i
dWlsdGluX2ZsYWc9IiAtZm5vLWJ1aWx0aW4iCgojIEFkZGl0aW9uYWwgY29t
cGlsZXIgZmxhZ3MgZm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGlj
X2ZsYWc9IiAtRERMTF9FWFBPUlQgLURQSUMiCgojIEhvdyB0byBwYXNzIGEg
bGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSItV2wsIgoK
IyBDb21waWxlciBmbGFnIHRvIHByZXZlbnQgZHluYW1pYyBsaW5raW5nLgps
aW5rX3N0YXRpY19mbGFnPSItc3RhdGljIgoKIyBEb2VzIGNvbXBpbGVyIHNp
bXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBp
bGVyX2Nfbz0ieWVzIgoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZv
ciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25l
ZWRfbGM9bm8KCiMgV2hldGhlciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVk
IGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0YXRpYy4KYWxsb3dfbGli
dG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPXllcwoKIyBDb21waWxl
ciBmbGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHlu
YW1pY19mbGFnX3NwZWM9Ilwke3dsfS0tZXhwb3J0LWFsbC1zeW1ib2xzIgoK
IyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRp
cmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVj
PSJcJHt3bH0tLXdob2xlLWFyY2hpdmVcJGNvbnZlbmllbmNlIFwke3dsfS0t
bm8td2hvbGUtYXJjaGl2ZSIKCiMgV2hldGhlciB0aGUgY29tcGlsZXIgY29w
ZXMgd2l0aCBwYXNzaW5nIG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVy
X25lZWRzX29iamVjdD0ibm8iCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJj
aGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21f
bmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBh
cmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpv
bGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1
c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0i
XCRDQyAtc2hhcmVkIC1ub3N0ZGxpYiBcJHByZWRlcF9vYmplY3RzIFwkbGli
b2JqcyBcJGRlcGxpYnMgXCRwb3N0ZGVwX29iamVjdHMgXCRjb21waWxlcl9m
bGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUgXCR7d2x9LS1lbmFi
bGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxp
bmtlciBcJGxpYiIKYXJjaGl2ZV9leHBzeW1fY21kcz0iaWYgdGVzdCBcXFwi
eFxcXGBcJFNFRCAxcSBcJGV4cG9ydF9zeW1ib2xzXFxcYFxcXCIgPSB4RVhQ
T1JUUzsgdGhlbgoJICAgICAgY3AgXCRleHBvcnRfc3ltYm9scyBcJG91dHB1
dF9vYmpkaXIvXCRzb25hbWUuZGVmOwoJICAgIGVsc2UKCSAgICAgIGVjaG8g
RVhQT1JUUyA+IFwkb3V0cHV0X29iamRpci9cJHNvbmFtZS5kZWY7CgkgICAg
ICBjYXQgXCRleHBvcnRfc3ltYm9scyA+PiBcJG91dHB1dF9vYmpkaXIvXCRz
b25hbWUuZGVmOwoJICAgIGZpfgoJICAgIFwkQ0MgLXNoYXJlZCAtbm9zdGRs
aWIgXCRvdXRwdXRfb2JqZGlyL1wkc29uYW1lLmRlZiBcJHByZWRlcF9vYmpl
Y3RzIFwkbGlib2JqcyBcJGRlcGxpYnMgXCRwb3N0ZGVwX29iamVjdHMgXCRj
b21waWxlcl9mbGFncyAtbyBcJG91dHB1dF9vYmpkaXIvXCRzb25hbWUgXCR7
d2x9LS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0LWlt
cGxpYiAtWGxpbmtlciBcJGxpYiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWls
ZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBidWlsZGlu
ZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSIiCm1vZHVsZV9l
eHBzeW1fY21kcz0iIgoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGluZyB3aXRo
IEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xkPSJ5ZXMiCgojIEZsYWcgdGhh
dCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBzeW1i
b2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0idW5zdXBw
b3J0ZWQiCgojIEZsYWcgdGhhdCBlbmZvcmNlcyBubyB1bmRlZmluZWQgc3lt
Ym9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0byBoYXJkY29k
ZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVyaW5nIGxpbmtpbmcuCiMgVGhp
cyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGlyIGRvZXMgbm90IGV4aXN0Cmhh
cmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9Ii1MXCRsaWJkaXIiCgojIFdoZXRo
ZXIgd2UgbmVlZCBhIHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBh
cmF0ZWQgYXJndW1lbnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIK
CiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRf
ZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUg
cmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0
byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVy
aW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGlu
ZyBiaW5hcnkgYW5kIHRoZSByZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5
IGlzCiMgImFic29sdXRlIixpLmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkg
c2V0dGluZyAke3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMg
cmVsb2NhdGVkLgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9bm8KCiMgU2V0
IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5r
aW5nIGhhcmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5
LgpoYXJkY29kZV9taW51c19MPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2lu
ZyBTSExJQlBBVEhfVkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMg
RElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hs
aWJwYXRoX3Zhcj11bnN1cHBvcnRlZAoKIyBTZXQgdG8gInllcyIgaWYgYnVp
bGRpbmcgYSBzaGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBs
aWJyYXJpZXMgYW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQu
CmhhcmRjb2RlX2F1dG9tYXRpYz1ubwoKIyBTZXQgdG8geWVzIGlmIGxpbmtl
ciBhZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJhcmllcwoj
IHRvIHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPW5vCgojIFdo
ZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBwcm9ncmFtIGFnYWluc3QgYWxs
IGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4KbGlua19hbGxfZGVwbGlicz11
bmtub3duCgojIFNldCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFy
ZSByZXF1aXJlZC4KYWx3YXlzX2V4cG9ydF9zeW1ib2xzPW5vCgojIFRoZSBj
b21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4cG9ydF9zeW1i
b2xzX2NtZHM9IlwkTk0gXCRsaWJvYmpzIFwkY29udmVuaWVuY2UgfCBcJGds
b2JhbF9zeW1ib2xfcGlwZSB8IFwkU0VEIC1lICcvXltCQ0RHUlNdWyBdL3Mv
LipbIF1cXFxcKFteIF0qXFxcXCkvXFxcXDEgREFUQS87cy9eLipbIF1fX25t
X19cXFxcKFteIF0qXFxcXClbIF1bXiBdKi9cXFxcMSBEQVRBLzsvXklbIF0v
ZDsvXltBSVRXXVsgXS9zLy4qIC8vJyB8IHNvcnQgfCB1bmlxID4gXCRleHBv
cnRfc3ltYm9scyIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBub3QgYmUgbGlz
dGVkIGluIHRoZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVkZV9leHBzeW1z
PSJbX10rR0xPQkFMX09GRlNFVF9UQUJMRV98W19dK0dMT0JBTF9fW0ZJRF1f
Lip8W19dK2hlYWRfW0EtWmEtejAtOV9dK19kbGx8W0EtWmEtejAtOV9dK19k
bGxfaW5hbWUiCgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBleHBv
cnRlZC4KaW5jbHVkZV9leHBzeW1zPSIiCgojIENvbW1hbmRzIG5lY2Vzc2Fy
eSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMpIHdp
dGggdGVtcGxhdGVzLgpwcmVsaW5rX2NtZHM9IiIKCiMgQ29tbWFuZHMgbmVj
ZXNzYXJ5IGZvciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9zdGxp
bmtfY21kcz0iIgoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcgaW5w
dXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSIiCgojIEhvdyB0byBoYXJkY29k
ZSBhIHNoYXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxlLgpo
YXJkY29kZV9hY3Rpb249aW1tZWRpYXRlCgojIFRoZSBkaXJlY3RvcmllcyBz
ZWFyY2hlZCBieSB0aGlzIGNvbXBpbGVyIHdoZW4gY3JlYXRpbmcgYSBzaGFy
ZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzPSJjOi90aW5n
dy9iaW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4xIGM6L3Rpbmd3L2Jpbi8u
Li9saWIvZ2NjIGM6L3Rpbmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44
LjEvLi4vLi4vLi4vLi4vbWluZ3czMi9saWIgYzovdGluZ3cvYmluLy4uL2xp
Yi9nY2MvbWluZ3czMi80LjguMS8uLi8uLi8uLiIKCiMgRGVwZW5kZW5jaWVz
IHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVjdHMgYmVpbmcg
bGlua2VkIHRvCiMgY3JlYXRlIGEgc2hhcmVkIGxpYnJhcnkuCnByZWRlcF9v
YmplY3RzPSJjOi90aW5ndy9iaW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4x
Ly4uLy4uLy4uLy4uL21pbmd3MzIvbGliL2RsbGNydDIubyBjOi90aW5ndy9i
aW4vLi4vbGliL2djYy9taW5ndzMyLzQuOC4xL2NydGJlZ2luLm8iCnBvc3Rk
ZXBfb2JqZWN0cz0iYzovdGluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80
LjguMS9jcnRlbmQubyIKcHJlZGVwcz0iIgpwb3N0ZGVwcz0iLWxzdGRjKysg
LWxtaW5ndzMyIC1sZ2NjX3MgLWxnY2MgLWxtb2xkbmFtZSAtbG1pbmd3ZXgg
LWxtc3ZjcnQgLWxhZHZhcGkzMiAtbHNoZWxsMzIgLWx1c2VyMzIgLWxrZXJu
ZWwzMiAtbG1pbmd3MzIgLWxnY2NfcyAtbGdjYyAtbG1vbGRuYW1lIC1sbWlu
Z3dleCAtbG1zdmNydCIKCiMgVGhlIGxpYnJhcnkgc2VhcmNoIHBhdGggdXNl
ZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxpbmtpbmcKIyBh
IHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX3BhdGg9Ii1M
YzovdGluZ3cvYmluLy4uL2xpYi9nY2MvbWluZ3czMi80LjguMSAtTGM6L3Rp
bmd3L2Jpbi8uLi9saWIvZ2NjIC1MYzovdGluZ3cvYmluLy4uL2xpYi9nY2Mv
bWluZ3czMi80LjguMS8uLi8uLi8uLi8uLi9taW5ndzMyL2xpYiAtTGM6L3Rp
bmd3L2Jpbi8uLi9saWIvZ2NjL21pbmd3MzIvNC44LjEvLi4vLi4vLi4iCgoj
ICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBDWFgKCiMgIyMjIEJFR0lO
IExJQlRPT0wgVEFHIENPTkZJRzogRjc3CgojIFRoZSBsaW5rZXIgdXNlZCB0
byBidWlsZCBsaWJyYXJpZXMuCkxEPSIiCgojIEhvdyB0byBjcmVhdGUgcmVs
b2FkYWJsZSBvYmplY3QgZmlsZXMuCnJlbG9hZF9mbGFnPSIgLXIiCnJlbG9h
ZF9jbWRzPSJcJExEXCRyZWxvYWRfZmxhZyAtbyBcJG91dHB1dFwkcmVsb2Fk
X29ianMiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYW4gb2xkLXN0eWxl
IGFyY2hpdmUuCm9sZF9hcmNoaXZlX2NtZHM9IlwkQVIgXCRBUl9GTEFHUyBc
JG9sZGxpYlwkb2xkb2Jqc35cJFJBTkxJQiBcJHRvb2xfb2xkbGliIgoKIyBB
IGxhbmd1YWdlIHNwZWNpZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJcyB0aGUg
Y29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0aF9nY2M9CgojIENvbXBp
bGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5vX2J1
aWx0aW5fZmxhZz0iIgoKIyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZv
ciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBpY19mbGFnPSIiCgojIEhv
dyB0byBwYXNzIGEgbGlua2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIu
CndsPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxp
bmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9IiIKCiMgRG9lcyBjb21waWxlciBz
aW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21w
aWxlcl9jX289IiIKCiMgV2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3Ig
YnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVk
X2xjPW5vCgojIFdoZXRoZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBs
aWJzIHdoZW4gcnVudGltZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRv
b2xfbGlic193aXRoX3N0YXRpY19ydW50aW1lcz1ubwoKIyBDb21waWxlciBm
bGFnIHRvIGFsbG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1p
Y19mbGFnX3NwZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSBz
aGFyZWQgb2JqZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3aG9sZV9h
cmNoaXZlX2ZsYWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBj
b3BlcyB3aXRoIHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGls
ZXJfbmVlZHNfb2JqZWN0PSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJj
aGl2ZSBmcm9tIGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21f
bmV3X2NtZHM9IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBh
cmNoaXZlIHRvIGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpv
bGRfYXJjaGl2ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1
c2VkIHRvIGJ1aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0i
IgphcmNoaXZlX2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8g
YnVpbGQgYSBsb2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVp
bGRpbmcKIyBhIHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0iIgptb2R1
bGVfZXhwc3ltX2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcg
d2l0aCBHTlUgbGQgb3Igbm90Lgp3aXRoX2dudV9sZD0iIgoKIyBGbGFnIHRo
YXQgYWxsb3dzIHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3lt
Ym9scyB0byBiZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMg
RmxhZyB0aGF0IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1ib2xzLgpub191
bmRlZmluZWRfZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRsaWJkaXIg
aW50byBhIGJpbmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qgd29y
ayBldmVuIGlmICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNvZGVfbGli
ZGlyX2ZsYWdfc3BlYz0iIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUg
Ii1ycGF0aCIgZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJk
Y29kZV9saWJkaXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1
c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcg
aGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhh
cmRjb2RlX2RpcmVjdD1ubwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElS
L2xpYk5BTUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2Rl
cwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5IGFuZCB0aGUgcmVz
dWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJhYnNvbHV0ZSIsaS5l
IGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcgJHtzaGxpYnBhdGhf
dmFyfSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRlZC4KaGFyZGNvZGVf
ZGlyZWN0X2Fic29sdXRlPW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyB0
aGUgLUxESVIgZmxhZyBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMg
aW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfbWludXNfTD1u
bwoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIg
ZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3Vs
dGluZyBiaW5hcnkuCmhhcmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0
byAieWVzIiBpZiBidWlsZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRp
Y2FsbHkgaGFyZGNvZGVzIERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFs
bCBzdWJzZXF1ZW50IGxpYnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2Vk
CiMgYWdhaW5zdCBpdC4KaGFyZGNvZGVfYXV0b21hdGljPW5vCgojIFNldCB0
byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBkZXBlbmRl
bnQgbGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmluaGVyaXRf
cnBhdGg9bm8KCiMgV2hldGhlciBsaWJ0b29sIG11c3QgbGluayBhIHByb2dy
YW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVuY3kgbGlicmFyaWVzLgpsaW5r
X2FsbF9kZXBsaWJzPXVua25vd24KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9y
dGVkIHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJv
bHM9bm8KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0ZWQgc3ltYm9s
cy4KZXhwb3J0X3N5bWJvbHNfY21kcz0iIgoKIyBTeW1ib2xzIHRoYXQgc2hv
dWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBzeW1ib2xzLgpl
eGNsdWRlX2V4cHN5bXM9IiIKCiMgU3ltYm9scyB0aGF0IG11c3QgYWx3YXlz
IGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMgQ29tbWFuZHMg
bmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2FpbnN0IGxpYnJh
cmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0iIgoKIyBDb21t
YW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5nIHByb2dyYW1z
Lgpwb3N0bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5hbWUgY29udGFp
bmluZyBpbnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIKCiMgSG93IHRv
IGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRvIGFuIGV4ZWN1
dGFibGUuCmhhcmRjb2RlX2FjdGlvbj0KCiMgVGhlIGRpcmVjdG9yaWVzIHNl
YXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGluZyBhIHNoYXJl
ZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9IiIKCiMgRGVw
ZW5kZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIgdGhlIG9iamVj
dHMgYmVpbmcgbGlua2VkIHRvCiMgY3JlYXRlIGEgc2hhcmVkIGxpYnJhcnku
CnByZWRlcF9vYmplY3RzPSIiCnBvc3RkZXBfb2JqZWN0cz0iIgpwcmVkZXBz
PSIiCnBvc3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5IHNlYXJjaCBwYXRoIHVz
ZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBsaW5raW5nCiMg
YSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9wYXRoPSIi
CgojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBGNzcKCiMgIyMjIEJF
R0lOIExJQlRPT0wgVEFHIENPTkZJRzogRkMKCiMgVGhlIGxpbmtlciB1c2Vk
IHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9IiIKCiMgSG93IHRvIGNyZWF0ZSBy
ZWxvYWRhYmxlIG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVs
b2FkX2NtZHM9IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxv
YWRfb2JqcyIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBvbGQtc3R5
bGUgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdT
IFwkb2xkbGliXCRvbGRvYmpzflwkUkFOTElCIFwkdG9vbF9vbGRsaWIiCgoj
IEEgbGFuZ3VhZ2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSIiCgojIElzIHRo
ZSBjb21waWxlciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2djYz0KCiMgQ29t
cGlsZXIgZmxhZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4Kbm9f
YnVpbHRpbl9mbGFnPSIiCgojIEFkZGl0aW9uYWwgY29tcGlsZXIgZmxhZ3Mg
Zm9yIGJ1aWxkaW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2ZsYWc9IiIKCiMg
SG93IHRvIHBhc3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxl
ci4Kd2w9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMg
bGlua2luZy4KbGlua19zdGF0aWNfZmxhZz0iIgoKIyBEb2VzIGNvbXBpbGVy
IHNpbXVsdGFuZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNv
bXBpbGVyX2Nfbz0iIgoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZv
ciBidWlsZGluZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25l
ZWRfbGM9bm8KCiMgV2hldGhlciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVk
IGxpYnMgd2hlbiBydW50aW1lIGxpYnMgYXJlIHN0YXRpYy4KYWxsb3dfbGli
dG9vbF9saWJzX3dpdGhfc3RhdGljX3J1bnRpbWVzPW5vCgojIENvbXBpbGVy
IGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3BlbnMuCmV4cG9ydF9keW5h
bWljX2ZsYWdfc3BlYz0iIgoKIyBDb21waWxlciBmbGFnIHRvIGdlbmVyYXRl
IHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJjaGl2ZXMuCndob2xl
X2FyY2hpdmVfZmxhZ19zcGVjPSIiCgojIFdoZXRoZXIgdGhlIGNvbXBpbGVy
IGNvcGVzIHdpdGggcGFzc2luZyBubyBvYmplY3RzIGRpcmVjdGx5Lgpjb21w
aWxlcl9uZWVkc19vYmplY3Q9IiIKCiMgQ3JlYXRlIGFuIG9sZC1zdHlsZSBh
cmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJv
bV9uZXdfY21kcz0iIgoKIyBDcmVhdGUgYSB0ZW1wb3Jhcnkgb2xkLXN0eWxl
IGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEgc2hhcmVkIGFyY2hpdmUu
Cm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPSIiCgojIENvbW1hbmRz
IHVzZWQgdG8gYnVpbGQgYSBzaGFyZWQgYXJjaGl2ZS4KYXJjaGl2ZV9jbWRz
PSIiCmFyY2hpdmVfZXhwc3ltX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0
byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZmZXJlbnQgZnJvbSBi
dWlsZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVsZV9jbWRzPSIiCm1v
ZHVsZV9leHBzeW1fY21kcz0iIgoKIyBXaGV0aGVyIHdlIGFyZSBidWlsZGlu
ZyB3aXRoIEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xkPSIiCgojIEZsYWcg
dGhhdCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRoIHVuZGVmaW5lZCBz
eW1ib2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmluZWRfZmxhZz0iIgoK
IyBGbGFnIHRoYXQgZW5mb3JjZXMgbm8gdW5kZWZpbmVkIHN5bWJvbHMuCm5v
X3VuZGVmaW5lZF9mbGFnPSIiCgojIEZsYWcgdG8gaGFyZGNvZGUgJGxpYmRp
ciBpbnRvIGEgYmluYXJ5IGR1cmluZyBsaW5raW5nLgojIFRoaXMgbXVzdCB3
b3JrIGV2ZW4gaWYgJGxpYmRpciBkb2VzIG5vdCBleGlzdApoYXJkY29kZV9s
aWJkaXJfZmxhZ19zcGVjPSIiCgojIFdoZXRoZXIgd2UgbmVlZCBhIHNpbmds
ZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQgYXJndW1lbnQuCmhh
cmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0IHRvICJ5ZXMiIGlm
IHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBkdXJpbmcgbGlua2lu
ZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0aW5nIGJpbmFyeS4K
aGFyZGNvZGVfZGlyZWN0PW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBE
SVIvbGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzCiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkgYW5kIHRoZSBy
ZXN1bHRpbmcgbGlicmFyeSBkZXBlbmRlbmN5IGlzCiMgImFic29sdXRlIixp
LmUgaW1wb3NzaWJsZSB0byBjaGFuZ2UgYnkgc2V0dGluZyAke3NobGlicGF0
aF92YXJ9IGlmIHRoZQojIGxpYnJhcnkgaXMgcmVsb2NhdGVkLgpoYXJkY29k
ZV9kaXJlY3RfYWJzb2x1dGU9bm8KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5n
IHRoZSAtTERJUiBmbGFnIGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIK
IyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19M
PW5vCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBBVEhfVkFSPURJ
UiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVz
dWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0KCiMgU2V0
IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkgYXV0b21h
dGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgbGlicmFyeSBhbmQg
YWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxlcyBsaW5r
ZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9bm8KCiMgU2V0
IHRvIHllcyBpZiBsaW5rZXIgYWRkcyBydW50aW1lIHBhdGhzIG9mIGRlcGVu
ZGVudCBsaWJyYXJpZXMKIyB0byBydW50aW1lIHBhdGggbGlzdC4KaW5oZXJp
dF9ycGF0aD1ubwoKIyBXaGV0aGVyIGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJv
Z3JhbSBhZ2FpbnN0IGFsbCBpdHMgZGVwZW5kZW5jeSBsaWJyYXJpZXMuCmxp
bmtfYWxsX2RlcGxpYnM9dW5rbm93bgoKIyBTZXQgdG8gInllcyIgaWYgZXhw
b3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFsd2F5c19leHBvcnRfc3lt
Ym9scz1ubwoKIyBUaGUgY29tbWFuZHMgdG8gbGlzdCBleHBvcnRlZCBzeW1i
b2xzLgpleHBvcnRfc3ltYm9sc19jbWRzPSIiCgojIFN5bWJvbHMgdGhhdCBz
aG91bGQgbm90IGJlIGxpc3RlZCBpbiB0aGUgcHJlbG9hZGVkIHN5bWJvbHMu
CmV4Y2x1ZGVfZXhwc3ltcz0iIgoKIyBTeW1ib2xzIHRoYXQgbXVzdCBhbHdh
eXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3ltcz0iIgoKIyBDb21tYW5k
cyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3JhbXMgKGFnYWluc3QgbGli
cmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJlbGlua19jbWRzPSIiCgojIENv
bW1hbmRzIG5lY2Vzc2FyeSBmb3IgZmluaXNoaW5nIGxpbmtpbmcgcHJvZ3Jh
bXMuCnBvc3RsaW5rX2NtZHM9IiIKCiMgU3BlY2lmeSBmaWxlbmFtZSBjb250
YWluaW5nIGlucHV0IGZpbGVzLgpmaWxlX2xpc3Rfc3BlYz0iIgoKIyBIb3cg
dG8gaGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBwYXRoIGludG8gYW4gZXhl
Y3V0YWJsZS4KaGFyZGNvZGVfYWN0aW9uPQoKIyBUaGUgZGlyZWN0b3JpZXMg
c2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVuIGNyZWF0aW5nIGEgc2hh
cmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfZGlycz0iIgoKIyBE
ZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFuZCBhZnRlciB0aGUgb2Jq
ZWN0cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUgYSBzaGFyZWQgbGlicmFy
eS4KcHJlZGVwX29iamVjdHM9IiIKcG9zdGRlcF9vYmplY3RzPSIiCnByZWRl
cHM9IiIKcG9zdGRlcHM9IiIKCiMgVGhlIGxpYnJhcnkgc2VhcmNoIHBhdGgg
dXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxlciB3aGVuIGxpbmtpbmcK
IyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX3BhdGg9
IiIKCiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05GSUc6IEZDCgojICMjIyBC
RUdJTiBMSUJUT09MIFRBRyBDT05GSUc6IEdPCgojIFRoZSBsaW5rZXIgdXNl
ZCB0byBidWlsZCBsaWJyYXJpZXMuCkxEPSJjOi90aW5ndy9taW5ndzMyL2Jp
bi9sZC5leGUiCgojIEhvdyB0byBjcmVhdGUgcmVsb2FkYWJsZSBvYmplY3Qg
ZmlsZXMuCnJlbG9hZF9mbGFnPSIgLXIiCnJlbG9hZF9jbWRzPSJcJExEXCRy
ZWxvYWRfZmxhZyAtbyBcJG91dHB1dFwkcmVsb2FkX29ianMiCgojIENvbW1h
bmRzIHVzZWQgdG8gYnVpbGQgYW4gb2xkLXN0eWxlIGFyY2hpdmUuCm9sZF9h
cmNoaXZlX2NtZHM9IlwkQVIgXCRBUl9GTEFHUyBcJG9sZGxpYlwkb2xkb2Jq
c35cJFJBTkxJQiBcJHRvb2xfb2xkbGliIgoKIyBBIGxhbmd1YWdlIHNwZWNp
ZmljIGNvbXBpbGVyLgpDQz0iIgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdO
VSBjb21waWxlcj8Kd2l0aF9nY2M9CgojIENvbXBpbGVyIGZsYWcgdG8gdHVy
biBvZmYgYnVpbHRpbiBmdW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIgoK
IyBBZGRpdGlvbmFsIGNvbXBpbGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJy
YXJ5IG9iamVjdHMuCnBpY19mbGFnPSIiCgojIEhvdyB0byBwYXNzIGEgbGlu
a2VyIGZsYWcgdGhyb3VnaCB0aGUgY29tcGlsZXIuCndsPSIiCgojIENvbXBp
bGVyIGZsYWcgdG8gcHJldmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3Rh
dGljX2ZsYWc9IiIKCiMgRG9lcyBjb21waWxlciBzaW11bHRhbmVvdXNseSBz
dXBwb3J0IC1jIGFuZCAtbyBvcHRpb25zPwpjb21waWxlcl9jX289IiIKCiMg
V2hldGhlciBvciBub3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcgc2hhcmVk
IGxpYnJhcmllcy4KYnVpbGRfbGlidG9vbF9uZWVkX2xjPW5vCgojIFdoZXRo
ZXIgb3Igbm90IHRvIGRpc2FsbG93IHNoYXJlZCBsaWJzIHdoZW4gcnVudGlt
ZSBsaWJzIGFyZSBzdGF0aWMuCmFsbG93X2xpYnRvb2xfbGlic193aXRoX3N0
YXRpY19ydW50aW1lcz0KCiMgQ29tcGlsZXIgZmxhZyB0byBhbGxvdyByZWZs
ZXhpdmUgZGxvcGVucy4KZXhwb3J0X2R5bmFtaWNfZmxhZ19zcGVjPSIiCgoj
IENvbXBpbGVyIGZsYWcgdG8gZ2VuZXJhdGUgc2hhcmVkIG9iamVjdHMgZGly
ZWN0bHkgZnJvbSBhcmNoaXZlcy4Kd2hvbGVfYXJjaGl2ZV9mbGFnX3NwZWM9
IiIKCiMgV2hldGhlciB0aGUgY29tcGlsZXIgY29wZXMgd2l0aCBwYXNzaW5n
IG5vIG9iamVjdHMgZGlyZWN0bHkuCmNvbXBpbGVyX25lZWRzX29iamVjdD0i
IgoKIyBDcmVhdGUgYW4gb2xkLXN0eWxlIGFyY2hpdmUgZnJvbSBhIHNoYXJl
ZCBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9mcm9tX25ld19jbWRzPSIiCgojIENy
ZWF0ZSBhIHRlbXBvcmFyeSBvbGQtc3R5bGUgYXJjaGl2ZSB0byBsaW5rIGlu
c3RlYWQgb2YgYSBzaGFyZWQgYXJjaGl2ZS4Kb2xkX2FyY2hpdmVfZnJvbV9l
eHBzeW1zX2NtZHM9IiIKCiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhIHNo
YXJlZCBhcmNoaXZlLgphcmNoaXZlX2NtZHM9IiIKYXJjaGl2ZV9leHBzeW1f
Y21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1aWxkIGEgbG9hZGFibGUg
bW9kdWxlIGlmIGRpZmZlcmVudCBmcm9tIGJ1aWxkaW5nCiMgYSBzaGFyZWQg
YXJjaGl2ZS4KbW9kdWxlX2NtZHM9IiIKbW9kdWxlX2V4cHN5bV9jbWRzPSIi
CgojIFdoZXRoZXIgd2UgYXJlIGJ1aWxkaW5nIHdpdGggR05VIGxkIG9yIG5v
dC4Kd2l0aF9nbnVfbGQ9IiIKCiMgRmxhZyB0aGF0IGFsbG93cyBzaGFyZWQg
bGlicmFyaWVzIHdpdGggdW5kZWZpbmVkIHN5bWJvbHMgdG8gYmUgYnVpbHQu
CmFsbG93X3VuZGVmaW5lZF9mbGFnPSIiCgojIEZsYWcgdGhhdCBlbmZvcmNl
cyBubyB1bmRlZmluZWQgc3ltYm9scy4Kbm9fdW5kZWZpbmVkX2ZsYWc9IiIK
CiMgRmxhZyB0byBoYXJkY29kZSAkbGliZGlyIGludG8gYSBiaW5hcnkgZHVy
aW5nIGxpbmtpbmcuCiMgVGhpcyBtdXN0IHdvcmsgZXZlbiBpZiAkbGliZGly
IGRvZXMgbm90IGV4aXN0CmhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWM9IiIK
CiMgV2hldGhlciB3ZSBuZWVkIGEgc2luZ2xlICItcnBhdGgiIGZsYWcgd2l0
aCBhIHNlcGFyYXRlZCBhcmd1bWVudC4KaGFyZGNvZGVfbGliZGlyX3NlcGFy
YXRvcj0iIgoKIyBTZXQgdG8gInllcyIgaWYgdXNpbmcgRElSL2xpYk5BTUUk
e3NoYXJlZF9leHR9IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcwojIERJUiBp
bnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9kaXJlY3Q9Cgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyBESVIvbGliTkFNRSR7c2hhcmVkX2V4
dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVzCiMgRElSIGludG8gdGhlIHJl
c3VsdGluZyBiaW5hcnkgYW5kIHRoZSByZXN1bHRpbmcgbGlicmFyeSBkZXBl
bmRlbmN5IGlzCiMgImFic29sdXRlIixpLmUgaW1wb3NzaWJsZSB0byBjaGFu
Z2UgYnkgc2V0dGluZyAke3NobGlicGF0aF92YXJ9IGlmIHRoZQojIGxpYnJh
cnkgaXMgcmVsb2NhdGVkLgpoYXJkY29kZV9kaXJlY3RfYWJzb2x1dGU9Cgoj
IFNldCB0byAieWVzIiBpZiB1c2luZyB0aGUgLUxESVIgZmxhZyBkdXJpbmcg
bGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgcmVzdWx0aW5nIGJp
bmFyeS4KaGFyZGNvZGVfbWludXNfTD0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVz
aW5nIFNITElCUEFUSF9WQVI9RElSIGR1cmluZyBsaW5raW5nIGhhcmRjb2Rl
cyBESVIKIyBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9z
aGxpYnBhdGhfdmFyPQoKIyBTZXQgdG8gInllcyIgaWYgYnVpbGRpbmcgYSBz
aGFyZWQgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhcmRjb2RlcyBESVIKIyBp
bnRvIHRoZSBsaWJyYXJ5IGFuZCBhbGwgc3Vic2VxdWVudCBsaWJyYXJpZXMg
YW5kIGV4ZWN1dGFibGVzIGxpbmtlZAojIGFnYWluc3QgaXQuCmhhcmRjb2Rl
X2F1dG9tYXRpYz0KCiMgU2V0IHRvIHllcyBpZiBsaW5rZXIgYWRkcyBydW50
aW1lIHBhdGhzIG9mIGRlcGVuZGVudCBsaWJyYXJpZXMKIyB0byBydW50aW1l
IHBhdGggbGlzdC4KaW5oZXJpdF9ycGF0aD0KCiMgV2hldGhlciBsaWJ0b29s
IG11c3QgbGluayBhIHByb2dyYW0gYWdhaW5zdCBhbGwgaXRzIGRlcGVuZGVu
Y3kgbGlicmFyaWVzLgpsaW5rX2FsbF9kZXBsaWJzPQoKIyBTZXQgdG8gInll
cyIgaWYgZXhwb3J0ZWQgc3ltYm9scyBhcmUgcmVxdWlyZWQuCmFsd2F5c19l
eHBvcnRfc3ltYm9scz0KCiMgVGhlIGNvbW1hbmRzIHRvIGxpc3QgZXhwb3J0
ZWQgc3ltYm9scy4KZXhwb3J0X3N5bWJvbHNfY21kcz0iIgoKIyBTeW1ib2xz
IHRoYXQgc2hvdWxkIG5vdCBiZSBsaXN0ZWQgaW4gdGhlIHByZWxvYWRlZCBz
eW1ib2xzLgpleGNsdWRlX2V4cHN5bXM9IiIKCiMgU3ltYm9scyB0aGF0IG11
c3QgYWx3YXlzIGJlIGV4cG9ydGVkLgppbmNsdWRlX2V4cHN5bXM9IiIKCiMg
Q29tbWFuZHMgbmVjZXNzYXJ5IGZvciBsaW5raW5nIHByb2dyYW1zIChhZ2Fp
bnN0IGxpYnJhcmllcykgd2l0aCB0ZW1wbGF0ZXMuCnByZWxpbmtfY21kcz0i
IgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGZpbmlzaGluZyBsaW5raW5n
IHByb2dyYW1zLgpwb3N0bGlua19jbWRzPSIiCgojIFNwZWNpZnkgZmlsZW5h
bWUgY29udGFpbmluZyBpbnB1dCBmaWxlcy4KZmlsZV9saXN0X3NwZWM9IiIK
CiMgSG93IHRvIGhhcmRjb2RlIGEgc2hhcmVkIGxpYnJhcnkgcGF0aCBpbnRv
IGFuIGV4ZWN1dGFibGUuCmhhcmRjb2RlX2FjdGlvbj0KCiMgVGhlIGRpcmVj
dG9yaWVzIHNlYXJjaGVkIGJ5IHRoaXMgY29tcGlsZXIgd2hlbiBjcmVhdGlu
ZyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9saWJfc2VhcmNoX2RpcnM9
IiIKCiMgRGVwZW5kZW5jaWVzIHRvIHBsYWNlIGJlZm9yZSBhbmQgYWZ0ZXIg
dGhlIG9iamVjdHMgYmVpbmcgbGlua2VkIHRvCiMgY3JlYXRlIGEgc2hhcmVk
IGxpYnJhcnkuCnByZWRlcF9vYmplY3RzPSIiCnBvc3RkZXBfb2JqZWN0cz0i
IgpwcmVkZXBzPSIiCnBvc3RkZXBzPSIiCgojIFRoZSBsaWJyYXJ5IHNlYXJj
aCBwYXRoIHVzZWQgaW50ZXJuYWxseSBieSB0aGUgY29tcGlsZXIgd2hlbiBs
aW5raW5nCiMgYSBzaGFyZWQgbGlicmFyeS4KY29tcGlsZXJfbGliX3NlYXJj
aF9wYXRoPSIiCgojICMjIyBFTkQgTElCVE9PTCBUQUcgQ09ORklHOiBHTwoK
IyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBHQ0oKCiMgVGhlIGxp
bmtlciB1c2VkIHRvIGJ1aWxkIGxpYnJhcmllcy4KTEQ9ImM6L3Rpbmd3L21p
bmd3MzIvYmluL2xkLmV4ZSIKCiMgSG93IHRvIGNyZWF0ZSByZWxvYWRhYmxl
IG9iamVjdCBmaWxlcy4KcmVsb2FkX2ZsYWc9IiAtciIKcmVsb2FkX2NtZHM9
IlwkTERcJHJlbG9hZF9mbGFnIC1vIFwkb3V0cHV0XCRyZWxvYWRfb2JqcyIK
CiMgQ29tbWFuZHMgdXNlZCB0byBidWlsZCBhbiBvbGQtc3R5bGUgYXJjaGl2
ZS4Kb2xkX2FyY2hpdmVfY21kcz0iXCRBUiBcJEFSX0ZMQUdTIFwkb2xkbGli
XCRvbGRvYmpzflwkUkFOTElCIFwkdG9vbF9vbGRsaWIiCgojIEEgbGFuZ3Vh
Z2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSIiCgojIElzIHRoZSBjb21waWxl
ciB0aGUgR05VIGNvbXBpbGVyPwp3aXRoX2djYz0KCiMgQ29tcGlsZXIgZmxh
ZyB0byB0dXJuIG9mZiBidWlsdGluIGZ1bmN0aW9ucy4Kbm9fYnVpbHRpbl9m
bGFnPSIiCgojIEFkZGl0aW9uYWwgY29tcGlsZXIgZmxhZ3MgZm9yIGJ1aWxk
aW5nIGxpYnJhcnkgb2JqZWN0cy4KcGljX2ZsYWc9IiIKCiMgSG93IHRvIHBh
c3MgYSBsaW5rZXIgZmxhZyB0aHJvdWdoIHRoZSBjb21waWxlci4Kd2w9IiIK
CiMgQ29tcGlsZXIgZmxhZyB0byBwcmV2ZW50IGR5bmFtaWMgbGlua2luZy4K
bGlua19zdGF0aWNfZmxhZz0iIgoKIyBEb2VzIGNvbXBpbGVyIHNpbXVsdGFu
ZW91c2x5IHN1cHBvcnQgLWMgYW5kIC1vIG9wdGlvbnM/CmNvbXBpbGVyX2Nf
bz0iIgoKIyBXaGV0aGVyIG9yIG5vdCB0byBhZGQgLWxjIGZvciBidWlsZGlu
ZyBzaGFyZWQgbGlicmFyaWVzLgpidWlsZF9saWJ0b29sX25lZWRfbGM9bm8K
CiMgV2hldGhlciBvciBub3QgdG8gZGlzYWxsb3cgc2hhcmVkIGxpYnMgd2hl
biBydW50aW1lIGxpYnMgYXJlIHN0YXRpYy4KYWxsb3dfbGlidG9vbF9saWJz
X3dpdGhfc3RhdGljX3J1bnRpbWVzPQoKIyBDb21waWxlciBmbGFnIHRvIGFs
bG93IHJlZmxleGl2ZSBkbG9wZW5zLgpleHBvcnRfZHluYW1pY19mbGFnX3Nw
ZWM9IiIKCiMgQ29tcGlsZXIgZmxhZyB0byBnZW5lcmF0ZSBzaGFyZWQgb2Jq
ZWN0cyBkaXJlY3RseSBmcm9tIGFyY2hpdmVzLgp3aG9sZV9hcmNoaXZlX2Zs
YWdfc3BlYz0iIgoKIyBXaGV0aGVyIHRoZSBjb21waWxlciBjb3BlcyB3aXRo
IHBhc3Npbmcgbm8gb2JqZWN0cyBkaXJlY3RseS4KY29tcGlsZXJfbmVlZHNf
b2JqZWN0PSIiCgojIENyZWF0ZSBhbiBvbGQtc3R5bGUgYXJjaGl2ZSBmcm9t
IGEgc2hhcmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fbmV3X2NtZHM9
IiIKCiMgQ3JlYXRlIGEgdGVtcG9yYXJ5IG9sZC1zdHlsZSBhcmNoaXZlIHRv
IGxpbmsgaW5zdGVhZCBvZiBhIHNoYXJlZCBhcmNoaXZlLgpvbGRfYXJjaGl2
ZV9mcm9tX2V4cHN5bXNfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRvIGJ1
aWxkIGEgc2hhcmVkIGFyY2hpdmUuCmFyY2hpdmVfY21kcz0iIgphcmNoaXZl
X2V4cHN5bV9jbWRzPSIiCgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBs
b2FkYWJsZSBtb2R1bGUgaWYgZGlmZmVyZW50IGZyb20gYnVpbGRpbmcKIyBh
IHNoYXJlZCBhcmNoaXZlLgptb2R1bGVfY21kcz0iIgptb2R1bGVfZXhwc3lt
X2NtZHM9IiIKCiMgV2hldGhlciB3ZSBhcmUgYnVpbGRpbmcgd2l0aCBHTlUg
bGQgb3Igbm90Lgp3aXRoX2dudV9sZD0iIgoKIyBGbGFnIHRoYXQgYWxsb3dz
IHNoYXJlZCBsaWJyYXJpZXMgd2l0aCB1bmRlZmluZWQgc3ltYm9scyB0byBi
ZSBidWlsdC4KYWxsb3dfdW5kZWZpbmVkX2ZsYWc9IiIKCiMgRmxhZyB0aGF0
IGVuZm9yY2VzIG5vIHVuZGVmaW5lZCBzeW1ib2xzLgpub191bmRlZmluZWRf
ZmxhZz0iIgoKIyBGbGFnIHRvIGhhcmRjb2RlICRsaWJkaXIgaW50byBhIGJp
bmFyeSBkdXJpbmcgbGlua2luZy4KIyBUaGlzIG11c3Qgd29yayBldmVuIGlm
ICRsaWJkaXIgZG9lcyBub3QgZXhpc3QKaGFyZGNvZGVfbGliZGlyX2ZsYWdf
c3BlYz0iIgoKIyBXaGV0aGVyIHdlIG5lZWQgYSBzaW5nbGUgIi1ycGF0aCIg
ZmxhZyB3aXRoIGEgc2VwYXJhdGVkIGFyZ3VtZW50LgpoYXJkY29kZV9saWJk
aXJfc2VwYXJhdG9yPSIiCgojIFNldCB0byAieWVzIiBpZiB1c2luZyBESVIv
bGliTkFNRSR7c2hhcmVkX2V4dH0gZHVyaW5nIGxpbmtpbmcgaGFyZGNvZGVz
CiMgRElSIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2RlX2Rp
cmVjdD0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtz
aGFyZWRfZXh0fSBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50
byB0aGUgcmVzdWx0aW5nIGJpbmFyeSBhbmQgdGhlIHJlc3VsdGluZyBsaWJy
YXJ5IGRlcGVuZGVuY3kgaXMKIyAiYWJzb2x1dGUiLGkuZSBpbXBvc3NpYmxl
IHRvIGNoYW5nZSBieSBzZXR0aW5nICR7c2hsaWJwYXRoX3Zhcn0gaWYgdGhl
CiMgbGlicmFyeSBpcyByZWxvY2F0ZWQuCmhhcmRjb2RlX2RpcmVjdF9hYnNv
bHV0ZT0KCiMgU2V0IHRvICJ5ZXMiIGlmIHVzaW5nIHRoZSAtTERJUiBmbGFn
IGR1cmluZyBsaW5raW5nIGhhcmRjb2RlcyBESVIKIyBpbnRvIHRoZSByZXN1
bHRpbmcgYmluYXJ5LgpoYXJkY29kZV9taW51c19MPQoKIyBTZXQgdG8gInll
cyIgaWYgdXNpbmcgU0hMSUJQQVRIX1ZBUj1ESVIgZHVyaW5nIGxpbmtpbmcg
aGFyZGNvZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhh
cmRjb2RlX3NobGlicGF0aF92YXI9CgojIFNldCB0byAieWVzIiBpZiBidWls
ZGluZyBhIHNoYXJlZCBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFyZGNvZGVz
IERJUgojIGludG8gdGhlIGxpYnJhcnkgYW5kIGFsbCBzdWJzZXF1ZW50IGxp
YnJhcmllcyBhbmQgZXhlY3V0YWJsZXMgbGlua2VkCiMgYWdhaW5zdCBpdC4K
aGFyZGNvZGVfYXV0b21hdGljPQoKIyBTZXQgdG8geWVzIGlmIGxpbmtlciBh
ZGRzIHJ1bnRpbWUgcGF0aHMgb2YgZGVwZW5kZW50IGxpYnJhcmllcwojIHRv
IHJ1bnRpbWUgcGF0aCBsaXN0Lgppbmhlcml0X3JwYXRoPQoKIyBXaGV0aGVy
IGxpYnRvb2wgbXVzdCBsaW5rIGEgcHJvZ3JhbSBhZ2FpbnN0IGFsbCBpdHMg
ZGVwZW5kZW5jeSBsaWJyYXJpZXMuCmxpbmtfYWxsX2RlcGxpYnM9CgojIFNl
dCB0byAieWVzIiBpZiBleHBvcnRlZCBzeW1ib2xzIGFyZSByZXF1aXJlZC4K
YWx3YXlzX2V4cG9ydF9zeW1ib2xzPQoKIyBUaGUgY29tbWFuZHMgdG8gbGlz
dCBleHBvcnRlZCBzeW1ib2xzLgpleHBvcnRfc3ltYm9sc19jbWRzPSIiCgoj
IFN5bWJvbHMgdGhhdCBzaG91bGQgbm90IGJlIGxpc3RlZCBpbiB0aGUgcHJl
bG9hZGVkIHN5bWJvbHMuCmV4Y2x1ZGVfZXhwc3ltcz0iIgoKIyBTeW1ib2xz
IHRoYXQgbXVzdCBhbHdheXMgYmUgZXhwb3J0ZWQuCmluY2x1ZGVfZXhwc3lt
cz0iIgoKIyBDb21tYW5kcyBuZWNlc3NhcnkgZm9yIGxpbmtpbmcgcHJvZ3Jh
bXMgKGFnYWluc3QgbGlicmFyaWVzKSB3aXRoIHRlbXBsYXRlcy4KcHJlbGlu
a19jbWRzPSIiCgojIENvbW1hbmRzIG5lY2Vzc2FyeSBmb3IgZmluaXNoaW5n
IGxpbmtpbmcgcHJvZ3JhbXMuCnBvc3RsaW5rX2NtZHM9IiIKCiMgU3BlY2lm
eSBmaWxlbmFtZSBjb250YWluaW5nIGlucHV0IGZpbGVzLgpmaWxlX2xpc3Rf
c3BlYz0iIgoKIyBIb3cgdG8gaGFyZGNvZGUgYSBzaGFyZWQgbGlicmFyeSBw
YXRoIGludG8gYW4gZXhlY3V0YWJsZS4KaGFyZGNvZGVfYWN0aW9uPQoKIyBU
aGUgZGlyZWN0b3JpZXMgc2VhcmNoZWQgYnkgdGhpcyBjb21waWxlciB3aGVu
IGNyZWF0aW5nIGEgc2hhcmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFy
Y2hfZGlycz0iIgoKIyBEZXBlbmRlbmNpZXMgdG8gcGxhY2UgYmVmb3JlIGFu
ZCBhZnRlciB0aGUgb2JqZWN0cyBiZWluZyBsaW5rZWQgdG8KIyBjcmVhdGUg
YSBzaGFyZWQgbGlicmFyeS4KcHJlZGVwX29iamVjdHM9IiIKcG9zdGRlcF9v
YmplY3RzPSIiCnByZWRlcHM9IiIKcG9zdGRlcHM9IiIKCiMgVGhlIGxpYnJh
cnkgc2VhcmNoIHBhdGggdXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSBjb21waWxl
ciB3aGVuIGxpbmtpbmcKIyBhIHNoYXJlZCBsaWJyYXJ5Lgpjb21waWxlcl9s
aWJfc2VhcmNoX3BhdGg9IiIKCiMgIyMjIEVORCBMSUJUT09MIFRBRyBDT05G
SUc6IEdDSgoKIyAjIyMgQkVHSU4gTElCVE9PTCBUQUcgQ09ORklHOiBSQwoK
IyBUaGUgbGlua2VyIHVzZWQgdG8gYnVpbGQgbGlicmFyaWVzLgpMRD0iIgoK
IyBIb3cgdG8gY3JlYXRlIHJlbG9hZGFibGUgb2JqZWN0IGZpbGVzLgpyZWxv
YWRfZmxhZz0iIgpyZWxvYWRfY21kcz0iIgoKIyBDb21tYW5kcyB1c2VkIHRv
IGJ1aWxkIGFuIG9sZC1zdHlsZSBhcmNoaXZlLgpvbGRfYXJjaGl2ZV9jbWRz
PSIiCgojIEEgbGFuZ3VhZ2Ugc3BlY2lmaWMgY29tcGlsZXIuCkNDPSJ3aW5k
cmVzIgoKIyBJcyB0aGUgY29tcGlsZXIgdGhlIEdOVSBjb21waWxlcj8Kd2l0
aF9nY2M9CgojIENvbXBpbGVyIGZsYWcgdG8gdHVybiBvZmYgYnVpbHRpbiBm
dW5jdGlvbnMuCm5vX2J1aWx0aW5fZmxhZz0iIgoKIyBBZGRpdGlvbmFsIGNv
bXBpbGVyIGZsYWdzIGZvciBidWlsZGluZyBsaWJyYXJ5IG9iamVjdHMuCnBp
Y19mbGFnPSIiCgojIEhvdyB0byBwYXNzIGEgbGlua2VyIGZsYWcgdGhyb3Vn
aCB0aGUgY29tcGlsZXIuCndsPSIiCgojIENvbXBpbGVyIGZsYWcgdG8gcHJl
dmVudCBkeW5hbWljIGxpbmtpbmcuCmxpbmtfc3RhdGljX2ZsYWc9IiIKCiMg
RG9lcyBjb21waWxlciBzaW11bHRhbmVvdXNseSBzdXBwb3J0IC1jIGFuZCAt
byBvcHRpb25zPwpjb21waWxlcl9jX289InllcyIKCiMgV2hldGhlciBvciBu
b3QgdG8gYWRkIC1sYyBmb3IgYnVpbGRpbmcgc2hhcmVkIGxpYnJhcmllcy4K
YnVpbGRfbGlidG9vbF9uZWVkX2xjPQoKIyBXaGV0aGVyIG9yIG5vdCB0byBk
aXNhbGxvdyBzaGFyZWQgbGlicyB3aGVuIHJ1bnRpbWUgbGlicyBhcmUgc3Rh
dGljLgphbGxvd19saWJ0b29sX2xpYnNfd2l0aF9zdGF0aWNfcnVudGltZXM9
CgojIENvbXBpbGVyIGZsYWcgdG8gYWxsb3cgcmVmbGV4aXZlIGRsb3BlbnMu
CmV4cG9ydF9keW5hbWljX2ZsYWdfc3BlYz0iIgoKIyBDb21waWxlciBmbGFn
IHRvIGdlbmVyYXRlIHNoYXJlZCBvYmplY3RzIGRpcmVjdGx5IGZyb20gYXJj
aGl2ZXMuCndob2xlX2FyY2hpdmVfZmxhZ19zcGVjPSIiCgojIFdoZXRoZXIg
dGhlIGNvbXBpbGVyIGNvcGVzIHdpdGggcGFzc2luZyBubyBvYmplY3RzIGRp
cmVjdGx5Lgpjb21waWxlcl9uZWVkc19vYmplY3Q9IiIKCiMgQ3JlYXRlIGFu
IG9sZC1zdHlsZSBhcmNoaXZlIGZyb20gYSBzaGFyZWQgYXJjaGl2ZS4Kb2xk
X2FyY2hpdmVfZnJvbV9uZXdfY21kcz0iIgoKIyBDcmVhdGUgYSB0ZW1wb3Jh
cnkgb2xkLXN0eWxlIGFyY2hpdmUgdG8gbGluayBpbnN0ZWFkIG9mIGEgc2hh
cmVkIGFyY2hpdmUuCm9sZF9hcmNoaXZlX2Zyb21fZXhwc3ltc19jbWRzPSIi
CgojIENvbW1hbmRzIHVzZWQgdG8gYnVpbGQgYSBzaGFyZWQgYXJjaGl2ZS4K
YXJjaGl2ZV9jbWRzPSIiCmFyY2hpdmVfZXhwc3ltX2NtZHM9IiIKCiMgQ29t
bWFuZHMgdXNlZCB0byBidWlsZCBhIGxvYWRhYmxlIG1vZHVsZSBpZiBkaWZm
ZXJlbnQgZnJvbSBidWlsZGluZwojIGEgc2hhcmVkIGFyY2hpdmUuCm1vZHVs
ZV9jbWRzPSIiCm1vZHVsZV9leHBzeW1fY21kcz0iIgoKIyBXaGV0aGVyIHdl
IGFyZSBidWlsZGluZyB3aXRoIEdOVSBsZCBvciBub3QuCndpdGhfZ251X2xk
PSIiCgojIEZsYWcgdGhhdCBhbGxvd3Mgc2hhcmVkIGxpYnJhcmllcyB3aXRo
IHVuZGVmaW5lZCBzeW1ib2xzIHRvIGJlIGJ1aWx0LgphbGxvd191bmRlZmlu
ZWRfZmxhZz0iIgoKIyBGbGFnIHRoYXQgZW5mb3JjZXMgbm8gdW5kZWZpbmVk
IHN5bWJvbHMuCm5vX3VuZGVmaW5lZF9mbGFnPSIiCgojIEZsYWcgdG8gaGFy
ZGNvZGUgJGxpYmRpciBpbnRvIGEgYmluYXJ5IGR1cmluZyBsaW5raW5nLgoj
IFRoaXMgbXVzdCB3b3JrIGV2ZW4gaWYgJGxpYmRpciBkb2VzIG5vdCBleGlz
dApoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjPSIiCgojIFdoZXRoZXIgd2Ug
bmVlZCBhIHNpbmdsZSAiLXJwYXRoIiBmbGFnIHdpdGggYSBzZXBhcmF0ZWQg
YXJndW1lbnQuCmhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3I9IiIKCiMgU2V0
IHRvICJ5ZXMiIGlmIHVzaW5nIERJUi9saWJOQU1FJHtzaGFyZWRfZXh0fSBk
dXJpbmcgbGlua2luZyBoYXJkY29kZXMKIyBESVIgaW50byB0aGUgcmVzdWx0
aW5nIGJpbmFyeS4KaGFyZGNvZGVfZGlyZWN0PQoKIyBTZXQgdG8gInllcyIg
aWYgdXNpbmcgRElSL2xpYk5BTUUke3NoYXJlZF9leHR9IGR1cmluZyBsaW5r
aW5nIGhhcmRjb2RlcwojIERJUiBpbnRvIHRoZSByZXN1bHRpbmcgYmluYXJ5
IGFuZCB0aGUgcmVzdWx0aW5nIGxpYnJhcnkgZGVwZW5kZW5jeSBpcwojICJh
YnNvbHV0ZSIsaS5lIGltcG9zc2libGUgdG8gY2hhbmdlIGJ5IHNldHRpbmcg
JHtzaGxpYnBhdGhfdmFyfSBpZiB0aGUKIyBsaWJyYXJ5IGlzIHJlbG9jYXRl
ZC4KaGFyZGNvZGVfZGlyZWN0X2Fic29sdXRlPQoKIyBTZXQgdG8gInllcyIg
aWYgdXNpbmcgdGhlIC1MRElSIGZsYWcgZHVyaW5nIGxpbmtpbmcgaGFyZGNv
ZGVzIERJUgojIGludG8gdGhlIHJlc3VsdGluZyBiaW5hcnkuCmhhcmRjb2Rl
X21pbnVzX0w9CgojIFNldCB0byAieWVzIiBpZiB1c2luZyBTSExJQlBBVEhf
VkFSPURJUiBkdXJpbmcgbGlua2luZyBoYXJkY29kZXMgRElSCiMgaW50byB0
aGUgcmVzdWx0aW5nIGJpbmFyeS4KaGFyZGNvZGVfc2hsaWJwYXRoX3Zhcj0K
CiMgU2V0IHRvICJ5ZXMiIGlmIGJ1aWxkaW5nIGEgc2hhcmVkIGxpYnJhcnkg
YXV0b21hdGljYWxseSBoYXJkY29kZXMgRElSCiMgaW50byB0aGUgbGlicmFy
eSBhbmQgYWxsIHN1YnNlcXVlbnQgbGlicmFyaWVzIGFuZCBleGVjdXRhYmxl
cyBsaW5rZWQKIyBhZ2FpbnN0IGl0LgpoYXJkY29kZV9hdXRvbWF0aWM9Cgoj
IFNldCB0byB5ZXMgaWYgbGlua2VyIGFkZHMgcnVudGltZSBwYXRocyBvZiBk
ZXBlbmRlbnQgbGlicmFyaWVzCiMgdG8gcnVudGltZSBwYXRoIGxpc3QuCmlu
aGVyaXRfcnBhdGg9CgojIFdoZXRoZXIgbGlidG9vbCBtdXN0IGxpbmsgYSBw
cm9ncmFtIGFnYWluc3QgYWxsIGl0cyBkZXBlbmRlbmN5IGxpYnJhcmllcy4K
bGlua19hbGxfZGVwbGlicz0KCiMgU2V0IHRvICJ5ZXMiIGlmIGV4cG9ydGVk
IHN5bWJvbHMgYXJlIHJlcXVpcmVkLgphbHdheXNfZXhwb3J0X3N5bWJvbHM9
CgojIFRoZSBjb21tYW5kcyB0byBsaXN0IGV4cG9ydGVkIHN5bWJvbHMuCmV4
cG9ydF9zeW1ib2xzX2NtZHM9IiIKCiMgU3ltYm9scyB0aGF0IHNob3VsZCBu
b3QgYmUgbGlzdGVkIGluIHRoZSBwcmVsb2FkZWQgc3ltYm9scy4KZXhjbHVk
ZV9leHBzeW1zPSIiCgojIFN5bWJvbHMgdGhhdCBtdXN0IGFsd2F5cyBiZSBl
eHBvcnRlZC4KaW5jbHVkZV9leHBzeW1zPSIiCgojIENvbW1hbmRzIG5lY2Vz
c2FyeSBmb3IgbGlua2luZyBwcm9ncmFtcyAoYWdhaW5zdCBsaWJyYXJpZXMp
IHdpdGggdGVtcGxhdGVzLgpwcmVsaW5rX2NtZHM9IiIKCiMgQ29tbWFuZHMg
bmVjZXNzYXJ5IGZvciBmaW5pc2hpbmcgbGlua2luZyBwcm9ncmFtcy4KcG9z
dGxpbmtfY21kcz0iIgoKIyBTcGVjaWZ5IGZpbGVuYW1lIGNvbnRhaW5pbmcg
aW5wdXQgZmlsZXMuCmZpbGVfbGlzdF9zcGVjPSIiCgojIEhvdyB0byBoYXJk
Y29kZSBhIHNoYXJlZCBsaWJyYXJ5IHBhdGggaW50byBhbiBleGVjdXRhYmxl
LgpoYXJkY29kZV9hY3Rpb249CgojIFRoZSBkaXJlY3RvcmllcyBzZWFyY2hl
ZCBieSB0aGlzIGNvbXBpbGVyIHdoZW4gY3JlYXRpbmcgYSBzaGFyZWQgbGli
cmFyeS4KY29tcGlsZXJfbGliX3NlYXJjaF9kaXJzPSIiCgojIERlcGVuZGVu
Y2llcyB0byBwbGFjZSBiZWZvcmUgYW5kIGFmdGVyIHRoZSBvYmplY3RzIGJl
aW5nIGxpbmtlZCB0bwojIGNyZWF0ZSBhIHNoYXJlZCBsaWJyYXJ5LgpwcmVk
ZXBfb2JqZWN0cz0iIgpwb3N0ZGVwX29iamVjdHM9IiIKcHJlZGVwcz0iIgpw
b3N0ZGVwcz0iIgoKIyBUaGUgbGlicmFyeSBzZWFyY2ggcGF0aCB1c2VkIGlu
dGVybmFsbHkgYnkgdGhlIGNvbXBpbGVyIHdoZW4gbGlua2luZwojIGEgc2hh
cmVkIGxpYnJhcnkuCmNvbXBpbGVyX2xpYl9zZWFyY2hfcGF0aD0iIgoKIyAj
IyMgRU5EIExJQlRPT0wgVEFHIENPTkZJRzogUkMK

--_----------=_13840355941782731
Content-Disposition: attachment; filename="testsuite.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="testsuite.log"

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQo5Ny4gbm9ucmVjdXJzaXZlLmF0OjEyNjogdGVzdGluZyBpbnN0YWxs
YWJsZSBsaWJsdGRsIC4uLgpsaWJ0b29saXplOiBwdXR0aW5nIGF1eGlsaWFy
eSBmaWxlcyBpbiBBQ19DT05GSUdfQVVYX0RJUiwgYGx0ZGwvY29uZmlnJy4K
bGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2NvbmZpZy9sdG1haW4u
c2gnCmxpYnRvb2xpemU6IHB1dHRpbmcgbWFjcm9zIGluIEFDX0NPTkZJR19N
QUNST19ESVIsIGBsdGRsL200Jy4KbGlidG9vbGl6ZTogY29weWluZyBmaWxl
IGBsdGRsL200L2FyZ3oubTQnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBg
bHRkbC9tNC9saWJ0b29sLm00JwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUg
YGx0ZGwvbTQvbHRkbC5tNCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBs
dGRsL200L2x0b3B0aW9ucy5tNCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxl
IGBsdGRsL200L2x0c3VnYXIubTQnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmls
ZSBgbHRkbC9tNC9sdHZlcnNpb24ubTQnCmxpYnRvb2xpemU6IGNvcHlpbmcg
ZmlsZSBgbHRkbC9tNC9sdH5vYnNvbGV0ZS5tNCcKbGlidG9vbGl6ZTogcHV0
dGluZyBsaWJsdGRsIGZpbGVzIGluIExUX0NPTkZJR19MVERMX0RJUiwgYGx0
ZGwnLgpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvQ09QWUlORy5M
SUInCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9SRUFETUUnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9hcmd6Xy5oJwpsaWJ0b29s
aXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvYXJnei5jJwpsaWJ0b29saXplOiBj
b3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9kbGRfbGluay5jJwpsaWJ0b29s
aXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9kbG9wZW4uYycKbGli
dG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2xvYWRlcnMvZHlsZC5jJwps
aWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9sb2FkX2Fk
ZF9vbi5jJwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jJwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0
ZGwvbG9hZGVycy9zaGxfbG9hZC5jJwpsaWJ0b29saXplOiBjb3B5aW5nIGZp
bGUgYGx0ZGwvbHRfX2RpcmVudC5jJwpsaWJ0b29saXplOiBjb3B5aW5nIGZp
bGUgYGx0ZGwvbHRfX3N0cmwuYycKbGlidG9vbGl6ZTogY29weWluZyBmaWxl
IGBsdGRsL2xpYmx0ZGwvbHRfX2FsbG9jLmgnCmxpYnRvb2xpemU6IGNvcHlp
bmcgZmlsZSBgbHRkbC9saWJsdGRsL2x0X19kaXJlbnQuaCcKbGlidG9vbGl6
ZTogY29weWluZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfX2dsaWJjLmgnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9saWJsdGRsL2x0X19wcml2
YXRlLmgnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9saWJsdGRs
L2x0X19zdHJsLmgnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9s
aWJsdGRsL2x0X2RsbG9hZGVyLmgnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmls
ZSBgbHRkbC9saWJsdGRsL2x0X2Vycm9yLmgnCmxpYnRvb2xpemU6IGNvcHlp
bmcgZmlsZSBgbHRkbC9saWJsdGRsL2x0X3N5c3RlbS5oJwpsaWJ0b29saXpl
OiBjb3B5aW5nIGZpbGUgYGx0ZGwvbGlibHRkbC9zbGlzdC5oJwpsaWJ0b29s
aXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9wcmVvcGVuLmMnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sdF9fYWxsb2MuYycKbGli
dG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2x0X2RsbG9hZGVyLmMnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sdF9lcnJvci5jJwpsaWJ0
b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbHRkbC5jJwpsaWJ0b29saXpl
OiBjb3B5aW5nIGZpbGUgYGx0ZGwvbHRkbC5oJwpsaWJ0b29saXplOiBjb3B5
aW5nIGZpbGUgYGx0ZGwvc2xpc3QuYycKbGlidG9vbGl6ZTogY3JlYXRpbmcg
ZmlsZSBgbHRkbC9NYWtlZmlsZS5pbmMnCi9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjEz
MzogaWYgdGVzdCAtZiBsdGRsL2NvbmZpZ3VyZS5hYzsgdGhlbiBmYWxzZTsg
ZmkKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy9ub25yZWN1cnNpdmUuYXQ6MTQwOiAkQUNMT0NBTCAtSSBsdGRsL200
CnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9s
aWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5hdDoxNDA6ICRBVVRP
SEVBREVSIApzdGRlcnI6CnN0ZG91dDoKL01pbkdXL3NoYXJlL2F1dG9tYWtl
LTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9ub25yZWN1cnNpdmUuYXQ6MTQw
OiAkQVVUT01BS0UgLS1hZGQtbWlzc2luZyAtLWNvcHkKc3RkZXJyOgpjb25m
aWd1cmUuYWM6OTogaW5zdGFsbGluZyBgbHRkbC9jb25maWcvY29tcGlsZScK
Y29uZmlndXJlLmFjOjEwOiBpbnN0YWxsaW5nIGBsdGRsL2NvbmZpZy9jb25m
aWcuZ3Vlc3MnCmNvbmZpZ3VyZS5hYzoxMDogaW5zdGFsbGluZyBgbHRkbC9j
b25maWcvY29uZmlnLnN1YicKY29uZmlndXJlLmFjOjc6IGluc3RhbGxpbmcg
YGx0ZGwvY29uZmlnL2luc3RhbGwtc2gnCmNvbmZpZ3VyZS5hYzo3OiBpbnN0
YWxsaW5nIGBsdGRsL2NvbmZpZy9taXNzaW5nJwpNYWtlZmlsZS5hbTogaW5z
dGFsbGluZyBgbHRkbC9jb25maWcvZGVwY29tcCcKc3Rkb3V0OgovTWluR1cv
c2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJl
Y3Vyc2l2ZS5hdDoxNDA6ICRBVVRPQ09ORiAKc3RkZXJyOgpzdGRvdXQ6Ci9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
bm9ucmVjdXJzaXZlLmF0OjE0MDogOiAke0NPTkZJR19TSEVMTD0vYmluL3No
fTsgZXhwb3J0IENPTkZJR19TSEVMTDsgCSAgJENPTkZJR19TSEVMTCAuL2Nv
bmZpZ3VyZSAkY29uZmlndXJlX29wdGlvbnMgLS1lbmFibGUtbHRkbC1pbnN0
YWxsIC0tcHJlZml4PSRwcmVmaXgKc3RkZXJyOgpzdGRvdXQ6CmNoZWNraW5n
IGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL2Jpbi9pbnN0YWxs
IC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2Fu
ZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIgLXAu
Li4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4uLiBnYXdrCmNo
ZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4geWVzCmNoZWNr
aW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIgdGhlIEMgY29t
cGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNvbXBpbGVyIGRl
ZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLmV4ZQpjaGVja2luZyBmb3Ig
c3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIC5leGUKY2hlY2tpbmcgd2hldGhl
ciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNraW5nIGZvciBz
dWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcgd2hldGhlciB3
ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHllcwpjaGVja2lu
ZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVja2luZyBmb3Ig
Z2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25lIG5lZWRlZApj
aGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5IG1ha2UuLi4g
R05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2NjLi4uIGdjYzMK
Y2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3RhbmQgLWMgYW5k
IC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlw
ZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG9zdCBzeXN0ZW0gdHlw
ZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG93IHRvIHByaW50IHN0
cmluZ3MuLi4gcHJpbnRmCmNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMg
bm90IHRydW5jYXRlIG91dHB1dC4uLiAvYmluL3NlZApjaGVja2luZyBmb3Ig
Z3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUuLi4gL2Jpbi9n
cmVwCmNoZWNraW5nIGZvciBlZ3JlcC4uLiAvYmluL2dyZXAgLUUKY2hlY2tp
bmcgZm9yIGZncmVwLi4uIC9iaW4vZ3JlcCAtRgpjaGVja2luZyBmb3IgbGQg
dXNlZCBieSBnY2MuLi4gYzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlCmNo
ZWNraW5nIGlmIHRoZSBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xk
LmV4ZSkgaXMgR05VIGxkLi4uIHllcwpjaGVja2luZyBmb3IgQlNELSBvciBN
Uy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4gL2Jpbi9ubSAtQgpj
aGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC9iaW4vbm0gLUIpIGludGVyZmFj
ZS4uLiBCU0Qgbm0KY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3b3Jrcy4uLiBu
bywgdXNpbmcgY3AgLXAKY2hlY2tpbmcgdGhlIG1heGltdW0gbGVuZ3RoIG9m
IGNvbW1hbmQgbGluZSBhcmd1bWVudHMuLi4gODE5MgpjaGVja2luZyB3aGV0
aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBjb25zdHJ1Y3Rz
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5k
cyAiKz0iLi4uIHllcwpjaGVja2luZyBob3cgdG8gY29udmVydCBpNjg2LXBj
LW1pbmd3MzIgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1pbmd3MzIgZm9ybWF0
Li4uIChjYWNoZWQpIGZ1bmNfY29udmVydF9maWxlX21zeXNfdG9fdzMyCmNo
ZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbWluZ3czMiBmaWxlIG5h
bWVzIHRvIHRvb2xjaGFpbiBmb3JtYXQuLi4gKGNhY2hlZCkgZnVuY19jb252
ZXJ0X2ZpbGVfbXN5c190b193MzIKY2hlY2tpbmcgZm9yIGM6L3Rpbmd3L21p
bmd3MzIvYmluL2xkLmV4ZSBvcHRpb24gdG8gcmVsb2FkIG9iamVjdCBmaWxl
cy4uLiAtcgpjaGVja2luZyBmb3Igb2JqZHVtcC4uLiBvYmpkdW1wCmNoZWNr
aW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJhcmllcy4uLiBm
aWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4NiBETEwKY2hlY2tp
bmcgZm9yIGRsbHRvb2wuLi4gZGxsdG9vbApjaGVja2luZyBob3cgdG8gYXNz
b2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVzLi4uIGZ1bmNfY3ln
bWluZ19kbGxfZm9yX2ltcGxpYgpjaGVja2luZyBmb3IgYXJjaGl2ZXIgQEZJ
TEUgc3VwcG9ydC4uLiBACmNoZWNraW5nIGZvciBzdHJpcC4uLiBzdHJpcApj
aGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2luZyBjb21tYW5k
IHRvIHBhcnNlIC9iaW4vbm0gLUIgb3V0cHV0IGZyb20gZ2NjIG9iamVjdC4u
LiBvawpjaGVja2luZyBmb3Igc3lzcm9vdC4uLiBubwpjaGVja2luZyBmb3Ig
bXQuLi4gOgpjaGVja2luZyBpZiA6IGlzIGEgbWFuaWZlc3QgdG9vbC4uLiBu
bwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nlc3Nvci4uLiBn
Y2MgLUUKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmlsZXMuLi4geWVz
CmNoZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMKY2hlY2tpbmcgZm9y
IHN5cy9zdGF0LmguLi4geWVzCmNoZWNraW5nIGZvciBzdGRsaWIuaC4uLiB5
ZXMKY2hlY2tpbmcgZm9yIHN0cmluZy5oLi4uIHllcwpjaGVja2luZyBmb3Ig
bWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJpbmdzLmguLi4geWVz
CmNoZWNraW5nIGZvciBpbnR0eXBlcy5oLi4uIHllcwpjaGVja2luZyBmb3Ig
c3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1bmlzdGQuaC4uLiB5ZXMK
Y2hlY2tpbmcgZm9yIGRsZmNuLmguLi4gbm8KY2hlY2tpbmcgZm9yIG9iamRp
ci4uLiAubGlicwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWZuby1ydHRp
IC1mbm8tZXhjZXB0aW9ucy4uLiBubwpjaGVja2luZyBmb3IgZ2NjIG9wdGlv
biB0byBwcm9kdWNlIFBJQy4uLiAtRERMTF9FWFBPUlQgLURQSUMKY2hlY2tp
bmcgaWYgZ2NjIFBJQyBmbGFnIC1ERExMX0VYUE9SVCAtRFBJQyB3b3Jrcy4u
LiB5ZXMKY2hlY2tpbmcgaWYgZ2NjIHN0YXRpYyBmbGFnIC1zdGF0aWMgd29y
a3MuLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAtYyAtbyBmaWxl
Lm8uLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAtYyAtbyBmaWxl
Lm8uLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIGdjYyBs
aW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSkgc3VwcG9ydHMg
c2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciAtbGMg
c2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluLi4uIHllcwpjaGVja2lu
ZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MuLi4gV2luMzIgbGQu
ZXhlCmNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5IHBhdGhzIGlu
dG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRlCmNoZWNraW5nIHdoZXRoZXIgc3Ry
aXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZS4uLiB5ZXMKY2hlY2tpbmcg
aWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzLi4uIHllcwpj
aGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJyYXJpZXMuLi4g
eWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3RhdGljIGxpYnJhcmll
cy4uLiB5ZXMKY2hlY2tpbmcgd2hpY2ggZXh0ZW5zaW9uIGlzIHVzZWQgZm9y
IHJ1bnRpbWUgbG9hZGFibGUgbW9kdWxlcy4uLiAuZGxsCmNoZWNraW5nIHdo
aWNoIHZhcmlhYmxlIHNwZWNpZmllcyBydW4tdGltZSBtb2R1bGUgc2VhcmNo
IHBhdGguLi4gUEFUSApjaGVja2luZyBmb3IgdGhlIGRlZmF1bHQgbGlicmFy
eSBzZWFyY2ggcGF0aC4uLiAvbGliIC91c3IvbGliCmNoZWNraW5nIGZvciBs
aWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuLi4uIG5vCmNoZWNraW5nIGZvciBk
bG9wZW4gaW4gLWxzdmxkLi4uIG5vCmNoZWNraW5nIGZvciBzaGxfbG9hZC4u
LiBubwpjaGVja2luZyBmb3Igc2hsX2xvYWQgaW4gLWxkbGQuLi4gbm8KY2hl
Y2tpbmcgd2hldGhlciBjeWd3aW5fY29udl9wYXRoIGlzIGRlY2xhcmVkLi4u
IG5vCmNoZWNraW5nIGZvciBkbGRfbGluayBpbiAtbGRsZC4uLiBubwpjaGVj
a2luZyBmb3IgXyBwcmVmaXggaW4gY29tcGlsZWQgc3ltYm9scy4uLiB5ZXMK
Y2hlY2tpbmcgd2hldGhlciBkZXBsaWJzIGFyZSBsb2FkZWQgYnkgZGxvcGVu
Li4uIHVua25vd24KY2hlY2tpbmcgZm9yIGFyZ3ouaC4uLiBubwpjaGVja2lu
ZyBmb3IgZXJyb3JfdC4uLiBubwpjaGVja2luZyBmb3IgYXJnel9hZGQuLi4g
bm8KY2hlY2tpbmcgZm9yIGFyZ3pfYXBwZW5kLi4uIG5vCmNoZWNraW5nIGZv
ciBhcmd6X2NvdW50Li4uIG5vCmNoZWNraW5nIGZvciBhcmd6X2NyZWF0ZV9z
ZXAuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfaW5zZXJ0Li4uIG5vCmNoZWNr
aW5nIGZvciBhcmd6X25leHQuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfc3Ry
aW5naWZ5Li4uIG5vCmNoZWNraW5nIHdoZXRoZXIgbGlidG9vbCBzdXBwb3J0
cyAtZGxvcGVuLy1kbHByZW9wZW4uLi4geWVzCmNoZWNraW5nIGZvciBsdGRs
LmguLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbHRfZGxpbnRlcmZhY2VfcmVn
aXN0ZXIgaXMgZGVjbGFyZWQuLi4geWVzCmNoZWNraW5nIGZvciBsdF9kbGFk
dmlzZV9wcmVsb2FkIGluIC1sbHRkbC4uLiB5ZXMKY2hlY2tpbmcgd2hlcmUg
dG8gZmluZCBsaWJsdGRsIGhlYWRlcnMuLi4gCmNoZWNraW5nIHdoZXJlIHRv
IGZpbmQgbGlibHRkbCBsaWJyYXJ5Li4uIC1sbHRkbApjaGVja2luZyBmb3Ig
dW5pc3RkLmguLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIGZvciBkbC5oLi4u
IG5vCmNoZWNraW5nIGZvciBzeXMvZGwuaC4uLiBubwpjaGVja2luZyBmb3Ig
ZGxkLmguLi4gbm8KY2hlY2tpbmcgZm9yIG1hY2gtby9keWxkLmguLi4gbm8K
Y2hlY2tpbmcgZm9yIGRpcmVudC5oLi4uIHllcwpjaGVja2luZyBmb3IgY2xv
c2VkaXIuLi4geWVzCmNoZWNraW5nIGZvciBvcGVuZGlyLi4uIHllcwpjaGVj
a2luZyBmb3IgcmVhZGRpci4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmxjYXQu
Li4gbm8KY2hlY2tpbmcgZm9yIHN0cmxjcHkuLi4gbm8KY29uZmlndXJlOiBj
cmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1czogY3JlYXRp
bmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcgY29uZmlnLmgK
Y29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNvbW1hbmRzCmNv
bmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBsaWJ0b29sIGNvbW1hbmRzCi9NaW5H
Vy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvbm9u
cmVjdXJzaXZlLmF0OjE0MDogJHVuc2V0IExJQlRPT0wgTElCVE9PTElaRTsg
JE1BS0UgJHRhcmdldCAKc3RkZXJyOgpJbiBmaWxlIGluY2x1ZGVkIGZyb20g
Li9sdGRsL2xpYmx0ZGwvbHRfX2dsaWJjLmg6NjE6MCwNCiAgICAgICAgICAg
ICAgICAgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjU0LA0K
ICAgICAgICAgICAgICAgICBmcm9tIGx0ZGwvbG9hZGVycy9wcmVvcGVuLmM6
MzI6DQpsdGRsL2FyZ3ouaDo0MzowOiB3YXJuaW5nOiAiTFRfU0NPUEUiIHJl
ZGVmaW5lZCBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KICMgIGRlZmluZSBMVF9T
Q09QRQ0KIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuL2x0ZGwvbGlibHRk
bC9sdF9fYWxsb2MuaDozNDowLA0KICAgICAgICAgICAgICAgICBmcm9tIC4v
bHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6NTEsDQogICAgICAgICAgICAg
ICAgIGZyb20gbHRkbC9sb2FkZXJzL3ByZW9wZW4uYzozMjoNCi4vbHRkbC9s
aWJsdGRsL2x0X3N5c3RlbS5oOjExNjowOiBub3RlOiB0aGlzIGlzIHRoZSBs
b2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbg0KICMgICAgICBk
ZWZpbmUgTFRfU0NPUEUgZXh0ZXJuIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQ0K
IF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBsdGRsL2x0ZGwuaDozNzowLA0K
ICAgICAgICAgICAgICAgICBmcm9tIC4vbHRkbC9saWJsdGRsL2x0X19wcml2
YXRlLmg6NTcsDQogICAgICAgICAgICAgICAgIGZyb20gbHRkbC9sb2FkZXJz
L3ByZW9wZW4uYzozMjoNCmx0ZGwvbGlibHRkbC9sdF9lcnJvci5oOjc5OjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCBsdF9k
bGFkZGVycm9yIChjb25zdCBjaGFyICpkaWFnbm9zdGljKTsNCiAgICAgICAg
ICBeDQpsdGRsL2xpYmx0ZGwvbHRfZXJyb3IuaDo4MDoxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgbHRfZGxzZXRlcnJvciAo
aW50IGVycm9yY29kZSk7DQogICAgICAgICAgXg0KSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIGx0ZGwvbHRkbC5oOjM4OjAsDQogICAgICAgICAgICAgICAgIGZy
b20gLi9sdGRsL2xpYmx0ZGwvbHRfX3ByaXZhdGUuaDo1NywNCiAgICAgICAg
ICAgICAgICAgZnJvbSBsdGRsL2xvYWRlcnMvcHJlb3Blbi5jOjMyOg0KbHRk
bC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6NzM6MTA6IGVycm9yOiBleHBlY3Rl
ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVm
b3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICBsdF9kbGxvYWRlcl9hZGQgICAg
KGNvbnN0IGx0X2RsdnRhYmxlICp2dGFibGUpOw0KICAgICAgICAgIF4NCmx0
ZGwvbGlibHRkbC9sdF9kbGxvYWRlci5oOjc0OjE6IGVycm9yOiB1bmtub3du
IHR5cGUgbmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRfZGxsb2FkZXIg
bHRfZGxsb2FkZXJfbmV4dCAgIChjb25zdCBsdF9kbGxvYWRlciBsb2FkZXIp
Ow0KIF4NCmx0ZGwvbGlibHRkbC9sdF9kbGxvYWRlci5oOjc0OjIyOiBlcnJv
cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
dXRlX18nIGJlZm9yZSAnbHRfZGxsb2FkZXJfbmV4dCcNCiBMVF9TQ09QRSBs
dF9kbGxvYWRlciBsdF9kbGxvYWRlcl9uZXh0ICAgKGNvbnN0IGx0X2RsbG9h
ZGVyIGxvYWRlcik7DQogICAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9s
aWJsdGRsL2x0X2RsbG9hZGVyLmg6NzY6MTogZXJyb3I6IHVua25vd24gdHlw
ZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbHZ0YWJsZSAqIGx0
X2RsbG9hZGVyX3JlbW92ZSAoY29uc3QgY2hhciAqbmFtZSk7DQogXg0KbHRk
bC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6NzY6MjI6IGVycm9yOiBleHBlY3Rl
ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVm
b3JlICcqJyB0b2tlbg0KIExUX1NDT1BFIGx0X2RsdnRhYmxlICogbHRfZGxs
b2FkZXJfcmVtb3ZlIChjb25zdCBjaGFyICpuYW1lKTsNCiAgICAgICAgICAg
ICAgICAgICAgICBeDQpsdGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIuaDo3Nzox
MDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdf
X2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0
IGx0X2RsdnRhYmxlICpsdF9kbGxvYWRlcl9maW5kIChjb25zdCBjaGFyICpu
YW1lKTsNCiAgICAgICAgICBeDQpsdGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIu
aDo3ODoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20n
IG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BF
IGNvbnN0IGx0X2RsdnRhYmxlICpsdF9kbGxvYWRlcl9nZXQgKGx0X2RsbG9h
ZGVyIGxvYWRlcik7DQogICAgICAgICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBm
cm9tIC4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6NTc6MCwNCiAgICAg
ICAgICAgICAgICAgZnJvbSBsdGRsL2xvYWRlcnMvcHJlb3Blbi5jOjMyOg0K
bHRkbC9sdGRsLmg6NTM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQog
TFRfU0NPUEUgaW50ICAgICBsdF9kbGluaXQgICh2b2lkKTsNCiAgICAgICAg
ICBeDQpsdGRsL2x0ZGwuaDo1NDoxMDogZXJyb3I6IGV4cGVjdGVkICc9Jywg
JywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2lu
dCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsZXhpdCAgKHZvaWQpOw0KICAg
ICAgICAgIF4NCmx0ZGwvbHRkbC5oOjU3OjEwOiBlcnJvcjogZXhwZWN0ZWQg
Jz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9y
ZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZGRzZWFyY2hkaXIg
IChjb25zdCBjaGFyICpzZWFyY2hfZGlyKTsNCiAgICAgICAgICBeDQpsdGRs
L2x0ZGwuaDo1ODoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs
ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9T
Q09QRSBpbnQgICAgIGx0X2RsaW5zZXJ0c2VhcmNoZGlyIChjb25zdCBjaGFy
ICpiZWZvcmUsDQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6NjA6MTA6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICAgbHRf
ZGxzZXRzZWFyY2hwYXRoICAoY29uc3QgY2hhciAqc2VhcmNoX3BhdGgpOw0K
ICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjYxOjEwOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hhciAqbHRfZGxnZXRz
ZWFyY2hwYXRoICAodm9pZCk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6
NjI6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBv
ciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50
ICAgICBsdF9kbGZvcmVhY2hmaWxlICAoDQogICAgICAgICAgXg0KbHRkbC9s
dGRsLmg6Njg6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAn
YXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NP
UEUgaW50ICAgICBsdF9kbGFkdmlzZV9pbml0ICAobHRfZGxhZHZpc2UgKmFk
dmlzZSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6Njk6MTA6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1
dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9kbGFk
dmlzZV9kZXN0cm95ICAobHRfZGxhZHZpc2UgKmFkdmlzZSk7DQogICAgICAg
ICAgXg0KbHRkbC9sdGRsLmg6NzA6MTA6IGVycm9yOiBleHBlY3RlZCAnPScs
ICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdp
bnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9kbGFkdmlzZV9leHQgIChsdF9k
bGFkdmlzZSAqYWR2aXNlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3
MToxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQg
ICAgIGx0X2RsYWR2aXNlX3Jlc2lkZW50IChsdF9kbGFkdmlzZSAqYWR2aXNl
KTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3MjoxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsYWR2aXNl
X2xvY2FsICAobHRfZGxhZHZpc2UgKmFkdmlzZSk7DQogICAgICAgICAgXg0K
bHRkbC9sdGRsLmg6NzM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQog
TFRfU0NPUEUgaW50ICAgICBsdF9kbGFkdmlzZV9nbG9iYWwgICAobHRfZGxh
ZHZpc2UgKmFkdmlzZSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6NzQ6
MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAn
X19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAg
ICBsdF9kbGFkdmlzZV9wcmVsb2FkICAobHRfZGxhZHZpc2UgKmFkdmlzZSk7
DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6Nzc6MTogZXJyb3I6IHVua25v
d24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbGhhbmRs
ZSBsdF9kbG9wZW4gIChjb25zdCBjaGFyICpmaWxlbmFtZSk7DQogXg0KbHRk
bC9sdGRsLmg6Nzc6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsn
LCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdsdF9kbG9wZW4n
DQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxvcGVuICAoY29uc3QgY2hh
ciAqZmlsZW5hbWUpOw0KICAgICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwv
bHRkbC5oOjc4OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NP
UEUnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxvcGVuZXh0IChjb25z
dCBjaGFyICpmaWxlbmFtZSk7DQogXg0KbHRkbC9sdGRsLmg6Nzg6MjI6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdsdF9kbG9wZW5leHQnDQogTFRfU0NPUEUgbHRf
ZGxoYW5kbGUgbHRfZGxvcGVuZXh0IChjb25zdCBjaGFyICpmaWxlbmFtZSk7
DQogICAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sdGRsLmg6Nzk6MTog
ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09Q
RSBsdF9kbGhhbmRsZSBsdF9kbG9wZW5hZHZpc2UgKGNvbnN0IGNoYXIgKmZp
bGVuYW1lLA0KIF4NCmx0ZGwvbHRkbC5oOjc5OjIyOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAnbHRfZGxvcGVuYWR2aXNlJw0KIExUX1NDT1BFIGx0X2RsaGFuZGxl
IGx0X2Rsb3BlbmFkdmlzZSAoY29uc3QgY2hhciAqZmlsZW5hbWUsDQogICAg
ICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sdGRsLmg6ODE6MTA6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1
dGVfXycgYmVmb3JlICd2b2lkJw0KIExUX1NDT1BFIHZvaWQgKiAgICAgbHRf
ZGxzeW0gIChsdF9kbGhhbmRsZSBoYW5kbGUsIGNvbnN0IGNoYXIgKm5hbWUp
Ow0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjgyOjEwOiBlcnJvcjogZXhw
ZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18n
IGJlZm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hhciAqbHRfZGxl
cnJvciAgKHZvaWQpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjgzOjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAg
bHRfZGxjbG9zZSAgKGx0X2RsaGFuZGxlIGhhbmRsZSk7DQogICAgICAgICAg
Xg0KbHRkbC9sdGRsLmg6OTk6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcs
JywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQn
DQogTFRfU0NPUEUgaW50IGx0X2RscHJlbG9hZCAgICAgIChjb25zdCBsdF9k
bHN5bWxpc3QgKnByZWxvYWRlZCk7DQogICAgICAgICAgXg0KbHRkbC9sdGRs
Lmg6MTAwOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2Fz
bScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BF
IGludCBsdF9kbHByZWxvYWRfZGVmYXVsdCAoY29uc3QgbHRfZGxzeW1saXN0
ICpwcmVsb2FkZWQpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjEwMTox
MDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdf
X2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgbHRf
ZGxwcmVsb2FkX29wZW4gICAgKGNvbnN0IGNoYXIgKm9yaWdpbmF0b3IsDQog
ICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTIxOjE6IGVycm9yOiB1bmtub3du
IHR5cGUgbmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRfZGxpbnRlcmZh
Y2VfaWQgbHRfZGxpbnRlcmZhY2VfcmVnaXN0ZXIgKGNvbnN0IGNoYXIgKmlk
X3N0cmluZywNCiBeDQpsdGRsL2x0ZGwuaDoxMjE6Mjg6IGVycm9yOiBleHBl
Y3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg
YmVmb3JlICdsdF9kbGludGVyZmFjZV9yZWdpc3RlcicNCiBMVF9TQ09QRSBs
dF9kbGludGVyZmFjZV9pZCBsdF9kbGludGVyZmFjZV9yZWdpc3RlciAoY29u
c3QgY2hhciAqaWRfc3RyaW5nLA0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIF4NCmx0ZGwvbHRkbC5oOjEyMzoxMDogZXJyb3I6IGV4cGVjdGVkICc9
JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg
J3ZvaWQnDQogTFRfU0NPUEUgdm9pZCBsdF9kbGludGVyZmFjZV9mcmVlIChs
dF9kbGludGVyZmFjZV9pZCBrZXkpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRk
bC5oOjEyNDoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdh
c20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3ZvaWQnDQogTFRfU0NP
UEUgdm9pZCAqIGx0X2RsY2FsbGVyX3NldF9kYXRhICAobHRfZGxpbnRlcmZh
Y2VfaWQga2V5LA0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjEyNjoxMDog
ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0
dHJpYnV0ZV9fJyBiZWZvcmUgJ3ZvaWQnDQogTFRfU0NPUEUgdm9pZCAqIGx0
X2RsY2FsbGVyX2dldF9kYXRhICAobHRfZGxpbnRlcmZhY2VfaWQga2V5LA0K
ICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjE0MzoxMDogZXJyb3I6IGV4cGVj
dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBi
ZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGx0X2RsaW5mbyAqbHRf
ZGxnZXRpbmZvICAgICAobHRfZGxoYW5kbGUgaGFuZGxlKTsNCiAgICAgICAg
ICBeDQpsdGRsL2x0ZGwuaDoxNDU6MTogZXJyb3I6IHVua25vd24gdHlwZSBu
YW1lICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbGhh
bmRsZV9pdGVyYXRlIChsdF9kbGludGVyZmFjZV9pZCBpZmFjZSwNCiBeDQps
dGRsL2x0ZGwuaDoxNDU6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdsdF9kbGhh
bmRsZV9pdGVyYXRlJw0KIExUX1NDT1BFIGx0X2RsaGFuZGxlIGx0X2RsaGFu
ZGxlX2l0ZXJhdGUgKGx0X2RsaW50ZXJmYWNlX2lkIGlmYWNlLA0KICAgICAg
ICAgICAgICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjE0NzoxOiBlcnJvcjog
dW5rbm93biB0eXBlIG5hbWUgJ0xUX1NDT1BFJw0KIExUX1NDT1BFIGx0X2Rs
aGFuZGxlIGx0X2RsaGFuZGxlX2ZldGNoICAgKGx0X2RsaW50ZXJmYWNlX2lk
IGlmYWNlLA0KIF4NCmx0ZGwvbHRkbC5oOjE0NzoyMjogZXJyb3I6IGV4cGVj
dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBi
ZWZvcmUgJ2x0X2RsaGFuZGxlX2ZldGNoJw0KIExUX1NDT1BFIGx0X2RsaGFu
ZGxlIGx0X2RsaGFuZGxlX2ZldGNoICAgKGx0X2RsaW50ZXJmYWNlX2lkIGlm
YWNlLA0KICAgICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjE0
OToxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQg
IGx0X2RsaGFuZGxlX21hcCAgICAgKGx0X2RsaW50ZXJmYWNlX2lkIGlmYWNl
LA0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjE1NjoxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsbWFrZXJl
c2lkZW50IChsdF9kbGhhbmRsZSBoYW5kbGUpOw0KICAgICAgICAgIF4NCmx0
ZGwvbHRkbC5oOjE1NzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAn
OycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBM
VF9TQ09QRSBpbnQgICAgIGx0X2RsaXNyZXNpZGVudCAobHRfZGxoYW5kbGUg
aGFuZGxlKTsNCiAgICAgICAgICBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20g
bHRkbC9sb2FkZXJzL3ByZW9wZW4uYzozMjowOg0KLi9sdGRsL2xpYmx0ZGwv
bHRfX3ByaXZhdGUuaDo5MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywn
LCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3ZvaWQn
DQogTFRfU0NPUEUgdm9pZCBsdF9fYWxsb2NfZGllX2NhbGxiYWNrICh2b2lk
KTsNCiAgICAgICAgICBeDQouL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5o
OjE0MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20n
IG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BF
IGNvbnN0IGNoYXIgKmx0X19lcnJvcl9zdHJpbmcgKGludCBlcnJvcmNvZGUp
Ow0KICAgICAgICAgIF4NCi4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6
MTQ0OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScg
b3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnY29uc3QnDQogTFRfU0NPUEUg
Y29uc3QgY2hhciAqbHRfX2dldF9sYXN0X2Vycm9yICh2b2lkKTsNCiAgICAg
ICAgICBeDQouL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjE0NToxMDog
ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0
dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGNo
YXIgKmx0X19zZXRfbGFzdF9lcnJvciAoY29uc3QgY2hhciAqZXJyb3Jtc2cp
Ow0KICAgICAgICAgIF4NCmx0ZGwvbG9hZGVycy9wcmVvcGVuLmM6NDI6MTog
ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09Q
RSBsdF9kbHZ0YWJsZSAqZ2V0X3Z0YWJsZSAobHRfdXNlcl9kYXRhIGxvYWRl
cl9kYXRhKTsNCiBeDQpsdGRsL2xvYWRlcnMvcHJlb3Blbi5jOjQyOjIyOiBl
cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAnKicgdG9rZW4NCiBMVF9TQ09QRSBsdF9kbHZ0
YWJsZSAqZ2V0X3Z0YWJsZSAobHRfdXNlcl9kYXRhIGxvYWRlcl9kYXRhKTsN
CiAgICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2xvYWRlcnMvcHJlb3Bl
bi5jOiBJbiBmdW5jdGlvbiAnbHRfZGxwcmVsb2FkX29wZW4nOg0KbHRkbC9s
b2FkZXJzL3ByZW9wZW4uYzozNTQ6MjY6IHdhcm5pbmc6IGluaXRpYWxpemF0
aW9uIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0
IFtlbmFibGVkIGJ5IGRlZmF1bHRdDQogICAgIGx0X2RsaGFuZGxlIGhhbmRs
ZSA9IGx0X2Rsb3BlbiAoc3ltYm9sLT5uYW1lKTsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgXg0KbWFrZVsxXTogKioqIFtsdGRsL2xvYWRlcnMvbHRk
bF9saWJsdGRsX2xhLXByZW9wZW4ubG9dIEVycm9yIDEKbWFrZTogKioqIFth
bGxdIEVycm9yIDIKc3Rkb3V0OgovYmluL3NoIC9taW5ndy9saWJ0b29sLWJ1
aWxkLWR1ZS10by1HTlUvdGVzdHMvdGVzdHN1aXRlLmRpci8wOTcvbHRkbC9j
b25maWcvaW5zdGFsbC1zaCAtZCAuIGx0ZGwvCmNwIC4vbHRkbC9hcmd6Xy5o
IGx0ZGwvYXJnei5oLXQKbXYgbHRkbC9hcmd6LmgtdCBsdGRsL2FyZ3ouaApt
YWtlICBhbGwtYW0KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvbWlu
Z3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzL3Rlc3RzdWl0ZS5k
aXIvMDk3JwpkZXBiYXNlPWBlY2hvIGZvby5sbyB8IHNlZCAnc3xbXi9dKiR8
LmRlcHMvJnw7c3xcLmxvJHx8J2A7XAoJL2Jpbi9zaCAuL2xpYnRvb2wgLS10
YWc9Q0MgICAtLW1vZGU9Y29tcGlsZSBnY2MgLURIQVZFX0NPTkZJR19IIC1J
LiAgLURMVF9DT05GSUdfSD0nPGNvbmZpZy5oPicgLURMVERMIC1JLiAtSS4g
LUlsdGRsIC1JLi9sdGRsIC1JLi9sdGRsL2xpYmx0ZGwgICAtZyAtTzIgLU1U
IGZvby5sbyAtTUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMgLW8gZm9vLmxv
IGZvby5jICYmXAoJbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNlLlBsbwps
aWJ0b29sOiBjb21waWxlOiAgZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gIi1E
TFRfQ09ORklHX0g9PGNvbmZpZy5oPiIgLURMVERMIC1JLiAtSS4gLUlsdGRs
IC1JLi9sdGRsIC1JLi9sdGRsL2xpYmx0ZGwgLWcgLU8yIC1NVCBmb28ubG8g
LU1EIC1NUCAtTUYgLmRlcHMvZm9vLlRwbyAtYyBmb28uYyAgLURETExfRVhQ
T1JUIC1EUElDIC1vIC5saWJzL2Zvby5vCmxpYnRvb2w6IGNvbXBpbGU6ICBn
Y2MgLURIQVZFX0NPTkZJR19IIC1JLiAiLURMVF9DT05GSUdfSD08Y29uZmln
Lmg+IiAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUkuL2x0ZGwv
bGlibHRkbCAtZyAtTzIgLU1UIGZvby5sbyAtTUQgLU1QIC1NRiAuZGVwcy9m
b28uVHBvIC1jIGZvby5jIC1vIGZvby5vID4vZGV2L251bGwgMj4mMQovYmlu
L3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1saW5rIGdjYyAgLWcg
LU8yIC1tb2R1bGUgLWF2b2lkLXZlcnNpb24gLW5vLXVuZGVmaW5lZCAgLW8g
Zm9vLmxhIC1ycGF0aCAvbWluZ3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05V
L3Rlc3RzL3Rlc3RzdWl0ZS5kaXIvMDk3L19pbnN0L2xpYiBmb28ubG8gIAps
aWJ0b29sOiBsaW5rOiBnY2MgLXNoYXJlZCAgLmxpYnMvZm9vLm8gICAgLU8y
ICAgLW8gLmxpYnMvZm9vLmRsbCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1i
YXNlIC1YbGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciAubGlicy9mb28u
ZGxsLmEKbGlidG9vbDogbGluazogYXIgY3J1IC5saWJzL2Zvby5hICBmb28u
bwpsaWJ0b29sOiBsaW5rOiByYW5saWIgLmxpYnMvZm9vLmEKbGlidG9vbDog
bGluazogKCBjZCAiLmxpYnMiICYmIHJtIC1mICJmb28ubGEiICYmIGNwIC1w
ICIuLi9mb28ubGEiICJmb28ubGEiICkKL2Jpbi9zaCAuL2xpYnRvb2wgIC0t
dGFnPUNDICAgLS1tb2RlPWNvbXBpbGUgZ2NjIC1ESEFWRV9DT05GSUdfSCAt
SS4gIC1ETFRETE9QRU49bGlibHRkbCAtRExUX0NPTkZJR19IPSc8Y29uZmln
Lmg+JyAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUkuL2x0ZGwv
bGlibHRkbCAgIC1nIC1PMiAtTVQgbHRkbC9sb2FkZXJzL2x0ZGxfbGlibHRk
bF9sYS1wcmVvcGVuLmxvIC1NRCAtTVAgLU1GIGx0ZGwvbG9hZGVycy8uZGVw
cy9sdGRsX2xpYmx0ZGxfbGEtcHJlb3Blbi5UcG8gLWMgLW8gbHRkbC9sb2Fk
ZXJzL2x0ZGxfbGlibHRkbF9sYS1wcmVvcGVuLmxvIGB0ZXN0IC1mICdsdGRs
L2xvYWRlcnMvcHJlb3Blbi5jJyB8fCBlY2hvICcuLydgbHRkbC9sb2FkZXJz
L3ByZW9wZW4uYwpsaWJ0b29sOiBjb21waWxlOiAgZ2NjIC1ESEFWRV9DT05G
SUdfSCAtSS4gLURMVERMT1BFTj1saWJsdGRsICItRExUX0NPTkZJR19IPTxj
b25maWcuaD4iIC1ETFRETCAtSS4gLUkuIC1JbHRkbCAtSS4vbHRkbCAtSS4v
bHRkbC9saWJsdGRsIC1nIC1PMiAtTVQgbHRkbC9sb2FkZXJzL2x0ZGxfbGli
bHRkbF9sYS1wcmVvcGVuLmxvIC1NRCAtTVAgLU1GIGx0ZGwvbG9hZGVycy8u
ZGVwcy9sdGRsX2xpYmx0ZGxfbGEtcHJlb3Blbi5UcG8gLWMgbHRkbC9sb2Fk
ZXJzL3ByZW9wZW4uYyAgLURETExfRVhQT1JUIC1EUElDIC1vIGx0ZGwvbG9h
ZGVycy8ubGlicy9sdGRsX2xpYmx0ZGxfbGEtcHJlb3Blbi5vCm1ha2VbMV06
IExlYXZpbmcgZGlyZWN0b3J5IGAvbWluZ3cvbGlidG9vbC1idWlsZC1kdWUt
dG8tR05VL3Rlc3RzL3Rlc3RzdWl0ZS5kaXIvMDk3JwovTWluR1cvc2hhcmUv
YXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2
ZS5hdDoxNDA6IGV4aXQgY29kZSB3YXMgMiwgZXhwZWN0ZWQgMAo5Ny4gbm9u
cmVjdXJzaXZlLmF0OjEyNjogOTcuIGluc3RhbGxhYmxlIGxpYmx0ZGwgKG5v
bnJlY3Vyc2l2ZS5hdDoxMjYpOiBGQUlMRUQgKG5vbnJlY3Vyc2l2ZS5hdDox
NDApCg==

--_----------=_13840355941782731
Content-Disposition: attachment; filename="testsuite.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="testsuite.log"

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQo5Ni4gbm9ucmVjdXJzaXZlLmF0OjEwMjogdGVzdGluZyBjb21waWxp
bmcgY29waWVkIGxpYmx0ZGwgLi4uCmxpYnRvb2xpemU6IHB1dHRpbmcgYXV4
aWxpYXJ5IGZpbGVzIGluIEFDX0NPTkZJR19BVVhfRElSLCBgbHRkbC9jb25m
aWcnLgpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvY29uZmlnL2x0
bWFpbi5zaCcKbGlidG9vbGl6ZTogcHV0dGluZyBtYWNyb3MgaW4gQUNfQ09O
RklHX01BQ1JPX0RJUiwgYGx0ZGwvbTQnLgpsaWJ0b29saXplOiBjb3B5aW5n
IGZpbGUgYGx0ZGwvbTQvYXJnei5tNCcKbGlidG9vbGl6ZTogY29weWluZyBm
aWxlIGBsdGRsL200L2xpYnRvb2wubTQnCmxpYnRvb2xpemU6IGNvcHlpbmcg
ZmlsZSBgbHRkbC9tNC9sdGRsLm00JwpsaWJ0b29saXplOiBjb3B5aW5nIGZp
bGUgYGx0ZGwvbTQvbHRvcHRpb25zLm00JwpsaWJ0b29saXplOiBjb3B5aW5n
IGZpbGUgYGx0ZGwvbTQvbHRzdWdhci5tNCcKbGlidG9vbGl6ZTogY29weWlu
ZyBmaWxlIGBsdGRsL200L2x0dmVyc2lvbi5tNCcKbGlidG9vbGl6ZTogY29w
eWluZyBmaWxlIGBsdGRsL200L2x0fm9ic29sZXRlLm00JwpsaWJ0b29saXpl
OiBwdXR0aW5nIGxpYmx0ZGwgZmlsZXMgaW4gTFRfQ09ORklHX0xURExfRElS
LCBgbHRkbCcuCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9DT1BZ
SU5HLkxJQicKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL1JFQURN
RScKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2FyZ3pfLmgnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9hcmd6LmMnCmxpYnRvb2xp
emU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2RsZF9saW5rLmMnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2Rsb3Blbi5j
JwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9keWxk
LmMnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2xv
YWRfYWRkX29uLmMnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9s
b2FkZXJzL2xvYWRsaWJyYXJ5LmMnCmxpYnRvb2xpemU6IGNvcHlpbmcgZmls
ZSBgbHRkbC9sb2FkZXJzL3NobF9sb2FkLmMnCmxpYnRvb2xpemU6IGNvcHlp
bmcgZmlsZSBgbHRkbC9sdF9fZGlyZW50LmMnCmxpYnRvb2xpemU6IGNvcHlp
bmcgZmlsZSBgbHRkbC9sdF9fc3RybC5jJwpsaWJ0b29saXplOiBjb3B5aW5n
IGZpbGUgYGx0ZGwvbGlibHRkbC9sdF9fYWxsb2MuaCcKbGlidG9vbGl6ZTog
Y29weWluZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfX2RpcmVudC5oJwpsaWJ0
b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbGlibHRkbC9sdF9fZ2xpYmMu
aCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRf
X3ByaXZhdGUuaCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2xp
Ymx0ZGwvbHRfX3N0cmwuaCcKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBs
dGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIuaCcKbGlidG9vbGl6ZTogY29weWlu
ZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfZXJyb3IuaCcKbGlidG9vbGl6ZTog
Y29weWluZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfc3lzdGVtLmgnCmxpYnRv
b2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9saWJsdGRsL3NsaXN0LmgnCmxp
YnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL3ByZW9wZW4u
YycKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2x0X19hbGxvYy5j
JwpsaWJ0b29saXplOiBjb3B5aW5nIGZpbGUgYGx0ZGwvbHRfZGxsb2FkZXIu
YycKbGlidG9vbGl6ZTogY29weWluZyBmaWxlIGBsdGRsL2x0X2Vycm9yLmMn
CmxpYnRvb2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sdGRsLmMnCmxpYnRv
b2xpemU6IGNvcHlpbmcgZmlsZSBgbHRkbC9sdGRsLmgnCmxpYnRvb2xpemU6
IGNvcHlpbmcgZmlsZSBgbHRkbC9zbGlzdC5jJwpsaWJ0b29saXplOiBjcmVh
dGluZyBmaWxlIGBsdGRsL01ha2VmaWxlLmluYycKL01pbkdXL3NoYXJlL2F1
dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9ub25yZWN1cnNpdmUu
YXQ6MTA3OiBpZiB0ZXN0IC1mIGx0ZGwvY29uZmlndXJlLmFjOyB0aGVuIGZh
bHNlOyBmaQovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIu
NC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5hdDoxMTQ6ICRBQ0xPQ0FMIC1JIGx0
ZGwvbTQKc3RkZXJyOgpzdGRvdXQ6Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0x
LjExL2xpYnRvb2wtMi40LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjExNDog
JEFVVE9IRUFERVIgCnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0
b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5h
dDoxMTQ6ICRBVVRPTUFLRSAtLWFkZC1taXNzaW5nIC0tY29weQpzdGRlcnI6
CmNvbmZpZ3VyZS5hYzo5OiBpbnN0YWxsaW5nIGBsdGRsL2NvbmZpZy9jb21w
aWxlJwpjb25maWd1cmUuYWM6MTA6IGluc3RhbGxpbmcgYGx0ZGwvY29uZmln
L2NvbmZpZy5ndWVzcycKY29uZmlndXJlLmFjOjEwOiBpbnN0YWxsaW5nIGBs
dGRsL2NvbmZpZy9jb25maWcuc3ViJwpjb25maWd1cmUuYWM6NzogaW5zdGFs
bGluZyBgbHRkbC9jb25maWcvaW5zdGFsbC1zaCcKY29uZmlndXJlLmFjOjc6
IGluc3RhbGxpbmcgYGx0ZGwvY29uZmlnL21pc3NpbmcnCk1ha2VmaWxlLmFt
OiBpbnN0YWxsaW5nIGBsdGRsL2NvbmZpZy9kZXBjb21wJwpzdGRvdXQ6Ci9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
bm9ucmVjdXJzaXZlLmF0OjExNDogJEFVVE9DT05GIApzdGRlcnI6CnN0ZG91
dDoKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy9ub25yZWN1cnNpdmUuYXQ6MTE0OiA6ICR7Q09ORklHX1NIRUxMPS9i
aW4vc2h9OyBleHBvcnQgQ09ORklHX1NIRUxMOyAJICAkQ09ORklHX1NIRUxM
IC4vY29uZmlndXJlICRjb25maWd1cmVfb3B0aW9ucyAKc3RkZXJyOgpzdGRv
dXQ6CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4g
L2Jpbi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJv
bm1lbnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNh
ZmUgbWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3
ay4uLiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSku
Li4geWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRo
ZXIgdGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBD
IGNvbXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLmV4ZQpj
aGVja2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIC5leGUKY2hl
Y2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNo
ZWNraW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4u
IHllcwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpj
aGVja2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBu
b25lIG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2Vk
IGJ5IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2Yg
Z2NjLi4uIGdjYzMKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVy
c3RhbmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBidWls
ZCBzeXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG9z
dCBzeXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG93
IHRvIHByaW50IHN0cmluZ3MuLi4gcHJpbnRmCmNoZWNraW5nIGZvciBhIHNl
ZCB0aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAvYmluL3NlZApj
aGVja2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQg
LWUuLi4gL2Jpbi9ncmVwCmNoZWNraW5nIGZvciBlZ3JlcC4uLiAvYmluL2dy
ZXAgLUUKY2hlY2tpbmcgZm9yIGZncmVwLi4uIC9iaW4vZ3JlcCAtRgpjaGVj
a2luZyBmb3IgbGQgdXNlZCBieSBnY2MuLi4gYzovdGluZ3cvbWluZ3czMi9i
aW4vbGQuZXhlCmNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKGM6L3Rpbmd3L21p
bmd3MzIvYmluL2xkLmV4ZSkgaXMgR05VIGxkLi4uIHllcwpjaGVja2luZyBm
b3IgQlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4g
L2Jpbi9ubSAtQgpjaGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC9iaW4vbm0g
LUIpIGludGVyZmFjZS4uLiBCU0Qgbm0KY2hlY2tpbmcgd2hldGhlciBsbiAt
cyB3b3Jrcy4uLiBubywgdXNpbmcgY3AgLXAKY2hlY2tpbmcgdGhlIG1heGlt
dW0gbGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuLi4gODE5Mgpj
aGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhT
SSBjb25zdHJ1Y3RzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVs
bCB1bmRlcnN0YW5kcyAiKz0iLi4uIHllcwpjaGVja2luZyBob3cgdG8gY29u
dmVydCBpNjg2LXBjLW1pbmd3MzIgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1p
bmd3MzIgZm9ybWF0Li4uIChjYWNoZWQpIGZ1bmNfY29udmVydF9maWxlX21z
eXNfdG9fdzMyCmNoZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbWlu
Z3czMiBmaWxlIG5hbWVzIHRvIHRvb2xjaGFpbiBmb3JtYXQuLi4gKGNhY2hl
ZCkgZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIKY2hlY2tpbmcgZm9y
IGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSBvcHRpb24gdG8gcmVsb2Fk
IG9iamVjdCBmaWxlcy4uLiAtcgpjaGVja2luZyBmb3Igb2JqZHVtcC4uLiBv
YmpkdW1wCmNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxp
YnJhcmllcy4uLiBmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4
NiBETEwKY2hlY2tpbmcgZm9yIGRsbHRvb2wuLi4gZGxsdG9vbApjaGVja2lu
ZyBob3cgdG8gYXNzb2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVz
Li4uIGZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYgpjaGVja2luZyBmb3Ig
YXJjaGl2ZXIgQEZJTEUgc3VwcG9ydC4uLiBACmNoZWNraW5nIGZvciBzdHJp
cC4uLiBzdHJpcApjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVj
a2luZyBjb21tYW5kIHRvIHBhcnNlIC9iaW4vbm0gLUIgb3V0cHV0IGZyb20g
Z2NjIG9iamVjdC4uLiBvawpjaGVja2luZyBmb3Igc3lzcm9vdC4uLiBubwpj
aGVja2luZyBmb3IgbXQuLi4gOgpjaGVja2luZyBpZiA6IGlzIGEgbWFuaWZl
c3QgdG9vbC4uLiBubwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXBy
b2Nlc3Nvci4uLiBnY2MgLUUKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIg
ZmlsZXMuLi4geWVzCmNoZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMK
Y2hlY2tpbmcgZm9yIHN5cy9zdGF0LmguLi4geWVzCmNoZWNraW5nIGZvciBz
dGRsaWIuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmluZy5oLi4uIHllcwpj
aGVja2luZyBmb3IgbWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJp
bmdzLmguLi4geWVzCmNoZWNraW5nIGZvciBpbnR0eXBlcy5oLi4uIHllcwpj
aGVja2luZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1bmlz
dGQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIGRsZmNuLmguLi4gbm8KY2hlY2tp
bmcgZm9yIG9iamRpci4uLiAubGlicwpjaGVja2luZyBpZiBnY2Mgc3VwcG9y
dHMgLWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucy4uLiBubwpjaGVja2luZyBm
b3IgZ2NjIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAtRERMTF9FWFBPUlQg
LURQSUMKY2hlY2tpbmcgaWYgZ2NjIFBJQyBmbGFnIC1ERExMX0VYUE9SVCAt
RFBJQyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgZ2NjIHN0YXRpYyBmbGFn
IC1zdGF0aWMgd29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0
cyAtYyAtbyBmaWxlLm8uLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0
cyAtYyAtbyBmaWxlLm8uLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIHdoZXRo
ZXIgdGhlIGdjYyBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4
ZSkgc3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcg
d2hldGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluLi4u
IHllcwpjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3Mu
Li4gV2luMzIgbGQuZXhlCmNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJy
YXJ5IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRlCmNoZWNraW5n
IHdoZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZS4uLiB5
ZXMKY2hlY2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGlicmFy
aWVzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBs
aWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3Rh
dGljIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hpY2ggZXh0ZW5zaW9u
IGlzIHVzZWQgZm9yIHJ1bnRpbWUgbG9hZGFibGUgbW9kdWxlcy4uLiAuZGxs
CmNoZWNraW5nIHdoaWNoIHZhcmlhYmxlIHNwZWNpZmllcyBydW4tdGltZSBt
b2R1bGUgc2VhcmNoIHBhdGguLi4gUEFUSApjaGVja2luZyBmb3IgdGhlIGRl
ZmF1bHQgbGlicmFyeSBzZWFyY2ggcGF0aC4uLiAvbGliIC91c3IvbGliCmNo
ZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuLi4uIG5vCmNo
ZWNraW5nIGZvciBkbG9wZW4gaW4gLWxzdmxkLi4uIG5vCmNoZWNraW5nIGZv
ciBzaGxfbG9hZC4uLiBubwpjaGVja2luZyBmb3Igc2hsX2xvYWQgaW4gLWxk
bGQuLi4gbm8KY2hlY2tpbmcgd2hldGhlciBjeWd3aW5fY29udl9wYXRoIGlz
IGRlY2xhcmVkLi4uIG5vCmNoZWNraW5nIGZvciBkbGRfbGluayBpbiAtbGRs
ZC4uLiBubwpjaGVja2luZyBmb3IgXyBwcmVmaXggaW4gY29tcGlsZWQgc3lt
Ym9scy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBkZXBsaWJzIGFyZSBsb2Fk
ZWQgYnkgZGxvcGVuLi4uIHVua25vd24KY2hlY2tpbmcgZm9yIGFyZ3ouaC4u
LiBubwpjaGVja2luZyBmb3IgZXJyb3JfdC4uLiBubwpjaGVja2luZyBmb3Ig
YXJnel9hZGQuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfYXBwZW5kLi4uIG5v
CmNoZWNraW5nIGZvciBhcmd6X2NvdW50Li4uIG5vCmNoZWNraW5nIGZvciBh
cmd6X2NyZWF0ZV9zZXAuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfaW5zZXJ0
Li4uIG5vCmNoZWNraW5nIGZvciBhcmd6X25leHQuLi4gbm8KY2hlY2tpbmcg
Zm9yIGFyZ3pfc3RyaW5naWZ5Li4uIG5vCmNoZWNraW5nIHdoZXRoZXIgbGli
dG9vbCBzdXBwb3J0cyAtZGxvcGVuLy1kbHByZW9wZW4uLi4geWVzCmNoZWNr
aW5nIGZvciBsdGRsLmguLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbHRfZGxp
bnRlcmZhY2VfcmVnaXN0ZXIgaXMgZGVjbGFyZWQuLi4geWVzCmNoZWNraW5n
IGZvciBsdF9kbGFkdmlzZV9wcmVsb2FkIGluIC1sbHRkbC4uLiB5ZXMKY2hl
Y2tpbmcgd2hlcmUgdG8gZmluZCBsaWJsdGRsIGhlYWRlcnMuLi4gCmNoZWNr
aW5nIHdoZXJlIHRvIGZpbmQgbGlibHRkbCBsaWJyYXJ5Li4uIC1sbHRkbApj
aGVja2luZyBmb3IgdW5pc3RkLmguLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5n
IGZvciBkbC5oLi4uIG5vCmNoZWNraW5nIGZvciBzeXMvZGwuaC4uLiBubwpj
aGVja2luZyBmb3IgZGxkLmguLi4gbm8KY2hlY2tpbmcgZm9yIG1hY2gtby9k
eWxkLmguLi4gbm8KY2hlY2tpbmcgZm9yIGRpcmVudC5oLi4uIHllcwpjaGVj
a2luZyBmb3IgY2xvc2VkaXIuLi4geWVzCmNoZWNraW5nIGZvciBvcGVuZGly
Li4uIHllcwpjaGVja2luZyBmb3IgcmVhZGRpci4uLiB5ZXMKY2hlY2tpbmcg
Zm9yIHN0cmxjYXQuLi4gbm8KY2hlY2tpbmcgZm9yIHN0cmxjcHkuLi4gbm8K
Y29uZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0
YXR1czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRp
bmcgY29uZmlnLmgKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVz
IGNvbW1hbmRzCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBsaWJ0b29sIGNv
bW1hbmRzCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40
LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjExNDogJHVuc2V0IExJQlRPT0wg
TElCVE9PTElaRTsgJE1BS0UgJHRhcmdldCAKc3RkZXJyOgpJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gLi9sdGRsL2xpYmx0ZGwvbHRfX2dsaWJjLmg6NjE6MCwN
CiAgICAgICAgICAgICAgICAgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fcHJp
dmF0ZS5oOjU0LA0KICAgICAgICAgICAgICAgICBmcm9tIGx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jOjMyOg0KbHRkbC9hcmd6Lmg6NDM6MDogd2Fybmlu
ZzogIkxUX1NDT1BFIiByZWRlZmluZWQgW2VuYWJsZWQgYnkgZGVmYXVsdF0N
CiAjICBkZWZpbmUgTFRfU0NPUEUNCiBeDQpJbiBmaWxlIGluY2x1ZGVkIGZy
b20gLi9sdGRsL2xpYmx0ZGwvbHRfX2FsbG9jLmg6MzQ6MCwNCiAgICAgICAg
ICAgICAgICAgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjUx
LA0KICAgICAgICAgICAgICAgICBmcm9tIGx0ZGwvbG9hZGVycy9sb2FkbGli
cmFyeS5jOjMyOg0KLi9sdGRsL2xpYmx0ZGwvbHRfc3lzdGVtLmg6MTE2OjA6
IG5vdGU6IHRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBwcmV2aW91cyBk
ZWZpbml0aW9uDQogIyAgICAgIGRlZmluZSBMVF9TQ09QRSBleHRlcm4gX19k
ZWNsc3BlYyhkbGxleHBvcnQpDQogXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IGx0ZGwvbHRkbC5oOjM3OjAsDQogICAgICAgICAgICAgICAgIGZyb20gLi9s
dGRsL2xpYmx0ZGwvbHRfX3ByaXZhdGUuaDo1NywNCiAgICAgICAgICAgICAg
ICAgZnJvbSBsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnkuYzozMjoNCmx0ZGwv
bGlibHRkbC9sdF9lcnJvci5oOjc5OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0n
LCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAn
aW50Jw0KIExUX1NDT1BFIGludCBsdF9kbGFkZGVycm9yIChjb25zdCBjaGFy
ICpkaWFnbm9zdGljKTsNCiAgICAgICAgICBeDQpsdGRsL2xpYmx0ZGwvbHRf
ZXJyb3IuaDo4MDoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs
ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9T
Q09QRSBpbnQgbHRfZGxzZXRlcnJvciAoaW50IGVycm9yY29kZSk7DQogICAg
ICAgICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGx0ZGwvbHRkbC5oOjM4
OjAsDQogICAgICAgICAgICAgICAgIGZyb20gLi9sdGRsL2xpYmx0ZGwvbHRf
X3ByaXZhdGUuaDo1NywNCiAgICAgICAgICAgICAgICAgZnJvbSBsdGRsL2xv
YWRlcnMvbG9hZGxpYnJhcnkuYzozMjoNCmx0ZGwvbGlibHRkbC9sdF9kbGxv
YWRlci5oOjczOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7Jywg
J2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1ND
T1BFIGludCAgbHRfZGxsb2FkZXJfYWRkICAgIChjb25zdCBsdF9kbHZ0YWJs
ZSAqdnRhYmxlKTsNCiAgICAgICAgICBeDQpsdGRsL2xpYmx0ZGwvbHRfZGxs
b2FkZXIuaDo3NDoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ0xUX1ND
T1BFJw0KIExUX1NDT1BFIGx0X2RsbG9hZGVyIGx0X2RsbG9hZGVyX25leHQg
ICAoY29uc3QgbHRfZGxsb2FkZXIgbG9hZGVyKTsNCiBeDQpsdGRsL2xpYmx0
ZGwvbHRfZGxsb2FkZXIuaDo3NDoyMjogZXJyb3I6IGV4cGVjdGVkICc9Jywg
JywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0
X2RsbG9hZGVyX25leHQnDQogTFRfU0NPUEUgbHRfZGxsb2FkZXIgbHRfZGxs
b2FkZXJfbmV4dCAgIChjb25zdCBsdF9kbGxvYWRlciBsb2FkZXIpOw0KICAg
ICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwvbGlibHRkbC9sdF9kbGxvYWRl
ci5oOjc2OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NPUEUn
DQogTFRfU0NPUEUgbHRfZGx2dGFibGUgKiBsdF9kbGxvYWRlcl9yZW1vdmUg
KGNvbnN0IGNoYXIgKm5hbWUpOw0KIF4NCmx0ZGwvbGlibHRkbC9sdF9kbGxv
YWRlci5oOjc2OjIyOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7Jywg
J2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnKicgdG9rZW4NCiBM
VF9TQ09QRSBsdF9kbHZ0YWJsZSAqIGx0X2RsbG9hZGVyX3JlbW92ZSAoY29u
c3QgY2hhciAqbmFtZSk7DQogICAgICAgICAgICAgICAgICAgICAgXg0KbHRk
bC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6Nzc6MTA6IGVycm9yOiBleHBlY3Rl
ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVm
b3JlICdjb25zdCcNCiBMVF9TQ09QRSBjb25zdCBsdF9kbHZ0YWJsZSAqbHRf
ZGxsb2FkZXJfZmluZCAoY29uc3QgY2hhciAqbmFtZSk7DQogICAgICAgICAg
Xg0KbHRkbC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6Nzg6MTA6IGVycm9yOiBl
eHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVf
XycgYmVmb3JlICdjb25zdCcNCiBMVF9TQ09QRSBjb25zdCBsdF9kbHZ0YWJs
ZSAqbHRfZGxsb2FkZXJfZ2V0IChsdF9kbGxvYWRlciBsb2FkZXIpOw0KICAg
ICAgICAgIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAuL2x0ZGwvbGlibHRk
bC9sdF9fcHJpdmF0ZS5oOjU3OjAsDQogICAgICAgICAgICAgICAgIGZyb20g
bHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6MzI6DQpsdGRsL2x0ZGwuaDo1
MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQg
ICAgIGx0X2RsaW5pdCAgKHZvaWQpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRk
bC5oOjU0OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2Fz
bScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BF
IGludCAgICAgbHRfZGxleGl0ICAodm9pZCk7DQogICAgICAgICAgXg0KbHRk
bC9sdGRsLmg6NTc6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsn
LCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRf
U0NPUEUgaW50ICAgICBsdF9kbGFkZHNlYXJjaGRpciAgKGNvbnN0IGNoYXIg
KnNlYXJjaF9kaXIpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjU4OjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAg
bHRfZGxpbnNlcnRzZWFyY2hkaXIgKGNvbnN0IGNoYXIgKmJlZm9yZSwNCiAg
ICAgICAgICBeDQpsdGRsL2x0ZGwuaDo2MDoxMDogZXJyb3I6IGV4cGVjdGVk
ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZv
cmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgICBsdF9kbHNldHNlYXJjaHBh
dGggIChjb25zdCBjaGFyICpzZWFyY2hfcGF0aCk7DQogICAgICAgICAgXg0K
bHRkbC9sdGRsLmg6NjE6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdjb25zdCcN
CiBMVF9TQ09QRSBjb25zdCBjaGFyICpsdF9kbGdldHNlYXJjaHBhdGggICh2
b2lkKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo2MjoxMDogZXJyb3I6
IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0
ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsZm9y
ZWFjaGZpbGUgICgNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo2ODoxMDog
ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0
dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0
X2RsYWR2aXNlX2luaXQgIChsdF9kbGFkdmlzZSAqYWR2aXNlKTsNCiAgICAg
ICAgICBeDQpsdGRsL2x0ZGwuaDo2OToxMDogZXJyb3I6IGV4cGVjdGVkICc9
JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg
J2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsYWR2aXNlX2Rlc3Ryb3kg
IChsdF9kbGFkdmlzZSAqYWR2aXNlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0
ZGwuaDo3MDoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdh
c20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09Q
RSBpbnQgICAgIGx0X2RsYWR2aXNlX2V4dCAgKGx0X2RsYWR2aXNlICphZHZp
c2UpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjcxOjEwOiBlcnJvcjog
ZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRl
X18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZHZp
c2VfcmVzaWRlbnQgKGx0X2RsYWR2aXNlICphZHZpc2UpOw0KICAgICAgICAg
IF4NCmx0ZGwvbHRkbC5oOjcyOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn
LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50
Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZHZpc2VfbG9jYWwgIChsdF9k
bGFkdmlzZSAqYWR2aXNlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3
MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQg
ICAgIGx0X2RsYWR2aXNlX2dsb2JhbCAgIChsdF9kbGFkdmlzZSAqYWR2aXNl
KTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3NDoxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsYWR2aXNl
X3ByZWxvYWQgIChsdF9kbGFkdmlzZSAqYWR2aXNlKTsNCiAgICAgICAgICBe
DQpsdGRsL2x0ZGwuaDo3NzoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg
J0xUX1NDT1BFJw0KIExUX1NDT1BFIGx0X2RsaGFuZGxlIGx0X2Rsb3BlbiAg
KGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsNCiBeDQpsdGRsL2x0ZGwuaDo3Nzoy
MjogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdf
X2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0X2Rsb3BlbicNCiBMVF9TQ09QRSBs
dF9kbGhhbmRsZSBsdF9kbG9wZW4gIChjb25zdCBjaGFyICpmaWxlbmFtZSk7
DQogICAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sdGRsLmg6Nzg6MTog
ZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09Q
RSBsdF9kbGhhbmRsZSBsdF9kbG9wZW5leHQgKGNvbnN0IGNoYXIgKmZpbGVu
YW1lKTsNCiBeDQpsdGRsL2x0ZGwuaDo3ODoyMjogZXJyb3I6IGV4cGVjdGVk
ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZv
cmUgJ2x0X2Rsb3BlbmV4dCcNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9k
bG9wZW5leHQgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsNCiAgICAgICAgICAg
ICAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3OToxOiBlcnJvcjogdW5rbm93
biB0eXBlIG5hbWUgJ0xUX1NDT1BFJw0KIExUX1NDT1BFIGx0X2RsaGFuZGxl
IGx0X2Rsb3BlbmFkdmlzZSAoY29uc3QgY2hhciAqZmlsZW5hbWUsDQogXg0K
bHRkbC9sdGRsLmg6Nzk6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdsdF9kbG9w
ZW5hZHZpc2UnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxvcGVuYWR2
aXNlIChjb25zdCBjaGFyICpmaWxlbmFtZSwNCiAgICAgICAgICAgICAgICAg
ICAgICBeDQpsdGRsL2x0ZGwuaDo4MToxMDogZXJyb3I6IGV4cGVjdGVkICc9
JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg
J3ZvaWQnDQogTFRfU0NPUEUgdm9pZCAqICAgICBsdF9kbHN5bSAgKGx0X2Rs
aGFuZGxlIGhhbmRsZSwgY29uc3QgY2hhciAqbmFtZSk7DQogICAgICAgICAg
Xg0KbHRkbC9sdGRsLmg6ODI6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcs
JywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdjb25z
dCcNCiBMVF9TQ09QRSBjb25zdCBjaGFyICpsdF9kbGVycm9yICAodm9pZCk7
DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6ODM6MTA6IGVycm9yOiBleHBl
Y3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg
YmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9kbGNsb3NlICAo
bHRfZGxoYW5kbGUgaGFuZGxlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwu
aDo5OToxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20n
IG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBp
bnQgbHRfZGxwcmVsb2FkICAgICAgKGNvbnN0IGx0X2Rsc3ltbGlzdCAqcHJl
bG9hZGVkKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxMDA6MTA6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50IGx0X2RscHJl
bG9hZF9kZWZhdWx0IChjb25zdCBsdF9kbHN5bWxpc3QgKnByZWxvYWRlZCk7
DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTAxOjEwOiBlcnJvcjogZXhw
ZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18n
IGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCBsdF9kbHByZWxvYWRfb3Bl
biAgICAoY29uc3QgY2hhciAqb3JpZ2luYXRvciwNCiAgICAgICAgICBeDQps
dGRsL2x0ZGwuaDoxMjE6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdM
VF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbGludGVyZmFjZV9pZCBsdF9kbGlu
dGVyZmFjZV9yZWdpc3RlciAoY29uc3QgY2hhciAqaWRfc3RyaW5nLA0KIF4N
Cmx0ZGwvbHRkbC5oOjEyMToyODogZXJyb3I6IGV4cGVjdGVkICc9JywgJywn
LCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0X2Rs
aW50ZXJmYWNlX3JlZ2lzdGVyJw0KIExUX1NDT1BFIGx0X2RsaW50ZXJmYWNl
X2lkIGx0X2RsaW50ZXJmYWNlX3JlZ2lzdGVyIChjb25zdCBjaGFyICppZF9z
dHJpbmcsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9s
dGRsLmg6MTIzOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7Jywg
J2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAndm9pZCcNCiBMVF9T
Q09QRSB2b2lkIGx0X2RsaW50ZXJmYWNlX2ZyZWUgKGx0X2RsaW50ZXJmYWNl
X2lkIGtleSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTI0OjEwOiBl
cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAndm9pZCcNCiBMVF9TQ09QRSB2b2lkICogbHRf
ZGxjYWxsZXJfc2V0X2RhdGEgIChsdF9kbGludGVyZmFjZV9pZCBrZXksDQog
ICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTI2OjEwOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAndm9pZCcNCiBMVF9TQ09QRSB2b2lkICogbHRfZGxjYWxsZXJfZ2V0
X2RhdGEgIChsdF9kbGludGVyZmFjZV9pZCBrZXksDQogICAgICAgICAgXg0K
bHRkbC9sdGRsLmg6MTQzOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcs
ICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnY29uc3Qn
DQogTFRfU0NPUEUgY29uc3QgbHRfZGxpbmZvICpsdF9kbGdldGluZm8gICAg
IChsdF9kbGhhbmRsZSBoYW5kbGUpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRk
bC5oOjE0NToxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ0xUX1NDT1BF
Jw0KIExUX1NDT1BFIGx0X2RsaGFuZGxlIGx0X2RsaGFuZGxlX2l0ZXJhdGUg
KGx0X2RsaW50ZXJmYWNlX2lkIGlmYWNlLA0KIF4NCmx0ZGwvbHRkbC5oOjE0
NToyMjogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9y
ICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0X2RsaGFuZGxlX2l0ZXJhdGUn
DQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxoYW5kbGVfaXRlcmF0ZSAo
bHRfZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogICAgICAgICAgICAgICAgICAg
ICAgXg0KbHRkbC9sdGRsLmg6MTQ3OjE6IGVycm9yOiB1bmtub3duIHR5cGUg
bmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxo
YW5kbGVfZmV0Y2ggICAobHRfZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogXg0K
bHRkbC9sdGRsLmg6MTQ3OjIyOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcs
ICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnbHRfZGxo
YW5kbGVfZmV0Y2gnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxoYW5k
bGVfZmV0Y2ggICAobHRfZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogICAgICAg
ICAgICAgICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTQ5OjEwOiBlcnJvcjog
ZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRl
X18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgbHRfZGxoYW5kbGVf
bWFwICAgICAobHRfZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogICAgICAgICAg
Xg0KbHRkbC9sdGRsLmg6MTU2OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn
LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50
Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxtYWtlcmVzaWRlbnQgKGx0X2Rs
aGFuZGxlIGhhbmRsZSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6MTU3
OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3Ig
J19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAg
ICAgbHRfZGxpc3Jlc2lkZW50IChsdF9kbGhhbmRsZSBoYW5kbGUpOw0KICAg
ICAgICAgIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSBsdGRsL2xvYWRlcnMv
bG9hZGxpYnJhcnkuYzozMjowOg0KLi9sdGRsL2xpYmx0ZGwvbHRfX3ByaXZh
dGUuaDo5MzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdh
c20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ3ZvaWQnDQogTFRfU0NP
UEUgdm9pZCBsdF9fYWxsb2NfZGllX2NhbGxiYWNrICh2b2lkKTsNCiAgICAg
ICAgICBeDQouL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjE0MzoxMDog
ZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0
dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGNo
YXIgKmx0X19lcnJvcl9zdHJpbmcgKGludCBlcnJvcmNvZGUpOw0KICAgICAg
ICAgIF4NCi4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6MTQ0OjEwOiBl
cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hh
ciAqbHRfX2dldF9sYXN0X2Vycm9yICh2b2lkKTsNCiAgICAgICAgICBeDQou
L2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5oOjE0NToxMDogZXJyb3I6IGV4
cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9f
JyBiZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGNoYXIgKmx0X19z
ZXRfbGFzdF9lcnJvciAoY29uc3QgY2hhciAqZXJyb3Jtc2cpOw0KICAgICAg
ICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjQ2OjE6IGVycm9y
OiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRf
ZGx2dGFibGUgKmdldF92dGFibGUgKGx0X3VzZXJfZGF0YSBsb2FkZXJfZGF0
YSk7DQogXg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6NDY6MjI6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICcqJyB0b2tlbg0KIExUX1NDT1BFIGx0X2RsdnRh
YmxlICpnZXRfdnRhYmxlIChsdF91c2VyX2RhdGEgbG9hZGVyX2RhdGEpOw0K
ICAgICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGli
cmFyeS5jOiBJbiBmdW5jdGlvbiAnbG9hZGxpYnJhcnlfTFRYX2dldF92dGFi
bGUnOg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6NzE6MTY6IHdhcm5p
bmc6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0
aG91dCBhIGNhc3QgW2VuYWJsZWQgYnkgZGVmYXVsdF0NCiAgICAgICBpZmFj
ZV9pZCA9IGx0X2RsaW50ZXJmYWNlX3JlZ2lzdGVyICgibHRkbCBsb2FkbGli
cmFyeSIsIE5VTEwpOw0KICAgICAgICAgICAgICAgIF4NCmx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jOiBJbiBmdW5jdGlvbiAndm1fb3Blbic6DQpsdGRs
L2xvYWRlcnMvbG9hZGxpYnJhcnkuYzoyMTg6MTc6IHdhcm5pbmc6IGFzc2ln
bm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNh
c3QgW2VuYWJsZWQgYnkgZGVmYXVsdF0NCiAgICAgd2hpbGUgKChjdXIgPSBs
dF9kbGhhbmRsZV9pdGVyYXRlIChpZmFjZV9pZCwgY3VyKSkpDQogICAgICAg
ICAgICAgICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjIzMzo3
OiB3YXJuaW5nOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2YgJ2xvYWRsaWJyYXJ5
ZXJyb3InIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBj
YXN0IFtlbmFibGVkIGJ5IGRlZmF1bHRdDQogICAgICAgTE9BRExJQl9TRVRF
UlJPUiAoQ0FOTk9UX09QRU4pOw0KICAgICAgIF4NCmx0ZGwvbG9hZGVycy9s
b2FkbGlicmFyeS5jOjEwNjoyMDogbm90ZTogZXhwZWN0ZWQgJ2NvbnN0IGNo
YXIgKicgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ2ludCcNCiBzdGF0aWMg
Y29uc3QgY2hhciAqbG9hZGxpYnJhcnllcnJvciAoY29uc3QgY2hhciAqZGVm
YXVsdF9lcnJtc2cpOw0KICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2xv
YWRlcnMvbG9hZGxpYnJhcnkuYzogSW4gZnVuY3Rpb24gJ3ZtX2Nsb3NlJzoN
Cmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjI1NDo3OiB3YXJuaW5nOiBw
YXNzaW5nIGFyZ3VtZW50IDEgb2YgJ2xvYWRsaWJyYXJ5ZXJyb3InIG1ha2Vz
IHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFtlbmFibGVk
IGJ5IGRlZmF1bHRdDQogICAgICAgTE9BRExJQl9TRVRFUlJPUiAoQ0FOTk9U
X0NMT1NFKTsNCiAgICAgICBeDQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnku
YzoxMDY6MjA6IG5vdGU6IGV4cGVjdGVkICdjb25zdCBjaGFyIConIGJ1dCBh
cmd1bWVudCBpcyBvZiB0eXBlICdpbnQnDQogc3RhdGljIGNvbnN0IGNoYXIg
KmxvYWRsaWJyYXJ5ZXJyb3IgKGNvbnN0IGNoYXIgKmRlZmF1bHRfZXJybXNn
KTsNCiAgICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sb2FkZXJzL2xvYWRs
aWJyYXJ5LmM6IEluIGZ1bmN0aW9uICd2bV9zeW0nOg0KbHRkbC9sb2FkZXJz
L2xvYWRsaWJyYXJ5LmM6MjcxOjc6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1l
bnQgMSBvZiAnbG9hZGxpYnJhcnllcnJvcicgbWFrZXMgcG9pbnRlciBmcm9t
IGludGVnZXIgd2l0aG91dCBhIGNhc3QgW2VuYWJsZWQgYnkgZGVmYXVsdF0N
CiAgICAgICBMT0FETElCX1NFVEVSUk9SIChTWU1CT0xfTk9UX0ZPVU5EKTsN
CiAgICAgICBeDQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnkuYzoxMDY6MjA6
IG5vdGU6IGV4cGVjdGVkICdjb25zdCBjaGFyIConIGJ1dCBhcmd1bWVudCBp
cyBvZiB0eXBlICdpbnQnDQogc3RhdGljIGNvbnN0IGNoYXIgKmxvYWRsaWJy
YXJ5ZXJyb3IgKGNvbnN0IGNoYXIgKmRlZmF1bHRfZXJybXNnKTsNCiAgICAg
ICAgICAgICAgICAgICAgXg0KbWFrZVsxXTogKioqIFtsdGRsL2xvYWRlcnMv
bG9hZGxpYnJhcnkubG9dIEVycm9yIDEKbWFrZTogKioqIFthbGxdIEVycm9y
IDIKc3Rkb3V0OgovYmluL3NoIC9taW5ndy9saWJ0b29sLWJ1aWxkLWR1ZS10
by1HTlUvdGVzdHMvdGVzdHN1aXRlLmRpci8wOTYvbHRkbC9jb25maWcvaW5z
dGFsbC1zaCAtZCAuIGx0ZGwvCmNwIC4vbHRkbC9hcmd6Xy5oIGx0ZGwvYXJn
ei5oLXQKbXYgbHRkbC9hcmd6LmgtdCBsdGRsL2FyZ3ouaAptYWtlICBhbGwt
YW0KbWFrZVsxXTogRW50ZXJpbmcgZGlyZWN0b3J5IGAvbWluZ3cvbGlidG9v
bC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzL3Rlc3RzdWl0ZS5kaXIvMDk2Jwpk
ZXBiYXNlPWBlY2hvIGZvby5sbyB8IHNlZCAnc3xbXi9dKiR8LmRlcHMvJnw7
c3xcLmxvJHx8J2A7XAoJL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0MgICAt
LW1vZGU9Y29tcGlsZSBnY2MgLURIQVZFX0NPTkZJR19IIC1JLiAgLURMVF9D
T05GSUdfSD0nPGNvbmZpZy5oPicgLURMVERMIC1JLiAtSS4gLUlsdGRsIC1J
Li9sdGRsIC1JLi9sdGRsL2xpYmx0ZGwgICAtZyAtTzIgLU1UIGZvby5sbyAt
TUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMgLW8gZm9vLmxvIGZvby5jICYm
XAoJbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNlLlBsbwpsaWJ0b29sOiBj
b21waWxlOiAgZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gIi1ETFRfQ09ORklH
X0g9PGNvbmZpZy5oPiIgLURMVERMIC1JLiAtSS4gLUlsdGRsIC1JLi9sdGRs
IC1JLi9sdGRsL2xpYmx0ZGwgLWcgLU8yIC1NVCBmb28ubG8gLU1EIC1NUCAt
TUYgLmRlcHMvZm9vLlRwbyAtYyBmb28uYyAgLURETExfRVhQT1JUIC1EUElD
IC1vIC5saWJzL2Zvby5vCmxpYnRvb2w6IGNvbXBpbGU6ICBnY2MgLURIQVZF
X0NPTkZJR19IIC1JLiAiLURMVF9DT05GSUdfSD08Y29uZmlnLmg+IiAtRExU
REwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUkuL2x0ZGwvbGlibHRkbCAt
ZyAtTzIgLU1UIGZvby5sbyAtTUQgLU1QIC1NRiAuZGVwcy9mb28uVHBvIC1j
IGZvby5jIC1vIGZvby5vID4vZGV2L251bGwgMj4mMQovYmluL3NoIC4vbGli
dG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1saW5rIGdjYyAgLWcgLU8yIC1tb2R1
bGUgLWF2b2lkLXZlcnNpb24gLW5vLXVuZGVmaW5lZCAgLW8gZm9vLmxhIC1y
cGF0aCAvbm9uZXhpc3RlbnQvbGliIGZvby5sbyAgCmxpYnRvb2w6IGxpbms6
IGdjYyAtc2hhcmVkICAubGlicy9mb28ubyAgICAtTzIgICAtbyAubGlicy9m
b28uZGxsIC1XbCwtLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIg
LS1vdXQtaW1wbGliIC1YbGlua2VyIC5saWJzL2Zvby5kbGwuYQpsaWJ0b29s
OiBsaW5rOiBhciBjcnUgLmxpYnMvZm9vLmEgIGZvby5vCmxpYnRvb2w6IGxp
bms6IHJhbmxpYiAubGlicy9mb28uYQpsaWJ0b29sOiBsaW5rOiAoIGNkICIu
bGlicyIgJiYgcm0gLWYgImZvby5sYSIgJiYgY3AgLXAgIi4uL2Zvby5sYSIg
ImZvby5sYSIgKQpkZXBiYXNlPWBlY2hvIGx0ZGwvbG9hZGVycy9sb2FkbGli
cmFyeS5sbyB8IHNlZCAnc3xbXi9dKiR8LmRlcHMvJnw7c3xcLmxvJHx8J2A7
XAoJL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0MgICAtLW1vZGU9Y29tcGls
ZSBnY2MgLURIQVZFX0NPTkZJR19IIC1JLiAgLURMVF9DT05GSUdfSD0nPGNv
bmZpZy5oPicgLURMVERMIC1JLiAtSS4gLUlsdGRsIC1JLi9sdGRsIC1JLi9s
dGRsL2xpYmx0ZGwgICAtZyAtTzIgLU1UIGx0ZGwvbG9hZGVycy9sb2FkbGli
cmFyeS5sbyAtTUQgLU1QIC1NRiAkZGVwYmFzZS5UcG8gLWMgLW8gbHRkbC9s
b2FkZXJzL2xvYWRsaWJyYXJ5LmxvIGx0ZGwvbG9hZGVycy9sb2FkbGlicmFy
eS5jICYmXAoJbXYgLWYgJGRlcGJhc2UuVHBvICRkZXBiYXNlLlBsbwpsaWJ0
b29sOiBjb21waWxlOiAgZ2NjIC1ESEFWRV9DT05GSUdfSCAtSS4gIi1ETFRf
Q09ORklHX0g9PGNvbmZpZy5oPiIgLURMVERMIC1JLiAtSS4gLUlsdGRsIC1J
Li9sdGRsIC1JLi9sdGRsL2xpYmx0ZGwgLWcgLU8yIC1NVCBsdGRsL2xvYWRl
cnMvbG9hZGxpYnJhcnkubG8gLU1EIC1NUCAtTUYgbHRkbC9sb2FkZXJzLy5k
ZXBzL2xvYWRsaWJyYXJ5LlRwbyAtYyBsdGRsL2xvYWRlcnMvbG9hZGxpYnJh
cnkuYyAgLURETExfRVhQT1JUIC1EUElDIC1vIGx0ZGwvbG9hZGVycy8ubGli
cy9sb2FkbGlicmFyeS5vCm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5IGAv
bWluZ3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzL3Rlc3RzdWl0
ZS5kaXIvMDk2JwovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5hdDoxMTQ6IGV4aXQgY29kZSB3
YXMgMiwgZXhwZWN0ZWQgMAo5Ni4gbm9ucmVjdXJzaXZlLmF0OjEwMjogOTYu
IGNvbXBpbGluZyBjb3BpZWQgbGlibHRkbCAobm9ucmVjdXJzaXZlLmF0OjEw
Mik6IEZBSUxFRCAobm9ucmVjdXJzaXZlLmF0OjExNCkK

--_----------=_13840355941782731
Content-Disposition: attachment; filename="testsuite.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="testsuite.log"

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQo5NS4gbm9ucmVjdXJzaXZlLmF0Ojc4OiB0ZXN0aW5nIGNvbXBpbGlu
ZyBzb2Z0bGlua2VkIGxpYmx0ZGwgLi4uCmxpYnRvb2xpemU6IHB1dHRpbmcg
YXV4aWxpYXJ5IGZpbGVzIGluIEFDX0NPTkZJR19BVVhfRElSLCBgbHRkbC9j
b25maWcnLgpsaWJ0b29saXplOiBsaW5raW5nIGZpbGUgYGx0ZGwvY29uZmln
L2x0bWFpbi5zaCcKbGlidG9vbGl6ZTogcHV0dGluZyBtYWNyb3MgaW4gQUNf
Q09ORklHX01BQ1JPX0RJUiwgYGx0ZGwvbTQnLgpsaWJ0b29saXplOiBsaW5r
aW5nIGZpbGUgYGx0ZGwvbTQvYXJnei5tNCcKbGlidG9vbGl6ZTogbGlua2lu
ZyBmaWxlIGBsdGRsL200L2xpYnRvb2wubTQnCmxpYnRvb2xpemU6IGxpbmtp
bmcgZmlsZSBgbHRkbC9tNC9sdGRsLm00JwpsaWJ0b29saXplOiBsaW5raW5n
IGZpbGUgYGx0ZGwvbTQvbHRvcHRpb25zLm00JwpsaWJ0b29saXplOiBsaW5r
aW5nIGZpbGUgYGx0ZGwvbTQvbHRzdWdhci5tNCcKbGlidG9vbGl6ZTogbGlu
a2luZyBmaWxlIGBsdGRsL200L2x0dmVyc2lvbi5tNCcKbGlidG9vbGl6ZTog
bGlua2luZyBmaWxlIGBsdGRsL200L2x0fm9ic29sZXRlLm00JwpsaWJ0b29s
aXplOiBwdXR0aW5nIGxpYmx0ZGwgZmlsZXMgaW4gTFRfQ09ORklHX0xURExf
RElSLCBgbHRkbCcuCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9D
T1BZSU5HLkxJQicKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL1JF
QURNRScKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL2FyZ3pfLmgn
CmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9hcmd6LmMnCmxpYnRv
b2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2RsZF9saW5rLmMn
CmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL2Rsb3Bl
bi5jJwpsaWJ0b29saXplOiBsaW5raW5nIGZpbGUgYGx0ZGwvbG9hZGVycy9k
eWxkLmMnCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sb2FkZXJz
L2xvYWRfYWRkX29uLmMnCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRk
bC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmMnCmxpYnRvb2xpemU6IGxpbmtpbmcg
ZmlsZSBgbHRkbC9sb2FkZXJzL3NobF9sb2FkLmMnCmxpYnRvb2xpemU6IGxp
bmtpbmcgZmlsZSBgbHRkbC9sdF9fZGlyZW50LmMnCmxpYnRvb2xpemU6IGxp
bmtpbmcgZmlsZSBgbHRkbC9sdF9fc3RybC5jJwpsaWJ0b29saXplOiBsaW5r
aW5nIGZpbGUgYGx0ZGwvbGlibHRkbC9sdF9fYWxsb2MuaCcKbGlidG9vbGl6
ZTogbGlua2luZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfX2RpcmVudC5oJwps
aWJ0b29saXplOiBsaW5raW5nIGZpbGUgYGx0ZGwvbGlibHRkbC9sdF9fZ2xp
YmMuaCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL2xpYmx0ZGwv
bHRfX3ByaXZhdGUuaCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRs
L2xpYmx0ZGwvbHRfX3N0cmwuaCcKbGlidG9vbGl6ZTogbGlua2luZyBmaWxl
IGBsdGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIuaCcKbGlidG9vbGl6ZTogbGlu
a2luZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfZXJyb3IuaCcKbGlidG9vbGl6
ZTogbGlua2luZyBmaWxlIGBsdGRsL2xpYmx0ZGwvbHRfc3lzdGVtLmgnCmxp
YnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9saWJsdGRsL3NsaXN0Lmgn
CmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sb2FkZXJzL3ByZW9w
ZW4uYycKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL2x0X19hbGxv
Yy5jJwpsaWJ0b29saXplOiBsaW5raW5nIGZpbGUgYGx0ZGwvbHRfZGxsb2Fk
ZXIuYycKbGlidG9vbGl6ZTogbGlua2luZyBmaWxlIGBsdGRsL2x0X2Vycm9y
LmMnCmxpYnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sdGRsLmMnCmxp
YnRvb2xpemU6IGxpbmtpbmcgZmlsZSBgbHRkbC9sdGRsLmgnCmxpYnRvb2xp
emU6IGxpbmtpbmcgZmlsZSBgbHRkbC9zbGlzdC5jJwpsaWJ0b29saXplOiBj
cmVhdGluZyBmaWxlIGBsdGRsL01ha2VmaWxlLmluYycKL01pbkdXL3NoYXJl
L2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9ub25yZWN1cnNp
dmUuYXQ6ODM6IGlmIHRlc3QgLWYgbHRkbC9jb25maWd1cmUuYWM7IHRoZW4g
ZmFsc2U7IGZpCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjkwOiAkQUNMT0NBTCAtSSBs
dGRsL200CnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0b21ha2Ut
MS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5hdDo5MDog
JEFVVE9IRUFERVIgCnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0
b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL25vbnJlY3Vyc2l2ZS5h
dDo5MDogJEFVVE9NQUtFIC0tYWRkLW1pc3NpbmcgLS1jb3B5CnN0ZGVycjoK
Y29uZmlndXJlLmFjOjk6IGluc3RhbGxpbmcgYGx0ZGwvY29uZmlnL2NvbXBp
bGUnCmNvbmZpZ3VyZS5hYzoxMDogaW5zdGFsbGluZyBgbHRkbC9jb25maWcv
Y29uZmlnLmd1ZXNzJwpjb25maWd1cmUuYWM6MTA6IGluc3RhbGxpbmcgYGx0
ZGwvY29uZmlnL2NvbmZpZy5zdWInCmNvbmZpZ3VyZS5hYzo3OiBpbnN0YWxs
aW5nIGBsdGRsL2NvbmZpZy9pbnN0YWxsLXNoJwpjb25maWd1cmUuYWM6Nzog
aW5zdGFsbGluZyBgbHRkbC9jb25maWcvbWlzc2luZycKTWFrZWZpbGUuYW06
IGluc3RhbGxpbmcgYGx0ZGwvY29uZmlnL2RlcGNvbXAnCnN0ZG91dDoKL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9u
b25yZWN1cnNpdmUuYXQ6OTA6ICRBVVRPQ09ORiAKc3RkZXJyOgpzdGRvdXQ6
Ci9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvbm9ucmVjdXJzaXZlLmF0OjkwOiA6ICR7Q09ORklHX1NIRUxMPS9iaW4v
c2h9OyBleHBvcnQgQ09ORklHX1NIRUxMOyAJICAkQ09ORklHX1NIRUxMIC4v
Y29uZmlndXJlICRjb25maWd1cmVfb3B0aW9ucyAKc3RkZXJyOgpzdGRvdXQ6
CmNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwuLi4gL2Jp
bi9pbnN0YWxsIC1jCmNoZWNraW5nIHdoZXRoZXIgYnVpbGQgZW52aXJvbm1l
bnQgaXMgc2FuZS4uLiB5ZXMKY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUg
bWtkaXIgLXAuLi4gL2Jpbi9ta2RpciAtcApjaGVja2luZyBmb3IgZ2F3ay4u
LiBnYXdrCmNoZWNraW5nIHdoZXRoZXIgbWFrZSBzZXRzICQoTUFLRSkuLi4g
eWVzCmNoZWNraW5nIGZvciBnY2MuLi4gZ2NjCmNoZWNraW5nIHdoZXRoZXIg
dGhlIEMgY29tcGlsZXIgd29ya3MuLi4geWVzCmNoZWNraW5nIGZvciBDIGNv
bXBpbGVyIGRlZmF1bHQgb3V0cHV0IGZpbGUgbmFtZS4uLiBhLmV4ZQpjaGVj
a2luZyBmb3Igc3VmZml4IG9mIGV4ZWN1dGFibGVzLi4uIC5leGUKY2hlY2tp
bmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nLi4uIG5vCmNoZWNr
aW5nIGZvciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzLi4uIG8KY2hlY2tpbmcg
d2hldGhlciB3ZSBhcmUgdXNpbmcgdGhlIEdOVSBDIGNvbXBpbGVyLi4uIHll
cwpjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nLi4uIHllcwpjaGVj
a2luZyBmb3IgZ2NjIG9wdGlvbiB0byBhY2NlcHQgSVNPIEM4OS4uLiBub25l
IG5lZWRlZApjaGVja2luZyBmb3Igc3R5bGUgb2YgaW5jbHVkZSB1c2VkIGJ5
IG1ha2UuLi4gR05VCmNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUgb2YgZ2Nj
Li4uIGdjYzMKY2hlY2tpbmcgd2hldGhlciBnY2MgYW5kIGNjIHVuZGVyc3Rh
bmQgLWMgYW5kIC1vIHRvZ2V0aGVyLi4uIHllcwpjaGVja2luZyBidWlsZCBz
eXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG9zdCBz
eXN0ZW0gdHlwZS4uLiBpNjg2LXBjLW1pbmd3MzIKY2hlY2tpbmcgaG93IHRv
IHByaW50IHN0cmluZ3MuLi4gcHJpbnRmCmNoZWNraW5nIGZvciBhIHNlZCB0
aGF0IGRvZXMgbm90IHRydW5jYXRlIG91dHB1dC4uLiAvYmluL3NlZApjaGVj
a2luZyBmb3IgZ3JlcCB0aGF0IGhhbmRsZXMgbG9uZyBsaW5lcyBhbmQgLWUu
Li4gL2Jpbi9ncmVwCmNoZWNraW5nIGZvciBlZ3JlcC4uLiAvYmluL2dyZXAg
LUUKY2hlY2tpbmcgZm9yIGZncmVwLi4uIC9iaW4vZ3JlcCAtRgpjaGVja2lu
ZyBmb3IgbGQgdXNlZCBieSBnY2MuLi4gYzovdGluZ3cvbWluZ3czMi9iaW4v
bGQuZXhlCmNoZWNraW5nIGlmIHRoZSBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3
MzIvYmluL2xkLmV4ZSkgaXMgR05VIGxkLi4uIHllcwpjaGVja2luZyBmb3Ig
QlNELSBvciBNUy1jb21wYXRpYmxlIG5hbWUgbGlzdGVyIChubSkuLi4gL2Jp
bi9ubSAtQgpjaGVja2luZyB0aGUgbmFtZSBsaXN0ZXIgKC9iaW4vbm0gLUIp
IGludGVyZmFjZS4uLiBCU0Qgbm0KY2hlY2tpbmcgd2hldGhlciBsbiAtcyB3
b3Jrcy4uLiBubywgdXNpbmcgY3AgLXAKY2hlY2tpbmcgdGhlIG1heGltdW0g
bGVuZ3RoIG9mIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuLi4gODE5MgpjaGVj
a2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1bmRlcnN0YW5kcyBzb21lIFhTSSBj
b25zdHJ1Y3RzLi4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRoZSBzaGVsbCB1
bmRlcnN0YW5kcyAiKz0iLi4uIHllcwpjaGVja2luZyBob3cgdG8gY29udmVy
dCBpNjg2LXBjLW1pbmd3MzIgZmlsZSBuYW1lcyB0byBpNjg2LXBjLW1pbmd3
MzIgZm9ybWF0Li4uIChjYWNoZWQpIGZ1bmNfY29udmVydF9maWxlX21zeXNf
dG9fdzMyCmNoZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbWluZ3cz
MiBmaWxlIG5hbWVzIHRvIHRvb2xjaGFpbiBmb3JtYXQuLi4gKGNhY2hlZCkg
ZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIKY2hlY2tpbmcgZm9yIGM6
L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSBvcHRpb24gdG8gcmVsb2FkIG9i
amVjdCBmaWxlcy4uLiAtcgpjaGVja2luZyBmb3Igb2JqZHVtcC4uLiBvYmpk
dW1wCmNoZWNraW5nIGhvdyB0byByZWNvZ25pemUgZGVwZW5kZW50IGxpYnJh
cmllcy4uLiBmaWxlX21hZ2ljIF54ODYgYXJjaGl2ZSBpbXBvcnR8Xng4NiBE
TEwKY2hlY2tpbmcgZm9yIGRsbHRvb2wuLi4gZGxsdG9vbApjaGVja2luZyBo
b3cgdG8gYXNzb2NpYXRlIHJ1bnRpbWUgYW5kIGxpbmsgbGlicmFyaWVzLi4u
IGZ1bmNfY3lnbWluZ19kbGxfZm9yX2ltcGxpYgpjaGVja2luZyBmb3IgYXJj
aGl2ZXIgQEZJTEUgc3VwcG9ydC4uLiBACmNoZWNraW5nIGZvciBzdHJpcC4u
LiBzdHJpcApjaGVja2luZyBmb3IgcmFubGliLi4uIHJhbmxpYgpjaGVja2lu
ZyBjb21tYW5kIHRvIHBhcnNlIC9iaW4vbm0gLUIgb3V0cHV0IGZyb20gZ2Nj
IG9iamVjdC4uLiBvawpjaGVja2luZyBmb3Igc3lzcm9vdC4uLiBubwpjaGVj
a2luZyBmb3IgbXQuLi4gOgpjaGVja2luZyBpZiA6IGlzIGEgbWFuaWZlc3Qg
dG9vbC4uLiBubwpjaGVja2luZyBob3cgdG8gcnVuIHRoZSBDIHByZXByb2Nl
c3Nvci4uLiBnY2MgLUUKY2hlY2tpbmcgZm9yIEFOU0kgQyBoZWFkZXIgZmls
ZXMuLi4geWVzCmNoZWNraW5nIGZvciBzeXMvdHlwZXMuaC4uLiB5ZXMKY2hl
Y2tpbmcgZm9yIHN5cy9zdGF0LmguLi4geWVzCmNoZWNraW5nIGZvciBzdGRs
aWIuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmluZy5oLi4uIHllcwpjaGVj
a2luZyBmb3IgbWVtb3J5LmguLi4geWVzCmNoZWNraW5nIGZvciBzdHJpbmdz
LmguLi4geWVzCmNoZWNraW5nIGZvciBpbnR0eXBlcy5oLi4uIHllcwpjaGVj
a2luZyBmb3Igc3RkaW50LmguLi4geWVzCmNoZWNraW5nIGZvciB1bmlzdGQu
aC4uLiB5ZXMKY2hlY2tpbmcgZm9yIGRsZmNuLmguLi4gbm8KY2hlY2tpbmcg
Zm9yIG9iamRpci4uLiAubGlicwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMg
LWZuby1ydHRpIC1mbm8tZXhjZXB0aW9ucy4uLiBubwpjaGVja2luZyBmb3Ig
Z2NjIG9wdGlvbiB0byBwcm9kdWNlIFBJQy4uLiAtRERMTF9FWFBPUlQgLURQ
SUMKY2hlY2tpbmcgaWYgZ2NjIFBJQyBmbGFnIC1ERExMX0VYUE9SVCAtRFBJ
QyB3b3Jrcy4uLiB5ZXMKY2hlY2tpbmcgaWYgZ2NjIHN0YXRpYyBmbGFnIC1z
dGF0aWMgd29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAt
YyAtbyBmaWxlLm8uLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdXBwb3J0cyAt
YyAtbyBmaWxlLm8uLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIHdoZXRoZXIg
dGhlIGdjYyBsaW5rZXIgKGM6L3Rpbmd3L21pbmd3MzIvYmluL2xkLmV4ZSkg
c3VwcG9ydHMgc2hhcmVkIGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hl
dGhlciAtbGMgc2hvdWxkIGJlIGV4cGxpY2l0bHkgbGlua2VkIGluLi4uIHll
cwpjaGVja2luZyBkeW5hbWljIGxpbmtlciBjaGFyYWN0ZXJpc3RpY3MuLi4g
V2luMzIgbGQuZXhlCmNoZWNraW5nIGhvdyB0byBoYXJkY29kZSBsaWJyYXJ5
IHBhdGhzIGludG8gcHJvZ3JhbXMuLi4gaW1tZWRpYXRlCmNoZWNraW5nIHdo
ZXRoZXIgc3RyaXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZS4uLiB5ZXMK
Y2hlY2tpbmcgaWYgbGlidG9vbCBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVz
Li4uIHllcwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHNoYXJlZCBsaWJy
YXJpZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc3RhdGlj
IGxpYnJhcmllcy4uLiB5ZXMKY2hlY2tpbmcgd2hpY2ggZXh0ZW5zaW9uIGlz
IHVzZWQgZm9yIHJ1bnRpbWUgbG9hZGFibGUgbW9kdWxlcy4uLiAuZGxsCmNo
ZWNraW5nIHdoaWNoIHZhcmlhYmxlIHNwZWNpZmllcyBydW4tdGltZSBtb2R1
bGUgc2VhcmNoIHBhdGguLi4gUEFUSApjaGVja2luZyBmb3IgdGhlIGRlZmF1
bHQgbGlicmFyeSBzZWFyY2ggcGF0aC4uLiAvbGliIC91c3IvbGliCmNoZWNr
aW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgZGxvcGVuLi4uIG5vCmNoZWNr
aW5nIGZvciBkbG9wZW4gaW4gLWxzdmxkLi4uIG5vCmNoZWNraW5nIGZvciBz
aGxfbG9hZC4uLiBubwpjaGVja2luZyBmb3Igc2hsX2xvYWQgaW4gLWxkbGQu
Li4gbm8KY2hlY2tpbmcgd2hldGhlciBjeWd3aW5fY29udl9wYXRoIGlzIGRl
Y2xhcmVkLi4uIG5vCmNoZWNraW5nIGZvciBkbGRfbGluayBpbiAtbGRsZC4u
LiBubwpjaGVja2luZyBmb3IgXyBwcmVmaXggaW4gY29tcGlsZWQgc3ltYm9s
cy4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBkZXBsaWJzIGFyZSBsb2FkZWQg
YnkgZGxvcGVuLi4uIHVua25vd24KY2hlY2tpbmcgZm9yIGFyZ3ouaC4uLiBu
bwpjaGVja2luZyBmb3IgZXJyb3JfdC4uLiBubwpjaGVja2luZyBmb3IgYXJn
el9hZGQuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfYXBwZW5kLi4uIG5vCmNo
ZWNraW5nIGZvciBhcmd6X2NvdW50Li4uIG5vCmNoZWNraW5nIGZvciBhcmd6
X2NyZWF0ZV9zZXAuLi4gbm8KY2hlY2tpbmcgZm9yIGFyZ3pfaW5zZXJ0Li4u
IG5vCmNoZWNraW5nIGZvciBhcmd6X25leHQuLi4gbm8KY2hlY2tpbmcgZm9y
IGFyZ3pfc3RyaW5naWZ5Li4uIG5vCmNoZWNraW5nIHdoZXRoZXIgbGlidG9v
bCBzdXBwb3J0cyAtZGxvcGVuLy1kbHByZW9wZW4uLi4geWVzCmNoZWNraW5n
IGZvciBsdGRsLmguLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgbHRfZGxpbnRl
cmZhY2VfcmVnaXN0ZXIgaXMgZGVjbGFyZWQuLi4geWVzCmNoZWNraW5nIGZv
ciBsdF9kbGFkdmlzZV9wcmVsb2FkIGluIC1sbHRkbC4uLiB5ZXMKY2hlY2tp
bmcgd2hlcmUgdG8gZmluZCBsaWJsdGRsIGhlYWRlcnMuLi4gCmNoZWNraW5n
IHdoZXJlIHRvIGZpbmQgbGlibHRkbCBsaWJyYXJ5Li4uIC1sbHRkbApjaGVj
a2luZyBmb3IgdW5pc3RkLmguLi4gKGNhY2hlZCkgeWVzCmNoZWNraW5nIGZv
ciBkbC5oLi4uIG5vCmNoZWNraW5nIGZvciBzeXMvZGwuaC4uLiBubwpjaGVj
a2luZyBmb3IgZGxkLmguLi4gbm8KY2hlY2tpbmcgZm9yIG1hY2gtby9keWxk
LmguLi4gbm8KY2hlY2tpbmcgZm9yIGRpcmVudC5oLi4uIHllcwpjaGVja2lu
ZyBmb3IgY2xvc2VkaXIuLi4geWVzCmNoZWNraW5nIGZvciBvcGVuZGlyLi4u
IHllcwpjaGVja2luZyBmb3IgcmVhZGRpci4uLiB5ZXMKY2hlY2tpbmcgZm9y
IHN0cmxjYXQuLi4gbm8KY2hlY2tpbmcgZm9yIHN0cmxjcHkuLi4gbm8KY29u
ZmlndXJlOiBjcmVhdGluZyAuL2NvbmZpZy5zdGF0dXMKY29uZmlnLnN0YXR1
czogY3JlYXRpbmcgTWFrZWZpbGUKY29uZmlnLnN0YXR1czogY3JlYXRpbmcg
Y29uZmlnLmgKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGRlcGZpbGVzIGNv
bW1hbmRzCmNvbmZpZy5zdGF0dXM6IGV4ZWN1dGluZyBsaWJ0b29sIGNvbW1h
bmRzCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIv
dGVzdHMvbm9ucmVjdXJzaXZlLmF0OjkwOiAkdW5zZXQgTElCVE9PTCBMSUJU
T09MSVpFOyAkTUFLRSAkdGFyZ2V0IApzdGRlcnI6CkluIGZpbGUgaW5jbHVk
ZWQgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fZ2xpYmMuaDo2MTowLA0KICAg
ICAgICAgICAgICAgICBmcm9tIC4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRl
Lmg6NTQsDQogICAgICAgICAgICAgICAgIGZyb20gbHRkbC9sb2FkZXJzL2xv
YWRsaWJyYXJ5LmM6MzI6DQpsdGRsL2FyZ3ouaDo0MzowOiB3YXJuaW5nOiAi
TFRfU0NPUEUiIHJlZGVmaW5lZCBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KICMg
IGRlZmluZSBMVF9TQ09QRQ0KIF4NCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAu
L2x0ZGwvbGlibHRkbC9sdF9fYWxsb2MuaDozNDowLA0KICAgICAgICAgICAg
ICAgICBmcm9tIC4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6NTEsDQog
ICAgICAgICAgICAgICAgIGZyb20gbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5
LmM6MzI6DQouL2x0ZGwvbGlibHRkbC9sdF9zeXN0ZW0uaDoxMTY6MDogbm90
ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmlu
aXRpb24NCiAjICAgICAgZGVmaW5lIExUX1NDT1BFIGV4dGVybiBfX2RlY2xz
cGVjKGRsbGV4cG9ydCkNCiBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gbHRk
bC9sdGRsLmg6Mzc6MCwNCiAgICAgICAgICAgICAgICAgZnJvbSAuL2x0ZGwv
bGlibHRkbC9sdF9fcHJpdmF0ZS5oOjU3LA0KICAgICAgICAgICAgICAgICBm
cm9tIGx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjMyOg0KbHRkbC9saWJs
dGRsL2x0X2Vycm9yLmg6Nzk6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcs
JywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQn
DQogTFRfU0NPUEUgaW50IGx0X2RsYWRkZXJyb3IgKGNvbnN0IGNoYXIgKmRp
YWdub3N0aWMpOw0KICAgICAgICAgIF4NCmx0ZGwvbGlibHRkbC9sdF9lcnJv
ci5oOjgwOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2Fz
bScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BF
IGludCBsdF9kbHNldGVycm9yIChpbnQgZXJyb3Jjb2RlKTsNCiAgICAgICAg
ICBeDQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gbHRkbC9sdGRsLmg6Mzg6MCwN
CiAgICAgICAgICAgICAgICAgZnJvbSAuL2x0ZGwvbGlibHRkbC9sdF9fcHJp
dmF0ZS5oOjU3LA0KICAgICAgICAgICAgICAgICBmcm9tIGx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jOjMyOg0KbHRkbC9saWJsdGRsL2x0X2RsbG9hZGVy
Lmg6NzM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNt
JyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUg
aW50ICBsdF9kbGxvYWRlcl9hZGQgICAgKGNvbnN0IGx0X2RsdnRhYmxlICp2
dGFibGUpOw0KICAgICAgICAgIF4NCmx0ZGwvbGlibHRkbC9sdF9kbGxvYWRl
ci5oOjc0OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NPUEUn
DQogTFRfU0NPUEUgbHRfZGxsb2FkZXIgbHRfZGxsb2FkZXJfbmV4dCAgIChj
b25zdCBsdF9kbGxvYWRlciBsb2FkZXIpOw0KIF4NCmx0ZGwvbGlibHRkbC9s
dF9kbGxvYWRlci5oOjc0OjIyOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcs
ICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnbHRfZGxs
b2FkZXJfbmV4dCcNCiBMVF9TQ09QRSBsdF9kbGxvYWRlciBsdF9kbGxvYWRl
cl9uZXh0ICAgKGNvbnN0IGx0X2RsbG9hZGVyIGxvYWRlcik7DQogICAgICAg
ICAgICAgICAgICAgICAgXg0KbHRkbC9saWJsdGRsL2x0X2RsbG9hZGVyLmg6
NzY6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBM
VF9TQ09QRSBsdF9kbHZ0YWJsZSAqIGx0X2RsbG9hZGVyX3JlbW92ZSAoY29u
c3QgY2hhciAqbmFtZSk7DQogXg0KbHRkbC9saWJsdGRsL2x0X2RsbG9hZGVy
Lmg6NzY6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNt
JyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICcqJyB0b2tlbg0KIExUX1ND
T1BFIGx0X2RsdnRhYmxlICogbHRfZGxsb2FkZXJfcmVtb3ZlIChjb25zdCBj
aGFyICpuYW1lKTsNCiAgICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2xp
Ymx0ZGwvbHRfZGxsb2FkZXIuaDo3NzoxMDogZXJyb3I6IGV4cGVjdGVkICc9
JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUg
J2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGx0X2RsdnRhYmxlICpsdF9kbGxv
YWRlcl9maW5kIChjb25zdCBjaGFyICpuYW1lKTsNCiAgICAgICAgICBeDQps
dGRsL2xpYmx0ZGwvbHRfZGxsb2FkZXIuaDo3ODoxMDogZXJyb3I6IGV4cGVj
dGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBi
ZWZvcmUgJ2NvbnN0Jw0KIExUX1NDT1BFIGNvbnN0IGx0X2RsdnRhYmxlICps
dF9kbGxvYWRlcl9nZXQgKGx0X2RsbG9hZGVyIGxvYWRlcik7DQogICAgICAg
ICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vbHRkbC9saWJsdGRsL2x0
X19wcml2YXRlLmg6NTc6MCwNCiAgICAgICAgICAgICAgICAgZnJvbSBsdGRs
L2xvYWRlcnMvbG9hZGxpYnJhcnkuYzozMjoNCmx0ZGwvbHRkbC5oOjUzOjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAg
bHRfZGxpbml0ICAodm9pZCk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6
NTQ6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBv
ciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50
ICAgICBsdF9kbGV4aXQgICh2b2lkKTsNCiAgICAgICAgICBeDQpsdGRsL2x0
ZGwuaDo1NzoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdh
c20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09Q
RSBpbnQgICAgIGx0X2RsYWRkc2VhcmNoZGlyICAoY29uc3QgY2hhciAqc2Vh
cmNoX2Rpcik7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6NTg6MTA6IGVy
cm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRy
aWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9k
bGluc2VydHNlYXJjaGRpciAoY29uc3QgY2hhciAqYmVmb3JlLA0KICAgICAg
ICAgIF4NCmx0ZGwvbHRkbC5oOjYwOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0n
LCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAn
aW50Jw0KIExUX1NDT1BFIGludCAgICAgIGx0X2Rsc2V0c2VhcmNocGF0aCAg
KGNvbnN0IGNoYXIgKnNlYXJjaF9wYXRoKTsNCiAgICAgICAgICBeDQpsdGRs
L2x0ZGwuaDo2MToxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs
ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0KIExU
X1NDT1BFIGNvbnN0IGNoYXIgKmx0X2RsZ2V0c2VhcmNocGF0aCAgKHZvaWQp
Ow0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjYyOjEwOiBlcnJvcjogZXhw
ZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18n
IGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxmb3JlYWNo
ZmlsZSAgKA0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjY4OjEwOiBlcnJv
cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
dXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxh
ZHZpc2VfaW5pdCAgKGx0X2RsYWR2aXNlICphZHZpc2UpOw0KICAgICAgICAg
IF4NCmx0ZGwvbHRkbC5oOjY5OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn
LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50
Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZHZpc2VfZGVzdHJveSAgKGx0
X2RsYWR2aXNlICphZHZpc2UpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5o
OjcwOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScg
b3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGlu
dCAgICAgbHRfZGxhZHZpc2VfZXh0ICAobHRfZGxhZHZpc2UgKmFkdmlzZSk7
DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6NzE6MTA6IGVycm9yOiBleHBl
Y3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg
YmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBsdF9kbGFkdmlzZV9y
ZXNpZGVudCAobHRfZGxhZHZpc2UgKmFkdmlzZSk7DQogICAgICAgICAgXg0K
bHRkbC9sdGRsLmg6NzI6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQog
TFRfU0NPUEUgaW50ICAgICBsdF9kbGFkdmlzZV9sb2NhbCAgKGx0X2RsYWR2
aXNlICphZHZpc2UpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjczOjEw
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAg
bHRfZGxhZHZpc2VfZ2xvYmFsICAgKGx0X2RsYWR2aXNlICphZHZpc2UpOw0K
ICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjc0OjEwOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCAgICAgbHRfZGxhZHZpc2VfcHJl
bG9hZCAgKGx0X2RsYWR2aXNlICphZHZpc2UpOw0KICAgICAgICAgIF4NCmx0
ZGwvbHRkbC5oOjc3OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRf
U0NPUEUnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxvcGVuICAoY29u
c3QgY2hhciAqZmlsZW5hbWUpOw0KIF4NCmx0ZGwvbHRkbC5oOjc3OjIyOiBl
cnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0
cmlidXRlX18nIGJlZm9yZSAnbHRfZGxvcGVuJw0KIExUX1NDT1BFIGx0X2Rs
aGFuZGxlIGx0X2Rsb3BlbiAgKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsNCiAg
ICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDo3ODoxOiBlcnJv
cjogdW5rbm93biB0eXBlIG5hbWUgJ0xUX1NDT1BFJw0KIExUX1NDT1BFIGx0
X2RsaGFuZGxlIGx0X2Rsb3BlbmV4dCAoY29uc3QgY2hhciAqZmlsZW5hbWUp
Ow0KIF4NCmx0ZGwvbHRkbC5oOjc4OjIyOiBlcnJvcjogZXhwZWN0ZWQgJz0n
LCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAn
bHRfZGxvcGVuZXh0Jw0KIExUX1NDT1BFIGx0X2RsaGFuZGxlIGx0X2Rsb3Bl
bmV4dCAoY29uc3QgY2hhciAqZmlsZW5hbWUpOw0KICAgICAgICAgICAgICAg
ICAgICAgIF4NCmx0ZGwvbHRkbC5oOjc5OjE6IGVycm9yOiB1bmtub3duIHR5
cGUgbmFtZSAnTFRfU0NPUEUnDQogTFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRf
ZGxvcGVuYWR2aXNlIChjb25zdCBjaGFyICpmaWxlbmFtZSwNCiBeDQpsdGRs
L2x0ZGwuaDo3OToyMjogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAnOycs
ICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2x0X2Rsb3BlbmFk
dmlzZScNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbG9wZW5hZHZpc2Ug
KGNvbnN0IGNoYXIgKmZpbGVuYW1lLA0KICAgICAgICAgICAgICAgICAgICAg
IF4NCmx0ZGwvbHRkbC5oOjgxOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAn
LCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAndm9p
ZCcNCiBMVF9TQ09QRSB2b2lkICogICAgIGx0X2Rsc3ltICAobHRfZGxoYW5k
bGUgaGFuZGxlLCBjb25zdCBjaGFyICpuYW1lKTsNCiAgICAgICAgICBeDQps
dGRsL2x0ZGwuaDo4MjoxMDogZXJyb3I6IGV4cGVjdGVkICc9JywgJywnLCAn
OycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZvcmUgJ2NvbnN0Jw0K
IExUX1NDT1BFIGNvbnN0IGNoYXIgKmx0X2RsZXJyb3IgICh2b2lkKTsNCiAg
ICAgICAgICBeDQpsdGRsL2x0ZGwuaDo4MzoxMDogZXJyb3I6IGV4cGVjdGVk
ICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0ZV9fJyBiZWZv
cmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgICAgIGx0X2RsY2xvc2UgIChsdF9k
bGhhbmRsZSBoYW5kbGUpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjk5
OjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3Ig
J19fYXR0cmlidXRlX18nIGJlZm9yZSAnaW50Jw0KIExUX1NDT1BFIGludCBs
dF9kbHByZWxvYWQgICAgICAoY29uc3QgbHRfZGxzeW1saXN0ICpwcmVsb2Fk
ZWQpOw0KICAgICAgICAgIF4NCmx0ZGwvbHRkbC5oOjEwMDoxMDogZXJyb3I6
IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0
ZV9fJyBiZWZvcmUgJ2ludCcNCiBMVF9TQ09QRSBpbnQgbHRfZGxwcmVsb2Fk
X2RlZmF1bHQgKGNvbnN0IGx0X2Rsc3ltbGlzdCAqcHJlbG9hZGVkKTsNCiAg
ICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxMDE6MTA6IGVycm9yOiBleHBlY3Rl
ZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVm
b3JlICdpbnQnDQogTFRfU0NPUEUgaW50IGx0X2RscHJlbG9hZF9vcGVuICAg
IChjb25zdCBjaGFyICpvcmlnaW5hdG9yLA0KICAgICAgICAgIF4NCmx0ZGwv
bHRkbC5oOjEyMToxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ0xUX1ND
T1BFJw0KIExUX1NDT1BFIGx0X2RsaW50ZXJmYWNlX2lkIGx0X2RsaW50ZXJm
YWNlX3JlZ2lzdGVyIChjb25zdCBjaGFyICppZF9zdHJpbmcsDQogXg0KbHRk
bC9sdGRsLmg6MTIxOjI4OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7
JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAnbHRfZGxpbnRl
cmZhY2VfcmVnaXN0ZXInDQogTFRfU0NPUEUgbHRfZGxpbnRlcmZhY2VfaWQg
bHRfZGxpbnRlcmZhY2VfcmVnaXN0ZXIgKGNvbnN0IGNoYXIgKmlkX3N0cmlu
ZywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2x0ZGwu
aDoxMjM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNt
JyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICd2b2lkJw0KIExUX1NDT1BF
IHZvaWQgbHRfZGxpbnRlcmZhY2VfZnJlZSAobHRfZGxpbnRlcmZhY2VfaWQg
a2V5KTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxMjQ6MTA6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1
dGVfXycgYmVmb3JlICd2b2lkJw0KIExUX1NDT1BFIHZvaWQgKiBsdF9kbGNh
bGxlcl9zZXRfZGF0YSAgKGx0X2RsaW50ZXJmYWNlX2lkIGtleSwNCiAgICAg
ICAgICBeDQpsdGRsL2x0ZGwuaDoxMjY6MTA6IGVycm9yOiBleHBlY3RlZCAn
PScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3Jl
ICd2b2lkJw0KIExUX1NDT1BFIHZvaWQgKiBsdF9kbGNhbGxlcl9nZXRfZGF0
YSAgKGx0X2RsaW50ZXJmYWNlX2lkIGtleSwNCiAgICAgICAgICBeDQpsdGRs
L2x0ZGwuaDoxNDM6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsn
LCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdjb25zdCcNCiBM
VF9TQ09QRSBjb25zdCBsdF9kbGluZm8gKmx0X2RsZ2V0aW5mbyAgICAgKGx0
X2RsaGFuZGxlIGhhbmRsZSk7DQogICAgICAgICAgXg0KbHRkbC9sdGRsLmg6
MTQ1OjE6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnTFRfU0NPUEUnDQog
TFRfU0NPUEUgbHRfZGxoYW5kbGUgbHRfZGxoYW5kbGVfaXRlcmF0ZSAobHRf
ZGxpbnRlcmZhY2VfaWQgaWZhY2UsDQogXg0KbHRkbC9sdGRsLmg6MTQ1OjIy
OiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19f
YXR0cmlidXRlX18nIGJlZm9yZSAnbHRfZGxoYW5kbGVfaXRlcmF0ZScNCiBM
VF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbGhhbmRsZV9pdGVyYXRlIChsdF9k
bGludGVyZmFjZV9pZCBpZmFjZSwNCiAgICAgICAgICAgICAgICAgICAgICBe
DQpsdGRsL2x0ZGwuaDoxNDc6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1l
ICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbGhhbmRs
ZV9mZXRjaCAgIChsdF9kbGludGVyZmFjZV9pZCBpZmFjZSwNCiBeDQpsdGRs
L2x0ZGwuaDoxNDc6MjI6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsn
LCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdsdF9kbGhhbmRs
ZV9mZXRjaCcNCiBMVF9TQ09QRSBsdF9kbGhhbmRsZSBsdF9kbGhhbmRsZV9m
ZXRjaCAgIChsdF9kbGludGVyZmFjZV9pZCBpZmFjZSwNCiAgICAgICAgICAg
ICAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxNDk6MTA6IGVycm9yOiBleHBl
Y3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycg
YmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICBsdF9kbGhhbmRsZV9tYXAg
ICAgIChsdF9kbGludGVyZmFjZV9pZCBpZmFjZSwNCiAgICAgICAgICBeDQps
dGRsL2x0ZGwuaDoxNTY6MTA6IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywg
JzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQog
TFRfU0NPUEUgaW50ICAgICBsdF9kbG1ha2VyZXNpZGVudCAobHRfZGxoYW5k
bGUgaGFuZGxlKTsNCiAgICAgICAgICBeDQpsdGRsL2x0ZGwuaDoxNTc6MTA6
IGVycm9yOiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19h
dHRyaWJ1dGVfXycgYmVmb3JlICdpbnQnDQogTFRfU0NPUEUgaW50ICAgICBs
dF9kbGlzcmVzaWRlbnQgKGx0X2RsaGFuZGxlIGhhbmRsZSk7DQogICAgICAg
ICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGx0ZGwvbG9hZGVycy9sb2Fk
bGlicmFyeS5jOjMyOjA6DQouL2x0ZGwvbGlibHRkbC9sdF9fcHJpdmF0ZS5o
OjkzOjEwOiBlcnJvcjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScg
b3IgJ19fYXR0cmlidXRlX18nIGJlZm9yZSAndm9pZCcNCiBMVF9TQ09QRSB2
b2lkIGx0X19hbGxvY19kaWVfY2FsbGJhY2sgKHZvaWQpOw0KICAgICAgICAg
IF4NCi4vbHRkbC9saWJsdGRsL2x0X19wcml2YXRlLmg6MTQzOjEwOiBlcnJv
cjogZXhwZWN0ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmli
dXRlX18nIGJlZm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hhciAq
bHRfX2Vycm9yX3N0cmluZyAoaW50IGVycm9yY29kZSk7DQogICAgICAgICAg
Xg0KLi9sdGRsL2xpYmx0ZGwvbHRfX3ByaXZhdGUuaDoxNDQ6MTA6IGVycm9y
OiBleHBlY3RlZCAnPScsICcsJywgJzsnLCAnYXNtJyBvciAnX19hdHRyaWJ1
dGVfXycgYmVmb3JlICdjb25zdCcNCiBMVF9TQ09QRSBjb25zdCBjaGFyICps
dF9fZ2V0X2xhc3RfZXJyb3IgKHZvaWQpOw0KICAgICAgICAgIF4NCi4vbHRk
bC9saWJsdGRsL2x0X19wcml2YXRlLmg6MTQ1OjEwOiBlcnJvcjogZXhwZWN0
ZWQgJz0nLCAnLCcsICc7JywgJ2FzbScgb3IgJ19fYXR0cmlidXRlX18nIGJl
Zm9yZSAnY29uc3QnDQogTFRfU0NPUEUgY29uc3QgY2hhciAqbHRfX3NldF9s
YXN0X2Vycm9yIChjb25zdCBjaGFyICplcnJvcm1zZyk7DQogICAgICAgICAg
Xg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6NDY6MTogZXJyb3I6IHVu
a25vd24gdHlwZSBuYW1lICdMVF9TQ09QRScNCiBMVF9TQ09QRSBsdF9kbHZ0
YWJsZSAqZ2V0X3Z0YWJsZSAobHRfdXNlcl9kYXRhIGxvYWRlcl9kYXRhKTsN
CiBeDQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnkuYzo0NjoyMjogZXJyb3I6
IGV4cGVjdGVkICc9JywgJywnLCAnOycsICdhc20nIG9yICdfX2F0dHJpYnV0
ZV9fJyBiZWZvcmUgJyonIHRva2VuDQogTFRfU0NPUEUgbHRfZGx2dGFibGUg
KmdldF92dGFibGUgKGx0X3VzZXJfZGF0YSBsb2FkZXJfZGF0YSk7DQogICAg
ICAgICAgICAgICAgICAgICAgXg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5
LmM6IEluIGZ1bmN0aW9uICdsb2FkbGlicmFyeV9MVFhfZ2V0X3Z0YWJsZSc6
DQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJhcnkuYzo3MToxNjogd2FybmluZzog
YXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0
IGEgY2FzdCBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KICAgICAgIGlmYWNlX2lk
ID0gbHRfZGxpbnRlcmZhY2VfcmVnaXN0ZXIgKCJsdGRsIGxvYWRsaWJyYXJ5
IiwgTlVMTCk7DQogICAgICAgICAgICAgICAgXg0KbHRkbC9sb2FkZXJzL2xv
YWRsaWJyYXJ5LmM6IEluIGZ1bmN0aW9uICd2bV9vcGVuJzoNCmx0ZGwvbG9h
ZGVycy9sb2FkbGlicmFyeS5jOjIxODoxNzogd2FybmluZzogYXNzaWdubWVu
dCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBb
ZW5hYmxlZCBieSBkZWZhdWx0XQ0KICAgICB3aGlsZSAoKGN1ciA9IGx0X2Rs
aGFuZGxlX2l0ZXJhdGUgKGlmYWNlX2lkLCBjdXIpKSkNCiAgICAgICAgICAg
ICAgICAgXg0KbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6MjMzOjc6IHdh
cm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAnbG9hZGxpYnJhcnllcnJv
cicgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3Qg
W2VuYWJsZWQgYnkgZGVmYXVsdF0NCiAgICAgICBMT0FETElCX1NFVEVSUk9S
IChDQU5OT1RfT1BFTik7DQogICAgICAgXg0KbHRkbC9sb2FkZXJzL2xvYWRs
aWJyYXJ5LmM6MTA2OjIwOiBub3RlOiBleHBlY3RlZCAnY29uc3QgY2hhciAq
JyBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSAnaW50Jw0KIHN0YXRpYyBjb25z
dCBjaGFyICpsb2FkbGlicmFyeWVycm9yIChjb25zdCBjaGFyICpkZWZhdWx0
X2Vycm1zZyk7DQogICAgICAgICAgICAgICAgICAgIF4NCmx0ZGwvbG9hZGVy
cy9sb2FkbGlicmFyeS5jOiBJbiBmdW5jdGlvbiAndm1fY2xvc2UnOg0KbHRk
bC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmM6MjU0Ojc6IHdhcm5pbmc6IHBhc3Np
bmcgYXJndW1lbnQgMSBvZiAnbG9hZGxpYnJhcnllcnJvcicgbWFrZXMgcG9p
bnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgW2VuYWJsZWQgYnkg
ZGVmYXVsdF0NCiAgICAgICBMT0FETElCX1NFVEVSUk9SIChDQU5OT1RfQ0xP
U0UpOw0KICAgICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjEw
NjoyMDogbm90ZTogZXhwZWN0ZWQgJ2NvbnN0IGNoYXIgKicgYnV0IGFyZ3Vt
ZW50IGlzIG9mIHR5cGUgJ2ludCcNCiBzdGF0aWMgY29uc3QgY2hhciAqbG9h
ZGxpYnJhcnllcnJvciAoY29uc3QgY2hhciAqZGVmYXVsdF9lcnJtc2cpOw0K
ICAgICAgICAgICAgICAgICAgICBeDQpsdGRsL2xvYWRlcnMvbG9hZGxpYnJh
cnkuYzogSW4gZnVuY3Rpb24gJ3ZtX3N5bSc6DQpsdGRsL2xvYWRlcnMvbG9h
ZGxpYnJhcnkuYzoyNzE6Nzogd2FybmluZzogcGFzc2luZyBhcmd1bWVudCAx
IG9mICdsb2FkbGlicmFyeWVycm9yJyBtYWtlcyBwb2ludGVyIGZyb20gaW50
ZWdlciB3aXRob3V0IGEgY2FzdCBbZW5hYmxlZCBieSBkZWZhdWx0XQ0KICAg
ICAgIExPQURMSUJfU0VURVJST1IgKFNZTUJPTF9OT1RfRk9VTkQpOw0KICAg
ICAgIF4NCmx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5jOjEwNjoyMDogbm90
ZTogZXhwZWN0ZWQgJ2NvbnN0IGNoYXIgKicgYnV0IGFyZ3VtZW50IGlzIG9m
IHR5cGUgJ2ludCcNCiBzdGF0aWMgY29uc3QgY2hhciAqbG9hZGxpYnJhcnll
cnJvciAoY29uc3QgY2hhciAqZGVmYXVsdF9lcnJtc2cpOw0KICAgICAgICAg
ICAgICAgICAgICBeDQptYWtlWzFdOiAqKiogW2x0ZGwvbG9hZGVycy9sb2Fk
bGlicmFyeS5sb10gRXJyb3IgMQptYWtlOiAqKiogW2FsbF0gRXJyb3IgMgpz
dGRvdXQ6Ci9iaW4vc2ggL21pbmd3L2xpYnRvb2wtYnVpbGQtZHVlLXRvLUdO
VS90ZXN0cy90ZXN0c3VpdGUuZGlyLzA5NS9sdGRsL2NvbmZpZy9pbnN0YWxs
LXNoIC1kIC4gbHRkbC8KY3AgLi9sdGRsL2FyZ3pfLmggbHRkbC9hcmd6Lmgt
dAptdiBsdGRsL2FyZ3ouaC10IGx0ZGwvYXJnei5oCm1ha2UgIGFsbC1hbQpt
YWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgYC9taW5ndy9saWJ0b29sLWJ1
aWxkLWR1ZS10by1HTlUvdGVzdHMvdGVzdHN1aXRlLmRpci8wOTUnCmRlcGJh
c2U9YGVjaG8gZm9vLmxvIHwgc2VkICdzfFteL10qJHwuZGVwcy8mfDtzfFwu
bG8kfHwnYDtcCgkvYmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9k
ZT1jb21waWxlIGdjYyAtREhBVkVfQ09ORklHX0ggLUkuICAtRExUX0NPTkZJ
R19IPSc8Y29uZmlnLmg+JyAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0
ZGwgLUkuL2x0ZGwvbGlibHRkbCAgIC1nIC1PMiAtTVQgZm9vLmxvIC1NRCAt
TVAgLU1GICRkZXBiYXNlLlRwbyAtYyAtbyBmb28ubG8gZm9vLmMgJiZcCglt
diAtZiAkZGVwYmFzZS5UcG8gJGRlcGJhc2UuUGxvCmxpYnRvb2w6IGNvbXBp
bGU6ICBnY2MgLURIQVZFX0NPTkZJR19IIC1JLiAiLURMVF9DT05GSUdfSD08
Y29uZmlnLmg+IiAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUku
L2x0ZGwvbGlibHRkbCAtZyAtTzIgLU1UIGZvby5sbyAtTUQgLU1QIC1NRiAu
ZGVwcy9mb28uVHBvIC1jIGZvby5jICAtRERMTF9FWFBPUlQgLURQSUMgLW8g
LmxpYnMvZm9vLm8KbGlidG9vbDogY29tcGlsZTogIGdjYyAtREhBVkVfQ09O
RklHX0ggLUkuICItRExUX0NPTkZJR19IPTxjb25maWcuaD4iIC1ETFRETCAt
SS4gLUkuIC1JbHRkbCAtSS4vbHRkbCAtSS4vbHRkbC9saWJsdGRsIC1nIC1P
MiAtTVQgZm9vLmxvIC1NRCAtTVAgLU1GIC5kZXBzL2Zvby5UcG8gLWMgZm9v
LmMgLW8gZm9vLm8gPi9kZXYvbnVsbCAyPiYxCi9iaW4vc2ggLi9saWJ0b29s
IC0tdGFnPUNDICAgLS1tb2RlPWxpbmsgZ2NjICAtZyAtTzIgLW1vZHVsZSAt
YXZvaWQtdmVyc2lvbiAtbm8tdW5kZWZpbmVkICAtbyBmb28ubGEgLXJwYXRo
IC9ub25leGlzdGVudC9saWIgZm9vLmxvICAKbGlidG9vbDogbGluazogZ2Nj
IC1zaGFyZWQgIC5saWJzL2Zvby5vICAgIC1PMiAgIC1vIC5saWJzL2Zvby5k
bGwgLVdsLC0tZW5hYmxlLWF1dG8taW1hZ2UtYmFzZSAtWGxpbmtlciAtLW91
dC1pbXBsaWIgLVhsaW5rZXIgLmxpYnMvZm9vLmRsbC5hCmxpYnRvb2w6IGxp
bms6IGFyIGNydSAubGlicy9mb28uYSAgZm9vLm8KbGlidG9vbDogbGluazog
cmFubGliIC5saWJzL2Zvby5hCmxpYnRvb2w6IGxpbms6ICggY2QgIi5saWJz
IiAmJiBybSAtZiAiZm9vLmxhIiAmJiBjcCAtcCAiLi4vZm9vLmxhIiAiZm9v
LmxhIiApCmRlcGJhc2U9YGVjaG8gbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5
LmxvIHwgc2VkICdzfFteL10qJHwuZGVwcy8mfDtzfFwubG8kfHwnYDtcCgkv
YmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1jb21waWxlIGdj
YyAtREhBVkVfQ09ORklHX0ggLUkuICAtRExUX0NPTkZJR19IPSc8Y29uZmln
Lmg+JyAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0ZGwgLUkuL2x0ZGwv
bGlibHRkbCAgIC1nIC1PMiAtTVQgbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5
LmxvIC1NRCAtTVAgLU1GICRkZXBiYXNlLlRwbyAtYyAtbyBsdGRsL2xvYWRl
cnMvbG9hZGxpYnJhcnkubG8gbHRkbC9sb2FkZXJzL2xvYWRsaWJyYXJ5LmMg
JiZcCgltdiAtZiAkZGVwYmFzZS5UcG8gJGRlcGJhc2UuUGxvCmxpYnRvb2w6
IGNvbXBpbGU6ICBnY2MgLURIQVZFX0NPTkZJR19IIC1JLiAiLURMVF9DT05G
SUdfSD08Y29uZmlnLmg+IiAtRExUREwgLUkuIC1JLiAtSWx0ZGwgLUkuL2x0
ZGwgLUkuL2x0ZGwvbGlibHRkbCAtZyAtTzIgLU1UIGx0ZGwvbG9hZGVycy9s
b2FkbGlicmFyeS5sbyAtTUQgLU1QIC1NRiBsdGRsL2xvYWRlcnMvLmRlcHMv
bG9hZGxpYnJhcnkuVHBvIC1jIGx0ZGwvbG9hZGVycy9sb2FkbGlicmFyeS5j
ICAtRERMTF9FWFBPUlQgLURQSUMgLW8gbHRkbC9sb2FkZXJzLy5saWJzL2xv
YWRsaWJyYXJ5Lm8KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgYC9taW5n
dy9saWJ0b29sLWJ1aWxkLWR1ZS10by1HTlUvdGVzdHMvdGVzdHN1aXRlLmRp
ci8wOTUnCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40
LjIvdGVzdHMvbm9ucmVjdXJzaXZlLmF0OjkwOiBleGl0IGNvZGUgd2FzIDIs
IGV4cGVjdGVkIDAKOTUuIG5vbnJlY3Vyc2l2ZS5hdDo3ODogOTUuIGNvbXBp
bGluZyBzb2Z0bGlua2VkIGxpYmx0ZGwgKG5vbnJlY3Vyc2l2ZS5hdDo3OCk6
IEZBSUxFRCAobm9ucmVjdXJzaXZlLmF0OjkwKQo=

--_----------=_13840355941782731
Content-Disposition: attachment; filename="testsuite.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="testsuite.log"

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQo1NS4gY3dyYXBwZXIuYXQ6MjU6IHRlc3RpbmcgY3dyYXBwZXIgZm9y
IHVuaW5zdGFsbGVkIGV4ZWN1dGFibGVzIC4uLgovTWluR1cvc2hhcmUvYXV0
b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVyLmF0OjI5
OiAkTElCVE9PTCAtLWZlYXR1cmVzIHwgZ3JlcCAnZGlzYWJsZSBzaGFyZWQg
bGlicmFyaWVzJyAmJiBleGl0IDc3CnN0ZG91dDoKbGlidG9vbDogY29tcGls
ZTogIGdjYyAtZyAtTzIgLVdhbGwgLVdlcnJvciB0cml2aWFsLmMgIC1ERExM
X0VYUE9SVCAtRFBJQyAtbyAubGlicy90cml2aWFsLm8KbGlidG9vbDogY29t
cGlsZTogIGdjYyAtZyAtTzIgLVdhbGwgLVdlcnJvciB0cml2aWFsLmMgLW8g
dHJpdmlhbC5vID4vZGV2L251bGwgMj4mMQovTWluR1cvc2hhcmUvYXV0b21h
a2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVyLmF0OjY5OiAk
TElCVE9PTCAtLW1vZGU9Y29tcGlsZSAkQ0MgJENQUEZMQUdTICRDRkxBR1Mg
LWMgbGliYS5jCnN0ZGVycjoKc3Rkb3V0OgpsaWJ0b29sOiBjb21waWxlOiAg
Z2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIC1jIGxpYmEuYyAgLURETExfRVhQ
T1JUIC1EUElDIC1vIC5saWJzL2xpYmEubwpsaWJ0b29sOiBjb21waWxlOiAg
Z2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIC1jIGxpYmEuYyAtbyBsaWJhLm8g
Pi9kZXYvbnVsbCAyPiYxCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xp
YnRvb2wtMi40LjIvdGVzdHMvY3dyYXBwZXIuYXQ6NzE6ICRMSUJUT09MIC0t
bW9kZT1saW5rICRDQyAkQ0ZMQUdTICRMREZMQUdTIC12ZXJzaW9uLWluZm89
MC4wLjAgLW5vLXVuZGVmaW5lZCAtbyBsaWJhLmxhIC1ycGF0aCAvZm9vIGxp
YmEubG8Kc3RkZXJyOgpzdGRvdXQ6CmxpYnRvb2w6IGxpbms6IGdjYyAtc2hh
cmVkICAubGlicy9saWJhLm8gICAgLU8yICAgLW8gLmxpYnMvbGliYS0wLmRs
bCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1YbGlua2VyIC0tb3V0
LWltcGxpYiAtWGxpbmtlciAubGlicy9saWJhLmRsbC5hCmxpYnRvb2w6IGxp
bms6IGFyIGNydSAubGlicy9saWJhLmEgIGxpYmEubwpsaWJ0b29sOiBsaW5r
OiByYW5saWIgLmxpYnMvbGliYS5hCmxpYnRvb2w6IGxpbms6ICggY2QgIi5s
aWJzIiAmJiBybSAtZiAibGliYS5sYSIgJiYgY3AgLXAgIi4uL2xpYmEubGEi
ICJsaWJhLmxhIiApCi9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRv
b2wtMi40LjIvdGVzdHMvY3dyYXBwZXIuYXQ6NzM6IHRlc3QgLWYgbGliYS5s
YQovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rl
c3RzL2N3cmFwcGVyLmF0Ojc1OiAkQ0MgJENQUEZMQUdTICRDRkxBR1MgLWMg
dXNlYS5jCnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hhcmUvYXV0b21ha2Ut
MS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVyLmF0Ojc3OiAkTElC
VE9PTCAtLW1vZGU9bGluayAkQ0MgJENGTEFHUyAkTERGTEFHUyAtbyB1c2Vh
JEVYRUVYVCB1c2VhLiRPQkpFWFQgbGliYS5sYQpzdGRlcnI6CnN0ZG91dDoK
bGlidG9vbDogbGluazogZ2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIC1vIC5s
aWJzL3VzZWEuZXhlIHVzZWEubyAgLi8ubGlicy9saWJhLmRsbC5hIC1ML2Zv
bwovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rl
c3RzL2N3cmFwcGVyLmF0Ojc5OiBpZiAiJGx0X2V4ZSIgOyB0aGVuIDo7IGVs
c2UgbHRfc3RhdHVzPSQ/OyAJICAgdGVzdCAkbHRfc3RhdHVzICE9IDAgJiYg
CSAgIHRlc3QgIlgkaG9zdCIgIT0gIlgkYnVpbGQiICYmIHRlc3QgLXggIiRs
dF9leGUiICYmIGV4aXQgNzc7IAkgICBleGl0ICRsdF9zdGF0dXM7IGZpCnN0
ZGVycjoKc3Rkb3V0OgpsaWJ0b29sOiBjb21waWxlOiAgZ2NjIC1nIC1PMiAt
c3RkPWM4OSAtV2FsbCAtV2Vycm9yIHRyaXZpYWwuYyAgLURETExfRVhQT1JU
IC1EUElDIC1vIC5saWJzL3RyaXZpYWwubwpsaWJ0b29sOiBjb21waWxlOiAg
Z2NjIC1nIC1PMiAtc3RkPWM4OSAtV2FsbCAtV2Vycm9yIHRyaXZpYWwuYyAt
byB0cml2aWFsLm8gPi9kZXYvbnVsbCAyPiYxCi9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY3dyYXBwZXIuYXQ6Njk6
ICRMSUJUT09MIC0tbW9kZT1jb21waWxlICRDQyAkQ1BQRkxBR1MgJENGTEFH
UyAtYyBsaWJhLmMKc3RkZXJyOgpzdGRvdXQ6CmxpYnRvb2w6IGNvbXBpbGU6
ICBnY2MgLWcgLU8yIC1zdGQ9Yzg5IC1XYWxsIC1XZXJyb3IgLWMgbGliYS5j
ICAtRERMTF9FWFBPUlQgLURQSUMgLW8gLmxpYnMvbGliYS5vCmxpYnRvb2w6
IGNvbXBpbGU6ICBnY2MgLWcgLU8yIC1zdGQ9Yzg5IC1XYWxsIC1XZXJyb3Ig
LWMgbGliYS5jIC1vIGxpYmEubyA+L2Rldi9udWxsIDI+JjEKL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9jd3JhcHBl
ci5hdDo3MTogJExJQlRPT0wgLS1tb2RlPWxpbmsgJENDICRDRkxBR1MgJExE
RkxBR1MgLXZlcnNpb24taW5mbz0wLjAuMCAtbm8tdW5kZWZpbmVkIC1vIGxp
YmEubGEgLXJwYXRoIC9mb28gbGliYS5sbwpzdGRlcnI6CnN0ZG91dDoKbGli
dG9vbDogbGluazogcm0gLWZyICAubGlicy9saWJhLmEgLmxpYnMvbGliYS5k
bGwuYSAubGlicy9saWJhLmxhIC5saWJzL2xpYmEubGFpCmxpYnRvb2w6IGxp
bms6IGdjYyAtc2hhcmVkICAubGlicy9saWJhLm8gICAgLU8yICAgLW8gLmxp
YnMvbGliYS0wLmRsbCAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIC1Y
bGlua2VyIC0tb3V0LWltcGxpYiAtWGxpbmtlciAubGlicy9saWJhLmRsbC5h
CmxpYnRvb2w6IGxpbms6IGFyIGNydSAubGlicy9saWJhLmEgIGxpYmEubwps
aWJ0b29sOiBsaW5rOiByYW5saWIgLmxpYnMvbGliYS5hCmxpYnRvb2w6IGxp
bms6ICggY2QgIi5saWJzIiAmJiBybSAtZiAibGliYS5sYSIgJiYgY3AgLXAg
Ii4uL2xpYmEubGEiICJsaWJhLmxhIiApCi9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY3dyYXBwZXIuYXQ6NzM6IHRl
c3QgLWYgbGliYS5sYQovTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0
b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVyLmF0Ojc1OiAkQ0MgJENQUEZMQUdT
ICRDRkxBR1MgLWMgdXNlYS5jCnN0ZGVycjoKc3Rkb3V0OgovTWluR1cvc2hh
cmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2N3cmFwcGVy
LmF0Ojc3OiAkTElCVE9PTCAtLW1vZGU9bGluayAkQ0MgJENGTEFHUyAkTERG
TEFHUyAtbyB1c2VhJEVYRUVYVCB1c2VhLiRPQkpFWFQgbGliYS5sYQpzdGRl
cnI6CkluIGZpbGUgaW5jbHVkZWQgZnJvbSBjOlx0aW5nd1xpbmNsdWRlXHVu
aXN0ZC5oOjM2OjAsDQogICAgICAgICAgICAgICAgIGZyb20gLi8ubGlicy9s
dC11c2VhLmM6MjE6DQpjOlx0aW5nd1xpbmNsdWRlXGlvLmg6MzAxOjE6IGVy
cm9yOiB1bmtub3duIHR5cGUgbmFtZSAnb2ZmNjRfdCcNCiBfX0NSVF9JTkxJ
TkUgb2ZmNjRfdCBsc2VlazY0IChpbnQsIG9mZjY0X3QsIGludCk7DQogXg0K
YzpcdGluZ3dcaW5jbHVkZVxpby5oOjMwMTozNjogZXJyb3I6IHVua25vd24g
dHlwZSBuYW1lICdvZmY2NF90Jw0KIF9fQ1JUX0lOTElORSBvZmY2NF90IGxz
ZWVrNjQgKGludCwgb2ZmNjRfdCwgaW50KTsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF4NCmM6XHRpbmd3XGluY2x1ZGVcaW8uaDoz
MDI6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdvZmY2NF90Jw0KIF9f
Q1JUX0lOTElORSBvZmY2NF90IGxzZWVrNjQgKGludCBmZCwgb2ZmNjRfdCBv
ZmZzZXQsIGludCB3aGVuY2UpIHsNCiBeDQpjOlx0aW5nd1xpbmNsdWRlXGlv
Lmg6MzAyOjM5OiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ29mZjY0X3Qn
DQogX19DUlRfSU5MSU5FIG9mZjY0X3QgbHNlZWs2NCAoaW50IGZkLCBvZmY2
NF90IG9mZnNldCwgaW50IHdoZW5jZSkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4vLmxpYnMvbHQtdXNlYS5jOjIxOjA6DQpjOlx0aW5nd1xpbmNsdWRlXHVu
aXN0ZC5oOjY1OjIwOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ29mZl90
Jw0KIGludCBmdHJ1bmNhdGUoaW50LCBvZmZfdCk7DQogICAgICAgICAgICAg
ICAgICAgIF4NCmM6XHRpbmd3XGluY2x1ZGVcdW5pc3RkLmg6Njc6Mzg6IGVy
cm9yOiB1bmtub3duIHR5cGUgbmFtZSAnb2ZmX3QnDQogX19DUlRfSU5MSU5F
IGludCBmdHJ1bmNhdGUoaW50IF9fZmQsIG9mZl90IF9fbGVuZ3RoKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQpjOlxUaW5H
V1xiaW5cc3RyaXAuZXhlOiAnLi91c2VhLmV4ZSc6IE5vIHN1Y2ggZmlsZQ0K
Li9saWJ0b29sOiBsaW5lIDk1MTc6IC4vdXNlYS5leGU6IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkKc3Rkb3V0OgpsaWJ0b29sOiBsaW5rOiBnY2MgLWcg
LU8yIC1zdGQ9Yzg5IC1XYWxsIC1XZXJyb3IgLW8gLmxpYnMvdXNlYS5leGUg
dXNlYS5vICAuLy5saWJzL2xpYmEuZGxsLmEgLUwvZm9vCi9NaW5HVy9zaGFy
ZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY3dyYXBwZXIu
YXQ6Nzk6IGlmICIkbHRfZXhlIiA7IHRoZW4gOjsgZWxzZSBsdF9zdGF0dXM9
JD87IAkgICB0ZXN0ICRsdF9zdGF0dXMgIT0gMCAmJiAJICAgdGVzdCAiWCRo
b3N0IiAhPSAiWCRidWlsZCIgJiYgdGVzdCAteCAiJGx0X2V4ZSIgJiYgZXhp
dCA3NzsgCSAgIGV4aXQgJGx0X3N0YXR1czsgZmkKc3RkZXJyOgovbWluZ3cv
bGlidG9vbC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzL3Rlc3RzdWl0ZS5kaXIv
YXQtZ3JvdXBzLzU1L3Rlc3Qtc291cmNlOiBsaW5lIDEzNTogLi91c2VhOiBO
byBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CnN0ZG91dDoKL01pbkdXL3NoYXJl
L2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9jd3JhcHBlci5h
dDo3OTogZXhpdCBjb2RlIHdhcyAxMjcsIGV4cGVjdGVkIDAKNTUuIGN3cmFw
cGVyLmF0OjI1OiA1NS4gY3dyYXBwZXIgZm9yIHVuaW5zdGFsbGVkIGV4ZWN1
dGFibGVzIChjd3JhcHBlci5hdDoyNSk6IEZBSUxFRCAoY3dyYXBwZXIuYXQ6
NzkpCg==

--_----------=_13840355941782731
Content-Disposition: attachment; filename="testsuite.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="testsuite.log"

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQoxMDcuIHdpdGgtcGljLmF0OjI0OiB0ZXN0aW5nIHRlc3QgLS13aXRo
LXBpYyAuLi4KL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi90ZXN0cy93aXRoLXBpYy5hdDoyNzogdGVzdCAieiRwaWNfZmxhZyIg
IT0gInoiIHx8IGV4aXQgNzcKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEv
bGlidG9vbC0yLjQuMi90ZXN0cy93aXRoLXBpYy5hdDoyODogdGVzdCAiJGF0
X3NyY2RpciIgIT0gLiB8fCBleGl0IDc3Ci9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvd2l0aC1waWMuYXQ6MzM6IDog
JHtDT05GSUdfU0hFTEw9L2Jpbi9zaH07IGV4cG9ydCBDT05GSUdfU0hFTEw7
IAkgICRDT05GSUdfU0hFTEwgJENPTkZJR1VSRSAkY29uZmlndXJlX29wdGlv
bnMgLS1kaXNhYmxlLXNoYXJlZCAtLXdpdGgtcGljPW5vCnN0ZGVycjoKc3Rk
b3V0OgpjaGVja2luZyBmb3IgYSBCU0QtY29tcGF0aWJsZSBpbnN0YWxsLi4u
IC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3aGV0aGVyIGJ1aWxkIGVudmly
b25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNraW5nIGZvciBhIHRocmVhZC1z
YWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIgLXAKY2hlY2tpbmcgZm9yIGdh
d2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVyIG1ha2Ugc2V0cyAkKE1BS0Up
Li4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4uIGdjYwpjaGVja2luZyB3aGV0
aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4uIHllcwpjaGVja2luZyBmb3Ig
QyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBmaWxlIG5hbWUuLi4gYS5leGUK
Y2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVjdXRhYmxlcy4uLiAuZXhlCmNo
ZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3NzIGNvbXBpbGluZy4uLiBubwpj
aGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcy4uLiBvCmNoZWNr
aW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlci4u
LiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2MgYWNjZXB0cyAtZy4uLiB5ZXMK
Y2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkuLi4g
bm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0eWxlIG9mIGluY2x1ZGUgdXNl
ZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBkZXBlbmRlbmN5IHN0eWxlIG9m
IGdjYy4uLiBnY2MzCmNoZWNraW5nIGJ1aWxkIHN5c3RlbSB0eXBlLi4uIGk2
ODYtcGMtbWluZ3czMgpjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlLi4uIGk2
ODYtcGMtbWluZ3czMgpjaGVja2luZyBob3cgdG8gcHJpbnQgc3RyaW5ncy4u
LiBwcmludGYKY2hlY2tpbmcgZm9yIGEgc2VkIHRoYXQgZG9lcyBub3QgdHJ1
bmNhdGUgb3V0cHV0Li4uIC9iaW4vc2VkCmNoZWNraW5nIGZvciBncmVwIHRo
YXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAtZS4uLiAvYmluL2dyZXAKY2hl
Y2tpbmcgZm9yIGVncmVwLi4uIC9iaW4vZ3JlcCAtRQpjaGVja2luZyBmb3Ig
ZmdyZXAuLi4gL2Jpbi9ncmVwIC1GCmNoZWNraW5nIGZvciBsZCB1c2VkIGJ5
IGdjYy4uLiBjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUKY2hlY2tpbmcg
aWYgdGhlIGxpbmtlciAoYzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlKSBp
cyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIGZvciBCU0QtIG9yIE1TLWNvbXBh
dGlibGUgbmFtZSBsaXN0ZXIgKG5tKS4uLiAvYmluL25tIC1CCmNoZWNraW5n
IHRoZSBuYW1lIGxpc3RlciAoL2Jpbi9ubSAtQikgaW50ZXJmYWNlLi4uIEJT
RCBubQpjaGVja2luZyB3aGV0aGVyIGxuIC1zIHdvcmtzLi4uIG5vLCB1c2lu
ZyBjcCAtcApjaGVja2luZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29tbWFu
ZCBsaW5lIGFyZ3VtZW50cy4uLiA4MTkyCmNoZWNraW5nIHdoZXRoZXIgdGhl
IHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJIGNvbnN0cnVjdHMuLi4geWVz
CmNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzICIrPSIu
Li4geWVzCmNoZWNraW5nIGhvdyB0byBjb252ZXJ0IGk2ODYtcGMtbWluZ3cz
MiBmaWxlIG5hbWVzIHRvIGk2ODYtcGMtbWluZ3czMiBmb3JtYXQuLi4gKGNh
Y2hlZCkgZnVuY19jb252ZXJ0X2ZpbGVfbXN5c190b193MzIKY2hlY2tpbmcg
aG93IHRvIGNvbnZlcnQgaTY4Ni1wYy1taW5ndzMyIGZpbGUgbmFtZXMgdG8g
dG9vbGNoYWluIGZvcm1hdC4uLiAoY2FjaGVkKSBmdW5jX2NvbnZlcnRfZmls
ZV9tc3lzX3RvX3czMgpjaGVja2luZyBmb3IgYzovdGluZ3cvbWluZ3czMi9i
aW4vbGQuZXhlIG9wdGlvbiB0byByZWxvYWQgb2JqZWN0IGZpbGVzLi4uIC1y
CmNoZWNraW5nIGZvciBvYmpkdW1wLi4uIG9iamR1bXAKY2hlY2tpbmcgaG93
IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzLi4uIGZpbGVfbWFn
aWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2IERMTApjaGVja2luZyBmb3Ig
ZGxsdG9vbC4uLiBkbGx0b29sCmNoZWNraW5nIGhvdyB0byBhc3NvY2lhdGUg
cnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMuLi4gZnVuY19jeWdtaW5nX2Rs
bF9mb3JfaW1wbGliCmNoZWNraW5nIGZvciBhcmNoaXZlciBARklMRSBzdXBw
b3J0Li4uIEAKY2hlY2tpbmcgZm9yIHN0cmlwLi4uIHN0cmlwCmNoZWNraW5n
IGZvciByYW5saWIuLi4gcmFubGliCmNoZWNraW5nIGNvbW1hbmQgdG8gcGFy
c2UgL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBnY2Mgb2JqZWN0Li4uIG9rCmNo
ZWNraW5nIGZvciBzeXNyb290Li4uIG5vCmNoZWNraW5nIGZvciBtdC4uLiA6
CmNoZWNraW5nIGlmIDogaXMgYSBtYW5pZmVzdCB0b29sLi4uIG5vCmNoZWNr
aW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJvY2Vzc29yLi4uIGdjYyAtRQpj
aGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBmaWxlcy4uLiB5ZXMKY2hlY2tp
bmcgZm9yIHN5cy90eXBlcy5oLi4uIHllcwpjaGVja2luZyBmb3Igc3lzL3N0
YXQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0ZGxpYi5oLi4uIHllcwpjaGVj
a2luZyBmb3Igc3RyaW5nLmguLi4geWVzCmNoZWNraW5nIGZvciBtZW1vcnku
aC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmluZ3MuaC4uLiB5ZXMKY2hlY2tp
bmcgZm9yIGludHR5cGVzLmguLi4geWVzCmNoZWNraW5nIGZvciBzdGRpbnQu
aC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHVuaXN0ZC5oLi4uIHllcwpjaGVja2lu
ZyBmb3IgZGxmY24uaC4uLiBubwpjaGVja2luZyBmb3IgYXMuLi4gYXMKY2hl
Y2tpbmcgZm9yIGRsbHRvb2wuLi4gKGNhY2hlZCkgZGxsdG9vbApjaGVja2lu
ZyBmb3Igb2JqZHVtcC4uLiAoY2FjaGVkKSBvYmpkdW1wCmNoZWNraW5nIGZv
ciBvYmpkaXIuLi4gLmxpYnMKY2hlY2tpbmcgaWYgZ2NjIHN1cHBvcnRzIC1m
bm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMuLi4gbm8KY2hlY2tpbmcgZm9yIGdj
YyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4gLURETExfRVhQT1JUIC1EUElD
CmNoZWNraW5nIGlmIGdjYyBQSUMgZmxhZyAtRERMTF9FWFBPUlQgLURQSUMg
d29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGdjYyBzdGF0aWMgZmxhZyAtc3Rh
dGljIHdvcmtzLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMg
LW8gZmlsZS5vLi4uIHllcwpjaGVja2luZyBpZiBnY2Mgc3VwcG9ydHMgLWMg
LW8gZmlsZS5vLi4uIChjYWNoZWQpIHllcwpjaGVja2luZyB3aGV0aGVyIHRo
ZSBnY2MgbGlua2VyIChjOi90aW5ndy9taW5ndzMyL2Jpbi9sZC5leGUpIHN1
cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIGR5bmFt
aWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4uLiBXaW4zMiBsZC5leGUKY2hl
Y2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJhcnkgcGF0aHMgaW50byBwcm9n
cmFtcy4uLiBpbW1lZGlhdGUKY2hlY2tpbmcgd2hldGhlciBzdHJpcHBpbmcg
bGlicmFyaWVzIGlzIHBvc3NpYmxlLi4uIHllcwpjaGVja2luZyBpZiBsaWJ0
b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5n
IHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxpYnJhcmllcy4uLiBubwpjaGVj
a2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRpYyBsaWJyYXJpZXMuLi4geWVz
CmNoZWNraW5nIGZvciBjb3MgaW4gLWxtLi4uIHllcwpjb25maWd1cmU6IGNy
ZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25maWcuc3RhdHVzOiBjcmVhdGlu
ZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBleGVjdXRpbmcgZGVwZmlsZXMg
Y29tbWFuZHMKY29uZmlnLnN0YXR1czogZXhlY3V0aW5nIGxpYnRvb2wgY29t
bWFuZHMKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQu
Mi90ZXN0cy93aXRoLXBpYy5hdDozNDogJE1BS0UKc3RkZXJyOgpzdGRvdXQ6
Ci9iaW4vc2ggLi9saWJ0b29sIC0tdGFnPUNDICAgLS1tb2RlPWNvbXBpbGUg
Z2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9UQVJOQU1F
PVwiZGVtb1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdF
X1NUUklORz1cImRlbW9cIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJi
dWctbGlidG9vbEBnbnUub3JnXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFD
S0FHRT1cImRlbW9cIiAtRFZFUlNJT049XCIxLjBcIiAtRFNURENfSEVBREVS
Uz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNfU1RBVF9IPTEg
LURIQVZFX1NURExJQl9IPTEgLURIQVZFX1NUUklOR19IPTEgLURIQVZFX01F
TU9SWV9IPTEgLURIQVZFX1NUUklOR1NfSD0xIC1ESEFWRV9JTlRUWVBFU19I
PTEgLURIQVZFX1NURElOVF9IPTEgLURIQVZFX1VOSVNURF9IPTEgLURMVF9P
QkpESVI9XCIubGlicy9cIiAtSS4gLUkvTWluR1cvc2hhcmUvYXV0b21ha2Ut
MS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8gIC1JL01pbkdXL3NoYXJl
L2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vLy4uLy4u
ICAgLWcgLU8yIC1jIC1vIGhlbGxvLmxvIC9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby9oZWxsby5jCmxpYnRv
b2w6IGNvbXBpbGU6ICBnY2MgLURQQUNLQUdFX05BTUU9XCJkZW1vXCIgLURQ
QUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZFUlNJT049XCIx
LjBcIiAiLURQQUNLQUdFX1NUUklORz1cImRlbW8gMS4wXCIiIC1EUEFDS0FH
RV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBnbnUub3JnXCIgLURQQUNLQUdF
X1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9cIiAtRFZFUlNJT049XCIxLjBc
IiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1ESEFW
RV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJQl9IPTEgLURIQVZFX1NUUklO
R19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURIQVZFX1NUUklOR1NfSD0xIC1E
SEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NURElOVF9IPTEgLURIQVZFX1VO
SVNURF9IPTEgLURMVF9PQkpESVI9XCIubGlicy9cIiAtSS4gLUkvTWluR1cv
c2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8g
LUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rl
c3RzL2RlbW8vLi4vLi4gLWcgLU8yIC1jIC9NaW5HVy9zaGFyZS9hdXRvbWFr
ZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby9oZWxsby5jIC1vIGhl
bGxvLm8KL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0MgICAtLW1vZGU9Y29t
cGlsZSBnY2MgLURQQUNLQUdFX05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RB
Uk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBB
Q0tBR0VfU1RSSU5HPVwiZGVtb1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9S
VD1cImJ1Zy1saWJ0b29sQGdudS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiXCIg
LURQQUNLQUdFPVwiZGVtb1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1EU1REQ19I
RUFERVJTPTEgLURIQVZFX1NZU19UWVBFU19IPTEgLURIQVZFX1NZU19TVEFU
X0g9MSAtREhBVkVfU1RETElCX0g9MSAtREhBVkVfU1RSSU5HX0g9MSAtREhB
VkVfTUVNT1JZX0g9MSAtREhBVkVfU1RSSU5HU19IPTEgLURIQVZFX0lOVFRZ
UEVTX0g9MSAtREhBVkVfU1RESU5UX0g9MSAtREhBVkVfVU5JU1REX0g9MSAt
RExUX09CSkRJUj1cIi5saWJzL1wiIC1JLiAtSS9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtbyAgLUkvTWluR1cv
c2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8v
Li4vLi4gICAtZyAtTzIgLWMgLW8gZm9vLmxvIC9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby9mb28uYwpsaWJ0
b29sOiBjb21waWxlOiAgZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVtb1wiIC1E
UEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwi
MS4wXCIgIi1EUEFDS0FHRV9TVFJJTkc9XCJkZW1vIDEuMFwiIiAtRFBBQ0tB
R0VfQlVHUkVQT1JUPVwiYnVnLWxpYnRvb2xAZ251Lm9yZ1wiIC1EUEFDS0FH
RV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZW1vXCIgLURWRVJTSU9OPVwiMS4w
XCIgLURTVERDX0hFQURFUlM9MSAtREhBVkVfU1lTX1RZUEVTX0g9MSAtREhB
VkVfU1lTX1NUQVRfSD0xIC1ESEFWRV9TVERMSUJfSD0xIC1ESEFWRV9TVFJJ
TkdfSD0xIC1ESEFWRV9NRU1PUllfSD0xIC1ESEFWRV9TVFJJTkdTX0g9MSAt
REhBVkVfSU5UVFlQRVNfSD0xIC1ESEFWRV9TVERJTlRfSD0xIC1ESEFWRV9V
TklTVERfSD0xIC1ETFRfT0JKRElSPVwiLmxpYnMvXCIgLUkuIC1JL01pbkdX
L3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1v
IC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy9kZW1vLy4uLy4uIC1nIC1PMiAtYyAvTWluR1cvc2hhcmUvYXV0b21h
a2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vZm9vLmMgLW8gZm9v
Lm8KL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0MgICAtLW1vZGU9bGluayBn
Y2MgIC1nIC1PMiAtbm8tdW5kZWZpbmVkIC12ZXJzaW9uLWluZm8gMzoxMjox
ICAtbyBsaWJoZWxsby5sYSAtcnBhdGggL25vbmV4aXN0ZW50L2xpYiBoZWxs
by5sbyBmb28ubG8gLWxtIApsaWJ0b29sOiBsaW5rOiBhciBjcnUgLmxpYnMv
bGliaGVsbG8uYSAgaGVsbG8ubyBmb28ubwpsaWJ0b29sOiBsaW5rOiByYW5s
aWIgLmxpYnMvbGliaGVsbG8uYQpsaWJ0b29sOiBsaW5rOiAoIGNkICIubGli
cyIgJiYgcm0gLWYgImxpYmhlbGxvLmxhIiAmJiBjcCAtcCAiLi4vbGliaGVs
bG8ubGEiICJsaWJoZWxsby5sYSIgKQpnY2MgLURQQUNLQUdFX05BTUU9XCJk
ZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZF
UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVtb1wgMS4wXCIg
LURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdudS5vcmdcIiAt
RFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wiIC1EVkVSU0lP
Tj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZU19UWVBFU19I
PTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElCX0g9MSAtREhB
VkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhBVkVfU1RSSU5H
U19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RESU5UX0g9MSAt
REhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJzL1wiIC1JLiAt
SS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvZGVtbyAgLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gICAtZyAtTzIgLWMgL01pbkdXL3No
YXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vL21h
aW4uYwovYmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1saW5r
IGdjYyAgLWcgLU8yICAgLW8gaGVsbC5leGUgbWFpbi5vIGxpYmhlbGxvLmxh
IApsaWJ0b29sOiBsaW5rOiBnY2MgLWcgLU8yIC1vIGhlbGwuZXhlIG1haW4u
byAgLi8ubGlicy9saWJoZWxsby5hCi9iaW4vc2ggLi9saWJ0b29sIC0tdGFn
PUNDICAgLS1tb2RlPWxpbmsgZ2NjICAtZyAtTzIgLXN0YXRpYyAgLW8gaGVs
bF9zdGF0aWMuZXhlIG1haW4ubyBsaWJoZWxsby5sYSAKbGlidG9vbDogbGlu
azogZ2NjIC1nIC1PMiAtbyBoZWxsX3N0YXRpYy5leGUgbWFpbi5vICAuLy5s
aWJzL2xpYmhlbGxvLmEKZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVtb1wiIC1E
UEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9WRVJTSU9OPVwi
MS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlbW9cIDEuMFwiIC1EUEFDS0FH
RV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBnbnUub3JnXCIgLURQQUNLQUdF
X1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9cIiAtRFZFUlNJT049XCIxLjBc
IiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1ESEFW
RV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJQl9IPTEgLURIQVZFX1NUUklO
R19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURIQVZFX1NUUklOR1NfSD0xIC1E
SEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NURElOVF9IPTEgLURIQVZFX1VO
SVNURF9IPTEgLURMVF9PQkpESVI9XCIubGlicy9cIiAtSS4gLUkvTWluR1cv
c2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8g
IC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy9kZW1vLy4uLy4uICAgLWcgLU8yIC1jIC9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby9kbG1haW4uYwov
YmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAgIC0tbW9kZT1saW5rIGdjYyAg
LWcgLU8yIC1leHBvcnQtZHluYW1pYyAtZGxwcmVvcGVuIGxpYmhlbGxvLmxh
ICAtbyBoZWxsZGwuZXhlIGRsbWFpbi5vICAKbGlidG9vbDogbGluazogcm0g
LWYgLmxpYnMvaGVsbGRsLmV4ZS5ubSAubGlicy9oZWxsZGwuZXhlLm5tUyAu
bGlicy9oZWxsZGwuZXhlLm5tVApsaWJ0b29sOiBsaW5rOiAoY2QgLmxpYnMg
JiYgZ2NjIC1nIC1PMiAtYyAtZm5vLWJ1aWx0aW4gImhlbGxkbC5leGVTLmMi
KQpsaWJ0b29sOiBsaW5rOiBybSAtZiAiLmxpYnMvaGVsbGRsLmV4ZVMuYyIg
Ii5saWJzL2hlbGxkbC5leGUubm0iICIubGlicy9oZWxsZGwuZXhlLm5tUyIg
Ii5saWJzL2hlbGxkbC5leGUubm1UIgpsaWJ0b29sOiBsaW5rOiBnY2MgLWcg
LU8yIC5saWJzL2hlbGxkbC5leGVTLm8gLW8gaGVsbGRsLmV4ZSBkbG1haW4u
byAtV2wsLS1leHBvcnQtYWxsLXN5bWJvbHMgIC4vLmxpYnMvbGliaGVsbG8u
YQpsaWJ0b29sOiBsaW5rOiBybSAtZiAiLmxpYnMvaGVsbGRsLmV4ZVMubyIK
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0
cy93aXRoLXBpYy5hdDozNTogJEZHUkVQIC12ICIkcGljX2ZsYWciIHN0ZG91
dApzdGRlcnI6CnN0ZG91dDoKL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9Q0Mg
ICAtLW1vZGU9Y29tcGlsZSBnY2MgLURQQUNLQUdFX05BTUU9XCJkZW1vXCIg
LURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZFUlNJT049
XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVtb1wgMS4wXCIgLURQQUNL
QUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdudS5vcmdcIiAtRFBBQ0tB
R0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wiIC1EVkVSU0lPTj1cIjEu
MFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZU19UWVBFU19IPTEgLURI
QVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElCX0g9MSAtREhBVkVfU1RS
SU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhBVkVfU1RSSU5HU19IPTEg
LURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RESU5UX0g9MSAtREhBVkVf
VU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJzL1wiIC1JLiAtSS9NaW5H
Vy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVt
byAgLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4y
L3Rlc3RzL2RlbW8vLi4vLi4gICAtZyAtTzIgLWMgLW8gaGVsbG8ubG8gL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9k
ZW1vL2hlbGxvLmMKbGlidG9vbDogY29tcGlsZTogIGdjYyAtRFBBQ0tBR0Vf
TkFNRT1cImRlbW9cIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlbW9cIiAtRFBB
Q0tBR0VfVkVSU0lPTj1cIjEuMFwiICItRFBBQ0tBR0VfU1RSSU5HPVwiZGVt
byAxLjBcIiIgLURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdu
dS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wi
IC1EVkVSU0lPTj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZ
U19UWVBFU19IPTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElC
X0g9MSAtREhBVkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhB
VkVfU1RSSU5HU19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RE
SU5UX0g9MSAtREhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJz
L1wiIC1JLiAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMvZGVtbyAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjEx
L2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby8uLi8uLiAtZyAtTzIgLWMgL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy9k
ZW1vL2hlbGxvLmMgLW8gaGVsbG8ubwovYmluL3NoIC4vbGlidG9vbCAtLXRh
Zz1DQyAgIC0tbW9kZT1jb21waWxlIGdjYyAtRFBBQ0tBR0VfTkFNRT1cImRl
bW9cIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRlbW9cIiAtRFBBQ0tBR0VfVkVS
U0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJTkc9XCJkZW1vXCAxLjBcIiAt
RFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWxpYnRvb2xAZ251Lm9yZ1wiIC1E
UEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZW1vXCIgLURWRVJTSU9O
PVwiMS4wXCIgLURTVERDX0hFQURFUlM9MSAtREhBVkVfU1lTX1RZUEVTX0g9
MSAtREhBVkVfU1lTX1NUQVRfSD0xIC1ESEFWRV9TVERMSUJfSD0xIC1ESEFW
RV9TVFJJTkdfSD0xIC1ESEFWRV9NRU1PUllfSD0xIC1ESEFWRV9TVFJJTkdT
X0g9MSAtREhBVkVfSU5UVFlQRVNfSD0xIC1ESEFWRV9TVERJTlRfSD0xIC1E
SEFWRV9VTklTVERfSD0xIC1ETFRfT0JKRElSPVwiLmxpYnMvXCIgLUkuIC1J
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0
cy9kZW1vICAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMvZGVtby8uLi8uLiAgIC1nIC1PMiAtYyAtbyBmb28ubG8g
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0
cy9kZW1vL2Zvby5jCmxpYnRvb2w6IGNvbXBpbGU6ICBnY2MgLURQQUNLQUdF
X05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQ
QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAiLURQQUNLQUdFX1NUUklORz1cImRl
bW8gMS4wXCIiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBn
bnUub3JnXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9c
IiAtRFZFUlNJT049XCIxLjBcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9T
WVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJ
Ql9IPTEgLURIQVZFX1NUUklOR19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURI
QVZFX1NUUklOR1NfSD0xIC1ESEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NU
RElOVF9IPTEgLURIQVZFX1VOSVNURF9IPTEgLURMVF9PQkpESVI9XCIubGli
cy9cIiAtSS4gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4x
MS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gLWcgLU8yIC1jIC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
ZGVtby9mb28uYyAtbyBmb28ubwovYmluL3NoIC4vbGlidG9vbCAtLXRhZz1D
QyAgIC0tbW9kZT1saW5rIGdjYyAgLWcgLU8yIC1uby11bmRlZmluZWQgLXZl
cnNpb24taW5mbyAzOjEyOjEgIC1vIGxpYmhlbGxvLmxhIC1ycGF0aCAvbm9u
ZXhpc3RlbnQvbGliIGhlbGxvLmxvIGZvby5sbyAtbG0gCmxpYnRvb2w6IGxp
bms6IGFyIGNydSAubGlicy9saWJoZWxsby5hICBoZWxsby5vIGZvby5vCmxp
YnRvb2w6IGxpbms6IHJhbmxpYiAubGlicy9saWJoZWxsby5hCmxpYnRvb2w6
IGxpbms6ICggY2QgIi5saWJzIiAmJiBybSAtZiAibGliaGVsbG8ubGEiICYm
IGNwIC1wICIuLi9saWJoZWxsby5sYSIgImxpYmhlbGxvLmxhIiApCmdjYyAt
RFBBQ0tBR0VfTkFNRT1cImRlbW9cIiAtRFBBQ0tBR0VfVEFSTkFNRT1cImRl
bW9cIiAtRFBBQ0tBR0VfVkVSU0lPTj1cIjEuMFwiIC1EUEFDS0FHRV9TVFJJ
Tkc9XCJkZW1vXCAxLjBcIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWxp
YnRvb2xAZ251Lm9yZ1wiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9
XCJkZW1vXCIgLURWRVJTSU9OPVwiMS4wXCIgLURTVERDX0hFQURFUlM9MSAt
REhBVkVfU1lTX1RZUEVTX0g9MSAtREhBVkVfU1lTX1NUQVRfSD0xIC1ESEFW
RV9TVERMSUJfSD0xIC1ESEFWRV9TVFJJTkdfSD0xIC1ESEFWRV9NRU1PUllf
SD0xIC1ESEFWRV9TVFJJTkdTX0g9MSAtREhBVkVfSU5UVFlQRVNfSD0xIC1E
SEFWRV9TVERJTlRfSD0xIC1ESEFWRV9VTklTVERfSD0xIC1ETFRfT0JKRElS
PVwiLmxpYnMvXCIgLUkuIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEv
bGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vICAtSS9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtby8uLi8uLiAgIC1n
IC1PMiAtYyAvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIu
NC4yL3Rlc3RzL2RlbW8vbWFpbi5jCi9iaW4vc2ggLi9saWJ0b29sIC0tdGFn
PUNDICAgLS1tb2RlPWxpbmsgZ2NjICAtZyAtTzIgICAtbyBoZWxsLmV4ZSBt
YWluLm8gbGliaGVsbG8ubGEgCmxpYnRvb2w6IGxpbms6IGdjYyAtZyAtTzIg
LW8gaGVsbC5leGUgbWFpbi5vICAuLy5saWJzL2xpYmhlbGxvLmEKL2Jpbi9z
aCAuL2xpYnRvb2wgLS10YWc9Q0MgICAtLW1vZGU9bGluayBnY2MgIC1nIC1P
MiAtc3RhdGljICAtbyBoZWxsX3N0YXRpYy5leGUgbWFpbi5vIGxpYmhlbGxv
LmxhIApsaWJ0b29sOiBsaW5rOiBnY2MgLWcgLU8yIC1vIGhlbGxfc3RhdGlj
LmV4ZSBtYWluLm8gIC4vLmxpYnMvbGliaGVsbG8uYQpnY2MgLURQQUNLQUdF
X05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQ
QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVt
b1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdu
dS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wi
IC1EVkVSU0lPTj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZ
U19UWVBFU19IPTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElC
X0g9MSAtREhBVkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhB
VkVfU1RSSU5HU19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RE
SU5UX0g9MSAtREhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJz
L1wiIC1JLiAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMvZGVtbyAgLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4x
MS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gICAtZyAtTzIgLWMg
L01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0
cy9kZW1vL2RsbWFpbi5jCi9iaW4vc2ggLi9saWJ0b29sIC0tdGFnPUNDICAg
LS1tb2RlPWxpbmsgZ2NjICAtZyAtTzIgLWV4cG9ydC1keW5hbWljIC1kbHBy
ZW9wZW4gbGliaGVsbG8ubGEgIC1vIGhlbGxkbC5leGUgZGxtYWluLm8gIAps
aWJ0b29sOiBsaW5rOiBybSAtZiAubGlicy9oZWxsZGwuZXhlLm5tIC5saWJz
L2hlbGxkbC5leGUubm1TIC5saWJzL2hlbGxkbC5leGUubm1UCmxpYnRvb2w6
IGxpbms6IChjZCAubGlicyAmJiBnY2MgLWcgLU8yIC1jIC1mbm8tYnVpbHRp
biAiaGVsbGRsLmV4ZVMuYyIpCmxpYnRvb2w6IGxpbms6IHJtIC1mICIubGli
cy9oZWxsZGwuZXhlUy5jIiAiLmxpYnMvaGVsbGRsLmV4ZS5ubSIgIi5saWJz
L2hlbGxkbC5leGUubm1TIiAiLmxpYnMvaGVsbGRsLmV4ZS5ubVQiCmxpYnRv
b2w6IGxpbms6IGdjYyAtZyAtTzIgLmxpYnMvaGVsbGRsLmV4ZVMubyAtbyBo
ZWxsZGwuZXhlIGRsbWFpbi5vIC1XbCwtLWV4cG9ydC1hbGwtc3ltYm9scyAg
Li8ubGlicy9saWJoZWxsby5hCmxpYnRvb2w6IGxpbms6IHJtIC1mICIubGli
cy9oZWxsZGwuZXhlUy5vIgogcm0gLWYgaGVsbC5leGUgaGVsbF9zdGF0aWMu
ZXhlIGhlbGxkbC5leGUKIHJtIC1mIGhlbGwgaGVsbF9zdGF0aWMgaGVsbGRs
CnRlc3QgLXogImhjLWRpcmVjdCBoYy1saWJmbGFnIGhjLWxpYnBhdGggaGMt
bWludXNMIGxpYmhlbGwwLmEgbGliaGVsbDEubGEgbGliaGVsbDIubGEgaGVs
bDAuZXhlIGhlbGwwIiB8fCBybSAtZiBoYy1kaXJlY3QgaGMtbGliZmxhZyBo
Yy1saWJwYXRoIGhjLW1pbnVzTCBsaWJoZWxsMC5hIGxpYmhlbGwxLmxhIGxp
YmhlbGwyLmxhIGhlbGwwLmV4ZSBoZWxsMAp0ZXN0IC16ICJsaWJoZWxsby5s
YSIgfHwgcm0gLWYgbGliaGVsbG8ubGEKcm0gLWYgIi4vc29fbG9jYXRpb25z
IgpybSAtcmYgLmxpYnMgX2xpYnMKcm0gLWYgKi5vCnJtIC1mICoubG8KL01p
bkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy93
aXRoLXBpYy5hdDozODogOiAke0NPTkZJR19TSEVMTD0vYmluL3NofTsgZXhw
b3J0IENPTkZJR19TSEVMTDsgCSAgJENPTkZJR19TSEVMTCAkQ09ORklHVVJF
ICRjb25maWd1cmVfb3B0aW9ucyAtLWRpc2FibGUtc2hhcmVkIC0td2l0aC1w
aWM9eWVzCnN0ZGVycjoKc3Rkb3V0OgpjaGVja2luZyBmb3IgYSBCU0QtY29t
cGF0aWJsZSBpbnN0YWxsLi4uIC9iaW4vaW5zdGFsbCAtYwpjaGVja2luZyB3
aGV0aGVyIGJ1aWxkIGVudmlyb25tZW50IGlzIHNhbmUuLi4geWVzCmNoZWNr
aW5nIGZvciBhIHRocmVhZC1zYWZlIG1rZGlyIC1wLi4uIC9iaW4vbWtkaXIg
LXAKY2hlY2tpbmcgZm9yIGdhd2suLi4gZ2F3awpjaGVja2luZyB3aGV0aGVy
IG1ha2Ugc2V0cyAkKE1BS0UpLi4uIHllcwpjaGVja2luZyBmb3IgZ2NjLi4u
IGdjYwpjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVyIHdvcmtzLi4u
IHllcwpjaGVja2luZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dCBm
aWxlIG5hbWUuLi4gYS5leGUKY2hlY2tpbmcgZm9yIHN1ZmZpeCBvZiBleGVj
dXRhYmxlcy4uLiAuZXhlCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIGNyb3Nz
IGNvbXBpbGluZy4uLiBubwpjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVj
dCBmaWxlcy4uLiBvCmNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRo
ZSBHTlUgQyBjb21waWxlci4uLiB5ZXMKY2hlY2tpbmcgd2hldGhlciBnY2Mg
YWNjZXB0cyAtZy4uLiB5ZXMKY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8g
YWNjZXB0IElTTyBDODkuLi4gbm9uZSBuZWVkZWQKY2hlY2tpbmcgZm9yIHN0
eWxlIG9mIGluY2x1ZGUgdXNlZCBieSBtYWtlLi4uIEdOVQpjaGVja2luZyBk
ZXBlbmRlbmN5IHN0eWxlIG9mIGdjYy4uLiBnY2MzCmNoZWNraW5nIGJ1aWxk
IHN5c3RlbSB0eXBlLi4uIGk2ODYtcGMtbWluZ3czMgpjaGVja2luZyBob3N0
IHN5c3RlbSB0eXBlLi4uIGk2ODYtcGMtbWluZ3czMgpjaGVja2luZyBob3cg
dG8gcHJpbnQgc3RyaW5ncy4uLiBwcmludGYKY2hlY2tpbmcgZm9yIGEgc2Vk
IHRoYXQgZG9lcyBub3QgdHJ1bmNhdGUgb3V0cHV0Li4uIC9iaW4vc2VkCmNo
ZWNraW5nIGZvciBncmVwIHRoYXQgaGFuZGxlcyBsb25nIGxpbmVzIGFuZCAt
ZS4uLiAvYmluL2dyZXAKY2hlY2tpbmcgZm9yIGVncmVwLi4uIC9iaW4vZ3Jl
cCAtRQpjaGVja2luZyBmb3IgZmdyZXAuLi4gL2Jpbi9ncmVwIC1GCmNoZWNr
aW5nIGZvciBsZCB1c2VkIGJ5IGdjYy4uLiBjOi90aW5ndy9taW5ndzMyL2Jp
bi9sZC5leGUKY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoYzovdGluZ3cvbWlu
Z3czMi9iaW4vbGQuZXhlKSBpcyBHTlUgbGQuLi4geWVzCmNoZWNraW5nIGZv
ciBCU0QtIG9yIE1TLWNvbXBhdGlibGUgbmFtZSBsaXN0ZXIgKG5tKS4uLiAv
YmluL25tIC1CCmNoZWNraW5nIHRoZSBuYW1lIGxpc3RlciAoL2Jpbi9ubSAt
QikgaW50ZXJmYWNlLi4uIEJTRCBubQpjaGVja2luZyB3aGV0aGVyIGxuIC1z
IHdvcmtzLi4uIG5vLCB1c2luZyBjcCAtcApjaGVja2luZyB0aGUgbWF4aW11
bSBsZW5ndGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cy4uLiA4MTkyCmNo
ZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxsIHVuZGVyc3RhbmRzIHNvbWUgWFNJ
IGNvbnN0cnVjdHMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdGhlIHNoZWxs
IHVuZGVyc3RhbmRzICIrPSIuLi4geWVzCmNoZWNraW5nIGhvdyB0byBjb252
ZXJ0IGk2ODYtcGMtbWluZ3czMiBmaWxlIG5hbWVzIHRvIGk2ODYtcGMtbWlu
Z3czMiBmb3JtYXQuLi4gKGNhY2hlZCkgZnVuY19jb252ZXJ0X2ZpbGVfbXN5
c190b193MzIKY2hlY2tpbmcgaG93IHRvIGNvbnZlcnQgaTY4Ni1wYy1taW5n
dzMyIGZpbGUgbmFtZXMgdG8gdG9vbGNoYWluIGZvcm1hdC4uLiAoY2FjaGVk
KSBmdW5jX2NvbnZlcnRfZmlsZV9tc3lzX3RvX3czMgpjaGVja2luZyBmb3Ig
YzovdGluZ3cvbWluZ3czMi9iaW4vbGQuZXhlIG9wdGlvbiB0byByZWxvYWQg
b2JqZWN0IGZpbGVzLi4uIC1yCmNoZWNraW5nIGZvciBvYmpkdW1wLi4uIG9i
amR1bXAKY2hlY2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGli
cmFyaWVzLi4uIGZpbGVfbWFnaWMgXng4NiBhcmNoaXZlIGltcG9ydHxeeDg2
IERMTApjaGVja2luZyBmb3IgZGxsdG9vbC4uLiBkbGx0b29sCmNoZWNraW5n
IGhvdyB0byBhc3NvY2lhdGUgcnVudGltZSBhbmQgbGluayBsaWJyYXJpZXMu
Li4gZnVuY19jeWdtaW5nX2RsbF9mb3JfaW1wbGliCmNoZWNraW5nIGZvciBh
cmNoaXZlciBARklMRSBzdXBwb3J0Li4uIEAKY2hlY2tpbmcgZm9yIHN0cmlw
Li4uIHN0cmlwCmNoZWNraW5nIGZvciByYW5saWIuLi4gcmFubGliCmNoZWNr
aW5nIGNvbW1hbmQgdG8gcGFyc2UgL2Jpbi9ubSAtQiBvdXRwdXQgZnJvbSBn
Y2Mgb2JqZWN0Li4uIG9rCmNoZWNraW5nIGZvciBzeXNyb290Li4uIG5vCmNo
ZWNraW5nIGZvciBtdC4uLiA6CmNoZWNraW5nIGlmIDogaXMgYSBtYW5pZmVz
dCB0b29sLi4uIG5vCmNoZWNraW5nIGhvdyB0byBydW4gdGhlIEMgcHJlcHJv
Y2Vzc29yLi4uIGdjYyAtRQpjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRlciBm
aWxlcy4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN5cy90eXBlcy5oLi4uIHllcwpj
aGVja2luZyBmb3Igc3lzL3N0YXQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0
ZGxpYi5oLi4uIHllcwpjaGVja2luZyBmb3Igc3RyaW5nLmguLi4geWVzCmNo
ZWNraW5nIGZvciBtZW1vcnkuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHN0cmlu
Z3MuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIGludHR5cGVzLmguLi4geWVzCmNo
ZWNraW5nIGZvciBzdGRpbnQuaC4uLiB5ZXMKY2hlY2tpbmcgZm9yIHVuaXN0
ZC5oLi4uIHllcwpjaGVja2luZyBmb3IgZGxmY24uaC4uLiBubwpjaGVja2lu
ZyBmb3IgYXMuLi4gYXMKY2hlY2tpbmcgZm9yIGRsbHRvb2wuLi4gKGNhY2hl
ZCkgZGxsdG9vbApjaGVja2luZyBmb3Igb2JqZHVtcC4uLiAoY2FjaGVkKSBv
YmpkdW1wCmNoZWNraW5nIGZvciBvYmpkaXIuLi4gLmxpYnMKY2hlY2tpbmcg
aWYgZ2NjIHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMuLi4g
bm8KY2hlY2tpbmcgZm9yIGdjYyBvcHRpb24gdG8gcHJvZHVjZSBQSUMuLi4g
LURETExfRVhQT1JUIC1EUElDCmNoZWNraW5nIGlmIGdjYyBQSUMgZmxhZyAt
RERMTF9FWFBPUlQgLURQSUMgd29ya3MuLi4geWVzCmNoZWNraW5nIGlmIGdj
YyBzdGF0aWMgZmxhZyAtc3RhdGljIHdvcmtzLi4uIHllcwpjaGVja2luZyBp
ZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vLi4uIHllcwpjaGVja2luZyBp
ZiBnY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vLi4uIChjYWNoZWQpIHllcwpj
aGVja2luZyB3aGV0aGVyIHRoZSBnY2MgbGlua2VyIChjOi90aW5ndy9taW5n
dzMyL2Jpbi9sZC5leGUpIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJpZXMuLi4g
eWVzCmNoZWNraW5nIGR5bmFtaWMgbGlua2VyIGNoYXJhY3RlcmlzdGljcy4u
LiBXaW4zMiBsZC5leGUKY2hlY2tpbmcgaG93IHRvIGhhcmRjb2RlIGxpYnJh
cnkgcGF0aHMgaW50byBwcm9ncmFtcy4uLiBpbW1lZGlhdGUKY2hlY2tpbmcg
d2hldGhlciBzdHJpcHBpbmcgbGlicmFyaWVzIGlzIHBvc3NpYmxlLi4uIHll
cwpjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBvcnRzIHNoYXJlZCBsaWJyYXJp
ZXMuLi4geWVzCmNoZWNraW5nIHdoZXRoZXIgdG8gYnVpbGQgc2hhcmVkIGxp
YnJhcmllcy4uLiBubwpjaGVja2luZyB3aGV0aGVyIHRvIGJ1aWxkIHN0YXRp
YyBsaWJyYXJpZXMuLi4geWVzCmNoZWNraW5nIGZvciBjb3MgaW4gLWxtLi4u
IHllcwpjb25maWd1cmU6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwpjb25m
aWcuc3RhdHVzOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcuc3RhdHVzOiBl
eGVjdXRpbmcgZGVwZmlsZXMgY29tbWFuZHMKY29uZmlnLnN0YXR1czogZXhl
Y3V0aW5nIGxpYnRvb2wgY29tbWFuZHMKL01pbkdXL3NoYXJlL2F1dG9tYWtl
LTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy93aXRoLXBpYy5hdDozOTogJE1B
S0UKc3RkZXJyOgpzdGRvdXQ6Ci9iaW4vc2ggLi9saWJ0b29sIC0tdGFnPUND
ICAgLS1tb2RlPWNvbXBpbGUgZ2NjIC1EUEFDS0FHRV9OQU1FPVwiZGVtb1wi
IC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9WRVJTSU9O
PVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRlbW9cIDEuMFwiIC1EUEFD
S0FHRV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBnbnUub3JnXCIgLURQQUNL
QUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9cIiAtRFZFUlNJT049XCIx
LjBcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9TWVNfVFlQRVNfSD0xIC1E
SEFWRV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJQl9IPTEgLURIQVZFX1NU
UklOR19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURIQVZFX1NUUklOR1NfSD0x
IC1ESEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NURElOVF9IPTEgLURIQVZF
X1VOSVNURF9IPTEgLURMVF9PQkpESVI9XCIubGlicy9cIiAtSS4gLUkvTWlu
R1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2Rl
bW8gIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQu
Mi90ZXN0cy9kZW1vLy4uLy4uICAgLWcgLU8yIC1jIC1vIGhlbGxvLmxvIC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
ZGVtby9oZWxsby5jCmxpYnRvb2w6IGNvbXBpbGU6ICBnY2MgLURQQUNLQUdF
X05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQ
QUNLQUdFX1ZFUlNJT049XCIxLjBcIiAiLURQQUNLQUdFX1NUUklORz1cImRl
bW8gMS4wXCIiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBn
bnUub3JnXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9c
IiAtRFZFUlNJT049XCIxLjBcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9T
WVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJ
Ql9IPTEgLURIQVZFX1NUUklOR19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURI
QVZFX1NUUklOR1NfSD0xIC1ESEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NU
RElOVF9IPTEgLURIQVZFX1VOSVNURF9IPTEgLURMVF9PQkpESVI9XCIubGli
cy9cIiAtSS4gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4x
MS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gLWcgLU8yIC1jIC9N
aW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMv
ZGVtby9oZWxsby5jIC1vIGhlbGxvLm8KL2Jpbi9zaCAuL2xpYnRvb2wgLS10
YWc9Q0MgICAtLW1vZGU9Y29tcGlsZSBnY2MgLURQQUNLQUdFX05BTUU9XCJk
ZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1ZF
UlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RSSU5HPVwiZGVtb1wgMS4wXCIg
LURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1saWJ0b29sQGdudS5vcmdcIiAt
RFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdFPVwiZGVtb1wiIC1EVkVSU0lP
Tj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEgLURIQVZFX1NZU19UWVBFU19I
PTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhBVkVfU1RETElCX0g9MSAtREhB
VkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZX0g9MSAtREhBVkVfU1RSSU5H
U19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAtREhBVkVfU1RESU5UX0g9MSAt
REhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJUj1cIi5saWJzL1wiIC1JLiAt
SS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvZGVtbyAgLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gICAtZyAtTzIgLWMgLW8gZm9vLmxv
IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvZGVtby9mb28uYwpsaWJ0b29sOiBjb21waWxlOiAgZ2NjIC1EUEFDS0FH
RV9OQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1E
UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgIi1EUEFDS0FHRV9TVFJJTkc9XCJk
ZW1vIDEuMFwiIiAtRFBBQ0tBR0VfQlVHUkVQT1JUPVwiYnVnLWxpYnRvb2xA
Z251Lm9yZ1wiIC1EUEFDS0FHRV9VUkw9XCJcIiAtRFBBQ0tBR0U9XCJkZW1v
XCIgLURWRVJTSU9OPVwiMS4wXCIgLURTVERDX0hFQURFUlM9MSAtREhBVkVf
U1lTX1RZUEVTX0g9MSAtREhBVkVfU1lTX1NUQVRfSD0xIC1ESEFWRV9TVERM
SUJfSD0xIC1ESEFWRV9TVFJJTkdfSD0xIC1ESEFWRV9NRU1PUllfSD0xIC1E
SEFWRV9TVFJJTkdTX0g9MSAtREhBVkVfSU5UVFlQRVNfSD0xIC1ESEFWRV9T
VERJTlRfSD0xIC1ESEFWRV9VTklTVERfSD0xIC1ETFRfT0JKRElSPVwiLmxp
YnMvXCIgLUkuIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9v
bC0yLjQuMi90ZXN0cy9kZW1vIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEu
MTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vLy4uLy4uIC1nIC1PMiAtYyAv
TWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3Rz
L2RlbW8vZm9vLmMgLW8gZm9vLm8KL2Jpbi9zaCAuL2xpYnRvb2wgLS10YWc9
Q0MgICAtLW1vZGU9bGluayBnY2MgIC1nIC1PMiAtbm8tdW5kZWZpbmVkIC12
ZXJzaW9uLWluZm8gMzoxMjoxICAtbyBsaWJoZWxsby5sYSAtcnBhdGggL25v
bmV4aXN0ZW50L2xpYiBoZWxsby5sbyBmb28ubG8gLWxtIApsaWJ0b29sOiBs
aW5rOiBhciBjcnUgLmxpYnMvbGliaGVsbG8uYSAgaGVsbG8ubyBmb28ubwps
aWJ0b29sOiBsaW5rOiByYW5saWIgLmxpYnMvbGliaGVsbG8uYQpsaWJ0b29s
OiBsaW5rOiAoIGNkICIubGlicyIgJiYgcm0gLWYgImxpYmhlbGxvLmxhIiAm
JiBjcCAtcCAiLi4vbGliaGVsbG8ubGEiICJsaWJoZWxsby5sYSIgKQpnY2Mg
LURQQUNLQUdFX05BTUU9XCJkZW1vXCIgLURQQUNLQUdFX1RBUk5BTUU9XCJk
ZW1vXCIgLURQQUNLQUdFX1ZFUlNJT049XCIxLjBcIiAtRFBBQ0tBR0VfU1RS
SU5HPVwiZGVtb1wgMS4wXCIgLURQQUNLQUdFX0JVR1JFUE9SVD1cImJ1Zy1s
aWJ0b29sQGdudS5vcmdcIiAtRFBBQ0tBR0VfVVJMPVwiXCIgLURQQUNLQUdF
PVwiZGVtb1wiIC1EVkVSU0lPTj1cIjEuMFwiIC1EU1REQ19IRUFERVJTPTEg
LURIQVZFX1NZU19UWVBFU19IPTEgLURIQVZFX1NZU19TVEFUX0g9MSAtREhB
VkVfU1RETElCX0g9MSAtREhBVkVfU1RSSU5HX0g9MSAtREhBVkVfTUVNT1JZ
X0g9MSAtREhBVkVfU1RSSU5HU19IPTEgLURIQVZFX0lOVFRZUEVTX0g9MSAt
REhBVkVfU1RESU5UX0g9MSAtREhBVkVfVU5JU1REX0g9MSAtRExUX09CSkRJ
Uj1cIi5saWJzL1wiIC1JLiAtSS9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjEx
L2xpYnRvb2wtMi40LjIvdGVzdHMvZGVtbyAgLUkvTWluR1cvc2hhcmUvYXV0
b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yL3Rlc3RzL2RlbW8vLi4vLi4gICAt
ZyAtTzIgLWMgL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi90ZXN0cy9kZW1vL21haW4uYwovYmluL3NoIC4vbGlidG9vbCAtLXRh
Zz1DQyAgIC0tbW9kZT1saW5rIGdjYyAgLWcgLU8yICAgLW8gaGVsbC5leGUg
bWFpbi5vIGxpYmhlbGxvLmxhIApsaWJ0b29sOiBsaW5rOiBnY2MgLWcgLU8y
IC1vIGhlbGwuZXhlIG1haW4ubyAgLi8ubGlicy9saWJoZWxsby5hCi9iaW4v
c2ggLi9saWJ0b29sIC0tdGFnPUNDICAgLS1tb2RlPWxpbmsgZ2NjICAtZyAt
TzIgLXN0YXRpYyAgLW8gaGVsbF9zdGF0aWMuZXhlIG1haW4ubyBsaWJoZWxs
by5sYSAKbGlidG9vbDogbGluazogZ2NjIC1nIC1PMiAtbyBoZWxsX3N0YXRp
Yy5leGUgbWFpbi5vICAuLy5saWJzL2xpYmhlbGxvLmEKZ2NjIC1EUEFDS0FH
RV9OQU1FPVwiZGVtb1wiIC1EUEFDS0FHRV9UQVJOQU1FPVwiZGVtb1wiIC1E
UEFDS0FHRV9WRVJTSU9OPVwiMS4wXCIgLURQQUNLQUdFX1NUUklORz1cImRl
bW9cIDEuMFwiIC1EUEFDS0FHRV9CVUdSRVBPUlQ9XCJidWctbGlidG9vbEBn
bnUub3JnXCIgLURQQUNLQUdFX1VSTD1cIlwiIC1EUEFDS0FHRT1cImRlbW9c
IiAtRFZFUlNJT049XCIxLjBcIiAtRFNURENfSEVBREVSUz0xIC1ESEFWRV9T
WVNfVFlQRVNfSD0xIC1ESEFWRV9TWVNfU1RBVF9IPTEgLURIQVZFX1NURExJ
Ql9IPTEgLURIQVZFX1NUUklOR19IPTEgLURIQVZFX01FTU9SWV9IPTEgLURI
QVZFX1NUUklOR1NfSD0xIC1ESEFWRV9JTlRUWVBFU19IPTEgLURIQVZFX1NU
RElOVF9IPTEgLURIQVZFX1VOSVNURF9IPTEgLURMVF9PQkpESVI9XCIubGli
cy9cIiAtSS4gLUkvTWluR1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29s
LTIuNC4yL3Rlc3RzL2RlbW8gIC1JL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEu
MTEvbGlidG9vbC0yLjQuMi90ZXN0cy9kZW1vLy4uLy4uICAgLWcgLU8yIC1j
IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVz
dHMvZGVtby9kbG1haW4uYwovYmluL3NoIC4vbGlidG9vbCAtLXRhZz1DQyAg
IC0tbW9kZT1saW5rIGdjYyAgLWcgLU8yIC1leHBvcnQtZHluYW1pYyAtZGxw
cmVvcGVuIGxpYmhlbGxvLmxhICAtbyBoZWxsZGwuZXhlIGRsbWFpbi5vICAK
bGlidG9vbDogbGluazogcm0gLWYgLmxpYnMvaGVsbGRsLmV4ZS5ubSAubGli
cy9oZWxsZGwuZXhlLm5tUyAubGlicy9oZWxsZGwuZXhlLm5tVApsaWJ0b29s
OiBsaW5rOiAoY2QgLmxpYnMgJiYgZ2NjIC1nIC1PMiAtYyAtZm5vLWJ1aWx0
aW4gImhlbGxkbC5leGVTLmMiKQpsaWJ0b29sOiBsaW5rOiBybSAtZiAiLmxp
YnMvaGVsbGRsLmV4ZVMuYyIgIi5saWJzL2hlbGxkbC5leGUubm0iICIubGli
cy9oZWxsZGwuZXhlLm5tUyIgIi5saWJzL2hlbGxkbC5leGUubm1UIgpsaWJ0
b29sOiBsaW5rOiBnY2MgLWcgLU8yIC5saWJzL2hlbGxkbC5leGVTLm8gLW8g
aGVsbGRsLmV4ZSBkbG1haW4ubyAtV2wsLS1leHBvcnQtYWxsLXN5bWJvbHMg
IC4vLmxpYnMvbGliaGVsbG8uYQpsaWJ0b29sOiBsaW5rOiBybSAtZiAiLmxp
YnMvaGVsbGRsLmV4ZVMubyIKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEv
bGlidG9vbC0yLjQuMi90ZXN0cy93aXRoLXBpYy5hdDo0MDogJEZHUkVQICIk
cGljX2ZsYWciIHN0ZG91dApzdGRlcnI6CnN0ZG91dDoKL01pbkdXL3NoYXJl
L2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90ZXN0cy93aXRoLXBpYy5h
dDo0MDogZXhpdCBjb2RlIHdhcyAxLCBleHBlY3RlZCAwCjEwNy4gd2l0aC1w
aWMuYXQ6MjQ6IDEwNy4gdGVzdCAtLXdpdGgtcGljICh3aXRoLXBpYy5hdDoy
NCk6IEZBSUxFRCAod2l0aC1waWMuYXQ6NDApCg==

--_----------=_13840355941782731
Content-Disposition: attachment; filename="testsuite.log"
Content-Transfer-Encoding: base64
Content-Type: application/octet-stream; name="testsuite.log"

IyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIGNvbXBpbGF0aW9u
IC0qLQoxMTUuIGNtZGxpbmVfd3JhcC5hdDoyODogdGVzdGluZyBSdW4gdGVz
dHMgd2l0aCBsb3cgbWF4X2NtZF9sZW4gLi4uCi9NaW5HVy9zaGFyZS9hdXRv
bWFrZS0xLjExL2xpYnRvb2wtMi40LjIvdGVzdHMvY21kbGluZV93cmFwLmF0
OjQzOiAkQ09ORklHX1NIRUxMICRhYnNfc3JjZGlyL3Rlc3RzdWl0ZSAtayBs
aWJ0b29sJElOTkVSX1RFU1RTVUlURUZMQUdTCnN0ZGVycjoKRVJST1I6IDQw
IHRlc3RzIHdlcmUgcnVuLAo1IGZhaWxlZCAoNCBleHBlY3RlZCBmYWlsdXJl
cykuCjE1IHRlc3RzIHdlcmUgc2tpcHBlZC4Kc3Rkb3V0OgojIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIwojIyBHTlUgTGlidG9vbCAyLjQu
MiB0ZXN0IHN1aXRlLiAjIwojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIwoKVGVzdGluZyBsaWJ0b29sIGZ1bmN0aW9ucy4KCiAyMTogc3Rh
bmRhcmQgY29tbWFuZCBsaW5lIG9wdGlvbnMgICAgICAgICAgICAgICAgICAg
b2sKIDI0OiBkdXBsaWNhdGUgbWVtYmVycyBpbiBhcmNoaXZlIHRlc3RzICAg
ICAgICAgICAgICBvawogMjU6IGR1cGxpY2F0ZSBjb252ZW5pZW5jZSBhcmNo
aXZlIG5hbWVzICAgICAgICAgICAgIG9rCiAyNjogcHJlc2VydmUgZHVwbGlj
YXRlIGNvbnZlbmllbmNlIGRlcHMgICAgICAgICAgICAgZXhwZWN0ZWQgZmFp
bHVyZSAoZHVwbGljYXRlX2RlcHMuYXQ6NzIpCiAyNzogcGFzc2luZyBDQyBm
bGFncyB0aHJvdWdoIGxpYnRvb2wgICAgICAgICAgICAgICAgb2sKIDI4OiBw
YXNzaW5nIENYWCBmbGFncyB0aHJvdWdoIGxpYnRvb2wgICAgICAgICAgICAg
ICBvawogMjk6IHBhc3NpbmcgRjc3IGZsYWdzIHRocm91Z2ggbGlidG9vbCAg
ICAgICAgICAgICAgIHNraXBwZWQgKGZsYWdzLmF0OjI0KQogMzA6IHBhc3Np
bmcgRkMgZmxhZ3MgdGhyb3VnaCBsaWJ0b29sICAgICAgICAgICAgICAgIHNr
aXBwZWQgKGZsYWdzLmF0OjI0KQogMzE6IHBhc3NpbmcgR0NKIGZsYWdzIHRo
cm91Z2ggbGlidG9vbCAgICAgICAgICAgICAgIHNraXBwZWQgKGZsYWdzLmF0
OjI0KQogMzI6IGluaGVyaXRlZF9saW5rZXJfZmxhZ3MgICAgICAgICAgICAg
ICAgICAgICAgICAgIG9rCiAzMzogQyBjb252ZW5pZW5jZSBhcmNoaXZlcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgb2sKIDM0OiBDKysgY29udmVuaWVu
Y2UgYXJjaGl2ZXMgICAgICAgICAgICAgICAgICAgICAgICBvawogMzU6IEY3
NyBjb252ZW5pZW5jZSBhcmNoaXZlcyAgICAgICAgICAgICAgICAgICAgICAg
IHNraXBwZWQgKGNvbnZlbmllbmNlLmF0OjExMSkKIDM2OiBGQyBjb252ZW5p
ZW5jZSBhcmNoaXZlcyAgICAgICAgICAgICAgICAgICAgICAgICBza2lwcGVk
IChjb252ZW5pZW5jZS5hdDoxNzEpCiAzNzogSmF2YSBjb252ZW5pZW5jZSBh
cmNoaXZlcyAgICAgICAgICAgICAgICAgICAgICAgc2tpcHBlZCAoY29udmVu
aWVuY2UuYXQ6MjMxKQogMzg6IExpbmsgb3JkZXIgdGVzdCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9rCiAzOTogTGluayBvcmRlciBvZiBk
ZXBsaWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgb2sKIDQwOiBGYWls
dXJlIHRlc3RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv
awogNDE6IHNobGlicGF0aF9vdmVycmlkZXNfcnVucGF0aCAgICAgICAgICAg
ICAgICAgICAgIHNraXBwZWQgKHNobGlicGF0aC5hdDo1NCkKIDQyOiBSdW5w
YXRoIGluIGxpYnRvb2wgbGlicmFyeSBmaWxlcyAgICAgICAgICAgICAgICBv
awogNDM6IHN0YXRpYyBsaW5raW5nIGZsYWdzIGZvciBwcm9ncmFtcyAgICAg
ICAgICAgICAgIG9rCiA0NTogRXhwb3J0IHRlc3QgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgb2sKIDQ2OiBzeXNfbGliX3NlYXJjaF9w
YXRoICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwcGVkIChzZWFy
Y2gtcGF0aC5hdDo1NikKIDQ3OiBzeXNfbGliX3NlYXJjaF9wYXRoIG9uIHcz
MiAgICAgICAgICAgICAgICAgICAgICBvawogNDg6IGluZGlyZWN0IGNvbnZl
bmllbmNlICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9rCiA0OTogaW5k
aXJlY3QgdW5pbnN0YWxsZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b2sKIDUwOiBzdGF0aWMgbGlicmFyeSBjb250YWlucyBzdGF0aWMgbGlicmFy
eSAgICAgICAgICBleHBlY3RlZCBmYWlsdXJlIChhcmNoaXZlLWluLWFyY2hp
dmUuYXQ6NTYpCiA1MTogYm90aCBvZiAtbyBwcm9nIGFuZCAtbyBwcm9nJEVY
RUVYVCB3b3JrICAgICAgICAgb2sKIDUyOiBleGVjdXRlIG1vZGUgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvawogNTU6IGN3cmFwcGVy
IGZvciB1bmluc3RhbGxlZCBleGVjdXRhYmxlcyAgICAgICAgICAgIEZBSUxF
RCAoY3dyYXBwZXIuYXQ6NzkpCiA1NzogY3dyYXBwZXIgYW5kIGluc3RhbGxl
ZCBzaGFyZWQgbGlicmFyaWVzICAgICAgICAgb2sKIDU4OiBkZXBsaWIgaW4g
c3ViZGlyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvawogNTk6
IGluZmVycmVkIHRhZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9rCiA2MDogQ1hYIGluZmVycmVkIHRhZyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb2sKIDYxOiBGNzcgaW5mZXJyZWQgdGFnICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBza2lwcGVkIChpbmZlci10YWcu
YXQ6NTYpCiA2MjogRkMgaW5mZXJyZWQgdGFnICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2tpcHBlZCAoaW5mZXItdGFnLmF0OjcwKQogNjM6
IEdDSiBpbmZlcnJlZCB0YWcgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNraXBwZWQgKGluZmVyLXRhZy5hdDo4NCkKIDY0OiBsb2NhbGl6ZWQg
Y29tcGlsZXIgbWVzc2FnZXMgICAgICAgICAgICAgICAgICAgICBvawogNjU6
IG5vY2FzZSBsaWJyYXJ5IHNlYXJjaCAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9rCiA2NjogSW5zdGFsbCB0ZXN0cyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgb2sKIDY3OiB2ZXJzaW9uaW5nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvawoKREVTVERJUiB0ZXN0cwoK
IDY4OiBTaW1wbGUgREVTVERJUiBpbnN0YWxsICAgICAgICAgICAgICAgICAg
ICAgICAgICBvawogNjk6IERFU1RESVIgd2l0aCBpbi1wYWNrYWdlIGRlcGxp
YnMgICAgICAgICAgICAgICAgIG9rCgpMaWJsdGRsIGZ1bmN0aW9uYWxpdHku
CgogODM6IHN5bnRheCBvZiAubGEgZmlsZXMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGV4cGVjdGVkIGZhaWx1cmUgKGxhbGliLXN5bnRheC5hdDox
MzMpCiA4NjogZW5mb3JjZWQgbGliIHByZWZpeCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb2sKCkMrKyB0ZW1wbGF0ZSB0ZXN0cy4KCjEwMTogc2lt
cGxlIHRlbXBsYXRlIHRlc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b2sKMTAyOiB0ZW1wbGF0ZSB0ZXN0IHdpdGggc3ViZGlycyAgICAgICAgICAg
ICAgICAgICAgICBvawoKQ29uc3RydWN0b3JzLgoKMTAzOiBDKysgc3RhdGlj
IGNvbnN0cnVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICBvawoxMDQ6
IEMrKyBleGNlcHRpb24gaGFuZGxpbmcgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9rCgpEZXRlY3RpbmcgaWRlbnRpY2FsIGRlcGxpYnMuCgoxMDk6IGJ1
aWxkIHRyZWUgcmVscGF0aHMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGV4cGVjdGVkIGZhaWx1cmUgKGRlcGxpYnMtaWRlbnQuYXQ6NjgpCgpMaWJ0
b29sIHN0cmVzcyB0ZXN0LgoKMTE0OiBMaW5rIG9wdGlvbiB0aG9yb3VnaCBz
ZWFyY2ggdGVzdCAgICAgICAgICAgICAgICBvawoKV2luZG93cyB0ZXN0cy4K
CjEyMzogZGVwbGlicyB3aXRob3V0IGZpbGUgY29tbWFuZCAgICAgICAgICAg
ICAgICAgICAgc2tpcHBlZCAoZGVwbGlicy1taW5ndy5hdDo3OSkKCnN5c3Jv
b3QgdGVzdHMKCjEyNDogLUw9Li4uL2xpYiAtbCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2tpcHBlZCAoc3lzcm9vdC5hdDoyMDMpCjEy
NTogLUwgU1lTUk9PVC8uLi4vbGliIC1sICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2tpcHBlZCAoc3lzcm9vdC5hdDoyMDQpCjEyNjogU1lTUk9PVC8u
Li4vKi5sYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcHBl
ZCAoc3lzcm9vdC5hdDoyMDUpCgojIyAtLS0tLS0tLS0tLS0tICMjCiMjIFRl
c3QgcmVzdWx0cy4gIyMKIyMgLS0tLS0tLS0tLS0tLSAjIwoKIyMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgdGVzdHN1aXRlLmxvZyB3YXMg
Y3JlYXRlZC4gIyMKIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMK
ClBsZWFzZSBzZW5kIGB0ZXN0c3VpdGUubG9nJyBhbmQgYWxsIGluZm9ybWF0
aW9uIHlvdSB0aGluayBtaWdodCBoZWxwOgoKICAgVG86IDxidWctbGlidG9v
bEBnbnUub3JnPgogICBTdWJqZWN0OiBbR05VIExpYnRvb2wgMi40LjJdIHRl
c3RzdWl0ZTogNTUgZmFpbGVkCgpZb3UgbWF5IGludmVzdGlnYXRlIGFueSBw
cm9ibGVtIGlmIHlvdSBmZWVsIGFibGUgdG8gZG8gc28sIGluIHdoaWNoCmNh
c2UgdGhlIHRlc3Qgc3VpdGUgcHJvdmlkZXMgYSBnb29kIHN0YXJ0aW5nIHBv
aW50LiAgSXRzIG91dHB1dCBtYXkKYmUgZm91bmQgYmVsb3cgYHRlc3RzdWl0
ZS5kaXInLgoKL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0y
LjQuMi90ZXN0cy9jbWRsaW5lX3dyYXAuYXQ6NDM6IGV4aXQgY29kZSB3YXMg
MSwgZXhwZWN0ZWQgMAp0ZXN0c3VpdGUubG9nOgo+ICMjIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tICMjCj4gIyMgR05VIExpYnRvb2wgMi40LjIg
dGVzdCBzdWl0ZS4gIyMKPiAjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSAjIwo+IAo+IHRlc3RzdWl0ZTogY29tbWFuZCBsaW5lIHdhczoKPiAg
ICQgL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGlidG9vbC0yLjQuMi90
ZXN0cy90ZXN0c3VpdGUgLWsgbGlidG9vbCBhYnNfdG9wX3NyY2Rpcj0vTWlu
R1cvc2hhcmUvYXV0b21ha2UtMS4xMS9saWJ0b29sLTIuNC4yIGFic19idWls
ZGRpcj0vbWluZ3cvbGlidG9vbC1idWlsZC1kdWUtdG8tR05VL3Rlc3RzCj4g
Cj4gIyMgLS0tLS0tLS0tICMjCj4gIyMgUGxhdGZvcm0uICMjCj4gIyMgLS0t
LS0tLS0tICMjCj4gCj4gaG9zdG5hbWUgPSB0aWxsCj4gdW5hbWUgLW0gPSBp
Njg2Cj4gdW5hbWUgLXIgPSAxLjAuMTgoMC40OC8zLzIpCj4gdW5hbWUgLXMg
PSBNSU5HVzMyX05ULTYuMQo+IHVuYW1lIC12ID0gMjAxMi0xMS0yMSAyMjoz
NAo+IAo+IC91c3IvYmluL3VuYW1lIC1wID0gdW5rbm93bgo+IC9iaW4vdW5h
bWUgLVggICAgID0gdW5rbm93bgo+IAo+IC9iaW4vYXJjaCAgICAgICAgICAg
ICAgPSB1bmtub3duCj4gL3Vzci9iaW4vYXJjaCAtayAgICAgICA9IHVua25v
d24KPiAvdXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5rbm93bgo+IC91c3Iv
YmluL2hvc3RpbmZvICAgICAgPSB1bmtub3duCj4gL2Jpbi9tYWNoaW5lICAg
ICAgICAgICA9IHVua25vd24KPiAvdXNyL2Jpbi9vc2xldmVsICAgICAgID0g
dW5rbm93bgo+IC9iaW4vdW5pdmVyc2UgICAgICAgICAgPSB1bmtub3duCj4g
Cj4gUEFUSDogL21pbmd3L2xpYnRvb2wtYnVpbGQtZHVlLXRvLUdOVS90ZXN0
cwo+IFBBVEg6IC9NaW5HVy9zaGFyZS9hdXRvbWFrZS0xLjExL2xpYnRvb2wt
Mi40LjIvdGVzdHMKPiBQQVRIOiAvbWluZ3cvbGlidG9vbC1idWlsZC1kdWUt
dG8tR05VCj4gUEFUSDogL01pbkdXL3NoYXJlL2F1dG9tYWtlLTEuMTEvbGli
dG9vbC0yLjQuMi8uCj4gUEFUSDogL21pbmd3L2Jpbgo+IFBBVEg6IC9iaW4K
PiBQQVRIOiAvYy9XaW5kb3dzL3N5c3RlbTMyCj4gUEFUSDogL2MvV2luZG93
cwo+IFBBVEg6IC9jL1dpbmRvd3MvU3lzdGVtMzIvV2JlbQo+IFBBVEg6IC9j
L1dpbmRvd3MvU3lzdGVtMzIvV2luZG93c1Bvd2VyU2hlbGwvdjEuMC8KPiBQ
QVRIOiAvYy9Qcm9ncmFtIEZpbGVzICh4ODYpL01pY3Jvc29mdCBTUUwgU2Vy
dmVyLzEwMC9Ub29scy9CaW5uLwo+IFBBVEg6IC9jL1Byb2dyYW0gRmlsZXMv
TWljcm9zb2Z0IFNRTCBTZXJ2ZXIvMTAwL1Rvb2xzL0Jpbm4vCj4gUEFUSDog
L2MvUHJvZ3JhbSBGaWxlcy9NaWNyb3NvZnQgU1FMIFNlcnZlci8xMDAvRFRT
L0Jpbm4vCj4gUEFUSDogL2MvQkM1L0JJTgo+IAo+ICMjIC0tLS0tLS0tLS0t
LS0tLS0gIyMKPiAjIyBUZXN0ZWQgcHJvZ3JhbXMuICMjCj4gIyMgLS0tLS0t
LS0tLS0tLS0tLSAjIwo+IAo+ICMjIC0tLS0tLS0tLS0tLS0tLS0tLSAjIwo+
ICMjIFJ1bm5pbmcgdGhlIHRlc3RzLiAjIwo+ICMjIC0tLS0tLS0tLS0tLS0t
LS0tLSAjIwo+IHRlc3RzdWl0ZTogc3RhcnRpbmcgYXQ6IFNhdCBOb3YgIDkg
MjA6NTM6MTMgICAgIDIwMTMKPiAyMS4gc3RhbmRhcmQgY29tbWFuZCBsaW5l
IG9wdGlvbnMgKGhlbHAuYXQ6MjYpOiBvayAgICAgKDBtNS4zMDFzIDBtMTQu
NTEycykKPiAyNC4gZHVwbGljYXRlIG1lbWJlcnMgaW4gYXJjaGl2ZSB0ZXN0
cyAoZHVwbGljYXRlX21lbWJlcnMuYXQ6MjUpOiBvayAgICAgKDBtOS43Mzlz
IDBtMzkuNDEwcykKPiAyNS4gZHVwbGljYXRlIGNvbnZlbmllbmNlIGFyY2hp
dmUgbmFtZXMgKGR1cGxpY2F0ZV9jb252LmF0OjI1KTogb2sgICAgICgwbTIw
LjI3NHMgMW0yMS45NzFzKQo+IDI3LiBwYXNzaW5nIENDIGZsYWdzIHRocm91
Z2ggbGlidG9vbCAoZmxhZ3MuYXQ6MjQpOiBvayAgICAgKDBtMTYuOTkzcyAx
bTkuMTQ4cykKPiAyOC4gcGFzc2luZyBDWFggZmxhZ3MgdGhyb3VnaCBsaWJ0
b29sIChmbGFncy5hdDoyNCk6IG9rICAgICAoMG0xOS44NDdzIDFtMTQuNTgy
cykKPiAyOS4gcGFzc2luZyBGNzcgZmxhZ3MgdGhyb3VnaCBsaWJ0b29sIChm
bGFncy5hdDoyNCk6IHNraXBwZWQgKGZsYWdzLmF0OjI0KQo+IDMwLiBwYXNz
aW5nIEZDIGZsYWdzIHRocm91Z2ggbGlidG9vbCAoZmxhZ3MuYXQ6MjQpOiBz
a2lwcGVkIChmbGFncy5hdDoyNCkKPiAzMS4gcGFzc2luZyBHQ0ogZmxhZ3Mg
dGhyb3VnaCBsaWJ0b29sIChmbGFncy5hdDoyNCk6IHNraXBwZWQgKGZsYWdz
LmF0OjI0KQo+IDMyLiBpbmhlcml0ZWRfbGlua2VyX2ZsYWdzIChpbmhlcml0
ZWRfZmxhZ3MuYXQ6MjYpOiBvayAgICAgKDBtMTQuNTg3cyAwbTU4Ljc3MnMp
Cj4gMzMuIEMgY29udmVuaWVuY2UgYXJjaGl2ZXMgKGNvbnZlbmllbmNlLmF0
OjMxKTogb2sgICAgICgwbTE4LjUwNXMgMW0xMy45MDdzKQo+IDM0LiBDKysg
Y29udmVuaWVuY2UgYXJjaGl2ZXMgKGNvbnZlbmllbmNlLmF0OjcwKTogb2sg
ICAgICgwbTIwLjI3NXMgMW0xNy43NTlzKQo+IDM1LiBGNzcgY29udmVuaWVu
Y2UgYXJjaGl2ZXMgKGNvbnZlbmllbmNlLmF0OjExMCk6IHNraXBwZWQgKGNv
bnZlbmllbmNlLmF0OjExMSkKPiAzNi4gRkMgY29udmVuaWVuY2UgYXJjaGl2
ZXMgKGNvbnZlbmllbmNlLmF0OjE3MCk6IHNraXBwZWQgKGNvbnZlbmllbmNl
LmF0OjE3MSkKPiAzNy4gSmF2YSBjb252ZW5pZW5jZSBhcmNoaXZlcyAoY29u
dmVuaWVuY2UuYXQ6MjMwKTogc2tpcHBlZCAoY29udmVuaWVuY2UuYXQ6MjMx
KQo+IDM4LiBMaW5rIG9yZGVyIHRlc3QgKGxpbmstb3JkZXIuYXQ6MjYpOiBv
ayAgICAgKDBtMjIuNjQ4cyAxbTMzLjE4M3MpCj4gMzkuIExpbmsgb3JkZXIg
b2YgZGVwbGlicyAobGluay1vcmRlcjIuYXQ6NDYpOiBvayAgICAgKDBtNDUu
MTMycyAzbTExLjAzOXMpCj4gNDAuIEZhaWx1cmUgdGVzdHMgKGZhaWwuYXQ6
MjcpOiBvayAgICAgKDBtNi41MDhzIDBtMjguMjM1cykKPiA0MS4gc2hsaWJw
YXRoX292ZXJyaWRlc19ydW5wYXRoIChzaGxpYnBhdGguYXQ6MjUpOiBza2lw
cGVkIChzaGxpYnBhdGguYXQ6NTQpCj4gNDIuIFJ1bnBhdGggaW4gbGlidG9v
bCBsaWJyYXJ5IGZpbGVzIChydW5wYXRoLWluLWxhbGliLmF0OjI1KTogb2sg
ICAgICgwbTcuMjI5cyAwbTMyLjM5N3MpCj4gNDMuIHN0YXRpYyBsaW5raW5n
IGZsYWdzIGZvciBwcm9ncmFtcyAoc3RhdGljLmF0OjY4KTogb2sgICAgICgx
bTI0LjU2NHMgNW0yNy44NTdzKQo+IDQ1LiBFeHBvcnQgdGVzdCAoZXhwb3J0
LmF0OjI1KTogb2sgICAgICgwbTMxLjE3NXMgMm00LjM0OXMpCj4gNDYuIHN5
c19saWJfc2VhcmNoX3BhdGggKHNlYXJjaC1wYXRoLmF0OjI0KTogc2tpcHBl
ZCAoc2VhcmNoLXBhdGguYXQ6NTYpCj4gNDcuIHN5c19saWJfc2VhcmNoX3Bh
dGggb24gdzMyIChzZWFyY2gtcGF0aC5hdDo2Mik6IG9rICAgICAoMG0yLjUz
MnMgMG0xMC4yNTZzKQo+IDQ4LiBpbmRpcmVjdCBjb252ZW5pZW5jZSAoaW5k
aXJlY3RfZGVwcy5hdDoyNSk6IG9rICAgICAoMG0xNi4yNzJzIDFtNS41OTRz
KQo+IDQ5LiBpbmRpcmVjdCB1bmluc3RhbGxlZCAoaW5kaXJlY3RfZGVwcy5h
dDo3MSk6IG9rICAgICAoMG0yMi40MjdzIDFtMjUuMzE4cykKPiA1MS4gYm90
aCBvZiAtbyBwcm9nIGFuZCAtbyBwcm9nJEVYRUVYVCB3b3JrIChleGVleHQu
YXQ6MjYpOiBvayAgICAgKDBtNC45MjBzIDBtMTkuODQ3cykKPiA1Mi4gZXhl
Y3V0ZSBtb2RlIChleGVjdXRlLW1vZGUuYXQ6MjUpOiBvayAgICAgKDFtOS40
NjFzIDVtNi4yNTRzKQo+IDU3LiBjd3JhcHBlciBhbmQgaW5zdGFsbGVkIHNo
YXJlZCBsaWJyYXJpZXMgKGN3cmFwcGVyLmF0OjIwMSk6IG9rICAgICAoMG0x
MS4zMDBzIDBtNDQuNjUycykKPiA1OC4gZGVwbGliIGluIHN1YmRpciAoZGVw
bGliLWluLXN1YmRpci5hdDozNCk6IG9rICAgICAoMG0zOS4wMzNzIDJtMzQu
MzUxcykKPiA1OS4gaW5mZXJyZWQgdGFnIChpbmZlci10YWcuYXQ6MzApOiBv
ayAgICAgKDBtMC41MDdzIDBtMi4xMTBzKQo+IDYwLiBDWFggaW5mZXJyZWQg
dGFnIChpbmZlci10YWcuYXQ6NDIpOiBvayAgICAgKDBtMC41OTdzIDBtMi40
MThzKQo+IDYxLiBGNzcgaW5mZXJyZWQgdGFnIChpbmZlci10YWcuYXQ6NTUp
OiBza2lwcGVkIChpbmZlci10YWcuYXQ6NTYpCj4gNjIuIEZDIGluZmVycmVk
IHRhZyAoaW5mZXItdGFnLmF0OjY5KTogc2tpcHBlZCAoaW5mZXItdGFnLmF0
OjcwKQo+IDYzLiBHQ0ogaW5mZXJyZWQgdGFnIChpbmZlci10YWcuYXQ6ODMp
OiBza2lwcGVkIChpbmZlci10YWcuYXQ6ODQpCj4gNjQuIGxvY2FsaXplZCBj
b21waWxlciBtZXNzYWdlcyAobG9jYWxpemF0aW9uLmF0OjI0KTogb2sgICAg
ICgwbTEuNTQ3cyAwbTUuMTQxcykKPiA2NS4gbm9jYXNlIGxpYnJhcnkgc2Vh
cmNoIChub2Nhc2UuYXQ6MjYpOiBvayAgICAgKDBtMTIuNjY2cyAwbTUxLjk5
NXMpCj4gNjYuIEluc3RhbGwgdGVzdHMgKGluc3RhbGwuYXQ6MjUpOiBvayAg
ICAgKDBtNi40NjNzIDBtMjUuMDkzcykKPiA2Ny4gdmVyc2lvbmluZyAodmVy
c2lvbmluZy5hdDoyNCk6IG9rICAgICAoMG01Ny4zODVzIDNtNTguMTAxcykK
PiA2OC4gU2ltcGxlIERFU1RESVIgaW5zdGFsbCAoZGVzdGRpci5hdDo0OCk6
IG9rICAgICAoMG04LjU3NnMgMG0zNC45NjRzKQo+IDY5LiBERVNURElSIHdp
dGggaW4tcGFja2FnZSBkZXBsaWJzIChkZXN0ZGlyLmF0Ojc1KTogb2sgICAg
ICgwbTI4LjIxNHMgMW01MC4zOTNzKQo+IDg2LiBlbmZvcmNlZCBsaWIgcHJl
Zml4IChuZWVkX2xpYl9wcmVmaXguYXQ6MjUpOiBvayAgICAgKDBtMTIuNDQ0
cyAwbTQ4LjIwOXMpCj4gMTAxLiBzaW1wbGUgdGVtcGxhdGUgdGVzdCAodGVt
cGxhdGUuYXQ6MjcpOiBvayAgICAgKDBtOC4yODFzIDBtMjguNzczcykKPiAx
MDIuIHRlbXBsYXRlIHRlc3Qgd2l0aCBzdWJkaXJzICh0ZW1wbGF0ZS5hdDox
MjYpOiBvayAgICAgKDBtMzMuODk3cyAybTguOTA1cykKPiAxMDMuIEMrKyBz
dGF0aWMgY29uc3RydWN0b3JzIChjdG9yLmF0OjI3KTogb2sgICAgICgwbTUu
NzQ0cyAwbTE5Ljg1MnMpCj4gMTA0LiBDKysgZXhjZXB0aW9uIGhhbmRsaW5n
IChleGNlcHRpb25zLmF0OjI0KTogb2sgICAgICgwbTE3LjcwNHMgMW04LjYy
MXMpCj4gMTE0LiBMaW5rIG9wdGlvbiB0aG9yb3VnaCBzZWFyY2ggdGVzdCAo
c3RyZXNzdGVzdC5hdDozMSk6IG9rICAgICAoNm0zLjQwN3MgMjNtMzMuODAw
cykKPiAxMjMuIGRlcGxpYnMgd2l0aG91dCBmaWxlIGNvbW1hbmQgKGRlcGxp
YnMtbWluZ3cuYXQ6MjcpOiBza2lwcGVkIChkZXBsaWJzLW1pbmd3LmF0Ojc5
KQo+IDEyNC4gLUw9Li4uL2xpYiAtbCAoc3lzcm9vdC5hdDoyMDMpOiBza2lw
cGVkIChzeXNyb290LmF0OjIwMykKPiAxMjUuIC1MIFNZU1JPT1QvLi4uL2xp
YiAtbCAoc3lzcm9vdC5hdDoyMDQpOiBza2lwcGVkIChzeXNyb290LmF0OjIw
NCkKPiAxMjYuIFNZU1JPT1QvLi4uLyoubGEgKHN5c3Jvb3QuYXQ6MjA1KTog
c2tpcHBlZCAoc3lzcm9vdC5hdDoyMDUpCj4gdGVzdHN1aXRlOiBlbmRpbmcg
YXQ6IFN1biBOb3YgMTAgMDA6MjY6MDAgICAgIDIwMTMKPiB0ZXN0c3VpdGU6
IHRlc3Qgc3VpdGUgZHVyYXRpb246IDNoIDMybSA0N3MKPiAKPiAjIyAtLS0t
LS0tLS0tLS0tICMjCj4gIyMgVGVzdCByZXN1bHRzLiAjIwo+ICMjIC0tLS0t
LS0tLS0tLS0gIyMKPiAKPiBFUlJPUjogNDAgdGVzdHMgd2VyZSBydW4sCj4g
NSBmYWlsZWQgKDQgZXhwZWN0ZWQgZmFpbHVyZXMpLgo+IDE1IHRlc3RzIHdl
cmUgc2tpcHBlZC4KPiAKPiAjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g
IyMKPiAjIyBTdW1tYXJ5IG9mIHRoZSBmYWlsdXJlcy4gIyMKPiAjIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKPiBGYWlsZWQgdGVzdHM6Cj4gR05V
IExpYnRvb2wgMi40LjIgdGVzdCBzdWl0ZSB0ZXN0IGdyb3VwczoKPiAKPiAg
TlVNOiBGSUxFLU5BTUU6TElORSAgICAgVEVTVC1HUk9VUC1OQU1FCj4gICAg
ICAgS0VZV09SRFMKPiAKPiAgIDU1OiBjd3JhcHBlci5hdDoyNSAgICAgY3dy
YXBwZXIgZm9yIHVuaW5zdGFsbGVkIGV4ZWN1dGFibGVzCj4gICAgICAgbGli
dG9vbAo+IAo+IFNraXBwZWQgdGVzdHM6Cj4gR05VIExpYnRvb2wgMi40LjIg
dGVzdCBzdWl0ZSB0ZXN0IGdyb3VwczoKPiAKPiAgTlVNOiBGSUxFLU5BTUU6
TElORSAgICAgVEVTVC1HUk9VUC1OQU1FCj4gICAgICAgS0VZV09SRFMKPiAK
PiAgIDI5OiBmbGFncy5hdDoyNCAgICAgICAgcGFzc2luZyBGNzcgZmxhZ3Mg
dGhyb3VnaCBsaWJ0b29sCj4gICAgICAgbGlidG9vbCBmNzcKPiAgIDMwOiBm
bGFncy5hdDoyNCAgICAgICAgcGFzc2luZyBGQyBmbGFncyB0aHJvdWdoIGxp
YnRvb2wKPiAgICAgICBsaWJ0b29sIGZjCj4gICAzMTogZmxhZ3MuYXQ6MjQg
ICAgICAgIHBhc3NpbmcgR0NKIGZsYWdzIHRocm91Z2ggbGlidG9vbAo+ICAg
ICAgIGxpYnRvb2wgZ2NqCj4gICAzNTogY29udmVuaWVuY2UuYXQ6MTEwIEY3
NyBjb252ZW5pZW5jZSBhcmNoaXZlcwo+ICAgICAgIGY3NyBsaWJ0b29sCj4g
ICAzNjogY29udmVuaWVuY2UuYXQ6MTcwIEZDIGNvbnZlbmllbmNlIGFyY2hp
dmVzCj4gICAgICAgZmMgbGlidG9vbAo+ICAgMzc6IGNvbnZlbmllbmNlLmF0
OjIzMCBKYXZhIGNvbnZlbmllbmNlIGFyY2hpdmVzCj4gICAgICAgZ2NqIGxp
YnRvb2wKPiAgIDQxOiBzaGxpYnBhdGguYXQ6MjUgICAgc2hsaWJwYXRoX292
ZXJyaWRlc19ydW5wYXRoCj4gICAgICAgbGlidG9vbAo+ICAgNDY6IHNlYXJj
aC1wYXRoLmF0OjI0ICBzeXNfbGliX3NlYXJjaF9wYXRoCj4gICAgICAgbGli
dG9vbAo+ICAgNjE6IGluZmVyLXRhZy5hdDo1NSAgICBGNzcgaW5mZXJyZWQg
dGFnCj4gICAgICAgZjc3IGxpYnRvb2wKPiAgIDYyOiBpbmZlci10YWcuYXQ6
NjkgICAgRkMgaW5mZXJyZWQgdGFnCj4gICAgICAgZmMgbGlidG9vbAo+ICAg
NjM6IGluZmVyLXRhZy5hdDo4MyAgICBHQ0ogaW5mZXJyZWQgdGFnCj4gICAg
ICAgZ2NqIGxpYnRvb2wKPiAgMTIzOiBkZXBsaWJzLW1pbmd3LmF0OjI3IGRl
cGxpYnMgd2l0aG91dCBmaWxlIGNvbW1hbmQKPiAgICAgICBsaWJ0b29sCj4g
IDEyNDogc3lzcm9vdC5hdDoyMDMgICAgIC1MPS4uLi9saWIgLWwKPiAgICAg
ICBsaWJ0b29sIHN5c3Jvb3QgbGlidG9vbGl6ZSBhdXRvbWFrZSBhdXRvY29u
Zgo+ICAxMjU6IHN5c3Jvb3QuYXQ6MjA0ICAgICAtTCBTWVNST09ULy4uLi9s
aWIgLWwKPiAgICAgICBsaWJ0b29sIHN5c3Jvb3QgbGlidG9vbGl6ZSBhdXRv
bWFrZSBhdXRvY29uZgo+ICAxMjY6IHN5c3Jvb3QuYXQ6MjA1ICAgICBTWVNS
T09ULy4uLi8qLmxhCj4gICAgICAgbGlidG9vbCBzeXNyb290IGxpYnRvb2xp
emUgYXV0b21ha2UgYXV0b2NvbmYKPiAKPiAjIyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tICMjCj4gIyMgRGV0YWlsZWQgZmFpbGVkIHRlc3RzLiAjIwo+ICMj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMKPiAKPiAjICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAtKi0gY29tcGlsYXRpb24gLSotCj4gNTUuIGN3
cmFwcGVyLmF0OjI1OiB0ZXN0aW5nIGN3cmFwcGVyIGZvciB1bmluc3RhbGxl
ZCBleGVjdXRhYmxlcyAuLi4KPiAvY3dyYXBwZXIuYXQ6Mjk6ICRMSUJUT09M
IC0tZmVhdHVyZXMgfCBncmVwICdkaXNhYmxlIHNoYXJlZCBsaWJyYXJpZXMn
ICYmIGV4aXQgNzcKPiBzdGRvdXQ6Cj4gbGlidG9vbDogY29tcGlsZTogIGdj
YyAtZyAtTzIgLVdhbGwgLVdlcnJvciB0cml2aWFsLmMgIC1ERExMX0VYUE9S
VCAtRFBJQyAtbyAubGlicy90cml2aWFsLm8KPiBsaWJ0b29sOiBjb21waWxl
OiAgZ2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIHRyaXZpYWwuYyAtbyB0cml2
aWFsLm8gPi9kZXYvbnVsbCAyPiYxCj4gL2N3cmFwcGVyLmF0OjY5OiAkTElC
VE9PTCAtLW1vZGU9Y29tcGlsZSAkQ0MgJENQUEZMQUdTICRDRkxBR1MgLWMg
bGliYS5jCj4gc3RkZXJyOgo+IHN0ZG91dDoKPiBsaWJ0b29sOiBjb21waWxl
OiAgZ2NjIC1nIC1PMiAtV2FsbCAtV2Vycm9yIC1jIGxpYmEuYyAgLURETExf
RVhQT1JUIC1EUElDIC1vIC5saWJzL2xpYmEubwo+IGxpYnRvb2w6IGNvbXBp
bGU6ICBnY2MgLWcgLU8yIC1XYWxsIC1XZXJyb3IgLWMgbGliYS5jIC1vIGxp
YmEubyA+L2Rldi9udWxsIDI+JjEKPiAvY3dyYXBwZXIuYXQ6NzE6ICRMSUJU
T09MIC0tbW9kZT1saW5rICRDQyAkQ0ZMQUdTICRMREZMQUdTIC12ZXJzaW9u
LWluZm89MC4wLjAgLW5vLXVuZGVmaW5lZCAtbyBsaWJhLmxhIC1ycGF0aCAv
Zm9vIGxpYmEubG8KPiBzdGRlcnI6Cj4gc3Rkb3V0Ogo+IGxpYnRvb2w6IGxp
bms6IGdjYyAtc2hhcmVkIC5saWJzXFxsaWJhLmxhLmxua3NjcmlwdCAgIC1P
MiAgIC1vIC5saWJzL2xpYmEtMC5kbGwgLVdsLC0tZW5hYmxlLWF1dG8taW1h
Z2UtYmFzZSAtWGxpbmtlciAtLW91dC1pbXBsaWIgLVhsaW5rZXIgLmxpYnMv
bGliYS5kbGwuYQo+IGxpYnRvb2w6IGxpbms6IHJtIC1mIC5saWJzL2xpYmEu
bGEubG5rc2NyaXB0Cj4gbGlidG9vbDogbGluazogYXIgY3J1IC5saWJzL2xp
YmEuYSBALmxpYnNcXGxpYmEubGliY21kCj4gbGlidG9vbDogbGluazogcmFu
bGliIC5saWJzL2xpYmEuYQo+IGxpYnRvb2w6IGxpbms6ICggY2QgIi5saWJz
IiAmJiBybSAtZiAibGliYS5sYSIgJiYgY3AgLXAgIi4uL2xpYmEubGEiICJs
aWJhLmxhIiApCj4gL2N3cmFwcGVyLmF0OjczOiB0ZXN0IC1mIGxpYmEubGEK
PiAvY3dyYXBwZXIuYXQ6NzU6ICRDQyAkQ1BQRkxBR1MgJENGTEFHUyAtYyB1
c2VhLmMKPiBzdGRlcnI6Cj4gc3Rkb3V0Ogo+IC9jd3JhcHBlci5hdDo3Nzog
JExJQlRPT0wgLS1tb2RlPWxpbmsgJENDICRDRkxBR1MgJExERkxBR1MgLW8g
dXNlYSRFWEVFWFQgdXNlYS4kT0JKRVhUIGxpYmEubGEKPiBzdGRlcnI6Cj4g
c3Rkb3V0Ogo+IGxpYnRvb2w6IGxpbms6IGdjYyAtZyAtTzIgLVdhbGwgLVdl
cnJvciAtbyAubGlicy91c2VhLmV4ZSB1c2VhLm8gIC4vLmxpYnMvbGliYS5k
bGwuYSAtTC9mb28KPiAvY3dyYXBwZXIuYXQ6Nzk6IGlmICIkbHRfZXhlIiA7
IHRoZW4gOjsgZWxzZSBsdF9zdGF0dXM9JD87IAkgICB0ZXN0ICRsdF9zdGF0
dXMgIT0gMCAmJiAJICAgdGVzdCAiWCRob3N0IiAhPSAiWCRidWlsZCIgJiYg
dGVzdCAteCAiJGx0X2V4ZSIgJiYgZXhpdCA3NzsgCSAgIGV4aXQgJGx0X3N0
YXR1czsgZmkKPiBzdGRlcnI6Cj4gc3Rkb3V0Ogo+IGxpYnRvb2w6IGNvbXBp
bGU6ICBnY2MgLWcgLU8yIC1zdGQ9Yzg5IC1XYWxsIC1XZXJyb3IgdHJpdmlh
bC5jICAtRERMTF9FWFBPUlQgLURQSUMgLW8gLmxpYnMvdHJpdmlhbC5vCj4g
bGlidG9vbDogY29tcGlsZTogIGdjYyAtZyAtTzIgLXN0ZD1jODkgLVdhbGwg
LVdlcnJvciB0cml2aWFsLmMgLW8gdHJpdmlhbC5vID4vZGV2L251bGwgMj4m
MQo+IC9jd3JhcHBlci5hdDo2OTogJExJQlRPT0wgLS1tb2RlPWNvbXBpbGUg
JENDICRDUFBGTEFHUyAkQ0ZMQUdTIC1jIGxpYmEuYwo+IHN0ZGVycjoKPiBz
dGRvdXQ6Cj4gbGlidG9vbDogY29tcGlsZTogIGdjYyAtZyAtTzIgLXN0ZD1j
ODkgLVdhbGwgLVdlcnJvciAtYyBsaWJhLmMgIC1ERExMX0VYUE9SVCAtRFBJ
QyAtbyAubGlicy9saWJhLm8KPiBsaWJ0b29sOiBjb21waWxlOiAgZ2NjIC1n
IC1PMiAtc3RkPWM4OSAtV2FsbCAtV2Vycm9yIC1jIGxpYmEuYyAtbyBsaWJh
Lm8gPi9kZXYvbnVsbCAyPiYxCj4gL2N3cmFwcGVyLmF0OjcxOiAkTElCVE9P
TCAtLW1vZGU9bGluayAkQ0MgJENGTEFHUyAkTERGTEFHUyAtdmVyc2lvbi1p
bmZvPTAuMC4wIC1uby11bmRlZmluZWQgLW8gbGliYS5sYSAtcnBhdGggL2Zv
byBsaWJhLmxvCj4gc3RkZXJyOgo+IHN0ZG91dDoKPiBsaWJ0b29sOiBsaW5r
OiBybSAtZnIgIC5saWJzL2xpYmEuYSAubGlicy9saWJhLmRsbC5hIC5saWJz
L2xpYmEubGEgLmxpYnMvbGliYS5sYWkgLmxpYnMvbGliYS5saWJjbWQKPiBs
aWJ0b29sOiBsaW5rOiBnY2MgLXNoYXJlZCAubGlic1xcbGliYS5sYS5sbmtz
Y3JpcHQgICAtTzIgICAtbyAubGlicy9saWJhLTAuZGxsIC1XbCwtLWVuYWJs
ZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIgLS1vdXQtaW1wbGliIC1YbGlu
a2VyIC5saWJzL2xpYmEuZGxsLmEKPiBsaWJ0b29sOiBsaW5rOiBybSAtZiAu
bGlicy9saWJhLmxhLmxua3NjcmlwdAo+IGxpYnRvb2w6IGxpbms6IGFyIGNy
dSAubGlicy9saWJhLmEgQC5saWJzXFxsaWJhLmxpYmNtZAo+IGxpYnRvb2w6
IGxpbms6IHJhbmxpYiAubGlicy9saWJhLmEKPiBsaWJ0b29sOiBsaW5rOiAo
IGNkICIubGlicyIgJiYgcm0gLWYgImxpYmEubGEiICYmIGNwIC1wICIuLi9s
aWJhLmxhIiAibGliYS5sYSIgKQo+IC9jd3JhcHBlci5hdDo3MzogdGVzdCAt
ZiBsaWJhLmxhCj4gL2N3cmFwcGVyLmF0Ojc1OiAkQ0MgJENQUEZMQUdTICRD
RkxBR1MgLWMgdXNlYS5jCj4gc3RkZXJyOgo+IHN0ZG91dDoKPiAvY3dyYXBw
ZXIuYXQ6Nzc6ICRMSUJUT09MIC0tbW9kZT1saW5rICRDQyAkQ0ZMQUdTICRM
REZMQUdTIC1vIHVzZWEkRVhFRVhUIHVzZWEuJE9CSkVYVCBsaWJhLmxhCj4g
c3RkZXJyOgo+IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBjOlx0aW5nd1xpbmNs
dWRlXHVuaXN0ZC5oOjM2OjAsCj4gICAgICAgICAgICAgICAgICBmcm9tIC4v
LmxpYnMvbHQtdXNlYS5jOjIxOgo+IGM6XHRpbmd3XGluY2x1ZGVcaW8uaDoz
MDE6MTogZXJyb3I6IHVua25vd24gdHlwZSBuYW1lICdvZmY2NF90Jwo+ICBf
X0NSVF9JTkxJTkUgb2ZmNjRfdCBsc2VlazY0IChpbnQsIG9mZjY0X3QsIGlu
dCk7Cj4gIF4KPiBjOlx0aW5nd1xpbmNsdWRlXGlvLmg6MzAxOjM2OiBlcnJv
cjogdW5rbm93biB0eXBlIG5hbWUgJ29mZjY0X3QnCj4gIF9fQ1JUX0lOTElO
RSBvZmY2NF90IGxzZWVrNjQgKGludCwgb2ZmNjRfdCwgaW50KTsKPiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCj4gYzpcdGluZ3dc
aW5jbHVkZVxpby5oOjMwMjoxOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUg
J29mZjY0X3QnCj4gIF9fQ1JUX0lOTElORSBvZmY2NF90IGxzZWVrNjQgKGlu
dCBmZCwgb2ZmNjRfdCBvZmZzZXQsIGludCB3aGVuY2UpIHsKPiAgXgo+IGM6
XHRpbmd3XGluY2x1ZGVcaW8uaDozMDI6Mzk6IGVycm9yOiB1bmtub3duIHR5
cGUgbmFtZSAnb2ZmNjRfdCcKPiAgX19DUlRfSU5MSU5FIG9mZjY0X3QgbHNl
ZWs2NCAoaW50IGZkLCBvZmY2NF90IG9mZnNldCwgaW50IHdoZW5jZSkgewo+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KPiBJ
biBmaWxlIGluY2x1ZGVkIGZyb20gLi8ubGlicy9sdC11c2VhLmM6MjE6MDoK
PiBjOlx0aW5nd1xpbmNsdWRlXHVuaXN0ZC5oOjY1OjIwOiBlcnJvcjogdW5r
bm93biB0eXBlIG5hbWUgJ29mZl90Jwo+ICBpbnQgZnRydW5jYXRlKGludCwg
b2ZmX3QpOwo+ICAgICAgICAgICAgICAgICAgICAgXgo+IGM6XHRpbmd3XGlu
Y2x1ZGVcdW5pc3RkLmg6Njc6Mzg6IGVycm9yOiB1bmtub3duIHR5cGUgbmFt
ZSAnb2ZmX3QnCj4gIF9fQ1JUX0lOTElORSBpbnQgZnRydW5jYXRlKGludCBf
X2ZkLCBvZmZfdCBfX2xlbmd0aCkKPiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF4KPiBjOlxUaW5HV1xiaW5cc3RyaXAuZXhlOiAn
Li91c2VhLmV4ZSc6IE5vIHN1Y2ggZmlsZQo+IC4vbGlidG9vbDogbGluZSA5
NTE3OiAuL3VzZWEuZXhlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cj4g
c3Rkb3V0Ogo+IGxpYnRvb2w6IGxpbms6IGdjYyAtZyAtTzIgLXN0ZD1jODkg
LVdhbGwgLVdlcnJvciAtbyAubGlicy91c2VhLmV4ZSB1c2VhLm8gIC4vLmxp
YnMvbGliYS5kbGwuYSAtTC9mb28KPiAvY3dyYXBwZXIuYXQ6Nzk6IGlmICIk
bHRfZXhlIiA7IHRoZW4gOjsgZWxzZSBsdF9zdGF0dXM9JD87IAkgICB0ZXN0
ICRsdF9zdGF0dXMgIT0gMCAmJiAJICAgdGVzdCAiWCRob3N0IiAhPSAiWCRi
dWlsZCIgJiYgdGVzdCAteCAiJGx0X2V4ZSIgJiYgZXhpdCA3NzsgCSAgIGV4
aXQgJGx0X3N0YXR1czsgZmkKPiBzdGRlcnI6Cj4gL21pbmd3L2xpYnRvb2wt
YnVpbGQtZHVlLXRvLUdOVS90ZXN0cy90ZXN0c3VpdGUuZGlyLzExNS90ZXN0
cy90ZXN0c3VpdGUuZGlyL2F0LWdyb3Vwcy81NS90ZXN0LXNvdXJjZTogbGlu
ZSAxMzU6IC4vdXNlYTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQo+IHN0
ZG91dDoKPiAvY3dyYXBwZXIuYXQ6Nzk6IGV4aXQgY29kZSB3YXMgMTI3LCBl
eHBlY3RlZCAwCj4gNTUuIGN3cmFwcGVyLmF0OjI1OiA1NS4gY3dyYXBwZXIg
Zm9yIHVuaW5zdGFsbGVkIGV4ZWN1dGFibGVzIChjd3JhcHBlci5hdDoyNSk6
IEZBSUxFRCAoY3dyYXBwZXIuYXQ6NzkpCj4gCj4gCjExNS4gY21kbGluZV93
cmFwLmF0OjI4OiAxMTUuIFJ1biB0ZXN0cyB3aXRoIGxvdyBtYXhfY21kX2xl
biAoY21kbGluZV93cmFwLmF0OjI4KTogRkFJTEVEIChjbWRsaW5lX3dyYXAu
YXQ6NDMpCg==

--_----------=_13840355941782731--




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.503 (Entity 5.503)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: =?UTF-8?Q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9_?=
 =?UTF-8?Q?=D0=9D=D0=BE=D0=B2=D0=B8=D0=BA=D0=BE=D0=B2?=
 <stalkien@HIDDEN>
Subject: bug#15845: Acknowledgement ([GNU Libtool 2.4.2] testsuite: 55 95
 96 97 107 115 failed)
Message-ID: <handler.15845.B.138403906124764.ack <at> debbugs.gnu.org>
References: <1384035594.169109.17827.11989@HIDDEN>
X-Gnu-PR-Message: ack 15845
X-Gnu-PR-Package: libtool
Reply-To: 15845 <at> debbugs.gnu.org
Date: Sat, 09 Nov 2013 23:18:03 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-libtool@HIDDEN

If you wish to submit further information on this problem, please
send it to 15845 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
15845: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D15845
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems



Last modified: Mon, 25 Nov 2019 12:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.