Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jan 2004 02:47:29 -0500
From:      Tom Rhodes <trhodes@FreeBSD.org>
To:        FreeBSD-doc@FreeBSD.org
Subject:   RFC: Automated process for documenting tunables/variables.
Message-ID:  <20040122024729.2944fada@localhost>

next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

--Multipart=_Thu__22_Jan_2004_02_47_29_-0500_FgA_kUaO8e4__3SQ
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Greetings,

About three weeks ago Marc Silver kicked me in the butt to start
working on this project again.  First off, I did not drop the front
page; only working on that and other projects at the same time.

But anyway, onward to the subject at hand.  Enclosed in this email
is three files:  run.sh, the main file which builds the manual page;
sysctl.sh, the file that sets up the structure of the tunables
section in our manual page; and tunables.mdoc, a list of all the
tunables that I threw together along with documentation that
is more user-friendly than the sysctl -d output.

This was designed to mainly work with a make universe, using nm(1)
to parse the LINT kernels and grab all the tunables from them.  If
you don't wish to run make universe, don't worry.  The -installed
option will parse the installed kernel in /boot/kernel.

As it stands now, a default manual page will be committed with
the work we have done.  The tunables/sysctls without descriptions
and which I cannot find documentation for will be left blank in
hopes that someone can document it or submit documentation to
me.  I will then update the manual page(s) once a month/bi-monthly
or before a release is cut.

We also support multi-architecture LINT kernels using the nm(1)
built for that architecture.  David O'Brien informed me that
the nm(1) does not like working on different architectures than
it was built for, thanks David.

There are some Caveats to this method:

We are using hard coded paths in the script in place of detecting
them.

I'm not sure how it could be integrated with or why it should be
integrated with a buildworld.

On a slow machine the make universe target could take hours, an
overnight project for some machines.

Duplication of documentation may occur, i'm unsure of how to
handle this other than just adding either an Xref from the generated
manual page or the ones that tunables are documented in.  Special
cases given to manual pages like security(7).

Some duplication cannot be avoided as we have tunables/sysctls which
can go in rc.conf, sysctl.conf, and passed on the command line.  There
is already duplication there and it isn't my job to redesign that part
of FreeBSD.  :)

Positives:

A central manual page for all architectures which hold many of the
tunable options FreeBSD has.

We avoid making substantial changes to sysctl(8) and the build in
general by not adding the extra C macros that the original idea
offered.

Users are more happy because we have (hopefully) good documentation
in place on hacks that are either undocumented or have difficult
to comprehend documentation provided by sysctl -d.

We aren't adding line upon line of documentation in source files.

Bruce Evans will be happy that no mdoc(7) exists in source files,
which is a style violation.  (This is just a little inside joke between
him and I.)

Apologies in advance for the length of this email, mistakes i've
made in this implementation, and the lack of a README or Makefile. :)

Thank you in advance for comments/suggestions.

-- 
Tom Rhodes

--Multipart=_Thu__22_Jan_2004_02_47_29_-0500_FgA_kUaO8e4__3SQ
Content-Type: application/octet-stream;
 name="run.sh"
Content-Disposition: attachment;
 filename="run.sh"
Content-Transfer-Encoding: base64

IyEvYmluL3NoCiMKIyAkUGl0dGdvdGg6IHByb2plY3RzL3NjcmlwdHMvZG9jdHVuZS9ydW4uc2gs
diAxLjIxIDIwMDQvMDEvMjIgMDc6MzA6MDYgZGFya2xvZ2lrIEV4cCAkCiMgJEZyZWVCU0QkCiMK
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMKIyBNaXNzaW5nIEZlYXR1cmVzOgojIEl0IHdvdWxkIGJlIG5pY2UgdG8gaGF2ZSBP
SURzIHNlcGFyYXRlZCBpbnRvIGNvbXBvc2l0ZSBncm91cHMKIyB1c2luZyB0aGUgc3Vic2VjdGlv
biBtZG9jKDcpIGZlYXR1cmUgKC5Tcykgd2l0aG91dCBhZGRpbmcgZXh0cmEKIyBmaWxlcy4KIwoj
IFRoZSBhYmlsaXR5IHRvIG5vdGljZSB3aGVuIG5ldyBPSURzIGFyZSBhZGRlZCB0byBGcmVlQlNE
LCBhbmQKIyBhbmQgdGhlIGF1dG9tYXRpb24gb2YgdGhlaXIgc29ydGluZyBhbmQgYWRkaXRpb24g
aW50byB0aGUKIyB0dW5hYmxlcy5tZG9jIGZpbGUuCiMKIyBQZXJoYXBzIGEgcmUtaW1wbGVtZW50
YXRpb24gaW4gQz8gIFRoaXMgd291bGRuJ3QgYmUgbXVjaCBvZgojIGEgY2hhbGxlbmdlIGZvciB0
aGUgcmlnaHQgaW5kaXZpZHVhbCBidXQgaXQgbWF5IHJlcXVpcmUgYSBsb3QKIyBvZiBjaGFuZ2Vz
IHRvIHN5c2N0bC5oLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKIyBTZXQgb3VyIHBhdGggdXAuClBBVEg9L2JpbjovdXNy
L2Jpbjovc2JpbjovdXNyL3NiaW4KCiMgV2UgbmVlZCBhIHVzYWdlIHN0YXRlbWVudCBjb3JyZWN0
PwpVU0FHRT0iVXNhZ2U6IHJ1bi5zaCAtW2FsbHxhbHBoYXxjbGVhbnxpMzg2fGlhNjR8aW5zdGFs
bGVkfHBjOTh8c3BhcmM2NF0iCgojIFRoZSBlbmRtYW4gZnVuY3Rpb24gY2xvc2VzIHRoZSBsaXN0
IGFuZCBhZGRzIHRoZSBib3R0b20KIyBwYXJ0IG9mIG91ciBtYW51YWwgcGFnZS4KZW5kbWFuKCkg
ewpjYXQgPDxFT0Y+PiAuL3R1bmFibGVzLjgKLkVsCi5TaCBJTVBMRU1FTlRBVElPTiBOT1RFUwpN
dWNoLCBpZiBub3QgYWxsIG9mIHRoaXMgbWFudWFsIHBhZ2UgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
CmEgc2ltcGxlIHNjcmlwdCB3cml0dGVuIGluCi5YciBzaCAxCndoaWNoIGdlbmVyYXRlcyB0aGUK
LlhyIG1kb2MgNwptYXJrdXAuCkZvciBpbmZvcm1hdGlvbiBvbgouWHIgc3lzY3RsIDgKaW1wbGVt
ZW50YXRpb24gbm90ZXMsIHNlZSB0aGUgcmVzcGVjdGluZyBtYW51YWwgcGFnZXMuCi5TaCBTRUUg
QUxTTwouWHIgbG9hZGVyLmNvbmYgNSAsCi5YciBzeXNjdGwuY29uZiA1ICwKLlhyIGJvb3QgOCAs
Ci5YciBsb2FkZXIgOCAsCi5YciBzeXNjdGwgOCAsCi5YciBzeXNjdGxfYWRkX29pZCA5ICwKLlhy
IHN5c2N0bF9jdHhfaW5pdCA5Ci5TaCBBVVRIT1JTClRoaXMgbWFudWFsIHBhZ2UgYXV0b21hdGlj
YWxseSBnZW5lcmF0ZWQgb25jZSBhIG1vbnRoCmJ5IGEgc2NyaXB0IHdyaXR0ZW4gYnkKLkFuIC1u
b3NwbGl0Ci5BbiBUb20gUmhvZGVzIEFxIHRyaG9kZXNARnJlZUJTRC5vcmcgLAp3aXRoIHNpZ25p
ZmljYW50IGNvbnRyaWJ1dGlvbnMgZnJvbQouQW4gR2lvcmdvcyBLZXJhbWlkYXMgQXEga2VyYW1p
ZGFARnJlZUJTRC5vcmcgLAouQW4gUnVzbGFuIEVybWlsb3YgQXEgcnVARnJlZUJTRC5vcmcgLAph
bmQKLkFuIE1hcmMgU2lsdmVyIEFxIG1hcmNzQGRyYWVub3Iub3JnIC4KLlNoIEJVR1MKU29tZXRp
bWVzCi5GeAouTm0KY2FuIGJlIGxlZnQgdW5kb2N1bWVudGVkIGJ5IHRoZSBpbmRpdmlkdWFscyB3
aG8gb3JpZ2luYWxseQppbXBsZW1lbnRlZCB0aGVtOwp0aHVzIHRoaXMgc2NyaXB0IHdhcyBmb3Jn
ZWQgYXMgYSB3YXkgdG8gYXV0b21hdGljYWxseQpwcm9kdWNlIGEgbWFudWFsIHBhZ2UgdG8gYWlk
IGluIHRoZSBhZG1pbmlzdHJhdGlvbiBhbmQKY29uZmlndXJhdGlvbiBvZiBhCi5GeApzeXN0ZW0u
CkVPRgp9CgojIFRoZSBtYXJrdXBfY3JlYXRlKCkgZnVuY3Rpb24gYnVpbGRzIHRoZSBhY3R1YWwK
IyBtYXJrdXAgZmlsZSB0byBiZSBkcm9wcGVkIGludG8uICBJbiBlc3NlbmNlLAojIGNvbXBhcmUg
b3VyIGxpc3Qgb2YgdHVuYWJsZXMgd2l0aCB0aGUgZG9jdW1lbnRlZAojIHR1bmFibGVzIGluIG91
ciB0dW5hYmxlcy5tZG9jIGZpbGUgYW5kIGdlbmVyYXRlCiMgdGhlIGZpbmFsICdpbm5lciBjaXJj
bGUnIG9mIG91ciBtYW51YWwgcGFnZS4KbWFya3VwX2NyZWF0ZSgpIHsKCXNvcnQgIDwgX25hbWVz
IHwJCVwKCXhhcmdzIC1uIDEgL2Jpbi9zaCAuL3N5c2N0bC5zaCAgXAoJCT4gbWFya3VwLmZpbGUJ
CVwKCQkyPiB0dW5hYmxlcy5UT0RPCglybSBfbmFtZXMKfQoKIyBGaW5hbGx5LCB0aGUgZm9sbG93
aW5nIGxpbmVzIHdpbGwgY2FsbCBvdXIgZnVuY3Rpb25zIGFuZAojIGFuZCBjcmVhdGUgb3VyIGRv
Y3VtZW50IHVzaW5nIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb246CnBhZ2VfY3JlYXRlKCkgewoJc3Rh
cnRtYW4KCS9iaW4vY2F0IC4vbWFya3VwLmZpbGUgPj4gdHVuYWJsZXMuOAoJZW5kbWFuCn0KCiMg
VGhlIHN0YXJ0bWFuIGZ1bmN0aW9uIGNyZWF0ZXMgdGhlIGluaXRpYWwgbWRvYyg3KSBmb3JtYXR0
ZWQKIyBtYW51YWwgcGFnZS4gIFRoaXMgaXMgcmVxdWlyZWQgYmVmb3JlIHdlIHBvcHVsYXRlIGl0
IHdpdGgKIyB0dW5hYmxlcyBib3RoIGxvYWRlciBhbmQgc3lzY3RsKDgpIG9pZHMuCnN0YXJ0bWFu
KCkgewpjYXQgPDxFT0Y+PiAuL3R1bmFibGVzLjgKLlwiCi5cIiBDb3B5cmlnaHQgKGMpIDIwMDMg
VG9tIFJob2RlcwouXCIgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLlwiCi5cIiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLlwi
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwouXCIgYXJlIG1ldDoKLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci5cIiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi5cIiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAouXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQouXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLlwiCi5cIiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECi5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLlwiIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi5cIiBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRQouXCIgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLlwiIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi5cIiBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikKLlwiIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi5cIiBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi5c
IiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GCi5cIiBTVUNIIERBTUFHRS4KLlwiCi5cIgouRGQgSmFudWFyeSAwNSwg
MjAwNAouRHQgVFVOQUJMRVMgOAouT3MKLlNoIE5BTUUKLk5tIHR1bmFibGVzCi5OZCBsaXN0IG9m
IHN5c3RlbSB0dW5hYmxlcwouU2ggREVTQ1JJUFRJT04KLkZ4CnN1cHBvcnRzIGtlcm5lbCBhbHRl
cmF0aW9ucyBvbiB0aGUgZmx5IG9yIGF0CnN5c3RlbSBpbml0aWFsaXphdGlvbiBieSB1c2luZyBh
IGZlYXR1cmUKa25vd24gYXMgdGhlCi5EcSBNYW5hZ2VtZW50IEluZm9ybWF0aW9uIEJhc2UKb3IK
LkRxIE1JQnMKZm9yIHNob3J0LgouUHAKVGhlCi5GeAprZXJuZWwgZW52aXJvbm1lbnQgaXMgaW5p
dGlhbGl6ZWQgZnJvbSB0aGUKLlhyIGxvYWRlciA4CnZhcmlhYmxlcywgYW5kIGNhbiBsYXRlciBi
ZSB2aWV3ZWQgYW5kIG1vZGlmaWVkIHdpdGggdGhlCi5YciBrZW52IDEKdXRpbGl0eS4KU29tZSBv
Zgp0aGVzZSB2YXJpYWJsZXMgYWxsb3cgYW4gYWRtaW5pc3RyYXRvciB0bwouRHEgdHVuZQpzb21l
IGFzcGVjdCBvZiBzeXN0ZW0ncwpiZWhhdmlvciBhdCBzdGFydHVwLCBoZW5jZQouRHEgdHVuYWJs
ZXMgLgpNb3N0IHR1bmFibGVzCmhhdmUgY29ycmVzcG9uZGluZyBzeXNjdGxzLgpXaGlsZSBzb21l
IHN5c2N0bHMgbWF5IGJlIHVzZWQKdG8gYWx0ZXIgdGhlIHN5c3RlbSBiZWhhdmlvciBvbi10aGUt
Zmx5LApzb21lIGFzcGVjdHMgb2YgdGhlCnN5c3RlbSwgZm9yIGV4YW1wbGUgdGhlIHNpemUgb2Yg
c29tZSBjcml0aWNhbCBidWZmZXJzLAptYXkgYmUgY2hhbmdlZApvbmx5IGF0IHRoZSBzeXN0ZW0g
aW5pdGlhbGl6YXRpb24gdGltZSwgaGVuY2UgdGhlCm5lZWQgZm9yIHR1bmFibGVzLgouUHAKV2hl
biB0aGUgbmVlZCB0byBhbHRlciBhIHJlYWQtb25seSB2YXJpYWJsZQphcmlzZXMsIHRoZXkgY2Fu
IGJlIGFkZGVkIHRvIHRoZQouWHIgbG9hZGVyLmNvbmYgNQpjb25maWd1cmF0aW9uIGZpbGUuCkZv
ciBtb3JlIGluZm9ybWF0aW9uIG9uIGhvdyB0aGlzIGZpbGUgaXMgc3RydWN0dXJlZCwKc2VlIHRo
ZSBtYW51YWwgcGFnZS4KLlBwCkZ1cnRoZXJtb3JlLCBjaGFuZ2VzIHRvIGNlcnRhaW4KLk5tCmNh
biBiZSBtYWRlIGJ5IHVzaW5nIAouUGEgL2V0Yy9yYy5jb25mICwKYXMgbWFueSAKLk5tCmFyZSBz
ZXQgZHVyaW5nIHRoZSBib290IHN0YWdlIHdoaWxlIHJlYWRpbmcgdmFsdWVzIGZyb20gdGhpcyBm
aWxlLiAKU2VlCi5YciByYy5jb25mIDUKZm9yIG1vcmUgaW5mb3JtYXRpb24uCi5QcApUaGUKLk5t
CnN1cHBvcnRlZCBieQouWHIgc3lzY3RsIDgKYXJlOgouUHAKLkJsIC1vaGFuZyAtb2Zmc2V0IGlu
ZGVudApFT0YKfQoKIyBDYXNlIHRoZSBhcmNoaXRlY3R1cmUgYW5kIGdlbmVyYXRlIGEgX25hbWVz
IGZpbGUgYmFzZWQKIyBvbiAke01BQ0hJTkVfQVJDSH0gaW4gdGhlIE1ha2VmaWxlLiAgV2UgZ2V0
IG1vc3Qgb2YgdGhlCiMgdHVuYWJsZXMgYnkgcnVubmluZyBubSgxKSB0aHJvdWdoIHRoZSBidWls
dCBrZXJuZWwgYW5kCiMgbW9kdWxlcy4gIFRodXMgb3VyIGRvd25mYWxsIGlzIHRoYXQgd2UgZXhw
ZWN0IHRoZSB1c2VyCiMgdG8gaGF2ZSByYW4gYSAnbWFrZSB1bml2ZXJzZScgZmlyc3QuICBVc2Vy
cyBjYW4gc3RpbGwKIyBnZW5lcmF0ZSBhIHR1bmFibGVzLjggbWFudWFsIHBhZ2UgZm9yIGEgZGlm
ZmVyZW50IENQVQojIGFyY2hpdGVjdHVyZSBieSBjYWxsaW5nIHJ1bi5zaCBkaXJlY3RseS4KIwoj
IFRoZSBmb3Igc3RhdGVtZW50IHdpbGwgZW5zdXJlIHRoYXQgd2Ugb25seSB3b3JrIHdpdGggdGhl
CiMga2VybmVsIGFuZCBpdHMgbW9kdWxlcy4KIwojIEFsbCBvZiB0aGUga2VybmVscy93b3JsZHMg
ZnJvbSAnbWFrZSB1bml2ZXJzZScgZ2V0IGEgc3BlY2lhbAojICR7QVJDSH0gZGlyZWN0b3J5LiAg
VGhlIGRlZmF1bHQgb25lIGRvZXNuJ3QuICBTaW5jZSBJIGd1ZXNzCiMgTWFpbnRhaW5lcnNoaXAg
YmVsb25ncyB0byBtZSwgaWdub3JlIHRoZSAke0FSQ0h9IGRpcmVjdG9yeQojIGZvciBpMzg2IGNh
c2VzIGFzIGl0IHdvbid0IGJlIHRoZXJlIG9uIG15IHA0IG1hY2hpbmUuCiMKIyBUaGUgbm0oMSkg
dXRpbGl0eSBtdXN0IG9ubHkgYmUgdXNlZCBvbiB0aGUgYXJjaGl0ZWN0dXJlIHdoaWNoCiMgd2Ug
YnVpbGQgaXQgZm9yLiAgQWx0aG91Z2ggaTM4NiBhbmQgcGM5OCBhcmUgc28gc2ltaWxhciB3ZSBj
YW4KIyB1c2UgdGhlIGkzODYgdmVyc2lvbiBmb3IgYm90aC4KCmNhc2UgIiQxIiBpbgoKCS1hbGwp
CgkJc2ggLi9ydW4uc2ggLWFscGhhICYmIHNoIC4vcnVuLnNoIC1pMzg2ICYmIHNoIC4vcnVuLnNo
IC1pYTY0ICYmIFwKCQlzaCAuL3J1bi5zaCAtaW5zdGFsbGVkICYmIHNoIC4vcnVuLnNoIC1wYzk4
ICYmCQlcCgkJc2ggLi9ydW4uc2ggLXNwYXJjNjQgJiYgZWNobyAiTWFudWFsIHBhZ2VzIGJ1aWx0
IGZvciBhbGwJXAoJCWFyY2hpdGVjdHVyZXMuIiA7OwoKCS1hbHBoYSkKCQlmb3IgeCBpbiBgZmlu
ZCAvdXNyL29iai9hbHBoYS91c3Ivc3JjL3N5cy9MSU5UIC1uYW1lICcqLmtsZCdgCVwKCQkJICAv
dXNyL29iai9hbHBoYS91c3Ivc3JjL3N5cy9MSU5UL2tlcm5lbDsKCQkJICBkbyAvdXNyL29iai9h
bHBoYS91c3Ivc3JjL2kzODYvdXNyL2Jpbi9ubQkJXAoJCQkgICR4IHwgZ3JlcCAnIHN5c2N0bF9f
XycgfCB1bmlxIHwJCQlcCgkJCSAgc2VkICdzL3N5c2N0bF9fXy8vZycgfCBzZWQgJ3MvXy8uL2cn
IHwJCVwKCQkJICBhd2sgeydwcmludCAkMyd9ID4gX25hbWVzOwoJCWRvbmU7CgkJbWFya3VwX2Ny
ZWF0ZQoJCXBhZ2VfY3JlYXRlCgkJbXYgLi90dW5hYmxlcy44IGFscGhhX3R1bmFibGVzLjggOzsK
CgktY2xlYW4pCgkJcm0gdHVuYWJsZXMuVE9ETyBtYXJrdXAuZmlsZSB0dW5hYmxlcy44IF9uYW1l
cwkJCVwKCQkgICBhbHBoYV90dW5hYmxlcy44IGkzODZfdHVuYWJsZXMuOCBpYTY0X3R1bmFibGVz
LjgJCVwKCQkgICBpbnN0YWxsZWRfdHVuYWJsZXMuOCBwYzk4X3R1bmFibGVzLjggc3BhcmM2NF90
dW5hYmxlcy44CVwKCQkgICAyPiAvZGV2L251bGw7CgkJZXhpdCAwIDs7CgoJLWkzODYpCgkJZm9y
IHggaW4gYGZpbmQgL3Vzci9vYmovdXNyL3NyYy9zeXMvTElOVCAtbmFtZSAnKi5rbGQnYCAJXAoJ
CQkgIC91c3Ivb2JqL3Vzci9zcmMvc3lzL0xJTlQva2VybmVsOwoJCQkgIGRvIG5tICR4IHwgZ3Jl
cCAnIHN5c2N0bF9fXycgfCB1bmlxIHwJCQlcCgkJCSAgc2VkICdzL3N5c2N0bF9fXy8vZycgfCBz
ZWQgJ3MvXy8uL2cnIHwJCVwKCQkJICBhd2sgeydwcmludCAkMyd9ID4gX25hbWVzOwoJCWRvbmU7
CgkJbWFya3VwX2NyZWF0ZQoJCXBhZ2VfY3JlYXRlCgkJbXYgLi90dW5hYmxlcy44IGkzODZfdHVu
YWJsZXMuOCA7OwoKCS1pYTY0KQoJCWZvciB4IGluIGBmaW5kIC91c3Ivb2JqL2lhNjQvdXNyL3Ny
Yy9zeXMvTElOVCAtbmFtZSAnKi5rbGQnYAlcCgkJCSAgL3Vzci9vYmovaWE2NC91c3Ivc3JjL3N5
cy9MSU5UL2tlcm5lbDsKCQkJICBkbyAvdXNyL29iai9pYTY0L3Vzci9zcmMvaTM4Ni91c3IvYmlu
L25tICR4IHwJCVwKCQkJICBncmVwICcgc3lzY3RsX19fJyB8IHVuaXEgfAkJCQlcCgkJCSAgc2Vk
ICdzL3N5c2N0bF9fXy8vZycgfCBzZWQgJ3MvXy8uL2cnIHwJCVwKCQkJICBhd2sgeydwcmludCAk
Myd9ID4gX25hbWVzOwoJCWRvbmU7CgkJbWFya3VwX2NyZWF0ZQoJCXBhZ2VfY3JlYXRlCgkJbXYg
Li90dW5hYmxlcy44IGlhNjRfdHVuYWJsZXMuOCA7OwoKCS1pbnN0YWxsZWQpCgkJZm9yIHggaW4g
L2Jvb3Qva2VybmVsLyoua28gL2Jvb3Qva2VybmVsL2tlcm5lbDsKCQkJZG8gbm0gJHggfCBncmVw
ICcgc3lzY3RsX19fJyB8IHVuaXEgfAkJCVwKCQkJc2VkICdzL3N5c2N0bF9fXy8vZycgfCBzZWQg
J3MvXy8uL2cnIHwJCQlcCgkJCWF3ayB7J3ByaW50ICQzJ30gPiBfbmFtZXM7CgkJZG9uZTsKCQlt
YXJrdXBfY3JlYXRlCgkJcGFnZV9jcmVhdGUKCQltdiAuL3R1bmFibGVzLjggaW5zdGFsbGVkX3R1
bmFibGVzLjggOzsKCgktcGM5OCkKCQlmb3IgeCBpbiBgZmluZCAvdXNyL29iai9wYzk4L3Vzci9z
cmMvc3lzL0xJTlQgLW5hbWUgJyoua2xkJ2AJXAoJCQkgIC91c3Ivb2JqL3BjOTgvdXNyL3NyYy9z
eXMvTElOVC9rZXJuZWw7CgkJCSAgZG8gbm0gJHggfCBncmVwICcgc3lzY3RsX19fJyB8IHVuaXEg
fAkJCVwKCQkJICBzZWQgJ3Mvc3lzY3RsX19fLy9nJyB8IHNlZCAncy9fLy4vZycgfAkJXAoJCQkg
IGF3ayB7J3ByaW50ICQzJ30gPiBfbmFtZXM7CgkJZG9uZTsKCQltYXJrdXBfY3JlYXRlCgkJcGFn
ZV9jcmVhdGUKCQltdiAuL3R1bmFibGVzLjggcGM5OF90dW5hYmxlcy44IDs7CgoJLXNwYXJjNjQp
CgkJZm9yIHggaW4gYGZpbmQgL3Vzci9vYmovc3BhcmM2NC91c3Ivc3JjL3N5cy9MSU5UIC1uYW1l
ICcqLmtsZCdgIFwKCQkJICAvdXNyL29iai9zcGFyYzY0L3Vzci9zcmMvc3lzL0xJTlQva2VybmVs
OwoJCQkgIGRvIC91c3Ivb2JqL3NwYXJjNjQvdXNyL3NyYy9pMzg2L3Vzci9iaW4vbm0gJHggfAlc
CgkJCSAgZ3JlcCAnIHN5c2N0bF9fXycgfCB1bmlxIHwJCQkJXAoJCQkgIHNlZCAncy9zeXNjdGxf
X18vL2cnIHwgc2VkICdzL18vLi9nJyB8CQlcCgkJCSAgYXdrIHsncHJpbnQgJDMnfSA+IF9uYW1l
czsKCQlkb25lOwoJCW1hcmt1cF9jcmVhdGUKCQlwYWdlX2NyZWF0ZQoJCW12IC4vdHVuYWJsZXMu
OCBzcGFyYzY0X3R1bmFibGVzLjggOzsKCgkqKSBlY2hvICIkVVNBR0UiCgkJZXhpdCAwIDs7Cgpl
c2FjCg==

