bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Some questions


From: austria
Subject: Some questions
Date: Wed, 4 Jun 2003 04:08:38 -0400 (EDT)

Content-Type: application/octet-stream;
        name=ncurses-intro.html
Content-Transfer-Encoding: base64
Content-ID: <XqT0c1Yy8H4v>

PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTCAzLjAvL0VOIj4KPCEt
LQogICRJZDogbmN1cnNlcy1pbnRyby5odG1sLHYgMS4zNCAyMDAwLzA2LzExIDAwOjAzOjU1
IHRvbSBFeHAgJAotLT4KPEhUTUw+CjxIRUFEPgo8VElUTEU+V3JpdGluZyBQcm9ncmFtcyB3
aXRoIE5DVVJTRVM8L1RJVExFPgo8bGluayByZXY9Im1hZGUiIGhyZWY9Im1haWx0bzpidWdz
LW5jdXJzZXNAZ251Lm9yZyI+CjwvSEVBRD4KPEJPRFk+Cgo8SDE+V3JpdGluZyBQcm9ncmFt
cyB3aXRoIE5DVVJTRVM8L0gxPgoKPEJMT0NLUVVPVEU+CmJ5IEVyaWMgUy4gUmF5bW9uZCBh
bmQgWmV5ZCBNLiBCZW4tSGFsaW08QlI+CnVwZGF0ZXMgc2luY2UgcmVsZWFzZSAxLjkuOWUg
YnkgVGhvbWFzIERpY2tleQo8L0JMT0NLUVVPVEU+Cgo8SDE+Q29udGVudHM8L0gxPgo8VUw+
CjxMST48QSBIUkVGPSIjaW50cm9kdWN0aW9uIj5JbnRyb2R1Y3Rpb248L0E+CjxVTD4KPExJ
PjxBIEhSRUY9IiNoaXN0b3J5Ij5BIEJyaWVmIEhpc3Rvcnkgb2YgQ3Vyc2VzPC9BPgo8TEk+
PEEgSFJFRj0iI3Njb3BlIj5TY29wZSBvZiBUaGlzIERvY3VtZW50PC9BPgo8TEk+PEEgSFJF
Rj0iI3Rlcm1pbm9sb2d5Ij5UZXJtaW5vbG9neTwvQT4KPC9VTD4KPExJPjxBIEhSRUY9IiNj
dXJzZXMiPlRoZSBDdXJzZXMgTGlicmFyeTwvQT4KPFVMPgo8TEk+PEEgSFJFRj0iI292ZXJ2
aWV3Ij5BbiBPdmVydmlldyBvZiBDdXJzZXM8L0E+CjxVTD4KPExJPjxBIEhSRUY9IiNjb21w
aWxpbmciPkNvbXBpbGluZyBQcm9ncmFtcyB1c2luZyBDdXJzZXM8L0E+CjxMST48QSBIUkVG
PSIjdXBkYXRpbmciPlVwZGF0aW5nIHRoZSBTY3JlZW48L0E+CjxMST48QSBIUkVGPSIjc3Rk
c2NyIj5TdGFuZGFyZCBXaW5kb3dzIGFuZCBGdW5jdGlvbiBOYW1pbmcgQ29udmVudGlvbnM8
L0E+CjxMST48QSBIUkVGPSIjdmFyaWFibGVzIj5WYXJpYWJsZXM8L0E+CjwvVUw+CjxMST48
QSBIUkVGPSIjdXNpbmciPlVzaW5nIHRoZSBMaWJyYXJ5PC9BPgo8VUw+CjxMST48QSBIUkVG
PSIjc3RhcnRpbmciPlN0YXJ0aW5nIHVwPC9BPgo8TEk+PEEgSFJFRj0iI291dHB1dCI+T3V0
cHV0PC9BPgo8TEk+PEEgSFJFRj0iI2lucHV0Ij5JbnB1dDwvQT4KPExJPjxBIEhSRUY9IiNm
b3Jtc2NoYXJzIj5Vc2luZyBGb3JtcyBDaGFyYWN0ZXJzPC9BPgo8TEk+PEEgSFJFRj0iI2F0
dHJpYnV0ZXMiPkNoYXJhY3RlciBBdHRyaWJ1dGVzIGFuZCBDb2xvcjwvQT4KPExJPjxBIEhS
RUY9IiNtb3VzZSI+TW91c2UgSW50ZXJmYWNpbmc8L0E+CjxMST48QSBIUkVGPSIjZmluaXNo
aW5nIj5GaW5pc2hpbmcgVXA8L0E+CjwvVUw+CjxMST48QSBIUkVGPSIjZnVuY3Rpb25zIj5G
dW5jdGlvbiBEZXNjcmlwdGlvbnM8L0E+CjxVTD4KPExJPjxBIEhSRUY9IiNpbml0Ij5Jbml0
aWFsaXphdGlvbiBhbmQgV3JhcHVwPC9BPgo8TEk+PEEgSFJFRj0iI2ZsdXNoIj5DYXVzaW5n
IE91dHB1dCB0byB0aGUgVGVybWluYWw8L0E+CjxMST48QSBIUkVGPSIjbG93bGV2ZWwiPkxv
dy1MZXZlbCBDYXBhYmlsaXR5IEFjY2VzczwvQT4KPExJPjxBIEhSRUY9IiNkZWJ1Z2dpbmci
PkRlYnVnZ2luZzwvQT4KPC9VTD4KPExJPjxBIEhSRUY9IiNoaW50cyI+SGludHMsIFRpcHMs
IGFuZCBUcmlja3M8L0E+CjxVTD4KPExJPjxBIEhSRUY9IiNjYXV0aW9uIj5Tb21lIE5vdGVz
IG9mIENhdXRpb248L0E+CjxMST48QSBIUkVGPSIjbGVhdmluZyI+VGVtcG9yYXJpbHkgTGVh
dmluZyBuY3Vyc2VzIE1vZGU8L0E+CjxMST48QSBIUkVGPSIjeHRlcm0iPlVzaW5nIDxDT0RF
Pm5jdXJzZXM8L0NPREU+IHVuZGVyIDxDT0RFPnh0ZXJtPC9DT0RFPjwvQT4KPExJPjxBIEhS
RUY9IiNzY3JlZW5zIj5IYW5kbGluZyBNdWx0aXBsZSBUZXJtaW5hbCBTY3JlZW5zPC9BPgo8
TEk+PEEgSFJFRj0iI3Rlc3RpbmciPlRlc3RpbmcgZm9yIFRlcm1pbmFsIENhcGFiaWxpdGll
czwvQT4KPExJPjxBIEhSRUY9IiN0dW5pbmciPlR1bmluZyBmb3IgU3BlZWQ8L0E+CjxMST48
QSBIUkVGPSIjc3BlY2lhbCI+U3BlY2lhbCBGZWF0dXJlcyBvZiA8Q09ERT5uY3Vyc2VzPC9D
T0RFPjwvQT4KPC9VTD4KPExJPjxBIEhSRUY9IiNjb21wYXQiPkNvbXBhdGliaWxpdHkgd2l0
aCBPbGRlciBWZXJzaW9uczwvQT4KPFVMPgo8TEk+PEEgSFJFRj0iI3JlZmJ1ZyI+UmVmcmVz
aCBvZiBPdmVybGFwcGluZyBXaW5kb3dzPC9BPgo8TEk+PEEgSFJFRj0iI2JhY2tidWciPkJh
Y2tncm91bmQgRXJhc2U8L0E+CjwvVUw+CjxMST48QSBIUkVGPSIjeHNpZnVuY3MiPlhTSSBD
dXJzZXMgQ29uZm9ybWFuY2U8L0E+CjwvVUw+CjxMST48QSBIUkVGPSIjcGFuZWxzIj5UaGUg
UGFuZWxzIExpYnJhcnk8L0E+CjxVTD4KPExJPjxBIEhSRUY9IiNwY29tcGlsZSI+Q29tcGls
aW5nIFdpdGggdGhlIFBhbmVscyBMaWJyYXJ5PC9BPgo8TEk+PEEgSFJFRj0iI3BvdmVydmll
dyI+T3ZlcnZpZXcgb2YgUGFuZWxzPC9BPgo8TEk+PEEgSFJFRj0iI3BzdGRzY3IiPlBhbmVs
cywgSW5wdXQsIGFuZCB0aGUgU3RhbmRhcmQgU2NyZWVuPC9BPgo8TEk+PEEgSFJFRj0iI2hp
ZGluZyI+SGlkaW5nIFBhbmVsczwvQT4KPExJPjxBIEhSRUY9IiNwbWlzYyI+TWlzY2VsbGFu
ZW91cyBPdGhlciBGYWNpbGl0aWVzPC9BPgo8L1VMPgo8TEk+PEEgSFJFRj0iI21lbnUiPlRo
ZSBNZW51IExpYnJhcnk8L0E+CjxVTD4KPExJPjxBIEhSRUY9IiNtY29tcGlsZSI+Q29tcGls
aW5nIHdpdGggdGhlIG1lbnUgTGlicmFyeTwvQT4KPExJPjxBIEhSRUY9IiNtb3ZlcnZpZXci
Pk92ZXJ2aWV3IG9mIE1lbnVzPC9BPgo8TEk+PEEgSFJFRj0iI21zZWxlY3QiPlNlbGVjdGlu
ZyBpdGVtczwvQT4KPExJPjxBIEhSRUY9IiNtZGlzcGxheSI+TWVudSBEaXNwbGF5PC9BPgo8
TEk+PEEgSFJFRj0iI213aW5kb3dzIj5NZW51IFdpbmRvd3M8L0E+CjxMST48QSBIUkVGPSIj
bWlucHV0Ij5Qcm9jZXNzaW5nIE1lbnUgSW5wdXQ8L0E+CjxMST48QSBIUkVGPSIjbW1pc2Mi
Pk1pc2NlbGxhbmVvdXMgT3RoZXIgRmVhdHVyZXM8L0E+CjwvVUw+CjxMST48QSBIUkVGPSIj
Zm9ybSI+VGhlIEZvcm1zIExpYnJhcnk8L0E+CjxVTD4KPExJPjxBIEhSRUY9IiNmY29tcGls
ZSI+Q29tcGlsaW5nIHdpdGggdGhlIGZvcm1zIExpYnJhcnk8L0E+CjxMST48QSBIUkVGPSIj
Zm92ZXJ2aWV3Ij5PdmVydmlldyBvZiBGb3JtczwvQT4KPExJPjxBIEhSRUY9IiNmY3JlYXRl
Ij5DcmVhdGluZyBhbmQgRnJlZWluZyBGaWVsZHMgYW5kIEZvcm1zPC9BPgo8TEk+PEEgSFJF
Rj0iI2ZhdHRyaWJ1dGVzIj5GZXRjaGluZyBhbmQgQ2hhbmdpbmcgRmllbGQgQXR0cmlidXRl
czwvQT4KPFVMPgo8TEk+PEEgSFJFRj0iI2ZzaXplcyI+RmV0Y2hpbmcgU2l6ZSBhbmQgTG9j
YXRpb24gRGF0YTwvQT4KPExJPjxBIEhSRUY9IiNmbG9jYXRpb24iPkNoYW5naW5nIHRoZSBG
aWVsZCBMb2NhdGlvbjwvQT4KPExJPjxBIEhSRUY9IiNmanVzdCI+VGhlIEp1c3RpZmljYXRp
b24gQXR0cmlidXRlPC9BPgo8TEk+PEEgSFJFRj0iI2ZkaXNwYXR0cyI+RmllbGQgRGlzcGxh
eSBBdHRyaWJ1dGVzPC9BPgo8TEk+PEEgSFJFRj0iI2ZvcHRpb25zIj5GaWVsZCBPcHRpb24g
Qml0czwvQT4KPExJPjxBIEhSRUY9IiNmc3RhdHVzIj5GaWVsZCBTdGF0dXM8L0E+CjxMST48
QSBIUkVGPSIjZnVzZXIiPkZpZWxkIFVzZXIgUG9pbnRlcjwvQT4KPC9VTD4KPExJPjxBIEhS
RUY9IiNmZHluYW1pYyI+VmFyaWFibGUtU2l6ZWQgRmllbGRzPC9BPgo8TEk+PEEgSFJFRj0i
I2Z2YWxpZGF0aW9uIj5GaWVsZCBWYWxpZGF0aW9uPC9BPgo8VUw+CjxMST48QSBIUkVGPSIj
ZnR5cGVfYWxwaGEiPlRZUEVfQUxQSEE8L0E+CjxMST48QSBIUkVGPSIjZnR5cGVfYWxudW0i
PlRZUEVfQUxOVU08L0E+CjxMST48QSBIUkVGPSIjZnR5cGVfZW51bSI+VFlQRV9FTlVNPC9B
Pgo8TEk+PEEgSFJFRj0iI2Z0eXBlX2ludGVnZXIiPlRZUEVfSU5URUdFUjwvQT4KPExJPjxB
IEhSRUY9IiNmdHlwZV9udW1lcmljIj5UWVBFX05VTUVSSUM8L0E+CjxMST48QSBIUkVGPSIj
ZnR5cGVfcmVnZXhwIj5UWVBFX1JFR0VYUDwvQT4KPC9VTD4KPExJPjxBIEhSRUY9IiNmYnVm
ZmVyIj5EaXJlY3QgRmllbGQgQnVmZmVyIE1hbmlwdWxhdGlvbjwvQT4KPExJPjxBIEhSRUY9
IiNmb3JtYXR0cnMiPkF0dHJpYnV0ZXMgb2YgRm9ybXM8L0E+CjxMST48QSBIUkVGPSIjZmRp
c3BsYXkiPkNvbnRyb2wgb2YgRm9ybSBEaXNwbGF5PC9BPgo8TEk+PEEgSFJFRj0iI2Zkcml2
ZXIiPklucHV0IFByb2Nlc3NpbmcgaW4gdGhlIEZvcm1zIERyaXZlcjwvQT4KPFVMPgo8TEk+
PEEgSFJFRj0iI2ZwYWdlIj5QYWdlIE5hdmlnYXRpb24gUmVxdWVzdHM8L0E+CjxMST48QSBI
UkVGPSIjZmZpZWxkIj5JbnRlci1GaWVsZCBOYXZpZ2F0aW9uIFJlcXVlc3RzPC9BPgo8TEk+
PEEgSFJFRj0iI2ZpZmllbGQiPkludHJhLUZpZWxkIE5hdmlnYXRpb24gUmVxdWVzdHM8L0E+
CjxMST48QSBIUkVGPSIjZnNjcm9sbCI+U2Nyb2xsaW5nIFJlcXVlc3RzPC9BPgo8TEk+PEEg
SFJFRj0iI2ZlZGl0Ij5GaWVsZCBFZGl0aW5nIFJlcXVlc3RzPC9BPgo8TEk+PEEgSFJFRj0i
I2ZvcmRlciI+T3JkZXIgUmVxdWVzdHM8L0E+CjxMST48QSBIUkVGPSIjZmFwcGNtZHMiPkFw
cGxpY2F0aW9uIENvbW1hbmRzPC9BPgo8L1VMPgo8TEk+PEEgSFJFRj0iI2Zob29rcyI+Rmll
bGQgQ2hhbmdlIEhvb2tzPC9BPgo8TEk+PEEgSFJFRj0iI2Zmb2N1cyI+RmllbGQgQ2hhbmdl
IENvbW1hbmRzPC9BPgo8TEk+PEEgSFJFRj0iI2ZybW9wdGlvbnMiPkZvcm0gT3B0aW9uczwv
QT4KPExJPjxBIEhSRUY9IiNmY3VzdG9tIj5DdXN0b20gVmFsaWRhdGlvbiBUeXBlczwvQT4K
PFVMPgo8TEk+PEEgSFJFRj0iI2ZsaW5rdHlwZXMiPlVuaW9uIFR5cGVzPC9BPgo8TEk+PEEg
SFJFRj0iI2ZuZXd0eXBlcyI+TmV3IEZpZWxkIFR5cGVzPC9BPgo8TEk+PEEgSFJFRj0iI2Zj
aGVja2FyZ3MiPlZhbGlkYXRpb24gRnVuY3Rpb24gQXJndW1lbnRzPC9BPgo8TEk+PEEgSFJF
Rj0iI2ZjdXN0b3JkZXIiPk9yZGVyIEZ1bmN0aW9ucyBGb3IgQ3VzdG9tIFR5cGVzPC9BPgo8
TEk+PEEgSFJFRj0iI2ZjdXN0cHJvYnMiPkF2b2lkaW5nIFByb2JsZW1zPC9BPgo8L1VMPgo8
L1VMPgo8L1VMPgoKPEhSPgo8SDE+PEEgTkFNRT0iaW50cm9kdWN0aW9uIj5JbnRyb2R1Y3Rp
b248L0E+PC9IMT4KClRoaXMgZG9jdW1lbnQgaXMgYW4gaW50cm9kdWN0aW9uIHRvIHByb2dy
YW1taW5nIHdpdGggPENPREU+Y3Vyc2VzPC9DT0RFPi4gSXQgaXMKbm90IGFuIGV4aGF1c3Rp
dmUgcmVmZXJlbmNlIGZvciB0aGUgY3Vyc2VzIEFwcGxpY2F0aW9uIFByb2dyYW1taW5nIElu
dGVyZmFjZQooQVBJKTsgdGhhdCByb2xlIGlzIGZpbGxlZCBieSB0aGUgPENPREU+Y3Vyc2Vz
PC9DT0RFPiBtYW51YWwgcGFnZXMuICBSYXRoZXIsIGl0CmlzIGludGVuZGVkIHRvIGhlbHAg
QyBwcm9ncmFtbWVycyBlYXNlIGludG8gdXNpbmcgdGhlIHBhY2thZ2UuIDxQPgoKVGhpcyBk
b2N1bWVudCBpcyBhaW1lZCBhdCBDIGFwcGxpY2F0aW9ucyBwcm9ncmFtbWVycyBub3QgeWV0
IHNwZWNpZmljYWxseQpmYW1pbGlhciB3aXRoIG5jdXJzZXMuICBJZiB5b3UgYXJlIGFscmVh
ZHkgYW4gZXhwZXJpZW5jZWQgPENPREU+Y3Vyc2VzPC9DT0RFPgpwcm9ncmFtbWVyLCB5b3Ug
c2hvdWxkIG5ldmVydGhlbGVzcyByZWFkIHRoZSBzZWN0aW9ucyBvbgo8QSBIUkVGPSIjbW91
c2UiPk1vdXNlIEludGVyZmFjaW5nPC9BPiwgPEEgSFJFRj0iI2RlYnVnZ2luZyI+RGVidWdn
aW5nPC9BPiwKPEEgSFJFRj0iI2NvbXBhdCI+Q29tcGF0aWJpbGl0eSB3aXRoIE9sZGVyIFZl
cnNpb25zPC9BPiwKYW5kIDxBIEhSRUY9IiNoaW50cyI+SGludHMsIFRpcHMsIGFuZCBUcmlj
a3M8L0E+LiAgVGhlc2Ugd2lsbCBicmluZyB5b3UgdXAKdG8gc3BlZWQgb24gdGhlIHNwZWNp
YWwgZmVhdHVyZXMgYW5kIHF1aXJrcyBvZiB0aGUgPENPREU+bmN1cnNlczwvQ09ERT4KaW1w
bGVtZW50YXRpb24uICBJZiB5b3UgYXJlIG5vdCBzbyBleHBlcmllbmNlZCwga2VlcCByZWFk
aW5nLiA8UD4KClRoZSA8Q09ERT5jdXJzZXM8L0NPREU+IHBhY2thZ2UgaXMgYSBzdWJyb3V0
aW5lIGxpYnJhcnkgZm9yCnRlcm1pbmFsLWluZGVwZW5kZW50IHNjcmVlbi1wYWludGluZyBh
bmQgaW5wdXQtZXZlbnQgaGFuZGxpbmcgd2hpY2gKcHJlc2VudHMgYSBoaWdoIGxldmVsIHNj
cmVlbiBtb2RlbCB0byB0aGUgcHJvZ3JhbW1lciwgaGlkaW5nIGRpZmZlcmVuY2VzCmJldHdl
ZW4gdGVybWluYWwgdHlwZXMgYW5kIGRvaW5nIGF1dG9tYXRpYyBvcHRpbWl6YXRpb24gb2Yg
b3V0cHV0IHRvIGNoYW5nZQpvbmUgc2NyZWVuIGZ1bGwgb2YgdGV4dCBpbnRvIGFub3RoZXIu
ICA8Q09ERT5DdXJzZXM8L0NPREU+IHVzZXMgdGVybWluZm8sIHdoaWNoCmlzIGEgZGF0YWJh
c2UgZm9ybWF0IHRoYXQgY2FuIGRlc2NyaWJlIHRoZSBjYXBhYmlsaXRpZXMgb2YgdGhvdXNh
bmRzIG9mCmRpZmZlcmVudCB0ZXJtaW5hbHMuIDxQPgoKVGhlIDxDT0RFPmN1cnNlczwvQ09E
RT4gQVBJIG1heSBzZWVtIHNvbWV0aGluZyBvZiBhbiBhcmNoYWlzbSBvbiBVTklYIGRlc2t0
b3BzCmluY3JlYXNpbmdseSBkb21pbmF0ZWQgYnkgWCwgTW90aWYsIGFuZCBUY2wvVGsuICBO
ZXZlcnRoZWxlc3MsIFVOSVggc3RpbGwKc3VwcG9ydHMgdHR5IGxpbmVzIGFuZCBYIHN1cHBv
cnRzIDxFTT54dGVybSgxKTwvRU0+OyB0aGUgPENPREU+Y3Vyc2VzPC9DT0RFPgpBUEkgaGFz
IHRoZSBhZHZhbnRhZ2Ugb2YgKGEpIGJhY2stcG9ydGFiaWxpdHkgdG8gY2hhcmFjdGVyLWNl
bGwgdGVybWluYWxzLAphbmQgKGIpIHNpbXBsaWNpdHkuICBGb3IgYW4gYXBwbGljYXRpb24g
dGhhdCBkb2VzIG5vdCByZXF1aXJlIGJpdC1tYXBwZWQKZ3JhcGhpY3MgYW5kIG11bHRpcGxl
IGZvbnRzLCBhbiBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gdXNpbmcgPENPREU+Y3Vyc2Vz
PC9DT0RFPgp3aWxsIHR5cGljYWxseSBiZSBhIGdyZWF0IGRlYWwgc2ltcGxlciBhbmQgbGVz
cyBleHBlbnNpdmUgdGhhbiBvbmUgdXNpbmcgYW4KWCB0b29sa2l0LgoKPEgyPjxBIE5BTUU9
Imhpc3RvcnkiPkEgQnJpZWYgSGlzdG9yeSBvZiBDdXJzZXM8L0E+PC9IMj4KCkhpc3Rvcmlj
YWxseSwgdGhlIGZpcnN0IGFuY2VzdG9yIG9mIDxDT0RFPmN1cnNlczwvQ09ERT4gd2FzIHRo
ZSByb3V0aW5lcyB3cml0dGVuIHRvCnByb3ZpZGUgc2NyZWVuLWhhbmRsaW5nIGZvciB0aGUg
Z2FtZSA8Q09ERT5yb2d1ZTwvQ09ERT47IHRoZXNlIHVzZWQgdGhlCmFscmVhZHktZXhpc3Rp
bmcgPENPREU+dGVybWNhcDwvQ09ERT4gZGF0YWJhc2UgZmFjaWxpdHkgZm9yIGRlc2NyaWJp
bmcgdGVybWluYWwKY2FwYWJpbGl0aWVzLiAgVGhlc2Ugcm91dGluZXMgd2VyZSBhYnN0cmFj
dGVkIGludG8gYSBkb2N1bWVudGVkIGxpYnJhcnkgYW5kCmZpcnN0IHJlbGVhc2VkIHdpdGgg
dGhlIGVhcmx5IEJTRCBVTklYIHZlcnNpb25zLiA8UD4KClN5c3RlbSBJSUkgVU5JWCBmcm9t
IEJlbGwgTGFicyBmZWF0dXJlZCBhIHJld3JpdHRlbiBhbmQgbXVjaC1pbXByb3ZlZAo8Q09E
RT5jdXJzZXM8L0NPREU+IGxpYnJhcnkuICBJdCBpbnRyb2R1Y2VkIHRoZSB0ZXJtaW5mbyBm
b3JtYXQuICBUZXJtaW5mbyBpcyBiYXNlZApvbiBCZXJrZWxleSdzIHRlcm1jYXAgZGF0YWJh
c2UsIGJ1dCBjb250YWlucyBhIG51bWJlciBvZiBpbXByb3ZlbWVudHMgYW5kCmV4dGVuc2lv
bnMuIFBhcmFtZXRlcml6ZWQgY2FwYWJpbGl0aWVzIHN0cmluZ3Mgd2VyZSBpbnRyb2R1Y2Vk
LCBtYWtpbmcgaXQKcG9zc2libGUgdG8gZGVzY3JpYmUgbXVsdGlwbGUgdmlkZW8gYXR0cmli
dXRlcywgYW5kIGNvbG9ycyBhbmQgdG8gaGFuZGxlIGZhcgptb3JlIHVudXN1YWwgdGVybWlu
YWxzIHRoYW4gcG9zc2libGUgd2l0aCB0ZXJtY2FwLiAgSW4gdGhlIGxhdGVyIEFUJmFtcDtU
ClN5c3RlbSBWIHJlbGVhc2VzLCA8Q09ERT5jdXJzZXM8L0NPREU+IGV2b2x2ZWQgdG8gdXNl
IG1vcmUgZmFjaWxpdGllcyBhbmQgb2ZmZXIKbW9yZSBjYXBhYmlsaXRpZXMsIGdvaW5nIGZh
ciBiZXlvbmQgQlNEIGN1cnNlcyBpbiBwb3dlciBhbmQgZmxleGliaWxpdHkuCgo8SDI+PEEg
TkFNRT0ic2NvcGUiPlNjb3BlIG9mIFRoaXMgRG9jdW1lbnQ8L0E+PC9IMj4KClRoaXMgZG9j
dW1lbnQgZGVzY3JpYmVzIDxDT0RFPm5jdXJzZXM8L0NPREU+LCBhIGZyZWUgaW1wbGVtZW50
YXRpb24gb2YKdGhlIFN5c3RlbSBWIDxDT0RFPmN1cnNlczwvQ09ERT4gQVBJIHdpdGggc29t
ZSBjbGVhcmx5IG1hcmtlZCBleHRlbnNpb25zLgpJdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5n
IFN5c3RlbSBWIGN1cnNlcyBmZWF0dXJlczoKPFVMPgo8TEk+U3VwcG9ydCBmb3IgbXVsdGlw
bGUgc2NyZWVuIGhpZ2hsaWdodHMgKEJTRCBjdXJzZXMgY291bGQgb25seQpoYW5kbGUgb25l
IGBzdGFuZG91dCcgaGlnaGxpZ2h0LCB1c3VhbGx5IHJldmVyc2UtdmlkZW8pLgo8TEk+U3Vw
cG9ydCBmb3IgbGluZS0gYW5kIGJveC1kcmF3aW5nIHVzaW5nIGZvcm1zIGNoYXJhY3RlcnMu
CjxMST5SZWNvZ25pdGlvbiBvZiBmdW5jdGlvbiBrZXlzIG9uIGlucHV0Lgo8TEk+Q29sb3Ig
c3VwcG9ydC4KPExJPlN1cHBvcnQgZm9yIHBhZHMgKHdpbmRvd3Mgb2YgbGFyZ2VyIHRoYW4g
c2NyZWVuIHNpemUgb24gd2hpY2ggdGhlCnNjcmVlbiBvciBhIHN1YndpbmRvdyBkZWZpbmVz
IGEgdmlld3BvcnQpLgo8L1VMPgoKQWxzbywgdGhpcyBwYWNrYWdlIG1ha2VzIHVzZSBvZiB0
aGUgaW5zZXJ0IGFuZCBkZWxldGUgbGluZSBhbmQgY2hhcmFjdGVyCmZlYXR1cmVzIG9mIHRl
cm1pbmFscyBzbyBlcXVpcHBlZCwgYW5kIGRldGVybWluZXMgaG93IHRvIG9wdGltYWxseSB1
c2UgdGhlc2UKZmVhdHVyZXMgd2l0aCBubyBoZWxwIGZyb20gdGhlIHByb2dyYW1tZXIuICBJ
dCBhbGxvd3MgYXJiaXRyYXJ5IGNvbWJpbmF0aW9ucyBvZgp2aWRlbyBhdHRyaWJ1dGVzIHRv
IGJlIGRpc3BsYXllZCwgZXZlbiBvbiB0ZXJtaW5hbHMgdGhhdCBsZWF2ZSBgYG1hZ2ljCmNv
b2tpZXMnJyBvbiB0aGUgc2NyZWVuIHRvIG1hcmsgY2hhbmdlcyBpbiBhdHRyaWJ1dGVzLiA8
UD4KClRoZSA8Q09ERT5uY3Vyc2VzPC9DT0RFPiBwYWNrYWdlIGNhbiBhbHNvIGNhcHR1cmUg
YW5kIHVzZSBldmVudCByZXBvcnRzIGZyb20gYQptb3VzZSBpbiBzb21lIGVudmlyb25tZW50
cyAobm90YWJseSwgeHRlcm0gdW5kZXIgdGhlIFggd2luZG93IHN5c3RlbSkuICBUaGlzCmRv
Y3VtZW50IGluY2x1ZGVzIHRpcHMgZm9yIHVzaW5nIHRoZSBtb3VzZS4gPFA+CgpUaGUgPENP
REU+bmN1cnNlczwvQ09ERT4gcGFja2FnZSB3YXMgb3JpZ2luYXRlZCBieSBQYXZlbCBDdXJ0
aXMuICBUaGUgb3JpZ2luYWwKbWFpbnRhaW5lciBvZiB0aGlzIHBhY2thZ2UgaXMKPEEgSFJF
Rj0ibWFpbHRvOnptYmVuaGFsQG5ldGNvbS5jb20iPlpleWQgQmVuLUhhbGltPC9BPgombHQ7
em1iZW5oYWxAbmV0Y29tLmNvbSZndDsuCjxBIEhSRUY9Im1haWx0bzplc3JAc25hcmsudGh5
cnN1cy5jb20iPkVyaWMgUy4gUmF5bW9uZDwvQT4KJmx0O2VzckBzbmFyay50aHlyc3VzLmNv
bSZndDsKd3JvdGUgbWFueSBvZiB0aGUgbmV3IGZlYXR1cmVzIGluIHZlcnNpb25zIGFmdGVy
IDEuOC4xCmFuZCB3cm90ZSBtb3N0IG9mIHRoaXMgaW50cm9kdWN0aW9uLgo8QSBIUkVGPSJt
YWlsdG86anVlcmdlbi5wZmVpZmVyQGdteC5uZXQiPkomdXVtbDtyZ2VuIFBmZWlmZXI8L0E+
Cndyb3RlIGFsbCBvZiB0aGUgbWVudSBhbmQgZm9ybXMgY29kZSBhcyB3ZWxsIGFzIHRoZQo8
QSBIUkVGPSJodHRwOi8vd3d3LmFkYWhvbWUuY29tIj5BZGE5NTwvQT4gYmluZGluZy4KT25n
b2luZyB3b3JrIGlzIGJlaW5nIGRvbmUgYnkKPEEgSFJFRj0ibWFpbHRvOmRpY2tleUBoZXJu
ZG9uNC5oaXMuY29tIj5UaG9tYXMgRGlja2V5PC9BPgphbmQKPEEgSFJFRj0ibWFpbHRvOmp1
ZXJnZW4ucGZlaWZlckBnbXgubmV0Ij5KJnV1bWw7cmdlbiBQZmVpZmVyPC9BPi4KPEEgSFJF
Rj0ibWFpbHRvOmZsb3JpYW5AZ251Lm9yZyI+RmxvcmlhbiBMYSBSb2NoZTwvQT4KYWN0cyBh
cyB0aGUgbWFpbnRhaW5lciBmb3IgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgd2hp
Y2ggaG9sZHMgdGhlCmNvcHlyaWdodCBvbiBuY3Vyc2VzLgpDb250YWN0IHRoZSBjdXJyZW50
IG1haW50YWluZXJzIGF0CjxBIEhSRUY9Im1haWx0bzpidWctbmN1cnNlc0BnbnUub3JnIj5i
dWctbmN1cnNlc0BnbnUub3JnPC9BPi4KPFA+CgpUaGlzIGRvY3VtZW50IGFsc28gZGVzY3Jp
YmVzIHRoZSA8QSBIUkVGPSIjcGFuZWxzIj5wYW5lbHM8L0E+IGV4dGVuc2lvbiBsaWJyYXJ5
LApzaW1pbGFybHkgbW9kZWxlZCBvbiB0aGUgU1ZyNCBwYW5lbHMgZmFjaWxpdHkuICBUaGlz
IGxpYnJhcnkgYWxsb3dzIHlvdSB0bwphc3NvY2lhdGUgYmFja2luZyBzdG9yZSB3aXRoIGVh
Y2ggb2YgYSBzdGFjayBvciBkZWNrIG9mIG92ZXJsYXBwaW5nIHdpbmRvd3MsCmFuZCBwcm92
aWRlcyBvcGVyYXRpb25zIGZvciBtb3Zpbmcgd2luZG93cyBhcm91bmQgaW4gdGhlIHN0YWNr
IHRoYXQgY2hhbmdlCnRoZWlyIHZpc2liaWxpdHkgaW4gdGhlIG5hdHVyYWwgd2F5IChoYW5k
bGluZyB3aW5kb3cgb3ZlcmxhcHMpLiA8UD4KCkZpbmFsbHksIHRoaXMgZG9jdW1lbnQgZGVz
Y3JpYmVzIGluIGRldGFpbCB0aGUgPEEgSFJFRj0iI21lbnUiPm1lbnVzPC9BPiBhbmQgPEEK
SFJFRj0iI2Zvcm0iPmZvcm1zPC9BPiBleHRlbnNpb24gbGlicmFyaWVzLCBhbHNvIGNsb25l
ZCBmcm9tIFN5c3RlbSBWLAp3aGljaCBzdXBwb3J0IGVhc3kgY29uc3RydWN0aW9uIGFuZCBz
ZXF1ZW5jZXMgb2YgbWVudXMgYW5kIGZpbGwtaW4KZm9ybXMuCgoKPEgyPjxBIE5BTUU9InRl
cm1pbm9sb2d5Ij5UZXJtaW5vbG9neTwvQT48L0gyPgoKSW4gdGhpcyBkb2N1bWVudCwgdGhl
IGZvbGxvd2luZyB0ZXJtaW5vbG9neSBpcyB1c2VkIHdpdGggcmVhc29uYWJsZQpjb25zaXN0
ZW5jeToKCjxETD4KPERUPiB3aW5kb3cKPEREPgpBIGRhdGEgc3RydWN0dXJlIGRlc2NyaWJp
bmcgYSBzdWItcmVjdGFuZ2xlIG9mIHRoZSBzY3JlZW4gKHBvc3NpYmx5IHRoZQplbnRpcmUg
c2NyZWVuKS4gIFlvdSBjYW4gd3JpdGUgdG8gYSB3aW5kb3cgYXMgdGhvdWdoIGl0IHdlcmUg
YSBtaW5pYXR1cmUKc2NyZWVuLCBzY3JvbGxpbmcgaW5kZXBlbmRlbnRseSBvZiBvdGhlciB3
aW5kb3dzIG9uIHRoZSBwaHlzaWNhbCBzY3JlZW4uCjxEVD4gc2NyZWVucwo8REQ+CkEgc3Vi
c2V0IG9mIHdpbmRvd3Mgd2hpY2ggYXJlIGFzIGxhcmdlIGFzIHRoZSB0ZXJtaW5hbCBzY3Jl
ZW4sIGkuZS4sIHRoZXkgc3RhcnQKYXQgdGhlIHVwcGVyIGxlZnQgaGFuZCBjb3JuZXIgYW5k
IGVuY29tcGFzcyB0aGUgbG93ZXIgcmlnaHQgaGFuZCBjb3JuZXIuICBPbmUKb2YgdGhlc2Us
IDxDT0RFPnN0ZHNjcjwvQ09ERT4sIGlzIGF1dG9tYXRpY2FsbHkgcHJvdmlkZWQgZm9yIHRo
ZSBwcm9ncmFtbWVyLgo8RFQ+IHRlcm1pbmFsIHNjcmVlbgo8REQ+ClRoZSBwYWNrYWdlJ3Mg
aWRlYSBvZiB3aGF0IHRoZSB0ZXJtaW5hbCBkaXNwbGF5IGN1cnJlbnRseSBsb29rcyBsaWtl
LCBpLmUuLAp3aGF0IHRoZSB1c2VyIHNlZXMgbm93LiAgVGhpcyBpcyBhIHNwZWNpYWwgc2Ny
ZWVuLgo8L0RMPgoKPEgxPjxBIE5BTUU9ImN1cnNlcyI+VGhlIEN1cnNlcyBMaWJyYXJ5PC9B
PjwvSDE+Cgo8SDI+PEEgTkFNRT0ib3ZlcnZpZXciPkFuIE92ZXJ2aWV3IG9mIEN1cnNlczwv
QT48L0gyPgoKPEgzPjxBIE5BTUU9ImNvbXBpbGluZyI+Q29tcGlsaW5nIFByb2dyYW1zIHVz
aW5nIEN1cnNlczwvQT48L0gzPgoKSW4gb3JkZXIgdG8gdXNlIHRoZSBsaWJyYXJ5LCBpdCBp
cyBuZWNlc3NhcnkgdG8gaGF2ZSBjZXJ0YWluIHR5cGVzIGFuZAp2YXJpYWJsZXMgZGVmaW5l
ZC4gIFRoZXJlZm9yZSwgdGhlIHByb2dyYW1tZXIgbXVzdCBoYXZlIGEgbGluZToKCjxQUkU+
CgkgICNpbmNsdWRlICZsdDtjdXJzZXMuaCZndDsKPC9QUkU+CgphdCB0aGUgdG9wIG9mIHRo
ZSBwcm9ncmFtIHNvdXJjZS4gIFRoZSBzY3JlZW4gcGFja2FnZSB1c2VzIHRoZSBTdGFuZGFy
ZCBJL08KbGlicmFyeSwgc28gPENPREU+Jmx0O2N1cnNlcy5oJmd0OzwvQ09ERT4gaW5jbHVk
ZXMKPENPREU+Jmx0O3N0ZGlvLmgmZ3Q7PC9DT0RFPi4gPENPREU+Jmx0O2N1cnNlcy5oJmd0
OzwvQ09ERT4gYWxzbyBpbmNsdWRlcwo8Q09ERT4mbHQ7dGVybWlvcy5oJmd0OzwvQ09ERT4s
IDxDT0RFPiZsdDt0ZXJtaW8uaCZndDs8L0NPREU+LCBvcgo8Q09ERT4mbHQ7c2d0dHkuaCZn
dDs8L0NPREU+IGRlcGVuZGluZyBvbiB5b3VyIHN5c3RlbS4gIEl0IGlzIHJlZHVuZGFudCAo
YnV0Cmhhcm1sZXNzKSBmb3IgdGhlIHByb2dyYW1tZXIgdG8gZG8gdGhlc2UgaW5jbHVkZXMs
IHRvby4gSW4gbGlua2luZyB3aXRoCjxDT0RFPmN1cnNlczwvQ09ERT4geW91IG5lZWQgdG8g
aGF2ZSA8Q09ERT4tbG5jdXJzZXM8L0NPREU+IGluIHlvdXIgTERGTEFHUyBvciBvbiB0aGUK
Y29tbWFuZCBsaW5lLiAgVGhlcmUgaXMgbm8gbmVlZCBmb3IgYW55IG90aGVyIGxpYnJhcmll
cy4KCjxIMz48QSBOQU1FPSJ1cGRhdGluZyI+VXBkYXRpbmcgdGhlIFNjcmVlbjwvQT48L0gz
PgoKSW4gb3JkZXIgdG8gdXBkYXRlIHRoZSBzY3JlZW4gb3B0aW1hbGx5LCBpdCBpcyBuZWNl
c3NhcnkgZm9yIHRoZSByb3V0aW5lcyB0bwprbm93IHdoYXQgdGhlIHNjcmVlbiBjdXJyZW50
bHkgbG9va3MgbGlrZSBhbmQgd2hhdCB0aGUgcHJvZ3JhbW1lciB3YW50cyBpdCB0bwpsb29r
IGxpa2UgbmV4dC4gRm9yIHRoaXMgcHVycG9zZSwgYSBkYXRhIHR5cGUgKHN0cnVjdHVyZSkg
bmFtZWQgV0lORE9XIGlzCmRlZmluZWQgd2hpY2ggZGVzY3JpYmVzIGEgd2luZG93IGltYWdl
IHRvIHRoZSByb3V0aW5lcywgaW5jbHVkaW5nIGl0cyBzdGFydGluZwpwb3NpdGlvbiBvbiB0
aGUgc2NyZWVuICh0aGUgKHksIHgpIGNvb3JkaW5hdGVzIG9mIHRoZSB1cHBlciBsZWZ0IGhh
bmQgY29ybmVyKQphbmQgaXRzIHNpemUuICBPbmUgb2YgdGhlc2UgKGNhbGxlZCA8Q09ERT5j
dXJzY3I8L0NPREU+LCBmb3IgY3VycmVudCBzY3JlZW4pIGlzIGEKc2NyZWVuIGltYWdlIG9m
IHdoYXQgdGhlIHRlcm1pbmFsIGN1cnJlbnRseSBsb29rcyBsaWtlLiAgQW5vdGhlciBzY3Jl
ZW4gKGNhbGxlZAo8Q09ERT5zdGRzY3I8L0NPREU+LCBmb3Igc3RhbmRhcmQgc2NyZWVuKSBp
cyBwcm92aWRlZCBieSBkZWZhdWx0IHRvIG1ha2UgY2hhbmdlcwpvbi4gPFA+CgpBIHdpbmRv
dyBpcyBhIHB1cmVseSBpbnRlcm5hbCByZXByZXNlbnRhdGlvbi4gSXQgaXMgdXNlZCB0byBi
dWlsZCBhbmQgc3RvcmUgYQpwb3RlbnRpYWwgaW1hZ2Ugb2YgYSBwb3J0aW9uIG9mIHRoZSB0
ZXJtaW5hbC4gIEl0IGRvZXNuJ3QgYmVhciBhbnkgbmVjZXNzYXJ5CnJlbGF0aW9uIHRvIHdo
YXQgaXMgcmVhbGx5IG9uIHRoZSB0ZXJtaW5hbCBzY3JlZW47IGl0J3MgbW9yZSBsaWtlIGEK
c2NyYXRjaHBhZCBvciB3cml0ZSBidWZmZXIuIDxQPgoKVG8gbWFrZSB0aGUgc2VjdGlvbiBv
ZiBwaHlzaWNhbCBzY3JlZW4gY29ycmVzcG9uZGluZyB0byBhIHdpbmRvdyByZWZsZWN0IHRo
ZQpjb250ZW50cyBvZiB0aGUgd2luZG93IHN0cnVjdHVyZSwgdGhlIHJvdXRpbmUgPENPREU+
cmVmcmVzaCgpPC9DT0RFPiAob3IKPENPREU+d3JlZnJlc2goKTwvQ09ERT4gaWYgdGhlIHdp
bmRvdyBpcyBub3QgPENPREU+c3Rkc2NyPC9DT0RFPikgaXMgY2FsbGVkLiA8UD4KCkEgZ2l2
ZW4gcGh5c2ljYWwgc2NyZWVuIHNlY3Rpb24gbWF5IGJlIHdpdGhpbiB0aGUgc2NvcGUgb2Yg
YW55IG51bWJlciBvZgpvdmVybGFwcGluZyB3aW5kb3dzLiAgQWxzbywgY2hhbmdlcyBjYW4g
YmUgbWFkZSB0byB3aW5kb3dzIGluIGFueSBvcmRlciwKd2l0aG91dCByZWdhcmQgdG8gbW90
aW9uIGVmZmljaWVuY3kuICBUaGVuLCBhdCB3aWxsLCB0aGUgcHJvZ3JhbW1lciBjYW4KZWZm
ZWN0aXZlbHkgc2F5IGBgbWFrZSBpdCBsb29rIGxpa2UgdGhpcywnJyBhbmQgbGV0IHRoZSBw
YWNrYWdlIGltcGxlbWVudGF0aW9uCmRldGVybWluZSB0aGUgbW9zdCBlZmZpY2llbnQgd2F5
IHRvIHJlcGFpbnQgdGhlIHNjcmVlbi4KCjxIMz48QSBOQU1FPSJzdGRzY3IiPlN0YW5kYXJk
IFdpbmRvd3MgYW5kIEZ1bmN0aW9uIE5hbWluZyBDb252ZW50aW9uczwvQT48L0gzPgoKQXMg
aGludGVkIGFib3ZlLCB0aGUgcm91dGluZXMgY2FuIHVzZSBzZXZlcmFsIHdpbmRvd3MsIGJ1
dCB0d28gYXJlCmF1dG9tYXRpY2FsbHkgZ2l2ZW46IDxDT0RFPmN1cnNjcjwvQ09ERT4sIHdo
aWNoIGtub3dzIHdoYXQgdGhlIHRlcm1pbmFsIGxvb2tzIGxpa2UsCmFuZCA8Q09ERT5zdGRz
Y3I8L0NPREU+LCB3aGljaCBpcyB3aGF0IHRoZSBwcm9ncmFtbWVyIHdhbnRzIHRoZSB0ZXJt
aW5hbCB0byBsb29rCmxpa2UgbmV4dC4gIFRoZSB1c2VyIHNob3VsZCBuZXZlciBhY3R1YWxs
eSBhY2Nlc3MgPENPREU+Y3Vyc2NyPC9DT0RFPiBkaXJlY3RseS4KQ2hhbmdlcyBzaG91bGQg
YmUgbWFkZSB0byB0aHJvdWdoIHRoZSBBUEksIGFuZCB0aGVuIHRoZSByb3V0aW5lCjxDT0RF
PnJlZnJlc2goKTwvQ09ERT4gKG9yIDxDT0RFPndyZWZyZXNoKCk8L0NPREU+KSBjYWxsZWQu
IDxQPgoKTWFueSBmdW5jdGlvbnMgYXJlIGRlZmluZWQgdG8gdXNlIDxDT0RFPnN0ZHNjcjwv
Q09ERT4gYXMgYSBkZWZhdWx0IHNjcmVlbi4gIEZvcgpleGFtcGxlLCB0byBhZGQgYSBjaGFy
YWN0ZXIgdG8gPENPREU+c3Rkc2NyPC9DT0RFPiwgb25lIGNhbGxzIDxDT0RFPmFkZGNoKCk8
L0NPREU+IHdpdGgKdGhlIGRlc2lyZWQgY2hhcmFjdGVyIGFzIGFyZ3VtZW50LiAgVG8gd3Jp
dGUgdG8gYSBkaWZmZXJlbnQgd2luZG93LiB1c2UgdGhlCnJvdXRpbmUgPENPREU+d2FkZGNo
KCk8L0NPREU+IChmb3IgYHcnaW5kb3ctc3BlY2lmaWMgYWRkY2goKSkgaXMgcHJvdmlkZWQu
ICBUaGlzCmNvbnZlbnRpb24gb2YgcHJlcGVuZGluZyBmdW5jdGlvbiBuYW1lcyB3aXRoIGEg
YHcnIHdoZW4gdGhleSBhcmUgdG8gYmUKYXBwbGllZCB0byBzcGVjaWZpYyB3aW5kb3dzIGlz
IGNvbnNpc3RlbnQuICBUaGUgb25seSByb3V0aW5lcyB3aGljaCBkbyBub3QKZm9sbG93IGl0
IGFyZSB0aG9zZSBmb3Igd2hpY2ggYSB3aW5kb3cgbXVzdCBhbHdheXMgYmUgc3BlY2lmaWVk
LiA8UD4KCkluIG9yZGVyIHRvIG1vdmUgdGhlIGN1cnJlbnQgKHksIHgpIGNvb3JkaW5hdGVz
IGZyb20gb25lIHBvaW50IHRvIGFub3RoZXIsIHRoZQpyb3V0aW5lcyA8Q09ERT5tb3ZlKCk8
L0NPREU+IGFuZCA8Q09ERT53bW92ZSgpPC9DT0RFPiBhcmUgcHJvdmlkZWQuICBIb3dldmVy
LCBpdCBpcwpvZnRlbiBkZXNpcmFibGUgdG8gZmlyc3QgbW92ZSBhbmQgdGhlbiBwZXJmb3Jt
IHNvbWUgSS9PIG9wZXJhdGlvbi4gIEluIG9yZGVyIHRvCmF2b2lkIGNsdW1zaW5lc3MsIG1v
c3QgSS9PIHJvdXRpbmVzIGNhbiBiZSBwcmVjZWRlZCBieSB0aGUgcHJlZml4ICdtdicgYW5k
CnRoZSBkZXNpcmVkICh5LCB4KSBjb29yZGluYXRlcyBwcmVwZW5kZWQgdG8gdGhlIGFyZ3Vt
ZW50cyB0byB0aGUgZnVuY3Rpb24uICBGb3IKZXhhbXBsZSwgdGhlIGNhbGxzCgo8UFJFPgoJ
ICBtb3ZlKHksIHgpOwoJICBhZGRjaChjaCk7CjwvUFJFPgoKY2FuIGJlIHJlcGxhY2VkIGJ5
Cgo8UFJFPgoJICBtdmFkZGNoKHksIHgsIGNoKTsKPC9QUkU+CgphbmQKCjxQUkU+CgkgIHdt
b3ZlKHdpbiwgeSwgeCk7CgkgIHdhZGRjaCh3aW4sIGNoKTsKPC9QUkU+CgpjYW4gYmUgcmVw
bGFjZWQgYnkKCjxQUkU+CgkgIG12d2FkZGNoKHdpbiwgeSwgeCwgY2gpOwo8L1BSRT4KCk5v
dGUgdGhhdCB0aGUgd2luZG93IGRlc2NyaXB0aW9uIHBvaW50ZXIgKHdpbikgY29tZXMgYmVm
b3JlIHRoZSBhZGRlZCAoeSwgeCkKY29vcmRpbmF0ZXMuICBJZiBhIGZ1bmN0aW9uIHJlcXVp
cmVzIGEgd2luZG93IHBvaW50ZXIsIGl0IGlzIGFsd2F5cyB0aGUgZmlyc3QKcGFyYW1ldGVy
IHBhc3NlZC4KCjxIMz48QSBOQU1FPSJ2YXJpYWJsZXMiPlZhcmlhYmxlczwvQT48L0gzPgoK
VGhlIDxDT0RFPmN1cnNlczwvQ09ERT4gbGlicmFyeSBzZXRzIHNvbWUgdmFyaWFibGVzIGRl
c2NyaWJpbmcgdGhlIHRlcm1pbmFsCmNhcGFiaWxpdGllcy4KCjxQUkU+CiAgICAgIHR5cGUg
ICBuYW1lICAgICAgZGVzY3JpcHRpb24KICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgIGludCAg
ICBMSU5FUyAgICAgbnVtYmVyIG9mIGxpbmVzIG9uIHRoZSB0ZXJtaW5hbAogICAgICBpbnQg
ICAgQ09MUyAgICAgIG51bWJlciBvZiBjb2x1bW5zIG9uIHRoZSB0ZXJtaW5hbAo8L1BSRT4K
ClRoZSA8Q09ERT5jdXJzZXMuaDwvQ09ERT4gYWxzbyBpbnRyb2R1Y2VzIHNvbWUgPENPREU+
I2RlZmluZTwvQ09ERT4gY29uc3RhbnRzIGFuZCB0eXBlcwpvZiBnZW5lcmFsIHVzZWZ1bG5l
c3M6Cgo8REw+CjxEVD4gPENPREU+Ym9vbDwvQ09ERT4KPEREPiBib29sZWFuIHR5cGUsIGFj
dHVhbGx5IGEgYGNoYXInIChlLmcuLCA8Q09ERT5ib29sIGRvbmVpdDs8L0NPREU+KQo8RFQ+
IDxDT0RFPlRSVUU8L0NPREU+CjxERD4gYm9vbGVhbiBgdHJ1ZScgZmxhZyAoMSkuCjxEVD4g
PENPREU+RkFMU0U8L0NPREU+CjxERD4gYm9vbGVhbiBgZmFsc2UnIGZsYWcgKDApLgo8RFQ+
IDxDT0RFPkVSUjwvQ09ERT4KPEREPiBlcnJvciBmbGFnIHJldHVybmVkIGJ5IHJvdXRpbmVz
IG9uIGEgZmFpbHVyZSAoLTEpLgo8RFQ+IDxDT0RFPk9LPC9DT0RFPgo8REQ+IGVycm9yIGZs
YWcgcmV0dXJuZWQgYnkgcm91dGluZXMgd2hlbiB0aGluZ3MgZ28gcmlnaHQuCjwvREw+Cgo8
SDI+PEEgTkFNRT0idXNpbmciPlVzaW5nIHRoZSBMaWJyYXJ5PC9BPjwvSDI+CgpOb3cgd2Ug
ZGVzY3JpYmUgaG93IHRvIGFjdHVhbGx5IHVzZSB0aGUgc2NyZWVuIHBhY2thZ2UuICBJbiBp
dCwgd2UgYXNzdW1lIGFsbAp1cGRhdGluZywgcmVhZGluZywgZXRjLiBpcyBhcHBsaWVkIHRv
IDxDT0RFPnN0ZHNjcjwvQ09ERT4uICBUaGVzZSBpbnN0cnVjdGlvbnMgd2lsbAp3b3JrIG9u
IGFueSB3aW5kb3csIHByb3ZpZGluZyB5b3UgY2hhbmdlIHRoZSBmdW5jdGlvbiBuYW1lcyBh
bmQgcGFyYW1ldGVycyBhcwptZW50aW9uZWQgYWJvdmUuIDxQPgoKSGVyZSBpcyBhIHNhbXBs
ZSBwcm9ncmFtIHRvIG1vdGl2YXRlIHRoZSBkaXNjdXNzaW9uOgoKPFBSRT4KI2luY2x1ZGUg
Jmx0O2N1cnNlcy5oJmd0OwojaW5jbHVkZSAmbHQ7c2lnbmFsLmgmZ3Q7CgpzdGF0aWMgdm9p
ZCBmaW5pc2goaW50IHNpZyk7CgppbnQKbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQp7
CiAgICBpbnQgbnVtID0gMDsKCiAgICAvKiBpbml0aWFsaXplIHlvdXIgbm9uLWN1cnNlcyBk
YXRhIHN0cnVjdHVyZXMgaGVyZSAqLwoKICAgICh2b2lkKSBzaWduYWwoU0lHSU5ULCBmaW5p
c2gpOyAgICAgIC8qIGFycmFuZ2UgaW50ZXJydXB0cyB0byB0ZXJtaW5hdGUgKi8KCiAgICAo
dm9pZCkgaW5pdHNjcigpOyAgICAgIC8qIGluaXRpYWxpemUgdGhlIGN1cnNlcyBsaWJyYXJ5
ICovCiAgICBrZXlwYWQoc3Rkc2NyLCBUUlVFKTsgIC8qIGVuYWJsZSBrZXlib2FyZCBtYXBw
aW5nICovCiAgICAodm9pZCkgbm9ubCgpOyAgICAgICAgIC8qIHRlbGwgY3Vyc2VzIG5vdCB0
byBkbyBOTC0mZ3Q7Q1IvTkwgb24gb3V0cHV0ICovCiAgICAodm9pZCkgY2JyZWFrKCk7ICAg
ICAgIC8qIHRha2UgaW5wdXQgY2hhcnMgb25lIGF0IGEgdGltZSwgbm8gd2FpdCBmb3IgXG4g
Ki8KICAgICh2b2lkKSBlY2hvKCk7ICAgICAgICAgLyogZWNobyBpbnB1dCAtIGluIGNvbG9y
ICovCgogICAgaWYgKGhhc19jb2xvcnMoKSkKICAgIHsKICAgICAgICBzdGFydF9jb2xvcigp
OwoKICAgICAgICAvKgogICAgICAgICAqIFNpbXBsZSBjb2xvciBhc3NpZ25tZW50LCBvZnRl
biBhbGwgd2UgbmVlZC4gIENvbG9yIHBhaXIgMCBjYW5ub3QKCSAqIGJlIHJlZGVmaW5lZC4g
IFRoaXMgZXhhbXBsZSB1c2VzIHRoZSBzYW1lIHZhbHVlIGZvciB0aGUgY29sb3IKCSAqIHBh
aXIgYXMgZm9yIHRoZSBmb3JlZ3JvdW5kIGNvbG9yLCB0aG91Z2ggb2YgY291cnNlIHRoYXQg
aXMgbm90CgkgKiBuZWNlc3Nhcnk6CiAgICAgICAgICovCiAgICAgICAgaW5pdF9wYWlyKDEs
IENPTE9SX1JFRCwgICAgIENPTE9SX0JMQUNLKTsKICAgICAgICBpbml0X3BhaXIoMiwgQ09M
T1JfR1JFRU4sICAgQ09MT1JfQkxBQ0spOwogICAgICAgIGluaXRfcGFpcigzLCBDT0xPUl9Z
RUxMT1csICBDT0xPUl9CTEFDSyk7CiAgICAgICAgaW5pdF9wYWlyKDQsIENPTE9SX0JMVUUs
ICAgIENPTE9SX0JMQUNLKTsKICAgICAgICBpbml0X3BhaXIoNSwgQ09MT1JfQ1lBTiwgICAg
Q09MT1JfQkxBQ0spOwogICAgICAgIGluaXRfcGFpcig2LCBDT0xPUl9NQUdFTlRBLCBDT0xP
Ul9CTEFDSyk7CiAgICAgICAgaW5pdF9wYWlyKDcsIENPTE9SX1dISVRFLCAgIENPTE9SX0JM
QUNLKTsKICAgIH0KCiAgICBmb3IgKDs7KQogICAgewogICAgICAgIGludCBjID0gZ2V0Y2go
KTsgICAgIC8qIHJlZnJlc2gsIGFjY2VwdCBzaW5nbGUga2V5c3Ryb2tlIG9mIGlucHV0ICov
CglhdHRyc2V0KENPTE9SX1BBSVIobnVtICUgOCkpOwoJbnVtKys7CgogICAgICAgIC8qIHBy
b2Nlc3MgdGhlIGNvbW1hbmQga2V5c3Ryb2tlICovCiAgICB9CgogICAgZmluaXNoKDApOyAg
ICAgICAgICAgICAgIC8qIHdlJ3JlIGRvbmUgKi8KfQoKc3RhdGljIHZvaWQgZmluaXNoKGlu
dCBzaWcpCnsKICAgIGVuZHdpbigpOwoKICAgIC8qIGRvIHlvdXIgbm9uLWN1cnNlcyB3cmFw
dXAgaGVyZSAqLwoKICAgIGV4aXQoMCk7Cn0KPC9QUkU+Cgo8SDM+PEEgTkFNRT0ic3RhcnRp
bmciPlN0YXJ0aW5nIHVwPC9BPjwvSDM+CgpJbiBvcmRlciB0byB1c2UgdGhlIHNjcmVlbiBw
YWNrYWdlLCB0aGUgcm91dGluZXMgbXVzdCBrbm93IGFib3V0IHRlcm1pbmFsCmNoYXJhY3Rl
cmlzdGljcywgYW5kIHRoZSBzcGFjZSBmb3IgPENPREU+Y3Vyc2NyPC9DT0RFPiBhbmQgPENP
REU+c3Rkc2NyPC9DT0RFPiBtdXN0IGJlCmFsbG9jYXRlZC4gIFRoZXNlIGZ1bmN0aW9uIDxD
T0RFPmluaXRzY3IoKTwvQ09ERT4gZG9lcyBib3RoIHRoZXNlIHRoaW5ncy4gU2luY2UgaXQK
bXVzdCBhbGxvY2F0ZSBzcGFjZSBmb3IgdGhlIHdpbmRvd3MsIGl0IGNhbiBvdmVyZmxvdyBt
ZW1vcnkgd2hlbiBhdHRlbXB0aW5nIHRvCmRvIHNvLiBPbiB0aGUgcmFyZSBvY2Nhc2lvbnMg
dGhpcyBoYXBwZW5zLCA8Q09ERT5pbml0c2NyKCk8L0NPREU+IHdpbGwgdGVybWluYXRlCnRo
ZSBwcm9ncmFtIHdpdGggYW4gZXJyb3IgbWVzc2FnZS4gIDxDT0RFPmluaXRzY3IoKTwvQ09E
RT4gbXVzdCBhbHdheXMgYmUgY2FsbGVkCmJlZm9yZSBhbnkgb2YgdGhlIHJvdXRpbmVzIHdo
aWNoIGFmZmVjdCB3aW5kb3dzIGFyZSB1c2VkLiAgSWYgaXQgaXMgbm90LCB0aGUKcHJvZ3Jh
bSB3aWxsIGNvcmUgZHVtcCBhcyBzb29uIGFzIGVpdGhlciA8Q09ERT5jdXJzY3I8L0NPREU+
IG9yIDxDT0RFPnN0ZHNjcjwvQ09ERT4gYXJlCnJlZmVyZW5jZWQuICBIb3dldmVyLCBpdCBp
cyB1c3VhbGx5IGJlc3QgdG8gd2FpdCB0byBjYWxsIGl0IHVudGlsIGFmdGVyIHlvdSBhcmUK
c3VyZSB5b3Ugd2lsbCBuZWVkIGl0LCBsaWtlIGFmdGVyIGNoZWNraW5nIGZvciBzdGFydHVw
IGVycm9ycy4gIFRlcm1pbmFsIHN0YXR1cwpjaGFuZ2luZyByb3V0aW5lcyBsaWtlIDxDT0RF
Pm5sKCk8L0NPREU+IGFuZCA8Q09ERT5jYnJlYWsoKTwvQ09ERT4gc2hvdWxkIGJlIGNhbGxl
ZAphZnRlciA8Q09ERT5pbml0c2NyKCk8L0NPREU+LiA8UD4KCk9uY2UgdGhlIHNjcmVlbiB3
aW5kb3dzIGhhdmUgYmVlbiBhbGxvY2F0ZWQsIHlvdSBjYW4gc2V0IHRoZW0gdXAgZm9yCnlv
dXIgcHJvZ3JhbS4gIElmIHlvdSB3YW50IHRvLCBzYXksIGFsbG93IGEgc2NyZWVuIHRvIHNj
cm9sbCwgdXNlCjxDT0RFPnNjcm9sbG9rKCk8L0NPREU+LiAgSWYgeW91IHdhbnQgdGhlIGN1
cnNvciB0byBiZSBsZWZ0IGluIHBsYWNlIGFmdGVyCnRoZSBsYXN0IGNoYW5nZSwgdXNlIDxD
T0RFPmxlYXZlb2soKTwvQ09ERT4uICBJZiB0aGlzIGlzbid0IGRvbmUsCjxDT0RFPnJlZnJl
c2goKTwvQ09ERT4gd2lsbCBtb3ZlIHRoZSBjdXJzb3IgdG8gdGhlIHdpbmRvdydzIGN1cnJl
bnQgKHksIHgpCmNvb3JkaW5hdGVzIGFmdGVyIHVwZGF0aW5nIGl0LiA8UD4KCllvdSBjYW4g
Y3JlYXRlIG5ldyB3aW5kb3dzIG9mIHlvdXIgb3duIHVzaW5nIHRoZSBmdW5jdGlvbnMgPENP
REU+bmV3d2luKCk8L0NPREU+LAo8Q09ERT5kZXJ3aW4oKTwvQ09ERT4sIGFuZCA8Q09ERT5z
dWJ3aW4oKTwvQ09ERT4uICBUaGUgcm91dGluZSA8Q09ERT5kZWx3aW4oKTwvQ09ERT4gd2ls
bAphbGxvdyB5b3UgdG8gZ2V0IHJpZCBvZiBvbGQgd2luZG93cy4gIEFsbCB0aGUgb3B0aW9u
cyBkZXNjcmliZWQgYWJvdmUgY2FuIGJlCmFwcGxpZWQgdG8gYW55IHdpbmRvdy4KCjxIMz48
QSBOQU1FPSJvdXRwdXQiPk91dHB1dDwvQT48L0gzPgoKTm93IHRoYXQgd2UgaGF2ZSBzZXQg
dGhpbmdzIHVwLCB3ZSB3aWxsIHdhbnQgdG8gYWN0dWFsbHkgdXBkYXRlIHRoZSB0ZXJtaW5h
bC4KVGhlIGJhc2ljIGZ1bmN0aW9ucyB1c2VkIHRvIGNoYW5nZSB3aGF0IHdpbGwgZ28gb24g
YSB3aW5kb3cgYXJlCjxDT0RFPmFkZGNoKCk8L0NPREU+IGFuZCA8Q09ERT5tb3ZlKCk8L0NP
REU+LiAgPENPREU+YWRkY2goKTwvQ09ERT4gYWRkcyBhIGNoYXJhY3RlciBhdCB0aGUKY3Vy
cmVudCAoeSwgeCkgY29vcmRpbmF0ZXMuICA8Q09ERT5tb3ZlKCk8L0NPREU+IGNoYW5nZXMg
dGhlIGN1cnJlbnQgKHksIHgpCmNvb3JkaW5hdGVzIHRvIHdoYXRldmVyIHlvdSB3YW50IHRo
ZW0gdG8gYmUuICBJdCByZXR1cm5zIDxDT0RFPkVSUjwvQ09ERT4gaWYgeW91CnRyeSB0byBt
b3ZlIG9mZiB0aGUgd2luZG93LiAgQXMgbWVudGlvbmVkIGFib3ZlLCB5b3UgY2FuIGNvbWJp
bmUgdGhlIHR3byBpbnRvCjxDT0RFPm12YWRkY2goKTwvQ09ERT4gdG8gZG8gYm90aCB0aGlu
Z3MgYXQgb25jZS4gPFA+CgpUaGUgb3RoZXIgb3V0cHV0IGZ1bmN0aW9ucywgc3VjaCBhcyA8
Q09ERT5hZGRzdHIoKTwvQ09ERT4gYW5kIDxDT0RFPnByaW50dygpPC9DT0RFPiwKYWxsIGNh
bGwgPENPREU+YWRkY2goKTwvQ09ERT4gdG8gYWRkIGNoYXJhY3RlcnMgdG8gdGhlIHdpbmRv
dy4gPFA+CgpBZnRlciB5b3UgaGF2ZSBwdXQgb24gdGhlIHdpbmRvdyB3aGF0IHlvdSB3YW50
IHRoZXJlLCB3aGVuIHlvdSB3YW50IHRoZSBwb3J0aW9uCm9mIHRoZSB0ZXJtaW5hbCBjb3Zl
cmVkIGJ5IHRoZSB3aW5kb3cgdG8gYmUgbWFkZSB0byBsb29rIGxpa2UgaXQsIHlvdSBtdXN0
IGNhbGwKPENPREU+cmVmcmVzaCgpPC9DT0RFPi4gIEluIG9yZGVyIHRvIG9wdGltaXplIGZp
bmRpbmcgY2hhbmdlcywgPENPREU+cmVmcmVzaCgpPC9DT0RFPgphc3N1bWVzIHRoYXQgYW55
IHBhcnQgb2YgdGhlIHdpbmRvdyBub3QgY2hhbmdlZCBzaW5jZSB0aGUgbGFzdAo8Q09ERT5y
ZWZyZXNoKCk8L0NPREU+IG9mIHRoYXQgd2luZG93IGhhcyBub3QgYmVlbiBjaGFuZ2VkIG9u
IHRoZSB0ZXJtaW5hbCwgaS5lLiwKdGhhdCB5b3UgaGF2ZSBub3QgcmVmcmVzaGVkIGEgcG9y
dGlvbiBvZiB0aGUgdGVybWluYWwgd2l0aCBhbiBvdmVybGFwcGluZwp3aW5kb3cuICBJZiB0
aGlzIGlzIG5vdCB0aGUgY2FzZSwgdGhlIHJvdXRpbmUgPENPREU+dG91Y2h3aW4oKTwvQ09E
RT4gaXMgcHJvdmlkZWQKdG8gbWFrZSBpdCBsb29rIGxpa2UgdGhlIGVudGlyZSB3aW5kb3cg
aGFzIGJlZW4gY2hhbmdlZCwgdGh1cyBtYWtpbmcKPENPREU+cmVmcmVzaCgpPC9DT0RFPiBj
aGVjayB0aGUgd2hvbGUgc3Vic2VjdGlvbiBvZiB0aGUgdGVybWluYWwgZm9yIGNoYW5nZXMu
IDxQPgoKSWYgeW91IGNhbGwgPENPREU+d3JlZnJlc2goKTwvQ09ERT4gd2l0aCA8Q09ERT5j
dXJzY3I8L0NPREU+IGFzIGl0cyBhcmd1bWVudCwgaXQgd2lsbAptYWtlIHRoZSBzY3JlZW4g
bG9vayBsaWtlIDxDT0RFPmN1cnNjcjwvQ09ERT4gdGhpbmtzIGl0IGxvb2tzIGxpa2UuICBU
aGlzIGlzIHVzZWZ1bApmb3IgaW1wbGVtZW50aW5nIGEgY29tbWFuZCB3aGljaCB3b3VsZCBy
ZWRyYXcgdGhlIHNjcmVlbiBpbiBjYXNlIGl0IGdldCBtZXNzZWQKdXAuCgo8SDM+PEEgTkFN
RT0iaW5wdXQiPklucHV0PC9BPjwvSDM+CgpUaGUgY29tcGxlbWVudGFyeSBmdW5jdGlvbiB0
byA8Q09ERT5hZGRjaCgpPC9DT0RFPiBpcyA8Q09ERT5nZXRjaCgpPC9DT0RFPiB3aGljaCwg
aWYKZWNobyBpcyBzZXQsIHdpbGwgY2FsbCA8Q09ERT5hZGRjaCgpPC9DT0RFPiB0byBlY2hv
IHRoZSBjaGFyYWN0ZXIuICBTaW5jZSB0aGUKc2NyZWVuIHBhY2thZ2UgbmVlZHMgdG8ga25v
dyB3aGF0IGlzIG9uIHRoZSB0ZXJtaW5hbCBhdCBhbGwgdGltZXMsIGlmCmNoYXJhY3RlcnMg
YXJlIHRvIGJlIGVjaG9lZCwgdGhlIHR0eSBtdXN0IGJlIGluIHJhdyBvciBjYnJlYWsgbW9k
ZS4gIFNpbmNlCmluaXRpYWxseSB0aGUgdGVybWluYWwgaGFzIGVjaG9pbmcgZW5hYmxlZCBh
bmQgaXMgaW4gb3JkaW5hcnkgYGBjb29rZWQnJyBtb2RlLApvbmUgb3IgdGhlIG90aGVyIGhh
cyB0byBjaGFuZ2VkIGJlZm9yZSBjYWxsaW5nIDxDT0RFPmdldGNoKCk8L0NPREU+OyBvdGhl
cndpc2UsCnRoZSBwcm9ncmFtJ3Mgb3V0cHV0IHdpbGwgYmUgdW5wcmVkaWN0YWJsZS4gPFA+
CgpXaGVuIHlvdSBuZWVkIHRvIGFjY2VwdCBsaW5lLW9yaWVudGVkIGlucHV0IGluIGEgd2lu
ZG93LCB0aGUgZnVuY3Rpb25zCjxDT0RFPndnZXRzdHIoKTwvQ09ERT4gYW5kIGZyaWVuZHMg
YXJlIGF2YWlsYWJsZS4gIFRoZXJlIGlzIGV2ZW4gYSA8Q09ERT53c2NhbncoKTwvQ09ERT4K
ZnVuY3Rpb24gdGhhdCBjYW4gZG8gPENPREU+c2NhbmYoKTwvQ09ERT4oMyktc3R5bGUgbXVs
dGktZmllbGQgcGFyc2luZyBvbiB3aW5kb3cKaW5wdXQuICBUaGVzZSBwc2V1ZG8tbGluZS1v
cmllbnRlZCBmdW5jdGlvbnMgdHVybiBvbiBlY2hvaW5nIHdoaWxlIHRoZXkKZXhlY3V0ZS4g
PFA+CgpUaGUgZXhhbXBsZSBjb2RlIGFib3ZlIHVzZXMgdGhlIGNhbGwgPENPREU+a2V5cGFk
KHN0ZHNjciwgVFJVRSk8L0NPREU+IHRvIGVuYWJsZQpzdXBwb3J0IGZvciBmdW5jdGlvbi1r
ZXkgbWFwcGluZy4gIFdpdGggdGhpcyBmZWF0dXJlLCB0aGUgPENPREU+Z2V0Y2goKTwvQ09E
RT4gY29kZQp3YXRjaGVzIHRoZSBpbnB1dCBzdHJlYW0gZm9yIGNoYXJhY3RlciBzZXF1ZW5j
ZXMgdGhhdCBjb3JyZXNwb25kIHRvIGFycm93IGFuZApmdW5jdGlvbiBrZXlzLiAgVGhlc2Ug
c2VxdWVuY2VzIGFyZSByZXR1cm5lZCBhcyBwc2V1ZG8tY2hhcmFjdGVyIHZhbHVlcy4gIFRo
ZQo8Q09ERT4jZGVmaW5lPC9DT0RFPiB2YWx1ZXMgcmV0dXJuZWQgYXJlIGxpc3RlZCBpbiB0
aGUgPENPREU+Y3Vyc2VzLmg8L0NPREU+IFRoZQptYXBwaW5nIGZyb20gc2VxdWVuY2VzIHRv
IDxDT0RFPiNkZWZpbmU8L0NPREU+IHZhbHVlcyBpcyBkZXRlcm1pbmVkIGJ5CjxDT0RFPmtl
eV88L0NPREU+IGNhcGFiaWxpdGllcyBpbiB0aGUgdGVybWluYWwncyB0ZXJtaW5mbyBlbnRy
eS4KCjxIMz48QSBOQU1FPSJmb3Jtc2NoYXJzIj5Vc2luZyBGb3JtcyBDaGFyYWN0ZXJzPC9B
PjwvSDM+CgpUaGUgPENPREU+YWRkY2goKTwvQ09ERT4gZnVuY3Rpb24gKGFuZCBzb21lIG90
aGVycywgaW5jbHVkaW5nIDxDT0RFPmJveCgpPC9DT0RFPiBhbmQKPENPREU+Ym9yZGVyKCk8
L0NPREU+KSBjYW4gYWNjZXB0IHNvbWUgcHNldWRvLWNoYXJhY3RlciBhcmd1bWVudHMgd2hp
Y2ggYXJlIHNwZWNpYWxseQpkZWZpbmVkIGJ5IDxDT0RFPm5jdXJzZXM8L0NPREU+LiAgVGhl
c2UgYXJlIDxDT0RFPiNkZWZpbmU8L0NPREU+IHZhbHVlcyBzZXQgdXAgaW4KdGhlIDxDT0RF
PmN1cnNlcy5oPC9DT0RFPiBoZWFkZXI7IHNlZSB0aGVyZSBmb3IgYSBjb21wbGV0ZSBsaXN0
IChsb29rIGZvcgp0aGUgcHJlZml4IDxDT0RFPkFDU188L0NPREU+KS4gPFA+CgpUaGUgbW9z
dCB1c2VmdWwgb2YgdGhlIEFDUyBkZWZpbmVzIGFyZSB0aGUgZm9ybXMtZHJhd2luZyBjaGFy
YWN0ZXJzLiAgWW91IGNhbgp1c2UgdGhlc2UgdG8gZHJhdyBib3hlcyBhbmQgc2ltcGxlIGdy
YXBocyBvbiB0aGUgc2NyZWVuLiAgSWYgdGhlIHRlcm1pbmFsCmRvZXMgbm90IGhhdmUgc3Vj
aCBjaGFyYWN0ZXJzLCA8Q09ERT5jdXJzZXMuaDwvQ09ERT4gd2lsbCBtYXAgdGhlbSB0byBh
CnJlY29nbml6YWJsZSAodGhvdWdoIHVnbHkpIHNldCBvZiBBU0NJSSBkZWZhdWx0cy4KCjxI
Mz48QSBOQU1FPSJhdHRyaWJ1dGVzIj5DaGFyYWN0ZXIgQXR0cmlidXRlcyBhbmQgQ29sb3I8
L0E+PC9IMz4KClRoZSA8Q09ERT5uY3Vyc2VzPC9DT0RFPiBwYWNrYWdlIHN1cHBvcnRzIHNj
cmVlbiBoaWdobGlnaHRzIGluY2x1ZGluZyBzdGFuZG91dCwKcmV2ZXJzZS12aWRlbywgdW5k
ZXJsaW5lLCBhbmQgYmxpbmsuICBJdCBhbHNvIHN1cHBvcnRzIGNvbG9yLCB3aGljaCBpcyB0
cmVhdGVkCmFzIGFub3RoZXIga2luZCBvZiBoaWdobGlnaHQuIDxQPgoKSGlnaGxpZ2h0cyBh
cmUgZW5jb2RlZCwgaW50ZXJuYWxseSwgYXMgaGlnaCBiaXRzIG9mIHRoZSBwc2V1ZG8tY2hh
cmFjdGVyIHR5cGUKKDxDT0RFPmNodHlwZTwvQ09ERT4pIHRoYXQgPENPREU+Y3Vyc2VzLmg8
L0NPREU+IHVzZXMgdG8gcmVwcmVzZW50IHRoZSBjb250ZW50cyBvZiBhCnNjcmVlbiBjZWxs
LiAgU2VlIHRoZSA8Q09ERT5jdXJzZXMuaDwvQ09ERT4gaGVhZGVyIGZpbGUgZm9yIGEgY29t
cGxldGUgbGlzdCBvZgpoaWdobGlnaHQgbWFzayB2YWx1ZXMgKGxvb2sgZm9yIHRoZSBwcmVm
aXggPENPREU+QV88L0NPREU+KS48UD4KClRoZXJlIGFyZSB0d28gd2F5cyB0byBtYWtlIGhp
Z2hsaWdodHMuICBPbmUgaXMgdG8gbG9naWNhbC1vciB0aGUgdmFsdWUgb2YgdGhlCmhpZ2hs
aWdodHMgeW91IHdhbnQgaW50byB0aGUgY2hhcmFjdGVyIGFyZ3VtZW50IG9mIGFuIDxDT0RF
PmFkZGNoKCk8L0NPREU+IGNhbGwsCm9yIGFueSBvdGhlciBvdXRwdXQgY2FsbCB0aGF0IHRh
a2VzIGEgPENPREU+Y2h0eXBlPC9DT0RFPiBhcmd1bWVudC4gPFA+CgpUaGUgb3RoZXIgaXMg
dG8gc2V0IHRoZSBjdXJyZW50LWhpZ2hsaWdodCB2YWx1ZS4gIFRoaXMgaXMgbG9naWNhbC1v
cidlZCB3aXRoCmFueSBoaWdobGlnaHQgeW91IHNwZWNpZnkgdGhlIGZpcnN0IHdheS4gIFlv
dSBkbyB0aGlzIHdpdGggdGhlIGZ1bmN0aW9ucwo8Q09ERT5hdHRyb24oKTwvQ09ERT4sIDxD
T0RFPmF0dHJvZmYoKTwvQ09ERT4sIGFuZCA8Q09ERT5hdHRyc2V0KCk8L0NPREU+OyBzZWUg
dGhlIG1hbnVhbApwYWdlcyBmb3IgZGV0YWlscy4KCkNvbG9yIGlzIGEgc3BlY2lhbCBraW5k
IG9mIGhpZ2hsaWdodC4gIFRoZSBwYWNrYWdlIGFjdHVhbGx5IHRoaW5rcyBpbiB0ZXJtcwpv
ZiBjb2xvciBwYWlycywgY29tYmluYXRpb25zIG9mIGZvcmVncm91bmQgYW5kIGJhY2tncm91
bmQgY29sb3JzLiAgVGhlIHNhbXBsZQpjb2RlIGFib3ZlIHNldHMgdXAgZWlnaHQgY29sb3Ig
cGFpcnMsIGFsbCBvZiB0aGUgZ3VhcmFudGVlZC1hdmFpbGFibGUgY29sb3JzCm9uIGJsYWNr
LiAgTm90ZSB0aGF0IGVhY2ggY29sb3IgcGFpciBpcywgaW4gZWZmZWN0LCBnaXZlbiB0aGUg
bmFtZSBvZiBpdHMKZm9yZWdyb3VuZCBjb2xvci4gIEFueSBvdGhlciByYW5nZSBvZiBlaWdo
dCBub24tY29uZmxpY3RpbmcgdmFsdWVzIGNvdWxkCmhhdmUgYmVlbiB1c2VkIGFzIHRoZSBm
aXJzdCBhcmd1bWVudHMgb2YgdGhlIDxDT0RFPmluaXRfcGFpcigpPC9DT0RFPiB2YWx1ZXMu
IDxQPgoKT25jZSB5b3UndmUgZG9uZSBhbiA8Q09ERT5pbml0X3BhaXIoKTwvQ09ERT4gdGhh
dCBjcmVhdGVzIGNvbG9yLXBhaXIgTiwgeW91IGNhbgp1c2UgPENPREU+Q09MT1JfUEFJUihO
KTwvQ09ERT4gYXMgYSBoaWdobGlnaHQgdGhhdCBpbnZva2VzIHRoYXQgcGFydGljdWxhcgpj
b2xvciBjb21iaW5hdGlvbi4gIE5vdGUgdGhhdCA8Q09ERT5DT0xPUl9QQUlSKE4pPC9DT0RF
PiwgZm9yIGNvbnN0YW50IE4sCmlzIGl0c2VsZiBhIGNvbXBpbGUtdGltZSBjb25zdGFudCBh
bmQgY2FuIGJlIHVzZWQgaW4gaW5pdGlhbGl6ZXJzLgoKPEgzPjxBIE5BTUU9Im1vdXNlIj5N
b3VzZSBJbnRlcmZhY2luZzwvQT48L0gzPgoKVGhlIDxDT0RFPm5jdXJzZXM8L0NPREU+IGxp
YnJhcnkgYWxzbyBwcm92aWRlcyBhIG1vdXNlIGludGVyZmFjZS4KPCEtLSBUaGUgJ25vdGUn
IHRhZyBpcyBub3QgcG9ydGFibGUgZW5vdWdoIC0tPgo8YmxvY2txdW90ZT4KPHN0cm9uZz5O
T1RFOjwvc3Ryb25nPiB0aGlzIGZhY2lsaXR5IGlzIHNwZWNpZmljIHRvIDxDT0RFPm5jdXJz
ZXM8L0NPREU+LCBpdCBpcyBub3QgcGFydCBvZiBlaXRoZXIKdGhlIFhTSSBDdXJzZXMgc3Rh
bmRhcmQsIG5vciBvZiBTeXN0ZW0gViBSZWxlYXNlIDQsIG5vciBCU0QgY3Vyc2VzLgpTeXN0
ZW0gViBSZWxlYXNlIDQgY3Vyc2VzIGNvbnRhaW5zIGNvZGUgd2l0aCBzaW1pbGFyIGludGVy
ZmFjZSBkZWZpbml0aW9ucywKaG93ZXZlciBpdCBpcyBub3QgZG9jdW1lbnRlZC4gIE90aGVy
IHRoYW4gYnkgZGlzYXNzZW1ibGluZyB0aGUgbGlicmFyeSwgd2UKaGF2ZSBubyB3YXkgdG8g
ZGV0ZXJtaW5lIGV4YWN0bHkgaG93IHRoYXQgbW91c2UgY29kZSB3b3Jrcy4KVGh1cywgd2Ug
cmVjb21tZW5kIHRoYXQgeW91IHdyYXAgbW91c2UtcmVsYXRlZCBjb2RlIGluIGFuICNpZmRl
ZiB1c2luZyB0aGUKZmVhdHVyZSBtYWNybyBOQ1VSU0VTX01PVVNFX1ZFUlNJT04gc28gaXQg
d2lsbCBub3QgYmUgY29tcGlsZWQgYW5kIGxpbmtlZApvbiBub24tbmN1cnNlcyBzeXN0ZW1z
Lgo8L2Jsb2NrcXVvdGU+CgpQcmVzZW50bHksIG1vdXNlIGV2ZW50IHJlcG9ydGluZyB3b3Jr
cyBpbiB0aGUgZm9sbG93aW5nIGVudmlyb25tZW50czoKPHVsPgo8bGk+eHRlcm0gYW5kIHNp
bWlsYXIgcHJvZ3JhbXMgc3VjaCBhcyByeHZ0Lgo8bGk+TGludXggY29uc29sZSwgd2hlbiBj
b25maWd1cmVkIHdpdGggPENPREU+Z3BtPC9DT0RFPigxKSwgQWxlc3NhbmRybwpSdWJpbmkn
cyBtb3VzZSBzZXJ2ZXIuCjxsaT5PUy8yIEVNWAo8L3VsPgo8UD4KVGhlIG1vdXNlIGludGVy
ZmFjZSBpcyB2ZXJ5IHNpbXBsZS4gIFRvIGFjdGl2YXRlIGl0LCB5b3UgdXNlIHRoZSBmdW5j
dGlvbgo8Q09ERT5tb3VzZW1hc2soKTwvQ09ERT4sIHBhc3NpbmcgaXQgYXMgZmlyc3QgYXJn
dW1lbnQgYSBiaXQtbWFzayB0aGF0IHNwZWNpZmllcwp3aGF0IGtpbmRzIG9mIGV2ZW50cyB5
b3Ugd2FudCB5b3VyIHByb2dyYW0gdG8gYmUgYWJsZSB0byBzZWUuICBJdCB3aWxsCnJldHVy
biB0aGUgYml0LW1hc2sgb2YgZXZlbnRzIHRoYXQgYWN0dWFsbHkgYmVjb21lIHZpc2libGUs
IHdoaWNoIG1heSBkaWZmZXIKZnJvbSB0aGUgYXJndW1lbnQgaWYgdGhlIG1vdXNlIGRldmlj
ZSBpcyBub3QgY2FwYWJsZSBvZiByZXBvcnRpbmcgc29tZSBvZgp0aGUgZXZlbnQgdHlwZXMg
eW91IHNwZWNpZnkuIDxQPgoKT25jZSB0aGUgbW91c2UgaXMgYWN0aXZlLCB5b3VyIGFwcGxp
Y2F0aW9uJ3MgY29tbWFuZCBsb29wIHNob3VsZCB3YXRjaApmb3IgYSByZXR1cm4gdmFsdWUg
b2YgPENPREU+S0VZX01PVVNFPC9DT0RFPiBmcm9tIDxDT0RFPndnZXRjaCgpPC9DT0RFPi4g
IFdoZW4KeW91IHNlZSB0aGlzLCBhIG1vdXNlIGV2ZW50IHJlcG9ydCBoYXMgYmVlbiBxdWV1
ZWQuICBUbyBwaWNrIGl0IG9mZgp0aGUgcXVldWUsIHVzZSB0aGUgZnVuY3Rpb24gPENPREU+
Z2V0bW91c2UoKTwvQ09ERT4gKHlvdSBtdXN0IGRvIHRoaXMgYmVmb3JlCnRoZSBuZXh0IDxD
T0RFPndnZXRjaCgpPC9DT0RFPiwgb3RoZXJ3aXNlIGFub3RoZXIgbW91c2UgZXZlbnQgbWln
aHQgY29tZQppbiBhbmQgbWFrZSB0aGUgZmlyc3Qgb25lIGluYWNjZXNzaWJsZSkuIDxQPgoK
RWFjaCBjYWxsIHRvIDxDT0RFPmdldG1vdXNlKCk8L0NPREU+IGZpbGxzIGEgc3RydWN0dXJl
ICh0aGUgYWRkcmVzcyBvZiB3aGljaCB5b3UnbGwKcGFzcyBpdCkgd2l0aCBtb3VzZSBldmVu
dCBkYXRhLiAgVGhlIGV2ZW50IGRhdGEgaW5jbHVkZXMgemVyby1vcmlnaW4sCnNjcmVlbi1y
ZWxhdGl2ZSBjaGFyYWN0ZXItY2VsbCBjb29yZGluYXRlcyBvZiB0aGUgbW91c2UgcG9pbnRl
ci4gIEl0IGFsc28KaW5jbHVkZXMgYW4gZXZlbnQgbWFzay4gIEJpdHMgaW4gdGhpcyBtYXNr
IHdpbGwgYmUgc2V0LCBjb3JyZXNwb25kaW5nCnRvIHRoZSBldmVudCB0eXBlIGJlaW5nIHJl
cG9ydGVkLiA8UD4KClRoZSBtb3VzZSBzdHJ1Y3R1cmUgY29udGFpbnMgdHdvIGFkZGl0aW9u
YWwgZmllbGRzIHdoaWNoIG1heSBiZQpzaWduaWZpY2FudCBpbiB0aGUgZnV0dXJlIGFzIG5j
dXJzZXMgaW50ZXJmYWNlcyB0byBuZXcga2luZHMgb2YKcG9pbnRpbmcgZGV2aWNlLiAgSW4g
YWRkaXRpb24gdG8geCBhbmQgeSBjb29yZGluYXRlcywgdGhlcmUgaXMgYSBzbG90CmZvciBh
IHogY29vcmRpbmF0ZTsgdGhpcyBtaWdodCBiZSB1c2VmdWwgd2l0aCB0b3VjaC1zY3JlZW5z
IHRoYXQgY2FuCnJldHVybiBhIHByZXNzdXJlIG9yIGR1cmF0aW9uIHBhcmFtZXRlci4gIFRo
ZXJlIGlzIGFsc28gYSBkZXZpY2UgSUQKZmllbGQsIHdoaWNoIGNvdWxkIGJlIHVzZWQgdG8g
ZGlzdGluZ3Vpc2ggYmV0d2VlbiBtdWx0aXBsZSBwb2ludGluZwpkZXZpY2VzLiA8UD4KClRo
ZSBjbGFzcyBvZiB2aXNpYmxlIGV2ZW50cyBtYXkgYmUgY2hhbmdlZCBhdCBhbnkgdGltZSB2
aWEgPENPREU+bW91c2VtYXNrKCk8L0NPREU+LgpFdmVudHMgdGhhdCBjYW4gYmUgcmVwb3J0
ZWQgaW5jbHVkZSBwcmVzc2VzLCByZWxlYXNlcywgc2luZ2xlLSwgZG91YmxlLSBhbmQKdHJp
cGxlLWNsaWNrcyAoeW91IGNhbiBzZXQgdGhlIG1heGltdW0gYnV0dG9uLWRvd24gdGltZSBm
b3IgY2xpY2tzKS4gIElmCnlvdSBkb24ndCBtYWtlIGNsaWNrcyB2aXNpYmxlLCB0aGV5IHdp
bGwgYmUgcmVwb3J0ZWQgYXMgcHJlc3MtcmVsZWFzZQpwYWlycy4gIEluIHNvbWUgZW52aXJv
bm1lbnRzLCB0aGUgZXZlbnQgbWFzayBtYXkgaW5jbHVkZSBiaXRzIHJlcG9ydGluZwp0aGUg
c3RhdGUgb2Ygc2hpZnQsIGFsdCwgYW5kIGN0cmwga2V5cyBvbiB0aGUga2V5Ym9hcmQgZHVy
aW5nIHRoZSBldmVudC4gPFA+CgpBIGZ1bmN0aW9uIHRvIGNoZWNrIHdoZXRoZXIgYSBtb3Vz
ZSBldmVudCBmZWxsIHdpdGhpbiBhIGdpdmVuIHdpbmRvdyBpcwphbHNvIHN1cHBsaWVkLiAg
WW91IGNhbiB1c2UgdGhpcyB0byBzZWUgd2hldGhlciBhIGdpdmVuIHdpbmRvdyBzaG91bGQK
Y29uc2lkZXIgYSBtb3VzZSBldmVudCByZWxldmFudCB0byBpdC4gPFA+CgpCZWNhdXNlIG1v
dXNlIGV2ZW50IHJlcG9ydGluZyB3aWxsIG5vdCBiZSBhdmFpbGFibGUgaW4gYWxsCmVudmly
b25tZW50cywgaXQgd291bGQgYmUgdW53aXNlIHRvIGJ1aWxkIDxDT0RFPm5jdXJzZXM8L0NP
REU+CmFwcGxpY2F0aW9ucyB0aGF0IDxFTT5yZXF1aXJlPC9FTT4gdGhlIHVzZSBvZiBhIG1v
dXNlLiAgUmF0aGVyLCB5b3Ugc2hvdWxkCnVzZSB0aGUgbW91c2UgYXMgYSBzaG9ydGN1dCBm
b3IgcG9pbnQtYW5kLXNob290IGNvbW1hbmRzIHlvdXIgYXBwbGljYXRpb24Kd291bGQgbm9y
bWFsbHkgYWNjZXB0IGZyb20gdGhlIGtleWJvYXJkLiAgVHdvIG9mIHRoZSB0ZXN0IGdhbWVz
IGluIHRoZQo8Q09ERT5uY3Vyc2VzPC9DT0RFPiBkaXN0cmlidXRpb24gKDxDT0RFPmJzPC9D
T0RFPiBhbmQgPENPREU+a25pZ2h0PC9DT0RFPikgY29udGFpbgpjb2RlIHRoYXQgaWxsdXN0
cmF0ZXMgaG93IHRoaXMgY2FuIGJlIGRvbmUuIDxQPgoKU2VlIHRoZSBtYW51YWwgcGFnZSA8
Q09ERT5jdXJzX21vdXNlKDNYKTwvQ09ERT4gZm9yIGZ1bGwgZGV0YWlscyBvZiB0aGUKbW91
c2UtaW50ZXJmYWNlIGZ1bmN0aW9ucy4KCjxIMz48QSBOQU1FPSJmaW5pc2hpbmciPkZpbmlz
aGluZyBVcDwvQT48L0gzPgoKSW4gb3JkZXIgdG8gY2xlYW4gdXAgYWZ0ZXIgdGhlIDxDT0RF
Pm5jdXJzZXM8L0NPREU+IHJvdXRpbmVzLCB0aGUgcm91dGluZQo8Q09ERT5lbmR3aW4oKTwv
Q09ERT4gaXMgcHJvdmlkZWQuICBJdCByZXN0b3JlcyB0dHkgbW9kZXMgdG8gd2hhdCB0aGV5
IHdlcmUgd2hlbgo8Q09ERT5pbml0c2NyKCk8L0NPREU+IHdhcyBmaXJzdCBjYWxsZWQsIGFu
ZCBtb3ZlcyB0aGUgY3Vyc29yIGRvd24gdG8gdGhlCmxvd2VyLWxlZnQgY29ybmVyLiAgVGh1
cywgYW55dGltZSBhZnRlciB0aGUgY2FsbCB0byBpbml0c2NyLCA8Q09ERT5lbmR3aW4oKTwv
Q09ERT4Kc2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgZXhpdGluZy4KCjxIMj48QSBOQU1FPSJm
dW5jdGlvbnMiPkZ1bmN0aW9uIERlc2NyaXB0aW9uczwvQT48L0gyPgoKV2UgZGVzY3JpYmUg
dGhlIGRldGFpbGVkIGJlaGF2aW9yIG9mIHNvbWUgaW1wb3J0YW50IGN1cnNlcyBmdW5jdGlv
bnMgaGVyZSwgYXMgYQpzdXBwbGVtZW50IHRvIHRoZSBtYW51YWwgcGFnZSBkZXNjcmlwdGlv
bnMuCgo8SDM+PEEgTkFNRT0iaW5pdCI+SW5pdGlhbGl6YXRpb24gYW5kIFdyYXB1cDwvQT48
L0gzPgoKPERMPgo8RFQ+IDxDT0RFPmluaXRzY3IoKTwvQ09ERT4KPEREPiBUaGUgZmlyc3Qg
ZnVuY3Rpb24gY2FsbGVkIHNob3VsZCBhbG1vc3QgYWx3YXlzIGJlIDxDT0RFPmluaXRzY3Io
KTwvQ09ERT4uClRoaXMgd2lsbCBkZXRlcm1pbmUgdGhlIHRlcm1pbmFsIHR5cGUgYW5kCmlu
aXRpYWxpemUgY3Vyc2VzIGRhdGEgc3RydWN0dXJlcy4gPENPREU+aW5pdHNjcigpPC9DT0RF
PiBhbHNvIGFycmFuZ2VzIHRoYXQKdGhlIGZpcnN0IGNhbGwgdG8gPENPREU+cmVmcmVzaCgp
PC9DT0RFPiB3aWxsIGNsZWFyIHRoZSBzY3JlZW4uICBJZiBhbiBlcnJvcgpvY2N1cnMgYSBt
ZXNzYWdlIGlzIHdyaXR0ZW4gdG8gc3RhbmRhcmQgZXJyb3IgYW5kIHRoZSBwcm9ncmFtCmV4
aXRzLiBPdGhlcndpc2UgaXQgcmV0dXJucyBhIHBvaW50ZXIgdG8gc3Rkc2NyLiAgQSBmZXcg
ZnVuY3Rpb25zIG1heSBiZQpjYWxsZWQgYmVmb3JlIGluaXRzY3IgKDxDT0RFPnNsa19pbml0
KCk8L0NPREU+LCA8Q09ERT5maWx0ZXIoKTwvQ09ERT4sCjxDT0RFPnJpcG9mZmxpbmVzKCk8
L0NPREU+LCA8Q09ERT51c2VfZW52KCk8L0NPREU+LCBhbmQsIGlmIHlvdSBhcmUgdXNpbmcg
bXVsdGlwbGUKdGVybWluYWxzLCA8Q09ERT5uZXd0ZXJtKCk8L0NPREU+LikKPERUPiA8Q09E
RT5lbmR3aW4oKTwvQ09ERT4KPEREPiBZb3VyIHByb2dyYW0gc2hvdWxkIGFsd2F5cyBjYWxs
IDxDT0RFPmVuZHdpbigpPC9DT0RFPiBiZWZvcmUgZXhpdGluZyBvcgpzaGVsbGluZyBvdXQg
b2YgdGhlIHByb2dyYW0uIFRoaXMgZnVuY3Rpb24gd2lsbCByZXN0b3JlIHR0eSBtb2RlcywK
bW92ZSB0aGUgY3Vyc29yIHRvIHRoZSBsb3dlciBsZWZ0IGNvcm5lciBvZiB0aGUgc2NyZWVu
LCByZXNldCB0aGUKdGVybWluYWwgaW50byB0aGUgcHJvcGVyIG5vbi12aXN1YWwgbW9kZS4g
IENhbGxpbmcgPENPREU+cmVmcmVzaCgpPC9DT0RFPgpvciA8Q09ERT5kb3VwZGF0ZSgpPC9D
T0RFPiBhZnRlciBhIHRlbXBvcmFyeSBlc2NhcGUgZnJvbSB0aGUgcHJvZ3JhbSB3aWxsCnJl
c3RvcmUgdGhlIG5jdXJzZXMgc2NyZWVuIGZyb20gYmVmb3JlIHRoZSBlc2NhcGUuCjxEVD4g
PENPREU+bmV3dGVybSh0eXBlLCBvZnAsIGlmcCk8L0NPREU+CjxERD4gQSBwcm9ncmFtIHdo
aWNoIG91dHB1dHMgdG8gbW9yZSB0aGFuIG9uZSB0ZXJtaW5hbCBzaG91bGQgdXNlCjxDT0RF
Pm5ld3Rlcm0oKTwvQ09ERT4gaW5zdGVhZCBvZiA8Q09ERT5pbml0c2NyKCk8L0NPREU+LiAg
PENPREU+bmV3dGVybSgpPC9DT0RFPiBzaG91bGQKYmUgY2FsbGVkIG9uY2UgZm9yIGVhY2gg
dGVybWluYWwuICBJdCByZXR1cm5zIGEgdmFyaWFibGUgb2YgdHlwZQo8Q09ERT5TQ1JFRU4g
KjwvQ09ERT4gd2hpY2ggc2hvdWxkIGJlIHNhdmVkIGFzIGEgcmVmZXJlbmNlIHRvIHRoYXQK
dGVybWluYWwuIFRoZSBhcmd1bWVudHMgYXJlIHRoZSB0eXBlIG9mIHRoZSB0ZXJtaW5hbCAo
YSBzdHJpbmcpIGFuZAo8Q09ERT5GSUxFPC9DT0RFPiBwb2ludGVycyBmb3IgdGhlIG91dHB1
dCBhbmQgaW5wdXQgb2YgdGhlIHRlcm1pbmFsLiAgSWYKdHlwZSBpcyBOVUxMIHRoZW4gdGhl
IGVudmlyb25tZW50IHZhcmlhYmxlIDxDT0RFPiRURVJNPC9DT0RFPiBpcyB1c2VkLgo8Q09E
RT5lbmR3aW4oKTwvQ09ERT4gc2hvdWxkIGNhbGxlZCBvbmNlIGF0IHdyYXB1cCB0aW1lIGZv
ciBlYWNoIHRlcm1pbmFsCm9wZW5lZCB1c2luZyB0aGlzIGZ1bmN0aW9uLgo8RFQ+IDxDT0RF
PnNldF90ZXJtKG5ldyk8L0NPREU+CjxERD4gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHN3
aXRjaCB0byBhIGRpZmZlcmVudCB0ZXJtaW5hbCBwcmV2aW91c2x5Cm9wZW5lZCBieSA8Q09E
RT5uZXd0ZXJtKCk8L0NPREU+LiAgVGhlIHNjcmVlbiByZWZlcmVuY2UgZm9yIHRoZSBuZXcg
dGVybWluYWwKaXMgcGFzc2VkIGFzIHRoZSBwYXJhbWV0ZXIuICBUaGUgcHJldmlvdXMgdGVy
bWluYWwgaXMgcmV0dXJuZWQgYnkgdGhlCmZ1bmN0aW9uLiAgQWxsIG90aGVyIGNhbGxzIGFm
ZmVjdCBvbmx5IHRoZSBjdXJyZW50IHRlcm1pbmFsLgo8RFQ+IDxDT0RFPmRlbHNjcmVlbihz
cCk8L0NPREU+CjxERD4gVGhlIGludmVyc2Ugb2YgPENPREU+bmV3dGVybSgpPC9DT0RFPjsg
ZGVhbGxvY2F0ZXMgdGhlIGRhdGEgc3RydWN0dXJlcwphc3NvY2lhdGVkIHdpdGggYSBnaXZl
biA8Q09ERT5TQ1JFRU48L0NPREU+IHJlZmVyZW5jZS4KPC9ETD4KCjxIMz48QSBOQU1FPSJm
bHVzaCI+Q2F1c2luZyBPdXRwdXQgdG8gdGhlIFRlcm1pbmFsPC9BPjwvSDM+Cgo8REw+CjxE
VD4gPENPREU+cmVmcmVzaCgpPC9DT0RFPiBhbmQgPENPREU+d3JlZnJlc2god2luKTwvQ09E
RT4KPEREPiBUaGVzZSBmdW5jdGlvbnMgbXVzdCBiZSBjYWxsZWQgdG8gYWN0dWFsbHkgZ2V0
IGFueSBvdXRwdXQgb24KdGhlICB0ZXJtaW5hbCwgIGFzICBvdGhlciAgcm91dGluZXMgIG1l
cmVseSAgbWFuaXB1bGF0ZSBkYXRhCnN0cnVjdHVyZXMuICA8Q09ERT53cmVmcmVzaCgpPC9D
T0RFPiBjb3BpZXMgdGhlIG5hbWVkIHdpbmRvdyAgdG8gdGhlIHBoeXNpY2FsCnRlcm1pbmFs
IHNjcmVlbiwgIHRha2luZyAgaW50byBhY2NvdW50ICB3aGF0IGlzIGFscmVhZHkKdGhlcmUg
aW4gIG9yZGVyIHRvICBkbyBvcHRpbWl6YXRpb25zLiAgPENPREU+cmVmcmVzaCgpPC9DT0RF
PiBkb2VzIGEKcmVmcmVzaCBvZiA8Q09ERT5zdGRzY3IoKTwvQ09ERT4uICAgVW5sZXNzIDxD
T0RFPmxlYXZlb2soKTwvQ09ERT4gaGFzIGJlZW4KZW5hYmxlZCwgdGhlIHBoeXNpY2FsIGN1
cnNvciBvZiB0aGUgdGVybWluYWwgaXMgbGVmdCBhdCAgdGhlCmxvY2F0aW9uIG9mIHRoZSB3
aW5kb3cncyBjdXJzb3IuCjxEVD4gPENPREU+ZG91cGRhdGUoKTwvQ09ERT4gYW5kIDxDT0RF
Pndub3V0cmVmcmVzaCh3aW4pPC9DT0RFPgo8REQ+IFRoZXNlIHR3byBmdW5jdGlvbnMgYWxs
b3cgbXVsdGlwbGUgdXBkYXRlcyB3aXRoIG1vcmUgZWZmaWNpZW5jeQp0aGFuIHdyZWZyZXNo
LiAgVG8gdXNlIHRoZW0sIGl0IGlzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIGhvdyBjdXJz
ZXMKd29ya3MuICBJbiBhZGRpdGlvbiB0byBhbGwgdGhlIHdpbmRvdyBzdHJ1Y3R1cmVzLCBj
dXJzZXMga2VlcHMgdHdvCmRhdGEgc3RydWN0dXJlcyByZXByZXNlbnRpbmcgdGhlIHRlcm1p
bmFsIHNjcmVlbjogYSBwaHlzaWNhbCBzY3JlZW4sCmRlc2NyaWJpbmcgd2hhdCBpcyBhY3R1
YWxseSBvbiB0aGUgc2NyZWVuLCBhbmQgYSB2aXJ0dWFsIHNjcmVlbiwKZGVzY3JpYmluZyB3
aGF0IHRoZSBwcm9ncmFtbWVyIHdhbnRzIHRvIGhhdmUgb24gdGhlIHNjcmVlbi4gIHdyZWZy
ZXNoCndvcmtzIGJ5IGZpcnN0IGNvcHlpbmcgdGhlIG5hbWVkIHdpbmRvdyB0byB0aGUgdmly
dHVhbCBzY3JlZW4KKDxDT0RFPndub3V0cmVmcmVzaCgpPC9DT0RFPiksIGFuZCB0aGVuIGNh
bGxpbmcgdGhlIHJvdXRpbmUgdG8gdXBkYXRlIHRoZQpzY3JlZW4gKDxDT0RFPmRvdXBkYXRl
KCk8L0NPREU+KS4gIElmIHRoZSBwcm9ncmFtbWVyIHdpc2hlcyB0byBvdXRwdXQKc2V2ZXJh
bCB3aW5kb3dzIGF0IG9uY2UsIGEgc2VyaWVzIG9mIGNhbGxzIHRvIDxDT0RFPndyZWZyZXNo
PC9DT0RFPiB3aWxsIHJlc3VsdAppbiBhbHRlcm5hdGluZyBjYWxscyB0byA8Q09ERT53bm91
dHJlZnJlc2goKTwvQ09ERT4gYW5kIDxDT0RFPmRvdXBkYXRlKCk8L0NPREU+LApjYXVzaW5n
IHNldmVyYWwgYnVyc3RzIG9mIG91dHB1dCB0byB0aGUgc2NyZWVuLiAgQnkgY2FsbGluZwo8
Q09ERT53bm91dHJlZnJlc2goKTwvQ09ERT4gZm9yIGVhY2ggd2luZG93LCBpdCBpcyB0aGVu
IHBvc3NpYmxlIHRvIGNhbGwKPENPREU+ZG91cGRhdGUoKTwvQ09ERT4gb25jZSwgcmVzdWx0
aW5nIGluIG9ubHkgb25lIGJ1cnN0IG9mIG91dHB1dCwgd2l0aApmZXdlciB0b3RhbCBjaGFy
YWN0ZXJzIHRyYW5zbWl0dGVkICh0aGlzIGFsc28gYXZvaWRzIGEgdmlzdWFsbHkgYW5ub3lp
bmcKZmxpY2tlciBhdCBlYWNoIHVwZGF0ZSkuCjwvREw+Cgo8SDM+PEEgTkFNRT0ibG93bGV2
ZWwiPkxvdy1MZXZlbCBDYXBhYmlsaXR5IEFjY2VzczwvQT48L0gzPgoKPERMPgo8RFQ+IDxD
T0RFPnNldHVwdGVybSh0ZXJtLCBmaWxlbnVtLCBlcnJyZXQpPC9DT0RFPgo8REQ+IFRoaXMg
cm91dGluZSBpcyBjYWxsZWQgdG8gaW5pdGlhbGl6ZSBhIHRlcm1pbmFsJ3MgZGVzY3JpcHRp
b24sIHdpdGhvdXQgc2V0dGluZwp1cCB0aGUgY3Vyc2VzIHNjcmVlbiBzdHJ1Y3R1cmVzIG9y
IGNoYW5naW5nIHRoZSB0dHktZHJpdmVyIG1vZGUgYml0cy4KPENPREU+dGVybTwvQ09ERT4g
aXMgdGhlIGNoYXJhY3RlciBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBuYW1lIG9mIHRoZSB0
ZXJtaW5hbApiZWluZyB1c2VkLiAgPENPREU+ZmlsZW51bTwvQ09ERT4gaXMgdGhlIFVOSVgg
ZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSB0ZXJtaW5hbCB0bwpiZSB1c2VkIGZvciBvdXRwdXQu
ICA8Q09ERT5lcnJyZXQ8L0NPREU+IGlzIGEgcG9pbnRlciB0byBhbiBpbnRlZ2VyLCBpbiB3
aGljaCBhCnN1Y2Nlc3Mgb3IgZmFpbHVyZSBpbmRpY2F0aW9uIGlzIHJldHVybmVkLiAgVGhl
IHZhbHVlcyByZXR1cm5lZCBjYW4gYmUgMSAoYWxsCmlzIHdlbGwpLCAwIChubyBzdWNoIHRl
cm1pbmFsKSwgb3IgLTEgKHNvbWUgcHJvYmxlbSBsb2NhdGluZyB0aGUgdGVybWluZm8KZGF0
YWJhc2UpLiA8UD4KClRoZSB2YWx1ZSBvZiA8Q09ERT50ZXJtPC9DT0RFPiBjYW4gYmUgZ2l2
ZW4gYXMgTlVMTCwgd2hpY2ggd2lsbCBjYXVzZSB0aGUgdmFsdWUgb2YKPENPREU+VEVSTTwv
Q09ERT4gaW4gdGhlIGVudmlyb25tZW50IHRvIGJlIHVzZWQuICBUaGUgPENPREU+ZXJycmV0
PC9DT0RFPiBwb2ludGVyIGNhbgphbHNvIGJlIGdpdmVuIGFzIE5VTEwsIG1lYW5pbmcgbm8g
ZXJyb3IgY29kZSBpcyB3YW50ZWQuICBJZiA8Q09ERT5lcnJyZXQ8L0NPREU+IGlzCmRlZmF1
bHRlZCwgYW5kIHNvbWV0aGluZyBnb2VzIHdyb25nLCA8Q09ERT5zZXR1cHRlcm0oKTwvQ09E
RT4gd2lsbCBwcmludCBhbgphcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlIGFuZCBleGl0LCBy
YXRoZXIgdGhhbiByZXR1cm5pbmcuICBUaHVzLCBhIHNpbXBsZQpwcm9ncmFtIGNhbiBjYWxs
IHNldHVwdGVybSgwLCAxLCAwKSBhbmQgbm90IHdvcnJ5IGFib3V0IGluaXRpYWxpemF0aW9u
CmVycm9ycy4gPFA+CgpBZnRlciB0aGUgY2FsbCB0byA8Q09ERT5zZXR1cHRlcm0oKTwvQ09E
RT4sIHRoZSBnbG9iYWwgdmFyaWFibGUgPENPREU+Y3VyX3Rlcm08L0NPREU+IGlzCnNldCB0
byBwb2ludCB0byB0aGUgY3VycmVudCBzdHJ1Y3R1cmUgb2YgdGVybWluYWwgY2FwYWJpbGl0
aWVzLiBCeSBjYWxsaW5nCjxDT0RFPnNldHVwdGVybSgpPC9DT0RFPiBmb3IgZWFjaCB0ZXJt
aW5hbCwgYW5kIHNhdmluZyBhbmQgcmVzdG9yaW5nCjxDT0RFPmN1cl90ZXJtPC9DT0RFPiwg
aXQgaXMgcG9zc2libGUgZm9yIGEgcHJvZ3JhbSB0byB1c2UgdHdvIG9yIG1vcmUgdGVybWlu
YWxzIGF0Cm9uY2UuICA8Q09ERT5TZXR1cHRlcm0oKTwvQ09ERT4gYWxzbyBzdG9yZXMgdGhl
IG5hbWVzIHNlY3Rpb24gb2YgdGhlIHRlcm1pbmFsCmRlc2NyaXB0aW9uIGluIHRoZSBnbG9i
YWwgY2hhcmFjdGVyIGFycmF5IDxDT0RFPnR0eXR5cGVbXTwvQ09ERT4uICBTdWJzZXF1ZW50
IGNhbGxzCnRvIDxDT0RFPnNldHVwdGVybSgpPC9DT0RFPiB3aWxsIG92ZXJ3cml0ZSB0aGlz
IGFycmF5LCBzbyB5b3UnbGwgaGF2ZSB0byBzYXZlIGl0CnlvdXJzZWxmIGlmIG5lZWQgYmUu
CjwvREw+Cgo8SDM+PEEgTkFNRT0iZGVidWdnaW5nIj5EZWJ1Z2dpbmc8L0E+PC9IMz4KCjwh
LS0gVGhlICdub3RlJyB0YWcgaXMgbm90IHBvcnRhYmxlIGVub3VnaCAtLT4KPGJsb2NrcXVv
dGU+CjxzdHJvbmc+Tk9URTo8L3N0cm9uZz4gVGhlc2UgZnVuY3Rpb25zIGFyZSBub3QgcGFy
dCBvZiB0aGUgc3RhbmRhcmQgY3Vyc2VzIEFQSSEKPC9ibG9ja3F1b3RlPgoKPERMPgo8RFQ+
IDxDT0RFPnRyYWNlKCk8L0NPREU+CjxERD4KVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0
byBleHBsaWNpdGx5IHNldCBhIHRyYWNlIGxldmVsLiAgSWYgdGhlCnRyYWNlIGxldmVsIGlz
IG5vbnplcm8sIGV4ZWN1dGlvbiBvZiB5b3VyIHByb2dyYW0gd2lsbCBnZW5lcmF0ZSBhIGZp
bGUKY2FsbGVkIGB0cmFjZScgaW4gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgY29u
dGFpbmluZyBhIHJlcG9ydCBvbgp0aGUgbGlicmFyeSdzIGFjdGlvbnMuICBIaWdoZXIgdHJh
Y2UgbGV2ZWxzIGVuYWJsZSBtb3JlIGRldGFpbGVkIChhbmQKdmVyYm9zZSkgcmVwb3J0aW5n
IC0tIHNlZSBjb21tZW50cyBhdHRhY2hlZCB0byA8Q09ERT5UUkFDRV88L0NPREU+IGRlZmlu
ZXMKaW4gdGhlIDxDT0RFPmN1cnNlcy5oPC9DT0RFPiBmaWxlIGZvciBkZXRhaWxzLiAgKEl0
IGlzIGFsc28gcG9zc2libGUgdG8gc2V0CmEgdHJhY2UgbGV2ZWwgYnkgYXNzaWduaW5nIGEg
dHJhY2UgbGV2ZWwgdmFsdWUgdG8gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCjxDT0RFPk5D
VVJTRVNfVFJBQ0U8L0NPREU+KS4KPERUPiA8Q09ERT5fdHJhY2VmKCk8L0NPREU+CjxERD4K
VGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBvdXRwdXQgeW91ciBvd24gZGVidWdnaW5n
IGluZm9ybWF0aW9uLiAgSXQgaXMgb25seQphdmFpbGFibGUgb25seSBpZiB5b3UgbGluayB3
aXRoIC1sbmN1cnNlc19nLiAgSXQgY2FuIGJlIHVzZWQgdGhlIHNhbWUgd2F5IGFzCjxDT0RF
PnByaW50ZigpPC9DT0RFPiwgb25seSBpdCBvdXRwdXRzIGEgbmV3bGluZSBhZnRlciB0aGUg
ZW5kIG9mIGFyZ3VtZW50cy4KVGhlIG91dHB1dCBnb2VzIHRvIGEgZmlsZSBjYWxsZWQgPENP
REU+dHJhY2U8L0NPREU+IGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KPC9ETD4KClRyYWNl
IGxvZ3MgY2FuIGJlIGRpZmZpY3VsdCB0byBpbnRlcnByZXQgZHVlIHRvIHRoZSBzaGVlciB2
b2x1bWUgb2YKZGF0YSBkdW1wZWQgaW4gdGhlbS4gIFRoZXJlIGlzIGEgc2NyaXB0IGNhbGxl
ZCA8U1RST05HPnRyYWNlbXVuY2g8L1NUUk9ORz4KaW5jbHVkZWQgd2l0aCB0aGUgPENPREU+
bmN1cnNlczwvQ09ERT4gZGlzdHJpYnV0aW9uIHRoYXQgY2FuIGFsbGV2aWF0ZQp0aGlzIHBy
b2JsZW0gc29tZXdoYXQ7IGl0IGNvbXBhY3RzIGxvbmcgc2VxdWVuY2VzIG9mIHNpbWlsYXIg
b3BlcmF0aW9ucyBpbnRvCm1vcmUgc3VjY2luY3Qgc2luZ2xlLWxpbmUgcHNldWRvLW9wZXJh
dGlvbnMuIFRoZXNlIHBzZXVkby1vcHMgY2FuIGJlCmRpc3Rpbmd1aXNoZWQgYnkgdGhlIGZh
Y3QgdGhhdCB0aGV5IGFyZSBuYW1lZCBpbiBjYXBpdGFsIGxldHRlcnMuCgo8SDI+PEEgTkFN
RT0iaGludHMiPkhpbnRzLCBUaXBzLCBhbmQgVHJpY2tzPC9BPjwvSDI+CgpUaGUgPENPREU+
bmN1cnNlczwvQ09ERT4gbWFudWFsIHBhZ2VzIGFyZSBhIGNvbXBsZXRlIHJlZmVyZW5jZSBm
b3IgdGhpcyBsaWJyYXJ5LgpJbiB0aGUgcmVtYWluZGVyIG9mIHRoaXMgZG9jdW1lbnQsIHdl
IGRpc2N1c3MgdmFyaW91cyB1c2VmdWwgbWV0aG9kcyB0aGF0Cm1heSBub3QgYmUgb2J2aW91
cyBmcm9tIHRoZSBtYW51YWwgcGFnZSBkZXNjcmlwdGlvbnMuCgo8SDM+PEEgTkFNRT0iY2F1
dGlvbiI+U29tZSBOb3RlcyBvZiBDYXV0aW9uPC9BPjwvSDM+CgpJZiB5b3UgZmluZCB5b3Vy
c2VsZiB0aGlua2luZyB5b3UgbmVlZCB0byB1c2UgPENPREU+bm9yYXcoKTwvQ09ERT4gb3IK
PENPREU+bm9jYnJlYWsoKTwvQ09ERT4sIHRoaW5rIGFnYWluIGFuZCBtb3ZlIGNhcmVmdWxs
eS4gIEl0J3MgcHJvYmFibHkKYmV0dGVyIGRlc2lnbiB0byB1c2UgPENPREU+Z2V0c3RyKCk8
L0NPREU+IG9yIG9uZSBvZiBpdHMgcmVsYXRpdmVzIHRvCnNpbXVsYXRlIGNvb2tlZCBtb2Rl
LiAgVGhlIDxDT0RFPm5vcmF3KCk8L0NPREU+IGFuZCA8Q09ERT5ub2NicmVhaygpPC9DT0RF
PgpmdW5jdGlvbnMgdHJ5IHRvIHJlc3RvcmUgY29va2VkIG1vZGUsIGJ1dCB0aGV5IG1heSBl
bmQgdXAgY2xvYmJlcmluZwpzb21lIGNvbnRyb2wgYml0cyBzZXQgYmVmb3JlIHlvdSBzdGFy
dGVkIHlvdXIgYXBwbGljYXRpb24uICBBbHNvLCB0aGV5CmhhdmUgYWx3YXlzIGJlZW4gcG9v
cmx5IGRvY3VtZW50ZWQsIGFuZCBhcmUgbGlrZWx5IHRvIGh1cnQgeW91cgphcHBsaWNhdGlv
bidzIHVzYWJpbGl0eSB3aXRoIG90aGVyIGN1cnNlcyBsaWJyYXJpZXMuIDxQPgoKQmVhciBp
biBtaW5kIHRoYXQgPENPREU+cmVmcmVzaCgpPC9DT0RFPiBpcyBhIHN5bm9ueW0gZm9yIDxD
T0RFPndyZWZyZXNoKHN0ZHNjcik8L0NPREU+LgpEb24ndCB0cnkgdG8gbWl4IHVzZSBvZiA8
Q09ERT5zdGRzY3I8L0NPREU+IHdpdGggdXNlIG9mIHdpbmRvd3MgZGVjbGFyZWQKYnkgPENP
REU+bmV3d2luKCk8L0NPREU+OyBhIDxDT0RFPnJlZnJlc2goKTwvQ09ERT4gY2FsbCB3aWxs
IGJsb3cgdGhlbSBvZmYgdGhlCnNjcmVlbi4gIFRoZSByaWdodCB3YXkgdG8gaGFuZGxlIHRo
aXMgaXMgdG8gdXNlIDxDT0RFPnN1YndpbigpPC9DT0RFPiwgb3IKbm90IHRvdWNoIDxDT0RF
PnN0ZHNjcjwvQ09ERT4gYXQgYWxsIGFuZCB0aWxlIHlvdXIgc2NyZWVuIHdpdGggZGVjbGFy
ZWQKd2luZG93cyB3aGljaCB5b3UgdGhlbiA8Q09ERT53bm91dHJlZnJlc2goKTwvQ09ERT4g
c29tZXdoZXJlIGluIHlvdXIgcHJvZ3JhbQpldmVudCBsb29wLCB3aXRoIGEgc2luZ2xlIDxD
T0RFPmRvdXBkYXRlKCk8L0NPREU+IGNhbGwgdG8gdHJpZ2dlciBhY3R1YWwKcmVwYWludGlu
Zy4gPFA+CgpZb3UgYXJlIG11Y2ggbGVzcyBsaWtlbHkgdG8gcnVuIGludG8gcHJvYmxlbXMg
aWYgeW91IGRlc2lnbiB5b3VyIHNjcmVlbgpsYXlvdXRzIHRvIHVzZSB0aWxlZCByYXRoZXIg
dGhhbiBvdmVybGFwcGluZyB3aW5kb3dzLiAgSGlzdG9yaWNhbGx5LApjdXJzZXMgc3VwcG9y
dCBmb3Igb3ZlcmxhcHBpbmcgd2luZG93cyBoYXMgYmVlbiB3ZWFrLCBmcmFnaWxlLCBhbmQg
cG9vcmx5CmRvY3VtZW50ZWQuICBUaGUgPENPREU+bmN1cnNlczwvQ09ERT4gbGlicmFyeSBp
cyBub3QgeWV0IGFuIGV4Y2VwdGlvbiB0byB0aGlzCnJ1bGUuIDxQPgoKVGhlcmUgaXMgYSBw
YW5lbHMgbGlicmFyeSBpbmNsdWRlZCBpbiB0aGUgPENPREU+bmN1cnNlczwvQ09ERT4KZGlz
dHJpYnV0aW9uIHRoYXQgZG9lcyBhIHByZXR0eSBnb29kIGpvYiBvZiBzdHJlbmd0aGVuaW5n
IHRoZQpvdmVybGFwcGluZy13aW5kb3dzIGZhY2lsaXRpZXMuIDxQPgoKVHJ5IHRvIGF2b2lk
IHVzaW5nIHRoZSBnbG9iYWwgdmFyaWFibGVzIExJTkVTIGFuZCBDT0xTLiAgVXNlCjxDT0RF
PmdldG1heHl4KCk8L0NPREU+IG9uIHRoZSA8Q09ERT5zdGRzY3I8L0NPREU+IGNvbnRleHQg
aW5zdGVhZC4gIFJlYXNvbjoKeW91ciBjb2RlIG1heSBiZSBwb3J0ZWQgdG8gcnVuIGluIGFu
IGVudmlyb25tZW50IHdpdGggd2luZG93IHJlc2l6ZXMsCmluIHdoaWNoIGNhc2Ugc2V2ZXJh
bCBzY3JlZW5zIGNvdWxkIGJlIG9wZW4gd2l0aCBkaWZmZXJlbnQgc2l6ZXMuCgo8SDM+PEEg
TkFNRT0ibGVhdmluZyI+VGVtcG9yYXJpbHkgTGVhdmluZyBOQ1VSU0VTIE1vZGU8L0E+PC9I
Mz4KClNvbWV0aW1lcyB5b3Ugd2lsbCB3YW50IHRvIHdyaXRlIGEgcHJvZ3JhbSB0aGF0IHNw
ZW5kcyBtb3N0IG9mIGl0cyB0aW1lIGluCnNjcmVlbiBtb2RlLCBidXQgb2NjYXNpb25hbGx5
IHJldHVybnMgdG8gb3JkaW5hcnkgYGNvb2tlZCcgbW9kZS4gIEEgY29tbW9uCnJlYXNvbiBm
b3IgdGhpcyBpcyB0byBzdXBwb3J0IHNoZWxsLW91dC4gIFRoaXMgYmVoYXZpb3IgaXMgc2lt
cGxlIHRvIGFycmFuZ2UKaW4gPENPREU+bmN1cnNlczwvQ09ERT4uIDxQPgoKVG8gbGVhdmUg
PENPREU+bmN1cnNlczwvQ09ERT4gbW9kZSwgY2FsbCA8Q09ERT5lbmR3aW4oKTwvQ09ERT4g
YXMgeW91IHdvdWxkIGlmIHlvdQp3ZXJlIGludGVuZGluZyB0byB0ZXJtaW5hdGUgdGhlIHBy
b2dyYW0uICBUaGlzIHdpbGwgdGFrZSB0aGUgc2NyZWVuIGJhY2sgdG8KY29va2VkIG1vZGU7
IHlvdSBjYW4gZG8geW91ciBzaGVsbC1vdXQuICBXaGVuIHlvdSB3YW50IHRvIHJldHVybiB0
bwo8Q09ERT5uY3Vyc2VzPC9DT0RFPiBtb2RlLCBzaW1wbHkgY2FsbCA8Q09ERT5yZWZyZXNo
KCk8L0NPREU+IG9yIDxDT0RFPmRvdXBkYXRlKCk8L0NPREU+LgpUaGlzIHdpbGwgcmVwYWlu
dCB0aGUgc2NyZWVuLiA8UD4KClRoZXJlIGlzIGEgYm9vbGVhbiBmdW5jdGlvbiwgPENPREU+
aXNlbmR3aW4oKTwvQ09ERT4sIHdoaWNoIGNvZGUgY2FuIHVzZSB0bwp0ZXN0IHdoZXRoZXIg
PENPREU+bmN1cnNlczwvQ09ERT4gc2NyZWVuIG1vZGUgaXMgYWN0aXZlLiAgSXQgcmV0dXJu
cyA8Q09ERT5UUlVFPC9DT0RFPgppbiB0aGUgaW50ZXJ2YWwgYmV0d2VlbiBhbiA8Q09ERT5l
bmR3aW4oKTwvQ09ERT4gY2FsbCBhbmQgdGhlIGZvbGxvd2luZwo8Q09ERT5yZWZyZXNoKCk8
L0NPREU+LCA8Q09ERT5GQUxTRTwvQ09ERT4gb3RoZXJ3aXNlLiAgPFA+CgpIZXJlIGlzIHNv
bWUgc2FtcGxlIGNvZGUgZm9yIHNoZWxsb3V0OgoKPFBSRT4KICAgIGFkZHN0cigiU2hlbGxp
bmcgb3V0Li4uIik7CiAgICBkZWZfcHJvZ19tb2RlKCk7ICAgICAgICAgICAvKiBzYXZlIGN1
cnJlbnQgdHR5IG1vZGVzICovCiAgICBlbmR3aW4oKTsgICAgICAgICAgICAgICAgICAvKiBy
ZXN0b3JlIG9yaWdpbmFsIHR0eSBtb2RlcyAqLwogICAgc3lzdGVtKCJzaCIpOyAgICAgICAg
ICAgICAgLyogcnVuIHNoZWxsICovCiAgICBhZGRzdHIoInJldHVybmVkLlxuIik7ICAgICAv
KiBwcmVwYXJlIHJldHVybiBtZXNzYWdlICovCiAgICByZWZyZXNoKCk7ICAgICAgICAgICAg
ICAgICAvKiByZXN0b3JlIHNhdmUgbW9kZXMsIHJlcGFpbnQgc2NyZWVuICovCjwvUFJFPgoK
PEgzPjxBIE5BTUU9Inh0ZXJtIj5Vc2luZyBOQ1VSU0VTIHVuZGVyIFhURVJNPC9BPjwvSDM+
CgpBIHJlc2l6ZSBvcGVyYXRpb24gaW4gWCBzZW5kcyBTSUdXSU5DSCB0byB0aGUgYXBwbGlj
YXRpb24gcnVubmluZyB1bmRlciB4dGVybS4KVGhlIDxDT0RFPm5jdXJzZXM8L0NPREU+IGxp
YnJhcnkgcHJvdmlkZXMgYW4gZXhwZXJpbWVudGFsIHNpZ25hbApoYW5kbGVyLCBidXQgaW4g
Z2VuZXJhbCBkb2VzIG5vdCBjYXRjaCB0aGlzIHNpZ25hbCwgYmVjYXVzZSBpdCBjYW5ub3QK
a25vdyBob3cgeW91IHdhbnQgdGhlIHNjcmVlbiByZS1wYWludGVkLiAgWW91IHdpbGwgdXN1
YWxseSBoYXZlIHRvIHdyaXRlIHRoZQpTSUdXSU5DSCBoYW5kbGVyIHlvdXJzZWxmLiAgTmN1
cnNlcyBjYW4gZ2l2ZSB5b3Ugc29tZSBoZWxwLiA8UD4KClRoZSBlYXNpZXN0IHdheSB0byBj
b2RlIHlvdXIgU0lHV0lOQ0ggaGFuZGxlciBpcyB0byBoYXZlIGl0IGRvIGFuCjxDT0RFPmVu
ZHdpbjwvQ09ERT4sIGZvbGxvd2VkIGJ5IGFuIDxDT0RFPnJlZnJlc2g8L0NPREU+IGFuZCBh
IHNjcmVlbiByZXBhaW50IHlvdSBjb2RlCnlvdXJzZWxmLiAgVGhlIDxDT0RFPnJlZnJlc2g8
L0NPREU+IHdpbGwgcGljayB1cCB0aGUgbmV3IHNjcmVlbiBzaXplIGZyb20gdGhlCnh0ZXJt
J3MgZW52aXJvbm1lbnQuIDxQPgoKVGhhdCBpcyB0aGUgc3RhbmRhcmQgd2F5LCBvZiBjb3Vy
c2UgKGl0IGV2ZW4gd29ya3Mgd2l0aCBzb21lIHZlbmRvcidzIGN1cnNlcwppbXBsZW1lbnRh
dGlvbnMpLgpJdHMgZHJhd2JhY2sgaXMgdGhhdCBpdCBjbGVhcnMgdGhlIHNjcmVlbiB0byBy
ZWluaXRpYWxpemUgdGhlIGRpc3BsYXksIGFuZCBkb2VzCm5vdCByZXNpemUgc3Vid2luZG93
cyB3aGljaCBtdXN0IGJlIHNocnVuay4KPENPREU+TmN1cnNlczwvQ09ERT4gcHJvdmlkZXMg
YW4gZXh0ZW5zaW9uIHdoaWNoIHdvcmtzIGJldHRlciwgdGhlCjxDT0RFPnJlc2l6ZXRlcm08
L0NPREU+IGZ1bmN0aW9uLiAgVGhhdCBmdW5jdGlvbiBlbnN1cmVzIHRoYXQgYWxsIHdpbmRv
d3MKYXJlIGxpbWl0ZWQgdG8gdGhlIG5ldyBzY3JlZW4gZGltZW5zaW9ucywgYW5kIHBhZHMg
PENPREU+c3Rkc2NyPC9DT0RFPgp3aXRoIGJsYW5rcyBpZiB0aGUgc2NyZWVuIGlzIGxhcmdl
ci4gPFA+CgpGaW5hbGx5LCBuY3Vyc2VzIGNhbiBiZSBjb25maWd1cmVkIHRvIHByb3ZpZGUg
aXRzIG93biBTSUdXSU5DSCBoYW5kbGVyLApiYXNlZCBvbiA8Q09ERT5yZXNpemV0ZXJtPC9D
T0RFPi4KCjxIMz48QSBOQU1FPSJzY3JlZW5zIj5IYW5kbGluZyBNdWx0aXBsZSBUZXJtaW5h
bCBTY3JlZW5zPC9BPjwvSDM+CgpUaGUgPENPREU+aW5pdHNjcigpPC9DT0RFPiBmdW5jdGlv
biBhY3R1YWxseSBjYWxscyBhIGZ1bmN0aW9uIG5hbWVkCjxDT0RFPm5ld3Rlcm0oKTwvQ09E
RT4gdG8gZG8gbW9zdCBvZiBpdHMgd29yay4gIElmIHlvdSBhcmUgd3JpdGluZyBhIHByb2dy
YW0gdGhhdApvcGVucyBtdWx0aXBsZSB0ZXJtaW5hbHMsIHVzZSA8Q09ERT5uZXd0ZXJtKCk8
L0NPREU+IGRpcmVjdGx5LiA8UD4KCkZvciBlYWNoIGNhbGwsIHlvdSB3aWxsIGhhdmUgdG8g
c3BlY2lmeSBhIHRlcm1pbmFsIHR5cGUgYW5kIGEgcGFpciBvZiBmaWxlCnBvaW50ZXJzOyBl
YWNoIGNhbGwgd2lsbCByZXR1cm4gYSBzY3JlZW4gcmVmZXJlbmNlLCBhbmQgPENPREU+c3Rk
c2NyPC9DT0RFPiB3aWxsIGJlCnNldCB0byB0aGUgbGFzdCBvbmUgYWxsb2NhdGVkLiAgWW91
IHdpbGwgc3dpdGNoIGJldHdlZW4gc2NyZWVucyB3aXRoIHRoZQo8Q09ERT5zZXRfdGVybTwv
Q09ERT4gY2FsbC4gIE5vdGUgdGhhdCB5b3Ugd2lsbCBhbHNvIGhhdmUgdG8gY2FsbAo8Q09E
RT5kZWZfc2hlbGxfbW9kZTwvQ09ERT4gYW5kIDxDT0RFPmRlZl9wcm9nX21vZGU8L0NPREU+
IG9uIGVhY2ggdHR5IHlvdXJzZWxmLgoKPEgzPjxBIE5BTUU9InRlc3RpbmciPlRlc3Rpbmcg
Zm9yIFRlcm1pbmFsIENhcGFiaWxpdGllczwvQT48L0gzPgoKU29tZXRpbWVzIHlvdSBtYXkg
d2FudCB0byB3cml0ZSBwcm9ncmFtcyB0aGF0IHRlc3QgZm9yIHRoZSBwcmVzZW5jZSBvZiB2
YXJpb3VzCmNhcGFiaWxpdGllcyBiZWZvcmUgZGVjaWRpbmcgd2hldGhlciB0byBnbyBpbnRv
IDxDT0RFPm5jdXJzZXM8L0NPREU+IG1vZGUuICBBbiBlYXN5CndheSB0byBkbyB0aGlzIGlz
IHRvIGNhbGwgPENPREU+c2V0dXB0ZXJtKCk8L0NPREU+LCB0aGVuIHVzZSB0aGUgZnVuY3Rp
b25zCjxDT0RFPnRpZ2V0ZmxhZygpPC9DT0RFPiwgPENPREU+dGlnZXRudW0oKTwvQ09ERT4s
IGFuZCA8Q09ERT50aWdldHN0cigpPC9DT0RFPiB0byBkbyB5b3VyCnRlc3RpbmcuIDxQPgoK
QSBwYXJ0aWN1bGFybHkgdXNlZnVsIGNhc2Ugb2YgdGhpcyBvZnRlbiBjb21lcyB1cCB3aGVu
IHlvdSB3YW50IHRvCnRlc3Qgd2hldGhlciBhIGdpdmVuIHRlcm1pbmFsIHR5cGUgc2hvdWxk
IGJlIHRyZWF0ZWQgYXMgYHNtYXJ0JwooY3Vyc29yLWFkZHJlc3NhYmxlKSBvciBgc3R1cGlk
Jy4gIFRoZSByaWdodCB3YXkgdG8gdGVzdCB0aGlzIGlzIHRvIHNlZQppZiB0aGUgcmV0dXJu
IHZhbHVlIG9mIDxDT0RFPnRpZ2V0c3RyKCJjdXAiKTwvQ09ERT4gaXMgbm9uLU5VTEwuICBB
bHRlcm5hdGl2ZWx5LAp5b3UgY2FuIGluY2x1ZGUgdGhlIDxDT0RFPnRlcm0uaDwvQ09ERT4g
ZmlsZSBhbmQgdGVzdCB0aGUgdmFsdWUgb2YgdGhlCm1hY3JvIDxDT0RFPmN1cnNvcl9hZGRy
ZXNzPC9DT0RFPi4KCjxIMz48QSBOQU1FPSJ0dW5pbmciPlR1bmluZyBmb3IgU3BlZWQ8L0E+
PC9IMz4KClVzZSB0aGUgPENPREU+YWRkY2hzdHIoKTwvQ09ERT4gZmFtaWx5IG9mIGZ1bmN0
aW9ucyBmb3IgZmFzdApzY3JlZW4tcGFpbnRpbmcgb2YgdGV4dCB3aGVuIHlvdSBrbm93IHRo
ZSB0ZXh0IGRvZXNuJ3QgY29udGFpbiBhbnkKY29udHJvbCBjaGFyYWN0ZXJzLiAgVHJ5IHRv
IG1ha2UgYXR0cmlidXRlIGNoYW5nZXMgaW5mcmVxdWVudCBvbiB5b3VyCnNjcmVlbnMuICBE
b24ndCB1c2UgdGhlIDxDT0RFPmltbWVkb2soKTwvQ09ERT4gb3B0aW9uIQoKPEgzPjxBIE5B
TUU9InNwZWNpYWwiPlNwZWNpYWwgRmVhdHVyZXMgb2YgTkNVUlNFUzwvQT48L0gzPgoKVGhl
IDxDT0RFPndyZXNpemUoKTwvQ09ERT4gZnVuY3Rpb24gYWxsb3dzIHlvdSB0byByZXNpemUg
YSB3aW5kb3cgaW4gcGxhY2UuClRoZSBhc3NvY2lhdGVkIDxDT0RFPnJlc2l6ZXRlcm0oKTwv
Q09ERT4gZnVuY3Rpb24gc2ltcGxpZmllcyB0aGUgY29uc3RydWN0aW9uCm9mIDxhIEhSRUY9
IiN4dGVybSI+U0lHV0lOQ0g8L2E+IGhhbmRsZXJzLCBmb3IgcmVzaXppbmcgYWxsIHdpbmRv
d3MuICA8UD4KClRoZSA8Q09ERT5kZWZpbmVfa2V5KCk8L0NPREU+IGZ1bmN0aW9uIGFsbG93
cyB5b3UKdG8gZGVmaW5lIGF0IHJ1bnRpbWUgZnVuY3Rpb24ta2V5IGNvbnRyb2wgc2VxdWVu
Y2VzIHdoaWNoIGFyZSBub3QgaW4gdGhlCnRlcm1pbmFsIGRlc2NyaXB0aW9uLgpUaGUgPENP
REU+a2V5b2soKTwvQ09ERT4gZnVuY3Rpb24gYWxsb3dzIHlvdSB0byB0ZW1wb3JhcmlseQpl
bmFibGUgb3IgZGlzYWJsZSBpbnRlcnByZXRhdGlvbiBvZiBhbnkgZnVuY3Rpb24ta2V5IGNv
bnRyb2wgc2VxdWVuY2UuIDxQPgoKVGhlIDxDT0RFPnVzZV9kZWZhdWx0X2NvbG9ycygpPC9D
T0RFPiBmdW5jdGlvbiBhbGxvd3MgeW91IHRvIGNvbnN0cnVjdAphcHBsaWNhdGlvbnMgd2hp
Y2ggY2FuIHVzZSB0aGUgdGVybWluYWwncyBkZWZhdWx0IGZvcmVncm91bmQgYW5kCmJhY2tn
cm91bmQgY29sb3JzIGFzIGFuIGFkZGl0aW9uYWwgImRlZmF1bHQiIGNvbG9yLgpTZXZlcmFs
IHRlcm1pbmFsIGVtdWxhdG9ycyBzdXBwb3J0IHRoaXMgZmVhdHVyZSwgd2hpY2ggaXMgYmFz
ZWQgb24gSVNPIDY0MjkuIDxQPgoKTmN1cnNlcyBzdXBwb3J0cyB1cCAxNiBjb2xvcnMsIHVu
bGlrZSBTVnI0IGN1cnNlcyB3aGljaCBkZWZpbmVzIG9ubHkgOC4KV2hpbGUgbW9zdCB0ZXJt
aW5hbHMgd2hpY2ggcHJvdmlkZSBjb2xvciBhbGxvdyBvbmx5IDggY29sb3JzLCBhYm91dAph
IHF1YXJ0ZXIgKGluY2x1ZGluZyBYRnJlZTg2IHh0ZXJtKSBzdXBwb3J0IDE2IGNvbG9ycy4K
CjxIMj48QSBOQU1FPSJjb21wYXQiPkNvbXBhdGliaWxpdHkgd2l0aCBPbGRlciBWZXJzaW9u
czwvQT48L0gyPgoKRGVzcGl0ZSBvdXIgYmVzdCBlZmZvcnRzLCB0aGVyZSBhcmUgc29tZSBk
aWZmZXJlbmNlcyBiZXR3ZWVuIDxDT0RFPm5jdXJzZXM8L0NPREU+CmFuZCB0aGUgKHVuZG9j
dW1lbnRlZCEpIGJlaGF2aW9yIG9mIG9sZGVyIGN1cnNlcyBpbXBsZW1lbnRhdGlvbnMuICBU
aGVzZSBhcmlzZQpmcm9tIGFtYmlndWl0aWVzIG9yIG9taXNzaW9ucyBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBvZiB0aGUgQVBJLgoKPEgzPjxBIE5BTUU9InJlZmJ1ZyI+UmVmcmVzaCBvZiBP
dmVybGFwcGluZyBXaW5kb3dzPC9BPjwvSDM+CgpJZiB5b3UgZGVmaW5lIHR3byB3aW5kb3dz
IEEgYW5kIEIgdGhhdCBvdmVybGFwLCBhbmQgdGhlbiBhbHRlcm5hdGVseSBzY3JpYmJsZQpv
biBhbmQgcmVmcmVzaCB0aGVtLCB0aGUgY2hhbmdlcyBtYWRlIHRvIHRoZSBvdmVybGFwcGlu
ZyByZWdpb24gdW5kZXIgaGlzdG9yaWMKPENPREU+Y3Vyc2VzPC9DT0RFPiB2ZXJzaW9ucyB3
ZXJlIG9mdGVuIG5vdCBkb2N1bWVudGVkIHByZWNpc2VseS4gPFA+CgpUbyB1bmRlcnN0YW5k
IHdoeSB0aGlzIGlzIGEgcHJvYmxlbSwgcmVtZW1iZXIgdGhhdCBzY3JlZW4gdXBkYXRlcyBh
cmUKY2FsY3VsYXRlZCBiZXR3ZWVuIHR3byByZXByZXNlbnRhdGlvbnMgb2YgdGhlIDxFTT5l
bnRpcmU8L0VNPiBkaXNwbGF5LiBUaGUKZG9jdW1lbnRhdGlvbiBzYXlzIHRoYXQgd2hlbiB5
b3UgcmVmcmVzaCBhIHdpbmRvdywgaXQgaXMgZmlyc3QgY29waWVkIHRvIHRvIHRoZQp2aXJ0
dWFsIHNjcmVlbiwgYW5kIHRoZW4gY2hhbmdlcyBhcmUgY2FsY3VsYXRlZCB0byB1cGRhdGUg
dGhlIHBoeXNpY2FsIHNjcmVlbgooYW5kIGFwcGxpZWQgdG8gdGhlIHRlcm1pbmFsKS4gIEJ1
dCAiY29waWVkIHRvIiBpcyBub3QgdmVyeSBzcGVjaWZpYywgYW5kCnN1YnRsZSBkaWZmZXJl
bmNlcyBpbiBob3cgY29weWluZyB3b3JrcyBjYW4gcHJvZHVjZSBkaWZmZXJlbnQgYmVoYXZp
b3JzIGluIHRoZQpjYXNlIHdoZXJlIHR3byBvdmVybGFwcGluZyB3aW5kb3dzIGFyZSBlYWNo
IGJlaW5nIHJlZnJlc2hlZCBhdCB1bnByZWRpY3RhYmxlCmludGVydmFscy4gPFA+CgpXaGF0
IGhhcHBlbnMgdG8gdGhlIG92ZXJsYXBwaW5nIHJlZ2lvbiBkZXBlbmRzIG9uIHdoYXQgPENP
REU+d25vdXRyZWZyZXNoKCk8L0NPREU+CmRvZXMgd2l0aCBpdHMgYXJndW1lbnQgLS0gd2hh
dCBwb3J0aW9ucyBvZiB0aGUgYXJndW1lbnQgd2luZG93IGl0IGNvcGllcyB0byB0aGUKdmly
dHVhbCBzY3JlZW4uICBTb21lIGltcGxlbWVudGF0aW9ucyBkbyAiY2hhbmdlIGNvcHkiLCBj
b3B5aW5nIGRvd24gb25seQpsb2NhdGlvbnMgaW4gdGhlIHdpbmRvdyB0aGF0IGhhdmUgY2hh
bmdlZCAob3IgYmVlbiBtYXJrZWQgY2hhbmdlZCB3aXRoCjxDT0RFPnd0b3VjaGxuKCk8L0NP
REU+IGFuZCBmcmllbmRzKS4gIFNvbWUgaW1wbGVtZW50YXRpb25zIGRvICAiZW50aXJlIGNv
cHkiLApjb3B5aW5nIDxFTT5hbGw8L0VNPiB3aW5kb3cgbG9jYXRpb25zIHRvIHRoZSB2aXJ0
dWFsIHNjcmVlbiB3aGV0aGVyIG9yIG5vdAp0aGV5IGhhdmUgY2hhbmdlZC4gPFA+CgpUaGUg
PENPREU+bmN1cnNlczwvQ09ERT4gbGlicmFyeSBpdHNlbGYgaGFzIG5vdCBhbHdheXMgYmVl
biBjb25zaXN0ZW50IG9uIHRoaXMKc2NvcmUuICBEdWUgdG8gYSBidWcsIHZlcnNpb25zIDEu
OC43IHRvIDEuOS44YSBkaWQgZW50aXJlIGNvcHkuICBWZXJzaW9ucwoxLjguNiBhbmQgb2xk
ZXIsIGFuZCB2ZXJzaW9ucyAxLjkuOSBhbmQgbmV3ZXIsIGRvIGNoYW5nZSBjb3B5LiA8UD4K
CkZvciBtb3N0IGNvbW1lcmNpYWwgY3Vyc2VzIGltcGxlbWVudGF0aW9ucywgaXQgaXMgbm90
IGRvY3VtZW50ZWQgYW5kIG5vdCBrbm93bgpmb3Igc3VyZSAoYXQgbGVhc3Qgbm90IHRvIHRo
ZSA8Q09ERT5uY3Vyc2VzPC9DT0RFPiBtYWludGFpbmVycykgd2hldGhlciB0aGV5IGRvCmNo
YW5nZSBjb3B5IG9yIGVudGlyZSBjb3B5LiAgV2Uga25vdyB0aGF0IFN5c3RlbSBWIHJlbGVh
c2UgMyBjdXJzZXMgaGFzIGxvZ2ljCmluIGl0IHRoYXQgbG9va3MgbGlrZSBhbiBhdHRlbXB0
IHRvIGRvIGNoYW5nZSBjb3B5LCBidXQgdGhlIHN1cnJvdW5kaW5nIGxvZ2ljCmFuZCBkYXRh
IHJlcHJlc2VudGF0aW9ucyBhcmUgc3VmZmljaWVudGx5IGNvbXBsZXgsIGFuZCBvdXIga25v
d2xlZGdlCnN1ZmZpY2llbnRseSBpbmRpcmVjdCwgdGhhdCBpdCdzIGhhcmQgdG8ga25vdyB3
aGV0aGVyIHRoaXMgaXMgcmVsaWFibGUuCgpJdCBpcyBub3QgY2xlYXIgd2hhdCB0aGUgU1Zy
NCBkb2N1bWVudGF0aW9uIGFuZCBYU0kgc3RhbmRhcmQgaW50ZW5kLiAgVGhlIFhTSQpDdXJz
ZXMgc3RhbmRhcmQgYmFyZWx5IG1lbnRpb25zIHdub3V0cmVmcmVzaCgpOyB0aGUgU1ZyNCBk
b2N1bWVudHMgc2VlbSB0byBiZQpkZXNjcmliaW5nIGVudGlyZS1jb3B5LCBidXQgaXQgaXMg
cG9zc2libGUgd2l0aCBzb21lIGVmZm9ydCBhbmQgc3RyYWluaW5nIHRvCnJlYWQgdGhlbSB0
aGUgb3RoZXIgd2F5LiA8UD4KCkl0IG1pZ2h0IHRoZXJlZm9yZSBiZSB1bndpc2UgdG8gcmVs
eSBvbiBlaXRoZXIgYmVoYXZpb3IgaW4gcHJvZ3JhbXMgdGhhdCBtaWdodApoYXZlIHRvIGJl
IGxpbmtlZCB3aXRoIG90aGVyIGN1cnNlcyBpbXBsZW1lbnRhdGlvbnMuICBJbnN0ZWFkLCB5
b3UgY2FuIGRvIGFuCmV4cGxpY2l0IDxDT0RFPnRvdWNod2luKCk8L0NPREU+IGJlZm9yZSB0
aGUgPENPREU+d25vdXRyZWZyZXNoKCk8L0NPREU+IGNhbGwgdG8KZ3VhcmFudGVlIGFuIGVu
dGlyZS1jb250ZW50cyBjb3B5IGFueXdoZXJlLiA8UD4KClRoZSByZWFsbHkgY2xlYW4gd2F5
IHRvIGhhbmRsZSB0aGlzIGlzIHRvIHVzZSB0aGUgcGFuZWxzIGxpYnJhcnkuICBJZiwKd2hl
biB5b3Ugd2FudCBhIHNjcmVlbiB1cGRhdGUsIHlvdSBkbyA8Q09ERT51cGRhdGVfcGFuZWxz
KCk8L0NPREU+LCBpdCB3aWxsCmRvIGFsbCB0aGUgbmVjZXNzYXJ5IDxDT0RFPndub3V0cmZy
ZXNoKCk8L0NPREU+IGNhbGxzIGZvciB3aGF0ZXZlciBwYW5lbApzdGFja2luZyBvcmRlciB5
b3UgaGF2ZSBkZWZpbmVkLiAgVGhlbiB5b3UgY2FuIGRvIG9uZSA8Q09ERT5kb3VwZGF0ZSgp
PC9DT0RFPgphbmQgdGhlcmUgd2lsbCBiZSBhIDxFTT5zaW5nbGU8L0VNPiBidXJzdCBvZiBw
aHlzaWNhbCBJL08gdGhhdCB3aWxsIGRvCmFsbCB5b3VyIHVwZGF0ZXMuCgo8SDM+PEEgTkFN
RT0iYmFja2J1ZyI+QmFja2dyb3VuZCBFcmFzZTwvQT48L0gzPgoKSWYgeW91IGhhdmUgYmVl
biB1c2luZyBhIHZlcnkgb2xkIHZlcnNpb25zIG9mIDxDT0RFPm5jdXJzZXM8L0NPREU+ICgx
LjguNyBvcgpvbGRlcikgeW91IG1heSBiZSBzdXJwcmlzZWQgYnkgdGhlIGJlaGF2aW9yIG9m
IHRoZSBlcmFzZSBmdW5jdGlvbnMuICBJbiBvbGRlcgp2ZXJzaW9ucywgZXJhc2VkIGFyZWFz
IG9mIGEgd2luZG93IHdlcmUgZmlsbGVkIHdpdGggYSBibGFuayBtb2RpZmllZCBieSB0aGUK
d2luZG93J3MgY3VycmVudCBhdHRyaWJ1dGUgKGFzIHNldCBieSA8U1RST05HPndhdHRyc2V0
KCk8L1NUUk9ORz4sIDxTVFJPTkc+d2F0dHJvbigpPC9TVFJPTkc+LAo8U1RST05HPndhdHRy
b2ZmKCk8L1NUUk9ORz4gYW5kIGZyaWVuZHMpLiA8UD4KCkluIG5ld2VyIHZlcnNpb25zLCB0
aGlzIGlzIG5vdCBzby4gIEluc3RlYWQsIHRoZSBhdHRyaWJ1dGUgb2YgZXJhc2VkIGJsYW5r
cwppcyBub3JtYWwgdW5sZXNzIGFuZCB1bnRpbCBpdCBpcyBtb2RpZmllZCBieSB0aGUgZnVu
Y3Rpb25zIDxDT0RFPmJrZ2RzZXQoKTwvQ09ERT4Kb3IgPENPREU+d2JrZ2RzZXQoKTwvQ09E
RT4uIDxQPgoKVGhpcyBjaGFuZ2UgaW4gYmVoYXZpb3IgY29uZm9ybXMgPENPREU+bmN1cnNl
czwvQ09ERT4gdG8gU3lzdGVtIFYgUmVsZWFzZSA0IGFuZAp0aGUgWFNJIEN1cnNlcyBzdGFu
ZGFyZC4KCjxIMj48QSBOQU1FPSJ4c2lmdW5jcyI+WFNJIEN1cnNlcyBDb25mb3JtYW5jZTwv
QT48L0gyPgoKVGhlIDxDT0RFPm5jdXJzZXM8L0NPREU+IGxpYnJhcnkgaXMgaW50ZW5kZWQg
dG8gYmUgYmFzZS1sZXZlbCBjb25mb3JtYW50IHdpdGggdGhlClhTSSBDdXJzZXMgc3RhbmRh
cmQgZnJvbSBYL09wZW4uICBNYW55IGV4dGVuZGVkLWxldmVsIGZlYXR1cmVzIChpbiBmYWN0
LCBhbG1vc3QKYWxsIGZlYXR1cmVzIG5vdCBkaXJlY3RseSBjb25jZXJuZWQgd2l0aCB3aWRl
IGNoYXJhY3RlcnMgYW5kCmludGVybmF0aW9uYWxpemF0aW9uKSBhcmUgYWxzbyBzdXBwb3J0
ZWQuIDxQPgoKT25lIGVmZmVjdCBvZiBYU0kgY29uZm9ybWFuY2UgaXMgdGhlIGNoYW5nZSBp
biBiZWhhdmlvciBkZXNjcmliZWQgdW5kZXIKPEEgSFJFRj0iI2JhY2tidWciPiJCYWNrZ3Jv
dW5kIEVyYXNlIC0tIENvbXBhdGliaWxpdHkgd2l0aCBPbGQgVmVyc2lvbnMiPC9BPi4gPFA+
CgpBbHNvLCA8Q09ERT5uY3Vyc2VzPC9DT0RFPiBtZWV0cyB0aGUgWFNJIHJlcXVpcmVtZW50
IHRoYXQgZXZlcnkgbWFjcm8KZW50cnkgcG9pbnQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgZnVu
Y3Rpb24gd2hpY2ggbWF5IGJlIGxpbmtlZCAoYW5kCndpbGwgYmUgcHJvdG90eXBlLWNoZWNr
ZWQpIGlmIHRoZSBtYWNybyBkZWZpbml0aW9uIGlzIGRpc2FibGVkIHdpdGgKPENPREU+I3Vu
ZGVmPC9DT0RFPi4KCjxIMT48QSBOQU1FPSJwYW5lbHMiPlRoZSBQYW5lbHMgTGlicmFyeTwv
QT48L0gxPgoKVGhlIDxDT0RFPm5jdXJzZXM8L0NPREU+IGxpYnJhcnkgYnkgaXRzZWxmIHBy
b3ZpZGVzIGdvb2Qgc3VwcG9ydCBmb3Igc2NyZWVuCmRpc3BsYXlzIGluIHdoaWNoIHRoZSB3
aW5kb3dzIGFyZSB0aWxlZCAobm9uLW92ZXJsYXBwaW5nKS4gIEluIHRoZSBtb3JlCmdlbmVy
YWwgY2FzZSB0aGF0IHdpbmRvd3MgbWF5IG92ZXJsYXAsIHlvdSBoYXZlIHRvIHVzZSBhIHNl
cmllcyBvZgo8Q09ERT53bm91dHJlZnJlc2goKTwvQ09ERT4gY2FsbHMgZm9sbG93ZWQgYnkg
YSA8Q09ERT5kb3VwZGF0ZSgpPC9DT0RFPiwgYW5kIGJlCmNhcmVmdWwgYWJvdXQgdGhlIG9y
ZGVyIHlvdSBkbyB0aGUgd2luZG93IHJlZnJlc2hlcyBpbi4gIEl0IGhhcyB0byBiZQpib3R0
b20tdXB3YXJkcywgb3RoZXJ3aXNlIHBhcnRzIG9mIHdpbmRvd3MgdGhhdCBzaG91bGQgYmUg
b2JzY3VyZWQgd2lsbApzaG93IHRocm91Z2guIDxQPgoKV2hlbiB5b3VyIGludGVyZmFjZSBk
ZXNpZ24gaXMgc3VjaCB0aGF0IHdpbmRvd3MgbWF5IGRpdmUgZGVlcGVyIGludG8gdGhlCnZp
c2liaWxpdHkgc3RhY2sgb3IgcG9wIHRvIHRoZSB0b3AgYXQgcnVudGltZSwgdGhlIHJlc3Vs
dGluZyBib29rLWtlZXBpbmcKY2FuIGJlIHRlZGlvdXMgYW5kIGRpZmZpY3VsdCB0byBnZXQg
cmlnaHQuICBIZW5jZSB0aGUgcGFuZWxzIGxpYnJhcnkuIDxQPgoKVGhlIDxDT0RFPnBhbmVs
PC9DT0RFPiBsaWJyYXJ5IGZpcnN0IGFwcGVhcmVkIGluIEFUJmFtcDtUIFN5c3RlbSBWLiAg
VGhlCnZlcnNpb24gZG9jdW1lbnRlZCBoZXJlIGlzIHRoZSA8Q09ERT5wYW5lbDwvQ09ERT4g
Y29kZSBkaXN0cmlidXRlZAp3aXRoIDxDT0RFPm5jdXJzZXM8L0NPREU+LgoKPEgyPjxBIE5B
TUU9InBjb21waWxlIj5Db21waWxpbmcgV2l0aCB0aGUgUGFuZWxzIExpYnJhcnk8L0E+PC9I
Mj4KCllvdXIgcGFuZWxzLXVzaW5nIG1vZHVsZXMgbXVzdCBpbXBvcnQgdGhlIHBhbmVscyBs
aWJyYXJ5IGRlY2xhcmF0aW9ucyB3aXRoCgo8UFJFPgoJICAjaW5jbHVkZSAmbHQ7cGFuZWwu
aCZndDsKPC9QUkU+CgphbmQgbXVzdCBiZSBsaW5rZWQgZXhwbGljaXRseSB3aXRoIHRoZSBw
YW5lbHMgbGlicmFyeSB1c2luZyBhbgo8Q09ERT4tbHBhbmVsPC9DT0RFPiBhcmd1bWVudC4g
IE5vdGUgdGhhdCB0aGV5IG11c3QgYWxzbyBsaW5rIHRoZQo8Q09ERT5uY3Vyc2VzPC9DT0RF
PiBsaWJyYXJ5IHdpdGggPENPREU+LWxuY3Vyc2VzPC9DT0RFPi4gIE1hbnkgbGlua2Vycwph
cmUgdHdvLXBhc3MgYW5kIHdpbGwgYWNjZXB0IGVpdGhlciBvcmRlciwgYnV0IGl0IGlzIHN0
aWxsIGdvb2QgcHJhY3RpY2UKdG8gcHV0IDxDT0RFPi1scGFuZWw8L0NPREU+IGZpcnN0IGFu
ZCA8Q09ERT4tbG5jdXJzZXM8L0NPREU+IHNlY29uZC4KCjxIMj48QSBOQU1FPSJwb3ZlcnZp
ZXciPk92ZXJ2aWV3IG9mIFBhbmVsczwvQT48L0gyPgoKQSBwYW5lbCBvYmplY3QgaXMgYSB3
aW5kb3cgdGhhdCBpcyBpbXBsaWNpdGx5IHRyZWF0ZWQgYXMgcGFydCBvZiBhCjxERk4+ZGVj
azwvREZOPiBpbmNsdWRpbmcgYWxsIG90aGVyIHBhbmVsIG9iamVjdHMuICBUaGUgZGVjayBo
YXMgYW4gaW1wbGljaXQKYm90dG9tLXRvLXRvcCB2aXNpYmlsaXR5IG9yZGVyLiAgVGhlIHBh
bmVscyBsaWJyYXJ5IGluY2x1ZGVzIGFuIHVwZGF0ZQpmdW5jdGlvbiAoYW5hbG9nb3VzIHRv
IDxDT0RFPnJlZnJlc2goKTwvQ09ERT4pIHRoYXQgZGlzcGxheXMgYWxsIHBhbmVscyBpbiB0
aGUKZGVjayBpbiB0aGUgcHJvcGVyIG9yZGVyIHRvIHJlc29sdmUgb3ZlcmxhcHMuICBUaGUg
c3RhbmRhcmQgd2luZG93LAo8Q09ERT5zdGRzY3I8L0NPREU+LCBpcyBjb25zaWRlcmVkIGJl
bG93IGFsbCBwYW5lbHMuIDxQPgoKRGV0YWlscyBvbiB0aGUgcGFuZWxzIGZ1bmN0aW9ucyBh
cmUgYXZhaWxhYmxlIGluIHRoZSBtYW4gcGFnZXMuICBXZSdsbCBqdXN0CmhpdCB0aGUgaGln
aGxpZ2h0cyBoZXJlLiA8UD4KCllvdSBjcmVhdGUgYSBwYW5lbCBmcm9tIGEgd2luZG93IGJ5
IGNhbGxpbmcgPENPREU+bmV3X3BhbmVsKCk8L0NPREU+IG9uIGEKd2luZG93IHBvaW50ZXIu
ICBJdCB0aGVuIGJlY29tZXMgdGhlIHRvcCBvZiB0aGUgZGVjay4gIFRoZSBwYW5lbCdzIHdp
bmRvdwppcyBhdmFpbGFibGUgYXMgdGhlIHZhbHVlIG9mIDxDT0RFPnBhbmVsX3dpbmRvdygp
PC9DT0RFPiBjYWxsZWQgd2l0aCB0aGUKcGFuZWwgcG9pbnRlciBhcyBhcmd1bWVudC48UD4K
CllvdSBjYW4gZGVsZXRlIGEgcGFuZWwgKHJlbW92aW5nIGl0IGZyb20gdGhlIGRlY2spIHdp
dGggPENPREU+ZGVsX3BhbmVsPC9DT0RFPi4KVGhpcyB3aWxsIG5vdCBkZWFsbG9jYXRlIHRo
ZSBhc3NvY2lhdGVkIHdpbmRvdzsgeW91IGhhdmUgdG8gZG8gdGhhdCB5b3Vyc2VsZi4KCllv
dSBjYW4gcmVwbGFjZSBhIHBhbmVsJ3Mgd2luZG93IHdpdGggYSBkaWZmZXJlbnQgd2luZG93
IGJ5IGNhbGxpbmcKPENPREU+cmVwbGFjZV93aW5kb3c8L0NPREU+LiAgVGhlIG5ldyB3aW5k
b3cgbWF5IGJlIG9mIGRpZmZlcmVudCBzaXplOwp0aGUgcGFuZWwgY29kZSB3aWxsIHJlLWNv
bXB1dGUgYWxsIG92ZXJsYXBzLiAgVGhpcyBvcGVyYXRpb24gZG9lc24ndApjaGFuZ2UgdGhl
IHBhbmVsJ3MgcG9zaXRpb24gaW4gdGhlIGRlY2suIDxQPgoKVG8gbW92ZSBhIHBhbmVsJ3Mg
d2luZG93LCB1c2UgPENPREU+bW92ZV9wYW5lbCgpPC9DT0RFPi4gIFRoZQo8Q09ERT5tdndp
bigpPC9DT0RFPiBmdW5jdGlvbiBvbiB0aGUgcGFuZWwncyB3aW5kb3cgaXNuJ3Qgc3VmZmlj
aWVudCBiZWNhdXNlIGl0CmRvZXNuJ3QgdXBkYXRlIHRoZSBwYW5lbHMgbGlicmFyeSdzIHJl
cHJlc2VudGF0aW9uIG9mIHdoZXJlIHRoZSB3aW5kb3dzIGFyZS4KVGhpcyBvcGVyYXRpb24g
bGVhdmVzIHRoZSBwYW5lbCdzIGRlcHRoLCBjb250ZW50cywgYW5kIHNpemUgdW5jaGFuZ2Vk
LiA8UD4KClR3byBmdW5jdGlvbnMgKDxDT0RFPnRvcF9wYW5lbCgpPC9DT0RFPiwgPENPREU+
Ym90dG9tX3BhbmVsKCk8L0NPREU+KSBhcmUKcHJvdmlkZWQgZm9yIHJlYXJyYW5naW5nIHRo
ZSBkZWNrLiAgVGhlIGZpcnN0IHBvcHMgaXRzIGFyZ3VtZW50IHdpbmRvdyB0byB0aGUKdG9w
IG9mIHRoZSBkZWNrOyB0aGUgc2Vjb25kIHNlbmRzIGl0IHRvIHRoZSBib3R0b20uICBFaXRo
ZXIgb3BlcmF0aW9uIGxlYXZlcwp0aGUgcGFuZWwncyBzY3JlZW4gbG9jYXRpb24sIGNvbnRl
bnRzLCBhbmQgc2l6ZSB1bmNoYW5nZWQuIDxQPgoKVGhlIGZ1bmN0aW9uIDxDT0RFPnVwZGF0
ZV9wYW5lbHMoKTwvQ09ERT4gZG9lcyBhbGwgdGhlCjxDT0RFPndub3V0cmVmcmVzaCgpPC9D
T0RFPiBjYWxscyBuZWVkZWQgdG8gcHJlcGFyZSBmb3IKPENPREU+ZG91cGRhdGUoKTwvQ09E
RT4gKHdoaWNoIHlvdSBtdXN0IGNhbGwgeW91cnNlbGYsIGFmdGVyd2FyZHMpLiA8UD4KClR5
cGljYWxseSwgeW91IHdpbGwgd2FudCB0byBjYWxsIDxDT0RFPnVwZGF0ZV9wYW5lbHMoKTwv
Q09ERT4gYW5kCjxDT0RFPmRvdXBkYXRlKCk8L0NPREU+IGp1c3QgYmVmb3JlIGFjY2VwdGlu
ZyBjb21tYW5kIGlucHV0LCBvbmNlIGluIGVhY2ggY3ljbGUKb2YgaW50ZXJhY3Rpb24gd2l0
aCB0aGUgdXNlci4gIElmIHlvdSBjYWxsIDxDT0RFPnVwZGF0ZV9wYW5lbHMoKTwvQ09ERT4g
YWZ0ZXIKZWFjaCBhbmQgZXZlcnkgcGFuZWwgd3JpdGUsIHlvdSdsbCBnZW5lcmF0ZSBhIGxv
dCBvZiB1bm5lY2Vzc2FyeSByZWZyZXNoCmFjdGl2aXR5IGFuZCBzY3JlZW4gZmxpY2tlci4K
CjxIMj48QSBOQU1FPSJwc3Rkc2NyIj5QYW5lbHMsIElucHV0LCBhbmQgdGhlIFN0YW5kYXJk
IFNjcmVlbjwvQT48L0gyPgoKWW91IHNob3VsZG4ndCBtaXggPENPREU+d25vdXRyZWZyZXNo
KCk8L0NPREU+IG9yIDxDT0RFPndyZWZyZXNoKCk8L0NPREU+Cm9wZXJhdGlvbnMgd2l0aCBw
YW5lbHMgY29kZTsgdGhpcyB3aWxsIHdvcmsgb25seSBpZiB0aGUgYXJndW1lbnQgd2luZG93
CmlzIGVpdGhlciBpbiB0aGUgdG9wIHBhbmVsIG9yIHVub2JzY3VyZWQgYnkgYW55IG90aGVy
IHBhbmVscy4gPFA+CgpUaGUgPENPREU+c3RzZGNyPC9DT0RFPiB3aW5kb3cgaXMgYSBzcGVj
aWFsIGNhc2UuICBJdCBpcyBjb25zaWRlcmVkIGJlbG93IGFsbApwYW5lbHMuICBCZWNhdXNl
IGNoYW5nZXMgdG8gcGFuZWxzIG1heSBvYnNjdXJlIHBhcnRzIG9mIDxDT0RFPnN0ZHNjcjwv
Q09ERT4sCnRob3VnaCwgeW91IHNob3VsZCBjYWxsIDxDT0RFPnVwZGF0ZV9wYW5lbHMoKTwv
Q09ERT4gYmVmb3JlCjxDT0RFPmRvdXBkYXRlKCk8L0NPREU+IGV2ZW4gd2hlbiB5b3Ugb25s
eSBjaGFuZ2UgPENPREU+c3Rkc2NyPC9DT0RFPi4gPFA+CgpOb3RlIHRoYXQgPENPREU+d2dl
dGNoPC9DT0RFPiBhdXRvbWF0aWNhbGx5IGNhbGxzIDxDT0RFPndyZWZyZXNoPC9DT0RFPi4K
VGhlcmVmb3JlLCBiZWZvcmUgcmVxdWVzdGluZyBpbnB1dCBmcm9tIGEgcGFuZWwgd2luZG93
LCB5b3UgbmVlZCB0byBiZSBzdXJlCnRoYXQgdGhlIHBhbmVsIGlzIHRvdGFsbHkgdW5vYnNj
dXJlZC4gPFA+CgpUaGVyZSBpcyBwcmVzZW50bHkgbm8gd2F5IHRvIGRpc3BsYXkgY2hhbmdl
cyB0byBvbmUgb2JzY3VyZWQgcGFuZWwgd2l0aG91dApyZXBhaW50aW5nIGFsbCBwYW5lbHMu
Cgo8SDI+PEEgTkFNRT0iaGlkaW5nIj5IaWRpbmcgUGFuZWxzPC9BPjwvSDI+CgpJdCdzIHBv
c3NpYmxlIHRvIHJlbW92ZSBhIHBhbmVsIGZyb20gdGhlIGRlY2sgdGVtcG9yYXJpbHk7IHVz
ZQo8Q09ERT5oaWRlX3BhbmVsPC9DT0RFPiBmb3IgdGhpcy4gIFVzZSA8Q09ERT5zaG93X3Bh
bmVsKCk8L0NPREU+IHRvIHJlbmRlciBpdAp2aXNpYmxlIGFnYWluLiAgVGhlIHByZWRpY2F0
ZSBmdW5jdGlvbiA8Q09ERT5wYW5lbF9oaWRkZW48L0NPREU+CnRlc3RzIHdoZXRoZXIgb3Ig
bm90IGEgcGFuZWwgaXMgaGlkZGVuLiA8UD4KClRoZSA8Q09ERT5wYW5lbF91cGRhdGU8L0NP
REU+IGNvZGUgaWdub3JlcyBoaWRkZW4gcGFuZWxzLiAgWW91IGNhbm5vdCBkbwo8Q09ERT50
b3BfcGFuZWwoKTwvQ09ERT4gb3IgPENPREU+Ym90dG9tX3BhbmVsPC9DT0RFPiBvbiBhIGhp
ZGRlbiBwYW5lbCgpLgpPdGhlciBwYW5lbHMgb3BlcmF0aW9ucyBhcmUgYXBwbGljYWJsZS4K
CjxIMj48QSBOQU1FPSJwbWlzYyI+TWlzY2VsbGFuZW91cyBPdGhlciBGYWNpbGl0aWVzPC9B
PjwvSDI+CgpJdCdzIHBvc3NpYmxlIHRvIG5hdmlnYXRlIHRoZSBkZWNrIHVzaW5nIHRoZSBm
dW5jdGlvbnMKPENPREU+cGFuZWxfYWJvdmUoKTwvQ09ERT4gYW5kIDxDT0RFPnBhbmVsX2Jl
bG93PC9DT0RFPi4gIEhhbmRlZCBhIHBhbmVsCnBvaW50ZXIsIHRoZXkgcmV0dXJuIHRoZSBw
YW5lbCBhYm92ZSBvciBiZWxvdyB0aGF0IHBhbmVsLiAgSGFuZGVkCjxDT0RFPk5VTEw8L0NP
REU+LCB0aGV5IHJldHVybiB0aGUgYm90dG9tLW1vc3Qgb3IgdG9wLW1vc3QgcGFuZWwuIDxQ
PgoKRXZlcnkgcGFuZWwgaGFzIGFuIGFzc29jaWF0ZWQgdXNlciBwb2ludGVyLCBub3QgdXNl
ZCBieSB0aGUgcGFuZWwgY29kZSwgdG8Kd2hpY2ggeW91IGNhbiBhdHRhY2ggYXBwbGljYXRp
b24gZGF0YS4gIFNlZSB0aGUgbWFuIHBhZ2UgZG9jdW1lbnRhdGlvbgpvZiA8Q09ERT5zZXRf
cGFuZWxfdXNlcnB0cigpPC9DT0RFPiBhbmQgPENPREU+cGFuZWxfdXNlcnB0cjwvQ09ERT4g
Zm9yCmRldGFpbHMuCgo8SDE+PEEgTkFNRT0ibWVudSI+VGhlIE1lbnUgTGlicmFyeTwvQT48
L0gxPgoKQSBtZW51IGlzIGEgc2NyZWVuIGRpc3BsYXkgdGhhdCBhc3Npc3RzIHRoZSB1c2Vy
IHRvIGNob29zZSBzb21lIHN1YnNldApvZiBhIGdpdmVuIHNldCBvZiBpdGVtcy4gIFRoZSA8
Q09ERT5tZW51PC9DT0RFPiBsaWJyYXJ5IGlzIGEgY3Vyc2VzCmV4dGVuc2lvbiB0aGF0IHN1
cHBvcnRzIGVhc3kgcHJvZ3JhbW1pbmcgb2YgbWVudSBoaWVyYXJjaGllcyB3aXRoIGEKdW5p
Zm9ybSBidXQgZmxleGlibGUgaW50ZXJmYWNlLiA8UD4KClRoZSA8Q09ERT5tZW51PC9DT0RF
PiBsaWJyYXJ5IGZpcnN0IGFwcGVhcmVkIGluIEFUJmFtcDtUIFN5c3RlbSBWLiAgVGhlCnZl
cnNpb24gZG9jdW1lbnRlZCBoZXJlIGlzIHRoZSA8Q09ERT5tZW51PC9DT0RFPiBjb2RlIGRp
c3RyaWJ1dGVkCndpdGggPENPREU+bmN1cnNlczwvQ09ERT4uCgo8SDI+PEEgTkFNRT0ibWNv
bXBpbGUiPkNvbXBpbGluZyBXaXRoIHRoZSBtZW51IExpYnJhcnk8L0E+PC9IMj4KCllvdXIg
bWVudS11c2luZyBtb2R1bGVzIG11c3QgaW1wb3J0IHRoZSBtZW51IGxpYnJhcnkgZGVjbGFy
YXRpb25zIHdpdGgKCjxQUkU+CgkgICNpbmNsdWRlICZsdDttZW51LmgmZ3Q7CjwvUFJFPgoK
YW5kIG11c3QgYmUgbGlua2VkIGV4cGxpY2l0bHkgd2l0aCB0aGUgbWVudXMgbGlicmFyeSB1
c2luZyBhbgo8Q09ERT4tbG1lbnU8L0NPREU+IGFyZ3VtZW50LiAgTm90ZSB0aGF0IHRoZXkg
bXVzdCBhbHNvIGxpbmsgdGhlCjxDT0RFPm5jdXJzZXM8L0NPREU+IGxpYnJhcnkgd2l0aCA8
Q09ERT4tbG5jdXJzZXM8L0NPREU+LiAgTWFueSBsaW5rZXJzCmFyZSB0d28tcGFzcyBhbmQg
d2lsbCBhY2NlcHQgZWl0aGVyIG9yZGVyLCBidXQgaXQgaXMgc3RpbGwgZ29vZCBwcmFjdGlj
ZQp0byBwdXQgPENPREU+LWxtZW51PC9DT0RFPiBmaXJzdCBhbmQgPENPREU+LWxuY3Vyc2Vz
PC9DT0RFPiBzZWNvbmQuCgo8SDI+PEEgTkFNRT0ibW92ZXJ2aWV3Ij5PdmVydmlldyBvZiBN
ZW51czwvQT48L0gyPgoKVGhlIG1lbnVzIGNyZWF0ZWQgYnkgdGhpcyBsaWJyYXJ5IGNvbnNp
c3Qgb2YgY29sbGVjdGlvbnMgb2YKPERGTj5pdGVtczwvREZOPiBpbmNsdWRpbmcgYSBuYW1l
IHN0cmluZyBwYXJ0IGFuZCBhIGRlc2NyaXB0aW9uIHN0cmluZwpwYXJ0LiAgVG8gbWFrZSBt
ZW51cywgeW91IGNyZWF0ZSBncm91cHMgb2YgdGhlc2UgaXRlbXMgYW5kIGNvbm5lY3QKdGhl
bSB3aXRoIG1lbnUgZnJhbWUgb2JqZWN0cy4gPFA+CgpUaGUgbWVudSBjYW4gdGhlbiBieSA8
REZOPnBvc3RlZDwvREZOPiwgdGhhdCBpcyB3cml0dGVuIHRvIGFuCmFzc29jaWF0ZWQgd2lu
ZG93LiAgQWN0dWFsbHksIGVhY2ggbWVudSBoYXMgdHdvIGFzc29jaWF0ZWQgd2luZG93czsg
YQpjb250YWluaW5nIHdpbmRvdyBpbiB3aGljaCB0aGUgcHJvZ3JhbW1lciBjYW4gc2NyaWJi
bGUgdGl0bGVzIG9yCmJvcmRlcnMsIGFuZCBhIHN1YndpbmRvdyBpbiB3aGljaCB0aGUgbWVu
dSBpdGVtcyBwcm9wZXIgYXJlIGRpc3BsYXllZC4KSWYgdGhpcyBzdWJ3aW5kb3cgaXMgdG9v
IHNtYWxsIHRvIGRpc3BsYXkgYWxsIHRoZSBpdGVtcywgaXQgd2lsbCBiZSBhCnNjcm9sbGFi
bGUgdmlld3BvcnQgb24gdGhlIGNvbGxlY3Rpb24gb2YgaXRlbXMuIDxQPgoKQSBtZW51IG1h
eSBhbHNvIGJlIDxERk4+dW5wb3N0ZWQ8L0RGTj4gKHRoYXQgaXMsIHVuZGlzcGxheWVkKSwg
YW5kIGZpbmFsbHkKZnJlZWQgdG8gbWFrZSB0aGUgc3RvcmFnZSBhc3NvY2lhdGVkIHdpdGgg
aXQgYW5kIGl0cyBpdGVtcyBhdmFpbGFibGUgZm9yCnJlLXVzZS4gPFA+CgpUaGUgZ2VuZXJh
bCBmbG93IG9mIGNvbnRyb2wgb2YgYSBtZW51IHByb2dyYW0gbG9va3MgbGlrZSB0aGlzOgoK
PE9MPgo8TEk+SW5pdGlhbGl6ZSA8Q09ERT5jdXJzZXM8L0NPREU+Lgo8TEk+Q3JlYXRlIHRo
ZSBtZW51IGl0ZW1zLCB1c2luZyA8Q09ERT5uZXdfaXRlbSgpPC9DT0RFPi4KPExJPkNyZWF0
ZSB0aGUgbWVudSB1c2luZyA8Q09ERT5uZXdfbWVudSgpPC9DT0RFPi4KPExJPlBvc3QgdGhl
IG1lbnUgdXNpbmcgPENPREU+bWVudV9wb3N0KCk8L0NPREU+Lgo8TEk+UmVmcmVzaCB0aGUg
c2NyZWVuLgo8TEk+UHJvY2VzcyB1c2VyIHJlcXVlc3RzIHZpYSBhbiBpbnB1dCBsb29wLgo8
TEk+VW5wb3N0IHRoZSBtZW51IHVzaW5nIDxDT0RFPm1lbnVfdW5wb3N0KCk8L0NPREU+Lgo8
TEk+RnJlZSB0aGUgbWVudSwgdXNpbmcgPENPREU+ZnJlZV9tZW51KCk8L0NPREU+Lgo8TEk+
RnJlZSB0aGUgaXRlbXMgdXNpbmcgPENPREU+ZnJlZV9pdGVtKCk8L0NPREU+Lgo8TEk+VGVy
bWluYXRlIDxDT0RFPmN1cnNlczwvQ09ERT4uCjwvT0w+Cgo8SDI+PEEgTkFNRT0ibXNlbGVj
dCI+U2VsZWN0aW5nIGl0ZW1zPC9BPjwvSDI+CgpNZW51cyBtYXkgYmUgbXVsdGktdmFsdWVk
IG9yICh0aGUgZGVmYXVsdCkgc2luZ2xlLXZhbHVlZCAoc2VlIHRoZSBtYW51YWwKcGFnZSA8
Q09ERT5tZW51X29wdHMoM3gpPC9DT0RFPiB0byBzZWUgaG93IHRvIGNoYW5nZSB0aGUgZGVm
YXVsdCkuCkJvdGggdHlwZXMgYWx3YXlzIGhhdmUgYSA8REZOPmN1cnJlbnQgaXRlbTwvREZO
Pi4gPFA+CgpGcm9tIGEgc2luZ2xlLXZhbHVlZCBtZW51IHlvdSBjYW4gcmVhZCB0aGUgc2Vs
ZWN0ZWQgdmFsdWUgc2ltcGx5IGJ5IGxvb2tpbmcKYXQgdGhlIGN1cnJlbnQgaXRlbS4gIEZy
b20gYSBtdWx0aS12YWx1ZWQgbWVudSwgeW91IGdldCB0aGUgc2VsZWN0ZWQgc2V0CmJ5IGxv
b3BpbmcgdGhyb3VnaCB0aGUgaXRlbXMgYXBwbHlpbmcgdGhlIDxDT0RFPml0ZW1fdmFsdWUo
KTwvQ09ERT4KcHJlZGljYXRlIGZ1bmN0aW9uLiAgWW91ciBtZW51LXByb2Nlc3NpbmcgY29k
ZSBjYW4gdXNlIHRoZSBmdW5jdGlvbgo8Q09ERT5zZXRfaXRlbV92YWx1ZSgpPC9DT0RFPiB0
byBmbGFnIHRoZSBpdGVtcyBpbiB0aGUgc2VsZWN0IHNldC4gPFA+CgpNZW51IGl0ZW1zIGNh
biBiZSBtYWRlIHVuc2VsZWN0YWJsZSB1c2luZyA8Q09ERT5zZXRfaXRlbV9vcHRzKCk8L0NP
REU+Cm9yIDxDT0RFPml0ZW1fb3B0c19vZmYoKTwvQ09ERT4gd2l0aCB0aGUgPENPREU+T19T
RUxFQ1RBQkxFPC9DT0RFPgphcmd1bWVudC4gIFRoaXMgaXMgdGhlIG9ubHkgb3B0aW9uIHNv
IGZhciBkZWZpbmVkIGZvciBtZW51cywgYnV0IGl0CmlzIGdvb2QgcHJhY3RpY2UgdG8gY29k
ZSBhcyB0aG91Z2ggb3RoZXIgb3B0aW9uIGJpdHMgbWlnaHQgYmUgb24uCgo8SDI+PEEgTkFN
RT0ibWRpc3BsYXkiPk1lbnUgRGlzcGxheTwvQT48L0gyPgoKVGhlIG1lbnUgbGlicmFyeSBj
YWxjdWxhdGVzIGEgbWluaW11bSBkaXNwbGF5IHNpemUgZm9yIHlvdXIgd2luZG93LCBiYXNl
ZApvbiB0aGUgZm9sbG93aW5nIHZhcmlhYmxlczoKCjxVTD4KPExJPlRoZSBudW1iZXIgYW5k
IG1heGltdW0gbGVuZ3RoIG9mIHRoZSBtZW51IGl0ZW1zCjxMST5XaGV0aGVyIHRoZSBPX1JP
V01BSk9SIG9wdGlvbiBpcyBlbmFibGVkCjxMST5XaGV0aGVyIGRpc3BsYXkgb2YgZGVzY3Jp
cHRpb25zIGlzIGVuYWJsZWQKPExJPldoYXRldmVyIG1lbnUgZm9ybWF0IG1heSBoYXZlIGJl
ZW4gc2V0IGJ5IHRoZSBwcm9ncmFtbWVyCjxMST5UaGUgbGVuZ3RoIG9mIHRoZSBtZW51IG1h
cmsgc3RyaW5nIHVzZWQgZm9yIGhpZ2hsaWdodGluZyBzZWxlY3RlZCBpdGVtcwo8L1VMPgoK
VGhlIGZ1bmN0aW9uIDxDT0RFPnNldF9tZW51X2Zvcm1hdCgpPC9DT0RFPiBhbGxvd3MgeW91
IHRvIHNldCB0aGUKbWF4aW11bSBzaXplIG9mIHRoZSB2aWV3cG9ydCBvciA8REZOPm1lbnUg
cGFnZTwvREZOPiB0aGF0IHdpbGwgYmUgdXNlZAp0byBkaXNwbGF5IG1lbnUgaXRlbXMuICBZ
b3UgY2FuIHJldHJpZXZlIGFueSBmb3JtYXQgYXNzb2NpYXRlZCB3aXRoIGEKbWVudSB3aXRo
IDxDT0RFPm1lbnVfZm9ybWF0KCk8L0NPREU+LiBUaGUgZGVmYXVsdCBmb3JtYXQgaXMgcm93
cz0xNiwKY29sdW1ucz0xLiA8UD4KClRoZSBhY3R1YWwgbWVudSBwYWdlIG1heSBiZSBzbWFs
bGVyIHRoYW4gdGhlIGZvcm1hdCBzaXplLiAgVGhpcyBkZXBlbmRzCm9uIHRoZSBpdGVtIG51
bWJlciBhbmQgc2l6ZSBhbmQgd2hldGhlciBPX1JPV01BSk9SIGlzIG9uLiAgVGhpcyBvcHRp
b24KKG9uIGJ5IGRlZmF1bHQpIGNhdXNlcyBtZW51IGl0ZW1zIHRvIGJlIGRpc3BsYXllZCBp
biBhIGByYXN0ZXItc2NhbicKcGF0dGVybiwgc28gdGhhdCBpZiBtb3JlIHRoYW4gb25lIGl0
ZW0gd2lsbCBmaXQgaG9yaXpvbnRhbGx5IHRoZSBmaXJzdApjb3VwbGUgb2YgaXRlbXMgYXJl
IHNpZGUtYnktc2lkZSBpbiB0aGUgdG9wIHJvdy4gIFRoZSBhbHRlcm5hdGl2ZSBpcwpjb2x1
bW4tbWFqb3IgZGlzcGxheSwgd2hpY2ggdHJpZXMgdG8gcHV0IHRoZSBmaXJzdCBzZXZlcmFs
IGl0ZW1zIGluCnRoZSBmaXJzdCBjb2x1bW4uIDxQPgoKQXMgbWVudGlvbmVkIGFib3ZlLCBh
IG1lbnUgZm9ybWF0IG5vdCBsYXJnZSBlbm91Z2ggdG8gYWxsb3cgYWxsIGl0ZW1zIHRvIGZp
dApvbi1zY3JlZW4gd2lsbCByZXN1bHQgaW4gYSBtZW51IGRpc3BsYXkgdGhhdCBpcyB2ZXJ0
aWNhbGx5IHNjcm9sbGFibGUuIDxQPgpZb3UgY2FuIHNjcm9sbCBpdCB3aXRoIHJlcXVlc3Rz
IHRvIHRoZSBtZW51IGRyaXZlciwgd2hpY2ggd2lsbCBiZSBkZXNjcmliZWQKaW4gdGhlIHNl
Y3Rpb24gb24gPEEgSFJFRj0iI21pbnB1dCI+bWVudSBpbnB1dCBoYW5kbGluZzwvQT4uIDxQ
PgoKRWFjaCBtZW51IGhhcyBhIDxERk4+bWFyayBzdHJpbmc8L0RGTj4gdXNlZCB0byB2aXN1
YWxseSB0YWcgc2VsZWN0ZWQgaXRlbXM7CnNlZSB0aGUgPENPREU+bWVudV9tYXJrKDN4KTwv
Q09ERT4gbWFudWFsIHBhZ2UgZm9yIGRldGFpbHMuICBUaGUgbWFyawpzdHJpbmcgbGVuZ3Ro
IGFsc28gaW5mbHVlbmNlcyB0aGUgbWVudSBwYWdlIHNpemUuIDxQPgoKVGhlIGZ1bmN0aW9u
IDxDT0RFPnNjYWxlX21lbnUoKTwvQ09ERT4gcmV0dXJucyB0aGUgbWluaW11bSBkaXNwbGF5
IHNpemUKdGhhdCB0aGUgbWVudSBjb2RlIGNvbXB1dGVzIGZyb20gYWxsIHRoZXNlIGZhY3Rv
cnMuCgpUaGVyZSBhcmUgb3RoZXIgbWVudSBkaXNwbGF5IGF0dHJpYnV0ZXMgaW5jbHVkaW5n
IGEgc2VsZWN0IGF0dHJpYnV0ZSwKYW4gYXR0cmlidXRlIGZvciBzZWxlY3RhYmxlIGl0ZW1z
LCBhbiBhdHRyaWJ1dGUgZm9yIHVuc2VsZWN0YWJsZSBpdGVtcywKYW5kIGEgcGFkIGNoYXJh
Y3RlciB1c2VkIHRvIHNlcGFyYXRlIGl0ZW0gbmFtZSB0ZXh0IGZyb20gZGVzY3JpcHRpb24K
dGV4dC4gIFRoZXNlIGhhdmUgcmVhc29uYWJsZSBkZWZhdWx0cyB3aGljaCB0aGUgbGlicmFy
eSBhbGxvd3MgeW91IHRvCmNoYW5nZSAoc2VlIHRoZSA8Q09ERT5tZW51X2F0dHJpYnMoM3gp
PC9DT0RFPiBtYW51YWwgcGFnZS4KCjxIMj48QSBOQU1FPSJtd2luZG93cyI+TWVudSBXaW5k
b3dzPC9BPjwvSDI+CgpFYWNoIG1lbnUgaGFzLCBhcyBtZW50aW9uZWQgcHJldmlvdXNseSwg
YSBwYWlyIG9mIGFzc29jaWF0ZWQgd2luZG93cy4KQm90aCB0aGVzZSB3aW5kb3dzIGFyZSBw
YWludGVkIHdoZW4gdGhlIG1lbnUgaXMgcG9zdGVkIGFuZCBlcmFzZWQgd2hlbgp0aGUgbWVu
dSBpcyB1bnBvc3RlZC4gPFA+CgpUaGUgb3V0ZXIgb3IgZnJhbWUgd2luZG93IGlzIG5vdCBv
dGhlcndpc2UgdG91Y2hlZCBieSB0aGUgbWVudQpyb3V0aW5lcy4gIEl0IGV4aXN0cyBzbyB0
aGUgcHJvZ3JhbW1lciBjYW4gYXNzb2NpYXRlIGEgdGl0bGUsIGEKYm9yZGVyLCBvciBwZXJo
YXBzIGhlbHAgdGV4dCB3aXRoIHRoZSBtZW51IGFuZCBoYXZlIGl0IHByb3Blcmx5CnJlZnJl
c2hlZCBvciBlcmFzZWQgYXQgcG9zdC91bnBvc3QgdGltZS4gIFRoZSBpbm5lciB3aW5kb3cg
b3IKPERGTj5zdWJ3aW5kb3c8L0RGTj4gaXMgd2hlcmUgdGhlIGN1cnJlbnQgbWVudSBwYWdl
IGlzIGRpc3BsYXllZC4gPFA+CgpCeSBkZWZhdWx0LCBib3RoIHdpbmRvd3MgYXJlIDxDT0RF
PnN0ZHNjcjwvQ09ERT4uICBZb3UgY2FuIHNldCB0aGVtIHdpdGggdGhlCmZ1bmN0aW9ucyBp
biA8Q09ERT5tZW51X3dpbigzeCk8L0NPREU+LiA8UD4KCldoZW4geW91IGNhbGwgPENPREU+
bWVudV9wb3N0KCk8L0NPREU+LCB5b3Ugd3JpdGUgdGhlIG1lbnUgdG8gaXRzCnN1YndpbmRv
dy4gIFdoZW4geW91IGNhbGwgPENPREU+bWVudV91bnBvc3QoKTwvQ09ERT4sIHlvdSBlcmFz
ZSB0aGUKc3Vid2luZG93LCBIb3dldmVyLCBuZWl0aGVyIG9mIHRoZXNlIGFjdHVhbGx5IG1v
ZGlmaWVzIHRoZSBzY3JlZW4uICBUbwpkbyB0aGF0LCBjYWxsIDxDT0RFPndyZWZyZXNoKCk8
L0NPREU+IG9yIHNvbWUgZXF1aXZhbGVudC4KCjxIMj48QSBOQU1FPSJtaW5wdXQiPlByb2Nl
c3NpbmcgTWVudSBJbnB1dDwvQT48L0gyPgoKVGhlIG1haW4gbG9vcCBvZiB5b3VyIG1lbnUt
cHJvY2Vzc2luZyBjb2RlIHNob3VsZCBjYWxsCjxDT0RFPm1lbnVfZHJpdmVyKCk8L0NPREU+
IHJlcGVhdGVkbHkuIFRoZSBmaXJzdCBhcmd1bWVudCBvZiB0aGlzIHJvdXRpbmUKaXMgYSBt
ZW51IHBvaW50ZXI7IHRoZSBzZWNvbmQgaXMgYSBtZW51IGNvbW1hbmQgY29kZS4gIFlvdSBz
aG91bGQgd3JpdGUgYW4KaW5wdXQtZmV0Y2hpbmcgcm91dGluZSB0aGF0IG1hcHMgaW5wdXQg
Y2hhcmFjdGVycyB0byBtZW51IGNvbW1hbmQgY29kZXMsIGFuZApwYXNzIGl0cyBvdXRwdXQg
dG8gPENPREU+bWVudV9kcml2ZXIoKTwvQ09ERT4uICBUaGUgbWVudSBjb21tYW5kIGNvZGVz
IGFyZQpmdWxseSBkb2N1bWVudGVkIGluIDxDT0RFPm1lbnVfZHJpdmVyKDN4KTwvQ09ERT4u
IDxQPgoKVGhlIHNpbXBsZXN0IGdyb3VwIG9mIGNvbW1hbmQgY29kZXMgaXMgPENPREU+UkVR
X05FWFRfSVRFTTwvQ09ERT4sCjxDT0RFPlJFUV9QUkVWX0lURU08L0NPREU+LCA8Q09ERT5S
RVFfRklSU1RfSVRFTTwvQ09ERT4sCjxDT0RFPlJFUV9MQVNUX0lURU08L0NPREU+LCA8Q09E
RT5SRVFfVVBfSVRFTTwvQ09ERT4sCjxDT0RFPlJFUV9ET1dOX0lURU08L0NPREU+LCA8Q09E
RT5SRVFfTEVGVF9JVEVNPC9DT0RFPiwKPENPREU+UkVRX1JJR0hUX0lURU08L0NPREU+LiAg
VGhlc2UgY2hhbmdlIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQKaXRlbS4gIFRoZXNlIHJlcXVl
c3RzIG1heSBjYXVzZSBzY3JvbGxpbmcgb2YgdGhlIG1lbnUgcGFnZSBpZiBpdCBvbmx5CnBh
cnRpYWxseSBkaXNwbGF5ZWQuIDxQPgoKVGhlcmUgYXJlIGV4cGxpY2l0IHJlcXVlc3RzIGZv
ciBzY3JvbGxpbmcgd2hpY2ggYWxzbyBjaGFuZ2UgdGhlCmN1cnJlbnQgaXRlbSAoYmVjYXVz
ZSB0aGUgc2VsZWN0IGxvY2F0aW9uIGRvZXMgbm90IGNoYW5nZSwgYnV0IHRoZQppdGVtIHRo
ZXJlIGRvZXMpLiAgVGhlc2UgYXJlIDxDT0RFPlJFUV9TQ1JfRExJTkU8L0NPREU+LAo8Q09E
RT5SRVFfU0NSX1VMSU5FPC9DT0RFPiwgPENPREU+UkVRX1NDUl9EUEFHRTwvQ09ERT4sIGFu
ZAo8Q09ERT5SRVFfU0NSX1VQQUdFPC9DT0RFPi4gPFA+CgpUaGUgPENPREU+UkVRX1RPR0dM
RV9JVEVNPC9DT0RFPiBzZWxlY3RzIG9yIGRlc2VsZWN0cyB0aGUgY3VycmVudCBpdGVtLgpJ
dCBpcyBmb3IgdXNlIGluIG11bHRpLXZhbHVlZCBtZW51czsgaWYgeW91IHVzZSBpdCB3aXRo
IDxDT0RFPk9fT05FVkFMVUU8L0NPREU+Cm9uLCB5b3UnbGwgZ2V0IGFuIGVycm9yIHJldHVy
biAoPENPREU+RV9SRVFVRVNUX0RFTklFRDwvQ09ERT4pLiA8UD4KCkVhY2ggbWVudSBoYXMg
YW4gYXNzb2NpYXRlZCBwYXR0ZXJuIGJ1ZmZlci4gIFRoZQo8Q09ERT5tZW51X2RyaXZlcigp
PC9DT0RFPiBsb2dpYyB0cmllcyB0byBhY2N1bXVsYXRlIHByaW50YWJsZSBBU0NJSQpjaGFy
YWN0ZXJzIHBhc3NlZCBpbiBpbiB0aGF0IGJ1ZmZlcjsgd2hlbiBpdCBtYXRjaGVzIGEgcHJl
Zml4IG9mIGFuCml0ZW0gbmFtZSwgdGhhdCBpdGVtIChvciB0aGUgbmV4dCBtYXRjaGluZyBp
dGVtKSBpcyBzZWxlY3RlZC4gIElmCmFwcGVuZGluZyBhIGNoYXJhY3RlciB5aWVsZHMgbm8g
bmV3IG1hdGNoLCB0aGF0IGNoYXJhY3RlciBpcyBkZWxldGVkCmZyb20gdGhlIHBhdHRlcm4g
YnVmZmVyLCBhbmQgPENPREU+bWVudV9kcml2ZXIoKTwvQ09ERT4gcmV0dXJucwo8Q09ERT5F
X05PX01BVENIPC9DT0RFPi4gPFA+CgpTb21lIHJlcXVlc3RzIGNoYW5nZSB0aGUgcGF0dGVy
biBidWZmZXIgZGlyZWN0bHk6CjxDT0RFPlJFUV9DTEVBUl9QQVRURVJOPC9DT0RFPiwgPENP
REU+UkVRX0JBQ0tfUEFUVEVSTjwvQ09ERT4sCjxDT0RFPlJFUV9ORVhUX01BVENIPC9DT0RF
PiwgPENPREU+UkVRX1BSRVZfTUFUQ0g8L0NPREU+LiAgVGhlIGxhdHRlcgp0d28gYXJlIHVz
ZWZ1bCB3aGVuIHBhdHRlcm4gYnVmZmVyIGlucHV0IG1hdGNoZXMgbW9yZSB0aGFuIG9uZSBp
dGVtCmluIGEgbXVsdGktdmFsdWVkIG1lbnUuIDxQPgoKRWFjaCBzdWNjZXNzZnVsIHNjcm9s
bCBvciBpdGVtIG5hdmlnYXRpb24gcmVxdWVzdCBjbGVhcnMgdGhlIHBhdHRlcm4KYnVmZmVy
LiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBzZXQgdGhlIHBhdHRlcm4gYnVmZmVyIGV4cGxp
Y2l0bHkKd2l0aCA8Q09ERT5zZXRfbWVudV9wYXR0ZXJuKCk8L0NPREU+LiA8UD4KCkZpbmFs
bHksIG1lbnUgZHJpdmVyIHJlcXVlc3RzIGFib3ZlIHRoZSBjb25zdGFudCA8Q09ERT5NQVhf
Q09NTUFORDwvQ09ERT4KYXJlIGNvbnNpZGVyZWQgYXBwbGljYXRpb24tc3BlY2lmaWMgY29t
bWFuZHMuICBUaGUgPENPREU+bWVudV9kcml2ZXIoKTwvQ09ERT4KY29kZSBpZ25vcmVzIHRo
ZW0gYW5kIHJldHVybnMgPENPREU+RV9VTktOT1dOX0NPTU1BTkQ8L0NPREU+LgoKPEgyPjxB
IE5BTUU9Im1taXNjIj5NaXNjZWxsYW5lb3VzIE90aGVyIEZlYXR1cmVzPC9BPjwvSDI+CgpW
YXJpb3VzIG1lbnUgb3B0aW9ucyBjYW4gYWZmZWN0IHRoZSBwcm9jZXNzaW5nIGFuZCB2aXN1
YWwgYXBwZWFyYW5jZQphbmQgaW5wdXQgcHJvY2Vzc2luZyBvZiBtZW51cy4gIFNlZSA8Q09E
RT5tZW51X29wdHMoM3gpIGZvcgpkZXRhaWxzLjwvQ09ERT4gPFA+CgpJdCBpcyBwb3NzaWJs
ZSB0byBjaGFuZ2UgdGhlIGN1cnJlbnQgaXRlbSBmcm9tIGFwcGxpY2F0aW9uIGNvZGU7IHRo
aXMKaXMgdXNlZnVsIGlmIHlvdSB3YW50IHRvIHdyaXRlIHlvdXIgb3duIG5hdmlnYXRpb24g
cmVxdWVzdHMuICBJdCBpcwphbHNvIHBvc3NpYmxlIHRvIGV4cGxpY2l0bHkgc2V0IHRoZSB0
b3Agcm93IG9mIHRoZSBtZW51IGRpc3BsYXkuICBTZWUKPENPREU+bWl0ZW1fY3VycmVudCgz
eCk8L0NPREU+LgoKSWYgeW91ciBhcHBsaWNhdGlvbiBuZWVkcyB0byBjaGFuZ2UgdGhlIG1l
bnUgc3Vid2luZG93IGN1cnNvciBmb3IKYW55IHJlYXNvbiwgPENPREU+cG9zX21lbnVfY3Vy
c29yKCk8L0NPREU+IHdpbGwgcmVzdG9yZSBpdCB0byB0aGUKY29ycmVjdCBsb2NhdGlvbiBm
b3IgY29udGludWluZyBtZW51IGRyaXZlciBwcm9jZXNzaW5nLiA8UD4KCkl0IGlzIHBvc3Np
YmxlIHRvIHNldCBob29rcyB0byBiZSBjYWxsZWQgYXQgbWVudSBpbml0aWFsaXphdGlvbiBh
bmQKd3JhcHVwIHRpbWUsIGFuZCB3aGVuZXZlciB0aGUgc2VsZWN0ZWQgaXRlbSBjaGFuZ2Vz
LiAgU2VlCjxDT0RFPm1lbnVfaG9vaygzeCk8L0NPREU+LiA8UD4KCkVhY2ggaXRlbSwgYW5k
IGVhY2ggbWVudSwgaGFzIGFuIGFzc29jaWF0ZWQgdXNlciBwb2ludGVyIG9uIHdoaWNoIHlv
dQpjYW4gaGFuZyBhcHBsaWNhdGlvbiBkYXRhLiAgU2VlIDxDT0RFPm1pdGVtX3VzZXJwdHIo
M3gpPC9DT0RFPiBhbmQKPENPREU+bWVudV91c2VycHRyKDN4KTwvQ09ERT4uCgo8SDE+PEEg
TkFNRT0iZm9ybSI+VGhlIEZvcm1zIExpYnJhcnk8L0E+PC9IMT4KClRoZSA8Q09ERT5mb3Jt
PC9DT0RFPiBsaWJyYXJ5IGlzIGEgY3Vyc2VzIGV4dGVuc2lvbiB0aGF0IHN1cHBvcnRzIGVh
c3kKcHJvZ3JhbW1pbmcgb2Ygb24tc2NyZWVuIGZvcm1zIGZvciBkYXRhIGVudHJ5IGFuZCBw
cm9ncmFtIGNvbnRyb2wuIDxQPgoKVGhlIDxDT0RFPmZvcm08L0NPREU+IGxpYnJhcnkgZmly
c3QgYXBwZWFyZWQgaW4gQVQmYW1wO1QgU3lzdGVtIFYuICBUaGUKdmVyc2lvbiBkb2N1bWVu
dGVkIGhlcmUgaXMgdGhlIDxDT0RFPmZvcm08L0NPREU+IGNvZGUgZGlzdHJpYnV0ZWQKd2l0
aCA8Q09ERT5uY3Vyc2VzPC9DT0RFPi4KCjxIMj48QSBOQU1FPSJmY29tcGlsZSI+Q29tcGls
aW5nIFdpdGggdGhlIGZvcm0gTGlicmFyeTwvQT48L0gyPgoKWW91ciBmb3JtLXVzaW5nIG1v
ZHVsZXMgbXVzdCBpbXBvcnQgdGhlIGZvcm0gbGlicmFyeSBkZWNsYXJhdGlvbnMgd2l0aAoK
PFBSRT4KCSAgI2luY2x1ZGUgJmx0O2Zvcm0uaCZndDsKPC9QUkU+CgphbmQgbXVzdCBiZSBs
aW5rZWQgZXhwbGljaXRseSB3aXRoIHRoZSBmb3JtcyBsaWJyYXJ5IHVzaW5nIGFuCjxDT0RF
Pi1sZm9ybTwvQ09ERT4gYXJndW1lbnQuICBOb3RlIHRoYXQgdGhleSBtdXN0IGFsc28gbGlu
ayB0aGUKPENPREU+bmN1cnNlczwvQ09ERT4gbGlicmFyeSB3aXRoIDxDT0RFPi1sbmN1cnNl
czwvQ09ERT4uICBNYW55IGxpbmtlcnMKYXJlIHR3by1wYXNzIGFuZCB3aWxsIGFjY2VwdCBl
aXRoZXIgb3JkZXIsIGJ1dCBpdCBpcyBzdGlsbCBnb29kIHByYWN0aWNlCnRvIHB1dCA8Q09E
RT4tbGZvcm08L0NPREU+IGZpcnN0IGFuZCA8Q09ERT4tbG5jdXJzZXM8L0NPREU+IHNlY29u
ZC4KCjxIMj48QSBOQU1FPSJmb3ZlcnZpZXciPk92ZXJ2aWV3IG9mIEZvcm1zPC9BPjwvSDI+
CgpBIGZvcm0gaXMgYSBjb2xsZWN0aW9uIG9mIGZpZWxkczsgZWFjaCBmaWVsZCBtYXkgYmUg
ZWl0aGVyIGEgbGFiZWwKKGV4cGxhbmF0b3J5IHRleHQpIG9yIGEgZGF0YS1lbnRyeSBsb2Nh
dGlvbi4gIExvbmcgZm9ybXMgbWF5IGJlCnNlZ21lbnRlZCBpbnRvIHBhZ2VzOyBlYWNoIGVu
dHJ5IHRvIGEgbmV3IHBhZ2UgY2xlYXJzIHRoZSBzY3JlZW4uIDxQPgpUbyBtYWtlIGZvcm1z
LCB5b3UgY3JlYXRlIGdyb3VwcyBvZiBmaWVsZHMgYW5kIGNvbm5lY3QgdGhlbSB3aXRoIGZv
cm0KZnJhbWUgb2JqZWN0czsgdGhlIGZvcm0gbGlicmFyeSBtYWtlcyB0aGlzIHJlbGF0aXZl
bHkgc2ltcGxlLiA8UD4KCk9uY2UgZGVmaW5lZCwgYSBmb3JtIGNhbiBiZSA8REZOPnBvc3Rl
ZDwvREZOPiwgdGhhdCBpcyB3cml0dGVuIHRvIGFuCmFzc29jaWF0ZWQgd2luZG93LiAgQWN0
dWFsbHksIGVhY2ggZm9ybSBoYXMgdHdvIGFzc29jaWF0ZWQgd2luZG93czsgYQpjb250YWlu
aW5nIHdpbmRvdyBpbiB3aGljaCB0aGUgcHJvZ3JhbW1lciBjYW4gc2NyaWJibGUgdGl0bGVz
IG9yCmJvcmRlcnMsIGFuZCBhIHN1YndpbmRvdyBpbiB3aGljaCB0aGUgZm9ybSBmaWVsZHMg
cHJvcGVyIGFyZSBkaXNwbGF5ZWQuIDxQPgoKQXMgdGhlIGZvcm0gdXNlciBmaWxscyBvdXQg
dGhlIHBvc3RlZCBmb3JtLCBuYXZpZ2F0aW9uIGFuZCBlZGl0aW5nCmtleXMgc3VwcG9ydCBt
b3ZlbWVudCBiZXR3ZWVuIGZpZWxkcywgZWRpdGluZyBrZXlzIHN1cHBvcnQgbW9kaWZ5aW5n
CmZpZWxkLCBhbmQgcGxhaW4gdGV4dCBhZGRzIHRvIG9yIGNoYW5nZXMgZGF0YSBpbiBhIGN1
cnJlbnQgZmllbGQuICBUaGUKZm9ybSBsaWJyYXJ5IGFsbG93cyB5b3UgKHRoZSBmb3JtcyBk
ZXNpZ25lcikgdG8gYmluZCBlYWNoIG5hdmlnYXRpb24KYW5kIGVkaXRpbmcga2V5IHRvIGFu
eSBrZXlzdHJva2UgYWNjZXB0ZWQgYnkgPENPREU+Y3Vyc2VzPC9DT0RFPgoKRmllbGRzIG1h
eSBoYXZlIHZhbGlkYXRpb24gY29uZGl0aW9ucyBvbiB0aGVtLCBzbyB0aGF0IHRoZXkgY2hl
Y2sgaW5wdXQKZGF0YSBmb3IgdHlwZSBhbmQgdmFsdWUuICBUaGUgZm9ybSBsaWJyYXJ5IHN1
cHBsaWVzIGEgcmljaCBzZXQgb2YKcHJlLWRlZmluZWQgZmllbGQgdHlwZXMsIGFuZCBtYWtl
cyBpdCByZWxhdGl2ZWx5IGVhc3kgdG8gZGVmaW5lIG5ldyBvbmVzLiA8UD4KCk9uY2UgaXRz
IHRyYW5zYWN0aW9uIGlzIGNvbXBsZXRlZCAob3IgYWJvcnRlZCksIGEgZm9ybSBtYXkgYmUK
PERGTj51bnBvc3RlZDwvREZOPiAodGhhdCBpcywgdW5kaXNwbGF5ZWQpLCBhbmQgZmluYWxs
eSBmcmVlZCB0byBtYWtlCnRoZSBzdG9yYWdlIGFzc29jaWF0ZWQgd2l0aCBpdCBhbmQgaXRz
IGl0ZW1zIGF2YWlsYWJsZSBmb3IgcmUtdXNlLiA8UD4KClRoZSBnZW5lcmFsIGZsb3cgb2Yg
Y29udHJvbCBvZiBhIGZvcm0gcHJvZ3JhbSBsb29rcyBsaWtlIHRoaXM6Cgo8T0w+CjxMST5J
bml0aWFsaXplIDxDT0RFPmN1cnNlczwvQ09ERT4uCjxMST5DcmVhdGUgdGhlIGZvcm0gZmll
bGRzLCB1c2luZyA8Q09ERT5uZXdfZmllbGQoKTwvQ09ERT4uCjxMST5DcmVhdGUgdGhlIGZv
cm0gdXNpbmcgPENPREU+bmV3X2Zvcm0oKTwvQ09ERT4uCjxMST5Qb3N0IHRoZSBmb3JtIHVz
aW5nIDxDT0RFPmZvcm1fcG9zdCgpPC9DT0RFPi4KPExJPlJlZnJlc2ggdGhlIHNjcmVlbi4K
PExJPlByb2Nlc3MgdXNlciByZXF1ZXN0cyB2aWEgYW4gaW5wdXQgbG9vcC4KPExJPlVucG9z
dCB0aGUgZm9ybSB1c2luZyA8Q09ERT5mb3JtX3VucG9zdCgpPC9DT0RFPi4KPExJPkZyZWUg
dGhlIGZvcm0sIHVzaW5nIDxDT0RFPmZyZWVfZm9ybSgpPC9DT0RFPi4KPExJPkZyZWUgdGhl
IGZpZWxkcyB1c2luZyA8Q09ERT5mcmVlX2ZpZWxkKCk8L0NPREU+Lgo8TEk+VGVybWluYXRl
IDxDT0RFPmN1cnNlczwvQ09ERT4uCjwvT0w+CgpOb3RlIHRoYXQgdGhpcyBsb29rcyBtdWNo
IGxpa2UgYSBtZW51IHByb2dyYW07IHRoZSBmb3JtIGxpYnJhcnkgaGFuZGxlcwp0YXNrcyB3
aGljaCBhcmUgaW4gbWFueSB3YXlzIHNpbWlsYXIsIGFuZCBpdHMgaW50ZXJmYWNlIHdhcyBv
YnZpb3VzbHkKZGVzaWduZWQgdG8gcmVzZW1ibGUgdGhhdCBvZiB0aGUgPEEgSFJFRj0iI21l
bnUiPm1lbnUgbGlicmFyeTwvQT4Kd2hlcmV2ZXIgcG9zc2libGUuIDxQPgoKSW4gZm9ybXMg
cHJvZ3JhbXMsIGhvd2V2ZXIsIHRoZSBgcHJvY2VzcyB1c2VyIHJlcXVlc3RzJyBpcyBzb21l
d2hhdCBtb3JlCmNvbXBsaWNhdGVkIHRoYW4gZm9yIG1lbnVzLiAgQmVzaWRlcyBtZW51LWxp
a2UgbmF2aWdhdGlvbiBvcGVyYXRpb25zLAp0aGUgbWVudSBkcml2ZXIgbG9vcCBoYXMgdG8g
c3VwcG9ydCBmaWVsZCBlZGl0aW5nIGFuZCBkYXRhIHZhbGlkYXRpb24uCgo8SDI+PEEgTkFN
RT0iZmNyZWF0ZSI+Q3JlYXRpbmcgYW5kIEZyZWVpbmcgRmllbGRzIGFuZCBGb3JtczwvQT48
L0gyPgoKVGhlIGJhc2ljIGZ1bmN0aW9uIGZvciBjcmVhdGluZyBmaWVsZHMgaXMgPENPREU+
bmV3X2ZpZWxkKCk8L0NPREU+OgoKPFBSRT4KRklFTEQgKm5ld19maWVsZChpbnQgaGVpZ2h0
LCBpbnQgd2lkdGgsICAgLyogbmV3IGZpZWxkIHNpemUgKi8KICAgICAgICAgICAgICAgICBp
bnQgdG9wLCBpbnQgbGVmdCwgICAgICAgLyogdXBwZXIgbGVmdCBjb3JuZXIgKi8KICAgICAg
ICAgICAgICAgICBpbnQgb2Zmc2NyZWVuLCAgICAgICAgICAgLyogbnVtYmVyIG9mIG9mZnNj
cmVlbiByb3dzICovCiAgICAgICAgICAgICAgICAgaW50IG5idWYpOyAgICAgICAgICAgICAg
IC8qIG51bWJlciBvZiB3b3JraW5nIGJ1ZmZlcnMgKi8KPC9QUkU+CgpNZW51IGl0ZW1zIGFs
d2F5cyBvY2N1cHkgYSBzaW5nbGUgcm93LCBidXQgZm9ybXMgZmllbGRzIG1heSBoYXZlCm11
bHRpcGxlIHJvd3MuICBTbyA8Q09ERT5uZXdfZmllbGQoKTwvQ09ERT4gcmVxdWlyZXMgeW91
IHRvIHNwZWNpZnkgYQp3aWR0aCBhbmQgaGVpZ2h0ICh0aGUgZmlyc3QgdHdvIGFyZ3VtZW50
cywgd2hpY2ggbWlzdCBib3RoIGJlIGdyZWF0ZXIKdGhhbiB6ZXJvKS4gPFA+CgpZb3UgbXVz
dCBhbHNvIHNwZWNpZnkgdGhlIGxvY2F0aW9uIG9mIHRoZSBmaWVsZCdzIHVwcGVyIGxlZnQg
Y29ybmVyIG9uCnRoZSBzY3JlZW4gKHRoZSB0aGlyZCBhbmQgZm91cnRoIGFyZ3VtZW50cywg
d2hpY2ggbXVzdCBiZSB6ZXJvIG9yCmdyZWF0ZXIpLiBOb3RlIHRoYXQgdGhlc2UgY29vcmRp
bmF0ZXMgYXJlIHJlbGF0aXZlIHRvIHRoZSBmb3JtCnN1YndpbmRvdywgd2hpY2ggd2lsbCBj
b2luY2lkZSB3aXRoIDxDT0RFPnN0ZHNjcjwvQ09ERT4gYnkgZGVmYXVsdCBidXQKbmVlZCBu
b3QgYmUgPENPREU+c3Rkc2NyPC9DT0RFPiBpZiB5b3UndmUgZG9uZSBhbiBleHBsaWNpdAo8
Q09ERT5zZXRfZm9ybV93aW5kb3coKTwvQ09ERT4gY2FsbC4gPFA+CgpUaGUgZmlmdGggYXJn
dW1lbnQgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IGEgbnVtYmVyIG9mIG9mZi1zY3JlZW4gcm93
cy4gIElmCnRoaXMgaXMgemVybywgdGhlIGVudGlyZSBmaWVsZCB3aWxsIGFsd2F5cyBiZSBk
aXNwbGF5ZWQuICBJZiBpdCBpcwpub256ZXJvLCB0aGUgZm9ybSB3aWxsIGJlIHNjcm9sbGFi
bGUsIHdpdGggb25seSBvbmUgc2NyZWVuLWZ1bGwgKGluaXRpYWxseQp0aGUgdG9wIHBhcnQp
IGRpc3BsYXllZCBhdCBhbnkgZ2l2ZW4gdGltZS4gIElmIHlvdSBtYWtlIGEgZmllbGQgZHlu
YW1pYwphbmQgZ3JvdyBpdCBzbyBpdCB3aWxsIG5vIGxvbmdlciBmaXQgb24gdGhlIHNjcmVl
biwgdGhlIGZvcm0gd2lsbCBiZWNvbWUKc2Nyb2xsYWJsZSBldmVuIGlmIHRoZSA8Q09ERT5v
ZmZzY3JlZW48L0NPREU+IGFyZ3VtZW50IHdhcyBpbml0aWFsbHkgemVyby4gPFA+CgpUaGUg
Zm9ybXMgbGlicmFyeSBhbGxvY2F0ZXMgb25lIHdvcmtpbmcgYnVmZmVyIHBlciBmaWVsZDsg
dGhlIHNpemUgb2YKZWFjaCBidWZmZXIgaXMgPENPREU+KChoZWlnaHQgKyBvZmZzY3JlZW4p
KndpZHRoICsgMTwvQ09ERT4sIG9uZSBjaGFyYWN0ZXIKZm9yIGVhY2ggcG9zaXRpb24gaW4g
dGhlIGZpZWxkIHBsdXMgYSBOVUwgdGVybWluYXRvci4gIFRoZSBzaXh0aAphcmd1bWVudCBp
cyB0aGUgbnVtYmVyIG9mIGFkZGl0aW9uYWwgZGF0YSBidWZmZXJzIHRvIGFsbG9jYXRlIGZv
ciB0aGUKZmllbGQ7IHlvdXIgYXBwbGljYXRpb24gY2FuIHVzZSB0aGVtIGZvciBpdHMgb3du
IHB1cnBvc2VzLgoKPFBSRT4KRklFTEQgKmR1cF9maWVsZChGSUVMRCAqZmllbGQsICAgICAg
ICAgICAgLyogZmllbGQgdG8gY29weSAqLwogICAgICAgICAgICAgICAgIGludCB0b3AsIGlu
dCBsZWZ0KTsgICAgICAvKiBsb2NhdGlvbiBvZiBuZXcgY29weSAqLwo8L1BSRT4KClRoZSBm
dW5jdGlvbiA8Q09ERT5kdXBfZmllbGQoKTwvQ09ERT4gZHVwbGljYXRlcyBhbiBleGlzdGlu
ZyBmaWVsZCBhdCBhCm5ldyBsb2NhdGlvbi4gIFNpemUgYW5kIGJ1ZmZlcmluZyBpbmZvcm1h
dGlvbiBhcmUgY29waWVkOyBzb21lCmF0dHJpYnV0ZSBmbGFncyBhbmQgc3RhdHVzIGJpdHMg
YXJlIG5vdCAoc2VlIHRoZQo8Q09ERT5mb3JtX2ZpZWxkX25ldygzWCk8L0NPREU+IGZvciBk
ZXRhaWxzKS4KCjxQUkU+CkZJRUxEICpsaW5rX2ZpZWxkKEZJRUxEICpmaWVsZCwgICAgICAg
ICAgIC8qIGZpZWxkIHRvIGNvcHkgKi8KICAgICAgICAgICAgICAgICAgaW50IHRvcCwgaW50
IGxlZnQpOyAgICAgLyogbG9jYXRpb24gb2YgbmV3IGNvcHkgKi8KPC9QUkU+CgpUaGUgZnVu
Y3Rpb24gPENPREU+bGlua19maWVsZCgpPC9DT0RFPiBhbHNvIGR1cGxpY2F0ZXMgYW4gZXhp
c3RpbmcgZmllbGQKYXQgYSBuZXcgbG9jYXRpb24uICBUaGUgZGlmZmVyZW5jZSBmcm9tIDxD
T0RFPmR1cF9maWVsZCgpPC9DT0RFPiBpcyB0aGF0Cml0IGFycmFuZ2VzIGZvciB0aGUgbmV3
IGZpZWxkJ3MgYnVmZmVyIHRvIGJlIHNoYXJlZCB3aXRoIHRoZSBvbGQgb25lLiA8UD4KCkJl
c2lkZXMgdGhlIG9idmlvdXMgdXNlIGluIG1ha2luZyBhIGZpZWxkIGVkaXRhYmxlIGZyb20g
dHdvIGRpZmZlcmVudApmb3JtIHBhZ2VzLCBsaW5rZWQgZmllbGRzIGdpdmUgeW91IGEgd2F5
IHRvIGhhY2sgaW4gZHluYW1pYyBsYWJlbHMuICBJZgp5b3UgZGVjbGFyZSBzZXZlcmFsIGZp
ZWxkcyBsaW5rZWQgdG8gYW4gb3JpZ2luYWwsIGFuZCB0aGVuIG1ha2UgdGhlbQppbmFjdGl2
ZSwgY2hhbmdlcyBmcm9tIHRoZSBvcmlnaW5hbCB3aWxsIHN0aWxsIGJlIHByb3BhZ2F0ZWQg
dG8gdGhlCmxpbmtlZCBmaWVsZHMuIDxQPgoKQXMgd2l0aCBkdXBsaWNhdGVkIGZpZWxkcywg
bGlua2VkIGZpZWxkcyBoYXZlIGF0dHJpYnV0ZSBiaXRzIHNlcGFyYXRlCmZyb20gdGhlIG9y
aWdpbmFsLiA8UD4KCkFzIHlvdSBtaWdodCBndWVzcywgYWxsIHRoZXNlIGZpZWxkLWFsbG9j
YXRpb25zIHJldHVybiA8Q09ERT5OVUxMPC9DT0RFPiBpZgp0aGUgZmllbGQgYWxsb2NhdGlv
biBpcyBub3QgcG9zc2libGUgZHVlIHRvIGFuIG91dC1vZi1tZW1vcnkgZXJyb3Igb3IKb3V0
LW9mLWJvdW5kcyBhcmd1bWVudHMuIDxQPgoKVG8gY29ubmVjdCBmaWVsZHMgdG8gYSBmb3Jt
LCB1c2UKCjxQUkU+CkZPUk0gKm5ld19mb3JtKEZJRUxEICoqZmllbGRzKTsKPC9QUkU+CgpU
aGlzIGZ1bmN0aW9uIGV4cGVjdHMgdG8gc2VlIGEgTlVMTC10ZXJtaW5hdGVkIGFycmF5IG9m
IGZpZWxkIHBvaW50ZXJzLgpTYWlkIGZpZWxkcyBhcmUgY29ubmVjdGVkIHRvIGEgbmV3bHkt
YWxsb2NhdGVkIGZvcm0gb2JqZWN0OyBpdHMgYWRkcmVzcwppcyByZXR1cm5lZCAob3IgZWxz
ZSBOVUxMIGlmIHRoZSBhbGxvY2F0aW9uIGZhaWxzKS4gICA8UD4KCk5vdGUgdGhhdCA8Q09E
RT5uZXdfZmllbGQoKTwvQ09ERT4gZG9lcyA8RU0+bm90PC9FTT4gY29weSB0aGUgcG9pbnRl
ciBhcnJheQppbnRvIHByaXZhdGUgc3RvcmFnZTsgaWYgeW91IG1vZGlmeSB0aGUgY29udGVu
dHMgb2YgdGhlIHBvaW50ZXIgYXJyYXkKZHVyaW5nIGZvcm1zIHByb2Nlc3NpbmcsIGFsbCBt
YW5uZXIgb2YgYml6YXJyZSB0aGluZ3MgbWlnaHQgaGFwcGVuLiAgQWxzbwpub3RlIHRoYXQg
YW55IGdpdmVuIGZpZWxkIG1heSBvbmx5IGJlIGNvbm5lY3RlZCB0byBvbmUgZm9ybS4gPFA+
CgpUaGUgZnVuY3Rpb25zIDxDT0RFPmZyZWVfZmllbGQoKTwvQ09ERT4gYW5kIDxDT0RFPmZy
ZWVfZm9ybTwvQ09ERT4gYXJlIGF2YWlsYWJsZQp0byBmcmVlIGZpZWxkIGFuZCBmb3JtIG9i
amVjdHMuICBJdCBpcyBhbiBlcnJvciB0byBhdHRlbXB0IHRvIGZyZWUgYSBmaWVsZApjb25u
ZWN0ZWQgdG8gYSBmb3JtLCBidXQgbm90IHZpY2UtdmVyc2E7IHRodXMsIHlvdSB3aWxsIGdl
bmVyYWxseSBmcmVlCnlvdXIgZm9ybSBvYmplY3RzIGZpcnN0LgoKPEgyPjxBIE5BTUU9ImZh
dHRyaWJ1dGVzIj5GZXRjaGluZyBhbmQgQ2hhbmdpbmcgRmllbGQgQXR0cmlidXRlczwvQT48
L0gyPgoKRWFjaCBmb3JtIGZpZWxkIGhhcyBhIG51bWJlciBvZiBsb2NhdGlvbiBhbmQgc2l6
ZSBhdHRyaWJ1dGVzCmFzc29jaWF0ZWQgd2l0aCBpdC4gVGhlcmUgYXJlIG90aGVyIGZpZWxk
IGF0dHJpYnV0ZXMgdXNlZCB0byBjb250cm9sCmRpc3BsYXkgYW5kIGVkaXRpbmcgb2YgdGhl
IGZpZWxkLiAgU29tZSAoZm9yIGV4YW1wbGUsIHRoZSA8Q09ERT5PX1NUQVRJQzwvQ09ERT4g
Yml0KQppbnZvbHZlIHN1ZmZpY2llbnQgY29tcGxpY2F0aW9ucyB0byBiZSBjb3ZlcmVkIGlu
IHNlY3Rpb25zIG9mIHRoZWlyIG93bgpsYXRlciBvbi4gIFdlIGNvdmVyIHRoZSBmdW5jdGlv
bnMgdXNlZCB0byBnZXQgYW5kIHNldCBzZXZlcmFsIGJhc2ljCmF0dHJpYnV0ZXMgaGVyZS4g
PFA+CgpXaGVuIGEgZmllbGQgaXMgY3JlYXRlZCwgdGhlIGF0dHJpYnV0ZXMgbm90IHNwZWNp
ZmllZCBieSB0aGUKPENPREU+bmV3X2ZpZWxkPC9DT0RFPiBmdW5jdGlvbiBhcmUgY29waWVk
IGZyb20gYW4gaW52aXNpYmxlIHN5c3RlbQpkZWZhdWx0IGZpZWxkLiAgSW4gYXR0cmlidXRl
LXNldHRpbmcgYW5kIC1mZXRjaGluZyBmdW5jdGlvbnMsIHRoZQphcmd1bWVudCBOVUxMIGlz
IHRha2VuIHRvIG1lYW4gdGhpcyBmaWVsZC4gIENoYW5nZXMgdG8gaXQgcGVyc2lzdAphcyBk
ZWZhdWx0cyB1bnRpbCB5b3VyIGZvcm1zIGFwcGxpY2F0aW9uIHRlcm1pbmF0ZXMuCgo8SDM+
PEEgTkFNRT0iZnNpemVzIj5GZXRjaGluZyBTaXplIGFuZCBMb2NhdGlvbiBEYXRhPC9BPjwv
SDM+CgpZb3UgY2FuIHJldHJpZXZlIGZpZWxkIHNpemVzIGFuZCBsb2NhdGlvbnMgdGhyb3Vn
aDoKCjxQUkU+CmludCBmaWVsZF9pbmZvKEZJRUxEICpmaWVsZCwgICAgICAgICAgICAgIC8q
IGZpZWxkIGZyb20gd2hpY2ggdG8gZmV0Y2ggKi8KICAgICAgICAgICAgICAgaW50ICpoZWln
aHQsICppbnQgd2lkdGgsICAgLyogZmllbGQgc2l6ZSAqLwogICAgICAgICAgICAgICBpbnQg
KnRvcCwgaW50ICpsZWZ0LCAgICAgICAvKiB1cHBlciBsZWZ0IGNvcm5lciAqLwogICAgICAg
ICAgICAgICBpbnQgKm9mZnNjcmVlbiwgICAgICAgICAgICAvKiBudW1iZXIgb2Ygb2Zmc2Ny
ZWVuIHJvd3MgKi8KICAgICAgICAgICAgICAgaW50ICpuYnVmKTsgICAgICAgICAgICAgICAg
LyogbnVtYmVyIG9mIHdvcmtpbmcgYnVmZmVycyAqLwo8L1BSRT4KClRoaXMgZnVuY3Rpb24g
aXMgYSBzb3J0IG9mIGludmVyc2Ugb2YgPENPREU+bmV3X2ZpZWxkKCk8L0NPREU+OyBpbnN0
ZWFkIG9mCnNldHRpbmcgc2l6ZSBhbmQgbG9jYXRpb24gYXR0cmlidXRlcyBvZiBhIG5ldyBm
aWVsZCwgaXQgZmV0Y2hlcyB0aGVtCmZyb20gYW4gZXhpc3Rpbmcgb25lLgoKPEgzPjxBIE5B
TUU9ImZsb2NhdGlvbiI+Q2hhbmdpbmcgdGhlIEZpZWxkIExvY2F0aW9uPC9BPjwvSDM+CgpJ
dCBpcyBwb3NzaWJsZSB0byBtb3ZlIGEgZmllbGQncyBsb2NhdGlvbiBvbiB0aGUgc2NyZWVu
OgoKPFBSRT4KaW50IG1vdmVfZmllbGQoRklFTEQgKmZpZWxkLCAgICAgICAgICAgICAgLyog
ZmllbGQgdG8gYWx0ZXIgKi8KICAgICAgICAgICAgICAgaW50IHRvcCwgaW50IGxlZnQpOyAg
ICAgICAgLyogbmV3IHVwcGVyLWxlZnQgY29ybmVyICovCjwvUFJFPgoKWW91IGNhbiwgb2Yg
Y291cnNlLiBxdWVyeSB0aGUgY3VycmVudCBsb2NhdGlvbiB0aHJvdWdoIDxDT0RFPmZpZWxk
X2luZm8oKTwvQ09ERT4uCgo8SDM+PEEgTkFNRT0iZmp1c3QiPlRoZSBKdXN0aWZpY2F0aW9u
IEF0dHJpYnV0ZTwvQT48L0gzPgoKT25lLWxpbmUgZmllbGRzIG1heSBiZSB1bmp1c3RpZmll
ZCwganVzdGlmaWVkIHJpZ2h0LCBqdXN0aWZpZWQgbGVmdCwKb3IgY2VudGVyZWQuICBIZXJl
IGlzIGhvdyB5b3UgbWFuaXB1bGF0ZSB0aGlzIGF0dHJpYnV0ZToKCjxQUkU+CmludCBzZXRf
ZmllbGRfanVzdChGSUVMRCAqZmllbGQsICAgICAgICAgIC8qIGZpZWxkIHRvIGFsdGVyICov
CiAgICAgICAgICAgICAgICAgICBpbnQganVzdG1vZGUpOyAgICAgICAgIC8qIG1vZGUgdG8g
c2V0ICovCgppbnQgZmllbGRfanVzdChGSUVMRCAqZmllbGQpOyAgICAgICAgICAgICAvKiBm
ZXRjaCBtb2RlIG9mIGZpZWxkICovCjwvUFJFPgoKVGhlIG1vZGUgdmFsdWVzIGFjY2VwdGVk
IGFuZCByZXR1cm5lZCBieSB0aGlzIGZ1bmN0aW9ucyBhcmUKcHJlcHJvY2Vzc29yIG1hY3Jv
cyA8Q09ERT5OT19KVVNUSUZJQ0FUSU9OPC9DT0RFPiwgPENPREU+SlVTVElGWV9SSUdIVDwv
Q09ERT4sCjxDT0RFPkpVU1RJRllfTEVGVDwvQ09ERT4sIG9yIDxDT0RFPkpVU1RJRllfQ0VO
VEVSPC9DT0RFPi4KCjxIMz48QSBOQU1FPSJmZGlzcGF0dHMiPkZpZWxkIERpc3BsYXkgQXR0
cmlidXRlczwvQT48L0gzPgoKRm9yIGVhY2ggZmllbGQsIHlvdSBjYW4gc2V0IGEgZm9yZWdy
b3VuZCBhdHRyaWJ1dGUgZm9yIGVudGVyZWQKY2hhcmFjdGVycywgYSBiYWNrZ3JvdW5kIGF0
dHJpYnV0ZSBmb3IgdGhlIGVudGlyZSBmaWVsZCwgYW5kIGEgcGFkCmNoYXJhY3RlciBmb3Ig
dGhlIHVuZmlsbGVkIHBvcnRpb24gb2YgdGhlIGZpZWxkLiAgWW91IGNhbiBhbHNvCmNvbnRy
b2wgcGFnaW5hdGlvbiBvZiB0aGUgZm9ybS4gPFA+CgpUaGlzIGdyb3VwIG9mIGZvdXIgZmll
bGQgYXR0cmlidXRlcyBjb250cm9scyB0aGUgdmlzdWFsIGFwcGVhcmFuY2UKb2YgdGhlIGZp
ZWxkIG9uIHRoZSBzY3JlZW4sIHdpdGhvdXQgYWZmZWN0aW5nIGluIGFueSB3YXkgdGhlIGRh
dGEKaW4gdGhlIGZpZWxkIGJ1ZmZlci4KCjxQUkU+CmludCBzZXRfZmllbGRfZm9yZShGSUVM
RCAqZmllbGQsICAgICAgICAgIC8qIGZpZWxkIHRvIGFsdGVyICovCiAgICAgICAgICAgICAg
ICAgICBjaHR5cGUgYXR0cik7ICAgICAgICAgIC8qIGF0dHJpYnV0ZSB0byBzZXQgKi8KCmNo
dHlwZSBmaWVsZF9mb3JlKEZJRUxEICpmaWVsZCk7ICAgICAgICAgIC8qIGZpZWxkIHRvIHF1
ZXJ5ICovCgppbnQgc2V0X2ZpZWxkX2JhY2soRklFTEQgKmZpZWxkLCAgICAgICAgICAvKiBm
aWVsZCB0byBhbHRlciAqLwogICAgICAgICAgICAgICAgICAgY2h0eXBlIGF0dHIpOyAgICAg
ICAgICAvKiBhdHRyaWJ1dGUgdG8gc2V0ICovCgpjaHR5cGUgZmllbGRfYmFjayhGSUVMRCAq
ZmllbGQpOyAgICAgICAgICAvKiBmaWVsZCB0byBxdWVyeSAqLwoKaW50IHNldF9maWVsZF9w
YWQoRklFTEQgKmZpZWxkLCAgICAgICAgICAgLyogZmllbGQgdG8gYWx0ZXIgKi8KICAgICAg
ICAgICAgICAgICBpbnQgcGFkKTsgICAgICAgICAgICAgICAgLyogcGFkIGNoYXJhY3RlciB0
byBzZXQgKi8KCmNodHlwZSBmaWVsZF9wYWQoRklFTEQgKmZpZWxkKTsKCmludCBzZXRfbmV3
X3BhZ2UoRklFTEQgKmZpZWxkLCAgICAgICAgICAgIC8qIGZpZWxkIHRvIGFsdGVyICovCiAg
ICAgICAgICAgICAgICAgaW50IGZsYWcpOyAgICAgICAgICAgICAgIC8qIFRSVUUgdG8gZm9y
Y2UgbmV3IHBhZ2UgKi8KCmNodHlwZSBuZXdfcGFnZShGSUVMRCAqZmllbGQpOyAgICAgICAg
ICAgIC8qIGZpZWxkIHRvIHF1ZXJ5ICovCjwvUFJFPgoKVGhlIGF0dHJpYnV0ZXMgc2V0IGFu
ZCByZXR1cm5lZCBieSB0aGUgZmlyc3QgZm91ciBmdW5jdGlvbnMgYXJlIG5vcm1hbAo8Q09E
RT5jdXJzZXMoM3gpPC9DT0RFPiBkaXNwbGF5IGF0dHJpYnV0ZSB2YWx1ZXMgKDxDT0RFPkFf
U1RBTkRPVVQ8L0NPREU+LAo8Q09ERT5BX0JPTEQ8L0NPREU+LCA8Q09ERT5BX1JFVkVSU0U8
L0NPREU+IGV0YykuCgpUaGUgcGFnZSBiaXQgb2YgYSBmaWVsZCBjb250cm9scyB3aGV0aGVy
IGl0IGlzIGRpc3BsYXllZCBhdCB0aGUgc3RhcnQgb2YKYSBuZXcgZm9ybSBzY3JlZW4uCgo8
SDM+PEEgTkFNRT0iZm9wdGlvbnMiPkZpZWxkIE9wdGlvbiBCaXRzPC9BPjwvSDM+CgpUaGVy
ZSBpcyBhbHNvIGEgbGFyZ2UgY29sbGVjdGlvbiBvZiBmaWVsZCBvcHRpb24gYml0cyB5b3Ug
Y2FuIHNldCB0byBjb250cm9sCnZhcmlvdXMgYXNwZWN0cyBvZiBmb3JtcyBwcm9jZXNzaW5n
LiAgWW91IGNhbiBtYW5pcHVsYXRlIHRoZW0gd2l0aCB0aGVzZQpmdW5jdGlvbnM6Cgo8UFJF
PgppbnQgc2V0X2ZpZWxkX29wdHMoRklFTEQgKmZpZWxkLCAgICAgICAgICAvKiBmaWVsZCB0
byBhbHRlciAqLwogICAgICAgICAgICAgICAgICAgaW50IGF0dHIpOyAgICAgICAgICAgICAv
KiBhdHRyaWJ1dGUgdG8gc2V0ICovCgppbnQgZmllbGRfb3B0c19vbihGSUVMRCAqZmllbGQs
ICAgICAgICAgICAvKiBmaWVsZCB0byBhbHRlciAqLwogICAgICAgICAgICAgICAgICBpbnQg
YXR0cik7ICAgICAgICAgICAgICAvKiBhdHRyaWJ1dGVzIHRvIHR1cm4gb24gKi8KCmludCBm
aWVsZF9vcHRzX29mZihGSUVMRCAqZmllbGQsICAgICAgICAgIC8qIGZpZWxkIHRvIGFsdGVy
ICovCiAgICAgICAgICAgICAgICAgICBpbnQgYXR0cik7ICAgICAgICAgICAgIC8qIGF0dHJp
YnV0ZXMgdG8gdHVybiBvZmYgKi8KCmludCBmaWVsZF9vcHRzKEZJRUxEICpmaWVsZCk7ICAg
ICAgICAgICAgIC8qIGZpZWxkIHRvIHF1ZXJ5ICovCjwvUFJFPgoKQnkgZGVmYXVsdCwgYWxs
IG9wdGlvbnMgYXJlIG9uLiAgSGVyZSBhcmUgdGhlIGF2YWlsYWJsZSBvcHRpb24gYml0czoK
PERMPgo8RFQ+IE9fVklTSUJMRQo8REQ+IENvbnRyb2xzIHdoZXRoZXIgdGhlIGZpZWxkIGlz
IHZpc2libGUgb24gdGhlIHNjcmVlbi4gIENhbiBiZSB1c2VkCmR1cmluZyBmb3JtIHByb2Nl
c3NpbmcgdG8gaGlkZSBvciBwb3AgdXAgZmllbGRzIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUK
b2YgcGFyZW50IGZpZWxkcy4KPERUPiBPX0FDVElWRQo8REQ+IENvbnRyb2xzIHdoZXRoZXIg
dGhlIGZpZWxkIGlzIGFjdGl2ZSBkdXJpbmcgZm9ybXMgcHJvY2Vzc2luZyAoaS5lLgp2aXNp
dGVkIGJ5IGZvcm0gbmF2aWdhdGlvbiBrZXlzKS4gIENhbiBiZSB1c2VkIHRvIG1ha2UgbGFi
ZWxzIG9yIGRlcml2ZWQKZmllbGRzIHdpdGggYnVmZmVyIHZhbHVlcyBhbHRlcmFibGUgYnkg
dGhlIGZvcm1zIGFwcGxpY2F0aW9uLCBub3QgdGhlIHVzZXIuCjxEVD4gT19QVUJMSUMKPERE
PiBDb250cm9scyB3aGV0aGVyIGRhdGEgaXMgZGlzcGxheWVkIGR1cmluZyBmaWVsZCBlbnRy
eS4gIElmIHRoaXMgb3B0aW9uIGlzCnR1cm5lZCBvZmYgb24gYSBmaWVsZCwgdGhlIGxpYnJh
cnkgd2lsbCBhY2NlcHQgYW5kIGVkaXQgZGF0YSBpbiB0aGF0IGZpZWxkLApidXQgaXQgd2ls
bCBub3QgYmUgZGlzcGxheWVkIGFuZCB0aGUgdmlzaWJsZSBmaWVsZCBjdXJzb3Igd2lsbCBu
b3QgbW92ZS4KWW91IGNhbiB0dXJuIG9mZiB0aGUgT19QVUJMSUMgYml0IHRvIGRlZmluZSBw
YXNzd29yZCBmaWVsZHMuCjxEVD4gT19FRElUCjxERD4gQ29udHJvbHMgd2hldGhlciB0aGUg
ZmllbGQncyBkYXRhIGNhbiBiZSBtb2RpZmllZC4gIFdoZW4gdGhpcyBvcHRpb24gaXMKb2Zm
LCBhbGwgZWRpdGluZyByZXF1ZXN0cyBleGNlcHQgPENPREU+UkVRX1BSRVZfQ0hPSUNFPC9D
T0RFPiBhbmQKPENPREU+UkVRX05FWFRfQ0hPSUNFPC9DT0RFPiB3aWxsIGZhaWwuICBTdWNo
IHJlYWQtb25seSBmaWVsZHMgbWF5IGJlIHVzZWZ1bCBmb3IKaGVscCBtZXNzYWdlcy4KPERU
PiBPX1dSQVAKPEREPiBDb250cm9scyB3b3JkLXdyYXBwaW5nIGluIG11bHRpLWxpbmUgZmll
bGRzLiAgTm9ybWFsbHksIHdoZW4gYW55CmNoYXJhY3RlciBvZiBhIChibGFuay1zZXBhcmF0
ZWQpIHdvcmQgcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IGxpbmUsIHRoZQplbnRp
cmUgd29yZCBpcyB3cmFwcGVkIHRvIHRoZSBuZXh0IGxpbmUgKGFzc3VtaW5nIHRoZXJlIGlz
IG9uZSkuICBXaGVuIHRoaXMKb3B0aW9uIGlzIG9mZiwgdGhlIHdvcmQgd2lsbCBiZSBzcGxp
dCBhY3Jvc3MgdGhlIGxpbmUgYnJlYWsuCjxEVD4gT19CTEFOSwo8REQ+IENvbnRyb2xzIGZp
ZWxkIGJsYW5raW5nLiAgV2hlbiB0aGlzIG9wdGlvbiBpcyBvbiwgZW50ZXJpbmcgYSBjaGFy
YWN0ZXIgYXQKdGhlIGZpcnN0IGZpZWxkIHBvc2l0aW9uIGVyYXNlcyB0aGUgZW50aXJlIGZp
ZWxkIChleGNlcHQgZm9yIHRoZSBqdXN0LWVudGVyZWQKY2hhcmFjdGVyKS4KPERUPiBPX0FV
VE9TS0lQCjxERD4gQ29udHJvbHMgYXV0b21hdGljIHNraXAgdG8gbmV4dCBmaWVsZCB3aGVu
IHRoaXMgb25lIGZpbGxzLiAgTm9ybWFsbHksCndoZW4gdGhlIGZvcm1zIHVzZXIgdHJpZXMg
dG8gdHlwZSBtb3JlIGRhdGEgaW50byBhIGZpZWxkIHRoYW4gd2lsbCBmaXQsCnRoZSBlZGl0
aW5nIGxvY2F0aW9uIGp1bXBzIHRvIG5leHQgZmllbGQuICBXaGVuIHRoaXMgb3B0aW9uIGlz
IG9mZiwgdGhlCnVzZXIncyBjdXJzb3Igd2lsbCBoYW5nIGF0IHRoZSBlbmQgb2YgdGhlIGZp
ZWxkLiAgVGhpcyBvcHRpb24gaXMgaWdub3JlZAppbiBkeW5hbWljIGZpZWxkcyB0aGF0IGhh
dmUgbm90IHJlYWNoZWQgdGhlaXIgc2l6ZSBsaW1pdC4KPERUPiBPX05VTExPSwo8REQ+IENv
bnRyb2xzIHdoZXRoZXIgPEEgSFJFRj0iI2Z2YWxpZGF0aW9uIj52YWxpZGF0aW9uPC9BPiBp
cyBhcHBsaWVkIHRvCmJsYW5rIGZpZWxkcy4gIE5vcm1hbGx5LCBpdCBpcyBub3Q7IHRoZSB1
c2VyIGNhbiBsZWF2ZSBhIGZpZWxkIGJsYW5rCndpdGhvdXQgaW52b2tpbmcgdGhlIHVzdWFs
IHZhbGlkYXRpb24gY2hlY2sgb24gZXhpdC4gIElmIHRoaXMgb3B0aW9uIGlzCm9mZiBvbiBh
IGZpZWxkLCBleGl0IGZyb20gaXQgd2lsbCBpbnZva2UgYSB2YWxpZGF0aW9uIGNoZWNrLgo8
RFQ+IE9fUEFTU09LCjxERD4gQ29udHJvbHMgd2hldGhlciB2YWxpZGF0aW9uIG9jY3VycyBv
biBldmVyeSBleGl0LCBvciBvbmx5IGFmdGVyCnRoZSBmaWVsZCBpcyBtb2RpZmllZC4gIE5v
cm1hbGx5IHRoZSBsYXR0ZXIgaXMgdHJ1ZS4gIFNldHRpbmcgT19QQVNTT0sKbWF5IGJlIHVz
ZWZ1bCBpZiB5b3VyIGZpZWxkJ3MgdmFsaWRhdGlvbiBmdW5jdGlvbiBtYXkgY2hhbmdlIGR1
cmluZwpmb3JtcyBwcm9jZXNzaW5nLgo8RFQ+IE9fU1RBVElDCjxERD4gQ29udHJvbHMgd2hl
dGhlciB0aGUgZmllbGQgaXMgZml4ZWQgdG8gaXRzIGluaXRpYWwgZGltZW5zaW9ucy4gIElm
IHlvdQp0dXJuIHRoaXMgb2ZmLCB0aGUgZmllbGQgYmVjb21lcyA8QSBIUkVGPSIjZmR5bmFt
aWMiPmR5bmFtaWM8L0E+IGFuZCB3aWxsCnN0cmV0Y2ggdG8gZml0IGVudGVyZWQgZGF0YS4K
PC9ETD4KCkEgZmllbGQncyBvcHRpb25zIGNhbm5vdCBiZSBjaGFuZ2VkIHdoaWxlIHRoZSBm
aWVsZCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuCkhvd2V2ZXIsIG9wdGlvbnMgbWF5IGJlIGNo
YW5nZWQgb24gcG9zdGVkIGZpZWxkcyB0aGF0IGFyZSBub3QgY3VycmVudC4gPFA+CgpUaGUg
b3B0aW9uIHZhbHVlcyBhcmUgYml0LW1hc2tzIGFuZCBjYW4gYmUgY29tcG9zZWQgd2l0aCBs
b2dpY2FsLW9yIGluCnRoZSBvYnZpb3VzIHdheS4KCjxIMj48QSBOQU1FPSJmc3RhdHVzIj5G
aWVsZCBTdGF0dXM8L0E+PC9IMj4KCkV2ZXJ5IGZpZWxkIGhhcyBhIHN0YXR1cyBmbGFnLCB3
aGljaCBpcyBzZXQgdG8gRkFMU0Ugd2hlbiB0aGUgZmllbGQgaXMKY3JlYXRlZCBhbmQgVFJV
RSB3aGVuIHRoZSB2YWx1ZSBpbiBmaWVsZCBidWZmZXIgMCBjaGFuZ2VzLiAgVGhpcyBmbGFn
IGNhbgpiZSBxdWVyaWVkIGFuZCBzZXQgZGlyZWN0bHk6Cgo8UFJFPgppbnQgc2V0X2ZpZWxk
X3N0YXR1cyhGSUVMRCAqZmllbGQsICAgICAgLyogZmllbGQgdG8gYWx0ZXIgKi8KICAgICAg
ICAgICAgICAgICAgIGludCBzdGF0dXMpOyAgICAgICAgIC8qIG1vZGUgdG8gc2V0ICovCgpp
bnQgZmllbGRfc3RhdHVzKEZJRUxEICpmaWVsZCk7ICAgICAgICAgLyogZmV0Y2ggbW9kZSBv
ZiBmaWVsZCAqLwo8L1BSRT4KClNldHRpbmcgdGhpcyBmbGFnIHVuZGVyIHByb2dyYW0gY29u
dHJvbCBjYW4gYmUgdXNlZnVsIGlmIHlvdSB1c2UgdGhlIHNhbWUKZm9ybSByZXBlYXRlZGx5
LCBsb29raW5nIGZvciBtb2RpZmllZCBmaWVsZHMgZWFjaCB0aW1lLiA8UD4KCkNhbGxpbmcg
PENPREU+ZmllbGRfc3RhdHVzKCk8L0NPREU+IG9uIGEgZmllbGQgbm90IGN1cnJlbnRseSBz
ZWxlY3RlZApmb3IgaW5wdXQgd2lsbCByZXR1cm4gYSBjb3JyZWN0IHZhbHVlLiAgQ2FsbGlu
ZyA8Q09ERT5maWVsZF9zdGF0dXMoKTwvQ09ERT4gb24gYQpmaWVsZCB0aGF0IGlzIGN1cnJl
bnRseSBzZWxlY3RlZCBmb3IgaW5wdXQgbWF5IG5vdCBuZWNlc3NhcmlseSBnaXZlIGEKY29y
cmVjdCBmaWVsZCBzdGF0dXMgdmFsdWUsIGJlY2F1c2UgZW50ZXJlZCBkYXRhIGlzbid0IG5l
Y2Vzc2FyaWx5IGNvcGllZCB0bwpidWZmZXIgemVybyBiZWZvcmUgdGhlIGV4aXQgdmFsaWRh
dGlvbiBjaGVjay4KClRvIGd1YXJhbnRlZSB0aGF0IHRoZSByZXR1cm5lZCBzdGF0dXMgdmFs
dWUgcmVmbGVjdHMgcmVhbGl0eSwgY2FsbAo8Q09ERT5maWVsZF9zdGF0dXMoKTwvQ09ERT4g
ZWl0aGVyICgxKSBpbiB0aGUgZmllbGQncyBleGl0IHZhbGlkYXRpb24gY2hlY2sKcm91dGlu
ZSwgKDIpIGZyb20gdGhlIGZpZWxkJ3Mgb3IgZm9ybSdzIGluaXRpYWxpemF0aW9uIG9yIHRl
cm1pbmF0aW9uCmhvb2tzLCBvciAoMykganVzdCBhZnRlciBhIDxDT0RFPlJFUV9WQUxJREFU
SU9OPC9DT0RFPiByZXF1ZXN0IGhhcyBiZWVuCnByb2Nlc3NlZCBieSB0aGUgZm9ybXMgZHJp
dmVyLgoKPEgyPjxBIE5BTUU9ImZ1c2VyIj5GaWVsZCBVc2VyIFBvaW50ZXI8L0E+PC9IMj4K
CkVhY2ggZmllbGQgc3RydWN0dXJlIGNvbnRhaW5zIG9uZSBjaGFyYWN0ZXIgcG9pbnRlciBz
bG90IHRoYXQgaXMgbm90IHVzZWQKYnkgdGhlIGZvcm1zIGxpYnJhcnkuICBJdCBpcyBpbnRl
bmRlZCB0byBiZSB1c2VkIGJ5IGFwcGxpY2F0aW9ucyB0byBzdG9yZQpwcml2YXRlIHBlci1m
aWVsZCBkYXRhLiAgWW91IGNhbiBtYW5pcHVsYXRlIGl0IHdpdGg6Cgo8UFJFPgppbnQgc2V0
X2ZpZWxkX3VzZXJwdHIoRklFTEQgKmZpZWxkLCAgICAgICAvKiBmaWVsZCB0byBhbHRlciAq
LwogICAgICAgICAgICAgICAgICAgY2hhciAqdXNlcnB0cik7ICAgICAgICAvKiBtb2RlIHRv
IHNldCAqLwoKY2hhciAqZmllbGRfdXNlcnB0cihGSUVMRCAqZmllbGQpOyAgICAgICAgLyog
ZmV0Y2ggbW9kZSBvZiBmaWVsZCAqLwo8L1BSRT4KCihQcm9wZXJseSwgdGhpcyB1c2VyIHBv
aW50ZXIgZmllbGQgb3VnaHQgdG8gaGF2ZSA8Q09ERT4odm9pZCAqKTwvQ09ERT4gdHlwZS4K
VGhlIDxDT0RFPihjaGFyICopPC9DT0RFPiB0eXBlIGlzIHJldGFpbmVkIGZvciBTeXN0ZW0g
ViBjb21wYXRpYmlsaXR5LikgPFA+CgpJdCBpcyB2YWxpZCB0byBzZXQgdGhlIHVzZXIgcG9p
bnRlciBvZiB0aGUgZGVmYXVsdCBmaWVsZCAod2l0aCBhCjxDT0RFPnNldF9maWVsZF91c2Vy
cHRyKCk8L0NPREU+IGNhbGwgcGFzc2VkIGEgTlVMTCBmaWVsZCBwb2ludGVyLikKV2hlbiBh
IG5ldyBmaWVsZCBpcyBjcmVhdGVkLCB0aGUgZGVmYXVsdC1maWVsZCB1c2VyIHBvaW50ZXIg
aXMgY29waWVkCnRvIGluaXRpYWxpemUgdGhlIG5ldyBmaWVsZCdzIHVzZXIgcG9pbnRlci4K
CjxIMj48QSBOQU1FPSJmZHluYW1pYyI+VmFyaWFibGUtU2l6ZWQgRmllbGRzPC9BPjwvSDI+
CgpOb3JtYWxseSwgYSBmaWVsZCBpcyBmaXhlZCBhdCB0aGUgc2l6ZSBzcGVjaWZpZWQgZm9y
IGl0IGF0IGNyZWF0aW9uCnRpbWUuICBJZiwgaG93ZXZlciwgeW91IHR1cm4gb2ZmIGl0cyBP
X1NUQVRJQyBiaXQsIGl0IGJlY29tZXMKPERGTj5keW5hbWljPC9ERk4+IGFuZCB3aWxsIGF1
dG9tYXRpY2FsbHkgcmVzaXplIGl0c2VsZiB0byBhY2NvbW1vZGF0ZQpkYXRhIGFzIGl0IGlz
IGVudGVyZWQuICBJZiB0aGUgZmllbGQgaGFzIGV4dHJhIGJ1ZmZlcnMgYXNzb2NpYXRlZCB3
aXRoIGl0LAp0aGV5IHdpbGwgZ3JvdyByaWdodCBhbG9uZyB3aXRoIHRoZSBtYWluIGlucHV0
IGJ1ZmZlci4gIDxQPgoKQSBvbmUtbGluZSBkeW5hbWljIGZpZWxkIHdpbGwgaGF2ZSBhIGZp
eGVkIGhlaWdodCAoMSkgYnV0IHZhcmlhYmxlCndpZHRoLCBzY3JvbGxpbmcgaG9yaXpvbnRh
bGx5IHRvIGRpc3BsYXkgZGF0YSB3aXRoaW4gdGhlIGZpZWxkIGFyZWEgYXMKb3JpZ2luYWxs
eSBkaW1lbnNpb25lZCBhbmQgbG9jYXRlZC4gIEEgbXVsdGktbGluZSBkeW5hbWljIGZpZWxk
IHdpbGwKaGF2ZSBhIGZpeGVkIHdpZHRoLCBidXQgdmFyaWFibGUgaGVpZ2h0IChudW1iZXIg
b2Ygcm93cyksIHNjcm9sbGluZwp2ZXJ0aWNhbGx5IHRvIGRpc3BsYXkgZGF0YSB3aXRoaW4g
dGhlIGZpZWxkIGFyZWEgYXMgb3JpZ2luYWxseQpkaW1lbnNpb25lZCBhbmQgbG9jYXRlZC4g
PFA+CgpOb3JtYWxseSwgYSBkeW5hbWljIGZpZWxkIGlzIGFsbG93ZWQgdG8gZ3JvdyB3aXRo
b3V0IGxpbWl0LiAgQnV0IGl0IGlzCnBvc3NpYmxlIHRvIHNldCBhbiB1cHBlciBsaW1pdCBv
biB0aGUgc2l6ZSBvZiBhIGR5bmFtaWMgZmllbGQuICBZb3UgZG8KaXQgd2l0aCB0aGlzIGZ1
bmN0aW9uOgoKPFBSRT4KaW50IHNldF9tYXhfZmllbGQoRklFTEQgKmZpZWxkLCAgICAgLyog
ZmllbGQgdG8gYWx0ZXIgKG1heSBub3QgYmUgTlVMTCkgKi8KICAgICAgICAgICAgICAgICAg
IGludCBtYXhfc2l6ZSk7ICAgLyogdXBwZXIgbGltaXQgb24gZmllbGQgc2l6ZSAqLwo8L1BS
RT4KCklmIHRoZSBmaWVsZCBpcyBvbmUtbGluZSwgPENPREU+bWF4X3NpemU8L0NPREU+IGlz
IHRha2VuIHRvIGJlIGEgY29sdW1uIHNpemUKbGltaXQ7IGlmIGl0IGlzIG11bHRpLWxpbmUs
IGl0IGlzIHRha2VuIHRvIGJlIGEgbGluZSBzaXplIGxpbWl0LiAgVG8gZGlzYWJsZQphbnkg
bGltaXQsIHVzZSBhbiBhcmd1bWVudCBvZiB6ZXJvLiAgVGhlIGdyb3d0aCBsaW1pdCBjYW4g
YmUgY2hhbmdlZCB3aGV0aGVyCm9yIG5vdCB0aGUgT19TVEFUSUMgYml0IGlzIG9uLCBidXQg
aGFzIG5vIGVmZmVjdCB1bnRpbCBpdCBpcy4gPFA+CgpUaGUgZm9sbG93aW5nIHByb3BlcnRp
ZXMgb2YgYSBmaWVsZCBjaGFuZ2Ugd2hlbiBpdCBiZWNvbWVzIGR5bmFtaWM6Cgo8VUw+CjxM
ST5JZiB0aGVyZSBpcyBubyBncm93dGggbGltaXQsIHRoZXJlIGlzIG5vIGZpbmFsIHBvc2l0
aW9uIG9mIHRoZSBmaWVsZDsKdGhlcmVmb3JlIDxDT0RFPk9fQVVUT1NLSVA8L0NPREU+IGFu
ZCA8Q09ERT5PX05MX09WRVJMT0FEPC9DT0RFPiBhcmUgaWdub3JlZC4KPExJPkZpZWxkIGp1
c3RpZmljYXRpb24gd2lsbCBiZSBpZ25vcmVkICh0aG91Z2ggd2hhdGV2ZXIganVzdGlmaWNh
dGlvbiBpcwpzZXQgdXAgd2lsbCBiZSByZXRhaW5lZCBpbnRlcm5hbGx5IGFuZCBjYW4gYmUg
cXVlcmllZCkuCjxMST5UaGUgPENPREU+ZHVwX2ZpZWxkKCk8L0NPREU+IGFuZCA8Q09ERT5s
aW5rX2ZpZWxkKCk8L0NPREU+IGNhbGxzIGNvcHkKZHluYW1pYy1idWZmZXIgc2l6ZXMuICBJ
ZiB0aGUgPENPREU+T19TVEFUSUM8L0NPREU+IG9wdGlvbiBpcyBzZXQgb24gb25lIG9mIGEK
Y29sbGVjdGlvbiBvZiBsaW5rcywgYnVmZmVyIHJlc2l6aW5nIHdpbGwgb2NjdXIgb25seSB3
aGVuIHRoZSBmaWVsZCBpcwplZGl0ZWQgdGhyb3VnaCB0aGF0IGxpbmsuCjxMST5UaGUgY2Fs
bCA8Q09ERT5maWVsZF9pbmZvKCk8L0NPREU+IHdpbGwgcmV0cmlldmUgdGhlIG9yaWdpbmFs
IHN0YXRpYyBzaXplIG9mCnRoZSBmaWVsZDsgdXNlIDxDT0RFPmR5bmFtaWNfZmllbGRfaW5m
bygpPC9DT0RFPiB0byBnZXQgdGhlIGFjdHVhbCBkeW5hbWljIHNpemUuCjwvVUw+Cgo8SDI+
PEEgTkFNRT0iZnZhbGlkYXRpb24iPkZpZWxkIFZhbGlkYXRpb248L0E+PC9IMj4KCkJ5IGRl
ZmF1bHQsIGEgZmllbGQgd2lsbCBhY2NlcHQgYW55IGRhdGEgdGhhdCB3aWxsIGZpdCBpbiBp
dHMgaW5wdXQgYnVmZmVyLgpIb3dldmVyLCBpdCBpcyBwb3NzaWJsZSB0byBhdHRhY2ggYSB2
YWxpZGF0aW9uIHR5cGUgdG8gYSBmaWVsZC4gIElmIHlvdSBkbwp0aGlzLCBhbnkgYXR0ZW1w
dCB0byBsZWF2ZSB0aGUgZmllbGQgd2hpbGUgaXQgY29udGFpbnMgZGF0YSB0aGF0IGRvZXNu
J3QKbWF0Y2ggdGhlIHZhbGlkYXRpb24gdHlwZSB3aWxsIGZhaWwuICBTb21lIHZhbGlkYXRp
b24gdHlwZXMgYWxzbyBoYXZlIGEKY2hhcmFjdGVyLXZhbGlkaXR5IGNoZWNrIGZvciBlYWNo
IHRpbWUgYSBjaGFyYWN0ZXIgaXMgZW50ZXJlZCBpbiB0aGUgZmllbGQuIDxQPgoKQSBmaWVs
ZCdzIHZhbGlkYXRpb24gY2hlY2sgKGlmIGFueSkgaXMgbm90IGNhbGxlZCB3aGVuCjxDT0RF
PnNldF9maWVsZF9idWZmZXIoKTwvQ09ERT4gbW9kaWZpZXMgdGhlIGlucHV0IGJ1ZmZlciwg
bm9yIHdoZW4gdGhhdCBidWZmZXIKaXMgY2hhbmdlZCB0aHJvdWdoIGEgbGlua2VkIGZpZWxk
LiA8UD4KClRoZSA8Q09ERT5mb3JtPC9DT0RFPiBsaWJyYXJ5IHByb3ZpZGVzIGEgcmljaCBz
ZXQgb2YgcHJlLWRlZmluZWQgdmFsaWRhdGlvbgp0eXBlcywgYW5kIGdpdmVzIHlvdSB0aGUg
Y2FwYWJpbGl0eSB0byBkZWZpbmUgY3VzdG9tIG9uZXMgb2YgeW91ciBvd24uICBZb3UKY2Fu
IGV4YW1pbmUgYW5kIGNoYW5nZSBmaWVsZCB2YWxpZGF0aW9uIGF0dHJpYnV0ZXMgd2l0aCB0
aGUgZm9sbG93aW5nCmZ1bmN0aW9uczoKCjxQUkU+CmludCBzZXRfZmllbGRfdHlwZShGSUVM
RCAqZmllbGQsICAgICAgICAgIC8qIGZpZWxkIHRvIGFsdGVyICovCiAgICAgICAgICAgICAg
ICAgICBGSUVMRFRZUEUgKmZ0eXBlLCAgICAgIC8qIHR5cGUgdG8gYXNzb2NpYXRlICovCiAg
ICAgICAgICAgICAgICAgICAuLi4pOyAgICAgICAgICAgICAgICAgIC8qIGFkZGl0aW9uYWwg
YXJndW1lbnRzKi8KCkZJRUxEVFlQRSAqZmllbGRfdHlwZShGSUVMRCAqZmllbGQpOyAgICAg
IC8qIGZpZWxkIHRvIHF1ZXJ5ICovCjwvUFJFPgoKVGhlIHZhbGlkYXRpb24gdHlwZSBvZiBh
IGZpZWxkIGlzIGNvbnNpZGVyZWQgYW4gYXR0cmlidXRlIG9mIHRoZSBmaWVsZC4gIEFzCndp
dGggb3RoZXIgZmllbGQgYXR0cmlidXRlcywgQWxzbywgZG9pbmcgPENPREU+c2V0X2ZpZWxk
X3R5cGUoKTwvQ09ERT4gd2l0aCBhCjxDT0RFPk5VTEw8L0NPREU+IGZpZWxkIGRlZmF1bHQg
d2lsbCBjaGFuZ2UgdGhlIHN5c3RlbSBkZWZhdWx0IGZvciB2YWxpZGF0aW9uIG9mCm5ld2x5
LWNyZWF0ZWQgZmllbGRzLiA8UD4KCkhlcmUgYXJlIHRoZSBwcmUtZGVmaW5lZCB2YWxpZGF0
aW9uIHR5cGVzOgoKPEgzPjxBIE5BTUU9ImZ0eXBlX2FscGhhIj5UWVBFX0FMUEhBPC9BPjwv
SDM+CgpUaGlzIGZpZWxkIHR5cGUgYWNjZXB0cyBhbHBoYWJldGljIGRhdGE7IG5vIGJsYW5r
cywgbm8gZGlnaXRzLCBubyBzcGVjaWFsCmNoYXJhY3RlcnMgKHRoaXMgaXMgY2hlY2tlZCBh
dCBjaGFyYWN0ZXItZW50cnkgdGltZSkuICBJdCBpcyBzZXQgdXAgd2l0aDoKCjxQUkU+Cmlu
dCBzZXRfZmllbGRfdHlwZShGSUVMRCAqZmllbGQsICAgICAgICAgIC8qIGZpZWxkIHRvIGFs
dGVyICovCiAgICAgICAgICAgICAgICAgICBUWVBFX0FMUEhBLCAgICAgICAgICAgIC8qIHR5
cGUgdG8gYXNzb2NpYXRlICovCiAgICAgICAgICAgICAgICAgICBpbnQgd2lkdGgpOyAgICAg
ICAgICAgIC8qIG1heGltdW0gd2lkdGggb2YgZmllbGQgKi8KPC9QUkU+CgpUaGUgPENPREU+
d2lkdGg8L0NPREU+IGFyZ3VtZW50IHNldHMgYSBtaW5pbXVtIHdpZHRoIG9mIGRhdGEuICBU
eXBpY2FsbHkKeW91J2xsIHdhbnQgdG8gc2V0IHRoaXMgdG8gdGhlIGZpZWxkIHdpZHRoOyBp
ZiBpdCdzIGdyZWF0ZXIgdGhhbiB0aGUKZmllbGQgd2lkdGgsIHRoZSB2YWxpZGF0aW9uIGNo
ZWNrIHdpbGwgYWx3YXlzIGZhaWwuICBBIG1pbmltdW0gd2lkdGgKb2YgemVybyBtYWtlcyBm
aWVsZCBjb21wbGV0aW9uIG9wdGlvbmFsLgoKPEgzPjxBIE5BTUU9ImZ0eXBlX2FsbnVtIj5U
WVBFX0FMTlVNPC9BPjwvSDM+CgpUaGlzIGZpZWxkIHR5cGUgYWNjZXB0cyBhbHBoYWJldGlj
IGRhdGEgYW5kIGRpZ2l0czsgbm8gYmxhbmtzLCBubyBzcGVjaWFsCmNoYXJhY3RlcnMgKHRo
aXMgaXMgY2hlY2tlZCBhdCBjaGFyYWN0ZXItZW50cnkgdGltZSkuICBJdCBpcyBzZXQgdXAg
d2l0aDoKCjxQUkU+CmludCBzZXRfZmllbGRfdHlwZShGSUVMRCAqZmllbGQsICAgICAgICAg
IC8qIGZpZWxkIHRvIGFsdGVyICovCiAgICAgICAgICAgICAgICAgICBUWVBFX0FMTlVNLCAg
ICAgICAgICAgIC8qIHR5cGUgdG8gYXNzb2NpYXRlICovCiAgICAgICAgICAgICAgICAgICBp
bnQgd2lkdGgpOyAgICAgICAgICAgIC8qIG1heGltdW0gd2lkdGggb2YgZmllbGQgKi8KPC9Q
UkU+CgpUaGUgPENPREU+d2lkdGg8L0NPREU+IGFyZ3VtZW50IHNldHMgYSBtaW5pbXVtIHdp
ZHRoIG9mIGRhdGEuICBBcyB3aXRoClRZUEVfQUxQSEEsIHR5cGljYWxseSB5b3UnbGwgd2Fu
dCB0byBzZXQgdGhpcyB0byB0aGUgZmllbGQgd2lkdGg7IGlmIGl0J3MKZ3JlYXRlciB0aGFu
IHRoZSBmaWVsZCB3aWR0aCwgdGhlIHZhbGlkYXRpb24gY2hlY2sgd2lsbCBhbHdheXMgZmFp
bC4gIEEKbWluaW11bSB3aWR0aCBvZiB6ZXJvIG1ha2VzIGZpZWxkIGNvbXBsZXRpb24gb3B0
aW9uYWwuCgo8SDM+PEEgTkFNRT0iZnR5cGVfZW51bSI+VFlQRV9FTlVNPC9BPjwvSDM+CgpU
aGlzIHR5cGUgYWxsb3dzIHlvdSB0byByZXN0cmljdCBhIGZpZWxkJ3MgdmFsdWVzIHRvIGJl
IGFtb25nIGEgc3BlY2lmaWVkCnNldCBvZiBzdHJpbmcgdmFsdWVzIChmb3IgZXhhbXBsZSwg
dGhlIHR3by1sZXR0ZXIgcG9zdGFsIGNvZGVzIGZvciBVLlMuCnN0YXRlcykuICBJdCBpcyBz
ZXQgdXAgd2l0aDoKCjxQUkU+CmludCBzZXRfZmllbGRfdHlwZShGSUVMRCAqZmllbGQsICAg
ICAgICAgIC8qIGZpZWxkIHRvIGFsdGVyICovCiAgICAgICAgICAgICAgICAgICBUWVBFX0VO
VU0sICAgICAgICAgICAgIC8qIHR5cGUgdG8gYXNzb2NpYXRlICovCiAgICAgICAgICAgICAg
ICAgICBjaGFyICoqdmFsdWVsaXN0OyAgICAgIC8qIGxpc3Qgb2YgcG9zc2libGUgdmFsdWVz
ICovCiAgICAgICAgICAgICAgICAgICBpbnQgY2hlY2tjYXNlOyAgICAgICAgIC8qIGNhc2Ut
c2Vuc2l0aXZlPyAqLwogICAgICAgICAgICAgICAgICAgaW50IGNoZWNrdW5pcXVlKTsgICAg
ICAvKiBtdXN0IHNwZWNpZnkgdW5pcXVlbHk/ICovCjwvUFJFPgoKVGhlIDxDT0RFPnZhbHVl
bGlzdDwvQ09ERT4gcGFyYW1ldGVyIG11c3QgcG9pbnQgYXQgYSBOVUxMLXRlcm1pbmF0ZWQg
bGlzdCBvZgp2YWxpZCBzdHJpbmdzLiAgVGhlIDxDT0RFPmNoZWNrY2FzZTwvQ09ERT4gYXJn
dW1lbnQsIGlmIHRydWUsIG1ha2VzIGNvbXBhcmlzb24Kd2l0aCB0aGUgc3RyaW5nIGNhc2Ut
c2Vuc2l0aXZlLiA8UD4KCldoZW4gdGhlIHVzZXIgZXhpdHMgYSBUWVBFX0VOVU0gZmllbGQs
IHRoZSB2YWxpZGF0aW9uIHByb2NlZHVyZSB0cmllcyB0bwpjb21wbGV0ZSB0aGUgZGF0YSBp
biB0aGUgYnVmZmVyIHRvIGEgdmFsaWQgZW50cnkuICBJZiBhIGNvbXBsZXRlIGNob2ljZSBz
dHJpbmcKaGFzIGJlZW4gZW50ZXJlZCwgaXQgaXMgb2YgY291cnNlIHZhbGlkLiAgQnV0IGl0
IGlzIGFsc28gcG9zc2libGUgdG8gZW50ZXIgYQpwcmVmaXggb2YgYSB2YWxpZCBzdHJpbmcg
YW5kIGhhdmUgaXQgY29tcGxldGVkIGZvciB5b3UuIDxQPgoKQnkgZGVmYXVsdCwgaWYgeW91
IGVudGVyIHN1Y2ggYSBwcmVmaXggYW5kIGl0IG1hdGNoZXMgbW9yZSB0aGFuIG9uZSB2YWx1
ZQppbiB0aGUgc3RyaW5nIGxpc3QsIHRoZSBwcmVmaXggd2lsbCBiZSBjb21wbGV0ZWQgdG8g
dGhlIGZpcnN0IG1hdGNoaW5nCnZhbHVlLiAgQnV0IHRoZSA8Q09ERT5jaGVja3VuaXF1ZTwv
Q09ERT4gYXJndW1lbnQsIGlmIHRydWUsIHJlcXVpcmVzIHByZWZpeAptYXRjaGVzIHRvIGJl
IHVuaXF1ZSBpbiBvcmRlciB0byBiZSB2YWxpZC4gPFA+CgpUaGUgPENPREU+UkVRX05FWFRf
Q0hPSUNFPC9DT0RFPiBhbmQgPENPREU+UkVRX1BSRVZfQ0hPSUNFPC9DT0RFPiBpbnB1dCBy
ZXF1ZXN0cwpjYW4gYmUgcGFydGljdWxhcmx5IHVzZWZ1bCB3aXRoIHRoZXNlIGZpZWxkcy4K
CjxIMz48QSBOQU1FPSJmdHlwZV9pbnRlZ2VyIj5UWVBFX0lOVEVHRVI8L0E+PC9IMz4KClRo
aXMgZmllbGQgdHlwZSBhY2NlcHRzIGFuIGludGVnZXIuICBJdCBpcyBzZXQgdXAgYXMgZm9s
bG93czoKCjxQUkU+CmludCBzZXRfZmllbGRfdHlwZShGSUVMRCAqZmllbGQsICAgICAgICAg
IC8qIGZpZWxkIHRvIGFsdGVyICovCiAgICAgICAgICAgICAgICAgICBUWVBFX0lOVEVHRVIs
ICAgICAgICAgIC8qIHR5cGUgdG8gYXNzb2NpYXRlICovCiAgICAgICAgICAgICAgICAgICBp
bnQgcGFkZGluZywgICAgICAgICAgIC8qICMgcGxhY2VzIHRvIHplcm8tcGFkIHRvICovCiAg
ICAgICAgICAgICAgICAgICBpbnQgdm1pbiwgaW50IHZtYXgpOyAgIC8qIHZhbGlkIHJhbmdl
ICovCjwvUFJFPgoKVmFsaWQgY2hhcmFjdGVycyBjb25zaXN0IG9mIGFuIG9wdGlvbmFsIGxl
YWRpbmcgbWludXMgYW5kIGRpZ2l0cy4KVGhlIHJhbmdlIGNoZWNrIGlzIHBlcmZvcm1lZCBv
biBleGl0LiAgSWYgdGhlIHJhbmdlIG1heGltdW0gaXMgbGVzcwp0aGFuIG9yIGVxdWFsIHRv
IHRoZSBtaW5pbXVtLCB0aGUgcmFuZ2UgaXMgaWdub3JlZC4gPFA+CgpJZiB0aGUgdmFsdWUg
cGFzc2VzIGl0cyByYW5nZSBjaGVjaywgaXQgaXMgcGFkZGVkIHdpdGggYXMgbWFueSBsZWFk
aW5nCnplcm8gZGlnaXRzIGFzIG5lY2Vzc2FyeSB0byBtZWV0IHRoZSBwYWRkaW5nIGFyZ3Vt
ZW50LiA8UD4KCkEgPENPREU+VFlQRV9JTlRFR0VSPC9DT0RFPiB2YWx1ZSBidWZmZXIgY2Fu
IGNvbnZlbmllbnRseSBiZSBpbnRlcnByZXRlZAp3aXRoIHRoZSBDIGxpYnJhcnkgZnVuY3Rp
b24gPENPREU+YXRvaSgzKTwvQ09ERT4uCgo8SDM+PEEgTkFNRT0iZnR5cGVfbnVtZXJpYyI+
VFlQRV9OVU1FUklDPC9BPjwvSDM+CgpUaGlzIGZpZWxkIHR5cGUgYWNjZXB0cyBhIGRlY2lt
YWwgbnVtYmVyLiAgSXQgaXMgc2V0IHVwIGFzIGZvbGxvd3M6Cgo8UFJFPgppbnQgc2V0X2Zp
ZWxkX3R5cGUoRklFTEQgKmZpZWxkLCAgICAgICAgICAgICAgLyogZmllbGQgdG8gYWx0ZXIg
Ki8KICAgICAgICAgICAgICAgICAgIFRZUEVfTlVNRVJJQywgICAgICAgICAgICAgIC8qIHR5
cGUgdG8gYXNzb2NpYXRlICovCiAgICAgICAgICAgICAgICAgICBpbnQgcGFkZGluZywgICAg
ICAgICAgICAgICAvKiAjIHBsYWNlcyBvZiBwcmVjaXNpb24gKi8KICAgICAgICAgICAgICAg
ICAgIGRvdWJsZSB2bWluLCBkb3VibGUgdm1heCk7IC8qIHZhbGlkIHJhbmdlICovCjwvUFJF
PgoKVmFsaWQgY2hhcmFjdGVycyBjb25zaXN0IG9mIGFuIG9wdGlvbmFsIGxlYWRpbmcgbWlu
dXMgYW5kIGRpZ2l0cy4gcG9zc2libHkKaW5jbHVkaW5nIGEgZGVjaW1hbCBwb2ludC4gSWYg
eW91ciBzeXN0ZW0gc3VwcG9ydHMgbG9jYWxlJ3MsIHRoZSBkZWNpbWFsIHBvaW50CmNoYXJh
Y3RlciB1c2VkIG11c3QgYmUgdGhlIG9uZSBkZWZpbmVkIGJ5IHlvdXIgbG9jYWxlLiBUaGUg
cmFuZ2UgY2hlY2sgaXMKcGVyZm9ybWVkIG9uIGV4aXQuIElmIHRoZSByYW5nZSBtYXhpbXVt
IGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byB0aGUgbWluaW11bSwKdGhlIHJhbmdlIGlzIGln
bm9yZWQuIDxQPgoKSWYgdGhlIHZhbHVlIHBhc3NlcyBpdHMgcmFuZ2UgY2hlY2ssIGl0IGlz
IHBhZGRlZCB3aXRoIGFzIG1hbnkgdHJhaWxpbmcKemVybyBkaWdpdHMgYXMgbmVjZXNzYXJ5
IHRvIG1lZXQgdGhlIHBhZGRpbmcgYXJndW1lbnQuIDxQPgoKQSA8Q09ERT5UWVBFX05VTUVS
SUM8L0NPREU+IHZhbHVlIGJ1ZmZlciBjYW4gY29udmVuaWVudGx5IGJlIGludGVycHJldGVk
CndpdGggdGhlIEMgbGlicmFyeSBmdW5jdGlvbiA8Q09ERT5hdG9mKDMpPC9DT0RFPi4KCjxI
Mz48QSBOQU1FPSJmdHlwZV9yZWdleHAiPlRZUEVfUkVHRVhQPC9BPjwvSDM+CgpUaGlzIGZp
ZWxkIHR5cGUgYWNjZXB0cyBkYXRhIG1hdGNoaW5nIGEgcmVndWxhciBleHByZXNzaW9uLiAg
SXQgaXMgc2V0IHVwCmFzIGZvbGxvd3M6Cgo8UFJFPgppbnQgc2V0X2ZpZWxkX3R5cGUoRklF
TEQgKmZpZWxkLCAgICAgICAgICAvKiBmaWVsZCB0byBhbHRlciAqLwogICAgICAgICAgICAg
ICAgICAgVFlQRV9SRUdFWFAsICAgICAgICAgICAvKiB0eXBlIHRvIGFzc29jaWF0ZSAqLwog
ICAgICAgICAgICAgICAgICAgY2hhciAqcmVnZXhwKTsgICAgICAgICAvKiBleHByZXNzaW9u
IHRvIG1hdGNoICovCjwvUFJFPgoKVGhlIHN5bnRheCBmb3IgcmVndWxhciBleHByZXNzaW9u
cyBpcyB0aGF0IG9mIDxDT0RFPnJlZ2NvbXAoMyk8L0NPREU+LgpUaGUgY2hlY2sgZm9yIHJl
Z3VsYXItZXhwcmVzc2lvbiBtYXRjaCBpcyBwZXJmb3JtZWQgb24gZXhpdC4KCjxIMj48QSBO
QU1FPSJmYnVmZmVyIj5EaXJlY3QgRmllbGQgQnVmZmVyIE1hbmlwdWxhdGlvbjwvQT48L0gy
PgoKVGhlIGNoaWVmIGF0dHJpYnV0ZSBvZiBhIGZpZWxkIGlzIGl0cyBidWZmZXIgY29udGVu
dHMuICBXaGVuIGEgZm9ybSBoYXMKYmVlbiBjb21wbGV0ZWQsIHlvdXIgYXBwbGljYXRpb24g
dXN1YWxseSBuZWVkcyB0byBrbm93IHRoZSBzdGF0ZSBvZiBlYWNoCmZpZWxkIGJ1ZmZlci4g
IFlvdSBjYW4gZmluZCB0aGlzIG91dCB3aXRoOgoKPFBSRT4KY2hhciAqZmllbGRfYnVmZmVy
KEZJRUxEICpmaWVsZCwgICAgICAgICAgLyogZmllbGQgdG8gcXVlcnkgKi8KICAgICAgICAg
ICAgICAgICAgIGludCBidWZpbmRleCk7ICAgICAgICAgLyogbnVtYmVyIG9mIGJ1ZmZlciB0
byBxdWVyeSAqLwo8L1BSRT4KCk5vcm1hbGx5LCB0aGUgc3RhdGUgb2YgdGhlIHplcm8tbnVt
YmVyZWQgYnVmZmVyIGZvciBlYWNoIGZpZWxkIGlzIHNldCBieQp0aGUgdXNlcidzIGVkaXRp
bmcgYWN0aW9ucyBvbiB0aGF0IGZpZWxkLiAgSXQncyBzb21ldGltZXMgdXNlZnVsIHRvIGJl
IGFibGUKdG8gc2V0IHRoZSB2YWx1ZSBvZiB0aGUgemVyby1udW1iZXJlZCAob3Igc29tZSBv
dGhlcikgYnVmZmVyIGZyb20geW91cgphcHBsaWNhdGlvbjoKCjxQUkU+CmludCBzZXRfZmll
bGRfYnVmZmVyKEZJRUxEICpmaWVsZCwgICAgICAgIC8qIGZpZWxkIHRvIGFsdGVyICovCiAg
ICAgICAgICAgICAgICAgICBpbnQgYnVmaW5kZXgsICAgICAgICAgIC8qIG51bWJlciBvZiBi
dWZmZXIgdG8gYWx0ZXIgKi8KICAgICAgICAgICAgICAgICAgIGNoYXIgKnZhbHVlKTsgICAg
ICAgICAgLyogc3RyaW5nIHZhbHVlIHRvIHNldCAqLwo8L1BSRT4KCklmIHRoZSBmaWVsZCBp
cyBub3QgbGFyZ2UgZW5vdWdoIGFuZCBjYW5ub3QgYmUgcmVzaXplZCB0byBhIHN1ZmZpY2ll
bnRseQpsYXJnZSBzaXplIHRvIGNvbnRhaW4gdGhlIHNwZWNpZmllZCB2YWx1ZSwgdGhlIHZh
bHVlIHdpbGwgYmUgdHJ1bmNhdGVkCnRvIGZpdC4gPFA+CgpDYWxsaW5nIDxDT0RFPmZpZWxk
X2J1ZmZlcigpPC9DT0RFPiB3aXRoIGEgbnVsbCBmaWVsZCBwb2ludGVyIHdpbGwgcmFpc2Ug
YW4KZXJyb3IuICBDYWxsaW5nIDxDT0RFPmZpZWxkX2J1ZmZlcigpPC9DT0RFPiBvbiBhIGZp
ZWxkIG5vdCBjdXJyZW50bHkgc2VsZWN0ZWQKZm9yIGlucHV0IHdpbGwgcmV0dXJuIGEgY29y
cmVjdCB2YWx1ZS4gIENhbGxpbmcgPENPREU+ZmllbGRfYnVmZmVyKCk8L0NPREU+IG9uIGEK
ZmllbGQgdGhhdCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQgZm9yIGlucHV0IG1heSBub3QgbmVj
ZXNzYXJpbHkgZ2l2ZSBhCmNvcnJlY3QgZmllbGQgYnVmZmVyIHZhbHVlLCBiZWNhdXNlIGVu
dGVyZWQgZGF0YSBpc24ndCBuZWNlc3NhcmlseSBjb3BpZWQgdG8KYnVmZmVyIHplcm8gYmVm
b3JlIHRoZSBleGl0IHZhbGlkYXRpb24gY2hlY2suCgpUbyBndWFyYW50ZWUgdGhhdCB0aGUg
cmV0dXJuZWQgYnVmZmVyIHZhbHVlIHJlZmxlY3RzIG9uLXNjcmVlbiByZWFsaXR5LApjYWxs
IDxDT0RFPmZpZWxkX2J1ZmZlcigpPC9DT0RFPiBlaXRoZXIgKDEpIGluIHRoZSBmaWVsZCdz
IGV4aXQgdmFsaWRhdGlvbgpjaGVjayByb3V0aW5lLCAoMikgZnJvbSB0aGUgZmllbGQncyBv
ciBmb3JtJ3MgaW5pdGlhbGl6YXRpb24gb3IgdGVybWluYXRpb24KaG9va3MsIG9yICgzKSBq
dXN0IGFmdGVyIGEgPENPREU+UkVRX1ZBTElEQVRJT048L0NPREU+IHJlcXVlc3QgaGFzIGJl
ZW4gcHJvY2Vzc2VkCmJ5IHRoZSBmb3JtcyBkcml2ZXIuCgo8SDI+PEEgTkFNRT0iZm9ybWF0
dHJzIj5BdHRyaWJ1dGVzIG9mIEZvcm1zPC9BPjwvSDI+CgpBcyB3aXRoIGZpZWxkIGF0dHJp
YnV0ZXMsIGZvcm0gYXR0cmlidXRlcyBpbmhlcml0IGEgZGVmYXVsdCBmcm9tIGEKc3lzdGVt
IGRlZmF1bHQgZm9ybSBzdHJ1Y3R1cmUuICBUaGVzZSBkZWZhdWx0cyBjYW4gYmUgcXVlcmll
ZCBvciBzZXQgYnkKb2YgdGhlc2UgZnVuY3Rpb25zIHVzaW5nIGEgZm9ybS1wb2ludGVyIGFy
Z3VtZW50IG9mIDxDT0RFPk5VTEw8L0NPREU+LiA8UD4KClRoZSBwcmluY2lwYWwgYXR0cmli
dXRlIG9mIGEgZm9ybSBpcyBpdHMgZmllbGQgbGlzdC4gIFlvdSBjYW4gcXVlcnkKYW5kIGNo
YW5nZSB0aGlzIGxpc3Qgd2l0aDoKCjxQUkU+CmludCBzZXRfZm9ybV9maWVsZHMoRk9STSAq
Zm9ybSwgICAgICAgICAgIC8qIGZvcm0gdG8gYWx0ZXIgKi8KICAgICAgICAgICAgICAgICAg
ICBGSUVMRCAqKmZpZWxkcyk7ICAgICAgLyogZmllbGRzIHRvIGNvbm5lY3QgKi8KCmNoYXIg
KmZvcm1fZmllbGRzKEZPUk0gKmZvcm0pOyAgICAgICAgICAgIC8qIGZldGNoIGZpZWxkcyBv
ZiBmb3JtICovCgppbnQgZmllbGRfY291bnQoRk9STSAqZm9ybSk7ICAgICAgICAgICAgICAv
KiBjb3VudCBjb25uZWN0IGZpZWxkcyAqLwo8L1BSRT4KClRoZSBzZWNvbmQgYXJndW1lbnQg
b2YgPENPREU+c2V0X2Zvcm1fZmllbGRzKCk8L0NPREU+IG1heSBiZSBhCk5VTEwtdGVybWlu
YXRlZCBmaWVsZCBwb2ludGVyIGFycmF5IGxpa2UgdGhlIG9uZSByZXF1aXJlZCBieQo8Q09E
RT5uZXdfZm9ybSgpPC9DT0RFPi4gSW4gdGhhdCBjYXNlLCB0aGUgb2xkIGZpZWxkcyBvZiB0
aGUgZm9ybSBhcmUKZGlzY29ubmVjdGVkIGJ1dCBub3QgZnJlZWQgKGFuZCBlbGlnaWJsZSB0
byBiZSBjb25uZWN0ZWQgdG8gb3RoZXIKZm9ybXMpLCB0aGVuIHRoZSBuZXcgZmllbGRzIGFy
ZSBjb25uZWN0ZWQuIDxQPgoKSXQgbWF5IGFsc28gYmUgbnVsbCwgaW4gd2hpY2ggY2FzZSB0
aGUgb2xkIGZpZWxkcyBhcmUgZGlzY29ubmVjdGVkCihhbmQgbm90IGZyZWVkKSBidXQgbm8g
bmV3IG9uZXMgYXJlIGNvbm5lY3RlZC4gPFA+CgpUaGUgPENPREU+ZmllbGRfY291bnQoKTwv
Q09ERT4gZnVuY3Rpb24gc2ltcGx5IGNvdW50cyB0aGUgbnVtYmVyIG9mIGZpZWxkcwpjb25u
ZWN0ZWQgdG8gYSBnaXZlbiBmcm9tLiAgSXQgcmV0dXJucyAtMSBpZiB0aGUgZm9ybS1wb2lu
dGVyIGFyZ3VtZW50CmlzIE5VTEwuCgo8SDI+PEEgTkFNRT0iZmRpc3BsYXkiPkNvbnRyb2wg
b2YgRm9ybSBEaXNwbGF5PC9BPjwvSDI+CgpJbiB0aGUgb3ZlcnZpZXcgc2VjdGlvbiwgeW91
IHNhdyB0aGF0IHRvIGRpc3BsYXkgYSBmb3JtIHlvdSBub3JtYWxseQpzdGFydCBieSBkZWZp
bmluZyBpdHMgc2l6ZSAoYW5kIGZpZWxkcyksIHBvc3RpbmcgaXQsIGFuZCByZWZyZXNoaW5n
CnRoZSBzY3JlZW4uICBUaGVyZSBpcyBhbiBoaWRkZW4gc3RlcCBiZWZvcmUgcG9zdGluZywg
d2hpY2ggaXMgdGhlCmFzc29jaWF0aW9uIG9mIHRoZSBmb3JtIHdpdGggYSBmcmFtZSB3aW5k
b3cgKGFjdHVhbGx5LCBhIHBhaXIgb2YKd2luZG93cykgd2l0aGluIHdoaWNoIGl0IHdpbGwg
YmUgZGlzcGxheWVkLiAgQnkgZGVmYXVsdCwgdGhlIGZvcm1zCmxpYnJhcnkgYXNzb2NpYXRl
cyBldmVyeSBmb3JtIHdpdGggdGhlIGZ1bGwtc2NyZWVuIHdpbmRvdwo8Q09ERT5zdGRzY3I8
L0NPREU+LiA8UD4KCkJ5IG1ha2luZyB0aGlzIHN0ZXAgZXhwbGljaXQsIHlvdSBjYW4gYXNz
b2NpYXRlIGEgZm9ybSB3aXRoIGEgZGVjbGFyZWQKZnJhbWUgd2luZG93IG9uIHlvdXIgc2Ny
ZWVuIGRpc3BsYXkuICBUaGlzIGNhbiBiZSB1c2VmdWwgaWYgeW91IHdhbnQgdG8KYWRhcHQg
dGhlIGZvcm0gZGlzcGxheSB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLCBkeW5hbWljYWxs
eSB0aWxlCmZvcm1zIG9uIHRoZSBzY3JlZW4sIG9yIHVzZSBhIGZvcm0gYXMgcGFydCBvZiBh
biBpbnRlcmZhY2UgbGF5b3V0Cm1hbmFnZWQgYnkgPEEgSFJFRj0iI3BhbmVscyI+cGFuZWxz
PC9BPi4gPFA+CgpUaGUgdHdvIHdpbmRvd3MgYXNzb2NpYXRlZCB3aXRoIGVhY2ggZm9ybSBo
YXZlIHRoZSBzYW1lIGZ1bmN0aW9ucyBhcwp0aGVpciBhbmFsb2d1ZXMgaW4gdGhlIDxBIEhS
RUY9IiNtZW51Ij5tZW51IGxpYnJhcnk8L0E+LiAgQm90aCB0aGVzZQp3aW5kb3dzIGFyZSBw
YWludGVkIHdoZW4gdGhlIGZvcm0gaXMgcG9zdGVkIGFuZCBlcmFzZWQgd2hlbiB0aGUgZm9y
bQppcyB1bnBvc3RlZC4gPFA+CgpUaGUgb3V0ZXIgb3IgZnJhbWUgd2luZG93IGlzIG5vdCBv
dGhlcndpc2UgdG91Y2hlZCBieSB0aGUgZm9ybQpyb3V0aW5lcy4gIEl0IGV4aXN0cyBzbyB0
aGUgcHJvZ3JhbW1lciBjYW4gYXNzb2NpYXRlIGEgdGl0bGUsIGEKYm9yZGVyLCBvciBwZXJo
YXBzIGhlbHAgdGV4dCB3aXRoIHRoZSBmb3JtIGFuZCBoYXZlIGl0IHByb3Blcmx5CnJlZnJl
c2hlZCBvciBlcmFzZWQgYXQgcG9zdC91bnBvc3QgdGltZS4gVGhlIGlubmVyIHdpbmRvdyBv
ciBzdWJ3aW5kb3cKaXMgd2hlcmUgdGhlIGN1cnJlbnQgZm9ybSBwYWdlIGlzIGFjdHVhbGx5
IGRpc3BsYXllZC4gPFA+CgpJbiBvcmRlciB0byBkZWNsYXJlIHlvdXIgb3duIGZyYW1lIHdp
bmRvdyBmb3IgYSBmb3JtLCB5b3UnbGwgbmVlZCB0bwprbm93IHRoZSBzaXplIG9mIHRoZSBm
b3JtJ3MgYm91bmRpbmcgcmVjdGFuZ2xlLiAgWW91IGNhbiBnZXQgdGhpcwppbmZvcm1hdGlv
biB3aXRoOgoKPFBSRT4KaW50IHNjYWxlX2Zvcm0oRk9STSAqZm9ybSwgICAgICAgICAgICAg
ICAgLyogZm9ybSB0byBxdWVyeSAqLwogICAgICAgICAgICAgICBpbnQgKnJvd3MsICAgICAg
ICAgICAgICAgICAvKiBmb3JtIHJvd3MgKi8KICAgICAgICAgICAgICAgaW50ICpjb2xzKTsg
ICAgICAgICAgICAgICAgLyogZm9ybSBjb2xzICovCjwvUFJFPgoKVGhlIGZvcm0gZGltZW5z
aW9ucyBhcmUgcGFzc2VkIGJhY2sgaW4gdGhlIGxvY2F0aW9ucyBwb2ludGVkIHRvIGJ5CnRo
ZSBhcmd1bWVudHMuICBPbmNlIHlvdSBoYXZlIHRoaXMgaW5mb3JtYXRpb24sIHlvdSBjYW4g
dXNlIGl0IHRvCmRlY2xhcmUgb2Ygd2luZG93cywgdGhlbiB1c2Ugb25lIG9mIHRoZXNlIGZ1
bmN0aW9uczoKCjxQUkU+CmludCBzZXRfZm9ybV93aW4oRk9STSAqZm9ybSwgICAgICAgICAg
ICAgIC8qIGZvcm0gdG8gYWx0ZXIgKi8KICAgICAgICAgICAgICAgICBXSU5ET1cgKndpbik7
ICAgICAgICAgICAgLyogZnJhbWUgd2luZG93IHRvIGNvbm5lY3QgKi8KCldJTkRPVyAqZm9y
bV93aW4oRk9STSAqZm9ybSk7ICAgICAgICAgICAgIC8qIGZldGNoIGZyYW1lIHdpbmRvdyBv
ZiBmb3JtICovCgppbnQgc2V0X2Zvcm1fc3ViKEZPUk0gKmZvcm0sICAgICAgICAgICAgICAv
KiBmb3JtIHRvIGFsdGVyICovCiAgICAgICAgICAgICAgICAgV0lORE9XICp3aW4pOyAgICAg
ICAgICAgIC8qIGZvcm0gc3Vid2luZG93IHRvIGNvbm5lY3QgKi8KCldJTkRPVyAqZm9ybV9z
dWIoRk9STSAqZm9ybSk7ICAgICAgICAgICAgIC8qIGZldGNoIGZvcm0gc3Vid2luZG93IG9m
IGZvcm0gKi8KPC9QUkU+CgpOb3RlIHRoYXQgY3Vyc2VzIG9wZXJhdGlvbnMsIGluY2x1ZGlu
ZyA8Q09ERT5yZWZyZXNoKCk8L0NPREU+LCBvbiB0aGUgZm9ybSwKc2hvdWxkIGJlIGRvbmUg
b24gdGhlIGZyYW1lIHdpbmRvdywgbm90IHRoZSBmb3JtIHN1YndpbmRvdy4gPFA+CgpJdCBp
cyBwb3NzaWJsZSB0byBjaGVjayBmcm9tIHlvdXIgYXBwbGljYXRpb24gd2hldGhlciBhbGwg
b2YgYQpzY3JvbGxhYmxlIGZpZWxkIGlzIGFjdHVhbGx5IGRpc3BsYXllZCB3aXRoaW4gdGhl
IG1lbnUgc3Vid2luZG93LiAgVXNlCnRoZXNlIGZ1bmN0aW9uczoKCjxQUkU+CmludCBkYXRh
X2FoZWFkKEZPUk0gKmZvcm0pOyAgICAgICAgICAgICAgIC8qIGZvcm0gdG8gYmUgcXVlcmll
ZCAqLwoKaW50IGRhdGFfYmVoaW5kKEZPUk0gKmZvcm0pOyAgICAgICAgICAgICAgLyogZm9y
bSB0byBiZSBxdWVyaWVkICovCjwvUFJFPgoKVGhlIGZ1bmN0aW9uIDxDT0RFPmRhdGFfYWhl
YWQoKTwvQ09ERT4gcmV0dXJucyBUUlVFIGlmIChhKSB0aGUgY3VycmVudApmaWVsZCBpcyBv
bmUtbGluZSBhbmQgaGFzIHVuZGlzcGxheWVkIGRhdGEgb2ZmIHRvIHRoZSByaWdodCwgKGIp
IHRoZSBjdXJyZW50CmZpZWxkIGlzIG11bHRpLWxpbmUgYW5kIHRoZXJlIGlzIGRhdGEgb2Zm
LXNjcmVlbiBiZWxvdyBpdC4gPFA+CgpUaGUgZnVuY3Rpb24gPENPREU+ZGF0YV9iZWhpbmQo
KTwvQ09ERT4gcmV0dXJucyBUUlVFIGlmIHRoZSBmaXJzdCAodXBwZXIKbGVmdCBoYW5kKSBj
aGFyYWN0ZXIgcG9zaXRpb24gaXMgb2ZmLXNjcmVlbiAobm90IGJlaW5nIGRpc3BsYXllZCku
IDxQPgoKRmluYWxseSwgdGhlcmUgaXMgYSBmdW5jdGlvbiB0byByZXN0b3JlIHRoZSBmb3Jt
IHdpbmRvdydzIGN1cnNvciB0byB0aGUKdmFsdWUgZXhwZWN0ZWQgYnkgdGhlIGZvcm1zIGRy
aXZlcjoKCjxQUkU+CmludCBwb3NfZm9ybV9jdXJzb3IoRk9STSAqKSAgICAgICAgICAgICAg
IC8qIGZvcm0gdG8gYmUgcXVlcmllZCAqLwo8L1BSRT4KCklmIHlvdXIgYXBwbGljYXRpb24g
Y2hhbmdlcyB0aGUgZm9ybSB3aW5kb3cgY3Vyc29yLCBjYWxsIHRoaXMgZnVuY3Rpb24gYmVm
b3JlCmhhbmRpbmcgY29udHJvbCBiYWNrIHRvIHRoZSBmb3JtcyBkcml2ZXIgaW4gb3JkZXIg
dG8gcmUtc3luY2hyb25pemUgaXQuCgo8SDI+PEEgTkFNRT0iZmRyaXZlciI+SW5wdXQgUHJv
Y2Vzc2luZyBpbiB0aGUgRm9ybXMgRHJpdmVyPC9BPjwvSDI+CgpUaGUgZnVuY3Rpb24gPENP
REU+Zm9ybV9kcml2ZXIoKTwvQ09ERT4gaGFuZGxlcyB2aXJ0dWFsaXplZCBpbnB1dCByZXF1
ZXN0cwpmb3IgZm9ybSBuYXZpZ2F0aW9uLCBlZGl0aW5nLCBhbmQgdmFsaWRhdGlvbiByZXF1
ZXN0cywganVzdCBhcwo8Q09ERT5tZW51X2RyaXZlcjwvQ09ERT4gZG9lcyBmb3IgbWVudXMg
KHNlZSB0aGUgc2VjdGlvbiBvbiA8QQpIUkVGPSIjbWlucHV0Ij5tZW51IGlucHV0IGhhbmRs
aW5nPC9BPikuCgo8UFJFPgppbnQgZm9ybV9kcml2ZXIoRk9STSAqZm9ybSwgICAgICAgICAg
ICAgICAvKiBmb3JtIHRvIHBhc3MgaW5wdXQgdG8gKi8KICAgICAgICAgICAgICAgIGludCBy
ZXF1ZXN0KTsgICAgICAgICAgICAgLyogZm9ybSByZXF1ZXN0IGNvZGUgKi8KPC9QUkU+CgpZ
b3VyIGlucHV0IHZpcnR1YWxpemF0aW9uIGZ1bmN0aW9uIG5lZWRzIHRvIHRha2UgaW5wdXQg
YW5kIHRoZW4gY29udmVydCBpdAp0byBlaXRoZXIgYW4gYWxwaGFudW1lcmljIGNoYXJhY3Rl
ciAod2hpY2ggaXMgdHJlYXRlZCBhcyBkYXRhIHRvIGJlCmVudGVyZWQgaW4gdGhlIGN1cnJl
bnRseS1zZWxlY3RlZCBmaWVsZCksIG9yIGEgZm9ybXMgcHJvY2Vzc2luZyByZXF1ZXN0LiA8
UD4KClRoZSBmb3JtcyBkcml2ZXIgcHJvdmlkZXMgaG9va3MgKHRocm91Z2ggaW5wdXQtdmFs
aWRhdGlvbiBhbmQKZmllbGQtdGVybWluYXRpb24gZnVuY3Rpb25zKSB3aXRoIHdoaWNoIHlv
dXIgYXBwbGljYXRpb24gY29kZSBjYW4gY2hlY2sKdGhhdCB0aGUgaW5wdXQgdGFrZW4gYnkg
dGhlIGRyaXZlciBtYXRjaGVkIHdoYXQgd2FzIGV4cGVjdGVkLgoKPEgzPjxBIE5BTUU9ImZw
YWdlIj5QYWdlIE5hdmlnYXRpb24gUmVxdWVzdHM8L0E+PC9IMz4KClRoZXNlIHJlcXVlc3Rz
IGNhdXNlIHBhZ2UtbGV2ZWwgbW92ZXMgdGhyb3VnaCB0aGUgZm9ybSwKdHJpZ2dlcmluZyBk
aXNwbGF5IG9mIGEgbmV3IGZvcm0gc2NyZWVuLgoKPERMPgo8RFQ+IDxDT0RFPlJFUV9ORVhU
X1BBR0U8L0NPREU+CjxERD4gTW92ZSB0byB0aGUgbmV4dCBmb3JtIHBhZ2UuCjxEVD4gPENP
REU+UkVRX1BSRVZfUEFHRTwvQ09ERT4KPEREPiBNb3ZlIHRvIHRoZSBwcmV2aW91cyBmb3Jt
IHBhZ2UuCjxEVD4gPENPREU+UkVRX0ZJUlNUX1BBR0U8L0NPREU+CjxERD4gTW92ZSB0byB0
aGUgZmlyc3QgZm9ybSBwYWdlLgo8RFQ+IDxDT0RFPlJFUV9MQVNUX1BBR0U8L0NPREU+CjxE
RD4gTW92ZSB0byB0aGUgbGFzdCBmb3JtIHBhZ2UuCjwvREw+CgpUaGVzZSByZXF1ZXN0cyB0
cmVhdCB0aGUgbGlzdCBhcyBjeWNsaWM7IHRoYXQgaXMsIDxDT0RFPlJFUV9ORVhUX1BBR0U8
L0NPREU+CmZyb20gdGhlIGxhc3QgcGFnZSBnb2VzIHRvIHRoZSBmaXJzdCwgYW5kIDxDT0RF
PlJFUV9QUkVWX1BBR0U8L0NPREU+IGZyb20KdGhlIGZpcnN0IHBhZ2UgZ29lcyB0byB0aGUg
bGFzdC4KCjxIMz48QSBOQU1FPSIjZmZpZWxkIj5JbnRlci1GaWVsZCBOYXZpZ2F0aW9uIFJl
cXVlc3RzPC9BPjwvSDM+CgpUaGVzZSByZXF1ZXN0cyBoYW5kbGUgbmF2aWdhdGlvbiBiZXR3
ZWVuIGZpZWxkcyBvbiB0aGUgc2FtZSBwYWdlLgoKPERMPgo8RFQ+IDxDT0RFPlJFUV9ORVhU
X0ZJRUxEPC9DT0RFPgo8REQ+IE1vdmUgdG8gbmV4dCBmaWVsZC4KPERUPiA8Q09ERT5SRVFf
UFJFVl9GSUVMRDwvQ09ERT4KPEREPiBNb3ZlIHRvIHByZXZpb3VzIGZpZWxkLgo8RFQ+IDxD
T0RFPlJFUV9GSVJTVF9GSUVMRDwvQ09ERT4KPEREPiBNb3ZlIHRvIHRoZSBmaXJzdCBmaWVs
ZC4KPERUPiA8Q09ERT5SRVFfTEFTVF9GSUVMRDwvQ09ERT4KPEREPiBNb3ZlIHRvIHRoZSBs
YXN0IGZpZWxkLgo8RFQ+IDxDT0RFPlJFUV9TTkVYVF9GSUVMRDwvQ09ERT4KPEREPiBNb3Zl
IHRvIHNvcnRlZCBuZXh0IGZpZWxkLgo8RFQ+IDxDT0RFPlJFUV9TUFJFVl9GSUVMRDwvQ09E
RT4KPEREPiBNb3ZlIHRvIHNvcnRlZCBwcmV2aW91cyBmaWVsZC4KPERUPiA8Q09ERT5SRVFf
U0ZJUlNUX0ZJRUxEPC9DT0RFPgo8REQ+IE1vdmUgdG8gdGhlIHNvcnRlZCBmaXJzdCBmaWVs
ZC4KPERUPiA8Q09ERT5SRVFfU0xBU1RfRklFTEQ8L0NPREU+CjxERD4gTW92ZSB0byB0aGUg
c29ydGVkIGxhc3QgZmllbGQuCjxEVD4gPENPREU+UkVRX0xFRlRfRklFTEQ8L0NPREU+CjxE
RD4gTW92ZSBsZWZ0IHRvIGZpZWxkLgo8RFQ+IDxDT0RFPlJFUV9SSUdIVF9GSUVMRDwvQ09E
RT4KPEREPiBNb3ZlIHJpZ2h0IHRvIGZpZWxkLgo8RFQ+IDxDT0RFPlJFUV9VUF9GSUVMRDwv
Q09ERT4KPEREPiBNb3ZlIHVwIHRvIGZpZWxkLgo8RFQ+IDxDT0RFPlJFUV9ET1dOX0ZJRUxE
PC9DT0RFPgo8REQ+IE1vdmUgZG93biB0byBmaWVsZC4KPC9ETD4KClRoZXNlIHJlcXVlc3Rz
IHRyZWF0IHRoZSBsaXN0IG9mIGZpZWxkcyBvbiBhIHBhZ2UgYXMgY3ljbGljOyB0aGF0IGlz
LAo8Q09ERT5SRVFfTkVYVF9GSUVMRDwvQ09ERT4gZnJvbSB0aGUgbGFzdCBmaWVsZCBnb2Vz
IHRvIHRoZSBmaXJzdCwgYW5kCjxDT0RFPlJFUV9QUkVWX0ZJRUxEPC9DT0RFPiBmcm9tIHRo
ZSBmaXJzdCBmaWVsZCBnb2VzIHRvIHRoZSBsYXN0LiBUaGUKb3JkZXIgb2YgdGhlIGZpZWxk
cyBmb3IgdGhlc2UgKGFuZCB0aGUgPENPREU+UkVRX0ZJUlNUX0ZJRUxEPC9DT0RFPiBhbmQK
PENPREU+UkVRX0xBU1RfRklFTEQ8L0NPREU+IHJlcXVlc3RzKSBpcyBzaW1wbHkgdGhlIG9y
ZGVyIG9mIHRoZSBmaWVsZApwb2ludGVycyBpbiB0aGUgZm9ybSBhcnJheSAoYXMgc2V0IHVw
IGJ5IDxDT0RFPm5ld19mb3JtKCk8L0NPREU+IG9yCjxDT0RFPnNldF9mb3JtX2ZpZWxkcygp
PC9DT0RFPiA8UD4KCkl0IGlzIGFsc28gcG9zc2libGUgdG8gdHJhdmVyc2UgdGhlIGZpZWxk
cyBhcyBpZiB0aGV5IGhhZCBiZWVuIHNvcnRlZCBpbgpzY3JlZW4tcG9zaXRpb24gb3JkZXIs
IHNvIHRoZSBzZXF1ZW5jZSBnb2VzIGxlZnQtdG8tcmlnaHQgYW5kIHRvcC10by1ib3R0b20u
ClRvIGRvIHRoaXMsIHVzZSB0aGUgc2Vjb25kIGdyb3VwIG9mIGZvdXIgc29ydGVkLW1vdmVt
ZW50IHJlcXVlc3RzLiAgPFA+CgpGaW5hbGx5LCBpdCBpcyBwb3NzaWJsZSB0byBtb3ZlIGJl
dHdlZW4gZmllbGRzIHVzaW5nIHZpc3VhbCBkaXJlY3Rpb25zIHVwLApkb3duLCByaWdodCwg
YW5kIGxlZnQuICBUbyBhY2NvbXBsaXNoIHRoaXMsIHVzZSB0aGUgdGhpcmQgZ3JvdXAgb2Yg
Zm91cgpyZXF1ZXN0cy4gIE5vdGUsIGhvd2V2ZXIsIHRoYXQgdGhlIHBvc2l0aW9uIG9mIGEg
Zm9ybSBmb3IgcHVycG9zZXMgb2YgdGhlc2UKcmVxdWVzdHMgaXMgaXRzIHVwcGVyLWxlZnQg
Y29ybmVyLiA8UD4KCkZvciBleGFtcGxlLCBzdXBwb3NlIHlvdSBoYXZlIGEgbXVsdGktbGlu
ZSBmaWVsZCBCLCBhbmQgdHdvCnNpbmdsZS1saW5lIGZpZWxkcyBBIGFuZCBDIG9uIHRoZSBz
YW1lIGxpbmUgd2l0aCBCLCB3aXRoIEEgdG8gdGhlIGxlZnQKb2YgQiBhbmQgQyB0byB0aGUg
cmlnaHQgb2YgQi4gIEEgPENPREU+UkVRX01PVkVfUklHSFQ8L0NPREU+IGZyb20gQSB3aWxs
CmdvIHRvIEIgb25seSBpZiBBLCBCLCBhbmQgQyA8RU0+YWxsPC9FTT4gc2hhcmUgdGhlIHNh
bWUgZmlyc3QgbGluZTsKb3RoZXJ3aXNlIGl0IHdpbGwgc2tpcCBvdmVyIEIgdG8gQy4KCjxI
Mz48QSBOQU1FPSIjZmlmaWVsZCI+SW50cmEtRmllbGQgTmF2aWdhdGlvbiBSZXF1ZXN0czwv
QT48L0gzPgoKVGhlc2UgcmVxdWVzdHMgZHJpdmUgbW92ZW1lbnQgb2YgdGhlIGVkaXQgY3Vy
c29yIHdpdGhpbiB0aGUgY3VycmVudGx5CnNlbGVjdGVkIGZpZWxkLgoKPERMPgo8RFQ+IDxD
T0RFPlJFUV9ORVhUX0NIQVI8L0NPREU+CjxERD4gTW92ZSB0byBuZXh0IGNoYXJhY3Rlci4K
PERUPiA8Q09ERT5SRVFfUFJFVl9DSEFSPC9DT0RFPgo8REQ+IE1vdmUgdG8gcHJldmlvdXMg
Y2hhcmFjdGVyLgo8RFQ+IDxDT0RFPlJFUV9ORVhUX0xJTkU8L0NPREU+CjxERD4gTW92ZSB0
byBuZXh0IGxpbmUuCjxEVD4gPENPREU+UkVRX1BSRVZfTElORTwvQ09ERT4KPEREPiBNb3Zl
IHRvIHByZXZpb3VzIGxpbmUuCjxEVD4gPENPREU+UkVRX05FWFRfV09SRDwvQ09ERT4KPERE
PiBNb3ZlIHRvIG5leHQgd29yZC4KPERUPiA8Q09ERT5SRVFfUFJFVl9XT1JEPC9DT0RFPgo8
REQ+IE1vdmUgdG8gcHJldmlvdXMgd29yZC4KPERUPiA8Q09ERT5SRVFfQkVHX0ZJRUxEPC9D
T0RFPgo8REQ+IE1vdmUgdG8gYmVnaW5uaW5nIG9mIGZpZWxkLgo8RFQ+IDxDT0RFPlJFUV9F
TkRfRklFTEQ8L0NPREU+CjxERD4gTW92ZSB0byBlbmQgb2YgZmllbGQuCjxEVD4gPENPREU+
UkVRX0JFR19MSU5FPC9DT0RFPgo8REQ+IE1vdmUgdG8gYmVnaW5uaW5nIG9mIGxpbmUuCjxE
VD4gPENPREU+UkVRX0VORF9MSU5FPC9DT0RFPgo8REQ+IE1vdmUgdG8gZW5kIG9mIGxpbmUu
CjxEVD4gPENPREU+UkVRX0xFRlRfQ0hBUjwvQ09ERT4KPEREPiBNb3ZlIGxlZnQgaW4gZmll
bGQuCjxEVD4gPENPREU+UkVRX1JJR0hUX0NIQVI8L0NPREU+CjxERD4gTW92ZSByaWdodCBp
biBmaWVsZC4KPERUPiA8Q09ERT5SRVFfVVBfQ0hBUjwvQ09ERT4KPEREPiBNb3ZlIHVwIGlu
IGZpZWxkLgo8RFQ+IDxDT0RFPlJFUV9ET1dOX0NIQVI8L0NPREU+CjxERD4gTW92ZSBkb3du
IGluIGZpZWxkLgo8L0RMPgoKRWFjaCA8RU0+d29yZDwvRU0+IGlzIHNlcGFyYXRlZCBmcm9t
IHRoZSBwcmV2aW91cyBhbmQgbmV4dCBjaGFyYWN0ZXJzCmJ5IHdoaXRlc3BhY2UuICBUaGUg
Y29tbWFuZHMgdG8gbW92ZSB0byBiZWdpbm5pbmcgYW5kIGVuZCBvZiBsaW5lIG9yIGZpZWxk
Cmxvb2sgZm9yIHRoZSBmaXJzdCBvciBsYXN0IG5vbi1wYWQgY2hhcmFjdGVyIGluIHRoZWly
IHJhbmdlcy4KCjxIMz48QSBOQU1FPSJmc2Nyb2xsIj5TY3JvbGxpbmcgUmVxdWVzdHM8L0E+
PC9IMz4KCkZpZWxkcyB0aGF0IGFyZSBkeW5hbWljIGFuZCBoYXZlIGdyb3duIGFuZCBmaWVs
ZHMgZXhwbGljaXRseSBjcmVhdGVkCndpdGggb2Zmc2NyZWVuIHJvd3MgYXJlIHNjcm9sbGFi
bGUuICBPbmUtbGluZSBmaWVsZHMgc2Nyb2xsIGhvcml6b250YWxseTsKbXVsdGktbGluZSBm
aWVsZHMgc2Nyb2xsIHZlcnRpY2FsbHkuICBNb3N0IHNjcm9sbGluZyBpcyB0cmlnZ2VyZWQg
YnkKZWRpdGluZyBhbmQgaW50cmEtZmllbGQgbW92ZW1lbnQgKHRoZSBsaWJyYXJ5IHNjcm9s
bHMgdGhlIGZpZWxkIHRvIGtlZXAgdGhlCmN1cnNvciB2aXNpYmxlKS4gIEl0IGlzIHBvc3Np
YmxlIHRvIGV4cGxpY2l0bHkgcmVxdWVzdCBzY3JvbGxpbmcgd2l0aCB0aGUKZm9sbG93aW5n
IHJlcXVlc3RzOgoKPERMPgo8RFQ+IDxDT0RFPlJFUV9TQ1JfRkxJTkU8L0NPREU+CjxERD4g
U2Nyb2xsIHZlcnRpY2FsbHkgZm9yd2FyZCBhIGxpbmUuCjxEVD4gPENPREU+UkVRX1NDUl9C
TElORTwvQ09ERT4KPEREPiBTY3JvbGwgdmVydGljYWxseSBiYWNrd2FyZCBhIGxpbmUuCjxE
VD4gPENPREU+UkVRX1NDUl9GUEFHRTwvQ09ERT4KPEREPiBTY3JvbGwgdmVydGljYWxseSBm
b3J3YXJkIGEgcGFnZS4KPERUPiA8Q09ERT5SRVFfU0NSX0JQQUdFPC9DT0RFPgo8REQ+IFNj
cm9sbCB2ZXJ0aWNhbGx5IGJhY2t3YXJkIGEgcGFnZS4KPERUPiA8Q09ERT5SRVFfU0NSX0ZI
UEFHRTwvQ09ERT4KPEREPiBTY3JvbGwgdmVydGljYWxseSBmb3J3YXJkIGhhbGYgYSBwYWdl
Lgo8RFQ+IDxDT0RFPlJFUV9TQ1JfQkhQQUdFPC9DT0RFPgo8REQ+IFNjcm9sbCB2ZXJ0aWNh
bGx5IGJhY2t3YXJkIGhhbGYgYSBwYWdlLgo8RFQ+IDxDT0RFPlJFUV9TQ1JfRkNIQVI8L0NP
REU+CjxERD4gU2Nyb2xsIGhvcml6b250YWxseSBmb3J3YXJkIGEgY2hhcmFjdGVyLgo8RFQ+
IDxDT0RFPlJFUV9TQ1JfQkNIQVI8L0NPREU+CjxERD4gU2Nyb2xsIGhvcml6b250YWxseSBi
YWNrd2FyZCBhIGNoYXJhY3Rlci4KPERUPiA8Q09ERT5SRVFfU0NSX0hGTElORTwvQ09ERT4K
PEREPiBTY3JvbGwgaG9yaXpvbnRhbGx5IG9uZSBmaWVsZCB3aWR0aCBmb3J3YXJkLgo8RFQ+
IDxDT0RFPlJFUV9TQ1JfSEJMSU5FPC9DT0RFPgo8REQ+IFNjcm9sbCBob3Jpem9udGFsbHkg
b25lIGZpZWxkIHdpZHRoIGJhY2t3YXJkLgo8RFQ+IDxDT0RFPlJFUV9TQ1JfSEZIQUxGPC9D
T0RFPgo8REQ+IFNjcm9sbCBob3Jpem9udGFsbHkgb25lIGhhbGYgZmllbGQgd2lkdGggZm9y
d2FyZC4KPERUPiA8Q09ERT5SRVFfU0NSX0hCSEFMRjwvQ09ERT4KPEREPiBTY3JvbGwgaG9y
aXpvbnRhbGx5IG9uZSBoYWxmIGZpZWxkIHdpZHRoIGJhY2t3YXJkLgo8L0RMPgoKRm9yIHNj
cm9sbGluZyBwdXJwb3NlcywgYSA8RU0+cGFnZTwvRU0+IG9mIGEgZmllbGQgaXMgdGhlIGhl
aWdodApvZiBpdHMgdmlzaWJsZSBwYXJ0LgoKPEgzPjxBIE5BTUU9ImZlZGl0Ij5FZGl0aW5n
IFJlcXVlc3RzPC9BPjwvSDM+CgpXaGVuIHlvdSBwYXNzIHRoZSBmb3JtcyBkcml2ZXIgYW4g
QVNDSUkgY2hhcmFjdGVyLCBpdCBpcyB0cmVhdGVkIGFzIGEKcmVxdWVzdCB0byBhZGQgdGhl
IGNoYXJhY3RlciB0byB0aGUgZmllbGQncyBkYXRhIGJ1ZmZlci4gIFdoZXRoZXIgdGhpcwpp
cyBhbiBpbnNlcnRpb24gb3IgYSByZXBsYWNlbWVudCBkZXBlbmRzIG9uIHRoZSBmaWVsZCdz
IGVkaXQgbW9kZQooaW5zZXJ0aW9uIGlzIHRoZSBkZWZhdWx0LiA8UD4KClRoZSBmb2xsb3dp
bmcgcmVxdWVzdHMgc3VwcG9ydCBlZGl0aW5nIHRoZSBmaWVsZCBhbmQgY2hhbmdpbmcgdGhl
IGVkaXQKbW9kZToKCjxETD4KPERUPiA8Q09ERT5SRVFfSU5TX01PREU8L0NPREU+CjxERD4g
U2V0IGluc2VydGlvbiBtb2RlLgo8RFQ+IDxDT0RFPlJFUV9PVkxfTU9ERTwvQ09ERT4KPERE
PiBTZXQgb3ZlcmxheSBtb2RlLgo8RFQ+IDxDT0RFPlJFUV9ORVdfTElORTwvQ09ERT4KPERE
PiBOZXcgbGluZSByZXF1ZXN0IChzZWUgYmVsb3cgZm9yIGV4cGxhbmF0aW9uKS4KPERUPiA8
Q09ERT5SRVFfSU5TX0NIQVI8L0NPREU+CjxERD4gSW5zZXJ0IHNwYWNlIGF0IGNoYXJhY3Rl
ciBsb2NhdGlvbi4KPERUPiA8Q09ERT5SRVFfSU5TX0xJTkU8L0NPREU+CjxERD4gSW5zZXJ0
IGJsYW5rIGxpbmUgYXQgY2hhcmFjdGVyIGxvY2F0aW9uLgo8RFQ+IDxDT0RFPlJFUV9ERUxf
Q0hBUjwvQ09ERT4KPEREPiBEZWxldGUgY2hhcmFjdGVyIGF0IGN1cnNvci4KPERUPiA8Q09E
RT5SRVFfREVMX1BSRVY8L0NPREU+CjxERD4gRGVsZXRlIHByZXZpb3VzIHdvcmQgYXQgY3Vy
c29yLgo8RFQ+IDxDT0RFPlJFUV9ERUxfTElORTwvQ09ERT4KPEREPiBEZWxldGUgbGluZSBh
dCBjdXJzb3IuCjxEVD4gPENPREU+UkVRX0RFTF9XT1JEPC9DT0RFPgo8REQ+IERlbGV0ZSB3
b3JkIGF0IGN1cnNvci4KPERUPiA8Q09ERT5SRVFfQ0xSX0VPTDwvQ09ERT4KPEREPiBDbGVh
ciB0byBlbmQgb2YgbGluZS4KPERUPiA8Q09ERT5SRVFfQ0xSX0VPRjwvQ09ERT4KPEREPiBD
bGVhciB0byBlbmQgb2YgZmllbGQuCjxEVD4gPENPREU+UkVRX0NMRUFSX0ZJRUxEPC9DT0RF
Pgo8REQ+IENsZWFyIGVudGlyZSBmaWVsZC4KPC9ETD4KClRoZSBiZWhhdmlvciBvZiB0aGUg
PENPREU+UkVRX05FV19MSU5FPC9DT0RFPiBhbmQgPENPREU+UkVRX0RFTF9QUkVWPC9DT0RF
PiByZXF1ZXN0cwppcyBjb21wbGljYXRlZCBhbmQgcGFydGx5IGNvbnRyb2xsZWQgYnkgYSBw
YWlyIG9mIGZvcm1zIG9wdGlvbnMuClRoZSBzcGVjaWFsIGNhc2VzIGFyZSB0cmlnZ2VyZWQg
d2hlbiB0aGUgY3Vyc29yIGlzIGF0IHRoZSBiZWdpbm5pbmcgb2YKYSBmaWVsZCwgb3Igb24g
dGhlIGxhc3QgbGluZSBvZiB0aGUgZmllbGQuIDxQPgoKRmlyc3QsIHdlIGNvbnNpZGVyIDxD
T0RFPlJFUV9ORVdfTElORTwvQ09ERT46IDxQPgoKVGhlIG5vcm1hbCBiZWhhdmlvciBvZiA8
Q09ERT5SRVFfTkVXX0xJTkU8L0NPREU+IGluIGluc2VydCBtb2RlIGlzIHRvIGJyZWFrIHRo
ZQpjdXJyZW50IGxpbmUgYXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBlZGl0IGN1cnNvciwgaW5z
ZXJ0aW5nIHRoZSBwb3J0aW9uIG9mCnRoZSBjdXJyZW50IGxpbmUgYWZ0ZXIgdGhlIGN1cnNv
ciBhcyBhIG5ldyBsaW5lIGZvbGxvd2luZyB0aGUgY3VycmVudAphbmQgbW92aW5nIHRoZSBj
dXJzb3IgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGF0IG5ldyBsaW5lICh5b3UgbWF5IHRoaW5r
Cm9mIHRoaXMgYXMgaW5zZXJ0aW5nIGEgbmV3bGluZSBpbiB0aGUgZmllbGQgYnVmZmVyKS4g
PFA+CgpUaGUgbm9ybWFsIGJlaGF2aW9yIG9mIDxDT0RFPlJFUV9ORVdfTElORTwvQ09ERT4g
aW4gb3ZlcmxheSBtb2RlIGlzIHRvIGNsZWFyIHRoZQpjdXJyZW50IGxpbmUgZnJvbSB0aGUg
cG9zaXRpb24gb2YgdGhlIGVkaXQgY3Vyc29yIHRvIGVuZCBvZiBsaW5lLgpUaGUgY3Vyc29y
IGlzIHRoZW4gbW92ZWQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbmV4dCBsaW5lLiA8UD4K
Ckhvd2V2ZXIsIDxDT0RFPlJFUV9ORVdfTElORTwvQ09ERT4gYXQgdGhlIGJlZ2lubmluZyBv
ZiBhIGZpZWxkLCBvciBvbiB0aGUKbGFzdCBsaW5lIG9mIGEgZmllbGQsIGluc3RlYWQgZG9l
cyBhIDxDT0RFPlJFUV9ORVhUX0ZJRUxEPC9DT0RFPi4KPENPREU+T19OTF9PVkVSTE9BRDwv
Q09ERT4gb3B0aW9uIGlzIG9mZiwgdGhpcyBzcGVjaWFsIGFjdGlvbiBpcwpkaXNhYmxlZC4g
PFA+CgpOb3csIGxldCB1cyBjb25zaWRlciA8Q09ERT5SRVFfREVMX1BSRVY8L0NPREU+OiA8
UD4KClRoZSBub3JtYWwgYmVoYXZpb3Igb2YgPENPREU+UkVRX0RFTF9QUkVWPC9DT0RFPiBp
cyB0byBkZWxldGUgdGhlIHByZXZpb3VzCmNoYXJhY3Rlci4gIElmIGluc2VydCBtb2RlIGlz
IG9uLCBhbmQgdGhlIGN1cnNvciBpcyBhdCB0aGUgc3RhcnQgb2YgYQpsaW5lLCBhbmQgdGhl
IHRleHQgb24gdGhhdCBsaW5lIHdpbGwgZml0IG9uIHRoZSBwcmV2aW91cyBvbmUsIGl0Cmlu
c3RlYWQgYXBwZW5kcyB0aGUgY29udGVudHMgb2YgdGhlIGN1cnJlbnQgbGluZSB0byB0aGUg
cHJldmlvdXMgb25lCmFuZCBkZWxldGVzIHRoZSBjdXJyZW50IGxpbmUgKHlvdSBtYXkgdGhp
bmsgb2YgdGhpcyBhcyBkZWxldGluZyBhCm5ld2xpbmUgZnJvbSB0aGUgZmllbGQgYnVmZmVy
KS4gPFA+CgpIb3dldmVyLCA8Q09ERT5SRVFfREVMX1BSRVY8L0NPREU+IGF0IHRoZSBiZWdp
bm5pbmcgb2YgYSBmaWVsZCBpcyBpbnN0ZWFkCnRyZWF0ZWQgYXMgYSA8Q09ERT5SRVFfUFJF
Vl9GSUVMRDwvQ09ERT4uIDxQPiBJZiB0aGUKPENPREU+T19CU19PVkVSTE9BRDwvQ09ERT4g
b3B0aW9uIGlzIG9mZiwgdGhpcyBzcGVjaWFsIGFjdGlvbiBpcwpkaXNhYmxlZCBhbmQgdGhl
IGZvcm1zIGRyaXZlciBqdXN0IHJldHVybnMgPENPREU+RV9SRVFVRVNUX0RFTklFRDwvQ09E
RT4uIDxQPgoKU2VlIDxBIEhSRUY9IiNmcm1vcHRpb25zIj5Gb3JtIE9wdGlvbnM8L0E+IGZv
ciBkaXNjdXNzaW9uIG9mIGhvdyB0byBzZXQKYW5kIGNsZWFyIHRoZSBvdmVybG9hZCBvcHRp
b25zLgoKPEgzPjxBIE5BTUU9ImZvcmRlciI+T3JkZXIgUmVxdWVzdHM8L0E+PC9IMz4KCklm
IHRoZSB0eXBlIG9mIHlvdXIgZmllbGQgaXMgb3JkZXJlZCwgYW5kIGhhcyBhc3NvY2lhdGVk
IGZ1bmN0aW9ucwpmb3IgZ2V0dGluZyB0aGUgbmV4dCBhbmQgcHJldmlvdXMgdmFsdWVzIG9m
IHRoZSB0eXBlIGZyb20gYSBnaXZlbiB2YWx1ZSwKdGhlcmUgYXJlIHJlcXVlc3RzIHRoYXQg
Y2FuIGZldGNoIHRoYXQgdmFsdWUgaW50byB0aGUgZmllbGQgYnVmZmVyOgoKPERMPgo8RFQ+
IDxDT0RFPlJFUV9ORVhUX0NIT0lDRTwvQ09ERT4KPEREPiBQbGFjZSB0aGUgc3VjY2Vzc29y
IHZhbHVlIG9mIHRoZSBjdXJyZW50IHZhbHVlIGluIHRoZSBidWZmZXIuCjxEVD4gPENPREU+
UkVRX1BSRVZfQ0hPSUNFPC9DT0RFPgo8REQ+IFBsYWNlIHRoZSBwcmVkZWNlc3NvciB2YWx1
ZSBvZiB0aGUgY3VycmVudCB2YWx1ZSBpbiB0aGUgYnVmZmVyLgo8L0RMPgoKT2YgdGhlIGJ1
aWx0LWluIGZpZWxkIHR5cGVzLCBvbmx5IDxDT0RFPlRZUEVfRU5VTTwvQ09ERT4gaGFzIGJ1
aWx0LWluIHN1Y2Nlc3NvcgphbmQgcHJlZGVjZXNzb3IgZnVuY3Rpb25zLiAgV2hlbiB5b3Ug
ZGVmaW5lIGEgZmllbGQgdHlwZSBvZiB5b3VyIG93bgooc2VlIDxBIEhSRUY9IiNmY3VzdG9t
Ij5DdXN0b20gVmFsaWRhdGlvbiBUeXBlczwvQT4pLCB5b3UgY2FuIGFzc29jaWF0ZQpvdXIg
b3duIG9yZGVyaW5nIGZ1bmN0aW9ucy4KCjxIMz48QSBOQU1FPSJmYXBwY21kcyI+QXBwbGlj
YXRpb24gQ29tbWFuZHM8L0E+PC9IMz4KCkZvcm0gcmVxdWVzdHMgYXJlIHJlcHJlc2VudGVk
IGFzIGludGVnZXJzIGFib3ZlIHRoZSA8Q09ERT5jdXJzZXM8L0NPREU+IHZhbHVlCmdyZWF0
ZXIgdGhhbiA8Q09ERT5LRVlfTUFYPC9DT0RFPiBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRv
IHRoZSBjb25zdGFudAo8Q09ERT5NQVhfQ09NTUFORDwvQ09ERT4uICBJZiB5b3VyIGlucHV0
LXZpcnR1YWxpemF0aW9uIHJvdXRpbmUgcmV0dXJucyBhCnZhbHVlIGFib3ZlIDxDT0RFPk1B
WF9DT01NQU5EPC9DT0RFPiwgdGhlIGZvcm1zIGRyaXZlciB3aWxsIGlnbm9yZSBpdC4KCjxI
Mj48QSBOQU1FPSJmaG9va3MiPkZpZWxkIENoYW5nZSBIb29rczwvQT48L0gyPgoKSXQgaXMg
cG9zc2libGUgdG8gc2V0IGZ1bmN0aW9uIGhvb2tzIHRvIGJlIGV4ZWN1dGVkIHdoZW5ldmVy
IHRoZQpjdXJyZW50IGZpZWxkIG9yIGZvcm0gY2hhbmdlcy4gIEhlcmUgYXJlIHRoZSBmdW5j
dGlvbnMgdGhhdCBzdXBwb3J0IHRoaXM6Cgo8UFJFPgp0eXBlZGVmIHZvaWQJKCpIT09LKSgp
OyAgICAgICAvKiBwb2ludGVyIHRvIGZ1bmN0aW9uIHJldHVybmluZyB2b2lkICovCgppbnQg
c2V0X2Zvcm1faW5pdChGT1JNICpmb3JtLCAgICAvKiBmb3JtIHRvIGFsdGVyICovCiAgICAg
ICAgICAgICAgICAgIEhPT0sgaG9vayk7ICAgIC8qIGluaXRpYWxpemF0aW9uIGhvb2sgKi8K
CkhPT0sgZm9ybV9pbml0KEZPUk0gKmZvcm0pOyAgICAgIC8qIGZvcm0gdG8gcXVlcnkgKi8K
CmludCBzZXRfZm9ybV90ZXJtKEZPUk0gKmZvcm0sICAgIC8qIGZvcm0gdG8gYWx0ZXIgKi8K
ICAgICAgICAgICAgICAgICAgSE9PSyBob29rKTsgICAgLyogdGVybWluYXRpb24gaG9vayAq
LwoKSE9PSyBmb3JtX3Rlcm0oRk9STSAqZm9ybSk7ICAgICAgLyogZm9ybSB0byBxdWVyeSAq
LwoKaW50IHNldF9maWVsZF9pbml0KEZPUk0gKmZvcm0sICAgLyogZm9ybSB0byBhbHRlciAq
LwogICAgICAgICAgICAgICAgICBIT09LIGhvb2spOyAgICAvKiBpbml0aWFsaXphdGlvbiBo
b29rICovCgpIT09LIGZpZWxkX2luaXQoRk9STSAqZm9ybSk7ICAgICAvKiBmb3JtIHRvIHF1
ZXJ5ICovCgppbnQgc2V0X2ZpZWxkX3Rlcm0oRk9STSAqZm9ybSwgICAvKiBmb3JtIHRvIGFs
dGVyICovCiAgICAgICAgICAgICAgICAgIEhPT0sgaG9vayk7ICAgIC8qIHRlcm1pbmF0aW9u
IGhvb2sgKi8KCkhPT0sgZmllbGRfdGVybShGT1JNICpmb3JtKTsgICAgIC8qIGZvcm0gdG8g
cXVlcnkgKi8KPC9QUkU+CgpUaGVzZSBmdW5jdGlvbnMgYWxsb3cgeW91IHRvIGVpdGhlciBz
ZXQgb3IgcXVlcnkgZm91ciBkaWZmZXJlbnQgaG9va3MuCkluIGVhY2ggb2YgdGhlIHNldCBm
dW5jdGlvbnMsIHRoZSBzZWNvbmQgYXJndW1lbnQgc2hvdWxkIGJlIHRoZQphZGRyZXNzIG9m
IGEgaG9vayBmdW5jdGlvbi4gIFRoZXNlIGZ1bmN0aW9ucyBkaWZmZXIgb25seSBpbiB0aGUg
dGltaW5nCm9mIHRoZSBob29rIGNhbGwuCgo8REw+CjxEVD4gZm9ybV9pbml0CjxERD4gVGhp
cyBob29rIGlzIGNhbGxlZCB3aGVuIHRoZSBmb3JtIGlzIHBvc3RlZDsgYWxzbywganVzdCBh
ZnRlcgplYWNoIHBhZ2UgY2hhbmdlIG9wZXJhdGlvbi4KPERUPiBmaWVsZF9pbml0CjxERD4g
VGhpcyBob29rIGlzIGNhbGxlZCB3aGVuIHRoZSBmb3JtIGlzIHBvc3RlZDsgYWxzbywganVz
dCBhZnRlcgplYWNoIGZpZWxkIGNoYW5nZQo8RFQ+IGZpZWxkX3Rlcm0KPEREPiBUaGlzIGhv
b2sgaXMgY2FsbGVkIGp1c3QgYWZ0ZXIgZmllbGQgdmFsaWRhdGlvbjsgdGhhdCBpcywganVz
dCBiZWZvcmUKdGhlIGZpZWxkIGlzIGFsdGVyZWQuICBJdCBpcyBhbHNvIGNhbGxlZCB3aGVu
IHRoZSBmb3JtIGlzIHVucG9zdGVkLgo8RFQ+IGZvcm1fdGVybQo8REQ+IFRoaXMgaG9vayBp
cyBjYWxsZWQgd2hlbiB0aGUgZm9ybSBpcyB1bnBvc3RlZDsgYWxzbywganVzdCBiZWZvcmUK
ZWFjaCBwYWdlIGNoYW5nZSBvcGVyYXRpb24uCjwvREw+CgpDYWxscyB0byB0aGVzZSBob29r
cyBtYXkgYmUgdHJpZ2dlcmVkCjxPTD4KPExJPldoZW4gdXNlciBlZGl0aW5nIHJlcXVlc3Rz
IGFyZSBwcm9jZXNzZWQgYnkgdGhlIGZvcm1zIGRyaXZlcgo8TEk+V2hlbiB0aGUgY3VycmVu
dCBwYWdlIGlzIGNoYW5nZWQgYnkgPENPREU+c2V0X2N1cnJlbnRfZmllbGQoKTwvQ09ERT4g
Y2FsbAo8TEk+V2hlbiB0aGUgY3VycmVudCBmaWVsZCBpcyBjaGFuZ2VkIGJ5IGEgPENPREU+
c2V0X2Zvcm1fcGFnZSgpPC9DT0RFPiBjYWxsCjwvT0w+CgpTZWUgPEEgTkFNRT0iZmZvY3Vz
Ij5GaWVsZCBDaGFuZ2UgQ29tbWFuZHM8L0E+IGZvciBkaXNjdXNzaW9uIG9mIHRoZSBsYXR0
ZXIKdHdvIGNhc2VzLiA8UD4KCllvdSBjYW4gc2V0IGEgZGVmYXVsdCBob29rIGZvciBhbGwg
ZmllbGRzIGJ5IHBhc3Npbmcgb25lIG9mIHRoZSBzZXQgZnVuY3Rpb25zCmEgTlVMTCBmaXJz
dCBhcmd1bWVudC4gPFA+CgpZb3UgY2FuIGRpc2FibGUgYW55IG9mIHRoZXNlIGhvb2tzIGJ5
IChyZSlzZXR0aW5nIHRoZW0gdG8gTlVMTCwgdGhlIGRlZmF1bHQKdmFsdWUuCgo8SDI+PEEg
SFJFRj0iI2Zmb2N1cyI+RmllbGQgQ2hhbmdlIENvbW1hbmRzPC9BPjwvSDI+CgpOb3JtYWxs
eSwgbmF2aWdhdGlvbiB0aHJvdWdoIHRoZSBmb3JtIHdpbGwgYmUgZHJpdmVuIGJ5IHRoZSB1
c2VyJ3MKaW5wdXQgcmVxdWVzdHMuICBCdXQgc29tZXRpbWVzIGl0IGlzIHVzZWZ1bCB0byBi
ZSBhYmxlIHRvIG1vdmUgdGhlCmZvY3VzIGZvciBlZGl0aW5nIGFuZCB2aWV3aW5nIHVuZGVy
IGNvbnRyb2wgb2YgeW91ciBhcHBsaWNhdGlvbiwgb3IKYXNrIHdoaWNoIGZpZWxkIGl0IGN1
cnJlbnRseSBpcyBpbi4gIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGhlbHAgeW91CmFjY29t
cGxpc2ggdGhpczoKCjxQUkU+CmludCBzZXRfY3VycmVudF9maWVsZChGT1JNICpmb3JtLCAg
ICAgICAgIC8qIGZvcm0gdG8gYWx0ZXIgKi8KICAgICAgICAgICAgICAgICAgICAgIEZJRUxE
ICpmaWVsZCk7ICAgICAgLyogZmllbGQgdG8gc2hpZnQgdG8gKi8KCkZJRUxEICpjdXJyZW50
X2ZpZWxkKEZPUk0gKmZvcm0pOyAgICAgICAgIC8qIGZvcm0gdG8gcXVlcnkgKi8KCmludCBm
aWVsZF9pbmRleChGT1JNICpmb3JtLCAgICAgICAgICAgICAgIC8qIGZvcm0gdG8gcXVlcnkg
Ki8KICAgICAgICAgICAgICAgIEZJRUxEICpmaWVsZCk7ICAgICAgICAgICAgLyogZmllbGQg
dG8gZ2V0IGluZGV4IG9mICovCjwvUFJFPgoKVGhlIGZ1bmN0aW9uIDxDT0RFPmZpZWxkX2lu
ZGV4KCk8L0NPREU+IHJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBnaXZlbiBmaWVsZAppbiB0
aGUgZ2l2ZW4gZm9ybSdzIGZpZWxkIGFycmF5ICh0aGUgYXJyYXkgcGFzc2VkIHRvIDxDT0RF
Pm5ld19mb3JtKCk8L0NPREU+IG9yCjxDT0RFPnNldF9mb3JtX2ZpZWxkcygpPC9DT0RFPiku
IDxQPgoKVGhlIGluaXRpYWwgY3VycmVudCBmaWVsZCBvZiBhIGZvcm0gaXMgdGhlIGZpcnN0
IGFjdGl2ZSBmaWVsZCBvbiB0aGUKZmlyc3QgcGFnZS4gVGhlIGZ1bmN0aW9uIDxDT0RFPnNl
dF9mb3JtX2ZpZWxkcygpPC9DT0RFPiByZXNldHMgdGhpcy48UD4KCkl0IGlzIGFsc28gcG9z
c2libGUgdG8gbW92ZSBhcm91bmQgYnkgcGFnZXMuCgo8UFJFPgppbnQgc2V0X2Zvcm1fcGFn
ZShGT1JNICpmb3JtLCAgICAgICAgICAgICAvKiBmb3JtIHRvIGFsdGVyICovCiAgICAgICAg
ICAgICAgICAgIGludCBwYWdlKTsgICAgICAgICAgICAgIC8qIHBhZ2UgdG8gZ28gdG8gKDAt
b3JpZ2luKSAqLwoKaW50IGZvcm1fcGFnZShGT1JNICpmb3JtKTsgICAgICAgICAgICAgICAg
LyogcmV0dXJuIGZvcm0ncyBjdXJyZW50IHBhZ2UgKi8KPC9QUkU+CgpUaGUgaW5pdGlhbCBw
YWdlIG9mIGEgbmV3bHktY3JlYXRlZCBmb3JtIGlzIDAuICBUaGUgZnVuY3Rpb24KPENPREU+
c2V0X2Zvcm1fZmllbGRzKCk8L0NPREU+IHJlc2V0cyB0aGlzLgoKPEgyPjxBIE5BTUU9ImZy
bW9wdGlvbnMiPkZvcm0gT3B0aW9uczwvQT48L0gyPgoKTGlrZSBmaWVsZHMsIGZvcm1zIG1h
eSBoYXZlIGNvbnRyb2wgb3B0aW9uIGJpdHMuICBUaGV5IGNhbiBiZSBjaGFuZ2VkCm9yIHF1
ZXJpZWQgd2l0aCB0aGVzZSBmdW5jdGlvbnM6Cgo8UFJFPgppbnQgc2V0X2Zvcm1fb3B0cyhG
T1JNICpmb3JtLCAgICAgICAgICAgICAvKiBmb3JtIHRvIGFsdGVyICovCiAgICAgICAgICAg
ICAgICAgIGludCBhdHRyKTsgICAgICAgICAgICAgIC8qIGF0dHJpYnV0ZSB0byBzZXQgKi8K
CmludCBmb3JtX29wdHNfb24oRk9STSAqZm9ybSwgICAgICAgICAgICAgIC8qIGZvcm0gdG8g
YWx0ZXIgKi8KICAgICAgICAgICAgICAgICBpbnQgYXR0cik7ICAgICAgICAgICAgICAgLyog
YXR0cmlidXRlcyB0byB0dXJuIG9uICovCgppbnQgZm9ybV9vcHRzX29mZihGT1JNICpmb3Jt
LCAgICAgICAgICAgICAvKiBmb3JtIHRvIGFsdGVyICovCiAgICAgICAgICAgICAgICAgIGlu
dCBhdHRyKTsgICAgICAgICAgICAgIC8qIGF0dHJpYnV0ZXMgdG8gdHVybiBvZmYgKi8KCmlu
dCBmb3JtX29wdHMoRk9STSAqZm9ybSk7ICAgICAgICAgICAgICAgIC8qIGZvcm0gdG8gcXVl
cnkgKi8KPC9QUkU+CgpCeSBkZWZhdWx0LCBhbGwgb3B0aW9ucyBhcmUgb24uICBIZXJlIGFy
ZSB0aGUgYXZhaWxhYmxlIG9wdGlvbiBiaXRzOgoKPERMPgo8RFQ+IE9fTkxfT1ZFUkxPQUQK
PEREPiBFbmFibGUgb3ZlcmxvYWRpbmcgb2YgPENPREU+UkVRX05FV19MSU5FPC9DT0RFPiBh
cyBkZXNjcmliZWQgaW4gPEEKTkFNRT0iZmVkaXQiPkVkaXRpbmcgUmVxdWVzdHM8L0E+LiAg
VGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9uIGlzCmlnbm9yZWQgb24gZHluYW1pYyBmaWVsZHMg
dGhhdCBoYXZlIG5vdCByZWFjaGVkIHRoZWlyIHNpemUgbGltaXQ7CnRoZXNlIGhhdmUgbm8g
bGFzdCBsaW5lLCBzbyB0aGUgY2lyY3Vtc3RhbmNlcyBmb3IgdHJpZ2dlcmluZyBhCjxDT0RF
PlJFUV9ORVhUX0ZJRUxEPC9DT0RFPiBuZXZlciBhcmlzZS4KPERUPiBPX0JTX09WRVJMT0FE
CjxERD4gRW5hYmxlIG92ZXJsb2FkaW5nIG9mIDxDT0RFPlJFUV9ERUxfUFJFVjwvQ09ERT4g
YXMgZGVzY3JpYmVkIGluCjxBIE5BTUU9ImZlZGl0Ij5FZGl0aW5nIFJlcXVlc3RzPC9BPi4K
PC9ETD4KClRoZSBvcHRpb24gdmFsdWVzIGFyZSBiaXQtbWFza3MgYW5kIGNhbiBiZSBjb21w
b3NlZCB3aXRoIGxvZ2ljYWwtb3IgaW4KdGhlIG9idmlvdXMgd2F5LgoKPEgyPjxBIE5BTUU9
ImZjdXN0b20iPkN1c3RvbSBWYWxpZGF0aW9uIFR5cGVzPC9BPjwvSDI+CgpUaGUgPENPREU+
Zm9ybTwvQ09ERT4gbGlicmFyeSBnaXZlcyB5b3UgdGhlIGNhcGFiaWxpdHkgdG8gZGVmaW5l
IGN1c3RvbQp2YWxpZGF0aW9uIHR5cGVzIG9mIHlvdXIgb3duLiAgRnVydGhlciwgdGhlIG9w
dGlvbmFsIGFkZGl0aW9uYWwgYXJndW1lbnRzCm9mIDxDT0RFPnNldF9maWVsZF90eXBlPC9D
T0RFPiBlZmZlY3RpdmVseSBhbGxvdyB5b3UgdG8gcGFyYW1ldGVyaXplIHZhbGlkYXRpb24K
dHlwZXMuICBNb3N0IG9mIHRoZSBjb21wbGljYXRpb25zIGluIHRoZSB2YWxpZGF0aW9uLXR5
cGUgaW50ZXJmYWNlIGhhdmUgdG8KZG8gd2l0aCB0aGUgaGFuZGxpbmcgb2YgdGhlIGFkZGl0
aW9uYWwgYXJndW1lbnRzIHdpdGhpbiBjdXN0b20gdmFsaWRhdGlvbgpmdW5jdGlvbnMuCgo8
SDM+PEEgTkFNRT0iZmxpbmt0eXBlcyI+VW5pb24gVHlwZXM8L0E+PC9IMz4KClRoZSBzaW1w
bGVzdCB3YXkgdG8gY3JlYXRlIGEgY3VzdG9tIGRhdGEgdHlwZSBpcyB0byBjb21wb3NlIGl0
IGZyb20gdHdvCnByZWV4aXN0aW5nIG9uZXM6Cgo8UFJFPgpGSUVMRCAqbGlua19maWVsZHR5
cGUoRklFTERUWVBFICp0eXBlMSwKICAgICAgICAgICAgICAgICAgICAgIEZJRUxEVFlQRSAq
dHlwZTIpOwo8L1BSRT4KClRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIGZpZWxkIHR5cGUgdGhh
dCB3aWxsIGFjY2VwdCBhbnkgb2YgdGhlIHZhbHVlcwpsZWdhbCBmb3IgZWl0aGVyIG9mIGl0
cyBhcmd1bWVudCBmaWVsZCB0eXBlcyAod2hpY2ggbWF5IGJlIGVpdGhlcgpwcmVkZWZpbmVk
IG9yIHByb2dyYW1tZXItZGVmaW5lZCkuCgpJZiBhIDxDT0RFPnNldF9maWVsZF90eXBlKCk8
L0NPREU+IGNhbGwgbGF0ZXIgcmVxdWlyZXMgYXJndW1lbnRzLCB0aGUgbmV3CmNvbXBvc2l0
ZSB0eXBlIGV4cGVjdHMgYWxsIGFyZ3VtZW50cyBmb3IgdGhlIGZpcnN0IHR5cGUsIHRoYW4g
YWxsIGFyZ3VtZW50cwpmb3IgdGhlIHNlY29uZC4gIE9yZGVyIGZ1bmN0aW9ucyAoc2VlIDxB
IEhSRUY9IiNmb3JkZXIiPk9yZGVyIFJlcXVlc3RzPC9BPikKYXNzb2NpYXRlZCB3aXRoIHRo
ZSBjb21wb25lbnQgdHlwZXMgd2lsbCB3b3JrIG9uIHRoZSBjb21wb3NpdGU7IHdoYXQgaXQg
ZG9lcwppcyBjaGVjayB0aGUgdmFsaWRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGZpcnN0IHR5
cGUsIHRoZW4gZm9yIHRoZSBzZWNvbmQsIHRvCmZpZ3VyZSB3aGF0IHR5cGUgdGhlIGJ1ZmZl
ciBjb250ZW50cyBzaG91bGQgYmUgdHJlYXRlZCBhcy4KCjxIMz48QSBOQU1FPSJmbmV3dHlw
ZXMiPk5ldyBGaWVsZCBUeXBlczwvQT48L0gzPgoKVG8gY3JlYXRlIGEgZmllbGQgdHlwZSBm
cm9tIHNjcmF0Y2gsIHlvdSBuZWVkIHRvIHNwZWNpZnkgb25lIG9yIGJvdGggb2YgdGhlCmZv
bGxvd2luZyB0aGluZ3M6Cgo8VUw+CjxMST5BIGNoYXJhY3Rlci12YWxpZGF0aW9uIGZ1bmN0
aW9uLCB0byBjaGVjayBlYWNoIGNoYXJhY3RlciBhcyBpdCBpcyBlbnRlcmVkLgo8TEk+QSBm
aWVsZC12YWxpZGF0aW9uIGZ1bmN0aW9uIHRvIGJlIGFwcGxpZWQgb24gZXhpdCBmcm9tIHRo
ZSBmaWVsZC4KPC9VTD4KCkhlcmUncyBob3cgeW91IGRvIHRoYXQ6CjxQUkU+CnR5cGVkZWYg
aW50CSgqSE9PSykoKTsgICAgICAgLyogcG9pbnRlciB0byBmdW5jdGlvbiByZXR1cm5pbmcg
aW50ICovCgpGSUVMRFRZUEUgKm5ld19maWVsZHR5cGUoSE9PSyBmX3ZhbGlkYXRlLCAvKiBm
aWVsZCB2YWxpZGF0b3IgKi8KICAgICAgICAgICAgICAgICAgICAgICAgIEhPT0sgY192YWxp
ZGF0ZSkgLyogY2hhcmFjdGVyIHZhbGlkYXRvciAqLwoKCmludCBmcmVlX2ZpZWxkdHlwZShG
SUVMRFRZUEUgKmZ0eXBlKTsgICAgIC8qIHR5cGUgdG8gZnJlZSAqLwo8L1BSRT4KCkF0IGxl
YXN0IG9uZSBvZiB0aGUgYXJndW1lbnRzIG9mIDxDT0RFPm5ld19maWVsZHR5cGUoKTwvQ09E
RT4gbXVzdCBiZQpub24tTlVMTC4gIFRoZSBmb3JtcyBkcml2ZXIgd2lsbCBhdXRvbWF0aWNh
bGx5IGNhbGwgdGhlIG5ldyB0eXBlJ3MKdmFsaWRhdGlvbiBmdW5jdGlvbnMgYXQgYXBwcm9w
cmlhdGUgcG9pbnRzIGluIHByb2Nlc3NpbmcgYSBmaWVsZCBvZgp0aGUgbmV3IHR5cGUuIDxQ
PgoKVGhlIGZ1bmN0aW9uIDxDT0RFPmZyZWVfZmllbGR0eXBlKCk8L0NPREU+IGRlYWxsb2Nh
dGVzIHRoZSBhcmd1bWVudApmaWVsZHR5cGUsIGZyZWVpbmcgYWxsIHN0b3JhZ2UgYXNzb2Np
YXRlZCB3aXRoIGl0LiA8UD4KCk5vcm1hbGx5LCBhIGZpZWxkIHZhbGlkYXRvciBpcyBjYWxs
ZWQgd2hlbiB0aGUgdXNlciBhdHRlbXB0cyB0bwpsZWF2ZSB0aGUgZmllbGQuICBJdHMgZmly
c3QgYXJndW1lbnQgaXMgYSBmaWVsZCBwb2ludGVyLCBmcm9tIHdoaWNoIGl0CmNhbiBnZXQg
dG8gZmllbGQgYnVmZmVyIDAgYW5kIHRlc3QgaXQuICBJZiB0aGUgZnVuY3Rpb24gcmV0dXJu
cyBUUlVFLAp0aGUgb3BlcmF0aW9uIHN1Y2NlZWRzOyBpZiBpdCByZXR1cm5zIEZBTFNFLCB0
aGUgZWRpdCBjdXJzb3Igc3RheXMgaW4KdGhlIGZpZWxkLiA8UD4KCkEgY2hhcmFjdGVyIHZh
bGlkYXRvciBnZXRzIHRoZSBjaGFyYWN0ZXIgcGFzc2VkIGluIGFzIGEgZmlyc3QgYXJndW1l
bnQuCkl0IHRvbyBzaG91bGQgcmV0dXJuIFRSVUUgaWYgdGhlIGNoYXJhY3RlciBpcyB2YWxp
ZCwgRkFMU0Ugb3RoZXJ3aXNlLgoKPEgzPjxBIE5BTUU9ImZjaGVja2FyZ3MiPlZhbGlkYXRp
b24gRnVuY3Rpb24gQXJndW1lbnRzPC9BPjwvSDM+CgpZb3VyIGZpZWxkLSBhbmQgY2hhcmFj
dGVyLSB2YWxpZGF0aW9uIGZ1bmN0aW9ucyB3aWxsIGJlIHBhc3NlZCBhCnNlY29uZCBhcmd1
bWVudCBhcyB3ZWxsLiAgVGhpcyBzZWNvbmQgYXJndW1lbnQgaXMgdGhlIGFkZHJlc3Mgb2Yg
YQpzdHJ1Y3R1cmUgKHdoaWNoIHdlJ2xsIGNhbGwgYSA8RU0+cGlsZTwvRU0+KSBidWlsdCBm
cm9tIGFueSBvZiB0aGUKZmllbGQtdHlwZS1zcGVjaWZpYyBhcmd1bWVudHMgcGFzc2VkIHRv
IDxDT0RFPnNldF9maWVsZF90eXBlKCk8L0NPREU+LiAgSWYKbm8gc3VjaCBhcmd1bWVudHMg
YXJlIGRlZmluZWQgZm9yIHRoZSBmaWVsZCB0eXBlLCB0aGlzIHBpbGUgcG9pbnRlcgphcmd1
bWVudCB3aWxsIGJlIE5VTEwuIDxQPgoKSW4gb3JkZXIgdG8gYXJyYW5nZSBmb3Igc3VjaCBh
cmd1bWVudHMgdG8gYmUgcGFzc2VkIHRvIHlvdXIgdmFsaWRhdGlvbgpmdW5jdGlvbnMsIHlv
dSBtdXN0IGFzc29jaWF0ZSBhIHNtYWxsIHNldCBvZiBzdG9yYWdlLW1hbmFnZW1lbnQgZnVu
Y3Rpb25zCndpdGggdGhlIHR5cGUuICBUaGUgZm9ybXMgZHJpdmVyIHdpbGwgdXNlIHRoZXNl
IHRvIHN5bnRoZXNpemUgYSBwaWxlCmZyb20gdGhlIHRyYWlsaW5nIGFyZ3VtZW50cyBvZiBl
YWNoIDxDT0RFPnNldF9maWVsZF90eXBlKCk8L0NPREU+IGFyZ3VtZW50LCBhbmQKYSBwb2lu
dGVyIHRvIHRoZSBwaWxlIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSB2YWxpZGF0aW9uIGZ1bmN0
aW9ucy4gPFA+CgpIZXJlIGlzIGhvdyB5b3UgbWFrZSB0aGUgYXNzb2NpYXRpb246Cgo8UFJF
Pgp0eXBlZGVmIGNoYXIJKigqUFRSSE9PSykoKTsgICAgLyogcG9pbnRlciB0byBmdW5jdGlv
biByZXR1cm5pbmcgKGNoYXIgKikgKi8KdHlwZWRlZiB2b2lkCSgqVk9JREhPT0spKCk7ICAg
IC8qIHBvaW50ZXIgdG8gZnVuY3Rpb24gcmV0dXJuaW5nIHZvaWQgKi8KCmludCBzZXRfZmll
bGR0eXBlX2FyZyhGSUVMRFRZUEUgKnR5cGUsICAgIC8qIHR5cGUgdG8gYWx0ZXIgKi8KICAg
ICAgICAgICAgICAgICAgICAgIFBUUkhPT0sgbWFrZV9zdHIsICAgLyogbWFrZSBzdHJ1Y3R1
cmUgZnJvbSBhcmdzICovCiAgICAgICAgICAgICAgICAgICAgICBQVFJIT09LIGNvcHlfc3Ry
LCAgIC8qIG1ha2UgY29weSBvZiBzdHJ1Y3R1cmUgKi8KICAgICAgICAgICAgICAgICAgICAg
IFZPSURIT09LIGZyZWVfc3RyKTsgLyogZnJlZSBzdHJ1Y3R1cmUgc3RvcmFnZSAqLwo8L1BS
RT4KCkhlcmUgaXMgaG93IHRoZSBzdG9yYWdlLW1hbmFnZW1lbnQgaG9va3MgYXJlIHVzZWQ6
Cgo8REw+CjxEVD4gPENPREU+bWFrZV9zdHI8L0NPREU+CjxERD4gVGhpcyBmdW5jdGlvbiBp
cyBjYWxsZWQgYnkgPENPREU+c2V0X2ZpZWxkX3R5cGUoKTwvQ09ERT4uICBJdCBnZXRzIG9u
ZQphcmd1bWVudCwgYSA8Q09ERT52YV9saXN0PC9DT0RFPiBvZiB0aGUgdHlwZS1zcGVjaWZp
YyBhcmd1bWVudHMgcGFzc2VkIHRvCjxDT0RFPnNldF9maWVsZF90eXBlKCk8L0NPREU+LiAg
SXQgaXMgZXhwZWN0ZWQgdG8gcmV0dXJuIGEgcGlsZSBwb2ludGVyIHRvIGEgZGF0YQpzdHJ1
Y3R1cmUgdGhhdCBlbmNhcHN1bGF0ZXMgdGhvc2UgYXJndW1lbnRzLgo8RFQ+IDxDT0RFPmNv
cHlfc3RyPC9DT0RFPgo8REQ+IFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGZvcm0gbGli
cmFyeSBmdW5jdGlvbnMgdGhhdCBhbGxvY2F0ZSBuZXcKZmllbGQgaW5zdGFuY2VzLiAgSXQg
aXMgZXhwZWN0ZWQgdG8gdGFrZSBhIHBpbGUgcG9pbnRlciwgY29weSB0aGUgcGlsZQp0byBh
bGxvY2F0ZWQgc3RvcmFnZSwgYW5kIHJldHVybiB0aGUgYWRkcmVzcyBvZiB0aGUgcGlsZSBj
b3B5Lgo8RFQ+IDxDT0RFPmZyZWVfc3RyPC9DT0RFPgo8REQ+IFRoaXMgZnVuY3Rpb24gaXMg
Y2FsbGVkIGJ5IGZpZWxkLSBhbmQgdHlwZS1kZWFsbG9jYXRpb24gcm91dGluZXMgaW4gdGhl
CmxpYnJhcnkuICBJdCB0YWtlcyBhIHBpbGUgcG9pbnRlciBhcmd1bWVudCwgYW5kIGlzIGV4
cGVjdGVkIHRvIGZyZWUgdGhlCnN0b3JhZ2Ugb2YgdGhhdCBwaWxlLgo8L0RMPgoKVGhlIDxD
T0RFPm1ha2Vfc3RyPC9DT0RFPiBhbmQgPENPREU+Y29weV9zdHI8L0NPREU+IGZ1bmN0aW9u
cyBtYXkgcmV0dXJuIE5VTEwgdG8Kc2lnbmFsIGFsbG9jYXRpb24gZmFpbHVyZS4gIFRoZSBs
aWJyYXJ5IHJvdXRpbmVzIHdpbGwgdGhhdCBjYWxsIHRoZW0gd2lsbApyZXR1cm4gZXJyb3Ig
aW5kaWNhdGlvbiB3aGVuIHRoaXMgaGFwcGVucy4gIFRodXMsIHlvdXIgdmFsaWRhdGlvbiBm
dW5jdGlvbnMKc2hvdWxkIG5ldmVyIHNlZSBhIE5VTEwgZmlsZSBwb2ludGVyIGFuZCBuZWVk
IG5vdCBjaGVjayBzcGVjaWFsbHkgZm9yIGl0LgoKPEgzPjxBIE5BTUU9ImZjdXN0b3JkZXIi
Pk9yZGVyIEZ1bmN0aW9ucyBGb3IgQ3VzdG9tIFR5cGVzPC9BPjwvSDM+CgpTb21lIGN1c3Rv
bSBmaWVsZCB0eXBlcyBhcmUgc2ltcGx5IG9yZGVyZWQgaW4gdGhlIHNhbWUgd2VsbC1kZWZp
bmVkIHdheQp0aGF0IDxDT0RFPlRZUEVfRU5VTTwvQ09ERT4gaXMuICBGb3Igc3VjaCB0eXBl
cywgaXQgaXMgcG9zc2libGUgdG8gZGVmaW5lCnN1Y2Nlc3NvciBhbmQgcHJlZGVjZXNzb3Ig
ZnVuY3Rpb25zIHRvIHN1cHBvcnQgdGhlIDxDT0RFPlJFUV9ORVhUX0NIT0lDRTwvQ09ERT4K
YW5kIDxDT0RFPlJFUV9QUkVWX0NIT0lDRTwvQ09ERT4gcmVxdWVzdHMuIEhlcmUncyBob3c6
Cgo8UFJFPgp0eXBlZGVmIGludAkoKklOVEhPT0spKCk7ICAgICAvKiBwb2ludGVyIHRvIGZ1
bmN0aW9uIHJldHVybmluZyBpbnQgKi8KCmludCBzZXRfZmllbGR0eXBlX2FyZyhGSUVMRFRZ
UEUgKnR5cGUsICAgIC8qIHR5cGUgdG8gYWx0ZXIgKi8KICAgICAgICAgICAgICAgICAgICAg
IElOVEhPT0sgc3VjYywgICAgICAgLyogZ2V0IHN1Y2Nlc3NvciB2YWx1ZSAqLwogICAgICAg
ICAgICAgICAgICAgICAgSU5USE9PSyBwcmVkKTsgICAgICAvKiBnZXQgcHJlZGVjZXNzb3Ig
dmFsdWUgKi8KPC9QUkU+CgpUaGUgc3VjY2Vzc29yIGFuZCBwcmVkZWNlc3NvciBhcmd1bWVu
dHMgd2lsbCBlYWNoIGJlIHBhc3NlZCB0d28gYXJndW1lbnRzOwphIGZpZWxkIHBvaW50ZXIs
IGFuZCBhIHBpbGUgcG9pbnRlciAoYXMgZm9yIHRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9ucyku
ICBUaGV5CmFyZSBleHBlY3RlZCB0byB1c2UgdGhlIGZ1bmN0aW9uIDxDT0RFPmZpZWxkX2J1
ZmZlcigpPC9DT0RFPiB0byByZWFkIHRoZQpjdXJyZW50IHZhbHVlLCBhbmQgPENPREU+c2V0
X2ZpZWxkX2J1ZmZlcigpPC9DT0RFPiBvbiBidWZmZXIgMCB0byBzZXQgdGhlIG5leHQKb3Ig
cHJldmlvdXMgdmFsdWUuICBFaXRoZXIgaG9vayBtYXkgcmV0dXJuIFRSVUUgdG8gaW5kaWNh
dGUgc3VjY2VzcyAoYQpsZWdhbCBuZXh0IG9yIHByZXZpb3VzIHZhbHVlIHdhcyBzZXQpIG9y
IEZBTFNFIHRvIGluZGljYXRlIGZhaWx1cmUuCgo8SDM+PEEgTkFNRT0iZmN1c3Rwcm9icyI+
QXZvaWRpbmcgUHJvYmxlbXM8L0E+PC9IMz4KClRoZSBpbnRlcmZhY2UgZm9yIGRlZmluaW5n
IGN1c3RvbSB0eXBlcyBpcyBjb21wbGljYXRlZCBhbmQgdHJpY2t5LgpSYXRoZXIgdGhhbiBh
dHRlbXB0aW5nIHRvIGNyZWF0ZSBhIGN1c3RvbSB0eXBlIGVudGlyZWx5IGZyb20gc2NyYXRj
aCwKeW91IHNob3VsZCBzdGFydCBieSBzdHVkeWluZyB0aGUgbGlicmFyeSBzb3VyY2UgY29k
ZSBmb3Igd2hpY2hldmVyIG9mCnRoZSBwcmUtZGVmaW5lZCB0eXBlcyBzZWVtcyB0byBiZSBj
bG9zZXN0IHRvIHdoYXQgeW91IHdhbnQuIDxQPgoKVXNlIHRoYXQgY29kZSBhcyBhIG1vZGVs
LCBhbmQgZXZvbHZlIGl0IHRvd2FyZHMgd2hhdCB5b3UgcmVhbGx5IHdhbnQuCllvdSB3aWxs
IGF2b2lkIG1hbnkgcHJvYmxlbXMgYW5kIGFubm95YW5jZXMgdGhhdCB3YXkuICBUaGUgY29k
ZQppbiB0aGUgPENPREU+bmN1cnNlczwvQ09ERT4gbGlicmFyeSBoYXMgYmVlbiBzcGVjaWZp
Y2FsbHkgZXhlbXB0ZWQgZnJvbQp0aGUgcGFja2FnZSBjb3B5cmlnaHQgdG8gc3VwcG9ydCB0
aGlzLiA8UD4KCklmIHlvdXIgY3VzdG9tIHR5cGUgZGVmaW5lcyBvcmRlciBmdW5jdGlvbnMs
IGhhdmUgZG8gc29tZXRoaW5nIGludHVpdGl2ZQp3aXRoIGEgYmxhbmsgZmllbGQuICBBIHVz
ZWZ1bCBjb252ZW50aW9uIGlzIHRvIG1ha2UgdGhlIHN1Y2Nlc3NvciBvZiBhCmJsYW5rIGZp
ZWxkIHRoZSB0eXBlcyBtaW5pbXVtIHZhbHVlLCBhbmQgaXRzIHByZWRlY2Vzc29yIHRoZSBt
YXhpbXVtLgo8L0JPRFk+CjwvSFRNTD4K

reply via email to

[Prev in Thread] Current Thread [Next in Thread]