Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jan 2013 00:18:48 +0530
From:      Sulabh Kausal <sulabh.kaushal78@gmail.com>
To:        gnome@freebsd.org
Subject:   Script "configure" failed unexpectedly.
Message-ID:  <CAG%2BSyE7c%2BbBt=sC3oCTWkfN8e%2BaKycdHe8mC7NZBdAL1RgJ5RA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--bcaec54eebba4866b904d471d96d
Content-Type: text/plain; charset=ISO-8859-1

Hi Gnome,

I am new to Unix. I am trying to install firefox and getting following
error:

Script "configure" failed unexpectedly.
Please run the gnomelogalyzer, available from "
http://www.freebsd.org/gnome/gnomelogalyzer.sh". which will diagnose the
problem and suggest a solution. If - and only if - the gnomelogalyzer
cannot solve the problem, report the build failure to the FreeBSD GNOME
team at gnome@FreeBSD.org, and attach (a)
"/usr/ports/devel/goobject-introspection/work/gobject-introspection-0.10.8/config.log",
(b) the output of the failed make command, and (c) the gnomelogalyzer
output. Also, it might be a good idea to provide an overview of all
packages installed on your system (i.e. an 'ls /var/db/pkg'). Put your
attachment up on any website, copy-and-paste into
http://freebsd-gnome.pastebin.com, or use send-pr(1) with the attachment.
Try to avoid sending any attachments to the mailing list (gnome@freebsd.org),
because attachments sent to FreeBSD mailing lists are usually discarded by
the mailing list software.

That same issue is happening when I try to install x11. Please help me out,
thanks for the help!

Sending you config.log and ListOfpkage.txt files attached with this mail.

-- 
Regards,
Sulabh K.

--bcaec54eebba4866b904d471d96d
Content-Type: text/plain; charset=US-ASCII; name="ListOfPkag.txt"
Content-Disposition: attachment; filename="ListOfPkag.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hcje9y4j0

YXV0b2NvbmYtMi4xMy4wMDAyMjdfNg0KYXV0b2NvbmYtMi42OQ0KYXV0b2NvbmYtd3JhcHBlci0y
MDEwMTExOQ0KYXV0b21ha2UtMS4xMi40DQphdXRvbWFrZS13cmFwcGVyLTIwMTAxMTE5DQpiYXNo
LTQuMi4zNw0KYmlncmVxc3Byb3RvLTEuMS4xDQpiaXNvbi0yLjUuMSwxDQpjYWlyby0xLjEwLjJf
NCwyDQpjbWFrZS0yLjguOQ0KY21ha2UtbW9kdWxlcy0yLjguOQ0KZGFtYWdlcHJvdG8tMS4yLjEN
CmRiNDEtNC4xLjI1XzQNCmRidXMtMS40LjE0XzQNCmRidXMtZ2xpYi0wLjk0DQpkZXNrdG9wLWZp
bGUtdXRpbHMtMC4xOA0KZG9jYm9vay0xLjQNCmRvY2Jvb2stNC4xXzQNCmRvY2Jvb2stNC4yDQpk
b2Nib29rLTQuMw0KZG9jYm9vay00LjRfMg0KZG9jYm9vay00LjVfMg0KZG9jYm9vay01LjBfMQ0K
ZG9jYm9vay1zay00LjEuMl80DQpkb2Nib29rLXhtbC00LjJfMQ0KZG9jYm9vay14bWwtNC4zDQpk
b2Nib29rLXhtbC00LjRfMQ0KZG9jYm9vay14bWwtNC41DQpkb2Nib29rLXhzbC0xLjc2LjENCmRy
aTJwcm90by0yLjYNCmV4cGF0LTIuMC4xXzINCmZpeGVzcHJvdG8tNS4wDQpmb250Y29uZmlnLTIu
OS4wLDENCmZyZWV0eXBlMi0yLjQuOV8xDQpnYW1pbi0wLjEuMTBfNA0KZ2RibS0xLjkuMQ0KZ2V0
dGV4dC0wLjE4LjEuMQ0KZ2lvLWZhbS1iYWNrZW5kLTIuMjguOF8xDQpnbGliLTIuMjguOF80DQpn
bHByb3RvLTEuNC4xNQ0KZ21ha2UtMy44Ml8xDQpnbm9tZV9zdWJyLTEuMA0KZ3BlcmYtMy4wLjMN
CmhlbHAybWFuLTEuNDAuMTINCmh1bnNwZWxsLTEuMy4yXzENCmljdS00LjguMS4xXzENCmlucHV0
cHJvdG8tMi4wLjINCmludGx0b29sLTAuNDEuMQ0KaXNvODg3OS0xOTg2XzMNCmpwZWctOF8zDQpr
YnByb3RvLTEuMC41DQpsaWJHTC03LjYuMV8yDQpsaWJJQ0UtMS4wLjcsMQ0KbGliU00tMS4yLjAs
MQ0KbGliWDExLTEuNC40LDENCmxpYlhhdS0xLjAuNg0KbGliWGRhbWFnZS0xLjEuMw0KbGliWGRt
Y3AtMS4xLjANCmxpYlhleHQtMS4zLjBfMSwxDQpsaWJYZml4ZXMtNS4wDQpsaWJYaS0xLjQuNSwx
DQpsaWJYaW5lcmFtYS0xLjEuMSwxDQpsaWJYcmVuZGVyLTAuOS42DQpsaWJYdC0xLjEuMSwxDQps
aWJYeGY4NnZtLTEuMS4xDQpsaWJjaGVjay0wLjkuOA0KbGliZHJtLTIuNC4xN18xDQpsaWJldmVu
dDItMi4wLjIwDQpsaWJmZmktMy4wLjkNCmxpYmdjcnlwdC0xLjUuMF8xDQpsaWJncGctZXJyb3It
MS4xMA0KbGliaWNvbnYtMS4xNA0KbGliaW5vdGlmeS0yMDExMDgyOQ0KbGlicGNpYWNjZXNzLTAu
MTIuMQ0KbGlicHRocmVhZC1zdHVicy0wLjNfMw0KbGlic2lnc2Vndi0yLjEwDQpsaWJ0b29sLTIu
NC4yDQpsaWJ2cHgtMS4xLjANCmxpYnhjYi0xLjcNCmxpYnhtbDItMi43LjhfNQ0KbGlieHNsdC0x
LjEuMjZfMw0KbHlueC0yLjguNy4yLDENCm00LTEuNC4xNl8xLDENCm1ha2VkZXBlbmQtMS4wLjMs
MQ0KbWltZS1zdXBwb3J0LTMuNTIuMg0KbXV0dC0xLjUuMjENCm5zcHItNC45LjMNCm5zcy0zLjE0
DQpwNS1BdXRoZW4tTlRMTS0xLjA5DQpwNS1DcnlwdC1TU0xlYXktMC42NA0KcDUtRGlnZXN0LUhN
QUMtMS4wMw0KcDUtRW5jb2RlLUxvY2FsZS0xLjAzDQpwNS1GaWxlLUxpc3RpbmctNi4wNA0KcDUt
SFRNTC1QYXJzZXItMy42OQ0KcDUtSFRNTC1UYWdzZXQtMy4yMA0KcDUtSFRNTC1UcmVlLTQuMg0K
cDUtSFRUUC1Db29raWVzLTYuMDENCnA1LUhUVFAtRGFlbW9uLTYuMDENCnA1LUhUVFAtRGF0ZS02
LjAyDQpwNS1IVFRQLU1lc3NhZ2UtNi4wNg0KcDUtSFRUUC1OZWdvdGlhdGUtNi4wMQ0KcDUtSU8t
U29ja2V0LUlQLTAuMTcNCnA1LUlPLVNvY2tldC1TU0wtMS43Ng0KcDUtTFdQLU1lZGlhVHlwZXMt
Ni4wMg0KcDUtTFdQLVByb3RvY29sLWh0dHBzLTYuMDMNCnA1LUxvY2FsZS1nZXR0ZXh0LTEuMDVf
Mw0KcDUtTW9kdWxlLUJ1aWxkLTAuNDAwMw0KcDUtTW96aWxsYS1DQS0yMDEyMDgyM18xDQpwNS1O
ZXQtREJ1cy0xLjAuMA0KcDUtTmV0LUhUVFAtNi4wM18xDQpwNS1OZXQtU1NMZWF5LTEuNDkNCnA1
LVNvY2tldC0yLjAwNg0KcDUtVGV4dC1JY29udi0xLjcNCnA1LVRpZS1JeEhhc2gtMS4yMg0KcDUt
VGltZS1IaVJlcy0xLjk3MjUsMQ0KcDUtVVJJLTEuNjANCnA1LVdXVy1Sb2JvdFJ1bGVzLTYuMDIN
CnA1LVhNTC1Hcm92ZS0wLjQ2LmENCnA1LVhNTC1QYXJzZXItMi40MQ0KcDUtWE1MLVR3aWctMy40
MQ0KcDUtWE1MLVhQYXRoLTEuMTMNCnA1LWxpYnd3dy02LjA0DQpwNS1saWJ4bWwtMC4wOA0KcGNp
aWRzLTIwMTIwOTA2DQpwY3JlLTguMzFfMQ0KcGVybC10aHJlYWRlZC01LjE0LjJfMg0KcGl4bWFu
LTAuMjQuMg0KcGtnY29uZi0wLjguOQ0KcGtnZGIuZGINCnBuZy0xLjUuMTINCnBvcnR1cGdyYWRl
LTIuNC4xMC4yLDINCnByaW50cHJvdG8tMS4wLjUNCnB0aC0yLjAuNw0KcHkyNy1saWJ4bWwyLTIu
Ny44XzINCnB5dGhvbjI3LTIuNy4zXzMNCnJlbmRlcnByb3RvLTAuMTEuMQ0KcnVieS0xLjguNy4z
NzEsMQ0KcnVieTE4LWJkYi0wLjYuNg0Kc3FsaXRlMy0zLjcuMTQuMQ0KdW56aXAtNi4wXzENCnhj
Yi1wcm90by0xLjcuMQ0KeGNiLXV0aWwtMC4zLjgsMQ0KeGNiLXV0aWwtcmVuZGVydXRpbC0wLjMu
OA0KeGNtaXNjcHJvdG8tMS4yLjENCnhleHRwcm90by03LjIuMA0KeGY4NmJpZ2ZvbnRwcm90by0x
LjIuMA0KeGY4NnZpZG1vZGVwcm90by0yLjMuMQ0KeGluZXJhbWFwcm90by0xLjIuMQ0KeG1sY2F0
bWdyLTIuMg0KeG1sY2hhcmVudC0wLjNfMg0KeG9yZy1tYWNyb3MtMS4xNi4xDQp4cHJvdG8tNy4w
LjIyDQp4dHJhbnMtMS4yLjYNCnlhc20tMS4yLjANCnppcC0zLjANCg==
--bcaec54eebba4866b904d471d96d
Content-Type: application/octet-stream; name="config.log"
Content-Disposition: attachment; filename="config.log"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_hcjebcci1

VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUNCnJ1bm5pbmcgY29uZmlndXJlLCB0byBhaWQgZGVidWdnaW5nIGlmIGNvbmZpZ3VyZSBtYWtl
cyBhIG1pc3Rha2UuDQoNCkl0IHdhcyBjcmVhdGVkIGJ5IGdvYmplY3QtaW50cm9zcGVjdGlvbiBj
b25maWd1cmUgMC4xMC44LCB3aGljaCB3YXMNCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi42
My4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcw0KDQogICQgLi9jb25maWd1cmUgLS1kaXNh
YmxlLXRlc3RzIC0tcHJlZml4PS91c3IvbG9jYWwgLS1tYW5kaXI9L3Vzci9sb2NhbC9tYW4gLS1p
bmZvZGlyPS91c3IvbG9jYWwvaW5mby8gLS1idWlsZD1pMzg2LXBvcnRibGQtZnJlZWJzZDkuMQ0K
DQojIyAtLS0tLS0tLS0gIyMNCiMjIFBsYXRmb3JtLiAjIw0KIyMgLS0tLS0tLS0tICMjDQoNCmhv
c3RuYW1lID0gU2FuamVldg0KdW5hbWUgLW0gPSBpMzg2DQp1bmFtZSAtciA9IDkuMS1SRUxFQVNF
DQp1bmFtZSAtcyA9IEZyZWVCU0QNCnVuYW1lIC12ID0gRnJlZUJTRCA5LjEtUkVMRUFTRSAjMCBy
MjQzODI2OiBUdWUgRGVjICA0IDA2OjU1OjM5IFVUQyAyMDEyICAgICByb290QG9icmlhbi5jc2Uu
YnVmZmFsby5lZHU6L3Vzci9vYmovdXNyL3NyYy9zeXMvR0VORVJJQyANCg0KL3Vzci9iaW4vdW5h
bWUgLXAgPSBpMzg2DQovYmluL3VuYW1lIC1YICAgICA9IHVua25vd24NCg0KL2Jpbi9hcmNoICAg
ICAgICAgICAgICA9IHVua25vd24NCi91c3IvYmluL2FyY2ggLWsgICAgICAgPSB1bmtub3duDQov
dXNyL2NvbnZleC9nZXRzeXNpbmZvID0gdW5rbm93bg0KL3Vzci9iaW4vaG9zdGluZm8gICAgICA9
IHVua25vd24NCi9iaW4vbWFjaGluZSAgICAgICAgICAgPSB1bmtub3duDQovdXNyL2Jpbi9vc2xl
dmVsICAgICAgID0gdW5rbm93bg0KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVua25vd24NCg0K
UEFUSDogL3NiaW4NClBBVEg6IC9iaW4NClBBVEg6IC91c3Ivc2Jpbg0KUEFUSDogL3Vzci9iaW4N
ClBBVEg6IC91c3IvZ2FtZXMNClBBVEg6IC91c3IvbG9jYWwvc2Jpbg0KUEFUSDogL3Vzci9sb2Nh
bC9iaW4NClBBVEg6IC9yb290L2Jpbg0KDQoNCiMjIC0tLS0tLS0tLS0tICMjDQojIyBDb3JlIHRl
c3RzLiAjIw0KIyMgLS0tLS0tLS0tLS0gIyMNCg0KY29uZmlndXJlOjIyMTM6IGNoZWNraW5nIGZv
ciBhIEJTRC1jb21wYXRpYmxlIGluc3RhbGwNCmNvbmZpZ3VyZToyMjgxOiByZXN1bHQ6IC91c3Iv
YmluL2luc3RhbGwgLWMgLW8gcm9vdCAtZyB3aGVlbA0KY29uZmlndXJlOjIyOTI6IGNoZWNraW5n
IHdoZXRoZXIgYnVpbGQgZW52aXJvbm1lbnQgaXMgc2FuZQ0KY29uZmlndXJlOjIzNTI6IHJlc3Vs
dDogeWVzDQpjb25maWd1cmU6MjQ5MzogY2hlY2tpbmcgZm9yIGEgdGhyZWFkLXNhZmUgbWtkaXIg
LXANCmNvbmZpZ3VyZToyNTMyOiByZXN1bHQ6IC4vaW5zdGFsbC1zaCAtYyAtZA0KY29uZmlndXJl
OjI1NDU6IGNoZWNraW5nIGZvciBnYXdrDQpjb25maWd1cmU6MjU3NTogcmVzdWx0OiBubw0KY29u
ZmlndXJlOjI1NDU6IGNoZWNraW5nIGZvciBtYXdrDQpjb25maWd1cmU6MjU3NTogcmVzdWx0OiBu
bw0KY29uZmlndXJlOjI1NDU6IGNoZWNraW5nIGZvciBuYXdrDQpjb25maWd1cmU6MjU2MTogZm91
bmQgL3Vzci9iaW4vbmF3aw0KY29uZmlndXJlOjI1NzI6IHJlc3VsdDogbmF3aw0KY29uZmlndXJl
OjI1ODM6IGNoZWNraW5nIHdoZXRoZXIgZ21ha2Ugc2V0cyAkKE1BS0UpDQpjb25maWd1cmU6MjYw
NTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToyNjg4OiBjaGVja2luZyB3aGV0aGVyIHRvIGVuYWJs
ZSBtYWludGFpbmVyLXNwZWNpZmljIHBvcnRpb25zIG9mIE1ha2VmaWxlcw0KY29uZmlndXJlOjI2
OTc6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyNzM2OiBjaGVja2luZyBidWlsZCBzeXN0ZW0gdHlw
ZQ0KY29uZmlndXJlOjI3NTQ6IHJlc3VsdDogaTM4Ni1wb3J0YmxkLWZyZWVic2Q5LjENCmNvbmZp
Z3VyZToyNzc2OiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlDQpjb25maWd1cmU6Mjc5MTogcmVz
dWx0OiBpMzg2LXBvcnRibGQtZnJlZWJzZDkuMQ0KY29uZmlndXJlOjI4MTM6IGNoZWNraW5nIGZv
ciBXaW4zMg0KY29uZmlndXJlOjI4MjM6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToyODgzOiBjaGVj
a2luZyBmb3IgZ2NjDQpjb25maWd1cmU6MjkxMDogcmVzdWx0OiBjYw0KY29uZmlndXJlOjMxNDI6
IGNoZWNraW5nIGZvciBDIGNvbXBpbGVyIHZlcnNpb24NCmNvbmZpZ3VyZTozMTUwOiBjYyAtLXZl
cnNpb24gPiY1DQpjYyAoR0NDKSA0LjIuMSAyMDA3MDgzMSBwYXRjaGVkIFtGcmVlQlNEXQ0KQ29w
eXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KVGhpcyBpcyBm
cmVlIHNvZnR3YXJlOyBzZWUgdGhlIHNvdXJjZSBmb3IgY29weWluZyBjb25kaXRpb25zLiAgVGhl
cmUgaXMgTk8NCndhcnJhbnR5OyBub3QgZXZlbiBmb3IgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLg0KDQpjb25maWd1cmU6MzE1NDogJD8gPSAwDQpj
b25maWd1cmU6MzE2MTogY2MgLXYgPiY1DQpVc2luZyBidWlsdC1pbiBzcGVjcy4NClRhcmdldDog
aTM4Ni11bmRlcm15ZGVzay1mcmVlYnNkDQpDb25maWd1cmVkIHdpdGg6IEZyZWVCU0QvaTM4NiBz
eXN0ZW0gY29tcGlsZXINClRocmVhZCBtb2RlbDogcG9zaXgNCmdjYyB2ZXJzaW9uIDQuMi4xIDIw
MDcwODMxIHBhdGNoZWQgW0ZyZWVCU0RdDQpjb25maWd1cmU6MzE2NTogJD8gPSAwDQpjb25maWd1
cmU6MzE3MjogY2MgLVYgPiY1DQpjYzogJy1WJyBvcHRpb24gbXVzdCBoYXZlIGFyZ3VtZW50DQpj
b25maWd1cmU6MzE3NjogJD8gPSAxDQpjb25maWd1cmU6MzE5OTogY2hlY2tpbmcgZm9yIEMgY29t
cGlsZXIgZGVmYXVsdCBvdXRwdXQgZmlsZSBuYW1lDQpjb25maWd1cmU6MzIyMTogY2MgLU8yIC1w
aXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9j
YWwvbGliIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjMyMjU6ICQ/ID0gMA0KY29uZmlndXJl
OjMyNjM6IHJlc3VsdDogYS5vdXQNCmNvbmZpZ3VyZTozMjgyOiBjaGVja2luZyB3aGV0aGVyIHRo
ZSBDIGNvbXBpbGVyIHdvcmtzDQpjb25maWd1cmU6MzI5MjogLi9hLm91dA0KY29uZmlndXJlOjMy
OTY6ICQ/ID0gMA0KY29uZmlndXJlOjMzMTU6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MzMyMjog
Y2hlY2tpbmcgd2hldGhlciB3ZSBhcmUgY3Jvc3MgY29tcGlsaW5nDQpjb25maWd1cmU6MzMyNDog
cmVzdWx0OiBubw0KY29uZmlndXJlOjMzMjc6IGNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0
YWJsZXMNCmNvbmZpZ3VyZTozMzM0OiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJp
Y3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgY29uZnRl
c3QuYyAgPiY1DQpjb25maWd1cmU6MzMzODogJD8gPSAwDQpjb25maWd1cmU6MzM2NDogcmVzdWx0
OiANCmNvbmZpZ3VyZTozMzcwOiBjaGVja2luZyBmb3Igc3VmZml4IG9mIG9iamVjdCBmaWxlcw0K
Y29uZmlndXJlOjMzOTY6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91
c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjM0MDA6ICQ/ID0gMA0K
Y29uZmlndXJlOjM0MjU6IHJlc3VsdDogbw0KY29uZmlndXJlOjM0Mjk6IGNoZWNraW5nIHdoZXRo
ZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBjb21waWxlcg0KY29uZmlndXJlOjM0NTg6IGNjIC1j
IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m
dGVzdC5jID4mNQ0KY29uZmlndXJlOjM0NjU6ICQ/ID0gMA0KY29uZmlndXJlOjM0ODI6IHJlc3Vs
dDogeWVzDQpjb25maWd1cmU6MzQ5MTogY2hlY2tpbmcgd2hldGhlciBjYyBhY2NlcHRzIC1nDQpj
b25maWd1cmU6MzUyMTogY2MgLWMgLWcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+
JjUNCmNvbmZpZ3VyZTozNTI4OiAkPyA9IDANCmNvbmZpZ3VyZTozNjI5OiByZXN1bHQ6IHllcw0K
Y29uZmlndXJlOjM2NDY6IGNoZWNraW5nIGZvciBjYyBvcHRpb24gdG8gYWNjZXB0IElTTyBDODkN
CmNvbmZpZ3VyZTozNzIwOiBjYyAgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1J
L3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6MzcyNzogJD8gPSAw
DQpjb25maWd1cmU6Mzc1MDogcmVzdWx0OiBub25lIG5lZWRlZA0KY29uZmlndXJlOjM3Nzk6IGNo
ZWNraW5nIGZvciBzdHlsZSBvZiBpbmNsdWRlIHVzZWQgYnkgZ21ha2UNCmNvbmZpZ3VyZTozODA3
OiByZXN1bHQ6IEdOVQ0KY29uZmlndXJlOjM4MzI6IGNoZWNraW5nIGRlcGVuZGVuY3kgc3R5bGUg
b2YgY2MNCmNvbmZpZ3VyZTozOTQyOiByZXN1bHQ6IGdjYzMNCmNvbmZpZ3VyZTozOTYxOiBjaGVj
a2luZyB3aGV0aGVyIGNjIHVuZGVyc3RhbmRzIC1jIGFuZCAtbyB0b2dldGhlcg0KY29uZmlndXJl
OjM5OTM6IGNjIC1jIGNvbmZ0ZXN0LmMgLW8gY29uZnRlc3QyLm8gPiY1DQpjb25maWd1cmU6Mzk5
NzogJD8gPSAwDQpjb25maWd1cmU6NDAwMzogY2MgLWMgY29uZnRlc3QuYyAtbyBjb25mdGVzdDIu
byA+JjUNCmNvbmZpZ3VyZTo0MDA3OiAkPyA9IDANCmNvbmZpZ3VyZTo0MDYyOiByZXN1bHQ6IHll
cw0KY29uZmlndXJlOjQxMTQ6IGNoZWNraW5nIGZvciBhIHNlZCB0aGF0IGRvZXMgbm90IHRydW5j
YXRlIG91dHB1dA0KY29uZmlndXJlOjQxODA6IHJlc3VsdDogL3Vzci9iaW4vc2VkDQpjb25maWd1
cmU6NDE5ODogY2hlY2tpbmcgZm9yIGdyZXAgdGhhdCBoYW5kbGVzIGxvbmcgbGluZXMgYW5kIC1l
DQpjb25maWd1cmU6NDI1ODogcmVzdWx0OiAvdXNyL2Jpbi9ncmVwDQpjb25maWd1cmU6NDI2Mzog
Y2hlY2tpbmcgZm9yIGVncmVwDQpjb25maWd1cmU6NDMyNzogcmVzdWx0OiAvdXNyL2Jpbi9ncmVw
IC1FDQpjb25maWd1cmU6NDMzMjogY2hlY2tpbmcgZm9yIGZncmVwDQpjb25maWd1cmU6NDM5Njog
cmVzdWx0OiAvdXNyL2Jpbi9ncmVwIC1GDQpjb25maWd1cmU6NDQzMTogY2hlY2tpbmcgZm9yIGxk
IHVzZWQgYnkgY2MNCmNvbmZpZ3VyZTo0NDk4OiByZXN1bHQ6IC91c3IvYmluL2xkDQpjb25maWd1
cmU6NDUwNzogY2hlY2tpbmcgaWYgdGhlIGxpbmtlciAoL3Vzci9iaW4vbGQpIGlzIEdOVSBsZA0K
Y29uZmlndXJlOjQ1MjI6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6NDUzNDogY2hlY2tpbmcgZm9y
IEJTRC0gb3IgTVMtY29tcGF0aWJsZSBuYW1lIGxpc3RlciAobm0pDQpjb25maWd1cmU6NDU4Mzog
cmVzdWx0OiAvdXNyL2Jpbi9ubSAtQg0KY29uZmlndXJlOjQ3MDE6IGNoZWNraW5nIHRoZSBuYW1l
IGxpc3RlciAoL3Vzci9iaW4vbm0gLUIpIGludGVyZmFjZQ0KY29uZmlndXJlOjQ3MDg6IGNjIC1j
IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m
dGVzdC5jID4mNQ0KY29uZmlndXJlOjQ3MTE6IC91c3IvYmluL25tIC1CICJjb25mdGVzdC5vIg0K
Y29uZmlndXJlOjQ3MTQ6IG91dHB1dA0KMDAwMDAwMDAgQiBzb21lX3ZhcmlhYmxlDQpjb25maWd1
cmU6NDcyMTogcmVzdWx0OiBCU0Qgbm0NCmNvbmZpZ3VyZTo0NzI0OiBjaGVja2luZyB3aGV0aGVy
IGxuIC1zIHdvcmtzDQpjb25maWd1cmU6NDcyODogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo0NzM2
OiBjaGVja2luZyB0aGUgbWF4aW11bSBsZW5ndGggb2YgY29tbWFuZCBsaW5lIGFyZ3VtZW50cw0K
Y29uZmlndXJlOjQ4NTY6IHJlc3VsdDogMjYyMTQ0DQpjb25maWd1cmU6NDg3MzogY2hlY2tpbmcg
d2hldGhlciB0aGUgc2hlbGwgdW5kZXJzdGFuZHMgc29tZSBYU0kgY29uc3RydWN0cw0KY29uZmln
dXJlOjQ4ODM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6NDg4NzogY2hlY2tpbmcgd2hldGhlciB0
aGUgc2hlbGwgdW5kZXJzdGFuZHMgIis9Ig0KY29uZmlndXJlOjQ4OTM6IHJlc3VsdDogbm8NCmNv
bmZpZ3VyZTo0OTI4OiBjaGVja2luZyBmb3IgL3Vzci9iaW4vbGQgb3B0aW9uIHRvIHJlbG9hZCBv
YmplY3QgZmlsZXMNCmNvbmZpZ3VyZTo0OTM1OiByZXN1bHQ6IC1yDQpjb25maWd1cmU6NTAwNDog
Y2hlY2tpbmcgZm9yIG9iamR1bXANCmNvbmZpZ3VyZTo1MDIwOiBmb3VuZCAvdXNyL2Jpbi9vYmpk
dW1wDQpjb25maWd1cmU6NTAzMTogcmVzdWx0OiBvYmpkdW1wDQpjb25maWd1cmU6NTA2MzogY2hl
Y2tpbmcgaG93IHRvIHJlY29nbml6ZSBkZXBlbmRlbnQgbGlicmFyaWVzDQpjb25maWd1cmU6NTI1
OTogcmVzdWx0OiBwYXNzX2FsbA0KY29uZmlndXJlOjUzMTk6IGNoZWNraW5nIGZvciBhcg0KY29u
ZmlndXJlOjUzMzU6IGZvdW5kIC91c3IvYmluL2FyDQpjb25maWd1cmU6NTM0NjogcmVzdWx0OiBh
cg0KY29uZmlndXJlOjU0MjQ6IGNoZWNraW5nIGZvciBzdHJpcA0KY29uZmlndXJlOjU0NDA6IGZv
dW5kIC91c3IvYmluL3N0cmlwDQpjb25maWd1cmU6NTQ1MTogcmVzdWx0OiBzdHJpcA0KY29uZmln
dXJlOjU1MjM6IGNoZWNraW5nIGZvciByYW5saWINCmNvbmZpZ3VyZTo1NTM5OiBmb3VuZCAvdXNy
L2Jpbi9yYW5saWINCmNvbmZpZ3VyZTo1NTUwOiByZXN1bHQ6IHJhbmxpYg0KY29uZmlndXJlOjU2
NDA6IGNoZWNraW5nIGNvbW1hbmQgdG8gcGFyc2UgL3Vzci9iaW4vbm0gLUIgb3V0cHV0IGZyb20g
Y2Mgb2JqZWN0DQpjb25maWd1cmU6NTc1ODogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFs
aWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NTc2
MTogJD8gPSAwDQpjb25maWd1cmU6NTc2NTogL3Vzci9iaW4vbm0gLUIgY29uZnRlc3QubyBcfCBz
ZWQgLW4gLWUgJ3MvXi4qWwkgXVwoW0FCQ0RHSVJTVFddW0FCQ0RHSVJTVFddKlwpWwkgXVsJIF0q
XChbX0EtWmEtel1bX0EtWmEtejAtOV0qXCkkL1wxIFwyIFwyL3AnIFw+IGNvbmZ0ZXN0Lm5tDQpj
b25maWd1cmU6NTc2ODogJD8gPSAwDQpjb25maWd1cmU6NTgyMjogY2MgLW8gY29uZnRlc3QgLU8y
IC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3Iv
bG9jYWwvbGliIGNvbmZ0ZXN0LmMgY29uZnRzdG0ubyA+JjUNCmNvbmZpZ3VyZTo1ODI1OiAkPyA9
IDANCmNvbmZpZ3VyZTo1ODYzOiByZXN1bHQ6IG9rDQpjb25maWd1cmU6NjczMDogY2hlY2tpbmcg
aG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3INCmNvbmZpZ3VyZTo2ODQ4OiByZXN1bHQ6IGNw
cA0KY29uZmlndXJlOjY4Nzc6IGNwcCAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jDQpj
b25maWd1cmU6Njg4NDogJD8gPSAwDQpjb25maWd1cmU6NjkxNTogY3BwIC1JL3Vzci9sb2NhbC9p
bmNsdWRlIGNvbmZ0ZXN0LmMNCmNvbmZ0ZXN0LmM6MTA6Mjg6IGVycm9yOiBhY19ub25leGlzdGVu
dC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5DQpjb25maWd1cmU6NjkyMjogJD8gPSAxDQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8ICNk
ZWZpbmUgUEFDS0FHRV9OQU1FICJnb2JqZWN0LWludHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FICJnb2JqZWN0LWludHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRV9W
RVJTSU9OICIwLjEwLjgiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdvYmplY3QtaW50cm9z
cGVjdGlvbiAwLjEwLjgiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6
aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWImY29tcG9uZW50PWludHJv
c3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIg0KfCAj
ZGVmaW5lIFZFUlNJT04gIjAuMTAuOCINCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLw0KfCAjaW5j
bHVkZSA8YWNfbm9uZXhpc3RlbnQuaD4NCmNvbmZpZ3VyZTo2OTYyOiBjaGVja2luZyBmb3IgQU5T
SSBDIGhlYWRlciBmaWxlcw0KY29uZmlndXJlOjY5OTI6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0
cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQ0KY29uZmln
dXJlOjY5OTk6ICQ/ID0gMA0KY29uZmlndXJlOjcwOTg6IGNjIC1vIGNvbmZ0ZXN0IC1PMiAtcGlw
ZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2Fs
L2xpYiBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZTo3MTAyOiAkPyA9IDANCmNvbmZpZ3VyZTo3
MTA4OiAuL2NvbmZ0ZXN0DQpjb25maWd1cmU6NzExMjogJD8gPSAwDQpjb25maWd1cmU6NzEzMDog
cmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo3MTU0OiBjaGVja2luZyBmb3Igc3lzL3R5cGVzLmgNCmNv
bmZpZ3VyZTo3MTc1OiBjYyAtYyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNy
L2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUNCmNvbmZpZ3VyZTo3MTgyOiAkPyA9IDANCmNv
bmZpZ3VyZTo3MTk5OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjcxNTQ6IGNoZWNraW5nIGZvciBz
eXMvc3RhdC5oDQpjb25maWd1cmU6NzE3NTogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFs
aWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NzE4
MjogJD8gPSAwDQpjb25maWd1cmU6NzE5OTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo3MTU0OiBj
aGVja2luZyBmb3Igc3RkbGliLmgNCmNvbmZpZ3VyZTo3MTc1OiBjYyAtYyAtTzIgLXBpcGUgLWZu
by1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYyA+JjUNCmNv
bmZpZ3VyZTo3MTgyOiAkPyA9IDANCmNvbmZpZ3VyZTo3MTk5OiByZXN1bHQ6IHllcw0KY29uZmln
dXJlOjcxNTQ6IGNoZWNraW5nIGZvciBzdHJpbmcuaA0KY29uZmlndXJlOjcxNzU6IGNjIC1jIC1P
MiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVz
dC5jID4mNQ0KY29uZmlndXJlOjcxODI6ICQ/ID0gMA0KY29uZmlndXJlOjcxOTk6IHJlc3VsdDog
eWVzDQpjb25maWd1cmU6NzE1NDogY2hlY2tpbmcgZm9yIG1lbW9yeS5oDQpjb25maWd1cmU6NzE3
NTogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NzE4MjogJD8gPSAwDQpjb25maWd1cmU6NzE5
OTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo3MTU0OiBjaGVja2luZyBmb3Igc3RyaW5ncy5oDQpj
b25maWd1cmU6NzE3NTogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vz
ci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NzE4MjogJD8gPSAwDQpj
b25maWd1cmU6NzE5OTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo3MTU0OiBjaGVja2luZyBmb3Ig
aW50dHlwZXMuaA0KY29uZmlndXJlOjcxNzU6IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1h
bGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjcx
ODI6ICQ/ID0gMA0KY29uZmlndXJlOjcxOTk6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6NzE1NDog
Y2hlY2tpbmcgZm9yIHN0ZGludC5oDQpjb25maWd1cmU6NzE3NTogY2MgLWMgLU8yIC1waXBlIC1m
bm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlIGNvbmZ0ZXN0LmMgPiY1DQpj
b25maWd1cmU6NzE4MjogJD8gPSAwDQpjb25maWd1cmU6NzE5OTogcmVzdWx0OiB5ZXMNCmNvbmZp
Z3VyZTo3MTU0OiBjaGVja2luZyBmb3IgdW5pc3RkLmgNCmNvbmZpZ3VyZTo3MTc1OiBjYyAtYyAt
TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl
c3QuYyA+JjUNCmNvbmZpZ3VyZTo3MTgyOiAkPyA9IDANCmNvbmZpZ3VyZTo3MTk5OiByZXN1bHQ6
IHllcw0KY29uZmlndXJlOjcyMTc6IGNoZWNraW5nIGZvciBkbGZjbi5oDQpjb25maWd1cmU6NzIz
ODogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNs
dWRlIGNvbmZ0ZXN0LmMgPiY1DQpjb25maWd1cmU6NzI0NTogJD8gPSAwDQpjb25maWd1cmU6NzI2
MjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo3NDQ4OiBjaGVja2luZyBmb3Igb2JqZGlyDQpjb25m
aWd1cmU6NzQ2MzogcmVzdWx0OiAubGlicw0KY29uZmlndXJlOjc3NTk6IGNoZWNraW5nIGlmIGNj
IHN1cHBvcnRzIC1mbm8tcnR0aSAtZm5vLWV4Y2VwdGlvbnMNCmNvbmZpZ3VyZTo3Nzc3OiBjYyAt
YyAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLWZu
by1ydHRpIC1mbm8tZXhjZXB0aW9ucyBjb25mdGVzdC5jID4mNQ0KY2MxOiB3YXJuaW5nOiBjb21t
YW5kIGxpbmUgb3B0aW9uICItZm5vLXJ0dGkiIGlzIHZhbGlkIGZvciBDKysvT2JqQysrIGJ1dCBu
b3QgZm9yIEMNCmNvbmZpZ3VyZTo3NzgxOiAkPyA9IDANCmNvbmZpZ3VyZTo3Nzk0OiByZXN1bHQ6
IG5vDQpjb25maWd1cmU6NzgxNDogY2hlY2tpbmcgZm9yIGNjIG9wdGlvbiB0byBwcm9kdWNlIFBJ
Qw0KY29uZmlndXJlOjgwODY6IHJlc3VsdDogLWZQSUMgLURQSUMNCmNvbmZpZ3VyZTo4MDk4OiBj
aGVja2luZyBpZiBjYyBQSUMgZmxhZyAtZlBJQyAtRFBJQyB3b3Jrcw0KY29uZmlndXJlOjgxMTY6
IGNjIC1jIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVk
ZSAtZlBJQyAtRFBJQyAtRFBJQyBjb25mdGVzdC5jID4mNQ0KY29uZmlndXJlOjgxMjA6ICQ/ID0g
MA0KY29uZmlndXJlOjgxMzM6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6ODE1NzogY2hlY2tpbmcg
aWYgY2Mgc3RhdGljIGZsYWcgLXN0YXRpYyB3b3Jrcw0KY29uZmlndXJlOjgxODU6IHJlc3VsdDog
eWVzDQpjb25maWd1cmU6ODIwMDogY2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5v
DQpjb25maWd1cmU6ODIyMTogY2MgLWMgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1J
L3Vzci9sb2NhbC9pbmNsdWRlIC1vIG91dC9jb25mdGVzdDIubyBjb25mdGVzdC5jID4mNQ0KY29u
ZmlndXJlOjgyMjU6ICQ/ID0gMA0KY29uZmlndXJlOjgyNDc6IHJlc3VsdDogeWVzDQpjb25maWd1
cmU6ODI1NTogY2hlY2tpbmcgaWYgY2Mgc3VwcG9ydHMgLWMgLW8gZmlsZS5vDQpjb25maWd1cmU6
ODMwMjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo4MzM1OiBjaGVja2luZyB3aGV0aGVyIHRoZSBj
YyBsaW5rZXIgKC91c3IvYmluL2xkKSBzdXBwb3J0cyBzaGFyZWQgbGlicmFyaWVzDQpjb25maWd1
cmU6OTQwOTogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZTo5NDQ2OiBjaGVja2luZyB3aGV0aGVyIC1s
YyBzaG91bGQgYmUgZXhwbGljaXRseSBsaW5rZWQgaW4NCmNvbmZpZ3VyZTo5NDUxOiBjYyAtYyAt
TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRl
c3QuYyA+JjUNCmNvbmZpZ3VyZTo5NDU0OiAkPyA9IDANCmNvbmZpZ3VyZTo5NDY5OiBjYyAtc2hh
cmVkIGNvbmZ0ZXN0Lm8gIC12IC1XbCwtc29uYW1lIC1XbCxjb25mdGVzdCAtbyBjb25mdGVzdCAy
XD5cJjEgXHwgL3Vzci9iaW4vZ3JlcCAgLWxjICBcPi9kZXYvbnVsbCAyXD5cJjENCmNvbmZpZ3Vy
ZTo5NDcyOiAkPyA9IDANCmNvbmZpZ3VyZTo5NDg0OiByZXN1bHQ6IG5vDQpjb25maWd1cmU6OTY0
ODogY2hlY2tpbmcgZHluYW1pYyBsaW5rZXIgY2hhcmFjdGVyaXN0aWNzDQpjb25maWd1cmU6MTAz
MzQ6IHJlc3VsdDogZnJlZWJzZDkuMSBsZC5zbw0KY29uZmlndXJlOjEwNDM2OiBjaGVja2luZyBo
b3cgdG8gaGFyZGNvZGUgbGlicmFyeSBwYXRocyBpbnRvIHByb2dyYW1zDQpjb25maWd1cmU6MTA0
NjE6IHJlc3VsdDogaW1tZWRpYXRlDQpjb25maWd1cmU6MTEyOTQ6IGNoZWNraW5nIHdoZXRoZXIg
c3RyaXBwaW5nIGxpYnJhcmllcyBpcyBwb3NzaWJsZQ0KY29uZmlndXJlOjExMjk5OiByZXN1bHQ6
IHllcw0KY29uZmlndXJlOjExMzM0OiBjaGVja2luZyBpZiBsaWJ0b29sIHN1cHBvcnRzIHNoYXJl
ZCBsaWJyYXJpZXMNCmNvbmZpZ3VyZToxMTMzNjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxMTMz
OTogY2hlY2tpbmcgd2hldGhlciB0byBidWlsZCBzaGFyZWQgbGlicmFyaWVzDQpjb25maWd1cmU6
MTEzNjA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTEzNjM6IGNoZWNraW5nIHdoZXRoZXIgdG8g
YnVpbGQgc3RhdGljIGxpYnJhcmllcw0KY29uZmlndXJlOjExMzY3OiByZXN1bHQ6IHllcw0KY29u
ZmlndXJlOjExNDUxOiBjaGVja2luZyBmb3IgcGtnLWNvbmZpZw0KY29uZmlndXJlOjExNDY5OiBm
b3VuZCAvdXNyL2xvY2FsL2Jpbi9wa2ctY29uZmlnDQpjb25maWd1cmU6MTE0ODE6IHJlc3VsdDog
L3Vzci9sb2NhbC9iaW4vcGtnLWNvbmZpZw0KY29uZmlndXJlOjExNTA2OiBjaGVja2luZyBwa2ct
Y29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24gMC45LjANCmNvbmZpZ3VyZToxMTUwOTogcmVzdWx0
OiB5ZXMNCmNvbmZpZ3VyZToxMTUyMzogY2hlY2tpbmcgZm9yIGZsZXgNCmNvbmZpZ3VyZToxMTUz
OTogZm91bmQgL3Vzci9iaW4vZmxleA0KY29uZmlndXJlOjExNTUwOiByZXN1bHQ6IGZsZXgNCmNv
bmZpZ3VyZToxMTU4NzogZmxleCBjb25mdGVzdC5sDQpjb25maWd1cmU6MTE1OTE6ICQ/ID0gMA0K
Y29uZmlndXJlOjExNTkzOiBjaGVja2luZyBsZXggb3V0cHV0IGZpbGUgcm9vdA0KY29uZmlndXJl
OjExNjA5OiByZXN1bHQ6IGxleC55eQ0KY29uZmlndXJlOjExNjE0OiBjaGVja2luZyBsZXggbGli
cmFyeQ0KY29uZmlndXJlOjExNjMzOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBpcGUgLWZuby1zdHJp
Y3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgY29uZnRl
c3QuYyAgID4mNQ0KY29uZnRlc3QubDogSW4gZnVuY3Rpb24gJ3l5bGV4JzoNCmNvbmZ0ZXN0Lmw6
Njogd2FybmluZzogY29tcGFyaXNvbiBiZXR3ZWVuIHBvaW50ZXIgYW5kIGludGVnZXINCmNvbmZ0
ZXN0Lmw6Njogd2FybmluZzogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3
aXRob3V0IGEgY2FzdA0KL3RtcC8vY2M2bHk0N3kubzogSW4gZnVuY3Rpb24gYGlucHV0JzoNCmNv
bmZ0ZXN0LmM6KC50ZXh0KzB4N2Y2KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeXl3cmFwJw0K
L3RtcC8vY2M2bHk0N3kubzogSW4gZnVuY3Rpb24gYHl5bGV4JzoNCmNvbmZ0ZXN0LmM6KC50ZXh0
KzB4YzE5KTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeXl3cmFwJw0KL3RtcC8vY2M2bHk0N3ku
bzogSW4gZnVuY3Rpb24gYG1haW4nOg0KY29uZnRlc3QuYzooLnRleHQrMHhkY2YpOiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGB5eXdyYXAnDQpjb25maWd1cmU6MTE2NDA6ICQ/ID0gMQ0KY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6DQp8IC8qIEEgbGV4aWNhbCBzY2FubmVyIGdlbmVyYXRl
ZCBieSBmbGV4ICovDQp8IA0KfCAvKiBTY2FubmVyIHNrZWxldG9uIHZlcnNpb246DQp8ICAqICRI
ZWFkZXI6IC9ob21lL2RhZmZ5L3UwL3Zlcm4vZmxleC9SQ1MvZmxleC5za2wsdiAyLjkxIDk2LzA5
LzEwIDE2OjU4OjQ4IHZlcm4gRXhwICQNCnwgICogJEZyZWVCU0Q6IHJlbGVhc2UvOS4xLjAvdXNy
LmJpbi9sZXgvZmxleC5za2wgMjE0MjcyIDIwMTAtMTAtMjQgMTU6MzE6NDFaIHVxcyAkDQp8ICAq
Lw0KfCANCnwgI2lmIGRlZmluZWQoX19GcmVlQlNEX18pDQp8ICNpbmNsdWRlIDxzeXMvY2RlZnMu
aD4NCnwgI2Vsc2UNCnwgI2RlZmluZSBfX3VudXNlZA0KfCAjZGVmaW5lIF9fZGVhZDINCnwgI2Vu
ZGlmDQp8IA0KfCAjZGVmaW5lIEZMRVhfU0NBTk5FUg0KfCAjZGVmaW5lIFlZX0ZMRVhfTUFKT1Jf
VkVSU0lPTiAyDQp8ICNkZWZpbmUgWVlfRkxFWF9NSU5PUl9WRVJTSU9OIDUNCnwgDQp8ICNpbmNs
dWRlIDxzdGRpby5oPg0KfCANCnwgDQp8IC8qIGNmcm9udCAxLjIgZGVmaW5lcyAiY19wbHVzcGx1
cyIgaW5zdGVhZCBvZiAiX19jcGx1c3BsdXMiICovDQp8ICNpZmRlZiBjX3BsdXNwbHVzDQp8ICNp
Zm5kZWYgX19jcGx1c3BsdXMNCnwgI2RlZmluZSBfX2NwbHVzcGx1cw0KfCAjZW5kaWYNCnwgI2Vu
ZGlmDQp8IA0KfCANCnwgI2lmZGVmIF9fY3BsdXNwbHVzDQp8IA0KfCAjaW5jbHVkZSA8c3RkbGli
Lmg+DQp8ICNpbmNsdWRlIDx1bmlzdGQuaD4NCnwgDQp8IC8qIFVzZSBwcm90b3R5cGVzIGluIGZ1
bmN0aW9uIGRlY2xhcmF0aW9ucy4gKi8NCnwgI2RlZmluZSBZWV9VU0VfUFJPVE9TDQp8IA0KfCAv
KiBUaGUgImNvbnN0IiBzdG9yYWdlLWNsYXNzLW1vZGlmaWVyIGlzIHZhbGlkLiAqLw0KfCAjZGVm
aW5lIFlZX1VTRV9DT05TVA0KfCANCnwgI2Vsc2UJLyogISBfX2NwbHVzcGx1cyAqLw0KfCANCnwg
I2lmIF9fU1REQ19fDQp8IA0KfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MNCnwgI2RlZmluZSBZWV9V
U0VfQ09OU1QNCnwgDQp8ICNlbmRpZgkvKiBfX1NURENfXyAqLw0KfCAjZW5kaWYJLyogISBfX2Nw
bHVzcGx1cyAqLw0KfCANCnwgI2lmZGVmIF9fVFVSQk9DX18NCnwgICNwcmFnbWEgd2FybiAtcmNo
DQp8ICAjcHJhZ21hIHdhcm4gLXVzZQ0KfCAjaW5jbHVkZSA8aW8uaD4NCnwgI2luY2x1ZGUgPHN0
ZGxpYi5oPg0KfCAjZGVmaW5lIFlZX1VTRV9DT05TVA0KfCAjZGVmaW5lIFlZX1VTRV9QUk9UT1MN
CnwgI2VuZGlmDQp8IA0KfCAjaWZkZWYgWVlfVVNFX0NPTlNUDQp8ICNkZWZpbmUgeXljb25zdCBj
b25zdA0KfCAjZWxzZQ0KfCAjZGVmaW5lIHl5Y29uc3QNCnwgI2VuZGlmDQp8IA0KfCANCnwgI2lm
ZGVmIFlZX1VTRV9QUk9UT1MNCnwgI2RlZmluZSBZWV9QUk9UTyhwcm90bykgcHJvdG8NCnwgI2Vs
c2UNCnwgI2RlZmluZSBZWV9QUk9UTyhwcm90bykgKCkNCnwgI2VuZGlmDQp8IA0KfCAvKiBSZXR1
cm5lZCB1cG9uIGVuZC1vZi1maWxlLiAqLw0KfCAjZGVmaW5lIFlZX05VTEwgMA0KfCANCnwgLyog
UHJvbW90ZXMgYSBwb3NzaWJseSBuZWdhdGl2ZSwgcG9zc2libHkgc2lnbmVkIGNoYXIgdG8gYW4g
dW5zaWduZWQNCnwgICogaW50ZWdlciBmb3IgdXNlIGFzIGFuIGFycmF5IGluZGV4LiAgSWYgdGhl
IHNpZ25lZCBjaGFyIGlzIG5lZ2F0aXZlLA0KfCAgKiB3ZSB3YW50IHRvIGluc3RlYWQgdHJlYXQg
aXQgYXMgYW4gOC1iaXQgdW5zaWduZWQgY2hhciwgaGVuY2UgdGhlDQp8ICAqIGRvdWJsZSBjYXN0
Lg0KfCAgKi8NCnwgI2RlZmluZSBZWV9TQ19UT19VSShjKSAoKHVuc2lnbmVkIGludCkgKHVuc2ln
bmVkIGNoYXIpIGMpDQp8IA0KfCAvKiBFbnRlciBhIHN0YXJ0IGNvbmRpdGlvbi4gIFRoaXMgbWFj
cm8gcmVhbGx5IG91Z2h0IHRvIHRha2UgYSBwYXJhbWV0ZXIsDQp8ICAqIGJ1dCB3ZSBkbyBpdCB0
aGUgZGlzZ3VzdGluZyBjcnVmdHkgd2F5IGZvcmNlZCBvbiB1cyBieSB0aGUgKCktbGVzcw0KfCAg
KiBkZWZpbml0aW9uIG9mIEJFR0lOLg0KfCAgKi8NCnwgI2RlZmluZSBCRUdJTiB5eV9zdGFydCA9
IDEgKyAyICoNCnwgDQp8IC8qIFRyYW5zbGF0ZSB0aGUgY3VycmVudCBzdGFydCBzdGF0ZSBpbnRv
IGEgdmFsdWUgdGhhdCBjYW4gYmUgbGF0ZXIgaGFuZGVkDQp8ICAqIHRvIEJFR0lOIHRvIHJldHVy
biB0byB0aGUgc3RhdGUuICBUaGUgWVlTVEFURSBhbGlhcyBpcyBmb3IgbGV4DQp8ICAqIGNvbXBh
dGliaWxpdHkuDQp8ICAqLw0KfCAjZGVmaW5lIFlZX1NUQVJUICgoeXlfc3RhcnQgLSAxKSAvIDIp
DQp8ICNkZWZpbmUgWVlTVEFURSBZWV9TVEFSVA0KfCANCnwgLyogQWN0aW9uIG51bWJlciBmb3Ig
RU9GIHJ1bGUgb2YgYSBnaXZlbiBzdGFydCBzdGF0ZS4gKi8NCnwgI2RlZmluZSBZWV9TVEFURV9F
T0Yoc3RhdGUpIChZWV9FTkRfT0ZfQlVGRkVSICsgc3RhdGUgKyAxKQ0KfCANCnwgLyogU3BlY2lh
bCBhY3Rpb24gbWVhbmluZyAic3RhcnQgcHJvY2Vzc2luZyBhIG5ldyBmaWxlIi4gKi8NCnwgI2Rl
ZmluZSBZWV9ORVdfRklMRSB5eXJlc3RhcnQoIHl5aW4gKQ0KfCANCnwgI2RlZmluZSBZWV9FTkRf
T0ZfQlVGRkVSX0NIQVIgMA0KfCANCnwgLyogU2l6ZSBvZiBkZWZhdWx0IGlucHV0IGJ1ZmZlci4g
Ki8NCnwgI2RlZmluZSBZWV9CVUZfU0laRSAxNjM4NA0KfCANCnwgdHlwZWRlZiBzdHJ1Y3QgeXlf
YnVmZmVyX3N0YXRlICpZWV9CVUZGRVJfU1RBVEU7DQp8IA0KfCBleHRlcm4gaW50IHl5bGVuZzsN
CnwgZXh0ZXJuIEZJTEUgKnl5aW4sICp5eW91dDsNCnwgDQp8ICNkZWZpbmUgRU9CX0FDVF9DT05U
SU5VRV9TQ0FOIDANCnwgI2RlZmluZSBFT0JfQUNUX0VORF9PRl9GSUxFIDENCnwgI2RlZmluZSBF
T0JfQUNUX0xBU1RfTUFUQ0ggMg0KfCANCnwgLyogVGhlIGZ1bmt5IGRvLXdoaWxlIGluIHRoZSBm
b2xsb3dpbmcgI2RlZmluZSBpcyB1c2VkIHRvIHR1cm4gdGhlIGRlZmluaXRpb24NCnwgICogaW50
IGEgc2luZ2xlIEMgc3RhdGVtZW50ICh3aGljaCBuZWVkcyBhIHNlbWktY29sb24gdGVybWluYXRv
cikuICBUaGlzDQp8ICAqIGF2b2lkcyBwcm9ibGVtcyB3aXRoIGNvZGUgbGlrZToNCnwgICoNCnwg
ICogCWlmICggY29uZGl0aW9uX2hvbGRzICkNCnwgICoJCXl5bGVzcyggNSApOw0KfCAgKgllbHNl
DQp8ICAqCQlkb19zb21ldGhpbmdfZWxzZSgpOw0KfCAgKg0KfCAgKiBQcmlvciB0byB1c2luZyB0
aGUgZG8td2hpbGUgdGhlIGNvbXBpbGVyIHdvdWxkIGdldCB1cHNldCBhdCB0aGUNCnwgICogImVs
c2UiIGJlY2F1c2UgaXQgaW50ZXJwcmV0ZWQgdGhlICJpZiIgc3RhdGVtZW50IGFzIGJlaW5nIGFs
bA0KfCAgKiBkb25lIHdoZW4gaXQgcmVhY2hlZCB0aGUgJzsnIGFmdGVyIHRoZSB5eWxlc3MoKSBj
YWxsLg0KfCAgKi8NCnwgDQp8IC8qIFJldHVybiBhbGwgYnV0IHRoZSBmaXJzdCAnbicgbWF0Y2hl
ZCBjaGFyYWN0ZXJzIGJhY2sgdG8gdGhlIGlucHV0IHN0cmVhbS4gKi8NCnwgDQp8ICNkZWZpbmUg
eXlsZXNzKG4pIFwNCnwgCWRvIFwNCnwgCQl7IFwNCnwgCQkvKiBVbmRvIGVmZmVjdHMgb2Ygc2V0
dGluZyB1cCB5eXRleHQuICovIFwNCnwgCQkqeXlfY3AgPSB5eV9ob2xkX2NoYXI7IFwNCnwgCQlZ
WV9SRVNUT1JFX1lZX01PUkVfT0ZGU0VUIFwNCnwgCQl5eV9jX2J1Zl9wID0geXlfY3AgPSB5eV9i
cCArIG4gLSBZWV9NT1JFX0FESjsgXA0KfCAJCVlZX0RPX0JFRk9SRV9BQ1RJT047IC8qIHNldCB1
cCB5eXRleHQgYWdhaW4gKi8gXA0KfCAJCX0gXA0KfCAJd2hpbGUgKCAwICkNCnwgDQp8ICNkZWZp
bmUgdW5wdXQoYykgeXl1bnB1dCggYywgeXl0ZXh0X3B0ciApDQp8IA0KfCAvKiBUaGUgZm9sbG93
aW5nIGlzIGJlY2F1c2Ugd2UgY2Fubm90IHBvcnRhYmx5IGdldCBvdXIgaGFuZHMgb24gc2l6ZV90
DQp8ICAqICh3aXRob3V0IGF1dG9jb25mJ3MgaGVscCwgd2hpY2ggaXNuJ3QgYXZhaWxhYmxlIGJl
Y2F1c2Ugd2Ugd2FudA0KfCAgKiBmbGV4LWdlbmVyYXRlZCBzY2FubmVycyB0byBjb21waWxlIG9u
IHRoZWlyIG93bikuDQp8ICAqLw0KfCB0eXBlZGVmIHVuc2lnbmVkIGludCB5eV9zaXplX3Q7DQp8
IA0KfCANCnwgc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZQ0KfCAJew0KfCAJRklMRSAqeXlfaW5wdXRf
ZmlsZTsNCnwgDQp8IAljaGFyICp5eV9jaF9idWY7CQkvKiBpbnB1dCBidWZmZXIgKi8NCnwgCWNo
YXIgKnl5X2J1Zl9wb3M7CQkvKiBjdXJyZW50IHBvc2l0aW9uIGluIGlucHV0IGJ1ZmZlciAqLw0K
fCANCnwgCS8qIFNpemUgb2YgaW5wdXQgYnVmZmVyIGluIGJ5dGVzLCBub3QgaW5jbHVkaW5nIHJv
b20gZm9yIEVPQg0KfCAJICogY2hhcmFjdGVycy4NCnwgCSAqLw0KfCAJeXlfc2l6ZV90IHl5X2J1
Zl9zaXplOw0KfCANCnwgCS8qIE51bWJlciBvZiBjaGFyYWN0ZXJzIHJlYWQgaW50byB5eV9jaF9i
dWYsIG5vdCBpbmNsdWRpbmcgRU9CDQp8IAkgKiBjaGFyYWN0ZXJzLg0KfCAJICovDQp8IAlpbnQg
eXlfbl9jaGFyczsNCnwgDQp8IAkvKiBXaGV0aGVyIHdlICJvd24iIHRoZSBidWZmZXIgLSBpLmUu
LCB3ZSBrbm93IHdlIGNyZWF0ZWQgaXQsDQp8IAkgKiBhbmQgY2FuIHJlYWxsb2MoKSBpdCB0byBn
cm93IGl0LCBhbmQgc2hvdWxkIGZyZWUoKSBpdCB0bw0KfCAJICogZGVsZXRlIGl0Lg0KfCAJICov
DQp8IAlpbnQgeXlfaXNfb3VyX2J1ZmZlcjsNCnwgDQp8IAkvKiBXaGV0aGVyIHRoaXMgaXMgYW4g
ImludGVyYWN0aXZlIiBpbnB1dCBzb3VyY2U7IGlmIHNvLCBhbmQNCnwgCSAqIGlmIHdlJ3JlIHVz
aW5nIHN0ZGlvIGZvciBpbnB1dCwgdGhlbiB3ZSB3YW50IHRvIHVzZSBnZXRjKCkNCnwgCSAqIGlu
c3RlYWQgb2YgZnJlYWQoKSwgdG8gbWFrZSBzdXJlIHdlIHN0b3AgZmV0Y2hpbmcgaW5wdXQgYWZ0
ZXINCnwgCSAqIGVhY2ggbmV3bGluZS4NCnwgCSAqLw0KfCAJaW50IHl5X2lzX2ludGVyYWN0aXZl
Ow0KfCANCnwgCS8qIFdoZXRoZXIgd2UncmUgY29uc2lkZXJlZCB0byBiZSBhdCB0aGUgYmVnaW5u
aW5nIG9mIGEgbGluZS4NCnwgCSAqIElmIHNvLCAnXicgcnVsZXMgd2lsbCBiZSBhY3RpdmUgb24g
dGhlIG5leHQgbWF0Y2gsIG90aGVyd2lzZQ0KfCAJICogbm90Lg0KfCAJICovDQp8IAlpbnQgeXlf
YXRfYm9sOw0KfCANCnwgCS8qIFdoZXRoZXIgdG8gdHJ5IHRvIGZpbGwgdGhlIGlucHV0IGJ1ZmZl
ciB3aGVuIHdlIHJlYWNoIHRoZQ0KfCAJICogZW5kIG9mIGl0Lg0KfCAJICovDQp8IAlpbnQgeXlf
ZmlsbF9idWZmZXI7DQp8IA0KfCAJaW50IHl5X2J1ZmZlcl9zdGF0dXM7DQp8ICNkZWZpbmUgWVlf
QlVGRkVSX05FVyAwDQp8ICNkZWZpbmUgWVlfQlVGRkVSX05PUk1BTCAxDQp8IAkvKiBXaGVuIGFu
IEVPRidzIGJlZW4gc2VlbiBidXQgdGhlcmUncyBzdGlsbCBzb21lIHRleHQgdG8gcHJvY2Vzcw0K
fCAJICogdGhlbiB3ZSBtYXJrIHRoZSBidWZmZXIgYXMgWVlfRU9GX1BFTkRJTkcsIHRvIGluZGlj
YXRlIHRoYXQgd2UNCnwgCSAqIHNob3VsZG4ndCB0cnkgcmVhZGluZyBmcm9tIHRoZSBpbnB1dCBz
b3VyY2UgYW55IG1vcmUuICBXZSBtaWdodA0KfCAJICogc3RpbGwgaGF2ZSBhIGJ1bmNoIG9mIHRv
a2VucyB0byBtYXRjaCwgdGhvdWdoLCBiZWNhdXNlIG9mDQp8IAkgKiBwb3NzaWJsZSBiYWNraW5n
LXVwLg0KfCAJICoNCnwgCSAqIFdoZW4gd2UgYWN0dWFsbHkgc2VlIHRoZSBFT0YsIHdlIGNoYW5n
ZSB0aGUgc3RhdHVzIHRvICJuZXciDQp8IAkgKiAodmlhIHl5cmVzdGFydCgpKSwgc28gdGhhdCB0
aGUgdXNlciBjYW4gY29udGludWUgc2Nhbm5pbmcgYnkNCnwgCSAqIGp1c3QgcG9pbnRpbmcgeXlp
biBhdCBhIG5ldyBpbnB1dCBmaWxlLg0KfCAJICovDQp8ICNkZWZpbmUgWVlfQlVGRkVSX0VPRl9Q
RU5ESU5HIDINCnwgCX07DQp8IA0KfCBzdGF0aWMgWVlfQlVGRkVSX1NUQVRFIHl5X2N1cnJlbnRf
YnVmZmVyID0gMDsNCnwgDQp8IC8qIFdlIHByb3ZpZGUgbWFjcm9zIGZvciBhY2Nlc3NpbmcgYnVm
ZmVyIHN0YXRlcyBpbiBjYXNlIGluIHRoZQ0KfCAgKiBmdXR1cmUgd2Ugd2FudCB0byBwdXQgdGhl
IGJ1ZmZlciBzdGF0ZXMgaW4gYSBtb3JlIGdlbmVyYWwNCnwgICogInNjYW5uZXIgc3RhdGUiLg0K
fCAgKi8NCnwgI2RlZmluZSBZWV9DVVJSRU5UX0JVRkZFUiB5eV9jdXJyZW50X2J1ZmZlcg0KfCAN
CnwgDQp8IC8qIHl5X2hvbGRfY2hhciBob2xkcyB0aGUgY2hhcmFjdGVyIGxvc3Qgd2hlbiB5eXRl
eHQgaXMgZm9ybWVkLiAqLw0KfCBzdGF0aWMgY2hhciB5eV9ob2xkX2NoYXI7DQp8IA0KfCBzdGF0
aWMgaW50IHl5X25fY2hhcnM7CQkvKiBudW1iZXIgb2YgY2hhcmFjdGVycyByZWFkIGludG8geXlf
Y2hfYnVmICovDQp8IA0KfCANCnwgaW50IHl5bGVuZzsNCnwgDQp8IC8qIFBvaW50cyB0byBjdXJy
ZW50IGNoYXJhY3RlciBpbiBidWZmZXIuICovDQp8IHN0YXRpYyBjaGFyICp5eV9jX2J1Zl9wID0g
KGNoYXIgKikgMDsNCnwgc3RhdGljIGludCB5eV9pbml0ID0gMTsJCS8qIHdoZXRoZXIgd2UgbmVl
ZCB0byBpbml0aWFsaXplICovDQp8IHN0YXRpYyBpbnQgeXlfc3RhcnQgPSAwOwkvKiBzdGFydCBz
dGF0ZSBudW1iZXIgKi8NCnwgDQp8IC8qIEZsYWcgd2hpY2ggaXMgdXNlZCB0byBhbGxvdyB5eXdy
YXAoKSdzIHRvIGRvIGJ1ZmZlciBzd2l0Y2hlcw0KfCAgKiBpbnN0ZWFkIG9mIHNldHRpbmcgdXAg
YSBmcmVzaCB5eWluLiAgQSBiaXQgb2YgYSBoYWNrIC4uLg0KfCAgKi8NCnwgc3RhdGljIGludCB5
eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9lb2Y7DQp8IA0KfCB2b2lkIHl5cmVzdGFydCBZWV9QUk9U
TygoIEZJTEUgKmlucHV0X2ZpbGUgKSk7DQp8IA0KfCB2b2lkIHl5X3N3aXRjaF90b19idWZmZXIg
WVlfUFJPVE8oKCBZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlciApKTsNCnwgdm9pZCB5eV9sb2Fk
X2J1ZmZlcl9zdGF0ZSBZWV9QUk9UTygoIHZvaWQgKSk7DQp8IFlZX0JVRkZFUl9TVEFURSB5eV9j
cmVhdGVfYnVmZmVyIFlZX1BST1RPKCggRklMRSAqZmlsZSwgaW50IHNpemUgKSk7DQp8IHZvaWQg
eXlfZGVsZXRlX2J1ZmZlciBZWV9QUk9UTygoIFlZX0JVRkZFUl9TVEFURSBiICkpOw0KfCB2b2lk
IHl5X2luaXRfYnVmZmVyIFlZX1BST1RPKCggWVlfQlVGRkVSX1NUQVRFIGIsIEZJTEUgKmZpbGUg
KSk7DQp8IHZvaWQgeXlfZmx1c2hfYnVmZmVyIFlZX1BST1RPKCggWVlfQlVGRkVSX1NUQVRFIGIg
KSk7DQp8ICNkZWZpbmUgWVlfRkxVU0hfQlVGRkVSIHl5X2ZsdXNoX2J1ZmZlciggeXlfY3VycmVu
dF9idWZmZXIgKQ0KfCANCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnVmZmVyIFlZX1BST1RP
KCggY2hhciAqYmFzZSwgeXlfc2l6ZV90IHNpemUgKSk7DQp8IFlZX0JVRkZFUl9TVEFURSB5eV9z
Y2FuX3N0cmluZyBZWV9QUk9UTygoIHl5Y29uc3QgY2hhciAqeXlfc3RyICkpOw0KfCBZWV9CVUZG
RVJfU1RBVEUgeXlfc2Nhbl9ieXRlcyBZWV9QUk9UTygoIHl5Y29uc3QgY2hhciAqYnl0ZXMsIGlu
dCBsZW4gKSk7DQp8IA0KfCBzdGF0aWMgdm9pZCAqeXlfZmxleF9hbGxvYyBZWV9QUk9UTygoIHl5
X3NpemVfdCApKTsNCnwgc3RhdGljIHZvaWQgKnl5X2ZsZXhfcmVhbGxvYyBZWV9QUk9UTygoIHZv
aWQgKiwgeXlfc2l6ZV90ICkpIF9fdW51c2VkOw0KfCBzdGF0aWMgdm9pZCB5eV9mbGV4X2ZyZWUg
WVlfUFJPVE8oKCB2b2lkICogKSk7DQp8IA0KfCAjZGVmaW5lIHl5X25ld19idWZmZXIgeXlfY3Jl
YXRlX2J1ZmZlcg0KfCANCnwgI2RlZmluZSB5eV9zZXRfaW50ZXJhY3RpdmUoaXNfaW50ZXJhY3Rp
dmUpIFwNCnwgCXsgXA0KfCAJaWYgKCAhIHl5X2N1cnJlbnRfYnVmZmVyICkgXA0KfCAJCXl5X2N1
cnJlbnRfYnVmZmVyID0geXlfY3JlYXRlX2J1ZmZlciggeXlpbiwgWVlfQlVGX1NJWkUgKTsgXA0K
fCAJeXlfY3VycmVudF9idWZmZXItPnl5X2lzX2ludGVyYWN0aXZlID0gaXNfaW50ZXJhY3RpdmU7
IFwNCnwgCX0NCnwgDQp8ICNkZWZpbmUgeXlfc2V0X2JvbChhdF9ib2wpIFwNCnwgCXsgXA0KfCAJ
aWYgKCAhIHl5X2N1cnJlbnRfYnVmZmVyICkgXA0KfCAJCXl5X2N1cnJlbnRfYnVmZmVyID0geXlf
Y3JlYXRlX2J1ZmZlciggeXlpbiwgWVlfQlVGX1NJWkUgKTsgXA0KfCAJeXlfY3VycmVudF9idWZm
ZXItPnl5X2F0X2JvbCA9IGF0X2JvbDsgXA0KfCAJfQ0KfCANCnwgI2RlZmluZSBZWV9BVF9CT0wo
KSAoeXlfY3VycmVudF9idWZmZXItPnl5X2F0X2JvbCkNCnwgDQp8IA0KfCAjZGVmaW5lIFlZX1VT
RVNfUkVKRUNUDQp8IHR5cGVkZWYgdW5zaWduZWQgY2hhciBZWV9DSEFSOw0KfCBGSUxFICp5eWlu
ID0gKEZJTEUgKikgMCwgKnl5b3V0ID0gKEZJTEUgKikgMDsNCnwgdHlwZWRlZiBpbnQgeXlfc3Rh
dGVfdHlwZTsNCnwgZXh0ZXJuIGNoYXIgKnl5dGV4dDsNCnwgI2RlZmluZSB5eXRleHRfcHRyIHl5
dGV4dA0KfCANCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfZ2V0X3ByZXZpb3VzX3N0YXRlIFlZ
X1BST1RPKCggdm9pZCApKTsNCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfdHJ5X05VTF90cmFu
cyBZWV9QUk9UTygoIHl5X3N0YXRlX3R5cGUgY3VycmVudF9zdGF0ZSApKTsNCnwgc3RhdGljIGlu
dCB5eV9nZXRfbmV4dF9idWZmZXIgWVlfUFJPVE8oKCB2b2lkICkpOw0KfCBzdGF0aWMgdm9pZCB5
eV9mYXRhbF9lcnJvciBZWV9QUk9UTygoIHl5Y29uc3QgY2hhciBtc2dbXSApKSBfX2RlYWQyOw0K
fCANCnwgLyogRG9uZSBhZnRlciB0aGUgY3VycmVudCBwYXR0ZXJuIGhhcyBiZWVuIG1hdGNoZWQg
YW5kIGJlZm9yZSB0aGUNCnwgICogY29ycmVzcG9uZGluZyBhY3Rpb24gLSBzZXRzIHVwIHl5dGV4
dC4NCnwgICovDQp8ICNkZWZpbmUgWVlfRE9fQkVGT1JFX0FDVElPTiBcDQp8IAl5eXRleHRfcHRy
ID0geXlfYnA7IFwNCnwgCXl5dGV4dF9wdHIgLT0geXlfbW9yZV9sZW47IFwNCnwgCXl5bGVuZyA9
IChpbnQpICh5eV9jcCAtIHl5dGV4dF9wdHIpOyBcDQp8IAl5eV9ob2xkX2NoYXIgPSAqeXlfY3A7
IFwNCnwgCSp5eV9jcCA9ICdcMCc7IFwNCnwgCXl5X2NfYnVmX3AgPSB5eV9jcDsNCnwgDQp8ICNk
ZWZpbmUgWVlfTlVNX1JVTEVTIDgNCnwgI2RlZmluZSBZWV9FTkRfT0ZfQlVGRkVSIDkNCnwgc3Rh
dGljIHl5Y29uc3Qgc2hvcnQgaW50IHl5X2FjY2xpc3RbMjNdID0NCnwgICAgIHsgICAwLA0KfCAg
ICAgICAgIDksICAgIDcsICAgIDgsICAgIDgsICAgIDEsICAgIDcsICAgIDgsICAgIDIsICAgIDcs
ICAgIDgsDQp8ICAgICAgICAgMywgICAgNywgICAgOCwgICAgNCwgICAgNywgICAgOCwgICAgNSwg
ICAgNywgICAgOCwgICAgNiwNCnwgICAgICAgICA3LCAgICA4DQp8ICAgICB9IDsNCnwgDQp8IHN0
YXRpYyB5eWNvbnN0IHNob3J0IGludCB5eV9hY2NlcHRbMTRdID0NCnwgICAgIHsgICAwLA0KfCAg
ICAgICAgIDEsICAgIDEsICAgIDEsICAgIDIsICAgIDQsICAgIDUsICAgIDgsICAgMTEsICAgMTQs
ICAgMTcsDQp8ICAgICAgICAyMCwgICAyMywgICAyMw0KfCAgICAgfSA7DQp8IA0KfCBzdGF0aWMg
eXljb25zdCBpbnQgeXlfZWNbMjU2XSA9DQp8ICAgICB7ICAgMCwNCnwgICAgICAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAyLA0KfCAgICAg
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsDQp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAgICAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAzLCAgICA0LCAgICA1LCAgICA2LA0KfCANCnwgICAgICAgICA3LCAgICA4
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAg
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsDQp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAgICAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMSwgICAgMSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCANCnwgICAgICAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAg
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAg
IDEsDQp8ICAgICAgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAgMSwgICAg
MSwgICAgMSwgICAgMSwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAx
LCAgICAxLCAgICAxLCAgICAxLCAgICAxLA0KfCAgICAgICAgIDEsICAgIDEsICAgIDEsICAgIDEs
ICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsICAgIDEsDQp8ICAgICAgICAgMSwgICAgMSwg
ICAgMSwgICAgMSwgICAgMQ0KfCAgICAgfSA7DQp8IA0KfCBzdGF0aWMgeXljb25zdCBpbnQgeXlf
bWV0YVs5XSA9DQp8ICAgICB7ICAgMCwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxDQp8ICAgICB9IDsNCnwgDQp8IHN0YXRpYyB5eWNvbnN0IHNo
b3J0IGludCB5eV9iYXNlWzEzXSA9DQp8ICAgICB7ICAgMCwNCnwgICAgICAgICAwLCAgICAwLCAg
ICA5LCAgIDEwLCAgIDEwLCAgIDEwLCAgIDEwLCAgIDEwLCAgIDEwLCAgIDEwLA0KfCAgICAgICAg
MTAsICAgMTANCnwgICAgIH0gOw0KfCANCnwgc3RhdGljIHl5Y29uc3Qgc2hvcnQgaW50IHl5X2Rl
ZlsxM10gPQ0KfCAgICAgeyAgIDAsDQp8ICAgICAgICAxMiwgICAgMSwgICAxMiwgICAxMiwgICAx
MiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwNCnwgICAgICAgIDEyLCAgICAwDQp8ICAg
ICB9IDsNCnwgDQp8IHN0YXRpYyB5eWNvbnN0IHNob3J0IGludCB5eV9ueHRbMTldID0NCnwgICAg
IHsgICAwLA0KfCAgICAgICAgIDQsICAgIDUsICAgIDYsICAgIDcsICAgIDgsICAgIDksICAgMTAs
ICAgMTEsICAgMTIsICAgIDMsDQp8ICAgICAgICAxMiwgICAxMiwgICAxMiwgICAxMiwgICAxMiwg
ICAxMiwgICAxMiwgICAxMg0KfCAgICAgfSA7DQp8IA0KfCBzdGF0aWMgeXljb25zdCBzaG9ydCBp
bnQgeXlfY2hrWzE5XSA9DQp8ICAgICB7ICAgMCwNCnwgICAgICAgICAxLCAgICAxLCAgICAxLCAg
ICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAxLCAgICAzLCAgIDEyLA0KfCAgICAgICAgMTIsICAg
MTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTIsICAgMTINCnwgICAgIH0gOw0KfCANCnwg
c3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfc3RhdGVfYnVmW1lZX0JVRl9TSVpFICsgMl0sICp5eV9z
dGF0ZV9wdHI7DQp8IHN0YXRpYyBjaGFyICp5eV9mdWxsX21hdGNoOw0KfCBzdGF0aWMgaW50IHl5
X2xwOw0KfCAjZGVmaW5lIFJFSkVDVCBcDQp8IHsgXA0KfCAqeXlfY3AgPSB5eV9ob2xkX2NoYXI7
IC8qIHVuZG8gZWZmZWN0cyBvZiBzZXR0aW5nIHVwIHl5dGV4dCAqLyBcDQp8IHl5X2NwID0geXlf
ZnVsbF9tYXRjaDsgLyogcmVzdG9yZSBwb3NzLiBiYWNrZWQtb3ZlciB0ZXh0ICovIFwNCnwgKyt5
eV9scDsgXA0KfCBnb3RvIGZpbmRfcnVsZTsgXA0KfCB9DQp8IHN0YXRpYyBpbnQgeXlfbW9yZV9m
bGFnID0gMDsNCnwgc3RhdGljIGludCB5eV9tb3JlX2xlbiA9IDA7DQp8ICNkZWZpbmUgeXltb3Jl
KCkgKHl5X21vcmVfZmxhZyA9IDEpDQp8ICNkZWZpbmUgWVlfTU9SRV9BREogeXlfbW9yZV9sZW4N
CnwgI2RlZmluZSBZWV9SRVNUT1JFX1lZX01PUkVfT0ZGU0VUDQp8IGNoYXIgKnl5dGV4dDsNCnwg
I2xpbmUgMSAiY29uZnRlc3QubCINCnwgI2RlZmluZSBJTklUSUFMIDANCnwgI2xpbmUgMzkxICJs
ZXgueXkuYyINCnwgDQp8IC8qIE1hY3JvcyBhZnRlciB0aGlzIHBvaW50IGNhbiBhbGwgYmUgb3Zl
cnJpZGRlbiBieSB1c2VyIGRlZmluaXRpb25zIGluDQp8ICAqIHNlY3Rpb24gMS4NCnwgICovDQp8
IA0KfCAjaWZuZGVmIFlZX1NLSVBfWVlXUkFQDQp8ICNpZmRlZiBfX2NwbHVzcGx1cw0KfCBleHRl
cm4gIkMiIGludCB5eXdyYXAgWVlfUFJPVE8oKCB2b2lkICkpOw0KfCAjZWxzZQ0KfCBleHRlcm4g
aW50IHl5d3JhcCBZWV9QUk9UTygoIHZvaWQgKSk7DQp8ICNlbmRpZg0KfCAjZW5kaWYNCnwgDQp8
ICNpZm5kZWYgWVlfTk9fVU5QVVQNCnwgc3RhdGljIHZvaWQgeXl1bnB1dCBZWV9QUk9UTygoIGlu
dCBjLCBjaGFyICpidWZfcHRyICkpOw0KfCAjZW5kaWYNCnwgDQp8ICNpZm5kZWYgeXl0ZXh0X3B0
cg0KfCBzdGF0aWMgdm9pZCB5eV9mbGV4X3N0cm5jcHkgWVlfUFJPVE8oKCBjaGFyICosIHl5Y29u
c3QgY2hhciAqLCBpbnQgKSk7DQp8ICNlbmRpZg0KfCANCnwgI2lmZGVmIFlZX05FRURfU1RSTEVO
DQp8IHN0YXRpYyBpbnQgeXlfZmxleF9zdHJsZW4gWVlfUFJPVE8oKCB5eWNvbnN0IGNoYXIgKiAp
KTsNCnwgI2VuZGlmDQp8IA0KfCAjaWZuZGVmIFlZX05PX0lOUFVUDQp8ICNpZmRlZiBfX2NwbHVz
cGx1cw0KfCBzdGF0aWMgaW50IHl5aW5wdXQgWVlfUFJPVE8oKCB2b2lkICkpOw0KfCAjZWxzZQ0K
fCBzdGF0aWMgaW50IGlucHV0IFlZX1BST1RPKCggdm9pZCApKTsNCnwgI2VuZGlmDQp8ICNlbmRp
Zg0KfCANCnwgI2lmIFlZX1NUQUNLX1VTRUQNCnwgc3RhdGljIGludCB5eV9zdGFydF9zdGFja19w
dHIgPSAwOw0KfCBzdGF0aWMgaW50IHl5X3N0YXJ0X3N0YWNrX2RlcHRoID0gMDsNCnwgc3RhdGlj
IGludCAqeXlfc3RhcnRfc3RhY2sgPSAwOw0KfCAjaWZuZGVmIFlZX05PX1BVU0hfU1RBVEUNCnwg
c3RhdGljIHZvaWQgeXlfcHVzaF9zdGF0ZSBZWV9QUk9UTygoIGludCBuZXdfc3RhdGUgKSk7DQp8
ICNlbmRpZg0KfCAjaWZuZGVmIFlZX05PX1BPUF9TVEFURQ0KfCBzdGF0aWMgdm9pZCB5eV9wb3Bf
c3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOw0KfCAjZW5kaWYNCnwgI2lmbmRlZiBZWV9OT19UT1Bf
U1RBVEUNCnwgc3RhdGljIGludCB5eV90b3Bfc3RhdGUgWVlfUFJPVE8oKCB2b2lkICkpOw0KfCAj
ZW5kaWYNCnwgDQp8ICNlbHNlDQp8ICNkZWZpbmUgWVlfTk9fUFVTSF9TVEFURSAxDQp8ICNkZWZp
bmUgWVlfTk9fUE9QX1NUQVRFIDENCnwgI2RlZmluZSBZWV9OT19UT1BfU1RBVEUgMQ0KfCAjZW5k
aWYNCnwgDQp8ICNpZmRlZiBZWV9NQUxMT0NfREVDTA0KfCBZWV9NQUxMT0NfREVDTA0KfCAjZWxz
ZQ0KfCAjaWYgX19TVERDX18NCnwgI2lmbmRlZiBfX2NwbHVzcGx1cw0KfCAjaW5jbHVkZSA8c3Rk
bGliLmg+DQp8ICNlbmRpZg0KfCAjZWxzZQ0KfCAvKiBKdXN0IHRyeSB0byBnZXQgYnkgd2l0aG91
dCBkZWNsYXJpbmcgdGhlIHJvdXRpbmVzLiAgVGhpcyB3aWxsIGZhaWwNCnwgICogbWlzZXJhYmx5
IG9uIG5vbi1BTlNJIHN5c3RlbXMgZm9yIHdoaWNoIHNpemVvZihzaXplX3QpICE9IHNpemVvZihp
bnQpDQp8ICAqIG9yIHNpemVvZih2b2lkKikgIT0gc2l6ZW9mKGludCkuDQp8ICAqLw0KfCAjZW5k
aWYNCnwgI2VuZGlmDQp8IA0KfCAvKiBBbW91bnQgb2Ygc3R1ZmYgdG8gc2x1cnAgdXAgd2l0aCBl
YWNoIHJlYWQuICovDQp8ICNpZm5kZWYgWVlfUkVBRF9CVUZfU0laRQ0KfCAjZGVmaW5lIFlZX1JF
QURfQlVGX1NJWkUgODE5Mg0KfCAjZW5kaWYNCnwgDQp8IC8qIENvcHkgd2hhdGV2ZXIgdGhlIGxh
c3QgcnVsZSBtYXRjaGVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuICovDQp8IA0KfCAjaWZuZGVm
IEVDSE8NCnwgLyogVGhpcyB1c2VkIHRvIGJlIGFuIGZwdXRzKCksIGJ1dCBzaW5jZSB0aGUgc3Ry
aW5nIG1pZ2h0IGNvbnRhaW4gTlVMJ3MsDQp8ICAqIHdlIG5vdyB1c2UgZndyaXRlKCkuDQp8ICAq
Lw0KfCAjZGVmaW5lIEVDSE8gKHZvaWQpIGZ3cml0ZSggeXl0ZXh0LCB5eWxlbmcsIDEsIHl5b3V0
ICkNCnwgI2VuZGlmDQp8IA0KfCAvKiBHZXRzIGlucHV0IGFuZCBzdHVmZnMgaXQgaW50byAiYnVm
Ii4gIG51bWJlciBvZiBjaGFyYWN0ZXJzIHJlYWQsIG9yIFlZX05VTEwsDQp8ICAqIGlzIHJldHVy
bmVkIGluICJyZXN1bHQiLg0KfCAgKi8NCnwgI2lmbmRlZiBZWV9JTlBVVA0KfCAjZGVmaW5lIFlZ
X0lOUFVUKGJ1ZixyZXN1bHQsbWF4X3NpemUpIFwNCnwgCWlmICggeXlfY3VycmVudF9idWZmZXIt
Pnl5X2lzX2ludGVyYWN0aXZlICkgXA0KfCAJCXsgXA0KfCAJCWludCBjID0gJyonLCBuOyBcDQp8
IAkJZm9yICggbiA9IDA7IG4gPCBtYXhfc2l6ZSAmJiBcDQp8IAkJCSAgICAgKGMgPSBnZXRjKCB5
eWluICkpICE9IEVPRiAmJiBjICE9ICdcbic7ICsrbiApIFwNCnwgCQkJYnVmW25dID0gKGNoYXIp
IGM7IFwNCnwgCQlpZiAoIGMgPT0gJ1xuJyApIFwNCnwgCQkJYnVmW24rK10gPSAoY2hhcikgYzsg
XA0KfCAJCWlmICggYyA9PSBFT0YgJiYgZmVycm9yKCB5eWluICkgKSBcDQp8IAkJCVlZX0ZBVEFM
X0VSUk9SKCAiaW5wdXQgaW4gZmxleCBzY2FubmVyIGZhaWxlZCIgKTsgXA0KfCAJCXJlc3VsdCA9
IG47IFwNCnwgCQl9IFwNCnwgCWVsc2UgaWYgKCAoKHJlc3VsdCA9IGZyZWFkKCBidWYsIDEsIG1h
eF9zaXplLCB5eWluICkpID09IDApIFwNCnwgCQkgICYmIGZlcnJvciggeXlpbiApICkgXA0KfCAJ
CVlZX0ZBVEFMX0VSUk9SKCAiaW5wdXQgaW4gZmxleCBzY2FubmVyIGZhaWxlZCIgKTsNCnwgI2Vu
ZGlmDQp8IA0KfCAvKiBObyBzZW1pLWNvbG9uIGFmdGVyIHJldHVybjsgY29ycmVjdCB1c2FnZSBp
cyB0byB3cml0ZSAieXl0ZXJtaW5hdGUoKTsiIC0NCnwgICogd2UgZG9uJ3Qgd2FudCBhbiBleHRy
YSAnOycgYWZ0ZXIgdGhlICJyZXR1cm4iIGJlY2F1c2UgdGhhdCB3aWxsIGNhdXNlDQp8ICAqIHNv
bWUgY29tcGlsZXJzIHRvIGNvbXBsYWluIGFib3V0IHVucmVhY2hhYmxlIHN0YXRlbWVudHMuDQp8
ICAqLw0KfCAjaWZuZGVmIHl5dGVybWluYXRlDQp8ICNkZWZpbmUgeXl0ZXJtaW5hdGUoKSByZXR1
cm4gWVlfTlVMTA0KfCAjZW5kaWYNCnwgDQp8IC8qIE51bWJlciBvZiBlbnRyaWVzIGJ5IHdoaWNo
IHN0YXJ0LWNvbmRpdGlvbiBzdGFjayBncm93cy4gKi8NCnwgI2lmbmRlZiBZWV9TVEFSVF9TVEFD
S19JTkNSDQp8ICNkZWZpbmUgWVlfU1RBUlRfU1RBQ0tfSU5DUiAyNQ0KfCAjZW5kaWYNCnwgDQp8
IC8qIFJlcG9ydCBhIGZhdGFsIGVycm9yLiAqLw0KfCAjaWZuZGVmIFlZX0ZBVEFMX0VSUk9SDQp8
ICNkZWZpbmUgWVlfRkFUQUxfRVJST1IobXNnKSB5eV9mYXRhbF9lcnJvciggbXNnICkNCnwgI2Vu
ZGlmDQp8IA0KfCAvKiBEZWZhdWx0IGRlY2xhcmF0aW9uIG9mIGdlbmVyYXRlZCBzY2FubmVyIC0g
YSBkZWZpbmUgc28gdGhlIHVzZXIgY2FuDQp8ICAqIGVhc2lseSBhZGQgcGFyYW1ldGVycy4NCnwg
ICovDQp8ICNpZm5kZWYgWVlfREVDTA0KfCAjZGVmaW5lIFlZX0RFQ0wgaW50IHl5bGV4IFlZX1BS
T1RPKCggdm9pZCApKQ0KfCAjZW5kaWYNCnwgDQp8IC8qIENvZGUgZXhlY3V0ZWQgYXQgdGhlIGJl
Z2lubmluZyBvZiBlYWNoIHJ1bGUsIGFmdGVyIHl5dGV4dCBhbmQgeXlsZW5nDQp8ICAqIGhhdmUg
YmVlbiBzZXQgdXAuDQp8ICAqLw0KfCAjaWZuZGVmIFlZX1VTRVJfQUNUSU9ODQp8ICNkZWZpbmUg
WVlfVVNFUl9BQ1RJT04NCnwgI2VuZGlmDQp8IA0KfCAvKiBDb2RlIGV4ZWN1dGVkIGF0IHRoZSBl
bmQgb2YgZWFjaCBydWxlLiAqLw0KfCAjaWZuZGVmIFlZX0JSRUFLDQp8ICNkZWZpbmUgWVlfQlJF
QUsgYnJlYWs7DQp8ICNlbmRpZg0KfCANCnwgI2RlZmluZSBZWV9SVUxFX1NFVFVQIFwNCnwgCVlZ
X1VTRVJfQUNUSU9ODQp8IA0KfCBZWV9ERUNMDQp8IAl7DQp8IAl5eV9zdGF0ZV90eXBlIHl5X2N1
cnJlbnRfc3RhdGU7DQp8IAljaGFyICp5eV9jcCwgKnl5X2JwOw0KfCAJaW50IHl5X2FjdDsNCnwg
DQp8ICNsaW5lIDEgImNvbmZ0ZXN0LmwiDQp8IA0KfCAjbGluZSA1NDQgImxleC55eS5jIg0KfCAN
CnwgCWlmICggeXlfaW5pdCApDQp8IAkJew0KfCAJCXl5X2luaXQgPSAwOw0KfCANCnwgI2lmZGVm
IFlZX1VTRVJfSU5JVA0KfCAJCVlZX1VTRVJfSU5JVDsNCnwgI2VuZGlmDQp8IA0KfCAJCWlmICgg
ISB5eV9zdGFydCApDQp8IAkJCXl5X3N0YXJ0ID0gMTsJLyogZmlyc3Qgc3RhcnQgc3RhdGUgKi8N
CnwgDQp8IAkJaWYgKCAhIHl5aW4gKQ0KfCAJCQl5eWluID0gc3RkaW47DQp8IA0KfCAJCWlmICgg
ISB5eW91dCApDQp8IAkJCXl5b3V0ID0gc3Rkb3V0Ow0KfCANCnwgCQlpZiAoICEgeXlfY3VycmVu
dF9idWZmZXIgKQ0KfCAJCQl5eV9jdXJyZW50X2J1ZmZlciA9DQp8IAkJCQl5eV9jcmVhdGVfYnVm
ZmVyKCB5eWluLCBZWV9CVUZfU0laRSApOw0KfCANCnwgCQl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSgp
Ow0KfCAJCX0NCnwgDQp8IAl3aGlsZSAoIDEgKQkJLyogbG9vcHMgdW50aWwgZW5kLW9mLWZpbGUg
aXMgcmVhY2hlZCAqLw0KfCAJCXsNCnwgCQl5eV9tb3JlX2xlbiA9IDA7DQp8IAkJaWYgKCB5eV9t
b3JlX2ZsYWcgKQ0KfCAJCQl7DQp8IAkJCXl5X21vcmVfbGVuID0geXlfY19idWZfcCAtIHl5dGV4
dF9wdHI7DQp8IAkJCXl5X21vcmVfZmxhZyA9IDA7DQp8IAkJCX0NCnwgCQl5eV9jcCA9IHl5X2Nf
YnVmX3A7DQp8IA0KfCAJCS8qIFN1cHBvcnQgb2YgeXl0ZXh0LiAqLw0KfCAJCSp5eV9jcCA9IHl5
X2hvbGRfY2hhcjsNCnwgDQp8IAkJLyogeXlfYnAgcG9pbnRzIHRvIHRoZSBwb3NpdGlvbiBpbiB5
eV9jaF9idWYgb2YgdGhlIHN0YXJ0IG9mDQp8IAkJICogdGhlIGN1cnJlbnQgcnVuLg0KfCAJCSAq
Lw0KfCAJCXl5X2JwID0geXlfY3A7DQp8IA0KfCAJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9zdGFy
dDsNCnwgCQl5eV9zdGF0ZV9wdHIgPSB5eV9zdGF0ZV9idWY7DQp8IAkJKnl5X3N0YXRlX3B0cisr
ID0geXlfY3VycmVudF9zdGF0ZTsNCnwgeXlfbWF0Y2g6DQp8IAkJZG8NCnwgCQkJew0KfCAJCQlZ
WV9DSEFSIHl5X2MgPSB5eV9lY1tZWV9TQ19UT19VSSgqeXlfY3ApXTsNCnwgCQkJd2hpbGUgKCB5
eV9jaGtbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArIHl5X2NdICE9IHl5X2N1cnJlbnRfc3Rh
dGUgKQ0KfCAJCQkJew0KfCAJCQkJeXlfY3VycmVudF9zdGF0ZSA9IChpbnQpIHl5X2RlZlt5eV9j
dXJyZW50X3N0YXRlXTsNCnwgCQkJCWlmICggeXlfY3VycmVudF9zdGF0ZSA+PSAxMyApDQp8IAkJ
CQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkgeXlfY107DQp8IAkJCQl9DQp8IAkJCXl5
X2N1cnJlbnRfc3RhdGUgPSB5eV9ueHRbeXlfYmFzZVt5eV9jdXJyZW50X3N0YXRlXSArICh1bnNp
Z25lZCBpbnQpIHl5X2NdOw0KfCAJCQkqeXlfc3RhdGVfcHRyKysgPSB5eV9jdXJyZW50X3N0YXRl
Ow0KfCAJCQkrK3l5X2NwOw0KfCAJCQl9DQp8IAkJd2hpbGUgKCB5eV9iYXNlW3l5X2N1cnJlbnRf
c3RhdGVdICE9IDEwICk7DQp8IA0KfCB5eV9maW5kX2FjdGlvbjoNCnwgCQl5eV9jdXJyZW50X3N0
YXRlID0gKi0teXlfc3RhdGVfcHRyOw0KfCAJCXl5X2xwID0geXlfYWNjZXB0W3l5X2N1cnJlbnRf
c3RhdGVdOw0KfCBnb3RvIGZpbmRfcnVsZTsgLyogYXZvaWQgYGRlZmluZWQgYnV0IG5vdCB1c2Vk
JyB3YXJuaW5nICovDQp8IGZpbmRfcnVsZTogLyogd2UgYnJhbmNoIHRvIHRoaXMgbGFiZWwgd2hl
biBiYWNraW5nIHVwICovDQp8IAkJZm9yICggOyA7ICkgLyogdW50aWwgd2UgZmluZCB3aGF0IHJ1
bGUgd2UgbWF0Y2hlZCAqLw0KfCAJCQl7DQp8IAkJCWlmICggeXlfbHAgJiYgeXlfbHAgPCB5eV9h
Y2NlcHRbeXlfY3VycmVudF9zdGF0ZSArIDFdICkNCnwgCQkJCXsNCnwgCQkJCXl5X2FjdCA9IHl5
X2FjY2xpc3RbeXlfbHBdOw0KfCAJCQkJCXsNCnwgCQkJCQl5eV9mdWxsX21hdGNoID0geXlfY3A7
DQp8IAkJCQkJYnJlYWs7DQp8IAkJCQkJfQ0KfCAJCQkJfQ0KfCAJCQktLXl5X2NwOw0KfCAJCQl5
eV9jdXJyZW50X3N0YXRlID0gKi0teXlfc3RhdGVfcHRyOw0KfCAJCQl5eV9scCA9IHl5X2FjY2Vw
dFt5eV9jdXJyZW50X3N0YXRlXTsNCnwgCQkJfQ0KfCANCnwgCQlZWV9ET19CRUZPUkVfQUNUSU9O
Ow0KfCANCnwgDQp8IGRvX2FjdGlvbjoJLyogVGhpcyBsYWJlbCBpcyB1c2VkIG9ubHkgdG8gYWNj
ZXNzIEVPRiBhY3Rpb25zLiAqLw0KfCANCnwgDQp8IAkJc3dpdGNoICggeXlfYWN0ICkNCnwgCXsg
LyogYmVnaW5uaW5nIG9mIGFjdGlvbiBzd2l0Y2ggKi8NCnwgY2FzZSAxOg0KfCBZWV9SVUxFX1NF
VFVQDQp8ICNsaW5lIDIgImNvbmZ0ZXN0LmwiDQp8IHsgRUNITzsgfQ0KfCAJWVlfQlJFQUsNCnwg
Y2FzZSAyOg0KfCBZWV9SVUxFX1NFVFVQDQp8ICNsaW5lIDMgImNvbmZ0ZXN0LmwiDQp8IHsgUkVK
RUNUOyB9DQp8IAlZWV9CUkVBSw0KfCBjYXNlIDM6DQp8IFlZX1JVTEVfU0VUVVANCnwgI2xpbmUg
NCAiY29uZnRlc3QubCINCnwgeyB5eW1vcmUgKCk7IH0NCnwgCVlZX0JSRUFLDQp8IGNhc2UgNDoN
CnwgWVlfUlVMRV9TRVRVUA0KfCAjbGluZSA1ICJjb25mdGVzdC5sIg0KfCB7IHl5bGVzcyAoMSk7
IH0NCnwgCVlZX0JSRUFLDQp8IGNhc2UgNToNCnwgWVlfUlVMRV9TRVRVUA0KfCAjbGluZSA2ICJj
b25mdGVzdC5sIg0KfCB7IHl5bGVzcyAoaW5wdXQgKCkgIT0gMCk7IH0NCnwgCVlZX0JSRUFLDQp8
IGNhc2UgNjoNCnwgWVlfUlVMRV9TRVRVUA0KfCAjbGluZSA3ICJjb25mdGVzdC5sIg0KfCB7IHVu
cHV0ICh5eXRleHRbMF0pOyB9DQp8IAlZWV9CUkVBSw0KfCBjYXNlIDc6DQp8IFlZX1JVTEVfU0VU
VVANCnwgI2xpbmUgOCAiY29uZnRlc3QubCINCnwgeyBCRUdJTiBJTklUSUFMOyB9DQp8IAlZWV9C
UkVBSw0KfCBjYXNlIDg6DQp8IFlZX1JVTEVfU0VUVVANCnwgI2xpbmUgOSAiY29uZnRlc3QubCIN
CnwgRUNITzsNCnwgCVlZX0JSRUFLDQp8ICNsaW5lIDY3NSAibGV4Lnl5LmMiDQp8IAkJCWNhc2Ug
WVlfU1RBVEVfRU9GKElOSVRJQUwpOg0KfCAJCQkJeXl0ZXJtaW5hdGUoKTsNCnwgDQp8IAljYXNl
IFlZX0VORF9PRl9CVUZGRVI6DQp8IAkJew0KfCAJCS8qIEFtb3VudCBvZiB0ZXh0IG1hdGNoZWQg
bm90IGluY2x1ZGluZyB0aGUgRU9CIGNoYXIuICovDQp8IAkJaW50IHl5X2Ftb3VudF9vZl9tYXRj
aGVkX3RleHQgPSAoaW50KSAoeXlfY3AgLSB5eXRleHRfcHRyKSAtIDE7DQp8IA0KfCAJCS8qIFVu
ZG8gdGhlIGVmZmVjdHMgb2YgWVlfRE9fQkVGT1JFX0FDVElPTi4gKi8NCnwgCQkqeXlfY3AgPSB5
eV9ob2xkX2NoYXI7DQp8IAkJWVlfUkVTVE9SRV9ZWV9NT1JFX09GRlNFVA0KfCANCnwgCQlpZiAo
IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9idWZmZXJfc3RhdHVzID09IFlZX0JVRkZFUl9ORVcgKQ0K
fCAJCQl7DQp8IAkJCS8qIFdlJ3JlIHNjYW5uaW5nIGEgbmV3IGZpbGUgb3IgaW5wdXQgc291cmNl
LiAgSXQncw0KfCAJCQkgKiBwb3NzaWJsZSB0aGF0IHRoaXMgaGFwcGVuZWQgYmVjYXVzZSB0aGUg
dXNlcg0KfCAJCQkgKiBqdXN0IHBvaW50ZWQgeXlpbiBhdCBhIG5ldyBzb3VyY2UgYW5kIGNhbGxl
ZA0KfCAJCQkgKiB5eWxleCgpLiAgSWYgc28sIHRoZW4gd2UgaGF2ZSB0byBhc3N1cmUNCnwgCQkJ
ICogY29uc2lzdGVuY3kgYmV0d2VlbiB5eV9jdXJyZW50X2J1ZmZlciBhbmQgb3VyDQp8IAkJCSAq
IGdsb2JhbHMuICBIZXJlIGlzIHRoZSByaWdodCBwbGFjZSB0byBkbyBzbywgYmVjYXVzZQ0KfCAJ
CQkgKiB0aGlzIGlzIHRoZSBmaXJzdCBhY3Rpb24gKG90aGVyIHRoYW4gcG9zc2libHkgYQ0KfCAJ
CQkgKiBiYWNrLXVwKSB0aGF0IHdpbGwgbWF0Y2ggZm9yIHRoZSBuZXcgaW5wdXQgc291cmNlLg0K
fCAJCQkgKi8NCnwgCQkJeXlfbl9jaGFycyA9IHl5X2N1cnJlbnRfYnVmZmVyLT55eV9uX2NoYXJz
Ow0KfCAJCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfaW5wdXRfZmlsZSA9IHl5aW47DQp8IAkJCXl5
X2N1cnJlbnRfYnVmZmVyLT55eV9idWZmZXJfc3RhdHVzID0gWVlfQlVGRkVSX05PUk1BTDsNCnwg
CQkJfQ0KfCANCnwgCQkvKiBOb3RlIHRoYXQgaGVyZSB3ZSB0ZXN0IGZvciB5eV9jX2J1Zl9wICI8
PSIgdG8gdGhlIHBvc2l0aW9uDQp8IAkJICogb2YgdGhlIGZpcnN0IEVPQiBpbiB0aGUgYnVmZmVy
LCBzaW5jZSB5eV9jX2J1Zl9wIHdpbGwNCnwgCQkgKiBhbHJlYWR5IGhhdmUgYmVlbiBpbmNyZW1l
bnRlZCBwYXN0IHRoZSBOVUwgY2hhcmFjdGVyDQp8IAkJICogKHNpbmNlIGFsbCBzdGF0ZXMgbWFr
ZSB0cmFuc2l0aW9ucyBvbiBFT0IgdG8gdGhlDQp8IAkJICogZW5kLW9mLWJ1ZmZlciBzdGF0ZSku
ICBDb250cmFzdCB0aGlzIHdpdGggdGhlIHRlc3QNCnwgCQkgKiBpbiBpbnB1dCgpLg0KfCAJCSAq
Lw0KfCAJCWlmICggeXlfY19idWZfcCA8PSAmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zlt5
eV9uX2NoYXJzXSApDQp8IAkJCXsgLyogVGhpcyB3YXMgcmVhbGx5IGEgTlVMLiAqLw0KfCAJCQl5
eV9zdGF0ZV90eXBlIHl5X25leHRfc3RhdGU7DQp8IA0KfCAJCQl5eV9jX2J1Zl9wID0geXl0ZXh0
X3B0ciArIHl5X2Ftb3VudF9vZl9tYXRjaGVkX3RleHQ7DQp8IA0KfCAJCQl5eV9jdXJyZW50X3N0
YXRlID0geXlfZ2V0X3ByZXZpb3VzX3N0YXRlKCk7DQp8IA0KfCAJCQkvKiBPa2F5LCB3ZSdyZSBu
b3cgcG9zaXRpb25lZCB0byBtYWtlIHRoZSBOVUwNCnwgCQkJICogdHJhbnNpdGlvbi4gIFdlIGNv
dWxkbid0IGhhdmUNCnwgCQkJICogeXlfZ2V0X3ByZXZpb3VzX3N0YXRlKCkgZ28gYWhlYWQgYW5k
IGRvIGl0DQp8IAkJCSAqIGZvciB1cyBiZWNhdXNlIGl0IGRvZXNuJ3Qga25vdyBob3cgdG8gZGVh
bA0KfCAJCQkgKiB3aXRoIHRoZSBwb3NzaWJpbGl0eSBvZiBqYW1taW5nIChhbmQgd2UgZG9uJ3QN
CnwgCQkJICogd2FudCB0byBidWlsZCBqYW1taW5nIGludG8gaXQgYmVjYXVzZSB0aGVuIGl0DQp8
IAkJCSAqIHdpbGwgcnVuIG1vcmUgc2xvd2x5KS4NCnwgCQkJICovDQp8IA0KfCAJCQl5eV9uZXh0
X3N0YXRlID0geXlfdHJ5X05VTF90cmFucyggeXlfY3VycmVudF9zdGF0ZSApOw0KfCANCnwgCQkJ
eXlfYnAgPSB5eXRleHRfcHRyICsgWVlfTU9SRV9BREo7DQp8IA0KfCAJCQlpZiAoIHl5X25leHRf
c3RhdGUgKQ0KfCAJCQkJew0KfCAJCQkJLyogQ29uc3VtZSB0aGUgTlVMLiAqLw0KfCAJCQkJeXlf
Y3AgPSArK3l5X2NfYnVmX3A7DQp8IAkJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfbmV4dF9zdGF0
ZTsNCnwgCQkJCWdvdG8geXlfbWF0Y2g7DQp8IAkJCQl9DQp8IA0KfCAJCQllbHNlDQp8IAkJCQl7
DQp8IAkJCQl5eV9jcCA9IHl5X2NfYnVmX3A7DQp8IAkJCQlnb3RvIHl5X2ZpbmRfYWN0aW9uOw0K
fCAJCQkJfQ0KfCAJCQl9DQp8IA0KfCAJCWVsc2Ugc3dpdGNoICggeXlfZ2V0X25leHRfYnVmZmVy
KCkgKQ0KfCAJCQl7DQp8IAkJCWNhc2UgRU9CX0FDVF9FTkRfT0ZfRklMRToNCnwgCQkJCXsNCnwg
CQkJCXl5X2RpZF9idWZmZXJfc3dpdGNoX29uX2VvZiA9IDA7DQp8IA0KfCAJCQkJaWYgKCB5eXdy
YXAoKSApDQp8IAkJCQkJew0KfCAJCQkJCS8qIE5vdGU6IGJlY2F1c2Ugd2UndmUgdGFrZW4gY2Fy
ZSBpbg0KfCAJCQkJCSAqIHl5X2dldF9uZXh0X2J1ZmZlcigpIHRvIGhhdmUgc2V0IHVwDQp8IAkJ
CQkJICogeXl0ZXh0LCB3ZSBjYW4gbm93IHNldCB1cA0KfCAJCQkJCSAqIHl5X2NfYnVmX3Agc28g
dGhhdCBpZiBzb21lIHRvdGFsDQp8IAkJCQkJICogaG9zZXIgKGxpa2UgZmxleCBpdHNlbGYpIHdh
bnRzIHRvDQp8IAkJCQkJICogY2FsbCB0aGUgc2Nhbm5lciBhZnRlciB3ZSByZXR1cm4gdGhlDQp8
IAkJCQkJICogWVlfTlVMTCwgaXQnbGwgc3RpbGwgd29yayAtIGFub3RoZXINCnwgCQkJCQkgKiBZ
WV9OVUxMIHdpbGwgZ2V0IHJldHVybmVkLg0KfCAJCQkJCSAqLw0KfCAJCQkJCXl5X2NfYnVmX3Ag
PSB5eXRleHRfcHRyICsgWVlfTU9SRV9BREo7DQp8IA0KfCAJCQkJCXl5X2FjdCA9IFlZX1NUQVRF
X0VPRihZWV9TVEFSVCk7DQp8IAkJCQkJZ290byBkb19hY3Rpb247DQp8IAkJCQkJfQ0KfCANCnwg
CQkJCWVsc2UNCnwgCQkJCQl7DQp8IAkJCQkJaWYgKCAhIHl5X2RpZF9idWZmZXJfc3dpdGNoX29u
X2VvZiApDQp8IAkJCQkJCVlZX05FV19GSUxFOw0KfCAJCQkJCX0NCnwgCQkJCWJyZWFrOw0KfCAJ
CQkJfQ0KfCANCnwgCQkJY2FzZSBFT0JfQUNUX0NPTlRJTlVFX1NDQU46DQp8IAkJCQl5eV9jX2J1
Zl9wID0NCnwgCQkJCQl5eXRleHRfcHRyICsgeXlfYW1vdW50X29mX21hdGNoZWRfdGV4dDsNCnwg
DQp8IAkJCQl5eV9jdXJyZW50X3N0YXRlID0geXlfZ2V0X3ByZXZpb3VzX3N0YXRlKCk7DQp8IA0K
fCAJCQkJeXlfY3AgPSB5eV9jX2J1Zl9wOw0KfCAJCQkJeXlfYnAgPSB5eXRleHRfcHRyICsgWVlf
TU9SRV9BREo7DQp8IAkJCQlnb3RvIHl5X21hdGNoOw0KfCANCnwgCQkJY2FzZSBFT0JfQUNUX0xB
U1RfTUFUQ0g6DQp8IAkJCQl5eV9jX2J1Zl9wID0NCnwgCQkJCSZ5eV9jdXJyZW50X2J1ZmZlci0+
eXlfY2hfYnVmW3l5X25fY2hhcnNdOw0KfCANCnwgCQkJCXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9n
ZXRfcHJldmlvdXNfc3RhdGUoKTsNCnwgDQp8IAkJCQl5eV9jcCA9IHl5X2NfYnVmX3A7DQp8IAkJ
CQl5eV9icCA9IHl5dGV4dF9wdHIgKyBZWV9NT1JFX0FESjsNCnwgCQkJCWdvdG8geXlfZmluZF9h
Y3Rpb247DQp8IAkJCX0NCnwgCQlicmVhazsNCnwgCQl9DQp8IA0KfCAJZGVmYXVsdDoNCnwgCQlZ
WV9GQVRBTF9FUlJPUigNCnwgCQkJImZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0t
bm8gYWN0aW9uIGZvdW5kIiApOw0KfCAJfSAvKiBlbmQgb2YgYWN0aW9uIHN3aXRjaCAqLw0KfCAJ
CX0gLyogZW5kIG9mIHNjYW5uaW5nIG9uZSB0b2tlbiAqLw0KfCAJfSAvKiBlbmQgb2YgeXlsZXgg
Ki8NCnwgDQp8IA0KfCAvKiB5eV9nZXRfbmV4dF9idWZmZXIgLSB0cnkgdG8gcmVhZCBpbiBhIG5l
dyBidWZmZXINCnwgICoNCnwgICogUmV0dXJucyBhIGNvZGUgcmVwcmVzZW50aW5nIGFuIGFjdGlv
bjoNCnwgICoJRU9CX0FDVF9MQVNUX01BVENIIC0NCnwgICoJRU9CX0FDVF9DT05USU5VRV9TQ0FO
IC0gY29udGludWUgc2Nhbm5pbmcgZnJvbSBjdXJyZW50IHBvc2l0aW9uDQp8ICAqCUVPQl9BQ1Rf
RU5EX09GX0ZJTEUgLSBlbmQgb2YgZmlsZQ0KfCAgKi8NCnwgDQp8ICNpZmRlZiBZWV9VU0VfUFJP
VE9TDQp8IHN0YXRpYyBpbnQgeXlfZ2V0X25leHRfYnVmZmVyKHZvaWQpDQp8ICNlbHNlDQp8IHN0
YXRpYyBpbnQgeXlfZ2V0X25leHRfYnVmZmVyKCkNCnwgI2VuZGlmDQp8IAl7DQp8IAljaGFyICpk
ZXN0ID0geXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1ZjsNCnwgCWNoYXIgKnNvdXJjZSA9IHl5
dGV4dF9wdHI7DQp8IAlpbnQgbnVtYmVyX3RvX21vdmUsIGk7DQp8IAlpbnQgcmV0X3ZhbDsNCnwg
DQp8IAlpZiAoIHl5X2NfYnVmX3AgPiAmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1Zlt5eV9u
X2NoYXJzICsgMV0gKQ0KfCAJCVlZX0ZBVEFMX0VSUk9SKA0KfCAJCSJmYXRhbCBmbGV4IHNjYW5u
ZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkIiApOw0KfCANCnwgCWlmICgg
eXlfY3VycmVudF9idWZmZXItPnl5X2ZpbGxfYnVmZmVyID09IDAgKQ0KfCAJCXsgLyogRG9uJ3Qg
dHJ5IHRvIGZpbGwgdGhlIGJ1ZmZlciwgc28gdGhpcyBpcyBhbiBFT0YuICovDQp8IAkJaWYgKCB5
eV9jX2J1Zl9wIC0geXl0ZXh0X3B0ciAtIFlZX01PUkVfQURKID09IDEgKQ0KfCAJCQl7DQp8IAkJ
CS8qIFdlIG1hdGNoZWQgYSBzaW5nbGUgY2hhcmFjdGVyLCB0aGUgRU9CLCBzbw0KfCAJCQkgKiB0
cmVhdCB0aGlzIGFzIGEgZmluYWwgRU9GLg0KfCAJCQkgKi8NCnwgCQkJcmV0dXJuIEVPQl9BQ1Rf
RU5EX09GX0ZJTEU7DQp8IAkJCX0NCnwgDQp8IAkJZWxzZQ0KfCAJCQl7DQp8IAkJCS8qIFdlIG1h
dGNoZWQgc29tZSB0ZXh0IHByaW9yIHRvIHRoZSBFT0IsIGZpcnN0DQp8IAkJCSAqIHByb2Nlc3Mg
aXQuDQp8IAkJCSAqLw0KfCAJCQlyZXR1cm4gRU9CX0FDVF9MQVNUX01BVENIOw0KfCAJCQl9DQp8
IAkJfQ0KfCANCnwgCS8qIFRyeSB0byByZWFkIG1vcmUgZGF0YS4gKi8NCnwgDQp8IAkvKiBGaXJz
dCBtb3ZlIGxhc3QgY2hhcnMgdG8gc3RhcnQgb2YgYnVmZmVyLiAqLw0KfCAJbnVtYmVyX3RvX21v
dmUgPSAoaW50KSAoeXlfY19idWZfcCAtIHl5dGV4dF9wdHIpIC0gMTsNCnwgDQp8IAlmb3IgKCBp
ID0gMDsgaSA8IG51bWJlcl90b19tb3ZlOyArK2kgKQ0KfCAJCSooZGVzdCsrKSA9ICooc291cmNl
KyspOw0KfCANCnwgCWlmICggeXlfY3VycmVudF9idWZmZXItPnl5X2J1ZmZlcl9zdGF0dXMgPT0g
WVlfQlVGRkVSX0VPRl9QRU5ESU5HICkNCnwgCQkvKiBkb24ndCBkbyB0aGUgcmVhZCwgaXQncyBu
b3QgZ3VhcmFudGVlZCB0byByZXR1cm4gYW4gRU9GLA0KfCAJCSAqIGp1c3QgZm9yY2UgYW4gRU9G
DQp8IAkJICovDQp8IAkJeXlfY3VycmVudF9idWZmZXItPnl5X25fY2hhcnMgPSB5eV9uX2NoYXJz
ID0gMDsNCnwgDQp8IAllbHNlDQp8IAkJew0KfCAJCWludCBudW1fdG9fcmVhZCA9DQp8IAkJCXl5
X2N1cnJlbnRfYnVmZmVyLT55eV9idWZfc2l6ZSAtIG51bWJlcl90b19tb3ZlIC0gMTsNCnwgDQp8
IAkJd2hpbGUgKCBudW1fdG9fcmVhZCA8PSAwICkNCnwgCQkJeyAvKiBOb3QgZW5vdWdoIHJvb20g
aW4gdGhlIGJ1ZmZlciAtIGdyb3cgaXQuICovDQp8ICNpZmRlZiBZWV9VU0VTX1JFSkVDVA0KfCAJ
CQlZWV9GQVRBTF9FUlJPUigNCnwgImlucHV0IGJ1ZmZlciBvdmVyZmxvdywgY2FuJ3QgZW5sYXJn
ZSBidWZmZXIgYmVjYXVzZSBzY2FubmVyIHVzZXMgUkVKRUNUIiApOw0KfCAjZWxzZQ0KfCANCnwg
CQkJLyoganVzdCBhIHNob3J0ZXIgbmFtZSBmb3IgdGhlIGN1cnJlbnQgYnVmZmVyICovDQp8IAkJ
CVlZX0JVRkZFUl9TVEFURSBiID0geXlfY3VycmVudF9idWZmZXI7DQp8IA0KfCAJCQlpbnQgeXlf
Y19idWZfcF9vZmZzZXQgPQ0KfCAJCQkJKGludCkgKHl5X2NfYnVmX3AgLSBiLT55eV9jaF9idWYp
Ow0KfCANCnwgCQkJaWYgKCBiLT55eV9pc19vdXJfYnVmZmVyICkNCnwgCQkJCXsNCnwgCQkJCWlu
dCBuZXdfc2l6ZSA9IGItPnl5X2J1Zl9zaXplICogMjsNCnwgDQp8IAkJCQlpZiAoIG5ld19zaXpl
IDw9IDAgKQ0KfCAJCQkJCWItPnl5X2J1Zl9zaXplICs9IGItPnl5X2J1Zl9zaXplIC8gODsNCnwg
CQkJCWVsc2UNCnwgCQkJCQliLT55eV9idWZfc2l6ZSAqPSAyOw0KfCANCnwgCQkJCWItPnl5X2No
X2J1ZiA9IChjaGFyICopDQp8IAkJCQkJLyogSW5jbHVkZSByb29tIGluIGZvciAyIEVPQiBjaGFy
cy4gKi8NCnwgCQkJCQl5eV9mbGV4X3JlYWxsb2MoICh2b2lkICopIGItPnl5X2NoX2J1ZiwNCnwg
CQkJCQkJCSBiLT55eV9idWZfc2l6ZSArIDIgKTsNCnwgCQkJCX0NCnwgCQkJZWxzZQ0KfCAJCQkJ
LyogQ2FuJ3QgZ3JvdyBpdCwgd2UgZG9uJ3Qgb3duIGl0LiAqLw0KfCAJCQkJYi0+eXlfY2hfYnVm
ID0gMDsNCnwgDQp8IAkJCWlmICggISBiLT55eV9jaF9idWYgKQ0KfCAJCQkJWVlfRkFUQUxfRVJS
T1IoDQp8IAkJCQkiZmF0YWwgZXJyb3IgLSBzY2FubmVyIGlucHV0IGJ1ZmZlciBvdmVyZmxvdyIg
KTsNCnwgDQp8IAkJCXl5X2NfYnVmX3AgPSAmYi0+eXlfY2hfYnVmW3l5X2NfYnVmX3Bfb2Zmc2V0
XTsNCnwgDQp8IAkJCW51bV90b19yZWFkID0geXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9zaXpl
IC0NCnwgCQkJCQkJbnVtYmVyX3RvX21vdmUgLSAxOw0KfCAjZW5kaWYNCnwgCQkJfQ0KfCANCnwg
CQlpZiAoIG51bV90b19yZWFkID4gWVlfUkVBRF9CVUZfU0laRSApDQp8IAkJCW51bV90b19yZWFk
ID0gWVlfUkVBRF9CVUZfU0laRTsNCnwgDQp8IAkJLyogUmVhZCBpbiBtb3JlIGRhdGEuICovDQp8
IAkJWVlfSU5QVVQoICgmeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1ZltudW1iZXJfdG9fbW92
ZV0pLA0KfCAJCQl5eV9uX2NoYXJzLCBudW1fdG9fcmVhZCApOw0KfCANCnwgCQl5eV9jdXJyZW50
X2J1ZmZlci0+eXlfbl9jaGFycyA9IHl5X25fY2hhcnM7DQp8IAkJfQ0KfCANCnwgCWlmICggeXlf
bl9jaGFycyA9PSAwICkNCnwgCQl7DQp8IAkJaWYgKCBudW1iZXJfdG9fbW92ZSA9PSBZWV9NT1JF
X0FESiApDQp8IAkJCXsNCnwgCQkJcmV0X3ZhbCA9IEVPQl9BQ1RfRU5EX09GX0ZJTEU7DQp8IAkJ
CXl5cmVzdGFydCggeXlpbiApOw0KfCAJCQl9DQp8IA0KfCAJCWVsc2UNCnwgCQkJew0KfCAJCQly
ZXRfdmFsID0gRU9CX0FDVF9MQVNUX01BVENIOw0KfCAJCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlf
YnVmZmVyX3N0YXR1cyA9DQp8IAkJCQlZWV9CVUZGRVJfRU9GX1BFTkRJTkc7DQp8IAkJCX0NCnwg
CQl9DQp8IA0KfCAJZWxzZQ0KfCAJCXJldF92YWwgPSBFT0JfQUNUX0NPTlRJTlVFX1NDQU47DQp8
IA0KfCAJeXlfbl9jaGFycyArPSBudW1iZXJfdG9fbW92ZTsNCnwgCXl5X2N1cnJlbnRfYnVmZmVy
LT55eV9jaF9idWZbeXlfbl9jaGFyc10gPSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVI7DQp8IAl5eV9j
dXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW3l5X25fY2hhcnMgKyAxXSA9IFlZX0VORF9PRl9CVUZG
RVJfQ0hBUjsNCnwgDQp8IAl5eXRleHRfcHRyID0gJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9jaF9i
dWZbMF07DQp8IA0KfCAJcmV0dXJuIHJldF92YWw7DQp8IAl9DQp8IA0KfCANCnwgLyogeXlfZ2V0
X3ByZXZpb3VzX3N0YXRlIC0gZ2V0IHRoZSBzdGF0ZSBqdXN0IGJlZm9yZSB0aGUgRU9CIGNoYXIg
d2FzIHJlYWNoZWQgKi8NCnwgDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IHN0YXRpYyB5eV9z
dGF0ZV90eXBlIHl5X2dldF9wcmV2aW91c19zdGF0ZSh2b2lkKQ0KfCAjZWxzZQ0KfCBzdGF0aWMg
eXlfc3RhdGVfdHlwZSB5eV9nZXRfcHJldmlvdXNfc3RhdGUoKQ0KfCAjZW5kaWYNCnwgCXsNCnwg
CXl5X3N0YXRlX3R5cGUgeXlfY3VycmVudF9zdGF0ZTsNCnwgCWNoYXIgKnl5X2NwOw0KfCANCnwg
CXl5X2N1cnJlbnRfc3RhdGUgPSB5eV9zdGFydDsNCnwgCXl5X3N0YXRlX3B0ciA9IHl5X3N0YXRl
X2J1ZjsNCnwgCSp5eV9zdGF0ZV9wdHIrKyA9IHl5X2N1cnJlbnRfc3RhdGU7DQp8IA0KfCAJZm9y
ICggeXlfY3AgPSB5eXRleHRfcHRyICsgWVlfTU9SRV9BREo7IHl5X2NwIDwgeXlfY19idWZfcDsg
Kyt5eV9jcCApDQp8IAkJew0KfCAJCVlZX0NIQVIgeXlfYyA9ICgqeXlfY3AgPyB5eV9lY1tZWV9T
Q19UT19VSSgqeXlfY3ApXSA6IDEpOw0KfCAJCXdoaWxlICggeXlfY2hrW3l5X2Jhc2VbeXlfY3Vy
cmVudF9zdGF0ZV0gKyB5eV9jXSAhPSB5eV9jdXJyZW50X3N0YXRlICkNCnwgCQkJew0KfCAJCQl5
eV9jdXJyZW50X3N0YXRlID0gKGludCkgeXlfZGVmW3l5X2N1cnJlbnRfc3RhdGVdOw0KfCAJCQlp
ZiAoIHl5X2N1cnJlbnRfc3RhdGUgPj0gMTMgKQ0KfCAJCQkJeXlfYyA9IHl5X21ldGFbKHVuc2ln
bmVkIGludCkgeXlfY107DQp8IAkJCX0NCnwgCQl5eV9jdXJyZW50X3N0YXRlID0geXlfbnh0W3l5
X2Jhc2VbeXlfY3VycmVudF9zdGF0ZV0gKyAodW5zaWduZWQgaW50KSB5eV9jXTsNCnwgCQkqeXlf
c3RhdGVfcHRyKysgPSB5eV9jdXJyZW50X3N0YXRlOw0KfCAJCX0NCnwgDQp8IAlyZXR1cm4geXlf
Y3VycmVudF9zdGF0ZTsNCnwgCX0NCnwgDQp8IA0KfCAvKiB5eV90cnlfTlVMX3RyYW5zIC0gdHJ5
IHRvIG1ha2UgYSB0cmFuc2l0aW9uIG9uIHRoZSBOVUwgY2hhcmFjdGVyDQp8ICAqDQp8ICAqIHN5
bm9wc2lzDQp8ICAqCW5leHRfc3RhdGUgPSB5eV90cnlfTlVMX3RyYW5zKCBjdXJyZW50X3N0YXRl
ICk7DQp8ICAqLw0KfCANCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgc3RhdGljIHl5X3N0YXRl
X3R5cGUgeXlfdHJ5X05VTF90cmFucyggeXlfc3RhdGVfdHlwZSB5eV9jdXJyZW50X3N0YXRlICkN
CnwgI2Vsc2UNCnwgc3RhdGljIHl5X3N0YXRlX3R5cGUgeXlfdHJ5X05VTF90cmFucyggeXlfY3Vy
cmVudF9zdGF0ZSApDQp8IHl5X3N0YXRlX3R5cGUgeXlfY3VycmVudF9zdGF0ZTsNCnwgI2VuZGlm
DQp8IAl7DQp8IAlpbnQgeXlfaXNfamFtOw0KfCANCnwgCVlZX0NIQVIgeXlfYyA9IDE7DQp8IAl3
aGlsZSAoIHl5X2Noa1t5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsgeXlfY10gIT0geXlfY3Vy
cmVudF9zdGF0ZSApDQp8IAkJew0KfCAJCXl5X2N1cnJlbnRfc3RhdGUgPSAoaW50KSB5eV9kZWZb
eXlfY3VycmVudF9zdGF0ZV07DQp8IAkJaWYgKCB5eV9jdXJyZW50X3N0YXRlID49IDEzICkNCnwg
CQkJeXlfYyA9IHl5X21ldGFbKHVuc2lnbmVkIGludCkgeXlfY107DQp8IAkJfQ0KfCAJeXlfY3Vy
cmVudF9zdGF0ZSA9IHl5X254dFt5eV9iYXNlW3l5X2N1cnJlbnRfc3RhdGVdICsgKHVuc2lnbmVk
IGludCkgeXlfY107DQp8IAl5eV9pc19qYW0gPSAoeXlfY3VycmVudF9zdGF0ZSA9PSAxMik7DQp8
IAlpZiAoICEgeXlfaXNfamFtICkNCnwgCQkqeXlfc3RhdGVfcHRyKysgPSB5eV9jdXJyZW50X3N0
YXRlOw0KfCANCnwgCXJldHVybiB5eV9pc19qYW0gPyAwIDogeXlfY3VycmVudF9zdGF0ZTsNCnwg
CX0NCnwgDQp8IA0KfCAjaWZuZGVmIFlZX05PX1VOUFVUDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9T
DQp8IHN0YXRpYyB2b2lkIHl5dW5wdXQoIGludCBjLCBjaGFyICp5eV9icCApDQp8ICNlbHNlDQp8
IHN0YXRpYyB2b2lkIHl5dW5wdXQoIGMsIHl5X2JwICkNCnwgaW50IGM7DQp8IGNoYXIgKnl5X2Jw
Ow0KfCAjZW5kaWYNCnwgCXsNCnwgCWNoYXIgKnl5X2NwID0geXlfY19idWZfcDsNCnwgDQp8IAkv
KiB1bmRvIGVmZmVjdHMgb2Ygc2V0dGluZyB1cCB5eXRleHQgKi8NCnwgCSp5eV9jcCA9IHl5X2hv
bGRfY2hhcjsNCnwgDQp8IAlpZiAoIHl5X2NwIDwgeXlfY3VycmVudF9idWZmZXItPnl5X2NoX2J1
ZiArIDIgKQ0KfCAJCXsgLyogbmVlZCB0byBzaGlmdCB0aGluZ3MgdXAgdG8gbWFrZSByb29tICov
DQp8IAkJLyogKzIgZm9yIEVPQiBjaGFycy4gKi8NCnwgCQlpbnQgbnVtYmVyX3RvX21vdmUgPSB5
eV9uX2NoYXJzICsgMjsNCnwgCQljaGFyICpkZXN0ID0gJnl5X2N1cnJlbnRfYnVmZmVyLT55eV9j
aF9idWZbDQp8IAkJCQkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9zaXplICsgMl07DQp8IAkJ
Y2hhciAqc291cmNlID0NCnwgCQkJCSZ5eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmW251bWJl
cl90b19tb3ZlXTsNCnwgDQp8IAkJd2hpbGUgKCBzb3VyY2UgPiB5eV9jdXJyZW50X2J1ZmZlci0+
eXlfY2hfYnVmICkNCnwgCQkJKi0tZGVzdCA9ICotLXNvdXJjZTsNCnwgDQp8IAkJeXlfY3AgKz0g
KGludCkgKGRlc3QgLSBzb3VyY2UpOw0KfCAJCXl5X2JwICs9IChpbnQpIChkZXN0IC0gc291cmNl
KTsNCnwgCQl5eV9jdXJyZW50X2J1ZmZlci0+eXlfbl9jaGFycyA9DQp8IAkJCXl5X25fY2hhcnMg
PSB5eV9jdXJyZW50X2J1ZmZlci0+eXlfYnVmX3NpemU7DQp8IA0KfCAJCWlmICggeXlfY3AgPCB5
eV9jdXJyZW50X2J1ZmZlci0+eXlfY2hfYnVmICsgMiApDQp8IAkJCVlZX0ZBVEFMX0VSUk9SKCAi
ZmxleCBzY2FubmVyIHB1c2gtYmFjayBvdmVyZmxvdyIgKTsNCnwgCQl9DQp8IA0KfCAJKi0teXlf
Y3AgPSAoY2hhcikgYzsNCnwgDQp8IA0KfCAJeXl0ZXh0X3B0ciA9IHl5X2JwOw0KfCAJeXlfaG9s
ZF9jaGFyID0gKnl5X2NwOw0KfCAJeXlfY19idWZfcCA9IHl5X2NwOw0KfCAJfQ0KfCAjZW5kaWYJ
LyogaWZuZGVmIFlZX05PX1VOUFVUICovDQp8IA0KfCANCnwgI2lmbmRlZiBZWV9OT19JTlBVVA0K
fCAjaWZkZWYgX19jcGx1c3BsdXMNCnwgc3RhdGljIGludCB5eWlucHV0KCkNCnwgI2Vsc2UNCnwg
I2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgc3RhdGljIGludCBpbnB1dCh2b2lkKQ0KfCAjZWxzZQ0K
fCBzdGF0aWMgaW50IGlucHV0KCkNCnwgI2VuZGlmDQp8ICNlbmRpZg0KfCAJew0KfCAJaW50IGM7
DQp8IA0KfCAJKnl5X2NfYnVmX3AgPSB5eV9ob2xkX2NoYXI7DQp8IA0KfCAJaWYgKCAqeXlfY19i
dWZfcCA9PSBZWV9FTkRfT0ZfQlVGRkVSX0NIQVIgKQ0KfCAJCXsNCnwgCQkvKiB5eV9jX2J1Zl9w
IG5vdyBwb2ludHMgdG8gdGhlIGNoYXJhY3RlciB3ZSB3YW50IHRvIHJldHVybi4NCnwgCQkgKiBJ
ZiB0aGlzIG9jY3VycyAqYmVmb3JlKiB0aGUgRU9CIGNoYXJhY3RlcnMsIHRoZW4gaXQncyBhDQp8
IAkJICogdmFsaWQgTlVMOyBpZiBub3QsIHRoZW4gd2UndmUgaGl0IHRoZSBlbmQgb2YgdGhlIGJ1
ZmZlci4NCnwgCQkgKi8NCnwgCQlpZiAoIHl5X2NfYnVmX3AgPCAmeXlfY3VycmVudF9idWZmZXIt
Pnl5X2NoX2J1Zlt5eV9uX2NoYXJzXSApDQp8IAkJCS8qIFRoaXMgd2FzIHJlYWxseSBhIE5VTC4g
Ki8NCnwgCQkJKnl5X2NfYnVmX3AgPSAnXDAnOw0KfCANCnwgCQllbHNlDQp8IAkJCXsgLyogbmVl
ZCBtb3JlIGlucHV0ICovDQp8IAkJCWludCBvZmZzZXQgPSB5eV9jX2J1Zl9wIC0geXl0ZXh0X3B0
cjsNCnwgCQkJKyt5eV9jX2J1Zl9wOw0KfCANCnwgCQkJc3dpdGNoICggeXlfZ2V0X25leHRfYnVm
ZmVyKCkgKQ0KfCAJCQkJew0KfCAJCQkJY2FzZSBFT0JfQUNUX0xBU1RfTUFUQ0g6DQp8IAkJCQkJ
LyogVGhpcyBoYXBwZW5zIGJlY2F1c2UgeXlfZ19uX2IoKQ0KfCAJCQkJCSAqIHNlZXMgdGhhdCB3
ZSd2ZSBhY2N1bXVsYXRlZCBhDQp8IAkJCQkJICogdG9rZW4gYW5kIGZsYWdzIHRoYXQgd2UgbmVl
ZCB0bw0KfCAJCQkJCSAqIHRyeSBtYXRjaGluZyB0aGUgdG9rZW4gYmVmb3JlDQp8IAkJCQkJICog
cHJvY2VlZGluZy4gIEJ1dCBmb3IgaW5wdXQoKSwNCnwgCQkJCQkgKiB0aGVyZSdzIG5vIG1hdGNo
aW5nIHRvIGNvbnNpZGVyLg0KfCAJCQkJCSAqIFNvIGNvbnZlcnQgdGhlIEVPQl9BQ1RfTEFTVF9N
QVRDSA0KfCAJCQkJCSAqIHRvIEVPQl9BQ1RfRU5EX09GX0ZJTEUuDQp8IAkJCQkJICovDQp8IA0K
fCAJCQkJCS8qIFJlc2V0IGJ1ZmZlciBzdGF0dXMuICovDQp8IAkJCQkJeXlyZXN0YXJ0KCB5eWlu
ICk7DQp8IA0KfCAJCQkJCS8qIGZhbGwgdGhyb3VnaCAqLw0KfCANCnwgCQkJCWNhc2UgRU9CX0FD
VF9FTkRfT0ZfRklMRToNCnwgCQkJCQl7DQp8IAkJCQkJaWYgKCB5eXdyYXAoKSApDQp8IAkJCQkJ
CXJldHVybiBFT0Y7DQp8IA0KfCAJCQkJCWlmICggISB5eV9kaWRfYnVmZmVyX3N3aXRjaF9vbl9l
b2YgKQ0KfCAJCQkJCQlZWV9ORVdfRklMRTsNCnwgI2lmZGVmIF9fY3BsdXNwbHVzDQp8IAkJCQkJ
cmV0dXJuIHl5aW5wdXQoKTsNCnwgI2Vsc2UNCnwgCQkJCQlyZXR1cm4gaW5wdXQoKTsNCnwgI2Vu
ZGlmDQp8IAkJCQkJfQ0KfCANCnwgCQkJCWNhc2UgRU9CX0FDVF9DT05USU5VRV9TQ0FOOg0KfCAJ
CQkJCXl5X2NfYnVmX3AgPSB5eXRleHRfcHRyICsgb2Zmc2V0Ow0KfCAJCQkJCWJyZWFrOw0KfCAJ
CQkJfQ0KfCAJCQl9DQp8IAkJfQ0KfCANCnwgCWMgPSAqKHVuc2lnbmVkIGNoYXIgKikgeXlfY19i
dWZfcDsJLyogY2FzdCBmb3IgOC1iaXQgY2hhcidzICovDQp8IAkqeXlfY19idWZfcCA9ICdcMCc7
CS8qIHByZXNlcnZlIHl5dGV4dCAqLw0KfCAJeXlfaG9sZF9jaGFyID0gKisreXlfY19idWZfcDsN
CnwgDQp8IA0KfCAJcmV0dXJuIGM7DQp8IAl9DQp8ICNlbmRpZgkvKiBpZm5kZWYgWVlfTk9fSU5Q
VVQgKi8NCnwgDQp8IA0KfCAjaWZkZWYgWVlfVVNFX1BST1RPUw0KfCB2b2lkIHl5cmVzdGFydCgg
RklMRSAqaW5wdXRfZmlsZSApDQp8ICNlbHNlDQp8IHZvaWQgeXlyZXN0YXJ0KCBpbnB1dF9maWxl
ICkNCnwgRklMRSAqaW5wdXRfZmlsZTsNCnwgI2VuZGlmDQp8IAl7DQp8IAlpZiAoICEgeXlfY3Vy
cmVudF9idWZmZXIgKQ0KfCAJCXl5X2N1cnJlbnRfYnVmZmVyID0geXlfY3JlYXRlX2J1ZmZlcigg
eXlpbiwgWVlfQlVGX1NJWkUgKTsNCnwgDQp8IAl5eV9pbml0X2J1ZmZlciggeXlfY3VycmVudF9i
dWZmZXIsIGlucHV0X2ZpbGUgKTsNCnwgCXl5X2xvYWRfYnVmZmVyX3N0YXRlKCk7DQp8IAl9DQp8
IA0KfCANCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgdm9pZCB5eV9zd2l0Y2hfdG9fYnVmZmVy
KCBZWV9CVUZGRVJfU1RBVEUgbmV3X2J1ZmZlciApDQp8ICNlbHNlDQp8IHZvaWQgeXlfc3dpdGNo
X3RvX2J1ZmZlciggbmV3X2J1ZmZlciApDQp8IFlZX0JVRkZFUl9TVEFURSBuZXdfYnVmZmVyOw0K
fCAjZW5kaWYNCnwgCXsNCnwgCWlmICggeXlfY3VycmVudF9idWZmZXIgPT0gbmV3X2J1ZmZlciAp
DQp8IAkJcmV0dXJuOw0KfCANCnwgCWlmICggeXlfY3VycmVudF9idWZmZXIgKQ0KfCAJCXsNCnwg
CQkvKiBGbHVzaCBvdXQgaW5mb3JtYXRpb24gZm9yIG9sZCBidWZmZXIuICovDQp8IAkJKnl5X2Nf
YnVmX3AgPSB5eV9ob2xkX2NoYXI7DQp8IAkJeXlfY3VycmVudF9idWZmZXItPnl5X2J1Zl9wb3Mg
PSB5eV9jX2J1Zl9wOw0KfCAJCXl5X2N1cnJlbnRfYnVmZmVyLT55eV9uX2NoYXJzID0geXlfbl9j
aGFyczsNCnwgCQl9DQp8IA0KfCAJeXlfY3VycmVudF9idWZmZXIgPSBuZXdfYnVmZmVyOw0KfCAJ
eXlfbG9hZF9idWZmZXJfc3RhdGUoKTsNCnwgDQp8IAkvKiBXZSBkb24ndCBhY3R1YWxseSBrbm93
IHdoZXRoZXIgd2UgZGlkIHRoaXMgc3dpdGNoIGR1cmluZw0KfCAJICogRU9GICh5eXdyYXAoKSkg
cHJvY2Vzc2luZywgYnV0IHRoZSBvbmx5IHRpbWUgdGhpcyBmbGFnDQp8IAkgKiBpcyBsb29rZWQg
YXQgaXMgYWZ0ZXIgeXl3cmFwKCkgaXMgY2FsbGVkLCBzbyBpdCdzIHNhZmUNCnwgCSAqIHRvIGdv
IGFoZWFkIGFuZCBhbHdheXMgc2V0IGl0Lg0KfCAJICovDQp8IAl5eV9kaWRfYnVmZmVyX3N3aXRj
aF9vbl9lb2YgPSAxOw0KfCAJfQ0KfCANCnwgDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IHZv
aWQgeXlfbG9hZF9idWZmZXJfc3RhdGUoIHZvaWQgKQ0KfCAjZWxzZQ0KfCB2b2lkIHl5X2xvYWRf
YnVmZmVyX3N0YXRlKCkNCnwgI2VuZGlmDQp8IAl7DQp8IAl5eV9uX2NoYXJzID0geXlfY3VycmVu
dF9idWZmZXItPnl5X25fY2hhcnM7DQp8IAl5eXRleHRfcHRyID0geXlfY19idWZfcCA9IHl5X2N1
cnJlbnRfYnVmZmVyLT55eV9idWZfcG9zOw0KfCAJeXlpbiA9IHl5X2N1cnJlbnRfYnVmZmVyLT55
eV9pbnB1dF9maWxlOw0KfCAJeXlfaG9sZF9jaGFyID0gKnl5X2NfYnVmX3A7DQp8IAl9DQp8IA0K
fCANCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgWVlfQlVGRkVSX1NUQVRFIHl5X2NyZWF0ZV9i
dWZmZXIoIEZJTEUgKmZpbGUsIGludCBzaXplICkNCnwgI2Vsc2UNCnwgWVlfQlVGRkVSX1NUQVRF
IHl5X2NyZWF0ZV9idWZmZXIoIGZpbGUsIHNpemUgKQ0KfCBGSUxFICpmaWxlOw0KfCBpbnQgc2l6
ZTsNCnwgI2VuZGlmDQp8IAl7DQp8IAlZWV9CVUZGRVJfU1RBVEUgYjsNCnwgDQp8IAliID0gKFlZ
X0JVRkZFUl9TVEFURSkgeXlfZmxleF9hbGxvYyggc2l6ZW9mKCBzdHJ1Y3QgeXlfYnVmZmVyX3N0
YXRlICkgKTsNCnwgCWlmICggISBiICkNCnwgCQlZWV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5h
bWljIG1lbW9yeSBpbiB5eV9jcmVhdGVfYnVmZmVyKCkiICk7DQp8IA0KfCAJYi0+eXlfYnVmX3Np
emUgPSBzaXplOw0KfCANCnwgCS8qIHl5X2NoX2J1ZiBoYXMgdG8gYmUgMiBjaGFyYWN0ZXJzIGxv
bmdlciB0aGFuIHRoZSBzaXplIGdpdmVuIGJlY2F1c2UNCnwgCSAqIHdlIG5lZWQgdG8gcHV0IGlu
IDIgZW5kLW9mLWJ1ZmZlciBjaGFyYWN0ZXJzLg0KfCAJICovDQp8IAliLT55eV9jaF9idWYgPSAo
Y2hhciAqKSB5eV9mbGV4X2FsbG9jKCBiLT55eV9idWZfc2l6ZSArIDIgKTsNCnwgCWlmICggISBi
LT55eV9jaF9idWYgKQ0KfCAJCVlZX0ZBVEFMX0VSUk9SKCAib3V0IG9mIGR5bmFtaWMgbWVtb3J5
IGluIHl5X2NyZWF0ZV9idWZmZXIoKSIgKTsNCnwgDQp8IAliLT55eV9pc19vdXJfYnVmZmVyID0g
MTsNCnwgDQp8IAl5eV9pbml0X2J1ZmZlciggYiwgZmlsZSApOw0KfCANCnwgCXJldHVybiBiOw0K
fCAJfQ0KfCANCnwgDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IHZvaWQgeXlfZGVsZXRlX2J1
ZmZlciggWVlfQlVGRkVSX1NUQVRFIGIgKQ0KfCAjZWxzZQ0KfCB2b2lkIHl5X2RlbGV0ZV9idWZm
ZXIoIGIgKQ0KfCBZWV9CVUZGRVJfU1RBVEUgYjsNCnwgI2VuZGlmDQp8IAl7DQp8IAlpZiAoICEg
YiApDQp8IAkJcmV0dXJuOw0KfCANCnwgCWlmICggYiA9PSB5eV9jdXJyZW50X2J1ZmZlciApDQp8
IAkJeXlfY3VycmVudF9idWZmZXIgPSAoWVlfQlVGRkVSX1NUQVRFKSAwOw0KfCANCnwgCWlmICgg
Yi0+eXlfaXNfb3VyX2J1ZmZlciApDQp8IAkJeXlfZmxleF9mcmVlKCAodm9pZCAqKSBiLT55eV9j
aF9idWYgKTsNCnwgDQp8IAl5eV9mbGV4X2ZyZWUoICh2b2lkICopIGIgKTsNCnwgCX0NCnwgDQp8
IA0KfCAjaWZuZGVmIFlZX0FMV0FZU19JTlRFUkFDVElWRQ0KfCAjaWZuZGVmIFlZX05FVkVSX0lO
VEVSQUNUSVZFDQp8IGV4dGVybiBpbnQgaXNhdHR5IFlZX1BST1RPKCggaW50ICkpOw0KfCAjZW5k
aWYNCnwgI2VuZGlmDQp8IA0KfCAjaWZkZWYgWVlfVVNFX1BST1RPUw0KfCB2b2lkIHl5X2luaXRf
YnVmZmVyKCBZWV9CVUZGRVJfU1RBVEUgYiwgRklMRSAqZmlsZSApDQp8ICNlbHNlDQp8IHZvaWQg
eXlfaW5pdF9idWZmZXIoIGIsIGZpbGUgKQ0KfCBZWV9CVUZGRVJfU1RBVEUgYjsNCnwgRklMRSAq
ZmlsZTsNCnwgI2VuZGlmDQp8IA0KfCANCnwgCXsNCnwgCXl5X2ZsdXNoX2J1ZmZlciggYiApOw0K
fCANCnwgCWItPnl5X2lucHV0X2ZpbGUgPSBmaWxlOw0KfCAJYi0+eXlfZmlsbF9idWZmZXIgPSAx
Ow0KfCANCnwgI2lmIFlZX0FMV0FZU19JTlRFUkFDVElWRQ0KfCAJYi0+eXlfaXNfaW50ZXJhY3Rp
dmUgPSAxOw0KfCAjZWxzZQ0KfCAjaWYgWVlfTkVWRVJfSU5URVJBQ1RJVkUNCnwgCWItPnl5X2lz
X2ludGVyYWN0aXZlID0gMDsNCnwgI2Vsc2UNCnwgCWItPnl5X2lzX2ludGVyYWN0aXZlID0gZmls
ZSA/IChpc2F0dHkoIGZpbGVubyhmaWxlKSApID4gMCkgOiAwOw0KfCAjZW5kaWYNCnwgI2VuZGlm
DQp8IAl9DQp8IA0KfCANCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgdm9pZCB5eV9mbHVzaF9i
dWZmZXIoIFlZX0JVRkZFUl9TVEFURSBiICkNCnwgI2Vsc2UNCnwgdm9pZCB5eV9mbHVzaF9idWZm
ZXIoIGIgKQ0KfCBZWV9CVUZGRVJfU1RBVEUgYjsNCnwgI2VuZGlmDQp8IA0KfCAJew0KfCAJaWYg
KCAhIGIgKQ0KfCAJCXJldHVybjsNCnwgDQp8IAliLT55eV9uX2NoYXJzID0gMDsNCnwgDQp8IAkv
KiBXZSBhbHdheXMgbmVlZCB0d28gZW5kLW9mLWJ1ZmZlciBjaGFyYWN0ZXJzLiAgVGhlIGZpcnN0
IGNhdXNlcw0KfCAJICogYSB0cmFuc2l0aW9uIHRvIHRoZSBlbmQtb2YtYnVmZmVyIHN0YXRlLiAg
VGhlIHNlY29uZCBjYXVzZXMNCnwgCSAqIGEgamFtIGluIHRoYXQgc3RhdGUuDQp8IAkgKi8NCnwg
CWItPnl5X2NoX2J1ZlswXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsNCnwgCWItPnl5X2NoX2J1
ZlsxXSA9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUjsNCnwgDQp8IAliLT55eV9idWZfcG9zID0gJmIt
Pnl5X2NoX2J1ZlswXTsNCnwgDQp8IAliLT55eV9hdF9ib2wgPSAxOw0KfCAJYi0+eXlfYnVmZmVy
X3N0YXR1cyA9IFlZX0JVRkZFUl9ORVc7DQp8IA0KfCAJaWYgKCBiID09IHl5X2N1cnJlbnRfYnVm
ZmVyICkNCnwgCQl5eV9sb2FkX2J1ZmZlcl9zdGF0ZSgpOw0KfCAJfQ0KfCANCnwgDQp8ICNpZm5k
ZWYgWVlfTk9fU0NBTl9CVUZGRVINCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgWVlfQlVGRkVS
X1NUQVRFIHl5X3NjYW5fYnVmZmVyKCBjaGFyICpiYXNlLCB5eV9zaXplX3Qgc2l6ZSApDQp8ICNl
bHNlDQp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX2J1ZmZlciggYmFzZSwgc2l6ZSApDQp8IGNo
YXIgKmJhc2U7DQp8IHl5X3NpemVfdCBzaXplOw0KfCAjZW5kaWYNCnwgCXsNCnwgCVlZX0JVRkZF
Ul9TVEFURSBiOw0KfCANCnwgCWlmICggc2l6ZSA8IDIgfHwNCnwgCSAgICAgYmFzZVtzaXplLTJd
ICE9IFlZX0VORF9PRl9CVUZGRVJfQ0hBUiB8fA0KfCAJICAgICBiYXNlW3NpemUtMV0gIT0gWVlf
RU5EX09GX0JVRkZFUl9DSEFSICkNCnwgCQkvKiBUaGV5IGZvcmdvdCB0byBsZWF2ZSByb29tIGZv
ciB0aGUgRU9CJ3MuICovDQp8IAkJcmV0dXJuIDA7DQp8IA0KfCAJYiA9IChZWV9CVUZGRVJfU1RB
VEUpIHl5X2ZsZXhfYWxsb2MoIHNpemVvZiggc3RydWN0IHl5X2J1ZmZlcl9zdGF0ZSApICk7DQp8
IAlpZiAoICEgYiApDQp8IAkJWVlfRkFUQUxfRVJST1IoICJvdXQgb2YgZHluYW1pYyBtZW1vcnkg
aW4geXlfc2Nhbl9idWZmZXIoKSIgKTsNCnwgDQp8IAliLT55eV9idWZfc2l6ZSA9IHNpemUgLSAy
OwkvKiAiLSAyIiB0byB0YWtlIGNhcmUgb2YgRU9CJ3MgKi8NCnwgCWItPnl5X2J1Zl9wb3MgPSBi
LT55eV9jaF9idWYgPSBiYXNlOw0KfCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDA7DQp8IAliLT55
eV9pbnB1dF9maWxlID0gMDsNCnwgCWItPnl5X25fY2hhcnMgPSBiLT55eV9idWZfc2l6ZTsNCnwg
CWItPnl5X2lzX2ludGVyYWN0aXZlID0gMDsNCnwgCWItPnl5X2F0X2JvbCA9IDE7DQp8IAliLT55
eV9maWxsX2J1ZmZlciA9IDA7DQp8IAliLT55eV9idWZmZXJfc3RhdHVzID0gWVlfQlVGRkVSX05F
VzsNCnwgDQp8IAl5eV9zd2l0Y2hfdG9fYnVmZmVyKCBiICk7DQp8IA0KfCAJcmV0dXJuIGI7DQp8
IAl9DQp8ICNlbmRpZg0KfCANCnwgDQp8ICNpZm5kZWYgWVlfTk9fU0NBTl9TVFJJTkcNCnwgI2lm
ZGVmIFlZX1VTRV9QUk9UT1MNCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fc3RyaW5nKCB5eWNv
bnN0IGNoYXIgKnl5X3N0ciApDQp8ICNlbHNlDQp8IFlZX0JVRkZFUl9TVEFURSB5eV9zY2FuX3N0
cmluZyggeXlfc3RyICkNCnwgeXljb25zdCBjaGFyICp5eV9zdHI7DQp8ICNlbmRpZg0KfCAJew0K
fCAJaW50IGxlbjsNCnwgCWZvciAoIGxlbiA9IDA7IHl5X3N0cltsZW5dOyArK2xlbiApDQp8IAkJ
Ow0KfCANCnwgCXJldHVybiB5eV9zY2FuX2J5dGVzKCB5eV9zdHIsIGxlbiApOw0KfCAJfQ0KfCAj
ZW5kaWYNCnwgDQp8IA0KfCAjaWZuZGVmIFlZX05PX1NDQU5fQllURVMNCnwgI2lmZGVmIFlZX1VT
RV9QUk9UT1MNCnwgWVlfQlVGRkVSX1NUQVRFIHl5X3NjYW5fYnl0ZXMoIHl5Y29uc3QgY2hhciAq
Ynl0ZXMsIGludCBsZW4gKQ0KfCAjZWxzZQ0KfCBZWV9CVUZGRVJfU1RBVEUgeXlfc2Nhbl9ieXRl
cyggYnl0ZXMsIGxlbiApDQp8IHl5Y29uc3QgY2hhciAqYnl0ZXM7DQp8IGludCBsZW47DQp8ICNl
bmRpZg0KfCAJew0KfCAJWVlfQlVGRkVSX1NUQVRFIGI7DQp8IAljaGFyICpidWY7DQp8IAl5eV9z
aXplX3QgbjsNCnwgCWludCBpOw0KfCANCnwgCS8qIEdldCBtZW1vcnkgZm9yIGZ1bGwgYnVmZmVy
LCBpbmNsdWRpbmcgc3BhY2UgZm9yIHRyYWlsaW5nIEVPQidzLiAqLw0KfCAJbiA9IGxlbiArIDI7
DQp8IAlidWYgPSAoY2hhciAqKSB5eV9mbGV4X2FsbG9jKCBuICk7DQp8IAlpZiAoICEgYnVmICkN
CnwgCQlZWV9GQVRBTF9FUlJPUiggIm91dCBvZiBkeW5hbWljIG1lbW9yeSBpbiB5eV9zY2FuX2J5
dGVzKCkiICk7DQp8IA0KfCAJZm9yICggaSA9IDA7IGkgPCBsZW47ICsraSApDQp8IAkJYnVmW2ld
ID0gYnl0ZXNbaV07DQp8IA0KfCAJYnVmW2xlbl0gPSBidWZbbGVuKzFdID0gWVlfRU5EX09GX0JV
RkZFUl9DSEFSOw0KfCANCnwgCWIgPSB5eV9zY2FuX2J1ZmZlciggYnVmLCBuICk7DQp8IAlpZiAo
ICEgYiApDQp8IAkJWVlfRkFUQUxfRVJST1IoICJiYWQgYnVmZmVyIGluIHl5X3NjYW5fYnl0ZXMo
KSIgKTsNCnwgDQp8IAkvKiBJdCdzIG9rYXkgdG8gZ3JvdyBldGMuIHRoaXMgYnVmZmVyLCBhbmQg
d2Ugc2hvdWxkIHRocm93IGl0DQp8IAkgKiBhd2F5IHdoZW4gd2UncmUgZG9uZS4NCnwgCSAqLw0K
fCAJYi0+eXlfaXNfb3VyX2J1ZmZlciA9IDE7DQp8IA0KfCAJcmV0dXJuIGI7DQp8IAl9DQp8ICNl
bmRpZg0KfCANCnwgDQp8ICNpZm5kZWYgWVlfTk9fUFVTSF9TVEFURQ0KfCAjaWZkZWYgWVlfVVNF
X1BST1RPUw0KfCBzdGF0aWMgdm9pZCB5eV9wdXNoX3N0YXRlKCBpbnQgbmV3X3N0YXRlICkNCnwg
I2Vsc2UNCnwgc3RhdGljIHZvaWQgeXlfcHVzaF9zdGF0ZSggbmV3X3N0YXRlICkNCnwgaW50IG5l
d19zdGF0ZTsNCnwgI2VuZGlmDQp8IAl7DQp8IAlpZiAoIHl5X3N0YXJ0X3N0YWNrX3B0ciA+PSB5
eV9zdGFydF9zdGFja19kZXB0aCApDQp8IAkJew0KfCAJCXl5X3NpemVfdCBuZXdfc2l6ZTsNCnwg
DQp8IAkJeXlfc3RhcnRfc3RhY2tfZGVwdGggKz0gWVlfU1RBUlRfU1RBQ0tfSU5DUjsNCnwgCQlu
ZXdfc2l6ZSA9IHl5X3N0YXJ0X3N0YWNrX2RlcHRoICogc2l6ZW9mKCBpbnQgKTsNCnwgDQp8IAkJ
aWYgKCAhIHl5X3N0YXJ0X3N0YWNrICkNCnwgCQkJeXlfc3RhcnRfc3RhY2sgPSAoaW50ICopIHl5
X2ZsZXhfYWxsb2MoIG5ld19zaXplICk7DQp8IA0KfCAJCWVsc2UNCnwgCQkJeXlfc3RhcnRfc3Rh
Y2sgPSAoaW50ICopIHl5X2ZsZXhfcmVhbGxvYygNCnwgCQkJCQkodm9pZCAqKSB5eV9zdGFydF9z
dGFjaywgbmV3X3NpemUgKTsNCnwgDQp8IAkJaWYgKCAhIHl5X3N0YXJ0X3N0YWNrICkNCnwgCQkJ
WVlfRkFUQUxfRVJST1IoDQp8IAkJCSJvdXQgb2YgbWVtb3J5IGV4cGFuZGluZyBzdGFydC1jb25k
aXRpb24gc3RhY2siICk7DQp8IAkJfQ0KfCANCnwgCXl5X3N0YXJ0X3N0YWNrW3l5X3N0YXJ0X3N0
YWNrX3B0cisrXSA9IFlZX1NUQVJUOw0KfCANCnwgCUJFR0lOKG5ld19zdGF0ZSk7DQp8IAl9DQp8
ICNlbmRpZg0KfCANCnwgDQp8ICNpZm5kZWYgWVlfTk9fUE9QX1NUQVRFDQp8ICNpZmRlZiBZWV9V
U0VfUFJPVE9TDQp8IHN0YXRpYyB2b2lkIHl5X3BvcF9zdGF0ZSh2b2lkKQ0KfCAjZWxzZQ0KfCBz
dGF0aWMgdm9pZCB5eV9wb3Bfc3RhdGUoKQ0KfCAjZW5kaWYNCnwgCXsNCnwgCWlmICggLS15eV9z
dGFydF9zdGFja19wdHIgPCAwICkNCnwgCQlZWV9GQVRBTF9FUlJPUiggInN0YXJ0LWNvbmRpdGlv
biBzdGFjayB1bmRlcmZsb3ciICk7DQp8IA0KfCAJQkVHSU4oeXlfc3RhcnRfc3RhY2tbeXlfc3Rh
cnRfc3RhY2tfcHRyXSk7DQp8IAl9DQp8ICNlbmRpZg0KfCANCnwgDQp8ICNpZm5kZWYgWVlfTk9f
VE9QX1NUQVRFDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IHN0YXRpYyBpbnQgeXlfdG9wX3N0
YXRlKHZvaWQpDQp8ICNlbHNlDQp8IHN0YXRpYyBpbnQgeXlfdG9wX3N0YXRlKCkNCnwgI2VuZGlm
DQp8IAl7DQp8IAlyZXR1cm4geXlfc3RhcnRfc3RhY2tbeXlfc3RhcnRfc3RhY2tfcHRyIC0gMV07
DQp8IAl9DQp8ICNlbmRpZg0KfCANCnwgI2lmbmRlZiBZWV9FWElUX0ZBSUxVUkUNCnwgI2RlZmlu
ZSBZWV9FWElUX0ZBSUxVUkUgMg0KfCAjZW5kaWYNCnwgDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9T
DQp8IHN0YXRpYyB2b2lkIHl5X2ZhdGFsX2Vycm9yKCB5eWNvbnN0IGNoYXIgbXNnW10gKQ0KfCAj
ZWxzZQ0KfCBzdGF0aWMgdm9pZCB5eV9mYXRhbF9lcnJvciggbXNnICkNCnwgY2hhciBtc2dbXTsN
CnwgI2VuZGlmDQp8IAl7DQp8IAkodm9pZCkgZnByaW50Ziggc3RkZXJyLCAiJXNcbiIsIG1zZyAp
Ow0KfCAJZXhpdCggWVlfRVhJVF9GQUlMVVJFICk7DQp8IAl9DQp8IA0KfCANCnwgDQp8IC8qIFJl
ZGVmaW5lIHl5bGVzcygpIHNvIGl0IHdvcmtzIGluIHNlY3Rpb24gMyBjb2RlLiAqLw0KfCANCnwg
I3VuZGVmIHl5bGVzcw0KfCAjZGVmaW5lIHl5bGVzcyhuKSBcDQp8IAlkbyBcDQp8IAkJeyBcDQp8
IAkJLyogVW5kbyBlZmZlY3RzIG9mIHNldHRpbmcgdXAgeXl0ZXh0LiAqLyBcDQp8IAkJeXl0ZXh0
W3l5bGVuZ10gPSB5eV9ob2xkX2NoYXI7IFwNCnwgCQl5eV9jX2J1Zl9wID0geXl0ZXh0ICsgbjsg
XA0KfCAJCXl5X2hvbGRfY2hhciA9ICp5eV9jX2J1Zl9wOyBcDQp8IAkJKnl5X2NfYnVmX3AgPSAn
XDAnOyBcDQp8IAkJeXlsZW5nID0gbjsgXA0KfCAJCX0gXA0KfCAJd2hpbGUgKCAwICkNCnwgDQp8
IA0KfCAvKiBJbnRlcm5hbCB1dGlsaXR5IHJvdXRpbmVzLiAqLw0KfCANCnwgI2lmbmRlZiB5eXRl
eHRfcHRyDQp8ICNpZmRlZiBZWV9VU0VfUFJPVE9TDQp8IHN0YXRpYyB2b2lkIHl5X2ZsZXhfc3Ry
bmNweSggY2hhciAqczEsIHl5Y29uc3QgY2hhciAqczIsIGludCBuICkNCnwgI2Vsc2UNCnwgc3Rh
dGljIHZvaWQgeXlfZmxleF9zdHJuY3B5KCBzMSwgczIsIG4gKQ0KfCBjaGFyICpzMTsNCnwgeXlj
b25zdCBjaGFyICpzMjsNCnwgaW50IG47DQp8ICNlbmRpZg0KfCAJew0KfCAJaW50IGk7DQp8IAlm
b3IgKCBpID0gMDsgaSA8IG47ICsraSApDQp8IAkJczFbaV0gPSBzMltpXTsNCnwgCX0NCnwgI2Vu
ZGlmDQp8IA0KfCAjaWZkZWYgWVlfTkVFRF9TVFJMRU4NCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MN
Cnwgc3RhdGljIGludCB5eV9mbGV4X3N0cmxlbiggeXljb25zdCBjaGFyICpzICkNCnwgI2Vsc2UN
Cnwgc3RhdGljIGludCB5eV9mbGV4X3N0cmxlbiggcyApDQp8IHl5Y29uc3QgY2hhciAqczsNCnwg
I2VuZGlmDQp8IAl7DQp8IAlpbnQgbjsNCnwgCWZvciAoIG4gPSAwOyBzW25dOyArK24gKQ0KfCAJ
CTsNCnwgDQp8IAlyZXR1cm4gbjsNCnwgCX0NCnwgI2VuZGlmDQp8IA0KfCANCnwgI2lmZGVmIFlZ
X1VTRV9QUk9UT1MNCnwgc3RhdGljIHZvaWQgKnl5X2ZsZXhfYWxsb2MoIHl5X3NpemVfdCBzaXpl
ICkNCnwgI2Vsc2UNCnwgc3RhdGljIHZvaWQgKnl5X2ZsZXhfYWxsb2MoIHNpemUgKQ0KfCB5eV9z
aXplX3Qgc2l6ZTsNCnwgI2VuZGlmDQp8IAl7DQp8IAlyZXR1cm4gKHZvaWQgKikgbWFsbG9jKCBz
aXplICk7DQp8IAl9DQp8IA0KfCAjaWZkZWYgWVlfVVNFX1BST1RPUw0KfCBzdGF0aWMgdm9pZCAq
eXlfZmxleF9yZWFsbG9jKCB2b2lkICpwdHIsIHl5X3NpemVfdCBzaXplICkNCnwgI2Vsc2UNCnwg
c3RhdGljIHZvaWQgKnl5X2ZsZXhfcmVhbGxvYyggcHRyLCBzaXplICkNCnwgdm9pZCAqcHRyOw0K
fCB5eV9zaXplX3Qgc2l6ZTsNCnwgI2VuZGlmDQp8IAl7DQp8IAkvKiBUaGUgY2FzdCB0byAoY2hh
ciAqKSBpbiB0aGUgZm9sbG93aW5nIGFjY29tbW9kYXRlcyBib3RoDQp8IAkgKiBpbXBsZW1lbnRh
dGlvbnMgdGhhdCB1c2UgY2hhciogZ2VuZXJpYyBwb2ludGVycywgYW5kIHRob3NlDQp8IAkgKiB0
aGF0IHVzZSB2b2lkKiBnZW5lcmljIHBvaW50ZXJzLiAgSXQgd29ya3Mgd2l0aCB0aGUgbGF0dGVy
DQp8IAkgKiBiZWNhdXNlIGJvdGggQU5TSSBDIGFuZCBDKysgYWxsb3cgY2FzdGxlc3MgYXNzaWdu
bWVudCBmcm9tDQp8IAkgKiBhbnkgcG9pbnRlciB0eXBlIHRvIHZvaWQqLCBhbmQgZGVhbCB3aXRo
IGFyZ3VtZW50IGNvbnZlcnNpb25zDQp8IAkgKiBhcyB0aG91Z2ggZG9pbmcgYW4gYXNzaWdubWVu
dC4NCnwgCSAqLw0KfCAJcmV0dXJuICh2b2lkICopIHJlYWxsb2MoIChjaGFyICopIHB0ciwgc2l6
ZSApOw0KfCAJfQ0KfCANCnwgI2lmZGVmIFlZX1VTRV9QUk9UT1MNCnwgc3RhdGljIHZvaWQgeXlf
ZmxleF9mcmVlKCB2b2lkICpwdHIgKQ0KfCAjZWxzZQ0KfCBzdGF0aWMgdm9pZCB5eV9mbGV4X2Zy
ZWUoIHB0ciApDQp8IHZvaWQgKnB0cjsNCnwgI2VuZGlmDQp8IAl7DQp8IAlmcmVlKCBwdHIgKTsN
CnwgCX0NCnwgDQp8ICNpZiBZWV9NQUlODQp8IGludCBtYWluKCkNCnwgCXsNCnwgCXl5bGV4KCk7
DQp8IAlyZXR1cm4gMDsNCnwgCX0NCnwgI2VuZGlmDQp8ICNsaW5lIDkgImNvbmZ0ZXN0LmwiDQp8
IA0KfCAjaWZkZWYgWVlURVhUX1BPSU5URVINCnwgZXh0ZXJuIGNoYXIgKnl5dGV4dDsNCnwgI2Vu
ZGlmDQp8IGludA0KfCBtYWluICh2b2lkKQ0KfCB7DQp8ICAgcmV0dXJuICEgeXlsZXggKCkgKyAh
IHl5d3JhcCAoKTsNCnwgfQ0KY29uZmlndXJlOjExNjMzOiBjYyAtbyBjb25mdGVzdCAtTzIgLXBp
cGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2Nh
bC9saWIgY29uZnRlc3QuYyAtbGZsICA+JjUNCmNvbmZ0ZXN0Lmw6IEluIGZ1bmN0aW9uICd5eWxl
eCc6DQpjb25mdGVzdC5sOjY6IHdhcm5pbmc6IGNvbXBhcmlzb24gYmV0d2VlbiBwb2ludGVyIGFu
ZCBpbnRlZ2VyDQpjb25mdGVzdC5sOjY6IHdhcm5pbmc6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRl
ciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QNCmNvbmZpZ3VyZToxMTY0MDogJD8gPSAwDQpj
b25maWd1cmU6MTE2NjQ6IHJlc3VsdDogLWxmbA0KY29uZmlndXJlOjExNjcwOiBjaGVja2luZyB3
aGV0aGVyIHl5dGV4dCBpcyBhIHBvaW50ZXINCmNvbmZpZ3VyZToxMTY5MTogY2MgLW8gY29uZnRl
c3QgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAt
TC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxmbCAgPiY1DQpjb25mdGVzdC5sOiBJbiBmdW5j
dGlvbiAneXlsZXgnOg0KY29uZnRlc3QubDo2OiB3YXJuaW5nOiBjb21wYXJpc29uIGJldHdlZW4g
cG9pbnRlciBhbmQgaW50ZWdlcg0KY29uZnRlc3QubDo2OiB3YXJuaW5nOiBhc3NpZ25tZW50IG1h
a2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0DQpjb25maWd1cmU6MTE2OTg6
ICQ/ID0gMA0KY29uZmlndXJlOjExNzIwOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjExNzQyOiBj
aGVja2luZyBmb3IgYmlzb24NCmNvbmZpZ3VyZToxMTc1ODogZm91bmQgL3Vzci9sb2NhbC9iaW4v
Ymlzb24NCmNvbmZpZ3VyZToxMTc2OTogcmVzdWx0OiBiaXNvbiAteQ0KY29uZmlndXJlOjExODEx
OiBjaGVja2luZyBmb3IgZGxvcGVuIGluIC1sZGwNCmNvbmZpZ3VyZToxMTg0NjogY2MgLW8gY29u
ZnRlc3QgLVdzaWduLWNvbXBhcmUgLVdjYXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25lc3Rl
ZC1leHRlcm5zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdj
aGFyLXN1YnNjcmlwdHMgLVdhbGwgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vz
ci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgLWxkbCAgID4mNQ0K
L3Vzci9iaW4vbGQ6IGNhbm5vdCBmaW5kIC1sZGwNCmNvbmZpZ3VyZToxMTg1MzogJD8gPSAxDQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8ICNk
ZWZpbmUgUEFDS0FHRV9OQU1FICJnb2JqZWN0LWludHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FICJnb2JqZWN0LWludHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRV9W
RVJTSU9OICIwLjEwLjgiDQp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgImdvYmplY3QtaW50cm9z
cGVjdGlvbiAwLjEwLjgiDQp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6
aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PWdsaWImY29tcG9uZW50PWludHJv
c3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIg0KfCAj
ZGVmaW5lIFZFUlNJT04gIjAuMTAuOCINCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVm
aW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZp
bmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUg
SEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBMVF9P
QkpESVIgIi5saWJzLyINCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxDQp8IC8qIGVuZCBjb25m
ZGVmcy5oLiAgKi8NCnwgDQp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLg0KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MNCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn
dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCnwgI2lmZGVmIF9fY3BsdXNw
bHVzDQp8IGV4dGVybiAiQyINCnwgI2VuZGlmDQp8IGNoYXIgZGxvcGVuICgpOw0KfCBpbnQNCnwg
bWFpbiAoKQ0KfCB7DQp8IHJldHVybiBkbG9wZW4gKCk7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0K
fCB9DQpjb25maWd1cmU6MTE4NzQ6IHJlc3VsdDogbm8NCmNvbmZpZ3VyZToxMTg4NjogY2hlY2tp
bmcgZm9yIHRoZSBzdWZmaXggb2Ygc2hhcmVkIGxpYnJhcmllcw0KY29uZmlndXJlOjExODk3OiBy
ZXN1bHQ6IC5zbw0KY29uZmlndXJlOjEyMTEyOiBjaGVja2luZyBmb3IgR0xJQg0KY29uZmlndXJl
OjEyMTE5OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ2xpYi0yLjAiDQpj
b25maWd1cmU6MTIxMjI6ICQ/ID0gMA0KY29uZmlndXJlOjEyMTM1OiAkUEtHX0NPTkZJRyAtLWV4
aXN0cyAtLXByaW50LWVycm9ycyAiZ2xpYi0yLjAiDQpjb25maWd1cmU6MTIxMzg6ICQ/ID0gMA0K
Y29uZmlndXJlOjEyMjE1OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEyMjIxOiBjaGVja2luZyBm
b3IgR09CSkVDVA0KY29uZmlndXJlOjEyMjI4OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50
LWVycm9ycyAiZ29iamVjdC0yLjAiDQpjb25maWd1cmU6MTIyMzE6ICQ/ID0gMA0KY29uZmlndXJl
OjEyMjQ0OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAiZ29iamVjdC0yLjAi
DQpjb25maWd1cmU6MTIyNDc6ICQ/ID0gMA0KY29uZmlndXJlOjEyMzI0OiByZXN1bHQ6IHllcw0K
Y29uZmlndXJlOjEyMzMwOiBjaGVja2luZyBmb3IgR0lPDQpjb25maWd1cmU6MTIzMzc6ICRQS0df
Q09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJnaW8tMi4wIg0KY29uZmlndXJlOjEyMzQw
OiAkPyA9IDANCmNvbmZpZ3VyZToxMjM1MzogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1l
cnJvcnMgImdpby0yLjAiDQpjb25maWd1cmU6MTIzNTY6ICQ/ID0gMA0KY29uZmlndXJlOjEyNDMz
OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEyNDM5OiBjaGVja2luZyBmb3IgR0lPX1VOSVgNCmNv
bmZpZ3VyZToxMjQ0NjogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgImdpby11
bml4LTIuMCINCmNvbmZpZ3VyZToxMjQ0OTogJD8gPSAwDQpjb25maWd1cmU6MTI0NjI6ICRQS0df
Q09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJnaW8tdW5peC0yLjAiDQpjb25maWd1cmU6
MTI0NjU6ICQ/ID0gMA0KY29uZmlndXJlOjEyNTAwOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjEy
NTIzOiBjaGVja2luZyBmb3IgQ0FJUk8NCmNvbmZpZ3VyZToxMjUzMDogJFBLR19DT05GSUcgLS1l
eGlzdHMgLS1wcmludC1lcnJvcnMgImNhaXJvIg0KY29uZmlndXJlOjEyNTMzOiAkPyA9IDANCmNv
bmZpZ3VyZToxMjU0NjogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgImNhaXJv
Ig0KY29uZmlndXJlOjEyNTQ5OiAkPyA9IDANCmNvbmZpZ3VyZToxMjU4NDogcmVzdWx0OiB5ZXMN
CmNvbmZpZ3VyZToxMjU5ODogY2hlY2tpbmcgZm9yIENBSVJPX0dPQkpFQ1QNCmNvbmZpZ3VyZTox
MjYwNTogJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgImNhaXJvLWdvYmplY3Qi
DQpjb25maWd1cmU6MTI2MDg6ICQ/ID0gMA0KY29uZmlndXJlOjEyNjIxOiAkUEtHX0NPTkZJRyAt
LWV4aXN0cyAtLXByaW50LWVycm9ycyAiY2Fpcm8tZ29iamVjdCINCmNvbmZpZ3VyZToxMjYyNDog
JD8gPSAwDQpjb25maWd1cmU6MTI2NTk6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTI3MDI6IGNo
ZWNraW5nIGZvciBTQ0FOTkVSDQpjb25maWd1cmU6MTI3MDk6ICRQS0dfQ09ORklHIC0tZXhpc3Rz
IC0tcHJpbnQtZXJyb3JzICJnb2JqZWN0LTIuMCBndGhyZWFkLTIuMCBnaW8tMi4wIg0KY29uZmln
dXJlOjEyNzEyOiAkPyA9IDANCmNvbmZpZ3VyZToxMjcyNTogJFBLR19DT05GSUcgLS1leGlzdHMg
LS1wcmludC1lcnJvcnMgImdvYmplY3QtMi4wIGd0aHJlYWQtMi4wIGdpby0yLjAiDQpjb25maWd1
cmU6MTI3Mjg6ICQ/ID0gMA0KY29uZmlndXJlOjEyODA1OiByZXN1bHQ6IHllcw0KY29uZmlndXJl
OjEyODEyOiBjaGVja2luZyBmb3IgRkZJDQpjb25maWd1cmU6MTI4MTk6ICRQS0dfQ09ORklHIC0t
ZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJsaWJmZmkiDQpjb25maWd1cmU6MTI4MjI6ICQ/ID0gMA0K
Y29uZmlndXJlOjEyODM1OiAkUEtHX0NPTkZJRyAtLWV4aXN0cyAtLXByaW50LWVycm9ycyAibGli
ZmZpIg0KY29uZmlndXJlOjEyODM4OiAkPyA9IDANCmNvbmZpZ3VyZToxMjg3MzogcmVzdWx0OiB5
ZXMNCmNvbmZpZ3VyZToxMzA1MDogY2hlY2tpbmcgc2l6ZSBvZiBjaGFyDQpjb25maWd1cmU6MTMz
NTU6IGNjIC1vIGNvbmZ0ZXN0IC1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50ZXIt
YXJpdGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3NpbmctZGVj
bGFyYXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxsIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1h
bGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5j
ICA+JjUNCmNvbmZpZ3VyZToxMzM1OTogJD8gPSAwDQpjb25maWd1cmU6MTMzNjU6IC4vY29uZnRl
c3QNCmNvbmZpZ3VyZToxMzM2OTogJD8gPSAwDQpjb25maWd1cmU6MTMzOTU6IHJlc3VsdDogMQ0K
Y29uZmlndXJlOjEzNDA5OiBjaGVja2luZyBzaXplIG9mIHNob3J0DQpjb25maWd1cmU6MTM3MTQ6
IGNjIC1vIGNvbmZ0ZXN0IC1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50ZXItYXJp
dGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3NpbmctZGVjbGFy
YXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxsIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlh
c2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+
JjUNCmNvbmZpZ3VyZToxMzcxODogJD8gPSAwDQpjb25maWd1cmU6MTM3MjQ6IC4vY29uZnRlc3QN
CmNvbmZpZ3VyZToxMzcyODogJD8gPSAwDQpjb25maWd1cmU6MTM3NTQ6IHJlc3VsdDogMg0KY29u
ZmlndXJlOjEzNzY4OiBjaGVja2luZyBzaXplIG9mIGludA0KY29uZmlndXJlOjE0MDczOiBjYyAt
byBjb25mdGVzdCAtV3NpZ24tY29tcGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1X
bmVzdGVkLWV4dGVybnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9u
cyAtV2NoYXItc3Vic2NyaXB0cyAtV2FsbCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcg
LUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1DQpj
b25maWd1cmU6MTQwNzc6ICQ/ID0gMA0KY29uZmlndXJlOjE0MDgzOiAuL2NvbmZ0ZXN0DQpjb25m
aWd1cmU6MTQwODc6ICQ/ID0gMA0KY29uZmlndXJlOjE0MTEzOiByZXN1bHQ6IDQNCmNvbmZpZ3Vy
ZToxNDEyNzogY2hlY2tpbmcgc2l6ZSBvZiBsb25nDQpjb25maWd1cmU6MTQ0MzI6IGNjIC1vIGNv
bmZ0ZXN0IC1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50ZXItYXJpdGggLVduZXN0
ZWQtZXh0ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1X
Y2hhci1zdWJzY3JpcHRzIC1XYWxsIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91
c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUNCmNvbmZp
Z3VyZToxNDQzNjogJD8gPSAwDQpjb25maWd1cmU6MTQ0NDI6IC4vY29uZnRlc3QNCmNvbmZpZ3Vy
ZToxNDQ0NjogJD8gPSAwDQpjb25maWd1cmU6MTQ0NzI6IHJlc3VsdDogNA0KY29uZmlndXJlOjE0
NDg1OiBjaGVja2luZyBmb3IgR0lSRVBPDQpjb25maWd1cmU6MTQ0OTI6ICRQS0dfQ09ORklHIC0t
ZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJnbGliLTIuMCA+PSAyLjI0LjAgZ29iamVjdC0yLjAgZ21v
ZHVsZS0yLjAgZ2lvLTIuMCINCmNvbmZpZ3VyZToxNDQ5NTogJD8gPSAwDQpjb25maWd1cmU6MTQ1
MDg6ICRQS0dfQ09ORklHIC0tZXhpc3RzIC0tcHJpbnQtZXJyb3JzICJnbGliLTIuMCA+PSAyLjI0
LjAgZ29iamVjdC0yLjAgZ21vZHVsZS0yLjAgZ2lvLTIuMCINCmNvbmZpZ3VyZToxNDUxMTogJD8g
PSAwDQpjb25maWd1cmU6MTQ1ODg6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTQ2MDU6IGNoZWNr
aW5nIGZvciBndGtkb2MtY2hlY2sNCmNvbmZpZ3VyZToxNDYzODogcmVzdWx0OiBubw0KY29uZmln
dXJlOjE0NjQ3OiBjaGVja2luZyBmb3IgZ3RrZG9jLXJlYmFzZQ0KY29uZmlndXJlOjE0NjgwOiBy
ZXN1bHQ6IG5vDQpjb25maWd1cmU6MTQ2OTE6IGNoZWNraW5nIGZvciBndGtkb2MtbWtwZGYNCmNv
bmZpZ3VyZToxNDcyNDogcmVzdWx0OiBubw0KY29uZmlndXJlOjE0NzY0OiBjaGVja2luZyB3aGV0
aGVyIHRvIGJ1aWxkIGd0ay1kb2MgZG9jdW1lbnRhdGlvbg0KY29uZmlndXJlOjE0NzY2OiByZXN1
bHQ6IG5vDQpjb25maWd1cmU6MTQ4MzI6IGNoZWNraW5nIGZvciBBTlNJIEMgaGVhZGVyIGZpbGVz
DQpjb25maWd1cmU6MTUwMDA6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTUwMjg6IGNoZWNraW5n
IGZjbnRsLmggdXNhYmlsaXR5DQpjb25maWd1cmU6MTUwNDU6IGNjIC1jIC1Xc2lnbi1jb21wYXJl
IC1XY2FzdC1hbGlnbiAtV3BvaW50ZXItYXJpdGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3Npbmct
cHJvdG90eXBlcyAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxs
IC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSBjb25m
dGVzdC5jID4mNQ0KY29uZmlndXJlOjE1MDUyOiAkPyA9IDANCmNvbmZpZ3VyZToxNTA2NjogcmVz
dWx0OiB5ZXMNCmNvbmZpZ3VyZToxNTA3MDogY2hlY2tpbmcgZmNudGwuaCBwcmVzZW5jZQ0KY29u
ZmlndXJlOjE1MDg1OiBjcHAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgY29uZnRlc3QuYw0KY29uZmln
dXJlOjE1MDkyOiAkPyA9IDANCmNvbmZpZ3VyZToxNTEwNjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3Vy
ZToxNTEzOTogY2hlY2tpbmcgZm9yIGZjbnRsLmgNCmNvbmZpZ3VyZToxNTE0ODogcmVzdWx0OiB5
ZXMNCmNvbmZpZ3VyZToxNTAxNzogY2hlY2tpbmcgZm9yIHN0ZGxpYi5oDQpjb25maWd1cmU6MTUw
MjQ6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTUwMTc6IGNoZWNraW5nIGZvciBzdHJpbmcuaA0K
Y29uZmlndXJlOjE1MDI0OiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE1MTY1OiBjaGVja2luZyBm
b3IgYW4gQU5TSSBDLWNvbmZvcm1pbmcgY29uc3QNCmNvbmZpZ3VyZToxNTI0MDogY2MgLWMgLVdz
aWduLWNvbXBhcmUgLVdjYXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25lc3RlZC1leHRlcm5z
IC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdjaGFyLXN1YnNj
cmlwdHMgLVdhbGwgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9p
bmNsdWRlIGNvbmZ0ZXN0LmMgPiY1DQpjb25mdGVzdC5jOiBJbiBmdW5jdGlvbiAnbWFpbic6DQpj
b25mdGVzdC5jOjY0OiB3YXJuaW5nOiAndCcgaXMgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMg
ZnVuY3Rpb24NCmNvbmZ0ZXN0LmM6ODA6IHdhcm5pbmc6ICdiJyBpcyB1c2VkIHVuaW5pdGlhbGl6
ZWQgaW4gdGhpcyBmdW5jdGlvbg0KY29uZnRlc3QuYzo4Njogd2FybmluZzogJ2NzWzBdJyBpcyB1
c2VkIHVuaW5pdGlhbGl6ZWQgaW4gdGhpcyBmdW5jdGlvbg0KY29uZmlndXJlOjE1MjQ3OiAkPyA9
IDANCmNvbmZpZ3VyZToxNTI2MjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNTI3NDogY2hlY2tp
bmcgZm9yIHdvcmtpbmcgc3RydG9kDQpjb25maWd1cmU6MTUzMjU6IGNjIC1vIGNvbmZ0ZXN0IC1X
c2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50ZXItYXJpdGggLVduZXN0ZWQtZXh0ZXJu
cyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XY2hhci1zdWJz
Y3JpcHRzIC1XYWxsIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwv
aW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVzdC5jICA+JjUNCmNvbmZpZ3VyZToxNTMy
OTogJD8gPSAwDQpjb25maWd1cmU6MTUzMzU6IC4vY29uZnRlc3QNCmNvbmZpZ3VyZToxNTMzOTog
JD8gPSAwDQpjb25maWd1cmU6MTUzNTY6IHJlc3VsdDogeWVzDQpjb25maWd1cmU6MTU1Mzc6IGNo
ZWNraW5nIGZvciBtZW1jaHINCmNvbmZpZ3VyZToxNTU5MzogY2MgLW8gY29uZnRlc3QgLVdzaWdu
LWNvbXBhcmUgLVdjYXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25lc3RlZC1leHRlcm5zIC1X
bWlzc2luZy1wcm90b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdjaGFyLXN1YnNjcmlw
dHMgLVdhbGwgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNs
dWRlICAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjE1NjAwOiAk
PyA9IDANCmNvbmZpZ3VyZToxNTYyMjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNTUzNzogY2hl
Y2tpbmcgZm9yIHN0cmNocg0KY29uZmlndXJlOjE1NTkzOiBjYyAtbyBjb25mdGVzdCAtV3NpZ24t
Y29tcGFyZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1XbmVzdGVkLWV4dGVybnMgLVdt
aXNzaW5nLXByb3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV2NoYXItc3Vic2NyaXB0
cyAtV2FsbCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1
ZGUgIC1ML3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1DQpjb25mdGVzdC5jOjU5OiB3YXJu
aW5nOiBjb25mbGljdGluZyB0eXBlcyBmb3IgYnVpbHQtaW4gZnVuY3Rpb24gJ3N0cmNocicNCmNv
bmZpZ3VyZToxNTYwMDogJD8gPSAwDQpjb25maWd1cmU6MTU2MjI6IHJlc3VsdDogeWVzDQpjb25m
aWd1cmU6MTU1Mzc6IGNoZWNraW5nIGZvciBzdHJzcG4NCmNvbmZpZ3VyZToxNTU5MzogY2MgLW8g
Y29uZnRlc3QgLVdzaWduLWNvbXBhcmUgLVdjYXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25l
c3RlZC1leHRlcm5zIC1XbWlzc2luZy1wcm90b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMg
LVdjaGFyLXN1YnNjcmlwdHMgLVdhbGwgLU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1J
L3Vzci9sb2NhbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQ0KY29u
ZnRlc3QuYzo2MDogd2FybmluZzogY29uZmxpY3RpbmcgdHlwZXMgZm9yIGJ1aWx0LWluIGZ1bmN0
aW9uICdzdHJzcG4nDQpjb25maWd1cmU6MTU2MDA6ICQ/ID0gMA0KY29uZmlndXJlOjE1NjIyOiBy
ZXN1bHQ6IHllcw0KY29uZmlndXJlOjE1NTM3OiBjaGVja2luZyBmb3Igc3Ryc3RyDQpjb25maWd1
cmU6MTU1OTM6IGNjIC1vIGNvbmZ0ZXN0IC1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3Bv
aW50ZXItYXJpdGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3Np
bmctZGVjbGFyYXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxsIC1PMiAtcGlwZSAtZm5vLXN0
cmljdC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiBjb25m
dGVzdC5jICA+JjUNCmNvbmZ0ZXN0LmM6NjE6IHdhcm5pbmc6IGNvbmZsaWN0aW5nIHR5cGVzIGZv
ciBidWlsdC1pbiBmdW5jdGlvbiAnc3Ryc3RyJw0KY29uZmlndXJlOjE1NjAwOiAkPyA9IDANCmNv
bmZpZ3VyZToxNTYyMjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNTUzNzogY2hlY2tpbmcgZm9y
IHN0cnRvbA0KY29uZmlndXJlOjE1NTkzOiBjYyAtbyBjb25mdGVzdCAtV3NpZ24tY29tcGFyZSAt
V2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1XbmVzdGVkLWV4dGVybnMgLVdtaXNzaW5nLXBy
b3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV2NoYXItc3Vic2NyaXB0cyAtV2FsbCAt
TzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1ML3Vz
ci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1DQpjb25maWd1cmU6MTU2MDA6ICQ/ID0gMA0KY29u
ZmlndXJlOjE1NjIyOiByZXN1bHQ6IHllcw0KY29uZmlndXJlOjE1NTM3OiBjaGVja2luZyBmb3Ig
c3RydG91bGwNCmNvbmZpZ3VyZToxNTU5MzogY2MgLW8gY29uZnRlc3QgLVdzaWduLWNvbXBhcmUg
LVdjYXN0LWFsaWduIC1XcG9pbnRlci1hcml0aCAtV25lc3RlZC1leHRlcm5zIC1XbWlzc2luZy1w
cm90b3R5cGVzIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdjaGFyLXN1YnNjcmlwdHMgLVdhbGwg
LU8yIC1waXBlIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1JL3Vzci9sb2NhbC9pbmNsdWRlICAtTC91
c3IvbG9jYWwvbGliIGNvbmZ0ZXN0LmMgID4mNQ0KY29uZmlndXJlOjE1NjAwOiAkPyA9IDANCmNv
bmZpZ3VyZToxNTYyMjogcmVzdWx0OiB5ZXMNCmNvbmZpZ3VyZToxNTYzOTogY2hlY2tpbmcgZm9y
IGJhY2t0cmFjZQ0KY29uZmlndXJlOjE1Njk1OiBjYyAtbyBjb25mdGVzdCAtV3NpZ24tY29tcGFy
ZSAtV2Nhc3QtYWxpZ24gLVdwb2ludGVyLWFyaXRoIC1XbmVzdGVkLWV4dGVybnMgLVdtaXNzaW5n
LXByb3RvdHlwZXMgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV2NoYXItc3Vic2NyaXB0cyAtV2Fs
bCAtTzIgLXBpcGUgLWZuby1zdHJpY3QtYWxpYXNpbmcgLUkvdXNyL2xvY2FsL2luY2x1ZGUgIC1M
L3Vzci9sb2NhbC9saWIgY29uZnRlc3QuYyAgPiY1DQovdG1wLy9jY1pyNHVQOS5vOiBJbiBmdW5j
dGlvbiBgbWFpbic6DQpjb25mdGVzdC5jOigudGV4dCsweDEyKTogdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBgYmFja3RyYWNlJw0KY29uZmlndXJlOjE1NzAyOiAkPyA9IDENCmNvbmZpZ3VyZTogZmFp
bGVkIHByb2dyYW0gd2FzOg0KfCAvKiBjb25mZGVmcy5oLiAgKi8NCnwgI2RlZmluZSBQQUNLQUdF
X05BTUUgImdvYmplY3QtaW50cm9zcGVjdGlvbiINCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
ImdvYmplY3QtaW50cm9zcGVjdGlvbiINCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjAuMTAu
OCINCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIDAuMTAu
OCINCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiaHR0cDovL2J1Z3ppbGxhLmdub21lLm9y
Zy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Z2xpYiZjb21wb25lbnQ9aW50cm9zcGVjdGlvbiINCnwg
I2RlZmluZSBQQUNLQUdFICJnb2JqZWN0LWludHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgVkVSU0lP
TiAiMC4xMC44Ig0KfCAjZGVmaW5lIFNURENfSEVBREVSUyAxDQp8ICNkZWZpbmUgSEFWRV9TWVNf
VFlQRVNfSCAxDQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDENCnwgI2RlZmluZSBIQVZFX1NU
RExJQl9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDENCnwgI2RlZmluZSBIQVZFX01FTU9S
WV9IIDENCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxDQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDENCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDENCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDENCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMv
Ig0KfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDENCnwgI2RlZmluZSBTSExJQl9TVUZGSVggInNv
Ig0KfCAjZGVmaW5lIEdPQkpFQ1RfSU5UUk9TUEVDVElPTl9MSUJESVIgIi91c3IvbG9jYWwvbGli
Ig0KfCAjZGVmaW5lIEdJUl9TVUZGSVggImdpci0xLjAiDQp8ICNkZWZpbmUgR0lSX0RJUiAiL3Vz
ci9sb2NhbC9zaGFyZS9naXItMS4wIg0KfCAjZGVmaW5lIFNJWkVPRl9DSEFSIDENCnwgI2RlZmlu
ZSBTSVpFT0ZfU0hPUlQgMg0KfCAjZGVmaW5lIFNJWkVPRl9JTlQgNA0KfCAjZGVmaW5lIFNJWkVP
Rl9MT05HIDQNCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfRkNOVExf
SCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAx
DQp8ICNkZWZpbmUgSEFWRV9NRU1DSFIgMQ0KfCAjZGVmaW5lIEhBVkVfU1RSQ0hSIDENCnwgI2Rl
ZmluZSBIQVZFX1NUUlNQTiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJTVFIgMQ0KfCAjZGVmaW5lIEhB
VkVfU1RSVE9MIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPVUxMIDENCnwgLyogZW5kIGNvbmZkZWZz
LmguICAqLw0KfCAvKiBEZWZpbmUgYmFja3RyYWNlIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBp
biBjYXNlIDxsaW1pdHMuaD4gZGVjbGFyZXMgYmFja3RyYWNlLg0KfCAgICBGb3IgZXhhbXBsZSwg
SFAtVVggMTFpIDxsaW1pdHMuaD4gZGVjbGFyZXMgZ2V0dGltZW9mZGF5LiAgKi8NCnwgI2RlZmlu
ZSBiYWNrdHJhY2UgaW5ub2N1b3VzX2JhY2t0cmFjZQ0KfCANCnwgLyogU3lzdGVtIGhlYWRlciB0
byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLA0KfCAg
ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBiYWNrdHJhY2UgKCk7IGJlbG93Lg0KfCAg
ICAgUHJlZmVyIDxsaW1pdHMuaD4gdG8gPGFzc2VydC5oPiBpZiBfX1NURENfXyBpcyBkZWZpbmVk
LCBzaW5jZQ0KfCAgICAgPGxpbWl0cy5oPiBleGlzdHMgZXZlbiBvbiBmcmVlc3RhbmRpbmcgY29t
cGlsZXJzLiAgKi8NCnwgDQp8ICNpZmRlZiBfX1NURENfXw0KfCAjIGluY2x1ZGUgPGxpbWl0cy5o
Pg0KfCAjZWxzZQ0KfCAjIGluY2x1ZGUgPGFzc2VydC5oPg0KfCAjZW5kaWYNCnwgDQp8ICN1bmRl
ZiBiYWNrdHJhY2UNCnwgDQp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLg0KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MNCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJn
dW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8NCnwgI2lmZGVmIF9fY3BsdXNw
bHVzDQp8IGV4dGVybiAiQyINCnwgI2VuZGlmDQp8IGNoYXIgYmFja3RyYWNlICgpOw0KfCAvKiBU
aGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBs
ZW1lbnRzDQp8ICAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25z
IGFyZSBhY3R1YWxseSBuYW1lZA0KfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5k
IHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovDQp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9i
YWNrdHJhY2UgfHwgZGVmaW5lZCBfX3N0dWJfX19iYWNrdHJhY2UNCnwgY2hva2UgbWUNCnwgI2Vu
ZGlmDQp8IA0KfCBpbnQNCnwgbWFpbiAoKQ0KfCB7DQp8IHJldHVybiBiYWNrdHJhY2UgKCk7DQp8
ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MTU3MjQ6IHJlc3VsdDogbm8NCmNv
bmZpZ3VyZToxNTYzOTogY2hlY2tpbmcgZm9yIGJhY2t0cmFjZV9zeW1ib2xzDQpjb25maWd1cmU6
MTU2OTU6IGNjIC1vIGNvbmZ0ZXN0IC1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50
ZXItYXJpdGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3Npbmct
ZGVjbGFyYXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxsIC1PMiAtcGlwZSAtZm5vLXN0cmlj
dC1hbGlhc2luZyAtSS91c3IvbG9jYWwvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL2xpYiBjb25mdGVz
dC5jICA+JjUNCi90bXAvL2NjZHMxOENJLm86IEluIGZ1bmN0aW9uIGBtYWluJzoNCmNvbmZ0ZXN0
LmM6KC50ZXh0KzB4MTIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBiYWNrdHJhY2Vfc3ltYm9s
cycNCmNvbmZpZ3VyZToxNTcwMjogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoNCnwgLyogY29uZmRlZnMuaC4gICovDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnb2JqZWN0
LWludHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnb2JqZWN0LWludHJv
c3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIwLjEwLjgiDQp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgImdvYmplY3QtaW50cm9zcGVjdGlvbiAwLjEwLjgiDQp8ICNkZWZpbmUg
UEFDS0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNn
aT9wcm9kdWN0PWdsaWImY29tcG9uZW50PWludHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FH
RSAiZ29iamVjdC1pbnRyb3NwZWN0aW9uIg0KfCAjZGVmaW5lIFZFUlNJT04gIjAuMTAuOCINCnwg
I2RlZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAj
ZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNk
ZWZpbmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUg
SEFWRV9ETEZDTl9IIDENCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyINCnwgI2RlZmluZSBZ
WVRFWFRfUE9JTlRFUiAxDQp8ICNkZWZpbmUgU0hMSUJfU1VGRklYICJzbyINCnwgI2RlZmluZSBH
T0JKRUNUX0lOVFJPU1BFQ1RJT05fTElCRElSICIvdXNyL2xvY2FsL2xpYiINCnwgI2RlZmluZSBH
SVJfU1VGRklYICJnaXItMS4wIg0KfCAjZGVmaW5lIEdJUl9ESVIgIi91c3IvbG9jYWwvc2hhcmUv
Z2lyLTEuMCINCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxDQp8ICNkZWZpbmUgU0laRU9GX1NIT1JU
IDINCnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQNCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA0DQp8ICNk
ZWZpbmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5l
IEhBVkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfTUVNQ0hSIDENCnwgI2RlZmluZSBIQVZFX1NUUkNIUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJT
UE4gMQ0KfCAjZGVmaW5lIEhBVkVfU1RSU1RSIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPTCAxDQp8
ICNkZWZpbmUgSEFWRV9TVFJUT1VMTCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgLyog
RGVmaW5lIGJhY2t0cmFjZV9zeW1ib2xzIHRvIGFuIGlubm9jdW91cyB2YXJpYW50LCBpbiBjYXNl
IDxsaW1pdHMuaD4gZGVjbGFyZXMgYmFja3RyYWNlX3N5bWJvbHMuDQp8ICAgIEZvciBleGFtcGxl
LCBIUC1VWCAxMWkgPGxpbWl0cy5oPiBkZWNsYXJlcyBnZXR0aW1lb2ZkYXkuICAqLw0KfCAjZGVm
aW5lIGJhY2t0cmFjZV9zeW1ib2xzIGlubm9jdW91c19iYWNrdHJhY2Vfc3ltYm9scw0KfCANCnwg
LyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZl
dyBwcm90b3R5cGVzLA0KfCAgICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBiYWNrdHJh
Y2Vfc3ltYm9scyAoKTsgYmVsb3cuDQp8ICAgICBQcmVmZXIgPGxpbWl0cy5oPiB0byA8YXNzZXJ0
Lmg+IGlmIF9fU1REQ19fIGlzIGRlZmluZWQsIHNpbmNlDQp8ICAgICA8bGltaXRzLmg+IGV4aXN0
cyBldmVuIG9uIGZyZWVzdGFuZGluZyBjb21waWxlcnMuICAqLw0KfCANCnwgI2lmZGVmIF9fU1RE
Q19fDQp8ICMgaW5jbHVkZSA8bGltaXRzLmg+DQp8ICNlbHNlDQp8ICMgaW5jbHVkZSA8YXNzZXJ0
Lmg+DQp8ICNlbmRpZg0KfCANCnwgI3VuZGVmIGJhY2t0cmFjZV9zeW1ib2xzDQp8IA0KfCAvKiBP
dmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4NCnwg
ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg
R0NDDQp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz
dGlsbCBhcHBseS4gICovDQp8ICNpZmRlZiBfX2NwbHVzcGx1cw0KfCBleHRlcm4gIkMiDQp8ICNl
bmRpZg0KfCBjaGFyIGJhY2t0cmFjZV9zeW1ib2xzICgpOw0KfCAvKiBUaGUgR05VIEMgbGlicmFy
eSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzDQp8ICAgICB0
byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu
YW1lZA0KfCAgICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFt
ZSBpcyBhbiBhbGlhcy4gICovDQp8ICNpZiBkZWZpbmVkIF9fc3R1Yl9iYWNrdHJhY2Vfc3ltYm9s
cyB8fCBkZWZpbmVkIF9fc3R1Yl9fX2JhY2t0cmFjZV9zeW1ib2xzDQp8IGNob2tlIG1lDQp8ICNl
bmRpZg0KfCANCnwgaW50DQp8IG1haW4gKCkNCnwgew0KfCByZXR1cm4gYmFja3RyYWNlX3N5bWJv
bHMgKCk7DQp8ICAgOw0KfCAgIHJldHVybiAwOw0KfCB9DQpjb25maWd1cmU6MTU3MjQ6IHJlc3Vs
dDogbm8NCmNvbmZpZ3VyZToxNTczOTogY2hlY2tpbmcgd2hldGhlciBQeXRob24gc3VwcG9ydCBp
cyByZXF1ZXN0ZWQNCmNvbmZpZ3VyZToxNTc0ODogY2hlY2tpbmcgd2hldGhlciAvdXNyL2xvY2Fs
L2Jpbi9weXRob24yLjcgdmVyc2lvbiA+PSAyLjUNCmNvbmZpZ3VyZToxNTc1OTogL3Vzci9sb2Nh
bC9iaW4vcHl0aG9uMi43IC1jIGltcG9ydCBzeXMgIyBzcGxpdCBzdHJpbmdzIGJ5ICcuJyBhbmQg
Y29udmVydCB0byBudW1lcmljLiBBcHBlbmQgc29tZSB6ZXJvcyAjIGJlY2F1c2Ugd2UgbmVlZCBh
dCBsZWFzdCA0IGRpZ2l0cyBmb3IgdGhlIGhleCBjb252ZXJzaW9uLiAjIG1hcCByZXR1cm5zIGFu
IGl0ZXJhdG9yIGluIFB5dGhvbiAzLjAgYW5kIGEgbGlzdCBpbiAyLnggbWludmVyID0gbGlzdCht
YXAoaW50LCAnMi41Jy5zcGxpdCgnLicpKSkgKyBbMCwgMCwgMF0gbWludmVyaGV4ID0gMCAjIHhy
YW5nZSBpcyBub3QgcHJlc2VudCBpbiBQeXRob24gMy4wIGFuZCByYW5nZSByZXR1cm5zIGFuIGl0
ZXJhdG9yIGZvciBpIGluIGxpc3QocmFuZ2UoMCwgNCkpOiBtaW52ZXJoZXggPSAobWludmVyaGV4
IDw8IDgpICsgbWludmVyW2ldIHN5cy5leGl0KHN5cy5oZXh2ZXJzaW9uIDwgbWludmVyaGV4KQ0K
Y29uZmlndXJlOjE1NzYyOiAkPyA9IDANCmNvbmZpZ3VyZToxNTc2NDogcmVzdWx0OiB5ZXMNCmNv
bmZpZ3VyZToxNTg2MTogY2hlY2tpbmcgZm9yIC91c3IvbG9jYWwvYmluL3B5dGhvbjIuNyB2ZXJz
aW9uDQpjb25maWd1cmU6MTU4Njg6IHJlc3VsdDogMi43DQpjb25maWd1cmU6MTU4ODA6IGNoZWNr
aW5nIGZvciAvdXNyL2xvY2FsL2Jpbi9weXRob24yLjcgcGxhdGZvcm0NCmNvbmZpZ3VyZToxNTg4
NzogcmVzdWx0OiBmcmVlYnNkOQ0KY29uZmlndXJlOjE1ODk0OiBjaGVja2luZyBmb3IgL3Vzci9s
b2NhbC9iaW4vcHl0aG9uMi43IHNjcmlwdCBkaXJlY3RvcnkNCmNvbmZpZ3VyZToxNTkyMzogcmVz
dWx0OiAke3ByZWZpeH0vbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzDQpjb25maWd1cmU6MTU5
MzI6IGNoZWNraW5nIGZvciAvdXNyL2xvY2FsL2Jpbi9weXRob24yLjcgZXh0ZW5zaW9uIG1vZHVs
ZSBkaXJlY3RvcnkNCmNvbmZpZ3VyZToxNTk2MTogcmVzdWx0OiAke2V4ZWNfcHJlZml4fS9saWIv
cHl0aG9uMi43L3NpdGUtcGFja2FnZXMNCmNvbmZpZ3VyZToxNTk4MjogY2hlY2tpbmcgZm9yIGhl
YWRlcnMgcmVxdWlyZWQgdG8gY29tcGlsZSBweXRob24gZXh0ZW5zaW9ucw0KY29uZmlndXJlOjE2
MDA2OiBjcHAgLUkvdXNyL2xvY2FsL2luY2x1ZGUgLUkvdXNyL2xvY2FsL2luY2x1ZGUvcHl0aG9u
Mi43IC1JL3Vzci9sb2NhbC9pbmNsdWRlL3B5dGhvbjIuNyBjb25mdGVzdC5jDQpJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gY29uZnRlc3QuYzo0MToNCi91c3IvbG9jYWwvaW5jbHVkZS9weXRob24yLjcv
UHl0aG9uLmg6MTY2OjE3OiBlcnJvcjogcHRoLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkN
CmNvbmZpZ3VyZToxNjAxMzogJD8gPSAxDQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoN
CnwgLyogY29uZmRlZnMuaC4gICovDQp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJnb2JqZWN0LWlu
dHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJnb2JqZWN0LWludHJvc3Bl
Y3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIwLjEwLjgiDQp8ICNkZWZpbmUgUEFD
S0FHRV9TVFJJTkcgImdvYmplY3QtaW50cm9zcGVjdGlvbiAwLjEwLjgiDQp8ICNkZWZpbmUgUEFD
S0FHRV9CVUdSRVBPUlQgImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvZW50ZXJfYnVnLmNnaT9w
cm9kdWN0PWdsaWImY29tcG9uZW50PWludHJvc3BlY3Rpb24iDQp8ICNkZWZpbmUgUEFDS0FHRSAi
Z29iamVjdC1pbnRyb3NwZWN0aW9uIg0KfCAjZGVmaW5lIFZFUlNJT04gIjAuMTAuOCINCnwgI2Rl
ZmluZSBTVERDX0hFQURFUlMgMQ0KfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQ0KfCAjZGVm
aW5lIEhBVkVfU1lTX1NUQVRfSCAxDQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxDQp8ICNkZWZp
bmUgSEFWRV9TVFJJTkdfSCAxDQp8ICNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQ0KfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxDQp8ICNkZWZpbmUg
SEFWRV9TVERJTlRfSCAxDQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxDQp8ICNkZWZpbmUgSEFW
RV9ETEZDTl9IIDENCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyINCnwgI2RlZmluZSBZWVRF
WFRfUE9JTlRFUiAxDQp8ICNkZWZpbmUgU0hMSUJfU1VGRklYICJzbyINCnwgI2RlZmluZSBHT0JK
RUNUX0lOVFJPU1BFQ1RJT05fTElCRElSICIvdXNyL2xvY2FsL2xpYiINCnwgI2RlZmluZSBHSVJf
U1VGRklYICJnaXItMS4wIg0KfCAjZGVmaW5lIEdJUl9ESVIgIi91c3IvbG9jYWwvc2hhcmUvZ2ly
LTEuMCINCnwgI2RlZmluZSBTSVpFT0ZfQ0hBUiAxDQp8ICNkZWZpbmUgU0laRU9GX1NIT1JUIDIN
CnwgI2RlZmluZSBTSVpFT0ZfSU5UIDQNCnwgI2RlZmluZSBTSVpFT0ZfTE9ORyA0DQp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDENCnwgI2RlZmluZSBIQVZFX0ZDTlRMX0ggMQ0KfCAjZGVmaW5lIEhB
VkVfU1RETElCX0ggMQ0KfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQ0KfCAjZGVmaW5lIEhBVkVf
TUVNQ0hSIDENCnwgI2RlZmluZSBIQVZFX1NUUkNIUiAxDQp8ICNkZWZpbmUgSEFWRV9TVFJTUE4g
MQ0KfCAjZGVmaW5lIEhBVkVfU1RSU1RSIDENCnwgI2RlZmluZSBIQVZFX1NUUlRPTCAxDQp8ICNk
ZWZpbmUgSEFWRV9TVFJUT1VMTCAxDQp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8NCnwgI2luY2x1
ZGUgPFB5dGhvbi5oPg0KY29uZmlndXJlOjE2MDI1OiByZXN1bHQ6IG5vdCBmb3VuZA0KY29uZmln
dXJlOjE2MDI3OiBlcnJvcjogUHl0aG9uIGhlYWRlcnMgbm90IGZvdW5kDQoNCiMjIC0tLS0tLS0t
LS0tLS0tLS0gIyMNCiMjIENhY2hlIHZhcmlhYmxlcy4gIyMNCiMjIC0tLS0tLS0tLS0tLS0tLS0g
IyMNCg0KYWNfY3ZfYnVpbGQ9aTM4Ni1wb3J0YmxkLWZyZWVic2Q5LjENCmFjX2N2X2NfY29tcGls
ZXJfZ251PXllcw0KYWNfY3ZfY19jb25zdD15ZXMNCmFjX2N2X2Vudl9DQUlST19DRkxBR1Nfc2V0
PScnDQphY19jdl9lbnZfQ0FJUk9fQ0ZMQUdTX3ZhbHVlPScnDQphY19jdl9lbnZfQ0FJUk9fR09C
SkVDVF9DRkxBR1Nfc2V0PScnDQphY19jdl9lbnZfQ0FJUk9fR09CSkVDVF9DRkxBR1NfdmFsdWU9
JycNCmFjX2N2X2Vudl9DQUlST19HT0JKRUNUX0xJQlNfc2V0PScnDQphY19jdl9lbnZfQ0FJUk9f
R09CSkVDVF9MSUJTX3ZhbHVlPScnDQphY19jdl9lbnZfQ0FJUk9fTElCU19zZXQ9JycNCmFjX2N2
X2Vudl9DQUlST19MSUJTX3ZhbHVlPScnDQphY19jdl9lbnZfQ0Nfc2V0PXNldA0KYWNfY3ZfZW52
X0NDX3ZhbHVlPWNjDQphY19jdl9lbnZfQ0ZMQUdTX3NldD1zZXQNCmFjX2N2X2Vudl9DRkxBR1Nf
dmFsdWU9Jy1PMiAtcGlwZSAtZm5vLXN0cmljdC1hbGlhc2luZycNCmFjX2N2X2Vudl9DUFBGTEFH
U19zZXQ9c2V0DQphY19jdl9lbnZfQ1BQRkxBR1NfdmFsdWU9LUkvdXNyL2xvY2FsL2luY2x1ZGUN
CmFjX2N2X2Vudl9DUFBfc2V0PXNldA0KYWNfY3ZfZW52X0NQUF92YWx1ZT1jcHANCmFjX2N2X2Vu
dl9GRklfQ0ZMQUdTX3NldD0nJw0KYWNfY3ZfZW52X0ZGSV9DRkxBR1NfdmFsdWU9JycNCmFjX2N2
X2Vudl9GRklfTElCU19zZXQ9JycNCmFjX2N2X2Vudl9GRklfTElCU192YWx1ZT0nJw0KYWNfY3Zf
ZW52X0dJT19DRkxBR1Nfc2V0PScnDQphY19jdl9lbnZfR0lPX0NGTEFHU192YWx1ZT0nJw0KYWNf
Y3ZfZW52X0dJT19MSUJTX3NldD0nJw0KYWNfY3ZfZW52X0dJT19MSUJTX3ZhbHVlPScnDQphY19j
dl9lbnZfR0lPX1VOSVhfQ0ZMQUdTX3NldD0nJw0KYWNfY3ZfZW52X0dJT19VTklYX0NGTEFHU192
YWx1ZT0nJw0KYWNfY3ZfZW52X0dJT19VTklYX0xJQlNfc2V0PScnDQphY19jdl9lbnZfR0lPX1VO
SVhfTElCU192YWx1ZT0nJw0KYWNfY3ZfZW52X0dJUkVQT19DRkxBR1Nfc2V0PScnDQphY19jdl9l
bnZfR0lSRVBPX0NGTEFHU192YWx1ZT0nJw0KYWNfY3ZfZW52X0dJUkVQT19MSUJTX3NldD0nJw0K
YWNfY3ZfZW52X0dJUkVQT19MSUJTX3ZhbHVlPScnDQphY19jdl9lbnZfR0xJQl9DRkxBR1Nfc2V0
PScnDQphY19jdl9lbnZfR0xJQl9DRkxBR1NfdmFsdWU9JycNCmFjX2N2X2Vudl9HTElCX0xJQlNf
c2V0PScnDQphY19jdl9lbnZfR0xJQl9MSUJTX3ZhbHVlPScnDQphY19jdl9lbnZfR09CSkVDVF9D
RkxBR1Nfc2V0PScnDQphY19jdl9lbnZfR09CSkVDVF9DRkxBR1NfdmFsdWU9JycNCmFjX2N2X2Vu
dl9HT0JKRUNUX0xJQlNfc2V0PScnDQphY19jdl9lbnZfR09CSkVDVF9MSUJTX3ZhbHVlPScnDQph
Y19jdl9lbnZfTERGTEFHU19zZXQ9c2V0DQphY19jdl9lbnZfTERGTEFHU192YWx1ZT0nIC1ML3Vz
ci9sb2NhbC9saWInDQphY19jdl9lbnZfTElCU19zZXQ9JycNCmFjX2N2X2Vudl9MSUJTX3ZhbHVl
PScnDQphY19jdl9lbnZfUEtHX0NPTkZJR19zZXQ9JycNCmFjX2N2X2Vudl9QS0dfQ09ORklHX3Zh
bHVlPScnDQphY19jdl9lbnZfU0NBTk5FUl9DRkxBR1Nfc2V0PScnDQphY19jdl9lbnZfU0NBTk5F
Ul9DRkxBR1NfdmFsdWU9JycNCmFjX2N2X2Vudl9TQ0FOTkVSX0xJQlNfc2V0PScnDQphY19jdl9l
bnZfU0NBTk5FUl9MSUJTX3ZhbHVlPScnDQphY19jdl9lbnZfYnVpbGRfYWxpYXNfc2V0PXNldA0K
YWNfY3ZfZW52X2J1aWxkX2FsaWFzX3ZhbHVlPWkzODYtcG9ydGJsZC1mcmVlYnNkOS4xDQphY19j
dl9lbnZfaG9zdF9hbGlhc19zZXQ9JycNCmFjX2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPScnDQph
Y19jdl9lbnZfdGFyZ2V0X2FsaWFzX3NldD0nJw0KYWNfY3ZfZW52X3RhcmdldF9hbGlhc192YWx1
ZT0nJw0KYWNfY3ZfZnVuY19iYWNrdHJhY2U9bm8NCmFjX2N2X2Z1bmNfYmFja3RyYWNlX3N5bWJv
bHM9bm8NCmFjX2N2X2Z1bmNfbWVtY2hyPXllcw0KYWNfY3ZfZnVuY19zdHJjaHI9eWVzDQphY19j
dl9mdW5jX3N0cnNwbj15ZXMNCmFjX2N2X2Z1bmNfc3Ryc3RyPXllcw0KYWNfY3ZfZnVuY19zdHJ0
b2Q9eWVzDQphY19jdl9mdW5jX3N0cnRvbD15ZXMNCmFjX2N2X2Z1bmNfc3RydG91bGw9eWVzDQph
Y19jdl9oZWFkZXJfZGxmY25faD15ZXMNCmFjX2N2X2hlYWRlcl9mY250bF9oPXllcw0KYWNfY3Zf
aGVhZGVyX2ludHR5cGVzX2g9eWVzDQphY19jdl9oZWFkZXJfbWVtb3J5X2g9eWVzDQphY19jdl9o
ZWFkZXJfc3RkYz15ZXMNCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD15ZXMNCmFjX2N2X2hlYWRlcl9z
dGRsaWJfaD15ZXMNCmFjX2N2X2hlYWRlcl9zdHJpbmdfaD15ZXMNCmFjX2N2X2hlYWRlcl9zdHJp
bmdzX2g9eWVzDQphY19jdl9oZWFkZXJfc3lzX3N0YXRfaD15ZXMNCmFjX2N2X2hlYWRlcl9zeXNf
dHlwZXNfaD15ZXMNCmFjX2N2X2hlYWRlcl91bmlzdGRfaD15ZXMNCmFjX2N2X2hvc3Q9aTM4Ni1w
b3J0YmxkLWZyZWVic2Q5LjENCmFjX2N2X2xpYl9kbF9kbG9wZW49bm8NCmFjX2N2X2xpYl9sZXg9
LWxmbA0KYWNfY3Zfb2JqZXh0PW8NCmFjX2N2X3BhdGhfRE9MVF9CQVNIPScnDQphY19jdl9wYXRo
X0VHUkVQPScvdXNyL2Jpbi9ncmVwIC1FJw0KYWNfY3ZfcGF0aF9GR1JFUD0nL3Vzci9iaW4vZ3Jl
cCAtRicNCmFjX2N2X3BhdGhfR1JFUD0vdXNyL2Jpbi9ncmVwDQphY19jdl9wYXRoX1NFRD0vdXNy
L2Jpbi9zZWQNCmFjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRz0vdXNyL2xvY2FsL2Jpbi9wa2ct
Y29uZmlnDQphY19jdl9wcm9nX0FXSz1uYXdrDQphY19jdl9wcm9nX0NQUD1jcHANCmFjX2N2X3By
b2dfTEVYPWZsZXgNCmFjX2N2X3Byb2dfWUFDQz0nYmlzb24gLXknDQphY19jdl9wcm9nX2FjX2N0
X0FSPWFyDQphY19jdl9wcm9nX2FjX2N0X0NDPWNjDQphY19jdl9wcm9nX2FjX2N0X09CSkRVTVA9
b2JqZHVtcA0KYWNfY3ZfcHJvZ19hY19jdF9SQU5MSUI9cmFubGliDQphY19jdl9wcm9nX2FjX2N0
X1NUUklQPXN0cmlwDQphY19jdl9wcm9nX2NjX2M4OT0nJw0KYWNfY3ZfcHJvZ19jY19jY19jX289
eWVzDQphY19jdl9wcm9nX2NjX2c9eWVzDQphY19jdl9wcm9nX2xleF9yb290PWxleC55eQ0KYWNf
Y3ZfcHJvZ19sZXhfeXl0ZXh0X3BvaW50ZXI9eWVzDQphY19jdl9wcm9nX21ha2VfZ21ha2Vfc2V0
PXllcw0KYWNfY3Zfc2l6ZW9mX2NoYXI9MQ0KYWNfY3Zfc2l6ZW9mX2ludD00DQphY19jdl9zaXpl
b2ZfbG9uZz00DQphY19jdl9zaXplb2Zfc2hvcnQ9Mg0KYW1fY3ZfQ0NfZGVwZW5kZW5jaWVzX2Nv
bXBpbGVyX3R5cGU9Z2NjMw0KYW1fY3ZfcHl0aG9uX3BsYXRmb3JtPWZyZWVic2Q5DQphbV9jdl9w
eXRob25fcHlleGVjZGlyPScke2V4ZWNfcHJlZml4fS9saWIvcHl0aG9uMi43L3NpdGUtcGFja2Fn
ZXMnDQphbV9jdl9weXRob25fcHl0aG9uZGlyPScke3ByZWZpeH0vbGliL3B5dGhvbjIuNy9zaXRl
LXBhY2thZ2VzJw0KYW1fY3ZfcHl0aG9uX3ZlcnNpb249Mi43DQpsdF9jdl9kZXBsaWJzX2NoZWNr
X21ldGhvZD1wYXNzX2FsbA0KbHRfY3ZfZmlsZV9tYWdpY19jbWQ9JyRNQUdJQ19DTUQnDQpsdF9j
dl9maWxlX21hZ2ljX3Rlc3RfZmlsZT0nJw0KbHRfY3ZfbGRfcmVsb2FkX2ZsYWc9LXINCmx0X2N2
X25tX2ludGVyZmFjZT0nQlNEIG5tJw0KbHRfY3Zfb2JqZGlyPS5saWJzDQpsdF9jdl9wYXRoX0xE
PS91c3IvYmluL2xkDQpsdF9jdl9wYXRoX05NPScvdXNyL2Jpbi9ubSAtQicNCmx0X2N2X3Byb2df
Y29tcGlsZXJfY19vPXllcw0KbHRfY3ZfcHJvZ19jb21waWxlcl9waWNfd29ya3M9eWVzDQpsdF9j
dl9wcm9nX2NvbXBpbGVyX3J0dGlfZXhjZXB0aW9ucz1ubw0KbHRfY3ZfcHJvZ19jb21waWxlcl9z
dGF0aWNfd29ya3M9eWVzDQpsdF9jdl9wcm9nX2dudV9sZD15ZXMNCmx0X2N2X3N5c19nbG9iYWxf
c3ltYm9sX3BpcGU9J3NlZCAtbiAtZSAnXCcncy9eLipbCSBdXChbQUJDREdJUlNUV11bQUJDREdJ
UlNUV10qXClbCSBdWwkgXSpcKFtfQS1aYS16XVtfQS1aYS16MC05XSpcKSQvXDEgXDIgXDIvcCdc
Jw0KbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3M9J3NlZCAtbiAtZSAn
XCcncy9eOiBcKFteIF0qXCkgJC8gIHtcIlwxXCIsICh2b2lkICopIDB9LC9wJ1wnJyAtZSAnXCcn
cy9eW0FCQ0RHSVJTVFddKiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHsiXDIiLCAodm9pZCAqKSBc
JlwyfSwvcCdcJw0KbHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY19uYW1lX2FkZHJlc3NfbGli
X3ByZWZpeD0nc2VkIC1uIC1lICdcJydzL146IFwoW14gXSpcKSAkLyAge1wiXDFcIiwgKHZvaWQg
KikgMH0sL3AnXCcnIC1lICdcJydzL15bQUJDREdJUlNUV10qIFwoW14gXSpcKSBcKGxpYlteIF0q
XCkkLyAgeyJcMiIsICh2b2lkICopIFwmXDJ9LC9wJ1wnJyAtZSAnXCcncy9eW0FCQ0RHSVJTVFdd
KiBcKFteIF0qXCkgXChbXiBdKlwpJC8gIHsibGliXDIiLCAodm9pZCAqKSBcJlwyfSwvcCdcJw0K
bHRfY3Zfc3lzX2dsb2JhbF9zeW1ib2xfdG9fY2RlY2w9J3NlZCAtbiAtZSAnXCcncy9eVCAuKiBc
KC4qXCkkL2V4dGVybiBpbnQgXDEoKTsvcCdcJycgLWUgJ1wnJ3MvXltBQkNER0lSU1RXXSogLiog
XCguKlwpJC9leHRlcm4gY2hhciBcMTsvcCdcJw0KbHRfY3Zfc3lzX21heF9jbWRfbGVuPTI2MjE0
NA0KcGtnX2N2X0NBSVJPX0NGTEFHUz0nLUkvdXNyL2xvY2FsL2luY2x1ZGUvY2Fpcm8gLURfUkVF
TlRSQU5UIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2dsaWItMi4wIC1JL3Vzci9sb2NhbC9pbmNsdWRl
L3BpeG1hbi0xIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2ZyZWV0eXBlMiAtSS91c3IvbG9jYWwvaW5j
bHVkZS9kcm0gLUkvdXNyL2xvY2FsL2luY2x1ZGUvbGlicG5nMTUgLURfVEhSRUFEX1NBRkUgLUkv
dXNyL2xvY2FsL2luY2x1ZGUgICcNCnBrZ19jdl9DQUlST19HT0JKRUNUX0NGTEFHUz0nLUkvdXNy
L2xvY2FsL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNy
L2xvY2FsL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RybSAtSS91c3Iv
bG9jYWwvaW5jbHVkZS9saWJwbmcxNSAtRF9USFJFQURfU0FGRSAtSS91c3IvbG9jYWwvaW5jbHVk
ZSAtRF9SRUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2xpYi0yLjAgICcNCnBrZ19jdl9D
QUlST19HT0JKRUNUX0xJQlM9Jy1sY2Fpcm8tZ29iamVjdCAtbGNhaXJvIC1sZ29iamVjdC0yLjAg
LWxndGhyZWFkLTIuMCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1sZ2xpYi0yLjAgICcNCnBr
Z19jdl9DQUlST19MSUJTPSctTC91c3IvbG9jYWwvbGliIC1sY2Fpcm8gLXB0aHJlYWQgICcNCnBr
Z19jdl9GRklfQ0ZMQUdTPSctSS91c3IvbG9jYWwvbGliL2xpYmZmaS0zLjAuOS9pbmNsdWRlICAn
DQpwa2dfY3ZfRkZJX0xJQlM9Jy1ML3Vzci9sb2NhbC9saWIgLWxmZmkgICcNCnBrZ19jdl9HSU9f
Q0ZMQUdTPSctRF9SRUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2xpYi0yLjAgICcNCnBr
Z19jdl9HSU9fTElCUz0nLWxnaW8tMi4wIC1sZ29iamVjdC0yLjAgLWxndGhyZWFkLTIuMCAtbGdt
b2R1bGUtMi4wIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxnbGliLTIuMCAgJw0KcGtnX2N2
X0dJT19VTklYX0NGTEFHUz0nLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2lvLXVuaXgtMi4wLyAtRF9S
RUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2xpYi0yLjAgICcNCnBrZ19jdl9HSU9fVU5J
WF9MSUJTPSctbGdpby0yLjAgLWxnb2JqZWN0LTIuMCAtbGd0aHJlYWQtMi4wIC1sZ21vZHVsZS0y
LjAgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGdsaWItMi4wICAnDQpwa2dfY3ZfR0lSRVBP
X0NGTEFHUz0nLURfUkVFTlRSQU5UIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2dsaWItMi4wICAnDQpw
a2dfY3ZfR0lSRVBPX0xJQlM9Jy1XbCwtLWV4cG9ydC1keW5hbWljIC1sZ2lvLTIuMCAtbGdvYmpl
Y3QtMi4wIC1sZ3RocmVhZC0yLjAgLWxnbW9kdWxlLTIuMCAtcHRocmVhZCAtTC91c3IvbG9jYWwv
bGliIC1sZ2xpYi0yLjAgICcNCnBrZ19jdl9HTElCX0NGTEFHUz0nLUkvdXNyL2xvY2FsL2luY2x1
ZGUvZ2xpYi0yLjAgICcNCnBrZ19jdl9HTElCX0xJQlM9Jy1ML3Vzci9sb2NhbC9saWIgLWxnbGli
LTIuMCAgJw0KcGtnX2N2X0dPQkpFQ1RfQ0ZMQUdTPSctRF9SRUVOVFJBTlQgLUkvdXNyL2xvY2Fs
L2luY2x1ZGUvZ2xpYi0yLjAgICcNCnBrZ19jdl9HT0JKRUNUX0xJQlM9Jy1sZ29iamVjdC0yLjAg
LWxndGhyZWFkLTIuMCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1sZ2xpYi0yLjAgICcNCnBr
Z19jdl9TQ0FOTkVSX0NGTEFHUz0nLURfUkVFTlRSQU5UIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2ds
aWItMi4wICAnDQpwa2dfY3ZfU0NBTk5FUl9MSUJTPSctbGdpby0yLjAgLWxnb2JqZWN0LTIuMCAt
bGd0aHJlYWQtMi4wIC1sZ21vZHVsZS0yLjAgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xpYiAtbGds
aWItMi4wICAnDQoNCiMjIC0tLS0tLS0tLS0tLS0tLS0tICMjDQojIyBPdXRwdXQgdmFyaWFibGVz
LiAjIw0KIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMNCg0KQUNMT0NBTD0nJHtTSEVMTH0gL3Vzci9w
b3J0cy9kZXZlbC9nb2JqZWN0LWludHJvc3BlY3Rpb24vd29yay9nb2JqZWN0LWludHJvc3BlY3Rp
b24tMC4xMC44L21pc3NpbmcgLS1ydW4gYWNsb2NhbC0xLjExJw0KQU1ERVBCQUNLU0xBU0g9J1wn
DQpBTURFUF9GQUxTRT0nIycNCkFNREVQX1RSVUU9JycNCkFNVEFSPScke1NIRUxMfSAvdXNyL3Bv
cnRzL2RldmVsL2dvYmplY3QtaW50cm9zcGVjdGlvbi93b3JrL2dvYmplY3QtaW50cm9zcGVjdGlv
bi0wLjEwLjgvbWlzc2luZyAtLXJ1biB0YXInDQpBTV9CQUNLU0xBU0g9J1wnDQpBTV9ERUZBVUxU
X1ZFUkJPU0lUWT0nMCcNCkFSPSdhcicNCkFVVE9DT05GPScke1NIRUxMfSAvdXNyL3BvcnRzL2Rl
dmVsL2dvYmplY3QtaW50cm9zcGVjdGlvbi93b3JrL2dvYmplY3QtaW50cm9zcGVjdGlvbi0wLjEw
LjgvbWlzc2luZyAtLXJ1biBhdXRvY29uZicNCkFVVE9IRUFERVI9JyR7U0hFTEx9IC91c3IvcG9y
dHMvZGV2ZWwvZ29iamVjdC1pbnRyb3NwZWN0aW9uL3dvcmsvZ29iamVjdC1pbnRyb3NwZWN0aW9u
LTAuMTAuOC9taXNzaW5nIC0tcnVuIGF1dG9oZWFkZXInDQpBVVRPTUFLRT0nJHtTSEVMTH0gL3Vz
ci9wb3J0cy9kZXZlbC9nb2JqZWN0LWludHJvc3BlY3Rpb24vd29yay9nb2JqZWN0LWludHJvc3Bl
Y3Rpb24tMC4xMC44L21pc3NpbmcgLS1ydW4gYXV0b21ha2UtMS4xMScNCkFXSz0nbmF3aycNCkJV
SUxEX1RFU1RTX0ZBTFNFPScnDQpCVUlMRF9URVNUU19UUlVFPScjJw0KQ0FJUk9fQ0ZMQUdTPSct
SS91c3IvbG9jYWwvaW5jbHVkZS9jYWlybyAtRF9SRUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1
ZGUvZ2xpYi0yLjAgLUkvdXNyL2xvY2FsL2luY2x1ZGUvcGl4bWFuLTEgLUkvdXNyL2xvY2FsL2lu
Y2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RybSAtSS91c3IvbG9jYWwvaW5j
bHVkZS9saWJwbmcxNSAtRF9USFJFQURfU0FGRSAtSS91c3IvbG9jYWwvaW5jbHVkZSAgJw0KQ0FJ
Uk9fR0lSX1BBQ0tBR0U9J2NhaXJvLWdvYmplY3QnDQpDQUlST19HT0JKRUNUX0NGTEFHUz0nLUkv
dXNyL2xvY2FsL2luY2x1ZGUvY2Fpcm8gLUkvdXNyL2xvY2FsL2luY2x1ZGUvcGl4bWFuLTEgLUkv
dXNyL2xvY2FsL2luY2x1ZGUvZnJlZXR5cGUyIC1JL3Vzci9sb2NhbC9pbmNsdWRlL2RybSAtSS91
c3IvbG9jYWwvaW5jbHVkZS9saWJwbmcxNSAtRF9USFJFQURfU0FGRSAtSS91c3IvbG9jYWwvaW5j
bHVkZSAtRF9SRUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2xpYi0yLjAgICcNCkNBSVJP
X0dPQkpFQ1RfTElCUz0nLWxjYWlyby1nb2JqZWN0IC1sY2Fpcm8gLWxnb2JqZWN0LTIuMCAtbGd0
aHJlYWQtMi4wIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxnbGliLTIuMCAgJw0KQ0FJUk9f
TElCUz0nLUwvdXNyL2xvY2FsL2xpYiAtbGNhaXJvIC1wdGhyZWFkICAnDQpDQUlST19TSEFSRURf
TElCUkFSWT0nbGliY2Fpcm8tZ29iamVjdC5zby4yJw0KQ0M9J2NjJw0KQ0NERVBNT0RFPSdkZXBt
b2RlPWdjYzMnDQpDRkxBR1M9Jy1Xc2lnbi1jb21wYXJlIC1XY2FzdC1hbGlnbiAtV3BvaW50ZXIt
YXJpdGggLVduZXN0ZWQtZXh0ZXJucyAtV21pc3NpbmctcHJvdG90eXBlcyAtV21pc3NpbmctZGVj
bGFyYXRpb25zIC1XY2hhci1zdWJzY3JpcHRzIC1XYWxsIC1PMiAtcGlwZSAtZm5vLXN0cmljdC1h
bGlhc2luZycNCkNQUD0nY3BwJw0KQ1BQRkxBR1M9Jy1JL3Vzci9sb2NhbC9pbmNsdWRlIC1JL3Vz
ci9sb2NhbC9pbmNsdWRlL3B5dGhvbjIuNyAtSS91c3IvbG9jYWwvaW5jbHVkZS9weXRob24yLjcn
DQpDWUdQQVRIX1c9J2VjaG8nDQpERUZTPScnDQpERVBESVI9Jy5kZXBzJw0KRFNZTVVUSUw9JycN
CkRVTVBCSU49JycNCkVDSE9fQz0nJw0KRUNIT19OPSctbicNCkVDSE9fVD0nJw0KRUdSRVA9Jy91
c3IvYmluL2dyZXAgLUUnDQpFTkFCTEVfR1RLX0RPQ19GQUxTRT0nJw0KRU5BQkxFX0dUS19ET0Nf
VFJVRT0nIycNCkVYRUVYVD0nJw0KRVhQQU5ERURfQklORElSPScvdXNyL2xvY2FsL2JpbicNCkVY
UEFOREVEX0RBVEFESVI9Jy91c3IvbG9jYWwvc2hhcmUnDQpFWFBBTkRFRF9MSUJESVI9Jy91c3Iv
bG9jYWwvbGliJw0KRVhQQU5ERURfTElCRVhFQ0RJUj0nL3Vzci9sb2NhbC9saWJleGVjJw0KRVhQ
QU5ERURfTE9DQUxTVEFURURJUj0nL3Vzci9sb2NhbC92YXInDQpFWFBBTkRFRF9TWVNDT05GRElS
PScvdXNyL2xvY2FsL2V0YycNCkZGSV9DRkxBR1M9Jy1JL3Vzci9sb2NhbC9saWIvbGliZmZpLTMu
MC45L2luY2x1ZGUgICcNCkZGSV9MSUJTPSctTC91c3IvbG9jYWwvbGliIC1sZmZpICAnDQpGRklf
UENfQ0ZMQUdTPScnDQpGRklfUENfTElCUz0nJw0KRkZJX1BDX1BBQ0tBR0VTPSdsaWJmZmknDQpG
R1JFUD0nL3Vzci9iaW4vZ3JlcCAtRicNCkdJT19DRkxBR1M9Jy1EX1JFRU5UUkFOVCAtSS91c3Iv
bG9jYWwvaW5jbHVkZS9nbGliLTIuMCAgJw0KR0lPX0xJQlM9Jy1sZ2lvLTIuMCAtbGdvYmplY3Qt
Mi4wIC1sZ3RocmVhZC0yLjAgLWxnbW9kdWxlLTIuMCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGli
IC1sZ2xpYi0yLjAgICcNCkdJT19VTklYX0NGTEFHUz0nLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2lv
LXVuaXgtMi4wLyAtRF9SRUVOVFJBTlQgLUkvdXNyL2xvY2FsL2luY2x1ZGUvZ2xpYi0yLjAgICcN
CkdJT19VTklYX0xJQlM9Jy1sZ2lvLTIuMCAtbGdvYmplY3QtMi4wIC1sZ3RocmVhZC0yLjAgLWxn
bW9kdWxlLTIuMCAtcHRocmVhZCAtTC91c3IvbG9jYWwvbGliIC1sZ2xpYi0yLjAgICcNCkdJUkVQ
T19DRkxBR1M9Jy1EX1JFRU5UUkFOVCAtSS91c3IvbG9jYWwvaW5jbHVkZS9nbGliLTIuMCAgIC1J
L3Vzci9sb2NhbC9saWIvbGliZmZpLTMuMC45L2luY2x1ZGUgICAnDQpHSVJFUE9fTElCUz0nLVds
LC0tZXhwb3J0LWR5bmFtaWMgLWxnaW8tMi4wIC1sZ29iamVjdC0yLjAgLWxndGhyZWFkLTIuMCAt
bGdtb2R1bGUtMi4wIC1wdGhyZWFkIC1ML3Vzci9sb2NhbC9saWIgLWxnbGliLTIuMCAgICAtTC91
c3IvbG9jYWwvbGliIC1sZmZpICAnDQpHSVJfRElSPScvdXNyL2xvY2FsL3NoYXJlL2dpci0xLjAn
DQpHSVJfU1VGRklYPSdnaXItMS4wJw0KR0xJQlNSQz0nJw0KR0xJQl9DRkxBR1M9Jy1JL3Vzci9s
b2NhbC9pbmNsdWRlL2dsaWItMi4wICAnDQpHTElCX0xJQlM9Jy1ML3Vzci9sb2NhbC9saWIgLWxn
bGliLTIuMCAgJw0KR09CSkVDVF9DRkxBR1M9Jy1EX1JFRU5UUkFOVCAtSS91c3IvbG9jYWwvaW5j
bHVkZS9nbGliLTIuMCAgJw0KR09CSkVDVF9JTlRST1NQRUNUSU9OX0xJQkRJUj0nL3Vzci9sb2Nh
bC9saWInDQpHT0JKRUNUX0xJQlM9Jy1sZ29iamVjdC0yLjAgLWxndGhyZWFkLTIuMCAtcHRocmVh
ZCAtTC91c3IvbG9jYWwvbGliIC1sZ2xpYi0yLjAgICcNCkdSRVA9Jy91c3IvYmluL2dyZXAnDQpH
VEtET0NfQ0hFQ0s9JycNCkdUS0RPQ19NS1BERj0nJw0KR1RLRE9DX1JFQkFTRT0ndHJ1ZScNCkdU
S19ET0NfQlVJTERfSFRNTF9GQUxTRT0nIycNCkdUS19ET0NfQlVJTERfSFRNTF9UUlVFPScnDQpH
VEtfRE9DX0JVSUxEX1BERl9GQUxTRT0nJw0KR1RLX0RPQ19CVUlMRF9QREZfVFJVRT0nIycNCkdU
S19ET0NfVVNFX0xJQlRPT0xfRkFMU0U9JyMnDQpHVEtfRE9DX1VTRV9MSUJUT09MX1RSVUU9JycN
CkdUS19ET0NfVVNFX1JFQkFTRV9GQUxTRT0nIycNCkdUS19ET0NfVVNFX1JFQkFTRV9UUlVFPScn
DQpIQVZFX0NBSVJPX0ZBTFNFPScjJw0KSEFWRV9DQUlST19HT0JKRUNUX0ZBTFNFPScjJw0KSEFW
RV9DQUlST19HT0JKRUNUX1RSVUU9JycNCkhBVkVfQ0FJUk9fVFJVRT0nJw0KSEFWRV9HSU9fVU5J
WF9GQUxTRT0nIycNCkhBVkVfR0lPX1VOSVhfVFJVRT0nJw0KSFRNTF9ESVI9JyR7ZGF0YWRpcn0v
Z3RrLWRvYy9odG1sJw0KSU5TVEFMTF9EQVRBPSdpbnN0YWxsICAtbyByb290IC1nIHdoZWVsIC1t
IDQ0NCcNCklOU1RBTExfUFJPR1JBTT0naW5zdGFsbCAgLXMgLW8gcm9vdCAtZyB3aGVlbCAtbSA1
NTUnDQpJTlNUQUxMX1NDUklQVD0naW5zdGFsbCAgLW8gcm9vdCAtZyB3aGVlbCAtbSA1NTUnDQpJ
TlNUQUxMX1NUUklQX1BST0dSQU09JyQoaW5zdGFsbF9zaCkgLWMgLXMnDQpMRD0nL3Vzci9iaW4v
bGQnDQpMREZMQUdTPScgLUwvdXNyL2xvY2FsL2xpYicNCkxFWD0nZmxleCcNCkxFWExJQj0nLWxm
bCcNCkxFWF9PVVRQVVRfUk9PVD0nbGV4Lnl5Jw0KTElCT0JKUz0nJw0KTElCUz0nJw0KTElCVE9P
TD0nJChTSEVMTCkgL3Vzci9wb3J0cy9kZXZlbC9nb2JqZWN0LWludHJvc3BlY3Rpb24vd29yay9n
bm9tZS1saWJ0b29sJw0KTElQTz0nJw0KTE5fUz0nbG4gLXMnDQpMVExJQk9CSlM9JycNCk1BSU5U
PScjJw0KTUFJTlRBSU5FUl9NT0RFX0ZBTFNFPScnDQpNQUlOVEFJTkVSX01PREVfVFJVRT0nIycN
Ck1BS0VJTkZPPScke1NIRUxMfSAvdXNyL3BvcnRzL2RldmVsL2dvYmplY3QtaW50cm9zcGVjdGlv
bi93b3JrL2dvYmplY3QtaW50cm9zcGVjdGlvbi0wLjEwLjgvbWlzc2luZyAtLXJ1biBtYWtlaW5m
bycNCk1LRElSX1A9Jy4vaW5zdGFsbC1zaCAtYyAtZCcNCk5NPScvdXNyL2Jpbi9ubSAtQicNCk5N
RURJVD0nJw0KT0JKRFVNUD0nb2JqZHVtcCcNCk9CSkVYVD0nbycNCk9TX1dJTjMyX0ZBTFNFPScn
DQpPU19XSU4zMl9UUlVFPScjJw0KT1RPT0w2ND0nJw0KT1RPT0w9JycNClBBQ0tBR0U9J2dvYmpl
Y3QtaW50cm9zcGVjdGlvbicNClBBQ0tBR0VfQlVHUkVQT1JUPSdodHRwOi8vYnVnemlsbGEuZ25v
bWUub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD1nbGliJmNvbXBvbmVudD1pbnRyb3NwZWN0aW9u
Jw0KUEFDS0FHRV9OQU1FPSdnb2JqZWN0LWludHJvc3BlY3Rpb24nDQpQQUNLQUdFX1NUUklORz0n
Z29iamVjdC1pbnRyb3NwZWN0aW9uIDAuMTAuOCcNClBBQ0tBR0VfVEFSTkFNRT0nZ29iamVjdC1p
bnRyb3NwZWN0aW9uJw0KUEFDS0FHRV9WRVJTSU9OPScwLjEwLjgnDQpQQVRIX1NFUEFSQVRPUj0n
OicNClBLR19DT05GSUc9Jy91c3IvbG9jYWwvYmluL3BrZy1jb25maWcnDQpQT1dfTElCPScnDQpQ
WVRIT049Jy91c3IvbG9jYWwvYmluL3B5dGhvbjIuNycNClBZVEhPTl9FWEVDX1BSRUZJWD0nJHtl
eGVjX3ByZWZpeH0nDQpQWVRIT05fSU5DTFVERVM9Jy1JL3Vzci9sb2NhbC9pbmNsdWRlL3B5dGhv
bjIuNyAtSS91c3IvbG9jYWwvaW5jbHVkZS9weXRob24yLjcnDQpQWVRIT05fUExBVEZPUk09J2Zy
ZWVic2Q5Jw0KUFlUSE9OX1BSRUZJWD0nJHtwcmVmaXh9Jw0KUFlUSE9OX1ZFUlNJT049JzIuNycN
ClJBTkxJQj0ncmFubGliJw0KU0NBTk5FUl9DRkxBR1M9Jy1EX1JFRU5UUkFOVCAtSS91c3IvbG9j
YWwvaW5jbHVkZS9nbGliLTIuMCAgJw0KU0NBTk5FUl9MSUJTPSctbGdpby0yLjAgLWxnb2JqZWN0
LTIuMCAtbGd0aHJlYWQtMi4wIC1sZ21vZHVsZS0yLjAgLXB0aHJlYWQgLUwvdXNyL2xvY2FsL2xp
YiAtbGdsaWItMi4wICAnDQpTRUQ9Jy91c3IvYmluL3NlZCcNClNFVF9NQUtFPScnDQpTSEVMTD0n
L2Jpbi9zaCcNClNUUklQPSdzdHJpcCcNClZFUlNJT049JzAuMTAuOCcNCldJVEhfR0xJQlNSQ19G
QUxTRT0nJw0KV0lUSF9HTElCU1JDX1RSVUU9JycNCllBQ0M9J2Jpc29uIC15Jw0KYWNfY3RfQ0M9
J2NjJw0KYWNfY3RfRFVNUEJJTj0nJw0KYW1fX0VYRUVYVF9GQUxTRT0nJw0KYW1fX0VYRUVYVF9U
UlVFPScnDQphbV9fZmFzdGRlcENDX0ZBTFNFPScjJw0KYW1fX2Zhc3RkZXBDQ19UUlVFPScnDQph
bV9faW5jbHVkZT0naW5jbHVkZScNCmFtX19pc3JjPScnDQphbV9fbGVhZGluZ19kb3Q9Jy4nDQph
bV9fcXVvdGU9JycNCmFtX190YXI9JyR7QU1UQVJ9IGNob2YgLSAiJCR0YXJkaXIiJw0KYW1fX3Vu
dGFyPScke0FNVEFSfSB4ZiAtJw0KYmluZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nDQpidWlsZD0n
aTM4Ni1wb3J0YmxkLWZyZWVic2Q5LjEnDQpidWlsZF9hbGlhcz0naTM4Ni1wb3J0YmxkLWZyZWVi
c2Q5LjEnDQpidWlsZF9jcHU9J2kzODYnDQpidWlsZF9vcz0nZnJlZWJzZDkuMScNCmJ1aWxkX3Zl
bmRvcj0ncG9ydGJsZCcNCmRhdGFkaXI9JyR7ZGF0YXJvb3RkaXJ9Jw0KZGF0YXJvb3RkaXI9JyR7
cHJlZml4fS9zaGFyZScNCmRvY2Rpcj0nJHtkYXRhcm9vdGRpcn0vZG9jLyR7UEFDS0FHRV9UQVJO
QU1FfScNCmR2aWRpcj0nJHtkb2NkaXJ9Jw0KZXhlY19wcmVmaXg9J05PTkUnDQpob3N0PSdpMzg2
LXBvcnRibGQtZnJlZWJzZDkuMScNCmhvc3RfYWxpYXM9JycNCmhvc3RfY3B1PSdpMzg2Jw0KaG9z
dF9vcz0nZnJlZWJzZDkuMScNCmhvc3RfdmVuZG9yPSdwb3J0YmxkJw0KaHRtbGRpcj0nJHtkb2Nk
aXJ9Jw0KaW5jbHVkZWRpcj0nJHtwcmVmaXh9L2luY2x1ZGUnDQppbmZvZGlyPScvdXNyL2xvY2Fs
L2luZm8nDQppbnN0YWxsX3NoPScke1NIRUxMfSAvdXNyL3BvcnRzL2RldmVsL2dvYmplY3QtaW50
cm9zcGVjdGlvbi93b3JrL2dvYmplY3QtaW50cm9zcGVjdGlvbi0wLjEwLjgvaW5zdGFsbC1zaCcN
CmxpYmRpcj0nJHtleGVjX3ByZWZpeH0vbGliJw0KbGliZXhlY2Rpcj0nJHtleGVjX3ByZWZpeH0v
bGliZXhlYycNCmxvY2FsZWRpcj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxlJw0KbG9jYWxzdGF0ZWRp
cj0nJHtwcmVmaXh9L3ZhcicNCmx0X0VDSE89J2VjaG8nDQptYW5kaXI9Jy91c3IvbG9jYWwvbWFu
Jw0KbWtkaXJfcD0nJCh0b3BfYnVpbGRkaXIpLy4vaW5zdGFsbC1zaCAtYyAtZCcNCm9sZGluY2x1
ZGVkaXI9Jy91c3IvaW5jbHVkZScNCnBkZmRpcj0nJHtkb2NkaXJ9Jw0KcGtncHlleGVjZGlyPSck
e3B5ZXhlY2Rpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uJw0KcGtncHl0aG9uZGlyPScke3B5dGhv
bmRpcn0vZ29iamVjdC1pbnRyb3NwZWN0aW9uJw0KcHJlZml4PScvdXNyL2xvY2FsJw0KcHJvZ3Jh
bV90cmFuc2Zvcm1fbmFtZT0ncyx4LHgsJw0KcHNkaXI9JyR7ZG9jZGlyfScNCnB5ZXhlY2Rpcj0n
JHtleGVjX3ByZWZpeH0vbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzJw0KcHl0aG9uZGlyPSck
e3ByZWZpeH0vbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzJw0Kc2JpbmRpcj0nJHtleGVjX3By
ZWZpeH0vc2JpbicNCnNoYXJlZHN0YXRlZGlyPScke3ByZWZpeH0vY29tJw0Kc3lzY29uZmRpcj0n
JHtwcmVmaXh9L2V0YycNCnRhcmdldF9hbGlhcz0nJw0KDQojIyAtLS0tLS0tLS0tLSAjIw0KIyMg
Y29uZmRlZnMuaC4gIyMNCiMjIC0tLS0tLS0tLS0tICMjDQoNCiNkZWZpbmUgUEFDS0FHRV9OQU1F
ICJnb2JqZWN0LWludHJvc3BlY3Rpb24iDQojZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiZ29iamVj
dC1pbnRyb3NwZWN0aW9uIg0KI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjAuMTAuOCINCiNkZWZp
bmUgUEFDS0FHRV9TVFJJTkcgImdvYmplY3QtaW50cm9zcGVjdGlvbiAwLjEwLjgiDQojZGVmaW5l
IFBBQ0tBR0VfQlVHUkVQT1JUICJodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL2VudGVyX2J1Zy5j
Z2k/cHJvZHVjdD1nbGliJmNvbXBvbmVudD1pbnRyb3NwZWN0aW9uIg0KI2RlZmluZSBQQUNLQUdF
ICJnb2JqZWN0LWludHJvc3BlY3Rpb24iDQojZGVmaW5lIFZFUlNJT04gIjAuMTAuOCINCiNkZWZp
bmUgU1REQ19IRUFERVJTIDENCiNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxDQojZGVmaW5lIEhB
VkVfU1lTX1NUQVRfSCAxDQojZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KI2RlZmluZSBIQVZFX1NU
UklOR19IIDENCiNkZWZpbmUgSEFWRV9NRU1PUllfSCAxDQojZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDENCiNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDENCiNkZWZpbmUgSEFWRV9TVERJTlRfSCAxDQoj
ZGVmaW5lIEhBVkVfVU5JU1REX0ggMQ0KI2RlZmluZSBIQVZFX0RMRkNOX0ggMQ0KI2RlZmluZSBM
VF9PQkpESVIgIi5saWJzLyINCiNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQ0KI2RlZmluZSBTSExJ
Ql9TVUZGSVggInNvIg0KI2RlZmluZSBHT0JKRUNUX0lOVFJPU1BFQ1RJT05fTElCRElSICIvdXNy
L2xvY2FsL2xpYiINCiNkZWZpbmUgR0lSX1NVRkZJWCAiZ2lyLTEuMCINCiNkZWZpbmUgR0lSX0RJ
UiAiL3Vzci9sb2NhbC9zaGFyZS9naXItMS4wIg0KI2RlZmluZSBTSVpFT0ZfQ0hBUiAxDQojZGVm
aW5lIFNJWkVPRl9TSE9SVCAyDQojZGVmaW5lIFNJWkVPRl9JTlQgNA0KI2RlZmluZSBTSVpFT0Zf
TE9ORyA0DQojZGVmaW5lIFNURENfSEVBREVSUyAxDQojZGVmaW5lIEhBVkVfRkNOVExfSCAxDQoj
ZGVmaW5lIEhBVkVfU1RETElCX0ggMQ0KI2RlZmluZSBIQVZFX1NUUklOR19IIDENCiNkZWZpbmUg
SEFWRV9NRU1DSFIgMQ0KI2RlZmluZSBIQVZFX1NUUkNIUiAxDQojZGVmaW5lIEhBVkVfU1RSU1BO
IDENCiNkZWZpbmUgSEFWRV9TVFJTVFIgMQ0KI2RlZmluZSBIQVZFX1NUUlRPTCAxDQojZGVmaW5l
IEhBVkVfU1RSVE9VTEwgMQ0KDQpjb25maWd1cmU6IGV4aXQgMQ0K
--bcaec54eebba4866b904d471d96d--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAG%2BSyE7c%2BbBt=sC3oCTWkfN8e%2BaKycdHe8mC7NZBdAL1RgJ5RA>