[security] radius: VSA parser OOB read + integer underflows, pre-auth via single UDP packet (CWE-125/CWE-191)

[email protected] Mon, 15 Jun 2026 03:25:55 -0700
Newsgroups gmane.comp.gnu.radius.bugs
Message-ID <[email protected]>
--===============7617822018131247789==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64

QWZmZWN0ZWQ6ICBHTlUgcmFkaXVzIDEuNyAobGF0ZXN0IHJlbGVhc2Ugb24gZnRwLmdudS5vcmc7
IG5vIG5ld2VyIHJlbGVhc2UpCkZpbGVzOiAgICAgbGliL3JhZHBkdS5jOjQ0Ny00NzYgKFZTQSBp
bm5lciBzdWItYXR0cmlidXRlIGxvb3ApCiAgICAgICAgICAgbGliL3JhZHBkdS5jOjM4MyAoZ3Jh
ZF9kZWNvZGVfcGR1LCB0aGUgZGVjb2RlIGVudHJ5IHBvaW50KQogICAgICAgICAgIHJhZGl1c2Qv
cmFkaXVzLmM6MTgzLCAyMzIgKHJhZGl1c19hdXRoX3JlcV9kZWNvZGUsCiAgICAgICAgICAgcmFk
aXVzX2FjY3RfcmVxX2RlY29kZSDigJQgY2FsbCBncmFkX2RlY29kZV9wZHUgQkVGT1JFCiAgICAg
ICAgICAgdmFsaWRhdGVfY2xpZW50KCkpClNldmVyaXR5OiAgSElHSCDigJQgVW5hdXRoZW50aWNh
dGVkIHJlbW90ZSBjcmFzaCB2aWEgYSBzaW5nbGUgVURQCiAgICAgICAgICAgQWNjZXNzLVJlcXVl
c3QgcGFja2V0CkNXRTogICAgICAgQ1dFLTE5MSAoSW50ZWdlciBVbmRlcmZsb3cpLCBDV0UtMTI1
IChPT0IgUmVhZCksCiAgICAgICAgICAgQ1dFLTgzNSAoTG9vcCB3aXRob3V0IFJlYWNoYWJsZSBF
eGl0LCByZWxhdGVkKQoKUmVwb3J0ZXI6ICB6aGFuZ3BoIChhZmxkbCksIGluZGVwZW5kZW50IHNl
Y3VyaXR5IHJlc2VhcmNoZXIKICAgICAgICAgICB6aGFuZ3BoMTIxMzhAMTYzLmNvbQoKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQoxLiBTdW1tYXJ5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KClRoZSBWZW5kb3ItU3BlY2lmaWMgQXR0cmlidXRlIChWU0Es
IGF0dHJpYnV0ZSB0eXBlIDI2KSBpbm5lcgpzdWItYXR0cmlidXRlIHBhcnNlciBpbiBncmFkX2Rl
Y29kZV9wZHUoKSAobGliL3JhZHBkdS5jKSBwZXJmb3JtcyBubwpib3VuZHMgY2hlY2tzIG9uIGF0
dGFja2VyLWNvbnRyb2xsZWQgbGVuZ3RoIGJ5dGVzLiBUaGUgcHJpbWFyeSBmaW5kaW5nCihidWcg
IzIgYmVsb3cpIGlzIHJlYWNoYWJsZSB3aXRoIHRoZSBERUZBVUxUIHJhZGRiL2RpY3Rpb25hcnkg
KGl0IHVzZXMKdmVuZG9yIExpdmluZ3N0b24sIFBFQyAzMDcsIHdoaWNoIHNoaXBzIGluIHRoZSBz
dG9jayBkaWN0aW9uYXJ5KSBhbmQKaXMgdHJpZ2dlcmVkIGJ5IGEgc2luZ2xlIFVEUCBBY2Nlc3Mt
UmVxdWVzdCDigJQgQkVGT1JFIGFueSBjbGllbnQKYXV0aGVudGljYXRpb24gaXMgcGVyZm9ybWVk
LgoKVGhyZWUgYnVncyBsaXZlIGluIHRoZSBzYW1lIGxvb3A6CgogICMxIChTRUNPTkRBUlksIGNv
bmRpdGlvbmFsKS4gbGliL3JhZHBkdS5jOjQ1MiDigJQgdGhlIFVTUi92ZW5kb3ItNDI5CiAgICAg
IGJyYW5jaCBkb2VzIGBtZW1jcHkoJmF0dHJubywgcHRyLCA0KWAgd2l0aCBubyBjaGVjayB0aGF0
CiAgICAgIGF0dHJsZW4gPj0gNCwgYSAxKy1ieXRlIE9PQiByZWFkLiBSZWFjaGFibGUgb25seSB3
aGVuIHRoZSBVU1IKICAgICAgZGljdGlvbmFyeSBpcyBsb2FkZWQgKGAkSU5DTFVERSBkaWN0L3Vz
cmAsIGNvbW1lbnRlZCBvdXQgaW4gdGhlCiAgICAgIGRlZmF1bHQgcmFkZGIvZGljdGlvbmFyeSks
IHNvIHRoaXMgaXMgYSB3ZWFrZXIsIGNvbmRpdGlvbmFsCiAgICAgIGZpbmRpbmcuCgogICMyIChQ
UklNQVJZLCBISUdIKS4gbGliL3JhZHBkdS5jOjQ2MyDigJQgYGxlbiA9ICpwdHIrKyAtIDI7YCB3
aGVyZSB0aGUKICAgICAgc3ViLWF0dHJpYnV0ZSBsZW5ndGggYnl0ZSBpcyBhIHVfY2hhciBhbmQg
bGVuIGlzIHNpemVfdC4gQQogICAgICBzdWItbGVuZ3RoIGJ5dGUgPCAyIHVuZGVyZmxvd3MgbGVu
IHRvIChzaXplX3QpLTIgb3IgKHNpemVfdCktMS4KICAgICAgVGhlbjoKICAgICAgICAtIGBhdHRy
bGVuIC09IGxlbiArIDI7YCAobGluZSA0NjQpIHdyYXBzIGF0dHJsZW4gdG8gYSBodWdlIHZhbHVl
OwogICAgICAgIC0gYHB0ciArPSBsZW47YCAobGluZSA0NzUpIGFkdmFuY2VzIHRoZSBwb2ludGVy
IGJ5IH5TSVpFX01BWCwKICAgICAgICAgIHdyYXBwaW5nIGl0OwogICAgICB0aGUgbG9vcCBjb250
aW51ZXMsIHJlYWRpbmcgb3V0IG9mIGJvdW5kcyAoQ1dFLTEyNSkuIFJlYWNoYWJsZQogICAgICB3
aXRoIHRoZSBERUZBVUxUIGRpY3Rpb25hcnkgdmlhIHZlbmRvciBMaXZpbmdzdG9uIFBFQyAzMDcu
CgogICMzIChSRUxBVEVEKS4gbGliL3JhZHBkdS5jOjQ2MyDigJQgd2hlbiB0aGUgc3ViLWxlbmd0
aCBieXRlID09IDAsCiAgICAgIGBsZW5gIHVuZGVyZmxvd3MgYW5kIGBhdHRybGVuIC09IGxlbiAr
IDJgIGxlYXZlcyBhdHRybGVuCiAgICAgIGVzc2VudGlhbGx5IHVuY2hhbmdlZCwgc28gdGhlIGB3
aGlsZSAoYXR0cmxlbiA+IDApYCBsb29wIG5ldmVyCiAgICAgIGV4aXRzIChDV0UtODM1KS4gU2Ft
ZSBjb2RlIHBhdGggYXMgIzIuCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09CjIuIFByZS1hdXRoZW50aWNhdGlvbiB0cmlnZ2Vy
IChwcm92ZW4pCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KCmdyYWRfZGVjb2RlX3BkdSgpIHBhcnNlcyBBTEwgYXR0cmlidXRl
cyBmcm9tIHRoZSByYXcgVURQIGJ1ZmZlci4gSXRzCnNpZ25hdHVyZSB0YWtlcyBOTyBzaGFyZWQg
c2VjcmV0OgoKICAgIGdyYWRfcmVxdWVzdF90ICoKICAgIGdyYWRfZGVjb2RlX3BkdSh1aW50MzJf
dCBob3N0LCB1X3Nob3J0IHVkcF9wb3J0LAogICAgICAgICAgICAgICAgICAgIHVfY2hhciAqYnVm
ZmVyLCBzaXplX3QgbGVuZ3RoKTsgICAvKiByYWRwZHUuYzozODMgKi8KClRoZSB0d28gcmFkaXVz
ZCBjYWxsZXJzIGludm9rZSBncmFkX2RlY29kZV9wZHUgRklSU1QgYW5kIG9ubHkgY2FsbAp2YWxp
ZGF0ZV9jbGllbnQoKSBBRlRFUiBhIHN1Y2Nlc3NmdWwgZGVjb2RlOgoKICAgIHJhZGl1c2QvcmFk
aXVzLmM6MTgzICBncmVxID0gZ3JhZF9kZWNvZGVfcGR1KC4uLik7CiAgICByYWRpdXNkL3JhZGl1
cy5jOjE5MCAgaWYgKHZhbGlkYXRlX2NsaWVudChncmVxKSkgeyAuLi4gfSAgIC8qIEFGVEVSICov
CiAgICByYWRpdXNkL3JhZGl1cy5jOjIzMiAgZ3JlcSA9IGdyYWRfZGVjb2RlX3BkdSguLi4pOwog
ICAgcmFkaXVzZC9yYWRpdXMuYzoyMzkgIGlmICh2YWxpZGF0ZV9jbGllbnQoZ3JlcSkpIHsgLi4u
IH0gICAvKiBBRlRFUiAqLwoKVGhlcmVmb3JlIGEgbWFsZm9ybWVkIFZTQSBjcmFzaGVzIHRoZSBz
ZXJ2ZXIgRFVSSU5HIGF0dHJpYnV0ZSBkZWNvZGUsCmJlZm9yZSB2YWxpZGF0ZV9jbGllbnQoKSBp
cyBldmVyIHJlYWNoZWQuIEEgc2luZ2xlIFVEUCBBY2Nlc3MtUmVxdWVzdApzdWZmaWNlczsgbm8g
c2hhcmVkIHNlY3JldCwgY3JlZGVudGlhbHMsIG9yIHZhbGlkIGNsaWVudCBlbnRyeSBuZWVkZWQu
Cgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09CjMuIFZlcmlmaWVkIHJlcHJvZHVjdGlvbiAocmVhbCBsaWJnbnVyYWRpdXMuYSwg
QVNBTi9VQlNhbikKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQoKVmVyaWZpZWQgYWdhaW5zdCB0aGUgcmVhbCwgQVNBTi9VQlNh
bi1pbnN0cnVtZW50ZWQKcmFkaXVzLTEuNy9saWIvLmxpYnMvbGliZ251cmFkaXVzLmEgKHN5bWJv
bHMgZnJvbSB0aGUgcmVidWlsdCBzdGF0aWMKYXJjaGl2ZSDigJQgTk9UIGEgaGFydmVzdGVyIHdy
YXBwZXIpLiBUaGUgUG9DIGxpbmtzIHRoZSBhY3R1YWwgbGlicmFyeQphbmQgY2FsbHMgZ3JhZF9k
ZWNvZGVfcGR1KCkgb24gYSAyOC1ieXRlIGNyYWZ0ZWQgQWNjZXNzLVJlcXVlc3Qgd2l0aAphbiBp
bm5lciBzdWItYXR0cmlidXRlIGxlbmd0aCBieXRlIG9mIDEgKHZlbmRvciBMaXZpbmdzdG9uLCBQ
RUMgMzA3LApwcmVzZW50IGluIHRoZSBkZWZhdWx0IGRpY3Rpb25hcnkpLgoKUG9DIHNvdXJjZTog
L2hvbWUvdWJ1bnR1L2RpZmYvcG9jcy9nbnUtcmFkaXVzLXZzYS11bmRlcmZsb3cvdnNhLXVuZGVy
Zmxvdy1wb2MuYwoKQnVpbGQgKGZyb20gaW5zaWRlIHJhZGl1cy0xLjcvKToKCiAgICBjbGFuZyAt
ZyAtTzAgLWZzYW5pdGl6ZT1hZGRyZXNzLHVuZGVmaW5lZCBcCiAgICAgICAgLUkuL2luY2x1ZGUg
XAogICAgICAgIC9ob21lL3VidW50dS9kaWZmL3BvY3MvZ251LXJhZGl1cy12c2EtdW5kZXJmbG93
L3ZzYS11bmRlcmZsb3ctcG9jLmMgXAogICAgICAgIGxpYi8ubGlicy9saWJnbnVyYWRpdXMuYSAt
bG0gLWxjcnlwdCBcCiAgICAgICAgLW8gL3RtcC92c2FfcG9jCgpSdW46CgogICAgQVNBTl9PUFRJ
T05TPWRldGVjdF9sZWFrcz0wIC90bXAvdnNhX3BvYwoKRXhwZWN0ZWQgc2FuaXRpemVyIG91dHB1
dCAocmVhbCwgZnJvbSB0aGUgcmVidWlsdCBhcmNoaXZlOyBQSUQvYWRkcmVzcwp2YWx1ZXMgYXJl
IHJ1bi1zcGVjaWZpYyBleGFtcGxlcyk6CgogICAgWypdIGRpY3Rpb25hcnkgbG9hZGVkIChMaXZp
bmdzdG9uIFBFQyAzMDcgcHJlc2VudCkKICAgIFsqXSBjcmFmdGVkIDI4LWJ5dGUgcGFja2V0IChv
dXRlciBhdHRybGVuPTgsIGlubmVyIHN1Yi1sZW49MSkKICAgIFsqXSBjYWxsaW5nIFJFQUwgZ3Jh
ZF9kZWNvZGVfcGR1Li4uCiAgICByYWRwZHUuYzo0NjE6MTU6IHJ1bnRpbWUgZXJyb3I6IGFkZGl0
aW9uIG9mIHVuc2lnbmVkIG9mZnNldCBvdmVyZmxvd2VkCiAgICB0byAxODQ0Njc0NDA3MzcwOTU1
MTYxNCwgd2hpY2ggY2Fubm90IGJlIHJlcHJlc2VudGVkIGluICd1bnNpZ25lZCBsb25nJwogICAg
Li4uCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQogICAgPT1QSUQ9PUVSUk9SOiBBZGRyZXNzU2FuaXRpemVyOiBzdGFj
ay1idWZmZXItb3ZlcmZsb3cgb24gYWRkcmVzcwogICAgMHguLi4gYXQgcGMgMHguLi4gYnAgMHgu
Li4gc3AgMHguLi4KICAgIFJFQUQgb2Ygc2l6ZSAxIGF0IDB4Li4uIHRocmVhZCBUMAogICAgICAg
ICMwIDB4Li4uIGluIGdyYWRfZGVjb2RlX3BkdSBsaWIvcmFkcGR1LmM6NDYxOjE1CiAgICAgICAg
IzEgMHguLi4gaW4gbWFpbiAoLi4uL3ZzYS11bmRlcmZsb3ctcG9jLmM6NjE6NDYpCiAgICAgICAg
Li4uCiAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQoKVGhlIFVCU2FuIHJlcG9ydCBhdCByYWRwZHUuYzo0NjEgKHRoZSB1
bnNpZ25lZC1vZmZzZXQgb3ZlcmZsb3cgaW4gdGhlCmBhdHRybGVuIC09IGxlbiArIDJgIC8gcG9p
bnRlciBhcml0aG1ldGljIHBhdGgpIHBsdXMgdGhlIEFTQU4Kc3RhY2stYnVmZmVyLW92ZXJmbG93
IFJFQUQgYXQgdGhlIHNhbWUgbG9jYXRpb24gY29uZmlybSB0aGUgdW5kZXJmbG93CmxlYWRzIHRv
IGFuIG91dC1vZi1ib3VuZHMgcmVhZCwgZXhhY3RseSBhcyBhbmFseXplZC4KCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KNC4g
Tm90IGZpeGVkIGluIGxhdGVzdCBjb2RlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgLSBMYXRlc3QgcmVsZWFzZSBpcyAx
LjcgKGZ0cC5nbnUub3JnL2dudS9yYWRpdXMpOyB0aGVyZSBpcyBubyBuZXdlci4KICAtIFVwc3Ry
ZWFtIGdpdCBtYXN0ZXIgKGNvbW1pdCA5NmM4YTFlLCAyMDI2LTA0LTA1KSBjb250YWlucyB0aGUK
ICAgIGlkZW50aWNhbCB2dWxuZXJhYmxlIGNvZGUgYXQgbGliL3JhZHBkdS5jOjQ4Ny01MDQg4oCU
IE5PVCBGSVhFRC4KICAtIEdOVSBSYWRpdXMgaXMgTk9UIGNvdmVyZWQgYnkgT1NTLUZ1enogKG9u
bHkgRnJlZVJBRElVUyBpcywgd2hpY2gKICAgIGlzIGEgZGlmZmVyZW50IHByb2plY3QpLgoKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQo1LiBTdWdnZXN0ZWQgZml4Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCkluIGxpYi9yYWRwZHUuYywgaW4gdGhlIFZT
QSBpbm5lciBsb29wOgoKICAtIEJlZm9yZSBgbGVuID0gKnB0cisrIC0gMjtgIGFkZCBhIGd1YXJk
IHNvIHRoZSBzdWJ0cmFjdGlvbiBjYW5ub3QKICAgIHVuZGVyZmxvdyBhbmQgdGhlIGxvb3AgdGVy
bWluYXRlcyBvbiBtYWxmb3JtZWQgaW5wdXQ6CgogICAgICAgIGlmIChhdHRybGVuIDwgMikgYnJl
YWs7CgogIC0gQWZ0ZXIgY29tcHV0aW5nIGxlbiwgdmVyaWZ5IGl0IGZpdHMgaW5zaWRlIHRoZSBy
ZW1haW5pbmcgYXR0cmxlbjoKCiAgICAgICAgaWYgKGxlbiA+IGF0dHJsZW4gLSAyKSBicmVhazsK
CiAgLSBJbiB0aGUgVVNSL3ZlbmRvci00MjkgYnJhbmNoLCBiZWZvcmUgYG1lbWNweSgmYXR0cm5v
LCBwdHIsIDQpYCwKICAgIGFkZDoKCiAgICAgICAgaWYgKGF0dHJsZW4gPCA0KSBicmVhazsKClRo
ZXNlIHRocmVlIGd1YXJkcyBjbG9zZSBidWdzICMxLCAjMiwgYW5kICMzICh0aGUgc2FtZSBndWFy
ZCB0aGF0CnByZXZlbnRzIHRoZSB1bmRlcmZsb3cgYWxzbyBicmVha3MgdGhlIGF0dHJsZW4tdW5j
aGFuZ2VkIGluZmluaXRlCmxvb3Agb2YgIzMpLgoKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo2LiBEaXNjbG9zdXJlCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KClJlcG9ydGVkIDIwMjYtMDYtMTUuIE5vIHByaW9yIHB1YmxpYyBkaXNjbG9zdXJlLgoKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQo3LiBDcmVkaXRzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KCnpoYW5ncGggKGFmbGRsKSwgaW5kZXBlbmRlbnQgc2Vj
dXJpdHkgcmVzZWFyY2hlci4K

