[Dev] latest version of how to build RPMs

rpjday dev@trilug.org
Fri, 4 Jan 2002 06:14:13 -0500 (EST)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--8323328-2089650700-1010142853=:8143
Content-Type: TEXT/PLAIN; charset=US-ASCII


  this was supposed to be such a simple thing to write, but
once i started getting feedback on how to build RPMs "properly,"
this document took on a life of its own, and eventually morphed
into how to build RPMs in general.

  i think it's pretty well a done deal, and i'm interested in
any comments, criticisms, corrections, etc.  and now, i'm going
to make more coffee, lie on the couch, and look at all the
snow outside the living room window.  then go back to work
on my perl course.  later.

rday

--8323328-2089650700-1010142853=:8143
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=buildrpm
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.33.0201040614130.8143@localhost.localdomain>
Content-Description: 
Content-Disposition: attachment; filename=buildrpm

KiBPdmVydmlldyAtLSBidWlsZGluZyBSUE1zDQoNCiAgVGhpcyBkb2N1bWVu
dCBkZXNjcmliZXMsIHVzaW5nIGEgY29uY3JldGUgZXhhbXBsZSwgaG93IHRv
DQpidWlsZCBzaW1wbGUgYmluYXJ5LCBub2FyY2ggYW5kIHNvdXJjZSBSUE1T
Lg0KDQogIEEgYmluYXJ5IFJQTSBmaWxlIHdvdWxkIHR5cGljYWxseSBoYXZl
IGEgZmlsZSBuYW1lIGxpa2UNCiJuaWZ0eXByb2dzLTMuNC0yLmkzODYucnBt
LCIgaWRlbnRpZnlpbmcgaXQgYXMgYW4gUlBNDQpmb3IgdGhlIGl4ODYgYXJj
aGl0ZWN0dXJlLiAgU3VjaCBhbiBSUE0gd291bGQgbm9ybWFsbHkgY29udGFp
bg0Kc29tZSBjb21waWxlZCBiaW5hcnkgZXhlY3V0YWJsZXMsIGFuZCB3b3Vs
ZCBhdXRvbWF0aWNhbGx5DQppbnN0YWxsIHRoZW0gaW4gZGlyZWN0b3JpZXMg
bGlrZSAvYmluIG9yIC91c3IvYmluLCBvciBtYXliZQ0KL3Vzci9sb2NhbC9i
aW4sIC9vcHQvYmluIG9yIHNvbWV0aGluZyBsaWtlIHRoYXQuDQoNCiAgQSBu
b24tYXJjaGl0ZWN0dXJlLWRlcGVuZGVudCAob3IgIm5vYXJjaCIpIFJQTSBp
cyBhIHNpbXBsZXINCnBhY2thZ2UgYW5kIHdvdWxkIHR5cGljYWxseSBiZSB1
c2VkIHRvIGRpc3RyaWJ1dGUgbm9uLWJpbmFyeS0NCnByb2dyYW0gcmVsYXRl
ZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgc3VjaCBhcyB0ZXh0IGZpbGVzLA0K
YXVkaW8gb3IgdmlkZW8gZmlsZXMsIGZvbnQgZmlsZXMgb3IgZXZlbiBhcmNo
LWluZGVwZW5kZW50DQpzY3JpcHQgcHJvZ3JhbXMgc3VjaCBhcyBzaGVsbCBv
ciBQZXJsIHByb2dyYW1zLiAgQm90aCBvZiB0aGVzZQ0Ka2luZHMgb2YgUlBN
cyBtaWdodCBhbHNvIGNvbnRhaW4gdGhlIHN0YW5kYXJkIG92ZXJoZWFkIG9m
IA0KZG9jdW1lbnRhdGlvbiBmaWxlcyBsaWtlIGEgUkVBRE1FIG9yIExJQ0VO
U0UgZmlsZSBhbmQgdGhlIGxpa2UuDQoNCiAgRmluYWxseSwgaW4gZWl0aGVy
IGNhc2UsIHlvdSBtaWdodCB3YW50IHRvIGNyZWF0ZSB0aGUNCmNvcnJlc3Bv
bmRpbmcgc291cmNlIFJQTSwgd2hpY2ggd2lsbCBhbGxvdyBvdGhlcnMgdG8g
ZXhhbWluZQ0KdGhlIHdheSB5b3UgYnVpbHQgeW91ciBiaW5hcnkgb3Igbm9h
cmNoLCBhbmQgdG8gcmVidWlsZCBpdA0KdGhlbXNlbHZlcy4NCg0KICBUaGlz
IGRvY3VtZW50IGZvY3VzZXMgb24gaG93IHRvLCBzdGVwIGJ5IHN0ZXAsIGJ1
aWxkIHRoZQ0Kc2ltcGxlciBub2FyY2ggUlBNIGJ1dCwgdG93YXJkIHRoZSBl
bmQsIHNob3dzIGhvdyBlYXN5IGl0DQppcyB0byBleHRlbmQgdGhpcyBleGFt
cGxlIHRvIGhhbmRsZSBiaW5hcnkgUlBNcyBhcyB3ZWxsLg0KDQogIEJlZm9y
ZSB3ZSBzdGFydCwgSSdsbCBhc3N1bWUgdGhhdCB5b3UncmUgYWxyZWFkeSBm
YW1pbGlhciB3aXRoDQpob3cgdG8gdXNlIHRoZSAicnBtIiBjb21tYW5kIHRv
IGRvIGJhc2ljIHRoaW5ncyBsaWtlIGluc3RhbGwsIA0KZXhhbWluZSBhbmQg
cmVtb3ZlIFJQTXMuICBJbiBhZGRpdGlvbiwgaWYgeW91IGhhdmVuJ3QgYWxy
ZWFkeSwgeW91DQpzaG91bGQgaW5zdGFsbCB0aGUgInJwbS1idWlsZCIgUlBN
LCB3aGljaCBpcyBlc3NlbnRpYWwgZm9yIHJvbGxpbmcgDQp5b3VyIG93biBS
UE1zLiAgKEZvciBiYXNpYyBSUE0gbWFuYWdlbWVudCwgeW91IHNob3VsZCB1
c2UNCnRoZSAicnBtIiBjb21tYW5kLCBidXQgZm9yIGNyZWF0aW5nIFJQTXMs
IHlvdSBzaG91bGQgdXNlIHRoZQ0KbmV3ZXIgInJwbWJ1aWxkIiBjb21tYW5k
LikNCg0KICBGaW5hbGx5LCB0aGVyZSBhcmUgYWxsIGtpbmRzIG9mIHdheXMg
dG8gbWFrZSBSUE0gYnVpbGRpbmcNCm91dHJhZ2VvdXNseSBjb21wbGljYXRl
ZCwgYnV0IEknbSBnb2luZyB0byB0cnkgdG8ga2VlcCB0aGluZ3MNCnNpbXBs
ZSB3aXRoIGV4YW1wbGVzIHRoYXQgd2lsbCBoYW5kbGUgdGhlIG1ham9yaXR5
IG9mIGZvbGtzJw0KbmVlZHMuICBJZiB0aGVyZSdzIGEgbW9yZSBzb3BoaXN0
aWNhdGVkIGZlYXR1cmUgdGhhdCBJIHRoaW5rIA0KeW91IG1pZ2h0IHdhbnQg
dG8ga25vdyBhYm91dCwgSSd2ZSBhZGRlZCBzZXZlcmFsIGFwcGVuZGljZXMg
IA0Kc28gYXMgdG8gbm90IGJyZWFrIHVwIHRoZSBmbG93Lg0KDQoqIFRoZSBo
eXBvdGhldGljYWwgc2NlbmFyaW8NCg0KICBMZXQncyBzdGFydCBieSBjb3Zl
cmluZyBpbiBkZXRhaWwgaG93IHRvIGJ1aWxkIGEgbm9hcmNoIFJQTQ0KdGhh
dCBjb250YWlucyBncmFwaGljcyBmaWxlcyBhbmQgc29tZSBkb2N1bWVudGF0
aW9uLg0KDQogIEltYWdpbmUgdGhhdCwgYXMgZW1wbG95ZWUgRnJlZCBCZXJm
ZXJkIG9mIFBpY3MgJ3InIFVzLCBJbmMsIA0KeW91J3ZlIGJlZW4gdG9sZCB0
byBjcmVhdGUgYSBub2FyY2ggUlBNIG91dCBvZiBhIGNvbGxlY3Rpb24gb2YN
CmltYWdlcyBvZiB2YXJpb3VzIGNhdHMsIGFsb25nIHdpdGggdGhlIGFjY29t
cGFueWluZyBkb2N1bWVudGF0aW9uDQpmaWxlcyBSRUFETUUgYW5kIEFSVElT
VFMgdGhhdCBjYW1lIHdpdGggdGhvc2UgaW1hZ2VzLg0KDQogIEluIGFkZGl0
aW9uLCBqdXN0IHRvIG1ha2UgdGhpbmdzIGEgbGl0dGxlIG1vcmUgaW50ZXJl
c3RpbmcsDQphbGwgUlBNcyBidWlsdCBhdCB0aGlzIGNvbXBhbnkgbXVzdCBh
bHNvIGNvbnRhaW4gdGhlIHN0YW5kYXJkDQpjb3Jwb3JhdGUgTElDRU5TRSBk
b2N1bWVudGF0aW9uIGZpbGUsIGFzIHdlbGwgYSBjb3Jwb3JhdGUNCmxvZ28g
aW1hZ2UgZmlsZSAicGljc3J1cy5qcGciLiAgQWxsIG9mIHRoaXMgcmVwcmVz
ZW50cyB0aGUgZW50aXJlIA0KY29udGVudHMgb2YgdGhlIG5ldyBSUE0uDQoN
CiAgU2luY2UgdGhpcyB3aWxsIGJlIHRoZSBjb21wYW55J3MgdmVyeSBmaXJz
dCBjYXQtcGljLXJlbGF0ZWQgUlBNLA0KaXQgd2lsbCBoYXZlIHRoZSBkZXNp
Z25hdGlvbnM6DQoNCiAgcGFja2FnZSBuYW1lOiBjYXRwaWNzDQogIHZlcnNp
b246IDEuMA0KICByZWxlYXNlOiAxDQoNCndoaWNoIHN1Z2dlc3RzIHRoYXQg
dGhlIGZpbmFsIFJQTSBzaG91bGQgaGF2ZSB0aGUgbmFtZQ0KY2F0cGljcy0x
LjAtMS5ub2FyY2gucnBtLiAgWW91J3ZlIGJlZW4gdG9sZCB0byBidWlsZCB0
aGlzIFJQTSBmaWxlIA0Kc28gdGhhdCwgd2hlbiB0aGUgY3VzdG9tZXIgaW5z
dGFsbHMgaXQgb24gdGhlaXIgc3lzdGVtLCBpdCB3aWxsDQp1bmxvYWQgZmls
ZXMgYW5kIGRpcmVjdG9yaWVzIGluIHRoZSBsb2NhdGlvbnM6DQoNCiAgL3Vz
ci9sb2NhbC9jYXRwaWNzLzxjYXQgaW1hZ2UgZmlsZXM+CSMgaW5jbHVkaW5n
IHBpY3NydXMuanBnDQogIC91c3Ivc2hhcmUvZG9jL2NhdHBpY3MtMS4wL3tS
RUFETUUsIEFSVElTVFMsIExJQ0VOU0V9DQoNClNvLCBsZXQncyBzdGFydCBi
dWlsZGluZyBjYXRwaWNzLTEuMC0xLm5vYXJjaC5ycG0uDQoNCiogVGhlIFJQ
TSBidWlsZGluZyBkaXJlY3Rvcnkgc3RydWN0dXJlDQoNCiAgSWYgeW91J3Jl
IHVzaW5nIFJlZCBIYXQgTGludXgsIHRoZXJlIGlzIGFscmVhZHkgYSBwcmUt
ZGVmaW5lZA0KZGlyZWN0b3J5IHN0cnVjdHVyZSB0byBzdXBwb3J0IGJ1aWxk
aW5nIHlvdXIgb3duIFJQTXMuICBJZiB5b3UNCmxvb2sgdW5kZXIgL3Vzci9z
cmMvcmVkaGF0LCB3aGF0IHlvdSdsbCBmaW5kIGlzIGEgbnVtYmVyIG9mDQpz
dWJkaXJlY3RvcmllcyB0aGF0IGFyZSB1c2VkIGZvciB0aGUgb3JpZ2luYWwg
c291cmNlIGZpbGVzIGZvcg0KdGhlIFJQTSwgZm9yIHRoZSBidWlsZCBwaGFz
ZSwgZm9yIGNyZWF0aW5nIHRoZSBpbnN0YWxsYXRpb24NCmRpcmVjdG9yeSBz
dHJ1Y3R1cmUgYW5kIHNvIG9uLg0KDQogIEhvd2V2ZXIsIHNpbmNlIHRoaXMg
ZGlyZWN0b3J5IGlzIGF2YWlsYWJsZSBvbmx5IHRvIHJvb3QgYW5kDQppdCdz
IGNvbnNpZGVyZWQgYSBoYW5naW5nIG9mZmVuc2UgdG8gYnVpbGQgbmV3IFJQ
TXMgYXMgcm9vdCwNCnlvdSdyZSAqc3Ryb25nbHkqIGVuY291cmFnZWQsIGFz
IGEgbm9ybWFsIHVzZXIsIHRvIGR1cGxpY2F0ZQ0KdGhhdCBkaXJlY3Rvcnkg
c3RydWN0dXJlIHVuZGVyIHlvdXIgaG9tZSBkaXJlY3RvcnkuICBQaWNrIGEN
CnJlYXNvbmFibGUgdG9wLWxldmVsIG5hbWUgKHNheSwgInJwbSIpLCBhbmQg
Y3JlYXRlIHRob3NlDQpkdXBsaWNhdGVzOg0KDQogICQgY2QNCiAgJCBta2Rp
ciAtcCBycG0ve1NPVVJDRVMsU1BFQ1MsQlVJTEQsUlBNUyxTUlBNU30NCiAg
JCBta2RpciAtcCBycG0vUlBNUy97aTM4NixpNTg2LGk2ODYsbm9hcmNofQ0K
ICAkIG1rZGlyIHJwbS90bXAJIyB0byBiZSBleHBsYWluZWQgc2hvcnRseQ0K
ICANCiAgSW4gb3JkZXIgb2Ygd2hlbiB5b3UnbGwgdXNlIHRoZXNlIGRpcmVj
dG9yaWVzLCBoZXJlJ3Mgd2hhdA0KdGhleSByZXByZXNlbnQ6DQoNCiAgU09V
UkNFUzogV2hlcmUgeW91J2xsIGdhdGhlciB5b3VyIGluaXRpYWwgY29sbGVj
dGlvbiBvZiBmaWxlcywNCgkgICBpbiBzb21lIGZvcm1hdCwgZnJvbSB3aGlj
aCB0byBidWlsZCB0aGUgZXZlbnR1YWwgUlBNLg0KCSAgIEluIG91ciBjYXNl
LCB3ZSdsbCBzdGFydCB3aXRoIGFsbCBvZiB0aGUgY2F0IGltYWdlDQoJICAg
ZmlsZXMsIHBsdXMgdGhlIGFjY29tcGFueWluZyBSRUFETUUgYW5kIEFSVElT
VFMgZmlsZXMuDQoNCiAgU1BFQ1M6ICAgV2hlcmUgeW91J2xsIGNyZWF0ZSB0
aGUgInNwZWMiIGZpbGUgZm9yIHRoZSBuZXcgUlBNLA0KCSAgIHdoaWNoIGRl
ZmluZXMgKGFtb25nIG1hbnkgb3RoZXIgdGhpbmdzKSBpbmZvcm1hdGlvbiBh
Ym91dCANCgkgICB0aGUgbmV3IFJQTSwgaG93IHRvIGJ1aWxkIGl0LCB3aGF0
IGZpbGVzIGl0IHNob3VsZCBjb250YWluDQoJICAgYW5kIHdoZXJlIHRob3Nl
IGZpbGVzIHNob3VsZCBiZSBpbnN0YWxsZWQgb24gdGhlIHRhcmdldA0KCSAg
IGhvc3QuDQoNCiAgQlVJTEQ6ICAgVGhpcyBpcyB0aGUgYWN0dWFsICJidWls
ZCIgZGlyZWN0b3J5LCB3aGVyZSB0aGUgb3JpZ2luYWwNCgkgICBzb3VyY2Vz
IG1heSBiZSBwcm9jZXNzZWQgdG8gZ2VuZXJhdGUgZXZlbiBtb3JlIGZpbGVz
IHRvDQoJICAgYmUgYWRkZWQgdG8gdGhlIG5ldyBSUE0uICBJZiB5b3UncmUg
YnVpbGRpbmcgYSBub2FyY2gNCgkgICBSUE0sIHRoZXJlIG1heSBpbiBmYWN0
IGJlIG5vdGhpbmcgdG8gYnVpbGQsIHNpbmNlIHlvdQ0KCSAgIGhhdmUgYWxs
IHRoZSBmaWxlcyB5b3UgbmVlZCBhbHJlYWR5Lg0KDQoJICAgSWYsIGhvd2V2
ZXIsIHlvdSdyZSBidWlsZGluZyBhIGJpbmFyeSBSUE0gZnJvbSBwcm9ncmFt
DQoJICAgc291cmNlcywgdGhpcyBpcyB3aGVyZSB5b3UnZCBzZXQgdXAgdGhl
IHNvdXJjZSBmaWxlcyBhbmQNCgkgICBhIE1ha2VmaWxlLCBhbmQgY3JlYXRl
IHRoZSBvYmplY3QgZmlsZXMgYW5kIGV2ZW50dWFsDQoJICAgZXhlY3V0YWJs
ZXMuICBIZW5jZSwgdGhlIGRpcmVjdG9yeSBuYW1lICJCVUlMRCIuDQoNCiAg
dG1wOiAgICAgQSB0ZW1wb3JhcnkgZGlyZWN0b3J5LCB1bmRlciB3aGljaCB5
b3UnbGwgdHlwaWNhbGx5IGNyZWF0ZQ0KCSAgIHRoZSAiYnVpbGQgcm9vdCIg
Zm9yIHRoZSBuZXcgUlBNLiAgVGhpcyBpcyB3aGVyZSB5b3UnbGwNCgkgICBj
cmVhdGUgYSBkaXJlY3Rvcnkgc3RydWN0dXJlIHdoaWNoIGNvbnRhaW5zIGFs
bCBvZiB0aGUNCgkgICBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdG8gYmUgYWRk
ZWQgdG8gdGhlIG5ldyBSUE0sIGluDQoJICAgZXhhY3RseSB0aGUgZGlyZWN0
b3J5IHN0cnVjdHVyZSB0aGV5IHNob3VsZCBiZSBpbnN0YWxsZWQNCgkgICBv
biB0aGUgdGFyZ2V0IGhvc3QuDQoNCgkgICBJbiBvdGhlciB3b3Jkcywgb25j
ZSB5b3UgZmluaXNoIHRoZSBzdGFnZSBvZiAiYnVpbGQiaW5nDQoJICAgYWxs
IG9mIHRoZSBmaWxlcyB0aGF0IHNob3VsZCBnbyBpbiB0aGUgbmV3IFJQTSwg
dGhlDQoJICAgYnVpbGQgcm9vdCB3aWxsIHJlcHJlc2VudCBwcmVjaXNlbHkg
dGhlaXIgdGFyZ2V0IGRpcmVjdG9yeQ0KCSAgIHN0cnVjdHVyZS4NCg0KICBS
UE1TOgkgICBXaGVyZSBuZXcgUlBNcyB3aWxsIGJlIHBsYWNlZCBmb3IgeW91
ciBpbnNwZWN0aW9uIGFuZA0KCSAgIGFwcHJvdmFsLiAgTmV3IG5vYXJjaCBS
UE1zIHdpbGwgYmUgcGxhY2VkIGluIFJQTVMvbm9hcmNoLA0KCSAgIG5ldyBi
aW5hcnkgUlBNcyB3aWxsIGdvIGluIFJQTVMvaTM4NiwgYW5kIHNvIG9uLg0K
DQogIEZpbmFsbHksIHlvdSBjYW4gZm9yY2UgdGhlICJycG0iIGFuZCAicnBt
YnVpbGQiIGNvbW1hbmRzIHRvIA0KdXNlIHRoaXMgZGlyZWN0b3J5IHN0cnVj
dHVyZSBieSBjcmVhdGluZyB0aGUgY29uZmlndXJhdGlvbiBmaWxlDQp+Ly5y
cG1tYWNyb3MsIHdpdGggdGhlIGNvbnRlbnRzOg0KDQogICVfdG9wZGlyCS9o
b21lL2ZyZWQvcnBtDQogICVfdG1wcGF0aAkvaG9tZS9mcmVkL3JwbS90bXAN
Cg0KICBTbyBsZXQncyBzdGFydCBkaXNjdXNzaW5nIGVhY2ggc3RhZ2Ugb2Yg
dGhlIFJQTSBidWlsZCBpbiBkZXRhaWwuDQoNCiogQnVpbGRpbmcgdGhlIHRh
cmJhbGwNCg0KICBZb3VyIGZpcnN0IGpvYiBpcyB0byBjb3B5IGludG8gdGhl
IFNPVVJDRVMgZGlyZWN0b3J5IHRoZSBpbml0aWFsDQpzZXQgb2YgZmlsZXMg
dG8gY3JlYXRlIHRoaXMgbmV3IFJQTS4gIFRoZSBtb3N0IGNvbW1vbiBmb3Jt
YXQgZm9yIA0KeW91ciBzb3VyY2UgZmlsZXMgaXMgYSAidGFyYmFsbCIgLS0g
YSBnemlwcGVkIHRhciBhcmNoaXZlLiAgVGFyYmFsbHMNCmFyZSBjb21tb24g
c2luY2UgdGhleSByZXByZXNlbnQgYSBjb252ZW5pZW50IHdheSB0byBzaGlw
IGFuIGVudGlyZQ0Kc2V0IG9mIHNvdXJjZSBmaWxlcywgcGx1cyB0aGUgInJw
bWJ1aWxkIiBjb21tYW5kIGhhcyBzb21lIHNob3J0Y3V0cw0KZm9yIGhhbmRs
aW5nIHRhcmJhbGxzIGF1dG9tYXRpY2FsbHkuDQoNCiAgR2l2ZW4gdGhlIFJQ
TSB5b3UncmUgdHJ5aW5nIHRvIGJ1aWxkLCB0cmFkaXRpb24gc3VnZ2VzdHMg
dGhhdCB5b3UNCm5hbWUgeW91ciB0YXJiYWxsIGNhdHBpY3MtMS4wLnRhci5n
eiwgb3IgY2F0cGljcy0xLjAudGd6IGZvciBzaG9ydC4NCk9uZSBwb3NzaWJp
bGl0eSBmb3IgaXRzIGNvbnRlbnRzIChhc3N1bWluZyBhIGNvbGxlY3Rpb24g
b2YgZm91ciBjYXRzKQ0KbWlnaHQgYmU6DQoNCiAgJCB0YXIgdHZ6ZiBjYXRw
aWNzLTEuMC50Z3oNCiAgY2F0cGljcy0xLjAvDQogIGNhdHBpY3MtMS4wL3Bp
Y3MvDQogIGNhdHBpY3MtMS4wL3BpY3Mvam9uZXMuanBnDQogIGNhdHBpY3Mt
MS4wL3BpY3MveGVuYS5qcGcNCiAgY2F0cGljcy0xLjAvcGljcy9jbGFyZW5j
ZS5qcGcNCiAgY2F0cGljcy0xLjAvcGljcy9lbGxpb3R0LmpwZw0KICBjYXRw
aWNzLTEuMC9BUlRJU1RTDQogIGNhdHBpY3MtMS4wL1JFQURNRQ0KDQogIFRo
aW5ncyB0byBub3RpY2UgYWJvdXQgdGhlIHRhcmJhbGw6DQoNCiAgLSBJdCBz
aG91bGQgaGF2ZSBhIHRvcC1sZXZlbCBkaXJlY3RvcnkgbmFtZSB0aGF0IG1h
dGNoZXMgdGhlIFJQTQ0KICAgIG5hbWUgYW5kIHZlcnNpb24gdGhhdCB5b3Ug
cGxhbiB0byBidWlsZC4NCg0KICAtIEl0IGNvbnRhaW5zIGFsbCBvZiB0aGUg
ZmlsZXMgdGhhdCB0aGUgYXJ0aXN0cyBvciBwaG90b2dyYXBoZXJzDQogICAg
d2VyZSByZXNwb25zaWJsZSBmb3Igc3VwcGx5aW5nLg0KDQogIC0gTW9zdCBp
bXBvcnRhbnRseSwgdGhlIGxvY2F0aW9uIG9mIHRoZSBmaWxlcyBpbiB0aGUg
dGFyYmFsbCBkbw0KICAgICpub3QqIGhhdmUgdG8gbWF0Y2ggdGhlaXIgZXZl
bnR1YWwgbG9jYXRpb24gaW4gdGhlIG5ldyBSUE0uDQogICAgQmV0d2VlbiBl
eHRyYWN0aW5nIHRoZSBmaWxlcyBmcm9tIHRoZSBTT1VSQ0VTIGRpcmVjdG9y
eSBhbmQNCiAgICBhZGRpbmcgdGhlbSB0byB0aGUgYnVpbGQgcm9vdCwgeW91
IGhhdmUgdGhlIGZyZWVkb20gdG8gY2hhbmdlDQogICAgdGhlaXIgbG9jYXRp
b25zIHRvIG1hdGNoIHRoZSBldmVudHVhbCBkaXJlY3Rvcnkgc3RydWN0dXJl
Lg0KDQogICAgU3BlY2lmaWNhbGx5LCB0aGUgbG9jYXRpb24gb2YgYW55IGRv
Y3VtZW50YXRpb24gZmlsZXMgbGlrZSANCiAgICBSRUFETUUgZG9uJ3QgaGF2
ZSB0byBtYXRjaCB0aGVpciBmaW5hbCBsb2NhdGlvbi4gIEluIGZhY3QsDQog
ICAgdGhlcmUgaXMgYSB0cmFkaXRpb24gb2YgcHV0dGluZyBkb2MgZmlsZXMg
anVzdCB1bmRlciB0aGUgDQogICAgdG9wLWxldmVsIGRpcmVjdG9yeSBpbiB0
aGUgdGFyYmFsbCBhcyB0aGUgUlBNLWJ1aWxkaW5nDQogICAgcHJvY2VzcyBo
YXMgYSBzaG9ydGN1dCBmb3IgZGVhbGluZyB3aXRoIGRvYyBmaWxlcyB0aGF0
IGFyZQ0KICAgIHBsYWNlZCBoZXJlLg0KDQogIE9uZSBmaW5hbCBwb2ludDog
IFlvdSdsbCBub3RpY2UgdGhlIGFic2VuY2Ugb2YgdGhlIGNvcnBvcmF0ZQ0K
TElDRU5TRSBmaWxlIG9yIGNvcnBvcmF0ZSBwaWNzcnVzLmpwZyBmaWxlIGlu
IHRoZSB0YXJiYWxsLg0KVGhpbmsgb2YgdGhlIHRhcmJhbGwgYXMgd2hhdCB0
aGUgYXJ0aXN0cyBvciBwaG90b2dyYXBoZXJzIHdlcmUNCnJlcXVpcmVkIHRv
IHN1cHBseSBmb3IgdGhlIG5ldyBSUE07IHdoZXRoZXIgdGhlcmUgYXJlIGV4
dHJhDQpmaWxlcyBvciBpbWFnZXMgdGhhdCBoYXZlIHRvIGJlIGFkZGVkIGZv
ciB0aGUgZXZlbnR1YWwgUlBNDQppcyBhIHByb2JsZW0gZm9yIHlvdSwgdGhl
IFJQTSBidWlsZGVyLCBub3QgdGhlIGFydGlzdHMuDQpBbGwgdGhpcyBtZWFu
cyBpcyB0aGF0LCB3aGlsZSB0aGUgaW5pdGlhbCB0YXJiYWxsIGlzIGEgDQp3
b25kZXJmdWwgd2F5IHRvIGdldCB0aGUgaW5pdGlhbCBjb250ZW50cyBvZiB0
aGUgUlBNLCBpdA0KbWF5IG5vdCByZXByZXNlbnQgdGhlIGNvbXBsZXRlIGZp
bmFsIHJlc3VsdHMgLS0geW91IG1heSBoYXZlDQp0byBnZXQgZXh0cmEgaW5w
dXQgZnJvbSBvdGhlciBzb3VyY2VzIHRvIHNhdGlzZnkgdGhpbmdzIGxpa2UN
CmNvcnBvcmF0ZSBwb2xpY3kuDQoNCiAgQWxsIHJpZ2h0LCBub3cgdGhhdCB5
b3UgaGF2ZSB5b3VyIHRhcmJhbGwsIGl0J3MgdGltZSB0byBkZXNpZ24NCnlv
dXIgc3BlYyBmaWxlLg0KDQoqIFRoZSBzcGVjIGZpbGUNCioqIFdoYXQncyBh
IHNwZWMgZmlsZT8NCg0KICBUaGUgInNwZWMiIGZpbGUgZm9yIGEgbmV3IFJQ
TSAod2hvc2UgbmFtZSBpcyB0eXBpY2FsbHkNCjxwYWNrYWdlPi5zcGVjIG9y
LCBpbiBvdXIgY2FzZSwgImNhdHBpY3Muc3BlYyIpIGNvbnRhaW5zLCANCmFt
b25nIG90aGVyIHRoaW5ncywgdGhlIG5hbWUgYW5kIHZlcnNpb24gb2YgdGhl
IFJQTSB5b3UncmUgDQpidWlsZGluZywgYWxvbmcgd2l0aCBjb3Jwb3JhdGUg
aW5mb3JtYXRpb24gYW5kIGRldGFpbGVkIHN0ZXBzIA0KZGVzY3JpYmluZyB0
aGUgc291cmNlcywgaG93IHRvIGJ1aWxkIHRob3NlIHNvdXJjZXMgYW5kIGhv
dyB0byANCnBhY2thZ2UgdGhlIHJlc3VsdGluZyBmaWxlcyB0byBjcmVhdGUg
dGhlIG5ldyBSUE0uDQogIA0KICBNb3JlIHNwZWNpZmljYWxseSwgdGhlIHNw
ZWMgZmlsZSBzdGFydHMgd2l0aCBhICJwcmVhbWJsZSINCmRlc2NyaWJpbmcg
dGhlIHByb3BlcnRpZXMgb2YgdGhlIG5ldyBSUE0sIGZvbGxvd2VkIGJ5IHRo
ZQ0KaW5zdHJ1Y3Rpb25zIGZvciB0aGUgIiVwcmVwIiwgIiVidWlsZCIsICIl
aW5zdGFsbCIgYW5kICIlY2xlYW4iDQpzdGFnZXMsIGFzIHdlbGwgYXMgdGhl
ICIlZmlsZXMiIHNlY3Rpb24gd2hpY2ggbGlzdHMgcHJlY2lzZWx5DQp3aGlj
aCBmaWxlcyB5b3Ugd2FudCB0byBhZGQgdG8gdGhlIFJQTSBhbmQgd2hlcmUg
LS0gd2UnbGwNCmNvdmVyIHRoZXNlIHN0YWdlcyBvbmUgYXQgYSB0aW1lLg0K
ICANCiAgVGVjaG5pY2FsbHksIHRoZSBzcGVjIGZpbGUgY2FuIGJlIGNyZWF0
ZWQgYW55d2hlcmUsIGJ1dCBpdCdzDQp0cmFkaXRpb25hbCB0byBjcmVhdGUg
aXQgaW4geW91ciBTUEVDUyBkaXJlY3RvcnkuICBJZiwgYXQgYW55IA0KdGlt
ZSwgeW91IHdhbnQgdG8gc2VlIHRoZSBzcGVjIGZpbGUgaW4gaXRzIGVudGly
ZXR5LCBzZWUgDQp0aGUgbGlzdGluZyBmb3IgImNhdHBpY3Muc3BlYyIgaW4g
QXBwZW5kaXggQS4pDQoNCioqIFRoZSBwcmVhbWJsZQ0KDQogIENvbnNpZGVy
IGEgcG9zc2libGUgcHJlYW1ibGUgZm9yIG91ciBjYXRwaWNzLTEuMCBSUE0g
YXQgDQp0aGUgYmVnaW5uaW5nIG9mIHRoZSBzcGVjIGZpbGU6DQoNCi0tLS0t
IGJlZ2luIHByZWFtYmxlIC0tLS0tDQogIFN1bW1hcnk6IENhdFBpY3MsIGEg
Y29sbGVjdGlvbiBvZiBmZWxpbmUgaW1hZ2VzDQogIE5hbWU6IGNhdHBpY3MN
CiAgVmVyc2lvbjogMS4wDQogIFJlbGVhc2U6IDENCiAgQ29weXJpZ2h0OiBH
UEwNCiAgR3JvdXA6IEFtdXNlbWVudHMvR3JhcGhpY3MNCiAgU291cmNlOiBm
dHA6Ly9mdHAucGljc3J1cy5jb20vcHViLyV7bmFtZX0tJXt2ZXJzaW9ufS50
Z3oNCiAgVVJMOiBodHRwOi8vd3d3LnBpY3NydXMuY29tL3B1Yi9waWNzL2Nh
dHBpY3MuaHRtbA0KICBCdWlsZEFyY2g6IG5vYXJjaA0KICBCdWlsZFJvb3Q6
ICV7X3RtcHBhdGh9LyV7bmFtZX0tcm9vdA0KICBWZW5kb3I6IFBpY3MgUiBV
cywgSW5jLg0KICBQYWNrYWdlcjogRnJlZCBCZXJmZXJkIDxmcmVkQHBpY3Ny
dXMuY29tPg0KICBSZXF1aXJlczogZWUNCg0KICAlZGVzY3JpcHRpb24NCiAg
VGhpcyBwYWNrYWdlIGNvbnRhaW5zIENhdFBpY3MsIGp1c3QgYSBjb2xsZWN0
aW9uIG9mIA0KICBmZWxpbmUgaW1hZ2VzIGluIHZhcmlvdXMgZ3JhcGhpY3Mg
Zm9ybWF0cywgYWxvbmcgd2l0aA0KICBzb21lIGRvY3VtZW50YXRpb24gYW5k
IGNvcnBvcmF0ZSBpbmZvIGZpbGVzLg0KLS0tLS0gZW5kIHByZWFtYmxlIC0t
LS0tDQoNCiAgVGhlIHByZWFtYmxlIHJlcHJlc2VudHMgdGhlIGluZm9ybWF0
aW9uIHNvbWVvbmUgY2FuIHNlZSBpZg0KdGhleSBxdWVyeSB0aGUgZXZlbnR1
YWwgUlBNIHdpdGg6DQoNCiAgJCBycG0gLXFwaSBjYXRwaWNzLTEuMC0xLm5v
YXJjaC5ycG0NCg0KU29tZSBvZiB0aGVzZSB2YWx1ZXMgc2hvdWxkIGJlIG9i
dmlvdXM7IHNvbWUgb2JzZXJ2YXRpb25zIGFib3V0DQp0aGUgcmVzdDoNCg0K
ICAtIFRoZSBHcm91cCB2YWx1ZSBzaG91bGQgYmUgb25lIG9mIHRoZSB2YWx1
ZXMgZnJvbSB0aGUgZmlsZQ0KICAgIC91c3Ivc2hhcmUvZG9jL3JwbS00LjAu
My9HUk9VUFMuICBTdHJpY3RseSBzcGVha2luZywgaXQgDQogICAgZG9lc24n
dCAqaGF2ZSogdG8gYmUsIGJ1dCB5b3UncmUgc3Ryb25nbHkgZW5jb3VyYWdl
ZCB0byB1c2UNCiAgICBvbmUgb2YgdGhvc2UgY29tYmluYXRpb25zLg0KDQog
IC0gVGhlIFNvdXJjZSB2YWx1ZSByZXByZXNlbnRzIHR3byB0aGluZ3M6ICB0
aGUgZnVsbCBuYW1lIHBvaW50cw0KICAgIGF0IHRoZSB0YXJiYWxsJ3MgbG9j
YXRpb24gb24gdGhlIEludGVybmV0LCB3aGlsZSBvbmx5IHRoZSBsYXN0DQog
ICAgY29tcG9uZW50IG9mIHRoYXQgcGF0aG5hbWUgcmVwcmVzZW50cyB0aGUg
bmFtZSBvZiB0aGUgdGFyYmFsbA0KICAgIGluIHRoZSBTT1VSQ0VTIGRpcmVj
dG9yeS4gIFNvLCByZWFsbHksIGl0J3Mgb25seSB0aGF0IGxhc3QNCiAgICBj
b21wb25lbnQgdGhhdCBtYXR0ZXJzIGhlcmUuICBTaW1pbGFybHksIHRoZSBV
UkwgdmFsdWUgaXMNCiAgICBub3QgZXNzZW50aWFsLCBhbmQgaXMgYSBwb2lu
dGVyIHRvIGRvY3VtZW50YXRpb24gZm9yIHRoZSBwYWNrYWdlDQogICAgYXZh
aWxhYmxlIG9uIHRoZSAnTmV0LCBpZiBhbnlvbmUgd2FudHMgdG8gZ28gaHVu
dGluZyBmb3IgaXQuDQoNCiAgLSBCdWlsZFJvb3QgcmVwcmVzZW50cyB0aGUg
bG9jYXRpb24gd2hlcmUgeW91IHBsYW4gb24gYnVpbGRpbmcNCiAgICB0aGUg
ZGlyZWN0b3J5IHN0cnVjdHVyZSB0aGF0IHdpbGwgdWx0aW1hdGVseSBtYXRj
aCB0aGUgZmluYWwNCiAgICBzdHJ1Y3R1cmUgaW4gdGhlIFJQTSAtLSB3aGVy
ZSB0aGluZ3Mgd2lsbCBnbyB3aGVuIHRoZSBSUE0gaXMNCiAgICBpbnN0YWxs
ZWQgb24gdGhlIHRhcmdldCBob3N0Lg0KDQogICAgQXMgc2hvd24gYWJvdmUs
IGl0J3MgdHJhZGl0aW9uYWwgdG8gcHV0IGFsbCBuZXcgYnVpbGQgcm9vdHMN
CiAgICBpbiB0aGUgfi9ycG0vdG1wIGRpcmVjdG9yeSwgaW4gYSBzdWJkaXJl
Y3RvcnkgbWF0Y2hpbmcgdGhlIG5hbWUNCiAgICBvZiB0aGUgcGFja2FnZS4g
IEluIG91ciBjYXNlLCB0aGlzIFJQTSdzIGJ1aWxkIHJvb3Qgd2lsbCBiZSB0
aGUNCiAgICBkaXJlY3Rvcnkgfi9ycG0vdG1wL2NhdHBpY3Mtcm9vdCwgYW5k
IGl0IHdpbGwgYmUgeW91ciBqb2IgdG8NCiAgICBjb3B5IHVuZGVyIHRoYXQg
ZGlyZWN0b3J5IHdoYXQgeW91IHdhbnQgYXMgdGhlIGV2ZW50dWFsIGZpbGUN
CiAgICBhbmQgZGlyZWN0b3J5IGxheW91dCBvZiB0aGUgZmluYWwgUlBNLg0K
DQogIFRoZSByZXN0IG9mIHRoZSBwcmVhbWJsZSBpcyBmYWlybHkgc3RyYWln
aHRmb3J3YXJkLCBhbmQgZXZlbiANCmRlbW9uc3RyYXRlcyBhIHNpbXBsZSBw
YWNrYWdlIHByZXJlcXVpc2l0ZSAtLSB5b3UgY2FuIHJlcXVpcmUNCnRoYXQg
dGhlICJlZSIgcGFja2FnZSBiZSBpbnN0YWxsZWQgb24gdGhlIHRhcmdldCBo
b3N0IGJlZm9yZQ0KdGhpcyBSUE0gY2FuIGJlIGluc3RhbGxlZC4NCg0KICAo
U2hvcnQgYXNpZGU6IHlvdSdyZSBhbGxvd2VkIHRvIGhhdmUgbW9yZSB0aGFu
IG9uZSBTb3VyY2UNCmRpcmVjdGl2ZSBpZiB5b3VyIHNvdXJjZXMgZm9yIHRo
aXMgbmV3IFJQTSBhcmUgY29taW5nIGZyb20gbW9yZQ0KdGhhbiBvbmUgbG9j
YXRpb24gYnV0LCBhcyBJIHNhaWQsIEknZCBsaWtlIHRvIGtlZXAgdGhpcyBz
aW1wbGUuKQ0KDQogIEFuZCBub3csIG9uIHdpdGggdGhlIGFjdHVhbCBjb25z
dHJ1Y3Rpb24uDQoNCioqIFRoZSBzY3JpcHQgdmFyaWFibGVzIChhIGh1Z2Ug
Zm9vdG5vdGUsIHJlYWxseSkNCg0KICBHaXZlbiB0aGF0IHRoZSByZXN0IG9m
IHRoZSBzcGVjIGZpbGUgcmVwcmVzZW50cyBjb21tYW5kcyB0byBiZQ0KcnVu
IHRoYXQgd2lsbCB1bmxvYWQsIHByb2Nlc3MgYW5kIGJ1aWxkIGEgbmV3IFJQ
TSwgaXQncyB3b3J0aA0KcG9pbnRpbmcgb3V0IHRoYXQsIGF0IHRoaXMgcG9p
bnQsIHRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSBub3cNCmF2YWlsYWJs
ZSB0byB1c2UgaW4gYW55IG9mIHRoZXNlIHVwY29taW5nIHN0ZXBzIChzaG93
biB3aXRoIHRoZWlyDQp2YWx1ZXMgZm9yIG91ciBleGFtcGxlKToNCg0KICBS
UE1fUEFDS0FHRV9OQU1FCQljYXRwaWNzDQogIFJQTV9QQUNLQUdFX1ZFUlNJ
T04JCTEuMA0KICBSUE1fUEFDS0FHRV9SRUxFQVNFCQkxDQogIFJQTV9BUkNI
CQkJaTM4Ng0KICBSUE1fT1MJCQlsaW51eA0KICBSUE1fU09VUkNFX0RJUgkJ
L2hvbWUvZnJlZC9ycG0vU09VUkNFUw0KICBSUE1fQlVJTERfRElSCQkJL2hv
bWUvZnJlZC9ycG0vQlVJTEQNCiAgUlBNX0JVSUxEX1JPT1QJCS9ob21lL2Zy
ZWQvcnBtL3RtcC9jYXRwaWNzLXJvb3QNCg0KSWYgeW91IHdhbnQgdG8gcmVm
ZXIgdG8gYW55IG9mIHRoZW0sIHlvdSBjYW4gdXNlIGVpdGhlciwgZm9yDQpl
eGFtcGxlLCAke1JQTV9CVUlMRF9ST09UfSBvciBqdXN0ICRSUE1fQlVJTERf
Uk9PVC4NCg0KICBPbmUgaW1wb3J0YW50IG5vdGUgaGVyZTogRG9uJ3QgY29u
ZnVzZSB0aGUgImJ1aWxkIGRpcmVjdG9yeSIgDQp3aXRoIHRoZSAiYnVpbGQg
cm9vdCIgLS0gdGhlIGJ1aWxkIGRpcmVjdG9yeSBpcyB3aGVyZSB0aGUgdGFy
YmFsbCANCndpbGwgYmUgdW5sb2FkZWQgYW5kIHByb2Nlc3NlZCwgd2hpbGUg
dGhlICJidWlsZCByb290IiBpcyB3aGVyZSANCnlvdSB3aWxsIGNvbnN0cnVj
dCwgcGllY2UgYnkgcGllY2UsIGFuIGV4YWN0IGltYWdlIG9mIHRoZSBmaWxl
cyANCmFuZCBkaXJlY3RvcmllcyB0byBiZSBjb250YWluZWQgaW4gdGhlIFJQ
TS4gIChJdCdzIHVuZm9ydHVuYXRlIHRoYXQgDQp0aGlzIGRpcmVjdG9yeSB3
YXMgY2FsbGVkIHRoZSAiYnVpbGQgcm9vdCIgLS0gY2FsbGluZyBpdCB0aGUN
CiJpbnN0YWxsIHJvb3QiIHdvdWxkIGhhdmUgbWFkZSBtdWNoIG1vcmUgc2Vu
c2UuKQ0KDQogIE5vdywgb24gdG8gdGhlIGZpcnN0IHN0YWdlIC0tIHRoZSAi
JXByZXAiIHN0YWdlLg0KDQoqKiBUaGUgJXByZXAgc3RhZ2UNCg0KICBUaGUg
cHVycG9zZSBvZiB0aGUgJXByZXAgc3RhZ2UgaXMgc2ltcGx5IHRvIGdhdGhl
ciBpbnRvIHRoZQ0KYXBwcm9wcmlhdGUgImJ1aWxkIiBkaXJlY3RvcnkgYWxs
IG9mIHRoZSBzb3VyY2VzIHlvdSdsbCBuZWVkDQp0byBidWlsZCB0aGUgbmV3
IFJQTS4gIEVhY2ggbmV3IFJQTSBzaG91bGQgZ2V0IGl0cyBvd24gYnVpbGQN
CnN1YmRpcmVjdG9yeSB1bmRlciB0aGUgbWFpbiBidWlsZCBkaXJlY3Rvcnkg
c28gdGhpcyBzdWdnZXN0cw0KdGhhdCwgd2hpbGUgdGhlIG1haW4gYnVpbGQg
ZGlyZWN0b3J5IGZvciBhbGwgUlBNcyBpcyANCn5mcmVkL3JwbS9CVUlMRCAo
b3IgJHtSUE1fQlVJTERfRElSfSBmb3Igc2hvcnQpLCB0aGUgY2F0cGljcy1z
cGVjaWZpYyANCmJ1aWxkIGRpcmVjdG9yeSB3aWxsIGJlICR7UlBNX0JVSUxE
X0RJUn0vY2F0cGljcy0xLjAuDQoNCiAgR2l2ZW4gdGhhdCB0aGUgcHVycG9z
ZSBvZiB0aGUgJXByZXAgc3RhZ2UgaXMgdG8gdW5sb2FkIHRoZQ0KY2F0cGlj
cyBzb3VyY2UgaW50byB0aGUgY29ycmVzcG9uZGluZyBidWlsZCBkaXJlY3Rv
cnksIHdlDQpjb3VsZCwgaWYgd2Ugd2FudGVkLCBkbyB0aGlzIG1hbnVhbGx5
IHdpdGggc29tZXRoaW5nIGxpa2U6DQoNCiAgJXByZXANCiAgY2QgJHtSUE1f
QlVJTERfRElSfQ0KICBybSAtcmYgY2F0cGljcy0xLjAgICAgICAgICAgCQkj
IHJlbW92ZSBvbGQgdmVyc2lvbj8/DQogIGd6aXAgLWRjICR7UlBNX1NPVVJD
RV9ESVJ9L2NhdHBpY3MtMS4wLnRneiB8IHRhciB4dmYgLQ0KICBjZCBjYXRw
aWNzLTEuMAkJCSMgZW50ZXIgbmV3IGRpcg0KDQpUaGUgZW5kIHJlc3VsdCBv
ZiB0aGUgYWJvdmUgaXMgdGhhdCB3ZSBlbmQgdXAgYXQgdGhlIHRvcCBsZXZl
bA0Kb2YgYSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgY29udGVudHMgb2Yg
dGhlIGNhdHBpY3MtMS4wIHRhcmJhbGwsDQpyZWFkeSB0byBzdGFydCB0aGUg
YnVpbGQgc3RhZ2UuDQoNCiAgSG93ZXZlciwgdW5sb2FkaW5nIGZyb20gYSB0
YXJiYWxsIGlzIHN1Y2ggYSBjb21tb24gcHJvY2VkdXJlDQp0aGF0IHlvdSBj
YW4gdXNlIHRoZSBzaG9ydGN1dCBtYWNybyAiJXNldHVwIiBpbiBvbmUgb2Yg
dHdvIHdheXM6DQoNCiAgJXByZXANCiAgJXNldHVwCQkjIHJlZ3VsYXIgc2V0
dXAgb3IgLi4uDQogICVzZXR1cCAtcQkJIyAuLi4gcXVpZXQgc2V0dXANCg0K
SW4gZWl0aGVyIGNhc2UsIHRoZSBlbmQgcmVzdWx0IGlzIHRoZSBzYW1lLCBh
bmQgeW91IGVuZCB1cCBpbg0KdGhlIGNhdHBpY3MgYnVpbGQgZGlyZWN0b3J5
LCBsb29raW5nIGF0IHRoZSBjb250ZW50cyBvZiB0aGUNCmNhdHBpY3MgdGFy
YmFsbDoNCg0KICBwaWNzL2pvbmVzLmpwZw0KICBwaWNzL3hlbmEuanBnDQog
IHBpY3MvY2xhcmVuY2UuanBnDQogIHBpY3MvZWxsaW90dC5qcGcNCiAgQVJU
SVNUUw0KICBSRUFETUUNCg0KQXQgdGhpcyBwb2ludCwgeW91J3ZlIGRvbmUg
dGhlIHByZXAgYW5kIGNhbiBtb3ZlIG9uIHRvIHRoZQ0KImJ1aWxkIiBzdGFn
ZSwgZXhjZXB0IGZvciBvbmUgcG9zc2libGUgY29tcGxpY2F0aW9uLg0KDQog
IE5vdGljZSB0aGF0IHdlJ3JlIHN0aWxsIG1pc3NpbmcgdGhlIGNvcnBvcmF0
ZSBMSUNFTlNFIGZpbGUNCmFuZCBjb3Jwb3JhdGUgZ3JhcGhpY3MgZmlsZSBm
cm9tIHRoZSBjYXRwaWNzIGJ1aWxkIGRpcmVjdG9yeS4NCklmIHdlIHJlYWxs
eSB3YW50ICphbGwqIG9mIHRoZSBuZWNlc3Nhcnkgc291cmNlIGhlcmUgaW4g
dGhlDQpidWlsZCBkaXJlY3RvcnkgYmVmb3JlIHdlIGdvIGFueSBmdXJ0aGVy
LCB3ZSBjYW4ganVzdCBhZGQNCmEgY291cGxlIG9mIGFwcHJvcHJpYXRlICJj
cCIgc3RhdGVtZW50cyB0byB0aGUgJXByZXAgc3RhZ2UsDQphcyBpbjoNCg0K
ICAlcHJlcA0KICAlc2V0dXAgLXENCiAgY3AgL2V0Yy9MSUNFTlNFIC4NCiAg
Y3AgL2V0Yy9waWNzcnVzLmpwZyBwaWNzDQoNCkknbSBub3Qgc3VnZ2VzdGlu
ZyB0aGF0IHRoaXMgaXMgYSBjb21tb24gdGhpbmcgdG8gZG8sIG9yDQpldmVu
IHRoYXQgaXQncyB0aGUgcmlnaHQgd2F5IHRvIGRvIGl0LiAgKEluIGZhY3Qs
IGlmIHlvdSBuZWVkDQp0byBnZXQgeW91ciBzb3VyY2UgZnJvbSBzZXZlcmFs
IGRpZmZlcmVudCBsb2NhdGlvbnMsIHRoZSBwcm9wZXINCndheSB0byBkbyBp
dCBpcyB0byB1c2Ugc2V2ZXJhbCBTb3VyY2UgZGlyZWN0aXZlcy4pICBJJ20g
anVzdA0KZGVtb25zdHJhdGluZyBob3cgeW91IGNhbiBiZSBhcyBwYXJ0aWN1
bGFyIGFzIHlvdSB3YW50IGluIA0KdGhlICVwcmVwIHN0YWdlIGluIHRlcm1z
IG9mIGNvbGxlY3RpbmcgYWxsIG9mIHRoZSBuZWNlc3NhcnkNCnNvdXJjZS4N
Cg0KICBJbiBhbnkgZXZlbnQsIG5vdyB0aGF0IHlvdSd2ZSBmaW5pc2hlZCBw
cmVwcGluZywgaXQncyBvbiB0bw0KdGhlICVidWlsZCBzdGFnZSBvZiB0aGUg
c3BlYyBmaWxlLg0KDQoqKiBUaGUgJWJ1aWxkIHN0YWdlIChDSEFOR0UpDQoN
CiAgR2l2ZW4gdGhhdCB5b3UncmUgY3VycmVudGx5IGluIHRoZSBidWlsZCBk
aXJlY3RvcnkgZm9yIHRoZQ0KY2F0cGljcyBSUE0sIHRoaXMgc3RhZ2UgaXMg
d2hlcmUgeW91J2QgZG8gYW55ICJidWlsZGluZyIgb2YNCmFkZGl0aW9uYWwg
ZmlsZXMgdGhhdCBuZWVkIHRvIGdvIGluIHRoZSBuZXcgUlBNLg0KDQogIElu
IHRoZSBjYXNlIG9mIGEgYmluYXJ5IFJQTSB3aGVyZSB5b3UgaGF2ZSB0byBj
b21waWxlIA0KZXhlY3V0YWJsZXMsIHRoaXMgaXMgd2hlcmUgeW91IHdvdWxk
IHJ1biB0aGluZ3MgbGlrZSAiY29uZmlndXJlIg0KYW5kICJtYWtlIiBhbmQg
Im1ha2UgaW5zdGFsbCIgdG8gZ2V0IHRoZSBuZXcgZXhlY3V0YWJsZXMgLS0N
CmhlbmNlIHRoZSByZWFzb24gaXQncyBjYWxsZWQgYSAiYnVpbGQiIGRpcmVj
dG9yeS4gIEluIG90aGVyDQp3b3JkcywgdGhpcyBpcyB0aGUgc3RhZ2Ugd2hl
cmUgeW91IGhhdmUgdG8gc29tZWhvdyBjcmVhdGUNCnRoZSBjb250ZW50cyBv
ZiB0aGUgbmV3IFJQTSB0aGF0IGRvbid0IGNvbWUgZGlyZWN0bHkgZnJvbSB0
aGUNCnRhcmJhbGwuDQoNCiAgSW4gb3VyIGNhc2UsIHNpbmNlIHdlIGhhdmUg
YWxsIHRoZSBjb250ZW50cyB3ZSBuZWVkIGFuZA0KaGF2ZSBub3RoaW5nIHRv
IGJ1aWxkLCBvdXIgZW50aXJlIGJ1aWxkIHN0YWdlIGNvdWxkIGJlDQpub3Ro
aW5nIG1vcmUgdGhhbjoNCg0KICAlYnVpbGQNCiAgZXhpdCAwDQoNCkFuZCBz
aW5jZSB3ZSBkaWRuJ3QgaGF2ZSB0byBidWlsZCBhbnl0aGluZywgd2UgY2Fu
IGhlYWQgcmlnaHQNCmludG8gdGhlICIlaW5zdGFsbCIgc3RhZ2UuDQoNCiAg
KFNpZGUgbm90ZTogIEV2ZW4gaWYgd2UncmUgYnVpbGRpbmcgYSBub2FyY2gg
UlBNLCB0aGVyZSBhcmUNCmFsd2F5cyB0cml2aWFsIHRoaW5ncyB3ZSBtaWdo
dCB3YW50IHRvIGRvIGluIHRoZSBidWlsZCBzdGFnZS4NCldlIG1pZ2h0IGNy
ZWF0ZSBhIGhpZGRlbiB0aW1lc3RhbXAgZmlsZSBzaG93aW5nIHdoZW4gdGhp
cyBSUE0gDQp3YXMgYnVpbHQgYnkgcnVubmluZyBzb21ldGhpbmcgbGlrZToN
Cg0KICBkYXRlID4gLi8uVElNRVNUQU1QDQoNCiAgSXQncyBhbHNvIHBvc3Np
YmxlIHRvIGNvcHkgdGhlIG5vbi10YXJiYWxsIExJQ0VOU0UgYW5kDQpwaWNz
cnVzLmpwZyBmaWxlcyBpbiB0aGlzIHN0YWdlIHJhdGhlciB0aGFuIHRoZSAl
cHJlcCBzdGFnZS4NClRoZSBlbmQgcmVzdWx0IGlzIHRoZSBzYW1lIGJ1dCwg
YWdhaW4sIEknbSBqdXN0IHRocm93aW5nIHRoaXMNCmluIHRvIGRlbW9uc3Ry
YXRlIHRoYXQgeW91IGNhbiBjdXN0b21pemUgdGhpcyBzdGFnZSBhcyB3ZWxs
Lg0KDQogIEFkbWl0dGVkbHksIHRoZXNlIGFyZSBwcmV0dHkgdHJpdmlhbCBl
eGFtcGxlcywgYnV0IHRoZXkNCmRlbW9uc3RyYXRlIHRoYXQsIGlmIHRoZXJl
J3MgYW55dGhpbmcgeW91IG5lZWQgdG8gZG8gdG8gY3JlYXRlDQphZGRpdGlv
bmFsIFJQTSBjb250ZW50cyB0aGF0IGRvbid0IGNvbWUgZGlyZWN0bHkgZnJv
bSB0aGUgdGFyYmFsbCwNCnRoaXMgaXMgdGhlIHBsYWNlIHRvIGRvIGl0LikN
Cg0KICBOb3csIG9uIHRvIHRoZSAlaW5zdGFsbCBzdGFnZS4NCg0KKiogVGhl
ICVpbnN0YWxsIHN0YWdlDQoNCiAgTm93IHRoYXQgdGhlICVidWlsZCBzdGFn
ZSBoYXMgY3JlYXRlZCAoaW4gdGhlIGRpcmVjdG9yeQ0KJHtSUE1fQlVJTERf
RElSfS9jYXRwaWNzLTEuMCkgYWJzb2x1dGVseSBldmVyeXRoaW5nIHlvdSBu
ZWVkDQp0byBidWlsZCB0aGUgbmV3IFJQTSwgdGhlIGpvYiBvZiB0aGUgJWlu
c3RhbGwgc3RhZ2UgaXMgdG8NCmNyZWF0ZSwgaW4geWV0ICphbm90aGVyKiBk
aXJlY3RvcnksIGFuIGV4YWN0IGNvcHkgb2YgdGhlDQpmaWxlcyBhbmQgZGly
ZWN0b3JpZXMsIGluIHRoZWlyIHByb3BlciBsb2NhdGlvbnMsIG9mIHdoYXQN
CnlvdSB3YW50IGJ1aWx0IGludG8gdGhlIG5ldyBSUE0uDQoNCiAgVGhpcyBu
ZXcgZGlyZWN0b3J5IGlzIGNhbGxlZCB0aGUgImJ1aWxkIHJvb3QiIG9mIHRo
ZSBuZXcNClJQTSBhbmQgaXMgdHlwaWNhbGx5IGNyZWF0ZWQgdW5kZXIgeW91
ciBSUE0gdG1wIGRpcmVjdG9yeS4NCkluIG91ciBjYXNlLCB0aGUgYnVpbGQg
cm9vdCBkaXJlY3Rvcnkgd291bGQgYmUNCn5mcmVkL3JwbS90bXAvY2F0cGlj
cy0xLjAsIHdob3NlIHZhbHVlIGlzLCBqdXN0IGluIGNhc2UgeW91DQpuZWVk
IGl0LCBhdmFpbGFibGUgaW4gdGhlIHZhcmlhYmxlICR7UlBNX0JVSUxEX1JP
T1R9Lg0KDQogIFlvdXIgam9iLCBpbiB0aGUgJWluc3RhbGwgc3RhZ2UsIGlz
IHRvIGNvcHkgc3RlcCBieSBzdGVwLA0KZXZlcnl0aGluZyB5b3Ugd2FudCBp
biB0aGUgbmV3IFJQTSwgYmFzZWQgb24gaXRzIGluc3RhbGwNCmxvY2F0aW9u
IHJlbGF0aXZlIHRvIHRoZSByb290IGRpcmVjdG9yeSBvbiBkb3duLg0KDQog
IFJlY2FsbCB0aGF0IHdlIHdhbnRlZCB0aGUgY2F0cGljcyBSUE0gdG8gaW5z
dGFsbCB0aGUgDQpmb2xsb3dpbmcgb24gdGhlIHRhcmdldCBob3N0Og0KDQog
IC91c3IvbG9jYWwvY2F0cGljcy88Y2F0IGltYWdlIGZpbGVzPiAgIyBpbmNs
dWRpbmcgcGljc3J1cy5qcGcNCiAgL3Vzci9zaGFyZS9kb2MvY2F0cGljcy0x
LjAve1JFQURNRSxBUlRJU1RTLExJQ0VOU0V9DQoNCiAgR2l2ZW4gdGhlIGFi
b3ZlLCBvdXIgZW50aXJlICVpbnN0YWxsIHNlY3Rpb24gbWlnaHQgYmU6DQog
IA0KICAlaW5zdGFsbA0KICBybSAtcmYgJHtSUE1fQlVJTERfUk9PVH0gDQog
IG1rZGlyIC1wICR7UlBNX0JVSUxEX1JPT1R9L3Vzci9sb2NhbC9jYXRwaWNz
DQogIGNwIHBpY3MvKiAke1JQTV9CVUlMRF9ST09UfS91c3IvbG9jYWwvY2F0
cGljcw0KDQpBcyB5b3UgY2FuIHNlZSwgdGhlIGJ1aWxkIHJvb3QgZm9yIHRo
aXMgUlBNIHNob3VsZCBjb250YWluDQpldmVyeXRoaW5nIHlvdSB3YW50IGlu
IHRoZSBuZXcgUlBNLCBpbiBpdHMgYXBwcm9wcmlhdGUgbG9jYXRpb24NCnJl
bGF0aXZlIHRvIHRoZSByb290IGRpcmVjdG9yeS4gIE5vdGUgdGhhdCB0aGUg
ZXZlbnR1YWwNCmRpcmVjdG9yeSBzdHJ1Y3R1cmUgZG9lcyBub3QgaGF2ZSB0
byBtYXRjaCB0aGUgd2F5IHRoZSBmaWxlcw0KYW5kIGRpcmVjdG9yaWVzIGNh
bWUgb3V0IG9mIHRoZSBvcmlnaW5hbCB0YXJiYWxsLiAgWW91IGNsZWFybHkN
CmhhdmUgdGhlIGZsZXhpYmlsaXR5IHRvIHJlc3RydWN0dXJlIHRoZSBuZXcg
UlBNIGFueSB3YXkgeW91DQp3YW50Lg0KDQogIE5vdGUgYWxzbyB0aGF0IG91
ciAlaW5zdGFsbCBzdGFnZSBkaWRuJ3QgZG8gYW55dGhpbmcgd2l0aCB0aGUN
CmRvY3VtZW50YXRpb24gZmlsZXMuICBUaGlzIGlzIGJlY2F1c2UgZG9jIGZp
bGVzIGFyZSBjb25zaWRlcmVkDQphIHNwZWNpYWwgY2FzZSwgYW5kIGNhbiBi
ZSB0cmVhdGVkIHNlcGFyYXRlbHkgaW4gYSBsYXRlcg0Kc2VjdGlvbi4gIFNv
LCBvdGhlciB0aGFuIHRoZSBtaXNzaW5nIGRvYyBmaWxlcywgd2UncmUgcHJl
dHR5DQptdWNoIGZpbmlzaGVkIHdpdGggdGhlICVpbnN0YWxsIHNlY3Rpb24u
DQoNCiAgKFNpZGUgbm90ZTogIEl0J3MgdW5mb3J0dW5hdGUgdGhhdCB0aGUg
ZGlyZWN0b3J5IHdlJ3ZlIGJlZW4NCnBvcHVsYXRpbmcgaXMgcmVmZXJyZWQg
dG8gb2ZmaWNpYWxseSBhcyB0aGUgImJ1aWxkIHJvb3QiLg0KSXQgd291bGQg
c2VlbSB0aGF0IHRoZSBwcmV2aW91cyBkaXJlY3RvcnksIHdob3NlIG5hbWUg
cmVhbGx5DQppcyAiQlVJTEQsIiB3b3VsZCBiZSBiZXR0ZXIgbmFtZWQgdGhl
IGJ1aWxkIHJvb3QsIHdoaWxlIGl0DQptYWtlcyBtb3JlIHNlbnNlIHRvIGNh
bGwgdGhpcyBvbmUgdGhlICJpbnN0YWxsIHJvb3QiLiAgQnV0DQppdCdzIHRv
byBsYXRlIG5vdy4pDQoNCiAgV2UncmUgYWxtb3N0IHJlYWR5IHRvIGJ1aWxk
IHRoZSBuZXcgUlBNIC0tIG9ubHkgYSBjb3VwbGUNCnN0YWdlcyB0byBnby4N
Cg0KKiogVGhlICVjbGVhbiBzdGFnZQ0KDQogIFdoZW4gdGhlIFJQTSBpcyBl
dmVudHVhbGx5IGNvbnN0cnVjdGVkLCB5b3UgaGF2ZSB0aGUNCnJpZ2h0IHRv
IGRvIHNvbWUgYXV0b21hdGljIGNsZWFudXAgYnkgZGVmaW5pbmcgYSAlY2xl
YW4gc3RhZ2UNCmhlcmUuICBXaGlsZSB5b3UgY2FuIGNsZWFuIGFzIG11Y2gg
YXMgeW91IHdhbnQsIHRoZSBmb2xsb3dpbmcNCmlzIGEgcGVyZmVjdGx5IHJl
c3BlY3RhYmxlIGV4YW1wbGUgb2YgY2xlYW5pbmc6DQoNCiAgJWNsZWFuDQog
IHJtIC1yZiAke1JQTV9CVUlMRF9ST09UfQ0KDQpLZWVwIGluIG1pbmQgdGhh
dCwgd2hpbGUgeW91IGRlZmluZSB0aGUgJWNsZWFuIHN0YWdlIGhlcmUsIGl0
J3MNCm5vdCBhY3R1YWxseSBydW4gdW50aWwgdGhlIGVuZCBvZiBhIHN1Y2Nl
c3NmdWwgUlBNIGNvbnN0cnVjdGlvbi4NClNvIHdoYXQncyBsZWZ0PyAgSnVz
dCB0aGUgJWZpbGVzIHN0YWdlLg0KDQoqKiBUaGUgJWZpbGVzIHN0YWdlDQoN
CiAgVGhlIGZpbmFsIHN0YWdlIGluIG91ciBzcGVjIGZpbGUsIHRoZSAlZmls
ZXMgc3RhZ2UsIGlzIHVzZWQNCnRvIGlkZW50aWZ5IGV4YWN0bHkgd2hpY2gg
ZmlsZXMgYW5kIGRpcmVjdG9yaWVzIHNob3VsZCBiZQ0KY29waWVkIGZyb20g
dGhlIGJ1aWxkIHJvb3QgaW50byB0aGUgbmV3IFJQTS4gIExldCBtZSBtYWtl
DQpzdXJlIHlvdSB1bmRlcnN0YW5kIHRoaXMgbGFzdCBzdGF0ZW1lbnQuDQoN
CiAgV2hpbGUgdGhlIHByZXZpb3VzICVpbnN0YWxsIHN0YWdlIGNyZWF0ZWQg
YSBkaXJlY3RvcnkNCnN0cnVjdHVyZSBmb3IgdGhlIG5ldyBSUE0gdW5kZXIg
dGhlIGJ1aWxkIHJvb3QsIHlvdSBoYXZlIG5vDQpvYmxpZ2F0aW9uIHRvIGFk
ZCAqYWxsKiBvZiB0aGVzZSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgdG8NCnRo
ZSBSUE0gLS0geW91IGNhbiBiZSBzZWxlY3RpdmUgYWJvdXQgd2hhdCBnZXRz
IGFkZGVkLg0KSW4gb3RoZXIgd29yZHMsIHdoaWxlIGl0J3MgYSBiYWQgaWRl
YSwgeW91IGNhbiBiZSBzbG9wcHkNCmFuZCBjb3B5IGV4dHJhbmVvdXMganVu
ayBpbnRvIHRoZSBidWlsZCByb290IGR1cmluZyB0aGUNCiVpbnN0YWxsIHN0
YWdlIC0tIHlvdSBqdXN0IGRvbid0IG5lZWQgdG8gc2VsZWN0IGFsbCBvZiBp
dCANCmZvciBpbmNsdXNpb24gaW4gdGhlIFJQTS4NCg0KICBGb3Igb3VyIGV4
YW1wbGUsIGhlcmUncyBhIHJlc3BlY3RhYmxlICVmaWxlcyBzZWN0aW9uOg0K
DQogICVmaWxlcw0KICAlZGVmYXR0cigtLHJvb3Qscm9vdCkNCiAgL3Vzci9s
b2NhbC9jYXRwaWNzDQogICVkb2MgUkVBRE1FIEFSVElTVFMgTElDRU5TRQ0K
DQpXaGF0IGRvZXMgYWxsIHRoaXMgbWVhbj8NCg0KICBGaXJzdCwgeW91IGNh
biwgaWYgeW91IHdhbnQsIGhhdmUgYSBzaW5nbGUgJWRlZmF0dHIgZGlyZWN0
aXZlLA0Kd2hpY2ggZGljdGF0ZXMgdGhlIGRlZmF1bHQgcGVybWlzc2lvbnMs
IG93bmVyIGFuZCBncm91cCB5b3UNCndhbnQgZm9yIHRoZSBjb250ZW50cyBv
ZiB0aGUgUlBNLiAgQSBoeXBoZW4gbWVhbnMgdGhhdCB5b3UnbGwNCnRha2Ug
dGhlIGN1cnJlbnQgdmFsdWUsIHdoYXRldmVyIGl0IGlzLg0KDQogIEZvbGxv
d2luZyB0aGUgb3B0aW9uYWwgJWRlZmF0dHIsIHlvdSBzaG91bGQgbGlzdCBh
bGwgb2YgdGhlDQpmaWxlcyBhbmQgZGlyZWN0b3JpZXMgeW91IHdhbnQgYWRk
ZWQgdG8gdGhlIFJQTSwgdXNpbmcgdGhlaXINCmZ1bGx5LXF1YWxpZmllZCBs
b2NhdGlvbiBhcyB5b3Ugd2FudCBpdCBvbiB0aGUgdGFyZ2V0IGhvc3QuDQoN
CiAgRmluYWxseSwgYXMgeW91IGNhbiBzZWUgYWJvdmUsIGRvY3VtZW50YXRp
b24gZmlsZXMgY2FuIGJlDQp0cmVhdGVkIHNwZWNpYWxseS4gIFJhdGhlciB0
aGFuIGhhdmluZyB0byBleHBsaWNpdGx5IGNvcHkNCmRvYyBmaWxlcyBpbnRv
IHRoZSBidWlsZCByb290LCBhbmQgc2VsZWN0IHRoZW0gaGVyZSwgeW91IGNh
bg0KdXNlIHRoZSAlZG9jIGRpcmVjdGl2ZSwgd2hpY2ggd2lsbCBsb29rIGZv
ciB0aGVzZSBmaWxlcyBhdCANCnRoZSB0b3Agb2YgdGhlIGJ1aWxkIGRpcmVj
dG9yeSwgYW5kIGF1dG9tYXRpY2FsbHkgaW5zdGFsbA0KdGhlc2UgZmlsZXMg
aW4gdGhlIGFwcHJvcHJpYXRlIGRvY3VtZW50YXRpb24gZGlyZWN0b3J5IGlu
IA0KdGhlIFJQTSAoaW4geW91ciBjYXNlLCBwcm9iYWJseSB0aGUgZGVmYXVs
dCBkaXJlY3Rvcnkgb2YNCi91c3Ivc2hhcmUvZG9jL2NhdHBpY3MtMS4wKS4g
IFRoaXMgaXMgYSBjb252ZW5pZW50IHNob3J0Y3V0LA0KYnV0IHJlbWVtYmVy
IHRoYXQgaXQgbWVhbnMgeW91IGhhdmUgdG8gaGF2ZSB0aGVzZSBmaWxlcyBh
dA0KdGhlIHRvcCBsZXZlbCBvZiB0aGUgYnVpbGQgZGlyZWN0b3J5Lg0KDQog
IFRoaXMgaXMgY2xlYXJseSBhIHNpbXBsZSBleGFtcGxlIG9mIGEgJWZpbGVz
IHN0YWdlLiAgRm9yIG1vcmUNCnBvc3NpYmlsaXRpZXMsIHNlZSBBcHBlbmRp
eCBCLCBhbmQgZm9yIG1vcmUgb3B0aW9ucyByZWdhcmRpbmcNCmp1c3QgZG9j
dW1lbnRhdGlvbiBmaWxlcywgc2VlIEFwcGVuZGl4IEMuICBBbmQgd2hpbGUg
eW91J3JlIHRoZXJlLCANCnlvdSBtaWdodCBqdXN0IHdhbnQgdG8gcmV2aWV3
IHRoZSBlbnRpcmUgc3BlYyBmaWxlIGluIEFwcGVuZGl4IEEuDQoNCiogQnVp
bGRpbmcgdGhlIG5vYXJjaCBSUE0NCg0KICBOb3cgdGhhdCB5b3UndmUgZmlu
YWxseSBkZXNpZ25lZCB0aGUgImNhdHBpY3Muc3BlYyIgZmlsZSwNCnlvdSBj
YW4gY3JlYXRlIHRoZSBjb3JyZXNwb25kaW5nIG5vYXJjaCBSUE0gZnJvbSBp
dCBhbmQgdGhlDQpjb3JyZXNwb25kaW5nIHRhcmJhbGwgd2l0aDoNCg0KICAk
IHJwbWJ1aWxkIC1iYiBjYXRwaWNzLnNwZWMNCg0KVGhpcyBjb21tYW5kIHdp
bGwsIGluIG9yZGVyIGFuZCBmb2xsb3dpbmcgdGhlIHN0ZXBzIGluIHRoZSAN
CnNwZWMgZmlsZToNCiAgDQogIDEpIHVubG9hZCB0aGUgU09VUkNFUyB0YXJi
YWxsIGludG8gdGhlIEJVSUxEL2NhdHBpY3MtMS4wDQogICAgIGRpcmVjdG9y
eSwNCg0KICAyKSBjb3B5IGEgY291cGxlIG9mIGV4dHJhIGdlbmVyaWMgY29t
cGFueSBmaWxlcyB0byBnbw0KICAgICB3aXRoIHRob3NlIHNvdXJjZSBmaWxl
cywgDQoNCiAgMykgaW5zdGFsbCB0aGVzZSBmaWxlcyB1bmRlciB0aGUgY29y
cmVzcG9uZGluZyBidWlsZCByb290LCANCg0KICA0KSBzZWxlY3QgdXNpbmcg
dGhlIGNvbnRlbnRzIG9mIHRoZSAlZmlsZXMgc3RhZ2Ugd2hhdA0KICAgICBz
aG91bGQgYmUgYWRkZWQgdG8gdGhlIG5ldyBSUE0sIA0KDQogIDUpIHBsYWNl
IHRoaXMgbmV3IFJQTSBpbiB0aGUgUlBNUy9ub2FyY2ggZGlyZWN0b3J5LCBh
bmQgDQoNCiAgNikgcnVuIHRoZSAlY2xlYW4gc3RhZ2UgdG8gZ2V0IHJpZCBv
ZiB0aGUgYnVpbGQgcm9vdA0KDQogIE9uY2UgeW91IGNyZWF0ZSB0aGlzIG5l
dyBSUE0sIHlvdSBjYW4gZXhhbWluZSBpdHMgY29udGVudHMNCndpdGggYW55
IG9mOg0KDQogICQgcnBtIC1xcGkgY2F0cGljcy0xLjAtMS5ub2FyY2gucnBt
CQkocHJlYW1ibGUgaW5mbykNCiAgJCBycG0gLXFwbCBjYXRwaWNzLTEuMC0x
Lm5vYXJjaC5ycG0JCShmaWxlIGxpc3QpDQogICQgcnBtIC1xcGx2IGNhdHBp
Y3MtMS4wLTEubm9hcmNoLnJwbQkJKGxvbmcgZmlsZSBsaXN0KQ0KDQp0byBt
YWtlIHN1cmUgZXZlcnkgZmlsZSBpcyB0aGVyZSBhbmQgc2VlbXMgdG8gYmUg
aW4gdGhlIHJpZ2h0DQpsb2NhdGlvbi4gIFlvdSBub3cgaGF2ZSBhIG5vYXJj
aCBSUE0gcmVhZHkgdG8gc2hpcCB0byBjdXN0b21lcnMuDQoNCiAgQnkgdGhl
IHdheSwgaW4gYWRkaXRpb24gdG8ganVzdCBidWlsZGluZyB0aGUgZmluYWwg
UlBNLCB5b3UNCmhhdmUgdGhlIGFiaWxpdHkgdG8gc3RvcCB0aGUgYnVpbGQg
cHJvY2VzcyBhbmQgbG9vayBhdCB0aGUgDQppbnRlcm1lZGlhdGUgc3RhZ2Vz
LiAgU2VlIEFwcGVuZGl4IEQsICJEZWJ1Z2dpbmcgdXNpbmcgcGFydGlhbA0K
YnVpbGRzLiINCg0KKiBCdWlsZGluZyBhIGJpbmFyeSBSUE0NCg0KICBPbmNl
IHlvdSBnZXQgdGhlIGhhbmcgb2YgYnVpbGRpbmcgYSBub2FyY2ggUlBNLCBp
dCdzIGEgc21hbGwNCnN0ZXAgdG8gYnVpbGRpbmcgYSBiaW5hcnkgUlBNLCBz
YXkgIm15cHJvZ3MtMS4wLTEuaTM4Ni5ycG0iLA0Kd2hpY2ggd291bGQgY29u
dGFpbiBzb21lIGNvbGxlY3Rpb24gb2YgY29tcGlsZWQgYmluYXJ5IHByb2dy
YW1zLA0KcG9zc2libHkgYWxvbmcgd2l0aCBzb21lIHRleHQgZmlsZXMsIGRv
Y3VtZW50YXRpb24sIGNvbmZpZ3VyYXRpb24NCmZpbGVzIGFuZCBzbyBvbi4N
Cg0KICBNb3N0IG9mIHdoYXQgeW91J3ZlIHJlYWQgaGVyZSB3b3VsZCBiZSBw
cmV0dHkgbXVjaCB0aGUgc2FtZSwNCmV4Y2VwdCB0aGF0IHRoZSAlYnVpbGQg
c3RhZ2Ugd291bGQgYmUgcmVzcG9uc2libGUgZm9yIHRha2luZyB0aGUNCnBy
b2dyYW0gc291cmNlcyBmcm9tIHRoZSB0YXJiYWxsLCBhbmQgY29tcGlsaW5n
IHRoZW0gdG8gZ2V0IHRoZQ0KY29ycmVzcG9uZGluZyBiaW5hcnkgZXhlY3V0
YWJsZXMuDQoNCiAgWW91IGNvdWxkIGRvIHRoZXNlIGNvbXBpbGVzIHlvdXJz
ZWxmIG1hbnVhbGx5LCBtYWtpbmcgY2FsbHMgdG8NCiJnY2MiIHBlcmhhcHMu
ICBIb3dldmVyLCBpZiB5b3UgY2FyZWZ1bGx5IGRlc2lnbiB0aGUgY29udGVu
dHMgb2YNCnRoZSB0YXJiYWxsIHRvIGluY2x1ZGUgdGhlIHNvdXJjZXMsIGNv
cnJlc3BvbmRpbmcgY29uZmlndXJlIHNjcmlwdHMNCmFuZCBNYWtlZmlsZSBi
YXNlZCBvbiB0aGUgZ251ICJhdXRvY29uZiIgdXRpbGl0eSwgeW91IG1pZ2h0
IG5lZWQgdG8gDQpqdXN0IHJ1biBjb21tYW5kcyBsaWtlICJjb25maWd1cmUi
LCJtYWtlIiBhbmQgIm1ha2UgaW5zdGFsbCIuDQoNCiAgSW4gZmFjdCwgdGhp
cyBpcyBzdWNoIGEgY29tbW9uIG9wZXJhdGlvbiB0aGF0IHJwbSBkZWZpbmVz
DQpzb21lIGNvbW1vbiBtYWNyb3Mgc28gdGhhdCB5b3VyIGVudGlyZSAlYnVp
bGQgYW5kICVpbnN0YWxsIHN0YWdlcw0KbWlnaHQgbG9vayBsaWtlOg0KDQog
ICVidWlsZA0KICAlY29uZmlndXJlDQogICVtYWtlDQoNCiAgJWluc3RhbGwN
CiAgJW1ha2VpbnN0YWxsDQoNCkFzIGFuIGV4YW1wbGUsIHRoZSAiJW1ha2Vp
bnN0YWxsIiBtYWNybyBpcyBlcXVpdmFsZW50IHRvIHJ1bm5pbmcNCmEgIm1h
a2UgaW5zdGFsbCIsIGFuZCB1c2luZyB0aGUgYXBwcm9wcmlhdGUgYnVpbGQg
cm9vdCBhcyB0aGUNCmluc3RhbGwgZGVzdGluYXRpb24sIGV4YWN0bHkgd2hh
dCB5b3Ugd291bGQgd2FudC4NCg0KICBUbyBzZWUgZXhhY3RseSB3aGF0IHRo
ZXNlIG1hY3JvcyBhcmUgZXF1aXZhbGVudCB0bywgZXhhbWluZQ0KdGhlaXIg
ZGVmaW5pdGlvbnMgaW4gdGhlIGZpbGUgL3Vzci9saWIvcnBtL21hY3Jvcy4N
Cg0KKiBCdWlsZGluZyBhIHNvdXJjZSBSUE0NCg0KICBBcyBhIGZpbmFsIHBv
c3NpYmlsaXR5LCB5b3UgaGF2ZSB0aGUgYWJpbGl0eSB0byBidWlsZCBhIHNv
dXJjZQ0KUlBNLiAgQSBzb3VyY2UgUlBNIHR5cGljYWxseSBjb25zaXN0cyBv
ZiBub3RoaW5nIG1vcmUgdGhhbiB0aGUNCnNvdXJjZShzKSBhbmQgdGhlIGNv
cnJlc3BvbmRpbmcgc3BlYyBmaWxlLCB3aGljaCB5b3UgY2FuIHRoZW4NCnNo
aXAgdG8gc29tZW9uZSBlbHNlIHdobyBoYXMgdGhlIHJpZ2h0IHRvIHVubG9h
ZCB5b3VyIHNvdXJjZShzKQ0KYW5kIHlvdXIgc3BlYyBmaWxlLg0KDQogIE90
aGVycyBtaWdodCB3YW50IHRvIGdldCB5b3VyIHNvdXJjZSBSUE0gZm9yIGEg
bnVtYmVyIG9mIA0KcmVhc29uczogIHRvIHNlZSB0aGUgcHJpc3RpbmUsIG9y
aWdpbmFsIHNvdXJjZXMgdGhhdCB3ZW50IGludG8NCnlvdXIgUlBNLCB0byBz
ZWUgdGhlIGRlc2lnbiBvZiB5b3VyIHNwZWMgZmlsZSwgb3IgYmVjYXVzZSB0
aGV5DQp3YW50IHRvIGJ1aWxkIHRoZSBjb3JyZXNwb25kaW5nIG5vYXJjaCBv
ciBiaW5hcnkgUlBNIGJ1dCBzcGVjaWZ5DQphIGRpZmZlcmVudCBkZXN0aW5h
dGlvbiBkaXJlY3Rvcnkgb3IgYnVpbGQgaXQgZm9yIGEgZGlmZmVyZW50DQph
cmNoaXRlY3R1cmUuDQoNCiAgR2l2ZW4gYSBzcGVjIGZpbGUgYW5kIHRoZSBz
b3VyY2UocyksIHlvdSBjYW4gYnVpbGQgYSBzb3VyY2UNClJQTSBpbiB0d28g
d2F5czoNCg0KICAkIHJwbSAtYnMgY2F0cGljcy5zcGVjCSAgKGJ1aWxkIGp1
c3QgdGhlIHNvdXJjZSBSUE0pDQogICQgcnBtIC1iYSBjYXRwaWNzLnNwZWMJ
ICAoYnVpbGQgYm90aCBzb3VyY2UgYW5kIGJpbmFyeSBSUE1zKQ0KDQpJbiBl
aXRoZXIgY2FzZSwgd2hhdCB5b3Ugc2hvdWxkIGVuZCB1cCB3aXRoIGlzIGEg
c291cmNlIFJQTQ0Kd2l0aCB0aGUgbmFtZSBjYXRwaWNzLTEuMC0xLnNyYy5y
cG0gaW4geW91ciBTUlBNUyBkaXJlY3RvcnkuDQoNCiogT25nb2luZyBSUE0g
bWFpbnRlbmFuY2UgaXNzdWVzDQoNCiAgQXMgeW91IGNvbGxlY3QgbW9yZSBu
aWZ0eSBjYXQgaW1hZ2VzLCB5b3UgbWF5IHdhbnQgdG8gcmVsZWFzZQ0KbmV3
ZXIgdmVyc2lvbnMgb2YgdGhlIFBpY3MgJ3InIFVzIGNhdHBpY3MgUlBNIGZp
bGUuICBUaGVyZSBhcmUNCnR3byBzdGFuZGFyZCB3YXlzIHRvIGJ1aWxkIGFu
ZCByZWxlYXNlIHVwZGF0ZWQgdmVyc2lvbnMgb2YgYW4NClJQTS4NCg0KICBG
aXJzdCwgaWYgeW91IHJlYWxseSBjaGFuZ2UgdGhlIGNvbnRlbnRzIG9mIHRo
ZSBSUE0gYnkgYWRkaW5nLA0KZm9yIGV4YW1wbGUsIG5ldyBpbWFnZXMsIHlv
dSBzaG91bGQgaW5jcmVtZW50IHRoZSB2ZXJzaW9uIG51bWJlcg0KYW5kIGNy
ZWF0ZSB0aGUgbmV4dCBnZW5lcmF0aW9uOiBjYXRwaWNzLTEuMS0xLm5vYXJj
aC5ycG0uICBJZg0KaXQncyBhIHN1YnN0YW50aWFsIGNoYW5nZSwgeW91IG1p
Z2h0IGNvbnNpZGVyIGdvaW5nIHRvIHRoZSBuZXh0DQptYWpvciB2ZXJzaW9u
IG51bWJlciBvZiAyLjAuDQoNCiAgT24gdGhlIG90aGVyIGhhbmQsIHNvbWV0
aW1lcyB5b3Ugc2ltcGx5IHdhbnQgdG8gbWFrZSBhIGNoYW5nZQ0KaW4gdGhl
IFJQTSBidWlsZCBwcm9jZXNzLiAgUGVyaGFwcyBzb21lb25lIGNvbXBsYWlu
cyB0aGF0IHRoZQ0KZGVmYXVsdCBwZXJtaXNzaW9ucyBvciBvd25lciBhbmQg
Z3JvdXAgb2Ygb25lIG9yIG1vcmUgZmlsZXMgaW4NCnRoZSBzaGlwcGVkIFJQ
TSBpcyBpbmNvcnJlY3QuICBJbiBjYXNlcyBsaWtlIHRoaXMsIGl0J3MgDQph
Y2NlcHRhYmxlIHRvIG1vZGlmeSBzb21lIGF0dHJpYnV0ZXMgaW4gdGhlICVm
aWxlcyBzZWN0aW9uIG9mDQp0aGUgc3BlYyBmaWxlLCBhbmQganVzdCBpbmNy
ZW1lbnQgdGhlIHJlbGVhc2UgbnVtYmVyLCB0byBnZXQNCmNhdHBpY3MtMS4w
LTIubm9hcmNoLnJwbS4NCg0KICBJbiBlaXRoZXIgY2FzZSwgaWYgeW91IHBs
YW4gb24gbWFraW5nIHJlZ3VsYXIgZW5oYW5jZW1lbnRzDQp0byBhbiBSUE0s
IHlvdSBzaG91bGQgcmVjb3JkIHRoZXNlIGNoYW5nZXMgaW4gYSBDaGFuZ2VM
b2cNCmRvY3VtZW50YXRpb24gZmlsZSB0aGF0IHNoaXBzIHdpdGggdGhlIFJQ
TS4NCg0KKiBCdWlsZGluZyBSUE1zIHRoZSBxdWljayBhbmQgZGlydHkgd2F5
DQoNCiAgV2hpbGUgYWxsIG9mIHRoaXMgZG9jdW1lbnRhdGlvbiBoYXMgZXhw
bGFpbmVkIHRoZSBwcm9wZXINCmFuZCBzb2NpZXRhbGx5IGFjY2VwdGFibGUg
d2F5cyB0byBidWlsZCBSUE1zLCBzdGFydGluZyB3aXRoIA0KdGhlIHRhcmJh
bGwgYW5kIHdvcmtpbmcgdGhyb3VnaCB2YXJpb3VzIHN0YWdlcyBpbiB0aGUg
c3BlYw0KZmlsZSwgb2NjYXNpb25hbGx5IHNvbWVvbmUgc2F5cywgIkkgZG9u
J3QgaGF2ZSB0aW1lIHRvIA0KUlRGTSEgIE15IGJvc3MganVzdCBnYXZlIG1l
IDEwIG1pbnV0ZXMgdG8gY3JlYXRlIGEgY2F0cGljcw0KUlBNIGZvciBhIGNs
aWVudCwgYW5kIEkgZG9uJ3QgaGF2ZSBhIGNsdWUgaG93IFJQTXMgd29yay4N
CldoYXQgZG8gSSBkbz8hIg0KDQogIElmIHlvdSd2ZSB1bmRlcnN0b29kIGV2
ZXJ5dGhpbmcgdW50aWwgbm93LCBpdCBzaG91bGQgYmUNCm9idmlvdXMgdGhh
dCBhbGwgb2YgdGhlIHByZWxpbWluYXJ5IHByb2Nlc3NpbmcgaXMgdG8gZG8N
Cm5vdGhpbmcgbW9yZSB0aGFuIGNyZWF0ZSBhIGRpcmVjdG9yeSBzdHJ1Y3R1
cmUgdW5kZXIgdGhlDQoiYnVpbGQgcm9vdCIgZGlyZWN0b3J5IHRoYXQgcnBt
YnVpbGQgd2lsbCBidW5kbGUgaW50byBhbg0KUlBNLiAgDQoNCiAgSWYgdGhp
cyBpcyBhbGwgeW91IHJlYWxseSBjYXJlIGFib3V0LCB5b3UgY2FuIGJ1aWxk
IGENCnF1aWNrLWFuZC1kaXJ0eSBSUE0gaW4gYSBjb3VwbGUgb2YgZWFzeSBz
dGVwcy4gIEZpcnN0LCANCmNvbGxlY3QgYWxsIG9mIHRoZSBmaWxlcyB5b3Ug
d2FudCBpbiB0aGUgUlBNLCBhbmQgY29weQ0KdGhlbSB1bmRlciBhIGJ1aWxk
IHJvb3QgZGlyZWN0b3J5IHNvbWV3aGVyZSwgbWFraW5nIHN1cmUNCnRoYXQg
dGhlaXIgZnVsbCBwYXRobmFtZSByZXByZXNlbnRzIHRoZWlyIGxvY2F0aW9u
IGluIHRoZQ0KbmV3IFJQTSBmcm9tIHRoZSBidWlsZCByb290IGRpcmVjdG9y
eSBvbiBkb3duLiAgTm8gdGFyYmFsbC4NCk5vIGJ1aWxkIGRpcmVjdG9yeS4N
Cg0KICBPbmNlIHlvdSBkbyB0aGlzLCB0aGUgY29ycmVzcG9uZGluZyBzcGVj
IGZpbGUgd2lsbCBiZQ0KZmFpcmx5IHNrZWxldGFsIC0tIHRoZSBwcmVhbWJs
ZSAod2hlcmUgeW91IHNldCBCdWlsZFJvb3QgdG8NCnBvaW50IGF0IHRoZSBi
dWlsZCByb290IGRpcmVjdG9yeSksIHBsdXMgYSAlZmlsZXMgc2VjdGlvbg0K
dGhhdCBsaXN0cyBhbGwgb2YgdGhlIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB5
b3Ugd2FudCB0byANCmdldCBmcm9tIHRoZSBidWlsZCByb290Lg0KDQogIFRo
ZXJlIGlzIG5vIG5lZWQgZm9yIGFueSBvdGhlciBvdGhlciBzdGFnZXMsIHNv
IHlvdSBjYW4NCmp1c3QgbWFrZSB0aGVtICJuby1vcCJzIGJ5IGhhdmluZyBh
bGwgb2YgdGhlICVwcmVwLCAlYnVpbGQNCmFuZCAlaW5zdGFsbCBzdGFnZXMg
Y29udGFpbiB0aGUgc2luZ2xlIGNvbW1hbmQgImV4aXQgMCIuDQpBbmQgdGhh
dCBzaG91bGQgZG8gaXQuDQoNCiAgTm90ZSB0aGF0LCB3aGlsZSB0aGlzIHdp
bGwgdGVjaG5pY2FsbHkgd29yaywgeW91IGxvc2UgYWxsDQpvZiB0aGUgZmxl
eGliaWxpdHkgb2YgYnVpbGRpbmcgUlBNcyAidGhlIHJpZ2h0IHdheSIuICBB
bHNvLA0KeW91IGNsZWFybHkgY2FuJ3QgYnVpbGQgYSBjb3JyZXNwb25kaW5n
IHNvdXJjZSBSUE0uICBCdXQgDQp3aGVuIHRpbWUgaXMgYW4gaXNzdWUsIHRo
aXMgd2lsbCB3b3JrIGluIGEgcGluY2guDQoNCiogU3R1ZmYgd2UgZGlkbid0
IHRhbGsgYWJvdXQNCg0KICBUaGVyZSdzIGNsZWFybHkgYSBsb3Qgb2YgYWR2
YW5jZWQgc3R1ZmYgd2UgZGlkbid0IGNvdmVyIGhlcmU6DQoNCiAgLSBzcGVj
IGZpbGUgaW5zdGFsbCBhbmQgdW5pbnN0YWxsIHNjcmlwdHMNCiAgLSBzcGVj
IGZpbGUgY29uZGl0aW9uYWxzDQogIC0gYnVpbGRpbmcgcmVsb2NhdGFibGUg
cGFja2FnZXMNCiAgLSBzaWduaW5nIHBhY2thZ2VzDQogIC0gY3JlYXRpbmcg
c3VicGFja2FnZXMNCg0KYW5kIGEgd2hvbGUgbG90IG1vcmUuICBJZiB5b3Ug
d2FudCB0byBrbm93IG1vcmUsIHJlYWQgdGhlIG9ubGluZQ0KIk1heGltdW0g
UlBNIiBib29rLiAgSWYgeW91IGdldCBvbmxpbmUsIHN0YXJ0IGF0IHd3dy5y
cG0ub3JnDQphbmQgdGFrZSBpdCBmcm9tIHRoZXJlLg0KDQoqIEluIGNsb3Np
bmcNCg0KICBJZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIG9yIGNvbW1lbnRz
LCBvciBzdWdnZXN0aW9ucyBvbiBob3cNCnRvIGltcHJvdmUgdGhpcyBkb2N1
bWVudCwgZW1haWwgbWUgYXQgcnBqZGF5QG1pbmRzcHJpbmcuY29tLg0KDQog
IFRoaXMgZG9jdW1lbnQgaXMgY29weXJpZ2h0IFJvYmVydCBQLiBKLiBEYXks
IDIwMDEuICBBbGwgcmlnaHRzDQpyZXNlcnZlZC4gIFlvdSdyZSB3ZWxjb21l
IHRvIGRpc3RyaWJ1dGUgdGhpcyBmcmVlbHksIGJ1dCB5b3UncmUgbm90DQpm
cmVlIHRvIHN0YXJ0IG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0IHVudGls
IEkgcmVsZWFzZSB0aGUNCmZpbmFsIHZlcnNpb24gdW5kZXIgdGhlIEdOVSBG
REwgbGljZW5zZS4NCg0KKiBBcHBlbmRpeCBBOiBUaGUgc3BlYyBmaWxlDQoN
CiAgVGhlIGNvbnRlbnRzIG9mIHRoZSBzcGVjIGZpbGUgImNhdHBpY3Muc3Bl
YyI6DQoNClN1bW1hcnk6IENhdFBpY3MsIGEgY29sbGVjdGlvbiBvZiBmZWxp
bmUgaW1hZ2VzDQpOYW1lOiBjYXRwaWNzDQpWZXJzaW9uOiAxLjANClJlbGVh
c2U6IDENCkNvcHlyaWdodDogR1BMDQpHcm91cDogQW11c2VtZW50cy9HcmFw
aGljcw0KU291cmNlOiBmdHA6Ly9mdHAucGljc3J1cy5jb20vcHViLyV7bmFt
ZX0tJXt2ZXJzaW9ufS50Z3oNClVSTDogaHR0cDovL3d3dy5waWNzcnVzLmNv
bS9wdWIvcGljcy9jYXRwaWNzLmh0bWwNCkJ1aWxkQXJjaDogbm9hcmNoDQpC
dWlsZFJvb3Q6ICV7X3RtcHBhdGh9LyV7bmFtZX0tcm9vdA0KVmVuZG9yOiBQ
aWNzIFIgVXMsIEluYy4NClBhY2thZ2VyOiBGcmVkIEJlcmZlcmQgPGZyZWRA
cGljc3J1cy5jb20+DQpSZXF1aXJlczogZWUNCg0KDQolZGVzY3JpcHRpb24N
ClRoaXMgcGFja2FnZSBjb250YWlucyBDYXRQaWNzLCBqdXN0IGEgY29sbGVj
dGlvbiBvZiANCmZlbGluZSBpbWFnZXMgaW4gdmFyaW91cyBncmFwaGljcyBm
b3JtYXRzLCBhbG9uZyB3aXRoIGENCmNvdXBsZSBvZiBkb2N1bWVudGF0aW9u
IGZpbGVzLg0KDQolcHJlcA0KJXNldHVwIC1xDQpjcCAvZXRjL0xJQ0VOU0Ug
Lg0KY3AgL2V0Yy9waWNzcnVzLmpwZyBwaWNzDQoNCiVidWlsZA0KZXhpdCAw
DQoNCiVpbnN0YWxsDQpybSAtcmYgJHtSUE1fQlVJTERfUk9PVH0NCg0KbWtk
aXIgLXAgJHtSUE1fQlVJTERfUk9PVH0vdXNyL2xvY2FsL2NhdHBpY3MNCmNw
IHBpY3MvKiAke1JQTV9CVUlMRF9ST09UfS91c3IvbG9jYWwvY2F0cGljcw0K
dG91Y2ggJHtSUE1fQlVJTERfUk9PVH0vQk9HVVMNCg0KJWNsZWFuDQojIHJt
IC1yZiAke1JQTV9CVUlMRF9ST09UfQ0KDQolZmlsZXMNCiVkZWZhdHRyKC0s
cm9vdCxyb290KQ0KL3Vzci9sb2NhbC9jYXRwaWNzDQolZG9jIFJFQURNRSBB
UlRJU1RTIExJQ0VOU0UNCg0KKiBBcHBlbmRpeCBCOiBUaGUgJWZpbGVzIHNl
Y3Rpb24NCg0KICBSZWNhbGwgdGhlIGZhaXJseSBzaW1wbGUgJWZpbGVzIHNl
Y3Rpb24gd2UgdXNlZCB0byBkZWZpbmUgdGhlIA0KY29udGVudHMgb2Ygb3Vy
IG5ldyBSUE06DQoNCiAgJWZpbGVzDQogICVkZWZhdHRyKC0scm9vdCxyb290
KQ0KICAvdXNyL2xvY2FsL2NhdHBpY3MNCiAgJWRvYyBSRUFETUUgQVJUSVNU
UyBMSUNFTlNFDQoNClNvIHdoYXQgZG9lcyBhbGwgdGhpcyBtZWFuPw0KDQog
IFRoZSBiYXNpYyBzdHJ1Y3R1cmUgb2YgdGhlICVmaWxlcyBzZWN0aW9uIGlz
LCB3aXRoIHRoZQ0KZXhjZXB0aW9uIG9mICVkb2MgbGluZXMsIG9uZSBmaWxl
IG9yIGRpcmVjdG9yeSBuYW1lIHBlciBsaW5lLCANCmZ1bGx5IHF1YWxpZmll
ZCAodGhhdCBpcywgc3RhcnRpbmcgd2l0aCBhICIvIikgcmVsYXRpdmUgdG8g
dGhlIA0KYnVpbGQgcm9vdCB0aGF0IHlvdSB3ZXJlIHBvcHVsYXRpbmcgaW4g
dGhlICVpbnN0YWxsIHN0ZXAuICANCkluIHNob3J0LCB5b3Ugc2hvdWxkIGxp
c3QgYWxsIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB3aXRoIHRoZWlyIA0KZnVs
bCBuYW1lIGp1c3QgdGhlIHdheSB5b3Ugd2FudCB0byBzZWUgdGhlbSBpbnN0
YWxsZWQgb24gdGhlIA0KdGFyZ2V0IGhvc3QuICBCeSBkZWZhdWx0LCBhIGRp
cmVjdG9yeSBuYW1lIHJlcHJlc2VudHMgdGhlIGVudGlyZSANCihyZWN1cnNp
dmUpIGNvbnRlbnRzIG9mIHRoYXQgZGlyZWN0b3J5LCBhbmQgc3RhbmRhcmQg
c2hlbGwgDQp3aWxkY2FyZGluZyBpcyBzdXBwb3J0ZWQuICBIb3dldmVyLCBv
biB0b3Agb2YgYWxsIG9mIHRoaXMsDQp5b3UgY2FuIGFkZCBzb21lICVmaWxl
cyAiZGlyZWN0aXZlcyIgdG8gZnVydGhlciBjb250cm9sIHRoZQ0KaW5jbHVz
aW9uIHByb2Nlc3MuDQoNCiAgRmlyc3QsIHRoZSAlZmlsZXMgc2VjdGlvbiBj
YW4gaGF2ZSBhdCBtb3N0IG9uZSAlZGVmYXR0cg0KZGlyZWN0aXZlIHdoaWNo
IGRpY3RhdGVzIHRoZSBkZWZhdWx0IHBlcm1pc3Npb25zLCBvd25lciBhbmQN
Cmdyb3VwIG9mIGFsbCBvZiB0aGUgZmlsZXMsIGFzIGluOg0KDQogICVkZWZh
dHRyKDY0NCxyb290LHJvb3QpDQoNCklmIGFueSBvZiB0aGVzZSBmaWVsZHMg
aXMgYSBoeXBoZW4sIHRoYXQgbWVhbnMgdGhhdCB0aGF0DQp2YWx1ZSBpcyB0
YWtlbiBhcyBpcyBmcm9tIHRoZSBmaWxlIGluIHRoZSBidWlsZCByb290IGRp
cmVjdG9yeS4NCg0KICBJbiBhZGRpdGlvbiwgb24gYSBwZXItbGluZSBiYXNp
cywgeW91IGNhbiBvdmVycmlkZSB0aGUNCiVkZWZhdHRyIHZhbHVlcyB3aXRo
IGFuIGluZGl2aWR1YWwgJWF0dHIgZGlyZWN0aXZlOg0KDQogICVkZWZhdHRy
KC0scm9vdCxyb290KQ0KICAlYXR0cig3NTUscm9vdCxyb290KSAvdXNyL2xv
Y2FsL2NhdHBpY3MNCg0KICBOZXh0LCB3aGlsZSBhIHNpbXBsZSBkaXJlY3Rv
cnkgZW50cnkgbWVhbnMgdGhlIGVudGlyZSwgDQpyZWN1cnNpdmUgY29udGVu
dHMgb2YgdGhhdCBkaXJlY3RvcnksIHlvdSBjYW4gcmVzdHJpY3QgdGhlDQpt
ZWFuaW5nIHRvIGp1c3QgdGhlIGRpcmVjdG9yeSBpdHNlbGYgd2l0aCB0aGUg
JWRpciBkaXJlY3RpdmUsDQphcyBpbjoNCg0KICAlZGlyICVhdHRyKDc1NSxy
b290LHJvb3QpIC91c3IvbG9jYWwvY2F0cGljcw0KDQpJZiB5b3UgY2hvb3Nl
IHRvIHNlbGVjdCBqdXN0IGEgZGlyZWN0b3J5IGVudHJ5IHRoaXMgd2F5LA0K
dGhpcyBub3JtYWxseSBtZWFucyB5b3UgcmVhbGx5IGRpZCBqdXN0IHdhbnQg
dG8gY29weSB0aGUNCmVtcHR5IGRpcmVjdG9yeSwgb3IgeW91J3JlIGdvaW5n
IHRvIGNvbnRpbnVlIGFuZCBzZWxlY3QNCmluZGl2aWR1YWwgc3ViZmlsZXMg
YW5kIHN1YmRpcmVjdG9yaWVzIHdpdGggbW9yZSBlbnRyaWVzDQppbiB0aGlz
IHNlY3Rpb24uICAoTm90ZSB0aGF0IHlvdSBjYW4gaGF2ZSBtdWx0aXBsZQ0K
ZGlyZWN0aXZlcyBvbiB0aGUgc2FtZSBsaW5lLikNCg0KICBBcyB3ZSBhbHJl
YWR5IG1lbnRpb25lZCwgeW91IGNhbiB0YWcgZG9jdW1lbnRhdGlvbiBmaWxl
cw0KdGhhdCBoYXBwZW4gdG8gcmVzaWRlIGluIHRoZSB0b3AgbGV2ZWwgb2Yg
dGhlIGJ1aWxkIGRpcmVjdG9yeQ0Kd2l0aCB0aGUgJWRvYyBkaXJlY3RpdmUu
ICBUaGlzIGFsbG93cyB5b3UgdG8gbGlzdCBqdXN0IHRoZQ0Kc2ltcGxlIGZp
bGUgbmFtZXMsIGFzIHdlbGwgYXMgYmVpbmcgYWJsZSB0byBwdXQgbXVsdGlw
bGUNCmZpbGVzIG9uIHRoZSBzYW1lIGxpbmU6DQoNCiAgJWRvYyBSRUFETUUg
QVJUSVNUUyBMSUNFTlNFDQoNCkZvciBtb3JlIG9uIHdoYXQgeW91IGNhbiBk
byB3aXRoIGRvY3VtZW50YXRpb24gZmlsZXMsIHlvdQ0KY2FuIHNlZSBBcHBl
bmRpeCBDLg0KDQogICBGaW5hbGx5LCB5b3UgY2FuIGFsc28gdGFnIGNlcnRh
aW4gZmlsZXMgYXMgJWNvbmZpZyBmaWxlcywNCndoaWNoIHdpbGwgYmUgdHJl
YXRlZCB3aXRoIHBhcnRpY3VsYXIgY2FyZSBpZiBzdWNoIGZpbGVzIHdvdWxk
DQpvdmVyd3JpdGUgZmlsZXMgb2YgdGhlIHNhbWUgbmFtZSBkdXJpbmcgdGhl
IGluc3RhbGxhdGlvbg0KcHJvY2VzcywgYXMgaW46DQoNCiAgJWNvbmZpZyAv
ZXRjL3BpY3NydXMuY29uZg0KICANCg0KKiBBcHBlbmRpeCBDOiBEb2N1bWVu
dGF0aW9uIGZpbGVzDQoNCiAgQXMgeW91J3ZlIGFscmVhZHkgc2VlbiwgY2Vy
dGFpbiBmaWxlcyBpbiB0aGUgJWZpbGVzIHNlY3Rpb24NCmNhbiBiZSB0YWdn
ZWQgYXMgZG9jdW1lbnRhdGlvbiBmaWxlcy4gIERlcGVuZGluZyBvbiB3aGV0
aGVyDQp0aGVzZSBmaWxlcyB3ZXJlIGF0IHRoZSB0b3Agb2YgdGhlIGJ1aWxk
IGRpcmVjdG9yeSwgeW91IGNhbg0KdXNlIHRoZSBzaG9ydCBmb3JtIHRvIGxp
c3QgdGhlbSwgYXMgaW46DQoNCiAgJWRvYyBSRUFETUUgQVJUSVNUUw0KDQpv
ciwgaWYgdGhvc2UgZmlsZXMgd2VyZSBiZWluZyBpbnN0YWxsZWQgYXMgb3Jk
aW5hcnkgZmlsZXMsDQp5b3UgY291bGQgYWxzbyBhbHdheXMgbGlzdCB0aGVt
IHVzaW5nIHRoZSByZWd1bGFyLCBmdWxseS0NCnF1YWxpZmllZCBmb3JtYXQs
IGFzIGluOg0KDQogICVkb2MgL3Vzci9sb2NhbC9jYXRwaWNzL2RvY2ZpbGUN
Cg0KQnV0IHdhaXQsIHRoZXJlJ3MgbW9yZS4NCg0KICBPbmNlIGEgZmlsZSBo
YXMgYmVlbiB0YWdnZWQgdGhpcyB3YXksIHlvdSBoYXZlIHRoZSByaWdodA0K
dG8gbGlzdCBzdHJpY3RseSB0aGUgZG9jdW1lbnRhdGlvbiBmaWxlcyBpbiBh
bnkgUlBNIHdpdGg6DQoNCiAgJCBycG0gLXFwbGQgY2F0cGljcy0xLjAtMS5u
b2FyY2gucnBtDQoNCiAgQW5kIGZpbmFsbHksIGlmIHlvdSdyZSBzdHJhcHBl
ZCBmb3IgZGlzayBzcGFjZSwgeW91IA0KKHRoZW9yZXRpY2FsbHkpIGhhdmUg
dGhlIHJpZ2h0IHRvIGluc3RhbGwgYWxsICpidXQqIHRoZQ0KZG9jdW1lbnRh
dGlvbiBmaWxlcyB3aXRoIHRoZSBjb21tYW5kOg0KDQogICQgcnBtIC1pdmgg
LS1leGNsdWRlZG9jcyBjYXRwaWNzLTEuMC0xLm5vYXJjaC5ycG0NCg0KKEkg
c2F5ICJ0aGVvcmV0aWNhbGx5IiBzaW5jZSwgd2hpbGUgdGhpcyBmZWF0dXJl
IGlzIG9mZmljaWFsbHkNCmRvY3VtZW50ZWQsIEkgaGF2ZSB5ZXQgdG8gZ2V0
IGl0IHdvcmsgdGhhdCB3YXkuKQ0KDQoqIEFwcGVuZGl4IEQ6IERlYnVnZ2lu
ZyB1c2luZyBwYXJ0aWFsIGJ1aWxkcw0KICANCiAgV2l0aCBib3RoIG5vYXJj
aCBhbmQgYmluYXJ5IFJQTXMsIGl0J3MgcG9zc2libGUgdG8gZG8gb25seSBh
DQpwYXJ0aWFsIGJ1aWxkIHNvIHRoYXQgeW91IGNhbiBjaGVjayB0aGUgaW50
ZXJtZWRpYXRlIHJlc3VsdHMNCmluLCBmb3IgaW5zdGFuY2UsIHRoZSBidWls
ZCBvciBidWlsZCByb290IGRpcmVjdG9yaWVzLiAgU28gcmF0aGVyDQp0aGFu
IGRvaW5nIGEgY29tcGxldGUgY2F0cGljcyBSUE0gYnVpbGQgd2l0aCAicnBt
YnVpbGQgLWJiIiwgDQp5b3UgY2FuIGRvIGFueSBvZiB0aGUgZm9sbG93aW5n
Og0KDQogICQgcnBtYnVpbGQgLWJwIGNhdHBpY3Muc3BlYwkJKCVwcmVwIHN0
YWdlIG9ubHkpDQogICQgcnBtYnVpbGQgLWJjIGNhdHBpY3Muc3BlYwkJKCVw
cmVwLCAlYnVpbGQpDQogICQgcnBtYnVpbGQgLWJpIGNhdHBpY3Muc3BlYwkJ
KCVwcmVwLCAlYnVpbGQsICVpbnN0YWxsKQ0KDQpBIGNvbW1vbiB1c2FnZSBp
cyB0byB1c2UgIi1iaSIsIHRoZW4gY2hlY2sgdGhlIGNvbnRlbnRzIG9mDQp0
aGUgYnVpbGQgcm9vdCBkaXJlY3RvcnkgdG8gc2VlIGlmIGl0IG1hdGNoZXMg
d2hhdCB5b3UgZXhwZWN0DQp0byBzZWUgaW4gdGhlIGV2ZW50dWFsIFJQTS4N
Cg0KICBXaGlsZSBhbGwgb2YgdGhlIGFib3ZlIHN0YXJ0IHdpdGggdGhlIGlu
aXRpYWwgJXByZXAgc3RhZ2UsIHlvdQ0KY2FuIGFsc28ganVtcCBkaXJlY3Rs
eSB0byBhIHN0YWdlIGFuZCBleGVjdXRlIHRoYXQgc3RhZ2Ugb25seQ0Kd2l0
aCB0aGUgIi0tc2hvcnQtY2lyY3VpdCIgb3B0aW9uOg0KDQogICQgcnBtYnVp
bGQgLWJjIC0tc2hvcnQtY2lyY3VpdCBjYXRwaWNzLnNwZWMJKCVidWlsZCBP
TkxZKQ0KICAkIHJwbWJ1aWxkIC1iaSAtLXNob3J0LWNpcmN1aXQgY2F0cGlj
cy5zcGVjICAgKCVpbnN0YWxsIE9OTFkpDQoNClRoZSAtLXNob3J0LWNpcmN1
aXQgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHRoZSAtYmMgYW5kIC1iaQ0Kb3B0
aW9ucywgYW5kIGNvdWxkIGJlIHVzZWZ1bCBpZiB5b3UndmUgYWxyZWFkIGRv
bmUgYSBwYXJ0aWFsDQpidWlsZCB1cCB0byB0aGF0IHBvaW50LCBhbmQgbm93
IGp1c3Qgd2FudCB0byBkbyB0aGUgbmV4dA0Kc3RhZ2UuDQoNCiAgSXQgaXMg
dW5mb3J0dW5hdGUgdGhhdCB0aGUgbmFtZSAtLXNob3J0LWNpcmN1aXQgd2Fz
IGNob3Nlbg0KZm9yIHRoaXMgb3B0aW9uLCBzaW5jZSB3aGF0IGl0IHJlYWxs
eSByZWZlcnMgdG8gaXMganVtcGluZw0KZGlyZWN0bHkgdG8gYSBzdGFnZSBh
bmQgcHJvY2Vzc2luZyBvbmx5IHRoYXQgc3RhZ2UuICBUaGlzIA0Kb3B0aW9u
IHdvdWxkIGhhdmUgYmVlbiBtb3JlIG1lYW5pbmdmdWxseSBjYWxsZWQgc29t
ZXRoaW5nIGxpa2UNCiItLXNpbmdsZS1zdGFnZSIgb3IgIi0tdGhpcy1zdGFn
ZS1vbmx5Ii4NCg==
--8323328-2089650700-1010142853=:8143--