Re: GCC segfault on i686

Till Hofmann <[email protected]> Thu, 25 Aug 2016 19:49:12 +0200
Newsgroups gmane.comp.gnu.prolog.bugs
Message-ID <[email protected]>
SGkgYWxsLAoKZG8geW91IGhhdmUgYSBzdWdnZXN0aW9uIG9uIGhvdyB0byBwcm9jZWVkIHdpdGgg
dGhpcyBidWc/IENhbiB0aGlzIGJlCmZpeGVkIG9uIHRoZSBQcm9sb2cgc2lkZT8gU2hvdWxkIHRo
aXMgYmUgcmVwb3J0ZWQgYXMgR0NDIGJ1Zz8KCktpbmQgcmVnYXJkcywKVGlsbAoKT24gMDgvMTkv
MjAxNiAwODo1NiBBTSwgVGlsbCBIb2ZtYW5uIHdyb3RlOgo+IE9uIDA4LzE5LzIwMTYgMDI6NDAg
QU0sIE1hdHRoZXcgQ2FydGVyIHdyb3RlOgo+PiBJIGNhbiBjb25maXJtIGZhaWx1cmUgdG8gYnVp
bGQgd2l0aCBnY2MgNi4xKyBvbiBpNjg2ICh1c2luZyBBcmNoIExpbnV4Cj4+IG15c2VsZikuCj4+
Cj4+IEkgY291bGRuJ3QgZ2V0IGl0IHRvIGJ1aWxkIHdpdGggeW91ciBjb25maWd1cmUgb3B0aW9u
cyBob3dldmVyIChpdCBzdGlsbAo+PiBmYWlsZWQgd2l0aCBzZWdmYXVsdCBpbiB0aGUgc2FtZSBw
bGFjZSkuCj4gCj4gVGhlIGNvbmZpZ3VyZSBvcHRpb25zIHdlcmUgb25seSB0byBwcm9kdWNlIHRo
ZSBtb3JlIHZlcmJvc2UgbWFrZSBvdXRwdXQKPiBhbmQgdGhlIC5pIGZpbGVzLiBUaGUgYnVpbGQg
c3RpbGwgZmFpbHMuIFNvcnJ5IGlmIHRoaXMgd2Fzbid0IGNsZWFyLgo+IAo+IEtpbmQgcmVnYXJk
cywKPiBUaWxsCj4gCj4+Cj4+IC1NYXR0Cj4+Cj4+IE9uIFRodSwgQXVnIDE4LCAyMDE2IGF0IDEy
OjEwOjQ5UE0gKzAyMDAsIFRpbGwgSG9mbWFubiB3cm90ZToKPj4+IEhpIGFsbCwKPj4+Cj4+PiBJ
J20gY3VycmVudGx5IHRyeWluZyB0byBkZWJ1ZyBhIEdDQyBzZWdmYXVsdCB0aGF0IG9jY3VycyB3
aGVuIGNvbXBpbGluZwo+Pj4gRW5naW5lUGwvbWFjaGluZS5jIG9uIGk2ODYgbWFjaGluZXM6Cj4+
Pgo+Pj4+IG1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAnL2hvbWUvdGlsbC9ycG1idWlsZC9T
T1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0VuZ2luZVBsJwo+Pj4+IGdwbGMgLWMgLUMgJy1PMyAt
Zm9taXQtZnJhbWUtcG9pbnRlcicgbWFjaGluZS5jCj4+Pj4gbWFjaGluZS5jOiBJbiBmdW5jdGlv
biDigJhQbF9NX1JhbmRvbWl6ZeKAmToKPj4+PiBtYWNoaW5lLmM6Mzg2OjE6IGludGVybmFsIGNv
bXBpbGVyIGVycm9yOiBTZWdtZW50YXRpb24gZmF1bHQKPj4+Cj4+PiBJdCBsb29rcyBsaWtlIHRo
aXMgaXMgcmVsYXRlZCB0byB1c2luZyB0aGUgZWJ4IHJlZ2lzdGVyOyBpZiBJIHJlbW92ZQo+Pj4g
Jy1mZml4ZWQtZWJ4JyBmcm9tIHRoZSBjYWxsIHRvIGNjMSwgdGhlIHNlZ2ZhdWx0IGRpc2FwcGVh
cnMuCj4+Pgo+Pj4gTG9va2luZyBhdCB0aGUgQ2hhbmdlbG9nLCBpdCBsb29rcyBsaWtlIHRoZXJl
IHdhcyBhIGZpeCBmb3Igc29tZSBpc3N1ZQo+Pj4gcmVsYXRlZCB0byB1c2luZyBlYnggaW4gMS4z
LjEsIGJ1dCB0aGUgZXJyb3Igc3RpbGwgb2NjdXJzIG9uIGk2ODYuCj4+Pgo+Pj4gVG8gcmVwcm9k
dWNlLCB5b3UgbmVlZCB0byBidWlsZCBncHJvbG9nIG9uIGk2ODYgd2l0aCBHQ0MgNi4xLiBJIGNv
dWxkCj4+PiByZXByb2R1Y2UgdGhpcyBvbiBtdWx0aXBsZSBtYWNoaW5lcy4KPj4+Cj4+PiBTb21l
IGFkZGl0aW9uYWwgaW5mbzoKPj4+IGdwcm9sb2cgdmVyc2lvbjogMS40LjQKPj4+IE9TOiBGZWRv
cmEgMjQgKGFsc28gb2NjdXJzIG9uIEZlZG9yYSAyNSBhbmQgRmVkb3JhIFJhd2hpZGUpCj4+PiAk
IGdjYyAtLXZlcnNpb24KPj4+IGdjYyAoR0NDKSA2LjEuMSAyMDE2MDYyMSAoUmVkIEhhdCA2LjEu
MS0zKQo+Pj4gJCB1bmFtZSAtYQo+Pj4gTGludXggbmMxMCA0LjYuNS0zMDAuZmMyNC5pNjg2K1BB
RSAjMSBTTVAgVGh1IEp1bCAyOCAwMTozNDo0NiBVVEMgMjAxNgo+Pj4gaTY4NiBpNjg2IGkzODYg
R05VL0xpbnV4Cj4+Pgo+Pj4gSSBidWlsZCB3aXRoICIuL2NvbmZpZ3VyZSAtLXdpdGgtYy1mbGFn
cz0nLXYgLXNhdmUtdGVtcHMnIiwgSSd2ZQo+Pj4gYXR0YWNoZWQgdGhlIGZ1bGwgb3V0cHV0IGZy
b20gbWFrZS4gSSd2ZSBhbHNvIGF0dGFjaGVkIG1hY2hpbmUuaS4KPj4+Cj4+PiBXaXRoIG9sZGVy
IEdDQyB2ZXJzaW9ucyAoPDYpLCB0aGUgYnVnIGRvZXMgbm90IG9jY3VyLCBzbyB0aGlzIG1pZ2h0
IHdlbGwKPj4+IGJlIGEgYnVnIGluIEdDQzYuCj4+Pgo+Pj4KPj4+IEtpbmQgcmVnYXJkcwo+Pj4g
VGlsbAo+Pgo+Pj4gY2QgRW5naW5lUGw7IG1ha2UgY29uZmlnCj4+PiBtYWtlWzFdOiBFbnRlcmlu
ZyBkaXJlY3RvcnkgJy9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEuNC40L3Ny
Yy9FbmdpbmVQbCcKPj4+IGdjYyAtbWFyY2g9cGVudGl1bXBybyAtbTMyIC1mbm8tc3RyaWN0LWFs
aWFzaW5nIC12IC1zYXZlLXRlbXBzICAtbyBwbF9jb25maWcgcGxfY29uZmlnLmMKPj4+IFVzaW5n
IGJ1aWx0LWluIHNwZWNzLgo+Pj4gQ09MTEVDVF9HQ0M9Z2NjCj4+PiBDT0xMRUNUX0xUT19XUkFQ
UEVSPS91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvbHRvLXdyYXBwZXIK
Pj4+IFRhcmdldDogaTY4Ni1yZWRoYXQtbGludXgKPj4+IENvbmZpZ3VyZWQgd2l0aDogLi4vY29u
ZmlndXJlIC0tZW5hYmxlLWJvb3RzdHJhcCAtLWVuYWJsZS1sYW5ndWFnZXM9YyxjKyssb2JqYyxv
YmotYysrLGZvcnRyYW4sYWRhLGdvLGx0byAtLXByZWZpeD0vdXNyIC0tbWFuZGlyPS91c3Ivc2hh
cmUvbWFuIC0taW5mb2Rpcj0vdXNyL3NoYXJlL2luZm8gLS13aXRoLWJ1Z3VybD1odHRwOi8vYnVn
emlsbGEucmVkaGF0LmNvbS9idWd6aWxsYSAtLWVuYWJsZS1zaGFyZWQgLS1lbmFibGUtdGhyZWFk
cz1wb3NpeCAtLWVuYWJsZS1jaGVja2luZz1yZWxlYXNlIC0tZW5hYmxlLW11bHRpbGliIC0td2l0
aC1zeXN0ZW0temxpYiAtLWVuYWJsZS1fX2N4YV9hdGV4aXQgLS1kaXNhYmxlLWxpYnVud2luZC1l
eGNlcHRpb25zIC0tZW5hYmxlLWdudS11bmlxdWUtb2JqZWN0IC0tZW5hYmxlLWxpbmtlci1idWls
ZC1pZCAtLXdpdGgtbGlua2VyLWhhc2gtc3R5bGU9Z251IC0tZW5hYmxlLXBsdWdpbiAtLWVuYWJs
ZS1pbml0ZmluaS1hcnJheSAtLWRpc2FibGUtbGliZ2NqIC0td2l0aC1pc2wgLS1lbmFibGUtbGli
bXB4IC0tZW5hYmxlLWdudS1pbmRpcmVjdC1mdW5jdGlvbiAtLXdpdGgtdHVuZT1nZW5lcmljIC0t
d2l0aC1hcmNoPWk2ODYgLS1idWlsZD1pNjg2LXJlZGhhdC1saW51eAo+Pj4gVGhyZWFkIG1vZGVs
OiBwb3NpeAo+Pj4gZ2NjIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMykg
KEdDQykgCj4+PiBDT0xMRUNUX0dDQ19PUFRJT05TPSctbWFyY2g9cGVudGl1bXBybycgJy1tMzIn
ICctZm5vLXN0cmljdC1hbGlhc2luZycgJy12JyAnLXNhdmUtdGVtcHMnICctbycgJ3BsX2NvbmZp
ZycKPj4+ICAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2NjMSAtRSAt
cXVpZXQgLXYgcGxfY29uZmlnLmMgLW1hcmNoPXBlbnRpdW1wcm8gLW0zMiAtZm5vLXN0cmljdC1h
bGlhc2luZyAtZnBjaC1wcmVwcm9jZXNzIC1vIHBsX2NvbmZpZy5pCj4+PiBpZ25vcmluZyBub25l
eGlzdGVudCBkaXJlY3RvcnkgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9p
bmNsdWRlLWZpeGVkIgo+Pj4gaWdub3Jpbmcgbm9uZXhpc3RlbnQgZGlyZWN0b3J5ICIvdXNyL2xp
Yi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4vLi4vLi4vLi4vaTY4Ni1yZWRoYXQtbGlu
dXgvaW5jbHVkZSIKPj4+ICNpbmNsdWRlICIuLi4iIHNlYXJjaCBzdGFydHMgaGVyZToKPj4+ICNp
bmNsdWRlIDwuLi4+IHNlYXJjaCBzdGFydHMgaGVyZToKPj4+ICAvdXNyL2xpYi9nY2MvaTY4Ni1y
ZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZQo+Pj4gIC91c3IvbG9jYWwvaW5jbHVkZQo+Pj4gIC91
c3IvaW5jbHVkZQo+Pj4gRW5kIG9mIHNlYXJjaCBsaXN0Lgo+Pj4gQ09MTEVDVF9HQ0NfT1BUSU9O
Uz0nLW1hcmNoPXBlbnRpdW1wcm8nICctbTMyJyAnLWZuby1zdHJpY3QtYWxpYXNpbmcnICctdicg
Jy1zYXZlLXRlbXBzJyAnLW8nICdwbF9jb25maWcnCj4+PiAgL3Vzci9saWJleGVjL2djYy9pNjg2
LXJlZGhhdC1saW51eC82LjEuMS9jYzEgLWZwcmVwcm9jZXNzZWQgcGxfY29uZmlnLmkgLXF1aWV0
IC1kdW1wYmFzZSBwbF9jb25maWcuYyAtbWFyY2g9cGVudGl1bXBybyAtbTMyIC1hdXhiYXNlIHBs
X2NvbmZpZyAtdmVyc2lvbiAtZm5vLXN0cmljdC1hbGlhc2luZyAtbyBwbF9jb25maWcucwo+Pj4g
R05VIEMxMSAoR0NDKSB2ZXJzaW9uIDYuMS4xIDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpIChp
Njg2LXJlZGhhdC1saW51eCkKPj4+IAljb21waWxlZCBieSBHTlUgQyB2ZXJzaW9uIDYuMS4xIDIw
MTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpLCBHTVAgdmVyc2lvbiA2LjEuMCwgTVBGUiB2ZXJzaW9u
IDMuMS40LCBNUEMgdmVyc2lvbiAxLjAuMiwgaXNsIHZlcnNpb24gMC4xNCBvciAwLjEzCj4+PiB3
YXJuaW5nOiBHTVAgaGVhZGVyIHZlcnNpb24gNi4xLjAgZGlmZmVycyBmcm9tIGxpYnJhcnkgdmVy
c2lvbiA2LjEuMS4KPj4+IEdHQyBoZXVyaXN0aWNzOiAtLXBhcmFtIGdnYy1taW4tZXhwYW5kPTEw
MCAtLXBhcmFtIGdnYy1taW4taGVhcHNpemU9MTMxMDcyCj4+PiBHTlUgQzExIChHQ0MpIHZlcnNp
b24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMykgKGk2ODYtcmVkaGF0LWxpbnV4KQo+
Pj4gCWNvbXBpbGVkIGJ5IEdOVSBDIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4x
LjEtMyksIEdNUCB2ZXJzaW9uIDYuMS4wLCBNUEZSIHZlcnNpb24gMy4xLjQsIE1QQyB2ZXJzaW9u
IDEuMC4yLCBpc2wgdmVyc2lvbiAwLjE0IG9yIDAuMTMKPj4+IHdhcm5pbmc6IEdNUCBoZWFkZXIg
dmVyc2lvbiA2LjEuMCBkaWZmZXJzIGZyb20gbGlicmFyeSB2ZXJzaW9uIDYuMS4xLgo+Pj4gR0dD
IGhldXJpc3RpY3M6IC0tcGFyYW0gZ2djLW1pbi1leHBhbmQ9MTAwIC0tcGFyYW0gZ2djLW1pbi1o
ZWFwc2l6ZT0xMzEwNzIKPj4+IENvbXBpbGVyIGV4ZWN1dGFibGUgY2hlY2tzdW06IGFiY2ViMTM4
YWY0M2E3OGMzNmMxYWFhMjI4ZjVmOTJhCj4+PiBDT0xMRUNUX0dDQ19PUFRJT05TPSctbWFyY2g9
cGVudGl1bXBybycgJy1tMzInICctZm5vLXN0cmljdC1hbGlhc2luZycgJy12JyAnLXNhdmUtdGVt
cHMnICctbycgJ3BsX2NvbmZpZycKPj4+ICBhcyAtdiAtLTMyIC1vIHBsX2NvbmZpZy5vIHBsX2Nv
bmZpZy5zCj4+PiBHTlUgYXNzZW1ibGVyIHZlcnNpb24gMi4yNi4xIChpNjg2LXJlZGhhdC1saW51
eCkgdXNpbmcgQkZEIHZlcnNpb24gdmVyc2lvbiAyLjI2LjEtMS5mYzI0Cj4+PiBDT01QSUxFUl9Q
QVRIPS91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvOi91c3IvbGliZXhl
Yy9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvOi91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRo
YXQtbGludXgvOi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWIv
Z2NjL2k2ODYtcmVkaGF0LWxpbnV4Lwo+Pj4gTElCUkFSWV9QQVRIPS91c3IvbGliL2djYy9pNjg2
LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4x
Ly4uLy4uLy4uLzovbGliLzovdXNyL2xpYi8KPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJj
aD1wZW50aXVtcHJvJyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10
ZW1wcycgJy1vJyAncGxfY29uZmlnJwo+Pj4gIC91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQt
bGludXgvNi4xLjEvY29sbGVjdDIgLXBsdWdpbiAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0
LWxpbnV4LzYuMS4xL2xpYmx0b19wbHVnaW4uc28gLXBsdWdpbi1vcHQ9L3Vzci9saWJleGVjL2dj
Yy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9sdG8td3JhcHBlciAtcGx1Z2luLW9wdD0tZnJlc29s
dXRpb249cGxfY29uZmlnLnJlcyAtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1sZ2NjIC1wbHVn
aW4tb3B0PS1wYXNzLXRocm91Z2g9LWxnY2NfcyAtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1s
YyAtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1sZ2NjIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91
Z2g9LWxnY2NfcyAtLWJ1aWxkLWlkIC0tbm8tYWRkLW5lZWRlZCAtLWVoLWZyYW1lLWhkciAtLWhh
c2gtc3R5bGU9Z251IC1tIGVsZl9pMzg2IC1keW5hbWljLWxpbmtlciAvbGliL2xkLWxpbnV4LnNv
LjIgLW8gcGxfY29uZmlnIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS8uLi8u
Li8uLi9jcnQxLm8gL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4u
L2NydGkubyAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvY3J0YmVnaW4ubyAt
TC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMSAtTC91c3IvbGliL2djYy9pNjg2
LXJlZGhhdC1saW51eC82LjEuMS8uLi8uLi8uLiBwbF9jb25maWcubyAtbGdjYyAtLWFzLW5lZWRl
ZCAtbGdjY19zIC0tbm8tYXMtbmVlZGVkIC1sYyAtbGdjYyAtLWFzLW5lZWRlZCAtbGdjY19zIC0t
bm8tYXMtbmVlZGVkIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9jcnRlbmQu
byAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4vLi4vLi4vY3J0bi5vCj4+
PiBDT0xMRUNUX0dDQ19PUFRJT05TPSctbWFyY2g9cGVudGl1bXBybycgJy1tMzInICctZm5vLXN0
cmljdC1hbGlhc2luZycgJy12JyAnLXNhdmUtdGVtcHMnICctbycgJ3BsX2NvbmZpZycKPj4+IC4v
cGxfY29uZmlnCj4+Pgo+Pj4gCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+IAkt
LS0gR05VIFBST0xPRyBJTlNUQUxMQVRJT04gLS0tCj4+PiAJLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQo+Pj4KPj4+IEdOVSBQcm9sb2cgdmVyc2lvbjogMS40LjQgKEF1ZyAxOCAyMDE2
KQo+Pj4gT3BlcmF0aW5nIHN5c3RlbSAgOiBsaW51eC1nbnUKPj4+IFByb2Nlc3NvciAgICAgICAg
IDogaTY4Ngo+Pj4gU2l6ZSBvZiBhIFdBTSB3b3JkOiAzMiBiaXRzCj4+PiBDIGNvbXBpbGVyICAg
ICAgICA6IGdjYwo+Pj4gQyBmbGFncyAgICAgICAgICAgOiAtdiAtc2F2ZS10ZW1wcwo+Pj4gQyBm
bGFncyBtYWNoaW5lICAgOiAtbWFyY2g9cGVudGl1bXBybyAtbTMyIC1mbm8tc3RyaWN0LWFsaWFz
aW5nCj4+PiBBc3NlbWJsZXIgICAgICAgICA6IGFzCj4+PiBBc3NlbWJsZXIgZmxhZ3MgICA6IC0t
MzIKPj4+IExvYWRlciBmbGFncyAgICAgIDogCj4+PiBMb2FkZXIgbGlicmFyaWVzICA6IC1sbQo+
Pj4gVXNlIGxpbmUgZWRpdG9yICAgOiBZZXMKPj4+IFVzZSBwaXBlZCBjb25zdWx0IDogWWVzCj4+
PiBVc2Ugc29ja2V0cyAgICAgICA6IFllcwo+Pj4gVXNlIEZEIHNvbHZlciAgICAgOiBZZXMKPj4+
IFVzZSBmYXN0IGNhbGwgICAgIDogWWVzCj4+PiBVc2UgbWFjaGluZSByZWdzLiA6IFllcwo+Pj4g
VXNlZCByZWdpc3RlcihzKSAgOiBlYnggKFRSKSAgCj4+Pgo+Pj4gCS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQo+Pj4KPj4+IChjZCAuLi9Ub3BDb21wOyBtYWtlIGdwbGMpCj4+PiBtYWtl
WzJdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJv
bG9nLTEuNC40L3NyYy9Ub3BDb21wJwo+Pj4gZ2NjIC1tYXJjaD1wZW50aXVtcHJvIC1tMzIgLWZu
by1zdHJpY3QtYWxpYXNpbmcgLXYgLXNhdmUtdGVtcHMgLW8gZ3BsYyB0b3BfY29tcC5jIC1sbQo+
Pj4gVXNpbmcgYnVpbHQtaW4gc3BlY3MuCj4+PiBDT0xMRUNUX0dDQz1nY2MKPj4+IENPTExFQ1Rf
TFRPX1dSQVBQRVI9L3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9sdG8t
d3JhcHBlcgo+Pj4gVGFyZ2V0OiBpNjg2LXJlZGhhdC1saW51eAo+Pj4gQ29uZmlndXJlZCB3aXRo
OiAuLi9jb25maWd1cmUgLS1lbmFibGUtYm9vdHN0cmFwIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMr
KyxvYmpjLG9iai1jKyssZm9ydHJhbixhZGEsZ28sbHRvIC0tcHJlZml4PS91c3IgLS1tYW5kaXI9
L3Vzci9zaGFyZS9tYW4gLS1pbmZvZGlyPS91c3Ivc2hhcmUvaW5mbyAtLXdpdGgtYnVndXJsPWh0
dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJs
ZS10aHJlYWRzPXBvc2l4IC0tZW5hYmxlLWNoZWNraW5nPXJlbGVhc2UgLS1lbmFibGUtbXVsdGls
aWIgLS13aXRoLXN5c3RlbS16bGliIC0tZW5hYmxlLV9fY3hhX2F0ZXhpdCAtLWRpc2FibGUtbGli
dW53aW5kLWV4Y2VwdGlvbnMgLS1lbmFibGUtZ251LXVuaXF1ZS1vYmplY3QgLS1lbmFibGUtbGlu
a2VyLWJ1aWxkLWlkIC0td2l0aC1saW5rZXItaGFzaC1zdHlsZT1nbnUgLS1lbmFibGUtcGx1Z2lu
IC0tZW5hYmxlLWluaXRmaW5pLWFycmF5IC0tZGlzYWJsZS1saWJnY2ogLS13aXRoLWlzbCAtLWVu
YWJsZS1saWJtcHggLS1lbmFibGUtZ251LWluZGlyZWN0LWZ1bmN0aW9uIC0td2l0aC10dW5lPWdl
bmVyaWMgLS13aXRoLWFyY2g9aTY4NiAtLWJ1aWxkPWk2ODYtcmVkaGF0LWxpbnV4Cj4+PiBUaHJl
YWQgbW9kZWw6IHBvc2l4Cj4+PiBnY2MgdmVyc2lvbiA2LjEuMSAyMDE2MDYyMSAoUmVkIEhhdCA2
LjEuMS0zKSAoR0NDKSAKPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJjaD1wZW50aXVtcHJv
JyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10ZW1wcycgJy1vJyAn
Z3BsYycKPj4+ICAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2NjMSAt
RSAtcXVpZXQgLXYgdG9wX2NvbXAuYyAtbWFyY2g9cGVudGl1bXBybyAtbTMyIC1mbm8tc3RyaWN0
LWFsaWFzaW5nIC1mcGNoLXByZXByb2Nlc3MgLW8gdG9wX2NvbXAuaQo+Pj4gaWdub3Jpbmcgbm9u
ZXhpc3RlbnQgZGlyZWN0b3J5ICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEv
aW5jbHVkZS1maXhlZCIKPj4+IGlnbm9yaW5nIG5vbmV4aXN0ZW50IGRpcmVjdG9yeSAiL3Vzci9s
aWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4uLy4uL2k2ODYtcmVkaGF0LWxp
bnV4L2luY2x1ZGUiCj4+PiAjaW5jbHVkZSAiLi4uIiBzZWFyY2ggc3RhcnRzIGhlcmU6Cj4+PiAj
aW5jbHVkZSA8Li4uPiBzZWFyY2ggc3RhcnRzIGhlcmU6Cj4+PiAgL3Vzci9saWIvZ2NjL2k2ODYt
cmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUKPj4+ICAvdXNyL2xvY2FsL2luY2x1ZGUKPj4+ICAv
dXNyL2luY2x1ZGUKPj4+IEVuZCBvZiBzZWFyY2ggbGlzdC4KPj4+IENPTExFQ1RfR0NDX09QVElP
TlM9Jy1tYXJjaD1wZW50aXVtcHJvJyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYn
ICctc2F2ZS10ZW1wcycgJy1vJyAnZ3BsYycKPj4+ICAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVk
aGF0LWxpbnV4LzYuMS4xL2NjMSAtZnByZXByb2Nlc3NlZCB0b3BfY29tcC5pIC1xdWlldCAtZHVt
cGJhc2UgdG9wX2NvbXAuYyAtbWFyY2g9cGVudGl1bXBybyAtbTMyIC1hdXhiYXNlIHRvcF9jb21w
IC12ZXJzaW9uIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1vIHRvcF9jb21wLnMKPj4+IEdOVSBDMTEg
KEdDQykgdmVyc2lvbiA2LjEuMSAyMDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSAoaTY4Ni1yZWRo
YXQtbGludXgpCj4+PiAJY29tcGlsZWQgYnkgR05VIEMgdmVyc2lvbiA2LjEuMSAyMDE2MDYyMSAo
UmVkIEhhdCA2LjEuMS0zKSwgR01QIHZlcnNpb24gNi4xLjAsIE1QRlIgdmVyc2lvbiAzLjEuNCwg
TVBDIHZlcnNpb24gMS4wLjIsIGlzbCB2ZXJzaW9uIDAuMTQgb3IgMC4xMwo+Pj4gd2FybmluZzog
R01QIGhlYWRlciB2ZXJzaW9uIDYuMS4wIGRpZmZlcnMgZnJvbSBsaWJyYXJ5IHZlcnNpb24gNi4x
LjEuCj4+PiBHR0MgaGV1cmlzdGljczogLS1wYXJhbSBnZ2MtbWluLWV4cGFuZD0xMDAgLS1wYXJh
bSBnZ2MtbWluLWhlYXBzaXplPTEzMTA3Mgo+Pj4gR05VIEMxMSAoR0NDKSB2ZXJzaW9uIDYuMS4x
IDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpIChpNjg2LXJlZGhhdC1saW51eCkKPj4+IAljb21w
aWxlZCBieSBHTlUgQyB2ZXJzaW9uIDYuMS4xIDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpLCBH
TVAgdmVyc2lvbiA2LjEuMCwgTVBGUiB2ZXJzaW9uIDMuMS40LCBNUEMgdmVyc2lvbiAxLjAuMiwg
aXNsIHZlcnNpb24gMC4xNCBvciAwLjEzCj4+PiB3YXJuaW5nOiBHTVAgaGVhZGVyIHZlcnNpb24g
Ni4xLjAgZGlmZmVycyBmcm9tIGxpYnJhcnkgdmVyc2lvbiA2LjEuMS4KPj4+IEdHQyBoZXVyaXN0
aWNzOiAtLXBhcmFtIGdnYy1taW4tZXhwYW5kPTEwMCAtLXBhcmFtIGdnYy1taW4taGVhcHNpemU9
MTMxMDcyCj4+PiBDb21waWxlciBleGVjdXRhYmxlIGNoZWNrc3VtOiBhYmNlYjEzOGFmNDNhNzhj
MzZjMWFhYTIyOGY1ZjkyYQo+Pj4gQ09MTEVDVF9HQ0NfT1BUSU9OUz0nLW1hcmNoPXBlbnRpdW1w
cm8nICctbTMyJyAnLWZuby1zdHJpY3QtYWxpYXNpbmcnICctdicgJy1zYXZlLXRlbXBzJyAnLW8n
ICdncGxjJwo+Pj4gIGFzIC12IC0tMzIgLW8gdG9wX2NvbXAubyB0b3BfY29tcC5zCj4+PiBHTlUg
YXNzZW1ibGVyIHZlcnNpb24gMi4yNi4xIChpNjg2LXJlZGhhdC1saW51eCkgdXNpbmcgQkZEIHZl
cnNpb24gdmVyc2lvbiAyLjI2LjEtMS5mYzI0Cj4+PiBDT01QSUxFUl9QQVRIPS91c3IvbGliZXhl
Yy9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvOi91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRo
YXQtbGludXgvNi4xLjEvOi91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQtbGludXgvOi91c3Iv
bGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0
LWxpbnV4Lwo+Pj4gTElCUkFSWV9QQVRIPS91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82
LjEuMS86L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4uLzovbGli
LzovdXNyL2xpYi8KPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJjaD1wZW50aXVtcHJvJyAn
LW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10ZW1wcycgJy1vJyAnZ3Bs
YycKPj4+ICAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2NvbGxlY3Qy
IC1wbHVnaW4gL3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9saWJsdG9f
cGx1Z2luLnNvIC1wbHVnaW4tb3B0PS91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQtbGludXgv
Ni4xLjEvbHRvLXdyYXBwZXIgLXBsdWdpbi1vcHQ9LWZyZXNvbHV0aW9uPXRvcF9jb21wLnJlcyAt
cGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1sZ2NjIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91Z2g9
LWxnY2NfcyAtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1sYyAtcGx1Z2luLW9wdD0tcGFzcy10
aHJvdWdoPS1sZ2NjIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91Z2g9LWxnY2NfcyAtLWJ1aWxkLWlk
IC0tbm8tYWRkLW5lZWRlZCAtLWVoLWZyYW1lLWhkciAtLWhhc2gtc3R5bGU9Z251IC1tIGVsZl9p
Mzg2IC1keW5hbWljLWxpbmtlciAvbGliL2xkLWxpbnV4LnNvLjIgLW8gZ3BsYyAvdXNyL2xpYi9n
Y2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4vLi4vLi4vY3J0MS5vIC91c3IvbGliL2djYy9p
Njg2LXJlZGhhdC1saW51eC82LjEuMS8uLi8uLi8uLi9jcnRpLm8gL3Vzci9saWIvZ2NjL2k2ODYt
cmVkaGF0LWxpbnV4LzYuMS4xL2NydGJlZ2luLm8gLUwvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQt
bGludXgvNi4xLjEgLUwvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4vLi4v
Li4gdG9wX2NvbXAubyAtbG0gLWxnY2MgLS1hcy1uZWVkZWQgLWxnY2NfcyAtLW5vLWFzLW5lZWRl
ZCAtbGMgLWxnY2MgLS1hcy1uZWVkZWQgLWxnY2NfcyAtLW5vLWFzLW5lZWRlZCAvdXNyL2xpYi9n
Y2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvY3J0ZW5kLm8gL3Vzci9saWIvZ2NjL2k2ODYtcmVk
aGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4uL2NydG4ubwo+Pj4gQ09MTEVDVF9HQ0NfT1BUSU9OUz0n
LW1hcmNoPXBlbnRpdW1wcm8nICctbTMyJyAnLWZuby1zdHJpY3QtYWxpYXNpbmcnICctdicgJy1z
YXZlLXRlbXBzJyAnLW8nICdncGxjJwo+Pj4gbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgJy9o
b21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEuNC40L3NyYy9Ub3BDb21wJwo+Pj4g
bWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9n
cHJvbG9nLTEuNC40L3NyYy9FbmdpbmVQbCcKPj4+IC4gLi9TRVRWQVJTO2ZvciBpIGluIEVuZ2lu
ZVBsIFRvcENvbXAgV2FtMk1hIE1hMkFzbSBMaW5lZGl0IEJpcHNQbCBQbDJXYW0gRmQyQyBFbmdp
bmVGRCBCaXBzRkQ7ZG8gKGNkICRpOyBtYWtlKSB8fCBleGl0IDE7IGRvbmU7XAo+Pj4gKGNkIFRv
cENvbXA7IG1ha2UgdG9wLWxldmVsKSB8fCBleGl0IDE7XAo+Pj4gKGNkIFBsMldhbTsgbWFrZSBz
dGFnZTIpCj4+PiBtYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgJy9ob21lL3RpbGwvcnBtYnVp
bGQvU09VUkNFUy9ncHJvbG9nLTEuNC40L3NyYy9FbmdpbmVQbCcKPj4+IGdjYyAtbWFyY2g9cGVu
dGl1bXBybyAtbTMyIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC12IC1zYXZlLXRlbXBzICAtbyBjcHBf
aGVhZGVycyBjcHBfaGVhZGVycy5jCj4+PiBVc2luZyBidWlsdC1pbiBzcGVjcy4KPj4+IENPTExF
Q1RfR0NDPWdjYwo+Pj4gQ09MTEVDVF9MVE9fV1JBUFBFUj0vdXNyL2xpYmV4ZWMvZ2NjL2k2ODYt
cmVkaGF0LWxpbnV4LzYuMS4xL2x0by13cmFwcGVyCj4+PiBUYXJnZXQ6IGk2ODYtcmVkaGF0LWxp
bnV4Cj4+PiBDb25maWd1cmVkIHdpdGg6IC4uL2NvbmZpZ3VyZSAtLWVuYWJsZS1ib290c3RyYXAg
LS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLG9iamMsb2JqLWMrKyxmb3J0cmFuLGFkYSxnbyxsdG8g
LS1wcmVmaXg9L3VzciAtLW1hbmRpcj0vdXNyL3NoYXJlL21hbiAtLWluZm9kaXI9L3Vzci9zaGFy
ZS9pbmZvIC0td2l0aC1idWd1cmw9aHR0cDovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGEg
LS1lbmFibGUtc2hhcmVkIC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS1lbmFibGUtY2hlY2tpbmc9
cmVsZWFzZSAtLWVuYWJsZS1tdWx0aWxpYiAtLXdpdGgtc3lzdGVtLXpsaWIgLS1lbmFibGUtX19j
eGFfYXRleGl0IC0tZGlzYWJsZS1saWJ1bndpbmQtZXhjZXB0aW9ucyAtLWVuYWJsZS1nbnUtdW5p
cXVlLW9iamVjdCAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgLS13aXRoLWxpbmtlci1oYXNoLXN0
eWxlPWdudSAtLWVuYWJsZS1wbHVnaW4gLS1lbmFibGUtaW5pdGZpbmktYXJyYXkgLS1kaXNhYmxl
LWxpYmdjaiAtLXdpdGgtaXNsIC0tZW5hYmxlLWxpYm1weCAtLWVuYWJsZS1nbnUtaW5kaXJlY3Qt
ZnVuY3Rpb24gLS13aXRoLXR1bmU9Z2VuZXJpYyAtLXdpdGgtYXJjaD1pNjg2IC0tYnVpbGQ9aTY4
Ni1yZWRoYXQtbGludXgKPj4+IFRocmVhZCBtb2RlbDogcG9zaXgKPj4+IGdjYyB2ZXJzaW9uIDYu
MS4xIDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpIChHQ0MpIAo+Pj4gQ09MTEVDVF9HQ0NfT1BU
SU9OUz0nLW1hcmNoPXBlbnRpdW1wcm8nICctbTMyJyAnLWZuby1zdHJpY3QtYWxpYXNpbmcnICct
dicgJy1zYXZlLXRlbXBzJyAnLW8nICdjcHBfaGVhZGVycycKPj4+ICAvdXNyL2xpYmV4ZWMvZ2Nj
L2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2NjMSAtRSAtcXVpZXQgLXYgY3BwX2hlYWRlcnMuYyAt
bWFyY2g9cGVudGl1bXBybyAtbTMyIC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mcGNoLXByZXByb2Nl
c3MgLW8gY3BwX2hlYWRlcnMuaQo+Pj4gaWdub3Jpbmcgbm9uZXhpc3RlbnQgZGlyZWN0b3J5ICIv
dXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS1maXhlZCIKPj4+IGln
bm9yaW5nIG5vbmV4aXN0ZW50IGRpcmVjdG9yeSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxp
bnV4LzYuMS4xLy4uLy4uLy4uLy4uL2k2ODYtcmVkaGF0LWxpbnV4L2luY2x1ZGUiCj4+PiAjaW5j
bHVkZSAiLi4uIiBzZWFyY2ggc3RhcnRzIGhlcmU6Cj4+PiAjaW5jbHVkZSA8Li4uPiBzZWFyY2gg
c3RhcnRzIGhlcmU6Cj4+PiAgL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2lu
Y2x1ZGUKPj4+ICAvdXNyL2xvY2FsL2luY2x1ZGUKPj4+ICAvdXNyL2luY2x1ZGUKPj4+IEVuZCBv
ZiBzZWFyY2ggbGlzdC4KPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJjaD1wZW50aXVtcHJv
JyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10ZW1wcycgJy1vJyAn
Y3BwX2hlYWRlcnMnCj4+PiAgL3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEu
MS9jYzEgLWZwcmVwcm9jZXNzZWQgY3BwX2hlYWRlcnMuaSAtcXVpZXQgLWR1bXBiYXNlIGNwcF9o
ZWFkZXJzLmMgLW1hcmNoPXBlbnRpdW1wcm8gLW0zMiAtYXV4YmFzZSBjcHBfaGVhZGVycyAtdmVy
c2lvbiAtZm5vLXN0cmljdC1hbGlhc2luZyAtbyBjcHBfaGVhZGVycy5zCj4+PiBHTlUgQzExIChH
Q0MpIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMykgKGk2ODYtcmVkaGF0
LWxpbnV4KQo+Pj4gCWNvbXBpbGVkIGJ5IEdOVSBDIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJl
ZCBIYXQgNi4xLjEtMyksIEdNUCB2ZXJzaW9uIDYuMS4wLCBNUEZSIHZlcnNpb24gMy4xLjQsIE1Q
QyB2ZXJzaW9uIDEuMC4yLCBpc2wgdmVyc2lvbiAwLjE0IG9yIDAuMTMKPj4+IHdhcm5pbmc6IEdN
UCBoZWFkZXIgdmVyc2lvbiA2LjEuMCBkaWZmZXJzIGZyb20gbGlicmFyeSB2ZXJzaW9uIDYuMS4x
Lgo+Pj4gR0dDIGhldXJpc3RpY3M6IC0tcGFyYW0gZ2djLW1pbi1leHBhbmQ9MTAwIC0tcGFyYW0g
Z2djLW1pbi1oZWFwc2l6ZT0xMzEwNzIKPj4+IEdOVSBDMTEgKEdDQykgdmVyc2lvbiA2LjEuMSAy
MDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSAoaTY4Ni1yZWRoYXQtbGludXgpCj4+PiAJY29tcGls
ZWQgYnkgR05VIEMgdmVyc2lvbiA2LjEuMSAyMDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSwgR01Q
IHZlcnNpb24gNi4xLjAsIE1QRlIgdmVyc2lvbiAzLjEuNCwgTVBDIHZlcnNpb24gMS4wLjIsIGlz
bCB2ZXJzaW9uIDAuMTQgb3IgMC4xMwo+Pj4gd2FybmluZzogR01QIGhlYWRlciB2ZXJzaW9uIDYu
MS4wIGRpZmZlcnMgZnJvbSBsaWJyYXJ5IHZlcnNpb24gNi4xLjEuCj4+PiBHR0MgaGV1cmlzdGlj
czogLS1wYXJhbSBnZ2MtbWluLWV4cGFuZD0xMDAgLS1wYXJhbSBnZ2MtbWluLWhlYXBzaXplPTEz
MTA3Mgo+Pj4gQ29tcGlsZXIgZXhlY3V0YWJsZSBjaGVja3N1bTogYWJjZWIxMzhhZjQzYTc4YzM2
YzFhYWEyMjhmNWY5MmEKPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy1tYXJjaD1wZW50aXVtcHJv
JyAnLW0zMicgJy1mbm8tc3RyaWN0LWFsaWFzaW5nJyAnLXYnICctc2F2ZS10ZW1wcycgJy1vJyAn
Y3BwX2hlYWRlcnMnCj4+PiAgYXMgLXYgLS0zMiAtbyBjcHBfaGVhZGVycy5vIGNwcF9oZWFkZXJz
LnMKPj4+IEdOVSBhc3NlbWJsZXIgdmVyc2lvbiAyLjI2LjEgKGk2ODYtcmVkaGF0LWxpbnV4KSB1
c2luZyBCRkQgdmVyc2lvbiB2ZXJzaW9uIDIuMjYuMS0xLmZjMjQKPj4+IENPTVBJTEVSX1BBVEg9
L3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWJleGVjL2dj
Yy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS86L3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1s
aW51eC86L3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLzovdXNyL2xpYi9nY2Mv
aTY4Ni1yZWRoYXQtbGludXgvCj4+PiBMSUJSQVJZX1BBVEg9L3Vzci9saWIvZ2NjL2k2ODYtcmVk
aGF0LWxpbnV4LzYuMS4xLzovdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4v
Li4vLi4vOi9saWIvOi91c3IvbGliLwo+Pj4gQ09MTEVDVF9HQ0NfT1BUSU9OUz0nLW1hcmNoPXBl
bnRpdW1wcm8nICctbTMyJyAnLWZuby1zdHJpY3QtYWxpYXNpbmcnICctdicgJy1zYXZlLXRlbXBz
JyAnLW8nICdjcHBfaGVhZGVycycKPj4+ICAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0LWxp
bnV4LzYuMS4xL2NvbGxlY3QyIC1wbHVnaW4gL3Vzci9saWJleGVjL2djYy9pNjg2LXJlZGhhdC1s
aW51eC82LjEuMS9saWJsdG9fcGx1Z2luLnNvIC1wbHVnaW4tb3B0PS91c3IvbGliZXhlYy9nY2Mv
aTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvbHRvLXdyYXBwZXIgLXBsdWdpbi1vcHQ9LWZyZXNvbHV0
aW9uPWNwcF9oZWFkZXJzLnJlcyAtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1sZ2NjIC1wbHVn
aW4tb3B0PS1wYXNzLXRocm91Z2g9LWxnY2NfcyAtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1s
YyAtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1sZ2NjIC1wbHVnaW4tb3B0PS1wYXNzLXRocm91
Z2g9LWxnY2NfcyAtLWJ1aWxkLWlkIC0tbm8tYWRkLW5lZWRlZCAtLWVoLWZyYW1lLWhkciAtLWhh
c2gtc3R5bGU9Z251IC1tIGVsZl9pMzg2IC1keW5hbWljLWxpbmtlciAvbGliL2xkLWxpbnV4LnNv
LjIgLW8gY3BwX2hlYWRlcnMgL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4u
Ly4uLy4uL2NydDEubyAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvLi4vLi4v
Li4vY3J0aS5vIC91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9jcnRiZWdpbi5v
IC1ML3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xIC1ML3Vzci9saWIvZ2NjL2k2
ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4uIGNwcF9oZWFkZXJzLm8gLWxnY2MgLS1hcy1u
ZWVkZWQgLWxnY2NfcyAtLW5vLWFzLW5lZWRlZCAtbGMgLWxnY2MgLS1hcy1uZWVkZWQgLWxnY2Nf
cyAtLW5vLWFzLW5lZWRlZCAvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvY3J0
ZW5kLm8gL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xLy4uLy4uLy4uL2NydG4u
bwo+Pj4gQ09MTEVDVF9HQ0NfT1BUSU9OUz0nLW1hcmNoPXBlbnRpdW1wcm8nICctbTMyJyAnLWZu
by1zdHJpY3QtYWxpYXNpbmcnICctdicgJy1zYXZlLXRlbXBzJyAnLW8nICdjcHBfaGVhZGVycycK
Pj4+IGdwbGMgLWMgLUMgJy12IC1zYXZlLXRlbXBzJyBtYWNoaW5lLmMKPj4+IFVzaW5nIGJ1aWx0
LWluIHNwZWNzLgo+Pj4gQ09MTEVDVF9HQ0M9Z2NjCj4+PiBUYXJnZXQ6IGk2ODYtcmVkaGF0LWxp
bnV4Cj4+PiBDb25maWd1cmVkIHdpdGg6IC4uL2NvbmZpZ3VyZSAtLWVuYWJsZS1ib290c3RyYXAg
LS1lbmFibGUtbGFuZ3VhZ2VzPWMsYysrLG9iamMsb2JqLWMrKyxmb3J0cmFuLGFkYSxnbyxsdG8g
LS1wcmVmaXg9L3VzciAtLW1hbmRpcj0vdXNyL3NoYXJlL21hbiAtLWluZm9kaXI9L3Vzci9zaGFy
ZS9pbmZvIC0td2l0aC1idWd1cmw9aHR0cDovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGEg
LS1lbmFibGUtc2hhcmVkIC0tZW5hYmxlLXRocmVhZHM9cG9zaXggLS1lbmFibGUtY2hlY2tpbmc9
cmVsZWFzZSAtLWVuYWJsZS1tdWx0aWxpYiAtLXdpdGgtc3lzdGVtLXpsaWIgLS1lbmFibGUtX19j
eGFfYXRleGl0IC0tZGlzYWJsZS1saWJ1bndpbmQtZXhjZXB0aW9ucyAtLWVuYWJsZS1nbnUtdW5p
cXVlLW9iamVjdCAtLWVuYWJsZS1saW5rZXItYnVpbGQtaWQgLS13aXRoLWxpbmtlci1oYXNoLXN0
eWxlPWdudSAtLWVuYWJsZS1wbHVnaW4gLS1lbmFibGUtaW5pdGZpbmktYXJyYXkgLS1kaXNhYmxl
LWxpYmdjaiAtLXdpdGgtaXNsIC0tZW5hYmxlLWxpYm1weCAtLWVuYWJsZS1nbnUtaW5kaXJlY3Qt
ZnVuY3Rpb24gLS13aXRoLXR1bmU9Z2VuZXJpYyAtLXdpdGgtYXJjaD1pNjg2IC0tYnVpbGQ9aTY4
Ni1yZWRoYXQtbGludXgKPj4+IFRocmVhZCBtb2RlbDogcG9zaXgKPj4+IGdjYyB2ZXJzaW9uIDYu
MS4xIDIwMTYwNjIxIChSZWQgSGF0IDYuMS4xLTMpIChHQ0MpIAo+Pj4gQ09MTEVDVF9HQ0NfT1BU
SU9OUz0nLXYnICctc2F2ZS10ZW1wcycgJy1tYXJjaD1wZW50aXVtcHJvJyAnLW0zMicgJy1mbm8t
c3RyaWN0LWFsaWFzaW5nJyAnLWZmaXhlZC1lYngnICctYycgJy1JJyAnL2hvbWUvdGlsbC9ycG1i
dWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0VuZ2luZVBsJyAnLUknICcvaG9tZS90aWxs
L3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvQmlwc1BsJyAnLUknICcvaG9tZS90
aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvRW5naW5lRkQnICctSScgJy9o
b21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEuNC40L3NyYy9CaXBzRkQnICctSScg
Jy9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEuNC40L3NyYy9MaW5lZGl0JyAn
LUknICcvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvVzMyR1VJ
Q29ucycgJy1vJyAnbWFjaGluZS5vJwo+Pj4gIC91c3IvbGliZXhlYy9nY2MvaTY4Ni1yZWRoYXQt
bGludXgvNi4xLjEvY2MxIC1FIC1xdWlldCAtdiAtSSAvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJD
RVMvZ3Byb2xvZy0xLjQuNC9zcmMvRW5naW5lUGwgLUkgL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VS
Q0VTL2dwcm9sb2ctMS40LjQvc3JjL0JpcHNQbCAtSSAvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJD
RVMvZ3Byb2xvZy0xLjQuNC9zcmMvRW5naW5lRkQgLUkgL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VS
Q0VTL2dwcm9sb2ctMS40LjQvc3JjL0JpcHNGRCAtSSAvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJD
RVMvZ3Byb2xvZy0xLjQuNC9zcmMvTGluZWRpdCAtSSAvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJD
RVMvZ3Byb2xvZy0xLjQuNC9zcmMvVzMyR1VJQ29ucyBtYWNoaW5lLmMgLW1hcmNoPXBlbnRpdW1w
cm8gLW0zMiAtZm5vLXN0cmljdC1hbGlhc2luZyAtZmZpeGVkLWVieCAtZnBjaC1wcmVwcm9jZXNz
IC1vIG1hY2hpbmUuaQo+Pj4gaWdub3Jpbmcgbm9uZXhpc3RlbnQgZGlyZWN0b3J5ICIvdXNyL2xp
Yi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS1maXhlZCIKPj4+IGlnbm9yaW5n
IG5vbmV4aXN0ZW50IGRpcmVjdG9yeSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYu
MS4xLy4uLy4uLy4uLy4uL2k2ODYtcmVkaGF0LWxpbnV4L2luY2x1ZGUiCj4+PiAjaW5jbHVkZSAi
Li4uIiBzZWFyY2ggc3RhcnRzIGhlcmU6Cj4+PiAjaW5jbHVkZSA8Li4uPiBzZWFyY2ggc3RhcnRz
IGhlcmU6Cj4+PiAgL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3Jj
L0VuZ2luZVBsCj4+PiAgL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQv
c3JjL0JpcHNQbAo+Pj4gIC9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEuNC40
L3NyYy9FbmdpbmVGRAo+Pj4gIC9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9nLTEu
NC40L3NyYy9CaXBzRkQKPj4+ICAvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0x
LjQuNC9zcmMvTGluZWRpdAo+Pj4gIC9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9ncHJvbG9n
LTEuNC40L3NyYy9XMzJHVUlDb25zCj4+PiAgL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4
LzYuMS4xL2luY2x1ZGUKPj4+ICAvdXNyL2xvY2FsL2luY2x1ZGUKPj4+ICAvdXNyL2luY2x1ZGUK
Pj4+IEVuZCBvZiBzZWFyY2ggbGlzdC4KPj4+IENPTExFQ1RfR0NDX09QVElPTlM9Jy12JyAnLXNh
dmUtdGVtcHMnICctbWFyY2g9cGVudGl1bXBybycgJy1tMzInICctZm5vLXN0cmljdC1hbGlhc2lu
ZycgJy1mZml4ZWQtZWJ4JyAnLWMnICctSScgJy9ob21lL3RpbGwvcnBtYnVpbGQvU09VUkNFUy9n
cHJvbG9nLTEuNC40L3NyYy9FbmdpbmVQbCcgJy1JJyAnL2hvbWUvdGlsbC9ycG1idWlsZC9TT1VS
Q0VTL2dwcm9sb2ctMS40LjQvc3JjL0JpcHNQbCcgJy1JJyAnL2hvbWUvdGlsbC9ycG1idWlsZC9T
T1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL0VuZ2luZUZEJyAnLUknICcvaG9tZS90aWxsL3JwbWJ1
aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvQmlwc0ZEJyAnLUknICcvaG9tZS90aWxsL3Jw
bWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0xLjQuNC9zcmMvTGluZWRpdCcgJy1JJyAnL2hvbWUvdGls
bC9ycG1idWlsZC9TT1VSQ0VTL2dwcm9sb2ctMS40LjQvc3JjL1czMkdVSUNvbnMnICctbycgJ21h
Y2hpbmUubycKPj4+ICAvdXNyL2xpYmV4ZWMvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2Nj
MSAtZnByZXByb2Nlc3NlZCBtYWNoaW5lLmkgLXF1aWV0IC1kdW1wYmFzZSBtYWNoaW5lLmMgLW1h
cmNoPXBlbnRpdW1wcm8gLW0zMiAtYXV4YmFzZS1zdHJpcCBtYWNoaW5lLm8gLXZlcnNpb24gLWZu
by1zdHJpY3QtYWxpYXNpbmcgLWZmaXhlZC1lYnggLW8gbWFjaGluZS5zCj4+PiBHTlUgQzExIChH
Q0MpIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJlZCBIYXQgNi4xLjEtMykgKGk2ODYtcmVkaGF0
LWxpbnV4KQo+Pj4gCWNvbXBpbGVkIGJ5IEdOVSBDIHZlcnNpb24gNi4xLjEgMjAxNjA2MjEgKFJl
ZCBIYXQgNi4xLjEtMyksIEdNUCB2ZXJzaW9uIDYuMS4wLCBNUEZSIHZlcnNpb24gMy4xLjQsIE1Q
QyB2ZXJzaW9uIDEuMC4yLCBpc2wgdmVyc2lvbiAwLjE0IG9yIDAuMTMKPj4+IHdhcm5pbmc6IEdN
UCBoZWFkZXIgdmVyc2lvbiA2LjEuMCBkaWZmZXJzIGZyb20gbGlicmFyeSB2ZXJzaW9uIDYuMS4x
Lgo+Pj4gR0dDIGhldXJpc3RpY3M6IC0tcGFyYW0gZ2djLW1pbi1leHBhbmQ9MTAwIC0tcGFyYW0g
Z2djLW1pbi1oZWFwc2l6ZT0xMzEwNzIKPj4+IEdOVSBDMTEgKEdDQykgdmVyc2lvbiA2LjEuMSAy
MDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSAoaTY4Ni1yZWRoYXQtbGludXgpCj4+PiAJY29tcGls
ZWQgYnkgR05VIEMgdmVyc2lvbiA2LjEuMSAyMDE2MDYyMSAoUmVkIEhhdCA2LjEuMS0zKSwgR01Q
IHZlcnNpb24gNi4xLjAsIE1QRlIgdmVyc2lvbiAzLjEuNCwgTVBDIHZlcnNpb24gMS4wLjIsIGlz
bCB2ZXJzaW9uIDAuMTQgb3IgMC4xMwo+Pj4gd2FybmluZzogR01QIGhlYWRlciB2ZXJzaW9uIDYu
MS4wIGRpZmZlcnMgZnJvbSBsaWJyYXJ5IHZlcnNpb24gNi4xLjEuCj4+PiBHR0MgaGV1cmlzdGlj
czogLS1wYXJhbSBnZ2MtbWluLWV4cGFuZD0xMDAgLS1wYXJhbSBnZ2MtbWluLWhlYXBzaXplPTEz
MTA3Mgo+Pj4gQ29tcGlsZXIgZXhlY3V0YWJsZSBjaGVja3N1bTogYWJjZWIxMzhhZjQzYTc4YzM2
YzFhYWEyMjhmNWY5MmEKPj4+IG1hY2hpbmUuYzogSW4gZnVuY3Rpb24g4oCYUGxfTV9SYW5kb21p
emXigJk6Cj4+PiBtYWNoaW5lLmM6Mzg2OjE6IGludGVybmFsIGNvbXBpbGVyIGVycm9yOiBTZWdt
ZW50YXRpb24gZmF1bHQKPj4+ICB9Cj4+PiAgXgo+Pj4gUGxlYXNlIHN1Ym1pdCBhIGZ1bGwgYnVn
IHJlcG9ydCwKPj4+IHdpdGggcHJlcHJvY2Vzc2VkIHNvdXJjZSBpZiBhcHByb3ByaWF0ZS4KPj4+
IFNlZSA8aHR0cDovL2J1Z3ppbGxhLnJlZGhhdC5jb20vYnVnemlsbGE+IGZvciBpbnN0cnVjdGlv
bnMuCj4+PiBQcmVwcm9jZXNzZWQgc291cmNlIHN0b3JlZCBpbnRvIC90bXAvY2NjWENBV00ub3V0
IGZpbGUsIHBsZWFzZSBhdHRhY2ggdGhpcyB0byB5b3VyIGJ1Z3JlcG9ydC4KPj4+IGNvbXBpbGF0
aW9uIGZhaWxlZAo+Pj4gTWFrZWZpbGU6MzA6IHJlY2lwZSBmb3IgdGFyZ2V0ICdtYWNoaW5lLm8n
IGZhaWxlZAo+Pj4gbWFrZVsxXTogKioqIFttYWNoaW5lLm9dIEVycm9yIDEKPj4+IG1ha2VbMV06
IExlYXZpbmcgZGlyZWN0b3J5ICcvaG9tZS90aWxsL3JwbWJ1aWxkL1NPVVJDRVMvZ3Byb2xvZy0x
LjQuNC9zcmMvRW5naW5lUGwnCj4+PiBNYWtlZmlsZTo0NTogcmVjaXBlIGZvciB0YXJnZXQgJ2Fs
bCcgZmFpbGVkCj4+PiBtYWtlOiAqKiogW2FsbF0gRXJyb3IgMQo+Pgo+Pj4gIyAxICJtYWNoaW5l
LmMiCj4+PiAjIDEgIjxidWlsdC1pbj4iCj4+PiAjIDEgIjxjb21tYW5kLWxpbmU+Igo+Pj4gIyAz
MSAiPGNvbW1hbmQtbGluZT4iCj4+PiAjIDEgIi91c3IvaW5jbHVkZS9zdGRjLXByZWRlZi5oIiAx
IDMgNAo+Pj4gIyAzMiAiPGNvbW1hbmQtbGluZT4iIDIKPj4+ICMgMSAibWFjaGluZS5jIgo+Pj4g
IyAzOSAibWFjaGluZS5jIgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMSAzIDQKPj4+
ICMgMjcgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2Zl
YXR1cmVzLmgiIDEgMyA0Cj4+PiAjIDM2OCAiL3Vzci9pbmNsdWRlL2ZlYXR1cmVzLmgiIDMgNAo+
Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lzL2NkZWZzLmgiIDEgMyA0Cj4+PiAjIDQxMCAiL3Vzci9p
bmNsdWRlL3N5cy9jZGVmcy5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvd29yZHNp
emUuaCIgMSAzIDQKPj4+ICMgNDExICIvdXNyL2luY2x1ZGUvc3lzL2NkZWZzLmgiIDIgMyA0Cj4+
PiAjIDM2OSAiL3Vzci9pbmNsdWRlL2ZlYXR1cmVzLmgiIDIgMyA0Cj4+PiAjIDM5MiAiL3Vzci9p
bmNsdWRlL2ZlYXR1cmVzLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvZ251L3N0dWJzLmgi
IDEgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9nbnUv
c3R1YnMtMzIuaCIgMSAzIDQKPj4+ICMgOCAiL3Vzci9pbmNsdWRlL2dudS9zdHVicy5oIiAyIDMg
NAo+Pj4gIyAzOTMgIi91c3IvaW5jbHVkZS9mZWF0dXJlcy5oIiAyIDMgNAo+Pj4gIyAyOCAiL3Vz
ci9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+ICMgMSAiL3Vz
ci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0
Cj4+PiAjIDIxNiAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUv
c3RkZGVmLmgiIDMgNAo+Pj4KPj4+ICMgMjE2ICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGlu
dXgvNi4xLjEvaW5jbHVkZS9zdGRkZWYuaCIgMyA0Cj4+PiB0eXBlZGVmIHVuc2lnbmVkIGludCBz
aXplX3Q7Cj4+PiAjIDM0ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMiAzIDQKPj4+Cj4+PiAjIDEg
Ii91c3IvaW5jbHVkZS9iaXRzL3R5cGVzLmgiIDEgMyA0Cj4+PiAjIDI3ICIvdXNyL2luY2x1ZGUv
Yml0cy90eXBlcy5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvd29yZHNpemUuaCIg
MSAzIDQKPj4+ICMgMjggIi91c3IvaW5jbHVkZS9iaXRzL3R5cGVzLmgiIDIgMyA0Cj4+Pgo+Pj4K
Pj4+IHR5cGVkZWYgdW5zaWduZWQgY2hhciBfX3VfY2hhcjsKPj4+IHR5cGVkZWYgdW5zaWduZWQg
c2hvcnQgaW50IF9fdV9zaG9ydDsKPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IF9fdV9pbnQ7Cj4+
PiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgaW50IF9fdV9sb25nOwo+Pj4KPj4+Cj4+PiB0eXBlZGVm
IHNpZ25lZCBjaGFyIF9faW50OF90Owo+Pj4gdHlwZWRlZiB1bnNpZ25lZCBjaGFyIF9fdWludDhf
dDsKPj4+IHR5cGVkZWYgc2lnbmVkIHNob3J0IGludCBfX2ludDE2X3Q7Cj4+PiB0eXBlZGVmIHVu
c2lnbmVkIHNob3J0IGludCBfX3VpbnQxNl90Owo+Pj4gdHlwZWRlZiBzaWduZWQgaW50IF9faW50
MzJfdDsKPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IF9fdWludDMyX3Q7Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIHNpZ25lZCBsb25nIGxvbmcgaW50IF9faW50NjRf
dDsKPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9fdWlu
dDY0X3Q7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gX19leHRlbnNpb25fXyB0eXBl
ZGVmIGxvbmcgbG9uZyBpbnQgX19xdWFkX3Q7Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5z
aWduZWQgbG9uZyBsb25nIGludCBfX3VfcXVhZF90Owo+Pj4gIyAxMjEgIi91c3IvaW5jbHVkZS9i
aXRzL3R5cGVzLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy90eXBlc2l6ZXMuaCIg
MSAzIDQKPj4+ICMgMTIyICIvdXNyL2luY2x1ZGUvYml0cy90eXBlcy5oIiAyIDMgNAo+Pj4KPj4+
Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgX191X3F1YWRfdCBfX2Rldl90Owo+Pj4gX19leHRl
bnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGludCBfX3VpZF90Owo+Pj4gX19leHRlbnNpb25fXyB0
eXBlZGVmIHVuc2lnbmVkIGludCBfX2dpZF90Owo+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIHVu
c2lnbmVkIGxvbmcgaW50IF9faW5vX3Q7Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgX191X3F1
YWRfdCBfX2lubzY0X3Q7Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5zaWduZWQgaW50IF9f
bW9kZV90Owo+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIHVuc2lnbmVkIGludCBfX25saW5rX3Q7
Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgbG9uZyBpbnQgX19vZmZfdDsKPj4+IF9fZXh0ZW5z
aW9uX18gdHlwZWRlZiBfX3F1YWRfdCBfX29mZjY0X3Q7Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVk
ZWYgaW50IF9fcGlkX3Q7Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgc3RydWN0IHsgaW50IF9f
dmFsWzJdOyB9IF9fZnNpZF90Owo+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgaW50IF9f
Y2xvY2tfdDsKPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCBfX3Js
aW1fdDsKPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBfX3VfcXVhZF90IF9fcmxpbTY0X3Q7Cj4+
PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5zaWduZWQgaW50IF9faWRfdDsKPj4+IF9fZXh0ZW5z
aW9uX18gdHlwZWRlZiBsb25nIGludCBfX3RpbWVfdDsKPj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRl
ZiB1bnNpZ25lZCBpbnQgX191c2Vjb25kc190Owo+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIGxv
bmcgaW50IF9fc3VzZWNvbmRzX3Q7Cj4+Pgo+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIGludCBf
X2RhZGRyX3Q7Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVkZWYgaW50IF9fa2V5X3Q7Cj4+Pgo+Pj4K
Pj4+IF9fZXh0ZW5zaW9uX18gdHlwZWRlZiBpbnQgX19jbG9ja2lkX3Q7Cj4+Pgo+Pj4KPj4+IF9f
ZXh0ZW5zaW9uX18gdHlwZWRlZiB2b2lkICogX190aW1lcl90Owo+Pj4KPj4+Cj4+PiBfX2V4dGVu
c2lvbl9fIHR5cGVkZWYgbG9uZyBpbnQgX19ibGtzaXplX3Q7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4g
X19leHRlbnNpb25fXyB0eXBlZGVmIGxvbmcgaW50IF9fYmxrY250X3Q7Cj4+PiBfX2V4dGVuc2lv
bl9fIHR5cGVkZWYgX19xdWFkX3QgX19ibGtjbnQ2NF90Owo+Pj4KPj4+Cj4+PiBfX2V4dGVuc2lv
bl9fIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgX19mc2Jsa2NudF90Owo+Pj4gX19leHRlbnNp
b25fXyB0eXBlZGVmIF9fdV9xdWFkX3QgX19mc2Jsa2NudDY0X3Q7Cj4+Pgo+Pj4KPj4+IF9fZXh0
ZW5zaW9uX18gdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCBfX2ZzZmlsY250X3Q7Cj4+PiBfX2V4
dGVuc2lvbl9fIHR5cGVkZWYgX191X3F1YWRfdCBfX2ZzZmlsY250NjRfdDsKPj4+Cj4+Pgo+Pj4g
X19leHRlbnNpb25fXyB0eXBlZGVmIGludCBfX2Zzd29yZF90Owo+Pj4KPj4+IF9fZXh0ZW5zaW9u
X18gdHlwZWRlZiBpbnQgX19zc2l6ZV90Owo+Pj4KPj4+Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVk
ZWYgbG9uZyBpbnQgX19zeXNjYWxsX3Nsb25nX3Q7Cj4+Pgo+Pj4gX19leHRlbnNpb25fXyB0eXBl
ZGVmIHVuc2lnbmVkIGxvbmcgaW50IF9fc3lzY2FsbF91bG9uZ190Owo+Pj4KPj4+Cj4+Pgo+Pj4g
dHlwZWRlZiBfX29mZjY0X3QgX19sb2ZmX3Q7Cj4+PiB0eXBlZGVmIF9fcXVhZF90ICpfX3FhZGRy
X3Q7Cj4+PiB0eXBlZGVmIGNoYXIgKl9fY2FkZHJfdDsKPj4+Cj4+Pgo+Pj4gX19leHRlbnNpb25f
XyB0eXBlZGVmIGludCBfX2ludHB0cl90Owo+Pj4KPj4+Cj4+PiBfX2V4dGVuc2lvbl9fIHR5cGVk
ZWYgdW5zaWduZWQgaW50IF9fc29ja2xlbl90Owo+Pj4gIyAzNiAiL3Vzci9pbmNsdWRlL3N0ZGlv
LmgiIDIgMyA0Cj4+PiAjIDQ0ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4+PiBzdHJ1Y3Qg
X0lPX0ZJTEU7Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIHN0cnVjdCBfSU9fRklMRSBGSUxFOwo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDY0ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4+
PiB0eXBlZGVmIHN0cnVjdCBfSU9fRklMRSBfX0ZJTEU7Cj4+PiAjIDc0ICIvdXNyL2luY2x1ZGUv
c3RkaW8uaCIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9saWJpby5oIiAxIDMgNAo+Pj4gIyAz
MSAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvX0dfY29u
ZmlnLmgiIDEgMyA0Cj4+PiAjIDE1ICIvdXNyL2luY2x1ZGUvX0dfY29uZmlnLmgiIDMgNAo+Pj4g
IyAxICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9zdGRkZWYu
aCIgMSAzIDQKPj4+ICMgMTYgIi91c3IvaW5jbHVkZS9fR19jb25maWcuaCIgMiAzIDQKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS93Y2hhci5oIiAxIDMgNAo+Pj4gIyA4MiAi
L3Vzci9pbmNsdWRlL3djaGFyLmgiIDMgNAo+Pj4gdHlwZWRlZiBzdHJ1Y3QKPj4+IHsKPj4+ICAg
aW50IF9fY291bnQ7Cj4+PiAgIHVuaW9uCj4+PiAgIHsKPj4+Cj4+PiAgICAgdW5zaWduZWQgaW50
IF9fd2NoOwo+Pj4KPj4+Cj4+Pgo+Pj4gICAgIGNoYXIgX193Y2hiWzRdOwo+Pj4gICB9IF9fdmFs
dWU7Cj4+PiB9IF9fbWJzdGF0ZV90Owo+Pj4gIyAyMSAiL3Vzci9pbmNsdWRlL19HX2NvbmZpZy5o
IiAyIDMgNAo+Pj4gdHlwZWRlZiBzdHJ1Y3QKPj4+IHsKPj4+ICAgX19vZmZfdCBfX3BvczsKPj4+
ICAgX19tYnN0YXRlX3QgX19zdGF0ZTsKPj4+IH0gX0dfZnBvc190Owo+Pj4gdHlwZWRlZiBzdHJ1
Y3QKPj4+IHsKPj4+ICAgX19vZmY2NF90IF9fcG9zOwo+Pj4gICBfX21ic3RhdGVfdCBfX3N0YXRl
Owo+Pj4gfSBfR19mcG9zNjRfdDsKPj4+ICMgMzIgIi91c3IvaW5jbHVkZS9saWJpby5oIiAyIDMg
NAo+Pj4gIyA0OSAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2xpYi9n
Y2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9zdGRhcmcuaCIgMSAzIDQKPj4+ICMg
NDAgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGFyZy5o
IiAzIDQKPj4+IHR5cGVkZWYgX19idWlsdGluX3ZhX2xpc3QgX19nbnVjX3ZhX2xpc3Q7Cj4+PiAj
IDUwICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMiAzIDQKPj4+ICMgMTQ0ICIvdXNyL2luY2x1ZGUv
bGliaW8uaCIgMyA0Cj4+PiBzdHJ1Y3QgX0lPX2p1bXBfdDsgc3RydWN0IF9JT19GSUxFOwo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIHZvaWQgX0lPX2xvY2tfdDsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4gc3RydWN0IF9JT19tYXJrZXIgewo+Pj4gICBzdHJ1Y3QgX0lPX21hcmtlciAq
X25leHQ7Cj4+PiAgIHN0cnVjdCBfSU9fRklMRSAqX3NidWY7Cj4+Pgo+Pj4KPj4+Cj4+PiAgIGlu
dCBfcG9zOwo+Pj4gIyAxNzMgIi91c3IvaW5jbHVkZS9saWJpby5oIiAzIDQKPj4+IH07Cj4+Pgo+
Pj4KPj4+IGVudW0gX19jb2RlY3Z0X3Jlc3VsdAo+Pj4gewo+Pj4gICBfX2NvZGVjdnRfb2ssCj4+
PiAgIF9fY29kZWN2dF9wYXJ0aWFsLAo+Pj4gICBfX2NvZGVjdnRfZXJyb3IsCj4+PiAgIF9fY29k
ZWN2dF9ub2NvbnYKPj4+IH07Cj4+PiAjIDI0MSAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMgNAo+
Pj4gc3RydWN0IF9JT19GSUxFIHsKPj4+ICAgaW50IF9mbGFnczsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+
PiAgIGNoYXIqIF9JT19yZWFkX3B0cjsKPj4+ICAgY2hhciogX0lPX3JlYWRfZW5kOwo+Pj4gICBj
aGFyKiBfSU9fcmVhZF9iYXNlOwo+Pj4gICBjaGFyKiBfSU9fd3JpdGVfYmFzZTsKPj4+ICAgY2hh
ciogX0lPX3dyaXRlX3B0cjsKPj4+ICAgY2hhciogX0lPX3dyaXRlX2VuZDsKPj4+ICAgY2hhciog
X0lPX2J1Zl9iYXNlOwo+Pj4gICBjaGFyKiBfSU9fYnVmX2VuZDsKPj4+Cj4+PiAgIGNoYXIgKl9J
T19zYXZlX2Jhc2U7Cj4+PiAgIGNoYXIgKl9JT19iYWNrdXBfYmFzZTsKPj4+ICAgY2hhciAqX0lP
X3NhdmVfZW5kOwo+Pj4KPj4+ICAgc3RydWN0IF9JT19tYXJrZXIgKl9tYXJrZXJzOwo+Pj4KPj4+
ICAgc3RydWN0IF9JT19GSUxFICpfY2hhaW47Cj4+Pgo+Pj4gICBpbnQgX2ZpbGVubzsKPj4+Cj4+
Pgo+Pj4KPj4+ICAgaW50IF9mbGFnczI7Cj4+Pgo+Pj4gICBfX29mZl90IF9vbGRfb2Zmc2V0Owo+
Pj4KPj4+Cj4+Pgo+Pj4gICB1bnNpZ25lZCBzaG9ydCBfY3VyX2NvbHVtbjsKPj4+ICAgc2lnbmVk
IGNoYXIgX3Z0YWJsZV9vZmZzZXQ7Cj4+PiAgIGNoYXIgX3Nob3J0YnVmWzFdOwo+Pj4KPj4+Cj4+
Pgo+Pj4gICBfSU9fbG9ja190ICpfbG9jazsKPj4+ICMgMjg5ICIvdXNyL2luY2x1ZGUvbGliaW8u
aCIgMyA0Cj4+PiAgIF9fb2ZmNjRfdCBfb2Zmc2V0Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+ICAgdm9pZCAqX19wYWQxOwo+Pj4gICB2b2lkICpfX3BhZDI7Cj4+PiAgIHZvaWQgKl9f
cGFkMzsKPj4+ICAgdm9pZCAqX19wYWQ0Owo+Pj4KPj4+ICAgc2l6ZV90IF9fcGFkNTsKPj4+ICAg
aW50IF9tb2RlOwo+Pj4KPj4+ICAgY2hhciBfdW51c2VkMlsxNSAqIHNpemVvZiAoaW50KSAtIDQg
KiBzaXplb2YgKHZvaWQgKikgLSBzaXplb2YgKHNpemVfdCldOwo+Pj4KPj4+IH07Cj4+Pgo+Pj4K
Pj4+IHR5cGVkZWYgc3RydWN0IF9JT19GSUxFIF9JT19GSUxFOwo+Pj4KPj4+Cj4+PiBzdHJ1Y3Qg
X0lPX0ZJTEVfcGx1czsKPj4+Cj4+PiBleHRlcm4gc3RydWN0IF9JT19GSUxFX3BsdXMgX0lPXzJf
MV9zdGRpbl87Cj4+PiBleHRlcm4gc3RydWN0IF9JT19GSUxFX3BsdXMgX0lPXzJfMV9zdGRvdXRf
Owo+Pj4gZXh0ZXJuIHN0cnVjdCBfSU9fRklMRV9wbHVzIF9JT18yXzFfc3RkZXJyXzsKPj4+ICMg
MzMzICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cj4+PiB0eXBlZGVmIF9fc3NpemVfdCBfX2lv
X3JlYWRfZm4gKHZvaWQgKl9fY29va2llLCBjaGFyICpfX2J1Ziwgc2l6ZV90IF9fbmJ5dGVzKTsK
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIF9fc3NpemVfdCBfX2lvX3dy
aXRlX2ZuICh2b2lkICpfX2Nvb2tpZSwgY29uc3QgY2hhciAqX19idWYsCj4+PiAgICAgIHNpemVf
dCBfX24pOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgaW50IF9faW9f
c2Vla19mbiAodm9pZCAqX19jb29raWUsIF9fb2ZmNjRfdCAqX19wb3MsIGludCBfX3cpOwo+Pj4K
Pj4+Cj4+PiB0eXBlZGVmIGludCBfX2lvX2Nsb3NlX2ZuICh2b2lkICpfX2Nvb2tpZSk7Cj4+PiAj
IDM4NSAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBfX3VuZGVyZmxv
dyAoX0lPX0ZJTEUgKik7Cj4+PiBleHRlcm4gaW50IF9fdWZsb3cgKF9JT19GSUxFICopOwo+Pj4g
ZXh0ZXJuIGludCBfX292ZXJmbG93IChfSU9fRklMRSAqLCBpbnQpOwo+Pj4gIyA0MjkgIi91c3Iv
aW5jbHVkZS9saWJpby5oIiAzIDQKPj4+IGV4dGVybiBpbnQgX0lPX2dldGMgKF9JT19GSUxFICpf
X2ZwKTsKPj4+IGV4dGVybiBpbnQgX0lPX3B1dGMgKGludCBfX2MsIF9JT19GSUxFICpfX2ZwKTsK
Pj4+IGV4dGVybiBpbnQgX0lPX2Zlb2YgKF9JT19GSUxFICpfX2ZwKSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gZXh0ZXJuIGludCBfSU9fZmVycm9yIChfSU9f
RklMRSAqX19mcCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+
Cj4+PiBleHRlcm4gaW50IF9JT19wZWVrY19sb2NrZWQgKF9JT19GSUxFICpfX2ZwKTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgX0lPX2Zsb2NrZmlsZSAoX0lPX0ZJTEUgKikg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiB2b2lk
IF9JT19mdW5sb2NrZmlsZSAoX0lPX0ZJTEUgKikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiBpbnQgX0lPX2Z0cnlsb2NrZmlsZSAoX0lPX0ZJTEUg
KikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgNDU5ICIv
dXNyL2luY2x1ZGUvbGliaW8uaCIgMyA0Cj4+PiBleHRlcm4gaW50IF9JT192ZnNjYW5mIChfSU9f
RklMRSAqIF9fcmVzdHJpY3QsIGNvbnN0IGNoYXIgKiBfX3Jlc3RyaWN0LAo+Pj4gICAgX19nbnVj
X3ZhX2xpc3QsIGludCAqX19yZXN0cmljdCk7Cj4+PiBleHRlcm4gaW50IF9JT192ZnByaW50ZiAo
X0lPX0ZJTEUgKl9fcmVzdHJpY3QsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QsCj4+PiAgICAgX19n
bnVjX3ZhX2xpc3QpOwo+Pj4gZXh0ZXJuIF9fc3NpemVfdCBfSU9fcGFkbiAoX0lPX0ZJTEUgKiwg
aW50LCBfX3NzaXplX3QpOwo+Pj4gZXh0ZXJuIHNpemVfdCBfSU9fc2dldG4gKF9JT19GSUxFICos
IHZvaWQgKiwgc2l6ZV90KTsKPj4+Cj4+PiBleHRlcm4gX19vZmY2NF90IF9JT19zZWVrb2ZmIChf
SU9fRklMRSAqLCBfX29mZjY0X3QsIGludCwgaW50KTsKPj4+IGV4dGVybiBfX29mZjY0X3QgX0lP
X3NlZWtwb3MgKF9JT19GSUxFICosIF9fb2ZmNjRfdCwgaW50KTsKPj4+Cj4+PiBleHRlcm4gdm9p
ZCBfSU9fZnJlZV9iYWNrdXBfYXJlYSAoX0lPX0ZJTEUgKikgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgNzUgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAyIDMg
NAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgX19nbnVjX3ZhX2xpc3QgdmFfbGlzdDsKPj4+
ICMgOTAgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKPj4+IHR5cGVkZWYgX19vZmZfdCBvZmZf
dDsKPj4+ICMgMTAyICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4+PiB0eXBlZGVmIF9fc3Np
emVfdCBzc2l6ZV90Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgX0df
ZnBvc190IGZwb3NfdDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDE2NCAiL3Vzci9pbmNsdWRlL3N0
ZGlvLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9zdGRpb19saW0uaCIgMSAzIDQK
Pj4+ICMgMTY1ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+IGV4
dGVybiBzdHJ1Y3QgX0lPX0ZJTEUgKnN0ZGluOwo+Pj4gZXh0ZXJuIHN0cnVjdCBfSU9fRklMRSAq
c3Rkb3V0Owo+Pj4gZXh0ZXJuIHN0cnVjdCBfSU9fRklMRSAqc3RkZXJyOwo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgcmVtb3ZlIChjb25zdCBjaGFyICpfX2ZpbGVu
YW1lKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+IGV4
dGVybiBpbnQgcmVuYW1lIChjb25zdCBjaGFyICpfX29sZCwgY29uc3QgY2hhciAqX19uZXcpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIGludCByZW5hbWVhdCAoaW50IF9fb2xkZmQsIGNvbnN0IGNoYXIgKl9fb2xkLCBp
bnQgX19uZXdmZCwKPj4+ICAgICAgICBjb25zdCBjaGFyICpfX25ldykgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIEZJTEUgKnRtcGZpbGUgKHZvaWQpIDsKPj4+ICMgMjA5ICIvdXNyL2luY2x1
ZGUvc3RkaW8uaCIgMyA0Cj4+PiBleHRlcm4gY2hhciAqdG1wbmFtIChjaGFyICpfX3MpIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gY2hhciAqdG1wbmFtX3IgKGNoYXIgKl9fcykgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4+PiAjIDIyNyAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgi
IDMgNAo+Pj4gZXh0ZXJuIGNoYXIgKnRlbXBuYW0gKGNvbnN0IGNoYXIgKl9fZGlyLCBjb25zdCBj
aGFyICpfX3BmeCkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2NfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBmY2xvc2UgKEZJTEUgKl9fc3RyZWFtKTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGZmbHVzaCAoRklMRSAqX19zdHJlYW0pOwo+Pj4KPj4+
ICMgMjUyICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4+PiBleHRlcm4gaW50IGZmbHVzaF91
bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pOwo+Pj4gIyAyNjYgIi91c3IvaW5jbHVkZS9zdGRpby5o
IiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBGSUxFICpmb3BlbiAoY29u
c3QgY2hhciAqX19yZXN0cmljdCBfX2ZpbGVuYW1lLAo+Pj4gICAgICAgY29uc3QgY2hhciAqX19y
ZXN0cmljdCBfX21vZGVzKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIEZJTEUgKmZyZW9w
ZW4gKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19maWxlbmFtZSwKPj4+ICAgICAgICAgY29uc3Qg
Y2hhciAqX19yZXN0cmljdCBfX21vZGVzLAo+Pj4gICAgICAgICBGSUxFICpfX3Jlc3RyaWN0IF9f
c3RyZWFtKSA7Cj4+PiAjIDI5NSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+Pj4KPj4+ICMg
MzA2ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4+PiBleHRlcm4gRklMRSAqZmRvcGVuIChp
bnQgX19mZCwgY29uc3QgY2hhciAqX19tb2RlcykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSA7Cj4+PiAjIDMxOSAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+Pj4g
ZXh0ZXJuIEZJTEUgKmZtZW1vcGVuICh2b2lkICpfX3MsIHNpemVfdCBfX2xlbiwgY29uc3QgY2hh
ciAqX19tb2RlcykKPj4+ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIEZJTEUgKm9wZW5fbWVtc3RyZWFtIChjaGFy
ICoqX19idWZsb2MsIHNpemVfdCAqX19zaXplbG9jKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lk
IHNldGJ1ZiAoRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSwgY2hhciAqX19yZXN0cmljdCBfX2J1
ZikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4K
Pj4+IGV4dGVybiBpbnQgc2V0dmJ1ZiAoRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSwgY2hhciAq
X19yZXN0cmljdCBfX2J1ZiwKPj4+ICAgICAgIGludCBfX21vZGVzLCBzaXplX3QgX19uKSBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gdm9pZCBzZXRidWZmZXIgKEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0sIGNo
YXIgKl9fcmVzdHJpY3QgX19idWYsCj4+PiAgICAgICAgICBzaXplX3QgX19zaXplKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9p
ZCBzZXRsaW5lYnVmIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJu
IGludCBmcHJpbnRmIChGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtLAo+Pj4gICAgICAgY29uc3Qg
Y2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgLi4uKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRl
cm4gaW50IHByaW50ZiAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgLi4uKTsKPj4+
Cj4+PiBleHRlcm4gaW50IHNwcmludGYgKGNoYXIgKl9fcmVzdHJpY3QgX19zLAo+Pj4gICAgICAg
Y29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgLi4uKSBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB2ZnByaW50ZiAo
RklMRSAqX19yZXN0cmljdCBfX3MsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsCj4+
PiAgICAgICAgX19nbnVjX3ZhX2xpc3QgX19hcmcpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVy
biBpbnQgdnByaW50ZiAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgX19nbnVjX3Zh
X2xpc3QgX19hcmcpOwo+Pj4KPj4+IGV4dGVybiBpbnQgdnNwcmludGYgKGNoYXIgKl9fcmVzdHJp
Y3QgX19zLCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LAo+Pj4gICAgICAgIF9fZ251
Y192YV9saXN0IF9fYXJnKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18pKTsKPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzbnByaW50ZiAoY2hhciAqX19yZXN0cmljdCBfX3Ms
IHNpemVfdCBfX21heGxlbiwKPj4+ICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9y
bWF0LCAuLi4pCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXykpIF9fYXR0cmli
dXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAzLCA0KSkpOwo+Pj4KPj4+IGV4dGVybiBp
bnQgdnNucHJpbnRmIChjaGFyICpfX3Jlc3RyaWN0IF9fcywgc2l6ZV90IF9fbWF4bGVuLAo+Pj4g
ICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCBfX2dudWNfdmFfbGlzdCBf
X2FyZykKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMsIDApKSk7Cj4+Pgo+Pj4gIyA0MTIgIi91c3Iv
aW5jbHVkZS9zdGRpby5oIiAzIDQKPj4+IGV4dGVybiBpbnQgdmRwcmludGYgKGludCBfX2ZkLCBj
b25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm10LAo+Pj4gICAgICAgIF9fZ251Y192YV9saXN0IF9f
YXJnKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwg
MCkpKTsKPj4+IGV4dGVybiBpbnQgZHByaW50ZiAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fcmVz
dHJpY3QgX19mbXQsIC4uLikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9f
cHJpbnRmX18sIDIsIDMpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4
dGVybiBpbnQgZnNjYW5mIChGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtLAo+Pj4gICAgICBjb25z
dCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCAuLi4pIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBl
eHRlcm4gaW50IHNjYW5mIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCAuLi4pIDsK
Pj4+Cj4+PiBleHRlcm4gaW50IHNzY2FuZiAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3MsCj4+
PiAgICAgIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIC4uLikgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgNDQzICIvdXNyL2luY2x1ZGUvc3Rk
aW8uaCIgMyA0Cj4+PiBleHRlcm4gaW50IGZzY2FuZiAoRklMRSAqX19yZXN0cmljdCBfX3N0cmVh
bSwgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgLi4uKSBfX2FzbV9fICgiIiAiX19p
c29jOTlfZnNjYW5mIikKPj4+Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwo+
Pj4gZXh0ZXJuIGludCBzY2FuZiAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgLi4u
KSBfX2FzbV9fICgiIiAiX19pc29jOTlfc2NhbmYiKQo+Pj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOwo+Pj4gZXh0ZXJuIGludCBzc2NhbmYgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3Qg
X19zLCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCAuLi4pIF9fYXNtX18gKCIiICJf
X2lzb2M5OV9zc2NhbmYiKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Cj4+Pgo+Pj4gICAgICAgICAgICAgICAgICAgICAgIDsKPj4+ICMgNDYzICIvdXNyL2luY2x1ZGUv
c3RkaW8uaCIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBp
bnQgdmZzY2FuZiAoRklMRSAqX19yZXN0cmljdCBfX3MsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3Qg
X19mb3JtYXQsCj4+PiAgICAgICBfX2dudWNfdmFfbGlzdCBfX2FyZykKPj4+ICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fc2NhbmZfXywgMiwgMCkpKSA7Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+IGV4dGVybiBpbnQgdnNjYW5mIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9y
bWF0LCBfX2dudWNfdmFfbGlzdCBfX2FyZykKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9y
bWF0X18gKF9fc2NhbmZfXywgMSwgMCkpKSA7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgdnNzY2Fu
ZiAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3MsCj4+PiAgICAgICBjb25zdCBjaGFyICpfX3Jl
c3RyaWN0IF9fZm9ybWF0LCBfX2dudWNfdmFfbGlzdCBfX2FyZykKPj4+ICAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRf
XyAoX19zY2FuZl9fLCAyLCAwKSkpOwo+Pj4gIyA0OTQgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAz
IDQKPj4+IGV4dGVybiBpbnQgdmZzY2FuZiAoRklMRSAqX19yZXN0cmljdCBfX3MsIGNvbnN0IGNo
YXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIF9fZ251Y192YV9saXN0IF9fYXJnKSBfX2FzbV9fICgi
IiAiX19pc29jOTlfdmZzY2FuZiIpCj4+Pgo+Pj4KPj4+Cj4+PiAgICAgIF9fYXR0cmlidXRlX18g
KChfX2Zvcm1hdF9fIChfX3NjYW5mX18sIDIsIDApKSkgOwo+Pj4gZXh0ZXJuIGludCB2c2NhbmYg
KGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIF9fZ251Y192YV9saXN0IF9fYXJnKSBf
X2FzbV9fICgiIiAiX19pc29jOTlfdnNjYW5mIikKPj4+Cj4+PiAgICAgIF9fYXR0cmlidXRlX18g
KChfX2Zvcm1hdF9fIChfX3NjYW5mX18sIDEsIDApKSkgOwo+Pj4gZXh0ZXJuIGludCB2c3NjYW5m
IChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcywgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zv
cm1hdCwgX19nbnVjX3ZhX2xpc3QgX19hcmcpIF9fYXNtX18gKCIiICJfX2lzb2M5OV92c3NjYW5m
IikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKQo+Pj4KPj4+Cj4+Pgo+
Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19zY2FuZl9fLCAyLCAwKSkpOwo+
Pj4gIyA1MjIgIi91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgZmdldGMgKEZJTEUgKl9fc3RyZWFtKTsKPj4+
IGV4dGVybiBpbnQgZ2V0YyAoRklMRSAqX19zdHJlYW0pOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
PiBleHRlcm4gaW50IGdldGNoYXIgKHZvaWQpOwo+Pj4KPj4+ICMgNTUwICIvdXNyL2luY2x1ZGUv
c3RkaW8uaCIgMyA0Cj4+PiBleHRlcm4gaW50IGdldGNfdW5sb2NrZWQgKEZJTEUgKl9fc3RyZWFt
KTsKPj4+IGV4dGVybiBpbnQgZ2V0Y2hhcl91bmxvY2tlZCAodm9pZCk7Cj4+PiAjIDU2MSAiL3Vz
ci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBmZ2V0Y191bmxvY2tlZCAoRklM
RSAqX19zdHJlYW0pOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gaW50IGZwdXRjIChpbnQgX19jLCBGSUxFICpfX3N0cmVhbSk7Cj4+PiBleHRl
cm4gaW50IHB1dGMgKGludCBfX2MsIEZJTEUgKl9fc3RyZWFtKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIGludCBwdXRjaGFyIChpbnQgX19jKTsKPj4+Cj4+PiAjIDU5NCAiL3Vzci9p
bmNsdWRlL3N0ZGlvLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBmcHV0Y191bmxvY2tlZCAoaW50IF9f
YywgRklMRSAqX19zdHJlYW0pOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVy
biBpbnQgcHV0Y191bmxvY2tlZCAoaW50IF9fYywgRklMRSAqX19zdHJlYW0pOwo+Pj4gZXh0ZXJu
IGludCBwdXRjaGFyX3VubG9ja2VkIChpbnQgX19jKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+IGV4dGVybiBpbnQgZ2V0dyAoRklMRSAqX19zdHJlYW0pOwo+Pj4KPj4+Cj4+PiBleHRlcm4g
aW50IHB1dHcgKGludCBfX3csIEZJTEUgKl9fc3RyZWFtKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGNoYXIgKmZnZXRzIChjaGFyICpfX3Jlc3RyaWN0IF9fcywg
aW50IF9fbiwgRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSkKPj4+ICAgICAgOwo+Pj4gIyA2NDAg
Ii91c3IvaW5jbHVkZS9zdGRpby5oIiAzIDQKPj4+Cj4+PiAjIDY2NSAiL3Vzci9pbmNsdWRlL3N0
ZGlvLmgiIDMgNAo+Pj4gZXh0ZXJuIF9fc3NpemVfdCBfX2dldGRlbGltIChjaGFyICoqX19yZXN0
cmljdCBfX2xpbmVwdHIsCj4+PiAgICAgICAgICAgc2l6ZV90ICpfX3Jlc3RyaWN0IF9fbiwgaW50
IF9fZGVsaW1pdGVyLAo+Pj4gICAgICAgICAgIEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0pIDsK
Pj4+IGV4dGVybiBfX3NzaXplX3QgZ2V0ZGVsaW0gKGNoYXIgKipfX3Jlc3RyaWN0IF9fbGluZXB0
ciwKPj4+ICAgICAgICAgc2l6ZV90ICpfX3Jlc3RyaWN0IF9fbiwgaW50IF9fZGVsaW1pdGVyLAo+
Pj4gICAgICAgICBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIF9fc3NpemVfdCBnZXRsaW5lIChjaGFyICoqX19yZXN0cmlj
dCBfX2xpbmVwdHIsCj4+PiAgICAgICAgc2l6ZV90ICpfX3Jlc3RyaWN0IF9fbiwKPj4+ICAgICAg
ICBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+IGV4dGVybiBpbnQgZnB1dHMgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zLCBG
SUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJu
IGludCBwdXRzIChjb25zdCBjaGFyICpfX3MpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4g
ZXh0ZXJuIGludCB1bmdldGMgKGludCBfX2MsIEZJTEUgKl9fc3RyZWFtKTsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzaXplX3QgZnJlYWQgKHZvaWQgKl9fcmVzdHJpY3QgX19w
dHIsIHNpemVfdCBfX3NpemUsCj4+PiAgICAgICAgc2l6ZV90IF9fbiwgRklMRSAqX19yZXN0cmlj
dCBfX3N0cmVhbSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzaXplX3QgZndyaXRlIChj
b25zdCB2b2lkICpfX3Jlc3RyaWN0IF9fcHRyLCBzaXplX3QgX19zaXplLAo+Pj4gICAgICAgICBz
aXplX3QgX19uLCBGSUxFICpfX3Jlc3RyaWN0IF9fcyk7Cj4+Pgo+Pj4gIyA3MzcgIi91c3IvaW5j
bHVkZS9zdGRpby5oIiAzIDQKPj4+IGV4dGVybiBzaXplX3QgZnJlYWRfdW5sb2NrZWQgKHZvaWQg
Kl9fcmVzdHJpY3QgX19wdHIsIHNpemVfdCBfX3NpemUsCj4+PiAgICAgICAgICBzaXplX3QgX19u
LCBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKSA7Cj4+PiBleHRlcm4gc2l6ZV90IGZ3cml0ZV91
bmxvY2tlZCAoY29uc3Qgdm9pZCAqX19yZXN0cmljdCBfX3B0ciwgc2l6ZV90IF9fc2l6ZSwKPj4+
ICAgICAgICAgICBzaXplX3QgX19uLCBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBmc2VlayAoRklMRSAqX19z
dHJlYW0sIGxvbmcgaW50IF9fb2ZmLCBpbnQgX193aGVuY2UpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
IGV4dGVybiBsb25nIGludCBmdGVsbCAoRklMRSAqX19zdHJlYW0pIDsKPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gdm9pZCByZXdpbmQgKEZJTEUgKl9fc3RyZWFtKTsKPj4+Cj4+PiAjIDc3MyAi
L3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBmc2Vla28gKEZJTEUgKl9f
c3RyZWFtLCBfX29mZl90IF9fb2ZmLCBpbnQgX193aGVuY2UpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
IGV4dGVybiBfX29mZl90IGZ0ZWxsbyAoRklMRSAqX19zdHJlYW0pIDsKPj4+ICMgNzkyICIvdXNy
L2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4g
aW50IGZnZXRwb3MgKEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0sIGZwb3NfdCAqX19yZXN0cmlj
dCBfX3Bvcyk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBmc2V0cG9zIChGSUxFICpf
X3N0cmVhbSwgY29uc3QgZnBvc190ICpfX3Bvcyk7Cj4+PiAjIDgxNSAiL3Vzci9pbmNsdWRlL3N0
ZGlvLmgiIDMgNAo+Pj4KPj4+ICMgODI0ICIvdXNyL2luY2x1ZGUvc3RkaW8uaCIgMyA0Cj4+Pgo+
Pj4KPj4+IGV4dGVybiB2b2lkIGNsZWFyZXJyIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+PiBleHRlcm4gaW50IGZlb2YgKEZJ
TEUgKl9fc3RyZWFtKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIDsK
Pj4+Cj4+PiBleHRlcm4gaW50IGZlcnJvciAoRklMRSAqX19zdHJlYW0pIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2
b2lkIGNsZWFyZXJyX3VubG9ja2VkIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiBpbnQgZmVvZl91bmxvY2tlZCAoRklM
RSAqX19zdHJlYW0pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+
Pj4gZXh0ZXJuIGludCBmZXJyb3JfdW5sb2NrZWQgKEZJTEUgKl9fc3RyZWFtKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgcGVycm9yIChjb25zdCBjaGFyICpfX3MpOwo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9zeXNfZXJybGlzdC5o
IiAxIDMgNAo+Pj4gIyAyNiAiL3Vzci9pbmNsdWRlL2JpdHMvc3lzX2Vycmxpc3QuaCIgMyA0Cj4+
PiBleHRlcm4gaW50IHN5c19uZXJyOwo+Pj4gZXh0ZXJuIGNvbnN0IGNoYXIgKmNvbnN0IHN5c19l
cnJsaXN0W107Cj4+PiAjIDg1NCAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDIgMyA0Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBmaWxlbm8gKEZJTEUgKl9fc3RyZWFtKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRl
cm4gaW50IGZpbGVub191bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4gIyA4NzIgIi91c3IvaW5jbHVkZS9zdGRpby5o
IiAzIDQKPj4+IGV4dGVybiBGSUxFICpwb3BlbiAoY29uc3QgY2hhciAqX19jb21tYW5kLCBjb25z
dCBjaGFyICpfX21vZGVzKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgcGNs
b3NlIChGSUxFICpfX3N0cmVhbSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBjaGFy
ICpjdGVybWlkIChjaGFyICpfX3MpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4+PiAjIDkxMiAiL3Vzci9pbmNsdWRlL3N0ZGlvLmgiIDMgNAo+Pj4gZXh0ZXJuIHZv
aWQgZmxvY2tmaWxlIChGSUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgZnRyeWxvY2tmaWxlIChG
SUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7
Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkIGZ1bmxvY2tmaWxlIChGSUxFICpfX3N0cmVhbSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgOTQyICIvdXNyL2lu
Y2x1ZGUvc3RkaW8uaCIgMyA0Cj4+Pgo+Pj4gIyA0MCAibWFjaGluZS5jIiAyCj4+PiAjIDEgIi91
c3IvaW5jbHVkZS9zdGRsaWIuaCIgMSAzIDQKPj4+ICMgMzIgIi91c3IvaW5jbHVkZS9zdGRsaWIu
aCIgMyA0Cj4+PiAjIDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNs
dWRlL3N0ZGRlZi5oIiAxIDMgNAo+Pj4gIyAzMjggIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1s
aW51eC82LjEuMS9pbmNsdWRlL3N0ZGRlZi5oIiAzIDQKPj4+IHR5cGVkZWYgbG9uZyBpbnQgd2No
YXJfdDsKPj4+ICMgMzMgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy93YWl0ZmxhZ3Mu
aCIgMSAzIDQKPj4+ICMgNDIgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMiAzIDQKPj4+ICMgMSAi
L3Vzci9pbmNsdWRlL2JpdHMvd2FpdHN0YXR1cy5oIiAxIDMgNAo+Pj4gIyA2NCAiL3Vzci9pbmNs
dWRlL2JpdHMvd2FpdHN0YXR1cy5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2VuZGlhbi5o
IiAxIDMgNAo+Pj4gIyAzNiAiL3Vzci9pbmNsdWRlL2VuZGlhbi5oIiAzIDQKPj4+ICMgMSAiL3Vz
ci9pbmNsdWRlL2JpdHMvZW5kaWFuLmgiIDEgMyA0Cj4+PiAjIDM3ICIvdXNyL2luY2x1ZGUvZW5k
aWFuLmgiIDIgMyA0Cj4+PiAjIDYwICIvdXNyL2luY2x1ZGUvZW5kaWFuLmgiIDMgNAo+Pj4gIyAx
ICIvdXNyL2luY2x1ZGUvYml0cy9ieXRlc3dhcC5oIiAxIDMgNAo+Pj4gIyAyOCAiL3Vzci9pbmNs
dWRlL2JpdHMvYnl0ZXN3YXAuaCIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3dvcmRz
aXplLmgiIDEgMyA0Cj4+PiAjIDI5ICIvdXNyL2luY2x1ZGUvYml0cy9ieXRlc3dhcC5oIiAyIDMg
NAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9ieXRl
c3dhcC0xNi5oIiAxIDMgNAo+Pj4gIyAzNiAiL3Vzci9pbmNsdWRlL2JpdHMvYnl0ZXN3YXAuaCIg
MiAzIDQKPj4+ICMgNDQgIi91c3IvaW5jbHVkZS9iaXRzL2J5dGVzd2FwLmgiIDMgNAo+Pj4gc3Rh
dGljIF9faW5saW5lIHVuc2lnbmVkIGludAo+Pj4gX19ic3dhcF8zMiAodW5zaWduZWQgaW50IF9f
YnN4KQo+Pj4gewo+Pj4gICByZXR1cm4gX19idWlsdGluX2Jzd2FwMzIgKF9fYnN4KTsKPj4+IH0K
Pj4+ICMgMTA4ICIvdXNyL2luY2x1ZGUvYml0cy9ieXRlc3dhcC5oIiAzIDQKPj4+IHN0YXRpYyBf
X2lubGluZSBfX3VpbnQ2NF90Cj4+PiBfX2Jzd2FwXzY0IChfX3VpbnQ2NF90IF9fYnN4KQo+Pj4g
ewo+Pj4gICByZXR1cm4gX19idWlsdGluX2Jzd2FwNjQgKF9fYnN4KTsKPj4+IH0KPj4+ICMgNjEg
Ii91c3IvaW5jbHVkZS9lbmRpYW4uaCIgMiAzIDQKPj4+ICMgNjUgIi91c3IvaW5jbHVkZS9iaXRz
L3dhaXRzdGF0dXMuaCIgMiAzIDQKPj4+Cj4+PiB1bmlvbiB3YWl0Cj4+PiAgIHsKPj4+ICAgICBp
bnQgd19zdGF0dXM7Cj4+PiAgICAgc3RydWN0Cj4+PiAgICAgICB7Cj4+Pgo+Pj4gIHVuc2lnbmVk
IGludCBfX3dfdGVybXNpZzo3Owo+Pj4gIHVuc2lnbmVkIGludCBfX3dfY29yZWR1bXA6MTsKPj4+
ICB1bnNpZ25lZCBpbnQgX193X3JldGNvZGU6ODsKPj4+ICB1bnNpZ25lZCBpbnQ6MTY7Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gICAgICAgfSBfX3dhaXRfdGVybWluYXRlZDsKPj4+
ICAgICBzdHJ1Y3QKPj4+ICAgICAgIHsKPj4+Cj4+PiAgdW5zaWduZWQgaW50IF9fd19zdG9wdmFs
Ojg7Cj4+PiAgdW5zaWduZWQgaW50IF9fd19zdG9wc2lnOjg7Cj4+PiAgdW5zaWduZWQgaW50OjE2
Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gICAgICAgfSBfX3dhaXRfc3RvcHBlZDsKPj4+
ICAgfTsKPj4+ICMgNDMgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMiAzIDQKPj4+ICMgNjcgIi91
c3IvaW5jbHVkZS9zdGRsaWIuaCIgMyA0Cj4+PiB0eXBlZGVmIHVuaW9uCj4+PiAgIHsKPj4+ICAg
ICB1bmlvbiB3YWl0ICpfX3VwdHI7Cj4+PiAgICAgaW50ICpfX2lwdHI7Cj4+PiAgIH0gX19XQUlU
X1NUQVRVUyBfX2F0dHJpYnV0ZV9fICgoX190cmFuc3BhcmVudF91bmlvbl9fKSk7Cj4+PiAjIDk1
ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+Pj4KPj4+Cj4+PiB0eXBlZGVmIHN0cnVjdAo+
Pj4gICB7Cj4+PiAgICAgaW50IHF1b3Q7Cj4+PiAgICAgaW50IHJlbTsKPj4+ICAgfSBkaXZfdDsK
Pj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgc3RydWN0Cj4+PiAgIHsKPj4+ICAgICBsb25nIGludCBx
dW90Owo+Pj4gICAgIGxvbmcgaW50IHJlbTsKPj4+ICAgfSBsZGl2X3Q7Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4gX19leHRlbnNpb25fXyB0eXBlZGVmIHN0cnVjdAo+Pj4gICB7Cj4+
PiAgICAgbG9uZyBsb25nIGludCBxdW90Owo+Pj4gICAgIGxvbmcgbG9uZyBpbnQgcmVtOwo+Pj4g
ICB9IGxsZGl2X3Q7Cj4+Pgo+Pj4KPj4+ICMgMTM5ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMg
NAo+Pj4gZXh0ZXJuIHNpemVfdCBfX2N0eXBlX2dldF9tYl9jdXJfbWF4ICh2b2lkKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBl
eHRlcm4gZG91YmxlIGF0b2YgKGNvbnN0IGNoYXIgKl9fbnB0cikKPj4+ICAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+Pj4KPj4+IGV4dGVybiBpbnQg
YXRvaSAoY29uc3QgY2hhciAqX19ucHRyKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRl
X18gKChfX25vbm51bGxfXyAoMSkpKSA7Cj4+Pgo+Pj4gZXh0ZXJuIGxvbmcgaW50IGF0b2wgKGNv
bnN0IGNoYXIgKl9fbnB0cikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDEpKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBfX2V4dGVuc2lvbl9fIGV4
dGVybiBsb25nIGxvbmcgaW50IGF0b2xsIChjb25zdCBjaGFyICpfX25wdHIpCj4+PiAgICAgIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9f
cHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpIDsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4gZXh0ZXJuIGRvdWJsZSBzdHJ0b2QgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3Qg
X19ucHRyLAo+Pj4gICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0cikKPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBmbG9hdCBz
dHJ0b2YgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAo+Pj4gICAgICAgIGNoYXIgKipf
X3Jlc3RyaWN0IF9fZW5kcHRyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+PiBleHRlcm4gbG9u
ZyBkb3VibGUgc3RydG9sZCAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCj4+PiAgICAg
ICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkp
Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gbG9uZyBpbnQgc3RydG9sIChjb25zdCBj
aGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKPj4+ICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRy
LCBpbnQgX19iYXNlKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+PiBleHRlcm4g
dW5zaWduZWQgbG9uZyBpbnQgc3RydG91bCAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIs
Cj4+PiAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwgaW50IF9fYmFzZSkKPj4+ICAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gX19leHRlbnNpb25fXwo+
Pj4gZXh0ZXJuIGxvbmcgbG9uZyBpbnQgc3RydG9xIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9f
bnB0ciwKPj4+ICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2Up
Cj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+IF9fZXh0ZW5zaW9uX18KPj4+IGV4
dGVybiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHN0cnRvdXEgKGNvbnN0IGNoYXIgKl9fcmVzdHJp
Y3QgX19ucHRyLAo+Pj4gICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwgaW50
IF9fYmFzZSkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+IF9fZXh0ZW5zaW9uX18KPj4+IGV4dGVybiBsb25nIGxvbmcgaW50IHN0cnRvbGwgKGNvbnN0
IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAo+Pj4gICAgICAgICAgY2hhciAqKl9fcmVzdHJpY3Qg
X19lbmRwdHIsIGludCBfX2Jhc2UpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+
IF9fZXh0ZW5zaW9uX18KPj4+IGV4dGVybiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHN0cnRvdWxs
IChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKPj4+ICAgICAgY2hhciAqKl9fcmVzdHJp
Y3QgX19lbmRwdHIsIGludCBfX2Jhc2UpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4K
Pj4+ICMgMzA1ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+Pj4gZXh0ZXJuIGNoYXIgKmw2
NGEgKGxvbmcgaW50IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSA7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBsb25nIGludCBhNjRsIChjb25zdCBjaGFyICpfX3MpCj4+
PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpIDsKPj4+
Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMSAzIDQKPj4+
ICMgMjcgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+PiB0eXBlZGVmIF9fdV9jaGFyIHVfY2hhcjsKPj4+IHR5cGVkZWYgX191X3Nob3J0IHVf
c2hvcnQ7Cj4+PiB0eXBlZGVmIF9fdV9pbnQgdV9pbnQ7Cj4+PiB0eXBlZGVmIF9fdV9sb25nIHVf
bG9uZzsKPj4+IHR5cGVkZWYgX19xdWFkX3QgcXVhZF90Owo+Pj4gdHlwZWRlZiBfX3VfcXVhZF90
IHVfcXVhZF90Owo+Pj4gdHlwZWRlZiBfX2ZzaWRfdCBmc2lkX3Q7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gdHlwZWRlZiBfX2xvZmZfdCBsb2ZmX3Q7Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIF9faW5v
X3QgaW5vX3Q7Cj4+PiAjIDYwICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMgNAo+Pj4gdHlw
ZWRlZiBfX2Rldl90IGRldl90Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgX19naWRfdCBn
aWRfdDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIF9fbW9kZV90IG1vZGVfdDsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIF9fbmxpbmtfdCBubGlua190Owo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+IHR5cGVkZWYgX191aWRfdCB1aWRfdDsKPj4+ICMgOTggIi91c3IvaW5jbHVkZS9zeXMvdHlw
ZXMuaCIgMyA0Cj4+PiB0eXBlZGVmIF9fcGlkX3QgcGlkX3Q7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+IHR5cGVkZWYgX19pZF90IGlkX3Q7Cj4+PiAjIDExNSAiL3Vzci9pbmNsdWRlL3N5cy90eXBl
cy5oIiAzIDQKPj4+IHR5cGVkZWYgX19kYWRkcl90IGRhZGRyX3Q7Cj4+PiB0eXBlZGVmIF9fY2Fk
ZHJfdCBjYWRkcl90Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIF9fa2V5X3Qga2V5
X3Q7Cj4+PiAjIDEzMiAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKPj4+ICMgMSAiL3Vz
ci9pbmNsdWRlL3RpbWUuaCIgMSAzIDQKPj4+ICMgNTcgIi91c3IvaW5jbHVkZS90aW1lLmgiIDMg
NAo+Pj4KPj4+Cj4+PiB0eXBlZGVmIF9fY2xvY2tfdCBjbG9ja190Owo+Pj4KPj4+Cj4+Pgo+Pj4g
IyA3MyAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMyA0Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgX190aW1l
X3QgdGltZV90Owo+Pj4KPj4+Cj4+Pgo+Pj4gIyA5MSAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMyA0
Cj4+PiB0eXBlZGVmIF9fY2xvY2tpZF90IGNsb2NraWRfdDsKPj4+ICMgMTAzICIvdXNyL2luY2x1
ZGUvdGltZS5oIiAzIDQKPj4+IHR5cGVkZWYgX190aW1lcl90IHRpbWVyX3Q7Cj4+PiAjIDEzMyAi
L3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAyIDMgNAo+Pj4gIyAxNDYgIi91c3IvaW5jbHVkZS9z
eXMvdHlwZXMuaCIgMyA0Cj4+PiAjIDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82
LjEuMS9pbmNsdWRlL3N0ZGRlZi5oIiAxIDMgNAo+Pj4gIyAxNDcgIi91c3IvaW5jbHVkZS9zeXMv
dHlwZXMuaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQg
dWxvbmc7Cj4+PiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGludCB1c2hvcnQ7Cj4+PiB0eXBlZGVm
IHVuc2lnbmVkIGludCB1aW50Owo+Pj4gIyAxOTQgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIg
MyA0Cj4+PiB0eXBlZGVmIGludCBpbnQ4X3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9fIChfX1FJ
X18pKSk7Cj4+PiB0eXBlZGVmIGludCBpbnQxNl90IF9fYXR0cmlidXRlX18gKChfX21vZGVfXyAo
X19ISV9fKSkpOwo+Pj4gdHlwZWRlZiBpbnQgaW50MzJfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2Rl
X18gKF9fU0lfXykpKTsKPj4+IHR5cGVkZWYgaW50IGludDY0X3QgX19hdHRyaWJ1dGVfXyAoKF9f
bW9kZV9fIChfX0RJX18pKSk7Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IHVfaW50
OF90IF9fYXR0cmlidXRlX18gKChfX21vZGVfXyAoX19RSV9fKSkpOwo+Pj4gdHlwZWRlZiB1bnNp
Z25lZCBpbnQgdV9pbnQxNl90IF9fYXR0cmlidXRlX18gKChfX21vZGVfXyAoX19ISV9fKSkpOwo+
Pj4gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdV9pbnQzMl90IF9fYXR0cmlidXRlX18gKChfX21vZGVf
XyAoX19TSV9fKSkpOwo+Pj4gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdV9pbnQ2NF90IF9fYXR0cmli
dXRlX18gKChfX21vZGVfXyAoX19ESV9fKSkpOwo+Pj4KPj4+IHR5cGVkZWYgaW50IHJlZ2lzdGVy
X3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9fIChfX3dvcmRfXykpKTsKPj4+ICMgMjE5ICIvdXNy
L2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVj
dC5oIiAxIDMgNAo+Pj4gIyAzMCAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMyA0Cj4+PiAj
IDEgIi91c3IvaW5jbHVkZS9iaXRzL3NlbGVjdC5oIiAxIDMgNAo+Pj4gIyAyMiAiL3Vzci9pbmNs
dWRlL2JpdHMvc2VsZWN0LmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy93b3Jkc2l6
ZS5oIiAxIDMgNAo+Pj4gIyAyMyAiL3Vzci9pbmNsdWRlL2JpdHMvc2VsZWN0LmgiIDIgMyA0Cj4+
PiAjIDMxICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAyIDMgNAo+Pj4KPj4+Cj4+PiAjIDEg
Ii91c3IvaW5jbHVkZS9iaXRzL3NpZ3NldC5oIiAxIDMgNAo+Pj4gIyAyMiAiL3Vzci9pbmNsdWRl
L2JpdHMvc2lnc2V0LmgiIDMgNAo+Pj4gdHlwZWRlZiBpbnQgX19zaWdfYXRvbWljX3Q7Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4gdHlwZWRlZiBzdHJ1Y3QKPj4+ICAgewo+Pj4gICAgIHVuc2lnbmVkIGxv
bmcgaW50IF9fdmFsWygxMDI0IC8gKDggKiBzaXplb2YgKHVuc2lnbmVkIGxvbmcgaW50KSkpXTsK
Pj4+ICAgfSBfX3NpZ3NldF90Owo+Pj4gIyAzNCAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIg
MiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgX19zaWdzZXRfdCBzaWdzZXRfdDsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvdGltZS5oIiAxIDMgNAo+Pj4gIyAx
MjAgIi91c3IvaW5jbHVkZS90aW1lLmgiIDMgNAo+Pj4gc3RydWN0IHRpbWVzcGVjCj4+PiAgIHsK
Pj4+ICAgICBfX3RpbWVfdCB0dl9zZWM7Cj4+PiAgICAgX19zeXNjYWxsX3Nsb25nX3QgdHZfbnNl
YzsKPj4+ICAgfTsKPj4+ICMgNDQgIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0LmgiIDIgMyA0Cj4+
Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy90aW1lLmgiIDEgMyA0Cj4+PiAjIDMwICIvdXNy
L2luY2x1ZGUvYml0cy90aW1lLmgiIDMgNAo+Pj4gc3RydWN0IHRpbWV2YWwKPj4+ICAgewo+Pj4g
ICAgIF9fdGltZV90IHR2X3NlYzsKPj4+ICAgICBfX3N1c2Vjb25kc190IHR2X3VzZWM7Cj4+PiAg
IH07Cj4+PiAjIDQ2ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAyIDMgNAo+Pj4KPj4+Cj4+
PiB0eXBlZGVmIF9fc3VzZWNvbmRzX3Qgc3VzZWNvbmRzX3Q7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+IHR5cGVkZWYgbG9uZyBpbnQgX19mZF9tYXNrOwo+Pj4gIyA2NCAiL3Vzci9pbmNsdWRlL3N5
cy9zZWxlY3QuaCIgMyA0Cj4+PiB0eXBlZGVmIHN0cnVjdAo+Pj4gICB7Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiAgICAgX19mZF9tYXNrIF9fZmRzX2JpdHNbMTAyNCAvICg4ICogKGludCkg
c2l6ZW9mIChfX2ZkX21hc2spKV07Cj4+Pgo+Pj4KPj4+ICAgfSBmZF9zZXQ7Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIF9fZmRfbWFzayBmZF9tYXNrOwo+Pj4gIyA5NiAiL3Vz
ci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMyA0Cj4+Pgo+Pj4gIyAxMDYgIi91c3IvaW5jbHVkZS9z
eXMvc2VsZWN0LmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBzZWxlY3QgKGludCBfX25mZHMsIGZkX3Nl
dCAqX19yZXN0cmljdCBfX3JlYWRmZHMsCj4+PiAgICAgIGZkX3NldCAqX19yZXN0cmljdCBfX3dy
aXRlZmRzLAo+Pj4gICAgICBmZF9zZXQgKl9fcmVzdHJpY3QgX19leGNlcHRmZHMsCj4+PiAgICAg
IHN0cnVjdCB0aW1ldmFsICpfX3Jlc3RyaWN0IF9fdGltZW91dCk7Cj4+PiAjIDExOCAiL3Vzci9p
bmNsdWRlL3N5cy9zZWxlY3QuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHBzZWxlY3QgKGludCBfX25m
ZHMsIGZkX3NldCAqX19yZXN0cmljdCBfX3JlYWRmZHMsCj4+PiAgICAgICBmZF9zZXQgKl9fcmVz
dHJpY3QgX193cml0ZWZkcywKPj4+ICAgICAgIGZkX3NldCAqX19yZXN0cmljdCBfX2V4Y2VwdGZk
cywKPj4+ICAgICAgIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyAqX19yZXN0cmljdCBfX3RpbWVvdXQs
Cj4+PiAgICAgICBjb25zdCBfX3NpZ3NldF90ICpfX3Jlc3RyaWN0IF9fc2lnbWFzayk7Cj4+PiAj
IDEzMSAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMyA0Cj4+Pgo+Pj4gIyAyMjAgIi91c3Iv
aW5jbHVkZS9zeXMvdHlwZXMuaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUv
c3lzL3N5c21hY3Jvcy5oIiAxIDMgNAo+Pj4gIyAyNCAiL3Vzci9pbmNsdWRlL3N5cy9zeXNtYWNy
b3MuaCIgMyA0Cj4+Pgo+Pj4KPj4+IF9fZXh0ZW5zaW9uX18KPj4+IGV4dGVybiB1bnNpZ25lZCBp
bnQgZ251X2Rldl9tYWpvciAodW5zaWduZWQgbG9uZyBsb25nIGludCBfX2RldikKPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19jb25zdF9fKSk7Cj4+PiBfX2V4dGVuc2lvbl9fCj4+PiBleHRlcm4gdW5zaWduZWQgaW50IGdu
dV9kZXZfbWlub3IgKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX19kZXYpCj4+PiAgICAgIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fY29u
c3RfXykpOwo+Pj4gX19leHRlbnNpb25fXwo+Pj4gZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBp
bnQgZ251X2Rldl9tYWtlZGV2ICh1bnNpZ25lZCBpbnQgX19tYWpvciwKPj4+ICAgICAgICAgICAg
IHVuc2lnbmVkIGludCBfX21pbm9yKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsKPj4+ICMgNTggIi91
c3IvaW5jbHVkZS9zeXMvc3lzbWFjcm9zLmgiIDMgNAo+Pj4KPj4+ICMgMjIzICIvdXNyL2luY2x1
ZGUvc3lzL3R5cGVzLmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgX19i
bGtzaXplX3QgYmxrc2l6ZV90Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gdHlwZWRlZiBf
X2Jsa2NudF90IGJsa2NudF90Owo+Pj4KPj4+Cj4+Pgo+Pj4gdHlwZWRlZiBfX2ZzYmxrY250X3Qg
ZnNibGtjbnRfdDsKPj4+Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgX19mc2ZpbGNudF90IGZzZmlsY250
X3Q7Cj4+PiAjIDI3MCAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAzIDQKPj4+ICMgMSAiL3Vz
ci9pbmNsdWRlL2JpdHMvcHRocmVhZHR5cGVzLmgiIDEgMyA0Cj4+PiAjIDIxICIvdXNyL2luY2x1
ZGUvYml0cy9wdGhyZWFkdHlwZXMuaCIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3dv
cmRzaXplLmgiIDEgMyA0Cj4+PiAjIDIyICIvdXNyL2luY2x1ZGUvYml0cy9wdGhyZWFkdHlwZXMu
aCIgMiAzIDQKPj4+ICMgNjAgIi91c3IvaW5jbHVkZS9iaXRzL3B0aHJlYWR0eXBlcy5oIiAzIDQK
Pj4+IHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgcHRocmVhZF90Owo+Pj4KPj4+Cj4+PiB1bmlv
biBwdGhyZWFkX2F0dHJfdAo+Pj4gewo+Pj4gICBjaGFyIF9fc2l6ZVszNl07Cj4+PiAgIGxvbmcg
aW50IF9fYWxpZ247Cj4+PiB9Owo+Pj4KPj4+IHR5cGVkZWYgdW5pb24gcHRocmVhZF9hdHRyX3Qg
cHRocmVhZF9hdHRyX3Q7Cj4+PiAjIDgxICIvdXNyL2luY2x1ZGUvYml0cy9wdGhyZWFkdHlwZXMu
aCIgMyA0Cj4+PiB0eXBlZGVmIHN0cnVjdCBfX3B0aHJlYWRfaW50ZXJuYWxfc2xpc3QKPj4+IHsK
Pj4+ICAgc3RydWN0IF9fcHRocmVhZF9pbnRlcm5hbF9zbGlzdCAqX19uZXh0Owo+Pj4gfSBfX3B0
aHJlYWRfc2xpc3RfdDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gdHlwZWRlZiB1bmlvbgo+Pj4g
ewo+Pj4gICBzdHJ1Y3QgX19wdGhyZWFkX211dGV4X3MKPj4+ICAgewo+Pj4gICAgIGludCBfX2xv
Y2s7Cj4+PiAgICAgdW5zaWduZWQgaW50IF9fY291bnQ7Cj4+PiAgICAgaW50IF9fb3duZXI7Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+ICAgICBpbnQgX19raW5kOwo+Pj4gIyAxMTEgIi91c3IvaW5j
bHVkZS9iaXRzL3B0aHJlYWR0eXBlcy5oIiAzIDQKPj4+ICAgICB1bnNpZ25lZCBpbnQgX19udXNl
cnM7Cj4+PiAgICAgX19leHRlbnNpb25fXyB1bmlvbgo+Pj4gICAgIHsKPj4+ICAgICAgIHN0cnVj
dAo+Pj4gICAgICAgewo+Pj4gIHNob3J0IF9fZXNwaW5zOwo+Pj4gIHNob3J0IF9fZWxpc2lvbjsK
Pj4+Cj4+Pgo+Pj4KPj4+ICAgICAgIH0gX19lbGlzaW9uX2RhdGE7Cj4+PiAgICAgICBfX3B0aHJl
YWRfc2xpc3RfdCBfX2xpc3Q7Cj4+PiAgICAgfTsKPj4+Cj4+PiAgIH0gX19kYXRhOwo+Pj4gICBj
aGFyIF9fc2l6ZVsyNF07Cj4+PiAgIGxvbmcgaW50IF9fYWxpZ247Cj4+PiB9IHB0aHJlYWRfbXV0
ZXhfdDsKPj4+Cj4+PiB0eXBlZGVmIHVuaW9uCj4+PiB7Cj4+PiAgIGNoYXIgX19zaXplWzRdOwo+
Pj4gICBpbnQgX19hbGlnbjsKPj4+IH0gcHRocmVhZF9tdXRleGF0dHJfdDsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+PiB0eXBlZGVmIHVuaW9uCj4+PiB7Cj4+PiAgIHN0cnVjdAo+Pj4gICB7Cj4+PiAgICAg
aW50IF9fbG9jazsKPj4+ICAgICB1bnNpZ25lZCBpbnQgX19mdXRleDsKPj4+ICAgICBfX2V4dGVu
c2lvbl9fIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX190b3RhbF9zZXE7Cj4+PiAgICAgX19leHRl
bnNpb25fXyB1bnNpZ25lZCBsb25nIGxvbmcgaW50IF9fd2FrZXVwX3NlcTsKPj4+ICAgICBfX2V4
dGVuc2lvbl9fIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX193b2tlbl9zZXE7Cj4+PiAgICAgdm9p
ZCAqX19tdXRleDsKPj4+ICAgICB1bnNpZ25lZCBpbnQgX19ud2FpdGVyczsKPj4+ICAgICB1bnNp
Z25lZCBpbnQgX19icm9hZGNhc3Rfc2VxOwo+Pj4gICB9IF9fZGF0YTsKPj4+ICAgY2hhciBfX3Np
emVbNDhdOwo+Pj4gICBfX2V4dGVuc2lvbl9fIGxvbmcgbG9uZyBpbnQgX19hbGlnbjsKPj4+IH0g
cHRocmVhZF9jb25kX3Q7Cj4+Pgo+Pj4gdHlwZWRlZiB1bmlvbgo+Pj4gewo+Pj4gICBjaGFyIF9f
c2l6ZVs0XTsKPj4+ICAgaW50IF9fYWxpZ247Cj4+PiB9IHB0aHJlYWRfY29uZGF0dHJfdDsKPj4+
Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IHB0aHJlYWRfa2V5X3Q7Cj4+Pgo+Pj4K
Pj4+Cj4+PiB0eXBlZGVmIGludCBwdGhyZWFkX29uY2VfdDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gdHlwZWRlZiB1bmlvbgo+Pj4gewo+Pj4gIyAyMDIgIi91c3IvaW5jbHVkZS9iaXRzL3B0aHJl
YWR0eXBlcy5oIiAzIDQKPj4+ICAgc3RydWN0Cj4+PiAgIHsKPj4+ICAgICBpbnQgX19sb2NrOwo+
Pj4gICAgIHVuc2lnbmVkIGludCBfX25yX3JlYWRlcnM7Cj4+PiAgICAgdW5zaWduZWQgaW50IF9f
cmVhZGVyc193YWtldXA7Cj4+PiAgICAgdW5zaWduZWQgaW50IF9fd3JpdGVyX3dha2V1cDsKPj4+
ICAgICB1bnNpZ25lZCBpbnQgX19ucl9yZWFkZXJzX3F1ZXVlZDsKPj4+ICAgICB1bnNpZ25lZCBp
bnQgX19ucl93cml0ZXJzX3F1ZXVlZDsKPj4+Cj4+Pgo+Pj4gICAgIHVuc2lnbmVkIGNoYXIgX19m
bGFnczsKPj4+ICAgICB1bnNpZ25lZCBjaGFyIF9fc2hhcmVkOwo+Pj4gICAgIHNpZ25lZCBjaGFy
IF9fcndlbGlzaW9uOwo+Pj4KPj4+ICAgICB1bnNpZ25lZCBjaGFyIF9fcGFkMjsKPj4+ICAgICBp
bnQgX193cml0ZXI7Cj4+PiAgIH0gX19kYXRhOwo+Pj4KPj4+ICAgY2hhciBfX3NpemVbMzJdOwo+
Pj4gICBsb25nIGludCBfX2FsaWduOwo+Pj4gfSBwdGhyZWFkX3J3bG9ja190Owo+Pj4KPj4+IHR5
cGVkZWYgdW5pb24KPj4+IHsKPj4+ICAgY2hhciBfX3NpemVbOF07Cj4+PiAgIGxvbmcgaW50IF9f
YWxpZ247Cj4+PiB9IHB0aHJlYWRfcndsb2NrYXR0cl90Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
PiB0eXBlZGVmIHZvbGF0aWxlIGludCBwdGhyZWFkX3NwaW5sb2NrX3Q7Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gdHlwZWRlZiB1bmlvbgo+Pj4gewo+Pj4gICBjaGFyIF9fc2l6ZVsyMF07Cj4+PiAgIGxv
bmcgaW50IF9fYWxpZ247Cj4+PiB9IHB0aHJlYWRfYmFycmllcl90Owo+Pj4KPj4+IHR5cGVkZWYg
dW5pb24KPj4+IHsKPj4+ICAgY2hhciBfX3NpemVbNF07Cj4+PiAgIGludCBfX2FsaWduOwo+Pj4g
fSBwdGhyZWFkX2JhcnJpZXJhdHRyX3Q7Cj4+PiAjIDI3MSAiL3Vzci9pbmNsdWRlL3N5cy90eXBl
cy5oIiAyIDMgNAo+Pj4KPj4+Cj4+Pgo+Pj4gIyAzMTUgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIg
MiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBsb25nIGludCByYW5kb20g
KHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4K
Pj4+IGV4dGVybiB2b2lkIHNyYW5kb20gKHVuc2lnbmVkIGludCBfX3NlZWQpIF9fYXR0cmlidXRl
X18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4
dGVybiBjaGFyICppbml0c3RhdGUgKHVuc2lnbmVkIGludCBfX3NlZWQsIGNoYXIgKl9fc3RhdGVi
dWYsCj4+PiAgICBzaXplX3QgX19zdGF0ZWxlbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4+Pgo+Pj4K
Pj4+Cj4+PiBleHRlcm4gY2hhciAqc2V0c3RhdGUgKGNoYXIgKl9fc3RhdGVidWYpIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVs
bF9fICgxKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHN0cnVjdCByYW5kb21f
ZGF0YQo+Pj4gICB7Cj4+PiAgICAgaW50MzJfdCAqZnB0cjsKPj4+ICAgICBpbnQzMl90ICpycHRy
Owo+Pj4gICAgIGludDMyX3QgKnN0YXRlOwo+Pj4gICAgIGludCByYW5kX3R5cGU7Cj4+PiAgICAg
aW50IHJhbmRfZGVnOwo+Pj4gICAgIGludCByYW5kX3NlcDsKPj4+ICAgICBpbnQzMl90ICplbmRf
cHRyOwo+Pj4gICB9Owo+Pj4KPj4+IGV4dGVybiBpbnQgcmFuZG9tX3IgKHN0cnVjdCByYW5kb21f
ZGF0YSAqX19yZXN0cmljdCBfX2J1ZiwKPj4+ICAgICAgICBpbnQzMl90ICpfX3Jlc3RyaWN0IF9f
cmVzdWx0KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+Cj4+PiBleHRlcm4gaW50IHNyYW5kb21f
ciAodW5zaWduZWQgaW50IF9fc2VlZCwgc3RydWN0IHJhbmRvbV9kYXRhICpfX2J1ZikKPj4+ICAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub25udWxsX18gKDIpKSk7Cj4+Pgo+Pj4gZXh0ZXJuIGludCBpbml0c3RhdGVfciAodW5z
aWduZWQgaW50IF9fc2VlZCwgY2hhciAqX19yZXN0cmljdCBfX3N0YXRlYnVmLAo+Pj4gICAgc2l6
ZV90IF9fc3RhdGVsZW4sCj4+PiAgICBzdHJ1Y3QgcmFuZG9tX2RhdGEgKl9fcmVzdHJpY3QgX19i
dWYpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyLCA0KSkpOwo+Pj4KPj4+IGV4dGVybiBpbnQgc2V0
c3RhdGVfciAoY2hhciAqX19yZXN0cmljdCBfX3N0YXRlYnVmLAo+Pj4gICAgICAgICAgc3RydWN0
IHJhbmRvbV9kYXRhICpfX3Jlc3RyaWN0IF9fYnVmKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwg
MikpKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgcmFuZCAodm9pZCkg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+PiBleHRlcm4g
dm9pZCBzcmFuZCAodW5zaWduZWQgaW50IF9fc2VlZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHJhbmRfciAo
dW5zaWduZWQgaW50ICpfX3NlZWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGRvdWJsZSBkcmFu
ZDQ4ICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4g
ZXh0ZXJuIGRvdWJsZSBlcmFuZDQ4ICh1bnNpZ25lZCBzaG9ydCBpbnQgX194c3ViaVszXSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBsb25nIGludCBscmFuZDQ4ICh2b2lk
KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gZXh0ZXJuIGxv
bmcgaW50IG5yYW5kNDggKHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNdKQo+Pj4gICAgICBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGxvbmcgaW50IG1yYW5kNDggKHZv
aWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiBleHRlcm4g
bG9uZyBpbnQganJhbmQ0OCAodW5zaWduZWQgc2hvcnQgaW50IF9feHN1YmlbM10pCj4+PiAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBzcmFuZDQ4IChsb25n
IGludCBfX3NlZWR2YWwpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4+PiBleHRlcm4gdW5zaWduZWQgc2hvcnQgaW50ICpzZWVkNDggKHVuc2lnbmVkIHNob3J0IGlu
dCBfX3NlZWQxNnZbM10pCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4gZXh0ZXJuIHZv
aWQgbGNvbmc0OCAodW5zaWduZWQgc2hvcnQgaW50IF9fcGFyYW1bN10pIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgx
KSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBzdHJ1Y3QgZHJhbmQ0OF9kYXRhCj4+PiAgIHsK
Pj4+ICAgICB1bnNpZ25lZCBzaG9ydCBpbnQgX194WzNdOwo+Pj4gICAgIHVuc2lnbmVkIHNob3J0
IGludCBfX29sZF94WzNdOwo+Pj4gICAgIHVuc2lnbmVkIHNob3J0IGludCBfX2M7Cj4+PiAgICAg
dW5zaWduZWQgc2hvcnQgaW50IF9faW5pdDsKPj4+ICAgICBfX2V4dGVuc2lvbl9fIHVuc2lnbmVk
IGxvbmcgbG9uZyBpbnQgX19hOwo+Pj4KPj4+ICAgfTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBk
cmFuZDQ4X3IgKHN0cnVjdCBkcmFuZDQ4X2RhdGEgKl9fcmVzdHJpY3QgX19idWZmZXIsCj4+PiAg
ICAgICAgIGRvdWJsZSAqX19yZXN0cmljdCBfX3Jlc3VsdCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7
Cj4+PiBleHRlcm4gaW50IGVyYW5kNDhfciAodW5zaWduZWQgc2hvcnQgaW50IF9feHN1YmlbM10s
Cj4+PiAgICAgICAgIHN0cnVjdCBkcmFuZDQ4X2RhdGEgKl9fcmVzdHJpY3QgX19idWZmZXIsCj4+
PiAgICAgICAgIGRvdWJsZSAqX19yZXN0cmljdCBfX3Jlc3VsdCkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIp
KSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgbHJhbmQ0OF9yIChzdHJ1Y3QgZHJhbmQ0OF9kYXRh
ICpfX3Jlc3RyaWN0IF9fYnVmZmVyLAo+Pj4gICAgICAgICBsb25nIGludCAqX19yZXN0cmljdCBf
X3Jlc3VsdCkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4+PiBleHRlcm4gaW50IG5y
YW5kNDhfciAodW5zaWduZWQgc2hvcnQgaW50IF9feHN1YmlbM10sCj4+PiAgICAgICAgIHN0cnVj
dCBkcmFuZDQ4X2RhdGEgKl9fcmVzdHJpY3QgX19idWZmZXIsCj4+PiAgICAgICAgIGxvbmcgaW50
ICpfX3Jlc3RyaWN0IF9fcmVzdWx0KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+
Cj4+Pgo+Pj4gZXh0ZXJuIGludCBtcmFuZDQ4X3IgKHN0cnVjdCBkcmFuZDQ4X2RhdGEgKl9fcmVz
dHJpY3QgX19idWZmZXIsCj4+PiAgICAgICAgIGxvbmcgaW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0
KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0
cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+IGV4dGVybiBpbnQganJhbmQ0OF9y
ICh1bnNpZ25lZCBzaG9ydCBpbnQgX194c3ViaVszXSwKPj4+ICAgICAgICAgc3RydWN0IGRyYW5k
NDhfZGF0YSAqX19yZXN0cmljdCBfX2J1ZmZlciwKPj4+ICAgICAgICAgbG9uZyBpbnQgKl9fcmVz
dHJpY3QgX19yZXN1bHQpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+Cj4+
PiBleHRlcm4gaW50IHNyYW5kNDhfciAobG9uZyBpbnQgX19zZWVkdmFsLCBzdHJ1Y3QgZHJhbmQ0
OF9kYXRhICpfX2J1ZmZlcikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4+Pgo+Pj4gZXh0
ZXJuIGludCBzZWVkNDhfciAodW5zaWduZWQgc2hvcnQgaW50IF9fc2VlZDE2dlszXSwKPj4+ICAg
ICAgICBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX2J1ZmZlcikgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7
Cj4+Pgo+Pj4gZXh0ZXJuIGludCBsY29uZzQ4X3IgKHVuc2lnbmVkIHNob3J0IGludCBfX3BhcmFt
WzddLAo+Pj4gICAgICAgICBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX2J1ZmZlcikKPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEsIDIpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gdm9pZCAqbWFsbG9jIChzaXplX3QgX19zaXplKSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSkgOwo+
Pj4KPj4+IGV4dGVybiB2b2lkICpjYWxsb2MgKHNpemVfdCBfX25tZW1iLCBzaXplX3QgX19zaXpl
KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0
cmlidXRlX18gKChfX21hbGxvY19fKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkICpyZWFsbG9jICh2b2lkICpfX3B0ciwgc2l6ZV90IF9f
c2l6ZSkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBf
X2F0dHJpYnV0ZV9fICgoX193YXJuX3VudXNlZF9yZXN1bHRfXykpOwo+Pj4KPj4+IGV4dGVybiB2
b2lkIGZyZWUgKHZvaWQgKl9fcHRyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkIGNmcmVlICh2b2lkICpfX3B0
cikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4K
Pj4+ICMgMSAiL3Vzci9pbmNsdWRlL2FsbG9jYS5oIiAxIDMgNAo+Pj4gIyAyNCAiL3Vzci9pbmNs
dWRlL2FsbG9jYS5oIiAzIDQKPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4
LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0Cj4+PiAjIDI1ICIvdXNyL2luY2x1ZGUvYWxs
b2NhLmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQg
KmFsbG9jYSAoc2l6ZV90IF9fc2l6ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+ICMgNDkzICIvdXNyL2luY2x1ZGUv
c3RkbGliLmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkICp2YWxs
b2MgKHNpemVfdCBfX3NpemUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSkgX19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0
ZXJuIGludCBwb3NpeF9tZW1hbGlnbiAodm9pZCAqKl9fbWVtcHRyLCBzaXplX3QgX19hbGlnbm1l
bnQsIHNpemVfdCBfX3NpemUpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpIDsKPj4+Cj4+Pgo+
Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCAqYWxpZ25lZF9hbGxvYyAoc2l6ZV90IF9fYWxpZ25tZW50
LCBzaXplX3QgX19zaXplKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSkgX19hdHRyaWJ1dGVfXyAoKF9f
YWxsb2Nfc2l6ZV9fICgyKSkpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBhYm9y
dCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3JldHVybl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGF0ZXhp
dCAodm9pZCAoKl9fZnVuYykgKHZvaWQpKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGF0X3F1aWNrX2V4aXQgKHZvaWQgKCpfX2Z1
bmMpICh2b2lkKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0
dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIGludCBvbl9leGl0ICh2b2lkICgqX19mdW5jKSAoaW50IF9fc3RhdHVzLCB2
b2lkICpfX2FyZyksIHZvaWQgKl9fYXJnKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkIGV4aXQgKGludCBfX3N0YXR1cykg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub3JldHVybl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkIHF1aWNr
X2V4aXQgKGludCBfX3N0YXR1cykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgX0V4aXQgKGludCBfX3N0YXR1cykgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9f
KSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqZ2V0ZW52IChjb25z
dCBjaGFyICpfX25hbWUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpIDsKPj4+Cj4+PiAjIDU3OCAiL3Vzci9p
bmNsdWRlL3N0ZGxpYi5oIiAzIDQKPj4+IGV4dGVybiBpbnQgcHV0ZW52IChjaGFyICpfX3N0cmlu
ZykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQg
c2V0ZW52IChjb25zdCBjaGFyICpfX25hbWUsIGNvbnN0IGNoYXIgKl9fdmFsdWUsIGludCBfX3Jl
cGxhY2UpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyKSkpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50
IHVuc2V0ZW52IChjb25zdCBjaGFyICpfX25hbWUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBjbGVhcmVudiAodm9pZCkgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgNjA2ICIvdXNyL2luY2x1ZGUv
c3RkbGliLmgiIDMgNAo+Pj4gZXh0ZXJuIGNoYXIgKm1rdGVtcCAoY2hhciAqX190ZW1wbGF0ZSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEpKSk7Cj4+PiAjIDYxOSAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQK
Pj4+IGV4dGVybiBpbnQgbWtzdGVtcCAoY2hhciAqX190ZW1wbGF0ZSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgxKSkpIDsKPj4+ICMgNjQxICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMg
NAo+Pj4gZXh0ZXJuIGludCBta3N0ZW1wcyAoY2hhciAqX190ZW1wbGF0ZSwgaW50IF9fc3VmZml4
bGVuKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+Pj4gIyA2NjIgIi91c3Iv
aW5jbHVkZS9zdGRsaWIuaCIgMyA0Cj4+PiBleHRlcm4gY2hhciAqbWtkdGVtcCAoY2hhciAqX190
ZW1wbGF0ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJp
YnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+Pj4gIyA3MTEgIi91c3IvaW5jbHVkZS9zdGRs
aWIuaCIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgc3lzdGVtIChjb25z
dCBjaGFyICpfX2NvbW1hbmQpIDsKPj4+Cj4+PiAjIDczMyAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5o
IiAzIDQKPj4+IGV4dGVybiBjaGFyICpyZWFscGF0aCAoY29uc3QgY2hhciAqX19yZXN0cmljdCBf
X25hbWUsCj4+PiAgICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fcmVzb2x2ZWQpIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KSAoY29uc3Qgdm9pZCAqLCBjb25zdCB2
b2lkICopOwo+Pj4gIyA3NTEgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMyA0Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gdm9pZCAqYnNlYXJjaCAoY29uc3Qgdm9pZCAqX19rZXksIGNvbnN0IHZvaWQg
Kl9fYmFzZSwKPj4+ICAgICAgICAgc2l6ZV90IF9fbm1lbWIsIHNpemVfdCBfX3NpemUsIF9fY29t
cGFyX2ZuX3QgX19jb21wYXIpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAo
MSwgMiwgNSkpKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQg
cXNvcnQgKHZvaWQgKl9fYmFzZSwgc2l6ZV90IF9fbm1lbWIsIHNpemVfdCBfX3NpemUsCj4+PiAg
ICAgIF9fY29tcGFyX2ZuX3QgX19jb21wYXIpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAo
MSwgNCkpKTsKPj4+ICMgNzc0ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+Pj4gZXh0ZXJu
IGludCBhYnMgKGludCBfX3gpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSkgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpIDsKPj4+IGV4dGVybiBsb25nIGludCBsYWJz
IChsb25nIGludCBfX3gpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+IF9fZXh0ZW5zaW9u
X18gZXh0ZXJuIGxvbmcgbG9uZyBpbnQgbGxhYnMgKGxvbmcgbG9uZyBpbnQgX194KQo+Pj4gICAg
ICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18g
KChfX2NvbnN0X18pKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGRp
dl90IGRpdiAoaW50IF9fbnVtZXIsIGludCBfX2Rlbm9tKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKSA7
Cj4+PiBleHRlcm4gbGRpdl90IGxkaXYgKGxvbmcgaW50IF9fbnVtZXIsIGxvbmcgaW50IF9fZGVu
b20pCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBfX2V4dGVuc2lv
bl9fIGV4dGVybiBsbGRpdl90IGxsZGl2IChsb25nIGxvbmcgaW50IF9fbnVtZXIsCj4+PiAgICAg
ICAgIGxvbmcgbG9uZyBpbnQgX19kZW5vbSkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSkgOwo+Pj4KPj4+
ICMgODExICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMgNAo+Pj4gZXh0ZXJuIGNoYXIgKmVjdnQg
KGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsIGludCAqX19yZXN0cmljdCBfX2RlY3B0LAo+
Pj4gICAgICBpbnQgKl9fcmVzdHJpY3QgX19zaWduKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMywgNCkpKSA7Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGNoYXIgKmZjdnQgKGRvdWJsZSBfX3ZhbHVlLCBpbnQg
X19uZGlnaXQsIGludCAqX19yZXN0cmljdCBfX2RlY3B0LAo+Pj4gICAgICBpbnQgKl9fcmVzdHJp
Y3QgX19zaWduKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0
cmlidXRlX18gKChfX25vbm51bGxfXyAoMywgNCkpKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0
ZXJuIGNoYXIgKmdjdnQgKGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsIGNoYXIgKl9fYnVm
KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0
cmlidXRlX18gKChfX25vbm51bGxfXyAoMykpKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJu
IGNoYXIgKnFlY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsCj4+PiAgICAg
ICBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwgaW50ICpfX3Jlc3RyaWN0IF9fc2lnbikKPj4+ICAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub25udWxsX18gKDMsIDQpKSkgOwo+Pj4gZXh0ZXJuIGNoYXIgKnFmY3Z0IChsb25nIGRv
dWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsCj4+PiAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19k
ZWNwdCwgaW50ICpfX3Jlc3RyaWN0IF9fc2lnbikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDMsIDQp
KSkgOwo+Pj4gZXh0ZXJuIGNoYXIgKnFnY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19u
ZGlnaXQsIGNoYXIgKl9fYnVmKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMykpKSA7Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBlY3Z0X3IgKGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGln
aXQsIGludCAqX19yZXN0cmljdCBfX2RlY3B0LAo+Pj4gICAgICBpbnQgKl9fcmVzdHJpY3QgX19z
aWduLCBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLAo+Pj4gICAgICBzaXplX3QgX19sZW4pIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9u
bnVsbF9fICgzLCA0LCA1KSkpOwo+Pj4gZXh0ZXJuIGludCBmY3Z0X3IgKGRvdWJsZSBfX3ZhbHVl
LCBpbnQgX19uZGlnaXQsIGludCAqX19yZXN0cmljdCBfX2RlY3B0LAo+Pj4gICAgICBpbnQgKl9f
cmVzdHJpY3QgX19zaWduLCBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLAo+Pj4gICAgICBzaXplX3Qg
X19sZW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm9ubnVsbF9fICgzLCA0LCA1KSkpOwo+Pj4KPj4+IGV4dGVybiBpbnQgcWVjdnRf
ciAobG9uZyBkb3VibGUgX192YWx1ZSwgaW50IF9fbmRpZ2l0LAo+Pj4gICAgICAgaW50ICpfX3Jl
c3RyaWN0IF9fZGVjcHQsIGludCAqX19yZXN0cmljdCBfX3NpZ24sCj4+PiAgICAgICBjaGFyICpf
X3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19sZW4pCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgzLCA0
LCA1KSkpOwo+Pj4gZXh0ZXJuIGludCBxZmN2dF9yIChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQg
X19uZGlnaXQsCj4+PiAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwgaW50ICpfX3Jlc3Ry
aWN0IF9fc2lnbiwKPj4+ICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsIHNpemVfdCBfX2xl
bikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0
dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDMsIDQsIDUpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+PiBleHRlcm4gaW50IG1ibGVuIChjb25zdCBjaGFyICpfX3MsIHNpemVfdCBfX24pIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVy
biBpbnQgbWJ0b3djICh3Y2hhcl90ICpfX3Jlc3RyaWN0IF9fcHdjLAo+Pj4gICAgICBjb25zdCBj
aGFyICpfX3Jlc3RyaWN0IF9fcywgc2l6ZV90IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB3Y3RvbWIgKGNoYXIgKl9f
cywgd2NoYXJfdCBfX3djaGFyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHNpemVfdCBtYnN0b3djcyAod2NoYXJfdCAqX19y
ZXN0cmljdCBfX3B3Y3MsCj4+PiAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcywgc2l6ZV90
IF9fbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+PiBl
eHRlcm4gc2l6ZV90IHdjc3RvbWJzIChjaGFyICpfX3Jlc3RyaWN0IF9fcywKPj4+ICAgIGNvbnN0
IHdjaGFyX3QgKl9fcmVzdHJpY3QgX19wd2NzLCBzaXplX3QgX19uKQo+Pj4gICAgICBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHJwbWF0Y2ggKGNvbnN0IGNoYXIgKl9fcmVzcG9uc2Up
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgxKSkpIDsKPj4+ICMgODk4ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMg
NAo+Pj4gZXh0ZXJuIGludCBnZXRzdWJvcHQgKGNoYXIgKipfX3Jlc3RyaWN0IF9fb3B0aW9ucCwK
Pj4+ICAgICAgICAgY2hhciAqY29uc3QgKl9fcmVzdHJpY3QgX190b2tlbnMsCj4+PiAgICAgICAg
IGNoYXIgKipfX3Jlc3RyaWN0IF9fdmFsdWVwKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMiwg
MykpKSA7Cj4+PiAjIDk1MCAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzIDQKPj4+IGV4dGVybiBp
bnQgZ2V0bG9hZGF2ZyAoZG91YmxlIF9fbG9hZGF2Z1tdLCBpbnQgX19uZWxlbSkKPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc3Rk
bGliLWZsb2F0LmgiIDEgMyA0Cj4+PiAjIDk1NSAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAyIDMg
NAo+Pj4gIyA5NjcgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMyA0Cj4+Pgo+Pj4gIyA0MSAibWFj
aGluZS5jIiAyCj4+PiAjIDEgIi91c3IvaW5jbHVkZS9zaWduYWwuaCIgMSAzIDQKPj4+ICMgMzAg
Ii91c3IvaW5jbHVkZS9zaWduYWwuaCIgMyA0Cj4+Pgo+Pj4KPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L2JpdHMvc2lnc2V0LmgiIDEgMyA0Cj4+PiAjIDEwMiAiL3Vzci9pbmNsdWRlL2JpdHMvc2lnc2V0
LmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBfX3NpZ2lzbWVtYmVyIChjb25zdCBfX3NpZ3NldF90ICos
IGludCk7Cj4+PiBleHRlcm4gaW50IF9fc2lnYWRkc2V0IChfX3NpZ3NldF90ICosIGludCk7Cj4+
PiBleHRlcm4gaW50IF9fc2lnZGVsc2V0IChfX3NpZ3NldF90ICosIGludCk7Cj4+PiAjIDMzICIv
dXNyL2luY2x1ZGUvc2lnbmFsLmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gdHlwZWRlZiBfX3NpZ19hdG9taWNfdCBzaWdfYXRvbWljX3Q7Cj4+Pgo+Pj4gIyA1NyAiL3Vz
ci9pbmNsdWRlL3NpZ25hbC5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc2lnbnVt
LmgiIDEgMyA0Cj4+PiAjIDU4ICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDIgMyA0Cj4+PiAjIDc1
ICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvdGltZS5o
IiAxIDMgNAo+Pj4gIyA3NiAiL3Vzci9pbmNsdWRlL3NpZ25hbC5oIiAyIDMgNAo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc2lnaW5mby5oIiAxIDMgNAo+Pj4gIyAy
NCAiL3Vzci9pbmNsdWRlL2JpdHMvc2lnaW5mby5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L2JpdHMvd29yZHNpemUuaCIgMSAzIDQKPj4+ICMgMjUgIi91c3IvaW5jbHVkZS9iaXRzL3NpZ2lu
Zm8uaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIHVuaW9u
IHNpZ3ZhbAo+Pj4gICB7Cj4+PiAgICAgaW50IHNpdmFsX2ludDsKPj4+ICAgICB2b2lkICpzaXZh
bF9wdHI7Cj4+PiAgIH0gc2lndmFsX3Q7Cj4+PiAjIDU4ICIvdXNyL2luY2x1ZGUvYml0cy9zaWdp
bmZvLmgiIDMgNAo+Pj4gdHlwZWRlZiBfX2Nsb2NrX3QgX19zaWdjaGxkX2Nsb2NrX3Q7Cj4+Pgo+
Pj4KPj4+Cj4+PiB0eXBlZGVmIHN0cnVjdAo+Pj4gICB7Cj4+PiAgICAgaW50IHNpX3NpZ25vOwo+
Pj4gICAgIGludCBzaV9lcnJubzsKPj4+Cj4+PiAgICAgaW50IHNpX2NvZGU7Cj4+Pgo+Pj4gICAg
IHVuaW9uCj4+PiAgICAgICB7Cj4+PiAgaW50IF9wYWRbKCgxMjggLyBzaXplb2YgKGludCkpIC0g
MyldOwo+Pj4KPj4+Cj4+PiAgc3RydWN0Cj4+PiAgICB7Cj4+PiAgICAgIF9fcGlkX3Qgc2lfcGlk
Owo+Pj4gICAgICBfX3VpZF90IHNpX3VpZDsKPj4+ICAgIH0gX2tpbGw7Cj4+Pgo+Pj4KPj4+ICBz
dHJ1Y3QKPj4+ICAgIHsKPj4+ICAgICAgaW50IHNpX3RpZDsKPj4+ICAgICAgaW50IHNpX292ZXJy
dW47Cj4+PiAgICAgIHNpZ3ZhbF90IHNpX3NpZ3ZhbDsKPj4+ICAgIH0gX3RpbWVyOwo+Pj4KPj4+
Cj4+PiAgc3RydWN0Cj4+PiAgICB7Cj4+PiAgICAgIF9fcGlkX3Qgc2lfcGlkOwo+Pj4gICAgICBf
X3VpZF90IHNpX3VpZDsKPj4+ICAgICAgc2lndmFsX3Qgc2lfc2lndmFsOwo+Pj4gICAgfSBfcnQ7
Cj4+Pgo+Pj4KPj4+ICBzdHJ1Y3QKPj4+ICAgIHsKPj4+ICAgICAgX19waWRfdCBzaV9waWQ7Cj4+
PiAgICAgIF9fdWlkX3Qgc2lfdWlkOwo+Pj4gICAgICBpbnQgc2lfc3RhdHVzOwo+Pj4gICAgICBf
X3NpZ2NobGRfY2xvY2tfdCBzaV91dGltZTsKPj4+ICAgICAgX19zaWdjaGxkX2Nsb2NrX3Qgc2lf
c3RpbWU7Cj4+PiAgICB9IF9zaWdjaGxkOwo+Pj4KPj4+Cj4+PiAgc3RydWN0Cj4+PiAgICB7Cj4+
PiAgICAgIHZvaWQgKnNpX2FkZHI7Cj4+PiAgICAgIHNob3J0IGludCBzaV9hZGRyX2xzYjsKPj4+
ICAgICAgc3RydWN0Cj4+PiAgICAgICAgewo+Pj4gICB2b2lkICpfbG93ZXI7Cj4+PiAgIHZvaWQg
Kl91cHBlcjsKPj4+ICAgICAgICB9IHNpX2FkZHJfYm5kOwo+Pj4gICAgfSBfc2lnZmF1bHQ7Cj4+
Pgo+Pj4KPj4+ICBzdHJ1Y3QKPj4+ICAgIHsKPj4+ICAgICAgbG9uZyBpbnQgc2lfYmFuZDsKPj4+
ICAgICAgaW50IHNpX2ZkOwo+Pj4gICAgfSBfc2lncG9sbDsKPj4+Cj4+Pgo+Pj4gIHN0cnVjdAo+
Pj4gICAgewo+Pj4gICAgICB2b2lkICpfY2FsbF9hZGRyOwo+Pj4gICAgICBpbnQgX3N5c2NhbGw7
Cj4+PiAgICAgIHVuc2lnbmVkIGludCBfYXJjaDsKPj4+ICAgIH0gX3NpZ3N5czsKPj4+ICAgICAg
IH0gX3NpZmllbGRzOwo+Pj4gICB9IHNpZ2luZm9fdCA7Cj4+PiAjIDE2MCAiL3Vzci9pbmNsdWRl
L2JpdHMvc2lnaW5mby5oIiAzIDQKPj4+IGVudW0KPj4+IHsKPj4+ICAgU0lfQVNZTkNOTCA9IC02
MCwKPj4+Cj4+PiAgIFNJX1RLSUxMID0gLTYsCj4+Pgo+Pj4gICBTSV9TSUdJTywKPj4+Cj4+PiAg
IFNJX0FTWU5DSU8sCj4+Pgo+Pj4gICBTSV9NRVNHUSwKPj4+Cj4+PiAgIFNJX1RJTUVSLAo+Pj4K
Pj4+ICAgU0lfUVVFVUUsCj4+Pgo+Pj4gICBTSV9VU0VSLAo+Pj4KPj4+ICAgU0lfS0VSTkVMID0g
MHg4MAo+Pj4KPj4+IH07Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZW51bQo+Pj4gewo+Pj4gICBJTExf
SUxMT1BDID0gMSwKPj4+Cj4+PiAgIElMTF9JTExPUE4sCj4+Pgo+Pj4gICBJTExfSUxMQURSLAo+
Pj4KPj4+ICAgSUxMX0lMTFRSUCwKPj4+Cj4+PiAgIElMTF9QUlZPUEMsCj4+Pgo+Pj4gICBJTExf
UFJWUkVHLAo+Pj4KPj4+ICAgSUxMX0NPUFJPQywKPj4+Cj4+PiAgIElMTF9CQURTVEsKPj4+Cj4+
PiB9Owo+Pj4KPj4+Cj4+PiBlbnVtCj4+PiB7Cj4+PiAgIEZQRV9JTlRESVYgPSAxLAo+Pj4KPj4+
ICAgRlBFX0lOVE9WRiwKPj4+Cj4+PiAgIEZQRV9GTFRESVYsCj4+Pgo+Pj4gICBGUEVfRkxUT1ZG
LAo+Pj4KPj4+ICAgRlBFX0ZMVFVORCwKPj4+Cj4+PiAgIEZQRV9GTFRSRVMsCj4+Pgo+Pj4gICBG
UEVfRkxUSU5WLAo+Pj4KPj4+ICAgRlBFX0ZMVFNVQgo+Pj4KPj4+IH07Cj4+Pgo+Pj4KPj4+IGVu
dW0KPj4+IHsKPj4+ICAgU0VHVl9NQVBFUlIgPSAxLAo+Pj4KPj4+ICAgU0VHVl9BQ0NFUlIKPj4+
Cj4+PiB9Owo+Pj4KPj4+Cj4+PiBlbnVtCj4+PiB7Cj4+PiAgIEJVU19BRFJBTE4gPSAxLAo+Pj4K
Pj4+ICAgQlVTX0FEUkVSUiwKPj4+Cj4+PiAgIEJVU19PQkpFUlIsCj4+Pgo+Pj4gICBCVVNfTUNF
RVJSX0FSLAo+Pj4KPj4+ICAgQlVTX01DRUVSUl9BTwo+Pj4KPj4+IH07Cj4+PiAjIDI2NCAiL3Vz
ci9pbmNsdWRlL2JpdHMvc2lnaW5mby5oIiAzIDQKPj4+IGVudW0KPj4+IHsKPj4+ICAgQ0xEX0VY
SVRFRCA9IDEsCj4+Pgo+Pj4gICBDTERfS0lMTEVELAo+Pj4KPj4+ICAgQ0xEX0RVTVBFRCwKPj4+
Cj4+PiAgIENMRF9UUkFQUEVELAo+Pj4KPj4+ICAgQ0xEX1NUT1BQRUQsCj4+Pgo+Pj4gICBDTERf
Q09OVElOVUVECj4+Pgo+Pj4gfTsKPj4+Cj4+Pgo+Pj4gZW51bQo+Pj4gewo+Pj4gICBQT0xMX0lO
ID0gMSwKPj4+Cj4+PiAgIFBPTExfT1VULAo+Pj4KPj4+ICAgUE9MTF9NU0csCj4+Pgo+Pj4gICBQ
T0xMX0VSUiwKPj4+Cj4+PiAgIFBPTExfUFJJLAo+Pj4KPj4+ICAgUE9MTF9IVVAKPj4+Cj4+PiB9
Owo+Pj4gIyAzMjAgIi91c3IvaW5jbHVkZS9iaXRzL3NpZ2luZm8uaCIgMyA0Cj4+PiB0eXBlZGVm
IHN0cnVjdCBzaWdldmVudAo+Pj4gICB7Cj4+PiAgICAgc2lndmFsX3Qgc2lnZXZfdmFsdWU7Cj4+
PiAgICAgaW50IHNpZ2V2X3NpZ25vOwo+Pj4gICAgIGludCBzaWdldl9ub3RpZnk7Cj4+Pgo+Pj4g
ICAgIHVuaW9uCj4+PiAgICAgICB7Cj4+PiAgaW50IF9wYWRbKCg2NCAvIHNpemVvZiAoaW50KSkg
LSAzKV07Cj4+Pgo+Pj4KPj4+Cj4+PiAgX19waWRfdCBfdGlkOwo+Pj4KPj4+ICBzdHJ1Y3QKPj4+
ICAgIHsKPj4+ICAgICAgdm9pZCAoKl9mdW5jdGlvbikgKHNpZ3ZhbF90KTsKPj4+ICAgICAgcHRo
cmVhZF9hdHRyX3QgKl9hdHRyaWJ1dGU7Cj4+PiAgICB9IF9zaWdldl90aHJlYWQ7Cj4+PiAgICAg
ICB9IF9zaWdldl91bjsKPj4+ICAgfSBzaWdldmVudF90Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZW51bQo+Pj4gewo+Pj4gICBTSUdFVl9TSUdOQUwgPSAwLAo+Pj4KPj4+ICAgU0lHRVZf
Tk9ORSwKPj4+Cj4+PiAgIFNJR0VWX1RIUkVBRCwKPj4+Cj4+Pgo+Pj4gICBTSUdFVl9USFJFQURf
SUQgPSA0Cj4+Pgo+Pj4gfTsKPj4+ICMgODEgIi91c3IvaW5jbHVkZS9zaWduYWwuaCIgMiAzIDQK
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIHZvaWQgKCpfX3NpZ2hhbmRsZXJfdCkgKGludCk7
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIF9fc2lnaGFuZGxlcl90IF9fc3lzdl9zaWduYWwg
KGludCBfX3NpZywgX19zaWdoYW5kbGVyX3QgX19oYW5kbGVyKQo+Pj4gICAgICBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gIyAxMDAgIi91c3IvaW5jbHVkZS9z
aWduYWwuaCIgMyA0Cj4+Pgo+Pj4KPj4+IGV4dGVybiBfX3NpZ2hhbmRsZXJfdCBzaWduYWwgKGlu
dCBfX3NpZywgX19zaWdoYW5kbGVyX3QgX19oYW5kbGVyKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gIyAxMTQgIi91c3IvaW5jbHVkZS9zaWdu
YWwuaCIgMyA0Cj4+Pgo+Pj4gIyAxMjcgIi91c3IvaW5jbHVkZS9zaWduYWwuaCIgMyA0Cj4+PiBl
eHRlcm4gaW50IGtpbGwgKF9fcGlkX3QgX19waWQsIGludCBfX3NpZykgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4
dGVybiBpbnQga2lsbHBnIChfX3BpZF90IF9fcGdycCwgaW50IF9fc2lnKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBp
bnQgcmFpc2UgKGludCBfX3NpZykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gX19zaWdoYW5kbGVyX3Qgc3NpZ25hbCAo
aW50IF9fc2lnLCBfX3NpZ2hhbmRsZXJfdCBfX2hhbmRsZXIpCj4+PiAgICAgIF9fYXR0cmlidXRl
X18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiBleHRlcm4gaW50IGdzaWduYWwgKGlu
dCBfX3NpZykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBwc2lnbmFsIChpbnQgX19zaWcsIGNvbnN0IGNoYXIg
Kl9fcyk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkIHBzaWdpbmZvIChjb25zdCBzaWdpbmZvX3Qg
Kl9fcGluZm8sIGNvbnN0IGNoYXIgKl9fcyk7Cj4+PiAjIDE4NyAiL3Vzci9pbmNsdWRlL3NpZ25h
bC5oIiAzIDQKPj4+IGV4dGVybiBpbnQgc2lnYmxvY2sgKGludCBfX21hc2spIF9fYXR0cmlidXRl
X18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVjYXRl
ZF9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgc2lnc2V0bWFzayAoaW50IF9fbWFzaykgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19k
ZXByZWNhdGVkX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzaWdnZXRtYXNrICh2b2lkKSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X2RlcHJlY2F0ZWRfXykpOwo+Pj4gIyAyMDcgIi91c3IvaW5jbHVkZS9zaWduYWwuaCIgMyA0Cj4+
PiB0eXBlZGVmIF9fc2lnaGFuZGxlcl90IHNpZ190Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBl
eHRlcm4gaW50IHNpZ2VtcHR5c2V0IChzaWdzZXRfdCAqX19zZXQpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkp
Owo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNpZ2ZpbGxzZXQgKHNpZ3NldF90ICpfX3NldCkgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgc2lnYWRkc2V0IChzaWdzZXRf
dCAqX19zZXQsIGludCBfX3NpZ25vKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4gZXh0
ZXJuIGludCBzaWdkZWxzZXQgKHNpZ3NldF90ICpfX3NldCwgaW50IF9fc2lnbm8pIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVs
bF9fICgxKSkpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNpZ2lzbWVtYmVyIChjb25zdCBzaWdz
ZXRfdCAqX19zZXQsIGludCBfX3NpZ25vKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+
ICMgMjQzICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUv
Yml0cy9zaWdhY3Rpb24uaCIgMSAzIDQKPj4+ICMgMjQgIi91c3IvaW5jbHVkZS9iaXRzL3NpZ2Fj
dGlvbi5oIiAzIDQKPj4+IHN0cnVjdCBzaWdhY3Rpb24KPj4+ICAgewo+Pj4KPj4+Cj4+PiAgICAg
dW5pb24KPj4+ICAgICAgIHsKPj4+Cj4+PiAgX19zaWdoYW5kbGVyX3Qgc2FfaGFuZGxlcjsKPj4+
Cj4+PiAgdm9pZCAoKnNhX3NpZ2FjdGlvbikgKGludCwgc2lnaW5mb190ICosIHZvaWQgKik7Cj4+
PiAgICAgICB9Cj4+PiAgICAgX19zaWdhY3Rpb25faGFuZGxlcjsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiAgICAgX19zaWdzZXRfdCBzYV9tYXNrOwo+Pj4KPj4+Cj4+PiAgICAgaW50
IHNhX2ZsYWdzOwo+Pj4KPj4+Cj4+PiAgICAgdm9pZCAoKnNhX3Jlc3RvcmVyKSAodm9pZCk7Cj4+
PiAgIH07Cj4+PiAjIDI0NCAiL3Vzci9pbmNsdWRlL3NpZ25hbC5oIiAyIDMgNAo+Pj4KPj4+Cj4+
PiBleHRlcm4gaW50IHNpZ3Byb2NtYXNrIChpbnQgX19ob3csIGNvbnN0IHNpZ3NldF90ICpfX3Jl
c3RyaWN0IF9fc2V0LAo+Pj4gICAgc2lnc2V0X3QgKl9fcmVzdHJpY3QgX19vc2V0KSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIGludCBzaWdzdXNwZW5kIChjb25zdCBzaWdzZXRfdCAqX19zZXQpIF9fYXR0
cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzaWdh
Y3Rpb24gKGludCBfX3NpZywgY29uc3Qgc3RydWN0IHNpZ2FjdGlvbiAqX19yZXN0cmljdCBfX2Fj
dCwKPj4+ICAgICAgICAgc3RydWN0IHNpZ2FjdGlvbiAqX19yZXN0cmljdCBfX29hY3QpIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBp
bnQgc2lncGVuZGluZyAoc2lnc2V0X3QgKl9fc2V0KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgc2lnd2FpdCAoY29uc3Qgc2lnc2V0X3Qg
Kl9fcmVzdHJpY3QgX19zZXQsIGludCAqX19yZXN0cmljdCBfX3NpZykKPj4+ICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIGludCBzaWd3YWl0aW5mbyAoY29uc3Qgc2lnc2V0X3QgKl9fcmVzdHJpY3QgX19z
ZXQsCj4+PiAgICBzaWdpbmZvX3QgKl9fcmVzdHJpY3QgX19pbmZvKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50
IHNpZ3RpbWVkd2FpdCAoY29uc3Qgc2lnc2V0X3QgKl9fcmVzdHJpY3QgX19zZXQsCj4+PiAgICAg
c2lnaW5mb190ICpfX3Jlc3RyaWN0IF9faW5mbywKPj4+ICAgICBjb25zdCBzdHJ1Y3QgdGltZXNw
ZWMgKl9fcmVzdHJpY3QgX190aW1lb3V0KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub25u
dWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNpZ3F1ZXVlIChfX3BpZF90
IF9fcGlkLCBpbnQgX19zaWcsIGNvbnN0IHVuaW9uIHNpZ3ZhbCBfX3ZhbCkKPj4+ICAgICAgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgMzAxICIvdXNyL2lu
Y2x1ZGUvc2lnbmFsLmgiIDMgNAo+Pj4gZXh0ZXJuIGNvbnN0IGNoYXIgKmNvbnN0IF9zeXNfc2ln
bGlzdFs2NV07Cj4+PiBleHRlcm4gY29uc3QgY2hhciAqY29uc3Qgc3lzX3NpZ2xpc3RbNjVdOwo+
Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9zaWdjb250ZXh0LmgiIDEgMyA0
Cj4+PiAjIDI5ICIvdXNyL2luY2x1ZGUvYml0cy9zaWdjb250ZXh0LmgiIDMgNAo+Pj4gc3RydWN0
IF9mcHhfc3dfYnl0ZXMKPj4+IHsKPj4+ICAgX191aW50MzJfdCBtYWdpYzE7Cj4+PiAgIF9fdWlu
dDMyX3QgZXh0ZW5kZWRfc2l6ZTsKPj4+ICAgX191aW50NjRfdCB4c3RhdGVfYnY7Cj4+PiAgIF9f
dWludDMyX3QgeHN0YXRlX3NpemU7Cj4+PiAgIF9fdWludDMyX3QgcGFkZGluZ1s3XTsKPj4+IH07
Cj4+Pgo+Pj4gc3RydWN0IF9mcHJlZwo+Pj4gewo+Pj4gICB1bnNpZ25lZCBzaG9ydCBzaWduaWZp
Y2FuZFs0XTsKPj4+ICAgdW5zaWduZWQgc2hvcnQgZXhwb25lbnQ7Cj4+PiB9Owo+Pj4KPj4+IHN0
cnVjdCBfZnB4cmVnCj4+PiB7Cj4+PiAgIHVuc2lnbmVkIHNob3J0IHNpZ25pZmljYW5kWzRdOwo+
Pj4gICB1bnNpZ25lZCBzaG9ydCBleHBvbmVudDsKPj4+ICAgdW5zaWduZWQgc2hvcnQgcGFkZGlu
Z1szXTsKPj4+IH07Cj4+Pgo+Pj4gc3RydWN0IF94bW1yZWcKPj4+IHsKPj4+ICAgX191aW50MzJf
dCBlbGVtZW50WzRdOwo+Pj4gfTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gc3RydWN0IF9mcHN0
YXRlCj4+PiB7Cj4+Pgo+Pj4gICBfX3VpbnQzMl90IGN3Owo+Pj4gICBfX3VpbnQzMl90IHN3Owo+
Pj4gICBfX3VpbnQzMl90IHRhZzsKPj4+ICAgX191aW50MzJfdCBpcG9mZjsKPj4+ICAgX191aW50
MzJfdCBjc3NlbDsKPj4+ICAgX191aW50MzJfdCBkYXRhb2ZmOwo+Pj4gICBfX3VpbnQzMl90IGRh
dGFzZWw7Cj4+PiAgIHN0cnVjdCBfZnByZWcgX3N0WzhdOwo+Pj4gICB1bnNpZ25lZCBzaG9ydCBz
dGF0dXM7Cj4+PiAgIHVuc2lnbmVkIHNob3J0IG1hZ2ljOwo+Pj4KPj4+Cj4+PiAgIF9fdWludDMy
X3QgX2Z4c3JfZW52WzZdOwo+Pj4gICBfX3VpbnQzMl90IG14Y3NyOwo+Pj4gICBfX3VpbnQzMl90
IHJlc2VydmVkOwo+Pj4gICBzdHJ1Y3QgX2ZweHJlZyBfZnhzcl9zdFs4XTsKPj4+ICAgc3RydWN0
IF94bW1yZWcgX3htbVs4XTsKPj4+ICAgX191aW50MzJfdCBwYWRkaW5nWzU2XTsKPj4+IH07Cj4+
PiAjIDkzICIvdXNyL2luY2x1ZGUvYml0cy9zaWdjb250ZXh0LmgiIDMgNAo+Pj4gc3RydWN0IHNp
Z2NvbnRleHQKPj4+IHsKPj4+ICAgdW5zaWduZWQgc2hvcnQgZ3MsIF9fZ3NoOwo+Pj4gICB1bnNp
Z25lZCBzaG9ydCBmcywgX19mc2g7Cj4+PiAgIHVuc2lnbmVkIHNob3J0IGVzLCBfX2VzaDsKPj4+
ICAgdW5zaWduZWQgc2hvcnQgZHMsIF9fZHNoOwo+Pj4gICB1bnNpZ25lZCBsb25nIGVkaTsKPj4+
ICAgdW5zaWduZWQgbG9uZyBlc2k7Cj4+PiAgIHVuc2lnbmVkIGxvbmcgZWJwOwo+Pj4gICB1bnNp
Z25lZCBsb25nIGVzcDsKPj4+ICAgdW5zaWduZWQgbG9uZyBlYng7Cj4+PiAgIHVuc2lnbmVkIGxv
bmcgZWR4Owo+Pj4gICB1bnNpZ25lZCBsb25nIGVjeDsKPj4+ICAgdW5zaWduZWQgbG9uZyBlYXg7
Cj4+PiAgIHVuc2lnbmVkIGxvbmcgdHJhcG5vOwo+Pj4gICB1bnNpZ25lZCBsb25nIGVycjsKPj4+
ICAgdW5zaWduZWQgbG9uZyBlaXA7Cj4+PiAgIHVuc2lnbmVkIHNob3J0IGNzLCBfX2NzaDsKPj4+
ICAgdW5zaWduZWQgbG9uZyBlZmxhZ3M7Cj4+PiAgIHVuc2lnbmVkIGxvbmcgZXNwX2F0X3NpZ25h
bDsKPj4+ICAgdW5zaWduZWQgc2hvcnQgc3MsIF9fc3NoOwo+Pj4gICBzdHJ1Y3QgX2Zwc3RhdGUg
KiBmcHN0YXRlOwo+Pj4gICB1bnNpZ25lZCBsb25nIG9sZG1hc2s7Cj4+PiAgIHVuc2lnbmVkIGxv
bmcgY3IyOwo+Pj4gfTsKPj4+ICMgMTc1ICIvdXNyL2luY2x1ZGUvYml0cy9zaWdjb250ZXh0Lmgi
IDMgNAo+Pj4gc3RydWN0IF94c2F2ZV9oZHIKPj4+IHsKPj4+ICAgX191aW50NjRfdCB4c3RhdGVf
YnY7Cj4+PiAgIF9fdWludDY0X3QgcmVzZXJ2ZWQxWzJdOwo+Pj4gICBfX3VpbnQ2NF90IHJlc2Vy
dmVkMls1XTsKPj4+IH07Cj4+Pgo+Pj4gc3RydWN0IF95bW1oX3N0YXRlCj4+PiB7Cj4+PiAgIF9f
dWludDMyX3QgeW1taF9zcGFjZVs2NF07Cj4+PiB9Owo+Pj4KPj4+IHN0cnVjdCBfeHN0YXRlCj4+
PiB7Cj4+PiAgIHN0cnVjdCBfZnBzdGF0ZSBmcHN0YXRlOwo+Pj4gICBzdHJ1Y3QgX3hzYXZlX2hk
ciB4c3RhdGVfaGRyOwo+Pj4gICBzdHJ1Y3QgX3ltbWhfc3RhdGUgeW1taDsKPj4+IH07Cj4+PiAj
IDMwNyAiL3Vzci9pbmNsdWRlL3NpZ25hbC5oIiAyIDMgNAo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50
IHNpZ3JldHVybiAoc3RydWN0IHNpZ2NvbnRleHQgKl9fc2NwKSBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIv
dXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9zdGRkZWYuaCIgMSAz
IDQKPj4+ICMgMzE3ICIvdXNyL2luY2x1ZGUvc2lnbmFsLmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIGludCBzaWdpbnRlcnJ1cHQgKGludCBfX3NpZywgaW50IF9faW50ZXJydXB0
KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+ICMgMSAi
L3Vzci9pbmNsdWRlL2JpdHMvc2lnc3RhY2suaCIgMSAzIDQKPj4+ICMgMjUgIi91c3IvaW5jbHVk
ZS9iaXRzL3NpZ3N0YWNrLmgiIDMgNAo+Pj4gc3RydWN0IHNpZ3N0YWNrCj4+PiAgIHsKPj4+ICAg
ICB2b2lkICpzc19zcDsKPj4+ICAgICBpbnQgc3Nfb25zdGFjazsKPj4+ICAgfTsKPj4+Cj4+Pgo+
Pj4KPj4+IGVudW0KPj4+IHsKPj4+ICAgU1NfT05TVEFDSyA9IDEsCj4+Pgo+Pj4gICBTU19ESVNB
QkxFCj4+Pgo+Pj4gfTsKPj4+ICMgNDkgIi91c3IvaW5jbHVkZS9iaXRzL3NpZ3N0YWNrLmgiIDMg
NAo+Pj4gdHlwZWRlZiBzdHJ1Y3Qgc2lnYWx0c3RhY2sKPj4+ICAgewo+Pj4gICAgIHZvaWQgKnNz
X3NwOwo+Pj4gICAgIGludCBzc19mbGFnczsKPj4+ICAgICBzaXplX3Qgc3Nfc2l6ZTsKPj4+ICAg
fSBzdGFja190Owo+Pj4gIyAzMjQgIi91c3IvaW5jbHVkZS9zaWduYWwuaCIgMiAzIDQKPj4+Cj4+
Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lzL3Vjb250ZXh0LmgiIDEgMyA0Cj4+PiAjIDIyICIv
dXNyL2luY2x1ZGUvc3lzL3Vjb250ZXh0LmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc2ln
bmFsLmgiIDEgMyA0Cj4+PiAjIDIzICIvdXNyL2luY2x1ZGUvc3lzL3Vjb250ZXh0LmgiIDIgMyA0
Cj4+PiAjIDE0NiAiL3Vzci9pbmNsdWRlL3N5cy91Y29udGV4dC5oIiAzIDQKPj4+IHR5cGVkZWYg
aW50IGdyZWdfdDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gdHlwZWRlZiBncmVnX3QgZ3JlZ3Nl
dF90WzE5XTsKPj4+ICMgMjAwICIvdXNyL2luY2x1ZGUvc3lzL3Vjb250ZXh0LmgiIDMgNAo+Pj4g
c3RydWN0IF9saWJjX2ZwcmVnCj4+PiB7Cj4+PiAgIHVuc2lnbmVkIHNob3J0IGludCBzaWduaWZp
Y2FuZFs0XTsKPj4+ICAgdW5zaWduZWQgc2hvcnQgaW50IGV4cG9uZW50Owo+Pj4gfTsKPj4+Cj4+
PiBzdHJ1Y3QgX2xpYmNfZnBzdGF0ZQo+Pj4gewo+Pj4gICB1bnNpZ25lZCBsb25nIGludCBjdzsK
Pj4+ICAgdW5zaWduZWQgbG9uZyBpbnQgc3c7Cj4+PiAgIHVuc2lnbmVkIGxvbmcgaW50IHRhZzsK
Pj4+ICAgdW5zaWduZWQgbG9uZyBpbnQgaXBvZmY7Cj4+PiAgIHVuc2lnbmVkIGxvbmcgaW50IGNz
c2VsOwo+Pj4gICB1bnNpZ25lZCBsb25nIGludCBkYXRhb2ZmOwo+Pj4gICB1bnNpZ25lZCBsb25n
IGludCBkYXRhc2VsOwo+Pj4gICBzdHJ1Y3QgX2xpYmNfZnByZWcgX3N0WzhdOwo+Pj4gICB1bnNp
Z25lZCBsb25nIGludCBzdGF0dXM7Cj4+PiB9Owo+Pj4KPj4+Cj4+PiB0eXBlZGVmIHN0cnVjdCBf
bGliY19mcHN0YXRlICpmcHJlZ3NldF90Owo+Pj4KPj4+Cj4+PiB0eXBlZGVmIHN0cnVjdAo+Pj4g
ICB7Cj4+PiAgICAgZ3JlZ3NldF90IGdyZWdzOwo+Pj4KPj4+Cj4+PiAgICAgZnByZWdzZXRfdCBm
cHJlZ3M7Cj4+PiAgICAgdW5zaWduZWQgbG9uZyBpbnQgb2xkbWFzazsKPj4+ICAgICB1bnNpZ25l
ZCBsb25nIGludCBjcjI7Cj4+PiAgIH0gbWNvbnRleHRfdDsKPj4+Cj4+Pgo+Pj4gdHlwZWRlZiBz
dHJ1Y3QgdWNvbnRleHQKPj4+ICAgewo+Pj4gICAgIHVuc2lnbmVkIGxvbmcgaW50IHVjX2ZsYWdz
Owo+Pj4gICAgIHN0cnVjdCB1Y29udGV4dCAqdWNfbGluazsKPj4+ICAgICBzdGFja190IHVjX3N0
YWNrOwo+Pj4gICAgIG1jb250ZXh0X3QgdWNfbWNvbnRleHQ7Cj4+PiAgICAgX19zaWdzZXRfdCB1
Y19zaWdtYXNrOwo+Pj4gICAgIHN0cnVjdCBfbGliY19mcHN0YXRlIF9fZnByZWdzX21lbTsKPj4+
ICAgfSB1Y29udGV4dF90Owo+Pj4gIyAzMjcgIi91c3IvaW5jbHVkZS9zaWduYWwuaCIgMiAzIDQK
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzaWdzdGFjayAoc3RydWN0IHNpZ3N0
YWNrICpfX3NzLCBzdHJ1Y3Qgc2lnc3RhY2sgKl9fb3NzKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2RlcHJlY2F0ZWRf
XykpOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzaWdhbHRzdGFjayAoY29uc3Qgc3RydWN0
IHNpZ2FsdHN0YWNrICpfX3Jlc3RyaWN0IF9fc3MsCj4+PiAgICBzdHJ1Y3Qgc2lnYWx0c3RhY2sg
Kl9fcmVzdHJpY3QgX19vc3MpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSk7Cj4+PiAjIDM2MiAiL3Vzci9pbmNsdWRlL3NpZ25hbC5oIiAzIDQKPj4+ICMgMSAiL3Vzci9p
bmNsdWRlL2JpdHMvc2lndGhyZWFkLmgiIDEgMyA0Cj4+PiAjIDMwICIvdXNyL2luY2x1ZGUvYml0
cy9zaWd0aHJlYWQuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHB0aHJlYWRfc2lnbWFzayAoaW50IF9f
aG93LAo+Pj4gICAgICAgIGNvbnN0IF9fc2lnc2V0X3QgKl9fcmVzdHJpY3QgX19uZXdtYXNrLAo+
Pj4gICAgICAgIF9fc2lnc2V0X3QgKl9fcmVzdHJpY3QgX19vbGRtYXNrKV9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgcHRocmVh
ZF9raWxsIChwdGhyZWFkX3QgX190aHJlYWRpZCwgaW50IF9fc2lnbm8pIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiAjIDM2MyAiL3Vzci9pbmNsdWRlL3NpZ25h
bC5oIiAyIDMgNAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBfX2xpYmNf
Y3VycmVudF9zaWdydG1pbiAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPj4+Cj4+PiBleHRlcm4gaW50IF9fbGliY19jdXJyZW50X3NpZ3J0bWF4ICh2b2lk
KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+ICMgNDIgIm1hY2hpbmUuYyIgMgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvZXJybm8uaCIg
MSAzIDQKPj4+ICMgMzEgIi91c3IvaW5jbHVkZS9lcnJuby5oIiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL2Vycm5vLmgiIDEgMyA0Cj4+PiAjIDI0ICIvdXNy
L2luY2x1ZGUvYml0cy9lcnJuby5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2xpbnV4L2Vy
cm5vLmgiIDEgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9hc20vZXJybm8uaCIgMSAzIDQKPj4+
ICMgMSAiL3Vzci9pbmNsdWRlL2FzbS1nZW5lcmljL2Vycm5vLmgiIDEgMyA0Cj4+Pgo+Pj4KPj4+
Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9hc20tZ2VuZXJpYy9lcnJuby1iYXNlLmgiIDEgMyA0Cj4+
PiAjIDUgIi91c3IvaW5jbHVkZS9hc20tZ2VuZXJpYy9lcnJuby5oIiAyIDMgNAo+Pj4gIyAxICIv
dXNyL2luY2x1ZGUvYXNtL2Vycm5vLmgiIDIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9saW51
eC9lcnJuby5oIiAyIDMgNAo+Pj4gIyAyNSAiL3Vzci9pbmNsdWRlL2JpdHMvZXJybm8uaCIgMiAz
IDQKPj4+ICMgNTAgIi91c3IvaW5jbHVkZS9iaXRzL2Vycm5vLmgiIDMgNAo+Pj4gZXh0ZXJuIGlu
dCAqX19lcnJub19sb2NhdGlvbiAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7Cj4+PiAjIDM2ICIvdXNyL2lu
Y2x1ZGUvZXJybm8uaCIgMiAzIDQKPj4+ICMgNTggIi91c3IvaW5jbHVkZS9lcnJuby5oIiAzIDQK
Pj4+Cj4+PiAjIDQzICJtYWNoaW5lLmMiIDIKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2ZjbnRsLmgi
IDEgMyA0Cj4+PiAjIDI4ICIvdXNyL2luY2x1ZGUvZmNudGwuaCIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9mY250bC5oIiAxIDMgNAo+
Pj4gIyAzNSAiL3Vzci9pbmNsdWRlL2JpdHMvZmNudGwuaCIgMyA0Cj4+PiBzdHJ1Y3QgZmxvY2sK
Pj4+ICAgewo+Pj4gICAgIHNob3J0IGludCBsX3R5cGU7Cj4+PiAgICAgc2hvcnQgaW50IGxfd2hl
bmNlOwo+Pj4KPj4+ICAgICBfX29mZl90IGxfc3RhcnQ7Cj4+PiAgICAgX19vZmZfdCBsX2xlbjsK
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAgICAgX19waWRfdCBsX3BpZDsKPj4+ICAgfTsKPj4+ICMgNjEg
Ii91c3IvaW5jbHVkZS9iaXRzL2ZjbnRsLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0
cy9mY250bC1saW51eC5oIiAxIDMgNAo+Pj4gIyAzNDUgIi91c3IvaW5jbHVkZS9iaXRzL2ZjbnRs
LWxpbnV4LmgiIDMgNAo+Pj4KPj4+ICMgNDE5ICIvdXNyL2luY2x1ZGUvYml0cy9mY250bC1saW51
eC5oIiAzIDQKPj4+Cj4+PiAjIDYxICIvdXNyL2luY2x1ZGUvYml0cy9mY250bC5oIiAyIDMgNAo+
Pj4gIyAzNiAiL3Vzci9pbmNsdWRlL2ZjbnRsLmgiIDIgMyA0Cj4+PiAjIDc2ICIvdXNyL2luY2x1
ZGUvZmNudGwuaCIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS90aW1lLmgiIDEgMyA0Cj4+PiAj
IDc3ICIvdXNyL2luY2x1ZGUvZmNudGwuaCIgMiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2Jp
dHMvc3RhdC5oIiAxIDMgNAo+Pj4gIyA0NiAiL3Vzci9pbmNsdWRlL2JpdHMvc3RhdC5oIiAzIDQK
Pj4+IHN0cnVjdCBzdGF0Cj4+PiAgIHsKPj4+ICAgICBfX2Rldl90IHN0X2RldjsKPj4+Cj4+PiAg
ICAgdW5zaWduZWQgc2hvcnQgaW50IF9fcGFkMTsKPj4+Cj4+Pgo+Pj4gICAgIF9faW5vX3Qgc3Rf
aW5vOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+ICAgICBfX21vZGVfdCBzdF9tb2RlOwo+Pj4gICAgIF9f
bmxpbmtfdCBzdF9ubGluazsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAgICAgX191aWRfdCBzdF91aWQ7
Cj4+PiAgICAgX19naWRfdCBzdF9naWQ7Cj4+Pgo+Pj4KPj4+Cj4+PiAgICAgX19kZXZfdCBzdF9y
ZGV2Owo+Pj4KPj4+ICAgICB1bnNpZ25lZCBzaG9ydCBpbnQgX19wYWQyOwo+Pj4KPj4+Cj4+PiAg
ICAgX19vZmZfdCBzdF9zaXplOwo+Pj4KPj4+Cj4+Pgo+Pj4gICAgIF9fYmxrc2l6ZV90IHN0X2Js
a3NpemU7Cj4+Pgo+Pj4gICAgIF9fYmxrY250X3Qgc3RfYmxvY2tzOwo+Pj4gIyA5MSAiL3Vzci9p
bmNsdWRlL2JpdHMvc3RhdC5oIiAzIDQKPj4+ICAgICBzdHJ1Y3QgdGltZXNwZWMgc3RfYXRpbTsK
Pj4+ICAgICBzdHJ1Y3QgdGltZXNwZWMgc3RfbXRpbTsKPj4+ICAgICBzdHJ1Y3QgdGltZXNwZWMg
c3RfY3RpbTsKPj4+ICMgMTA5ICIvdXNyL2luY2x1ZGUvYml0cy9zdGF0LmgiIDMgNAo+Pj4gICAg
IHVuc2lnbmVkIGxvbmcgaW50IF9fZ2xpYmNfcmVzZXJ2ZWQ0Owo+Pj4gICAgIHVuc2lnbmVkIGxv
bmcgaW50IF9fZ2xpYmNfcmVzZXJ2ZWQ1Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+ICAgfTsKPj4+ICMg
NzggIi91c3IvaW5jbHVkZS9mY250bC5oIiAyIDMgNAo+Pj4gIyAxNjkgIi91c3IvaW5jbHVkZS9m
Y250bC5oIiAzIDQKPj4+IGV4dGVybiBpbnQgZmNudGwgKGludCBfX2ZkLCBpbnQgX19jbWQsIC4u
Lik7Cj4+PiAjIDE3OSAiL3Vzci9pbmNsdWRlL2ZjbnRsLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBv
cGVuIChjb25zdCBjaGFyICpfX2ZpbGUsIGludCBfX29mbGFnLCAuLi4pIF9fYXR0cmlidXRlX18g
KChfX25vbm51bGxfXyAoMSkpKTsKPj4+ICMgMjAzICIvdXNyL2luY2x1ZGUvZmNudGwuaCIgMyA0
Cj4+PiBleHRlcm4gaW50IG9wZW5hdCAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fZmlsZSwgaW50
IF9fb2ZsYWcsIC4uLikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyKSkp
Owo+Pj4gIyAyMjUgIi91c3IvaW5jbHVkZS9mY250bC5oIiAzIDQKPj4+IGV4dGVybiBpbnQgY3Jl
YXQgKGNvbnN0IGNoYXIgKl9fZmlsZSwgbW9kZV90IF9fbW9kZSkgX19hdHRyaWJ1dGVfXyAoKF9f
bm9ubnVsbF9fICgxKSkpOwo+Pj4gIyAyNTQgIi91c3IvaW5jbHVkZS9mY250bC5oIiAzIDQKPj4+
IGV4dGVybiBpbnQgbG9ja2YgKGludCBfX2ZkLCBpbnQgX19jbWQsIG9mZl90IF9fbGVuKTsKPj4+
ICMgMjcxICIvdXNyL2luY2x1ZGUvZmNudGwuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHBvc2l4X2Zh
ZHZpc2UgKGludCBfX2ZkLCBvZmZfdCBfX29mZnNldCwgb2ZmX3QgX19sZW4sCj4+PiAgICAgIGlu
dCBfX2FkdmlzZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+
ICMgMjkzICIvdXNyL2luY2x1ZGUvZmNudGwuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHBvc2l4X2Zh
bGxvY2F0ZSAoaW50IF9fZmQsIG9mZl90IF9fb2Zmc2V0LCBvZmZfdCBfX2xlbik7Cj4+PiAjIDMx
NSAiL3Vzci9pbmNsdWRlL2ZjbnRsLmgiIDMgNAo+Pj4KPj4+ICMgNDQgIm1hY2hpbmUuYyIgMgo+
Pj4gIyAxICIvdXNyL2luY2x1ZGUvY3R5cGUuaCIgMSAzIDQKPj4+ICMgMjggIi91c3IvaW5jbHVk
ZS9jdHlwZS5oIiAzIDQKPj4+Cj4+PiAjIDQ2ICIvdXNyL2luY2x1ZGUvY3R5cGUuaCIgMyA0Cj4+
PiBlbnVtCj4+PiB7Cj4+PiAgIF9JU3VwcGVyID0gKCgwKSA8IDggPyAoKDEgPDwgKDApKSA8PCA4
KSA6ICgoMSA8PCAoMCkpID4+IDgpKSwKPj4+ICAgX0lTbG93ZXIgPSAoKDEpIDwgOCA/ICgoMSA8
PCAoMSkpIDw8IDgpIDogKCgxIDw8ICgxKSkgPj4gOCkpLAo+Pj4gICBfSVNhbHBoYSA9ICgoMikg
PCA4ID8gKCgxIDw8ICgyKSkgPDwgOCkgOiAoKDEgPDwgKDIpKSA+PiA4KSksCj4+PiAgIF9JU2Rp
Z2l0ID0gKCgzKSA8IDggPyAoKDEgPDwgKDMpKSA8PCA4KSA6ICgoMSA8PCAoMykpID4+IDgpKSwK
Pj4+ICAgX0lTeGRpZ2l0ID0gKCg0KSA8IDggPyAoKDEgPDwgKDQpKSA8PCA4KSA6ICgoMSA8PCAo
NCkpID4+IDgpKSwKPj4+ICAgX0lTc3BhY2UgPSAoKDUpIDwgOCA/ICgoMSA8PCAoNSkpIDw8IDgp
IDogKCgxIDw8ICg1KSkgPj4gOCkpLAo+Pj4gICBfSVNwcmludCA9ICgoNikgPCA4ID8gKCgxIDw8
ICg2KSkgPDwgOCkgOiAoKDEgPDwgKDYpKSA+PiA4KSksCj4+PiAgIF9JU2dyYXBoID0gKCg3KSA8
IDggPyAoKDEgPDwgKDcpKSA8PCA4KSA6ICgoMSA8PCAoNykpID4+IDgpKSwKPj4+ICAgX0lTYmxh
bmsgPSAoKDgpIDwgOCA/ICgoMSA8PCAoOCkpIDw8IDgpIDogKCgxIDw8ICg4KSkgPj4gOCkpLAo+
Pj4gICBfSVNjbnRybCA9ICgoOSkgPCA4ID8gKCgxIDw8ICg5KSkgPDwgOCkgOiAoKDEgPDwgKDkp
KSA+PiA4KSksCj4+PiAgIF9JU3B1bmN0ID0gKCgxMCkgPCA4ID8gKCgxIDw8ICgxMCkpIDw8IDgp
IDogKCgxIDw8ICgxMCkpID4+IDgpKSwKPj4+ICAgX0lTYWxudW0gPSAoKDExKSA8IDggPyAoKDEg
PDwgKDExKSkgPDwgOCkgOiAoKDEgPDwgKDExKSkgPj4gOCkpCj4+PiB9Owo+Pj4gIyA3OSAiL3Vz
ci9pbmNsdWRlL2N0eXBlLmgiIDMgNAo+Pj4gZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIHNob3J0IGlu
dCAqKl9fY3R5cGVfYl9sb2MgKHZvaWQpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+Pj4gZXh0ZXJu
IGNvbnN0IF9faW50MzJfdCAqKl9fY3R5cGVfdG9sb3dlcl9sb2MgKHZvaWQpCj4+PiAgICAgIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9f
Y29uc3RfXykpOwo+Pj4gZXh0ZXJuIGNvbnN0IF9faW50MzJfdCAqKl9fY3R5cGVfdG91cHBlcl9s
b2MgKHZvaWQpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSkgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+Pj4gIyAxMDQgIi91c3IvaW5jbHVkZS9j
dHlwZS5oIiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgaXNhbG51
bSAoaW50KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gZXh0
ZXJuIGludCBpc2FscGhhIChpbnQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4+PiBleHRlcm4gaW50IGlzY250cmwgKGludCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiBpbnQgaXNkaWdpdCAoaW50KSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gZXh0ZXJuIGludCBpc2xvd2Vy
IChpbnQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiBleHRl
cm4gaW50IGlzZ3JhcGggKGludCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKTsKPj4+IGV4dGVybiBpbnQgaXNwcmludCAoaW50KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+Pj4gZXh0ZXJuIGludCBpc3B1bmN0IChpbnQpIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiBleHRlcm4gaW50IGlzc3BhY2Ug
KGludCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVy
biBpbnQgaXN1cHBlciAoaW50KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpOwo+Pj4gZXh0ZXJuIGludCBpc3hkaWdpdCAoaW50KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB0b2xvd2VyIChp
bnQgX19jKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+
Cj4+PiBleHRlcm4gaW50IHRvdXBwZXIgKGludCBfX2MpIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4
dGVybiBpbnQgaXNibGFuayAoaW50KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+Pj4KPj4+Cj4+PiAjIDE1MCAiL3Vzci9pbmNsdWRlL2N0eXBlLmgiIDMgNAo+Pj4g
ZXh0ZXJuIGludCBpc2FzY2lpIChpbnQgX19jKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB0b2FzY2lpIChpbnQgX19j
KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIGludCBfdG91cHBlciAoaW50KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpOwo+Pj4gZXh0ZXJuIGludCBfdG9sb3dlciAoaW50KSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gIyAyNTcgIi91c3IvaW5jbHVkZS9jdHlw
ZS5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3hsb2NhbGUuaCIgMSAzIDQKPj4+ICMgMjcg
Ii91c3IvaW5jbHVkZS94bG9jYWxlLmgiIDMgNAo+Pj4gdHlwZWRlZiBzdHJ1Y3QgX19sb2NhbGVf
c3RydWN0Cj4+PiB7Cj4+Pgo+Pj4gICBzdHJ1Y3QgX19sb2NhbGVfZGF0YSAqX19sb2NhbGVzWzEz
XTsKPj4+Cj4+Pgo+Pj4gICBjb25zdCB1bnNpZ25lZCBzaG9ydCBpbnQgKl9fY3R5cGVfYjsKPj4+
ICAgY29uc3QgaW50ICpfX2N0eXBlX3RvbG93ZXI7Cj4+PiAgIGNvbnN0IGludCAqX19jdHlwZV90
b3VwcGVyOwo+Pj4KPj4+Cj4+PiAgIGNvbnN0IGNoYXIgKl9fbmFtZXNbMTNdOwo+Pj4gfSAqX19s
b2NhbGVfdDsKPj4+Cj4+Pgo+Pj4gdHlwZWRlZiBfX2xvY2FsZV90IGxvY2FsZV90Owo+Pj4gIyAy
NTggIi91c3IvaW5jbHVkZS9jdHlwZS5oIiAyIDMgNAo+Pj4gIyAyNzEgIi91c3IvaW5jbHVkZS9j
dHlwZS5oIiAzIDQKPj4+IGV4dGVybiBpbnQgaXNhbG51bV9sIChpbnQsIF9fbG9jYWxlX3QpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiBleHRlcm4gaW50IGlz
YWxwaGFfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+Pj4gZXh0ZXJuIGludCBpc2NudHJsX2wgKGludCwgX19sb2NhbGVfdCkgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiBpbnQgaXNk
aWdpdF9sIChpbnQsIF9fbG9jYWxlX3QpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSk7Cj4+PiBleHRlcm4gaW50IGlzbG93ZXJfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gZXh0ZXJuIGludCBpc2dy
YXBoX2wgKGludCwgX19sb2NhbGVfdCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPj4+IGV4dGVybiBpbnQgaXNwcmludF9sIChpbnQsIF9fbG9jYWxlX3QpIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiBleHRlcm4gaW50IGlzcHVu
Y3RfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+Pj4gZXh0ZXJuIGludCBpc3NwYWNlX2wgKGludCwgX19sb2NhbGVfdCkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiBpbnQgaXN1cHBl
cl9sIChpbnQsIF9fbG9jYWxlX3QpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSk7Cj4+PiBleHRlcm4gaW50IGlzeGRpZ2l0X2wgKGludCwgX19sb2NhbGVfdCkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+PiBleHRlcm4gaW50IGlz
YmxhbmtfbCAoaW50LCBfX2xvY2FsZV90KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBfX3RvbG93ZXJfbCAoaW50IF9f
YywgX19sb2NhbGVfdCBfX2wpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSk7Cj4+PiBleHRlcm4gaW50IHRvbG93ZXJfbCAoaW50IF9fYywgX19sb2NhbGVfdCBfX2wpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVy
biBpbnQgX190b3VwcGVyX2wgKGludCBfX2MsIF9fbG9jYWxlX3QgX19sKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gZXh0ZXJuIGludCB0b3VwcGVyX2wgKGlu
dCBfX2MsIF9fbG9jYWxlX3QgX19sKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+Pj4gIyAzNDcgIi91c3IvaW5jbHVkZS9jdHlwZS5oIiAzIDQKPj4+Cj4+PiAjIDQ1
ICJtYWNoaW5lLmMiIDIKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAxIDMgNAo+Pj4g
IyAyNyAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4g
IyAxICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9zdGRkZWYu
aCIgMSAzIDQKPj4+ICMgMzMgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMiAzIDQKPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkICptZW1jcHkgKHZvaWQg
Kl9fcmVzdHJpY3QgX19kZXN0LCBjb25zdCB2b2lkICpfX3Jlc3RyaWN0IF9fc3JjLAo+Pj4gICAg
ICAgIHNpemVfdCBfX24pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+Cj4+PiBleHRlcm4g
dm9pZCAqbWVtbW92ZSAodm9pZCAqX19kZXN0LCBjb25zdCB2b2lkICpfX3NyYywgc2l6ZV90IF9f
bikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0
dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gdm9pZCAqbWVtY2NweSAodm9pZCAqX19yZXN0cmljdCBfX2Rlc3QsIGNvbnN0
IHZvaWQgKl9fcmVzdHJpY3QgX19zcmMsCj4+PiAgICAgICAgIGludCBfX2MsIHNpemVfdCBfX24p
Cj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBl
eHRlcm4gdm9pZCAqbWVtc2V0ICh2b2lkICpfX3MsIGludCBfX2MsIHNpemVfdCBfX24pIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9u
bnVsbF9fICgxKSkpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IG1lbWNtcCAoY29uc3Qgdm9pZCAq
X19zMSwgY29uc3Qgdm9pZCAqX19zMiwgc2l6ZV90IF9fbikKPj4+ICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBf
X2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4+PiAjIDkyICIvdXNyL2luY2x1
ZGUvc3RyaW5nLmgiIDMgNAo+Pj4gZXh0ZXJuIHZvaWQgKm1lbWNociAoY29uc3Qgdm9pZCAqX19z
LCBpbnQgX19jLCBzaXplX3QgX19uKQo+Pj4gICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+ICMgMTIzICIvdXNyL2luY2x1ZGUvc3Ry
aW5nLmgiIDMgNAo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqc3RyY3B5IChjaGFyICpfX3Jlc3Ry
aWN0IF9fZGVzdCwgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3NyYykKPj4+ICAgICAgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25u
dWxsX18gKDEsIDIpKSk7Cj4+Pgo+Pj4gZXh0ZXJuIGNoYXIgKnN0cm5jcHkgKGNoYXIgKl9fcmVz
dHJpY3QgX19kZXN0LAo+Pj4gICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fc3JjLCBz
aXplX3QgX19uKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+Cj4+Pgo+Pj4gZXh0
ZXJuIGNoYXIgKnN0cmNhdCAoY2hhciAqX19yZXN0cmljdCBfX2Rlc3QsIGNvbnN0IGNoYXIgKl9f
cmVzdHJpY3QgX19zcmMpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+IGV4
dGVybiBjaGFyICpzdHJuY2F0IChjaGFyICpfX3Jlc3RyaWN0IF9fZGVzdCwgY29uc3QgY2hhciAq
X19yZXN0cmljdCBfX3NyYywKPj4+ICAgICAgICAgc2l6ZV90IF9fbikgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEs
IDIpKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgc3RyY21wIChjb25zdCBjaGFyICpfX3MxLCBj
b25zdCBjaGFyICpfX3MyKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSwgMikpKTsKPj4+Cj4+PiBleHRlcm4gaW50IHN0cm5jbXAgKGNvbnN0IGNoYXIg
Kl9fczEsIGNvbnN0IGNoYXIgKl9fczIsIHNpemVfdCBfX24pCj4+PiAgICAgIF9fYXR0cmlidXRl
X18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+Cj4+PiBleHRlcm4g
aW50IHN0cmNvbGwgKGNvbnN0IGNoYXIgKl9fczEsIGNvbnN0IGNoYXIgKl9fczIpCj4+PiAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+
IGV4dGVybiBzaXplX3Qgc3RyeGZybSAoY2hhciAqX19yZXN0cmljdCBfX2Rlc3QsCj4+PiAgICAg
ICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fc3JjLCBzaXplX3QgX19uKQo+Pj4gICAgICBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMikpKTsKPj4+Cj4+PiAjIDE2MiAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAz
IDQKPj4+IGV4dGVybiBpbnQgc3RyY29sbF9sIChjb25zdCBjaGFyICpfX3MxLCBjb25zdCBjaGFy
ICpfX3MyLCBfX2xvY2FsZV90IF9fbCkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub25udWxsX18gKDEsIDIsIDMpKSk7Cj4+Pgo+Pj4gZXh0ZXJuIHNpemVfdCBzdHJ4ZnJt
X2wgKGNoYXIgKl9fZGVzdCwgY29uc3QgY2hhciAqX19zcmMsIHNpemVfdCBfX24sCj4+PiAgICAg
X19sb2NhbGVfdCBfX2wpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyLCA0KSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
IGV4dGVybiBjaGFyICpzdHJkdXAgKGNvbnN0IGNoYXIgKl9fcykKPj4+ICAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2Nf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+IGV4dGVybiBjaGFyICpzdHJuZHVwIChjb25zdCBjaGFyICpfX3N0cmluZywgc2l6
ZV90IF9fbikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2NfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxf
XyAoMSkpKTsKPj4+ICMgMjA2ICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+Pj4KPj4+ICMg
MjMxICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+Pj4gZXh0ZXJuIGNoYXIgKnN0cmNociAo
Y29uc3QgY2hhciAqX19zLCBpbnQgX19jKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRl
X18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+ICMgMjU4ICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgi
IDMgNAo+Pj4gZXh0ZXJuIGNoYXIgKnN0cnJjaHIgKGNvbnN0IGNoYXIgKl9fcywgaW50IF9fYykK
Pj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJp
YnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4+
Pgo+Pj4KPj4+ICMgMjc3ICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIHNpemVfdCBzdHJjc3BuIChjb25zdCBjaGFyICpfX3MsIGNvbnN0IGNoYXIgKl9f
cmVqZWN0KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
IF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAo
MSwgMikpKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHNpemVfdCBzdHJzcG4gKGNvbnN0IGNoYXIgKl9f
cywgY29uc3QgY2hhciAqX19hY2NlcHQpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4gIyAzMTAgIi91c3IvaW5jbHVkZS9zdHJpbmcu
aCIgMyA0Cj4+PiBleHRlcm4gY2hhciAqc3RycGJyayAoY29uc3QgY2hhciAqX19zLCBjb25zdCBj
aGFyICpfX2FjY2VwdCkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25u
dWxsX18gKDEsIDIpKSk7Cj4+PiAjIDMzNyAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAzIDQKPj4+
IGV4dGVybiBjaGFyICpzdHJzdHIgKGNvbnN0IGNoYXIgKl9faGF5c3RhY2ssIGNvbnN0IGNoYXIg
Kl9fbmVlZGxlKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxf
XyAoMSwgMikpKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqc3RydG9rIChjaGFy
ICpfX3Jlc3RyaWN0IF9fcywgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2RlbGltKQo+Pj4gICAg
ICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18g
KChfX25vbm51bGxfXyAoMikpKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqX19z
dHJ0b2tfciAoY2hhciAqX19yZXN0cmljdCBfX3MsCj4+PiAgICAgY29uc3QgY2hhciAqX19yZXN0
cmljdCBfX2RlbGltLAo+Pj4gICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fc2F2ZV9wdHIpCj4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgyLCAzKSkpOwo+Pj4KPj4+IGV4dGVybiBjaGFyICpzdHJ0b2tfciAo
Y2hhciAqX19yZXN0cmljdCBfX3MsIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19kZWxpbSwKPj4+
ICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fc2F2ZV9wdHIpCj4+PiAgICAgIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVs
bF9fICgyLCAzKSkpOwo+Pj4gIyAzOTIgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMyA0Cj4+Pgo+
Pj4KPj4+IGV4dGVybiBzaXplX3Qgc3RybGVuIChjb25zdCBjaGFyICpfX3MpCj4+PiAgICAgIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9f
cHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+Cj4+PiBleHRlcm4gc2l6ZV90IHN0cm5sZW4gKGNvbnN0IGNoYXIgKl9fc3RyaW5nLCBz
aXplX3QgX19tYXhsZW4pCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9u
bnVsbF9fICgxKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqc3RyZXJy
b3IgKGludCBfX2Vycm51bSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KTsKPj4+Cj4+PiAjIDQyMiAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAzIDQKPj4+IGV4dGVybiBp
bnQgc3RyZXJyb3JfciAoaW50IF9fZXJybnVtLCBjaGFyICpfX2J1Ziwgc2l6ZV90IF9fYnVmbGVu
KSBfX2FzbV9fICgiIiAiX194cGdfc3RyZXJyb3JfciIpIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSkKPj4+Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICBfX2F0dHJp
YnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4+PiAjIDQ0MCAiL3Vzci9pbmNsdWRlL3N0cmlu
Zy5oIiAzIDQKPj4+IGV4dGVybiBjaGFyICpzdHJlcnJvcl9sIChpbnQgX19lcnJudW0sIF9fbG9j
YWxlX3QgX19sKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBfX2J6ZXJvICh2b2lkICpfX3MsIHNpemVf
dCBfX24pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgYmNv
cHkgKGNvbnN0IHZvaWQgKl9fc3JjLCB2b2lkICpfX2Rlc3QsIHNpemVfdCBfX24pCj4+PiAgICAg
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBiemVybyAodm9p
ZCAqX19zLCBzaXplX3QgX19uKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJu
IGludCBiY21wIChjb25zdCB2b2lkICpfX3MxLCBjb25zdCB2b2lkICpfX3MyLCBzaXplX3QgX19u
KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0
cmlidXRlX18gKChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikp
KTsKPj4+ICMgNDg0ICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+Pj4gZXh0ZXJuIGNoYXIg
KmluZGV4IChjb25zdCBjaGFyICpfX3MsIGludCBfX2MpCj4+PiAgICAgIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4gIyA1MTIgIi91c3IvaW5jbHVkZS9z
dHJpbmcuaCIgMyA0Cj4+PiBleHRlcm4gY2hhciAqcmluZGV4IChjb25zdCBjaGFyICpfX3MsIGlu
dCBfX2MpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgx
KSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgZmZzIChpbnQgX19pKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0
X18pKTsKPj4+ICMgNTI5ICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+Pj4gZXh0ZXJuIGlu
dCBzdHJjYXNlY21wIChjb25zdCBjaGFyICpfX3MxLCBjb25zdCBjaGFyICpfX3MyKQo+Pj4gICAg
ICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18g
KChfX3B1cmVfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIGludCBzdHJuY2FzZWNtcCAoY29uc3QgY2hhciAqX19zMSwgY29uc3QgY2hh
ciAqX19zMiwgc2l6ZV90IF9fbikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEsIDIpKSk7Cj4+PiAjIDU1MiAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAz
IDQKPj4+IGV4dGVybiBjaGFyICpzdHJzZXAgKGNoYXIgKipfX3Jlc3RyaWN0IF9fc3RyaW5ncCwK
Pj4+ICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZGVsaW0pCj4+PiAgICAgIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9u
bnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBjaGFyICpzdHJzaWdu
YWwgKGludCBfX3NpZykgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsK
Pj4+Cj4+Pgo+Pj4gZXh0ZXJuIGNoYXIgKl9fc3RwY3B5IChjaGFyICpfX3Jlc3RyaWN0IF9fZGVz
dCwgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3NyYykKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEs
IDIpKSk7Cj4+PiBleHRlcm4gY2hhciAqc3RwY3B5IChjaGFyICpfX3Jlc3RyaWN0IF9fZGVzdCwg
Y29uc3QgY2hhciAqX19yZXN0cmljdCBfX3NyYykKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIp
KSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqX19zdHBuY3B5IChjaGFyICpfX3Jlc3Ry
aWN0IF9fZGVzdCwKPj4+ICAgIGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zcmMsIHNpemVfdCBf
X24pCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4gZXh0ZXJuIGNoYXIgKnN0cG5j
cHkgKGNoYXIgKl9fcmVzdHJpY3QgX19kZXN0LAo+Pj4gICAgICAgICBjb25zdCBjaGFyICpfX3Jl
c3RyaWN0IF9fc3JjLCBzaXplX3QgX19uKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsK
Pj4+ICMgNjU4ICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMgNAo+Pj4KPj4+ICMgNDYgIm1hY2hp
bmUuYyIgMgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvdGltZS5oIiAxIDMgNAo+Pj4gIyAyOSAiL3Vz
ci9pbmNsdWRlL3RpbWUuaCIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVm
LmgiIDEgMyA0Cj4+PiAjIDM4ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAyIDMgNAo+Pj4KPj4+Cj4+
Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy90aW1lLmgiIDEgMyA0Cj4+PiAjIDQyICIvdXNy
L2luY2x1ZGUvdGltZS5oIiAyIDMgNAo+Pj4gIyAxMzEgIi91c3IvaW5jbHVkZS90aW1lLmgiIDMg
NAo+Pj4KPj4+Cj4+PiBzdHJ1Y3QgdG0KPj4+IHsKPj4+ICAgaW50IHRtX3NlYzsKPj4+ICAgaW50
IHRtX21pbjsKPj4+ICAgaW50IHRtX2hvdXI7Cj4+PiAgIGludCB0bV9tZGF5Owo+Pj4gICBpbnQg
dG1fbW9uOwo+Pj4gICBpbnQgdG1feWVhcjsKPj4+ICAgaW50IHRtX3dkYXk7Cj4+PiAgIGludCB0
bV95ZGF5Owo+Pj4gICBpbnQgdG1faXNkc3Q7Cj4+Pgo+Pj4KPj4+ICAgbG9uZyBpbnQgdG1fZ210
b2ZmOwo+Pj4gICBjb25zdCBjaGFyICp0bV96b25lOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IH07Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHN0cnVjdCBpdGltZXJzcGVjCj4+PiAg
IHsKPj4+ICAgICBzdHJ1Y3QgdGltZXNwZWMgaXRfaW50ZXJ2YWw7Cj4+PiAgICAgc3RydWN0IHRp
bWVzcGVjIGl0X3ZhbHVlOwo+Pj4gICB9Owo+Pj4KPj4+Cj4+PiBzdHJ1Y3Qgc2lnZXZlbnQ7Cj4+
PiAjIDE4NiAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4g
Y2xvY2tfdCBjbG9jayAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHRpbWVfdCB0aW1lICh0aW1lX3QgKl9fdGltZXIpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVy
biBkb3VibGUgZGlmZnRpbWUgKHRpbWVfdCBfX3RpbWUxLCB0aW1lX3QgX190aW1lMCkKPj4+ICAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19jb25zdF9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiB0aW1lX3QgbWt0aW1lIChzdHJ1Y3Qg
dG0gKl9fdHApIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzaXplX3Qgc3RyZnRpbWUgKGNoYXIgKl9fcmVzdHJp
Y3QgX19zLCBzaXplX3QgX19tYXhzaXplLAo+Pj4gICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBf
X2Zvcm1hdCwKPj4+ICAgIGNvbnN0IHN0cnVjdCB0bSAqX19yZXN0cmljdCBfX3RwKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+ICMgMjIzICIvdXNyL2lu
Y2x1ZGUvdGltZS5oIiAzIDQKPj4+IGV4dGVybiBzaXplX3Qgc3RyZnRpbWVfbCAoY2hhciAqX19y
ZXN0cmljdCBfX3MsIHNpemVfdCBfX21heHNpemUsCj4+PiAgICAgIGNvbnN0IGNoYXIgKl9fcmVz
dHJpY3QgX19mb3JtYXQsCj4+PiAgICAgIGNvbnN0IHN0cnVjdCB0bSAqX19yZXN0cmljdCBfX3Rw
LAo+Pj4gICAgICBfX2xvY2FsZV90IF9fbG9jKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpOwo+Pj4gIyAyMzYgIi91c3IvaW5jbHVkZS90aW1lLmgiIDMgNAo+Pj4KPj4+
Cj4+Pgo+Pj4gZXh0ZXJuIHN0cnVjdCB0bSAqZ210aW1lIChjb25zdCB0aW1lX3QgKl9fdGltZXIp
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+
PiBleHRlcm4gc3RydWN0IHRtICpsb2NhbHRpbWUgKGNvbnN0IHRpbWVfdCAqX190aW1lcikgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIHN0cnVjdCB0bSAqZ210aW1lX3IgKGNvbnN0IHRpbWVfdCAqX19yZXN0cmlj
dCBfX3RpbWVyLAo+Pj4gICAgICAgIHN0cnVjdCB0bSAqX19yZXN0cmljdCBfX3RwKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJu
IHN0cnVjdCB0bSAqbG9jYWx0aW1lX3IgKGNvbnN0IHRpbWVfdCAqX19yZXN0cmljdCBfX3RpbWVy
LAo+Pj4gICAgICAgICAgIHN0cnVjdCB0bSAqX19yZXN0cmljdCBfX3RwKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRl
cm4gY2hhciAqYXNjdGltZSAoY29uc3Qgc3RydWN0IHRtICpfX3RwKSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqY3RpbWUg
KGNvbnN0IHRpbWVfdCAqX190aW1lcikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqYXNj
dGltZV9yIChjb25zdCBzdHJ1Y3QgdG0gKl9fcmVzdHJpY3QgX190cCwKPj4+ICAgIGNoYXIgKl9f
cmVzdHJpY3QgX19idWYpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4+Pgo+Pj4KPj4+IGV4dGVybiBjaGFyICpjdGltZV9yIChjb25zdCB0aW1lX3QgKl9fcmVzdHJp
Y3QgX190aW1lciwKPj4+ICAgICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1ZikgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRl
cm4gY2hhciAqX190em5hbWVbMl07Cj4+PiBleHRlcm4gaW50IF9fZGF5bGlnaHQ7Cj4+PiBleHRl
cm4gbG9uZyBpbnQgX190aW1lem9uZTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAq
dHpuYW1lWzJdOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgdHpzZXQgKHZvaWQpIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRl
cm4gaW50IGRheWxpZ2h0Owo+Pj4gZXh0ZXJuIGxvbmcgaW50IHRpbWV6b25lOwo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHN0aW1lIChjb25zdCB0aW1lX3QgKl9fd2hlbikgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgMzE5ICIvdXNyL2lu
Y2x1ZGUvdGltZS5oIiAzIDQKPj4+IGV4dGVybiB0aW1lX3QgdGltZWdtIChzdHJ1Y3QgdG0gKl9f
dHApIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+
IGV4dGVybiB0aW1lX3QgdGltZWxvY2FsIChzdHJ1Y3QgdG0gKl9fdHApIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgZHlzaXpl
IChpbnQgX195ZWFyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9f
YXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsKPj4+ICMgMzM0ICIvdXNyL2luY2x1ZGUvdGltZS5o
IiAzIDQKPj4+IGV4dGVybiBpbnQgbmFub3NsZWVwIChjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKl9f
cmVxdWVzdGVkX3RpbWUsCj4+PiAgICAgICAgIHN0cnVjdCB0aW1lc3BlYyAqX19yZW1haW5pbmcp
Owo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBjbG9ja19nZXRyZXMgKGNsb2NraWRfdCBfX2Ns
b2NrX2lkLCBzdHJ1Y3QgdGltZXNwZWMgKl9fcmVzKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGNsb2NrX2dldHRpbWUgKGNs
b2NraWRfdCBfX2Nsb2NrX2lkLCBzdHJ1Y3QgdGltZXNwZWMgKl9fdHApIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgY2xvY2tf
c2V0dGltZSAoY2xvY2tpZF90IF9fY2xvY2tfaWQsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyAqX190
cCkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgY2xvY2tfbmFub3NsZWVwIChjbG9j
a2lkX3QgX19jbG9ja19pZCwgaW50IF9fZmxhZ3MsCj4+PiAgICAgICAgY29uc3Qgc3RydWN0IHRp
bWVzcGVjICpfX3JlcSwKPj4+ICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgKl9fcmVtKTsKPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIGludCBjbG9ja19nZXRjcHVjbG9ja2lkIChwaWRfdCBfX3BpZCwgY2xvY2tp
ZF90ICpfX2Nsb2NrX2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgdGltZXJfY3JlYXRlIChjbG9ja2lkX3Qg
X19jbG9ja19pZCwKPj4+ICAgICBzdHJ1Y3Qgc2lnZXZlbnQgKl9fcmVzdHJpY3QgX19ldnAsCj4+
PiAgICAgdGltZXJfdCAqX19yZXN0cmljdCBfX3RpbWVyaWQpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgdGltZXJfZGVsZXRl
ICh0aW1lcl90IF9fdGltZXJpZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB0aW1lcl9zZXR0aW1lICh0aW1lcl90IF9fdGlt
ZXJpZCwgaW50IF9fZmxhZ3MsCj4+PiAgICAgIGNvbnN0IHN0cnVjdCBpdGltZXJzcGVjICpfX3Jl
c3RyaWN0IF9fdmFsdWUsCj4+PiAgICAgIHN0cnVjdCBpdGltZXJzcGVjICpfX3Jlc3RyaWN0IF9f
b3ZhbHVlKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+
Cj4+PiBleHRlcm4gaW50IHRpbWVyX2dldHRpbWUgKHRpbWVyX3QgX190aW1lcmlkLCBzdHJ1Y3Qg
aXRpbWVyc3BlYyAqX192YWx1ZSkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB0aW1lcl9nZXRvdmVycnVuICh0
aW1lcl90IF9fdGltZXJpZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB0aW1lc3BlY19nZXQgKHN0cnVj
dCB0aW1lc3BlYyAqX190cywgaW50IF9fYmFzZSkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7
Cj4+PiAjIDQzMCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMyA0Cj4+Pgo+Pj4gIyA0NyAibWFjaGlu
ZS5jIiAyCj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lzL3N0YXQuaCIgMSAzIDQKPj4+ICMg
MTAyICIvdXNyL2luY2x1ZGUvc3lzL3N0YXQuaCIgMyA0Cj4+Pgo+Pj4KPj4+ICMgMSAiL3Vzci9p
bmNsdWRlL2JpdHMvc3RhdC5oIiAxIDMgNAo+Pj4gIyAxMDUgIi91c3IvaW5jbHVkZS9zeXMvc3Rh
dC5oIiAyIDMgNAo+Pj4gIyAyMDggIi91c3IvaW5jbHVkZS9zeXMvc3RhdC5oIiAzIDQKPj4+IGV4
dGVybiBpbnQgc3RhdCAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2ZpbGUsCj4+PiAgICBzdHJ1
Y3Qgc3RhdCAqX19yZXN0cmljdCBfX2J1ZikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4+Pgo+Pj4K
Pj4+Cj4+PiBleHRlcm4gaW50IGZzdGF0IChpbnQgX19mZCwgc3RydWN0IHN0YXQgKl9fYnVmKSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMikpKTsKPj4+ICMgMjM3ICIvdXNyL2luY2x1ZGUvc3lzL3N0YXQuaCIgMyA0
Cj4+PiBleHRlcm4gaW50IGZzdGF0YXQgKGludCBfX2ZkLCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0
IF9fZmlsZSwKPj4+ICAgICAgIHN0cnVjdCBzdGF0ICpfX3Jlc3RyaWN0IF9fYnVmLCBpbnQgX19m
bGFnKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9f
YXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMiwgMykpKTsKPj4+ICMgMjYyICIvdXNyL2luY2x1
ZGUvc3lzL3N0YXQuaCIgMyA0Cj4+PiBleHRlcm4gaW50IGxzdGF0IChjb25zdCBjaGFyICpfX3Jl
c3RyaWN0IF9fZmlsZSwKPj4+ICAgICBzdHJ1Y3Qgc3RhdCAqX19yZXN0cmljdCBfX2J1ZikgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDEsIDIpKSk7Cj4+PiAjIDI4MyAiL3Vzci9pbmNsdWRlL3N5cy9zdGF0LmgiIDMg
NAo+Pj4gZXh0ZXJuIGludCBjaG1vZCAoY29uc3QgY2hhciAqX19maWxlLCBfX21vZGVfdCBfX21v
ZGUpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBl
eHRlcm4gaW50IGxjaG1vZCAoY29uc3QgY2hhciAqX19maWxlLCBfX21vZGVfdCBfX21vZGUpCj4+
PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQg
ZmNobW9kIChpbnQgX19mZCwgX19tb2RlX3QgX19tb2RlKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGZj
aG1vZGF0IChpbnQgX19mZCwgY29uc3QgY2hhciAqX19maWxlLCBfX21vZGVfdCBfX21vZGUsCj4+
PiAgICAgICAgaW50IF9fZmxhZykKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSkgOwo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIF9fbW9kZV90IHVtYXNrIChfX21vZGVfdCBfX21h
c2spIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiAjIDMyMCAi
L3Vzci9pbmNsdWRlL3N5cy9zdGF0LmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBta2RpciAoY29uc3Qg
Y2hhciAqX19wYXRoLCBfX21vZGVfdCBfX21vZGUpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkp
Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IG1rZGlyYXQgKGludCBfX2ZkLCBj
b25zdCBjaGFyICpfX3BhdGgsIF9fbW9kZV90IF9fbW9kZSkKPj4+ICAgICAgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18g
KDIpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IG1rbm9kIChjb25z
dCBjaGFyICpfX3BhdGgsIF9fbW9kZV90IF9fbW9kZSwgX19kZXZfdCBfX2RldikKPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgbWtu
b2RhdCAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fcGF0aCwgX19tb2RlX3QgX19tb2RlLAo+Pj4g
ICAgICAgX19kZXZfdCBfX2RldikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+IGV4dGVybiBpbnQgbWtmaWZvIChjb25zdCBjaGFyICpfX3BhdGgsIF9fbW9kZV90IF9f
bW9kZSkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBf
X2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
IGV4dGVybiBpbnQgbWtmaWZvYXQgKGludCBfX2ZkLCBjb25zdCBjaGFyICpfX3BhdGgsIF9fbW9k
ZV90IF9fbW9kZSkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+IGV4dGVybiBpbnQgdXRpbWVuc2F0IChpbnQgX19mZCwgY29uc3QgY2hhciAqX19wYXRo
LAo+Pj4gICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgX190aW1lc1syXSwKPj4+ICAgICAg
ICAgaW50IF9fZmxhZ3MpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyKSkpOwo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+IGV4dGVybiBpbnQgZnV0aW1lbnMgKGludCBfX2ZkLCBjb25zdCBzdHJ1Y3QgdGltZXNw
ZWMgX190aW1lc1syXSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsK
Pj4+ICMgMzk4ICIvdXNyL2luY2x1ZGUvc3lzL3N0YXQuaCIgMyA0Cj4+PiBleHRlcm4gaW50IF9f
ZnhzdGF0IChpbnQgX192ZXIsIGludCBfX2ZpbGRlcywgc3RydWN0IHN0YXQgKl9fc3RhdF9idWYp
Cj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgzKSkpOwo+Pj4gZXh0ZXJuIGludCBfX3hzdGF0IChpbnQg
X192ZXIsIGNvbnN0IGNoYXIgKl9fZmlsZW5hbWUsCj4+PiAgICAgICBzdHJ1Y3Qgc3RhdCAqX19z
dGF0X2J1ZikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJp
YnV0ZV9fICgoX19ub25udWxsX18gKDIsIDMpKSk7Cj4+PiBleHRlcm4gaW50IF9fbHhzdGF0IChp
bnQgX192ZXIsIGNvbnN0IGNoYXIgKl9fZmlsZW5hbWUsCj4+PiAgICAgICAgc3RydWN0IHN0YXQg
Kl9fc3RhdF9idWYpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19h
dHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyLCAzKSkpOwo+Pj4gZXh0ZXJuIGludCBfX2Z4c3Rh
dGF0IChpbnQgX192ZXIsIGludCBfX2ZpbGRlcywgY29uc3QgY2hhciAqX19maWxlbmFtZSwKPj4+
ICAgICAgICAgIHN0cnVjdCBzdGF0ICpfX3N0YXRfYnVmLCBpbnQgX19mbGFnKQo+Pj4gICAgICBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChf
X25vbm51bGxfXyAoMywgNCkpKTsKPj4+ICMgNDQxICIvdXNyL2luY2x1ZGUvc3lzL3N0YXQuaCIg
MyA0Cj4+PiBleHRlcm4gaW50IF9feG1rbm9kIChpbnQgX192ZXIsIGNvbnN0IGNoYXIgKl9fcGF0
aCwgX19tb2RlX3QgX19tb2RlLAo+Pj4gICAgICAgIF9fZGV2X3QgKl9fZGV2KSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxf
XyAoMiwgNCkpKTsKPj4+Cj4+PiBleHRlcm4gaW50IF9feG1rbm9kYXQgKGludCBfX3ZlciwgaW50
IF9fZmQsIGNvbnN0IGNoYXIgKl9fcGF0aCwKPj4+ICAgICAgICAgIF9fbW9kZV90IF9fbW9kZSwg
X19kZXZfdCAqX19kZXYpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgzLCA1KSkpOwo+Pj4gIyA1MzMg
Ii91c3IvaW5jbHVkZS9zeXMvc3RhdC5oIiAzIDQKPj4+Cj4+PiAjIDQ5ICJtYWNoaW5lLmMiIDIK
Pj4+Cj4+PiAjIDEgImdwX2NvbmZpZy5oIiAxCj4+PiAjIDMyNyAiZ3BfY29uZmlnLmgiCj4+PiAj
IDEgImFyY2hfZGVwLmgiIDEKPj4+ICMgMzI4ICJncF9jb25maWcuaCIgMgo+Pj4gIyAxICJwbF9s
b25nLmgiIDEKPj4+ICMgNDEgInBsX2xvbmcuaCIKPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYt
cmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkaW50LmgiIDEgMyA0Cj4+PiAjIDkgIi91c3Iv
bGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGludC5oIiAzIDQKPj4+
ICMgMSAiL3Vzci9pbmNsdWRlL3N0ZGludC5oIiAxIDMgNAo+Pj4gIyAyNiAiL3Vzci9pbmNsdWRl
L3N0ZGludC5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvd2NoYXIuaCIgMSAzIDQK
Pj4+ICMgMjcgIi91c3IvaW5jbHVkZS9zdGRpbnQuaCIgMiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNs
dWRlL2JpdHMvd29yZHNpemUuaCIgMSAzIDQKPj4+ICMgMjggIi91c3IvaW5jbHVkZS9zdGRpbnQu
aCIgMiAzIDQKPj4+ICMgNDggIi91c3IvaW5jbHVkZS9zdGRpbnQuaCIgMyA0Cj4+PiB0eXBlZGVm
IHVuc2lnbmVkIGNoYXIgdWludDhfdDsKPj4+IHR5cGVkZWYgdW5zaWduZWQgc2hvcnQgaW50IHVp
bnQxNl90Owo+Pj4KPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnQzMl90Owo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiBfX2V4dGVuc2lvbl9fCj4+PiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9u
ZyBpbnQgdWludDY0X3Q7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB0eXBlZGVmIHNpZ25l
ZCBjaGFyIGludF9sZWFzdDhfdDsKPj4+IHR5cGVkZWYgc2hvcnQgaW50IGludF9sZWFzdDE2X3Q7
Cj4+PiB0eXBlZGVmIGludCBpbnRfbGVhc3QzMl90Owo+Pj4KPj4+Cj4+Pgo+Pj4gX19leHRlbnNp
b25fXwo+Pj4gdHlwZWRlZiBsb25nIGxvbmcgaW50IGludF9sZWFzdDY0X3Q7Cj4+Pgo+Pj4KPj4+
Cj4+PiB0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludF9sZWFzdDhfdDsKPj4+IHR5cGVkZWYgdW5z
aWduZWQgc2hvcnQgaW50IHVpbnRfbGVhc3QxNl90Owo+Pj4gdHlwZWRlZiB1bnNpZ25lZCBpbnQg
dWludF9sZWFzdDMyX3Q7Cj4+Pgo+Pj4KPj4+Cj4+PiBfX2V4dGVuc2lvbl9fCj4+PiB0eXBlZGVm
IHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdWludF9sZWFzdDY0X3Q7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+Cj4+PiB0eXBlZGVmIHNpZ25lZCBjaGFyIGludF9mYXN0OF90Owo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+Cj4+PiB0eXBlZGVmIGludCBpbnRfZmFzdDE2X3Q7Cj4+PiB0eXBlZGVmIGludCBpbnRf
ZmFzdDMyX3Q7Cj4+PiBfX2V4dGVuc2lvbl9fCj4+PiB0eXBlZGVmIGxvbmcgbG9uZyBpbnQgaW50
X2Zhc3Q2NF90Owo+Pj4KPj4+Cj4+Pgo+Pj4gdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVpbnRfZmFz
dDhfdDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludF9m
YXN0MTZfdDsKPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnRfZmFzdDMyX3Q7Cj4+PiBfX2V4
dGVuc2lvbl9fCj4+PiB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgdWludF9mYXN0NjRf
dDsKPj4+ICMgMTI1ICIvdXNyL2luY2x1ZGUvc3RkaW50LmgiIDMgNAo+Pj4gdHlwZWRlZiBpbnQg
aW50cHRyX3Q7Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgdW5zaWduZWQgaW50IHVpbnRwdHJfdDsKPj4+
ICMgMTM3ICIvdXNyL2luY2x1ZGUvc3RkaW50LmgiIDMgNAo+Pj4gX19leHRlbnNpb25fXwo+Pj4g
dHlwZWRlZiBsb25nIGxvbmcgaW50IGludG1heF90Owo+Pj4gX19leHRlbnNpb25fXwo+Pj4gdHlw
ZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHVpbnRtYXhfdDsKPj4+ICMgMTAgIi91c3IvbGli
L2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGludC5oIiAyIDMgNAo+Pj4g
IyA0MiAicGxfbG9uZy5oIiAyCj4+Pgo+Pj4gIyAxICJncF9jb25maWcuaCIgMQo+Pj4gIyA0NCAi
cGxfbG9uZy5oIiAyCj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyA0NyAicGxfbG9uZy5oIgo+Pj4gdHlw
ZWRlZiBpbnRwdHJfdCBQbExvbmc7Cj4+PiB0eXBlZGVmIHVpbnRwdHJfdCBQbFVMb25nOwo+Pj4K
Pj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvaW50dHlwZXMuaCIgMSAzIDQKPj4+ICMgMzQg
Ii91c3IvaW5jbHVkZS9pbnR0eXBlcy5oIiAzIDQKPj4+Cj4+PiAjIDM0ICIvdXNyL2luY2x1ZGUv
aW50dHlwZXMuaCIgMyA0Cj4+PiB0eXBlZGVmIGxvbmcgaW50IF9fZ3djaGFyX3Q7Cj4+PiAjIDI2
NiAiL3Vzci9pbmNsdWRlL2ludHR5cGVzLmgiIDMgNAo+Pj4KPj4+ICMgMjgwICIvdXNyL2luY2x1
ZGUvaW50dHlwZXMuaCIgMyA0Cj4+PiB0eXBlZGVmIHN0cnVjdAo+Pj4gICB7Cj4+PiAgICAgX19l
eHRlbnNpb25fXyBsb25nIGxvbmcgaW50IHF1b3Q7Cj4+PiAgICAgX19leHRlbnNpb25fXyBsb25n
IGxvbmcgaW50IHJlbTsKPj4+ICAgfSBpbWF4ZGl2X3Q7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
IGV4dGVybiBpbnRtYXhfdCBpbWF4YWJzIChpbnRtYXhfdCBfX24pIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+Pj4K
Pj4+Cj4+PiBleHRlcm4gaW1heGRpdl90IGltYXhkaXYgKGludG1heF90IF9fbnVtZXIsIGludG1h
eF90IF9fZGVub20pCj4+PiAgICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGlu
dG1heF90IHN0cnRvaW1heCAoY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCj4+PiAgICAg
ICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwgaW50IF9fYmFzZSkgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHVpbnRtYXhfdCBz
dHJ0b3VtYXggKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAo+Pj4gICAgICAgIGNoYXIg
KiogX19yZXN0cmljdCBfX2VuZHB0ciwgaW50IF9fYmFzZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludG1heF90IHdjc3RvaW1h
eCAoY29uc3QgX19nd2NoYXJfdCAqX19yZXN0cmljdCBfX25wdHIsCj4+PiAgICAgICBfX2d3Y2hh
cl90ICoqX19yZXN0cmljdCBfX2VuZHB0ciwgaW50IF9fYmFzZSkKPj4+ICAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHVpbnRt
YXhfdCB3Y3N0b3VtYXggKGNvbnN0IF9fZ3djaGFyX3QgKl9fcmVzdHJpY3QgX19ucHRyLAo+Pj4g
ICAgICAgIF9fZ3djaGFyX3QgKiogX19yZXN0cmljdCBfX2VuZHB0ciwgaW50IF9fYmFzZSkKPj4+
ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgNDMy
ICIvdXNyL2luY2x1ZGUvaW50dHlwZXMuaCIgMyA0Cj4+Pgo+Pj4gIyA1MyAicGxfbG9uZy5oIiAy
Cj4+PiAjIDMyOSAiZ3BfY29uZmlnLmgiIDIKPj4+ICMgNTEgIm1hY2hpbmUuYyIgMgo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvcHdkLmgiIDEgMyA0Cj4+PiAj
IDI3ICIvdXNyL2luY2x1ZGUvcHdkLmgiIDMgNAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDEg
Ii91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGRlZi5oIiAx
IDMgNAo+Pj4gIyAzMyAiL3Vzci9pbmNsdWRlL3B3ZC5oIiAyIDMgNAo+Pj4gIyA0OSAiL3Vzci9p
bmNsdWRlL3B3ZC5oIiAzIDQKPj4+IHN0cnVjdCBwYXNzd2QKPj4+IHsKPj4+ICAgY2hhciAqcHdf
bmFtZTsKPj4+ICAgY2hhciAqcHdfcGFzc3dkOwo+Pj4gICBfX3VpZF90IHB3X3VpZDsKPj4+ICAg
X19naWRfdCBwd19naWQ7Cj4+PiAgIGNoYXIgKnB3X2dlY29zOwo+Pj4gICBjaGFyICpwd19kaXI7
Cj4+PiAgIGNoYXIgKnB3X3NoZWxsOwo+Pj4gfTsKPj4+ICMgNzIgIi91c3IvaW5jbHVkZS9wd2Qu
aCIgMyA0Cj4+PiBleHRlcm4gdm9pZCBzZXRwd2VudCAodm9pZCk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+IGV4dGVybiB2b2lkIGVuZHB3ZW50ICh2b2lkKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIHN0cnVjdCBwYXNzd2QgKmdldHB3ZW50ICh2b2lkKTsKPj4+ICMgOTQgIi91c3Iv
aW5jbHVkZS9wd2QuaCIgMyA0Cj4+PiBleHRlcm4gc3RydWN0IHBhc3N3ZCAqZmdldHB3ZW50IChG
SUxFICpfX3N0cmVhbSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgcHV0cHdlbnQgKGNvbnN0IHN0cnVj
dCBwYXNzd2QgKl9fcmVzdHJpY3QgX19wLAo+Pj4gICAgICAgIEZJTEUgKl9fcmVzdHJpY3QgX19m
KTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzdHJ1Y3QgcGFzc3dkICpnZXRw
d3VpZCAoX191aWRfdCBfX3VpZCk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzdHJ1
Y3QgcGFzc3dkICpnZXRwd25hbSAoY29uc3QgY2hhciAqX19uYW1lKSBfX2F0dHJpYnV0ZV9fICgo
X19ub25udWxsX18gKDEpKSk7Cj4+PiAjIDEzOSAiL3Vzci9pbmNsdWRlL3B3ZC5oIiAzIDQKPj4+
IGV4dGVybiBpbnQgZ2V0cHdlbnRfciAoc3RydWN0IHBhc3N3ZCAqX19yZXN0cmljdCBfX3Jlc3Vs
dGJ1ZiwKPj4+ICAgICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWZmZXIsIHNpemVfdCBfX2J1
ZmxlbiwKPj4+ICAgICAgICAgIHN0cnVjdCBwYXNzd2QgKipfX3Jlc3RyaWN0IF9fcmVzdWx0KQo+
Pj4gICAgICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyLCA0KSkpOwo+Pj4K
Pj4+Cj4+PiBleHRlcm4gaW50IGdldHB3dWlkX3IgKF9fdWlkX3QgX191aWQsCj4+PiAgICAgICAg
ICBzdHJ1Y3QgcGFzc3dkICpfX3Jlc3RyaWN0IF9fcmVzdWx0YnVmLAo+Pj4gICAgICAgICAgY2hh
ciAqX19yZXN0cmljdCBfX2J1ZmZlciwgc2l6ZV90IF9fYnVmbGVuLAo+Pj4gICAgICAgICAgc3Ry
dWN0IHBhc3N3ZCAqKl9fcmVzdHJpY3QgX19yZXN1bHQpCj4+PiAgICAgICAgICBfX2F0dHJpYnV0
ZV9fICgoX19ub25udWxsX18gKDIsIDMsIDUpKSk7Cj4+Pgo+Pj4gZXh0ZXJuIGludCBnZXRwd25h
bV9yIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbmFtZSwKPj4+ICAgICAgICAgIHN0cnVjdCBw
YXNzd2QgKl9fcmVzdHJpY3QgX19yZXN1bHRidWYsCj4+PiAgICAgICAgICBjaGFyICpfX3Jlc3Ry
aWN0IF9fYnVmZmVyLCBzaXplX3QgX19idWZsZW4sCj4+PiAgICAgICAgICBzdHJ1Y3QgcGFzc3dk
ICoqX19yZXN0cmljdCBfX3Jlc3VsdCkKPj4+ICAgICAgICAgIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSwgMiwgMywgNSkpKTsKPj4+ICMgMTY2ICIvdXNyL2luY2x1ZGUvcHdkLmgiIDMg
NAo+Pj4gZXh0ZXJuIGludCBmZ2V0cHdlbnRfciAoRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSwK
Pj4+ICAgIHN0cnVjdCBwYXNzd2QgKl9fcmVzdHJpY3QgX19yZXN1bHRidWYsCj4+PiAgICBjaGFy
ICpfX3Jlc3RyaWN0IF9fYnVmZmVyLCBzaXplX3QgX19idWZsZW4sCj4+PiAgICBzdHJ1Y3QgcGFz
c3dkICoqX19yZXN0cmljdCBfX3Jlc3VsdCkKPj4+ICAgIF9fYXR0cmlidXRlX18gKChfX25vbm51
bGxfXyAoMSwgMiwgMywgNSkpKTsKPj4+ICMgMTg3ICIvdXNyL2luY2x1ZGUvcHdkLmgiIDMgNAo+
Pj4KPj4+ICMgNTggIm1hY2hpbmUuYyIgMgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgi
IDEgMyA0Cj4+PiAjIDI3ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+Pj4KPj4+ICMgMjA1
ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9w
b3NpeF9vcHQuaCIgMSAzIDQKPj4+ICMgMjA2ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDIgMyA0
Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL2Vudmlyb25tZW50cy5oIiAx
IDMgNAo+Pj4gIyAyMiAiL3Vzci9pbmNsdWRlL2JpdHMvZW52aXJvbm1lbnRzLmgiIDMgNAo+Pj4g
IyAxICIvdXNyL2luY2x1ZGUvYml0cy93b3Jkc2l6ZS5oIiAxIDMgNAo+Pj4gIyAyMyAiL3Vzci9p
bmNsdWRlL2JpdHMvZW52aXJvbm1lbnRzLmgiIDIgMyA0Cj4+PiAjIDIxMCAiL3Vzci9pbmNsdWRl
L3VuaXN0ZC5oIiAyIDMgNAo+Pj4gIyAyMjkgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+
PiAjIDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGRl
Zi5oIiAxIDMgNAo+Pj4gIyAyMzAgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMiAzIDQKPj4+ICMg
MjU4ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+Pj4gdHlwZWRlZiBfX3VzZWNvbmRzX3Qg
dXNlY29uZHNfdDsKPj4+ICMgMjc3ICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+Pj4gdHlw
ZWRlZiBfX3NvY2tsZW5fdCBzb2NrbGVuX3Q7Cj4+PiAjIDI5MCAiL3Vzci9pbmNsdWRlL3VuaXN0
ZC5oIiAzIDQKPj4+IGV4dGVybiBpbnQgYWNjZXNzIChjb25zdCBjaGFyICpfX25hbWUsIGludCBf
X3R5cGUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4gIyAzMDcgIi91c3IvaW5jbHVkZS91bmlzdGQu
aCIgMyA0Cj4+PiBleHRlcm4gaW50IGZhY2Nlc3NhdCAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9f
ZmlsZSwgaW50IF9fdHlwZSwgaW50IF9fZmxhZykKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDIpKSkg
Owo+Pj4gIyAzMzcgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiBleHRlcm4gX19vZmZf
dCBsc2VlayAoaW50IF9fZmQsIF9fb2ZmX3QgX19vZmZzZXQsIGludCBfX3doZW5jZSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgMzU2ICIvdXNyL2luY2x1
ZGUvdW5pc3RkLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBjbG9zZSAoaW50IF9fZmQpOwo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHNzaXplX3QgcmVhZCAoaW50IF9fZmQsIHZvaWQg
Kl9fYnVmLCBzaXplX3QgX19uYnl0ZXMpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJu
IHNzaXplX3Qgd3JpdGUgKGludCBfX2ZkLCBjb25zdCB2b2lkICpfX2J1Ziwgc2l6ZV90IF9fbikg
Owo+Pj4gIyAzNzkgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiBleHRlcm4gc3NpemVf
dCBwcmVhZCAoaW50IF9fZmQsIHZvaWQgKl9fYnVmLCBzaXplX3QgX19uYnl0ZXMsCj4+PiAgICAg
ICAgIF9fb2ZmX3QgX19vZmZzZXQpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVy
biBzc2l6ZV90IHB3cml0ZSAoaW50IF9fZmQsIGNvbnN0IHZvaWQgKl9fYnVmLCBzaXplX3QgX19u
LAo+Pj4gICAgICAgICAgX19vZmZfdCBfX29mZnNldCkgOwo+Pj4gIyA0MjAgIi91c3IvaW5jbHVk
ZS91bmlzdGQuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHBpcGUgKGludCBfX3BpcGVkZXNbMl0pIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4gIyA0MzUgIi91c3Iv
aW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiBleHRlcm4gdW5zaWduZWQgaW50IGFsYXJtICh1bnNp
Z25lZCBpbnQgX19zZWNvbmRzKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpOwo+Pj4gIyA0NDcgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiBleHRlcm4gdW5z
aWduZWQgaW50IHNsZWVwICh1bnNpZ25lZCBpbnQgX19zZWNvbmRzKTsKPj4+Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gX191c2Vjb25kc190IHVhbGFybSAoX191c2Vjb25kc190
IF9fdmFsdWUsIF9fdXNlY29uZHNfdCBfX2ludGVydmFsKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4g
ZXh0ZXJuIGludCB1c2xlZXAgKF9fdXNlY29uZHNfdCBfX3VzZWNvbmRzKTsKPj4+ICMgNDcyICIv
dXNyL2luY2x1ZGUvdW5pc3RkLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBwYXVzZSAodm9pZCk7Cj4+
Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGNob3duIChjb25zdCBjaGFyICpfX2ZpbGUsIF9fdWlk
X3QgX19vd25lciwgX19naWRfdCBfX2dyb3VwKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKSA7
Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGZjaG93biAoaW50IF9fZmQsIF9fdWlkX3QgX19v
d25lciwgX19naWRfdCBfX2dyb3VwKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGxjaG93biAoY29uc3QgY2hh
ciAqX19maWxlLCBfX3VpZF90IF9fb3duZXIsIF9fZ2lkX3QgX19ncm91cCkKPj4+ICAgICAgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDEpKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBm
Y2hvd25hdCAoaW50IF9fZmQsIGNvbnN0IGNoYXIgKl9fZmlsZSwgX191aWRfdCBfX293bmVyLAo+
Pj4gICAgICAgIF9fZ2lkX3QgX19ncm91cCwgaW50IF9fZmxhZykKPj4+ICAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxs
X18gKDIpKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBjaGRpciAoY29uc3QgY2hhciAq
X19wYXRoKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSkpKSA7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGZj
aGRpciAoaW50IF9fZmQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
Owo+Pj4gIyA1MTQgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiBleHRlcm4gY2hhciAq
Z2V0Y3dkIChjaGFyICpfX2J1Ziwgc2l6ZV90IF9fc2l6ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKSA7Cj4+PiAjIDUyOCAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAz
IDQKPj4+IGV4dGVybiBjaGFyICpnZXR3ZCAoY2hhciAqX19idWYpCj4+PiAgICAgIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVs
bF9fICgxKSkpIF9fYXR0cmlidXRlX18gKChfX2RlcHJlY2F0ZWRfXykpIDsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+PiBleHRlcm4gaW50IGR1cCAoaW50IF9fZmQpIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGR1cDIgKGludCBfX2Zk
LCBpbnQgX19mZDIpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+
PiAjIDU0NiAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPj4+IGV4dGVybiBjaGFyICoqX19l
bnZpcm9uOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgZXhlY3Zl
IChjb25zdCBjaGFyICpfX3BhdGgsIGNoYXIgKmNvbnN0IF9fYXJndltdLAo+Pj4gICAgICBjaGFy
ICpjb25zdCBfX2VudnBbXSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIGludCBmZXhlY3ZlIChpbnQgX19mZCwgY2hhciAqY29uc3QgX19hcmd2W10sIGNo
YXIgKmNvbnN0IF9fZW52cFtdKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMikpKTsKPj4+Cj4+Pgo+
Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGV4ZWN2IChjb25zdCBjaGFyICpfX3BhdGgsIGNoYXIgKmNv
bnN0IF9fYXJndltdKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+Cj4+Pgo+Pj4K
Pj4+IGV4dGVybiBpbnQgZXhlY2xlIChjb25zdCBjaGFyICpfX3BhdGgsIGNvbnN0IGNoYXIgKl9f
YXJnLCAuLi4pCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxLCAyKSkpOwo+Pj4KPj4+Cj4+Pgo+Pj4g
ZXh0ZXJuIGludCBleGVjbCAoY29uc3QgY2hhciAqX19wYXRoLCBjb25zdCBjaGFyICpfX2FyZywg
Li4uKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9f
YXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVy
biBpbnQgZXhlY3ZwIChjb25zdCBjaGFyICpfX2ZpbGUsIGNoYXIgKmNvbnN0IF9fYXJndltdKQo+
Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4g
aW50IGV4ZWNscCAoY29uc3QgY2hhciAqX19maWxlLCBjb25zdCBjaGFyICpfX2FyZywgLi4uKQo+
Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSwgMikpKTsKPj4+ICMgNjAxICIvdXNyL2luY2x1ZGUvdW5p
c3RkLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBuaWNlIChpbnQgX19pbmMpIF9fYXR0cmlidXRlX18g
KChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2
b2lkIF9leGl0IChpbnQgX19zdGF0dXMpIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKTsK
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9jb25mbmFtZS5o
IiAxIDMgNAo+Pj4gIyAyNCAiL3Vzci9pbmNsdWRlL2JpdHMvY29uZm5hbWUuaCIgMyA0Cj4+PiBl
bnVtCj4+PiAgIHsKPj4+ICAgICBfUENfTElOS19NQVgsCj4+Pgo+Pj4gICAgIF9QQ19NQVhfQ0FO
T04sCj4+Pgo+Pj4gICAgIF9QQ19NQVhfSU5QVVQsCj4+Pgo+Pj4gICAgIF9QQ19OQU1FX01BWCwK
Pj4+Cj4+PiAgICAgX1BDX1BBVEhfTUFYLAo+Pj4KPj4+ICAgICBfUENfUElQRV9CVUYsCj4+Pgo+
Pj4gICAgIF9QQ19DSE9XTl9SRVNUUklDVEVELAo+Pj4KPj4+ICAgICBfUENfTk9fVFJVTkMsCj4+
Pgo+Pj4gICAgIF9QQ19WRElTQUJMRSwKPj4+Cj4+PiAgICAgX1BDX1NZTkNfSU8sCj4+Pgo+Pj4g
ICAgIF9QQ19BU1lOQ19JTywKPj4+Cj4+PiAgICAgX1BDX1BSSU9fSU8sCj4+Pgo+Pj4gICAgIF9Q
Q19TT0NLX01BWEJVRiwKPj4+Cj4+PiAgICAgX1BDX0ZJTEVTSVpFQklUUywKPj4+Cj4+PiAgICAg
X1BDX1JFQ19JTkNSX1hGRVJfU0laRSwKPj4+Cj4+PiAgICAgX1BDX1JFQ19NQVhfWEZFUl9TSVpF
LAo+Pj4KPj4+ICAgICBfUENfUkVDX01JTl9YRkVSX1NJWkUsCj4+Pgo+Pj4gICAgIF9QQ19SRUNf
WEZFUl9BTElHTiwKPj4+Cj4+PiAgICAgX1BDX0FMTE9DX1NJWkVfTUlOLAo+Pj4KPj4+ICAgICBf
UENfU1lNTElOS19NQVgsCj4+Pgo+Pj4gICAgIF9QQ18yX1NZTUxJTktTCj4+Pgo+Pj4gICB9Owo+
Pj4KPj4+Cj4+PiBlbnVtCj4+PiAgIHsKPj4+ICAgICBfU0NfQVJHX01BWCwKPj4+Cj4+PiAgICAg
X1NDX0NISUxEX01BWCwKPj4+Cj4+PiAgICAgX1NDX0NMS19UQ0ssCj4+Pgo+Pj4gICAgIF9TQ19O
R1JPVVBTX01BWCwKPj4+Cj4+PiAgICAgX1NDX09QRU5fTUFYLAo+Pj4KPj4+ICAgICBfU0NfU1RS
RUFNX01BWCwKPj4+Cj4+PiAgICAgX1NDX1RaTkFNRV9NQVgsCj4+Pgo+Pj4gICAgIF9TQ19KT0Jf
Q09OVFJPTCwKPj4+Cj4+PiAgICAgX1NDX1NBVkVEX0lEUywKPj4+Cj4+PiAgICAgX1NDX1JFQUxU
SU1FX1NJR05BTFMsCj4+Pgo+Pj4gICAgIF9TQ19QUklPUklUWV9TQ0hFRFVMSU5HLAo+Pj4KPj4+
ICAgICBfU0NfVElNRVJTLAo+Pj4KPj4+ICAgICBfU0NfQVNZTkNIUk9OT1VTX0lPLAo+Pj4KPj4+
ICAgICBfU0NfUFJJT1JJVElaRURfSU8sCj4+Pgo+Pj4gICAgIF9TQ19TWU5DSFJPTklaRURfSU8s
Cj4+Pgo+Pj4gICAgIF9TQ19GU1lOQywKPj4+Cj4+PiAgICAgX1NDX01BUFBFRF9GSUxFUywKPj4+
Cj4+PiAgICAgX1NDX01FTUxPQ0ssCj4+Pgo+Pj4gICAgIF9TQ19NRU1MT0NLX1JBTkdFLAo+Pj4K
Pj4+ICAgICBfU0NfTUVNT1JZX1BST1RFQ1RJT04sCj4+Pgo+Pj4gICAgIF9TQ19NRVNTQUdFX1BB
U1NJTkcsCj4+Pgo+Pj4gICAgIF9TQ19TRU1BUEhPUkVTLAo+Pj4KPj4+ICAgICBfU0NfU0hBUkVE
X01FTU9SWV9PQkpFQ1RTLAo+Pj4KPj4+ICAgICBfU0NfQUlPX0xJU1RJT19NQVgsCj4+Pgo+Pj4g
ICAgIF9TQ19BSU9fTUFYLAo+Pj4KPj4+ICAgICBfU0NfQUlPX1BSSU9fREVMVEFfTUFYLAo+Pj4K
Pj4+ICAgICBfU0NfREVMQVlUSU1FUl9NQVgsCj4+Pgo+Pj4gICAgIF9TQ19NUV9PUEVOX01BWCwK
Pj4+Cj4+PiAgICAgX1NDX01RX1BSSU9fTUFYLAo+Pj4KPj4+ICAgICBfU0NfVkVSU0lPTiwKPj4+
Cj4+PiAgICAgX1NDX1BBR0VTSVpFLAo+Pj4KPj4+Cj4+PiAgICAgX1NDX1JUU0lHX01BWCwKPj4+
Cj4+PiAgICAgX1NDX1NFTV9OU0VNU19NQVgsCj4+Pgo+Pj4gICAgIF9TQ19TRU1fVkFMVUVfTUFY
LAo+Pj4KPj4+ICAgICBfU0NfU0lHUVVFVUVfTUFYLAo+Pj4KPj4+ICAgICBfU0NfVElNRVJfTUFY
LAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+ICAgICBfU0NfQkNfQkFTRV9NQVgsCj4+Pgo+Pj4gICAgIF9T
Q19CQ19ESU1fTUFYLAo+Pj4KPj4+ICAgICBfU0NfQkNfU0NBTEVfTUFYLAo+Pj4KPj4+ICAgICBf
U0NfQkNfU1RSSU5HX01BWCwKPj4+Cj4+PiAgICAgX1NDX0NPTExfV0VJR0hUU19NQVgsCj4+Pgo+
Pj4gICAgIF9TQ19FUVVJVl9DTEFTU19NQVgsCj4+Pgo+Pj4gICAgIF9TQ19FWFBSX05FU1RfTUFY
LAo+Pj4KPj4+ICAgICBfU0NfTElORV9NQVgsCj4+Pgo+Pj4gICAgIF9TQ19SRV9EVVBfTUFYLAo+
Pj4KPj4+ICAgICBfU0NfQ0hBUkNMQVNTX05BTUVfTUFYLAo+Pj4KPj4+Cj4+PiAgICAgX1NDXzJf
VkVSU0lPTiwKPj4+Cj4+PiAgICAgX1NDXzJfQ19CSU5ELAo+Pj4KPj4+ICAgICBfU0NfMl9DX0RF
ViwKPj4+Cj4+PiAgICAgX1NDXzJfRk9SVF9ERVYsCj4+Pgo+Pj4gICAgIF9TQ18yX0ZPUlRfUlVO
LAo+Pj4KPj4+ICAgICBfU0NfMl9TV19ERVYsCj4+Pgo+Pj4gICAgIF9TQ18yX0xPQ0FMRURFRiwK
Pj4+Cj4+Pgo+Pj4gICAgIF9TQ19QSUksCj4+Pgo+Pj4gICAgIF9TQ19QSUlfWFRJLAo+Pj4KPj4+
ICAgICBfU0NfUElJX1NPQ0tFVCwKPj4+Cj4+PiAgICAgX1NDX1BJSV9JTlRFUk5FVCwKPj4+Cj4+
PiAgICAgX1NDX1BJSV9PU0ksCj4+Pgo+Pj4gICAgIF9TQ19QT0xMLAo+Pj4KPj4+ICAgICBfU0Nf
U0VMRUNULAo+Pj4KPj4+ICAgICBfU0NfVUlPX01BWElPViwKPj4+Cj4+PiAgICAgX1NDX0lPVl9N
QVggPSBfU0NfVUlPX01BWElPViwKPj4+Cj4+PiAgICAgX1NDX1BJSV9JTlRFUk5FVF9TVFJFQU0s
Cj4+Pgo+Pj4gICAgIF9TQ19QSUlfSU5URVJORVRfREdSQU0sCj4+Pgo+Pj4gICAgIF9TQ19QSUlf
T1NJX0NPVFMsCj4+Pgo+Pj4gICAgIF9TQ19QSUlfT1NJX0NMVFMsCj4+Pgo+Pj4gICAgIF9TQ19Q
SUlfT1NJX00sCj4+Pgo+Pj4gICAgIF9TQ19UX0lPVl9NQVgsCj4+Pgo+Pj4KPj4+Cj4+PiAgICAg
X1NDX1RIUkVBRFMsCj4+Pgo+Pj4gICAgIF9TQ19USFJFQURfU0FGRV9GVU5DVElPTlMsCj4+Pgo+
Pj4gICAgIF9TQ19HRVRHUl9SX1NJWkVfTUFYLAo+Pj4KPj4+ICAgICBfU0NfR0VUUFdfUl9TSVpF
X01BWCwKPj4+Cj4+PiAgICAgX1NDX0xPR0lOX05BTUVfTUFYLAo+Pj4KPj4+ICAgICBfU0NfVFRZ
X05BTUVfTUFYLAo+Pj4KPj4+ICAgICBfU0NfVEhSRUFEX0RFU1RSVUNUT1JfSVRFUkFUSU9OUywK
Pj4+Cj4+PiAgICAgX1NDX1RIUkVBRF9LRVlTX01BWCwKPj4+Cj4+PiAgICAgX1NDX1RIUkVBRF9T
VEFDS19NSU4sCj4+Pgo+Pj4gICAgIF9TQ19USFJFQURfVEhSRUFEU19NQVgsCj4+Pgo+Pj4gICAg
IF9TQ19USFJFQURfQVRUUl9TVEFDS0FERFIsCj4+Pgo+Pj4gICAgIF9TQ19USFJFQURfQVRUUl9T
VEFDS1NJWkUsCj4+Pgo+Pj4gICAgIF9TQ19USFJFQURfUFJJT1JJVFlfU0NIRURVTElORywKPj4+
Cj4+PiAgICAgX1NDX1RIUkVBRF9QUklPX0lOSEVSSVQsCj4+Pgo+Pj4gICAgIF9TQ19USFJFQURf
UFJJT19QUk9URUNULAo+Pj4KPj4+ICAgICBfU0NfVEhSRUFEX1BST0NFU1NfU0hBUkVELAo+Pj4K
Pj4+Cj4+PiAgICAgX1NDX05QUk9DRVNTT1JTX0NPTkYsCj4+Pgo+Pj4gICAgIF9TQ19OUFJPQ0VT
U09SU19PTkxOLAo+Pj4KPj4+ICAgICBfU0NfUEhZU19QQUdFUywKPj4+Cj4+PiAgICAgX1NDX0FW
UEhZU19QQUdFUywKPj4+Cj4+PiAgICAgX1NDX0FURVhJVF9NQVgsCj4+Pgo+Pj4gICAgIF9TQ19Q
QVNTX01BWCwKPj4+Cj4+Pgo+Pj4gICAgIF9TQ19YT1BFTl9WRVJTSU9OLAo+Pj4KPj4+ICAgICBf
U0NfWE9QRU5fWENVX1ZFUlNJT04sCj4+Pgo+Pj4gICAgIF9TQ19YT1BFTl9VTklYLAo+Pj4KPj4+
ICAgICBfU0NfWE9QRU5fQ1JZUFQsCj4+Pgo+Pj4gICAgIF9TQ19YT1BFTl9FTkhfSTE4TiwKPj4+
Cj4+PiAgICAgX1NDX1hPUEVOX1NITSwKPj4+Cj4+Pgo+Pj4gICAgIF9TQ18yX0NIQVJfVEVSTSwK
Pj4+Cj4+PiAgICAgX1NDXzJfQ19WRVJTSU9OLAo+Pj4KPj4+ICAgICBfU0NfMl9VUEUsCj4+Pgo+
Pj4KPj4+ICAgICBfU0NfWE9QRU5fWFBHMiwKPj4+Cj4+PiAgICAgX1NDX1hPUEVOX1hQRzMsCj4+
Pgo+Pj4gICAgIF9TQ19YT1BFTl9YUEc0LAo+Pj4KPj4+Cj4+PiAgICAgX1NDX0NIQVJfQklULAo+
Pj4KPj4+ICAgICBfU0NfQ0hBUl9NQVgsCj4+Pgo+Pj4gICAgIF9TQ19DSEFSX01JTiwKPj4+Cj4+
PiAgICAgX1NDX0lOVF9NQVgsCj4+Pgo+Pj4gICAgIF9TQ19JTlRfTUlOLAo+Pj4KPj4+ICAgICBf
U0NfTE9OR19CSVQsCj4+Pgo+Pj4gICAgIF9TQ19XT1JEX0JJVCwKPj4+Cj4+PiAgICAgX1NDX01C
X0xFTl9NQVgsCj4+Pgo+Pj4gICAgIF9TQ19OWkVSTywKPj4+Cj4+PiAgICAgX1NDX1NTSVpFX01B
WCwKPj4+Cj4+PiAgICAgX1NDX1NDSEFSX01BWCwKPj4+Cj4+PiAgICAgX1NDX1NDSEFSX01JTiwK
Pj4+Cj4+PiAgICAgX1NDX1NIUlRfTUFYLAo+Pj4KPj4+ICAgICBfU0NfU0hSVF9NSU4sCj4+Pgo+
Pj4gICAgIF9TQ19VQ0hBUl9NQVgsCj4+Pgo+Pj4gICAgIF9TQ19VSU5UX01BWCwKPj4+Cj4+PiAg
ICAgX1NDX1VMT05HX01BWCwKPj4+Cj4+PiAgICAgX1NDX1VTSFJUX01BWCwKPj4+Cj4+Pgo+Pj4g
ICAgIF9TQ19OTF9BUkdNQVgsCj4+Pgo+Pj4gICAgIF9TQ19OTF9MQU5HTUFYLAo+Pj4KPj4+ICAg
ICBfU0NfTkxfTVNHTUFYLAo+Pj4KPj4+ICAgICBfU0NfTkxfTk1BWCwKPj4+Cj4+PiAgICAgX1ND
X05MX1NFVE1BWCwKPj4+Cj4+PiAgICAgX1NDX05MX1RFWFRNQVgsCj4+Pgo+Pj4KPj4+ICAgICBf
U0NfWEJTNV9JTFAzMl9PRkYzMiwKPj4+Cj4+PiAgICAgX1NDX1hCUzVfSUxQMzJfT0ZGQklHLAo+
Pj4KPj4+ICAgICBfU0NfWEJTNV9MUDY0X09GRjY0LAo+Pj4KPj4+ICAgICBfU0NfWEJTNV9MUEJJ
R19PRkZCSUcsCj4+Pgo+Pj4KPj4+ICAgICBfU0NfWE9QRU5fTEVHQUNZLAo+Pj4KPj4+ICAgICBf
U0NfWE9QRU5fUkVBTFRJTUUsCj4+Pgo+Pj4gICAgIF9TQ19YT1BFTl9SRUFMVElNRV9USFJFQURT
LAo+Pj4KPj4+Cj4+PiAgICAgX1NDX0FEVklTT1JZX0lORk8sCj4+Pgo+Pj4gICAgIF9TQ19CQVJS
SUVSUywKPj4+Cj4+PiAgICAgX1NDX0JBU0UsCj4+Pgo+Pj4gICAgIF9TQ19DX0xBTkdfU1VQUE9S
VCwKPj4+Cj4+PiAgICAgX1NDX0NfTEFOR19TVVBQT1JUX1IsCj4+Pgo+Pj4gICAgIF9TQ19DTE9D
S19TRUxFQ1RJT04sCj4+Pgo+Pj4gICAgIF9TQ19DUFVUSU1FLAo+Pj4KPj4+ICAgICBfU0NfVEhS
RUFEX0NQVVRJTUUsCj4+Pgo+Pj4gICAgIF9TQ19ERVZJQ0VfSU8sCj4+Pgo+Pj4gICAgIF9TQ19E
RVZJQ0VfU1BFQ0lGSUMsCj4+Pgo+Pj4gICAgIF9TQ19ERVZJQ0VfU1BFQ0lGSUNfUiwKPj4+Cj4+
PiAgICAgX1NDX0ZEX01HTVQsCj4+Pgo+Pj4gICAgIF9TQ19GSUZPLAo+Pj4KPj4+ICAgICBfU0Nf
UElQRSwKPj4+Cj4+PiAgICAgX1NDX0ZJTEVfQVRUUklCVVRFUywKPj4+Cj4+PiAgICAgX1NDX0ZJ
TEVfTE9DS0lORywKPj4+Cj4+PiAgICAgX1NDX0ZJTEVfU1lTVEVNLAo+Pj4KPj4+ICAgICBfU0Nf
TU9OT1RPTklDX0NMT0NLLAo+Pj4KPj4+ICAgICBfU0NfTVVMVElfUFJPQ0VTUywKPj4+Cj4+PiAg
ICAgX1NDX1NJTkdMRV9QUk9DRVNTLAo+Pj4KPj4+ICAgICBfU0NfTkVUV09SS0lORywKPj4+Cj4+
PiAgICAgX1NDX1JFQURFUl9XUklURVJfTE9DS1MsCj4+Pgo+Pj4gICAgIF9TQ19TUElOX0xPQ0tT
LAo+Pj4KPj4+ICAgICBfU0NfUkVHRVhQLAo+Pj4KPj4+ICAgICBfU0NfUkVHRVhfVkVSU0lPTiwK
Pj4+Cj4+PiAgICAgX1NDX1NIRUxMLAo+Pj4KPj4+ICAgICBfU0NfU0lHTkFMUywKPj4+Cj4+PiAg
ICAgX1NDX1NQQVdOLAo+Pj4KPj4+ICAgICBfU0NfU1BPUkFESUNfU0VSVkVSLAo+Pj4KPj4+ICAg
ICBfU0NfVEhSRUFEX1NQT1JBRElDX1NFUlZFUiwKPj4+Cj4+PiAgICAgX1NDX1NZU1RFTV9EQVRB
QkFTRSwKPj4+Cj4+PiAgICAgX1NDX1NZU1RFTV9EQVRBQkFTRV9SLAo+Pj4KPj4+ICAgICBfU0Nf
VElNRU9VVFMsCj4+Pgo+Pj4gICAgIF9TQ19UWVBFRF9NRU1PUllfT0JKRUNUUywKPj4+Cj4+PiAg
ICAgX1NDX1VTRVJfR1JPVVBTLAo+Pj4KPj4+ICAgICBfU0NfVVNFUl9HUk9VUFNfUiwKPj4+Cj4+
PiAgICAgX1NDXzJfUEJTLAo+Pj4KPj4+ICAgICBfU0NfMl9QQlNfQUNDT1VOVElORywKPj4+Cj4+
PiAgICAgX1NDXzJfUEJTX0xPQ0FURSwKPj4+Cj4+PiAgICAgX1NDXzJfUEJTX01FU1NBR0UsCj4+
Pgo+Pj4gICAgIF9TQ18yX1BCU19UUkFDSywKPj4+Cj4+PiAgICAgX1NDX1NZTUxPT1BfTUFYLAo+
Pj4KPj4+ICAgICBfU0NfU1RSRUFNUywKPj4+Cj4+PiAgICAgX1NDXzJfUEJTX0NIRUNLUE9JTlQs
Cj4+Pgo+Pj4KPj4+ICAgICBfU0NfVjZfSUxQMzJfT0ZGMzIsCj4+Pgo+Pj4gICAgIF9TQ19WNl9J
TFAzMl9PRkZCSUcsCj4+Pgo+Pj4gICAgIF9TQ19WNl9MUDY0X09GRjY0LAo+Pj4KPj4+ICAgICBf
U0NfVjZfTFBCSUdfT0ZGQklHLAo+Pj4KPj4+Cj4+PiAgICAgX1NDX0hPU1RfTkFNRV9NQVgsCj4+
Pgo+Pj4gICAgIF9TQ19UUkFDRSwKPj4+Cj4+PiAgICAgX1NDX1RSQUNFX0VWRU5UX0ZJTFRFUiwK
Pj4+Cj4+PiAgICAgX1NDX1RSQUNFX0lOSEVSSVQsCj4+Pgo+Pj4gICAgIF9TQ19UUkFDRV9MT0cs
Cj4+Pgo+Pj4KPj4+ICAgICBfU0NfTEVWRUwxX0lDQUNIRV9TSVpFLAo+Pj4KPj4+ICAgICBfU0Nf
TEVWRUwxX0lDQUNIRV9BU1NPQywKPj4+Cj4+PiAgICAgX1NDX0xFVkVMMV9JQ0FDSEVfTElORVNJ
WkUsCj4+Pgo+Pj4gICAgIF9TQ19MRVZFTDFfRENBQ0hFX1NJWkUsCj4+Pgo+Pj4gICAgIF9TQ19M
RVZFTDFfRENBQ0hFX0FTU09DLAo+Pj4KPj4+ICAgICBfU0NfTEVWRUwxX0RDQUNIRV9MSU5FU0la
RSwKPj4+Cj4+PiAgICAgX1NDX0xFVkVMMl9DQUNIRV9TSVpFLAo+Pj4KPj4+ICAgICBfU0NfTEVW
RUwyX0NBQ0hFX0FTU09DLAo+Pj4KPj4+ICAgICBfU0NfTEVWRUwyX0NBQ0hFX0xJTkVTSVpFLAo+
Pj4KPj4+ICAgICBfU0NfTEVWRUwzX0NBQ0hFX1NJWkUsCj4+Pgo+Pj4gICAgIF9TQ19MRVZFTDNf
Q0FDSEVfQVNTT0MsCj4+Pgo+Pj4gICAgIF9TQ19MRVZFTDNfQ0FDSEVfTElORVNJWkUsCj4+Pgo+
Pj4gICAgIF9TQ19MRVZFTDRfQ0FDSEVfU0laRSwKPj4+Cj4+PiAgICAgX1NDX0xFVkVMNF9DQUNI
RV9BU1NPQywKPj4+Cj4+PiAgICAgX1NDX0xFVkVMNF9DQUNIRV9MSU5FU0laRSwKPj4+Cj4+Pgo+
Pj4KPj4+ICAgICBfU0NfSVBWNiA9IF9TQ19MRVZFTDFfSUNBQ0hFX1NJWkUgKyA1MCwKPj4+Cj4+
PiAgICAgX1NDX1JBV19TT0NLRVRTLAo+Pj4KPj4+Cj4+PiAgICAgX1NDX1Y3X0lMUDMyX09GRjMy
LAo+Pj4KPj4+ICAgICBfU0NfVjdfSUxQMzJfT0ZGQklHLAo+Pj4KPj4+ICAgICBfU0NfVjdfTFA2
NF9PRkY2NCwKPj4+Cj4+PiAgICAgX1NDX1Y3X0xQQklHX09GRkJJRywKPj4+Cj4+Pgo+Pj4gICAg
IF9TQ19TU19SRVBMX01BWCwKPj4+Cj4+Pgo+Pj4gICAgIF9TQ19UUkFDRV9FVkVOVF9OQU1FX01B
WCwKPj4+Cj4+PiAgICAgX1NDX1RSQUNFX05BTUVfTUFYLAo+Pj4KPj4+ICAgICBfU0NfVFJBQ0Vf
U1lTX01BWCwKPj4+Cj4+PiAgICAgX1NDX1RSQUNFX1VTRVJfRVZFTlRfTUFYLAo+Pj4KPj4+Cj4+
PiAgICAgX1NDX1hPUEVOX1NUUkVBTVMsCj4+Pgo+Pj4KPj4+ICAgICBfU0NfVEhSRUFEX1JPQlVT
VF9QUklPX0lOSEVSSVQsCj4+Pgo+Pj4gICAgIF9TQ19USFJFQURfUk9CVVNUX1BSSU9fUFJPVEVD
VAo+Pj4KPj4+ICAgfTsKPj4+Cj4+Pgo+Pj4gZW51bQo+Pj4gICB7Cj4+PiAgICAgX0NTX1BBVEgs
Cj4+Pgo+Pj4KPj4+ICAgICBfQ1NfVjZfV0lEVEhfUkVTVFJJQ1RFRF9FTlZTLAo+Pj4KPj4+Cj4+
Pgo+Pj4gICAgIF9DU19HTlVfTElCQ19WRVJTSU9OLAo+Pj4KPj4+ICAgICBfQ1NfR05VX0xJQlBU
SFJFQURfVkVSU0lPTiwKPj4+Cj4+Pgo+Pj4gICAgIF9DU19WNV9XSURUSF9SRVNUUklDVEVEX0VO
VlMsCj4+Pgo+Pj4KPj4+Cj4+PiAgICAgX0NTX1Y3X1dJRFRIX1JFU1RSSUNURURfRU5WUywKPj4+
Cj4+Pgo+Pj4KPj4+ICAgICBfQ1NfTEZTX0NGTEFHUyA9IDEwMDAsCj4+Pgo+Pj4gICAgIF9DU19M
RlNfTERGTEFHUywKPj4+Cj4+PiAgICAgX0NTX0xGU19MSUJTLAo+Pj4KPj4+ICAgICBfQ1NfTEZT
X0xJTlRGTEFHUywKPj4+Cj4+PiAgICAgX0NTX0xGUzY0X0NGTEFHUywKPj4+Cj4+PiAgICAgX0NT
X0xGUzY0X0xERkxBR1MsCj4+Pgo+Pj4gICAgIF9DU19MRlM2NF9MSUJTLAo+Pj4KPj4+ICAgICBf
Q1NfTEZTNjRfTElOVEZMQUdTLAo+Pj4KPj4+Cj4+PiAgICAgX0NTX1hCUzVfSUxQMzJfT0ZGMzJf
Q0ZMQUdTID0gMTEwMCwKPj4+Cj4+PiAgICAgX0NTX1hCUzVfSUxQMzJfT0ZGMzJfTERGTEFHUywK
Pj4+Cj4+PiAgICAgX0NTX1hCUzVfSUxQMzJfT0ZGMzJfTElCUywKPj4+Cj4+PiAgICAgX0NTX1hC
UzVfSUxQMzJfT0ZGMzJfTElOVEZMQUdTLAo+Pj4KPj4+ICAgICBfQ1NfWEJTNV9JTFAzMl9PRkZC
SUdfQ0ZMQUdTLAo+Pj4KPj4+ICAgICBfQ1NfWEJTNV9JTFAzMl9PRkZCSUdfTERGTEFHUywKPj4+
Cj4+PiAgICAgX0NTX1hCUzVfSUxQMzJfT0ZGQklHX0xJQlMsCj4+Pgo+Pj4gICAgIF9DU19YQlM1
X0lMUDMyX09GRkJJR19MSU5URkxBR1MsCj4+Pgo+Pj4gICAgIF9DU19YQlM1X0xQNjRfT0ZGNjRf
Q0ZMQUdTLAo+Pj4KPj4+ICAgICBfQ1NfWEJTNV9MUDY0X09GRjY0X0xERkxBR1MsCj4+Pgo+Pj4g
ICAgIF9DU19YQlM1X0xQNjRfT0ZGNjRfTElCUywKPj4+Cj4+PiAgICAgX0NTX1hCUzVfTFA2NF9P
RkY2NF9MSU5URkxBR1MsCj4+Pgo+Pj4gICAgIF9DU19YQlM1X0xQQklHX09GRkJJR19DRkxBR1Ms
Cj4+Pgo+Pj4gICAgIF9DU19YQlM1X0xQQklHX09GRkJJR19MREZMQUdTLAo+Pj4KPj4+ICAgICBf
Q1NfWEJTNV9MUEJJR19PRkZCSUdfTElCUywKPj4+Cj4+PiAgICAgX0NTX1hCUzVfTFBCSUdfT0ZG
QklHX0xJTlRGTEFHUywKPj4+Cj4+Pgo+Pj4gICAgIF9DU19QT1NJWF9WNl9JTFAzMl9PRkYzMl9D
RkxBR1MsCj4+Pgo+Pj4gICAgIF9DU19QT1NJWF9WNl9JTFAzMl9PRkYzMl9MREZMQUdTLAo+Pj4K
Pj4+ICAgICBfQ1NfUE9TSVhfVjZfSUxQMzJfT0ZGMzJfTElCUywKPj4+Cj4+PiAgICAgX0NTX1BP
U0lYX1Y2X0lMUDMyX09GRjMyX0xJTlRGTEFHUywKPj4+Cj4+PiAgICAgX0NTX1BPU0lYX1Y2X0lM
UDMyX09GRkJJR19DRkxBR1MsCj4+Pgo+Pj4gICAgIF9DU19QT1NJWF9WNl9JTFAzMl9PRkZCSUdf
TERGTEFHUywKPj4+Cj4+PiAgICAgX0NTX1BPU0lYX1Y2X0lMUDMyX09GRkJJR19MSUJTLAo+Pj4K
Pj4+ICAgICBfQ1NfUE9TSVhfVjZfSUxQMzJfT0ZGQklHX0xJTlRGTEFHUywKPj4+Cj4+PiAgICAg
X0NTX1BPU0lYX1Y2X0xQNjRfT0ZGNjRfQ0ZMQUdTLAo+Pj4KPj4+ICAgICBfQ1NfUE9TSVhfVjZf
TFA2NF9PRkY2NF9MREZMQUdTLAo+Pj4KPj4+ICAgICBfQ1NfUE9TSVhfVjZfTFA2NF9PRkY2NF9M
SUJTLAo+Pj4KPj4+ICAgICBfQ1NfUE9TSVhfVjZfTFA2NF9PRkY2NF9MSU5URkxBR1MsCj4+Pgo+
Pj4gICAgIF9DU19QT1NJWF9WNl9MUEJJR19PRkZCSUdfQ0ZMQUdTLAo+Pj4KPj4+ICAgICBfQ1Nf
UE9TSVhfVjZfTFBCSUdfT0ZGQklHX0xERkxBR1MsCj4+Pgo+Pj4gICAgIF9DU19QT1NJWF9WNl9M
UEJJR19PRkZCSUdfTElCUywKPj4+Cj4+PiAgICAgX0NTX1BPU0lYX1Y2X0xQQklHX09GRkJJR19M
SU5URkxBR1MsCj4+Pgo+Pj4KPj4+ICAgICBfQ1NfUE9TSVhfVjdfSUxQMzJfT0ZGMzJfQ0ZMQUdT
LAo+Pj4KPj4+ICAgICBfQ1NfUE9TSVhfVjdfSUxQMzJfT0ZGMzJfTERGTEFHUywKPj4+Cj4+PiAg
ICAgX0NTX1BPU0lYX1Y3X0lMUDMyX09GRjMyX0xJQlMsCj4+Pgo+Pj4gICAgIF9DU19QT1NJWF9W
N19JTFAzMl9PRkYzMl9MSU5URkxBR1MsCj4+Pgo+Pj4gICAgIF9DU19QT1NJWF9WN19JTFAzMl9P
RkZCSUdfQ0ZMQUdTLAo+Pj4KPj4+ICAgICBfQ1NfUE9TSVhfVjdfSUxQMzJfT0ZGQklHX0xERkxB
R1MsCj4+Pgo+Pj4gICAgIF9DU19QT1NJWF9WN19JTFAzMl9PRkZCSUdfTElCUywKPj4+Cj4+PiAg
ICAgX0NTX1BPU0lYX1Y3X0lMUDMyX09GRkJJR19MSU5URkxBR1MsCj4+Pgo+Pj4gICAgIF9DU19Q
T1NJWF9WN19MUDY0X09GRjY0X0NGTEFHUywKPj4+Cj4+PiAgICAgX0NTX1BPU0lYX1Y3X0xQNjRf
T0ZGNjRfTERGTEFHUywKPj4+Cj4+PiAgICAgX0NTX1BPU0lYX1Y3X0xQNjRfT0ZGNjRfTElCUywK
Pj4+Cj4+PiAgICAgX0NTX1BPU0lYX1Y3X0xQNjRfT0ZGNjRfTElOVEZMQUdTLAo+Pj4KPj4+ICAg
ICBfQ1NfUE9TSVhfVjdfTFBCSUdfT0ZGQklHX0NGTEFHUywKPj4+Cj4+PiAgICAgX0NTX1BPU0lY
X1Y3X0xQQklHX09GRkJJR19MREZMQUdTLAo+Pj4KPj4+ICAgICBfQ1NfUE9TSVhfVjdfTFBCSUdf
T0ZGQklHX0xJQlMsCj4+Pgo+Pj4gICAgIF9DU19QT1NJWF9WN19MUEJJR19PRkZCSUdfTElOVEZM
QUdTLAo+Pj4KPj4+Cj4+PiAgICAgX0NTX1Y2X0VOViwKPj4+Cj4+PiAgICAgX0NTX1Y3X0VOVgo+
Pj4KPj4+ICAgfTsKPj4+ICMgNjEzICIvdXNyL2luY2x1ZGUvdW5pc3RkLmgiIDIgMyA0Cj4+Pgo+
Pj4KPj4+IGV4dGVybiBsb25nIGludCBwYXRoY29uZiAoY29uc3QgY2hhciAqX19wYXRoLCBpbnQg
X19uYW1lKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
IF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGxv
bmcgaW50IGZwYXRoY29uZiAoaW50IF9fZmQsIGludCBfX25hbWUpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBsb25nIGludCBzeXNj
b25mIChpbnQgX19uYW1lKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHNpemVfdCBjb25mc3RyIChpbnQgX19uYW1lLCBjaGFy
ICpfX2J1Ziwgc2l6ZV90IF9fbGVuKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBfX3BpZF90IGdldHBpZCAodm9pZCkg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0
ZXJuIF9fcGlkX3QgZ2V0cHBpZCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIF9fcGlkX3QgZ2V0cGdycCAodm9pZCkgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJu
IF9fcGlkX3QgX19nZXRwZ2lkIChfX3BpZF90IF9fcGlkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+IGV4dGVybiBfX3BpZF90IGdldHBnaWQgKF9fcGlk
X3QgX19waWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNldHBnaWQgKF9fcGlkX3QgX19waWQs
IF9fcGlkX3QgX19wZ2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+Pj4gIyA2NjMgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHNl
dHBncnAgKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gX19waWRfdCBzZXRzaWQgKHZvaWQpIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBl
eHRlcm4gX19waWRfdCBnZXRzaWQgKF9fcGlkX3QgX19waWQpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gX191aWRfdCBnZXR1
aWQgKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+
Pj4KPj4+IGV4dGVybiBfX3VpZF90IGdldGV1aWQgKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBfX2dpZF90IGdldGdpZCAo
dm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIF9fZ2lkX3QgZ2V0ZWdpZCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGdldGdyb3Vw
cyAoaW50IF9fc2l6ZSwgX19naWRfdCBfX2xpc3RbXSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSA7Cj4+PiAjIDcwMyAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQK
Pj4+IGV4dGVybiBpbnQgc2V0dWlkIChfX3VpZF90IF9fdWlkKSBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNl
dHJldWlkIChfX3VpZF90IF9fcnVpZCwgX191aWRfdCBfX2V1aWQpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQg
c2V0ZXVpZCAoX191aWRfdCBfX3VpZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19s
ZWFmX18pKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNldGdpZCAo
X19naWRfdCBfX2dpZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzZXRyZWdpZCAoX19naWRfdCBfX3JnaWQs
IF9fZ2lkX3QgX19lZ2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
IDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNldGVnaWQgKF9fZ2lkX3QgX19naWQp
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgOwo+Pj4gIyA3NTkgIi91
c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiBleHRlcm4gX19waWRfdCBmb3JrICh2b2lkKSBf
X2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gX19waWRfdCB2Zm9yayAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGNoYXIgKnR0
eW5hbWUgKGludCBfX2ZkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB0dHluYW1lX3IgKGludCBfX2ZkLCBjaGFyICpf
X2J1Ziwgc2l6ZV90IF9fYnVmbGVuKQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMikpKSA7Cj4+Pgo+
Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGlzYXR0eSAoaW50IF9fZmQpIF9fYXR0cmlidXRlX18gKChf
X25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBp
bnQgdHR5c2xvdCAodm9pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGxpbmsgKGNvbnN0IGNoYXIgKl9fZnJv
bSwgY29uc3QgY2hhciAqX190bykKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSkgOwo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgbGlua2F0IChpbnQgX19mcm9tZmQsIGNvbnN0IGNo
YXIgKl9fZnJvbSwgaW50IF9fdG9mZCwKPj4+ICAgICAgY29uc3QgY2hhciAqX190bywgaW50IF9f
ZmxhZ3MpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgyLCA0KSkpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+
PiBleHRlcm4gaW50IHN5bWxpbmsgKGNvbnN0IGNoYXIgKl9fZnJvbSwgY29uc3QgY2hhciAqX190
bykKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0
dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEsIDIpKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4
dGVybiBzc2l6ZV90IHJlYWRsaW5rIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcGF0aCwKPj4+
ICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19sZW4pCj4+PiAgICAgIF9fYXR0
cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9u
bnVsbF9fICgxLCAyKSkpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHN5bWxpbmth
dCAoY29uc3QgY2hhciAqX19mcm9tLCBpbnQgX190b2ZkLAo+Pj4gICAgICAgICBjb25zdCBjaGFy
ICpfX3RvKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSwgMykpKSA7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzc2l6ZV90
IHJlYWRsaW5rYXQgKGludCBfX2ZkLCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcGF0aCwKPj4+
ICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsIHNpemVfdCBfX2xlbikKPj4+ICAgICAgX19h
dHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19u
b25udWxsX18gKDIsIDMpKSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCB1bmxpbmsgKGNv
bnN0IGNoYXIgKl9fbmFtZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRl
cm4gaW50IHVubGlua2F0IChpbnQgX19mZCwgY29uc3QgY2hhciAqX19uYW1lLCBpbnQgX19mbGFn
KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0
cmlidXRlX18gKChfX25vbm51bGxfXyAoMikpKTsKPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQg
cm1kaXIgKGNvbnN0IGNoYXIgKl9fcGF0aCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSk7Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gX19waWRfdCB0Y2dldHBncnAgKGludCBfX2ZkKSBfX2F0dHJpYnV0ZV9fICgo
X19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHRjc2V0cGdy
cCAoaW50IF9fZmQsIF9fcGlkX3QgX19wZ3JwX2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGNoYXIg
KmdldGxvZ2luICh2b2lkKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4g
aW50IGdldGxvZ2luX3IgKGNoYXIgKl9fbmFtZSwgc2l6ZV90IF9fbmFtZV9sZW4pIF9fYXR0cmli
dXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50
IHNldGxvZ2luIChjb25zdCBjaGFyICpfX25hbWUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpOwo+Pj4gIyA4
NzQgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9nZXRv
cHQuaCIgMSAzIDQKPj4+ICMgNTcgIi91c3IvaW5jbHVkZS9nZXRvcHQuaCIgMyA0Cj4+PiBleHRl
cm4gY2hhciAqb3B0YXJnOwo+Pj4gIyA3MSAiL3Vzci9pbmNsdWRlL2dldG9wdC5oIiAzIDQKPj4+
IGV4dGVybiBpbnQgb3B0aW5kOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgb3B0ZXJy
Owo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBvcHRvcHQ7Cj4+PiAjIDE1MCAiL3Vzci9pbmNs
dWRlL2dldG9wdC5oIiAzIDQKPj4+IGV4dGVybiBpbnQgZ2V0b3B0IChpbnQgX19fYXJnYywgY2hh
ciAqY29uc3QgKl9fX2FyZ3YsIGNvbnN0IGNoYXIgKl9fc2hvcnRvcHRzKQo+Pj4gICAgICAgIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiAjIDg3NSAiL3Vzci9p
bmNsdWRlL3VuaXN0ZC5oIiAyIDMgNAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4
dGVybiBpbnQgZ2V0aG9zdG5hbWUgKGNoYXIgKl9fbmFtZSwgc2l6ZV90IF9fbGVuKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51
bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgc2V0aG9z
dG5hbWUgKGNvbnN0IGNoYXIgKl9fbmFtZSwgc2l6ZV90IF9fbGVuKQo+Pj4gICAgICBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51
bGxfXyAoMSkpKSA7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNldGhvc3RpZCAobG9uZyBp
bnQgX19pZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgZ2V0ZG9tYWlubmFtZSAoY2hhciAqX19uYW1l
LCBzaXplX3QgX19sZW4pCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9f
bGVhZl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbm9ubnVsbF9fICgxKSkpIDsKPj4+IGV4dGVybiBp
bnQgc2V0ZG9tYWlubmFtZSAoY29uc3QgY2hhciAqX19uYW1lLCBzaXplX3QgX19sZW4pCj4+PiAg
ICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1dGVf
XyAoKF9fbm9ubnVsbF9fICgxKSkpIDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGlu
dCB2aGFuZ3VwICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHJldm9rZSAoY29uc3QgY2hhciAqX19maWxlKSBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25v
bm51bGxfXyAoMSkpKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGlu
dCBwcm9maWwgKHVuc2lnbmVkIHNob3J0IGludCAqX19zYW1wbGVfYnVmZmVyLCBzaXplX3QgX19z
aXplLAo+Pj4gICAgICBzaXplX3QgX19vZmZzZXQsIHVuc2lnbmVkIGludCBfX3NjYWxlKQo+Pj4g
ICAgICBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRl
X18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGlu
dCBhY2N0IChjb25zdCBjaGFyICpfX25hbWUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqZ2V0dXNlcnNoZWxsICh2
b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4gZXh0ZXJu
IHZvaWQgZW5kdXNlcnNoZWxsICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+Pj4gZXh0ZXJuIHZvaWQgc2V0dXNlcnNoZWxsICh2b2lkKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBl
eHRlcm4gaW50IGRhZW1vbiAoaW50IF9fbm9jaGRpciwgaW50IF9fbm9jbG9zZSkgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSA7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gaW50IGNocm9vdCAoY29uc3QgY2hhciAqX19wYXRoKSBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAo
MSkpKSA7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciAqZ2V0cGFzcyAoY29uc3QgY2hhciAq
X19wcm9tcHQpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxfXyAoMSkpKTsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGZzeW5jIChpbnQgX19mZCk7Cj4+PiAjIDk3
MiAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPj4+IGV4dGVybiBsb25nIGludCBnZXRob3N0
aWQgKHZvaWQpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBzeW5jICh2b2lkKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBl
eHRlcm4gaW50IGdldHBhZ2VzaXplICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsKPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiBleHRlcm4gaW50IGdldGR0YWJsZXNpemUgKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiAjIDk5NiAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAz
IDQKPj4+IGV4dGVybiBpbnQgdHJ1bmNhdGUgKGNvbnN0IGNoYXIgKl9fZmlsZSwgX19vZmZfdCBf
X2xlbmd0aCkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18p
KSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18gKDEpKSkgOwo+Pj4gIyAxMDE5ICIvdXNyL2lu
Y2x1ZGUvdW5pc3RkLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBmdHJ1bmNhdGUgKGludCBfX2ZkLCBf
X29mZl90IF9fbGVuZ3RoKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
IDsKPj4+ICMgMTA0MCAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPj4+IGV4dGVybiBpbnQg
YnJrICh2b2lkICpfX2FkZHIpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCAqc2JyayAoaW50cHRyX3Qg
X19kZWx0YSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMg
MTA2MSAiL3Vzci9pbmNsdWRlL3VuaXN0ZC5oIiAzIDQKPj4+IGV4dGVybiBsb25nIGludCBzeXNj
YWxsIChsb25nIGludCBfX3N5c25vLCAuLi4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSk7Cj4+PiAjIDExMTUgIi91c3IvaW5jbHVkZS91bmlzdGQuaCIgMyA0Cj4+PiBl
eHRlcm4gaW50IGZkYXRhc3luYyAoaW50IF9fZmlsZGVzKTsKPj4+ICMgMTE1NCAiL3Vzci9pbmNs
dWRlL3VuaXN0ZC5oIiAzIDQKPj4+Cj4+PiAjIDU5ICJtYWNoaW5lLmMiIDIKPj4+ICMgMSAiL3Vz
ci9pbmNsdWRlL3N5cy9wYXJhbS5oIiAxIDMgNAo+Pj4gIyAyMyAiL3Vzci9pbmNsdWRlL3N5cy9w
YXJhbS5oIiAzIDQKPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4x
L2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0Cj4+PiAjIDI0ICIvdXNyL2luY2x1ZGUvc3lzL3BhcmFt
LmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+ICMgMSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4
LzYuMS4xL2luY2x1ZGUvbGltaXRzLmgiIDEgMyA0Cj4+PiAjIDM0ICIvdXNyL2xpYi9nY2MvaTY4
Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9saW1pdHMuaCIgMyA0Cj4+PiAjIDEgIi91c3Iv
bGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N5c2xpbWl0cy5oIiAxIDMg
NAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2xpYi9nY2MvaTY4Ni1yZWRo
YXQtbGludXgvNi4xLjEvaW5jbHVkZS9saW1pdHMuaCIgMSAzIDQKPj4+ICMgMTY4ICIvdXNyL2xp
Yi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9saW1pdHMuaCIgMyA0Cj4+PiAj
IDEgIi91c3IvaW5jbHVkZS9saW1pdHMuaCIgMSAzIDQKPj4+ICMgMTQzICIvdXNyL2luY2x1ZGUv
bGltaXRzLmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9wb3NpeDFfbGltLmgiIDEg
MyA0Cj4+PiAjIDE2MCAiL3Vzci9pbmNsdWRlL2JpdHMvcG9zaXgxX2xpbS5oIiAzIDQKPj4+ICMg
MSAiL3Vzci9pbmNsdWRlL2JpdHMvbG9jYWxfbGltLmgiIDEgMyA0Cj4+PiAjIDM4ICIvdXNyL2lu
Y2x1ZGUvYml0cy9sb2NhbF9saW0uaCIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9saW51eC9s
aW1pdHMuaCIgMSAzIDQKPj4+ICMgMzkgIi91c3IvaW5jbHVkZS9iaXRzL2xvY2FsX2xpbS5oIiAy
IDMgNAo+Pj4gIyAxNjEgIi91c3IvaW5jbHVkZS9iaXRzL3Bvc2l4MV9saW0uaCIgMiAzIDQKPj4+
ICMgMTQ0ICIvdXNyL2luY2x1ZGUvbGltaXRzLmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDEg
Ii91c3IvaW5jbHVkZS9iaXRzL3Bvc2l4Ml9saW0uaCIgMSAzIDQKPj4+ICMgMTQ4ICIvdXNyL2lu
Y2x1ZGUvbGltaXRzLmgiIDIgMyA0Cj4+PiAjIDE2OSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0
LWxpbnV4LzYuMS4xL2luY2x1ZGUvbGltaXRzLmgiIDIgMyA0Cj4+PiAjIDggIi91c3IvbGliL2dj
Yy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N5c2xpbWl0cy5oIiAyIDMgNAo+Pj4g
IyAzNSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvbGltaXRz
LmgiIDIgMyA0Cj4+PiAjIDI3ICIvdXNyL2luY2x1ZGUvc3lzL3BhcmFtLmgiIDIgMyA0Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9wYXJhbS5oIiAxIDMgNAo+Pj4g
IyAyOCAiL3Vzci9pbmNsdWRlL2JpdHMvcGFyYW0uaCIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVk
ZS9saW51eC9wYXJhbS5oIiAxIDMgNAo+Pj4KPj4+Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUv
YXNtL3BhcmFtLmgiIDEgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9hc20tZ2VuZXJpYy9wYXJh
bS5oIiAxIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYXNtL3BhcmFtLmgiIDIgMyA0Cj4+PiAj
IDUgIi91c3IvaW5jbHVkZS9saW51eC9wYXJhbS5oIiAyIDMgNAo+Pj4gIyAyOSAiL3Vzci9pbmNs
dWRlL2JpdHMvcGFyYW0uaCIgMiAzIDQKPj4+ICMgMzIgIi91c3IvaW5jbHVkZS9zeXMvcGFyYW0u
aCIgMiAzIDQKPj4+ICMgNjAgIm1hY2hpbmUuYyIgMgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvc3lz
L3RpbWUuaCIgMSAzIDQKPj4+ICMgMjcgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAzIDQKPj4+
ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvdGltZS5oIiAxIDMgNAo+Pj4gIyAyOCAiL3Vzci9pbmNs
dWRlL3N5cy90aW1lLmgiIDIgMyA0Cj4+PiAjIDM3ICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIg
MyA0Cj4+Pgo+Pj4gIyA1NSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMgNAo+Pj4gc3RydWN0
IHRpbWV6b25lCj4+PiAgIHsKPj4+ICAgICBpbnQgdHpfbWludXRlc3dlc3Q7Cj4+PiAgICAgaW50
IHR6X2RzdHRpbWU7Cj4+PiAgIH07Cj4+Pgo+Pj4gdHlwZWRlZiBzdHJ1Y3QgdGltZXpvbmUgKl9f
cmVzdHJpY3QgX190aW1lem9uZV9wdHJfdDsKPj4+ICMgNzEgIi91c3IvaW5jbHVkZS9zeXMvdGlt
ZS5oIiAzIDQKPj4+IGV4dGVybiBpbnQgZ2V0dGltZW9mZGF5IChzdHJ1Y3QgdGltZXZhbCAqX19y
ZXN0cmljdCBfX3R2LAo+Pj4gICAgIF9fdGltZXpvbmVfcHRyX3QgX190eikgX19hdHRyaWJ1dGVf
XyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxsX18g
KDEpKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzZXR0aW1lb2ZkYXkgKGNvbnN0
IHN0cnVjdCB0aW1ldmFsICpfX3R2LAo+Pj4gICAgIGNvbnN0IHN0cnVjdCB0aW1lem9uZSAqX190
eikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBhZGp0aW1lIChjb25zdCBzdHJ1Y3QgdGlt
ZXZhbCAqX19kZWx0YSwKPj4+ICAgICAgIHN0cnVjdCB0aW1ldmFsICpfX29sZGRlbHRhKSBfX2F0
dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
IGVudW0gX19pdGltZXJfd2hpY2gKPj4+ICAgewo+Pj4KPj4+ICAgICBJVElNRVJfUkVBTCA9IDAs
Cj4+Pgo+Pj4KPj4+ICAgICBJVElNRVJfVklSVFVBTCA9IDEsCj4+Pgo+Pj4KPj4+Cj4+PiAgICAg
SVRJTUVSX1BST0YgPSAyCj4+Pgo+Pj4gICB9Owo+Pj4KPj4+Cj4+Pgo+Pj4gc3RydWN0IGl0aW1l
cnZhbAo+Pj4gICB7Cj4+Pgo+Pj4gICAgIHN0cnVjdCB0aW1ldmFsIGl0X2ludGVydmFsOwo+Pj4K
Pj4+ICAgICBzdHJ1Y3QgdGltZXZhbCBpdF92YWx1ZTsKPj4+ICAgfTsKPj4+Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+IHR5cGVkZWYgaW50IF9faXRpbWVyX3doaWNoX3Q7Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIGludCBnZXRpdGltZXIgKF9faXRpbWVyX3doaWNoX3QgX193aGljaCwKPj4+
ICAgICAgICAgc3RydWN0IGl0aW1lcnZhbCAqX192YWx1ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNldGl0
aW1lciAoX19pdGltZXJfd2hpY2hfdCBfX3doaWNoLAo+Pj4gICAgICAgICBjb25zdCBzdHJ1Y3Qg
aXRpbWVydmFsICpfX3Jlc3RyaWN0IF9fbmV3LAo+Pj4gICAgICAgICBzdHJ1Y3QgaXRpbWVydmFs
ICpfX3Jlc3RyaWN0IF9fb2xkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZf
XykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgdXRpbWVzIChjb25zdCBjaGFyICpf
X2ZpbGUsIGNvbnN0IHN0cnVjdCB0aW1ldmFsIF9fdHZwWzJdKQo+Pj4gICAgICBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX25vbm51bGxf
XyAoMSkpKTsKPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgbHV0aW1lcyAoY29uc3QgY2hhciAq
X19maWxlLCBjb25zdCBzdHJ1Y3QgdGltZXZhbCBfX3R2cFsyXSkKPj4+ICAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19ub25udWxs
X18gKDEpKSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgZnV0aW1lcyAoaW50IF9fZmQsIGNvbnN0
IHN0cnVjdCB0aW1ldmFsIF9fdHZwWzJdKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+Pj4gIyAxODkgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAzIDQKPj4+Cj4+
PiAjIDYxICJtYWNoaW5lLmMiIDIKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lcy5oIiAx
IDMgNAo+Pj4gIyAzMSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lcy5oIiAzIDQKPj4+Cj4+Pgo+Pj4K
Pj4+IHN0cnVjdCB0bXMKPj4+ICAgewo+Pj4gICAgIGNsb2NrX3QgdG1zX3V0aW1lOwo+Pj4gICAg
IGNsb2NrX3QgdG1zX3N0aW1lOwo+Pj4KPj4+ICAgICBjbG9ja190IHRtc19jdXRpbWU7Cj4+PiAg
ICAgY2xvY2tfdCB0bXNfY3N0aW1lOwo+Pj4gICB9Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIGNsb2NrX3QgdGltZXMgKHN0cnVjdCB0bXMgKl9fYnVmZmVyKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiAjIDYyICJtYWNoaW5l
LmMiIDIKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3N5cy9yZXNvdXJjZS5oIiAxIDMgNAo+Pj4gIyAy
NCAiL3Vzci9pbmNsdWRlL3N5cy9yZXNvdXJjZS5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L2JpdHMvcmVzb3VyY2UuaCIgMSAzIDQKPj4+ICMgMzEgIi91c3IvaW5jbHVkZS9iaXRzL3Jlc291
cmNlLmgiIDMgNAo+Pj4gZW51bSBfX3JsaW1pdF9yZXNvdXJjZQo+Pj4gewo+Pj4KPj4+ICAgUkxJ
TUlUX0NQVSA9IDAsCj4+Pgo+Pj4KPj4+Cj4+PiAgIFJMSU1JVF9GU0laRSA9IDEsCj4+Pgo+Pj4K
Pj4+Cj4+PiAgIFJMSU1JVF9EQVRBID0gMiwKPj4+Cj4+Pgo+Pj4KPj4+ICAgUkxJTUlUX1NUQUNL
ID0gMywKPj4+Cj4+Pgo+Pj4KPj4+ICAgUkxJTUlUX0NPUkUgPSA0LAo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4gICBfX1JMSU1JVF9SU1MgPSA1LAo+Pj4KPj4+Cj4+Pgo+Pj4gICBSTElNSVRf
Tk9GSUxFID0gNywKPj4+ICAgX19STElNSVRfT0ZJTEUgPSBSTElNSVRfTk9GSUxFLAo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+ICAgUkxJTUlUX0FTID0gOSwKPj4+Cj4+Pgo+Pj4KPj4+ICAgX19STElNSVRf
TlBST0MgPSA2LAo+Pj4KPj4+Cj4+Pgo+Pj4gICBfX1JMSU1JVF9NRU1MT0NLID0gOCwKPj4+Cj4+
Pgo+Pj4KPj4+ICAgX19STElNSVRfTE9DS1MgPSAxMCwKPj4+Cj4+Pgo+Pj4KPj4+ICAgX19STElN
SVRfU0lHUEVORElORyA9IDExLAo+Pj4KPj4+Cj4+Pgo+Pj4gICBfX1JMSU1JVF9NU0dRVUVVRSA9
IDEyLAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAgIF9fUkxJTUlUX05JQ0UgPSAxMywKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiAgIF9fUkxJTUlUX1JUUFJJTyA9IDE0LAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiAgIF9fUkxJTUlUX1JUVElNRSA9IDE1LAo+Pj4KPj4+Cj4+PiAgIF9fUkxJTUlUX05MSU1J
VFMgPSAxNiwKPj4+ICAgX19STElNX05MSU1JVFMgPSBfX1JMSU1JVF9OTElNSVRTCj4+Pgo+Pj4K
Pj4+IH07Cj4+PiAjIDEzMSAiL3Vzci9pbmNsdWRlL2JpdHMvcmVzb3VyY2UuaCIgMyA0Cj4+PiB0
eXBlZGVmIF9fcmxpbV90IHJsaW1fdDsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBz
dHJ1Y3QgcmxpbWl0Cj4+PiAgIHsKPj4+Cj4+PiAgICAgcmxpbV90IHJsaW1fY3VyOwo+Pj4KPj4+
ICAgICBybGltX3QgcmxpbV9tYXg7Cj4+PiAgIH07Cj4+PiAjIDE1OCAiL3Vzci9pbmNsdWRlL2Jp
dHMvcmVzb3VyY2UuaCIgMyA0Cj4+PiBlbnVtIF9fcnVzYWdlX3dobwo+Pj4gewo+Pj4KPj4+ICAg
UlVTQUdFX1NFTEYgPSAwLAo+Pj4KPj4+Cj4+Pgo+Pj4gICBSVVNBR0VfQ0hJTERSRU4gPSAtMQo+
Pj4gIyAxNzYgIi91c3IvaW5jbHVkZS9iaXRzL3Jlc291cmNlLmgiIDMgNAo+Pj4gfTsKPj4+Cj4+
Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy90aW1lLmgiIDEgMyA0Cj4+PiAjIDE4MCAiL3Vz
ci9pbmNsdWRlL2JpdHMvcmVzb3VyY2UuaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+PiBzdHJ1Y3QgcnVzYWdlCj4+PiAgIHsKPj4+Cj4+PiAgICAgc3RydWN0IHRpbWV2YWwg
cnVfdXRpbWU7Cj4+Pgo+Pj4gICAgIHN0cnVjdCB0aW1ldmFsIHJ1X3N0aW1lOwo+Pj4KPj4+ICAg
ICBfX2V4dGVuc2lvbl9fIHVuaW9uCj4+PiAgICAgICB7Cj4+PiAgbG9uZyBpbnQgcnVfbWF4cnNz
Owo+Pj4gIF9fc3lzY2FsbF9zbG9uZ190IF9fcnVfbWF4cnNzX3dvcmQ7Cj4+PiAgICAgICB9Owo+
Pj4KPj4+Cj4+Pgo+Pj4gICAgIF9fZXh0ZW5zaW9uX18gdW5pb24KPj4+ICAgICAgIHsKPj4+ICBs
b25nIGludCBydV9peHJzczsKPj4+ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1X2l4cnNzX3dvcmQ7
Cj4+PiAgICAgICB9Owo+Pj4KPj4+ICAgICBfX2V4dGVuc2lvbl9fIHVuaW9uCj4+PiAgICAgICB7
Cj4+PiAgbG9uZyBpbnQgcnVfaWRyc3M7Cj4+PiAgX19zeXNjYWxsX3Nsb25nX3QgX19ydV9pZHJz
c193b3JkOwo+Pj4gICAgICAgfTsKPj4+Cj4+PiAgICAgX19leHRlbnNpb25fXyB1bmlvbgo+Pj4g
ICAgICAgewo+Pj4gIGxvbmcgaW50IHJ1X2lzcnNzOwo+Pj4gICBfX3N5c2NhbGxfc2xvbmdfdCBf
X3J1X2lzcnNzX3dvcmQ7Cj4+PiAgICAgICB9Owo+Pj4KPj4+Cj4+PiAgICAgX19leHRlbnNpb25f
XyB1bmlvbgo+Pj4gICAgICAgewo+Pj4gIGxvbmcgaW50IHJ1X21pbmZsdDsKPj4+ICBfX3N5c2Nh
bGxfc2xvbmdfdCBfX3J1X21pbmZsdF93b3JkOwo+Pj4gICAgICAgfTsKPj4+Cj4+PiAgICAgX19l
eHRlbnNpb25fXyB1bmlvbgo+Pj4gICAgICAgewo+Pj4gIGxvbmcgaW50IHJ1X21hamZsdDsKPj4+
ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1X21hamZsdF93b3JkOwo+Pj4gICAgICAgfTsKPj4+Cj4+
PiAgICAgX19leHRlbnNpb25fXyB1bmlvbgo+Pj4gICAgICAgewo+Pj4gIGxvbmcgaW50IHJ1X25z
d2FwOwo+Pj4gIF9fc3lzY2FsbF9zbG9uZ190IF9fcnVfbnN3YXBfd29yZDsKPj4+ICAgICAgIH07
Cj4+Pgo+Pj4KPj4+ICAgICBfX2V4dGVuc2lvbl9fIHVuaW9uCj4+PiAgICAgICB7Cj4+PiAgbG9u
ZyBpbnQgcnVfaW5ibG9jazsKPj4+ICBfX3N5c2NhbGxfc2xvbmdfdCBfX3J1X2luYmxvY2tfd29y
ZDsKPj4+ICAgICAgIH07Cj4+Pgo+Pj4gICAgIF9fZXh0ZW5zaW9uX18gdW5pb24KPj4+ICAgICAg
IHsKPj4+ICBsb25nIGludCBydV9vdWJsb2NrOwo+Pj4gIF9fc3lzY2FsbF9zbG9uZ190IF9fcnVf
b3VibG9ja193b3JkOwo+Pj4gICAgICAgfTsKPj4+Cj4+PiAgICAgX19leHRlbnNpb25fXyB1bmlv
bgo+Pj4gICAgICAgewo+Pj4gIGxvbmcgaW50IHJ1X21zZ3NuZDsKPj4+ICBfX3N5c2NhbGxfc2xv
bmdfdCBfX3J1X21zZ3NuZF93b3JkOwo+Pj4gICAgICAgfTsKPj4+Cj4+PiAgICAgX19leHRlbnNp
b25fXyB1bmlvbgo+Pj4gICAgICAgewo+Pj4gIGxvbmcgaW50IHJ1X21zZ3JjdjsKPj4+ICBfX3N5
c2NhbGxfc2xvbmdfdCBfX3J1X21zZ3Jjdl93b3JkOwo+Pj4gICAgICAgfTsKPj4+Cj4+PiAgICAg
X19leHRlbnNpb25fXyB1bmlvbgo+Pj4gICAgICAgewo+Pj4gIGxvbmcgaW50IHJ1X25zaWduYWxz
Owo+Pj4gIF9fc3lzY2FsbF9zbG9uZ190IF9fcnVfbnNpZ25hbHNfd29yZDsKPj4+ICAgICAgIH07
Cj4+Pgo+Pj4KPj4+Cj4+PiAgICAgX19leHRlbnNpb25fXyB1bmlvbgo+Pj4gICAgICAgewo+Pj4g
IGxvbmcgaW50IHJ1X252Y3N3Owo+Pj4gIF9fc3lzY2FsbF9zbG9uZ190IF9fcnVfbnZjc3dfd29y
ZDsKPj4+ICAgICAgIH07Cj4+Pgo+Pj4KPj4+ICAgICBfX2V4dGVuc2lvbl9fIHVuaW9uCj4+PiAg
ICAgICB7Cj4+PiAgbG9uZyBpbnQgcnVfbml2Y3N3Owo+Pj4gIF9fc3lzY2FsbF9zbG9uZ190IF9f
cnVfbml2Y3N3X3dvcmQ7Cj4+PiAgICAgICB9Owo+Pj4gICB9Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+IGVudW0gX19wcmlvcml0eV93aGljaAo+Pj4gewo+Pj4gICBQUklPX1BST0NF
U1MgPSAwLAo+Pj4KPj4+ICAgUFJJT19QR1JQID0gMSwKPj4+Cj4+PiAgIFBSSU9fVVNFUiA9IDIK
Pj4+Cj4+PiB9Owo+Pj4KPj4+Cj4+Pgo+Pj4gIyAzMjggIi91c3IvaW5jbHVkZS9iaXRzL3Jlc291
cmNlLmgiIDMgNAo+Pj4KPj4+ICMgMjUgIi91c3IvaW5jbHVkZS9zeXMvcmVzb3VyY2UuaCIgMiAz
IDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDQyICIvdXNyL2luY2x1ZGUvc3lz
L3Jlc291cmNlLmgiIDMgNAo+Pj4gdHlwZWRlZiBpbnQgX19ybGltaXRfcmVzb3VyY2VfdDsKPj4+
IHR5cGVkZWYgaW50IF9fcnVzYWdlX3dob190Owo+Pj4gdHlwZWRlZiBpbnQgX19wcmlvcml0eV93
aGljaF90Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGdldHJsaW1pdCAoX19y
bGltaXRfcmVzb3VyY2VfdCBfX3Jlc291cmNlLAo+Pj4gICAgICAgICBzdHJ1Y3QgcmxpbWl0ICpf
X3JsaW1pdHMpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiAj
IDY5ICIvdXNyL2luY2x1ZGUvc3lzL3Jlc291cmNlLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBzZXRy
bGltaXQgKF9fcmxpbWl0X3Jlc291cmNlX3QgX19yZXNvdXJjZSwKPj4+ICAgICAgICAgY29uc3Qg
c3RydWN0IHJsaW1pdCAqX19ybGltaXRzKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+Pj4gIyA4NyAiL3Vzci9pbmNsdWRlL3N5cy9yZXNvdXJjZS5oIiAzIDQKPj4+
IGV4dGVybiBpbnQgZ2V0cnVzYWdlIChfX3J1c2FnZV93aG9fdCBfX3dobywgc3RydWN0IHJ1c2Fn
ZSAqX191c2FnZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBnZXRwcmlvcml0eSAoX19wcmlvcml0eV93
aGljaF90IF9fd2hpY2gsIGlkX3QgX193aG8pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IHNldHByaW9yaXR5IChfX3By
aW9yaXR5X3doaWNoX3QgX193aGljaCwgaWRfdCBfX3dobywgaW50IF9fcHJpbykKPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gIyA2
MyAibWFjaGluZS5jIiAyCj4+PiAjIDcxICJtYWNoaW5lLmMiCj4+PiAjIDEgImVuZ2luZV9wbC5o
IiAxCj4+PiAjIDQwICJlbmdpbmVfcGwuaCIKPj4+ICMgMSAicGxfcGFyYW1zLmgiIDEKPj4+ICMg
NDEgImVuZ2luZV9wbC5oIiAyCj4+PiAjIDEgImhhc2hfZmN0LmgiIDEKPj4+ICMgNTMgImhhc2hf
ZmN0LmgiCj4+Pgo+Pj4gIyA1MyAiaGFzaF9mY3QuaCIKPj4+IHR5cGVkZWYgc3RydWN0Cj4+PiB7
Cj4+PiAgIGludCBsZW47Cj4+PiAgIHVpbnQzMl90IGhhc2g7Cj4+PiB9IEhhc2hJbmNySW5mbzsK
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB1aW50MzJfdCBQbF9IYXNoX0J1ZmZlcihj
b25zdCB2b2lkICpkYXRhLCBpbnQgbGVuKTsKPj4+Cj4+PiB2b2lkIFBsX0hhc2hfSW5jcl9Jbml0
KEhhc2hJbmNySW5mbyAqaGkpOwo+Pj4KPj4+IHZvaWQgUGxfSGFzaF9JbmNyX0J1ZmZlcihIYXNo
SW5jckluZm8gKmhpLCBjb25zdCB2b2lkICpkYXRhLCBpbnQgbGVuKTsKPj4+Cj4+PiB2b2lkIFBs
X0hhc2hfSW5jcl9JbnQzMihIYXNoSW5jckluZm8gKmhpLCB1aW50MzJfdCB4KTsKPj4+Cj4+PiB2
b2lkIFBsX0hhc2hfSW5jcl9JbnQ2NChIYXNoSW5jckluZm8gKmhpLCB1aW50NjRfdCB4KTsKPj4+
Cj4+PiB2b2lkIFBsX0hhc2hfSW5jcl9Eb3VibGUoSGFzaEluY3JJbmZvICpoaSwgZG91YmxlIHgp
Owo+Pj4KPj4+IHVpbnQzMl90IFBsX0hhc2hfSW5jcl9UZXJtKEhhc2hJbmNySW5mbyAqaGkpOwo+
Pj4gIyA0MiAiZW5naW5lX3BsLmgiIDIKPj4+ICMgMSAiaGFzaC5oIiAxCj4+PiAjIDQ4ICJoYXNo
LmgiCj4+PiB0eXBlZGVmIHN0cnVjdAo+Pj4gewo+Pj4gICBjaGFyICplbmR0Owo+Pj4gICBjaGFy
ICpjdXJfdDsKPj4+ICAgY2hhciAqY3VyX3A7Cj4+PiB9Cj4+PiBIYXNoU2NhbjsKPj4+ICMgNjcg
Imhhc2guaCIKPj4+IGNoYXIgKlBsX0hhc2hfQWxsb2NfVGFibGUoaW50IHRibF9zaXplLCBpbnQg
ZWxlbV9zaXplKTsKPj4+Cj4+PiB2b2lkIFBsX0hhc2hfRnJlZV9UYWJsZShjaGFyICp0YmwpOwo+
Pj4KPj4+IGNoYXIgKlBsX0hhc2hfUmVhbGxvY19UYWJsZShjaGFyICp0YmwsIGludCBuZXdfdGJs
X3NpemUpOwo+Pj4KPj4+IHZvaWQgUGxfSGFzaF9EZWxldGVfQWxsKGNoYXIgKnRibCk7Cj4+Pgo+
Pj4gY2hhciAqUGxfSGFzaF9JbnNlcnQoY2hhciAqdGJsLCBjaGFyICplbGVtLCBpbnQgcmVwbGFj
ZSk7Cj4+Pgo+Pj4gY2hhciAqUGxfSGFzaF9GaW5kKGNoYXIgKnRibCwgUGxMb25nIGtleSk7Cj4+
Pgo+Pj4gY2hhciAqUGxfSGFzaF9EZWxldGUoY2hhciAqdGJsLCBQbExvbmcga2V5KTsKPj4+Cj4+
PiBjaGFyICpQbF9IYXNoX0ZpcnN0KGNoYXIgKnRibCwgSGFzaFNjYW4gKnNjYW4pOwo+Pj4KPj4+
IGNoYXIgKlBsX0hhc2hfTmV4dChIYXNoU2NhbiAqc2Nhbik7Cj4+Pgo+Pj4gaW50IFBsX0hhc2hf
VGFibGVfU2l6ZShjaGFyICp0YmwpOwo+Pj4KPj4+IGludCBQbF9IYXNoX05iX0VsZW1lbnRzKGNo
YXIgKnRibCk7Cj4+PiAjIDQzICJlbmdpbmVfcGwuaCIgMgo+Pj4gIyAxICJib29sLmgiIDEKPj4+
ICMgNjUgImJvb2wuaCIKPj4+IHR5cGVkZWYgaW50IEJvb2w7Cj4+PiAjIDQ0ICJlbmdpbmVfcGwu
aCIgMgo+Pj4gIyAxICJ3YW1fcmVncy5oIiAxCj4+PiAjIDQ1ICJlbmdpbmVfcGwuaCIgMgo+Pj4g
IyAxICJ3YW1fYXJjaGkuaCIgMQo+Pj4gIyA0NCAid2FtX2FyY2hpLmgiCj4+PiB0eXBlZGVmIGlu
dHB0cl90IFdhbVdvcmQ7Cj4+Pgo+Pj4gdHlwZWRlZiB2b2lkICgqQ29kZVB0cikgKCk7Cj4+Pgo+
Pj4gdHlwZWRlZiBDb2RlUHRyIFdhbUNvbnQ7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiB0
eXBlZGVmIFdhbVdvcmQgKldhbVdvcmRQOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gcmVn
aXN0ZXIgV2FtV29yZFAgVFIgYXNtICgiZWJ4Iik7Cj4+PiAjIDk2ICJ3YW1fYXJjaGkuaCIKPj4+
IGV4dGVybiBXYW1Xb3JkIHBsX3JlZ19iYW5rW107Cj4+PiBleHRlcm4gV2FtV29yZCBwbF9idWZm
X3NpZ25hbF9yZWdbXTsKPj4+Cj4+PiBleHRlcm4gY2hhciAqcGxfcmVnX3RibFtdOwo+Pj4gIyAy
NzAgIndhbV9hcmNoaS5oIgo+Pj4gdHlwZWRlZiBlbnVtCj4+PiB7Cj4+PiAgIExPTkdfSU5ULAo+
Pj4gICBTSE9SVF9VTlMsCj4+PiAgIEFERFJFU1MKPj4+IH1UeXBUYWc7Cj4+Pgo+Pj4gdHlwZWRl
ZiBzdHJ1Y3QKPj4+IHsKPj4+ICAgY2hhciAqbmFtZTsKPj4+ICAgVHlwVGFnIHR5cGU7Cj4+PiAg
IGludCB2YWx1ZTsKPj4+ICAgUGxMb25nIHRhZ19tYXNrOwo+Pj4gfUluZlRhZzsKPj4+ICMgMzAx
ICJ3YW1fYXJjaGkuaCIKPj4+IGV4dGVybiBJbmZUYWcgcGxfdGFnX3RibFtdOwo+Pj4gIyAzMjgg
IndhbV9hcmNoaS5oIgo+Pj4gIyAxICJ3YW1fc3RhY2tzLmgiIDEKPj4+ICMgMjcgIndhbV9zdGFj
a3MuaCIKPj4+IHR5cGVkZWYgc3RydWN0Cj4+PiB7Cj4+PiAgIGNoYXIgKm5hbWU7Cj4+PiAgIGNo
YXIgKmRlc2M7Cj4+PiAgIGNoYXIgKmVudl92YXJfbmFtZTsKPj4+ICAgUGxMb25nICpwX2RlZl9z
aXplOwo+Pj4gICBpbnQgZGVmYXVsdF9zaXplOwo+Pj4gICBpbnQgc2l6ZTsKPj4+ICAgV2FtV29y
ZCAqc3RhY2s7Cj4+PiB9SW5mU3RhY2s7Cj4+PiAjIDU4ICJ3YW1fc3RhY2tzLmgiCj4+PiBleHRl
cm4gUGxMb25nIHBsX2RlZl90cmFpbF9zaXplOwo+Pj4gZXh0ZXJuIFBsTG9uZyBwbF9kZWZfY3N0
cl9zaXplOwo+Pj4gZXh0ZXJuIFBsTG9uZyBwbF9kZWZfZ2xvYmFsX3NpemU7Cj4+PiBleHRlcm4g
UGxMb25nIHBsX2RlZl9sb2NhbF9zaXplOwo+Pj4gZXh0ZXJuIFBsTG9uZyBwbF9maXhlZF9zaXpl
czsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIEluZlN0YWNrIHBsX3N0a190YmxbXTsKPj4+ICMgMzI5ICJ3
YW1fYXJjaGkuaCIgMgo+Pj4gIyA0NiAiZW5naW5lX3BsLmgiIDIKPj4+ICMgMSAiZW5naW5lLmgi
IDEKPj4+ICMgODcgImVuZ2luZS5oIgo+Pj4gZXh0ZXJuIGludCBwbF9vc19hcmdjOwo+Pj4gZXh0
ZXJuIGNoYXIgKipwbF9vc19hcmd2Owo+Pj4KPj4+IGV4dGVybiBjaGFyICpwbF9ob21lOwo+Pj4g
ZXh0ZXJuIGludCBwbF9kZXZlbF9tb2RlOwo+Pj4KPj4+IGV4dGVybiBjaGFyIHBsX2dsb2JfYnVm
ZltdOwo+Pj4KPj4+IGV4dGVybiBQbExvbmcgKnBsX2Jhc2VfZmw7Cj4+PiBleHRlcm4gZG91Ymxl
ICpwbF9iYXNlX2ZkOwo+Pj4KPj4+IGV4dGVybiBpbnQgcGxfbGVfbW9kZTsKPj4+ICMgMTA4ICJl
bmdpbmUuaCIKPj4+IGludCBQbF9TdGFydF9Qcm9sb2coaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk7
Cj4+Pgo+Pj4gdm9pZCBQbF9TdG9wX1Byb2xvZyh2b2lkKTsKPj4+Cj4+PiB2b2lkIFBsX1Jlc2V0
X1Byb2xvZyh2b2lkKTsKPj4+Cj4+PiB2b2lkIFBsX1Jlc2V0X1Byb2xvZ19Jbl9TaWduYWwodm9p
ZCk7Cj4+Pgo+Pj4gdm9pZCBQbF9TZXRfSGVhcF9BY3R1YWxfU3RhcnQoV2FtV29yZCAqaGVhcF9h
Y3R1YWxfc3RhcnQpOwo+Pj4KPj4+Cj4+Pgo+Pj4gdm9pZCBQbF9FeGVjdXRlX0RpcmVjdGl2ZShp
bnQgcGxfZmlsZSwgaW50IHBsX2xpbmUsIEJvb2wgaXNfc3lzdGVtLAo+Pj4gICAgICBDb2RlUHRy
IHByb2MpOwo+Pj4KPj4+IEJvb2wgUGxfVHJ5X0V4ZWN1dGVfVG9wX0xldmVsKHZvaWQpOwo+Pj4K
Pj4+IEJvb2wgUGxfQ2FsbF9Qcm9sb2coQ29kZVB0ciBjb2RlcCk7Cj4+Pgo+Pj4gQm9vbCBQbF9D
YWxsX1Byb2xvZ19OZXh0X1NvbChXYW1Xb3JkICpxdWVyeV9iKTsKPj4+Cj4+PiB2b2lkIFBsX0tl
ZXBfUmVzdF9Gb3JfUHJvbG9nKFdhbVdvcmQgKnF1ZXJ5X2IpOwo+Pj4KPj4+IHZvaWQgUGxfRXhp
dF9XaXRoX0V4Y2VwdGlvbih2b2lkKTsKPj4+Cj4+PiB2b2lkIFBsX0V4ZWN1dGVfQV9Db250aW51
YXRpb24oQ29kZVB0ciBjb2RlcCk7Cj4+PiAjIDQ3ICJlbmdpbmVfcGwuaCIgMgo+Pj4gIyAxICJh
dG9tLmgiIDEKPj4+ICMgOTcgImF0b20uaCIKPj4+IHR5cGVkZWYgc3RydWN0Cj4+PiB7Cj4+PiAg
IHVuc2lnbmVkIGxlbmd0aDoxNjsKPj4+ICAgdW5zaWduZWQgb3BfbWFzazo0Owo+Pj4gICB1bnNp
Z25lZCB0eXBlOjI7Cj4+PiAgIHVuc2lnbmVkIG5lZWRzX3F1b3RlOjE7Cj4+PiAgIHVuc2lnbmVk
IG5lZWRzX3NjYW46MTsKPj4+IH0KPj4+IEF0b21Qcm9wOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHR5
cGVkZWYgc3RydWN0Cj4+PiB7Cj4+PiAgIGNoYXIgKm5hbWU7Cj4+PiAgIHVuc2lnbmVkIGhhc2g7
Cj4+PiAgIEF0b21Qcm9wIHByb3A7Cj4+PiAgIHZvaWQgKmluZm87Cj4+PiB9Cj4+PiBBdG9tSW5m
Owo+Pj4gIyAxNTMgImF0b20uaCIKPj4+IGV4dGVybiBBdG9tSW5mICpwbF9hdG9tX3RibDsKPj4+
IGV4dGVybiBpbnQgcGxfbWF4X2F0b207Cj4+PiBleHRlcm4gaW50IHBsX25iX2F0b207Cj4+Pgo+
Pj4gZXh0ZXJuIGludCBwbF9hdG9tX3ZvaWQ7Cj4+PiBleHRlcm4gaW50IHBsX2F0b21fY3VybHlf
YnJhY2tldHM7Cj4+Pgo+Pj4gZXh0ZXJuIGludCBwbF9hdG9tX2ZhbHNlOwo+Pj4gZXh0ZXJuIGlu
dCBwbF9hdG9tX3RydWU7Cj4+Pgo+Pj4gZXh0ZXJuIGludCBwbF9hdG9tX2VuZF9vZl9maWxlOwo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hhciBwbF9jaGFyX2NvbnZbXTsKPj4+IGV4
dGVybiBpbnQgcGxfY2hhcl90eXBlW107Cj4+Pgo+Pj4gZXh0ZXJuIGNoYXIgcGxfZXNjYXBlX3N5
bWJvbFtdOwo+Pj4gZXh0ZXJuIGNoYXIgcGxfZXNjYXBlX2NoYXJbXTsKPj4+Cj4+Pgo+Pj4KPj4+
IFBsTG9uZyBwbF9kZWZfbWF4X2F0b207Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4g
dm9pZCBQbF9Jbml0X0F0b20odm9pZCk7Cj4+Pgo+Pj4gaW50IFBsX0NyZWF0ZV9BbGxvY2F0ZV9B
dG9tKGNoYXIgKm5hbWUpOwo+Pj4KPj4+IGludCBQbF9DcmVhdGVfQXRvbShjaGFyICpuYW1lKTsK
Pj4+Cj4+PiBXYW1Xb3JkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9DcmVhdGVfQXRv
bV9UYWdnZWQoY2hhciAqbmFtZSk7Cj4+Pgo+Pj4gaW50IFBsX0ZpbmRfQXRvbShjaGFyICpuYW1l
KTsKPj4+Cj4+PiBpbnQgUGxfR2VuX05ld19BdG9tKGNoYXIgKnByZWZpeCk7Cj4+Pgo+Pj4gaW50
IFBsX0ZpbmRfTmV4dF9BdG9tKGludCBsYXN0X2F0b20pOwo+Pj4gIyA0OCAiZW5naW5lX3BsLmgi
IDIKPj4+ICMgMSAicHJlZC5oIiAxCj4+PiAjIDYyICJwcmVkLmgiCj4+PiB0eXBlZGVmIHN0cnVj
dAo+Pj4gewo+Pj4gICBQbExvbmcgZl9uOwo+Pj4gICBpbnQgcGxfZmlsZTsKPj4+ICAgaW50IHBs
X2xpbmU7Cj4+PiAgIGludCBwcm9wOwo+Pj4gICBQbExvbmcgKmNvZGVwOwo+Pj4gICBQbExvbmcg
KmR5bjsKPj4+IH0KPj4+IFByZWRJbmY7Cj4+PiAjIDg2ICJwcmVkLmgiCj4+PiBleHRlcm4gY2hh
ciAqcGxfcHJlZF90Ymw7Cj4+PiAjIDk3ICJwcmVkLmgiCj4+PiB2b2lkIFBsX0luaXRfUHJlZCh2
b2lkKTsKPj4+Cj4+PiBQcmVkSW5mICogX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0Ny
ZWF0ZV9QcmVkKGludCBmdW5jLCBpbnQgYXJpdHksIGludCBwbF9maWxlLCBpbnQgcGxfbGluZSwK
Pj4+ICAgICAgICBpbnQgcHJvcCwgUGxMb25nICpjb2RlcCk7Cj4+Pgo+Pj4gUHJlZEluZiAqIF9f
YXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9Mb29rdXBfUHJlZChpbnQgZnVuYywgaW50IGFy
aXR5KTsKPj4+Cj4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9EZWxldGVf
UHJlZChpbnQgZnVuYywgaW50IGFyaXR5KTsKPj4+ICMgNDkgImVuZ2luZV9wbC5oIiAyCj4+PiAj
IDEgIm1pc2MuaCIgMQo+Pj4gIyA1NyAibWlzYy5oIgo+Pj4gY2hhciAqUGxfTWFsbG9jX0NoZWNr
KHVuc2lnbmVkIHNpemUsIGNoYXIgKnNyY19maWxlLCBpbnQgc3JjX2xpbmUpOwo+Pj4KPj4+IGNo
YXIgKlBsX0NhbGxvY19DaGVjayh1bnNpZ25lZCBuYiwgdW5zaWduZWQgc2l6ZSwgY2hhciAqc3Jj
X2ZpbGUsCj4+PiAgICAgIGludCBzcmNfbGluZSk7Cj4+Pgo+Pj4gY2hhciAqUGxfUmVhbGxvY19D
aGVjayhjaGFyICpwdHIsIHVuc2lnbmVkIHNpemUsIGNoYXIgKnNyY19maWxlLCBpbnQgc3JjX2xp
bmUpOwo+Pj4KPj4+IGNoYXIgKlBsX1N0cmR1cF9DaGVjayhjaGFyICpzdHIsIGNoYXIgKnNyY19m
aWxlLCBpbnQgc3JjX2xpbmUpOwo+Pj4gIyA3NiAibWlzYy5oIgo+Pj4gdm9pZCBQbF9FeHRlbmRf
VGFibGVfSWZfTmVlZGVkKGNoYXIgKipoYXNoX3RibCk7Cj4+Pgo+Pj4gdm9pZCBQbF9FeHRlbmRf
QXJyYXkoY2hhciAqKnB0YmwsIGludCAqbmJfZWxlbSwgaW50IGVsZW1fc2l6ZSwgQm9vbCBiemVy
byk7Cj4+Pgo+Pj4gdm9pZCBQbF9FeGl0X1dpdGhfVmFsdWUoaW50IHJldF92YWwpOwo+Pj4KPj4+
IHZvaWQgUGxfRmF0YWxfRXJyb3IoY2hhciAqZm9ybWF0LCAuLi4pOwo+Pj4gIyAxMTQgIm1pc2Mu
aCIKPj4+IHZvaWQgKlBsX0R1bW15X1B0cih2b2lkICpwKTsKPj4+ICMgNTAgImVuZ2luZV9wbC5o
IiAyCj4+PiAjIDEgIm9wZXIuaCIgMQo+Pj4gIyA3MiAib3Blci5oIgo+Pj4gdHlwZWRlZiBzdHJ1
Y3QKPj4+IHsKPj4+ICAgUGxMb25nIGFfdDsKPj4+ICAgaW50IHByZWM7Cj4+PiAgIGludCBsZWZ0
Owo+Pj4gICBpbnQgcmlnaHQ7Cj4+PiB9Cj4+PiBPcGVySW5mOwo+Pj4gIyA5NCAib3Blci5oIgo+
Pj4gZXh0ZXJuIGNoYXIgKnBsX29wZXJfdGJsOwo+Pj4gIyAxMDMgIm9wZXIuaCIKPj4+IHZvaWQg
UGxfSW5pdF9PcGVyKHZvaWQpOwo+Pj4KPj4+IE9wZXJJbmYgKlBsX0NyZWF0ZV9PcGVyKGludCBh
dG9tX29wLCBpbnQgdHlwZSwgaW50IHByZWMsIGludCBsZWZ0LCBpbnQgcmlnaHQpOwo+Pj4KPj4+
IE9wZXJJbmYgKlBsX0xvb2t1cF9PcGVyKGludCBhdG9tX29wLCBpbnQgdHlwZSk7Cj4+Pgo+Pj4g
T3BlckluZiAqUGxfTG9va3VwX09wZXJfQW55X1R5cGUoaW50IGF0b21fb3ApOwo+Pj4KPj4+IE9w
ZXJJbmYgKlBsX0RlbGV0ZV9PcGVyKGludCBhdG9tX29wLCBpbnQgdHlwZSk7Cj4+PiAjIDUxICJl
bmdpbmVfcGwuaCIgMgo+Pj4gIyAxICJtYWNoaW5lMS5oIiAxCj4+PiAjIDcwICJtYWNoaW5lMS5o
Igo+Pj4gZXh0ZXJuIGludCBwbF9tX29zX3R5cGU7Cj4+PiBleHRlcm4gY2hhciBwbF9tX2FyY2hp
dGVjdHVyZVtdOwo+Pj4gZXh0ZXJuIGNoYXIgcGxfbV9vc192ZXJzaW9uW107Cj4+PiAjIDgzICJt
YWNoaW5lMS5oIgo+Pj4gdm9pZCBQbF9Jbml0X01hY2hpbmUxKHZvaWQpOwo+Pj4KPj4+IGNoYXIg
KipQbF9NX0NyZWF0ZV9TaGVsbF9Db21tYW5kKGNoYXIgKmNtZCk7Cj4+Pgo+Pj4gY2hhciAqKlBs
X01fQ21kX0xpbmVfVG9fQXJndihjaGFyICpjbWQsIGludCAqYXJnYyk7Cj4+Pgo+Pj4gaW50IFBs
X01fU2hlbGwoY2hhciAqY21kKTsKPj4+Cj4+PiBpbnQgUGxfTV9TcGF3bihjaGFyICphcmdbXSk7
Cj4+Pgo+Pj4gaW50IFBsX01fU3Bhd25fUmVkaXJlY3QoY2hhciAqYXJnW10sIGludCBkZXRhY2gs
Cj4+PiAgICAgICAgRklMRSAqKmZfaW4sIEZJTEUgKipmX291dCwgRklMRSAqKmZfZXJyKTsKPj4+
Cj4+PiBpbnQgUGxfTV9HZXRfU3RhdHVzKGludCBwaWQpOwo+Pj4KPj4+Cj4+Pgo+Pj4gY2hhciAq
UGxfTV9Na3RlbXAoY2hhciAqdG1wX3RlbXBsYXRlKTsKPj4+Cj4+PiBjaGFyICpQbF9NX1RlbXBu
YW0oY2hhciAqZGlyLCBjaGFyICpwZngpOwo+Pj4gIyA1MiAiZW5naW5lX3BsLmgiIDIKPj4+ICMg
MSAibWFjaGluZS5oIiAxCj4+PiAjIDYxICJtYWNoaW5lLmgiCj4+PiB2b2lkIFBsX0luaXRfTWFj
aGluZSh2b2lkKTsKPj4+Cj4+PiBjaGFyICpQbF9NX1N5c19FcnJfU3RyaW5nKGludCByZXRfdmFs
KTsKPj4+Cj4+PiBQbExvbmcgUGxfTV9Vc2VyX1RpbWUodm9pZCk7Cj4+Pgo+Pj4gUGxMb25nIFBs
X01fU3lzdGVtX1RpbWUodm9pZCk7Cj4+Pgo+Pj4gUGxMb25nIFBsX01fUmVhbF9UaW1lKHZvaWQp
Owo+Pj4KPj4+IHZvaWQgUGxfTV9SYW5kb21pemUodm9pZCk7Cj4+Pgo+Pj4gdm9pZCBQbF9NX1Nl
dF9TZWVkKGludCBuKTsKPj4+Cj4+PiBpbnQgUGxfTV9HZXRfU2VlZCh2b2lkKTsKPj4+Cj4+PiBp
bnQgUGxfTV9SYW5kb21fSW50ZWdlcihpbnQgbik7Cj4+Pgo+Pj4gZG91YmxlIFBsX01fUmFuZG9t
X0Zsb2F0KGRvdWJsZSBuKTsKPj4+Cj4+Pgo+Pj4KPj4+IGNoYXIgKlBsX01fSG9zdF9OYW1lX0Zy
b21fTmFtZShjaGFyICpob3N0X25hbWUpOwo+Pj4KPj4+IGNoYXIgKlBsX01fSG9zdF9OYW1lX0Zy
b21fQWRyKGNoYXIgKmhvc3RfYWRkcmVzcyk7Cj4+Pgo+Pj4gY2hhciAqUGxfTV9HZXRfV29ya2lu
Z19EaXIodm9pZCk7Cj4+Pgo+Pj4gQm9vbCBQbF9NX1NldF9Xb3JraW5nX0RpcihjaGFyICpwYXRo
KTsKPj4+Cj4+PiBjaGFyICpQbF9NX0Fic29sdXRlX1BhdGhfTmFtZShjaGFyICpzcmMpOwo+Pj4K
Pj4+IEJvb2wgUGxfTV9Jc19BYnNvbHV0ZV9GaWxlX05hbWUoY2hhciAqcGF0aCk7Cj4+Pgo+Pj4g
Y2hhciAqUGxfTV9EZWNvbXBvc2VfRmlsZV9OYW1lKGNoYXIgKnBhdGgsIEJvb2wgZGVsX3RyYWls
X3NsYXNoZXMsCj4+PiAgICAgICAgICAgY2hhciAqKmJhc2UsIGNoYXIgKipzdWZmaXgpOwo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHZvaWQgTV9DaGVja19NYWdpY19Xb3Jkcyh2b2lk
KTsKPj4+ICMgNTMgImVuZ2luZV9wbC5oIiAyCj4+PiAjIDEgInN0YWNrc19zaWdzZWd2LmgiIDEK
Pj4+ICMgNTAgInN0YWNrc19zaWdzZWd2LmgiCj4+PiB0eXBlZGVmIGludCAoKlNlZ3ZIZGxyKSh2
b2lkICpiYWRfYWRkcik7Cj4+PiAjIDYwICJzdGFja3Nfc2lnc2Vndi5oIgo+Pj4gdm9pZCBQbF9B
bGxvY2F0ZV9TdGFja3Modm9pZCk7Cj4+Pgo+Pj4gdm9pZCBQbF9QdXNoX1NJR1NFR1ZfSGFuZGxl
cihTZWd2SGRsciBoYW5kbGVyKTsKPj4+Cj4+PiB2b2lkIFBsX1BvcF9TSUdTRUdWX0hhbmRsZXIo
dm9pZCk7Cj4+PiAjIDU0ICJlbmdpbmVfcGwuaCIgMgo+Pj4gIyAxICJvYmpfY2hhaW4uaCIgMQo+
Pj4gIyA1OCAib2JqX2NoYWluLmgiCj4+PiB2b2lkIFBsX0ZpbmRfTGlua2VkX09iamVjdHModm9p
ZCk7Cj4+Pgo+Pj4gdm9pZCBQbF9OZXdfT2JqZWN0KHZvaWQgKCpmY3Rfb2JqX2luaXQpKCksIHZv
aWQgKCpmY3RfZXhlY19zeXN0ZW0pICgpLCB2b2lkICgqZmN0X2V4ZWNfdXNlcikgKCkpOwo+Pj4g
IyA1NSAiZW5naW5lX3BsLmgiIDIKPj4+ICMgMSAid2FtX2luc3QuaCIgMQo+Pj4gIyAyNDkgIndh
bV9pbnN0LmgiCj4+PiB0eXBlZGVmIHN0cnVjdAo+Pj4gewo+Pj4gICBQbExvbmcga2V5Owo+Pj4g
ICBDb2RlUHRyIGNvZGVwOwo+Pj4gfQo+Pj4gU3d0SW5mOwo+Pj4KPj4+IHR5cGVkZWYgU3d0SW5m
ICpTd3RUYmw7Cj4+PiAjIDI2OSAid2FtX2luc3QuaCIKPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVf
XygocmVncGFybSgzKSkpIFBsX0NyZWF0ZV9GdW5jdG9yX0FyaXR5X1RhZ2dlZChjaGFyICpmdW5j
X3N0ciwgaW50IGFyaXR5KTsKPj4+Cj4+PiBTd3RUYmwgX19hdHRyaWJ1dGVfXygocmVncGFybSgz
KSkpIFBsX0NyZWF0ZV9Td3RfVGFibGUoaW50IHNpemUpOwo+Pj4KPj4+IHZvaWQgX19hdHRyaWJ1
dGVfXygocmVncGFybSgzKSkpIFBsX0NyZWF0ZV9Td3RfQXRtX0VsZW1lbnQoU3d0VGJsIHQsIGlu
dCBzaXplLCBpbnQgYXRvbSwgQ29kZVB0ciBjb2RlcCk7Cj4+Pgo+Pj4gdm9pZCBfX2F0dHJpYnV0
ZV9fKChyZWdwYXJtKDMpKSkgUGxfQ3JlYXRlX1N3dF9TdGNfRWxlbWVudChTd3RUYmwgdCwgaW50
IHNpemUsIGludCBmdW5jLCBpbnQgYXJpdHksCj4+PiAgICAgICAgQ29kZVB0ciBjb2RlcCk7Cj4+
Pgo+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfR2V0X0F0b21fVGFnZ2Vk
KFdhbVdvcmQgdywgV2FtV29yZCBzdGFydF93b3JkKTsKPj4+Cj4+PiBCb29sIF9fYXR0cmlidXRl
X18oKHJlZ3Bhcm0oMykpKSBQbF9HZXRfQXRvbShpbnQgYXRvbSwgV2FtV29yZCBzdGFydF93b3Jk
KTsKPj4+Cj4+PiBCb29sIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9HZXRfSW50ZWdl
cl9UYWdnZWQoV2FtV29yZCB3LCBXYW1Xb3JkIHN0YXJ0X3dvcmQpOwo+Pj4KPj4+IEJvb2wgX19h
dHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0dldF9JbnRlZ2VyKFBsTG9uZyBuLCBXYW1Xb3Jk
IHN0YXJ0X3dvcmQpOwo+Pj4KPj4+IEJvb2wgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBs
X0dldF9GbG9hdChkb3VibGUgbiwgV2FtV29yZCBzdGFydF93b3JkKTsKPj4+Cj4+PiBCb29sIF9f
YXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9HZXRfTmlsKFdhbVdvcmQgc3RhcnRfd29yZCk7
Cj4+Pgo+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfR2V0X0xpc3QoV2Ft
V29yZCBzdGFydF93b3JkKTsKPj4+Cj4+PiBCb29sIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykp
KSBQbF9HZXRfU3RydWN0dXJlX1RhZ2dlZChXYW1Xb3JkIHcsIFdhbVdvcmQgc3RhcnRfd29yZCk7
Cj4+Pgo+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfR2V0X1N0cnVjdHVy
ZShpbnQgZnVuYywgaW50IGFyaXR5LCBXYW1Xb3JkIHN0YXJ0X3dvcmQpOwo+Pj4KPj4+IFdhbVdv
cmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1B1dF9YX1ZhcmlhYmxlKHZvaWQpOwo+
Pj4KPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1B1dF9ZX1Zhcmlh
YmxlKFdhbVdvcmQgKnlfYWRyKTsKPj4+Cj4+PiBXYW1Xb3JkIF9fYXR0cmlidXRlX18oKHJlZ3Bh
cm0oMykpKSBQbF9QdXRfVW5zYWZlX1ZhbHVlKFdhbVdvcmQgc3RhcnRfd29yZCk7Cj4+Pgo+Pj4g
V2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfUHV0X0F0b21fVGFnZ2VkKFdh
bVdvcmQgdyk7Cj4+Pgo+Pj4gV2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxf
UHV0X0F0b20oaW50IGF0b20pOwo+Pj4KPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFy
bSgzKSkpIFBsX1B1dF9JbnRlZ2VyX1RhZ2dlZChXYW1Xb3JkIHcpOwo+Pj4KPj4+IFdhbVdvcmQg
X19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1B1dF9JbnRlZ2VyKFBsTG9uZyBuKTsKPj4+
Cj4+PiBXYW1Xb3JkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9QdXRfRmxvYXQoZG91
YmxlIG4pOwo+Pj4KPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1B1
dF9OaWwodm9pZCk7Cj4+Pgo+Pj4gV2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkg
UGxfUHV0X0xpc3Qodm9pZCk7Cj4+Pgo+Pj4gV2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJt
KDMpKSkgUGxfUHV0X1N0cnVjdHVyZV9UYWdnZWQoV2FtV29yZCB3KTsKPj4+Cj4+PiBXYW1Xb3Jk
IF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9QdXRfU3RydWN0dXJlKGludCBmdW5jLCBp
bnQgYXJpdHkpOwo+Pj4KPj4+IFdhbVdvcmQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBs
X1VuaWZ5X1ZhcmlhYmxlKHZvaWQpOwo+Pj4KPj4+IHZvaWQgX19hdHRyaWJ1dGVfXygocmVncGFy
bSgzKSkpIFBsX1VuaWZ5X1ZvaWQoaW50IG4pOwo+Pj4KPj4+IEJvb2wgX19hdHRyaWJ1dGVfXygo
cmVncGFybSgzKSkpIFBsX1VuaWZ5X1ZhbHVlKFdhbVdvcmQgc3RhcnRfd29yZCk7Cj4+Pgo+Pj4g
Qm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVW5pZnlfTG9jYWxfVmFsdWUoV2Ft
V29yZCBzdGFydF93b3JkKTsKPj4+Cj4+PiBCb29sIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykp
KSBQbF9VbmlmeV9BdG9tX1RhZ2dlZChXYW1Xb3JkIHcpOwo+Pj4KPj4+IEJvb2wgX19hdHRyaWJ1
dGVfXygocmVncGFybSgzKSkpIFBsX1VuaWZ5X0F0b20oaW50IGF0b20pOwo+Pj4KPj4+IEJvb2wg
X19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1VuaWZ5X0ludGVnZXJfVGFnZ2VkKFdhbVdv
cmQgdyk7Cj4+Pgo+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVW5pZnlf
SW50ZWdlcihQbExvbmcgbik7Cj4+Pgo+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMp
KSkgUGxfVW5pZnlfTmlsKHZvaWQpOwo+Pj4KPj4+IEJvb2wgX19hdHRyaWJ1dGVfXygocmVncGFy
bSgzKSkpIFBsX1VuaWZ5X0xpc3Qodm9pZCk7Cj4+Pgo+Pj4gQm9vbCBfX2F0dHJpYnV0ZV9fKChy
ZWdwYXJtKDMpKSkgUGxfVW5pZnlfU3RydWN0dXJlX1RhZ2dlZChXYW1Xb3JkIHcpOwo+Pj4KPj4+
IEJvb2wgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1VuaWZ5X1N0cnVjdHVyZShpbnQg
ZnVuYywgaW50IGFyaXR5KTsKPj4+Cj4+PiBXYW1Xb3JkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0o
MykpKSBQbF9HbG9iYWxpemVfSWZfSW5fTG9jYWwoV2FtV29yZCBzdGFydF93b3JkKTsKPj4+Cj4+
PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9BbGxvY2F0ZShpbnQgbik7Cj4+
Pgo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfRGVhbGxvY2F0ZSh2b2lk
KTsKPj4+Cj4+PiBDb2RlUHRyIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9Td2l0Y2hf
T25fVGVybShDb2RlUHRyIGNfdmFyLCBDb2RlUHRyIGNfYXRtLCBDb2RlUHRyIGNfaW50LAo+Pj4g
ICAgICAgICAgICAgQ29kZVB0ciBjX2xzdCwgQ29kZVB0ciBjX3N0Yyk7Cj4+PiBDb2RlUHRyIF9f
YXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9Td2l0Y2hfT25fVGVybV9WYXJfQXRtKENvZGVQ
dHIgY192YXIsIENvZGVQdHIgY19hdG0pOwo+Pj4gQ29kZVB0ciBfX2F0dHJpYnV0ZV9fKChyZWdw
YXJtKDMpKSkgUGxfU3dpdGNoX09uX1Rlcm1fVmFyX1N0YyhDb2RlUHRyIGNfdmFyLCBDb2RlUHRy
IGNfc3RjKTsKPj4+IENvZGVQdHIgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1N3aXRj
aF9Pbl9UZXJtX1Zhcl9BdG1fTHN0KENvZGVQdHIgY192YXIsIENvZGVQdHIgY19hdG0sCj4+PiAg
ICAgICAgICAgQ29kZVB0ciBjX2xzdCk7Cj4+PiBDb2RlUHRyIF9fYXR0cmlidXRlX18oKHJlZ3Bh
cm0oMykpKSBQbF9Td2l0Y2hfT25fVGVybV9WYXJfQXRtX1N0YyhDb2RlUHRyIGNfdmFyLCBDb2Rl
UHRyIGNfYXRtLAo+Pj4gICAgICAgICAgIENvZGVQdHIgY19zdGMpOwo+Pj4KPj4+IENvZGVQdHIg
X19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX1N3aXRjaF9Pbl9BdG9tKFN3dFRibCB0LCBp
bnQgc2l6ZSk7Cj4+Pgo+Pj4gUGxMb25nIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9T
d2l0Y2hfT25fSW50ZWdlcih2b2lkKTsKPj4+Cj4+PiBDb2RlUHRyIF9fYXR0cmlidXRlX18oKHJl
Z3Bhcm0oMykpKSBQbF9Td2l0Y2hfT25fU3RydWN0dXJlKFN3dFRibCB0LCBpbnQgc2l6ZSk7Cj4+
Pgo+Pj4gV2FtV29yZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfR2V0X0N1cnJlbnRf
Q2hvaWNlKHZvaWQpOwo+Pj4KPj4+IHZvaWQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBs
X0N1dChXYW1Xb3JkIGJfd29yZCk7Cj4+Pgo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJt
KDMpKSkgUGxfU29mdF9DdXQoV2FtV29yZCBiX3dvcmQpOwo+Pj4KPj4+IHZvaWQgX19hdHRyaWJ1
dGVfXygocmVncGFybSgzKSkpIFBsX0dsb2JhbF9QdXNoX0Zsb2F0KGRvdWJsZSBuKTsKPj4+Cj4+
PiBkb3VibGUgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX09idGFpbl9GbG9hdChXYW1X
b3JkICphZHIpOwo+Pj4KPj4+Cj4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQ
bF9DcmVhdGVfQ2hvaWNlX1BvaW50KENvZGVQdHIgY29kZXBfYWx0LCBpbnQgYXJpdHkpOwo+Pj4g
dm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfQ3JlYXRlX0Nob2ljZV9Qb2ludDAo
Q29kZVB0ciBjb2RlcF9hbHQpOwo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkg
UGxfQ3JlYXRlX0Nob2ljZV9Qb2ludDEoQ29kZVB0ciBjb2RlcF9hbHQpOwo+Pj4gdm9pZCBfX2F0
dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfQ3JlYXRlX0Nob2ljZV9Qb2ludDIoQ29kZVB0ciBj
b2RlcF9hbHQpOwo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfQ3JlYXRl
X0Nob2ljZV9Qb2ludDMoQ29kZVB0ciBjb2RlcF9hbHQpOwo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9f
KChyZWdwYXJtKDMpKSkgUGxfQ3JlYXRlX0Nob2ljZV9Qb2ludDQoQ29kZVB0ciBjb2RlcF9hbHQp
Owo+Pj4KPj4+Cj4+PiB2b2lkIF9fYXR0cmlidXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9VcGRhdGVf
Q2hvaWNlX1BvaW50KENvZGVQdHIgY29kZXBfYWx0LCBpbnQgYXJpdHkpOwo+Pj4gdm9pZCBfX2F0
dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVXBkYXRlX0Nob2ljZV9Qb2ludDAoQ29kZVB0ciBj
b2RlcF9hbHQpOwo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVXBkYXRl
X0Nob2ljZV9Qb2ludDEoQ29kZVB0ciBjb2RlcF9hbHQpOwo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9f
KChyZWdwYXJtKDMpKSkgUGxfVXBkYXRlX0Nob2ljZV9Qb2ludDIoQ29kZVB0ciBjb2RlcF9hbHQp
Owo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfVXBkYXRlX0Nob2ljZV9Q
b2ludDMoQ29kZVB0ciBjb2RlcF9hbHQpOwo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJt
KDMpKSkgUGxfVXBkYXRlX0Nob2ljZV9Qb2ludDQoQ29kZVB0ciBjb2RlcF9hbHQpOwo+Pj4KPj4+
IHZvaWQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0RlbGV0ZV9DaG9pY2VfUG9pbnQo
aW50IGFyaXR5KTsKPj4+IHZvaWQgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0RlbGV0
ZV9DaG9pY2VfUG9pbnQwKHZvaWQpOwo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMp
KSkgUGxfRGVsZXRlX0Nob2ljZV9Qb2ludDEodm9pZCk7Cj4+PiB2b2lkIF9fYXR0cmlidXRlX18o
KHJlZ3Bhcm0oMykpKSBQbF9EZWxldGVfQ2hvaWNlX1BvaW50Mih2b2lkKTsKPj4+IHZvaWQgX19h
dHRyaWJ1dGVfXygocmVncGFybSgzKSkpIFBsX0RlbGV0ZV9DaG9pY2VfUG9pbnQzKHZvaWQpOwo+
Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJtKDMpKSkgUGxfRGVsZXRlX0Nob2ljZV9Qb2lu
dDQodm9pZCk7Cj4+Pgo+Pj4KPj4+IHZvaWQgUGxfRGVmZWFzaWJsZV9PcGVuKCk7Cj4+PiB2b2lk
IFBsX0RlZmVhc2libGVfVW5kbygpOwo+Pj4gdm9pZCBQbF9EZWZlYXNpYmxlX0Nsb3NlKEJvb2wg
dW5kb19iZWZvcmUpOwo+Pj4KPj4+Cj4+Pgo+Pj4gdm9pZCBfX2F0dHJpYnV0ZV9fKChyZWdwYXJt
KDMpKSkgUGxfVW50cmFpbChXYW1Xb3JkICpsb3dfYWRyKTsKPj4+Cj4+PiBCb29sIF9fYXR0cmli
dXRlX18oKHJlZ3Bhcm0oMykpKSBQbF9VbmlmeShXYW1Xb3JkIHN0YXJ0X3Vfd29yZCwgV2FtV29y
ZCBzdGFydF92X3dvcmQpOwo+Pj4KPj4+IEJvb2wgX19hdHRyaWJ1dGVfXygocmVncGFybSgzKSkp
IFBsX1VuaWZ5X09jY3Vyc19DaGVjayhXYW1Xb3JkIHN0YXJ0X3Vfd29yZCwgV2FtV29yZCBzdGFy
dF92X3dvcmQpOwo+Pj4gIyA1NiAiZW5naW5lX3BsLmgiIDIKPj4+ICMgMSAiaWZfbm9fZmQuaCIg
MQo+Pj4gIyA2NSAiaWZfbm9fZmQuaCIKPj4+IGV4dGVybiB2b2lkICgqcGxfZmRfaW5pdF9zb2x2
ZXIpICgpOwo+Pj4gZXh0ZXJuIHZvaWQgKCpwbF9mZF9yZXNldF9zb2x2ZXIpICgpOwo+Pj4gZXh0
ZXJuIEJvb2wgKCpwbF9mZF91bmlmeV93aXRoX2ludGVnZXIpICgpOwo+Pj4gZXh0ZXJuIEJvb2wg
KCpwbF9mZF91bmlmeV93aXRoX2ZkX3ZhcikgKCk7Cj4+PiBleHRlcm4gaW50ICgqcGxfZmRfdmFy
aWFibGVfc2l6ZSkgKCk7Cj4+PiBleHRlcm4gaW50ICgqcGxfZmRfY29weV92YXJpYWJsZSkgKCk7
Cj4+PiBleHRlcm4gY2hhciAqKCpwbF9mZF92YXJpYWJsZV90b19zdHJpbmcpICgpOwo+Pj4gIyA4
MiAiaWZfbm9fZmQuaCIKPj4+IHZvaWQgUGxfRmRfSW5pdF9Tb2x2ZXIodm9pZCk7Cj4+Pgo+Pj4g
dm9pZCBQbF9GZF9SZXNldF9Tb2x2ZXIodm9pZCk7Cj4+PiAjIDU2ICJlbmdpbmVfcGwuaCIgMgo+
Pj4gIyA3MiAibWFjaGluZS5jIiAyCj4+Pgo+Pj4KPj4+Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9t
YWxsb2MuaCIgMSAzIDQKPj4+ICMgMjMgIi91c3IvaW5jbHVkZS9tYWxsb2MuaCIgMyA0Cj4+PiAj
IDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGRlZi5o
IiAxIDMgNAo+Pj4gIyAxNDkgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9p
bmNsdWRlL3N0ZGRlZi5oIiAzIDQKPj4+Cj4+PiAjIDE0OSAiL3Vzci9saWIvZ2NjL2k2ODYtcmVk
aGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDMgNAo+Pj4gdHlwZWRlZiBpbnQgcHRy
ZGlmZl90Owo+Pj4gIyA0MjYgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9p
bmNsdWRlL3N0ZGRlZi5oIiAzIDQKPj4+IHR5cGVkZWYgc3RydWN0IHsKPj4+ICAgbG9uZyBsb25n
IF9fbWF4X2FsaWduX2xsIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKF9fYWxpZ25vZl9fKGxv
bmcgbG9uZykpKSk7Cj4+PiAgIGxvbmcgZG91YmxlIF9fbWF4X2FsaWduX2xkIF9fYXR0cmlidXRl
X18oKF9fYWxpZ25lZF9fKF9fYWxpZ25vZl9fKGxvbmcgZG91YmxlKSkpKTsKPj4+IH0gbWF4X2Fs
aWduX3Q7Cj4+PiAjIDI0ICIvdXNyL2luY2x1ZGUvbWFsbG9jLmgiIDIgMyA0Cj4+PiAjIDM1ICIv
dXNyL2luY2x1ZGUvbWFsbG9jLmgiIDMgNAo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgKm1h
bGxvYyAoc2l6ZV90IF9fc2l6ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFm
X18pKSBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2NfXykpIDsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZv
aWQgKmNhbGxvYyAoc2l6ZV90IF9fbm1lbWIsIHNpemVfdCBfX3NpemUpCj4+PiBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19f
KSkgOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgKnJlYWxsb2MgKHZv
aWQgKl9fcHRyLCBzaXplX3QgX19zaXplKQo+Pj4gX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX193YXJuX3VudXNlZF9yZXN1bHRfXykpOwo+
Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBmcmVlICh2b2lkICpfX3B0cikgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgY2ZyZWUg
KHZvaWQgKl9fcHRyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+
Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCAqbWVtYWxpZ24gKHNpemVfdCBfX2FsaWdubWVudCwgc2l6
ZV90IF9fc2l6ZSkKPj4+IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKSA7Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkICp2
YWxsb2MgKHNpemVfdCBfX3NpemUpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVh
Zl9fKSkgX19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKSA7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRl
cm4gdm9pZCAqcHZhbGxvYyAoc2l6ZV90IF9fc2l6ZSkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2NfXykpIDsKPj4+Cj4+Pgo+
Pj4KPj4+IGV4dGVybiB2b2lkICooKl9fbW9yZWNvcmUpIChwdHJkaWZmX3QgX19zaXplKTsKPj4+
Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgKl9fZGVmYXVsdF9tb3JlY29yZSAocHRyZGlmZl90IF9fc2l6
ZSkKPj4+IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkgX19hdHRyaWJ1
dGVfXyAoKF9fbWFsbG9jX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+IHN0cnVjdCBtYWxsaW5mbwo+Pj4g
ewo+Pj4gICBpbnQgYXJlbmE7Cj4+PiAgIGludCBvcmRibGtzOwo+Pj4gICBpbnQgc21ibGtzOwo+
Pj4gICBpbnQgaGJsa3M7Cj4+PiAgIGludCBoYmxraGQ7Cj4+PiAgIGludCB1c21ibGtzOwo+Pj4g
ICBpbnQgZnNtYmxrczsKPj4+ICAgaW50IHVvcmRibGtzOwo+Pj4gICBpbnQgZm9yZGJsa3M7Cj4+
PiAgIGludCBrZWVwY29zdDsKPj4+IH07Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzdHJ1Y3QgbWFsbGlu
Zm8gbWFsbGluZm8gKHZvaWQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSk7Cj4+PiAjIDEyMSAiL3Vzci9pbmNsdWRlL21hbGxvYy5oIiAzIDQKPj4+IGV4dGVybiBpbnQg
bWFsbG9wdCAoaW50IF9fcGFyYW0sIGludCBfX3ZhbCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgbWFsbG9jX3RyaW0g
KHNpemVfdCBfX3BhZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsK
Pj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzaXplX3QgbWFsbG9jX3VzYWJsZV9zaXplICh2b2lkICpf
X3B0cikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIHZvaWQgbWFsbG9jX3N0YXRzICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Ro
cm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IG1hbGxvY19pbmZvIChp
bnQgX19vcHRpb25zLCBGSUxFICpfX2ZwKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCAqbWFsbG9jX2dldF9zdGF0ZSAodm9p
ZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4K
Pj4+IGV4dGVybiBpbnQgbWFsbG9jX3NldF9zdGF0ZSAodm9pZCAqX19wdHIpIF9fYXR0cmlidXRl
X18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJu
IHZvaWQgKCp2b2xhdGlsZSBfX21hbGxvY19pbml0aWFsaXplX2hvb2spICh2b2lkKQo+Pj4gX19h
dHRyaWJ1dGVfXyAoKF9fZGVwcmVjYXRlZF9fKSk7Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgKCp2b2xh
dGlsZSBfX2ZyZWVfaG9vaykgKHZvaWQgKl9fcHRyLAo+Pj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgdm9pZCAqKQo+Pj4gX19hdHRyaWJ1
dGVfXyAoKF9fZGVwcmVjYXRlZF9fKSk7Cj4+PiBleHRlcm4gdm9pZCAqKCp2b2xhdGlsZSBfX21h
bGxvY19ob29rKShzaXplX3QgX19zaXplLAo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICopCj4+PiBfX2F0dHJpYnV0ZV9f
ICgoX19kZXByZWNhdGVkX18pKTsKPj4+IGV4dGVybiB2b2lkICooKnZvbGF0aWxlIF9fcmVhbGxv
Y19ob29rKSh2b2lkICpfX3B0ciwKPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBfX3NpemUsCj4+PiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2b2lkICopCj4+PiBf
X2F0dHJpYnV0ZV9fICgoX19kZXByZWNhdGVkX18pKTsKPj4+IGV4dGVybiB2b2lkICooKnZvbGF0
aWxlIF9fbWVtYWxpZ25faG9vaykoc2l6ZV90IF9fYWxpZ25tZW50LAo+Pj4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBfX3NpemUs
Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3Qgdm9pZCAqKQo+Pj4gX19hdHRyaWJ1dGVfXyAoKF9fZGVwcmVjYXRlZF9fKSk7Cj4+
PiBleHRlcm4gdm9pZCAoKnZvbGF0aWxlIF9fYWZ0ZXJfbW9yZWNvcmVfaG9vaykgKHZvaWQpOwo+
Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBfX21hbGxvY19jaGVja19pbml0ICh2b2lkKSBfX2F0dHJp
YnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2RlcHJl
Y2F0ZWRfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4gIyA3NiAibWFjaGluZS5jIiAyCj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMSAzIDQKPj4+ICMgMjcgIi91c3Iv
aW5jbHVkZS9uZXRkYi5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL25ldGluZXQvaW4uaCIg
MSAzIDQKPj4+ICMgMjMgIi91c3IvaW5jbHVkZS9uZXRpbmV0L2luLmgiIDMgNAo+Pj4gIyAxICIv
dXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAxIDMgNAo+Pj4gIyAyNCAiL3Vzci9pbmNsdWRlL3N5
cy9zb2NrZXQuaCIgMyA0Cj4+Pgo+Pj4KPj4+ICMgMSAiL3Vzci9pbmNsdWRlL3N5cy91aW8uaCIg
MSAzIDQKPj4+ICMgMjUgIi91c3IvaW5jbHVkZS9zeXMvdWlvLmgiIDMgNAo+Pj4KPj4+Cj4+Pgo+
Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy91aW8uaCIgMSAzIDQKPj4+ICMgNDMgIi91c3IvaW5j
bHVkZS9iaXRzL3Vpby5oIiAzIDQKPj4+IHN0cnVjdCBpb3ZlYwo+Pj4gICB7Cj4+PiAgICAgdm9p
ZCAqaW92X2Jhc2U7Cj4+PiAgICAgc2l6ZV90IGlvdl9sZW47Cj4+PiAgIH07Cj4+PiAjIDI5ICIv
dXNyL2luY2x1ZGUvc3lzL3Vpby5oIiAyIDMgNAo+Pj4gIyAzOSAiL3Vzci9pbmNsdWRlL3N5cy91
aW8uaCIgMyA0Cj4+PiBleHRlcm4gc3NpemVfdCByZWFkdiAoaW50IF9fZmQsIGNvbnN0IHN0cnVj
dCBpb3ZlYyAqX19pb3ZlYywgaW50IF9fY291bnQpCj4+PiAgIDsKPj4+ICMgNTAgIi91c3IvaW5j
bHVkZS9zeXMvdWlvLmgiIDMgNAo+Pj4gZXh0ZXJuIHNzaXplX3Qgd3JpdGV2IChpbnQgX19mZCwg
Y29uc3Qgc3RydWN0IGlvdmVjICpfX2lvdmVjLCBpbnQgX19jb3VudCkKPj4+ICAgOwo+Pj4gIyA2
NSAiL3Vzci9pbmNsdWRlL3N5cy91aW8uaCIgMyA0Cj4+PiBleHRlcm4gc3NpemVfdCBwcmVhZHYg
KGludCBfX2ZkLCBjb25zdCBzdHJ1Y3QgaW92ZWMgKl9faW92ZWMsIGludCBfX2NvdW50LAo+Pj4g
ICAgICAgICAgX19vZmZfdCBfX29mZnNldCkgOwo+Pj4gIyA3NyAiL3Vzci9pbmNsdWRlL3N5cy91
aW8uaCIgMyA0Cj4+PiBleHRlcm4gc3NpemVfdCBwd3JpdGV2IChpbnQgX19mZCwgY29uc3Qgc3Ry
dWN0IGlvdmVjICpfX2lvdmVjLCBpbnQgX19jb3VudCwKPj4+ICAgIF9fb2ZmX3QgX19vZmZzZXQp
IDsKPj4+ICMgMTIwICIvdXNyL2luY2x1ZGUvc3lzL3Vpby5oIiAzIDQKPj4+Cj4+PiAjIDI3ICIv
dXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAyIDMgNAo+Pj4KPj4+ICMgMSAiL3Vzci9saWIvZ2Nj
L2k2ODYtcmVkaGF0LWxpbnV4LzYuMS4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMyA0Cj4+PiAjIDI5
ICIvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAyIDMgNAo+Pj4gIyAzOCAiL3Vzci9pbmNsdWRl
L3N5cy9zb2NrZXQuaCIgMyA0Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9iaXRzL3NvY2tldC5oIiAx
IDMgNAo+Pj4gIyAyNyAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2V0LmgiIDMgNAo+Pj4gIyAxICIv
dXNyL2xpYi9nY2MvaTY4Ni1yZWRoYXQtbGludXgvNi4xLjEvaW5jbHVkZS9zdGRkZWYuaCIgMSAz
IDQKPj4+ICMgMjggIi91c3IvaW5jbHVkZS9iaXRzL3NvY2tldC5oIiAyIDMgNAo+Pj4gIyAzOCAi
L3Vzci9pbmNsdWRlL2JpdHMvc29ja2V0LmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0
cy9zb2NrZXRfdHlwZS5oIiAxIDMgNAo+Pj4gIyAyNCAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2V0
X3R5cGUuaCIgMyA0Cj4+PiBlbnVtIF9fc29ja2V0X3R5cGUKPj4+IHsKPj4+ICAgU09DS19TVFJF
QU0gPSAxLAo+Pj4KPj4+Cj4+PiAgIFNPQ0tfREdSQU0gPSAyLAo+Pj4KPj4+Cj4+PiAgIFNPQ0tf
UkFXID0gMywKPj4+Cj4+PiAgIFNPQ0tfUkRNID0gNCwKPj4+Cj4+PiAgIFNPQ0tfU0VRUEFDS0VU
ID0gNSwKPj4+Cj4+Pgo+Pj4gICBTT0NLX0RDQ1AgPSA2LAo+Pj4KPj4+ICAgU09DS19QQUNLRVQg
PSAxMCwKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAgIFNPQ0tfQ0xPRVhFQyA9IDAy
MDAwMDAwLAo+Pj4KPj4+Cj4+PiAgIFNPQ0tfTk9OQkxPQ0sgPSAwMDAwNDAwMAo+Pj4KPj4+Cj4+
PiB9Owo+Pj4gIyAzOSAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2V0LmgiIDIgMyA0Cj4+PiAjIDE1
MCAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2V0LmgiIDMgNAo+Pj4gIyAxICIvdXNyL2luY2x1ZGUv
Yml0cy9zb2NrYWRkci5oIiAxIDMgNAo+Pj4gIyAyOCAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2Fk
ZHIuaCIgMyA0Cj4+PiB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IGludCBzYV9mYW1pbHlfdDsKPj4+
ICMgMTUxICIvdXNyL2luY2x1ZGUvYml0cy9zb2NrZXQuaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4gc3Ry
dWN0IHNvY2thZGRyCj4+PiAgIHsKPj4+ICAgICBzYV9mYW1pbHlfdCBzYV9mYW1pbHk7Cj4+PiAg
ICAgY2hhciBzYV9kYXRhWzE0XTsKPj4+ICAgfTsKPj4+ICMgMTY2ICIvdXNyL2luY2x1ZGUvYml0
cy9zb2NrZXQuaCIgMyA0Cj4+PiBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZQo+Pj4gICB7Cj4+PiAg
ICAgc2FfZmFtaWx5X3Qgc3NfZmFtaWx5Owo+Pj4gICAgIGNoYXIgX19zc19wYWRkaW5nWygxMjgg
LSAoc2l6ZW9mICh1bnNpZ25lZCBzaG9ydCBpbnQpKSAtIHNpemVvZiAodW5zaWduZWQgbG9uZyBp
bnQpKV07Cj4+PiAgICAgdW5zaWduZWQgbG9uZyBpbnQgX19zc19hbGlnbjsKPj4+ICAgfTsKPj4+
Cj4+Pgo+Pj4KPj4+IGVudW0KPj4+ICAgewo+Pj4gICAgIE1TR19PT0IgPSAweDAxLAo+Pj4KPj4+
ICAgICBNU0dfUEVFSyA9IDB4MDIsCj4+Pgo+Pj4gICAgIE1TR19ET05UUk9VVEUgPSAweDA0LAo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gICAgIE1TR19DVFJVTkMgPSAweDA4LAo+Pj4KPj4+
ICAgICBNU0dfUFJPWFkgPSAweDEwLAo+Pj4KPj4+ICAgICBNU0dfVFJVTkMgPSAweDIwLAo+Pj4K
Pj4+ICAgICBNU0dfRE9OVFdBSVQgPSAweDQwLAo+Pj4KPj4+ICAgICBNU0dfRU9SID0gMHg4MCwK
Pj4+Cj4+PiAgICAgTVNHX1dBSVRBTEwgPSAweDEwMCwKPj4+Cj4+PiAgICAgTVNHX0ZJTiA9IDB4
MjAwLAo+Pj4KPj4+ICAgICBNU0dfU1lOID0gMHg0MDAsCj4+Pgo+Pj4gICAgIE1TR19DT05GSVJN
ID0gMHg4MDAsCj4+Pgo+Pj4gICAgIE1TR19SU1QgPSAweDEwMDAsCj4+Pgo+Pj4gICAgIE1TR19F
UlJRVUVVRSA9IDB4MjAwMCwKPj4+Cj4+PiAgICAgTVNHX05PU0lHTkFMID0gMHg0MDAwLAo+Pj4K
Pj4+ICAgICBNU0dfTU9SRSA9IDB4ODAwMCwKPj4+Cj4+PiAgICAgTVNHX1dBSVRGT1JPTkUgPSAw
eDEwMDAwLAo+Pj4KPj4+ICAgICBNU0dfRkFTVE9QRU4gPSAweDIwMDAwMDAwLAo+Pj4KPj4+Cj4+
PiAgICAgTVNHX0NNU0dfQ0xPRVhFQyA9IDB4NDAwMDAwMDAKPj4+Cj4+Pgo+Pj4KPj4+ICAgfTsK
Pj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBzdHJ1Y3QgbXNnaGRyCj4+PiAgIHsKPj4+ICAgICB2b2lkICpt
c2dfbmFtZTsKPj4+ICAgICBzb2NrbGVuX3QgbXNnX25hbWVsZW47Cj4+Pgo+Pj4gICAgIHN0cnVj
dCBpb3ZlYyAqbXNnX2lvdjsKPj4+ICAgICBzaXplX3QgbXNnX2lvdmxlbjsKPj4+Cj4+PiAgICAg
dm9pZCAqbXNnX2NvbnRyb2w7Cj4+PiAgICAgc2l6ZV90IG1zZ19jb250cm9sbGVuOwo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+ICAgICBpbnQgbXNnX2ZsYWdzOwo+Pj4gICB9Owo+Pj4KPj4+Cj4+PiBzdHJ1
Y3QgY21zZ2hkcgo+Pj4gICB7Cj4+PiAgICAgc2l6ZV90IGNtc2dfbGVuOwo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+ICAgICBpbnQgY21zZ19sZXZlbDsKPj4+ICAgICBpbnQgY21zZ190eXBlOwo+Pj4KPj4+
ICAgICBfX2V4dGVuc2lvbl9fIHVuc2lnbmVkIGNoYXIgX19jbXNnX2RhdGEgW107Cj4+Pgo+Pj4g
ICB9Owo+Pj4gIyAyNzYgIi91c3IvaW5jbHVkZS9iaXRzL3NvY2tldC5oIiAzIDQKPj4+IGV4dGVy
biBzdHJ1Y3QgY21zZ2hkciAqX19jbXNnX254dGhkciAoc3RydWN0IG1zZ2hkciAqX19taGRyLAo+
Pj4gICAgICAgICAgIHN0cnVjdCBjbXNnaGRyICpfX2Ntc2cpIF9fYXR0cmlidXRlX18gKChfX25v
dGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+PiAjIDMwMyAiL3Vzci9pbmNsdWRlL2JpdHMvc29ja2V0
LmgiIDMgNAo+Pj4gZW51bQo+Pj4gICB7Cj4+PiAgICAgU0NNX1JJR0hUUyA9IDB4MDEKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4gICB9Owo+Pj4gIyAzNDkgIi91c3IvaW5jbHVkZS9iaXRzL3NvY2tl
dC5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2FzbS9zb2NrZXQuaCIgMSAzIDQKPj4+ICMg
MSAiL3Vzci9pbmNsdWRlL2FzbS1nZW5lcmljL3NvY2tldC5oIiAxIDMgNAo+Pj4KPj4+Cj4+Pgo+
Pj4gIyAxICIvdXNyL2luY2x1ZGUvYXNtL3NvY2tpb3MuaCIgMSAzIDQKPj4+ICMgMSAiL3Vzci9p
bmNsdWRlL2FzbS1nZW5lcmljL3NvY2tpb3MuaCIgMSAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRl
L2FzbS9zb2NraW9zLmgiIDIgMyA0Cj4+PiAjIDUgIi91c3IvaW5jbHVkZS9hc20tZ2VuZXJpYy9z
b2NrZXQuaCIgMiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2FzbS9zb2NrZXQuaCIgMiAzIDQK
Pj4+ICMgMzUwICIvdXNyL2luY2x1ZGUvYml0cy9zb2NrZXQuaCIgMiAzIDQKPj4+ICMgMzgzICIv
dXNyL2luY2x1ZGUvYml0cy9zb2NrZXQuaCIgMyA0Cj4+PiBzdHJ1Y3QgbGluZ2VyCj4+PiAgIHsK
Pj4+ICAgICBpbnQgbF9vbm9mZjsKPj4+ICAgICBpbnQgbF9saW5nZXI7Cj4+PiAgIH07Cj4+PiAj
IDM5ICIvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAyIDMgNAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
IHN0cnVjdCBvc29ja2FkZHIKPj4+ICAgewo+Pj4gICAgIHVuc2lnbmVkIHNob3J0IGludCBzYV9m
YW1pbHk7Cj4+PiAgICAgdW5zaWduZWQgY2hhciBzYV9kYXRhWzE0XTsKPj4+ICAgfTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiBlbnVtCj4+PiB7Cj4+PiAgIFNIVVRfUkQgPSAwLAo+Pj4KPj4+ICAgU0hV
VF9XUiwKPj4+Cj4+PiAgIFNIVVRfUkRXUgo+Pj4KPj4+IH07Cj4+PiAjIDExMyAiL3Vzci9pbmNs
dWRlL3N5cy9zb2NrZXQuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHNvY2tldCAoaW50IF9fZG9tYWlu
LCBpbnQgX190eXBlLCBpbnQgX19wcm90b2NvbCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzb2NrZXRw
YWlyIChpbnQgX19kb21haW4sIGludCBfX3R5cGUsIGludCBfX3Byb3RvY29sLAo+Pj4gICAgICAg
ICAgaW50IF9fZmRzWzJdKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykp
Owo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGJpbmQgKGludCBfX2ZkLCBjb25zdCBzdHJ1Y3Qgc29j
a2FkZHIgKiBfX2FkZHIsIHNvY2tsZW5fdCBfX2xlbikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAo
KF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBnZXRzb2Nr
bmFtZSAoaW50IF9fZmQsIHN0cnVjdCBzb2NrYWRkciAqX19yZXN0cmljdCBfX2FkZHIsCj4+PiAg
ICBzb2NrbGVuX3QgKl9fcmVzdHJpY3QgX19sZW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSk7Cj4+PiAjIDEzNyAiL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaCIgMyA0
Cj4+PiBleHRlcm4gaW50IGNvbm5lY3QgKGludCBfX2ZkLCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIg
KiBfX2FkZHIsIHNvY2tsZW5fdCBfX2xlbik7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGdl
dHBlZXJuYW1lIChpbnQgX19mZCwgc3RydWN0IHNvY2thZGRyICpfX3Jlc3RyaWN0IF9fYWRkciwK
Pj4+ICAgIHNvY2tsZW5fdCAqX19yZXN0cmljdCBfX2xlbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBz
c2l6ZV90IHNlbmQgKGludCBfX2ZkLCBjb25zdCB2b2lkICpfX2J1Ziwgc2l6ZV90IF9fbiwgaW50
IF9fZmxhZ3MpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHNzaXplX3QgcmVj
diAoaW50IF9fZmQsIHZvaWQgKl9fYnVmLCBzaXplX3QgX19uLCBpbnQgX19mbGFncyk7Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gc3NpemVfdCBzZW5kdG8gKGludCBfX2ZkLCBj
b25zdCB2b2lkICpfX2J1Ziwgc2l6ZV90IF9fbiwKPj4+ICAgICAgICAgIGludCBfX2ZsYWdzLCBj
b25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiBfX2FkZHIsCj4+PiAgICAgICAgICBzb2NrbGVuX3QgX19h
ZGRyX2xlbik7Cj4+PiAjIDE3NCAiL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaCIgMyA0Cj4+PiBl
eHRlcm4gc3NpemVfdCByZWN2ZnJvbSAoaW50IF9fZmQsIHZvaWQgKl9fcmVzdHJpY3QgX19idWYs
IHNpemVfdCBfX24sCj4+PiAgICAgaW50IF9fZmxhZ3MsIHN0cnVjdCBzb2NrYWRkciAqX19yZXN0
cmljdCBfX2FkZHIsCj4+PiAgICAgc29ja2xlbl90ICpfX3Jlc3RyaWN0IF9fYWRkcl9sZW4pOwo+
Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzc2l6ZV90IHNlbmRtc2cgKGlu
dCBfX2ZkLCBjb25zdCBzdHJ1Y3QgbXNnaGRyICpfX21lc3NhZ2UsCj4+PiAgICBpbnQgX19mbGFn
cyk7Cj4+PiAjIDIwMiAiL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaCIgMyA0Cj4+PiBleHRlcm4g
c3NpemVfdCByZWN2bXNnIChpbnQgX19mZCwgc3RydWN0IG1zZ2hkciAqX19tZXNzYWdlLCBpbnQg
X19mbGFncyk7Cj4+PiAjIDIxOSAiL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaCIgMyA0Cj4+PiBl
eHRlcm4gaW50IGdldHNvY2tvcHQgKGludCBfX2ZkLCBpbnQgX19sZXZlbCwgaW50IF9fb3B0bmFt
ZSwKPj4+ICAgICAgICAgIHZvaWQgKl9fcmVzdHJpY3QgX19vcHR2YWwsCj4+PiAgICAgICAgICBz
b2NrbGVuX3QgKl9fcmVzdHJpY3QgX19vcHRsZW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3df
XyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzZXRzb2Nrb3B0
IChpbnQgX19mZCwgaW50IF9fbGV2ZWwsIGludCBfX29wdG5hbWUsCj4+PiAgICAgICAgICBjb25z
dCB2b2lkICpfX29wdHZhbCwgc29ja2xlbl90IF9fb3B0bGVuKSBfX2F0dHJpYnV0ZV9fICgoX19u
b3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50
IGxpc3RlbiAoaW50IF9fZmQsIGludCBfX24pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSk7Cj4+PiAjIDI0MyAiL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaCIgMyA0Cj4+
PiBleHRlcm4gaW50IGFjY2VwdCAoaW50IF9fZmQsIHN0cnVjdCBzb2NrYWRkciAqX19yZXN0cmlj
dCBfX2FkZHIsCj4+PiAgICAgIHNvY2tsZW5fdCAqX19yZXN0cmljdCBfX2FkZHJfbGVuKTsKPj4+
ICMgMjYxICIvdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oIiAzIDQKPj4+IGV4dGVybiBpbnQgc2h1
dGRvd24gKGludCBfX2ZkLCBpbnQgX19ob3cpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAs
IF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBzb2NrYXRtYXJrIChp
bnQgX19mZCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW50IGlzZmR0eXBlIChpbnQgX19mZCwg
aW50IF9fZmR0eXBlKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+
Pj4gIyAyODMgIi91c3IvaW5jbHVkZS9zeXMvc29ja2V0LmgiIDMgNAo+Pj4KPj4+ICMgMjQgIi91
c3IvaW5jbHVkZS9uZXRpbmV0L2luLmgiIDIgMyA0Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
PiB0eXBlZGVmIHVpbnQzMl90IGluX2FkZHJfdDsKPj4+IHN0cnVjdCBpbl9hZGRyCj4+PiAgIHsK
Pj4+ICAgICBpbl9hZGRyX3Qgc19hZGRyOwo+Pj4gICB9Owo+Pj4KPj4+Cj4+PiAjIDEgIi91c3Iv
aW5jbHVkZS9iaXRzL2luLmgiIDEgMyA0Cj4+PiAjIDEzMyAiL3Vzci9pbmNsdWRlL2JpdHMvaW4u
aCIgMyA0Cj4+PiBzdHJ1Y3QgaXBfb3B0cwo+Pj4gICB7Cj4+PiAgICAgc3RydWN0IGluX2FkZHIg
aXBfZHN0Owo+Pj4gICAgIGNoYXIgaXBfb3B0c1s0MF07Cj4+PiAgIH07Cj4+Pgo+Pj4KPj4+IHN0
cnVjdCBpcF9tcmVxbgo+Pj4gICB7Cj4+PiAgICAgc3RydWN0IGluX2FkZHIgaW1yX211bHRpYWRk
cjsKPj4+ICAgICBzdHJ1Y3QgaW5fYWRkciBpbXJfYWRkcmVzczsKPj4+ICAgICBpbnQgaW1yX2lm
aW5kZXg7Cj4+PiAgIH07Cj4+Pgo+Pj4KPj4+IHN0cnVjdCBpbl9wa3RpbmZvCj4+PiAgIHsKPj4+
ICAgICBpbnQgaXBpX2lmaW5kZXg7Cj4+PiAgICAgc3RydWN0IGluX2FkZHIgaXBpX3NwZWNfZHN0
Owo+Pj4gICAgIHN0cnVjdCBpbl9hZGRyIGlwaV9hZGRyOwo+Pj4gICB9Owo+Pj4gIyAzOCAiL3Vz
ci9pbmNsdWRlL25ldGluZXQvaW4uaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4gZW51bQo+Pj4gICB7Cj4+
PiAgICAgSVBQUk9UT19JUCA9IDAsCj4+Pgo+Pj4gICAgIElQUFJPVE9fSUNNUCA9IDEsCj4+Pgo+
Pj4gICAgIElQUFJPVE9fSUdNUCA9IDIsCj4+Pgo+Pj4gICAgIElQUFJPVE9fSVBJUCA9IDQsCj4+
Pgo+Pj4gICAgIElQUFJPVE9fVENQID0gNiwKPj4+Cj4+PiAgICAgSVBQUk9UT19FR1AgPSA4LAo+
Pj4KPj4+ICAgICBJUFBST1RPX1BVUCA9IDEyLAo+Pj4KPj4+ICAgICBJUFBST1RPX1VEUCA9IDE3
LAo+Pj4KPj4+ICAgICBJUFBST1RPX0lEUCA9IDIyLAo+Pj4KPj4+ICAgICBJUFBST1RPX1RQID0g
MjksCj4+Pgo+Pj4gICAgIElQUFJPVE9fRENDUCA9IDMzLAo+Pj4KPj4+ICAgICBJUFBST1RPX0lQ
VjYgPSA0MSwKPj4+Cj4+PiAgICAgSVBQUk9UT19SU1ZQID0gNDYsCj4+Pgo+Pj4gICAgIElQUFJP
VE9fR1JFID0gNDcsCj4+Pgo+Pj4gICAgIElQUFJPVE9fRVNQID0gNTAsCj4+Pgo+Pj4gICAgIElQ
UFJPVE9fQUggPSA1MSwKPj4+Cj4+PiAgICAgSVBQUk9UT19NVFAgPSA5MiwKPj4+Cj4+PiAgICAg
SVBQUk9UT19CRUVUUEggPSA5NCwKPj4+Cj4+PiAgICAgSVBQUk9UT19FTkNBUCA9IDk4LAo+Pj4K
Pj4+ICAgICBJUFBST1RPX1BJTSA9IDEwMywKPj4+Cj4+PiAgICAgSVBQUk9UT19DT01QID0gMTA4
LAo+Pj4KPj4+ICAgICBJUFBST1RPX1NDVFAgPSAxMzIsCj4+Pgo+Pj4gICAgIElQUFJPVE9fVURQ
TElURSA9IDEzNiwKPj4+Cj4+PiAgICAgSVBQUk9UT19NUExTID0gMTM3LAo+Pj4KPj4+ICAgICBJ
UFBST1RPX1JBVyA9IDI1NSwKPj4+Cj4+PiAgICAgSVBQUk9UT19NQVgKPj4+ICAgfTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZW51bQo+Pj4gICB7Cj4+PiAgICAgSVBQUk9UT19IT1BPUFRTID0g
MCwKPj4+Cj4+PiAgICAgSVBQUk9UT19ST1VUSU5HID0gNDMsCj4+Pgo+Pj4gICAgIElQUFJPVE9f
RlJBR01FTlQgPSA0NCwKPj4+Cj4+PiAgICAgSVBQUk9UT19JQ01QVjYgPSA1OCwKPj4+Cj4+PiAg
ICAgSVBQUk9UT19OT05FID0gNTksCj4+Pgo+Pj4gICAgIElQUFJPVE9fRFNUT1BUUyA9IDYwLAo+
Pj4KPj4+ICAgICBJUFBST1RPX01IID0gMTM1Cj4+Pgo+Pj4gICB9Owo+Pj4KPj4+Cj4+Pgo+Pj4g
dHlwZWRlZiB1aW50MTZfdCBpbl9wb3J0X3Q7Cj4+Pgo+Pj4KPj4+IGVudW0KPj4+ICAgewo+Pj4g
ICAgIElQUE9SVF9FQ0hPID0gNywKPj4+ICAgICBJUFBPUlRfRElTQ0FSRCA9IDksCj4+PiAgICAg
SVBQT1JUX1NZU1RBVCA9IDExLAo+Pj4gICAgIElQUE9SVF9EQVlUSU1FID0gMTMsCj4+PiAgICAg
SVBQT1JUX05FVFNUQVQgPSAxNSwKPj4+ICAgICBJUFBPUlRfRlRQID0gMjEsCj4+PiAgICAgSVBQ
T1JUX1RFTE5FVCA9IDIzLAo+Pj4gICAgIElQUE9SVF9TTVRQID0gMjUsCj4+PiAgICAgSVBQT1JU
X1RJTUVTRVJWRVIgPSAzNywKPj4+ICAgICBJUFBPUlRfTkFNRVNFUlZFUiA9IDQyLAo+Pj4gICAg
IElQUE9SVF9XSE9JUyA9IDQzLAo+Pj4gICAgIElQUE9SVF9NVFAgPSA1NywKPj4+Cj4+PiAgICAg
SVBQT1JUX1RGVFAgPSA2OSwKPj4+ICAgICBJUFBPUlRfUkpFID0gNzcsCj4+PiAgICAgSVBQT1JU
X0ZJTkdFUiA9IDc5LAo+Pj4gICAgIElQUE9SVF9UVFlMSU5LID0gODcsCj4+PiAgICAgSVBQT1JU
X1NVUERVUCA9IDk1LAo+Pj4KPj4+Cj4+PiAgICAgSVBQT1JUX0VYRUNTRVJWRVIgPSA1MTIsCj4+
PiAgICAgSVBQT1JUX0xPR0lOU0VSVkVSID0gNTEzLAo+Pj4gICAgIElQUE9SVF9DTURTRVJWRVIg
PSA1MTQsCj4+PiAgICAgSVBQT1JUX0VGU1NFUlZFUiA9IDUyMCwKPj4+Cj4+Pgo+Pj4gICAgIElQ
UE9SVF9CSUZGVURQID0gNTEyLAo+Pj4gICAgIElQUE9SVF9XSE9TRVJWRVIgPSA1MTMsCj4+PiAg
ICAgSVBQT1JUX1JPVVRFU0VSVkVSID0gNTIwLAo+Pj4KPj4+Cj4+PiAgICAgSVBQT1JUX1JFU0VS
VkVEID0gMTAyNCwKPj4+Cj4+Pgo+Pj4gICAgIElQUE9SVF9VU0VSUkVTRVJWRUQgPSA1MDAwCj4+
PiAgIH07Cj4+PiAjIDIxMSAiL3Vzci9pbmNsdWRlL25ldGluZXQvaW4uaCIgMyA0Cj4+PiBzdHJ1
Y3QgaW42X2FkZHIKPj4+ICAgewo+Pj4gICAgIHVuaW9uCj4+PiAgICAgICB7Cj4+PiAgdWludDhf
dCBfX3U2X2FkZHI4WzE2XTsKPj4+Cj4+PiAgdWludDE2X3QgX191Nl9hZGRyMTZbOF07Cj4+PiAg
dWludDMyX3QgX191Nl9hZGRyMzJbNF07Cj4+Pgo+Pj4gICAgICAgfSBfX2luNl91Owo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+PiAgIH07Cj4+Pgo+Pj4KPj4+IGV4dGVybiBjb25zdCBzdHJ1Y3QgaW42
X2FkZHIgaW42YWRkcl9hbnk7Cj4+PiBleHRlcm4gY29uc3Qgc3RydWN0IGluNl9hZGRyIGluNmFk
ZHJfbG9vcGJhY2s7Cj4+PiAjIDIzOSAiL3Vzci9pbmNsdWRlL25ldGluZXQvaW4uaCIgMyA0Cj4+
PiBzdHJ1Y3Qgc29ja2FkZHJfaW4KPj4+ICAgewo+Pj4gICAgIHNhX2ZhbWlseV90IHNpbl9mYW1p
bHk7Cj4+PiAgICAgaW5fcG9ydF90IHNpbl9wb3J0Owo+Pj4gICAgIHN0cnVjdCBpbl9hZGRyIHNp
bl9hZGRyOwo+Pj4KPj4+Cj4+PiAgICAgdW5zaWduZWQgY2hhciBzaW5femVyb1tzaXplb2YgKHN0
cnVjdCBzb2NrYWRkcikgLQo+Pj4gICAgICAgKHNpemVvZiAodW5zaWduZWQgc2hvcnQgaW50KSkg
LQo+Pj4gICAgICAgc2l6ZW9mIChpbl9wb3J0X3QpIC0KPj4+ICAgICAgIHNpemVvZiAoc3RydWN0
IGluX2FkZHIpXTsKPj4+ICAgfTsKPj4+Cj4+Pgo+Pj4KPj4+IHN0cnVjdCBzb2NrYWRkcl9pbjYK
Pj4+ICAgewo+Pj4gICAgIHNhX2ZhbWlseV90IHNpbjZfZmFtaWx5Owo+Pj4gICAgIGluX3BvcnRf
dCBzaW42X3BvcnQ7Cj4+PiAgICAgdWludDMyX3Qgc2luNl9mbG93aW5mbzsKPj4+ICAgICBzdHJ1
Y3QgaW42X2FkZHIgc2luNl9hZGRyOwo+Pj4gICAgIHVpbnQzMl90IHNpbjZfc2NvcGVfaWQ7Cj4+
PiAgIH07Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gc3RydWN0IGlwX21yZXEKPj4+ICAgewo+Pj4KPj4+
ICAgICBzdHJ1Y3QgaW5fYWRkciBpbXJfbXVsdGlhZGRyOwo+Pj4KPj4+Cj4+PiAgICAgc3RydWN0
IGluX2FkZHIgaW1yX2ludGVyZmFjZTsKPj4+ICAgfTsKPj4+Cj4+PiBzdHJ1Y3QgaXBfbXJlcV9z
b3VyY2UKPj4+ICAgewo+Pj4KPj4+ICAgICBzdHJ1Y3QgaW5fYWRkciBpbXJfbXVsdGlhZGRyOwo+
Pj4KPj4+Cj4+PiAgICAgc3RydWN0IGluX2FkZHIgaW1yX2ludGVyZmFjZTsKPj4+Cj4+Pgo+Pj4g
ICAgIHN0cnVjdCBpbl9hZGRyIGltcl9zb3VyY2VhZGRyOwo+Pj4gICB9Owo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+IHN0cnVjdCBpcHY2X21yZXEKPj4+ICAgewo+Pj4KPj4+ICAgICBzdHJ1Y3QgaW42X2Fk
ZHIgaXB2Nm1yX211bHRpYWRkcjsKPj4+Cj4+Pgo+Pj4gICAgIHVuc2lnbmVkIGludCBpcHY2bXJf
aW50ZXJmYWNlOwo+Pj4gICB9Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IHN0cnVjdCBncm91cF9yZXEK
Pj4+ICAgewo+Pj4KPj4+ICAgICB1aW50MzJfdCBncl9pbnRlcmZhY2U7Cj4+Pgo+Pj4KPj4+ICAg
ICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBncl9ncm91cDsKPj4+ICAgfTsKPj4+Cj4+PiBzdHJ1
Y3QgZ3JvdXBfc291cmNlX3JlcQo+Pj4gICB7Cj4+Pgo+Pj4gICAgIHVpbnQzMl90IGdzcl9pbnRl
cmZhY2U7Cj4+Pgo+Pj4KPj4+ICAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBnc3JfZ3JvdXA7
Cj4+Pgo+Pj4KPj4+ICAgICBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBnc3Jfc291cmNlOwo+Pj4g
ICB9Owo+Pj4KPj4+Cj4+Pgo+Pj4gc3RydWN0IGlwX21zZmlsdGVyCj4+PiAgIHsKPj4+Cj4+PiAg
ICAgc3RydWN0IGluX2FkZHIgaW1zZl9tdWx0aWFkZHI7Cj4+Pgo+Pj4KPj4+ICAgICBzdHJ1Y3Qg
aW5fYWRkciBpbXNmX2ludGVyZmFjZTsKPj4+Cj4+Pgo+Pj4gICAgIHVpbnQzMl90IGltc2ZfZm1v
ZGU7Cj4+Pgo+Pj4KPj4+ICAgICB1aW50MzJfdCBpbXNmX251bXNyYzsKPj4+Cj4+PiAgICAgc3Ry
dWN0IGluX2FkZHIgaW1zZl9zbGlzdFsxXTsKPj4+ICAgfTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gc3RydWN0IGdyb3VwX2ZpbHRlcgo+Pj4gICB7Cj4+Pgo+Pj4gICAgIHVpbnQzMl90IGdmX2lu
dGVyZmFjZTsKPj4+Cj4+Pgo+Pj4gICAgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGdmX2dyb3Vw
Owo+Pj4KPj4+Cj4+PiAgICAgdWludDMyX3QgZ2ZfZm1vZGU7Cj4+Pgo+Pj4KPj4+ICAgICB1aW50
MzJfdCBnZl9udW1zcmM7Cj4+Pgo+Pj4gICAgIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlIGdmX3Ns
aXN0WzFdOwo+Pj4gfTsKPj4+ICMgMzc2ICIvdXNyL2luY2x1ZGUvbmV0aW5ldC9pbi5oIiAzIDQK
Pj4+IGV4dGVybiB1aW50MzJfdCBudG9obCAodWludDMyX3QgX19uZXRsb25nKSBfX2F0dHJpYnV0
ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18p
KTsKPj4+IGV4dGVybiB1aW50MTZfdCBudG9ocyAodWludDE2X3QgX19uZXRzaG9ydCkKPj4+ICAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9f
ICgoX19jb25zdF9fKSk7Cj4+PiBleHRlcm4gdWludDMyX3QgaHRvbmwgKHVpbnQzMl90IF9faG9z
dGxvbmcpCj4+PiAgICAgIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSkg
X19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwo+Pj4gZXh0ZXJuIHVpbnQxNl90IGh0b25zICh1
aW50MTZfdCBfX2hvc3RzaG9ydCkKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19f
ICwgX19sZWFmX18pKSBfX2F0dHJpYnV0ZV9fICgoX19jb25zdF9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gIyAxICIvdXNyL2luY2x1ZGUvYml0cy9ieXRlc3dhcC5oIiAxIDMgNAo+Pj4gIyAzODgg
Ii91c3IvaW5jbHVkZS9uZXRpbmV0L2luLmgiIDIgMyA0Cj4+PiAjIDUwMyAiL3Vzci9pbmNsdWRl
L25ldGluZXQvaW4uaCIgMyA0Cj4+PiBleHRlcm4gaW50IGJpbmRyZXN2cG9ydCAoaW50IF9fc29j
a2ZkLCBzdHJ1Y3Qgc29ja2FkZHJfaW4gKl9fc29ja19pbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBiaW5kcmVzdnBvcnQ2
IChpbnQgX19zb2NrZmQsIHN0cnVjdCBzb2NrYWRkcl9pbjYgKl9fc29ja19pbikKPj4+ICAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+ICMgNjMxICIvdXNy
L2luY2x1ZGUvbmV0aW5ldC9pbi5oIiAzIDQKPj4+Cj4+PiAjIDI4ICIvdXNyL2luY2x1ZGUvbmV0
ZGIuaCIgMiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAjIDEgIi91c3IvaW5jbHVkZS9ycGMvbmV0
ZGIuaCIgMSAzIDQKPj4+ICMgNDIgIi91c3IvaW5jbHVkZS9ycGMvbmV0ZGIuaCIgMyA0Cj4+PiAj
IDEgIi91c3IvbGliL2djYy9pNjg2LXJlZGhhdC1saW51eC82LjEuMS9pbmNsdWRlL3N0ZGRlZi5o
IiAxIDMgNAo+Pj4gIyA0MyAiL3Vzci9pbmNsdWRlL3JwYy9uZXRkYi5oIiAyIDMgNAo+Pj4KPj4+
Cj4+Pgo+Pj4gc3RydWN0IHJwY2VudAo+Pj4gewo+Pj4gICBjaGFyICpyX25hbWU7Cj4+PiAgIGNo
YXIgKipyX2FsaWFzZXM7Cj4+PiAgIGludCByX251bWJlcjsKPj4+IH07Cj4+Pgo+Pj4gZXh0ZXJu
IHZvaWQgc2V0cnBjZW50IChpbnQgX19zdGF5b3BlbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJv
d19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiB2b2lkIGVuZHJwY2VudCAodm9pZCkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiBzdHJ1Y3QgcnBj
ZW50ICpnZXRycGNieW5hbWUgKGNvbnN0IGNoYXIgKl9fbmFtZSkgX19hdHRyaWJ1dGVfXyAoKF9f
bm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+IGV4dGVybiBzdHJ1Y3QgcnBjZW50ICpnZXRycGNi
eW51bWJlciAoaW50IF9fbnVtYmVyKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xl
YWZfXykpOwo+Pj4gZXh0ZXJuIHN0cnVjdCBycGNlbnQgKmdldHJwY2VudCAodm9pZCkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGlu
dCBnZXRycGNieW5hbWVfciAoY29uc3QgY2hhciAqX19uYW1lLCBzdHJ1Y3QgcnBjZW50ICpfX3Jl
c3VsdF9idWYsCj4+PiAgICAgICBjaGFyICpfX2J1ZmZlciwgc2l6ZV90IF9fYnVmbGVuLAo+Pj4g
ICAgICAgc3RydWN0IHJwY2VudCAqKl9fcmVzdWx0KSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93
X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+IGV4dGVybiBpbnQgZ2V0cnBjYnludW1iZXJfciAoaW50
IF9fbnVtYmVyLCBzdHJ1Y3QgcnBjZW50ICpfX3Jlc3VsdF9idWYsCj4+PiAgICAgICAgIGNoYXIg
Kl9fYnVmZmVyLCBzaXplX3QgX19idWZsZW4sCj4+PiAgICAgICAgIHN0cnVjdCBycGNlbnQgKipf
X3Jlc3VsdCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+
PiBleHRlcm4gaW50IGdldHJwY2VudF9yIChzdHJ1Y3QgcnBjZW50ICpfX3Jlc3VsdF9idWYsIGNo
YXIgKl9fYnVmZmVyLAo+Pj4gICAgc2l6ZV90IF9fYnVmbGVuLCBzdHJ1Y3QgcnBjZW50ICoqX19y
ZXN1bHQpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4K
Pj4+Cj4+PiAjIDMzICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMiAzIDQKPj4+ICMgNDIgIi91c3Iv
aW5jbHVkZS9uZXRkYi5oIiAzIDQKPj4+ICMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvbmV0ZGIuaCIg
MSAzIDQKPj4+ICMgMjYgIi91c3IvaW5jbHVkZS9iaXRzL25ldGRiLmgiIDMgNAo+Pj4gc3RydWN0
IG5ldGVudAo+Pj4gewo+Pj4gICBjaGFyICpuX25hbWU7Cj4+PiAgIGNoYXIgKipuX2FsaWFzZXM7
Cj4+PiAgIGludCBuX2FkZHJ0eXBlOwo+Pj4gICB1aW50MzJfdCBuX25ldDsKPj4+IH07Cj4+PiAj
IDQzICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMiAzIDQKPj4+ICMgNTMgIi91c3IvaW5jbHVkZS9u
ZXRkYi5oIiAzIDQKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGlu
dCAqX19oX2Vycm5vX2xvY2F0aW9uICh2b2lkKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsKPj4+ICMgOTIgIi91c3Iv
aW5jbHVkZS9uZXRkYi5oIiAzIDQKPj4+IGV4dGVybiB2b2lkIGhlcnJvciAoY29uc3QgY2hhciAq
X19zdHIpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4K
Pj4+IGV4dGVybiBjb25zdCBjaGFyICpoc3RyZXJyb3IgKGludCBfX2Vycl9udW0pIF9fYXR0cmli
dXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gc3Ry
dWN0IGhvc3RlbnQKPj4+IHsKPj4+ICAgY2hhciAqaF9uYW1lOwo+Pj4gICBjaGFyICoqaF9hbGlh
c2VzOwo+Pj4gICBpbnQgaF9hZGRydHlwZTsKPj4+ICAgaW50IGhfbGVuZ3RoOwo+Pj4gICBjaGFy
ICoqaF9hZGRyX2xpc3Q7Cj4+Pgo+Pj4KPj4+Cj4+PiB9Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIHZvaWQgc2V0aG9zdGVudCAoaW50IF9fc3RheV9vcGVuKTsKPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgZW5kaG9zdGVudCAodm9pZCk7Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gc3RydWN0IGhvc3RlbnQgKmdldGhvc3RlbnQgKHZvaWQp
Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHN0cnVjdCBob3N0ZW50ICpnZXRo
b3N0YnlhZGRyIChjb25zdCB2b2lkICpfX2FkZHIsIF9fc29ja2xlbl90IF9fbGVuLAo+Pj4gICAg
ICAgICAgIGludCBfX3R5cGUpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gc3RydWN0
IGhvc3RlbnQgKmdldGhvc3RieW5hbWUgKGNvbnN0IGNoYXIgKl9fbmFtZSk7Cj4+PiAjIDE1NSAi
L3Vzci9pbmNsdWRlL25ldGRiLmgiIDMgNAo+Pj4gZXh0ZXJuIHN0cnVjdCBob3N0ZW50ICpnZXRo
b3N0YnluYW1lMiAoY29uc3QgY2hhciAqX19uYW1lLCBpbnQgX19hZik7Cj4+PiAjIDE2NyAiL3Vz
ci9pbmNsdWRlL25ldGRiLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBnZXRob3N0ZW50X3IgKHN0cnVj
dCBob3N0ZW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0X2J1ZiwKPj4+ICAgICBjaGFyICpfX3Jlc3Ry
aWN0IF9fYnVmLCBzaXplX3QgX19idWZsZW4sCj4+PiAgICAgc3RydWN0IGhvc3RlbnQgKipfX3Jl
c3RyaWN0IF9fcmVzdWx0LAo+Pj4gICAgIGludCAqX19yZXN0cmljdCBfX2hfZXJybm9wKTsKPj4+
Cj4+PiBleHRlcm4gaW50IGdldGhvc3RieWFkZHJfciAoY29uc3Qgdm9pZCAqX19yZXN0cmljdCBf
X2FkZHIsIF9fc29ja2xlbl90IF9fbGVuLAo+Pj4gICAgICAgIGludCBfX3R5cGUsCj4+PiAgICAg
ICAgc3RydWN0IGhvc3RlbnQgKl9fcmVzdHJpY3QgX19yZXN1bHRfYnVmLAo+Pj4gICAgICAgIGNo
YXIgKl9fcmVzdHJpY3QgX19idWYsIHNpemVfdCBfX2J1ZmxlbiwKPj4+ICAgICAgICBzdHJ1Y3Qg
aG9zdGVudCAqKl9fcmVzdHJpY3QgX19yZXN1bHQsCj4+PiAgICAgICAgaW50ICpfX3Jlc3RyaWN0
IF9faF9lcnJub3ApOwo+Pj4KPj4+IGV4dGVybiBpbnQgZ2V0aG9zdGJ5bmFtZV9yIChjb25zdCBj
aGFyICpfX3Jlc3RyaWN0IF9fbmFtZSwKPj4+ICAgICAgICBzdHJ1Y3QgaG9zdGVudCAqX19yZXN0
cmljdCBfX3Jlc3VsdF9idWYsCj4+PiAgICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6
ZV90IF9fYnVmbGVuLAo+Pj4gICAgICAgIHN0cnVjdCBob3N0ZW50ICoqX19yZXN0cmljdCBfX3Jl
c3VsdCwKPj4+ICAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19oX2Vycm5vcCk7Cj4+Pgo+Pj4gZXh0
ZXJuIGludCBnZXRob3N0YnluYW1lMl9yIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbmFtZSwg
aW50IF9fYWYsCj4+PiAgICAgICAgIHN0cnVjdCBob3N0ZW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0
X2J1ZiwKPj4+ICAgICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6ZV90IF9fYnVmbGVu
LAo+Pj4gICAgICAgICBzdHJ1Y3QgaG9zdGVudCAqKl9fcmVzdHJpY3QgX19yZXN1bHQsCj4+PiAg
ICAgICAgIGludCAqX19yZXN0cmljdCBfX2hfZXJybm9wKTsKPj4+ICMgMTk4ICIvdXNyL2luY2x1
ZGUvbmV0ZGIuaCIgMyA0Cj4+PiBleHRlcm4gdm9pZCBzZXRuZXRlbnQgKGludCBfX3N0YXlfb3Bl
bik7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkIGVuZG5ldGVudCAodm9pZCk7
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gc3RydWN0IG5ldGVudCAqZ2V0bmV0
ZW50ICh2b2lkKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzdHJ1Y3QgbmV0
ZW50ICpnZXRuZXRieWFkZHIgKHVpbnQzMl90IF9fbmV0LCBpbnQgX190eXBlKTsKPj4+Cj4+Pgo+
Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHN0cnVjdCBuZXRlbnQgKmdldG5ldGJ5bmFtZSAoY29uc3Qg
Y2hhciAqX19uYW1lKTsKPj4+ICMgMjM3ICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4+PiBl
eHRlcm4gaW50IGdldG5ldGVudF9yIChzdHJ1Y3QgbmV0ZW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0
X2J1ZiwKPj4+ICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsIHNpemVfdCBfX2J1ZmxlbiwKPj4+
ICAgIHN0cnVjdCBuZXRlbnQgKipfX3Jlc3RyaWN0IF9fcmVzdWx0LAo+Pj4gICAgaW50ICpfX3Jl
c3RyaWN0IF9faF9lcnJub3ApOwo+Pj4KPj4+IGV4dGVybiBpbnQgZ2V0bmV0YnlhZGRyX3IgKHVp
bnQzMl90IF9fbmV0LCBpbnQgX190eXBlLAo+Pj4gICAgICAgc3RydWN0IG5ldGVudCAqX19yZXN0
cmljdCBfX3Jlc3VsdF9idWYsCj4+PiAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXpl
X3QgX19idWZsZW4sCj4+PiAgICAgICBzdHJ1Y3QgbmV0ZW50ICoqX19yZXN0cmljdCBfX3Jlc3Vs
dCwKPj4+ICAgICAgIGludCAqX19yZXN0cmljdCBfX2hfZXJybm9wKTsKPj4+Cj4+PiBleHRlcm4g
aW50IGdldG5ldGJ5bmFtZV9yIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbmFtZSwKPj4+ICAg
ICAgIHN0cnVjdCBuZXRlbnQgKl9fcmVzdHJpY3QgX19yZXN1bHRfYnVmLAo+Pj4gICAgICAgY2hh
ciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6ZV90IF9fYnVmbGVuLAo+Pj4gICAgICAgc3RydWN0IG5l
dGVudCAqKl9fcmVzdHJpY3QgX19yZXN1bHQsCj4+PiAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19o
X2Vycm5vcCk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gc3RydWN0IHNlcnZlbnQKPj4+IHsKPj4+ICAg
Y2hhciAqc19uYW1lOwo+Pj4gICBjaGFyICoqc19hbGlhc2VzOwo+Pj4gICBpbnQgc19wb3J0Owo+
Pj4gICBjaGFyICpzX3Byb3RvOwo+Pj4gfTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4
dGVybiB2b2lkIHNldHNlcnZlbnQgKGludCBfX3N0YXlfb3Blbik7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4KPj4+IGV4dGVybiB2b2lkIGVuZHNlcnZlbnQgKHZvaWQpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4gZXh0ZXJuIHN0cnVjdCBzZXJ2ZW50ICpnZXRzZXJ2ZW50ICh2b2lkKTsKPj4+Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzdHJ1Y3Qgc2VydmVudCAqZ2V0c2VydmJ5bmFt
ZSAoY29uc3QgY2hhciAqX19uYW1lLCBjb25zdCBjaGFyICpfX3Byb3RvKTsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBzdHJ1Y3Qgc2VydmVudCAqZ2V0c2VydmJ5cG9ydCAoaW50
IF9fcG9ydCwgY29uc3QgY2hhciAqX19wcm90byk7Cj4+PiAjIDMwOCAiL3Vzci9pbmNsdWRlL25l
dGRiLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBnZXRzZXJ2ZW50X3IgKHN0cnVjdCBzZXJ2ZW50ICpf
X3Jlc3RyaWN0IF9fcmVzdWx0X2J1ZiwKPj4+ICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBz
aXplX3QgX19idWZsZW4sCj4+PiAgICAgc3RydWN0IHNlcnZlbnQgKipfX3Jlc3RyaWN0IF9fcmVz
dWx0KTsKPj4+Cj4+PiBleHRlcm4gaW50IGdldHNlcnZieW5hbWVfciAoY29uc3QgY2hhciAqX19y
ZXN0cmljdCBfX25hbWUsCj4+PiAgICAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3Byb3Rv
LAo+Pj4gICAgICAgIHN0cnVjdCBzZXJ2ZW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0X2J1ZiwKPj4+
ICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19idWZsZW4sCj4+PiAgICAg
ICAgc3RydWN0IHNlcnZlbnQgKipfX3Jlc3RyaWN0IF9fcmVzdWx0KTsKPj4+Cj4+PiBleHRlcm4g
aW50IGdldHNlcnZieXBvcnRfciAoaW50IF9fcG9ydCwgY29uc3QgY2hhciAqX19yZXN0cmljdCBf
X3Byb3RvLAo+Pj4gICAgICAgIHN0cnVjdCBzZXJ2ZW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0X2J1
ZiwKPj4+ICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19idWZsZW4sCj4+
PiAgICAgICAgc3RydWN0IHNlcnZlbnQgKipfX3Jlc3RyaWN0IF9fcmVzdWx0KTsKPj4+Cj4+Pgo+
Pj4KPj4+Cj4+PiBzdHJ1Y3QgcHJvdG9lbnQKPj4+IHsKPj4+ICAgY2hhciAqcF9uYW1lOwo+Pj4g
ICBjaGFyICoqcF9hbGlhc2VzOwo+Pj4gICBpbnQgcF9wcm90bzsKPj4+IH07Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBzZXRwcm90b2VudCAoaW50IF9fc3RheV9vcGVu
KTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHZvaWQgZW5kcHJvdG9lbnQgKHZvaWQp
Owo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIHN0cnVjdCBwcm90b2VudCAqZ2V0
cHJvdG9lbnQgKHZvaWQpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gc3RydWN0IHBy
b3RvZW50ICpnZXRwcm90b2J5bmFtZSAoY29uc3QgY2hhciAqX19uYW1lKTsKPj4+Cj4+Pgo+Pj4K
Pj4+Cj4+Pgo+Pj4gZXh0ZXJuIHN0cnVjdCBwcm90b2VudCAqZ2V0cHJvdG9ieW51bWJlciAoaW50
IF9fcHJvdG8pOwo+Pj4gIyAzNzQgIi91c3IvaW5jbHVkZS9uZXRkYi5oIiAzIDQKPj4+IGV4dGVy
biBpbnQgZ2V0cHJvdG9lbnRfciAoc3RydWN0IHByb3RvZW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0
X2J1ZiwKPj4+ICAgICAgY2hhciAqX19yZXN0cmljdCBfX2J1Ziwgc2l6ZV90IF9fYnVmbGVuLAo+
Pj4gICAgICBzdHJ1Y3QgcHJvdG9lbnQgKipfX3Jlc3RyaWN0IF9fcmVzdWx0KTsKPj4+Cj4+PiBl
eHRlcm4gaW50IGdldHByb3RvYnluYW1lX3IgKGNvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19uYW1l
LAo+Pj4gICAgICAgICBzdHJ1Y3QgcHJvdG9lbnQgKl9fcmVzdHJpY3QgX19yZXN1bHRfYnVmLAo+
Pj4gICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLCBzaXplX3QgX19idWZsZW4sCj4+PiAg
ICAgICAgIHN0cnVjdCBwcm90b2VudCAqKl9fcmVzdHJpY3QgX19yZXN1bHQpOwo+Pj4KPj4+IGV4
dGVybiBpbnQgZ2V0cHJvdG9ieW51bWJlcl9yIChpbnQgX19wcm90bywKPj4+ICAgICAgICAgICBz
dHJ1Y3QgcHJvdG9lbnQgKl9fcmVzdHJpY3QgX19yZXN1bHRfYnVmLAo+Pj4gICAgICAgICAgIGNo
YXIgKl9fcmVzdHJpY3QgX19idWYsIHNpemVfdCBfX2J1ZmxlbiwKPj4+ICAgICAgICAgICBzdHJ1
Y3QgcHJvdG9lbnQgKipfX3Jlc3RyaWN0IF9fcmVzdWx0KTsKPj4+ICMgMzk1ICIvdXNyL2luY2x1
ZGUvbmV0ZGIuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHNldG5ldGdyZW50IChjb25zdCBjaGFyICpf
X25ldGdyb3VwKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gdm9pZCBl
bmRuZXRncmVudCAodm9pZCk7Cj4+PiAjIDQxMiAiL3Vzci9pbmNsdWRlL25ldGRiLmgiIDMgNAo+
Pj4gZXh0ZXJuIGludCBnZXRuZXRncmVudCAoY2hhciAqKl9fcmVzdHJpY3QgX19ob3N0cCwKPj4+
ICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fdXNlcnAsCj4+PiAgICBjaGFyICoqX19yZXN0cmljdCBf
X2RvbWFpbnApOwo+Pj4gIyA0MjMgIi91c3IvaW5jbHVkZS9uZXRkYi5oIiAzIDQKPj4+IGV4dGVy
biBpbnQgaW5uZXRnciAoY29uc3QgY2hhciAqX19uZXRncm91cCwgY29uc3QgY2hhciAqX19ob3N0
LAo+Pj4gICAgICAgY29uc3QgY2hhciAqX191c2VyLCBjb25zdCBjaGFyICpfX2RvbWFpbik7Cj4+
Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBnZXRuZXRncmVudF9yIChj
aGFyICoqX19yZXN0cmljdCBfX2hvc3RwLAo+Pj4gICAgICBjaGFyICoqX19yZXN0cmljdCBfX3Vz
ZXJwLAo+Pj4gICAgICBjaGFyICoqX19yZXN0cmljdCBfX2RvbWFpbnAsCj4+PiAgICAgIGNoYXIg
Kl9fcmVzdHJpY3QgX19idWZmZXIsIHNpemVfdCBfX2J1Zmxlbik7Cj4+PiAjIDQ1MSAiL3Vzci9p
bmNsdWRlL25ldGRiLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCByY21kIChjaGFyICoqX19yZXN0cmlj
dCBfX2Fob3N0LCB1bnNpZ25lZCBzaG9ydCBpbnQgX19ycG9ydCwKPj4+ICAgIGNvbnN0IGNoYXIg
Kl9fcmVzdHJpY3QgX19sb2N1c2VyLAo+Pj4gICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3Jl
bXVzZXIsCj4+PiAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fY21kLCBpbnQgKl9fcmVzdHJp
Y3QgX19mZDJwKTsKPj4+ICMgNDYzICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4+PiBleHRl
cm4gaW50IHJjbWRfYWYgKGNoYXIgKipfX3Jlc3RyaWN0IF9fYWhvc3QsIHVuc2lnbmVkIHNob3J0
IGludCBfX3Jwb3J0LAo+Pj4gICAgICAgY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2xvY3VzZXIs
Cj4+PiAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcmVtdXNlciwKPj4+ICAgICAgIGNv
bnN0IGNoYXIgKl9fcmVzdHJpY3QgX19jbWQsIGludCAqX19yZXN0cmljdCBfX2ZkMnAsCj4+PiAg
ICAgICBzYV9mYW1pbHlfdCBfX2FmKTsKPj4+ICMgNDc5ICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIg
MyA0Cj4+PiBleHRlcm4gaW50IHJleGVjIChjaGFyICoqX19yZXN0cmljdCBfX2Fob3N0LCBpbnQg
X19ycG9ydCwKPj4+ICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbmFtZSwKPj4+ICAgICBj
b25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcGFzcywKPj4+ICAgICBjb25zdCBjaGFyICpfX3Jlc3Ry
aWN0IF9fY21kLCBpbnQgKl9fcmVzdHJpY3QgX19mZDJwKTsKPj4+ICMgNDkxICIvdXNyL2luY2x1
ZGUvbmV0ZGIuaCIgMyA0Cj4+PiBleHRlcm4gaW50IHJleGVjX2FmIChjaGFyICoqX19yZXN0cmlj
dCBfX2Fob3N0LCBpbnQgX19ycG9ydCwKPj4+ICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0
IF9fbmFtZSwKPj4+ICAgICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fcGFzcywKPj4+ICAg
ICAgICBjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fY21kLCBpbnQgKl9fcmVzdHJpY3QgX19mZDJw
LAo+Pj4gICAgICAgIHNhX2ZhbWlseV90IF9fYWYpOwo+Pj4gIyA1MDUgIi91c3IvaW5jbHVkZS9u
ZXRkYi5oIiAzIDQKPj4+IGV4dGVybiBpbnQgcnVzZXJvayAoY29uc3QgY2hhciAqX19yaG9zdCwg
aW50IF9fc3VzZXIsCj4+PiAgICAgICBjb25zdCBjaGFyICpfX3JlbXVzZXIsIGNvbnN0IGNoYXIg
Kl9fbG9jdXNlcik7Cj4+PiAjIDUxNSAiL3Vzci9pbmNsdWRlL25ldGRiLmgiIDMgNAo+Pj4gZXh0
ZXJuIGludCBydXNlcm9rX2FmIChjb25zdCBjaGFyICpfX3Job3N0LCBpbnQgX19zdXNlciwKPj4+
ICAgICAgICAgIGNvbnN0IGNoYXIgKl9fcmVtdXNlciwgY29uc3QgY2hhciAqX19sb2N1c2VyLAo+
Pj4gICAgICAgICAgc2FfZmFtaWx5X3QgX19hZik7Cj4+PiAjIDUyOCAiL3Vzci9pbmNsdWRlL25l
dGRiLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBpcnVzZXJvayAodWludDMyX3QgX19yYWRkciwgaW50
IF9fc3VzZXIsCj4+PiAgICAgICAgY29uc3QgY2hhciAqX19yZW11c2VyLCBjb25zdCBjaGFyICpf
X2xvY3VzZXIpOwo+Pj4gIyA1MzkgIi91c3IvaW5jbHVkZS9uZXRkYi5oIiAzIDQKPj4+IGV4dGVy
biBpbnQgaXJ1c2Vyb2tfYWYgKGNvbnN0IHZvaWQgKl9fcmFkZHIsIGludCBfX3N1c2VyLAo+Pj4g
ICAgY29uc3QgY2hhciAqX19yZW11c2VyLCBjb25zdCBjaGFyICpfX2xvY3VzZXIsCj4+PiAgICBz
YV9mYW1pbHlfdCBfX2FmKTsKPj4+ICMgNTUxICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4+
PiBleHRlcm4gaW50IHJyZXN2cG9ydCAoaW50ICpfX2FscG9ydCk7Cj4+PiAjIDU2MCAiL3Vzci9p
bmNsdWRlL25ldGRiLmgiIDMgNAo+Pj4gZXh0ZXJuIGludCBycmVzdnBvcnRfYWYgKGludCAqX19h
bHBvcnQsIHNhX2ZhbWlseV90IF9fYWYpOwo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gc3Ry
dWN0IGFkZHJpbmZvCj4+PiB7Cj4+PiAgIGludCBhaV9mbGFnczsKPj4+ICAgaW50IGFpX2ZhbWls
eTsKPj4+ICAgaW50IGFpX3NvY2t0eXBlOwo+Pj4gICBpbnQgYWlfcHJvdG9jb2w7Cj4+PiAgIHNv
Y2tsZW5fdCBhaV9hZGRybGVuOwo+Pj4gICBzdHJ1Y3Qgc29ja2FkZHIgKmFpX2FkZHI7Cj4+PiAg
IGNoYXIgKmFpX2Nhbm9ubmFtZTsKPj4+ICAgc3RydWN0IGFkZHJpbmZvICphaV9uZXh0Owo+Pj4g
fTsKPj4+ICMgNjYyICIvdXNyL2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4+PiBleHRlcm4gaW50IGdl
dGFkZHJpbmZvIChjb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbmFtZSwKPj4+ICAgIGNvbnN0IGNo
YXIgKl9fcmVzdHJpY3QgX19zZXJ2aWNlLAo+Pj4gICAgY29uc3Qgc3RydWN0IGFkZHJpbmZvICpf
X3Jlc3RyaWN0IF9fcmVxLAo+Pj4gICAgc3RydWN0IGFkZHJpbmZvICoqX19yZXN0cmljdCBfX3Bh
aSk7Cj4+Pgo+Pj4KPj4+IGV4dGVybiB2b2lkIGZyZWVhZGRyaW5mbyAoc3RydWN0IGFkZHJpbmZv
ICpfX2FpKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+
Cj4+PiBleHRlcm4gY29uc3QgY2hhciAqZ2FpX3N0cmVycm9yIChpbnQgX19lY29kZSkgX19hdHRy
aWJ1dGVfXyAoKF9fbm90aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIGludCBnZXRuYW1laW5mbyAoY29uc3Qgc3RydWN0IHNvY2thZGRyICpfX3Jlc3Ry
aWN0IF9fc2EsCj4+PiAgICBzb2NrbGVuX3QgX19zYWxlbiwgY2hhciAqX19yZXN0cmljdCBfX2hv
c3QsCj4+PiAgICBzb2NrbGVuX3QgX19ob3N0bGVuLCBjaGFyICpfX3Jlc3RyaWN0IF9fc2VydiwK
Pj4+ICAgIHNvY2tsZW5fdCBfX3NlcnZsZW4sIGludCBfX2ZsYWdzKTsKPj4+ICMgNzEzICIvdXNy
L2luY2x1ZGUvbmV0ZGIuaCIgMyA0Cj4+Pgo+Pj4gIyA4MSAibWFjaGluZS5jIiAyCj4+Pgo+Pj4g
IyAxICIvdXNyL2luY2x1ZGUvYXJwYS9pbmV0LmgiIDEgMyA0Cj4+PiAjIDMwICIvdXNyL2luY2x1
ZGUvYXJwYS9pbmV0LmgiIDMgNAo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbl9hZGRyX3Qg
aW5ldF9hZGRyIChjb25zdCBjaGFyICpfX2NwKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18g
LCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW5fYWRkcl90IGluZXRfbG5hb2YgKHN0
cnVjdCBpbl9hZGRyIF9faW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9f
KSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gc3RydWN0IGluX2FkZHIgaW5ldF9tYWtlYWRkciAo
aW5fYWRkcl90IF9fbmV0LCBpbl9hZGRyX3QgX19ob3N0KQo+Pj4gICAgICBfX2F0dHJpYnV0ZV9f
ICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+PiBleHRlcm4gaW5fYWRkcl90
IGluZXRfbmV0b2YgKHN0cnVjdCBpbl9hZGRyIF9faW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhy
b3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gaW5fYWRkcl90IGluZXRf
bmV0d29yayAoY29uc3QgY2hhciAqX19jcCkgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBjaGFyICppbmV0X250b2EgKHN0cnVj
dCBpbl9hZGRyIF9faW4pIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7
Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGludCBpbmV0X3B0b24gKGludCBfX2FmLCBjb25z
dCBjaGFyICpfX3Jlc3RyaWN0IF9fY3AsCj4+PiAgICAgICAgIHZvaWQgKl9fcmVzdHJpY3QgX19i
dWYpIF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+
Cj4+Pgo+Pj4gZXh0ZXJuIGNvbnN0IGNoYXIgKmluZXRfbnRvcCAoaW50IF9fYWYsIGNvbnN0IHZv
aWQgKl9fcmVzdHJpY3QgX19jcCwKPj4+ICAgICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYs
IHNvY2tsZW5fdCBfX2xlbikKPj4+ICAgICAgX19hdHRyaWJ1dGVfXyAoKF9fbm90aHJvd19fICwg
X19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+IGV4dGVybiBpbnQgaW5ldF9h
dG9uIChjb25zdCBjaGFyICpfX2NwLCBzdHJ1Y3QgaW5fYWRkciAqX19pbnApIF9fYXR0cmlidXRl
X18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gY2hh
ciAqaW5ldF9uZXRhIChpbl9hZGRyX3QgX19uZXQsIGNoYXIgKl9fYnVmLCBzaXplX3QgX19sZW4p
IF9fYXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+
Pgo+Pj4gZXh0ZXJuIGNoYXIgKmluZXRfbmV0X250b3AgKGludCBfX2FmLCBjb25zdCB2b2lkICpf
X2NwLCBpbnQgX19iaXRzLAo+Pj4gICAgICAgIGNoYXIgKl9fYnVmLCBzaXplX3QgX19sZW4pIF9f
YXR0cmlidXRlX18gKChfX25vdGhyb3dfXyAsIF9fbGVhZl9fKSk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+
Pj4gZXh0ZXJuIGludCBpbmV0X25ldF9wdG9uIChpbnQgX19hZiwgY29uc3QgY2hhciAqX19jcCwK
Pj4+ICAgICAgdm9pZCAqX19idWYsIHNpemVfdCBfX2xlbikgX19hdHRyaWJ1dGVfXyAoKF9fbm90
aHJvd19fICwgX19sZWFmX18pKTsKPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiBleHRlcm4gdW5zaWduZWQg
aW50IGluZXRfbnNhcF9hZGRyIChjb25zdCBjaGFyICpfX2NwLAo+Pj4gICAgICAgICB1bnNpZ25l
ZCBjaGFyICpfX2J1ZiwgaW50IF9fbGVuKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBf
X2xlYWZfXykpOwo+Pj4KPj4+Cj4+Pgo+Pj4gZXh0ZXJuIGNoYXIgKmluZXRfbnNhcF9udG9hIChp
bnQgX19sZW4sIGNvbnN0IHVuc2lnbmVkIGNoYXIgKl9fY3AsCj4+PiAgICAgICAgIGNoYXIgKl9f
YnVmKSBfX2F0dHJpYnV0ZV9fICgoX19ub3Rocm93X18gLCBfX2xlYWZfXykpOwo+Pj4KPj4+Cj4+
Pgo+Pj4gIyA4MyAibWFjaGluZS5jIiAyCj4+PiAjIDEzNSAibWFjaGluZS5jIgo+Pj4KPj4+ICMg
MTM1ICJtYWNoaW5lLmMiCj4+PiBzdGF0aWMgUGxMb25nIHN0YXJ0X3VzZXJfdGltZSA9IDA7Cj4+
PiBzdGF0aWMgUGxMb25nIHN0YXJ0X3N5c3RlbV90aW1lID0gMDsKPj4+IHN0YXRpYyBQbExvbmcg
c3RhcnRfcmVhbF90aW1lID0gMDsKPj4+Cj4+PiBzdGF0aWMgaW50IGN1cl9zZWVkID0gMTsKPj4+
ICMgMTUwICJtYWNoaW5lLmMiCj4+PiBzdGF0aWMgY2hhciAqSG9zdF9OYW1lX0Zyb21fQWxpYXMo
c3RydWN0IGhvc3RlbnQgKmhvc3RfZW50cnkpOwo+Pj4gIyAxNjcgIm1hY2hpbmUuYyIKPj4+IHZv
aWQKPj4+IFBsX0luaXRfTWFjaGluZSh2b2lkKQo+Pj4gewo+Pj4gICB0enNldCgpOwo+Pj4KPj4+
ICAgc3RhcnRfdXNlcl90aW1lID0gUGxfTV9Vc2VyX1RpbWUoKTsKPj4+ICAgc3RhcnRfc3lzdGVt
X3RpbWUgPSBQbF9NX1N5c3RlbV9UaW1lKCk7Cj4+PiAgIHN0YXJ0X3JlYWxfdGltZSA9IFBsX01f
UmVhbF9UaW1lKCk7Cj4+Pgo+Pj4KPj4+ICAgbWFsbG9wdCgKPj4+ICMgMTc3ICJtYWNoaW5lLmMi
IDMgNAo+Pj4gICAgICAgICAgLTQKPj4+ICMgMTc3ICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAg
ICAgICAgICAgLCAwKTsKPj4+Cj4+Pgo+Pj4gICBQbF9Jbml0X01hY2hpbmUxKCk7Cj4+PiB9Cj4+
PiAjIDE5MCAibWFjaGluZS5jIgo+Pj4gY2hhciAqCj4+PiBQbF9NX1N5c19FcnJfU3RyaW5nKGlu
dCByZXRfdmFsKQo+Pj4gewo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+Cj4+PiAgIGNoYXIgKnN0cjsKPj4+
ICAgc3RhdGljIGNoYXIgYnVmZls2NF07Cj4+PiAjIDIyNiAibWFjaGluZS5jIgo+Pj4gICBzdHIg
PSBzdHJlcnJvcigKPj4+ICMgMjI2ICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAgICAgICAgICAgICAg
ICgqX19lcnJub19sb2NhdGlvbiAoKSkKPj4+ICMgMjI2ICJtYWNoaW5lLmMiCj4+PiAgICAgICAg
ICAgICAgICAgICAgICApOwo+Pj4KPj4+Cj4+PiAgIGlmIChzdHIpCj4+PiAgICAgcmV0dXJuIHN0
cjsKPj4+Cj4+PiAgIHNwcmludGYoYnVmZiwgIlVua25vd24gZXJyb3IgKCVkKSIsIAo+Pj4gIyAy
MzIgIm1hY2hpbmUuYyIgMyA0Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KCpfX2Vycm5vX2xvY2F0aW9uICgpKQo+Pj4gIyAyMzIgIm1hY2hpbmUuYyIKPj4+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Cj4+PiAgIHJldHVybiBidWZmOwo+Pj4g
fQo+Pj4gIyAyNDQgIm1hY2hpbmUuYyIKPj4+IFBsTG9uZwo+Pj4gUGxfTV9Vc2VyX1RpbWUodm9p
ZCkKPj4+IHsKPj4+ICAgUGxMb25nIHVzZXJfdGltZTsKPj4+Cj4+Pgo+Pj4gICBzdHJ1Y3QgcnVz
YWdlIHJzcl91c2FnZTsKPj4+Cj4+PiAgIGdldHJ1c2FnZSgKPj4+ICMgMjUyICJtYWNoaW5lLmMi
IDMgNAo+Pj4gICAgICAgICAgICBSVVNBR0VfU0VMRgo+Pj4gIyAyNTIgIm1hY2hpbmUuYyIKPj4+
ICAgICAgICAgICAgICAgICAgICAgICAsICZyc3JfdXNhZ2UpOwo+Pj4KPj4+ICAgdXNlcl90aW1l
ID0gKHJzcl91c2FnZS5ydV91dGltZS50dl9zZWMgKiAxMDAwKSArCj4+PiAgICAgKHJzcl91c2Fn
ZS5ydV91dGltZS50dl91c2VjIC8gMTAwMCk7Cj4+PiAjIDI3NSAibWFjaGluZS5jIgo+Pj4gICBy
ZXR1cm4gdXNlcl90aW1lIC0gc3RhcnRfdXNlcl90aW1lOwo+Pj4gfQo+Pj4gIyAyODYgIm1hY2hp
bmUuYyIKPj4+IFBsTG9uZwo+Pj4gUGxfTV9TeXN0ZW1fVGltZSh2b2lkKQo+Pj4gewo+Pj4gICBQ
bExvbmcgc3lzdGVtX3RpbWU7Cj4+Pgo+Pj4KPj4+ICAgc3RydWN0IHJ1c2FnZSByc3JfdXNhZ2U7
Cj4+Pgo+Pj4gICBnZXRydXNhZ2UoCj4+PiAjIDI5NCAibWFjaGluZS5jIiAzIDQKPj4+ICAgICAg
ICAgICAgUlVTQUdFX1NFTEYKPj4+ICMgMjk0ICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAgICAg
ICAgICAgICAgLCAmcnNyX3VzYWdlKTsKPj4+Cj4+PiAgIHN5c3RlbV90aW1lID0gKHJzcl91c2Fn
ZS5ydV9zdGltZS50dl9zZWMgKiAxMDAwKSArCj4+PiAgICAgKHJzcl91c2FnZS5ydV9zdGltZS50
dl91c2VjIC8gMTAwMCk7Cj4+PiAjIDMxNyAibWFjaGluZS5jIgo+Pj4gICByZXR1cm4gc3lzdGVt
X3RpbWUgLSBzdGFydF9zeXN0ZW1fdGltZTsKPj4+IH0KPj4+ICMgMzI4ICJtYWNoaW5lLmMiCj4+
PiBQbExvbmcKPj4+IFBsX01fUmVhbF9UaW1lKHZvaWQpCj4+PiB7Cj4+PiAgIFBsTG9uZyByZWFs
X3RpbWU7Cj4+Pgo+Pj4KPj4+ICAgc3RydWN0IHRpbWV2YWwgdHY7Cj4+Pgo+Pj4gICBnZXR0aW1l
b2ZkYXkoJnR2LCAKPj4+ICMgMzM2ICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAgICAgICAgICAgICAg
ICAgICgodm9pZCAqKTApCj4+PiAjIDMzNiAibWFjaGluZS5jIgo+Pj4gICAgICAgICAgICAgICAg
ICAgICAgICApOwo+Pj4gICByZWFsX3RpbWUgPSAodHYudHZfc2VjICogMTAwMCkgKyAodHYudHZf
dXNlYyAvIDEwMDApOwo+Pj4gIyAzNTAgIm1hY2hpbmUuYyIKPj4+ICAgcmV0dXJuIHJlYWxfdGlt
ZSAtIHN0YXJ0X3JlYWxfdGltZTsKPj4+IH0KPj4+ICMgMzY3ICJtYWNoaW5lLmMiCj4+PiB2b2lk
Cj4+PiBQbF9NX1JhbmRvbWl6ZSh2b2lkKQo+Pj4gewo+Pj4gICBzdGF0aWMgaW50IGNvdW50ID0g
MDsKPj4+Cj4+Pgo+Pj4KPj4+ICAgc3RydWN0IHRpbWV2YWwgdHY7Cj4+PiAgIGludCBzZWVkOwo+
Pj4KPj4+ICAgZ2V0dGltZW9mZGF5KCZ0diwgCj4+PiAjIDM3NyAibWFjaGluZS5jIiAzIDQKPj4+
ICAgICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKQo+Pj4gIyAzNzcgIm1hY2hpbmUuYyIKPj4+
ICAgICAgICAgICAgICAgICAgICAgICAgKTsKPj4+ICAgc2VlZCA9ICh0di50dl9zZWMgKiAxMDAw
KSArICh0di50dl91c2VjIC8gMTAwMCk7Cj4+Pgo+Pj4gICBjb3VudCA9IChjb3VudCArIHJhbmQo
KSkgJSAweEZGRkY7Cj4+PiAgIHNlZWQgPSBzZWVkIF4gKGdldHBpZCgpIDw8IChzZWVkICYgMHhG
RikpOwo+Pj4gICBzZWVkICo9IGNvdW50Owo+Pj4gICBzZWVkID0gc2VlZCAmIDB4RkZGRkZGOwo+
Pj4KPj4+ICAgUGxfTV9TZXRfU2VlZChzZWVkKTsKPj4+IH0KPj4+ICMgMzk1ICJtYWNoaW5lLmMi
Cj4+PiB2b2lkCj4+PiBQbF9NX1NldF9TZWVkKGludCBuKQo+Pj4gewo+Pj4gICBjdXJfc2VlZCA9
IG47Cj4+PiAgIHNyYW5kKGN1cl9zZWVkKTsKPj4+IH0KPj4+ICMgNDA5ICJtYWNoaW5lLmMiCj4+
PiBpbnQKPj4+IFBsX01fR2V0X1NlZWQodm9pZCkKPj4+IHsKPj4+ICAgcmV0dXJuIGN1cl9zZWVk
Owo+Pj4gfQo+Pj4gIyA0MjMgIm1hY2hpbmUuYyIKPj4+IGludAo+Pj4gUGxfTV9SYW5kb21fSW50
ZWdlcihpbnQgbikKPj4+IHsKPj4+ICAgcmV0dXJuIChpbnQpICgoZG91YmxlKSBuICogcmFuZCgp
IC8gKAo+Pj4gIyA0MjYgIm1hY2hpbmUuYyIgMyA0Cj4+PiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDIxNDc0ODM2NDcgCj4+PiAjIDQyNiAibWFjaGluZS5jIgo+Pj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIDEuMCkpOwo+Pj4g
fQo+Pj4gIyA0MzcgIm1hY2hpbmUuYyIKPj4+IGRvdWJsZQo+Pj4gUGxfTV9SYW5kb21fRmxvYXQo
ZG91YmxlIG4pCj4+PiB7Cj4+PiAgIHJldHVybiBuICogcmFuZCgpIC8gKAo+Pj4gIyA0NDAgIm1h
Y2hpbmUuYyIgMyA0Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgMjE0NzQ4MzY0NyAKPj4+ICMg
NDQwICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAxLjAp
Owo+Pj4gfQo+Pj4gIyA0NTEgIm1hY2hpbmUuYyIKPj4+IGNoYXIgKgo+Pj4gUGxfTV9Ib3N0X05h
bWVfRnJvbV9OYW1lKGNoYXIgKmhvc3RfbmFtZSkKPj4+IHsKPj4+ICAgc3RhdGljIGNoYXIgYnVm
Zls0MDk2XTsKPj4+Cj4+Pgo+Pj4gICBzdHJ1Y3QgaG9zdGVudCAqaG9zdF9lbnRyeTsKPj4+Cj4+
Pgo+Pj4gICBpZiAoaG9zdF9uYW1lID09IAo+Pj4gIyA0NjAgIm1hY2hpbmUuYyIgMyA0Cj4+PiAg
ICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKQo+Pj4gIyA0NjAgIm1hY2hpbmUuYyIKPj4+ICAg
ICAgICAgICAgICAgICAgICAgICApCj4+PiAgICAgewo+Pj4gICAgICAgUGxMb25nIGxlbmd0aCA9
IHNpemVvZihidWZmKTsKPj4+ICAgICAgIGhvc3RfbmFtZSA9IGJ1ZmY7Cj4+Pgo+Pj4KPj4+Cj4+
PiAgICAgICBpZiAoZ2V0aG9zdG5hbWUoYnVmZiwgbGVuZ3RoKSkKPj4+Cj4+PiAgICAgICAgIHsK
Pj4+ICAgICAgICAgICBzdHJjcHkoYnVmZiwgInVua25vd24gaG9zdCBuYW1lIik7Cj4+PiAgICAg
ICAgICAgZ290byBmaW5pc2g7Cj4+PiAgICAgICAgIH0KPj4+ICAgICB9Cj4+Pgo+Pj4gICBpZiAo
c3RyY2hyKGhvc3RfbmFtZSwgJy4nKSAhPSAKPj4+ICMgNDc1ICJtYWNoaW5lLmMiIDMgNAo+Pj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodm9pZCAqKTApCj4+PiAjIDQ3NSAibWFj
aGluZS5jIgo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCj4+PiAgICAg
Z290byBmaW5pc2g7Cj4+Pgo+Pj4KPj4+Cj4+PiAgIGhvc3RfZW50cnkgPSBnZXRob3N0YnluYW1l
KGhvc3RfbmFtZSk7Cj4+PiAgIGlmIChob3N0X2VudHJ5ID09IAo+Pj4gIyA0ODEgIm1hY2hpbmUu
YyIgMyA0Cj4+PiAgICAgICAgICAgICAgICAgICAgKCh2b2lkICopMCkKPj4+ICMgNDgxICJtYWNo
aW5lLmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICkKPj4+ICAgICBnb3RvIGZpbmlzaDsK
Pj4+Cj4+PiAgIGhvc3RfbmFtZSA9IEhvc3RfTmFtZV9Gcm9tX0FsaWFzKGhvc3RfZW50cnkpOwo+
Pj4KPj4+Cj4+Pgo+Pj4gZmluaXNoOgo+Pj4gICByZXR1cm4gaG9zdF9uYW1lOwo+Pj4gfQo+Pj4g
IyA0OTkgIm1hY2hpbmUuYyIKPj4+IGNoYXIgKgo+Pj4gUGxfTV9Ib3N0X05hbWVfRnJvbV9BZHIo
Y2hhciAqaG9zdF9hZGRyZXNzKQo+Pj4gewo+Pj4KPj4+ICAgc3RydWN0IGhvc3RlbnQgKmhvc3Rf
ZW50cnk7Cj4+PiAgIHN0cnVjdCBpbl9hZGRyIGlhZHI7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiAgIGlmIChpbmV0X2F0b24oaG9zdF9hZGRyZXNzLCAmaWFkcikgPT0gMCkKPj4+Cj4+PiAg
ICAgcmV0dXJuIDA7Cj4+Pgo+Pj4gICBob3N0X2VudHJ5ID0gZ2V0aG9zdGJ5YWRkcigoY2hhciAq
KSAmaWFkciwgc2l6ZW9mKGlhZHIpLCAKPj4+ICMgNTE1ICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIK
Pj4+ICMgNTE1ICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Cj4+PiAgIGlmIChob3N0X2VudHJ5
ID09IAo+Pj4gIyA1MTYgIm1hY2hpbmUuYyIgMyA0Cj4+PiAgICAgICAgICAgICAgICAgICAgKCh2
b2lkICopMCkKPj4+ICMgNTE2ICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAg
ICkKPj4+ICAgICByZXR1cm4gCj4+PiAjIDUxNyAibWFjaGluZS5jIiAzIDQKPj4+ICAgICAgICAg
ICAoKHZvaWQgKikwKQo+Pj4gIyA1MTcgIm1hY2hpbmUuYyIKPj4+ICAgICAgICAgICAgICAgOwo+
Pj4KPj4+ICAgcmV0dXJuIEhvc3RfTmFtZV9Gcm9tX0FsaWFzKGhvc3RfZW50cnkpOwo+Pj4KPj4+
Cj4+Pgo+Pj4gfQo+Pj4gIyA1MzQgIm1hY2hpbmUuYyIKPj4+IHN0YXRpYyBjaGFyICoKPj4+IEhv
c3RfTmFtZV9Gcm9tX0FsaWFzKHN0cnVjdCBob3N0ZW50ICpob3N0X2VudHJ5KQo+Pj4gewo+Pj4g
ICBjaGFyICpuYW1lOwo+Pj4gICBjaGFyICoqYWxpYXM7Cj4+PiAgIGNoYXIgKnA7Cj4+Pgo+Pj4g
ICBuYW1lID0gKGNoYXIgKikgaG9zdF9lbnRyeS0+aF9uYW1lOwo+Pj4gICBhbGlhcyA9IGhvc3Rf
ZW50cnktPmhfYWxpYXNlczsKPj4+ICAgd2hpbGUgKChwID0gc3RyY2hyKG5hbWUsICcuJykpID09
IAo+Pj4gIyA1NDMgIm1hY2hpbmUuYyIgMyA0Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICgodm9pZCAqKTApIAo+Pj4gIyA1NDMgIm1hY2hpbmUuYyIKPj4+ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAqYWxpYXMpCj4+PiAgICAgbmFtZSA9
ICphbGlhcysrOwo+Pj4KPj4+ICAgaWYgKHApCj4+PiAgICAgcmV0dXJuIG5hbWU7Cj4+Pgo+Pj4g
ICByZXR1cm4gKGNoYXIgKikgaG9zdF9lbnRyeS0+aF9uYW1lOwo+Pj4gfQo+Pj4gIyA1NjEgIm1h
Y2hpbmUuYyIKPj4+IEJvb2wKPj4+IFBsX01fU2V0X1dvcmtpbmdfRGlyKGNoYXIgKnBhdGgpCj4+
PiB7Cj4+PiAgIGNoYXIgKm5ld19wYXRoID0gUGxfTV9BYnNvbHV0ZV9QYXRoX05hbWUocGF0aCk7
Cj4+Pgo+Pj4gICByZXR1cm4gKG5ld19wYXRoICE9IAo+Pj4gIyA1NjYgIm1hY2hpbmUuYyIgMyA0
Cj4+PiAgICAgICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKSAKPj4+ICMgNTY2ICJtYWNoaW5l
LmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIGNoZGlyKG5ld19wYXRoKSA9PSAw
KTsKPj4+IH0KPj4+ICMgNTc2ICJtYWNoaW5lLmMiCj4+PiBjaGFyICoKPj4+IFBsX01fR2V0X1dv
cmtpbmdfRGlyKHZvaWQpCj4+PiB7Cj4+PiAgIHN0YXRpYyBjaGFyIGN1cl93b3JrX2RpclsKPj4+
ICMgNTc5ICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICA0MDk2
Cj4+PiAjIDU3OSAibWFjaGluZS5jIgo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXTsKPj4+Cj4+PiAgIGlmIChnZXRjd2QoY3VyX3dvcmtfZGlyLCBzaXplb2YoY3VyX3dv
cmtfZGlyKSAtIDEpID09IAo+Pj4gIyA1ODEgIm1hY2hpbmUuYyIgMyA0Cj4+PiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkICopMCkK
Pj4+ICMgNTgxICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKPj4+ICAgICBzdHJjcHkoY3VyX3dvcmtfZGly
LCAiLiIpOwo+Pj4gICByZXR1cm4gY3VyX3dvcmtfZGlyOwo+Pj4gfQo+Pj4gIyA1OTQgIm1hY2hp
bmUuYyIKPj4+IGNoYXIgKgo+Pj4gUGxfTV9BYnNvbHV0ZV9QYXRoX05hbWUoY2hhciAqc3JjKQo+
Pj4gewo+Pj4gICBzdGF0aWMgY2hhciBidWZmWzJdWwo+Pj4gIyA1OTcgIm1hY2hpbmUuYyIgMyA0
Cj4+PiAgICAgICAgICAgICAgICAgICAgICA0MDk2Cj4+PiAjIDU5NyAibWFjaGluZS5jIgo+Pj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07Cj4+PiAgIGludCByZXMgPSAwOwo+Pj4g
ICBjaGFyICpkc3Q7Cj4+PiAgIGNoYXIgKnAsICpxOwo+Pj4gICBjaGFyIGM7Cj4+Pgo+Pj4gICBk
c3QgPSBidWZmW3Jlc107Cj4+PiAgIHdoaWxlICgoKmRzdCsrID0gKnNyYykpCj4+PiAgICAgewo+
Pj4gICAgICAgYyA9ICpzcmMrKzsKPj4+ICAgICAgIGlmIChjID09ICckJwo+Pj4KPj4+Cj4+Pgo+
Pj4gICAgICAgICApCj4+PiAgICAgICAgIHsKPj4+ICAgICAgICAgICBwID0gZHN0Owo+Pj4gICAg
ICAgICAgIHdoaWxlICgKPj4+ICMgNjE0ICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAgICAgICAgICAg
ICAgICgoKl9fY3R5cGVfYl9sb2MgKCkpWyhpbnQpICgoCj4+PiAjIDYxNCAibWFjaGluZS5jIgo+
Pj4gICAgICAgICAgICAgICAgICpzcmMKPj4+ICMgNjE0ICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAg
ICAgICAgICAgICAgICkpXSAmICh1bnNpZ25lZCBzaG9ydCBpbnQpIF9JU2FsbnVtKSAKPj4+ICMg
NjE0ICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCAqc3Jj
ID09ICdfJykKPj4+ICAgICAgICAgICAgICpkc3QrKyA9ICpzcmMrKzsKPj4+Cj4+Pgo+Pj4KPj4+
Cj4+PiAgICAgICAgICAgKmRzdCA9ICdcMCc7Cj4+PiAgICAgICAgICAgcSA9IGdldGVudihwKTsK
Pj4+ICAgICAgICAgICBpZiAocSkKPj4+ICAgICAgICAgICAgIHsKPj4+ICAgICAgICAgICAgICAg
cC0tOwo+Pj4gICAgICAgICAgICAgICBzdHJjcHkocCwgcSk7Cj4+PiAgICAgICAgICAgICAgIGRz
dCA9IHAgKyBzdHJsZW4ocCk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4gICAgICAgICAgICAgfQo+Pj4K
Pj4+Cj4+Pgo+Pj4KPj4+ICAgICAgICAgfQo+Pj4gICAgIH0KPj4+ICAgKmRzdCA9ICdcMCc7Cj4+
Pgo+Pj4gICBpZiAoYnVmZltyZXNdWzBdID09ICd+JykKPj4+ICAgICB7Cj4+PiAgICAgICBpZiAo
KChidWZmW3Jlc11bMV0pID09ICcvJyB8fCAoYnVmZltyZXNdWzFdKSA9PSAnLycpIHx8IGJ1ZmZb
cmVzXVsxXSA9PSAnXDAnKQo+Pj4gICAgICAgICB7Cj4+PiAgICBxID0gCj4+PiAjIDY0NCAibWFj
aGluZS5jIiAzIDQKPj4+ICAgICAgICgodm9pZCAqKTApCj4+PiAjIDY0NCAibWFjaGluZS5jIgo+
Pj4gICAgICAgICAgIDs7Cj4+PiAgICAgICAgICAgaWYgKChwID0gZ2V0ZW52KCJIT01FIikpID09
IAo+Pj4gIyA2NDUgIm1hY2hpbmUuYyIgMyA0Cj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKCh2b2lkICopMCkKPj4+ICMgNjQ1ICJtYWNoaW5lLmMiCj4+PiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKPj4+ICAgICAgewo+Pj4KPj4+Cj4+
Pgo+Pj4KPj4+Cj4+PiAgICAgICAgcmV0dXJuIAo+Pj4gIyA2NTIgIm1hY2hpbmUuYyIgMyA0Cj4+
PiAgICAgICAgICAgICAgKCh2b2lkICopMCkKPj4+ICMgNjUyICJtYWNoaW5lLmMiCj4+PiAgICAg
ICAgICAgICAgICAgIDsKPj4+Cj4+PiAgICAgIH0KPj4+ICAgIGlmIChxID09IAo+Pj4gIyA2NTUg
Im1hY2hpbmUuYyIgMyA0Cj4+PiAgICAgICAgICAgICgodm9pZCAqKTApCj4+PiAjIDY1NSAibWFj
aGluZS5jIgo+Pj4gICAgICAgICAgICAgICAgKQo+Pj4gICAgICBxID0gIiI7Cj4+PiAgICAgICAg
ICAgc3ByaW50ZihidWZmWzEgLSByZXNdLCAiJXMlcy8lcyIsIHEsIHAsIGJ1ZmZbcmVzXSArIDEp
Owo+Pj4gICAgICAgICAgIHJlcyA9IDEgLSByZXM7Cj4+PiAgICAgICAgIH0KPj4+Cj4+PiAgICAg
ICBlbHNlCj4+PiAgICAgICAgIHsKPj4+ICAgICAgICAgICBzdHJ1Y3QgcGFzc3dkICpwdzsKPj4+
Cj4+PiAgICAgICAgICAgcCA9IGJ1ZmZbcmVzXSArIDE7Cj4+PiAgICAgICAgICAgd2hpbGUgKCpw
ICYmICEoKCpwKSA9PSAnLycgfHwgKCpwKSA9PSAnLycpKQo+Pj4gICAgICAgICAgICAgcCsrOwo+
Pj4KPj4+ICAgICAgICAgICBidWZmW3Jlc11bMF0gPSAqcDsKPj4+ICAgICAgICAgICAqcCA9ICdc
MCc7Cj4+PiAgICAgICAgICAgaWYgKChwdyA9IGdldHB3bmFtKGJ1ZmZbcmVzXSArIDEpKSA9PSAK
Pj4+ICMgNjcxICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoKHZvaWQgKikwKQo+Pj4gIyA2NzEgIm1hY2hpbmUuYyIKPj4+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKPj4+
ICAgICAgICAgICAgIHJldHVybiAKPj4+ICMgNjcyICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAgICAg
ICAgICAgICAgICAgKCh2b2lkICopMCkKPj4+ICMgNjcyICJtYWNoaW5lLmMiCj4+PiAgICAgICAg
ICAgICAgICAgICAgICAgOwo+Pj4KPj4+ICAgICAgICAgICAqcCA9IGJ1ZmZbcmVzXVswXTsKPj4+
Cj4+PiAgICAgICAgICAgc3ByaW50ZihidWZmWzEgLSByZXNdLCAiJXMvJXMiLCBwdy0+cHdfZGly
LCBwKTsKPj4+ICAgICAgICAgICByZXMgPSAxIC0gcmVzOwo+Pj4gICAgICAgICB9Cj4+Pgo+Pj4g
ICAgIH0KPj4+Cj4+PiAgIGlmIChzdHJjbXAoYnVmZltyZXNdLCAidXNlciIpID09IDApCj4+PiAg
ICAgcmV0dXJuIGJ1ZmZbcmVzXTsKPj4+ICMgNzA2ICJtYWNoaW5lLmMiCj4+PiAgIGlmIChidWZm
W3Jlc11bMF0gIT0gJy8nKQo+Pj4gICAgIHsKPj4+ICAgICAgIHNwcmludGYoYnVmZlsxIC0gcmVz
XSwgIiVzLyVzIiwgUGxfTV9HZXRfV29ya2luZ19EaXIoKSwgYnVmZltyZXNdKTsKPj4+ICAgICAg
IHJlcyA9IDEgLSByZXM7Cj4+PiAgICAgfQo+Pj4KPj4+ICAgc3JjID0gYnVmZltyZXNdOwo+Pj4g
ICByZXMgPSAxIC0gcmVzOwo+Pj4gICBkc3QgPSBidWZmW3Jlc107Cj4+Pgo+Pj4gICB3aGlsZSAo
KCpkc3QrKyA9ICpzcmMpKQo+Pj4gICAgIHsKPj4+ICAgICAgIGlmICgqc3JjKysgIT0gJy8nKQo+
Pj4gICAgICAgICBjb250aW51ZTsKPj4+Cj4+PiAgICAgY29sbGFwc2U6Cj4+PiAgICAgICB3aGls
ZSAoKnNyYyA9PSAnLycpCj4+PiAgICAgICAgIHNyYysrOwo+Pj4KPj4+ICAgICAgIGlmICgqc3Jj
ICE9ICcuJykKPj4+ICAgICAgICAgY29udGludWU7Cj4+Pgo+Pj4gICAgICAgaWYgKHNyY1sxXSA9
PSAnLycgfHwgc3JjWzFdID09ICdcMCcpCj4+PiAgICAgICAgIHsKPj4+ICAgICAgICAgICBzcmMr
KzsKPj4+ICAgICAgICAgICBnb3RvIGNvbGxhcHNlOwo+Pj4gICAgICAgICB9Cj4+Pgo+Pj4gICAg
ICAgaWYgKHNyY1sxXSAhPSAnLicgfHwgKHNyY1syXSAhPSAnLycgJiYgc3JjWzJdICE9ICdcMCcp
KQo+Pj4gICAgICAgICBjb250aW51ZTsKPj4+Cj4+PiAgICAgICBzcmMgKz0gMjsKPj4+ICAgICAg
IHAgPSBkc3QgLSAyOwo+Pj4gICAgICAgd2hpbGUgKHAgPj0gYnVmZltyZXNdICYmICpwICE9ICcv
JykKPj4+ICAgICAgICAgcC0tOwo+Pj4KPj4+ICAgICAgIGlmIChwIDwgYnVmZltyZXNdKQo+Pj4g
ICAgICAgICByZXR1cm4gCj4+PiAjIDc0MyAibWFjaGluZS5jIiAzIDQKPj4+ICAgICAgICAgICAg
ICAgKCh2b2lkICopMCkKPj4+ICMgNzQzICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAgICAgICAg
ICA7Cj4+Pgo+Pj4gICAgICAgZHN0ID0gcDsKPj4+ICAgICB9Cj4+Pgo+Pj4gICBkc3QtLTsKPj4+
ICMgNzU5ICJtYWNoaW5lLmMiCj4+PiAgIGlmIChkc3QgLSBidWZmW3Jlc10gPiAxICYmICgoZHN0
Wy0xXSkgPT0gJy8nIHx8IChkc3RbLTFdKSA9PSAnLycpKQo+Pj4gICAgIGRzdFstMV0gPSAnXDAn
Owo+Pj4KPj4+ICAgcmV0dXJuIGJ1ZmZbcmVzXTsKPj4+IH0KPj4+ICMgNzczICJtYWNoaW5lLmMi
Cj4+PiBCb29sCj4+PiBQbF9NX0lzX0Fic29sdXRlX0ZpbGVfTmFtZShjaGFyICpwYXRoKQo+Pj4g
ewo+Pj4gICBpZiAoKCgqcGF0aCkgPT0gJy8nIHx8ICgqcGF0aCkgPT0gJy8nKSkKPj4+ICAgICBy
ZXR1cm4gMTsKPj4+ICMgNzk1ICJtYWNoaW5lLmMiCj4+PiAgIHJldHVybiAwOwo+Pj4gfQo+Pj4g
IyA4MjkgIm1hY2hpbmUuYyIKPj4+IGNoYXIgKgo+Pj4gUGxfTV9EZWNvbXBvc2VfRmlsZV9OYW1l
KGNoYXIgKnBhdGgsIEJvb2wgZGVsX3RyYWlsX3NsYXNoZXMsIGNoYXIgKipiYXNlLCBjaGFyICoq
c3VmZml4KQo+Pj4gewo+Pj4gICBzdGF0aWMgY2hhciBidWZmX2RpclsKPj4+ICMgODMyICJtYWNo
aW5lLmMiIDMgNAo+Pj4gICAgICAgICAgICAgICAgICAgICAgIDQwOTYKPj4+ICMgODMyICJtYWNo
aW5lLmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF07Cj4+PiAgIHN0YXRp
YyBjaGFyIGJ1ZmZfYmFzZVsKPj4+ICMgODMzICJtYWNoaW5lLmMiIDMgNAo+Pj4gICAgICAgICAg
ICAgICAgICAgICAgICA0MDk2Cj4+PiAjIDgzMyAibWFjaGluZS5jIgo+Pj4gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXTsKPj4+ICAgaW50IGRpcl9zdGFydF9wb3MgPSAwOwo+Pj4g
IyA4NTIgIm1hY2hpbmUuYyIKPj4+ICAgY2hhciAqcDsKPj4+Cj4+PiAgIHN0cmNweShidWZmX2Rp
ciwgcGF0aCk7Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4KPj4+ICAgZG8geyBjaGFyICpfcHRyOyBmb3Io
KHApID0gCj4+PiAjIDg2MCAibWFjaGluZS5jIiAzIDQKPj4+ICAoKHZvaWQgKikwKQo+Pj4gIyA4
NjAgIm1hY2hpbmUuYyIKPj4+ICAsIF9wdHIgPSAoYnVmZl9kaXIpOyAqX3B0cjsgX3B0cisrKSBp
ZiAoKCgqX3B0cikgPT0gJy8nIHx8ICgqX3B0cikgPT0gJy8nKSkgKHApID0gX3B0cjsgfSB3aGls
ZSgwKTsKPj4+Cj4+PiAgIHAgPSAocCA9PSAKPj4+ICMgODYyICJtYWNoaW5lLmMiIDMgNAo+Pj4g
ICAgICAgICAgICAoKHZvaWQgKikwKQo+Pj4gIyA4NjIgIm1hY2hpbmUuYyIKPj4+ICAgICAgICAg
ICAgICAgICkgPyBidWZmX2RpciArIGRpcl9zdGFydF9wb3MgOiBwICsgMTsKPj4+Cj4+PiAgIHN0
cmNweShidWZmX2Jhc2UsIHApOwo+Pj4gICAqcCA9ICdcMCc7Cj4+Pgo+Pj4gICBpZiAoKHAgPSBz
dHJyY2hyKGJ1ZmZfYmFzZSwgJy4nKSkgIT0gCj4+PiAjIDg2NyAibWFjaGluZS5jIiAzIDQKPj4+
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkICopMCkKPj4+ICMg
ODY3ICJtYWNoaW5lLmMiCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICApCj4+PiAgICAgKnN1ZmZpeCA9IHA7Cj4+PiAgIGVsc2UKPj4+ICAgICAqc3VmZml4ID0g
YnVmZl9iYXNlICsgc3RybGVuKGJ1ZmZfYmFzZSk7Cj4+Pgo+Pj4KPj4+Cj4+PiAgIGlmIChkZWxf
dHJhaWxfc2xhc2hlcykKPj4+ICAgICB7Cj4+PiAgICAgICBpZiAoYnVmZl9kaXJbZGlyX3N0YXJ0
X3Bvc10gPT0gJ1wwJykKPj4+ICBzdHJjYXQoYnVmZl9kaXIsICIuIik7Cj4+PiAgICAgICBlbHNl
Cj4+PiAgewo+Pj4gICAgaW50IGxlbiA9IHN0cmxlbihidWZmX2Rpcik7Cj4+PiAgICB3aGlsZSgt
LWxlbiA+PSBkaXJfc3RhcnRfcG9zICYmICgoYnVmZl9kaXJbbGVuXSkgPT0gJy8nIHx8IChidWZm
X2RpcltsZW5dKSA9PSAnLycpKQo+Pj4gICAgICA7Cj4+Pgo+Pj4gICAgaWYgKGxlbiA8IGRpcl9z
dGFydF9wb3MpCj4+PiAgICAgIGxlbiA9IGRpcl9zdGFydF9wb3M7Cj4+PiAgICBidWZmX2Rpclts
ZW4gKyAxXSA9ICdcMCc7Cj4+PiAgfQo+Pj4gICAgIH0KPj4+Cj4+Pgo+Pj4KPj4+Cj4+Pgo+Pj4K
Pj4+ICAgKmJhc2UgPSBidWZmX2Jhc2U7Cj4+Pgo+Pj4gICByZXR1cm4gYnVmZl9kaXI7Cj4+PiB9
Cj4+Cj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+
Pj4gQnVnLXByb2xvZyBtYWlsaW5nIGxpc3QKPj4+IEJ1Zy1wcm9sb2dAZ251Lm9yZwo+Pj4gaHR0
cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vYnVnLXByb2xvZwo+Pgo+Pgo+IAoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQnVnLXByb2xv
ZyBtYWlsaW5nIGxpc3QKQnVnLXByb2xvZ0BnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL2J1Zy1wcm9sb2cK