--===============7617822018131247789==
Content-Type: text/markdown; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="CVE-REPORT.md"

IyBDVkUgQ2FuZGlkYXRlOiBHTlUgUmFkaXVzIDEuNyBWU0Egc2l6ZV90IHVuZGVyZmxvdyAoQ1dF
LTE5MSkKCiMjIFN1bW1hcnkKCmBncmFkX2RlY29kZV9wZHUoKWAgaW4gYGxpYi9yYWRwZHUuY2Ag
b2YgR05VIFJhZGl1cyAxLjcgcGFyc2VzIGluY29taW5nClJBRElVUyBwYWNrZXRzLiBXaGVuIHBy
b2Nlc3NpbmcgVmVuZG9yLVNwZWNpZmljIEF0dHJpYnV0ZXMgKFZTQXMpLCB0aGUKaW5uZXIgc3Vi
LWF0dHJpYnV0ZSBsZW5ndGggaXMgY29tcHV0ZWQgdmlhIGAqcHRyKysgLSAyYCB3aGVyZSBgKnB0
cisrYCBpcwphIGB1X2NoYXJgICgwLTI1NSkgYW5kIHRoZSByZXN1bHQgaXMgYXNzaWduZWQgdG8g
YHNpemVfdCBsZW5gICh1bnNpZ25lZCkuCkEgbGVuZ3RoIGJ5dGUgb2YgMCBvciAxIGNhdXNlcyB0
aGUgc3VidHJhY3Rpb24gdG8gdW5kZXJmbG93LCBwcm9kdWNpbmcKYChzaXplX3QpLTFgIG9yIGAo
c2l6ZV90KS0yYC4gVGhlIHVuZGVyZmxvd2VkIHZhbHVlIGlzIHRoZW46CgotIFBhc3NlZCB0byBg
Z3JhZF9kZWNvZGVfcGFpcigpYCAoY2F1Z2h0IGJ5IGl0cyBgYXR0cmxlbiA+IEdSQURfU1RSSU5H
X0xFTkdUSGAKICBjaGVjaywgcmV0dXJucyBOVUxMIGZvciB0aGUgcGFpcikKLSBVc2VkIGF0IGBw
dHIgKz0gbGVuYCAobGluZSA0NzUpIHRvIGFkdmFuY2UgdGhlIGJ1ZmZlciBwb2ludGVyIGJ5CiAg
flNJWkVfTUFYIGJ5dGVzLCB3cmFwcGluZyB0aGUgcG9pbnRlcgotIFVzZWQgdG8gZGVjcmVtZW50
IGBhdHRybGVuIC09IGxlbiArIDJgLCBjYXVzaW5nIGFub3RoZXIgc2l6ZV90IHVuZGVyZmxvdwog
IHRoYXQgbGV0cyB0aGUgb3V0ZXIgYHdoaWxlIChhdHRybGVuID4gMClgIGxvb3AgY29udGludWUg
cGFzdCB0aGUKICBpbnRlbmRlZCBidWZmZXIgYm91bmRhcnkKCiMjIEFmZmVjdGVkIGNvZGUKCmBs
aWIvcmFkcGR1LmM6NDQ3LTQ3NmAg4oCUIFZTQSBzdWItYXR0cmlidXRlIHBhcnNpbmc6CgpgYGBj
CndoaWxlIChhdHRybGVuID4gMCkgewogICAgc2l6ZV90IGxlbjsKCiAgICBpZiAodmVuZG9ycGVj
ID09IDQyOSkgewogICAgICAgIC8qIEhhY2sgZm9yIG5vbi1jb21wbGlhbnQgVVNSIFZTQSAqLwog
ICAgICAgIG1lbWNweSgmYXR0cm5vLCBwdHIsIDQpOyAgLy8gbm8gYm91bmRzIGNoZWNrCiAgICAg
ICAgYXR0cm5vID0gR1JBRF9WU0FfQVRUUl9OVU1CRVIoCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgbnRvaGwoYXR0cm5vKSwgdmVuZG9yY29kZSk7CiAgICAgICAgcHRyICs9IDQ7CiAgICAgICAg
YXR0cmxlbiAtPSA0OyAgICAgICAgICAgICAvLyBubyB1bmRlcmZsb3cgY2hlY2sKICAgICAgICBs
ZW4gPSBhdHRybGVuOwogICAgICAgIGF0dHJsZW4gPSAwOwogICAgfSBlbHNlIHsKICAgICAgICBh
dHRybm8gPSBHUkFEX1ZTQV9BVFRSX05VTUJFUigqcHRyKyssIHZlbmRvcmNvZGUpOwogICAgICAg
IGxlbiA9ICpwdHIrKyAtIDI7ICAgICAgICAgLy8gQlVHOiBzaXplX3QgdW5kZXJmbG93IGlmICpw
dHIrKyA8IDIKICAgICAgICBhdHRybGVuIC09IGxlbiArIDI7ICAgICAgIC8vIEJVRzogc2Vjb25k
YXJ5IHVuZGVyZmxvdwogICAgfQoKICAgIHBhaXIgPSBncmFkX2RlY29kZV9wYWlyKGF0dHJubywg
KGNoYXIqKXB0ciwgbGVuKTsKICAgIGlmIChwYWlyKSB7CiAgICAgICAgaWYgKGZpcnN0X3BhaXIg
PT0gTlVMTCkKICAgICAgICAgICAgZmlyc3RfcGFpciA9IHBhaXI7CiAgICAgICAgZWxzZQogICAg
ICAgICAgICBwcmV2LT5uZXh0ID0gcGFpcjsKICAgICAgICBwcmV2ID0gcGFpcjsKICAgIH0KICAg
IHB0ciArPSBsZW47ICAgICAgICAgICAgICAgICAgIC8vIEJVRzogcG9pbnRlciB3cmFwCn0KYGBg
CgpUaGUgZmlyc3QgdGltZSBgZ3JhZF9kZWNvZGVfcGFpcmAgaXMgY2FsbGVkIHdpdGggYSBodWdl
IGBsZW5gLCBpdCByZXR1cm5zCk5VTEwgYmVjYXVzZSBvZiB0aGUgYGF0dHJsZW4gPiBHUkFEX1NU
UklOR19MRU5HVEhgICgyNTMpIGNoZWNrIGF0CmBncmFkX2RlY29kZV9wYWlyYC4gQnV0IGJ5IHRo
ZW4gYHB0cmAgaGFzIGJlZW4gYWR2YW5jZWQgYnkgU0laRV9NQVggYnl0ZXMKYW5kIGBhdHRybGVu
YCBoYXMgYmVlbiB1bmRlcmZsb3dlZCB0byBhIHNtYWxsIHBvc2l0aXZlIHZhbHVlLCBzbyB0aGUg
b3V0ZXIKbG9vcCBjYW4gY29udGludWUgcmVhZGluZyBhcmJpdHJhcnkgbWVtb3J5IGFmdGVyIHRo
ZSBidWZmZXIuCgojIyBBZGRpdGlvbmFsIGJ1Z3MgaW4gdGhlIHNhbWUgZnVuY3Rpb24KCjEuIGBh
dHRybm8gPSAqcHRyKys7IGF0dHJsZW4gPSAqcHRyKys7YCAobGluZXMgNDMyLTQzMykg4oCUIG5v
IGNoZWNrIHRoYXQKICAgYXQgbGVhc3QgMiBieXRlcyByZW1haW4gaW4gdGhlIGJ1ZmZlci4gQSAx
LWJ5dGUgT09CIHJlYWQgaXMgcG9zc2libGUKICAgaWYgdGhlIGJ1ZmZlciBoYXMgb2RkIGxlbmd0
aC4KCjIuIGBsZW5ndGggLT0gMjtgIChsaW5lIDQ0MCkg4oCUIGBsZW5ndGhgIGlzIGEgbG9jYWwg
dGhhdCBoYXMgbm90IGJlZW4KICAgY2hlY2tlZCBmb3Igc3VmZmljaWVudCByZW1haW5pbmcgYnl0
ZXMuIElmIGBsZW5ndGhgIGlzIDEsIHRoaXMKICAgdW5kZXJmbG93cyB0byBTSVpFX01BWCwgY2F1
c2luZyBgZW5kcCA9IGF1dGggKyBTSVpFX01BWGAgYW5kIHRoZQogICBvdXRlciBgd2hpbGUgKHB0
ciA8IGVuZHApYCBsb29wIHRvIGNvbnRpbnVlIHJlYWRpbmcgd2lsZCBtZW1vcnkuCgozLiBgcHRy
ICs9IDQ7IGF0dHJsZW4gLT0gNDtgIChsaW5lcyA0NDQtNDQ1KSDigJQgbm8gY2hlY2sgdGhhdCBh
dHRybGVuCiAgIGlzIGF0IGxlYXN0IDQgYmVmb3JlIGNvbnN1bWluZyA0IGJ5dGVzIGZvciB0aGUg
dmVuZG9yIElELgoKNC4gYG1lbWNweSgmYXR0cm5vLCBwdHIsIDQpO2AgKGxpbmUgNDUyKSDigJQg
cmVhZHMgNCBieXRlcyB3aXRob3V0IGNoZWNraW5nCiAgIHRoYXQgNCBieXRlcyByZW1haW4uIElm
IHRoZSBWU0EgbGVuZ3RoIGJ5dGUgc2F5cyDiiaU2IGJ1dCB0aGUgYnVmZmVyCiAgIGlzIHNob3J0
ZXIsIHRoaXMgaXMgYSAxKyBieXRlIE9PQiByZWFkLgoKIyMgUmVhY2hhYmlsaXR5CgpgcmFkaXVz
ZGAgbGlzdGVucyBvbiBVRFAvMTgxMiAoQXV0aGVudGljYXRpb24pIGFuZCBVRFAvMTgxMyAoQWNj
b3VudGluZykKYnkgZGVmYXVsdC4gQW4gdW5hdXRoZW50aWNhdGVkIGF0dGFja2VyIGNhbiB0cmln
Z2VyIHRoaXMgYnVnIHdpdGggYQpzaW5nbGUgVURQIHBhY2tldCBjb250YWluaW5nIGEgVlNBIGF0
dHJpYnV0ZSB3aXRoIGEgbWFsZm9ybWVkIHN1Yi1hdHRyaWJ1dGUKbGVuZ3RoIGJ5dGUuCgpObyBD
VkUgaGFzIGJlZW4gYXNzaWduZWQgZm9yIHRoaXMgaXNzdWUgYXMgb2YgMjAyNi0wNi0xMi4KCiMj
IENXRQoKLSAqKkNXRS0xOTEqKjogSW50ZWdlciBVbmRlcmZsb3cgKFdyYXAgb3IgV3JhcGFyb3Vu
ZCkKLSAqKkNXRS03ODcqKjogT3V0LW9mLWJvdW5kcyBXcml0ZSAocG90ZW50aWFsLCBpZiB0aGUg
dW5kZXJmbG93ZWQgYGxlbmAKICBpcyBldmVyIHVzZWQgaW4gYSB3cml0ZSB0aGF0IGJ5cGFzc2Vz
IHRoZSBTSVpFX01BWCBjaGVjaykKLSAqKkNXRS0xMjUqKjogT3V0LW9mLWJvdW5kcyBSZWFkIChw
b3RlbnRpYWwsIHZpYSBgcHRyICs9IGxlbmAgd3JhcCkKCiMjIFNldmVyaXR5CgotICoqTmV0d29y
ay1yZWFjaGFibGUqKiB3aXRob3V0IGF1dGhlbnRpY2F0aW9uIChzaW5nbGUgVURQIHBhY2tldCku
Ci0gKipMb3cgY29tcGxleGl0eSoqOiBqdXN0IG9uZSBtYWxmb3JtZWQgUkFESVVTIHBhY2tldC4K
LSAqKlByZS1hdXRoIFBST1ZFTioqOiBgZ3JhZF9kZWNvZGVfcGR1KGhvc3QsIHVkcF9wb3J0LCBi
dWZmZXIsIGxlbmd0aClgCiAgKHJhZHBkdS5jOjM4MykgdGFrZXMgTk8gc2hhcmVkIHNlY3JldDsg
dGhlIHJhZGl1c2QgY2FsbGVycwogIChgcmFkaXVzX2F1dGhfcmVxX2RlY29kZWAgLyBgcmFkaXVz
X2FjY3RfcmVxX2RlY29kZWAsCiAgcmFkaXVzZC9yYWRpdXMuYzoxODMgLyAyMzIpIGNhbGwgYGdy
YWRfZGVjb2RlX3BkdWAgRklSU1QgYW5kCiAgYHZhbGlkYXRlX2NsaWVudCgpYCBBRlRFUiAocmFk
aXVzLmM6MTkwIC8gMjM5KS4gQ3Jhc2ggaGFwcGVucyBkdXJpbmcKICBkZWNvZGUsIGJlZm9yZSBh
dXRoZW50aWNhdGlvbi4KLSAqKlJlYWNoYWJsZSB3aXRoIHRoZSBERUZBVUxUIHJhZGRiL2RpY3Rp
b25hcnkqKiB2aWEgdmVuZG9yIExpdmluZ3N0b24KICBQRUMgMzA3IOKAlCB0aGlzIGlzIHRoZSBw
cmltYXJ5LCBTVUJNSVRUQUJMRSBmaW5kaW5nIChISUdIKS4KLSAqKkF2YWlsYWJpbGl0eSBpbXBh
Y3Q6IGhpZ2gqKiDigJQgbGlrZWx5IGNyYXNoIChTRUdWKSBkdWUgdG8gcG9pbnRlciB3cmFwLgot
ICoqQ29uZmlkZW50aWFsaXR5IC8gaW50ZWdyaXR5OiBwb3RlbnRpYWxseSoqIOKAlCB0aGUgd3Jh
cHBlZCBwb2ludGVyIG1heQogIHJlYWQgYXR0YWNrZXItY29udHJvbGxhYmxlIGhlYXAgZGF0YSBv
biBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMuCgpSZWxhdGVkIGZpbmRpbmdzIGluIHRoZSBzYW1lIGxv
b3A6IGJ1ZyAjMyAoc3ViLWxlbmd0aCBieXRlID09IDApIHlpZWxkcwp0aGUgc2FtZSB1bmRlcmZs
b3cgYW5kIGFuIGluZmluaXRlIGxvb3AgKENXRS04MzUpLiBCdWcgIzEgKFVTUi92ZW5kb3ItNDI5
CmBtZW1jcHkoJmF0dHJubywgcHRyLCA0KWAgT09CIGF0IHJhZHBkdS5jOjQ1MikgaXMgYSB3ZWFr
ZXIgY29uZGl0aW9uYWwKZmluZGluZyDigJQgaXQgbmVlZHMgYCRJTkNMVURFIGRpY3QvdXNyYCwg
d2hpY2ggaXMgY29tbWVudGVkIG91dCBieSBkZWZhdWx0LgoKIyMgTm90IGZpeGVkIGluIGxhdGVz
dCBjb2RlCgotIExhdGVzdCByZWxlYXNlIGlzIDEuNyAoZnRwLmdudS5vcmcvZ251L3JhZGl1cyk7
IHRoZXJlIGlzIG5vIG5ld2VyLgotIFVwc3RyZWFtIGdpdCBtYXN0ZXIgY29tbWl0IDk2YzhhMWUg
KDIwMjYtMDQtMDUpIGhhcyB0aGUgaWRlbnRpY2FsIGNvZGUKICBhdCBsaWIvcmFkcGR1LmM6NDg3
LTUwNCDigJQgTk9UIEZJWEVELgotIEdOVSBSYWRpdXMgaXMgTk9UIGNvdmVyZWQgYnkgT1NTLUZ1
enogKG9ubHkgRnJlZVJBRElVUyBpcywgYSBkaWZmZXJlbnQKICBwcm9qZWN0KS4KCiMjIFBvQyAo
UkVBTCwgbGlua3MgbGliZ251cmFkaXVzLmEg4oCUIG5vdCBhIGhhcnZlc3RlciB3cmFwcGVyKQoK
VGhlIHJlYWwgcmVwcm9kdWNlciBpcyBgdnNhLXVuZGVyZmxvdy1wb2MuY2AuIEl0IGxpbmtzIHRo
ZSBhY3R1YWwKQVNBTi9VQlNhbi1pbnN0cnVtZW50ZWQgYHJhZGl1cy0xLjcvbGliLy5saWJzL2xp
YmdudXJhZGl1cy5hYCAoc3ltYm9scwpmcm9tIHRoZSByZWJ1aWx0IHN0YXRpYyBhcmNoaXZlKSwg
bG9hZHMgdGhlIHN0b2NrIHJhZGRiL2RpY3Rpb25hcnkKKExpdmluZ3N0b24gUEVDIDMwNyBpcyBw
cmVzZW50IGJ5IGRlZmF1bHQpLCBhbmQgY2FsbHMgdGhlIFJFQUwKYGdyYWRfZGVjb2RlX3BkdSgp
YCBvbiBhIDI4LWJ5dGUgY3JhZnRlZCBBY2Nlc3MtUmVxdWVzdCB3aG9zZSBpbm5lcgpzdWItYXR0
cmlidXRlIGxlbmd0aCBieXRlIGlzIDEuIE5vIHNoYXJlZCBzZWNyZXQgaXMgcmVxdWlyZWQgYmVj
YXVzZQphdHRyaWJ1dGUgcGFyc2luZyBydW5zIGJlZm9yZSBgdmFsaWRhdGVfY2xpZW50KClgIChy
YWRpdXNkL3JhZGl1cy5jOjE5MCkuCgpCdWlsZCAocnVuIGZyb20gaW5zaWRlIGByYWRpdXMtMS43
L2ApOgoKYGBgCmNsYW5nIC1nIC1PMCAtZnNhbml0aXplPWFkZHJlc3MsdW5kZWZpbmVkIFwKICAg
IC1JLi9pbmNsdWRlIFwKICAgIC9ob21lL3VidW50dS9kaWZmL3BvY3MvZ251LXJhZGl1cy12c2Et
dW5kZXJmbG93L3ZzYS11bmRlcmZsb3ctcG9jLmMgXAogICAgbGliLy5saWJzL2xpYmdudXJhZGl1
cy5hIC1sbSAtbGNyeXB0IFwKICAgIC1vIC90bXAvdnNhX3BvYwpgYGAKClJ1bjoKCmBgYApBU0FO
X09QVElPTlM9ZGV0ZWN0X2xlYWtzPTAgL3RtcC92c2FfcG9jCmBgYAoKRXhwZWN0ZWQgb3V0cHV0
IChSRUFMLCBmcm9tIHRoZSByZWJ1aWx0IGFyY2hpdmU7IFBJRC9hZGRyZXNzIHZhbHVlcyBhcmUK
cnVuLXNwZWNpZmljIGV4YW1wbGVzKToKCmBgYApbKl0gZGljdGlvbmFyeSBsb2FkZWQgKExpdmlu
Z3N0b24gUEVDIDMwNyBwcmVzZW50KQpbKl0gY3JhZnRlZCAyOC1ieXRlIHBhY2tldCAob3V0ZXIg
YXR0cmxlbj04LCBpbm5lciBzdWItbGVuPTEpClsqXSBjYWxsaW5nIFJFQUwgZ3JhZF9kZWNvZGVf
cGR1Li4uCnJhZHBkdS5jOjQ2MToxNTogcnVudGltZSBlcnJvcjogYWRkaXRpb24gb2YgdW5zaWdu
ZWQgb2Zmc2V0IG92ZXJmbG93ZWQKdG8gMTg0NDY3NDQwNzM3MDk1NTE2MTQsIHdoaWNoIGNhbm5v
dCBiZSByZXByZXNlbnRlZCBpbiAndW5zaWduZWQgbG9uZycKLi4uCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj09UElEPT1F
UlJPUjogQWRkcmVzc1Nhbml0aXplcjogc3RhY2stYnVmZmVyLW92ZXJmbG93IG9uIGFkZHJlc3MK
MHguLi4gYXQgcGMgMHguLi4gYnAgMHguLi4gc3AgMHguLi4KUkVBRCBvZiBzaXplIDEgYXQgMHgu
Li4gdGhyZWFkIFQwCiAgICAjMCAweC4uLiBpbiBncmFkX2RlY29kZV9wZHUgbGliL3JhZHBkdS5j
OjQ2MToxNQogICAgIzEgMHguLi4gaW4gbWFpbiAoLi4uL3ZzYS11bmRlcmZsb3ctcG9jLmM6NjE6
NDYpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CmBgYAoKVGhlIFVCU2FuIG92ZXJmbG93IGF0IHJhZHBkdS5jOjQ2MSBwbHVz
IHRoZSBBU0FOIHN0YWNrLWJ1ZmZlci1vdmVyZmxvdwpSRUFEIGF0IHRoZSBzYW1lIGxvY2F0aW9u
IGNvbmZpcm0gdGhlIHNpemVfdCB1bmRlcmZsb3cgbGVhZHMgdG8gYW4Kb3V0LW9mLWJvdW5kcyBy
ZWFkLiBUaGlzIGlzIHRoZSBwcmltYXJ5IGZpbmRpbmcgKGJ1ZyAjMiksIHJlYWNoYWJsZQp3aXRo
IHRoZSBERUZBVUxUIGRpY3Rpb25hcnkuCgpBIG5ldHdvcmsgdHJpZ2dlciBpcyBhdCBgdHJpZ2dl
ci5weWAuIEl0IHNlbmRzIGEgc2luZ2xlIFVEUCBBY2Nlc3MtUmVxdWVzdAp0byB0aGUgUkFESVVT
IHNlcnZlciB3aXRoIHRoZSBtYWxmb3JtZWQgVlNBIGFuZCBvYnNlcnZlcyB0aGUgY3Jhc2guCgoo
VGhlIG9sZCBgcG9jLmNgIGluIHRoaXMgZGlyZWN0b3J5IGlzIGEgc3RhbmRhbG9uZSBTSU1VTEFU
SU9OIG9mIHRoZQp1bmRlcmZsb3cgbG9naWMgZm9yIGlsbHVzdHJhdGlvbiBvbmx5OyBgdnNhLXVu
ZGVyZmxvdy1wb2MuY2AgaXMgdGhlCmF1dGhvcml0YXRpdmUgcmVwcm9kdWNlciBhZ2FpbnN0IHRo
ZSByZWFsIGxpYnJhcnkuKQoKIyMgU3VnZ2VzdGVkIGZpeAoKYGBgYwp9IGVsc2UgewogICAgYXR0
cm5vID0gR1JBRF9WU0FfQVRUUl9OVU1CRVIoKnB0cisrLCB2ZW5kb3Jjb2RlKTsKICAgIHVuc2ln
bmVkIGNoYXIgc3VibGVuID0gKnB0cisrOwogICAgaWYgKHN1YmxlbiA8IDIgfHwgc3VibGVuIC0g
MiA+IGF0dHJsZW4pIHsKICAgICAgICBncmFkX2xvZyhHUkFEX0xPR19OT1RJQ0UsCiAgICAgICAg
ICAgICJSZWNlaXZlZCBWU0Egc3ViLWF0dHJpYnV0ZSB3aXRoIGludmFsaWQgbGVuZ3RoICVkIiwK
ICAgICAgICAgICAgc3VibGVuKTsKICAgICAgICByZXR1cm4gcmFkcmVxOwogICAgfQogICAgbGVu
ID0gc3VibGVuIC0gMjsKICAgIGF0dHJsZW4gLT0gbGVuICsgMjsKfQpgYGAKCkFsc28gZml4IHRo
ZSBhZGRpdGlvbmFsIGJ1Z3M6CgpgYGBjCi8qIEJlZm9yZSB0aGUgd2hpbGUgbG9vcCwgZW5zdXJl
IGF0IGxlYXN0IDIgYnl0ZXMgcmVtYWluICovCndoaWxlIChwdHIgKyAyIDw9IGVuZHAgJiYgIXN0
b3ApIHsKICAgIGF0dHJubyA9ICpwdHIrKzsKICAgIGF0dHJsZW4gPSAqcHRyKys7CiAgICBpZiAo
YXR0cmxlbiA8IDIpIHsgc3RvcCA9IDE7IGNvbnRpbnVlOyB9CiAgICBhdHRybGVuIC09IDI7CiAg
ICBsZW5ndGggLT0gMjsgIC8qIE5vdyBzYWZlLCBwdHIrMiA8PSBlbmRwICovCiAgICAuLi4KfQpg
YGAKCiMjIE5vdGVzCgotIFRoaXMgaXMgYSBjbGFzc2ljICJ1bmNoZWNrZWQgbGVuZ3RoIGJ5dGUi
IGJ1ZyBwYXR0ZXJuIHRoYXQgYXBwZWFycyBpbgogIG1hbnkgb2xkZXIgQyBwYXJzZXJzLgotIFRo
ZSBSQURJVVMgcHJvdG9jb2wgaXMgYSBVRFAtYmFzZWQgcHJvdG9jb2wsIHNvIGFtcGxpZmljYXRp
b24gYW5kCiAgc3Bvb2ZpbmcgYXJlIGJvdGggcG9zc2libGUgdmVjdG9ycy4KLSBUaGUgc2FtZSBi
dWcgcGF0dGVybiBtYXkgZXhpc3QgaW4gdGhlIGVuY29kZSBzaWRlIChgZ3JhZF9lbmNvZGVfcGFp
cmApLgo=

--===============7617822018131247789==--