--Multipart=_Thu__22_Jan_2004_02_47_29_-0500_FgA_kUaO8e4__3SQ
Content-Type: application/octet-stream;
 name="sysctl.sh"
Content-Disposition: attachment;
 filename="sysctl.sh"
Content-Transfer-Encoding: base64

IyEvYmluL3NoCiMKIyAkUGl0dGdvdGg6IHByb2plY3RzL3NjcmlwdHMvZG9jdHVuZS9zeXNjdGwu
c2gsdiAxLjcgMjAwNC8wMS8yMCAwODoxODozNiBkYXJrbG9naWsgRXhwICQKIyAkRnJlZUJTRCQK
IwojIEZvciBlYWNoIHN5c2N0bCwgcmVwZWF0OgojCWlmIGl0IGhhcyBhIHNob3J0IGRlc2NyaXB0
aW9uCiMJCXN5c2N0bC5zaCBuYW1lICJkZXNjciIKIwllbHNlCiMJCXdyaXRlIGl0cyBuYW1lIHRv
IHR1bmFibGVzLlRPRE8gd2l0aCAnbmFtZSBtaXNzaW5nIGRlc2NyaXB0aW9uJwojCgpuYW1lPSIk
MSIKaWYgWyBYIiR7bmFtZX0iID0gWCIiIF07IHRoZW4KCWVjaG8gInVzYWdlOiAkKGJhc2VuYW1l
ICQwKSBzeXNjdGwtbmFtZSIgPiYyCglleGl0IDEKZmkKCgojIExvb2sgdXAgJG5hbWUgaW4gdHVu
YWJsZXMubWRvYwoKPCB0dW5hYmxlcy5tZG9jIFwKc2VkIC1uZSAiL14ke25hbWV9W1s6c3BhY2U6
XV0qJC8sL14tLS1bWzpzcGFjZTpdXSokL3AiIHwJXApzZWQgLWUgJy9eLS0tW1s6c3BhY2U6XV0q
JC9kJyB8CQkJCQlcCgp7CQkJCQkJCQlcCglyZWFkIHRtcG5hbWUgX2p1bms7CQkJCQlcCglpZiBb
IFgiJHt0bXBuYW1lfSIgPSBYIiIgXTsgdGhlbgkJCVwKCQlleGl0IDA7CQkJCQkJXAoJZmkgOwkJ
CQkJCQlcCglyZWFkIHR5cGUgdmFsdWUgX2p1bms7CQkJCQlcCgl1bnNldCBfanVuazsJCQkJCQlc
CglpZiBbIFgiJHt0eXBlfSIgPSBYIiIgXTsgdGhlbgkJCQlcCgkJZWNobyAiIiA+JjIgOwkJCQkJ
XAoJCWVjaG8gIkVSUk9SOiBNaXNzaW5nIHR5cGUgZm9yICR7bmFtZX0iID4mMiA7CVwKCWZpIDsJ
CQkJCQkJXAoJaWYgWyBYIiR7dmFsdWV9IiA9IFgiIiBdOyB0aGVuCQkJCVwKCQllY2hvICIiID4m
MiA7CQkJCQlcCgkJZWNobyAiRVJST1I6IE1pc3NpbmcgZGVmYXVsdCBmb3IgJHtuYW1lfSIgPiYy
IDsJXAoJZmkgOwkJCQkJCQlcCgkJCQkJCQkJXAoJZWNobyAiLkl0IFZhICR7dG1wbmFtZX0iIDsJ
CQkJXAoJZWNobyAiLlBxIFZ0ICR7dHlwZX0iIDsJCQkJCVwKCWdyZXAgLXYgJ15bWzpzcGFjZTpd
XSokJyB8CQkJCVwKCXNlZCAtZSAicy9AZGVmYXVsdEAvJHt2YWx1ZX0vZyIgfAkJCVwKCXNlZCAt
ZSAicy9AdHlwZUAvJHt0eXBlfS9nIiA7CQkJCVwKfQ==

--Multipart=_Thu__22_Jan_2004_02_47_29_-0500_FgA_kUaO8e4__3SQ
Content-Type: application/octet-stream;
 name="tunables.mdoc"
Content-Disposition: attachment;
 filename="tunables.mdoc"
Content-Transfer-Encoding: base64

