[PATCH branch-1.6] debugmode: Add support for ? query of current flags

Eric Blake via M4-patches <[email protected]> Sun, 11 May 2025 09:15:21 -0500
Newsgroups gmane.comp.gnu.m4.patches
Message-ID <[email protected]>
SSdtIGhvcGluZyB0byBhZGQgYSBkZWJ1Z21vZGUoK3IpIHRvIHRvZ2dsZSB3aGV0aGVyIHRvIHdh
cm4gb24Kc3VzcGljaW91cyByZWdleCBjb25zdHJ1Y3RzLiAgQnV0IEkgY291bGRuJ3QgZG8gaXQg
aW4gbTQgMS40LngsIGluCnBhcnQgYmVjYXVzZSBkZWJ1Z21vZGUoKSB3YXJucyBvbiB1bnJlY29n
bml6ZWQgZmxhZ3MuICBJdCB3aWxsIGJlCmVhc2llciB0byBhZGQgbmV3IGZsYWdzIGluIHRoZSBm
dXR1cmUgaWYgaXQgaXMgYWxzbyBwb3NzaWJsZSB0byBxdWVyeQp0aGUgc2V0IG9mIGZsYWdzIGtu
b3duIGJ5IG00LCBhcyB3ZWxsIGFzIHRoZSBjdXJyZW50IHN0YXRlIG9mIHRob3NlCmZsYWdzLiAg
QW5kIHRoZSBlYXNpZXN0IHdheSB0byBkbyB0aGF0IHdhcyB0byBoYXZlIGRlYnVnbW9kZSg/KSBv
dXRwdXQKYSBzdHJpbmcgY29udGFpbmluZyBib3RoIHRoZSBzZXQgYW5kIGNsZWFyZWQgZmxhZ3Ms
IHdoaWNoIG1lYW5zIHRoZQpwYXJzZXIgaGFzIHRvIGFjY2VwdCB0aGF0IGFzIHdlbGwuICBGb3Ig
YmFjay1jb21wYXQgd2l0aCAxLjQueCwKZGVidWdtb2RlKC0pIGlzIG9uY2UgYWdhaW4gc3lub255
bW91cyB3aXRoIGNsZWFyaW5nIHRoZSBkZWZhdWx0IGZsYWdzCmJ1dCBsZWF2aW5nIG90aGVycyBp
biBwbGFjZS4gIEFuZCB0aGUgZWFybGllciBjaGFuZ2UgdG8gbWFrZSAnbTQgLWQnCmJlaGF2ZSBs
aWtlICdtNCAtZCthZGVxJyBidXQgJ2RlYnVnbW9kZSgpJyBiZWhhdmUgbGlrZQonZGVidWdtb2Rl
KGFlcXQpJyBpcyB0b28gY29tcGxleCB0byBtYWludGFpbjsgaXQncyBzaW1wbGVyIHRvIGhhdmUg
dGhlCmVtcHR5IGFyZ3VtZW50IHNldCB0aGUgZGVmYXVsdCByYXRoZXIgdGhhbiBhZGQgdGhlIGRl
ZmF1bHQuCgoqIGRvYy9tNC50ZXhpIChEZWJ1Z2dpbmcgb3B0aW9ucyk6IFR3ZWFrIGV4YW1wbGUg
dG8gbWF0Y2ggY29kZS4KKERlYnVnbW9kZSk6IE1lbnRpb24gcWluZGlyLCBtaXNzZWQgaW4gcHJl
dmlvdXMgcGF0Y2guIERvY3VtZW50IG5ldwphYmlsaXR5IHRvIHN1cHBvcnQgKyBhbmQgLSBpbiBz
YW1lIHN0cmluZywgYW5kIG5ldyA/IGZvciBxdWVyeS4KKiBzcmMvYnVpbHRpbi5jIChtNF9kZWJ1
Z21vZGUpOiBIYW5kbGUgbmV3ICI/IiBjYXNlLgoqIHNyYy9tNC5oIChkZWJ1Z19kdW1wKTogTmV3
IGRlY2xhcmF0aW9uLgoqIHNyYy9kZWJ1Zy5jIChkZWJ1Z19kdW1wKTogTmV3IGZ1bmN0aW9uLgoo
ZGVidWdfc2V0KTogTmV3IGhlbHBlciwgZmFjdG9yZWQgb3V0IG9mLi4uCihkZWJ1Z19kZWNvZGUp
OiAuLi5oZXJlLiBSZXN0b3JlIDEuNC54IGNvbXBhdGliaWxpdHkgd2l0aCBwYXJzaW5nCiIiLCAi
LSIsIGFuZCAiKyIuICBTdXBwb3J0IG1vcmUgdGhhbiBvbmUgIi0iIGFuZCAiKyIgaW4gYSBzdHJp
bmcuCiogTkVXUzogRG9jdW1lbnQgdGhpcy4KLS0tCiBORVdTICAgICAgICAgIHwgICA5ICsrKyst
CiBkb2MvbTQudGV4aSAgIHwgIDYwICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0KIHNyYy9i
dWlsdGluLmMgfCAgIDkgKysrLS0KIHNyYy9kZWJ1Zy5jICAgfCAxMDYgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIHNyYy9tNC5oICAgICAgfCAgIDEg
KwogNSBmaWxlcyBjaGFuZ2VkLCAxNDQgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKaW5kZXggODljYWZlNmUuLjk3YzRkOWMwIDEwMDY0NAot
LS0gYS9ORVdTCisrKyBiL05FV1MKQEAgLTY4LDE1ICs2OCwyMCBAQCBHTlUgTTQgTkVXUyAtIFVz
ZXIgdmlzaWJsZSBjaGFuZ2VzLgogKiogVGhlIGAtZCcvYC0tZGVidWcnIGNvbW1hbmQtbGluZSBv
cHRpb24gbm93IHVuZGVyc3RhbmRzIGAtJyBhbmQgYCsnCiAgICBtb2RpZmllcnMsIHRoZSB3YXkg
dGhlIGJ1aWx0aW4gYGRlYnVnbW9kZScgaGFzIGFsd2F5cyBkb25lOyB0aGlzIGFsbG93cwogICAg
YC1kLVYnIHRvIGRpc2FibGUgcHJpb3IgZGVidWcgc2V0dGluZ3MgZnJvbSB0aGUgY29tbWFuZCBs
aW5lLCBzaW1pbGFyIHRvCi0gICB1c2luZyB0aGUgYnVpbHRpbiBgZGVidWdtb2RlJyB3aXRob3V0
IGFyZ3VtZW50cy4gIFRoZSBvcHRpb24KKyAgIHVzaW5nIHRoZSBidWlsdGluIGBkZWJ1Z21vZGUn
IHdpdGhvdXQgYXJndW1lbnRzLiAgVGhlIG1vZGUgc3RyaW5nIGNhbgorICAgbm93IGNvbnRhaW4g
YC0nIG9yIGArJyBhdCBtb3JlIHRoYW4ganVzdCB0aGUgZmlyc3QgYnl0ZS4gIFRoZSBvcHRpb24K
ICAgIGAtLWRlYnVnbW9kZScgaXMgYWRkZWQgYXMgYW4gYWxpYXMgZm9yIGAtZCcuICBUaGUgbmV3
IGZsYWcgYGQnIGlzIGFkZGVkCiAgICB0byBjb250cm9sIHdoZXRoZXIgZGVyZWZlcmVuY2luZyBh
biB1bmRlZmluZWQgbWFjcm8gY2F1c2VzIGEgd2FybmluZy4KICAgIFRoZSBuZXcgZmxhZyBgbycg
aXMgYWRkZWQgdG8gY29udHJvbCB3aGV0aGVyIGBkdW1wZGVmJyBvdXRwdXRzIHRvIHN0ZGVycgog
ICAgb3IgdGhlIGN1cnJlbnQgYGRlYnVnZmlsZScgbG9jYXRpb24uICBXaGVuIHRoZSBjb21tYW5k
IGxpbmUgb3B0aW9uIGlzCi0gICBnaXZlbiB0aGUgZW1wdHkgc3RyaW5nLCB0aGUgbW9kZSBpcyB0
cmVhdGVkIGFzIGArYWRlcScgaW5zdGVhZCBvZiBgYWVxJy4KKyAgIGdpdmVuIHRoZSBlbXB0eSBz
dHJpbmcsIHRoZSBtb2RlIGlzIHRyZWF0ZWQgYXMgYGFkZXEnIGluc3RlYWQgb2YgYGFlcScuCiAg
ICBBbHNvLCB0aGUgcG9zaXRpb24gb2YgYC1kJyB3aXRoIHJlc3BlY3QgdG8gZmlsZXMgb24gdGhl
IGNvbW1hbmQgbGluZSBpcwogICAgbm93IHNpZ25pZmljYW50LgoKKyoqIFRoZSBgZGVidWdtb2Rl
JyBidWlsdGluIChidXQgbm90IHRoZSBgLWQnIGNvbW1hbmQgbGluZSBvcHRpb24pIG5vdworICAg
dW5kZXJzdGFuZHMgYW4gYXJndW1lbnQgb2YgIj8iIGFzIGEgcmVxdWVzdCB0byBleHBhbmQgdG8g
YSBxdW90ZWQgc3RyaW5nCisgICBkZXNjcmliaW5nIHRoZSBjdXJyZW50IGRlYnVnIGZsYWcgc2V0
dGluZ3MuCisKICoqIEEgbmV3IGBxaW5kaXInIGJ1aWx0aW4gaXMgYWRkZWQsIHNpbWlsYXIgdG8g
YGluZGlyJywgYnV0IHdoZXJlIHRoZQogICAgb3V0cHV0IGlzIHF1b3RlZCByYXRoZXIgdGhhbiBy
ZXNjYW5uZWQgZm9yIGZ1cnRoZXIgbWFjcm8gZXhwYW5zaW9uLgoKZGlmZiAtLWdpdCBhL2RvYy9t
NC50ZXhpIGIvZG9jL200LnRleGkKaW5kZXggMjMwNTJlMGQuLmJkZmU5YzBjIDEwMDY0NAotLS0g
YS9kb2MvbTQudGV4aQorKysgYi9kb2MvbTQudGV4aQpAQCAtOTE4LDcgKzkxOCw3IEBAIERlYnVn
Z2luZyBvcHRpb25zCiBjb250cm9scyB0aGUgZm9ybWF0IGFuZCBhbW91bnQgb2YgaW5mb3JtYXRp
b24gcHJlc2VudGVkIGJ5IHRoZSBkZWJ1Z2dpbmcKIGZ1bmN0aW9ucy4gIEB4cmVme0RlYnVnbW9k
ZX0sIGZvciBtb3JlIGRldGFpbHMgb24gdGhlIGZvcm1hdCBhbmQKIG1lYW5pbmcgb2YgQHZhcntm
bGFnc30uICBJZiBAdmFye2ZsYWdzfSBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cyB0bwotQHNhbXB7
K2FkZXF9LiAgSWYgdGhlIG9wdGlvbiBvY2N1cnMgbXVsdGlwbGUgdGltZXMsIEB2YXJ7ZmxhZ3N9
IHN0YXJ0aW5nCitAc2FtcHthZGVxfS4gIElmIHRoZSBvcHRpb24gb2NjdXJzIG11bHRpcGxlIHRp
bWVzLCBAdmFye2ZsYWdzfSBzdGFydGluZwogd2l0aCBAc2FtcHstfSBvciBAc2FtcHsrfSBhcmUg
Y3VtdWxhdGl2ZSwgd2hpbGUgQHZhcntmbGFnc30gc3RhcnRpbmcKIHdpdGggYSBsZXR0ZXIgb3Zl
cnJpZGUgYWxsIGVhcmxpZXIgc2V0dGluZ3MuICBUaGUgZGVidWctbGV2ZWwgc3RhcnRzCiB3aXRo
IG5vIGZsYWdzIGVuYWJsZWQuICBUbyBkaXNhYmxlIGFsbApAQCAtOTMzLDkgKzkzMyw5IEBAIERl
YnVnZ2luZyBvcHRpb25zCiBUaGUgY3VtdWxhdGl2ZSBlZmZlY3Qgb2YgdGhlIHZhcmlvdXMgb3B0
aW9ucyBpbiB0aGlzIGV4YW1wbGUgaXMKIGVxdWl2YWxlbnQgdG8gYSBzaW5nbGUgaW52b2NhdGlv
biBvZiBAY29kZXtkZWJ1Z21vZGUoYGFkbHF4Jyl9OgoKLUBjb21tZW50IG9wdGlvbnM6IC1kLVYg
LWQrbHggLS1kZWJ1ZyAtLWRlYnVnbW9kZT0tZQorQGNvbW1lbnQgb3B0aW9uczogLWQtViAtLWRl
YnVnIC1kK3ggLS1kZWJ1Z21vZGU9LWUrbAogQGV4YW1wbGUKLSQgQGtiZHttNCAtZCtseCAtLWRl
YnVnIC0tZGVidWdtb2RlPS1lfQorJCBAa2Jke200IC0tZGVidWcgLWQreCAtLWRlYnVnbW9kZT0t
ZStsfQogdHJhY2VvbihgbGVuJykKIEByZXN1bHR7fQogbGVuKGAxMjMnKQpAQCAtNDU3OSwxNCAr
NDU3OSwxNSBAQCBEZWJ1Z21vZGUKIEBpdGVtIGQKIE91dHB1dCBhIHdhcm5pbmcgb24gYW55IGF0
dGVtcHQgdG8gZGVyZWZlcmVuY2UgYW4gdW5kZWZpbmVkIG1hY3JvIHZpYQogQGNvZGV7YnVpbHRp
bn0sIEBjb2Rle2RlZm59LCBAY29kZXtkdW1wZGVmfSwgQGNvZGV7aW5kaXJ9LAotQGNvZGV7cG9w
ZGVmfSwgb3IgQGNvZGV7dW5kZWZpbmV9LiAgTm90ZSB0aGF0IEBjb2Rle2luZGVmfSwKK0Bjb2Rl
e3BvcGRlZn0sIEBjb2Rle3FpbmRpcn0sIG9yIEBjb2Rle3VuZGVmaW5lfS4gIE5vdGUgdGhhdCBA
Y29kZXtpZmRlZn0sCiBAY29kZXt0cmFjZW9ufSwgYW5kIEBjb2Rle3RyYWNlb2ZmfSBkbyBub3Qg
ZGVyZWZlcmVuY2UgdW5kZWZpbmVkIG1hY3Jvcy4KIExpa2UgYW55IG90aGVyIHdhcm5pbmcsIHRo
ZSB3YXJuaW5ncyBlbmFibGVkIGJ5IHRoaXMgZmxhZyBnbyB0byBzdGFuZGFyZAogZXJyb3IgcmVn
YXJkbGVzcyBvZiB0aGUgY3VycmVudCBAY29kZXtkZWJ1Z2ZpbGV9IHNldHRpbmcsIGFuZCB3aWxs
CiBjaGFuZ2UgZXhpdCBzdGF0dXMgaWYgdGhlIGNvbW1hbmQgbGluZSBvcHRpb24gQG9wdGlvbnst
LWZhdGFsLXdhcm5pbmdzfQogd2FzIHNwZWNpZmllZC4gIFRoaXMgZmxhZyBpcyB1c2VmdWwgaW4g
ZGlhZ25vc2luZyBzcGVsbGluZyBtaXN0YWtlcyBpbgogbWFjcm8gbmFtZXMuICBJdCBpcyBlbmFi
bGVkIGJ5IGRlZmF1bHQgd2hlbiBuZWl0aGVyIEBvcHRpb257LS1kZWJ1Z30gbm9yCi1Ab3B0aW9u
ey0tZmF0YWwtd2FybmluZ3N9IGFyZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4KK0Bv
cHRpb257LS1mYXRhbC13YXJuaW5nc30gYXJlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5l
LiAgVGhpcyBmbGFnCit3YXMgaW50cm9kdWNlZCBpbiBNNCAxLjYuCgogQGl0ZW0gZQogSW4gdHJh
Y2Ugb3V0cHV0LCBzaG93IHRoZSBleHBhbnNpb24gb2YgZWFjaCBtYWNybyBjYWxsLCBpZiBpdCBp
cyBub3QKQEAgLTQ2MTAsNyArNDYxMSw4IEBAIERlYnVnbW9kZQogQGl0ZW0gbwogT3V0cHV0IEBj
b2Rle2R1bXBkZWZ9IGRhdGEgdG8gc3RhbmRhcmQgZXJyb3IgaW5zdGVhZCBvZiB0aGUgY3VycmVu
dAogZGVidWcgZmlsZS4gIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuIHBvc3QtcHJvY2Vzc2luZyB0
cmFjZSBvdXRwdXQsIHdoZXJlCi1pbnRlcmxlYXZpbmcgZHVtcGRlZiBhbmQgdHJhY2Ugb3V0cHV0
IGNhbiBjYXVzZSBhbWJpZ3VpdGllcy4KK2ludGVybGVhdmluZyBkdW1wZGVmIGFuZCB0cmFjZSBv
dXRwdXQgY2FuIGNhdXNlIGFtYmlndWl0aWVzLiAgVGhpcyBmbGFnCit3YXMgaW50cm9kdWNlZCBp
biBNNCAxLjYuCgogQGl0ZW0gcAogSW4gZGVidWcgb3V0cHV0LCBwcmludCBhIG1lc3NhZ2Ugd2hl
biBhIG5hbWVkIGZpbGUgaXMgZm91bmQgdGhyb3VnaCB0aGUKQEAgLTQ2NTIsOSArNDY1NCwxNSBA
QCBEZWJ1Z21vZGUKIGFkZGVkIHRvIHRoZSBjdXJyZW50IGRlYnVnIGZsYWdzLCBhbmQgaWYgaXQg
c3RhcnRzIHdpdGggYSBAc2FtcHstfSwgdGhleQogYXJlIHJlbW92ZWQuICBJZiBubyBhcmd1bWVu
dCBpcyBwcmVzZW50LCBhbGwgZGVidWdnaW5nIGZsYWdzIGFyZSBjbGVhcmVkCiAoYXMgaWYgYnkg
QHNhbXB7LVZ9KSwgYW5kIHdpdGggYW4gZW1wdHkgYXJndW1lbnQgdGhlIGZsYWdzIGFyZSByZXNl
dCB0bwotdGhlIGRlZmF1bHQgb2YgQHNhbXB7K2FkZXF9LgordGhlIGRlZmF1bHQgb2YgQHNhbXB7
K2FkZXF9LiAgQXMgb2YgTTQgMS42LCBpdCBpcyBwb3NzaWJsZSB0byB1c2UgYm90aAorQHNhbXB7
K30gYW5kIEBzYW1wey19IGluIHRoZSBzYW1lIGludm9jYXRpb24uICBNNCAxLjYgYWxzbyBhZGRl
ZCB0aGUKK2FiaWxpdHkgdG8gcXVlcnkgdGhlIGN1cnJlbnQgZGVidWcgZmxhZ3MsIGJ5IHBhc3Np
bmcgQHZhcntmbGFnc30gb2YKK2V4YWN0bHkgQHNhbXB7P30uCgotVGhlIGV4cGFuc2lvbiBvZiBA
Y29kZXtkZWJ1Z21vZGV9IGlzIHZvaWQuCitUaGUgZXhwYW5zaW9uIG9mIEBjb2Rle2RlYnVnbW9k
ZX0gaXMgdm9pZCwgdW5sZXNzIEB2YXJ7ZmxhZ3N9IGlzCitAc2FtcHs/fTsgaW4gdGhhdCBjYXNl
LCB0aGUgb3V0cHV0IGlzIGEgcXVvdGVkIHN0cmluZyB0aGF0IGNhbiBiZQorcGFzc2VkIGJhY2sg
dG8gYSBmdXR1cmUgQGNvZGV7ZGVidWdtb2RlfSBjYWxsIHRvIHJlc3RvcmUgZmxhZ3MgdG8gdGhl
CitjdXJyZW50IHN0YXRlLgogQGVuZCBkZWZmbgoKIEBjb21tZW50IG9wdGlvbnM6IC1kLVYKQEAg
LTQ3MjgsNiArNDczNiw0MiBAQCBEZWJ1Z21vZGUKIEBlcnJvcnt9bTRkZWJ1ZzogaW5wdXQgZXho
YXVzdGVkCiBAZW5kIGV4YW1wbGUKCitUaGlzIGV4YW1wbGUgc2hvd3MgaG93IHRvIHF1ZXJ5IHRo
ZSBjdXJyZW50IGZsYWdzLCB0aGVuIGNoYW5nZSB0aGVtIGZvcgorYSBiaXQsIGJlZm9yZSByZXN0
b3JpbmcgdGhlbS4gIFNpbmNlIGZ1dHVyZSB2ZXJzaW9ucyBvZiBNNCBtYXkKK3VuZGVyc3RhbmQg
YWRkaXRpb25hbCBmbGFncywgdGhlIGFiaWxpdHkgdG8gcXVlcnkga25vd24gZmxhZ3MgYWxzbwor
c2VydmVzIGFzIGEgd2F5IHRvIGxlYXJuIGlmIGEgZ2l2ZW4gZmxhZyBpcyB1bmRlcnN0b29kIGJ5
IHRoZSBjdXJyZW50Cit2ZXJzaW9uIG9mIE00LCB3aGVuIHdyaXRpbmcgYSBzY3JpcHQgdGhhdCB3
YW50cyB0byB0YWtlIGFkdmFudGFnZSBvZiBhCituZXcgZmxhZyB3aGVuIGF2YWlsYWJsZSBidXQg
c3RpbGwgb3BlcmF0ZSB3aXRob3V0IHdhcm5pbmdzIG9uIG9sZGVyIE00LgorCitAZXhhbXBsZQor
JCBAa2Jke200IC1kfQorZGVidWdtb2RlKGA/JykKK0ByZXN1bHR7fSthZGVxLWNmaWxvcHR4Citw
b3BkZWYoYHVua25vd24nKQorQHJlc3VsdHt9CitAZXJyb3J7fW00OnN0ZGluOjI6IHdhcm5pbmc6
IHBvcGRlZjogdW5kZWZpbmVkIG1hY3JvICd1bmtub3duJworZGVmaW5lKGBmbGFncycsIGRlYnVn
bW9kZSg/KSlkbmwKK2lmZWxzZShpbmRleChkZWZuKGBmbGFncycpLCBgZCcpLCAtMSwgYGBmbGFn
IGQgdW5rbm93bicnLAorICAgICAgIGBkZWJ1Z21vZGUoYC1kJyknKQorQHJlc3VsdHt9Citwb3Bk
ZWYoYHVua25vd24nKQorQHJlc3VsdHt9CitkZWJ1Z21vZGUoYD8nKQorQHJlc3VsdHt9K2FlcS1j
ZGZpbG9wdHgKK2RlYnVnbW9kZShkZWZuKGBmbGFncycpKQorQHJlc3VsdHt9CitkZWJ1Z21vZGUo
YD8nKQorQHJlc3VsdHt9K2FkZXEtY2ZpbG9wdHgKK2RlZmluZShgeCcsIGBYJykKK0ByZXN1bHR7
fQorZGVidWdtb2RlKGAreCcpCitAcmVzdWx0e30KK2RlYnVnbW9kZShgLScpCitAcmVzdWx0e30K
K2RlYnVnbW9kZShgPycpCitAcmVzdWx0e30reC1hY2RlZmlsb3BxdAorQGVuZCBleGFtcGxlCisK
IEBub2RlIERlYnVnZmlsZQogQHNlY3Rpb24gU2F2aW5nIGRlYnVnZ2luZyBvdXRwdXQKCmRpZmYg
LS1naXQgYS9zcmMvYnVpbHRpbi5jIGIvc3JjL2J1aWx0aW4uYwppbmRleCBjZTAwZTllYi4uYmYw
ZDE3OTggMTAwNjQ0Ci0tLSBhL3NyYy9idWlsdGluLmMKKysrIGIvc3JjL2J1aWx0aW4uYwpAQCAt
MTc5NCwxMCArMTc5NCwxMSBAQCBtNF90cmFjZW9mZiAoc3RydWN0IG9ic3RhY2sgKm9icyBNQVlC
RV9VTlVTRUQsIGludCBhcmdjLAoKIC8qIE9uLXRoZS1mbHkgY29udHJvbCBvZiB0aGUgZm9ybWF0
IG9mIHRoZSB0cmFjaW5nIG91dHB1dC4gIEl0IHRha2VzCiAgICBvbmUgYXJndW1lbnQsIHdoaWNo
IGlzIGEgY2hhcmFjdGVyIHN0cmluZyBsaWtlIHRoYXQgZ2l2ZW4gdG8gdGhlIC1kCi0gICBvcHRp
b24sIG9yIG5vbmUgaW4gd2hpY2ggY2FzZSB0aGUgZGVidWdfbGV2ZWwgaXMgemVyb2VkLiAgKi8K
KyAgIG9wdGlvbiwgb3Igbm9uZSBpbiB3aGljaCBjYXNlIHRoZSBkZWJ1Z19sZXZlbCBpcyB6ZXJv
ZWQuICBJbgorICAgYWRkaXRpb24gdG8gdGhlIHN0cmluZ3MgYWNjZXB0ZWQgYnkgLWQsIGEgc2lu
Z2xlIGFyZ3VtZW50IG9mICI/IgorICAgcmVzdWx0cyBpbiBhIHF1b3RlZCByZXByZXNlbnRhdGlv
biBvZiB0aGUgY3VycmVudCBmbGFnIHNldHRpbmcuICAqLwogc3RhdGljIHZvaWQKLW00X2RlYnVn
bW9kZSAoc3RydWN0IG9ic3RhY2sgKm9icyBNQVlCRV9VTlVTRUQsIGludCBhcmdjLAotICAgICAg
ICAgICAgICBtYWNyb19hcmd1bWVudHMgKmFyZ3YpCittNF9kZWJ1Z21vZGUgKHN0cnVjdCBvYnN0
YWNrICpvYnMsIGludCBhcmdjLCBtYWNyb19hcmd1bWVudHMgKmFyZ3YpCiB7CiAgIGNvbnN0IGNh
bGxfaW5mbyAqbWUgPSBhcmdfaW5mbyAoYXJndik7CiAgIGNvbnN0IGNoYXIgKnN0ciA9IEFSRyAo
MSk7CkBAIC0xODA3LDYgKzE4MDgsOCBAQCBtNF9kZWJ1Z21vZGUgKHN0cnVjdCBvYnN0YWNrICpv
YnMgTUFZQkVfVU5VU0VELCBpbnQgYXJnYywKCiAgIGlmIChhcmdjID09IDEpCiAgICAgZGVidWdf
bGV2ZWwgPSAwOworICBlbHNlIGlmIChsZW4gPT0gMSAmJiAqc3RyID09ICc/JykKKyAgICBkZWJ1
Z19kdW1wIChvYnMpOwogICBlbHNlIGlmIChkZWJ1Z19kZWNvZGUgKHN0ciwgbGVuKSA8IDApCiAg
ICAgbTRfd2FybiAoMCwgbWUsIF8oImJhZCBkZWJ1ZyBmbGFnczogJXMiKSwKICAgICAgICAgICAg
ICBxdW90ZWFyZ19zdHlsZV9tZW0gKGxvY2FsZV9xdW90aW5nX3N0eWxlLCBzdHIsIGxlbikpOwpk
aWZmIC0tZ2l0IGEvc3JjL2RlYnVnLmMgYi9zcmMvZGVidWcuYwppbmRleCA5MThhYWJmOC4uNTVm
ZWRkZTkgMTAwNjQ0Ci0tLSBhL3NyYy9kZWJ1Zy5jCisrKyBiL3NyYy9kZWJ1Zy5jCkBAIC00MCw2
ICs0MCw2OCBAQCBkZWJ1Z19pbml0ICh2b2lkKQogICBvYnN0YWNrX2luaXQgKCZ0cmFjZSk7CiB9
CiAMCisvKiBEdW1wIHRoZSBjdXJyZW50IHNldCBvZiBkZWJ1ZyBmbGFncyBpbnRvIE9CUywgaW4g
YSB3YXkgdGhhdCBjYW4gYmUKKyAgIGJlIHBhc3NlZCBiYWNrIHRvIGRlYnVnbW9kZSB0byByZXN0
b3JlIHRoYXQgc3RhdGUuICAqLwordm9pZAorZGVidWdfZHVtcCAoc3RydWN0IG9ic3RhY2sgKm9i
cykKK3sKKyAgaW50IGk7CisKKyAgb2JzdGFja19ncm93IChvYnMsIGN1cnJfcXVvdGUuc3RyMSwg
Y3Vycl9xdW90ZS5sZW4xKTsKKworI2RlZmluZSBERUJVR19EVU1QKGJpdCwgY2gpICAgICAgICAg
ICAgICAgXAorICBpZiAoIShkZWJ1Z19sZXZlbCAmIGJpdCkgPT0gKGkgIT0gJysnKSkgXAorICAg
IG9ic3RhY2tfMWdyb3cgKG9icywgY2gpCisKKyAgLyogQm90aCBBU0NJSSBhbmQgRUJDRElDIHNv
cnQgJysnIGJlZm9yZSAnLScuICAqLworICBmb3IgKGkgPSAnKyc7IGkgPD0gJy0nOyBpICs9ICct
JyAtICcrJykgeworICAgIG9ic3RhY2tfMWdyb3cgKG9icywgaSk7CisgICAgREVCVUdfRFVNUCAo
REVCVUdfVFJBQ0VfQVJHUywgJ2EnKTsKKyAgICBERUJVR19EVU1QIChERUJVR19UUkFDRV9DQUxM
LCAnYycpOworICAgIERFQlVHX0RVTVAgKERFQlVHX1RSQUNFX0RFUkVGLCAnZCcpOworICAgIERF
QlVHX0RVTVAgKERFQlVHX1RSQUNFX0VYUEFOU0lPTiwgJ2UnKTsKKyAgICBERUJVR19EVU1QIChE
RUJVR19UUkFDRV9GSUxFLCAnZicpOworICAgIERFQlVHX0RVTVAgKERFQlVHX1RSQUNFX0lOUFVU
LCAnaScpOworICAgIERFQlVHX0RVTVAgKERFQlVHX1RSQUNFX0xJTkUsICdsJyk7CisgICAgREVC
VUdfRFVNUCAoREVCVUdfVFJBQ0VfT1VUUFVUX0RVTVBERUYsICdvJyk7CisgICAgREVCVUdfRFVN
UCAoREVCVUdfVFJBQ0VfUEFUSCwgJ3AnKTsKKyAgICBERUJVR19EVU1QIChERUJVR19UUkFDRV9R
VU9URSwgJ3EnKTsKKyAgICBERUJVR19EVU1QIChERUJVR19UUkFDRV9BTEwsICd0Jyk7CisgICAg
REVCVUdfRFVNUCAoREVCVUdfVFJBQ0VfQ0FMTElELCAneCcpOworICB9CisjdW5kZWYgREVCVUdf
RFVNUAorCisgIG9ic3RhY2tfZ3JvdyAob2JzLCBjdXJyX3F1b3RlLnN0cjIsIGN1cnJfcXVvdGUu
bGVuMik7Cit9CisKKy8qIE1lcmdlIExFVkVMIGludG8gQUNDVU0gYWNjb3JkaW5nIHRvIE1PREUs
IHRoZW4gc2V0IExFVkVMIHRvIDAuICAqLworc3RhdGljIHZvaWQKK2RlYnVnX3NldCAoY2hhciBt
b2RlLCBpbnQgKmFjY3VtLCBpbnQgKmxldmVsKQoreworICBzd2l0Y2ggKG1vZGUpCisgICAgewor
ICAgIGNhc2UgJ1wwJzoKKyAgICAgIC8qIFJlcGxhY2Ugb2xkIGxldmVsLiAgKi8KKyAgICAgICph
Y2N1bSA9ICpsZXZlbDsKKyAgICAgIGJyZWFrOworCisgICAgY2FzZSAnLSc6CisgICAgICAvKiBT
dWJ0cmFjdCBmbGFncy4gICovCisgICAgICAqYWNjdW0gJj0gfipsZXZlbDsKKyAgICAgIGJyZWFr
OworCisgICAgY2FzZSAnKyc6CisgICAgICAvKiBBZGQgZmxhZ3MuICAqLworICAgICAgKmFjY3Vt
IHw9ICpsZXZlbDsKKyAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgIGFzc2VydCAo
ISJkZWJ1Z19zZXQiKTsKKyAgICAgIGFib3J0ICgpOworICAgIH0KKyAgKmxldmVsID0gMDsKK30K
KwogLyogRnVuY3Rpb24gdG8gZGVjb2RlIHRoZSBkZWJ1Z2dpbmcgZmxhZ3MgT1BUUyBvZiBsZW5n
dGggTEVOLiAgSWYgTEVOCiAgICBpcyBTSVpFX01BWCwgdXNlIHN0cmxlbiAoT1BUUykgaW5zdGVh
ZC4gIFVzZWQgYnkgbWFpbiB3aGlsZQogICAgcHJvY2Vzc2luZyBvcHRpb24gLWQsIGFuZCBieSB0
aGUgYnVpbHRpbiBkZWJ1Z21vZGUuICBSZXR1cm4gLTEgaWYKQEAgLTQ3LDYgKzEwOSw3IEBAIGRl
YnVnX2luaXQgKHZvaWQpCiBpbnQKIGRlYnVnX2RlY29kZSAoY29uc3QgY2hhciAqb3B0cywgc2l6
ZV90IGxlbikKIHsKKyAgaW50IGFjY3VtID0gZGVidWdfbGV2ZWw7CiAgIGludCBsZXZlbDsKICAg
Y2hhciBtb2RlID0gJ1wwJzsKCkBAIC01NCwxNSArMTE3LDE1IEBAIGRlYnVnX2RlY29kZSAoY29u
c3QgY2hhciAqb3B0cywgc2l6ZV90IGxlbikKICAgICBvcHRzID0gIiI7CiAgIGlmIChsZW4gPT0g
U0laRV9NQVgpCiAgICAgbGVuID0gc3RybGVuIChvcHRzKTsKKyAgaWYgKCpvcHRzID09ICctJyB8
fCAqb3B0cyA9PSAnKycpCisgICAgeworICAgICAgbGVuLS07CisgICAgICBtb2RlID0gKm9wdHMr
KzsKKyAgICB9CiAgIGlmICghbGVuKQotICAgIGxldmVsID0gREVCVUdfVFJBQ0VfREVGQVVMVCB8
IGRlYnVnX2xldmVsOworICAgIGxldmVsID0gREVCVUdfVFJBQ0VfREVGQVVMVDsKICAgZWxzZQog
ICAgIHsKLSAgICAgIGlmICgqb3B0cyA9PSAnLScgfHwgKm9wdHMgPT0gJysnKQotICAgICAgICB7
Ci0gICAgICAgICAgbGVuLS07Ci0gICAgICAgICAgbW9kZSA9ICpvcHRzKys7Ci0gICAgICAgIH0K
ICAgICAgIGZvciAobGV2ZWwgPSAwOyBsZW4tLTsgb3B0cysrKQogICAgICAgICB7CiAgICAgICAg
ICAgc3dpdGNoICgqb3B0cykKQEAgLTExOSwzMyArMTgyLDIwIEBAIGRlYnVnX2RlY29kZSAoY29u
c3QgY2hhciAqb3B0cywgc2l6ZV90IGxlbikKICAgICAgICAgICAgICAgbGV2ZWwgfD0gREVCVUdf
VFJBQ0VfVkVSQk9TRTsKICAgICAgICAgICAgICAgYnJlYWs7CgorICAgICAgICAgICAgY2FzZSAn
LSc6CisgICAgICAgICAgICBjYXNlICcrJzoKKyAgICAgICAgICAgICAgZGVidWdfc2V0IChtb2Rl
LCAmYWNjdW0sICZsZXZlbCk7CisgICAgICAgICAgICAgIG1vZGUgPSAqb3B0czsKKyAgICAgICAg
ICAgICAgYnJlYWs7CisKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgIHJldHVy
biAtMTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KLSAgc3dpdGNoIChtb2RlKQot
ICAgIHsKLSAgICBjYXNlICdcMCc6Ci0gICAgICAvKiBSZXBsYWNlIG9sZCBsZXZlbC4gICovCi0g
ICAgICBicmVhazsKLQotICAgIGNhc2UgJy0nOgotICAgICAgLyogU3VidHJhY3QgZmxhZ3MuICAq
LwotICAgICAgbGV2ZWwgPSBkZWJ1Z19sZXZlbCAmIH5sZXZlbDsKLSAgICAgIGJyZWFrOwotCi0g
ICAgY2FzZSAnKyc6Ci0gICAgICAvKiBBZGQgZmxhZ3MuICAqLwotICAgICAgbGV2ZWwgfD0gZGVi
dWdfbGV2ZWw7Ci0gICAgICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICBhc3NlcnQgKCEi
ZGVidWdfZGVjb2RlIik7Ci0gICAgICBhYm9ydCAoKTsKLSAgICB9Ci0gIGRlYnVnX2xldmVsID0g
bGV2ZWw7Ci0gIHJldHVybiBsZXZlbDsKKyAgZGVidWdfc2V0IChtb2RlLCAmYWNjdW0sICZsZXZl
bCk7CisgIGRlYnVnX2xldmVsID0gYWNjdW07CisgIHJldHVybiAwOwogfQoKIC8qIENoYW5nZSB0
aGUgZGVidWcgb3V0cHV0IHN0cmVhbSB0byBGUC4gIElmIHRoZSB1bmRlcmx5aW5nIGZpbGUgaXMK
ZGlmZiAtLWdpdCBhL3NyYy9tNC5oIGIvc3JjL200LmgKaW5kZXggNGU1Y2E1ZmQuLjc5ZGNhNDM4
IDEwMDY0NAotLS0gYS9zcmMvbTQuaAorKysgYi9zcmMvbTQuaApAQCAtMjA2LDYgKzIwNiw3IEBA
IGV4dGVybiBGSUxFICpkZWJ1ZzsKCiBleHRlcm4gdm9pZCBkZWJ1Z19pbml0ICh2b2lkKTsKIGV4
dGVybiBpbnQgZGVidWdfZGVjb2RlIChjb25zdCBjaGFyICosIHNpemVfdCk7CitleHRlcm4gdm9p
ZCBkZWJ1Z19kdW1wIChzdHJ1Y3Qgb2JzdGFjayAqb2JzKTsKIGV4dGVybiB2b2lkIGRlYnVnX2Zs
dXNoX2ZpbGVzICh2b2lkKTsKIGV4dGVybiBib29sIGRlYnVnX3NldF9vdXRwdXQgKGNvbnN0IGNh
bGxfaW5mbyAqLCBjb25zdCBjaGFyICopOwoKCmJhc2UtY29tbWl0OiBkZTJhZDZkZGM5MDRlYTA3
ZmU5YTZmNjFmYTk0MThiMTVmZmJmYzBiCi0tIAoyLjQ5LjAKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNNC1wYXRjaGVzIG1haWxpbmcgbGlzdApNNC1w
YXRjaGVzQGdudS5vcmcKaHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vbTQt
cGF0Y2hlcwo=