<=
blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px=
#ccc solid;padding-left:1ex">
<=
div dir=3D"ltr">Paul Eggert <
eggert@cs.ucla.edu> schrieb am So., 20. M=C3=A4rz 2016 =
um 13:58=C2=A0Uhr:
Thanks, one thin=
g I didn't notice earlier:
+=C2=A0 xsignal1 (Qinvalid_read_syntax,
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 CALLN (Fformat, build_pure_c_str=
ing ("\\N{%s}"), name));
This can run Emacs out of pure space unnecessarily.=C2=A0 Use AUTO_STRING i=
nstead of
build_pure_c_string.
Also, I've lost track of what this patch is building on. Perhaps send a=
ll the
patches next time....
Done. Attached all patches.=C2=A0<=
/div>
Oops, forg=
ot to actually commit the changes. New patch attached.=C2=A0
--001a113fa3fe504f37052ee314f9--
--001a113fa3fe504f3f052ee314fb
Content-Type: application/octet-stream;
name="0001-Use-ucs-names-for-character-name-escapes.patch"
Content-Disposition: attachment;
filename="0001-Use-ucs-names-for-character-name-escapes.patch"
Content-Transfer-Encoding: base64
Content-ID: <153aede1d7723203bd11>
X-Attachment-Id: 153aede1d7723203bd11
RnJvbSA4MDhmMjhjZGU1ODNlMmFhMDVkZmZmZjY1YjQwYzY4NGQ3ODk1ZWFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwIFN0ZXBoYW5pIDxwaHN0QGdvb2dsZS5jb20+CkRh
dGU6IFN1biwgMTMgTWFyIDIwMTYgMjE6Mjc6MzAgKzAxMDAKU3ViamVjdDogW1BBVENIXSBVc2Ug
YHVjcy1uYW1lcycgZm9yIGNoYXJhY3RlciBuYW1lIGVzY2FwZXMKCiogbHJlYWQuYyAoaW52YWxp
ZF9jaGFyYWN0ZXJfbmFtZSwgY2hlY2tfc2NhbGFyX3ZhbHVlKQoocGFyc2VfY29kZV9hZnRlcl9w
cmVmaXgsIGNoYXJhY3Rlcl9uYW1lX3RvX2NvZGUpOiBOZXcgaGVscGVyCmZ1bmN0aW9ucyB0aGF0
IHVzZSBgdWNzLW5hbWVzJyBhbmQgcGFyc2luZyBmb3IgQ0pLIGlkZW9ncmFwaHMuCihyZWFkX2Vz
Y2FwZSk6IFVzZSBoZWxwZXIgZnVuY3Rpb25zLgooc3ltc19vZl9scmVhZCk6IE5ldyBzeW1ib2wg
YHVjcy1uYW1lcycuCiogdGVzdC9zcmMvbHJlYWQtdGVzdHMuZWw6IE5ldyB0ZXN0czsgZml4IGEg
Y291cGxlIG9mIGJ1Z3MgaW4KZXhpc3RpbmcgdGVzdHMuCi0tLQogc3JjL2xyZWFkLmMgICAgICAg
ICAgICAgfCAxMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t
LS0tCiB0ZXN0L3NyYy9scmVhZC10ZXN0cy5lbCB8ICAxMSArKystCiAyIGZpbGVzIGNoYW5nZWQs
IDk3IGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9scmVh
ZC5jIGIvc3JjL2xyZWFkLmMKaW5kZXggNDAwMDYzNy4uZmQ1YjM2MyAxMDA2NDQKLS0tIGEvc3Jj
L2xyZWFkLmMKKysrIGIvc3JjL2xyZWFkLmMKQEAgLTQ0LDYgKzQ0LDcgQEAgYWxvbmcgd2l0aCBH
TlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAq
LwogI2luY2x1ZGUgInRlcm1ob29rcy5oIgogI2luY2x1ZGUgImJsb2NraW5wdXQuaCIKICNpbmNs
dWRlIDxjLWN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CiAKICNpZmRlZiBNU0RPUwogI2lu
Y2x1ZGUgIm1zZG9zLmgiCkBAIC0yMTUxLDM2ICsyMTUyLDkwIEBAIGdyb3dfcmVhZF9idWZmZXIg
KHZvaWQpCiAJCQkgTUFYX01VTFRJQllURV9MRU5HVEgsIC0xLCAxKTsKIH0KIAotLyogSGFzaCB0
YWJsZSB0aGF0IG1hcHMgVW5pY29kZSBjaGFyYWN0ZXIgbmFtZXMgdG8gY29kZSBwb2ludHMuICAq
Lwotc3RhdGljIExpc3BfT2JqZWN0IGNoYXJhY3Rlcl9uYW1lczsKKy8qIFNpZ25hbCBhbiBpbnZh
bGlkLXJlYWQtc3ludGF4IGVycm9yIGluZGljYXRpbmcgdGhhdCB0aGUgY2hhcmFjdGVyCisgICBu
YW1lIGluIGFuIFxOe+KApn0gbGl0ZXJhbCBpcyBpbnZhbGlkLiAgKi8KK3N0YXRpYyBfTm9yZXR1
cm4gdm9pZAoraW52YWxpZF9jaGFyYWN0ZXJfbmFtZSAoTGlzcF9PYmplY3QgbmFtZSkKK3sKKyAg
QVVUT19TVFJJTkcgKGZvcm1hdCwgIlxcTnslc30iKTsKKyAgeHNpZ25hbDEgKFFpbnZhbGlkX3Jl
YWRfc3ludGF4LCBDQUxMTiAoRmZvcm1hdCwgZm9ybWF0LCBuYW1lKSk7Cit9CiAKLS8qIExlbmd0
aCBvZiB0aGUgbG9uZ2VzdCBVbmljb2RlIGNoYXJhY3RlciBuYW1lLCBpbiBieXRlcy4gKi8KLXN0
YXRpYyBwdHJkaWZmX3QgbWF4X2NoYXJhY3Rlcl9uYW1lX2xlbmd0aDsKKy8qIENoZWNrIHRoYXQg
Q09ERSBpcyBhIHZhbGlkIFVuaWNvZGUgc2NhbGFyIHZhbHVlLCBhbmQgcmV0dXJuIGl0cworICAg
dmFsdWUuICBDT0RFIHNob3VsZCBiZSBwYXJzZWQgZnJvbSB0aGUgY2hhcmFjdGVyIG5hbWUgZ2l2
ZW4gYnkKKyAgIE5BTUUuICBOQU1FIGlzIHVzZWQgZm9yIGVycm9yIG1lc3NhZ2VzLiAgKi8KK3N0
YXRpYyBpbnQKK2NoZWNrX3NjYWxhcl92YWx1ZSAoTGlzcF9PYmplY3QgY29kZSwgTGlzcF9PYmpl
Y3QgbmFtZSkKK3sKKyAgaWYgKCEgTlVNQkVSUCAoY29kZSkpCisgICAgaW52YWxpZF9jaGFyYWN0
ZXJfbmFtZSAobmFtZSk7CisgIEVNQUNTX0lOVCBpID0gWElOVCAoY29kZSk7CisgIGlmICghICgw
IDw9IGkgJiYgaSA8PSBNQVhfVU5JQ09ERV9DSEFSKQorICAgICAgLyogRG9uJ3QgYWxsb3cgc3Vy
cm9nYXRlcy4gICovCisgICAgICB8fCAoMHhEODAwIDw9IGNvZGUgJiYgY29kZSA8PSAweERGRkYp
KQorICAgIGludmFsaWRfY2hhcmFjdGVyX25hbWUgKG5hbWUpOworICByZXR1cm4gaTsKK30KIAot
LyogSW5pdGlhbGl6ZXMgYGNoYXJhY3Rlcl9uYW1lcycgYW5kIGBtYXhfY2hhcmFjdGVyX25hbWVf
bGVuZ3RoJy4KLSAgIENhbGxlZCBieSBgcmVhZF9lc2NhcGUnLiAgKi8KLXZvaWQgaW5pdF9jaGFy
YWN0ZXJfbmFtZXMgKHZvaWQpCisvKiBJZiBOQU1FIHN0YXJ0cyB3aXRoIFBSRUZJWCwgaW50ZXJw
cmV0IHRoZSByZXN0IGFzIGEgaGV4YWRlY2ltYWwKKyAgIG51bWJlciBhbmQgcmV0dXJuIGl0cyB2
YWx1ZS4gIFJhaXNlIGludmFsaWQtcmVhZC1zeW50YXggaWYgdGhlCisgICBudW1iZXIgaXMgbm90
IGEgdmFsaWQgc2NhbGFyIHZhbHVlLiAgUmV0dXJuIOKIkjEgaWYgTkFNRSBkb2VzbuKAmXQKKyAg
IHN0YXJ0IHdpdGggUFJFRklYLiAgKi8KK3N0YXRpYyBpbnQKK3BhcnNlX2NvZGVfYWZ0ZXJfcHJl
Zml4IChMaXNwX09iamVjdCBuYW1lLCBjb25zdCBjaGFyICpwcmVmaXgpCiB7Ci0gIGNoYXJhY3Rl
cl9uYW1lcyA9IENBTExOIChGbWFrZV9oYXNoX3RhYmxlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUUN0ZXN0LCBRZXF1YWwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBDdXJy
ZW50bHkgYXJvdW5kIDEwMCwwMDAgVW5pY29kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgY2hhcmFjdGVycyBhcmUgZGVmaW5lZC4gICovCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICBRQ3NpemUsIG1ha2VfbmF0bnVtICgxMDAwMDApKTsKLSAgTGlzcF9PYmplY3QgZ2V0X3Byb3Bl
cnR5ID0KLSAgICBGc3ltYm9sX2Z1bmN0aW9uIChpbnRlcm5fY19zdHJpbmcgKCJnZXQtY2hhci1j
b2RlLXByb3BlcnR5IikpOwotICBwdHJkaWZmX3QgbGVuZ3RoID0gMDsKLSAgZm9yIChpbnQgaSA9
IDA7IGkgPD0gTUFYX1VOSUNPREVfQ0hBUjsgKytpKQorICBwdHJkaWZmX3QgbmFtZV9sZW4gPSBT
QllURVMgKG5hbWUpOworICBwdHJkaWZmX3QgcHJlZml4X2xlbiA9IHN0cmxlbiAocHJlZml4KTsK
KyAgLyogQWxsb3cgYmV0d2VlbiBvbmUgYW5kIGVpZ2h0IGhleGFkZWNpbWFsIGRpZ2l0cyBhZnRl
ciB0aGUKKyAgICAgcHJlZml4LiAgKi8KKyAgaWYgKHByZWZpeF9sZW4gPCBuYW1lX2xlbiAmJiBu
YW1lX2xlbiA8PSBwcmVmaXhfbGVuICsgOAorICAgICAgJiYgbWVtY21wIChTREFUQSAobmFtZSks
IHByZWZpeCwgcHJlZml4X2xlbikgPT0gMCkKICAgICB7Ci0gICAgICBMaXNwX09iamVjdCBjb2Rl
ID0gbWFrZV9uYXRudW0gKGkpOwotICAgICAgTGlzcF9PYmplY3QgbmFtZSA9IGNhbGwyIChnZXRf
cHJvcGVydHksIGNvZGUsIFFuYW1lKTsKLSAgICAgIGlmIChOSUxQIChuYW1lKSkgY29udGludWU7
Ci0gICAgICBDSEVDS19TVFJJTkcgKG5hbWUpOwotICAgICAgbGVuZ3RoID0gbWF4IChsZW5ndGgs
IFNCWVRFUyAobmFtZSkpOwotICAgICAgRnB1dGhhc2ggKG5hbWUsIGNvZGUsIGNoYXJhY3Rlcl9u
YW1lcyk7CisgICAgICBMaXNwX09iamVjdCBjb2RlID0gc3RyaW5nX3RvX251bWJlciAoU0RBVEEg
KG5hbWUpICsgcHJlZml4X2xlbiwgMTYsIGZhbHNlKTsKKyAgICAgIGlmIChOVU1CRVJQIChjb2Rl
KSkKKyAgICAgICAgcmV0dXJuIGNoZWNrX3NjYWxhcl92YWx1ZSAoY29kZSwgbmFtZSk7CisgICAg
fQorICByZXR1cm4gLTE7Cit9CisKKy8qIFJldHVybnMgdGhlIHNjYWxhciB2YWx1ZSB0aGF0IGhh
cyB0aGUgVW5pY29kZSBjaGFyYWN0ZXIgbmFtZSBOQU1FLgorICAgUmFpc2VzIGBpbnZhbGlkLXJl
YWQtc3ludGF4JyBpZiB0aGVyZSBpcyBubyBzdWNoIGNoYXJhY3Rlci4gICovCitzdGF0aWMgaW50
CitjaGFyYWN0ZXJfbmFtZV90b19jb2RlIChMaXNwX09iamVjdCBuYW1lKQoreworICAvKiBDb2Rl
IHBvaW50IGFzIFUrTiwgd2hlcmUgTiBpcyBiZXR3ZWVuIDEgYW5kIDggaGV4YWRlY2ltYWwKKyAg
ICAgZGlnaXRzLiAgKi8KKyAgaW50IGNvZGUgPSBwYXJzZV9jb2RlX2FmdGVyX3ByZWZpeCAobmFt
ZSwgIlUrIik7CisgIGlmIChjb2RlID49IDApCisgICAgcmV0dXJuIGNvZGU7CisKKyAgLyogQ0pL
IGlkZW9ncmFwaHMgYXJlIG5vdCBjb250YWluZWQgaW4gdGhlIGFzc29jaWF0aW9uIGxpc3QgcmV0
dXJuZWQKKyAgICAgYnkgYHVjcy1uYW1lcycuICBCdXQgdGhleSBmb2xsb3cgYSBwcmVkaWN0YWJs
ZSBuYW1pbmcgcGF0dGVybjogYQorICAgICBmaXhlZCBwcmVmaXggcGx1cyB0aGUgaGV4YWRlY2lt
YWwgY29kZXBvaW50IHZhbHVlLiAgKi8KKyAgY29kZSA9IHBhcnNlX2NvZGVfYWZ0ZXJfcHJlZml4
IChuYW1lLCAiQ0pLIElERU9HUkFQSC0iKTsKKyAgaWYgKGNvZGUgPj0gMCkKKyAgICB7CisgICAg
ICAvKiBWYXJpb3VzIHJhbmdlcyBvZiBDSksgY2hhcmFjdGVyczsgc2VlIFVuaWNvZGVEYXRhLnR4
dC4gICovCisgICAgICBpZiAoKDB4MzQwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHg0REI1KQorICAg
ICAgICAgIHx8ICgweDRFMDAgPD0gY29kZSAmJiBjb2RlIDw9IDB4OUZENSkKKyAgICAgICAgICB8
fCAoMHgyMDAwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHgyQTZENikKKyAgICAgICAgICB8fCAoMHgy
QTcwMCA8PSBjb2RlICYmIGNvZGUgPD0gMHgyQjczNCkKKyAgICAgICAgICB8fCAoMHgyQjc0MCA8
PSBjb2RlICYmIGNvZGUgPD0gMHgyQjgxRCkKKyAgICAgICAgICB8fCAoMHgyQjgyMCA8PSBjb2Rl
ICYmIGNvZGUgPD0gMHgyQ0VBMSkpCisgICAgICAgIHJldHVybiBjb2RlOworICAgICAgZWxzZQor
ICAgICAgICBpbnZhbGlkX2NoYXJhY3Rlcl9uYW1lIChuYW1lKTsKICAgICB9Ci0gIG1heF9jaGFy
YWN0ZXJfbmFtZV9sZW5ndGggPSBsZW5ndGg7CisKKyAgLyogTG9vayB1cCB0aGUgbmFtZSBpbiB0
aGUgdGFibGUgcmV0dXJuZWQgYnkgYHVjcy1uYW1lcycuICAqLworICBMaXNwX09iamVjdCBuYW1l
cyA9IGNhbGwwIChRdWNzX25hbWVzKTsKKyAgcmV0dXJuIGNoZWNrX3NjYWxhcl92YWx1ZSAoQ0RS
IChGYXNzb2MgKG5hbWUsIG5hbWVzKSksIG5hbWUpOwogfQogCisvKiBCb3VuZCBvbiB0aGUgbGVu
Z3RoIG9mIGEgVW5pY29kZSBjaGFyYWN0ZXIgbmFtZS4gIEFzIG9mCisgICBVbmljb2RlwqA5LjAu
MCB0aGUgbWF4aW11bSBpcyA4Mywgc28gdGhpcyBzaG91bGQgYmUgc2FmZS4gKi8KK2VudW0geyBV
TklDT0RFX0NIQVJBQ1RFUl9OQU1FX0xFTkdUSF9CT1VORCA9IDIwMCB9OworCiAvKiBSZWFkIGEg
XC1lc2NhcGUgc2VxdWVuY2UsIGFzc3VtaW5nIHdlIGFscmVhZHkgcmVhZCB0aGUgYFwnLgogICAg
SWYgdGhlIGVzY2FwZSBzZXF1ZW5jZSBmb3JjZXMgdW5pYnl0ZSwgcmV0dXJuIGVpZ2h0LWJpdCBj
aGFyLiAgKi8KIApAQCAtMjM5NCwxMCArMjQ0OSw3IEBAIHJlYWRfZXNjYXBlIChMaXNwX09iamVj
dCByZWFkY2hhcmZ1biwgYm9vbCBzdHJpbmdwKQogICAgICAgICBjID0gUkVBRENIQVI7CiAgICAg
ICAgIGlmIChjICE9ICd7JykKICAgICAgICAgICBpbnZhbGlkX3N5bnRheCAoIkV4cGVjdGVkIG9w
ZW5pbmcgYnJhY2UgYWZ0ZXIgXFxOIik7Ci0gICAgICAgIGlmIChOSUxQIChjaGFyYWN0ZXJfbmFt
ZXMpKQotICAgICAgICAgIGluaXRfY2hhcmFjdGVyX25hbWVzICgpOwotICAgICAgICBVU0VfU0FG
RV9BTExPQ0E7Ci0gICAgICAgIGNoYXIgKm5hbWUgPSBTQUZFX0FMTE9DQSAobWF4X2NoYXJhY3Rl
cl9uYW1lX2xlbmd0aCArIDEpOworICAgICAgICBjaGFyIG5hbWVbVU5JQ09ERV9DSEFSQUNURVJf
TkFNRV9MRU5HVEhfQk9VTkQgKyAxXTsKICAgICAgICAgYm9vbCB3aGl0ZXNwYWNlID0gZmFsc2U7
CiAgICAgICAgIHB0cmRpZmZfdCBsZW5ndGggPSAwOwogICAgICAgICB3aGlsZSAodHJ1ZSkKQEAg
LTI0MDgsMTEgKzI0NjAsMTIgQEAgcmVhZF9lc2NhcGUgKExpc3BfT2JqZWN0IHJlYWRjaGFyZnVu
LCBib29sIHN0cmluZ3ApCiAgICAgICAgICAgICBpZiAoYyA9PSAnfScpCiAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICAgICAgaWYgKCEgY19pc2FzY2lpIChjKSkKLSAgICAgICAgICAgICAg
eHNpZ25hbDEgKFFpbnZhbGlkX3JlYWRfc3ludGF4LAotICAgICAgICAgICAgICAgICAgICAgICAg
Q0FMTE4gKEZmb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRfcHVy
ZV9jX3N0cmluZyAoIk5vbi1BU0NJSSBjaGFyYWN0ZXIgVSslMDRYIgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgaW4gY2hhcmFjdGVyIG5hbWUi
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlX25hdG51bSAoYykpKTsKKyAg
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIEFVVE9fU1RSSU5HIChmb3JtYXQsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJOb24tQVNDSUkgY2hhcmFjdGVyIFUrJTA0WCBpbiBj
aGFyYWN0ZXIgbmFtZSIpOworICAgICAgICAgICAgICAgIHhzaWduYWwxIChRaW52YWxpZF9yZWFk
X3N5bnRheCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgQ0FMTE4gKEZmb3JtYXQsIGZvcm1h
dCwgbWFrZV9uYXRudW0gKGMpKSk7CisgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIC8qIFdl
IHRyZWF0IG11bHRpcGxlIGFkamFjZW50IHdoaXRlc3BhY2UgY2hhcmFjdGVycyBhcyBhCiAgICAg
ICAgICAgICAgICBzaW5nbGUgc3BhY2UgY2hhcmFjdGVyLiAgVGhpcyBtYWtlcyBpdCBlYXNpZXIg
dG8gdXNlCiAgICAgICAgICAgICAgICBjaGFyYWN0ZXIgbmFtZXMgaW4gZS5nLiBtdWx0aS1saW5l
IHN0cmluZ3MuICAqLwpAQCAtMjQyNiwyNSArMjQ3OSwxMiBAQCByZWFkX2VzY2FwZSAoTGlzcF9P
YmplY3QgcmVhZGNoYXJmdW4sIGJvb2wgc3RyaW5ncCkKICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgd2hpdGVzcGFjZSA9IGZhbHNlOwogICAgICAgICAgICAgbmFtZVtsZW5ndGgrK10g
PSBjOwotICAgICAgICAgICAgaWYgKGxlbmd0aCA+PSBtYXhfY2hhcmFjdGVyX25hbWVfbGVuZ3Ro
KQorICAgICAgICAgICAgaWYgKGxlbmd0aCA+PSBzaXplb2YgbmFtZSkKICAgICAgICAgICAgICAg
aW52YWxpZF9zeW50YXggKCJDaGFyYWN0ZXIgbmFtZSB0b28gbG9uZyIpOwogICAgICAgICAgIH0K
ICAgICAgICAgaWYgKGxlbmd0aCA9PSAwKQogICAgICAgICAgIGludmFsaWRfc3ludGF4ICgiRW1w
dHkgY2hhcmFjdGVyIG5hbWUiKTsKLSAgICAgICAgbmFtZVtsZW5ndGhdID0gMDsKLSAgICAgICAg
TGlzcF9PYmplY3QgbGlzcF9uYW1lID0gbWFrZV91bmlieXRlX3N0cmluZyAobmFtZSwgbGVuZ3Ro
KTsKLSAgICAgICAgTGlzcF9PYmplY3QgY29kZSA9Ci0gICAgICAgICAgKGxlbmd0aCA+PSAzICYm
IGxlbmd0aCA8PSAxMCAmJiBuYW1lWzBdID09ICdVJyAmJiBuYW1lWzFdID09ICcrJykgPwotICAg
ICAgICAgIC8qIENvZGUgcG9pbnQgYXMgVStOLCB3aGVyZSBOIGlzIGJldHdlZW4gMSBhbmQgOCBo
ZXhhZGVjaW1hbAotICAgICAgICAgICAgIGRpZ2l0cy4gICovCi0gICAgICAgICAgc3RyaW5nX3Rv
X251bWJlciAobmFtZSArIDIsIDE2LCBmYWxzZSkgOgotICAgICAgICAgIEZnZXRoYXNoIChsaXNw
X25hbWUsIGNoYXJhY3Rlcl9uYW1lcywgUW5pbCk7Ci0gICAgICAgIFNBRkVfRlJFRSAoKTsKLSAg
ICAgICAgaWYgKCEgUkFOR0VEX0lOVEVHRVJQICgwLCBjb2RlLCBNQVhfVU5JQ09ERV9DSEFSKSkK
LSAgICAgICAgICB4c2lnbmFsMSAoUWludmFsaWRfcmVhZF9zeW50YXgsCi0gICAgICAgICAgICAg
ICAgICAgIENBTExOIChGZm9ybWF0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRf
cHVyZV9jX3N0cmluZyAoIlxcTnslc30iKSwgbGlzcF9uYW1lKSk7Ci0gICAgICAgIHJldHVybiBY
SU5UIChjb2RlKTsKKyAgICAgICAgcmV0dXJuIGNoYXJhY3Rlcl9uYW1lX3RvX2NvZGUgKG1ha2Vf
dW5pYnl0ZV9zdHJpbmcgKG5hbWUsIGxlbmd0aCkpOwogICAgICAgfQogCiAgICAgZGVmYXVsdDoK
QEAgLTQ4MzYsNiArNDg3Niw1IEBAIHRoYXQgYXJlIGxvYWRlZCBiZWZvcmUgeW91ciBjdXN0b21p
emF0aW9ucyBhcmUgcmVhZCEgICovKTsKICAgREVGU1lNIChRcmVoYXNoX3NpemUsICJyZWhhc2gt
c2l6ZSIpOwogICBERUZTWU0gKFFyZWhhc2hfdGhyZXNob2xkLCAicmVoYXNoLXRocmVzaG9sZCIp
OwogCi0gIGNoYXJhY3Rlcl9uYW1lcyA9IFFuaWw7Ci0gIHN0YXRpY3BybyAoJmNoYXJhY3Rlcl9u
YW1lcyk7CisgIERFRlNZTSAoUXVjc19uYW1lcywgInVjcy1uYW1lcyIpOwogfQpkaWZmIC0tZ2l0
IGEvdGVzdC9zcmMvbHJlYWQtdGVzdHMuZWwgYi90ZXN0L3NyYy9scmVhZC10ZXN0cy5lbAppbmRl
eCAxZjg3MzM0Li5mZjVkMGY2IDEwMDY0NAotLS0gYS90ZXN0L3NyYy9scmVhZC10ZXN0cy5lbAor
KysgYi90ZXN0L3NyYy9scmVhZC10ZXN0cy5lbApAQCAtNDAsMTAgKzQwLDE3IEBACiAgIChzaG91
bGQtZXJyb3IgKHJlYWQgIj9cXE57RE9FUyBOT1QgRVhJU1R9IikpIDp0eXBlICdpbnZhbGlkLXJl
YWQtc3ludGF4KQogCiAoZXJ0LWRlZnRlc3QgbHJlYWQtY2hhci1ub24tYXNjaWktbmFtZSAoKQot
ICAoc2hvdWxkLWVycm9yIChyZWFkICI/XFxOe0xBVElOIENBUElUQUwgTEVUVEVSIMOYfSIpKSAn
aW52YWxpZC1yZWFkLXN5bnRheCkKKyAgKHNob3VsZC1lcnJvciAocmVhZCAiP1xcTntMQVRJTiBD
QVBJVEFMIExFVFRFUiDDmH0iKQorICAgICAgICAgICAgICAgIDp0eXBlICdpbnZhbGlkLXJlYWQt
c3ludGF4KSkKIAogKGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItZW1wdHktbmFtZSAoKQotICAoc2hv
dWxkLWVycm9yIChyZWFkICI/XFxOe30iKSkgJ2ludmFsaWQtcmVhZC1zeW50YXgpCisgIChzaG91
bGQtZXJyb3IgKHJlYWQgIj9cXE57fSIpIDp0eXBlICdpbnZhbGlkLXJlYWQtc3ludGF4KSkKKwor
KGVydC1kZWZ0ZXN0IGxyZWFkLWNoYXItY2prLW5hbWUgKCkKKyAgKHNob3VsZCAoZXF1YWwgP1xO
e0NKSyBJREVPR1JBUEgtMkI3MzR9ICN4MkI3MzQpKSkKKworKGVydC1kZWZ0ZXN0IGxyZWFkLWNo
YXItaW52YWxpZC1jamstbmFtZSAoKQorICAoc2hvdWxkLWVycm9yIChyZWFkICI/XFxOe0NKSyBJ
REVPR1JBUEgtMkI3MzV9IikgOnR5cGUgJ2ludmFsaWQtcmVhZC1zeW50YXgpKQogCiAoZXJ0LWRl
ZnRlc3QgbHJlYWQtc3RyaW5nLWNoYXItbnVtYmVyICgpCiAgIChzaG91bGQgKGVxdWFsICJhXE57
VStBODE3fWIiICJhXHVBODE3YiIpKSkKLS0gCjIuNy4wCgo=
--001a113fa3fe504f3f052ee314fb--