GObject-Introspection 0.6.3
Johan Dahlin <[email protected]> Mon, 22 Jun 2009 16:44:54 -0300
| Newsgroups | gmane.comp.gnome.gtk+.devel.general,gmane.comp.gnome.language-bindings |
|---|---|
| Message-ID | <[email protected]> |
--0016364edd44b74f3f046cf51ba8
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
I'm proud to announce another release of GObject-Introspection.
Tarballs can be found at:
http://download.gnome.org/sources/gobject-introspection/0.6/
What's new in this release?
0.6.3 22-jun 2009
Bugs resolved:
- 551738 Association needed between records and classes/interfaces
- 555960 Nested structs and unions
- 555964 float #defined constants are ignored
- 556475 support Shadows: annotation
- 561360 do not fail for not-found GTypes
- 561604 g-ir-compiler fails on gvariant
- 563469 Arrays not treated correctly in struct offset calculation
- 563682 Fails to build on Hurd/i386 because of undefined PATH_MAX
- 564016 add nsprefix to gir and typelib
- 566560 giscanner.transformer.SkipError
- 567906 put pkg-config name in gir, use them by default in scanner
- 568680 Scanner misses fields (at least in GObject.Object)
- 569355 warning fixes
- 569633 [PATCH] Typelib compiler fails with vararg callbacks.
- 569930 g_registered_type_info_get_g_type does not handle GObject
- 570594 everything you know about C syntax is wrong
- 570903 Add information about -I flag to scanner manpage.
- 571182 introspection.m4 issues
- 571248 [patch] ignore unknown elements in gir parser
- 571483 .gir should be sorted
- 571548 generic typelib attributes
- 571649 Rename Soup-2.0.gir to Soup-2.4.gir
- 572075 Make the scanner work with static and convenience libraries
- 572086 Parse doc-comment tags case-insensitive
- 572423 Add c:header-filename or c:header-filenames where appropr...
- 572434 Have glib:is-iface-struct-for attribute on *Iface structs
- 572563 build failure in tests/everything
- 572790 #defines should be parsed in .h files but not .c files
- 572965 Allow generic marshaller to be called without parameters
- 573306 Relax callback grouping detection rules
- 573309 Adding an "--all" parameter to g-ir-generate
- 573332 Allow annotation of enums as bitfields
- 574139 There is no way to identify 'user_data' arguments in the ...
- 574284 Add support for a 'closure' and 'destroy' annotations
- 574501 build script looks for site-packages instead of dist-pack...
- 575613 incorrect enum stripping
- 576323 g-ir-compiler fails with constant in classes
- 576605 Get rid of GI_SCOPE_TYPE_OBJECT
- 576627 gir-repository: WebKit needs to include Soup-2.4
- 577065 Fix 'Could not find GIR file ...' error to use right file...
- 577534 use rename() to write out typelibs
- 577546 Missing annotations for GLib, GObject and Gio
- 579522 gobject-introspection fails to build when missing libsoup...
- 579602 Annotation fixes for gdk, gdkpixbuf, gtk and notify
- 581680 Leftover bogus text in g-object-introspection documentation
- 581681 Allow the use of the "Rename To" annotation for literal m...
- 581682 Improve "Everything" test library
- 581684 Minor doc comment fix
- 581685 Allow nested parameterized types for GList, GSList, and G...
- 581689 Better handle classes with non-standard to_underscore names.
- 583338 GIR annotations: gtk_init can take a null argv
- 584423 Add short/ushort support
- 584432 g-ir-compiler fails to find gir files installed by gobjec...
- 584453 Default annotations value for const gchar* const *
- 584816 Add GLclampf to the GL GIR
- 584842 Add an Everything-1.0-expected.gir, test Everything versu...
- 585081 libgirepository-everything is not linked against libglib,...
- 585141 Incomplete gir generation for GdkPixbuf, Atk, Poppler
- 585150 XPATH_TESTS are not run
- 585328 g_type_info_is_zero_terminated returns TRUE unless (array...
- 585373 Add annotations for g_spawn_* functions.
- 585579 g-o-i: 'make check' doesn't check Everything-1.0-expected...
- 585584 Fix warnings in girparser.c and compiler.c
- 585908 make distcheck fails
Contributors:
C. Scott Ananian, Emmanuele Bassi, Johan Bilien, Robert Carr,
Johan Dahlin, Holger Hans Peter Freyther, Marco Pesenti Gritti,
David Ignacio, Mark Lee, Simon van der Linden, Xan Lopez,
Didier 'Ptitjes, Chris Rivera, Andreas Rottmann, Owen W. Taylor,
Colin Walters, Dan Winship, Tomeu Vizoso and Marina Zhurakhinskaya
The goal of the project is to describe the APIs and collect them in
a uniform, machine readable format. The initial target is language bindings,
which are heavy users of this kind of data.
Interesting parts of this release includes:
* GIR - An XML format used to describe APIs
* Typelib - a way to serialize GIR to disk
* libgirepository - C API to access typelib
GIR format is fairly stable, but expect small parts to change.
The typelib format is not complete and will be extended upon in future releases.
See http://live.gnome.org/GObjectIntrospection and the README included
in the tarball for more information.
GObject-Introspection requires flex, bison, python (2.5 or higher) and
glib. ffi 3.0.1 or higher can optionally be used.
Reports bugs to
http://bugzilla.gnome.org/enter_bug.cgi?product=glib&component=introspection
Contract us at: [email protected] or #introspection at irc.gnome.org
Homepage: http://live.gnome.org/GObjectIntrospection
--0016364edd44b74f3f046cf51ba8
Content-Type: text/plain; charset=UTF-8; name="shortlog.txt"
Content-Disposition: attachment; filename="shortlog.txt"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fw9lcb0e0
QW5kcmVhcyBSb3R0bWFubiAoMTkpOgogICAgICBCdWcgNTU1NzEyOiBTdHJ1Y3QgYW5kIHVuaW9u
IGlzc3VlcwogICAgICBCdWcgNTU2NDg5IOKAkyBjYWxsYmFjayBhbm5vdGF0aW9ucwogICAgICBC
dWcgNTYzNDY5IOKAkyBBcnJheXMgbm90IHRyZWF0ZWQgY29ycmVjdGx5IGluIHN0cnVjdCBvZmZz
ZXQgY2FsY3VsYXRpb24KICAgICAgQnVnIDU2NjQwNCDigJMgQW5ub3RhdGlvbnMgZm9yIEdMaWIK
ICAgICAgQnVnIDU3MzMwNiDigJMgUmVsYXggY2FsbGJhY2sgZ3JvdXBpbmcgZGV0ZWN0aW9uIHJ1
bGVzCiAgICAgIEFkZGl0aW9ucyB0byAiRXZlcnl0aGluZyIgdGVzdCBuYW1lc3BhY2UKICAgICAg
QWRkIC0tYWxsIG9wdGlvbiB0byBnLWlyLWdlbmVyYXRlCiAgICAgIEludHJvZHVjZSBkb2N1bWVu
dGF0aW9uLWJsb2NrIG9wdGlvbnMKICAgICAgQnVnIDU3MzMzMiAtIEFsbG93IGFubm90YXRpb24g
b2YgZW51bXMgYXMgYml0ZmllbGRzCiAgICAgIEJ1ZyA1NzQxMzkg4oCTIFRoZXJlIGlzIG5vIHdh
eSB0byBpZGVudGlmeSAndXNlcl9kYXRhJyBhcmd1bWVudHMgaW4gdGhlIGNhbGxiYWNrIHNpZ25h
dHVyZQogICAgICBCdWcgNTU2NDc1IOKAkyBzdXBwb3J0IFNoYWRvd3M6IGFubm90YXRpb24KICAg
ICAgU29tZSBzbWFsbCBjb3NtZXRpYyB0d2Vha3MKICAgICAgQnVnIDU3NDI4NCAtIEFkZCBzdXBw
b3J0IGZvciBhICdjbG9zdXJlJyBhbmQgJ2Rlc3Ryb3knIGFubm90YXRpb25zCiAgICAgIEFkZCBz
ZXZlcmFsIEdMaWIgYW5ub3RhdGlvbnMKICAgICAgQWRkaXRpb25zIHRvIHRoZSAnRXZlcnl0aGlu
ZycgbmFtZXNwYWNlCiAgICAgIFJlbW92ZSBzcHVyaW91cyBhZGRpdGlvbiBvZiAnR1NMaXN0ICpo
YW5kbGVycycgaW4gbGFzdCBjb21taXQKICAgICAgQnVnIDU3NjYwNSAtIEdldCByaWQgb2YgR0lf
U0NPUEVfVFlQRV9PQkpFQ1QKICAgICAgQSBmZXcgdHJhbnNmZXItcmVsYXRlZCB0ZXN0cyBmb3Ig
IkV2ZXJ5dGhpbmciCiAgICAgIEV2ZXJ5dGhpbmc6IGFkZCBhIGJveGVkIHByb3BlcnR5IHRvIFRl
c3RPYmoKCkMuIFNjb3R0IEFuYW5pYW4gKDE2KToKICAgICAgUmVtb3ZlIG9ycGhhbiB0ZXh0LCBs
ZWZ0IG92ZXIgZnJvbSBwYXJlbnQgZG9jdW1lbnQuCiAgICAgIEFsbG93IHRoZSB1c2Ugb2YgdGhl
ICJSZW5hbWUgVG8iIGFubm90YXRpb24gZm9yIGxpdGVyYWwgbWV0aG9kIHJlbmFtaW5nLgogICAg
ICBFbmFibGUgdGhlIHV0ZjggdGVzdHMgaW4gdGhlIGV2ZXJ5dGhpbmcgbW9kdWxlLgogICAgICBG
aXggYW5ub3RhdGlvbnMgZm9yIEdMaXN0IGFuZCBHU0xpc3QgdGVzdHMuCiAgICAgIEV2ZXJ5dGhp
bmc6IG1vcmUgdGVzdHMgZm9yIGludGVnZXIgYXJyYXkgcGFyYW1ldGVycy4KICAgICAgRml4IHRo
ZSBsaXN0IGNvbXBhcmlzb24gYXNzZXJ0aW9ucy4KICAgICAgQWRkIEdIYXNoIHRlc3RzIHRvIEV2
ZXJ5dGhpbmcgdGVzdCBHSSBsaWJyYXJ5LgogICAgICBVcGRhdGUgZG9jIGNvbW1lbnRzLgogICAg
ICBCZXR0ZXIgaGFuZGxlIGNsYXNzZXMgd2l0aCBub24tc3RhbmRhcmQgdG9fdW5kZXJzY29yZSBu
YW1lcy4KICAgICAgQW5ub3RhdGlvbnMgZm9yIGdfb3B0aW9uX2NvbnRleHRfcGFyc2UuCiAgICAg
IEJ1ZyA1ODE2ODU6IFBhcnNlIHBhcmFtZXRlcml6ZWQgdHlwZXMgKHVzaW5nIDw+KSBpbiBhbm5v
dGF0aW9ucy4KICAgICAgQnVnIDU4NTM3NDogRml4IG1pc3NwZWxsaW5nIG9mICdpbmZpbml0ZScu
CiAgICAgIEJ1ZyA1ODU1ODQ6IEZpeCB3YXJuaW5ncyBpbiBnaXJwYXJzZXIgYmFja3RyYWNlIGZ1
bmN0aW9uYWxpdHkgYW5kIGNvbXBpbGVyLmMKICAgICAgQnVnIDU4NTM3MzogQWRkIGFubm90YXRp
b25zIGZvciBnX3NwYXduXyogZnVuY3Rpb25zLgogICAgICBCdWcgNTg1NTc5OiBVcGRhdGUgRXZl
cnl0aGluZy0xLjAtZXhwZWN0ZWQuZ2lyIHRvIG1hdGNoIHJlY2VudCBhcnJheS9zdHJ2IGNoYW5n
ZXMuCiAgICAgIEJ1ZyA1ODU1Nzk6IGFjdHVhbGx5IGNoZWNrIEV2ZXJ5dGhpbmctMS4wLWV4cGVj
dGVkLmdpcgoKQ2hyaXMgUml2ZXJhICgxKToKICAgICAgRml4IHBlcDgucHkgYW5kIGl0cyBpbnZv
Y2F0aW9uLgoKQ2hyaXN0b3BoZSBGZXJnZWF1ICgxKToKICAgICAgcmFpc2UgWVlfQlVGX1NJWkUg
dG8gNjU1MzYgdXAgZnJvbSB0aGUgZGVmYXVsdCAxNjM4NC4KCkNvbGluIFdhbHRlcnMgKDM4Mik6
CiAgICAgIEFkZCBlbnZpcm9ubWVudCB2YXJpYWJsZSBHX0lSRVBPU0lUT1JZX1ZFUkJPU0Ugc28g
d2UgY2FuIHByaW50IG91dCB3aGF0CiAgICAgIEluc3RhbGwgZy1pZGwtY29tcGlsZXIgYW5kIGct
aWRsLWdlbmVyYXRlIHRvIGdvIGFsb25nIHdpdGggaG93IHdlJ3JlCiAgICAgIFNheSBleHBsaWNp
dGx5IHdoaWNoIG5vZGUgd2FzIE5VTEwKICAgICAgUmVtb3ZlIGRlYnVnIHByaW50CiAgICAgIFBh
c3MgdGhyb3VnaCBwYXJlbnQgbm9kZSBzbyB3ZSBjYW4gcHJpbnQgdGhlIG5vZGUgd2hvc2UgY2hp
bGQgaXMgTlVMTCwgaWYKICAgICAgLmdpciBmaWxlIGRlcGVuZHMgb24gbGlidG9vbCBsaWJyYXJ5
LgogICAgICBVc2UgbG9jYWwgLmdpciBmaWxlcyBhZ2Fpbi4KICAgICAgQWRkIG5ldyBkZWNvcmF0
b3IgQGd3cmFwIHdoaWNoIGZvcmNlcyB1cyB0byBkZWNsYXJlIHR5cGVzIGZvciBib3RoIHJldHVy
bgogICAgICBVc2UgdGhlIGNvcnJlY3QgdGVzdHMuCiAgICAgIFJlbW92ZSB1c2FnZSBvZiAoR0FQ
SS1vcmllbnRlZCkgVHlwZVRhZyBpbiBmYXZvciBvZiBHSVR5cGVUYWcgZnJvbQogICAgICBEZXAg
LmdpciBmaWxlcyBvbiBzY2FubmVyIHNvdXJjZXMgdG9vLiBBbHNvIHJlbW92ZSBAIHNvIHdlIHNl
ZSBzY2FubmVyCiAgICAgIEFkZCBlbnVtIHJldHVybiB2YWx1ZS4gVHJhbnNmb3JtIGZ1bmN0aW9u
IHJldHVybiB0eXBlcyB0b28uCiAgICAgIFdlIG5lZWQgdG8gZG8gdHlwZSByZXNvbHV0aW9uIGlu
IGEgc2Vjb25kIHBhc3MgYWZ0ZXIgd2UndmUgc2VlbiBhbGwgdGhlCiAgICAgIEhhbmRsZSAnYW55
Jy4gQWRkIHRlc3QgZm9yIHZvaWQgKi4KICAgICAgQWxzbyB0cmFuc2Zvcm0gY2FsbGJhY2tzIGFu
ZCBzdHJ1Y3R1cmUgZmllbGQgdHlwZXMuIFVwZGF0ZSB0byBleHBlY3QKICAgICAgcGVwOAogICAg
ICBBbHNvIHRyYW5zZm9ybSBvYmplY3QgcHJvcGVydGllcy4KICAgICAgUmVjb3JkIHR5cGVkZWZz
IGFzIDxhbGlhcz4gZWxlbWVudHMuIEFsc28gYXR0ZW1wdCB0byBsb29rIHVwIHR5cGVzIGluCiAg
ICAgIFBhcnNlIG1vcmUgdGhhbiBqdXN0IDxjbGFzcy4gUHV0IGFsaWFzZXMgaW4gYSBzZXBhcmF0
ZSBkYXRhIHN0cnVjdHVyZQogICAgICBGaXggcHJvY2Vzc2luZyBvZiBmdW5jdGlvbnMgZnJvbSBs
YXN0IGNvbW1pdC4KICAgICAgT2JqZWN0IGlzIGluIEdPYmplY3QgbmFtZXNwYWNlLgogICAgICBV
c2UgY29ycmVjdCBuYW1lc3BhY2UsIGFkZCBHVHlwZS4gSGFuZGxlIGFsaWFzZXMuIFJlY29yZCBh
bGlhc2VzLiBNYWtlCiAgICAgIEluc3RhbGwgYWdhaW4uIEFkZCBzb21lIG1vcmUgYml0cy4KICAg
ICAgUGFyc2UgcmVjb3Jkcy4KICAgICAgQ29tbWVudCBkYXRhIHN0cnVjdHVyZXMuIEFsc28gc3F1
YXNoIHBvaW50ZXJzIGluIHJlc29sdmVfdHlwZV9uYW1lIHRvCiAgICAgIERlZmluZSB5ZXQgbW9y
ZSBhcmd1bWVudCBwcm90b3R5cGVzOyBmaXggcHJvdG90eXBlIGZvciBnX3R5cGVfZnVuZGFtZW50
YWwuCiAgICAgIEV4cGxpY2l0bHkgY29uc3RydWN0IG5ldyBsaXN0LCBzaW5jZSB3ZSdyZSBkZWxl
dGluZyBhcyB3ZSBpdGVyYXRlLiBEb24ndAogICAgICBNb3ZlIC5naXIgZmlsZXMgdG8gLWdvb2Qu
Z2lyLCB0d2VhayBidWlsZCBvcmRlci4KICAgICAgVHlwZSBjaGVja2luZyByZXdvcmsKICAgICAg
UmV3b3JrIHR5cGVzIHRvIGJlIG1vcmUgY2xvc2VseSBiYXNlZCBvbiBHSVR5cGVUYWcuIFBhcnNl
IG1vcmUgYml0cy4gV3JpdGUKICAgICAgRG9uJ3QgdHJ5IHRvIHN0cmlwIHByZWZpeCBiZWZvcmUg
bmFtZXNwYWNlLgogICAgICBVbmlvbiBmaWVsZCBwYXJzaW5nCiAgICAgIExvb2sgdXAgYWxpYXNl
cyB1c2luZyBjOnR5cGUgdG9vCiAgICAgIEZpeCBleHBlY3RlZCBsaXN0IHR5cGUuCiAgICAgIEF2
b2lkIGFsaWFzIGluZmxvb3BzLgogICAgICBTdXBwcmVzcyBhbGlhc2VzIHdob3NlIG5hbWUgaXMg
YSBidWlsdGluLiBEZWZpbmUgc29tZSBtb3JlIGFsaWFzZXMuCiAgICAgIFJlbmFtZSAuZ2lyIGZp
bGVzIHVzaW5nIEdJIG5hbWVzcGFjZS4gVXNlIFhER19EQVRBX0RJUlMgZm9yIGxvb2tpbmcgdXAK
ICAgICAgQW5kIHBhcnNlIHRoZW0uCiAgICAgIFJlbW92ZSBnX2lyZXBvc2l0b3J5X3JlZ2lzdGVy
X2ZpbGUgaW4gZmF2b3Igb2YgZ19pcmVwb3NpdG9yeV9yZXF1aXJlLgogICAgICBDYWxjdWxhdGUg
c2l6ZSBjb3JyZWN0bHksIGF2b2lkIHVzZS1hZnRlci1mcmVlLgogICAgICBBZGp1c3QgZm9yIGFk
ZGVkIHNoYXJlZC1saWJyYXJ5LiBNYWtlIHB5bGludCBoYXBweS4KICAgICAgQWRkIG5ldyBmdW5j
dGlvbiBnX2lyZXBvc2l0b3J5X2dldF90eXBlbGliX3BhdGggd2hpY2ggdGVsbHMgdXMgZnJvbSB3
aGVyZQogICAgICBGaXggb25lIHNtYWxsIGxlYWsgaW4gZXJyb3IgY2FzZS4KICAgICAgQ0xFQU5G
SUxFUyB0eXBlbGlicyB0b28uCiAgICAgIFR3ZWFrIHRvIHVzZSBVSU5UIGluc3RlYWQgb2YgSU5U
LiBOb3QgbGlrZWx5IHRvIG1hdHRlci4gQWRkIHRvCiAgICAgIFJldmVydCBjaGFuZ2UgdG8gaW5j
cmVtZW50IGhlYWRlcl9zaXplOyB3ZSBkbyB0aGF0IGluIHdyaXRlX3N0cmluZy4KICAgICAgTG9v
ayB1cCBhbGwgcGVybXV0YXRpb25zIG9mIGNsYXNzIG5hbWVzIHdoZW4gc2Nhbm5pbmcgbWV0aG9k
cy9jdG9ycyBiYXNlZAogICAgICBNdWNoIHNpbXBsZXIgYXBwcm9hY2ggb2YgbWFwcGluZyB1c2Nv
cmVkIG5hbWVzIHRvIGNsYXNzZXMuIFJlbW92ZQogICAgICBNb3JlIGN0b3Igd29yaywgYXZvaWQg
aGF2aW5nIGd0a193aW5kb3dfZ3JvdXBfbmV3IGVuZCB1cCB1bmRlciBHdGtXaW5kb3cuCiAgICAg
IEFsc28gdHJ5IHNxdWFzaGluZyB1bmRlcnNjb3JlcyBmcm9tIG5hbWVzcGFjZSwgZml4ZXMgd2Vi
a2l0X3dlYl92aWV3X25ldy4KICAgICAgQ29tcHV0ZSBwcmVmaXggYnkgc2VhcmNoaW5nIHRocm91
Z2ggdGhlIHN5bWJvbCBmb3IgYml0cyByYXRoZXIgdGhhbiBnb2luZwogICAgICB0ZXN0cy9zY2Fu
bmVyL2RyYXdhYmxlLWV4cGVjdGVkLmdpciwgdGVzdHMvc2Nhbm5lci9kcmF3YWJsZS5jLCBBZGQg
YQogICAgICBBZGQgZy1pci1nZW5lcmF0ZS4gU3VwcG9ydCAkKERFQlVHKSBEbyBpbW1lZGlhdGUg
Y2xvc2UgdGFncyBpZiBubwogICAgICBGaXggdW5yZWYgc2VxdWVuY2UuCiAgICAgIERvbid0IHB1
dCAqIGluIHR5cGVzLCBzdXBwcmVzcyB0cmFuc2Zlcj0ibm9uZSIKICAgICAgVGhyb3cgYW4gZXJy
b3IgaWYgd2UgdHJ5IHRvIGxvYWQgTm9uZQogICAgICBQYXNzIHRocm91Z2ggcmVjdXJzaXZlIHR5
cGVzLiBBdm9pZCBvdmVyd3JpdGluZyBlcnJvcnMuIEFsd2F5cyB3cml0ZSB0aGUKICAgICAgSW5z
dGFsbCBjb25maWcucHksIGJldHRlciBlcnJvciBoYW5kbGluZyBpZiB3ZSBmb3JnZXQgLS1yYXcK
ICAgICAgRGVmYXVsdCB0byAtLXJhdy4gVXBkYXRlLgogICAgICBEb24ndCBoYXJkY29kZSBpbnRl
Z2VycywgdXNlIEdJVHlwZVRhZy4KICAgICAgSWdub3JlIDxpbmNsdWRlPi4gUGFyc2UgdGhlbS4g
R2VuZXJhdGUgdGhlbS4gUHJvY2VzcyA8aW5jbHVkZT4KICAgICAgQWRkIGRlcHMgb24gTWFrZWZp
bGUKICAgICAgQWRkIGRlYnVnIHByaW50LCBmaXggaW5jbHVkZXMKICAgICAgQW5vdGhlciBkZWJ1
ZyBwcmludAogICAgICBEZXAgb24gY29tcGlsZXIKICAgICAgRG9uJ3QgdGFrZSBmdW5jdGlvbnMg
cmV0dXJuaW5nIGJhc2ljIHR5cGVzIGFzIGN0b3JzCiAgICAgIFJlbW92ZSBkdXBsaWNhdGUgc3Rh
cnRfYm94ZWQuCiAgICAgIFJlZG8gc2lnbmF0dXJlX29mZnNldCB0byBiZSBjbGVhbmVyIGFuZCBj
b3JyZWN0IGZvciB2ZnVuY3MKICAgICAgQWRkIGRlYnVnIGJpdCwgdHdlYWsgdG8gdXNlIEdVSU5U
IGFzIGNvcnJlY3QuCiAgICAgIENoZWNrIGNvbnN0cnVjdG9yIHJldHVybnMKICAgICAgQ2hhbmdl
TG9nCiAgICAgIERlZmluZSBEQVRBRElSLiBMb29rIGluIERBVEFESVIuCiAgICAgIEFkZCBjb250
ZXh0IHN0YWNrIHNvIHdoZW4gd2UgZ2V0IGFuIGVycm9yIHdlIGNhbiBwcmludCBvdXQgbmljZWx5
IHdoZXJlIGl0CiAgICAgIERvbid0IG9wZW4gc2hhcmVkIGxpYnJhcnkgaGVyZTsgd2UgYWxyZWFk
eSBkbyBpdCBpbiBndHlwZWxpYi5jLgogICAgICBTa2lwIG92ZXIgZ19vYmplY3RfZ2V0X3R5cGUg
ZnJvbSBHTGliIHRydW5rLgogICAgICBNaW5vciBkZWJ1ZyB0d2VhawogICAgICBVc2Ugc3VicHJv
Y2VzcyBpbnN0ZWFkIG9mIGNvbW1hbmRzLCB3b3JrcyBvbiBXaW5kb3dzIGFuZCBhdm9pZHMgdGhl
IGV2aWwKICAgICAgRmFpbCB3aXRoIGJldHRlciBlcnJvciBpZiB3ZSBjYW4ndCBmaW5kIGxpYnJh
cnkuCiAgICAgIEZpbHRlciBvdXQgdW5rbm93biBvcHRpb25zIGZyb20gcGtnLWNvbmZpZyBmaWxl
cy4KICAgICAgU29tZSBzdGF0aXN0aWNzCiAgICAgIE1vcmUgY29ycmVjdGx5IHBhaXIgbWV0aG9k
czsgaWYgd2UgaGF2ZSBhIHN5bWJvbCB0aGF0IHN0YXJ0cyB3aXRoIGUuZy4KICAgICAgQWRkIGlu
dGVyZmFjZXMgcHJvcGVydHkgdG8gY2xhc3MuIFdyaXRlIG91dCBpbXBsZW1lbnRlZCBpbnRlcmZh
Y2VzLgogICAgICBQYXJzZSBuZXcgaW1wbGVtZW50cyBzeW50YXgsIGRyb3AgZ2FwaSBvbmUuIFVw
ZGF0ZS4gR2VuZXJhdGUgbmV3IHN5bnRheC4KICAgICAgU2tpcCBvdmVyIGludGVyZmFjZXMgd2Ug
ZG9uJ3Qga25vdy4KICAgICAgQWx3YXlzIHByaW50IHN0YXRpc3RpY3MuCiAgICAgIEhhbmRsZSBi
b3RoIC5sYSBhbmQgLnNvIG5hbWVzOyB0aGlzIHdvcmtzIGJldHRlciBpbiB0aGUgdW5pbnN0YWxs
ZWQKICAgICAgRml4IHNtYWxsIG1lbW9yeSBsZWFrCiAgICAgIEZyZWUgc3RyaW5nIGluIHRoZSBy
aWdodCBwbGFjZS4KICAgICAgQWxzbyB1c2UgR19NT0RVTEVfU1VGRklYIGluc3RlYWQgb2YgaGFy
ZGNvZGluZyAuc28uCiAgICAgIFNlYXJjaCAkREFUQURJUi9naXJlcG9zaXRvcnkgaW5zdGVhZCBv
ZiAkREFUQURJUi9naXR5cGVsaWJzOyB0aGlzIG5hbWluZwogICAgICBTdXBwcmVzcyBzaXplL3Nz
aXplIGZyb20gYmVpbmcgZ2VuZXJhdGVkIGluIEdMaWIKICAgICAgRXhwYW5kIGFsaWFzZXMgd2hl
biBnZW5lcmF0aW5nIHR5cGVsaWJzCiAgICAgIENoYW5nZWxvZwogICAgICBGaXggLS1pbmNsdWRl
ZGlyIGhhbmRsaW5nCiAgICAgIENoYW5nZUxvZwogICAgICBDb3JyZWN0bHkgaGFuZGxlIEdMaWIu
TGlzdCwgR0xpYi5FcnJvciBldGMKICAgICAgQXZvaWQgaGF2aW5nIGZ1bmN0aW9ucy9jdG9ycyBk
dXBsaWNhdGVkIGluIGdsb2JhbCBzY29wZQogICAgICBDaGFuZ2VMb2cKICAgICAgTW9yZSBjb250
ZXh0IGluZm9ybWF0aW9uIGluIHZhbGlkYXRlCiAgICAgIENoYW5nZUxvZwogICAgICBGaXggdHlw
ZSBwYXJzaW5nIGZvciBib3RoIEdMaWIgY2FzZSBhbmQgR0xpYi5MaXN0CiAgICAgIENoYW5nZUxv
ZwogICAgICBBdm9pZCBzZWFyY2hpbmcgYWxpYXNlcyBmb3IgYmFzaWMgdHlwZXMKICAgICAgQ2hh
bmdlTG9nCiAgICAgIEhhbmRsZSBhbGlhcyBjaGFpbnMgY29ycmVjdGx5CiAgICAgIENoYW5nZUxv
ZwogICAgICBEb24ndCBjcmFzaCBpZiBubyBzaGxpYiBpcyBlbWJlZGRlZAogICAgICBDaGFuZ2VM
b2cKICAgICAgQmxhY2tsaXN0IGEgZmV3IGZ1bmN0aW9ucyB0aGF0IHVzZSBHRXJyb3Igb2RkbHkK
ICAgICAgQ2hhbmdlTG9nCiAgICAgIEFkZCBzb21lIGFzc2VydGlvbnMsIGJsYWNrbGlzdCBhIGZl
dyBtb3JlIG1ldGhvZHMKICAgICAgQ2hhbmdlTG9nCiAgICAgIFJlZHVjZSB3YXJuaW5nIG5vaXNl
CiAgICAgIENoYW5nZUxvZwogICAgICBQdXQgZGVwZW5kZW5jaWVzIGluIHR5cGVsaWJzLCByZXNv
bHZlIHRoZW0gd2hlbiBsb2FkaW5nCiAgICAgIERvbid0IGxvc2Ugb24gTlVMTCBzaGxpYgogICAg
ICBSZW1vdmUgZ19pcmVwb3NpdG9yeV91bnJlZ2lzdGVyLCBhZGQgR0lSZXBvc2l0b3J5TG9hZEZs
YWdzCiAgICAgIEZpeCBjb25mbGljdAogICAgICBBZGQgYmFjayB1bnJlc29sdmVkCiAgICAgIENo
YW5nZUxvZwogICAgICBMb29rIGZvciBsaWJ0b29sIGxpYnJhcnkgaW4gY3VycmVudCBkaXJlY3Rv
cnkKICAgICAgQ2hhbmdlTG9nCiAgICAgIERvbid0IGxvc2UgaWYgd2UgaGF2ZSBubyBpbmNsdWRl
ZGlycwogICAgICBDaGFuZ2VMb2cKICAgICAgVHdlYWsgZXJyb3IgbWVzc2FnZQogICAgICBGb2xs
b3cgYWxpYXNlcyB3aGVuIHJlc29sdmluZyBjb25zdHJ1Y3RvciByZXR1cm4gdHlwZXMKICAgICAg
Q2hhbmdlTG9nCiAgICAgIFF1aWV0IGluZm8gcHJpbnRzIGZvciBub3cuCiAgICAgIENoYW5nZUxv
ZwogICAgICBDaGFuZ2VMb2cgdHJhaWxpbmcgd2hpdGVzcGFjZQogICAgICBCbGFja2xpc3QgbWFy
c2hhbGluZyBmdW5jdGlvbnMKICAgICAgQ2hhbmdlTG9nCiAgICAgIExvb2sgaW4gYzp0eXBlIHRv
IGRldGVybWluZSBwb2ludGVyIG5hdHVyZQogICAgICBDaGFuZ2VMb2cKICAgICAgQWxsb3cgYm90
aCB1bmlvbiBhbmQgc3RydWN0IHRvIGJlIGJveGVkIG9yIG5vdAogICAgICBDaGFuZ2VMb2cKICAg
ICAgU3RyaXAgbmFtZXNwYWNlIEdub21lS2V5cmluZyAtPiBnbm9tZV9rZXlyaW5nXwogICAgICBD
aGFuZ2VMb2cKICAgICAgQ2hhbmdlTG9nCiAgICAgIERvbid0IHN0cmlwIHByZWZpeCBiZWZvcmUg
c3RyaXBwaW5nIG5hbWVzcGFjZSBmb3IgdW5pb25zIGVpdGhlcgogICAgICBDaGFuZ2VMb2cKICAg
ICAgQ2FsbCBnX3RocmVhZF9pbml0IHRvIG1ha2UgbGlic291cCBoYXBweQogICAgICBDaGFuZ2VM
b2cKICAgICAgQWRkIGNvbW1lbnQgYWJvdXQgZ190aHJlYWRfaW5pdCBjYWxsCiAgICAgIENoYW5n
ZUxvZwogICAgICBXcml0ZSBvdXQgYW5kIHBhcnNlIGZ1bGwgR09iamVjdCBwcm9wZXJ0eSBpbmZv
cm1hdGlvbiAocmVhZGFibGUsIHdyaXRhYmxlLCBldGMpCiAgICAgIENoYW5nZUxvZwogICAgICBC
dWcgNTUxNzM3OiBGaXggbWlzc2luZyAiZyIgaW4gY2FsbGJhY2sgbmFtZXMgaW4gR2lvCiAgICAg
IGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1MTczNwogICAgICBB
ZGQgLS14cGF0aC1hc3NlcnRpb25zIG9wdGlvbiB0byBnLWlyLXNjYW5uZXIKICAgICAgQ2hhbmdl
TG9nCiAgICAgIFBhcnNlIGM6dHlwZSBmb3IgYm94ZWQgcmVjb3Jkcy91bmlvbnM7IHRyeSByZXNv
bHZpbmcgdHlwZXMgdXNpbmcgdGhlIEdUeXBlIG5hbWVzLgogICAgICBDaGFuZ2VMb2cKICAgICAg
QmluZCBwaWRfdCB0byBJTlQgZm9yIHZ0ZQogICAgICBDaGFuZ2VMb2cKICAgICAgQWNjZXB0IEd0
ay5UeXBlIGFzIEdUeXBlCiAgICAgIENoYW5nZUxvZwogICAgICBCdWcgNTUyMDY3OiBJZ25vcmUg
ZnVuY3Rpb25zIHdpdGggbGVhZGluZyBfCiAgICAgIENoYW5nZUxvZwogICAgICBCdWcgNTUyMDY1
OiBBZGQgZGVwcmVjYXRpb24gaW5mb3JtYXRpb24gdG8gR0lSCiAgICAgIG1lcmdlCiAgICAgIEZp
eCB1cCBwcmV2aW91cyBkZXByZWNhdGVkIGNvbW1pdCBmb3IgcmV2aWV3IGNvbW1lbnRzCiAgICAg
IEZpeCB1cCBkZXByZWNhdGVkIHBhcnNpbmcgLSB0aGlzIGNvbW1pdCB3ZW50IG1pc3NpbmcKICAg
ICAgUmVtb3ZlIGRlYnVnIHByaW50CiAgICAgIFByaW50IG91dCAiYW55IiBmb3IgVk9JRCtwb2lu
dGVyLCBub3QgIm5vbmUiCiAgICAgIERvbid0IGFkZCBzcHVyaW91cyAqIGlmIHR5cGUgaXMgcG9p
bnRlcjsgdGhlIGlzX3BvaW50ZXIgZmxhZyBpcyBlbm91Z2gKICAgICAgQnVnIDUyMjM4NDogVXNl
IFNITElCX1NVRkZJWCBpbnRlYWQgb2YgR19NT0RVTEVfU1VGRklYIGZvciBEYXJ3aW4KICAgICAg
Q2hhbmdlTG9nCiAgICAgIFJlbW92ZSBoZXVyaXN0aWMgbWF0Y2hpbmcgb2YgbWV0aG9kcyB0byBj
bGFzc2VzIGJhc2VkIG9uIHByZWZpeAogICAgICBWYWxpZGF0ZSB0aGUgInRoaXMiIGFyZ3VtZW50
IGZvciBtZXRob2RzCiAgICAgIEFkZCBjaGVjayB0byBtYWtlIHN1cmUgd2UncmUgbm90IGhpdHRp
bmcgb3V0IHVucmVzb2x2ZWQgdHlwZXMKICAgICAgQ2hhbmdlTG9nCiAgICAgIEZpeCBpbmRlbnRh
dGlvbgogICAgICBFeHBsb2RlIGltbWVkaWF0ZWx5IGlmIHdlIGRvbid0IHJlY29nbml6ZSBhIHR5
cGUKICAgICAgU3RyZW5ndGhlbiBjaGVjayBmb3IgaW50ZXJmYWNlIHZzIGJhc2ljIHR5cGVzCiAg
ICAgIEJ1ZyA1NTIzOTA6IEhhbmRsZSBjYXBpdGlhbGl6YXRpb24gbGlrZSAiREJ1cyIgbW9yZSBy
b2J1c3RseQogICAgICBDaGFuZ2VMb2cKICAgICAgUmVtb3ZlIGRiZXVnIHByaW50CiAgICAgIE1l
cmdlIGJyYW5jaCAnYnVnNTUyNTY2LXRpbWV0L3dpcCcKICAgICAgQ2hhbmdlTG9nCiAgICAgIFVz
ZSBzeW1ib2xpYyBuYW1lcyBmb3IgdHlwZSB0YWdzIGluc3RlYWQgb2YgaGFyZGNvZGVkIGludGVn
ZXJzCiAgICAgIEJ1ZyA1NTI1NjQ6IE1hcCBndWNoYXIgdG8gdWludDgKICAgICAgUmVtb3ZlIG5v
bi1yZXBvc2l0b3J5IHR5cGVzIGZyb20gR0lSCiAgICAgIENoYW5nZUxvZwogICAgICBSZW5hbWUg
c2ltaWxhcmx5LW5hbWVkIGZ1bmN0aW9uIGp1c3QgZm9yIGNsYXJpdHkKICAgICAgQWRkIGctaXIt
c2Nhbm5lciAtLWluamVjdAogICAgICBFbnN1cmUgY29uc3RydWN0b3IgcmV0dXJucyBhcmUgYWx3
YXlzIG1vc3QgY29uY3JldGUgdHlwZQogICAgICBTb21lIHdvcmsgb24gYXJyYXlzCiAgICAgIFdy
aXRlIG91dCBsaXN0IGFuZCBtYXAgdHlwZXMsIHBhcnNlICdhcnJheScgYW5ub3RhdGlvbgogICAg
ICBNYWtlIGxlbmd0aD0gd29yawogICAgICBBbHNvIHVzZSBuYW1lIGFzIGN0eXBlIG5hbWUgZm9y
IHJlc29sdmluZyBhcnJheSBjb21wb25lbnRzCiAgICAgIFJld29yayB0byB1c2UgcmVjdXJzaXZl
IFhNTAogICAgICBFbnN1cmUgd2UgYWx3YXlzIGhhdmUgdHlwZXMgZm9yIGNvbnRhaW5lciBub2Rl
cwogICAgICBDaGFuZ2VMb2cKICAgICAgQnVnIDU1NDYzMjogQ3JlYXRlIHR5cGUgdGFnIGZvciBH
VHlwZQogICAgICBDaGFuZ2VMb2cKICAgICAgTWVyZ2UgYnJhbmNoICdidWc1NTIzOTMtdmFyYXJn
cycKICAgICAgUmVtb3ZlIGRlYnVnIHByaW50CiAgICAgIENoYW5nZUxvZwogICAgICBNZXJnZSBi
cmFuY2ggJ2J1ZzU1Mjk2MS1tZXRob2RzL3dpcCcKICAgICAgTWVyZ2U7IGRlbGV0ZSBvYmplY3Qg
cGFyYW0gZm9yIHZhcmFyZ3MgdG9vCiAgICAgIFVzZSBnX2FsbG9jYSwgc3VnZ2VzdGVkIGJ5IEhh
dm9jIFBlbm5pbmd0b24KICAgICAgQ2hhbmdlTG9nCiAgICAgIEF2b2lkIHJlc29sdmluZyB0eXBl
cyBhcyB3ZSBjcmVhdGUgdGhlbSwgZG8gaXQgYWxsIGF0IG9uY2UgYXQgdGhlIGVuZAogICAgICBD
aGFuZ2VMb2cKICAgICAgTWVyZ2UgYnJhbmNoICdidWc1NTE3NDQtYm94ZWQtY3RvcnMnCiAgICAg
IEdMaWJCb3hlZCBpcyBhIHZhbGlkIHJlZ2lzdGVyZWQgdHlwZQogICAgICBFeHRlbmQgY292ZXJh
Z2Ugb2YgYm94ZWQgc3RydWN0L3VuaW9uIHRlc3QgY2FzZXMKICAgICAgQ2hhbmdlTG9nCiAgICAg
IEFkZCBtaXNzaW5nIGFubm90YXRpb25fb2JqZWN0X2dldF90eXBlLCBmaXggdXAgZXhwZWN0ZWQg
R0lSCiAgICAgIFBhcnNlIGxlbmd0aD0gYW5ub3RhdGlvbiBhcyBhIHBhcmFtZXRlciBuYW1lLCBu
b3QgYSByYXcgaW50LgogICAgICBCdWcgNTU1OTQ3IC0gdXBkYXRlIGFubm90YXRpb25zIHN5bnRh
eAogICAgICBEb24ndCBsb3NlIGlmIHdlIGhhdmUgbWlzbWF0Y2hlZCBwYXJlbnMuCiAgICAgIEJ1
ZyA1NTI4NTg6IHZlcnNpb25pbmcKICAgICAgQWRkIHRlc3RzL3JlcG9zaXRvcnkgd2hpY2ggaGFz
IHNvbWUgcmVwb3NpdG9yeSByZWdyZXNzaW9uIHRlc3RzCiAgICAgIEZpeCBpbnZlcnRlZCB0ZXN0
IGZvciBzdWNjZXNzIGluIHZlcnNpb24gcGFyc2luZy4KICAgICAgRG9uJ3QgY2FzdCBEaXJFbnRy
eSB0byBCbG9iLCBhY3R1YWxseSBsb29rIGl0IHVwIGJ5IG9mZnNldAogICAgICBDaGFuZ2VMb2cK
ICAgICAgRG9jdW1lbnQgZ19pcmVwb3NpdG9yeV9nZXRfZGVwZW5kZW5jaWVzCiAgICAgIFJlcG9z
aXRvcnkgdGVzdHMgcmVxdWlyZXMgaW5zdGFsbGVkIEdpbyAtIHB1bnQgb24gdGhpcyBmb3Igbm93
CiAgICAgIFByZXBlbmQgc2VhcmNoIHBhdGggZm9yICQodG9wX2J1aWxkZGlyKS9naXIgZGlyCiAg
ICAgIE1lcmdlIGJyYW5jaCAnYnVnNTU2MzMxLWluY2x1ZGVjbGVhbnVwJwogICAgICBDaGFuZ2VM
b2cKICAgICAgRml4IHVwIGctaXItZ2VuZXJhdGUgZm9yIG5ldyBpbmNsdWRlPSBzeW50YXgKICAg
ICAgRG9uJ3QgdXNlIC0tdHlwZWxpYi14bWwsIHVzZSBnLWlyLWdlbmVyYXRlCiAgICAgIEluY2x1
ZGUgZ2lyIGRpciB3aGVuIHJ1bm5pbmcgZy1pci1nZW5lcmF0ZSBzbyB3ZSB3b3JrIHVuaW5zdGFs
bGVkCiAgICAgIERlZmF1bHQgR09iamVjdCB0cmFuc2ZlciB0byBmdWxsCiAgICAgIFJlbW92ZSB1
bnVzZWQgdmFyCiAgICAgIEJ1ZyA1NTY0MzIgLSB0cmFuc2ZlciBhbm5vdGF0aW9ucyBhbmQgZGVm
YXVsdHMKICAgICAgQnVnIDU1NjU3OSAtIERvbid0IHRyeSB0byByZXNvbHZlIG5hbWVzIGZvciBz
dHJ1Y3RzL3VuaW9ucwogICAgICBDaGFuZ2VMb2cKICAgICAgQnVnIDU1NjE4NSAtIFt0ZXN0IGZv
cl0gc2VnZmF1bHQgb24gZ19jYWxsYWJsZV9pbmZvX2dldF9yZXR1cm5fdHlwZQogICAgICBCdWcg
NTU2NzgzIC0gbmFtZXNwYWNlL3ByZWZpeCByZXdvcmsKICAgICAgQWRkIEd0a0Zyb2IgdGVzdCB0
aGF0IG1pcnJvcnMgR3RrU291cmNlCiAgICAgIEZpeCBoZWFkZXIgaWZkZWYKICAgICAgQ2hhbmdl
TG9nCiAgICAgIEJ1ZyA1NTY3OTUgLSBGaXggY2hhciAqKiByZWdyZXNzaW9uCiAgICAgIENoYW5n
ZUxvZwogICAgICBQYXJzZSBhcnJheSBsZW5ndGg9IHRvIGVuc3VyZSBpdCBkb2Vzbid0IGdldCBs
b3N0IGZyb20gLS1pbmplY3QKICAgICAgQ2hhbmdlTG9nCiAgICAgIEJ1ZyA1NTcwMTEgLSBBZGQg
Z19vYmplY3RfaW5mb19nZXRfYWJzdHJhY3QKICAgICAgQWxzbyByZWdpc3RlciBnIHZhcmlhbnRz
IG9mIGRlZmF1bHRfYXJyYXlfdHlwZXMuCiAgICAgIFR3ZWFrIGNoYW5nZWxvZwogICAgICBXZSBh
cmUgaGFuZGxpbmcgdGhvc2UgcmV0dXJuIHR5cGVzLCBzaWxseQogICAgICBGaXggX19yZXByX18g
Zm9yIFByb3BlcnR5CiAgICAgIEFkZCBhbGxvd19pbnZhbGlkIGFyZ3VtZW50IHRvIHJlc29sdmVy
IHNvIHdlIGNhbiBmaW5kIGJhZCB0eXBlcwogICAgICBCdWcgNTU2Nzc3IC0gdmFsaWRhdGUgcHJv
cGVydGllcwogICAgICBUZXN0cyBmb3IgYnVnIDU1Njc3NwogICAgICBDaGFuZ2VMb2cKICAgICAg
QnVnIDU1NzE0NyAtIGZpeCBidWlsZDsgcGF0Y2ggZnJvbSBBbmRyZWFzIFJvdHRtYW5uCiAgICAg
IFdyaXRlIG91dCB0aHJvd3MgYXR0cmlidXRlCiAgICAgIFN1Ym1pdCBhZnRlciBzZXNzaW9uIGlu
IFBFUDggaW50ZXJyb2dhdGlvbiByb29tCiAgICAgIFJlc3BlY3QgcGF0aCBvcmRlcmluZyBmb3Ig
dW52ZXJzaW9uZWQgcmVxdWlyZXMKICAgICAgRG9uJ3QgcmVxdWlyZSB0cmFpbGluZyB3aGl0ZXNw
YWNlIGFmdGVyIHVuY29tbWVudGVkIHBhcmFtZXRlcnMKICAgICAgQWx3YXlzIHdyaXRlIG91dCB0
cmFuc2Zlci1vd25lcnNoaXAgYXR0cmlidXRlCiAgICAgIEJ1ZyA1NTY3MzkgLSB0cmFuc2ZlciBv
d25lcnNoaXAgaGV1cmlzdGljcwogICAgICB0ZXN0cy90eXBlcyBzaG91bGQgYmUgbm9pbnN0Xwog
ICAgICBNb3JlIG5vaW5zdF8gb24gdGVzdHMvdHlwZXMKICAgICAgVHlwZWxpYnMgc2hvdWxkIGdv
IGluICQoZGF0YWRpcikgZm9yIG5vdwogICAgICBBZGQgYXV0b21ha2UvbGlidG9vbCBoYWNrIHRv
IGJ1aWxkIHNoYXJlZCBsaWJyYXJ5CiAgICAgIEJ1ZyA1NTcwNzYgLSBtb3ZlIHR5cGVsaWJzIHRv
ICRsaWJkaXIKICAgICAgQnVnIDU1Nzc4NiAtIHN1cHBvcnQgZml4ZWQgc2l6ZSBhcnJheXMKICAg
ICAgQnVnIDU1Nzc4OCDigJMgUmV0dXJuIHR5cGVzIGZvciBjb25zdHJ1Y3RvcnMgaW4gZ2VuZXJh
dGVkIHR5cGVsaWIgYm9ndXMKICAgICAgQnVnIDU1Nzc5MSDigJMgZ19pcmVwb3NpdG9yeV9yZXF1
aXJlKCkgY291bGQgcmV0dXJuIGEgR1R5cGVsaWIgKgogICAgICBEb24ndCByZXBhcnNlIGluY2x1
ZGVzIHdlJ3ZlIGFscmVhZHkgcHJvY2Vzc2VkCiAgICAgIEJ1ZyA1NTgxMDkg4oCTIF9nX3R5cGVs
aWJfaW5pdCBmYWlscyB0byBmaW5kIHNoYXJlZCBsaWJyYXJpZXMKICAgICAgQ2xhcmlmeSBsaWNl
bnNpbmcgc3RhdHVzCiAgICAgIEF2b2lkIHN0YXRpYyAyNTYgY2hhciBidWYgd2hpY2ggd2UgbWFu
aXB1bGF0ZSBoYWNraWx5CiAgICAgIERvbid0IHVzZSBuZXN0ZWQgc2NvcGUgbG9jYWwgdmFyaWFi
bGUgZm9yIGVycm9yCiAgICAgIEFkZCBzb21lIHRlc3RzIGZvciBzdHJ2CiAgICAgIEFkZCBhIGZp
bGUgdG8gaW5jbHVkZSB3aXRoIE1ha2VmaWxlIGZyYWdtZW50cyB1c2VmdWwgZm9yIHNjYW5uZXIg
aW52b2NhdGlvbgogICAgICBnX2lyZXBvc2l0b3J5X2R1bXAgaW1wbGVtZW50YXRpb24KICAgICAg
QnVnIDU1ODQzNiAtIGF2b2lkIGhhdmluZyBzY2FubmVyIGxvYWQgYXBwIGNvZGUKICAgICAgQWRk
IG5ldyBmaWxlcyBmcm9tIGxhc3QgY29tbWl0CiAgICAgIEFkZCBleHBlY3RlZCBnaXJzCiAgICAg
IFJlbW92ZSBwcm9jZXNzaW5nIG1zZwogICAgICBCdWcgNTU3Nzg4IC0gUmV0dXJuIHR5cGVzIGZv
ciBjb25zdHJ1Y3RvcnMgaW4gZ2VuZXJhdGVkIHR5cGVsaWIgYm9ndXMKICAgICAgQnVnIDU2MDcw
OCDigJMgRml4IHplcm8tdGVybWluYXRpb24gZGVmYXVsdHMgZm9yIGFycmF5cyB3aXRoIGxlbmd0
aD0KICAgICAgQ29ycmVjdCBuc3ZlcnNpb24gZm9yIEdJUmVwb3NpdG9yeQogICAgICBDaGFuZ2Vs
b2cKICAgICAgQnVnIDU2MDI0MSAtIE91dC1hcmd1bWVudHMgc2hvdWxkIG5vdCBiZSBtYXJrZWQg
YXMgYmVpbmcgcG9pbnRlcnMgaW4gYWxsIGNhc2VzCiAgICAgIEJ1ZyA1NjAyNDEgLSBPdXQtYXJn
dW1lbnRzIHNob3VsZCBub3QgYmUgbWFya2VkIGFzIGJlaW5nIHBvaW50ZXJzIGluIGFsbCBjYXNl
cwogICAgICBCdWcgNTU5NzA2IC0gaW50ZXJmYWNlIHByZXF1aXNpdGVzCiAgICAgIEFsc28gZ2Vu
ZXJhdGUgbmV3IHN5bnRheAogICAgICBQYXJzZSBpbnRlcmZhY2UgcHJlcmVxdWlzaXRlcwogICAg
ICBBZGQgdGVzdCBmb3IgaW50ZXJmYWNlIHByZXJlcQogICAgICBCdWcgNTU5NzA2IC0gSW50ZXJm
YWNlIHByZXJlcXVpc2l0ZXMKICAgICAgZ19pcmVwb3NpdG9yeV9nZXRfZGVmYXVsdCBpcyAodHJh
bnNmZXIgbm9uZSkKICAgICAgRW5zdXJlIHdlIGFsd2F5cyBjYWxsIGluaXRfZ2xvYmFscwogICAg
ICBCdWcgNTUyNTY4IC0gQWxsIHRoZSBhcmd2IHBhcmFtZXRlcnMgaW4gR3RrLmdpciBtYXAgY2hh
cioqKiB0byBpbnQ4CiAgICAgIEFkZCBhIGNvbW1lbnQgYWJvdXQga2VlcGluZyBoYXJkY29kZWQg
bnVtYmVycyBpbiBnX3R5cGVsaWJfY2hlY2tfc2FuaXR5CiAgICAgIFVzZSBzaXplb2YoKSBpbnN0
ZWFkIG9mIGhhcmQtY29kaW5nIHN0cnVjdCBzaXplcwogICAgICBBZGQgYWxsb3ctbm9uZSBmb3Ig
R2lvIG1ldGhvZAogICAgICBTd2l0Y2ggZXZlcnl0aGluZyB0byAudGdpciBjb252ZW50aW9uCiAg
ICAgIEFubm90YXRlIGdfYXBwX2luZm9fZ2V0X2FsbAogICAgICBBZGQgVGVzdE9iaiB3aXRoIHN0
YXRpYyBtZXRob2RzCiAgICAgIEFkZCBHaW8gVW5peCBiaXRzIHRvIHRoZSBHaW8uZ2lyIGlmIGF2
YWlsYWJsZQogICAgICBBbm5vdGF0ZSBnX2FwcF9pbmZvX2dldF9pY29uCiAgICAgIEFkZCB0aW1l
X3QgdG8gRXZlcnl0aGluZwogICAgICBCdW1wIHJlcXVpcmVkIGF1dG9tYWtlIHZlcnNpb24gdG8g
MS45OyAxLjcgZmFpbHMKICAgICAgQnVnIDU2MTEzNyAtIHN1cHBvcnQgbXVsdGlwbGUgcmVwb3Np
dG9yaWVzCiAgICAgIFJlbW92ZSBkZWJ1ZyBwcmludAogICAgICBCdWcgNTU5NzA1IOKAkyBNaXNz
aW5nIGFzc29jaWF0aW9uIGJldHdlZW4gc3RhdGljIG1ldGhvZHMgYW5kIGNsYXNzZXMKICAgICAg
UmVtb3ZlIGhhbmQtcm9sbGVkIGdlbmVyYXRpb24gb2YgLnRnaXIKICAgICAgQWRkIC0tbGlidG9v
bCBvcHRpb24gd2hpY2ggd2UgZXhwZWN0IEF1dG9tYWtlLXVzaW5nIHBlb3BsZSB0byBwYXNzCiAg
ICAgIEZpeCBtZW1vcnkgbGVhazsgdW5yZWYgdHlwZSBpbmZvIHdlIGNyZWF0ZWQsIG5vdCBmaWVs
ZCBpbmZvCiAgICAgIENoYW5nZUxvZwogICAgICBBbm5vdGF0ZSBnX2ZpbGVfaW5mb19nZXRfaWNv
biwgZ19maWxlX2luZm9fZ2V0X2F0dHJpYnV0ZV9vYmplY3QuCiAgICAgIERvbid0IGluc3RhbGwg
YmFyYXBwLgogICAgICBCdWcgNTY3MDg3IC0gZ2VuZXJpYyBtYXJzaGFsbGVyCiAgICAgIEJ1ZyA1
NjcyMTI6IEV4aXQgYWZ0ZXIgZHVtcGluZwogICAgICBCdWcgNTYyOTE0OiBPcmRlciBHSV9UWVBF
TElCX1BBVEggYmVmb3JlIGFueXRoaW5nIGVsc2UKICAgICAgQWRkIGdlbmVyYXRlZCBmaWxlIHdh
cm5pbmcgY29tbWVudAogICAgICBVc2UgY29ycmVjdCBwa2ctY29uZmlnIGFyZ3VtZW50cyBmb3Ig
ZWFjaCBnaXIKICAgICAgU2tpcCBvdmVyIGJvdGggZ19vYmplY3RfZ2V0X3R5cGUgYW5kIGdfaW5p
dGlhbGx5X3Vub3duZWRfZ2V0X3R5cGUKICAgICAgQnVnIDU2MzQ2OSDigJMgQXJyYXlzIG5vdCB0
cmVhdGVkIGNvcnJlY3RseSBpbiBzdHJ1Y3Qgb2Zmc2V0IGNhbGN1bGF0aW9uCiAgICAgIEJ1ZyA1
Njk0MDgsIEJ1ZyA1Njg2ODAgLSBTY2FubmVyIG1pc3NlcyBmaWVsZHMgKGF0IGxlYXN0IGluIEdP
YmplY3QuT2JqZWN0KQogICAgICBCdWcgNTU1OTYwIC0gbmVzdGVkIHN0cnVjdHMgYW5kIHVuaW9u
cwogICAgICBCdWcgNTU1OTYwIC0gTmVzdGVkIHN0cnVjdHMgYW5kIHVuaW9ucyAoZ2VuZXJhdGlv
biBwb3J0aW9uKQogICAgICBSZW1vdmUgb3V0c3RhbmRpbmcgRklYTUVzIGZvciBuZXN0ZWQgc3Ry
dWN0L3VuaW9uCiAgICAgIGdpcm5vZGUuYzogRml4IGNvcHkgJiBwYXN0ZSBlcnJvcgogICAgICBC
dWcgNTYxNjA0IC0gQWRkIHRlc3QgY2FzZSBmb3Igc2tpcHBpbmcgdmFfbGlzdAogICAgICBCdWcg
NTYxMzYwIC0gSWYgd2UgY2FuJ3QgcmVzb2x2ZSBwYXJlbnQgY2xhc3MsIHVzZSBHT2JqZWN0CiAg
ICAgIEJ1ZyA1NTE3MzggLSBBc3NvY2lhdGUgY2xhc3NlcyB3aXRoIHRoZWlyIHN0cnVjdHMKICAg
ICAgUmVtb3ZlIGV4dHJhIHNwYWNlIGZyb20gZm9vLTEuMC1leHBlY3RlZC50Z2lyCiAgICAgIE1h
a2UgLnRnaXIgZGlmZnMgZmFpbCB0aGUgY2hlY2sKICAgICAgQnVnIDU3MTI0OCAtIElnbm9yZSB1
bmtub3duIGVsZW1lbnRzIGluIGdpcnBhcnNlcgogICAgICBCdWcgNTY3OTA2IC0gUHV0IHBrZy1j
b25maWcgZGVwZW5kZW5jaWVzIGluIC5naXIgZmlsZXMKICAgICAgTWVyZ2UgYnJhbmNoICdtYXN0
ZXInIG9mIHNzaDovL3dhbHRlcnNAZ2l0Lmdub21lLm9yZy9naXQvZ29iamVjdC1pbnRyb3NwZWN0
aW9uCiAgICAgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBvZiBzc2g6Ly93YWx0ZXJzQGdpdC5nbm9t
ZS5vcmcvZ2l0L2dvYmplY3QtaW50cm9zcGVjdGlvbgogICAgICBNZXJnZSBicmFuY2ggJ21hc3Rl
cicgb2Ygc3NoOi8vd2FsdGVyc0BnaXQuZ25vbWUub3JnL2dpdC9nb2JqZWN0LWludHJvc3BlY3Rp
b24KICAgICAgQnVnIDU3MTQ4MyAtIFNvcnQgdG9wbGV2ZWwgLmdpciBlbnRyaWVzCiAgICAgIEZv
bGxvd3VwIHRvIGJ1ZyA1Njc5MDYgLSBSZWRvIG9wdGlvbiBmaWx0ZXJpbmcgbG9naWMgdG8gYmUg
YSBiaXQgY2xlYW5lcgogICAgICBWYXJpb3VzIGd0ay1kb2MgZml4ZXM6IG9ubHkgcmVxdWlyZSAx
LjExLCByZW1vdmUgZ2VuZXJhdGVkIGZpbGVzLCBhZGQgZG9jcyB0byBTVUJESVJTCiAgICAgIFJl
bW92ZSBnZW5lcmF0ZWQgdG1wbC8gZGlyZWN0b3J5OyB3ZSB3aWxsIHVzZSBpbmxpbmUgc2VjdGlv
biBjb21tZW50cwogICAgICBndGstZG9jIGZpeGVzOiBSZXF1aXJlIDEuMTAsIGZpeCAtLW5hbWUt
c3BhY2UgYXJndW1lbnQgdHlwbywgY2hhbmdlIFR5cGVsaWIgc2VjdGlvbiB0aXRsZQogICAgICBG
aXggU1VCRElSUyBvcmRlciwgY2FsbCBnbm9tZS1hdXRvZ2VuLnNoIHdpdGggQ09NTU9OX0RPQ19C
VUlMRAogICAgICBCdWcgNTcxMzczIC0gTW92ZSB0eXBlbGliIGRvY3MgZnJvbSB0eXBlbGliLWZv
cm1hdC50eHQgaW50byBnaXJlcG9zaXRvcnkuaAogICAgICBCdWcgNTcxMzczIC0gQ29uc2lzdGVu
dGx5IHVzZSBzaXplb2YgKCkgaW5zaWRlIGd0eXBlbGliIGFuZCBnaXJtb2R1bGUKICAgICAgQnVn
IDU3MTM3MyAtIFJlbW92ZSBoYXJkY29kZWQgb2Zmc2V0cyBpbiBnaW5mby5jCiAgICAgIEJ1ZyA1
NzEzNzMgLSBSZW1vdmUgaGFyZGNvZGVkIHNpemVzL29mZnNldHMgaW4gZ2lybm9kZS5jCiAgICAg
IEJ1ZyA1NzEzNzMgLSBBZGQgcGFkZGluZyB0byB0eXBlbGliIG9iamVjdHMKICAgICAgRml4IGJh
ZCBtZXJnZSBpbnRyb2R1Y2VkIGluIGNvbW1pdCBiMDA2ZDUwCiAgICAgIEJ1ZyA1NjMzODIgLSBE
ZWZpbmUgUEFUSF9NQVggaWYgbm90IGF2YWlsYWJsZQogICAgICBGdXJ0aGVyIGNsZWFudXAgZm9y
IGNvbW1lbnRlZC1vdXQgVW5pb24gZGlzY3JpbWluYXRvciBoYW5kbGluZwogICAgICBSZW1vdmUg
Z3RrLWRvYy5tNCwgc2hvdWxkIGJlIGluc3RhbGxlZCBieSBhdXRvZ2VuCiAgICAgIGdpc2Nhbm5l
cjogU2V0IFB5dGhvbiBleGNlcHRpb25zIG9uIHR5cGUgZXJyb3JzIGluc3RlYWQgb2YgZ19hc3Nl
cnQKICAgICAgQnVnIDU3MjQyMyAtIFN1cHBvcnQgLS1jLWluY2x1ZGUgYXJndW1lbnQgZm9yIHNw
ZWNpZnlpbmcgQyBoZWFkZXJzCiAgICAgIHR5cGVsaWIgYnVpbGRpbmc6IENvbXByZXNzIDUgYXJn
dW1lbnRzIGZvciBnX2lyX25vZGVfYnVpbGRfdHlwZWxpYgogICAgICBzaGF2ZSBmaXg6IFBhdGNo
IGd0ay1kb2MubWFrZSBpZiB3ZSBkb24ndCBoYXZlIGl0IHlldAogICAgICBQdW50IG9uIGJ1aWxk
aW5nIHdpdGggb2xkZXIgZ3RrLWRvYzsgdmVyc2lvbiBza2V3IGluIGd0ay1kb2MubWFrZSBtYWtl
cyBwYXRjaGluZyBoYXJkCiAgICAgIEJ1ZyA1NjE2MDQgLSBEb24ndCBmYWlsIG9uIHZhX2xpc3Qq
CiAgICAgIEJ1ZyA1NzI3OTAgLSBEb24ndCByZWdpc3RlciAjZGVmaW5lcyBmcm9tIC5jIGZpbGVz
IGFzIGNvbnN0YW50cwogICAgICBIYW5kbGUgbXVsdGlwbGUgYXJndW1lbnRzIGZvciAkQ0MKICAg
ICAgQnVnIDU1NTk2NCAtIFBhcnNlIGZsb2F0aW5nLXBvaW50ICNkZWZpbmVzCiAgICAgIEJ1ZyA1
NzI0MzQgLSBBc3NvY2lhdGUgaW50ZXJmYWNlcyB3aXRoIHRoZWlyIEMgc3RydWN0dXJlcwogICAg
ICBCdWcgNTU3MzgzIC0gVmlydHVhbCBmdW5jdGlvbiBzdXBwb3J0CiAgICAgIE1lcmdlIGJyYW5j
aCAnYnVnNTU3MzgzLXZmdW5jcycKICAgICAgUmV2ZXJ0ICJCdWcgNTU3MzgzIC0gVmlydHVhbCBm
dW5jdGlvbiBzdXBwb3J0IgogICAgICBBZGQgYSBwYXJlbnQgcGFybWV0ZXIgdG8gZ19pcl9ub2Rl
X2J1aWxkX3R5cGVsaWIKICAgICAgUmVtb3ZlIGhhbmQtd3JpdHRlbiAuZ2lyIGZpbGVzLCBtb3Zl
IFBFUC04IGlucXVpc2l0aW9uIGludG8gdG9wIE1ha2VmaWxlLmFtCiAgICAgIEtlZXAgVGVzdFN0
cnVjdEEgYXMgc2ltcGxlIGJ5IG1vdmluZyBHT2JqZWN0IG1lbWJlciB0byBhIG5ldyBzdHJ1Y3R1
cmUKICAgICAgQnVnIDU3MTU0OCAtIEdlbmVyaWMgYXR0cmlidXRlcwogICAgICBBZGQgWFRyYXBl
em9pZCB0byB4bGliLTIuMC5naXIKICAgICAgQWRkIFhmdEdseXBoU3BlYyB0byB4ZnQtMi4wLmdp
cgogICAgICBCdWcgNTU3MzgzIC0gVmlydHVhbCBtZXRob2Qgc3VwcG9ydAogICAgICBCdWcgNTc0
NTAxIC0gSW5zdGFsbCBnaXNjYW5uZXIgUHl0aG9uIG1vZHVsZSB0byBwcml2YXRlIGRpcmVjdG9y
eQogICAgICBCdWcgNTY1MTQ3IC0gQWRkICh0eXBlKSBhbm5vdGF0aW9uIHRvIG92ZXJyaWRlIHRo
ZSBDIHR5cGUgZGVmaW5pdGlvbgogICAgICBTdWJzdGl0dXRlIGctaXItc2Nhbm5lciBpbiBNYWtl
ZmlsZSwgbm90IGluIGNvbmZpZ3VyZS5hYwogICAgICBCdWcgNTc1NjEzIC0gRW51bSBzdHJpcHBp
bmcgd2l0aCBjb21tb24gcHJlZml4LCBhbHNvIHVzZSAiXyIgY29uc2lzdGVudGx5CiAgICAgIEJ1
ZyA1NjQwMTYgLSBBZGQgYzpwcmVmaXggdG8gLmdpcgogICAgICBCdWcgNTY0MDE2IC0gSW5jbHVk
ZSBjOnByZWZpeCBpbiB0eXBlbGliLCB1c2UgaXQgdG8gb3B0aW1pemUgZmluZF9ieV9ndHlwZQog
ICAgICBBdm9pZCB3cml0aW5nIG91dCBlbXB0eSBhcnJheSBpZiB3ZSBoYXZlIG5vIF9nZXRfdHlw
ZSBmdW5jdGlvbnMKICAgICAgUmVtb3ZlIChvdXQpIGFubm90YXRpb24gZm9yIG5vdyBmcm9tIEV2
ZXJ5dGhpbmcgc3RydWN0cwogICAgICBBZGQgYW4gRXZlcnl0aGluZy0xLjAtZXhwZWN0ZWQuZ2ly
LCB0ZXN0IEV2ZXJ5dGhpbmcgdmVyc3VzIGl0CiAgICAgIE1vdmUgRXZlcnl0aGluZyBpbnRvIGdp
ci8sIHNpbmNlIGl0J3MgYSBwdWJsaWMgbGlicmFyeQogICAgICBBZGQgYSB0ZXN0X3N0cnZfb3V0
IHdoaWNoIGlzIHVuYW5ub3RhdGVkLCByZW5hbWUgY3VycmVudCB0byB0ZXN0X3N0cnZfb3V0X2Nv
bnRhaW5lcgogICAgICBCdWcgNTg0NDUzIC0gSGFuZGxlIGNoYXIgKiogY29ycmVjdGx5IChhbmQg
Y29uc3QgdmFyaWF0aW9uKQogICAgICBCdWcgNTc3NTM0IC0gVXNlIHJlbmFtZSB0byB3cml0ZSBu
ZXcgdHlwZWxpYnMsIGluc3RlYWQgb2YgaW4tcGxhY2Ugb3ZlcndyaXRlCiAgICAgIEJ1ZyA1Nzc1
NDYgLSBNb3JlIGFubm90YXRpb25zIGZvciBHTGliLCBHT2JqZWN0LCBHaW8KICAgICAgRG9uJ3Qg
ZmFpbCBpZiBubyAtLW91dHB1dCBvcHRpb24gaXMgc3BlY2lmaWVkCiAgICAgIFVwZGF0ZSBhbm5v
dGF0aW9uIGV4cGVjdGVkICJ0Z2lyIiBmb3IgcHJldmlvdXMgY29tbWl0CgpEYW4gV2luc2hpcCAo
Nyk6CiAgICAgIEJ1ZyA1NTQ1MjE6IHNjYW5uZXIgZ2VuZXJhdGVzIHdyb25nIG5hbWVzIGZvciBl
bnVtIG1lbWJlcnMgd2l0aAogICAgICBCdWcgNTU0NDkwOiBnLWlyLXNjYW5uZXIgZ2V0cyBjb25m
dXNlZCBieSAnXFwnCiAgICAgIGZpeCBzcGVsbGluZyBvZiBHSGFzaFRhYmxlLiAjNTYxMTM1CiAg
ICAgIGFkZCBiYWNrIEdMdm9pZCwgd2hpY2ggZ290IGxvc3QgZHVyaW5nIHRoZSBnaXItcmVwb3Np
dG9yeSAtPgogICAgICBNaXNjIHdhcm5pbmcgZml4ZXMKICAgICAgaGFuZGxlIHRoZSBzcGVjaWFs
IGNhc2UgZm9yIEdPYmplY3QsIHdob3NlIGdsaWI6Z2V0LXR5cGUgaXMgbGlzdGVkIGFzCiAgICAg
IEZpeCAnQ291bGQgbm90IGZpbmQgR0lSIGZpbGUgLi4uJyBlcnJvciB0byB1c2UgcmlnaHQgZmls
ZW5hbWUuCgpEYXZpZCBJZ25hY2lvICgxKToKICAgICAgQWRkIGFsbG93LW5vbmUgZm9yIG9wZXJh
dGlvbiBpbiBnX21vdW50X3ZvbHVtZQoKRGlkaWVyICdQdGl0amVzICgxKToKICAgICAgQnVnIDU3
NjMyMyAtIEZpeCBpbm5lciBjb25zdGFudCBwYXJzaW5nIFNpZ25lZC1vZmYtYnk6IERpZGllciAn
UHRpdGplcyA8cHRpdGplc0BmcmVlLmZyPgoKRW1tYW51ZWxlIEJhc3NpICgxKToKICAgICAgQWRk
IEdMY2xhbXBmIHRvIHRoZSBHTCBHSVIKCkd1c3Rhdm8gSi4gQS4gTS4gQ2FybmVpcm8gKDEpOgog
ICAgICByZXZpZXdlZCBieTogSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgpIYXZvYyBQ
ZW5uaW5ndG9uICg4KToKICAgICAgVGFrZSBhZHZhbnRhZ2Ugb2YgYSBsaWJmZmkucGMgaWYgb25l
IGV4aXN0cywgYXMgaXQgZG9lcyBvbiBGZWRvcmEgOC4gTWFrZQogICAgICBhZGQgc29tZSBDIEFQ
SSB3aXNobGlzdCBpdGVtcyBJIGNvdWxkIHRoaW5rIG9mIHF1aWNrbHkKICAgICAgbmV3IGZ1bmN0
aW9uIHRvIGdldCB0aGUgR1R5cGUgZ2l2ZW4gYSBSZWdpc3RlcmVkVHlwZUluZm8KICAgICAgcmVt
b3ZlIEdfTU9EVUxFX0JJTkRfTE9DQUwgZmxhZyB3aGVuIGxvYWRpbmcgbGlicmFyaWVzLCBzaW5j
ZSBzb21lIGxpYnMKICAgICAgVXNlIGludGVyZmFjZV9ibG9iX3NpemUgbm90IG9iamVjdF9ibG9i
X3NpemUgdG8gY29tcHV0ZSBvZmZzZXQuCiAgICAgIGhhY2sgdG8gYXZvaWQgZGxvcGVuaW5nIGEg
bGlicmFyeSB0aGF0IGlzIGFscmVhZHkgaW4gdGhlIG1haW4gYXBwLCBieQogICAgICBJZiBhIHN5
bWJvbCBpcyBub3QgaW4gbWV0YWRhdGEtPm1vZHVsZSwgbG9vayBmb3IgaXQgaW4gdGhlIGdsb2Jh
bCBtb2R1bGUsCiAgICAgIEJ1ZyA1NjMzODYg4oCTIHNjYW5uZXIgaWdub3JlcyAiY29uc3QiIG9u
IGJveGVkIHJldHVybiB2YWx1ZXMKCkhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyICgxKToKICAg
ICAgTWFrZSBnLWlyLWNvbXBpbGVyIGZpbmQgZmlsZXMgaW5zdGFsbGVkIGJ5IG1ha2UgaW5zdGFs
bAoKSm9oYW4gQmlsaWVuICgzMSk6CiAgICAgIGlnbm9yZSBub24tVVRGLTggc3RyaW5nIGNvbnN0
YW50cwogICAgICBhZGQgY29uc3RhbnRzIHRvIGV4cGVjdGVkIGdpciBmaWxlCiAgICAgIHByZWZp
eCBmb3IgY29uc3RhbnRzIGhhdmUgYW4gdW5kZXJzY29yZSwgc28gcmVtb3ZlIHRoZW0gYXMgaWYg
dGhleSB3ZXJlCiAgICAgIHBhcnNlIGNvbnN0YW50IG5vZGVzIGluIGdpciBmaWxlcwogICAgICBh
Y3R1YWxseSBhZGQgdGhlIHBhcnNlZCBjb25zdGFudCBub2RlcwogICAgICBhZGQgZ191bmlvbl9p
bmZvX2ZpbmRfbWV0aG9kCiAgICAgIEJ1ZyA1NTYzMjMg4oCTIHRyYW5zZmVyLW93bmVyc2hpcCBp
cyB3cm9uZyBmb3IgZnVuY3Rpb25zIHJldHVybmluZyBjb25zdAogICAgICBmaXhlZCBhIGZldyBj
b3B5LXBhc3RlIGVycm9ycwogICAgICBPbmUgbGFzdCB0eXBvIGluIHRlc3RzL3NjYW5uZXIvYW5u
b3RhdGlvbi5jCiAgICAgIEJ1ZyA1NTY0MzMg4oCTIGFzc3VtZSBkaXJlY3Rpb24gPSBvdXQgZm9y
IGludCAqIHBhcmFtZXRlcnMKICAgICAgQnVnIDU1NjYxMCDigJMgZ2lzY2FubmVyL2dpcnBhcnNl
ci5weSBkcm9wcyBwYXJhbWV0ZXIgb3B0aW9ucwogICAgICBGb3Jnb3QgdGhlc2UgZmlsZXMKICAg
ICAgQWxzbyBhc3N1bWUgZGlyZWN0aW9uPW91dCBmb3Igc2l6ZV90Kiwgc3NpemVfdCogYXJndW1l
bnRzCiAgICAgIGFkZGVkIGFubm90YXRpb25zCiAgICAgIEJ1ZyA1NTcyNDEg4oCTICJ0aHJvd3Mi
IGZsYWcgZm9yIGZ1bmN0aW9ucwogICAgICBCdWcgNTU3NDY4IOKAkyBTdXBwb3J0IGZvciBHSV9U
WVBFTElCX1BBVEgKICAgICAgYWRkIGFubm90YXRpb24gZm9yIGdfZmlsZV9kZWxldGUKICAgICAg
QnVnIDU1ODA2OCDigJMgd2hlbiBpbnZva2luZyBhIG1ldGhvZCwgb2Zmc2V0IHRoZSBpbiBhcmd1
bWVudHMgYnkgb25lLCBub3QKICAgICAgYWRkIGFsbG93LW5vbmUgYW5ub3RhdGlvbnMsIGJhc2Vk
IG9uIHRoZSBweWdvYmplY3QgLmRlZnMgZmlsZQogICAgICBhZGQgTERfTElCUkFSWV9QQVRIIHRv
IExQQVRIIGJlZm9yZSBjYWxsaW5nIGxkLgogICAgICBCdWcgNTYwNDc0IOKAkyBnLWlyLWNvbXBp
bGVyIGNyYXNoZXMgd2hlbiBjb21waWxpbmcgdGhlIGdsaWIgZ2lyCiAgICAgIGFkZCBhIHRlc3Qg
ZnVuY3Rpb24gd2hpY2ggY2FsbHMgYSBjbG9zdXJlLgogICAgICB0ZXN0cy9ldmVyeXRoaW5nL2V2
ZXJ5dGhpbmcuYzogKHRlc3RfY2xvc3VyZV9vbmVfYXJnKTogc2V0IHRoZSB2YWx1ZSB0byAwCiAg
ICAgIEJ1ZyA1NjI1NDUg4oCTIEFkZCBmdW5jdGlvbiB0YWtpbmcgLyByZXR1cm5pbmcgR1ZhbHVl
CiAgICAgIEJ1ZyA1NjM5OTgg4oCTIENhY2hlIHRoZSBHSUJhc2VJbmZvIGZvciBHVHlwZXMKICAg
ICAgYWRkIG1pc3Npbmcgd2l0aF92b2lkcAogICAgICBCdWcgNTcyOTY1IOKAkyBBbGxvdyBnZW5l
cmljIG1hcnNoYWxsZXIgdG8gYmUgY2FsbGVkIHdpdGhvdXQgcGFyYW1ldGVycwogICAgICBBZGQg
YSB0ZXN0IHNpZ25hbCB3aXRoIGFuIGFyZ3VtZW50IGZsYWdnZWQgYXMgR19TSUdOQUxfVFlQRV9T
VEFUSUNfU0NPUEUKICAgICAgSW5jbHVkZSBnLWlyLXNjYW5uZXIuaW4gaW4gdGhlIGRpc3RyaWJ1
dGlvbgogICAgICBBbm5vdGF0ZSBnX2dldF9zeXN0ZW1fKl9kaXJzICgpCiAgICAgIE1ha2Ugc3Vy
ZSB0aGUgc2Nhbm5lciBhbmQgY29tcGlsZXIgYXJlIGFibGUgdG8gZmluZCBsaWJldmVyeXRoaW5n
LnNvLjEKCkpvaGFuIERhaGxpbiAoNDYzKToKICAgICAgR2VuZXJhdGUgY29uc2lzdGVudCBlbmQg
dGFncy4KICAgICAgbmV3X3dpdGhfbWltZSt0eXBlIC0+IG5ld193aXRoX21pbWVfdHlwZQogICAg
ICBBZGQgYSBNQUlOVEFJTkVSUyBmaWxlCiAgICAgIHBhc3MgYmxvYl90eXBlIHRvIHZhbGlkYXRl
X2Z1bmN0aW9uX2Jsb2IgaW5zdGVhZCBvZiBoYXJkLWNvZGluZwogICAgICBBZGQgZ19vYmplY3Rf
aW5mb19nZXRfdHlwZV9uYW1lLCBnX29iamVjdF9pbmZvX2dldF90eXBlX2luaXQgYW5kCiAgICAg
IEFkZCBjaGFyLCBnY2hhciBhbmQgZ3VjaGFyIHRvIHRoZSBidWlsdGluIHR5cGVzLgogICAgICBE
aXNhYmxlIGNoYXIvZ2NoYXIgYW5kIGd1Y2hhciBmb3Igbm93LgogICAgICBBZGQgYSBzaW1wbGUg
Z2VuLWludHJvc3BlY3QgcGFyc2VyIHRlc3QgMjAwNy0xMi0wOCBKb2hhbiBEYWhsaW4KICAgICAg
TW92ZSBtYWluIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUgYW5kIGF0dGVtcHQgdG8gbWFrZSBpdCB2
YWxpZCBhbnNpIGMuCiAgICAgIENoYW5nZSB0aGUgZ2VuLWludHJvc3BlY3QgdG8gZ2VuZXJhdGUg
bmFtZXNwYWNlZCBtb2R1bGUgbmFtZXMsIHN1Y2ggYXMKICAgICAgQWRkIGEgc3Vib2JqZWN0IHRl
c3QgYW5kIG1ha2Ugc3VyZSB0byByZWdpc3RlciBkZWZpbmVkIGNsYXNzZXMgaW4gdGhlCiAgICAg
IEJyZWFrIGludG8gc21hbGxlciBwaWVjZXMsIG9uZSBmb3IgZWFjaCBnZW5lcmF0ZWQgbm9kZSB0
eXBlLgogICAgICBSZWZhY3RvciBnX2lnZW5lcmF0b3JfcHJvY2Vzc190eXBlcyBpbnRvIHNtYWxs
ZXIgcGllY2VzLgogICAgICBVcGRhdGUKICAgICAgUmVuYW1lIGdlbi1pbnRyb3NwZWN0LltjaF0g
dG8gc2Nhbm5lci5bY2hdCiAgICAgIFVzZSBHT3B0aW9uIGZvciBjb21tYW5kIGxpbmUgb3B0aW9u
cy4KICAgICAgKGdfaWdlbmVyYXRvcl9uZXcsIG1haW4pOiBTaW1wbGlmeSBjb25zdHJ1Y3RvciBh
bmQgdGhleSB3YXkKICAgICAgUmVmYWN0b3IgcHJlcHJvY2Vzc29yIGhhbmRsaW5nIHRvIGhlcmUu
IFN0YXJ0IGNwcCBpbnN0ZWFkbyBvZiBjYyAtRSwKICAgICAgT29wcywgdHlwbwogICAgICBNb3Zl
IG92ZXIgYWxsIENUeXBlIGNvbnN0cnVjdGlvbiBmdW5jdGlvbnMuCiAgICAgIE1vdmUgdGhlIHNj
YW5uZXIgZ2lkbCB3cml0aW5nIHRvIGEgc2VwYXJhdGUgc291cmNlIGZpbGUuCiAgICAgIFJlZmFj
dG9yIHNjYW5uZXJ3cml0ZXIgdG8gb25seSBiZSB0aWVkIHRvIGEgR0lkbE1vZHVsZSBhbmQgbW92
ZSBpdAogICAgICBzZXQgQlVJTERfU09VUkNFUyBhbmQgQ0xFQU5GSUxFUyBwcm9wZXJseQogICAg
ICBBZGQgYW4gb3V0cHV0IG9wdGlvbiwgYWRkIGNoZWNrcyBmb3IgcmVxdWlyZWQgcGFyYW1ldGVy
cwogICAgICBEb24ndCBzdGVhbCBteSBzdGRvdXQgYW5kIGp1c3Qgc2VuZCBpbiByZWxhdGl2ZSBw
YXRoIG5vdyB3aGVuIGctaWRsLXNjYW5uZXIgZG9lcyB0aGUgcmlnaHQgdGhpbmcKICAgICAgR2V0
IHJpZCBvZiB0aGUgZ2xvYmFsIHRoZV9nZW5lcmF0b3IgdmFyaWFibGUuCiAgICAgIFJlbmFtZSBj
bGV4ZXIubCB0byBzY2FubmVybGV4ZXIubCBhbmQgY3BhcnNlci55IHRvIHNjYW5uZXJwYXJzZXIu
eQogICAgICByZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlIGFuZCBhdm9pZCBjb25zdCB0byBkaXNh
YmxlIGNvbXBpbGF0aW9uIHdhcm5pbmdzCiAgICAgIEltcHJvdmUgZXJyb3IgcmVwb3J0aW5nLCBy
ZXR1cm4gd2hlbiB0aGUgcHJlcHJvY2Vzc29yIGZhaWxzLiBBZGQgYSB2ZXJib3NlCiAgICAgIFBs
dWcgYSBjb3VwbGUgb2Ygc2ltcGxlIG1lbW9yeSBsZWFrcy4KICAgICAgVW5saW5rIHRlbXBvcmFy
eSBmaWxlIHVzZWQuCiAgICAgIEFkZCBlbWFjcyBtb2RlIGxpbmUgYW5kIGVzY2FwZSAnIGFuZCAi
IHNvIGl0IGxvb2tzIG1vcmUgbGlrZSBDLgogICAgICBQYXJzZSBndGstZG9jIGNvbW1lbnRzLgog
ICAgICBBZGQgYSBjb3VwbGUgb2YgY29tbWVudCBwYXJzZXIgdGVzdHMuCiAgICAgIERvIG5vdCBz
YXZlIHRoZSBjb250ZW50IG9mIHRoZSBkZXByZWNhdGVkIHZhcmlhYmxlLCBvbmx5IGlmIGl0J3Mg
c2V0IG9yCiAgICAgIFJlZmFjdG9yIG91dCBnX2lkbGVfbm9kZV9hZGRfbWVtYmVyLiAoY3JlYXRl
X25vZGVfZnJvbV9ndHlwZSwKICAgICAgUmVtb3ZlIGVtcHR5IHNyYy8gZGlyZWN0b3J5CiAgICAg
IE9ubHkgY3JlYXRlIEZvby5naWRsIHdoZW4gcnVubmluZyBtYWtlIGNoZWNrLCBlZyBleGNsdWRl
IGl0IGZyb20KICAgICAgaXRzIGNhbGxlZCBhcy1jb21waWxlci1mbGFnLm00LCBub3QgYXMtY29t
cGlsZXIubTQuCiAgICAgIE1ha2UgJ21ha2UgZGlzdGNoZWNrJyB3b3JrIGFnYWluLgogICAgICBB
ZGQgZW51bSBhbmQgZmxhZ3MgdGVzdC4KICAgICAgQWRkIGJveGVkIHRlc3QuCiAgICAgIENvbnNp
c3RlbnQgY2hlY2tzLCBhZGQgbWlzc2luZyAndGVzdCcKICAgICAgUmVuYW1lIHRoZSBlbnVtL2Zs
YWdzIGdldF90eXBlIGZ1bmN0aW9ucyB0byBpbmNsdWRlIHRoZSB3aG9sZSB0eXBlLgogICAgICBS
ZW1vdmUsIHdlJ3JlIHVzaW5nIHJlbGF4bmcgbm93CiAgICAgIGFuZCB0aGUgQ2hhbmdlTG9nCiAg
ICAgIE1ha2UgdGhlIGdlbmVyYXRlZCBtZXRhZGF0YSBkZXBlbmQgb24gdGhlIGctaWRsLWNvbXBp
bGVyCiAgICAgIEFkZCBhbiBhcGkgdG8gbGV4IGZpbGVuYW1lcy4gTGV4IGFsbCBzb3VyY2UgLmMg
ZmlsZXMgcGFzc2VkIGluIG9uIHRoZQogICAgICBSZW5hbWUgbnVsbC1vayB0byBkaXJlY3Rpb249
b3V0CiAgICAgIFJlcXVpcmUgYXV0b21ha2UgMS4xMCBBZGQgR0NPVl9MSUJTIHRvIEdJTElCUwog
ICAgICByZXZlcnQgYmFjayB0byAxLjcuMiBvZiBhdXRvbWFrZQogICAgICBDb2Rpbmcgc3R5bGUg
Zml4ZXMKICAgICAgUmVtb3ZlIHBhcnNpbmcgb2YgdGhlIEBkZXByZWNhdGVkIHN5bnRheCB1c2Vk
IGluIGhlYWRlcnMuIFdlIHdpbGwgc3VwcG9ydAogICAgICBBZGQgc3VwcG9ydCBmb3IgcGFyc2lu
ZyByZXR1cm4gYXJndW1lbnRzLiBBZGQgc3VwcG9ydCBmb3IgY2FsbGVyLW93bnMKICAgICAgUmVt
b3ZlIHVudXNlZCBpbXBvcnRzCiAgICAgIFJlbW92ZSBtb3N0IGdsb2JhbCB2YXJpYWJsZXMKICAg
ICAgQWRkIGEgbmV3IGdpZGwgdGVzdC4gJ3V0aWxpdHkuZ2lkbCcsIHdoaWNoIGlzIHVzZWQgdG8g
YmUgYWJsZSB0byB0ZXN0CiAgICAgIEFkZCBtaXNzaW5nIHRyYWlsaW5nIHF1b3RlLiBCYWQgUGhp
bGlwIQogICAgICBBZGQgYSBnZXRfdHlwZS1mdW5jdGlvbiwgc28gdGhlIHNjYW5uZXIgYWN0dWFs
bHkgcGFyc2VzIGl0IGFzIGFuIG9iamVjdC4KICAgICAgQWRkIGEgcmVsZWF4bmcgaW4gcmVsYXhu
ZyB3ZSBjYW4gdXNlIHRvIHZhbGlkYXRlIHRoZSByZWxheG5ncyBzY2hlbWFzCiAgICAgIEluY2x1
ZGUgZ29iamVjdC0yLjAgZ2lkbCwgc2luY2Ugd2UgaW5jbHVkZSBhIEdPYmplY3QgY2xhc3MKICAg
ICAgUGFzcyBpbiB0aGUgZ29iamVjdC5naWRsIHNpbmNlIHdlJ3JlIGRlZmluaW5nIGEgR09iamVj
dC4KICAgICAgU3BsaXQgb3V0IHRoZSBzb3VyY2Ugc2Nhbm5lciBmcm9tIHRoZSBnZW5lcmF0b3Iu
IFJlbmFtZSB0aGUgc3ltYm9scyB1c2VkCiAgICAgIE1vdmUgdGhlIHNjYW5uZXIgdG8gYSBzZXBh
cmF0ZSBsaWJyYXJ5LgogICAgICBBZGQgaW5pdGlhbCBweXRob24gYmluZGluZ3MgZm9yIHRoZSBz
Y2FubmVyIGFuZCBkZXBlbmQgb24gcHl0aG9uIDIuNS4KICAgICAgQWRkIGNvbnN0YW50cyBhbmQg
d3JhcCBhIGZldyBtb3JlIFN5bWJvbFR5cGUgZmllbGRzCiAgICAgIEZpeCBhIHR5cG8gYW5kIGFk
ZCBhbiBleGFtcGxlIHB5dGhvbiB0ZXN0IHByb2dyYW0uCiAgICAgIFJlbW92ZSB1bnVzZWQgZmls
ZXMKICAgICAgQWRkIHNpbXBsZSBwcmUtcHJvY2Vzc29yIHVzaW5nIHN1YnByb2Nlc3MgYW5kIGEg
UElQRS4gQ2hhbmdlIHRoZQogICAgICBTdGFydCB0byBidWlsZCBhYnN0cmFjdCBzeW50YXggbm9k
ZSBvZiBzY2FubmVkIHNvdXJjZXMuIEFkZCBzdXBwb3J0IGZvcgogICAgICBTdGFydCBjb25zdHJ1
Y3RpbmcgYSByZWFsIG5vZGUgdHJlZS4KICAgICAgLSBBZGQgc3VwcG9ydCBmb3Igc3RydWN0L3Bh
cmFtZXRlci9yZXR1cm4sIHN0YXJ0IHBhcnNpbmcgb2YgY3R5cGVzCiAgICAgIEFkZCBzdXBwb3J0
IGZvciB2b2lkIGN0eXBlCiAgICAgIHNwbGl0IHRyZWUgYnVpbGRpbmcgYW5kIHNvdXJjZSBzY2Fu
bmluZyBpbnRlcmZhY2UgdG8gc2VwYXJhdGUgZmlsZXMuCiAgICAgIEFkZCBhIHNpbXBsaXN0aWMg
Z2lkbCB3cml0ZXIsIHdoaWNoIGNhbid0IGRvIHRvbyBtdWNoLgogICAgICBEbyBmdW5jdGlvbiBu
YW1lcyB0b28KICAgICAgQWRkIHN1cHBvcnQgZm9yIGVudW1zCiAgICAgIGFkZCBhIG5hbWVzcGFj
ZSBvcHRpb24KICAgICAgU3RhcnQgaW50cm9zcGVjdGluZyBnZXQtdHlwZSBmdW5jdGlvbnMuIElt
cGxlbWVudCBzdXBwb3J0IGZvciBHTGliL0dGbGFncwogICAgICBBdm9pZCBjb25mbGljdHMsIGtl
ZXAgdGhlIG91dHB1dCBvcmRlcmVkIHNpbWlsYXIgdG8gdGhlIG9yZGVyIG9mIHRoZQogICAgICBB
ZGQgc3VwcG9ydCBmb3IgY2xhc3NlcyBhbmQgbWV0aG9kcwogICAgICBPb3BzLCBmb3Jnb3QgdG8g
dW5jb21tZW50IHRoaXMKICAgICAgUmVzb2x2ZSBsaWJ0b29sIC5sYSBmaWxlcy4gU3RyaXAgbmFt
ZSBzcGFjZXMgZm9yIG1ldGhvZHMuIEFkZCBmdW5jdGlvbgogICAgICBBdm9pZCBkdXBsaWNhdGlv
biwgcmV1c2UgZnVuY3Rpb24gd3JpdGVyIGZvciBtZXRob2RzLgogICAgICBBZGQgLS1wa2cgb3B0
aW9uIHRvIHBhc3MgaW4gcGtnLWNvbmZpZyBtb2R1bGVzIHRvIGdldCBjZmxhZ3MgZnJvbS4KICAg
ICAgU2V0IGRlZmF1bHQgdG8gYW4gZW1wdHkgbGlzdAogICAgICBTaW1wbGlmeSBhbmQgcmVtb3Zl
IGltcHJvcGVyIHVzZSBvZiBnZXRhdHRyCiAgICAgIFN0cmlwIG5hbWVzcGFjZSBhbmQgb2JqZWN0
IHByZWZpeCBmcm9tIG1ldGhvZCBuYW1lcy4KICAgICAgUmVuYW1lIGFuZCByZWZhY3RvciBpbnRl
cm5hbCBpbnRyb3NwZWN0aW9uIGFwaSBhbmQgZ2V0LXR5cGUgY2FsbGluZwogICAgICBBZGQgYSBz
aW1wbGUgYXBpIGZvciB3cml0aW5nIHRhZ3Mgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCB0aGUgbmV3
ICd3aXRoCiAgICAgIFVzZSByZWxhdGl2ZSBpbXBvcnRzCiAgICAgIEFkZCBiYXNpYyBzdXBwb3J0
IGZvciBpbnRlcmZhY2VzCiAgICAgIEFkZCBhIGNvdXBsZSBvZiBjb25zdGFudHMuCiAgICAgIE1h
cmsgc3RydWN0dXJlcyBhcyBjb25zdCwgd3JhcCBTb3VyY2VUeXBlLmNvbnN0X3N0cmluZy4KICAg
ICAgbWFyayB0aGVtIGFzIGNvbnN0IGFuZCBjb21tZW50IG91dAogICAgICBBZGQgQ29uc3RhbnQs
IHNvIGZhciB1bnVzZWQKICAgICAgQWRkIHN1cHBvcnQgZm9yIGJveGVkIHR5cGVzCiAgICAgIEFk
ZCBjb25zdHJ1Y3RvcnMgZm9yIG9iamVjdC9ib3hlZCB0eXBlcy4KICAgICAgQXZvaWQgYSBiaXQg
b2YgZHVwbGljYXRpb24KICAgICAgU3RyaXAgbmFtZXNwYWNlcyBiZWZvcmUgb2JqZWN0cywgc28g
d2UnbGwgZXhwb3J0IEd0a0J1dHRvbiBhcyBCdXR0b24gaW4KICAgICAgQWZ0ZXIgc3RyaXBwaW5n
IG5hbWVzcGFjZXMsIHJlbW92ZSB0aGUgb3JpZ2luYWwgaXRlbSB0byBhdm9pZCBkdXBsaWNhdGlv
bgogICAgICBVcGRhdGUgQWRkIGEgc3RyaW5nIHByb3BlcnR5CiAgICAgIEFkZCBhIHdvcmthcm91
bmQgZm9yIGEgZ2xpYiBidWcgaW50ZXJmYWNlIGludHJvc3BlY3Rpb24gYnVnCiAgICAgIEFkZCBz
dXBwb3J0IGZvciBwcm9wZXJ0aWVzLiBSZWZhY3RvciBDbGFzcy9JbnRlcmZhY2Ugc3VwcG9ydCBh
IGJpdCwgdG8KICAgICAgQWRkIGEgLS1pbmNsdWRlIGFyZ3VtZW50IHRvIGluY2x1ZGUgdHlwZXMg
ZnJvbSBvdGhlciBpZGxzLiBBZGQgYQogICAgICBVc2UgY3R5cGVzLnV0aWwuZmluZF9saWJyYXJ5
IHRvIGxvY2F0ZSBnb2JqZWN0LTIuMCBhbmQgcmFpc2UgSW1wb3J0RXJyb3IKICAgICAgYXZvaWQg
c2VuZGluZyB0aGUgc2FtZSBvcHRpb25zIG11bHRpcGxlIHRpbWVzIHRvIGNwcAogICAgICBza2lw
IHByaXZhdGUgc3ltYm9scwogICAgICBvbmx5IGF0dGVtcHQgbG9hZCBhIGxpYnJhcnkgaWYgb25l
IHdhcyBzcGVjaWZpZWQKICAgICAgY2xlYW51cCBuYW1lc3BhY2Ugc3RyaXBwaW5nCiAgICAgIEFk
ZCBhbiBpbml0aWFsIEdJUiB3cml0ZXIgYW5kIGEgLS1mb3JtYXQgb3B0aW9uIHRvIGctaXItc2Nh
bm5lcgogICAgICBVcGRhdGUKICAgICAgUmV2ZXJ0IHJldmlzaW9ucyAxNTcsMTQ5LTE0OCwxMzYt
MTI5IGFuZCAxMjAuIE1vdmUgYmFjayB0byB1c2luZwogICAgICBBZGQgYSBMR1BMIGxpY2Vuc2Us
IHRvIHByZXZlbnQgYXV0b21ha2UgdG8gcHV0IGluIGEgY29weSBvZiBHUEwgaGVyZS4KICAgICAg
QWRkIGEgY2FsbGJhY2sgdGVzdAogICAgICBBZGQgc3VwcG9ydCBmb3IgQ2FsbGJhY2tzCiAgICAg
IGJpdG1hc2stPmJpdGZpZWxkLCBjOnN5bWJvbC0+YzppZGVudGlmZXIgYXBpLT5yZXBvc2l0b3J5
CiAgICAgIEFkZCBzdXBwb3J0IGZvciBzb3VyY2UvaGVhZGVyIGFubm90YXRpb25zLgogICAgICBB
ZGQgc3VwcG9ydCBmb3Igc2lnbmFscwogICAgICBBZGQgc3VwcG9ydCBmb3IgdmlydHVhbCBtZXRo
b2RzLiBQYWlyIHN0cnVjdCBGb29DbGFzcyB3aXRoIHN0cnVjdCBGb28uCiAgICAgIEFkZCBMR1BM
djIgbGljZW5zZSBoZWFkZXIgYW5kIGluc3RhbGwgYWxsIHB5dGhvbiBmaWxlcwogICAgICBSZW5h
bWUgdHJlZWJ1aWxkZXIgdG8gdHJhbnNmb3JtZXIgYW5kIGdvYmplY3RyZWVidWlsZGVyIHRvCiAg
ICAgIFNwbGl0IG91dCBub2RlcyB0byBhc3QucHkgYW5kIGdsaWJhc3QucHkKICAgICAgZy1pci1z
Y2FubmVyIGhhcyBubyBzb3VyY2VzLgogICAgICBDYXN0IHRoZSBnZXR0ZXIsIGF2b2lkcyBhIGNv
bXBpbGF0aW9uIHdhcm5pbmcuCiAgICAgIEFkZCB0d28gbmV3IGZ1bmN0aW9ucyB0byBjaGVjayBz
ZXF1ZW5jZSByZXR1cm4gdmFsdWVzLiBBbHNvIGZpeGVzIGEKICAgICAgQWxsb3cgcGFyZW50aGVz
aXMgaW4gYW5ub3RhdGlvbnMKICAgICAgU2ltcGxpZnkgJiBSZW1vdmUgYSBiaXQgb2YgdW51c2Vk
IGNvZGUKICAgICAgV3JhcCBhdHRyaWJ1dGVzIGZvciBsaW5lcyB3aGljaCBhcmUgd2lkZXIgdGhh
biA3OSBjaGFyYWN0ZXJzCiAgICAgIFJlZmFjdG9yIHByZXR0eSBhdHRyaWJ1dGUgaW5kZW50YXRp
b24gdG8gYmUgbW9yZSBnZW5lcmljIGFuZCBhbHdheXMgdXNlIGl0CiAgICAgIFN3aXRjaCBvdmVy
IHRvIEdJUiBhcyB0aGUgZGVmYXVsdCBmb3JtYXQuIEFkZCBhIHNpbXBsZSBHSURMIHBhcnNlci4g
VXBkYXRlCiAgICAgIFByZXR0aWZ5IE5TIHBhcnNpbmcgdXNpbmcgZWxlbWVudHRyZWUuCiAgICAg
IEluY2x1ZGUgaW5kZW50YXRpb24gaW4gbGluZSBsZW5ndGggY2FsY3VsYXRpb24KICAgICAgZy1p
ci1zY2FubmVyIGlzIGEgc2NyaXB0LCBub3QgYSBwcm9ncmFtLgogICAgICBSZXBsYWNlIHRoZSBH
T2JqZWN0IGdpZGwgd2l0aCBhIEdPYmplY3QgZ2lyLgogICAgICBuZXdsaW5lCiAgICAgIEZpcnN0
IHN0ZXBzIHRvd2FyZHMgcGFzc2luZyBkaXN0Y2hlY2sKICAgICAgZml4IGEgdHlwbywgcmV2ZXJ0
IHRvIGF1dG9tYWtlIGhhY2sgZm9yIHVuaW5zdGFsbGVkIHNoYXJlZCBsaWJyYXJpZXMKICAgICAg
TWFrZSBkaXN0Y2hlY2sgcGFzcwogICAgICBXcml0ZSBwcm9wZXJ0eS50eXBlIGFzIGEgY2hpbGQg
bm9kZS4KICAgICAgTGluZSB3cmFwIGxpY2Vuc2UgaGVhZGVyCiAgICAgIENoZWNrIGV4cGxpY2l0
bHkgZm9yIE5vbmUsIHNvIHdlIGNhbiB3cml0ZSBGYWxzZQogICAgICBBZGQgcGFyZW50IGZvciBH
SW5pdGlhbGx5VW5vd25lZAogICAgICBNb3ZlIGM6aWRlbnRpZmllciBmcm9tIHJldHVybi12YWx1
ZSB0byBzdWJjaGlsZCB0eXBlLCBhcyBwZXIgSsO8cmdzCiAgICAgIFVwZGF0ZSBUT0RPCiAgICAg
IFJlbmFtZSBtb3N0IGM6aWRlbnRpZmllciB0byBjOnR5cGUuIEFkZCBuZXcgb25lcyB0bwogICAg
ICBVcGRhdGUKICAgICAgQXZvaWQgcmVjdXJzaW9uIHdoZW4gc2Nhbm5pbmcgZ2lyZXBvc2l0b3J5
LmgKICAgICAgQWRkIGEgLS1zdHJpcC1wcmVmaXggYW5kIHNvcnQgb3V0IGNvbmZ1c2lvbiBiZXR3
ZWVuIG5hbWVzIGFuZCBzeW1ib2xzIGZvcgogICAgICBDYWxjdWxhdGUgdGhlIGxpbmUgbGVuZ3Ro
IHByb3Blcmx5LCBpbmNsdWRlIHRoZSBwcm92aWRlZCBleHRyYSBpbmRlbnRhdGlvbgogICAgICBX
cml0ZSByZWNvcmQvc3RydWN0cyB0byBnaXIgZmlsZSB0b28uIEFkZCBhIGNvdXBsZSBvZiB0ZXN0
cywgZml4IGFuIG9mZiBieQogICAgICBnZGstcGl4YnVmLmdpZGwgbm90ZQogICAgICBBZGQgYSBi
YXNpYywgdW5maW5zaGVkIG1hbiBwYWdlIGZvciBnLWlyLXNjYW5uZXIsIG1vdmUgZG9jdW1lbnRz
IGludG8gLnR4dAogICAgICBVc2UgdHJhbnNmZXItb3duZXJzaGlwIGV2ZXJ5d2hlcmUsIHRvIG1h
cmsgb3duZXJzaGlwL2NhbGxlL2NhbGxlciBldGMuCiAgICAgIFBhcnNlIHN0cnVjdCBmaWVsZHMg
cHJvcGVybHksIGltcHJvdmUgZGVidWdnaW5nLgogICAgICBIYW5kbGUgbWlzc2luZyBwYXJhbWV0
ZXJzIGJldHRlciwgYWxsb3cgLSBhbmQgKyBpbiAubGEgZGxuYW1lIGZpbGVuYW1lcy4KICAgICAg
QXZvaWQgYSB0aW55IGJpdCBvZiBkdXBsaWNhdGlvbgogICAgICBSZWZhY3RvciBhbmQgY29tbWVu
dCBzY2FubmVyIGZyb250ZW5kCiAgICAgIEZvcm1hdCBoZWFkZXIsIFJlbW92ZSBkdW1teSBzeXMu
cGF0aC5pbnNlcnQKICAgICAgTW92ZSBzb3VyY2VzY2FubmVyIHN5bWJvbHMgdG8gdGhlIHNvdXJj
ZXNjYW5uZXIgbW9kdWxlLCBpbnN0ZWFkIG9mIGluIHRoZQogICAgICBBZGQgZGF0YSB0eXBlIGNv
bnN0YW50cwogICAgICBJbnRyb2R1Y2UgYSBuYW1lc3BhY2UgYXN0IG5vZGUKICAgICAgUmVzdXJy
ZWN0IEdJREwKICAgICAgSW1wcm92ZSByZXByKCkgZm9yIGFzdCBub2RlcwogICAgICBNb3ZlIHBh
cnQgb2YgdGhlIG5hbWVzcGFjZSBwcmVmaXggcGFyc2luZyBmcm9tIGdsaWJ0cmFuc2Zvcm1lci0+
dHJhbnNmb3JtZXIKICAgICAgTW92ZSBuYW1lc3BhY2Ugc3RyaXBwaW5nIGdsaWJ0cmFuc2Zvcm1l
ci0+dHJhbnNmb3JtZXIKICAgICAgQ2xlYW4gdXAgYW5kIHJlZmFjdG9yIGVudW0gbmFtZXNwYWNp
bmcKICAgICAgUmV2ZXJ0IGJhY2sgdG8gdXNpbmcgdGVtcG9yYXJ5IGZpbGVzIHRvIHNlbmQgaW4g
aGVhZGVycy4gQWxsb3cgRnVuY3Rpb25zCiAgICAgIEFkZCBjdHlwZV9uYW1lLCBhIGZ1bmN0aW9u
IHRvIGNvbnZlcnQgYSBDVFlQRSBzeW1ib2wgdG8gYSBzdHJpbmcKICAgICAgUHJldmVudCBhIGNy
YXNoIHdoZW4gc3ltYm9sLT5pbmRlbnQgaXMgTlVMTC4KICAgICAgUmVuYW1lIHBrZy1jb25maWcg
bmFtZSB0byBnb2JqZWN0LWludHJvc3BlY3Rpb24tMS4wLCBEbyBub3QgaW5zdGFsbGVkCiAgICAg
IFVwZGF0ZSBzeXMucGF0aCBiZWZvcmUgcnVubmluZyB0aGUgcGFyc2VyIHNvIHdlIGRvbid0IGhh
dmUgdG8gc2V0dXAKICAgICAgQW5kIHRoZSBNYWtlZmlsZSwgZCdvaAogICAgICBJbXByb3ZlIGVy
cm9yIHJlcG9ydGluZyB3aGVuIHRyeWluZyB0byBxdW90ZSBOb25lLiBEbyBub3QgcHJpbnQgd2Fy
bmluZ3MKICAgICAgQWRkIGEgbmV3IHNvdXJjZSB0eXBlIGVudW0gZm9yIG1lbWJlci4gVXNlIF9f
cmVwcl9fIGZvciBpbXByb3ZlZCBkZWJ1Z2dpbmcKICAgICAgUmV2ZXJ0IHRoaXMgcGFydCwgaXQg
YnJva2UgYXRrCiAgICAgIEltcHJvdmUgZW51bSBtZW1iZXIgcGFyc2luZyBhbmQgaW50cm9zcGVj
dGlvbgogICAgICBGaXggYSBidWcgd2hpY2ggcHJldmVudGVkIEdka0V2ZW50IGZyb20gYmVpbmcg
Z2VuZXJhdGVkCiAgICAgIEltcHJvdmUgbGluZSB3cmFwcGluZyB3aGVuID4gNzkgY2hhcmF0ZXJz
CiAgICAgIFJlZ2VuZXJhdGUgd2l0aCBwcm9wZXIgaW5kZW50YXRpb24KICAgICAgU3RhcnQgdXNp
bmcgYWJzdHJhY3QgdHlwZSBpbnN0ZWFkIG9mIHRoZSByYXcgQyB0eXBlcy4gUmVnaXN0ZXIgYSBi
dW5jaCBvZgogICAgICBBZGQgc3VwcG9ydCBmb3IgZ3RrLWRvYyBhbm5vdGF0aW9ucyBmb3IgYWxs
b3ctbm9uZS4gQWRkIHRlc3QgY2FzZS4KICAgICAgSWdub3JlIGEgZmV3IG1vcmUgdGFncwogICAg
ICByZW5hbWUgbWV0YWRhdGEtZm9ybWF0LnR4dCB0byB0eXBlbGliLWZvcm1hdC50eHQKICAgICAg
bWV0YWRhdGEtPnR5cGVsaWIgaGVyZSB0b28sIGJ1bXAgdmVyc2lvbgogICAgICBNZXJnZSBpbiB0
aGUgZ2lyLWNvbXBpbGVyIGJyYW5jaC4gVGhhbmtzIHRvIFBoaWxpcCBhbmQgQ29saW4gZm9yIHRo
ZWlyCiAgICAgIHR5cGUgLT4gbnR5cGUKICAgICAgRGlzYWJsZSByb3VuZHRyaXAgdGVzdHMgd2hp
Y2ggYXJlIG5vdCB5ZXQgd29ya2luZyBSZXdyaXRlIGFzIGdpci4KICAgICAgZGlzYWJsZSBhIHRl
c3QKICAgICAgUmVuYW1lIHRlc3RzL3BhcnNlciB0byB0ZXN0L3NjYW5uZXIKICAgICAgUmVuYW1l
ICoudGVzdCB0byAqLmdpcgogICAgICBNb3ZlIHNoYXJlZCAqLltjaF0gZmlsZXMgdG8gZ2lyZXBv
c2l0b3J5IGZyb20gdG9vbHMKICAgICAgUmVtb3ZlIG9sZCBDIHNjYW5uZXIsIHdoaWNoIGdvdCBy
ZXdyaXR0ZW4gaW4gcHl0aG9uLgogICAgICBSZW5hbWUgbWV0YWRhdGEgdG8gdHlwZWxpYiBpbiB2
YXJpYWJsZSBuYW1lcywgY29tbWVudHMgYW5kIGFwaXMuCiAgICAgIFJlbW92ZSBvdXRkYXRlZCBy
ZWxheG5nIHNjaGVtYXMuCiAgICAgIFBFUDhpZnkKICAgICAgQ2xlYW4gdXAgZ2NvdiBpbnRlZ3Jh
dGlvbiBhIGJpdAogICAgICBhZGQgYSBwZXA4IHNjcmlwdAogICAgICBQRVAtOCoKICAgICAgQWxs
b3cgbXVsdGlwbGUgbGlicmFyaWVzIFJlbmFtZSBsb2FkX2xpYnJhcnkgdG8gYWRkX2xpYnJhcnks
IHRyYXZlcnNlIG92ZXIKICAgICAgUmVnaXN0ZXIgR0luaXRpYWxseVVub3duZWQKICAgICAgcmVt
b3RlIHR3byBwcmludHMKICAgICAgQWxsb3cgZ2V0X3R5cGUgdG8gYmUgTm9uZSwgc2V0IGEgZ2V0
X3R5cGUgZm9yIEdJbml0aWFsbHlVbm93bmVkIHRvby4KICAgICAgUnVuIHBlcDgucHkgaW4gbWFr
ZSBjaGVjaywgZml4IG9sZCBlcnJvcnMuCiAgICAgIFJlZmFjdG9yIGEgYml0LCBhdm9pZCBpc2lu
c3RhbmNlIGFuZCBhZGQgYSBtZXRob2QgZm9yIGVhY2ggdHlwZSB3ZSBwYXJzZS4KICAgICAgQ2xl
YW4gdXAgY2dvYmplY3QucHkgYSBsaXR0bGUsIGZpeCBwZXA4IGVycm9ycwogICAgICBSZWZhY3Rv
ciB0aGUgcGFyc2VyIGEgYml0LiBBZGQgcGFyZW50IHR5cGUgdG8gaW50ZXJmYWNlcyBhbmQgdXBk
YXRlCiAgICAgIEFkZCBweWZsYWtlcy5weSBhbmQgcnVuIGl0IGluIG1ha2UgY2hlY2suIFVwZGF0
ZSB0aGUgc291cmNlIGNvZGUgdG8gZml4CiAgICAgIE1ha2UgcHlmbGFrZXMucHkgY29uZm9ybSB0
byBwZXA4LnB5CiAgICAgIEF2b2lkIGltcG9ydGluZyB0d28gR09iamVjdCBzeW1ib2xzIGluIHRy
YW5zZm9ybWVyLnB5CiAgICAgIERlZmluZSBhbiBpbnRlcm5hbCBfSF8gdmFyaWFibGUgc28gd2Ug
c2tpcCBwYXJzaW5nIGJvdGggaTE4biBoZWFkZXJzLCBvbmx5CiAgICAgIE5ldyBpbnRlcm5hbCBm
dW5jdGlvbiBmb3IgYWRkaW5nIGEgbmV3IG5vZGUuCiAgICAgIERvbid0IHJlcXVpcmUgYzp0eXBl
LiBUZXN0IGJveGVkLmdpciBVcGRhdGUsIHJlbW92ZSBwYXJ0cyB3ZSBkb24ndCBzdXBwb3J0CiAg
ICAgIENsZWFyIHVwIGNvbnN0YW50IHBhcnNpbmcKICAgICAgRml4IGdlbmVyYXRpb24gb2YgZW51
bS9iaXRmaWVsZHMKICAgICAgRml4IGdlbmVyYXRvciBmb3IgY29uc3RhbnQvZ29iamVjdC9zdHJ1
Y3QKICAgICAgQ29udmVydCB0d28gbW9yZSB0ZXN0cywgc3RpbGwgbm90IGNvbXBsZXRlbHkgZG9u
ZSB0aG91Z2gKICAgICAgUmVnZW5lcmF0ZQogICAgICBSZXNvbHZlIHR5cGUgbmFtZXMgZm9yIGFs
aWFzIHRhcmdldHMgU2tpcCBGSUxFKiBwYXJhbWV0ZXJzIGZvdyBub3cKICAgICAgUGFyc2UgYm94
ZWQgdHlwZXMuCiAgICAgIFBhcnNlIGVudW1lcmF0aW9uL2JpdGZpZWxkLgogICAgICBSZW9yZGVy
CiAgICAgIG1ha2UgaXQgY29tcGlsZSBhZ2Fpbi4uLgogICAgICBSZW1vdmUgcmVzb2x2ZV9wb3Nz
aWJsZV90eXBlZGVmcywgaXQgd2FzIHVudXNlZC4gQWxsb3cgbXVsdGlwbGUgZW51bQogICAgICBS
ZWdlbmVyYXRlIEdPYmplY3QgJiBHVHlwZS4gQXZvaWQgd2FybmluZ3Mgd2hlbiBnZW5lcmF0aW5n
CiAgICAgIEFkZCBhIGdpbyBnaXIuCiAgICAgIEFkZCBhIGRvY3VtZW50IGZvciBhbiBvbiBkaXNr
IG1vZHVsZSByZWdpc3RyeSBmb3JtYXQKICAgICAgTWFrZSBlbnVtIHNlcmlhbGl6aW5nIGZ1bmN0
aW9ucyBwdWJsaWMuIENsZWFuIHVwIHNvbWUgd2hpdGVzcGFjZS4KICAgICAgVXBkYXRlIHdpdGgg
bmV3IHR5cGUgcHJvcG9zYWwKICAgICAgVXBkYXRlCiAgICAgIFNldCBjdHlwZSBvZiBlbnVtcyBJ
bXByb3ZlIGVudW0gcGFyc2luZyBmb3IgZW51bXMgd2l0aG91dCBhIEdUeXBlLiBNYWtlCiAgICAg
IFJlZG8gdHlwZSByZXNvbHZpbmcgYW5kIHZhbGlkYXRpb24uIEFkZCBhIGNvdXBsZSBvZiBuZXcg
dGVzdHMuIFBhdGNoCiAgICAgIFJlZ2VuZXJhdGUuCiAgICAgIEFkZCBhIGdfaXJfY29tcGlsZXIg
dmFyaWFibGUKICAgICAgQWRkIGEgdW5pb24gdGVzdGNhc2Ugd2hpY2ggdGhlIGNvbXBpbGVyIGN1
cnJlbnRseSBiYXJmcyBhdC4KICAgICAgQWRkIGJhc2ljIHN1cHBvcnQgZm9yIHVuaW9uLCBiYXNl
IHRoZSBjb2RlIG11Y2ggb24gU3RydWN0LiBBZGQgYSB0ZXN0Y2FzZS4KICAgICAgQWRkIHN1cHBv
cnQgZm9yIHR5cGVkZWYgdm9pZCBmb28gdHlwZSBvZiBhbGlhc2VzLgogICAgICBBZGQgYSBiYXNl
ZCBvbiBHZGtEcmF3YWJsZSB3aGljaCBnZW5lcmF0ZXMgYSBicm9rZW4gZ2lyLgogICAgICBNb3Zl
IHRoZSBkcmF3YWJsZSBwYXJ0cyBvdXQgb2YgRm9vIHRvIGl0cyBvd24gdGVzdC4KICAgICAgRm9v
LT5mb28sIGZvby1vYmplY3QuaCAtPiBmb28uaAogICAgICBTcGxpdCBvdXQgYW5ub3RhdGlvbiB0
ZXN0cyBvdXQgb2YgZm9vCiAgICAgIFJlLXJ1biBhZ2FpbnN0IG5ldyBnbGliL2dvYmplY3QgZ2ly
cwogICAgICBSZS13cmFwCiAgICAgIFVwZGF0ZSBhcnJheSB0ZXN0cwogICAgICBSZWduZXJhdGUg
RG8gbm90IGRlbGV0ZSBDbGFzcyBzdHJ1Y3R1cmVzLCB3ZSBuZWVkIHRoZW0gaW4gZ2RrL2d0ay4K
ICAgICAgTWFrZSB0aW1lX3QgYW4gYWxpYXMgZm9yIGxvbmcKICAgICAgQWRkIGEgd29ya2Fyb3Vu
ZCBmb3IgIzU0ODY4OS4gV2UgY2FuIG5vdyBjb21waWxlIGd0ayEKICAgICAgSW5zdGFsbCBHT2Jq
ZWN0LnR5cGVsaWIKICAgICAgQWRkIGdzaG9ydC9ndXNob3J0IHR5cGVzCiAgICAgIFJld3JhcCBh
bmQgZml4IGRvdWJsZSBmcmVlIGJ1ZyBieSBsZWFraW5nIGEgYml0LgogICAgICBSZW1vdmUgY29t
cGlsYXRpb24gd2FybmluZ3MKICAgICAgRG8gbm90IGhhcmQtY29yZSBsaWJyYXJ5IG5hbWVzIGlu
IHRoZSBNYWtlZmlsZSwgcmV1c2UgY3R5cGVzIGZpbmRfbGlicmFyeQogICAgICBQYXJzZSBnbGli
Y29uZmlnLmggYXMgd2VsbCBhbmQgaW5zdGFsbCB0aGUgY29tcGlsZWQgdHlwZWxpYgogICAgICBE
byBub3Qgc2VuZCAubGEgZmlsZXMgdGhyb3VnaCBmaW5kX2xpYnJhcnkuCiAgICAgIFVzZSBnX21v
ZHVsZV9idWlsZF9wYXRoIHRvIHJlc29sdmUgdGhlIHNobGliIG5hbWUKICAgICAgQnVpbGQgYW5k
IGluc3RhbGwgdGhlIEdpby50eXBlbGliIHRvbwogICAgICBQbHVnIG1lbW9yeSBsZWFrIGFuZCBh
dm9pZCB1c2luZyBmcmVlZCBtZW1vcnkuIFJlc29sdmUgdGhlIHdob2xlIG1vZHVsZQogICAgICBS
ZXBsYWNlIGdsaWJjb25maWcuaCB3aXRoIG91ciBvd24sIGRvIHNvbWUgcmVwbGFjZW1lbnQgZm9y
IENQUC9DIGZlYXR1cmVzCiAgICAgIDEtPjAsIG5vdCAxLT4xCiAgICAgIEF2b2lkIHVzaW5nIGJ1
aWxkZGlyCiAgICAgIE1ha2UgaXQgd29yayBhZ2FpbiwgY2xlYW4gdXAgdGhlIG1lc3MgSSBtYWRl
CiAgICAgIFVzZSB0aGUgZ2VuZXJhdGVkIGdsaWJjb25maWcuaCBmb3IgYWxsIHNjYW5uZXIgaW52
b2thdGlvbnMuIFJlbmFtZSBpdCB0bwogICAgICB1bmRlZiBpbnN0ZWFkIG9mIGRlZmluZSB4eHgg
MAogICAgICBEb24ndCBwYXNlIF9MSUJJTlRMX0gKICAgICAgUmVtb3ZlIEdfR05VQ19FWFRFTlNJ
T04gdG9vCiAgICAgIFNlbmQgaW4gdW5kZWZzL2RlZmluZXMgdmlhIHdyaXRpbmcgaXQgZGlyZWN0
bHkgdG8gc3RkaW4gb2YgY3BwIGluc3RlYWQgb2YKICAgICAgQ2hlY2sgZm9yIC4uL2dvYmplY3Qt
aW50cm9zcGVjdGlvbi0xLjAucGMuaW4gdG8gZGV0ZXJtaW5lIGlmIHdlIHJ1bgogICAgICBBdm9p
ZCBkdXBsaWNhdGlvbiBpbiB0aGUgTWFrZWZpbGUsIHJlZ2VuZXJhdGUgd2l0aCBuZXcgbmFtZXNw
YWNlcyAoc2FtZSBhcwogICAgICBBdm9pZCAgaW4gdXRpbGl0eS5naXIsIGFzIGl0IGRvZXNuJ3Qg
d29yawogICAgICBSZW1vdmUgbGVmdC1vdmVyIGNvZGUsIGNoZWNraW5nIHR5cGUgb2YgZnVuY3Rp
b24uCiAgICAgIFJlZmFjdG9yIGEgY291cGxlIG9mIHBhcnNpbmcgZnVuY3Rpb25zIHRvIGJlIHNp
bXBsZXIgdG8gZm9sbG93LiBBdm9pZCBodWdlCiAgICAgIG1ha2UgdGhlIHRlc3RzIHBhc3MgYWdh
aW4KICAgICAgQXZvaWQgdW5kZWZmaW5nIF9fR05VQ19fLCBpbnN0ZWFkIGRlZmluZSBfX2F0dHJp
YnV0ZV9fICYgZnJpZW5kcy4gUmVtb3ZlCiAgICAgIFByb3BlciBjcmVkaXQKICAgICAgT25seSBz
ZW5kIGluIC1uby11bmRlZmluZWQgb24gV2luMzIgYXMgaXQgYnJlYWtzIG9uIE1hY09TIFguCiAg
ICAgIFJlbW92ZSBnZW5lcmF0ZWQgZmlsZXMKICAgICAgSW5jbHVkZSBnLWlyLXNjYW5uZXIgaW4g
dGhlIHRhcmJhbGwKICAgICAgTWFrZSBkaXN0Y2hlY2sgcGFzcy4KICAgICAgUmVtb3ZlIGdpZGwg
c3VwcG9ydC4KICAgICAgRG9jdW1lbnQKICAgICAgQWRkIG1hbiBwYWdlcyBmb3IgdGhlIGdlbmVy
YXRvciBhbmQgY29tcGlsZXIuCiAgICAgIFVwZGF0ZSBhbmQgcmVtb3ZlIG9sZCBjcnVmdC4KICAg
ICAgVXBkYXRlCiAgICAgIFVzZSBkYXRhcm9vdGRpciBpbnN0ZWFkIG9mIGRhdGFkaXIgdG8gYXZv
aWQgYW4gYXV0b2NvbmYgd2FybmluZy4KICAgICAgQWRkIGEgR01vZHVsZS5naXIKICAgICAgQ2xl
YW4gdXAgYSBodWdlIGlmLiBEbyBub3QgYWRkIG1ldGhvZHMgb3IgY29uc3RydWN0b3JzIHRvIGVu
dW1zL2ZsYWdzLgogICAgICBQYXJzZSBHQ0MgZXh0ZW5zaW9ucyBpbiB0aGUgcGFyc2VyIGluc3Rl
YWQgb2YganVzdCB1bmRlZmZpbmcgdGhlbSBpbiB0aGUKICAgICAgRml4IHVwIHN0cmlwIGxvZ2lj
IHRvIG5vdCByZWdyZXNzCiAgICAgIEJ1bXAgdmVyc2lvbiB0byAwLjUuMAogICAgICB0b3Bfc3Jj
ZGlyIC0+IHRvcF9idWlsZGRpcgogICAgICBBZGQgYSByZWxlYXNlLXRhZyBydWxlCiAgICAgIFJl
bW92ZSBleHRyYSBlY2hvIGZyb20gdGhlIHJlbGVhc2UtdGFnIHJ1bGUKICAgICAgPT09IDAuNS4w
ID09PQogICAgICBQb3N0LXJlbGVhc2UgdmVyc2lvbiBidW1wCiAgICAgIFNldCBQWVRIT05QQVRI
IHNvIHRoZSBzY2FubmVyIGNhbiBydW4gZXZlbiBpZiB5b3UgZGlkbid0IGluc3RhbGwgYW55dGhp
bmcuCiAgICAgIFJlbW92ZSBsZWFkaW5nICUKICAgICAgSW5jbHVkZSBzdGRsaWIuaAogICAgICBC
dWcgNTUxMTYyIOKAkyBnaXNjYW5uZXIgZG9lcyBub3QgcmVjb2duaXplIGFzbSBhbmQgX19hc21f
XyBQYXRjaCBieSBKYW5pCiAgICAgIEFkZCBhIHdyYXBwZXIgZm9yIHR5cGVfcXVhbGlmaWVyIGFz
IHdlbGwuCiAgICAgIEFkZCB0eXBlX3F1YWxpZmllciB0byBTb3VyY2VUeXBlLl9fbWVtYmVyc19f
CiAgICAgIFdoaXRlc3BhY2UKICAgICAgQWxzbyBwYXJzZSBlbnVtcyB3aGljaCBhcmUgbm90IGds
aWIgdHlwZXMuCiAgICAgIERpc2FibGUgY2hlY2stbG9jYWwgZm9yIG5vdwogICAgICBQYXJzZSBh
bmQgaWdub3JlIF9fYXNtLgogICAgICBCdWcgNTU2MzU4IC0gZG9uJ3QgdXNlIGxpYnRvb2wgaW50
ZXJuYWxzCiAgICAgIFJlbmFtZSBHTGliLWFzc2VydGlvbnMudHh0IHRvIEdMaWItMi4wLnhwYXRo
IGFuZCBpbmNsdWRlIGl0IGluIEVYVFJBX0RJU1QKICAgICAgUmVtb3ZlIGxlZnRvdmVyIHJhaXNl
IFN5c3RlbUV4aXQuCiAgICAgIEFkZCBtaXNzaW5nIHdoaXRlc3BhY2UgdG8gbWFrZSBwZXA4IGhh
cHB5CiAgICAgIEZpeCBidWcgcmVmZXJlbmNlCiAgICAgIEFkZCBhIENPTlRSSUJVVE9SUyBmaWxl
IGFuZCBkaXN0IGl0LgogICAgICBBZGQgSm9obiBGaW5sYXkKICAgICAgQ2hlY2sgYWdhaW5zdCBk
aXZpc2lvbiBieSB6ZXJvIGZvciB0aGUgbW9kdWxhIG9wZXJhdG9yLiBUaGlzIGZpeGVzIGhlYWRl
cgogICAgICBPbmx5IHVzZSBTSExJQl9TVUZGSVggb24gZGFyd2luLCBvdGhlcndpc2UgdXNlIEdf
TU9EVUxFX1NVRkZJWCwgd2UgY2Fubm90CiAgICAgIEV4cG9ydCB0d28gcHJpdmF0ZSBtZXRob2Rz
IHRvIGF2b2lkIGFuIGNvbXBpbGVyIHdhcm5pbmcKICAgICAgQmUgcXVpZXQsIGRvIG5vdCB3YXJu
IGFib3V0IHVuaGFuZGxlZCBtZW1iZXJzLgogICAgICBCZSBsZXNzIHZlcmJvc2UgYWJvdXQgc291
cmNlIHR5cGVzLCB3ZSBoYW5kbGUgbW9zdCBvZiB0aGVtIG5vdyBhbnl3YXkKICAgICAgQ2xlYW4g
dXAgdGhlIGxpYnRvb2wgaW1wb3J0ZXIgYSBiaXQuIEFkZCBhIGNvbnRleHQgc28gd2UgY2FuIHVz
ZSBpdAogICAgICBSZW1vdmUgdGVzdC90eXBlcwogICAgICBCdWcgNTU4MzgzIOKAkyBidWlsZGRp
ciAhPSBzcmNkaXIgYnVpbGQgZmFpbHMgaWYgZ2lzY2FubmVyIHB5dGhvbiBtb2R1bGUKICAgICAg
Q2xlYW4gdXAgaW1wb3J0cwogICAgICBSdW4gaW52b2tlICYgcmVwb3NpdG9yeSB0ZXN0cyBhdCBs
YXN0CiAgICAgIENsZWFuIHVwIGluY2x1ZGUgcGFyc2luZyBhbmQgcmVnaXN0cmF0aW9uLgogICAg
ICBBdm9pZCBiaWcgaWYvZWxzZSBhbmQgdXNlIGEgZGlzcGF0Y2ggdGFibGUgbGlrZSBhcHByb2Fj
aC4KICAgICAgQXZvaWQgcGFyc2luZyBwYXJhbWV0ZXJzLCB0eXBlcyBldGMgd2hlbiBwYXJzaW5n
IGluY2x1ZGVzLiBTaG91bGQgc3BlZWQgdXAKICAgICAgUmV3cmFwIGFuZCByZW9yZGVyIGluY2x1
ZGVzCiAgICAgIExvb2sgaW4gWERHX0RBVEFfRElSL2dpciwgcmVhbGx5LgogICAgICBSZW1vdmUg
YXJndW1lbnRzIGZyb20gdGhlIGNvbnN0cnVjdG9yLCBtb3ZlIHRoZW0gdG8gc2VwYXJhdGUgYWNj
ZXNzb3JzLgogICAgICBQYXJzZSBhbmQgZGlzY2FyZCBfX3R5cGVvZiBhbmQgX19hdHRyaWJ1dGUu
CiAgICAgIFBhcnNlIF9fc2lnbmVkX18gYXMgc2lnbmVkCiAgICAgIEFic3RyYWN0IGF0dHJpYnV0
ZSBmb3JtYXR0aW5nIHRvIGEgZnVuY3Rpb24gZXh0ZXJuYWwgdG8gdGhlIFhNTFdyaXRlcgogICAg
ICBXcml0ZSBhIEMgdmVyc2lvbiBvZiB0aGUgeG1sIG5hbWVzcGFjZSBmb3JtYXR0ZXIuIFNhdmVz
IDE1JSBvZiB0aGUgdGltZSBpdAogICAgICBBZGQgLS1uc3ZlcnNpb24gZG9jcwogICAgICBEb2N1
bWVudCB0aGUgcmVuYW1pbmcgb3B0aW9ucy4KICAgICAgUmVtb3ZlIHdoaXRlc3BhY2UKICAgICAg
YWRkIGFuIHVwbG9hZC1yZWxlYXNlIHRhcmdldCBSZWxlYXNlIHByb2Nlc3MgZG9jdW1lbnRhdGlv
bgogICAgICA9PT0gMC42LjAgPT09CiAgICAgIFBvc3QgcmVsZWFzZSB2ZXJzaW9uIGJ1bXAKICAg
ICAgUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UKICAgICAgSWYgYW55IG9mIHRoZSBwYXRoIHBh
cnRzIGluIHN5cy5wYXRoIGNvbnRhaW5zIGxpYjY0LCB1c2UgbGliNjQgYXMgYSBsaWJkaXIgaW5z
dGVhZCBvZiBsaWIKICAgICAgUmVsaWNlbnNlIHRoZSBnaXNjYW5uZXIgbGlicmFyeSB1bmRlciBM
R1BMdjIrLiBUaGlzIGhhcyBiZWVuIGFwcHJvdmVkIGJ5CiAgICAgIEhhbmRsZSBicm9rZW4gY2Fj
aGUgZW50cmllcywgd3JpdGUgb25seSBmaWxlc3lzdGVtcyBhbmQgcnVubmluZyBvdXQgb2YKICAg
ICAgQ2xlYXIgdXAgc29tZSBjb25mdXNpb24gYWJvdXQgdGhlIHNlY29uZCBhcmd1bWVudCB0byBm
aW5kX21vZHVsZSwgaXQncwogICAgICBTZXQgbW9kdWxlLl9fbG9hZGVyX18gYXMgcGVyIFBFUCAz
MDIuCiAgICAgIFJlb3JnYW5pemUgYW5kIGZpeCBjb21waWxlciB3YXJuaW5ncwogICAgICBJbXBy
b3ZlIHdhcm5pbmcgbWVzc2FnZSBmb3JtYXR0aW5nCiAgICAgIEFkZCBhIEdJUmVwb3NpdG9yeS0y
LjAuZ2lyLiBDaGFuZ2UgdGhlIGxpYnRvb2wgbG9va3VwIHNsaWdodGx5IHNvIHdlIGNhbgogICAg
ICBPbmx5IHJlc29sdmUgdGhlIGxpYm5hbWUgdG8gdGhlIGJhc2VuYW1lIG9mIHRoZSBwYXRoIHdo
ZW4gcGFzc2luZyBpbiBhbiBhYnNvbHV0ZSAubGEgZmlsZW5hbWUKICAgICAgQWRkIGEgZ19pcmVw
b3NpdG9yeV9nZXRfc2VhcmNoX3BhdGgsIHNvIHdlIGNhbiBhY2Nlc3MgdGhlIHNlYXJjaCBwYXRo
cwogICAgICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcywgYWRkIGEgZGVwZW5kZW5jeSBvZiBnaXJl
cG9zaXRvcnkuY2gsIHNvIHdoZW4gdGhleQogICAgICBDaGFuZ2UgdGhlIGVsZW1lbnQgdHlwZSBm
cm9tIHV0ZjggdG8gZmlsZW5hbWUgU3BlY2lhbCBjYXNlIGZpbGVuYW1lCiAgICAgIEFkZCBhIGZp
bGVuYW1lIHJldHVybiB0ZXN0LgogICAgICBBZGQgYSBVVEYtOCBlbmNvZGVkIGZpbGVuYW1lIHRv
bwogICAgICBBZGQgYSB0ZXN0IG9mIEdUeXBlIGFycmF5cywgYSBsYSBndGtfbGlzdF9zdG9yZV9z
ZXRfY29sdW1ucy4KICAgICAgUmVtb3ZlIHN0cmF5IHByaW50KHMpCiAgICAgIEFkZCB0ZXN0X2lu
dF9pbiBmdW5jdGlvbi4gRml4IHRlc3RfZ3R5cGVfaW4gcHJvdG90eXBlCiAgICAgIFJlbmFtZSBn
aXRlc3R0eXBlcy5bY2hdIHRvIGV2ZXJ5dGhpbmcuW2NoXQogICAgICBSZW5hbWUgdGhlIGludC9n
dHlwZSBhcnJheSB0ZXN0cy4gTWFrZSB0aGUgcmV0dXJuIHZhbHVlIHVzZWZ1bCwgYW4KICAgICAg
Y29uc3QgY2hhci0+Y2hhciB0byBhdm9pZCBsZWFraW5nIHRoZSByZXR1cm4gdmFsdWUsIGFzIHBv
aW50ZWQgb3V0IGJ5IFRvbW1pCiAgICAgIENhdGNoIEJhZFBpY2tsZUdldCBleGNlcHRpb25zIGFz
IHdlbGwuCiAgICAgIENhdGNoIFZhbHVlRXJyb3IgZXhjZXB0aW9ucy4KICAgICAgQnVnIDU2MTYx
NyDigJMgUmV0dXJuIHZhbHVlIGFycmF5IGFubm90YXRpb25zCiAgICAgIEJ1ZyA1NjIwMjIg4oCT
IGdvYmplY3QtaW50cm9zcGVjdGlvbiBuZWVkcyBweXRob24gaGVhZGVycwogICAgICBNYWtlIGl0
IGNvbXBpbGFibGUgd2l0aCAtV2Vycm9yIG9uIG15IHN5c3RlbSBieSBhZGRpbmcgYSBjb3VwbGUg
b2YKICAgICAgQWRkIGxpY2Vuc2UgaGVhZGVycywgcmVmYWN0b3IgaW50byBhIGNsYXNzLCBhdm9p
ZCBzb21lIGR1cGxpY2F0aW9uIGFuZCBkbwogICAgICBSZW1vdmUgYSB3YXJuaW5nLCBiZSBsZXNz
IHZlcmJvc2Ugb24gZXJyb3Igb24gZnVuZGFtZW50YWwgdHlwZXMuCiAgICAgIEV4ZWN1dGUgdGhl
IGR1bXBlciBwcm9ncmFtIHRocm91Z2ggbGlidG9vbCBpZiBpdCdzIGluc3RhbGxlZCwgc28gd2Ug
YXZvaWQKICAgICAgRGVmaW5lIHNvY2tsZW5fdCBhcyBhbiBhbGlhcyBmb3IgaW50MzIuCiAgICAg
IFJldmVydCBlYXJsaWVyIGxpYnRvb2wgY2hhbmdlLCB0aGVyZSdzIG5vIG5lZWQKICAgICAgUmVs
ZWFzZSAwLjYuMQogICAgICBQb3N0IHJlbGVhc2UgdmVyc2lvbiBidW1wCiAgICAgIEFkZCByZXR1
cm4gdmFsdWUgdHJhbnNmZXIgYW5ub3RhdGlvbiBmb3IgZ19tYXJrdXBfZXNjYXBlX3RleHQuCiAg
ICAgIEJ1ZyA1NjIyODkg4oCTIFJhY2Ugd2hlbiByZW1vdmluZyBpbnZhbGlkIGNhY2hlCiAgICAg
IFJlbW92ZSB0YWJzLCBmaXhlcyBtYWtlIGNoZWNrCiAgICAgIER1bXAgdGhlIGNhY2hlIGZpbGUg
dG8gYSB0ZW1wb3JhcnkgZmlsZSBhbmQgcmVuYW1lIGl0IHRoZSBleHBlY3RlZAogICAgICB5YXkg
Zm9yIHNjcmlwdHMgY2hlY2tpbmcgbnVtYmVyIG9mIG5ld2xpbmVzCiAgICAgIERvbid0IHJlcXVp
cmUgSE9NRSB0byBiZSBzZXQgYW5kIGlmIGl0IHNldCwgZG9uJ3QgcmVxdWlyZSB0aGUgZGlyZWN0
b3J5IHRvCiAgICAgIFVzZSBzaHV0aWwubW92ZSBpbnN0ZWFkIG9mIG9zLnJlbmFtZSwgc2luY2Ug
aXQgd2lsbCBhdXRvbWF0aWNhbGx5IGZhbGwKICAgICAgUGFzcyBpbiAtLXRhZz1DQyB0byBsaWJ0
b29sIHRvIGF2b2lkIG1ha2luZyBsaWJ0b29sIGNvbmZ1c2VkIHdoZW4gQ0MgaXMKICAgICAgQW5u
b3RhdGUgdHJhbnNmZXIsIGRpcmVjdGlvbiBhbmQgYWxsb3cgbm9uZSBmb3IgZ19maWxlX2xvYWRf
Y29udGVudHMKICAgICAgQW5ub3RhdGUgdHJhbnNmZXIsIGRpcmVjdGlvbiBhbmQgYWxsb3cgbm9u
ZSBmb3IKICAgICAgRGlzYWJsZSBibGFuayBsaW5lIGNoZWNrLCBpdCB3b3JrcyBkaWZmZXJlbnRs
eSB1bmRlciBQeXRob24gMi41IGZyb20gMi42CiAgICAgIEJ1ZyA1NjM3OTQgLSBSZWRvIGFubm90
YXRpb24gcGFyc2luZyAmIGFwcGx5aW5nCiAgICAgIEJ1ZyA1NjY1NjAg4oCTIGdpc2Nhbm5lci50
cmFuc2Zvcm1lci5Ta2lwRXJyb3IKICAgICAgQnVnIDU2NjQxOSDigJMgRWxlbWVudCB0eXBlIG9m
IGFycmF5cyBub3QgcHJvcGVybHkgaGFuZGxlZCBpbiBhbGwgY2FzZXMKICAgICAgQnVnIDU2MzU5
MSDigJMgRmxhZ3Mgbm90IHJlY29nbml6ZWQgd2hlbiB0aGVyZSBpcyBubyBpbnRyb3NwZWN0aW9u
IGRhdGEKICAgICAgQnVnIDU0NjczOSDigJMgSW50cm9zcGVjdGlvbiBzaG91bGQga25vdyBwcmVj
aXNlIHNpZ25hbCBwYXJhbWV0ZXIgdHlwZXMKICAgICAgQnVnIDU2MjQ2NyDigJMgUHJvcGVydHkg
YW5ub3RhdGlvbgogICAgICBPcmdhbml6ZSBhbm5vdGF0aW9uIG9wdGlvbnMvdGFncyBieSB1c2lu
ZyBjb25zdGFudHMsCiAgICAgIEZpeCBhIGJ1ZyB3aGVyZSBcbiB3YXMgbm90IHByZXNlbnQgaW4g
YSBjb21tZW50CiAgICAgIEFkZCBhIGxpc3Qtc2lnbmFsIHRlc3QgZm9yIHVzaW5nIGEgR0xpYi5M
aXN0IHNpZ25hbCBwYXJhbWV0ZXIKICAgICAgQ2F0Y2ggQXR0cmlidXRlRXJyb3Igd2hpY2ggc2Vl
bXMgdG8gYmUgb2NjYXNpb25hbGx5IHJhaXNlZCBmb3IgUmVjb3JkLgogICAgICBCdWcgNTU1MDM2
IOKAkyBwdXQgZ3RrLWRvYyBpbiBHSVIKICAgICAgQ2xlYW4gdXAgc29tZSBhYnN0cmFjdGlvbiBi
cmVha2FnZSB0byByZWR1Y2UgY29kZSBkdXBsaWNhdGlvbgogICAgICBSZXdyYXAgdG8gZml0IGlu
IDc5IGNvbHVtbnMKICAgICAgVXBkYXRlIGdpcnMgY29udGFpbmluZyBkbyBub3QgZWRpdGluZyB3
YXJuaW5nCiAgICAgIEFkZCBhIGZldyBtb3JlIHRlc3QtY2FzZXMKICAgICAgQWRkIG1pc3Npbmcg
dHJhaWxpbmcgOgogICAgICBBbmQgdGhlIC5naXIgZmlsZXMKICAgICAgaW5kZW50CiAgICAgIFJl
bW92ZSBkcmF3YWJsZS1pbmplY3RlZAogICAgICBVcGRhdGUgYW5ub3RhdGlvbiBzeW50YXgKICAg
ICAgVXBkYXRlIGFubm90YXRpb24gc3ludGF4LCByZW1vdmUgdHJhaWxpbmcgOAogICAgICBCdWcg
NTY3ODEzIOKAkyBFdmVyeXRoaW5nIHNob3VsZCBiZSB2ZXJzaW9uZWQKICAgICAgTW92ZSBvdmVy
IHRoZSBoYW5kLXdyaXR0ZW4gZ2lycyBmcm9tIGdpci1yZXBvc2l0b3J5IHNvIHVwc3RyZWFtIGxp
YnJhcmllcwogICAgICBDaGFuZ2UgbGliZ2lyZXBvc2l0b3J5IHRvIGxpYmdpcmVwb3NpdG9yeS0x
LjAgaGVyZSB0b28KICAgICAgRml4IHBlcDggY29tcGxhaW50cwogICAgICBhZGQgRlRfSW50MzIg
YWRkIFhmdEZvbnQgUmVwb3J0IGVycm9ycyB3aGVuIGFuIGludmFsaWQgdHlwZSBpcyBlbmNvdW50
ZXJlZAogICAgICBTdHJ1Y3QgLT4gUmVjb3JkCiAgICAgIFVnaCwgcmVjdXJkLT5yZWNvcmQKICAg
ICAgQnVnIDU2MjYxNSDigJMgU3RydWN0IG1ldGhvZHMgbWlzc2luZwogICAgICBXaGVuIHRyeWlu
ZyB0byBtYXAgZnVuY3Rpb25zIHRvIHN0cnVjdHMsIGRvIG5vdCByZXF1aXJlIGEgcHVibGljIHN0
cnVjdHVyZQogICAgICBJbmNyZWFzZSB0aGUgYnVmZmVyIHNpemUgdG8gMU0sIHNvIGd0a2FsaWFz
LmggY2FuIGJlIHBhcnNlZC4KICAgICAgQnVnIDU2MjYyMiDigJMgRXJyb3Jkb21haW5zIG1pc3Np
bmcKICAgICAgRml4IGRpc3RjaGVjawogICAgICAwLjYuMgogICAgICBQb3N0LXJlbGVhc2UgdmVy
c2lvbiBidW1wCiAgICAgIEFkZCBhbiBlbnVtIHBhcmFtIHRlc3QgZnVuY3Rpb24KICAgICAgT25s
eSB1bnJlZiB0aGUgcmVwb3NpdG9yeSBpZiBpdCdzIGFjdHVhbGx5IHNldC4KICAgICAgUmVtb3Zl
IHRyYWlsaW5nIHdoaXRlc3BhY2UKICAgICAgQWRkIGEgY291cGxlIG9mIGNhbGxiYWNrIHRlc3Rz
LgogICAgICBSZW1vdmUgc2hhcmVkLWxpYnJhcnkgd2hpY2ggcmVtb3ZlcyB0aGUgYnVpbGQgdGlt
ZSBkZXBlbmRlbmN5IG9uIG1lc2EuCiAgICAgIFJlbW92ZSBzaGFyZWQtbGlicmFyeSB0YWdzIGZv
ciB0aGVzZSB0b28uCiAgICAgIEFkZCB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaW52b2NpbmcgY2xv
c3VyZXMgZ2l2ZW4gYSBHSUNhbGxhYmxlSW5mbyB1c2luZwogICAgICBSZW5hbWUgbmFtZXNwYWNl
IHRvIG5hbWVzcGFjZV8gdG8gbWFrZSB0aGUgaGVhZGVyIGNvbXBpbGFibGUgd2l0aCBhIEMrKyBj
b21waWxlcgogICAgICBSZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZQogICAgICBVcGRhdGUgcmVs
ZWFzZS10YWcgdGFyZ2V0CiAgICAgIEFkZCBtaXNzaW5nIHNlbGYgcGFyYW1ldGVyCiAgICAgIEFk
ZCBhIC5naXRpZ25vcmUgZmlsZQogICAgICBSZW5hbWUgQ2hhbmdlTG9nIHRvIENoYW5nZUxvZy5w
cmUtZ2l0CiAgICAgIFB1c2ggdGhlIHRhZ3MgdG8gdGhlIHJlbW90ZSBob3N0IHdoZW4gZG9pbmcg
dGhlIHJlbGVhc2UKICAgICAgQWRkIGFuIGVtcHR5IENoYW5nZUxvZyB0byBtYWtlIGF1dG9nZW4u
c2ggcXVpZXQKICAgICAgQWRkIGd0ay1kb2Mgc3VwcG9ydAogICAgICBCZWdpbiB0byBkb2N1bWVu
dCB0aGUgR0lSIGZvcm1hdAogICAgICBCdWcgNTcxMTgyIOKAkyBpbnRyb3NwZWN0aW9uLm00IGlz
c3VlcwogICAgICBBdm9pZCBhIGNvdXBsZSBvZiBndGstZG9jIHdhcm5pbmdzCiAgICAgIE1lcmdl
IGNvbW1pdCAnb3JpZ2luJwogICAgICBTZXQgTERfTElCUkFSWV9QQVRIIGZvciBnaXJlcG9zaXRv
cnktMS4wCiAgICAgIEFkZCBtaXNzaW5nIHRhYgogICAgICBNZXJnZSBjb21taXQgJ29yaWdpbicK
ICAgICAgQWRkIGEgc2ltcGxlIGludm9rYXRpb24gZXhhbXBsZQogICAgICBVbnJlZiB0aGUgR0lC
YXNlSW5mbyBhZnRlciB1c2FnZQogICAgICBBZGQgYSBoYWxsIG9mIHNoYW1lIGNvbW1lbnQKICAg
ICAgSW1wcm92ZSB0eXBlIGNoZWNraW5nCiAgICAgIFNlbmQgaW4gYW4gZW1wdHkgbGlzdCBpbnN0
ZWFkIG9mIE5vbmUuCiAgICAgIFVzZSBzaGF2ZSB0byByZWR1Y2UgY29tcGlsaW5nIG91dHB1dAog
ICAgICBVcGRhdGUgLmdpdGlnbm9yZSBmb3IgZ3RrLWRvYwogICAgICBEaXNhYmxlIGEgVVRGLTgg
d2FybmluZyBwZXIgZGVmYXVsdAogICAgICBSZWZvcm1hdCB0aGUgb3V0cHV0IHRvIGZpdCBzaGF2
ZQogICAgICBNZW50aW9uIHRoYXQgd2UncmUgZ2VuZXJhdGluZyBhIEdJUgogICAgICBCZSBsZXNz
IHZlcmJvc2UKICAgICAgRml4IHdhcm5pbmdzIHBvaW50ZWQgb3V0IGJ5IEdDQwogICAgICBIYW5k
bGUgdGhlIHJldHVybiB2YWx1ZSB0byBmd3JpdGUgcHJvcGVybHkKICAgICAgRG8gbm90IGluY2x1
ZGUgeXlvdXRwdXQgaW4gdGhlIGdlbmVyYXRlZCBsZXhlcgogICAgICBGaXggYSB0eXBvLCByZWVs
IC0+IHJlYWwKICAgICAgTWVyZ2UgY29tbWl0ICdvcmlnaW4nCiAgICAgIERvbid0IGFzc3VtZSBf
cGtnY29uZmlnX3BhY2thZ2VzIGlzIHNldC4KICAgICAgRGlzYWJsZSBtb3JlIG9mIHRoZSBidWls
ZCBpZiBndGstZG9jIGlzIGRpc2FibGVkCiAgICAgIEFkZCBHT2JqZWN0LTIuMC54cGF0aCB0byBF
WFRSQV9ESVNUCiAgICAgIERpc3QgbTQgZmlsZXMKICAgICAgQWRkIHNyY2Rpciwgc28gZGlzdGNo
ZWNrIHBhc3NlcwogICAgICBBbm5vdGF0ZSBnX2ZpbGVuYW1lX2NvbXBsZXRlcl9nZXRfY29tcGxl
dGlvbnMKICAgICAgVXBkYXRlIE5FV1MKICAgICAgQ3JlYXRlIHNpZ25lZCB0YWdzIGluc3RlYWQg
b2YgbGlnaHR3ZWlnaHQgb25lcwoKSnVlcmcgQmlsbGV0ZXIgKDEwKToKICAgICAgRG9uJ3QgbGVh
dmUgcmVxdWlyZXMgc3RhdGUgdG9vIGVhcmx5LgogICAgICBzdXBwb3J0IGNyZWF0aW5nIGNhbGxi
YWNrIG5vZGVzCiAgICAgIEltcG9ydCBnZW4taW50cm9zcGVjdCB0byBnZW5lcmF0ZSBpbnRyb3Nw
ZWN0aW9uIGluZm9ybWF0aW9uIGJ5IHBhcnNpbmcgQwogICAgICBJbml0aWFsaXplIEdPYmplY3Qg
dG8gZml4IHNjYW5uaW5nIGludGVyZmFjZSBwcm9wZXJ0aWVzLgogICAgICBSZXR1cm4gdW5yZXNv
bHZlZCBuYW1lIGlmIHdlIGZpbmQgdW5rbm93biBzeW1ib2wuCiAgICAgIEZpeCBHVEstRG9jIHBh
cnNpbmcuCiAgICAgIERvbid0IHNraXAgZnVuY3Rpb25zIHRoYXQgYXJlIGRlZmluZWQgaW4gdGhl
IG5hbWVzcGFjZSBvZiBhIHR5cGUgdGhhdAogICAgICBTdXBwb3J0IEM5OSBfQm9vbCB0eXBlIGlu
IHNjYW5uZXIuCiAgICAgIFN0YXJ0IGZpeGluZyBtZW1vcnkgbWFuYWdlbWVudCBpbiBnLWlkbC1z
Y2FubmVyLgogICAgICBGaXggY29tcGlsZXIgd2FybmluZ3MuCgpKw7xyZyBCaWxsZXRlciAoMTMp
OgogICAgICBEb24ndCBsZWF2ZSBuYW1lc3BhY2UgYW5kIGltcGxlbWVudHMgc3RhdGVzIHRvbyBl
YXJseS4gRml4ZXMgIzM1MTI2NAogICAgICBVc2UgPHR5cGU+IGVsZW1lbnQgZm9yIGZpZWxkIHR5
cGVzIFVwZGF0ZSB0ZXN0Y2FzZQogICAgICBGaXggdHlwbwogICAgICBCdWcgNTUyMzcwOiB1bnNp
Z25lZCBub3Qgc2Nhbm5lZCBwcm9wZXJseQogICAgICBCdWcgNTUyMzc0OiBDb25zdCBzdHJpbmdz
IHNob3VsZCBiZSBpZGVudGlmaWVkIGluIHRoZSBnaXIuCiAgICAgIERvbid0IGdlbmVyYXRlIDxy
ZWNvcmQ+IGVsZW1lbnRzIGZvciBjbGFzcyBzdHJ1Y3RzLiBVcGRhdGUgdGVzdCBjYXNlcwogICAg
ICBSZWFkZCBjbGFzcyByZWNvcmRzIGFzIHdvcmthcm91bmQgdG8gbm90IGJyZWFrIEd0ayB0eXBl
bGliCiAgICAgIEZpeCBwYXJzaW5nIHRyYW5zZmVyLW93bmVyc2hpcCBhdHRyaWJ1dGUgb2YgPHJl
dHVybi12YWx1ZT4KICAgICAgUGFyc2UgYml0cyBhdHRyaWJ1dGUgb2YgZmllbGRzCiAgICAgIGFk
ZCBzaWduZWQgaW50ZWdlciBhbmQgb2ZmX3QgdG8gdHlwZV9uYW1lcwogICAgICBTdXBwb3J0IGZp
ZWxkcyBpbiBHT2JqZWN0IHN0cnVjdHMKICAgICAgV3JpdGUgdGhyb3dzIGF0dHJpYnV0ZSBmb3Ig
dmlydHVhbCBmdW5jdGlvbnMsIGZpeGVzIGJ1ZyA1NTk3MDMKICAgICAgRml4IGluY29uc2lzdGVu
Y2llcyB3aXRoIFBFUDgKCkx1Y2FzIEFsbWVpZGEgUm9jaGEgKDEpOgogICAgICBBZGRlZCB0ZXN0
IGZpbGVzLgoKTHVjYXMgUm9jaGEgKDEwKToKICAgICAgZml4IHRoZSBsYXN0IHBhcmFtZXRlciBv
ZiBHTGliRW51bU1lbWJlciBjb25zdHJ1Y3RvciBhcyBpdCBzaG91bGQgYmUgdGhlCiAgICAgIEJ1
ZyA1NTUyOTQ6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBzaGFyZWQgbGlicmFyaWVzIHBlciB0
eXBlbGliLgogICAgICBmaXggcmVncmVzc2lvbiBvbiBpbnZva2UgdGVzdCBjYXNlIGJ5IG1ha2lu
ZyBzdXJlIHdlIGxvYWQgdGhlIGdsb2JhbAogICAgICBCdWcgNTU1MjkzOiBhcHBlbmQgbGlicmFy
eV9wYXRocyB0byBMUEFUSCBlbnYgdmFyaWFibGUgdG8gd29yayBhcm91bmQgYQogICAgICBCdWcg
NTUyMzc2OiBzY2FubmVyIGdlbmVyYXRlcyB3cm9uZyBuYW1lcyBmb3IgZW51bSBtZW1iZXJzIHdo
ZW4gdGhlcmUncyBubwogICAgICBCdWcgNTU0ODU0OiBUaGUgLS10eXBlbGliLXhtbCBhbmQgLS1p
bmplY3Qgb3B0aW9ucyBzaG91bGQgcmV1c2UgZ2lzY2FubmVyCiAgICAgIEJ1ZyA1NTIzNzA6IGFk
ZCBvbmUgbW9yZSB0ZXN0IGZvciB1bnNpZ25lZCBhcyBhIHR5cGUsIG5vdCBhcyBhIHR5cGUKICAg
ICAgZml4IHR5cG8gb24gJ21lbWJlcnMnIHZhcmlhYmxlLgogICAgICBmaXggc29tZSBidWlsZCB3
YXJuaW5ncy4KICAgICAgQnVnIDU1NzYyMyAtIENvbnN0cnVjdG9ycyBzaG91bGRuJ3QgYmUgZmxh
Z2dlZCBhcyBtZXRob2RzLgoKTWFjaWVqIEthdGFmaWFzeiAoMSk6CiAgICAgIEFkZGVkIGZpcnN0
IGRyYWZ0IG9mIHByb3Bvc2FsIGZvciB0eXBlZCBhbm5vdGF0aW9ucyBzdXBwb3J0CgpNYXJjLUFu
ZHJlIEx1cmVhdSAoMSk6CiAgICAgIGFkZGVkICJ0eXBlLW5hbWUiLCAiZ2V0LXR5cGUiIGFuZCAi
ZGVwcmVjYXRlZCIgbWlzc2luZyBhcmd1bWVudHMuCgpNYXJjbyBQZXNlbnRpIEdyaXR0aSAoMSk6
CiAgICAgIEZpeCBkaXN0Y2hlY2suIEEgY291cGxlIG9mIGZpbGVzIHdhcyBtaXNzaW5nIGZyb20g
RVhUUkFfRElTVC4KCk1hcmluYSBaaHVyYWtoaW5za2F5YSAoMSk6CiAgICAgIEFkZCBlbGVtZW50
IHR5cGUgYW5ub3RhdGlvbnMgZm9yIEdMaXN0IGFyZ3VtZW50cwoKTWFyayBEb2ZmbWFuICgxMCk6
CiAgICAgIENvcnJlY3Qgc3ludGF4IGVycm9ycyBpbiB0aGUgRFREIGZpbGUuCiAgICAgIHJldmll
d2VkIGJ5OiBSb2IgVGF5bG9yIDxyb2IudGF5bG9yQGNvZGV0aGluay5jby51az4gcmV2aWV3ZWQg
Ynk6IEpvaGFuCiAgICAgIGdpcmVwb3NpdG9yeS9naW52b2tlLmMgZ2lyZXBvc2l0b3J5L2dpcmVw
b3NpdG9yeS5oCiAgICAgIHRvb2xzL2dpZGxjb21waWxlcmNvbnRleHQuYyB0b29scy9naWRsY29t
cGlsZXJjb250ZXh0LmgKICAgICAgZ2lyZXBvc2l0b3J5L2dpbmZvLmMgZ2lyZXBvc2l0b3J5L2dt
ZXRhZGF0YS5jIGdpcmVwb3NpdG9yeS9nbWV0YWRhdGEuaAogICAgICBnaXJlcG9zaXRvcnkvZ2lu
Zm8uYyBnaXJlcG9zaXRvcnkvZ2lyZXBvc2l0b3J5LmggdG9vbHMvZ2VuZXJhdGUuYwogICAgICBn
aXJlcG9zaXRvcnkvZ2luZm8uYwogICAgICBnaXJlcG9zaXRvcnkvZ2luZm8uYyB0b29scy9nZW5l
cmF0ZS5jCiAgICAgIHRvb2xzL3F1b3RlLWZpbGUuc2ggdG9vbHMvY29tcGlsZXIuYyB0b29scy9n
ZW5lcmF0ZS5jCiAgICAgIHRvb2xzL2dpZGxtb2R1bGUuYyB0b29scy9naWRsbW9kdWxlLmggdG9v
bHMvZ2lkbG5vZGUuYyB0b29scy9naWRsbm9kZS5oCgpNYXJrIExlZSAoMSk6CiAgICAgIEJ1ZyA1
ODQ0MjMg4oCTIEFkZCBzaG9ydC91c2hvcnQgc3VwcG9ydAoKTWF0dGhpYXMgQ2xhc2VuICg0NSk6
CiAgICAgIEluaXRpYWwgcmV2aXNpb24KICAgICAgSW1wb3J0IHRoZSBHT2JqZWN0IGludHJvc3Bl
Y3Rpb24gcHJvdG90eXBlCiAgICAgIEFsbG93IGNvbnN0cnVjdG9ycyBpbiBib3hlZAogICAgICBD
bGVhbiB1cCBoYW5kbGluZyBvZiBuYW1lcy4gQWxsIGVsZW1lbnRzIGhhdmUgYSAibmFtZSIsIG9u
bHkgdGhlIGVsZW1lbnRzCiAgICAgIEZyZWUgdGhlIG9wdGlvbiBjb250ZXh0LgogICAgICBEb24n
dCBmb3JnZXQgdG8gY291bnQgdGhlIG1vZHVsZSBuYW1lIHdoZW4gY2FsY3VsYXRpbmcgdGhlIHJl
cXVpcmVkIHNpemUKICAgICAgVXBkYXRlcwogICAgICBDb3JyZWN0IHRoZSBzaXplIGNhbGN1bGF0
aW9uIGZvciAyLXBhcmFtZXRlciB0eXBlcyBhbmQgZm9yIG9iamVjdHMuCiAgICAgIEFkZCBhIC0t
dmVyYm9zZSBjbWRsaW5lIG9wdGlvbiBhbmQgb25seSBsb2cgbWVzc2FnZXMgaWYgaXQgaXMgc3Bl
Y2lmaWVkLgogICAgICBTb21lIGZpeGVzCiAgICAgIEZpeCB0ZXN0IGNhc2VzCiAgICAgIFJlbmFt
ZSBUcmFuc2ZlciBhbmQgRGlyZWN0aW9uIHRvIEdJVHJhbnNmZXIgYW5kIEdJRGlyZWN0aW9uLiAo
VG9yc3RlbgogICAgICBBY3R1YWxseSBhZGQgbWV0aG9kcyB0byBvYmplY3RzLiAoU3RldmVuIFdh
bHRlcikKICAgICAgVXBkYXRlcwogICAgICBQYXNzIHRoZSBzdHJpbmdzIGFuZCB0eXBlcyBoYXNo
IHRhYmxlcyBpbiB0aGUgcmlnaHQgb3JkZXIgd2hlbiByZWN1cnNpbmcuCiAgICAgIEZyZWUgdGhl
IG5hbWUgcGFydHMuCiAgICAgIE1ha2UgdGhlIGdlbmVyYXRlZCBDIGNvZGUgY29tcGlsZS4KICAg
ICAgVXBkYXRlIHRlc3RjYXNlcy4KICAgICAgVXBkYXRlcwogICAgICBBZGQgdW5pb24udGVzdC4K
ICAgICAgQ2hhbmdlIHRoZSBkaXJlY3RvcnkgdG8gYmUgYWRkcmVzc2VkIGJ5IDEtYmFzZWQgaW5k
ZXhlcywgYW5kIHVzZSBhbiBpbmRleAogICAgICBDbGVhbnVwcwogICAgICBVcGRhdGVzCiAgICAg
IFVwZGF0ZXMKICAgICAgQWRkIGdkay1waXhidWYuZ2lkbCBhcyBhbiBleGFtcGxlLCBhbmQgZml4
IHRoZSBjb2RlIHRvIGhhbmRsZSBpdC4KICAgICAgUmVtb3ZlIGRlYnVnIHNwZXcKICAgICAgVXBk
YXRlcwogICAgICBSZXBvcnQgdGhlIGNvcnJlY3Qgc2l6ZSBmb3IgZW51bSBibG9icy4gKGdfaWRs
X25vZGVfZ2V0X2Z1bGxfc2l6ZSk6IFJlcG9ydAogICAgICBCYXNpYyB0eXBlIGNsZWFudXAKICAg
ICAgRml4IGluY2x1ZGVzCiAgICAgIE1ha2UgZmllbGRzIGluIG9iamVjdHMgd29yay4KICAgICAg
QSBwZXJsIHNjcmlwdCB3aGljaCByZWFkcyBhIC5naWRsIGZpbGUsIGNyZWF0ZXMsIGNvbXBpbGVz
IGFuZCBydW5zIGEgQwogICAgICBVcGRhdGVzLgogICAgICBGb3Jnb3R0ZW4gZmlsZXMKICAgICAg
QWRkIHN0cnVjdCBvZmZzZXRzIHRvIGZpZWxkIGFuZCB2ZnVuYyBlbGVtZW50cy4KICAgICAgVXBk
YXRlcwogICAgICBVc2UgaXQgaGVyZSB0byB2YWxpZGF0ZSB0aGUgZ2VuZXJhdGVkIG1ldGFkYXRh
LgogICAgICBVcGRhdGVzCiAgICAgIEFkZCBzb21lIGNvbW1lbnRzCiAgICAgIEZpeCBhIHNlZ2Zh
dWx0CiAgICAgIEZvcmdvdHRlbiBsb2cgZW50cnkKICAgICAgQ29tbWl0IGFuIGF1dG9jb25mLWNv
bnZlcnNpb24gcGF0Y2ggYnkgR3VzdGF2byBDYXJuZWlybyAoIzMwODcwOCkKICAgICAgQWxzbyBh
ZGQgdGhpcyBmaWxlCiAgICAgIERvbid0IGNvbXBsYWluIGlmIGJsb2ItPnBvaW50ZXIgaXMgbm90
IHNldCwgc2luY2UgdGhhdCBoYXBwZW5zIGZvciBlbnVtCiAgICAgIFJlbW92ZSBnZW5lcmF0ZWQg
ZmlsZXMgZnJvbSBjdnMKCk93ZW4gVGF5bG9yICgzNSk6CiAgICAgIFdldGhlciA9PiBXaGV0aGVy
CiAgICAgIEZvciBzdHJpbmcgcGFyYW1ldGVycyBhbGxvdyB0cmFuc2ZlciBhbm5vdGF0aW9uIHRv
IG92ZXJyaWRlIHRoZSBzdGFuZGFyZAogICAgICBJZiBhIGZpbGVuYW1lIG9mIGFuIGV4aXN0aW5n
IGZpbGUgaXMgcGFzc2VkIHRvIC0tbGlicmFyeSwgaHVudCBmb3IgaXQKICAgICAgQnVnIDU1ODg0
OCBnaXBhcnNlci5weTogc2hhcmVkIGxpYnJhcnkgc2hvdWxkIGJlIG9wdGlvbmFsCiAgICAgIFNl
dCBjdXJyZW50X2ZpbGVuYW1lIGJlZm9yZSBsZXhpbmcgdGhlIGZpbGUgc28gZXJyb3IgbWVzc2Fn
ZXMgYXJlIHJlcG9ydGVkCiAgICAgIEJ1ZyA1NTk3Mzcg4oCTIERlYWwgd2l0aCBjb250aW51YXRp
b25zIGluIG1hY3JvcwogICAgICBCdWcgNTYwMjQ4IOKAkyAiZGlzZ3Vpc2VkIHN0cnVjdHVyZXMi
CiAgICAgIFNwbGl0IGdfaXJfZmZpX2dldF9mZmlfdHlwZSgpIG91dCBmcm9tIGdpbnZva2UuYwog
ICAgICBCdWcgNTYwMjUwIC0gRnVsbHkgcGFyc2UgaW5jbHVkZWQgbW9kdWxlcwogICAgICBBZGQg
Q2hhbmdlTG9nIGVudHJpZXMgZm9yIGxhc3QgMyBjb21taXRzCiAgICAgIEJ1ZyA1NjAyNTIgLSBD
b21wdXRlIGZpZWxkIG9mZnNldHMgYmVmb3JlIHdyaXRpbmcgdHlwZWxpYgogICAgICBSZW1vdmUg
ZmllbGQgb2Zmc2V0cyBmcm9tIGctaXItZ2VuZXJhdGUgb3V0cHV0IGFuZCB0ZXN0IGlucHV0cwog
ICAgICBBZGQgdGVzdHMgZm9yIGZpZWxkIG9mZnNldCBjb21wdXRhdGlvbnMKICAgICAgZ2lyZXBv
c2l0b3J5L2dpcnBhcnNlci5jOiBSZW1vdmUgYW4gdW51c2VkIHZhcmlhYmxlLgogICAgICBGYWls
IGdyYWNlZnVsbHkgd2l0aCBhbiBpbmZvcm1hdGl2ZSBlcnJvciBtZXNzYWdlIHdoZW4gcmVjdXJz
aW9uIGlzCiAgICAgIEluY2x1ZGUgZnVsbHktcXVhbGlmaWVkIG5hbWVzIGluIGFsbCBlcnJvciBt
ZXNzYWdlcy4KICAgICAgU2VhcmNoIHByb3ZpZGVkIGluY2x1ZGUgZGlycyBiZWZvcmUgdGhlIGRl
ZmF1bHQgZGlyZWN0b3JpZXMuCiAgICAgIENvbXB1dGUgZmllbGQgb2Zmc2V0cyBhbmQgb3ZlcmFs
bCBzaXplIGZvciBvYmplY3Qgc3RydWN0dXJlcwogICAgICBCdWcgNTYwNDA0IOKAkyBQcmVmaXgg
dHlwZXMgd2hlbiByZXNvbHZpbmcgYWxpYXNlcyBpbiBpbmNsdWRlZCBtb2R1bGVzCiAgICAgIEFk
ZCBhIEdpclBhcnNlciBvYmplY3QgdG8gaG9sZCB0aGUgc3RhdGUgb2YgYSBjb21waWxhdGlvbgog
ICAgICBPbmx5IGFsbG93IG9uZSA8bmFtZXNwYWNlLz4gZWxlbWVudCBwZXIgPHJlcG9zaXRvcnkv
PiAoIzU2MDQxOSkKICAgICAgRml4IG1pc21hdGNoZXMgYmV0d2VlbiAuZ2lyIG5hbWUgYW5kICdu
YW1lJyBhdHRyaWJ1dGUgKCM1NjA0MTkpCiAgICAgIEtlZXAgYWxpYXNlcyBhbmQgZGlzZ3Vpc2Vk
X3N0cnVjdHVyZXMgbG9jYWwgdG8gZWFjaCBtb2R1bGUgKCM1NjA0MTkpCiAgICAgIEZpeCBtYW5h
Z2VtZW50IG9mIFBhcnNlQ29udGV4dC5pbmNsdWRlc19tb2R1bGVzICgjNTYwNDE5KQogICAgICBC
dWcgNTYwNDE5IOKAkyBDYWNoZSBpbmNsdWRlcyB3aGVuIHBhcnNpbmcKICAgICAgQnVnIDU2MDI1
MyAtIEFkZCBzdHJ1dHVyZSBhbmQgYm94ZWQgdHlwZXMgdG8gRXZlcnl0aGluZyB0ZXN0IG1vZHVs
ZQogICAgICBnaXJlcG9zaXRvcnkvZ2lyZmZpLmM6IEZpeCAgIlVuZXhwZWN0ZWQgdGltZSBmb3Ig
dGltZV90IiBtZXNzYWdlLgogICAgICBCdWcgNTUyMzcxIOKAkyBpbXBsZW1lbnQgc3RydWN0IGZp
ZWxkIGdldC9zZXQKICAgICAgQnVnIDU2MDgyNSDigJMgQWRkIHNpemUgYW5kIGFsaWdubWVudCB0
byB0eXBlbGliCiAgICAgIFJlc3BlY3QgaXNfcG9pbnRlciBpbiBzZXJpYWxpemVfdHlwZSgpCiAg
ICAgIEZpeCBkb2MgY29tbWVudCBhbm5vdGF0aW9ucyBmb3IgdGVzdF9zdHJ1Y3RfYl9jbG9uZSgp
CiAgICAgIEFkZCBlbnVtcyB0byB0aGUgRXZlcnl0aGluZyB0ZXN0IG1vZHVsZQogICAgICBBZGQg
InN0b3JhZ2UgdHlwZSIgdG8gdGhlIHR5cGVsaWIgZGF0YSBmb3IgZW51bXMKICAgICAgRGlzYWJs
ZSBhcnJheSBhdXRvLWRldGVjdGlvbiBmb3Igb3V0LWFubm90YXRlZCBwYXJhbWV0ZXJzCiAgICAg
IEFkZCBLZXlTeW0gYW5kIEtleUNvZGUgdG8geGxpYi0yLjAuZ2lyLgoKT3dlbiBXLiBUYXlsb3Ig
KDMpOgogICAgICBBZGQgbW9yZSB0eXBlcyB0byBHTC0xLjAuZ2lyCiAgICAgIFBhcnNlIGRvYy1j
b21tZW50IHRhZ3MgY2FzZS1pbnNlbnNpdGl2ZQogICAgICBCdWcgNTcyMDc1IC0gTWFrZSB0aGUg
c2Nhbm5lciB3b3JrIHdpdGggc3RhdGljIGFuZCBjb252ZW5pZW5jZSBsaWJyYXJpZXMKClBoaWxp
cCBWYW4gSG9vZiAoMyk6CiAgICAgIHJldmlld2VkIGFuZCBleHRlbnNpdmVseSB0ZXN0ZWQgYnkg
Sm9oYW4KICAgICAgQWRkZWQgYSBmZXcgZXh0cmEgdGVzdHMuIFdoaWNoIHJlc3VsdGVkIGluIGZp
bmRpbmcgYSBmZXcgYnVncy4gV2hpY2gKICAgICAgdG9vbHMvZ2lkbG5vZGUuYwoKUm9iIFRheWxv
ciAoMTYpOgogICAgICBBZGQgcm91bmR0cmlwIHRlc3RzIGZvciBzdHJ1Y3RzLgogICAgICBBZGQg
c29tZSBkb2N1bWVudGF0aW9uIGZvciBHSUNhbGxhYmxlSW5mbwogICAgICBBZGQgdGVzdHMgZm9y
IGludm9rYXRpb24gd2l0aCBhIEdMaXN0IGFyZ3VtZW50LiBBbHNvIHRlc3RzIGNhbGxlci1vd25z
CiAgICAgIEFkZGVkOiBBZGRlZDogUmVuYW1lZCB0byB0b29scy9NYWtlZmlsZS5hbTogUmVuYW1l
ZCB0byB0b29scy9jb21waWxlci5jOgogICAgICBBZGRlZDoKICAgICAgUmVuYW1lIEdDT1ZfU09V
UkNFUyB0byBHQ09WU09VUkNFUyB0byB0b3AgYXV0b21ha2UgY29tcGxhaW5pbmcuCiAgICAgIFBy
b3ZpZGUgdmFyaWFibGVzIGZvciBnLWlkbC1wYXJzZXIsIHNjYW5uZXIgYW5kIGNvbXBpbGVyIGlu
IHRoZSBwa2djb25maWcKICAgICAgQWRkZWQ6CiAgICAgIElnbm9yZSAtcHRocmVhZCB3aGVuIHBh
c3NlZCB0byBnLWlkbC1zY2FubmVyLgogICAgICBSZW5hbWVkIHRvIGdpZGwvZ29iamVjdC0yLjAu
Z2lkbDoKICAgICAgQWRkIGdfaWRsX25vZGVfY2FuX2hhdmVfbWVtYmVyLgogICAgICBNb3ZlIGdf
aWRsX25vZGVfY2FuX2hhdmVfbWVtYmVyIHRlc3QgbGF0ZXIsIGFzIGl0IGJyb2tlIHNwb3R0aW5n
CiAgICAgIFdyaXRlIG91dCB0aGUgc2hsaWJzIHZhcmlhYmxlIGJlZm9yZSB3cml0aW5nIG91dCB0
aGUgc3RyaW5ncyBsZW5ndGguIEZpeGVzCiAgICAgIEFkZCBzb21lIGNvbW1lbnRzIGZvciBzdHJp
bmdzIGludG8gZ2VuZXJhdGVkIG91dHB1dCBmb3IgZWFzaWVyIGRlYnVnZ2luZy4KICAgICAgRml4
IGNyaXRpY2FsIHdhcm5pbmcgd2hlbiBubyBzaGxpYiBwYXNzZWQgdG8gZy1pZGwtY29tcGlsZXIu
CiAgICAgIFVwZGF0ZSBhdXRob3JzCgpSb2JlciBDYXJyICgxKToKICAgICAgQnVnIDU2OTYzMyDi
gJMgVHlwZWxpYiBjb21waWxlciBmYWlscyB3aXRoIHZhcmFyZyBjYWxsYmFja3MKClJvYmVydCBD
YXJyICgxMSk6CiAgICAgIEFubm90YXRlIGFycmF5IHJldHVybiBmb3IgZ19maWxlX2luZm9fbGlz
dF9hdHRyaWJ1dGVzLgogICAgICBBbm5vdGF0ZSB0ZXN0X3N0cnZfb3V0LgogICAgICBBZGQgc29t
ZSBhbm5vdGF0aW9ucyB0byBldmVyeXRoaW5nIHRlc3QuCiAgICAgIERlZmF1bHQgdHJhbnNmZXIg
dHlwZSBpcyBubyBsb25nZXIgZnVsbC4gRml4IGFubm90YXRpb24gb24KICAgICAgdGVzdF9zdHJ2
X291dCBzaG91bGQgYmUgKHRyYW5zZmVyIGZ1bGwpLgogICAgICB0ZXN0X3N0cnZfb3V0IHRyYW5z
ZmVyIHNob3VsZCBhY3R1YWxseSBiZSBjb250YWluZXIsIEkgYW0gc2lsbHkuCiAgICAgIEFkZCBj
YWlyb19wYXRoX3QgdG8gY2Fpcm8tMS4wLmdpciwgcmVxdWlyZWQgZm9yIGJ1aWxkaW5nIGNsdXR0
ZXIgMC45IGdpcgogICAgICBwb3N0X2ZpbHRlcl92YXJhcmdzX2Z1bmN0aW9ucyBzaG91bGQgYWxz
byBmaWx0ZXIgY2FsbGJhY2tzLiBBZGQgdGVzdHMgb2YKICAgICAgQWRkIHhtbFRleHRXcml0ZXJQ
dHIgdG8gbGlieG1sMi0yLjAgR0lSLgogICAgICBVbmRvIHJldmlzaW9uIDEwNzUKICAgICAgRml4
IGJ1aWxkCgpSb2JlcnQgSmFtZXMgVGF5bG9yICgxKToKICAgICAgRml4IGxpYmZmaSBjb25maWd1
cmUgY2hlY2sgLSBsaWJmZmkgc3RpbGwgZG9lc24nIGhhdmUgcGFja2FnZSBjb25maWcsIHNvIHN0
ZWFsaW5nIHRoZSBjaGVja3MgZnJvbSBweWdvYmplY3QuCgpTaW1vbiB2YW4gZGVyIExpbmRlbiAo
Mik6CiAgICAgIEJ1ZyA1ODUwODEgLSBDb3JyZWN0IGV2ZXJ5dGhpbmcgbGlua2FnZQogICAgICBC
dWcgNTg1MzI4IC0gT25seSBzZXQgemVyb190ZXJtaW5hdGVkIGZsYWcgZm9yIHR5cGVzIHdlIGtu
b3cgYXJlCgpUb21ldSBWaXpvc28gKDIpOgogICAgICBBZGQgYW4gaW50ZXJmYWNlIHRvIEV2ZXJ5
dGhpbmcKICAgICAgRml4IHR5cG8gaW4gdGhlIFRlc3RJbnRlcmZhY2UgZ3R5cGUgbmFtZQoKVG9t
bWkgS29tdWxhaW5lbiAoNjYpOgogICAgICBCdWcgNTU1OTQ2OiBJbnN0YWxsIGEgdGVzdCBtb2R1
bGUgZXhlcmNpc2luZyBhbGwgdHlwZXMsIHRyYW5zZmVyIHJ1bGVzLAogICAgICByZXN0b3JlIHRl
c3RmbnMtMS4wLmdpciBsb3N0IGluIHByZXZpb3VzIGNvbW1pdAogICAgICBmaXggdHlwbyBpbiBn
aXRlc3R0eXBlcyBuYW1lc3BhY2UKICAgICAgbWFrZSAndW5yZWdpc3RlcmVkJyBvbmUgYml0IHdp
ZGUgYXMgZXZlcnl3aGVyZSBlbHNlCiAgICAgIEJ1ZyA1NTYwNDgg4oCTIENyYXNoIGluIGdfaXJl
cG9zaXRvcnlfZmluZF9ieV9ndHlwZQogICAgICBSZWZhY3RvciBoYW5kbGluZyBvZiB0cmFuc2Zl
cj1ub25lL3NoYWxsb3cvZnVsbCB0byBzZXBhcmF0ZSBmdW5jdGlvbgogICAgICB1c2UgImNvbnRh
aW5lciIgZm9yIGNvbnRhaW5lci9zaGFsbG93IG93bmVyc2hpcCB0cmFuc2ZlciAobm90ICJzaGFs
bG93IikKICAgICAgaGFuZGxlICJ0cmFuc2Zlci1vd25lcnNoaXAiIGF0dHJpYnV0ZQogICAgICBt
b3ZlICJ0cmFuc2ZlciIgYW5kICJudWxsLW9rIiBhdHRyaWJ1dGVzIGZyb20gPGZ1bmN0aW9uPiB0
byA8cmV0dXJuLXZhbHVlPgogICAgICB1c2UgInRyYW5zZmVyLW93bmVyc2hpcCIgYXR0cmlidXRl
IGZvciByZXR1cm4gdmFsdWVzCiAgICAgIHJ1biAnZ2l0ZXN0cmVwbycgaW4gJ21ha2UgY2hlY2sn
IGluc3RhbnRpYXRlICdHQ2FuY2VsbGFibGUnIHRvIGVuc3VyZSB0aGUKICAgICAgQnVnIDU1NjQw
MCDigJMgRmFpbHMgdG8gYnVpbGQgb24gT1MgWCAxMC40CiAgICAgIHdyYXAgYWxsIEZJTEUgYWNj
ZXNzIHRvIGdvIHRocm91Z2ggc2ltcGxlIHhtbHdyaXRlcgogICAgICBLZWVwIHRyYWNrIG9mIGdl
bmVyYXRlZCBYTUwgdHJlZSBhbmQgaGFuZGxlIGluZGVudGF0aW9uIGFuZCBjbG9zaW5nIHRhZ3MK
ICAgICAgcmVtb3ZlIHVudXNlZCBpbmRlbnQgcGFyYW1ldGVycywgeG1sd3JpdGVyIGtlZXBzIHRy
YWNrIG9mIG5lY2Vzc2FyeQogICAgICBxdW90ZSBwcmludGYgYXJndW1lbnRzIHNvIHRoYXQgd2Ug
ZG9uJ3QgZ2VuZXJhdGUgaW52YWxpZCBYTUwgYnkgd3JpdGluZwogICAgICByZW1vdmUgdHJhaWxp
bmcgd2hpdGVzcGFjZSBmcm9tIGluc2lkZSBlbGVtZW50cyB0byBtYXRjaCBnLWlyLWdlbmVyYXRl
CiAgICAgIEJ1ZyA1NTYxNzQg4oCTIHBhcnNlIHR5cGVzIGZvciBsaXN0cyBldGMuCiAgICAgIHJl
ZHVjZSBjb2RlIGR1cGxpY2F0aW9uCiAgICAgIGZpeCB0ZXN0cyB0byBjb21wYXJlIHhtbCB0byB4
bWwgaW5zdGVhZCBvZiB0eXBlbGliIHRvIHhtbCwgYW5kIHN0b3Agb24KICAgICAgY2hlY2sgdGhh
dCB0eXBlbGliIC0+IGdpciAtPiB0eXBlbGliIHRyYW5zZm9ybWF0aW9uIGlzIGxvc3NsZXNzIChp
dCdzIG5vdCkKICAgICAgcmVmYWN0b3IgY29tbW9uIGNvZGUgZm9yIHByb2Nlc3NpbmcgbWVtYmVy
cyB0byBhIGZ1bmN0aW9uCiAgICAgIEJ1ZyA1NTY0MzQg4oCTIHVuaGFuZGxlZCBpbnRlcmZhY2Uv
b2JqZWN0Ly4uLiBtZW1iZXIgdHlwZXMKICAgICAgQnVnIDU1NjU0MSDigJMgYWNjZXNzIHVuaW9u
IG1lbWJlcnMgdGhyb3VnaCBVbmlvbkJsb2IgcmF0aGVyIHRoYW4KICAgICAgQnVnIDU1NjU0MyDi
gJMgcmVkdWNlIGNvbXBpbGVyIHdhcm5pbmdzCiAgICAgIGVuYWJsZSBidW5jaCBvZiBnY2Mgd2Fy
bmluZyBDRkxBR1MKICAgICAgQnVnIDU1NjczMiDigJMgZ2VuZXJhdGUgZ2lyIGZpbGVzIGNvbnNp
c3RlbnRseQogICAgICBCdWcgNTU2NzMyIOKAkyBnZW5lcmF0ZSBnaXIgZmlsZXMgY29uc2lzdGVu
dGx5CiAgICAgIEJ1ZyA1NTY3MzIg4oCTIGdlbmVyYXRlIGdpciBmaWxlcyBjb25zaXN0ZW50bHkK
ICAgICAgQnVnIDU1NjczMiDigJMgZ2VuZXJhdGUgZ2lyIGZpbGVzIGNvbnNpc3RlbnRseQogICAg
ICBnaXNjYW5uZXI6IGRvbid0IGxvc2UgJ3RyYW5zZmVyLW93bmVyc2hpcCcgYXR0cmlidXRlcyB3
aGVuIGluamVjdGluZwogICAgICBDaGFuZ2VMb2cKICAgICAgV2FybiBpZiB3ZSBzZWUgYW5ub3Rh
dGlvbnMgZm9yIHVua25vd24gcGFyYW1ldGVycwogICAgICBDaGFuZ2VMb2cKICAgICAgQnVnIDU1
NzA5MiDigJMgQ2FsbGJhY2sgYW5ub3RhdGlvbnMgbm90IHVzZWQKICAgICAgQnVnIDU1NzQwNSDi
gJMgVXNlICdhbGxvdy1ub25lJyBjb25zaXN0ZW50bHkKICAgICAgQnVnIDU1NzM3NyDigJMgQWRk
IHRlc3QgdG8gZW5zdXJlIGFubm90YXRpb25zIHN1cnZpdmUgdGhlIHJvdW5kdHJpcCB2aWEgdHlw
ZWxpYgogICAgICBCdWcgNTU3Mzc5IOKAkyBnLWlyLWdlbmVyYXRlIG5vdCB3cml0aW5nIHRoZSAn
YWJzdHJhY3QnIGF0dHJpYnV0ZQogICAgICBmaXggZm9vX3JlY3RhbmdsZV9hZGQgdGVzdAogICAg
ICBtYWtlIHZhcmFyZ3MgdHJhbnNmZXItb3duZXJzaGlwPSJub25lIgogICAgICBidWlsZCBmdW5k
YW1lbnRhbCB0eXBlcyBzYW1lIHdheSBhcyBnbGliCiAgICAgIHJlY29yZCBHVHlwZSB3aGVuIGNv
bnN0cnVjdGluZyB0aGUgVHlwZSBmcm9tIGl0CiAgICAgIENoZWNrIHdoZXRoZXIgdGhlIHBhcmFt
ZXRlciBpcyBhIEdPYmplY3QgZnJvbSB0aGUgR1R5cGUKICAgICAgcmVhcnJhbmdlCiAgICAgIGRl
ZHVjZSB0cmFuc2Zlci1vd25lcnNoaXAgZnJvbSBHVHlwZXMKICAgICAgQ2hhbmdlTG9nCiAgICAg
IEJ1ZyA1NTY3Mzkg4oCTIHRyYW5zZmVyLW93bmVyc2hpcCBhdHRyaWJ1dGUgc2hvdWxkIGJlIG1h
bmRhdG9yeSBpbiAuZ2lyCiAgICAgIGdfaXJlcG9zaXRvcnlfcmVxdWlyZSgpIHJldHVybnMgR1R5
cGVsaWIgbm93LCBmaXggd2FybmluZwogICAgICBCdWcgNTU4MDYyIOKAkyBwcm92aWRlIGFuZCB1
c2UgcGF0aHMgaW4gdGhlIC5wYyBmaWxlCiAgICAgIGRpc3RjaGVjayBmaXhlcwogICAgICBmaXgg
ZGlzdGNoZWNrCiAgICAgIG1vdmUgdGVzdHMvdHlwZXMgdG8gdGVzdHMvZXZlcnl0aGluZwogICAg
ICByZW5hbWUgZ2l0ZXN0dHlwZXMgdG8gRXZlcnl0aGluZwogICAgICBleHBsaWNpdGx5IGxpbmsg
bGlidG9vbCB2ZXJzaW9uaW5nIHdpdGggdHlwZWxpYiB2ZXJzaW9uaW5nCiAgICAgIENoYW5nZUxv
ZwogICAgICBtYXAgJ2lkJyAoT2JqQykgdG8gJ2FueScgdHlwZQogICAgICBMaXN0IGluLXRyZWUg
bGlicmFyaWVzIGZpcnN0IGluIExEQUREIC8gTElCQURECiAgICAgIEJ1ZyA1NTc4OTgg4oCTIEZh
aWxzIHRvIGJ1aWxkIG9uIE9TWCAxMC40CiAgICAgIEJ1ZyA1NjAzMDgg4oCTIGctaXItY29tcGls
ZXIgZ29lcyBpbiBpbmZpbml0ZSBsb29wIG9uIEdkay0yLjAuZ2lyCiAgICAgIGZpeCBnZW4tZ2l0
ZXN0b2Zmc2V0cyBpbnZvY2F0aW9uIHdpdGggYnVpbGRkaXIgIT0gc3JjZGlyCiAgICAgIHVzZSAn
aW50cm9zcGVjdGlvbicgY29tcG9uZW50IGZvciBidWdzCiAgICAgIEZpeCBtaW5vciBtZW1vcnkg
bGVhay4KICAgICAgUmV0dXJuIHN0cmluZ3MgaW4gZmlsZW5hbWUgZW5jb2RpbmcuCiAgICAgIGZp
eCBidWlsZGRpciAhPSBzcmNkaXIKICAgICAgcHJlZmVyIHVuaW5zdGFsbGVkIGxpYnJhcmllcyB0
byBpbnN0YWxsZWQgb25lcwogICAgICBmaXggbGluayBmYWlsdXJlIHdoZW4gaW50cm9zcGVjdGlu
ZyBnaXJlcG9zaXRvcnkgaXRzZWxmCgpUb3IgTGlsbHF2aXN0ICg1KToKICAgICAgTWFrZSBnLWly
LXNjYW5uZXIgd29yayBvbiBXaW5kb3dzLiBTdGlsbCBwcm9ibGVtcyB3aXRoIHRoZSB0eXBlbGli
IGNvZGUuCiAgICAgIENoYW5nZSB0eXBlIG9mIGJpdGZpZWxkIGZpZWxkcyBmcm9tIGd1aW50IHRv
IHRoZSBtb3N0IHN1aXRhYmxlIHNtYWxsZXIKICAgICAgVXNlIGJpbmFyeSBtb2RlIGZvciBvdXRw
dXQgZmlsZSBvbiBXaW5kb3dzLgogICAgICBNZW50aW9uIHRoYXQgbWFrZSBjaGVjayBub3cgcnVu
cyBzdWNjZXNzZnVsbHkgb24gV2luZG93cy4KICAgICAgVXNlICQoRVhFRVhUKS4KClRvcnN0ZW4g
U2Now7ZuZmVsZCAoMyk6CiAgICAgIFJlbW92ZSB0aGUgZmFsbGJhY2sgaW1wbGVtZW50YXRpb24g
b2YgZ19mdW5jdGlvbl9pbmZvX2ludm9rZSBzaW5jZSB3ZSBub3cKICAgICAgRXhwb3J0IGdfaW52
b2tlX2Vycm9yX3F1YXJrLgogICAgICBIdXNoIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IHJldHVy
biB2YWx1ZXMsIHNpZ25lZG5lc3MgbWlzbWF0Y2hlcywgdW51c2VkCgpUcmlzdGFuIFZhbiBCZXJr
b20gKDEpOgogICAgICBCdWcgNTYzNzQyIOKAkyBpbnRyb3NwZWN0aW9uIHNob3VsZCByZWNvcmQg
dGhlIGludHJvZHVjZWQgdmVyc2lvbiBvZgoKWGFuIExvcGV6ICgyKToKICAgICAgZy1pci1zY2Fu
bmVyLjE6IGFkZCBpbmZvcm1hdGlvbiBhYm91dCBpbmNsdWRlIHBhdGhzIGZvciBzb3VyY2UgZmls
ZXMuCiAgICAgIEZvcmdvdCB0byB1cGRhdGUgQ2hhbmdlTG9nLgoKcm9vdCAoMSk6CiAgICAgIFJl
bW92ZSBkdXBsaWNhdGUgdHlwZWxpYiBpbnN0YWxsYXRpb24gcnVsZXMKCg==
--0016364edd44b74f3f046cf51ba8
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
_______________________________________________
gtk-devel-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-devel-list
--0016364edd44b74f3f046cf51ba8--