public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c/7375: GCC 3.2 crash while compiling XFree86 4.02
@ 2002-10-10 11:34 hubicka
  0 siblings, 0 replies; 2+ messages in thread
From: hubicka @ 2002-10-10 11:34 UTC (permalink / raw)
  To: dan, gcc-bugs, gcc-prs, nobody

Synopsis: GCC 3.2 crash while compiling XFree86 4.02

State-Changed-From-To: open->closed
State-Changed-By: hubicka
State-Changed-When: Thu Oct 10 11:34:39 2002
State-Changed-Why:
    hubicka@kampanus:/aux/hubicka/3.2/egcs/build/gcc$ ./xgcc -B ./ -O2 -fomit-frame-pointer -malign-double -march=athlon ~/miPck1Prim.i  -c
    hubicka@kampanus:/aux/hubicka/3.2/egcs/build/gcc$ 

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7375


^ permalink raw reply	[flat|nested] 2+ messages in thread

* c/7375: GCC 3.2 crash while compiling XFree86 4.02
@ 2002-07-22  9:26 dan
  0 siblings, 0 replies; 2+ messages in thread
From: dan @ 2002-07-22  9:26 UTC (permalink / raw)
  To: gcc-gnats


>Number:         7375
>Category:       c
>Synopsis:       GCC 3.2 crash while compiling XFree86 4.02
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 22 09:26:02 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     dan@devonit.com
>Release:        3.2 20020518
>Organization:
>Environment:
This is FreeBSD 4.6-RELEASE.
>Description:
gcc crashes while compiling XFree86 4.02 on FreeBSD 4.6-RELEASE with -march=athlon -O2 -malign-double. -O3 is also failing.

rm -f miPck1Prim.o
LD_LIBRARY_PATH=../../../../../../exports/lib cc -pipe -fomit-frame-pointer -O2 -malign-double -march=athlon   -ansi -pedantic -Dasm=__asm -Wall -Wpointer-arith   -fno-merge-constants -I. 	-I../include 	-I../../../../../../exports/include/X11 	-I../../../include 	-I../../../../../../programs/Xserver/include  -I../../../../../.. -I../../../../../../exports/include   -DCSRG_BASED -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP  -DXF86BIGFONT -DDPMSExtension   -DPANORAMIX  -DRENDER  -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER  -DXFree86Server -DXF86VIDMODE -DXvMCExtension  -DSMART_SCHEDULE -DBUILDDEBUG -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG  -DFUNCPROTO=15 -DNARROWPROTO  -DIN_MODULE -DXFree86Module    -c miPck1Prim.c
miPck1Prim.c: In function `CheckFAreaPick1':
miPck1Prim.c:337: Internal compiler error in ix86_secondary_memory_needed, at config/i386/i386.c:12827
Please submit a full bug report,

>How-To-Repeat:
Compile xc/programs/Xserver/PEX5/ddpex/mi/level1/miPck1Prim.c
with -O2 -fomit-frame-pointer -malign-double -march=athlon
>Fix:
Compiles without -O2 -march=athlon -malign-double -fomit-frame-pointer.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="miPck1Prim.i"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="miPck1Prim.i"

IyAxICJtaVBjazFQcmltLmMiCiMgMSAiPGJ1aWx0LWluPiIKIyAxICI8Y29tbWFuZCBsaW5lPiIK
IyAxICJtaVBjazFQcmltLmMiCiMgNTEgIm1pUGNrMVByaW0uYyIKIyAxICIuLi9pbmNsdWRlL21p
UmVuZGVyLmgiIDEKIyA1NCAiLi4vaW5jbHVkZS9taVJlbmRlci5oIgojIDEgIi4uLy4uLy4uL2lu
Y2x1ZGUvZGRwZXguaCIgMQojIDUzICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4LmgiCiMgMSAiLi4v
Li4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YLmgiIDEKIyA3MSAiLi4vLi4vLi4v
Li4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YLmgiCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBY
SUQ7CgoKCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBNYXNrOwoKCgp0eXBlZGVmIHVuc2lnbmVkIGxv
bmcgQXRvbTsKCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBWaXN1YWxJRDsKdHlwZWRlZiB1bnNpZ25l
ZCBsb25nIFRpbWU7CiMgMTAxICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDEx
L1guaCIKdHlwZWRlZiBYSUQgV2luZG93Owp0eXBlZGVmIFhJRCBEcmF3YWJsZTsKCgp0eXBlZGVm
IFhJRCBGb250OwoKdHlwZWRlZiBYSUQgUGl4bWFwOwp0eXBlZGVmIFhJRCBDdXJzb3I7CnR5cGVk
ZWYgWElEIENvbG9ybWFwOwp0eXBlZGVmIFhJRCBHQ29udGV4dDsKdHlwZWRlZiBYSUQgS2V5U3lt
OwoKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIEtleUNvZGU7CiMgNTQgIi4uLy4uLy4uL2luY2x1ZGUv
ZGRwZXguaCIgMgojIDEgIi4uLy4uLy4uL2luY2x1ZGUvUEVYLmgiIDEKIyA1NSAiLi4vLi4vLi4v
aW5jbHVkZS9kZHBleC5oIiAyCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZl
ci9pbmNsdWRlL3BpeG1hcHN0ci5oIiAxCiMgNTEgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1z
L1hzZXJ2ZXIvaW5jbHVkZS9waXhtYXBzdHIuaCIKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9n
cmFtcy9Yc2VydmVyL2luY2x1ZGUvcGl4bWFwLmgiIDEKIyA1MSAiLi4vLi4vLi4vLi4vLi4vLi4v
cHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3BpeG1hcC5oIgojIDEgIi4uLy4uLy4uLy4uLy4uLy4u
L3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9taXNjLmgiIDEKIyA3NyAiLi4vLi4vLi4vLi4vLi4v
Li4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL21pc2MuaCIKZXh0ZXJuIHVuc2lnbmVkIGxvbmcg
Z2xvYmFsU2VyaWFsTnVtYmVyOwpleHRlcm4gdW5zaWduZWQgbG9uZyBzZXJ2ZXJHZW5lcmF0aW9u
OwoKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDExL1hvc2RlZnMuaCIg
MQojIDgxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvbWlzYy5o
IiAyCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YZnVuY3Byb3Rv
LmgiIDEKIyA4MiAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL21p
c2MuaCIgMgojIDEgIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWG1kLmgi
IDEKIyAxMzMgIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWG1kLmgiCnR5
cGVkZWYgbG9uZyBJTlQzMjsKCnR5cGVkZWYgc2hvcnQgSU5UMTY7CgoKCnR5cGVkZWYgc2lnbmVk
IGNoYXIgSU5UODsKIyAxNDggIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEv
WG1kLmgiCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBDQVJEMzI7Cgp0eXBlZGVmIHVuc2lnbmVkIHNo
b3J0IENBUkQxNjsKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIENBUkQ4OwoKdHlwZWRlZiBDQVJEMzIg
QklUUzMyOwp0eXBlZGVmIENBUkQxNiBCSVRTMTY7CgoKdHlwZWRlZiBDQVJEOCBCWVRFOwp0eXBl
ZGVmIENBUkQ4IEJPT0w7CiMgODMgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIv
aW5jbHVkZS9taXNjLmgiIDIKCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRl
L1gxMS9YZGVmcy5oIiAxCiMgNDkgIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9Y
MTEvWGRlZnMuaCIKdHlwZWRlZiBpbnQgQm9vbDsKCgoKCgp0eXBlZGVmIHZvaWQgKnBvaW50ZXI7
CgoKCnR5cGVkZWYgc3RydWN0IF9DbGllbnQgKkNsaWVudFB0cjsKIyA4MyAiLi4vLi4vLi4vLi4v
Li4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YZGVmcy5oIgp0eXBlZGVmIHN0cnVjdCBfRm9udCAq
Rm9udFB0cjsKIyA5MyAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YZGVm
cy5oIgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgRlNJRDsKCgoKCgp0eXBlZGVmIEZTSUQgQWNjQ29u
dGV4dDsKCgoKdHlwZWRlZiBzdHJ1Y3QgdGltZXZhbCAqKk9TVGltZVB0cjsKCgp0eXBlZGVmIHZv
aWQgKCogQmxvY2tIYW5kbGVyUHJvY1B0cikocG9pbnRlciAsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBPU1RpbWVQdHIgLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcG9pbnRlciApOwojIDg1ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2Vy
dmVyL2luY2x1ZGUvbWlzYy5oIiAyCiMgMTAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Y
c2VydmVyL2luY2x1ZGUvbWlzYy5oIgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgUElYRUw7CnR5cGVk
ZWYgdW5zaWduZWQgbG9uZyBBVE9NOwojIDExMSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMv
WHNlcnZlci9pbmNsdWRlL21pc2MuaCIKdHlwZWRlZiBzdHJ1Y3QgX0NhbGxiYWNrTGlzdCAqQ2Fs
bGJhY2tMaXN0UHRyOwoKCgp0eXBlZGVmIHN0cnVjdCBfeFJlcSAqeFJlcVB0cjsKCiMgMSAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL29zLmgiIDEKIyA1MyAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL29zLmgiCiMgMSAiLi4vLi4v
Li4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL21pc2MuaCIgMQojIDU0ICIuLi8u
Li8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvb3MuaCIgMgoKCiMgMSAiLi4v
Li4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YYWxsb2NhLmgiIDEKIyA1NyAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL29zLmgiIDIKCgoKIyAxICIu
Li8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUveGY4Nl9hbnNpYy5oIiAx
CiMgMzYgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS94Zjg2X2Fu
c2ljLmgiCiMgMSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9pMzg2LXBvcnRibGQtZnJlZWJzZDQu
Ni8zLjIvaW5jbHVkZS9zdGRhcmcuaCIgMSAzCiMgNDMgIi91c3IvbG9jYWwvbGliL2djYy1saWIv
aTM4Ni1wb3J0YmxkLWZyZWVic2Q0LjYvMy4yL2luY2x1ZGUvc3RkYXJnLmgiIDMKdHlwZWRlZiBf
X2J1aWx0aW5fdmFfbGlzdCBfX2dudWNfdmFfbGlzdDsKIyAxMTAgIi91c3IvbG9jYWwvbGliL2dj
Yy1saWIvaTM4Ni1wb3J0YmxkLWZyZWVic2Q0LjYvMy4yL2luY2x1ZGUvc3RkYXJnLmgiIDMKdHlw
ZWRlZiBfX2dudWNfdmFfbGlzdCB2YV9saXN0OwojIDM3ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9n
cmFtcy9Yc2VydmVyL2luY2x1ZGUveGY4Nl9hbnNpYy5oIiAyCiMgOTIgIi4uLy4uLy4uLy4uLy4u
Ly4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS94Zjg2X2Fuc2ljLmgiCiMgMSAiLi4vLi4vLi4v
Li4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3hmODZfbGliYy5oIiAxCiMgMjMgIi4u
Ly4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS94Zjg2X2xpYmMuaCIKIyAx
ICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDExL1hmdW5jcy5oIiAxCiMgMjQg
Ii4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS94Zjg2X2xpYmMuaCIg
MgojIDQwICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUveGY4Nl9s
aWJjLmgiCnR5cGVkZWYgdm9pZCBYRjg2RklMRTsKZXh0ZXJuIFhGODZGSUxFKiB4Zjg2c3RkaW47
CmV4dGVybiBYRjg2RklMRSogeGY4NnN0ZG91dDsKZXh0ZXJuIFhGODZGSUxFKiB4Zjg2c3RkZXJy
OwoKdHlwZWRlZiB2b2lkIFhGODZmcG9zX3Q7CgoKCnR5cGVkZWYgdm9pZCBYRjg2RElSOwoKCgoK
c3RydWN0IF94Zjg2ZGlyZW50IHsKICAgICAgICBjaGFyIGRfbmFtZVsyNjMgKzFdOwp9Owp0eXBl
ZGVmIHN0cnVjdCBfeGY4NmRpcmVudCBYRjg2RElSRU5UOwoKdHlwZWRlZiB1bnNpZ25lZCBsb25n
IHhmODZzaXplX3Q7CnR5cGVkZWYgc2lnbmVkIGxvbmcgeGY4NnNzaXplX3Q7CnR5cGVkZWYgdW5z
aWduZWQgbG9uZyB4Zjg2ZGV2X3Q7CnR5cGVkZWYgdW5zaWduZWQgaW50IHhmODZtb2RlX3Q7CnR5
cGVkZWYgdW5zaWduZWQgaW50IHhmODZ1aWRfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgeGY4Nmdp
ZF90OwoKc3RydWN0IHhmODZzdGF0IHsKICAgIHhmODZkZXZfdCBzdF9yZGV2Owp9OwoKCnR5cGVk
ZWYgaW50IHhmODZrZXlfdDsKCgp0eXBlZGVmIGludCB4Zjg2am1wX2J1ZlsyMF07CiMgOTMgIi4u
Ly4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS94Zjg2X2Fuc2ljLmgiIDIK
IyAxNDUgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS94Zjg2X2Fu
c2ljLmgiCmV4dGVybiB2b2lkIHhmODZhYm9ydCh2b2lkKTsKZXh0ZXJuIGludCB4Zjg2YWJzKGlu
dCk7CmV4dGVybiBkb3VibGUgeGY4NmFjb3MoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSB4Zjg2YXNp
bihkb3VibGUpOwpleHRlcm4gZG91YmxlIHhmODZhdGFuKGRvdWJsZSk7CmV4dGVybiBkb3VibGUg
eGY4NmF0YW4yKGRvdWJsZSxkb3VibGUpOwpleHRlcm4gZG91YmxlIHhmODZhdG9mKGNvbnN0IGNo
YXIqKTsKZXh0ZXJuIGludCB4Zjg2YXRvaShjb25zdCBjaGFyKik7CmV4dGVybiBsb25nIHhmODZh
dG9sKGNvbnN0IGNoYXIqKTsKZXh0ZXJuIHZvaWQgKnhmODZic2VhcmNoKGNvbnN0IHZvaWQgKiwg
Y29uc3Qgdm9pZCAqLCB4Zjg2c2l6ZV90LCB4Zjg2c2l6ZV90LAogICAgICAgICAgICAgICAgICAg
ICAgICAgaW50ICgqKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpOwpleHRlcm4gZG91Ymxl
IHhmODZjZWlsKGRvdWJsZSk7CmV4dGVybiB2b2lkKiB4Zjg2Y2FsbG9jKHhmODZzaXplX3QseGY4
NnNpemVfdCk7CmV4dGVybiB2b2lkIHhmODZjbGVhcmVycihYRjg2RklMRSopOwpleHRlcm4gZG91
YmxlIHhmODZjb3MoZG91YmxlKTsKZXh0ZXJuIHZvaWQgeGY4NmV4aXQoaW50KTsKZXh0ZXJuIGRv
dWJsZSB4Zjg2ZXhwKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgeGY4NmZhYnMoZG91YmxlKTsKZXh0
ZXJuIGludCB4Zjg2ZmNsb3NlKFhGODZGSUxFKik7CmV4dGVybiBpbnQgeGY4NmZlb2YoWEY4NkZJ
TEUqKTsKZXh0ZXJuIGludCB4Zjg2ZmVycm9yKFhGODZGSUxFKik7CmV4dGVybiBpbnQgeGY4NmZm
bHVzaChYRjg2RklMRSopOwpleHRlcm4gaW50IHhmODZmZ2V0YyhYRjg2RklMRSopOwpleHRlcm4g
aW50IHhmODZnZXRjKFhGODZGSUxFKik7CmV4dGVybiBpbnQgeGY4NmZnZXRwb3MoWEY4NkZJTEUq
LFhGODZmcG9zX3QqKTsKZXh0ZXJuIGNoYXIqIHhmODZmZ2V0cyhjaGFyKixJTlQzMixYRjg2RklM
RSopOwpleHRlcm4gaW50IHhmODZmaW5pdGUoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSB4Zjg2Zmxv
b3IoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSB4Zjg2Zm1vZChkb3VibGUsZG91YmxlKTsKZXh0ZXJu
IFhGODZGSUxFKiB4Zjg2Zm9wZW4oY29uc3QgY2hhciosY29uc3QgY2hhciopOwpleHRlcm4gZG91
YmxlIHhmODZmcmV4cChkb3VibGUsIGludCopOwpleHRlcm4gaW50IHhmODZwcmludGYoY29uc3Qg
Y2hhciosLi4uKTsKZXh0ZXJuIGludCB4Zjg2ZnByaW50ZihYRjg2RklMRSosY29uc3QgY2hhcios
Li4uKTsKZXh0ZXJuIGludCB4Zjg2ZnB1dGMoaW50LFhGODZGSUxFKik7CmV4dGVybiBpbnQgeGY4
NmZwdXRzKGNvbnN0IGNoYXIqLFhGODZGSUxFKik7CmV4dGVybiB4Zjg2c2l6ZV90IHhmODZmcmVh
ZCh2b2lkKix4Zjg2c2l6ZV90LHhmODZzaXplX3QsWEY4NkZJTEUqKTsKZXh0ZXJuIHZvaWQgeGY4
NmZyZWUodm9pZCopOwpleHRlcm4gWEY4NkZJTEUqIHhmODZmcmVvcGVuKGNvbnN0IGNoYXIqLGNv
bnN0IGNoYXIqLFhGODZGSUxFKik7CgpleHRlcm4gaW50IHhmODZmc2NhbmYoWEY4NkZJTEUqLGNv
bnN0IGNoYXIqLC4uLik7CgoKCgpleHRlcm4gaW50IHhmODZmc2VlayhYRjg2RklMRSosbG9uZyxp
bnQpOwpleHRlcm4gaW50IHhmODZmc2V0cG9zKFhGODZGSUxFKixjb25zdCBYRjg2ZnBvc190Kik7
CmV4dGVybiBsb25nIHhmODZmdGVsbChYRjg2RklMRSopOwpleHRlcm4geGY4NnNpemVfdCB4Zjg2
ZndyaXRlKGNvbnN0IHZvaWQqLHhmODZzaXplX3QseGY4NnNpemVfdCxYRjg2RklMRSopOwpleHRl
cm4gY2hhciogeGY4NmdldGVudihjb25zdCBjaGFyKik7CmV4dGVybiBpbnQgeGY4NmlzYWxudW0o
aW50KTsKZXh0ZXJuIGludCB4Zjg2aXNhbHBoYShpbnQpOwpleHRlcm4gaW50IHhmODZpc2NudHJs
KGludCk7CmV4dGVybiBpbnQgeGY4NmlzZGlnaXQoaW50KTsKZXh0ZXJuIGludCB4Zjg2aXNncmFw
aChpbnQpOwpleHRlcm4gaW50IHhmODZpc2xvd2VyKGludCk7CmV4dGVybiBpbnQgeGY4NmlzcHJp
bnQoaW50KTsKZXh0ZXJuIGludCB4Zjg2aXNwdW5jdChpbnQpOwpleHRlcm4gaW50IHhmODZpc3Nw
YWNlKGludCk7CmV4dGVybiBpbnQgeGY4NmlzdXBwZXIoaW50KTsKZXh0ZXJuIGludCB4Zjg2aXN4
ZGlnaXQoaW50KTsKZXh0ZXJuIGxvbmcgeGY4NmxhYnMobG9uZyk7CmV4dGVybiBkb3VibGUgeGY4
NmxkZXhwKGRvdWJsZSxpbnQpOwpleHRlcm4gZG91YmxlIHhmODZsb2coZG91YmxlKTsKZXh0ZXJu
IGRvdWJsZSB4Zjg2bG9nMTAoZG91YmxlKTsKZXh0ZXJuIHZvaWQqIHhmODZtYWxsb2MoeGY4NnNp
emVfdCk7CmV4dGVybiB2b2lkKiB4Zjg2bWVtY2hyKGNvbnN0IHZvaWQqLGludCx4Zjg2c2l6ZV90
KTsKZXh0ZXJuIGludCB4Zjg2bWVtY21wKGNvbnN0IHZvaWQqLGNvbnN0IHZvaWQqLHhmODZzaXpl
X3QpOwpleHRlcm4gdm9pZCogeGY4Nm1lbWNweSh2b2lkKixjb25zdCB2b2lkKix4Zjg2c2l6ZV90
KTsKZXh0ZXJuIHZvaWQqIHhmODZtZW1tb3ZlKHZvaWQqLGNvbnN0IHZvaWQqLHhmODZzaXplX3Qp
OwpleHRlcm4gdm9pZCogeGY4Nm1lbXNldCh2b2lkKixpbnQseGY4NnNpemVfdCk7CmV4dGVybiBk
b3VibGUgeGY4Nm1vZGYoZG91YmxlLGRvdWJsZSopOwpleHRlcm4gdm9pZCB4Zjg2cGVycm9yKGNv
bnN0IGNoYXIqKTsKZXh0ZXJuIGRvdWJsZSB4Zjg2cG93KGRvdWJsZSxkb3VibGUpOwpleHRlcm4g
dm9pZCB4Zjg2cXNvcnQodm9pZCosIHhmODZzaXplX3QsIHhmODZzaXplX3QsCiAgICAgICAgICAg
ICAgICAgICAgICBpbnQoKikoY29uc3Qgdm9pZCosIGNvbnN0IHZvaWQqKSk7CmV4dGVybiB2b2lk
KiB4Zjg2cmVhbGxvYyh2b2lkKix4Zjg2c2l6ZV90KTsKZXh0ZXJuIGludCB4Zjg2cmVtb3ZlKGNv
bnN0IGNoYXIqKTsKZXh0ZXJuIGludCB4Zjg2cmVuYW1lKGNvbnN0IGNoYXIqLGNvbnN0IGNoYXIq
KTsKZXh0ZXJuIHZvaWQgeGY4NnJld2luZChYRjg2RklMRSopOwpleHRlcm4gaW50IHhmODZzZXRi
dWYoWEY4NkZJTEUqLGNoYXIqKTsKZXh0ZXJuIGludCB4Zjg2c2V0dmJ1ZihYRjg2RklMRSosY2hh
ciosaW50LHhmODZzaXplX3QpOwpleHRlcm4gZG91YmxlIHhmODZzaW4oZG91YmxlKTsKZXh0ZXJu
IGludCB4Zjg2c3ByaW50ZihjaGFyKixjb25zdCBjaGFyKiwuLi4pOwpleHRlcm4gaW50IHhmODZz
bnByaW50ZihjaGFyKix4Zjg2c2l6ZV90LGNvbnN0IGNoYXIqLC4uLik7CmV4dGVybiBkb3VibGUg
eGY4NnNxcnQoZG91YmxlKTsKCmV4dGVybiBpbnQgeGY4NnNzY2FuZihjaGFyKixjb25zdCBjaGFy
KiwuLi4pOwoKCgoKZXh0ZXJuIGNoYXIqIHhmODZzdHJjYXQoY2hhciosY29uc3QgY2hhciopOwpl
eHRlcm4gY2hhciogeGY4NnN0cmNocihjb25zdCBjaGFyKiwgaW50IGMpOwpleHRlcm4gaW50IHhm
ODZzdHJjbXAoY29uc3QgY2hhciosY29uc3QgY2hhciopOwpleHRlcm4gaW50IHhmODZzdHJjYXNl
Y21wKGNvbnN0IGNoYXIqLGNvbnN0IGNoYXIqKTsKZXh0ZXJuIGNoYXIqIHhmODZzdHJjcHkoY2hh
ciosY29uc3QgY2hhciopOwpleHRlcm4geGY4NnNpemVfdCB4Zjg2c3RyY3Nwbihjb25zdCBjaGFy
Kixjb25zdCBjaGFyKik7CmV4dGVybiBjaGFyKiB4Zjg2c3RyZXJyb3IoaW50KTsKZXh0ZXJuIHhm
ODZzaXplX3QgeGY4NnN0cmxlbihjb25zdCBjaGFyKik7CmV4dGVybiBjaGFyKiB4Zjg2c3RybmNh
dChjaGFyICosIGNvbnN0IGNoYXIgKiwgeGY4NnNpemVfdCk7CmV4dGVybiBpbnQgeGY4NnN0cm5j
bXAoY29uc3QgY2hhciosY29uc3QgY2hhcioseGY4NnNpemVfdCk7CmV4dGVybiBpbnQgeGY4NnN0
cm5jYXNlY21wKGNvbnN0IGNoYXIqLGNvbnN0IGNoYXIqLHhmODZzaXplX3QpOwpleHRlcm4gY2hh
ciogeGY4NnN0cm5jcHkoY2hhciosY29uc3QgY2hhcioseGY4NnNpemVfdCk7CmV4dGVybiBjaGFy
KiB4Zjg2c3RycGJyayhjb25zdCBjaGFyKixjb25zdCBjaGFyKik7CmV4dGVybiBjaGFyKiB4Zjg2
c3RycmNocihjb25zdCBjaGFyKixpbnQpOwpleHRlcm4geGY4NnNpemVfdCB4Zjg2c3Ryc3BuKGNv
bnN0IGNoYXIqLGNvbnN0IGNoYXIqKTsKZXh0ZXJuIGNoYXIqIHhmODZzdHJzdHIoY29uc3QgY2hh
ciosY29uc3QgY2hhciopOwpleHRlcm4gZG91YmxlIHhmODZzdHJ0b2QoY29uc3QgY2hhciosY2hh
cioqKTsKZXh0ZXJuIGNoYXIqIHhmODZzdHJ0b2soY2hhciosY29uc3QgY2hhciopOwpleHRlcm4g
bG9uZyB4Zjg2c3RydG9sKGNvbnN0IGNoYXIqLGNoYXIqKixpbnQpOwpleHRlcm4gdW5zaWduZWQg
bG9uZyB4Zjg2c3RydG91bChjb25zdCBjaGFyKixjaGFyKiosaW50KTsKZXh0ZXJuIGRvdWJsZSB4
Zjg2dGFuKGRvdWJsZSk7CmV4dGVybiBYRjg2RklMRSogeGY4NnRtcGZpbGUodm9pZCk7CmV4dGVy
biBjaGFyKiB4Zjg2dG1wbmFtKGNoYXIqKTsKZXh0ZXJuIGludCB4Zjg2dG9sb3dlcihpbnQpOwpl
eHRlcm4gaW50IHhmODZ0b3VwcGVyKGludCk7CmV4dGVybiBpbnQgeGY4NnVuZ2V0YyhpbnQsWEY4
NkZJTEUqKTsKZXh0ZXJuIGludCB4Zjg2dmZwcmludGYoWEY4NkZJTEUqLGNvbnN0IGNoYXIqLHZh
X2xpc3QpOwpleHRlcm4gaW50IHhmODZ2c3ByaW50ZihjaGFyKixjb25zdCBjaGFyKix2YV9saXN0
KTsKZXh0ZXJuIGludCB4Zjg2dnNucHJpbnRmKGNoYXIqLHhmODZzaXplX3QsY29uc3QgY2hhcios
dmFfbGlzdCk7CgpleHRlcm4gaW50IHhmODZvcGVuKGNvbnN0IGNoYXIqLCBpbnQsLi4uKTsKZXh0
ZXJuIGludCB4Zjg2Y2xvc2UoaW50KTsKZXh0ZXJuIGxvbmcgeGY4NmxzZWVrKGludCwgbG9uZywg
aW50KTsKZXh0ZXJuIGludCB4Zjg2aW9jdGwoaW50LCB1bnNpZ25lZCBsb25nLCBwb2ludGVyKTsK
ZXh0ZXJuIHhmODZzc2l6ZV90IHhmODZyZWFkKGludCwgdm9pZCAqLCB4Zjg2c2l6ZV90KTsKZXh0
ZXJuIHhmODZzc2l6ZV90IHhmODZ3cml0ZShpbnQsIGNvbnN0IHZvaWQgKiwgeGY4NnNpemVfdCk7
CmV4dGVybiB2b2lkKiB4Zjg2bW1hcCh2b2lkKiwgeGY4NnNpemVfdCwgaW50LCBpbnQsIGludCwg
eGY4NnNpemVfdCApOwpleHRlcm4gaW50IHhmODZtdW5tYXAodm9pZCosIHhmODZzaXplX3QpOwpl
eHRlcm4gaW50IHhmODZzdGF0KGNvbnN0IGNoYXIgKiwgc3RydWN0IHhmODZzdGF0ICopOwpleHRl
cm4gaW50IHhmODZmc3RhdChpbnQsIHN0cnVjdCB4Zjg2c3RhdCAqKTsKZXh0ZXJuIGludCB4Zjg2
YWNjZXNzKGNvbnN0IGNoYXIgKiwgaW50KTsKZXh0ZXJuIGludCB4Zjg2ZXJybm87CmV4dGVybiBp
bnQgeGY4NkdldEVycm5vKHZvaWQpOwoKZXh0ZXJuIGRvdWJsZSB4Zjg2SFVHRV9WQUw7CgpleHRl
cm4gZG91YmxlIHhmODZoeXBvdChkb3VibGUsZG91YmxlKTsKCgpleHRlcm4gWEY4NkRJUiogeGY4
Nm9wZW5kaXIoY29uc3QgY2hhciopOwpleHRlcm4gaW50IHhmODZjbG9zZWRpcihYRjg2RElSKik7
CmV4dGVybiBYRjg2RElSRU5UKiB4Zjg2cmVhZGRpcihYRjg2RElSKik7CmV4dGVybiB2b2lkIHhm
ODZyZXdpbmRkaXIoWEY4NkRJUiopOwpleHRlcm4gdm9pZCB4Zjg2YmNvcHkoY29uc3Qgdm9pZCos
dm9pZCoseGY4NnNpemVfdCk7CmV4dGVybiBpbnQgeGY4NmZmcyhpbnQpOwpleHRlcm4gY2hhciog
eGY4NnN0cmR1cChjb25zdCBjaGFyKik7CmV4dGVybiB2b2lkIHhmODZiemVybyh2b2lkKix1bnNp
Z25lZCBpbnQpOwpleHRlcm4gaW50IHhmODZleGVjbChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIg
KiwgLi4uKTsKZXh0ZXJuIGxvbmcgeGY4NmZwb3NzaXplKHZvaWQpOwpleHRlcm4gaW50IHhmODZj
aG1vZChjb25zdCBjaGFyICosIHhmODZtb2RlX3QpOwpleHRlcm4gaW50IHhmODZjaG93bihjb25z
dCBjaGFyICosIHhmODZ1aWRfdCwgeGY4NmdpZF90KTsKZXh0ZXJuIHhmODZ1aWRfdCB4Zjg2Z2V0
ZXVpZCh2b2lkKTsKZXh0ZXJuIHhmODZnaWRfdCB4Zjg2Z2V0ZWdpZCh2b2lkKTsKZXh0ZXJuIGlu
dCB4Zjg2Z2V0cGlkKHZvaWQpOwpleHRlcm4gaW50IHhmODZta25vZChjb25zdCBjaGFyICosIHhm
ODZtb2RlX3QsIHhmODZkZXZfdCk7CmV4dGVybiBpbnQgeGY4Nm1rZGlyKGNvbnN0IGNoYXIgKiwg
eGY4Nm1vZGVfdCk7CnVuc2lnbmVkIGludCB4Zjg2c2xlZXAodW5zaWduZWQgaW50IHNlY29uZHMp
OwoKZXh0ZXJuIGludCB4Zjg2c2htZ2V0KHhmODZrZXlfdCBrZXksIGludCBzaXplLCBpbnQgeGY4
NnNobWZsZyk7CmV4dGVybiBjaGFyICogeGY4NnNobWF0KGludCBpZCwgY2hhciAqYWRkciwgaW50
IHhmODZzaG1mbGcpOwpleHRlcm4gaW50IHhmODZzaG1kdChjaGFyICphZGRyKTsKZXh0ZXJuIGlu
dCB4Zjg2c2htY3RsKGludCBpZCwgaW50IHhmODZjbWQsIHBvaW50ZXIgYnVmKTsKZXh0ZXJuIGlu
dCB4Zjg2c2V0am1wKHhmODZqbXBfYnVmIGVudik7CmV4dGVybiB2b2lkIHhmODZsb25nam1wKHhm
ODZqbXBfYnVmIGVudiwgaW50IHZhbCk7CiMgMzMxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFt
cy9Yc2VydmVyL2luY2x1ZGUveGY4Nl9hbnNpYy5oIgpleHRlcm4gaW50IHhmODZnZXRwYWdlc2l6
ZSh2b2lkKTsKZXh0ZXJuIHZvaWQgeGY4NnVzbGVlcCh1bnNpZ25lZCBsb25nKTsKZXh0ZXJuIHZv
aWQgeGY4NmdldHNlY3MobG9uZyAqLCBsb25nICopOwojIDYxICIuLi8uLi8uLi8uLi8uLi8uLi9w
cm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvb3MuaCIgMgojIDc3ICIuLi8uLi8uLi8uLi8uLi8uLi9w
cm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvb3MuaCIKdHlwZWRlZiBwb2ludGVyIEZJRDsKdHlwZWRl
ZiBzdHJ1Y3QgX0ZvbnRQYXRoUmVjICpGb250UGF0aFB0cjsKdHlwZWRlZiBzdHJ1Y3QgX05ld0Ns
aWVudFJlYyAqTmV3Q2xpZW50UHRyOwojIDEwOCAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMv
WHNlcnZlci9pbmNsdWRlL29zLmgiCmV4dGVybiBCb29sIE9zRGVsYXlJbml0Q29sb3JzOwpleHRl
cm4gdm9pZCAoKk9zVmVuZG9yVkVycm9yRlByb2MpKGNvbnN0IGNoYXIgKiwgdmFfbGlzdCBhcmdz
KTsKCmV4dGVybiBpbnQgV2FpdEZvclNvbWV0aGluZygKCiAgICBpbnQqCgopOwoKCgpleHRlcm4g
aW50IFN0YW5kYXJkUmVhZFJlcXVlc3RGcm9tQ2xpZW50KAoKICAgIENsaWVudFB0cgoKKTsKCmV4
dGVybiBpbnQgQ2xpZW50Q29ubmVjdGlvbk51bWJlcigKCiAgICBDbGllbnRQdHIKCik7CiMgMTM4
ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvb3MuaCIKZXh0ZXJu
IEJvb2wgSW5zZXJ0RmFrZVJlcXVlc3QoCgogICAgQ2xpZW50UHRyICwKICAgIGNoYXIqICwKICAg
IGludAoKKTsKCmV4dGVybiB2b2lkIFJlc2V0Q3VycmVudFJlcXVlc3QoCgogICAgQ2xpZW50UHRy
CgopOwoKZXh0ZXJuIHZvaWQgRmx1c2hBbGxPdXRwdXQoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2
b2lkIEZsdXNoSWZDcml0aWNhbE91dHB1dFBlbmRpbmcoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2
b2lkIFNldENyaXRpY2FsT3V0cHV0UGVuZGluZygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIGludCBX
cml0ZVRvQ2xpZW50KAoKICAgIENsaWVudFB0ciAsCiAgICBpbnQgLAogICAgY2hhcioKCik7Cgpl
eHRlcm4gdm9pZCBSZXNldE9zQnVmZmVycygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgSW5p
dENvbm5lY3Rpb25MaW1pdHMoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIENyZWF0ZVdlbGxL
bm93blNvY2tldHMoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIFJlc2V0V2VsbEtub3duU29j
a2V0cygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgQ2xvc2VXZWxsS25vd25Db25uZWN0aW9u
cygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIFhJRApBdXRob3JpemF0aW9uSURPZkNsaWVudCgKCiAg
ICBDbGllbnRQdHIKCik7CgpleHRlcm4gY2hhciAqQ2xpZW50QXV0aG9yaXplZCgKCiAgICBDbGll
bnRQdHIgLAogICAgdW5zaWduZWQgaW50ICwKICAgIGNoYXIqICwKICAgIHVuc2lnbmVkIGludCAs
CiAgICBjaGFyKgoKKTsKCmV4dGVybiBCb29sIEVzdGFibGlzaE5ld0Nvbm5lY3Rpb25zKAoKICAg
IENsaWVudFB0ciAsCiAgICBwb2ludGVyCgopOwoKZXh0ZXJuIHZvaWQgQ2hlY2tDb25uZWN0aW9u
cygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgQ2xvc2VEb3duQ29ubmVjdGlvbigKCiAgICBD
bGllbnRQdHIKCik7CgpleHRlcm4gdm9pZCBBZGRFbmFibGVkRGV2aWNlKAoKICAgIGludAoKKTsK
CmV4dGVybiB2b2lkIFJlbW92ZUVuYWJsZWREZXZpY2UoCgogICAgaW50CgopOwoKZXh0ZXJuIHZv
aWQgT25seUxpc3RlblRvT25lQ2xpZW50KAoKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiB2b2lk
IExpc3RlblRvQWxsQ2xpZW50cygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgSWdub3JlQ2xp
ZW50KAoKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiB2b2lkIEF0dGVuZENsaWVudCgKCiAgICBD
bGllbnRQdHIKCik7CgpleHRlcm4gdm9pZCBNYWtlQ2xpZW50R3JhYkltcGVydmlvdXMoCgogICAg
Q2xpZW50UHRyCgopOwoKZXh0ZXJuIHZvaWQgTWFrZUNsaWVudEdyYWJQZXJ2aW91cygKCiAgICBD
bGllbnRQdHIKCik7CgoKZXh0ZXJuIHZvaWQgQ2xvc2VEb3duRmlsZURlc2NyaXB0b3IoCgogICAg
Q2xpZW50UHRyCgopOwoKCmV4dGVybiB2b2lkIEF2YWlsYWJsZUNsaWVudElucHV0KAoKICAgIENs
aWVudFB0cgoKKTsKCmV4dGVybiB2b2lkIEVycm9yKAoKICAgIGNoYXIqCgopOwoKZXh0ZXJuIENB
UkQzMiBHZXRUaW1lSW5NaWxsaXMoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIEFkanVzdFdh
aXRGb3JEZWxheSgKCiAgICBwb2ludGVyICwKICAgIHVuc2lnbmVkIGxvbmcKCik7Cgp0eXBlZGVm
IHN0cnVjdCBfT3NUaW1lclJlYyAqT3NUaW1lclB0cjsKCnR5cGVkZWYgQ0FSRDMyICgqT3NUaW1l
ckNhbGxiYWNrKSgKCiAgICBPc1RpbWVyUHRyICwKICAgIENBUkQzMiAsCiAgICBwb2ludGVyCgop
OwoKZXh0ZXJuIHZvaWQgVGltZXJJbml0KAoKICAgIHZvaWQKCik7CgpleHRlcm4gQm9vbCBUaW1l
ckZvcmNlKAoKICAgIE9zVGltZXJQdHIKCik7CgoKCgpleHRlcm4gT3NUaW1lclB0ciBUaW1lclNl
dCgKCiAgICBPc1RpbWVyUHRyICwKICAgIGludCAsCiAgICBDQVJEMzIgLAogICAgT3NUaW1lckNh
bGxiYWNrICwKICAgIHBvaW50ZXIKCik7CgpleHRlcm4gdm9pZCBUaW1lckNoZWNrKAoKICAgIHZv
aWQKCik7CgpleHRlcm4gdm9pZCBUaW1lckNhbmNlbCgKCiAgICBPc1RpbWVyUHRyCgopOwoKZXh0
ZXJuIHZvaWQgVGltZXJGcmVlKAoKICAgIE9zVGltZXJQdHIKCik7CgpleHRlcm4gdm9pZCBBdXRv
UmVzZXRTZXJ2ZXIoCgogICAgaW50CgopOwoKZXh0ZXJuIHZvaWQgR2l2ZVVwKAoKICAgIGludAoK
KTsKCmV4dGVybiB2b2lkIFVzZU1zZygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgUHJvY2Vz
c0NvbW1hbmRMaW5lKAoKICAgIGludCAsCiAgICBjaGFyKiBbXQoKKTsKCmV4dGVybiBwb2ludGVy
IFhhbGxvYygKCiAgICB1bnNpZ25lZCBsb25nCgopOwoKZXh0ZXJuIHBvaW50ZXIgWE5GYWxsb2Mo
CgogICAgdW5zaWduZWQgbG9uZwoKKTsKCmV4dGVybiBwb2ludGVyIFhjYWxsb2MoCgogICAgdW5z
aWduZWQgbG9uZwoKKTsKCmV4dGVybiBwb2ludGVyIFhORmNhbGxvYygKCiAgICB1bnNpZ25lZCBs
b25nCgopOwoKZXh0ZXJuIHBvaW50ZXIgWHJlYWxsb2MoCgogICAgcG9pbnRlciAsCiAgICB1bnNp
Z25lZCBsb25nCgopOwoKZXh0ZXJuIHBvaW50ZXIgWE5GcmVhbGxvYygKCiAgICBwb2ludGVyICwK
ICAgIHVuc2lnbmVkIGxvbmcKCik7CgpleHRlcm4gdm9pZCBYZnJlZSgKCiAgICBwb2ludGVyCgop
OwoKZXh0ZXJuIHZvaWQgT3NJbml0QWxsb2NhdG9yKAoKICAgIHZvaWQKCik7CgpleHRlcm4gY2hh
ciAqWHN0cmR1cChjb25zdCBjaGFyICpzKTsKZXh0ZXJuIGNoYXIgKlhORnN0cmR1cChjb25zdCBj
aGFyICpzKTsKCnR5cGVkZWYgdm9pZCAoKk9zU2lnSGFuZGxlclB0cikoCgogICAgaW50CgopOwoK
ZXh0ZXJuIE9zU2lnSGFuZGxlclB0ciBPc1NpZ25hbCgKCiAgICBpbnQgLAogICAgT3NTaWdIYW5k
bGVyUHRyCgopOwoKZXh0ZXJuIGludCBhdWRpdFRyYWlsTGV2ZWw7CgpleHRlcm4gdm9pZCBBdWRp
dFByZWZpeCgKCiAgICBjb25zdCBjaGFyICoKCik7CgpleHRlcm4gdm9pZCBBdWRpdEYoCgogICAg
Y29uc3QgY2hhciogLAogICAgLi4uCgopOwoKZXh0ZXJuIHZvaWQgRmF0YWxFcnJvcigKCiAgICBj
b25zdCBjaGFyKiAsCiAgICAuLi4KCikKCl9fYXR0cmlidXRlKChub3JldHVybikpCgo7CgpleHRl
cm4gdm9pZCBFcnJvckYoCgogICAgY29uc3QgY2hhciogLAogICAgLi4uCgopOwoKCmV4dGVybiB2
b2lkIFZFcnJvckYoY29uc3QgY2hhciAqZiwgdmFfbGlzdCBhcmdzKTsKIyA1MjAgIi4uLy4uLy4u
Ly4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9vcy5oIgpleHRlcm4gaW50IE9zTG9v
a3VwQ29sb3IoCgogICAgaW50ICwKICAgIGNoYXIgKiAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNp
Z25lZCBzaG9ydCAqICwKICAgIHVuc2lnbmVkIHNob3J0ICogLAogICAgdW5zaWduZWQgc2hvcnQg
KgoKKTsKCmV4dGVybiB2b2lkIE9zSW5pdCgKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgT3ND
bGVhbnVwKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBPc1ZlbmRvckZhdGFsRXJyb3IoCgog
ICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIE9zVmVuZG9ySW5pdCgKCiAgICB2b2lkCgopOwoKZXh0
ZXJuIGludCBPc0luaXRDb2xvcnMoCgogICAgdm9pZAoKKTsKCnZvaWQgT3NCbG9ja1NpZ25hbHMg
KAoKICAgICAgICAgICAgICAgICAgICAgdm9pZAoKICAgICAgICAgICAgICAgICAgICAgKTsKCnZv
aWQgT3NSZWxlYXNlU2lnbmFscyAoCgogICAgICAgICAgICAgICAgICAgICB2b2lkCgogICAgICAg
ICAgICAgICAgICAgICApOwoKCmV4dGVybiBpbnQgU3lzdGVtKGNoYXIgKik7CmV4dGVybiBwb2lu
dGVyIFBvcGVuKGNoYXIgKiwgY2hhciAqKTsKZXh0ZXJuIGludCBQY2xvc2UocG9pbnRlcik7CgoK
CgoKCmV4dGVybiB2b2lkIENoZWNrVXNlclBhcmFtZXRlcnMoaW50IGFyZ2MsIGNoYXIgKiphcmd2
LCBjaGFyICoqZW52cCk7CmV4dGVybiB2b2lkIENoZWNrVXNlckF1dGhvcml6YXRpb24odm9pZCk7
CgpleHRlcm4gaW50IEFkZEhvc3QoCgogICAgQ2xpZW50UHRyICwKICAgIGludCAsCiAgICB1bnNp
Z25lZCAsCiAgICBwb2ludGVyCgopOwoKZXh0ZXJuIEJvb2wgRm9yRWFjaEhvc3RJbkZhbWlseSAo
CgogICAgaW50ICwKICAgIEJvb2wgKCogKSgKCiAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKiAs
CiAgICAgICAgICAgIHNob3J0ICwKICAgICAgICAgICAgcG9pbnRlcgoKICAgICAgICAgICAgKSwK
ICAgIHBvaW50ZXIKCik7CgpleHRlcm4gaW50IFJlbW92ZUhvc3QoCgogICAgQ2xpZW50UHRyICwK
ICAgIGludCAsCiAgICB1bnNpZ25lZCAsCiAgICBwb2ludGVyCgopOwoKZXh0ZXJuIGludCBHZXRI
b3N0cygKCiAgICBwb2ludGVyICogLAogICAgaW50ICogLAogICAgaW50ICogLAogICAgQk9PTCAq
CgopOwoKdHlwZWRlZiBzdHJ1Y3Qgc29ja2FkZHIgKiBzb2NrYWRkclB0cjsKCmV4dGVybiBpbnQg
SW52YWxpZEhvc3QoCgogICAgc29ja2FkZHJQdHIgLAogICAgaW50CgopOwoKZXh0ZXJuIGludCBM
b2NhbENsaWVudCgKCiAgICBDbGllbnRQdHIKCik7CgpleHRlcm4gaW50IENoYW5nZUFjY2Vzc0Nv
bnRyb2woCgogICAgQ2xpZW50UHRyICwKICAgIGludAoKKTsKCmV4dGVybiBpbnQgR2V0QWNjZXNz
Q29udHJvbCgKCiAgICB2b2lkCgopOwoKCmV4dGVybiB2b2lkIEFkZExvY2FsSG9zdHMoCgogICAg
dm9pZAoKKTsKCmV4dGVybiB2b2lkIFJlc2V0SG9zdHMoCgogICAgY2hhciAqZGlzcGxheQoKKTsK
CmV4dGVybiB2b2lkIEVuYWJsZUxvY2FsSG9zdCgKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQg
RGlzYWJsZUxvY2FsSG9zdCgKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgQWNjZXNzVXNpbmdY
ZG1jcCgKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgRGVmaW5lU2VsZigKCiAgICBpbnQKCik7
CgpleHRlcm4gdm9pZCBBdWdtZW50U2VsZigKCiAgICBwb2ludGVyICwKICAgIGludAoKKTsKCmV4
dGVybiB2b2lkIEluaXRBdXRob3JpemF0aW9uKAoKICAgIGNoYXIgKgoKKTsKCmV4dGVybiBpbnQg
TG9hZEF1dGhvcml6YXRpb24oCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIFJlZ2lzdGVyQXV0
aG9yaXphdGlvbnMoCgogICAgdm9pZAoKKTsKCmV4dGVybiBYSUQgQXV0aG9yaXphdGlvblRvSUQg
KAogICAgICAgIHVuc2lnbmVkIHNob3J0IG5hbWVfbGVuZ3RoLAogICAgICAgIGNoYXIgKm5hbWUs
CiAgICAgICAgdW5zaWduZWQgc2hvcnQgZGF0YV9sZW5ndGgsCiAgICAgICAgY2hhciAqZGF0YSk7
CgpleHRlcm4gaW50IEF1dGhvcml6YXRpb25Gcm9tSUQgKAogICAgICAgIFhJRCBpZCwKICAgICAg
ICB1bnNpZ25lZCBzaG9ydCAqbmFtZV9sZW5wLAogICAgICAgIGNoYXIgKipuYW1lcCwKICAgICAg
ICB1bnNpZ25lZCBzaG9ydCAqZGF0YV9sZW5wLAogICAgICAgIGNoYXIgKipkYXRhcCk7CgpleHRl
cm4gWElEIENoZWNrQXV0aG9yaXphdGlvbigKCiAgICB1bnNpZ25lZCBpbnQgLAogICAgY2hhciAq
ICwKICAgIHVuc2lnbmVkIGludCAsCiAgICBjaGFyICogLAogICAgQ2xpZW50UHRyICwKICAgIGNo
YXIgKioKCik7CgpleHRlcm4gdm9pZCBSZXNldEF1dGhvcml6YXRpb24oCgogICAgdm9pZAoKKTsK
CmV4dGVybiBpbnQgUmVtb3ZlQXV0aG9yaXphdGlvbiAoCiAgICB1bnNpZ25lZCBzaG9ydCBuYW1l
X2xlbmd0aCwKICAgIGNoYXIgKm5hbWUsCiAgICB1bnNpZ25lZCBzaG9ydCBkYXRhX2xlbmd0aCwK
ICAgIGNoYXIgKmRhdGEpOwoKZXh0ZXJuIGludCBBZGRBdXRob3JpemF0aW9uKAoKICAgIHVuc2ln
bmVkIGludCAsCiAgICBjaGFyICogLAogICAgdW5zaWduZWQgaW50ICwKICAgIGNoYXIgKgoKKTsK
CmV4dGVybiBYSUQgR2VuZXJhdGVBdXRob3JpemF0aW9uKAoKICAgIHVuc2lnbmVkIGludCAsCiAg
ICBjaGFyICogLAogICAgdW5zaWduZWQgaW50ICwKICAgIGNoYXIgKiAsCiAgICB1bnNpZ25lZCBp
bnQgKiAsCiAgICBjaGFyICoqCgopOwojIDc4MiAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMv
WHNlcnZlci9pbmNsdWRlL29zLmgiCmV4dGVybiBpbnQgZGR4UHJvY2Vzc0FyZ3VtZW50KAoKICAg
IGludCAsCiAgICBjaGFyICogW10sCiAgICBpbnQKCik7CgpleHRlcm4gdm9pZCBkZHhVc2VNc2co
dm9pZCk7CgoKCgoKeFJlcVB0ciBQZWVrTmV4dFJlcXVlc3QoCgogICAgeFJlcVB0ciByZXEsIENs
aWVudFB0ciBjbGllbnQsIEJvb2wgcmVhZG1vcmUKCik7Cgp2b2lkIFNraXBSZXF1ZXN0cygKCiAg
ICB4UmVxUHRyIHJlcSwgQ2xpZW50UHRyIGNsaWVudCwgaW50IG51bXNraXBwZWQKCik7CiMgODMy
ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvb3MuaCIKZXh0ZXJu
IENhbGxiYWNrTGlzdFB0ciBTa2lwcGVkUmVxdWVzdHNDYWxsYmFjazsKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgeFJlcVB0ciByZXE7CiAgICBDbGllbnRQdHIgY2xpZW50OwogICAgaW50IG51bXNraXBw
ZWQ7Cn0gU2tpcHBlZFJlcXVlc3RJbmZvUmVjOwoKCmV4dGVybiBDYWxsYmFja0xpc3RQdHIgUmVw
bHlDYWxsYmFjazsKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ2xpZW50UHRyIGNsaWVudDsKICAgIHBv
aW50ZXIgcmVwbHlEYXRhOwogICAgdW5zaWduZWQgbG9uZyBkYXRhTGVuQnl0ZXM7CiAgICB1bnNp
Z25lZCBsb25nIGJ5dGVzUmVtYWluaW5nOwogICAgQm9vbCBzdGFydE9mUmVwbHk7Cn0gUmVwbHlJ
bmZvUmVjOwoKCmV4dGVybiBDYWxsYmFja0xpc3RQdHIgRmx1c2hDYWxsYmFjazsKCmV4dGVybiB2
b2lkIEFib3J0RERYKHZvaWQpOwpleHRlcm4gdm9pZCBkZHhHaXZlVXAodm9pZCk7CmV4dGVybiBp
bnQgVGltZVNpbmNlTGFzdElucHV0RXZlbnQodm9pZCk7CiMgMTE4ICIuLi8uLi8uLi8uLi8uLi8u
Li9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvbWlzYy5oIiAyCiMgMjQwICIuLi8uLi8uLi8uLi8u
Li8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvbWlzYy5oIgpleHRlcm4gdm9pZCBTd2FwTG9u
Z3MoCgogICAgQ0FSRDMyICpsaXN0LAogICAgdW5zaWduZWQgbG9uZyBjb3VudAoKKTsKCmV4dGVy
biB2b2lkIFN3YXBTaG9ydHMoCgogICAgc2hvcnQgKmxpc3QsCiAgICB1bnNpZ25lZCBsb25nIGNv
dW50CgopOwoKZXh0ZXJuIHZvaWQgTWFrZVByZWRlY2xhcmVkQXRvbXMoCgogICAgdm9pZAoKKTsK
CmV4dGVybiBpbnQgT25lcygKCiAgICB1bnNpZ25lZCBsb25nCgopOwoKdHlwZWRlZiBzdHJ1Y3Qg
X3hQb2ludCAqRERYUG9pbnRQdHI7CnR5cGVkZWYgc3RydWN0IF9Cb3ggKkJveFB0cjsKdHlwZWRl
ZiBzdHJ1Y3QgX3hFdmVudCAqeEV2ZW50UHRyOwp0eXBlZGVmIHN0cnVjdCBfeFJlY3RhbmdsZSAq
eFJlY3RhbmdsZVB0cjsKdHlwZWRlZiBzdHJ1Y3QgX0dyYWJSZWMgKkdyYWJQdHI7CgoKCgoKCgp0
eXBlZGVmIHN0cnVjdCBfQ2hhckluZm8gKkNoYXJJbmZvUHRyOwojIDUyICIuLi8uLi8uLi8uLi8u
Li8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvcGl4bWFwLmgiIDIKIyAxICIuLi8uLi8uLi8u
Li8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvc2NyZWVuaW50LmgiIDEKIyA1NCAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3NjcmVlbmludC5oIgp0eXBl
ZGVmIHN0cnVjdCBfUGl4bWFwRm9ybWF0ICpQaXhtYXBGb3JtYXRQdHI7CnR5cGVkZWYgc3RydWN0
IF9WaXN1YWwgKlZpc3VhbFB0cjsKdHlwZWRlZiBzdHJ1Y3QgX0RlcHRoICpEZXB0aFB0cjsKdHlw
ZWRlZiBzdHJ1Y3QgX1NjcmVlbiAqU2NyZWVuUHRyOwoKZXh0ZXJuIHZvaWQgUmVzZXRTY3JlZW5Q
cml2YXRlcygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIGludCBBbGxvY2F0ZVNjcmVlblByaXZhdGVJ
bmRleCgKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgUmVzZXRXaW5kb3dQcml2YXRlcygKCiAg
ICB2b2lkCgopOwoKZXh0ZXJuIGludCBBbGxvY2F0ZVdpbmRvd1ByaXZhdGVJbmRleCgKCiAgICB2
b2lkCgopOwoKZXh0ZXJuIEJvb2wgQWxsb2NhdGVXaW5kb3dQcml2YXRlKAoKICAgIFNjcmVlblB0
ciAsCiAgICBpbnQgLAogICAgdW5zaWduZWQKCik7CgpleHRlcm4gdm9pZCBSZXNldEdDUHJpdmF0
ZXMoCgogICAgdm9pZAoKKTsKCmV4dGVybiBpbnQgQWxsb2NhdGVHQ1ByaXZhdGVJbmRleCgKCiAg
ICB2b2lkCgopOwoKZXh0ZXJuIEJvb2wgQWxsb2NhdGVHQ1ByaXZhdGUoCgogICAgU2NyZWVuUHRy
ICwKICAgIGludCAsCiAgICB1bnNpZ25lZAoKKTsKCmV4dGVybiBpbnQgQWRkU2NyZWVuKAoKICAg
IEJvb2wgKCogKSgKCiAgICAgICAgaW50ICwKICAgICAgICBTY3JlZW5QdHIgLAogICAgICAgIGlu
dCAsCiAgICAgICAgY2hhciAqKgoKICAgICksCiAgICBpbnQgLAogICAgY2hhcioqCgopOwoKCgpl
eHRlcm4gdm9pZCBSZXNldFBpeG1hcFByaXZhdGVzKAoKICAgIHZvaWQKCik7CgpleHRlcm4gaW50
IEFsbG9jYXRlUGl4bWFwUHJpdmF0ZUluZGV4KAoKICAgIHZvaWQKCik7CgpleHRlcm4gQm9vbCBB
bGxvY2F0ZVBpeG1hcFByaXZhdGUoCgogICAgU2NyZWVuUHRyICwKICAgIGludCAsCiAgICB1bnNp
Z25lZAoKKTsKCgoKZXh0ZXJuIHZvaWQgUmVzZXRDb2xvcm1hcFByaXZhdGVzKAoKICAgIHZvaWQK
Cik7CgoKdHlwZWRlZiBzdHJ1Y3QgX0NvbG9ybWFwUmVjICpDb2xvcm1hcFB0cjsKdHlwZWRlZiBp
bnQgKCpJbml0Q21hcFByaXZGdW5jKSgKCiAgICAgICAgQ29sb3JtYXBQdHIKCik7CgpleHRlcm4g
aW50IEFsbG9jYXRlQ29sb3JtYXBQcml2YXRlSW5kZXgoCgogICAgSW5pdENtYXBQcml2RnVuYwoK
KTsKIyA1MyAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3BpeG1h
cC5oIiAyCiMgNjYgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9w
aXhtYXAuaCIKdHlwZWRlZiBzdHJ1Y3QgX0RyYXdhYmxlICpEcmF3YWJsZVB0cjsKdHlwZWRlZiBz
dHJ1Y3QgX1BpeG1hcCAqUGl4bWFwUHRyOwoKdHlwZWRlZiB1bmlvbiBfUGl4VW5pb24gewogICAg
UGl4bWFwUHRyIHBpeG1hcDsKICAgIHVuc2lnbmVkIGxvbmcgcGl4ZWw7Cn0gUGl4VW5pb247CiMg
ODYgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9waXhtYXAuaCIK
ZXh0ZXJuIFBpeG1hcFB0ciBHZXRTY3JhdGNoUGl4bWFwSGVhZGVyKAoKICAgIFNjcmVlblB0ciAs
CiAgICBpbnQgLAogICAgaW50ICwKICAgIGludCAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIHBv
aW50ZXIKCik7CgpleHRlcm4gdm9pZCBGcmVlU2NyYXRjaFBpeG1hcEhlYWRlcigKCiAgICBQaXht
YXBQdHIKCik7CgpleHRlcm4gQm9vbCBDcmVhdGVTY3JhdGNoUGl4bWFwc0ZvclNjcmVlbigKCiAg
ICBpbnQKCik7CgpleHRlcm4gdm9pZCBGcmVlU2NyYXRjaFBpeG1hcHNGb3JTY3JlZW4oCgogICAg
aW50CgopOwoKZXh0ZXJuIFBpeG1hcFB0ciBBbGxvY2F0ZVBpeG1hcCgKCiAgICBTY3JlZW5QdHIg
LAogICAgaW50CgopOwojIDUyICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2lu
Y2x1ZGUvcGl4bWFwc3RyLmgiIDIKCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNl
cnZlci9pbmNsdWRlL21pc2NzdHJ1Y3QuaCIgMQojIDU0ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9n
cmFtcy9Yc2VydmVyL2luY2x1ZGUvbWlzY3N0cnVjdC5oIgojIDEgIi4uLy4uLy4uLy4uLy4uLy4u
L2V4cG9ydHMvaW5jbHVkZS9YMTEvWHByb3Rvc3RyLmgiIDEKIyA1NSAiLi4vLi4vLi4vLi4vLi4v
Li4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YcHJvdG9zdHIuaCIKdHlwZWRlZiBzdHJ1Y3QgX3hTZWdt
ZW50IHsKICAgIElOVDE2IHgxICwgeTEgLCB4MiAsIHkyIDsKfSB4U2VnbWVudDsKCgoKdHlwZWRl
ZiBzdHJ1Y3QgX3hQb2ludCB7CiAgICAgICAgSU5UMTYgeCAsIHkgOwp9IHhQb2ludDsKCnR5cGVk
ZWYgc3RydWN0IF94UmVjdGFuZ2xlIHsKICAgIElOVDE2IHggLCB5IDsKICAgIENBUkQxNiB3aWR0
aCAsIGhlaWdodCA7Cn0geFJlY3RhbmdsZTsKCgoKdHlwZWRlZiBzdHJ1Y3QgX3hBcmMgewogICAg
SU5UMTYgeCAsIHkgOwogICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0IDsKICAgIElOVDE2IGFuZ2xl
MSAsIGFuZ2xlMiA7Cn0geEFyYzsKIyA1NSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNl
cnZlci9pbmNsdWRlL21pc2NzdHJ1Y3QuaCIgMgoKdHlwZWRlZiB4UG9pbnQgRERYUG9pbnRSZWM7
Cgp0eXBlZGVmIHN0cnVjdCBfQm94IHsKICAgIHNob3J0IHgxLCB5MSwgeDIsIHkyOwp9IEJveFJl
YzsKCnR5cGVkZWYgdW5pb24gX0RldlVuaW9uIHsKICAgIHBvaW50ZXIgcHRyOwogICAgbG9uZyB2
YWw7CiAgICB1bnNpZ25lZCBsb25nIHV2YWw7CiAgICBwb2ludGVyICgqZnB0cikoCgogICAgICAg
ICAgICAgICAgICAgICAgICB2b2lkCgogICAgICAgICAgICAgICAgICAgICAgICApOwp9IERldlVu
aW9uOwojIDU0ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvcGl4
bWFwc3RyLmgiIDIKCnR5cGVkZWYgc3RydWN0IF9EcmF3YWJsZSB7CiAgICB1bnNpZ25lZCBjaGFy
IHR5cGU7CiAgICB1bnNpZ25lZCBjaGFyIGNsYXNzOwogICAgdW5zaWduZWQgY2hhciBkZXB0aDsK
ICAgIHVuc2lnbmVkIGNoYXIgYml0c1BlclBpeGVsOwogICAgdW5zaWduZWQgbG9uZyBpZDsKICAg
IHNob3J0IHg7CiAgICBzaG9ydCB5OwogICAgdW5zaWduZWQgc2hvcnQgd2lkdGg7CiAgICB1bnNp
Z25lZCBzaG9ydCBoZWlnaHQ7CiAgICBTY3JlZW5QdHIgcFNjcmVlbjsKICAgIHVuc2lnbmVkIGxv
bmcgc2VyaWFsTnVtYmVyOwp9IERyYXdhYmxlUmVjOwoKCgoKCnR5cGVkZWYgc3RydWN0IF9QaXht
YXAgewogICAgRHJhd2FibGVSZWMgZHJhd2FibGU7CiAgICBpbnQgcmVmY250OwogICAgaW50IGRl
dktpbmQ7CiAgICBEZXZVbmlvbiBkZXZQcml2YXRlOwoKICAgIERldlVuaW9uICpkZXZQcml2YXRl
czsKCn0gUGl4bWFwUmVjOwojIDU2ICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4LmgiIDIKIyAxICIu
Li8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvZGl4LmgiIDEKIyA1MyAi
Li4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2RpeC5oIgojIDEgIi4u
Ly4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9nYy5oIiAxCiMgNTUgIi4u
Ly4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9nYy5oIgojIDEgIi4uLy4u
Ly4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWHByb3RvLmgiIDEKIyAyNjMgIi4uLy4u
Ly4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWHByb3RvLmgiCnR5cGVkZWYgQ0FSRDE2
IEtleUJ1dE1hc2s7CgoKCgoKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IGJ5dGVPcmRlcjsK
ICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IG1ham9yVmVyc2lvbiAsIG1pbm9yVmVyc2lvbiA7CiAg
ICBDQVJEMTYgbmJ5dGVzQXV0aFByb3RvIDsKICAgIENBUkQxNiBuYnl0ZXNBdXRoU3RyaW5nIDsK
ICAgIENBUkQxNiBwYWQyIDsKfSB4Q29ubkNsaWVudFByZWZpeDsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIENBUkQ4IHN1Y2Nlc3M7CiAgICBCWVRFIGxlbmd0aFJlYXNvbjsKICAgIENBUkQxNiBtYWpv
clZlcnNpb24gLAogICAgICAgICAgICAgICAgICAgbWlub3JWZXJzaW9uIDsKICAgIENBUkQxNiBs
ZW5ndGggOwp9IHhDb25uU2V0dXBQcmVmaXg7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDMy
IHJlbGVhc2UgOwogICAgQ0FSRDMyIHJpZEJhc2UgLAogICAgICAgICAgICAgICAgICAgcmlkTWFz
ayA7CiAgICBDQVJEMzIgbW90aW9uQnVmZmVyU2l6ZSA7CiAgICBDQVJEMTYgbmJ5dGVzVmVuZG9y
IDsKICAgIENBUkQxNiBtYXhSZXF1ZXN0U2l6ZSA7CiAgICBDQVJEOCBudW1Sb290czsKICAgIENB
UkQ4IG51bUZvcm1hdHM7CiAgICBDQVJEOCBpbWFnZUJ5dGVPcmRlcjsKICAgIENBUkQ4IGJpdG1h
cEJpdE9yZGVyOwogICAgQ0FSRDggYml0bWFwU2NhbmxpbmVVbml0LAogICAgICAgICAgICAgICAg
ICAgYml0bWFwU2NhbmxpbmVQYWQ7CiAgICBDQVJEOCBtaW5LZXlDb2RlLCBtYXhLZXlDb2RlOwog
ICAgQ0FSRDMyIHBhZDIgOwp9IHhDb25uU2V0dXA7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCBkZXB0aDsKICAgIENBUkQ4IGJpdHNQZXJQaXhlbDsKICAgIENBUkQ4IHNjYW5MaW5lUGFkOwog
ICAgQ0FSRDggcGFkMTsKICAgIENBUkQzMiBwYWQyIDsKfSB4UGl4bWFwRm9ybWF0OwoKCgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBkZXB0aDsKICAgIENBUkQ4IHBhZDE7CiAgICBDQVJEMTYg
blZpc3VhbHMgOwogICAgQ0FSRDMyIHBhZDIgOwogICAgfSB4RGVwdGg7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEMzIgdmlzdWFsSUQgOwoKCgogICAgQ0FSRDggY2xhc3M7CgogICAgQ0FSRDgg
Yml0c1BlclJHQjsKICAgIENBUkQxNiBjb2xvcm1hcEVudHJpZXMgOwogICAgQ0FSRDMyIHJlZE1h
c2sgLCBncmVlbk1hc2sgLCBibHVlTWFzayA7CiAgICBDQVJEMzIgcGFkIDsKICAgIH0geFZpc3Vh
bFR5cGU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMzIgd2luZG93SWQgOwogICAgQ0FSRDMy
IGRlZmF1bHRDb2xvcm1hcCA7CiAgICBDQVJEMzIgd2hpdGVQaXhlbCAsIGJsYWNrUGl4ZWwgOwog
ICAgQ0FSRDMyIGN1cnJlbnRJbnB1dE1hc2sgOwogICAgQ0FSRDE2IHBpeFdpZHRoICwgcGl4SGVp
Z2h0IDsKICAgIENBUkQxNiBtbVdpZHRoICwgbW1IZWlnaHQgOwogICAgQ0FSRDE2IG1pbkluc3Rh
bGxlZE1hcHMgLCBtYXhJbnN0YWxsZWRNYXBzIDsKICAgIENBUkQzMiByb290VmlzdWFsSUQgOwog
ICAgQ0FSRDggYmFja2luZ1N0b3JlOwogICAgQk9PTCBzYXZlVW5kZXJzOwogICAgQ0FSRDggcm9v
dERlcHRoOwogICAgQ0FSRDggbkRlcHRoczsKfSB4V2luZG93Um9vdDsKIyAzNTggIi4uLy4uLy4u
Ly4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9YMTEvWHByb3RvLmgiCnR5cGVkZWYgc3RydWN0IHsK
ICAgIENBUkQzMiB0aW1lIDsKICAgIElOVDE2IHggLCB5IDsKfSB4VGltZWNvb3JkOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQ0FSRDggZmFtaWx5OwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVu
Z3RoIDsKfSB4SG9zdEVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgSU5UMTYgbGVmdFNpZGVC
ZWFyaW5nICwKICAgICAgICAgIHJpZ2h0U2lkZUJlYXJpbmcgLAogICAgICAgICAgY2hhcmFjdGVy
V2lkdGggLAogICAgICAgICAgYXNjZW50ICwKICAgICAgICAgIGRlc2NlbnQgOwogICAgQ0FSRDE2
IGF0dHJpYnV0ZXMgOwp9IHhDaGFySW5mbzsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQzMiBu
YW1lIDsKICAgIENBUkQzMiB2YWx1ZSA7Cn0geEZvbnRQcm9wOwoKCgoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgQ0FSRDggbGVuOwoKICAgIElOVDggZGVsdGE7Cn0geFRleHRFbHQ7CgoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDMyIHBpeGVsIDsKICAgIENBUkQxNiByZWQgLCBncmVlbiAsIGJsdWUg
OwogICAgQ0FSRDggZmxhZ3M7CiAgICBDQVJEOCBwYWQ7Cn0geENvbG9ySXRlbTsKCgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBDQVJEMTYgcmVkICwgZ3JlZW4gLCBibHVlICwgcGFkIDsKfSB4cmdiOwoK
dHlwZWRlZiBDQVJEOCBLRVlDT0RFOwojIDQxNiAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9p
bmNsdWRlL1gxMS9YcHJvdG8uaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAg
QllURSBkYXRhMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3Ro
IDsKICAgIENBUkQzMiBkYXRhMDAgOwogICAgQ0FSRDMyIGRhdGEwMSA7CiAgICBDQVJEMzIgZGF0
YTAyIDsKICAgIENBUkQzMiBkYXRhMDMgOwogICAgQ0FSRDMyIGRhdGEwNCA7CiAgICBDQVJEMzIg
ZGF0YTA1IDsKICAgIH0geEdlbmVyaWNSZXBseTsKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllU
RSB0eXBlOwogICAgQ0FSRDggYmFja2luZ1N0b3JlOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVy
IDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIHZpc3VhbElEIDsKCgoKICAgIENBUkQx
NiBjbGFzcyA7CgogICAgQ0FSRDggYml0R3Jhdml0eTsKICAgIENBUkQ4IHdpbkdyYXZpdHk7CiAg
ICBDQVJEMzIgYmFja2luZ0JpdFBsYW5lcyA7CiAgICBDQVJEMzIgYmFja2luZ1BpeGVsIDsKICAg
IEJPT0wgc2F2ZVVuZGVyOwogICAgQk9PTCBtYXBJbnN0YWxsZWQ7CiAgICBDQVJEOCBtYXBTdGF0
ZTsKICAgIEJPT0wgb3ZlcnJpZGU7CiAgICBDQVJEMzIgY29sb3JtYXAgOwogICAgQ0FSRDMyIGFs
bEV2ZW50TWFza3MgOwogICAgQ0FSRDMyIHlvdXJFdmVudE1hc2sgOwogICAgQ0FSRDE2IGRvTm90
UHJvcGFnYXRlTWFzayA7CiAgICBDQVJEMTYgcGFkIDsKICAgIH0geEdldFdpbmRvd0F0dHJpYnV0
ZXNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IGRlcHRo
OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FS
RDMyIHJvb3QgOwogICAgSU5UMTYgeCAsIHkgOwogICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0IDsK
ICAgIENBUkQxNiBib3JkZXJXaWR0aCA7CiAgICBDQVJEMTYgcGFkMSA7CiAgICBDQVJEMzIgcGFk
MiA7CiAgICBDQVJEMzIgcGFkMyA7CiAgICB9IHhHZXRHZW9tZXRyeVJlcGx5OwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQllURSBwYWQxOwogICAgQ0FSRDE2IHNlcXVlbmNl
TnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIHJvb3QgLCBwYXJlbnQgOwog
ICAgQ0FSRDE2IG5DaGlsZHJlbiA7CiAgICBDQVJEMTYgcGFkMiA7CiAgICBDQVJEMzIgcGFkMyA7
CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICB9IHhRdWVyeVRyZWVSZXBs
eTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENB
UkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiBhdG9t
IDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsK
ICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIH0geEludGVybkF0b21SZXBs
eTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENB
UkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiBuYW1l
TGVuZ3RoIDsKICAgIENBUkQxNiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBw
YWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIENBUkQzMiBwYWQ3
IDsKICAgIH0geEdldEF0b21OYW1lUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5
cGU7CiAgICBDQVJEOCBmb3JtYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FS
RDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgcHJvcGVydHlUeXBlIDsKICAgIENBUkQzMiBieXRlc0Fm
dGVyIDsKICAgIENBUkQzMiBuSXRlbXMgOwogICAgQ0FSRDMyIHBhZDEgOwogICAgQ0FSRDMyIHBh
ZDIgOwogICAgQ0FSRDMyIHBhZDMgOwogICAgfSB4R2V0UHJvcGVydHlSZXBseTsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENBUkQxNiBzZXF1ZW5j
ZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiBuUHJvcGVydGllcyA7CiAg
ICBDQVJEMTYgcGFkMiA7CiAgICBDQVJEMzIgcGFkMyA7CiAgICBDQVJEMzIgcGFkNCA7CiAgICBD
QVJEMzIgcGFkNSA7CiAgICBDQVJEMzIgcGFkNiA7CiAgICBDQVJEMzIgcGFkNyA7CiAgICB9IHhM
aXN0UHJvcGVydGllc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAg
QllURSBwYWQxOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGgg
OwogICAgQ0FSRDMyIG93bmVyIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsK
ICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAg
IH0geEdldFNlbGVjdGlvbk93bmVyUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5
cGU7CiAgICBCWVRFIHN0YXR1czsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJE
MzIgbGVuZ3RoIDsKICAgIENBUkQzMiBwYWQxIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENBUkQz
MiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBw
YWQ2IDsKICAgIH0geEdyYWJQb2ludGVyUmVwbHk7Cgp0eXBlZGVmIHhHcmFiUG9pbnRlclJlcGx5
IHhHcmFiS2V5Ym9hcmRSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAg
IEJPT0wgc2FtZVNjcmVlbjsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIg
bGVuZ3RoIDsKICAgIENBUkQzMiByb290ICwgY2hpbGQgOwogICAgSU5UMTYgcm9vdFggLCByb290
WSAsIHdpblggLCB3aW5ZIDsKICAgIENBUkQxNiBtYXNrIDsKICAgIENBUkQxNiBwYWQxIDsKICAg
IENBUkQzMiBwYWQgOwogICAgfSB4UXVlcnlQb2ludGVyUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIg
OwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgbkV2ZW50cyA7CiAgICBDQVJEMzIgcGFk
MiA7CiAgICBDQVJEMzIgcGFkMyA7CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7
CiAgICBDQVJEMzIgcGFkNiA7CiAgICB9IHhHZXRNb3Rpb25FdmVudHNSZXBseTsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJPT0wgc2FtZVNjcmVlbjsKICAgIENBUkQxNiBz
ZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiBjaGlsZCA7CiAg
ICBJTlQxNiBkc3RYICwgZHN0WSA7CiAgICBDQVJEMzIgcGFkMiA7CiAgICBDQVJEMzIgcGFkMyA7
CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICB9IHhUcmFuc2xhdGVDb29y
ZHNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHJldmVy
dFRvOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAg
Q0FSRDMyIGZvY3VzIDsKICAgIENBUkQzMiBwYWQxIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENB
UkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIH0geEdl
dElucHV0Rm9jdXNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZ
VEUgcGFkMTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsK
ICAgIEJZVEUgbWFwWzMyXTsKICAgIH0geFF1ZXJ5S2V5bWFwUmVwbHk7CgoKdHlwZWRlZiBzdHJ1
Y3QgX3hRdWVyeUZvbnRSZXBseSB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7CiAgICBD
QVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICB4Q2hhckluZm8g
bWluQm91bmRzOwoKICAgIENBUkQzMiB3YWxpZ24xIDsKCiAgICB4Q2hhckluZm8gbWF4Qm91bmRz
OwoKICAgIENBUkQzMiB3YWxpZ24yIDsKCiAgICBDQVJEMTYgbWluQ2hhck9yQnl0ZTIgLCBtYXhD
aGFyT3JCeXRlMiA7CiAgICBDQVJEMTYgZGVmYXVsdENoYXIgOwogICAgQ0FSRDE2IG5Gb250UHJv
cHMgOwogICAgQ0FSRDggZHJhd0RpcmVjdGlvbjsKICAgIENBUkQ4IG1pbkJ5dGUxLCBtYXhCeXRl
MTsKICAgIEJPT0wgYWxsQ2hhcnNFeGlzdDsKICAgIElOVDE2IGZvbnRBc2NlbnQgLCBmb250RGVz
Y2VudCA7CiAgICBDQVJEMzIgbkNoYXJJbmZvcyA7Cn0geFF1ZXJ5Rm9udFJlcGx5OwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggZHJhd0RpcmVjdGlvbjsKICAgIENB
UkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIElOVDE2IGZvbnRB
c2NlbnQgLCBmb250RGVzY2VudCA7CiAgICBJTlQxNiBvdmVyYWxsQXNjZW50ICwgb3ZlcmFsbERl
c2NlbnQgOwogICAgSU5UMzIgb3ZlcmFsbFdpZHRoICwgb3ZlcmFsbExlZnQgLCBvdmVyYWxsUmln
aHQgOwogICAgQ0FSRDMyIHBhZCA7CiAgICB9IHhRdWVyeVRleHRFeHRlbnRzUmVwbHk7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2Vx
dWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMTYgbkZvbnRzIDsKICAg
IENBUkQxNiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENB
UkQzMiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIENBUkQzMiBwYWQ3IDsKICAgIH0geExp
c3RGb250c1JlcGx5OwoKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4
IG5hbWVMZW5ndGg7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0
aCA7CiAgICB4Q2hhckluZm8gbWluQm91bmRzOwoKICAgIENBUkQzMiB3YWxpZ24xIDsKCiAgICB4
Q2hhckluZm8gbWF4Qm91bmRzOwoKICAgIENBUkQzMiB3YWxpZ24yIDsKCiAgICBDQVJEMTYgbWlu
Q2hhck9yQnl0ZTIgLCBtYXhDaGFyT3JCeXRlMiA7CiAgICBDQVJEMTYgZGVmYXVsdENoYXIgOwog
ICAgQ0FSRDE2IG5Gb250UHJvcHMgOwogICAgQ0FSRDggZHJhd0RpcmVjdGlvbjsKICAgIENBUkQ4
IG1pbkJ5dGUxLCBtYXhCeXRlMTsKICAgIEJPT0wgYWxsQ2hhcnNFeGlzdDsKICAgIElOVDE2IGZv
bnRBc2NlbnQgLCBmb250RGVzY2VudCA7CiAgICBDQVJEMzIgblJlcGxpZXMgOwp9IHhMaXN0Rm9u
dHNXaXRoSW5mb1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQllU
RSBwYWQxOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwog
ICAgQ0FSRDE2IG5QYXRocyA7CiAgICBDQVJEMTYgcGFkMiA7CiAgICBDQVJEMzIgcGFkMyA7CiAg
ICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFkNSA7CiAgICBDQVJEMzIgcGFkNiA7CiAgICBD
QVJEMzIgcGFkNyA7CiAgICB9IHhHZXRGb250UGF0aFJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQllURSB0eXBlOwogICAgQ0FSRDggZGVwdGg7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIg
OwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgdmlzdWFsIDsKICAgIENBUkQzMiBwYWQz
IDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsK
ICAgIENBUkQzMiBwYWQ3IDsKICAgIH0geEdldEltYWdlUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIg
OwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMTYgbkNvbG9ybWFwcyA7CiAgICBDQVJEMTYg
cGFkMiA7CiAgICBDQVJEMzIgcGFkMyA7CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJEMzIgcGFk
NSA7CiAgICBDQVJEMzIgcGFkNiA7CiAgICBDQVJEMzIgcGFkNyA7CiAgICB9IHhMaXN0SW5zdGFs
bGVkQ29sb3JtYXBzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBC
WVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7
CiAgICBDQVJEMTYgcmVkICwgZ3JlZW4gLCBibHVlIDsKICAgIENBUkQxNiBwYWQyIDsKICAgIENB
UkQzMiBwaXhlbCA7CiAgICBDQVJEMzIgcGFkMyA7CiAgICBDQVJEMzIgcGFkNCA7CiAgICBDQVJE
MzIgcGFkNSA7CiAgICB9IHhBbGxvY0NvbG9yUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBC
WVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAg
Q0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgcGl4ZWwgOwogICAgQ0FSRDE2IGV4YWN0UmVkICwg
ZXhhY3RHcmVlbiAsIGV4YWN0Qmx1ZSA7CiAgICBDQVJEMTYgc2NyZWVuUmVkICwgc2NyZWVuR3Jl
ZW4gLCBzY3JlZW5CbHVlIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAg
IH0geEFsbG9jTmFtZWRDb2xvclJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBl
OwogICAgQllURSBwYWQxOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBs
ZW5ndGggOwogICAgQ0FSRDE2IG5QaXhlbHMgLCBuTWFza3MgOwogICAgQ0FSRDMyIHBhZDMgOwog
ICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAg
Q0FSRDMyIHBhZDcgOwogICAgfSB4QWxsb2NDb2xvckNlbGxzUmVwbHk7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1i
ZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMTYgblBpeGVscyA7CiAgICBDQVJEMTYg
cGFkMiA7CiAgICBDQVJEMzIgcmVkTWFzayAsIGdyZWVuTWFzayAsIGJsdWVNYXNrIDsKICAgIENB
UkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIH0geEFsbG9jQ29sb3JQbGFuZXNSZXBs
eTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgcGFkMTsKICAgIENB
UkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiBuQ29s
b3JzIDsKICAgIENBUkQxNiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0
IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIENBUkQzMiBwYWQ3IDsK
ICAgIH0geFF1ZXJ5Q29sb3JzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7
CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxl
bmd0aCA7CiAgICBDQVJEMTYgZXhhY3RSZWQgLCBleGFjdEdyZWVuICwgZXhhY3RCbHVlIDsKICAg
IENBUkQxNiBzY3JlZW5SZWQgLCBzY3JlZW5HcmVlbiAsIHNjcmVlbkJsdWUgOwogICAgQ0FSRDMy
IHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgfSB4TG9va3Vw
Q29sb3JSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIEJZVEUgcGFk
MTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENB
UkQxNiB3aWR0aCAsIGhlaWdodCA7CiAgICBDQVJEMzIgcGFkMyA7CiAgICBDQVJEMzIgcGFkNCA7
CiAgICBDQVJEMzIgcGFkNSA7CiAgICBDQVJEMzIgcGFkNiA7CiAgICBDQVJEMzIgcGFkNyA7CiAg
ICB9IHhRdWVyeUJlc3RTaXplUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7
CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxl
bmd0aCA7CiAgICBCT09MIHByZXNlbnQ7CiAgICBDQVJEOCBtYWpvcl9vcGNvZGU7CiAgICBDQVJE
OCBmaXJzdF9ldmVudDsKICAgIENBUkQ4IGZpcnN0X2Vycm9yOwogICAgQ0FSRDMyIHBhZDMgOwog
ICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMyIHBhZDYgOwogICAg
Q0FSRDMyIHBhZDcgOwogICAgfSB4UXVlcnlFeHRlbnNpb25SZXBseTsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IG5FeHRlbnNpb25zOwogICAgQ0FSRDE2IHNlcXVl
bmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIHBhZDIgOwogICAgQ0FS
RDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMy
IHBhZDYgOwogICAgQ0FSRDMyIHBhZDcgOwogICAgfSB4TGlzdEV4dGVuc2lvbnNSZXBseTsKCgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCBzdWNjZXNzOwogICAgQ0FS
RDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIHBhZDIg
OwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwog
ICAgQ0FSRDMyIHBhZDYgOwogICAgQ0FSRDMyIHBhZDcgOwogICAgfSB4U2V0TWFwcGluZ1JlcGx5
Owp0eXBlZGVmIHhTZXRNYXBwaW5nUmVwbHkgeFNldFBvaW50ZXJNYXBwaW5nUmVwbHk7CnR5cGVk
ZWYgeFNldE1hcHBpbmdSZXBseSB4U2V0TW9kaWZpZXJNYXBwaW5nUmVwbHk7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCBuRWx0czsKICAgIENBUkQxNiBzZXF1ZW5j
ZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENBUkQz
MiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBw
YWQ2IDsKICAgIENBUkQzMiBwYWQ3IDsKICAgIH0geEdldFBvaW50ZXJNYXBwaW5nUmVwbHk7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCBrZXlTeW1zUGVyS2V5Q29k
ZTsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENB
UkQzMiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQz
MiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIENBUkQzMiBwYWQ3IDsKfSB4R2V0S2V5Ym9h
cmRNYXBwaW5nUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJE
OCBudW1LZXlQZXJNb2RpZmllcjsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJE
MzIgbGVuZ3RoIDsKICAgIENBUkQzMiBwYWQxIDsKICAgIENBUkQzMiBwYWQyIDsKICAgIENBUkQz
MiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBw
YWQ2IDsKfSB4R2V0TW9kaWZpZXJNYXBwaW5nUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBC
WVRFIHR5cGU7CiAgICBCT09MIGdsb2JhbEF1dG9SZXBlYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VO
dW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgbGVkTWFzayA7CiAgICBDQVJE
OCBrZXlDbGlja1BlcmNlbnQsIGJlbGxQZXJjZW50OwogICAgQ0FSRDE2IGJlbGxQaXRjaCAsIGJl
bGxEdXJhdGlvbiA7CiAgICBDQVJEMTYgcGFkIDsKICAgIEJZVEUgbWFwWzMyXTsKICAgIH0geEdl
dEtleWJvYXJkQ29udHJvbFJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwog
ICAgQllURSBwYWQxOwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5n
dGggOwogICAgQ0FSRDE2IGFjY2VsTnVtZXJhdG9yICwgYWNjZWxEZW5vbWluYXRvciA7CiAgICBD
QVJEMTYgdGhyZXNob2xkIDsKICAgIENBUkQxNiBwYWQyIDsKICAgIENBUkQzMiBwYWQzIDsKICAg
IENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBwYWQ2IDsKICAgIH0g
eEdldFBvaW50ZXJDb250cm9sUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7
CiAgICBCWVRFIHBhZDE7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxl
bmd0aCA7CiAgICBDQVJEMTYgdGltZW91dCAsIGludGVydmFsIDsKICAgIEJPT0wgcHJlZmVyQmxh
bmtpbmc7CiAgICBCT09MIGFsbG93RXhwb3N1cmVzOwogICAgQ0FSRDE2IHBhZDIgOwogICAgQ0FS
RDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwogICAgQ0FSRDMy
IHBhZDYgOwogICAgfSB4R2V0U2NyZWVuU2F2ZXJSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IEJZVEUgdHlwZTsKICAgIEJPT0wgZW5hYmxlZDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7
CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiBuSG9zdHMgOwogICAgQ0FSRDE2IHBhZDEg
OwogICAgQ0FSRDMyIHBhZDMgOwogICAgQ0FSRDMyIHBhZDQgOwogICAgQ0FSRDMyIHBhZDUgOwog
ICAgQ0FSRDMyIHBhZDYgOwogICAgQ0FSRDMyIHBhZDcgOwogICAgfSB4TGlzdEhvc3RzUmVwbHk7
CiMgOTc1ICIuLi8uLi8uLi8uLi8uLi8uLi9leHBvcnRzL2luY2x1ZGUvWDExL1hwcm90by5oIgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBCWVRFIGVycm9yQ29kZTsKICAgIENB
UkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgcmVzb3VyY2VJRCA7CiAgICBDQVJEMTYg
bWlub3JDb2RlIDsKICAgIENBUkQ4IG1ham9yQ29kZTsKICAgIEJZVEUgcGFkMTsKICAgIENBUkQz
MiBwYWQzIDsKICAgIENBUkQzMiBwYWQ0IDsKICAgIENBUkQzMiBwYWQ1IDsKICAgIENBUkQzMiBw
YWQ2IDsKICAgIENBUkQzMiBwYWQ3IDsKfSB4RXJyb3I7CgoKCgoKCnR5cGVkZWYgc3RydWN0IF94
RXZlbnQgewogICAgdW5pb24gewogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgIEJZVEUgdHlw
ZTsKICAgICAgICAgICAgQllURSBkZXRhaWw7CiAgICAgICAgICAgIENBUkQxNiBzZXF1ZW5jZU51
bWJlciA7CiAgICAgICAgICAgIH0gdTsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJE
MzIgcGFkMDAgOwogICAgICAgICAgICBDQVJEMzIgdGltZSA7CiAgICAgICAgICAgIENBUkQzMiBy
b290ICwgZXZlbnQgLCBjaGlsZCA7CiAgICAgICAgICAgIElOVDE2IHJvb3RYICwgcm9vdFkgLCBl
dmVudFggLCBldmVudFkgOwogICAgICAgICAgICBLZXlCdXRNYXNrIHN0YXRlIDsKICAgICAgICAg
ICAgQk9PTCBzYW1lU2NyZWVuOwogICAgICAgICAgICBCWVRFIHBhZDE7CiAgICAgICAgfSBrZXlC
dXR0b25Qb2ludGVyOwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7
CiAgICAgICAgICAgIENBUkQzMiB0aW1lIDsKICAgICAgICAgICAgQ0FSRDMyIHJvb3QgLCBldmVu
dCAsIGNoaWxkIDsKICAgICAgICAgICAgSU5UMTYgcm9vdFggLCByb290WSAsIGV2ZW50WCAsIGV2
ZW50WSA7CiAgICAgICAgICAgIEtleUJ1dE1hc2sgc3RhdGUgOwogICAgICAgICAgICBCWVRFIG1v
ZGU7CiAgICAgICAgICAgIEJZVEUgZmxhZ3M7CgoKICAgICAgICB9IGVudGVyTGVhdmU7CiAgICAg
ICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDMy
IHdpbmRvdyA7CiAgICAgICAgICAgIEJZVEUgbW9kZTsKICAgICAgICAgICAgQllURSBwYWQxLCBw
YWQyLCBwYWQzOwogICAgICAgIH0gZm9jdXM7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAg
Q0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIHdpbmRvdyA7CiAgICAgICAgICAgIENB
UkQxNiB4ICwgeSAsIHdpZHRoICwgaGVpZ2h0IDsKICAgICAgICAgICAgQ0FSRDE2IGNvdW50IDsK
ICAgICAgICAgICAgQ0FSRDE2IHBhZDIgOwogICAgICAgIH0gZXhwb3NlOwogICAgICAgIHN0cnVj
dCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7CiAgICAgICAgICAgIENBUkQzMiBkcmF3YWJs
ZSA7CiAgICAgICAgICAgIENBUkQxNiB4ICwgeSAsIHdpZHRoICwgaGVpZ2h0IDsKICAgICAgICAg
ICAgQ0FSRDE2IG1pbm9yRXZlbnQgOwogICAgICAgICAgICBDQVJEMTYgY291bnQgOwogICAgICAg
ICAgICBCWVRFIG1ham9yRXZlbnQ7CiAgICAgICAgICAgIEJZVEUgcGFkMSwgcGFkMiwgcGFkMzsK
ICAgICAgICB9IGdyYXBoaWNzRXhwb3N1cmU7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAg
Q0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIGRyYXdhYmxlIDsKICAgICAgICAgICAg
Q0FSRDE2IG1pbm9yRXZlbnQgOwogICAgICAgICAgICBCWVRFIG1ham9yRXZlbnQ7CiAgICAgICAg
ICAgIEJZVEUgYnBhZDsKICAgICAgICB9IG5vRXhwb3N1cmU7CiAgICAgICAgc3RydWN0IHsKICAg
ICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIHdpbmRvdyA7CiAgICAg
ICAgICAgIENBUkQ4IHN0YXRlOwogICAgICAgICAgICBCWVRFIHBhZDEsIHBhZDIsIHBhZDM7CiAg
ICAgICAgfSB2aXNpYmlsaXR5OwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgIENBUkQzMiBw
YWQwMCA7CiAgICAgICAgICAgIENBUkQzMiBwYXJlbnQgLCB3aW5kb3cgOwogICAgICAgICAgICBJ
TlQxNiB4ICwgeSA7CiAgICAgICAgICAgIENBUkQxNiB3aWR0aCAsIGhlaWdodCAsIGJvcmRlcldp
ZHRoIDsKICAgICAgICAgICAgQk9PTCBvdmVycmlkZTsKICAgICAgICAgICAgQllURSBicGFkOwog
ICAgICAgIH0gY3JlYXRlTm90aWZ5OwojIDEwNzMgIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMv
aW5jbHVkZS9YMTEvWHByb3RvLmgiCiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMy
IHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIGV2ZW50ICwgd2luZG93IDsKICAgICAgICB9IGRl
c3Ryb3lOb3RpZnk7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsK
ICAgICAgICAgICAgQ0FSRDMyIGV2ZW50ICwgd2luZG93IDsKICAgICAgICAgICAgQk9PTCBmcm9t
Q29uZmlndXJlOwogICAgICAgICAgICBCWVRFIHBhZDEsIHBhZDIsIHBhZDM7CiAgICAgICAgfSB1
bm1hcE5vdGlmeTsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwog
ICAgICAgICAgICBDQVJEMzIgZXZlbnQgLCB3aW5kb3cgOwogICAgICAgICAgICBCT09MIG92ZXJy
aWRlOwogICAgICAgICAgICBCWVRFIHBhZDEsIHBhZDIsIHBhZDM7CiAgICAgICAgfSBtYXBOb3Rp
Znk7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAgICAg
ICAgQ0FSRDMyIHBhcmVudCAsIHdpbmRvdyA7CiAgICAgICAgfSBtYXBSZXF1ZXN0OwogICAgICAg
IHN0cnVjdCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7CiAgICAgICAgICAgIENBUkQzMiBl
dmVudCAsIHdpbmRvdyAsIHBhcmVudCA7CiAgICAgICAgICAgIElOVDE2IHggLCB5IDsKICAgICAg
ICAgICAgQk9PTCBvdmVycmlkZTsKICAgICAgICAgICAgQllURSBwYWQxLCBwYWQyLCBwYWQzOwog
ICAgICAgIH0gcmVwYXJlbnQ7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBh
ZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIGV2ZW50ICwgd2luZG93ICwgYWJvdmVTaWJsaW5nIDsK
ICAgICAgICAgICAgSU5UMTYgeCAsIHkgOwogICAgICAgICAgICBDQVJEMTYgd2lkdGggLCBoZWln
aHQgLCBib3JkZXJXaWR0aCA7CiAgICAgICAgICAgIEJPT0wgb3ZlcnJpZGU7CiAgICAgICAgICAg
IEJZVEUgYnBhZDsKICAgICAgICB9IGNvbmZpZ3VyZU5vdGlmeTsKICAgICAgICBzdHJ1Y3Qgewog
ICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAgICAgICBDQVJEMzIgcGFyZW50ICwgd2lu
ZG93ICwgc2libGluZyA7CiAgICAgICAgICAgIElOVDE2IHggLCB5IDsKICAgICAgICAgICAgQ0FS
RDE2IHdpZHRoICwgaGVpZ2h0ICwgYm9yZGVyV2lkdGggOwogICAgICAgICAgICBDQVJEMTYgdmFs
dWVNYXNrIDsKICAgICAgICAgICAgQ0FSRDMyIHBhZDEgOwogICAgICAgIH0gY29uZmlndXJlUmVx
dWVzdDsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAg
ICAgICBDQVJEMzIgZXZlbnQgLCB3aW5kb3cgOwogICAgICAgICAgICBJTlQxNiB4ICwgeSA7CiAg
ICAgICAgICAgIENBUkQzMiBwYWQxICwgcGFkMiAsIHBhZDMgLCBwYWQ0IDsKICAgICAgICB9IGdy
YXZpdHk7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAg
ICAgICAgQ0FSRDMyIHdpbmRvdyA7CiAgICAgICAgICAgIENBUkQxNiB3aWR0aCAsIGhlaWdodCA7
CiAgICAgICAgfSByZXNpemVSZXF1ZXN0OwogICAgICAgIHN0cnVjdCB7CgoKICAgICAgICAgICAg
Q0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIGV2ZW50ICwgd2luZG93ICwgcGFyZW50
IDsKICAgICAgICAgICAgQllURSBwbGFjZTsKICAgICAgICAgICAgQllURSBwYWQxLCBwYWQyLCBw
YWQzOwogICAgICAgIH0gY2lyY3VsYXRlOwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgIENB
UkQzMiBwYWQwMCA7CiAgICAgICAgICAgIENBUkQzMiB3aW5kb3cgOwogICAgICAgICAgICBDQVJE
MzIgYXRvbSA7CiAgICAgICAgICAgIENBUkQzMiB0aW1lIDsKICAgICAgICAgICAgQllURSBzdGF0
ZTsKICAgICAgICAgICAgQllURSBwYWQxOwogICAgICAgICAgICBDQVJEMTYgcGFkMiA7CiAgICAg
ICAgfSBwcm9wZXJ0eTsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAg
OwogICAgICAgICAgICBDQVJEMzIgdGltZSA7CiAgICAgICAgICAgIENBUkQzMiB3aW5kb3cgOwog
ICAgICAgICAgICBDQVJEMzIgYXRvbSA7CiAgICAgICAgfSBzZWxlY3Rpb25DbGVhcjsKICAgICAg
ICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAgICAgICBDQVJEMzIg
dGltZSA7CiAgICAgICAgICAgIENBUkQzMiBvd25lciAsIHJlcXVlc3RvciA7CiAgICAgICAgICAg
IENBUkQzMiBzZWxlY3Rpb24gLCB0YXJnZXQgLCBwcm9wZXJ0eSA7CiAgICAgICAgfSBzZWxlY3Rp
b25SZXF1ZXN0OwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgIENBUkQzMiBwYWQwMCA7CiAg
ICAgICAgICAgIENBUkQzMiB0aW1lIDsKICAgICAgICAgICAgQ0FSRDMyIHJlcXVlc3RvciA7CiAg
ICAgICAgICAgIENBUkQzMiBzZWxlY3Rpb24gLCB0YXJnZXQgLCBwcm9wZXJ0eSA7CiAgICAgICAg
fSBzZWxlY3Rpb25Ob3RpZnk7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBh
ZDAwIDsKICAgICAgICAgICAgQ0FSRDMyIHdpbmRvdyA7CiAgICAgICAgICAgIENBUkQzMiBjb2xv
cm1hcCA7CgoKCiAgICAgICAgICAgIEJPT0wgbmV3OwoKICAgICAgICAgICAgQllURSBzdGF0ZTsK
ICAgICAgICAgICAgQllURSBwYWQxLCBwYWQyOwogICAgICAgIH0gY29sb3JtYXA7CiAgICAgICAg
c3RydWN0IHsKICAgICAgICAgICAgQ0FSRDMyIHBhZDAwIDsKICAgICAgICAgICAgQ0FSRDggcmVx
dWVzdDsKICAgICAgICAgICAgQ0FSRDggZmlyc3RLZXlDb2RlOwogICAgICAgICAgICBDQVJEOCBj
b3VudDsKICAgICAgICAgICAgQllURSBwYWQxOwogICAgICAgIH0gbWFwcGluZ05vdGlmeTsKICAg
ICAgICBzdHJ1Y3QgewogICAgICAgICAgICBDQVJEMzIgcGFkMDAgOwogICAgICAgICAgICBDQVJE
MzIgd2luZG93IDsKICAgICAgICAgICAgdW5pb24gewogICAgICAgICAgICAgICAgc3RydWN0IHsK
ICAgICAgICAgICAgICAgICAgICBDQVJEMzIgdHlwZSA7CiAgICAgICAgICAgICAgICAgICAgSU5U
MzIgbG9uZ3MwIDsKICAgICAgICAgICAgICAgICAgICBJTlQzMiBsb25nczEgOwogICAgICAgICAg
ICAgICAgICAgIElOVDMyIGxvbmdzMiA7CiAgICAgICAgICAgICAgICAgICAgSU5UMzIgbG9uZ3Mz
IDsKICAgICAgICAgICAgICAgICAgICBJTlQzMiBsb25nczQgOwogICAgICAgICAgICAgICAgfSBs
OwogICAgICAgICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgICAgICAgICBDQVJEMzIgdHlw
ZSA7CiAgICAgICAgICAgICAgICAgICAgSU5UMTYgc2hvcnRzMCA7CiAgICAgICAgICAgICAgICAg
ICAgSU5UMTYgc2hvcnRzMSA7CiAgICAgICAgICAgICAgICAgICAgSU5UMTYgc2hvcnRzMiA7CiAg
ICAgICAgICAgICAgICAgICAgSU5UMTYgc2hvcnRzMyA7CiAgICAgICAgICAgICAgICAgICAgSU5U
MTYgc2hvcnRzNCA7CiAgICAgICAgICAgICAgICAgICAgSU5UMTYgc2hvcnRzNSA7CiAgICAgICAg
ICAgICAgICAgICAgSU5UMTYgc2hvcnRzNiA7CiAgICAgICAgICAgICAgICAgICAgSU5UMTYgc2hv
cnRzNyA7CiAgICAgICAgICAgICAgICAgICAgSU5UMTYgc2hvcnRzOCA7CiAgICAgICAgICAgICAg
ICAgICAgSU5UMTYgc2hvcnRzOSA7CiAgICAgICAgICAgICAgICB9IHM7CiAgICAgICAgICAgICAg
ICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgICAgIENBUkQzMiB0eXBlIDsKICAgICAgICAgICAg
ICAgICAgICBJTlQ4IGJ5dGVzWzIwXTsKICAgICAgICAgICAgICAgIH0gYjsKICAgICAgICAgICAg
fSB1OwogICAgICAgIH0gY2xpZW50TWVzc2FnZTsKICAgIH0gdTsKfSB4RXZlbnQ7CgoKCgoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQllURSBtYXBbMzFdOwogICAgfSB4S2V5
bWFwRXZlbnQ7CiMgMTIzMSAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9Y
cHJvdG8uaCIKdHlwZWRlZiB1bmlvbiB7CiAgICB4R2VuZXJpY1JlcGx5IGdlbmVyaWM7CiAgICB4
R2V0R2VvbWV0cnlSZXBseSBnZW9tOwogICAgeFF1ZXJ5VHJlZVJlcGx5IHRyZWU7CiAgICB4SW50
ZXJuQXRvbVJlcGx5IGF0b207CiAgICB4R2V0QXRvbU5hbWVSZXBseSBhdG9tTmFtZTsKICAgIHhH
ZXRQcm9wZXJ0eVJlcGx5IHByb3BlcnR5OwogICAgeExpc3RQcm9wZXJ0aWVzUmVwbHkgbGlzdFBy
b3BlcnRpZXM7CiAgICB4R2V0U2VsZWN0aW9uT3duZXJSZXBseSBzZWxlY3Rpb247CiAgICB4R3Jh
YlBvaW50ZXJSZXBseSBncmFiUG9pbnRlcjsKICAgIHhHcmFiS2V5Ym9hcmRSZXBseSBncmFiS2V5
Ym9hcmQ7CiAgICB4UXVlcnlQb2ludGVyUmVwbHkgcG9pbnRlcjsKICAgIHhHZXRNb3Rpb25FdmVu
dHNSZXBseSBtb3Rpb25FdmVudHM7CiAgICB4VHJhbnNsYXRlQ29vcmRzUmVwbHkgY29vcmRzOwog
ICAgeEdldElucHV0Rm9jdXNSZXBseSBpbnB1dEZvY3VzOwogICAgeFF1ZXJ5VGV4dEV4dGVudHNS
ZXBseSB0ZXh0RXh0ZW50czsKICAgIHhMaXN0Rm9udHNSZXBseSBmb250czsKICAgIHhHZXRGb250
UGF0aFJlcGx5IGZvbnRQYXRoOwogICAgeEdldEltYWdlUmVwbHkgaW1hZ2U7CiAgICB4TGlzdElu
c3RhbGxlZENvbG9ybWFwc1JlcGx5IGNvbG9ybWFwczsKICAgIHhBbGxvY0NvbG9yUmVwbHkgYWxs
b2NDb2xvcjsKICAgIHhBbGxvY05hbWVkQ29sb3JSZXBseSBhbGxvY05hbWVkQ29sb3I7CiAgICB4
QWxsb2NDb2xvckNlbGxzUmVwbHkgY29sb3JDZWxsczsKICAgIHhBbGxvY0NvbG9yUGxhbmVzUmVw
bHkgY29sb3JQbGFuZXM7CiAgICB4UXVlcnlDb2xvcnNSZXBseSBjb2xvcnM7CiAgICB4TG9va3Vw
Q29sb3JSZXBseSBsb29rdXBDb2xvcjsKICAgIHhRdWVyeUJlc3RTaXplUmVwbHkgYmVzdFNpemU7
CiAgICB4UXVlcnlFeHRlbnNpb25SZXBseSBleHRlbnNpb247CiAgICB4TGlzdEV4dGVuc2lvbnNS
ZXBseSBleHRlbnNpb25zOwogICAgeFNldE1vZGlmaWVyTWFwcGluZ1JlcGx5IHNldE1vZGlmaWVy
TWFwcGluZzsKICAgIHhHZXRNb2RpZmllck1hcHBpbmdSZXBseSBnZXRNb2RpZmllck1hcHBpbmc7
CiAgICB4U2V0UG9pbnRlck1hcHBpbmdSZXBseSBzZXRQb2ludGVyTWFwcGluZzsKICAgIHhHZXRL
ZXlib2FyZE1hcHBpbmdSZXBseSBnZXRLZXlib2FyZE1hcHBpbmc7CiAgICB4R2V0UG9pbnRlck1h
cHBpbmdSZXBseSBnZXRQb2ludGVyTWFwcGluZzsKICAgIHhHZXRQb2ludGVyQ29udHJvbFJlcGx5
IHBvaW50ZXJDb250cm9sOwogICAgeEdldFNjcmVlblNhdmVyUmVwbHkgc2NyZWVuU2F2ZXI7CiAg
ICB4TGlzdEhvc3RzUmVwbHkgaG9zdHM7CiAgICB4RXJyb3IgZXJyb3I7CiAgICB4RXZlbnQgZXZl
bnQ7Cn0geFJlcGx5OwojIDEyODEgIi4uLy4uLy4uLy4uLy4uLy4uL2V4cG9ydHMvaW5jbHVkZS9Y
MTEvWHByb3RvLmgiCnR5cGVkZWYgc3RydWN0IF94UmVxIHsKICAgICAgICBDQVJEOCByZXFUeXBl
OwogICAgICAgIENBUkQ4IGRhdGE7CiAgICAgICAgQ0FSRDE2IGxlbmd0aCA7Cgp9IHhSZXE7CiMg
MTI5NSAiLi4vLi4vLi4vLi4vLi4vLi4vZXhwb3J0cy9pbmNsdWRlL1gxMS9YcHJvdG8uaCIKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2
IGxlbmd0aCA7CiAgICBDQVJEMzIgaWQgOwogICAgfSB4UmVzb3VyY2VSZXE7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggZGVwdGg7CiAgICBDQVJEMTYgbGVu
Z3RoIDsKICAgIENBUkQzMiB3aWQgLCBwYXJlbnQgOwogICAgSU5UMTYgeCAsIHkgOwogICAgQ0FS
RDE2IHdpZHRoICwgaGVpZ2h0ICwgYm9yZGVyV2lkdGggOwoKCgogICAgQ0FSRDE2IGNsYXNzIDsK
CiAgICBDQVJEMzIgdmlzdWFsIDsKICAgIENBUkQzMiBtYXNrIDsKfSB4Q3JlYXRlV2luZG93UmVx
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAg
Q0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgd2luZG93IDsKICAgIENBUkQzMiB2YWx1ZU1hc2sg
Owp9IHhDaGFuZ2VXaW5kb3dBdHRyaWJ1dGVzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDggcmVxVHlwZTsKICAgIEJZVEUgbW9kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMy
IHdpbmRvdyA7Cn0geENoYW5nZVNhdmVTZXRSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiB3
aW5kb3cgLCBwYXJlbnQgOwogICAgSU5UMTYgeCAsIHkgOwp9IHhSZXBhcmVudFdpbmRvd1JlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBwYWQ7CiAgICBD
QVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiB3aW5kb3cgOwogICAgQ0FSRDE2IG1hc2sgOwogICAg
Q0FSRDE2IHBhZDIgOwp9IHhDb25maWd1cmVXaW5kb3dSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggZGlyZWN0aW9uOwogICAgQ0FSRDE2IGxlbmd0aCA7
CiAgICBDQVJEMzIgd2luZG93IDsKfSB4Q2lyY3VsYXRlV2luZG93UmVxOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJPT0wgb25seUlmRXhpc3RzOwogICAgQ0FSRDE2
IGxlbmd0aCA7CiAgICBDQVJEMTYgbmJ5dGVzIDsKICAgIENBUkQxNiBwYWQgOwp9IHhJbnRlcm5B
dG9tUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG1v
ZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiB3aW5kb3cgOwogICAgQ0FSRDMyIHBy
b3BlcnR5ICwgdHlwZSA7CiAgICBDQVJEOCBmb3JtYXQ7CiAgICBCWVRFIHBhZFszXTsKICAgIENB
UkQzMiBuVW5pdHMgOwp9IHhDaGFuZ2VQcm9wZXJ0eVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FS
RDMyIHdpbmRvdyA7CiAgICBDQVJEMzIgcHJvcGVydHkgOwp9IHhEZWxldGVQcm9wZXJ0eVJlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CgoKCiAgICBCT09MIGRlbGV0ZTsK
CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiB3aW5kb3cgOwogICAgQ0FSRDMyIHByb3Bl
cnR5ICwgdHlwZSA7CiAgICBDQVJEMzIgbG9uZ09mZnNldCA7CiAgICBDQVJEMzIgbG9uZ0xlbmd0
aCA7Cn0geEdldFByb3BlcnR5UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlw
ZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgd2luZG93IDsK
ICAgIENBUkQzMiBzZWxlY3Rpb24gOwogICAgQ0FSRDMyIHRpbWUgOwp9IHhTZXRTZWxlY3Rpb25P
d25lclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBh
ZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIHJlcXVlc3RvciA7CiAgICBDQVJEMzIg
c2VsZWN0aW9uICwgdGFyZ2V0ICwgcHJvcGVydHkgOwogICAgQ0FSRDMyIHRpbWUgOwogICAgfSB4
Q29udmVydFNlbGVjdGlvblJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7
CiAgICBCT09MIHByb3BhZ2F0ZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGRlc3Rp
bmF0aW9uIDsKICAgIENBUkQzMiBldmVudE1hc2sgOwoKCgoKICAgIHhFdmVudCBldmVudDsKCn0g
eFNlbmRFdmVudFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBC
T09MIG93bmVyRXZlbnRzOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgZ3JhYldpbmRv
dyA7CiAgICBDQVJEMTYgZXZlbnRNYXNrIDsKICAgIEJZVEUgcG9pbnRlck1vZGUsIGtleWJvYXJk
TW9kZTsKICAgIENBUkQzMiBjb25maW5lVG8gOwogICAgQ0FSRDMyIGN1cnNvciA7CiAgICBDQVJE
MzIgdGltZSA7Cn0geEdyYWJQb2ludGVyUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDgg
cmVxVHlwZTsKICAgIEJPT0wgb3duZXJFdmVudHM7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENB
UkQzMiBncmFiV2luZG93IDsKICAgIENBUkQxNiBldmVudE1hc2sgOwogICAgQllURSBwb2ludGVy
TW9kZSwga2V5Ym9hcmRNb2RlOwogICAgQ0FSRDMyIGNvbmZpbmVUbyA7CiAgICBDQVJEMzIgY3Vy
c29yIDsKICAgIENBUkQ4IGJ1dHRvbjsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IG1vZGlmaWVy
cyA7Cn0geEdyYWJCdXR0b25SZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggYnV0dG9uOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgZ3JhYldp
bmRvdyA7CiAgICBDQVJEMTYgbW9kaWZpZXJzIDsKICAgIENBUkQxNiBwYWQgOwp9IHhVbmdyYWJC
dXR0b25SZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBw
YWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBjdXJzb3IgOwogICAgQ0FSRDMyIHRp
bWUgOwogICAgQ0FSRDE2IGV2ZW50TWFzayA7CiAgICBDQVJEMTYgcGFkMiA7Cn0geENoYW5nZUFj
dGl2ZVBvaW50ZXJHcmFiUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsK
ICAgIEJPT0wgb3duZXJFdmVudHM7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBncmFi
V2luZG93IDsKICAgIENBUkQzMiB0aW1lIDsKICAgIEJZVEUgcG9pbnRlck1vZGUsIGtleWJvYXJk
TW9kZTsKICAgIENBUkQxNiBwYWQgOwp9IHhHcmFiS2V5Ym9hcmRSZXE7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQk9PTCBvd25lckV2ZW50czsKICAgIENBUkQxNiBs
ZW5ndGggOwogICAgQ0FSRDMyIGdyYWJXaW5kb3cgOwogICAgQ0FSRDE2IG1vZGlmaWVycyA7CiAg
ICBDQVJEOCBrZXk7CiAgICBCWVRFIHBvaW50ZXJNb2RlLCBrZXlib2FyZE1vZGU7CiAgICBCWVRF
IHBhZDEsIHBhZDIsIHBhZDM7Cn0geEdyYWJLZXlSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBD
QVJEOCByZXFUeXBlOwogICAgQ0FSRDgga2V5OwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJE
MzIgZ3JhYldpbmRvdyA7CiAgICBDQVJEMTYgbW9kaWZpZXJzIDsKICAgIENBUkQxNiBwYWQgOwp9
IHhVbmdyYWJLZXlSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAg
Q0FSRDggbW9kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIHRpbWUgOwp9IHhBbGxv
d0V2ZW50c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRF
IHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIHdpbmRvdyA7CiAgICBDQVJEMzIg
c3RhcnQgLCBzdG9wIDsKfSB4R2V0TW90aW9uRXZlbnRzUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBD
QVJEMzIgc3JjV2lkICwgZHN0V2lkIDsKICAgIElOVDE2IHNyY1ggLCBzcmNZIDsKfSB4VHJhbnNs
YXRlQ29vcmRzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZ
VEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgc3JjV2lkICwgZHN0V2lkIDsK
ICAgIElOVDE2IHNyY1ggLCBzcmNZIDsKICAgIENBUkQxNiBzcmNXaWR0aCAsIHNyY0hlaWdodCA7
CiAgICBJTlQxNiBkc3RYICwgZHN0WSA7Cn0geFdhcnBQb2ludGVyUmVxOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IHJldmVydFRvOwogICAgQ0FSRDE2IGxl
bmd0aCA7CiAgICBDQVJEMzIgZm9jdXMgOwogICAgQ0FSRDMyIHRpbWUgOwp9IHhTZXRJbnB1dEZv
Y3VzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFk
OwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgZmlkIDsKICAgIENBUkQxNiBuYnl0ZXMg
OwogICAgQllURSBwYWQxLCBwYWQyOwp9IHhPcGVuRm9udFJlcTsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCT09MIG9kZExlbmd0aDsKICAgIENBUkQxNiBsZW5ndGgg
OwogICAgQ0FSRDMyIGZpZCA7CiAgICB9IHhRdWVyeVRleHRFeHRlbnRzUmVxOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0
aCA7CiAgICBDQVJEMTYgbWF4TmFtZXMgOwogICAgQ0FSRDE2IG5ieXRlcyA7Cn0geExpc3RGb250
c1JlcTsKCnR5cGVkZWYgeExpc3RGb250c1JlcSB4TGlzdEZvbnRzV2l0aEluZm9SZXE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYg
bGVuZ3RoIDsKICAgIENBUkQxNiBuRm9udHMgOwogICAgQllURSBwYWQxLCBwYWQyOwp9IHhTZXRG
b250UGF0aFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBkZXB0aDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIHBpZCA7CiAgICBDQVJEMzIg
ZHJhd2FibGUgOwogICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0IDsKfSB4Q3JlYXRlUGl4bWFwUmVx
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAg
Q0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgZ2MgOwogICAgQ0FSRDMyIGRyYXdhYmxlIDsKICAg
IENBUkQzMiBtYXNrIDsKfSB4Q3JlYXRlR0NSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBn
YyA7CiAgICBDQVJEMzIgbWFzayA7Cn0geENoYW5nZUdDUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBD
QVJEMzIgc3JjR0MgLCBkc3RHQyA7CiAgICBDQVJEMzIgbWFzayA7Cn0geENvcHlHQ1JlcTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQx
NiBsZW5ndGggOwogICAgQ0FSRDMyIGdjIDsKICAgIENBUkQxNiBkYXNoT2Zmc2V0IDsKICAgIENB
UkQxNiBuRGFzaGVzIDsKfSB4U2V0RGFzaGVzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDggcmVxVHlwZTsKICAgIEJZVEUgb3JkZXJpbmc7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENB
UkQzMiBnYyA7CiAgICBJTlQxNiB4T3JpZ2luICwgeU9yaWdpbiA7Cn0geFNldENsaXBSZWN0YW5n
bGVzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJPT0wgZXhw
b3N1cmVzOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgd2luZG93IDsKICAgIElOVDE2
IHggLCB5IDsKICAgIENBUkQxNiB3aWR0aCAsIGhlaWdodCA7Cn0geENsZWFyQXJlYVJlcTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQx
NiBsZW5ndGggOwogICAgQ0FSRDMyIHNyY0RyYXdhYmxlICwgZHN0RHJhd2FibGUgOwogICAgQ0FS
RDMyIGdjIDsKICAgIElOVDE2IHNyY1ggLCBzcmNZICwgZHN0WCAsIGRzdFkgOwogICAgQ0FSRDE2
IHdpZHRoICwgaGVpZ2h0IDsKfSB4Q29weUFyZWFSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBD
QVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQz
MiBzcmNEcmF3YWJsZSAsIGRzdERyYXdhYmxlIDsKICAgIENBUkQzMiBnYyA7CiAgICBJTlQxNiBz
cmNYICwgc3JjWSAsIGRzdFggLCBkc3RZIDsKICAgIENBUkQxNiB3aWR0aCAsIGhlaWdodCA7CiAg
ICBDQVJEMzIgYml0UGxhbmUgOwp9IHhDb3B5UGxhbmVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQllURSBjb29yZE1vZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsK
ICAgIENBUkQzMiBkcmF3YWJsZSA7CiAgICBDQVJEMzIgZ2MgOwp9IHhQb2x5UG9pbnRSZXE7Cgp0
eXBlZGVmIHhQb2x5UG9pbnRSZXEgeFBvbHlMaW5lUmVxOwoKCgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENB
UkQzMiBkcmF3YWJsZSA7CiAgICBDQVJEMzIgZ2MgOwp9IHhQb2x5U2VnbWVudFJlcTsKCnR5cGVk
ZWYgeFBvbHlTZWdtZW50UmVxIHhQb2x5QXJjUmVxOwp0eXBlZGVmIHhQb2x5U2VnbWVudFJlcSB4
UG9seVJlY3RhbmdsZVJlcTsKdHlwZWRlZiB4UG9seVNlZ21lbnRSZXEgeFBvbHlGaWxsUmVjdGFu
Z2xlUmVxOwp0eXBlZGVmIHhQb2x5U2VnbWVudFJlcSB4UG9seUZpbGxBcmNSZXE7Cgp0eXBlZGVm
IHN0cnVjdCBfRmlsbFBvbHlSZXEgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwog
ICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgZHJhd2FibGUgOwogICAgQ0FSRDMyIGdjIDsK
ICAgIEJZVEUgc2hhcGU7CiAgICBCWVRFIGNvb3JkTW9kZTsKICAgIENBUkQxNiBwYWQxIDsKfSB4
RmlsbFBvbHlSZXE7CgoKdHlwZWRlZiBzdHJ1Y3QgX1B1dEltYWdlUmVxIHsKICAgIENBUkQ4IHJl
cVR5cGU7CiAgICBDQVJEOCBmb3JtYXQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBk
cmF3YWJsZSA7CiAgICBDQVJEMzIgZ2MgOwogICAgQ0FSRDE2IHdpZHRoICwgaGVpZ2h0IDsKICAg
IElOVDE2IGRzdFggLCBkc3RZIDsKICAgIENBUkQ4IGxlZnRQYWQ7CiAgICBDQVJEOCBkZXB0aDsK
ICAgIENBUkQxNiBwYWQgOwp9IHhQdXRJbWFnZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBmb3JtYXQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENB
UkQzMiBkcmF3YWJsZSA7CiAgICBJTlQxNiB4ICwgeSA7CiAgICBDQVJEMTYgd2lkdGggLCBoZWln
aHQgOwogICAgQ0FSRDMyIHBsYW5lTWFzayA7Cn0geEdldEltYWdlUmVxOwoKCgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggcGFkOwogICAgQ0FSRDE2IGxlbmd0
aCA7CiAgICBDQVJEMzIgZHJhd2FibGUgOwogICAgQ0FSRDMyIGdjIDsKICAgIElOVDE2IHggLCB5
IDsKfSB4UG9seVRleHRSZXE7Cgp0eXBlZGVmIHhQb2x5VGV4dFJlcSB4UG9seVRleHQ4UmVxOwp0
eXBlZGVmIHhQb2x5VGV4dFJlcSB4UG9seVRleHQxNlJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIG5DaGFyczsKICAgIENBUkQxNiBsZW5ndGggOwogICAg
Q0FSRDMyIGRyYXdhYmxlIDsKICAgIENBUkQzMiBnYyA7CiAgICBJTlQxNiB4ICwgeSA7Cn0geElt
YWdlVGV4dFJlcTsKCnR5cGVkZWYgeEltYWdlVGV4dFJlcSB4SW1hZ2VUZXh0OFJlcTsKdHlwZWRl
ZiB4SW1hZ2VUZXh0UmVxIHhJbWFnZVRleHQxNlJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQ4IHJlcVR5cGU7CiAgICBCWVRFIGFsbG9jOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJE
MzIgbWlkIDsKICAgIENBUkQzMiB3aW5kb3cgOwogICAgQ0FSRDMyIHZpc3VhbCA7Cn0geENyZWF0
ZUNvbG9ybWFwUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZ
VEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgbWlkIDsKICAgIENBUkQzMiBz
cmNDbWFwIDsKfSB4Q29weUNvbG9ybWFwQW5kRnJlZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FS
RDMyIGNtYXAgOwogICAgQ0FSRDE2IHJlZCAsIGdyZWVuICwgYmx1ZSA7CiAgICBDQVJEMTYgcGFk
MiA7Cn0geEFsbG9jQ29sb3JSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBjbWFwIDsKICAg
IENBUkQxNiBuYnl0ZXMgOwogICAgQllURSBwYWQxLCBwYWQyOwp9IHhBbGxvY05hbWVkQ29sb3JS
ZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQk9PTCBjb250aWd1
b3VzOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgY21hcCA7CiAgICBDQVJEMTYgY29s
b3JzICwgcGxhbmVzIDsKfSB4QWxsb2NDb2xvckNlbGxzUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIEJPT0wgY29udGlndW91czsKICAgIENBUkQxNiBsZW5ndGgg
OwogICAgQ0FSRDMyIGNtYXAgOwogICAgQ0FSRDE2IGNvbG9ycyAsIHJlZCAsIGdyZWVuICwgYmx1
ZSA7Cn0geEFsbG9jQ29sb3JQbGFuZXNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBjbWFw
IDsKICAgIENBUkQzMiBwbGFuZU1hc2sgOwp9IHhGcmVlQ29sb3JzUmVxOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7
CiAgICBDQVJEMzIgY21hcCA7Cn0geFN0b3JlQ29sb3JzUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IGZsYWdzOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAg
ICBDQVJEMzIgY21hcCA7CiAgICBDQVJEMzIgcGl4ZWwgOwogICAgQ0FSRDE2IG5ieXRlcyA7CiAg
ICBCWVRFIHBhZDEsIHBhZDI7CiAgICB9IHhTdG9yZU5hbWVkQ29sb3JSZXE7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3Ro
IDsKICAgIENBUkQzMiBjbWFwIDsKfSB4UXVlcnlDb2xvcnNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAg
IENBUkQzMiBjbWFwIDsKICAgIENBUkQxNiBuYnl0ZXMgOwogICAgQllURSBwYWQxLCBwYWQyOwp9
IHhMb29rdXBDb2xvclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAg
ICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGNpZCA7CiAgICBDQVJE
MzIgc291cmNlICwgbWFzayA7CiAgICBDQVJEMTYgZm9yZVJlZCAsIGZvcmVHcmVlbiAsIGZvcmVC
bHVlIDsKICAgIENBUkQxNiBiYWNrUmVkICwgYmFja0dyZWVuICwgYmFja0JsdWUgOwogICAgQ0FS
RDE2IHggLCB5IDsKfSB4Q3JlYXRlQ3Vyc29yUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDggcmVxVHlwZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIg
Y2lkIDsKICAgIENBUkQzMiBzb3VyY2UgLCBtYXNrIDsKICAgIENBUkQxNiBzb3VyY2VDaGFyICwg
bWFza0NoYXIgOwogICAgQ0FSRDE2IGZvcmVSZWQgLCBmb3JlR3JlZW4gLCBmb3JlQmx1ZSA7CiAg
ICBDQVJEMTYgYmFja1JlZCAsIGJhY2tHcmVlbiAsIGJhY2tCbHVlIDsKfSB4Q3JlYXRlR2x5cGhD
dXJzb3JSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBw
YWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQzMiBjdXJzb3IgOwogICAgQ0FSRDE2IGZv
cmVSZWQgLCBmb3JlR3JlZW4gLCBmb3JlQmx1ZSA7CiAgICBDQVJEMTYgYmFja1JlZCAsIGJhY2tH
cmVlbiAsIGJhY2tCbHVlIDsKfSB4UmVjb2xvckN1cnNvclJlcTsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIENBUkQ4IHJlcVR5cGU7CgoKCiAgICBDQVJEOCBjbGFzczsKCiAgICBDQVJEMTYgbGVuZ3Ro
IDsKICAgIENBUkQzMiBkcmF3YWJsZSA7CiAgICBDQVJEMTYgd2lkdGggLCBoZWlnaHQgOwp9IHhR
dWVyeUJlc3RTaXplUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAg
IEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMTYgbmJ5dGVzIDsKICAgIEJZ
VEUgcGFkMSwgcGFkMjsKfSB4UXVlcnlFeHRlbnNpb25SZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggbnVtS2V5UGVyTW9kaWZpZXI7CiAgICBDQVJEMTYg
bGVuZ3RoIDsKfSB4U2V0TW9kaWZpZXJNYXBwaW5nUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
Q0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG5FbHRzOwogICAgQ0FSRDE2IGxlbmd0aCA7Cn0geFNl
dFBvaW50ZXJNYXBwaW5nUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsK
ICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEOCBmaXJzdEtleUNvZGU7
CiAgICBDQVJEOCBjb3VudDsKICAgIENBUkQxNiBwYWQxIDsKfSB4R2V0S2V5Ym9hcmRNYXBwaW5n
UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IGtleUNv
ZGVzOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEOCBmaXJzdEtleUNvZGU7CiAgICBDQVJE
OCBrZXlTeW1zUGVyS2V5Q29kZTsKICAgIENBUkQxNiBwYWQxIDsKfSB4Q2hhbmdlS2V5Ym9hcmRN
YXBwaW5nUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIEJZVEUg
cGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgbWFzayA7Cn0geENoYW5nZUtleWJv
YXJkQ29udHJvbFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBJ
TlQ4IHBlcmNlbnQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsKfSB4QmVsbFJlcTsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENBUkQxNiBsZW5ndGgg
OwogICAgSU5UMTYgYWNjZWxOdW0gLCBhY2NlbERlbnVtIDsKICAgIElOVDE2IHRocmVzaG9sZCA7
CiAgICBCT09MIGRvQWNjZWwsIGRvVGhyZXNoOwp9IHhDaGFuZ2VQb2ludGVyQ29udHJvbFJlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIHBhZDsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgSU5UMTYgdGltZW91dCAsIGludGVydmFsIDsKICAgIEJZVEUgcHJl
ZmVyQmxhbmssIGFsbG93RXhwb3NlOwogICAgQ0FSRDE2IHBhZDIgOwp9IHhTZXRTY3JlZW5TYXZl
clJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBCWVRFIG1vZGU7
CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQ4IGhvc3RGYW1pbHk7CiAgICBCWVRFIHBhZDsK
ICAgIENBUkQxNiBob3N0TGVuZ3RoIDsKfSB4Q2hhbmdlSG9zdHNSZXE7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQllURSBwYWQ7CiAgICBDQVJEMTYgbGVuZ3RoIDsK
ICAgIH0geExpc3RIb3N0c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7
CiAgICBCWVRFIG1vZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIH0geENoYW5nZU1vZGVSZXE7
Cgp0eXBlZGVmIHhDaGFuZ2VNb2RlUmVxIHhTZXRBY2Nlc3NDb250cm9sUmVxOwp0eXBlZGVmIHhD
aGFuZ2VNb2RlUmVxIHhTZXRDbG9zZURvd25Nb2RlUmVxOwp0eXBlZGVmIHhDaGFuZ2VNb2RlUmVx
IHhGb3JjZVNjcmVlblNhdmVyUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlw
ZTsKICAgIEJZVEUgcGFkOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMzIgd2luZG93IDsK
ICAgIENBUkQxNiBuQXRvbXMgOwogICAgSU5UMTYgblBvc2l0aW9ucyA7CiAgICB9IHhSb3RhdGVQ
cm9wZXJ0aWVzUmVxOwojIDU2ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2lu
Y2x1ZGUvZ2MuaCIgMgojIDg1ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2lu
Y2x1ZGUvZ2MuaCIKdHlwZWRlZiBzdHJ1Y3QgX0dDSW50ZXJlc3QgKkdDSW50ZXJlc3RQdHI7CnR5
cGVkZWYgc3RydWN0IF9HQyAqR0NQdHI7CnR5cGVkZWYgc3RydWN0IF9HQ09wcyAqR0NPcHNQdHI7
CgpleHRlcm4gdm9pZCBWYWxpZGF0ZUdDKAoKICAgIERyYXdhYmxlUHRyICwKICAgIEdDUHRyCgop
OwoKZXh0ZXJuIGludCBDaGFuZ2VHQygKCiAgICBHQ1B0ciAsCiAgICBCSVRTMzIgLAogICAgWElE
KgoKKTsKCmV4dGVybiBpbnQgRG9DaGFuZ2VHQygKCiAgICBHQ1B0ciAsCiAgICBCSVRTMzIgLAog
ICAgWElEKiAsCiAgICBpbnQKCik7Cgp0eXBlZGVmIHVuaW9uIHsKICAgIENBUkQzMiB2YWw7CiAg
ICBwb2ludGVyIHB0cjsKfSBDaGFuZ2VHQ1ZhbCwgKkNoYW5nZUdDVmFsUHRyOwoKZXh0ZXJuIGlu
dCBkaXhDaGFuZ2VHQygKCiAgICBDbGllbnRQdHIgLAogICAgR0NQdHIgLAogICAgQklUUzMyICwK
ICAgIENBUkQzMiAqICwKICAgIENoYW5nZUdDVmFsUHRyCgopOwoKZXh0ZXJuIEdDUHRyIENyZWF0
ZUdDKAoKICAgIERyYXdhYmxlUHRyICwKICAgIEJJVFMzMiAsCiAgICBYSUQqICwKICAgIGludCoK
Cik7CgpleHRlcm4gaW50IENvcHlHQygKCiAgICBHQ1B0ciAsCiAgICBHQ1B0ciAsCiAgICBCSVRT
MzIKCik7CgpleHRlcm4gaW50IEZyZWVHQygKCiAgICBwb2ludGVyICwKICAgIFhJRAoKKTsKCmV4
dGVybiB2b2lkIFNldEdDTWFzaygKCiAgICBHQ1B0ciAsCiAgICBNYXNrICwKICAgIE1hc2sKCik7
CgpleHRlcm4gR0NQdHIgQ3JlYXRlU2NyYXRjaEdDKAoKICAgIFNjcmVlblB0ciAsCiAgICB1bnNp
Z25lZAoKKTsKCmV4dGVybiB2b2lkIEZyZWVHQ3BlckRlcHRoKAoKICAgIGludAoKKTsKCmV4dGVy
biBCb29sIENyZWF0ZUdDcGVyRGVwdGgoCgogICAgaW50CgopOwoKZXh0ZXJuIEJvb2wgQ3JlYXRl
RGVmYXVsdFN0aXBwbGUoCgogICAgaW50CgopOwoKZXh0ZXJuIHZvaWQgRnJlZURlZmF1bHRTdGlw
cGxlKAoKICAgIGludAoKKTsKCmV4dGVybiBpbnQgU2V0RGFzaGVzKAoKICAgIEdDUHRyICwKICAg
IHVuc2lnbmVkICwKICAgIHVuc2lnbmVkICwKICAgIHVuc2lnbmVkIGNoYXIqCgopOwoKZXh0ZXJu
IGludCBWZXJpZnlSZWN0T3JkZXIoCgogICAgaW50ICwKICAgIHhSZWN0YW5nbGUqICwKICAgIGlu
dAoKKTsKCmV4dGVybiBpbnQgU2V0Q2xpcFJlY3RzKAoKICAgIEdDUHRyICwKICAgIGludCAsCiAg
ICBpbnQgLAogICAgaW50ICwKICAgIHhSZWN0YW5nbGUqICwKICAgIGludAoKKTsKCmV4dGVybiBH
Q1B0ciBHZXRTY3JhdGNoR0MoCgogICAgdW5zaWduZWQgLAogICAgU2NyZWVuUHRyCgopOwoKZXh0
ZXJuIHZvaWQgRnJlZVNjcmF0Y2hHQygKCiAgICBHQ1B0cgoKKTsKIyA1NCAiLi4vLi4vLi4vLi4v
Li4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2RpeC5oIiAyCiMgMSAiLi4vLi4vLi4vLi4v
Li4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3dpbmRvdy5oIiAxCiMgNTMgIi4uLy4uLy4u
Ly4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS93aW5kb3cuaCIKIyAxICIuLi8uLi8u
Li8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvcmVnaW9uLmgiIDEKIyA1MSAiLi4v
Li4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3JlZ2lvbi5oIgojIDEgIi4u
Ly4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9yZWdpb25zdHIuaCIgMQoj
IDY3ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvcmVnaW9uc3Ry
LmgiCnR5cGVkZWYgc3RydWN0IF9SZWdEYXRhIHsKICAgIGxvbmcgc2l6ZTsKICAgIGxvbmcgbnVt
UmVjdHM7Cgp9IFJlZ0RhdGFSZWMsICpSZWdEYXRhUHRyOwoKdHlwZWRlZiBzdHJ1Y3QgX1JlZ2lv
biB7CiAgICBCb3hSZWMgZXh0ZW50czsKICAgIFJlZ0RhdGFQdHIgZGF0YTsKfSBSZWdpb25SZWMs
ICpSZWdpb25QdHI7CgpleHRlcm4gQm94UmVjIG1pRW1wdHlCb3g7CmV4dGVybiBSZWdEYXRhUmVj
IG1pRW1wdHlEYXRhOwpleHRlcm4gUmVnRGF0YVJlYyBtaUJyb2tlbkRhdGE7CiMgMjk0ICIuLi8u
Li8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvcmVnaW9uc3RyLmgiCmV4dGVy
biBSZWdpb25QdHIgbWlSZWdpb25DcmVhdGUoCgogICAgQm94UHRyICwKICAgIGludAoKKTsKCmV4
dGVybiB2b2lkIG1pUmVnaW9uSW5pdCgKCiAgICBSZWdpb25QdHIgLAogICAgQm94UHRyICwKICAg
IGludAoKKTsKCmV4dGVybiB2b2lkIG1pUmVnaW9uRGVzdHJveSgKCiAgICBSZWdpb25QdHIKCik7
CgpleHRlcm4gdm9pZCBtaVJlZ2lvblVuaW5pdCgKCiAgICBSZWdpb25QdHIKCik7CgpleHRlcm4g
Qm9vbCBtaVJlZ2lvbkNvcHkoCgogICAgUmVnaW9uUHRyICwKICAgIFJlZ2lvblB0cgoKKTsKCmV4
dGVybiBCb29sIG1pSW50ZXJzZWN0KAoKICAgIFJlZ2lvblB0ciAsCiAgICBSZWdpb25QdHIgLAog
ICAgUmVnaW9uUHRyCgopOwoKZXh0ZXJuIEJvb2wgbWlVbmlvbigKCiAgICBSZWdpb25QdHIgLAog
ICAgUmVnaW9uUHRyICwKICAgIFJlZ2lvblB0cgoKKTsKCmV4dGVybiBCb29sIG1pUmVnaW9uQXBw
ZW5kKAoKICAgIFJlZ2lvblB0ciAsCiAgICBSZWdpb25QdHIKCik7CgpleHRlcm4gQm9vbCBtaVJl
Z2lvblZhbGlkYXRlKAoKICAgIFJlZ2lvblB0ciAsCiAgICBCb29sICoKCik7CgpleHRlcm4gUmVn
aW9uUHRyIG1pUmVjdHNUb1JlZ2lvbigKCiAgICBpbnQgLAogICAgeFJlY3RhbmdsZVB0ciAsCiAg
ICBpbnQKCik7CgpleHRlcm4gQm9vbCBtaVN1YnRyYWN0KAoKICAgIFJlZ2lvblB0ciAsCiAgICBS
ZWdpb25QdHIgLAogICAgUmVnaW9uUHRyCgopOwoKZXh0ZXJuIEJvb2wgbWlJbnZlcnNlKAoKICAg
IFJlZ2lvblB0ciAsCiAgICBSZWdpb25QdHIgLAogICAgQm94UHRyCgopOwoKZXh0ZXJuIGludCBt
aVJlY3RJbigKCiAgICBSZWdpb25QdHIgLAogICAgQm94UHRyCgopOwoKZXh0ZXJuIHZvaWQgbWlU
cmFuc2xhdGVSZWdpb24oCgogICAgUmVnaW9uUHRyICwKICAgIGludCAsCiAgICBpbnQKCik7Cgpl
eHRlcm4gdm9pZCBtaVJlZ2lvblJlc2V0KAoKICAgIFJlZ2lvblB0ciAsCiAgICBCb3hQdHIKCik7
CgpleHRlcm4gQm9vbCBtaVJlZ2lvbkJyZWFrKAoKICAgIFJlZ2lvblB0cgoKKTsKCmV4dGVybiBC
b29sIG1pUG9pbnRJblJlZ2lvbigKCiAgICBSZWdpb25QdHIgLAogICAgaW50ICwKICAgIGludCAs
CiAgICBCb3hQdHIKCik7CgpleHRlcm4gQm9vbCBtaVJlZ2lvbk5vdEVtcHR5KAoKICAgIFJlZ2lv
blB0cgoKKTsKCmV4dGVybiB2b2lkIG1pUmVnaW9uRW1wdHkoCgogICAgUmVnaW9uUHRyCgopOwoK
ZXh0ZXJuIEJveFB0ciBtaVJlZ2lvbkV4dGVudHMoCgogICAgUmVnaW9uUHRyCgopOwojIDUyICIu
Li8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvcmVnaW9uLmgiIDIKIyA1
NCAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3dpbmRvdy5oIiAy
CiMgNzAgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS93aW5kb3cu
aCIKdHlwZWRlZiBzdHJ1Y3QgX0JhY2tpbmdTdG9yZSAqQmFja2luZ1N0b3JlUHRyOwp0eXBlZGVm
IHN0cnVjdCBfV2luZG93ICpXaW5kb3dQdHI7Cgp0eXBlZGVmIGludCAoKlZpc2l0V2luZG93UHJv
Y1B0cikoCgogICAgV2luZG93UHRyICwKICAgIHBvaW50ZXIKCik7CgpleHRlcm4gaW50IFRyYXZl
cnNlVHJlZSgKCiAgICBXaW5kb3dQdHIgLAogICAgVmlzaXRXaW5kb3dQcm9jUHRyICwKICAgIHBv
aW50ZXIKCik7CgpleHRlcm4gaW50IFdhbGtUcmVlKAoKICAgIFNjcmVlblB0ciAsCiAgICBWaXNp
dFdpbmRvd1Byb2NQdHIgLAogICAgcG9pbnRlcgoKKTsKCmV4dGVybiBXaW5kb3dQdHIgQWxsb2Nh
dGVXaW5kb3coCgogICAgU2NyZWVuUHRyCgopOwoKZXh0ZXJuIEJvb2wgQ3JlYXRlUm9vdFdpbmRv
dygKCiAgICBTY3JlZW5QdHIKCik7CgpleHRlcm4gdm9pZCBJbml0Um9vdFdpbmRvdygKCiAgICBX
aW5kb3dQdHIKCik7CgpleHRlcm4gdm9pZCBDbGlwcGVkUmVnaW9uRnJvbUJveCgKCiAgICBXaW5k
b3dQdHIgLAogICAgUmVnaW9uUHRyICwKICAgIGludCAsCiAgICBpbnQgLAogICAgaW50ICwKICAg
IGludAoKKTsKCmV4dGVybiBXaW5kb3dQdHIgUmVhbENoaWxkSGVhZCgKCiAgICBXaW5kb3dQdHIK
Cik7CgpleHRlcm4gV2luZG93UHRyIENyZWF0ZVdpbmRvdygKCiAgICBXaW5kb3cgLAogICAgV2lu
ZG93UHRyICwKICAgIGludCAsCiAgICBpbnQgLAogICAgdW5zaWduZWQgaW50ICwKICAgIHVuc2ln
bmVkIGludCAsCiAgICB1bnNpZ25lZCBpbnQgLAogICAgdW5zaWduZWQgaW50ICwKICAgIE1hc2sg
LAogICAgWElEKiAsCiAgICBpbnQgLAogICAgQ2xpZW50UHRyICwKICAgIFZpc3VhbElEICwKICAg
IGludCoKCik7CgpleHRlcm4gaW50IERlbGV0ZVdpbmRvdygKCiAgICBwb2ludGVyICwKICAgIFhJ
RAoKKTsKCmV4dGVybiB2b2lkIERlc3Ryb3lTdWJ3aW5kb3dzKAoKICAgIFdpbmRvd1B0ciAsCiAg
ICBDbGllbnRQdHIKCik7CgoKCgoKCmV4dGVybiBpbnQgQ2hhbmdlV2luZG93QXR0cmlidXRlcygK
CiAgICBXaW5kb3dQdHIgLAogICAgTWFzayAsCiAgICBYSUQqICwKICAgIENsaWVudFB0cgoKKTsK
CgoKCgoKCmV4dGVybiB2b2lkIEdldFdpbmRvd0F0dHJpYnV0ZXMoCgoKICAgIFdpbmRvd1B0ciAs
CiAgICBDbGllbnRQdHIgLAogICAgeEdldFdpbmRvd0F0dHJpYnV0ZXNSZXBseSoKCik7CgpleHRl
cm4gUmVnaW9uUHRyIENyZWF0ZVVuY2xpcHBlZFdpblNpemUoCgogICAgV2luZG93UHRyCgopOwoK
ZXh0ZXJuIHZvaWQgR3Jhdml0eVRyYW5zbGF0ZSgKCiAgICBpbnQgLAogICAgaW50ICwKICAgIGlu
dCAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIGludCAsCiAgICB1bnNpZ25lZCAsCiAgICBpbnQq
ICwKICAgIGludCoKCik7CgpleHRlcm4gaW50IENvbmZpZ3VyZVdpbmRvdygKCiAgICBXaW5kb3dQ
dHIgLAogICAgTWFzayAsCiAgICBYSUQqICwKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiBpbnQg
Q2lyY3VsYXRlV2luZG93KAoKICAgIFdpbmRvd1B0ciAsCiAgICBpbnQgLAogICAgQ2xpZW50UHRy
CgopOwoKZXh0ZXJuIGludCBSZXBhcmVudFdpbmRvdygKCiAgICBXaW5kb3dQdHIgLAogICAgV2lu
ZG93UHRyICwKICAgIGludCAsCiAgICBpbnQgLAogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIGlu
dCBNYXBXaW5kb3coCgogICAgV2luZG93UHRyICwKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiB2
b2lkIE1hcFN1YndpbmRvd3MoCgogICAgV2luZG93UHRyICwKICAgIENsaWVudFB0cgoKKTsKCmV4
dGVybiBpbnQgVW5tYXBXaW5kb3coCgogICAgV2luZG93UHRyICwKICAgIEJvb2wKCik7CgpleHRl
cm4gdm9pZCBVbm1hcFN1YndpbmRvd3MoCgogICAgV2luZG93UHRyCgopOwoKZXh0ZXJuIHZvaWQg
SGFuZGxlU2F2ZVNldCgKCiAgICBDbGllbnRQdHIKCik7CgpleHRlcm4gQm9vbCBWaXNpYmxlQm91
bmRpbmdCb3hGcm9tUG9pbnQoCgogICAgV2luZG93UHRyICwKICAgIGludCAsCiAgICBpbnQgLAog
ICAgQm94UHRyCgopOwoKZXh0ZXJuIEJvb2wgUG9pbnRJbldpbmRvd0lzVmlzaWJsZSgKCiAgICBX
aW5kb3dQdHIgLAogICAgaW50ICwKICAgIGludAoKKTsKCmV4dGVybiBSZWdpb25QdHIgTm90Q2xp
cHBlZEJ5Q2hpbGRyZW4oCgogICAgV2luZG93UHRyCgopOwoKZXh0ZXJuIHZvaWQgU2VuZFZpc2li
aWxpdHlOb3RpZnkoCgogICAgV2luZG93UHRyCgopOwoKZXh0ZXJuIHZvaWQgU2F2ZVNjcmVlbnMo
CgogICAgaW50ICwKICAgIGludAoKKTsKCmV4dGVybiBXaW5kb3dQdHIgRmluZFdpbmRvd1dpdGhP
cHRpb25hbCgKCiAgICBXaW5kb3dQdHIKCik7CgpleHRlcm4gdm9pZCBDaGVja1dpbmRvd09wdGlv
bmFsTmVlZCgKCiAgICBXaW5kb3dQdHIKCik7CgpleHRlcm4gQm9vbCBNYWtlV2luZG93T3B0aW9u
YWwoCgogICAgV2luZG93UHRyCgopOwoKZXh0ZXJuIHZvaWQgRGlzcG9zZVdpbmRvd09wdGlvbmFs
KAoKICAgIFdpbmRvd1B0cgoKKTsKCmV4dGVybiBXaW5kb3dQdHIgTW92ZVdpbmRvd0luU3RhY2so
CgogICAgV2luZG93UHRyICwKICAgIFdpbmRvd1B0cgoKKTsKCnZvaWQgU2V0V2luU2l6ZSgKCiAg
ICBXaW5kb3dQdHIKCik7Cgp2b2lkIFNldEJvcmRlclNpemUoCgogICAgV2luZG93UHRyCgopOwoK
dm9pZCBSZXNpemVDaGlsZHJlbldpblNpemUoCgogICAgV2luZG93UHRyICwKICAgIGludCAsCiAg
ICBpbnQgLAogICAgaW50ICwKICAgIGludAoKKTsKIyA1NSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJv
Z3JhbXMvWHNlcnZlci9pbmNsdWRlL2RpeC5oIiAyCiMgMSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJv
Z3JhbXMvWHNlcnZlci9pbmNsdWRlL2lucHV0LmgiIDEKIyA4MSAiLi4vLi4vLi4vLi4vLi4vLi4v
cHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2lucHV0LmgiCnR5cGVkZWYgdW5zaWduZWQgbG9uZyBM
ZWRzOwp0eXBlZGVmIHN0cnVjdCBfT3RoZXJDbGllbnRzICpPdGhlckNsaWVudHNQdHI7CnR5cGVk
ZWYgc3RydWN0IF9JbnB1dENsaWVudHMgKklucHV0Q2xpZW50c1B0cjsKdHlwZWRlZiBzdHJ1Y3Qg
X0RldmljZUludFJlYyAqRGV2aWNlSW50UHRyOwoKdHlwZWRlZiBpbnQgKCpEZXZpY2VQcm9jKSgK
CiAgICBEZXZpY2VJbnRQdHIgLAogICAgaW50CgopOwoKdHlwZWRlZiB2b2lkICgqUHJvY2Vzc0lu
cHV0UHJvYykoCgogICAgeEV2ZW50UHRyICwKICAgIERldmljZUludFB0ciAsCiAgICBpbnQKCik7
Cgp0eXBlZGVmIHN0cnVjdCBfRGV2aWNlUmVjIHsKICAgIHBvaW50ZXIgZGV2aWNlUHJpdmF0ZTsK
ICAgIFByb2Nlc3NJbnB1dFByb2MgcHJvY2Vzc0lucHV0UHJvYzsKICAgIFByb2Nlc3NJbnB1dFBy
b2MgcmVhbElucHV0UHJvYzsKICAgIFByb2Nlc3NJbnB1dFByb2MgZW5xdWV1ZUlucHV0UHJvYzsK
ICAgIEJvb2wgb247Cn0gRGV2aWNlUmVjLCAqRGV2aWNlUHRyOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgaW50IGNsaWNrLCBiZWxsLCBiZWxsX3BpdGNoLCBiZWxsX2R1cmF0aW9uOwogICAgQm9vbCBh
dXRvUmVwZWF0OwogICAgdW5zaWduZWQgY2hhciBhdXRvUmVwZWF0c1szMl07CiAgICBMZWRzIGxl
ZHM7CiAgICB1bnNpZ25lZCBjaGFyIGlkOwp9IEtleWJkQ3RybDsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIEtleVN5bSAqbWFwOwogICAgS2V5Q29kZSBtaW5LZXlDb2RlLAogICAgICAgICAgICBtYXhL
ZXlDb2RlOwogICAgaW50IG1hcFdpZHRoOwp9IEtleVN5bXNSZWMsICpLZXlTeW1zUHRyOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgaW50IG51bSwgZGVuLCB0aHJlc2hvbGQ7CiAgICB1bnNpZ25lZCBj
aGFyIGlkOwp9IFB0ckN0cmw7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBpbnQgcmVzb2x1dGlvbiwg
bWluX3ZhbHVlLCBtYXhfdmFsdWU7CiAgICBpbnQgaW50ZWdlcl9kaXNwbGF5ZWQ7CiAgICB1bnNp
Z25lZCBjaGFyIGlkOwp9IEludGVnZXJDdHJsOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgaW50IG1h
eF9zeW1ib2xzLCBudW1fc3ltYm9sc19zdXBwb3J0ZWQ7CiAgICBpbnQgbnVtX3N5bWJvbHNfZGlz
cGxheWVkOwogICAgS2V5U3ltICpzeW1ib2xzX3N1cHBvcnRlZDsKICAgIEtleVN5bSAqc3ltYm9s
c19kaXNwbGF5ZWQ7CiAgICB1bnNpZ25lZCBjaGFyIGlkOwp9IFN0cmluZ0N0cmw7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBpbnQgcGVyY2VudCwgcGl0Y2gsIGR1cmF0aW9uOwogICAgdW5zaWduZWQg
Y2hhciBpZDsKfSBCZWxsQ3RybDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIExlZHMgbGVkX3ZhbHVl
czsKICAgIE1hc2sgbGVkX21hc2s7CiAgICB1bnNpZ25lZCBjaGFyIGlkOwp9IExlZEN0cmw7Cgpl
eHRlcm4gS2V5YmRDdHJsIGRlZmF1bHRLZXlib2FyZENvbnRyb2w7CmV4dGVybiBQdHJDdHJsIGRl
ZmF1bHRQb2ludGVyQ29udHJvbDsKCgpleHRlcm4gRGV2aWNlUHRyIEFkZElucHV0RGV2aWNlKAoK
ICAgIERldmljZVByb2MgLAogICAgQm9vbAoKKTsKCgoKCmV4dGVybiBEZXZpY2VJbnRQdHIgX0Fk
ZElucHV0RGV2aWNlKAoKICAgIERldmljZVByb2MgLAogICAgQm9vbAoKKTsKCmV4dGVybiBCb29s
IEVuYWJsZURldmljZSgKCiAgICBEZXZpY2VJbnRQdHIKCik7CgpleHRlcm4gQm9vbCBEaXNhYmxl
RGV2aWNlKAoKICAgIERldmljZUludFB0cgoKKTsKCmV4dGVybiBpbnQgSW5pdEFuZFN0YXJ0RGV2
aWNlcygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgQ2xvc2VEb3duRGV2aWNlcygKCiAgICB2
b2lkCgopOwoKZXh0ZXJuIHZvaWQgUmVtb3ZlRGV2aWNlKAoKICAgIERldmljZUludFB0cgoKKTsK
CmV4dGVybiBpbnQgTnVtTW90aW9uRXZlbnRzKAoKICAgIHZvaWQKCik7CgoKZXh0ZXJuIHZvaWQg
UmVnaXN0ZXJQb2ludGVyRGV2aWNlKAoKICAgIERldmljZVB0cgoKKTsKCgoKCmV4dGVybiB2b2lk
IF9SZWdpc3RlclBvaW50ZXJEZXZpY2UoCgogICAgRGV2aWNlSW50UHRyCgopOwoKCmV4dGVybiB2
b2lkIFJlZ2lzdGVyS2V5Ym9hcmREZXZpY2UoCgogICAgRGV2aWNlUHRyCgopOwoKCgoKZXh0ZXJu
IHZvaWQgX1JlZ2lzdGVyS2V5Ym9hcmREZXZpY2UoCgogICAgRGV2aWNlSW50UHRyCgopOwoKZXh0
ZXJuIERldmljZVB0ciBMb29rdXBLZXlib2FyZERldmljZSgKCiAgICB2b2lkCgopOwoKZXh0ZXJu
IERldmljZVB0ciBMb29rdXBQb2ludGVyRGV2aWNlKAoKICAgIHZvaWQKCik7CgpleHRlcm4gRGV2
aWNlUHRyIExvb2t1cERldmljZSgKCiAgICBpbnQKCik7CgpleHRlcm4gdm9pZCBRdWVyeU1pbk1h
eEtleUNvZGVzKAoKICAgIEtleUNvZGUqICwKICAgIEtleUNvZGUqCgopOwoKZXh0ZXJuIEJvb2wg
U2V0S2V5U3ltc01hcCgKCiAgICBLZXlTeW1zUHRyICwKICAgIEtleVN5bXNQdHIKCik7CgpleHRl
cm4gQm9vbCBJbml0S2V5Q2xhc3NEZXZpY2VTdHJ1Y3QoCgogICAgRGV2aWNlSW50UHRyICwKICAg
IEtleVN5bXNQdHIgLAogICAgQ0FSRDggW10KCik7CgpleHRlcm4gQm9vbCBJbml0QnV0dG9uQ2xh
c3NEZXZpY2VTdHJ1Y3QoCgogICAgRGV2aWNlSW50UHRyICwKICAgIGludCAsCiAgICBDQVJEOCoK
Cik7Cgp0eXBlZGVmIGludCAoKlZhbHVhdG9yTW90aW9uUHJvY1B0cikoCgogICAgICAgICAgICAg
ICAgRGV2aWNlSW50UHRyICwKICAgICAgICAgICAgICAgIHhUaW1lY29vcmQgKiAsCiAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBsb25nICwKICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgLAog
ICAgICAgICAgICAgICAgU2NyZWVuUHRyCgopOwoKZXh0ZXJuIEJvb2wgSW5pdFZhbHVhdG9yQ2xh
c3NEZXZpY2VTdHJ1Y3QoCgogICAgRGV2aWNlSW50UHRyICwKICAgIGludCAsCiAgICBWYWx1YXRv
ck1vdGlvblByb2NQdHIgLAogICAgaW50ICwKICAgIGludAoKKTsKCmV4dGVybiBCb29sIEluaXRG
b2N1c0NsYXNzRGV2aWNlU3RydWN0KAoKICAgIERldmljZUludFB0cgoKKTsKCnR5cGVkZWYgdm9p
ZCAoKkJlbGxQcm9jUHRyKSgKCiAgICBpbnQgLAogICAgRGV2aWNlSW50UHRyICwKICAgIHBvaW50
ZXIgLAogICAgaW50CgopOwoKdHlwZWRlZiB2b2lkICgqS2JkQ3RybFByb2NQdHIpKAoKICAgIERl
dmljZUludFB0ciAsCiAgICBLZXliZEN0cmwgKgoKKTsKCmV4dGVybiBCb29sIEluaXRLYmRGZWVk
YmFja0NsYXNzRGV2aWNlU3RydWN0KAoKICAgIERldmljZUludFB0ciAsCiAgICBCZWxsUHJvY1B0
ciAsCiAgICBLYmRDdHJsUHJvY1B0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKlB0ckN0cmxQcm9jUHRy
KSgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgUHRyQ3RybCAqCgopOwoKZXh0ZXJuIEJvb2wgSW5p
dFB0ckZlZWRiYWNrQ2xhc3NEZXZpY2VTdHJ1Y3QoCgogICAgRGV2aWNlSW50UHRyICwKICAgIFB0
ckN0cmxQcm9jUHRyCgopOwoKdHlwZWRlZiB2b2lkICgqU3RyaW5nQ3RybFByb2NQdHIpKAoKICAg
IERldmljZUludFB0ciAsCiAgICBTdHJpbmdDdHJsICoKCik7CgpleHRlcm4gQm9vbCBJbml0U3Ry
aW5nRmVlZGJhY2tDbGFzc0RldmljZVN0cnVjdCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgU3Ry
aW5nQ3RybFByb2NQdHIgLAogICAgaW50ICwKICAgIGludCAsCiAgICBLZXlTeW0qCgopOwoKdHlw
ZWRlZiB2b2lkICgqQmVsbEN0cmxQcm9jUHRyKSgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgQmVs
bEN0cmwgKgoKKTsKCmV4dGVybiBCb29sIEluaXRCZWxsRmVlZGJhY2tDbGFzc0RldmljZVN0cnVj
dCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgQmVsbFByb2NQdHIgLAogICAgQmVsbEN0cmxQcm9j
UHRyCgopOwoKdHlwZWRlZiB2b2lkICgqTGVkQ3RybFByb2NQdHIpKAoKICAgIERldmljZUludFB0
ciAsCiAgICBMZWRDdHJsICoKCik7CgpleHRlcm4gQm9vbCBJbml0TGVkRmVlZGJhY2tDbGFzc0Rl
dmljZVN0cnVjdCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgTGVkQ3RybFByb2NQdHIKCik7Cgp0
eXBlZGVmIHZvaWQgKCpJbnRlZ2VyQ3RybFByb2NQdHIpKAoKICAgIERldmljZUludFB0ciAsCiAg
ICBJbnRlZ2VyQ3RybCAqCgopOwoKCmV4dGVybiBCb29sIEluaXRJbnRlZ2VyRmVlZGJhY2tDbGFz
c0RldmljZVN0cnVjdCgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgSW50ZWdlckN0cmxQcm9jUHRy
CgopOwoKZXh0ZXJuIEJvb2wgSW5pdFBvaW50ZXJEZXZpY2VTdHJ1Y3QoCgogICAgRGV2aWNlUHRy
ICwKICAgIENBUkQ4KiAsCiAgICBpbnQgLAogICAgVmFsdWF0b3JNb3Rpb25Qcm9jUHRyICwKICAg
IFB0ckN0cmxQcm9jUHRyICwKICAgIGludAoKKTsKCmV4dGVybiBCb29sIEluaXRLZXlib2FyZERl
dmljZVN0cnVjdCgKCiAgICBEZXZpY2VQdHIgLAogICAgS2V5U3ltc1B0ciAsCiAgICBDQVJEOCBb
XSwKICAgIEJlbGxQcm9jUHRyICwKICAgIEtiZEN0cmxQcm9jUHRyCgopOwoKZXh0ZXJuIHZvaWQg
U2VuZE1hcHBpbmdOb3RpZnkoCgogICAgdW5zaWduZWQgaW50ICwKICAgIHVuc2lnbmVkIGludCAs
CiAgICB1bnNpZ25lZCBpbnQgLAogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIEJvb2wgQmFkRGV2
aWNlTWFwKAoKICAgIEJZVEUqICwKICAgIGludCAsCiAgICB1bnNpZ25lZCAsCiAgICB1bnNpZ25l
ZCAsCiAgICBYSUQqCgopOwoKZXh0ZXJuIEJvb2wgQWxsTW9kaWZpZXJLZXlzQXJlVXAoCgogICAg
RGV2aWNlSW50UHRyICwKICAgIENBUkQ4KiAsCiAgICBpbnQgLAogICAgQ0FSRDgqICwKICAgIGlu
dAoKKTsKCmV4dGVybiB2b2lkIE5vdGVMZWRTdGF0ZSgKCiAgICBEZXZpY2VJbnRQdHIgLAogICAg
aW50ICwKICAgIEJvb2wKCik7CgpleHRlcm4gdm9pZCBNYXliZVN0b3BIaW50KAoKICAgIERldmlj
ZUludFB0ciAsCiAgICBDbGllbnRQdHIKCik7CgpleHRlcm4gdm9pZCBQcm9jZXNzUG9pbnRlckV2
ZW50KAoKICAgIHhFdmVudFB0ciAsCiAgICBEZXZpY2VJbnRQdHIgLAogICAgaW50CgopOwoKZXh0
ZXJuIHZvaWQgUHJvY2Vzc0tleWJvYXJkRXZlbnQoCgogICAgeEV2ZW50UHRyICwKICAgIERldmlj
ZUludFB0ciAsCiAgICBpbnQKCik7CgoKZXh0ZXJuIHZvaWQgQ29yZVByb2Nlc3NQb2ludGVyRXZl
bnQoCgogICAgeEV2ZW50UHRyICwKICAgIERldmljZUludFB0ciAsCiAgICBpbnQKCik7CgpleHRl
cm4gdm9pZCBDb3JlUHJvY2Vzc0tleWJvYXJkRXZlbnQoCgogICAgeEV2ZW50UHRyICwKICAgIERl
dmljZUludFB0ciAsCiAgICBpbnQKCik7CgoKZXh0ZXJuIEJvb2wgTGVnYWxNb2RpZmllcigKCiAg
ICB1bnNpZ25lZCBpbnQgLAogICAgRGV2aWNlUHRyCgopOwoKZXh0ZXJuIHZvaWQgUHJvY2Vzc0lu
cHV0RXZlbnRzKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBJbml0SW5wdXQoCgogICAgaW50
ICwKICAgIGNoYXIgKioKCik7CiMgNTYgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2
ZXIvaW5jbHVkZS9kaXguaCIgMgojIDI4NCAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNl
cnZlci9pbmNsdWRlL2RpeC5oIgp0eXBlZGVmIHN0cnVjdCBfVGltZVN0YW1wICpUaW1lU3RhbXBQ
dHI7CgoKCgoKCnR5cGVkZWYgc3RydWN0IF9Xb3JrUXVldWUgKldvcmtRdWV1ZVB0cjsKCmV4dGVy
biBDbGllbnRQdHIgcmVxdWVzdGluZ0NsaWVudDsKZXh0ZXJuIENsaWVudFB0ciAqY2xpZW50czsK
ZXh0ZXJuIENsaWVudFB0ciBzZXJ2ZXJDbGllbnQ7CmV4dGVybiBpbnQgY3VycmVudE1heENsaWVu
dHM7Cgp0eXBlZGVmIGludCBIV0V2ZW50UXVldWVUeXBlOwp0eXBlZGVmIEhXRXZlbnRRdWV1ZVR5
cGUqIEhXRXZlbnRRdWV1ZVB0cjsKCmV4dGVybiBIV0V2ZW50UXVldWVQdHIgY2hlY2tGb3JJbnB1
dFsyXTsKCnR5cGVkZWYgc3RydWN0IF9UaW1lU3RhbXAgewogICAgQ0FSRDMyIG1vbnRoczsKICAg
IENBUkQzMiBtaWxsaXNlY29uZHM7Cn0gVGltZVN0YW1wOwoKCgpleHRlcm4gdm9pZCBTZXRJbnB1
dENoZWNrKAoKICAgIEhXRXZlbnRRdWV1ZVB0ciAsCiAgICBIV0V2ZW50UXVldWVQdHIKCik7Cgpl
eHRlcm4gdm9pZCBDbG9zZURvd25DbGllbnQoCgogICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIHZv
aWQgVXBkYXRlQ3VycmVudFRpbWUoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIFVwZGF0ZUN1
cnJlbnRUaW1lSWYoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIEluaXRTZWxlY3Rpb25zKAoK
ICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBGbHVzaENsaWVudENhY2hlcygKCiAgICBYSUQKCik7
CgpleHRlcm4gaW50IGRpeERlc3Ryb3lQaXhtYXAoCgogICAgcG9pbnRlciAsCiAgICBYSUQKCik7
CgpleHRlcm4gdm9pZCBDbG9zZURvd25SZXRhaW5lZFJlc291cmNlcygKCiAgICB2b2lkCgopOwoK
ZXh0ZXJuIHZvaWQgSW5pdENsaWVudCgKCiAgICBDbGllbnRQdHIgLAogICAgaW50ICwKICAgIHBv
aW50ZXIKCik7CgpleHRlcm4gQ2xpZW50UHRyIE5leHRBdmFpbGFibGVDbGllbnQoCgogICAgcG9p
bnRlcgoKKTsKCmV4dGVybiB2b2lkIFNlbmRFcnJvclRvQ2xpZW50KAoKICAgIENsaWVudFB0ciAs
CiAgICB1bnNpZ25lZCBpbnQgLAogICAgdW5zaWduZWQgaW50ICwKICAgIFhJRCAsCiAgICBpbnQK
Cik7CgpleHRlcm4gdm9pZCBEZWxldGVXaW5kb3dGcm9tQW55U2VsZWN0aW9ucygKCiAgICBXaW5k
b3dQdHIKCik7CgpleHRlcm4gdm9pZCBNYXJrQ2xpZW50RXhjZXB0aW9uKAoKICAgIENsaWVudFB0
cgoKKTsKCmV4dGVybiBpbnQgR2V0R2VvbWV0cnkoCgogICAgQ2xpZW50UHRyICwKICAgIHhHZXRH
ZW9tZXRyeVJlcGx5KgoKKTsKCmV4dGVybiBpbnQgU2VuZENvbm5TZXR1cCgKCiAgICBDbGllbnRQ
dHIgLAogICAgY2hhcioKCik7CgpleHRlcm4gaW50CkRvR2V0SW1hZ2UoCgogICAgQ2xpZW50UHRy
ICwKICAgIGludCAsCiAgICBEcmF3YWJsZSAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIGludCAs
CiAgICBpbnQgLAogICAgTWFzayAsCiAgICB4R2V0SW1hZ2VSZXBseSAqKgoKKTsKCgpleHRlcm4g
dm9pZCBJbmNyZW1lbnRDbGllbnRDb3VudCgKCiAgICB2b2lkCgopOwoKCgoKZXh0ZXJuIHZvaWQg
Q29weUlTT0xhdGluMUxvd2VyZWQoCgogICAgdW5zaWduZWQgY2hhciAqICwKICAgIHVuc2lnbmVk
IGNoYXIgKiAsCiAgICBpbnQKCik7CgoKCmV4dGVybiBXaW5kb3dQdHIgU2VjdXJpdHlMb29rdXBX
aW5kb3coCgogICAgWElEICwKICAgIENsaWVudFB0ciAsCiAgICBNYXNrCgopOwoKZXh0ZXJuIHBv
aW50ZXIgU2VjdXJpdHlMb29rdXBEcmF3YWJsZSgKCiAgICBYSUQgLAogICAgQ2xpZW50UHRyICwK
ICAgIE1hc2sKCik7CgpleHRlcm4gV2luZG93UHRyIExvb2t1cFdpbmRvdygKCiAgICBYSUQgLAog
ICAgQ2xpZW50UHRyCgopOwoKZXh0ZXJuIHBvaW50ZXIgTG9va3VwRHJhd2FibGUoCgogICAgWElE
ICwKICAgIENsaWVudFB0cgoKKTsKIyA0OTkgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hz
ZXJ2ZXIvaW5jbHVkZS9kaXguaCIKZXh0ZXJuIENsaWVudFB0ciBMb29rdXBDbGllbnQoCgogICAg
WElEICwKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiB2b2lkIE5vb3BEREEoCgogICAgdm9pZCAq
LAogICAgLi4uCgopOwoKZXh0ZXJuIGludCBBbHRlclNhdmVTZXRGb3JDbGllbnQoCgogICAgQ2xp
ZW50UHRyICwKICAgIFdpbmRvd1B0ciAsCiAgICB1bnNpZ25lZAoKKTsKCmV4dGVybiB2b2lkIERl
bGV0ZVdpbmRvd0Zyb21BbnlTYXZlU2V0KAoKICAgIFdpbmRvd1B0cgoKKTsKCmV4dGVybiB2b2lk
IEJsb2NrSGFuZGxlcigKCiAgICBwb2ludGVyICwKICAgIHBvaW50ZXIKCik7CgpleHRlcm4gdm9p
ZCBXYWtldXBIYW5kbGVyKAoKICAgIGludCAsCiAgICBwb2ludGVyCgopOwoKdHlwZWRlZiB2b2lk
ICgqIFdha2V1cEhhbmRsZXJQcm9jUHRyKSgKCiAgICBwb2ludGVyICwKICAgIGludCAsCiAgICBw
b2ludGVyCgopOwoKZXh0ZXJuIEJvb2wgUmVnaXN0ZXJCbG9ja0FuZFdha2V1cEhhbmRsZXJzKAoK
ICAgIEJsb2NrSGFuZGxlclByb2NQdHIgLAogICAgV2FrZXVwSGFuZGxlclByb2NQdHIgLAogICAg
cG9pbnRlcgoKKTsKCmV4dGVybiB2b2lkIFJlbW92ZUJsb2NrQW5kV2FrZXVwSGFuZGxlcnMoCgog
ICAgQmxvY2tIYW5kbGVyUHJvY1B0ciAsCiAgICBXYWtldXBIYW5kbGVyUHJvY1B0ciAsCiAgICBw
b2ludGVyCgopOwoKZXh0ZXJuIHZvaWQgSW5pdEJsb2NrQW5kV2FrZXVwSGFuZGxlcnMoCgogICAg
dm9pZAoKKTsKCmV4dGVybiB2b2lkIFByb2Nlc3NXb3JrUXVldWUoCgogICAgdm9pZAoKKTsKCmV4
dGVybiBCb29sIFF1ZXVlV29ya1Byb2MoCgogICAgQm9vbCAoKiApKAoKICAgICAgICBDbGllbnRQ
dHIgLAogICAgICAgIHBvaW50ZXIKCiAgICAgICAgKSwKICAgIENsaWVudFB0ciAsCiAgICBwb2lu
dGVyCgopOwoKdHlwZWRlZiBCb29sICgqIENsaWVudFNsZWVwUHJvY1B0cikoCgogICAgQ2xpZW50
UHRyICwKICAgIHBvaW50ZXIKCik7CgpleHRlcm4gQm9vbCBDbGllbnRTbGVlcCgKCiAgICBDbGll
bnRQdHIgLAogICAgQ2xpZW50U2xlZXBQcm9jUHRyICwKICAgIHBvaW50ZXIKCik7CgoKCmV4dGVy
biBCb29sIENsaWVudFNpZ25hbCgKCiAgICBDbGllbnRQdHIKCik7CgoKZXh0ZXJuIHZvaWQgQ2xp
ZW50V2FrZXVwKAoKICAgIENsaWVudFB0cgoKKTsKCmV4dGVybiBCb29sIENsaWVudElzQXNsZWVw
KAoKICAgIENsaWVudFB0cgoKKTsKCgoKZXh0ZXJuIEF0b20gTWFrZUF0b20oCgogICAgY2hhciAq
ICwKICAgIHVuc2lnbmVkICwKICAgIEJvb2wKCik7CgpleHRlcm4gQm9vbCBWYWxpZEF0b20oCgog
ICAgQXRvbQoKKTsKCmV4dGVybiBjaGFyICpOYW1lRm9yQXRvbSgKCiAgICBBdG9tCgopOwoKZXh0
ZXJuIHZvaWQgQXRvbUVycm9yKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBGcmVlQWxsQXRv
bXMoCgogICAgdm9pZAoKKTsKCmV4dGVybiB2b2lkIEluaXRBdG9tcygKCiAgICB2b2lkCgopOwoK
CgpleHRlcm4gdm9pZCBTZXRNYXNrRm9yRXZlbnQoCgogICAgTWFzayAsCiAgICBpbnQKCik7CgoK
ZXh0ZXJuIEJvb2wgSXNQYXJlbnQoCgogICAgV2luZG93UHRyICwKICAgIFdpbmRvd1B0cgoKKTsK
CmV4dGVybiBXaW5kb3dQdHIgR2V0Q3VycmVudFJvb3RXaW5kb3coCgogICAgdm9pZAoKKTsKCmV4
dGVybiBXaW5kb3dQdHIgR2V0U3ByaXRlV2luZG93KAoKICAgIHZvaWQKCik7CgoKZXh0ZXJuIHZv
aWQgTm90aWNlRXZlbnRUaW1lKAoKICAgIHhFdmVudFB0cgoKKTsKCmV4dGVybiB2b2lkIEVucXVl
dWVFdmVudCgKCiAgICB4RXZlbnRQdHIgLAogICAgRGV2aWNlSW50UHRyICwKICAgIGludAoKKTsK
CmV4dGVybiB2b2lkIENvbXB1dGVGcmVlemVzKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBD
aGVja0dyYWJGb3JTeW5jcygKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgQm9vbCAsCiAgICBCb29s
CgopOwoKZXh0ZXJuIHZvaWQgQWN0aXZhdGVQb2ludGVyR3JhYigKCiAgICBEZXZpY2VJbnRQdHIg
LAogICAgR3JhYlB0ciAsCiAgICBUaW1lU3RhbXAgLAogICAgQm9vbAoKKTsKCmV4dGVybiB2b2lk
IERlYWN0aXZhdGVQb2ludGVyR3JhYigKCiAgICBEZXZpY2VJbnRQdHIKCik7CgpleHRlcm4gdm9p
ZCBBY3RpdmF0ZUtleWJvYXJkR3JhYigKCiAgICBEZXZpY2VJbnRQdHIgLAogICAgR3JhYlB0ciAs
CiAgICBUaW1lU3RhbXAgLAogICAgQm9vbAoKKTsKCmV4dGVybiB2b2lkIERlYWN0aXZhdGVLZXli
b2FyZEdyYWIoCgogICAgRGV2aWNlSW50UHRyCgopOwoKZXh0ZXJuIHZvaWQgQWxsb3dTb21lKAoK
ICAgIENsaWVudFB0ciAsCiAgICBUaW1lU3RhbXAgLAogICAgRGV2aWNlSW50UHRyICwKICAgIGlu
dAoKKTsKCmV4dGVybiB2b2lkIFJlbGVhc2VBY3RpdmVHcmFicygKCkNsaWVudFB0ciBjbGllbnQK
Cik7CgpleHRlcm4gaW50IERlbGl2ZXJFdmVudHNUb1dpbmRvdygKCiAgICBXaW5kb3dQdHIgLAog
ICAgeEV2ZW50UHRyICwKICAgIGludCAsCiAgICBNYXNrICwKICAgIEdyYWJQdHIgLAogICAgaW50
CgopOwoKZXh0ZXJuIGludCBEZWxpdmVyRGV2aWNlRXZlbnRzKAoKICAgIFdpbmRvd1B0ciAsCiAg
ICB4RXZlbnRQdHIgLAogICAgR3JhYlB0ciAsCiAgICBXaW5kb3dQdHIgLAogICAgRGV2aWNlSW50
UHRyICwKICAgIGludAoKKTsKCmV4dGVybiB2b2lkIERlZmluZUluaXRpYWxSb290V2luZG93KAoK
ICAgIFdpbmRvd1B0cgoKKTsKCmV4dGVybiB2b2lkIFdpbmRvd0hhc05ld0N1cnNvcigKCiAgICBX
aW5kb3dQdHIKCik7CgpleHRlcm4gQm9vbCBDaGVja0RldmljZUdyYWJzKAoKICAgIERldmljZUlu
dFB0ciAsCiAgICB4RXZlbnRQdHIgLAogICAgaW50ICwKICAgIGludAoKKTsKCmV4dGVybiB2b2lk
IERlbGl2ZXJGb2N1c2VkRXZlbnQoCgogICAgRGV2aWNlSW50UHRyICwKICAgIHhFdmVudFB0ciAs
CiAgICBXaW5kb3dQdHIgLAogICAgaW50CgopOwoKZXh0ZXJuIHZvaWQgRGVsaXZlckdyYWJiZWRF
dmVudCgKCiAgICB4RXZlbnRQdHIgLAogICAgRGV2aWNlSW50UHRyICwKICAgIEJvb2wgLAogICAg
aW50CgopOwoKCmV4dGVybiB2b2lkIEZpeEtleVN0YXRlKAoKICAgIHhFdmVudCAqICwKICAgIERl
dmljZUludFB0cgoKKTsKCgpleHRlcm4gdm9pZCBSZWNhbGN1bGF0ZURlbGl2ZXJhYmxlRXZlbnRz
KAoKICAgIFdpbmRvd1B0cgoKKTsKCmV4dGVybiBpbnQgT3RoZXJDbGllbnRHb25lKAoKICAgIHBv
aW50ZXIgLAogICAgWElECgopOwoKZXh0ZXJuIHZvaWQgRG9Gb2N1c0V2ZW50cygKCiAgICBEZXZp
Y2VJbnRQdHIgLAogICAgV2luZG93UHRyICwKICAgIFdpbmRvd1B0ciAsCiAgICBpbnQKCik7Cgpl
eHRlcm4gaW50IFNldElucHV0Rm9jdXMoCgogICAgQ2xpZW50UHRyICwKICAgIERldmljZUludFB0
ciAsCiAgICBXaW5kb3cgLAogICAgQ0FSRDggLAogICAgVGltZSAsCiAgICBCb29sCgopOwoKZXh0
ZXJuIGludCBHcmFiRGV2aWNlKAoKICAgIENsaWVudFB0ciAsCiAgICBEZXZpY2VJbnRQdHIgLAog
ICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQgLAogICAgV2luZG93ICwKICAgIHVuc2lnbmVkICwK
ICAgIFRpbWUgLAogICAgTWFzayAsCiAgICBDQVJEOCAqCgopOwoKZXh0ZXJuIHZvaWQgSW5pdEV2
ZW50cygKCiAgICB2b2lkCgopOwoKZXh0ZXJuIHZvaWQgQ2xvc2VEb3duRXZlbnRzKHZvaWQpOwoK
ZXh0ZXJuIHZvaWQgRGVsZXRlV2luZG93RnJvbUFueUV2ZW50cygKCiAgICBXaW5kb3dQdHIgLAog
ICAgQm9vbAoKKTsKCgpleHRlcm4gTWFzayBFdmVudE1hc2tGb3JDbGllbnQoCgogICAgV2luZG93
UHRyICwKICAgIENsaWVudFB0cgoKKTsKCgoKZXh0ZXJuIGludCBEZWxpdmVyRXZlbnRzKAoKICAg
IFdpbmRvd1B0ciAsCiAgICB4RXZlbnRQdHIgLAogICAgaW50ICwKICAgIFdpbmRvd1B0cgoKKTsK
CgpleHRlcm4gdm9pZCBXcml0ZUV2ZW50c1RvQ2xpZW50KAoKICAgIENsaWVudFB0ciAsCiAgICBp
bnQgLAogICAgeEV2ZW50UHRyCgopOwoKZXh0ZXJuIGludCBUcnlDbGllbnRFdmVudHMoCgogICAg
Q2xpZW50UHRyICwKICAgIHhFdmVudFB0ciAsCiAgICBpbnQgLAogICAgTWFzayAsCiAgICBNYXNr
ICwKICAgIEdyYWJQdHIKCik7CgpleHRlcm4gdm9pZCBXaW5kb3dzUmVzdHJ1Y3R1cmVkKAoKICAg
IHZvaWQKCik7CgoKCgoKCgpleHRlcm4gdm9pZCBSZXNldENsaWVudFByaXZhdGVzKAoKICAgIHZv
aWQKCik7CgpleHRlcm4gaW50IEFsbG9jYXRlQ2xpZW50UHJpdmF0ZUluZGV4KAoKICAgIHZvaWQK
Cik7CgpleHRlcm4gQm9vbCBBbGxvY2F0ZUNsaWVudFByaXZhdGUoCgogICAgaW50ICwKICAgIHVu
c2lnbmVkCgopOwojIDk4MCAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNs
dWRlL2RpeC5oIgp0eXBlZGVmIHZvaWQgKCpDYWxsYmFja1Byb2NQdHIpICgKCiAgICBDYWxsYmFj
a0xpc3RQdHIgKiwgcG9pbnRlciwgcG9pbnRlcgoKKTsKCnR5cGVkZWYgQm9vbCAoKkFkZENhbGxi
YWNrUHJvY1B0cikgKAoKICAgIENhbGxiYWNrTGlzdFB0ciAqLCBDYWxsYmFja1Byb2NQdHIsIHBv
aW50ZXIKCik7Cgp0eXBlZGVmIEJvb2wgKCpEZWxldGVDYWxsYmFja1Byb2NQdHIpICgKCiAgICBD
YWxsYmFja0xpc3RQdHIgKiwgQ2FsbGJhY2tQcm9jUHRyLCBwb2ludGVyCgopOwoKdHlwZWRlZiB2
b2lkICgqQ2FsbENhbGxiYWNrc1Byb2NQdHIpICgKCiAgICBDYWxsYmFja0xpc3RQdHIgKiwgcG9p
bnRlcgoKKTsKCnR5cGVkZWYgdm9pZCAoKkRlbGV0ZUNhbGxiYWNrTGlzdFByb2NQdHIpICgKCiAg
ICBDYWxsYmFja0xpc3RQdHIgKgoKKTsKCnR5cGVkZWYgc3RydWN0IF9DYWxsYmFja1Byb2NzIHsK
ICAgIEFkZENhbGxiYWNrUHJvY1B0ciBBZGRDYWxsYmFjazsKICAgIERlbGV0ZUNhbGxiYWNrUHJv
Y1B0ciBEZWxldGVDYWxsYmFjazsKICAgIENhbGxDYWxsYmFja3NQcm9jUHRyIENhbGxDYWxsYmFj
a3M7CiAgICBEZWxldGVDYWxsYmFja0xpc3RQcm9jUHRyIERlbGV0ZUNhbGxiYWNrTGlzdDsKfSBD
YWxsYmFja0Z1bmNzUmVjLCAqQ2FsbGJhY2tGdW5jc1B0cjsKCmV4dGVybiBCb29sIENyZWF0ZUNh
bGxiYWNrTGlzdCgKCiAgICBDYWxsYmFja0xpc3RQdHIgKiAsCiAgICBDYWxsYmFja0Z1bmNzUHRy
CgopOwoKZXh0ZXJuIEJvb2wgQWRkQ2FsbGJhY2soCgogICAgQ2FsbGJhY2tMaXN0UHRyICogLAog
ICAgQ2FsbGJhY2tQcm9jUHRyICwKICAgIHBvaW50ZXIKCik7CgpleHRlcm4gQm9vbCBEZWxldGVD
YWxsYmFjaygKCiAgICBDYWxsYmFja0xpc3RQdHIgKiAsCiAgICBDYWxsYmFja1Byb2NQdHIgLAog
ICAgcG9pbnRlcgoKKTsKCmV4dGVybiB2b2lkIENhbGxDYWxsYmFja3MoCgogICAgQ2FsbGJhY2tM
aXN0UHRyICogLAogICAgcG9pbnRlcgoKKTsKCmV4dGVybiB2b2lkIERlbGV0ZUNhbGxiYWNrTGlz
dCgKCiAgICBDYWxsYmFja0xpc3RQdHIgKgoKKTsKCmV4dGVybiB2b2lkIEluaXRDYWxsYmFja01h
bmFnZXIoCgogICAgdm9pZAoKKTsKCgoKCgpleHRlcm4gQ2FsbGJhY2tMaXN0UHRyIFNlcnZlckdy
YWJDYWxsYmFjazsKCnR5cGVkZWYgZW51bSB7U0VSVkVSX0dSQUJCRUQsIFNFUlZFUl9VTkdSQUJC
RUQsCiAgICAgICAgICAgICAgQ0xJRU5UX1BFUlZJT1VTLCBDTElFTlRfSU1QRVJWSU9VUyB9IFNl
cnZlckdyYWJTdGF0ZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENsaWVudFB0ciBjbGllbnQ7CiAg
ICBTZXJ2ZXJHcmFiU3RhdGUgZ3JhYnN0YXRlOwp9IFNlcnZlckdyYWJJbmZvUmVjOwoKCgoKCmV4
dGVybiBDYWxsYmFja0xpc3RQdHIgRXZlbnRDYWxsYmFjazsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENsaWVudFB0ciBjbGllbnQ7CiAgICB4RXZlbnRQdHIgZXZlbnRzOwogICAgaW50IGNvdW50Owp9
IEV2ZW50SW5mb1JlYzsKCgoKCgpleHRlcm4gQ2FsbGJhY2tMaXN0UHRyIERldmljZUV2ZW50Q2Fs
bGJhY2s7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICB4RXZlbnRQdHIgZXZlbnRzOwogICAgaW50IGNv
dW50Owp9IERldmljZUV2ZW50SW5mb1JlYzsKIyA1NyAiLi4vLi4vLi4vaW5jbHVkZS9kZHBleC5o
IiAyCiMgNzUgIi4uLy4uLy4uL2luY2x1ZGUvZGRwZXguaCIKdHlwZWRlZiBjaGFyIGRkQ0hBUjsK
dHlwZWRlZiBzaG9ydCBkZFNIT1JUOwp0eXBlZGVmIGxvbmcgZGRMT05HOwp0eXBlZGVmIGZsb2F0
IGRkRkxPQVQ7Cgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgZGRVQ0hBUjsKdHlwZWRlZiB1bnNpZ25l
ZCBzaG9ydCBkZFVTSE9SVDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGRkVUxPTkc7Cgp0eXBlZGVm
IHVuc2lnbmVkIGNoYXIgKmRkUG9pbnRlcjsKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIGRkQllURTsK
dHlwZWRlZiB1bnNpZ25lZCBjaGFyIGRkQk9PTDsKIyA5NSAiLi4vLi4vLi4vaW5jbHVkZS9kZHBl
eC5oIgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgWElEIGlkOwogICAgICAgIGRkUG9pbnRlciBk
ZXZpY2VEYXRhOwp9IGRkV0tTUmVzb3VyY2U7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgWElE
IGlkOwogICAgICAgIGRkVVNIT1JUIGx1dFR5cGU7CiAgICAgICAgZGRQb2ludGVyIGRldmljZURh
dGE7Cn0gZGRMVVRSZXNvdXJjZTsKCnR5cGVkZWYgZGRXS1NSZXNvdXJjZSBkZFN0cnVjdFJlc291
cmNlOwp0eXBlZGVmIGRkV0tTUmVzb3VyY2UgZGROU1Jlc291cmNlOwp0eXBlZGVmIGRkV0tTUmVz
b3VyY2UgZGRGb250UmVzb3VyY2U7CnR5cGVkZWYgZGRXS1NSZXNvdXJjZSBkZFBNUmVzb3VyY2U7
CgoKCgoKdHlwZWRlZiBkZFdLU1Jlc291cmNlICpkaVdLU0hhbmRsZTsKdHlwZWRlZiBkZExVVFJl
c291cmNlICpkaUxVVEhhbmRsZTsKdHlwZWRlZiBkZFN0cnVjdFJlc291cmNlICpkaVN0cnVjdEhh
bmRsZTsKdHlwZWRlZiBkZE5TUmVzb3VyY2UgKmRpTlNIYW5kbGU7CnR5cGVkZWYgZGRGb250UmVz
b3VyY2UgKmRpRm9udEhhbmRsZTsKdHlwZWRlZiBkZFBNUmVzb3VyY2UgKmRpUE1IYW5kbGU7CnR5
cGVkZWYgZGRQb2ludGVyIGRpUmVzb3VyY2VIYW5kbGU7CgoKCnR5cGVkZWYgZGRVTE9ORyBkZEJp
dG1hc2s7CnR5cGVkZWYgZGRVU0hPUlQgZGRCaXRtYXNrU2hvcnQ7CnR5cGVkZWYgZGRTSE9SVCBk
ZEVudW1UeXBlSW5kZXg7CnR5cGVkZWYgWElEIGRkUmVzb3VyY2VJZDsKdHlwZWRlZiBkZEJZVEUg
ZGRTd2l0Y2g7CnR5cGVkZWYgZGRVU0hPUlQgZGRUYWJsZUluZGV4OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgZGRGTE9BVCB4OwogICAgZGRGTE9BVCB5Owp9IGRkVmVjdG9yMkQ7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBkZEZMT0FUIHg7CiAgICBkZEZMT0FUIHk7CiAgICBkZEZMT0FUIHo7Cn0gZGRW
ZWN0b3IzRDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkRkxPQVQgeDsKICAgIGRkRkxPQVQgeTsK
fSBkZENvb3JkMkQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZExPTkcgeDsKICAgIGRkTE9ORyB5
Owp9IGRkQ29vcmQyREw7Cgp0eXBlZGVmIHhQb2ludCBkZENvb3JkMkRTOwoKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIGRkRkxPQVQgeDsKICAgIGRkRkxPQVQgeTsKICAgIGRkRkxPQVQgejsKfSBkZENv
b3JkM0Q7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZExPTkcgeDsKICAgIGRkTE9ORyB5OwogICAg
ZGRMT05HIHo7Cn0gZGRDb29yZDNETDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkU0hPUlQgeDsK
ICAgIGRkU0hPUlQgeTsKICAgIGRkU0hPUlQgejsKfSBkZENvb3JkM0RTOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgZGRGTE9BVCB4OwogICAgZGRGTE9BVCB5OwogICAgZGRGTE9BVCB6OwogICAgZGRG
TE9BVCB3Owp9IGRkQ29vcmQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFNIT1JUIHg7
CiAgICAgICAgZGRTSE9SVCB5OwogICAgICAgIGRkRkxPQVQgejsKfSBkZERldmljZUNvb3JkOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkU0hPUlQgeG1pbjsKICAgICAgICBkZFNIT1JUIHlt
aW47CiAgICAgICAgZGRTSE9SVCB4bWF4OwogICAgICAgIGRkU0hPUlQgeW1heDsKfSBkZERldmlj
ZVJlY3Q7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRGTE9BVCB4bWluOwogICAgICAgIGRk
RkxPQVQgeW1pbjsKICAgICAgICBkZEZMT0FUIHptaW47CiAgICAgICAgZGRGTE9BVCB3bWluOwog
ICAgICAgIGRkRkxPQVQgeG1heDsKICAgICAgICBkZEZMT0FUIHltYXg7CiAgICAgICAgZGRGTE9B
VCB6bWF4OwogICAgICAgIGRkRkxPQVQgd21heDsKfSBkZExpc3RCb3VuZHM7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBkZFNIT1JUIGFwcHJveE1ldGhvZDsKICAgIGRkVVNIT1JUIHVudXNlZDsKICAg
IGRkRkxPQVQgdG9sZXJhbmNlOwp9IGRkQ3VydmVBcHByb3g7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBkZFNIT1JUIGFwcHJveE1ldGhvZDsKICAgIGRkVVNIT1JUIHVudXNlZDsKICAgIGRkRkxPQVQg
dVRvbGVyYW5jZTsKICAgIGRkRkxPQVQgdlRvbGVyYW5jZTsKfSBkZFN1cmZhY2VBcHByb3g7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBkZFVTSE9SVCB2ZXJ0aWNhbDsKICAgIGRkVVNIT1JUIGhvcml6
b250YWw7Cn0gZGRUZXh0QWxpZ25tZW50RGF0YTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkRGV2
aWNlQ29vcmQgbWludmFsOwogICAgZGREZXZpY2VDb29yZCBtYXh2YWw7CiAgICBkZFVDSEFSIHVz
ZURyYXdhYmxlOwogICAgZGRCWVRFIHBhZFszXTsKfSBkZFZpZXdwb3J0OwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgZGRDb29yZDJEUyBwb3NpdGlvbjsKICAgIGRkRkxPQVQgZGlzdGFuY2U7Cn0gZGRE
Q19IaXRCb3g7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZENvb3JkM0QgbWludmFsOwogICAgZGRD
b29yZDNEIG1heHZhbDsKfSBkZE5wY1N1YnZvbHVtZTsKCnR5cGVkZWYgZGROcGNTdWJ2b2x1bWUg
ZGROUENfSGl0Vm9sdW1lOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVVNIT1JUIGNsaXBG
bGFnczsKICAgICAgICBkZFVTSE9SVCB1bnVzZWQ7CiAgICAgICAgZGROcGNTdWJ2b2x1bWUgY2xp
cExpbWl0czsKICAgICAgICBkZEZMT0FUIG9yaWVudGF0aW9uWzRdWzRdOwogICAgICAgIGRkRkxP
QVQgbWFwcGluZ1s0XVs0XTsKfSBkZFZpZXdFbnRyeTsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAg
ICBkZFVTSE9SVCBkZWZpbmFibGVFbnRyaWVzOwogICAgICAgIGRkVVNIT1JUIG51bVByZWRlZmlu
ZWQ7CiAgICAgICAgZGRVU0hPUlQgcHJlZGVmaW5lZE1pbjsKICAgICAgICBkZFVTSE9SVCBwcmVk
ZWZpbmVkTWF4Owp9IGRkVGFibGVJbmZvOwoKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkaVN0
cnVjdEhhbmRsZSBzdHJ1Y3R1cmU7CiAgICAgICAgZGRVTE9ORyBvZmZzZXQ7Cn0gZGRFbGVtZW50
UmVmOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0RCBvcmlnX3BvaW50OwogICAg
ICAgIGRkQ29vcmQ0RCBwb2ludDsKICAgICAgICBkZFZlY3RvcjNEIG9yaWdfdmVjdG9yOwogICAg
ICAgIGRkVmVjdG9yM0QgdmVjdG9yOwogICAgICAgIGRkRkxPQVQgZGlzdDsKfSBkZEhhbGZTcGFj
ZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkaVN0cnVjdEhhbmRsZSBzdHJ1Y3R1cmU7CiAg
ICAgICAgZGRVTE9ORyBvZmZzZXQ7CiAgICAgICAgZGRVTE9ORyBwaWNraWQ7Cn0gZGRQaWNrUGF0
aDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkVUxPTkcgc2lkOwogICAgZGRVTE9ORyBvZmZzZXQ7
CiAgICBkZFVMT05HIHBpY2tpZDsKfSBkZFBpY2tFbGVtZW50UmVmOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgICBkZFVTSE9SVCBwaWNrVHlwZTsKICAgICAgdW5pb24gewogICAgICAgICAgZGREQ19I
aXRCb3ggRENfSGl0Qm94OwogICAgICAgICAgZGROUENfSGl0Vm9sdW1lIE5QQ19IaXRWb2x1bWU7
CiAgICAgIH0gaGl0X2JveDsKfSBkZFBpY2tSZWNvcmQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAg
ICAgZGRVU0hPUlQgZWxlbWVudFR5cGU7CiAgICAgICAgZGRVU0hPUlQgbGVuZ3RoOwp9IGRkRWxl
bWVudEluZm87CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRGTE9BVCByZWQ7CiAgICBkZEZMT0FU
IGdyZWVuOwogICAgZGRGTE9BVCBibHVlOwp9IGRkUmdiRmxvYXRDb2xvdXI7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBkZEZMT0FUIGh1ZTsKICAgIGRkRkxPQVQgc2F0dXJhdGlvbjsKICAgIGRkRkxP
QVQgdmFsdWU7Cn0gZGRIc3ZDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZEZMT0FUIGh1
ZTsKICAgIGRkRkxPQVQgbGlnaHRuZXNzOwogICAgZGRGTE9BVCBzYXR1cmF0aW9uOwp9IGRkSGxz
Q29sb3VyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRGTE9BVCB4OwogICAgZGRGTE9BVCB5Owog
ICAgZGRGTE9BVCB6Owp9IGRkQ2llQ29sb3VyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRVQ0hB
UiByZWQ7CiAgICBkZFVDSEFSIGdyZWVuOwogICAgZGRVQ0hBUiBibHVlOwogICAgZGRVQ0hBUiBw
YWQ7Cn0gZGRSZ2I4Q29sb3VyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRVU0hPUlQgcmVkOwog
ICAgZGRVU0hPUlQgZ3JlZW47CiAgICBkZFVTSE9SVCBibHVlOwogICAgZGRVU0hPUlQgcGFkOwp9
IGRkUmdiMTZDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZFVTSE9SVCBpbmRleDsKICAg
IGRkVVNIT1JUIHBhZDsKfSBkZEluZGV4ZWRDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBk
ZFNIT1JUIGNvbG91clR5cGU7CiAgICBkZFNIT1JUIHVudXNlZDsKICAgIHVuaW9uIHsKICAgICAg
ICBkZEluZGV4ZWRDb2xvdXIgaW5kZXhlZDsKICAgICAgICBkZFJnYjhDb2xvdXIgcmdiODsKICAg
ICAgICBkZFJnYjE2Q29sb3VyIHJnYjE2OwogICAgICAgIGRkUmdiRmxvYXRDb2xvdXIgcmdiRmxv
YXQ7CiAgICAgICAgZGRDaWVDb2xvdXIgY2llRmxvYXQ7CiAgICAgICAgZGRIbHNDb2xvdXIgaGxz
RmxvYXQ7CiAgICAgICAgZGRIc3ZDb2xvdXIgaHN2RmxvYXQ7CiAgICB9IGNvbG91cjsKfSBkZENv
bG91clNwZWNpZmllcjsKCnR5cGVkZWYgdW5pb24gewogICAgICAgIGRkUmdiOENvbG91ciByZ2I4
OwogICAgICAgIGRkUmdiMTZDb2xvdXIgcmdiMTY7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBy
Z2JGbG9hdDsKICAgICAgICBkZENpZUNvbG91ciBjaWVGbG9hdDsKICAgICAgICBkZEhsc0NvbG91
ciBobHNGbG9hdDsKICAgICAgICBkZEhzdkNvbG91ciBoc3ZGbG9hdDsKfSBkZERpcmVjdENvbG91
cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkRkxPQVQgYW1iaWVudDsKICAgIGRkRkxPQVQgZGlm
ZnVzZTsKICAgIGRkRkxPQVQgc3BlY3VsYXI7CiAgICBkZEZMT0FUIHNwZWN1bGFyQ29uYzsKICAg
IGRkRkxPQVQgdHJhbnNtaXNzaW9uOwogICAgZGRDb2xvdXJTcGVjaWZpZXIgc3BlY3VsYXJDb2xv
dXI7Cn0gZGRSZWZsZWN0aW9uQXR0cjsKCgoKCnR5cGVkZWYgaW50IGRkcGV4NHJ0bjsKdHlwZWRl
ZiBpbnQgZGRwZXg0M3J0bjsKdHlwZWRlZiBpbnQgZGRwZXgzcnRuOwp0eXBlZGVmIGludCBkZHBl
eDJydG47CnR5cGVkZWYgaW50IGRkcGV4MXJ0bjsKIyAzOTggIi4uLy4uLy4uL2luY2x1ZGUvZGRw
ZXguaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRVTE9ORyBidWZTaXplOwogICAgZGRVTE9ORyBk
YXRhU2l6ZTsKICAgIGRkUG9pbnRlciBwQnVmOwogICAgZGRQb2ludGVyIHBIZWFkOwp9IGRkQnVm
ZmVyLCAqZGRCdWZmZXJQdHI7CiMgNDE2ICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4LmgiCnR5cGVk
ZWYgZW51bSB7CiAgICAgICAgRERfRUxFTUVOVF9SRUY9MCwKICAgICAgICBERF9IQUxGX1NQQUNF
PTEsCiAgICAgICAgRERfUElDS19QQVRIPTIsCiAgICAgICAgRERfUkVOREVSRVI9MywKICAgICAg
ICBERF9XS1M9NCwKICAgICAgICBERF9OUz01LAogICAgICAgIEREX1NUUlVDVD02LAogICAgICAg
IEREX0RFVklDRV9SRUNUPTcsCiAgICAgICAgRERfTkFNRT04LAogICAgICAgIEREX0lOREVYPTks
CiAgICAgICAgRERfTElTVF9PRl9MSVNUPTEwLAogICAgICAgIEREX05VTV9UWVBFUz0xMQp9IGRk
TGlzdFR5cGU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRMaXN0VHlwZSB0eXBlOwogICAg
ICAgIGRkTE9ORyBudW1PYmo7CiAgICAgICAgZGRMT05HIG1pc2M7CiAgICAgICAgZGRMT05HIG1h
eE9iajsKICAgICAgICBkZFBvaW50ZXIgcExpc3Q7CiMgNDQ2ICIuLi8uLi8uLi9pbmNsdWRlL2Rk
cGV4LmgiCn0gbGlzdG9mT2JqOwoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVU0hPUlQg
cGxhY2VtZW50VHlwZTsKICAgICAgICBkZFVTSE9SVCBudW1VY3VydmVzOwogICAgICAgIGRkVVNI
T1JUIG51bVZjdXJ2ZXM7Cn0gZGRQU0NfSXNvcGFyYW1ldHJpY0N1cnZlczsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICBkZENvb3JkM0Qgb3JpZ2luOwogICAgICAgIGRkVmVjdG9yM0QgZGlyZWN0
aW9uOwogICAgICAgIGRkVVNIT1JUIG51bWJlckludGVyc2VjdGlvbnM7CiAgICAgICAgZGRGTE9B
VCAqcFBvaW50czsKfSBkZFBTQ19MZXZlbEN1cnZlczsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAg
ICBkZEVudW1UeXBlSW5kZXggdHlwZTsKICAgICAgICB1bmlvbiB7CiAgICAgICAgICAgICAgICBj
aGFyIG5vbmU7CiAgICAgICAgICAgICAgICBjaGFyIGltcERlcDsKICAgICAgICAgICAgICAgIGRk
UFNDX0lzb3BhcmFtZXRyaWNDdXJ2ZXMgaXNvQ3VydmVzOwogICAgICAgICAgICAgICAgZGRQU0Nf
TGV2ZWxDdXJ2ZXMgbWNMZXZlbEN1cnZlczsKICAgICAgICAgICAgICAgIGRkUFNDX0xldmVsQ3Vy
dmVzIHdjTGV2ZWxDdXJ2ZXM7CiAgICAgICAgfSBkYXRhOwp9IGRkUFN1cmZhY2VDaGFyczsKCgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IG1hcmtlclR5cGU7CiAgICAg
ICAgZGRGTE9BVCBtYXJrZXJTY2FsZTsKICAgICAgICBkZENvbG91clNwZWNpZmllciBtYXJrZXJD
b2xvdXI7CiAgICAgICAgZGRVU0hPUlQgbWFya2VySW5kZXg7CiAgICAgICAgZGRVU0hPUlQgdGV4
dEZvbnQ7CiAgICAgICAgZGRVU0hPUlQgdGV4dFByZWNpc2lvbjsKICAgICAgICBkZEZMT0FUIGNo
YXJFeHBhbnNpb247CiAgICAgICAgZGRGTE9BVCBjaGFyU3BhY2luZzsKICAgICAgICBkZENvbG91
clNwZWNpZmllciB0ZXh0Q29sb3VyOwogICAgICAgIGRkRkxPQVQgY2hhckhlaWdodDsKICAgICAg
ICBkZFZlY3RvcjJEIGNoYXJVcDsKICAgICAgICBkZFVTSE9SVCB0ZXh0UGF0aDsKICAgICAgICBk
ZFRleHRBbGlnbm1lbnREYXRhIHRleHRBbGlnbm1lbnQ7CiAgICAgICAgZGRGTE9BVCBhdGV4dEhl
aWdodDsKICAgICAgICBkZFZlY3RvcjJEIGF0ZXh0VXA7CiAgICAgICAgZGRVU0hPUlQgYXRleHRQ
YXRoOwogICAgICAgIGRkVGV4dEFsaWdubWVudERhdGEgYXRleHRBbGlnbm1lbnQ7CiAgICAgICAg
ZGRFbnVtVHlwZUluZGV4IGF0ZXh0U3R5bGU7CiAgICAgICAgZGRVU0hPUlQgdGV4dEluZGV4Owog
ICAgICAgIGRkRW51bVR5cGVJbmRleCBsaW5lVHlwZTsKICAgICAgICBkZEZMT0FUIGxpbmVXaWR0
aDsKICAgICAgICBkZENvbG91clNwZWNpZmllciBsaW5lQ29sb3VyOwogICAgICAgIGRkQ3VydmVB
cHByb3ggY3VydmVBcHByb3g7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGxpbmVJbnRlcnA7CiAg
ICAgICAgZGRVU0hPUlQgbGluZUluZGV4OwogICAgICAgIGRkRW51bVR5cGVJbmRleCBpbnRTdHls
ZTsKICAgICAgICBkZFNIT1JUIGludFN0eWxlSW5kZXg7CiAgICAgICAgZGRDb2xvdXJTcGVjaWZp
ZXIgc3VyZmFjZUNvbG91cjsKICAgICAgICBkZFJlZmxlY3Rpb25BdHRyIHJlZmxBdHRyOwogICAg
ICAgIGRkRW51bVR5cGVJbmRleCByZWZsTW9kZWw7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IHN1
cmZJbnRlcnA7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGJmSW50U3R5bGU7CiAgICAgICAgZGRT
SE9SVCBiZkludFN0eWxlSW5kZXg7CiAgICAgICAgZGRDb2xvdXJTcGVjaWZpZXIgYmZTdXJmQ29s
b3VyOwogICAgICAgIGRkUmVmbGVjdGlvbkF0dHIgYmZSZWZsQXR0cjsKICAgICAgICBkZEVudW1U
eXBlSW5kZXggYmZSZWZsTW9kZWw7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGJmU3VyZkludGVy
cDsKICAgICAgICBkZFN1cmZhY2VBcHByb3ggc3VyZkFwcHJveDsKICAgICAgICBkZFVTSE9SVCBj
dWxsTW9kZTsKICAgICAgICBkZEJPT0wgZGlzdEZsYWc7CiAgICAgICAgZGRDb29yZDJEIHBhdHRl
cm5TaXplOwogICAgICAgIGRkQ29vcmQzRCBwYXR0ZXJuUmVmUHQ7CiAgICAgICAgZGRWZWN0b3Iz
RCBwYXR0ZXJuUmVmVjE7CiAgICAgICAgZGRWZWN0b3IzRCBwYXR0ZXJuUmVmVjI7CiAgICAgICAg
ZGRVU0hPUlQgaW50SW5kZXg7CiAgICAgICAgZGRVU0hPUlQgZWRnZXM7CiAgICAgICAgZGRFbnVt
VHlwZUluZGV4IGVkZ2VUeXBlOwogICAgICAgIGRkRkxPQVQgZWRnZVdpZHRoOwogICAgICAgIGRk
Q29sb3VyU3BlY2lmaWVyIGVkZ2VDb2xvdXI7CiAgICAgICAgZGRVU0hPUlQgZWRnZUluZGV4Owog
ICAgICAgIGRkRkxPQVQgbG9jYWxNYXRbNF1bNF07CiAgICAgICAgZGRGTE9BVCBnbG9iYWxNYXRb
NF1bNF07CiAgICAgICAgZGRVU0hPUlQgbW9kZWxDbGlwOwogICAgICAgIGxpc3RvZk9iaiAqbW9k
ZWxDbGlwVm9sdW1lOwogICAgICAgIGRkVVNIT1JUIHZpZXdJbmRleDsKICAgICAgICBsaXN0b2ZP
YmogKmxpZ2h0U3RhdGU7CiAgICAgICAgZGRVU0hPUlQgZGVwdGhDdWVJbmRleDsKICAgICAgICBk
ZFVTSE9SVCBjb2xvdXJBcHByb3hJbmRleDsKICAgICAgICBkZFNIT1JUIHJkckNvbG91ck1vZGVs
OwogICAgICAgIGRkUFN1cmZhY2VDaGFycyBwc2M7CiAgICAgICAgZGRVTE9ORyBhc2ZzOwogICAg
ICAgIGRkVUxPTkcgcGlja0lkOwogICAgICAgIGRkVUxPTkcgaGxoc3JUeXBlOwogICAgICAgIGRp
TlNIYW5kbGUgcEN1cnJlbnROUzsKfSBkZFBDQXR0cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAg
ICBkZFVMT05HIFBDaWQ7CiAgICAgICAgbGlzdG9mT2JqICpyZW5kUmVmczsKICAgICAgICBkZFBD
QXR0ciAqcFBDQXR0cjsKfSBkZFBDU3RyLCAqZGRQQ1B0cjsKCgoKCgoKdHlwZWRlZiBkZHBleDJy
dG4gKCpvY1RhYmxlVHlwZSkoKTsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZEJZVEUgdHlw
ZTsKICAgICAgICBkZEJZVEUgY2xhc3M7CiAgICAgICAgZGRCWVRFIGRlcHRoOwogICAgICAgIGRk
QllURSBiaXRzUGVyUGl4ZWw7CiAgICAgICAgZGRCWVRFIHJvb3REZXB0aDsKICAgICAgICBkZFVM
T05HIHJvb3RWaXN1YWw7Cn0gZGREcmF3YWJsZUluZm87Cgp0eXBlZGVmIGVudW0gewogICAgICAg
IEREX0hJR0hfSU5DTF9OUz0wLAogICAgICAgIEREX0hJR0hfRVhDTF9OUz0xLAogICAgICAgIERE
X0lOVklTX0lOQ0xfTlM9MiwKICAgICAgICBERF9JTlZJU19FWENMX05TPTMsCiAgICAgICAgRERf
UElDS19JTkNMX05TPTQsCiAgICAgICAgRERfUElDS19FWENMX05TPTUsCiAgICAgICAgRERfTUFY
X0ZJTFRFUlM9Ngp9IGRkTlNGaWx0ZXJzOwojIDU4MSAiLi4vLi4vLi4vaW5jbHVkZS9kZHBleC5o
Igp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVU0hPUlQgc3RhdGU7CiAgICAgICAgZGRVU0hP
UlQgc2VydmVyOwogICAgICAgIGRkU0hPUlQgcGlja19tZXRob2Q7CiAgICAgICAgZGRCT09MIHNl
bmRfZXZlbnQ7CiAgICAgICAgZGRVTE9ORyBtYXhfaGl0czsKICAgICAgICBkZFVMT05HIG1vcmVf
aGl0czsKICAgICAgICBDbGllbnRQdHIgY2xpZW50OwogICAgICAgIGRpU3RydWN0SGFuZGxlIHN0
ckhhbmRsZTsKICAgICAgICBkaVBNSGFuZGxlIHBzZXVkb1BNOwogICAgICAgIGxpc3RvZk9iaiAq
bGlzdDsKICAgICAgICBsaXN0b2ZPYmogKmZha2VTdHJsaXN0OwoKICAgICAgICBsaXN0b2ZPYmog
KnNJRGxpc3Q7CgoKfSBkZFJkclBpY2tTdHIsICpkZFJkclBpY2tQdHI7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICAgICAgZGRVTE9ORyByZW5kSWQ7CiAgICAgICAgZGRQQ1B0ciBwUEM7CiAgICAgICAg
ZGREcmF3YWJsZUluZm8gZHJhd0V4YW1wbGU7CiAgICAgICAgRHJhd2FibGVQdHIgcERyYXdhYmxl
OwogICAgICAgIGRkVUxPTkcgZHJhd2FibGVJZDsKICAgICAgICBsaXN0b2ZPYmogKmN1clBhdGg7
CiAgICAgICAgZGRVU0hPUlQgc3RhdGU7CiAgICAgICAgZGlMVVRIYW5kbGUgbHV0WzEyICsxXTsK
ICAgICAgICBkaU5TSGFuZGxlIG5zW0REX01BWF9GSUxURVJTXTsKICAgICAgICBkZFNIT1JUIGhs
aHNyTW9kZTsKICAgICAgICBkZE5wY1N1YnZvbHVtZSBucGNTdWJ2b2x1bWU7CiAgICAgICAgZGRW
aWV3cG9ydCB2aWV3cG9ydDsKICAgICAgICBsaXN0b2ZPYmogKmNsaXBMaXN0OwoKCgogICAgICAg
IGxpc3RvZk9iaiAqcGlja1N0YXJ0UGF0aDsKICAgICAgICBkZENvbG91clNwZWNpZmllciBiYWNr
Z3JvdW5kQ29sb3VyOwogICAgICAgIGRkQk9PTCBjbGVhckk7CiAgICAgICAgZGRCT09MIGNsZWFy
WjsKICAgICAgICBkZFVTSE9SVCBlY2hvTW9kZTsKICAgICAgICBkZENvbG91clNwZWNpZmllciBl
Y2hvQ29sb3VyOwoKICAgICAgICBkZEJpdG1hc2sgdGFibGVzTWFzazsKICAgICAgICBkZEJpdG1h
c2sgbmFtZXNldHNNYXNrOwogICAgICAgIGRkQml0bWFzayBhdHRyc01hc2s7CiAgICAgICAgZGRC
aXRtYXNrIHRhYmxlc0NoYW5nZXM7CiAgICAgICAgZGRCaXRtYXNrIG5hbWVzZXRzQ2hhbmdlczsK
ICAgICAgICBkZEJpdG1hc2sgYXR0cnNDaGFuZ2VzOwogICAgICAgIG9jVGFibGVUeXBlIGV4ZWN1
dGVPQ3NbKDEwNCArMSldOwogICAgICAgIGRkQk9PTCBpbW1lZGlhdGVNb2RlOwogICAgICAgIGRk
VVNIT1JUIHJlbmRlcl9tb2RlOwogICAgICAgIGRkUG9pbnRlciBwRERDb250ZXh0OwogICAgICAg
IGRkUmRyUGlja1N0ciBwaWNrc3RyOwp9IGRkUmVuZGVyZXJTdHIsICpkZFJlbmRlcmVyUHRyOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVUxPTkcgbnVtRWxSZWZzOwogICAgICAgIGxpc3Rv
Zk9iaiAqUGF0aDsKfSBkZEFjY1N0U3RyLCAqZGRBY2NTdFB0cjsKCgoKCgoKCnR5cGVkZWYgZW51
bSB7CiAgICAgICAgV09SS1NUQVRJT05fUkVTT1VSQ0U9MCwKICAgICAgICBTVFJVQ1RVUkVfUkVT
T1VSQ0U9MSwKICAgICAgICBQQVJFTlRfU1RSVUNUVVJFX1JFU09VUkNFPTIsCiAgICAgICAgQ0hJ
TERfU1RSVUNUVVJFX1JFU09VUkNFPTMsCiAgICAgICAgU0VBUkNIX0NPTlRFWFRfUkVTT1VSQ0U9
NCwKICAgICAgICBQSUNLX1JFU09VUkNFPTUsCiAgICAgICAgTE9PS1VQX1RBQkxFX1JFU09VUkNF
PTYsCiAgICAgICAgTkFNRV9TRVRfUkVTT1VSQ0U9NywKICAgICAgICBGT05UX1JFU09VUkNFPTgs
CiAgICAgICAgUkVOREVSRVJfUkVTT1VSQ0U9OSwKICAgICAgICBQSVBFTElORV9DT05URVhUX1JF
U09VUkNFPTEwCn0gZGRSZXNvdXJjZVR5cGU7Cgp0eXBlZGVmIGVudW0gewogICAgICAgIEFERD0w
LAogICAgICAgIFJFTU9WRT0xCn0gZGRBY3Rpb247Cgp0eXBlZGVmIGVudW0gewogICAgICAgIFhf
V0lORE9XX1JFU09VUkNFPTAsCiAgICAgICAgWF9EUkFXQUJMRV9SRVNPVVJDRT0xLAogICAgICAg
IFhfRk9OVF9SRVNPVVJDRT0yLAogICAgICAgIFhfUElYTUFQX1JFU09VUkNFPTMsCiAgICAgICAg
WF9DVVJTT1JfUkVTT1VSQ0U9NCwKICAgICAgICBYX0NPTE9STUFQX1JFU09VUkNFPTUsCiAgICAg
ICAgWF9HQ09OVEVYVF9SRVNPVVJDRT02LAogICAgICAgIFhfS0VZU1lNPTcKfSBkZFhSZXNvdXJj
ZVR5cGU7CiMgNTUgIi4uL2luY2x1ZGUvbWlSZW5kZXIuaCIgMgojIDEgIi4uLy4uLy4uL2luY2x1
ZGUvZGRwZXgzLmgiIDEKIyAzMDEgIi4uLy4uLy4uL2luY2x1ZGUvZGRwZXgzLmgiCnR5cGVkZWYg
ZGRVU0hPUlQgZGRQb2ludFR5cGU7CgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29y
ZDNEIHB0OwogICAgICAgIGRkSW5kZXhlZENvbG91ciBjb2xvdXI7Cn0gZGRJbmRleFBvaW50OwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZFJnYjhDb2xv
dXIgY29sb3VyOwp9IGRkUmdiOFBvaW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29v
cmQzRCBwdDsKICAgICAgICBkZFJnYjE2Q29sb3VyIGNvbG91cjsKfSBkZFJnYjE2UG9pbnQ7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBkZFJnYkZsb2F0
Q29sb3VyIGNvbG91cjsKfSBkZFJnYkZsb2F0UG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkUmdiRmxvYXRDb2xvdXIgY29sb3VyOwp9IGRk
UmdiRmxvYXRQb2ludDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0Owog
ICAgICAgIGRkSHN2Q29sb3VyIGNvbG91cjsKfSBkZEhzdlBvaW50MkRTOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZEhzdkNvbG91ciBjb2xvdXI7Cn0g
ZGRIc3ZQb2ludDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0OwogICAg
ICAgIGRkSGxzQ29sb3VyIGNvbG91cjsKfSBkZEhsc1BvaW50MkRTOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZEhsc0NvbG91ciBjb2xvdXI7Cn0gZGRI
bHNQb2ludDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0OwogICAgICAg
IGRkQ2llQ29sb3VyIGNvbG91cjsKfSBkZENpZVBvaW50MkRTOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZENpZUNvbG91ciBjb2xvdXI7Cn0gZGRDaWVQ
b2ludDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0OwogICAgICAgIGRk
VmVjdG9yM0Qgbm9ybWFsOwp9IGRkTm9ybWFsUG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRkTm9ybWFs
UG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBk
ZFVMT05HIGVkZ2U7Cn0gZGRFZGdlUG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAg
ZGRDb29yZDNEIHB0OwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZEVkZ2VQb2ludDsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRJbmRleGVkQ29sb3Vy
IGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZEluZGV4Tm9ybWFsUG9pbnQ7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkUmdiOENv
bG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRSZ2I4Tm9ybWFsUG9p
bnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkUmdi
MTZDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRkUmdiMTZOb3Jt
YWxQb2ludDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0OwogICAgICAg
IGRkUmdiRmxvYXRDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRk
UmdiRmxvYXROb3JtYWxQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3Jk
M0QgcHQ7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3Iz
RCBub3JtYWw7Cn0gZGRSZ2JGbG9hdE5vcm1hbFBvaW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
ICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRIc3ZDb2xvdXIgY29sb3VyOwogICAgICAgIGRk
VmVjdG9yM0Qgbm9ybWFsOwp9IGRkSHN2Tm9ybWFsUG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkSHN2Q29sb3VyIGNvbG91cjsKICAgICAg
ICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZEhzdk5vcm1hbFBvaW50OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwogICAg
ICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRkSGxzTm9ybWFsUG9pbnQyRFM7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkSGxzQ29sb3VyIGNvbG91cjsK
ICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZEhsc05vcm1hbFBvaW50OwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRDaWVDb2xvdXIgY29sb3Vy
OwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRkQ2llTm9ybWFsUG9pbnQyRFM7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkQ2llQ29sb3VyIGNv
bG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZENpZU5vcm1hbFBvaW50OwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZEluZGV4ZWRDb2xv
dXIgY29sb3VyOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZEluZGV4RWRnZVBvaW50OwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZFJnYjhDb2xvdXIg
Y29sb3VyOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZFJnYjhFZGdlUG9pbnQ7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkUmdiMTZDb2xvdXIgY29s
b3VyOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZFJnYjE2RWRnZVBvaW50OwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBj
b2xvdXI7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkUmdiRmxvYXRFZGdlUG9pbnQyRFM7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkUmdiRmxvYXRD
b2xvdXIgY29sb3VyOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZFJnYkZsb2F0RWRnZVBvaW50
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRIc3ZD
b2xvdXIgY29sb3VyOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZEhzdkVkZ2VQb2ludDJEUzsK
CnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRIc3ZDb2xv
dXIgY29sb3VyOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZEhzdkVkZ2VQb2ludDsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0OwogICAgICAgIGRkSGxzQ29sb3VyIGNv
bG91cjsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRIbHNFZGdlUG9pbnQyRFM7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkSGxzQ29sb3VyIGNvbG91
cjsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRIbHNFZGdlUG9pbnQ7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICAgICAgZGRDb29yZDJEUyBwdDsKICAgICAgICBkZENpZUNvbG91ciBjb2xvdXI7CiAg
ICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkQ2llRWRnZVBvaW50MkRTOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgICAgIGRkQ29vcmQzRCBwdDsKICAgICAgICBkZENpZUNvbG91ciBjb2xvdXI7CiAgICAg
ICAgZGRVTE9ORyBlZGdlOwp9IGRkQ2llRWRnZVBvaW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
ICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRV
TE9ORyBlZGdlOwp9IGRkTm9ybUVkZ2VQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAg
ICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9O
RyBlZGdlOwp9IGRkTm9ybUVkZ2VQb2ludDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENv
b3JkM0QgcHQ7CiAgICAgICAgZGRJbmRleGVkQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3Rv
cjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRJbmRleE5vcm1FZGdlUG9pbnQ7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkUmdiOENv
bG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBl
ZGdlOwp9IGRkUmdiOE5vcm1FZGdlUG9pbnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRD
b29yZDNEIHB0OwogICAgICAgIGRkUmdiMTZDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9y
M0Qgbm9ybWFsOwogICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZFJnYjE2Tm9ybUVkZ2VQb2ludDsK
CnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkMkRTIHB0OwogICAgICAgIGRkUmdiRmxv
YXRDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwogICAgICAgIGRkVUxP
TkcgZWRnZTsKfSBkZFJnYkZsb2F0Tm9ybUVkZ2VQb2ludDJEUzsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgICAgICBkZENvb3JkM0QgcHQ7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBjb2xvdXI7CiAg
ICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkUmdiRmxv
YXROb3JtRWRnZVBvaW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7
CiAgICAgICAgZGRIc3ZDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwog
ICAgICAgIGRkVUxPTkcgZWRnZTsKfSBkZEhzdk5vcm1FZGdlUG9pbnQyRFM7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkSHN2Q29sb3VyIGNvbG91cjsK
ICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRIc3ZO
b3JtRWRnZVBvaW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAg
ICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwogICAg
ICAgIGRkVUxPTkcgZWRnZTsKfSBkZEhsc05vcm1FZGdlUG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkSGxzQ29sb3VyIGNvbG91cjsKICAg
ICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRIbHNOb3Jt
RWRnZVBvaW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQyRFMgcHQ7CiAgICAg
ICAgZGRDaWVDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwogICAgICAg
IGRkVUxPTkcgZWRnZTsKfSBkZENpZU5vcm1FZGdlUG9pbnQyRFM7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICAgICAgZGRDb29yZDNEIHB0OwogICAgICAgIGRkQ2llQ29sb3VyIGNvbG91cjsKICAgICAg
ICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7Cn0gZGRDaWVOb3JtRWRn
ZVBvaW50OwoKCgoKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAg
ICAgZGRJbmRleGVkQ29sb3VyIGNvbG91cjsKfSBkZEluZGV4UG9pbnQ0RDsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRSZ2I4Q29sb3VyIGNvbG91cjsK
fSBkZFJnYjhQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0RCBwdDsK
ICAgICAgICBkZFJnYjE2Q29sb3VyIGNvbG91cjsKfSBkZFJnYjE2UG9pbnQ0RDsKCnR5cGVkZWYg
c3RydWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRSZ2JGbG9hdENvbG91ciBj
b2xvdXI7Cn0gZGRSZ2JGbG9hdFBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRD
b29yZDREIHB0OwogICAgICAgIGRkSHN2Q29sb3VyIGNvbG91cjsKfSBkZEhzdlBvaW50NEQ7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkSGxzQ29sb3Vy
IGNvbG91cjsKfSBkZEhsc1BvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29y
ZDREIHB0OwogICAgICAgIGRkQ2llQ29sb3VyIGNvbG91cjsKfSBkZENpZVBvaW50NEQ7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkVmVjdG9yM0Qgbm9y
bWFsOwp9IGRkTm9ybWFsUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3Jk
NEQgcHQ7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkRWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkSW5kZXhlZENvbG91ciBjb2xv
dXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRJbmRleE5vcm1hbFBvaW50NEQ7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkUmdiOENvbG91
ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRSZ2I4Tm9ybWFsUG9pbnQ0
RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENvb3JkNEQgcHQ7CiAgICAgICAgZGRSZ2Ix
NkNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRSZ2IxNk5vcm1h
bFBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAg
IGRkUmdiRmxvYXRDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwp9IGRk
UmdiRmxvYXROb3JtYWxQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0
RCBwdDsKICAgICAgICBkZEhzdkNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3Jt
YWw7Cn0gZGRIc3ZOb3JtYWxQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29v
cmQ0RCBwdDsKICAgICAgICBkZEhsc0NvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBu
b3JtYWw7Cn0gZGRIbHNOb3JtYWxQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRk
Q29vcmQ0RCBwdDsKICAgICAgICBkZENpZUNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3Iz
RCBub3JtYWw7Cn0gZGRDaWVOb3JtYWxQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZEluZGV4ZWRDb2xvdXIgY29sb3VyOwogICAgICAgIGRk
VUxPTkcgZWRnZTsKfSBkZEluZGV4RWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAg
ICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkUmdiOENvbG91ciBjb2xvdXI7CiAgICAgICAgZGRV
TE9ORyBlZGdlOwp9IGRkUmdiOEVkZ2VQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZFJnYjE2Q29sb3VyIGNvbG91cjsKICAgICAgICBkZFVM
T05HIGVkZ2U7Cn0gZGRSZ2IxNkVkZ2VQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZFJnYkZsb2F0Q29sb3VyIGNvbG91cjsKICAgICAgICBk
ZFVMT05HIGVkZ2U7Cn0gZGRSZ2JGbG9hdEVkZ2VQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgICAgIGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZEhzdkNvbG91ciBjb2xvdXI7CiAgICAgICAg
ZGRVTE9ORyBlZGdlOwp9IGRkSHN2RWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAg
ICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkSGxzQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFVM
T05HIGVkZ2U7Cn0gZGRIbHNFZGdlUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBk
ZENvb3JkNEQgcHQ7CiAgICAgICAgZGRDaWVDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVUxPTkcg
ZWRnZTsKfSBkZENpZUVkZ2VQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29v
cmQ0RCBwdDsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKICAgICAgICBkZFVMT05HIGVkZ2U7
Cn0gZGROb3JtRWRnZVBvaW50NEQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDRE
IHB0OwogICAgICAgIGRkSW5kZXhlZENvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBu
b3JtYWw7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkSW5kZXhOb3JtRWRnZVBvaW50NEQ7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkUmdiOENvbG91
ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBlZGdl
Owp9IGRkUmdiOE5vcm1FZGdlUG9pbnQ0RDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZENv
b3JkNEQgcHQ7CiAgICAgICAgZGRSZ2IxNkNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3Iz
RCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkUmdiMTZOb3JtRWRnZVBvaW50NEQ7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRDb29yZDREIHB0OwogICAgICAgIGRkUmdiRmxv
YXRDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9ybWFsOwogICAgICAgIGRkVUxP
TkcgZWRnZTsKfSBkZFJnYkZsb2F0Tm9ybUVkZ2VQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgICAgIGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZEhzdkNvbG91ciBjb2xvdXI7CiAgICAgICAg
ZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkSHN2Tm9ybUVkZ2VQ
b2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ29vcmQ0RCBwdDsKICAgICAgICBk
ZEhsc0NvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRV
TE9ORyBlZGdlOwp9IGRkSGxzTm9ybUVkZ2VQb2ludDREOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
ICAgIGRkQ29vcmQ0RCBwdDsKICAgICAgICBkZENpZUNvbG91ciBjb2xvdXI7CiAgICAgICAgZGRW
ZWN0b3IzRCBub3JtYWw7CiAgICAgICAgZGRVTE9ORyBlZGdlOwp9IGRkQ2llTm9ybUVkZ2VQb2lu
dDREOwoKdHlwZWRlZiB1bmlvbiB7CiAgICAgICAgZGRDb29yZDJEICpwMkRwdDsKICAgICAgICBk
ZENvb3JkM0QgKnAzRHB0OwogICAgICAgIGRkQ29vcmQyREwgKnAyRExwdDsKICAgICAgICBkZENv
b3JkM0RMICpwM0RMcHQ7CiAgICAgICAgZGRDb29yZDJEUyAqcDJEU3B0OwogICAgICAgIGRkQ29v
cmQzRFMgKnAzRFNwdDsKICAgICAgICBkZEluZGV4ZWRDb2xvdXIgKnBJbmRleENscjsKICAgICAg
ICBkZFJnYjhDb2xvdXIgKnBSZ2I4Q2xyOwogICAgICAgIGRkUmdiMTZDb2xvdXIgKnBSZ2IxNkNs
cjsKICAgICAgICBkZFJnYkZsb2F0Q29sb3VyICpwUmdiRmxvYXRDbHI7CiAgICAgICAgZGRIc3ZD
b2xvdXIgKnBIc3ZDbHI7CiAgICAgICAgZGRIbHNDb2xvdXIgKnBIbHNDbHI7CiAgICAgICAgZGRD
aWVDb2xvdXIgKnBDaWVDbHI7CiAgICAgICAgZGRJbmRleFBvaW50ICpwSW5kZXhwdDsKICAgICAg
ICBkZFJnYjhQb2ludCAqcFJnYjhwdDsKICAgICAgICBkZFJnYjE2UG9pbnQgKnBSZ2IxNnB0Owog
ICAgICAgIGRkUmdiRmxvYXRQb2ludCAqcFJnYkZsb2F0cHQ7CiAgICAgICAgZGRIc3ZQb2ludCAq
cEhzdnB0OwogICAgICAgIGRkSGxzUG9pbnQgKnBIbHNwdDsKICAgICAgICBkZENpZVBvaW50ICpw
Q2llcHQ7CiAgICAgICAgZGRWZWN0b3IzRCAqcE5vcm1hbDsKICAgICAgICBkZE5vcm1hbFBvaW50
ICpwTnB0OwogICAgICAgIGRkVUxPTkcgKnBFZGdlOwogICAgICAgIGRkRWRnZVBvaW50ICpwRXB0
OwogICAgICAgIGRkSW5kZXhOb3JtYWxQb2ludCAqcEluZGV4TnB0OwogICAgICAgIGRkUmdiOE5v
cm1hbFBvaW50ICpwUmdiOE5wdDsKICAgICAgICBkZFJnYjE2Tm9ybWFsUG9pbnQgKnBSZ2IxNk5w
dDsKICAgICAgICBkZFJnYkZsb2F0Tm9ybWFsUG9pbnQgKnBSZ2JGbG9hdE5wdDsKICAgICAgICBk
ZEhzdk5vcm1hbFBvaW50ICpwSHN2TnB0OwogICAgICAgIGRkSGxzTm9ybWFsUG9pbnQgKnBIbHNO
cHQ7CiAgICAgICAgZGRDaWVOb3JtYWxQb2ludCAqcENpZU5wdDsKICAgICAgICBkZEluZGV4RWRn
ZVBvaW50ICpwSW5kZXhFcHQ7CiAgICAgICAgZGRSZ2I4RWRnZVBvaW50ICpwUmdiOEVwdDsKICAg
ICAgICBkZFJnYjE2RWRnZVBvaW50ICpwUmdiMTZFcHQ7CiAgICAgICAgZGRSZ2JGbG9hdEVkZ2VQ
b2ludCAqcFJnYkZsb2F0RXB0OwogICAgICAgIGRkSHN2RWRnZVBvaW50ICpwSHN2RXB0OwogICAg
ICAgIGRkSGxzRWRnZVBvaW50ICpwSGxzRXB0OwogICAgICAgIGRkQ2llRWRnZVBvaW50ICpwQ2ll
RXB0OwogICAgICAgIGRkTm9ybUVkZ2VQb2ludCAqcE5FcHQ7CiAgICAgICAgZGRJbmRleE5vcm1F
ZGdlUG9pbnQgKnBJbmRleE5FcHQ7CiAgICAgICAgZGRSZ2I4Tm9ybUVkZ2VQb2ludCAqcFJnYjhO
RXB0OwogICAgICAgIGRkUmdiMTZOb3JtRWRnZVBvaW50ICpwUmdiMTZORXB0OwogICAgICAgIGRk
UmdiRmxvYXROb3JtRWRnZVBvaW50ICpwUmdiRmxvYXRORXB0OwogICAgICAgIGRkSHN2Tm9ybUVk
Z2VQb2ludCAqcEhzdk5FcHQ7CiAgICAgICAgZGRIbHNOb3JtRWRnZVBvaW50ICpwSGxzTkVwdDsK
ICAgICAgICBkZENpZU5vcm1FZGdlUG9pbnQgKnBDaWVORXB0OwogICAgICAgIGRkQ29vcmQ0RCAq
cDREcHQ7CiAgICAgICAgZGRJbmRleFBvaW50NEQgKnBJbmRleHB0NEQ7CiAgICAgICAgZGRSZ2I4
UG9pbnQ0RCAqcFJnYjhwdDREOwogICAgICAgIGRkUmdiMTZQb2ludDREICpwUmdiMTZwdDREOwog
ICAgICAgIGRkUmdiRmxvYXRQb2ludDREICpwUmdiRmxvYXRwdDREOwogICAgICAgIGRkSHN2UG9p
bnQ0RCAqcEhzdnB0NEQ7CiAgICAgICAgZGRIbHNQb2ludDREICpwSGxzcHQ0RDsKICAgICAgICBk
ZENpZVBvaW50NEQgKnBDaWVwdDREOwogICAgICAgIGRkTm9ybWFsUG9pbnQ0RCAqcE5wdDREOwog
ICAgICAgIGRkRWRnZVBvaW50NEQgKnBFcHQ0RDsKICAgICAgICBkZEluZGV4Tm9ybWFsUG9pbnQ0
RCAqcEluZGV4TnB0NEQ7CiAgICAgICAgZGRSZ2I4Tm9ybWFsUG9pbnQ0RCAqcFJnYjhOcHQ0RDsK
ICAgICAgICBkZFJnYjE2Tm9ybWFsUG9pbnQ0RCAqcFJnYjE2TnB0NEQ7CiAgICAgICAgZGRSZ2JG
bG9hdE5vcm1hbFBvaW50NEQgKnBSZ2JGbG9hdE5wdDREOwogICAgICAgIGRkSHN2Tm9ybWFsUG9p
bnQ0RCAqcEhzdk5wdDREOwogICAgICAgIGRkSGxzTm9ybWFsUG9pbnQ0RCAqcEhsc05wdDREOwog
ICAgICAgIGRkQ2llTm9ybWFsUG9pbnQ0RCAqcENpZU5wdDREOwogICAgICAgIGRkSW5kZXhFZGdl
UG9pbnQ0RCAqcEluZGV4RXB0NEQ7CiAgICAgICAgZGRSZ2I4RWRnZVBvaW50NEQgKnBSZ2I4RXB0
NEQ7CiAgICAgICAgZGRSZ2IxNkVkZ2VQb2ludDREICpwUmdiMTZFcHQ0RDsKICAgICAgICBkZFJn
YkZsb2F0RWRnZVBvaW50NEQgKnBSZ2JGbG9hdEVwdDREOwogICAgICAgIGRkSHN2RWRnZVBvaW50
NEQgKnBIc3ZFcHQ0RDsKICAgICAgICBkZEhsc0VkZ2VQb2ludDREICpwSGxzRXB0NEQ7CiAgICAg
ICAgZGRDaWVFZGdlUG9pbnQ0RCAqcENpZUVwdDREOwogICAgICAgIGRkTm9ybUVkZ2VQb2ludDRE
ICpwTkVwdDREOwogICAgICAgIGRkSW5kZXhOb3JtRWRnZVBvaW50NEQgKnBJbmRleE5FcHQ0RDsK
ICAgICAgICBkZFJnYjhOb3JtRWRnZVBvaW50NEQgKnBSZ2I4TkVwdDREOwogICAgICAgIGRkUmdi
MTZOb3JtRWRnZVBvaW50NEQgKnBSZ2IxNk5FcHQ0RDsKICAgICAgICBkZFJnYkZsb2F0Tm9ybUVk
Z2VQb2ludDREICpwUmdiRmxvYXRORXB0NEQ7CiAgICAgICAgZGRIc3ZOb3JtRWRnZVBvaW50NEQg
KnBIc3ZORXB0NEQ7CiAgICAgICAgZGRIbHNOb3JtRWRnZVBvaW50NEQgKnBIbHNORXB0NEQ7CiAg
ICAgICAgZGRDaWVOb3JtRWRnZVBvaW50NEQgKnBDaWVORXB0NEQ7CiAgICAgICAgY2hhciAqcHRy
Owp9IGRkUG9pbnRVbmlvbjsKCgoKCgoKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFVMT05H
IG51bVBvaW50czsKICAgICAgICBkZFVMT05HIG1heERhdGE7CiAgICAgICAgZGRQb2ludFVuaW9u
IHB0czsKfSBsaXN0b2ZkZFBvaW50OwoKCgoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRk
VUxPTkcgbnVtUG9pbnRzOwogICAgICAgIGRkVUxPTkcgbWF4RGF0YTsKICAgICAgICBkZENvb3Jk
MkQgKnB0czsKfSBNYXJrZXJsaXN0b2ZkZFBvaW50OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IGRkVVNIT1JUIG9yZGVyOwogICAgICAgIGRkRkxPQVQgdU1pbjsKICAgICAgICBkZEZMT0FUIHVN
YXg7CiAgICAgICAgZGRVTE9ORyBudW1Lbm90czsKICAgICAgICBkZEZMT0FUICpwS25vdHM7CiAg
ICAgICAgbGlzdG9mZGRQb2ludCBwb2ludHM7Cn0gZGROdXJiQ3VydmU7Cgp0eXBlZGVmIGVudW0g
ewogICAgICAgIEREX0ZBQ0VUX05PTkU9MCwKICAgICAgICBERF9GQUNFVF9JTkRFWD0xLAogICAg
ICAgIEREX0ZBQ0VUX1JHQjg9MiwKICAgICAgICBERF9GQUNFVF9SR0IxNj0zLAogICAgICAgIERE
X0ZBQ0VUX1JHQkZMT0FUPTQsCiAgICAgICAgRERfRkFDRVRfSFNWPTUsCiAgICAgICAgRERfRkFD
RVRfSExTPTYsCiAgICAgICAgRERfRkFDRVRfQ0lFPTcsCiAgICAgICAgRERfRkFDRVRfTk9STT04
LAogICAgICAgIEREX0ZBQ0VUX0lOREVYX05PUk09OSwKICAgICAgICBERF9GQUNFVF9SR0I4X05P
Uk09MTAsCiAgICAgICAgRERfRkFDRVRfUkdCMTZfTk9STT0xMSwKICAgICAgICBERF9GQUNFVF9S
R0JGTE9BVF9OT1JNPTEyLAogICAgICAgIEREX0ZBQ0VUX0hTVl9OT1JNPTEzLAogICAgICAgIERE
X0ZBQ0VUX0hMU19OT1JNPTE0LAogICAgICAgIEREX0ZBQ0VUX0NJRV9OT1JNPTE1Cn0gZGRGYWNl
dFR5cGU7CiMgOTczICIuLi8uLi8uLi9pbmNsdWRlL2RkcGV4My5oIgp0eXBlZGVmIHN0cnVjdCB7
CiAgICAgICAgZGRJbmRleGVkQ29sb3VyIGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1h
bDsKfSBkZEluZGV4Tm9ybWFsOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkUmdiOENvbG91
ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRSZ2I4Tm9ybWFsOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkUmdiMTZDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVj
dG9yM0Qgbm9ybWFsOwp9IGRkUmdiMTZOb3JtYWw7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAg
ZGRSZ2JGbG9hdENvbG91ciBjb2xvdXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRS
Z2JGbG9hdE5vcm1hbDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZEhzdkNvbG91ciBjb2xv
dXI7CiAgICAgICAgZGRWZWN0b3IzRCBub3JtYWw7Cn0gZGRIc3ZOb3JtYWw7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICAgICAgZGRIbHNDb2xvdXIgY29sb3VyOwogICAgICAgIGRkVmVjdG9yM0Qgbm9y
bWFsOwp9IGRkSGxzTm9ybWFsOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkQ2llQ29sb3Vy
IGNvbG91cjsKICAgICAgICBkZFZlY3RvcjNEIG5vcm1hbDsKfSBkZENpZU5vcm1hbDsKCnR5cGVk
ZWYgdW5pb24gewogICAgICAgIGRkUG9pbnRlciBwTm9GYWNldDsKICAgICAgICBkZEluZGV4ZWRD
b2xvdXIgKnBGYWNldEluZGV4OwogICAgICAgIGRkUmdiOENvbG91ciAqcEZhY2V0UmdiODsKICAg
ICAgICBkZFJnYjE2Q29sb3VyICpwRmFjZXRSZ2IxNjsKICAgICAgICBkZFJnYkZsb2F0Q29sb3Vy
ICpwRmFjZXRSZ2JGbG9hdDsKICAgICAgICBkZEhzdkNvbG91ciAqcEZhY2V0SHN2OwogICAgICAg
IGRkSGxzQ29sb3VyICpwRmFjZXRIbHM7CiAgICAgICAgZGRDaWVDb2xvdXIgKnBGYWNldENpZTsK
ICAgICAgICBkZFZlY3RvcjNEICpwRmFjZXROOwogICAgICAgIGRkSW5kZXhOb3JtYWwgKnBGYWNl
dEluZGV4TjsKICAgICAgICBkZFJnYjhOb3JtYWwgKnBGYWNldFJnYjhOOwogICAgICAgIGRkUmdi
MTZOb3JtYWwgKnBGYWNldFJnYjE2TjsKICAgICAgICBkZFJnYkZsb2F0Tm9ybWFsICpwRmFjZXRS
Z2JGbG9hdE47CiAgICAgICAgZGRIc3ZOb3JtYWwgKnBGYWNldEhzdk47CiAgICAgICAgZGRIbHNO
b3JtYWwgKnBGYWNldEhsc047CiAgICAgICAgZGRDaWVOb3JtYWwgKnBGYWNldENpZU47Cn0gZGRG
YWNldFVuaW9uOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkRmFjZXRUeXBlIHR5cGU7CiAg
ICAgICAgZGRVTE9ORyBudW1GYWNldHM7CiAgICAgICAgZGRVTE9ORyBtYXhEYXRhOwogICAgICAg
IGRkRmFjZXRVbmlvbiBmYWNldHM7Cn0gbGlzdG9mZGRGYWNldDsKCnR5cGVkZWYgZW51bSB7CiAg
ICAgICAgRERfVkVSVEVYPTAsCiAgICAgICAgRERfVkVSVEVYX0VER0U9MQp9IGRkVmVydEluZGV4
VHlwZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFVTSE9SVCBpbmRleDsKICAgICAgICBk
ZFVMT05HIGVkZ2U7Cn0gZGRWZXJ0SW5kZXhFZGdlOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IGRkVmVydEluZGV4VHlwZSB0eXBlOwogICAgICAgIGRkVUxPTkcgbnVtSW5kZXg7CiAgICAgICAg
dW5pb24gewogICAgICAgICAgICAgICAgZGRVU0hPUlQgKnBWZXJ0SW5kZXg7CiAgICAgICAgICAg
ICAgICBkZFZlcnRJbmRleEVkZ2UgKnBWZXJ0SW5kZXhFOwogICAgICAgIH0gaW5kZXg7Cn0gbGlz
dG9mZGRJbmRleDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFVTSE9SVCB1T3JkZXI7CiAg
ICAgICAgZGRVU0hPUlQgdk9yZGVyOwogICAgICAgIGRkRkxPQVQgdU1pbjsKICAgICAgICBkZEZM
T0FUIHVNYXg7CiAgICAgICAgZGRGTE9BVCB2TWluOwogICAgICAgIGRkRkxPQVQgdk1heDsKICAg
ICAgICBkZEZMT0FUIG1wdHM7CiAgICAgICAgZGRGTE9BVCBucHRzOwogICAgICAgIGRkVUxPTkcg
bnVtVUtub3RzOwogICAgICAgIGRkRkxPQVQgKnBVS25vdDsKICAgICAgICBkZFVMT05HIG51bVZL
bm90czsKICAgICAgICBkZEZMT0FUICpwVktub3Q7CiAgICAgICAgbGlzdG9mZGRQb2ludCBwb2lu
dHM7Cn0gZGROdXJiU3VyZmFjZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZEJZVEUgdmlz
aWJpbGl0eTsKICAgICAgICBkZFVTSE9SVCBvcmRlcjsKICAgICAgICBkZEN1cnZlQXBwcm94IGN1
cnZlQXBwcm94OwogICAgICAgIGRkRkxPQVQgdU1pbjsKICAgICAgICBkZEZMT0FUIHVNYXg7CiAg
ICAgICAgZGRVTE9ORyBudW1Lbm90czsKICAgICAgICBkZEZMT0FUICpwS25vdHM7CiAgICAgICAg
ZGRQb2ludFR5cGUgcHR0eXBlOwogICAgICAgIGxpc3RvZmRkUG9pbnQgcG9pbnRzOwp9IGRkVHJp
bUN1cnZlOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVUxPTkcgY291bnQ7CiAgICAgICAg
ZGRUcmltQ3VydmUgKnBUQzsKfSBsaXN0b2ZUcmltQ3VydmU7CgoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgICAgIGRkU0hPUlQgY29sb3VyVHlwZTsKICAgICAgICB1bmlvbiB7CiAgICAgICAgICAgICAg
ICBkZEluZGV4ZWRDb2xvdXIgKnBJbmRleDsKICAgICAgICAgICAgICAgIGRkUmdiOENvbG91ciAq
cFJnYjg7CiAgICAgICAgICAgICAgICBkZFJnYjE2Q29sb3VyICpwUmdiMTY7CiAgICAgICAgICAg
ICAgICBkZFJnYkZsb2F0Q29sb3VyICpwUmdiRmxvYXQ7CiAgICAgICAgICAgICAgICBkZEhzdkNv
bG91ciAqcEhzdjsKICAgICAgICAgICAgICAgIGRkSGxzQ29sb3VyICpwSGxzOwogICAgICAgICAg
ICAgICAgZGRDaWVDb2xvdXIgKnBDaWU7CiAgICAgICAgfSBjb2xvdXI7Cn0gbGlzdG9mQ29sb3Vy
OwojIDU2ICIuLi9pbmNsdWRlL21pUmVuZGVyLmgiIDIKIyAxICIuLi8uLi8uLi9pbmNsdWRlL2Rk
cGV4NC5oIiAxCiMgNTcgIi4uLy4uLy4uL2luY2x1ZGUvZGRwZXg0LmgiCnR5cGVkZWYgc3RydWN0
IHsKICAgICAgICBEcmF3YWJsZVB0ciBwRHJhd2FibGU7CiAgICAgICAgRHJhd2FibGUgZHJhd2Fi
bGVJZDsKICAgICAgICBkaUxVVEhhbmRsZSBwTWFya2VyTFVUOwogICAgICAgIGRpTFVUSGFuZGxl
IHBUZXh0TFVUOwogICAgICAgIGRpTFVUSGFuZGxlIHBMaW5lTFVUOwogICAgICAgIGRpTFVUSGFu
ZGxlIHBJbnRMVVQ7CiAgICAgICAgZGlMVVRIYW5kbGUgcEVkZ2VMVVQ7CiAgICAgICAgZGlMVVRI
YW5kbGUgcENvbG91ckxVVDsKICAgICAgICBkaUxVVEhhbmRsZSBwRGVwdGhDdWVMVVQ7CiAgICAg
ICAgZGlMVVRIYW5kbGUgcExpZ2h0TFVUOwogICAgICAgIGRpTFVUSGFuZGxlIHBDb2xvdXJBcHBM
VVQ7CiAgICAgICAgZGlMVVRIYW5kbGUgcFBhdHRlcm5MVVQ7CiAgICAgICAgZGlMVVRIYW5kbGUg
cEZvbnRMVVQ7CiAgICAgICAgZGlOU0hhbmRsZSBwSGlnaEluY2xTZXQ7CiAgICAgICAgZGlOU0hh
bmRsZSBwSGlnaEV4Y2xTZXQ7CiAgICAgICAgZGlOU0hhbmRsZSBwSW52aXNJbmNsU2V0OwogICAg
ICAgIGRpTlNIYW5kbGUgcEludmlzRXhjbFNldDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggYnVm
ZmVyTW9kZTsKfSBkZFdrc0luaXQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRCWVRFIHZp
ZXdSZXA7CiAgICAgICAgZGRCWVRFIG1hcmtlckJ1bmRsZTsKICAgICAgICBkZEJZVEUgdGV4dEJ1
bmRsZTsKICAgICAgICBkZEJZVEUgbGluZUJ1bmRsZTsKICAgICAgICBkZEJZVEUgaW50ZXJpb3JC
dW5kbGU7CiAgICAgICAgZGRCWVRFIGVkZ2VCdW5kbGU7CiAgICAgICAgZGRCWVRFIGNvbG91clRh
YmxlOwogICAgICAgIGRkQllURSBwYXR0ZXJuVGFibGU7CiAgICAgICAgZGRCWVRFIHdrc1RyYW5z
Zm9ybTsKICAgICAgICBkZEJZVEUgaGlnaGxpZ2h0RmlsdGVyOwogICAgICAgIGRkQllURSBpbnZp
c0ZpbHRlcjsKICAgICAgICBkZEJZVEUgaGxoc3JNb2RlOwogICAgICAgIGRkQllURSBzdHJNb2Rp
Znk7CiAgICAgICAgZGRCWVRFIHBvc3RTdHI7CiAgICAgICAgZGRCWVRFIHVucG9zdFN0cjsKICAg
ICAgICBkZEJZVEUgZGVsZXRlU3RyOwogICAgICAgIGRkQllURSByZWZNb2RpZnk7CiAgICAgICAg
ZGRCWVRFIGJ1ZmZlck1vZGlmeTsKICAgICAgICBkZEJZVEUgbGlnaHRUYWJsZTsKICAgICAgICBk
ZEJZVEUgZGVwdGhDdWVUYWJsZTsKICAgICAgICBkZEJZVEUgY29sb3VyQXBwcm94VGFibGU7Cn0g
ZGRXa3NEeW5hbWljczsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkaU5TSGFuZGxlIGluY2w7
CiAgICAgICAgZGlOU0hhbmRsZSBleGNsOwp9IGRkTlNQYWlyOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgICAgIGRkVUxPTkcgbnVtUGFpcnM7CiAgICAgICAgZGRVTE9ORyBtYXhQYWlyczsKICAgICAg
ICBkZE5TUGFpciAqcFBhaXJzOwp9IGxpc3RvZk5TUGFpcjsKCnR5cGVkZWYgc3RydWN0IHsKICAg
ICAgICBkZFVMT05HIGlkOwogICAgICAgIGRkVVNIT1JUIHN0YXR1czsKICAgICAgICBkZENvb3Jk
M0QgcG9zaXRpb247CiAgICAgICAgZGRGTE9BVCBkaXN0YW5jZTsKICAgICAgICBkZFVTSE9SVCBj
ZWlsaW5nOwogICAgICAgIGRkQk9PTCBtb2RlbENsaXBGbGFnOwogICAgICAgIGxpc3RvZk9iaiAq
c3RhcnRQYXRoOwogICAgICAgIGxpc3RvZk5TUGFpciBub3JtYWw7CiAgICAgICAgbGlzdG9mTlNQ
YWlyIGludmVydGVkOwp9IGRkU0NTdHI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRUYWJs
ZUluZGV4IGluZGV4OwogICAgICAgIGRkVVNIT1JUIHVudXNlZDsKICAgICAgICBkZFZpZXdFbnRy
eSB2aWV3Owp9IGRkVmlld1JlcDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFVTSE9SVCB3
aGVuY2U7CiAgICAgICAgZGRVU0hPUlQgdW51c2VkOwogICAgICAgIGRkTE9ORyBvZmZzZXQ7Cn0g
ZGRFbGVtZW50UG9zOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkRWxlbWVudFBvcyBwb3Np
dGlvbjE7CiAgICAgICAgZGRFbGVtZW50UG9zIHBvc2l0aW9uMjsKfSBkZEVsZW1lbnRSYW5nZTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZFNIT1JUIHg7CiAgICAgICAgZGRTSE9SVCB5Owp9
IGRkRGV2aWNlQ29vcmQyRDsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBkZERldmljZUNvb3Jk
MkQgcG9zaXRpb247CiAgICAgICAgZGRGTE9BVCBkaXN0YW5jZTsKfSBkZFBDX0RDX0hpdEJveDsK
CnR5cGVkZWYgZGROcGNTdWJ2b2x1bWUgZGRQQ19OUENfSGl0Vm9sdW1lOwojIDU3ICIuLi9pbmNs
dWRlL21pUmVuZGVyLmgiIDIKCiMgMSAiLi4vaW5jbHVkZS9taU5TLmgiIDEKIyA1NCAiLi4vaW5j
bHVkZS9taU5TLmgiCnR5cGVkZWYgZGRVTE9ORyBkZE5hbWVQaWVjZTsKdHlwZWRlZiBkZE5hbWVQ
aWVjZSAqZGROYW1lUHRyOwojIDEzMCAiLi4vaW5jbHVkZS9taU5TLmgiCnR5cGVkZWYgc3RydWN0
IF9taU5TSGVhZGVyIHsKCiAgICAgICAgbGlzdG9mT2JqICp3a3NSZWZMaXN0OwogICAgICAgIGxp
c3RvZk9iaiAqcmVuZFJlZkxpc3Q7CiAgICAgICAgZGRVTE9ORyByZWZDb3VudDsKICAgICAgICBk
ZFVMT05HIG5hbWVDb3VudDsKICAgICAgICBkZE5hbWVQaWVjZSBuYW1lc1sgKCgyNTUgLSAwICsx
KSAvIChzaXplb2YoZGROYW1lUGllY2UpICogOCkpIF07CiAgICAgICAgZGRCT09MIGZyZWVGbGFn
Owp9IG1pTlNIZWFkZXI7CiMgNTkgIi4uL2luY2x1ZGUvbWlSZW5kZXIuaCIgMgojIDEgIi4uLy4u
Ly4uL2luY2x1ZGUvUEVYcHJvdG9zdC5oIiAxCiMgNTkgIi4uLy4uLy4uL2luY2x1ZGUvUEVYcHJv
dG9zdC5oIgp0eXBlZGVmIGZsb2F0IFBFWEZMT0FUOwoKCnR5cGVkZWYgQ0FSRDMyIHBleEFzZkF0
dHJpYnV0ZTsKdHlwZWRlZiBDQVJEOCBwZXhBc2ZWYWx1ZTsKdHlwZWRlZiBDQVJEMzIgcGV4Qml0
bWFzazsKdHlwZWRlZiBDQVJEMTYgcGV4Qml0bWFza1Nob3J0Owp0eXBlZGVmIENBUkQxNiBwZXhD
b29yZFR5cGU7CnR5cGVkZWYgQ0FSRDE2IHBleENvbXBvc2l0aW9uOwp0eXBlZGVmIENBUkQxNiBw
ZXhDdWxsTW9kZTsKdHlwZWRlZiBCWVRFIHBleER5bmFtaWNUeXBlOwp0eXBlZGVmIElOVDE2IHBl
eEVudW1UeXBlSW5kZXg7CnR5cGVkZWYgWElEIHBleExvb2t1cFRhYmxlOwp0eXBlZGVmIENBUkQz
MiBwZXhOYW1lOwp0eXBlZGVmIFhJRCBwZXhOYW1lU2V0Owp0eXBlZGVmIFhJRCBwZXhQQzsKdHlw
ZWRlZiBYSUQgcGV4Rm9udDsKdHlwZWRlZiBQRVhGTE9BVCBwZXhNYXRyaXhbNF1bNF07CnR5cGVk
ZWYgUEVYRkxPQVQgcGV4TWF0cml4M1gzWzNdWzNdOwp0eXBlZGVmIFhJRCBwZXhQaGlnc1drczsK
dHlwZWRlZiBYSUQgcGV4UGlja01lYXN1cmU7CnR5cGVkZWYgWElEIHBleFJlbmRlcmVyOwp0eXBl
ZGVmIFhJRCBwZXhTQzsKdHlwZWRlZiBYSUQgcGV4U3RydWN0dXJlOwp0eXBlZGVmIENBUkQ4IHBl
eFN3aXRjaDsKdHlwZWRlZiBDQVJEMTYgcGV4VGFibGVJbmRleDsKdHlwZWRlZiBDQVJEMTYgcGV4
VGFibGVUeXBlOwp0eXBlZGVmIENBUkQxNiBwZXhUZXh0SEFsaWdubWVudDsKdHlwZWRlZiBDQVJE
MTYgcGV4VGV4dFZBbGlnbm1lbnQ7CnR5cGVkZWYgQ0FSRDE2IHBleFR5cGVPclRhYmxlSW5kZXg7
CnR5cGVkZWYgcGV4RW51bVR5cGVJbmRleCBwZXhDb2xvdXJUeXBlOwoKCnR5cGVkZWYgc3RydWN0
IHsKICAgIENBUkQxNiBsZW5ndGggOwoKfSBwZXhTdHJpbmc7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIFBFWEZMT0FUIHByaW9yaXR5Owp9IHBleFN0cnVjdHVy
ZUluZm87Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBQRVhGTE9BVCB4OwogICAgUEVYRkxPQVQgeTsK
fSBwZXhWZWN0b3IyRDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIFBFWEZMT0FUIHg7CiAgICBQRVhG
TE9BVCB5OwogICAgUEVYRkxPQVQgejsKfSBwZXhWZWN0b3IzRDsKCgoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgUEVYRkxPQVQgeDsKICAgIFBFWEZMT0FUIHk7Cn0gcGV4Q29vcmQyRDsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIFBFWEZMT0FUIHg7CiAgICBQRVhGTE9BVCB5OwogICAgUEVYRkxPQVQgejsK
fSBwZXhDb29yZDNEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgUEVYRkxPQVQgeDsKICAgIFBFWEZM
T0FUIHk7CiAgICBQRVhGTE9BVCB6OwogICAgUEVYRkxPQVQgdzsKfSBwZXhDb29yZDREOwoKCgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBQRVhGTE9BVCByZWQ7CiAgICBQRVhGTE9BVCBncmVlbjsKICAg
IFBFWEZMT0FUIGJsdWU7Cn0gcGV4UmdiRmxvYXRDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBQRVhGTE9BVCBodWU7CiAgICBQRVhGTE9BVCBzYXR1cmF0aW9uOwogICAgUEVYRkxPQVQgdmFs
dWU7Cn0gcGV4SHN2Q29sb3VyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgUEVYRkxPQVQgaHVlOwog
ICAgUEVYRkxPQVQgbGlnaHRuZXNzOwogICAgUEVYRkxPQVQgc2F0dXJhdGlvbjsKfSBwZXhIbHND
b2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBQRVhGTE9BVCB4OwogICAgUEVYRkxPQVQgeTsK
ICAgIFBFWEZMT0FUIHo7Cn0gcGV4Q2llQ29sb3VyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDggcmVkOwogICAgQ0FSRDggZ3JlZW47CiAgICBDQVJEOCBibHVlOwogICAgQ0FSRDggcGFkOwp9
IHBleFJnYjhDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMTYgcmVkIDsKICAgIENB
UkQxNiBncmVlbiA7CiAgICBDQVJEMTYgYmx1ZSA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhSZ2Ix
NkNvbG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleFRhYmxlSW5kZXggaW5kZXggOwogICAg
Q0FSRDE2IHBhZCA7Cn0gcGV4SW5kZXhlZENvbG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHVu
aW9uIHsKICAgICAgICBwZXhJbmRleGVkQ29sb3VyIGluZGV4ZWQ7CiAgICAgICAgcGV4UmdiOENv
bG91ciByZ2I4OwogICAgICAgIHBleFJnYjE2Q29sb3VyIHJnYjE2OwogICAgICAgIHBleFJnYkZs
b2F0Q29sb3VyIHJnYkZsb2F0OwogICAgICAgIHBleEhzdkNvbG91ciBoc3ZGbG9hdDsKICAgICAg
ICBwZXhIbHNDb2xvdXIgaGxzRmxvYXQ7CiAgICAgICAgcGV4Q2llQ29sb3VyIGNpZUZsb2F0Owog
ICAgfSBmb3JtYXQ7Cn0gcGV4Q29sb3VyOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgUEVYRkxPQVQg
Zmlyc3Q7CiAgICBQRVhGTE9BVCBzZWNvbmQ7CiAgICBQRVhGTE9BVCB0aGlyZDsKfSBwZXhGbG9h
dENvbG91cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleENvbG91clR5cGUgY29sb3VyVHlwZSA7
CiAgICBDQVJEMTYgdW51c2VkIDsKCn0gcGV4Q29sb3VyU3BlY2lmaWVyOwoKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIHBleEVudW1UeXBlSW5kZXggYXBwcm94TWV0aG9kIDsKICAgIENBUkQxNiB1bnVz
ZWQgOwogICAgUEVYRkxPQVQgdG9sZXJhbmNlOwp9IHBleEN1cnZlQXBwcm94OwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgSU5UMTYgeCA7CiAgICBJTlQxNiB5IDsKICAgIFBFWEZMT0FUIHo7Cn0gcGV4
RGV2aWNlQ29vcmQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBJTlQxNiB4IDsKICAgIElOVDE2IHkg
Owp9IHBleERldmljZUNvb3JkMkQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBJTlQxNiB4bWluIDsK
ICAgIElOVDE2IHltaW4gOwogICAgSU5UMTYgeG1heCA7CiAgICBJTlQxNiB5bWF4IDsKfSBwZXhE
ZXZpY2VSZWN0OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDE2IGVsZW1lbnRUeXBlIDsKICAg
IENBUkQxNiBsZW5ndGggOwp9IHBleEVsZW1lbnRJbmZvOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
Q0FSRDE2IHdoZW5jZSA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIElOVDMyIG9mZnNldCA7Cn0g
cGV4RWxlbWVudFBvczsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRQb3MgcG9zaXRp
b24xOwogICAgcGV4RWxlbWVudFBvcyBwb3NpdGlvbjI7Cn0gcGV4RWxlbWVudFJhbmdlOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgcGV4U3RydWN0dXJlIHN0cnVjdHVyZSA7CiAgICBDQVJEMzIgb2Zm
c2V0IDsKfSBwZXhFbGVtZW50UmVmOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIHBleENvb3Jk
MkQgbG93ZXJMZWZ0OwogICAgICAgIHBleENvb3JkMkQgdXBwZXJSaWdodDsKICAgICAgICBwZXhD
b29yZDJEIGNvbmNhdHBvaW50Owp9IHBleEV4dGVudEluZm87Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBwZXhFbnVtVHlwZUluZGV4IGluZGV4IDsKICAgIHBleFN0cmluZyBkZXNjcmlwdG9yOwp9IHBl
eEVudW1UeXBlRGVzYzsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleENvb3JkM0QgcG9pbnQ7CiAg
ICBwZXhWZWN0b3IzRCB2ZWN0b3I7Cn0gcGV4SGFsZlNwYWNlOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgcGV4TmFtZVNldCBpbmNsOwogICAgcGV4TmFtZVNldCBleGNsOwp9IHBleE5hbWVTZXRQYWly
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4Q29vcmQyRCBwb2ludDsKICAgIHBleFZlY3RvcjJE
IHZlY3RvcjsKfSBwZXhIYWxmU3BhY2UyRDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQxNiBj
b21wb3NpdGlvbiA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIHBleE1hdHJpeCBtYXRyaXg7Cn0g
cGV4TG9jYWxUcmFuc2Zvcm0zRERhdGE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMTYgY29t
cG9zaXRpb24gOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhNYXRyaXgzWDMgbWF0cml4Owp9
IHBleExvY2FsVHJhbnNmb3JtMkREYXRhOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4Q29vcmQz
RCBtaW52YWw7CiAgICBwZXhDb29yZDNEIG1heHZhbDsKfSBwZXhOcGNTdWJ2b2x1bWU7CiMgMzAw
ICIuLi8uLi8uLi9pbmNsdWRlL1BFWHByb3Rvc3QuaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4
U3RydWN0dXJlIHNpZCA7CiAgICBDQVJEMzIgb2Zmc2V0IDsKICAgIENBUkQzMiBwaWNraWQgOwp9
IHBleFBpY2tFbGVtZW50UmVmOwoKCgoKCgoKdHlwZWRlZiBwZXhQaWNrRWxlbWVudFJlZiBwZXhQ
aWNrUGF0aDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleFRleHRWQWxpZ25tZW50IHZlcnRpY2Fs
IDsKICAgIHBleFRleHRIQWxpZ25tZW50IGhvcml6b250YWwgOwp9IHBleFRleHRBbGlnbm1lbnRE
YXRhOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4U3dpdGNoIHZpc2liaWxpdHk7CiAgICBDQVJE
OCB1bnVzZWQ7CiAgICBDQVJEMTYgb3JkZXIgOwogICAgcGV4Q29vcmRUeXBlIHR5cGUgOwogICAg
SU5UMTYgYXBwcm94TWV0aG9kIDsKICAgIFBFWEZMT0FUIHRvbGVyYW5jZTsKICAgIFBFWEZMT0FU
IHRNaW47CiAgICBQRVhGTE9BVCB0TWF4OwogICAgQ0FSRDMyIG51bUtub3RzIDsKICAgIENBUkQz
MiBudW1Db29yZCA7CgoKfSBwZXhUcmltQ3VydmU7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCBkZXB0aDsKICAgIENBUkQ4IHVudXNlZDsKICAgIENBUkQxNiB0eXBlIDsKICAgIENBUkQzMiB2
aXN1YWxJRCA7Cn0gcGV4UmVuZGVyZXJUYXJnZXQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhF
bnVtVHlwZUluZGV4IHBpY2tUeXBlIDsKICAgIENBUkQxNiB1bnVzZWQ7Cgp9IHBleFBpY2tSZWNv
cmQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBQRVhGTE9BVCBhbWJpZW50OwogICAgUEVYRkxPQVQg
ZGlmZnVzZTsKICAgIFBFWEZMT0FUIHNwZWN1bGFyOwogICAgUEVYRkxPQVQgc3BlY3VsYXJDb25j
OwogICAgUEVYRkxPQVQgdHJhbnNtaXNzaW9uOwogICAgcGV4Q29sb3VyU3BlY2lmaWVyIHNwZWN1
bGFyQ29sb3VyOwoKfSBwZXhSZWZsZWN0aW9uQXR0cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBl
eEVudW1UeXBlSW5kZXggYXBwcm94TWV0aG9kIDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgUEVY
RkxPQVQgdVRvbGVyYW5jZTsKICAgIFBFWEZMT0FUIHZUb2xlcmFuY2U7Cn0gcGV4U3VyZmFjZUFw
cHJveDsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhDb29yZDNEIHBvaW50OwoKfSBwZXhWZXJ0
ZXg7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RGV2aWNlQ29vcmQgbWludmFsOwogICAgcGV4
RGV2aWNlQ29vcmQgbWF4dmFsOwogICAgcGV4U3dpdGNoIHVzZURyYXdhYmxlOwogICAgQllURSBw
YWRbM107Cn0gcGV4Vmlld3BvcnQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMTYgY2xpcEZs
YWdzIDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4TnBjU3Vidm9sdW1lIGNsaXBMaW1pdHM7
CiAgICBwZXhNYXRyaXggb3JpZW50YXRpb247CiAgICBwZXhNYXRyaXggbWFwcGluZzsKfSBwZXhW
aWV3RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhUYWJsZUluZGV4IGluZGV4IDsKICAg
IENBUkQxNiB1bnVzZWQgOwogICAgcGV4Vmlld0VudHJ5IHZpZXc7Cn0gcGV4Vmlld1JlcDsKCgoK
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMTYgZGVmaW5hYmxlRW50cmllcyA7CiAgICBDQVJE
MTYgbnVtUHJlZGVmaW5lZCA7CiAgICBDQVJEMTYgcHJlZGVmaW5lZE1pbiA7CiAgICBDQVJEMTYg
cHJlZGVmaW5lZE1heCA7Cn0gcGV4VGFibGVJbmZvOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4
RW51bVR5cGVJbmRleCBsaW5lVHlwZSA7CiAgICBwZXhFbnVtVHlwZUluZGV4IHBvbHlsaW5lSW50
ZXJwIDsKICAgIHBleEN1cnZlQXBwcm94IGN1cnZlQXBwcm94OwogICAgUEVYRkxPQVQgbGluZVdp
ZHRoOwogICAgcGV4Q29sb3VyU3BlY2lmaWVyIGxpbmVDb2xvdXI7Cgp9IHBleExpbmVCdW5kbGVF
bnRyeTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVudW1UeXBlSW5kZXggbWFya2VyVHlwZSA7
CiAgICBJTlQxNiB1bnVzZWQgOwogICAgUEVYRkxPQVQgbWFya2VyU2NhbGU7CiAgICBwZXhDb2xv
dXJTcGVjaWZpZXIgbWFya2VyQ29sb3VyOwoKfSBwZXhNYXJrZXJCdW5kbGVFbnRyeTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIENBUkQxNiB0ZXh0Rm9udEluZGV4IDsKICAgIENBUkQxNiB0ZXh0UHJl
Y2lzaW9uIDsKICAgIFBFWEZMT0FUIGNoYXJFeHBhbnNpb247CiAgICBQRVhGTE9BVCBjaGFyU3Bh
Y2luZzsKICAgIHBleENvbG91clNwZWNpZmllciB0ZXh0Q29sb3VyOwoKfSBwZXhUZXh0QnVuZGxl
RW50cnk7CgoKCgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbnVtVHlwZUluZGV4IGludGVy
aW9yU3R5bGUgOwogICAgSU5UMTYgaW50ZXJpb3JTdHlsZUluZGV4IDsKICAgIHBleEVudW1UeXBl
SW5kZXggcmVmbGVjdGlvbk1vZGVsIDsKICAgIHBleEVudW1UeXBlSW5kZXggc3VyZmFjZUludGVy
cCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGJmSW50ZXJpb3JTdHlsZSA7CiAgICBJTlQxNiBiZklu
dGVyaW9yU3R5bGVJbmRleCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGJmUmVmbGVjdGlvbk1vZGVs
IDsKICAgIHBleEVudW1UeXBlSW5kZXggYmZTdXJmYWNlSW50ZXJwIDsKICAgIHBleFN1cmZhY2VB
cHByb3ggc3VyZmFjZUFwcHJveDsKCgoKCn0gcGV4SW50ZXJpb3JCdW5kbGVFbnRyeTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIHBleFN3aXRjaCBlZGdlczsKICAgIENBUkQ4IHVudXNlZDsKICAgIHBl
eEVudW1UeXBlSW5kZXggZWRnZVR5cGUgOwogICAgUEVYRkxPQVQgZWRnZVdpZHRoOwogICAgcGV4
Q29sb3VyU3BlY2lmaWVyIGVkZ2VDb2xvdXI7Cgp9IHBleEVkZ2VCdW5kbGVFbnRyeTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIHBleENvbG91clR5cGUgY29sb3VyVHlwZSA7CiAgICBDQVJEMTYgbnVt
eCA7CiAgICBDQVJEMTYgbnVteSA7CiAgICBDQVJEMTYgdW51c2VkIDsKCn0gcGV4UGF0dGVybkVu
dHJ5OwoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDMyIG51bUZvbnRzIDsKCn0gcGV4VGV4
dEZvbnRFbnRyeTsKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RW51bVR5cGVJbmRleCBsaWdo
dFR5cGUgOwogICAgSU5UMTYgdW51c2VkIDsKICAgIHBleFZlY3RvcjNEIGRpcmVjdGlvbjsKICAg
IHBleENvb3JkM0QgcG9pbnQ7CiAgICBQRVhGTE9BVCBjb25jZW50cmF0aW9uOwogICAgUEVYRkxP
QVQgc3ByZWFkQW5nbGU7CiAgICBQRVhGTE9BVCBhdHRlbnVhdGlvbjE7CiAgICBQRVhGTE9BVCBh
dHRlbnVhdGlvbjI7CiAgICBwZXhDb2xvdXJTcGVjaWZpZXIgbGlnaHRDb2xvdXI7Cgp9IHBleExp
Z2h0RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhTd2l0Y2ggbW9kZTsKICAgIENBUkQ4
IHVudXNlZDsKICAgIENBUkQxNiB1bnVzZWQyIDsKICAgIFBFWEZMT0FUIGZyb250UGxhbmU7CiAg
ICBQRVhGTE9BVCBiYWNrUGxhbmU7CiAgICBQRVhGTE9BVCBmcm9udFNjYWxpbmc7CiAgICBQRVhG
TE9BVCBiYWNrU2NhbGluZzsKICAgIHBleENvbG91clNwZWNpZmllciBkZXB0aEN1ZUNvbG91cjsK
Cn0gcGV4RGVwdGhDdWVFbnRyeTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIElOVDE2IGFwcHJveFR5
cGU7CiAgICBJTlQxNiBhcHByb3hNb2RlbDsKICAgIENBUkQxNiBtYXgxIDsKICAgIENBUkQxNiBt
YXgyIDsKICAgIENBUkQxNiBtYXgzIDsKICAgIENBUkQ4IGRpdGhlcjsKICAgIENBUkQ4IHVudXNl
ZDsKICAgIENBUkQzMiBtdWx0MSA7CiAgICBDQVJEMzIgbXVsdDIgOwogICAgQ0FSRDMyIG11bHQz
IDsKICAgIFBFWEZMT0FUIHdlaWdodDE7CiAgICBQRVhGTE9BVCB3ZWlnaHQyOwogICAgUEVYRkxP
QVQgd2VpZ2h0MzsKICAgIENBUkQzMiBiYXNlUGl4ZWwgOwp9IHBleENvbG91ckFwcHJveEVudHJ5
OwoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQXRvbSBuYW1lIDsKICAgIENBUkQzMiB2YWx1ZSA7
Cn0gcGV4Rm9udFByb3A7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEMzIgZmlyc3RHbHlwaCA7
CiAgICBDQVJEMzIgbGFzdEdseXBoIDsKICAgIENBUkQzMiBkZWZhdWx0R2x5cGggOwogICAgcGV4
U3dpdGNoIGFsbEV4aXN0OwogICAgcGV4U3dpdGNoIHN0cm9rZUZvbnQ7CiAgICBDQVJEMTYgdW51
c2VkIDsKICAgIENBUkQzMiBudW1Qcm9wcyA7Cgp9IHBleEZvbnRJbmZvOwoKCgoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgSU5UMTYgY2hhcmFjdGVyU2V0IDsKICAgIENBUkQ4IGNoYXJhY3RlclNldFdp
ZHRoOwogICAgQ0FSRDggZW5jb2RpbmdTdGF0ZTsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgQ0FS
RDE2IG51bUNoYXJzOwoKCn0gcGV4TW9ub0VuY29kaW5nOwojIDU2MSAiLi4vLi4vLi4vaW5jbHVk
ZS9QRVhwcm90b3N0LmgiCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQxNiBwbGFjZW1lbnRUeXBl
IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgQ0FSRDE2IG51bVVjdXJ2ZXMgOwogICAgQ0FSRDE2
IG51bVZjdXJ2ZXMgOwp9IHBleFBTQ19Jc29wYXJhbWV0cmljQ3VydmVzOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgcGV4Q29vcmQzRCBvcmlnaW47CiAgICBwZXhWZWN0b3IzRCBkaXJlY3Rpb247CiAg
ICBDQVJEMTYgbnVtYmVySW50ZXJzZWN0aW9ucyA7CiAgICBDQVJEMTYgcGFkIDsKCn0gcGV4UFND
X0xldmVsQ3VydmVzOwoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RGV2aWNlQ29vcmQyRCBw
b3NpdGlvbjsKICAgIFBFWEZMT0FUIGRpc3RhbmNlOwp9IHBleFBEX0RDX0hpdEJveDsKCnR5cGVk
ZWYgcGV4TnBjU3Vidm9sdW1lIHBleFBEX05QQ19IaXRWb2x1bWU7CgoKCgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEOCB0eXBlOwogICAgQ0FSRDggZXJyb3JDb2RlOwogICAgQ0FSRDE2IHNlcXVl
bmNlTnVtYmVyIDsKICAgIENBUkQzMiByZXNvdXJjZUlkIDsKICAgIENBUkQxNiBtaW5vckNvZGUg
OwogICAgQ0FSRDggbWFqb3JDb2RlOwogICAgQ0FSRDggdW51c2VkOwogICAgQ0FSRDE2IG9wY29k
ZSA7CiAgICBDQVJEMTYgbnVtQ29tbWFuZHMgOwogICAgQllURSBwYWRbMTZdOwp9IHBleE91dHB1
dENvbW1hbmRFcnJvcjsKCgoKCnR5cGVkZWYgc3RydWN0IHsKICAgIElOVDE2IGZwRm9ybWF0IDsK
ICAgIENBUkQ4IHVudXNlZFsyXTsKICAgIENBUkQzMiByZHIgOwoKfSBwZXhFc2NhcGVTZXRFY2hv
Q29sb3VyRGF0YTsKIyA2MCAiLi4vaW5jbHVkZS9taVJlbmRlci5oIiAyCiMgMSAiLi4vaW5jbHVk
ZS9taUxVVC5oIiAxCiMgNTMgIi4uL2luY2x1ZGUvbWlMVVQuaCIKIyAxICIuLi9pbmNsdWRlL21p
cGV4LmgiIDEKIyA1NiAiLi4vaW5jbHVkZS9taXBleC5oIgojIDEgIi4uLy4uLy4uLy4uLy4uLy4u
L3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9zY3JuaW50c3RyLmgiIDEKIyA1NSAiLi4vLi4vLi4v
Li4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3Njcm5pbnRzdHIuaCIKIyAxICIuLi8u
Li8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvYnN0b3JlLmgiIDEKIyAyMSAi
Li4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2JzdG9yZS5oIgojIDEg
Ii4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9ic3RvcmVzdHIuaCIg
MQojIDI2ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvYnN0b3Jl
c3RyLmgiCnR5cGVkZWYgdm9pZCAoKiBCYWNraW5nU3RvcmVTYXZlQXJlYXNQcm9jUHRyKSgKCiAg
ICAgICAgUGl4bWFwUHRyICwKICAgICAgICBSZWdpb25QdHIgLAogICAgICAgIGludCAsCiAgICAg
ICAgaW50ICwKICAgICAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogQmFja2luZ1N0
b3JlUmVzdG9yZUFyZWFzUHJvY1B0cikoCgogICAgICAgIFBpeG1hcFB0ciAsCiAgICAgICAgUmVn
aW9uUHRyICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAgICAgV2luZG93UHRyCgop
OwoKdHlwZWRlZiB2b2lkICgqIEJhY2tpbmdTdG9yZVNldENsaXBtYXNrUmduUHJvY1B0cikoCgog
ICAgICAgIEdDUHRyICwKICAgICAgICBSZWdpb25QdHIKCik7Cgp0eXBlZGVmIFBpeG1hcFB0ciAo
KiBCYWNraW5nU3RvcmVHZXRJbWFnZVBpeG1hcFByb2NQdHIpKAoKICAgICAgICB2b2lkCgopOwoK
dHlwZWRlZiBQaXhtYXBQdHIgKCogQmFja2luZ1N0b3JlR2V0U3BhbnNQaXhtYXBQcm9jUHRyKSgK
CiAgICAgICAgdm9pZAoKKTsKCnR5cGVkZWYgc3RydWN0IF9CU0Z1bmNzIHsKCiAgICAgICAgQmFj
a2luZ1N0b3JlU2F2ZUFyZWFzUHJvY1B0ciBTYXZlQXJlYXM7CiAgICAgICAgQmFja2luZ1N0b3Jl
UmVzdG9yZUFyZWFzUHJvY1B0ciBSZXN0b3JlQXJlYXM7CiAgICAgICAgQmFja2luZ1N0b3JlU2V0
Q2xpcG1hc2tSZ25Qcm9jUHRyIFNldENsaXBtYXNrUmduOwogICAgICAgIEJhY2tpbmdTdG9yZUdl
dEltYWdlUGl4bWFwUHJvY1B0ciBHZXRJbWFnZVBpeG1hcDsKICAgICAgICBCYWNraW5nU3RvcmVH
ZXRTcGFuc1BpeG1hcFByb2NQdHIgR2V0U3BhbnNQaXhtYXA7Cgp9IEJTRnVuY1JlYywgKkJTRnVu
Y1B0cjsKIyAyMiAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2Jz
dG9yZS5oIiAyCiMgNTYgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVk
ZS9zY3JuaW50c3RyLmgiIDIKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVy
L2luY2x1ZGUvY29sb3JtYXAuaCIgMQojIDc2ICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Y
c2VydmVyL2luY2x1ZGUvY29sb3JtYXAuaCIKdHlwZWRlZiBDQVJEMzIgUGl4ZWw7CnR5cGVkZWYg
c3RydWN0IF9DTUVudHJ5ICpFbnRyeVB0cjsKCnR5cGVkZWYgc3RydWN0IF9jb2xvclJlc291cmNl
ICpjb2xvclJlc291cmNlUHRyOwoKZXh0ZXJuIGludCBDcmVhdGVDb2xvcm1hcCgKCiAgICBDb2xv
cm1hcCAsCiAgICBTY3JlZW5QdHIgLAogICAgVmlzdWFsUHRyICwKICAgIENvbG9ybWFwUHRyKiAs
CiAgICBpbnQgLAogICAgaW50CgopOwoKZXh0ZXJuIGludCBGcmVlQ29sb3JtYXAoCgogICAgcG9p
bnRlciAsCiAgICBYSUQKCik7CgpleHRlcm4gaW50IFRlbGxMb3N0TWFwKAoKICAgIFdpbmRvd1B0
ciAsCiAgICBwb2ludGVyCgopOwoKZXh0ZXJuIGludCBUZWxsR2FpbmVkTWFwKAoKICAgIFdpbmRv
d1B0ciAsCiAgICBwb2ludGVyCgopOwoKZXh0ZXJuIGludCBDb3B5Q29sb3JtYXBBbmRGcmVlKAoK
ICAgIENvbG9ybWFwICwKICAgIENvbG9ybWFwUHRyICwKICAgIGludAoKKTsKCmV4dGVybiBpbnQg
QWxsb2NDb2xvcigKCiAgICBDb2xvcm1hcFB0ciAsCiAgICB1bnNpZ25lZCBzaG9ydCogLAogICAg
dW5zaWduZWQgc2hvcnQqICwKICAgIHVuc2lnbmVkIHNob3J0KiAsCiAgICBQaXhlbCogLAogICAg
aW50CgopOwoKZXh0ZXJuIHZvaWQgRmFrZUFsbG9jQ29sb3IoCgogICAgQ29sb3JtYXBQdHIgLAog
ICAgeENvbG9ySXRlbSAqCgopOwoKZXh0ZXJuIHZvaWQgRmFrZUZyZWVDb2xvcigKCiAgICBDb2xv
cm1hcFB0ciAsCiAgICBQaXhlbAoKKTsKCnR5cGVkZWYgaW50ICgqQ29sb3JDb21wYXJlUHJvY1B0
cikoCgogICAgRW50cnlQdHIgLAogICAgeHJnYiAqCgopOwoKZXh0ZXJuIGludCBGaW5kQ29sb3Io
CgogICAgQ29sb3JtYXBQdHIgLAogICAgRW50cnlQdHIgLAogICAgaW50ICwKICAgIHhyZ2IqICwK
ICAgIFBpeGVsKiAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIENvbG9yQ29tcGFyZVByb2NQdHIK
Cik7CgpleHRlcm4gaW50IFF1ZXJ5Q29sb3JzKAoKICAgIENvbG9ybWFwUHRyICwKICAgIGludCAs
CiAgICBQaXhlbCogLAogICAgeHJnYioKCik7CgpleHRlcm4gaW50IEZyZWVDbGllbnRQaXhlbHMo
CgogICAgcG9pbnRlciAsCiAgICBYSUQKCik7CgpleHRlcm4gaW50IEFsbG9jQ29sb3JDZWxscygK
CiAgICBpbnQgLAogICAgQ29sb3JtYXBQdHIgLAogICAgaW50ICwKICAgIGludCAsCiAgICBCb29s
ICwKICAgIFBpeGVsKiAsCiAgICBQaXhlbCoKCik7CgpleHRlcm4gaW50IEFsbG9jQ29sb3JQbGFu
ZXMoCgogICAgaW50ICwKICAgIENvbG9ybWFwUHRyICwKICAgIGludCAsCiAgICBpbnQgLAogICAg
aW50ICwKICAgIGludCAsCiAgICBCb29sICwKICAgIFBpeGVsKiAsCiAgICBQaXhlbCogLAogICAg
UGl4ZWwqICwKICAgIFBpeGVsKgoKKTsKCmV4dGVybiBpbnQgRnJlZUNvbG9ycygKCiAgICBDb2xv
cm1hcFB0ciAsCiAgICBpbnQgLAogICAgaW50ICwKICAgIFBpeGVsKiAsCiAgICBQaXhlbAoKKTsK
CmV4dGVybiBpbnQgU3RvcmVDb2xvcnMoCgogICAgQ29sb3JtYXBQdHIgLAogICAgaW50ICwKICAg
IHhDb2xvckl0ZW0qCgopOwoKZXh0ZXJuIGludCBJc01hcEluc3RhbGxlZCgKCiAgICBDb2xvcm1h
cCAsCiAgICBXaW5kb3dQdHIKCik7CiMgNTcgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hz
ZXJ2ZXIvaW5jbHVkZS9zY3JuaW50c3RyLmgiIDIKIyAxICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9n
cmFtcy9Yc2VydmVyL2luY2x1ZGUvY3Vyc29yLmgiIDEKIyA1NyAiLi4vLi4vLi4vLi4vLi4vLi4v
cHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL2N1cnNvci5oIgp0eXBlZGVmIHN0cnVjdCBfQ3Vyc29y
ICpDdXJzb3JQdHI7CnR5cGVkZWYgc3RydWN0IF9DdXJzb3JNZXRyaWMgKkN1cnNvck1ldHJpY1B0
cjsKCmV4dGVybiBDdXJzb3JQdHIgcm9vdEN1cnNvcjsKCmV4dGVybiBpbnQgRnJlZUN1cnNvcigK
CiAgICBwb2ludGVyICwKICAgIFhJRAoKKTsKCgoKCgoKZXh0ZXJuIEN1cnNvclB0ciBBbGxvY0N1
cnNvcigKCiAgICB1bnNpZ25lZCBjaGFyKiAsCiAgICB1bnNpZ25lZCBjaGFyKiAsCiAgICBDdXJz
b3JNZXRyaWNQdHIgLAogICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQg
LAogICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQKCik7CgpleHRlcm4g
aW50IEFsbG9jR2x5cGhDdXJzb3IoCgogICAgRm9udCAsCiAgICB1bnNpZ25lZCBpbnQgLAogICAg
Rm9udCAsCiAgICB1bnNpZ25lZCBpbnQgLAogICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQgLAog
ICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQgLAogICAgdW5zaWduZWQg
LAogICAgQ3Vyc29yUHRyKiAsCiAgICBDbGllbnRQdHIKCik7CgpleHRlcm4gQ3Vyc29yUHRyIENy
ZWF0ZVJvb3RDdXJzb3IoCgogICAgY2hhciogLAogICAgdW5zaWduZWQgaW50CgopOwoKZXh0ZXJu
IGludCBTZXJ2ZXJCaXRzRnJvbUdseXBoKAoKICAgIEZvbnRQdHIgLAogICAgdW5zaWduZWQgaW50
ICwKICAgIHJlZ2lzdGVyIEN1cnNvck1ldHJpY1B0ciAsCiAgICB1bnNpZ25lZCBjaGFyICoqCgop
OwoKZXh0ZXJuIEJvb2wgQ3Vyc29yTWV0cmljc0Zyb21HbHlwaCgKCiAgICBGb250UHRyICwKICAg
IHVuc2lnbmVkICwKICAgIEN1cnNvck1ldHJpY1B0cgoKKTsKCmV4dGVybiB2b2lkIENoZWNrQ3Vy
c29yQ29uZmluZW1lbnQoCgogICAgV2luZG93UHRyCgopOwoKZXh0ZXJuIHZvaWQgTmV3Q3VycmVu
dFNjcmVlbigKCiAgICBTY3JlZW5QdHIgLAogICAgaW50ICwKICAgIGludAoKKTsKCmV4dGVybiBC
b29sIFBvaW50ZXJDb25maW5lZFRvU2NyZWVuKAoKICAgIHZvaWQKCik7CgpleHRlcm4gdm9pZCBH
ZXRTcHJpdGVQb3NpdGlvbigKCiAgICBpbnQgKiAsCiAgICBpbnQgKgoKKTsKIyA1OCAiLi4vLi4v
Li4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3Njcm5pbnRzdHIuaCIgMgojIDEg
Ii4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS92YWxpZGF0ZS5oIiAx
CiMgMzUgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS92YWxpZGF0
ZS5oIgp0eXBlZGVmIGVudW0geyBWVE90aGVyLCBWVFN0YWNrLCBWVE1vdmUsIFZUVW5tYXAsIFZU
TWFwLCBWVEJyb2tlbiB9IFZUS2luZDsKCgp0eXBlZGVmIHVuaW9uIF9WYWxpZGF0ZSAqVmFsaWRh
dGVQdHI7CiMgNTkgIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2dyYW1zL1hzZXJ2ZXIvaW5jbHVkZS9z
Y3JuaW50c3RyLmgiIDIKCgoKdHlwZWRlZiBzdHJ1Y3QgX1BpeG1hcEZvcm1hdCB7CiAgICB1bnNp
Z25lZCBjaGFyIGRlcHRoOwogICAgdW5zaWduZWQgY2hhciBiaXRzUGVyUGl4ZWw7CiAgICB1bnNp
Z25lZCBjaGFyIHNjYW5saW5lUGFkOwogICAgfSBQaXhtYXBGb3JtYXRSZWM7Cgp0eXBlZGVmIHN0
cnVjdCBfVmlzdWFsIHsKICAgIFZpc3VhbElEIHZpZDsKICAgIHNob3J0IGNsYXNzOwogICAgc2hv
cnQgYml0c1BlclJHQlZhbHVlOwogICAgc2hvcnQgQ29sb3JtYXBFbnRyaWVzOwogICAgc2hvcnQg
bnBsYW5lczsKCgogICAgdW5zaWduZWQgbG9uZyByZWRNYXNrLCBncmVlbk1hc2ssIGJsdWVNYXNr
OwogICAgaW50IG9mZnNldFJlZCwgb2Zmc2V0R3JlZW4sIG9mZnNldEJsdWU7CiAgfSBWaXN1YWxS
ZWM7Cgp0eXBlZGVmIHN0cnVjdCBfRGVwdGggewogICAgdW5zaWduZWQgY2hhciBkZXB0aDsKICAg
IHNob3J0IG51bVZpZHM7CiAgICBWaXN1YWxJRCAqdmlkczsKICB9IERlcHRoUmVjOwojIDkzICIu
Li8uLi8uLi8uLi8uLi8uLi9wcm9ncmFtcy9Yc2VydmVyL2luY2x1ZGUvc2NybmludHN0ci5oIgp0
eXBlZGVmIEJvb2wgKCogQ2xvc2VTY3JlZW5Qcm9jUHRyKSgKCiAgICAgICAgaW50ICwKICAgICAg
ICBTY3JlZW5QdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogUXVlcnlCZXN0U2l6ZVByb2NQdHIpKAoK
ICAgICAgICBpbnQgLAogICAgICAgIHVuc2lnbmVkIHNob3J0ICogLAogICAgICAgIHVuc2lnbmVk
IHNob3J0ICogLAogICAgICAgIFNjcmVlblB0cgoKKTsKCnR5cGVkZWYgQm9vbCAoKiBTYXZlU2Ny
ZWVuUHJvY1B0cikoCgogICAgICAgICBTY3JlZW5QdHIgLAogICAgICAgICBpbnQKCik7Cgp0eXBl
ZGVmIHZvaWQgKCogR2V0SW1hZ2VQcm9jUHRyKSgKCiAgICAgICAgRHJhd2FibGVQdHIgLAogICAg
ICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAg
ICAgdW5zaWduZWQgaW50ICwKICAgICAgICB1bnNpZ25lZCBsb25nICwKICAgICAgICBjaGFyICoK
Cik7Cgp0eXBlZGVmIHZvaWQgKCogR2V0U3BhbnNQcm9jUHRyKSgKCiAgICAgICAgRHJhd2FibGVQ
dHIgLAogICAgICAgIGludCAsCiAgICAgICAgRERYUG9pbnRQdHIgLAogICAgICAgIGludCogLAog
ICAgICAgIGludCAsCiAgICAgICAgY2hhciAqCgopOwoKdHlwZWRlZiB2b2lkICgqIFBvaW50ZXJO
b25JbnRlcmVzdEJveFByb2NQdHIpKAoKICAgICAgICBTY3JlZW5QdHIgLAogICAgICAgIEJveFB0
cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBTb3VyY2VWYWxpZGF0ZVByb2NQdHIpKAoKICAgICAgICBE
cmF3YWJsZVB0ciAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAg
ICAgICAgaW50CgopOwoKdHlwZWRlZiBCb29sICgqIENyZWF0ZVdpbmRvd1Byb2NQdHIpKAoKICAg
ICAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIEJvb2wgKCogRGVzdHJveVdpbmRvd1Byb2NQdHIp
KAoKICAgICAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIEJvb2wgKCogUG9zaXRpb25XaW5kb3dQ
cm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBpbnQgLAogICAgICAgIGludAoK
KTsKCnR5cGVkZWYgQm9vbCAoKiBDaGFuZ2VXaW5kb3dBdHRyaWJ1dGVzUHJvY1B0cikoCgogICAg
ICAgIFdpbmRvd1B0ciAsCiAgICAgICAgdW5zaWduZWQgbG9uZwoKKTsKCnR5cGVkZWYgQm9vbCAo
KiBSZWFsaXplV2luZG93UHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0cgoKKTsKCnR5cGVkZWYg
Qm9vbCAoKiBVbnJlYWxpemVXaW5kb3dQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyCgopOwoK
dHlwZWRlZiB2b2lkICgqIFJlc3RhY2tXaW5kb3dQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRy
ICwKICAgICAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIGludCAoKiBWYWxpZGF0ZVRyZWVQcm9j
UHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIFZU
S2luZAoKKTsKCnR5cGVkZWYgdm9pZCAoKiBQb3N0VmFsaWRhdGVUcmVlUHJvY1B0cikoCgogICAg
ICAgIFdpbmRvd1B0ciAsCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBWVEtpbmQKCik7Cgp0
eXBlZGVmIHZvaWQgKCogV2luZG93RXhwb3N1cmVzUHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0
ciAsCiAgICAgICAgUmVnaW9uUHRyICwKICAgICAgICBSZWdpb25QdHIKCik7Cgp0eXBlZGVmIHZv
aWQgKCogUGFpbnRXaW5kb3dQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBS
ZWdpb25QdHIgLAogICAgICAgIGludAoKKTsKCnR5cGVkZWYgUGFpbnRXaW5kb3dQcm9jUHRyIFBh
aW50V2luZG93QmFja2dyb3VuZFByb2NQdHI7CnR5cGVkZWYgUGFpbnRXaW5kb3dQcm9jUHRyIFBh
aW50V2luZG93Qm9yZGVyUHJvY1B0cjsKCnR5cGVkZWYgdm9pZCAoKiBDb3B5V2luZG93UHJvY1B0
cikoCgogICAgICAgIFdpbmRvd1B0ciAsCiAgICAgICAgRERYUG9pbnRSZWMgLAogICAgICAgIFJl
Z2lvblB0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBDbGVhclRvQmFja2dyb3VuZFByb2NQdHIpKAoK
ICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBp
bnQgLAogICAgICAgIGludCAsCiAgICAgICAgQm9vbAoKKTsKCnR5cGVkZWYgdm9pZCAoKiBDbGlw
Tm90aWZ5UHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0ciAsCiAgICAgICAgaW50ICwKICAgICAg
ICBpbnQKCik7Cgp0eXBlZGVmIFBpeG1hcFB0ciAoKiBDcmVhdGVQaXhtYXBQcm9jUHRyKSgKCiAg
ICAgICAgU2NyZWVuUHRyICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAgICAgaW50
CgopOwoKdHlwZWRlZiBCb29sICgqIERlc3Ryb3lQaXhtYXBQcm9jUHRyKSgKCiAgICAgICAgUGl4
bWFwUHRyCgopOwoKdHlwZWRlZiB2b2lkICgqIFNhdmVEb29tZWRBcmVhc1Byb2NQdHIpKAoKICAg
ICAgICBXaW5kb3dQdHIgLAogICAgICAgIFJlZ2lvblB0ciAsCiAgICAgICAgaW50ICwKICAgICAg
ICBpbnQKCik7Cgp0eXBlZGVmIFJlZ2lvblB0ciAoKiBSZXN0b3JlQXJlYXNQcm9jUHRyKSgKCiAg
ICAgICAgV2luZG93UHRyICwKICAgICAgICBSZWdpb25QdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCog
RXhwb3NlQ29weVByb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIERyYXdhYmxl
UHRyICwKICAgICAgICBHQ1B0ciAsCiAgICAgICAgUmVnaW9uUHRyICwKICAgICAgICBpbnQgLAog
ICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQgLAogICAgICAgIHVuc2lnbmVk
IGxvbmcKCik7Cgp0eXBlZGVmIFJlZ2lvblB0ciAoKiBUcmFuc2xhdGVCYWNraW5nU3RvcmVQcm9j
UHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAg
ICAgICAgUmVnaW9uUHRyICwKICAgICAgICBpbnQgLAogICAgICAgIGludAoKKTsKCnR5cGVkZWYg
UmVnaW9uUHRyICgqIENsZWFyQmFja2luZ1N0b3JlUHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0
ciAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAsCiAgICAgICAgaW50
ICwKICAgICAgICBCb29sCgopOwoKdHlwZWRlZiB2b2lkICgqIERyYXdHdWFyYW50ZWVQcm9jUHRy
KSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBHQ1B0ciAsCiAgICAgICAgaW50CgopOwoK
dHlwZWRlZiBCb29sICgqIFJlYWxpemVGb250UHJvY1B0cikoCgogICAgICAgIFNjcmVlblB0ciAs
CiAgICAgICAgRm9udFB0cgoKKTsKCnR5cGVkZWYgQm9vbCAoKiBVbnJlYWxpemVGb250UHJvY1B0
cikoCgogICAgICAgIFNjcmVlblB0ciAsCiAgICAgICAgRm9udFB0cgoKKTsKCnR5cGVkZWYgdm9p
ZCAoKiBDb25zdHJhaW5DdXJzb3JQcm9jUHRyKSgKCiAgICAgICAgU2NyZWVuUHRyICwKICAgICAg
ICBCb3hQdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogQ3Vyc29yTGltaXRzUHJvY1B0cikoCgogICAg
ICAgIFNjcmVlblB0ciAsCiAgICAgICAgQ3Vyc29yUHRyICwKICAgICAgICBCb3hQdHIgLAogICAg
ICAgIEJveFB0cgoKKTsKCnR5cGVkZWYgQm9vbCAoKiBEaXNwbGF5Q3Vyc29yUHJvY1B0cikoCgog
ICAgICAgIFNjcmVlblB0ciAsCiAgICAgICAgQ3Vyc29yUHRyCgopOwoKdHlwZWRlZiBCb29sICgq
IFJlYWxpemVDdXJzb3JQcm9jUHRyKSgKCiAgICAgICAgU2NyZWVuUHRyICwKICAgICAgICBDdXJz
b3JQdHIKCik7Cgp0eXBlZGVmIEJvb2wgKCogVW5yZWFsaXplQ3Vyc29yUHJvY1B0cikoCgogICAg
ICAgIFNjcmVlblB0ciAsCiAgICAgICAgQ3Vyc29yUHRyCgopOwoKdHlwZWRlZiB2b2lkICgqIFJl
Y29sb3JDdXJzb3JQcm9jUHRyKSgKCiAgICAgICAgU2NyZWVuUHRyICwKICAgICAgICBDdXJzb3JQ
dHIgLAogICAgICAgIEJvb2wKCik7Cgp0eXBlZGVmIEJvb2wgKCogU2V0Q3Vyc29yUG9zaXRpb25Q
cm9jUHRyKSgKCiAgICAgICAgU2NyZWVuUHRyICwKICAgICAgICBpbnQgLAogICAgICAgIGludCAs
CiAgICAgICAgQm9vbAoKKTsKCnR5cGVkZWYgQm9vbCAoKiBDcmVhdGVHQ1Byb2NQdHIpKAoKICAg
ICAgICBHQ1B0cgoKKTsKCnR5cGVkZWYgQm9vbCAoKiBDcmVhdGVDb2xvcm1hcFByb2NQdHIpKAoK
ICAgICAgICBDb2xvcm1hcFB0cgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBEZXN0cm95Q29sb3JtYXBQ
cm9jUHRyKSgKCiAgICAgICAgQ29sb3JtYXBQdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogSW5zdGFs
bENvbG9ybWFwUHJvY1B0cikoCgogICAgICAgIENvbG9ybWFwUHRyCgopOwoKdHlwZWRlZiB2b2lk
ICgqIFVuaW5zdGFsbENvbG9ybWFwUHJvY1B0cikoCgogICAgICAgIENvbG9ybWFwUHRyCgopOwoK
dHlwZWRlZiBpbnQgKCogTGlzdEluc3RhbGxlZENvbG9ybWFwc1Byb2NQdHIpICgKCiAgICAgICAg
U2NyZWVuUHRyICwKICAgICAgICBYSUQqCgopOwoKdHlwZWRlZiB2b2lkICgqIFN0b3JlQ29sb3Jz
UHJvY1B0cikoCgogICAgICAgIENvbG9ybWFwUHRyICwKICAgICAgICBpbnQgLAogICAgICAgIHhD
b2xvckl0ZW0gKgoKKTsKCnR5cGVkZWYgdm9pZCAoKiBSZXNvbHZlQ29sb3JQcm9jUHRyKSgKCiAg
ICAgICAgdW5zaWduZWQgc2hvcnQqICwKICAgICAgICB1bnNpZ25lZCBzaG9ydCogLAogICAgICAg
IHVuc2lnbmVkIHNob3J0KiAsCiAgICAgICAgVmlzdWFsUHRyCgopOwojIDYwNyAiLi4vLi4vLi4v
Li4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3Njcm5pbnRzdHIuaCIKdHlwZWRlZiBS
ZWdpb25QdHIgKCogQml0bWFwVG9SZWdpb25Qcm9jUHRyKSgKCiAgICAgICAgUGl4bWFwUHRyCgop
OwojIDYyNSAiLi4vLi4vLi4vLi4vLi4vLi4vcHJvZ3JhbXMvWHNlcnZlci9pbmNsdWRlL3Njcm5p
bnRzdHIuaCIKdHlwZWRlZiB2b2lkICgqIFNlbmRHcmFwaGljc0V4cG9zZVByb2NQdHIpKAoKICAg
ICAgICBDbGllbnRQdHIgLAogICAgICAgIFJlZ2lvblB0ciAsCiAgICAgICAgWElEICwKICAgICAg
ICBpbnQgLAogICAgICAgIGludAoKKTsKCnR5cGVkZWYgdm9pZCAoKiBTY3JlZW5CbG9ja0hhbmRs
ZXJQcm9jUHRyKSgKCiAgICAgICAgaW50ICwKICAgICAgICBwb2ludGVyICwKICAgICAgICBwb2lu
dGVyICwKICAgICAgICBwb2ludGVyCgopOwoKdHlwZWRlZiB2b2lkICgqIFNjcmVlbldha2V1cEhh
bmRsZXJQcm9jUHRyKSgKCiAgICAgICAgIGludCAsCiAgICAgICAgIHBvaW50ZXIgLAogICAgICAg
ICB1bnNpZ25lZCBsb25nICwKICAgICAgICAgcG9pbnRlcgoKKTsKCnR5cGVkZWYgQm9vbCAoKiBD
cmVhdGVTY3JlZW5SZXNvdXJjZXNQcm9jUHRyKSgKCiAgICAgICAgU2NyZWVuUHRyCgopOwoKdHlw
ZWRlZiBCb29sICgqIE1vZGlmeVBpeG1hcEhlYWRlclByb2NQdHIpKAoKICAgICAgICBQaXhtYXBQ
dHIgLAogICAgICAgIGludCAsCiAgICAgICAgaW50ICwKICAgICAgICBpbnQgLAogICAgICAgIGlu
dCAsCiAgICAgICAgaW50ICwKICAgICAgICBwb2ludGVyCgopOwoKdHlwZWRlZiBQaXhtYXBQdHIg
KCogR2V0V2luZG93UGl4bWFwUHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0cgoKKTsKCnR5cGVk
ZWYgdm9pZCAoKiBTZXRXaW5kb3dQaXhtYXBQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyICwK
ICAgICAgICBQaXhtYXBQdHIKCik7Cgp0eXBlZGVmIFBpeG1hcFB0ciAoKiBHZXRTY3JlZW5QaXht
YXBQcm9jUHRyKSgKCiAgICAgICAgU2NyZWVuUHRyCgopOwoKdHlwZWRlZiB2b2lkICgqIFNldFNj
cmVlblBpeG1hcFByb2NQdHIpKAoKICAgICAgICBQaXhtYXBQdHIKCik7Cgp0eXBlZGVmIHZvaWQg
KCogTWFya1dpbmRvd1Byb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIEJv
b2wgKCogTWFya092ZXJsYXBwZWRXaW5kb3dzUHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0ciAs
CiAgICAgICAgV2luZG93UHRyICwKICAgICAgICBXaW5kb3dQdHIgKgoKKTsKCnR5cGVkZWYgQm9v
bCAoKiBDaGFuZ2VTYXZlVW5kZXJQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyICwKICAgICAg
ICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogUG9zdENoYW5nZVNhdmVVbmRlclByb2NQ
dHIpKAoKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIFdpbmRvd1B0cgoKKTsKCnR5cGVkZWYg
dm9pZCAoKiBNb3ZlV2luZG93UHJvY1B0cikoCgogICAgICAgIFdpbmRvd1B0ciAsCiAgICAgICAg
aW50ICwKICAgICAgICBpbnQgLAogICAgICAgIFdpbmRvd1B0ciAsCiAgICAgICAgVlRLaW5kCgop
OwoKdHlwZWRlZiB2b2lkICgqIFJlc2l6ZVdpbmRvd1Byb2NQdHIpKAoKICAgIFdpbmRvd1B0ciAs
CiAgICBpbnQgLAogICAgaW50ICwKICAgIHVuc2lnbmVkIGludCAsCiAgICB1bnNpZ25lZCBpbnQg
LAogICAgV2luZG93UHRyCgopOwoKdHlwZWRlZiBXaW5kb3dQdHIgKCogR2V0TGF5ZXJXaW5kb3dQ
cm9jUHRyKSgKCiAgICBXaW5kb3dQdHIKCik7Cgp0eXBlZGVmIHZvaWQgKCogSGFuZGxlRXhwb3N1
cmVzUHJvY1B0cikoCgogICAgV2luZG93UHRyCgopOwoKdHlwZWRlZiB2b2lkICgqIFJlcGFyZW50
V2luZG93UHJvY1B0cikoCgogICAgV2luZG93UHRyICwKICAgIFdpbmRvd1B0cgoKKTsKCgp0eXBl
ZGVmIHZvaWQgKCogU2V0U2hhcGVQcm9jUHRyKSgKCiAgICAgICAgV2luZG93UHRyCgopOwoKCnR5
cGVkZWYgdm9pZCAoKiBDaGFuZ2VCb3JkZXJXaWR0aFByb2NQdHIpKAoKICAgICAgICBXaW5kb3dQ
dHIgLAogICAgICAgIHVuc2lnbmVkIGludAoKKTsKCnR5cGVkZWYgdm9pZCAoKiBNYXJrVW5yZWFs
aXplZFdpbmRvd1Byb2NQdHIpKAoKICAgICAgICBXaW5kb3dQdHIgLAogICAgICAgIFdpbmRvd1B0
ciAsCiAgICAgICAgQm9vbAoKKTsKCnR5cGVkZWYgc3RydWN0IF9TY3JlZW4gewogICAgaW50IG15
TnVtOwogICAgQVRPTSBpZDsKICAgIHNob3J0IHdpZHRoLCBoZWlnaHQ7CiAgICBzaG9ydCBtbVdp
ZHRoLCBtbUhlaWdodDsKICAgIHNob3J0IG51bURlcHRoczsKICAgIHVuc2lnbmVkIGNoYXIgcm9v
dERlcHRoOwogICAgRGVwdGhQdHIgYWxsb3dlZERlcHRoczsKICAgIHVuc2lnbmVkIGxvbmcgcm9v
dFZpc3VhbDsKICAgIHVuc2lnbmVkIGxvbmcgZGVmQ29sb3JtYXA7CiAgICBzaG9ydCBtaW5JbnN0
YWxsZWRDbWFwcywgbWF4SW5zdGFsbGVkQ21hcHM7CiAgICBjaGFyIGJhY2tpbmdTdG9yZVN1cHBv
cnQsIHNhdmVVbmRlclN1cHBvcnQ7CiAgICB1bnNpZ25lZCBsb25nIHdoaXRlUGl4ZWwsIGJsYWNr
UGl4ZWw7CiAgICB1bnNpZ25lZCBsb25nIHJnZjsKICAgIEdDUHRyIEdDcGVyRGVwdGhbOCArMV07
CgoKCgoKCgogICAgUGl4bWFwUHRyIFBpeG1hcFBlckRlcHRoWzFdOwogICAgcG9pbnRlciBkZXZQ
cml2YXRlOwogICAgc2hvcnQgbnVtVmlzdWFsczsKICAgIFZpc3VhbFB0ciB2aXN1YWxzOwogICAg
aW50IFdpbmRvd1ByaXZhdGVMZW47CiAgICB1bnNpZ25lZCAqV2luZG93UHJpdmF0ZVNpemVzOwog
ICAgdW5zaWduZWQgdG90YWxXaW5kb3dTaXplOwogICAgaW50IEdDUHJpdmF0ZUxlbjsKICAgIHVu
c2lnbmVkICpHQ1ByaXZhdGVTaXplczsKICAgIHVuc2lnbmVkIHRvdGFsR0NTaXplOwoKCgogICAg
Q2xvc2VTY3JlZW5Qcm9jUHRyIENsb3NlU2NyZWVuOwogICAgUXVlcnlCZXN0U2l6ZVByb2NQdHIg
UXVlcnlCZXN0U2l6ZTsKICAgIFNhdmVTY3JlZW5Qcm9jUHRyIFNhdmVTY3JlZW47CiAgICBHZXRJ
bWFnZVByb2NQdHIgR2V0SW1hZ2U7CiAgICBHZXRTcGFuc1Byb2NQdHIgR2V0U3BhbnM7CiAgICBQ
b2ludGVyTm9uSW50ZXJlc3RCb3hQcm9jUHRyIFBvaW50ZXJOb25JbnRlcmVzdEJveDsKICAgIFNv
dXJjZVZhbGlkYXRlUHJvY1B0ciBTb3VyY2VWYWxpZGF0ZTsKCgoKICAgIENyZWF0ZVdpbmRvd1By
b2NQdHIgQ3JlYXRlV2luZG93OwogICAgRGVzdHJveVdpbmRvd1Byb2NQdHIgRGVzdHJveVdpbmRv
dzsKICAgIFBvc2l0aW9uV2luZG93UHJvY1B0ciBQb3NpdGlvbldpbmRvdzsKICAgIENoYW5nZVdp
bmRvd0F0dHJpYnV0ZXNQcm9jUHRyIENoYW5nZVdpbmRvd0F0dHJpYnV0ZXM7CiAgICBSZWFsaXpl
V2luZG93UHJvY1B0ciBSZWFsaXplV2luZG93OwogICAgVW5yZWFsaXplV2luZG93UHJvY1B0ciBV
bnJlYWxpemVXaW5kb3c7CiAgICBWYWxpZGF0ZVRyZWVQcm9jUHRyIFZhbGlkYXRlVHJlZTsKICAg
IFBvc3RWYWxpZGF0ZVRyZWVQcm9jUHRyIFBvc3RWYWxpZGF0ZVRyZWU7CiAgICBXaW5kb3dFeHBv
c3VyZXNQcm9jUHRyIFdpbmRvd0V4cG9zdXJlczsKICAgIFBhaW50V2luZG93QmFja2dyb3VuZFBy
b2NQdHIgUGFpbnRXaW5kb3dCYWNrZ3JvdW5kOwogICAgUGFpbnRXaW5kb3dCb3JkZXJQcm9jUHRy
IFBhaW50V2luZG93Qm9yZGVyOwogICAgQ29weVdpbmRvd1Byb2NQdHIgQ29weVdpbmRvdzsKICAg
IENsZWFyVG9CYWNrZ3JvdW5kUHJvY1B0ciBDbGVhclRvQmFja2dyb3VuZDsKICAgIENsaXBOb3Rp
ZnlQcm9jUHRyIENsaXBOb3RpZnk7CiAgICBSZXN0YWNrV2luZG93UHJvY1B0ciBSZXN0YWNrV2lu
ZG93OwoKCgogICAgQ3JlYXRlUGl4bWFwUHJvY1B0ciBDcmVhdGVQaXhtYXA7CiAgICBEZXN0cm95
UGl4bWFwUHJvY1B0ciBEZXN0cm95UGl4bWFwOwoKCgogICAgU2F2ZURvb21lZEFyZWFzUHJvY1B0
ciBTYXZlRG9vbWVkQXJlYXM7CiAgICBSZXN0b3JlQXJlYXNQcm9jUHRyIFJlc3RvcmVBcmVhczsK
ICAgIEV4cG9zZUNvcHlQcm9jUHRyIEV4cG9zZUNvcHk7CiAgICBUcmFuc2xhdGVCYWNraW5nU3Rv
cmVQcm9jUHRyIFRyYW5zbGF0ZUJhY2tpbmdTdG9yZTsKICAgIENsZWFyQmFja2luZ1N0b3JlUHJv
Y1B0ciBDbGVhckJhY2tpbmdTdG9yZTsKICAgIERyYXdHdWFyYW50ZWVQcm9jUHRyIERyYXdHdWFy
YW50ZWU7CgoKCgogICAgQlNGdW5jUmVjIEJhY2tpbmdTdG9yZUZ1bmNzOwoKCgogICAgUmVhbGl6
ZUZvbnRQcm9jUHRyIFJlYWxpemVGb250OwogICAgVW5yZWFsaXplRm9udFByb2NQdHIgVW5yZWFs
aXplRm9udDsKCgoKICAgIENvbnN0cmFpbkN1cnNvclByb2NQdHIgQ29uc3RyYWluQ3Vyc29yOwog
ICAgQ3Vyc29yTGltaXRzUHJvY1B0ciBDdXJzb3JMaW1pdHM7CiAgICBEaXNwbGF5Q3Vyc29yUHJv
Y1B0ciBEaXNwbGF5Q3Vyc29yOwogICAgUmVhbGl6ZUN1cnNvclByb2NQdHIgUmVhbGl6ZUN1cnNv
cjsKICAgIFVucmVhbGl6ZUN1cnNvclByb2NQdHIgVW5yZWFsaXplQ3Vyc29yOwogICAgUmVjb2xv
ckN1cnNvclByb2NQdHIgUmVjb2xvckN1cnNvcjsKICAgIFNldEN1cnNvclBvc2l0aW9uUHJvY1B0
ciBTZXRDdXJzb3JQb3NpdGlvbjsKCgoKICAgIENyZWF0ZUdDUHJvY1B0ciBDcmVhdGVHQzsKCgoK
ICAgIENyZWF0ZUNvbG9ybWFwUHJvY1B0ciBDcmVhdGVDb2xvcm1hcDsKICAgIERlc3Ryb3lDb2xv
cm1hcFByb2NQdHIgRGVzdHJveUNvbG9ybWFwOwogICAgSW5zdGFsbENvbG9ybWFwUHJvY1B0ciBJ
bnN0YWxsQ29sb3JtYXA7CiAgICBVbmluc3RhbGxDb2xvcm1hcFByb2NQdHIgVW5pbnN0YWxsQ29s
b3JtYXA7CiAgICBMaXN0SW5zdGFsbGVkQ29sb3JtYXBzUHJvY1B0ciBMaXN0SW5zdGFsbGVkQ29s
b3JtYXBzOwogICAgU3RvcmVDb2xvcnNQcm9jUHRyIFN0b3JlQ29sb3JzOwogICAgUmVzb2x2ZUNv
bG9yUHJvY1B0ciBSZXNvbHZlQ29sb3I7CiMgOTIwICIuLi8uLi8uLi8uLi8uLi8uLi9wcm9ncmFt
cy9Yc2VydmVyL2luY2x1ZGUvc2NybmludHN0ci5oIgogICAgQml0bWFwVG9SZWdpb25Qcm9jUHRy
IEJpdG1hcFRvUmVnaW9uOwoKCgogICAgU2VuZEdyYXBoaWNzRXhwb3NlUHJvY1B0ciBTZW5kR3Jh
cGhpY3NFeHBvc2U7CgoKCiAgICBTY3JlZW5CbG9ja0hhbmRsZXJQcm9jUHRyIEJsb2NrSGFuZGxl
cjsKICAgIFNjcmVlbldha2V1cEhhbmRsZXJQcm9jUHRyIFdha2V1cEhhbmRsZXI7CgogICAgcG9p
bnRlciBibG9ja0RhdGE7CiAgICBwb2ludGVyIHdha2V1cERhdGE7CgoKICAgIERldlVuaW9uICpk
ZXZQcml2YXRlczsKCiAgICBDcmVhdGVTY3JlZW5SZXNvdXJjZXNQcm9jUHRyIENyZWF0ZVNjcmVl
blJlc291cmNlczsKICAgIE1vZGlmeVBpeG1hcEhlYWRlclByb2NQdHIgTW9kaWZ5UGl4bWFwSGVh
ZGVyOwoKICAgIEdldFdpbmRvd1BpeG1hcFByb2NQdHIgR2V0V2luZG93UGl4bWFwOwogICAgU2V0
V2luZG93UGl4bWFwUHJvY1B0ciBTZXRXaW5kb3dQaXhtYXA7CiAgICBHZXRTY3JlZW5QaXhtYXBQ
cm9jUHRyIEdldFNjcmVlblBpeG1hcDsKICAgIFNldFNjcmVlblBpeG1hcFByb2NQdHIgU2V0U2Ny
ZWVuUGl4bWFwOwoKICAgIFBpeG1hcFB0ciBwU2NyYXRjaFBpeG1hcDsKCgogICAgaW50IFBpeG1h
cFByaXZhdGVMZW47CiAgICB1bnNpZ25lZCBpbnQgKlBpeG1hcFByaXZhdGVTaXplczsKICAgIHVu
c2lnbmVkIGludCB0b3RhbFBpeG1hcFNpemU7CgoKICAgIE1hcmtXaW5kb3dQcm9jUHRyIE1hcmtX
aW5kb3c7CiAgICBNYXJrT3ZlcmxhcHBlZFdpbmRvd3NQcm9jUHRyIE1hcmtPdmVybGFwcGVkV2lu
ZG93czsKICAgIENoYW5nZVNhdmVVbmRlclByb2NQdHIgQ2hhbmdlU2F2ZVVuZGVyOwogICAgUG9z
dENoYW5nZVNhdmVVbmRlclByb2NQdHIgUG9zdENoYW5nZVNhdmVVbmRlcjsKICAgIE1vdmVXaW5k
b3dQcm9jUHRyIE1vdmVXaW5kb3c7CiAgICBSZXNpemVXaW5kb3dQcm9jUHRyIFJlc2l6ZVdpbmRv
dzsKICAgIEdldExheWVyV2luZG93UHJvY1B0ciBHZXRMYXllcldpbmRvdzsKICAgIEhhbmRsZUV4
cG9zdXJlc1Byb2NQdHIgSGFuZGxlRXhwb3N1cmVzOwogICAgUmVwYXJlbnRXaW5kb3dQcm9jUHRy
IFJlcGFyZW50V2luZG93OwoKCiAgICBTZXRTaGFwZVByb2NQdHIgU2V0U2hhcGU7CgoKICAgIENo
YW5nZUJvcmRlcldpZHRoUHJvY1B0ciBDaGFuZ2VCb3JkZXJXaWR0aDsKICAgIE1hcmtVbnJlYWxp
emVkV2luZG93UHJvY1B0ciBNYXJrVW5yZWFsaXplZFdpbmRvdzsKCn0gU2NyZWVuUmVjOwoKdHlw
ZWRlZiBzdHJ1Y3QgX1NjcmVlbkluZm8gewogICAgaW50IGltYWdlQnl0ZU9yZGVyOwogICAgaW50
IGJpdG1hcFNjYW5saW5lVW5pdDsKICAgIGludCBiaXRtYXBTY2FubGluZVBhZDsKICAgIGludCBi
aXRtYXBCaXRPcmRlcjsKICAgIGludCBudW1QaXhtYXBGb3JtYXRzOwogICAgUGl4bWFwRm9ybWF0
UmVjCiAgICAgICAgICAgICAgICBmb3JtYXRzWzhdOwogICAgaW50IGFycmF5U2l6ZTsKICAgIGlu
dCBudW1TY3JlZW5zOwogICAgU2NyZWVuUHRyIHNjcmVlbnNbMTZdOwogICAgaW50IG51bVZpZGVv
U2NyZWVuczsKfSBTY3JlZW5JbmZvOwoKZXh0ZXJuIFNjcmVlbkluZm8gc2NyZWVuSW5mbzsKCmV4
dGVybiB2b2lkIEluaXRPdXRwdXQoCgogICAgU2NyZWVuSW5mbyAqICwKICAgIGludCAsCiAgICBj
aGFyICoqCgopOwojIDU3ICIuLi9pbmNsdWRlL21pcGV4LmgiIDIKIyA4NyAiLi4vaW5jbHVkZS9t
aXBleC5oIgp0eXBlZGVmIHZvaWQgKCpkZXN0cm95VGFibGVUeXBlKSgpOwojIDE0NCAiLi4vaW5j
bHVkZS9taXBleC5oIgpleHRlcm4gaW50IFBleEVycm9yQmFzZTsKIyAxNjMgIi4uL2luY2x1ZGUv
bWlwZXguaCIKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkRW51bVR5cGVJbmRleCBpbmRleDsK
ICAgICAgICBjaGFyICpuYW1lOwp9IG1pRW51bVR5cGU7Cgp0eXBlZGVmIGVudW0gewogICAgICAg
IFZJRVdfUkVQX0RZTkFNSUM9MCwKICAgICAgICBNQVJLRVJfQlVORExFX0RZTkFNSUM9MSwKICAg
ICAgICBURVhUX0JVTkRMRV9EWU5BTUlDPTIsCiAgICAgICAgTElORV9CVU5ETEVfRFlOQU1JQz0z
LAogICAgICAgIElOVEVSSU9SX0JVTkRMRV9EWU5BTUlDPTQsCiAgICAgICAgRURHRV9CVU5ETEVf
RFlOQU1JQz01LAogICAgICAgIENPTE9VUl9UQUJMRV9EWU5BTUlDPTYsCiAgICAgICAgUEFUVEVS
Tl9UQUJMRV9EWU5BTUlDPTcsCiAgICAgICAgV0tTX1RSQU5TRk9STV9EWU5BTUlDPTgsCiAgICAg
ICAgSElHSF9GSUxURVJfRFlOQU1JQz05LAogICAgICAgIElOVklTX0ZJTFRFUl9EWU5BTUlDPTEw
LAogICAgICAgIEhMSFNSX01PREVfRFlOQU1JQz0xMSwKICAgICAgICBTVFJfTU9ESUZZX0RZTkFN
SUM9MTIsCiAgICAgICAgUE9TVF9TVFJfRFlOQU1JQz0xMywKICAgICAgICBVTlBPU1RfU1RSX0RZ
TkFNSUM9MTQsCiAgICAgICAgREVMRVRFX1NUUl9EWU5BTUlDPTE1LAogICAgICAgIFJFRl9NT0RJ
RllfRFlOQU1JQz0xNiwKICAgICAgICBCVUZGRVJfTU9ESUZZX0RZTkFNSUM9MTcsCiAgICAgICAg
TElHSFRfVEFCTEVfRFlOQU1JQz0xOCwKICAgICAgICBERVBUSF9DVUVfRFlOQU1JQz0xOSwKICAg
ICAgICBDT0xPVVJfQVBQUk9YX1RBQkxFX0RZTkFNSUM9MjAsCiAgICAgICAgTUFYX0RZTkFNSUMg
PSAyMQp9IGRkRHluYW1pYzsKIyA1NCAiLi4vaW5jbHVkZS9taUxVVC5oIiAyCgoKCgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBkZEVudW1UeXBlSW5kZXggbGluZVR5cGU7CiAgICBkZEVudW1UeXBlSW5k
ZXggcG9seWxpbmVJbnRlcnA7CiAgICBkZEN1cnZlQXBwcm94IGN1cnZlQXBwcm94OwogICAgZGRG
TE9BVCBsaW5lV2lkdGg7CiAgICBkZENvbG91clNwZWNpZmllciBsaW5lQ29sb3VyOwp9IGRkTGlu
ZUJ1bmRsZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRFbnVtVHlwZUluZGV4IG1hcmtl
clR5cGU7CiAgICBkZFNIT1JUIHVudXNlZDsKICAgIGRkRkxPQVQgbWFya2VyU2NhbGU7CiAgICBk
ZENvbG91clNwZWNpZmllciBtYXJrZXJDb2xvdXI7Cn0gZGRNYXJrZXJCdW5kbGVFbnRyeTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIGRkVVNIT1JUIHRleHRGb250SW5kZXg7CiAgICBkZFVTSE9SVCB0
ZXh0UHJlY2lzaW9uOwogICAgZGRGTE9BVCBjaGFyRXhwYW5zaW9uOwogICAgZGRGTE9BVCBjaGFy
U3BhY2luZzsKICAgIGRkQ29sb3VyU3BlY2lmaWVyIHRleHRDb2xvdXI7Cn0gZGRUZXh0QnVuZGxl
RW50cnk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZEVudW1UeXBlSW5kZXggaW50ZXJpb3JTdHls
ZTsKICAgIGRkU0hPUlQgaW50ZXJpb3JTdHlsZUluZGV4OwogICAgZGRFbnVtVHlwZUluZGV4IHJl
ZmxlY3Rpb25Nb2RlbDsKICAgIGRkRW51bVR5cGVJbmRleCBzdXJmYWNlSW50ZXJwOwogICAgZGRF
bnVtVHlwZUluZGV4IGJmSW50ZXJpb3JTdHlsZTsKICAgIGRkU0hPUlQgYmZJbnRlcmlvclN0eWxl
SW5kZXg7CiAgICBkZEVudW1UeXBlSW5kZXggYmZSZWZsZWN0aW9uTW9kZWw7CiAgICBkZEVudW1U
eXBlSW5kZXggYmZTdXJmYWNlSW50ZXJwOwogICAgZGRTdXJmYWNlQXBwcm94IHN1cmZhY2VBcHBy
b3g7CiAgICBkZENvbG91clNwZWNpZmllciBzdXJmYWNlQ29sb3VyOwogICAgZGRSZWZsZWN0aW9u
QXR0ciByZWZsZWN0aW9uQXR0cjsKICAgIGRkQ29sb3VyU3BlY2lmaWVyIGJmU3VyZmFjZUNvbG91
cjsKICAgIGRkUmVmbGVjdGlvbkF0dHIgYmZSZWZsZWN0aW9uQXR0cjsKfSBkZEludGVyaW9yQnVu
ZGxlRW50cnk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZFN3aXRjaCBlZGdlczsKICAgIGRkVUNI
QVIgdW51c2VkOwogICAgZGRFbnVtVHlwZUluZGV4IGVkZ2VUeXBlOwogICAgZGRGTE9BVCBlZGdl
V2lkdGg7CiAgICBkZENvbG91clNwZWNpZmllciBlZGdlQ29sb3VyOwp9IGRkRWRnZUJ1bmRsZUVu
dHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRTSE9SVCBjb2xvdXJUeXBlOwogICAgZGRVU0hP
UlQgbnVteDsKICAgIGRkVVNIT1JUIG51bXk7CiAgICBkZFVTSE9SVCB1bnVzZWQ7CgogICAgdW5p
b24gewogICAgICAgIGRkSW5kZXhlZENvbG91ciAqaW5kZXhlZDsKICAgICAgICBkZFJnYjhDb2xv
dXIgKnJnYjg7CiAgICAgICAgZGRSZ2IxNkNvbG91ciAqcmdiMTY7CiAgICAgICAgZGRSZ2JGbG9h
dENvbG91ciAqcmdiRmxvYXQ7CiAgICAgICAgZGRIc3ZDb2xvdXIgKmhzdkZsb2F0OwogICAgICAg
IGRkSGxzQ29sb3VyICpobHNGbG9hdDsKICAgICAgICBkZENpZUNvbG91ciAqY2llRmxvYXQ7CiAg
IH0gY29sb3VyczsKfSBkZFBhdHRlcm5FbnRyeTsKIyAxMjkgIi4uL2luY2x1ZGUvbWlMVVQuaCIK
dHlwZWRlZiBzdHJ1Y3QgewogICAgZGRVTE9ORyBudW1Gb250czsKICAgIGRpRm9udEhhbmRsZSBm
b250c1sxNl07Cn0gZGRUZXh0Rm9udEVudHJ5OwoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZEVu
dW1UeXBlSW5kZXggbGlnaHRUeXBlOwogICAgZGRTSE9SVCB1bnVzZWQ7CiAgICBkZFZlY3RvcjNE
IGRpcmVjdGlvbjsKICAgIGRkQ29vcmQzRCBwb2ludDsKICAgIGRkRkxPQVQgY29uY2VudHJhdGlv
bjsKICAgIGRkRkxPQVQgc3ByZWFkQW5nbGU7CiAgICBkZEZMT0FUIGF0dGVudWF0aW9uMTsKICAg
IGRkRkxPQVQgYXR0ZW51YXRpb24yOwogICAgZGRDb2xvdXJTcGVjaWZpZXIgbGlnaHRDb2xvdXI7
Cn0gZGRMaWdodEVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgZGRVQ0hBUiBtb2RlOwogICAg
ZGRVQ0hBUiB1bnVzZWQ7CiAgICBkZFVTSE9SVCB1bnVzZWQyOwogICAgZGRGTE9BVCBmcm9udFBs
YW5lOwogICAgZGRGTE9BVCBiYWNrUGxhbmU7CiAgICBkZEZMT0FUIGZyb250U2NhbGluZzsKICAg
IGRkRkxPQVQgYmFja1NjYWxpbmc7CiAgICBkZENvbG91clNwZWNpZmllciBkZXB0aEN1ZUNvbG91
cjsKfSBkZERlcHRoQ3VlRW50cnk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZEVudW1UeXBlSW5k
ZXggYXBwcm94VHlwZTsKICAgIGRkRW51bVR5cGVJbmRleCBhcHByb3hNb2RlbDsKICAgIGRkVVNI
T1JUIG1heDE7CiAgICBkZFVTSE9SVCBtYXgyOwogICAgZGRVU0hPUlQgbWF4MzsKICAgIGRkVUNI
QVIgZGl0aGVyOwogICAgZGRVQ0hBUiB1bnVzZWQ7CiAgICBkZFVMT05HIG11bHQxOwogICAgZGRV
TE9ORyBtdWx0MjsKICAgIGRkVUxPTkcgbXVsdDM7CiAgICBkZEZMT0FUIHdlaWdodDE7CiAgICBk
ZEZMT0FUIHdlaWdodDI7CiAgICBkZEZMT0FUIHdlaWdodDM7CiAgICBkZFVMT05HIGJhc2VQaXhl
bDsKfSBkZENvbG91ckFwcHJveEVudHJ5OwojIDE4NyAiLi4vaW5jbHVkZS9taUxVVC5oIgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVU0hPUlQgc3RhdHVzOwogICAgICAgIGRkVGFibGVJbmRl
eCBpbmRleDsKfSBtaVRhYmxlRW50cnk7Cgp0eXBlZGVmIHN0cnVjdCBfbWlMaW5lQnVuZGxlRW50
cnkgewogICAgICAgIG1pVGFibGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZExpbmVCdW5k
bGVFbnRyeSBlbnRyeTsKICAgICAgICBkZExpbmVCdW5kbGVFbnRyeSByZWFsX2VudHJ5Owp9IG1p
TGluZUJ1bmRsZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgX21pTWFya2VyQnVuZGxlRW50cnkgewog
ICAgICAgIG1pVGFibGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZE1hcmtlckJ1bmRsZUVu
dHJ5IGVudHJ5OwogICAgICAgIGRkTWFya2VyQnVuZGxlRW50cnkgcmVhbF9lbnRyeTsKfSBtaU1h
cmtlckJ1bmRsZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgX21pVGV4dEJ1bmRsZUVudHJ5IHsKICAg
ICAgICBtaVRhYmxlRW50cnkgZW50cnlfaW5mbzsKCiAgICAgICAgZGRUZXh0QnVuZGxlRW50cnkg
ZW50cnk7CiAgICAgICAgZGRUZXh0QnVuZGxlRW50cnkgcmVhbF9lbnRyeTsKfSBtaVRleHRCdW5k
bGVFbnRyeTsKCnR5cGVkZWYgc3RydWN0IF9taUludGVyaW9yQnVuZGxlRW50cnkgewogICAgICAg
IG1pVGFibGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZEludGVyaW9yQnVuZGxlRW50cnkg
ZW50cnk7CiAgICAgICAgZGRJbnRlcmlvckJ1bmRsZUVudHJ5IHJlYWxfZW50cnk7Cn0gbWlJbnRl
cmlvckJ1bmRsZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgX21pRWRnZUJ1bmRsZUVudHJ5IHsKICAg
ICAgICBtaVRhYmxlRW50cnkgZW50cnlfaW5mbzsKCiAgICAgICAgZGRFZGdlQnVuZGxlRW50cnkg
ZW50cnk7CiAgICAgICAgZGRFZGdlQnVuZGxlRW50cnkgcmVhbF9lbnRyeTsKfSBtaUVkZ2VCdW5k
bGVFbnRyeTsKCnR5cGVkZWYgc3RydWN0IF9taVBhdHRlcm5FbnRyeSB7CiAgICAgICAgbWlUYWJs
ZUVudHJ5IGVudHJ5X2luZm87CgogICAgICAgIGRkUGF0dGVybkVudHJ5IGVudHJ5Owp9IG1pUGF0
dGVybkVudHJ5OwoKCnR5cGVkZWYgc3RydWN0IF9taVRleHRGb250RW50cnkgewogICAgICAgIG1p
VGFibGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZFRleHRGb250RW50cnkgZW50cnk7Cn0g
bWlUZXh0Rm9udEVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgX21pQ29sb3VyRW50cnkgewogICAgICAg
IG1pVGFibGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZENvbG91clNwZWNpZmllciBlbnRy
eTsKfSBtaUNvbG91ckVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgX21pVmlld0VudHJ5IHsKICAgICAg
ICBtaVRhYmxlRW50cnkgZW50cnlfaW5mbzsKCiAgICAgICAgZGRWaWV3RW50cnkgZW50cnk7CiAg
ICAgICAgZGRGTE9BVCB2b21bNF1bNF07CiAgICAgICAgZGRGTE9BVCB2b21faW52WzRdWzRdOwog
ICAgICAgIGRkQk9PTCBpbnZfZmxhZzsKfSBtaVZpZXdFbnRyeTsKCnR5cGVkZWYgc3RydWN0IF9t
aUxpZ2h0RW50cnkgewogICAgICAgIG1pVGFibGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBk
ZExpZ2h0RW50cnkgZW50cnk7CiAgICAgICAgZG91YmxlIGNvc1NwcmVhZEFuZ2xlOwp9IG1pTGln
aHRFbnRyeTsKCnR5cGVkZWYgc3RydWN0IF9taURlcHRoQ3VlRW50cnkgewogICAgICAgIG1pVGFi
bGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZERlcHRoQ3VlRW50cnkgZW50cnk7Cn0gbWlE
ZXB0aEN1ZUVudHJ5OwoKdHlwZWRlZiBzdHJ1Y3QgX21pQ29sb3VyQXBwcm94RW50cnkgewogICAg
ICAgIG1pVGFibGVFbnRyeSBlbnRyeV9pbmZvOwoKICAgICAgICBkZENvbG91ckFwcHJveEVudHJ5
IGVudHJ5Owp9IG1pQ29sb3VyQXBwcm94RW50cnk7Cgp0eXBlZGVmIGRkcGV4NDNydG4gKCptaU9w
c1RhYmxlVHlwZSkoKTsKCnR5cGVkZWYgc3RydWN0IF9taUxVVEhlYWRlciB7CgoKICAgICAgICBk
ZERyYXdhYmxlSW5mbyBkcmF3RXhhbXBsZTsKICAgICAgICBkZFNIT1JUIGRyYXdUeXBlOwoKICAg
ICAgICBkZFVTSE9SVCBzdGFydEluZGV4OwogICAgICAgIGRkVVNIT1JUIGRlZmF1bHRJbmRleDsK
ICAgICAgICBkZFVTSE9SVCBudW1EZWZpbmVkOwogICAgICAgIGRkVGFibGVJbmZvIHRhYmxlSW5m
bzsKCiAgICAgICAgbGlzdG9mT2JqICp3a3NSZWZMaXN0OwogICAgICAgIGxpc3RvZk9iaiAqcmVu
ZFJlZkxpc3Q7CiAgICAgICAgZGRCT09MIGZyZWVGbGFnOwoKCgoKCgogICAgICAgIHVuaW9uIHsK
ICAgICAgICAgICAgICAgIG1pTGluZUJ1bmRsZUVudHJ5ICpsaW5lOwogICAgICAgICAgICAgICAg
bWlNYXJrZXJCdW5kbGVFbnRyeSAqbWFya2VyOwogICAgICAgICAgICAgICAgbWlUZXh0QnVuZGxl
RW50cnkgKnRleHQ7CiAgICAgICAgICAgICAgICBtaUludGVyaW9yQnVuZGxlRW50cnkgKmludGVy
aW9yOwogICAgICAgICAgICAgICAgbWlFZGdlQnVuZGxlRW50cnkgKmVkZ2U7CiAgICAgICAgICAg
ICAgICBtaVBhdHRlcm5FbnRyeSAqcGF0dGVybjsKICAgICAgICAgICAgICAgIG1pVGV4dEZvbnRF
bnRyeSAqZm9udDsKICAgICAgICAgICAgICAgIG1pQ29sb3VyRW50cnkgKmNvbG91cjsKICAgICAg
ICAgICAgICAgIG1pVmlld0VudHJ5ICp2aWV3OwogICAgICAgICAgICAgICAgbWlMaWdodEVudHJ5
ICpsaWdodDsKICAgICAgICAgICAgICAgIG1pRGVwdGhDdWVFbnRyeSAqZGVwdGhDdWU7CiAgICAg
ICAgICAgICAgICBtaUNvbG91ckFwcHJveEVudHJ5ICpjb2xvdXJBcHByb3g7CiAgICAgICAgIH0g
cGx1dDsKIyAzMzYgIi4uL2luY2x1ZGUvbWlMVVQuaCIKICAgICAgICBtaU9wc1RhYmxlVHlwZSBv
cHNbKDEzIC0gNCArIDEgKyA2KV07Cn0gbWlMVVRIZWFkZXI7CiMgNjEgIi4uL2luY2x1ZGUvbWlS
ZW5kZXIuaCIgMgoKCgoKCgp0eXBlZGVmIHN0cnVjdCBfbWlMaXN0SGVhZGVyIHsKICAgICAgICBk
ZFBvaW50VHlwZSB0eXBlOwogICAgICAgIGRkVVNIT1JUIGZsYWdzOwogICAgICAgIGRkVUxPTkcg
bnVtTGlzdHM7CiAgICAgICAgZGRVTE9ORyBtYXhMaXN0czsKICAgICAgICBsaXN0b2ZkZFBvaW50
ICpkZExpc3Q7Cn0gbWlMaXN0SGVhZGVyOwoKCgoKCgoKdHlwZWRlZiBzdHJ1Y3QgX21pRHluYW1p
Y0REQ29udGV4dCB7CiAgICAgICAgZGRQQ0F0dHIgKnBQQ0F0dHI7CiAgICAgICAgZGROYW1lUGll
Y2UgY3VycmVudE5hbWVzWygoMjU1IC0gMCArMSkgLyAoc2l6ZW9mKGRkTmFtZVBpZWNlKSAqIDgp
KV07CiAgICAgICAgc3RydWN0IF9taUR5bmFtaWNERENvbnRleHQgKm5leHQ7CiAgICAgICAgZGRG
TE9BVCBtY190b193Y194Zm9ybVs0XVs0XTsKICAgICAgICBkZEZMT0FUIHdjX3RvX25wY194Zm9y
bVs0XVs0XTsKICAgICAgICBkZEZMT0FUIG1jX3RvX25wY194Zm9ybVs0XVs0XTsKICAgICAgICBk
ZEZMT0FUIHdjX3RvX2NjX3hmb3JtWzRdWzRdOwogICAgICAgIGRkRkxPQVQgY2NfdG9fZGNfeGZv
cm1bNF1bNF07CiAgICAgICAgZGRGTE9BVCBtY190b19jY194Zm9ybVs0XVs0XTsKICAgICAgICBk
ZEZMT0FUIG1jX3RvX2RjX3hmb3JtWzRdWzRdOwogICAgICAgIGRkRkxPQVQgbnBjX3RvX2NjX3hm
b3JtWzRdWzRdOwogICAgICAgIGRkVVNIT1JUIGNsaXBGbGFnczsKICAgICAgICBkZFVTSE9SVCBm
aWx0ZXJfZmxhZ3M7CiAgICAgICAgZGRVU0hPUlQgZG9fcHJpbXM7Cn0gbWlEeW5hbWljRERDb250
ZXh0OwojIDE2MiAiLi4vaW5jbHVkZS9taVJlbmRlci5oIgp0eXBlZGVmIGRkcGV4MnJ0biAoKlJl
bmRUYWJsZVR5cGUpKCk7CiMgMTcxICIuLi9pbmNsdWRlL21pUmVuZGVyLmgiCnR5cGVkZWYgc3Ry
dWN0IF9taUREQ29udGV4dFJlbmRBdHRycyB7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IG1hcmtl
clR5cGU7CiAgICAgICAgZGRGTE9BVCBtYXJrZXJTY2FsZTsKICAgICAgICBkZENvbG91clNwZWNp
ZmllciBtYXJrZXJDb2xvdXI7CiAgICAgICAgZGRVU0hPUlQgdGV4dEZvbnQ7CiAgICAgICAgZGRV
U0hPUlQgdGV4dFByZWNpc2lvbjsKICAgICAgICBkZEZMT0FUIGNoYXJFeHBhbnNpb247CiAgICAg
ICAgZGRGTE9BVCBjaGFyU3BhY2luZzsKICAgICAgICBkZENvbG91clNwZWNpZmllciB0ZXh0Q29s
b3VyOwogICAgICAgIGRkRkxPQVQgY2hhckhlaWdodDsKICAgICAgICBkZFZlY3RvcjJEIGNoYXJV
cDsKICAgICAgICBkZFVTSE9SVCB0ZXh0UGF0aDsKICAgICAgICBkZFRleHRBbGlnbm1lbnREYXRh
IHRleHRBbGlnbm1lbnQ7CiAgICAgICAgZGRGTE9BVCBhdGV4dEhlaWdodDsKICAgICAgICBkZFZl
Y3RvcjJEIGF0ZXh0VXA7CiAgICAgICAgZGRVU0hPUlQgYXRleHRQYXRoOwogICAgICAgIGRkVGV4
dEFsaWdubWVudERhdGEgYXRleHRBbGlnbm1lbnQ7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGF0
ZXh0U3R5bGU7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGxpbmVUeXBlOwogICAgICAgIGRkRkxP
QVQgbGluZVdpZHRoOwogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVyIGxpbmVDb2xvdXI7CiAgICAg
ICAgZGRDdXJ2ZUFwcHJveCBjdXJ2ZUFwcHJveDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggbGlu
ZUludGVycDsKICAgICAgICBkZEVudW1UeXBlSW5kZXggaW50U3R5bGU7CiAgICAgICAgZGRDb2xv
dXJTcGVjaWZpZXIgc3VyZmFjZUNvbG91cjsKICAgICAgICBkZFJlZmxlY3Rpb25BdHRyIHJlZmxB
dHRyOwogICAgICAgIGRkRW51bVR5cGVJbmRleCByZWZsTW9kZWw7CiAgICAgICAgZGRFbnVtVHlw
ZUluZGV4IHN1cmZJbnRlcnA7CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IGJmSW50U3R5bGU7CiAg
ICAgICAgZGRDb2xvdXJTcGVjaWZpZXIgYmZTdXJmQ29sb3VyOwogICAgICAgIGRkUmVmbGVjdGlv
bkF0dHIgYmZSZWZsQXR0cjsKICAgICAgICBkZEVudW1UeXBlSW5kZXggYmZSZWZsTW9kZWw7CiAg
ICAgICAgZGRFbnVtVHlwZUluZGV4IGJmU3VyZkludGVycDsKICAgICAgICBkZFN1cmZhY2VBcHBy
b3ggc3VyZkFwcHJveDsKICAgICAgICBkZENvb3JkMkQgcGF0dGVyblNpemU7CiAgICAgICAgZGRD
b29yZDNEIHBhdHRlcm5SZWZQdDsKICAgICAgICBkZFZlY3RvcjNEIHBhdHRlcm5SZWZWMTsKICAg
ICAgICBkZFZlY3RvcjNEIHBhdHRlcm5SZWZWMjsKICAgICAgICBkZFVTSE9SVCBlZGdlczsKICAg
ICAgICBkZEVudW1UeXBlSW5kZXggZWRnZVR5cGU7CiAgICAgICAgZGRGTE9BVCBlZGdlV2lkdGg7
CiAgICAgICAgZGRDb2xvdXJTcGVjaWZpZXIgZWRnZUNvbG91cjsKICAgICAgICBkZFVTSE9SVCBt
b2RlbENsaXA7CiAgICAgICAgZGRVTE9ORyBwaWNrSWQ7CiAgICAgICAgZGRVTE9ORyBobGhzclR5
cGU7CiAgICAgICAgZGRDb2xvdXJTcGVjaWZpZXIgYmFja2dyb3VuZENvbG91cjsKICAgICAgICBk
ZFVTSE9SVCBjbGVhckk7CiAgICAgICAgZGRVU0hPUlQgY2xlYXJaOwogICAgICAgIGRkVVNIT1JU
IGVjaG9Nb2RlOwogICAgICAgIGRkQ29sb3VyU3BlY2lmaWVyIGVjaG9Db2xvdXI7Cn0gbWlERENv
bnRleHRSZW5kQXR0cnM7CiMgMjQ5ICIuLi9pbmNsdWRlL21pUmVuZGVyLmgiCnR5cGVkZWYgc3Ry
dWN0IF9taUREQ29udGV4dE1pc2MgewogICAgICAgIGRkVUxPTkcgbGlzdEluZGV4OwogICAgICAg
IG1pTGlzdEhlYWRlciBsaXN0NERbNF07CiAgICAgICAgbWlMaXN0SGVhZGVyIGxpc3QyRDsKICAg
ICAgICBkZFVMT05HIGZhY2V0SW5kZXg7CiAgICAgICAgbGlzdG9mZGRGYWNldCBmYWNldHNbNF07
CiAgICAgICAgZGRGTE9BVCB2aWV3cG9ydF94Zm9ybVs0XVs0XTsKICAgICAgICBkZFVMT05HIGZs
YWdzOwogICAgICAgIEdDUHRyIHBQb2x5bGluZUdDOwogICAgICAgIEdDUHRyIHBGaWxsQXJlYUdD
OwogICAgICAgIEdDUHRyIHBFZGdlR0M7CiAgICAgICAgR0NQdHIgcFBvbHlNYXJrZXJHQzsKICAg
ICAgICBHQ1B0ciBwVGV4dEdDOwogICAgICAgIGRkRkxPQVQgaW52X3RyX21jX3RvX3djX3hmb3Jt
WzRdWzRdOwogICAgICAgIGRkRkxPQVQgaW52X3RyX3djX3RvX2NjX3hmb3JtWzRdWzRdOwogICAg
ICAgIGRkRkxPQVQgaW52X3RyX21jX3RvX2NjX3hmb3JtWzRdWzRdOwogICAgICAgIGRkRkxPQVQg
aW52X3RyX2NjX3RvX2RjX3hmb3JtWzRdWzRdOwogICAgICAgIGRkRkxPQVQgaW52X3ZwdF94Zm9y
bVs0XVs0XTsKICAgICAgICBkZEZMT0FUIGludl92aWV3X3hmb3JtWzRdWzRdOwogICAgICAgIGxp
c3RvZk9iaiAqbXNfTUNWOwoKICAgICAgICBkZENvb3JkNEQgZXllX3B0OwogICAgICAgIGRkQ29s
b3VyU3BlY2lmaWVyIGhpZ2hsaWdodF9jb2xvdXI7CiAgICAgICAgZGREZXB0aEN1ZUVudHJ5IGNj
X2RjdWVfZW50cnk7Cgp9IG1pRERDb250ZXh0TWlzYzsKCnR5cGVkZWYgc3RydWN0IHsKICAgICAg
ICBkZEVudW1UeXBlSW5kZXggdHlwZTsKICAgICAgICBkZFVTSE9SVCBzdGF0dXM7CiAgICAgICAg
ZGROYW1lUGllY2UgaW5jbHVzaW9uWygoMjU1IC0gMCArMSkgLyAoc2l6ZW9mKGRkTmFtZVBpZWNl
KSAqIDgpKV07CiAgICAgICAgZGROYW1lUGllY2UgZXhjbHVzaW9uWygoMjU1IC0gMCArMSkgLyAo
c2l6ZW9mKGRkTmFtZVBpZWNlKSAqIDgpKV07CiAgICAgICAgdW5pb24gewogICAgICAgICAgICAg
ICAgY2hhciBkY19kYXRhX3JlYzsKICAgICAgICAgICAgICAgIGNoYXIgbnBjX2RhdGFfcmVjOwog
ICAgICAgIH0gZGF0YV9yZWM7CiAgICAgICAgdW5pb24gewogICAgICAgICAgICAgICAgZGRQQ19E
Q19IaXRCb3ggZGNfaGl0X2JveDsKICAgICAgICAgICAgICAgIGRkUENfTlBDX0hpdFZvbHVtZSBu
cGNfaGl0X3ZvbHVtZTsKICAgICAgICB9IGlucHV0X3JlYzsKICAgICAgICBkZFBvaW50ZXIgZGV2
UHJpdjsKfSBkZFBpY2tEZXZpY2VTdHI7Cgp0eXBlZGVmIHN0cnVjdCBfZGRTZWFyY2hEZXZQcml2
IHsKICAgICAgICBkZFVTSE9SVCBzdGF0dXM7CiAgICAgICAgZGRDb29yZDNEIHBvc2l0aW9uOwog
ICAgICAgIGRkRkxPQVQgZGlzdGFuY2U7CiAgICAgICAgZGRCT09MIG1vZGVsQ2xpcEZsYWc7CiAg
ICAgICAgZGROYW1lUGllY2Ugbm9ybV9pbmNsdXNpb25bKCgyNTUgLSAwICsxKSAvIChzaXplb2Yo
ZGROYW1lUGllY2UpICogOCkpXTsKICAgICAgICBkZE5hbWVQaWVjZSBub3JtX2V4Y2x1c2lvblso
KDI1NSAtIDAgKzEpIC8gKHNpemVvZihkZE5hbWVQaWVjZSkgKiA4KSldOwogICAgICAgIGRkTmFt
ZVBpZWNlIGludmVydF9pbmNsdXNpb25bKCgyNTUgLSAwICsxKSAvIChzaXplb2YoZGROYW1lUGll
Y2UpICogOCkpXTsKICAgICAgICBkZE5hbWVQaWVjZSBpbnZlcnRfZXhjbHVzaW9uWygoMjU1IC0g
MCArMSkgLyAoc2l6ZW9mKGRkTmFtZVBpZWNlKSAqIDgpKV07CiAgICAgICAgZGRQb2ludGVyIGRl
dlByaXY7Cn0gZGRTZWFyY2hEZXZpY2VTdHI7Cgp0eXBlZGVmIHN0cnVjdCBfbWlTdGF0aWNERENv
bnRleHQgewogICBtaUREQ29udGV4dFJlbmRBdHRycyAqYXR0cnM7CiAgIG1pRERDb250ZXh0TWlz
YyBtaXNjOwogICBSZW5kVGFibGVUeXBlIFJlbmRlclByb2NzWzVdOwogICBkZFBpY2tEZXZpY2VT
dHIgcGljazsKICAgZGRTZWFyY2hEZXZpY2VTdHIgc2VhcmNoOwp9IG1pU3RhdGljRERDb250ZXh0
OwoKCgoKdHlwZWRlZiBzdHJ1Y3QgX21pRERDb250ZXh0IHsKICAgICAgICBtaVN0YXRpY0REQ29u
dGV4dCBTdGF0aWM7CiAgICAgICAgbWlEeW5hbWljRERDb250ZXh0ICpEeW5hbWljOwp9IG1pRERD
b250ZXh0OwojIDMzNyAiLi4vaW5jbHVkZS9taVJlbmRlci5oIgpleHRlcm4gZGRGTE9BVCBpZGVu
dDR4NFs0XVs0XTsKIyA1MiAibWlQY2sxUHJpbS5jIiAyCgoKIyAxICIuLi8uLi8uLi9pbmNsdWRl
L1BFWEVyci5oIiAxCiMgNTQgIi4uLy4uLy4uL2luY2x1ZGUvUEVYRXJyLmgiCnR5cGVkZWYgaW50
IEVycm9yQ29kZTsKIyA1NSAibWlQY2sxUHJpbS5jIiAyCiMgMSAiLi4vaW5jbHVkZS9taVN0cnVj
dC5oIiAxCiMgNTUgIi4uL2luY2x1ZGUvbWlTdHJ1Y3QuaCIKIyAxICIuLi8uLi8uLi9pbmNsdWRl
L1BFWHByb3RvLmgiIDEKIyAxMDYgIi4uLy4uLy4uL2luY2x1ZGUvUEVYcHJvdG8uaCIKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1
ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiBtYWpvclZlcnNpb24g
OwogICAgQ0FSRDE2IG1pbm9yVmVyc2lvbiA7CiAgICBDQVJEMzIgcmVsZWFzZSA7CiAgICBDQVJE
MzIgbGVuZ3RoTmFtZSA7CiAgICBDQVJEMzIgc3Vic2V0SW5mbyA7CiAgICBCWVRFIHBhZFs4XTsK
CgogICAgfSBwZXhHZXRFeHRlbnNpb25JbmZvUmVwbHk7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
QllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAg
ICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiBudW1MaXN0cyA7CiAgICBCWVRFIHBhZFsyMF07
CgoKICAgIH0gcGV4R2V0RW51bWVyYXRlZFR5cGVJbmZvUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVy
IDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQllURSBwYWRbMjRdOwoKICAgIH0gcGV4R2V0SW1w
RGVwQ29uc3RhbnRzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBD
QVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGgg
OwogICAgQ0FSRDMyIGVzY2FwZUlEIDsKICAgIENBUkQ4IGVzY2FwZV9zcGVjaWZpY1syMF07CgoK
ICAgIH0gcGV4RXNjYXBlV2l0aFJlcGx5UmVwbHk7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllU
RSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBD
QVJEMzIgbGVuZ3RoIDsKICAgIEJZVEUgcGFkWzI0XTsKCiAgICB9IHBleE1hdGNoUmVuZGVyZXJU
YXJnZXRzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3
aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAg
Q0FSRDE2IHVudXNlZCA7CiAgICBDQVJEMTYgZGVmaW5hYmxlRW50cmllcyA7CiAgICBDQVJEMTYg
bnVtUHJlZGVmaW5lZCA7CiAgICBDQVJEMTYgcHJlZGVmaW5lZE1pbiA7CiAgICBDQVJEMTYgcHJl
ZGVmaW5lZE1heCA7CiAgICBCWVRFIHBhZFsxNF07CiAgICB9IHBleEdldFRhYmxlSW5mb1JlcGx5
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENB
UkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiB1bnVz
ZWQgOwogICAgQ0FSRDMyIG51bUVudHJpZXMgOwogICAgQllURSBwYWRbMTZdOwoKICAgIH0gcGV4
R2V0UHJlZGVmaW5lZEVudHJpZXNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlw
ZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMy
IGxlbmd0aCA7CiAgICBDQVJEMzIgbnVtSW5kaWNlcyA7CiAgICBCWVRFIHBhZFsyMF07CgoKICAg
IH0gcGV4R2V0RGVmaW5lZEluZGljZXNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUg
dHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FS
RDMyIGxlbmd0aCA7CiAgICBDQVJEMTYgc3RhdHVzIDsKICAgIENBUkQxNiB0YWJsZVR5cGUgOwog
ICAgQllURSBwYWRbMjBdOwoKICAgIH0gcGV4R2V0VGFibGVFbnRyeVJlcGx5OwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5j
ZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiB0YWJsZVR5cGUgOwogICAg
Q0FSRDE2IHVudXNlZCA7CiAgICBDQVJEMzIgbnVtRW50cmllcyA7CiAgICBCWVRFIHBhZFsxNl07
CgogICAgfSBwZXhHZXRUYWJsZUVudHJpZXNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZ
VEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAg
Q0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMTYgc3RhdHVzIDsKICAgIENBUkQxNiB0YWJsZVR5cGUg
OwogICAgQ0FSRDMyIG51bVZhbHVlcyA7CiAgICBCWVRFIHBhZFsxNl07CgogICAgfSBwZXhHZXRU
YWJsZVZhbHVlc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FS
RDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsK
ICAgIEJZVEUgcGFkWzI0XTsKCiAgICB9IHBleEdldFBpcGVsaW5lQ29udGV4dFJlcGx5OwoKCnR5
cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYg
c2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBCWVRFIHBhZFsyNF07Cgog
ICAgfSBwZXhHZXRSZW5kZXJlckF0dHJpYnV0ZXNSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwog
ICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgbnVtVmFsdWVzIDsKICAgIHBleFN3aXRjaCB1
bmRlZmluZWRWYWx1ZXM7CiAgICBCWVRFIHBhZFsxOV07Cgp9IHBleEdldFpCdWZmZXJSZXBseTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJE
MTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBJTlQzMiBjb3VudCA7
CiAgICBCWVRFIHBhZFsyMF07Cn0gcGV4TmV4dFBhc3NSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIg
OwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBwZXhCaXRtYXNrIHRhYmxlcyA7CiAgICBwZXhCaXRt
YXNrIG5hbWVzZXRzIDsKICAgIHBleEJpdG1hc2sgYXR0cmlidXRlcyA7CiAgICBCWVRFIHBhZFsx
Ml07Cn0gcGV4R2V0UmVuZGVyZXJEeW5hbWljc1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
QllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAg
ICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQxNiBlZGl0TW9kZSA7CiAgICBDQVJEMTYgdW51c2Vk
IDsKICAgIENBUkQzMiBlbGVtZW50UHRyIDsKICAgIENBUkQzMiBudW1FbGVtZW50cyA7CiAgICBD
QVJEMzIgbGVuZ3RoU3RydWN0dXJlIDsKICAgIENBUkQxNiBoYXNSZWZzIDsKICAgIEJZVEUgcGFk
WzZdOwogICAgfSBwZXhHZXRTdHJ1Y3R1cmVJbmZvUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsK
ICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIG51bUluZm8gOwogICAgQllURSBwYWRbMjBd
OwoKICAgIH0gcGV4R2V0RWxlbWVudEluZm9SZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZ
VEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAg
Q0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEOCB1bnVzZWRbOF07CiAgICBDQVJEMzIgbnVtU3RydWN0
dXJlcyA7CiAgICBCWVRFIHBhZFsxMl07CgogICAgfSBwZXhHZXRTdHJ1Y3R1cmVzSW5OZXR3b3Jr
UmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0Owog
ICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FSRDgg
dW51c2VkWzEyXTsKICAgIENBUkQzMiBudW1QYXRocyA7CiAgICBCWVRFIHBhZFs4XTsKCiAgICB9
IHBleEdldEFuY2VzdG9yc1JlcGx5OwoKdHlwZWRlZiBwZXhHZXRBbmNlc3RvcnNSZXBseSBwZXhH
ZXREZXNjZW5kYW50c1JlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAg
Q0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3Ro
IDsKICAgIENBUkQzMiBudW1FbGVtZW50cyA7CiAgICBCWVRFIHBhZFsyMF07CgogICAgfSBwZXhG
ZXRjaEVsZW1lbnRzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBD
QVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGgg
OwogICAgQ0FSRDE2IHN0YXR1cyA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIENBUkQzMiBmb3Vu
ZE9mZnNldCA7CiAgICBCWVRFIHBhZFsxNl07CiAgICB9IHBleEVsZW1lbnRTZWFyY2hSZXBseTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJE
MTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgbnVtTmFt
ZXMgOwogICAgQllURSBwYWRbMjBdOwoKICAgIH0gcGV4R2V0TmFtZVNldFJlcGx5OwoKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2Vx
dWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBCWVRFIHBhZFsyNF07CgogICAg
fSBwZXhHZXRTZWFyY2hDb250ZXh0UmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5
cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQz
MiBsZW5ndGggOwogICAgQ0FSRDMyIHVudXNlZCA7CiAgICBDQVJEMzIgbnVtSXRlbXMgOwogICAg
QllURSBwYWRbMTZdOwoKICAgIH0gcGV4U2VhcmNoTmV0d29ya1JlcGx5OwoKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VO
dW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBCWVRFIHBhZFsyNF07CgogICAgfSBwZXhH
ZXRXa3NJbmZvUmVwbHk7CgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FS
RDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsK
ICAgIHBleER5bmFtaWNUeXBlIHZpZXdSZXA7CiAgICBwZXhEeW5hbWljVHlwZSBtYXJrZXJCdW5k
bGU7CiAgICBwZXhEeW5hbWljVHlwZSB0ZXh0QnVuZGxlOwogICAgcGV4RHluYW1pY1R5cGUgbGlu
ZUJ1bmRsZTsKICAgIHBleER5bmFtaWNUeXBlIGludGVyaW9yQnVuZGxlOwogICAgcGV4RHluYW1p
Y1R5cGUgZWRnZUJ1bmRsZTsKICAgIHBleER5bmFtaWNUeXBlIGNvbG91clRhYmxlOwogICAgcGV4
RHluYW1pY1R5cGUgcGF0dGVyblRhYmxlOwogICAgcGV4RHluYW1pY1R5cGUgd2tzVHJhbnNmb3Jt
OwogICAgcGV4RHluYW1pY1R5cGUgaGlnaGxpZ2h0RmlsdGVyOwogICAgcGV4RHluYW1pY1R5cGUg
aW52aXNpYmlsaXR5RmlsdGVyOwogICAgcGV4RHluYW1pY1R5cGUgSGxoc3JNb2RlOwogICAgcGV4
RHluYW1pY1R5cGUgc3RydWN0dXJlTW9kaWZ5OwogICAgcGV4RHluYW1pY1R5cGUgcG9zdFN0cnVj
dHVyZTsKICAgIHBleER5bmFtaWNUeXBlIHVucG9zdFN0cnVjdHVyZTsKICAgIHBleER5bmFtaWNU
eXBlIGRlbGV0ZVN0cnVjdHVyZTsKICAgIHBleER5bmFtaWNUeXBlIHJlZmVyZW5jZU1vZGlmeTsK
ICAgIHBleER5bmFtaWNUeXBlIGJ1ZmZlck1vZGlmeTsKICAgIHBleER5bmFtaWNUeXBlIGxpZ2h0
VGFibGU7CiAgICBwZXhEeW5hbWljVHlwZSBkZXB0aEN1ZVRhYmxlOwogICAgcGV4RHluYW1pY1R5
cGUgY29sb3VyQXBwcm94VGFibGU7CiAgICBDQVJEOCBwYWRbM107CiAgICB9IHBleEdldER5bmFt
aWNzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0
OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQ0FS
RDE2IHZpZXdVcGRhdGUgOwogICAgQllURSBwYWRbMjJdOwoKCiAgICB9IHBleEdldFZpZXdSZXBS
ZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAg
ICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMTYg
dmlld0luZGV4IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgQ0FSRDMyIG51bUNvb3JkcyA7CiAg
ICBCWVRFIHBhZFsxNl07CgogICAgfSBwZXhNYXBEQ3RvV0NSZXBseTsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1i
ZXIgOwogICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgdW51c2VkIDsKICAgIENBUkQzMiBu
dW1Db29yZHMgOwogICAgQllURSBwYWRbMTZdOwoKICAgIH0gcGV4TWFwV0N0b0RDUmVwbHk7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2
IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQllURSBwYWRbMjRdOwoK
ICAgIH0gcGV4R2V0V2tzUG9zdGluZ3NSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUg
dHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FS
RDMyIGxlbmd0aCA7CiAgICBCWVRFIHBhZFsyNF07CgogICAgfSBwZXhHZXRQaWNrRGV2aWNlUmVw
bHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAg
Q0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBsZW5ndGggOwogICAgQllURSBwYWRb
MjRdOwoKICAgIH0gcGV4R2V0UGlja01lYXN1cmVSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IEJZVEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwog
ICAgQ0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgbnVtUGlja0VsUmVmcyA7CiAgICBwZXhFbnVt
VHlwZUluZGV4IHBpY2tTdGF0dXMgOwogICAgQ0FSRDggYmV0dGVyUGljazsKICAgIEJZVEUgcGFk
WzE3XTsKCiAgICB9IHBleEVuZFBpY2tPbmVSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZ
VEUgdHlwZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAg
Q0FSRDMyIGxlbmd0aCA7CiAgICBDQVJEMzIgbnVtUGlja0VsUmVmcyA7CiAgICBwZXhFbnVtVHlw
ZUluZGV4IHBpY2tTdGF0dXMgOwogICAgQ0FSRDggYmV0dGVyUGljazsKICAgIEJZVEUgcGFkWzE3
XTsKCiAgICB9IHBleFBpY2tPbmVSZXBseTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIEJZVEUgdHlw
ZTsKICAgIENBUkQ4IHdoYXQ7CiAgICBDQVJEMTYgc2VxdWVuY2VOdW1iZXIgOwogICAgQ0FSRDMy
IGxlbmd0aCA7CiAgICBDQVJEMzIgbnVtUGlja2VkIDsKICAgIHBleEVudW1UeXBlSW5kZXggcGlj
a1N0YXR1cyA7CiAgICBwZXhFbnVtVHlwZUluZGV4IG1vcmVQaWNrcyA7CiAgICBCWVRFIHBhZFsx
Nl07CgogICAgfSBwZXhFbmRQaWNrQWxsUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRF
IHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENB
UkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIG51bVBpY2tlZCA7CiAgICBwZXhFbnVtVHlwZUluZGV4
IHBpY2tTdGF0dXMgOwogICAgcGV4RW51bVR5cGVJbmRleCBtb3JlUGlja3MgOwogICAgQllURSBw
YWRbMTZdOwoKICAgIH0gcGV4UGlja0FsbFJlcGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllU
RSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAgIENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBD
QVJEMzIgbGVuZ3RoIDsKICAgIENBUkQzMiBsZW5ndGhGb250SW5mbyA7CiAgICBDQVJEOCBwYWRb
MjBdOwoKICAgIH0gcGV4UXVlcnlGb250UmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRF
IHR5cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENB
UkQzMiBsZW5ndGggOwogICAgQ0FSRDMyIG51bVN0cmluZ3MgOwogICAgQllURSBwYWRbMjBdOwoK
ICAgIH0gcGV4TGlzdEZvbnRzUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7
CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiBs
ZW5ndGggOwogICAgQ0FSRDMyIG51bVN0cmluZ3MgOwogICAgQllURSBwYWRbMjBdOwoKCiAgICB9
IHBleExpc3RGb250c1dpdGhJbmZvUmVwbHk7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5
cGU7CiAgICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQz
MiBsZW5ndGggOwogICAgQllURSBwYWRbMjRdOwoKICAgIH0gcGV4UXVlcnlUZXh0RXh0ZW50c1Jl
cGx5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQllURSB0eXBlOwogICAgQ0FSRDggd2hhdDsKICAg
IENBUkQxNiBzZXF1ZW5jZU51bWJlciA7CiAgICBDQVJEMzIgbGVuZ3RoIDsKICAgIENBUkQ4IGFw
cHJveFN1cHBvcnRlZDsKICAgIENBUkQ4IGV4aGF1c3RpdmVBcHByb3g7CiAgICBDQVJEOCB1bnVz
ZWRbMl07CiAgICBDQVJEMzIgbnVtQ29sb3JBcHByb3g7CiAgICBCWVRFIHBhZFsxNl07Cgp9IHBl
eFF1ZXJ5Q29sb3JBcHByb3hSZXBseTsKCgoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDgg
cmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwoKCn0gcGV4UmVx
OwojIDYwNSAiLi4vLi4vLi4vaW5jbHVkZS9QRVhwcm90by5oIgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAg
ICBDQVJEMzIgaWQgOwogICAgfSBwZXhSZXNvdXJjZVJlcTsKCgoKCgoKCnR5cGVkZWYgc3RydWN0
IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3Ro
IDsKICAgIENBUkQxNiBjbGllbnRQcm90b2NvbE1ham9yIDsKICAgIENBUkQxNiBjbGllbnRQcm90
b2NvbE1pbm9yIDsKfSBwZXhHZXRFeHRlbnNpb25JbmZvUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwog
ICAgRHJhd2FibGUgZHJhd2FibGUgOwogICAgcGV4Qml0bWFzayBpdGVtTWFzayA7CiAgICBDQVJE
MzIgbnVtRW51bXMgOwoKCn0gcGV4R2V0RW51bWVyYXRlZFR5cGVJbmZvUmVxOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBs
ZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgdW51c2Vk
IDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsKICAgIENBUkQzMiBudW1OYW1lcyA7CgoKfSBwZXhH
ZXRJbXBEZXBDb25zdGFudHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBEcmF3YWJsZSBkcmF3
YWJsZSA7CiAgICBDQVJEOCBkZXB0aDsKICAgIENBUkQ4IHVudXNlZDsKICAgIENBUkQxNiB0eXBl
IDsKICAgIENBUkQzMiB2aXN1YWxJRCA7CiAgICBDQVJEMzIgbWF4VHJpcGxldHMgOwp9IHBleE1h
dGNoUmVuZGVyZXJUYXJnZXRzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlw
ZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIGVzY2Fw
ZUlEIDsKCn0gcGV4RXNjYXBlUmVxOwoKdHlwZWRlZiBwZXhFc2NhcGVSZXEgcGV4RXNjYXBlV2l0
aFJlcGx5UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4
IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgRHJhd2FibGUgZHJhd2FibGVFeGFtcGxl
IDsKICAgIHBleExvb2t1cFRhYmxlIGx1dCA7CiAgICBwZXhUYWJsZVR5cGUgdGFibGVUeXBlIDsK
ICAgIENBUkQxNiB1bnVzZWQgOwp9IHBleENyZWF0ZUxvb2t1cFRhYmxlUmVxOwoKCnR5cGVkZWYg
c3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYg
bGVuZ3RoIDsKICAgIHBleExvb2t1cFRhYmxlIHNyYyA7CiAgICBwZXhMb29rdXBUYWJsZSBkc3Qg
Owp9IHBleENvcHlMb29rdXBUYWJsZVJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4RnJl
ZUxvb2t1cFRhYmxlUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAg
IENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgRHJhd2FibGUgZHJhd2FibGVF
eGFtcGxlIDsKICAgIHBleFRhYmxlVHlwZSB0YWJsZVR5cGUgOwogICAgQ0FSRDE2IHVudXNlZCA7
Cn0gcGV4R2V0VGFibGVJbmZvUmVxOwoKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5
cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBl
SW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBEcmF3YWJsZSBkcmF3YWJs
ZUV4YW1wbGUgOwogICAgcGV4VGFibGVUeXBlIHRhYmxlVHlwZSA7CiAgICBwZXhUYWJsZUluZGV4
IHN0YXJ0IDsKICAgIENBUkQxNiBjb3VudCA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhHZXRQcmVk
ZWZpbmVkRW50cmllc1JlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4R2V0RGVmaW5lZElu
ZGljZXNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDgg
b3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0
IDsKICAgIENBUkQxNiB2YWx1ZVR5cGUgOwogICAgcGV4TG9va3VwVGFibGUgbHV0IDsKICAgIHBl
eFRhYmxlSW5kZXggaW5kZXggOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4R2V0VGFibGVFbnRyeVJl
cTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7
CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAg
Q0FSRDE2IHZhbHVlVHlwZSA7CiAgICBwZXhMb29rdXBUYWJsZSBsdXQgOwogICAgcGV4VGFibGVJ
bmRleCBzdGFydCA7CiAgICBDQVJEMTYgY291bnQgOwp9IHBleEdldFRhYmxlRW50cmllc1JlcTsK
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwog
ICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENB
UkQxNiB1bnVzZWQgOwogICAgcGV4TG9va3VwVGFibGUgbHV0IDsKICAgIHBleFRhYmxlSW5kZXgg
c3RhcnQgOwogICAgQ0FSRDE2IGNvdW50IDsKCn0gcGV4U2V0VGFibGVFbnRyaWVzUmVxOwoKCnR5
cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBD
QVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgcGV4VGFi
bGVJbmRleCBpbmRleCA7CiAgICBwZXhMb29rdXBUYWJsZSBsdXQgOwogICAgcGV4Qml0bWFzayBU
YWJsZU1hc2s7Cgp9IHBleENoYW5nZVRhYmxlVmFsdWVzUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwog
ICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgdmFsdWVUeXBlIDsKICAg
IHBleExvb2t1cFRhYmxlIGx1dCA7CiAgICBwZXhUYWJsZUluZGV4IGluZGV4IDsKICAgIENBUkQx
NiB1bnVzZWQ7CiAgICBwZXhCaXRtYXNrIFRhYmxlTWFzazsKfSBwZXhHZXRUYWJsZVZhbHVlc1Jl
cTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7
CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleExvb2t1cFRhYmxlIGx1dCA7CiAgICBwZXhUYWJs
ZUluZGV4IHN0YXJ0IDsKICAgIENBUkQxNiBjb3VudCA7Cn0gcGV4RGVsZXRlVGFibGVFbnRyaWVz
UmVxOwoKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNv
ZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwog
ICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhQQyBwYyA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNr
WzNdOwoKfSBwZXhDcmVhdGVQaXBlbGluZUNvbnRleHRSZXE7CgoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwog
ICAgcGV4UEMgc3JjIDsKICAgIHBleFBDIGRzdCA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrWzNd
Owp9IHBleENvcHlQaXBlbGluZUNvbnRleHRSZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVxIHBl
eEZyZWVQaXBlbGluZUNvbnRleHRSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFU
eXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlw
ZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4UEMgcGMgOwogICAg
cGV4Qml0bWFzayBpdGVtTWFza1szXTsKfSBwZXhHZXRQaXBlbGluZUNvbnRleHRSZXE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FS
RDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1
bnVzZWQgOwogICAgcGV4UEMgcGMgOwogICAgcGV4Qml0bWFzayBpdGVtTWFza1szXTsKCn0gcGV4
Q2hhbmdlUGlwZWxpbmVDb250ZXh0UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVx
VHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5
cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIHBleFJlbmRlcmVyIHJk
ciA7CiAgICBEcmF3YWJsZSBkcmF3YWJsZSA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrIDsKCn0g
cGV4Q3JlYXRlUmVuZGVyZXJSZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVxIHBleEZyZWVSZW5k
ZXJlclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBv
cGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQg
OwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwogICAgcGV4Qml0bWFz
ayBpdGVtTWFzayA7Cgp9IHBleENoYW5nZVJlbmRlcmVyUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwog
ICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIHBl
eFJlbmRlcmVyIHJkciA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrIDsKfSBwZXhHZXRSZW5kZXJl
ckF0dHJpYnV0ZXNSZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVxIHBleEdldFJlbmRlcmVyRHlu
YW1pY3NSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDgg
b3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwogICAgRHJh
d2FibGUgZHJhd2FibGUgOwp9IHBleEJlZ2luUmVuZGVyaW5nUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGgg
OwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIHBleFN3aXRjaCBmbHVzaEZsYWc7CiAgICBCWVRF
IHBhZFszXTsKfSBwZXhFbmRSZW5kZXJpbmdSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhS
ZW5kZXJlciByZHIgOwogICAgcGV4Qml0bWFzayBjbGVhckNvbnRyb2wgOwp9IHBleENsZWFyUmVu
ZGVyZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDgg
b3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwogICAgcGV4
U3dpdGNoIGZsdXNoRmxhZzsKICAgIEJZVEUgcGFkWzNdOwp9IHBleEZsdXNoUmVuZGVyZXJSZXE7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwog
ICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwp9IHBleEluaXRSZW5kZXJl
clJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNv
ZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBEcmF3YWJs
ZSBwaXhtYXAgOwp9IHBleENvcHlBbHBoYVRvUGl4bWFwUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwog
ICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIERyYXdhYmxlIHBpeG1hcCA7Cn0gcGV4Q29weVBpeG1h
cFRvQWxwaGFSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FS
RDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwogICAg
RHJhd2FibGUgcGl4bWFwIDsKfSBwZXhDb3B5WkJ1ZmZlclRvUGl4bWFwUmVxOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBs
ZW5ndGggOwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIERyYXdhYmxlIHBpeG1hcCA7Cn0gcGV4
Q29weVBpeG1hcFRvWkJ1ZmZlclJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5
cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRlcmVy
IHJkciA7CiAgICBwZXhQQyBwYyA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrWzNdOwp9IHBleENv
cHlQQ1RvUGlwZWxpbmVTdGF0ZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5
cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFJlbmRlcmVy
IHJkciA7CiAgICBwZXhQQyBwYyA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrWzNdOwp9IHBleENv
cHlQaXBlbGluZVN0YXRlVG9QQ1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5
cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBl
SW5kZXggZnBGb3JtYXQgOwogICAgcGV4U3dpdGNoIG5vcm1hbGl6ZWRWYWx1ZXM7CiAgICBDQVJE
OCB1bnVzZWQ7CiAgICBwZXhSZW5kZXJlciByZHIgOwogICAgSU5UMTYgeCA7CiAgICBJTlQxNiB5
IDsKICAgIENBUkQxNiB3aWR0aCA7CiAgICBDQVJEMTYgaGVpZ2h0IDsKfSBwZXhHZXRaQnVmZmVy
UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29k
ZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAg
ICBDQVJEMTYgdW51c2VkOwogICAgQ0FSRDMyIG51bVZhbHVlcyA7CiAgICBwZXhSZW5kZXJlciBy
ZHIgOwogICAgSU5UMTYgeCA7CiAgICBJTlQxNiB5IDsKICAgIENBUkQxNiB3aWR0aCA7CiAgICBD
QVJEMTYgaGVpZ2h0IDsKICAgIHBleFN3aXRjaCBub3JtYWxpemVkVmFsdWVzOwogICAgQ0FSRDgg
bW9yZV91bnVzZWRbM107Cgp9IHBleFB1dFpCdWZmZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAg
ICBwZXhSZW5kZXJlciByZHIgOwp9IHBleEluaXRNdWx0aXBhc3NSZXE7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0
aCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwogICAgQ0FSRDE2IG11bHRpcGFzc19jb250cm9sOwog
ICAgQ0FSRDE2IHVudXNlZDsKfSBwZXhOZXh0UGFzc1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAg
IHBleFJlbmRlcmVyIHJkciA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKfSBwZXhCZWdpblN0cnVj
dHVyZVJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4RW5kU3RydWN0dXJlUmVxOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYg
dW51c2VkIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBDQVJEMzIgbnVtQ29tbWFuZHMgOwoK
fSBwZXhSZW5kZXJPdXRwdXRDb21tYW5kc1JlcTsKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4
UmVuZGVyZXIgcmRyIDsKICAgIHBleFN0cnVjdHVyZSBzaWQgOwogICAgcGV4RWxlbWVudFJhbmdl
IHJhbmdlOwp9IHBleFJlbmRlckVsZW1lbnRzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4
UmVuZGVyZXIgcmRyIDsKICAgIENBUkQzMiBudW1FbFJlZnMgOwoKfSBwZXhBY2N1bXVsYXRlU3Rh
dGVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bj
b2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwogICAgRHJhd2Fi
bGUgZHJhd2FibGUgOwogICAgcGV4U3RydWN0dXJlIHNpZCA7Cn0gcGV4UmVuZGVyTmV0d29ya1Jl
cTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4Q3JlYXRlU3RydWN0dXJlUmVxOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQx
NiBsZW5ndGggOwogICAgcGV4U3RydWN0dXJlIHNyYyA7CiAgICBwZXhTdHJ1Y3R1cmUgZHN0IDsK
fSBwZXhDb3B5U3RydWN0dXJlUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlw
ZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgQ0FSRDMyIG51bVN0
cnVjdHVyZXMgOwoKfSBwZXhEZXN0cm95U3RydWN0dXJlc1JlcTsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsK
ICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IGl0ZW1NYXNrIDsKICAg
IHBleFN0cnVjdHVyZSBzaWQgOwp9IHBleEdldFN0cnVjdHVyZUluZm9SZXE7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxl
bmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIENBUkQxNiBwZXJtaXNzaW9uIDsKICAg
IENBUkQxNiB1bnVzZWQgOwp9IHBleFNldFN0cnVjdHVyZVBlcm1pc3Npb25SZXE7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2
IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVz
ZWQgOwogICAgcGV4U3RydWN0dXJlIHNpZCA7CiAgICBwZXhFbGVtZW50UmFuZ2UgcmFuZ2U7Cn0g
cGV4R2V0RWxlbWVudEluZm9SZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUg
c2lkIDsKICAgIENBUkQxNiB3aGljaCA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhHZXRTdHJ1Y3R1
cmVzSW5OZXR3b3JrUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAg
IENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4U3RydWN0dXJlIHNpZCA7
CiAgICBDQVJEMTYgcGF0aE9yZGVyIDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgQ0FSRDMyIHBh
dGhEZXB0aCA7Cn0gcGV4R2V0QW5jZXN0b3JzUmVxOwoKdHlwZWRlZiBwZXhHZXRBbmNlc3RvcnNS
ZXEgcGV4R2V0RGVzY2VuZGFudHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFU
eXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlw
ZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4U3RydWN0dXJlIHNp
ZCA7CiAgICBwZXhFbGVtZW50UmFuZ2UgcmFuZ2U7Cn0gcGV4RmV0Y2hFbGVtZW50c1JlcTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBD
QVJEMTYgbGVuZ3RoIDsKICAgIHBleFN0cnVjdHVyZSBzaWQgOwogICAgQ0FSRDE2IG1vZGUgOwog
ICAgQ0FSRDE2IHBhZCA7Cn0gcGV4U2V0RWRpdGluZ01vZGVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7
CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIHBleEVsZW1lbnRQb3MgcG9zaXRpb247Cn0gcGV4
U2V0RWxlbWVudFBvaW50ZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUg
c2lkIDsKICAgIElOVDMyIGxhYmVsIDsKICAgIElOVDMyIG9mZnNldCA7Cn0gcGV4U2V0RWxlbWVu
dFBvaW50ZXJBdExhYmVsUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsK
ICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4U3RydWN0dXJlIHNp
ZCA7CiAgICBJTlQzMiBwaWNrSWQgOwogICAgSU5UMzIgb2Zmc2V0IDsKfSBwZXhTZXRFbGVtZW50
UG9pbnRlckF0UGlja0lEUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsK
ICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4U3RydWN0dXJlIHNp
ZCA7CiAgICBwZXhFbGVtZW50UG9zIHBvc2l0aW9uOwogICAgQ0FSRDMyIGRpcmVjdGlvbiA7CiAg
ICBDQVJEMzIgbnVtSW5jbHMgOwogICAgQ0FSRDMyIG51bUV4Y2xzIDsKCgoKCn0gcGV4RWxlbWVu
dFNlYXJjaFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3Jt
YXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIENBUkQz
MiBudW1Db21tYW5kcyA7Cgp9IHBleFN0b3JlRWxlbWVudHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7
CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKICAgIHBleEVsZW1lbnRSYW5nZSByYW5nZTsKfSBwZXhE
ZWxldGVFbGVtZW50c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAg
ICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFN0cnVjdHVyZSBzaWQg
OwogICAgcGV4RWxlbWVudFBvcyBwb3NpdGlvbjsKICAgIElOVDMyIGxhYmVsIDsKfSBwZXhEZWxl
dGVFbGVtZW50c1RvTGFiZWxSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUg
c2lkIDsKICAgIElOVDMyIGxhYmVsMSA7CiAgICBJTlQzMiBsYWJlbDIgOwp9IHBleERlbGV0ZUJl
dHdlZW5MYWJlbHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAg
Q0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUgc3JjIDsK
ICAgIHBleEVsZW1lbnRSYW5nZSBzcmNSYW5nZTsKICAgIHBleFN0cnVjdHVyZSBkc3QgOwogICAg
cGV4RWxlbWVudFBvcyBkc3RQb3NpdGlvbjsKfSBwZXhDb3B5RWxlbWVudHNSZXE7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2
IGxlbmd0aCA7CiAgICBwZXhTdHJ1Y3R1cmUgb2xkX2lkIDsKICAgIHBleFN0cnVjdHVyZSBuZXdf
aWQgOwp9IHBleENoYW5nZVN0cnVjdHVyZVJlZnNSZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVx
IHBleENyZWF0ZU5hbWVTZXRSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhOYW1lU2V0IHNy
YyA7CiAgICBwZXhOYW1lU2V0IGRzdCA7Cn0gcGV4Q29weU5hbWVTZXRSZXE7Cgp0eXBlZGVmIHBl
eFJlc291cmNlUmVxIHBleEZyZWVOYW1lU2V0UmVxOwoKdHlwZWRlZiBwZXhSZXNvdXJjZVJlcSBw
ZXhHZXROYW1lU2V0UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAg
IENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4TmFtZVNldCBucyA7CiAg
ICBDQVJEMTYgYWN0aW9uIDsKICAgIENBUkQxNiB1bnVzZWQgOwoKfSBwZXhDaGFuZ2VOYW1lU2V0
UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29k
ZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAg
ICBDQVJEMTYgdW51c2VkIDsKICAgIHBleFNDIHNjIDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2sg
OwoKfSBwZXhDcmVhdGVTZWFyY2hDb250ZXh0UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FS
RDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4
U0Mgc3JjIDsKICAgIHBleFNDIGRzdCA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrIDsKfSBwZXhD
b3B5U2VhcmNoQ29udGV4dFJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4RnJlZVNlYXJj
aENvbnRleHRSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FS
RDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9y
bWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4U0Mgc2MgOwogICAgcGV4Qml0bWFzayBp
dGVtTWFzayA7Cn0gcGV4R2V0U2VhcmNoQ29udGV4dFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAg
IHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhT
QyBzYyA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNrIDsKCn0gcGV4Q2hhbmdlU2VhcmNoQ29udGV4
dFJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4U2VhcmNoTmV0d29ya1JlcTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJE
MTYgbGVuZ3RoIDsKICAgIHBleFBoaWdzV2tzIHdrcyA7CiAgICBEcmF3YWJsZSBkcmF3YWJsZSA7
CiAgICBwZXhMb29rdXBUYWJsZSBtYXJrZXJCdW5kbGUgOwogICAgcGV4TG9va3VwVGFibGUgdGV4
dEJ1bmRsZSA7CiAgICBwZXhMb29rdXBUYWJsZSBsaW5lQnVuZGxlIDsKICAgIHBleExvb2t1cFRh
YmxlIGludGVyaW9yQnVuZGxlIDsKICAgIHBleExvb2t1cFRhYmxlIGVkZ2VCdW5kbGUgOwogICAg
cGV4TG9va3VwVGFibGUgY29sb3VyVGFibGUgOwogICAgcGV4TG9va3VwVGFibGUgZGVwdGhDdWVU
YWJsZSA7CiAgICBwZXhMb29rdXBUYWJsZSBsaWdodFRhYmxlIDsKICAgIHBleExvb2t1cFRhYmxl
IGNvbG91ckFwcHJveFRhYmxlIDsKICAgIHBleExvb2t1cFRhYmxlIHBhdHRlcm5UYWJsZSA7CiAg
ICBwZXhMb29rdXBUYWJsZSB0ZXh0Rm9udFRhYmxlIDsKICAgIHBleE5hbWVTZXQgaGlnaGxpZ2h0
SW5jbCA7CiAgICBwZXhOYW1lU2V0IGhpZ2hsaWdodEV4Y2wgOwogICAgcGV4TmFtZVNldCBpbnZp
c0luY2wgOwogICAgcGV4TmFtZVNldCBpbnZpc0V4Y2wgOwogICAgQ0FSRDE2IGJ1ZmZlck1vZGUg
OwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4Q3JlYXRlUGhpZ3NXa3NSZXE7Cgp0eXBlZGVmIHBleFJl
c291cmNlUmVxIHBleEZyZWVQaGlnc1drc1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4
IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVu
dW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhQaGlnc1dr
cyB3a3MgOwogICAgcGV4Qml0bWFzayBpdGVtTWFza1syXSA7Cn0gcGV4R2V0V2tzSW5mb1JlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAg
ICBDQVJEMTYgbGVuZ3RoIDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsKfSBwZXhHZXREeW5hbWlj
c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNv
ZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwog
ICAgcGV4VGFibGVJbmRleCBpbmRleCA7CiAgICBwZXhQaGlnc1drcyB3a3MgOwp9IHBleEdldFZp
ZXdSZXBSZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVxIHBleFJlZHJhd0FsbFN0cnVjdHVyZXNS
ZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVxIHBleFVwZGF0ZVdvcmtzdGF0aW9uUmVxOwoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENB
UkQxNiBsZW5ndGggOwogICAgcGV4UGhpZ3NXa3Mgd2tzIDsKICAgIENBUkQzMiBudW1SZWN0cyA7
Cgp9IHBleFJlZHJhd0NsaXBSZWdpb25SZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVxIHBleEV4
ZWN1dGVEZWZlcnJlZEFjdGlvbnNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFU
eXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhQaGlnc1dr
cyB3a3MgOwogICAgcGV4VGFibGVJbmRleCBpbmRleDEgOwogICAgcGV4VGFibGVJbmRleCBpbmRl
eDIgOwogICAgQ0FSRDE2IHByaW9yaXR5IDsKICAgIENBUkQxNiBwYWQgOwp9IHBleFNldFZpZXdQ
cmlvcml0eVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJE
OCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFBoaWdzV2tzIHdrcyA7CiAgICBw
ZXhFbnVtVHlwZUluZGV4IGRpc3BsYXlVcGRhdGUgOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4U2V0
RGlzcGxheVVwZGF0ZU1vZGVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUlu
ZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4UGhpZ3NXa3Mgd2tzIDsK
ICAgIENBUkQzMiBudW1Db29yZHMgOwoKfSBwZXhNYXBEQ3RvV0NSZXE7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0
aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiBpbmRleCA7CiAg
ICBwZXhQaGlnc1drcyB3a3MgOwogICAgQ0FSRDMyIG51bUNvb3JkcyA7Cgp9IHBleE1hcFdDdG9E
Q1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNv
ZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwog
ICAgQ0FSRDE2IHVudXNlZCA7CiAgICBwZXhQaGlnc1drcyB3a3MgOwogICAgcGV4Vmlld1JlcCB2
aWV3UmVwOwp9IHBleFNldFZpZXdSZXBSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCBy
ZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVt
VHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4UGhpZ3NXa3Mg
d2tzIDsKICAgIHBleE5wY1N1YnZvbHVtZSBucGNTdWJ2b2x1bWU7Cn0gcGV4U2V0V2tzV2luZG93
UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29k
ZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAg
ICBDQVJEMTYgdW51c2VkIDsKICAgIHBleFBoaWdzV2tzIHdrcyA7CiAgICBwZXhWaWV3cG9ydCB2
aWV3cG9ydDsKfSBwZXhTZXRXa3NWaWV3cG9ydFJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENB
UkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBl
eFBoaWdzV2tzIHdrcyA7CiAgICBwZXhFbnVtVHlwZUluZGV4IG1vZGUgOwogICAgQ0FSRDE2IHBh
ZCA7Cn0gcGV4U2V0SGxoc3JNb2RlUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVx
VHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4UGhpZ3NX
a3Mgd2tzIDsKICAgIENBUkQxNiBidWZmZXJNb2RlIDsKICAgIENBUkQxNiBwYWQgOwp9IHBleFNl
dFdrc0J1ZmZlck1vZGVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwog
ICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4
IGZwRm9ybWF0IDsKICAgIENBUkQxNiB1bnVzZWQgOwogICAgcGV4UGhpZ3NXa3Mgd2tzIDsKICAg
IHBleFN0cnVjdHVyZSBzaWQgOwogICAgUEVYRkxPQVQgcHJpb3JpdHk7Cn0gcGV4UG9zdFN0cnVj
dHVyZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBv
cGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFBoaWdzV2tzIHdrcyA7CiAgICBwZXhT
dHJ1Y3R1cmUgc2lkIDsKfSBwZXhVbnBvc3RTdHJ1Y3R1cmVSZXE7Cgp0eXBlZGVmIHBleFJlc291
cmNlUmVxIHBleFVucG9zdEFsbFN0cnVjdHVyZXNSZXE7Cgp0eXBlZGVmIHBleFJlc291cmNlUmVx
IHBleEdldFdrc1Bvc3RpbmdzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlw
ZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJ
bmRleCBmcEZvcm1hdCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGRldlR5cGUgOwogICAgcGV4UGhp
Z3NXa3Mgd2tzIDsKICAgIHBleEJpdG1hc2sgaXRlbU1hc2sgOwp9IHBleEdldFBpY2tEZXZpY2VS
ZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2Rl
OwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAg
IENBUkQxNiB1bnVzZWQgOwogICAgcGV4UGhpZ3NXa3Mgd2tzIDsKICAgIHBleEVudW1UeXBlSW5k
ZXggZGV2VHlwZSA7CiAgICBDQVJEMTYgdW51c2VkMiA7CiAgICBwZXhCaXRtYXNrIGl0ZW1NYXNr
IDsKCn0gcGV4Q2hhbmdlUGlja0RldmljZVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4
IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleFBo
aWdzV2tzIHdrcyA7CiAgICBwZXhQaWNrTWVhc3VyZSBwbTsKICAgIHBleEVudW1UeXBlSW5kZXgg
ZGV2VHlwZSA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhDcmVhdGVQaWNrTWVhc3VyZVJlcTsKCnR5
cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4RnJlZVBpY2tNZWFzdXJlUmVxOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5n
dGggOwogICAgcGV4UGlja01lYXN1cmUgcG0gOwogICAgcGV4Qml0bWFzayBpdGVtTWFzayA7Cn0g
cGV4R2V0UGlja01lYXN1cmVSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBl
OwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhQaWNrTWVhc3Vy
ZSBwbSA7CiAgICBDQVJEMzIgbnVtQnl0ZXMgOwoKCn0gcGV4VXBkYXRlUGlja01lYXN1cmVSZXE7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwog
ICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIHBl
eEVudW1UeXBlSW5kZXggbWV0aG9kIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBEcmF3YWJs
ZSBkcmF3YWJsZSA7CiAgICBJTlQzMiBzaWQgOwoKfSBwZXhCZWdpblBpY2tPbmVSZXE7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FS
RDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwp9IHBleEVuZFBpY2tPbmVSZXE7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAg
Q0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIHBleEVu
dW1UeXBlSW5kZXggbWV0aG9kIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBEcmF3YWJsZSBk
cmF3YWJsZSA7CiAgICBwZXhTdHJ1Y3R1cmUgc2lkIDsKCn0gcGV4UGlja09uZVJlcTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJE
MTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgcGV4RW51bVR5
cGVJbmRleCBtZXRob2QgOwogICAgQ0FSRDggc2VuZEV2ZW50OwogICAgQ0FSRDggdW51c2VkWzNd
OwogICAgcGV4UmVuZGVyZXIgcmRyIDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsKICAgIElOVDMy
IHNpZCA7CiAgICBDQVJEMzIgcGlja01heEhpdHMgOwoKfSBwZXhCZWdpblBpY2tBbGxSZXE7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAg
Q0FSRDE2IGxlbmd0aCA7CiAgICBwZXhSZW5kZXJlciByZHIgOwp9IHBleEVuZFBpY2tBbGxSZXE7
Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwog
ICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9ybWF0IDsKICAgIHBl
eEVudW1UeXBlSW5kZXggbWV0aG9kIDsKICAgIHBleFJlbmRlcmVyIHJkciA7CiAgICBEcmF3YWJs
ZSBkcmF3YWJsZSA7CiAgICBDQVJEMzIgcGlja01heEhpdHMgOwoKfSBwZXhQaWNrQWxsUmVxOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAg
IENBUkQxNiBsZW5ndGggOwogICAgcGV4Rm9udCBmb250IDsKICAgIENBUkQzMiBudW1CeXRlcyA7
CgoKfSBwZXhPcGVuRm9udFJlcTsKCnR5cGVkZWYgcGV4UmVzb3VyY2VSZXEgcGV4Q2xvc2VGb250
UmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29k
ZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4Rm9udCBmb250IDsKfSBwZXhRdWVyeUZvbnRS
ZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2Rl
OwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBDQVJEMTYgbWF4TmFtZXMgOwogICAgQ0FSRDE2IG51
bUNoYXJzIDsKCgp9IHBleExpc3RGb250c1JlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4
IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIENBUkQx
NiB1bnVzZWQgOwogICAgQ0FSRDE2IG1heE5hbWVzIDsKICAgIENBUkQxNiBudW1DaGFycyA7CiAg
ICBDQVJEMTYgcGFkIDsKCgp9IHBleExpc3RGb250c1dpdGhJbmZvUmVxOwoKdHlwZWRlZiBzdHJ1
Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5n
dGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1hdCA7CiAgICBDQVJEMTYgdGV4dFBhdGgg
OwogICAgcGV4VGFibGVJbmRleCBmb250R3JvdXBJbmRleCA7CiAgICBDQVJEMTYgdW51c2VkIDsK
ICAgIFhJRCBpZCA7CiAgICBQRVhGTE9BVCBjaGFyRXhwYW5zaW9uOwogICAgUEVYRkxPQVQgY2hh
clNwYWNpbmc7CiAgICBQRVhGTE9BVCBjaGFySGVpZ2h0OwogICAgcGV4VGV4dEFsaWdubWVudERh
dGEgdGV4dEFsaWdubWVudDsKICAgIENBUkQzMiBudW1TdHJpbmdzIDsKCgp9IHBleFF1ZXJ5VGV4
dEV4dGVudHNSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJEOCByZXFUeXBlOwogICAgQ0FS
RDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IGZwRm9y
bWF0IDsKICAgIENBUkQxNiB1bnVzZWQ7CiAgICBEcmF3YWJsZSBkcmF3YWJsZSA7CiAgICBwZXhD
b2xvdXJBcHByb3hFbnRyeSBDb2xvdXJBcHByb3g7Cn0gcGV4UXVlcnlDb2xvckFwcHJveFJlcTsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAg
ICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgcGV4
RW51bVR5cGVJbmRleCBUTURpbWVuc2lvbiA7CiAgICBDQVJEMzIgVE1pZCA7CiAgICBDQVJEMTYg
bnVtTGV2ZWxzIDsKICAgIHBleEVudW1UeXBlSW5kZXggdGV4ZWxUeXBlIDsKCn0gcGV4Q3JlYXRl
Q29sb3JNaXBNYXBUTVJlcTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAg
ICBDQVJEOCBvcGNvZGU7CiAgICBDQVJEMTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXgg
ZnBGb3JtYXQgOwogICAgcGV4RW51bVR5cGVJbmRleCBUTURpbWVuc2lvbiA7CiAgICBDQVJEMzIg
VE1pZCA7CiAgICBDQVJEMTYgbnVtTGV2ZWxzIDsKICAgIHBleEVudW1UeXBlSW5kZXggdGV4ZWxU
eXBlIDsKICAgIERyYXdhYmxlIGRyYXdhYmxlIDsKICAgIENBUkQxNiBsdW1uYW5jZVNlbGVjdG9y
IDsKICAgIENBUkQxNiBhbHBoYVNlbGVjdG9yIDsKCgoKCn0gcGV4Q3JlYXRlQ29sb3JNaXBNYXBm
cm9tUmVzUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4
IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgcGV4RW51bVR5cGVJbmRleCBmcEZvcm1h
dCA7CiAgICBwZXhFbnVtVHlwZUluZGV4IHVudXNlZCA7CiAgICBEcmF3YWJsZSBkcmF3YWJsZSA7
CiAgICBQRVhGTE9BVCBzcmNfd2VpZ2h0OwogICAgUEVYRkxPQVQgZHN0X3dlaWdodDsKfSBwZXhB
Y2N1bXVsYXRlQnVmZmVyUmVxOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgQ0FSRDggcmVxVHlwZTsK
ICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGggOwogICAgRHJhd2FibGUgZHJhd2Fi
bGUgOwp9IHBleEFsbG9jQWNjdW1CdWZmZXJSZXE7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBDQVJE
OCByZXFUeXBlOwogICAgQ0FSRDggb3Bjb2RlOwogICAgQ0FSRDE2IGxlbmd0aCA7CiAgICBEcmF3
YWJsZSBkcmF3YWJsZSA7Cn0gcGV4RnJlZUFjY3VtQnVmZmVyUmVxOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgQ0FSRDggcmVxVHlwZTsKICAgIENBUkQ4IG9wY29kZTsKICAgIENBUkQxNiBsZW5ndGgg
OwogICAgRHJhd2FibGUgZHJhd2FibGUgOwp9IHBleExvYWRBY2N1bUJ1ZmZlclJlcTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIENBUkQ4IHJlcVR5cGU7CiAgICBDQVJEOCBvcGNvZGU7CiAgICBDQVJE
MTYgbGVuZ3RoIDsKICAgIHBleEVudW1UeXBlSW5kZXggZnBGb3JtYXQgOwogICAgcGV4RW51bVR5
cGVJbmRleCB1bnVzZWQgOwogICAgRHJhd2FibGUgZHJhd2FibGUgOwogICAgUEVYRkxPQVQgc2Nh
bGU7Cn0gcGV4UmV0dXJuQWNjdW1CdWZmZXJSZXE7CgoKCgoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
cGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleEVudW1UeXBlSW5kZXggbWFya2VyVHlwZSA7CiAg
ICBDQVJEMTYgcGFkIDsKfSBwZXhNYXJrZXJUeXBlOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4
RWxlbWVudEluZm8gaGVhZDsKICAgIFBFWEZMT0FUIHNjYWxlOwp9IHBleE1hcmtlclNjYWxlOwoK
dHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleFRhYmxlSW5k
ZXggaW5kZXggOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4TWFya2VyQnVuZGxlSW5kZXg7Cgp0eXBl
ZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBleE1hcmtlckNvbG91ckluZGV4Owp0eXBlZGVmIHBl
eE1hcmtlckJ1bmRsZUluZGV4IHBleFRleHRDb2xvdXJJbmRleDsKdHlwZWRlZiBwZXhNYXJrZXJC
dW5kbGVJbmRleCBwZXhMaW5lQ29sb3VySW5kZXg7CnR5cGVkZWYgcGV4TWFya2VyQnVuZGxlSW5k
ZXggcGV4U3VyZmFjZUNvbG91ckluZGV4Owp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBl
eEJmU3VyZmFjZUNvbG91ckluZGV4Owp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBleFN1
cmZhY2VFZGdlQ29sb3VySW5kZXg7Cgp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBleFRl
eHRGb250SW5kZXg7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwog
ICAgcGV4Q29sb3VyU3BlY2lmaWVyIGNvbG91clNwZWM7Cgp9IHBleE1hcmtlckNvbG91cjsKCnR5
cGVkZWYgcGV4TWFya2VyQ29sb3VyIHBleFRleHRDb2xvdXI7CnR5cGVkZWYgcGV4TWFya2VyQ29s
b3VyIHBleExpbmVDb2xvdXI7CnR5cGVkZWYgcGV4TWFya2VyQ29sb3VyIHBleFN1cmZhY2VDb2xv
dXI7CnR5cGVkZWYgcGV4TWFya2VyQ29sb3VyIHBleEJmU3VyZmFjZUNvbG91cjsKdHlwZWRlZiBw
ZXhNYXJrZXJDb2xvdXIgcGV4U3VyZmFjZUVkZ2VDb2xvdXI7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4RW51bVR5cGVJbmRleCBzdHlsZSA7CiAgICBD
QVJEMTYgcGFkIDsKfSBwZXhBdGV4dFN0eWxlOwoKdHlwZWRlZiBwZXhNYXJrZXJCdW5kbGVJbmRl
eCBwZXhUZXh0QnVuZGxlSW5kZXg7CnR5cGVkZWYgcGV4TWFya2VyQnVuZGxlSW5kZXggcGV4TGlu
ZUJ1bmRsZUluZGV4Owp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBleEludGVyaW9yQnVu
ZGxlSW5kZXg7CnR5cGVkZWYgcGV4TWFya2VyQnVuZGxlSW5kZXggcGV4SW50ZXJpb3JTdHlsZUlu
ZGV4Owp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBleEJmSW50ZXJpb3JTdHlsZUluZGV4
Owp0eXBlZGVmIHBleE1hcmtlckJ1bmRsZUluZGV4IHBleEVkZ2VCdW5kbGVJbmRleDsKdHlwZWRl
ZiBwZXhNYXJrZXJCdW5kbGVJbmRleCBwZXhWaWV3SW5kZXg7CnR5cGVkZWYgcGV4TWFya2VyQnVu
ZGxlSW5kZXggcGV4RGVwdGhDdWVJbmRleDsKdHlwZWRlZiBwZXhNYXJrZXJCdW5kbGVJbmRleCBw
ZXhDb2xvdXJBcHByb3hJbmRleDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZv
IGhlYWQ7CiAgICBDQVJEMTYgcHJlY2lzaW9uIDsKICAgIENBUkQxNiBwYWQgOwp9IHBleFRleHRQ
cmVjaXNpb247Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAg
UEVYRkxPQVQgZXhwYW5zaW9uOwp9IHBleENoYXJFeHBhbnNpb247Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgUEVYRkxPQVQgc3BhY2luZzsKfSBwZXhDaGFy
U3BhY2luZzsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBQ
RVhGTE9BVCBoZWlnaHQ7Cn0gcGV4Q2hhckhlaWdodDsKdHlwZWRlZiBwZXhDaGFySGVpZ2h0IHBl
eEF0ZXh0SGVpZ2h0OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsK
ICAgIHBleFZlY3RvcjJEIHVwOwp9IHBleENoYXJVcFZlY3RvcjsKdHlwZWRlZiBwZXhDaGFyVXBW
ZWN0b3IgcGV4QXRleHRVcFZlY3RvcjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJ
bmZvIGhlYWQ7CiAgICBDQVJEMTYgcGF0aCA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhUZXh0UGF0
aDsKdHlwZWRlZiBwZXhUZXh0UGF0aCBwZXhBdGV4dFBhdGg7Cgp0eXBlZGVmIHN0cnVjdCB7CiAg
ICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4VGV4dEFsaWdubWVudERhdGEgYWxpZ25tZW50
Owp9IHBleFRleHRBbGlnbm1lbnQ7CnR5cGVkZWYgcGV4VGV4dEFsaWdubWVudCBwZXhBdGV4dEFs
aWdubWVudDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBw
ZXhFbnVtVHlwZUluZGV4IGxpbmVUeXBlIDsKICAgIENBUkQxNiBwYWQgOwp9IHBleExpbmVUeXBl
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIFBFWEZMT0FU
IHdpZHRoOwp9IHBleExpbmVXaWR0aDsKdHlwZWRlZiBwZXhMaW5lV2lkdGggcGV4U3VyZmFjZUVk
Z2VXaWR0aDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBw
ZXhDdXJ2ZUFwcHJveCBhcHByb3g7Cn0gcGV4Q3VydmVBcHByb3hpbWF0aW9uOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleEVudW1UeXBlSW5kZXggcG9s
eWxpbmVJbnRlcnAgOwogICAgQ0FSRDE2IHBhZCA7Cn0gcGV4UG9seWxpbmVJbnRlcnA7Cgp0eXBl
ZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4RW51bVR5cGVJbmRl
eCBpbnRlcmlvclN0eWxlIDsKICAgIENBUkQxNiBwYWQgOwp9IHBleEludGVyaW9yU3R5bGU7CnR5
cGVkZWYgcGV4SW50ZXJpb3JTdHlsZSBwZXhCZkludGVyaW9yU3R5bGU7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4UmVmbGVjdGlvbkF0dHIgcmVmbGVj
dGlvbkF0dHI7Cn0gcGV4U3VyZmFjZVJlZmxBdHRyOwp0eXBlZGVmIHBleFN1cmZhY2VSZWZsQXR0
ciBwZXhCZlN1cmZhY2VSZWZsQXR0cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJ
bmZvIGhlYWQ7CiAgICBwZXhFbnVtVHlwZUluZGV4IHJlZmxlY3Rpb25Nb2RlbCA7CiAgICBDQVJE
MTYgcGFkIDsKfSBwZXhTdXJmYWNlUmVmbE1vZGVsOwp0eXBlZGVmIHBleFN1cmZhY2VSZWZsTW9k
ZWwgcGV4QmZTdXJmYWNlUmVmbE1vZGVsOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVu
dEluZm8gaGVhZDsKICAgIHBleEVudW1UeXBlSW5kZXggc3VyZmFjZUludGVycCA7CiAgICBDQVJE
MTYgcGFkIDsKfSBwZXhTdXJmYWNlSW50ZXJwOwp0eXBlZGVmIHBleFN1cmZhY2VJbnRlcnAgcGV4
QmZTdXJmYWNlSW50ZXJwOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVh
ZDsKICAgIHBleFN1cmZhY2VBcHByb3ggYXBwcm94Owp9IHBleFN1cmZhY2VBcHByb3hpbWF0aW9u
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleEN1bGxN
b2RlIGN1bGxNb2RlIDsKICAgIENBUkQxNiBwYWQgOwp9IHBleEN1bGxpbmdNb2RlOwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleFN3aXRjaCBkaXN0aW5n
dWlzaDsKICAgIEJZVEUgcGFkWzNdOwp9IHBleERpc3Rpbmd1aXNoRmxhZzsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhWZWN0b3IyRCBzaXplOwp9IHBl
eFBhdHRlcm5TaXplOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsK
ICAgIHBleENvb3JkMkQgcG9pbnQ7Cn0gcGV4UGF0dGVyblJlZlB0OwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvb3JkM0QgcmVmUHQ7CiAgICBwZXhW
ZWN0b3IzRCB2ZWN0b3IxOwogICAgcGV4VmVjdG9yM0QgdmVjdG9yMjsKfSBwZXhQYXR0ZXJuQXR0
cjsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhTd2l0
Y2ggb25vZmY7CiAgICBCWVRFIHBhZFszXTsKfSBwZXhTdXJmYWNlRWRnZUZsYWc7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4RW51bVR5cGVJbmRleCBl
ZGdlVHlwZSA7CiAgICBDQVJEMTYgcGFkIDsKfSBwZXhTdXJmYWNlRWRnZVR5cGU7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4QXNmQXR0cmlidXRlIGF0
dHJpYnV0ZSA7CiAgICBwZXhBc2ZWYWx1ZSBzb3VyY2U7CiAgICBCWVRFIHBhZFszXTsKfSBwZXhT
ZXRBc2ZWYWx1ZXM7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwog
ICAgcGV4Q29tcG9zaXRpb24gY29tcFR5cGU7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIHBleE1h
dHJpeCBtYXRyaXg7Cn0gcGV4TG9jYWxUcmFuc2Zvcm07Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBw
ZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4Q29tcG9zaXRpb24gY29tcFR5cGU7CiAgICBDQVJE
MTYgdW51c2VkIDsKICAgIHBleE1hdHJpeDNYMyBtYXRyaXgzWDM7Cn0gcGV4TG9jYWxUcmFuc2Zv
cm0yRDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhN
YXRyaXggbWF0cml4Owp9IHBleEdsb2JhbFRyYW5zZm9ybTsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhNYXRyaXgzWDMgbWF0cml4M1gzOwp9IHBleEds
b2JhbFRyYW5zZm9ybTJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVh
ZDsKICAgIHBleFN3aXRjaCBvbm9mZjsKICAgIEJZVEUgcGFkWzNdOwp9IHBleE1vZGVsQ2xpcDsK
CnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhFbnVtVHlw
ZUluZGV4IG1vZGVsQ2xpcE9wZXJhdG9yIDsKICAgIENBUkQxNiBudW1IYWxmU3BhY2VzIDsKCn0g
cGV4TW9kZWxDbGlwVm9sdW1lOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8g
aGVhZDsKICAgIHBleEVudW1UeXBlSW5kZXggbW9kZWxDbGlwT3BlcmF0b3IgOwogICAgQ0FSRDE2
IG51bUhhbGZTcGFjZXMgOwoKfSBwZXhNb2RlbENsaXBWb2x1bWUyRDsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7Cn0gcGV4UmVzdG9yZU1vZGVsQ2xpcDsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBDQVJEMTYgbnVtRW5hYmxl
IDsKICAgIENBUkQxNiBudW1EaXNhYmxlIDsKCgoKCn0gcGV4TGlnaHRTdGF0ZTsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBDQVJEMzIgcGlja0lkIDsKfSBw
ZXhQaWNrSWQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAg
Q0FSRDMyIGhsaHNySUQgOwp9IHBleEhsaHNySWRlbnRpZmllcjsKCnR5cGVkZWYgc3RydWN0IHsK
ICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhFbnVtVHlwZUluZGV4IG1vZGVsIDsKICAg
IENBUkQxNiBwYWQgOwp9IHBleFJlbmRlcmluZ0NvbG91ck1vZGVsOwoKdHlwZWRlZiBzdHJ1Y3Qg
ewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleEVudW1UeXBlSW5kZXggY2hhcmFjdGVy
aXN0aWNzIDsKICAgIENBUkQxNiBsZW5ndGggOwoKfSBwZXhQYXJhU3VyZkNoYXJhY3RlcmlzdGlj
czsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7Cgp9IHBleEFkZFRv
TmFtZVNldDsKdHlwZWRlZiBwZXhBZGRUb05hbWVTZXQgcGV4UmVtb3ZlRnJvbU5hbWVTZXQ7Cgp0
eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgcGV4U3RydWN0dXJl
IGlkIDsKfSBwZXhFeGVjdXRlU3RydWN0dXJlOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxl
bWVudEluZm8gaGVhZDsKICAgIElOVDMyIGxhYmVsIDsKfSBwZXhMYWJlbDsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBDQVJEMTYgbnVtRWxlbWVudHMgOwog
ICAgQ0FSRDE2IHVudXNlZCA7CgoKfSBwZXhBcHBsaWNhdGlvbkRhdGE7Cgp0eXBlZGVmIHN0cnVj
dCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwogICAgQ0FSRDMyIGlkIDsKICAgIENBUkQxNiBu
dW1FbGVtZW50cyA7CiAgICBDQVJEMTYgdW51c2VkIDsKCgp9IHBleEdzZTsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7Cgp9IHBleE1hcmtlcjsKCnR5cGVkZWYgc3Ry
dWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7Cgp9IHBleE1hcmtlcjJEOwoKdHlwZWRlZiBz
dHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvb3JkM0Qgb3JpZ2luOwog
ICAgcGV4VmVjdG9yM0QgdmVjdG9yMTsKICAgIHBleFZlY3RvcjNEIHZlY3RvcjI7CiAgICBDQVJE
MTYgbnVtRW5jb2RpbmdzIDsKICAgIENBUkQxNiB1bnVzZWQgOwoKfSBwZXhUZXh0OwoKdHlwZWRl
ZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvb3JkMkQgb3JpZ2lu
OwogICAgQ0FSRDE2IG51bUVuY29kaW5ncyA7CiAgICBDQVJEMTYgdW51c2VkIDsKCn0gcGV4VGV4
dDJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENv
b3JkM0Qgb3JpZ2luOwogICAgcGV4Q29vcmQzRCBvZmZzZXQ7CiAgICBDQVJEMTYgbnVtRW5jb2Rp
bmdzIDsKICAgIENBUkQxNiB1bnVzZWQgOwoKfSBwZXhBbm5vdGF0aW9uVGV4dDsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhDb29yZDJEIG9yaWdpbjsK
ICAgIHBleENvb3JkMkQgb2Zmc2V0OwogICAgQ0FSRDE2IG51bUVuY29kaW5ncyA7CiAgICBDQVJE
MTYgdW51c2VkIDsKCn0gcGV4QW5ub3RhdGlvblRleHQyRDsKCnR5cGVkZWYgc3RydWN0IHsKICAg
IHBleEVsZW1lbnRJbmZvIGhlYWQ7Cgp9IHBleFBvbHlsaW5lOwoKdHlwZWRlZiBzdHJ1Y3Qgewog
ICAgcGV4RWxlbWVudEluZm8gaGVhZDsKCn0gcGV4UG9seWxpbmUyRDsKCnR5cGVkZWYgc3RydWN0
IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhDb2xvdXJUeXBlIGNvbG91clR5cGUg
OwogICAgcGV4Qml0bWFza1Nob3J0IHZlcnRleEF0dHJpYnMgOwogICAgQ0FSRDMyIG51bUxpc3Rz
IDsKCn0gcGV4UG9seWxpbmVTZXQ7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5m
byBoZWFkOwogICAgQ0FSRDE2IGN1cnZlT3JkZXIgOwogICAgcGV4Q29vcmRUeXBlIGNvb3JkVHlw
ZSA7CiAgICBQRVhGTE9BVCB0bWluOwogICAgUEVYRkxPQVQgdG1heDsKICAgIENBUkQzMiBudW1L
bm90cyA7CiAgICBDQVJEMzIgbnVtUG9pbnRzIDsKCgp9IHBleE51cmJDdXJ2ZTsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBDQVJEMTYgc2hhcGUgOwogICAg
cGV4U3dpdGNoIGlnbm9yZUVkZ2VzOwogICAgQ0FSRDggcGFkOwoKfSBwZXhGaWxsQXJlYTsKCnR5
cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBDQVJEMTYgc2hhcGUg
OwogICAgcGV4U3dpdGNoIGlnbm9yZUVkZ2VzOwogICAgQ0FSRDggdW51c2VkOwoKfSBwZXhGaWxs
QXJlYTJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIENB
UkQxNiBzaGFwZSA7CiAgICBwZXhTd2l0Y2ggaWdub3JlRWRnZXM7CiAgICBDQVJEOCB1bnVzZWQ7
CiAgICBwZXhDb2xvdXJUeXBlIGNvbG91clR5cGUgOwogICAgcGV4Qml0bWFza1Nob3J0IGZhY2V0
QXR0cmlicyA7CiAgICBwZXhCaXRtYXNrU2hvcnQgdmVydGV4QXR0cmlicyA7CiAgICBDQVJEMTYg
dW51c2VkMiA7Cgp9IHBleEV4dEZpbGxBcmVhOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxl
bWVudEluZm8gaGVhZDsKICAgIENBUkQxNiBzaGFwZSA7CiAgICBwZXhTd2l0Y2ggaWdub3JlRWRn
ZXM7CiAgICBDQVJEOCBjb250b3VySGludDsKICAgIENBUkQzMiBudW1MaXN0cyA7Cgp9IHBleEZp
bGxBcmVhU2V0OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAg
IENBUkQxNiBzaGFwZSA7CiAgICBwZXhTd2l0Y2ggaWdub3JlRWRnZXM7CiAgICBDQVJEOCBjb250
b3VySGludDsKICAgIENBUkQzMiBudW1MaXN0cyA7Cgp9IHBleEZpbGxBcmVhU2V0MkQ7CgoKdHlw
ZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIENBUkQxNiBzaGFwZSA7
CiAgICBwZXhTd2l0Y2ggaWdub3JlRWRnZXM7CiAgICBDQVJEOCBjb250b3VySGludDsKICAgIHBl
eENvbG91clR5cGUgY29sb3VyVHlwZSA7CiAgICBwZXhCaXRtYXNrU2hvcnQgZmFjZXRBdHRyaWJz
IDsKICAgIHBleEJpdG1hc2tTaG9ydCB2ZXJ0ZXhBdHRyaWJzIDsKICAgIENBUkQxNiB1bnVzZWQy
IDsKICAgIENBUkQzMiBudW1MaXN0cyA7CgoKfSBwZXhFeHRGaWxsQXJlYVNldDsKCnR5cGVkZWYg
c3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhDb2xvdXJUeXBlIGNvbG91
clR5cGUgOwogICAgcGV4Qml0bWFza1Nob3J0IGZhY2V0QXR0cmlicyA7CiAgICBwZXhCaXRtYXNr
U2hvcnQgdmVydGV4QXR0cmlicyA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIENBUkQzMiBudW1W
ZXJ0aWNlcyA7CgoKCn0gcGV4VHJpYW5nbGVTdHJpcDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBl
eEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhDb2xvdXJUeXBlIGNvbG91clR5cGUgOwogICAgQ0FS
RDE2IG1QdHMgOwogICAgQ0FSRDE2IG5QdHMgOwogICAgcGV4Qml0bWFza1Nob3J0IGZhY2V0QXR0
cmlicyA7CiAgICBwZXhCaXRtYXNrU2hvcnQgdmVydGV4QXR0cmlicyA7CiAgICBDQVJEMTYgc2hh
cGUgOwoKCgp9IHBleFF1YWRyaWxhdGVyYWxNZXNoOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4
RWxlbWVudEluZm8gaGVhZDsKICAgIENBUkQxNiBzaGFwZSA7CiAgICBwZXhDb2xvdXJUeXBlIGNv
bG91clR5cGUgOwogICAgQ0FSRDE2IEZBU19BdHRyaWJ1dGVzIDsKICAgIENBUkQxNiB2ZXJ0ZXhB
dHRyaWJ1dGVzIDsKICAgIENBUkQxNiBlZGdlQXR0cmlidXRlcyA7CiAgICBDQVJEOCBjb250b3Vy
SGludDsKICAgIHBleFN3aXRjaCBjb250b3VyQ291bnRzRmxhZzsKICAgIENBUkQxNiBudW1GQVMg
OwogICAgQ0FSRDE2IG51bVZlcnRpY2VzIDsKICAgIENBUkQxNiBudW1FZGdlcyA7CiAgICBDQVJE
MTYgbnVtQ29udG91cnMgOwoKCgoKCgp9IHBleFNPRkFTOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAg
cGV4RWxlbWVudEluZm8gaGVhZDsKICAgIHBleENvb3JkVHlwZSB0eXBlIDsKICAgIENBUkQxNiB1
T3JkZXIgOwogICAgQ0FSRDE2IHZPcmRlciA7CiAgICBDQVJEMTYgdW51c2VkIDsKICAgIENBUkQz
MiBudW1Va25vdHMgOwogICAgQ0FSRDMyIG51bVZrbm90cyA7CiAgICBDQVJEMTYgbVB0cyA7CiAg
ICBDQVJEMTYgblB0cyA7CiAgICBDQVJEMzIgbnVtTGlzdHMgOwoKCgoKfSBwZXhOdXJiU3VyZmFj
ZTsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhDb29y
ZDNEIHBvaW50MTsKICAgIHBleENvb3JkM0QgcG9pbnQyOwogICAgcGV4Q29vcmQzRCBwb2ludDM7
CiAgICBDQVJEMzIgZHggOwogICAgQ0FSRDMyIGR5IDsKCgp9IHBleENlbGxBcnJheTsKCnR5cGVk
ZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZvIGhlYWQ7CiAgICBwZXhDb29yZDJEIHBvaW50
MTsKICAgIHBleENvb3JkMkQgcG9pbnQyOwogICAgQ0FSRDMyIGR4IDsKICAgIENBUkQzMiBkeSA7
CgoKfSBwZXhDZWxsQXJyYXkyRDsKCnR5cGVkZWYgc3RydWN0IHsKICAgIHBleEVsZW1lbnRJbmZv
IGhlYWQ7CiAgICBwZXhDb2xvdXJUeXBlIGNvbG91clR5cGUgOwogICAgQ0FSRDE2IHVudXNlZCA7
CiAgICBwZXhDb29yZDNEIHBvaW50MTsKICAgIHBleENvb3JkM0QgcG9pbnQyOwogICAgcGV4Q29v
cmQzRCBwb2ludDM7CiAgICBDQVJEMzIgZHggOwogICAgQ0FSRDMyIGR5IDsKCn0gcGV4RXh0Q2Vs
bEFycmF5OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8gaGVhZDsKICAgIElO
VDMyIGdkcElkIDsKICAgIENBUkQzMiBudW1Qb2ludHMgOwogICAgQ0FSRDMyIG51bUJ5dGVzIDsK
CgoKfSBwZXhHZHA7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBwZXhFbGVtZW50SW5mbyBoZWFkOwog
ICAgSU5UMzIgZ2RwSWQgOwogICAgQ0FSRDMyIG51bVBvaW50cyA7CiAgICBDQVJEMzIgbnVtQnl0
ZXMgOwoKCgp9IHBleEdkcDJEOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgcGV4RWxlbWVudEluZm8g
aGVhZDsKfSBwZXhOb29wOwoKCgoKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICBCWVRFIHR5cGU7CiAg
ICBDQVJEOCB3aGF0OwogICAgQ0FSRDE2IHNlcXVlbmNlTnVtYmVyIDsKICAgIENBUkQzMiByZHIg
OwogICAgQllURSBwYWRbMjRdOwp9IHBleE1heEhpdHNSZWFjaGVkRXZlbnQ7CiMgNTYgIi4uL2lu
Y2x1ZGUvbWlTdHJ1Y3QuaCIgMgoKCnR5cGVkZWYgZGRwZXg0cnRuICgqY3NzVGFibGVUeXBlKSgp
OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGRkVVNIT1JUIGVsZW1lbnRUeXBlOwogICAgICAg
IGRkVVNIT1JUIHBleE9DbGVuZ3RoOwojIDczICIuLi9pbmNsdWRlL21pU3RydWN0LmgiCn0gbWlH
ZW5lcmljU3RyOwoKdHlwZWRlZiBzdHJ1Y3QgX21pQ1NTRWxlbWVudCB7CiAgICAgICAgc3RydWN0
IF9taUNTU0VsZW1lbnQgKnByZXYsICpuZXh0OwogICAgICAgIGRpU3RydWN0SGFuZGxlIHBTdHJ1
Y3Q7CiAgICAgICAgbWlHZW5lcmljU3RyIGVsZW1lbnQ7Cgp9IG1pR2VuZXJpY0VsZW1lbnRTdHIs
ICptaUdlbmVyaWNFbGVtZW50UHRyOwoKdHlwZWRlZiBzdHJ1Y3QgX21pQ1NTRWxlbWVudEhlYWQg
ewogICAgICAgIHN0cnVjdCBfbWlDU1NFbGVtZW50SGVhZCAqbmV4dCwgKnByZXY7Cn0gbWlFbGVt
ZW50SGVhZFN0cjsKCgoKdHlwZWRlZiBzdHJ1Y3QgX21pU3RydWN0SGVhZGVyIHsKCiAgICAgICAg
ZGRVU0hPUlQgZWRpdE1vZGU7CiAgICAgICAgZGRVTE9ORyBudW1FbGVtZW50czsKICAgICAgICBk
ZFVMT05HIHRvdGFsU2l6ZTsKICAgICAgICBtaUdlbmVyaWNFbGVtZW50UHRyIHBaZXJvRWxlbWVu
dDsKICAgICAgICBtaUdlbmVyaWNFbGVtZW50UHRyIHBMYXN0RWxlbWVudDsKICAgICAgICBtaUdl
bmVyaWNFbGVtZW50UHRyIHBDdXJyRWxlbWVudDsKICAgICAgICBkZExPTkcgY3VyckVsZW1lbnRP
ZmZzZXQ7CiAgICAgICAgbGlzdG9mT2JqICpwYXJlbnRzOwogICAgICAgIGxpc3RvZk9iaiAqY2hp
bGRyZW47CiAgICAgICAgbGlzdG9mT2JqICp3a3NQb3N0ZWRUbzsKICAgICAgICBsaXN0b2ZPYmog
Kndrc0FwcGVhck9uOwogICAgICAgIGRkVUxPTkcgcmVmQ291bnQ7CiAgICAgICAgZGRCT09MIGZy
ZWVGbGFnOwoKfSBtaVN0cnVjdFN0ciwgKm1pU3RydWN0UHRyOwojIDEyNSAiLi4vaW5jbHVkZS9t
aVN0cnVjdC5oIgp0eXBlZGVmIGVudW0gewogICAgICAgIEVTX1lFUyA9IDAsCiAgICAgICAgRVNf
UE9QID0gMSwKICAgICAgICBFU19GT0xMT1dfUElDSyA9IDIsCiAgICAgICAgRVNfRk9MTE9XX1NF
QVJDSCA9IDMKfSBtaUV4ZWNTdHJTdGF0ZTsKCgp0eXBlZGVmIHN0cnVjdCBfbWlQUExldmVsIHsK
ICBkZFBpY2tQYXRoIHBwOwogIHN0cnVjdCBfbWlQUExldmVsICp1cDsKfSBtaVBQTGV2ZWw7CgoK
CgoKCnR5cGVkZWYgc3RydWN0IHsKICAgICAgICBtaUV4ZWNTdHJTdGF0ZSBleGVjX3N0cl9mbGFn
OwogICAgICAgIGRkVUxPTkcgcGlja0lkOwogICAgICAgIGRkVUxPTkcgUk9Db2Zmc2V0OwogICAg
ICAgIGRkUGlja1BhdGggKnBfY3Vycl9waWNrX2VsOwogICAgICAgIGRkRWxlbWVudFJlZiAqcF9j
dXJyX3NjX2VsOwogICAgICAgIGRkU0hPUlQgbWF4X2RlcHRoOwogICAgICAgIG1pUFBMZXZlbCAq
cF9waWNrX3BhdGg7Cn0gbWlUcmF2ZXJzZXJTdGF0ZTsKIyA1NiAibWlQY2sxUHJpbS5jIiAyCiMg
MSAiLi4vaW5jbHVkZS9taUZvbnQuaCIgMQojIDU2ICIuLi9pbmNsdWRlL21pRm9udC5oIgojIDEg
Ii4uLy4uLy4uL2luY2x1ZGUvZGRwZXgzLmgiIDEKIyA1NyAiLi4vaW5jbHVkZS9taUZvbnQuaCIg
MgojIDc1ICIuLi9pbmNsdWRlL21pRm9udC5oIgp0eXBlZGVmIGVudW0gewogICAgUEFUSF8yRD0w
LAogICAgUEFUSF8zRD0xLAogICAgUEFUSF80RD0yCn0gRm9udF9wYXRoX3R5cGU7Cgp0eXBlZGVm
IHN0cnVjdCB7CiAgICBGb250X3BhdGhfdHlwZSB0eXBlOwogICAgZGRGTE9BVCBjZW50ZXI7CiAg
ICBkZEZMT0FUIHJpZ2h0OwogICAgZGRVTE9ORyBuX3ZlcnRpY2VzOwogICAgbWlMaXN0SGVhZGVy
IHN0cm9rZXM7Cn0gQ2hfc3Ryb2tlX2RhdGE7Cgp0eXBlZGVmIGVudW0gewogICAgRk9OVF9QT0xZ
TElORVM9MCwKICAgIEZPTlRfU1BMSU5FUz0xLAogICAgRk9OVF9QT0xZR09OUz0yCn0gRm9udF90
eXBlOwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgRm9udF90eXBlIGZvbnRfdHlwZTsKICAgIGNoYXIg
bmFtZVs4MF07CiAgICB1bnNpZ25lZCBsb25nIG51bV9jaDsKICAgIGZsb2F0IHRvcCwgYm90dG9t
LCBtYXhfd2lkdGg7CiAgICBDaF9zdHJva2VfZGF0YSAqKmNoX2RhdGE7CiAgICBwZXhGb250SW5m
byBmb250X2luZm87CiAgICBwZXhGb250UHJvcCAqcHJvcGVydGllczsKICAgIGludCBsdXRSZWZD
b3VudDsKICAgIGludCBmcmVlRmxhZzsKfSBtaUZvbnRIZWFkZXI7Cgp0eXBlZGVmIHN0cnVjdCB7
CiAgICBkZEZMT0FUIHRvcCwgYm90dG9tLCB3aWR0aDsKfSBNZXRhX2ZvbnQ7Cgp0eXBlZGVmIHN0
cnVjdCB7CiAgY2hhciBwcm9wbmFtZVs4MF07CiAgY2hhciBwcm9wdmFsdWVbODBdOwp9UHJvcGVy
dHk7Cgp0eXBlZGVmIHN0cnVjdAp7CiAgICBpbnQgbWFnaWM7CiAgICBjaGFyIG5hbWVbODBdOwog
ICAgZmxvYXQgdG9wLAogICAgICAgICAgICBib3R0b20sCiAgICAgICAgICAgIG1heF93aWR0aDsK
ICAgIGludCBudW1fY2g7CiAgICBpbnQgbnVtX3Byb3BzOwogICAgUHJvcGVydHkgKnByb3BlcnRp
ZXM7Cn0gRm9udF9maWxlX2hlYWRlcjsKCnR5cGVkZWYgc3RydWN0CnsKICAgIGZsb2F0IGNlbnRl
ciwKICAgICAgICAgICAgcmlnaHQ7CiAgICBsb25nIG9mZnNldDsKCn0gRGlzcGF0Y2g7CiMgNTcg
Im1pUGNrMVByaW0uYyIgMgojIDEgIi4uL2luY2x1ZGUvbWlXa3MuaCIgMQojIDUwICIuLi9pbmNs
dWRlL21pV2tzLmgiCiMgMSAiLi4vLi4vLi4vaW5jbHVkZS9kZHBleDQuaCIgMQojIDUxICIuLi9p
bmNsdWRlL21pV2tzLmgiIDIKIyAxICIuLi9pbmNsdWRlL21pTlMuaCIgMQojIDUyICIuLi9pbmNs
dWRlL21pV2tzLmgiIDIKCiMgMSAiLi4vaW5jbHVkZS9taUluZm8uaCIgMQojIDY1ICIuLi9pbmNs
dWRlL21pSW5mby5oIgojIDEgIi4uL2luY2x1ZGUvbWlOUy5oIiAxCiMgNjYgIi4uL2luY2x1ZGUv
bWlJbmZvLmgiIDIKIyA1NCAiLi4vaW5jbHVkZS9taVdrcy5oIiAyCiMgMSAiLi4vaW5jbHVkZS9t
aVBpY2suaCIgMQojIDUwICIuLi9pbmNsdWRlL21pUGljay5oIgojIDEgIi4uLy4uLy4uL2luY2x1
ZGUvZGRwZXg0LmgiIDEKIyA1MSAiLi4vaW5jbHVkZS9taVBpY2suaCIgMgojIDU5ICIuLi9pbmNs
dWRlL21pUGljay5oIgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkZEVudW1UeXBlSW5kZXggdHlwZTsK
ICAgIGRkVVNIT1JUIHN0YXR1czsKICAgIGxpc3RvZk9iaiAqcGF0aDsKICAgIGRkVVNIT1JUIHBh
dGhPcmRlcjsKICAgIGRpTlNIYW5kbGUgaW5jbHVzaW9uOwogICAgZGlOU0hhbmRsZSBleGNsdXNp
b247CiAgICB1bmlvbiB7CiAgICAgICAgY2hhciBkY19kYXRhX3JlYzsKICAgICAgICBjaGFyIG5w
Y19kYXRhX3JlYzsKICAgIH0gZGF0YV9yZWM7CiAgICBkZEVudW1UeXBlSW5kZXggcGV0OwogICAg
ZGRWaWV3cG9ydCBlY2hvVm9sdW1lOwogICAgZGRVU0hPUlQgZWNob1N3aXRjaDsKICAgIGRkUG9p
bnRlciBkZXZQcml2Owp9IG1pUGlja0RldmljZTsKCnR5cGVkZWYgc3RydWN0IHsKCiAgICAgICAg
ZGlXS1NIYW5kbGUgcFdrczsKICAgICAgICBkZEVudW1UeXBlSW5kZXggdHlwZTsKICAgICAgICBk
ZFVTSE9SVCBzdGF0dXM7CiAgICAgICAgbGlzdG9mT2JqICpwYXRoOwogICAgICAgIGRkVVNIT1JU
IHBhdGhPcmRlcjsKICAgIGRpTlNIYW5kbGUgaW5jbF9oYW5kbGU7CiAgICBkaU5TSGFuZGxlIGV4
Y2xfaGFuZGxlOwogICAgICAgIHVuaW9uIHsKICAgICAgICAgICAgICAgIGNoYXIgZGNfZGF0YV9y
ZWM7CiAgICAgICAgICAgICAgICBjaGFyIG5wY19kYXRhX3JlYzsKICAgICAgICB9IGRhdGFfcmVj
OwogICAgICAgIHVuaW9uIHsKICAgICAgICAgICAgICAgIGRkUENfRENfSGl0Qm94IGRjX2hpdF9i
b3g7CiAgICAgICAgICAgICAgICBkZFBDX05QQ19IaXRWb2x1bWUgbnBjX2hpdF92b2x1bWU7CiAg
ICAgICAgfSBpbnB1dF9yZWM7CiAgICBkZFBvaW50ZXIgZGV2UHJpdjsKfSBtaVBpY2tNZWFzdXJl
U3RyOwojIDU1ICIuLi9pbmNsdWRlL21pV2tzLmgiIDIKCgoKCnR5cGVkZWYgc3RydWN0IF9kZE9y
ZFN0cnVjdCB7CiAgICAgICAgZGlTdHJ1Y3RIYW5kbGUgcHN0cnVjdDsKICAgICAgICBkZEZMT0FU
IHByaW9yaXR5OwogICAgICAgIHN0cnVjdCBfZGRPcmRTdHJ1Y3QgKm5leHQ7Cn0gZGRPcmRTdHJ1
Y3Q7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZGRVTE9ORyBudW1TdHJ1Y3RzOwogICAgICAg
IGRkT3JkU3RydWN0ICpwb3N0cnVjdDsKfSBsaXN0b2ZPcmRTdHJ1Y3Q7CiMgMTAzICIuLi9pbmNs
dWRlL21pV2tzLmgiCnR5cGVkZWYgc3RydWN0IF9kZE9yZFZpZXcgewogICAgICAgIHNob3J0IGRl
ZmluZWQ7CiAgICAgICAgZGRVU0hPUlQgZmlyc3RfdmlldzsKICAgICAgICBkZFVTSE9SVCBsYXN0
X3ZpZXc7CiAgICAgICAgc3RydWN0IF9kZE9yZFZpZXcgKmhpZ2hlcjsKICAgICAgICBzdHJ1Y3Qg
X2RkT3JkVmlldyAqbG93ZXI7Cn0gZGRPcmRWaWV3OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IGRkVUxPTkcgZGVmaW5lZF92aWV3czsKICAgICAgICBkZE9yZFZpZXcgKmhpZ2hlc3Q7CiAgICAg
ICAgZGRPcmRWaWV3ICpsb3dlc3Q7CiAgICAgICAgZGRPcmRWaWV3ICpmcmVlOwogICAgICAgIGRk
T3JkVmlldyBlbnRyaWVzWyggNiAqIDIgKyAzKV07Cn0gbGlzdG9mT3JkVmlldzsKCgoKCgoKCnR5
cGVkZWYgc3RydWN0IF9taVdrcyB7CgogICAgICAgIGRkRW51bVR5cGVJbmRleCBkaXNwbGF5VXBk
YXRlOwogICAgICAgIGRkQllURSB2aXN1YWxTdGF0ZTsKICAgICAgICBkZEJZVEUgZGlzcGxheVN1
cmZhY2U7CiAgICAgICAgZGRCWVRFIHZpZXdVcGRhdGU7CgoKICAgICAgICBsaXN0b2ZPcmRWaWV3
IHZpZXdzOwogICAgICAgIGRpTFVUSGFuZGxlIHJlcVZpZXdUYWJsZTsKCgogICAgICAgIGRkVUxP
TkcgZGVsdGF2aWV3TWFzazsKCiAgICAgICAgZGRCWVRFIHdrc1VwZGF0ZTsKCiAgICAgICAgZGRC
WVRFIHdrc01hc2s7CiAgICAgICAgZGROcGNTdWJ2b2x1bWUgcmVxTnBjU3Vidm9sdW1lOwoKICAg
ICAgICBkZFZpZXdwb3J0IHJlcXZpZXdwb3J0OwoKICAgICAgICBkZEJZVEUgaGxoc3JVcGRhdGU7
CiAgICAgICAgZGRFbnVtVHlwZUluZGV4IHJlcWhsaHNyTW9kZTsKCiAgICAgICAgZGRSZW5kZXJl
clB0ciBwUmVuZDsKIyAxNzYgIi4uL2luY2x1ZGUvbWlXa3MuaCIKICAgICAgICBkZEJZVEUgYnVm
ZmVyVXBkYXRlOwogICAgICAgIGRkVVNIT1JUIGN1ckJ1ZmZlck1vZGU7CiAgICAgICAgZGRVU0hP
UlQgcmVxQnVmZmVyTW9kZTsKICAgICAgICBsaXN0b2ZPcmRTdHJ1Y3QgcG9zdGVkU3RydWN0czsK
ICAgICAgICBkZEJZVEUgZHluYW1pY3NbTUFYX0RZTkFNSUNdOwoKICAgICAgICBkZEJPT0wgZnJl
ZUZsYWc7CiAgICAgICAgZGRMT05HIHJlZkNvdW50OwogICAgICAgIG1pUGlja0RldmljZSBkZXZp
Y2VzWzJdOwoKICAgICAgICBsaXN0b2ZPYmogKnB3a3NMaXN0OwogICAgICAgIERyYXdhYmxlUHRy
IGRvdWJsZURyYXdhYmxlc1syXTsKICAgICAgICBpbnQgY3VyRG91YmxlQnVmZmVyOwogICAgICAg
IGludCBoYXNEb3VibGVCdWZmZXI7CiAgICAgICAgaW50IHVzaW5nRG91YmxlQnVmZmVyOwogICAg
ICAgIERyYXdhYmxlUHRyIHBDdXJEcmF3YWJsZTsKfSBtaVdrc1N0ciwgKm1pV2tzUHRyOwojIDU4
ICJtaVBjazFQcmltLmMiIDIKIyAxICIuLi9pbmNsdWRlL21pVGV4dC5oIiAxCiMgNTcgIi4uL2lu
Y2x1ZGUvbWlUZXh0LmgiCnR5cGVkZWYgc3RydWN0IHsKICAgIGRkVmVjdG9yMkQgdHJhbnM7CiAg
ICBtaUxpc3RIZWFkZXIgKnBhdGg7CiAgfW1pQ2hhclBhdGg7Cgp0eXBlZGVmIHN0cnVjdCB7Cgog
ICAgbWlDaGFyUGF0aCAqcGF0aHM7CiAgICBkZEZMT0FUIHhmb3JtWzRdWzRdOwoKICB9bWlUZXh0
RWxlbWVudDsKIyA1OSAibWlQY2sxUHJpbS5jIiAyCiMgMSAiLi4vaW5jbHVkZS9taUNsaXAuaCIg
MQojIDUzICIuLi9pbmNsdWRlL21pQ2xpcC5oIgojIDEgIi4uL2luY2x1ZGUvbWlMaWdodC5oIiAx
CiMgNTQgIi4uL2luY2x1ZGUvbWlDbGlwLmgiIDIKIyA2MCAibWlQY2sxUHJpbS5jIiAyCiMgNzQg
Im1pUGNrMVByaW0uYyIKZGRwZXgycnRuCm1pUGljazFQb2x5TGluZShwUmVuZCwgcGRkYywgaW5w
dXRfbGlzdCkKCiAgICBkZFJlbmRlcmVyUHRyIHBSZW5kOwogICAgbWlERENvbnRleHQgKnBkZGM7
CiAgICBtaUxpc3RIZWFkZXIgKmlucHV0X2xpc3Q7CnsKCgoKCgoKICAgICAgaWYgKGlucHV0X2xp
c3QtPm51bUxpc3RzID4gMCkgewogICAgICAgICAgcGRkYy0+U3RhdGljLnBpY2suc3RhdHVzID0g
MTsKICAgICAgfQogICAgICByZXR1cm4gKDApOwp9CiMgMTA1ICJtaVBjazFQcmltLmMiCmRkcGV4
MnJ0bgptaVBpY2sxVGV4dChwUmVuZCwgcGRkYywgaW5wdXRfbGlzdCkKCiAgICBkZFJlbmRlcmVy
UHRyIHBSZW5kOwogICAgbWlERENvbnRleHQgKnBkZGM7CiAgICBtaUxpc3RIZWFkZXIgKmlucHV0
X2xpc3Q7Cgp7CgoKCgoKCiAgICAgIGlmIChpbnB1dF9saXN0LT5udW1MaXN0cyA+IDApIHsKICAg
ICAgICAgIHBkZGMtPlN0YXRpYy5waWNrLnN0YXR1cyA9IDE7CiAgICAgIH0KICAgICAgcmV0dXJu
ICgwKTsKfQojIDEzNyAibWlQY2sxUHJpbS5jIgpkZHBleDJydG4KbWlQaWNrMU1hcmtlcihwUmVu
ZCwgcGRkYywgaW5wdXRfbGlzdCkKCiAgICBkZFJlbmRlcmVyUHRyIHBSZW5kOwogICAgbWlERENv
bnRleHQgKnBkZGM7CiAgICBtaUxpc3RIZWFkZXIgKmlucHV0X2xpc3Q7Cgp7CgoKCgoKCiAgICAg
IGlmIChpbnB1dF9saXN0LT5udW1MaXN0cyA+IDApIHsKICAgICAgICAgIHBkZGMtPlN0YXRpYy5w
aWNrLnN0YXR1cyA9IDE7CiAgICAgIH0KICAgICAgcmV0dXJuICgwKTsKfQojIDE2OCAibWlQY2sx
UHJpbS5jIgpzdGF0aWMKZGRwZXgycnRuCkNoZWNrRkFyZWFQaWNrMSAoaW5fbGlzdCkKCiAgICBt
aUxpc3RIZWFkZXIgKmluX2xpc3Q7Cgp7CgoKCgogICAgbGlzdG9mZGRQb2ludCAqcG9seV9saXN0
OwogICAgZGRQb2ludFVuaW9uIHB0X2xpc3Q7CiAgICBpbnQgcHRfc2l6ZTsKICAgIGRkQ29vcmQy
RCB2MSwgdjI7CiAgICBkZFNIT1JUIHhfc2FtZSwgeV9zYW1lOwogICAgaW50IGksIGo7CiAgICBp
bnQgdmNvdW50LCBoY291bnQ7CiMgMjI5ICJtaVBjazFQcmltLmMiCiAgICBwb2x5X2xpc3QgPSBp
bl9saXN0LT5kZExpc3Q7CgogICAgeyBpZiAoKCEoKGluX2xpc3QtPnR5cGUpICYgKDE8PDApKSkp
IHsgaWYgKCgoKGluX2xpc3QtPnR5cGUpICYgKDM8PDEpKSA9PSAoMTw8MSkpKSBwdF9zaXplID0g
c2l6ZW9mKGRkQ29vcmQyRCk7IGVsc2UgaWYgKCgoKGluX2xpc3QtPnR5cGUpICYgKDM8PDEpKSA9
PSAoMjw8MSkpKSBwdF9zaXplID0gc2l6ZW9mKGRkQ29vcmQzRCk7IGVsc2UgcHRfc2l6ZSA9IHNp
emVvZihkZENvb3JkNEQpOyB9IGVsc2UgeyBpZiAoKCgoaW5fbGlzdC0+dHlwZSkgJiAoMzw8MSkp
ID09ICgxPDwxKSkpIHB0X3NpemUgPSBzaXplb2YoZGRDb29yZDJEUyk7IGVsc2UgcHRfc2l6ZSA9
IHNpemVvZihkZENvb3JkM0RTKTsgfSBpZiAoKChpbl9saXN0LT50eXBlKSAmICgxPDwzKSkpIHB0
X3NpemUgKz0gc2l6ZW9mKGRkVmVjdG9yM0QpOyBpZiAoKChpbl9saXN0LT50eXBlKSAmICg3PDw1
KSkpIHsgaWYgKCgoKGluX2xpc3QtPnR5cGUpICYgKDc8PDUpKSA9PSAoMTw8NSkpKSBwdF9zaXpl
ICs9IHNpemVvZihkZEluZGV4ZWRDb2xvdXIpOyBlbHNlIGlmICgoKChpbl9saXN0LT50eXBlKSAm
ICg3PDw1KSkgPT0gKDI8PDUpKSkgcHRfc2l6ZSArPSBzaXplb2YoZGRSZ2I4Q29sb3VyKTsgZWxz
ZSBpZiAoKCgoaW5fbGlzdC0+dHlwZSkgJiAoNzw8NSkpID09ICgzPDw1KSkpIHB0X3NpemUgKz0g
c2l6ZW9mKGRkUmdiMTZDb2xvdXIpOyBlbHNlIHB0X3NpemUgKz0gc2l6ZW9mKGRkUmdiRmxvYXRD
b2xvdXIpOyB9IGlmICgoKGluX2xpc3QtPnR5cGUpICYgKDE8PDQpKSkgcHRfc2l6ZSArPSBzaXpl
b2YoZGRVTE9ORyk7IH07CgogICAgZm9yIChpPTA7IGk8aW5fbGlzdC0+bnVtTGlzdHM7IGkrKywg
cG9seV9saXN0KyspIHsKCgoKICAgICAgICBwdF9saXN0LnB0ciA9IHBvbHlfbGlzdC0+cHRzLnB0
cjsKCiAgICAgICAgZm9yIChqPTA7IGo8aW5fbGlzdC0+ZGRMaXN0LT5udW1Qb2ludHM7IGorKykg
ewoKCgogICAgICAgICAgICBwdF9saXN0LnB0ciArPSBwdF9zaXplOwoKCgogICAgICAgICAgICBp
ZiAoKHB0X2xpc3QucDJEU3B0LT54ID4gLTEpICYmCiAgICAgICAgICAgICAgICAocHRfbGlzdC5w
MkRTcHQtPnggPCAxKSAmJgogICAgICAgICAgICAgICAgKHB0X2xpc3QucDJEU3B0LT55ID4gLTEp
ICYmCiAgICAgICAgICAgICAgICAocHRfbGlzdC5wMkRTcHQtPnkgPCAxKSkKCgoKCiAgICAgICAg
ICAgICAgICByZXR1cm4gKDApOwogICAgICAgIH0KICAgIH0KCgoKCgoKICAgIHZjb3VudCA9IGhj
b3VudCA9IDA7CgoKCgogICAgcG9seV9saXN0ID0gaW5fbGlzdC0+ZGRMaXN0OwoKICAgIGZvciAo
aT0wOyBpPGluX2xpc3QtPm51bUxpc3RzOyBpKyssIHBvbHlfbGlzdCsrKSB7CgoKCiAgICAgICAg
cHRfbGlzdC5wdHIgPSBwb2x5X2xpc3QtPnB0cy5wdHI7CgogICAgICAgIGZvciAoaj0wOyBqPGlu
X2xpc3QtPmRkTGlzdC0+bnVtUG9pbnRzLTE7IGorKykgewoKCgogICAgICAgICAgICB2MS54ID0g
cHRfbGlzdC5wMkRTcHQtPng7CiAgICAgICAgICAgIHYxLnkgPSBwdF9saXN0LnAyRFNwdC0+eTsK
CgoKICAgICAgICAgICAgcHRfbGlzdC5wdHIgKz0gcHRfc2l6ZTsKCgoKICAgICAgICAgICAgdjIu
eCA9IHB0X2xpc3QucDJEU3B0LT54OwogICAgICAgICAgICB2Mi55ID0gcHRfbGlzdC5wMkRTcHQt
Pnk7CgoKCiAgICAgICAgICAgIGlmICgoKCh2MS54LXYyLngpIDwgMCA/IC0odjEueC12Mi54KSA6
ICh2MS54LXYyLngpKSA8IDEuMGUtMzApKQogICAgICAgICAgICAgICAgeF9zYW1lID0gMTsKICAg
ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgeF9zYW1lID0gMDsKCiAgICAgICAgICAgIGlm
ICgoKCh2MS55LXYyLnkpIDwgMCA/IC0odjEueS12Mi55KSA6ICh2MS55LXYyLnkpKSA8IDEuMGUt
MzApKQogICAgICAgICAgICAgICAgeV9zYW1lID0gMTsKICAgICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgICAgeV9zYW1lID0gMDsKCiAgICAgICAgICAgIGlmICgoeF9zYW1lKSYmKHYxLnggPiAw
KSkKCgoKICAgICAgICAgICAgICAgIHZjb3VudCsrOwoKICAgICAgICAgICAgaWYgKCh5X3NhbWUp
JiYodjEueSA+IDApKQoKCgogICAgICAgICAgICAgICAgaGNvdW50Kys7CgogICAgICAgIH0KCgoK
ICAgICAgICBpZiAodmNvdW50JTIpIHsKICAgICAgICAgICAgcmV0dXJuICgwKTsKICAgICAgICB9
CiAgICAgICAgZWxzZSB7CgoKCgogICAgICAgICAgICBpZiAoKHZjb3VudCA9PSAwKSYmKGhjb3Vu
dCUyKSkgcmV0dXJuICgwKTsKICAgICAgICB9CgogICAgICAgIGNvbnRpbnVlOwoKICAgIH0KCiAg
ICByZXR1cm4gKC0xKTsKfQojIDM1MSAibWlQY2sxUHJpbS5jIgpkZHBleDJydG4KbWlQaWNrMUZp
bGxBcmVhKHBSZW5kLCBwZGRjLCBpbnB1dF9saXN0LCBpbnB1dF9mYWNldCwgc2hhcGUsIG5vZWRn
ZXMpCgogICAgZGRSZW5kZXJlclB0ciBwUmVuZDsKICAgIG1pRERDb250ZXh0ICpwZGRjOwogICAg
bWlMaXN0SGVhZGVyICppbnB1dF9saXN0OwogICAgbGlzdG9mZGRGYWNldCAqaW5wdXRfZmFjZXQ7
CiAgICBkZEJpdG1hc2tTaG9ydCBzaGFwZTsKICAgIGRkVUNIQVIgbm9lZGdlczsKCnsKCgoKCiAg
ICBpZiAoQ2hlY2tGQXJlYVBpY2sxIChpbnB1dF9saXN0KSA9PSAwKSB7CiAgICAgICAgcGRkYy0+
U3RhdGljLnBpY2suc3RhdHVzID0gMTsKICAgIH0KICAgIHJldHVybiAoMCk7Cn0KIyAzODQgIm1p
UGNrMVByaW0uYyIKZGRwZXgycnRuCm1pUGljazFUcmlTdHJpcChwUmVuZCwgcGRkYywgaW5wdXRf
bGlzdCwgaW5wdXRfZmFjZXQpCgogICAgZGRSZW5kZXJlclB0ciBwUmVuZDsKICAgIG1pRERDb250
ZXh0ICpwZGRjOwogICAgbWlMaXN0SGVhZGVyICppbnB1dF9saXN0OwogICAgbGlzdG9mZGRGYWNl
dCAqaW5wdXRfZmFjZXQ7Cgp7CiMgNDAxICJtaVBjazFQcmltLmMiCiAgICBpZiAoKGlucHV0X2xp
c3QtPm51bUxpc3RzKSA+IDApIHsKICAgICAgICBwZGRjLT5TdGF0aWMucGljay5zdGF0dXMgPSAx
OwogICAgfQogICAgcmV0dXJuICgwKTsKfQo=


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-10-10 18:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-10 11:34 c/7375: GCC 3.2 crash while compiling XFree86 4.02 hubicka
  -- strict thread matches above, loose matches on Subject: below --
2002-07-22  9:26 dan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).