IyAkRnJlZUJTRCQKIyAkUGl0dGdvdGg6IHByb2plY3RzL3NjcmlwdHMvZG9jdHVuZS90dW5hYmxl
cy5tZG9jLHYgMS4xMSAyMDA0LzAxLzIwIDA3OjA3OjI0IG1hcmNzIEV4cCAkCi0tLQpkZWJ1Zy5k
aXNhYmxlY3dkCmJvb2wKCkRldGVybWluZXMgd2hldGhlciBvciBub3QgdGhlCi5YciBnZXR3Y2Qg
MwpzeXNjYWxsIHNob3VsZCBiZSBhbGxvd2VkLiAgCi5QcAoKLS0tCmRlYnVnLmRpc2FibGVmdWxs
cGF0aAoKLS0tCmRlYnVnLmRvYmtncmR3cml0ZQpib29sCgpEZXRlcm1pbmVzIGlmIGJhY2tncm91
bmQgd3JpdGVzIHNob3VsZCBiZSBwZXJmb3JtZWQuCi5QcAoKLS0tCmRlYnVnLmhhc2hzdGF0Lm5j
aGFzaAoKLS0tCmRlYnVnLmhhc2hzdGF0LnJhd25jaGFzaAoKLS0tCmRlYnVnLmllZWU4MDIxMQpi
b29sCgpUaGlzIAouTm0KYWxsb3dzIHlvdSB0byBlbmFibGUgb3IgZGlzYWJsZSBkZWJ1Z2dpbmcg
Zm9yIDgwMi4xMSBkZXZpY2VzLgouUHAKCi0tLQpkZWJ1Zy5tYWxsb2MuZmFpbHVyZV9jb3VudApi
b29sCgpOdW1iZXIgb2YgdGltZXMgYSBjb2VyY2VkIG1hbGxvYyBmYWlsdXJlIGhhcyBvY2N1cnJl
ZCBhcyBhCnJlc3VsdCBvZiBkZWJ1Zy5tYWxsb2MuZmFpbHVyZV9yYXRlLgpVc2VmdWwgZm9yIHRy
YWNraW5nIHdoYXQgbWlnaHQgaGF2ZSBoYXBwZW5lZAphbmQgd2hldGhlciBmYWlsdXJlcyBhcmUg
YmVpbmcgZ2VuZXJhdGVkLgouUHAKCi0tLQpkZWJ1Zy5tYWxsb2MuZmFpbHVyZV9yYXRlCmJvb2wK
CkRlYnVnZ2luZyBmZWF0dXJlIGNhdXNpbmcgTV9OT1dBSVQgYWxsb2NhdGlvbnMgdG8gZmFpbCBh
dAphIHNwZWNpZmllZCByYXRlLgpIb3cgb2Z0ZW4gdG8gZ2VuZXJhdGUgYSBmYWlsdXJlOiBpZiBz
ZXQgdG8gMCAoZGVmYXVsdCksIHRoaXMKZmVhdHVyZSBpcyBkaXNhYmxlZC4KSW4gb3RoZXIgd29y
ZHMgaWYgc2V0IHRvIDEwIChvbmUgaW4gdGVuIG1hbGxvY3MgZmFpbHMpLgouUHAKCi0tLQpkZWJ1
Zy5ybWFuX2RlYnVnCmJvb2wKClRoaXMKLk5tCmFsbG93cyB5b3UgdG8gZW5hYmxlIG9yIGRpc2Fi
bGUgZGVidWdnaW5nIGZvciAKLlhyIHJtYW4gOSAsCnRoZSBGcmVlQlNEIHJlc291cmNlIG1hbmFn
ZXIuCi5QcAoKLS0tCmRlYnVnLnNpemVvZi5iaW8KCi0tLQpkZWJ1Zy5zaXplb2YuYnVmCgotLS0K
ZGVidWcuc2l6ZW9mLmNkZXYKCi0tLQpkZWJ1Zy5zaXplb2YuZGV2c3RhdAoKLS0tCmRlYnVnLnNp
emVvZi5raW5mb19wcm9jCgotLS0KZGVidWcuc2l6ZW9mLnByb2MKCi0tLQpkZWJ1Zy5zaXplb2Yu
dm5vZGUKCi0tLQpkZWJ1Zy52bmxydV9ub3doZXJlCgotLS0KaHcuYWNwaS5jcHUuY3VycmVudF9z
cGVlZApib29sCgpEaXNwbGF5IHRoZSBjdXJyZW50IENQVSBzcGVlZC4KVGhpcyBpcyBhZGp1c3Rh
YmxlLCBidXQgZG9pbmcgc28gaXMgaGlnaGx5IHVucmVjb21tZW5kZWQuCi5QcAoKLS0tCmh3LmFj
cGkuY3B1Lm1heF9zcGVlZAppbnQKCkFsbG93cyB5b3UgdG8gY2hhbmdlIHRoZSBzdGVwcGluZyBm
b3IgcHJvY2Vzc29yIHNwZWVkCm9uIG1hY2hpbmVzIHdoaWNoIHN1cHBvcnQKLlhyIGFjcGkgNCAu
Ci5QcAoKLS0tCmh3LmFjcGkuZGlzYWJsZV9vbl9wb3dlcm9mZgpib29sCgpTb21lIHN5c3RlbXMg
dXNpbmcgCi5YciBhY3BpIDQKaGF2ZSBwcm9ibGVtcyBwb3dlcmluZyBvZmYgd2hlbiBzaHV0dGlu
ZyBkb3duIHdpdGgKLlhyIGFjcGkgNAplbmFibGVkLiAgVGhpcyAKLk5tCmRpc2FibGVzIAouWHIg
YWNwaSA0CndoZW4gcmVib290aW5nIGFuZCBzaHV0dGluZyBkb3duLgouUHAKCi0tLQpody5hY3Bp
LnM0Ymlvcwpib29sCgpUaGlzCi5ObQpkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSBTNEJJ
T1Mgc2xlZXAgaW1wbGVtZW50YXRpb24gCnNob3VsZCBiZSB1c2VkLgouUHAKCi0tLQpody5hY3Bp
LnNsZWVwX2RlbGF5CmludAoKU2V0IHRoZSBzbGVlcCBkZWxheSBmb3IgCi5YciBhY3BpIDQgLgou
UHAKCi0tLQpody5hY3BpLnN1cHBvcnRlZF9zbGVlcF9zdGF0ZQpib29sCgpMaXN0IHN1cHBvcnRl
ZAouVG4gQUNQSQpzbGVlcCBzdGF0ZXMKLlBwCgotLS0KaHcuYWNwaS50aGVybWFsLm1pbl9ydW50
aW1lCgotLS0KaHcuYWNwaS50aGVybWFsLnBvbGxpbmdfcmF0ZQppbnQKClRoZSBpbnRlcnZhbCAo
aW4gc2Vjb25kcykgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBjaGVjawp0aGUgY3VycmVudCBzeXN0
ZW0gdGVtcGVyYXR1cmUuCi5QcAoKLS0tCmh3LmFjcGkudGhlcm1hbC50ejAudGVtcGVyYXR1cmUK
c3RyCgpEaXNwbGF5cyB0aGUgY3VycmVudCB0ZW1wZXJhdHVyZS4gIFRoaXMgaXMgYSByZWFkLW9u
bHkKdmFyaWFibGUuCi5QcAoKLS0tCmh3LmFjcGkudGhlcm1hbC50ejAudGhlcm1hbF9mbGFncwoK
LS0tCmh3LmFjcGkudmVyYm9zZQpib29sCgpEZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IAouWHIg
YWNwaSA0CnNob3VsZCBiZSB2ZXJib3NlLgouUHAKCi0tLQpody5hdGEuYXRhX2RtYQpib29sCgpB
bGxvd3MgdGhlIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgb2YgRE1BIGZvcgpBVEEgZGV2aWNlcy4g
IAouUHAKCi0tLQpody5hdGEuYXRhcGlfZG1hCmJvb2wKCkFsbG93cyB0aGUgZW5hYmxpbmcgYW5k
IGRpc2FibGluZyBvZiBETUEgZm9yCmF0YXBpIGRldmljZXMsIHN1Y2ggYXMgQ0QtUk9NIGRyaXZl
cy4KLlBwCgotLS0KaHcuYXRhLnRhZ3MKCi0tLQpody5hdGEud2MKCi0tLQpody5idXMuZGV2Y3Rs
X2Rpc2FibGUKCi0tLQpody5idXMuZGV2aWNlcwoKLS0tCmh3LmJ1cy5pbmZvCgotLS0KaHcuYnVz
LnJtYW4KCi0tLQpody5ieXRlb3JkZXIKCi0tLQpody5jYXJkYnVzLmNpc19kZWJ1ZwoKLS0tCmh3
LmNhcmRidXMuZGVidWcKCi0tLQpody5jYmIuZGVidWcKCi0tLQpody5jYmIuc3RhcnRfMTZfaW8K
Ci0tLQpody5jYmIuc3RhcnRfMzJfaW8KCi0tLQpody5jYmIuc3RhcnRfbWVtb3J5CgotLS0KaHcu
ZmxvYXRpbmdwb2ludApib29sCgpSZXBvcnRzIHRydWUgaWYgdGhlIG1hY2hpbmUgaGFzIGEgZmxv
YXRpbmcgcG9pbnQgcHJvY2Vzc29yLgpUaGlzIGlzIGEgcmVhZC1vbmx5IHZhcmlhYmxlLgouUHAK
Ci0tLQpody5meHAwLmJ1bmRsZV9tYXgKaW50CgpDb250cm9scyB0aGUgcmVjZWl2ZSBpbnRlcnJ1
cHQgbWljcm9jb2RlIGJ1bmRsZSBzaXplIGxpbWl0IApmb3IgdGhlCi5YciBmeHAgNApkZXZpY2Uu
Ci5QcAoKLS0tCmh3LmZ4cDAuaW50X2RlbGF5CmludAoKQ29udHJvbHMgdGhlIHJlY2VpdmUgaW50
ZXJydXB0IG1pY3JvY29kZSBidW5kbGluZyBkZWxheSAKZm9yIHRoZQouWHIgZnhwIDQKZGV2aWNl
LgouUHAKCi0tLQpody5meHBfbm9mbG93CmJvb2wKCkRpc2FibGVzIGZsb3cgY29udHJvbCBzdXBw
b3J0IG9uCi5YciBmeHAgNApjYXJkcy4KV2hlbiBmbG93IGNvbnRyb2wgaXMgZW5hYmxlZCwgYW5k
IGlmIHRoZSBvcGVyYXRpbmcgc3lzdGVtCmRvZXMgbm90IGFja25vd2xlZGdlIHRoZSBwYWNrZXQg
YnVmZmVyIGZpbGxpbmcsCnRoZSBjYXJkIHdpbGwgYmVnaW4gdG8gZ2VuZXJhdGUgZXRoZXJuZXQg
cXVlbmNoCnBhY2tldHMsIGJ1dCBhcHBlYXJzIHRvIGdldCBpbnRvIGEgZmVlZGJhY2sKbG9vcCBv
ZiBzb21lIHNvcnQsIGhvc2luZyBsb2NhbCBzd2l0Y2hlcy4KVGhpcyBpcyBhIHdvcmthcm91bmQg
Zm9yIHRoaXMgaXNzdWUuCi5QcAoKLS0tCmh3LmZ4cF9ybnIKaW50CgpTZXQgdGhlIGFtb3VudCBv
ZiB0aW1lcyB0aGF0IGEgbm8tcmVzb3VyY2UgCmNvbmRpdGlvbiBtYXkgb2NjdXIgYmVmb3JlIHRo
ZSAKLlhyIGZ4cCA0CmRldmljZSBtYXkgcmVzdGFydC4KLlBwCgotLS0KaHcuaW5zdHJ1Y3Rpb25f
c3NlCmJvb2wKClJldHVybnMgdHJ1ZSBpZiBTU0Ugc3VwcG9ydCBpcyBlbmFibGVkIGluIHRoZSBr
ZXJuZWwuClRoaXMgaXMgYSByZWFkLW9ubHkgdmFyaWFibGUuCi5QcAoKLS0tCmh3LmludHJjbnQK
Ym9vbAoKRGlzcGxheXMgYSBsaXN0IG9mIGludGVycnVwdCBjb3VudGVycy4KVGhpcyBpcyBhIHJl
YWQtb25seSB2YXJpYWJsZS4KLlBwCgotLS0KaHcuaW50cm5hbWVzCnN0cgoKRGlzcGxheXMgYSBs
aXN0IG9mIHplcm8tdGVybWluYXRlZCBpbnRlcnJ1cHQKbmFtZXMuICBUaGlzIGlzIGEgcmVhZC1v
bmx5IHZhcmlhYmxlLgouUHAKCi0tLQpody5rYmQua2V5bWFwX3Jlc3RyaWN0X2NoYW5nZQpib29s
CgpUaGlzIHN5c2N0bCBhY3RzIGFzIGEgc29ydCBvZiBzZWN1cmUtbGV2ZWwsIGFsbG93aW5nCmNv
bnRyb2wgb2YgdGhlIGNvbnNvbGUga2V5bWFwLgpHaXZpbmcgdGhpcyBhIHZhbHVlIG9mIDEgbWVh
bnMgdGhhdCBvbmx5IHRoZQpyb290IHVzZXIgY2FuIGNoYW5nZSByZXN0cmljdGVkIGtleXMKKGxp
a2UgYm9vdCwgcGFuaWMuLi4pLgpBIHZhbHVlIG9mIDIgbWVhbnMgdGhhdCBvbmx5IHJvb3QKY2Fu
IGNoYW5nZSByZXN0cmljdGVkIGtleXMgYW5kIHJlZ3VsYXIga2V5cy4KUmVndWxhciB1c2VycyBz
dGlsbCBjYW4gY2hhbmdlIGFjY2VudHMgYW5kIGZ1bmN0aW9uIGtleXMuCkEgdmFsdWUgb2YgMyBt
ZWFucyBvbmx5IHJvb3QgY2FuIGNoYW5nZSByZXN0cmljdGVkLApyZWd1bGFyIGFuZCBhY2NlbnQg
a2V5cywgd2hpbGUgYSB2YWx1ZSBvZiA0IG1lYW5zIHRoYXQKbm8gY2hhbmdlcyB0byB0aGUga2V5
bWFwIGFyZQphbGxvd2VkIGJ5IGFueW9uZSBvdGhlciB0aGFuIHRoZSByb290IHVzZXIuCi5QcAoK
LS0tCmh3Lm1hY2hpbmUKc3RyCgpEaXNwbGF5cyB0aGUgbWFjaGluZSBjbGFzcy4gIFRoaXMgaXMg
YSByZWFkLW9ubHkgdmFyaWFibGUuCi5QcAoKLS0tCmh3Lm1hY2hpbmVfYXJjaApzdHIKCkRpc3Bs
YXlzIHRoZSBjdXJyZW50IGFyY2hpdGVjdHVyZS4gIFRoaXMgaXMgYSByZWFkLW9ubHkKdmFyaWFi
bGUuCi5QcAoKLS0tCmh3Lm1vZGVsCnN0cgoKRGlzcGxheXMgdGhlIG1vZGVsIGluZm9ybWF0aW9u
IG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcgaGFyZHdhcmUuClRoaXMgaXMgYSByZWFkLW9ubHkgdmFy
aWFibGUuCi5QcAoKLS0tCmh3Lm5jcHUKYm9vbAoKUmVwb3J0IHRoZSBudW1iZXIgb2YgQ1BVJ3Mg
aW4gdGhlIHN5c3RlbS4gIFRoaXMgaXMKYSByZWFkLW9ubHkgdmFyaWFibGUuCi5QcAoKLS0tCmh3
LnBhZ2VzaXplCmludAoKRGlzcGxheXMgdGhlIGN1cnJlbnQgCi5YciBwYWdlc2l6ZSAxIC4KVGhp
cyBpcyBhIHJlYWQtb25seSB2YXJpYWJsZS4KLlBwCgotLS0KaHcucGNjYXJkLmNpc19kZWJ1Zwpp
bnQKCkFsbG93cyBkZWJ1Z2dpbmcgdG8gYmUgdHVybmVkIG9uIG9yIG9mZiBmb3IKQ0lTLgouUHAK
Ci0tLQpody5wY2NhcmQuZGVidWcKYm9vbAoKRGV0ZXJtaW5lcyB3aGV0aGVyIG9yIG5vdCB0byB1
c2UgZGVidWdnaW5nIGZvciB0aGUKUEMgQ2FyZCBidXMgZHJpdmVyLgouUHAKCi0tLQpody5wY2ku
YWxsb3dfdW5zdXBwb3J0ZWRfaW9fcmFuZ2UKYm9vbAoKU29tZSBtYWNoaW5lcyBkbyBub3QgZGV0
ZWN0IHRoZWlyIENhcmRCdXMgc2xvdHMgY29ycmVjdGx5CmJlY2F1c2UgdGhleSB1c2UgdW5zdXBw
b3J0ZWQgSS9PIHJhbmdlcy4gIFRoaXMgCi5ObQphbGxvd3MgRnJlZUJTRCB0byB1c2UgdGhvc2Ug
cmFuZ2VzLgouUHAKCi0tLQpody5wY2kuZW5hYmxlX2lvX21vZGVzCgotLS0KaHcuc25kLnBjbTAu
YWM5N3JhdGUKCi0tLQpody5zbmQucmVwb3J0X3NvZnRfZm9ybWF0cwoKLS0tCmh3LnN5c2NvbnMu
YmVsbApib29sCgpBbGxvd3MgeW91IHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgdG8gdXNlIHRo
ZSAnYmVsbCcKd2hpbGUgdXNpbmcgdGhlIGNvbnNvbGUuICBUaGlzIGlzIHR1cm5lZCBvbiBieSBk
ZWZhdWx0LgouUHAKCi0tLQpody5zeXNjb25zLnNhdmVyLmtleWJvbmx5CmJvb2wKClRoaXMgdmFy
aWFibGUgdGVsbHMgdGhlIHN5c3RlbSB0aGF0IHRoZSBzY3JlZW4gc2F2ZXIKbWF5IG9ubHkgd2Fr
ZSB1cCBpZiB0aGUga2V5Ym9hcmQgaXMgdXNlZC4gIFRoaXMgbWVhbnMKdGhhdCBsb2cgbWVzc2Fn
ZXMgdGhhdCBhcmUgcHVzaGVkIHRvIHRoZSBjb25zb2xlIHdpbGwKbm90IGNhdXNlIHRoZSBzY3Jl
ZW4gc2F2ZXIgdG8gc3RvcCwgYW5kIGRpc3BsYXkgdGhlIGxvZwptZXNzYWdlIHdpbGwgbm90IGRp
c3BsYXkuICBUaGlzIGNhbiBiZSBkaXNhYmxlZCB0byBtaW1pYwp0aGUgYmVoYXZpb3Igb2Ygb2xk
ZXIgc3lzY29ucy4KLlBwCgotLS0KaHcuc3lzY29ucy5zY19ub19zdXNwZW5kX3Z0c3dpdGNoCmJv
b2wKCkRpc2FibGVzIHN3aXRjaGluZyBiZXR3ZWVuIHZpcnR1YWwgdGVybWluYWxzIGR1cmluZyBz
dXNwZW5kCm9yIHJlc3VtZS4gIFNlZSAKLlhyIHN5c2NvbnMgNApmb3IgbW9yZSBpbmZvcm1hdGlv
bi4KLlBwCgotLS0KaHcud2kuZGVidWcKCi0tLQpody53aS50eGVyYXRlCgotLS0Ka2Vybi5hY2N0
X2Noa2ZyZXEKCi0tLQprZXJuLmFjY3RfcmVzdW1lCgotLS0Ka2Vybi5hY2N0X3N1c3BlbmQKCi0t
LQprZXJuLmFyZ21heApib29sCgpUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdGhhdCBjYW4g
YmUKdXNlZCBpbiBhbiBhcmd1bWVudCB0bwouWHIgZXhlY3ZlIDIgLgpUaGlzIGlzIGJhc2ljYWxs
eSB0aGUgbWF4aW11bSBudW1iZXIgb2YKY2hhcmFjdGVycyB3aGljaCBjYW4gYmUgdXNlZCBpbiBh
IHNpbmdsZQpjb21tYW5kIGxpbmUuCk9uIHNvbWUgcmFyZSBvY2Nhc2lvbnMsIHRoaXMgdmFsdWUg
bmVlZHMKYWx0ZXJpbmcuCklmIHNvLCBwbGVhc2UgY2hlY2sgb3V0IHRoZQouWHIgeGFyZ3MgMQp1
dGlsaXR5LgouUHAKCi0tLQprZXJuLmJvb3RmaWxlCnN0cgoKVGhlIGtlcm5lbCB3aGljaCB3YXMg
dXNlZCB0byBib290IHRoZSBzeXN0ZW0uCi5QcAoKLS0tCmtlcm4uYm9vdHRpbWUKc3RyCgpUaGUg
dGltZSBhdCB3aGljaCB0aGUgY3VycmVudCBrZXJuZWwgYmVjYW1lIAphY3RpdmUgYWZ0ZXIgdGhl
IHN5c3RlbSBib290ZWQuICBUaGlzIGlzIGEKcmVhZC1vbmx5IHZhcmlhYmxlLgouUHAKCi0tLQpr
ZXJuLmNocm9vdF9hbGxvd19vcGVuX2RpcmVjdG9yaWVzCmJvb2wKCkRlcGVuZGluZyBvbiB0aGUg
c2V0dGluZyBvZiB0aGlzIHZhcmlhYmxlLCBvcGVuCmZpbGUgZGVzY3JpcHRvcnMgd2hpY2ggcmVm
ZXJlbmNlIGRpcmVjdG9yaWVzIHdpbGwKZmFpbC4KSWYgc2V0IHRvCi5FbSAwICwKLlhyIGNocm9v
dCA4CndpbGwgYWx3YXlzIGZhaWwgd2l0aAouRXIgRVBFUk0KaWYgdGhlcmUgYXJlIGFueSBkaXJl
Y3RvcmllcyBvcGVuLgpJZiBzZXQgdG8KLkVtIDEKKHRoZSBkZWZhdWx0KSwKLlhyIGNocm9vdCA4
CndpbGwgZmFpbCB3aXRoCi5FciBFUEVSTQppZiB0aGVyZSBhcmUgYW55IGRpcmVjdG9yaWVzIG9w
ZW4gYW5kIHRoZQpwcm9jZXNzIGlzIGFscmVhZHkgc3ViamVjdCB0byB0aGUKLlhyIGNocm9vdCA4
CnN5c3RlbSBjYWxsLgpBbnkgb3RoZXIgdmFsdWUgd2lsbCBieXBhc3MgdGhlIGNoZWNrIGZvciBv
cGVuIGRpcmVjdG9yaWVzLgpQbGVhc2Ugc2VlIHRoZQouWHIgY2hyb290IDIKbWFuIHBhZ2UgZm9y
IG1vcmUgaW5mb3JtYXRpb24uCi5QcAoKLS0tCmtlcm4uY2xvY2tyYXRlCnN0cnVjdAoKRGlzcGxh
eXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN5c3RlbSBjbG9jay4gIFRoaXMgaXMgYQpyZWFkLW9u
bHkgdmFyaWFibGUuCi5QcAoKLS0tCmtlcm4uY29uc29sZQoKLS0tCmtlcm4uY29yZWR1bXAKYm9v
bAoKRGV0ZXJtaW5lcyB3aGVyZSB0aGUga2VybmVsIHNob3VsZCBkdW1wIGEgY29yZSBmaWxlCmlu
IHRoZSBldmVudCBvZiBhIGtlcm5lbCBwYW5pYy4KLlBwCgotLS0Ka2Vybi5jb3JlZmlsZQpzdHIK
CkRlc2NyaWJlcyB0aGUgZmlsZW5hbWUgdGhhdCBhIGNvcmUgaW1hZ2Ugc2hvdWxkIGJlIHN0b3Jl
ZCB0by4KU2VlIHRoZQouWHIgY29yZSA1Cm1hbiBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9u
IHRoaXMgdmFyaWFibGUuCi5QcAoKLS0tCmtlcm4uY3BfdGltZQoKLS0tCmtlcm4uZGV2bmFtZQoK
LS0tCmtlcm4uZGV2c3RhdC5hbGwKCi0tLQprZXJuLmRldnN0YXQuZ2VuZXJhdGlvbgoKLS0tCmtl
cm4uZGV2c3RhdC5udW1kZXZzCgotLS0Ka2Vybi5kZXZzdGF0LnZlcnNpb24KCi0tLQprZXJuLmRp
c2tzCnN0cgoKRGlzcGxheSBkaXNrIGRldmljZXMgdGhhdCB0aGUga2VybmVsIGlzIGN1cnJlbnRs
eSAKYXdhcmUgb2YuClRoaXMgaXMgYSByZWFkLW9ubHkgdmFyaWFibGUuCi5QcAoKLS0tCmtlcm4u
ZG9tYWlubmFtZQpzdHIKClRoaXMgc2hvd3MgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgWVAvTklT
IGRvbWFpbi4KLlBwCgotLS0Ka2Vybi5kcmFpbndhaXQKCi0tLQprZXJuLmVsZjMyLmZhbGxiYWNr
X2JyYW5kCgotLS0Ka2Vybi5mYWxsYmFja19lbGZfYnJhbmQKCi0tLQprZXJuLmZpbGUKc3RydWN0
CgpSZXR1cm5zIHRoZSBlbnRpcmUgZmlsZSBzdHJ1Y3R1cmUuCi5QcAoKLS0tCmtlcm4uZnVuY3Rp
b25fbGlzdApzdHJ1Y3QKClJldHVybnMgYWxsIGZ1bmN0aW9ucyBuYW1lcyBpbiB0aGUga2VybmVs
LgouUHAKCi0tLQprZXJuLmdlb20uY29uZmRvdAoKLS0tCmtlcm4uZ2VvbS5jb25mdHh0CgotLS0K
a2Vybi5nZW9tLmNvbmZ4bWwKCi0tLQprZXJuLmhvc3RpZAoKLS0tCmtlcm4uaG9zdG5hbWUKc3Ry
CgpEaXNwbGF5IHRoZSBzeXN0ZW0gaG9zdG5hbWUuClRoaXMgY2FuIGJlIG1vZGlmaWVkIHdpdGgg
dGhlCi5YciBob3N0bmFtZSAxCnV0aWxpdHkuCi5QcAoKLS0tCmtlcm4uaW5pdF9wYXRoCgotLS0K
a2Vybi5pb3ZfbWF4CgotLS0Ka2Vybi5pcGMuY2x1c3RfaGl3bQoKLS0tCmtlcm4uaXBjLmNsdXN0
X2xvd20KCi0tLQprZXJuLmlwYy5tYXhzb2NrYnVmCgotLS0Ka2Vybi5pcGMubWF4c29ja2V0cwoK
LS0tCmtlcm4uaXBjLm1iX3N0YXRwY3B1CgotLS0Ka2Vybi5pcGMubWJzdGF0CgotLS0Ka2Vybi5p
cGMubWJ1Zl9oaXdtCgotLS0Ka2Vybi5pcGMubWJ1Zl9sb3dtCgotLS0Ka2Vybi5pcGMubWJ1Zl93
YWl0CgotLS0Ka2Vybi5pcGMubXNxaWRzCgotLS0Ka2Vybi5pcGMubm1iY2x1c3RlcnMKYm9vbAoK
TWF4aW11bSBudW1iZXIgb2YgbWJ1ZiBjbHVzdGVycyBhdmFpbGFibGUuClRoZSBrZXJuZWwgdXNl
cyBhIHByZWFsbG9jYXRlZCBwb29sIG9mCi5EcSBtYnVmIGNsdXN0ZXJzCmZvciB0aGUKLlhyIG1i
dWYgOQphbGxvY2F0b3IuClRoZSBwb29sIHNpemUgaXMgdHVuZWQgYnkgdGhlIGtlcm5lbCBkdXJp
bmcgYm9vdC4KVGhhdCBzaXplIGlzIHNldCB0byBhIHZhbHVlIHdoaWNoIHNlZW1zIGFwcHJvcHJp
YXRlCmZvciB0aGUgY3VycmVudCBzeXN0ZW0uCi5QcAoKLS0tCmtlcm4uaXBjLm5tYmNudAoKLS0t
Cmtlcm4uaXBjLm5tYnVmcwoKLS0tCmtlcm4uaXBjLm5zZmJ1ZnMKCi0tLQprZXJuLmlwYy5udW1v
cGVuc29ja2V0cwoKLS0tCmtlcm4uaXBjLnNvbWF4Y29ubgppbnQKClRoZSBtYXhpbXVtIHBlbmRp
bmcgc29ja2V0IGNvbm5lY3Rpb24gcXVldWUgc2l6ZS4KLlBwCgotLS0Ka2Vybi5pcGMuemVyb19j
b3B5LnJlY2VpdmUKYm9vbAoKV2hlbiBzZXQgdG8gYSBub24temVybyB2YWx1ZSwgemVybyBjb3B5
IGlzCmVuYWJsZWQgZm9yIHJlY2VpdmVkIHBhY2tldHMuClRoaXMgcmVkdWNlcyBjb3B5aW5nIG9m
IGRhdGEgYXJvdW5kIGZvcgpvdXRnb2luZyBwYWNrZXRzIGFuZCBjYW4gc2lnbmlmaWNhbnRseQpp
bXByb3ZlIHRocm91Z2hwdXQgZm9yIG5ldHdvcmsgY29ubmVjdGlvbnMuCi5QcAoKLS0tCmtlcm4u
aXBjLnplcm9fY29weS5zZW5kCmJvb2wKCldoZW4gc2V0IHRvIGEgbm9uLXplcm8gdmFsdWUsIHpl
cm8gY29weSBpcwplbmFibGVkIGZvciBzZW50IHBhY2tldHMuClRoaXMgcmVkdWNlcyBjb3B5aW5n
IG9mIGRhdGEgYXJvdW5kIGZvciBvdXRnb2luZwpwYWNrZXRzIGFuZCBjYW4gc2lnbmlmaWNhbnRs
eSBpbXByb3ZlIHRocm91Z2hwdXQKZm9yIG5ldHdvcmsgY29ubmVjdGlvbnMuCi5QcAoKLS0tCmtl
cm4uam9iX2NvbnRyb2wKCi0tLQprZXJuLmtxX2NhbGxvdXRtYXgKCi0tLQprZXJuLmxhc3RwaWQK
Ym9vbAoKRGlzcGxheXMgdGhlIGxhc3QgUElEIHVzZWQgYnkgYSBwcm9jZXNzLiAgClRoaXMgaXMg
YSByZWFkLW9ubHkgdmFyaWFibGUuCi5QcAoKLS0tCmtlcm4ubG9nc2lnZXhpdApib29sCgpUZWxs
cyB0aGUga2VybmVsIHdoZXRoZXIgb3Igbm90IHRvIGxvZyBmYXRhbCBzaWduYWwgZXhpdHMuCi5Q
cAoKLS0tCmtlcm4ubWFsbG9jCnN0cgoKRGlzcGxheXMgaG93IG1lbW9yeSBpcyBjdXJyZW50bHkg
YmVpbmcgYWxsb2NhdGVkLgpUaGlzIGlzIGEgcmVhZC1vbmx5IHZhcmlhYmxlLgouUHAKCi0tLQpr
ZXJuLm1heGZpbGVzCmJvb2wKClRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWxlcyBhbGxvd2VkIGZv
ciBhbGwgdGhlCnByb2Nlc3NlcyBvZiB0aGUgcnVubmluZyBrZXJuZWwuCllvdSBjYW4gb3ZlcnJp
ZGUgdGhlIGRlZmF1bHQgdmFsdWUgd2hpY2ggdGhlIAprZXJuZWwgY2FsY3VsYXRlcyBieSBleHBs
aWNpdGx5IHNldHRpbmcgdGhpcyB0bwphIG5vbi16ZXJvIHZhbHVlLgpBbHNvIHNlZSB0aGUKLlhy
IHR1bmluZyA3Cm1hbiBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uLgouUHAKCi0tLQprZXJuLm1h
eGZpbGVzcGVycHJvYwpib29sCgpUaGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZXMgYW55IG9uZSBw
cm9jZXNzIGNhbiBvcGVuLgpTZWUgdGhlCi5YciBwcyAxCnV0aWxpdHkgZm9yIG1vcmUgaW5mb3Jt
YXRpb24gb24gbW9uaXRvcmluZyBwcm9jZXNzZXMuCi5QcAoKLS0tCmtlcm4ubWF4cHJvYwppbnQK
ClRoZSBtYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgdGhhdCB0aGUgc3lzdGVtCmNhbiBiZSBy
dW5uaW5nIGF0IGFueSB0aW1lLgpTZWUgdGhlCi5YciBwcyAxCnV0aWxpdHkgZm9yIG1vcmUgaW5m
b3JtYXRpb24gb24gbW9uaXRvcmluZyBwcm9jZXNzZXMuCi5QcAoKLS0tCmtlcm4ubWF4cHJvY3Bl
cnVpZAppbnQKClRoZSBtYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgb25lIHVzZXIgSUQgY2Fu
IHJ1bi4KU2VlIHRoZQouWHIgcHMgMQp1dGlsaXR5IGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIG1v
bml0b3JpbmcgcHJvY2Vzc2VzLgouUHAKCi0tLQprZXJuLm1heHVzZXJzCmludAoKQ29udHJvbHMg
dGhlIHNjYWxpbmcgb2YgYSBudW1iZXIgb2Ygc3RhdGljIHN5c3RlbSB0YWJsZXMsIGluY2x1ZGlu
ZwpkZWZhdWx0cyBmb3IgdGhlIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXMsIHNpemluZyBv
ZiBuZXR3b3JrCm1lbW9yeSByZXNvdXJjZXMsIGV0Yy4KU2VlIHRoZQouWHIgdHVuaW5nIDcKbWFu
IHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb24uClRoaXMKLk5tCmNhbm5vdCBiZSBzZXQgdXNpbmcK
LlhyIHN5c2N0bCA4IC4KVXNlIAouWHIgbG9hZGVyIDgKaW5zdGVhZCB0byBzZXQgdGhpcyBhdCBi
b290IHRpbWUuCi5QcAoKLS0tCmtlcm4ubWF4dm5vZGVzCmJvb2wKClRoZSBtYXhpbXVtIG51bWJl
ciBvZgouRW0gdm5vZGVzCih2aXJ0dWFsIGZpbGUgc3lzdGVtIG5vZGVzKQp0aGUgc3lzdGVtIGNh
biBoYXZlIG9wZW4gc2ltdWx0YW5lb3VzbHkuCi5QcAoKLS0tCmtlcm4ubWludm5vZGVzCmJvb2wK
ClRoZSBtaW5pbXVuIG51bWJlciBvZgouRW0gdm5vZGVzCih2aXJ0dWFsIGZpbGUgc3lzdGVtIG5v
ZGVzKQp0aGUgc3lzdGVtIGNhbiBoYXZlIG9wZW4gc2ltdWx0YW5lb3VzbHkuCi5QcAoKLS0tCmtl
cm4ubW9kdWxlX3BhdGgKc3RyCgpUaGlzIAouTm0KaG9sZHMgYSBjb2xvbi1zZXBhcmF0ZWQgbGlz
dCBvZiBkaXJlY3RvcmllcyBpbiB3aGljaCB0aGUKa2VybmVsIHdpbGwgc2VhcmNoIGZvciBsb2Fk
YWJsZSBrZXJuZWwgbW9kdWxlcy4KVGhpcyBwYXRoIGlzIHNlYXJjaCB3aGVuIHVzaW5nIGNvbW1h
bmRzIHN1Y2ggYXMKLlhyIGtsZGxvYWQgOCAKYW5kIAouWHIga2xkdW5sb2FkIDggLgouUHAKCi0t
LQprZXJuLm1zZ2J1ZgoKLS0tCmtlcm4ubXNnYnVmX2NsZWFyCgotLS0Ka2Vybi5uZ3JvdXBzCmlu
dAoKQ29udGFpbnMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGdyb3VwcyB0aGF0IGEKdXNlciBtYXkg
YmVsb25nIHRvLgpUaGlzIGlzIGEgcmVhZC1vbmx5IHZhcmlhYmxlLgouUHAKCi0tLQprZXJuLm9w
ZW5maWxlcwpib29sCgpTaG93cyB0aGUgY3VycmVudCBhbW91bnQgb2Ygc3lzdGVtLXdpZGUKb3Bl
biBmaWxlcy4KVGhpcyBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uCndpdGgKLlZh
IGtlcm4ubWF4ZmlsZXMKZm9yIHR1bmluZyB5b3VyIHN5c3RlbS4KVGhpcyBpcyBhIHJlYWQtb25s
eSB2YXJpYWJsZS4KLlBwCgotLS0Ka2Vybi5vc3JlbGRhdGUKCi0tLQprZXJuLm9zcmVsZWFzZQpz
dHIKCkRpc3BsYXlzIHRoZSBjdXJyZW50IHZlcnNpb24gb2YKLkZ4CnJ1bm5pbmcuClRoaXMgaXMg
YSByZWFkLW9ubHkgdmFyaWFibGUuCgotLS0Ka2Vybi5vc3JldmlzaW9uCgotLS0Ka2Vybi5vc3R5
cGUKc3RyCgpBbHRlciB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBvcGVyYXRpbmcgc3lzdGVtLgpD
aGFuZ2luZyB0aGlzIHdpbGwgY2hhbmdlIHRoZSBvdXRwdXQgZnJvbQp0aGUKLlhyIHVuYW1lIDEK
dXRpbGl0eS4KQ2hhbmdpbmcgdGhlIGRlZmF1bHQgaXMgbm90IHJlY29tbWVuZGVkLgouUHAKCi0t
LQprZXJuLnBvc2l4MXZlcnNpb24KCi0tLQprZXJuLnByb2MuYWxsCgotLS0Ka2Vybi5wcm9jLmFy
Z3MKaW50CgpBbGxvd3MgYSBwcm9jZXNzIHRvIHJldHJpZXZlIHRoZSBhcmd1bWVudCBsaXN0Cm9y
IHByb2Nlc3MgdGl0bGUgZm9yIGFub3RoZXIgcHJvY2VzcyB3aXRob3V0IApsb29raW5nIGluIHRo
ZSBhZGRyZXNzIHNwYWNlIG9mIGFub3RoZXIgcHJvZ3JhbS4KVGhpcyBpcyBhIHJlYWQtb25seSB2
YXJpYWJsZS4KLlBwCgotLS0Ka2Vybi5wcm9jLnBncnAKCi0tLQprZXJuLnByb2MucGlkCgotLS0K
a2Vybi5wcm9jLnJ1aWQKCi0tLQprZXJuLnByb2MudHR5CgotLS0Ka2Vybi5wcm9jLnVpZAoKLS0t
Cmtlcm4ucHNfYXJnc29wZW4KYm9vbAoKQnkgc2V0dGluZyB0aGlzIHRvIDAsIGNvbW1hbmQgbGlu
ZSBhcmd1bWVudHMgYXJlIGhpZGRlbiAKZm9yIHByb2Nlc3NlcyB3aGljaCB5b3UgYXJlIG5vdCBy
dW5uaW5nLgpUaGlzIGlzIHVzZWZ1bCBvbiBtdWx0aS11c2VyIG1hY2hpbmVzIHdoZXJlIHRoaW5n
cwpsaWtlIHBhc3N3b3JkcyBtaWdodCBhY2NpZGVudGFsbHkgYmUgYWRkZWQgdG8gY29tbWFuZAps
aW5lIHByb2dyYW1zLgouUHAKCi0tLQoKa2Vybi5xdWFudHVtCgotLS0Ka2Vybi5yYW5kb20uc3lz
LmJ1cnN0CgotLS0Ka2Vybi5yYW5kb20uc3lzLmhhcnZlc3QuZXRoZXJuZXQKCi0tLQprZXJuLnJh
bmRvbS5zeXMuaGFydmVzdC5pbnRlcnJ1cHQKCi0tLQprZXJuLnJhbmRvbS5zeXMuaGFydmVzdC5w
b2ludF90b19wb2ludAoKLS0tCmtlcm4ucmFuZG9tLnN5cy5oYXJ2ZXN0LnN3aQoKLS0tCmtlcm4u
cmFuZG9tLnN5cy5zZWVkZWQKCi0tLQprZXJuLnJhbmRvbS55YXJyb3cuYmlucwoKLS0tCmtlcm4u
cmFuZG9tLnlhcnJvdy5mYXN0dGhyZXNoCgotLS0Ka2Vybi5yYW5kb20ueWFycm93LmdlbmdhdGVp
bnRlcnZhbAoKLS0tCmtlcm4ucmFuZG9tLnlhcnJvdy5zbG93b3ZlcnRocmVzaAoKLS0tCmtlcm4u
cmFuZG9tLnlhcnJvdy5zbG93dGhyZXNoCgotLS0Ka2Vybi5yYW5kb21waWQKCi0tLQprZXJuLnJv
b3RkZXYKCi0tLQprZXJuLnNhdmVkX2lkcwoKLS0tCmtlcm4uc2VjdXJlbGV2ZWwKYm9vbAoKVGhl
IGN1cnJlbnQga2VybmVsIHNlY3VyaXR5IGxldmVsLgpTZWUgdGhlCi5YciBpbml0IDgKbWFudWFs
IHBhZ2UgZm9yIGEgZ29vZCBkZXNjcmlwdGlvbgphYm91dCB3aGF0IGEgc2VjdXJpdHkgbGV2ZWwg
aXMuCi5QcAoKLS0tCmtlcm4uc3VnaWRfY29yZWR1bXAKYm9vbAoKQnkgZGVmYXVsdCwgYSBwcm9j
ZXNzIHRoYXQgY2hhbmdlcyB1c2VyIG9yIGdyb3VwIGNyZWRlbnRpYWxzIHdoZXRoZXIKcmVhbCBv
ciBlZmZlY3RpdmUgd2lsbCBub3QgY3JlYXRlIGEgY29yZWZpbGUuClRoaXMgYmVoYXZpb3IgY2Fu
IGJlIGNoYW5nZWQgdG8gZ2VuZXJhdGUgYSBjb3JlIGR1bXAgYnkKc2V0dGluZyB0aGlzIHZhcmlh
YmxlIHRvIDEuCi5QcAoKLS0tCmtlcm4uc3luY19vbl9wYW5pYwpib29sCgpJbiB0aGUgZXZlbnQg
b2YgYSBwYW5pYywgdGhpcyB2YXJpYWJsZSBjb250cm9scyB3aGV0aGVyIG9yIG5vdCB0aGUKc3lz
dGVtIHNob3VsZCB0cnkgYW5kIAouWHIgc3luYyA4IC4KSW4gc29tZSBjaXJjdW1zdGFuY2VzLCB0
aGlzIGNvdWxkIGNhdXNlIGEgZG91YmxlIHBhbmljLCBhbmQgYXMgYSByZXN1bHQsCnRoaXMgbWF5
IGJlIHR1cm5lZCBvZmYgaWYgbmVlZGVkLgouUHAKCi0tLQprZXJuLnRocmVhZHMuZGVidWcKYm9v
bAoKRGV0ZXJtaW5lcyB3aGV0aGVyIHRvIHVzZSBkZWJ1Z2dpbmcgZm9yIGtlcm5lbCB0aHJlYWRz
LgpUaGlzIGlzIHVzZWZ1bCBmb3IgdGVzdGluZy4KLlBwCgotLS0Ka2Vybi50aHJlYWRzLm1heF9n
cm91cHNfcGVyX3Byb2MKCi0tLQprZXJuLnRocmVhZHMubWF4X3RocmVhZHNfaGl0cwoKLS0tCmtl
cm4udGhyZWFkcy5tYXhfdGhyZWFkc19wZXJfcHJvYwoKLS0tCmtlcm4udGhyZWFkcy52aXJ0dWFs
X2NwdQoKLS0tCmtlcm4udHR5X25pbgoKLS0tCmtlcm4udHR5X25vdXQKCi0tLQprZXJuLnR0eXMK
Ym9vbAoKVXNlZCBpbnRlcm5hbGx5IGJ5IHRoZSAKLlhyIHBzdGF0IDgKY29tbWFuZC4KVGhpcyBp
cyBhIHJlYWQtb25seSB2YXJpYWJsZS4KLlBwCgotLS0Ka2Vybi52ZXJzaW9uCnN0cgoKRGlzcGxh
eXMgdGhlIGN1cnJlbnQga2VybmVsIHZlcnNpb24gaW5mb3JtYXRpb24uClRoaXMgaXMgYSByZWFk
LW9ubHkgdmFyaWFibGUuCi5QcAoKLS0tCm1hY2hkZXAuYWNwaV9yb290CgotLS0KbWFjaGRlcC5j
cHVfaWRsZV9obHQKYm9vbAoKSGFsdCBpZGxlIENQVXMuClRoaXMgaXMgZ29vZCBmb3IgYW4gU01Q
IHN5c3RlbS4KLlBwCgotLS0KbWFjaGRlcC5kaXNhYmxlX210cnJzCgotLS0KbWFjaGRlcC5ndWVz
c2VkX2Jvb3RkZXYKCi0tLQptYWNoZGVwLmhsdF9jcHVzCmJvb2wKClRoaXMgb3B0aW9uIHdpbGwg
cGVybWl0IHRoZSBoYWx0aW5nCm9mIENQVXMuCkZvciBpbnN0YW5jZSwgdG8gaGFsdCBDUFUgMCwK
bWFjaGRlcC5odGxfY3B1cz0xIGNhbiBiZSB1c2VkLgpJdCBpcyBwb3NzaWJsZSB0byBoYWx0IHR3
byBDUFVzIGJ5IHByb3ZpZGluZwphIGNvbW1hIHNlcGFyYXRlZCBsaXN0IChpLmU6IGNwdTEsY3B1
MikuCi5QcAoKLS0tCm1hY2hkZXAuaGx0X2xvZ2ljYWxfY3B1cwpib29sCgpUaGlzIGtlZXBzIHRo
ZSBsb2dpY2FsIENQVXMgaGFsdGVkIGluIHRoZSBpZGxlIGxvb3AuCkJ5IGRlZmF1bHQgdGhlIGxv
Z2ljYWwgQ1BVcyBhcmUgaGFsdGVkIGF0IHN0YXJ0dXAuCkl0IGlzIGFsc28gcG9zc2libGUgdG8g
aGFsdCBhbnkgY3B1IGluIHRoZSBpZGxlIGxvb3Agbm93CnVzaW5nIG1hY2hkZXAuaGx0X2NwdXMu
Ci5QcAoKLS0tCm1hY2hkZXAucGFuaWNfb25fbm1pCgotLS0KbWFjaGRlcC5zaW90cwoKLS0tCm5l
dC5pbmV0LmFjY2YudW5sb2FkYWJsZQoKLS0tCm5ldC5pbmV0LmljbXAuYm1jYXN0ZWNobwoKLS0t
Cm5ldC5pbmV0LmljbXAuZHJvcF9yZWRpcmVjdAoKLS0tCm5ldC5pbmV0LmljbXAuaWNtcGxpbQoK
LS0tCm5ldC5pbmV0LmljbXAuaWNtcGxpbV9vdXRwdXQKCi0tLQpuZXQuaW5ldC5pY21wLmxvZ19y
ZWRpcmVjdAoKLS0tCm5ldC5pbmV0LmljbXAubWFza2Zha2UKCi0tLQpuZXQuaW5ldC5pY21wLm1h
c2tyZXBsCgotLS0KbmV0LmluZXQuaXAuYWNjZXB0X3NvdXJjZXJvdXRlCmJvb2wKCkNvbnRyb2xz
IGZvcndhcmRpbmcgb2Ygc291cmNlLXJvdXRlZCBJUCBwYWNrZXRzLgouUHAKCi0tLQpuZXQuaW5l
dC5pcC5jaGVja19pbnRlcmZhY2UKYm9vbAoKVGhpcwouTm0gCnZlcmlmaWVzIHRoYXQgcGFja2V0
cyBhcnJpdmUgb24gdGhlIGNvcnJlY3QgaW50ZXJmYWNlcy4gIAouUHAKCi0tLQpuZXQuaW5ldC5p
cC5mYXN0Zm9yd2FyZGluZwpib29sCgpXaGVuIGZhc3QgZm9yd2FyZGluZyBpcyBlbmFibGVkLCBJ
UCBwYWNrZXRzIGFyZSBmb3J3YXJkZWQgZGlyZWN0bHkgdG8KdGhlIGFwcHJvcHJpYXRlIG5ldHdv
cmsgaW50ZXJmYWNlIHdpdGggYSBtaW5pbWFsIHZhbGlkaXR5IGNoZWNraW5nLAp3aGljaCBncmVh
dGx5IGltcHJvdmVzIHRocm91Z2hwdXQuClBsZWFzZSBzZWUgdGhlCi5YciBpbmV0IDQKbWFuIHBh
Z2UgZm9yIG1vcmUgaW5mb3JtYXRpb24uCi5QcAoKLS0tCm5ldC5pbmV0LmlwLmZvcndhcmRpbmcK
Ym9vbAoKQWN0IGFzIGEgZ2F0ZXdheSBtYWNoaW5lIGFuZCBmb3J3YXJkIHBhY2tldHMuClRoaXMg
Y2FuIGFsc28gYmUgY29uZmlndXJlZCB1c2luZyB0aGUKZ2F0ZXdheV9lbmFibGUgdmFsdWUgaW4g
Ci5QYSAvZXRjL3JjLmNvbmYKLlBwCgotLS0KbmV0LmluZXQuaXAuaW50cl9xdWV1ZV9kcm9wcwoK
LS0tCm5ldC5pbmV0LmlwLmludHJfcXVldWVfbWF4bGVuCgotLS0KbmV0LmluZXQuaXAua2VlcGZh
aXRoCmJvb2wKClRoaXMgaXMgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIAouWHIgZmFpdGhkIDgK
dG8gY29udHJvbCB0aGUgRkFJVEggSVB2Ni92NCB0cmFuc2xhdG9yIGRhZW1vbi4KLlBwCgotLS0K
bmV0LmluZXQuaXAubWF4ZnJhZ3BhY2tldHMKCi0tLQpuZXQuaW5ldC5pcC5tYXhmcmFnc3BlcnBh
Y2tldAoKLS0tCm5ldC5pbmV0LmlwLnJlZGlyZWN0CmJvb2wKCkNvbnRyb2xzIHRoZSBzZW5kaW5n
IG9mIElDTVAgcmVkaXJlY3RzIGluIHJlc3BvbnNlIHRvIHVuZm9yd2FyZGFibGUgSVAKcGFja2V0
cy4KLlBwCgotLS0KbmV0LmluZXQuaXAucnRleHBpcmUKaW50CgpMaWZldGltZSBpbiBzZWNvbmRz
IG9mIHByb3RvY29sLWNsb25lZCBJUCByb3V0ZXMgYWZ0ZXIgdGhlIGxhc3QKcmVmZXJlbmNlIGRy
b3BzIChkZWZhdWx0IG9uZSBob3VyKS4gIAouUHAKCi0tLQpuZXQuaW5ldC5pcC5ydG1heGNhY2hl
CmludAoKVHJpZ2dlciBsZXZlbCBvZiBjYWNoZWQsIHVucmVmZXJlbmNlZCwgcHJvdG9jb2wtY2xv
bmVkIApyb3V0ZXMgd2hpY2ggaW5pdGlhdGVzIGR5bmFtaWMgYWRhcHRhdGlvbi4KLlBwCgotLS0K
bmV0LmluZXQuaXAucnRtaW5leHBpcmUKaW50CgpTZWUgCi5YciBpbmV0IDQKZm9yIG1vcmUgaW5m
b3JtYXRpb24uCi5QcAoKLS0tCm5ldC5pbmV0LmlwLnNlbmRzb3VyY2VxdWVuY2gKYm9vbAoKVGhp
cyAKLk5tCmVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIHRyYW5zbWlzc2lvbiBvZgpzb3VyY2UgcXVl
bmNoIHBhY2tldHMuCi5QcAoKLS0tCm5ldC5pbmV0LmlwLnNvdXJjZXJvdXRlCmJvb2wKCkRldGVy
bWluZXMgd2hldGhlciBvciBub3Qgc291cmNlIHJvdXRlZCBJUCBwYWNrZXRzCnNob3VsZCBiZSBm
b3J3YXJkZWQuCi5QcAoKLS0tCm5ldC5pbmV0LmlwLnN0YXRzCgotLS0KbmV0LmluZXQuaXAudHRs
CmludAoKVGhlIFRUTCAodGltZS10by1saXZlKSB0byB1c2UgZm9yIG91dGdvaW5nIHBhY2tldHMu
Ci5QcAoKLS0tCm5ldC5pbmV0LnJhdy5tYXhkZ3JhbQoKLS0tCm5ldC5pbmV0LnJhdy5vbGRkaXZl
cnRlcnJvcgoKLS0tCm5ldC5pbmV0LnJhdy5wY2JsaXN0CgotLS0KbmV0LmluZXQucmF3LnJlY3Zz
cGFjZQoKLS0tCm5ldC5pbmV0LnRjcC5hbHdheXNfa2VlcGFsaXZlCmJvb2wKCkRldGVybWluZXMg
d2hldGhlciBvciBub3QgdG8gYXR0ZW1wdCB0byBkZXRlY3QgZGVhZCBUQ1AKY29ubmVjdGlvbnMg
Ynkgc2VuZGluZyAna2VlcGFsaXZlcycgaW50ZXJtaXR0ZW50bHkuICBUaGlzIAppcyBlbmFibGVk
IGJ5IGRlZmF1bHQgYW5kIGNhbiBhbHNvIGJlIGNvbmZpZ3VyZWQgdXNpbmcgdGhlCnRjcF9rZWVw
YWxpdmUgdmFsdWUgaW4gCi5QYSAvZXRjL3JjLmNvbmYKLlBwCgotLS0KbmV0LmluZXQudGNwLmJs
YWNraG9sZQpib29sCgpNYW5pcHVsYXRlcyBzeXN0ZW0gYmVoYXZpb3Igd2hlbgpjb25uZWN0aW9u
IHJlcXVlc3RzIGFyZSByZWNlaXZlZCBvbiBhIApUQ1AgcG9ydCB3aXRob3V0IGEgc29ja2V0IGxp
c3RlbmluZy4KU2VlIHRoZSAKLlhyIGJsYWNraG9sZSA0Cm1hbiBwYWdlIGZvciBtb3JlIGluZm9y
bWF0aW9uLgouUHAKCi0tLQpuZXQuaW5ldC50Y3AuZGVsYWNrdGltZQoKLS0tCm5ldC5pbmV0LnRj
cC5kZWxheWVkX2Fjawpib29sCgpIaXN0b3JpY2FsbHkgc3BlYWtpbmcsIHRoaXMgZmVhdHVyZSB3
YXMgZGVzaWduZWQgdG8gYWxsb3cgdGhlCmFja25vd2xlZGdtZW50IHRvIHRyYW5zbWl0dGVkIGRh
dGEgdG8gYmUgcmV0dXJuZWQgYWxvbmcgd2l0aCB0aGUKcmVzcG9uc2UuICBTZWUgdGhlCi5YciB0
dW5pbmcgNwptYW4gcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLlBwCgotLS0KbmV0LmluZXQu
dGNwLmRvX3RjcGRyYWluCgotLS0KbmV0LmluZXQudGNwLmdldGNyZWQKCi0tLQpuZXQuaW5ldC50
Y3AuaWNtcF9tYXlfcnN0CgotLS0KbmV0LmluZXQudGNwLmluZmxpZ2h0X2RlYnVnCmJvb2wKCkNv
bnRyb2wgZGVidWdnaW5nIGZvciB0aGUKLlZhIG5ldC5pbmV0LnRjcC5pbmZsaWdodF9lbmFibGUK
Lk5tIC4KUGxlYXNlIHNlZSB0aGUKLlhyIHR1bmluZyA3Cm1hbiBwYWdlIGZvciBtb3JlIGluZm9y
bWF0aW9uLgouUHAKCi0tLQpuZXQuaW5ldC50Y3AuaW5mbGlnaHRfZW5hYmxlCmJvb2wKClR1cm5z
IG9uIGJhbmR3aWR0aCBkZWxheSBwcm9kdWN0IGxpbWl0aW5nIGZvciBhbGwKVENQIGNvbm5lY3Rp
b25zLiAgUGxlYXNlIHNlZSB0aGUKLlhyIHR1bmluZyA3Cm1hbiBwYWdlIGZvciBtb3JlIGluZm9y
bWF0aW9uLgouUHAKCi0tLQpuZXQuaW5ldC50Y3AuaW5mbGlnaHRfbWF4CmJvb2wKCi5FbSBkb3Vi
bGUgY2hlY2sKVGhlIG1heGltdW0gYW1vdW50IG9mIGRhdGEgdGhhdCBtYXkgYmUgcXVldWVkIGZv
ciAKYmFuZHdpZHRoIGRlbGF5IHByb2R1Y3QgbGltaXRpbmcuCi5QcAoKLS0tCm5ldC5pbmV0LnRj
cC5pbmZsaWdodF9taW4KYm9vbAoKLkVtIGRvdWJsZSBjaGVjawpUaGUgbWluaW11bSBhbW91bnQg
b2YgZGF0YSB0aGF0IG1heSBiZSBxdWV1ZWQgZm9yIApiYW5kd2lkdGggZGVsYXkgcHJvZHVjdCBs
aW1pdGluZy4KLlBwCgotLS0KbmV0LmluZXQudGNwLmluZmxpZ2h0X3N0YWIKYm9vbAoKVGhpcyBw
YXJhbWV0ZXIgcmVwcmVzZW50cyB0aGUgbWF4aW1hbCBwYWNrZXRzIAphZGRlZCB0byB0aGUgYmFu
ZHdpZHRoIGRlbGF5IHByb2R1Y3Qgd2luZG93CmNhbGN1bGF0aW9uLiAgQ2hhbmdpbmcgdGhpcyBp
cyBub3QgcmVjb21tZW5kZWQuCi5QcAoKLS0tCm5ldC5pbmV0LnRjcC5pc25fcmVzZWVkX2ludGVy
dmFsCgotLS0KbmV0LmluZXQudGNwLmxvY2FsX3Nsb3dzdGFydF9mbGlnaHRzaXplCgotLS0KbmV0
LmluZXQudGNwLmxvZ19pbl92YWluCmJvb2wKCkFsbG93cyB0aGUgc3lzdGVtIHRvIGxvZyBjb25u
ZWN0aW9ucyB0byBUQ1AKcG9ydHMgdGhhdCBkbyBub3QgaGF2ZSBzb2NrZXRzIGxpc3RlbmluZy4K
VGhpcyB2YXJpYWJsZSBjYW4gYWxzbyBiZSB0dW5lZCBieSBjaGFuZ2luZyAKdGhlIHZhbHVlIGZv
ciBsb2dfaW5fdmFpbgppbiAKLlBhIC9ldGMvcmMuY29uZgouUHAKCi0tLQpuZXQuaW5ldC50Y3Au
bWlubXNzCmJvb2wKCkVuYWJsZSBmb3IgbmV0d29yayBsaW5rIG9wdGltaXphdGlvbiBUQ1AgY2Fu
IGFkanVzdCBpdHMgTVNTIGFuZCB0aHVzCnBhY2tldCBzaXplIGFjY29yZGluZyB0byB0aGUgb2Jz
ZXJ2ZWQgcGF0aCBNVFUuICBUaGlzIGlzIGRvbmUKZHluYW1pY2FsbHkgYmFzZWQgb24gZmVlZGJh
Y2sgZnJvbSB0aGUgcmVtb3RlIGhvc3QgYW5kIG5ldHdvcmsKY29tcG9uZW50cyBhbG9uZyB0aGUg
cGFja2V0IHBhdGguICBUaGlzIGluZm9ybWF0aW9uIGNhbiBiZQphYnVzZWQgdG8gcHJldGVuZCBh
biBleHRyZW1lbHkgbG93IHBhdGggTVRVLgouUHAKCi0tLQpuZXQuaW5ldC50Y3AubWlubXNzb3Zl
cmxvYWQKYm9vbAoKVGhlIFBTUyByYXRlIGZvciB0aGUKLlZhIG5ldC5pbmV0LnRjcC5taW5tc3MK
c3lzY3RsLgpTZXR0aW5nIHRoaXMgd2lsbCBmb3JjZSBwYWNrZXRzIHRvIGJlIHJlc2V0CmFuZCBk
cm9wcGVkLCB0aGlzIHNob3VsZCBoaW5kZXIgdGhlIGF2YWlsYWJpbGl0eQpvZiBEb1MgYXR0YWNr
cyBvbiBXV1cgc2VydmVycyB1c2luZyBQT1NUIGF0dGFja3MuCi5QcAoKLS0tCm5ldC5pbmV0LnRj
cC5tc2wKCi0tLQpuZXQuaW5ldC50Y3AubXNzZGZsdApib29sCgpUaGlzIGlzIHRoZSBkZWZhdWx0
IFRDUCBNYXhpbXVtIFNlZ21lbnQgU2l6ZQpmb3IgVENQIHBhY2tldHMuICBUaGUgZGVmYXVsdCBz
ZXR0aW5nIGlzIHJlY29tbWVuZGVkCmluIG1vc3QgY2FzZXMuCi5QcAoKLS0tCm5ldC5pbmV0LnRj
cC52Nm1zc2RmbHQKYm9vbAoKVGhpcyBpcyB0aGUgZGVmYXVsdCBUQ1AgTWF4aW11bSBTZWdtZW50
IFNpemUKZm9yIFRDUCBJUHY2IHBhY2tldHMuICBUaGUgZGVmYXVsdCBzZXR0aW5nIGlzIHJlY29t
bWVuZAppbiBtb3N0IGNhc2VzLgouUHAKCi0tLQpuZXQuaW5ldC50Y3AubmV3cmVubwoKLS0tCm5l
dC5pbmV0LnRjcC5wYXRoX210dV9kaXNjb3ZlcnkKCi0tLQpuZXQuaW5ldC50Y3AucGNiY291bnQK
Ci0tLQpuZXQuaW5ldC50Y3AucGNibGlzdAoKLS0tCm5ldC5pbmV0LnRjcC5yZWN2c3BhY2UKYm9v
bAoKVGhpcyB2YXJpYWJsZXMgY29udHJvbHMgdGhlIGFtb3VudCBvZiByZWNlaXZlIApidWZmZXIg
c3BhY2UgZm9yIGFueSBnaXZlbiBUQ1AgY29ubmVjdGlvbi4gIFRoaXMKY2FuIGJlIHBhcnRpY3Vs
YXJseSB1c2VmdWwgd2hlbiB0dW5pbmcgbmV0d29yayAKYXBwbGljYXRpb25zLiAgU2VlIHRoZSAK
LlhyIHR1bmluZyA3Cm1hbiBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uLgouUHAKCi0tLQpuZXQu
aW5ldC50Y3AucmV4bWl0X21pbgoKLS0tCm5ldC5pbmV0LnRjcC5yZXhtaXRfc2xvcAoKLS0tCm5l
dC5pbmV0LnRjcC5yZmMxMzIzCmJvb2wKCkRldGVybWluZXMgd2hldGhlciBzdXBwb3J0IGZvciBS
RkMxMzIzIChUQ1AgRXh0ZW5zaW9ucyAKZm9yIEhpZ2ggUGVyZm9ybWFuY2UpIHNob3VsZCBiZSBl
bmFibGVkLgpUaGlzIHZhcmlhYmxlIGNhbiBhbHNvIGJlIHR1bmVkIGJ5IGNoYW5naW5nIHRoZSB2
YWx1ZQpmb3IgdGNwX2V4dGVuc2lvbnMgaW4KLlBhIC9ldGMvcmMuY29uZgouUHAKCi0tLQpuZXQu
aW5ldC50Y3AucmZjMTY0NAoKLS0tCm5ldC5pbmV0LnRjcC5yZmMzMDQyCgotLS0KbmV0LmluZXQu
dGNwLnJmYzMzOTAKCi0tLQpuZXQuaW5ldC50Y3Auc2VuZHNwYWNlCmJvb2wKClRoaXMgdmFyaWFi
bGVzIGNvbnRyb2xzIHRoZSBhbW91bnQgb2Ygc2VuZCAKYnVmZmVyIHNwYWNlIGZvciBhbnkgZ2l2
ZW4gVENQIGNvbm5lY3Rpb24uICBUaGlzCmNhbiBiZSBwYXJ0aWN1bGFybHkgdXNlZnVsIHdoZW4g
dHVuaW5nIG5ldHdvcmsgCmFwcGxpY2F0aW9ucy4gIFNlZSB0aGUgCi5YciB0dW5pbmcgNwptYW51
YWwgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLlBwCgoKLS0tCm5ldC5pbmV0LnRjcC5zbG93
c3RhcnRfZmxpZ2h0c2l6ZQoKLS0tCm5ldC5pbmV0LnRjcC5zdGF0cwoKLS0tCm5ldC5pbmV0LnRj
cC5zeW5jYWNoZS5idWNrZXRsaW1pdAoKLS0tCm5ldC5pbmV0LnRjcC5zeW5jYWNoZS5jYWNoZWxp
bWl0CgotLS0KbmV0LmluZXQudGNwLnN5bmNhY2hlLmNvdW50CgotLS0KbmV0LmluZXQudGNwLnN5
bmNhY2hlLmhhc2hzaXplCgotLS0KbmV0LmluZXQudGNwLnN5bmNhY2hlLnJleG10bGltaXQKCi0t
LQpuZXQuaW5ldC50Y3Auc3luY29va2llcwoKLS0tCm5ldC5pbmV0LnRjcC50Y2JoYXNoc2l6ZQoK
LS0tCm5ldC5pbmV0LnRjcC52Nm1zc2RmbHQKCi0tLQpuZXQuaW5ldC51ZHAuYmxhY2tob2xlCmJv
b2wKCk1hbmlwdWxhdGVzIHN5c3RlbSBiZWhhdmlvciB3aGVuIApjb25uZWN0aW9uIHJlcXVlc3Rz
IGFyZSByZWNlaXZlZCBvbiBhIApVRFAgcG9ydC4KU2VlIHRoZSAKLlhyIGJsYWNraG9sZSA0Cm1h
biBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uLgouUHAKCi0tLQpuZXQuaW5ldC51ZHAuZ2V0Y3Jl
ZAoKLS0tCm5ldC5pbmV0LnVkcC5sb2dfaW5fdmFpbgpib29sCgpBbGxvd3MgdGhlIHN5c3RlbSB0
byBsb2cgY29ubmVjdGlvbnMgdG8gVURQCnBvcnRzIHRoYXQgZG8gbm90IGhhdmUgc29ja2V0cyBs
aXN0ZW5pbmcuClRoaXMgdmFyaWFibGUgY2FuIGFsc28gYmUgdHVuZWQgYnkgY2hhbmdpbmcgCnRo
ZSB2YWx1ZSBmb3IgbG9nX2luX3ZhaW4KaW4gCi5QYSAvZXRjL3JjLmNvbmYKLlBwCgotLS0KbmV0
LmluZXQudWRwLm1heGRncmFtCgotLS0KbmV0LmluZXQudWRwLnBjYmxpc3QKCi0tLQpuZXQuaW5l
dC51ZHAucmVjdnNwYWNlCgotLS0KbmV0LmluZXQudWRwLnN0YXRzCgotLS0KbmV0LmluZXQ2Lmlj
bXA2LmVycnBwc2xpbWl0CgotLS0KbmV0LmluZXQ2LmljbXA2Lm5kNl9kZWJ1ZwoKLS0tCm5ldC5p
bmV0Ni5pY21wNi5uZDZfZGVsYXkKCi0tLQpuZXQuaW5ldDYuaWNtcDYubmQ2X21heG51ZGhpbnQK
Ci0tLQpuZXQuaW5ldDYuaWNtcDYubmQ2X21tYXh0cmllcwoKLS0tCm5ldC5pbmV0Ni5pY21wNi5u
ZDZfcHJ1bmUKCi0tLQpuZXQuaW5ldDYuaWNtcDYubmQ2X3VtYXh0cmllcwoKLS0tCm5ldC5pbmV0
Ni5pY21wNi5uZDZfdXNlbG9vcGJhY2sKCi0tLQpuZXQuaW5ldDYuaWNtcDYubm9kZWluZm8KCi0t
LQpuZXQuaW5ldDYuaWNtcDYucmVkaXJhY2NlcHQKCi0tLQpuZXQuaW5ldDYuaWNtcDYucmVkaXJ0
aW1lb3V0CgotLS0KbmV0LmluZXQ2LnRjcDYuZ2V0Y3JlZAoKLS0tCm5ldC5pbmV0Ni51ZHA2Lmdl
dGNyZWQKCi0tLQpuZXQuaXNyLmVuYWJsZQoKLS0tCm5ldC5saW5rLmV0aGVyLmluZXQubG9nX2Fy
cF9tb3ZlbWVudHMKCi0tLQpuZXQubGluay5ldGhlci5pbmV0LmxvZ19hcnBfd3JvbmdfaWZhY2UK
Ci0tLQpuZXQubGluay5ldGhlci5pcGZ3CgotLS0KbmV0LmxpbmsuZ2VuZXJpYy5pZmRhdGEKCi0t
LQpuZXQubGluay5nZW5lcmljLnN5c3RlbS5pZmNvdW50CgotLS0KbmV0LmxpbmsuZ2lmLm1heF9u
ZXN0aW5nCmJvb2wKCkRldGVybWluZXMgd2hldGhlciB0byBhbGxvdyByZWN1cnNpdmUgdHVubmVs
cyBvciBub3QuCi5QcAoKLS0tCm5ldC5saW5rLmdpZi5wYXJhbGxlbF90dW5uZWxzCmJvb2wKCkRl
dGVybWluZXMgd2hldGhlciB0byBhbGxvdyBwYXJhbGxlbCB0dW5uZWxzIG9yIG5vdC4KLlBwCgot
LS0KbmV0LmxvY2FsLmRncmFtLnBjYmxpc3QKCi0tLQpuZXQubG9jYWwuc3RyZWFtLnBjYmxpc3QK
Ci0tLQpzZWN1cml0eS5ic2Quc2VlX290aGVyX3VpZHMKYm9vbAoKVHVybmluZyB0aGlzIG9wdGlv
biBvbiB3aWxsIHByZXZlbnQgdXNlcnMgZnJvbSB2aWV3aW5nIGluZm9ybWF0aW9uCmFib3V0IHBy
b2Nlc3NlcyBydW5uaW5nIHVuZGVyIG90aGVyIHVzZXIgaWQgbnVtYmVycyAoVUlEcykuCi5QcAoK
LS0tCnNlY3VyaXR5LmJzZC5zdXNlcl9lbmFibGVkCgotLS0Kc2VjdXJpdHkuYnNkLnVucHJpdmls
ZWdlZF9wcm9jX2RlYnVnCgotLS0Kc2VjdXJpdHkuYnNkLnVucHJpdmlsZWdlZF9yZWFkX21zZ2J1
ZgoKLS0tCnNlY3VyaXR5LmphaWwuc2V0X2hvc3RuYW1lX2FsbG93ZWQKYm9vbAoKRGV0ZXJtaW5l
cyB3aGV0aGVyIG9yIG5vdCB0aGUgcm9vdCB1c2VyCndpdGhpbiB0aGUgamFpbCBjYW4gc2V0IHRo
ZSBob3N0bmFtZS4KLlBwCgotLS0Kc2VjdXJpdHkuamFpbC5zb2NrZXRfdW5peGlwcm91dGVfb25s
eQoKLS0tCnNlY3VyaXR5LmphaWwuc3lzdmlwY19hbGxvd2VkCgotLS0Kc2VjdXJpdHkubWFjLmJp
YmEuZW5hYmxlZApib29sCgpFbmFibGVzIGVuZm9yY2VtZW50IG9mIHRoZSBCaWJhIGludGVncml0
eSBwb2xpY3kuCi5QcAoKLS0tCnNlY3VyaXR5Lm1hYy5iaWJhLnB0eXNfZXF1YWwKYm9vbAoKTGFi
ZWwKLlNtIG9mZgouWHIgcHR5IDQKcwouU20gb24KYXMKLkRxIGJpYmEvZXF1YWwKdXBvbiBjcmVh
dGlvbi4KLlBwCgotLS0Kc2VjdXJpdHkubWFjLmJpYmEucmV2b2NhdGlvbl9lbmFibGVkCmJvb2wK
ClJldm9rZSBhY2Nlc3MgdG8gb2JqZWN0cyBpZiB0aGUgbGFiZWwgaXMgY2hhbmdlZCB0byBkb21p
bmF0ZSB0aGUgc3ViamVjdC4KLlBwCgotLS0Kc2VjdXJpdHkubWFjLmVuZm9yY2VfZnMKYm9vbAoK
RW5mb3JjZSBNQUMgcG9saWNpZXMgZm9yIGZpbGUgc3lzdGVtIGFjY2Vzc2VzLgouUHAKCi0tLQpz
ZWN1cml0eS5tYWMuZW5mb3JjZV9rbGQKYm9vbAoKRW5mb3JjZSBNQUMgcG9saWNpZXMgb24KLlhy
IGtsZCA0IC4KLlBwCgotLS0Kc2VjdXJpdHkubWFjLmVuZm9yY2VfbmV0d29yawpib29sCgpFbmZv
cmNlIE1BQyBwb2xpY2llcyBvbiBuZXR3b3JrIGludGVyZmFjZXMuCi5QcAoKLS0tCnNlY3VyaXR5
Lm1hYy5lbmZvcmNlX3BpcGUKYm9vbAoKRW5mb3JjZSBNQUMgcG9saWNpZXMgb24gcGlwZXMuCi5Q
cAoKLS0tCnNlY3VyaXR5Lm1hYy5lbmZvcmNlX3Byb2Nlc3MKYm9vbAoKRW5mb3JjZSBNQUMgcG9s
aWNpZXMgYmV0d2VlbiBzeXN0ZW0gcHJvY2Vzc2VzCihlLmcuCi5YciBwcyAxICwKLlhyIGt0cmFj
ZSAyICkuCi5QcAoKLS0tCnNlY3VyaXR5Lm1hYy5lbmZvcmNlX3NvY2tldApib29sCgpFbmZvcmNl
IE1BQyBwb2xpY2llcyBvbiBzb2NrZXRzLgouUHAKCi0tLQpzZWN1cml0eS5tYWMuZW5mb3JjZV9z
eXN0ZW0KYm9vbAoKRW5mb3JjZSBNQUMgcG9saWNpZXMgb24gc3lzdGVtLXJlbGF0ZWQgaXRlbXMK
KGUuZy4KLlhyIGtlbnYgMSAsCi5YciBhY2N0IDIgLAouWHIgcmVib290IDIgKS4KLlBwCgotLS0K
c2VjdXJpdHkubWFjLmVuZm9yY2Vfdm0KYm9vbAoKRW5mb3JjZSBNQUMgcG9saWNpZXMgb24KLlhy
IG1tYXAgMgphbmQKLlhyIG1wcm90ZWN0IDIgLgouUHAKCi0tLQpzZWN1cml0eS5tYWMuaWZvZmYu
bG9fZW5hYmxlZApib29sCgpVc2UgdGhpcyB0b28gZGlzYWJsZSBuZXR3b3JrIHRyYWZmaWMgb3Zl
ciB0aGUgbG9vcGJhY2sKLlhyIGxvIDQKaW50ZXJmYWNlLgpTZWUKLlhyIG1hY19pZm9mZiA0CmZv
ciBtb3JlIGluZm9ybWF0aW9uLgouUHAKCi0tLQpzZWN1cml0eS5tYWMuaWZvZmYub3RoZXJfZW5h
YmxlZApib29sCgpVc2UgdGhpcyB0byBlbmFibGUgbmV0d29yayB0cmFmZmljIG92ZXIgb3RoZXIg
aW50ZXJmYWNlcy4KU2VlCi5YciBtYWNfaWZvZmYgNApmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLlBw
CgotLS0Kc2VjdXJpdHkubWFjLmlmb2ZmLmJwZnJlY3ZfZW5hYmxlZApib29sCgpVc2UgdGhpcyB0
b28gYWxsb3cKLlhyIGJwZiA0CnRyYWZmaWMgdG8gYmUgcmVjZWl2ZWQsCmV2ZW4gd2hpbGUgb3Ro
ZXIgdHJhZmZpYyBpcyBkaXNhYmxlZC4KLlBwCgotLS0Kc2VjdXJpdHkubWFjLm1scy5lbmFibGVk
CmJvb2wKCkVuYWJsZXMgdGhlIGVuZm9yY2VtZW50IG9mIHRoZSBNTFMgY29uZmlkZW50aWFsaXR5
IHBvbGljeSwKc2VlCi5YciBtYWNfbWxzIDQKZm9yIG1vcmUgaW5mb3JtYXRpb24uCi5QcAoKLS0t
CnNlY3VyaXR5Lm1hYy5tbHMucHR5c19lcXVhbApib29sCgpMYWJlbAouU20gb2ZmCi5YciBwdHkg
NApzCi5TbSBvbgphcwouRHEgbWxzL2VxdWFsCnVwb24gY3JlYXRpb24uCi5QcAoKLS0tCnNlY3Vy
aXR5Lm1hYy5tbHMucmV2b2NhdGlvbl9lbmFibGVkCmJvb2wKClJldm9rZSBhY2Nlc3MgdG8gb2Jq
ZWN0cyBpZiB0aGUgbGFiZWwgaXMgY2hhbmdlZCB0byBhIG1vcmUgc2Vuc2l0aXZlCmxldmVsIHRo
YW4gdGhlIHN1YmplY3QuCi5QcAoKLS0tCnNlY3VyaXR5Lm1hYy5wb3J0YWNsLnJ1bGVzCnN0cgoK
VGhlIHBvcnQgYWNjZXNzIGNvbnRyb2wgbGlzdCBpcyBzcGVjaWZpZWQgaW4gdGhlIGZvbGxvd2lu
ZyBmb3JtYXQ6Ci5QcAouU3kgaWR0eXBlCi5MaSA6Ci5TeSBpZAouTGkgOgouU3kgcHJvdG9jb2wK
LkxpIDoKLlN5IHBvcnQKLkxpIFssCi5TeSBpZHR5cGUKLkxpIDoKLlN5IGlkCi5MaSA6Ci5TeSBw
cm90b2NvbAouTGkgOgouU3kgcG9ydAouTGkgLC4uLl0KLlBwCi5TeSBpZHR5cGUKRGVzY3JpYmVz
IHRoZSB0eXBlIG9mIHN1YmplY3QgbWF0Y2ggdG8gYmUgcGVyZm9ybWVkLgpFaXRoZXIKLkxpIHVp
ZApmb3IgdXNlcmlkIG1hdGNoaW5nLCBvcgouTGkgZ2lkCmZvciBncm91cCBJRCBtYXRjaGluZy4K
LlN5IGlkClRoZSB1c2VyIG9yIGdyb3VwIElEIChkZXBlbmRpbmcgb24KLlN5IGlkdHlwZSApCmFs
bG93ZWQgdG8gYmluZCB0byB0aGUgc3BlY2lmaWVkIHBvcnQuCi5CZiAtZW1waGFzaXMKTk9URTog
VXNlciBhbmQgZ3JvdXAgbmFtZXMgYXJlIG5vdCB2YWxpZDsgb25seSB0aGUgYWN0dWFsIElEIG51
bWJlcnMKbWF5IGJlIHVzZWQuCi5FZgouU3kgcHJvdG9jb2wKRGVzY3JpYmVzIHdoaWNoIHByb3Rv
Y29sIHRoaXMgZW50cnkgYXBwbGllcyB0by4KRWl0aGVyCi5MaSB0Y3AKb3IKLkxpIHVkcAphcmUg
c3VwcG9ydGVkLgouU3kgcG9ydApEZXNjcmliZXMgd2hpY2ggcG9ydCB0aGlzIGVudHJ5IGFwcGxp
ZXMgdG8uCi5CZiAtZW1waGFzaXMKTk9URTogTUFDIHNlY3VyaXR5IHBvbGljaWVzIG1heSBub3Qg
b3ZlcnJpZGUgb3RoZXIgc2VjdXJpdHkgc3lzdGVtIHBvbGljaWVzCmJ5IGFsbG93aW5nIGFjY2Vz
c2VzIHRoYXQgdGhleSBtYXkgZGVueSwgc3VjaCBhcwouVmEgbmV0LmluZXQuaXAucG9ydHJhbmdl
LnJlc2VydmVkbG93IC8KLlZhIG5ldC5pbmV0LmlwLnBvcnRyYW5nZS5yZXNlcnZlZGhpZ2ggLgou
RWYKLlBwCgotLS0Kc2VjdXJpdHkubWFjLnNlZW90aGVydWlkcy5lbmFibGVkCmJvb2wKCkVuYWJs
ZS9kaXNhYmxlCi5WYSBzZWN1cml0eS5tYWMuc2Vlb3RoZXJ1aWRzClNlZQouWHIgbWFjX3NlZW90
aGVydWlkcyA0CmZvciBtb3JlIGluZm9ybWF0aW9uLgouUHAKCi0tLQpzZWN1cml0eS5tYWMuc2Vl
b3RoZXJ1aWRzLnByaW1hcnlncm91cF9lbmFibGVkCmJvb2wKCkFsbG93IHVzZXJzIHRvIHNlZSBw
cm9jZXNzZXMgYW5kIHNvY2tldHMgb3duZWQgYnkgdGhlIHNhbWUgcHJpbWFyeQpncm91cC4KLlBw
CgotLS0Kc2VjdXJpdHkubWFjLnNlZW90aGVydWlkcy5zcGVjaWZpY2dpZF9lbmFibGVkCmJvb2wK
CkFsbG93IHByb2Nlc3NlcyB3aXRoIGEgc3BlY2lmaWMgZ3JvdXAgSUQgdG8gYmUgZXhlbXB0IGZy
b20gdGhlIHBvbGljeSwKc2V0IHRoaXMgdG8KLkxpIDEKYW5kIHNldAouVmEgc2VjdXJpdHkubWFj
LnNlZW90aGVydWlkcy5zcGVjaWZpY2dpZAp0byB0aGUgZ2lkIHRvIGJlIGV4ZW1wdGVkLgouUHAK
Ci0tLQpzZWN1cml0eS5tYWNfdGVzdApzdHIKClVzZWQgZm9yIGRlYnVnZ2luZy4KU2VlCi5YciBt
YWNfdGVzdCA0CmZvciBtb3JlIGluZm9ybWF0aW9uLgouUHAKCi0tLQp1c2VyLmJjX2Jhc2VfbWF4
CgotLS0KdXNlci5iY19kaW1fbWF4CgotLS0KdXNlci5iY19zY2FsZV9tYXgKCi0tLQp1c2VyLmJj
X3N0cmluZ19tYXgKCi0tLQp1c2VyLmNvbGxfd2VpZ2h0c19tYXgKCi0tLQp1c2VyLmNzX3BhdGgK
Ci0tLQp1c2VyLmxpbmVfbWF4CgotLS0KdXNlci5wb3NpeDJfY19iaW5kCgotLS0KdXNlci5wb3Np
eDJfY19kZXYKCi0tLQp1c2VyLnBvc2l4Ml9mb3J0X2RldgoKLS0tCnVzZXIucG9zaXgyX2ZvcnRf
cnVuCgotLS0KdXNlci5wb3NpeDJfbG9jYWxlZGVmCgotLS0KdXNlci5wb3NpeDJfc3dfZGV2Cgot
LS0KdXNlci5wb3NpeDJfdXBlCgotLS0KdXNlci5wb3NpeDJfdmVyc2lvbgoKLS0tCnVzZXIucmVf
ZHVwX21heAoKLS0tCnVzZXIuc3RyZWFtX21heAoKLS0tCnVzZXIudHpuYW1lX21heAoKLS0tCnZm
cy5hbHRidWZmZXJmbHVzaGVzCgotLS0KdmZzLmJ1ZmRlZnJhZ2NudAoKLS0tCnZmcy5idWZmcmVl
a3ZhY250CgotLS0KdmZzLmJ1Zm1hbGxvY3NwYWNlCgotLS0KdmZzLmJ1ZnJldXNlY250CgotLS0K
dmZzLmJ1ZnNwYWNlCgotLS0KdmZzLmNhY2hlLm5jaHN0YXRzCgotLS0KdmZzLmNvbmZsaXN0Cgot
LS0KdmZzLmRldmZzLmdlbmVyYXRpb24KCi0tLQp2ZnMuZGV2ZnMuaW5vZGVzCgotLS0KdmZzLmRl
dmZzLm5vdmVyZmxvdwoKLS0tCnZmcy5kZXZmcy50b3Bpbm9kZQoKLS0tCnZmcy5kaXJ0eWJ1ZmZl
cmZsdXNoZXMKCi0tLQp2ZnMuZGlydHlidWZ0aHJlc2gKCi0tLQp2ZnMuZmZzLmFkamJsa2NudAoK
LS0tCnZmcy5mZnMuYWRqcmVmY250CgotLS0KdmZzLmZmcy5mcmVlYmxrcwoKLS0tCnZmcy5mZnMu
ZnJlZWRpcnMKCi0tLQp2ZnMuZmZzLmZyZWVmaWxlcwoKLS0tCnZmcy5mZnMuc2V0ZmxhZ3MKCi0t
LQp2ZnMuZmx1c2h3aXRoZGVwcwoKLS0tCnZmcy5nZXRuZXdidWZjYWxscwoKLS0tCnZmcy5nZXRu
ZXdidWZyZXN0YXJ0cwoKLS0tCnZmcy5oaWJ1ZnNwYWNlCgotLS0KdmZzLmhpZGlydHlidWZmZXJz
CgotLS0KdmZzLmhpZnJlZWJ1ZmZlcnMKCi0tLQp2ZnMuaGlydW5uaW5nc3BhY2UKCi0tLQp2ZnMu
bG9idWZzcGFjZQoKLS0tCnZmcy5sb2RpcnR5YnVmZmVycwoKLS0tCnZmcy5sb2ZyZWVidWZmZXJz
CgotLS0KdmZzLmxvcnVubmluZ3NwYWNlCgotLS0KdmZzLm1heGJ1ZnNwYWNlCgotLS0KdmZzLm1h
eG1hbGxvY2J1ZnNwYWNlCgotLS0KdmZzLm51bWRpcnR5YnVmZmVycwoKLS0tCnZmcy5udW1mcmVl
YnVmZmVycwoKLS0tCnZmcy5vcHZfbnVtb3BzCgotLS0KdmZzLnBmcy52bmNhY2hlLmVudHJpZXMK
Ci0tLQp2ZnMucGZzLnZuY2FjaGUuaGl0cwoKLS0tCnZmcy5wZnMudm5jYWNoZS5tYXhlbnRyaWVz
CgotLS0KdmZzLnBmcy52bmNhY2hlLm1pc3NlcwoKLS0tCnZmcy5yZWFkX21heAoKLS0tCnZmcy5y
ZWN1cnNpdmVmbHVzaGVzCgotLS0KdmZzLnJ1bm5pbmdidWZzcGFjZQoKLS0tCnZmcy51ZnMuZGly
aGFzaF9kb2NoZWNrCgotLS0KdmZzLnVmcy5kaXJoYXNoX21heG1lbQoKLS0tCnZmcy51ZnMuZGly
aGFzaF9tZW0KCi0tLQp2ZnMudWZzLmRpcmhhc2hfbWluc2l6ZQoKLS0tCnZmcy51c2VybW91bnQK
Ym9vbAoKVGhpcwouTm0KYWxsb3dzIHRoZSByb290IHVzZXIgdG8gZ3JhbnQgYWNjZXNzIHRvIG5v
bi1yb290IHVzZXJzCnNvIHRoYXQgdGhleSBtYXkgbW91bnQgZmxvcHB5IGFuZCBDRC1ST00gZHJp
dmVzLgouUHAKCi0tLQp2ZnMudm1pb2RpcmVuYWJsZQpib29sCgpDb250cm9scyBob3cgZGlyZWN0
b3JpZXMgYXJlIGNhY2hlZCBieSB0aGUgc3lzdGVtLgpUaGlzIGlzIHR1cm5lZCBvbiBieSBkZWZh
dWx0LiAgU2VlIHRoZSAKLlhyIHR1bmluZyA3Cm1hbiBwYWdlIGZvciBhIG1vcmUgZGV0YWlsZWQg
ZXhwbGFuYXRpb24gb24gdGhpcwp2YXJpYWJsZS4KLlBwCgotLS0KdmZzLndyaXRlX2JlaGluZApi
b29sCgpUZWxscyB0aGUgZmlsZSBzeXN0ZW0gdG8gaXNzdWUgbWVkaWEgd3JpdGVzIGFzCmZ1bGwg
Y2x1c3RlcnMgYXJlIGNvbGxlY3RlZCwgd2hpY2ggdHlwaWNhbGx5IApvY2N1cnMgd2hlbiB3cml0
aW5nIGxhcmdlIHNlcXVlbnRpYWwgZmlsZXMuClRoaXMgaXMgdHVybmVkIG9uIGJ5IGRlZmF1bHQs
IGJ1dCB1bmRlciBjZXJ0YWluCmNpcmN1bXN0YW5jZXMgbWF5IHN0YWxsIHByb2Nlc3NlcyBhbmQg
Y2FuIHRoZXJlZm9yZQpiZSB0dXJuZWQgb2ZmLgouUHAKCi0tLQp2bS5kZWZlcl9zd2Fwc3BhY2Vf
cGFnZW91dHMKCi0tLQp2bS5kaXNhYmxlX3N3YXBzcGFjZV9wYWdlb3V0cwoKLS0tCnZtLmRtbWF4
CgotLS0Kdm0ua3ZtX2ZyZWUKCi0tLQp2bS5rdm1fc2l6ZQoKLS0tCnZtLmxvYWRhdmcKc3RydWN0
CgpEaXNwbGF5cyB0aGUgbG9hZCBhdmVyYWdlIGhpc3RvcnkuICBUaGlzIGlzIGEgCnJlYWQtb25s
eSB2YXJpYWJsZS4KLlBwCgotLS0Kdm0ubWF4X2xhdW5kZXIKCi0tLQp2bS5uc3dhcGRldgoKLS0t
CnZtLnBhZ2VvdXRfYWxnb3JpdGhtCgotLS0Kdm0ucGFnZW91dF9mdWxsX3N0YXRzX2ludGVydmFs
CgotLS0Kdm0ucGFnZW91dF9sb2NrX21pc3MKCi0tLQp2bS5wYWdlb3V0X3N0YXRzX2ZyZWVfbWF4
CgotLS0Kdm0ucGFnZW91dF9zdGF0c19pbnRlcnZhbAoKLS0tCnZtLnBhZ2VvdXRfc3RhdHNfbWF4
CgotLS0Kdm0uc3RhdHMuc3lzLnZfaW50cgoKLS0tCnZtLnN0YXRzLnN5cy52X3NvZnQKCi0tLQp2
bS5zdGF0cy5zeXMudl9zd3RjaAoKLS0tCnZtLnN0YXRzLnN5cy52X3N5c2NhbGwKCi0tLQp2bS5z
dGF0cy5zeXMudl90cmFwCgotLS0Kdm0uc3RhdHMudm0udl9jb3dfZmF1bHRzCgotLS0Kdm0uc3Rh
dHMudm0udl9jb3dfb3B0aW0KCi0tLQp2bS5zdGF0cy52bS52X2ZvcmtwYWdlcwoKLS0tCnZtLnN0
YXRzLnZtLnZfZm9ya3MKCi0tLQp2bS5zdGF0cy52bS52X2ludHJhbnMKCi0tLQp2bS5zdGF0cy52
bS52X2t0aHJlYWRwYWdlcwoKLS0tCnZtLnN0YXRzLnZtLnZfa3RocmVhZHMKCi0tLQp2bS5zdGF0
cy52bS52X296Zm9kCgotLS0Kdm0uc3RhdHMudm0udl9wZHBhZ2VzCgotLS0Kdm0uc3RhdHMudm0u
dl9wZHdha2V1cHMKCi0tLQp2bS5zdGF0cy52bS52X3JlYWN0aXZhdGVkCgotLS0Kdm0uc3RhdHMu
dm0udl9yZm9ya3BhZ2VzCgotLS0Kdm0uc3RhdHMudm0udl9yZm9ya3MKCi0tLQp2bS5zdGF0cy52
bS52X3N3YXBpbgoKLS0tCnZtLnN0YXRzLnZtLnZfc3dhcG91dAoKLS0tCnZtLnN0YXRzLnZtLnZf
c3dhcHBnc2luCgotLS0Kdm0uc3RhdHMudm0udl9zd2FwcGdzb3V0CgotLS0Kdm0uc3RhdHMudm0u
dl92Zm9ya3BhZ2VzCgotLS0Kdm0uc3RhdHMudm0udl92Zm9ya3MKCi0tLQp2bS5zdGF0cy52bS52
X3ZtX2ZhdWx0cwoKLS0tCnZtLnN0YXRzLnZtLnZfdm5vZGVpbgoKLS0tCnZtLnN0YXRzLnZtLnZf
dm5vZGVvdXQKCi0tLQp2bS5zdGF0cy52bS52X3Zub2RlcGdzaW4KCi0tLQp2bS5zdGF0cy52bS52
X3Zub2RlcGdzb3V0CgotLS0Kdm0uc3RhdHMudm0udl96Zm9kCgotLS0Kdm0uc3dhcF9hc3luY19t
YXgKCi0tLQp2bS5zd2FwX2VuYWJsZWQKCi0tLQp2bS5zd2FwX2lkbGVfZW5hYmxlZAoKLS0tCnZt
LnN3YXBfaW5mbwoKLS0tCnZtLnZtdG90YWwKCi0tLQp2bS56b25lCgotLS0KCg==

--Multipart=_Thu__22_Jan_2004_02_47_29_-0500_FgA_kUaO8e4__3SQ--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040122024729.2944fada>