[SCM] lwIP - A Lightweight TCPIP stack branch, master, updated. STABLE-2_2_0_RELEASE-76-ge799c266

Simon Goldschmidt via lwip-commits <[email protected]> Mon, 19 Feb 2024 14:59:30 -0500 (EST)
Newsgroups gmane.network.lwip.cvs
Message-ID <[email protected]>
VGhpcyBpcyBhbiBhdXRvbWF0ZWQgZW1haWwgZnJvbSB0aGUgZ2l0IGhvb2tzL3Bvc3QtcmVjZWl2
ZSBzY3JpcHQuIEl0IHdhcwpnZW5lcmF0ZWQgYmVjYXVzZSBhIHJlZiBjaGFuZ2Ugd2FzIHB1c2hl
ZCB0byB0aGUgcmVwb3NpdG9yeSBjb250YWluaW5nCnRoZSBwcm9qZWN0ICJsd0lQIC0gQSBMaWdo
dHdlaWdodCBUQ1BJUCBzdGFjayIuCgpUaGUgYnJhbmNoLCBtYXN0ZXIgaGFzIGJlZW4gdXBkYXRl
ZAogICAgICAgdmlhICBlNzk5YzI2NmZhY2MzYzcwMTkwNjc2ZWNjYWQ0OWQ2YzJkYjJjYWFjIChj
b21taXQpCiAgICAgICB2aWEgIGNiNTExMDE5YjBjNTUzMjE1MjE3M2Y2NDZhOGVlZjc4OTgyMmM1
MzUgKGNvbW1pdCkKICAgICAgIHZpYSAgOTAwNGU3YmQ3N2NiNTg3OTc0NDU0NDZjOTZmOGE1ZThi
NTZiNGM3MCAoY29tbWl0KQogICAgICAgdmlhICAxN2IxZjVkMzgyYmE5YmJkODE4NTYzZThjMjJm
NjEwMWJjZGQyYzhmIChjb21taXQpCiAgICAgICB2aWEgIDEwZGM5YjdlYjNkMTcxMGQyZTZjYTlm
MmU2MWMyN2ViN2ExZThkNzUgKGNvbW1pdCkKICAgICAgIHZpYSAgYzNkNmZlOWQ3MjI2MDRmOWNk
Y2YyOGI5NzUyMzJmY2RlNDE3NTE3NyAoY29tbWl0KQogICAgICBmcm9tICA5MzgyMWZjNDM3ZDc3
NTViNjU3NDk5YjQzNTZlOGM1NDU0ZTYyYmY3IChjb21taXQpCgpUaG9zZSByZXZpc2lvbnMgbGlz
dGVkIGFib3ZlIHRoYXQgYXJlIG5ldyB0byB0aGlzIHJlcG9zaXRvcnkgaGF2ZQpub3QgYXBwZWFy
ZWQgb24gYW55IG90aGVyIG5vdGlmaWNhdGlvbiBlbWFpbDsgc28gd2UgbGlzdCB0aG9zZQpyZXZp
c2lvbnMgaW4gZnVsbCwgYmVsb3cuCgotIExvZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjb21taXQgZTc5OWMyNjZmYWNj
M2M3MDE5MDY3NmVjY2FkNDlkNmMyZGIyY2FhYwpBdXRob3I6IEtyenlzenRvZiBNYXp1ciA8a3J6
bWF6dXIxQGdtYWlsLmNvbT4KRGF0ZTogICBTdW4gQXVnIDE0IDEyOjAzOjUwIDIwMjIgKzAyMDAK
CiAgICBtYWtlZnNkYXRhOiBleHRlbmQgZmlsZSB0eXBlIG1hdGNoaW5nIHdpdGggLnNodG1sIGFu
ZCAuc2h0bQogICAgCiAgICBbUHJvYmxlbV0KICAgIFdoZW4gdXNpbmcgbWFrZWZzZGF0YSBwZXJs
IHNjcmlwdCB0byBjb252ZXJ0IHNodG1sIGZpbGVzIHdpdGggU1NJIHRhZ3MKICAgIHRoZSBzaHRt
bCBmaWxlcyBnZXQgZ2VuZXJhdGVkIHdpdGggdGV4dC9wbGFpbiBjb250ZW50IHR5cGUsIG1ha2lu
ZwogICAgYnJvd3NlcnMgbm90IHJlbmRlciB0aGVtIGNvcnJlY3RseQogICAgCiAgICBbU29sdXRp
b25dCiAgICBFeHRlbmQgdGhlIHJlZ2V4IHRvIGdlbmVyYXRlIHRleHQvaHRtbCBjb250ZW50IHR5
cGUgZm9yIGFueSBvZjoKICAgIC5odG0sIC5odG1sLCAuc2h0bSwgLnNodG1sIGV4dGVuc2lvbnMK
CmNvbW1pdCBjYjUxMTAxOWIwYzU1MzIxNTIxNzNmNjQ2YThlZWY3ODk4MjJjNTM1CkF1dGhvcjog
QnJpYW4gPDg5NDg3MzgxK2I0eXVhbkB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CkRhdGU6ICAg
TW9uIE5vdiAyNyAxMTozNjo0NyAyMDIzIC0wNTAwCgogICAgVXBkYXRlIGNvZGVxbC1idWlsZHNj
cmlwdC5zaAogICAgCiAgICBBZGRpbmcgaW5zdGFsbCBkZXBlbmRlbmNpZXMgc3RlcAoKY29tbWl0
IDkwMDRlN2JkNzdjYjU4Nzk3NDQ1NDQ2Yzk2ZjhhNWU4YjU2YjRjNzAKQXV0aG9yOiBCcmlhbiA8
YmF5dWFuQHB1cmR1ZS5lZHU+CkRhdGU6ICAgU3VuIE9jdCAyOSAxNToyOToyOSAyMDIzIC0wNDAw
CgogICAgQWRkIENvZGVRTCBXb3JrZmxvdyBmb3IgQ29kZSBTZWN1cml0eSBBbmFseXNpcwogICAg
CiAgICBBZGQgQ29kZVFMIFdvcmtmbG93IGZvciBDb2RlIFNlY3VyaXR5IEFuYWx5c2lzCiAgICAK
ICAgIFRoaXMgcHVsbCByZXF1ZXN0IGludHJvZHVjZXMgYSBDb2RlUUwgd29ya2Zsb3cgdG8gZW5o
YW5jZSB0aGUgc2VjdXJpdHkgYW5hbHlzaXMgb2Ygb3VyIHJlcG9zaXRvcnkuIENvZGVRTCBpcyBh
IHBvd2VyZnVsIHN0YXRpYyBhbmFseXNpcyB0b29sIHRoYXQgaGVscHMgaWRlbnRpZnkgYW5kIG1p
dGlnYXRlIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBpbiBvdXIgY29kZWJhc2UuIEJ5IGludGVn
cmF0aW5nIHRoaXMgd29ya2Zsb3cgaW50byBvdXIgR2l0SHViIEFjdGlvbnMsIHdlIGNhbiBwcm9h
Y3RpdmVseSBpZGVudGlmeSBhbmQgYWRkcmVzcyBwb3RlbnRpYWwgaXNzdWVzIGJlZm9yZSB0aGV5
IGJlY29tZSBzZWN1cml0eSB0aHJlYXRzLgogICAgCiAgICBXZSBhZGRlZCBhIG5ldyBDb2RlUUwg
d29ya2Zsb3cgZmlsZSAoLmdpdGh1Yi93b3JrZmxvd3MvY29kZXFsLnltbCkgdGhhdAogICAgLSBS
dW5zIG9uIGV2ZXJ5IHB1bGwgcmVxdWVzdCAoZnVuY3Rpb25hbGl0eSB0byBydW4gb24gZXZlcnkg
cHVzaCB0byBtYWluIGJyYW5jaGVzIGlzIGluY2x1ZGVkIGFzIGEgY29tbWVudCBmb3IgY29udmVu
aWVuY2UpLgogICAgLSBSdW5zIGRhaWx5LgogICAgLSBFeGNsdWRlcyBxdWVyaWVzIHdpdGggYSBo
aWdoIGZhbHNlIHBvc2l0aXZlIHJhdGUgb3IgbG93LXNldmVyaXR5IGZpbmRpbmdzLgogICAgLSBE
b2VzIG5vdCBkaXNwbGF5IHJlc3VsdHMgZm9yIGdpdCBzdWJtb2R1bGVzLCBmb2N1c2luZyBvbmx5
IG9uIG91ciBvd24gY29kZWJhc2UuCiAgICAKICAgIFRlc3Rpbmc6CiAgICBUbyB2YWxpZGF0ZSB0
aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGlzIHdvcmtmbG93LCB3ZSBoYXZlIHJ1biBzZXZlcmFsIHRl
c3Qgc2NhbnMgb24gdGhlIGNvZGViYXNlIGFuZCByZXZpZXdlZCB0aGUgcmVzdWx0cy4gVGhlIHdv
cmtmbG93IHN1Y2Nlc3NmdWxseSBjb21waWxlcyB0aGUgcHJvamVjdCwgaWRlbnRpZmllcyBpc3N1
ZXMsIGFuZCBwcm92aWRlcyBhY3Rpb25hYmxlIGluc2lnaHRzIHdoaWxlIHJlZHVjaW5nIG5vaXNl
IGJ5IGV4Y2x1ZGluZyBjZXJ0YWluIHF1ZXJpZXMgYW5kIHRoaXJkLXBhcnR5IGNvZGUuCiAgICAK
ICAgIERlcGxveW1lbnQ6CiAgICBPbmNlIHRoaXMgcHVsbCByZXF1ZXN0IGlzIG1lcmdlZCwgdGhl
IENvZGVRTCB3b3JrZmxvdyB3aWxsIGJlIGFjdGl2ZSBhbmQgYXV0b21hdGljYWxseSBydW4gb24g
ZXZlcnkgcHVzaCBhbmQgcHVsbCByZXF1ZXN0IHRvIHRoZSBtYWluIGJyYW5jaC4gVG8gdmlldyB0
aGUgcmVzdWx0cyBvZiB0aGVzZSBjb2RlIHNjYW5zLCBwbGVhc2UgZm9sbG93IHRoZXNlIHN0ZXBz
OgogICAgMS4gVW5kZXIgdGhlIHJlcG9zaXRvcnkgbmFtZSwgY2xpY2sgb24gdGhlIFNlY3VyaXR5
IHRhYi4KICAgIDIuIEluIHRoZSBsZWZ0IHNpZGViYXIsIGNsaWNrIENvZGUgc2Nhbm5pbmcgYWxl
cnRzLgogICAgCiAgICBBZGRpdGlvbmFsIEluZm9ybWF0aW9uOgogICAgLSBZb3UgY2FuIGZ1cnRo
ZXIgY3VzdG9taXplIHRoZSB3b3JrZmxvdyB0byBhZGFwdCB0byB5b3VyIHNwZWNpZmljIG5lZWRz
IGJ5IG1vZGlmeWluZyB0aGUgd29ya2Zsb3cgZmlsZS4KICAgIC0gRm9yIG1vcmUgaW5mb3JtYXRp
b24gb24gQ29kZVFMIGFuZCBob3cgdG8gaW50ZXJwcmV0IGl0cyByZXN1bHRzLCByZWZlciB0byB0
aGUgR2l0SHViIGRvY3VtZW50YXRpb24gYW5kIHRoZSBDb2RlUUwgZG9jdW1lbnRhdGlvbiAoaHR0
cHM6Ly9jb2RlcWwuZ2l0aHViLmNvbS8gYW5kIGh0dHBzOi8vY29kZXFsLmdpdGh1Yi5jb20vZG9j
cy8pLgogICAgCiAgICBTaWduZWQtb2ZmLWJ5OiBCcmlhbiA8YmF5dWFuQHB1cmR1ZS5lZHU+Cgpj
b21taXQgMTdiMWY1ZDM4MmJhOWJiZDgxODU2M2U4YzIyZjYxMDFiY2RkMmM4ZgpBdXRob3I6IEJy
aWFuIDxiYXl1YW5AcHVyZHVlLmVkdT4KRGF0ZTogICBGcmkgT2N0IDIwIDAxOjAzOjQ2IDIwMjMg
LTA0MDAKCiAgICBBZGQgQ29kZVFMIFdvcmtmbG93IGZvciBDb2RlIFNlY3VyaXR5IEFuYWx5c2lz
CiAgICAKICAgIEFkZCBDb2RlUUwgV29ya2Zsb3cgZm9yIENvZGUgU2VjdXJpdHkgQW5hbHlzaXMK
ICAgIAogICAgVGhpcyBwdWxsIHJlcXVlc3QgaW50cm9kdWNlcyBhIENvZGVRTCB3b3JrZmxvdyB0
byBlbmhhbmNlIHRoZSBzZWN1cml0eSBhbmFseXNpcyBvZiBvdXIgcmVwb3NpdG9yeS4gQ29kZVFM
IGlzIGEgcG93ZXJmdWwgc3RhdGljIGFuYWx5c2lzIHRvb2wgdGhhdCBoZWxwcyBpZGVudGlmeSBh
bmQgbWl0aWdhdGUgc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzIGluIG91ciBjb2RlYmFzZS4gQnkg
aW50ZWdyYXRpbmcgdGhpcyB3b3JrZmxvdyBpbnRvIG91ciBHaXRIdWIgQWN0aW9ucywgd2UgY2Fu
IHByb2FjdGl2ZWx5IGlkZW50aWZ5IGFuZCBhZGRyZXNzIHBvdGVudGlhbCBpc3N1ZXMgYmVmb3Jl
IHRoZXkgYmVjb21lIHNlY3VyaXR5IHRocmVhdHMuCiAgICAKICAgIFdlIGFkZGVkIGEgbmV3IENv
ZGVRTCB3b3JrZmxvdyBmaWxlICguZ2l0aHViL3dvcmtmbG93cy9jb2RlcWwueW1sKSB0aGF0CiAg
ICAtIFJ1bnMgb24gZXZlcnkgcHVsbCByZXF1ZXN0IChmdW5jdGlvbmFsaXR5IHRvIHJ1biBvbiBl
dmVyeSBwdXNoIHRvIG1haW4gYnJhbmNoZXMgaXMgaW5jbHVkZWQgYXMgYSBjb21tZW50IGZvciBj
b252ZW5pZW5jZSkuCiAgICAtIFJ1bnMgZGFpbHkuCiAgICAtIEV4Y2x1ZGVzIHF1ZXJpZXMgd2l0
aCBhIGhpZ2ggZmFsc2UgcG9zaXRpdmUgcmF0ZSBvciBsb3ctc2V2ZXJpdHkgZmluZGluZ3MuCiAg
ICAtIERvZXMgbm90IGRpc3BsYXkgcmVzdWx0cyBmb3IgZ2l0IHN1Ym1vZHVsZXMsIGZvY3VzaW5n
IG9ubHkgb24gb3VyIG93biBjb2RlYmFzZS4KICAgIAogICAgVGVzdGluZzoKICAgIFRvIHZhbGlk
YXRlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoaXMgd29ya2Zsb3csIHdlIGhhdmUgcnVuIHNldmVy
YWwgdGVzdCBzY2FucyBvbiB0aGUgY29kZWJhc2UgYW5kIHJldmlld2VkIHRoZSByZXN1bHRzLiBU
aGUgd29ya2Zsb3cgc3VjY2Vzc2Z1bGx5IGNvbXBpbGVzIHRoZSBwcm9qZWN0LCBpZGVudGlmaWVz
IGlzc3VlcywgYW5kIHByb3ZpZGVzIGFjdGlvbmFibGUgaW5zaWdodHMgd2hpbGUgcmVkdWNpbmcg
bm9pc2UgYnkgZXhjbHVkaW5nIGNlcnRhaW4gcXVlcmllcyBhbmQgdGhpcmQtcGFydHkgY29kZS4K
ICAgIAogICAgRGVwbG95bWVudDoKICAgIE9uY2UgdGhpcyBwdWxsIHJlcXVlc3QgaXMgbWVyZ2Vk
LCB0aGUgQ29kZVFMIHdvcmtmbG93IHdpbGwgYmUgYWN0aXZlIGFuZCBhdXRvbWF0aWNhbGx5IHJ1
biBvbiBldmVyeSBwdXNoIGFuZCBwdWxsIHJlcXVlc3QgdG8gdGhlIG1haW4gYnJhbmNoLiBUbyB2
aWV3IHRoZSByZXN1bHRzIG9mIHRoZXNlIGNvZGUgc2NhbnMsIHBsZWFzZSBmb2xsb3cgdGhlc2Ug
c3RlcHM6CiAgICAxLiBVbmRlciB0aGUgcmVwb3NpdG9yeSBuYW1lLCBjbGljayBvbiB0aGUgU2Vj
dXJpdHkgdGFiLgogICAgMi4gSW4gdGhlIGxlZnQgc2lkZWJhciwgY2xpY2sgQ29kZSBzY2Fubmlu
ZyBhbGVydHMuCiAgICAKICAgIEFkZGl0aW9uYWwgSW5mb3JtYXRpb246CiAgICAtIFlvdSBjYW4g
ZnVydGhlciBjdXN0b21pemUgdGhlIHdvcmtmbG93IHRvIGFkYXB0IHRvIHlvdXIgc3BlY2lmaWMg
bmVlZHMgYnkgbW9kaWZ5aW5nIHRoZSB3b3JrZmxvdyBmaWxlLgogICAgLSBGb3IgbW9yZSBpbmZv
cm1hdGlvbiBvbiBDb2RlUUwgYW5kIGhvdyB0byBpbnRlcnByZXQgaXRzIHJlc3VsdHMsIHJlZmVy
IHRvIHRoZSBHaXRIdWIgZG9jdW1lbnRhdGlvbiBhbmQgdGhlIENvZGVRTCBkb2N1bWVudGF0aW9u
IChodHRwczovL2NvZGVxbC5naXRodWIuY29tLyBhbmQgaHR0cHM6Ly9jb2RlcWwuZ2l0aHViLmNv
bS9kb2NzLykuCiAgICAKICAgIFNpZ25lZC1vZmYtYnk6IEJyaWFuIDxiYXl1YW5AcHVyZHVlLmVk
dT4KCmNvbW1pdCAxMGRjOWI3ZWIzZDE3MTBkMmU2Y2E5ZjJlNjFjMjdlYjdhMWU4ZDc1CkF1dGhv
cjogQnJpYW4gPGJheXVhbkBwdXJkdWUuZWR1PgpEYXRlOiAgIFdlZCBPY3QgMTggMTY6NTM6MjYg
MjAyMyAtMDQwMAoKICAgIEFkZCBDb2RlUUwgV29ya2Zsb3cgZm9yIENvZGUgU2VjdXJpdHkgQW5h
bHlzaXMKICAgIAogICAgQWRkIENvZGVRTCBXb3JrZmxvdyBmb3IgQ29kZSBTZWN1cml0eSBBbmFs
eXNpcwogICAgCiAgICBUaGlzIHB1bGwgcmVxdWVzdCBpbnRyb2R1Y2VzIGEgQ29kZVFMIHdvcmtm
bG93IHRvIGVuaGFuY2UgdGhlIHNlY3VyaXR5IGFuYWx5c2lzIG9mIG91ciByZXBvc2l0b3J5LiBD
b2RlUUwgaXMgYSBwb3dlcmZ1bCBzdGF0aWMgYW5hbHlzaXMgdG9vbCB0aGF0IGhlbHBzIGlkZW50
aWZ5IGFuZCBtaXRpZ2F0ZSBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgaW4gb3VyIGNvZGViYXNl
LiBCeSBpbnRlZ3JhdGluZyB0aGlzIHdvcmtmbG93IGludG8gb3VyIEdpdEh1YiBBY3Rpb25zLCB3
ZSBjYW4gcHJvYWN0aXZlbHkgaWRlbnRpZnkgYW5kIGFkZHJlc3MgcG90ZW50aWFsIGlzc3VlcyBi
ZWZvcmUgdGhleSBiZWNvbWUgc2VjdXJpdHkgdGhyZWF0cy4KICAgIAogICAgV2UgYWRkZWQgYSBu
ZXcgQ29kZVFMIHdvcmtmbG93IGZpbGUgKC5naXRodWIvd29ya2Zsb3dzL2NvZGVxbC55bWwpIHRo
YXQKICAgIC0gUnVucyBvbiBldmVyeSBwdWxsIHJlcXVlc3QgKGZ1bmN0aW9uYWxpdHkgdG8gcnVu
IG9uIGV2ZXJ5IHB1c2ggdG8gbWFpbiBicmFuY2hlcyBpcyBpbmNsdWRlZCBhcyBhIGNvbW1lbnQg
Zm9yIGNvbnZlbmllbmNlKS4KICAgIC0gUnVucyBkYWlseS4KICAgIC0gRXhjbHVkZXMgcXVlcmll
cyB3aXRoIGEgaGlnaCBmYWxzZSBwb3NpdGl2ZSByYXRlIG9yIGxvdy1zZXZlcml0eSBmaW5kaW5n
cy4KICAgIC0gRG9lcyBub3QgZGlzcGxheSByZXN1bHRzIGZvciBnaXQgc3VibW9kdWxlcywgZm9j
dXNpbmcgb25seSBvbiBvdXIgb3duIGNvZGViYXNlLgogICAgCiAgICBUZXN0aW5nOgogICAgVG8g
dmFsaWRhdGUgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhpcyB3b3JrZmxvdywgd2UgaGF2ZSBydW4g
c2V2ZXJhbCB0ZXN0IHNjYW5zIG9uIHRoZSBjb2RlYmFzZSBhbmQgcmV2aWV3ZWQgdGhlIHJlc3Vs
dHMuIFRoZSB3b3JrZmxvdyBzdWNjZXNzZnVsbHkgY29tcGlsZXMgdGhlIHByb2plY3QsIGlkZW50
aWZpZXMgaXNzdWVzLCBhbmQgcHJvdmlkZXMgYWN0aW9uYWJsZSBpbnNpZ2h0cyB3aGlsZSByZWR1
Y2luZyBub2lzZSBieSBleGNsdWRpbmcgY2VydGFpbiBxdWVyaWVzIGFuZCB0aGlyZC1wYXJ0eSBj
b2RlLgogICAgCiAgICBEZXBsb3ltZW50OgogICAgT25jZSB0aGlzIHB1bGwgcmVxdWVzdCBpcyBt
ZXJnZWQsIHRoZSBDb2RlUUwgd29ya2Zsb3cgd2lsbCBiZSBhY3RpdmUgYW5kIGF1dG9tYXRpY2Fs
bHkgcnVuIG9uIGV2ZXJ5IHB1c2ggYW5kIHB1bGwgcmVxdWVzdCB0byB0aGUgbWFpbiBicmFuY2gu
IFRvIHZpZXcgdGhlIHJlc3VsdHMgb2YgdGhlc2UgY29kZSBzY2FucywgcGxlYXNlIGZvbGxvdyB0
aGVzZSBzdGVwczoKICAgIDEuIFVuZGVyIHRoZSByZXBvc2l0b3J5IG5hbWUsIGNsaWNrIG9uIHRo
ZSBTZWN1cml0eSB0YWIuCiAgICAyLiBJbiB0aGUgbGVmdCBzaWRlYmFyLCBjbGljayBDb2RlIHNj
YW5uaW5nIGFsZXJ0cy4KICAgIAogICAgQWRkaXRpb25hbCBJbmZvcm1hdGlvbjoKICAgIC0gWW91
IGNhbiBmdXJ0aGVyIGN1c3RvbWl6ZSB0aGUgd29ya2Zsb3cgdG8gYWRhcHQgdG8geW91ciBzcGVj
aWZpYyBuZWVkcyBieSBtb2RpZnlpbmcgdGhlIHdvcmtmbG93IGZpbGUuCiAgICAtIEZvciBtb3Jl
IGluZm9ybWF0aW9uIG9uIENvZGVRTCBhbmQgaG93IHRvIGludGVycHJldCBpdHMgcmVzdWx0cywg
cmVmZXIgdG8gdGhlIEdpdEh1YiBkb2N1bWVudGF0aW9uIGFuZCB0aGUgQ29kZVFMIGRvY3VtZW50
YXRpb24gKGh0dHBzOi8vY29kZXFsLmdpdGh1Yi5jb20vIGFuZCBodHRwczovL2NvZGVxbC5naXRo
dWIuY29tL2RvY3MvKS4KICAgIAogICAgU2lnbmVkLW9mZi1ieTogQnJpYW4gPGJheXVhbkBwdXJk
dWUuZWR1PgoKY29tbWl0IGMzZDZmZTlkNzIyNjA0ZjljZGNmMjhiOTc1MjMyZmNkZTQxNzUxNzcK
QXV0aG9yOiBCcmlhbiA8YmF5dWFuQHB1cmR1ZS5lZHU+CkRhdGU6ICAgV2VkIE9jdCAxMSAyMDo0
OToxOSAyMDIzIC0wNDAwCgogICAgQWRkIENvZGVRTCBXb3JrZmxvdyBmb3IgQ29kZSBTZWN1cml0
eSBBbmFseXNpcwogICAgCiAgICBBZGQgQ29kZVFMIFdvcmtmbG93IGZvciBDb2RlIFNlY3VyaXR5
IEFuYWx5c2lzCiAgICAKICAgIFRoaXMgcHVsbCByZXF1ZXN0IGludHJvZHVjZXMgYSBDb2RlUUwg
d29ya2Zsb3cgdG8gZW5oYW5jZSB0aGUgc2VjdXJpdHkgYW5hbHlzaXMgb2Ygb3VyIHJlcG9zaXRv
cnkuIENvZGVRTCBpcyBhIHBvd2VyZnVsIHN0YXRpYyBhbmFseXNpcyB0b29sIHRoYXQgaGVscHMg
aWRlbnRpZnkgYW5kIG1pdGlnYXRlIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdGllcyBpbiBvdXIgY29k
ZWJhc2UuIEJ5IGludGVncmF0aW5nIHRoaXMgd29ya2Zsb3cgaW50byBvdXIgR2l0SHViIEFjdGlv
bnMsIHdlIGNhbiBwcm9hY3RpdmVseSBpZGVudGlmeSBhbmQgYWRkcmVzcyBwb3RlbnRpYWwgaXNz
dWVzIGJlZm9yZSB0aGV5IGJlY29tZSBzZWN1cml0eSB0aHJlYXRzLgogICAgCiAgICBXZSBhZGRl
ZCBhIG5ldyBDb2RlUUwgd29ya2Zsb3cgZmlsZSAoLmdpdGh1Yi93b3JrZmxvd3MvY29kZXFsLnlt
bCkgdGhhdAogICAgLSBSdW5zIG9uIGV2ZXJ5IHB1c2ggYW5kIHB1bGwgcmVxdWVzdCB0byB0aGUg
bWFpbiBicmFuY2guCiAgICAtIEV4Y2x1ZGVzIHF1ZXJpZXMgd2l0aCBhIGhpZ2ggZmFsc2UgcG9z
aXRpdmUgcmF0ZSBvciBsb3ctc2V2ZXJpdHkgZmluZGluZ3MuCiAgICAtIERvZXMgbm90IGRpc3Bs
YXkgcmVzdWx0cyBmb3IgdGhpcmQtcGFydHkgY29kZSwgZm9jdXNpbmcgb25seSBvbiBvdXIgb3du
IGNvZGViYXNlLgogICAgCiAgICBUZXN0aW5nOgogICAgVG8gdmFsaWRhdGUgdGhlIGZ1bmN0aW9u
YWxpdHkgb2YgdGhpcyB3b3JrZmxvdywgd2UgaGF2ZSBydW4gc2V2ZXJhbCB0ZXN0IHNjYW5zIG9u
IHRoZSBjb2RlYmFzZSBhbmQgcmV2aWV3ZWQgdGhlIHJlc3VsdHMuIFRoZSB3b3JrZmxvdyBzdWNj
ZXNzZnVsbHkgY29tcGlsZXMgdGhlIHByb2plY3QsIGlkZW50aWZpZXMgaXNzdWVzLCBhbmQgcHJv
dmlkZXMgYWN0aW9uYWJsZSBpbnNpZ2h0cyB3aGlsZSByZWR1Y2luZyBub2lzZSBieSBleGNsdWRp
bmcgY2VydGFpbiBxdWVyaWVzIGFuZCB0aGlyZC1wYXJ0eSBjb2RlLgogICAgCiAgICBEZXBsb3lt
ZW50OgogICAgT25jZSB0aGlzIHB1bGwgcmVxdWVzdCBpcyBtZXJnZWQsIHRoZSBDb2RlUUwgd29y
a2Zsb3cgd2lsbCBiZSBhY3RpdmUgYW5kIGF1dG9tYXRpY2FsbHkgcnVuIG9uIGV2ZXJ5IHB1c2gg
YW5kIHB1bGwgcmVxdWVzdCB0byB0aGUgbWFpbiBicmFuY2guIFRvIHZpZXcgdGhlIHJlc3VsdHMg
b2YgdGhlc2UgY29kZSBzY2FucywgcGxlYXNlIGZvbGxvdyB0aGVzZSBzdGVwczoKICAgIDEuIFVu
ZGVyIHRoZSByZXBvc2l0b3J5IG5hbWUsIGNsaWNrIG9uIHRoZSBTZWN1cml0eSB0YWIuCiAgICAy
LiBJbiB0aGUgbGVmdCBzaWRlYmFyLCBjbGljayBDb2RlIHNjYW5uaW5nIGFsZXJ0cy4KICAgIAog
ICAgQWRkaXRpb25hbCBJbmZvcm1hdGlvbjoKICAgIC0gWW91IGNhbiBmdXJ0aGVyIGN1c3RvbWl6
ZSB0aGUgd29ya2Zsb3cgdG8gYWRhcHQgdG8geW91ciBzcGVjaWZpYyBuZWVkcyBieSBtb2RpZnlp
bmcgdGhlIHdvcmtmbG93IGZpbGUuCiAgICAtIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIENvZGVR
TCBhbmQgaG93IHRvIGludGVycHJldCBpdHMgcmVzdWx0cywgcmVmZXIgdG8gdGhlIEdpdEh1YiBk
b2N1bWVudGF0aW9uIGFuZCB0aGUgQ29kZVFMIGRvY3VtZW50YXRpb24uCiAgICAKICAgIFNpZ25l
ZC1vZmYtYnk6IEJyaWFuIDxiYXl1YW5AcHVyZHVlLmVkdT4KCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpTdW1t
YXJ5IG9mIGNoYW5nZXM6CiAuZ2l0aHViL3dvcmtmbG93cy9jb2RlcWwtYnVpbGRzY3JpcHQuc2gg
fCAgIDYgKysKIC5naXRodWIvd29ya2Zsb3dzL2NvZGVxbC55bWwgICAgICAgICAgICB8IDEyNiAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogLmdpdGh1Yi93b3JrZmxvd3MvZmFpbF9v
bl9lcnJvci5weSAgICAgIHwgIDM0ICsrKysrKysrKwogc3JjL2FwcHMvaHR0cC9tYWtlZnNkYXRh
L21ha2Vmc2RhdGEgICAgIHwgICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDE2NyBpbnNlcnRpb25z
KCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgLmdpdGh1Yi93b3JrZmxvd3Mv
Y29kZXFsLWJ1aWxkc2NyaXB0LnNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgLmdpdGh1Yi93b3JrZmxv
d3MvY29kZXFsLnltbAogY3JlYXRlIG1vZGUgMTAwNzU1IC5naXRodWIvd29ya2Zsb3dzL2ZhaWxf
b25fZXJyb3IucHkKCgpob29rcy9wb3N0LXJlY2VpdmUKLS0gCmx3SVAgLSBBIExpZ2h0d2VpZ2h0
IFRDUElQIHN0YWNrCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpsd2lwLWNvbW1pdHMgbWFpbGluZyBsaXN0Cmx3aXAtY29tbWl0c0Bub25nbnUub3JnCmh0
dHBzOi8vbGlzdHMubm9uZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2x3aXAtY29tbWl0cwo=