This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

optimization/6630: gcc-3.1 prerelease with -O3 generates invalid i386 code.



>Number:         6630
>Category:       optimization
>Synopsis:       gcc-3.1 prerelease with -O3 generates invalid i386 code.
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Fri May 10 18:26:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Lawrence Gold
>Release:        gcc-3.1 (GCC) 3.1 20020509 (prerelease)
>Organization:
>Environment:
Linux 2.4.18, Athlon Thunderbird 1.2GHz (stepping 6), binutils v2.12, gcc-3.1 built (make bootstrap) using gcc-2.95.3 with CFLAGS and CXXFLAGS unset.  The problem also occurs if gcc-3.1 is built using gcc-3.0.4.
>Description:
Building the attached file from xmame-0.60.1 using -O3 -c produces these messages:

/tmp/cch0HcgE.s: Assembler messages:
/tmp/cch0HcgE.s:5613: Error: bad register name `%sil'
/tmp/cch0HcgE.s:5742: Error: bad register name `%sil'
/tmp/cch0HcgE.s:5858: Error: bad register name `%sil'
/tmp/cch0HcgE.s:5993: Error: bad register name `%sil'
/tmp/cch0HcgE.s:6230: Error: bad register name `%sil'
>How-To-Repeat:

>Fix:
With -O2, the error does not occur.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="i8085-preprocessed.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="i8085-preprocessed.c"

IyAxICJzcmMvY3B1L2k4MDg1L2k4MDg1LmMiCiMgMSAiPGJ1aWx0LWluPiIKIyAxICI8Y29tbWFu
ZCBsaW5lPiIKIyAxICJzcmMvY3B1L2k4MDg1L2k4MDg1LmMiCiMgNTggInNyYy9jcHUvaTgwODUv
aTgwODUuYyIKIyAxICJzcmMvZHJpdmVyLmgiIDEKIyA1MyAic3JjL2RyaXZlci5oIgojIDEgInNy
Yy91bml4L29zZF9jcHUuaCIgMQojIDI3ICJzcmMvdW5peC9vc2RfY3B1LmgiCiMgMSAiL3Vzci9p
bmNsdWRlL3RpbWUuaCIgMSAzCiMgMjggIi91c3IvaW5jbHVkZS90aW1lLmgiIDMKIyAxICIvdXNy
L2luY2x1ZGUvZmVhdHVyZXMuaCIgMSAzCiMgMjgzICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIg
MwojIDEgIi91c3IvaW5jbHVkZS9zeXMvY2RlZnMuaCIgMSAzCiMgMjg0ICIvdXNyL2luY2x1ZGUv
ZmVhdHVyZXMuaCIgMiAzCiMgMzEyICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMuaCIgMwojIDEgIi91
c3IvaW5jbHVkZS9nbnUvc3R1YnMuaCIgMSAzCiMgMzEzICIvdXNyL2luY2x1ZGUvZmVhdHVyZXMu
aCIgMiAzCiMgMjkgIi91c3IvaW5jbHVkZS90aW1lLmgiIDIgMwoKCgoKCgoKCgojIDEgIi91c3Iv
bG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjEvaW5jbHVkZS9z
dGRkZWYuaCIgMSAzCiMgMjAxICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1w
Yy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkZGVmLmgiIDMKdHlwZWRlZiB1bnNpZ25lZCBpbnQg
c2l6ZV90OwojIDM5ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAyIDMKCgoKIyAxICIvdXNyL2luY2x1
ZGUvYml0cy90aW1lLmgiIDEgMwojIDM5ICIvdXNyL2luY2x1ZGUvYml0cy90aW1lLmgiIDMKIyAx
ICIvdXNyL2luY2x1ZGUvYml0cy90eXBlcy5oIiAxIDMKIyAyOSAiL3Vzci9pbmNsdWRlL2JpdHMv
dHlwZXMuaCIgMwojIDEgIi91c3IvbG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxp
bnV4LWdudS8zLjEvaW5jbHVkZS9zdGRkZWYuaCIgMSAzCiMgMzAgIi91c3IvaW5jbHVkZS9iaXRz
L3R5cGVzLmgiIDIgMwoKCnR5cGVkZWYgdW5zaWduZWQgY2hhciBfX3VfY2hhcjsKdHlwZWRlZiB1
bnNpZ25lZCBzaG9ydCBfX3Vfc2hvcnQ7CnR5cGVkZWYgdW5zaWduZWQgaW50IF9fdV9pbnQ7CnR5
cGVkZWYgdW5zaWduZWQgbG9uZyBfX3VfbG9uZzsKCl9fZXh0ZW5zaW9uX18gdHlwZWRlZiB1bnNp
Z25lZCBsb25nIGxvbmcgaW50IF9fdV9xdWFkX3Q7Cl9fZXh0ZW5zaW9uX18gdHlwZWRlZiBsb25n
IGxvbmcgaW50IF9fcXVhZF90OwojIDQ5ICIvdXNyL2luY2x1ZGUvYml0cy90eXBlcy5oIiAzCnR5
cGVkZWYgc2lnbmVkIGNoYXIgX19pbnQ4X3Q7CnR5cGVkZWYgdW5zaWduZWQgY2hhciBfX3VpbnQ4
X3Q7CnR5cGVkZWYgc2lnbmVkIHNob3J0IGludCBfX2ludDE2X3Q7CnR5cGVkZWYgdW5zaWduZWQg
c2hvcnQgaW50IF9fdWludDE2X3Q7CnR5cGVkZWYgc2lnbmVkIGludCBfX2ludDMyX3Q7CnR5cGVk
ZWYgdW5zaWduZWQgaW50IF9fdWludDMyX3Q7CgpfX2V4dGVuc2lvbl9fIHR5cGVkZWYgc2lnbmVk
IGxvbmcgbG9uZyBpbnQgX19pbnQ2NF90OwpfX2V4dGVuc2lvbl9fIHR5cGVkZWYgdW5zaWduZWQg
bG9uZyBsb25nIGludCBfX3VpbnQ2NF90OwoKdHlwZWRlZiBfX3F1YWRfdCAqX19xYWRkcl90OwoK
dHlwZWRlZiBfX3VfcXVhZF90IF9fZGV2X3Q7CnR5cGVkZWYgX191X2ludCBfX3VpZF90Owp0eXBl
ZGVmIF9fdV9pbnQgX19naWRfdDsKdHlwZWRlZiBfX3VfbG9uZyBfX2lub190Owp0eXBlZGVmIF9f
dV9pbnQgX19tb2RlX3Q7CnR5cGVkZWYgX191X2ludCBfX25saW5rX3Q7CnR5cGVkZWYgbG9uZyBp
bnQgX19vZmZfdDsKdHlwZWRlZiBfX3F1YWRfdCBfX2xvZmZfdDsKdHlwZWRlZiBpbnQgX19waWRf
dDsKdHlwZWRlZiBpbnQgX19zc2l6ZV90Owp0eXBlZGVmIF9fdV9sb25nIF9fcmxpbV90Owp0eXBl
ZGVmIF9fdV9xdWFkX3QgX19ybGltNjRfdDsKdHlwZWRlZiBfX3VfaW50IF9faWRfdDsKCnR5cGVk
ZWYgc3RydWN0CiAgewogICAgaW50IF9fdmFsWzJdOwogIH0gX19mc2lkX3Q7CgoKdHlwZWRlZiBp
bnQgX19kYWRkcl90Owp0eXBlZGVmIGNoYXIgKl9fY2FkZHJfdDsKdHlwZWRlZiBsb25nIGludCBf
X3RpbWVfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgX191c2Vjb25kc190Owp0eXBlZGVmIGxvbmcg
aW50IF9fc3VzZWNvbmRzX3Q7CnR5cGVkZWYgbG9uZyBpbnQgX19zd2Jsa190OwoKdHlwZWRlZiBs
b25nIGludCBfX2Nsb2NrX3Q7CgoKdHlwZWRlZiBpbnQgX19jbG9ja2lkX3Q7CgoKdHlwZWRlZiBp
bnQgX190aW1lcl90OwoKCgoKCgp0eXBlZGVmIGludCBfX2tleV90OwoKCnR5cGVkZWYgdW5zaWdu
ZWQgc2hvcnQgaW50IF9faXBjX3BpZF90OwoKCgp0eXBlZGVmIGxvbmcgaW50IF9fYmxrc2l6ZV90
OwoKCgoKdHlwZWRlZiBsb25nIGludCBfX2Jsa2NudF90Owp0eXBlZGVmIF9fcXVhZF90IF9fYmxr
Y250NjRfdDsKCgp0eXBlZGVmIF9fdV9sb25nIF9fZnNibGtjbnRfdDsKdHlwZWRlZiBfX3VfcXVh
ZF90IF9fZnNibGtjbnQ2NF90OwoKCnR5cGVkZWYgX191X2xvbmcgX19mc2ZpbGNudF90Owp0eXBl
ZGVmIF9fdV9xdWFkX3QgX19mc2ZpbGNudDY0X3Q7CgoKdHlwZWRlZiBfX3VfcXVhZF90IF9faW5v
NjRfdDsKCgp0eXBlZGVmIF9fbG9mZl90IF9fb2ZmNjRfdDsKCgp0eXBlZGVmIGxvbmcgaW50IF9f
dF9zY2FsYXJfdDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCBfX3RfdXNjYWxhcl90OwoKCnR5
cGVkZWYgaW50IF9faW50cHRyX3Q7CgoKdHlwZWRlZiB1bnNpZ25lZCBpbnQgX19zb2NrbGVuX3Q7
CgoKCgojIDEgIi91c3IvaW5jbHVkZS9iaXRzL3B0aHJlYWR0eXBlcy5oIiAxIDMKIyAyMyAiL3Vz
ci9pbmNsdWRlL2JpdHMvcHRocmVhZHR5cGVzLmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvYml0cy9z
Y2hlZC5oIiAxIDMKIyA2OCAiL3Vzci9pbmNsdWRlL2JpdHMvc2NoZWQuaCIgMwpzdHJ1Y3QgX19z
Y2hlZF9wYXJhbQogIHsKICAgIGludCBfX3NjaGVkX3ByaW9yaXR5OwogIH07CiMgMjQgIi91c3Iv
aW5jbHVkZS9iaXRzL3B0aHJlYWR0eXBlcy5oIiAyIDMKCgpzdHJ1Y3QgX3B0aHJlYWRfZmFzdGxv
Y2sKewogIGxvbmcgaW50IF9fc3RhdHVzOwogIGludCBfX3NwaW5sb2NrOwoKfTsKCgoKdHlwZWRl
ZiBzdHJ1Y3QgX3B0aHJlYWRfZGVzY3Jfc3RydWN0ICpfcHRocmVhZF9kZXNjcjsKCgoKCgp0eXBl
ZGVmIHN0cnVjdCBfX3B0aHJlYWRfYXR0cl9zCnsKICBpbnQgX19kZXRhY2hzdGF0ZTsKICBpbnQg
X19zY2hlZHBvbGljeTsKICBzdHJ1Y3QgX19zY2hlZF9wYXJhbSBfX3NjaGVkcGFyYW07CiAgaW50
IF9faW5oZXJpdHNjaGVkOwogIGludCBfX3Njb3BlOwogIHNpemVfdCBfX2d1YXJkc2l6ZTsKICBp
bnQgX19zdGFja2FkZHJfc2V0OwogIHZvaWQgKl9fc3RhY2thZGRyOwogIHNpemVfdCBfX3N0YWNr
c2l6ZTsKfSBwdGhyZWFkX2F0dHJfdDsKCgoKdHlwZWRlZiBzdHJ1Y3QKewogIHN0cnVjdCBfcHRo
cmVhZF9mYXN0bG9jayBfX2NfbG9jazsKICBfcHRocmVhZF9kZXNjciBfX2Nfd2FpdGluZzsKfSBw
dGhyZWFkX2NvbmRfdDsKCgoKdHlwZWRlZiBzdHJ1Y3QKewogIGludCBfX2R1bW15Owp9IHB0aHJl
YWRfY29uZGF0dHJfdDsKCgp0eXBlZGVmIHVuc2lnbmVkIGludCBwdGhyZWFkX2tleV90OwoKCgoK
CnR5cGVkZWYgc3RydWN0CnsKICBpbnQgX19tX3Jlc2VydmVkOwogIGludCBfX21fY291bnQ7CiAg
X3B0aHJlYWRfZGVzY3IgX19tX293bmVyOwogIGludCBfX21fa2luZDsKICBzdHJ1Y3QgX3B0aHJl
YWRfZmFzdGxvY2sgX19tX2xvY2s7Cn0gcHRocmVhZF9tdXRleF90OwoKCgp0eXBlZGVmIHN0cnVj
dAp7CiAgaW50IF9fbXV0ZXhraW5kOwp9IHB0aHJlYWRfbXV0ZXhhdHRyX3Q7CgoKCnR5cGVkZWYg
aW50IHB0aHJlYWRfb25jZV90OwojIDE0MCAiL3Vzci9pbmNsdWRlL2JpdHMvcHRocmVhZHR5cGVz
LmgiIDMKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCBwdGhyZWFkX3Q7CiMgMTQ0ICIvdXNyL2lu
Y2x1ZGUvYml0cy90eXBlcy5oIiAyIDMKIyA0MCAiL3Vzci9pbmNsdWRlL2JpdHMvdGltZS5oIiAy
IDMKZXh0ZXJuIGxvbmcgaW50IF9fc3lzY29uZiAoaW50KTsKIyA0MyAiL3Vzci9pbmNsdWRlL3Rp
bWUuaCIgMiAzCiMgNTkgIi91c3IvaW5jbHVkZS90aW1lLmgiIDMKdHlwZWRlZiBfX2Nsb2NrX3Qg
Y2xvY2tfdDsKIyA3MCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMwp0eXBlZGVmIF9fdGltZV90IHRp
bWVfdDsKIyA4MiAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMwp0eXBlZGVmIF9fY2xvY2tpZF90IGNs
b2NraWRfdDsKIyA5NCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMwp0eXBlZGVmIF9fdGltZXJfdCB0
aW1lcl90OwojIDEwNiAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMwpzdHJ1Y3QgdGltZXNwZWMKICB7
CiAgICBfX3RpbWVfdCB0dl9zZWM7CiAgICBsb25nIGludCB0dl9uc2VjOwogIH07CgoKCgoKCgpz
dHJ1Y3QgdG0KewogIGludCB0bV9zZWM7CiAgaW50IHRtX21pbjsKICBpbnQgdG1faG91cjsKICBp
bnQgdG1fbWRheTsKICBpbnQgdG1fbW9uOwogIGludCB0bV95ZWFyOwogIGludCB0bV93ZGF5Owog
IGludCB0bV95ZGF5OwogIGludCB0bV9pc2RzdDsKCgogIGxvbmcgaW50IHRtX2dtdG9mZjsKICBf
X2NvbnN0IGNoYXIgKnRtX3pvbmU7CgoKCgp9OwoKCgoKc3RydWN0IGl0aW1lcnNwZWMKICB7CiAg
ICBzdHJ1Y3QgdGltZXNwZWMgaXRfaW50ZXJ2YWw7CiAgICBzdHJ1Y3QgdGltZXNwZWMgaXRfdmFs
dWU7CiAgfTsKCgpzdHJ1Y3Qgc2lnZXZlbnQ7CiMgMTYzICIvdXNyL2luY2x1ZGUvdGltZS5oIiAz
CmV4dGVybiBjbG9ja190IGNsb2NrICh2b2lkKSA7CgoKZXh0ZXJuIHRpbWVfdCB0aW1lICh0aW1l
X3QgKl9fdGltZXIpIDsKCgpleHRlcm4gZG91YmxlIGRpZmZ0aW1lICh0aW1lX3QgX190aW1lMSwg
dGltZV90IF9fdGltZTApCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwoKCmV4dGVy
biB0aW1lX3QgbWt0aW1lIChzdHJ1Y3QgdG0gKl9fdHApIDsKCgoKCgpleHRlcm4gc2l6ZV90IHN0
cmZ0aW1lIChjaGFyICpfX3Jlc3RyaWN0IF9fcywgc2l6ZV90IF9fbWF4c2l6ZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LAogICAgICAg
ICAgICAgICAgICAgICAgICBfX2NvbnN0IHN0cnVjdCB0bSAqX19yZXN0cmljdCBfX3RwKSA7CiMg
MTk0ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzCmV4dGVybiBzdHJ1Y3QgdG0gKmdtdGltZSAoX19j
b25zdCB0aW1lX3QgKl9fdGltZXIpIDsKCgoKZXh0ZXJuIHN0cnVjdCB0bSAqbG9jYWx0aW1lIChf
X2NvbnN0IHRpbWVfdCAqX190aW1lcikgOwoKCgoKZXh0ZXJuIHN0cnVjdCB0bSAqZ210aW1lX3Ig
KF9fY29uc3QgdGltZV90ICpfX3Jlc3RyaWN0IF9fdGltZXIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdHJ1Y3QgdG0gKl9fcmVzdHJpY3QgX190cCkgOwoKCgpleHRlcm4gc3RydWN0IHRt
ICpsb2NhbHRpbWVfciAoX19jb25zdCB0aW1lX3QgKl9fcmVzdHJpY3QgX190aW1lciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0bSAqX19yZXN0cmljdCBfX3RwKSA7CgoK
CgpleHRlcm4gY2hhciAqYXNjdGltZSAoX19jb25zdCBzdHJ1Y3QgdG0gKl9fdHApIDsKCgpleHRl
cm4gY2hhciAqY3RpbWUgKF9fY29uc3QgdGltZV90ICpfX3RpbWVyKSA7CgoKCgoKCmV4dGVybiBj
aGFyICphc2N0aW1lX3IgKF9fY29uc3Qgc3RydWN0IHRtICpfX3Jlc3RyaWN0IF9fdHAsCiAgICAg
ICAgICAgICAgICAgICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYpIDsKCgpleHRlcm4gY2hh
ciAqY3RpbWVfciAoX19jb25zdCB0aW1lX3QgKl9fcmVzdHJpY3QgX190aW1lciwKICAgICAgICAg
ICAgICAgICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYpIDsKCgoKCmV4dGVybiBjaGFyICpf
X3R6bmFtZVsyXTsKZXh0ZXJuIGludCBfX2RheWxpZ2h0OwpleHRlcm4gbG9uZyBpbnQgX190aW1l
em9uZTsKCgoKCmV4dGVybiBjaGFyICp0em5hbWVbMl07CgoKCmV4dGVybiB2b2lkIHR6c2V0ICh2
b2lkKSA7CgoKCmV4dGVybiBpbnQgZGF5bGlnaHQ7CmV4dGVybiBsb25nIGludCB0aW1lem9uZTsK
CgoKCgpleHRlcm4gaW50IHN0aW1lIChfX2NvbnN0IHRpbWVfdCAqX193aGVuKSA7CiMgMjcxICIv
dXNyL2luY2x1ZGUvdGltZS5oIiAzCmV4dGVybiB0aW1lX3QgdGltZWdtIChzdHJ1Y3QgdG0gKl9f
dHApIDsKCgpleHRlcm4gdGltZV90IHRpbWVsb2NhbCAoc3RydWN0IHRtICpfX3RwKSA7CgoKZXh0
ZXJuIGludCBkeXNpemUgKGludCBfX3llYXIpIF9fYXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsK
CgoKCgpleHRlcm4gaW50IG5hbm9zbGVlcCAoX19jb25zdCBzdHJ1Y3QgdGltZXNwZWMgKl9fcmVx
dWVzdGVkX3RpbWUsCiAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGltZXNwZWMgKl9fcmVt
YWluaW5nKSA7CgoKCmV4dGVybiBpbnQgY2xvY2tfZ2V0cmVzIChjbG9ja2lkX3QgX19jbG9ja19p
ZCwgc3RydWN0IHRpbWVzcGVjICpfX3JlcykgOwoKCmV4dGVybiBpbnQgY2xvY2tfZ2V0dGltZSAo
Y2xvY2tpZF90IF9fY2xvY2tfaWQsIHN0cnVjdCB0aW1lc3BlYyAqX190cCkgOwoKCmV4dGVybiBp
bnQgY2xvY2tfc2V0dGltZSAoY2xvY2tpZF90IF9fY2xvY2tfaWQsIF9fY29uc3Qgc3RydWN0IHRp
bWVzcGVjICpfX3RwKQogICAgIDsKIyAzMDkgIi91c3IvaW5jbHVkZS90aW1lLmgiIDMKZXh0ZXJu
IGludCB0aW1lcl9jcmVhdGUgKGNsb2NraWRfdCBfX2Nsb2NrX2lkLAogICAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0IHNpZ2V2ZW50ICpfX3Jlc3RyaWN0IF9fZXZwLAogICAgICAgICAgICAg
ICAgICAgICAgICAgdGltZXJfdCAqX19yZXN0cmljdCBfX3RpbWVyaWQpIDsKCgpleHRlcm4gaW50
IHRpbWVyX2RlbGV0ZSAodGltZXJfdCBfX3RpbWVyaWQpIDsKCgpleHRlcm4gaW50IHRpbWVyX3Nl
dHRpbWUgKHRpbWVyX3QgX190aW1lcmlkLCBpbnQgX19mbGFncywKICAgICAgICAgICAgICAgICAg
ICAgICAgICBfX2NvbnN0IHN0cnVjdCBpdGltZXJzcGVjICpfX3Jlc3RyaWN0IF9fdmFsdWUsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGl0aW1lcnNwZWMgKl9fcmVzdHJpY3QgX19v
dmFsdWUpIDsKCgpleHRlcm4gaW50IHRpbWVyX2dldHRpbWUgKHRpbWVyX3QgX190aW1lcmlkLCBz
dHJ1Y3QgaXRpbWVyc3BlYyAqX192YWx1ZSkKICAgICA7CgoKZXh0ZXJuIGludCB0aW1lcl9nZXRv
dmVycnVuICh0aW1lcl90IF9fdGltZXJpZCkgOwojIDM2MiAiL3Vzci9pbmNsdWRlL3RpbWUuaCIg
MwoKIyAyOCAic3JjL3VuaXgvb3NkX2NwdS5oIiAyCiMgNDMgInNyYy91bml4L29zZF9jcHUuaCIK
dHlwZWRlZiBzaWduZWQgY2hhciBJTlQ4Owp0eXBlZGVmIHNpZ25lZCBzaG9ydCBJTlQxNjsKdHlw
ZWRlZiBzaWduZWQgaW50IElOVDMyOwp0eXBlZGVmIHNpZ25lZCBsb25nIGxvbmcgSU5UNjQ7Cgp0
eXBlZGVmIHVuc2lnbmVkIGNoYXIgVUlOVDg7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgVUlOVDE2
Owp0eXBlZGVmIHVuc2lnbmVkIGludCBVSU5UMzI7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25n
IFVJTlQ2NDsKIyA4MSAic3JjL3VuaXgvb3NkX2NwdS5oIgp0eXBlZGVmIHVuaW9uIHsKCiAgICAg
ICAgc3RydWN0IHsgVUlOVDggbCxoLGgyLGgzOyB9IGI7CiAgICAgICAgc3RydWN0IHsgVUlOVDE2
IGwsaDsgfSB3OwoKCgoKICAgICAgICBVSU5UMzIgZDsKfSBQQUlSOwojIDU0ICJzcmMvZHJpdmVy
LmgiIDIKIyAxICJzcmMvbWVtb3J5LmgiIDEKIyAxMyAic3JjL21lbW9yeS5oIgojIDEgIi91c3Iv
bG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjEvaW5jbHVkZS9z
dGRkZWYuaCIgMSAzCiMgMTQ3ICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1w
Yy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkZGVmLmgiIDMKdHlwZWRlZiBpbnQgcHRyZGlmZl90
OwojIDI5NCAiL3Vzci9sb2NhbC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251
LzMuMS9pbmNsdWRlL3N0ZGRlZi5oIiAzCnR5cGVkZWYgbG9uZyBpbnQgd2NoYXJfdDsKIyAxNCAi
c3JjL21lbW9yeS5oIiAyCiMgNDYgInNyYy9tZW1vcnkuaCIKdHlwZWRlZiBVSU5UOCBkYXRhOF90
Owp0eXBlZGVmIFVJTlQxNiBkYXRhMTZfdDsKdHlwZWRlZiBVSU5UMzIgZGF0YTMyX3Q7CnR5cGVk
ZWYgVUlOVDMyIG9mZnNfdDsKCgp0eXBlZGVmIGRhdGE4X3QgKCpyZWFkOF9oYW5kbGVyKSAoX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwp0eXBlZGVmIHZvaWQgKCp3
cml0ZThfaGFuZGxlcikgKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0
LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdHlwZWRlZiBkYXRh
MTZfdCAoKnJlYWQxNl9oYW5kbGVyKSAoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNf
dCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7
CnR5cGVkZWYgdm9pZCAoKndyaXRlMTZfaGFuZGxlcikoX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBk
YXRhLCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp0eXBl
ZGVmIGRhdGEzMl90ICgqcmVhZDMyX2hhbmRsZXIpIChfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGEzMl90IG1l
bV9tYXNrKTsKdHlwZWRlZiB2b2lkICgqd3JpdGUzMl9oYW5kbGVyKShfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRh
dGEzMl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMzJfdCBtZW1fbWFz
ayk7CnR5cGVkZWYgb2Zmc190ICgqb3BiYXNlX2hhbmRsZXIpIChfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgb2Zmc190IGFkZHJlc3MpOwoKCnR5cGVkZWYgcmVhZDhfaGFuZGxlciBtZW1fcmVh
ZF9oYW5kbGVyOwp0eXBlZGVmIHdyaXRlOF9oYW5kbGVyIG1lbV93cml0ZV9oYW5kbGVyOwp0eXBl
ZGVmIHJlYWQxNl9oYW5kbGVyIG1lbV9yZWFkMTZfaGFuZGxlcjsKdHlwZWRlZiB3cml0ZTE2X2hh
bmRsZXIgbWVtX3dyaXRlMTZfaGFuZGxlcjsKdHlwZWRlZiByZWFkMzJfaGFuZGxlciBtZW1fcmVh
ZDMyX2hhbmRsZXI7CnR5cGVkZWYgd3JpdGUzMl9oYW5kbGVyIG1lbV93cml0ZTMyX2hhbmRsZXI7
CgoKdHlwZWRlZiByZWFkOF9oYW5kbGVyIHBvcnRfcmVhZF9oYW5kbGVyOwp0eXBlZGVmIHdyaXRl
OF9oYW5kbGVyIHBvcnRfd3JpdGVfaGFuZGxlcjsKdHlwZWRlZiByZWFkMTZfaGFuZGxlciBwb3J0
X3JlYWQxNl9oYW5kbGVyOwp0eXBlZGVmIHdyaXRlMTZfaGFuZGxlciBwb3J0X3dyaXRlMTZfaGFu
ZGxlcjsKdHlwZWRlZiByZWFkMzJfaGFuZGxlciBwb3J0X3JlYWQzMl9oYW5kbGVyOwp0eXBlZGVm
IHdyaXRlMzJfaGFuZGxlciBwb3J0X3dyaXRlMzJfaGFuZGxlcjsKCgpzdHJ1Y3QgRXh0TWVtb3J5
CnsKICAgICAgICBvZmZzX3Qgc3RhcnQsIGVuZDsKICAgICAgICBVSU5UOCByZWdpb247CiAgICBV
SU5UOCAqIGRhdGE7Cn07CiMgNDI1ICJzcmMvbWVtb3J5LmgiCnN0cnVjdCBNZW1vcnlfUmVhZEFk
ZHJlc3MKewogICAgICAgIG9mZnNfdCBzdGFydCwgZW5kOwogICAgICAgIG1lbV9yZWFkX2hhbmRs
ZXIgaGFuZGxlcjsKfTsKCnN0cnVjdCBNZW1vcnlfUmVhZEFkZHJlc3MxNgp7CiAgICAgICAgb2Zm
c190IHN0YXJ0LCBlbmQ7CiAgICAgICAgbWVtX3JlYWQxNl9oYW5kbGVyIGhhbmRsZXI7Cn07Cgpz
dHJ1Y3QgTWVtb3J5X1JlYWRBZGRyZXNzMzIKewogICAgICAgIG9mZnNfdCBzdGFydCwgZW5kOwog
ICAgICAgIG1lbV9yZWFkMzJfaGFuZGxlciBoYW5kbGVyOwp9OwoKCnN0cnVjdCBNZW1vcnlfV3Jp
dGVBZGRyZXNzCnsKICAgIG9mZnNfdCBzdGFydCwgZW5kOwogICAgICAgIG1lbV93cml0ZV9oYW5k
bGVyIGhhbmRsZXI7CiAgICAgICAgZGF0YThfdCAqKiBiYXNlOwogICAgc2l6ZV90ICogc2l6ZTsK
fTsKCnN0cnVjdCBNZW1vcnlfV3JpdGVBZGRyZXNzMTYKewogICAgb2Zmc190IHN0YXJ0LCBlbmQ7
CiAgICAgICAgbWVtX3dyaXRlMTZfaGFuZGxlciBoYW5kbGVyOwogICAgICAgIGRhdGExNl90ICoq
IGJhc2U7CiAgICBzaXplX3QgKiBzaXplOwp9OwoKc3RydWN0IE1lbW9yeV9Xcml0ZUFkZHJlc3Mz
Mgp7CiAgICBvZmZzX3Qgc3RhcnQsIGVuZDsKICAgICAgICBtZW1fd3JpdGUzMl9oYW5kbGVyIGhh
bmRsZXI7CiAgICAgICAgZGF0YTMyX3QgKiogYmFzZTsKICAgICAgICBzaXplX3QgKiBzaXplOwp9
OwoKCnN0cnVjdCBJT19SZWFkUG9ydAp7CiAgICAgICAgb2Zmc190IHN0YXJ0LCBlbmQ7CiAgICAg
ICAgcG9ydF9yZWFkX2hhbmRsZXIgaGFuZGxlcjsKfTsKCnN0cnVjdCBJT19SZWFkUG9ydDE2CnsK
ICAgICAgICBvZmZzX3Qgc3RhcnQsIGVuZDsKICAgICAgICBwb3J0X3JlYWQxNl9oYW5kbGVyIGhh
bmRsZXI7Cn07CgpzdHJ1Y3QgSU9fUmVhZFBvcnQzMgp7CiAgICAgICAgb2Zmc190IHN0YXJ0LCBl
bmQ7CiAgICAgICAgcG9ydF9yZWFkMzJfaGFuZGxlciBoYW5kbGVyOwp9OwoKCnN0cnVjdCBJT19X
cml0ZVBvcnQKewogICAgICAgIG9mZnNfdCBzdGFydCwgZW5kOwogICAgICAgIHBvcnRfd3JpdGVf
aGFuZGxlciBoYW5kbGVyOwp9OwoKc3RydWN0IElPX1dyaXRlUG9ydDE2CnsKICAgICAgICBvZmZz
X3Qgc3RhcnQsIGVuZDsKICAgICAgICBwb3J0X3dyaXRlMTZfaGFuZGxlciBoYW5kbGVyOwp9OwoK
c3RydWN0IElPX1dyaXRlUG9ydDMyCnsKICAgICAgICBvZmZzX3Qgc3RhcnQsIGVuZDsKICAgICAg
ICBwb3J0X3dyaXRlMzJfaGFuZGxlciBoYW5kbGVyOwp9OwojIDY4NiAic3JjL21lbW9yeS5oIgpk
YXRhOF90IGNwdV9yZWFkbWVtMTYgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZW1lbTE2
IChvZmZzX3Qgb2Zmc2V0LCBkYXRhOF90IGRhdGEpOyB2b2lkIGNwdV9zZXRvcGJhc2UxNiAob2Zm
c190IHBjKTsKZGF0YThfdCBjcHVfcmVhZG1lbTE3IChvZmZzX3Qgb2Zmc2V0KTsgdm9pZCBjcHVf
d3JpdGVtZW0xNyAob2Zmc190IG9mZnNldCwgZGF0YThfdCBkYXRhKTsgdm9pZCBjcHVfc2V0b3Bi
YXNlMTcgKG9mZnNfdCBwYyk7CmRhdGE4X3QgY3B1X3JlYWRtZW0yMCAob2Zmc190IG9mZnNldCk7
IHZvaWQgY3B1X3dyaXRlbWVtMjAgKG9mZnNfdCBvZmZzZXQsIGRhdGE4X3QgZGF0YSk7IHZvaWQg
Y3B1X3NldG9wYmFzZTIwIChvZmZzX3QgcGMpOwpkYXRhOF90IGNwdV9yZWFkbWVtMjEgKG9mZnNf
dCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZW1lbTIxIChvZmZzX3Qgb2Zmc2V0LCBkYXRhOF90IGRh
dGEpOyB2b2lkIGNwdV9zZXRvcGJhc2UyMSAob2Zmc190IHBjKTsKZGF0YThfdCBjcHVfcmVhZG1l
bTI0IChvZmZzX3Qgb2Zmc2V0KTsgdm9pZCBjcHVfd3JpdGVtZW0yNCAob2Zmc190IG9mZnNldCwg
ZGF0YThfdCBkYXRhKTsgdm9pZCBjcHVfc2V0b3BiYXNlMjQgKG9mZnNfdCBwYyk7CgoKCgoKCgpk
YXRhOF90IGNwdV9yZWFkbWVtMTZiZXcgKG9mZnNfdCBvZmZzZXQpOyBkYXRhMTZfdCBjcHVfcmVh
ZG1lbTE2YmV3X3dvcmQgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZW1lbTE2YmV3IChv
ZmZzX3Qgb2Zmc2V0LCBkYXRhOF90IGRhdGEpOyB2b2lkIGNwdV93cml0ZW1lbTE2YmV3X3dvcmQg
KG9mZnNfdCBvZmZzZXQsIGRhdGExNl90IGRhdGEpOyB2b2lkIGNwdV9zZXRvcGJhc2UxNmJldyAo
b2Zmc190IHBjKTsKZGF0YThfdCBjcHVfcmVhZG1lbTI0YmV3IChvZmZzX3Qgb2Zmc2V0KTsgZGF0
YTE2X3QgY3B1X3JlYWRtZW0yNGJld193b3JkIChvZmZzX3Qgb2Zmc2V0KTsgdm9pZCBjcHVfd3Jp
dGVtZW0yNGJldyAob2Zmc190IG9mZnNldCwgZGF0YThfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVt
ZW0yNGJld193b3JkIChvZmZzX3Qgb2Zmc2V0LCBkYXRhMTZfdCBkYXRhKTsgdm9pZCBjcHVfc2V0
b3BiYXNlMjRiZXcgKG9mZnNfdCBwYyk7CmRhdGE4X3QgY3B1X3JlYWRtZW0zMmJldyAob2Zmc190
IG9mZnNldCk7IGRhdGExNl90IGNwdV9yZWFkbWVtMzJiZXdfd29yZCAob2Zmc190IG9mZnNldCk7
IHZvaWQgY3B1X3dyaXRlbWVtMzJiZXcgKG9mZnNfdCBvZmZzZXQsIGRhdGE4X3QgZGF0YSk7IHZv
aWQgY3B1X3dyaXRlbWVtMzJiZXdfd29yZCAob2Zmc190IG9mZnNldCwgZGF0YTE2X3QgZGF0YSk7
IHZvaWQgY3B1X3NldG9wYmFzZTMyYmV3IChvZmZzX3QgcGMpOwoKCgoKCmRhdGE4X3QgY3B1X3Jl
YWRtZW0xNmxldyAob2Zmc190IG9mZnNldCk7IGRhdGExNl90IGNwdV9yZWFkbWVtMTZsZXdfd29y
ZCAob2Zmc190IG9mZnNldCk7IHZvaWQgY3B1X3dyaXRlbWVtMTZsZXcgKG9mZnNfdCBvZmZzZXQs
IGRhdGE4X3QgZGF0YSk7IHZvaWQgY3B1X3dyaXRlbWVtMTZsZXdfd29yZCAob2Zmc190IG9mZnNl
dCwgZGF0YTE2X3QgZGF0YSk7IHZvaWQgY3B1X3NldG9wYmFzZTE2bGV3IChvZmZzX3QgcGMpOwpk
YXRhOF90IGNwdV9yZWFkbWVtMTdsZXcgKG9mZnNfdCBvZmZzZXQpOyBkYXRhMTZfdCBjcHVfcmVh
ZG1lbTE3bGV3X3dvcmQgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZW1lbTE3bGV3IChv
ZmZzX3Qgb2Zmc2V0LCBkYXRhOF90IGRhdGEpOyB2b2lkIGNwdV93cml0ZW1lbTE3bGV3X3dvcmQg
KG9mZnNfdCBvZmZzZXQsIGRhdGExNl90IGRhdGEpOyB2b2lkIGNwdV9zZXRvcGJhc2UxN2xldyAo
b2Zmc190IHBjKTsKZGF0YThfdCBjcHVfcmVhZG1lbTI0bGV3IChvZmZzX3Qgb2Zmc2V0KTsgZGF0
YTE2X3QgY3B1X3JlYWRtZW0yNGxld193b3JkIChvZmZzX3Qgb2Zmc2V0KTsgdm9pZCBjcHVfd3Jp
dGVtZW0yNGxldyAob2Zmc190IG9mZnNldCwgZGF0YThfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVt
ZW0yNGxld193b3JkIChvZmZzX3Qgb2Zmc2V0LCBkYXRhMTZfdCBkYXRhKTsgdm9pZCBjcHVfc2V0
b3BiYXNlMjRsZXcgKG9mZnNfdCBwYyk7CmRhdGE4X3QgY3B1X3JlYWRtZW0yOWxldyAob2Zmc190
IG9mZnNldCk7IGRhdGExNl90IGNwdV9yZWFkbWVtMjlsZXdfd29yZCAob2Zmc190IG9mZnNldCk7
IHZvaWQgY3B1X3dyaXRlbWVtMjlsZXcgKG9mZnNfdCBvZmZzZXQsIGRhdGE4X3QgZGF0YSk7IHZv
aWQgY3B1X3dyaXRlbWVtMjlsZXdfd29yZCAob2Zmc190IG9mZnNldCwgZGF0YTE2X3QgZGF0YSk7
IHZvaWQgY3B1X3NldG9wYmFzZTI5bGV3IChvZmZzX3QgcGMpOwpkYXRhOF90IGNwdV9yZWFkbWVt
MzJsZXcgKG9mZnNfdCBvZmZzZXQpOyBkYXRhMTZfdCBjcHVfcmVhZG1lbTMybGV3X3dvcmQgKG9m
ZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZW1lbTMybGV3IChvZmZzX3Qgb2Zmc2V0LCBkYXRh
OF90IGRhdGEpOyB2b2lkIGNwdV93cml0ZW1lbTMybGV3X3dvcmQgKG9mZnNfdCBvZmZzZXQsIGRh
dGExNl90IGRhdGEpOyB2b2lkIGNwdV9zZXRvcGJhc2UzMmxldyAob2Zmc190IHBjKTsKCgoKCgoK
CmRhdGE4X3QgY3B1X3JlYWRtZW0yNGJlZHcgKG9mZnNfdCBvZmZzZXQpOyBkYXRhMTZfdCBjcHVf
cmVhZG1lbTI0YmVkd193b3JkIChvZmZzX3Qgb2Zmc2V0KTsgZGF0YTMyX3QgY3B1X3JlYWRtZW0y
NGJlZHdfZHdvcmQgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZW1lbTI0YmVkdyAob2Zm
c190IG9mZnNldCwgZGF0YThfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVtZW0yNGJlZHdfd29yZCAo
b2Zmc190IG9mZnNldCwgZGF0YTE2X3QgZGF0YSk7IHZvaWQgY3B1X3dyaXRlbWVtMjRiZWR3X2R3
b3JkKG9mZnNfdCBvZmZzZXQsIGRhdGEzMl90IGRhdGEpOyB2b2lkIGNwdV9zZXRvcGJhc2UyNGJl
ZHcgKG9mZnNfdCBwYyk7CmRhdGE4X3QgY3B1X3JlYWRtZW0yOWJlZHcgKG9mZnNfdCBvZmZzZXQp
OyBkYXRhMTZfdCBjcHVfcmVhZG1lbTI5YmVkd193b3JkIChvZmZzX3Qgb2Zmc2V0KTsgZGF0YTMy
X3QgY3B1X3JlYWRtZW0yOWJlZHdfZHdvcmQgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0
ZW1lbTI5YmVkdyAob2Zmc190IG9mZnNldCwgZGF0YThfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVt
ZW0yOWJlZHdfd29yZCAob2Zmc190IG9mZnNldCwgZGF0YTE2X3QgZGF0YSk7IHZvaWQgY3B1X3dy
aXRlbWVtMjliZWR3X2R3b3JkKG9mZnNfdCBvZmZzZXQsIGRhdGEzMl90IGRhdGEpOyB2b2lkIGNw
dV9zZXRvcGJhc2UyOWJlZHcgKG9mZnNfdCBwYyk7CmRhdGE4X3QgY3B1X3JlYWRtZW0zMmJlZHcg
KG9mZnNfdCBvZmZzZXQpOyBkYXRhMTZfdCBjcHVfcmVhZG1lbTMyYmVkd193b3JkIChvZmZzX3Qg
b2Zmc2V0KTsgZGF0YTMyX3QgY3B1X3JlYWRtZW0zMmJlZHdfZHdvcmQgKG9mZnNfdCBvZmZzZXQp
OyB2b2lkIGNwdV93cml0ZW1lbTMyYmVkdyAob2Zmc190IG9mZnNldCwgZGF0YThfdCBkYXRhKTsg
dm9pZCBjcHVfd3JpdGVtZW0zMmJlZHdfd29yZCAob2Zmc190IG9mZnNldCwgZGF0YTE2X3QgZGF0
YSk7IHZvaWQgY3B1X3dyaXRlbWVtMzJiZWR3X2R3b3JkKG9mZnNfdCBvZmZzZXQsIGRhdGEzMl90
IGRhdGEpOyB2b2lkIGNwdV9zZXRvcGJhc2UzMmJlZHcgKG9mZnNfdCBwYyk7CgoKCgoKZGF0YThf
dCBjcHVfcmVhZG1lbTI2bGVkdyAob2Zmc190IG9mZnNldCk7IGRhdGExNl90IGNwdV9yZWFkbWVt
MjZsZWR3X3dvcmQgKG9mZnNfdCBvZmZzZXQpOyBkYXRhMzJfdCBjcHVfcmVhZG1lbTI2bGVkd19k
d29yZCAob2Zmc190IG9mZnNldCk7IHZvaWQgY3B1X3dyaXRlbWVtMjZsZWR3IChvZmZzX3Qgb2Zm
c2V0LCBkYXRhOF90IGRhdGEpOyB2b2lkIGNwdV93cml0ZW1lbTI2bGVkd193b3JkIChvZmZzX3Qg
b2Zmc2V0LCBkYXRhMTZfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVtZW0yNmxlZHdfZHdvcmQob2Zm
c190IG9mZnNldCwgZGF0YTMyX3QgZGF0YSk7IHZvaWQgY3B1X3NldG9wYmFzZTI2bGVkdyAob2Zm
c190IHBjKTsKZGF0YThfdCBjcHVfcmVhZG1lbTI5bGVkdyAob2Zmc190IG9mZnNldCk7IGRhdGEx
Nl90IGNwdV9yZWFkbWVtMjlsZWR3X3dvcmQgKG9mZnNfdCBvZmZzZXQpOyBkYXRhMzJfdCBjcHVf
cmVhZG1lbTI5bGVkd19kd29yZCAob2Zmc190IG9mZnNldCk7IHZvaWQgY3B1X3dyaXRlbWVtMjls
ZWR3IChvZmZzX3Qgb2Zmc2V0LCBkYXRhOF90IGRhdGEpOyB2b2lkIGNwdV93cml0ZW1lbTI5bGVk
d193b3JkIChvZmZzX3Qgb2Zmc2V0LCBkYXRhMTZfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVtZW0y
OWxlZHdfZHdvcmQob2Zmc190IG9mZnNldCwgZGF0YTMyX3QgZGF0YSk7IHZvaWQgY3B1X3NldG9w
YmFzZTI5bGVkdyAob2Zmc190IHBjKTsKZGF0YThfdCBjcHVfcmVhZG1lbTMybGVkdyAob2Zmc190
IG9mZnNldCk7IGRhdGExNl90IGNwdV9yZWFkbWVtMzJsZWR3X3dvcmQgKG9mZnNfdCBvZmZzZXQp
OyBkYXRhMzJfdCBjcHVfcmVhZG1lbTMybGVkd19kd29yZCAob2Zmc190IG9mZnNldCk7IHZvaWQg
Y3B1X3dyaXRlbWVtMzJsZWR3IChvZmZzX3Qgb2Zmc2V0LCBkYXRhOF90IGRhdGEpOyB2b2lkIGNw
dV93cml0ZW1lbTMybGVkd193b3JkIChvZmZzX3Qgb2Zmc2V0LCBkYXRhMTZfdCBkYXRhKTsgdm9p
ZCBjcHVfd3JpdGVtZW0zMmxlZHdfZHdvcmQob2Zmc190IG9mZnNldCwgZGF0YTMyX3QgZGF0YSk7
IHZvaWQgY3B1X3NldG9wYmFzZTMybGVkdyAob2Zmc190IHBjKTsKCgoKCgpkYXRhOF90IGNwdV9y
ZWFkbWVtMThiZWR3IChvZmZzX3Qgb2Zmc2V0KTsgZGF0YTE2X3QgY3B1X3JlYWRtZW0xOGJlZHdf
d29yZCAob2Zmc190IG9mZnNldCk7IGRhdGEzMl90IGNwdV9yZWFkbWVtMThiZWR3X2R3b3JkIChv
ZmZzX3Qgb2Zmc2V0KTsgdm9pZCBjcHVfd3JpdGVtZW0xOGJlZHcgKG9mZnNfdCBvZmZzZXQsIGRh
dGE4X3QgZGF0YSk7IHZvaWQgY3B1X3dyaXRlbWVtMThiZWR3X3dvcmQgKG9mZnNfdCBvZmZzZXQs
IGRhdGExNl90IGRhdGEpOyB2b2lkIGNwdV93cml0ZW1lbTE4YmVkd19kd29yZChvZmZzX3Qgb2Zm
c2V0LCBkYXRhMzJfdCBkYXRhKTsgdm9pZCBjcHVfc2V0b3BiYXNlMThiZWR3IChvZmZzX3QgcGMp
OwojIDc0NSAic3JjL21lbW9yeS5oIgpkYXRhOF90IGNwdV9yZWFkcG9ydDE2IChvZmZzX3Qgb2Zm
c2V0KTsgdm9pZCBjcHVfd3JpdGVwb3J0MTYgKG9mZnNfdCBvZmZzZXQsIGRhdGE4X3QgZGF0YSk7
CgoKZGF0YThfdCBjcHVfcmVhZHBvcnQxNmJldyAob2Zmc190IG9mZnNldCk7IGRhdGExNl90IGNw
dV9yZWFkcG9ydDE2YmV3X3dvcmQgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZXBvcnQx
NmJldyAob2Zmc190IG9mZnNldCwgZGF0YThfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVwb3J0MTZi
ZXdfd29yZCAob2Zmc190IG9mZnNldCwgZGF0YTE2X3QgZGF0YSk7CgoKZGF0YThfdCBjcHVfcmVh
ZHBvcnQxNmxldyAob2Zmc190IG9mZnNldCk7IGRhdGExNl90IGNwdV9yZWFkcG9ydDE2bGV3X3dv
cmQgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZXBvcnQxNmxldyAob2Zmc190IG9mZnNl
dCwgZGF0YThfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVwb3J0MTZsZXdfd29yZCAob2Zmc190IG9m
ZnNldCwgZGF0YTE2X3QgZGF0YSk7CmRhdGE4X3QgY3B1X3JlYWRwb3J0MjRsZXcgKG9mZnNfdCBv
ZmZzZXQpOyBkYXRhMTZfdCBjcHVfcmVhZHBvcnQyNGxld193b3JkIChvZmZzX3Qgb2Zmc2V0KTsg
dm9pZCBjcHVfd3JpdGVwb3J0MjRsZXcgKG9mZnNfdCBvZmZzZXQsIGRhdGE4X3QgZGF0YSk7IHZv
aWQgY3B1X3dyaXRlcG9ydDI0bGV3X3dvcmQgKG9mZnNfdCBvZmZzZXQsIGRhdGExNl90IGRhdGEp
OwoKCmRhdGE4X3QgY3B1X3JlYWRwb3J0MTZiZWR3IChvZmZzX3Qgb2Zmc2V0KTsgZGF0YTE2X3Qg
Y3B1X3JlYWRwb3J0MTZiZWR3X3dvcmQgKG9mZnNfdCBvZmZzZXQpOyBkYXRhMzJfdCBjcHVfcmVh
ZHBvcnQxNmJlZHdfZHdvcmQgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZXBvcnQxNmJl
ZHcgKG9mZnNfdCBvZmZzZXQsIGRhdGE4X3QgZGF0YSk7IHZvaWQgY3B1X3dyaXRlcG9ydDE2YmVk
d193b3JkIChvZmZzX3Qgb2Zmc2V0LCBkYXRhMTZfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVwb3J0
MTZiZWR3X2R3b3JkKG9mZnNfdCBvZmZzZXQsIGRhdGEzMl90IGRhdGEpOwoKCmRhdGE4X3QgY3B1
X3JlYWRwb3J0MTZsZWR3IChvZmZzX3Qgb2Zmc2V0KTsgZGF0YTE2X3QgY3B1X3JlYWRwb3J0MTZs
ZWR3X3dvcmQgKG9mZnNfdCBvZmZzZXQpOyBkYXRhMzJfdCBjcHVfcmVhZHBvcnQxNmxlZHdfZHdv
cmQgKG9mZnNfdCBvZmZzZXQpOyB2b2lkIGNwdV93cml0ZXBvcnQxNmxlZHcgKG9mZnNfdCBvZmZz
ZXQsIGRhdGE4X3QgZGF0YSk7IHZvaWQgY3B1X3dyaXRlcG9ydDE2bGVkd193b3JkIChvZmZzX3Qg
b2Zmc2V0LCBkYXRhMTZfdCBkYXRhKTsgdm9pZCBjcHVfd3JpdGVwb3J0MTZsZWR3X2R3b3JkKG9m
ZnNfdCBvZmZzZXQsIGRhdGEzMl90IGRhdGEpOwpkYXRhOF90IGNwdV9yZWFkcG9ydDI0bGVkdyAo
b2Zmc190IG9mZnNldCk7IGRhdGExNl90IGNwdV9yZWFkcG9ydDI0bGVkd193b3JkIChvZmZzX3Qg
b2Zmc2V0KTsgZGF0YTMyX3QgY3B1X3JlYWRwb3J0MjRsZWR3X2R3b3JkIChvZmZzX3Qgb2Zmc2V0
KTsgdm9pZCBjcHVfd3JpdGVwb3J0MjRsZWR3IChvZmZzX3Qgb2Zmc2V0LCBkYXRhOF90IGRhdGEp
OyB2b2lkIGNwdV93cml0ZXBvcnQyNGxlZHdfd29yZCAob2Zmc190IG9mZnNldCwgZGF0YTE2X3Qg
ZGF0YSk7IHZvaWQgY3B1X3dyaXRlcG9ydDI0bGVkd19kd29yZChvZmZzX3Qgb2Zmc2V0LCBkYXRh
MzJfdCBkYXRhKTsKIyA3NjkgInNyYy9tZW1vcnkuaCIKaW50IG1lbW9yeV9pbml0KHZvaWQpOwp2
b2lkIG1lbW9yeV9zaHV0ZG93bih2b2lkKTsKdm9pZCBtZW1vcnlfc2V0X2NvbnRleHQoaW50IGFj
dGl2ZWNwdSk7CnZvaWQgbWVtb3J5X3NldF91bm1hcF92YWx1ZShkYXRhMzJfdCB2YWx1ZSk7CgoK
dm9pZCBtZW1vcnlfc2V0X2JhbmtoYW5kbGVyX3IoaW50IGJhbmssIG9mZnNfdCBvZmZzZXQsIG1l
bV9yZWFkX2hhbmRsZXIgaGFuZGxlcik7CnZvaWQgbWVtb3J5X3NldF9iYW5raGFuZGxlcl93KGlu
dCBiYW5rLCBvZmZzX3Qgb2Zmc2V0LCBtZW1fd3JpdGVfaGFuZGxlciBoYW5kbGVyKTsKCgpvcGJh
c2VfaGFuZGxlciBtZW1vcnlfc2V0X29wYmFzZV9oYW5kbGVyKGludCBjcHVudW0sIG9wYmFzZV9o
YW5kbGVyIGZ1bmN0aW9uKTsKCgp2b2lkIG1lbW9yeV9zZXRfb3Bjb2RlX2Jhc2UoaW50IGNwdW51
bSwgdm9pZCAqYmFzZSk7CnZvaWQgbWVtb3J5X3NldF9lbmNyeXB0ZWRfb3Bjb2RlX3JhbmdlKGlu
dCBjcHVudW0sIG9mZnNfdCBtaW5fYWRkcmVzcyxvZmZzX3QgbWF4X2FkZHJlc3MpOwpleHRlcm4g
b2Zmc190IGVuY3J5cHRlZF9vcGNvZGVfc3RhcnRbXSxlbmNyeXB0ZWRfb3Bjb2RlX2VuZFtdOwoK
CnZvaWQgKiBtZW1vcnlfZmluZF9iYXNlKGludCBjcHVudW0sIG9mZnNfdCBvZmZzZXQpOwoKCmRh
dGE4X3QgKiBpbnN0YWxsX21lbV9yZWFkX2hhbmRsZXIgKGludCBjcHVudW0sIG9mZnNfdCBzdGFy
dCwgb2Zmc190IGVuZCwgbWVtX3JlYWRfaGFuZGxlciBoYW5kbGVyKTsKZGF0YTE2X3QgKiBpbnN0
YWxsX21lbV9yZWFkMTZfaGFuZGxlciAoaW50IGNwdW51bSwgb2Zmc190IHN0YXJ0LCBvZmZzX3Qg
ZW5kLCBtZW1fcmVhZDE2X2hhbmRsZXIgaGFuZGxlcik7CmRhdGEzMl90ICogaW5zdGFsbF9tZW1f
cmVhZDMyX2hhbmRsZXIgKGludCBjcHVudW0sIG9mZnNfdCBzdGFydCwgb2Zmc190IGVuZCwgbWVt
X3JlYWQzMl9oYW5kbGVyIGhhbmRsZXIpOwpkYXRhOF90ICogaW5zdGFsbF9tZW1fd3JpdGVfaGFu
ZGxlciAoaW50IGNwdW51bSwgb2Zmc190IHN0YXJ0LCBvZmZzX3QgZW5kLCBtZW1fd3JpdGVfaGFu
ZGxlciBoYW5kbGVyKTsKZGF0YTE2X3QgKiBpbnN0YWxsX21lbV93cml0ZTE2X2hhbmRsZXIgKGlu
dCBjcHVudW0sIG9mZnNfdCBzdGFydCwgb2Zmc190IGVuZCwgbWVtX3dyaXRlMTZfaGFuZGxlciBo
YW5kbGVyKTsKZGF0YTMyX3QgKiBpbnN0YWxsX21lbV93cml0ZTMyX2hhbmRsZXIgKGludCBjcHVu
dW0sIG9mZnNfdCBzdGFydCwgb2Zmc190IGVuZCwgbWVtX3dyaXRlMzJfaGFuZGxlciBoYW5kbGVy
KTsKCgp2b2lkIGluc3RhbGxfcG9ydF9yZWFkX2hhbmRsZXIgKGludCBjcHVudW0sIG9mZnNfdCBz
dGFydCwgb2Zmc190IGVuZCwgcG9ydF9yZWFkX2hhbmRsZXIgaGFuZGxlcik7CnZvaWQgaW5zdGFs
bF9wb3J0X3JlYWQxNl9oYW5kbGVyIChpbnQgY3B1bnVtLCBvZmZzX3Qgc3RhcnQsIG9mZnNfdCBl
bmQsIHBvcnRfcmVhZDE2X2hhbmRsZXIgaGFuZGxlcik7CnZvaWQgaW5zdGFsbF9wb3J0X3JlYWQz
Ml9oYW5kbGVyIChpbnQgY3B1bnVtLCBvZmZzX3Qgc3RhcnQsIG9mZnNfdCBlbmQsIHBvcnRfcmVh
ZDMyX2hhbmRsZXIgaGFuZGxlcik7CnZvaWQgaW5zdGFsbF9wb3J0X3dyaXRlX2hhbmRsZXIgKGlu
dCBjcHVudW0sIG9mZnNfdCBzdGFydCwgb2Zmc190IGVuZCwgcG9ydF93cml0ZV9oYW5kbGVyIGhh
bmRsZXIpOwp2b2lkIGluc3RhbGxfcG9ydF93cml0ZTE2X2hhbmRsZXIoaW50IGNwdW51bSwgb2Zm
c190IHN0YXJ0LCBvZmZzX3QgZW5kLCBwb3J0X3dyaXRlMTZfaGFuZGxlciBoYW5kbGVyKTsKdm9p
ZCBpbnN0YWxsX3BvcnRfd3JpdGUzMl9oYW5kbGVyKGludCBjcHVudW0sIG9mZnNfdCBzdGFydCwg
b2Zmc190IGVuZCwgcG9ydF93cml0ZTMyX2hhbmRsZXIgaGFuZGxlcik7CiMgODEzICJzcmMvbWVt
b3J5LmgiCmV4dGVybiBVSU5UOCBvcGNvZGVfZW50cnk7CmV4dGVybiBVSU5UOCAqIE9QX1JPTTsK
ZXh0ZXJuIFVJTlQ4ICogT1BfUkFNOwpleHRlcm4gVUlOVDggKiBjcHVfYmFua2Jhc2VbXTsKZXh0
ZXJuIFVJTlQ4ICogcmVhZG1lbV9sb29rdXA7CmV4dGVybiBvZmZzX3QgbWVtX2FtYXNrOwpleHRl
cm4gc3RydWN0IEV4dE1lbW9yeSBleHRfbWVtb3J5W107CiMgNTUgInNyYy9kcml2ZXIuaCIgMgoj
IDEgInNyYy9tYW1lZGJnLmgiIDEKCgoKIyAxICJzcmMvZHJpdmVyLmgiIDEKIyA1ICJzcmMvbWFt
ZWRiZy5oIiAyCgoKCgpleHRlcm4gaW50IG1hbWVfZGVidWc7CiMgNTYgInNyYy9kcml2ZXIuaCIg
MgojIDEgInNyYy9vc2RlcGVuZC5oIiAxCgoKCgojIDEgInNyYy9pbnB0cG9ydC5oIiAxCgoKCgoj
IDEgInNyYy9pbnB1dC5oIiAxCgoKCnR5cGVkZWYgdW5zaWduZWQgSW5wdXRDb2RlOwoKc3RydWN0
IEtleWJvYXJkSW5mbwp7CiAgICAgICAgY2hhciAqbmFtZTsKICAgICAgICB1bnNpZ25lZCBjb2Rl
OwogICAgICAgIElucHV0Q29kZSBzdGFuZGFyZGNvZGU7Cn07CgpzdHJ1Y3QgSm95c3RpY2tJbmZv
CnsKICAgICAgICBjaGFyICpuYW1lOwogICAgICAgIHVuc2lnbmVkIGNvZGU7CiAgICAgICAgSW5w
dXRDb2RlIHN0YW5kYXJkY29kZTsKfTsKCmVudW0KewoKICAgICAgICBLRVlDT0RFX0EsIEtFWUNP
REVfQiwgS0VZQ09ERV9DLCBLRVlDT0RFX0QsIEtFWUNPREVfRSwgS0VZQ09ERV9GLAogICAgICAg
IEtFWUNPREVfRywgS0VZQ09ERV9ILCBLRVlDT0RFX0ksIEtFWUNPREVfSiwgS0VZQ09ERV9LLCBL
RVlDT0RFX0wsCiAgICAgICAgS0VZQ09ERV9NLCBLRVlDT0RFX04sIEtFWUNPREVfTywgS0VZQ09E
RV9QLCBLRVlDT0RFX1EsIEtFWUNPREVfUiwKICAgICAgICBLRVlDT0RFX1MsIEtFWUNPREVfVCwg
S0VZQ09ERV9VLCBLRVlDT0RFX1YsIEtFWUNPREVfVywgS0VZQ09ERV9YLAogICAgICAgIEtFWUNP
REVfWSwgS0VZQ09ERV9aLCBLRVlDT0RFXzAsIEtFWUNPREVfMSwgS0VZQ09ERV8yLCBLRVlDT0RF
XzMsCiAgICAgICAgS0VZQ09ERV80LCBLRVlDT0RFXzUsIEtFWUNPREVfNiwgS0VZQ09ERV83LCBL
RVlDT0RFXzgsIEtFWUNPREVfOSwKICAgICAgICBLRVlDT0RFXzBfUEFELCBLRVlDT0RFXzFfUEFE
LCBLRVlDT0RFXzJfUEFELCBLRVlDT0RFXzNfUEFELCBLRVlDT0RFXzRfUEFELAogICAgICAgIEtF
WUNPREVfNV9QQUQsIEtFWUNPREVfNl9QQUQsIEtFWUNPREVfN19QQUQsIEtFWUNPREVfOF9QQUQs
IEtFWUNPREVfOV9QQUQsCiAgICAgICAgS0VZQ09ERV9GMSwgS0VZQ09ERV9GMiwgS0VZQ09ERV9G
MywgS0VZQ09ERV9GNCwgS0VZQ09ERV9GNSwKICAgICAgICBLRVlDT0RFX0Y2LCBLRVlDT0RFX0Y3
LCBLRVlDT0RFX0Y4LCBLRVlDT0RFX0Y5LCBLRVlDT0RFX0YxMCwKICAgICAgICBLRVlDT0RFX0Yx
MSwgS0VZQ09ERV9GMTIsCiAgICAgICAgS0VZQ09ERV9FU0MsIEtFWUNPREVfVElMREUsIEtFWUNP
REVfTUlOVVMsIEtFWUNPREVfRVFVQUxTLCBLRVlDT0RFX0JBQ0tTUEFDRSwKICAgICAgICBLRVlD
T0RFX1RBQiwgS0VZQ09ERV9PUEVOQlJBQ0UsIEtFWUNPREVfQ0xPU0VCUkFDRSwgS0VZQ09ERV9F
TlRFUiwgS0VZQ09ERV9DT0xPTiwKICAgICAgICBLRVlDT0RFX1FVT1RFLCBLRVlDT0RFX0JBQ0tT
TEFTSCwgS0VZQ09ERV9CQUNLU0xBU0gyLCBLRVlDT0RFX0NPTU1BLCBLRVlDT0RFX1NUT1AsCiAg
ICAgICAgS0VZQ09ERV9TTEFTSCwgS0VZQ09ERV9TUEFDRSwgS0VZQ09ERV9JTlNFUlQsIEtFWUNP
REVfREVMLAogICAgICAgIEtFWUNPREVfSE9NRSwgS0VZQ09ERV9FTkQsIEtFWUNPREVfUEdVUCwg
S0VZQ09ERV9QR0ROLCBLRVlDT0RFX0xFRlQsCiAgICAgICAgS0VZQ09ERV9SSUdIVCwgS0VZQ09E
RV9VUCwgS0VZQ09ERV9ET1dOLAogICAgICAgIEtFWUNPREVfU0xBU0hfUEFELCBLRVlDT0RFX0FT
VEVSSVNLLCBLRVlDT0RFX01JTlVTX1BBRCwgS0VZQ09ERV9QTFVTX1BBRCwKICAgICAgICBLRVlD
T0RFX0RFTF9QQUQsIEtFWUNPREVfRU5URVJfUEFELCBLRVlDT0RFX1BSVFNDUiwgS0VZQ09ERV9Q
QVVTRSwKICAgICAgICBLRVlDT0RFX0xTSElGVCwgS0VZQ09ERV9SU0hJRlQsIEtFWUNPREVfTENP
TlRST0wsIEtFWUNPREVfUkNPTlRST0wsCiAgICAgICAgS0VZQ09ERV9MQUxULCBLRVlDT0RFX1JB
TFQsIEtFWUNPREVfU0NSTE9DSywgS0VZQ09ERV9OVU1MT0NLLCBLRVlDT0RFX0NBUFNMT0NLLAog
ICAgICAgIEtFWUNPREVfTFdJTiwgS0VZQ09ERV9SV0lOLCBLRVlDT0RFX01FTlUsCgoKCgogICAg
ICAgIEpPWUNPREVfMV9MRUZULEpPWUNPREVfMV9SSUdIVCxKT1lDT0RFXzFfVVAsSk9ZQ09ERV8x
X0RPV04sCiAgICAgICAgSk9ZQ09ERV8xX0JVVFRPTjEsSk9ZQ09ERV8xX0JVVFRPTjIsSk9ZQ09E
RV8xX0JVVFRPTjMsCiAgICAgICAgSk9ZQ09ERV8xX0JVVFRPTjQsSk9ZQ09ERV8xX0JVVFRPTjUs
Sk9ZQ09ERV8xX0JVVFRPTjYsCiAgICAgICAgSk9ZQ09ERV8xX1NUQVJULCBKT1lDT0RFXzFfU0VM
RUNULAogICAgICAgIEpPWUNPREVfMl9MRUZULEpPWUNPREVfMl9SSUdIVCxKT1lDT0RFXzJfVVAs
Sk9ZQ09ERV8yX0RPV04sCiAgICAgICAgSk9ZQ09ERV8yX0JVVFRPTjEsSk9ZQ09ERV8yX0JVVFRP
TjIsSk9ZQ09ERV8yX0JVVFRPTjMsCiAgICAgICAgSk9ZQ09ERV8yX0JVVFRPTjQsSk9ZQ09ERV8y
X0JVVFRPTjUsSk9ZQ09ERV8yX0JVVFRPTjYsCiAgICAgICAgSk9ZQ09ERV8yX1NUQVJULCBKT1lD
T0RFXzJfU0VMRUNULAogICAgICAgIEpPWUNPREVfM19MRUZULEpPWUNPREVfM19SSUdIVCxKT1lD
T0RFXzNfVVAsSk9ZQ09ERV8zX0RPV04sCiAgICAgICAgSk9ZQ09ERV8zX0JVVFRPTjEsSk9ZQ09E
RV8zX0JVVFRPTjIsSk9ZQ09ERV8zX0JVVFRPTjMsCiAgICAgICAgSk9ZQ09ERV8zX0JVVFRPTjQs
Sk9ZQ09ERV8zX0JVVFRPTjUsSk9ZQ09ERV8zX0JVVFRPTjYsCiAgICAgICAgSk9ZQ09ERV8zX1NU
QVJULCBKT1lDT0RFXzNfU0VMRUNULAogICAgICAgIEpPWUNPREVfNF9MRUZULEpPWUNPREVfNF9S
SUdIVCxKT1lDT0RFXzRfVVAsSk9ZQ09ERV80X0RPV04sCiAgICAgICAgSk9ZQ09ERV80X0JVVFRP
TjEsSk9ZQ09ERV80X0JVVFRPTjIsSk9ZQ09ERV80X0JVVFRPTjMsCiAgICAgICAgSk9ZQ09ERV80
X0JVVFRPTjQsSk9ZQ09ERV80X0JVVFRPTjUsSk9ZQ09ERV80X0JVVFRPTjYsCiAgICAgICAgSk9Z
Q09ERV80X1NUQVJULCBKT1lDT0RFXzRfU0VMRUNULAogICAgICAgIEpPWUNPREVfTU9VU0VfMV9C
VVRUT04xLEpPWUNPREVfTU9VU0VfMV9CVVRUT04yLEpPWUNPREVfTU9VU0VfMV9CVVRUT04zLAoK
CgogICAgICAgIF9fY29kZV9tYXgsCgoKICAgICAgICBDT0RFX05PTkUgPSAweDgwMDAsCiAgICAg
ICAgQ09ERV9PVEhFUiwKICAgICAgICBDT0RFX0RFRkFVTFQsCiAgICAgICAgQ09ERV9QUkVWSU9V
UywKICAgICAgICBDT0RFX05PVCwKICAgICAgICBDT0RFX09SCn07CiMgODkgInNyYy9pbnB1dC5o
IgppbnQgY29kZV9pbml0KHZvaWQpOwp2b2lkIGNvZGVfY2xvc2Uodm9pZCk7CgpJbnB1dENvZGUg
a2V5b3Njb2RlX3RvX2NvZGUodW5zaWduZWQgb3Njb2RlKTsKSW5wdXRDb2RlIGpveW9zY29kZV90
b19jb2RlKHVuc2lnbmVkIG9zY29kZSk7CklucHV0Q29kZSBzYXZlY29kZV90b19jb2RlKHVuc2ln
bmVkIHNhdmVjb2RlKTsKdW5zaWduZWQgY29kZV90b19zYXZlY29kZShJbnB1dENvZGUgY29kZSk7
Cgpjb25zdCBjaGFyICpjb2RlX25hbWUoSW5wdXRDb2RlIGNvZGUpOwppbnQgY29kZV9wcmVzc2Vk
KElucHV0Q29kZSBjb2RlKTsKaW50IGNvZGVfcHJlc3NlZF9tZW1vcnkoSW5wdXRDb2RlIGNvZGUp
OwppbnQgY29kZV9wcmVzc2VkX21lbW9yeV9yZXBlYXQoSW5wdXRDb2RlIGNvZGUsIGludCBzcGVl
ZCk7CklucHV0Q29kZSBjb2RlX3JlYWRfYXN5bmModm9pZCk7CklOVDggY29kZV9yZWFkX2hleF9h
c3luYyh2b2lkKTsKIyAxMTcgInNyYy9pbnB1dC5oIgp0eXBlZGVmIElucHV0Q29kZSBJbnB1dFNl
cVsxNl07CgpzdGF0aWMgX19pbmxpbmVfXyBJbnB1dENvZGUgc2VxX2dldF8xKElucHV0U2VxKiBh
KSB7CiAgICAgICAgcmV0dXJuICgqYSlbMF07Cn0KCnZvaWQgc2VxX3NldF8wKElucHV0U2VxKiBz
ZXEpOwp2b2lkIHNlcV9zZXRfMShJbnB1dFNlcSogc2VxLCBJbnB1dENvZGUgY29kZSk7CnZvaWQg
c2VxX3NldF8yKElucHV0U2VxKiBzZXEsIElucHV0Q29kZSBjb2RlMSwgSW5wdXRDb2RlIGNvZGUy
KTsKdm9pZCBzZXFfc2V0XzMoSW5wdXRTZXEqIHNlcSwgSW5wdXRDb2RlIGNvZGUxLCBJbnB1dENv
ZGUgY29kZTIsIElucHV0Q29kZSBjb2RlMyk7CnZvaWQgc2VxX2NvcHkoSW5wdXRTZXEqIHNlcWRz
dCwgSW5wdXRTZXEqIHNlcXNyYyk7CmludCBzZXFfY21wKElucHV0U2VxKiBzZXExLCBJbnB1dFNl
cSogc2VxMik7CnZvaWQgc2VxX25hbWUoSW5wdXRTZXEqIHNlcSwgY2hhciogYnVmZmVyLCB1bnNp
Z25lZCBtYXgpOwppbnQgc2VxX3ByZXNzZWQoSW5wdXRTZXEqIHNlcSk7CnZvaWQgc2VxX3JlYWRf
YXN5bmNfc3RhcnQodm9pZCk7CmludCBzZXFfcmVhZF9hc3luYyhJbnB1dFNlcSogY29kZSwgaW50
IGZpcnN0KTsKIyAxNDYgInNyYy9pbnB1dC5oIgppbnQgaW5wdXRfdWlfcHJlc3NlZChpbnQgY29k
ZSk7CmludCBpbnB1dF91aV9wcmVzc2VkX3JlcGVhdChpbnQgY29kZSwgaW50IHNwZWVkKTsKIyA2
ICJzcmMvaW5wdHBvcnQuaCIgMgojIDE5ICJzcmMvaW5wdHBvcnQuaCIKc3RydWN0IElucHV0UG9y
dFRpbnkKewogICAgICAgIFVJTlQxNiBtYXNrOwogICAgICAgIFVJTlQxNiBkZWZhdWx0X3ZhbHVl
OwoKICAgICAgICBVSU5UMzIgdHlwZTsKICAgICAgICBjb25zdCBjaGFyICpuYW1lOwp9OwoKc3Ry
dWN0IElucHV0UG9ydAp7CiAgICAgICAgVUlOVDE2IG1hc2s7CiAgICAgICAgVUlOVDE2IGRlZmF1
bHRfdmFsdWU7CgogICAgICAgIFVJTlQzMiB0eXBlOwogICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7
CiAgICAgICAgSW5wdXRTZXEgc2VxOwoKCgoKfTsKCgoKCgplbnVtIHsgSVBUX0VORD0xLElQVF9Q
T1JULAoKICAgICAgICBJUFRfSk9ZU1RJQ0tfVVAsIElQVF9KT1lTVElDS19ET1dOLCBJUFRfSk9Z
U1RJQ0tfTEVGVCwgSVBUX0pPWVNUSUNLX1JJR0hULAoKICAgICAgICBJUFRfSk9ZU1RJQ0tSSUdI
VF9VUCwgSVBUX0pPWVNUSUNLUklHSFRfRE9XTiwgSVBUX0pPWVNUSUNLUklHSFRfTEVGVCwgSVBU
X0pPWVNUSUNLUklHSFRfUklHSFQsCiAgICAgICAgSVBUX0pPWVNUSUNLTEVGVF9VUCwgSVBUX0pP
WVNUSUNLTEVGVF9ET1dOLCBJUFRfSk9ZU1RJQ0tMRUZUX0xFRlQsIElQVF9KT1lTVElDS0xFRlRf
UklHSFQsCiAgICAgICAgSVBUX0JVVFRPTjEsIElQVF9CVVRUT04yLCBJUFRfQlVUVE9OMywgSVBU
X0JVVFRPTjQsCiAgICAgICAgSVBUX0JVVFRPTjUsIElQVF9CVVRUT042LCBJUFRfQlVUVE9ONywg
SVBUX0JVVFRPTjgsIElQVF9CVVRUT045LCBJUFRfQlVUVE9OMTAsCgoKCgogICAgICAgIElQVF9B
TkFMT0dfU1RBUlQsCiAgICAgICAgSVBUX1BBRERMRSwgSVBUX1BBRERMRV9WLAogICAgICAgIElQ
VF9ESUFMLCBJUFRfRElBTF9WLAogICAgICAgIElQVF9UUkFDS0JBTExfWCwgSVBUX1RSQUNLQkFM
TF9ZLAogICAgICAgIElQVF9BRF9TVElDS19YLCBJUFRfQURfU1RJQ0tfWSwKICAgICAgICBJUFRf
UEVEQUwsCiAgICAgICAgSVBUX0FOQUxPR19FTkQsCgogICAgICAgIElQVF9TVEFSVDEsIElQVF9T
VEFSVDIsIElQVF9TVEFSVDMsIElQVF9TVEFSVDQsCiAgICAgICAgSVBUX0NPSU4xLCBJUFRfQ09J
TjIsIElQVF9DT0lOMywgSVBUX0NPSU40LAogICAgICAgIElQVF9TRVJWSUNFMSwgSVBUX1NFUlZJ
Q0UyLCBJUFRfU0VSVklDRTMsIElQVF9TRVJWSUNFNCwKICAgICAgICBJUFRfU0VSVklDRSwgSVBU
X1RJTFQsCiAgICAgICAgSVBUX0RJUFNXSVRDSF9OQU1FLCBJUFRfRElQU1dJVENIX1NFVFRJTkcs
CgoKCiAgICAgICAgSVBUX1ZCTEFOSywKICAgICAgICBJUFRfVU5LTk9XTiwKICAgICAgICBJUFRf
T1NEX1JFU0VSVkVELAogICAgICAgIElQVF9PU0RfMSwKICAgICAgICBJUFRfT1NEXzIsCiAgICAg
ICAgSVBUX09TRF8zLAogICAgICAgIElQVF9PU0RfNCwKICAgICAgICBJUFRfRVhURU5TSU9OLAoK
CgogICAgICAgIElQVF9VSV9DT05GSUdVUkUsCiAgICAgICAgSVBUX1VJX09OX1NDUkVFTl9ESVNQ
TEFZLAogICAgICAgIElQVF9VSV9QQVVTRSwKICAgICAgICBJUFRfVUlfUkVTRVRfTUFDSElORSwK
ICAgICAgICBJUFRfVUlfU0hPV19HRlgsCiAgICAgICAgSVBUX1VJX0ZSQU1FU0tJUF9ERUMsCiAg
ICAgICAgSVBUX1VJX0ZSQU1FU0tJUF9JTkMsCiAgICAgICAgSVBUX1VJX1RIUk9UVExFLAogICAg
ICAgIElQVF9VSV9TSE9XX0ZQUywKICAgICAgICBJUFRfVUlfU05BUFNIT1QsCiAgICAgICAgSVBU
X1VJX1RPR0dMRV9DSEVBVCwKICAgICAgICBJUFRfVUlfVVAsCiAgICAgICAgSVBUX1VJX0RPV04s
CiAgICAgICAgSVBUX1VJX0xFRlQsCiAgICAgICAgSVBUX1VJX1JJR0hULAogICAgICAgIElQVF9V
SV9TRUxFQ1QsCiAgICAgICAgSVBUX1VJX0NBTkNFTCwKICAgICAgICBJUFRfVUlfUEFOX1VQLCBJ
UFRfVUlfUEFOX0RPV04sIElQVF9VSV9QQU5fTEVGVCwgSVBUX1VJX1BBTl9SSUdIVCwKICAgICAg
ICBJUFRfVUlfU0hPV19QUk9GSUxFUiwKICAgICAgICBJUFRfVUlfVE9HR0xFX1VJLAogICAgICAg
IElQVF9VSV9UT0dHTEVfREVCVUcsCiAgICAgICAgSVBUX1VJX1NBVkVfU1RBVEUsCiAgICAgICAg
SVBUX1VJX0xPQURfU1RBVEUsCiAgICAgICAgSVBUX1VJX0FERF9DSEVBVCwKICAgICAgICBJUFRf
VUlfREVMRVRFX0NIRUFULAogICAgICAgIElQVF9VSV9TQVZFX0NIRUFULAogICAgICAgIElQVF9V
SV9XQVRDSF9WQUxVRSwKICAgICAgICBJUFRfVUlfRURJVF9DSEVBVCwKICAgICAgICBfX2lwdF9t
YXgKfTsKIyAyNTEgInNyYy9pbnB0cG9ydC5oIgpleHRlcm4gY2hhciBpcGRuX2RlZmF1bHRzdHJp
bmdzW11bMjBdOwoKCmVudW0gewogICAgICAgIFNUUl9PZmYsCiAgICAgICAgU1RSX09uLAogICAg
ICAgIFNUUl9ObywKICAgICAgICBTVFJfWWVzLAogICAgICAgIFNUUl9MaXZlcywKICAgICAgICBT
VFJfQm9udXNfTGlmZSwKICAgICAgICBTVFJfRGlmZmljdWx0eSwKICAgICAgICBTVFJfRGVtb19T
b3VuZHMsCiAgICAgICAgU1RSX0NvaW5hZ2UsCiAgICAgICAgU1RSX0NvaW5fQSwKICAgICAgICBT
VFJfQ29pbl9CLAogICAgICAgIFNUUl85Q18xQywKICAgICAgICBTVFJfOENfMUMsCiAgICAgICAg
U1RSXzdDXzFDLAogICAgICAgIFNUUl82Q18xQywKICAgICAgICBTVFJfNUNfMUMsCiAgICAgICAg
U1RSXzRDXzFDLAogICAgICAgIFNUUl8zQ18xQywKICAgICAgICBTVFJfOENfM0MsCiAgICAgICAg
U1RSXzRDXzJDLAogICAgICAgIFNUUl8yQ18xQywKICAgICAgICBTVFJfNUNfM0MsCiAgICAgICAg
U1RSXzNDXzJDLAogICAgICAgIFNUUl80Q18zQywKICAgICAgICBTVFJfNENfNEMsCiAgICAgICAg
U1RSXzNDXzNDLAogICAgICAgIFNUUl8yQ18yQywKICAgICAgICBTVFJfMUNfMUMsCiAgICAgICAg
U1RSXzRDXzVDLAogICAgICAgIFNUUl8zQ180QywKICAgICAgICBTVFJfMkNfM0MsCiAgICAgICAg
U1RSXzRDXzdDLAogICAgICAgIFNUUl8yQ180QywKICAgICAgICBTVFJfMUNfMkMsCiAgICAgICAg
U1RSXzJDXzVDLAogICAgICAgIFNUUl8yQ182QywKICAgICAgICBTVFJfMUNfM0MsCiAgICAgICAg
U1RSXzJDXzdDLAogICAgICAgIFNUUl8yQ184QywKICAgICAgICBTVFJfMUNfNEMsCiAgICAgICAg
U1RSXzFDXzVDLAogICAgICAgIFNUUl8xQ182QywKICAgICAgICBTVFJfMUNfN0MsCiAgICAgICAg
U1RSXzFDXzhDLAogICAgICAgIFNUUl8xQ185QywKICAgICAgICBTVFJfRnJlZV9QbGF5LAogICAg
ICAgIFNUUl9DYWJpbmV0LAogICAgICAgIFNUUl9VcHJpZ2h0LAogICAgICAgIFNUUl9Db2NrdGFp
bCwKICAgICAgICBTVFJfRmxpcF9TY3JlZW4sCiAgICAgICAgU1RSX1NlcnZpY2VfTW9kZSwKICAg
ICAgICBTVFJfVW51c2VkLAogICAgICAgIFNUUl9Vbmtub3duLAogICAgICAgIFNUUl9UT1RBTAp9
OwoKZW51bSB7IElLVF9TVEQsIElLVF9JUFQsIElLVF9JUFRfRVhULCBJS1RfT1NEX0tFWSwgSUtU
X09TRF9KT1kgfTsKCgoKCgoKaW50IGxvYWRfaW5wdXRfcG9ydF9zZXR0aW5ncyh2b2lkKTsKdm9p
ZCBzYXZlX2lucHV0X3BvcnRfc2V0dGluZ3Modm9pZCk7Cgpjb25zdCBjaGFyICppbnB1dF9wb3J0
X25hbWUoY29uc3Qgc3RydWN0IElucHV0UG9ydCAqaW4pOwpJbnB1dFNlcSogaW5wdXRfcG9ydF90
eXBlX3NlcShpbnQgdHlwZSk7CklucHV0U2VxKiBpbnB1dF9wb3J0X3NlcShjb25zdCBzdHJ1Y3Qg
SW5wdXRQb3J0ICppbik7CgpzdHJ1Y3QgSW5wdXRQb3J0KiBpbnB1dF9wb3J0X2FsbG9jYXRlKGNv
bnN0IHN0cnVjdCBJbnB1dFBvcnRUaW55ICpzcmMpOwp2b2lkIGlucHV0X3BvcnRfZnJlZShzdHJ1
Y3QgSW5wdXRQb3J0KiBkc3QpOwoKCgoKCnZvaWQgdXBkYXRlX2FuYWxvZ19wb3J0KGludCBwb3J0
KTsKdm9pZCB1cGRhdGVfaW5wdXRfcG9ydHModm9pZCk7CnZvaWQgaW5wdXRwb3J0X3ZibGFua19l
bmQodm9pZCk7CgppbnQgcmVhZGlucHV0cG9ydChpbnQgcG9ydCk7CmRhdGE4X3QgaW5wdXRfcG9y
dF8wX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90
IGlucHV0X3BvcnRfMV9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0
KTsKZGF0YThfdCBpbnB1dF9wb3J0XzJfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zm
c190IG9mZnNldCk7CmRhdGE4X3QgaW5wdXRfcG9ydF8zX3IoX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IGlucHV0X3BvcnRfNF9yKF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThfdCBpbnB1dF9wb3J0XzVfcihf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgaW5wdXRf
cG9ydF82X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRh
OF90IGlucHV0X3BvcnRfN19yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zm
c2V0KTsKZGF0YThfdCBpbnB1dF9wb3J0XzhfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCk7CmRhdGE4X3QgaW5wdXRfcG9ydF85X3IoX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IGlucHV0X3BvcnRfMTBfcihfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgaW5wdXRfcG9ydF8x
MV9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThfdCBp
bnB1dF9wb3J0XzEyX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQp
OwpkYXRhOF90IGlucHV0X3BvcnRfMTNfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zm
c190IG9mZnNldCk7CmRhdGE4X3QgaW5wdXRfcG9ydF8xNF9yKF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThfdCBpbnB1dF9wb3J0XzE1X3IoX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IGlucHV0X3BvcnRfMTZf
cihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgaW5w
dXRfcG9ydF8xN19yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsK
ZGF0YThfdCBpbnB1dF9wb3J0XzE4X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNf
dCBvZmZzZXQpOwpkYXRhOF90IGlucHV0X3BvcnRfMTlfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCk7CgpkYXRhMTZfdCBpbnB1dF9wb3J0XzBfd29yZF9yKF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBpbnB1dF9wb3J0XzFfd29yZF9y
KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBpbnB1dF9wb3J0XzJf
d29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBpbnB1dF9w
b3J0XzNfd29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBp
bnB1dF9wb3J0XzRfd29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zm
c2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRh
MTZfdCBpbnB1dF9wb3J0XzVfd29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZz
X3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2sp
OwpkYXRhMTZfdCBpbnB1dF9wb3J0XzZfd29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVt
X21hc2spOwpkYXRhMTZfdCBpbnB1dF9wb3J0Xzdfd29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2
X3QgbWVtX21hc2spOwpkYXRhMTZfdCBpbnB1dF9wb3J0Xzhfd29yZF9yKF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
ZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBpbnB1dF9wb3J0Xzlfd29yZF9yKF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBpbnB1dF9wb3J0XzEwX3dvcmRfcihf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKZGF0YTE2X3QgaW5wdXRfcG9ydF8xMV93
b3JkX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CmRhdGExNl90IGlucHV0X3Bv
cnRfMTJfd29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBp
bnB1dF9wb3J0XzEzX3dvcmRfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9m
ZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKZGF0
YTE2X3QgaW5wdXRfcG9ydF8xNF93b3JkX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9m
ZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFz
ayk7CmRhdGExNl90IGlucHV0X3BvcnRfMTVfd29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3Qg
bWVtX21hc2spOwpkYXRhMTZfdCBpbnB1dF9wb3J0XzE2X3dvcmRfcihfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRh
dGExNl90IG1lbV9tYXNrKTsKZGF0YTE2X3QgaW5wdXRfcG9ydF8xN193b3JkX3IoX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CmRhdGExNl90IGlucHV0X3BvcnRfMThfd29yZF9yKF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBpbnB1dF9wb3J0XzE5X3dv
cmRfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKCnN0cnVjdCBpcGQKewogICAg
ICAgIFVJTlQzMiB0eXBlOwogICAgICAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICAgICAgSW5wdXRT
ZXEgc2VxOwp9OwoKc3RydWN0IGlrCnsKICAgICAgICBjaGFyICpuYW1lOwogICAgICAgIFVJTlQz
MiB0eXBlOwogICAgICAgIFVJTlQzMiB2YWw7Cn07CmV4dGVybiBzdHJ1Y3QgaWsgaW5wdXRfa2V5
d29yZHNbXTsKZXh0ZXJuIHN0cnVjdCBpayAqb3NkX2lucHV0X2tleXdvcmRzOwpleHRlcm4gaW50
IG51bV9pazsKCnZvaWQgc2VxX3NldF9zdHJpbmcoSW5wdXRTZXEqIGEsIGNvbnN0IGNoYXIgKmJ1
Zik7CiMgNiAic3JjL29zZGVwZW5kLmgiIDIKIyAyMyAic3JjL29zZGVwZW5kLmgiCmludCBvc2Rf
aW5pdCh2b2lkKTsKdm9pZCBvc2RfZXhpdCh2b2lkKTsKIyAzNSAic3JjL29zZGVwZW5kLmgiCnN0
cnVjdCBtYW1lX2JpdG1hcDsKIyA1OSAic3JjL29zZGVwZW5kLmgiCmludCBvc2RfY3JlYXRlX2Rp
c3BsYXkoaW50IHdpZHRoLGludCBoZWlnaHQsaW50IGRlcHRoLGludCBmcHMsaW50IGF0dHJpYnV0
ZXMsaW50IG9yaWVudGF0aW9uKTsKdm9pZCBvc2RfY2xvc2VfZGlzcGxheSh2b2lkKTsKIyA3NyAi
c3JjL29zZGVwZW5kLmgiCnZvaWQgb3NkX3NldF92aXNpYmxlX2FyZWEoaW50IG1pbl94LGludCBt
YXhfeCxpbnQgbWluX3ksaW50IG1heF95KTsKIyAxMDMgInNyYy9vc2RlcGVuZC5oIgppbnQgb3Nk
X2FsbG9jYXRlX2NvbG9ycyh1bnNpZ25lZCBpbnQgdG90YWxjb2xvcnMsCiAgICAgICAgICAgICAg
ICBjb25zdCBVSU5UOCAqcGFsZXR0ZSxVSU5UMzIgKnJnYl9jb21wb25lbnRzLAogICAgICAgICAg
ICAgICAgY29uc3QgVUlOVDggKmRlYnVnX3BhbGV0dGUsVUlOVDMyICpkZWJ1Z19wZW5zKTsKdm9p
ZCBvc2RfbW9kaWZ5X3BlbihpbnQgcGVuLHVuc2lnbmVkIGNoYXIgcmVkLCB1bnNpZ25lZCBjaGFy
IGdyZWVuLCB1bnNpZ25lZCBjaGFyIGJsdWUpOwoKdm9pZCBvc2RfbWFya19kaXJ0eShpbnQgeG1p
bixpbnQgeW1pbixpbnQgeG1heCxpbnQgeW1heCk7CiMgMTIwICJzcmMvb3NkZXBlbmQuaCIKaW50
IG9zZF9za2lwX3RoaXNfZnJhbWUodm9pZCk7CiMgMTM1ICJzcmMvb3NkZXBlbmQuaCIKdm9pZCBv
c2RfdXBkYXRlX3ZpZGVvX2FuZF9hdWRpbygKICAgICAgICAgICAgICAgIHN0cnVjdCBtYW1lX2Jp
dG1hcCAqZ2FtZV9iaXRtYXAsc3RydWN0IG1hbWVfYml0bWFwICpkZWJ1Z19iaXRtYXAsaW50IGxl
ZHNfc3RhdHVzKTsKCnZvaWQgb3NkX2RlYnVnZ2VyX2ZvY3VzKGludCBkZWJ1Z2dlcl9oYXNfZm9j
dXMpOwoKdm9pZCBvc2Rfc2V0X2dhbW1hKGZsb2F0IF9nYW1tYSk7CmZsb2F0IG9zZF9nZXRfZ2Ft
bWEodm9pZCk7CnZvaWQgb3NkX3NldF9icmlnaHRuZXNzKGludCBicmlnaHRuZXNzKTsKaW50IG9z
ZF9nZXRfYnJpZ2h0bmVzcyh2b2lkKTsKIyAxNTMgInNyYy9vc2RlcGVuZC5oIgp2b2lkIG9zZF9z
YXZlX3NuYXBzaG90KHN0cnVjdCBtYW1lX2JpdG1hcCAqYml0bWFwKTsKIyAxODIgInNyYy9vc2Rl
cGVuZC5oIgppbnQgb3NkX3N0YXJ0X2F1ZGlvX3N0cmVhbShpbnQgc3RlcmVvKTsKaW50IG9zZF91
cGRhdGVfYXVkaW9fc3RyZWFtKElOVDE2ICpidWZmZXIpOwp2b2lkIG9zZF9zdG9wX2F1ZGlvX3N0
cmVhbSh2b2lkKTsKIyAxOTMgInNyYy9vc2RlcGVuZC5oIgp2b2lkIG9zZF9zZXRfbWFzdGVydm9s
dW1lKGludCBhdHRlbnVhdGlvbik7CmludCBvc2RfZ2V0X21hc3RlcnZvbHVtZSh2b2lkKTsKCnZv
aWQgb3NkX3NvdW5kX2VuYWJsZShpbnQgZW5hYmxlKTsKIyAyMDggInNyYy9vc2RlcGVuZC5oIgpj
b25zdCBzdHJ1Y3QgS2V5Ym9hcmRJbmZvICpvc2RfZ2V0X2tleV9saXN0KHZvaWQpOwoKCgoKCmlu
dCBvc2RfaXNfa2V5X3ByZXNzZWQoaW50IGtleWNvZGUpOwojIDIyNSAic3JjL29zZGVwZW5kLmgi
CmludCBvc2RfcmVhZGtleV91bmljb2RlKGludCBmbHVzaCk7CiMgMjM3ICJzcmMvb3NkZXBlbmQu
aCIKY29uc3Qgc3RydWN0IEpveXN0aWNrSW5mbyAqb3NkX2dldF9qb3lfbGlzdCh2b2lkKTsKCgoK
CgoKaW50IG9zZF9pc19qb3lfcHJlc3NlZChpbnQgam95Y29kZSk7CiMgMjU0ICJzcmMvb3NkZXBl
bmQuaCIKaW50IG9zZF9qb3lzdGlja19uZWVkc19jYWxpYnJhdGlvbiAodm9pZCk7Cgp2b2lkIG9z
ZF9qb3lzdGlja19zdGFydF9jYWxpYnJhdGlvbiAodm9pZCk7CgoKY29uc3QgY2hhciAqb3NkX2pv
eXN0aWNrX2NhbGlicmF0ZV9uZXh0ICh2b2lkKTsKCnZvaWQgb3NkX2pveXN0aWNrX2NhbGlicmF0
ZSAodm9pZCk7Cgp2b2lkIG9zZF9qb3lzdGlja19lbmRfY2FsaWJyYXRpb24gKHZvaWQpOwoKdm9p
ZCBvc2RfdHJha19yZWFkKGludCBwbGF5ZXIsaW50ICpkZWx0YXgsaW50ICpkZWx0YXkpOwoKCnZv
aWQgb3NkX2FuYWxvZ2pveV9yZWFkKGludCBwbGF5ZXIsaW50ICphbmFsb2dfeCwgaW50ICphbmFs
b2dfeSk7CiMgMjgwICJzcmMvb3NkZXBlbmQuaCIKdm9pZCBvc2RfY3VzdG9taXplX2lucHV0cG9y
dF9kZWZhdWx0cyhzdHJ1Y3QgaXBkICpkZWZhdWx0cyk7CiMgMjkwICJzcmMvb3NkZXBlbmQuaCIK
dHlwZWRlZiBzdHJ1Y3QKewogICAgICAgIGNoYXIgbmFtZVs5XTsKICAgICAgICBjaGFyIHZlcnNp
b25bM107CiAgICAgICAgY2hhciByZXNlcnZlZFsyMF07Cn0gSU5QX0hFQURFUjsKCgoKZW51bQp7
CiAgICAgICAgT1NEX0ZJTEVUWVBFX1JPTSA9IDEsCiAgICAgICAgT1NEX0ZJTEVUWVBFX1JPTV9O
T0NSQywKICAgICAgICBPU0RfRklMRVRZUEVfSU1BR0VfUiwKICAgICAgICBPU0RfRklMRVRZUEVf
SU1BR0VfUlcsCiAgICAgICAgT1NEX0ZJTEVUWVBFX0lNQUdFX0RJRkYsCiAgICAgICAgT1NEX0ZJ
TEVUWVBFX1NBTVBMRSwKICAgICAgICBPU0RfRklMRVRZUEVfQVJUV09SSywKICAgICAgICBPU0Rf
RklMRVRZUEVfTlZSQU0sCiAgICAgICAgT1NEX0ZJTEVUWVBFX0hJR0hTQ09SRSwKICAgICAgICBP
U0RfRklMRVRZUEVfSElHSFNDT1JFX0RCLAogICAgICAgIE9TRF9GSUxFVFlQRV9DT05GSUcsCiAg
ICAgICAgT1NEX0ZJTEVUWVBFX0lOUFVUTE9HLAogICAgICAgIE9TRF9GSUxFVFlQRV9TVEFURSwK
ICAgICAgICBPU0RfRklMRVRZUEVfTUVNQ0FSRCwKICAgICAgICBPU0RfRklMRVRZUEVfU0NSRUVO
U0hPVCwKICAgICAgICBPU0RfRklMRVRZUEVfSElTVE9SWSwKICAgICAgICBPU0RfRklMRVRZUEVf
Q0hFQVQsCiAgICAgICAgT1NEX0ZJTEVUWVBFX0xBTkdVQUdFLAogICAgICAgIE9TRF9GSUxFVFlQ
RV9DVFJMUiwKICAgICAgICBPU0RfRklMRVRZUEVfZW5kCn07CgoKCgoKaW50IG9zZF9mYWNjZXNz
KGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZmlsZXR5cGUpOwp2b2lkICpvc2RfZm9wZW4oY29u
c3QgY2hhciAqZ2FtZW5hbWUsY29uc3QgY2hhciAqZmlsZW5hbWUsaW50IGZpbGV0eXBlLGludCBy
ZWFkX29yX3dyaXRlKTsKaW50IG9zZF9mcmVhZCh2b2lkICpmaWxlLHZvaWQgKmJ1ZmZlcixpbnQg
bGVuZ3RoKTsKaW50IG9zZF9md3JpdGUodm9pZCAqZmlsZSxjb25zdCB2b2lkICpidWZmZXIsaW50
IGxlbmd0aCk7CmludCBvc2RfZnJlYWRfc3dhcCh2b2lkICpmaWxlLHZvaWQgKmJ1ZmZlcixpbnQg
bGVuZ3RoKTsKaW50IG9zZF9md3JpdGVfc3dhcCh2b2lkICpmaWxlLGNvbnN0IHZvaWQgKmJ1ZmZl
cixpbnQgbGVuZ3RoKTsKIyAzNDQgInNyYy9vc2RlcGVuZC5oIgppbnQgb3NkX2ZzZWVrKHZvaWQg
KmZpbGUsaW50IG9mZnNldCxpbnQgd2hlbmNlKTsKdm9pZCBvc2RfZmNsb3NlKHZvaWQgKmZpbGUp
OwppbnQgb3NkX2ZjaGVja3N1bShjb25zdCBjaGFyICpnYW1lbmFtZSwgY29uc3QgY2hhciAqZmls
ZW5hbWUsIHVuc2lnbmVkIGludCAqbGVuZ3RoLCB1bnNpZ25lZCBpbnQgKnN1bSk7CmludCBvc2Rf
ZnNpemUodm9pZCAqZmlsZSk7CnVuc2lnbmVkIGludCBvc2RfZmNyYyh2b2lkICpmaWxlKTsKCmlu
dCBvc2RfZmdldGModm9pZCAqZmlsZSk7CmludCBvc2RfdW5nZXRjKGludCBjLCB2b2lkICpmaWxl
KTsKY2hhciAqb3NkX2ZnZXRzKGNoYXIgKnMsIGludCBuLCB2b2lkICpmaWxlKTsKaW50IG9zZF9m
ZW9mKHZvaWQgKmZpbGUpOwppbnQgb3NkX2Z0ZWxsKHZvaWQgKmZpbGUpOwoKCmNoYXIgKm9zZF9i
YXNlbmFtZShjaGFyICpmaWxlbmFtZSk7CgpjaGFyICpvc2RfZGlybmFtZShjaGFyICpmaWxlbmFt
ZSk7CgpjaGFyICpvc2Rfc3RyaXBfZXh0ZW5zaW9uKGNoYXIgKmZpbGVuYW1lKTsKIyAzNzIgInNy
Yy9vc2RlcGVuZC5oIgppbnQgb3NkX2Rpc3BsYXlfbG9hZGluZ19yb21fbWVzc2FnZShjb25zdCBj
aGFyICpuYW1lLGludCBjdXJyZW50LGludCB0b3RhbCk7CgoKCgoKdm9pZCBvc2RfcGF1c2UoaW50
IHBhdXNlZCk7CiMgNDAzICJzcmMvb3NkZXBlbmQuaCIKdm9pZCBsb2dlcnJvcihjb25zdCBjaGFy
ICp0ZXh0LC4uLik7CiMgNTcgInNyYy9kcml2ZXIuaCIgMgojIDEgInNyYy9tYW1lLmgiIDEKIyAx
MyAic3JjL21hbWUuaCIKIyAxICJzcmMvZHJhd2dmeC5oIiAxCiMgMTYgInNyYy9kcmF3Z2Z4Lmgi
CiMgMSAic3JjL3BhbGV0dGUuaCIgMQojIDc3ICJzcmMvcGFsZXR0ZS5oIgp0eXBlZGVmIFVJTlQz
MiBwZW5fdDsKdHlwZWRlZiBVSU5UMzIgcmdiX3Q7CgoKCgoKCmludCBwYWxldHRlX3N0YXJ0KHZv
aWQpOwp2b2lkIHBhbGV0dGVfc3RvcCh2b2lkKTsKaW50IHBhbGV0dGVfaW5pdCh2b2lkKTsKCnZv
aWQgcGFsZXR0ZV9zZXRfY29sb3IocGVuX3QgY29sb3IsVUlOVDggcixVSU5UOCBnLFVJTlQ4IGIp
Owp2b2lkIHBhbGV0dGVfZ2V0X2NvbG9yKHBlbl90IGNvbG9yLFVJTlQ4ICpyLFVJTlQ4ICpnLFVJ
TlQ4ICpiKTsKCgpleHRlcm4gVUlOVDE2ICpwYWxldHRlX3NoYWRvd190YWJsZTsKCgoKCnZvaWQg
cGFsZXR0ZV9zZXRfYnJpZ2h0bmVzcyhwZW5fdCBjb2xvcixkb3VibGUgYnJpZ2h0KTsKdm9pZCBw
YWxldHRlX3NldF9zaGFkb3dfZmFjdG9yKGRvdWJsZSBmYWN0b3IpOwp2b2lkIHBhbGV0dGVfc2V0
X2hpZ2hsaWdodF9mYWN0b3IoZG91YmxlIGZhY3Rvcik7CgoKcGVuX3QgZ2V0X2JsYWNrX3Blbih2
b2lkKTsKCgoKCgpleHRlcm4gZGF0YThfdCAqcGFsZXR0ZXJhbTsKZXh0ZXJuIGRhdGE4X3QgKnBh
bGV0dGVyYW1fMjsKZXh0ZXJuIGRhdGExNl90ICpwYWxldHRlcmFtMTY7CmV4dGVybiBkYXRhMTZf
dCAqcGFsZXR0ZXJhbTE2XzI7CmV4dGVybiBkYXRhMzJfdCAqcGFsZXR0ZXJhbTMyOwoKZGF0YThf
dCBwYWxldHRlcmFtX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQp
OwpkYXRhOF90IHBhbGV0dGVyYW1fMl9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZz
X3Qgb2Zmc2V0KTsKZGF0YTE2X3QgcGFsZXR0ZXJhbTE2X3dvcmRfcihfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRh
dGExNl90IG1lbV9tYXNrKTsKZGF0YTE2X3QgcGFsZXR0ZXJhbTE2XzJfd29yZF9yKF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMzJfdCBwYWxldHRlcmFtMzJfcihfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGEzMl90IG1lbV9tYXNrKTsKCnZvaWQgcGFsZXR0ZXJhbV9CQkdHR1JSUl93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBwYWxldHRlcmFtX1JSUkdHR0JCX3coX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBhbGV0dGVyYW1fQkJCR0dHUlJfdyhfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgcGFsZXR0ZXJhbV9JSUJCR0dSUl93KF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBwYWxldHRlcmFtX0JCR0dSUklJX3coX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBkYXRhOF90IGRhdGEpOwoKCgoKCgoKdm9pZCBwYWxldHRlcmFtX3h4eHhCQkJCR0dH
R1JSUlJfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgcGFsZXR0ZXJhbV94eHh4
QkJCQkdHR0dSUlJSX3N3YXBfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9m
ZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgcGFs
ZXR0ZXJhbV94eHh4QkJCQkdHR0dSUlJSX3NwbGl0MV93KF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBk
YXRhKTsKdm9pZCBwYWxldHRlcmFtX3h4eHhCQkJCR0dHR1JSUlJfc3BsaXQyX3coX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBhbGV0dGVyYW0xNl94eHh4QkJCQkdHR0dSUlJSX3dv
cmRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgcGFsZXR0ZXJhbV94eHh4QkJCQlJSUlJHR0dH
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBhbGV0dGVyYW1feHh4eEJCQkJS
UlJSR0dHR19zd2FwX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQs
IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBhbGV0dGVy
YW1feHh4eEJCQkJSUlJSR0dHR19zcGxpdDFfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7
CnZvaWQgcGFsZXR0ZXJhbV94eHh4QkJCQlJSUlJHR0dHX3NwbGl0Ml93KF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
ZGF0YThfdCBkYXRhKTsKdm9pZCBwYWxldHRlcmFtX3h4eHhSUlJSQkJCQkdHR0dfc3BsaXQxX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBhbGV0dGVyYW1feHh4eFJSUlJCQkJC
R0dHR19zcGxpdDJfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwg
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgcGFsZXR0ZXJh
bV94eHh4UlJSUkdHR0dCQkJCX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBv
ZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBh
bGV0dGVyYW1feHh4eFJSUlJHR0dHQkJCQl9zd2FwX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRh
dGEpOwp2b2lkIHBhbGV0dGVyYW0xNl94eHh4UlJSUkdHR0dCQkJCX3dvcmRfdyhfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBt
ZW1fbWFzayk7CnZvaWQgcGFsZXR0ZXJhbV9SUlJSR0dHR0JCQkJ4eHh4X3N3YXBfdyhfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgcGFsZXR0ZXJhbV9SUlJSR0dHR0JCQkJ4eHh4X3Nw
bGl0MV93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBwYWxldHRlcmFtX1JSUlJH
R0dHQkJCQnh4eHhfc3BsaXQyX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBv
ZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBh
bGV0dGVyYW0xNl9SUlJSR0dHR0JCQkJ4eHh4X3dvcmRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZv
aWQgcGFsZXR0ZXJhbV9CQkJCR0dHR1JSUlJ4eHh4X3N3YXBfdyhfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4
X3QgZGF0YSk7CnZvaWQgcGFsZXR0ZXJhbV9CQkJCR0dHR1JSUlJ4eHh4X3NwbGl0MV93KF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBwYWxldHRlcmFtX0JCQkJHR0dHUlJSUnh4eHhf
c3BsaXQyX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBhbGV0dGVyYW0xNl9C
QkJCR0dHR1JSUlJ4eHh4X3dvcmRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190
IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgcGFsZXR0ZXJh
bV94QkJCQkJHR0dHR1JSUlJSX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBv
ZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBh
bGV0dGVyYW1feEJCQkJCR0dHR0dSUlJSUl9zd2FwX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRh
dGEpOwp2b2lkIHBhbGV0dGVyYW1feEJCQkJCR0dHR0dSUlJSUl9zcGxpdDFfdyhfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgcGFsZXR0ZXJhbV94QkJCQkJHR0dHR1JSUlJSX3NwbGl0
Ml93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBwYWxldHRlcmFtMTZfeEJCQkJC
R0dHR0dSUlJSUl93b3JkX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZz
ZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIHBhbGV0dGVyYW1feFJS
UlJSR0dHR0dCQkJCQl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0
LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBwYWxldHRl
cmFtMTZfeFJSUlJSR0dHR0dCQkJCQl93b3JkX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRh
LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIHBh
bGV0dGVyYW0xNl94R0dHR0dSUlJSUkJCQkJCX3dvcmRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZv
aWQgcGFsZXR0ZXJhbV9SUlJSUkdHR0dHQkJCQkJ4X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRh
dGEpOwp2b2lkIHBhbGV0dGVyYW0xNl9SUlJSUkdHR0dHQkJCQkJ4X3dvcmRfdyhfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBt
ZW1fbWFzayk7CnZvaWQgcGFsZXR0ZXJhbTE2X0lJSUlSUlJSR0dHR0JCQkJfd29yZF93KF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGEx
Nl90IG1lbV9tYXNrKTsKdm9pZCBwYWxldHRlcmFtMTZfUlJSUkdHR0dCQkJCSUlJSV93b3JkX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
ZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIHBhbGV0dGVyYW0xNl94cmdiX3dvcmRfdyhfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZf
dCBtZW1fbWFzayk7CnZvaWQgcGFsZXR0ZXJhbTE2X1JSUlJHR0dHQkJCQlJHQnhfd29yZF93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRh
dGExNl90IG1lbV9tYXNrKTsKCnZvaWQgcGFsZXR0ZV9pbml0X1JSUlJfR0dHR19CQkJCKFVJTlQx
NiAqY29sb3J0YWJsZSwgY29uc3QgVUlOVDggKmNvbG9yX3Byb20pOwojIDE3ICJzcmMvZHJhd2dm
eC5oIiAyCiMgMzIgInNyYy9kcmF3Z2Z4LmgiCnN0cnVjdCBHZnhMYXlvdXQKewogICAgICAgIFVJ
TlQxNiB3aWR0aCxoZWlnaHQ7CiAgICAgICAgVUlOVDMyIHRvdGFsOwogICAgICAgIFVJTlQxNiBw
bGFuZXM7CiAgICAgICAgVUlOVDMyIHBsYW5lb2Zmc2V0WzhdOwogICAgICAgIFVJTlQzMiB4b2Zm
c2V0WzY0XTsKICAgICAgICBVSU5UMzIgeW9mZnNldFs2NF07CiAgICAgICAgVUlOVDE2IGNoYXJp
bmNyZW1lbnQ7Cn07CiMgNTkgInNyYy9kcmF3Z2Z4LmgiCnN0cnVjdCBHZnhFbGVtZW50CnsKICAg
ICAgICBpbnQgd2lkdGgsaGVpZ2h0OwoKICAgICAgICB1bnNpZ25lZCBpbnQgdG90YWxfZWxlbWVu
dHM7CiAgICAgICAgaW50IGNvbG9yX2dyYW51bGFyaXR5OwoKICAgICAgICBwZW5fdCAqY29sb3J0
YWJsZTsKICAgICAgICBpbnQgdG90YWxfY29sb3JzOwogICAgICAgIFVJTlQzMiAqcGVuX3VzYWdl
OwoKCgoKICAgICAgICBVSU5UOCAqZ2Z4ZGF0YTsKICAgICAgICBpbnQgbGluZV9tb2R1bG87CiAg
ICAgICAgaW50IGNoYXJfbW9kdWxvOwogICAgICAgIGludCBmbGFnczsKfTsKCgoKCgoKc3RydWN0
IEdmeERlY29kZUluZm8KewogICAgICAgIGludCBtZW1vcnlfcmVnaW9uOwoKICAgICAgICBpbnQg
c3RhcnQ7CiAgICAgICAgc3RydWN0IEdmeExheW91dCAqZ2Z4bGF5b3V0OwogICAgICAgIGludCBj
b2xvcl9jb2Rlc19zdGFydDsKICAgICAgICBpbnQgdG90YWxfY29sb3JfY29kZXM7Cn07CgoKc3Ry
dWN0IHJlY3RhbmdsZQp7CiAgICAgICAgaW50IG1pbl94LG1heF94OwogICAgICAgIGludCBtaW5f
eSxtYXhfeTsKfTsKCnN0cnVjdCBfYWxwaGFfY2FjaGUgewogICAgICAgIGNvbnN0IFVJTlQ4ICph
bHBoYXM7CiAgICAgICAgY29uc3QgVUlOVDggKmFscGhhZDsKICAgICAgICBVSU5UOCBhbHBoYVsw
eDEwMV1bMHgxMDBdOwp9OwoKZXh0ZXJuIHN0cnVjdCBfYWxwaGFfY2FjaGUgYWxwaGFfY2FjaGU7
CgplbnVtCnsKICAgICAgICBUUkFOU1BBUkVOQ1lfTk9ORSwKICAgICAgICBUUkFOU1BBUkVOQ1lf
Tk9ORV9SQVcsCiAgICAgICAgVFJBTlNQQVJFTkNZX1BFTiwKICAgICAgICBUUkFOU1BBUkVOQ1lf
UEVOX1JBVywKICAgICAgICBUUkFOU1BBUkVOQ1lfUEVOUywKICAgICAgICBUUkFOU1BBUkVOQ1lf
UEVOU19SQVcsCiAgICAgICAgVFJBTlNQQVJFTkNZX0NPTE9SLAogICAgICAgIFRSQU5TUEFSRU5D
WV9QRU5fVEFCTEUsCiAgICAgICAgVFJBTlNQQVJFTkNZX1BFTl9UQUJMRV9SQVcsCiAgICAgICAg
VFJBTlNQQVJFTkNZX0JMRU5ELAogICAgICAgIFRSQU5TUEFSRU5DWV9CTEVORF9SQVcsCiAgICAg
ICAgVFJBTlNQQVJFTkNZX0FMUEhBT05FLAogICAgICAgIFRSQU5TUEFSRU5DWV9BTFBIQSwKCiAg
ICAgICAgVFJBTlNQQVJFTkNZX01PREVTCn07CgoKZXh0ZXJuIFVJTlQ4IGdmeF9kcmF3bW9kZV90
YWJsZVsyNTZdOwplbnVtCnsKICAgICAgICBEUkFXTU9ERV9OT05FLAogICAgICAgIERSQVdNT0RF
X1NPVVJDRSwKICAgICAgICBEUkFXTU9ERV9TSEFET1cKfTsKCgoKZXh0ZXJuIGludCBwZHJhd2dm
eF9zaGFkb3dfbG93cHJpOwoKCnR5cGVkZWYgdm9pZCAoKm1hcmtfZGlydHlfcHJvYykoaW50IHN4
LGludCBzeSxpbnQgZXgsaW50IGV5KTsKZXh0ZXJuIG1hcmtfZGlydHlfcHJvYyBtYXJrX2RpcnR5
OwojIDE1MiAic3JjL2RyYXdnZnguaCIKdm9pZCBkZWNvZGVjaGFyKHN0cnVjdCBHZnhFbGVtZW50
ICpnZngsaW50IG51bSxjb25zdCB1bnNpZ25lZCBjaGFyICpzcmMsY29uc3Qgc3RydWN0IEdmeExh
eW91dCAqZ2wpOwpzdHJ1Y3QgR2Z4RWxlbWVudCAqZGVjb2RlZ2Z4KGNvbnN0IHVuc2lnbmVkIGNo
YXIgKnNyYyxjb25zdCBzdHJ1Y3QgR2Z4TGF5b3V0ICpnbCk7CnZvaWQgc2V0X3BpeGVsX2Z1bmN0
aW9ucyhzdHJ1Y3QgbWFtZV9iaXRtYXAgKmJpdG1hcCk7CnZvaWQgZnJlZWdmeChzdHJ1Y3QgR2Z4
RWxlbWVudCAqZ2Z4KTsKdm9pZCBkcmF3Z2Z4KHN0cnVjdCBtYW1lX2JpdG1hcCAqZGVzdCxjb25z
dCBzdHJ1Y3QgR2Z4RWxlbWVudCAqZ2Z4LAogICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNv
ZGUsdW5zaWduZWQgaW50IGNvbG9yLGludCBmbGlweCxpbnQgZmxpcHksaW50IHN4LGludCBzeSwK
ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCByZWN0YW5nbGUgKmNsaXAsaW50IHRyYW5zcGFy
ZW5jeSxpbnQgdHJhbnNwYXJlbnRfY29sb3IpOwp2b2lkIHBkcmF3Z2Z4KHN0cnVjdCBtYW1lX2Jp
dG1hcCAqZGVzdCxjb25zdCBzdHJ1Y3QgR2Z4RWxlbWVudCAqZ2Z4LAogICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50IGNvZGUsdW5zaWduZWQgaW50IGNvbG9yLGludCBmbGlweCxpbnQgZmxpcHks
aW50IHN4LGludCBzeSwKICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCByZWN0YW5nbGUgKmNs
aXAsaW50IHRyYW5zcGFyZW5jeSxpbnQgdHJhbnNwYXJlbnRfY29sb3IsCiAgICAgICAgICAgICAg
ICBVSU5UMzIgcHJpb3JpdHlfbWFzayk7CnZvaWQgbWRyYXdnZngoc3RydWN0IG1hbWVfYml0bWFw
ICpkZXN0LGNvbnN0IHN0cnVjdCBHZnhFbGVtZW50ICpnZngsCiAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQgY29kZSx1bnNpZ25lZCBpbnQgY29sb3IsaW50IGZsaXB4LGludCBmbGlweSxpbnQg
c3gsaW50IHN5LAogICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJlY3RhbmdsZSAqY2xpcCxp
bnQgdHJhbnNwYXJlbmN5LGludCB0cmFuc3BhcmVudF9jb2xvciwKICAgICAgICAgICAgICAgIFVJ
TlQzMiBwcmlvcml0eV9tYXNrKTsKdm9pZCBjb3B5Yml0bWFwKHN0cnVjdCBtYW1lX2JpdG1hcCAq
ZGVzdCxzdHJ1Y3QgbWFtZV9iaXRtYXAgKnNyYyxpbnQgZmxpcHgsaW50IGZsaXB5LGludCBzeCxp
bnQgc3ksCiAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcmVjdGFuZ2xlICpjbGlwLGludCB0
cmFuc3BhcmVuY3ksaW50IHRyYW5zcGFyZW50X2NvbG9yKTsKdm9pZCBjb3B5Yml0bWFwX3JlbWFw
KHN0cnVjdCBtYW1lX2JpdG1hcCAqZGVzdCxzdHJ1Y3QgbWFtZV9iaXRtYXAgKnNyYyxpbnQgZmxp
cHgsaW50IGZsaXB5LGludCBzeCxpbnQgc3ksCiAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg
cmVjdGFuZ2xlICpjbGlwLGludCB0cmFuc3BhcmVuY3ksaW50IHRyYW5zcGFyZW50X2NvbG9yKTsK
dm9pZCBjb3B5c2Nyb2xsYml0bWFwKHN0cnVjdCBtYW1lX2JpdG1hcCAqZGVzdCxzdHJ1Y3QgbWFt
ZV9iaXRtYXAgKnNyYywKICAgICAgICAgICAgICAgIGludCByb3dzLGNvbnN0IGludCAqcm93c2Ny
b2xsLGludCBjb2xzLGNvbnN0IGludCAqY29sc2Nyb2xsLAogICAgICAgICAgICAgICAgY29uc3Qg
c3RydWN0IHJlY3RhbmdsZSAqY2xpcCxpbnQgdHJhbnNwYXJlbmN5LGludCB0cmFuc3BhcmVudF9j
b2xvcik7CnZvaWQgY29weXNjcm9sbGJpdG1hcF9yZW1hcChzdHJ1Y3QgbWFtZV9iaXRtYXAgKmRl
c3Qsc3RydWN0IG1hbWVfYml0bWFwICpzcmMsCiAgICAgICAgICAgICAgICBpbnQgcm93cyxjb25z
dCBpbnQgKnJvd3Njcm9sbCxpbnQgY29scyxjb25zdCBpbnQgKmNvbHNjcm9sbCwKICAgICAgICAg
ICAgICAgIGNvbnN0IHN0cnVjdCByZWN0YW5nbGUgKmNsaXAsaW50IHRyYW5zcGFyZW5jeSxpbnQg
dHJhbnNwYXJlbnRfY29sb3IpOwp2b2lkIGRyYXdfc2NhbmxpbmU4KHN0cnVjdCBtYW1lX2JpdG1h
cCAqYml0bWFwLGludCB4LGludCB5LGludCBsZW5ndGgsY29uc3QgVUlOVDggKnNyYyxwZW5fdCAq
cGVucyxpbnQgdHJhbnNwYXJlbnRfcGVuKTsKdm9pZCBkcmF3X3NjYW5saW5lMTYoc3RydWN0IG1h
bWVfYml0bWFwICpiaXRtYXAsaW50IHgsaW50IHksaW50IGxlbmd0aCxjb25zdCBVSU5UMTYgKnNy
YyxwZW5fdCAqcGVucyxpbnQgdHJhbnNwYXJlbnRfcGVuKTsKdm9pZCBwZHJhd19zY2FubGluZTgo
c3RydWN0IG1hbWVfYml0bWFwICpiaXRtYXAsaW50IHgsaW50IHksaW50IGxlbmd0aCxjb25zdCBV
SU5UOCAqc3JjLHBlbl90ICpwZW5zLGludCB0cmFuc3BhcmVudF9wZW4sVUlOVDMyIG9yaWVudCxp
bnQgcHJpKTsKdm9pZCBwZHJhd19zY2FubGluZTE2KHN0cnVjdCBtYW1lX2JpdG1hcCAqYml0bWFw
LGludCB4LGludCB5LGludCBsZW5ndGgsY29uc3QgVUlOVDE2ICpzcmMscGVuX3QgKnBlbnMsaW50
IHRyYW5zcGFyZW50X3BlbixVSU5UMzIgb3JpZW50LGludCBwcmkpOwp2b2lkIGV4dHJhY3Rfc2Nh
bmxpbmU4KHN0cnVjdCBtYW1lX2JpdG1hcCAqYml0bWFwLGludCB4LGludCB5LGludCBsZW5ndGgs
VUlOVDggKmRzdCk7CnZvaWQgZXh0cmFjdF9zY2FubGluZTE2KHN0cnVjdCBtYW1lX2JpdG1hcCAq
Yml0bWFwLGludCB4LGludCB5LGludCBsZW5ndGgsVUlOVDE2ICpkc3QpOwoKCgpleHRlcm4gaW50
IGFscGhhX2FjdGl2ZTsKdm9pZCBhbHBoYV9pbml0KHZvaWQpOwpzdGF0aWMgX19pbmxpbmVfXyB2
b2lkIGFscGhhX3NldF9sZXZlbChpbnQgbGV2ZWwpIHsKICAgICAgICBpZihsZXZlbCA9PSAwKQog
ICAgICAgICAgICAgICAgbGV2ZWwgPSAtMTsKICAgICAgICBhbHBoYV9jYWNoZS5hbHBoYXMgPSBh
bHBoYV9jYWNoZS5hbHBoYVtsZXZlbCsxXTsKICAgICAgICBhbHBoYV9jYWNoZS5hbHBoYWQgPSBh
bHBoYV9jYWNoZS5hbHBoYVsyNTUtbGV2ZWxdOwp9CgpzdGF0aWMgX19pbmxpbmVfXyBVSU5UMzIg
YWxwaGFfYmxlbmQxNiggVUlOVDMyIGQsIFVJTlQzMiBzICkKewogICAgICAgIGNvbnN0IFVJTlQ4
ICphbHBoYXMgPSBhbHBoYV9jYWNoZS5hbHBoYXM7CiAgICAgICAgY29uc3QgVUlOVDggKmFscGhh
ZCA9IGFscGhhX2NhY2hlLmFscGhhZDsKICAgICAgICByZXR1cm4gKGFscGhhc1tzICYgMHgxZl0g
fCAoYWxwaGFzWyhzPj41KSAmIDB4MWZdIDw8IDUpIHwgKGFscGhhc1socz4+MTApICYgMHgxZl0g
PDwgMTApKQogICAgICAgICAgICAgICAgKyAoYWxwaGFkW2QgJiAweDFmXSB8IChhbHBoYWRbKGQ+
PjUpICYgMHgxZl0gPDwgNSkgfCAoYWxwaGFkWyhkPj4xMCkgJiAweDFmXSA8PCAxMCkpOwp9CgoK
c3RhdGljIF9faW5saW5lX18gVUlOVDMyIGFscGhhX2JsZW5kMzIoIFVJTlQzMiBkLCBVSU5UMzIg
cyApCnsKICAgICAgICBjb25zdCBVSU5UOCAqYWxwaGFzID0gYWxwaGFfY2FjaGUuYWxwaGFzOwog
ICAgICAgIGNvbnN0IFVJTlQ4ICphbHBoYWQgPSBhbHBoYV9jYWNoZS5hbHBoYWQ7CiAgICAgICAg
cmV0dXJuIChhbHBoYXNbcyAmIDB4ZmZdIHwgKGFscGhhc1socz4+OCkgJiAweGZmXSA8PCA4KSB8
IChhbHBoYXNbKHM+PjE2KSAmIDB4ZmZdIDw8IDE2KSkKICAgICAgICAgICAgICAgICsgKGFscGhh
ZFtkICYgMHhmZl0gfCAoYWxwaGFkWyhkPj44KSAmIDB4ZmZdIDw8IDgpIHwgKGFscGhhZFsoZD4+
MTYpICYgMHhmZl0gPDwgMTYpKTsKfQojIDI0MSAic3JjL2RyYXdnZnguaCIKdm9pZCBjb3B5cm96
Yml0bWFwKHN0cnVjdCBtYW1lX2JpdG1hcCAqZGVzdCxzdHJ1Y3QgbWFtZV9iaXRtYXAgKnNyYywK
ICAgICAgICAgICAgICAgIFVJTlQzMiBzdGFydHgsVUlOVDMyIHN0YXJ0eSxpbnQgaW5jeHgsaW50
IGluY3h5LGludCBpbmN5eCxpbnQgaW5jeXksaW50IHdyYXBhcm91bmQsCiAgICAgICAgICAgICAg
ICBjb25zdCBzdHJ1Y3QgcmVjdGFuZ2xlICpjbGlwLGludCB0cmFuc3BhcmVuY3ksaW50IHRyYW5z
cGFyZW50X2NvbG9yLFVJTlQzMiBwcmlvcml0eSk7Cgp2b2lkIGZpbGxiaXRtYXAoc3RydWN0IG1h
bWVfYml0bWFwICpkZXN0LHBlbl90IHBlbixjb25zdCBzdHJ1Y3QgcmVjdGFuZ2xlICpjbGlwKTsK
dm9pZCBwbG90X3BpeGVsMihzdHJ1Y3QgbWFtZV9iaXRtYXAgKmJpdG1hcDEsc3RydWN0IG1hbWVf
Yml0bWFwICpiaXRtYXAyLGludCB4LGludCB5LHBlbl90IHBlbik7CnZvaWQgZHJhd2dmeHpvb20o
IHN0cnVjdCBtYW1lX2JpdG1hcCAqZGVzdF9ibXAsY29uc3Qgc3RydWN0IEdmeEVsZW1lbnQgKmdm
eCwKICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb2RlLHVuc2lnbmVkIGludCBjb2xvcixp
bnQgZmxpcHgsaW50IGZsaXB5LGludCBzeCxpbnQgc3ksCiAgICAgICAgICAgICAgICBjb25zdCBz
dHJ1Y3QgcmVjdGFuZ2xlICpjbGlwLGludCB0cmFuc3BhcmVuY3ksaW50IHRyYW5zcGFyZW50X2Nv
bG9yLGludCBzY2FsZXgsaW50IHNjYWxleSk7CnZvaWQgcGRyYXdnZnh6b29tKCBzdHJ1Y3QgbWFt
ZV9iaXRtYXAgKmRlc3RfYm1wLGNvbnN0IHN0cnVjdCBHZnhFbGVtZW50ICpnZngsCiAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgY29kZSx1bnNpZ25lZCBpbnQgY29sb3IsaW50IGZsaXB4LGlu
dCBmbGlweSxpbnQgc3gsaW50IHN5LAogICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJlY3Rh
bmdsZSAqY2xpcCxpbnQgdHJhbnNwYXJlbmN5LGludCB0cmFuc3BhcmVudF9jb2xvcixpbnQgc2Nh
bGV4LGludCBzY2FsZXksCiAgICAgICAgICAgICAgICBVSU5UMzIgcHJpb3JpdHlfbWFzayk7CnZv
aWQgbWRyYXdnZnh6b29tKCBzdHJ1Y3QgbWFtZV9iaXRtYXAgKmRlc3RfYm1wLGNvbnN0IHN0cnVj
dCBHZnhFbGVtZW50ICpnZngsCiAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29kZSx1bnNp
Z25lZCBpbnQgY29sb3IsaW50IGZsaXB4LGludCBmbGlweSxpbnQgc3gsaW50IHN5LAogICAgICAg
ICAgICAgICAgY29uc3Qgc3RydWN0IHJlY3RhbmdsZSAqY2xpcCxpbnQgdHJhbnNwYXJlbmN5LGlu
dCB0cmFuc3BhcmVudF9jb2xvcixpbnQgc2NhbGV4LGludCBzY2FsZXksCiAgICAgICAgICAgICAg
ICBVSU5UMzIgcHJpb3JpdHlfbWFzayk7Cgp2b2lkIGRyYXdfY3Jvc3NoYWlyKHN0cnVjdCBtYW1l
X2JpdG1hcCAqYml0bWFwLGludCB4LGludCB5LGNvbnN0IHN0cnVjdCByZWN0YW5nbGUgKmNsaXAp
OwoKc3RhdGljIF9faW5saW5lX18gdm9pZCBzZWN0X3JlY3Qoc3RydWN0IHJlY3RhbmdsZSAqZHN0
LCBjb25zdCBzdHJ1Y3QgcmVjdGFuZ2xlICpzcmMpCnsKICAgICAgICBpZiAoc3JjLT5taW5feCA+
IGRzdC0+bWluX3gpIGRzdC0+bWluX3ggPSBzcmMtPm1pbl94OwogICAgICAgIGlmIChzcmMtPm1h
eF94IDwgZHN0LT5tYXhfeCkgZHN0LT5tYXhfeCA9IHNyYy0+bWF4X3g7CiAgICAgICAgaWYgKHNy
Yy0+bWluX3kgPiBkc3QtPm1pbl95KSBkc3QtPm1pbl95ID0gc3JjLT5taW5feTsKICAgICAgICBp
ZiAoc3JjLT5tYXhfeSA8IGRzdC0+bWF4X3kpIGRzdC0+bWF4X3kgPSBzcmMtPm1heF95Owp9CiMg
MTQgInNyYy9tYW1lLmgiIDIKIyAxICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4
Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMSAzCiMgMzkgIi91c3IvbG9jYWwv
Z2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjEvaW5jbHVkZS9zdGRpby5o
IiAzCgoKCgojIDEgIi91c3IvbG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4
LWdudS8zLjEvaW5jbHVkZS9zdGRkZWYuaCIgMSAzCiMgNDQgIi91c3IvbG9jYWwvZ2NjLTMuMS9s
aWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjEvaW5jbHVkZS9zdGRpby5oIiAyIDMKIyA1
NCAiL3Vzci9sb2NhbC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9p
bmNsdWRlL3N0ZGlvLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgX0lPX0ZJTEUgRklMRTsKIyA2NCAiL3Vz
ci9sb2NhbC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9pbmNsdWRl
L3N0ZGlvLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgX0lPX0ZJTEUgX19GSUxFOwojIDc0ICIvdXNyL2xv
Y2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3Rk
aW8uaCIgMwojIDEgIi91c3IvaW5jbHVkZS9saWJpby5oIiAxIDMKIyAzMiAiL3Vzci9pbmNsdWRl
L2xpYmlvLmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvX0dfY29uZmlnLmgiIDEgMwojIDE0ICIvdXNy
L2luY2x1ZGUvX0dfY29uZmlnLmgiIDMKIyAxICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1s
aWIvaTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMwojIDMyMSAiL3Vz
ci9sb2NhbC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9pbmNsdWRl
L3N0ZGRlZi5oIiAzCnR5cGVkZWYgdW5zaWduZWQgaW50IHdpbnRfdDsKIyAxNSAiL3Vzci9pbmNs
dWRlL19HX2NvbmZpZy5oIiAyIDMKIyAyNCAiL3Vzci9pbmNsdWRlL19HX2NvbmZpZy5oIiAzCiMg
MSAiL3Vzci9pbmNsdWRlL3djaGFyLmgiIDEgMwojIDQ4ICIvdXNyL2luY2x1ZGUvd2NoYXIuaCIg
MwojIDEgIi91c3IvbG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8z
LjEvaW5jbHVkZS9zdGRkZWYuaCIgMSAzCiMgNDkgIi91c3IvaW5jbHVkZS93Y2hhci5oIiAyIDMK
CiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvd2NoYXIuaCIgMSAzCiMgNTEgIi91c3IvaW5jbHVkZS93
Y2hhci5oIiAyIDMKIyA2NyAiL3Vzci9pbmNsdWRlL3djaGFyLmgiIDMKdHlwZWRlZiBzdHJ1Y3QK
ewogIGludCBfX2NvdW50OwogIHVuaW9uCiAgewogICAgd2ludF90IF9fd2NoOwogICAgY2hhciBf
X3djaGJbNF07CiAgfSBfX3ZhbHVlOwp9IF9fbWJzdGF0ZV90OwojIDI1ICIvdXNyL2luY2x1ZGUv
X0dfY29uZmlnLmgiIDIgMwoKdHlwZWRlZiBzdHJ1Y3QKewogIF9fb2ZmX3QgX19wb3M7CiAgX19t
YnN0YXRlX3QgX19zdGF0ZTsKfSBfR19mcG9zX3Q7CnR5cGVkZWYgc3RydWN0CnsKICBfX29mZjY0
X3QgX19wb3M7CiAgX19tYnN0YXRlX3QgX19zdGF0ZTsKfSBfR19mcG9zNjRfdDsKIyA0NCAiL3Vz
ci9pbmNsdWRlL19HX2NvbmZpZy5oIiAzCiMgMSAiL3Vzci9pbmNsdWRlL2djb252LmgiIDEgMwoj
IDI4ICIvdXNyL2luY2x1ZGUvZ2NvbnYuaCIgMwojIDEgIi91c3IvaW5jbHVkZS93Y2hhci5oIiAx
IDMKIyA0OCAiL3Vzci9pbmNsdWRlL3djaGFyLmgiIDMKIyAxICIvdXNyL2xvY2FsL2djYy0zLjEv
bGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMwoj
IDQ5ICIvdXNyL2luY2x1ZGUvd2NoYXIuaCIgMiAzCiMgMjkgIi91c3IvaW5jbHVkZS9nY29udi5o
IiAyIDMKCgojIDEgIi91c3IvbG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4
LWdudS8zLjEvaW5jbHVkZS9zdGRkZWYuaCIgMSAzCiMgMzIgIi91c3IvaW5jbHVkZS9nY29udi5o
IiAyIDMKCgoKCgplbnVtCnsKICBfX0dDT05WX09LID0gMCwKICBfX0dDT05WX05PQ09OViwKICBf
X0dDT05WX05PREIsCiAgX19HQ09OVl9OT01FTSwKCiAgX19HQ09OVl9FTVBUWV9JTlBVVCwKICBf
X0dDT05WX0ZVTExfT1VUUFVULAogIF9fR0NPTlZfSUxMRUdBTF9JTlBVVCwKICBfX0dDT05WX0lO
Q09NUExFVEVfSU5QVVQsCgogIF9fR0NPTlZfSUxMRUdBTF9ERVNDUklQVE9SLAogIF9fR0NPTlZf
SU5URVJOQUxfRVJST1IKfTsKCgoKZW51bQp7CiAgX19HQ09OVl9JU19MQVNUID0gMHgwMDAxLAog
IF9fR0NPTlZfSUdOT1JFX0VSUk9SUyA9IDB4MDAwMgp9OwoKCgpzdHJ1Y3QgX19nY29udl9zdGVw
OwpzdHJ1Y3QgX19nY29udl9zdGVwX2RhdGE7CnN0cnVjdCBfX2djb252X2xvYWRlZF9vYmplY3Q7
CnN0cnVjdCBfX2djb252X3RyYW5zX2RhdGE7CgoKCnR5cGVkZWYgaW50ICgqX19nY29udl9mY3Qp
IChzdHJ1Y3QgX19nY29udl9zdGVwICosIHN0cnVjdCBfX2djb252X3N0ZXBfZGF0YSAqLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX19jb25zdCB1bnNpZ25lZCBjaGFyICoqLCBfX2NvbnN0
IHVuc2lnbmVkIGNoYXIgKiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNo
YXIgKiosIHNpemVfdCAqLCBpbnQsIGludCk7CgoKdHlwZWRlZiBpbnQgKCpfX2djb252X2luaXRf
ZmN0KSAoc3RydWN0IF9fZ2NvbnZfc3RlcCAqKTsKdHlwZWRlZiB2b2lkICgqX19nY29udl9lbmRf
ZmN0KSAoc3RydWN0IF9fZ2NvbnZfc3RlcCAqKTsKCgoKdHlwZWRlZiBpbnQgKCpfX2djb252X3Ry
YW5zX2ZjdCkgKHN0cnVjdCBfX2djb252X3N0ZXAgKiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHN0cnVjdCBfX2djb252X3N0ZXBfZGF0YSAqLCB2b2lkICosCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IHVuc2lnbmVkIGNoYXIgKiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3QgdW5zaWduZWQgY2hhciAqKiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3QgdW5zaWduZWQgY2hhciAqLCB1bnNp
Z25lZCBjaGFyICoqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90ICop
OwoKCnR5cGVkZWYgaW50ICgqX19nY29udl90cmFuc19jb250ZXh0X2ZjdCkgKHZvaWQgKiwgX19j
b25zdCB1bnNpZ25lZCBjaGFyICosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF9fY29uc3QgdW5zaWduZWQgY2hhciAqLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyICosIHVuc2lnbmVkIGNoYXIgKik7CgoKdHlw
ZWRlZiBpbnQgKCpfX2djb252X3RyYW5zX3F1ZXJ5X2ZjdCkgKF9fY29uc3QgY2hhciAqLCBfX2Nv
bnN0IGNoYXIgKioqLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6
ZV90ICopOwoKCnR5cGVkZWYgaW50ICgqX19nY29udl90cmFuc19pbml0X2ZjdCkgKHZvaWQgKios
IGNvbnN0IGNoYXIgKik7CnR5cGVkZWYgdm9pZCAoKl9fZ2NvbnZfdHJhbnNfZW5kX2ZjdCkgKHZv
aWQgKik7CgpzdHJ1Y3QgX19nY29udl90cmFuc19kYXRhCnsKCiAgX19nY29udl90cmFuc19mY3Qg
X190cmFuc19mY3Q7CiAgX19nY29udl90cmFuc19jb250ZXh0X2ZjdCBfX3RyYW5zX2NvbnRleHRf
ZmN0OwogIF9fZ2NvbnZfdHJhbnNfZW5kX2ZjdCBfX3RyYW5zX2VuZF9mY3Q7CiAgdm9pZCAqX19k
YXRhOwogIHN0cnVjdCBfX2djb252X3RyYW5zX2RhdGEgKl9fbmV4dDsKfTsKCgoKc3RydWN0IF9f
Z2NvbnZfc3RlcAp7CiAgc3RydWN0IF9fZ2NvbnZfbG9hZGVkX29iamVjdCAqX19zaGxpYl9oYW5k
bGU7CiAgX19jb25zdCBjaGFyICpfX21vZG5hbWU7CgogIGludCBfX2NvdW50ZXI7CgogIGNoYXIg
Kl9fZnJvbV9uYW1lOwogIGNoYXIgKl9fdG9fbmFtZTsKCiAgX19nY29udl9mY3QgX19mY3Q7CiAg
X19nY29udl9pbml0X2ZjdCBfX2luaXRfZmN0OwogIF9fZ2NvbnZfZW5kX2ZjdCBfX2VuZF9mY3Q7
CgoKCiAgaW50IF9fbWluX25lZWRlZF9mcm9tOwogIGludCBfX21heF9uZWVkZWRfZnJvbTsKICBp
bnQgX19taW5fbmVlZGVkX3RvOwogIGludCBfX21heF9uZWVkZWRfdG87CgoKICBpbnQgX19zdGF0
ZWZ1bDsKCiAgdm9pZCAqX19kYXRhOwp9OwoKCgpzdHJ1Y3QgX19nY29udl9zdGVwX2RhdGEKewog
IHVuc2lnbmVkIGNoYXIgKl9fb3V0YnVmOwogIHVuc2lnbmVkIGNoYXIgKl9fb3V0YnVmZW5kOwoK
CgogIGludCBfX2ZsYWdzOwoKCgogIGludCBfX2ludm9jYXRpb25fY291bnRlcjsKCgoKICBpbnQg
X19pbnRlcm5hbF91c2U7CgogIF9fbWJzdGF0ZV90ICpfX3N0YXRlcDsKICBfX21ic3RhdGVfdCBf
X3N0YXRlOwoKCgogIHN0cnVjdCBfX2djb252X3RyYW5zX2RhdGEgKl9fdHJhbnM7Cn07CgoKCnR5
cGVkZWYgc3RydWN0IF9fZ2NvbnZfaW5mbwp7CiAgc2l6ZV90IF9fbnN0ZXBzOwogIHN0cnVjdCBf
X2djb252X3N0ZXAgKl9fc3RlcHM7CiAgX19leHRlbnNpb25fXyBzdHJ1Y3QgX19nY29udl9zdGVw
X2RhdGEgX19kYXRhIFtdOwp9ICpfX2djb252X3Q7CiMgNDUgIi91c3IvaW5jbHVkZS9fR19jb25m
aWcuaCIgMiAzCnR5cGVkZWYgdW5pb24KewogIHN0cnVjdCBfX2djb252X2luZm8gX19jZDsKICBz
dHJ1Y3QKICB7CiAgICBzdHJ1Y3QgX19nY29udl9pbmZvIF9fY2Q7CiAgICBzdHJ1Y3QgX19nY29u
dl9zdGVwX2RhdGEgX19kYXRhOwogIH0gX19jb21iaW5lZDsKfSBfR19pY29udl90OwoKdHlwZWRl
ZiBpbnQgX0dfaW50MTZfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fSElfXykpKTsKdHlw
ZWRlZiBpbnQgX0dfaW50MzJfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fU0lfXykpKTsK
dHlwZWRlZiB1bnNpZ25lZCBpbnQgX0dfdWludDE2X3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9f
IChfX0hJX18pKSk7CnR5cGVkZWYgdW5zaWduZWQgaW50IF9HX3VpbnQzMl90IF9fYXR0cmlidXRl
X18gKChfX21vZGVfXyAoX19TSV9fKSkpOwojIDMzICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMiAz
CiMgNTMgIi91c3IvaW5jbHVkZS9saWJpby5oIiAzCiMgMSAiL3Vzci9sb2NhbC9nY2MtMy4xL2xp
Yi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9pbmNsdWRlL3N0ZGFyZy5oIiAxIDMKIyA0
MyAiL3Vzci9sb2NhbC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9p
bmNsdWRlL3N0ZGFyZy5oIiAzCnR5cGVkZWYgX19idWlsdGluX3ZhX2xpc3QgX19nbnVjX3ZhX2xp
c3Q7CiMgNTQgIi91c3IvaW5jbHVkZS9saWJpby5oIiAyIDMKIyAxNjAgIi91c3IvaW5jbHVkZS9s
aWJpby5oIiAzCnN0cnVjdCBfSU9fanVtcF90OyBzdHJ1Y3QgX0lPX0ZJTEU7CiMgMTcwICIvdXNy
L2luY2x1ZGUvbGliaW8uaCIgMwp0eXBlZGVmIHZvaWQgX0lPX2xvY2tfdDsKCgoKCgpzdHJ1Y3Qg
X0lPX21hcmtlciB7CiAgc3RydWN0IF9JT19tYXJrZXIgKl9uZXh0OwogIHN0cnVjdCBfSU9fRklM
RSAqX3NidWY7CgoKCiAgaW50IF9wb3M7CiMgMTkzICIvdXNyL2luY2x1ZGUvbGliaW8uaCIgMwp9
OwoKCmVudW0gX19jb2RlY3Z0X3Jlc3VsdAp7CiAgX19jb2RlY3Z0X29rLAogIF9fY29kZWN2dF9w
YXJ0aWFsLAogIF9fY29kZWN2dF9lcnJvciwKICBfX2NvZGVjdnRfbm9jb252Cn07CiMgMjYxICIv
dXNyL2luY2x1ZGUvbGliaW8uaCIgMwpzdHJ1Y3QgX0lPX0ZJTEUgewogIGludCBfZmxhZ3M7CgoK
CgogIGNoYXIqIF9JT19yZWFkX3B0cjsKICBjaGFyKiBfSU9fcmVhZF9lbmQ7CiAgY2hhciogX0lP
X3JlYWRfYmFzZTsKICBjaGFyKiBfSU9fd3JpdGVfYmFzZTsKICBjaGFyKiBfSU9fd3JpdGVfcHRy
OwogIGNoYXIqIF9JT193cml0ZV9lbmQ7CiAgY2hhciogX0lPX2J1Zl9iYXNlOwogIGNoYXIqIF9J
T19idWZfZW5kOwoKICBjaGFyICpfSU9fc2F2ZV9iYXNlOwogIGNoYXIgKl9JT19iYWNrdXBfYmFz
ZTsKICBjaGFyICpfSU9fc2F2ZV9lbmQ7CgogIHN0cnVjdCBfSU9fbWFya2VyICpfbWFya2VyczsK
CiAgc3RydWN0IF9JT19GSUxFICpfY2hhaW47CgogIGludCBfZmlsZW5vOwogIGludCBfYmxrc2l6
ZTsKICBfX29mZl90IF9vbGRfb2Zmc2V0OwoKCgogIHVuc2lnbmVkIHNob3J0IF9jdXJfY29sdW1u
OwogIHNpZ25lZCBjaGFyIF92dGFibGVfb2Zmc2V0OwogIGNoYXIgX3Nob3J0YnVmWzFdOwoKCgog
IF9JT19sb2NrX3QgKl9sb2NrOwojIDMwNSAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMKICBfX29m
ZjY0X3QgX29mZnNldDsKCgoKCgogIHZvaWQgKl9fcGFkMTsKICB2b2lkICpfX3BhZDI7CgogIGlu
dCBfbW9kZTsKCiAgY2hhciBfdW51c2VkMlsxNSAqIHNpemVvZiAoaW50KSAtIDIgKiBzaXplb2Yg
KHZvaWQgKildOwoKfTsKCgp0eXBlZGVmIHN0cnVjdCBfSU9fRklMRSBfSU9fRklMRTsKCgpzdHJ1
Y3QgX0lPX0ZJTEVfcGx1czsKCmV4dGVybiBzdHJ1Y3QgX0lPX0ZJTEVfcGx1cyBfSU9fMl8xX3N0
ZGluXzsKZXh0ZXJuIHN0cnVjdCBfSU9fRklMRV9wbHVzIF9JT18yXzFfc3Rkb3V0XzsKZXh0ZXJu
IHN0cnVjdCBfSU9fRklMRV9wbHVzIF9JT18yXzFfc3RkZXJyXzsKIyAzNDQgIi91c3IvaW5jbHVk
ZS9saWJpby5oIiAzCnR5cGVkZWYgX19zc2l6ZV90IF9faW9fcmVhZF9mbiAodm9pZCAqX19jb29r
aWUsIGNoYXIgKl9fYnVmLCBzaXplX3QgX19uYnl0ZXMpOwoKCgoKCgoKdHlwZWRlZiBfX3NzaXpl
X3QgX19pb193cml0ZV9mbiAodm9pZCAqX19jb29raWUsIF9fY29uc3QgY2hhciAqX19idWYsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBfX24pOwoKCgoKCgoKdHlwZWRl
ZiBpbnQgX19pb19zZWVrX2ZuICh2b2lkICpfX2Nvb2tpZSwgX19vZmY2NF90ICpfX3BvcywgaW50
IF9fdyk7CgoKdHlwZWRlZiBpbnQgX19pb19jbG9zZV9mbiAodm9pZCAqX19jb29raWUpOwojIDM5
NiAiL3Vzci9pbmNsdWRlL2xpYmlvLmgiIDMKZXh0ZXJuIGludCBfX3VuZGVyZmxvdyAoX0lPX0ZJ
TEUgKikgOwpleHRlcm4gaW50IF9fdWZsb3cgKF9JT19GSUxFICopIDsKZXh0ZXJuIGludCBfX292
ZXJmbG93IChfSU9fRklMRSAqLCBpbnQpIDsKZXh0ZXJuIHdpbnRfdCBfX3d1bmRlcmZsb3cgKF9J
T19GSUxFICopIDsKZXh0ZXJuIHdpbnRfdCBfX3d1ZmxvdyAoX0lPX0ZJTEUgKikgOwpleHRlcm4g
d2ludF90IF9fd292ZXJmbG93IChfSU9fRklMRSAqLCB3aW50X3QpIDsKIyA0MjYgIi91c3IvaW5j
bHVkZS9saWJpby5oIiAzCmV4dGVybiBpbnQgX0lPX2dldGMgKF9JT19GSUxFICpfX2ZwKSA7CmV4
dGVybiBpbnQgX0lPX3B1dGMgKGludCBfX2MsIF9JT19GSUxFICpfX2ZwKSA7CmV4dGVybiBpbnQg
X0lPX2Zlb2YgKF9JT19GSUxFICpfX2ZwKSA7CmV4dGVybiBpbnQgX0lPX2ZlcnJvciAoX0lPX0ZJ
TEUgKl9fZnApIDsKCmV4dGVybiBpbnQgX0lPX3BlZWtjX2xvY2tlZCAoX0lPX0ZJTEUgKl9fZnAp
IDsKCgoKCgpleHRlcm4gdm9pZCBfSU9fZmxvY2tmaWxlIChfSU9fRklMRSAqKSA7CmV4dGVybiB2
b2lkIF9JT19mdW5sb2NrZmlsZSAoX0lPX0ZJTEUgKikgOwpleHRlcm4gaW50IF9JT19mdHJ5bG9j
a2ZpbGUgKF9JT19GSUxFICopIDsKIyA0NTYgIi91c3IvaW5jbHVkZS9saWJpby5oIiAzCmV4dGVy
biBpbnQgX0lPX3Zmc2NhbmYgKF9JT19GSUxFICogX19yZXN0cmljdCwgY29uc3QgY2hhciAqIF9f
cmVzdHJpY3QsCiAgICAgICAgICAgICAgICAgICAgICAgIF9fZ251Y192YV9saXN0LCBpbnQgKl9f
cmVzdHJpY3QpIDsKZXh0ZXJuIGludCBfSU9fdmZwcmludGYgKF9JT19GSUxFICpfX3Jlc3RyaWN0
LCBjb25zdCBjaGFyICpfX3Jlc3RyaWN0LAogICAgICAgICAgICAgICAgICAgICAgICAgX19nbnVj
X3ZhX2xpc3QpIDsKZXh0ZXJuIF9fc3NpemVfdCBfSU9fcGFkbiAoX0lPX0ZJTEUgKiwgaW50LCBf
X3NzaXplX3QpIDsKZXh0ZXJuIHNpemVfdCBfSU9fc2dldG4gKF9JT19GSUxFICosIHZvaWQgKiwg
c2l6ZV90KSA7CgpleHRlcm4gX19vZmY2NF90IF9JT19zZWVrb2ZmIChfSU9fRklMRSAqLCBfX29m
ZjY0X3QsIGludCwgaW50KSA7CmV4dGVybiBfX29mZjY0X3QgX0lPX3NlZWtwb3MgKF9JT19GSUxF
ICosIF9fb2ZmNjRfdCwgaW50KSA7CgpleHRlcm4gdm9pZCBfSU9fZnJlZV9iYWNrdXBfYXJlYSAo
X0lPX0ZJTEUgKikgOwojIDc1ICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1w
Yy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMiAzCiMgODkgIi91c3IvbG9jYWwvZ2Nj
LTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjEvaW5jbHVkZS9zdGRpby5oIiAz
CnR5cGVkZWYgX0dfZnBvc190IGZwb3NfdDsKIyAxMzggIi91c3IvbG9jYWwvZ2NjLTMuMS9saWIv
Z2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjEvaW5jbHVkZS9zdGRpby5oIiAzCiMgMSAiL3Vz
ci9pbmNsdWRlL2JpdHMvc3RkaW9fbGltLmgiIDEgMwojIDEzOSAiL3Vzci9sb2NhbC9nY2MtMy4x
L2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9pbmNsdWRlL3N0ZGlvLmgiIDIgMwoK
CgpleHRlcm4gRklMRSAqc3RkaW47CmV4dGVybiBGSUxFICpzdGRvdXQ7CmV4dGVybiBGSUxFICpz
dGRlcnI7CgoKCgoKCmV4dGVybiBpbnQgcmVtb3ZlIChfX2NvbnN0IGNoYXIgKl9fZmlsZW5hbWUp
IDsKCmV4dGVybiBpbnQgcmVuYW1lIChfX2NvbnN0IGNoYXIgKl9fb2xkLCBfX2NvbnN0IGNoYXIg
Kl9fbmV3KSA7CgoKCgpleHRlcm4gRklMRSAqdG1wZmlsZSAodm9pZCkgOwojIDE3MCAiL3Vzci9s
b2NhbC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9pbmNsdWRlL3N0
ZGlvLmgiIDMKZXh0ZXJuIGNoYXIgKnRtcG5hbSAoY2hhciAqX19zKSA7CgoKCgpleHRlcm4gY2hh
ciAqdG1wbmFtX3IgKGNoYXIgKl9fcykgOwojIDE4NyAiL3Vzci9sb2NhbC9nY2MtMy4xL2xpYi9n
Y2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9pbmNsdWRlL3N0ZGlvLmgiIDMKZXh0ZXJuIGNo
YXIgKnRlbXBuYW0gKF9fY29uc3QgY2hhciAqX19kaXIsIF9fY29uc3QgY2hhciAqX19wZngpCiAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKTsKCgoKCmV4dGVybiBpbnQgZmNsb3NlIChG
SUxFICpfX3N0cmVhbSkgOwoKZXh0ZXJuIGludCBmZmx1c2ggKEZJTEUgKl9fc3RyZWFtKSA7CgoK
CmV4dGVybiBpbnQgZmZsdXNoX3VubG9ja2VkIChGSUxFICpfX3N0cmVhbSkgOwojIDIxMCAiL3Vz
ci9sb2NhbC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9pbmNsdWRl
L3N0ZGlvLmgiIDMKZXh0ZXJuIEZJTEUgKmZvcGVuIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3Qg
X19maWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3Qg
X19tb2RlcykgOwoKZXh0ZXJuIEZJTEUgKmZyZW9wZW4gKF9fY29uc3QgY2hhciAqX19yZXN0cmlj
dCBfX2ZpbGVuYW1lLAogICAgICAgICAgICAgICAgICAgICAgX19jb25zdCBjaGFyICpfX3Jlc3Ry
aWN0IF9fbW9kZXMsCiAgICAgICAgICAgICAgICAgICAgICBGSUxFICpfX3Jlc3RyaWN0IF9fc3Ry
ZWFtKSA7CiMgMjQwICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1wYy1saW51
eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gRklMRSAqZmRvcGVuIChpbnQgX19m
ZCwgX19jb25zdCBjaGFyICpfX21vZGVzKSA7CiMgMjYzICIvdXNyL2xvY2FsL2djYy0zLjEvbGli
L2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4g
dm9pZCBzZXRidWYgKEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0sIGNoYXIgKl9fcmVzdHJpY3Qg
X19idWYpIDsKCgoKZXh0ZXJuIGludCBzZXR2YnVmIChGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFt
LCBjaGFyICpfX3Jlc3RyaWN0IF9fYnVmLAogICAgICAgICAgICAgICAgICAgIGludCBfX21vZGVz
LCBzaXplX3QgX19uKSA7CgoKCgpleHRlcm4gdm9pZCBzZXRidWZmZXIgKEZJTEUgKl9fcmVzdHJp
Y3QgX19zdHJlYW0sIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsCiAgICAgICAgICAgICAgICAgICAg
ICAgc2l6ZV90IF9fc2l6ZSkgOwoKCmV4dGVybiB2b2lkIHNldGxpbmVidWYgKEZJTEUgKl9fc3Ry
ZWFtKSA7CgoKCgpleHRlcm4gaW50IGZwcmludGYgKEZJTEUgKl9fcmVzdHJpY3QgX19zdHJlYW0s
CiAgICAgICAgICAgICAgICAgICAgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCAu
Li4pIDsKCmV4dGVybiBpbnQgcHJpbnRmIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3Jt
YXQsIC4uLikgOwoKZXh0ZXJuIGludCBzcHJpbnRmIChjaGFyICpfX3Jlc3RyaWN0IF9fcywKICAg
ICAgICAgICAgICAgICAgICBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIC4uLikg
OwoKCmV4dGVybiBpbnQgdmZwcmludGYgKEZJTEUgKl9fcmVzdHJpY3QgX19zLCBfX2NvbnN0IGNo
YXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsCiAgICAgICAgICAgICAgICAgICAgIF9fZ251Y192YV9s
aXN0IF9fYXJnKSA7CgpleHRlcm4gaW50IHZwcmludGYgKF9fY29uc3QgY2hhciAqX19yZXN0cmlj
dCBfX2Zvcm1hdCwgX19nbnVjX3ZhX2xpc3QgX19hcmcpCiAgICAgOwoKZXh0ZXJuIGludCB2c3By
aW50ZiAoY2hhciAqX19yZXN0cmljdCBfX3MsIF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zv
cm1hdCwKICAgICAgICAgICAgICAgICAgICAgX19nbnVjX3ZhX2xpc3QgX19hcmcpIDsKCgoKZXh0
ZXJuIGludCBzbnByaW50ZiAoY2hhciAqX19yZXN0cmljdCBfX3MsIHNpemVfdCBfX21heGxlbiwK
ICAgICAgICAgICAgICAgICAgICAgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm9ybWF0LCAu
Li4pCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMsIDQpKSk7
CgpleHRlcm4gaW50IHZzbnByaW50ZiAoY2hhciAqX19yZXN0cmljdCBfX3MsIHNpemVfdCBfX21h
eGxlbiwKICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zv
cm1hdCwgX19nbnVjX3ZhX2xpc3QgX19hcmcpCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0
X18gKF9fcHJpbnRmX18sIDMsIDApKSk7CiMgMzM0ICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2dj
Yy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gaW50
IGZzY2FuZiAoRklMRSAqX19yZXN0cmljdCBfX3N0cmVhbSwKICAgICAgICAgICAgICAgICAgIF9f
Y29uc3QgY2hhciAqX19yZXN0cmljdCBfX2Zvcm1hdCwgLi4uKSA7CgpleHRlcm4gaW50IHNjYW5m
IChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIC4uLikgOwoKZXh0ZXJuIGludCBz
c2NhbmYgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3MsCiAgICAgICAgICAgICAgICAgICBf
X2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19mb3JtYXQsIC4uLikgOwojIDM2MCAiL3Vzci9sb2Nh
bC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYtcGMtbGludXgtZ251LzMuMS9pbmNsdWRlL3N0ZGlv
LmgiIDMKZXh0ZXJuIGludCBmZ2V0YyAoRklMRSAqX19zdHJlYW0pIDsKZXh0ZXJuIGludCBnZXRj
IChGSUxFICpfX3N0cmVhbSkgOwoKCmV4dGVybiBpbnQgZ2V0Y2hhciAodm9pZCkgOwoKCgoKCgoK
ZXh0ZXJuIGludCBnZXRjX3VubG9ja2VkIChGSUxFICpfX3N0cmVhbSkgOwpleHRlcm4gaW50IGdl
dGNoYXJfdW5sb2NrZWQgKHZvaWQpIDsKCgoKCmV4dGVybiBpbnQgZmdldGNfdW5sb2NrZWQgKEZJ
TEUgKl9fc3RyZWFtKSA7CgoKCgpleHRlcm4gaW50IGZwdXRjIChpbnQgX19jLCBGSUxFICpfX3N0
cmVhbSkgOwpleHRlcm4gaW50IHB1dGMgKGludCBfX2MsIEZJTEUgKl9fc3RyZWFtKSA7CgoKZXh0
ZXJuIGludCBwdXRjaGFyIChpbnQgX19jKSA7CgoKCgoKCgpleHRlcm4gaW50IGZwdXRjX3VubG9j
a2VkIChpbnQgX19jLCBGSUxFICpfX3N0cmVhbSkgOwoKCgoKZXh0ZXJuIGludCBwdXRjX3VubG9j
a2VkIChpbnQgX19jLCBGSUxFICpfX3N0cmVhbSkgOwpleHRlcm4gaW50IHB1dGNoYXJfdW5sb2Nr
ZWQgKGludCBfX2MpIDsKCgoKCgpleHRlcm4gaW50IGdldHcgKEZJTEUgKl9fc3RyZWFtKSA7CgoK
ZXh0ZXJuIGludCBwdXR3IChpbnQgX193LCBGSUxFICpfX3N0cmVhbSkgOwoKCgoKZXh0ZXJuIGNo
YXIgKmZnZXRzIChjaGFyICpfX3Jlc3RyaWN0IF9fcywgaW50IF9fbiwgRklMRSAqX19yZXN0cmlj
dCBfX3N0cmVhbSkKICAgICA7CiMgNDI2ICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIv
aTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gY2hhciAqZ2V0
cyAoY2hhciAqX19zKSA7CiMgNDUwICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4
Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gaW50IGZwdXRzIChf
X2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zLCBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKQog
ICAgIDsKIyA0NjAgIi91c3IvbG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4
LWdudS8zLjEvaW5jbHVkZS9zdGRpby5oIiAzCmV4dGVybiBpbnQgcHV0cyAoX19jb25zdCBjaGFy
ICpfX3MpIDsKCgoKZXh0ZXJuIGludCB1bmdldGMgKGludCBfX2MsIEZJTEUgKl9fc3RyZWFtKSA7
CgoKCmV4dGVybiBzaXplX3QgZnJlYWQgKHZvaWQgKl9fcmVzdHJpY3QgX19wdHIsIHNpemVfdCBf
X3NpemUsCiAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBfX24sIEZJTEUgKl9fcmVzdHJpY3Qg
X19zdHJlYW0pIDsKCmV4dGVybiBzaXplX3QgZndyaXRlIChfX2NvbnN0IHZvaWQgKl9fcmVzdHJp
Y3QgX19wdHIsIHNpemVfdCBfX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgX19u
LCBGSUxFICpfX3Jlc3RyaWN0IF9fcykgOwoKCgpleHRlcm4gc2l6ZV90IGZyZWFkX3VubG9ja2Vk
ICh2b2lkICpfX3Jlc3RyaWN0IF9fcHRyLCBzaXplX3QgX19zaXplLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBzaXplX3QgX19uLCBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKSA7CmV4
dGVybiBzaXplX3QgZndyaXRlX3VubG9ja2VkIChfX2NvbnN0IHZvaWQgKl9fcmVzdHJpY3QgX19w
dHIsIHNpemVfdCBfX3NpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3Qg
X19uLCBGSUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtKSA7CgoKCgpleHRlcm4gaW50IGZzZWVrIChG
SUxFICpfX3N0cmVhbSwgbG9uZyBpbnQgX19vZmYsIGludCBfX3doZW5jZSkgOwoKZXh0ZXJuIGxv
bmcgaW50IGZ0ZWxsIChGSUxFICpfX3N0cmVhbSkgOwoKZXh0ZXJuIHZvaWQgcmV3aW5kIChGSUxF
ICpfX3N0cmVhbSkgOwojIDUwNCAiL3Vzci9sb2NhbC9nY2MtMy4xL2xpYi9nY2MtbGliL2k2ODYt
cGMtbGludXgtZ251LzMuMS9pbmNsdWRlL3N0ZGlvLmgiIDMKZXh0ZXJuIGludCBmZ2V0cG9zIChG
SUxFICpfX3Jlc3RyaWN0IF9fc3RyZWFtLCBmcG9zX3QgKl9fcmVzdHJpY3QgX19wb3MpCiAgICAg
OwoKZXh0ZXJuIGludCBmc2V0cG9zIChGSUxFICpfX3N0cmVhbSwgX19jb25zdCBmcG9zX3QgKl9f
cG9zKSA7CiMgNTQwICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1wYy1saW51
eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gdm9pZCBjbGVhcmVyciAoRklMRSAq
X19zdHJlYW0pIDsKCmV4dGVybiBpbnQgZmVvZiAoRklMRSAqX19zdHJlYW0pIDsKCmV4dGVybiBp
bnQgZmVycm9yIChGSUxFICpfX3N0cmVhbSkgOwoKCgpleHRlcm4gdm9pZCBjbGVhcmVycl91bmxv
Y2tlZCAoRklMRSAqX19zdHJlYW0pIDsKZXh0ZXJuIGludCBmZW9mX3VubG9ja2VkIChGSUxFICpf
X3N0cmVhbSkgOwpleHRlcm4gaW50IGZlcnJvcl91bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pIDsK
CgoKCmV4dGVybiB2b2lkIHBlcnJvciAoX19jb25zdCBjaGFyICpfX3MpIDsKCgoKCmV4dGVybiBp
bnQgc3lzX25lcnI7CmV4dGVybiBfX2NvbnN0IGNoYXIgKl9fY29uc3Qgc3lzX2Vycmxpc3RbXTsK
IyA1NzEgIi91c3IvbG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8z
LjEvaW5jbHVkZS9zdGRpby5oIiAzCmV4dGVybiBpbnQgZmlsZW5vIChGSUxFICpfX3N0cmVhbSkg
OwoKCgoKZXh0ZXJuIGludCBmaWxlbm9fdW5sb2NrZWQgKEZJTEUgKl9fc3RyZWFtKSA7CgoKCgoK
CmV4dGVybiBGSUxFICpwb3BlbiAoX19jb25zdCBjaGFyICpfX2NvbW1hbmQsIF9fY29uc3QgY2hh
ciAqX19tb2RlcykgOwoKCmV4dGVybiBpbnQgcGNsb3NlIChGSUxFICpfX3N0cmVhbSkgOwoKCgoK
CmV4dGVybiBjaGFyICpjdGVybWlkIChjaGFyICpfX3MpIDsKIyA2MTggIi91c3IvbG9jYWwvZ2Nj
LTMuMS9saWIvZ2NjLWxpYi9pNjg2LXBjLWxpbnV4LWdudS8zLjEvaW5jbHVkZS9zdGRpby5oIiAz
CmV4dGVybiB2b2lkIGZsb2NrZmlsZSAoRklMRSAqX19zdHJlYW0pIDsKCgoKZXh0ZXJuIGludCBm
dHJ5bG9ja2ZpbGUgKEZJTEUgKl9fc3RyZWFtKSA7CgoKZXh0ZXJuIHZvaWQgZnVubG9ja2ZpbGUg
KEZJTEUgKl9fc3RyZWFtKSA7CiMgNjM5ICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIv
aTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMwojIDEgIi91c3IvaW5jbHVk
ZS9iaXRzL3N0ZGlvLmgiIDEgMwojIDMzICIvdXNyL2luY2x1ZGUvYml0cy9zdGRpby5oIiAzCmV4
dGVybiBfX2lubGluZSBpbnQKdnByaW50ZiAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZm10
LCBfX2dudWNfdmFfbGlzdCBfX2FyZykKewogIHJldHVybiB2ZnByaW50ZiAoc3Rkb3V0LCBfX2Zt
dCwgX19hcmcpOwp9CgoKZXh0ZXJuIF9faW5saW5lIGludApnZXRjaGFyICh2b2lkKQp7CiAgcmV0
dXJuIF9JT19nZXRjIChzdGRpbik7Cn0KCgoKCmV4dGVybiBfX2lubGluZSBpbnQKZ2V0Y191bmxv
Y2tlZCAoRklMRSAqX19mcCkKewogIHJldHVybiAoKF9fZnApLT5fSU9fcmVhZF9wdHIgPj0gKF9f
ZnApLT5fSU9fcmVhZF9lbmQgPyBfX3VmbG93IChfX2ZwKSA6ICoodW5zaWduZWQgY2hhciAqKSAo
X19mcCktPl9JT19yZWFkX3B0cisrKTsKfQoKCmV4dGVybiBfX2lubGluZSBpbnQKZ2V0Y2hhcl91
bmxvY2tlZCAodm9pZCkKewogIHJldHVybiAoKHN0ZGluKS0+X0lPX3JlYWRfcHRyID49IChzdGRp
biktPl9JT19yZWFkX2VuZCA/IF9fdWZsb3cgKHN0ZGluKSA6ICoodW5zaWduZWQgY2hhciAqKSAo
c3RkaW4pLT5fSU9fcmVhZF9wdHIrKyk7Cn0KCgoKCmV4dGVybiBfX2lubGluZSBpbnQKcHV0Y2hh
ciAoaW50IF9fYykKewogIHJldHVybiBfSU9fcHV0YyAoX19jLCBzdGRvdXQpOwp9CgoKCgpleHRl
cm4gX19pbmxpbmUgaW50CmZwdXRjX3VubG9ja2VkIChpbnQgX19jLCBGSUxFICpfX3N0cmVhbSkK
ewogIHJldHVybiAoKChfX3N0cmVhbSktPl9JT193cml0ZV9wdHIgPj0gKF9fc3RyZWFtKS0+X0lP
X3dyaXRlX2VuZCkgPyBfX292ZXJmbG93IChfX3N0cmVhbSwgKHVuc2lnbmVkIGNoYXIpIChfX2Mp
KSA6ICh1bnNpZ25lZCBjaGFyKSAoKihfX3N0cmVhbSktPl9JT193cml0ZV9wdHIrKyA9IChfX2Mp
KSk7Cn0KCgoKCgpleHRlcm4gX19pbmxpbmUgaW50CnB1dGNfdW5sb2NrZWQgKGludCBfX2MsIEZJ
TEUgKl9fc3RyZWFtKQp7CiAgcmV0dXJuICgoKF9fc3RyZWFtKS0+X0lPX3dyaXRlX3B0ciA+PSAo
X19zdHJlYW0pLT5fSU9fd3JpdGVfZW5kKSA/IF9fb3ZlcmZsb3cgKF9fc3RyZWFtLCAodW5zaWdu
ZWQgY2hhcikgKF9fYykpIDogKHVuc2lnbmVkIGNoYXIpICgqKF9fc3RyZWFtKS0+X0lPX3dyaXRl
X3B0cisrID0gKF9fYykpKTsKfQoKCmV4dGVybiBfX2lubGluZSBpbnQKcHV0Y2hhcl91bmxvY2tl
ZCAoaW50IF9fYykKewogIHJldHVybiAoKChzdGRvdXQpLT5fSU9fd3JpdGVfcHRyID49IChzdGRv
dXQpLT5fSU9fd3JpdGVfZW5kKSA/IF9fb3ZlcmZsb3cgKHN0ZG91dCwgKHVuc2lnbmVkIGNoYXIp
IChfX2MpKSA6ICh1bnNpZ25lZCBjaGFyKSAoKihzdGRvdXQpLT5fSU9fd3JpdGVfcHRyKysgPSAo
X19jKSkpOwp9CiMgMTExICIvdXNyL2luY2x1ZGUvYml0cy9zdGRpby5oIiAzCmV4dGVybiBfX2lu
bGluZSBpbnQKZmVvZl91bmxvY2tlZCAoRklMRSAqX19zdHJlYW0pCnsKICByZXR1cm4gKCgoX19z
dHJlYW0pLT5fZmxhZ3MgJiAweDEwKSAhPSAwKTsKfQoKCmV4dGVybiBfX2lubGluZSBpbnQKZmVy
cm9yX3VubG9ja2VkIChGSUxFICpfX3N0cmVhbSkKewogIHJldHVybiAoKChfX3N0cmVhbSktPl9m
bGFncyAmIDB4MjApICE9IDApOwp9CiMgNjQwICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1s
aWIvaTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkaW8uaCIgMiAzCgoKCiMgMTUgInNy
Yy9tYW1lLmgiIDIKIyAxICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDEgMwojIDI4ICIvdXNyL2lu
Y2x1ZGUvc3RyaW5nLmgiIDMKCgoKCgojIDEgIi91c3IvbG9jYWwvZ2NjLTMuMS9saWIvZ2NjLWxp
Yi9pNjg2LXBjLWxpbnV4LWdudS8zLjEvaW5jbHVkZS9zdGRkZWYuaCIgMSAzCiMgMzQgIi91c3Iv
aW5jbHVkZS9zdHJpbmcuaCIgMiAzCgoKCmV4dGVybiB2b2lkICptZW1jcHkgKHZvaWQgKl9fcmVz
dHJpY3QgX19kZXN0LAogICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IHZvaWQgKl9fcmVzdHJp
Y3QgX19zcmMsIHNpemVfdCBfX24pIDsKCgpleHRlcm4gdm9pZCAqbWVtbW92ZSAodm9pZCAqX19k
ZXN0LCBfX2NvbnN0IHZvaWQgKl9fc3JjLCBzaXplX3QgX19uKQogICAgIDsKCgoKCgpleHRlcm4g
dm9pZCAqbWVtY2NweSAodm9pZCAqX19yZXN0cmljdCBfX2Rlc3QsIF9fY29uc3Qgdm9pZCAqX19y
ZXN0cmljdCBfX3NyYywKICAgICAgICAgICAgICAgICAgICAgIGludCBfX2MsIHNpemVfdCBfX24p
CiAgICAgOwoKCgoKZXh0ZXJuIHZvaWQgKm1lbXNldCAodm9pZCAqX19zLCBpbnQgX19jLCBzaXpl
X3QgX19uKSA7CgoKZXh0ZXJuIGludCBtZW1jbXAgKF9fY29uc3Qgdm9pZCAqX19zMSwgX19jb25z
dCB2b2lkICpfX3MyLCBzaXplX3QgX19uKQogICAgIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykp
OwoKCmV4dGVybiB2b2lkICptZW1jaHIgKF9fY29uc3Qgdm9pZCAqX19zLCBpbnQgX19jLCBzaXpl
X3QgX19uKQogICAgICBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKTsKIyA3NyAiL3Vzci9pbmNs
dWRlL3N0cmluZy5oIiAzCmV4dGVybiBjaGFyICpzdHJjcHkgKGNoYXIgKl9fcmVzdHJpY3QgX19k
ZXN0LCBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19zcmMpCiAgICAgOwoKZXh0ZXJuIGNoYXIg
KnN0cm5jcHkgKGNoYXIgKl9fcmVzdHJpY3QgX19kZXN0LAogICAgICAgICAgICAgICAgICAgICAg
X19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fc3JjLCBzaXplX3QgX19uKSA7CgoKZXh0ZXJuIGNo
YXIgKnN0cmNhdCAoY2hhciAqX19yZXN0cmljdCBfX2Rlc3QsIF9fY29uc3QgY2hhciAqX19yZXN0
cmljdCBfX3NyYykKICAgICA7CgpleHRlcm4gY2hhciAqc3RybmNhdCAoY2hhciAqX19yZXN0cmlj
dCBfX2Rlc3QsIF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX3NyYywKICAgICAgICAgICAgICAg
ICAgICAgIHNpemVfdCBfX24pIDsKCgpleHRlcm4gaW50IHN0cmNtcCAoX19jb25zdCBjaGFyICpf
X3MxLCBfX2NvbnN0IGNoYXIgKl9fczIpCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSk7
CgpleHRlcm4gaW50IHN0cm5jbXAgKF9fY29uc3QgY2hhciAqX19zMSwgX19jb25zdCBjaGFyICpf
X3MyLCBzaXplX3QgX19uKQogICAgIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpOwoKCmV4dGVy
biBpbnQgc3RyY29sbCAoX19jb25zdCBjaGFyICpfX3MxLCBfX2NvbnN0IGNoYXIgKl9fczIpCiAg
ICAgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSk7CgpleHRlcm4gc2l6ZV90IHN0cnhmcm0gKGNo
YXIgKl9fcmVzdHJpY3QgX19kZXN0LAogICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hh
ciAqX19yZXN0cmljdCBfX3NyYywgc2l6ZV90IF9fbikgOwojIDEyMCAiL3Vzci9pbmNsdWRlL3N0
cmluZy5oIiAzCmV4dGVybiBjaGFyICpzdHJkdXAgKF9fY29uc3QgY2hhciAqX19zKSBfX2F0dHJp
YnV0ZV9fICgoX19tYWxsb2NfXykpOwojIDE1NSAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAzCmV4
dGVybiBjaGFyICpzdHJjaHIgKF9fY29uc3QgY2hhciAqX19zLCBpbnQgX19jKSBfX2F0dHJpYnV0
ZV9fICgoX19wdXJlX18pKTsKCmV4dGVybiBjaGFyICpzdHJyY2hyIChfX2NvbnN0IGNoYXIgKl9f
cywgaW50IF9fYykgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSk7CiMgMTY3ICIvdXNyL2luY2x1
ZGUvc3RyaW5nLmgiIDMKZXh0ZXJuIHNpemVfdCBzdHJjc3BuIChfX2NvbnN0IGNoYXIgKl9fcywg
X19jb25zdCBjaGFyICpfX3JlamVjdCkKICAgICBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKTsK
CgpleHRlcm4gc2l6ZV90IHN0cnNwbiAoX19jb25zdCBjaGFyICpfX3MsIF9fY29uc3QgY2hhciAq
X19hY2NlcHQpCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSk7CgpleHRlcm4gY2hhciAq
c3RycGJyayAoX19jb25zdCBjaGFyICpfX3MsIF9fY29uc3QgY2hhciAqX19hY2NlcHQpCiAgICAg
X19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSk7CgpleHRlcm4gY2hhciAqc3Ryc3RyIChfX2NvbnN0
IGNoYXIgKl9faGF5c3RhY2ssIF9fY29uc3QgY2hhciAqX19uZWVkbGUpCiAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fcHVyZV9fKSk7CiMgMTg3ICIvdXNyL2luY2x1ZGUvc3RyaW5nLmgiIDMKZXh0ZXJu
IGNoYXIgKnN0cnRvayAoY2hhciAqX19yZXN0cmljdCBfX3MsIF9fY29uc3QgY2hhciAqX19yZXN0
cmljdCBfX2RlbGltKQogICAgIDsKCgoKZXh0ZXJuIGNoYXIgKl9fc3RydG9rX3IgKGNoYXIgKl9f
cmVzdHJpY3QgX19zLAogICAgICAgICAgICAgICAgICAgICAgICAgX19jb25zdCBjaGFyICpfX3Jl
c3RyaWN0IF9fZGVsaW0sCiAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqX19yZXN0cmlj
dCBfX3NhdmVfcHRyKSA7CgpleHRlcm4gY2hhciAqc3RydG9rX3IgKGNoYXIgKl9fcmVzdHJpY3Qg
X19zLCBfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19kZWxpbSwKICAgICAgICAgICAgICAgICAg
ICAgICBjaGFyICoqX19yZXN0cmljdCBfX3NhdmVfcHRyKSA7CiMgMjE4ICIvdXNyL2luY2x1ZGUv
c3RyaW5nLmgiIDMKZXh0ZXJuIHNpemVfdCBzdHJsZW4gKF9fY29uc3QgY2hhciAqX19zKSBfX2F0
dHJpYnV0ZV9fICgoX19wdXJlX18pKTsKIyAyMjkgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMwpl
eHRlcm4gY2hhciAqc3RyZXJyb3IgKGludCBfX2Vycm51bSkgOwoKCgpleHRlcm4gY2hhciAqc3Ry
ZXJyb3JfciAoaW50IF9fZXJybnVtLCBjaGFyICpfX2J1Ziwgc2l6ZV90IF9fYnVmbGVuKSA7CgoK
CgpleHRlcm4gdm9pZCBfX2J6ZXJvICh2b2lkICpfX3MsIHNpemVfdCBfX24pIDsKCgoKZXh0ZXJu
IHZvaWQgYmNvcHkgKF9fY29uc3Qgdm9pZCAqX19zcmMsIHZvaWQgKl9fZGVzdCwgc2l6ZV90IF9f
bikgOwoKCmV4dGVybiB2b2lkIGJ6ZXJvICh2b2lkICpfX3MsIHNpemVfdCBfX24pIDsKCgpleHRl
cm4gaW50IGJjbXAgKF9fY29uc3Qgdm9pZCAqX19zMSwgX19jb25zdCB2b2lkICpfX3MyLCBzaXpl
X3QgX19uKQogICAgIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpOwoKCmV4dGVybiBjaGFyICpp
bmRleCAoX19jb25zdCBjaGFyICpfX3MsIGludCBfX2MpIF9fYXR0cmlidXRlX18gKChfX3B1cmVf
XykpOwoKCmV4dGVybiBjaGFyICpyaW5kZXggKF9fY29uc3QgY2hhciAqX19zLCBpbnQgX19jKSBf
X2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKTsKCgoKZXh0ZXJuIGludCBmZnMgKGludCBfX2kpIF9f
YXR0cmlidXRlX18gKChfX2NvbnN0X18pKTsKIyAyNzIgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIg
MwpleHRlcm4gaW50IHN0cmNhc2VjbXAgKF9fY29uc3QgY2hhciAqX19zMSwgX19jb25zdCBjaGFy
ICpfX3MyKQogICAgIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpOwoKCmV4dGVybiBpbnQgc3Ry
bmNhc2VjbXAgKF9fY29uc3QgY2hhciAqX19zMSwgX19jb25zdCBjaGFyICpfX3MyLCBzaXplX3Qg
X19uKQogICAgIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpOwojIDI5NCAiL3Vzci9pbmNsdWRl
L3N0cmluZy5oIiAzCmV4dGVybiBjaGFyICpzdHJzZXAgKGNoYXIgKipfX3Jlc3RyaWN0IF9fc3Ry
aW5ncCwKICAgICAgICAgICAgICAgICAgICAgX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fZGVs
aW0pIDsKIyAzNTcgIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMwojIDEgIi91c3IvaW5jbHVkZS9i
aXRzL3N0cmluZy5oIiAxIDMKIyAzNTggIi91c3IvaW5jbHVkZS9zdHJpbmcuaCIgMiAzCgoKIyAx
ICIvdXNyL2luY2x1ZGUvYml0cy9zdHJpbmcyLmgiIDEgMwojIDUyICIvdXNyL2luY2x1ZGUvYml0
cy9zdHJpbmcyLmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvZW5kaWFuLmgiIDEgMwojIDM3ICIvdXNy
L2luY2x1ZGUvZW5kaWFuLmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvYml0cy9lbmRpYW4uaCIgMSAz
CiMgMzggIi91c3IvaW5jbHVkZS9lbmRpYW4uaCIgMiAzCiMgNTMgIi91c3IvaW5jbHVkZS9iaXRz
L3N0cmluZzIuaCIgMiAzCiMgMzc3ICIvdXNyL2luY2x1ZGUvYml0cy9zdHJpbmcyLmgiIDMKZXh0
ZXJuIHZvaWQgKl9fcmF3bWVtY2hyIChjb25zdCB2b2lkICpfX3MsIGludCBfX2MpOwojIDQwNSAi
L3Vzci9pbmNsdWRlL2JpdHMvc3RyaW5nMi5oIiAzCmV4dGVybiBfX2lubGluZSBjaGFyICpfX3N0
cmNweV9zbWFsbCAoY2hhciAqLCBfX3VpbnQxNl90LCBfX3VpbnQxNl90LAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF9fdWludDMyX3QsIF9fdWludDMyX3QsIHNpemVfdCk7
CmV4dGVybiBfX2lubGluZSBjaGFyICoKX19zdHJjcHlfc21hbGwgKGNoYXIgKl9fZGVzdCwKICAg
ICAgICAgICAgICAgIF9fdWludDE2X3QgX19zcmMwXzIsIF9fdWludDE2X3QgX19zcmM0XzIsCiAg
ICAgICAgICAgICAgICBfX3VpbnQzMl90IF9fc3JjMF80LCBfX3VpbnQzMl90IF9fc3JjNF80LAog
ICAgICAgICAgICAgICAgc2l6ZV90IF9fc3JjbGVuKQp7CiAgdW5pb24gewogICAgX191aW50MzJf
dCBfX3VpOwogICAgX191aW50MTZfdCBfX3VzaTsKICAgIHVuc2lnbmVkIGNoYXIgX191YzsKICB9
ICpfX3UgPSAodm9pZCAqKSBfX2Rlc3Q7CiAgc3dpdGNoICgodW5zaWduZWQgaW50KSBfX3NyY2xl
bikKICAgIHsKICAgIGNhc2UgMToKICAgICAgX191LT5fX3VjID0gJ1wwJzsKICAgICAgYnJlYWs7
CiAgICBjYXNlIDI6CiAgICAgIF9fdS0+X191c2kgPSBfX3NyYzBfMjsKICAgICAgYnJlYWs7CiAg
ICBjYXNlIDM6CiAgICAgIF9fdS0+X191c2kgPSBfX3NyYzBfMjsKICAgICAgX191ID0gX19leHRl
bnNpb25fXyAoKHZvaWQgKikgX191ICsgMik7CiAgICAgIF9fdS0+X191YyA9ICdcMCc7CiAgICAg
IGJyZWFrOwogICAgY2FzZSA0OgogICAgICBfX3UtPl9fdWkgPSBfX3NyYzBfNDsKICAgICAgYnJl
YWs7CiAgICBjYXNlIDU6CiAgICAgIF9fdS0+X191aSA9IF9fc3JjMF80OwogICAgICBfX3UgPSBf
X2V4dGVuc2lvbl9fICgodm9pZCAqKSBfX3UgKyA0KTsKICAgICAgX191LT5fX3VjID0gJ1wwJzsK
ICAgICAgYnJlYWs7CiAgICBjYXNlIDY6CiAgICAgIF9fdS0+X191aSA9IF9fc3JjMF80OwogICAg
ICBfX3UgPSBfX2V4dGVuc2lvbl9fICgodm9pZCAqKSBfX3UgKyA0KTsKICAgICAgX191LT5fX3Vz
aSA9IF9fc3JjNF8yOwogICAgICBicmVhazsKICAgIGNhc2UgNzoKICAgICAgX191LT5fX3VpID0g
X19zcmMwXzQ7CiAgICAgIF9fdSA9IF9fZXh0ZW5zaW9uX18gKCh2b2lkICopIF9fdSArIDQpOwog
ICAgICBfX3UtPl9fdXNpID0gX19zcmM0XzI7CiAgICAgIF9fdSA9IF9fZXh0ZW5zaW9uX18gKCh2
b2lkICopIF9fdSArIDIpOwogICAgICBfX3UtPl9fdWMgPSAnXDAnOwogICAgICBicmVhazsKICAg
IGNhc2UgODoKICAgICAgX191LT5fX3VpID0gX19zcmMwXzQ7CiAgICAgIF9fdSA9IF9fZXh0ZW5z
aW9uX18gKCh2b2lkICopIF9fdSArIDQpOwogICAgICBfX3UtPl9fdWkgPSBfX3NyYzRfNDsKICAg
ICAgYnJlYWs7CiAgICB9CiAgcmV0dXJuIF9fZGVzdDsKfQojIDg5MyAiL3Vzci9pbmNsdWRlL2Jp
dHMvc3RyaW5nMi5oIiAzCmV4dGVybiBfX2lubGluZSBzaXplX3QgX19zdHJjc3BuX2MxIChfX2Nv
bnN0IGNoYXIgKl9fcywgaW50IF9fcmVqZWN0KTsKZXh0ZXJuIF9faW5saW5lIHNpemVfdApfX3N0
cmNzcG5fYzEgKF9fY29uc3QgY2hhciAqX19zLCBpbnQgX19yZWplY3QpCnsKICByZWdpc3RlciBz
aXplX3QgX19yZXN1bHQgPSAwOwogIHdoaWxlIChfX3NbX19yZXN1bHRdICE9ICdcMCcgJiYgX19z
W19fcmVzdWx0XSAhPSBfX3JlamVjdCkKICAgICsrX19yZXN1bHQ7CiAgcmV0dXJuIF9fcmVzdWx0
Owp9CgpleHRlcm4gX19pbmxpbmUgc2l6ZV90IF9fc3RyY3Nwbl9jMiAoX19jb25zdCBjaGFyICpf
X3MsIGludCBfX3JlamVjdDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgX19yZWplY3QyKTsKZXh0ZXJuIF9faW5saW5lIHNpemVfdApfX3N0cmNzcG5fYzIgKF9fY29u
c3QgY2hhciAqX19zLCBpbnQgX19yZWplY3QxLCBpbnQgX19yZWplY3QyKQp7CiAgcmVnaXN0ZXIg
c2l6ZV90IF9fcmVzdWx0ID0gMDsKICB3aGlsZSAoX19zW19fcmVzdWx0XSAhPSAnXDAnICYmIF9f
c1tfX3Jlc3VsdF0gIT0gX19yZWplY3QxCiAgICAgICAgICYmIF9fc1tfX3Jlc3VsdF0gIT0gX19y
ZWplY3QyKQogICAgKytfX3Jlc3VsdDsKICByZXR1cm4gX19yZXN1bHQ7Cn0KCmV4dGVybiBfX2lu
bGluZSBzaXplX3QgX19zdHJjc3BuX2MzIChfX2NvbnN0IGNoYXIgKl9fcywgaW50IF9fcmVqZWN0
MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBfX3JlamVjdDIsIGlu
dCBfX3JlamVjdDMpOwpleHRlcm4gX19pbmxpbmUgc2l6ZV90Cl9fc3RyY3Nwbl9jMyAoX19jb25z
dCBjaGFyICpfX3MsIGludCBfX3JlamVjdDEsIGludCBfX3JlamVjdDIsCiAgICAgICAgICAgICAg
aW50IF9fcmVqZWN0MykKewogIHJlZ2lzdGVyIHNpemVfdCBfX3Jlc3VsdCA9IDA7CiAgd2hpbGUg
KF9fc1tfX3Jlc3VsdF0gIT0gJ1wwJyAmJiBfX3NbX19yZXN1bHRdICE9IF9fcmVqZWN0MQogICAg
ICAgICAmJiBfX3NbX19yZXN1bHRdICE9IF9fcmVqZWN0MiAmJiBfX3NbX19yZXN1bHRdICE9IF9f
cmVqZWN0MykKICAgICsrX19yZXN1bHQ7CiAgcmV0dXJuIF9fcmVzdWx0Owp9CiMgOTUwICIvdXNy
L2luY2x1ZGUvYml0cy9zdHJpbmcyLmgiIDMKZXh0ZXJuIF9faW5saW5lIHNpemVfdCBfX3N0cnNw
bl9jMSAoX19jb25zdCBjaGFyICpfX3MsIGludCBfX2FjY2VwdCk7CmV4dGVybiBfX2lubGluZSBz
aXplX3QKX19zdHJzcG5fYzEgKF9fY29uc3QgY2hhciAqX19zLCBpbnQgX19hY2NlcHQpCnsKICBy
ZWdpc3RlciBzaXplX3QgX19yZXN1bHQgPSAwOwoKICB3aGlsZSAoX19zW19fcmVzdWx0XSA9PSBf
X2FjY2VwdCkKICAgICsrX19yZXN1bHQ7CiAgcmV0dXJuIF9fcmVzdWx0Owp9CgpleHRlcm4gX19p
bmxpbmUgc2l6ZV90IF9fc3Ryc3BuX2MyIChfX2NvbnN0IGNoYXIgKl9fcywgaW50IF9fYWNjZXB0
MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IF9fYWNjZXB0Mik7CmV4
dGVybiBfX2lubGluZSBzaXplX3QKX19zdHJzcG5fYzIgKF9fY29uc3QgY2hhciAqX19zLCBpbnQg
X19hY2NlcHQxLCBpbnQgX19hY2NlcHQyKQp7CiAgcmVnaXN0ZXIgc2l6ZV90IF9fcmVzdWx0ID0g
MDsKCiAgd2hpbGUgKF9fc1tfX3Jlc3VsdF0gPT0gX19hY2NlcHQxIHx8IF9fc1tfX3Jlc3VsdF0g
PT0gX19hY2NlcHQyKQogICAgKytfX3Jlc3VsdDsKICByZXR1cm4gX19yZXN1bHQ7Cn0KCmV4dGVy
biBfX2lubGluZSBzaXplX3QgX19zdHJzcG5fYzMgKF9fY29uc3QgY2hhciAqX19zLCBpbnQgX19h
Y2NlcHQxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgX19hY2NlcHQy
LCBpbnQgX19hY2NlcHQzKTsKZXh0ZXJuIF9faW5saW5lIHNpemVfdApfX3N0cnNwbl9jMyAoX19j
b25zdCBjaGFyICpfX3MsIGludCBfX2FjY2VwdDEsIGludCBfX2FjY2VwdDIsIGludCBfX2FjY2Vw
dDMpCnsKICByZWdpc3RlciBzaXplX3QgX19yZXN1bHQgPSAwOwoKICB3aGlsZSAoX19zW19fcmVz
dWx0XSA9PSBfX2FjY2VwdDEgfHwgX19zW19fcmVzdWx0XSA9PSBfX2FjY2VwdDIKICAgICAgICAg
fHwgX19zW19fcmVzdWx0XSA9PSBfX2FjY2VwdDMpCiAgICArK19fcmVzdWx0OwogIHJldHVybiBf
X3Jlc3VsdDsKfQojIDEwMDcgIi91c3IvaW5jbHVkZS9iaXRzL3N0cmluZzIuaCIgMwpleHRlcm4g
X19pbmxpbmUgY2hhciAqX19zdHJwYnJrX2MyIChfX2NvbnN0IGNoYXIgKl9fcywgaW50IF9fYWNj
ZXB0MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBfX2FjY2VwdDIp
OwpleHRlcm4gX19pbmxpbmUgY2hhciAqCl9fc3RycGJya19jMiAoX19jb25zdCBjaGFyICpfX3Ms
IGludCBfX2FjY2VwdDEsIGludCBfX2FjY2VwdDIpCnsKCiAgd2hpbGUgKCpfX3MgIT0gJ1wwJyAm
JiAqX19zICE9IF9fYWNjZXB0MSAmJiAqX19zICE9IF9fYWNjZXB0MikKICAgICsrX19zOwogIHJl
dHVybiAqX19zID09ICdcMCcgPyAoKHZvaWQgKikwKSA6IChjaGFyICopIChzaXplX3QpIF9fczsK
fQoKZXh0ZXJuIF9faW5saW5lIGNoYXIgKl9fc3RycGJya19jMyAoX19jb25zdCBjaGFyICpfX3Ms
IGludCBfX2FjY2VwdDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
X19hY2NlcHQyLCBpbnQgX19hY2NlcHQzKTsKZXh0ZXJuIF9faW5saW5lIGNoYXIgKgpfX3N0cnBi
cmtfYzMgKF9fY29uc3QgY2hhciAqX19zLCBpbnQgX19hY2NlcHQxLCBpbnQgX19hY2NlcHQyLAog
ICAgICAgICAgICAgIGludCBfX2FjY2VwdDMpCnsKCiAgd2hpbGUgKCpfX3MgIT0gJ1wwJyAmJiAq
X19zICE9IF9fYWNjZXB0MSAmJiAqX19zICE9IF9fYWNjZXB0MgogICAgICAgICAmJiAqX19zICE9
IF9fYWNjZXB0MykKICAgICsrX19zOwogIHJldHVybiAqX19zID09ICdcMCcgPyAoKHZvaWQgKikw
KSA6IChjaGFyICopIChzaXplX3QpIF9fczsKfQojIDEwNTkgIi91c3IvaW5jbHVkZS9iaXRzL3N0
cmluZzIuaCIgMwpleHRlcm4gX19pbmxpbmUgY2hhciAqX19zdHJ0b2tfcl8xYyAoY2hhciAqX19z
LCBjaGFyIF9fc2VwLCBjaGFyICoqX19uZXh0cCk7CmV4dGVybiBfX2lubGluZSBjaGFyICoKX19z
dHJ0b2tfcl8xYyAoY2hhciAqX19zLCBjaGFyIF9fc2VwLCBjaGFyICoqX19uZXh0cCkKewogIGNo
YXIgKl9fcmVzdWx0OwogIGlmIChfX3MgPT0gKCh2b2lkICopMCkpCiAgICBfX3MgPSAqX19uZXh0
cDsKICB3aGlsZSAoKl9fcyA9PSBfX3NlcCkKICAgICsrX19zOwogIF9fcmVzdWx0ID0gKCh2b2lk
ICopMCk7CiAgaWYgKCpfX3MgIT0gJ1wwJykKICAgIHsKICAgICAgX19yZXN1bHQgPSBfX3MrKzsK
ICAgICAgd2hpbGUgKCpfX3MgIT0gJ1wwJykKICAgICAgICBpZiAoKl9fcysrID09IF9fc2VwKQog
ICAgICAgICAgewogICAgICAgICAgICBfX3NbLTFdID0gJ1wwJzsKICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICB9CiAgICAgICpfX25leHRwID0gX19zOwogICAgfQogIHJldHVybiBfX3Jlc3Vs
dDsKfQojIDEwOTEgIi91c3IvaW5jbHVkZS9iaXRzL3N0cmluZzIuaCIgMwpleHRlcm4gY2hhciAq
X19zdHJzZXBfZyAoY2hhciAqKl9fc3RyaW5ncCwgX19jb25zdCBjaGFyICpfX2RlbGltKTsKIyAx
MTA5ICIvdXNyL2luY2x1ZGUvYml0cy9zdHJpbmcyLmgiIDMKZXh0ZXJuIF9faW5saW5lIGNoYXIg
Kl9fc3Ryc2VwXzFjIChjaGFyICoqX19zLCBjaGFyIF9fcmVqZWN0KTsKZXh0ZXJuIF9faW5saW5l
IGNoYXIgKgpfX3N0cnNlcF8xYyAoY2hhciAqKl9fcywgY2hhciBfX3JlamVjdCkKewogIHJlZ2lz
dGVyIGNoYXIgKl9fcmV0dmFsID0gKl9fczsKICBpZiAoX19yZXR2YWwgIT0gKCh2b2lkICopMCkg
JiYgKCpfX3MgPSAoX19leHRlbnNpb25fXyAoX19idWlsdGluX2NvbnN0YW50X3AgKF9fcmVqZWN0
KSAmJiAoX19yZWplY3QpID09ICdcMCcgPyAoY2hhciAqKSBfX3Jhd21lbWNociAoX19yZXR2YWws
IF9fcmVqZWN0KSA6IHN0cmNociAoX19yZXR2YWwsIF9fcmVqZWN0KSkpKSAhPSAoKHZvaWQgKikw
KSkKICAgICooKl9fcykrKyA9ICdcMCc7CiAgcmV0dXJuIF9fcmV0dmFsOwp9CgpleHRlcm4gX19p
bmxpbmUgY2hhciAqX19zdHJzZXBfMmMgKGNoYXIgKipfX3MsIGNoYXIgX19yZWplY3QxLCBjaGFy
IF9fcmVqZWN0Mik7CmV4dGVybiBfX2lubGluZSBjaGFyICoKX19zdHJzZXBfMmMgKGNoYXIgKipf
X3MsIGNoYXIgX19yZWplY3QxLCBjaGFyIF9fcmVqZWN0MikKewogIHJlZ2lzdGVyIGNoYXIgKl9f
cmV0dmFsID0gKl9fczsKICBpZiAoX19yZXR2YWwgIT0gKCh2b2lkICopMCkpCiAgICB7CiAgICAg
IHJlZ2lzdGVyIGNoYXIgKl9fY3AgPSBfX3JldHZhbDsKICAgICAgd2hpbGUgKDEpCiAgICAgICAg
ewogICAgICAgICAgaWYgKCpfX2NwID09ICdcMCcpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg
ICBfX2NwID0gKCh2b2lkICopMCk7CiAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAg
ICAgICAgaWYgKCpfX2NwID09IF9fcmVqZWN0MSB8fCAqX19jcCA9PSBfX3JlamVjdDIpCiAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAqX19jcCsrID0gJ1wwJzsKICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgfQogICAgICAgICAgKytfX2NwOwogICAgICAgIH0KICAgICAgKl9fcyA9
IF9fY3A7CiAgICB9CiAgcmV0dXJuIF9fcmV0dmFsOwp9CgpleHRlcm4gX19pbmxpbmUgY2hhciAq
X19zdHJzZXBfM2MgKGNoYXIgKipfX3MsIGNoYXIgX19yZWplY3QxLCBjaGFyIF9fcmVqZWN0MiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyIF9fcmVqZWN0Myk7CmV4dGVy
biBfX2lubGluZSBjaGFyICoKX19zdHJzZXBfM2MgKGNoYXIgKipfX3MsIGNoYXIgX19yZWplY3Qx
LCBjaGFyIF9fcmVqZWN0MiwgY2hhciBfX3JlamVjdDMpCnsKICByZWdpc3RlciBjaGFyICpfX3Jl
dHZhbCA9ICpfX3M7CiAgaWYgKF9fcmV0dmFsICE9ICgodm9pZCAqKTApKQogICAgewogICAgICBy
ZWdpc3RlciBjaGFyICpfX2NwID0gX19yZXR2YWw7CiAgICAgIHdoaWxlICgxKQogICAgICAgIHsK
ICAgICAgICAgIGlmICgqX19jcCA9PSAnXDAnKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg
X19jcCA9ICgodm9pZCAqKTApOwogICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAg
ICAgIGlmICgqX19jcCA9PSBfX3JlamVjdDEgfHwgKl9fY3AgPT0gX19yZWplY3QyIHx8ICpfX2Nw
ID09IF9fcmVqZWN0MykKICAgICAgICAgICAgewogICAgICAgICAgICAgICpfX2NwKysgPSAnXDAn
OwogICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICArK19fY3A7CiAg
ICAgICAgfQogICAgICAqX19zID0gX19jcDsKICAgIH0KICByZXR1cm4gX19yZXR2YWw7Cn0KIyAx
MTg1ICIvdXNyL2luY2x1ZGUvYml0cy9zdHJpbmcyLmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvc3Rk
bGliLmgiIDEgMwojIDMzICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMKIyAxICIvdXNyL2xvY2Fs
L2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkZGVm
LmgiIDEgMwojIDM0ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDIgMwoKCiMgNTI3ICIvdXNyL2lu
Y2x1ZGUvc3RkbGliLmgiIDMKZXh0ZXJuIHZvaWQgKm1hbGxvYyAoc2l6ZV90IF9fc2l6ZSkgX19h
dHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKTsKCmV4dGVybiB2b2lkICpjYWxsb2MgKHNpemVfdCBf
X25tZW1iLCBzaXplX3QgX19zaXplKQogICAgIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSk7
CiMgODY0ICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMKCiMgMTE4NiAiL3Vzci9pbmNsdWRlL2Jp
dHMvc3RyaW5nMi5oIiAyIDMKCgoKCmV4dGVybiBjaGFyICpfX3N0cmR1cCAoX19jb25zdCBjaGFy
ICpfX3N0cmluZykgX19hdHRyaWJ1dGVfXyAoKF9fbWFsbG9jX18pKTsKIyAxMjA5ICIvdXNyL2lu
Y2x1ZGUvYml0cy9zdHJpbmcyLmgiIDMKZXh0ZXJuIGNoYXIgKl9fc3RybmR1cCAoX19jb25zdCBj
aGFyICpfX3N0cmluZywgc2l6ZV90IF9fbikKICAgICBfX2F0dHJpYnV0ZV9fICgoX19tYWxsb2Nf
XykpOwojIDM2MSAiL3Vzci9pbmNsdWRlL3N0cmluZy5oIiAyIDMKCgoKCiMgMTYgInNyYy9tYW1l
LmgiIDIKIyAxICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDEgMwojIDMzICIvdXNyL2luY2x1ZGUv
c3RkbGliLmgiIDMKIyAxICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1wYy1s
aW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMwojIDM0ICIvdXNyL2luY2x1ZGUvc3Rk
bGliLmgiIDIgMwoKCiMgOTQgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMwp0eXBlZGVmIHN0cnVj
dAogIHsKICAgIGludCBxdW90OwogICAgaW50IHJlbTsKICB9IGRpdl90OwoKCgp0eXBlZGVmIHN0
cnVjdAogIHsKICAgIGxvbmcgaW50IHF1b3Q7CiAgICBsb25nIGludCByZW07CiAgfSBsZGl2X3Q7
CiMgMTMzICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMKZXh0ZXJuIHNpemVfdCBfX2N0eXBlX2dl
dF9tYl9jdXJfbWF4ICh2b2lkKSA7CgoKCmV4dGVybiBkb3VibGUgYXRvZiAoX19jb25zdCBjaGFy
ICpfX25wdHIpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykpOwoKZXh0ZXJuIGludCBhdG9pIChf
X2NvbnN0IGNoYXIgKl9fbnB0cikgX19hdHRyaWJ1dGVfXyAoKF9fcHVyZV9fKSk7CgpleHRlcm4g
bG9uZyBpbnQgYXRvbCAoX19jb25zdCBjaGFyICpfX25wdHIpIF9fYXR0cmlidXRlX18gKChfX3B1
cmVfXykpOwoKCgpfX2V4dGVuc2lvbl9fIGV4dGVybiBsb25nIGxvbmcgaW50IGF0b2xsIChfX2Nv
bnN0IGNoYXIgKl9fbnB0cikKICAgICBfX2F0dHJpYnV0ZV9fICgoX19wdXJlX18pKTsKCgoKZXh0
ZXJuIGRvdWJsZSBzdHJ0b2QgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAg
ICAgICAgICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0cikgOwojIDE2MyAiL3Vz
ci9pbmNsdWRlL3N0ZGxpYi5oIiAzCmV4dGVybiBsb25nIGludCBzdHJ0b2wgKF9fY29uc3QgY2hh
ciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jl
c3RyaWN0IF9fZW5kcHRyLCBpbnQgX19iYXNlKSA7CgpleHRlcm4gdW5zaWduZWQgbG9uZyBpbnQg
c3RydG91bCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLCBpbnQgX19iYXNl
KQogICAgIDsKCgoKX19leHRlbnNpb25fXwpleHRlcm4gbG9uZyBsb25nIGludCBzdHJ0b3EgKF9f
Y29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpIDsKCl9fZXh0ZW5zaW9u
X18KZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgc3RydG91cSAoX19jb25zdCBjaGFyICpf
X3Jlc3RyaWN0IF9fbnB0ciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2hhciAqKl9fcmVzdHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpCiAgICAgOwoKCgoKCgpfX2V4
dGVuc2lvbl9fCmV4dGVybiBsb25nIGxvbmcgaW50IHN0cnRvbGwgKF9fY29uc3QgY2hhciAqX19y
ZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jl
c3RyaWN0IF9fZW5kcHRyLCBpbnQgX19iYXNlKSA7CgpfX2V4dGVuc2lvbl9fCmV4dGVybiB1bnNp
Z25lZCBsb25nIGxvbmcgaW50IHN0cnRvdWxsIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19u
cHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqKl9fcmVz
dHJpY3QgX19lbmRwdHIsIGludCBfX2Jhc2UpCiAgICAgOwojIDI1MCAiL3Vzci9pbmNsdWRlL3N0
ZGxpYi5oIiAzCmV4dGVybiBkb3VibGUgX19zdHJ0b2RfaW50ZXJuYWwgKF9fY29uc3QgY2hhciAq
X19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIg
KipfX3Jlc3RyaWN0IF9fZW5kcHRyLCBpbnQgX19ncm91cCkKICAgICA7CmV4dGVybiBmbG9hdCBf
X3N0cnRvZl9pbnRlcm5hbCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwgaW50
IF9fZ3JvdXApCiAgICAgOwpleHRlcm4gbG9uZyBkb3VibGUgX19zdHJ0b2xkX2ludGVybmFsIChf
X2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IF9fZ3JvdXApIDsKCmV4dGVybiBsb25nIGludCBf
X3N0cnRvbF9pbnRlcm5hbCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgX19iYXNlLCBpbnQgX19ncm91
cCkgOwoKCgpleHRlcm4gdW5zaWduZWQgbG9uZyBpbnQgX19zdHJ0b3VsX2ludGVybmFsIChfX2Nv
bnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjaGFyICoqX19yZXN0cmljdCBfX2VuZHB0ciwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IF9fYmFzZSwgaW50IF9fZ3JvdXAp
IDsKCgoKCl9fZXh0ZW5zaW9uX18KZXh0ZXJuIGxvbmcgbG9uZyBpbnQgX19zdHJ0b2xsX2ludGVy
bmFsIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBfX2Jhc2UsIGludCBfX2dyb3Vw
KSA7CgoKCl9fZXh0ZW5zaW9uX18KZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQgX19zdHJ0
b3VsbF9pbnRlcm5hbCAoX19jb25zdCBjaGFyICoKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgX19yZXN0cmljdCBfX25wdHIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKipfX3Jlc3RyaWN0IF9f
ZW5kcHRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbnQgX19iYXNlLCBpbnQgX19ncm91cCkKICAgICA7CgoKCgoKCgpleHRlcm4gX19pbmxpbmUg
ZG91YmxlCnN0cnRvZCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9fbnB0ciwgY2hhciAqKl9f
cmVzdHJpY3QgX19lbmRwdHIpCnsKICByZXR1cm4gX19zdHJ0b2RfaW50ZXJuYWwgKF9fbnB0ciwg
X19lbmRwdHIsIDApOwp9CmV4dGVybiBfX2lubGluZSBsb25nIGludApzdHJ0b2wgKF9fY29uc3Qg
Y2hhciAqX19yZXN0cmljdCBfX25wdHIsIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLAogICAg
ICAgIGludCBfX2Jhc2UpCnsKICByZXR1cm4gX19zdHJ0b2xfaW50ZXJuYWwgKF9fbnB0ciwgX19l
bmRwdHIsIF9fYmFzZSwgMCk7Cn0KZXh0ZXJuIF9faW5saW5lIHVuc2lnbmVkIGxvbmcgaW50CnN0
cnRvdWwgKF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBfX25wdHIsIGNoYXIgKipfX3Jlc3RyaWN0
IF9fZW5kcHRyLAogICAgICAgICBpbnQgX19iYXNlKQp7CiAgcmV0dXJuIF9fc3RydG91bF9pbnRl
cm5hbCAoX19ucHRyLCBfX2VuZHB0ciwgX19iYXNlLCAwKTsKfQojIDMyNSAiL3Vzci9pbmNsdWRl
L3N0ZGxpYi5oIiAzCl9fZXh0ZW5zaW9uX18gZXh0ZXJuIF9faW5saW5lIGxvbmcgbG9uZyBpbnQK
c3RydG9xIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLCBjaGFyICoqX19yZXN0cmlj
dCBfX2VuZHB0ciwKICAgICAgICBpbnQgX19iYXNlKQp7CiAgcmV0dXJuIF9fc3RydG9sbF9pbnRl
cm5hbCAoX19ucHRyLCBfX2VuZHB0ciwgX19iYXNlLCAwKTsKfQpfX2V4dGVuc2lvbl9fIGV4dGVy
biBfX2lubGluZSB1bnNpZ25lZCBsb25nIGxvbmcgaW50CnN0cnRvdXEgKF9fY29uc3QgY2hhciAq
X19yZXN0cmljdCBfX25wdHIsIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRyLAogICAgICAgICBp
bnQgX19iYXNlKQp7CiAgcmV0dXJuIF9fc3RydG91bGxfaW50ZXJuYWwgKF9fbnB0ciwgX19lbmRw
dHIsIF9fYmFzZSwgMCk7Cn0KCgoKX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxpbmUgbG9uZyBs
b25nIGludApzdHJ0b2xsIChfX2NvbnN0IGNoYXIgKl9fcmVzdHJpY3QgX19ucHRyLCBjaGFyICoq
X19yZXN0cmljdCBfX2VuZHB0ciwKICAgICAgICAgaW50IF9fYmFzZSkKewogIHJldHVybiBfX3N0
cnRvbGxfaW50ZXJuYWwgKF9fbnB0ciwgX19lbmRwdHIsIF9fYmFzZSwgMCk7Cn0KX19leHRlbnNp
b25fXyBleHRlcm4gX19pbmxpbmUgdW5zaWduZWQgbG9uZyBsb25nIGludApzdHJ0b3VsbCAoX19j
b25zdCBjaGFyICogX19yZXN0cmljdCBfX25wdHIsIGNoYXIgKipfX3Jlc3RyaWN0IF9fZW5kcHRy
LAogICAgICAgICAgaW50IF9fYmFzZSkKewogIHJldHVybiBfX3N0cnRvdWxsX2ludGVybmFsIChf
X25wdHIsIF9fZW5kcHRyLCBfX2Jhc2UsIDApOwp9CgoKZXh0ZXJuIF9faW5saW5lIGRvdWJsZQph
dG9mIChfX2NvbnN0IGNoYXIgKl9fbnB0cikKewogIHJldHVybiBzdHJ0b2QgKF9fbnB0ciwgKGNo
YXIgKiopICgodm9pZCAqKTApKTsKfQpleHRlcm4gX19pbmxpbmUgaW50CmF0b2kgKF9fY29uc3Qg
Y2hhciAqX19ucHRyKQp7CiAgcmV0dXJuIChpbnQpIHN0cnRvbCAoX19ucHRyLCAoY2hhciAqKikg
KCh2b2lkICopMCksIDEwKTsKfQpleHRlcm4gX19pbmxpbmUgbG9uZyBpbnQKYXRvbCAoX19jb25z
dCBjaGFyICpfX25wdHIpCnsKICByZXR1cm4gc3RydG9sIChfX25wdHIsIChjaGFyICoqKSAoKHZv
aWQgKikwKSwgMTApOwp9CgoKX19leHRlbnNpb25fXyBleHRlcm4gX19pbmxpbmUgbG9uZyBsb25n
IGludAphdG9sbCAoX19jb25zdCBjaGFyICpfX25wdHIpCnsKICByZXR1cm4gc3RydG9sbCAoX19u
cHRyLCAoY2hhciAqKikgKCh2b2lkICopMCksIDEwKTsKfQojIDM4NCAiL3Vzci9pbmNsdWRlL3N0
ZGxpYi5oIiAzCmV4dGVybiBjaGFyICpsNjRhIChsb25nIGludCBfX24pIDsKCgpleHRlcm4gbG9u
ZyBpbnQgYTY0bCAoX19jb25zdCBjaGFyICpfX3MpIF9fYXR0cmlidXRlX18gKChfX3B1cmVfXykp
OwoKCiMgMSAiL3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAxIDMKIyAyOCAiL3Vzci9pbmNsdWRl
L3N5cy90eXBlcy5oIiAzCgoKCgoKCnR5cGVkZWYgX191X2NoYXIgdV9jaGFyOwp0eXBlZGVmIF9f
dV9zaG9ydCB1X3Nob3J0Owp0eXBlZGVmIF9fdV9pbnQgdV9pbnQ7CnR5cGVkZWYgX191X2xvbmcg
dV9sb25nOwp0eXBlZGVmIF9fcXVhZF90IHF1YWRfdDsKdHlwZWRlZiBfX3VfcXVhZF90IHVfcXVh
ZF90Owp0eXBlZGVmIF9fZnNpZF90IGZzaWRfdDsKCgoKCnR5cGVkZWYgX19sb2ZmX3QgbG9mZl90
OwoKCgp0eXBlZGVmIF9faW5vX3QgaW5vX3Q7CiMgNjEgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMu
aCIgMwp0eXBlZGVmIF9fZGV2X3QgZGV2X3Q7CgoKCgp0eXBlZGVmIF9fZ2lkX3QgZ2lkX3Q7CgoK
Cgp0eXBlZGVmIF9fbW9kZV90IG1vZGVfdDsKCgoKCnR5cGVkZWYgX19ubGlua190IG5saW5rX3Q7
CgoKCgp0eXBlZGVmIF9fdWlkX3QgdWlkX3Q7CgoKCgoKdHlwZWRlZiBfX29mZl90IG9mZl90Owoj
IDk5ICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKdHlwZWRlZiBfX3BpZF90IHBpZF90OwoK
CgoKdHlwZWRlZiBfX2lkX3QgaWRfdDsKCgoKCnR5cGVkZWYgX19zc2l6ZV90IHNzaXplX3Q7CgoK
CgoKdHlwZWRlZiBfX2RhZGRyX3QgZGFkZHJfdDsKdHlwZWRlZiBfX2NhZGRyX3QgY2FkZHJfdDsK
CgoKCgp0eXBlZGVmIF9fa2V5X3Qga2V5X3Q7CiMgMTQ2ICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVz
LmgiIDMKIyAxICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4Ni1wYy1saW51eC1n
bnUvMy4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMwojIDE0NyAiL3Vzci9pbmNsdWRlL3N5cy90eXBl
cy5oIiAyIDMKCgoKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1bG9uZzsKdHlwZWRlZiB1bnNp
Z25lZCBzaG9ydCBpbnQgdXNob3J0Owp0eXBlZGVmIHVuc2lnbmVkIGludCB1aW50OwojIDE5MCAi
L3Vzci9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgaW50IGludDhfdCBfX2F0dHJpYnV0
ZV9fICgoX19tb2RlX18gKF9fUUlfXykpKTsKdHlwZWRlZiBpbnQgaW50MTZfdCBfX2F0dHJpYnV0
ZV9fICgoX19tb2RlX18gKF9fSElfXykpKTsKdHlwZWRlZiBpbnQgaW50MzJfdCBfX2F0dHJpYnV0
ZV9fICgoX19tb2RlX18gKF9fU0lfXykpKTsKdHlwZWRlZiBpbnQgaW50NjRfdCBfX2F0dHJpYnV0
ZV9fICgoX19tb2RlX18gKF9fRElfXykpKTsKCgp0eXBlZGVmIHVuc2lnbmVkIGludCB1X2ludDhf
dCBfX2F0dHJpYnV0ZV9fICgoX19tb2RlX18gKF9fUUlfXykpKTsKdHlwZWRlZiB1bnNpZ25lZCBp
bnQgdV9pbnQxNl90IF9fYXR0cmlidXRlX18gKChfX21vZGVfXyAoX19ISV9fKSkpOwp0eXBlZGVm
IHVuc2lnbmVkIGludCB1X2ludDMyX3QgX19hdHRyaWJ1dGVfXyAoKF9fbW9kZV9fIChfX1NJX18p
KSk7CnR5cGVkZWYgdW5zaWduZWQgaW50IHVfaW50NjRfdCBfX2F0dHJpYnV0ZV9fICgoX19tb2Rl
X18gKF9fRElfXykpKTsKCnR5cGVkZWYgaW50IHJlZ2lzdGVyX3QgX19hdHRyaWJ1dGVfXyAoKF9f
bW9kZV9fIChfX3dvcmRfXykpKTsKIyAyMTUgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMwoj
IDEgIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0LmgiIDEgMwojIDMxICIvdXNyL2luY2x1ZGUvc3lz
L3NlbGVjdC5oIiAzCiMgMSAiL3Vzci9pbmNsdWRlL2JpdHMvc2VsZWN0LmgiIDEgMwojIDMyICIv
dXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAyIDMKCgojIDEgIi91c3IvaW5jbHVkZS9iaXRzL3Np
Z3NldC5oIiAxIDMKIyAyMyAiL3Vzci9pbmNsdWRlL2JpdHMvc2lnc2V0LmgiIDMKdHlwZWRlZiBp
bnQgX19zaWdfYXRvbWljX3Q7CgoKCgp0eXBlZGVmIHN0cnVjdAogIHsKICAgIHVuc2lnbmVkIGxv
bmcgaW50IF9fdmFsWygxMDI0IC8gKDggKiBzaXplb2YgKHVuc2lnbmVkIGxvbmcgaW50KSkpXTsK
ICB9IF9fc2lnc2V0X3Q7CiMgMzUgIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0LmgiIDIgMwoKCgp0
eXBlZGVmIF9fc2lnc2V0X3Qgc2lnc2V0X3Q7CgoKCgoKCgojIDEgIi91c3IvaW5jbHVkZS9iaXRz
L3RpbWUuaCIgMSAzCiMgNjcgIi91c3IvaW5jbHVkZS9iaXRzL3RpbWUuaCIgMwpzdHJ1Y3QgdGlt
ZXZhbAogIHsKICAgIF9fdGltZV90IHR2X3NlYzsKICAgIF9fc3VzZWNvbmRzX3QgdHZfdXNlYzsK
ICB9OwojIDQ3ICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAyIDMKCgp0eXBlZGVmIF9fc3Vz
ZWNvbmRzX3Qgc3VzZWNvbmRzX3Q7CgoKCgoKdHlwZWRlZiBsb25nIGludCBfX2ZkX21hc2s7CgoK
CgoKCgp0eXBlZGVmIHN0cnVjdAogIHsKCgoKCgoKICAgIF9fZmRfbWFzayBfX2Zkc19iaXRzWzEw
MjQgLyAoOCAqIHNpemVvZiAoX19mZF9tYXNrKSldOwoKCiAgfSBmZF9zZXQ7CgoKCgoKCnR5cGVk
ZWYgX19mZF9tYXNrIGZkX21hc2s7CiMgOTUgIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0LmgiIDMK
CgoKCgoKCmV4dGVybiBpbnQgc2VsZWN0IChpbnQgX19uZmRzLCBmZF9zZXQgKl9fcmVzdHJpY3Qg
X19yZWFkZmRzLAogICAgICAgICAgICAgICAgICAgZmRfc2V0ICpfX3Jlc3RyaWN0IF9fd3JpdGVm
ZHMsCiAgICAgICAgICAgICAgICAgICBmZF9zZXQgKl9fcmVzdHJpY3QgX19leGNlcHRmZHMsCiAg
ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdGltZXZhbCAqX19yZXN0cmljdCBfX3RpbWVvdXQpIDsK
IyAxMTggIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0LmgiIDMKCiMgMjE2ICIvdXNyL2luY2x1ZGUv
c3lzL3R5cGVzLmgiIDIgMwoKCiMgMSAiL3Vzci9pbmNsdWRlL3N5cy9zeXNtYWNyb3MuaCIgMSAz
CiMgMjE5ICIvdXNyL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIgMwojIDIzMCAiL3Vzci9pbmNsdWRl
L3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgX19ibGtjbnRfdCBibGtjbnRfdDsKCgoKdHlwZWRlZiBf
X2ZzYmxrY250X3QgZnNibGtjbnRfdDsKCgoKdHlwZWRlZiBfX2ZzZmlsY250X3QgZnNmaWxjbnRf
dDsKIyAyNjIgIi91c3IvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMwoKIyAzOTEgIi91c3IvaW5jbHVk
ZS9zdGRsaWIuaCIgMiAzCgoKCgoKCmV4dGVybiBsb25nIGludCByYW5kb20gKHZvaWQpIDsKCgpl
eHRlcm4gdm9pZCBzcmFuZG9tICh1bnNpZ25lZCBpbnQgX19zZWVkKSA7CgoKCgoKZXh0ZXJuIGNo
YXIgKmluaXRzdGF0ZSAodW5zaWduZWQgaW50IF9fc2VlZCwgY2hhciAqX19zdGF0ZWJ1ZiwKICAg
ICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IF9fc3RhdGVsZW4pIDsKCgoKZXh0ZXJuIGNoYXIg
KnNldHN0YXRlIChjaGFyICpfX3N0YXRlYnVmKSA7CgoKCgoKCgpzdHJ1Y3QgcmFuZG9tX2RhdGEK
ICB7CiAgICBpbnQzMl90ICpmcHRyOwogICAgaW50MzJfdCAqcnB0cjsKICAgIGludDMyX3QgKnN0
YXRlOwogICAgaW50IHJhbmRfdHlwZTsKICAgIGludCByYW5kX2RlZzsKICAgIGludCByYW5kX3Nl
cDsKICAgIGludDMyX3QgKmVuZF9wdHI7CiAgfTsKCmV4dGVybiBpbnQgcmFuZG9tX3IgKHN0cnVj
dCByYW5kb21fZGF0YSAqX19yZXN0cmljdCBfX2J1ZiwKICAgICAgICAgICAgICAgICAgICAgaW50
MzJfdCAqX19yZXN0cmljdCBfX3Jlc3VsdCkgOwoKZXh0ZXJuIGludCBzcmFuZG9tX3IgKHVuc2ln
bmVkIGludCBfX3NlZWQsIHN0cnVjdCByYW5kb21fZGF0YSAqX19idWYpIDsKCmV4dGVybiBpbnQg
aW5pdHN0YXRlX3IgKHVuc2lnbmVkIGludCBfX3NlZWQsIGNoYXIgKl9fcmVzdHJpY3QgX19zdGF0
ZWJ1ZiwKICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IF9fc3RhdGVsZW4sCiAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCByYW5kb21fZGF0YSAqX19yZXN0cmljdCBfX2J1ZikgOwoK
ZXh0ZXJuIGludCBzZXRzdGF0ZV9yIChjaGFyICpfX3Jlc3RyaWN0IF9fc3RhdGVidWYsCiAgICAg
ICAgICAgICAgICAgICAgICAgc3RydWN0IHJhbmRvbV9kYXRhICpfX3Jlc3RyaWN0IF9fYnVmKSA7
CgoKCgoKZXh0ZXJuIGludCByYW5kICh2b2lkKSA7CgpleHRlcm4gdm9pZCBzcmFuZCAodW5zaWdu
ZWQgaW50IF9fc2VlZCkgOwoKCgpleHRlcm4gaW50IHJhbmRfciAodW5zaWduZWQgaW50ICpfX3Nl
ZWQpIDsKCgoKCgoKCmV4dGVybiBkb3VibGUgZHJhbmQ0OCAodm9pZCkgOwpleHRlcm4gZG91Ymxl
IGVyYW5kNDggKHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNdKSA7CgoKZXh0ZXJuIGxvbmcg
aW50IGxyYW5kNDggKHZvaWQpIDsKZXh0ZXJuIGxvbmcgaW50IG5yYW5kNDggKHVuc2lnbmVkIHNo
b3J0IGludCBfX3hzdWJpWzNdKSA7CgoKZXh0ZXJuIGxvbmcgaW50IG1yYW5kNDggKHZvaWQpIDsK
ZXh0ZXJuIGxvbmcgaW50IGpyYW5kNDggKHVuc2lnbmVkIHNob3J0IGludCBfX3hzdWJpWzNdKSA7
CgoKZXh0ZXJuIHZvaWQgc3JhbmQ0OCAobG9uZyBpbnQgX19zZWVkdmFsKSA7CmV4dGVybiB1bnNp
Z25lZCBzaG9ydCBpbnQgKnNlZWQ0OCAodW5zaWduZWQgc2hvcnQgaW50IF9fc2VlZDE2dlszXSkg
OwpleHRlcm4gdm9pZCBsY29uZzQ4ICh1bnNpZ25lZCBzaG9ydCBpbnQgX19wYXJhbVs3XSkgOwoK
CgoKCnN0cnVjdCBkcmFuZDQ4X2RhdGEKICB7CiAgICB1bnNpZ25lZCBzaG9ydCBpbnQgX194WzNd
OwogICAgdW5zaWduZWQgc2hvcnQgaW50IF9fb2xkX3hbM107CiAgICB1bnNpZ25lZCBzaG9ydCBp
bnQgX19jOwogICAgdW5zaWduZWQgc2hvcnQgaW50IF9faW5pdDsKICAgIHVuc2lnbmVkIGxvbmcg
bG9uZyBpbnQgX19hOwogIH07CgoKZXh0ZXJuIGludCBkcmFuZDQ4X3IgKHN0cnVjdCBkcmFuZDQ4
X2RhdGEgKl9fcmVzdHJpY3QgX19idWZmZXIsCiAgICAgICAgICAgICAgICAgICAgICBkb3VibGUg
Kl9fcmVzdHJpY3QgX19yZXN1bHQpIDsKZXh0ZXJuIGludCBlcmFuZDQ4X3IgKHVuc2lnbmVkIHNo
b3J0IGludCBfX3hzdWJpWzNdLAogICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRyYW5kNDhf
ZGF0YSAqX19yZXN0cmljdCBfX2J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgIGRvdWJsZSAq
X19yZXN0cmljdCBfX3Jlc3VsdCkgOwoKCmV4dGVybiBpbnQgbHJhbmQ0OF9yIChzdHJ1Y3QgZHJh
bmQ0OF9kYXRhICpfX3Jlc3RyaWN0IF9fYnVmZmVyLAogICAgICAgICAgICAgICAgICAgICAgbG9u
ZyBpbnQgKl9fcmVzdHJpY3QgX19yZXN1bHQpIDsKZXh0ZXJuIGludCBucmFuZDQ4X3IgKHVuc2ln
bmVkIHNob3J0IGludCBfX3hzdWJpWzNdLAogICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRy
YW5kNDhfZGF0YSAqX19yZXN0cmljdCBfX2J1ZmZlciwKICAgICAgICAgICAgICAgICAgICAgIGxv
bmcgaW50ICpfX3Jlc3RyaWN0IF9fcmVzdWx0KSA7CgoKZXh0ZXJuIGludCBtcmFuZDQ4X3IgKHN0
cnVjdCBkcmFuZDQ4X2RhdGEgKl9fcmVzdHJpY3QgX19idWZmZXIsCiAgICAgICAgICAgICAgICAg
ICAgICBsb25nIGludCAqX19yZXN0cmljdCBfX3Jlc3VsdCkgOwpleHRlcm4gaW50IGpyYW5kNDhf
ciAodW5zaWduZWQgc2hvcnQgaW50IF9feHN1YmlbM10sCiAgICAgICAgICAgICAgICAgICAgICBz
dHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX3Jlc3RyaWN0IF9fYnVmZmVyLAogICAgICAgICAgICAgICAg
ICAgICAgbG9uZyBpbnQgKl9fcmVzdHJpY3QgX19yZXN1bHQpIDsKCgpleHRlcm4gaW50IHNyYW5k
NDhfciAobG9uZyBpbnQgX19zZWVkdmFsLCBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX2J1ZmZlcikK
ICAgICA7CgpleHRlcm4gaW50IHNlZWQ0OF9yICh1bnNpZ25lZCBzaG9ydCBpbnQgX19zZWVkMTZ2
WzNdLAogICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJhbmQ0OF9kYXRhICpfX2J1ZmZlcikg
OwoKZXh0ZXJuIGludCBsY29uZzQ4X3IgKHVuc2lnbmVkIHNob3J0IGludCBfX3BhcmFtWzddLAog
ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRyYW5kNDhfZGF0YSAqX19idWZmZXIpIDsKIyA1
MzYgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMwpleHRlcm4gdm9pZCAqcmVhbGxvYyAodm9pZCAq
X19wdHIsIHNpemVfdCBfX3NpemUpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSk7CgpleHRl
cm4gdm9pZCBmcmVlICh2b2lkICpfX3B0cikgOwoKCgpleHRlcm4gdm9pZCBjZnJlZSAodm9pZCAq
X19wdHIpIDsKCgoKIyAxICIvdXNyL2luY2x1ZGUvYWxsb2NhLmgiIDEgMwojIDI1ICIvdXNyL2lu
Y2x1ZGUvYWxsb2NhLmgiIDMKIyAxICIvdXNyL2xvY2FsL2djYy0zLjEvbGliL2djYy1saWIvaTY4
Ni1wYy1saW51eC1nbnUvMy4xL2luY2x1ZGUvc3RkZGVmLmgiIDEgMwojIDI2ICIvdXNyL2luY2x1
ZGUvYWxsb2NhLmgiIDIgMwoKCgoKCgoKZXh0ZXJuIHZvaWQgKmFsbG9jYSAoc2l6ZV90IF9fc2l6
ZSkgOwoKCgoKCgojIDU0NyAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAyIDMKCgoKCmV4dGVybiB2
b2lkICp2YWxsb2MgKHNpemVfdCBfX3NpemUpIF9fYXR0cmlidXRlX18gKChfX21hbGxvY19fKSk7
CiMgNTYxICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMKZXh0ZXJuIHZvaWQgYWJvcnQgKHZvaWQp
IF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKTsKCgoKZXh0ZXJuIGludCBhdGV4aXQgKHZv
aWQgKCpfX2Z1bmMpICh2b2lkKSkgOwoKCgoKZXh0ZXJuIGludCBvbl9leGl0ICh2b2lkICgqX19m
dW5jKSAoaW50IF9fc3RhdHVzLCB2b2lkICpfX2FyZyksIHZvaWQgKl9fYXJnKQogICAgIDsKCgoK
CgpleHRlcm4gdm9pZCBleGl0IChpbnQgX19zdGF0dXMpIF9fYXR0cmlidXRlX18gKChfX25vcmV0
dXJuX18pKTsKIyA1ODcgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMwpleHRlcm4gY2hhciAqZ2V0
ZW52IChfX2NvbnN0IGNoYXIgKl9fbmFtZSkgOwoKCgpleHRlcm4gY2hhciAqX19zZWN1cmVfZ2V0
ZW52IChfX2NvbnN0IGNoYXIgKl9fbmFtZSkgOwoKCgoKCmV4dGVybiBpbnQgcHV0ZW52IChjaGFy
ICpfX3N0cmluZykgOwoKCgoKCmV4dGVybiBpbnQgc2V0ZW52IChfX2NvbnN0IGNoYXIgKl9fbmFt
ZSwgX19jb25zdCBjaGFyICpfX3ZhbHVlLCBpbnQgX19yZXBsYWNlKQogICAgIDsKCgpleHRlcm4g
aW50IHVuc2V0ZW52IChfX2NvbnN0IGNoYXIgKl9fbmFtZSkgOwoKCgoKCgpleHRlcm4gaW50IGNs
ZWFyZW52ICh2b2lkKSA7CiMgNjIzICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMKZXh0ZXJuIGNo
YXIgKm1rdGVtcCAoY2hhciAqX190ZW1wbGF0ZSkgOwoKCgoKCgoKZXh0ZXJuIGludCBta3N0ZW1w
IChjaGFyICpfX3RlbXBsYXRlKSA7CiMgNjUwICIvdXNyL2luY2x1ZGUvc3RkbGliLmgiIDMKZXh0
ZXJuIGNoYXIgKm1rZHRlbXAgKGNoYXIgKl9fdGVtcGxhdGUpIDsKCgoKCmV4dGVybiBpbnQgc3lz
dGVtIChfX2NvbnN0IGNoYXIgKl9fY29tbWFuZCkgOwojIDY3MiAiL3Vzci9pbmNsdWRlL3N0ZGxp
Yi5oIiAzCmV4dGVybiBjaGFyICpyZWFscGF0aCAoX19jb25zdCBjaGFyICpfX3Jlc3RyaWN0IF9f
bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9fcmVzb2x2ZWQp
IDsKCgoKCgoKdHlwZWRlZiBpbnQgKCpfX2NvbXBhcl9mbl90KSAoX19jb25zdCB2b2lkICosIF9f
Y29uc3Qgdm9pZCAqKTsKIyA2ODkgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMwpleHRlcm4gdm9p
ZCAqYnNlYXJjaCAoX19jb25zdCB2b2lkICpfX2tleSwgX19jb25zdCB2b2lkICpfX2Jhc2UsCiAg
ICAgICAgICAgICAgICAgICAgICBzaXplX3QgX19ubWVtYiwgc2l6ZV90IF9fc2l6ZSwgX19jb21w
YXJfZm5fdCBfX2NvbXBhcik7CgoKCmV4dGVybiB2b2lkIHFzb3J0ICh2b2lkICpfX2Jhc2UsIHNp
emVfdCBfX25tZW1iLCBzaXplX3QgX19zaXplLAogICAgICAgICAgICAgICAgICAgX19jb21wYXJf
Zm5fdCBfX2NvbXBhcik7CgoKCmV4dGVybiBpbnQgYWJzIChpbnQgX194KSBfX2F0dHJpYnV0ZV9f
ICgoX19jb25zdF9fKSk7CmV4dGVybiBsb25nIGludCBsYWJzIChsb25nIGludCBfX3gpIF9fYXR0
cmlidXRlX18gKChfX2NvbnN0X18pKTsKIyA3MTAgIi91c3IvaW5jbHVkZS9zdGRsaWIuaCIgMwpl
eHRlcm4gZGl2X3QgZGl2IChpbnQgX19udW1lciwgaW50IF9fZGVub20pCiAgICAgX19hdHRyaWJ1
dGVfXyAoKF9fY29uc3RfXykpOwpleHRlcm4gbGRpdl90IGxkaXYgKGxvbmcgaW50IF9fbnVtZXIs
IGxvbmcgaW50IF9fZGVub20pCiAgICAgX19hdHRyaWJ1dGVfXyAoKF9fY29uc3RfXykpOwojIDcy
OCAiL3Vzci9pbmNsdWRlL3N0ZGxpYi5oIiAzCmV4dGVybiBjaGFyICplY3Z0IChkb3VibGUgX192
YWx1ZSwgaW50IF9fbmRpZ2l0LCBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwKICAgICAgICAgICAg
ICAgICAgIGludCAqX19yZXN0cmljdCBfX3NpZ24pIDsKCgoKCmV4dGVybiBjaGFyICpmY3Z0IChk
b3VibGUgX192YWx1ZSwgaW50IF9fbmRpZ2l0LCBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwKICAg
ICAgICAgICAgICAgICAgIGludCAqX19yZXN0cmljdCBfX3NpZ24pIDsKCgoKCmV4dGVybiBjaGFy
ICpnY3Z0IChkb3VibGUgX192YWx1ZSwgaW50IF9fbmRpZ2l0LCBjaGFyICpfX2J1ZikgOwoKCgoK
ZXh0ZXJuIGNoYXIgKnFlY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQgX19uZGlnaXQsCiAg
ICAgICAgICAgICAgICAgICAgaW50ICpfX3Jlc3RyaWN0IF9fZGVjcHQsIGludCAqX19yZXN0cmlj
dCBfX3NpZ24pIDsKZXh0ZXJuIGNoYXIgKnFmY3Z0IChsb25nIGRvdWJsZSBfX3ZhbHVlLCBpbnQg
X19uZGlnaXQsCiAgICAgICAgICAgICAgICAgICAgaW50ICpfX3Jlc3RyaWN0IF9fZGVjcHQsIGlu
dCAqX19yZXN0cmljdCBfX3NpZ24pIDsKZXh0ZXJuIGNoYXIgKnFnY3Z0IChsb25nIGRvdWJsZSBf
X3ZhbHVlLCBpbnQgX19uZGlnaXQsIGNoYXIgKl9fYnVmKSA7CgoKCgpleHRlcm4gaW50IGVjdnRf
ciAoZG91YmxlIF9fdmFsdWUsIGludCBfX25kaWdpdCwgaW50ICpfX3Jlc3RyaWN0IF9fZGVjcHQs
CiAgICAgICAgICAgICAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19zaWduLCBjaGFyICpfX3Jlc3Ry
aWN0IF9fYnVmLAogICAgICAgICAgICAgICAgICAgc2l6ZV90IF9fbGVuKSA7CmV4dGVybiBpbnQg
ZmN2dF9yIChkb3VibGUgX192YWx1ZSwgaW50IF9fbmRpZ2l0LCBpbnQgKl9fcmVzdHJpY3QgX19k
ZWNwdCwKICAgICAgICAgICAgICAgICAgIGludCAqX19yZXN0cmljdCBfX3NpZ24sIGNoYXIgKl9f
cmVzdHJpY3QgX19idWYsCiAgICAgICAgICAgICAgICAgICBzaXplX3QgX19sZW4pIDsKCmV4dGVy
biBpbnQgcWVjdnRfciAobG9uZyBkb3VibGUgX192YWx1ZSwgaW50IF9fbmRpZ2l0LAogICAgICAg
ICAgICAgICAgICAgIGludCAqX19yZXN0cmljdCBfX2RlY3B0LCBpbnQgKl9fcmVzdHJpY3QgX19z
aWduLAogICAgICAgICAgICAgICAgICAgIGNoYXIgKl9fcmVzdHJpY3QgX19idWYsIHNpemVfdCBf
X2xlbikgOwpleHRlcm4gaW50IHFmY3Z0X3IgKGxvbmcgZG91YmxlIF9fdmFsdWUsIGludCBfX25k
aWdpdCwKICAgICAgICAgICAgICAgICAgICBpbnQgKl9fcmVzdHJpY3QgX19kZWNwdCwgaW50ICpf
X3Jlc3RyaWN0IF9fc2lnbiwKICAgICAgICAgICAgICAgICAgICBjaGFyICpfX3Jlc3RyaWN0IF9f
YnVmLCBzaXplX3QgX19sZW4pIDsKCgoKCgoKZXh0ZXJuIGludCBtYmxlbiAoX19jb25zdCBjaGFy
ICpfX3MsIHNpemVfdCBfX24pIDsKCgpleHRlcm4gaW50IG1idG93YyAod2NoYXJfdCAqX19yZXN0
cmljdCBfX3B3YywKICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hhciAqX19yZXN0cmljdCBf
X3MsIHNpemVfdCBfX24pIDsKCgpleHRlcm4gaW50IHdjdG9tYiAoY2hhciAqX19zLCB3Y2hhcl90
IF9fd2NoYXIpIDsKCgoKZXh0ZXJuIHNpemVfdCBtYnN0b3djcyAod2NoYXJfdCAqX19yZXN0cmlj
dCBfX3B3Y3MsCiAgICAgICAgICAgICAgICAgICAgICAgIF9fY29uc3QgY2hhciAqX19yZXN0cmlj
dCBfX3MsIHNpemVfdCBfX24pIDsKCmV4dGVybiBzaXplX3Qgd2NzdG9tYnMgKGNoYXIgKl9fcmVz
dHJpY3QgX19zLAogICAgICAgICAgICAgICAgICAgICAgICBfX2NvbnN0IHdjaGFyX3QgKl9fcmVz
dHJpY3QgX19wd2NzLCBzaXplX3QgX19uKQogICAgIDsKCgoKCgoKCmV4dGVybiBpbnQgcnBtYXRj
aCAoX19jb25zdCBjaGFyICpfX3Jlc3BvbnNlKSA7CiMgODU4ICIvdXNyL2luY2x1ZGUvc3RkbGli
LmgiIDMKZXh0ZXJuIGludCBnZXRsb2FkYXZnIChkb3VibGUgX19sb2FkYXZnW10sIGludCBfX25l
bGVtKSA7CgoKCgoKCiMgMTcgInNyYy9tYW1lLmgiIDIKCgoKCgoKZXh0ZXJuIGNoYXIgYnVpbGRf
dmVyc2lvbltdOwojIDM2ICJzcmMvbWFtZS5oIgpzdHJ1Y3QgUmVnaW9uSW5mbwp7CiAgICAgICAg
VUlOVDggKiBiYXNlOwogICAgICAgIHNpemVfdCBsZW5ndGg7CiAgICAgICAgVUlOVDMyIHR5cGU7
CiAgICAgICAgVUlOVDMyIGZsYWdzOwp9OwoKc3RydWN0IFJ1bm5pbmdNYWNoaW5lCnsKICAgICAg
ICBzdHJ1Y3QgUmVnaW9uSW5mbyBtZW1vcnlfcmVnaW9uWzMyXTsKICAgICAgICBzdHJ1Y3QgR2Z4
RWxlbWVudCAqZ2Z4WzMyXTsKICAgICAgICBzdHJ1Y3QgbWFtZV9iaXRtYXAgKnNjcmJpdG1hcDsK
ICAgICAgICBzdHJ1Y3QgcmVjdGFuZ2xlIHZpc2libGVfYXJlYTsKICAgICAgICBwZW5fdCAqcGVu
czsKCgoKCiAgICAgICAgcmdiX3QgKnBhbGV0dGU7CiAgICAgICAgVUlOVDE2ICpnYW1lX2NvbG9y
dGFibGU7CgogICAgICAgIHBlbl90ICpyZW1hcHBlZF9jb2xvcnRhYmxlOwoKICAgICAgICBjb25z
dCBzdHJ1Y3QgR2FtZURyaXZlciAqZ2FtZWRydjsKICAgICAgICBjb25zdCBzdHJ1Y3QgSW50ZXJu
YWxNYWNoaW5lRHJpdmVyICpkcnY7CiAgICAgICAgaW50IGNvbG9yX2RlcHRoOwogICAgICAgIGlu
dCBzYW1wbGVfcmF0ZTsKCgoKICAgICAgICBzdHJ1Y3QgR2FtZVNhbXBsZXMgKnNhbXBsZXM7CiAg
ICAgICAgc3RydWN0IElucHV0UG9ydCAqaW5wdXRfcG9ydHM7CgoKICAgICAgICBzdHJ1Y3QgSW5w
dXRQb3J0ICppbnB1dF9wb3J0c19kZWZhdWx0OwogICAgICAgIGludCBvcmllbnRhdGlvbjsKICAg
ICAgICBzdHJ1Y3QgR2Z4RWxlbWVudCAqdWlmb250OwogICAgICAgIGludCB1aWZvbnR3aWR0aCx1
aWZvbnRoZWlnaHQ7CiAgICAgICAgaW50IHVpeG1pbix1aXltaW47CiAgICAgICAgaW50IHVpd2lk
dGgsdWloZWlnaHQ7CiAgICAgICAgaW50IHVpX29yaWVudGF0aW9uOwogICAgICAgIHN0cnVjdCBy
ZWN0YW5nbGUgYWJzb2x1dGVfdmlzaWJsZV9hcmVhOwoKCiAgICAgICAgc3RydWN0IG1hbWVfYml0
bWFwICpkZWJ1Z19iaXRtYXA7CiAgICAgICAgcGVuX3QgKmRlYnVnX3BlbnM7CiAgICAgICAgcGVu
X3QgKmRlYnVnX3JlbWFwcGVkX2NvbG9ydGFibGU7CiAgICAgICAgc3RydWN0IEdmeEVsZW1lbnQg
KmRlYnVnZ2VyX2ZvbnQ7Cn07CiMgMTEwICJzcmMvbWFtZS5oIgpzdHJ1Y3QgR2FtZU9wdGlvbnMK
ewogICAgICAgIHZvaWQgKnJlY29yZDsKICAgICAgICB2b2lkICpwbGF5YmFjazsKICAgICAgICB2
b2lkICpsYW5ndWFnZV9maWxlOwoKICAgICAgICBpbnQgbWFtZV9kZWJ1ZzsKICAgICAgICBpbnQg
Y2hlYXQ7CiAgICAgICAgaW50IGd1aV9ob3N0OwoKICAgICAgICBpbnQgc2FtcGxlcmF0ZTsKICAg
ICAgICBpbnQgdXNlX3NhbXBsZXM7CiAgICAgICAgaW50IHVzZV9maWx0ZXI7CgogICAgICAgIGlu
dCBjb2xvcl9kZXB0aDsKICAgICAgICBpbnQgdmVjdG9yX3dpZHRoOwogICAgICAgIGludCB2ZWN0
b3JfaGVpZ2h0OwogICAgICAgIGludCBkZWJ1Z193aWR0aDsKICAgICAgICBpbnQgZGVidWdfaGVp
Z2h0OwogICAgICAgIGludCBub3JvdGF0ZTsKICAgICAgICBpbnQgcm9yOwogICAgICAgIGludCBy
b2w7CiAgICAgICAgaW50IGZsaXB4OwogICAgICAgIGludCBmbGlweTsKICAgICAgICBpbnQgYmVh
bTsKICAgICAgICBmbG9hdCB2ZWN0b3JfZmxpY2tlcjsKICAgICAgICBpbnQgdHJhbnNsdWNlbmN5
OwogICAgICAgIGludCBhbnRpYWxpYXM7CiAgICAgICAgaW50IHVzZV9hcnR3b3JrOwogICAgICAg
IGNoYXIgc2F2ZWdhbWU7CgoKCgoKCgp9OwojIDE1NyAic3JjL21hbWUuaCIKZXh0ZXJuIHN0cnVj
dCBHYW1lT3B0aW9ucyBvcHRpb25zOwpleHRlcm4gc3RydWN0IFJ1bm5pbmdNYWNoaW5lICpNYWNo
aW5lOwpleHRlcm4gaW50IHBhcnRpYWxfdXBkYXRlX2NvdW50OwojIDE2OSAic3JjL21hbWUuaCIK
aW50IHJ1bl9nYW1lKGludCBnYW1lKTsKaW50IHVwZGF0ZXNjcmVlbih2b2lkKTsKdm9pZCBkcmF3
X3NjcmVlbih2b2lkKTsKCgoKdm9pZCBmb3JjZV9wYXJ0aWFsX3VwZGF0ZShpbnQgc2NhbmxpbmUp
OwoKCnZvaWQgcmVzZXRfcGFydGlhbF91cGRhdGVzKHZvaWQpOwoKCgp2b2lkIHNjaGVkdWxlX2Z1
bGxfcmVmcmVzaCh2b2lkKTsKCnZvaWQgdXBkYXRlX3ZpZGVvX2FuZF9hdWRpbyh2b2lkKTsKCmlu
dCBtYW1lX2hpZ2hzY29yZV9lbmFibGVkKHZvaWQpOwp2b2lkIHNldF9sZWRfc3RhdHVzKGludCBu
dW0saW50IG9uKTsKCgpzdHJ1Y3QgSW50ZXJuYWxNYWNoaW5lRHJpdmVyOwp2b2lkIGV4cGFuZF9t
YWNoaW5lX2RyaXZlcih2b2lkICgqY29uc3RydWN0b3IpKHN0cnVjdCBJbnRlcm5hbE1hY2hpbmVE
cml2ZXIgKiksIHN0cnVjdCBJbnRlcm5hbE1hY2hpbmVEcml2ZXIgKm91dHB1dCk7CiMgNTggInNy
Yy9kcml2ZXIuaCIgMgojIDEgInNyYy9jb21tb24uaCIgMQojIDI0ICJzcmMvY29tbW9uLmgiCnN0
cnVjdCBtYW1lX2JpdG1hcAp7CiAgICAgICAgaW50IHdpZHRoLGhlaWdodDsKICAgICAgICBpbnQg
ZGVwdGg7CiAgICAgICAgdm9pZCAqKmxpbmU7CgoKICAgICAgICB2b2lkICpiYXNlOwogICAgICAg
IGludCByb3dwaXhlbHM7CiAgICAgICAgaW50IHJvd2J5dGVzOwoKCiAgICAgICAgdm9pZCAoKnBs
b3QpKHN0cnVjdCBtYW1lX2JpdG1hcCAqYml0bWFwLGludCB4LGludCB5LHBlbl90IHBlbik7CiAg
ICAgICAgcGVuX3QgKCpyZWFkKShzdHJ1Y3QgbWFtZV9iaXRtYXAgKmJpdG1hcCxpbnQgeCxpbnQg
eSk7CiAgICAgICAgdm9pZCAoKnBsb3RfYm94KShzdHJ1Y3QgbWFtZV9iaXRtYXAgKmJpdG1hcCxp
bnQgeCxpbnQgeSxpbnQgd2lkdGgsaW50IGhlaWdodCxwZW5fdCBwZW4pOwp9OwoKCnN0cnVjdCBS
b21Nb2R1bGUKewogICAgICAgIGNvbnN0IGNoYXIgKl9uYW1lOwogICAgICAgIFVJTlQzMiBfb2Zm
c2V0OwogICAgICAgIFVJTlQzMiBfbGVuZ3RoOwogICAgICAgIFVJTlQzMiBfZmxhZ3M7CiAgICAg
ICAgVUlOVDMyIF9jcmM7Cn07CgoKc3RydWN0IEdhbWVTYW1wbGUKewogICAgICAgIGludCBsZW5n
dGg7CiAgICAgICAgaW50IHNtcGZyZXE7CiAgICAgICAgaW50IHJlc29sdXRpb247CiAgICAgICAg
c2lnbmVkIGNoYXIgZGF0YVsxXTsKfTsKCgpzdHJ1Y3QgR2FtZVNhbXBsZXMKewogICAgICAgIGlu
dCB0b3RhbDsKICAgICAgICBzdHJ1Y3QgR2FtZVNhbXBsZSAqc2FtcGxlWzFdOwp9OwojIDc1ICJz
cmMvY29tbW9uLmgiCmVudW0KewogICAgICAgIFJFR0lPTl9JTlZBTElEID0gMHg4MCwKICAgICAg
ICBSRUdJT05fQ1BVMSwKICAgICAgICBSRUdJT05fQ1BVMiwKICAgICAgICBSRUdJT05fQ1BVMywK
ICAgICAgICBSRUdJT05fQ1BVNCwKICAgICAgICBSRUdJT05fQ1BVNSwKICAgICAgICBSRUdJT05f
Q1BVNiwKICAgICAgICBSRUdJT05fQ1BVNywKICAgICAgICBSRUdJT05fQ1BVOCwKICAgICAgICBS
RUdJT05fR0ZYMSwKICAgICAgICBSRUdJT05fR0ZYMiwKICAgICAgICBSRUdJT05fR0ZYMywKICAg
ICAgICBSRUdJT05fR0ZYNCwKICAgICAgICBSRUdJT05fR0ZYNSwKICAgICAgICBSRUdJT05fR0ZY
NiwKICAgICAgICBSRUdJT05fR0ZYNywKICAgICAgICBSRUdJT05fR0ZYOCwKICAgICAgICBSRUdJ
T05fUFJPTVMsCiAgICAgICAgUkVHSU9OX1NPVU5EMSwKICAgICAgICBSRUdJT05fU09VTkQyLAog
ICAgICAgIFJFR0lPTl9TT1VORDMsCiAgICAgICAgUkVHSU9OX1NPVU5ENCwKICAgICAgICBSRUdJ
T05fU09VTkQ1LAogICAgICAgIFJFR0lPTl9TT1VORDYsCiAgICAgICAgUkVHSU9OX1NPVU5ENywK
ICAgICAgICBSRUdJT05fU09VTkQ4LAogICAgICAgIFJFR0lPTl9VU0VSMSwKICAgICAgICBSRUdJ
T05fVVNFUjIsCiAgICAgICAgUkVHSU9OX1VTRVIzLAogICAgICAgIFJFR0lPTl9VU0VSNCwKICAg
ICAgICBSRUdJT05fVVNFUjUsCiAgICAgICAgUkVHSU9OX1VTRVI2LAogICAgICAgIFJFR0lPTl9V
U0VSNywKICAgICAgICBSRUdJT05fVVNFUjgsCiAgICAgICAgUkVHSU9OX01BWAp9OwojIDMwNSAi
c3JjL2NvbW1vbi5oIgp2b2lkIHNob3dkaXNjbGFpbWVyKHZvaWQpOwoKCgpzdHJ1Y3QgR2FtZVNh
bXBsZXMgKnJlYWRzYW1wbGVzKGNvbnN0IGNoYXIgKipzYW1wbGVuYW1lcyxjb25zdCBjaGFyICpu
YW1lKTsKCgoKClVJTlQ4ICptZW1vcnlfcmVnaW9uKGludCBudW0pOwpzaXplX3QgbWVtb3J5X3Jl
Z2lvbl9sZW5ndGgoaW50IG51bSk7CgoKCmludCBuZXdfbWVtb3J5X3JlZ2lvbihpbnQgbnVtLCBz
aXplX3QgbGVuZ3RoLCBVSU5UMzIgZmxhZ3MpOwp2b2lkIGZyZWVfbWVtb3J5X3JlZ2lvbihpbnQg
bnVtKTsKCgoKdm9pZCBjb2luX2NvdW50ZXJfdyhpbnQgbnVtLGludCBvbik7CnZvaWQgY29pbl9s
b2Nrb3V0X3coaW50IG51bSxpbnQgb24pOwp2b2lkIGNvaW5fbG9ja291dF9nbG9iYWxfdyhpbnQg
b24pOwoKCmV4dGVybiBzaXplX3QgZ2VuZXJpY19udnJhbV9zaXplOwpleHRlcm4gZGF0YThfdCAq
Z2VuZXJpY19udnJhbTsKZXh0ZXJuIHZvaWQgbnZyYW1faGFuZGxlcl9nZW5lcmljXzBmaWxsKHZv
aWQgKmZpbGUsIGludCByZWFkX29yX3dyaXRlKTsKZXh0ZXJuIHZvaWQgbnZyYW1faGFuZGxlcl9n
ZW5lcmljXzFmaWxsKHZvaWQgKmZpbGUsIGludCByZWFkX29yX3dyaXRlKTsKCgp2b2lkIHNldF92
aXNpYmxlX2FyZWEoaW50IG1pbl94LGludCBtYXhfeCxpbnQgbWluX3ksaW50IG1heF95KTsKCgpz
dHJ1Y3QgbWFtZV9iaXRtYXAgKmJpdG1hcF9hbGxvYyhpbnQgd2lkdGgsaW50IGhlaWdodCk7CnN0
cnVjdCBtYW1lX2JpdG1hcCAqYml0bWFwX2FsbG9jX2RlcHRoKGludCB3aWR0aCxpbnQgaGVpZ2h0
LGludCBkZXB0aCk7CnZvaWQgYml0bWFwX2ZyZWUoc3RydWN0IG1hbWVfYml0bWFwICpiaXRtYXAp
OwoKCnZvaWQgYmVnaW5fcmVzb3VyY2VfdHJhY2tpbmcodm9pZCk7CnZvaWQgZW5kX3Jlc291cmNl
X3RyYWNraW5nKHZvaWQpOwpzdGF0aWMgX19pbmxpbmVfXyBpbnQgZ2V0X3Jlc291cmNlX3RhZyh2
b2lkKQp7CiAgICAgICAgZXh0ZXJuIGludCByZXNvdXJjZV90cmFja2luZ190YWc7CiAgICAgICAg
cmV0dXJuIHJlc291cmNlX3RyYWNraW5nX3RhZzsKfQoKCnZvaWQgKmF1dG9fbWFsbG9jKHNpemVf
dCBzaXplKTsKc3RydWN0IG1hbWVfYml0bWFwICphdXRvX2JpdG1hcF9hbGxvYyhpbnQgd2lkdGgs
aW50IGhlaWdodCk7CnN0cnVjdCBtYW1lX2JpdG1hcCAqYXV0b19iaXRtYXBfYWxsb2NfZGVwdGgo
aW50IHdpZHRoLGludCBoZWlnaHQsaW50IGRlcHRoKTsKCgp2b2lkIHNhdmVfc2NyZWVuX3NuYXBz
aG90X2FzKHZvaWQgKmZwLHN0cnVjdCBtYW1lX2JpdG1hcCAqYml0bWFwKTsKdm9pZCBzYXZlX3Nj
cmVlbl9zbmFwc2hvdChzdHJ1Y3QgbWFtZV9iaXRtYXAgKmJpdG1hcCk7CgoKY29uc3Qgc3RydWN0
IFJvbU1vZHVsZSAqcm9tX2ZpcnN0X3JlZ2lvbihjb25zdCBzdHJ1Y3QgR2FtZURyaXZlciAqZHJ2
KTsKY29uc3Qgc3RydWN0IFJvbU1vZHVsZSAqcm9tX25leHRfcmVnaW9uKGNvbnN0IHN0cnVjdCBS
b21Nb2R1bGUgKnJvbXApOwpjb25zdCBzdHJ1Y3QgUm9tTW9kdWxlICpyb21fZmlyc3RfZmlsZShj
b25zdCBzdHJ1Y3QgUm9tTW9kdWxlICpyb21wKTsKY29uc3Qgc3RydWN0IFJvbU1vZHVsZSAqcm9t
X25leHRfZmlsZShjb25zdCBzdHJ1Y3QgUm9tTW9kdWxlICpyb21wKTsKY29uc3Qgc3RydWN0IFJv
bU1vZHVsZSAqcm9tX2ZpcnN0X2NodW5rKGNvbnN0IHN0cnVjdCBSb21Nb2R1bGUgKnJvbXApOwpj
b25zdCBzdHJ1Y3QgUm9tTW9kdWxlICpyb21fbmV4dF9jaHVuayhjb25zdCBzdHJ1Y3QgUm9tTW9k
dWxlICpyb21wKTsKCmludCByZWFkcm9tcyh2b2lkKTsKdm9pZCBwcmludHJvbWxpc3QoY29uc3Qg
c3RydWN0IFJvbU1vZHVsZSAqcm9tcCxjb25zdCBjaGFyICpuYW1lKTsKIyA1OSAic3JjL2RyaXZl
ci5oIiAyCgoKIyAxICJzcmMvY3B1aW50cmYuaCIgMQojIDE0ICJzcmMvY3B1aW50cmYuaCIKIyAx
ICJzcmMvdGltZXIuaCIgMQojIDE3ICJzcmMvdGltZXIuaCIKZXh0ZXJuIGRvdWJsZSBjeWNsZXNf
dG9fc2VjW107CmV4dGVybiBkb3VibGUgc2VjX3RvX2N5Y2xlc1tdOwojIDQxICJzcmMvdGltZXIu
aCIKdm9pZCB0aW1lcl9pbml0KHZvaWQpOwp2b2lkIHRpbWVyX2ZyZWUodm9pZCk7CnZvaWQgKnRp
bWVyX2FsbG9jKHZvaWQgKCpjYWxsYmFjaykoaW50KSk7CnZvaWQgdGltZXJfYWRqdXN0KHZvaWQg
KndoaWNoLCBkb3VibGUgZHVyYXRpb24sIGludCBwYXJhbSwgZG91YmxlIHBlcmlvZCk7CnZvaWQg
dGltZXJfcHVsc2UoZG91YmxlIHBlcmlvZCwgaW50IHBhcmFtLCB2b2lkICgqY2FsbGJhY2spKGlu
dCkpOwp2b2lkIHRpbWVyX3NldChkb3VibGUgZHVyYXRpb24sIGludCBwYXJhbSwgdm9pZCAoKmNh
bGxiYWNrKShpbnQpKTsKdm9pZCB0aW1lcl9yZXNldCh2b2lkICp3aGljaCwgZG91YmxlIGR1cmF0
aW9uKTsKdm9pZCB0aW1lcl9yZW1vdmUodm9pZCAqd2hpY2gpOwppbnQgdGltZXJfZW5hYmxlKHZv
aWQgKndoaWNoLCBpbnQgZW5hYmxlKTsKZG91YmxlIHRpbWVyX3RpbWVlbGFwc2VkKHZvaWQgKndo
aWNoKTsKZG91YmxlIHRpbWVyX3RpbWVsZWZ0KHZvaWQgKndoaWNoKTsKZG91YmxlIHRpbWVyX2dl
dF90aW1lKHZvaWQpOwpkb3VibGUgdGltZXJfc3RhcnR0aW1lKHZvaWQgKndoaWNoKTsKZG91Ymxl
IHRpbWVyX2ZpcmV0aW1lKHZvaWQgKndoaWNoKTsKaW50IHRpbWVyX3NjaGVkdWxlX2NwdShpbnQg
KmNwdSwgaW50ICpjeWNsZXMpOwp2b2lkIHRpbWVyX3VwZGF0ZV9jcHUoaW50IGNwdSwgaW50IHJh
bik7CnZvaWQgdGltZXJfc3VzcGVuZGNwdShpbnQgY3B1LCBpbnQgc3VzcGVuZCwgaW50IHJlYXNv
bik7CnZvaWQgdGltZXJfaG9sZGNwdShpbnQgY3B1LCBpbnQgaG9sZCwgaW50IHJlYXNvbik7Cmlu
dCB0aW1lcl9pc2NwdXN1c3BlbmRlZChpbnQgY3B1LCBpbnQgcmVhc29uKTsKaW50IHRpbWVyX2lz
Y3B1aGVsZChpbnQgY3B1bnVtLCBpbnQgcmVhc29uKTsKdm9pZCB0aW1lcl9zdXNwZW5kY3B1X3Ry
aWdnZXIoaW50IGNwdSwgaW50IHRyaWdnZXIpOwp2b2lkIHRpbWVyX2hvbGRjcHVfdHJpZ2dlcihp
bnQgY3B1LCBpbnQgdHJpZ2dlcik7CnZvaWQgdGltZXJfdHJpZ2dlcihpbnQgdHJpZ2dlcik7CmRv
dWJsZSB0aW1lcl9nZXRfb3ZlcmNsb2NrKGludCBjcHVudW0pOwp2b2lkIHRpbWVyX3NldF9vdmVy
Y2xvY2soaW50IGNwdW51bSwgZG91YmxlIG92ZXJjbG9jayk7CiMgMTUgInNyYy9jcHVpbnRyZi5o
IiAyCiMgMjggInNyYy9jcHVpbnRyZi5oIgplbnVtCnsKICAgICAgICBDUFVfRFVNTVksCgogICAg
ICAgIENQVV9aODAsCgoKICAgICAgICBDUFVfWjE4MCwKCgogICAgICAgIENQVV84MDgwLAoKCiAg
ICAgICAgQ1BVXzgwODVBLAoKCiAgICAgICAgQ1BVX002NTAyLAoKCiAgICAgICAgQ1BVX002NUMw
MiwKIyA1OSAic3JjL2NwdWludHJmLmgiCiAgICAgICAgQ1BVX002NTEwLAojIDcxICJzcmMvY3B1
aW50cmYuaCIKICAgICAgICBDUFVfTjJBMDMsCgoKCgoKICAgICAgICBDUFVfSDYyODAsCgoKICAg
ICAgICBDUFVfSTg2LAoKCgoKCiAgICAgICAgQ1BVX0kxODYsCiMgOTUgInNyYy9jcHVpbnRyZi5o
IgogICAgICAgIENQVV9WMjAsCgoKICAgICAgICBDUFVfVjMwLAoKCiAgICAgICAgQ1BVX1YzMywK
CgogICAgICAgIENQVV9WNjAsCgoKICAgICAgICBDUFVfSTgwMzUsCgoKICAgICAgICBDUFVfSTgw
MzksCgoKICAgICAgICBDUFVfSTgwNDgsCgoKICAgICAgICBDUFVfTjc3NTEsCgoKICAgICAgICBD
UFVfSThYNDEsCgoKICAgICAgICBDUFVfTTY4MDAsCgoKICAgICAgICBDUFVfTTY4MDEsCgoKICAg
ICAgICBDUFVfTTY4MDIsCgoKICAgICAgICBDUFVfTTY4MDMsCgoKICAgICAgICBDUFVfTTY4MDgs
CgoKICAgICAgICBDUFVfSEQ2MzcwMSwKCgogICAgICAgIENQVV9OU0M4MTA1LAoKCiAgICAgICAg
Q1BVX002ODA1LAoKCiAgICAgICAgQ1BVX002ODcwNSwKCgogICAgICAgIENQVV9IRDYzNzA1LAoK
CiAgICAgICAgQ1BVX0hENjMwOSwKCgogICAgICAgIENQVV9NNjgwOSwKCgogICAgICAgIENQVV9L
T05BTUksCgoKICAgICAgICBDUFVfTTY4MDAwLAoKCiAgICAgICAgQ1BVX002ODAxMCwKCgogICAg
ICAgIENQVV9NNjhFQzAyMCwKCgogICAgICAgIENQVV9NNjgwMjAsCgoKICAgICAgICBDUFVfVDEx
LAoKCiAgICAgICAgQ1BVX1MyNjUwLAoKCiAgICAgICAgQ1BVX1RNUzM0MDEwLAoKCiAgICAgICAg
Q1BVX1RNUzM0MDIwLAojIDE5MSAic3JjL2NwdWludHJmLmgiCiAgICAgICAgQ1BVX1RNUzk5ODAs
CiMgMjAwICJzcmMvY3B1aW50cmYuaCIKICAgICAgICBDUFVfVE1TOTk5NSwKIyAyMDkgInNyYy9j
cHVpbnRyZi5oIgogICAgICAgIENQVV9aODAwMCwKCgogICAgICAgIENQVV9UTVMzMjBDMTAsCgoK
ICAgICAgICBDUFVfQ0NQVSwKCgogICAgICAgIENQVV9BRFNQMjEwMCwKCgogICAgICAgIENQVV9B
RFNQMjEwNSwKCgogICAgICAgIENQVV9QU1hDUFUsCgoKICAgICAgICBDUFVfQVNBUCwKCgogICAg
ICAgIENQVV9VUEQ3ODEwLAoKCgoKCgogICAgICAgIENQVV9SMzAwMEJFLAogICAgICAgIENQVV9S
MzAwMExFLAoKCgoKCiAgICAgICAgQ1BVX0FSTSwKCgogICAgICAgIENQVV9TSDIsCiMgMjg4ICJz
cmMvY3B1aW50cmYuaCIKICAgIENQVV9DT1VOVAp9OwojIDI5OSAic3JjL2NwdWludHJmLmgiCmVu
dW0KewoKICAgICAgICBDTEVBUl9MSU5FID0gMCwKICAgICAgICBBU1NFUlRfTElORSwKICAgICAg
ICBIT0xEX0xJTkUsCiAgICAgICAgUFVMU0VfTElORSwKCgogICAgICAgIElOVEVSTkFMX0NMRUFS
X0xJTkUgPSAxMDAgKyBDTEVBUl9MSU5FLAogICAgICAgIElOVEVSTkFMX0FTU0VSVF9MSU5FID0g
MTAwICsgQVNTRVJUX0xJTkUsCgoKICAgICAgICBNQVhfSVJRX0xJTkVTID0gMTYsCiAgICAgICAg
SVJRX0xJTkVfTk1JID0gMTI3Cn07CiMgMzI1ICJzcmMvY3B1aW50cmYuaCIKZW51bQp7CiAgICAg
ICAgTUFYX1JFR1MgPSAxMjgsCgoKCgogICAgICAgIFJFR19QUkVWSU9VU1BDID0gLTEsCgoKCiAg
ICAgICAgUkVHX1BDID0gLTIsCgoKCiAgICAgICAgUkVHX1NQID0gLTMsCgoKCgoKCgogICAgICAg
IFJFR19TUF9DT05URU5UUyA9IC00Cn07CgoKCmVudW0KewogICAgICAgIENQVV9JU19MRSA9IDAs
CiAgICAgICAgQ1BVX0lTX0JFCn07CgoKCmVudW0KewogICAgICAgIENQVV9JTkZPX1JFRywKICAg
ICAgICBDUFVfSU5GT19GTEFHUyA9IE1BWF9SRUdTLAogICAgICAgIENQVV9JTkZPX05BTUUsCiAg
ICAgICAgQ1BVX0lORk9fRkFNSUxZLAogICAgICAgIENQVV9JTkZPX1ZFUlNJT04sCiAgICAgICAg
Q1BVX0lORk9fRklMRSwKICAgICAgICBDUFVfSU5GT19DUkVESVRTLAogICAgICAgIENQVV9JTkZP
X1JFR19MQVlPVVQsCiAgICAgICAgQ1BVX0lORk9fV0lOX0xBWU9VVAp9OwojIDM4MiAic3JjL2Nw
dWludHJmLmgiCnN0cnVjdCBjcHVfaW50ZXJmYWNlCnsKCiAgICAgICAgdW5zaWduZWQgY3B1X251
bTsKCgogICAgICAgIHZvaWQgKCppbml0KSh2b2lkKTsKICAgICAgICB2b2lkICgqcmVzZXQpKHZv
aWQgKnBhcmFtKTsKICAgICAgICB2b2lkICgqZXhpdCkodm9pZCk7CiAgICAgICAgaW50ICgqZXhl
Y3V0ZSkoaW50IGN5Y2xlcyk7CiAgICAgICAgdm9pZCAoKmJ1cm4pKGludCBjeWNsZXMpOwogICAg
ICAgIHVuc2lnbmVkICgqZ2V0X2NvbnRleHQpKHZvaWQgKnJlZyk7CiAgICAgICAgdm9pZCAoKnNl
dF9jb250ZXh0KSh2b2lkICpyZWcpOwogICAgICAgIGNvbnN0IHZvaWQgKigqZ2V0X2N5Y2xlX3Rh
YmxlKShpbnQgd2hpY2gpOwogICAgICAgIHZvaWQgKCpzZXRfY3ljbGVfdGFibGUpKGludCB3aGlj
aCwgdm9pZCAqbmV3X3RhYmxlKTsKICAgICAgICB1bnNpZ25lZCAoKmdldF9yZWcpKGludCByZWdu
dW0pOwogICAgICAgIHZvaWQgKCpzZXRfcmVnKShpbnQgcmVnbnVtLCB1bnNpZ25lZCB2YWwpOwog
ICAgICAgIHZvaWQgKCpzZXRfaXJxX2xpbmUpKGludCBpcnFsaW5lLCBpbnQgbGluZXN0YXRlKTsK
ICAgICAgICB2b2lkICgqc2V0X2lycV9jYWxsYmFjaykoaW50KCpjYWxsYmFjaykoaW50IGlycWxp
bmUpKTsKICAgICAgICBjb25zdCBjaGFyICooKmNwdV9pbmZvKSh2b2lkICpjb250ZXh0LGludCBy
ZWdudW0pOwogICAgICAgIHVuc2lnbmVkICgqY3B1X2Rhc20pKGNoYXIgKmJ1ZmZlcix1bnNpZ25l
ZCBwYyk7CgoKICAgICAgICB1bnNpZ25lZCBudW1faXJxczsKICAgICAgICBpbnQgZGVmYXVsdF92
ZWN0b3I7CiAgICAgICAgaW50ICogaWNvdW50OwogICAgICAgIGRvdWJsZSBvdmVyY2xvY2s7CgoK
ICAgICAgICBpbnQgZGF0YWJ1c193aWR0aDsKICAgICAgICBtZW1fcmVhZF9oYW5kbGVyIG1lbW9y
eV9yZWFkOwogICAgICAgIG1lbV93cml0ZV9oYW5kbGVyIG1lbW9yeV93cml0ZTsKICAgICAgICBt
ZW1fcmVhZF9oYW5kbGVyIGludGVybmFsX3JlYWQ7CiAgICAgICAgbWVtX3dyaXRlX2hhbmRsZXIg
aW50ZXJuYWxfd3JpdGU7CiAgICAgICAgb2Zmc190IHBnbV9tZW1vcnlfYmFzZTsKICAgICAgICB2
b2lkICgqc2V0X29wX2Jhc2UpKG9mZnNfdCBwYyk7CiAgICAgICAgaW50IGFkZHJlc3Nfc2hpZnQ7
CiAgICAgICAgdW5zaWduZWQgYWRkcmVzc19iaXRzOwogICAgICAgIHVuc2lnbmVkIGVuZGlhbmVz
czsKICAgICAgICB1bnNpZ25lZCBhbGlnbl91bml0OwogICAgICAgIHVuc2lnbmVkIG1heF9pbnN0
X2xlbjsKfTsKIyA0MzQgInNyYy9jcHVpbnRyZi5oIgppbnQgY3B1aW50cmZfaW5pdCh2b2lkKTsK
CgppbnQgY3B1aW50cmZfaW5pdF9jcHUoaW50IGNwdW51bSwgaW50IGNwdXR5cGUpOwoKCnZvaWQg
Y3B1aW50cmZfZXhpdF9jcHUoaW50IGNwdW51bSk7CgoKdm9pZCBjcHVpbnRyZl9wdXNoX2NvbnRl
eHQoaW50IGNwdW51bSk7CgoKdm9pZCBjcHVpbnRyZl9wb3BfY29udGV4dCh2b2lkKTsKIyA0NTcg
InNyYy9jcHVpbnRyZi5oIgp2b2lkIGFjdGl2ZWNwdV9hZGp1c3RfaWNvdW50KGludCBkZWx0YSk7
CgoKaW50IGFjdGl2ZWNwdV9nZXRfaWNvdW50KHZvaWQpOwoKCnZvaWQgYWN0aXZlY3B1X3Jlc2V0
X2Jhbmtpbmcodm9pZCk7CgoKdm9pZCBhY3RpdmVjcHVfc2V0X2lycV9saW5lKGludCBpcnFsaW5l
LCBpbnQgc3RhdGUpOwoKCmNvbnN0IHZvaWQgKmFjdGl2ZWNwdV9nZXRfY3ljbGVfdGFibGUoaW50
IHdoaWNoKTsKCgp2b2lkIGFjdGl2ZWNwdV9zZXRfY3ljbGVfdGJsKGludCB3aGljaCwgdm9pZCAq
bmV3X3RhYmxlKTsKCgp1bnNpZ25lZCBhY3RpdmVjcHVfZ2V0X3JlZyhpbnQgcmVnbnVtKTsKCgp2
b2lkIGFjdGl2ZWNwdV9zZXRfcmVnKGludCByZWdudW0sIHVuc2lnbmVkIHZhbCk7CgoKb2Zmc190
IGFjdGl2ZWNwdV9nZXRfcGNfYnl0ZSh2b2lkKTsKCgp2b2lkIGFjdGl2ZWNwdV9zZXRfb3BfYmFz
ZSh1bnNpZ25lZCB2YWwpOwoKCnVuc2lnbmVkIGFjdGl2ZWNwdV9kYXNtKGNoYXIgKmJ1ZmZlciwg
dW5zaWduZWQgcGMpOwoKCmNvbnN0IGNoYXIgKmFjdGl2ZWNwdV9mbGFncyh2b2lkKTsKCgpjb25z
dCBjaGFyICphY3RpdmVjcHVfZHVtcF9yZWcoaW50IHJlZ251bSk7CgoKY29uc3QgY2hhciAqYWN0
aXZlY3B1X2R1bXBfc3RhdGUodm9pZCk7CgoKaW50IGFjdGl2ZWNwdV9kZWZhdWx0X2lycV92ZWN0
b3Iodm9pZCk7CgoKdW5zaWduZWQgYWN0aXZlY3B1X2FkZHJlc3NfYml0cyh2b2lkKTsKCgp1bnNp
Z25lZCBhY3RpdmVjcHVfYWRkcmVzc19tYXNrKHZvaWQpOwoKCmludCBhY3RpdmVjcHVfYWRkcmVz
c19zaGlmdCh2b2lkKTsKCgp1bnNpZ25lZCBhY3RpdmVjcHVfZW5kaWFuZXNzKHZvaWQpOwoKCnVu
c2lnbmVkIGFjdGl2ZWNwdV9kYXRhYnVzX3dpZHRoKHZvaWQpOwoKCnVuc2lnbmVkIGFjdGl2ZWNw
dV9hbGlnbl91bml0KHZvaWQpOwoKCnVuc2lnbmVkIGFjdGl2ZWNwdV9tYXhfaW5zdF9sZW4odm9p
ZCk7CgoKY29uc3QgY2hhciAqYWN0aXZlY3B1X25hbWUodm9pZCk7CgoKY29uc3QgY2hhciAqYWN0
aXZlY3B1X2NvcmVfZmFtaWx5KHZvaWQpOwoKCmNvbnN0IGNoYXIgKmFjdGl2ZWNwdV9jb3JlX3Zl
cnNpb24odm9pZCk7CgoKY29uc3QgY2hhciAqYWN0aXZlY3B1X2NvcmVfZmlsZSh2b2lkKTsKCgpj
b25zdCBjaGFyICphY3RpdmVjcHVfY29yZV9jcmVkaXRzKHZvaWQpOwoKCmNvbnN0IGNoYXIgKmFj
dGl2ZWNwdV9yZWdfbGF5b3V0KHZvaWQpOwoKCmNvbnN0IGNoYXIgKmFjdGl2ZWNwdV93aW5fbGF5
b3V0KHZvaWQpOwojIDU1MiAic3JjL2NwdWludHJmLmgiCmludCBjcHVudW1fZXhlY3V0ZShpbnQg
Y3B1bnVtLCBpbnQgY3ljbGVzKTsKCgp2b2lkIGNwdW51bV9yZXNldChpbnQgY3B1bnVtLCB2b2lk
ICpwYXJhbSwgaW50ICgqaXJxYWNrKShpbnQpKTsKCgpkYXRhOF90IGNwdW51bV9yZWFkX2J5dGUo
aW50IGNwdW51bSwgb2Zmc190IGFkZHJlc3MpOwoKCnZvaWQgY3B1bnVtX3dyaXRlX2J5dGUoaW50
IGNwdW51bSwgb2Zmc190IGFkZHJlc3MsIGRhdGE4X3QgZGF0YSk7CgoKCnZvaWQgKmNwdW51bV9n
ZXRfY29udGV4dF9wdHIoaW50IGNwdW51bSk7CgoKY29uc3Qgdm9pZCAqY3B1bnVtX2dldF9jeWNs
ZV90YWJsZShpbnQgY3B1bnVtLCBpbnQgd2hpY2gpOwoKCnZvaWQgY3B1bnVtX3NldF9jeWNsZV90
YmwoaW50IGNwdW51bSwgaW50IHdoaWNoLCB2b2lkICpuZXdfdGFibGUpOwoKCnVuc2lnbmVkIGNw
dW51bV9nZXRfcmVnKGludCBjcHVudW0sIGludCByZWdudW0pOwoKCnZvaWQgY3B1bnVtX3NldF9y
ZWcoaW50IGNwdW51bSwgaW50IHJlZ251bSwgdW5zaWduZWQgdmFsKTsKCgpvZmZzX3QgY3B1bnVt
X2dldF9wY19ieXRlKGludCBjcHVudW0pOwoKCnZvaWQgY3B1bnVtX3NldF9vcF9iYXNlKGludCBj
cHVudW0sIHVuc2lnbmVkIHZhbCk7CgoKdW5zaWduZWQgY3B1bnVtX2Rhc20oaW50IGNwdW51bSwg
Y2hhciAqYnVmZmVyLCB1bnNpZ25lZCBwYyk7CgoKY29uc3QgY2hhciAqY3B1bnVtX2ZsYWdzKGlu
dCBjcHVudW0pOwoKCmNvbnN0IGNoYXIgKmNwdW51bV9kdW1wX3JlZyhpbnQgY3B1bnVtLCBpbnQg
cmVnbnVtKTsKCgpjb25zdCBjaGFyICpjcHVudW1fZHVtcF9zdGF0ZShpbnQgY3B1bnVtKTsKCgpp
bnQgY3B1bnVtX2RlZmF1bHRfaXJxX3ZlY3RvcihpbnQgY3B1bnVtKTsKCgp1bnNpZ25lZCBjcHVu
dW1fYWRkcmVzc19iaXRzKGludCBjcHVudW0pOwoKCnVuc2lnbmVkIGNwdW51bV9hZGRyZXNzX21h
c2soaW50IGNwdW51bSk7CgoKaW50IGNwdW51bV9hZGRyZXNzX3NoaWZ0KGludCBjcHVudW0pOwoK
CnVuc2lnbmVkIGNwdW51bV9lbmRpYW5lc3MoaW50IGNwdW51bSk7CgoKdW5zaWduZWQgY3B1bnVt
X2RhdGFidXNfd2lkdGgoaW50IGNwdW51bSk7CgoKdW5zaWduZWQgY3B1bnVtX2FsaWduX3VuaXQo
aW50IGNwdW51bSk7CgoKdW5zaWduZWQgY3B1bnVtX21heF9pbnN0X2xlbihpbnQgY3B1bnVtKTsK
Cgpjb25zdCBjaGFyICpjcHVudW1fbmFtZShpbnQgY3B1bnVtKTsKCgpjb25zdCBjaGFyICpjcHVu
dW1fY29yZV9mYW1pbHkoaW50IGNwdW51bSk7CgoKY29uc3QgY2hhciAqY3B1bnVtX2NvcmVfdmVy
c2lvbihpbnQgY3B1bnVtKTsKCgpjb25zdCBjaGFyICpjcHVudW1fY29yZV9maWxlKGludCBjcHVu
dW0pOwoKCmNvbnN0IGNoYXIgKmNwdW51bV9jb3JlX2NyZWRpdHMoaW50IGNwdW51bSk7CgoKY29u
c3QgY2hhciAqY3B1bnVtX3JlZ19sYXlvdXQoaW50IGNwdW51bSk7CgoKY29uc3QgY2hhciAqY3B1
bnVtX3dpbl9sYXlvdXQoaW50IGNwdW51bSk7CiMgNjUxICJzcmMvY3B1aW50cmYuaCIKaW50IGNw
dXR5cGVfZGVmYXVsdF9pcnFfdmVjdG9yKGludCBjcHV0eXBlKTsKCgp1bnNpZ25lZCBjcHV0eXBl
X2FkZHJlc3NfYml0cyhpbnQgY3B1dHlwZSk7CgoKdW5zaWduZWQgY3B1dHlwZV9hZGRyZXNzX21h
c2soaW50IGNwdXR5cGUpOwoKCmludCBjcHV0eXBlX2FkZHJlc3Nfc2hpZnQoaW50IGNwdXR5cGUp
OwoKCnVuc2lnbmVkIGNwdXR5cGVfZW5kaWFuZXNzKGludCBjcHV0eXBlKTsKCgp1bnNpZ25lZCBj
cHV0eXBlX2RhdGFidXNfd2lkdGgoaW50IGNwdXR5cGUpOwoKCnVuc2lnbmVkIGNwdXR5cGVfYWxp
Z25fdW5pdChpbnQgY3B1dHlwZSk7CgoKdW5zaWduZWQgY3B1dHlwZV9tYXhfaW5zdF9sZW4oaW50
IGNwdXR5cGUpOwoKCmNvbnN0IGNoYXIgKmNwdXR5cGVfbmFtZShpbnQgY3B1dHlwZSk7CgoKY29u
c3QgY2hhciAqY3B1dHlwZV9jb3JlX2ZhbWlseShpbnQgY3B1dHlwZSk7CgoKY29uc3QgY2hhciAq
Y3B1dHlwZV9jb3JlX3ZlcnNpb24oaW50IGNwdXR5cGUpOwoKCmNvbnN0IGNoYXIgKmNwdXR5cGVf
Y29yZV9maWxlKGludCBjcHV0eXBlKTsKCgpjb25zdCBjaGFyICpjcHV0eXBlX2NvcmVfY3JlZGl0
cyhpbnQgY3B1dHlwZSk7CgoKY29uc3QgY2hhciAqY3B1dHlwZV9yZWdfbGF5b3V0KGludCBjcHV0
eXBlKTsKCgpjb25zdCBjaGFyICpjcHV0eXBlX3dpbl9sYXlvdXQoaW50IGNwdXR5cGUpOwojIDcw
NCAic3JjL2NwdWludHJmLmgiCnZvaWQgY3B1X2R1bXBfc3RhdGVzKHZvaWQpOwoKCnZvaWQgY3B1
X3NldF9tNjhrX3Jlc2V0KGludCBjcHVudW0sIHZvaWQgKCpyZXNldGZuKSh2b2lkKSk7CiMgNzQx
ICJzcmMvY3B1aW50cmYuaCIKc3RhdGljIF9faW5saW5lX18gY29uc3Qgc3RydWN0IGNwdV9pbnRl
cmZhY2UgKmNwdXR5cGVfZ2V0X2ludGVyZmFjZShpbnQgY3B1dHlwZSkKewogICAgICAgIGV4dGVy
biBjb25zdCBzdHJ1Y3QgY3B1X2ludGVyZmFjZSBjcHVpbnRyZltdOwogICAgICAgIHJldHVybiAm
Y3B1aW50cmZbY3B1dHlwZV07Cn0KCgoKc3RhdGljIF9faW5saW5lX18gaW50IGNwdV9nZXRhY3Rp
dmVjcHUodm9pZCkKewogICAgICAgIGV4dGVybiBpbnQgYWN0aXZlY3B1OwogICAgICAgIHJldHVy
biBhY3RpdmVjcHU7Cn0KCgoKc3RhdGljIF9faW5saW5lX18gaW50IGNwdV9nZXR0b3RhbGNwdSh2
b2lkKQp7CiAgICAgICAgZXh0ZXJuIGludCB0b3RhbGNwdTsKICAgICAgICByZXR1cm4gdG90YWxj
cHU7Cn0KIyA2MiAic3JjL2RyaXZlci5oIiAyCiMgMSAic3JjL2NwdWV4ZWMuaCIgMQojIDI3ICJz
cmMvY3B1ZXhlYy5oIgpzdHJ1Y3QgTWFjaGluZUNQVQp7CiAgICAgICAgaW50IGNwdV90eXBlOwog
ICAgICAgIGludCBjcHVfY2xvY2s7CiAgICAgICAgY29uc3Qgdm9pZCAqbWVtb3J5X3JlYWQ7CiAg
ICAgICAgY29uc3Qgdm9pZCAqbWVtb3J5X3dyaXRlOwogICAgICAgIGNvbnN0IHZvaWQgKnBvcnRf
cmVhZDsKICAgICAgICBjb25zdCB2b2lkICpwb3J0X3dyaXRlOwogICAgICAgIHZvaWQgKCp2Ymxh
bmtfaW50ZXJydXB0KSh2b2lkKTsKICAgICAgICBpbnQgdmJsYW5rX2ludGVycnVwdHNfcGVyX2Zy
YW1lOwogICAgICAgIHZvaWQgKCp0aW1lZF9pbnRlcnJ1cHQpKHZvaWQpOwogICAgICAgIGludCB0
aW1lZF9pbnRlcnJ1cHRzX3Blcl9zZWNvbmQ7CiAgICAgICAgdm9pZCAqIHJlc2V0X3BhcmFtOwog
ICAgICAgIGNvbnN0IGNoYXIgKnRhZzsKfTsKIyA1MSAic3JjL2NwdWV4ZWMuaCIKZW51bQp7Cgog
ICAgICAgIENQVV9GTEFHU19NQVNLID0gMHhmZjAwLAoKCgogICAgICAgIENQVV9BVURJT19DUFUg
PSAweDgwMDAsCgoKICAgICAgICBDUFVfMTZCSVRfUE9SVCA9IDB4NDAwMAp9OwojIDczICJzcmMv
Y3B1ZXhlYy5oIgppbnQgY3B1X2luaXQodm9pZCk7CgoKdm9pZCBjcHVfcnVuKHZvaWQpOwoKCnZv
aWQgY3B1X2V4aXQodm9pZCk7CgoKdm9pZCBtYWNoaW5lX3Jlc2V0KHZvaWQpOwojIDkzICJzcmMv
Y3B1ZXhlYy5oIgplbnVtCnsKICAgICAgICBMT0FEU0FWRV9OT05FLAogICAgICAgIExPQURTQVZF
X1NBVkUsCiAgICAgICAgTE9BRFNBVkVfTE9BRAp9Owp2b2lkIGNwdV9sb2Fkc2F2ZV9zY2hlZHVs
ZShpbnQgdHlwZSwgY2hhciBpZCk7CnZvaWQgY3B1X2xvYWRzYXZlX3Jlc2V0KHZvaWQpOwojIDEx
MSAic3JjL2NwdWV4ZWMuaCIKdm9pZCB3YXRjaGRvZ19yZXNldF93KF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0
YThfdCBkYXRhKTsKZGF0YThfdCB3YXRjaGRvZ19yZXNldF9yKF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKCgp2b2lkIHdhdGNoZG9nX3Jlc2V0MTZfdyhfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZf
dCBtZW1fbWFzayk7CmRhdGExNl90IHdhdGNoZG9nX3Jlc2V0MTZfcihfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRh
dGExNl90IG1lbV9tYXNrKTsKCgp2b2lkIHdhdGNoZG9nX3Jlc2V0MzJfdyhfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IGRhdGEzMl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMzJfdCBtZW1f
bWFzayk7CmRhdGEzMl90IHdhdGNoZG9nX3Jlc2V0MzJfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGEzMl90
IG1lbV9tYXNrKTsKIyAxMzEgInNyYy9jcHVleGVjLmgiCnZvaWQgY3B1X3NldF9yZXNldF9saW5l
KGludCBjcHUsaW50IHN0YXRlKTsKCgp2b2lkIGNwdV9zZXRfaGFsdF9saW5lKGludCBjcHUsaW50
IHN0YXRlKTsKCgppbnQgY3B1X2dldHN0YXR1cyhpbnQgY3B1bnVtKTsKIyAxNDggInNyYy9jcHVl
eGVjLmgiCmludCBjeWNsZXNfY3VycmVudGx5X3Jhbih2b2lkKTsKCgppbnQgY3ljbGVzX2xlZnRf
dG9fcnVuKHZvaWQpOwoKCmludCBjcHVfZ2V0dG90YWxjeWNsZXModm9pZCk7CgoKaW50IGNwdV9n
ZXRpY291bnQodm9pZCk7CgoKaW50IGNwdV9zY2FsZWJ5ZmNvdW50KGludCB2YWx1ZSk7CiMgMTcx
ICJzcmMvY3B1ZXhlYy5oIgp2b2lkIGNwdV9pbml0X3JlZnJlc2hfdGltZXIodm9pZCk7CgoKaW50
IGNwdV9nZXRzY2FubGluZSh2b2lkKTsKCgpkb3VibGUgY3B1X2dldHNjYW5saW5ldGltZShpbnQg
c2NhbmxpbmUpOwoKCmRvdWJsZSBjcHVfZ2V0c2NhbmxpbmVwZXJpb2Qodm9pZCk7CgoKaW50IGNw
dV9nZXRob3J6YmVhbXBvcyh2b2lkKTsKCgppbnQgY3B1X2dldHZibGFuayh2b2lkKTsKCgppbnQg
Y3B1X2dldGN1cnJlbnRmcmFtZSh2b2lkKTsKIyAyMDAgInNyYy9jcHVleGVjLmgiCnZvaWQgY3B1
X3RyaWdnZXIoaW50IHRyaWdnZXIpOwoKCnZvaWQgY3B1X3RyaWdnZXJ0aW1lKGRvdWJsZSBkdXJh
dGlvbiwgaW50IHRyaWdnZXIpOwoKCnZvaWQgY3B1X3RyaWdnZXJpbnQoaW50IGNwdW51bSk7CgoK
dm9pZCBjcHVfc3BpbnVudGlsX3RyaWdnZXIoaW50IHRyaWdnZXIpOwoKCnZvaWQgY3B1X3lpZWxk
dW50aWxfdHJpZ2dlcihpbnQgdHJpZ2dlcik7CgoKdm9pZCBjcHVfc3BpbnVudGlsX2ludCh2b2lk
KTsKCgp2b2lkIGNwdV95aWVsZHVudGlsX2ludCh2b2lkKTsKCgp2b2lkIGNwdV9zcGluKHZvaWQp
OwoKCnZvaWQgY3B1X3lpZWxkKHZvaWQpOwoKCnZvaWQgY3B1X3NwaW51bnRpbF90aW1lKGRvdWJs
ZSBkdXJhdGlvbik7CgoKdm9pZCBjcHVfeWllbGR1bnRpbF90aW1lKGRvdWJsZSBkdXJhdGlvbik7
CiMgMjQ1ICJzcmMvY3B1ZXhlYy5oIgppbnQgY3B1X2dldGlsb29wcyh2b2lkKTsKIyAyNTggInNy
Yy9jcHVleGVjLmgiCnR5cGVkZWYgc3RydWN0CnsKICAgICAgICB2b2lkICgqcmVzZXQpKGludCk7
CiAgICAgICAgaW50ICgqaW50ZXJydXB0X2VudHJ5KShpbnQpOwogICAgICAgIHZvaWQgKCppbnRl
cnJ1cHRfcmV0aSkoaW50KTsKICAgICAgICBpbnQgaXJxX3BhcmFtOwp9IFo4MF9EYWlzeUNoYWlu
OwojIDYzICJzcmMvZHJpdmVyLmgiIDIKIyAxICJzcmMvY3B1aW50LmgiIDEKIyAyNyAic3JjL2Nw
dWludC5oIgplbnVtCnsKCiAgICAgICAgSU5URVJSVVBUX05PTkUgPSAxMjYKfTsKIyA0MSAic3Jj
L2NwdWludC5oIgppbnQgY3B1aW50X2luaXQodm9pZCk7Cgp2b2lkIGNwdWludF9yZXNldF9jcHUo
aW50IGNwdW51bSk7CgpleHRlcm4gaW50ICgqY3B1X2lycV9jYWxsYmFja3NbXSkoaW50KTsKIyA1
NiAic3JjL2NwdWludC5oIgp2b2lkIGNwdV9zZXRfaXJxX2NhbGxiYWNrKGludCBjcHVudW0sIGlu
dCAoKmNhbGxiYWNrKShpbnQgaXJxbGluZSkpOwoKCnZvaWQgY3B1X2lycV9saW5lX3ZlY3Rvcl93
KGludCBjcHVudW0sIGludCBpcnFsaW5lLCBpbnQgdmVjdG9yKTsKCgoKdm9pZCBjcHVfc2V0X2ly
cV9saW5lKGludCBjcHVudW0sIGludCBpcnFsaW5lLCBpbnQgc3RhdGUpOwoKCnZvaWQgY3B1X3Nl
dF9pcnFfbGluZV9hbmRfdmVjdG9yKGludCBjcHVudW0sIGludCBpcnFsaW5lLCBpbnQgc3RhdGUs
IGludCB2ZWN0b3IpOwojIDc5ICJzcmMvY3B1aW50LmgiCnZvaWQgbm1pX2xpbmVfcHVsc2Uodm9p
ZCk7CnZvaWQgbm1pX2xpbmVfYXNzZXJ0KHZvaWQpOwoKdm9pZCBpcnEwX2xpbmVfaG9sZCh2b2lk
KTsKdm9pZCBpcnEwX2xpbmVfcHVsc2Uodm9pZCk7CnZvaWQgaXJxMF9saW5lX2Fzc2VydCh2b2lk
KTsKCnZvaWQgaXJxMV9saW5lX2hvbGQodm9pZCk7CnZvaWQgaXJxMV9saW5lX3B1bHNlKHZvaWQp
Owp2b2lkIGlycTFfbGluZV9hc3NlcnQodm9pZCk7Cgp2b2lkIGlycTJfbGluZV9ob2xkKHZvaWQp
Owp2b2lkIGlycTJfbGluZV9wdWxzZSh2b2lkKTsKdm9pZCBpcnEyX2xpbmVfYXNzZXJ0KHZvaWQp
OwoKdm9pZCBpcnEzX2xpbmVfaG9sZCh2b2lkKTsKdm9pZCBpcnEzX2xpbmVfcHVsc2Uodm9pZCk7
CnZvaWQgaXJxM19saW5lX2Fzc2VydCh2b2lkKTsKCnZvaWQgaXJxNF9saW5lX2hvbGQodm9pZCk7
CnZvaWQgaXJxNF9saW5lX3B1bHNlKHZvaWQpOwp2b2lkIGlycTRfbGluZV9hc3NlcnQodm9pZCk7
Cgp2b2lkIGlycTVfbGluZV9ob2xkKHZvaWQpOwp2b2lkIGlycTVfbGluZV9wdWxzZSh2b2lkKTsK
dm9pZCBpcnE1X2xpbmVfYXNzZXJ0KHZvaWQpOwoKdm9pZCBpcnE2X2xpbmVfaG9sZCh2b2lkKTsK
dm9pZCBpcnE2X2xpbmVfcHVsc2Uodm9pZCk7CnZvaWQgaXJxNl9saW5lX2Fzc2VydCh2b2lkKTsK
CnZvaWQgaXJxN19saW5lX2hvbGQodm9pZCk7CnZvaWQgaXJxN19saW5lX3B1bHNlKHZvaWQpOwp2
b2lkIGlycTdfbGluZV9hc3NlcnQodm9pZCk7CiMgMTI5ICJzcmMvY3B1aW50LmgiCnZvaWQgY3B1
X2ludGVycnVwdF9lbmFibGUoaW50IGNwdSxpbnQgZW5hYmxlZCk7CnZvaWQgaW50ZXJydXB0X2Vu
YWJsZV93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBpbnRlcnJ1cHRfdmVjdG9y
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwpkYXRhOF90IGludGVycnVwdF9lbmFibGVf
cihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CiMgNjQgInNyYy9k
cml2ZXIuaCIgMgojIDEgInNyYy9zbmRpbnRyZi5oIiAxCgoKCgpzdHJ1Y3QgTWFjaGluZVNvdW5k
CnsKICAgICAgICBpbnQgc291bmRfdHlwZTsKICAgICAgICB2b2lkICpzb3VuZF9pbnRlcmZhY2U7
CiAgICAgICAgY29uc3QgY2hhciAqdGFnOwp9OwoKCiMgMSAic3JjL3NvdW5kL21peGVyLmgiIDEK
IyA3MiAic3JjL3NvdW5kL21peGVyLmgiCmludCBtaXhlcl9zaF9zdGFydCh2b2lkKTsKdm9pZCBt
aXhlcl9zaF9zdG9wKHZvaWQpOwp2b2lkIG1peGVyX3NoX3VwZGF0ZSh2b2lkKTsKaW50IG1peGVy
X2FsbG9jYXRlX2NoYW5uZWwoaW50IGRlZmF1bHRfbWl4aW5nX2xldmVsKTsKaW50IG1peGVyX2Fs
bG9jYXRlX2NoYW5uZWxzKGludCBjaGFubmVscyxjb25zdCBpbnQgKmRlZmF1bHRfbWl4aW5nX2xl
dmVscyk7CnZvaWQgbWl4ZXJfc2V0X25hbWUoaW50IGNoYW5uZWwsY29uc3QgY2hhciAqbmFtZSk7
CmNvbnN0IGNoYXIgKm1peGVyX2dldF9uYW1lKGludCBjaGFubmVsKTsKIyA4NyAic3JjL3NvdW5k
L21peGVyLmgiCnZvaWQgbWl4ZXJfc2V0X3ZvbHVtZShpbnQgY2hhbm5lbCxpbnQgdm9sdW1lKTsK
CnZvaWQgbWl4ZXJfcGxheV9zYW1wbGUoaW50IGNoYW5uZWwsSU5UOCAqZGF0YSxpbnQgbGVuLGlu
dCBmcmVxLGludCBsb29wKTsKdm9pZCBtaXhlcl9wbGF5X3NhbXBsZV8xNihpbnQgY2hhbm5lbCxJ
TlQxNiAqZGF0YSxpbnQgbGVuLGludCBmcmVxLGludCBsb29wKTsKdm9pZCBtaXhlcl9zdG9wX3Nh
bXBsZShpbnQgY2hhbm5lbCk7CmludCBtaXhlcl9pc19zYW1wbGVfcGxheWluZyhpbnQgY2hhbm5l
bCk7CnZvaWQgbWl4ZXJfc2V0X3NhbXBsZV9mcmVxdWVuY3koaW50IGNoYW5uZWwsaW50IGZyZXEp
Owp2b2lkIG1peGVyX3NvdW5kX2VuYWJsZV9nbG9iYWxfdyhpbnQgZW5hYmxlKTsKCnZvaWQgbWl4
ZXJfcGxheV9zdHJlYW1lZF9zYW1wbGVfMTYoaW50IGNoYW5uZWwsSU5UMTYgKmRhdGEsaW50IGxl
bixpbnQgZnJlcSk7CmludCBtaXhlcl9zYW1wbGVzX3RoaXNfZnJhbWUodm9pZCk7CmludCBtaXhl
cl9uZWVkX3NhbXBsZXNfdGhpc19mcmFtZShpbnQgY2hhbm5lbCxpbnQgZnJlcSk7CnZvaWQgbWl4
ZXJfc2V0X2xvd3Bhc3NfZnJlcXVlbmN5KGludCBjaCwgaW50IGZyZXEpOwoKCnZvaWQgbWl4ZXJf
c2V0X21peGluZ19sZXZlbChpbnQgY2hhbm5lbCxpbnQgbGV2ZWwpOwppbnQgbWl4ZXJfZ2V0X21p
eGluZ19sZXZlbChpbnQgbGV2ZWwpOwppbnQgbWl4ZXJfZ2V0X2RlZmF1bHRfbWl4aW5nX2xldmVs
KGludCBsZXZlbCk7Cgp2b2lkIG1peGVyX3JlYWRfY29uZmlnKHZvaWQgKmYpOwp2b2lkIG1peGVy
X3dyaXRlX2NvbmZpZyh2b2lkICpmKTsKCnZvaWQgbWl4ZXJfc2V0X3N0ZXJlb192b2x1bWUoaW50
IGNoLCBpbnQgbF92b2wsIGludCByX3ZvbCApOwojIDE0ICJzcmMvc25kaW50cmYuaCIgMgojIDEg
InNyYy9zb3VuZC9zdHJlYW1zLmgiIDEKCgoKCgoKCnZvaWQgc2V0X1JDX2ZpbHRlcihpbnQgY2hh
bm5lbCxpbnQgUjEsaW50IFIyLGludCBSMyxpbnQgQyk7CgppbnQgc3RyZWFtc19zaF9zdGFydCh2
b2lkKTsKdm9pZCBzdHJlYW1zX3NoX3N0b3Aodm9pZCk7CnZvaWQgc3RyZWFtc19zaF91cGRhdGUo
dm9pZCk7CgppbnQgc3RyZWFtX2luaXQoY29uc3QgY2hhciAqbmFtZSxpbnQgZGVmYXVsdF9taXhp
bmdfbGV2ZWwsCiAgICAgICAgICAgICAgICBpbnQgc2FtcGxlX3JhdGUsCiAgICAgICAgICAgICAg
ICBpbnQgcGFyYW0sdm9pZCAoKmNhbGxiYWNrKShpbnQgcGFyYW0sSU5UMTYgKmJ1ZmZlcixpbnQg
bGVuZ3RoKSk7CmludCBzdHJlYW1faW5pdF9tdWx0aShpbnQgY2hhbm5lbHMsY29uc3QgY2hhciAq
Km5hbWVzLGNvbnN0IGludCAqZGVmYXVsdF9taXhpbmdfbGV2ZWxzLAogICAgICAgICAgICAgICAg
aW50IHNhbXBsZV9yYXRlLAogICAgICAgICAgICAgICAgaW50IHBhcmFtLHZvaWQgKCpjYWxsYmFj
aykoaW50IHBhcmFtLElOVDE2ICoqYnVmZmVyLGludCBsZW5ndGgpKTsKdm9pZCBzdHJlYW1fdXBk
YXRlKGludCBjaGFubmVsLGludCBtaW5faW50ZXJ2YWwpOwojIDE1ICJzcmMvc25kaW50cmYuaCIg
MgoKCiMgMSAic3JjL3NvdW5kL3NhbXBsZXMuaCIgMQoKCgpzdHJ1Y3QgU2FtcGxlc2ludGVyZmFj
ZQp7CiAgICAgICAgaW50IGNoYW5uZWxzOwogICAgICAgIGludCB2b2x1bWU7CiAgICAgICAgY29u
c3QgY2hhciAqKnNhbXBsZW5hbWVzOwp9OwoKCgoKCnZvaWQgc2FtcGxlX3N0YXJ0KGludCBjaGFu
bmVsLGludCBzYW1wbGVudW0saW50IGxvb3ApOwp2b2lkIHNhbXBsZV9zZXRfZnJlcShpbnQgY2hh
bm5lbCxpbnQgZnJlcSk7CnZvaWQgc2FtcGxlX3NldF92b2x1bWUoaW50IGNoYW5uZWwsaW50IHZv
bHVtZSk7CnZvaWQgc2FtcGxlX3N0b3AoaW50IGNoYW5uZWwpOwppbnQgc2FtcGxlX3BsYXlpbmco
aW50IGNoYW5uZWwpOwoKaW50IHNhbXBsZXNfc2hfc3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVT
b3VuZCAqbXNvdW5kKTsKIyAxOCAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC9k
YWMuaCIgMQojIDEwICJzcmMvc291bmQvZGFjLmgiCnN0cnVjdCBEQUNpbnRlcmZhY2UKewogICAg
ICAgIGludCBudW07CiAgICAgICAgaW50IG1peGluZ19sZXZlbFs0XTsKfTsKCmludCBEQUNfc2hf
c3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kKTsKdm9pZCBEQUNfZGF0YV93
KGludCBudW0saW50IGRhdGEpOwp2b2lkIERBQ19zaWduZWRfZGF0YV93KGludCBudW0saW50IGRh
dGEpOwp2b2lkIERBQ19kYXRhXzE2X3coaW50IG51bSxpbnQgZGF0YSk7CnZvaWQgREFDX3NpZ25l
ZF9kYXRhXzE2X3coaW50IG51bSxpbnQgZGF0YSk7Cgp2b2lkIERBQ18wX2RhdGFfdyhfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgREFDXzFfZGF0YV93KF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0
YThfdCBkYXRhKTsKdm9pZCBEQUNfMF9zaWduZWRfZGF0YV93KF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThf
dCBkYXRhKTsKdm9pZCBEQUNfMV9zaWduZWRfZGF0YV93KF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBk
YXRhKTsKIyAyMSAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC9kaXNjcmV0ZS5o
IiAxCiMgNDEyICJzcmMvc291bmQvZGlzY3JldGUuaCIKc3RydWN0IGRpc2NyZXRlX3NvdW5kX2Js
b2NrCnsKICAgICAgICBpbnQgbm9kZTsKICAgICAgICBpbnQgdHlwZTsKICAgICAgICBpbnQgaW5w
dXRfbm9kZTA7CiAgICAgICAgaW50IGlucHV0X25vZGUxOwogICAgICAgIGludCBpbnB1dF9ub2Rl
MjsKICAgICAgICBpbnQgaW5wdXRfbm9kZTM7CiAgICAgICAgaW50IGlucHV0X25vZGU0OwogICAg
ICAgIGludCBpbnB1dF9ub2RlNTsKICAgICAgICBkb3VibGUgaW5pdGlhbDA7CiAgICAgICAgZG91
YmxlIGluaXRpYWwxOwogICAgICAgIGRvdWJsZSBpbml0aWFsMjsKICAgICAgICBkb3VibGUgaW5p
dGlhbDM7CiAgICAgICAgZG91YmxlIGluaXRpYWw0OwogICAgICAgIGRvdWJsZSBpbml0aWFsNTsK
fTsKCnN0cnVjdCBub2RlX2Rlc2NyaXB0aW9uCnsKICAgICAgICBpbnQgbm9kZTsKICAgICAgICBp
bnQgbW9kdWxlOwogICAgICAgIGRvdWJsZSBvdXRwdXQ7CiAgICAgICAgc3RydWN0IG5vZGVfZGVz
Y3JpcHRpb24gKmlucHV0X25vZGUwOwogICAgICAgIHN0cnVjdCBub2RlX2Rlc2NyaXB0aW9uICpp
bnB1dF9ub2RlMTsKICAgICAgICBzdHJ1Y3Qgbm9kZV9kZXNjcmlwdGlvbiAqaW5wdXRfbm9kZTI7
CiAgICAgICAgc3RydWN0IG5vZGVfZGVzY3JpcHRpb24gKmlucHV0X25vZGUzOwogICAgICAgIHN0
cnVjdCBub2RlX2Rlc2NyaXB0aW9uICppbnB1dF9ub2RlNDsKICAgICAgICBzdHJ1Y3Qgbm9kZV9k
ZXNjcmlwdGlvbiAqaW5wdXRfbm9kZTU7CiAgICAgICAgZG91YmxlIGlucHV0MDsKICAgICAgICBk
b3VibGUgaW5wdXQxOwogICAgICAgIGRvdWJsZSBpbnB1dDI7CiAgICAgICAgZG91YmxlIGlucHV0
MzsKICAgICAgICBkb3VibGUgaW5wdXQ0OwogICAgICAgIGRvdWJsZSBpbnB1dDU7CiAgICAgICAg
dm9pZCAqY29udGV4dDsKfTsKCnN0cnVjdCBkaXNjcmV0ZV9tb2R1bGUKewogICAgICAgIGludCB0
eXBlOwogICAgICAgIGNoYXIgKm5hbWU7CiAgICAgICAgaW50ICgqaW5pdCkgKHN0cnVjdCBub2Rl
X2Rlc2NyaXB0aW9uICpub2RlKTsKICAgICAgICBpbnQgKCpraWxsKSAoc3RydWN0IG5vZGVfZGVz
Y3JpcHRpb24gKm5vZGUpOwogICAgICAgIGludCAoKnJlc2V0KSAoc3RydWN0IG5vZGVfZGVzY3Jp
cHRpb24gKm5vZGUpOwogICAgICAgIGludCAoKnN0ZXApIChzdHJ1Y3Qgbm9kZV9kZXNjcmlwdGlv
biAqbm9kZSk7Cn07CgplbnVtIHsgTk9ERV8wMD0weDQwMDAwMDAwCiAgICAgICAgICAgICAgLCBO
T0RFXzAxLCBOT0RFXzAyLCBOT0RFXzAzLCBOT0RFXzA0LCBOT0RFXzA1LCBOT0RFXzA2LCBOT0RF
XzA3LCBOT0RFXzA4LCBOT0RFXzA5LAogICAgICAgTk9ERV8xMCwgTk9ERV8xMSwgTk9ERV8xMiwg
Tk9ERV8xMywgTk9ERV8xNCwgTk9ERV8xNSwgTk9ERV8xNiwgTk9ERV8xNywgTk9ERV8xOCwgTk9E
RV8xOSwKICAgICAgIE5PREVfMjAsIE5PREVfMjEsIE5PREVfMjIsIE5PREVfMjMsIE5PREVfMjQs
IE5PREVfMjUsIE5PREVfMjYsIE5PREVfMjcsIE5PREVfMjgsIE5PREVfMjksCiAgICAgICBOT0RF
XzMwLCBOT0RFXzMxLCBOT0RFXzMyLCBOT0RFXzMzLCBOT0RFXzM0LCBOT0RFXzM1LCBOT0RFXzM2
LCBOT0RFXzM3LCBOT0RFXzM4LCBOT0RFXzM5LAogICAgICAgTk9ERV80MCwgTk9ERV80MSwgTk9E
RV80MiwgTk9ERV80MywgTk9ERV80NCwgTk9ERV80NSwgTk9ERV80NiwgTk9ERV80NywgTk9ERV80
OCwgTk9ERV80OSwKICAgICAgIE5PREVfNTAsIE5PREVfNTEsIE5PREVfNTIsIE5PREVfNTMsIE5P
REVfNTQsIE5PREVfNTUsIE5PREVfNTYsIE5PREVfNTcsIE5PREVfNTgsIE5PREVfNTksCiAgICAg
ICBOT0RFXzYwLCBOT0RFXzYxLCBOT0RFXzYyLCBOT0RFXzYzLCBOT0RFXzY0LCBOT0RFXzY1LCBO
T0RFXzY2LCBOT0RFXzY3LCBOT0RFXzY4LCBOT0RFXzY5LAogICAgICAgTk9ERV83MCwgTk9ERV83
MSwgTk9ERV83MiwgTk9ERV83MywgTk9ERV83NCwgTk9ERV83NSwgTk9ERV83NiwgTk9ERV83Nywg
Tk9ERV83OCwgTk9ERV83OSwKICAgICAgIE5PREVfODAsIE5PREVfODEsIE5PREVfODIsIE5PREVf
ODMsIE5PREVfODQsIE5PREVfODUsIE5PREVfODYsIE5PREVfODcsIE5PREVfODgsIE5PREVfODks
CiAgICAgICBOT0RFXzkwLCBOT0RFXzkxLCBOT0RFXzkyLCBOT0RFXzkzLCBOT0RFXzk0LCBOT0RF
Xzk1LCBOT0RFXzk2LCBOT0RFXzk3LCBOT0RFXzk4LCBOT0RFXzk5IH07CiMgNDkwICJzcmMvc291
bmQvZGlzY3JldGUuaCIKZW51bSB7CgogICAgICAgICAgICAgICAgRFNTX05VTEwsCiAgICAgICAg
ICAgICAgICBEU1NfQ09OU1RBTlQsCiAgICAgICAgICAgICAgICBEU1NfSU5QVVQsCiAgICAgICAg
ICAgICAgICBEU1NfTk9JU0UsCiAgICAgICAgICAgICAgICBEU1NfU1FVQVJFV0FWRSwKICAgICAg
ICAgICAgICAgIERTU19TSU5FV0FWRSwKICAgICAgICAgICAgICAgIERTU19PTkVTSE9ULAoKCgog
ICAgICAgICAgICAgICAgRFNUX1JDRklMVEVSLAoKCiAgICAgICAgICAgICAgICBEU1RfR0FJTiwK
CiAgICAgICAgICAgICAgICBEU1RfQURERVIsCgoKICAgICAgICAgICAgICAgIERTRF9ORTU1NSwK
CgoKICAgICAgICAgICAgICAgIERTT19PVVRQVVQKfTsKIyA1NTUgInNyYy9zb3VuZC9kaXNjcmV0
ZS5oIgppbnQgZGlzY3JldGVfc2hfc3RhcnQgKGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1z
b3VuZCk7CnZvaWQgZGlzY3JldGVfc2hfc3RvcCAodm9pZCk7CnZvaWQgZGlzY3JldGVfc2hfcmVz
ZXQgKHZvaWQpOwp2b2lkIGRpc2NyZXRlX3NoX3VwZGF0ZSAodm9pZCk7Cgp2b2lkIGRpc2NyZXRl
X3NvdW5kX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwpkYXRhOF90IGRpc2NyZXRlX3Nv
dW5kX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwojIDI0ICJz
cmMvc25kaW50cmYuaCIgMgoKCiMgMSAic3JjL3NvdW5kL2F5ODkxMC5oIiAxCgoKCgoKCnN0cnVj
dCBBWTg5MTBpbnRlcmZhY2UKewogICAgICAgIGludCBudW07CiAgICAgICAgaW50IGJhc2VjbG9j
azsKICAgICAgICBpbnQgbWl4aW5nX2xldmVsWzVdOwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIg
cG9ydEFyZWFkWzVdOwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIgcG9ydEJyZWFkWzVdOwogICAg
ICAgIG1lbV93cml0ZV9oYW5kbGVyIHBvcnRBd3JpdGVbNV07CiAgICAgICAgbWVtX3dyaXRlX2hh
bmRsZXIgcG9ydEJ3cml0ZVs1XTsKICAgICAgICB2b2lkICgqaGFuZGxlcls1XSkoaW50IGlycSk7
Cn07Cgp2b2lkIEFZODkxMF9yZXNldChpbnQgY2hpcCk7Cgp2b2lkIEFZODkxMF9zZXRfY2xvY2so
aW50IGNoaXAsaW50IF9jbG9jayk7CnZvaWQgQVk4OTEwX3NldF92b2x1bWUoaW50IGNoaXAsaW50
IGNoYW5uZWwsaW50IHZvbHVtZSk7CgoKdm9pZCBBWTg5MTBXcml0ZShpbnQgY2hpcCxpbnQgYSxp
bnQgZGF0YSk7CmludCBBWTg5MTBSZWFkKGludCBjaGlwKTsKCgpkYXRhOF90IEFZODkxMF9yZWFk
X3BvcnRfMF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0
YThfdCBBWTg5MTBfcmVhZF9wb3J0XzFfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zm
c190IG9mZnNldCk7CmRhdGE4X3QgQVk4OTEwX3JlYWRfcG9ydF8yX3IoX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IEFZODkxMF9yZWFkX3BvcnRfM19y
KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThfdCBBWTg5
MTBfcmVhZF9wb3J0XzRfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNl
dCk7CmRhdGExNl90IEFZODkxMF9yZWFkX3BvcnRfMF9sc2JfcihfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGEx
Nl90IG1lbV9tYXNrKTsKZGF0YTE2X3QgQVk4OTEwX3JlYWRfcG9ydF8xX2xzYl9yKF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBBWTg5MTBfcmVhZF9wb3J0XzJfbHNi
X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CmRhdGExNl90IEFZODkxMF9yZWFk
X3BvcnRfM19sc2JfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwg
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKZGF0YTE2X3Qg
QVk4OTEwX3JlYWRfcG9ydF80X2xzYl9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZz
X3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2sp
OwpkYXRhMTZfdCBBWTg5MTBfcmVhZF9wb3J0XzBfbXNiX3IoX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZf
dCBtZW1fbWFzayk7CmRhdGExNl90IEFZODkxMF9yZWFkX3BvcnRfMV9tc2JfcihfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIGRhdGExNl90IG1lbV9tYXNrKTsKZGF0YTE2X3QgQVk4OTEwX3JlYWRfcG9ydF8yX21zYl9y
KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBBWTg5MTBfcmVhZF9w
b3J0XzNfbXNiX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CmRhdGExNl90IEFZ
ODkxMF9yZWFkX3BvcnRfNF9tc2JfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190
IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsK
CnZvaWQgQVk4OTEwX2NvbnRyb2xfcG9ydF8wX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEp
Owp2b2lkIEFZODkxMF9jb250cm9sX3BvcnRfMV93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRh
KTsKdm9pZCBBWTg5MTBfY29udHJvbF9wb3J0XzJfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0
YSk7CnZvaWQgQVk4OTEwX2NvbnRyb2xfcG9ydF8zX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRh
dGEpOwp2b2lkIEFZODkxMF9jb250cm9sX3BvcnRfNF93KF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBk
YXRhKTsKdm9pZCBBWTg5MTBfY29udHJvbF9wb3J0XzBfbHNiX3coX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRh
MTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2sp
Owp2b2lkIEFZODkxMF9jb250cm9sX3BvcnRfMV9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZv
aWQgQVk4OTEwX2NvbnRyb2xfcG9ydF8yX2xzYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0
YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBB
WTg5MTBfY29udHJvbF9wb3J0XzNfbHNiX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9m
ZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIEFZODkx
MF9jb250cm9sX3BvcnRfNF9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190
IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgQVk4OTEwX2Nv
bnRyb2xfcG9ydF8wX21zYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zm
c2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBBWTg5MTBfY29udHJv
bF9wb3J0XzFfbXNiX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQs
IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIEFZODkxMF9jb250cm9sX3Bv
cnRfMl9tc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgQVk4OTEwX2NvbnRyb2xfcG9ydF8z
X21zYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBBWTg5MTBfY29udHJvbF9wb3J0XzRfbXNi
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgZGF0YTE2X3QgbWVtX21hc2spOwoKdm9pZCBBWTg5MTBfd3JpdGVfcG9ydF8wX3coX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIEFZODkxMF93cml0ZV9wb3J0XzFfdyhfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgQVk4OTEwX3dyaXRlX3BvcnRfMl93KF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBBWTg5MTBfd3JpdGVfcG9ydF8zX3coX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIEFZODkxMF93cml0ZV9wb3J0XzRfdyhfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgQVk4OTEwX3dyaXRlX3BvcnRfMF9sc2JfdyhfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZf
dCBtZW1fbWFzayk7CnZvaWQgQVk4OTEwX3dyaXRlX3BvcnRfMV9sc2JfdyhfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1f
bWFzayk7CnZvaWQgQVk4OTEwX3dyaXRlX3BvcnRfMl9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGEx
Nl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7
CnZvaWQgQVk4OTEwX3dyaXRlX3BvcnRfM19sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRh
dGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQg
QVk4OTEwX3dyaXRlX3BvcnRfNF9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zm
c190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgQVk4OTEw
X3dyaXRlX3BvcnRfMF9tc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9m
ZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgQVk4OTEwX3dyaXRl
X3BvcnRfMV9tc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwg
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgQVk4OTEwX3dyaXRlX3BvcnRf
Ml9tc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgQVk4OTEwX3dyaXRlX3BvcnRfM19tc2Jf
dyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgQVk4OTEwX3dyaXRlX3BvcnRfNF9tc2JfdyhfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRh
MTZfdCBtZW1fbWFzayk7CgppbnQgQVk4OTEwX3NoX3N0YXJ0KGNvbnN0IHN0cnVjdCBNYWNoaW5l
U291bmQgKm1zb3VuZCk7CnZvaWQgQVk4OTEwX3NoX3N0b3Aodm9pZCk7CnZvaWQgQVk4OTEwX3No
X3Jlc2V0KHZvaWQpOwoKCgoKCgpleHRlcm4gaW50IGF5ODkxMF9pbmRleF95bTsKCnZvaWQgQVk4
OTEwX3NoX3N0b3BfeW0odm9pZCk7CmludCBBWTg5MTBfc2hfc3RhcnRfeW0oY29uc3Qgc3RydWN0
IE1hY2hpbmVTb3VuZCAqbXNvdW5kKTsKIyAyNyAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNy
Yy9zb3VuZC8yMjAzaW50Zi5oIiAxCiMgMTMgInNyYy9zb3VuZC8yMjAzaW50Zi5oIgpkYXRhOF90
IFlNMjIwM19zdGF0dXNfcG9ydF8wX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNf
dCBvZmZzZXQpOwpkYXRhOF90IFlNMjIwM19zdGF0dXNfcG9ydF8xX3IoX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IFlNMjIwM19zdGF0dXNfcG9ydF8y
X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IFlN
MjIwM19zdGF0dXNfcG9ydF8zX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBv
ZmZzZXQpOwpkYXRhOF90IFlNMjIwM19zdGF0dXNfcG9ydF80X3IoX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwoKZGF0YThfdCBZTTIyMDNfcmVhZF9wb3J0XzBfcihf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgWU0yMjAz
X3JlYWRfcG9ydF8xX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQp
OwpkYXRhOF90IFlNMjIwM19yZWFkX3BvcnRfMl9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThfdCBZTTIyMDNfcmVhZF9wb3J0XzNfcihfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgWU0yMjAzX3JlYWRfcG9y
dF80X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwoKdm9pZCBZ
TTIyMDNfY29udHJvbF9wb3J0XzBfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190
IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQg
WU0yMjAzX2NvbnRyb2xfcG9ydF8xX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNf
dCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lk
IFlNMjIwM19jb250cm9sX3BvcnRfMl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZz
X3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9p
ZCBZTTIyMDNfY29udHJvbF9wb3J0XzNfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zm
c190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZv
aWQgWU0yMjAzX2NvbnRyb2xfcG9ydF80X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9m
ZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwoK
dm9pZCBZTTIyMDNfd3JpdGVfcG9ydF8wX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9m
ZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2
b2lkIFlNMjIwM193cml0ZV9wb3J0XzFfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zm
c190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZv
aWQgWU0yMjAzX3dyaXRlX3BvcnRfMl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZz
X3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9p
ZCBZTTIyMDNfd3JpdGVfcG9ydF8zX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNf
dCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lk
IFlNMjIwM193cml0ZV9wb3J0XzRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190
IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CgppbnQg
WU0yMjAzX3NoX3N0YXJ0KGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CnZvaWQg
WU0yMjAzX3NoX3N0b3Aodm9pZCk7CnZvaWQgWU0yMjAzX3NoX3Jlc2V0KHZvaWQpOwoKdm9pZCBZ
TTIyMDNVcGRhdGVSZXF1ZXN0KGludCBjaGlwKTsKIyAzMCAic3JjL3NuZGludHJmLmgiIDIKCgoj
IDEgInNyYy9zb3VuZC8yNjA4aW50Zi5oIiAxCgoKCiMgMSAic3JjL3NvdW5kL2ZtLmgiIDEKIyAx
MTQgInNyYy9zb3VuZC9mbS5oIgp0eXBlZGVmIElOVDE2IEZNU0FNUExFOwp0eXBlZGVmIHVuc2ln
bmVkIGxvbmcgRk1TQU1QTEVfTUlYOwoKCgoKCgp0eXBlZGVmIHZvaWQgKCpGTV9USU1FUkhBTkRM
RVIpKGludCBuLGludCBjLGludCBjbnQsZG91YmxlIHN0ZXBUaW1lKTsKdHlwZWRlZiB2b2lkICgq
Rk1fSVJRSEFORExFUikoaW50IG4saW50IGlycSk7CiMgMTQ3ICJzcmMvc291bmQvZm0uaCIKaW50
IFlNMjIwM0luaXQoaW50IG51bSwgaW50IGJhc2VjbG9jaywgaW50IHJhdGUsCiAgICAgICAgICAg
ICAgIEZNX1RJTUVSSEFORExFUiBUaW1lckhhbmRsZXIsRk1fSVJRSEFORExFUiBJUlFIYW5kbGVy
KTsKCgoKCgp2b2lkIFlNMjIwM1NodXRkb3duKHZvaWQpOwoKCgoKdm9pZCBZTTIyMDNSZXNldENo
aXAoaW50IG51bSk7CgoKCgp2b2lkIFlNMjIwM1VwZGF0ZU9uZShpbnQgbnVtLCBJTlQxNiAqYnVm
ZmVyLCBpbnQgbGVuZ3RoKTsKCgoKCgppbnQgWU0yMjAzV3JpdGUoaW50IG4saW50IGEsdW5zaWdu
ZWQgY2hhciB2KTsKCgoKCnVuc2lnbmVkIGNoYXIgWU0yMjAzUmVhZChpbnQgbixpbnQgYSk7CgoK
CgppbnQgWU0yMjAzVGltZXJPdmVyKGludCBuLCBpbnQgYyk7CgoKCgoKaW50IFlNMjYwOEluaXQo
aW50IG51bSwgaW50IGJhc2VjbG9jaywgaW50IHJhdGUsCiAgICAgICAgICAgICAgIHZvaWQgKipw
Y21yb21hLGludCAqcGNtc2l6ZWEsc2hvcnQgKnJoeXRobXJvbSxpbnQgKnJoeXRobXBvcywKICAg
ICAgICAgICAgICAgRk1fVElNRVJIQU5ETEVSIFRpbWVySGFuZGxlcixGTV9JUlFIQU5ETEVSIElS
UUhhbmRsZXIpOwp2b2lkIFlNMjYwOFNodXRkb3duKHZvaWQpOwp2b2lkIFlNMjYwOFJlc2V0Q2hp
cChpbnQgbnVtKTsKdm9pZCBZTTI2MDhVcGRhdGVPbmUoaW50IG51bSwgSU5UMTYgKipidWZmZXIs
IGludCBsZW5ndGgpOwoKaW50IFlNMjYwOFdyaXRlKGludCBuLCBpbnQgYSx1bnNpZ25lZCBjaGFy
IHYpOwp1bnNpZ25lZCBjaGFyIFlNMjYwOFJlYWQoaW50IG4saW50IGEpOwppbnQgWU0yNjA4VGlt
ZXJPdmVyKGludCBuLCBpbnQgYyApOwoKCgoKaW50IFlNMjYxMEluaXQoaW50IG51bSwgaW50IGJh
c2VjbG9jaywgaW50IHJhdGUsCiAgICAgICAgICAgICAgIHZvaWQgKipwY21yb21hLGludCAqcGNt
YXNpemUsdm9pZCAqKnBjbXJvbWIsaW50ICpwY21ic2l6ZSwKICAgICAgICAgICAgICAgRk1fVElN
RVJIQU5ETEVSIFRpbWVySGFuZGxlcixGTV9JUlFIQU5ETEVSIElSUUhhbmRsZXIpOwp2b2lkIFlN
MjYxMFNodXRkb3duKHZvaWQpOwp2b2lkIFlNMjYxMFJlc2V0Q2hpcChpbnQgbnVtKTsKdm9pZCBZ
TTI2MTBVcGRhdGVPbmUoaW50IG51bSwgSU5UMTYgKipidWZmZXIsIGludCBsZW5ndGgpOwoKdm9p
ZCBZTTI2MTBCVXBkYXRlT25lKGludCBudW0sIElOVDE2ICoqYnVmZmVyLCBpbnQgbGVuZ3RoKTsK
CgppbnQgWU0yNjEwV3JpdGUoaW50IG4sIGludCBhLHVuc2lnbmVkIGNoYXIgdik7CnVuc2lnbmVk
IGNoYXIgWU0yNjEwUmVhZChpbnQgbixpbnQgYSk7CmludCBZTTI2MTBUaW1lck92ZXIoaW50IG4s
IGludCBjICk7CgoKCgppbnQgWU0yNjEySW5pdChpbnQgbnVtLCBpbnQgYmFzZWNsb2NrLCBpbnQg
cmF0ZSwKICAgICAgICAgICAgICAgRk1fVElNRVJIQU5ETEVSIFRpbWVySGFuZGxlcixGTV9JUlFI
QU5ETEVSIElSUUhhbmRsZXIpOwp2b2lkIFlNMjYxMlNodXRkb3duKHZvaWQpOwp2b2lkIFlNMjYx
MlJlc2V0Q2hpcChpbnQgbnVtKTsKdm9pZCBZTTI2MTJVcGRhdGVPbmUoaW50IG51bSwgSU5UMTYg
KipidWZmZXIsIGludCBsZW5ndGgpOwppbnQgWU0yNjEyV3JpdGUoaW50IG4sIGludCBhLHVuc2ln
bmVkIGNoYXIgdik7CnVuc2lnbmVkIGNoYXIgWU0yNjEyUmVhZChpbnQgbixpbnQgYSk7CmludCBZ
TTI2MTJUaW1lck92ZXIoaW50IG4sIGludCBjICk7CiMgNSAic3JjL3NvdW5kLzI2MDhpbnRmLmgi
IDIKCiAgdm9pZCBZTTI2MDhVcGRhdGVSZXF1ZXN0KGludCBjaGlwKTsKIyAxNiAic3JjL3NvdW5k
LzI2MDhpbnRmLmgiCnN0cnVjdCBZTTI2MDhpbnRlcmZhY2V7CiAgICAgICAgaW50IG51bTsKICAg
ICAgICBpbnQgYmFzZWNsb2NrOwogICAgICAgIGludCB2b2x1bWVTU0dbNV07CiAgICAgICAgbWVt
X3JlYWRfaGFuZGxlciBwb3J0QXJlYWRbNV07CiAgICAgICAgbWVtX3JlYWRfaGFuZGxlciBwb3J0
QnJlYWRbNV07CiAgICAgICAgbWVtX3dyaXRlX2hhbmRsZXIgcG9ydEF3cml0ZVs1XTsKICAgICAg
ICBtZW1fd3JpdGVfaGFuZGxlciBwb3J0QndyaXRlWzVdOwogICAgICAgIHZvaWQgKCAqaGFuZGxl
cls1XSApKCBpbnQgaXJxICk7CiAgICAgICAgaW50IHBjbXJvbVsoMildOwogICAgICAgIGludCB2
b2x1bWVGTVsoMildOwp9OwoKCgoKaW50IFlNMjYwOF9zaF9zdGFydChjb25zdCBzdHJ1Y3QgTWFj
aGluZVNvdW5kICptc291bmQpOwoKCgoKdm9pZCBZTTI2MDhfc2hfc3RvcCh2b2lkKTsKCnZvaWQg
WU0yNjA4X3NoX3Jlc2V0KHZvaWQpOwoKCgoKZGF0YThfdCBZTTI2MDhfc3RhdHVzX3BvcnRfMF9B
X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IFlN
MjYwOF9zdGF0dXNfcG9ydF8wX0JfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190
IG9mZnNldCk7CmRhdGE4X3QgWU0yNjA4X3JlYWRfcG9ydF8wX3IoX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwp2b2lkIFlNMjYwOF9jb250cm9sX3BvcnRfMF9BX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYwOF9jb250cm9sX3BvcnRfMF9C
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYwOF9kYXRhX3BvcnRfMF9B
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYwOF9kYXRhX3BvcnRfMF9C
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwoKCgoKZGF0YThfdCBZTTI2MDhfc3RhdHVz
X3BvcnRfMV9BX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpk
YXRhOF90IFlNMjYwOF9zdGF0dXNfcG9ydF8xX0JfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgWU0yNjA4X3JlYWRfcG9ydF8xX3IoX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwp2b2lkIFlNMjYwOF9jb250cm9sX3Bv
cnRfMV9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYwOF9jb250cm9s
X3BvcnRfMV9CX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYwOF9kYXRh
X3BvcnRfMV9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYwOF9kYXRh
X3BvcnRfMV9CX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwojIDMzICJzcmMvc25kaW50
cmYuaCIgMgoKCiMgMSAic3JjL3NvdW5kLzI2MTJpbnRmLmgiIDEKCgoKCgogIHZvaWQgWU0yNjEy
VXBkYXRlUmVxdWVzdChpbnQgY2hpcCk7CgoKCgoKCgppbnQgWU0yNjEyX3NoX3N0YXJ0KGNvbnN0
IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CnZvaWQgWU0yNjEyX3NoX3N0b3Aodm9pZCk7
CnZvaWQgWU0yNjEyX3NoX3Jlc2V0KHZvaWQpOwoKCgoKZGF0YThfdCBZTTI2MTJfc3RhdHVzX3Bv
cnRfMF9BX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRh
OF90IFlNMjYxMl9zdGF0dXNfcG9ydF8wX0JfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCk7CmRhdGE4X3QgWU0yNjEyX3JlYWRfcG9ydF8wX3IoX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwp2b2lkIFlNMjYxMl9jb250cm9sX3BvcnRf
MF9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYxMl9jb250cm9sX3Bv
cnRfMF9CX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYxMl9kYXRhX3Bv
cnRfMF9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYxMl9kYXRhX3Bv
cnRfMF9CX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwoKCgoKZGF0YThfdCBZTTI2MTJf
c3RhdHVzX3BvcnRfMV9BX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZz
ZXQpOwpkYXRhOF90IFlNMjYxMl9zdGF0dXNfcG9ydF8xX0JfcihfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgWU0yNjEyX3JlYWRfcG9ydF8xX3IoX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwp2b2lkIFlNMjYxMl9jb250
cm9sX3BvcnRfMV9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQs
IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYxMl9j
b250cm9sX3BvcnRfMV9CX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZz
ZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYx
Ml9kYXRhX3BvcnRfMV9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZz
ZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYx
Ml9kYXRhX3BvcnRfMV9CX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZz
ZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwojIDM2ICJzcmMv
c25kaW50cmYuaCIgMgoKCiMgMSAic3JjL3NvdW5kLzIxNTFpbnRmLmgiIDEKIyAxMiAic3JjL3Nv
dW5kLzIxNTFpbnRmLmgiCnN0cnVjdCBZTTIxNTFpbnRlcmZhY2UKewogICAgICAgIGludCBudW07
CiAgICAgICAgaW50IGJhc2VjbG9jazsKICAgICAgICBpbnQgdm9sdW1lWzJdOwogICAgICAgIHZv
aWQgKCppcnFoYW5kbGVyWzJdKShpbnQgaXJxKTsKICAgICAgICBtZW1fd3JpdGVfaGFuZGxlciBw
b3J0d3JpdGVoYW5kbGVyWzJdOwp9OwoKZGF0YThfdCBZTTIxNTFfc3RhdHVzX3BvcnRfMF9yKF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThfdCBZTTIxNTFf
c3RhdHVzX3BvcnRfMV9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0
KTsKZGF0YThfdCBZTTIxNTFfc3RhdHVzX3BvcnRfMl9yKF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0KTsKCnZvaWQgWU0yMTUxX3JlZ2lzdGVyX3BvcnRfMF93KF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBZTTIxNTFfcmVnaXN0ZXJfcG9ydF8xX3coX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjE1MV9yZWdpc3Rlcl9wb3J0XzJfdyhf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7Cgp2b2lkIFlNMjE1MV9kYXRhX3BvcnRfMF93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBZTTIxNTFfZGF0YV9wb3J0XzFfdyhfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgWU0yMTUxX2RhdGFfcG9ydF8yX3coX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBkYXRhOF90IGRhdGEpOwoKZGF0YTE2X3QgWU0yMTUxX3N0YXR1c19wb3J0XzBfbHNi
X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CmRhdGExNl90IFlNMjE1MV9zdGF0
dXNfcG9ydF8xX2xzYl9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0
LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZf
dCBZTTIxNTFfc3RhdHVzX3BvcnRfMl9sc2JfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9t
YXNrKTsKCnZvaWQgWU0yMTUxX3JlZ2lzdGVyX3BvcnRfMF9sc2JfdyhfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRh
dGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFz
ayk7CnZvaWQgWU0yMTUxX3JlZ2lzdGVyX3BvcnRfMV9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGEx
Nl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7
CnZvaWQgWU0yMTUxX3JlZ2lzdGVyX3BvcnRfMl9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7Cgp2
b2lkIFlNMjE1MV9kYXRhX3BvcnRfMF9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEs
IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgWU0y
MTUxX2RhdGFfcG9ydF8xX2xzYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qg
b2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBZTTIxNTFfZGF0
YV9wb3J0XzJfbHNiX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQs
IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwoKaW50IFlNMjE1MV9zaF9zdGFydChj
b25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5kICptc291bmQpOwp2b2lkIFlNMjE1MV9zaF9zdG9wKHZv
aWQpOwp2b2lkIFlNMjE1MV9zaF9yZXNldCh2b2lkKTsKCnZvaWQgWU0yMTUxVXBkYXRlUmVxdWVz
dChpbnQgY2hpcCk7CiMgMzkgInNyYy9zbmRpbnRyZi5oIiAyCgoKCgoKIyAxICJzcmMvc291bmQv
MjYxMGludGYuaCIgMQoKCgoKCiAgdm9pZCBZTTI2MTBVcGRhdGVSZXF1ZXN0KGludCBjaGlwKTsK
IyAxNiAic3JjL3NvdW5kLzI2MTBpbnRmLmgiCnN0cnVjdCBZTTI2MTBpbnRlcmZhY2UKewogICAg
ICAgIGludCBudW07CiAgICAgICAgaW50IGJhc2VjbG9jazsKICAgICAgICBpbnQgdm9sdW1lU1NH
WzVdOwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIgcG9ydEFyZWFkWzVdOwogICAgICAgIG1lbV9y
ZWFkX2hhbmRsZXIgcG9ydEJyZWFkWzVdOwogICAgICAgIG1lbV93cml0ZV9oYW5kbGVyIHBvcnRB
d3JpdGVbNV07CiAgICAgICAgbWVtX3dyaXRlX2hhbmRsZXIgcG9ydEJ3cml0ZVs1XTsKICAgICAg
ICB2b2lkICggKmhhbmRsZXJbNV0gKSggaW50IGlycSApOwogICAgICAgIGludCBwY21yb21iWygy
KV07CiAgICAgICAgaW50IHBjbXJvbWFbKDIpXTsKICAgICAgICBpbnQgdm9sdW1lRk1bKDIpXTsK
fTsKCgoKCmludCBZTTI2MTBfc2hfc3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNv
dW5kKTsKaW50IFlNMjYxMEJfc2hfc3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNv
dW5kKTsKCgoKCnZvaWQgWU0yNjEwX3NoX3N0b3Aodm9pZCk7Cgp2b2lkIFlNMjYxMF9zaF9yZXNl
dCh2b2lkKTsKCgoKCmRhdGE4X3QgWU0yNjEwX3N0YXR1c19wb3J0XzBfQV9yKF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YTE2X3QgWU0yNjEwX3N0YXR1c19w
b3J0XzBfQV9sc2JfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwg
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKZGF0YThfdCBZ
TTI2MTBfc3RhdHVzX3BvcnRfMF9CX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNf
dCBvZmZzZXQpOwpkYXRhMTZfdCBZTTI2MTBfc3RhdHVzX3BvcnRfMF9CX2xzYl9yKF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhOF90IFlNMjYxMF9yZWFkX3BvcnRfMF9yKF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YTE2X3QgWU0yNjEw
X3JlYWRfcG9ydF8wX2xzYl9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zm
c2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lk
IFlNMjYxMF9jb250cm9sX3BvcnRfMF9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9m
ZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2
b2lkIFlNMjYxMF9jb250cm9sX3BvcnRfMF9BX2xzYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3Qg
ZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9p
ZCBZTTI2MTBfY29udHJvbF9wb3J0XzBfQl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBv
ZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsK
dm9pZCBZTTI2MTBfY29udHJvbF9wb3J0XzBfQl9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZv
aWQgWU0yNjEwX2RhdGFfcG9ydF8wX0FfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zm
c190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZv
aWQgWU0yNjEwX2RhdGFfcG9ydF8wX0FfbHNiX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRh
LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIFlN
MjYxMF9kYXRhX3BvcnRfMF9CX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBv
ZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlN
MjYxMF9kYXRhX3BvcnRfMF9CX2xzYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZz
X3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKCgoKCmRhdGE4X3Qg
WU0yNjEwX3N0YXR1c19wb3J0XzFfQV9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZz
X3Qgb2Zmc2V0KTsKZGF0YTE2X3QgWU0yNjEwX3N0YXR1c19wb3J0XzFfQV9sc2JfcihfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKZGF0YThfdCBZTTI2MTBfc3RhdHVzX3BvcnRfMV9C
X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhMTZfdCBZ
TTI2MTBfc3RhdHVzX3BvcnRfMV9CX2xzYl9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBv
ZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21h
c2spOwpkYXRhOF90IFlNMjYxMF9yZWFkX3BvcnRfMV9yKF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YTE2X3QgWU0yNjEwX3JlYWRfcG9ydF8xX2xzYl9yKF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIFlNMjYxMF9jb250cm9sX3BvcnRf
MV9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYxMF9jb250cm9sX3Bv
cnRfMV9BX2xzYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBZTTI2MTBfY29udHJvbF9wb3J0
XzFfQl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBZTTI2MTBfY29udHJvbF9w
b3J0XzFfQl9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwg
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgWU0yNjEwX2RhdGFfcG9ydF8x
X0FfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgWU0yNjEwX2RhdGFfcG9ydF8x
X0FfbHNiX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIFlNMjYxMF9kYXRhX3BvcnRfMV9CX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjYxMF9kYXRhX3BvcnRfMV9CX2xz
Yl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIGRhdGExNl90IG1lbV9tYXNrKTsKIyA0NSAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNy
Yy9zb3VuZC8zODEyaW50Zi5oIiAxCgoKCgoKCgpzdHJ1Y3QgWU0zODEyaW50ZXJmYWNlCnsKICAg
ICAgICBpbnQgbnVtOwogICAgICAgIGludCBiYXNlY2xvY2s7CiAgICAgICAgaW50IG1peGluZ19s
ZXZlbFsyXTsKICAgICAgICB2b2lkICgqaGFuZGxlclsyXSkoaW50IGxpbmVzdGF0ZSk7Cn07Cgpz
dHJ1Y3QgWTg5NTBpbnRlcmZhY2UKewogICAgICAgIGludCBudW07CiAgICAgICAgaW50IGJhc2Vj
bG9jazsKICAgICAgICBpbnQgbWl4aW5nX2xldmVsWzJdOwogICAgICAgIHZvaWQgKCpoYW5kbGVy
WzJdKShpbnQgbGluZXN0YXRlKTsKCiAgICAgICAgaW50IHJvbV9yZWdpb25bMl07CiAgICAgICAg
bWVtX3JlYWRfaGFuZGxlciBrZXlib2FyZHJlYWRbMl07CiAgICAgICAgbWVtX3dyaXRlX2hhbmRs
ZXIga2V5Ym9hcmR3cml0ZVsyXTsKICAgICAgICBtZW1fcmVhZF9oYW5kbGVyIHBvcnRyZWFkWzJd
OwogICAgICAgIG1lbV93cml0ZV9oYW5kbGVyIHBvcnR3cml0ZVsyXTsKfTsKCgoKCmRhdGE4X3Qg
WU0zODEyX3N0YXR1c19wb3J0XzBfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190
IG9mZnNldCk7CnZvaWQgWU0zODEyX2NvbnRyb2xfcG9ydF8wX3coX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRh
OF90IGRhdGEpOwp2b2lkIFlNMzgxMl93cml0ZV9wb3J0XzBfdyhfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4
X3QgZGF0YSk7CmRhdGE4X3QgWU0zODEyX3N0YXR1c19wb3J0XzFfcihfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CnZvaWQgWU0zODEyX2NvbnRyb2xfcG9ydF8xX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMzgxMl93cml0ZV9wb3J0XzFfdyhf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CgppbnQgWU0zODEyX3NoX3N0YXJ0KGNvbnN0IHN0
cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CnZvaWQgWU0zODEyX3NoX3N0b3Aodm9pZCk7CnZv
aWQgWU0zODEyX3NoX3Jlc2V0KHZvaWQpOwojIDUxICJzcmMvc291bmQvMzgxMmludGYuaCIKaW50
IFlNMzUyNl9zaF9zdGFydChjb25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5kICptc291bmQpOwoKCgoK
CgpkYXRhOF90IFk4OTUwX3JlYWRfcG9ydF8wX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IG9mZnNfdCBvZmZzZXQpOwoKCgpkYXRhOF90IFk4OTUwX3JlYWRfcG9ydF8xX3IoX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwoKaW50IFk4OTUwX3NoX3N0YXJ0KGNv
bnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CiMgNDggInNyYy9zbmRpbnRyZi5oIiAy
CgoKIyAxICJzcmMvc291bmQvMjQxM2ludGYuaCIgMQoKCgoKCnN0cnVjdCBZTTI0MTNpbnRlcmZh
Y2UKewogICAgICAgIGludCBudW07CiAgICAgICAgaW50IGJhc2VjbG9jazsKICAgICAgICBpbnQg
bWl4aW5nX2xldmVsWyg0KV07Cn07Cgp2b2lkIFlNMjQxM19yZWdpc3Rlcl9wb3J0XzBfdyhfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgWU0yNDEzX3JlZ2lzdGVyX3BvcnRfMV93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBZTTI0MTNfcmVnaXN0ZXJfcG9ydF8yX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjQxM19yZWdpc3Rlcl9wb3J0XzNf
dyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgWU0yNDEzX2RhdGFfcG9ydF8wX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlNMjQxM19kYXRhX3BvcnRfMV93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBZTTI0MTNfZGF0YV9wb3J0XzJfdyhfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgWU0yNDEzX2RhdGFfcG9ydF8zX3coX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBkYXRhOF90IGRhdGEpOwoKdm9pZCBZTTI0MTNfcmVnaXN0ZXJfcG9ydF8wX2xzYl93
KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBZTTI0MTNfcmVnaXN0ZXJfcG9ydF8xX2xzYl93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRh
dGExNl90IG1lbV9tYXNrKTsKdm9pZCBZTTI0MTNfcmVnaXN0ZXJfcG9ydF8yX2xzYl93KF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGEx
Nl90IG1lbV9tYXNrKTsKdm9pZCBZTTI0MTNfcmVnaXN0ZXJfcG9ydF8zX2xzYl93KF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IG1lbV9tYXNrKTsKdm9pZCBZTTI0MTNfZGF0YV9wb3J0XzBfbHNiX3coX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBk
YXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21h
c2spOwp2b2lkIFlNMjQxM19kYXRhX3BvcnRfMV9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZv
aWQgWU0yNDEzX2RhdGFfcG9ydF8yX2xzYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBv
ZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwg
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBZTTI0
MTNfZGF0YV9wb3J0XzNfbHNiX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBv
ZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwoKaW50IFlNMjQxM19zaF9z
dGFydCAoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kKTsKdm9pZCBZTTI0MTNfc2hf
c3RvcCAodm9pZCk7CnZvaWQgWU0yNDEzX3NoX3Jlc2V0ICh2b2lkKTsKIyA1MSAic3JjL3NuZGlu
dHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC95bXoyODBiLmgiIDEKIyAxNyAic3JjL3NvdW5kL3lt
ejI4MGIuaCIKc3RydWN0IFlNWjI4MEJpbnRlcmZhY2UKewogICAgICAgIGludCBudW07CiAgICAg
ICAgaW50IGJhc2VjbG9ja1syXTsKICAgICAgICBpbnQgcmVnaW9uWzJdOwogICAgICAgIGludCBt
aXhpbmdfbGV2ZWxbMl07CiAgICAgICAgdm9pZCAoKmlycV9jYWxsYmFja1syXSkoaW50IHN0YXRl
KTsKfTsKCmludCBZTVoyODBCX3NoX3N0YXJ0KGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1z
b3VuZCk7CnZvaWQgWU1aMjgwQl9zaF9zdG9wKHZvaWQpOwp2b2lkIFlNWjI4MEJfc2V0X3NhbXBs
ZV9iYXNlKGludCB3aGljaCwgdm9pZCAqYmFzZSk7CgpkYXRhOF90IFlNWjI4MEJfc3RhdHVzXzBf
cihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgWU1a
MjgwQl9zdGF0dXNfMV9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0
KTsKdm9pZCBZTVoyODBCX3JlZ2lzdGVyXzBfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7
CnZvaWQgWU1aMjgwQl9yZWdpc3Rlcl8xX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9m
ZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2
b2lkIFlNWjI4MEJfZGF0YV8wX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBv
ZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFlN
WjI4MEJfZGF0YV8xX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQs
IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwojIDU0ICJzcmMvc25k
aW50cmYuaCIgMgoKCiMgMSAic3JjL3NvdW5kL3NuNzY0NzcuaCIgMQojIDQwICJzcmMvc291bmQv
c243NjQ3Ny5oIgpzdHJ1Y3QgU043NjQ3N2ludGVyZmFjZSB7CiAgICAgICAgaW50IG51bTsKICAg
ICAgICBpbnQgbWl4aW5nX2xldmVsWzRdOwogICAgICAgIGRvdWJsZSBub2lzZV9yZXNbNF07CiAg
ICAgICAgZG91YmxlIGZpbHRlcl9yZXNbNF07CiAgICAgICAgZG91YmxlIGZpbHRlcl9jYXBbNF07
CiAgICAgICAgZG91YmxlIGRlY2F5X3Jlc1s0XTsKICAgICAgICBkb3VibGUgYXR0YWNrX2RlY2F5
X2NhcFs0XTsKICAgICAgICBkb3VibGUgYXR0YWNrX3Jlc1s0XTsKICAgICAgICBkb3VibGUgYW1w
bGl0dWRlX3Jlc1s0XTsKICAgICAgICBkb3VibGUgZmVlZGJhY2tfcmVzWzRdOwogICAgICAgIGRv
dWJsZSB2Y29fdm9sdGFnZVs0XTsKICAgIGRvdWJsZSB2Y29fY2FwWzRdOwogICAgZG91YmxlIHZj
b19yZXNbNF07CiAgICBkb3VibGUgcGl0Y2hfdm9sdGFnZVs0XTsKICAgIGRvdWJsZSBzbGZfcmVz
WzRdOwogICAgZG91YmxlIHNsZl9jYXBbNF07CiAgICBkb3VibGUgb25lc2hvdF9jYXBbNF07CiAg
ICBkb3VibGUgb25lc2hvdF9yZXNbNF07Cn07CgoKZXh0ZXJuIHZvaWQgU043NjQ3N19ub2lzZV9j
bG9ja193KGludCBjaGlwLCBpbnQgZGF0YSk7CgoKZXh0ZXJuIHZvaWQgU043NjQ3N19lbmFibGVf
dyhpbnQgY2hpcCwgaW50IGRhdGEpOwoKCmV4dGVybiB2b2lkIFNONzY0NzdfbWl4ZXJfdyhpbnQg
Y2hpcCwgaW50IGRhdGEpOwoKCmV4dGVybiB2b2lkIFNONzY0NzdfbWl4ZXJfYV93KGludCBjaGlw
LCBpbnQgZGF0YSk7CmV4dGVybiB2b2lkIFNONzY0NzdfbWl4ZXJfYl93KGludCBjaGlwLCBpbnQg
ZGF0YSk7CmV4dGVybiB2b2lkIFNONzY0NzdfbWl4ZXJfY193KGludCBjaGlwLCBpbnQgZGF0YSk7
CgoKZXh0ZXJuIHZvaWQgU043NjQ3N19lbnZlbG9wZV93KGludCBjaGlwLCBpbnQgZGF0YSk7CgoK
ZXh0ZXJuIHZvaWQgU043NjQ3N19lbnZlbG9wZV8xX3coaW50IGNoaXAsIGludCBkYXRhKTsKZXh0
ZXJuIHZvaWQgU043NjQ3N19lbnZlbG9wZV8yX3coaW50IGNoaXAsIGludCBkYXRhKTsKCgpleHRl
cm4gdm9pZCBTTjc2NDc3X3Zjb193KGludCBjaGlwLCBpbnQgZGF0YSk7Cgp2b2lkIFNONzY0Nzdf
c2V0X25vaXNlX3JlcyhpbnQgY2hpcCwgZG91YmxlIHJlcyk7CnZvaWQgU043NjQ3N19zZXRfZmls
dGVyX3JlcyhpbnQgY2hpcCwgZG91YmxlIHJlcyk7CnZvaWQgU043NjQ3N19zZXRfZmlsdGVyX2Nh
cChpbnQgY2hpcCwgZG91YmxlIGNhcCk7CnZvaWQgU043NjQ3N19zZXRfZGVjYXlfcmVzKGludCBj
aGlwLCBkb3VibGUgcmVzKTsKdm9pZCBTTjc2NDc3X3NldF9hdHRhY2tfZGVjYXlfY2FwKGludCBj
aGlwLCBkb3VibGUgY2FwKTsKdm9pZCBTTjc2NDc3X3NldF9hdHRhY2tfcmVzKGludCBjaGlwLCBk
b3VibGUgcmVzKTsKdm9pZCBTTjc2NDc3X3NldF9hbXBsaXR1ZGVfcmVzKGludCBjaGlwLCBkb3Vi
bGUgcmVzKTsKdm9pZCBTTjc2NDc3X3NldF9mZWVkYmFja19yZXMoaW50IGNoaXAsIGRvdWJsZSBy
ZXMpOwp2b2lkIFNONzY0Nzdfc2V0X3NsZl9yZXMoaW50IGNoaXAsIGRvdWJsZSByZXMpOwp2b2lk
IFNONzY0Nzdfc2V0X3NsZl9jYXAoaW50IGNoaXAsIGRvdWJsZSBjYXApOwp2b2lkIFNONzY0Nzdf
c2V0X29uZXNob3RfcmVzKGludCBjaGlwLCBkb3VibGUgcmVzKTsKdm9pZCBTTjc2NDc3X3NldF9v
bmVzaG90X2NhcChpbnQgY2hpcCwgZG91YmxlIGNhcCk7CnZvaWQgU043NjQ3N19zZXRfdmNvX3Jl
cyhpbnQgY2hpcCwgZG91YmxlIHJlcyk7CnZvaWQgU043NjQ3N19zZXRfdmNvX2NhcChpbnQgY2hp
cCwgZG91YmxlIGNhcCk7CnZvaWQgU043NjQ3N19zZXRfcGl0Y2hfdm9sdGFnZShpbnQgY2hpcCwg
ZG91YmxlIHZvbHRhZ2UpOwp2b2lkIFNONzY0Nzdfc2V0X3Zjb192b2x0YWdlKGludCBjaGlwLCBk
b3VibGUgdm9sdGFnZSk7CgppbnQgU043NjQ3N19zaF9zdGFydChjb25zdCBzdHJ1Y3QgTWFjaGlu
ZVNvdW5kICptc291bmQpOwp2b2lkIFNONzY0Nzdfc2hfc3RvcCh2b2lkKTsKdm9pZCBTTjc2NDc3
X3NoX3VwZGF0ZSh2b2lkKTsKIyA1NyAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3Vu
ZC9zbjc2NDk2LmgiIDEKCgoKCgpzdHJ1Y3QgU043NjQ5NmludGVyZmFjZQp7CiAgICAgICAgaW50
IG51bTsKICAgICAgICBpbnQgYmFzZWNsb2NrWzRdOwogICAgICAgIGludCB2b2x1bWVbNF07Cn07
CgppbnQgU043NjQ5Nl9zaF9zdGFydChjb25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5kICptc291bmQp
Owp2b2lkIFNONzY0OTZfMF93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zm
c2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBTTjc2
NDk2XzFfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgU043NjQ5Nl8yX3coX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIFNONzY0OTZfM193KF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
ZGF0YThfdCBkYXRhKTsKIyA2MCAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC9w
b2tleS5oIiAxCiMgODEgInNyYy9zb3VuZC9wb2tleS5oIgpzdHJ1Y3QgUE9LRVlpbnRlcmZhY2Ug
ewogICAgICAgIGludCBudW07CiAgICAgICAgaW50IGJhc2VjbG9jazsKICAgICAgICBpbnQgbWl4
aW5nX2xldmVsWzRdOwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIgcG90MF9yWzRdOwogICAgICAg
IG1lbV9yZWFkX2hhbmRsZXIgcG90MV9yWzRdOwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIgcG90
Ml9yWzRdOwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIgcG90M19yWzRdOwogICAgICAgIG1lbV9y
ZWFkX2hhbmRsZXIgcG90NF9yWzRdOwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIgcG90NV9yWzRd
OwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIgcG90Nl9yWzRdOwogICAgICAgIG1lbV9yZWFkX2hh
bmRsZXIgcG90N19yWzRdOwogICAgICAgIG1lbV9yZWFkX2hhbmRsZXIgYWxscG90X3JbNF07CiAg
ICAgICAgbWVtX3JlYWRfaGFuZGxlciBzZXJpbl9yWzRdOwogICAgICAgIG1lbV93cml0ZV9oYW5k
bGVyIHNlcm91dF93WzRdOwogICAgICAgIHZvaWQgKCppbnRlcnJ1cHRfY2JbNF0pKGludCBtYXNr
KTsKfTsKCgppbnQgcG9rZXlfc2hfc3RhcnQgKGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1z
b3VuZCk7CnZvaWQgcG9rZXlfc2hfc3RvcCAodm9pZCk7CgpkYXRhOF90IHBva2V5MV9yKF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThfdCBwb2tleTJfcihf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgcG9rZXkz
X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IHBv
a2V5NF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThf
dCBxdWFkX3Bva2V5X3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQp
OwoKdm9pZCBwb2tleTFfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNl
dCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgcG9rZXky
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHBva2V5M193KF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgZGF0YThfdCBkYXRhKTsKdm9pZCBwb2tleTRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0
YSk7CnZvaWQgcXVhZF9wb2tleV93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qg
b2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKCnZvaWQg
cG9rZXkxX3NlcmluX3JlYWR5IChpbnQgYWZ0ZXIpOwp2b2lkIHBva2V5Ml9zZXJpbl9yZWFkeSAo
aW50IGFmdGVyKTsKdm9pZCBwb2tleTNfc2VyaW5fcmVhZHkgKGludCBhZnRlcik7CnZvaWQgcG9r
ZXk0X3NlcmluX3JlYWR5IChpbnQgYWZ0ZXIpOwoKdm9pZCBwb2tleTFfYnJlYWtfdyAoaW50IHNo
aWZ0KTsKdm9pZCBwb2tleTJfYnJlYWtfdyAoaW50IHNoaWZ0KTsKdm9pZCBwb2tleTNfYnJlYWtf
dyAoaW50IHNoaWZ0KTsKdm9pZCBwb2tleTRfYnJlYWtfdyAoaW50IHNoaWZ0KTsKCnZvaWQgcG9r
ZXkxX2tiY29kZV93IChpbnQga2Jjb2RlLCBpbnQgbWFrZSk7CnZvaWQgcG9rZXkyX2tiY29kZV93
IChpbnQga2Jjb2RlLCBpbnQgbWFrZSk7CnZvaWQgcG9rZXkzX2tiY29kZV93IChpbnQga2Jjb2Rl
LCBpbnQgbWFrZSk7CnZvaWQgcG9rZXk0X2tiY29kZV93IChpbnQga2Jjb2RlLCBpbnQgbWFrZSk7
CiMgNjMgInNyYy9zbmRpbnRyZi5oIiAyCgoKCiMgMSAic3JjL3NvdW5kL25lc19hcHUuaCIgMQoj
IDM3ICJzcmMvc291bmQvbmVzX2FwdS5oIgpzdHJ1Y3QgTkVTaW50ZXJmYWNlCnsKICAgaW50IG51
bTsKICAgaW50IHJlZ2lvblsyXTsKICAgaW50IHZvbHVtZVsyXTsKfTsKCmRhdGE4X3QgTkVTUFNH
XzBfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3Qg
TkVTUFNHXzFfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CnZv
aWQgTkVTUFNHXzBfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwg
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgTkVTUFNHXzFf
dyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CgpleHRlcm4gaW50IE5FU1BTR19zaF9zdGFy
dChjb25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5kICopOwpleHRlcm4gdm9pZCBORVNQU0dfc2hfc3Rv
cCh2b2lkKTsKZXh0ZXJuIHZvaWQgTkVTUFNHX3NoX3VwZGF0ZSh2b2lkKTsKIyA2NyAic3JjL3Nu
ZGludHJmLmgiIDIKCgoKCgojIDEgInNyYy9zb3VuZC9hc3Ryb2NkZS5oIiAxCgoKCgoKCnN0cnVj
dCBhc3Ryb2NhZGVfaW50ZXJmYWNlCnsKICAgICAgICBpbnQgbnVtOwogICAgICAgIGludCBiYXNl
Y2xvY2s7CiAgICAgICAgaW50IHZvbHVtZVsyXTsKfTsKCmludCBhc3Ryb2NhZGVfc2hfc3RhcnQo
Y29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kKTsKdm9pZCBhc3Ryb2NhZGVfc2hfc3Rv
cCh2b2lkKTsKdm9pZCBhc3Ryb2NhZGVfc2hfdXBkYXRlKHZvaWQpOwoKdm9pZCBhc3Ryb2NhZGVf
c291bmQxX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIGFzdHJvY2FkZV9zb3Vu
ZDJfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CiMgNzMgInNyYy9zbmRpbnRyZi5oIiAy
CgoKIyAxICJzcmMvc291bmQvbmFtY28uaCIgMQoKCgpzdHJ1Y3QgbmFtY29faW50ZXJmYWNlCnsK
ICAgICAgICBpbnQgc2FtcGxlcmF0ZTsKICAgICAgICBpbnQgdm9pY2VzOwogICAgICAgIGludCB2
b2x1bWU7CiAgICAgICAgaW50IHJlZ2lvbjsKICAgICAgICBpbnQgc3RlcmVvOwp9OwoKaW50IG5h
bWNvX3NoX3N0YXJ0KGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CnZvaWQgbmFt
Y29fc2hfc3RvcCh2b2lkKTsKCnZvaWQgcGVuZ29fc291bmRfZW5hYmxlX3coX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBkYXRhOF90IGRhdGEpOwp2b2lkIHBlbmdvX3NvdW5kX3coX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90
IGRhdGEpOwoKdm9pZCBwb2xlcG9zX3NvdW5kX2VuYWJsZV93KF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThf
dCBkYXRhKTsKdm9pZCBwb2xlcG9zX3NvdW5kX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEp
OwoKdm9pZCBtYXBweV9zb3VuZF9lbmFibGVfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7
CnZvaWQgbWFwcHlfc291bmRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9m
ZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7Cgp2b2lkIG5h
bWNvczFfc291bmRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwg
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgbmFtY29zMV93
YXZlZGF0YV93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKZGF0YThfdCBuYW1jb3MxX3Nv
dW5kX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90
IG5hbWNvczFfd2F2ZWRhdGFfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9m
ZnNldCk7CgpleHRlcm4gdW5zaWduZWQgY2hhciAqbmFtY29fc291bmRyZWdzOwpleHRlcm4gdW5z
aWduZWQgY2hhciAqbmFtY29fd2F2ZWRhdGE7CiMgNzYgInNyYy9zbmRpbnRyZi5oIiAyCgoKIyAx
ICJzcmMvc291bmQvdG1zMzZ4eC5oIiAxCiMgMTIgInNyYy9zb3VuZC90bXMzNnh4LmgiCnN0cnVj
dCBUTVMzNlhYaW50ZXJmYWNlIHsKICAgICAgICBpbnQgbnVtOwogICAgICAgIGludCBtaXhpbmdf
bGV2ZWxbNF07CiAgICAgICAgaW50IHN1YnR5cGVbNF07CiAgICAgICAgaW50IGJhc2VmcmVxWzRd
OwogICAgICAgIGRvdWJsZSBkZWNheVs0XVs2XTsKICAgICAgICBkb3VibGUgc3BlZWRbNF07Cn07
CgpleHRlcm4gaW50IHRtczM2eHhfc2hfc3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAq
bXNvdW5kKTsKZXh0ZXJuIHZvaWQgdG1zMzZ4eF9zaF9zdG9wKHZvaWQpOwpleHRlcm4gdm9pZCB0
bXMzNnh4X3NoX3VwZGF0ZSh2b2lkKTsKCgpleHRlcm4gdm9pZCBtbTYyMjFhYV90dW5lX3coaW50
IGNoaXAsIGludCB0dW5lKTsKCgpleHRlcm4gdm9pZCB0bXMzNnh4X25vdGVfdyhpbnQgY2hpcCwg
aW50IG9jdGF2ZSwgaW50IG5vdGUpOwoKCmV4dGVybiB2b2lkIHRtczM2MTdfZW5hYmxlX3coaW50
IGNoaXAsIGludCBlbmFibGUpOwojIDc5ICJzcmMvc25kaW50cmYuaCIgMgoKCiMgMSAic3JjL3Nv
dW5kLzUxMTBpbnRmLmgiIDEKCgoKc3RydWN0IFRNUzUxMTBpbnRlcmZhY2UKewogICAgICAgIGlu
dCBiYXNlY2xvY2s7CgoKICAgICAgICBpbnQgbWl4aW5nX2xldmVsOwogICAgICAgIHZvaWQgKCpp
cnEpKGludCBzdGF0ZSk7CiAgICAgICAgaW50ICgqTTBfY2FsbGJhY2spKHZvaWQpOwp9OwoKaW50
IHRtczUxMTBfc2hfc3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kKTsKdm9p
ZCB0bXM1MTEwX3NoX3N0b3Aodm9pZCk7CnZvaWQgdG1zNTExMF9zaF91cGRhdGUodm9pZCk7Cgp2
b2lkIHRtczUxMTBfQ1RMX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZz
ZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHRtczUx
MTBfUERDX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwoKZGF0YThfdCB0bXM1MTEwX3N0
YXR1c19yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKaW50IHRt
czUxMTBfcmVhZHlfcih2b2lkKTsKCnZvaWQgdG1zNTExMF9yZXNldCh2b2lkKTsKdm9pZCB0bXM1
MTEwX3NldF9mcmVxdWVuY3koaW50IGZyZXF1ZW5jeSk7CiMgODIgInNyYy9zbmRpbnRyZi5oIiAy
CgoKIyAxICJzcmMvc291bmQvNTIyMGludGYuaCIgMQoKCgpzdHJ1Y3QgVE1TNTIyMGludGVyZmFj
ZQp7CiAgICAgICAgaW50IGJhc2VjbG9jazsKCgogICAgICAgIGludCBtaXhpbmdfbGV2ZWw7CiAg
ICAgICAgdm9pZCAoKmlycSkoaW50IHN0YXRlKTsKfTsKCmludCB0bXM1MjIwX3NoX3N0YXJ0KGNv
bnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CnZvaWQgdG1zNTIyMF9zaF9zdG9wKHZv
aWQpOwp2b2lkIHRtczUyMjBfc2hfdXBkYXRlKHZvaWQpOwoKdm9pZCB0bXM1MjIwX2RhdGFfdyhf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CmRhdGE4X3QgdG1zNTIyMF9zdGF0dXNfcihfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmludCB0bXM1MjIwX3JlYWR5
X3Iodm9pZCk7CmludCB0bXM1MjIwX2ludF9yKHZvaWQpOwoKdm9pZCB0bXM1MjIwX3Jlc2V0KHZv
aWQpOwp2b2lkIHRtczUyMjBfc2V0X2ZyZXF1ZW5jeShpbnQgZnJlcXVlbmN5KTsKIyA4NSAic3Jj
L3NuZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC92bG01MDMwLmgiIDEKCgoKc3RydWN0IFZM
TTUwMzBpbnRlcmZhY2UKewogICAgICAgIGludCBiYXNlY2xvY2s7CiAgICAgICAgaW50IHZvbHVt
ZTsKICAgICAgICBpbnQgbWVtb3J5X3JlZ2lvbjsKICAgICAgICBpbnQgbWVtb3J5X3NpemU7Cn07
CgoKaW50IFZMTTUwMzBfc2hfc3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5k
KTsKdm9pZCBWTE01MDMwX3NoX3N0b3AgKHZvaWQpOwp2b2lkIFZMTTUwMzBfc2hfdXBkYXRlICh2
b2lkKTsKCgp2b2lkIFZMTTUwMzBfc2V0X3JvbSh2b2lkICpzcGVlY2hfcm9tKTsKCgppbnQgVkxN
NTAzMF9CU1kodm9pZCk7Cgp2b2lkIFZMTTUwMzBfZGF0YV93KF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThf
dCBkYXRhKTsKCnZvaWQgVkxNNTAzMF9SU1QgKGludCBwaW4gKTsKCnZvaWQgVkxNNTAzMF9WQ1Uo
aW50IHBpbiApOwoKdm9pZCBWTE01MDMwX1NUKGludCBwaW4gKTsKIyA4OCAic3JjL3NuZGludHJm
LmgiIDIKCgojIDEgInNyYy9zb3VuZC9hZHBjbS5oIiAxCiMgOSAic3JjL3NvdW5kL2FkcGNtLmgi
CnN0cnVjdCBBRFBDTWludGVyZmFjZQp7CiAgICAgICAgaW50IG51bTsKICAgICAgICBpbnQgZnJl
cXVlbmN5OwogICAgICAgIGludCByZWdpb247CiAgICAgICAgaW50IG1peGluZ19sZXZlbFs4XTsK
fTsKCmludCBBRFBDTV9zaF9zdGFydChjb25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5kICptc291bmQp
Owp2b2lkIEFEUENNX3NoX3N0b3Aodm9pZCk7CnZvaWQgQURQQ01fc2hfdXBkYXRlKHZvaWQpOwoK
dm9pZCBBRFBDTV9wbGF5KGludCBudW0sIGludCBvZmZzZXQsIGludCBsZW5ndGgpOwp2b2lkIEFE
UENNX3NldHZvbChpbnQgbnVtLCBpbnQgdm9sKTsKdm9pZCBBRFBDTV9zdG9wKGludCBudW0pOwpp
bnQgQURQQ01fcGxheWluZyhpbnQgbnVtKTsKIyAzNyAic3JjL3NvdW5kL2FkcGNtLmgiCnN0cnVj
dCBPS0lNNjI5NWludGVyZmFjZQp7CiAgICAgICAgaW50IG51bTsKICAgICAgICBpbnQgZnJlcXVl
bmN5WzJdOwogICAgICAgIGludCByZWdpb25bMl07CiAgICAgICAgaW50IG1peGluZ19sZXZlbFsy
XTsKfTsKCmludCBPS0lNNjI5NV9zaF9zdGFydChjb25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5kICpt
c291bmQpOwp2b2lkIE9LSU02Mjk1X3NoX3N0b3Aodm9pZCk7CnZvaWQgT0tJTTYyOTVfc2hfdXBk
YXRlKHZvaWQpOwp2b2lkIE9LSU02Mjk1X3NldF9iYW5rX2Jhc2UoaW50IHdoaWNoLCBpbnQgYmFz
ZSk7CnZvaWQgT0tJTTYyOTVfc2V0X2ZyZXF1ZW5jeShpbnQgd2hpY2gsIGludCBmcmVxdWVuY3kp
OwoKZGF0YThfdCBPS0lNNjI5NV9zdGF0dXNfMF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YThfdCBPS0lNNjI5NV9zdGF0dXNfMV9yKF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKZGF0YTE2X3QgT0tJTTYyOTVfc3RhdHVz
XzBfbHNiX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CmRhdGExNl90IE9LSU02
Mjk1X3N0YXR1c18xX2xzYl9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zm
c2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRh
MTZfdCBPS0lNNjI5NV9zdGF0dXNfMF9tc2JfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9t
YXNrKTsKZGF0YTE2X3QgT0tJTTYyOTVfc3RhdHVzXzFfbXNiX3IoX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRh
MTZfdCBtZW1fbWFzayk7CnZvaWQgT0tJTTYyOTVfZGF0YV8wX3coX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRh
OF90IGRhdGEpOwp2b2lkIE9LSU02Mjk1X2RhdGFfMV93KF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBk
YXRhKTsKdm9pZCBPS0lNNjI5NV9kYXRhXzBfbHNiX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRf
XykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBk
YXRhLCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lk
IE9LSU02Mjk1X2RhdGFfMV9sc2JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190
IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgT0tJTTYyOTVf
ZGF0YV8wX21zYl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBPS0lNNjI5NV9kYXRhXzFfbXNi
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgZGF0YTE2X3QgbWVtX21hc2spOwojIDkxICJzcmMvc25kaW50cmYuaCIgMgoKCiMgMSAic3Jj
L3NvdW5kL21zbTUyMDUuaCIgMQojIDE5ICJzcmMvc291bmQvbXNtNTIwNS5oIgpzdHJ1Y3QgTVNN
NTIwNWludGVyZmFjZQp7CiAgICAgICAgaW50IG51bTsKICAgICAgICBpbnQgYmFzZWNsb2NrOwog
ICAgICAgIHZvaWQgKCp2Y2xrX2ludGVycnVwdFs0XSkoaW50KTsKICAgICAgICBpbnQgc2VsZWN0
WzRdOwogICAgICAgIGludCBtaXhpbmdfbGV2ZWxbNF07Cn07CgppbnQgTVNNNTIwNV9zaF9zdGFy
dCAoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kKTsKdm9pZCBNU001MjA1X3NoX3N0
b3AgKHZvaWQpOwp2b2lkIE1TTTUyMDVfc2hfdXBkYXRlICh2b2lkKTsKdm9pZCBNU001MjA1X3No
X3Jlc2V0ICh2b2lkKTsKCgp2b2lkIE1TTTUyMDVfcmVzZXRfdyAoaW50IG51bSwgaW50IHJlc2V0
KTsKCnZvaWQgTVNNNTIwNV9kYXRhX3cgKGludCBudW0sIGludCBkYXRhKTsKCgoKdm9pZCBNU001
MjA1X3ZjbGtfdyAoaW50IG51bSwgaW50IHJlc2V0KTsKCnZvaWQgTVNNNTIwNV9wbGF5bW9kZV93
KGludCBudW0saW50IF9zZWxlY3QpOwoKdm9pZCBNU001MjA1X3NldF92b2x1bWUoaW50IG51bSxp
bnQgdm9sdW1lKTsKIyA5NCAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC9tc201
MjMyLmgiIDEKCgoKCgpzdHJ1Y3QgTVNNNTIzMmludGVyZmFjZQp7CiAgICAgICAgaW50IG51bTsK
ICAgICAgICBpbnQgYmFzZWNsb2NrOwogICAgICAgIGRvdWJsZSBjYXBhY2l0eVsyXVs4XTsKICAg
ICAgICBpbnQgbWl4aW5nX2xldmVsWzJdOwp9OwoKaW50IE1TTTUyMzJfc2hfc3RhcnQgKGNvbnN0
IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CnZvaWQgTVNNNTIzMl9zaF9zdG9wICh2b2lk
KTsKdm9pZCBNU001MjMyX3NoX3Jlc2V0ICh2b2lkKTsKCnZvaWQgTVNNNTIzMl8wX3coX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIE1TTTUyMzJfMV93KF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0
YThfdCBkYXRhKTsKIyA5NyAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC91cGQ3
NzU5LmgiIDEKIyAxNCAic3JjL3NvdW5kL3VwZDc3NTkuaCIKc3RydWN0IFVQRDc3NTlfaW50ZXJm
YWNlCnsKICAgICAgICBpbnQgbnVtOwogICAgICAgIGludCB2b2x1bWVbMl07CiAgICAgICAgaW50
IHJlZ2lvblsyXTsKICAgICAgICBpbnQgbW9kZTsKICAgICAgICB2b2lkICgqaXJxY2FsbGJhY2tb
Ml0pKGludCBwYXJhbSk7Cn07CgppbnQgVVBENzc1OV9zaF9zdGFydCAoY29uc3Qgc3RydWN0IE1h
Y2hpbmVTb3VuZCAqbXNvdW5kKTsKdm9pZCBVUEQ3NzU5X3NoX3N0b3AgKHZvaWQpOwoKdm9pZCBV
UEQ3NzU5X3NldF9iYW5rX2Jhc2UoaW50IHdoaWNoLCBvZmZzX3QgYmFzZSk7Cgp2b2lkIFVQRDc3
NTlfcmVzZXRfdyAoaW50IG51bSwgVUlOVDggZGF0YSk7Cgp2b2lkIFVQRDc3NTlfdyAoaW50IG51
bSwgVUlOVDggZGF0YSk7CnZvaWQgVVBENzc1OV9wb3J0X3cgKGludCBudW0sIFVJTlQ4IGRhdGEp
Owp2b2lkIFVQRDc3NTlfc3RhcnRfdyAoaW50IG51bSwgVUlOVDggZGF0YSk7CmludCBVUEQ3NzU5
X2J1c3lfciAoaW50IG51bSk7Cgp2b2lkIFVQRDc3NTlfMF9yZXNldF93KF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
ZGF0YThfdCBkYXRhKTsKdm9pZCBVUEQ3NzU5XzBfcG9ydF93KF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThf
dCBkYXRhKTsKdm9pZCBVUEQ3NzU5XzBfc3RhcnRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0
YSk7CmRhdGE4X3QgVVBENzc1OV8wX2J1c3lfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCk7CiMgMTAwICJzcmMvc25kaW50cmYuaCIgMgoKCiMgMSAic3JjL3NvdW5k
L2hjNTU1MTYuaCIgMQoKCgoKCnN0cnVjdCBoYzU1NTE2X2ludGVyZmFjZQp7CiAgICAgICAgaW50
IG51bTsKICAgICAgICBpbnQgdm9sdW1lWzRdOwp9OwoKaW50IGhjNTU1MTZfc2hfc3RhcnQoY29u
c3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kKTsKCgp2b2lkIGhjNTU1MTZfZGlnaXRfdyhp
bnQgbnVtLCBpbnQgZGF0YSk7CgoKdm9pZCBoYzU1NTE2X2Nsb2NrX3coaW50IG51bSwgaW50IHN0
YXRlKTsKCgp2b2lkIGhjNTU1MTZfY2xvY2tfY2xlYXJfdyhpbnQgbnVtLCBpbnQgZGF0YSk7CnZv
aWQgaGM1NTUxNl9jbG9ja19zZXRfdyhpbnQgbnVtLCBpbnQgZGF0YSk7CgoKdm9pZCBoYzU1NTE2
X2RpZ2l0X2Nsb2NrX2NsZWFyX3coaW50IG51bSwgaW50IGRhdGEpOwoKdm9pZCBoYzU1NTE2XzBf
ZGlnaXRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgaGM1NTUxNl8wX2Nsb2Nr
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIGhjNTU1MTZfMF9jbG9ja19jbGVh
cl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBoYzU1NTE2XzBfY2xvY2tfc2V0
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIGhjNTU1MTZfMF9kaWdpdF9jbG9j
a19jbGVhcl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKIyAxMDMgInNyYy9zbmRpbnRy
Zi5oIiAyCgoKIyAxICJzcmMvc291bmQvazAwNTI4OS5oIiAxCgoKCnN0cnVjdCBrMDA1Mjg5X2lu
dGVyZmFjZQp7CiAgICAgICAgaW50IG1hc3Rlcl9jbG9jazsKICAgICAgICBpbnQgdm9sdW1lOwog
ICAgICAgIGludCByZWdpb247Cn07CgppbnQgSzAwNTI4OV9zaF9zdGFydChjb25zdCBzdHJ1Y3Qg
TWFjaGluZVNvdW5kICptc291bmQpOwp2b2lkIEswMDUyODlfc2hfc3RvcCh2b2lkKTsKCnZvaWQg
azAwNTI4OV9jb250cm9sX0FfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9m
ZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgazAw
NTI4OV9jb250cm9sX0JfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNl
dCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgazAwNTI4
OV9waXRjaF9BX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIGswMDUyODlfcGl0
Y2hfQl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBrMDA1Mjg5X2tleWxhdGNo
X0FfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgazAwNTI4OV9rZXlsYXRjaF9C
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwojIDEwNiAic3JjL3NuZGludHJmLmgiIDIK
CgojIDEgInNyYy9zb3VuZC9rMDA3MjMyLmgiIDEKIyAxMCAic3JjL3NvdW5kL2swMDcyMzIuaCIK
c3RydWN0IEswMDcyMzJfaW50ZXJmYWNlCnsKICAgICAgICBpbnQgbnVtX2NoaXBzOwogICAgICAg
IGludCBiYW5rWzNdOwogICAgICAgIGludCB2b2x1bWVbM107CiAgICAgICAgdm9pZCAoKnBvcnR3
cml0ZWhhbmRsZXJbM10pKGludCk7Cn07CgoKCmludCBLMDA3MjMyX3NoX3N0YXJ0KGNvbnN0IHN0
cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7Cgp2b2lkIEswMDcyMzJfd3JpdGVfcG9ydF8wX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIEswMDcyMzJfd3JpdGVfcG9ydF8xX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIEswMDcyMzJfd3JpdGVfcG9ydF8yX3co
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwpkYXRhOF90IEswMDcyMzJfcmVhZF9wb3J0XzBf
cihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgSzAw
NzIzMl9yZWFkX3BvcnRfMV9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zm
c2V0KTsKZGF0YThfdCBLMDA3MjMyX3JlYWRfcG9ydF8yX3IoX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIG9mZnNfdCBvZmZzZXQpOwoKdm9pZCBLMDA3MjMyX2Jhbmtzd2l0Y2goaW50IGNoaXAs
dW5zaWduZWQgY2hhciAqcHRyX0EsdW5zaWduZWQgY2hhciAqcHRyX0IpOwojIDM5ICJzcmMvc291
bmQvazAwNzIzMi5oIgp2b2lkIEswMDcyMzJfc2V0X3ZvbHVtZShpbnQgY2hpcCxpbnQgY2hhbm5l
bCxpbnQgdm9sdW1lQSxpbnQgdm9sdW1lQik7CiMgMTA5ICJzcmMvc25kaW50cmYuaCIgMgoKCiMg
MSAic3JjL3NvdW5kL2swNTE2NDkuaCIgMQoKCgpzdHJ1Y3QgazA1MTY0OV9pbnRlcmZhY2UKewog
ICAgICAgIGludCBtYXN0ZXJfY2xvY2s7CiAgICAgICAgaW50IHZvbHVtZTsKfTsKCmludCBLMDUx
NjQ5X3NoX3N0YXJ0KGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CnZvaWQgSzA1
MTY0OV9zaF9zdG9wKHZvaWQpOwoKdm9pZCBLMDUxNjQ5X3dhdmVmb3JtX3coX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBkYXRhOF90IGRhdGEpOwp2b2lkIEswNTE2NDlfdm9sdW1lX3coX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRh
OF90IGRhdGEpOwp2b2lkIEswNTE2NDlfZnJlcXVlbmN5X3coX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90
IGRhdGEpOwp2b2lkIEswNTE2NDlfa2V5b25vZmZfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0
YSk7CnZvaWQgSzA1MjUzOV93YXZlZm9ybV93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBv
ZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsK
IyAxMTIgInNyYy9zbmRpbnRyZi5oIiAyCgoKIyAxICJzcmMvc291bmQvazA1MzI2MC5oIiAxCiMg
MTEgInNyYy9zb3VuZC9rMDUzMjYwLmgiCnN0cnVjdCBLMDUzMjYwX2ludGVyZmFjZSB7CiAgICAg
ICAgaW50IG51bTsKICAgICAgICBpbnQgY2xvY2tbMl07CiAgICAgICAgaW50IHJlZ2lvblsyXTsK
ICAgICAgICBpbnQgbWl4aW5nX2xldmVsWzJdWzJdOwogICAgICAgIHZvaWQgKCppcnFbMl0pKCBp
bnQgcGFyYW0gKTsKfTsKCgppbnQgSzA1MzI2MF9zaF9zdGFydCggY29uc3Qgc3RydWN0IE1hY2hp
bmVTb3VuZCAqbXNvdW5kICk7CnZvaWQgSzA1MzI2MF9zaF9zdG9wKCB2b2lkICk7Cgp2b2lkIEsw
NTMyNjBfMF93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBLMDUzMjYwXzFfdyhf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CmRhdGE4X3QgSzA1MzI2MF8wX3IoX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwpkYXRhOF90IEswNTMyNjBfMV9yKF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKdm9pZCBLMDUzMjYwXzBf
bHNiX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBLMDUzMjYwXzBfbHNiX3IoX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgSzA1MzI2MF8xX2xzYl93KF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IG1lbV9tYXNrKTsKZGF0YTE2X3QgSzA1MzI2MF8xX2xzYl9yKF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2
X3QgbWVtX21hc2spOwojIDExNSAic3JjL3NuZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC9r
MDU0NTM5LmgiIDEKIyAxMSAic3JjL3NvdW5kL2swNTQ1MzkuaCIKc3RydWN0IEswNTQ1MzlpbnRl
cmZhY2UgewogICAgICAgIGludCBudW07CiAgICAgICAgaW50IGNsb2NrOwogICAgICAgIGludCBy
ZWdpb25bMl07CiAgICAgICAgaW50IG1peGluZ19sZXZlbFsyXVsyXTsKICAgICAgICB2b2lkICgq
YXBhblsyXSkoZG91YmxlLCBkb3VibGUpOwogICAgICAgIHZvaWQgKCppcnFbMl0pKCB2b2lkICk7
Cn07CgoKaW50IEswNTQ1Mzlfc2hfc3RhcnQoIGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1z
b3VuZCApOwp2b2lkIEswNTQ1Mzlfc2hfc3RvcCggdm9pZCApOwp2b2lkIEswNTQ1MzlfMF93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKZGF0YThfdCBLMDU0NTM5XzBfcihfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CnZvaWQgSzA1NDUzOV8xX3coX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBkYXRhOF90IGRhdGEpOwpkYXRhOF90IEswNTQ1MzlfMV9yKF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKIyAxMTggInNyYy9zbmRpbnRyZi5oIiAyCgoK
IyAxICJzcmMvc291bmQvc2VnYXBjbS5oIiAxCiMgMTggInNyYy9zb3VuZC9zZWdhcGNtLmgiCmVu
dW0KewogICAgICAgIExfUEFOID0gMCwKICAgICAgICBSX1BBTiA9IDEsCiAgICAgICAgTFJfUEFO
ID0gMgp9OwoKCgoKCnR5cGVkZWYgc3RydWN0IHNlZ2FwY20KewogICAgICAgIGNoYXIgd3JpdGVy
YW1bMHgxMDAwXTsKCiAgICAgICAgdW5zaWduZWQgY2hhciBnYWluWygxNildW0xSX1BBTl07CiAg
ICAgICAgdW5zaWduZWQgY2hhciBhZGRyX2xbKDE2KV07CiAgICAgICAgdW5zaWduZWQgY2hhciBh
ZGRyX2hbKDE2KV07CiAgICAgICAgdW5zaWduZWQgY2hhciBiYW5rWygxNildOwogICAgICAgIHVu
c2lnbmVkIGNoYXIgZW5kX2hbKDE2KV07CiAgICAgICAgdW5zaWduZWQgY2hhciBkZWx0YV90Wygx
NildOwoKICAgICAgICBpbnQgdm9sWygxNildW0xSX1BBTl07CgogICAgICAgIHVuc2lnbmVkIGlu
dCBhZGRfYWRkclsoMTYpXTsKICAgICAgICB1bnNpZ25lZCBpbnQgc3RlcFsoMTYpXTsKICAgICAg
ICBpbnQgZmxhZ1soMTYpXTsKICAgICAgICBpbnQgYmFua3NoaWZ0OwogICAgICAgIGludCBiYW5r
bWFzazsKCiAgICAgICAgaW50IHBjbWRbKDE2KV07CiAgICAgICAgaW50IHBjbWFbKDE2KV07Cn0g
U0VHQVBDTTsKCnN0cnVjdCBTRUdBUENNaW50ZXJmYWNlCnsKICAgICAgICBpbnQgbW9kZTsKICAg
ICAgICBpbnQgYmFuazsKICAgICAgICBpbnQgcmVnaW9uOwogICAgICAgIGludCB2b2x1bWU7Cn07
CgplbnVtIFNFR0FQQ01fc2FtcGxlcmF0ZQp7CiAgICAgICAgU0VHQVBDTV9TQU1QTEUxNUssCiAg
ICAgICAgU0VHQVBDTV9TQU1QTEUzMksKfTsKCgppbnQgU0VHQVBDTV9zaF9zdGFydCggY29uc3Qg
c3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kICk7CnZvaWQgU0VHQVBDTV9zaF9zdG9wKCB2b2lk
ICk7CnZvaWQgU0VHQVBDTV9zaF91cGRhdGUoIHZvaWQgKTsKCmludCBTRUdBUENNSW5pdCggY29u
c3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kLCBpbnQgYmFua3NpemUsIGludCBtb2RlLCB1
bnNpZ25lZCBjaGFyICppbnBjbSwgaW50IHZvbHVtZSApOwp2b2lkIFNFR0FQQ01TaHV0ZG93bigg
dm9pZCApOwp2b2lkIFNFR0FQQ01SZXNldENoaXAoIHZvaWQgKTsKdm9pZCBTZWdhUENNX3coX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwpkYXRhOF90IFNlZ2FQQ01fcihfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CiMgMTIxICJzcmMvc25kaW50cmYuaCIgMgoK
CiMgMSAic3JjL3NvdW5kL3JmNWM2OC5oIiAxCiMgMTEgInNyYy9zb3VuZC9yZjVjNjguaCIKdHlw
ZWRlZiBzdHJ1Y3QgcmY1YzY4cGNtCnsKICAgICAgICBpbnQgY2xvY2s7CiAgICAgICAgdW5zaWdu
ZWQgY2hhciBlbnZbKDgpXTsKICAgICAgICB1bnNpZ25lZCBjaGFyIHBhblsoOCldOwogICAgICAg
IHVuc2lnbmVkIGludCBhZGRyWyg4KV07CiAgICAgICAgdW5zaWduZWQgaW50IHN0YXJ0Wyg4KV07
CiAgICAgICAgdW5zaWduZWQgaW50IHN0ZXBbKDgpXTsKICAgICAgICB1bnNpZ25lZCBpbnQgbG9v
cFsoOCldOwogICAgICAgIGludCBwY214WzJdWyg4KV07CiAgICAgICAgaW50IGZsYWdbKDgpXTsK
CiAgICAgICAgaW50IHBjbWRbKDgpXTsKICAgICAgICBpbnQgcGNtYVsoOCldOwp9IFJGNUM2OFBD
TTsKCnN0cnVjdCBSRjVDNjhpbnRlcmZhY2UKewogICAgICAgIGludCBjbG9jazsKICAgICAgICBp
bnQgdm9sdW1lOwp9OwoKCmludCBSRjVDNjhfc2hfc3RhcnQoIGNvbnN0IHN0cnVjdCBNYWNoaW5l
U291bmQgKm1zb3VuZCApOwp2b2lkIFJGNUM2OF9zaF9zdG9wKCB2b2lkICk7CnZvaWQgUkY1QzY4
X3JlZ193KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJp
YnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKCmRhdGE4X3QgUkY1QzY4X3IoX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQpOwp2b2lkIFJGNUM2OF93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKIyAxMjQgInNyYy9zbmRpbnRyZi5oIiAyCgoKIyAx
ICJzcmMvc291bmQvY2VtMzM5NC5oIiAxCgoKCgoKCnN0cnVjdCBjZW0zMzk0X2ludGVyZmFjZQp7
CiAgICAgICAgaW50IG51bWNoaXBzOwogICAgICAgIGludCB2b2x1bWVbNl07CiAgICAgICAgZG91
YmxlIHZjb196ZXJvX2ZyZXFbNl07CiAgICAgICAgZG91YmxlIGZpbHRlcl96ZXJvX2ZyZXFbNl07
CiAgICAgICAgdm9pZCAoKmV4dGVybmFsWzZdKShpbnQsIGludCwgc2hvcnQgKik7Cn07CgoKZW51
bQp7CiAgICAgICAgQ0VNMzM5NF9WQ09fRlJFUVVFTkNZID0gMCwKICAgICAgICBDRU0zMzk0X01P
RFVMQVRJT05fQU1PVU5ULAogICAgICAgIENFTTMzOTRfV0FWRV9TRUxFQ1QsCiAgICAgICAgQ0VN
MzM5NF9QVUxTRV9XSURUSCwKICAgICAgICBDRU0zMzk0X01JWEVSX0JBTEFOQ0UsCiAgICAgICAg
Q0VNMzM5NF9GSUxURVJfUkVTT05BTkNFLAogICAgICAgIENFTTMzOTRfRklMVEVSX0ZSRVFFTkNZ
LAogICAgICAgIENFTTMzOTRfRklOQUxfR0FJTgp9OwoKaW50IGNlbTMzOTRfc2hfc3RhcnQoY29u
c3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kKTsKdm9pZCBjZW0zMzk0X3NoX3N0b3Aodm9p
ZCk7CgoKdm9pZCBjZW0zMzk0X3NldF92b2x0YWdlKGludCBjaGlwLCBpbnQgaW5wdXQsIGRvdWJs
ZSB2b2x0YWdlKTsKIyA0NCAic3JjL3NvdW5kL2NlbTMzOTQuaCIKZG91YmxlIGNlbTMzOTRfZ2V0
X3BhcmFtZXRlcihpbnQgY2hpcCwgaW50IGlucHV0KTsKIyAxMjcgInNyYy9zbmRpbnRyZi5oIiAy
CgoKIyAxICJzcmMvc291bmQvYzE0MC5oIiAxCgoKCgoKaW50IEMxNDBfc2hfc3RhcnQoIGNvbnN0
IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCApOwp2b2lkIEMxNDBfc2hfc3RvcCggdm9pZCAp
Owp2b2lkIEMxNDBfc2hfdXBkYXRlKCB2b2lkICk7CmRhdGE4X3QgQzE0MF9yKF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKdm9pZCBDMTQwX3coX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBkYXRhOF90IGRhdGEpOwoKc3RydWN0IEMxNDBpbnRlcmZhY2UgewogICAgaW50IGZyZXF1ZW5j
eTsKICAgIGludCByZWdpb247CiAgICBpbnQgbWl4aW5nX2xldmVsOwp9OwojIDEzMCAic3JjL3Nu
ZGludHJmLmgiIDIKCgojIDEgInNyYy9zb3VuZC9xc291bmQuaCIgMQojIDEyICJzcmMvc291bmQv
cXNvdW5kLmgiCnN0cnVjdCBRU291bmRfaW50ZXJmYWNlIHsKICAgICAgICBpbnQgY2xvY2s7CiAg
ICAgICAgaW50IHJlZ2lvbjsKICAgICAgICBpbnQgbWl4aW5nX2xldmVsWzJdOwp9OwoKaW50IHFz
b3VuZF9zaF9zdGFydCggY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNvdW5kICk7CnZvaWQg
cXNvdW5kX3NoX3N0b3AoIHZvaWQgKTsKCnZvaWQgcXNvdW5kX2RhdGFfaF93KF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9f
KSkgZGF0YThfdCBkYXRhKTsKdm9pZCBxc291bmRfZGF0YV9sX3coX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRh
OF90IGRhdGEpOwp2b2lkIHFzb3VuZF9jbWRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7
CmRhdGE4X3QgcXNvdW5kX3N0YXR1c19yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZz
X3Qgb2Zmc2V0KTsKIyAxMzMgInNyYy9zbmRpbnRyZi5oIiAyCgoKIyAxICJzcmMvc291bmQvc2Fh
MTA5OS5oIiAxCiMgMTEgInNyYy9zb3VuZC9zYWExMDk5LmgiCnN0cnVjdCBTQUExMDk5X2ludGVy
ZmFjZQp7CiAgICAgICAgaW50IG51bWNoaXBzOwogICAgICAgIGludCB2b2x1bWVbMl1bMl07Cn07
CgoKCgoKaW50IHNhYTEwOTlfc2hfc3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAqbXNv
dW5kKTsKdm9pZCBzYWExMDk5X3NoX3N0b3Aodm9pZCk7Cgp2b2lkIHNhYTEwOTlfY29udHJvbF9w
b3J0XzBfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgc2FhMTA5OV93cml0ZV9w
b3J0XzBfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRy
aWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CnZvaWQgc2FhMTA5OV9jb250cm9s
X3BvcnRfMV93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKdm9pZCBzYWExMDk5X3dyaXRl
X3BvcnRfMV93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsKIyAxMzYgInNyYy9zbmRpbnRy
Zi5oIiAyCgoKIyAxICJzcmMvc291bmQvaXJlbWdhMjAuaCIgMQojIDkgInNyYy9zb3VuZC9pcmVt
Z2EyMC5oIgpzdHJ1Y3QgSXJlbUdBMjBfaW50ZXJmYWNlIHsKICAgICAgICBpbnQgY2xvY2s7CiAg
ICAgICAgaW50IHJlZ2lvbjsKICAgICAgICBpbnQgbWl4aW5nX2xldmVsWzJdOwp9OwoKaW50IEly
ZW1HQTIwX3NoX3N0YXJ0KCBjb25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5kICptc291bmQgKTsKdm9p
ZCBJcmVtR0EyMF9zaF9zdG9wKCB2b2lkICk7CnZvaWQgSXJlbUdBMjBfdyhfX2F0dHJpYnV0ZV9f
KChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykp
IGRhdGE4X3QgZGF0YSk7CmRhdGE4X3QgSXJlbUdBMjBfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCk7CiMgMTM5ICJzcmMvc25kaW50cmYuaCIgMgoKCiMgMSAic3Jj
L3NvdW5kL2VzNTUwNi5oIiAxCiMgMTMgInNyYy9zb3VuZC9lczU1MDYuaCIKc3RydWN0IEVTNTUw
NWludGVyZmFjZQp7CiAgICAgICAgaW50IG51bTsKICAgICAgICBpbnQgYmFzZWNsb2NrWzJdOwog
ICAgICAgIGludCByZWdpb24wWzJdOwogICAgICAgIGludCByZWdpb24xWzJdOwogICAgICAgIGlu
dCBtaXhpbmdfbGV2ZWxbMl07CiAgICAgICAgdm9pZCAoKmlycV9jYWxsYmFja1syXSkoaW50IHN0
YXRlKTsKICAgICAgICBVSU5UMTYgKCpyZWFkX3BvcnRbMl0pKHZvaWQpOwp9OwoKaW50IEVTNTUw
NV9zaF9zdGFydChjb25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5kICptc291bmQpOwp2b2lkIEVTNTUw
NV9zaF9zdG9wKHZvaWQpOwoKZGF0YTE2X3QgRVM1NTA1X2RhdGFfMF9yKF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
ZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBFUzU1MDVfZGF0YV8xX3IoX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgRVM1NTA1X2RhdGFfMF93KF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
ZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9t
YXNrKTsKdm9pZCBFUzU1MDVfZGF0YV8xX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9m
ZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwoKCgoKCgpzdHJ1
Y3QgRVM1NTA2aW50ZXJmYWNlCnsKICAgICAgICBpbnQgbnVtOwogICAgICAgIGludCBiYXNlY2xv
Y2tbMl07CiAgICAgICAgaW50IHJlZ2lvbjBbMl07CiAgICAgICAgaW50IHJlZ2lvbjFbMl07CiAg
ICAgICAgaW50IHJlZ2lvbjJbMl07CiAgICAgICAgaW50IHJlZ2lvbjNbMl07CiAgICAgICAgaW50
IG1peGluZ19sZXZlbFsyXTsKICAgICAgICB2b2lkICgqaXJxX2NhbGxiYWNrWzJdKShpbnQgc3Rh
dGUpOwogICAgICAgIFVJTlQxNiAoKnJlYWRfcG9ydFsyXSkodm9pZCk7Cn07CgppbnQgRVM1NTA2
X3NoX3N0YXJ0KGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1zb3VuZCk7CnZvaWQgRVM1NTA2
X3NoX3N0b3Aodm9pZCk7CgpkYXRhOF90IEVTNTUwNl9kYXRhXzBfcihfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGE4X3QgRVM1NTA2X2RhdGFfMV9yKF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0KTsKdm9pZCBFUzU1MDZfZGF0YV8w
X3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRl
X18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIEVTNTUwNl9kYXRhXzFfdyhfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191
bnVzZWRfXykpIGRhdGE4X3QgZGF0YSk7CgpkYXRhMTZfdCBFUzU1MDZfZGF0YV8wX3dvcmRfcihf
X2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygo
X191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKZGF0YTE2X3QgRVM1NTA2X2RhdGFfMV93
b3JkX3IoX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgRVM1NTA2X2RhdGFf
MF93b3JkX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIEVTNTUwNl9kYXRhXzFfd29yZF93KF9f
YXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChf
X3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRh
dGExNl90IG1lbV9tYXNrKTsKCnZvaWQgRVM1NTA2X3ZvaWNlX2JhbmtfMF93KGludCB2b2ljZSwg
aW50IGJhbmspOwp2b2lkIEVTNTUwNl92b2ljZV9iYW5rXzFfdyhpbnQgdm9pY2UsIGludCBiYW5r
KTsKIyAxNDIgInNyYy9zbmRpbnRyZi5oIiAyCgoKIyAxICJzcmMvc291bmQvYnNtdDIwMDAuaCIg
MQojIDEzICJzcmMvc291bmQvYnNtdDIwMDAuaCIKc3RydWN0IEJTTVQyMDAwaW50ZXJmYWNlCnsK
ICAgICAgICBpbnQgbnVtOwogICAgICAgIGludCBiYXNlY2xvY2tbMV07CiAgICAgICAgaW50IHZv
aWNlc1sxXTsKICAgICAgICBpbnQgcmVnaW9uWzFdOwogICAgICAgIGludCBtaXhpbmdfbGV2ZWxb
MV07Cn07CgppbnQgQlNNVDIwMDBfc2hfc3RhcnQoY29uc3Qgc3RydWN0IE1hY2hpbmVTb3VuZCAq
bXNvdW5kKTsKdm9pZCBCU01UMjAwMF9zaF9zdG9wKHZvaWQpOwp2b2lkIEJTTVQyMDAwX3NoX3Jl
c2V0KHZvaWQpOwoKdm9pZCBCU01UMjAwMF9kYXRhXzBfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CiMg
MTQ1ICJzcmMvc25kaW50cmYuaCIgMgojIDE2NiAic3JjL3NuZGludHJmLmgiCmVudW0KewogICAg
ICAgIFNPVU5EX0RVTU1ZLAoKICAgICAgICBTT1VORF9DVVNUT00sCgoKICAgICAgICBTT1VORF9T
QU1QTEVTLAoKCiAgICAgICAgU09VTkRfREFDLAoKCiAgICAgICAgU09VTkRfRElTQ1JFVEUsCgoK
ICAgICAgICBTT1VORF9BWTg5MTAsCgoKICAgICAgICBTT1VORF9ZTTIyMDMsCgoKCgoKICAgICAg
ICBTT1VORF9ZTTIxNTEsCgoKICAgICAgICBTT1VORF9ZTTI2MDgsCgoKICAgICAgICBTT1VORF9Z
TTI2MTAsCgoKICAgICAgICBTT1VORF9ZTTI2MTBCLAoKCiAgICAgICAgU09VTkRfWU0yNjEyLAoK
CiAgICAgICAgU09VTkRfWU0zNDM4LAoKCiAgICAgICAgU09VTkRfWU0yNDEzLAoKCiAgICAgICAg
U09VTkRfWU0zODEyLAoKCiAgICAgICAgU09VTkRfWU0zNTI2LAoKCiAgICAgICAgU09VTkRfWU1a
MjgwQiwKCgogICAgICAgIFNPVU5EX1k4OTUwLAoKCiAgICAgICAgU09VTkRfU043NjQ3NywKCgog
ICAgICAgIFNPVU5EX1NONzY0OTYsCgoKICAgICAgICBTT1VORF9QT0tFWSwKCgogICAgICAgIFNP
VU5EX05FUywKCgogICAgICAgIFNPVU5EX0FTVFJPQ0FERSwKCgogICAgICAgIFNPVU5EX05BTUNP
LAoKCiAgICAgICAgU09VTkRfVE1TMzZYWCwKCgogICAgICAgIFNPVU5EX1RNUzUxMTAsCgoKICAg
ICAgICBTT1VORF9UTVM1MjIwLAoKCiAgICAgICAgU09VTkRfVkxNNTAzMCwKCgogICAgICAgIFNP
VU5EX0FEUENNLAoKCiAgICAgICAgU09VTkRfT0tJTTYyOTUsCgoKICAgICAgICBTT1VORF9NU001
MjA1LAoKCiAgICAgICAgU09VTkRfTVNNNTIzMiwKCgogICAgICAgIFNPVU5EX1VQRDc3NTksCgoK
ICAgICAgICBTT1VORF9IQzU1NTE2LAoKCiAgICAgICAgU09VTkRfSzAwNTI4OSwKCgogICAgICAg
IFNPVU5EX0swMDcyMzIsCgoKICAgICAgICBTT1VORF9LMDUxNjQ5LAoKCiAgICAgICAgU09VTkRf
SzA1MzI2MCwKCgogICAgICAgIFNPVU5EX0swNTQ1MzksCgoKICAgICAgICBTT1VORF9TRUdBUENN
LAoKCiAgICAgICAgU09VTkRfUkY1QzY4LAoKCiAgICAgICAgU09VTkRfQ0VNMzM5NCwKCgogICAg
ICAgIFNPVU5EX0MxNDAsCgoKICAgICAgICBTT1VORF9RU09VTkQsCgoKICAgICAgICBTT1VORF9T
QUExMDk5LAoKCiAgICAgICAgU09VTkRfSVJFTUdBMjAsCgoKICAgICAgICBTT1VORF9FUzU1MDUs
CgoKICAgICAgICBTT1VORF9FUzU1MDYsCgoKICAgICAgICBTT1VORF9CU01UMjAwMCwKIyAzMzEg
InNyYy9zbmRpbnRyZi5oIgogICAgICAgIFNPVU5EX0NPVU5UCn07CgoKCnN0cnVjdCBDdXN0b21T
b3VuZF9pbnRlcmZhY2UKewogICAgICAgIGludCAoKnNoX3N0YXJ0KShjb25zdCBzdHJ1Y3QgTWFj
aGluZVNvdW5kICptc291bmQpOwogICAgICAgIHZvaWQgKCpzaF9zdG9wKSh2b2lkKTsKICAgICAg
ICB2b2lkICgqc2hfdXBkYXRlKSh2b2lkKTsKfTsKCgppbnQgc291bmRfc3RhcnQodm9pZCk7CnZv
aWQgc291bmRfc3RvcCh2b2lkKTsKdm9pZCBzb3VuZF91cGRhdGUodm9pZCk7CnZvaWQgc291bmRf
cmVzZXQodm9pZCk7CgoKY29uc3QgY2hhciAqc291bmRfbmFtZShjb25zdCBzdHJ1Y3QgTWFjaGlu
ZVNvdW5kICptc291bmQpOwoKaW50IHNvdW5kX251bShjb25zdCBzdHJ1Y3QgTWFjaGluZVNvdW5k
ICptc291bmQpOwoKaW50IHNvdW5kX2Nsb2NrKGNvbnN0IHN0cnVjdCBNYWNoaW5lU291bmQgKm1z
b3VuZCk7CgppbnQgc291bmRfc2NhbGVidWZmZXJwb3MoaW50IHZhbHVlKTsKCgpkYXRhOF90IHNv
dW5kbGF0Y2hfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRh
dGE4X3Qgc291bmRsYXRjaDJfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9m
ZnNldCk7CmRhdGE4X3Qgc291bmRsYXRjaDNfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkg
b2Zmc190IG9mZnNldCk7CmRhdGE4X3Qgc291bmRsYXRjaDRfcihfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgb2Zmc190IG9mZnNldCk7CmRhdGExNl90IHNvdW5kbGF0Y2hfd29yZF9yKF9fYXR0
cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3Vu
dXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwpkYXRhMTZfdCBzb3VuZGxhdGNoMl93b3JkX3Io
X19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18o
KF9fdW51c2VkX18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CmRhdGExNl90IHNvdW5kbGF0Y2gzX3dv
cmRfcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKZGF0YTE2X3Qgc291bmRsYXRj
aDRfd29yZF9yKF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0
dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwoKdm9pZCBzb3VuZGxh
dGNoX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHNvdW5kbGF0Y2gyX3coX19h
dHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9f
dW51c2VkX18pKSBkYXRhOF90IGRhdGEpOwp2b2lkIHNvdW5kbGF0Y2gzX3coX19hdHRyaWJ1dGVf
XygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBkYXRhOF90IGRhdGEpOwp2b2lkIHNvdW5kbGF0Y2g0X3coX19hdHRyaWJ1dGVfXygoX191bnVz
ZWRfXykpIG9mZnNfdCBvZmZzZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhOF90
IGRhdGEpOwp2b2lkIHNvdW5kbGF0Y2hfd29yZF93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgZGF0
YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IG1lbV9tYXNrKTsKdm9pZCBz
b3VuZGxhdGNoMl93b3JkX3coX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIG9mZnNfdCBvZmZz
ZXQsIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBkYXRhMTZfdCBkYXRhLCBfX2F0dHJpYnV0
ZV9fKChfX3VudXNlZF9fKSkgZGF0YTE2X3QgbWVtX21hc2spOwp2b2lkIHNvdW5kbGF0Y2gzX3dv
cmRfdyhfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgb2Zmc190IG9mZnNldCwgX19hdHRyaWJ1
dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90IGRhdGEsIF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBkYXRhMTZfdCBtZW1fbWFzayk7CnZvaWQgc291bmRsYXRjaDRfd29yZF93KF9fYXR0cmli
dXRlX18oKF9fdW51c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNl
ZF9fKSkgZGF0YTE2X3QgZGF0YSwgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIGRhdGExNl90
IG1lbV9tYXNrKTsKCnZvaWQgc291bmRsYXRjaF9jbGVhcl93KF9fYXR0cmlidXRlX18oKF9fdW51
c2VkX18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThf
dCBkYXRhKTsKdm9pZCBzb3VuZGxhdGNoMl9jbGVhcl93KF9fYXR0cmlidXRlX18oKF9fdW51c2Vk
X18pKSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBk
YXRhKTsKdm9pZCBzb3VuZGxhdGNoM19jbGVhcl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18p
KSBvZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRh
KTsKdm9pZCBzb3VuZGxhdGNoNF9jbGVhcl93KF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSBv
ZmZzX3Qgb2Zmc2V0LCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgZGF0YThfdCBkYXRhKTsK
CgoKCgp2b2lkIHNvdW5kbGF0Y2hfc2V0Y2xlYXJlZHZhbHVlKGludCB2YWx1ZSk7CiMgNjUgInNy
Yy9kcml2ZXIuaCIgMgoKCiMgMSAic3JjL3VzcmludHJmLmgiIDEKIyAxMiAic3JjL3VzcmludHJm
LmgiCnN0cnVjdCBEaXNwbGF5VGV4dAp7CiAgICAgICAgY29uc3QgY2hhciAqdGV4dDsKICAgICAg
ICBpbnQgY29sb3I7CiAgICAgICAgaW50IHg7CiAgICAgICAgaW50IHk7Cn07CiMgMjggInNyYy91
c3JpbnRyZi5oIgpzdHJ1Y3QgR2Z4RWxlbWVudCAqYnVpbGR1aWZvbnQodm9pZCk7CnZvaWQgcGlj
a191aWZvbnRfY29sb3JzKHZvaWQpOwp2b2lkIGRpc3BsYXl0ZXh0KHN0cnVjdCBtYW1lX2JpdG1h
cCAqYml0bWFwLGNvbnN0IHN0cnVjdCBEaXNwbGF5VGV4dCAqZHQpOwp2b2lkIHVpX3RleHQoc3Ry
dWN0IG1hbWVfYml0bWFwICpiaXRtYXAsY29uc3QgY2hhciAqYnVmLGludCB4LGludCB5KTsKdm9p
ZCB1aV9kcmF3Ym94KHN0cnVjdCBtYW1lX2JpdG1hcCAqYml0bWFwLGludCBsZWZ0eCxpbnQgdG9w
eSxpbnQgd2lkdGgsaW50IGhlaWdodCk7CnZvaWQgdWlfZGlzcGxheW1lc3NhZ2V3aW5kb3coc3Ry
dWN0IG1hbWVfYml0bWFwICpiaXRtYXAsY29uc3QgY2hhciAqdGV4dCk7CnZvaWQgdWlfZGlzcGxh
eW1lbnUoc3RydWN0IG1hbWVfYml0bWFwICpiaXRtYXAsY29uc3QgY2hhciAqKml0ZW1zLGNvbnN0
IGNoYXIgKipzdWJpdGVtcyxjaGFyICpmbGFnLGludCBzZWxlY3RlZCxpbnQgYXJyb3dpemVfc3Vi
aXRlbSk7CmludCBzaG93Y29weXJpZ2h0KHN0cnVjdCBtYW1lX2JpdG1hcCAqYml0bWFwKTsKaW50
IHNob3dnYW1ld2FybmluZ3Moc3RydWN0IG1hbWVfYml0bWFwICpiaXRtYXApOwp2b2lkIHNldF91
aV92aXNhcmVhIChpbnQgeG1pbiwgaW50IHltaW4sIGludCB4bWF4LCBpbnQgeW1heCk7Cgp2b2lk
IGluaXRfdXNlcl9pbnRlcmZhY2Uodm9pZCk7CmludCBoYW5kbGVfdXNlcl9pbnRlcmZhY2Uoc3Ry
dWN0IG1hbWVfYml0bWFwICpiaXRtYXApOwoKaW50IG9uc2NyZF9hY3RpdmUodm9pZCk7CmludCBz
ZXR1cF9hY3RpdmUodm9pZCk7Cgp2b2lkIHN3aXRjaF91aV9vcmllbnRhdGlvbihzdHJ1Y3QgbWFt
ZV9iaXRtYXAgKmJpdG1hcCk7CnZvaWQgc3dpdGNoX3RydWVfb3JpZW50YXRpb24oc3RydWN0IG1h
bWVfYml0bWFwICpiaXRtYXApOwoKdm9pZCB1c3JpbnRmX3Nob3dtZXNzYWdlKGNvbnN0IGNoYXIg
KnRleHQsLi4uKTsKdm9pZCB1c3JpbnRmX3Nob3dtZXNzYWdlX3NlY3MoaW50IHNlY29uZHMsIGNv
bnN0IGNoYXIgKnRleHQsLi4uKTsKIyA2OCAic3JjL2RyaXZlci5oIiAyCiMgMSAic3JjL2NoZWF0
LmgiIDEKIyAxMCAic3JjL2NoZWF0LmgiCmV4dGVybiBpbnQgaGVfZGlkX2NoZWF0OwoKdm9pZCBJ
bml0Q2hlYXQodm9pZCk7CnZvaWQgU3RvcENoZWF0KHZvaWQpOwoKaW50IGNoZWF0X21lbnUoc3Ry
dWN0IG1hbWVfYml0bWFwICpiaXRtYXAsIGludCBzZWxlY3Rpb24pOwp2b2lkIERvQ2hlYXQoc3Ry
dWN0IG1hbWVfYml0bWFwICpiaXRtYXApOwoKdm9pZCBEaXNwbGF5V2F0Y2hlcyhzdHJ1Y3QgbWFt
ZV9iaXRtYXAgKiBiaXRtYXApOwojIDY5ICJzcmMvZHJpdmVyLmgiIDIKIyAxICJzcmMvdGlsZW1h
cC5oIiAxCgoKCgoKc3RydWN0IHRpbGVtYXA7CiMgNDIgInNyYy90aWxlbWFwLmgiCmV4dGVybiBz
dHJ1Y3QgdGlsZV9pbmZvCnsKCgoKCgoKICAgICAgICBjb25zdCBVSU5UOCAqcGVuX2RhdGE7CiAg
ICAgICAgY29uc3QgcGVuX3QgKnBhbF9kYXRhOwogICAgICAgIFVJTlQzMiBmbGFnczsKICAgICAg
ICBpbnQgc2tpcDsKICAgICAgICBVSU5UMzIgdGlsZV9udW1iZXI7CiAgICAgICAgVUlOVDMyIHBl
bl91c2FnZTsKICAgICAgICBVSU5UMzIgcHJpb3JpdHk7CiAgICAgICAgVUlOVDggKm1hc2tfZGF0
YTsKfSB0aWxlX2luZm87CiMgOTUgInNyYy90aWxlbWFwLmgiCmV4dGVybiBzdHJ1Y3QgbWFtZV9i
aXRtYXAgKnByaW9yaXR5X2JpdG1hcDsKCgppbnQgdGlsZW1hcF9pbml0KCB2b2lkICk7CnZvaWQg
dGlsZW1hcF9jbG9zZSggdm9pZCApOwp2b2lkIHRpbGVtYXBfZGlzcG9zZSggc3RydWN0IHRpbGVt
YXAgKnRpbGVtYXAgKTsKCnN0cnVjdCB0aWxlbWFwICp0aWxlbWFwX2NyZWF0ZSgKICAgICAgICB2
b2lkICgqdGlsZV9nZXRfaW5mbykoIGludCBtZW1vcnlfb2Zmc2V0ICksCiAgICAgICAgVUlOVDMy
ICgqZ2V0X21lbW9yeV9vZmZzZXQpKCBVSU5UMzIgY29sLCBVSU5UMzIgcm93LCBVSU5UMzIgbnVt
X2NvbHMsIFVJTlQzMiBudW1fcm93cyApLAogICAgICAgIGludCB0eXBlLAogICAgICAgIGludCB0
aWxlX3dpZHRoLCBpbnQgdGlsZV9oZWlnaHQsCiAgICAgICAgaW50IG51bV9jb2xzLCBpbnQgbnVt
X3Jvd3MgKTsKCnZvaWQgdGlsZW1hcF9zZXRfdHJhbnNwYXJlbnRfcGVuKCBzdHJ1Y3QgdGlsZW1h
cCAqdGlsZW1hcCwgaW50IHBlbiApOwp2b2lkIHRpbGVtYXBfc2V0X3RyYW5zbWFzayggc3RydWN0
IHRpbGVtYXAgKnRpbGVtYXAsIGludCB3aGljaCwgVUlOVDMyIGZnbWFzaywgVUlOVDMyIGJnbWFz
ayApOwp2b2lkIHRpbGVtYXBfc2V0X2RlcHRoKCBzdHJ1Y3QgdGlsZW1hcCAqdGlsZW1hcCwgaW50
IHRpbGVfZGVwdGgsIGludCB0aWxlX2dyYW51bGFyaXR5ICk7Cgp2b2lkIHRpbGVtYXBfbWFya190
aWxlX2RpcnR5KCBzdHJ1Y3QgdGlsZW1hcCAqdGlsZW1hcCwgaW50IG1lbW9yeV9vZmZzZXQgKTsK
dm9pZCB0aWxlbWFwX21hcmtfYWxsX3RpbGVzX2RpcnR5KCBzdHJ1Y3QgdGlsZW1hcCAqdGlsZW1h
cCApOwp2b2lkIHRpbGVtYXBfbWFya19nZnhkYXRhX2RpcnR5KCBzdHJ1Y3QgdGlsZW1hcCAqdGls
ZW1hcCwgVUlOVDggKmRpcnR5X2FycmF5ICk7Cgp2b2lkIHRpbGVtYXBfc2V0X3Njcm9sbF9yb3dz
KCBzdHJ1Y3QgdGlsZW1hcCAqdGlsZW1hcCwgaW50IHNjcm9sbF9yb3dzICk7CnZvaWQgdGlsZW1h
cF9zZXRfc2Nyb2xsZHgoIHN0cnVjdCB0aWxlbWFwICp0aWxlbWFwLCBpbnQgZHgsIGludCBkeF9p
Zl9mbGlwcGVkICk7CnZvaWQgdGlsZW1hcF9zZXRfc2Nyb2xseCggc3RydWN0IHRpbGVtYXAgKnRp
bGVtYXAsIGludCByb3csIGludCB2YWx1ZSApOwoKdm9pZCB0aWxlbWFwX3NldF9zY3JvbGxfY29s
cyggc3RydWN0IHRpbGVtYXAgKnRpbGVtYXAsIGludCBzY3JvbGxfY29scyApOwp2b2lkIHRpbGVt
YXBfc2V0X3Njcm9sbGR5KCBzdHJ1Y3QgdGlsZW1hcCAqdGlsZW1hcCwgaW50IGR5LCBpbnQgZHlf
aWZfZmxpcHBlZCApOwp2b2lkIHRpbGVtYXBfc2V0X3Njcm9sbHkoIHN0cnVjdCB0aWxlbWFwICp0
aWxlbWFwLCBpbnQgY29sLCBpbnQgdmFsdWUgKTsKCnZvaWQgdGlsZW1hcF9zZXRfcGFsZXR0ZV9v
ZmZzZXQoIHN0cnVjdCB0aWxlbWFwICp0aWxlbWFwLCBpbnQgb2Zmc2V0ICk7CgoKCnZvaWQgdGls
ZW1hcF9zZXRfZmxpcCggc3RydWN0IHRpbGVtYXAgKnRpbGVtYXAsIGludCBhdHRyaWJ1dGVzICk7
CnZvaWQgdGlsZW1hcF9zZXRfZW5hYmxlKCBzdHJ1Y3QgdGlsZW1hcCAqdGlsZW1hcCwgaW50IGVu
YWJsZSApOwoKdm9pZCB0aWxlbWFwX2RyYXcoIHN0cnVjdCBtYW1lX2JpdG1hcCAqZGVzdCwgY29u
c3Qgc3RydWN0IHJlY3RhbmdsZSAqY2xpcHJlY3QsIHN0cnVjdCB0aWxlbWFwICp0aWxlbWFwLCBV
SU5UMzIgZmxhZ3MsIFVJTlQzMiBwcmlvcml0eSApOwoKdm9pZCB0aWxlbWFwX2RyYXdfcm96KHN0
cnVjdCBtYW1lX2JpdG1hcCAqZGVzdCxjb25zdCBzdHJ1Y3QgcmVjdGFuZ2xlICpjbGlwcmVjdCxz
dHJ1Y3QgdGlsZW1hcCAqdGlsZW1hcCwKICAgICAgICAgICAgICAgIFVJTlQzMiBzdGFydHgsVUlO
VDMyIHN0YXJ0eSxpbnQgaW5jeHgsaW50IGluY3h5LGludCBpbmN5eCxpbnQgaW5jeXksCiAgICAg
ICAgICAgICAgICBpbnQgd3JhcGFyb3VuZCwKICAgICAgICAgICAgICAgIFVJTlQzMiBmbGFncywg
VUlOVDMyIHByaW9yaXR5ICk7CiMgMTQ5ICJzcmMvdGlsZW1hcC5oIgpzdHJ1Y3QgbWFtZV9iaXRt
YXAgKnRpbGVtYXBfZ2V0X3BpeG1hcCggc3RydWN0IHRpbGVtYXAgKiB0aWxlbWFwICk7CnN0cnVj
dCBtYW1lX2JpdG1hcCAqdGlsZW1hcF9nZXRfdHJhbnNwYXJlbmN5X2JpdG1hcCggc3RydWN0IHRp
bGVtYXAgKiB0aWxlbWFwICk7CgoKClVJTlQzMiB0aWxlbWFwX3NjYW5fY29scyggVUlOVDMyIGNv
bCwgVUlOVDMyIHJvdywgVUlOVDMyIG51bV9jb2xzLCBVSU5UMzIgbnVtX3Jvd3MgKTsKVUlOVDMy
IHRpbGVtYXBfc2Nhbl9yb3dzKCBVSU5UMzIgY29sLCBVSU5UMzIgcm93LCBVSU5UMzIgbnVtX2Nv
bHMsIFVJTlQzMiBudW1fcm93cyApOwoKClVJTlQzMiB0aWxlbWFwX2NvdW50KCB2b2lkICk7CnZv
aWQgdGlsZW1hcF9uYl9zaXplKCBVSU5UMzIgbnVtYmVyLCBVSU5UMzIgKndpZHRoLCBVSU5UMzIg
KmhlaWdodCApOwp2b2lkIHRpbGVtYXBfbmJfZHJhdyggc3RydWN0IG1hbWVfYml0bWFwICpkZXN0
LCBVSU5UMzIgbnVtYmVyLCBVSU5UMzIgc2Nyb2xseCwgVUlOVDMyIHNjcm9sbHkgKTsKIyA3MCAi
c3JjL2RyaXZlci5oIiAyCiMgMSAic3JjL3Byb2ZpbGVyLmgiIDEKCgoKCmVudW0gewogICAgICAg
IFBST0ZJTEVSX0VORCA9IC0xLAogICAgICAgIFBST0ZJTEVSX0NQVTEgPSAwLAogICAgICAgIFBS
T0ZJTEVSX0NQVTIsCiAgICAgICAgUFJPRklMRVJfQ1BVMywKICAgICAgICBQUk9GSUxFUl9DUFU0
LAogICAgICAgIFBST0ZJTEVSX0NQVTUsCiAgICAgICAgUFJPRklMRVJfQ1BVNiwKICAgICAgICBQ
Uk9GSUxFUl9DUFU3LAogICAgICAgIFBST0ZJTEVSX0NQVTgsCiAgICAgICAgUFJPRklMRVJfTUVN
UkVBRCwKICAgICAgICBQUk9GSUxFUl9NRU1XUklURSwKICAgICAgICBQUk9GSUxFUl9WSURFTywK
ICAgICAgICBQUk9GSUxFUl9EUkFXR0ZYLAogICAgICAgIFBST0ZJTEVSX0NPUFlCSVRNQVAsCiAg
ICAgICAgUFJPRklMRVJfVElMRU1BUF9EUkFXLAogICAgICAgIFBST0ZJTEVSX1RJTEVNQVBfRFJB
V19ST1osCiAgICAgICAgUFJPRklMRVJfVElMRU1BUF9VUERBVEUsCiAgICAgICAgUFJPRklMRVJf
QkxJVCwKICAgICAgICBQUk9GSUxFUl9TT1VORCwKICAgICAgICBQUk9GSUxFUl9NSVhFUiwKICAg
ICAgICBQUk9GSUxFUl9USU1FUl9DQUxMQkFDSywKICAgICAgICBQUk9GSUxFUl9ISVNDT1JFLAog
ICAgICAgIFBST0ZJTEVSX0lOUFVULAogICAgICAgIFBST0ZJTEVSX0VYVFJBLAoKCgogICAgICAg
IFBST0ZJTEVSX1VTRVIxLAogICAgICAgIFBST0ZJTEVSX1VTRVIyLAogICAgICAgIFBST0ZJTEVS
X1VTRVIzLAogICAgICAgIFBST0ZJTEVSX1VTRVI0LAoKICAgICAgICBQUk9GSUxFUl9QUk9GSUxF
UiwKICAgICAgICBQUk9GSUxFUl9JRExFLAogICAgICAgIFBST0ZJTEVSX1RPVEFMCn07CiMgNjAg
InNyYy9wcm9maWxlci5oIgp2b2lkIHByb2ZpbGVyX19tYXJrKGludCB0eXBlKTsKCgp2b2lkIHBy
b2ZpbGVyX3N0YXJ0KHZvaWQpOwp2b2lkIHByb2ZpbGVyX3N0b3Aodm9pZCk7CnZvaWQgcHJvZmls
ZXJfc2hvdyhzdHJ1Y3QgbWFtZV9iaXRtYXAgKmJpdG1hcCk7CiMgNzEgInNyYy9kcml2ZXIuaCIg
MgojIDI1NyAic3JjL2RyaXZlci5oIgpzdHJ1Y3QgTWFjaGluZUNQVSAqbWFjaGluZV9hZGRfY3B1
KHN0cnVjdCBJbnRlcm5hbE1hY2hpbmVEcml2ZXIgKm1hY2hpbmUsIGNvbnN0IGNoYXIgKnRhZywg
aW50IHR5cGUsIGludCBjcHVjbG9jayk7CnN0cnVjdCBNYWNoaW5lQ1BVICptYWNoaW5lX2ZpbmRf
Y3B1KHN0cnVjdCBJbnRlcm5hbE1hY2hpbmVEcml2ZXIgKm1hY2hpbmUsIGNvbnN0IGNoYXIgKnRh
Zyk7CnZvaWQgbWFjaGluZV9yZW1vdmVfY3B1KHN0cnVjdCBJbnRlcm5hbE1hY2hpbmVEcml2ZXIg
Km1hY2hpbmUsIGNvbnN0IGNoYXIgKnRhZyk7CgpzdHJ1Y3QgTWFjaGluZVNvdW5kICptYWNoaW5l
X2FkZF9zb3VuZChzdHJ1Y3QgSW50ZXJuYWxNYWNoaW5lRHJpdmVyICptYWNoaW5lLCBjb25zdCBj
aGFyICp0YWcsIGludCB0eXBlLCB2b2lkICpzbmRpbnRmKTsKc3RydWN0IE1hY2hpbmVTb3VuZCAq
bWFjaGluZV9maW5kX3NvdW5kKHN0cnVjdCBJbnRlcm5hbE1hY2hpbmVEcml2ZXIgKm1hY2hpbmUs
IGNvbnN0IGNoYXIgKnRhZyk7CnZvaWQgbWFjaGluZV9yZW1vdmVfc291bmQoc3RydWN0IEludGVy
bmFsTWFjaGluZURyaXZlciAqbWFjaGluZSwgY29uc3QgY2hhciAqdGFnKTsKIyAyNzkgInNyYy9k
cml2ZXIuaCIKc3RydWN0IEludGVybmFsTWFjaGluZURyaXZlcgp7CiAgICAgICAgc3RydWN0IE1h
Y2hpbmVDUFUgY3B1WzhdOwogICAgICAgIGZsb2F0IGZyYW1lc19wZXJfc2Vjb25kOwogICAgICAg
IGludCB2YmxhbmtfZHVyYXRpb247CiAgICAgICAgVUlOVDMyIGNwdV9zbGljZXNfcGVyX2ZyYW1l
OwoKICAgICAgICB2b2lkICgqbWFjaGluZV9pbml0KSh2b2lkKTsKICAgICAgICB2b2lkICgqbWFj
aGluZV9zdG9wKSh2b2lkKTsKICAgICAgICB2b2lkICgqbnZyYW1faGFuZGxlcikodm9pZCAqZmls
ZSxpbnQgcmVhZF9vcl93cml0ZSk7CgogICAgICAgIFVJTlQzMiB2aWRlb19hdHRyaWJ1dGVzOwog
ICAgICAgIGludCBzY3JlZW5fd2lkdGgsc2NyZWVuX2hlaWdodDsKICAgICAgICBzdHJ1Y3QgcmVj
dGFuZ2xlIGRlZmF1bHRfdmlzaWJsZV9hcmVhOwogICAgICAgIHN0cnVjdCBHZnhEZWNvZGVJbmZv
ICpnZnhkZWNvZGVpbmZvOwogICAgICAgIFVJTlQzMiB0b3RhbF9jb2xvcnM7CiAgICAgICAgVUlO
VDMyIGNvbG9yX3RhYmxlX2xlbjsKCiAgICAgICAgdm9pZCAoKmluaXRfcGFsZXR0ZSkodW5zaWdu
ZWQgc2hvcnQgKmNvbG9ydGFibGUsY29uc3QgdW5zaWduZWQgY2hhciAqY29sb3JfcHJvbSk7CiAg
ICAgICAgaW50ICgqdmlkZW9fc3RhcnQpKHZvaWQpOwogICAgICAgIHZvaWQgKCp2aWRlb19zdG9w
KSh2b2lkKTsKICAgICAgICB2b2lkICgqdmlkZW9fZW9mKSh2b2lkKTsKICAgICAgICB2b2lkICgq
dmlkZW9fdXBkYXRlKShzdHJ1Y3QgbWFtZV9iaXRtYXAgKmJpdG1hcCxjb25zdCBzdHJ1Y3QgcmVj
dGFuZ2xlICpjbGlwcmVjdCk7CgogICAgICAgIFVJTlQzMiBzb3VuZF9hdHRyaWJ1dGVzOwogICAg
ICAgIHN0cnVjdCBNYWNoaW5lU291bmQgc291bmRbNV07Cn07CiMgMzk1ICJzcmMvZHJpdmVyLmgi
CnN0cnVjdCBHYW1lRHJpdmVyCnsKICAgICAgICBjb25zdCBjaGFyICpzb3VyY2VfZmlsZTsKICAg
ICAgICBjb25zdCBzdHJ1Y3QgR2FtZURyaXZlciAqY2xvbmVfb2Y7CgogICAgICAgIGNvbnN0IGNo
YXIgKm5hbWU7CiAgICAgICAgY29uc3QgY2hhciAqZGVzY3JpcHRpb247CiAgICAgICAgY29uc3Qg
Y2hhciAqeWVhcjsKICAgICAgICBjb25zdCBjaGFyICptYW51ZmFjdHVyZXI7CiAgICAgICAgdm9p
ZCAoKmRydikoc3RydWN0IEludGVybmFsTWFjaGluZURyaXZlciAqKTsKICAgICAgICBjb25zdCBz
dHJ1Y3QgSW5wdXRQb3J0VGlueSAqaW5wdXRfcG9ydHM7CiAgICAgICAgdm9pZCAoKmRyaXZlcl9p
bml0KSh2b2lkKTsKCgoKICAgICAgICBjb25zdCBzdHJ1Y3QgUm9tTW9kdWxlICpyb207CgoKCgog
ICAgICAgIFVJTlQzMiBmbGFnczsKfTsKIyA1MDkgInNyYy9kcml2ZXIuaCIKZXh0ZXJuIGNvbnN0
IHN0cnVjdCBHYW1lRHJpdmVyICpkcml2ZXJzW107CiMgNTkgInNyYy9jcHUvaTgwODUvaTgwODUu
YyIgMgojIDEgInNyYy9zdGF0ZS5oIiAxCgoKCgoKCnZvaWQgc3RhdGVfc2F2ZV9yZXNldCh2b2lk
KTsKCgp2b2lkIHN0YXRlX3NhdmVfcmVnaXN0ZXJfVUlOVDggKGNvbnN0IGNoYXIgKm1vZHVsZSwg
aW50IGluc3RhbmNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgVUlOVDggKnZhbCwgdW5zaWdu
ZWQgc2l6ZSk7CnZvaWQgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9JTlQ4IChjb25zdCBjaGFyICptb2R1
bGUsIGludCBpbnN0YW5jZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIElOVDggKnZhbCwgdW5z
aWduZWQgc2l6ZSk7CnZvaWQgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9VSU5UMTYoY29uc3QgY2hhciAq
bW9kdWxlLCBpbnQgaW5zdGFuY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBVSU5UMTYgKnZh
bCwgdW5zaWduZWQgc2l6ZSk7CnZvaWQgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9JTlQxNiAoY29uc3Qg
Y2hhciAqbW9kdWxlLCBpbnQgaW5zdGFuY2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpuYW1lLCBJTlQx
NiAqdmFsLCB1bnNpZ25lZCBzaXplKTsKdm9pZCBzdGF0ZV9zYXZlX3JlZ2lzdGVyX1VJTlQzMihj
b25zdCBjaGFyICptb2R1bGUsIGludCBpbnN0YW5jZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUs
IFVJTlQzMiAqdmFsLCB1bnNpZ25lZCBzaXplKTsKdm9pZCBzdGF0ZV9zYXZlX3JlZ2lzdGVyX0lO
VDMyIChjb25zdCBjaGFyICptb2R1bGUsIGludCBpbnN0YW5jZSwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg
Km5hbWUsIElOVDMyICp2YWwsIHVuc2lnbmVkIHNpemUpOwp2b2lkIHN0YXRlX3NhdmVfcmVnaXN0
ZXJfZG91YmxlKGNvbnN0IGNoYXIgKm1vZHVsZSwgaW50IGluc3RhbmNlLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
Y2hhciAqbmFtZSwgZG91YmxlICp2YWwsIHVuc2lnbmVkIHNpemUpOwp2b2lkIHN0YXRlX3NhdmVf
cmVnaXN0ZXJfaW50IChjb25zdCBjaGFyICptb2R1bGUsIGludCBpbnN0YW5jZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIgKm5hbWUsIGludCAqdmFsKTsKCgp2b2lkIHN0YXRlX3NhdmVfcmVnaXN0ZXJfZnVu
Y19wcmVzYXZlKHZvaWQgKCpmdW5jKSh2b2lkKSk7CnZvaWQgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9m
dW5jX3Bvc3Rsb2FkKHZvaWQgKCpmdW5jKSh2b2lkKSk7CgoKCnZvaWQgc3RhdGVfc2F2ZV9zYXZl
X2JlZ2luKHZvaWQgKmZpbGUpOwppbnQgc3RhdGVfc2F2ZV9sb2FkX2JlZ2luKHZvaWQgKmZpbGUp
OwoKdm9pZCBzdGF0ZV9zYXZlX3NldF9jdXJyZW50X3RhZyhpbnQgdGFnKTsKdm9pZCBzdGF0ZV9z
YXZlX3NhdmVfY29udGludWUodm9pZCk7CnZvaWQgc3RhdGVfc2F2ZV9sb2FkX2NvbnRpbnVlKHZv
aWQpOwoKdm9pZCBzdGF0ZV9zYXZlX3NhdmVfZmluaXNoKHZvaWQpOwp2b2lkIHN0YXRlX3NhdmVf
bG9hZF9maW5pc2godm9pZCk7CgoKdm9pZCBzdGF0ZV9zYXZlX2R1bXBfcmVnaXN0cnkodm9pZCk7
CiMgNjAgInNyYy9jcHUvaTgwODUvaTgwODUuYyIgMgoKCiMgMSAic3JjL2NwdS9pODA4NS9pODA4
NS5oIiAxCgoKCgoKZW51bSB7CiAgICAgICAgSTgwODVfUEM9MSwgSTgwODVfU1AsIEk4MDg1X0FG
ICxJODA4NV9CQywgSTgwODVfREUsIEk4MDg1X0hMLAogICAgICAgIEk4MDg1X0hBTFQsIEk4MDg1
X0lNLCBJODA4NV9JUkVRLCBJODA4NV9JU1JWLCBJODA4NV9WRUNUT1IsCiAgICAgICAgSTgwODVf
VFJBUF9TVEFURSwgSTgwODVfSU5UUl9TVEFURSwKICAgICAgICBJODA4NV9SU1Q1NV9TVEFURSwg
STgwODVfUlNUNjVfU1RBVEUsIEk4MDg1X1JTVDc1X1NUQVRFfTsKCgoKCgoKZXh0ZXJuIGludCBp
ODA4NV9JQ291bnQ7CgpleHRlcm4gdm9pZCBpODA4NV9zZXRfU0lEKGludCBzdGF0ZSk7CmV4dGVy
biB2b2lkIGk4MDg1X3NldF9TT0RfY2FsbGJhY2sodm9pZCAoKmNhbGxiYWNrKShpbnQgc3RhdGUp
KTsKZXh0ZXJuIHZvaWQgaTgwODVfaW5pdCh2b2lkKTsKZXh0ZXJuIHZvaWQgaTgwODVfcmVzZXQo
dm9pZCAqcGFyYW0pOwpleHRlcm4gdm9pZCBpODA4NV9leGl0KHZvaWQpOwpleHRlcm4gaW50IGk4
MDg1X2V4ZWN1dGUoaW50IGN5Y2xlcyk7CmV4dGVybiB1bnNpZ25lZCBpODA4NV9nZXRfY29udGV4
dCh2b2lkICpkc3QpOwpleHRlcm4gdm9pZCBpODA4NV9zZXRfY29udGV4dCh2b2lkICpzcmMpOwpl
eHRlcm4gdW5zaWduZWQgaTgwODVfZ2V0X3JlZyhpbnQgcmVnbnVtKTsKZXh0ZXJuIHZvaWQgaTgw
ODVfc2V0X3JlZyhpbnQgcmVnbnVtLCB1bnNpZ25lZCB2YWwpOwpleHRlcm4gdm9pZCBpODA4NV9z
ZXRfaXJxX2xpbmUoaW50IGlycWxpbmUsIGludCBzdGF0ZSk7CmV4dGVybiB2b2lkIGk4MDg1X3Nl
dF9pcnFfY2FsbGJhY2soaW50ICgqY2FsbGJhY2spKGludCBpcnFsaW5lKSk7CmV4dGVybiBjb25z
dCBjaGFyICppODA4NV9pbmZvKHZvaWQgKmNvbnRleHQsIGludCByZWdudW0pOwpleHRlcm4gdW5z
aWduZWQgaTgwODVfZGFzbShjaGFyICpidWZmZXIsIHVuc2lnbmVkIHBjKTsKIyA2MCAic3JjL2Nw
dS9pODA4NS9pODA4NS5oIgpleHRlcm4gdm9pZCBpODA4MF9pbml0KHZvaWQpOwpleHRlcm4gdm9p
ZCBpODA4MF9yZXNldCh2b2lkICpwYXJhbSk7CmV4dGVybiB2b2lkIGk4MDgwX2V4aXQodm9pZCk7
CmV4dGVybiBpbnQgaTgwODBfZXhlY3V0ZShpbnQgY3ljbGVzKTsKZXh0ZXJuIHVuc2lnbmVkIGk4
MDgwX2dldF9jb250ZXh0KHZvaWQgKmRzdCk7CmV4dGVybiB2b2lkIGk4MDgwX3NldF9jb250ZXh0
KHZvaWQgKnNyYyk7CmV4dGVybiB1bnNpZ25lZCBpODA4MF9nZXRfcmVnKGludCByZWdudW0pOwpl
eHRlcm4gdm9pZCBpODA4MF9zZXRfcmVnKGludCByZWdudW0sIHVuc2lnbmVkIHZhbCk7CmV4dGVy
biB2b2lkIGk4MDgwX3NldF9pcnFfbGluZShpbnQgaXJxbGluZSwgaW50IHN0YXRlKTsKZXh0ZXJu
IHZvaWQgaTgwODBfc2V0X2lycV9jYWxsYmFjayhpbnQgKCpjYWxsYmFjaykoaW50IGlycWxpbmUp
KTsKZXh0ZXJuIGNvbnN0IGNoYXIgKmk4MDgwX2luZm8odm9pZCAqY29udGV4dCwgaW50IHJlZ251
bSk7CmV4dGVybiB1bnNpZ25lZCBpODA4MF9kYXNtKGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgcGMp
OwojIDYzICJzcmMvY3B1L2k4MDg1L2k4MDg1LmMiIDIKIyAxICJzcmMvY3B1L2k4MDg1L2k4MDg1
Y3B1LmgiIDEKIyA2NCAic3JjL2NwdS9pODA4NS9pODA4NS5jIiAyCiMgMSAic3JjL2NwdS9pODA4
NS9pODA4NWRhYS5oIiAxCnN0YXRpYyBVSU5UMTYgREFBWzIwNDhdID0gewogICgweDAwPDw4KSAr
MHg0MCArMHgwNCAsCiAgKDB4MDE8PDgpICwKICAoMHgwMjw8OCkgLAogICgweDAzPDw4KSArMHgw
NCAsCiAgKDB4MDQ8PDgpICwKICAoMHgwNTw8OCkgKzB4MDQgLAogICgweDA2PDw4KSArMHgwNCAs
CiAgKDB4MDc8PDgpICwKICAoMHgwODw8OCkgKzB4MDggLAogICgweDA5PDw4KSArMHgwOCArMHgw
NCAsCiAgKDB4MTA8PDgpICsweDEwICwKICAoMHgxMTw8OCkgKzB4MTAgKzB4MDQgLAogICgweDEy
PDw4KSArMHgxMCArMHgwNCAsCiAgKDB4MTM8PDgpICsweDEwICwKICAoMHgxNDw8OCkgKzB4MTAg
KzB4MDQgLAogICgweDE1PDw4KSArMHgxMCAsCiAgKDB4MTA8PDgpICwKICAoMHgxMTw8OCkgKzB4
MDQgLAogICgweDEyPDw4KSArMHgwNCAsCiAgKDB4MTM8PDgpICwKICAoMHgxNDw8OCkgKzB4MDQg
LAogICgweDE1PDw4KSAsCiAgKDB4MTY8PDgpICwKICAoMHgxNzw8OCkgKzB4MDQgLAogICgweDE4
PDw4KSArMHgwOCArMHgwNCAsCiAgKDB4MTk8PDgpICsweDA4ICwKICAoMHgyMDw8OCkgKzB4MjAg
KzB4MTAgLAogICgweDIxPDw4KSArMHgyMCArMHgxMCArMHgwNCAsCiAgKDB4MjI8PDgpICsweDIw
ICsweDEwICsweDA0ICwKICAoMHgyMzw8OCkgKzB4MjAgKzB4MTAgLAogICgweDI0PDw4KSArMHgy
MCArMHgxMCArMHgwNCAsCiAgKDB4MjU8PDgpICsweDIwICsweDEwICwKICAoMHgyMDw8OCkgKzB4
MjAgLAogICgweDIxPDw4KSArMHgyMCArMHgwNCAsCiAgKDB4MjI8PDgpICsweDIwICsweDA0ICwK
ICAoMHgyMzw8OCkgKzB4MjAgLAogICgweDI0PDw4KSArMHgyMCArMHgwNCAsCiAgKDB4MjU8PDgp
ICsweDIwICwKICAoMHgyNjw8OCkgKzB4MjAgLAogICgweDI3PDw4KSArMHgyMCArMHgwNCAsCiAg
KDB4Mjg8PDgpICsweDIwICsweDA4ICsweDA0ICwKICAoMHgyOTw8OCkgKzB4MjAgKzB4MDggLAog
ICgweDMwPDw4KSArMHgyMCArMHgxMCArMHgwNCAsCiAgKDB4MzE8PDgpICsweDIwICsweDEwICwK
ICAoMHgzMjw8OCkgKzB4MjAgKzB4MTAgLAogICgweDMzPDw4KSArMHgyMCArMHgxMCArMHgwNCAs
CiAgKDB4MzQ8PDgpICsweDIwICsweDEwICwKICAoMHgzNTw8OCkgKzB4MjAgKzB4MTAgKzB4MDQg
LAogICgweDMwPDw4KSArMHgyMCArMHgwNCAsCiAgKDB4MzE8PDgpICsweDIwICwKICAoMHgzMjw8
OCkgKzB4MjAgLAogICgweDMzPDw4KSArMHgyMCArMHgwNCAsCiAgKDB4MzQ8PDgpICsweDIwICwK
ICAoMHgzNTw8OCkgKzB4MjAgKzB4MDQgLAogICgweDM2PDw4KSArMHgyMCArMHgwNCAsCiAgKDB4
Mzc8PDgpICsweDIwICwKICAoMHgzODw8OCkgKzB4MjAgKzB4MDggLAogICgweDM5PDw4KSArMHgy
MCArMHgwOCArMHgwNCAsCiAgKDB4NDA8PDgpICsweDEwICwKICAoMHg0MTw8OCkgKzB4MTAgKzB4
MDQgLAogICgweDQyPDw4KSArMHgxMCArMHgwNCAsCiAgKDB4NDM8PDgpICsweDEwICwKICAoMHg0
NDw8OCkgKzB4MTAgKzB4MDQgLAogICgweDQ1PDw4KSArMHgxMCAsCiAgKDB4NDA8PDgpICwKICAo
MHg0MTw8OCkgKzB4MDQgLAogICgweDQyPDw4KSArMHgwNCAsCiAgKDB4NDM8PDgpICwKICAoMHg0
NDw8OCkgKzB4MDQgLAogICgweDQ1PDw4KSAsCiAgKDB4NDY8PDgpICwKICAoMHg0Nzw8OCkgKzB4
MDQgLAogICgweDQ4PDw4KSArMHgwOCArMHgwNCAsCiAgKDB4NDk8PDgpICsweDA4ICwKICAoMHg1
MDw8OCkgKzB4MTAgKzB4MDQgLAogICgweDUxPDw4KSArMHgxMCAsCiAgKDB4NTI8PDgpICsweDEw
ICwKICAoMHg1Mzw8OCkgKzB4MTAgKzB4MDQgLAogICgweDU0PDw4KSArMHgxMCAsCiAgKDB4NTU8
PDgpICsweDEwICsweDA0ICwKICAoMHg1MDw8OCkgKzB4MDQgLAogICgweDUxPDw4KSAsCiAgKDB4
NTI8PDgpICwKICAoMHg1Mzw8OCkgKzB4MDQgLAogICgweDU0PDw4KSAsCiAgKDB4NTU8PDgpICsw
eDA0ICwKICAoMHg1Njw8OCkgKzB4MDQgLAogICgweDU3PDw4KSAsCiAgKDB4NTg8PDgpICsweDA4
ICwKICAoMHg1OTw8OCkgKzB4MDggKzB4MDQgLAogICgweDYwPDw4KSArMHgyMCArMHgxMCArMHgw
NCAsCiAgKDB4NjE8PDgpICsweDIwICsweDEwICwKICAoMHg2Mjw8OCkgKzB4MjAgKzB4MTAgLAog
ICgweDYzPDw4KSArMHgyMCArMHgxMCArMHgwNCAsCiAgKDB4NjQ8PDgpICsweDIwICsweDEwICwK
ICAoMHg2NTw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgLAogICgweDYwPDw4KSArMHgyMCArMHgwNCAs
CiAgKDB4NjE8PDgpICsweDIwICwKICAoMHg2Mjw8OCkgKzB4MjAgLAogICgweDYzPDw4KSArMHgy
MCArMHgwNCAsCiAgKDB4NjQ8PDgpICsweDIwICwKICAoMHg2NTw8OCkgKzB4MjAgKzB4MDQgLAog
ICgweDY2PDw4KSArMHgyMCArMHgwNCAsCiAgKDB4Njc8PDgpICsweDIwICwKICAoMHg2ODw8OCkg
KzB4MjAgKzB4MDggLAogICgweDY5PDw4KSArMHgyMCArMHgwOCArMHgwNCAsCiAgKDB4NzA8PDgp
ICsweDIwICsweDEwICwKICAoMHg3MTw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgLAogICgweDcyPDw4
KSArMHgyMCArMHgxMCArMHgwNCAsCiAgKDB4NzM8PDgpICsweDIwICsweDEwICwKICAoMHg3NDw8
OCkgKzB4MjAgKzB4MTAgKzB4MDQgLAogICgweDc1PDw4KSArMHgyMCArMHgxMCAsCiAgKDB4NzA8
PDgpICsweDIwICwKICAoMHg3MTw8OCkgKzB4MjAgKzB4MDQgLAogICgweDcyPDw4KSArMHgyMCAr
MHgwNCAsCiAgKDB4NzM8PDgpICsweDIwICwKICAoMHg3NDw8OCkgKzB4MjAgKzB4MDQgLAogICgw
eDc1PDw4KSArMHgyMCAsCiAgKDB4NzY8PDgpICsweDIwICwKICAoMHg3Nzw8OCkgKzB4MjAgKzB4
MDQgLAogICgweDc4PDw4KSArMHgyMCArMHgwOCArMHgwNCAsCiAgKDB4Nzk8PDgpICsweDIwICsw
eDA4ICwKICAoMHg4MDw8OCkrMHg4MCArMHgxMCAsCiAgKDB4ODE8PDgpKzB4ODAgKzB4MTAgKzB4
MDQgLAogICgweDgyPDw4KSsweDgwICsweDEwICsweDA0ICwKICAoMHg4Mzw8OCkrMHg4MCArMHgx
MCAsCiAgKDB4ODQ8PDgpKzB4ODAgKzB4MTAgKzB4MDQgLAogICgweDg1PDw4KSsweDgwICsweDEw
ICwKICAoMHg4MDw8OCkrMHg4MCAsCiAgKDB4ODE8PDgpKzB4ODAgKzB4MDQgLAogICgweDgyPDw4
KSsweDgwICsweDA0ICwKICAoMHg4Mzw8OCkrMHg4MCAsCiAgKDB4ODQ8PDgpKzB4ODAgKzB4MDQg
LAogICgweDg1PDw4KSsweDgwICwKICAoMHg4Njw8OCkrMHg4MCAsCiAgKDB4ODc8PDgpKzB4ODAg
KzB4MDQgLAogICgweDg4PDw4KSsweDgwICsweDA4ICsweDA0ICwKICAoMHg4OTw8OCkrMHg4MCAr
MHgwOCAsCiAgKDB4OTA8PDgpKzB4ODAgKzB4MTAgKzB4MDQgLAogICgweDkxPDw4KSsweDgwICsw
eDEwICwKICAoMHg5Mjw8OCkrMHg4MCArMHgxMCAsCiAgKDB4OTM8PDgpKzB4ODAgKzB4MTAgKzB4
MDQgLAogICgweDk0PDw4KSsweDgwICsweDEwICwKICAoMHg5NTw8OCkrMHg4MCArMHgxMCArMHgw
NCAsCiAgKDB4OTA8PDgpKzB4ODAgKzB4MDQgLAogICgweDkxPDw4KSsweDgwICwKICAoMHg5Mjw8
OCkrMHg4MCAsCiAgKDB4OTM8PDgpKzB4ODAgKzB4MDQgLAogICgweDk0PDw4KSsweDgwICwKICAo
MHg5NTw8OCkrMHg4MCArMHgwNCAsCiAgKDB4OTY8PDgpKzB4ODAgKzB4MDQgLAogICgweDk3PDw4
KSsweDgwICwKICAoMHg5ODw8OCkrMHg4MCArMHgwOCAsCiAgKDB4OTk8PDgpKzB4ODAgKzB4MDgg
KzB4MDQgLAogICgweDAwPDw4KSArMHg0MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHgwMTw8OCkg
KzB4MTAgKzB4MDEsCiAgKDB4MDI8PDgpICsweDEwICsweDAxLAogICgweDAzPDw4KSArMHgxMCAr
MHgwNCArMHgwMSwKICAoMHgwNDw8OCkgKzB4MTAgKzB4MDEsCiAgKDB4MDU8PDgpICsweDEwICsw
eDA0ICsweDAxLAogICgweDAwPDw4KSArMHg0MCArMHgwNCArMHgwMSwKICAoMHgwMTw8OCkgKzB4
MDEsCiAgKDB4MDI8PDgpICsweDAxLAogICgweDAzPDw4KSArMHgwNCArMHgwMSwKICAoMHgwNDw8
OCkgKzB4MDEsCiAgKDB4MDU8PDgpICsweDA0ICsweDAxLAogICgweDA2PDw4KSArMHgwNCArMHgw
MSwKICAoMHgwNzw8OCkgKzB4MDEsCiAgKDB4MDg8PDgpICsweDA4ICsweDAxLAogICgweDA5PDw4
KSArMHgwOCArMHgwNCArMHgwMSwKICAoMHgxMDw8OCkgKzB4MTAgKzB4MDEsCiAgKDB4MTE8PDgp
ICsweDEwICsweDA0ICsweDAxLAogICgweDEyPDw4KSArMHgxMCArMHgwNCArMHgwMSwKICAoMHgx
Mzw8OCkgKzB4MTAgKzB4MDEsCiAgKDB4MTQ8PDgpICsweDEwICsweDA0ICsweDAxLAogICgweDE1
PDw4KSArMHgxMCArMHgwMSwKICAoMHgxMDw8OCkgKzB4MDEsCiAgKDB4MTE8PDgpICsweDA0ICsw
eDAxLAogICgweDEyPDw4KSArMHgwNCArMHgwMSwKICAoMHgxMzw8OCkgKzB4MDEsCiAgKDB4MTQ8
PDgpICsweDA0ICsweDAxLAogICgweDE1PDw4KSArMHgwMSwKICAoMHgxNjw8OCkgKzB4MDEsCiAg
KDB4MTc8PDgpICsweDA0ICsweDAxLAogICgweDE4PDw4KSArMHgwOCArMHgwNCArMHgwMSwKICAo
MHgxOTw8OCkgKzB4MDggKzB4MDEsCiAgKDB4MjA8PDgpICsweDIwICsweDEwICsweDAxLAogICgw
eDIxPDw4KSArMHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHgyMjw8OCkgKzB4MjAgKzB4MTAg
KzB4MDQgKzB4MDEsCiAgKDB4MjM8PDgpICsweDIwICsweDEwICsweDAxLAogICgweDI0PDw4KSAr
MHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHgyNTw8OCkgKzB4MjAgKzB4MTAgKzB4MDEsCiAg
KDB4MjA8PDgpICsweDIwICsweDAxLAogICgweDIxPDw4KSArMHgyMCArMHgwNCArMHgwMSwKICAo
MHgyMjw8OCkgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4MjM8PDgpICsweDIwICsweDAxLAogICgw
eDI0PDw4KSArMHgyMCArMHgwNCArMHgwMSwKICAoMHgyNTw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4
MjY8PDgpICsweDIwICsweDAxLAogICgweDI3PDw4KSArMHgyMCArMHgwNCArMHgwMSwKICAoMHgy
ODw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4Mjk8PDgpICsweDIwICsweDA4ICsw
eDAxLAogICgweDMwPDw4KSArMHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHgzMTw8OCkgKzB4
MjAgKzB4MTAgKzB4MDEsCiAgKDB4MzI8PDgpICsweDIwICsweDEwICsweDAxLAogICgweDMzPDw4
KSArMHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHgzNDw8OCkgKzB4MjAgKzB4MTAgKzB4MDEs
CiAgKDB4MzU8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDMwPDw4KSArMHgyMCAr
MHgwNCArMHgwMSwKICAoMHgzMTw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4MzI8PDgpICsweDIwICsw
eDAxLAogICgweDMzPDw4KSArMHgyMCArMHgwNCArMHgwMSwKICAoMHgzNDw8OCkgKzB4MjAgKzB4
MDEsCiAgKDB4MzU8PDgpICsweDIwICsweDA0ICsweDAxLAogICgweDM2PDw4KSArMHgyMCArMHgw
NCArMHgwMSwKICAoMHgzNzw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4Mzg8PDgpICsweDIwICsweDA4
ICsweDAxLAogICgweDM5PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHg0MDw8OCkg
KzB4MTAgKzB4MDEsCiAgKDB4NDE8PDgpICsweDEwICsweDA0ICsweDAxLAogICgweDQyPDw4KSAr
MHgxMCArMHgwNCArMHgwMSwKICAoMHg0Mzw8OCkgKzB4MTAgKzB4MDEsCiAgKDB4NDQ8PDgpICsw
eDEwICsweDA0ICsweDAxLAogICgweDQ1PDw4KSArMHgxMCArMHgwMSwKICAoMHg0MDw8OCkgKzB4
MDEsCiAgKDB4NDE8PDgpICsweDA0ICsweDAxLAogICgweDQyPDw4KSArMHgwNCArMHgwMSwKICAo
MHg0Mzw8OCkgKzB4MDEsCiAgKDB4NDQ8PDgpICsweDA0ICsweDAxLAogICgweDQ1PDw4KSArMHgw
MSwKICAoMHg0Njw8OCkgKzB4MDEsCiAgKDB4NDc8PDgpICsweDA0ICsweDAxLAogICgweDQ4PDw4
KSArMHgwOCArMHgwNCArMHgwMSwKICAoMHg0OTw8OCkgKzB4MDggKzB4MDEsCiAgKDB4NTA8PDgp
ICsweDEwICsweDA0ICsweDAxLAogICgweDUxPDw4KSArMHgxMCArMHgwMSwKICAoMHg1Mjw8OCkg
KzB4MTAgKzB4MDEsCiAgKDB4NTM8PDgpICsweDEwICsweDA0ICsweDAxLAogICgweDU0PDw4KSAr
MHgxMCArMHgwMSwKICAoMHg1NTw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4NTA8PDgpICsw
eDA0ICsweDAxLAogICgweDUxPDw4KSArMHgwMSwKICAoMHg1Mjw8OCkgKzB4MDEsCiAgKDB4NTM8
PDgpICsweDA0ICsweDAxLAogICgweDU0PDw4KSArMHgwMSwKICAoMHg1NTw8OCkgKzB4MDQgKzB4
MDEsCiAgKDB4NTY8PDgpICsweDA0ICsweDAxLAogICgweDU3PDw4KSArMHgwMSwKICAoMHg1ODw8
OCkgKzB4MDggKzB4MDEsCiAgKDB4NTk8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgweDYwPDw4
KSArMHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHg2MTw8OCkgKzB4MjAgKzB4MTAgKzB4MDEs
CiAgKDB4NjI8PDgpICsweDIwICsweDEwICsweDAxLAogICgweDYzPDw4KSArMHgyMCArMHgxMCAr
MHgwNCArMHgwMSwKICAoMHg2NDw8OCkgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4NjU8PDgpICsw
eDIwICsweDEwICsweDA0ICsweDAxLAogICgweDYwPDw4KSArMHgyMCArMHgwNCArMHgwMSwKICAo
MHg2MTw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4NjI8PDgpICsweDIwICsweDAxLAogICgweDYzPDw4
KSArMHgyMCArMHgwNCArMHgwMSwKICAoMHg2NDw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4NjU8PDgp
ICsweDIwICsweDA0ICsweDAxLAogICgweDY2PDw4KSArMHgyMCArMHgwNCArMHgwMSwKICAoMHg2
Nzw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4Njg8PDgpICsweDIwICsweDA4ICsweDAxLAogICgweDY5
PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHg3MDw8OCkgKzB4MjAgKzB4MTAgKzB4
MDEsCiAgKDB4NzE8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDcyPDw4KSArMHgy
MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHg3Mzw8OCkgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4
NzQ8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDc1PDw4KSArMHgyMCArMHgxMCAr
MHgwMSwKICAoMHg3MDw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4NzE8PDgpICsweDIwICsweDA0ICsw
eDAxLAogICgweDcyPDw4KSArMHgyMCArMHgwNCArMHgwMSwKICAoMHg3Mzw8OCkgKzB4MjAgKzB4
MDEsCiAgKDB4NzQ8PDgpICsweDIwICsweDA0ICsweDAxLAogICgweDc1PDw4KSArMHgyMCArMHgw
MSwKICAoMHg3Njw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4Nzc8PDgpICsweDIwICsweDA0ICsweDAx
LAogICgweDc4PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHg3OTw8OCkgKzB4MjAg
KzB4MDggKzB4MDEsCiAgKDB4ODA8PDgpKzB4ODAgKzB4MTAgKzB4MDEsCiAgKDB4ODE8PDgpKzB4
ODAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4ODI8PDgpKzB4ODAgKzB4MTAgKzB4MDQgKzB4MDEs
CiAgKDB4ODM8PDgpKzB4ODAgKzB4MTAgKzB4MDEsCiAgKDB4ODQ8PDgpKzB4ODAgKzB4MTAgKzB4
MDQgKzB4MDEsCiAgKDB4ODU8PDgpKzB4ODAgKzB4MTAgKzB4MDEsCiAgKDB4ODA8PDgpKzB4ODAg
KzB4MDEsCiAgKDB4ODE8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAgKDB4ODI8PDgpKzB4ODAgKzB4
MDQgKzB4MDEsCiAgKDB4ODM8PDgpKzB4ODAgKzB4MDEsCiAgKDB4ODQ8PDgpKzB4ODAgKzB4MDQg
KzB4MDEsCiAgKDB4ODU8PDgpKzB4ODAgKzB4MDEsCiAgKDB4ODY8PDgpKzB4ODAgKzB4MDEsCiAg
KDB4ODc8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAgKDB4ODg8PDgpKzB4ODAgKzB4MDggKzB4MDQg
KzB4MDEsCiAgKDB4ODk8PDgpKzB4ODAgKzB4MDggKzB4MDEsCiAgKDB4OTA8PDgpKzB4ODAgKzB4
MTAgKzB4MDQgKzB4MDEsCiAgKDB4OTE8PDgpKzB4ODAgKzB4MTAgKzB4MDEsCiAgKDB4OTI8PDgp
KzB4ODAgKzB4MTAgKzB4MDEsCiAgKDB4OTM8PDgpKzB4ODAgKzB4MTAgKzB4MDQgKzB4MDEsCiAg
KDB4OTQ8PDgpKzB4ODAgKzB4MTAgKzB4MDEsCiAgKDB4OTU8PDgpKzB4ODAgKzB4MTAgKzB4MDQg
KzB4MDEsCiAgKDB4OTA8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAgKDB4OTE8PDgpKzB4ODAgKzB4
MDEsCiAgKDB4OTI8PDgpKzB4ODAgKzB4MDEsCiAgKDB4OTM8PDgpKzB4ODAgKzB4MDQgKzB4MDEs
CiAgKDB4OTQ8PDgpKzB4ODAgKzB4MDEsCiAgKDB4OTU8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAg
KDB4OTY8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAgKDB4OTc8PDgpKzB4ODAgKzB4MDEsCiAgKDB4
OTg8PDgpKzB4ODAgKzB4MDggKzB4MDEsCiAgKDB4OTk8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4
MDEsCiAgKDB4QTA8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4QTE8PDgp
KzB4ODAgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4QTI8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4
MDEsCiAgKDB4QTM8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4QTQ8PDgp
KzB4ODAgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4QTU8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4
MDQgKzB4MDEsCiAgKDB4QTA8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4QTE8PDgp
KzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4QTI8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4QTM8
PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4QTQ8PDgpKzB4ODAgKzB4MjAgKzB4MDEs
CiAgKDB4QTU8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4QTY8PDgpKzB4ODAgKzB4
MjAgKzB4MDQgKzB4MDEsCiAgKDB4QTc8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4QTg8PDgp
KzB4ODAgKzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4QTk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4
MDQgKzB4MDEsCiAgKDB4QjA8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4QjE8PDgp
KzB4ODAgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4QjI8PDgpKzB4ODAgKzB4MjAgKzB4
MTAgKzB4MDQgKzB4MDEsCiAgKDB4QjM8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4
QjQ8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4QjU8PDgpKzB4ODAgKzB4
MjAgKzB4MTAgKzB4MDEsCiAgKDB4QjA8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4QjE8PDgp
KzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4QjI8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4
MDEsCiAgKDB4QjM8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4QjQ8PDgpKzB4ODAgKzB4MjAg
KzB4MDQgKzB4MDEsCiAgKDB4QjU8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4QjY8PDgpKzB4
ODAgKzB4MjAgKzB4MDEsCiAgKDB4Qjc8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4
Qjg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4Qjk8PDgpKzB4ODAgKzB4
MjAgKzB4MDggKzB4MDEsCiAgKDB4QzA8PDgpKzB4ODAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4
QzE8PDgpKzB4ODAgKzB4MTAgKzB4MDEsCiAgKDB4QzI8PDgpKzB4ODAgKzB4MTAgKzB4MDEsCiAg
KDB4QzM8PDgpKzB4ODAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4QzQ8PDgpKzB4ODAgKzB4MTAg
KzB4MDEsCiAgKDB4QzU8PDgpKzB4ODAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4QzA8PDgpKzB4
ODAgKzB4MDQgKzB4MDEsCiAgKDB4QzE8PDgpKzB4ODAgKzB4MDEsCiAgKDB4QzI8PDgpKzB4ODAg
KzB4MDEsCiAgKDB4QzM8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAgKDB4QzQ8PDgpKzB4ODAgKzB4
MDEsCiAgKDB4QzU8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAgKDB4QzY8PDgpKzB4ODAgKzB4MDQg
KzB4MDEsCiAgKDB4Qzc8PDgpKzB4ODAgKzB4MDEsCiAgKDB4Qzg8PDgpKzB4ODAgKzB4MDggKzB4
MDEsCiAgKDB4Qzk8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4RDA8PDgpKzB4ODAg
KzB4MTAgKzB4MDEsCiAgKDB4RDE8PDgpKzB4ODAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4RDI8
PDgpKzB4ODAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4RDM8PDgpKzB4ODAgKzB4MTAgKzB4MDEs
CiAgKDB4RDQ8PDgpKzB4ODAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4RDU8PDgpKzB4ODAgKzB4
MTAgKzB4MDEsCiAgKDB4RDA8PDgpKzB4ODAgKzB4MDEsCiAgKDB4RDE8PDgpKzB4ODAgKzB4MDQg
KzB4MDEsCiAgKDB4RDI8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAgKDB4RDM8PDgpKzB4ODAgKzB4
MDEsCiAgKDB4RDQ8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAgKDB4RDU8PDgpKzB4ODAgKzB4MDEs
CiAgKDB4RDY8PDgpKzB4ODAgKzB4MDEsCiAgKDB4RDc8PDgpKzB4ODAgKzB4MDQgKzB4MDEsCiAg
KDB4RDg8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4RDk8PDgpKzB4ODAgKzB4MDgg
KzB4MDEsCiAgKDB4RTA8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4RTE8PDgpKzB4
ODAgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4RTI8PDgpKzB4ODAgKzB4MjAgKzB4MTAg
KzB4MDQgKzB4MDEsCiAgKDB4RTM8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4RTQ8
PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4RTU8PDgpKzB4ODAgKzB4MjAg
KzB4MTAgKzB4MDEsCiAgKDB4RTA8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4RTE8PDgpKzB4
ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4RTI8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEs
CiAgKDB4RTM8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4RTQ8PDgpKzB4ODAgKzB4MjAgKzB4
MDQgKzB4MDEsCiAgKDB4RTU8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4RTY8PDgpKzB4ODAg
KzB4MjAgKzB4MDEsCiAgKDB4RTc8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4RTg8
PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4RTk8PDgpKzB4ODAgKzB4MjAg
KzB4MDggKzB4MDEsCiAgKDB4RjA8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAg
KDB4RjE8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4RjI8PDgpKzB4ODAgKzB4MjAg
KzB4MTAgKzB4MDEsCiAgKDB4RjM8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAg
KDB4RjQ8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4RjU8PDgpKzB4ODAgKzB4MjAg
KzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4RjA8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAg
KDB4RjE8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAgKDB4RjI8PDgpKzB4ODAgKzB4MjAgKzB4MDEs
CiAgKDB4RjM8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4RjQ8PDgpKzB4ODAgKzB4
MjAgKzB4MDEsCiAgKDB4RjU8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4RjY8PDgp
KzB4ODAgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4Rjc8PDgpKzB4ODAgKzB4MjAgKzB4MDEsCiAg
KDB4Rjg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4Rjk8PDgpKzB4ODAgKzB4MjAg
KzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4MDA8PDgpICsweDQwICsweDEwICsweDA0ICsweDAxLAog
ICgweDAxPDw4KSArMHgxMCArMHgwMSwKICAoMHgwMjw8OCkgKzB4MTAgKzB4MDEsCiAgKDB4MDM8
PDgpICsweDEwICsweDA0ICsweDAxLAogICgweDA0PDw4KSArMHgxMCArMHgwMSwKICAoMHgwNTw8
OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MDA8PDgpICsweDQwICsweDA0ICsweDAxLAogICgw
eDAxPDw4KSArMHgwMSwKICAoMHgwMjw8OCkgKzB4MDEsCiAgKDB4MDM8PDgpICsweDA0ICsweDAx
LAogICgweDA0PDw4KSArMHgwMSwKICAoMHgwNTw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4MDY8PDgp
ICsweDA0ICsweDAxLAogICgweDA3PDw4KSArMHgwMSwKICAoMHgwODw8OCkgKzB4MDggKzB4MDEs
CiAgKDB4MDk8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgweDEwPDw4KSArMHgxMCArMHgwMSwK
ICAoMHgxMTw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MTI8PDgpICsweDEwICsweDA0ICsw
eDAxLAogICgweDEzPDw4KSArMHgxMCArMHgwMSwKICAoMHgxNDw8OCkgKzB4MTAgKzB4MDQgKzB4
MDEsCiAgKDB4MTU8PDgpICsweDEwICsweDAxLAogICgweDEwPDw4KSArMHgwMSwKICAoMHgxMTw8
OCkgKzB4MDQgKzB4MDEsCiAgKDB4MTI8PDgpICsweDA0ICsweDAxLAogICgweDEzPDw4KSArMHgw
MSwKICAoMHgxNDw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4MTU8PDgpICsweDAxLAogICgweDE2PDw4
KSArMHgwMSwKICAoMHgxNzw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4MTg8PDgpICsweDA4ICsweDA0
ICsweDAxLAogICgweDE5PDw4KSArMHgwOCArMHgwMSwKICAoMHgyMDw8OCkgKzB4MjAgKzB4MTAg
KzB4MDEsCiAgKDB4MjE8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDIyPDw4KSAr
MHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHgyMzw8OCkgKzB4MjAgKzB4MTAgKzB4MDEsCiAg
KDB4MjQ8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDI1PDw4KSArMHgyMCArMHgx
MCArMHgwMSwKICAoMHgyMDw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4MjE8PDgpICsweDIwICsweDA0
ICsweDAxLAogICgweDIyPDw4KSArMHgyMCArMHgwNCArMHgwMSwKICAoMHgyMzw8OCkgKzB4MjAg
KzB4MDEsCiAgKDB4MjQ8PDgpICsweDIwICsweDA0ICsweDAxLAogICgweDI1PDw4KSArMHgyMCAr
MHgwMSwKICAoMHgyNjw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4Mjc8PDgpICsweDIwICsweDA0ICsw
eDAxLAogICgweDI4PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHgyOTw8OCkgKzB4
MjAgKzB4MDggKzB4MDEsCiAgKDB4MzA8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgw
eDMxPDw4KSArMHgyMCArMHgxMCArMHgwMSwKICAoMHgzMjw8OCkgKzB4MjAgKzB4MTAgKzB4MDEs
CiAgKDB4MzM8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDM0PDw4KSArMHgyMCAr
MHgxMCArMHgwMSwKICAoMHgzNTw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MzA8
PDgpICsweDIwICsweDA0ICsweDAxLAogICgweDMxPDw4KSArMHgyMCArMHgwMSwKICAoMHgzMjw8
OCkgKzB4MjAgKzB4MDEsCiAgKDB4MzM8PDgpICsweDIwICsweDA0ICsweDAxLAogICgweDM0PDw4
KSArMHgyMCArMHgwMSwKICAoMHgzNTw8OCkgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4MzY8PDgp
ICsweDIwICsweDA0ICsweDAxLAogICgweDM3PDw4KSArMHgyMCArMHgwMSwKICAoMHgzODw8OCkg
KzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4Mzk8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAog
ICgweDQwPDw4KSArMHgxMCArMHgwMSwKICAoMHg0MTw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAg
KDB4NDI8PDgpICsweDEwICsweDA0ICsweDAxLAogICgweDQzPDw4KSArMHgxMCArMHgwMSwKICAo
MHg0NDw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4NDU8PDgpICsweDEwICsweDAxLAogICgw
eDQwPDw4KSArMHgwMSwKICAoMHg0MTw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4NDI8PDgpICsweDA0
ICsweDAxLAogICgweDQzPDw4KSArMHgwMSwKICAoMHg0NDw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4
NDU8PDgpICsweDAxLAogICgweDQ2PDw4KSArMHgwMSwKICAoMHg0Nzw8OCkgKzB4MDQgKzB4MDEs
CiAgKDB4NDg8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgweDQ5PDw4KSArMHgwOCArMHgwMSwK
ICAoMHg1MDw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4NTE8PDgpICsweDEwICsweDAxLAog
ICgweDUyPDw4KSArMHgxMCArMHgwMSwKICAoMHg1Mzw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAg
KDB4NTQ8PDgpICsweDEwICsweDAxLAogICgweDU1PDw4KSArMHgxMCArMHgwNCArMHgwMSwKICAo
MHg1MDw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4NTE8PDgpICsweDAxLAogICgweDUyPDw4KSArMHgw
MSwKICAoMHg1Mzw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4NTQ8PDgpICsweDAxLAogICgweDU1PDw4
KSArMHgwNCArMHgwMSwKICAoMHg1Njw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4NTc8PDgpICsweDAx
LAogICgweDU4PDw4KSArMHgwOCArMHgwMSwKICAoMHg1OTw8OCkgKzB4MDggKzB4MDQgKzB4MDEs
CiAgKDB4NjA8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDYxPDw4KSArMHgyMCAr
MHgxMCArMHgwMSwKICAoMHg2Mjw8OCkgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4NjM8PDgpICsw
eDIwICsweDEwICsweDA0ICsweDAxLAogICgweDY0PDw4KSArMHgyMCArMHgxMCArMHgwMSwKICAo
MHg2NTw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MDY8PDgpICsweDA0ICwKICAo
MHgwNzw8OCkgLAogICgweDA4PDw4KSArMHgwOCAsCiAgKDB4MDk8PDgpICsweDA4ICsweDA0ICwK
ICAoMHgwQTw8OCkgKzB4MDggKzB4MDQgLAogICgweDBCPDw4KSArMHgwOCAsCiAgKDB4MEM8PDgp
ICsweDA4ICsweDA0ICwKICAoMHgwRDw8OCkgKzB4MDggLAogICgweDBFPDw4KSArMHgwOCAsCiAg
KDB4MEY8PDgpICsweDA4ICsweDA0ICwKICAoMHgxMDw8OCkgKzB4MTAgLAogICgweDExPDw4KSAr
MHgxMCArMHgwNCAsCiAgKDB4MTI8PDgpICsweDEwICsweDA0ICwKICAoMHgxMzw8OCkgKzB4MTAg
LAogICgweDE0PDw4KSArMHgxMCArMHgwNCAsCiAgKDB4MTU8PDgpICsweDEwICwKICAoMHgxNjw8
OCkgLAogICgweDE3PDw4KSArMHgwNCAsCiAgKDB4MTg8PDgpICsweDA4ICsweDA0ICwKICAoMHgx
OTw8OCkgKzB4MDggLAogICgweDFBPDw4KSArMHgwOCAsCiAgKDB4MUI8PDgpICsweDA4ICsweDA0
ICwKICAoMHgxQzw8OCkgKzB4MDggLAogICgweDFEPDw4KSArMHgwOCArMHgwNCAsCiAgKDB4MUU8
PDgpICsweDA4ICsweDA0ICwKICAoMHgxRjw8OCkgKzB4MDggLAogICgweDIwPDw4KSArMHgyMCAr
MHgxMCAsCiAgKDB4MjE8PDgpICsweDIwICsweDEwICsweDA0ICwKICAoMHgyMjw8OCkgKzB4MjAg
KzB4MTAgKzB4MDQgLAogICgweDIzPDw4KSArMHgyMCArMHgxMCAsCiAgKDB4MjQ8PDgpICsweDIw
ICsweDEwICsweDA0ICwKICAoMHgyNTw8OCkgKzB4MjAgKzB4MTAgLAogICgweDI2PDw4KSArMHgy
MCAsCiAgKDB4Mjc8PDgpICsweDIwICsweDA0ICwKICAoMHgyODw8OCkgKzB4MjAgKzB4MDggKzB4
MDQgLAogICgweDI5PDw4KSArMHgyMCArMHgwOCAsCiAgKDB4MkE8PDgpICsweDIwICsweDA4ICwK
ICAoMHgyQjw8OCkgKzB4MjAgKzB4MDggKzB4MDQgLAogICgweDJDPDw4KSArMHgyMCArMHgwOCAs
CiAgKDB4MkQ8PDgpICsweDIwICsweDA4ICsweDA0ICwKICAoMHgyRTw8OCkgKzB4MjAgKzB4MDgg
KzB4MDQgLAogICgweDJGPDw4KSArMHgyMCArMHgwOCAsCiAgKDB4MzA8PDgpICsweDIwICsweDEw
ICsweDA0ICwKICAoMHgzMTw8OCkgKzB4MjAgKzB4MTAgLAogICgweDMyPDw4KSArMHgyMCArMHgx
MCAsCiAgKDB4MzM8PDgpICsweDIwICsweDEwICsweDA0ICwKICAoMHgzNDw8OCkgKzB4MjAgKzB4
MTAgLAogICgweDM1PDw4KSArMHgyMCArMHgxMCArMHgwNCAsCiAgKDB4MzY8PDgpICsweDIwICsw
eDA0ICwKICAoMHgzNzw8OCkgKzB4MjAgLAogICgweDM4PDw4KSArMHgyMCArMHgwOCAsCiAgKDB4
Mzk8PDgpICsweDIwICsweDA4ICsweDA0ICwKICAoMHgzQTw8OCkgKzB4MjAgKzB4MDggKzB4MDQg
LAogICgweDNCPDw4KSArMHgyMCArMHgwOCAsCiAgKDB4M0M8PDgpICsweDIwICsweDA4ICsweDA0
ICwKICAoMHgzRDw8OCkgKzB4MjAgKzB4MDggLAogICgweDNFPDw4KSArMHgyMCArMHgwOCAsCiAg
KDB4M0Y8PDgpICsweDIwICsweDA4ICsweDA0ICwKICAoMHg0MDw8OCkgKzB4MTAgLAogICgweDQx
PDw4KSArMHgxMCArMHgwNCAsCiAgKDB4NDI8PDgpICsweDEwICsweDA0ICwKICAoMHg0Mzw8OCkg
KzB4MTAgLAogICgweDQ0PDw4KSArMHgxMCArMHgwNCAsCiAgKDB4NDU8PDgpICsweDEwICwKICAo
MHg0Njw8OCkgLAogICgweDQ3PDw4KSArMHgwNCAsCiAgKDB4NDg8PDgpICsweDA4ICsweDA0ICwK
ICAoMHg0OTw8OCkgKzB4MDggLAogICgweDRBPDw4KSArMHgwOCAsCiAgKDB4NEI8PDgpICsweDA4
ICsweDA0ICwKICAoMHg0Qzw8OCkgKzB4MDggLAogICgweDREPDw4KSArMHgwOCArMHgwNCAsCiAg
KDB4NEU8PDgpICsweDA4ICsweDA0ICwKICAoMHg0Rjw8OCkgKzB4MDggLAogICgweDUwPDw4KSAr
MHgxMCArMHgwNCAsCiAgKDB4NTE8PDgpICsweDEwICwKICAoMHg1Mjw8OCkgKzB4MTAgLAogICgw
eDUzPDw4KSArMHgxMCArMHgwNCAsCiAgKDB4NTQ8PDgpICsweDEwICwKICAoMHg1NTw8OCkgKzB4
MTAgKzB4MDQgLAogICgweDU2PDw4KSArMHgwNCAsCiAgKDB4NTc8PDgpICwKICAoMHg1ODw8OCkg
KzB4MDggLAogICgweDU5PDw4KSArMHgwOCArMHgwNCAsCiAgKDB4NUE8PDgpICsweDA4ICsweDA0
ICwKICAoMHg1Qjw8OCkgKzB4MDggLAogICgweDVDPDw4KSArMHgwOCArMHgwNCAsCiAgKDB4NUQ8
PDgpICsweDA4ICwKICAoMHg1RTw8OCkgKzB4MDggLAogICgweDVGPDw4KSArMHgwOCArMHgwNCAs
CiAgKDB4NjA8PDgpICsweDIwICsweDEwICsweDA0ICwKICAoMHg2MTw8OCkgKzB4MjAgKzB4MTAg
LAogICgweDYyPDw4KSArMHgyMCArMHgxMCAsCiAgKDB4NjM8PDgpICsweDIwICsweDEwICsweDA0
ICwKICAoMHg2NDw8OCkgKzB4MjAgKzB4MTAgLAogICgweDY1PDw4KSArMHgyMCArMHgxMCArMHgw
NCAsCiAgKDB4NjY8PDgpICsweDIwICsweDA0ICwKICAoMHg2Nzw8OCkgKzB4MjAgLAogICgweDY4
PDw4KSArMHgyMCArMHgwOCAsCiAgKDB4Njk8PDgpICsweDIwICsweDA4ICsweDA0ICwKICAoMHg2
QTw8OCkgKzB4MjAgKzB4MDggKzB4MDQgLAogICgweDZCPDw4KSArMHgyMCArMHgwOCAsCiAgKDB4
NkM8PDgpICsweDIwICsweDA4ICsweDA0ICwKICAoMHg2RDw8OCkgKzB4MjAgKzB4MDggLAogICgw
eDZFPDw4KSArMHgyMCArMHgwOCAsCiAgKDB4NkY8PDgpICsweDIwICsweDA4ICsweDA0ICwKICAo
MHg3MDw8OCkgKzB4MjAgKzB4MTAgLAogICgweDcxPDw4KSArMHgyMCArMHgxMCArMHgwNCAsCiAg
KDB4NzI8PDgpICsweDIwICsweDEwICsweDA0ICwKICAoMHg3Mzw8OCkgKzB4MjAgKzB4MTAgLAog
ICgweDc0PDw4KSArMHgyMCArMHgxMCArMHgwNCAsCiAgKDB4NzU8PDgpICsweDIwICsweDEwICwK
ICAoMHg3Njw8OCkgKzB4MjAgLAogICgweDc3PDw4KSArMHgyMCArMHgwNCAsCiAgKDB4Nzg8PDgp
ICsweDIwICsweDA4ICsweDA0ICwKICAoMHg3OTw8OCkgKzB4MjAgKzB4MDggLAogICgweDdBPDw4
KSArMHgyMCArMHgwOCAsCiAgKDB4N0I8PDgpICsweDIwICsweDA4ICsweDA0ICwKICAoMHg3Qzw8
OCkgKzB4MjAgKzB4MDggLAogICgweDdEPDw4KSArMHgyMCArMHgwOCArMHgwNCAsCiAgKDB4N0U8
PDgpICsweDIwICsweDA4ICsweDA0ICwKICAoMHg3Rjw8OCkgKzB4MjAgKzB4MDggLAogICgweDgw
PDw4KSsweDgwICsweDEwICwKICAoMHg4MTw8OCkrMHg4MCArMHgxMCArMHgwNCAsCiAgKDB4ODI8
PDgpKzB4ODAgKzB4MTAgKzB4MDQgLAogICgweDgzPDw4KSsweDgwICsweDEwICwKICAoMHg4NDw8
OCkrMHg4MCArMHgxMCArMHgwNCAsCiAgKDB4ODU8PDgpKzB4ODAgKzB4MTAgLAogICgweDg2PDw4
KSsweDgwICwKICAoMHg4Nzw8OCkrMHg4MCArMHgwNCAsCiAgKDB4ODg8PDgpKzB4ODAgKzB4MDgg
KzB4MDQgLAogICgweDg5PDw4KSsweDgwICsweDA4ICwKICAoMHg4QTw8OCkrMHg4MCArMHgwOCAs
CiAgKDB4OEI8PDgpKzB4ODAgKzB4MDggKzB4MDQgLAogICgweDhDPDw4KSsweDgwICsweDA4ICwK
ICAoMHg4RDw8OCkrMHg4MCArMHgwOCArMHgwNCAsCiAgKDB4OEU8PDgpKzB4ODAgKzB4MDggKzB4
MDQgLAogICgweDhGPDw4KSsweDgwICsweDA4ICwKICAoMHg5MDw8OCkrMHg4MCArMHgxMCArMHgw
NCAsCiAgKDB4OTE8PDgpKzB4ODAgKzB4MTAgLAogICgweDkyPDw4KSsweDgwICsweDEwICwKICAo
MHg5Mzw8OCkrMHg4MCArMHgxMCArMHgwNCAsCiAgKDB4OTQ8PDgpKzB4ODAgKzB4MTAgLAogICgw
eDk1PDw4KSsweDgwICsweDEwICsweDA0ICwKICAoMHg5Njw8OCkrMHg4MCArMHgwNCAsCiAgKDB4
OTc8PDgpKzB4ODAgLAogICgweDk4PDw4KSsweDgwICsweDA4ICwKICAoMHg5OTw8OCkrMHg4MCAr
MHgwOCArMHgwNCAsCiAgKDB4OUE8PDgpKzB4ODAgKzB4MDggKzB4MDQgLAogICgweDlCPDw4KSsw
eDgwICsweDA4ICwKICAoMHg5Qzw8OCkrMHg4MCArMHgwOCArMHgwNCAsCiAgKDB4OUQ8PDgpKzB4
ODAgKzB4MDggLAogICgweDlFPDw4KSsweDgwICsweDA4ICwKICAoMHg5Rjw8OCkrMHg4MCArMHgw
OCArMHgwNCAsCiAgKDB4MDA8PDgpICsweDQwICsweDEwICsweDA0ICsweDAxLAogICgweDAxPDw4
KSArMHgxMCArMHgwMSwKICAoMHgwMjw8OCkgKzB4MTAgKzB4MDEsCiAgKDB4MDM8PDgpICsweDEw
ICsweDA0ICsweDAxLAogICgweDA0PDw4KSArMHgxMCArMHgwMSwKICAoMHgwNTw8OCkgKzB4MTAg
KzB4MDQgKzB4MDEsCiAgKDB4MDY8PDgpICsweDA0ICsweDAxLAogICgweDA3PDw4KSArMHgwMSwK
ICAoMHgwODw8OCkgKzB4MDggKzB4MDEsCiAgKDB4MDk8PDgpICsweDA4ICsweDA0ICsweDAxLAog
ICgweDBBPDw4KSArMHgwOCArMHgwNCArMHgwMSwKICAoMHgwQjw8OCkgKzB4MDggKzB4MDEsCiAg
KDB4MEM8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgweDBEPDw4KSArMHgwOCArMHgwMSwKICAo
MHgwRTw8OCkgKzB4MDggKzB4MDEsCiAgKDB4MEY8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgw
eDEwPDw4KSArMHgxMCArMHgwMSwKICAoMHgxMTw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4
MTI8PDgpICsweDEwICsweDA0ICsweDAxLAogICgweDEzPDw4KSArMHgxMCArMHgwMSwKICAoMHgx
NDw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MTU8PDgpICsweDEwICsweDAxLAogICgweDE2
PDw4KSArMHgwMSwKICAoMHgxNzw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4MTg8PDgpICsweDA4ICsw
eDA0ICsweDAxLAogICgweDE5PDw4KSArMHgwOCArMHgwMSwKICAoMHgxQTw8OCkgKzB4MDggKzB4
MDEsCiAgKDB4MUI8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgweDFDPDw4KSArMHgwOCArMHgw
MSwKICAoMHgxRDw8OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4MUU8PDgpICsweDA4ICsweDA0
ICsweDAxLAogICgweDFGPDw4KSArMHgwOCArMHgwMSwKICAoMHgyMDw8OCkgKzB4MjAgKzB4MTAg
KzB4MDEsCiAgKDB4MjE8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDIyPDw4KSAr
MHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHgyMzw8OCkgKzB4MjAgKzB4MTAgKzB4MDEsCiAg
KDB4MjQ8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDI1PDw4KSArMHgyMCArMHgx
MCArMHgwMSwKICAoMHgyNjw8OCkgKzB4MjAgKzB4MDEsCiAgKDB4Mjc8PDgpICsweDIwICsweDA0
ICsweDAxLAogICgweDI4PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHgyOTw8OCkg
KzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4MkE8PDgpICsweDIwICsweDA4ICsweDAxLAogICgweDJC
PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHgyQzw8OCkgKzB4MjAgKzB4MDggKzB4
MDEsCiAgKDB4MkQ8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDJFPDw4KSArMHgy
MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHgyRjw8OCkgKzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4
MzA8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDMxPDw4KSArMHgyMCArMHgxMCAr
MHgwMSwKICAoMHgzMjw8OCkgKzB4MjAgKzB4MTAgKzB4MDEsCiAgKDB4MzM8PDgpICsweDIwICsw
eDEwICsweDA0ICsweDAxLAogICgweDM0PDw4KSArMHgyMCArMHgxMCArMHgwMSwKICAoMHgzNTw8
OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MzY8PDgpICsweDIwICsweDA0ICsweDAx
LAogICgweDM3PDw4KSArMHgyMCArMHgwMSwKICAoMHgzODw8OCkgKzB4MjAgKzB4MDggKzB4MDEs
CiAgKDB4Mzk8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDNBPDw4KSArMHgyMCAr
MHgwOCArMHgwNCArMHgwMSwKICAoMHgzQjw8OCkgKzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4M0M8
PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDNEPDw4KSArMHgyMCArMHgwOCArMHgw
MSwKICAoMHgzRTw8OCkgKzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4M0Y8PDgpICsweDIwICsweDA4
ICsweDA0ICsweDAxLAogICgweDQwPDw4KSArMHgxMCArMHgwMSwKICAoMHg0MTw8OCkgKzB4MTAg
KzB4MDQgKzB4MDEsCiAgKDB4NDI8PDgpICsweDEwICsweDA0ICsweDAxLAogICgweDQzPDw4KSAr
MHgxMCArMHgwMSwKICAoMHg0NDw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4NDU8PDgpICsw
eDEwICsweDAxLAogICgweDQ2PDw4KSArMHgwMSwKICAoMHg0Nzw8OCkgKzB4MDQgKzB4MDEsCiAg
KDB4NDg8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgweDQ5PDw4KSArMHgwOCArMHgwMSwKICAo
MHg0QTw8OCkgKzB4MDggKzB4MDEsCiAgKDB4NEI8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgw
eDRDPDw4KSArMHgwOCArMHgwMSwKICAoMHg0RDw8OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4
NEU8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgweDRGPDw4KSArMHgwOCArMHgwMSwKICAoMHg1
MDw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4NTE8PDgpICsweDEwICsweDAxLAogICgweDUy
PDw4KSArMHgxMCArMHgwMSwKICAoMHg1Mzw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4NTQ8
PDgpICsweDEwICsweDAxLAogICgweDU1PDw4KSArMHgxMCArMHgwNCArMHgwMSwKICAoMHg1Njw8
OCkgKzB4MDQgKzB4MDEsCiAgKDB4NTc8PDgpICsweDAxLAogICgweDU4PDw4KSArMHgwOCArMHgw
MSwKICAoMHg1OTw8OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4NUE8PDgpICsweDA4ICsweDA0
ICsweDAxLAogICgweDVCPDw4KSArMHgwOCArMHgwMSwKICAoMHg1Qzw8OCkgKzB4MDggKzB4MDQg
KzB4MDEsCiAgKDB4NUQ8PDgpICsweDA4ICsweDAxLAogICgweDVFPDw4KSArMHgwOCArMHgwMSwK
ICAoMHg1Rjw8OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4NjA8PDgpICsweDIwICsweDEwICsw
eDA0ICsweDAxLAogICgweDYxPDw4KSArMHgyMCArMHgxMCArMHgwMSwKICAoMHg2Mjw8OCkgKzB4
MjAgKzB4MTAgKzB4MDEsCiAgKDB4NjM8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgw
eDY0PDw4KSArMHgyMCArMHgxMCArMHgwMSwKICAoMHg2NTw8OCkgKzB4MjAgKzB4MTAgKzB4MDQg
KzB4MDEsCiAgKDB4NjY8PDgpICsweDIwICsweDA0ICsweDAxLAogICgweDY3PDw4KSArMHgyMCAr
MHgwMSwKICAoMHg2ODw8OCkgKzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4Njk8PDgpICsweDIwICsw
eDA4ICsweDA0ICsweDAxLAogICgweDZBPDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAo
MHg2Qjw8OCkgKzB4MjAgKzB4MDggKzB4MDEsCiAgKDB4NkM8PDgpICsweDIwICsweDA4ICsweDA0
ICsweDAxLAogICgweDZEPDw4KSArMHgyMCArMHgwOCArMHgwMSwKICAoMHg2RTw8OCkgKzB4MjAg
KzB4MDggKzB4MDEsCiAgKDB4NkY8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDcw
PDw4KSArMHgyMCArMHgxMCArMHgwMSwKICAoMHg3MTw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4
MDEsCiAgKDB4NzI8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDczPDw4KSArMHgy
MCArMHgxMCArMHgwMSwKICAoMHg3NDw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4
NzU8PDgpICsweDIwICsweDEwICsweDAxLAogICgweDc2PDw4KSArMHgyMCArMHgwMSwKICAoMHg3
Nzw8OCkgKzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4Nzg8PDgpICsweDIwICsweDA4ICsweDA0ICsw
eDAxLAogICgweDc5PDw4KSArMHgyMCArMHgwOCArMHgwMSwKICAoMHg3QTw8OCkgKzB4MjAgKzB4
MDggKzB4MDEsCiAgKDB4N0I8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDdDPDw4
KSArMHgyMCArMHgwOCArMHgwMSwKICAoMHg3RDw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDEs
CiAgKDB4N0U8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDdGPDw4KSArMHgyMCAr
MHgwOCArMHgwMSwKICAoMHg4MDw8OCkrMHg4MCArMHgxMCArMHgwMSwKICAoMHg4MTw8OCkrMHg4
MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHg4Mjw8OCkrMHg4MCArMHgxMCArMHgwNCArMHgwMSwK
ICAoMHg4Mzw8OCkrMHg4MCArMHgxMCArMHgwMSwKICAoMHg4NDw8OCkrMHg4MCArMHgxMCArMHgw
NCArMHgwMSwKICAoMHg4NTw8OCkrMHg4MCArMHgxMCArMHgwMSwKICAoMHg4Njw8OCkrMHg4MCAr
MHgwMSwKICAoMHg4Nzw8OCkrMHg4MCArMHgwNCArMHgwMSwKICAoMHg4ODw8OCkrMHg4MCArMHgw
OCArMHgwNCArMHgwMSwKICAoMHg4OTw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAoMHg4QTw8OCkr
MHg4MCArMHgwOCArMHgwMSwKICAoMHg4Qjw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAo
MHg4Qzw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAoMHg4RDw8OCkrMHg4MCArMHgwOCArMHgwNCAr
MHgwMSwKICAoMHg4RTw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHg4Rjw8OCkrMHg4
MCArMHgwOCArMHgwMSwKICAoMHg5MDw8OCkrMHg4MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHg5
MTw8OCkrMHg4MCArMHgxMCArMHgwMSwKICAoMHg5Mjw8OCkrMHg4MCArMHgxMCArMHgwMSwKICAo
MHg5Mzw8OCkrMHg4MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHg5NDw8OCkrMHg4MCArMHgxMCAr
MHgwMSwKICAoMHg5NTw8OCkrMHg4MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHg5Njw8OCkrMHg4
MCArMHgwNCArMHgwMSwKICAoMHg5Nzw8OCkrMHg4MCArMHgwMSwKICAoMHg5ODw8OCkrMHg4MCAr
MHgwOCArMHgwMSwKICAoMHg5OTw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHg5QTw8
OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHg5Qjw8OCkrMHg4MCArMHgwOCArMHgwMSwK
ICAoMHg5Qzw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHg5RDw8OCkrMHg4MCArMHgw
OCArMHgwMSwKICAoMHg5RTw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAoMHg5Rjw8OCkrMHg4MCAr
MHgwOCArMHgwNCArMHgwMSwKICAoMHhBMDw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwNCArMHgw
MSwKICAoMHhBMTw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwKICAoMHhBMjw8OCkrMHg4MCAr
MHgyMCArMHgxMCArMHgwMSwKICAoMHhBMzw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwNCArMHgw
MSwKICAoMHhBNDw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwKICAoMHhBNTw8OCkrMHg4MCAr
MHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhBNjw8OCkrMHg4MCArMHgyMCArMHgwNCArMHgw
MSwKICAoMHhBNzw8OCkrMHg4MCArMHgyMCArMHgwMSwKICAoMHhBODw8OCkrMHg4MCArMHgyMCAr
MHgwOCArMHgwMSwKICAoMHhBOTw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAo
MHhBQTw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhBQjw8OCkrMHg4MCAr
MHgyMCArMHgwOCArMHgwMSwKICAoMHhBQzw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgw
MSwKICAoMHhBRDw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhBRTw8OCkrMHg4MCAr
MHgyMCArMHgwOCArMHgwMSwKICAoMHhBRjw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgw
MSwKICAoMHhCMDw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwKICAoMHhCMTw8OCkrMHg4MCAr
MHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhCMjw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgw
NCArMHgwMSwKICAoMHhCMzw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwKICAoMHhCNDw8OCkr
MHg4MCArMHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhCNTw8OCkrMHg4MCArMHgyMCArMHgx
MCArMHgwMSwKICAoMHhCNjw8OCkrMHg4MCArMHgyMCArMHgwMSwKICAoMHhCNzw8OCkrMHg4MCAr
MHgyMCArMHgwNCArMHgwMSwKICAoMHhCODw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgw
MSwKICAoMHhCOTw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhCQTw8OCkrMHg4MCAr
MHgyMCArMHgwOCArMHgwMSwKICAoMHhCQjw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgw
MSwKICAoMHhCQzw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhCRDw8OCkrMHg4MCAr
MHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhCRTw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgw
NCArMHgwMSwKICAoMHhCRjw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhDMDw8OCkr
MHg4MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhDMTw8OCkrMHg4MCArMHgxMCArMHgwMSwKICAo
MHhDMjw8OCkrMHg4MCArMHgxMCArMHgwMSwKICAoMHhDMzw8OCkrMHg4MCArMHgxMCArMHgwNCAr
MHgwMSwKICAoMHhDNDw8OCkrMHg4MCArMHgxMCArMHgwMSwKICAoMHhDNTw8OCkrMHg4MCArMHgx
MCArMHgwNCArMHgwMSwKICAoMHhDNjw8OCkrMHg4MCArMHgwNCArMHgwMSwKICAoMHhDNzw8OCkr
MHg4MCArMHgwMSwKICAoMHhDODw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAoMHhDOTw8OCkrMHg4
MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhDQTw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwK
ICAoMHhDQjw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAoMHhDQzw8OCkrMHg4MCArMHgwOCArMHgw
NCArMHgwMSwKICAoMHhDRDw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAoMHhDRTw8OCkrMHg4MCAr
MHgwOCArMHgwMSwKICAoMHhDRjw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhEMDw8
OCkrMHg4MCArMHgxMCArMHgwMSwKICAoMHhEMTw8OCkrMHg4MCArMHgxMCArMHgwNCArMHgwMSwK
ICAoMHhEMjw8OCkrMHg4MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhEMzw8OCkrMHg4MCArMHgx
MCArMHgwMSwKICAoMHhENDw8OCkrMHg4MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhENTw8OCkr
MHg4MCArMHgxMCArMHgwMSwKICAoMHhENjw8OCkrMHg4MCArMHgwMSwKICAoMHhENzw8OCkrMHg4
MCArMHgwNCArMHgwMSwKICAoMHhEODw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhE
OTw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAoMHhEQTw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAo
MHhEQjw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhEQzw8OCkrMHg4MCArMHgwOCAr
MHgwMSwKICAoMHhERDw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhERTw8OCkrMHg4
MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhERjw8OCkrMHg4MCArMHgwOCArMHgwMSwKICAoMHhF
MDw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwKICAoMHhFMTw8OCkrMHg4MCArMHgyMCArMHgx
MCArMHgwNCArMHgwMSwKICAoMHhFMjw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwNCArMHgwMSwK
ICAoMHhFMzw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwKICAoMHhFNDw8OCkrMHg4MCArMHgy
MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhFNTw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwK
ICAoMHhFNjw8OCkrMHg4MCArMHgyMCArMHgwMSwKICAoMHhFNzw8OCkrMHg4MCArMHgyMCArMHgw
NCArMHgwMSwKICAoMHhFODw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhF
OTw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhFQTw8OCkrMHg4MCArMHgyMCArMHgw
OCArMHgwMSwKICAoMHhFQjw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhF
Qzw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhFRDw8OCkrMHg4MCArMHgyMCArMHgw
OCArMHgwNCArMHgwMSwKICAoMHhFRTw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgwMSwK
ICAoMHhFRjw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhGMDw8OCkrMHg4MCArMHgy
MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhGMTw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwK
ICAoMHhGMjw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwKICAoMHhGMzw8OCkrMHg4MCArMHgy
MCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhGNDw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwMSwK
ICAoMHhGNTw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHhGNjw8OCkrMHg4
MCArMHgyMCArMHgwNCArMHgwMSwKICAoMHhGNzw8OCkrMHg4MCArMHgyMCArMHgwMSwKICAoMHhG
ODw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhGOTw8OCkrMHg4MCArMHgyMCArMHgw
OCArMHgwNCArMHgwMSwKICAoMHhGQTw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwNCArMHgwMSwK
ICAoMHhGQjw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhGQzw8OCkrMHg4MCArMHgy
MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHhGRDw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwK
ICAoMHhGRTw8OCkrMHg4MCArMHgyMCArMHgwOCArMHgwMSwKICAoMHhGRjw8OCkrMHg4MCArMHgy
MCArMHgwOCArMHgwNCArMHgwMSwKICAoMHgwMDw8OCkgKzB4NDAgKzB4MTAgKzB4MDQgKzB4MDEs
CiAgKDB4MDE8PDgpICsweDEwICsweDAxLAogICgweDAyPDw4KSArMHgxMCArMHgwMSwKICAoMHgw
Mzw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MDQ8PDgpICsweDEwICsweDAxLAogICgweDA1
PDw4KSArMHgxMCArMHgwNCArMHgwMSwKICAoMHgwNjw8OCkgKzB4MDQgKzB4MDEsCiAgKDB4MDc8
PDgpICsweDAxLAogICgweDA4PDw4KSArMHgwOCArMHgwMSwKICAoMHgwOTw8OCkgKzB4MDggKzB4
MDQgKzB4MDEsCiAgKDB4MEE8PDgpICsweDA4ICsweDA0ICsweDAxLAogICgweDBCPDw4KSArMHgw
OCArMHgwMSwKICAoMHgwQzw8OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4MEQ8PDgpICsweDA4
ICsweDAxLAogICgweDBFPDw4KSArMHgwOCArMHgwMSwKICAoMHgwRjw8OCkgKzB4MDggKzB4MDQg
KzB4MDEsCiAgKDB4MTA8PDgpICsweDEwICsweDAxLAogICgweDExPDw4KSArMHgxMCArMHgwNCAr
MHgwMSwKICAoMHgxMjw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MTM8PDgpICsweDEwICsw
eDAxLAogICgweDE0PDw4KSArMHgxMCArMHgwNCArMHgwMSwKICAoMHgxNTw8OCkgKzB4MTAgKzB4
MDEsCiAgKDB4MTY8PDgpICsweDAxLAogICgweDE3PDw4KSArMHgwNCArMHgwMSwKICAoMHgxODw8
OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4MTk8PDgpICsweDA4ICsweDAxLAogICgweDFBPDw4
KSArMHgwOCArMHgwMSwKICAoMHgxQjw8OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4MUM8PDgp
ICsweDA4ICsweDAxLAogICgweDFEPDw4KSArMHgwOCArMHgwNCArMHgwMSwKICAoMHgxRTw8OCkg
KzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4MUY8PDgpICsweDA4ICsweDAxLAogICgweDIwPDw4KSAr
MHgyMCArMHgxMCArMHgwMSwKICAoMHgyMTw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAg
KDB4MjI8PDgpICsweDIwICsweDEwICsweDA0ICsweDAxLAogICgweDIzPDw4KSArMHgyMCArMHgx
MCArMHgwMSwKICAoMHgyNDw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MjU8PDgp
ICsweDIwICsweDEwICsweDAxLAogICgweDI2PDw4KSArMHgyMCArMHgwMSwKICAoMHgyNzw8OCkg
KzB4MjAgKzB4MDQgKzB4MDEsCiAgKDB4Mjg8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAog
ICgweDI5PDw4KSArMHgyMCArMHgwOCArMHgwMSwKICAoMHgyQTw8OCkgKzB4MjAgKzB4MDggKzB4
MDEsCiAgKDB4MkI8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDJDPDw4KSArMHgy
MCArMHgwOCArMHgwMSwKICAoMHgyRDw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4
MkU8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDJGPDw4KSArMHgyMCArMHgwOCAr
MHgwMSwKICAoMHgzMDw8OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MzE8PDgpICsw
eDIwICsweDEwICsweDAxLAogICgweDMyPDw4KSArMHgyMCArMHgxMCArMHgwMSwKICAoMHgzMzw8
OCkgKzB4MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4MzQ8PDgpICsweDIwICsweDEwICsweDAx
LAogICgweDM1PDw4KSArMHgyMCArMHgxMCArMHgwNCArMHgwMSwKICAoMHgzNjw8OCkgKzB4MjAg
KzB4MDQgKzB4MDEsCiAgKDB4Mzc8PDgpICsweDIwICsweDAxLAogICgweDM4PDw4KSArMHgyMCAr
MHgwOCArMHgwMSwKICAoMHgzOTw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4M0E8
PDgpICsweDIwICsweDA4ICsweDA0ICsweDAxLAogICgweDNCPDw4KSArMHgyMCArMHgwOCArMHgw
MSwKICAoMHgzQzw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4M0Q8PDgpICsweDIw
ICsweDA4ICsweDAxLAogICgweDNFPDw4KSArMHgyMCArMHgwOCArMHgwMSwKICAoMHgzRjw8OCkg
KzB4MjAgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4NDA8PDgpICsweDEwICsweDAxLAogICgweDQx
PDw4KSArMHgxMCArMHgwNCArMHgwMSwKICAoMHg0Mjw8OCkgKzB4MTAgKzB4MDQgKzB4MDEsCiAg
KDB4NDM8PDgpICsweDEwICsweDAxLAogICgweDQ0PDw4KSArMHgxMCArMHgwNCArMHgwMSwKICAo
MHg0NTw8OCkgKzB4MTAgKzB4MDEsCiAgKDB4NDY8PDgpICsweDAxLAogICgweDQ3PDw4KSArMHgw
NCArMHgwMSwKICAoMHg0ODw8OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4NDk8PDgpICsweDA4
ICsweDAxLAogICgweDRBPDw4KSArMHgwOCArMHgwMSwKICAoMHg0Qjw8OCkgKzB4MDggKzB4MDQg
KzB4MDEsCiAgKDB4NEM8PDgpICsweDA4ICsweDAxLAogICgweDREPDw4KSArMHgwOCArMHgwNCAr
MHgwMSwKICAoMHg0RTw8OCkgKzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4NEY8PDgpICsweDA4ICsw
eDAxLAogICgweDUwPDw4KSArMHgxMCArMHgwNCArMHgwMSwKICAoMHg1MTw8OCkgKzB4MTAgKzB4
MDEsCiAgKDB4NTI8PDgpICsweDEwICsweDAxLAogICgweDUzPDw4KSArMHgxMCArMHgwNCArMHgw
MSwKICAoMHg1NDw8OCkgKzB4MTAgKzB4MDEsCiAgKDB4NTU8PDgpICsweDEwICsweDA0ICsweDAx
LAogICgweDU2PDw4KSArMHgwNCArMHgwMSwKICAoMHg1Nzw8OCkgKzB4MDEsCiAgKDB4NTg8PDgp
ICsweDA4ICsweDAxLAogICgweDU5PDw4KSArMHgwOCArMHgwNCArMHgwMSwKICAoMHg1QTw8OCkg
KzB4MDggKzB4MDQgKzB4MDEsCiAgKDB4NUI8PDgpICsweDA4ICsweDAxLAogICgweDVDPDw4KSAr
MHgwOCArMHgwNCArMHgwMSwKICAoMHg1RDw8OCkgKzB4MDggKzB4MDEsCiAgKDB4NUU8PDgpICsw
eDA4ICsweDAxLAogICgweDVGPDw4KSArMHgwOCArMHgwNCArMHgwMSwKICAoMHg2MDw8OCkgKzB4
MjAgKzB4MTAgKzB4MDQgKzB4MDEsCiAgKDB4NjE8PDgpICsweDIwICsweDEwICsweDAxLAogICgw
eDYyPDw4KSArMHgyMCArMHgxMCArMHgwMSwKICAoMHg2Mzw8OCkgKzB4MjAgKzB4MTAgKzB4MDQg
KzB4MDEsCiAgKDB4NjQ8PDgpICsweDIwICsweDEwICsweDAxLAogICgweDY1PDw4KSArMHgyMCAr
MHgxMCArMHgwNCArMHgwMSwKICAoMHgwMDw8OCkgKzB4NDAgKzB4MDQgKzB4MDIgLAogICgweDAx
PDw4KSArMHgwMiAsCiAgKDB4MDI8PDgpICsweDAyICwKICAoMHgwMzw8OCkgKzB4MDQgKzB4MDIg
LAogICgweDA0PDw4KSArMHgwMiAsCiAgKDB4MDU8PDgpICsweDA0ICsweDAyICwKICAoMHgwNjw8
OCkgKzB4MDQgKzB4MDIgLAogICgweDA3PDw4KSArMHgwMiAsCiAgKDB4MDg8PDgpICsweDA4ICsw
eDAyICwKICAoMHgwOTw8OCkgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDA0PDw4KSArMHgwMiAs
CiAgKDB4MDU8PDgpICsweDA0ICsweDAyICwKICAoMHgwNjw8OCkgKzB4MDQgKzB4MDIgLAogICgw
eDA3PDw4KSArMHgwMiAsCiAgKDB4MDg8PDgpICsweDA4ICsweDAyICwKICAoMHgwOTw8OCkgKzB4
MDggKzB4MDQgKzB4MDIgLAogICgweDEwPDw4KSArMHgwMiAsCiAgKDB4MTE8PDgpICsweDA0ICsw
eDAyICwKICAoMHgxMjw8OCkgKzB4MDQgKzB4MDIgLAogICgweDEzPDw4KSArMHgwMiAsCiAgKDB4
MTQ8PDgpICsweDA0ICsweDAyICwKICAoMHgxNTw8OCkgKzB4MDIgLAogICgweDE2PDw4KSArMHgw
MiAsCiAgKDB4MTc8PDgpICsweDA0ICsweDAyICwKICAoMHgxODw8OCkgKzB4MDggKzB4MDQgKzB4
MDIgLAogICgweDE5PDw4KSArMHgwOCArMHgwMiAsCiAgKDB4MTQ8PDgpICsweDA0ICsweDAyICwK
ICAoMHgxNTw8OCkgKzB4MDIgLAogICgweDE2PDw4KSArMHgwMiAsCiAgKDB4MTc8PDgpICsweDA0
ICsweDAyICwKICAoMHgxODw8OCkgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDE5PDw4KSArMHgw
OCArMHgwMiAsCiAgKDB4MjA8PDgpICsweDIwICsweDAyICwKICAoMHgyMTw8OCkgKzB4MjAgKzB4
MDQgKzB4MDIgLAogICgweDIyPDw4KSArMHgyMCArMHgwNCArMHgwMiAsCiAgKDB4MjM8PDgpICsw
eDIwICsweDAyICwKICAoMHgyNDw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDI1PDw4KSAr
MHgyMCArMHgwMiAsCiAgKDB4MjY8PDgpICsweDIwICsweDAyICwKICAoMHgyNzw8OCkgKzB4MjAg
KzB4MDQgKzB4MDIgLAogICgweDI4PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMiAsCiAgKDB4
Mjk8PDgpICsweDIwICsweDA4ICsweDAyICwKICAoMHgyNDw8OCkgKzB4MjAgKzB4MDQgKzB4MDIg
LAogICgweDI1PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4MjY8PDgpICsweDIwICsweDAyICwKICAo
MHgyNzw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDI4PDw4KSArMHgyMCArMHgwOCArMHgw
NCArMHgwMiAsCiAgKDB4Mjk8PDgpICsweDIwICsweDA4ICsweDAyICwKICAoMHgzMDw8OCkgKzB4
MjAgKzB4MDQgKzB4MDIgLAogICgweDMxPDw4KSArMHgyMCArMHgwMiAsCiAgKDB4MzI8PDgpICsw
eDIwICsweDAyICwKICAoMHgzMzw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDM0PDw4KSAr
MHgyMCArMHgwMiAsCiAgKDB4MzU8PDgpICsweDIwICsweDA0ICsweDAyICwKICAoMHgzNjw8OCkg
KzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDM3PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4Mzg8PDgp
ICsweDIwICsweDA4ICsweDAyICwKICAoMHgzOTw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIg
LAogICgweDM0PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4MzU8PDgpICsweDIwICsweDA0ICsweDAy
ICwKICAoMHgzNjw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDM3PDw4KSArMHgyMCArMHgw
MiAsCiAgKDB4Mzg8PDgpICsweDIwICsweDA4ICsweDAyICwKICAoMHgzOTw8OCkgKzB4MjAgKzB4
MDggKzB4MDQgKzB4MDIgLAogICgweDQwPDw4KSArMHgwMiAsCiAgKDB4NDE8PDgpICsweDA0ICsw
eDAyICwKICAoMHg0Mjw8OCkgKzB4MDQgKzB4MDIgLAogICgweDQzPDw4KSArMHgwMiAsCiAgKDB4
NDQ8PDgpICsweDA0ICsweDAyICwKICAoMHg0NTw8OCkgKzB4MDIgLAogICgweDQ2PDw4KSArMHgw
MiAsCiAgKDB4NDc8PDgpICsweDA0ICsweDAyICwKICAoMHg0ODw8OCkgKzB4MDggKzB4MDQgKzB4
MDIgLAogICgweDQ5PDw4KSArMHgwOCArMHgwMiAsCiAgKDB4NDQ8PDgpICsweDA0ICsweDAyICwK
ICAoMHg0NTw8OCkgKzB4MDIgLAogICgweDQ2PDw4KSArMHgwMiAsCiAgKDB4NDc8PDgpICsweDA0
ICsweDAyICwKICAoMHg0ODw8OCkgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDQ5PDw4KSArMHgw
OCArMHgwMiAsCiAgKDB4NTA8PDgpICsweDA0ICsweDAyICwKICAoMHg1MTw8OCkgKzB4MDIgLAog
ICgweDUyPDw4KSArMHgwMiAsCiAgKDB4NTM8PDgpICsweDA0ICsweDAyICwKICAoMHg1NDw8OCkg
KzB4MDIgLAogICgweDU1PDw4KSArMHgwNCArMHgwMiAsCiAgKDB4NTY8PDgpICsweDA0ICsweDAy
ICwKICAoMHg1Nzw8OCkgKzB4MDIgLAogICgweDU4PDw4KSArMHgwOCArMHgwMiAsCiAgKDB4NTk8
PDgpICsweDA4ICsweDA0ICsweDAyICwKICAoMHg1NDw8OCkgKzB4MDIgLAogICgweDU1PDw4KSAr
MHgwNCArMHgwMiAsCiAgKDB4NTY8PDgpICsweDA0ICsweDAyICwKICAoMHg1Nzw8OCkgKzB4MDIg
LAogICgweDU4PDw4KSArMHgwOCArMHgwMiAsCiAgKDB4NTk8PDgpICsweDA4ICsweDA0ICsweDAy
ICwKICAoMHg2MDw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDYxPDw4KSArMHgyMCArMHgw
MiAsCiAgKDB4NjI8PDgpICsweDIwICsweDAyICwKICAoMHg2Mzw8OCkgKzB4MjAgKzB4MDQgKzB4
MDIgLAogICgweDY0PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4NjU8PDgpICsweDIwICsweDA0ICsw
eDAyICwKICAoMHg2Njw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDY3PDw4KSArMHgyMCAr
MHgwMiAsCiAgKDB4Njg8PDgpICsweDIwICsweDA4ICsweDAyICwKICAoMHg2OTw8OCkgKzB4MjAg
KzB4MDggKzB4MDQgKzB4MDIgLAogICgweDY0PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4NjU8PDgp
ICsweDIwICsweDA0ICsweDAyICwKICAoMHg2Njw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgw
eDY3PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4Njg8PDgpICsweDIwICsweDA4ICsweDAyICwKICAo
MHg2OTw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDcwPDw4KSArMHgyMCArMHgw
MiAsCiAgKDB4NzE8PDgpICsweDIwICsweDA0ICsweDAyICwKICAoMHg3Mjw8OCkgKzB4MjAgKzB4
MDQgKzB4MDIgLAogICgweDczPDw4KSArMHgyMCArMHgwMiAsCiAgKDB4NzQ8PDgpICsweDIwICsw
eDA0ICsweDAyICwKICAoMHg3NTw8OCkgKzB4MjAgKzB4MDIgLAogICgweDc2PDw4KSArMHgyMCAr
MHgwMiAsCiAgKDB4Nzc8PDgpICsweDIwICsweDA0ICsweDAyICwKICAoMHg3ODw8OCkgKzB4MjAg
KzB4MDggKzB4MDQgKzB4MDIgLAogICgweDc5PDw4KSArMHgyMCArMHgwOCArMHgwMiAsCiAgKDB4
NzQ8PDgpICsweDIwICsweDA0ICsweDAyICwKICAoMHg3NTw8OCkgKzB4MjAgKzB4MDIgLAogICgw
eDc2PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4Nzc8PDgpICsweDIwICsweDA0ICsweDAyICwKICAo
MHg3ODw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDc5PDw4KSArMHgyMCArMHgw
OCArMHgwMiAsCiAgKDB4ODA8PDgpKzB4ODAgKzB4MDIgLAogICgweDgxPDw4KSsweDgwICsweDA0
ICsweDAyICwKICAoMHg4Mjw8OCkrMHg4MCArMHgwNCArMHgwMiAsCiAgKDB4ODM8PDgpKzB4ODAg
KzB4MDIgLAogICgweDg0PDw4KSsweDgwICsweDA0ICsweDAyICwKICAoMHg4NTw8OCkrMHg4MCAr
MHgwMiAsCiAgKDB4ODY8PDgpKzB4ODAgKzB4MDIgLAogICgweDg3PDw4KSsweDgwICsweDA0ICsw
eDAyICwKICAoMHg4ODw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMiAsCiAgKDB4ODk8PDgpKzB4
ODAgKzB4MDggKzB4MDIgLAogICgweDg0PDw4KSsweDgwICsweDA0ICsweDAyICwKICAoMHg4NTw8
OCkrMHg4MCArMHgwMiAsCiAgKDB4ODY8PDgpKzB4ODAgKzB4MDIgLAogICgweDg3PDw4KSsweDgw
ICsweDA0ICsweDAyICwKICAoMHg4ODw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMiAsCiAgKDB4
ODk8PDgpKzB4ODAgKzB4MDggKzB4MDIgLAogICgweDkwPDw4KSsweDgwICsweDA0ICsweDAyICwK
ICAoMHg5MTw8OCkrMHg4MCArMHgwMiAsCiAgKDB4OTI8PDgpKzB4ODAgKzB4MDIgLAogICgweDkz
PDw4KSsweDgwICsweDA0ICsweDAyICwKICAoMHg5NDw8OCkrMHg4MCArMHgwMiAsCiAgKDB4OTU8
PDgpKzB4ODAgKzB4MDQgKzB4MDIgLAogICgweDk2PDw4KSsweDgwICsweDA0ICsweDAyICwKICAo
MHg5Nzw8OCkrMHg4MCArMHgwMiAsCiAgKDB4OTg8PDgpKzB4ODAgKzB4MDggKzB4MDIgLAogICgw
eDk5PDw4KSsweDgwICsweDA4ICsweDA0ICsweDAyICwKICAoMHgzNDw8OCkgKzB4MjAgKzB4MDIg
KzB4MDEsCiAgKDB4MzU8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDM2PDw4KSAr
MHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHgzNzw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAg
KDB4Mzg8PDgpICsweDIwICsweDA4ICsweDAyICsweDAxLAogICgweDM5PDw4KSArMHgyMCArMHgw
OCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg0MDw8OCkgKzB4MDIgKzB4MDEsCiAgKDB4NDE8PDgp
ICsweDA0ICsweDAyICsweDAxLAogICgweDQyPDw4KSArMHgwNCArMHgwMiArMHgwMSwKICAoMHg0
Mzw8OCkgKzB4MDIgKzB4MDEsCiAgKDB4NDQ8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDQ1
PDw4KSArMHgwMiArMHgwMSwKICAoMHg0Njw8OCkgKzB4MDIgKzB4MDEsCiAgKDB4NDc8PDgpICsw
eDA0ICsweDAyICsweDAxLAogICgweDQ4PDw4KSArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAo
MHg0OTw8OCkgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NDQ8PDgpICsweDA0ICsweDAyICsweDAx
LAogICgweDQ1PDw4KSArMHgwMiArMHgwMSwKICAoMHg0Njw8OCkgKzB4MDIgKzB4MDEsCiAgKDB4
NDc8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDQ4PDw4KSArMHgwOCArMHgwNCArMHgwMiAr
MHgwMSwKICAoMHg0OTw8OCkgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NTA8PDgpICsweDA0ICsw
eDAyICsweDAxLAogICgweDUxPDw4KSArMHgwMiArMHgwMSwKICAoMHg1Mjw8OCkgKzB4MDIgKzB4
MDEsCiAgKDB4NTM8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDU0PDw4KSArMHgwMiArMHgw
MSwKICAoMHg1NTw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NTY8PDgpICsweDA0ICsweDAy
ICsweDAxLAogICgweDU3PDw4KSArMHgwMiArMHgwMSwKICAoMHg1ODw8OCkgKzB4MDggKzB4MDIg
KzB4MDEsCiAgKDB4NTk8PDgpICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDU0PDw4KSAr
MHgwMiArMHgwMSwKICAoMHg1NTw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NTY8PDgpICsw
eDA0ICsweDAyICsweDAxLAogICgweDU3PDw4KSArMHgwMiArMHgwMSwKICAoMHg1ODw8OCkgKzB4
MDggKzB4MDIgKzB4MDEsCiAgKDB4NTk8PDgpICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgw
eDYwPDw4KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg2MTw8OCkgKzB4MjAgKzB4MDIg
KzB4MDEsCiAgKDB4NjI8PDgpICsweDIwICsweDAyICsweDAxLAogICgweDYzPDw4KSArMHgyMCAr
MHgwNCArMHgwMiArMHgwMSwKICAoMHg2NDw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4NjU8
PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDY2PDw4KSArMHgyMCArMHgwNCArMHgw
MiArMHgwMSwKICAoMHg2Nzw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Njg8PDgpICsweDIw
ICsweDA4ICsweDAyICsweDAxLAogICgweDY5PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMiAr
MHgwMSwKICAoMHg2NDw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4NjU8PDgpICsweDIwICsw
eDA0ICsweDAyICsweDAxLAogICgweDY2PDw4KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAo
MHg2Nzw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Njg8PDgpICsweDIwICsweDA4ICsweDAy
ICsweDAxLAogICgweDY5PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg3
MDw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4NzE8PDgpICsweDIwICsweDA0ICsweDAyICsw
eDAxLAogICgweDcyPDw4KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg3Mzw8OCkgKzB4
MjAgKzB4MDIgKzB4MDEsCiAgKDB4NzQ8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgw
eDc1PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg3Njw8OCkgKzB4MjAgKzB4MDIgKzB4MDEs
CiAgKDB4Nzc8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDc4PDw4KSArMHgyMCAr
MHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg3OTw8OCkgKzB4MjAgKzB4MDggKzB4MDIgKzB4
MDEsCiAgKDB4NzQ8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDc1PDw4KSArMHgy
MCArMHgwMiArMHgwMSwKICAoMHg3Njw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Nzc8PDgp
ICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDc4PDw4KSArMHgyMCArMHgwOCArMHgwNCAr
MHgwMiArMHgwMSwKICAoMHg3OTw8OCkgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4ODA8
PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4ODE8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEs
CiAgKDB4ODI8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4ODM8PDgpKzB4ODAgKzB4
MDIgKzB4MDEsCiAgKDB4ODQ8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4ODU8PDgp
KzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4ODY8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4ODc8
PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4ODg8PDgpKzB4ODAgKzB4MDggKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4ODk8PDgpKzB4ODAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4ODQ8
PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4ODU8PDgpKzB4ODAgKzB4MDIgKzB4MDEs
CiAgKDB4ODY8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4ODc8PDgpKzB4ODAgKzB4MDQgKzB4
MDIgKzB4MDEsCiAgKDB4ODg8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4
ODk8PDgpKzB4ODAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4OTA8PDgpKzB4ODAgKzB4MDQgKzB4
MDIgKzB4MDEsCiAgKDB4OTE8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4OTI8PDgpKzB4ODAg
KzB4MDIgKzB4MDEsCiAgKDB4OTM8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OTQ8
PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4OTU8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEs
CiAgKDB4OTY8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OTc8PDgpKzB4ODAgKzB4
MDIgKzB4MDEsCiAgKDB4OTg8PDgpKzB4ODAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4OTk8PDgp
KzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OTQ8PDgpKzB4ODAgKzB4MDIgKzB4
MDEsCiAgKDB4OTU8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OTY8PDgpKzB4ODAg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OTc8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4OTg8
PDgpKzB4ODAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4OTk8PDgpKzB4ODAgKzB4MDggKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4QTA8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4QTE8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4QTI8PDgpKzB4ODAgKzB4MjAg
KzB4MDIgKzB4MDEsCiAgKDB4QTM8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4QTQ8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4QTU8PDgpKzB4ODAgKzB4MjAg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTY8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4QTc8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4QTg8PDgpKzB4ODAg
KzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4QTk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTQ8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4
QTU8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTY8PDgpKzB4ODAgKzB4
MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTc8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEs
CiAgKDB4QTg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4QTk8PDgpKzB4
ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QjA8PDgpKzB4ODAgKzB4MjAg
KzB4MDIgKzB4MDEsCiAgKDB4QjE8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4QjI8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QjM8PDgpKzB4ODAg
KzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4QjQ8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4QjU8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4QjY8PDgpKzB4ODAg
KzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Qjc8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4Qjg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4
Qjk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4QjQ8PDgpKzB4ODAgKzB4
MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QjU8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEs
CiAgKDB4QjY8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Qjc8PDgpKzB4ODAgKzB4
MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Qjg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4Qjk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAg
KDB4QzA8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QzE8PDgpKzB4ODAgKzB4MDIg
KzB4MDEsCiAgKDB4QzI8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4QzM8PDgpKzB4ODAgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4QzQ8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4QzU8PDgp
KzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QzY8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4Qzc8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4Qzg8PDgpKzB4ODAgKzB4MDgg
KzB4MDIgKzB4MDEsCiAgKDB4Qzk8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4QzQ8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4QzU8PDgpKzB4ODAgKzB4MDQgKzB4MDIg
KzB4MDEsCiAgKDB4QzY8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Qzc8PDgpKzB4
ODAgKzB4MDIgKzB4MDEsCiAgKDB4Qzg8PDgpKzB4ODAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4
Qzk8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDA8PDgpKzB4ODAgKzB4
MDIgKzB4MDEsCiAgKDB4RDE8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDI8PDgp
KzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDM8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAg
KDB4RDQ8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDU8PDgpKzB4ODAgKzB4MDIg
KzB4MDEsCiAgKDB4RDY8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4RDc8PDgpKzB4ODAgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDg8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEs
CiAgKDB4RDk8PDgpKzB4ODAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4RDQ8PDgpKzB4ODAgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDU8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4RDY8PDgp
KzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4RDc8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4RDg8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDk8PDgpKzB4ODAg
KzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4RTA8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAg
KDB4RTE8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTI8PDgpKzB4ODAg
KzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTM8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4
MDEsCiAgKDB4RTQ8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTU8PDgp
KzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RTY8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4
MDEsCiAgKDB4RTc8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTg8PDgp
KzB4ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTk8PDgpKzB4ODAgKzB4
MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4RTQ8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIg
KzB4MDEsCiAgKDB4RTU8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RTY8PDgpKzB4
ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RTc8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIg
KzB4MDEsCiAgKDB4RTg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4RTk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4RjA8PDgpKzB4ODAg
KzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RjE8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4
MDEsCiAgKDB4RjI8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RjM8PDgpKzB4ODAg
KzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RjQ8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4
MDEsCiAgKDB4RjU8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RjY8PDgp
KzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Rjc8PDgpKzB4ODAgKzB4MjAgKzB4
MDIgKzB4MDEsCiAgKDB4Rjg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4
Rjk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RjQ8PDgpKzB4
ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RjU8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIg
KzB4MDEsCiAgKDB4RjY8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Rjc8
PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Rjg8PDgpKzB4ODAgKzB4MjAgKzB4MDgg
KzB4MDIgKzB4MDEsCiAgKDB4Rjk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4MDA8PDgpICsweDQwICsweDA0ICsweDAyICsweDAxLAogICgweDAxPDw4KSArMHgw
MiArMHgwMSwKICAoMHgwMjw8OCkgKzB4MDIgKzB4MDEsCiAgKDB4MDM8PDgpICsweDA0ICsweDAy
ICsweDAxLAogICgweDA0PDw4KSArMHgwMiArMHgwMSwKICAoMHgwNTw8OCkgKzB4MDQgKzB4MDIg
KzB4MDEsCiAgKDB4MDY8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDA3PDw4KSArMHgwMiAr
MHgwMSwKICAoMHgwODw8OCkgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4MDk8PDgpICsweDA4ICsw
eDA0ICsweDAyICsweDAxLAogICgweDA0PDw4KSArMHgwMiArMHgwMSwKICAoMHgwNTw8OCkgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4MDY8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDA3PDw4
KSArMHgwMiArMHgwMSwKICAoMHgwODw8OCkgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4MDk8PDgp
ICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDEwPDw4KSArMHgwMiArMHgwMSwKICAoMHgx
MTw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4MTI8PDgpICsweDA0ICsweDAyICsweDAxLAog
ICgweDEzPDw4KSArMHgwMiArMHgwMSwKICAoMHgxNDw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4MTU8PDgpICsweDAyICsweDAxLAogICgweDE2PDw4KSArMHgwMiArMHgwMSwKICAoMHgxNzw8
OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4MTg8PDgpICsweDA4ICsweDA0ICsweDAyICsweDAx
LAogICgweDE5PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAoMHgxNDw8OCkgKzB4MDQgKzB4MDIg
KzB4MDEsCiAgKDB4MTU8PDgpICsweDAyICsweDAxLAogICgweDE2PDw4KSArMHgwMiArMHgwMSwK
ICAoMHgxNzw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4MTg8PDgpICsweDA4ICsweDA0ICsw
eDAyICsweDAxLAogICgweDE5PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAoMHgyMDw8OCkgKzB4
MjAgKzB4MDIgKzB4MDEsCiAgKDB4MjE8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgw
eDIyPDw4KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHgyMzw8OCkgKzB4MjAgKzB4MDIg
KzB4MDEsCiAgKDB4MjQ8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDI1PDw4KSAr
MHgyMCArMHgwMiArMHgwMSwKICAoMHgyNjw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Mjc8
PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDI4PDw4KSArMHgyMCArMHgwOCArMHgw
NCArMHgwMiArMHgwMSwKICAoMHgyOTw8OCkgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4
MjQ8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDI1PDw4KSArMHgyMCArMHgwMiAr
MHgwMSwKICAoMHgyNjw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Mjc8PDgpICsweDIwICsw
eDA0ICsweDAyICsweDAxLAogICgweDI4PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMiArMHgw
MSwKICAoMHgyOTw8OCkgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4MzA8PDgpICsweDIw
ICsweDA0ICsweDAyICsweDAxLAogICgweDMxPDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHgz
Mjw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4MzM8PDgpICsweDIwICsweDA0ICsweDAyICsw
eDAxLAogICgweDM0PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHgzNTw8OCkgKzB4MjAgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4MzY8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgw
eDM3PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHgzODw8OCkgKzB4MjAgKzB4MDggKzB4MDIg
KzB4MDEsCiAgKDB4Mzk8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDM0
PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHgzNTw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4MzY8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDM3PDw4KSArMHgy
MCArMHgwMiArMHgwMSwKICAoMHgzODw8OCkgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4
Mzk8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDQwPDw4KSArMHgwMiAr
MHgwMSwKICAoMHg0MTw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NDI8PDgpICsweDA0ICsw
eDAyICsweDAxLAogICgweDQzPDw4KSArMHgwMiArMHgwMSwKICAoMHg0NDw8OCkgKzB4MDQgKzB4
MDIgKzB4MDEsCiAgKDB4NDU8PDgpICsweDAyICsweDAxLAogICgweDQ2PDw4KSArMHgwMiArMHgw
MSwKICAoMHg0Nzw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NDg8PDgpICsweDA4ICsweDA0
ICsweDAyICsweDAxLAogICgweDQ5PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAoMHg0NDw8OCkg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NDU8PDgpICsweDAyICsweDAxLAogICgweDQ2PDw4KSAr
MHgwMiArMHgwMSwKICAoMHg0Nzw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NDg8PDgpICsw
eDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDQ5PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAo
MHg1MDw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NTE8PDgpICsweDAyICsweDAxLAogICgw
eDUyPDw4KSArMHgwMiArMHgwMSwKICAoMHg1Mzw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4
NTQ8PDgpICsweDAyICsweDAxLAogICgweDU1PDw4KSArMHgwNCArMHgwMiArMHgwMSwKICAoMHg1
Njw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NTc8PDgpICsweDAyICsweDAxLAogICgweDU4
PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAoMHg1OTw8OCkgKzB4MDggKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4NTQ8PDgpICsweDAyICsweDAxLAogICgweDU1PDw4KSArMHgwNCArMHgwMiArMHgw
MSwKICAoMHg1Njw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NTc8PDgpICsweDAyICsweDAx
LAogICgweDU4PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAoMHg1OTw8OCkgKzB4MDggKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4NjA8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDYx
PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg2Mjw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAg
KDB4NjM8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDY0PDw4KSArMHgyMCArMHgw
MiArMHgwMSwKICAoMHg2NTw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NjY8PDgp
ICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDY3PDw4KSArMHgyMCArMHgwMiArMHgwMSwK
ICAoMHg2ODw8OCkgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4Njk8PDgpICsweDIwICsw
eDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDY0PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAo
MHg2NTw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NjY8PDgpICsweDIwICsweDA0
ICsweDAyICsweDAxLAogICgweDY3PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg2ODw8OCkg
KzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4Njk8PDgpICsweDIwICsweDA4ICsweDA0ICsw
eDAyICsweDAxLAogICgweDcwPDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg3MTw8OCkgKzB4
MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NzI8PDgpICsweDIwICsweDA0ICsweDAyICsweDAx
LAogICgweDczPDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg3NDw8OCkgKzB4MjAgKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4NzU8PDgpICsweDIwICsweDAyICsweDAxLAogICgweDc2PDw4KSAr
MHgyMCArMHgwMiArMHgwMSwKICAoMHg3Nzw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4Nzg8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDc5PDw4KSArMHgy
MCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg3NDw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEs
CiAgKDB4NzU8PDgpICsweDIwICsweDAyICsweDAxLAogICgweDc2PDw4KSArMHgyMCArMHgwMiAr
MHgwMSwKICAoMHg3Nzw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Nzg8PDgpICsw
eDIwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDc5PDw4KSArMHgyMCArMHgwOCArMHgw
MiArMHgwMSwKICAoMHg4MDw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg4MTw8OCkrMHg4MCAr
MHgwNCArMHgwMiArMHgwMSwKICAoMHg4Mjw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAo
MHg4Mzw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg4NDw8OCkrMHg4MCArMHgwNCArMHgwMiAr
MHgwMSwKICAoMHg4NTw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg4Njw8OCkrMHg4MCArMHgw
MiArMHgwMSwKICAoMHg4Nzw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4ODw8OCkr
MHg4MCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4OTw8OCkrMHg4MCArMHgwOCArMHgw
MiArMHgwMSwKICAoMHg4NDw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4NTw8OCkr
MHg4MCArMHgwMiArMHgwMSwKICAoMHg4Njw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg4Nzw8
OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4ODw8OCkrMHg4MCArMHgwOCArMHgwNCAr
MHgwMiArMHgwMSwKICAoMHg4OTw8OCkrMHg4MCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg5MDw8
OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg5MTw8OCkrMHg4MCArMHgwMiArMHgwMSwK
ICAoMHg5Mjw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg5Mzw8OCkrMHg4MCArMHgwNCArMHgw
MiArMHgwMSwKICAoMHg5NDw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg5NTw8OCkrMHg4MCAr
MHgwNCArMHgwMiArMHgwMSwKICAoMHg5Njw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAo
MHg5Nzw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg5ODw8OCkrMHg4MCArMHgwOCArMHgwMiAr
MHgwMSwKICAoMHg5OTw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg5NDw8
OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg5NTw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwK
ICAoMHg5Njw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg5Nzw8OCkrMHg4MCArMHgw
MiArMHgwMSwKICAoMHg5ODw8OCkrMHg4MCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg5OTw8OCkr
MHg4MCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHhGQTw8OCkrMHg4MCArMHgyMCArMHgx
MCArMHgwOCArMHgwNCArMHgwMiAsCiAgKDB4RkI8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDgg
KzB4MDIgLAogICgweEZDPDw4KSsweDgwICsweDIwICsweDEwICsweDA4ICsweDA0ICsweDAyICwK
ICAoMHhGRDw8OCkrMHg4MCArMHgyMCArMHgxMCArMHgwOCArMHgwMiAsCiAgKDB4RkU8PDgpKzB4
ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgLAogICgweEZGPDw4KSsweDgwICsweDIwICsweDEw
ICsweDA4ICsweDA0ICsweDAyICwKICAoMHgwMDw8OCkgKzB4NDAgKzB4MDQgKzB4MDIgLAogICgw
eDAxPDw4KSArMHgwMiAsCiAgKDB4MDI8PDgpICsweDAyICwKICAoMHgwMzw8OCkgKzB4MDQgKzB4
MDIgLAogICgweDA0PDw4KSArMHgwMiAsCiAgKDB4MDU8PDgpICsweDA0ICsweDAyICwKICAoMHgw
Njw8OCkgKzB4MDQgKzB4MDIgLAogICgweDA3PDw4KSArMHgwMiAsCiAgKDB4MDg8PDgpICsweDA4
ICsweDAyICwKICAoMHgwOTw8OCkgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDBBPDw4KSArMHgx
MCArMHgwOCArMHgwNCArMHgwMiAsCiAgKDB4MEI8PDgpICsweDEwICsweDA4ICsweDAyICwKICAo
MHgwQzw8OCkgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDBEPDw4KSArMHgxMCArMHgw
OCArMHgwMiAsCiAgKDB4MEU8PDgpICsweDEwICsweDA4ICsweDAyICwKICAoMHgwRjw8OCkgKzB4
MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDEwPDw4KSArMHgwMiAsCiAgKDB4MTE8PDgpICsw
eDA0ICsweDAyICwKICAoMHgxMjw8OCkgKzB4MDQgKzB4MDIgLAogICgweDEzPDw4KSArMHgwMiAs
CiAgKDB4MTQ8PDgpICsweDA0ICsweDAyICwKICAoMHgxNTw8OCkgKzB4MDIgLAogICgweDE2PDw4
KSArMHgwMiAsCiAgKDB4MTc8PDgpICsweDA0ICsweDAyICwKICAoMHgxODw8OCkgKzB4MDggKzB4
MDQgKzB4MDIgLAogICgweDE5PDw4KSArMHgwOCArMHgwMiAsCiAgKDB4MUE8PDgpICsweDEwICsw
eDA4ICsweDAyICwKICAoMHgxQjw8OCkgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDFD
PDw4KSArMHgxMCArMHgwOCArMHgwMiAsCiAgKDB4MUQ8PDgpICsweDEwICsweDA4ICsweDA0ICsw
eDAyICwKICAoMHgxRTw8OCkgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDFGPDw4KSAr
MHgxMCArMHgwOCArMHgwMiAsCiAgKDB4MjA8PDgpICsweDIwICsweDAyICwKICAoMHgyMTw8OCkg
KzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDIyPDw4KSArMHgyMCArMHgwNCArMHgwMiAsCiAgKDB4
MjM8PDgpICsweDIwICsweDAyICwKICAoMHgyNDw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgw
eDI1PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4MjY8PDgpICsweDIwICsweDAyICwKICAoMHgyNzw8
OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDI4PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgw
MiAsCiAgKDB4Mjk8PDgpICsweDIwICsweDA4ICsweDAyICwKICAoMHgyQTw8OCkgKzB4MjAgKzB4
MTAgKzB4MDggKzB4MDIgLAogICgweDJCPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwNCArMHgw
MiAsCiAgKDB4MkM8PDgpICsweDIwICsweDEwICsweDA4ICsweDAyICwKICAoMHgyRDw8OCkgKzB4
MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDJFPDw4KSArMHgyMCArMHgxMCArMHgw
OCArMHgwNCArMHgwMiAsCiAgKDB4MkY8PDgpICsweDIwICsweDEwICsweDA4ICsweDAyICwKICAo
MHgzMDw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDMxPDw4KSArMHgyMCArMHgwMiAsCiAg
KDB4MzI8PDgpICsweDIwICsweDAyICwKICAoMHgzMzw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAog
ICgweDM0PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4MzU8PDgpICsweDIwICsweDA0ICsweDAyICwK
ICAoMHgzNjw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDM3PDw4KSArMHgyMCArMHgwMiAs
CiAgKDB4Mzg8PDgpICsweDIwICsweDA4ICsweDAyICwKICAoMHgzOTw8OCkgKzB4MjAgKzB4MDgg
KzB4MDQgKzB4MDIgLAogICgweDNBPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwNCArMHgwMiAs
CiAgKDB4M0I8PDgpICsweDIwICsweDEwICsweDA4ICsweDAyICwKICAoMHgzQzw8OCkgKzB4MjAg
KzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDNEPDw4KSArMHgyMCArMHgxMCArMHgwOCAr
MHgwMiAsCiAgKDB4M0U8PDgpICsweDIwICsweDEwICsweDA4ICsweDAyICwKICAoMHgzRjw8OCkg
KzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDQwPDw4KSArMHgwMiAsCiAgKDB4
NDE8PDgpICsweDA0ICsweDAyICwKICAoMHg0Mjw8OCkgKzB4MDQgKzB4MDIgLAogICgweDQzPDw4
KSArMHgwMiAsCiAgKDB4NDQ8PDgpICsweDA0ICsweDAyICwKICAoMHg0NTw8OCkgKzB4MDIgLAog
ICgweDQ2PDw4KSArMHgwMiAsCiAgKDB4NDc8PDgpICsweDA0ICsweDAyICwKICAoMHg0ODw8OCkg
KzB4MDggKzB4MDQgKzB4MDIgLAogICgweDQ5PDw4KSArMHgwOCArMHgwMiAsCiAgKDB4NEE8PDgp
ICsweDEwICsweDA4ICsweDAyICwKICAoMHg0Qjw8OCkgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIg
LAogICgweDRDPDw4KSArMHgxMCArMHgwOCArMHgwMiAsCiAgKDB4NEQ8PDgpICsweDEwICsweDA4
ICsweDA0ICsweDAyICwKICAoMHg0RTw8OCkgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgw
eDRGPDw4KSArMHgxMCArMHgwOCArMHgwMiAsCiAgKDB4NTA8PDgpICsweDA0ICsweDAyICwKICAo
MHg1MTw8OCkgKzB4MDIgLAogICgweDUyPDw4KSArMHgwMiAsCiAgKDB4NTM8PDgpICsweDA0ICsw
eDAyICwKICAoMHg1NDw8OCkgKzB4MDIgLAogICgweDU1PDw4KSArMHgwNCArMHgwMiAsCiAgKDB4
NTY8PDgpICsweDA0ICsweDAyICwKICAoMHg1Nzw8OCkgKzB4MDIgLAogICgweDU4PDw4KSArMHgw
OCArMHgwMiAsCiAgKDB4NTk8PDgpICsweDA4ICsweDA0ICsweDAyICwKICAoMHg1QTw8OCkgKzB4
MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDVCPDw4KSArMHgxMCArMHgwOCArMHgwMiAsCiAg
KDB4NUM8PDgpICsweDEwICsweDA4ICsweDA0ICsweDAyICwKICAoMHg1RDw8OCkgKzB4MTAgKzB4
MDggKzB4MDIgLAogICgweDVFPDw4KSArMHgxMCArMHgwOCArMHgwMiAsCiAgKDB4NUY8PDgpICsw
eDEwICsweDA4ICsweDA0ICsweDAyICwKICAoMHg2MDw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAog
ICgweDYxPDw4KSArMHgyMCArMHgwMiAsCiAgKDB4NjI8PDgpICsweDIwICsweDAyICwKICAoMHg2
Mzw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDY0PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4
NjU8PDgpICsweDIwICsweDA0ICsweDAyICwKICAoMHg2Njw8OCkgKzB4MjAgKzB4MDQgKzB4MDIg
LAogICgweDY3PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4Njg8PDgpICsweDIwICsweDA4ICsweDAy
ICwKICAoMHg2OTw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDZBPDw4KSArMHgy
MCArMHgxMCArMHgwOCArMHgwNCArMHgwMiAsCiAgKDB4NkI8PDgpICsweDIwICsweDEwICsweDA4
ICsweDAyICwKICAoMHg2Qzw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgw
eDZEPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwMiAsCiAgKDB4NkU8PDgpICsweDIwICsweDEw
ICsweDA4ICsweDAyICwKICAoMHg2Rjw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIg
LAogICgweDcwPDw4KSArMHgyMCArMHgwMiAsCiAgKDB4NzE8PDgpICsweDIwICsweDA0ICsweDAy
ICwKICAoMHg3Mjw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgLAogICgweDczPDw4KSArMHgyMCArMHgw
MiAsCiAgKDB4NzQ8PDgpICsweDIwICsweDA0ICsweDAyICwKICAoMHg3NTw8OCkgKzB4MjAgKzB4
MDIgLAogICgweDc2PDw4KSArMHgyMCArMHgwMiAsCiAgKDB4Nzc8PDgpICsweDIwICsweDA0ICsw
eDAyICwKICAoMHg3ODw8OCkgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDc5PDw4KSAr
MHgyMCArMHgwOCArMHgwMiAsCiAgKDB4N0E8PDgpICsweDIwICsweDEwICsweDA4ICsweDAyICwK
ICAoMHg3Qjw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAogICgweDdDPDw4KSAr
MHgyMCArMHgxMCArMHgwOCArMHgwMiAsCiAgKDB4N0Q8PDgpICsweDIwICsweDEwICsweDA4ICsw
eDA0ICsweDAyICwKICAoMHg3RTw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgLAog
ICgweDdGPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwMiAsCiAgKDB4ODA8PDgpKzB4ODAgKzB4
MDIgLAogICgweDgxPDw4KSsweDgwICsweDA0ICsweDAyICwKICAoMHg4Mjw8OCkrMHg4MCArMHgw
NCArMHgwMiAsCiAgKDB4ODM8PDgpKzB4ODAgKzB4MDIgLAogICgweDg0PDw4KSsweDgwICsweDA0
ICsweDAyICwKICAoMHg4NTw8OCkrMHg4MCArMHgwMiAsCiAgKDB4ODY8PDgpKzB4ODAgKzB4MDIg
LAogICgweDg3PDw4KSsweDgwICsweDA0ICsweDAyICwKICAoMHg4ODw8OCkrMHg4MCArMHgwOCAr
MHgwNCArMHgwMiAsCiAgKDB4ODk8PDgpKzB4ODAgKzB4MDggKzB4MDIgLAogICgweDhBPDw4KSsw
eDgwICsweDEwICsweDA4ICsweDAyICwKICAoMHg4Qjw8OCkrMHg4MCArMHgxMCArMHgwOCArMHgw
NCArMHgwMiAsCiAgKDB4OEM8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgLAogICgweDhEPDw4
KSsweDgwICsweDEwICsweDA4ICsweDA0ICsweDAyICwKICAoMHg4RTw8OCkrMHg4MCArMHgxMCAr
MHgwOCArMHgwNCArMHgwMiAsCiAgKDB4OEY8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgLAog
ICgweDkwPDw4KSsweDgwICsweDA0ICsweDAyICwKICAoMHg5MTw8OCkrMHg4MCArMHgwMiAsCiAg
KDB4OTI8PDgpKzB4ODAgKzB4MDIgLAogICgweDkzPDw4KSsweDgwICsweDA0ICsweDAyICwKICAo
MHgzNDw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4MzU8PDgpICsweDIwICsweDA0ICsweDAy
ICsweDAxLAogICgweDM2PDw4KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHgzNzw8OCkg
KzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Mzg8PDgpICsweDIwICsweDA4ICsweDAyICsweDAxLAog
ICgweDM5PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHgzQTw8OCkgKzB4
MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4M0I8PDgpICsweDIwICsweDEw
ICsweDA4ICsweDAyICsweDAxLAogICgweDNDPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwNCAr
MHgwMiArMHgwMSwKICAoMHgzRDw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAg
KDB4M0U8PDgpICsweDIwICsweDEwICsweDA4ICsweDAyICsweDAxLAogICgweDNGPDw4KSArMHgy
MCArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg0MDw8OCkgKzB4MDIgKzB4MDEs
CiAgKDB4NDE8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDQyPDw4KSArMHgwNCArMHgwMiAr
MHgwMSwKICAoMHg0Mzw8OCkgKzB4MDIgKzB4MDEsCiAgKDB4NDQ8PDgpICsweDA0ICsweDAyICsw
eDAxLAogICgweDQ1PDw4KSArMHgwMiArMHgwMSwKICAoMHg0Njw8OCkgKzB4MDIgKzB4MDEsCiAg
KDB4NDc8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDQ4PDw4KSArMHgwOCArMHgwNCArMHgw
MiArMHgwMSwKICAoMHg0OTw8OCkgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NEE8PDgpICsweDEw
ICsweDA4ICsweDAyICsweDAxLAogICgweDRCPDw4KSArMHgxMCArMHgwOCArMHgwNCArMHgwMiAr
MHgwMSwKICAoMHg0Qzw8OCkgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NEQ8PDgpICsw
eDEwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDRFPDw4KSArMHgxMCArMHgwOCArMHgw
NCArMHgwMiArMHgwMSwKICAoMHg0Rjw8OCkgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4
NTA8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDUxPDw4KSArMHgwMiArMHgwMSwKICAoMHg1
Mjw8OCkgKzB4MDIgKzB4MDEsCiAgKDB4NTM8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDU0
PDw4KSArMHgwMiArMHgwMSwKICAoMHg1NTw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NTY8
PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDU3PDw4KSArMHgwMiArMHgwMSwKICAoMHg1ODw8
OCkgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NTk8PDgpICsweDA4ICsweDA0ICsweDAyICsweDAx
LAogICgweDVBPDw4KSArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg1Qjw8OCkg
KzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NUM8PDgpICsweDEwICsweDA4ICsweDA0ICsw
eDAyICsweDAxLAogICgweDVEPDw4KSArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg1RTw8
OCkgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NUY8PDgpICsweDEwICsweDA4ICsweDA0
ICsweDAyICsweDAxLAogICgweDYwPDw4KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg2
MTw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4NjI8PDgpICsweDIwICsweDAyICsweDAxLAog
ICgweDYzPDw4KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg2NDw8OCkgKzB4MjAgKzB4
MDIgKzB4MDEsCiAgKDB4NjU8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDY2PDw4
KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg2Nzw8OCkgKzB4MjAgKzB4MDIgKzB4MDEs
CiAgKDB4Njg8PDgpICsweDIwICsweDA4ICsweDAyICsweDAxLAogICgweDY5PDw4KSArMHgyMCAr
MHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg2QTw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4NkI8PDgpICsweDIwICsweDEwICsweDA4ICsweDAyICsweDAx
LAogICgweDZDPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg2
RDw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NkU8PDgpICsweDIwICsw
eDEwICsweDA4ICsweDAyICsweDAxLAogICgweDZGPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgw
NCArMHgwMiArMHgwMSwKICAoMHg3MDw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4NzE8PDgp
ICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDcyPDw4KSArMHgyMCArMHgwNCArMHgwMiAr
MHgwMSwKICAoMHg3Mzw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4NzQ8PDgpICsweDIwICsw
eDA0ICsweDAyICsweDAxLAogICgweDc1PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg3Njw8
OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Nzc8PDgpICsweDIwICsweDA0ICsweDAyICsweDAx
LAogICgweDc4PDw4KSArMHgyMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg3OTw8OCkg
KzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4N0E8PDgpICsweDIwICsweDEwICsweDA4ICsw
eDAyICsweDAxLAogICgweDdCPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgw
MSwKICAoMHg3Qzw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4N0Q8PDgp
ICsweDIwICsweDEwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDdFPDw4KSArMHgyMCAr
MHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg3Rjw8OCkgKzB4MjAgKzB4MTAgKzB4
MDggKzB4MDIgKzB4MDEsCiAgKDB4ODA8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4ODE8PDgp
KzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4ODI8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4ODM8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4ODQ8PDgpKzB4ODAgKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4ODU8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4ODY8PDgpKzB4
ODAgKzB4MDIgKzB4MDEsCiAgKDB4ODc8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4
ODg8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4ODk8PDgpKzB4ODAgKzB4
MDggKzB4MDIgKzB4MDEsCiAgKDB4OEE8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEs
CiAgKDB4OEI8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OEM8
PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4OEQ8PDgpKzB4ODAgKzB4MTAg
KzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OEU8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4OEY8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEs
CiAgKDB4OTA8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OTE8PDgpKzB4ODAgKzB4
MDIgKzB4MDEsCiAgKDB4OTI8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4OTM8PDgpKzB4ODAg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OTQ8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4OTU8
PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OTY8PDgpKzB4ODAgKzB4MDQgKzB4MDIg
KzB4MDEsCiAgKDB4OTc8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4OTg8PDgpKzB4ODAgKzB4
MDggKzB4MDIgKzB4MDEsCiAgKDB4OTk8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEs
CiAgKDB4OUE8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OUI8
PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4OUM8PDgpKzB4ODAgKzB4MTAg
KzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4OUQ8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4
MDIgKzB4MDEsCiAgKDB4OUU8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4
OUY8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTA8PDgpKzB4
ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTE8PDgpKzB4ODAgKzB4MjAgKzB4MDIg
KzB4MDEsCiAgKDB4QTI8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4QTM8PDgpKzB4
ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTQ8PDgpKzB4ODAgKzB4MjAgKzB4MDIg
KzB4MDEsCiAgKDB4QTU8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTY8
PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QTc8PDgpKzB4ODAgKzB4MjAg
KzB4MDIgKzB4MDEsCiAgKDB4QTg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAg
KDB4QTk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QUE8PDgp
KzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QUI8PDgpKzB4
ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4QUM8PDgpKzB4ODAgKzB4MjAg
KzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QUQ8PDgpKzB4ODAgKzB4MjAgKzB4
MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4QUU8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDgg
KzB4MDIgKzB4MDEsCiAgKDB4QUY8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4
MDIgKzB4MDEsCiAgKDB4QjA8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4QjE8PDgp
KzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QjI8PDgpKzB4ODAgKzB4MjAgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4QjM8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4
QjQ8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QjU8PDgpKzB4ODAgKzB4
MjAgKzB4MDIgKzB4MDEsCiAgKDB4QjY8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4
Qjc8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Qjg8PDgpKzB4ODAgKzB4
MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Qjk8PDgpKzB4ODAgKzB4MjAgKzB4MDgg
KzB4MDIgKzB4MDEsCiAgKDB4QkE8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4
MDEsCiAgKDB4QkI8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEs
CiAgKDB4QkM8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4QkQ8
PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QkU8PDgp
KzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4QkY8PDgpKzB4
ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4QzA8PDgpKzB4ODAgKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4QzE8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4QzI8PDgpKzB4
ODAgKzB4MDIgKzB4MDEsCiAgKDB4QzM8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4
QzQ8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4QzU8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4
MDEsCiAgKDB4QzY8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Qzc8PDgpKzB4ODAg
KzB4MDIgKzB4MDEsCiAgKDB4Qzg8PDgpKzB4ODAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4Qzk8
PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Q0E8PDgpKzB4ODAgKzB4MTAg
KzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Q0I8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4
MDIgKzB4MDEsCiAgKDB4Q0M8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEs
CiAgKDB4Q0Q8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4Q0U8PDgpKzB4
ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4Q0Y8PDgpKzB4ODAgKzB4MTAgKzB4MDgg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDA8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4RDE8
PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDI8PDgpKzB4ODAgKzB4MDQgKzB4MDIg
KzB4MDEsCiAgKDB4RDM8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4RDQ8PDgpKzB4ODAgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDU8PDgpKzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4RDY8PDgp
KzB4ODAgKzB4MDIgKzB4MDEsCiAgKDB4RDc8PDgpKzB4ODAgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4RDg8PDgpKzB4ODAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RDk8PDgpKzB4ODAg
KzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4REE8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4
MDEsCiAgKDB4REI8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4
REM8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4REQ8PDgpKzB4ODAgKzB4
MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4REU8PDgpKzB4ODAgKzB4MTAgKzB4MDgg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4REY8PDgpKzB4ODAgKzB4MTAgKzB4MDggKzB4MDIgKzB4
MDEsCiAgKDB4RTA8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RTE8PDgpKzB4ODAg
KzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTI8PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4
MDIgKzB4MDEsCiAgKDB4RTM8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RTQ8PDgp
KzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTU8PDgpKzB4ODAgKzB4MjAgKzB4
MDIgKzB4MDEsCiAgKDB4RTY8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RTc8PDgp
KzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTg8PDgpKzB4ODAgKzB4MjAgKzB4
MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RTk8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDIg
KzB4MDEsCiAgKDB4RUE8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAg
KDB4RUI8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4
RUM8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4RUQ8PDgpKzB4
ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RUU8PDgpKzB4ODAg
KzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RUY8PDgpKzB4ODAgKzB4
MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4RjA8PDgpKzB4ODAgKzB4MjAgKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4RjE8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RjI8
PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RjM8PDgpKzB4ODAgKzB4MjAgKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4RjQ8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4RjU8
PDgpKzB4ODAgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RjY8PDgpKzB4ODAgKzB4MjAg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4Rjc8PDgpKzB4ODAgKzB4MjAgKzB4MDIgKzB4MDEsCiAg
KDB4Rjg8PDgpKzB4ODAgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4Rjk8PDgpKzB4ODAg
KzB4MjAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RkE8PDgpKzB4ODAgKzB4MjAgKzB4
MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4RkI8PDgpKzB4ODAgKzB4MjAgKzB4MTAg
KzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4RkM8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4RkQ8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIg
KzB4MDEsCiAgKDB4RkU8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAg
KDB4RkY8PDgpKzB4ODAgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4
MDA8PDgpICsweDQwICsweDA0ICsweDAyICsweDAxLAogICgweDAxPDw4KSArMHgwMiArMHgwMSwK
ICAoMHgwMjw8OCkgKzB4MDIgKzB4MDEsCiAgKDB4MDM8PDgpICsweDA0ICsweDAyICsweDAxLAog
ICgweDA0PDw4KSArMHgwMiArMHgwMSwKICAoMHgwNTw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4MDY8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDA3PDw4KSArMHgwMiArMHgwMSwKICAo
MHgwODw8OCkgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4MDk8PDgpICsweDA4ICsweDA0ICsweDAy
ICsweDAxLAogICgweDBBPDw4KSArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHgw
Qjw8OCkgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4MEM8PDgpICsweDEwICsweDA4ICsw
eDA0ICsweDAyICsweDAxLAogICgweDBEPDw4KSArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAo
MHgwRTw8OCkgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4MEY8PDgpICsweDEwICsweDA4
ICsweDA0ICsweDAyICsweDAxLAogICgweDEwPDw4KSArMHgwMiArMHgwMSwKICAoMHgxMTw8OCkg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4MTI8PDgpICsweDA0ICsweDAyICsweDAxLAogICgweDEz
PDw4KSArMHgwMiArMHgwMSwKICAoMHgxNDw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4MTU8
PDgpICsweDAyICsweDAxLAogICgweDE2PDw4KSArMHgwMiArMHgwMSwKICAoMHgxNzw8OCkgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4MTg8PDgpICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgw
eDE5PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAoMHgxQTw8OCkgKzB4MTAgKzB4MDggKzB4MDIg
KzB4MDEsCiAgKDB4MUI8PDgpICsweDEwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDFD
PDw4KSArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHgxRDw8OCkgKzB4MTAgKzB4MDggKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4MUU8PDgpICsweDEwICsweDA4ICsweDA0ICsweDAyICsweDAx
LAogICgweDFGPDw4KSArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHgyMDw8OCkgKzB4MjAg
KzB4MDIgKzB4MDEsCiAgKDB4MjE8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDIy
PDw4KSArMHgyMCArMHgwNCArMHgwMiArMHgwMSwKICAoMHgyMzw8OCkgKzB4MjAgKzB4MDIgKzB4
MDEsCiAgKDB4MjQ8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDI1PDw4KSArMHgy
MCArMHgwMiArMHgwMSwKICAoMHgyNjw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4Mjc8PDgp
ICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDI4PDw4KSArMHgyMCArMHgwOCArMHgwNCAr
MHgwMiArMHgwMSwKICAoMHgyOTw8OCkgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4MkE8
PDgpICsweDIwICsweDEwICsweDA4ICsweDAyICsweDAxLAogICgweDJCPDw4KSArMHgyMCArMHgx
MCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHgyQzw8OCkgKzB4MjAgKzB4MTAgKzB4MDgg
KzB4MDIgKzB4MDEsCiAgKDB4MkQ8PDgpICsweDIwICsweDEwICsweDA4ICsweDA0ICsweDAyICsw
eDAxLAogICgweDJFPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAo
MHgyRjw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4MzA8PDgpICsweDIw
ICsweDA0ICsweDAyICsweDAxLAogICgweDMxPDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHgz
Mjw8OCkgKzB4MjAgKzB4MDIgKzB4MDEsCiAgKDB4MzM8PDgpICsweDIwICsweDA0ICsweDAyICsw
eDAxLAogICgweDM0PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHgzNTw8OCkgKzB4MjAgKzB4
MDQgKzB4MDIgKzB4MDEsCiAgKDB4MzY8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgw
eDM3PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHgzODw8OCkgKzB4MjAgKzB4MDggKzB4MDIg
KzB4MDEsCiAgKDB4Mzk8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDNB
PDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHgzQjw8OCkgKzB4
MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4M0M8PDgpICsweDIwICsweDEwICsweDA4
ICsweDA0ICsweDAyICsweDAxLAogICgweDNEPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwMiAr
MHgwMSwKICAoMHgzRTw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4M0Y8
PDgpICsweDIwICsweDEwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDQwPDw4KSArMHgw
MiArMHgwMSwKICAoMHg0MTw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NDI8PDgpICsweDA0
ICsweDAyICsweDAxLAogICgweDQzPDw4KSArMHgwMiArMHgwMSwKICAoMHg0NDw8OCkgKzB4MDQg
KzB4MDIgKzB4MDEsCiAgKDB4NDU8PDgpICsweDAyICsweDAxLAogICgweDQ2PDw4KSArMHgwMiAr
MHgwMSwKICAoMHg0Nzw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NDg8PDgpICsweDA4ICsw
eDA0ICsweDAyICsweDAxLAogICgweDQ5PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAoMHg0QTw8
OCkgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NEI8PDgpICsweDEwICsweDA4ICsweDA0
ICsweDAyICsweDAxLAogICgweDRDPDw4KSArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg0
RDw8OCkgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NEU8PDgpICsweDEwICsw
eDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDRGPDw4KSArMHgxMCArMHgwOCArMHgwMiArMHgw
MSwKICAoMHg1MDw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NTE8PDgpICsweDAyICsweDAx
LAogICgweDUyPDw4KSArMHgwMiArMHgwMSwKICAoMHg1Mzw8OCkgKzB4MDQgKzB4MDIgKzB4MDEs
CiAgKDB4NTQ8PDgpICsweDAyICsweDAxLAogICgweDU1PDw4KSArMHgwNCArMHgwMiArMHgwMSwK
ICAoMHg1Njw8OCkgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NTc8PDgpICsweDAyICsweDAxLAog
ICgweDU4PDw4KSArMHgwOCArMHgwMiArMHgwMSwKICAoMHg1OTw8OCkgKzB4MDggKzB4MDQgKzB4
MDIgKzB4MDEsCiAgKDB4NUE8PDgpICsweDEwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgw
eDVCPDw4KSArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg1Qzw8OCkgKzB4MTAgKzB4MDgg
KzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NUQ8PDgpICsweDEwICsweDA4ICsweDAyICsweDAxLAog
ICgweDVFPDw4KSArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg1Rjw8OCkgKzB4MTAgKzB4
MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NjA8PDgpICsweDIwICsweDA0ICsweDAyICsweDAx
LAogICgweDYxPDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg2Mjw8OCkgKzB4MjAgKzB4MDIg
KzB4MDEsCiAgKDB4NjM8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDY0PDw4KSAr
MHgyMCArMHgwMiArMHgwMSwKICAoMHg2NTw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAg
KDB4NjY8PDgpICsweDIwICsweDA0ICsweDAyICsweDAxLAogICgweDY3PDw4KSArMHgyMCArMHgw
MiArMHgwMSwKICAoMHg2ODw8OCkgKzB4MjAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4Njk8PDgp
ICsweDIwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDZBPDw4KSArMHgyMCArMHgxMCAr
MHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg2Qjw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4
MDIgKzB4MDEsCiAgKDB4NkM8PDgpICsweDIwICsweDEwICsweDA4ICsweDA0ICsweDAyICsweDAx
LAogICgweDZEPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg2RTw8OCkg
KzB4MjAgKzB4MTAgKzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4NkY8PDgpICsweDIwICsweDEwICsw
eDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDcwPDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAo
MHg3MTw8OCkgKzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NzI8PDgpICsweDIwICsweDA0
ICsweDAyICsweDAxLAogICgweDczPDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg3NDw8OCkg
KzB4MjAgKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4NzU8PDgpICsweDIwICsweDAyICsweDAxLAog
ICgweDc2PDw4KSArMHgyMCArMHgwMiArMHgwMSwKICAoMHg3Nzw8OCkgKzB4MjAgKzB4MDQgKzB4
MDIgKzB4MDEsCiAgKDB4Nzg8PDgpICsweDIwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgw
eDc5PDw4KSArMHgyMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg3QTw8OCkgKzB4MjAgKzB4MTAg
KzB4MDggKzB4MDIgKzB4MDEsCiAgKDB4N0I8PDgpICsweDIwICsweDEwICsweDA4ICsweDA0ICsw
eDAyICsweDAxLAogICgweDdDPDw4KSArMHgyMCArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAo
MHg3RDw8OCkgKzB4MjAgKzB4MTAgKzB4MDggKzB4MDQgKzB4MDIgKzB4MDEsCiAgKDB4N0U8PDgp
ICsweDIwICsweDEwICsweDA4ICsweDA0ICsweDAyICsweDAxLAogICgweDdGPDw4KSArMHgyMCAr
MHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg4MDw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAo
MHg4MTw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4Mjw8OCkrMHg4MCArMHgwNCAr
MHgwMiArMHgwMSwKICAoMHg4Mzw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg4NDw8OCkrMHg4
MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4NTw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg4
Njw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg4Nzw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgw
MSwKICAoMHg4ODw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4OTw8OCkr
MHg4MCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg4QTw8OCkrMHg4MCArMHgxMCArMHgwOCArMHgw
MiArMHgwMSwKICAoMHg4Qjw8OCkrMHg4MCArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwK
ICAoMHg4Qzw8OCkrMHg4MCArMHgxMCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg4RDw8OCkrMHg4
MCArMHgxMCArMHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4RTw8OCkrMHg4MCArMHgxMCAr
MHgwOCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg4Rjw8OCkrMHg4MCArMHgxMCArMHgwOCArMHgw
MiArMHgwMSwKICAoMHg5MDw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg5MTw8OCkr
MHg4MCArMHgwMiArMHgwMSwKICAoMHg5Mjw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg5Mzw8
OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg5NDw8OCkrMHg4MCArMHgwMiArMHgwMSwK
ICAoMHg5NTw8OCkrMHg4MCArMHgwNCArMHgwMiArMHgwMSwKICAoMHg5Njw8OCkrMHg4MCArMHgw
NCArMHgwMiArMHgwMSwKICAoMHg5Nzw8OCkrMHg4MCArMHgwMiArMHgwMSwKICAoMHg5ODw8OCkr
MHg4MCArMHgwOCArMHgwMiArMHgwMSwKICAoMHg5OTw8OCkrMHg4MCArMHgwOCArMHgwNCArMHgw
MiArMHgwMQp9OwojIDY1ICJzcmMvY3B1L2k4MDg1L2k4MDg1LmMiIDIKIyA3NyAic3JjL2NwdS9p
ODA4NS9pODA4NS5jIgpzdGF0aWMgVUlOVDggaTgwODVfcmVnX2xheW91dFtdID0gewogICAgICAg
IEk4MDg1X1BDLEk4MDg1X1NQLEk4MDg1X0FGLEk4MDg1X0JDLEk4MDg1X0RFLEk4MDg1X0hMLCAt
MSwKICAgICAgICBJODA4NV9IQUxULEk4MDg1X0lNLEk4MDg1X0lSRVEsSTgwODVfSVNSVixJODA4
NV9WRUNUT1IsIC0xLAogICAgICAgIEk4MDg1X1RSQVBfU1RBVEUsSTgwODVfSU5UUl9TVEFURSxJ
ODA4NV9SU1Q1NV9TVEFURSxJODA4NV9SU1Q2NV9TVEFURSxJODA4NV9SU1Q3NV9TVEFURSwKICAg
ICAgICAwIH07CgoKc3RhdGljIFVJTlQ4IGk4MDg1X3dpbl9sYXlvdXRbXSA9IHsKICAgICAgICAy
NSwgMCw1NSwgMywKICAgICAgICAgMCwgMCwyNCwyMiwKICAgICAgICAyNSwgNCw1NSwgOSwKICAg
ICAgICAyNSwxNCw1NSwgOCwKICAgICAgICAgMCwyMyw4MCwgMSwKfTsKCgp0eXBlZGVmIHN0cnVj
dCB7CiAgICAgICAgaW50IGNwdXR5cGU7CiAgICAgICAgUEFJUiBQQyxTUCxBRixCQyxERSxITCxY
WDsKICAgICAgICBVSU5UOCBIQUxUOwogICAgICAgIFVJTlQ4IElNOwogICAgICAgIFVJTlQ4IElS
RVE7CiAgICAgICAgVUlOVDggSVNSVjsKICAgICAgICBVSU5UMzIgSU5UUjsKICAgICAgICBVSU5U
MzIgSVJRMjsKICAgICAgICBVSU5UMzIgSVJRMTsKICAgICAgICBJTlQ4IG5taV9zdGF0ZTsKICAg
ICAgICBJTlQ4IGlycV9zdGF0ZVs0XTsKICAgICAgICBJTlQ4IGZpbGxlcjsKICAgICAgICBpbnQg
KCppcnFfY2FsbGJhY2spKGludCk7CiAgICAgICAgdm9pZCAoKnNvZF9jYWxsYmFjaykoaW50IHN0
YXRlKTsKfSBpODA4NV9SZWdzOwoKaW50IGk4MDg1X0lDb3VudCA9IDA7CgpzdGF0aWMgaTgwODVf
UmVncyBJOwpzdGF0aWMgVUlOVDggWlNbMjU2XTsKc3RhdGljIFVJTlQ4IFpTUFsyNTZdOwoKc3Rh
dGljIFVJTlQ4IFJPUCh2b2lkKQp7CiAgICAgICAgcmV0dXJuIChPUF9ST01bKEkuUEMudy5sKysp
ICYgbWVtX2FtYXNrXSk7Cn0KCnN0YXRpYyBVSU5UOCBBUkcodm9pZCkKewogICAgICAgIHJldHVy
biAoT1BfUkFNWyhJLlBDLncubCsrKSAmIG1lbV9hbWFza10pOwp9CgpzdGF0aWMgVUlOVDE2IEFS
RzE2KHZvaWQpCnsKICAgICAgICBVSU5UMTYgdzsKICAgICAgICB3ID0gKE9QX1JBTVsoSS5QQy5k
KSAmIG1lbV9hbWFza10pOwogICAgICAgIEkuUEMudy5sKys7CiAgICAgICAgdyArPSAoT1BfUkFN
WyhJLlBDLmQpICYgbWVtX2FtYXNrXSkgPDwgODsKICAgICAgICBJLlBDLncubCsrOwogICAgICAg
IHJldHVybiB3Owp9CgpzdGF0aWMgVUlOVDggUk0oVUlOVDMyIGEpCnsKICAgICAgICByZXR1cm4g
Y3B1X3JlYWRtZW0xNihhKTsKfQoKc3RhdGljIHZvaWQgV00oVUlOVDMyIGEsIFVJTlQ4IHYpCnsK
ICAgICAgICBjcHVfd3JpdGVtZW0xNihhLCB2KTsKfQoKc3RhdGljIHZvaWQgaWxsZWdhbCh2b2lk
KQp7CgoKCgp9CgpzdGF0aWMgX19pbmxpbmVfXyB2b2lkIGV4ZWN1dGVfb25lKGludCBvcGNvZGUp
CnsKICAgICAgICBzd2l0Y2ggKG9wY29kZSkKICAgICAgICB7CiAgICAgICAgICAgICAgICBjYXNl
IDB4MDA6IGk4MDg1X0lDb3VudCAtPSA0OwoKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICBjYXNlIDB4MDE6IGk4MDg1X0lDb3VudCAtPSAxMDsKICAgICAgICAg
ICAgICAgICAgICAgICAgSS5CQy53LmwgPSBBUkcxNigpOwogICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgwMjogaTgwODVfSUNvdW50IC09IDc7CiAg
ICAgICAgICAgICAgICAgICAgICAgIFdNKEkuQkMuZCwgSS5BRi5iLmgpOwogICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgwMzogaTgwODVfSUNvdW50
IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQkMudy5sKys7CiAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIChJLkJDLmIubCA9PSAweDAwKSBJLkFGLmIubCB8PSAweDA4OyBlbHNlIEku
QUYuYi5sICY9IH4weDA4OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgIGNhc2UgMHgwNDogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAg
ICAgICsrSS5CQy5iLmg7IEkuQUYuYi5sPShJLkFGLmIubCYweDAxKXxaU1tJLkJDLmIuaF18KChJ
LkJDLmIuaD09MHg4MCk/MHgwNDowKXwoKEkuQkMuYi5oJjB4MEYpPzA6MHgxMCk7CiAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDA1OiBpODA4NV9J
Q291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5BRi5iLmw9KEkuQUYuYi5sJjB4
MDEpfDB4MDJ8KChJLkJDLmIuaD09MHg4MCk/MHgwNDowKXwoKEkuQkMuYi5oJjB4MEYpPzA6MHgx
MCk7IEkuQUYuYi5sfD1aU1stLUkuQkMuYi5oXTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4MDY6IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAg
ICAgICAgICAgICAgICAgICBJLkJDLmIuaD1BUkcoKTsKICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4MDc6IGk4MDg1X0lDb3VudCAtPSA0OwogICAg
ICAgICAgICAgICAgICAgICAgICB7IEkuQUYuYi5oID0gKEkuQUYuYi5oIDw8IDEpIHwgKEkuQUYu
Yi5oID4+IDcpOyBJLkFGLmIubCA9IChJLkFGLmIubCAmIH4oMHgxMCArMHgwMiArMHgwMSkpIHwg
KEkuQUYuYi5oICYgMHgwMSk7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAg
ICAgICAgICAgICAgIGNhc2UgMHgwODoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoIEkuY3B1
dHlwZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9JQ291bnQgLT0g
MTA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyBpbnQgcSA9IEkuSEwuYi5sLUku
QkMuYi5sOyBJLkFGLmIubD1aU1txJjI1NV18KChxPj44KSYweDAxKXwweDAyfCAoKEkuSEwuYi5s
XnFeSS5CQy5iLmwpJjB4MTApfCAoKChJLkJDLmIubF5JLkhMLmIubCkmKEkuSEwuYi5sXnEpJjB4
ODApPj41KTsgSS5ITC5iLmw9cTsgcSA9IEkuSEwuYi5oLUkuQkMuYi5oLShJLkFGLmIubCYweDAx
KTsgSS5BRi5iLmw9WlNbcSYyNTVdfCgocT4+OCkmMHgwMSl8MHgwMnwgKChJLkhMLmIuaF5xXkku
QkMuYi5oKSYweDEwKXwgKCgoSS5CQy5iLmheSS5ITC5iLmgpJihJLkhMLmIuaF5xKSYweDgwKT4+
NSk7IGlmIChJLkhMLmIubCE9MCkgSS5BRi5iLmwmPX4weDQwOyB9OwogICAgICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg1X0lD
b3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlsbGVnYWwoKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgICAgIGNhc2UgMHgwOTogaTgwODVfSUNvdW50IC09IDEwOwogICAgICAgICAgICAg
ICAgICAgICAgICBhc20gKCAiIGFuZGIgJDB4YzQsJTEgICAgICAgIFxuIiAiIGFkZGIgJSVhbCwl
JWNsICAgICAgIFxuIiAiIGFkY2IgJSVhaCwlJWNoICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAg
ICAgICAgIFxuIiAiIGFuZGIgJDB4MTEsJSVhaCAgICAgIFxuIiAiIG9yYiAlJWFoLCUxICAgICAg
ICAgIFxuIiA6Ij1jIiAoSS5ITC5kKSwgIj1nIiAoSS5BRi5iLmwpIDoiMCIgKEkuSEwuZCksICIx
IiAoSS5BRi5iLmwpLCAiYSIgKEkuQkMuZCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4MGE6IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAg
ICAgICAgICAgICAgICAgICBJLkFGLmIuaCA9IFJNKEkuQkMuZCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDBiOiBpODA4NV9JQ291bnQgLT0g
NTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5CQy53LmwtLTsKICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKEkuQkMuYi5sID09IDB4ZmYpIEkuQUYuYi5sIHw9IDB4MDg7IGVsc2UgSS5BRi5i
LmwgJj0gfjB4MDg7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgY2FzZSAweDBjOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAg
KytJLkJDLmIubDsgSS5BRi5iLmw9KEkuQUYuYi5sJjB4MDEpfFpTW0kuQkMuYi5sXXwoKEkuQkMu
Yi5sPT0weDgwKT8weDA0OjApfCgoSS5CQy5iLmwmMHgwRik/MDoweDEwKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4MGQ6IGk4MDg1X0lDb3Vu
dCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIubD0oSS5BRi5iLmwmMHgwMSl8
MHgwMnwoKEkuQkMuYi5sPT0weDgwKT8weDA0OjApfCgoSS5CQy5iLmwmMHgwRik/MDoweDEwKTsg
SS5BRi5iLmx8PVpTWy0tSS5CQy5iLmxdOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgIGNhc2UgMHgwZTogaTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAg
ICAgICAgICAgICAgIEkuQkMuYi5sPUFSRygpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgICAgIGNhc2UgMHgwZjogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAg
ICAgICAgICAgICAgICAgIHsgSS5BRi5iLmwgPSAoSS5BRi5iLmwgJiB+KDB4MTAgKzB4MDIgKzB4
MDEpKSB8IChJLkFGLmIuaCAmIDB4MDEpOyBJLkFGLmIuaCA9IChJLkFGLmIuaCA+PiAxKSB8IChJ
LkFGLmIuaCA8PCA3KTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAg
ICAgICAgICAgY2FzZSAweDEwOgogICAgICAgICAgICAgICAgICAgICAgICBpZiggSS5jcHV0eXBl
ICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg1X0lDb3VudCAtPSA3Owog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5sID0gKEkuQUYuYi5sICYgfjB4
MDEpIHwgKEkuSEwuYi5sICYgMHgwMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SS5ITC53LmwgPSAoSS5ITC53LmwgPj4gMSk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTgwODVfSUNvdW50IC09IDg7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWxsZWdhbCgpOwogICAgICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
Y2FzZSAweDExOiBpODA4NV9JQ291bnQgLT0gMTA7CiAgICAgICAgICAgICAgICAgICAgICAgIEku
REUudy5sID0gQVJHMTYoKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICBjYXNlIDB4MTI6IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAgICAgICAg
ICAgICBXTShJLkRFLmQsIEkuQUYuYi5oKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICBjYXNlIDB4MTM6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAg
ICAgICAgICAgICAgICBJLkRFLncubCsrOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoSS5E
RS5iLmwgPT0gMHgwMCkgSS5BRi5iLmwgfD0gMHgwODsgZWxzZSBJLkFGLmIubCAmPSB+MHgwODsK
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4MTQ6
IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICArK0kuREUuYi5oOyBJ
LkFGLmIubD0oSS5BRi5iLmwmMHgwMSl8WlNbSS5ERS5iLmhdfCgoSS5ERS5iLmg9PTB4ODApPzB4
MDQ6MCl8KChJLkRFLmIuaCYweDBGKT8wOjB4MTApOwogICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgxNTogaTgwODVfSUNvdW50IC09IDU7CiAgICAg
ICAgICAgICAgICAgICAgICAgIEkuQUYuYi5sPShJLkFGLmIubCYweDAxKXwweDAyfCgoSS5ERS5i
Lmg9PTB4ODApPzB4MDQ6MCl8KChJLkRFLmIuaCYweDBGKT8wOjB4MTApOyBJLkFGLmIubHw9WlNb
LS1JLkRFLmIuaF07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgY2FzZSAweDE2OiBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAg
SS5ERS5iLmg9QVJHKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgY2FzZSAweDE3OiBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAg
ICAgeyBpbnQgYyA9IEkuQUYuYi5sJjB4MDE7IEkuQUYuYi5sID0gKEkuQUYuYi5sICYgfigweDEw
ICsweDAyICsweDAxKSkgfCAoSS5BRi5iLmggPj4gNyk7IEkuQUYuYi5oID0gKEkuQUYuYi5oIDw8
IDEpIHwgYzsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAg
ICAgY2FzZSAweDE4OgogICAgICAgICAgICAgICAgICAgICAgICBpZiggSS5jcHV0eXBlICkgewog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg1X0lDb3VudCAtPSAxMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIubCA9IChJLkFGLmIubCAmIH4oMHgwMSB8
IDB4MDQpKSB8IChJLkRFLmIuaCA+PiA3KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJLkRFLncubCA9IChJLkRFLncubCA8PCAxKSB8IChJLkRFLncubCA+PiAxNSk7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKDAgIT0gKCgoSS5ERS53LmwgPj4gMTUpIF4gSS5B
Ri5iLmwpICYgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ
LkFGLmIubCB8PSAweDA0OwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlsbGVnYWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgxOTog
aTgwODVfSUNvdW50IC09IDEwOwogICAgICAgICAgICAgICAgICAgICAgICBhc20gKCAiIGFuZGIg
JDB4YzQsJTEgICAgICAgIFxuIiAiIGFkZGIgJSVhbCwlJWNsICAgICAgIFxuIiAiIGFkY2IgJSVh
aCwlJWNoICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgIFxuIiAiIGFuZGIgJDB4MTEs
JSVhaCAgICAgIFxuIiAiIG9yYiAlJWFoLCUxICAgICAgICAgIFxuIiA6Ij1jIiAoSS5ITC5kKSwg
Ij1nIiAoSS5BRi5iLmwpIDoiMCIgKEkuSEwuZCksICIxIiAoSS5BRi5iLmwpLCAiYSIgKEkuREUu
ZCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNl
IDB4MWE6IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIu
aCA9IFJNKEkuREUuZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgY2FzZSAweDFiOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAg
ICAgSS5ERS53LmwtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEkuREUuYi5sID09IDB4
ZmYpIEkuQUYuYi5sIHw9IDB4MDg7IGVsc2UgSS5BRi5iLmwgJj0gfjB4MDg7CiAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDFjOiBpODA4NV9JQ291
bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgKytJLkRFLmIubDsgSS5BRi5iLmw9KEku
QUYuYi5sJjB4MDEpfFpTW0kuREUuYi5sXXwoKEkuREUuYi5sPT0weDgwKT8weDA0OjApfCgoSS5E
RS5iLmwmMHgwRik/MDoweDEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICBjYXNlIDB4MWQ6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAg
ICAgICAgICBJLkFGLmIubD0oSS5BRi5iLmwmMHgwMSl8MHgwMnwoKEkuREUuYi5sPT0weDgwKT8w
eDA0OjApfCgoSS5ERS5iLmwmMHgwRik/MDoweDEwKTsgSS5BRi5iLmx8PVpTWy0tSS5ERS5iLmxd
OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgx
ZTogaTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuREUuYi5sPUFS
RygpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2Ug
MHgxZjogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgaW50IGMg
PSAoSS5BRi5iLmwmMHgwMSkgPDwgNzsgSS5BRi5iLmwgPSAoSS5BRi5iLmwgJiB+KDB4MTAgKzB4
MDIgKzB4MDEpKSB8IChJLkFGLmIuaCAmIDB4MDEpOyBJLkFGLmIuaCA9IChJLkFGLmIuaCA+PiAx
KSB8IGM7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAg
IGNhc2UgMHgyMDoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoIEkuY3B1dHlwZSApIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaCA9IEkuSU07CgogICAgICAgICAgICAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg1X0lD
b3VudCAtPSA3OwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDIxOiBpODA4NV9JQ291bnQgLT0gMTA7
CiAgICAgICAgICAgICAgICAgICAgICAgIEkuSEwudy5sID0gQVJHMTYoKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4MjI6IGk4MDg1X0lDb3Vu
dCAtPSAxNjsKICAgICAgICAgICAgICAgICAgICAgICAgSS5YWC53LmwgPSBBUkcxNigpOwogICAg
ICAgICAgICAgICAgICAgICAgICBXTShJLlhYLmQsIEkuSEwuYi5sKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgSS5YWC53LmwrKzsKICAgICAgICAgICAgICAgICAgICAgICAgV00oSS5YWC5kLCBJ
LkhMLmIuaCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
Y2FzZSAweDIzOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5I
TC53LmwrKzsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEkuSEwuYi5sID09IDB4MDApIEku
QUYuYi5sIHw9IDB4MDg7IGVsc2UgSS5BRi5iLmwgJj0gfjB4MDg7CiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDI0OiBpODA4NV9JQ291bnQgLT0g
NTsKICAgICAgICAgICAgICAgICAgICAgICAgKytJLkhMLmIuaDsgSS5BRi5iLmw9KEkuQUYuYi5s
JjB4MDEpfFpTW0kuSEwuYi5oXXwoKEkuSEwuYi5oPT0weDgwKT8weDA0OjApfCgoSS5ITC5iLmgm
MHgwRik/MDoweDEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICBjYXNlIDB4MjU6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAg
ICBJLkFGLmIubD0oSS5BRi5iLmwmMHgwMSl8MHgwMnwoKEkuSEwuYi5oPT0weDgwKT8weDA0OjAp
fCgoSS5ITC5iLmgmMHgwRik/MDoweDEwKTsgSS5BRi5iLmx8PVpTWy0tSS5ITC5iLmhdOwogICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgyNjogaTgw
ODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuSEwuYi5oPUFSRygpOwog
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgyNzog
aTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuWFguZCA9IEkuQUYu
Yi5oOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAoSS5BRi5iLmwgJiAweDAxKSBJLlhYLmQg
fD0gMHgxMDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChJLkFGLmIubCAmIDB4MTApIEku
WFguZCB8PSAweDIwMDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEkuQUYuYi5sICYgMHgw
MikgSS5YWC5kIHw9IDB4NDAwOwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLncubCA9IERB
QVtJLlhYLmRdOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAg
ICBjYXNlIDB4Mjg6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBJLmNwdXR5cGUgKSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTgwODVfSUNvdW50IC09IDEwOwogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEkuWFguZCA9IEFSRygpOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEkuREUuZCA9IChJLkhMLmQgKyBJLlhYLmQpICYgMHhmZmZmOwogICAg
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGls
bGVnYWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgyOTogaTgwODVfSUNvdW50IC09IDEwOwog
ICAgICAgICAgICAgICAgICAgICAgICBhc20gKCAiIGFuZGIgJDB4YzQsJTEgICAgICAgIFxuIiAi
IGFkZGIgJSVhbCwlJWNsICAgICAgIFxuIiAiIGFkY2IgJSVhaCwlJWNoICAgICAgIFxuIiAiIGxh
aGYgICAgICAgICAgICAgICAgIFxuIiAiIGFuZGIgJDB4MTEsJSVhaCAgICAgIFxuIiAiIG9yYiAl
JWFoLCUxICAgICAgICAgIFxuIiA6Ij1jIiAoSS5ITC5kKSwgIj1nIiAoSS5BRi5iLmwpIDoiMCIg
KEkuSEwuZCksICIxIiAoSS5BRi5iLmwpLCAiYSIgKEkuSEwuZCkgKTsKICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4MmE6IGk4MDg1X0lDb3VudCAt
PSAxNjsKICAgICAgICAgICAgICAgICAgICAgICAgSS5YWC5kID0gQVJHMTYoKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgSS5ITC5iLmwgPSBSTShJLlhYLmQpOwogICAgICAgICAgICAgICAgICAg
ICAgICBJLlhYLncubCsrOwogICAgICAgICAgICAgICAgICAgICAgICBJLkhMLmIuaCA9IFJNKEku
WFguZCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2Fz
ZSAweDJiOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5ITC53
LmwtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEkuSEwuYi5sID09IDB4ZmYpIEkuQUYu
Yi5sIHw9IDB4MDg7IGVsc2UgSS5BRi5iLmwgJj0gfjB4MDg7CiAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDJjOiBpODA4NV9JQ291bnQgLT0gNTsK
ICAgICAgICAgICAgICAgICAgICAgICAgKytJLkhMLmIubDsgSS5BRi5iLmw9KEkuQUYuYi5sJjB4
MDEpfFpTW0kuSEwuYi5sXXwoKEkuSEwuYi5sPT0weDgwKT8weDA0OjApfCgoSS5ITC5iLmwmMHgw
Rik/MDoweDEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICBjYXNlIDB4MmQ6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJ
LkFGLmIubD0oSS5BRi5iLmwmMHgwMSl8MHgwMnwoKEkuSEwuYi5sPT0weDgwKT8weDA0OjApfCgo
SS5ITC5iLmwmMHgwRik/MDoweDEwKTsgSS5BRi5iLmx8PVpTWy0tSS5ITC5iLmxdOwogICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgyZTogaTgwODVf
SUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuSEwuYi5sPUFSRygpOwogICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgyZjogaTgw
ODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5oIF49IDB4ZmY7
CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5sIHw9IDB4MTAgKyAweDAyOwogICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlIDB4MzA6CiAgICAg
ICAgICAgICAgICAgICAgICAgIGlmKCBJLmNwdXR5cGUgKSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKChJLklNIF4gSS5BRi5iLmgpICYgMHg4MCkKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChJLnNvZF9jYWxsYmFjaykgKCpJLnNvZF9jYWxsYmFjayko
SS5BRi5iLmggPj4gNyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSS5JTSAmPSAo
MHg4MCArIDB4MjAgKyAweDEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJLklN
IHw9IChJLkFGLmIuaCAmIH4oMHg4MCArIDB4NDAgKyAweDIwICsgMHgxMCkpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChJLkFGLmIuaCAmIDB4ODApIEkuSU0gfD0gMHg0MDsK
ICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgzMTogaTgw
ODVfSUNvdW50IC09IDEwOwogICAgICAgICAgICAgICAgICAgICAgICBJLlNQLncubCA9IEFSRzE2
KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAw
eDMyOiBpODA4NV9JQ291bnQgLT0gMTM7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuWFguZCA9
IEFSRzE2KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIFdNKEkuWFguZCwgSS5BRi5iLmgpOwog
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgzMzog
aTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuU1Audy5sKys7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChJLlNQLmIubCA9PSAweDAwKSBJLkFGLmIubCB8PSAw
eDA4OyBlbHNlIEkuQUYuYi5sICY9IH4weDA4OwogICAgICAgICAgICAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgICAgICAgIGNhc2UgMHgzNDogaTgwODVfSUNvdW50IC09IDEwOwogICAgICAg
ICAgICAgICAgICAgICAgICBJLlhYLmIubCA9IFJNKEkuSEwuZCk7CiAgICAgICAgICAgICAgICAg
ICAgICAgICsrSS5YWC5iLmw7IEkuQUYuYi5sPShJLkFGLmIubCYweDAxKXxaU1tJLlhYLmIubF18
KChJLlhYLmIubD09MHg4MCk/MHgwNDowKXwoKEkuWFguYi5sJjB4MEYpPzA6MHgxMCk7CiAgICAg
ICAgICAgICAgICAgICAgICAgIFdNKEkuSEwuZCwgSS5YWC5iLmwpOwogICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgzNTogaTgwODVfSUNvdW50IC09
IDEwOwogICAgICAgICAgICAgICAgICAgICAgICBJLlhYLmIubCA9IFJNKEkuSEwuZCk7CiAgICAg
ICAgICAgICAgICAgICAgICAgIEkuQUYuYi5sPShJLkFGLmIubCYweDAxKXwweDAyfCgoSS5YWC5i
Lmw9PTB4ODApPzB4MDQ6MCl8KChJLlhYLmIubCYweDBGKT8wOjB4MTApOyBJLkFGLmIubHw9WlNb
LS1JLlhYLmIubF07CiAgICAgICAgICAgICAgICAgICAgICAgIFdNKEkuSEwuZCwgSS5YWC5iLmwp
OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgz
NjogaTgwODVfSUNvdW50IC09IDEwOwogICAgICAgICAgICAgICAgICAgICAgICBJLlhYLmIubCA9
IEFSRygpOwogICAgICAgICAgICAgICAgICAgICAgICBXTShJLkhMLmQsIEkuWFguYi5sKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4Mzc6IGk4
MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIubCA9IChJLkFG
LmIubCAmIH4oMHgxMCArIDB4MDIpKSB8IDB4MDE7CiAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgMHgzODoKICAgICAgICAgICAgICAgICAgICAgICAg
aWYoIEkuY3B1dHlwZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9J
Q291bnQgLT0gMTA7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSS5YWC5kID0gQVJH
KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSS5ERS5kID0gKEkuU1AuZCArIEku
WFguZCkgJiAweGZmZmY7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWxsZWdhbCgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDM5OiBp
ODA4NV9JQ291bnQgLT0gMTA7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgYW5kYiAk
MHhjNCwlMSAgICAgICAgXG4iICIgYWRkYiAlJWFsLCUlY2wgICAgICAgXG4iICIgYWRjYiAlJWFo
LCUlY2ggICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgYW5kYiAkMHgxMSwl
JWFoICAgICAgXG4iICIgb3JiICUlYWgsJTEgICAgICAgICAgXG4iIDoiPWMiIChJLkhMLmQpLCAi
PWciIChJLkFGLmIubCkgOiIwIiAoSS5ITC5kKSwgIjEiIChJLkFGLmIubCksICJhIiAoSS5TUC5k
KSApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2Ug
MHgzYTogaTgwODVfSUNvdW50IC09IDEzOwogICAgICAgICAgICAgICAgICAgICAgICBJLlhYLmQg
PSBBUkcxNigpOwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaCA9IFJNKEkuWFguZCk7
CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDNi
OiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5TUC53LmwtLTsK
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEkuU1AuYi5sID09IDB4ZmYpIEkuQUYuYi5sIHw9
IDB4MDg7IGVsc2UgSS5BRi5iLmwgJj0gfjB4MDg7CiAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDNjOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAg
ICAgICAgICAgICAgICAgICAgKytJLkFGLmIuaDsgSS5BRi5iLmw9KEkuQUYuYi5sJjB4MDEpfFpT
W0kuQUYuYi5oXXwoKEkuQUYuYi5oPT0weDgwKT8weDA0OjApfCgoSS5BRi5iLmgmMHgwRik/MDow
eDEwKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNl
IDB4M2Q6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIu
bD0oSS5BRi5iLmwmMHgwMSl8MHgwMnwoKEkuQUYuYi5oPT0weDgwKT8weDA0OjApfCgoSS5BRi5i
LmgmMHgwRik/MDoweDEwKTsgSS5BRi5iLmx8PVpTWy0tSS5BRi5iLmhdOwogICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgzZTogaTgwODVfSUNvdW50
IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5oPUFSRygpOwogICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHgzZjogaTgwODVfSUNv
dW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5sID0gKChJLkFGLmIubCAm
IH4oMHgxMCArIDB4MDIpKSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAoKEkuQUYuYi5sICYgMHgwMSkgPDwgNCkpIF4gMHgwMTsKICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAweDQwOiBpODA4NV9JQ291bnQgLT0g
NTsKCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAw
eDQxOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5CQy5iLmgg
PSBJLkJDLmIubDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICBjYXNlIDB4NDI6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJ
LkJDLmIuaCA9IEkuREUuYi5oOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgIGNhc2UgMHg0MzogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAg
ICAgICAgIEkuQkMuYi5oID0gSS5ERS5iLmw7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgICAgY2FzZSAweDQ0OiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAg
ICAgICAgICAgICAgICAgSS5CQy5iLmggPSBJLkhMLmIuaDsKICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NDU6IGk4MDg1X0lDb3VudCAtPSA1Owog
ICAgICAgICAgICAgICAgICAgICAgICBJLkJDLmIuaCA9IEkuSEwuYi5sOwogICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg0NjogaTgwODVfSUNvdW50
IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQkMuYi5oID0gUk0oSS5ITC5kKTsKICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NDc6IGk4
MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkJDLmIuaCA9IEkuQUYu
Yi5oOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNl
IDB4NDg6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkJDLmIu
bCA9IEkuQkMuYi5oOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgIGNhc2UgMHg0OTogaTgwODVfSUNvdW50IC09IDU7CgogICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg0YTogaTgwODVfSUNvdW50IC09IDU7CiAg
ICAgICAgICAgICAgICAgICAgICAgIEkuQkMuYi5sID0gSS5ERS5iLmg7CiAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDRiOiBpODA4NV9JQ291bnQg
LT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5CQy5iLmwgPSBJLkRFLmIubDsKICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NGM6IGk4MDg1
X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkJDLmIubCA9IEkuSEwuYi5o
OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg0
ZDogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQkMuYi5sID0g
SS5ITC5iLmw7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
Y2FzZSAweDRlOiBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgSS5C
Qy5iLmwgPSBSTShJLkhMLmQpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgIGNhc2UgMHg0ZjogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAg
ICAgICAgIEkuQkMuYi5sID0gSS5BRi5iLmg7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwoKICAgICAgICAgICAgICAgIGNhc2UgMHg1MDogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAg
ICAgICAgICAgICAgICAgIEkuREUuYi5oID0gSS5CQy5iLmg7CiAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDUxOiBpODA4NV9JQ291bnQgLT0gNTsK
ICAgICAgICAgICAgICAgICAgICAgICAgSS5ERS5iLmggPSBJLkJDLmIubDsKICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NTI6IGk4MDg1X0lDb3Vu
dCAtPSA1OwoKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBj
YXNlIDB4NTM6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkRF
LmIuaCA9IEkuREUuYi5sOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgIGNhc2UgMHg1NDogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAg
ICAgIEkuREUuYi5oID0gSS5ITC5iLmg7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgICAgY2FzZSAweDU1OiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAg
ICAgICAgICAgICAgSS5ERS5iLmggPSBJLkhMLmIubDsKICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NTY6IGk4MDg1X0lDb3VudCAtPSA3OwogICAg
ICAgICAgICAgICAgICAgICAgICBJLkRFLmIuaCA9IFJNKEkuSEwuZCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDU3OiBpODA4NV9JQ291bnQg
LT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5ERS5iLmggPSBJLkFGLmIuaDsKICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAweDU4OiBpODA4
NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5ERS5iLmwgPSBJLkJDLmIu
aDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4
NTk6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkRFLmIubCA9
IEkuQkMuYi5sOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
IGNhc2UgMHg1YTogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIEku
REUuYi5sID0gSS5ERS5iLmg7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgY2FzZSAweDViOiBpODA4NV9JQ291bnQgLT0gNTsKCiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDVjOiBpODA4NV9JQ291bnQgLT0g
NTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5ERS5iLmwgPSBJLkhMLmIuaDsKICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NWQ6IGk4MDg1X0lD
b3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkRFLmIubCA9IEkuSEwuYi5sOwog
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg1ZTog
aTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuREUuYi5sID0gUk0o
SS5ITC5kKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBj
YXNlIDB4NWY6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkRF
LmIubCA9IEkuQUYuYi5oOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAg
ICAgICAgICBjYXNlIDB4NjA6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAg
ICAgICBJLkhMLmIuaCA9IEkuQkMuYi5oOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgIGNhc2UgMHg2MTogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAg
ICAgICAgICAgICAgIEkuSEwuYi5oID0gSS5CQy5iLmw7CiAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDYyOiBpODA4NV9JQ291bnQgLT0gNTsKICAg
ICAgICAgICAgICAgICAgICAgICAgSS5ITC5iLmggPSBJLkRFLmIuaDsKICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NjM6IGk4MDg1X0lDb3VudCAt
PSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkhMLmIuaCA9IEkuREUuYi5sOwogICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg2NDogaTgwODVf
SUNvdW50IC09IDU7CgogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgIGNhc2UgMHg2NTogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAg
IEkuSEwuYi5oID0gSS5ITC5iLmw7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgICAgICAgICAgY2FzZSAweDY2OiBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAgICAg
ICAgICAgICAgSS5ITC5iLmggPSBSTShJLkhMLmQpOwogICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg2NzogaTgwODVfSUNvdW50IC09IDU7CiAgICAg
ICAgICAgICAgICAgICAgICAgIEkuSEwuYi5oID0gSS5BRi5iLmg7CiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgMHg2ODogaTgwODVfSUNvdW50IC09
IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuSEwuYi5sID0gSS5CQy5iLmg7CiAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDY5OiBpODA4NV9J
Q291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5ITC5iLmwgPSBJLkJDLmIubDsK
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NmE6
IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICBJLkhMLmIubCA9IEku
REUuYi5oOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNh
c2UgMHg2YjogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuSEwu
Yi5sID0gSS5ERS5iLmw7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgY2FzZSAweDZjOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAg
ICAgSS5ITC5iLmwgPSBJLkhMLmIuaDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICBjYXNlIDB4NmQ6IGk4MDg1X0lDb3VudCAtPSA1OwoKICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4NmU6IGk4MDg1X0lDb3Vu
dCAtPSA3OwogICAgICAgICAgICAgICAgICAgICAgICBJLkhMLmIubCA9IFJNKEkuSEwuZCk7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDZmOiBp
ODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5ITC5iLmwgPSBJLkFG
LmIuaDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2Fz
ZSAweDcwOiBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgV00oSS5I
TC5kLCBJLkJDLmIuaCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgY2FzZSAweDcxOiBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAgICAgICAgICAg
ICAgV00oSS5ITC5kLCBJLkJDLmIubCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgICAgY2FzZSAweDcyOiBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAg
ICAgICAgICAgICAgV00oSS5ITC5kLCBJLkRFLmIuaCk7CiAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDczOiBpODA4NV9JQ291bnQgLT0gNzsKICAg
ICAgICAgICAgICAgICAgICAgICAgV00oSS5ITC5kLCBJLkRFLmIubCk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDc0OiBpODA4NV9JQ291bnQg
LT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgV00oSS5ITC5kLCBJLkhMLmIuaCk7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDc1OiBpODA4
NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgV00oSS5ITC5kLCBJLkhMLmIu
bCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAw
eDc2OiBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgSS5QQy53Lmwt
LTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5IQUxUID0gMTsKICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKGk4MDg1X0lDb3VudCA+IDApIGk4MDg1X0lDb3VudCA9IDA7CiAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDc3OiBpODA4NV9JQ291
bnQgLT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgV00oSS5ITC5kLCBJLkFGLmIuaCk7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgMHg3ODog
aTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5oID0gSS5C
Qy5iLmg7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2Fz
ZSAweDc5OiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5BRi5i
LmggPSBJLkJDLmIubDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICBjYXNlIDB4N2E6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAg
ICBJLkFGLmIuaCA9IEkuREUuYi5oOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgICAgICAgIGNhc2UgMHg3YjogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAg
ICAgICAgICAgIEkuQUYuYi5oID0gSS5ERS5iLmw7CiAgICAgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDdjOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAg
ICAgICAgICAgICAgICAgICAgSS5BRi5iLmggPSBJLkhMLmIuaDsKICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4N2Q6IGk4MDg1X0lDb3VudCAtPSA1
OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaCA9IEkuSEwuYi5sOwogICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg3ZTogaTgwODVfSUNv
dW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5oID0gUk0oSS5ITC5kKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4N2Y6
IGk4MDg1X0lDb3VudCAtPSA1OwoKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAg
ICAgICAgICAgICAgY2FzZSAweDgwOiBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAg
ICAgICAgICAgYXNtICggIiBhZGRiICUyLCUwICAgICAgICAgICBcbiIgIiBsYWhmICAgICAgICAg
ICAgICAgICBcbiIgIiBzZXRvYiAlJWFsICAgICAgICAgICBcbiIgIiBzaGxiICQyLCUlYWwgICAg
ICAgICBcbiIgIiBhbmRiICQweGQxLCUlYWggICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAg
ICBcbiIgOiI9ZyIgKEkuQUYuYi5oKSwgIj1hIiAoSS5BRi5iLmwpIDoiciIgKEkuQkMuYi5oKSwg
IjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICBjYXNlIDB4ODE6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAg
ICAgICBhc20gKCAiIGFkZGIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAg
ICAgIFxuIiAiIHNldG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAg
IFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAlJWFoLCUlYWwgICAgICAgIFxu
IiA6Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5CQy5iLmwpLCAiMCIg
KEkuQUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgIGNhc2UgMHg4MjogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAg
IGFzbSAoICIgYWRkYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAg
XG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4i
ICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoi
PWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChJLkRFLmIuaCksICIwIiAoSS5B
Ri5iLmgpICk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
Y2FzZSAweDgzOiBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgYXNt
ICggIiBhZGRiICUyLCUwICAgICAgICAgICBcbiIgIiBsYWhmICAgICAgICAgICAgICAgICBcbiIg
IiBzZXRvYiAlJWFsICAgICAgICAgICBcbiIgIiBzaGxiICQyLCUlYWwgICAgICAgICBcbiIgIiBh
bmRiICQweGQxLCUlYWggICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgICBcbiIgOiI9ZyIg
KEkuQUYuYi5oKSwgIj1hIiAoSS5BRi5iLmwpIDoiciIgKEkuREUuYi5sKSwgIjAiIChJLkFGLmIu
aCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNl
IDB4ODQ6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBhc20gKCAi
IGFkZGIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgIFxuIiAiIHNl
dG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAgIFxuIiAiIGFuZGIg
JDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAlJWFoLCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5B
Ri5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5ITC5iLmgpLCAiMCIgKEkuQUYuYi5oKSAp
OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg4
NTogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgYWRk
YiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0b2Ig
JSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAkMHhk
MSwlJWFoICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIu
aCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChJLkhMLmIubCksICIwIiAoSS5BRi5iLmgpICk7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDg2OiBp
ODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBhZGRiICUy
LCUwICAgICAgICAgICBcbiIgIiBsYWhmICAgICAgICAgICAgICAgICBcbiIgIiBzZXRvYiAlJWFs
ICAgICAgICAgICBcbiIgIiBzaGxiICQyLCUlYWwgICAgICAgICBcbiIgIiBhbmRiICQweGQxLCUl
YWggICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgICBcbiIgOiI9ZyIgKEkuQUYuYi5oKSwg
Ij1hIiAoSS5BRi5iLmwpIDoiciIgKFJNKEkuSEwuZCkpLCAiMCIgKEkuQUYuYi5oKSApOwogICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg4NzogaTgw
ODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgYWRkYiAlMiwl
MCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAg
ICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFo
ICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9
YSIgKEkuQUYuYi5sKSA6InIiIChJLkFGLmIuaCksICIwIiAoSS5BRi5iLmgpICk7CiAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgMHg4ODogaTgwODVf
SUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc2hyYiAkMSwlJWFs
ICAgICAgICAgXG4iICIgYWRjYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAg
ICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAg
ICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAg
XG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChJLkJDLmIuaCksICJh
IiAoSS5BRi5iLmwpLCAiMCIgKEkuQUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg4OTogaTgwODVfSUNvdW50IC09IDQ7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc2hyYiAkMSwlJWFsICAgICAgICAgXG4iICIgYWRj
YiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0b2Ig
JSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAkMHhk
MSwlJWFoICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIu
aCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChJLkJDLmIubCksICJhIiAoSS5BRi5iLmwpLCAiMCIg
KEkuQUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgIGNhc2UgMHg4YTogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAg
IGFzbSAoICIgc2hyYiAkMSwlJWFsICAgICAgICAgXG4iICIgYWRjYiAlMiwlMCAgICAgICAgICAg
XG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4i
ICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIg
b3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYuYi5s
KSA6InIiIChJLkRFLmIuaCksICJhIiAoSS5BRi5iLmwpLCAiMCIgKEkuQUYuYi5oKSApOwogICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg4YjogaTgw
ODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc2hyYiAkMSwl
JWFsICAgICAgICAgXG4iICIgYWRjYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAg
ICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAg
ICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAg
ICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChJLkRFLmIubCks
ICJhIiAoSS5BRi5iLmwpLCAiMCIgKEkuQUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg4YzogaTgwODVfSUNvdW50IC09IDQ7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc2hyYiAkMSwlJWFsICAgICAgICAgXG4iICIg
YWRjYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0
b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAk
MHhkMSwlJWFoICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFG
LmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChJLkhMLmIuaCksICJhIiAoSS5BRi5iLmwpLCAi
MCIgKEkuQUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgIGNhc2UgMHg4ZDogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAg
ICAgIGFzbSAoICIgc2hyYiAkMSwlJWFsICAgICAgICAgXG4iICIgYWRjYiAlMiwlMCAgICAgICAg
ICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAg
XG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4i
ICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYu
Yi5sKSA6InIiIChJLkhMLmIubCksICJhIiAoSS5BRi5iLmwpLCAiMCIgKEkuQUYuYi5oKSApOwog
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg4ZTog
aTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc2hyYiAk
MSwlJWFsICAgICAgICAgXG4iICIgYWRjYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAg
ICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFs
ICAgICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAg
ICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChSTShJLkhM
LmQpKSwgImEiIChJLkFGLmIubCksICIwIiAoSS5BRi5iLmgpICk7CiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDhmOiBpODA4NV9JQ291bnQgLT0g
NDsKICAgICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBzaHJiICQxLCUlYWwgICAgICAgICBc
biIgIiBhZGNiICUyLCUwICAgICAgICAgICBcbiIgIiBsYWhmICAgICAgICAgICAgICAgICBcbiIg
IiBzZXRvYiAlJWFsICAgICAgICAgICBcbiIgIiBzaGxiICQyLCUlYWwgICAgICAgICBcbiIgIiBh
bmRiICQweGQxLCUlYWggICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgICBcbiIgOiI9ZyIg
KEkuQUYuYi5oKSwgIj1hIiAoSS5BRi5iLmwpIDoiciIgKEkuQUYuYi5oKSwgImEiIChJLkFGLmIu
bCksICIwIiAoSS5BRi5iLmgpICk7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAg
ICAgICAgICAgICAgIGNhc2UgMHg5MDogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAg
ICAgICAgICAgIGFzbSAoICIgc3ViYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAg
ICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAg
ICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICQyLCUlYWwgICAgICAg
ICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIg
KEkuQUYuYi5sKSA6InIiIChJLkJDLmIuaCksICIwIiAoSS5BRi5iLmgpICk7CiAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDkxOiBpODA4NV9JQ291
bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBzdWJiICUyLCUwICAgICAg
ICAgICBcbiIgIiBsYWhmICAgICAgICAgICAgICAgICBcbiIgIiBzZXRvYiAlJWFsICAgICAgICAg
ICBcbiIgIiBzaGxiICQyLCUlYWwgICAgICAgICBcbiIgIiBhbmRiICQweGQxLCUlYWggICAgICBc
biIgIiBvcmIgJDIsJSVhbCAgICAgICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgICBcbiIg
OiI9ZyIgKEkuQUYuYi5oKSwgIj1hIiAoSS5BRi5iLmwpIDoiciIgKEkuQkMuYi5sKSwgIjAiIChJ
LkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICBjYXNlIDB4OTI6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBh
c20gKCAiIHN1YmIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgIFxu
IiAiIHNldG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAgIFxuIiAi
IGFuZGIgJDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAgICAgIFxuIiAiIG9y
YiAlJWFoLCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkg
OiJyIiAoSS5ERS5iLmgpLCAiMCIgKEkuQUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg5MzogaTgwODVfSUNvdW50IC09IDQ7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc3ViYiAlMiwlMCAgICAgICAgICAgXG4iICIg
bGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hs
YiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICQy
LCUlYWwgICAgICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFG
LmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChJLkRFLmIubCksICIwIiAoSS5BRi5iLmgpICk7
CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweDk0
OiBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBzdWJi
ICUyLCUwICAgICAgICAgICBcbiIgIiBsYWhmICAgICAgICAgICAgICAgICBcbiIgIiBzZXRvYiAl
JWFsICAgICAgICAgICBcbiIgIiBzaGxiICQyLCUlYWwgICAgICAgICBcbiIgIiBhbmRiICQweGQx
LCUlYWggICAgICBcbiIgIiBvcmIgJDIsJSVhbCAgICAgICAgICBcbiIgIiBvcmIgJSVhaCwlJWFs
ICAgICAgICBcbiIgOiI9ZyIgKEkuQUYuYi5oKSwgIj1hIiAoSS5BRi5iLmwpIDoiciIgKEkuSEwu
Yi5oKSwgIjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICBjYXNlIDB4OTU6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAg
ICAgICAgICAgICBhc20gKCAiIHN1YmIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAg
ICAgICAgICAgIFxuIiAiIHNldG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAg
ICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAg
ICAgIFxuIiAiIG9yYiAlJWFoLCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAiPWEi
IChJLkFGLmIubCkgOiJyIiAoSS5ITC5iLmwpLCAiMCIgKEkuQUYuYi5oKSApOwogICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg5NjogaTgwODVfSUNv
dW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc3ViYiAlMiwlMCAgICAg
ICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAg
ICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAg
XG4iICIgb3JiICQyLCUlYWwgICAgICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4i
IDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChSTShJLkhMLmQpKSwgIjAi
IChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICBjYXNlIDB4OTc6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAg
ICBhc20gKCAiIHN1YmIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAg
IFxuIiAiIHNldG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAgIFxu
IiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAgICAgIFxuIiAi
IG9yYiAlJWFoLCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIu
bCkgOiJyIiAoSS5BRi5iLmgpLCAiMCIgKEkuQUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlIDB4OTg6IGk4MDg1X0lDb3VudCAtPSA0
OwogICAgICAgICAgICAgICAgICAgICAgICBhc20gKCAiIHNocmIgJDEsJSVhbCAgICAgICAgIFxu
IiAiIHNiYmIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgIFxuIiAi
IHNldG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAgIFxuIiAiIGFu
ZGIgJDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAgICAgIFxuIiAiIG9yYiAl
JWFoLCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJy
IiAoSS5CQy5iLmgpLCAiYSIgKEkuQUYuYi5sKSwgIjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4OTk6IGk4MDg1X0lD
b3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBhc20gKCAiIHNocmIgJDEsJSVhbCAg
ICAgICAgIFxuIiAiIHNiYmIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAg
ICAgIFxuIiAiIHNldG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAg
IFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAgICAgIFxu
IiAiIG9yYiAlJWFoLCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFG
LmIubCkgOiJyIiAoSS5CQy5iLmwpLCAiYSIgKEkuQUYuYi5sKSwgIjAiIChJLkFGLmIuaCkgKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4OWE6
IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBhc20gKCAiIHNocmIg
JDEsJSVhbCAgICAgICAgIFxuIiAiIHNiYmIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAg
ICAgICAgICAgICAgIFxuIiAiIHNldG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVh
bCAgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAkMiwlJWFsICAg
ICAgICAgIFxuIiAiIG9yYiAlJWFoLCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAi
PWEiIChJLkFGLmIubCkgOiJyIiAoSS5ERS5iLmgpLCAiYSIgKEkuQUYuYi5sKSwgIjAiIChJLkFG
LmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBj
YXNlIDB4OWI6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBhc20g
KCAiIHNocmIgJDEsJSVhbCAgICAgICAgIFxuIiAiIHNiYmIgJTIsJTAgICAgICAgICAgIFxuIiAi
IGxhaGYgICAgICAgICAgICAgICAgIFxuIiAiIHNldG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNo
bGIgJDIsJSVhbCAgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAk
MiwlJWFsICAgICAgICAgIFxuIiAiIG9yYiAlJWFoLCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5B
Ri5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5ERS5iLmwpLCAiYSIgKEkuQUYuYi5sKSwg
IjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICBjYXNlIDB4OWM6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAg
ICAgICBhc20gKCAiIHNocmIgJDEsJSVhbCAgICAgICAgIFxuIiAiIHNiYmIgJTIsJTAgICAgICAg
ICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgIFxuIiAiIHNldG9iICUlYWwgICAgICAgICAg
IFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgIFxu
IiAiIG9yYiAkMiwlJWFsICAgICAgICAgIFxuIiAiIG9yYiAlJWFoLCUlYWwgICAgICAgIFxuIiA6
Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5ITC5iLmgpLCAiYSIgKEku
QUYuYi5sKSwgIjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICBjYXNlIDB4OWQ6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAg
ICAgICAgICAgICAgICBhc20gKCAiIHNocmIgJDEsJSVhbCAgICAgICAgIFxuIiAiIHNiYmIgJTIs
JTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgIFxuIiAiIHNldG9iICUlYWwg
ICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVh
aCAgICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAgICAgIFxuIiAiIG9yYiAlJWFoLCUlYWwgICAg
ICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5ITC5iLmwp
LCAiYSIgKEkuQUYuYi5sKSwgIjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4OWU6IGk4MDg1X0lDb3VudCAtPSA3Owog
ICAgICAgICAgICAgICAgICAgICAgICBhc20gKCAiIHNocmIgJDEsJSVhbCAgICAgICAgIFxuIiAi
IHNiYmIgJTIsJTAgICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgIFxuIiAiIHNl
dG9iICUlYWwgICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAgIFxuIiAiIGFuZGIg
JDB4ZDEsJSVhaCAgICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAgICAgIFxuIiAiIG9yYiAlJWFo
LCUlYWwgICAgICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAo
Uk0oSS5ITC5kKSksICJhIiAoSS5BRi5iLmwpLCAiMCIgKEkuQUYuYi5oKSApOwogICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHg5ZjogaTgwODVfSUNv
dW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc2hyYiAkMSwlJWFsICAg
ICAgICAgXG4iICIgc2JiYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAg
ICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAg
XG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICQyLCUlYWwgICAgICAgICAgXG4i
ICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYu
Yi5sKSA6InIiIChJLkFGLmIuaCksICJhIiAoSS5BRi5iLmwpLCAiMCIgKEkuQUYuYi5oKSApOwog
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlIDB4YTA6
IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaCY9SS5C
Qy5iLmg7IEkuQUYuYi5sPVpTUFtJLkFGLmIuaF18MHgxMDsKICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4YTE6IGk4MDg1X0lDb3VudCAtPSA0Owog
ICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaCY9SS5CQy5iLmw7IEkuQUYuYi5sPVpTUFtJ
LkFGLmIuaF18MHgxMDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICBjYXNlIDB4YTI6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAg
ICBJLkFGLmIuaCY9SS5ERS5iLmg7IEkuQUYuYi5sPVpTUFtJLkFGLmIuaF18MHgxMDsKICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4YTM6IGk4MDg1
X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaCY9SS5ERS5iLmw7
IEkuQUYuYi5sPVpTUFtJLkFGLmIuaF18MHgxMDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4YTQ6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAg
ICAgICAgICAgICAgICAgICBJLkFGLmIuaCY9SS5ITC5iLmg7IEkuQUYuYi5sPVpTUFtJLkFGLmIu
aF18MHgxMDsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBj
YXNlIDB4YTU6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFG
LmIuaCY9SS5ITC5iLmw7IEkuQUYuYi5sPVpTUFtJLkFGLmIuaF18MHgxMDsKICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4YTY6IGk4MDg1X0lDb3Vu
dCAtPSA3OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaCY9Uk0oSS5ITC5kKTsgSS5B
Ri5iLmw9WlNQW0kuQUYuYi5oXXwweDEwOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgIGNhc2UgMHhhNzogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAg
ICAgICAgICAgICAgIEkuQUYuYi5oJj1JLkFGLmIuaDsgSS5BRi5iLmw9WlNQW0kuQUYuYi5oXXww
eDEwOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNl
IDB4YTg6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIu
aF49SS5CQy5iLmg7IEkuQUYuYi5sPVpTUFtJLkFGLmIuaF07CiAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGE5OiBpODA4NV9JQ291bnQgLT0gNDsK
ICAgICAgICAgICAgICAgICAgICAgICAgSS5BRi5iLmhePUkuQkMuYi5sOyBJLkFGLmIubD1aU1Bb
SS5BRi5iLmhdOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
IGNhc2UgMHhhYTogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIEku
QUYuYi5oXj1JLkRFLmIuaDsgSS5BRi5iLmw9WlNQW0kuQUYuYi5oXTsKICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4YWI6IGk4MDg1X0lDb3VudCAt
PSA0OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaF49SS5ERS5iLmw7IEkuQUYuYi5s
PVpTUFtJLkFGLmIuaF07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgY2FzZSAweGFjOiBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAg
ICAgSS5BRi5iLmhePUkuSEwuYi5oOyBJLkFGLmIubD1aU1BbSS5BRi5iLmhdOwogICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhhZDogaTgwODVfSUNv
dW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5oXj1JLkhMLmIubDsgSS5B
Ri5iLmw9WlNQW0kuQUYuYi5oXTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgICAgICAgICBjYXNlIDB4YWU6IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAgICAg
ICAgICAgICBJLkFGLmIuaF49Uk0oSS5ITC5kKTsgSS5BRi5iLmw9WlNQW0kuQUYuYi5oXTsKICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4YWY6IGk4
MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaF49SS5BRi5i
Lmg7IEkuQUYuYi5sPVpTUFtJLkFGLmIuaF07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwoKICAgICAgICAgICAgICAgIGNhc2UgMHhiMDogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAg
ICAgICAgICAgICAgICAgIEkuQUYuYi5ofD1JLkJDLmIuaDsgSS5BRi5iLmw9WlNQW0kuQUYuYi5o
XTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4
YjE6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaHw9
SS5CQy5iLmw7IEkuQUYuYi5sPVpTUFtJLkFGLmIuaF07CiAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGIyOiBpODA4NV9JQ291bnQgLT0gNDsKICAg
ICAgICAgICAgICAgICAgICAgICAgSS5BRi5iLmh8PUkuREUuYi5oOyBJLkFGLmIubD1aU1BbSS5B
Ri5iLmhdOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNh
c2UgMHhiMzogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYu
Yi5ofD1JLkRFLmIubDsgSS5BRi5iLmw9WlNQW0kuQUYuYi5oXTsKICAgICAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4YjQ6IGk4MDg1X0lDb3VudCAtPSA0
OwogICAgICAgICAgICAgICAgICAgICAgICBJLkFGLmIuaHw9SS5ITC5iLmg7IEkuQUYuYi5sPVpT
UFtJLkFGLmIuaF07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAg
ICAgY2FzZSAweGI1OiBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAg
SS5BRi5iLmh8PUkuSEwuYi5sOyBJLkFGLmIubD1aU1BbSS5BRi5iLmhdOwogICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhiNjogaTgwODVfSUNvdW50
IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuQUYuYi5ofD1STShJLkhMLmQpOyBJLkFG
LmIubD1aU1BbSS5BRi5iLmhdOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgIGNhc2UgMHhiNzogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAg
ICAgICAgIEkuQUYuYi5ofD1JLkFGLmIuaDsgSS5BRi5iLmw9WlNQW0kuQUYuYi5oXTsKICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAweGI4OiBpODA4
NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBjbXBiICUyLCUw
ICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAg
ICAgICBcbiIgIiBzaGxiICQyLCUlYWwgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAg
XG4iICIgb3JiICQyLCUlYWwgICAgICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgIFxuIiA6
Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5CQy5iLmgpLCAiMCIgKEku
QUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
IGNhc2UgMHhiOTogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGFz
bSAoICIgY21wYiAlMiwlMCAgICAgICAgICBcbiIgIiBsYWhmICAgICAgICAgICAgICAgIFxuIiAi
IHNldG9iICUlYWwgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICBcbiIgIiBhbmRi
ICQweGQxLCUlYWggICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAgICAgXG4iICIgb3JiICUlYWgs
JSVhbCAgICAgICBcbiIgOiI9ZyIgKEkuQUYuYi5oKSwgIj1hIiAoSS5BRi5iLmwpIDoiciIgKEku
QkMuYi5sKSwgIjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAgICBjYXNlIDB4YmE6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAg
ICAgICAgICAgICAgICBhc20gKCAiIGNtcGIgJTIsJTAgICAgICAgICAgXG4iICIgbGFoZiAgICAg
ICAgICAgICAgICBcbiIgIiBzZXRvYiAlJWFsICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAg
ICAgICAgXG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICBcbiIgIiBvcmIgJDIsJSVhbCAgICAgICAg
IFxuIiAiIG9yYiAlJWFoLCUlYWwgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEku
QUYuYi5sKSA6InIiIChJLkRFLmIuaCksICIwIiAoSS5BRi5iLmgpICk7CiAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGJiOiBpODA4NV9JQ291bnQg
LT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBjbXBiICUyLCUwICAgICAgICAg
IFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICBcbiIg
IiBzaGxiICQyLCUlYWwgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgXG4iICIgb3Ji
ICQyLCUlYWwgICAgICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgIFxuIiA6Ij1nIiAoSS5B
Ri5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5ERS5iLmwpLCAiMCIgKEkuQUYuYi5oKSAp
OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhi
YzogaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgY21w
YiAlMiwlMCAgICAgICAgICBcbiIgIiBsYWhmICAgICAgICAgICAgICAgIFxuIiAiIHNldG9iICUl
YWwgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICBcbiIgIiBhbmRiICQweGQxLCUl
YWggICAgIFxuIiAiIG9yYiAkMiwlJWFsICAgICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAg
ICBcbiIgOiI9ZyIgKEkuQUYuYi5oKSwgIj1hIiAoSS5BRi5iLmwpIDoiciIgKEkuSEwuYi5oKSwg
IjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICAgICBjYXNlIDB4YmQ6IGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAgICAg
ICAgICBhc20gKCAiIGNtcGIgJTIsJTAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAg
ICBcbiIgIiBzZXRvYiAlJWFsICAgICAgICAgIFxuIiAiIHNobGIgJDIsJSVhbCAgICAgICAgXG4i
ICIgYW5kYiAkMHhkMSwlJWFoICAgICBcbiIgIiBvcmIgJDIsJSVhbCAgICAgICAgIFxuIiAiIG9y
YiAlJWFoLCUlYWwgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYuYi5sKSA6
InIiIChJLkhMLmIubCksICIwIiAoSS5BRi5iLmgpICk7CiAgICAgICAgICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGJlOiBpODA4NV9JQ291bnQgLT0gNzsKICAg
ICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBjbXBiICUyLCUwICAgICAgICAgIFxuIiAiIGxh
aGYgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICBcbiIgIiBzaGxiICQy
LCUlYWwgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgXG4iICIgb3JiICQyLCUlYWwg
ICAgICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgIFxuIiA6Ij1nIiAoSS5BRi5iLmgpLCAi
PWEiIChJLkFGLmIubCkgOiJyIiAoUk0oSS5ITC5kKSksICIwIiAoSS5BRi5iLmgpICk7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGJmOiBpODA4
NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBjbXBiICUyLCUw
ICAgICAgICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAg
ICAgICBcbiIgIiBzaGxiICQyLCUlYWwgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAg
XG4iICIgb3JiICQyLCUlYWwgICAgICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgIFxuIiA6
Ij1nIiAoSS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5BRi5iLmgpLCAiMCIgKEku
QUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAg
ICBjYXNlIDB4YzA6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICB7
IGlmICghKEkuQUYuYi5sICYgMHg0MCkpIHsgaTgwODVfSUNvdW50IC09IDY7IHsgSS5QQy5iLmwg
PSBSTShJLlNQLncubCsrKTsgSS5QQy5iLmggPSBSTShJLlNQLncubCsrKTsgfTsgZG8geyBpZiAo
cmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0oMCkpIC0g
KCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkgLyAyKSkg
KyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsgfSB3aGls
ZSAoMCk7IH0gfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAg
ICBjYXNlIDB4YzE6IGk4MDg1X0lDb3VudCAtPSAxMDsKICAgICAgICAgICAgICAgICAgICAgICAg
eyBJLkJDLmIubCA9IFJNKEkuU1Audy5sKyspOyBJLkJDLmIuaCA9IFJNKEkuU1Audy5sKyspOyB9
OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhj
MjogaTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWYgKCEoSS5B
Ri5iLmwgJiAweDQwKSkgeyBpODA4NV9JQ291bnQgLT0gMzsgSS5QQy53LmwgPSBBUkcxNigpOyBk
byB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYp
LSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0
KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQp
OyB9IHdoaWxlICgwKTsgfSBlbHNlIEkuUEMudy5sICs9IDI7IH07CiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGMzOiBpODA4NV9JQ291bnQgLT0g
NzsKICAgICAgICAgICAgICAgICAgICAgICAgeyBpZiAoMSkgeyBpODA4NV9JQ291bnQgLT0gMzsg
SS5QQy53LmwgPSBBUkcxNigpOyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYg
bWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/
IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNw
dV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSBlbHNlIEkuUEMudy5sICs9IDI7
IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAw
eGM0OiBpODA4NV9JQ291bnQgLT0gMTE7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWYgKCEo
SS5BRi5iLmwgJiAweDQwKSkgeyBVSU5UMTYgYSA9IEFSRzE2KCk7IGk4MDg1X0lDb3VudCAtPSA2
OyB7IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5oKTsgV00oLS1JLlNQLncubCwgSS5QQy5iLmwpOyB9
OyBJLlBDLmQgPSBhOyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2Ft
YXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDog
KCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRv
cGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSBlbHNlIEkuUEMudy5sICs9IDI7IH07CiAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGM1OiBp
ODA4NV9JQ291bnQgLT0gMTE7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgV00oLS1JLlNQLncu
bCwgSS5CQy5iLmgpOyBXTSgtLUkuU1Audy5sLCBJLkJDLmIubCk7IH07CiAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGM2OiBpODA4NV9JQ291bnQg
LT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgSS5YWC5iLmwgPSBBUkcoKTsKICAgICAgICAg
ICAgICAgICAgICAgICAgYXNtICggIiBhZGRiICUyLCUwICAgICAgICAgICBcbiIgIiBsYWhmICAg
ICAgICAgICAgICAgICBcbiIgIiBzZXRvYiAlJWFsICAgICAgICAgICBcbiIgIiBzaGxiICQyLCUl
YWwgICAgICAgICBcbiIgIiBhbmRiICQweGQxLCUlYWggICAgICBcbiIgIiBvcmIgJSVhaCwlJWFs
ICAgICAgICBcbiIgOiI9ZyIgKEkuQUYuYi5oKSwgIj1hIiAoSS5BRi5iLmwpIDoiciIgKEkuWFgu
Yi5sKSwgIjAiIChJLkFGLmIuaCkgKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhjNzogaTgwODVfSUNvdW50IC09IDExOwogICAg
ICAgICAgICAgICAgICAgICAgICB7IHsgV00oLS1JLlNQLncubCwgSS5QQy5iLmgpOyBXTSgtLUku
U1Audy5sLCBJLlBDLmIubCk7IH07IEkuUEMuZCA9IDggKiAwOyBkbyB7IGlmIChyZWFkbWVtX2xv
b2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgw
KSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAh
PSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfTsK
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAweGM4
OiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgeyBpZiAoSS5BRi5i
LmwgJiAweDQwKSB7IGk4MDg1X0lDb3VudCAtPSA2OyB7IEkuUEMuYi5sID0gUk0oSS5TUC53Lmwr
Kyk7IEkuUEMuYi5oID0gUk0oSS5TUC53LmwrKyk7IH07IGRvIHsgaWYgKHJlYWRtZW1fbG9va3Vw
WygoKEkuUEMuZCkgJiBtZW1fYW1hc2spID4+ICgoKCgxNiktKDApKSAtICgoKCgxNiktKDApKSA8
ICgyKjEyIC0gNCkpID8gMTIgOiAoKCgxNiktKDApKSArIDQpIC8gMikpICsgKDApKSldICE9IG9w
Y29kZV9lbnRyeSkgY3B1X3NldG9wYmFzZTE2KEkuUEMuZCk7IH0gd2hpbGUgKDApOyB9IH07CiAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGM5OiBp
ODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAgICAgICAgICAgeyBpZiAoMSkgeyBpODA4
NV9JQ291bnQgLT0gNjsgeyBJLlBDLmIubCA9IFJNKEkuU1Audy5sKyspOyBJLlBDLmIuaCA9IFJN
KEkuU1Audy5sKyspOyB9OyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVt
X2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEy
IDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9z
ZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSB9OwogICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhjYTogaTgwODVfSUNvdW50IC09IDc7
CiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWYgKEkuQUYuYi5sICYgMHg0MCkgeyBpODA4NV9J
Q291bnQgLT0gMzsgSS5QQy53LmwgPSBBUkcxNigpOyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFso
KChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAo
MioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNv
ZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSBlbHNlIEku
UEMudy5sICs9IDI7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgY2FzZSAweGNiOgogICAgICAgICAgICAgICAgICAgICAgICBpZiggSS5jcHV0eXBlICkg
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChJLkFGLmIubCAmIDB4MDQpIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg1X0lDb3VudCAtPSAx
MjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgeyBXTSgtLUkuU1Au
dy5sLCBJLlBDLmIuaCk7IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5sKTsgfTsgSS5QQy5kID0gOCAq
IDg7IGRvIHsgaWYgKHJlYWRtZW1fbG9va3VwWygoKEkuUEMuZCkgJiBtZW1fYW1hc2spID4+ICgo
KCgxNiktKDApKSAtICgoKCgxNiktKDApKSA8ICgyKjEyIC0gNCkpID8gMTIgOiAoKCgxNiktKDAp
KSArIDQpIC8gMikpICsgKDApKSldICE9IG9wY29kZV9lbnRyeSkgY3B1X3NldG9wYmFzZTE2KEku
UEMuZCk7IH0gd2hpbGUgKDApOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0g
ZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9JQ291
bnQgLT0gNjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTgwODVf
SUNvdW50IC09IDQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWxsZWdhbCgpOwog
ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICAgICAgICAgY2FzZSAweGNjOiBpODA4NV9JQ291bnQgLT0gMTE7CiAgICAgICAgICAg
ICAgICAgICAgICAgIHsgaWYgKEkuQUYuYi5sICYgMHg0MCkgeyBVSU5UMTYgYSA9IEFSRzE2KCk7
IGk4MDg1X0lDb3VudCAtPSA2OyB7IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5oKTsgV00oLS1JLlNQ
LncubCwgSS5QQy5iLmwpOyB9OyBJLlBDLmQgPSBhOyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFso
KChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAo
MioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNv
ZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSBlbHNlIEku
UEMudy5sICs9IDI7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgY2FzZSAweGNkOiBpODA4NV9JQ291bnQgLT0gMTE7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHsgaWYgKDEpIHsgVUlOVDE2IGEgPSBBUkcxNigpOyBpODA4NV9JQ291bnQgLT0gNjsgeyBX
TSgtLUkuU1Audy5sLCBJLlBDLmIuaCk7IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5sKTsgfTsgSS5Q
Qy5kID0gYTsgZG8geyBpZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykg
Pj4gKCgoKDE2KS0oMCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2
KS0oMCkpICsgNCkgLyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNl
MTYoSS5QQy5kKTsgfSB3aGlsZSAoMCk7IH0gZWxzZSBJLlBDLncubCArPSAyOyB9OwogICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhjZTogaTgwODVf
SUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuWFguYi5sID0gQVJHKCk7CiAg
ICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc2hyYiAkMSwlJWFsICAgICAgICAgXG4iICIg
YWRjYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIgc2V0
b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5kYiAk
MHhkMSwlJWFoICAgICAgXG4iICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFG
LmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIiIChJLlhYLmIubCksICJhIiAoSS5BRi5iLmwpLCAi
MCIgKEkuQUYuYi5oKSApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgIGNhc2UgMHhjZjogaTgwODVfSUNvdW50IC09IDExOwogICAgICAgICAgICAgICAgICAg
ICAgICB7IHsgV00oLS1JLlNQLncubCwgSS5QQy5iLmgpOyBXTSgtLUkuU1Audy5sLCBJLlBDLmIu
bCk7IH07IEkuUEMuZCA9IDggKiAxOyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQp
ICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQp
KSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkp
IGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfTsKICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgY2FzZSAweGQwOiBpODA4NV9JQ291bnQg
LT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgeyBpZiAoIShJLkFGLmIubCAmIDB4MDEpKSB7
IGk4MDg1X0lDb3VudCAtPSA2OyB7IEkuUEMuYi5sID0gUk0oSS5TUC53LmwrKyk7IEkuUEMuYi5o
ID0gUk0oSS5TUC53LmwrKyk7IH07IGRvIHsgaWYgKHJlYWRtZW1fbG9va3VwWygoKEkuUEMuZCkg
JiBtZW1fYW1hc2spID4+ICgoKCgxNiktKDApKSAtICgoKCgxNiktKDApKSA8ICgyKjEyIC0gNCkp
ID8gMTIgOiAoKCgxNiktKDApKSArIDQpIC8gMikpICsgKDApKSldICE9IG9wY29kZV9lbnRyeSkg
Y3B1X3NldG9wYmFzZTE2KEkuUEMuZCk7IH0gd2hpbGUgKDApOyB9IH07CiAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGQxOiBpODA4NV9JQ291bnQg
LT0gMTA7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgSS5ERS5iLmwgPSBSTShJLlNQLncubCsr
KTsgSS5ERS5iLmggPSBSTShJLlNQLncubCsrKTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4ZDI6IGk4MDg1X0lDb3VudCAtPSA3OwogICAg
ICAgICAgICAgICAgICAgICAgICB7IGlmICghKEkuQUYuYi5sICYgMHgwMSkpIHsgaTgwODVfSUNv
dW50IC09IDM7IEkuUEMudy5sID0gQVJHMTYoKTsgZG8geyBpZiAocmVhZG1lbV9sb29rdXBbKCgo
SS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0oMCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIq
MTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkgLyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2Rl
X2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsgfSB3aGlsZSAoMCk7IH0gZWxzZSBJLlBD
LncubCArPSAyOyB9OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgIGNhc2UgMHhkMzogaTgwODVfSUNvdW50IC09IDEwOwogICAgICAgICAgICAgICAgICAgICAg
ICBJLlhYLmQ9QVJHKCk7IGNwdV93cml0ZXBvcnQxNihJLlhYLmQsSS5BRi5iLmgpOwogICAgICAg
ICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhkNDogaTgwODVf
SUNvdW50IC09IDExOwogICAgICAgICAgICAgICAgICAgICAgICB7IGlmICghKEkuQUYuYi5sICYg
MHgwMSkpIHsgVUlOVDE2IGEgPSBBUkcxNigpOyBpODA4NV9JQ291bnQgLT0gNjsgeyBXTSgtLUku
U1Audy5sLCBJLlBDLmIuaCk7IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5sKTsgfTsgSS5QQy5kID0g
YTsgZG8geyBpZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgo
KDE2KS0oMCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkp
ICsgNCkgLyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5Q
Qy5kKTsgfSB3aGlsZSAoMCk7IH0gZWxzZSBJLlBDLncubCArPSAyOyB9OwogICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhkNTogaTgwODVfSUNvdW50
IC09IDExOwogICAgICAgICAgICAgICAgICAgICAgICB7IFdNKC0tSS5TUC53LmwsIEkuREUuYi5o
KTsgV00oLS1JLlNQLncubCwgSS5ERS5iLmwpOyB9OwogICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhkNjogaTgwODVfSUNvdW50IC09IDc7CiAgICAg
ICAgICAgICAgICAgICAgICAgIEkuWFguYi5sID0gQVJHKCk7CiAgICAgICAgICAgICAgICAgICAg
ICAgIGFzbSAoICIgc3ViYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAg
ICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAg
XG4iICIgYW5kYiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICQyLCUlYWwgICAgICAgICAgXG4i
ICIgb3JiICUlYWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYu
Yi5sKSA6InIiIChJLlhYLmIubCksICIwIiAoSS5BRi5iLmgpICk7CiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGQ3OiBpODA4NV9JQ291bnQgLT0g
MTE7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgeyBXTSgtLUkuU1Audy5sLCBJLlBDLmIuaCk7
IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5sKTsgfTsgSS5QQy5kID0gOCAqIDI7IGRvIHsgaWYgKHJl
YWRtZW1fbG9va3VwWygoKEkuUEMuZCkgJiBtZW1fYW1hc2spID4+ICgoKCgxNiktKDApKSAtICgo
KCgxNiktKDApKSA8ICgyKjEyIC0gNCkpID8gMTIgOiAoKCgxNiktKDApKSArIDQpIC8gMikpICsg
KDApKSldICE9IG9wY29kZV9lbnRyeSkgY3B1X3NldG9wYmFzZTE2KEkuUEMuZCk7IH0gd2hpbGUg
KDApOyB9OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBj
YXNlIDB4ZDg6IGk4MDg1X0lDb3VudCAtPSA1OwogICAgICAgICAgICAgICAgICAgICAgICB7IGlm
IChJLkFGLmIubCAmIDB4MDEpIHsgaTgwODVfSUNvdW50IC09IDY7IHsgSS5QQy5iLmwgPSBSTShJ
LlNQLncubCsrKTsgSS5QQy5iLmggPSBSTShJLlNQLncubCsrKTsgfTsgZG8geyBpZiAocmVhZG1l
bV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0oMCkpIC0gKCgoKDE2
KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkgLyAyKSkgKyAoMCkp
KV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsgfSB3aGlsZSAoMCk7
IH0gfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNl
IDB4ZDk6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBJLmNwdXR5cGUgKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaTgwODVfSUNvdW50IC09IDEwOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEkuWFgudy5sID0gSS5ERS53Lmw7CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV00oSS5YWC5kLCBJLkhMLmIubCk7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSS5YWC53LmwrKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBX
TShJLlhYLmQsIEkuSEwuYi5oKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbGxlZ2FsKCk7CiAgICAgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4
ZGE6IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAgICAgICAgICAgICB7IGlmIChJLkFG
LmIubCAmIDB4MDEpIHsgaTgwODVfSUNvdW50IC09IDM7IEkuUEMudy5sID0gQVJHMTYoKTsgZG8g
eyBpZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0o
MCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkg
LyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsg
fSB3aGlsZSAoMCk7IH0gZWxzZSBJLlBDLncubCArPSAyOyB9OwogICAgICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhkYjogaTgwODVfSUNvdW50IC09IDEw
OwogICAgICAgICAgICAgICAgICAgICAgICBJLlhYLmQ9QVJHKCk7IEkuQUYuYi5oPWNwdV9yZWFk
cG9ydDE2KEkuWFguZCk7OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
ICAgICAgIGNhc2UgMHhkYzogaTgwODVfSUNvdW50IC09IDExOwogICAgICAgICAgICAgICAgICAg
ICAgICB7IGlmIChJLkFGLmIubCAmIDB4MDEpIHsgVUlOVDE2IGEgPSBBUkcxNigpOyBpODA4NV9J
Q291bnQgLT0gNjsgeyBXTSgtLUkuU1Audy5sLCBJLlBDLmIuaCk7IFdNKC0tSS5TUC53LmwsIEku
UEMuYi5sKTsgfTsgSS5QQy5kID0gYTsgZG8geyBpZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5k
KSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0oMCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0
KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkgLyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5
KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsgfSB3aGlsZSAoMCk7IH0gZWxzZSBJLlBDLncubCAr
PSAyOyB9OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNh
c2UgMHhkZDoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoIEkuY3B1dHlwZSApIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB7IGlmICghKEkuQUYuYi5sICYgMHgwOCkpIHsgaTgwODVfSUNv
dW50IC09IDM7IEkuUEMudy5sID0gQVJHMTYoKTsgZG8geyBpZiAocmVhZG1lbV9sb29rdXBbKCgo
SS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0oMCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIq
MTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkgLyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2Rl
X2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsgfSB3aGlsZSAoMCk7IH0gZWxzZSBJLlBD
LncubCArPSAyOyB9OwogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGk4MDg1X0lDb3VudCAtPSA0OwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlsbGVnYWwoKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhkZTogaTgw
ODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuWFguYi5sID0gQVJHKCk7
CiAgICAgICAgICAgICAgICAgICAgICAgIGFzbSAoICIgc2hyYiAkMSwlJWFsICAgICAgICAgXG4i
ICIgc2JiYiAlMiwlMCAgICAgICAgICAgXG4iICIgbGFoZiAgICAgICAgICAgICAgICAgXG4iICIg
c2V0b2IgJSVhbCAgICAgICAgICAgXG4iICIgc2hsYiAkMiwlJWFsICAgICAgICAgXG4iICIgYW5k
YiAkMHhkMSwlJWFoICAgICAgXG4iICIgb3JiICQyLCUlYWwgICAgICAgICAgXG4iICIgb3JiICUl
YWgsJSVhbCAgICAgICAgXG4iIDoiPWciIChJLkFGLmIuaCksICI9YSIgKEkuQUYuYi5sKSA6InIi
IChJLlhYLmIubCksICJhIiAoSS5BRi5iLmwpLCAiMCIgKEkuQUYuYi5oKSApOwogICAgICAgICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhkZjogaTgwODVfSUNv
dW50IC09IDExOwogICAgICAgICAgICAgICAgICAgICAgICB7IHsgV00oLS1JLlNQLncubCwgSS5Q
Qy5iLmgpOyBXTSgtLUkuU1Audy5sLCBJLlBDLmIubCk7IH07IEkuUEMuZCA9IDggKiAzOyBkbyB7
IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgw
KSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAv
IDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9
IHdoaWxlICgwKTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAg
ICAgICAgY2FzZSAweGUwOiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAg
ICAgeyBpZiAoIShJLkFGLmIubCAmIDB4MDQpKSB7IGk4MDg1X0lDb3VudCAtPSA2OyB7IEkuUEMu
Yi5sID0gUk0oSS5TUC53LmwrKyk7IEkuUEMuYi5oID0gUk0oSS5TUC53LmwrKyk7IH07IGRvIHsg
aWYgKHJlYWRtZW1fbG9va3VwWygoKEkuUEMuZCkgJiBtZW1fYW1hc2spID4+ICgoKCgxNiktKDAp
KSAtICgoKCgxNiktKDApKSA8ICgyKjEyIC0gNCkpID8gMTIgOiAoKCgxNiktKDApKSArIDQpIC8g
MikpICsgKDApKSldICE9IG9wY29kZV9lbnRyeSkgY3B1X3NldG9wYmFzZTE2KEkuUEMuZCk7IH0g
d2hpbGUgKDApOyB9IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAg
ICAgICAgY2FzZSAweGUxOiBpODA4NV9JQ291bnQgLT0gMTA7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHsgSS5ITC5iLmwgPSBSTShJLlNQLncubCsrKTsgSS5ITC5iLmggPSBSTShJLlNQLncubCsr
KTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNl
IDB4ZTI6IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAgICAgICAgICAgICB7IGlmICgh
KEkuQUYuYi5sICYgMHgwNCkpIHsgaTgwODVfSUNvdW50IC09IDM7IEkuUEMudy5sID0gQVJHMTYo
KTsgZG8geyBpZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgo
KDE2KS0oMCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkp
ICsgNCkgLyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5Q
Qy5kKTsgfSB3aGlsZSAoMCk7IH0gZWxzZSBJLlBDLncubCArPSAyOyB9OwogICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhlMzogaTgwODVfSUNvdW50
IC09IDE4OwogICAgICAgICAgICAgICAgICAgICAgICB7IEkuWFguYi5sID0gUk0oSS5TUC53Lmwr
Kyk7IEkuWFguYi5oID0gUk0oSS5TUC53LmwrKyk7IH07CiAgICAgICAgICAgICAgICAgICAgICAg
IHsgV00oLS1JLlNQLncubCwgSS5ITC5iLmgpOyBXTSgtLUkuU1Audy5sLCBJLkhMLmIubCk7IH07
CiAgICAgICAgICAgICAgICAgICAgICAgIEkuSEwuZCA9IEkuWFguZDsKICAgICAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4ZTQ6IGk4MDg1X0lDb3VudCAt
PSAxMTsKICAgICAgICAgICAgICAgICAgICAgICAgeyBpZiAoIShJLkFGLmIubCAmIDB4MDQpKSB7
IFVJTlQxNiBhID0gQVJHMTYoKTsgaTgwODVfSUNvdW50IC09IDY7IHsgV00oLS1JLlNQLncubCwg
SS5QQy5iLmgpOyBXTSgtLUkuU1Audy5sLCBJLlBDLmIubCk7IH07IEkuUEMuZCA9IGE7IGRvIHsg
aWYgKHJlYWRtZW1fbG9va3VwWygoKEkuUEMuZCkgJiBtZW1fYW1hc2spID4+ICgoKCgxNiktKDAp
KSAtICgoKCgxNiktKDApKSA8ICgyKjEyIC0gNCkpID8gMTIgOiAoKCgxNiktKDApKSArIDQpIC8g
MikpICsgKDApKSldICE9IG9wY29kZV9lbnRyeSkgY3B1X3NldG9wYmFzZTE2KEkuUEMuZCk7IH0g
d2hpbGUgKDApOyB9IGVsc2UgSS5QQy53LmwgKz0gMjsgfTsKICAgICAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4ZTU6IGk4MDg1X0lDb3VudCAtPSAxMTsK
ICAgICAgICAgICAgICAgICAgICAgICAgeyBXTSgtLUkuU1Audy5sLCBJLkhMLmIuaCk7IFdNKC0t
SS5TUC53LmwsIEkuSEwuYi5sKTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgICAgICBjYXNlIDB4ZTY6IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAg
ICAgICAgICAgICBJLlhYLmIubCA9IEFSRygpOwogICAgICAgICAgICAgICAgICAgICAgICBJLkFG
LmIuaCY9SS5YWC5iLmw7IEkuQUYuYi5sPVpTUFtJLkFGLmIuaF18MHgxMDsKICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4ZTc6IGk4MDg1X0lDb3Vu
dCAtPSAxMTsKICAgICAgICAgICAgICAgICAgICAgICAgeyB7IFdNKC0tSS5TUC53LmwsIEkuUEMu
Yi5oKTsgV00oLS1JLlNQLncubCwgSS5QQy5iLmwpOyB9OyBJLlBDLmQgPSA4ICogNDsgZG8geyBp
ZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0oMCkp
IC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkgLyAy
KSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsgfSB3
aGlsZSAoMCk7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAg
ICAgIGNhc2UgMHhlODogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAg
IHsgaWYgKEkuQUYuYi5sICYgMHgwNCkgeyBpODA4NV9JQ291bnQgLT0gNjsgeyBJLlBDLmIubCA9
IFJNKEkuU1Audy5sKyspOyBJLlBDLmIuaCA9IFJNKEkuU1Audy5sKyspOyB9OyBkbyB7IGlmIChy
ZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAo
KCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSAr
ICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxl
ICgwKTsgfSB9OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
IGNhc2UgMHhlOTogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAgICAgIEku
UEMuZCA9IEkuSEwudy5sOwogICAgICAgICAgICAgICAgICAgICAgICBkbyB7IGlmIChyZWFkbWVt
X2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYp
LSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkp
XSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsK
ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4ZWE6
IGk4MDg1X0lDb3VudCAtPSA3OwogICAgICAgICAgICAgICAgICAgICAgICB7IGlmIChJLkFGLmIu
bCAmIDB4MDQpIHsgaTgwODVfSUNvdW50IC09IDM7IEkuUEMudy5sID0gQVJHMTYoKTsgZG8geyBp
ZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0oMCkp
IC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkgLyAy
KSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsgfSB3
aGlsZSAoMCk7IH0gZWxzZSBJLlBDLncubCArPSAyOyB9OwogICAgICAgICAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhlYjogaTgwODVfSUNvdW50IC09IDQ7CiAg
ICAgICAgICAgICAgICAgICAgICAgIEkuWFguZCA9IEkuREUuZDsKICAgICAgICAgICAgICAgICAg
ICAgICAgSS5ERS5kID0gSS5ITC5kOwogICAgICAgICAgICAgICAgICAgICAgICBJLkhMLmQgPSBJ
LlhYLmQ7CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2Fz
ZSAweGVjOiBpODA4NV9JQ291bnQgLT0gMTE7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWYg
KEkuQUYuYi5sICYgMHgwNCkgeyBVSU5UMTYgYSA9IEFSRzE2KCk7IGk4MDg1X0lDb3VudCAtPSA2
OyB7IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5oKTsgV00oLS1JLlNQLncubCwgSS5QQy5iLmwpOyB9
OyBJLlBDLmQgPSBhOyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2Ft
YXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDog
KCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRv
cGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSBlbHNlIEkuUEMudy5sICs9IDI7IH07CiAg
ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGVkOgog
ICAgICAgICAgICAgICAgICAgICAgICBpZiggSS5jcHV0eXBlICkgewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGk4MDg1X0lDb3VudCAtPSAxMDsKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBJLlhYLncubCA9IEkuREUudy5sOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEkuSEwuYi5sID0gUk0oSS5YWC5kKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJLlhYLncubCsrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkuSEwuYi5o
ID0gUk0oSS5YWC5kKTsKICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9JQ291bnQgLT0gNDsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbGxlZ2FsKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgICAgICAgICAgICAgaWxsZWdhbCgpOwogICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhlZTogaTgwODVfSUNvdW50IC09IDc7CiAgICAg
ICAgICAgICAgICAgICAgICAgIEkuWFguYi5sID0gQVJHKCk7CiAgICAgICAgICAgICAgICAgICAg
ICAgIEkuQUYuYi5oXj1JLlhYLmIubDsgSS5BRi5iLmw9WlNQW0kuQUYuYi5oXTsKICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIDB4ZWY6IGk4MDg1X0lD
b3VudCAtPSAxMTsKICAgICAgICAgICAgICAgICAgICAgICAgeyB7IFdNKC0tSS5TUC53LmwsIEku
UEMuYi5oKTsgV00oLS1JLlNQLncubCwgSS5QQy5iLmwpOyB9OyBJLlBDLmQgPSA4ICogNTsgZG8g
eyBpZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0o
MCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkg
LyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsg
fSB3aGlsZSAoMCk7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAg
ICAgICAgIGNhc2UgMHhmMDogaTgwODVfSUNvdW50IC09IDU7CiAgICAgICAgICAgICAgICAgICAg
ICAgIHsgaWYgKCEoSS5BRi5iLmwmMHg4MCkpIHsgaTgwODVfSUNvdW50IC09IDY7IHsgSS5QQy5i
LmwgPSBSTShJLlNQLncubCsrKTsgSS5QQy5iLmggPSBSTShJLlNQLncubCsrKTsgfTsgZG8geyBp
ZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2KS0oMCkp
IC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsgNCkgLyAy
KSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5kKTsgfSB3
aGlsZSAoMCk7IH0gfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICBjYXNlIDB4ZjE6IGk4MDg1X0lDb3VudCAtPSAxMDsKICAgICAgICAgICAgICAgICAgICAg
ICAgeyBJLkFGLmIubCA9IFJNKEkuU1Audy5sKyspOyBJLkFGLmIuaCA9IFJNKEkuU1Audy5sKysp
OyB9OwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2Ug
MHhmMjogaTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWYgKCEo
SS5BRi5iLmwgJiAweDgwKSkgeyBpODA4NV9JQ291bnQgLT0gMzsgSS5QQy53LmwgPSBBUkcxNigp
OyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgo
MTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkg
KyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBD
LmQpOyB9IHdoaWxlICgwKTsgfSBlbHNlIEkuUEMudy5sICs9IDI7IH07CiAgICAgICAgICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGYzOiBpODA4NV9JQ291bnQg
LT0gNDsKCiAgICAgICAgICAgICAgICAgICAgICAgIEkuSU0gJj0gfjB4MjA7CiAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGY0OiBpODA4NV9JQ291
bnQgLT0gMTE7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgaWYgKCEoSS5BRi5iLmwgJiAweDgw
KSkgeyBVSU5UMTYgYSA9IEFSRzE2KCk7IGk4MDg1X0lDb3VudCAtPSA2OyB7IFdNKC0tSS5TUC53
LmwsIEkuUEMuYi5oKTsgV00oLS1JLlNQLncubCwgSS5QQy5iLmwpOyB9OyBJLlBDLmQgPSBhOyBk
byB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYp
LSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0
KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQp
OyB9IHdoaWxlICgwKTsgfSBlbHNlIEkuUEMudy5sICs9IDI7IH07CiAgICAgICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGY1OiBpODA4NV9JQ291bnQgLT0g
MTE7CiAgICAgICAgICAgICAgICAgICAgICAgIHsgV00oLS1JLlNQLncubCwgSS5BRi5iLmgpOyBX
TSgtLUkuU1Audy5sLCBJLkFGLmIubCk7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgICAgY2FzZSAweGY2OiBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAg
ICAgICAgICAgICAgICAgSS5YWC5iLmwgPSBBUkcoKTsKICAgICAgICAgICAgICAgICAgICAgICAg
SS5BRi5iLmh8PUkuWFguYi5sOyBJLkFGLmIubD1aU1BbSS5BRi5iLmhdOwogICAgICAgICAgICAg
ICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgMHhmNzogaTgwODVfSUNvdW50
IC09IDExOwogICAgICAgICAgICAgICAgICAgICAgICB7IHsgV00oLS1JLlNQLncubCwgSS5QQy5i
LmgpOyBXTSgtLUkuU1Audy5sLCBJLlBDLmIubCk7IH07IEkuUEMuZCA9IDggKiA2OyBkbyB7IGlm
IChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkg
LSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIp
KSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdo
aWxlICgwKTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAg
ICAgY2FzZSAweGY4OiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAg
eyBpZiAoSS5BRi5iLmwgJiAweDgwKSB7IGk4MDg1X0lDb3VudCAtPSA2OyB7IEkuUEMuYi5sID0g
Uk0oSS5TUC53LmwrKyk7IEkuUEMuYi5oID0gUk0oSS5TUC53LmwrKyk7IH07IGRvIHsgaWYgKHJl
YWRtZW1fbG9va3VwWygoKEkuUEMuZCkgJiBtZW1fYW1hc2spID4+ICgoKCgxNiktKDApKSAtICgo
KCgxNiktKDApKSA8ICgyKjEyIC0gNCkpID8gMTIgOiAoKCgxNiktKDApKSArIDQpIC8gMikpICsg
KDApKSldICE9IG9wY29kZV9lbnRyeSkgY3B1X3NldG9wYmFzZTE2KEkuUEMuZCk7IH0gd2hpbGUg
KDApOyB9IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAg
Y2FzZSAweGY5OiBpODA4NV9JQ291bnQgLT0gNTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5T
UC5kID0gSS5ITC5kOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgIGNhc2UgMHhmYTogaTgwODVfSUNvdW50IC09IDc7CiAgICAgICAgICAgICAgICAgICAgICAg
IHsgaWYgKEkuQUYuYi5sICYgMHg4MCkgeyBpODA4NV9JQ291bnQgLT0gMzsgSS5QQy53LmwgPSBB
UkcxNigpOyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+
PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYp
LSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2Ux
NihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSBlbHNlIEkuUEMudy5sICs9IDI7IH07CiAgICAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAweGZiOiBpODA4NV9J
Q291bnQgLT0gNDsKCiAgICAgICAgICAgICAgICAgICAgICAgIEkuSU0gfD0gMHgyMDsKCiAgICAg
ICAgICAgICAgICAgICAgICAgIEkuSVJFUSAmPSB+SS5JU1JWOwoKICAgICAgICAgICAgICAgICAg
ICAgICAgSS5JU1JWID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoIEkuaXJxX3N0YXRl
WzBdICE9IENMRUFSX0xJTkUgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkuSVJFUSB8PSAweDA4OwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEkuSU5UUiA9IDB4ZmY7CiAgICAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoIEkuY3B1dHlwZSApIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiggSS5pcnFfc3RhdGVbMV0gIT0gQ0xFQVJfTElORSAp
IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkuSVJFUSB8PSAweDAxOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZigg
SS5pcnFfc3RhdGVbMl0gIT0gQ0xFQVJfTElORSApIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEkuSVJFUSB8PSAweDAyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggSS5pcnFfc3RhdGVbM10gIT0gQ0xFQVJfTElO
RSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkuSVJFUSB8PSAweDA0OwogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0KCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmKCAhKEkuSU0gJiAweDA0KSAmJiAoSS5JUkVRICYgMHgwNCkgKSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBJLklTUlYgPSAweDA0OwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgSS5JUlEyID0gMHgwMDNjOwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoICEoSS5JTSAmIDB4MDIpICYmIChJLklS
RVEgJiAweDAyKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEku
SVNSViA9IDB4MDI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJLklS
UTIgPSAweDAwMzQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmKCAh
KEkuSU0gJiAweDAxKSAmJiAoSS5JUkVRICYgMHgwMSkgKSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBJLklTUlYgPSAweDAxOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgSS5JUlEyID0gMHgwMDJjOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0gZWxzZSBpZiggIShJLklNICYgMHgwOCkgJiYgKEkuSVJFUSAmIDB4MDgpICkg
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSS5JU1JWID0gMHgwODsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEkuSVJRMiA9IEkuSU5UUjsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg
IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoICEoSS5JTSAmIDB4
MDgpICYmIChJLklSRVEgJiAweDA4KSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEkuSVNSViA9IDB4MDg7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJLklSUTIgPSBJLklOVFI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICAgICAgICAgY2FzZSAweGZjOiBpODA4NV9JQ291bnQgLT0gMTE7CiAgICAgICAg
ICAgICAgICAgICAgICAgIHsgaWYgKEkuQUYuYi5sICYgMHg4MCkgeyBVSU5UMTYgYSA9IEFSRzE2
KCk7IGk4MDg1X0lDb3VudCAtPSA2OyB7IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5oKTsgV00oLS1J
LlNQLncubCwgSS5QQy5iLmwpOyB9OyBJLlBDLmQgPSBhOyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1
cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkg
PCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBv
cGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSBlbHNl
IEkuUEMudy5sICs9IDI7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICAgICAgICAgY2FzZSAweGZkOgogICAgICAgICAgICAgICAgICAgICAgICBpZiggSS5jcHV0eXBl
ICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGk4MDg1X0lDb3VudCAtPSA3Owog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgaWYgKEkuQUYuYi5sICYgMHgwOCkgeyBp
ODA4NV9JQ291bnQgLT0gMzsgSS5QQy53LmwgPSBBUkcxNigpOyBkbyB7IGlmIChyZWFkbWVtX2xv
b2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgw
KSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAh
PSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfSBl
bHNlIEkuUEMudy5sICs9IDI7IH07CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTgwODVfSUNvdW50IC09IDQ7CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWxsZWdhbCgpOwogICAgICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAw
eGZlOiBpODA4NV9JQ291bnQgLT0gNzsKICAgICAgICAgICAgICAgICAgICAgICAgSS5YWC5iLmwg
PSBBUkcoKTsKICAgICAgICAgICAgICAgICAgICAgICAgYXNtICggIiBjbXBiICUyLCUwICAgICAg
ICAgIFxuIiAiIGxhaGYgICAgICAgICAgICAgICAgXG4iICIgc2V0b2IgJSVhbCAgICAgICAgICBc
biIgIiBzaGxiICQyLCUlYWwgICAgICAgIFxuIiAiIGFuZGIgJDB4ZDEsJSVhaCAgICAgXG4iICIg
b3JiICQyLCUlYWwgICAgICAgICBcbiIgIiBvcmIgJSVhaCwlJWFsICAgICAgIFxuIiA6Ij1nIiAo
SS5BRi5iLmgpLCAiPWEiIChJLkFGLmIubCkgOiJyIiAoSS5YWC5iLmwpLCAiMCIgKEkuQUYuYi5o
KSApOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2Ug
MHhmZjogaTgwODVfSUNvdW50IC09IDExOwogICAgICAgICAgICAgICAgICAgICAgICB7IHsgV00o
LS1JLlNQLncubCwgSS5QQy5iLmgpOyBXTSgtLUkuU1Audy5sLCBJLlBDLmIubCk7IH07IEkuUEMu
ZCA9IDggKiA3OyBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNr
KSA+PiAoKCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgo
MTYpLSgwKSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJh
c2UxNihJLlBDLmQpOyB9IHdoaWxlICgwKTsgfTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgfQp9CgpzdGF0aWMgdm9pZCBJbnRlcnJ1cHQodm9pZCkKewoKICAgICAgICBp
ZiggSS5IQUxUICkKICAgICAgICB7CiAgICAgICAgICAgICAgICBJLlBDLncubCsrOwogICAgICAg
ICAgICAgICAgSS5IQUxUID0gMDsKICAgICAgICB9CiAgICAgICAgSS5JTSAmPSB+MHgyMDsKCiAg
ICAgICAgaWYoIEkuSVNSViA9PSAweDA4ICkKICAgICAgICB7CiAgICAgICAgICAgICAgICA7CiAg
ICAgICAgICAgICAgICBJLklSUTEgPSAoSS5pcnFfY2FsbGJhY2spKDApOwogICAgICAgIH0KCiAg
ICAgICAgaWYoIEkuY3B1dHlwZSApCiAgICAgICAgewogICAgICAgICAgICAgICAgaWYoIEkuSVNS
ViA9PSAweDAxICkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgOwog
ICAgICAgICAgICAgICAgICAgICAgICBJLklSUTEgPSAoSS5pcnFfY2FsbGJhY2spKDEpOwogICAg
ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmKCBJLklTUlYgPT0gMHgwMiApCiAgICAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDsKICAgICAgICAgICAgICAgICAg
ICAgICAgSS5JUlExID0gKEkuaXJxX2NhbGxiYWNrKSgyKTsKICAgICAgICAgICAgICAgIH0KCiAg
ICAgICAgICAgICAgICBpZiggSS5JU1JWID09IDB4MDQgKQogICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICAgICA7CiAgICAgICAgICAgICAgICAgICAgICAgIEkuSVJRMSA9IChJ
LmlycV9jYWxsYmFjaykoMyk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBz
d2l0Y2goIEkuSVJRMSAmIDB4ZmYwMDAwICkKICAgICAgICB7CiAgICAgICAgICAgICAgICBjYXNl
IDB4Y2QwMDAwOgogICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9JQ291bnQgLT0gNzsKICAg
ICAgICAgICAgICAgICAgICAgICAgeyBXTSgtLUkuU1Audy5sLCBJLlBDLmIuaCk7IFdNKC0tSS5T
UC53LmwsIEkuUEMuYi5sKTsgfTsKICAgICAgICAgICAgICAgIGNhc2UgMHhjMzAwMDA6CiAgICAg
ICAgICAgICAgICAgICAgICAgIGk4MDg1X0lDb3VudCAtPSAxMDsKICAgICAgICAgICAgICAgICAg
ICAgICAgSS5QQy5kID0gSS5JUlExICYgMHhmZmZmOwogICAgICAgICAgICAgICAgICAgICAgICBk
byB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAoKCgoMTYp
LSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgwKSkgKyA0
KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJLlBDLmQp
OyB9IHdoaWxlICgwKTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2goIEkuSVNSViApCiAg
ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
YXNlIDB4MTA6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAweDA0OgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMHgwMjoKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjYXNlIDB4MDE6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB7IFdNKC0tSS5TUC53LmwsIEkuUEMuYi5oKTsgV00oLS1JLlNQLncubCwgSS5QQy5i
LmwpOyB9OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEkuSVJR
MSAhPSAoMSA8PCAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSS5QQy5kID0gSS5JUlExOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJLlBDLmQgPSAweDNjOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZG8geyBpZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFzaykgPj4gKCgoKDE2
KS0oMCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgoKDE2KS0oMCkpICsg
NCkgLyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3BiYXNlMTYoSS5QQy5k
KTsgfSB3aGlsZSAoMCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXhlY3V0ZV9vbmUoSS5JUlExICYgMHhmZik7CiAgICAgICAgICAgICAg
ICAgICAgICAgIH0KICAgICAgICB9Cn0KCmludCBpODA4NV9leGVjdXRlKGludCBjeWNsZXMpCnsK
CiAgICAgICAgaTgwODVfSUNvdW50ID0gY3ljbGVzOwogICAgICAgIGRvCiAgICAgICAgewogICAg
ICAgICAgICAgICAgOwoKICAgICAgICAgICAgICAgIGlmICggKEkuSU0gJiAweDIwKSB8fCAoSS5J
UkVRICYgMHgxMCkgKQogICAgICAgICAgICAgICAgewoKICAgICAgICAgICAgICAgICAgICAgICAg
SS5JUlExID0gSS5JUlEyOwoKICAgICAgICAgICAgICAgICAgICAgICAgSS5JUlEyID0gMDsKCiAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChJLklSUTEpIEludGVycnVwdCgpOwogICAgICAgICAg
ICAgICAgfQoKCiAgICAgICAgICAgICAgICBleGVjdXRlX29uZShST1AoKSk7CgogICAgICAgIH0g
d2hpbGUgKGk4MDg1X0lDb3VudCA+IDApOwoKICAgICAgICByZXR1cm4gY3ljbGVzIC0gaTgwODVf
SUNvdW50Owp9CgoKCgpzdGF0aWMgdm9pZCBpbml0X3RhYmxlcyAodm9pZCkKewogICAgICAgIFVJ
TlQ4IHpzOwogICAgICAgIGludCBpLCBwOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7IGkr
KykKICAgICAgICB7CiAgICAgICAgICAgICAgICB6cyA9IDA7CiAgICAgICAgICAgICAgICBpZiAo
aT09MCkgenMgfD0gMHg0MDsKICAgICAgICAgICAgICAgIGlmIChpJjEyOCkgenMgfD0gMHg4MDsK
ICAgICAgICAgICAgICAgIHAgPSAwOwogICAgICAgICAgICAgICAgaWYgKGkmMSkgKytwOwogICAg
ICAgICAgICAgICAgaWYgKGkmMikgKytwOwogICAgICAgICAgICAgICAgaWYgKGkmNCkgKytwOwog
ICAgICAgICAgICAgICAgaWYgKGkmOCkgKytwOwogICAgICAgICAgICAgICAgaWYgKGkmMTYpICsr
cDsKICAgICAgICAgICAgICAgIGlmIChpJjMyKSArK3A7CiAgICAgICAgICAgICAgICBpZiAoaSY2
NCkgKytwOwogICAgICAgICAgICAgICAgaWYgKGkmMTI4KSArK3A7CiAgICAgICAgICAgICAgICBa
U1tpXSA9IHpzOwogICAgICAgICAgICAgICAgWlNQW2ldID0genMgfCAoKHAmMSkgPyAwIDogMHgw
NCk7CiAgICAgICAgfQp9CgoKCgp2b2lkIGk4MDg1X2luaXQodm9pZCkKewogICAgICAgIGludCBj
cHUgPSBjcHVfZ2V0YWN0aXZlY3B1KCk7CiAgICAgICAgaW5pdF90YWJsZXMoKTsKICAgICAgICBJ
LmNwdXR5cGUgPSAxOwoKICAgICAgICBzdGF0ZV9zYXZlX3JlZ2lzdGVyX1VJTlQxNigiaTgwODUi
LCBjcHUsICJBRiIsICZJLkFGLncubCwgMSk7CiAgICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9V
SU5UMTYoImk4MDg1IiwgY3B1LCAiQkMiLCAmSS5CQy53LmwsIDEpOwogICAgICAgIHN0YXRlX3Nh
dmVfcmVnaXN0ZXJfVUlOVDE2KCJpODA4NSIsIGNwdSwgIkRFIiwgJkkuREUudy5sLCAxKTsKICAg
ICAgICBzdGF0ZV9zYXZlX3JlZ2lzdGVyX1VJTlQxNigiaTgwODUiLCBjcHUsICJITCIsICZJLkhM
LncubCwgMSk7CiAgICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9VSU5UMTYoImk4MDg1IiwgY3B1
LCAiU1AiLCAmSS5TUC53LmwsIDEpOwogICAgICAgIHN0YXRlX3NhdmVfcmVnaXN0ZXJfVUlOVDE2
KCJpODA4NSIsIGNwdSwgIlBDIiwgJkkuUEMudy5sLCAxKTsKICAgICAgICBzdGF0ZV9zYXZlX3Jl
Z2lzdGVyX1VJTlQ4KCJpODA4NSIsIGNwdSwgIkhBTFQiLCAmSS5IQUxULCAxKTsKICAgICAgICBz
dGF0ZV9zYXZlX3JlZ2lzdGVyX1VJTlQ4KCJpODA4NSIsIGNwdSwgIklNIiwgJkkuSU0sIDEpOwog
ICAgICAgIHN0YXRlX3NhdmVfcmVnaXN0ZXJfVUlOVDgoImk4MDg1IiwgY3B1LCAiSVJFUSIsICZJ
LklSRVEsIDEpOwogICAgICAgIHN0YXRlX3NhdmVfcmVnaXN0ZXJfVUlOVDgoImk4MDg1IiwgY3B1
LCAiSVNSViIsICZJLklTUlYsIDEpOwogICAgICAgIHN0YXRlX3NhdmVfcmVnaXN0ZXJfVUlOVDMy
KCJpODA4NSIsIGNwdSwgIklOVFIiLCAmSS5JTlRSLCAxKTsKICAgICAgICBzdGF0ZV9zYXZlX3Jl
Z2lzdGVyX1VJTlQzMigiaTgwODUiLCBjcHUsICJJUlEyIiwgJkkuSVJRMiwgMSk7CiAgICAgICAg
c3RhdGVfc2F2ZV9yZWdpc3Rlcl9VSU5UMzIoImk4MDg1IiwgY3B1LCAiSVJRMSIsICZJLklSUTEs
IDEpOwogICAgICAgIHN0YXRlX3NhdmVfcmVnaXN0ZXJfSU5UOCgiaTgwODUiLCBjcHUsICJOTUlf
U1RBVEUiLCAmSS5ubWlfc3RhdGUsIDEpOwogICAgICAgIHN0YXRlX3NhdmVfcmVnaXN0ZXJfSU5U
OCgiaTgwODUiLCBjcHUsICJJUlFfU1RBVEUiLCBJLmlycV9zdGF0ZSwgNCk7Cn0KCgoKCnZvaWQg
aTgwODVfcmVzZXQodm9pZCAqcGFyYW0pCnsKICAgICAgICBpbml0X3RhYmxlcygpOwogICAgICAg
IChfX2V4dGVuc2lvbl9fIChfX2J1aWx0aW5fY29uc3RhbnRfcCAoc2l6ZW9mKGk4MDg1X1JlZ3Mp
KSAmJiAoc2l6ZW9mKGk4MDg1X1JlZ3MpKSA8PSAxNiA/ICgoc2l6ZW9mKGk4MDg1X1JlZ3MpKSA9
PSAxID8gKHsgdm9pZCAqX19zID0gKCZJKTsgKigoX191aW50OF90ICopIF9fcykgPSAoX191aW50
OF90KSAwOyBfX3M7IH0pIDogKHsgdm9pZCAqX19zID0gKCZJKTsgdW5pb24geyB1bnNpZ25lZCBp
bnQgX191aTsgdW5zaWduZWQgc2hvcnQgaW50IF9fdXNpOyB1bnNpZ25lZCBjaGFyIF9fdWM7IH0g
Kl9fdSA9IF9fczsgX191aW50OF90IF9fYyA9IChfX3VpbnQ4X3QpICgwKTsgc3dpdGNoICgodW5z
aWduZWQgaW50KSAoc2l6ZW9mKGk4MDg1X1JlZ3MpKSkgeyBjYXNlIDE1OiBfX3UtPl9fdWkgPSBf
X2MgKiAweDAxMDEwMTAxOyBfX3UgPSBfX2V4dGVuc2lvbl9fICgodm9pZCAqKSBfX3UgKyA0KTsg
Y2FzZSAxMTogX191LT5fX3VpID0gX19jICogMHgwMTAxMDEwMTsgX191ID0gX19leHRlbnNpb25f
XyAoKHZvaWQgKikgX191ICsgNCk7IGNhc2UgNzogX191LT5fX3VpID0gX19jICogMHgwMTAxMDEw
MTsgX191ID0gX19leHRlbnNpb25fXyAoKHZvaWQgKikgX191ICsgNCk7IGNhc2UgMzogX191LT5f
X3VzaSA9ICh1bnNpZ25lZCBzaG9ydCBpbnQpIF9fYyAqIDB4MDEwMTsgX191ID0gX19leHRlbnNp
b25fXyAoKHZvaWQgKikgX191ICsgMik7IF9fdS0+X191YyA9ICh1bnNpZ25lZCBjaGFyKSBfX2M7
IGJyZWFrOyBjYXNlIDE0OiBfX3UtPl9fdWkgPSBfX2MgKiAweDAxMDEwMTAxOyBfX3UgPSBfX2V4
dGVuc2lvbl9fICgodm9pZCAqKSBfX3UgKyA0KTsgY2FzZSAxMDogX191LT5fX3VpID0gX19jICog
MHgwMTAxMDEwMTsgX191ID0gX19leHRlbnNpb25fXyAoKHZvaWQgKikgX191ICsgNCk7IGNhc2Ug
NjogX191LT5fX3VpID0gX19jICogMHgwMTAxMDEwMTsgX191ID0gX19leHRlbnNpb25fXyAoKHZv
aWQgKikgX191ICsgNCk7IGNhc2UgMjogX191LT5fX3VzaSA9ICh1bnNpZ25lZCBzaG9ydCBpbnQp
IF9fYyAqIDB4MDEwMTsgYnJlYWs7IGNhc2UgMTM6IF9fdS0+X191aSA9IF9fYyAqIDB4MDEwMTAx
MDE7IF9fdSA9IF9fZXh0ZW5zaW9uX18gKCh2b2lkICopIF9fdSArIDQpOyBjYXNlIDk6IF9fdS0+
X191aSA9IF9fYyAqIDB4MDEwMTAxMDE7IF9fdSA9IF9fZXh0ZW5zaW9uX18gKCh2b2lkICopIF9f
dSArIDQpOyBjYXNlIDU6IF9fdS0+X191aSA9IF9fYyAqIDB4MDEwMTAxMDE7IF9fdSA9IF9fZXh0
ZW5zaW9uX18gKCh2b2lkICopIF9fdSArIDQpOyBjYXNlIDE6IF9fdS0+X191YyA9ICh1bnNpZ25l
ZCBjaGFyKSBfX2M7IGJyZWFrOyBjYXNlIDE2OiBfX3UtPl9fdWkgPSBfX2MgKiAweDAxMDEwMTAx
OyBfX3UgPSBfX2V4dGVuc2lvbl9fICgodm9pZCAqKSBfX3UgKyA0KTsgY2FzZSAxMjogX191LT5f
X3VpID0gX19jICogMHgwMTAxMDEwMTsgX191ID0gX19leHRlbnNpb25fXyAoKHZvaWQgKikgX191
ICsgNCk7IGNhc2UgODogX191LT5fX3VpID0gX19jICogMHgwMTAxMDEwMTsgX191ID0gX19leHRl
bnNpb25fXyAoKHZvaWQgKikgX191ICsgNCk7IGNhc2UgNDogX191LT5fX3VpID0gX19jICogMHgw
MTAxMDEwMTsgY2FzZSAwOiBicmVhazsgfSBfX3M7IH0pKSA6IChfX2J1aWx0aW5fY29uc3RhbnRf
cCAoMCkgJiYgKDApID09ICdcMCcgPyAoeyB2b2lkICpfX3MgPSAoJkkpOyBfX2J1aWx0aW5fbWVt
c2V0IChfX3MsICdcMCcsIHNpemVvZihpODA4NV9SZWdzKSk7IF9fczsgfSkgOiBtZW1zZXQgKCZJ
LCAwLCBzaXplb2YoaTgwODVfUmVncykpKSkpOwogICAgICAgIGRvIHsgaWYgKHJlYWRtZW1fbG9v
a3VwWygoKEkuUEMuZCkgJiBtZW1fYW1hc2spID4+ICgoKCgxNiktKDApKSAtICgoKCgxNiktKDAp
KSA8ICgyKjEyIC0gNCkpID8gMTIgOiAoKCgxNiktKDApKSArIDQpIC8gMikpICsgKDApKSldICE9
IG9wY29kZV9lbnRyeSkgY3B1X3NldG9wYmFzZTE2KEkuUEMuZCk7IH0gd2hpbGUgKDApOwp9CgoK
Cgp2b2lkIGk4MDg1X2V4aXQodm9pZCkKewoKfQoKCgoKdW5zaWduZWQgaTgwODVfZ2V0X2NvbnRl
eHQodm9pZCAqZHN0KQp7CiAgICAgICAgaWYoIGRzdCApCiAgICAgICAgICAgICAgICAqKGk4MDg1
X1JlZ3MqKWRzdCA9IEk7CiAgICAgICAgcmV0dXJuIHNpemVvZihpODA4NV9SZWdzKTsKfQoKCgoK
dm9pZCBpODA4NV9zZXRfY29udGV4dCh2b2lkICpzcmMpCnsKICAgICAgICBpZiggc3JjICkKICAg
ICAgICB7CiAgICAgICAgICAgICAgICBJID0gKihpODA4NV9SZWdzKilzcmM7CiAgICAgICAgICAg
ICAgICBkbyB7IGlmIChyZWFkbWVtX2xvb2t1cFsoKChJLlBDLmQpICYgbWVtX2FtYXNrKSA+PiAo
KCgoMTYpLSgwKSkgLSAoKCgoMTYpLSgwKSkgPCAoMioxMiAtIDQpKSA/IDEyIDogKCgoMTYpLSgw
KSkgKyA0KSAvIDIpKSArICgwKSkpXSAhPSBvcGNvZGVfZW50cnkpIGNwdV9zZXRvcGJhc2UxNihJ
LlBDLmQpOyB9IHdoaWxlICgwKTsKICAgICAgICB9Cn0KCgoKCnVuc2lnbmVkIGk4MDg1X2dldF9y
ZWcoaW50IHJlZ251bSkKewogICAgICAgIHN3aXRjaCggcmVnbnVtICkKICAgICAgICB7CiAgICAg
ICAgICAgICAgICBjYXNlIFJFR19QQzogcmV0dXJuIEkuUEMuZDsKICAgICAgICAgICAgICAgIGNh
c2UgSTgwODVfUEM6IHJldHVybiBJLlBDLncubDsKICAgICAgICAgICAgICAgIGNhc2UgUkVHX1NQ
OiByZXR1cm4gSS5TUC5kOwogICAgICAgICAgICAgICAgY2FzZSBJODA4NV9TUDogcmV0dXJuIEku
U1Audy5sOwogICAgICAgICAgICAgICAgY2FzZSBJODA4NV9BRjogcmV0dXJuIEkuQUYudy5sOwog
ICAgICAgICAgICAgICAgY2FzZSBJODA4NV9CQzogcmV0dXJuIEkuQkMudy5sOwogICAgICAgICAg
ICAgICAgY2FzZSBJODA4NV9ERTogcmV0dXJuIEkuREUudy5sOwogICAgICAgICAgICAgICAgY2Fz
ZSBJODA4NV9ITDogcmV0dXJuIEkuSEwudy5sOwogICAgICAgICAgICAgICAgY2FzZSBJODA4NV9J
TTogcmV0dXJuIEkuSU07CiAgICAgICAgICAgICAgICBjYXNlIEk4MDg1X0hBTFQ6IHJldHVybiBJ
LkhBTFQ7CiAgICAgICAgICAgICAgICBjYXNlIEk4MDg1X0lSRVE6IHJldHVybiBJLklSRVE7CiAg
ICAgICAgICAgICAgICBjYXNlIEk4MDg1X0lTUlY6IHJldHVybiBJLklTUlY7CiAgICAgICAgICAg
ICAgICBjYXNlIEk4MDg1X1ZFQ1RPUjogcmV0dXJuIEkuSU5UUjsKICAgICAgICAgICAgICAgIGNh
c2UgSTgwODVfVFJBUF9TVEFURTogcmV0dXJuIEkubm1pX3N0YXRlOwogICAgICAgICAgICAgICAg
Y2FzZSBJODA4NV9JTlRSX1NUQVRFOiByZXR1cm4gSS5pcnFfc3RhdGVbMF07CiAgICAgICAgICAg
ICAgICBjYXNlIEk4MDg1X1JTVDU1X1NUQVRFOiByZXR1cm4gSS5pcnFfc3RhdGVbMV07CiAgICAg
ICAgICAgICAgICBjYXNlIEk4MDg1X1JTVDY1X1NUQVRFOiByZXR1cm4gSS5pcnFfc3RhdGVbMl07
CiAgICAgICAgICAgICAgICBjYXNlIEk4MDg1X1JTVDc1X1NUQVRFOiByZXR1cm4gSS5pcnFfc3Rh
dGVbM107CiAgICAgICAgICAgICAgICBjYXNlIFJFR19QUkVWSU9VU1BDOiByZXR1cm4gMDsKICAg
ICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCByZWdudW0g
PD0gUkVHX1NQX0NPTlRFTlRTICkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIG9mZnNldCA9IEkuU1Audy5sICsgMiAqIChS
RUdfU1BfQ09OVEVOVFMgLSByZWdudW0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlmKCBvZmZzZXQgPCAweGZmZmYgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIFJNKCBvZmZzZXQgKSArICggUk0oIG9mZnNldCsxICkgPDwgOCApOwogICAg
ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHJldHVybiAwOwp9CgoKCgp2
b2lkIGk4MDg1X3NldF9yZWcoaW50IHJlZ251bSwgdW5zaWduZWQgdmFsKQp7CiAgICAgICAgc3dp
dGNoKCByZWdudW0gKQogICAgICAgIHsKICAgICAgICAgICAgICAgIGNhc2UgUkVHX1BDOiBJLlBD
LncubCA9IHZhbDsgZG8geyBpZiAocmVhZG1lbV9sb29rdXBbKCgoSS5QQy5kKSAmIG1lbV9hbWFz
aykgPj4gKCgoKDE2KS0oMCkpIC0gKCgoKDE2KS0oMCkpIDwgKDIqMTIgLSA0KSkgPyAxMiA6ICgo
KDE2KS0oMCkpICsgNCkgLyAyKSkgKyAoMCkpKV0gIT0gb3Bjb2RlX2VudHJ5KSBjcHVfc2V0b3Bi
YXNlMTYoSS5QQy5kKTsgfSB3aGlsZSAoMCk7IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSBJ
ODA4NV9QQzogSS5QQy53LmwgPSB2YWw7IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSBSRUdf
U1A6IEkuU1Audy5sID0gdmFsOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgSTgwODVfU1A6
IEkuU1Audy5sID0gdmFsOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgSTgwODVfQUY6IEku
QUYudy5sID0gdmFsOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgSTgwODVfQkM6IEkuQkMu
dy5sID0gdmFsOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgSTgwODVfREU6IEkuREUudy5s
ID0gdmFsOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgSTgwODVfSEw6IEkuSEwudy5sID0g
dmFsOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgSTgwODVfSU06IEkuSU0gPSB2YWw7IGJy
ZWFrOwogICAgICAgICAgICAgICAgY2FzZSBJODA4NV9IQUxUOiBJLkhBTFQgPSB2YWw7IGJyZWFr
OwogICAgICAgICAgICAgICAgY2FzZSBJODA4NV9JUkVROiBJLklSRVEgPSB2YWw7IGJyZWFrOwog
ICAgICAgICAgICAgICAgY2FzZSBJODA4NV9JU1JWOiBJLklTUlYgPSB2YWw7IGJyZWFrOwogICAg
ICAgICAgICAgICAgY2FzZSBJODA4NV9WRUNUT1I6IEkuSU5UUiA9IHZhbDsgYnJlYWs7CiAgICAg
ICAgICAgICAgICBjYXNlIEk4MDg1X1RSQVBfU1RBVEU6IEkubm1pX3N0YXRlID0gdmFsOyBicmVh
azsKICAgICAgICAgICAgICAgIGNhc2UgSTgwODVfSU5UUl9TVEFURTogSS5pcnFfc3RhdGVbMF0g
PSB2YWw7IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSBJODA4NV9SU1Q1NV9TVEFURTogSS5p
cnFfc3RhdGVbMV0gPSB2YWw7IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSBJODA4NV9SU1Q2
NV9TVEFURTogSS5pcnFfc3RhdGVbMl0gPSB2YWw7IGJyZWFrOwogICAgICAgICAgICAgICAgY2Fz
ZSBJODA4NV9SU1Q3NV9TVEFURTogSS5pcnFfc3RhdGVbM10gPSB2YWw7IGJyZWFrOwogICAgICAg
ICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgICAgICAgICAgaWYoIHJlZ251bSA8PSBS
RUdfU1BfQ09OVEVOVFMgKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgb2Zmc2V0ID0gSS5TUC53LmwgKyAyICogKFJFR19T
UF9DT05URU5UUyAtIHJlZ251bSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYo
IG9mZnNldCA8IDB4ZmZmZiApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV00oIG9mZnNldCwgdmFsJjB4ZmYg
KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdNKCBvZmZzZXQrMSwg
KHZhbD4+OCkmMHhmZiApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgIH0KfQoKCgoKdm9pZCBpODA4NV9zZXRfU0lEKGlu
dCBzdGF0ZSkKewogICAgICAgIDsKICAgICAgICBpZiAoc3RhdGUpCiAgICAgICAgICAgICAgICBJ
LklNIHw9IDB4ODA7CiAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgSS5JTSAmPSB+MHg4MDsK
fQoKCgoKdm9pZCBpODA4NV9zZXRfc29kX2NhbGxiYWNrKHZvaWQgKCpjYWxsYmFjaykoaW50IHN0
YXRlKSkKewogICAgICAgIEkuc29kX2NhbGxiYWNrID0gY2FsbGJhY2s7Cn0KCgoKCnZvaWQgaTgw
ODVfc2V0X1RSQVAoaW50IHN0YXRlKQp7CiAgICAgICAgOwogICAgICAgIGlmIChzdGF0ZSkKICAg
ICAgICB7CiAgICAgICAgICAgICAgICBJLklSRVEgfD0gMHgxMDsKICAgICAgICAgICAgICAgIGlm
KCBJLklTUlYgJiAweDEwICkgcmV0dXJuOwogICAgICAgICAgICAgICAgSS5JU1JWID0gMHgxMDsK
ICAgICAgICAgICAgICAgIEkuSVJRMiA9IDB4MDAyNDsKICAgICAgICB9CiAgICAgICAgZWxzZQog
ICAgICAgIHsKICAgICAgICAgICAgICAgIEkuSVJFUSAmPSB+MHgxMDsKICAgICAgICB9Cn0KCgoK
CnZvaWQgaTgwODVfc2V0X1JTVDc1KGludCBzdGF0ZSkKewogICAgICAgIDsKICAgICAgICBpZigg
c3RhdGUgKQogICAgICAgIHsKCiAgICAgICAgICAgICAgICBJLklSRVEgfD0gMHgwNDsKICAgICAg
ICAgICAgICAgIGlmKCBJLklNICYgMHgwNCApIHJldHVybjsKICAgICAgICAgICAgICAgIGlmKCAh
SS5JU1JWICkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSS5JU1JW
ID0gMHgwNDsKICAgICAgICAgICAgICAgICAgICAgICAgSS5JUlEyID0gMHgwMDNjOwogICAgICAg
ICAgICAgICAgfQogICAgICAgIH0KCn0KCgoKCnZvaWQgaTgwODVfc2V0X1JTVDY1KGludCBzdGF0
ZSkKewogICAgICAgIDsKICAgICAgICBpZiggc3RhdGUgKQogICAgICAgIHsKICAgICAgICAgICAg
ICAgIEkuSVJFUSB8PSAweDAyOwogICAgICAgICAgICAgICAgaWYoIEkuSU0gJiAweDAyICkgcmV0
dXJuOwogICAgICAgICAgICAgICAgaWYoICFJLklTUlYgKQogICAgICAgICAgICAgICAgewogICAg
ICAgICAgICAgICAgICAgICAgICBJLklTUlYgPSAweDAyOwogICAgICAgICAgICAgICAgICAgICAg
ICBJLklSUTIgPSAweDAwMzQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVs
c2UKICAgICAgICB7CiAgICAgICAgICAgICAgICBJLklSRVEgJj0gfjB4MDI7CiAgICAgICAgfQp9
CgoKCgp2b2lkIGk4MDg1X3NldF9SU1Q1NShpbnQgc3RhdGUpCnsKICAgICAgICA7CiAgICAgICAg
aWYoIHN0YXRlICkKICAgICAgICB7CiAgICAgICAgICAgICAgICBJLklSRVEgfD0gMHgwMTsKICAg
ICAgICAgICAgICAgIGlmKCBJLklNICYgMHgwMSApIHJldHVybjsKICAgICAgICAgICAgICAgIGlm
KCAhSS5JU1JWICkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSS5J
U1JWID0gMHgwMTsKICAgICAgICAgICAgICAgICAgICAgICAgSS5JUlEyID0gMHgwMDJjOwogICAg
ICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAg
ICAgICAgSS5JUkVRICY9IH4weDAxOwogICAgICAgIH0KfQoKCgoKdm9pZCBpODA4NV9zZXRfSU5U
UihpbnQgc3RhdGUpCnsKICAgICAgICA7CiAgICAgICAgaWYoIHN0YXRlICkKICAgICAgICB7CiAg
ICAgICAgICAgICAgICBJLklSRVEgfD0gMHgwODsKICAgICAgICAgICAgICAgIEkuSU5UUiA9IHN0
YXRlOwogICAgICAgICAgICAgICAgaWYoIEkuSU0gJiAweDA4ICkgcmV0dXJuOwogICAgICAgICAg
ICAgICAgaWYoICFJLklTUlYgKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg
ICAgICBJLklTUlYgPSAweDA4OwogICAgICAgICAgICAgICAgICAgICAgICBJLklSUTIgPSBJLklO
VFI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAg
ICAgICAgICAgICAgICBJLklSRVEgJj0gfjB4MDg7CiAgICAgICAgfQp9Cgp2b2lkIGk4MDg1X3Nl
dF9pcnFfbGluZShpbnQgaXJxbGluZSwgaW50IHN0YXRlKQp7CiAgICAgICAgaWYgKGlycWxpbmUg
PT0gSVJRX0xJTkVfTk1JKQogICAgICAgIHsKICAgICAgICAgICAgICAgIEkubm1pX3N0YXRlID0g
c3RhdGU7CiAgICAgICAgICAgICAgICBpZiggc3RhdGUgIT0gQ0xFQVJfTElORSApCiAgICAgICAg
ICAgICAgICAgICAgICAgIGk4MDg1X3NldF9UUkFQKDEpOwogICAgICAgIH0KICAgICAgICBlbHNl
IGlmIChpcnFsaW5lIDwgNCkKICAgICAgICB7CiAgICAgICAgICAgICAgICBJLmlycV9zdGF0ZVtp
cnFsaW5lXSA9IHN0YXRlOwogICAgICAgICAgICAgICAgaWYgKHN0YXRlID09IENMRUFSX0xJTkUp
CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAhKEkuSU0gJiAw
eDIwKSApCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzd2l0Y2ggKGlycWxpbmUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAwOiBpODA4NV9z
ZXRfSU5UUigwKTsgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjYXNlIDE6IGk4MDg1X3NldF9SU1Q1NSgwKTsgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjYXNlIDI6IGk4MDg1X3NldF9SU1Q2NSgwKTsgYnJlYWs7CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDM6IGk4MDg1X3NldF9S
U1Q3NSgwKTsgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNl
CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCBJLklNICYgMHgy
MCApCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzd2l0Y2goIGlycWxpbmUgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgMDogaTgwODVfc2V0
X0lOVFIoMSk7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2FzZSAxOiBpODA4NV9zZXRfUlNUNTUoMSk7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2FzZSAyOiBpODA4NV9zZXRfUlNUNjUoMSk7IGJyZWFrOwogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAzOiBpODA4NV9zZXRfUlNU
NzUoMSk7IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgIH0KfQoKdm9pZCBpODA4
NV9zZXRfaXJxX2NhbGxiYWNrKGludCAoKmNhbGxiYWNrKShpbnQpKQp7CiAgICAgICAgSS5pcnFf
Y2FsbGJhY2sgPSBjYWxsYmFjazsKfQoKCgoKY29uc3QgY2hhciAqaTgwODVfaW5mbyh2b2lkICpj
b250ZXh0LCBpbnQgcmVnbnVtKQp7CiAgICAgICAgc3RhdGljIGNoYXIgYnVmZmVyWzE2XVs0Nysx
XTsKICAgICAgICBzdGF0aWMgaW50IHdoaWNoID0gMDsKICAgICAgICBpODA4NV9SZWdzICpyID0g
Y29udGV4dDsKCiAgICAgICAgd2hpY2ggPSAod2hpY2grMSkgJSAxNjsKICAgICAgICBidWZmZXJb
d2hpY2hdWzBdID0gJ1wwJzsKICAgICAgICBpZiggIWNvbnRleHQgKQogICAgICAgICAgICAgICAg
ciA9ICZJOwoKICAgICAgICBzd2l0Y2goIHJlZ251bSApCiAgICAgICAgewogICAgICAgICAgICAg
ICAgY2FzZSBDUFVfSU5GT19SRUcrSTgwODVfQUY6IHNwcmludGYoYnVmZmVyW3doaWNoXSwgIkFG
OiUwNFgiLCByLT5BRi53LmwpOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9f
UkVHK0k4MDg1X0JDOiBzcHJpbnRmKGJ1ZmZlclt3aGljaF0sICJCQzolMDRYIiwgci0+QkMudy5s
KTsgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIENQVV9JTkZPX1JFRytJODA4NV9ERTogc3By
aW50ZihidWZmZXJbd2hpY2hdLCAiREU6JTA0WCIsIHItPkRFLncubCk7IGJyZWFrOwogICAgICAg
ICAgICAgICAgY2FzZSBDUFVfSU5GT19SRUcrSTgwODVfSEw6IHNwcmludGYoYnVmZmVyW3doaWNo
XSwgIkhMOiUwNFgiLCByLT5ITC53LmwpOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgQ1BV
X0lORk9fUkVHK0k4MDg1X1NQOiBzcHJpbnRmKGJ1ZmZlclt3aGljaF0sICJTUDolMDRYIiwgci0+
U1Audy5sKTsgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIENQVV9JTkZPX1JFRytJODA4NV9Q
Qzogc3ByaW50ZihidWZmZXJbd2hpY2hdLCAiUEM6JTA0WCIsIHItPlBDLncubCk7IGJyZWFrOwog
ICAgICAgICAgICAgICAgY2FzZSBDUFVfSU5GT19SRUcrSTgwODVfSU06IHNwcmludGYoYnVmZmVy
W3doaWNoXSwgIklNOiUwMlgiLCByLT5JTSk7IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSBD
UFVfSU5GT19SRUcrSTgwODVfSEFMVDogc3ByaW50ZihidWZmZXJbd2hpY2hdLCAiSEFMVDolZCIs
IHItPkhBTFQpOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9fUkVHK0k4MDg1
X0lSRVE6IHNwcmludGYoYnVmZmVyW3doaWNoXSwgIklSRVE6JTAyWCIsIEkuSVJFUSk7IGJyZWFr
OwogICAgICAgICAgICAgICAgY2FzZSBDUFVfSU5GT19SRUcrSTgwODVfSVNSVjogc3ByaW50Zihi
dWZmZXJbd2hpY2hdLCAiSVNSVjolMDJYIiwgSS5JU1JWKTsgYnJlYWs7CiAgICAgICAgICAgICAg
ICBjYXNlIENQVV9JTkZPX1JFRytJODA4NV9WRUNUT1I6IHNwcmludGYoYnVmZmVyW3doaWNoXSwg
IlZFQzolMDJYIiwgSS5JTlRSKTsgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIENQVV9JTkZP
X1JFRytJODA4NV9UUkFQX1NUQVRFOiBzcHJpbnRmKGJ1ZmZlclt3aGljaF0sICJUUkFQOiVYIiwg
SS5ubWlfc3RhdGUpOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9fUkVHK0k4
MDg1X0lOVFJfU1RBVEU6IHNwcmludGYoYnVmZmVyW3doaWNoXSwgIklOVFI6JVgiLCBJLmlycV9z
dGF0ZVswXSk7IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSBDUFVfSU5GT19SRUcrSTgwODVf
UlNUNTVfU1RBVEU6IHNwcmludGYoYnVmZmVyW3doaWNoXSwgIlJTVDU1OiVYIiwgSS5pcnFfc3Rh
dGVbMV0pOyBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9fUkVHK0k4MDg1X1JT
VDY1X1NUQVRFOiBzcHJpbnRmKGJ1ZmZlclt3aGljaF0sICJSU1Q2NTolWCIsIEkuaXJxX3N0YXRl
WzJdKTsgYnJlYWs7CiAgICAgICAgICAgICAgICBjYXNlIENQVV9JTkZPX1JFRytJODA4NV9SU1Q3
NV9TVEFURTogc3ByaW50ZihidWZmZXJbd2hpY2hdLCAiUlNUNzU6JVgiLCBJLmlycV9zdGF0ZVsz
XSk7IGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSBDUFVfSU5GT19GTEFHUzoKICAgICAgICAg
ICAgICAgICAgICAgICAgc3ByaW50ZihidWZmZXJbd2hpY2hdLCAiJWMlYyVjJWMlYyVjJWMlYyIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+QUYuYi5sICYgMHg4MCA/ICdTJzon
LicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+QUYuYi5sICYgMHg0MCA/ICda
JzonLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+QUYuYi5sICYgMHgyMCA/
ICc/JzonLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+QUYuYi5sICYgMHgx
MCA/ICdIJzonLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+QUYuYi5sICYg
MHgwOCA/ICc/JzonLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+QUYuYi5s
ICYgMHgwNCA/ICdQJzonLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+QUYu
Yi5sICYgMHgwMiA/ICdOJzonLicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgci0+
QUYuYi5sICYgMHgwMSA/ICdDJzonLicpOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9fTkFNRTogcmV0dXJuICI4MDg1QSI7CiAgICAg
ICAgICAgICAgICBjYXNlIENQVV9JTkZPX0ZBTUlMWTogcmV0dXJuICJJbnRlbCA4MDgwIjsKICAg
ICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9fVkVSU0lPTjogcmV0dXJuICIxLjEiOwogICAgICAg
ICAgICAgICAgY2FzZSBDUFVfSU5GT19GSUxFOiByZXR1cm4gInNyYy9jcHUvaTgwODUvaTgwODUu
YyI7CiAgICAgICAgICAgICAgICBjYXNlIENQVV9JTkZPX0NSRURJVFM6IHJldHVybiAiQ29weXJp
Z2h0IChjKSAxOTk5IEp1ZXJnZW4gQnVjaG11ZWxsZXIsIGFsbCByaWdodHMgcmVzZXJ2ZWQuIjsK
ICAgICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9fUkVHX0xBWU9VVDogcmV0dXJuIChjb25zdCBj
aGFyICopaTgwODVfcmVnX2xheW91dDsKICAgICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9fV0lO
X0xBWU9VVDogcmV0dXJuIChjb25zdCBjaGFyICopaTgwODVfd2luX2xheW91dDsKICAgICAgICB9
CiAgICAgICAgcmV0dXJuIGJ1ZmZlclt3aGljaF07Cn0KCnVuc2lnbmVkIGk4MDg1X2Rhc20oY2hh
ciAqYnVmZmVyLCB1bnNpZ25lZCBwYykKewoKCgogICAgICAgIHNwcmludGYoIGJ1ZmZlciwgIiQl
MDJYIiwgKE9QX1JPTVsocGMpICYgbWVtX2FtYXNrXSkgKTsKICAgICAgICByZXR1cm4gMTsKCn0K
CgoKCgoKCnN0YXRpYyBVSU5UOCBpODA4MF9yZWdfbGF5b3V0W10gPSB7CiAgICAgICAgSTgwODVf
QUYsIEk4MDg1X0JDLCBJODA4NV9ERSwgSTgwODVfSEwsIEk4MDg1X1NQLCBJODA4NV9QQywgLTEs
CiAgICAgICAgSTgwODVfSEFMVCwgSTgwODVfSVJFUSwgSTgwODVfSVNSViwgSTgwODVfVkVDVE9S
LCBJODA4NV9UUkFQX1NUQVRFLCBJODA4NV9JTlRSX1NUQVRFLAogICAgICAgIDAgfTsKCgpzdGF0
aWMgVUlOVDggaTgwODBfd2luX2xheW91dFtdID0gewogICAgICAgIDI1LCAwLDU1LCAyLAogICAg
ICAgICAwLCAwLDI0LDIyLAogICAgICAgIDI1LCAzLDU1LDEwLAogICAgICAgIDI1LDE0LDU1LCA4
LAogICAgICAgICAwLDIzLDgwLCAxLAp9OwoKdm9pZCBpODA4MF9pbml0KHZvaWQpCnsKICAgICAg
ICBpbnQgY3B1ID0gY3B1X2dldGFjdGl2ZWNwdSgpOwogICAgICAgIGluaXRfdGFibGVzKCk7CiAg
ICAgICAgSS5jcHV0eXBlID0gMDsKCiAgICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9VSU5UMTYo
Imk4MDgwIiwgY3B1LCAiQUYiLCAmSS5BRi53LmwsIDEpOwogICAgICAgIHN0YXRlX3NhdmVfcmVn
aXN0ZXJfVUlOVDE2KCJpODA4MCIsIGNwdSwgIkJDIiwgJkkuQkMudy5sLCAxKTsKICAgICAgICBz
dGF0ZV9zYXZlX3JlZ2lzdGVyX1VJTlQxNigiaTgwODAiLCBjcHUsICJERSIsICZJLkRFLncubCwg
MSk7CiAgICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9VSU5UMTYoImk4MDgwIiwgY3B1LCAiSEwi
LCAmSS5ITC53LmwsIDEpOwogICAgICAgIHN0YXRlX3NhdmVfcmVnaXN0ZXJfVUlOVDE2KCJpODA4
MCIsIGNwdSwgIlNQIiwgJkkuU1Audy5sLCAxKTsKICAgICAgICBzdGF0ZV9zYXZlX3JlZ2lzdGVy
X1VJTlQxNigiaTgwODAiLCBjcHUsICJQQyIsICZJLlBDLncubCwgMSk7CiAgICAgICAgc3RhdGVf
c2F2ZV9yZWdpc3Rlcl9VSU5UOCgiaTgwODAiLCBjcHUsICJIQUxUIiwgJkkuSEFMVCwgMSk7CiAg
ICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9VSU5UOCgiaTgwODAiLCBjcHUsICJJUkVRIiwgJkku
SVJFUSwgMSk7CiAgICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9VSU5UOCgiaTgwODAiLCBjcHUs
ICJJU1JWIiwgJkkuSVNSViwgMSk7CiAgICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9VSU5UMzIo
Imk4MDgwIiwgY3B1LCAiSU5UUiIsICZJLklOVFIsIDEpOwogICAgICAgIHN0YXRlX3NhdmVfcmVn
aXN0ZXJfVUlOVDMyKCJpODA4MCIsIGNwdSwgIklSUTIiLCAmSS5JUlEyLCAxKTsKICAgICAgICBz
dGF0ZV9zYXZlX3JlZ2lzdGVyX1VJTlQzMigiaTgwODAiLCBjcHUsICJJUlExIiwgJkkuSVJRMSwg
MSk7CiAgICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9JTlQ4KCJpODA4MCIsIGNwdSwgIm5taV9z
dGF0ZSIsICZJLm5taV9zdGF0ZSwgMSk7CiAgICAgICAgc3RhdGVfc2F2ZV9yZWdpc3Rlcl9JTlQ4
KCJpODA4MCIsIGNwdSwgImlycV9zdGF0ZSIsIEkuaXJxX3N0YXRlLCAxKTsKfQoKdm9pZCBpODA4
MF9yZXNldCh2b2lkICpwYXJhbSkgeyBpODA4NV9yZXNldChwYXJhbSk7IH0Kdm9pZCBpODA4MF9l
eGl0KHZvaWQpIHsgaTgwODVfZXhpdCgpOyB9CmludCBpODA4MF9leGVjdXRlKGludCBjeWNsZXMp
IHsgcmV0dXJuIGk4MDg1X2V4ZWN1dGUoY3ljbGVzKTsgfQp1bnNpZ25lZCBpODA4MF9nZXRfY29u
dGV4dCh2b2lkICpkc3QpIHsgcmV0dXJuIGk4MDg1X2dldF9jb250ZXh0KGRzdCk7IH0Kdm9pZCBp
ODA4MF9zZXRfY29udGV4dCh2b2lkICpzcmMpIHsgaTgwODVfc2V0X2NvbnRleHQoc3JjKTsgfQp1
bnNpZ25lZCBpODA4MF9nZXRfcmVnKGludCByZWdudW0pIHsgcmV0dXJuIGk4MDg1X2dldF9yZWco
cmVnbnVtKTsgfQp2b2lkIGk4MDgwX3NldF9yZWcoaW50IHJlZ251bSwgdW5zaWduZWQgdmFsKSB7
IGk4MDg1X3NldF9yZWcocmVnbnVtLHZhbCk7IH0Kdm9pZCBpODA4MF9zZXRfaXJxX2xpbmUoaW50
IGlycWxpbmUsIGludCBzdGF0ZSkKewogICAgICAgIGlmIChpcnFsaW5lID09IElSUV9MSU5FX05N
SSkKICAgICAgICB7CiAgICAgICAgICAgICAgICBpODA4NV9zZXRfaXJxX2xpbmUoaXJxbGluZSwg
c3RhdGUpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICAgICAg
SS5pcnFfc3RhdGVbaXJxbGluZV0gPSBzdGF0ZTsKICAgICAgICAgICAgICAgIGlmIChzdGF0ZSA9
PSBDTEVBUl9MSU5FKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBp
ZiAoIShJLklNICYgMHgyMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaTgwODVf
c2V0X0lOVFIoMCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChJLklNICYgMHgyMCkKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpODA4NV9zZXRfSU5UUigxKTsKICAgICAgICAg
ICAgICAgIH0KICAgICAgICB9Cn0Kdm9pZCBpODA4MF9zZXRfaXJxX2NhbGxiYWNrKGludCAoKmNh
bGxiYWNrKShpbnQgaXJxbGluZSkpIHsgaTgwODVfc2V0X2lycV9jYWxsYmFjayhjYWxsYmFjayk7
IH0KY29uc3QgY2hhciAqaTgwODBfaW5mbyh2b2lkICpjb250ZXh0LCBpbnQgcmVnbnVtKQp7CiAg
ICAgICAgc3dpdGNoKCByZWdudW0gKQogICAgICAgIHsKICAgICAgICAgICAgICAgIGNhc2UgQ1BV
X0lORk9fTkFNRTogcmV0dXJuICI4MDgwIjsKICAgICAgICAgICAgICAgIGNhc2UgQ1BVX0lORk9f
VkVSU0lPTjogcmV0dXJuICIxLjIiOwogICAgICAgICAgICAgICAgY2FzZSBDUFVfSU5GT19SRUdf
TEFZT1VUOiByZXR1cm4gKGNvbnN0IGNoYXIgKilpODA4MF9yZWdfbGF5b3V0OwogICAgICAgICAg
ICAgICAgY2FzZSBDUFVfSU5GT19XSU5fTEFZT1VUOiByZXR1cm4gKGNvbnN0IGNoYXIgKilpODA4
MF93aW5fbGF5b3V0OwogICAgICAgIH0KICAgICAgICByZXR1cm4gaTgwODVfaW5mbyhjb250ZXh0
LHJlZ251bSk7Cn0KCnVuc2lnbmVkIGk4MDgwX2Rhc20oY2hhciAqYnVmZmVyLCB1bnNpZ25lZCBw
YykKewoKCgogICAgICAgIHNwcmludGYoIGJ1ZmZlciwgIiQlMDJYIiwgKE9QX1JPTVsocGMpICYg
bWVtX2FtYXNrXSkgKTsKICAgICAgICByZXR1cm4gMTsKCn0K


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]