[COMMIT] Use the existing C-level line number cache within #'line-number.

Aidan Kehoe <[email protected]> Fri, 15 May 2015 18:13:24 +0100
Newsgroups gmane.emacs.xemacs.patches
Message-ID <[email protected]>
ClRoaXMgaXMgdGhlIGZpcnN0IHBhcnQgb2YgdGhlIGNoYW5nZXMgbmVjZXNzYXJ5IGZvciBzeW5j
aW5nIEdOVeKAmXMKYnl0ZWNvbXAuZWwuIAoKQVBQUk9WRSBDT01NSVQKCk5PVEU6IFRoaXMgcGF0
Y2ggaGFzIGJlZW4gY29tbWl0dGVkLgoKIyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIEFpZGFu
IEtlaG9lIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4KIyBEYXRlIDE0MzE3MDk5MDcgLTM2MDAKIyAg
ICAgIEZyaSBNYXkgMTUgMTg6MTE6NDcgMjAxNSArMDEwMAojIE5vZGUgSUQgYmQ0ZDJjOGVmOWNj
MTkwODA1NzcyYWJiYWU3Y2JhNTQzZWY2ODU3NQojIFBhcmVudCAgMWIyZmRjYzNjYzVjNWVhNjcy
NmRmYWNlY2Q2ZTE1NDIyY2RiYjc2YwpVc2UgdGhlIGV4aXN0aW5nIEMtbGV2ZWwgbGluZSBudW1i
ZXIgY2FjaGUgd2l0aGluICMnbGluZS1udW1iZXIuCgpzcmMvQ2hhbmdlTG9nIGFkZGl0aW9uOgoK
MjAxNS0wNS0xNSAgQWlkYW4gS2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4KCgkqIGJ1ZmZl
ci5jOgoJKiBidWZmZXIuYyAoRmxpbmVfbnVtYmVyKTogTmV3IEMgaW1wbGVtZW50YXRpb24sIHVz
aW5nIHRoZSBsaW5lCgludW1iZXIgY2FjaGUgb2YgbGluZS1udW1iZXIuYywgd2l0aCBhIG5ldyBv
cHRpb25hbCBCVUZGRVIKCWFyZ3VtZW50LgoJKiBidWZmZXIuYyAoc3ltc19vZl9idWZmZXIpOgoJ
TWFrZSBpdCBhdmFpbGFibGUgdG8gTGlzcC4KCSogbGluZS1udW1iZXIuYyAoYnVmZmVyX2xpbmVf
bnVtYmVyKToKCU5ldyBhcmd1bWVudCwgUkVTUEVDVC1OQVJST1dJTkcsIGRlc2NyaWJpbmcgd2hl
dGhlciB0byBjb3VudCBmcm9tCgl0aGUgYmVnaW5uaW5nIG9mIHRoZSB2aXNpYmxlIHJlZ2lvbiBv
ciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlCglidWZmZXIuCgkqIGxpbmUtbnVtYmVyLmg6Cgkq
IGxpbmUtbnVtYmVyLmggKGJ1ZmZlcl9saW5lX251bWJlcik6IFVwZGF0ZSBpdHMgZGVjbGFyYXRp
b24uCgkqIHJlZGlzcGxheS5jICh3aW5kb3dfbGluZV9udW1iZXIpOiBDYWxsIGl0IHdpdGggdGhl
IG5ldyBhcmd1bWVudC4KCmxpc3AvQ2hhbmdlTG9nIGFkZGl0aW9uOgoKMjAxNS0wNS0xNSAgQWlk
YW4gS2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4KCgkqIHNpbXBsZS5lbDoKCSogc2ltcGxl
LmVsIChsaW5lLW51bWJlcik6IE1vdmVkIHRvIGJ1ZmZlci5jOyB3ZSBoYXZlIGFuIGV4aXN0aW5n
CglsaW5lIG51bWJlciBjYWNoZSBpbiBDLCBpdCdzIGEgc2hhbWUgbm90IHRvIGhhdmUgaXQgYXZh
aWxhYmxlLgoKZGlmZiAtciAxYjJmZGNjM2NjNWMgLXIgYmQ0ZDJjOGVmOWNjIGxpc3AvQ2hhbmdl
TG9nCi0tLSBhL2xpc3AvQ2hhbmdlTG9nCU1vbiBNYXkgMTEgMTg6MDQ6NTggMjAxNSArMDEwMAor
KysgYi9saXNwL0NoYW5nZUxvZwlGcmkgTWF5IDE1IDE4OjExOjQ3IDIwMTUgKzAxMDAKQEAgLTEs
MyArMSw5IEBACisyMDE1LTA1LTE1ICBBaWRhbiBLZWhvZSAgPGtlaG9lYUBwYXJoYXNhcmQubmV0
PgorCisJKiBzaW1wbGUuZWw6CisJKiBzaW1wbGUuZWwgKGxpbmUtbnVtYmVyKTogTW92ZWQgdG8g
YnVmZmVyLmM7IHdlIGhhdmUgYW4gZXhpc3RpbmcKKwlsaW5lIG51bWJlciBjYWNoZSBpbiBDLCBp
dCdzIGEgc2hhbWUgbm90IHRvIGhhdmUgaXQgYXZhaWxhYmxlLgorCiAyMDE1LTA0LTExICBBaWRh
biBLZWhvZSAgPGtlaG9lYUBwYXJoYXNhcmQubmV0PgogCiAJKiBtdWxlL211bGUtY21kcy5lbCAo
c2V0LWxvY2FsZS1mb3ItbGFuZ3VhZ2UtZW52aXJvbm1lbnQpOgpkaWZmIC1yIDFiMmZkY2MzY2M1
YyAtciBiZDRkMmM4ZWY5Y2MgbGlzcC9zaW1wbGUuZWwKLS0tIGEvbGlzcC9zaW1wbGUuZWwJTW9u
IE1heSAxMSAxODowNDo1OCAyMDE1ICswMTAwCisrKyBiL2xpc3Avc2ltcGxlLmVsCUZyaSBNYXkg
MTUgMTg6MTE6NDcgMjAxNSArMDEwMApAQCAtODA5LDE5ICs4MDksNyBAQAogCQkgKG1lc3NhZ2Ug
IkxpbmUgJWQiIGJ1ZmZlci1saW5lKSkpKSkpKQogICAoc2V0cSB6bWFjcy1yZWdpb24tc3RheXMg
dCkpCiAKLTs7IG5ldyBpbiBYRW1hY3MgMjEuMiAobm90IGluIEZTRikuCi0oZGVmdW4gbGluZS1u
dW1iZXIgKCZvcHRpb25hbCBwb3MgcmVzcGVjdC1uYXJyb3dpbmcpCi0gICJSZXR1cm4gdGhlIGxp
bmUgbnVtYmVyIG9mIFBPUyAoZGVmYXVsdHMgdG8gcG9pbnQpLgotSWYgUkVTUEVDVC1OQVJST1dJ
TkcgaXMgbm9uLW5pbCwgdGhlbiB0aGUgbmFycm93ZWQgbGluZSBudW1iZXIgaXMgcmV0dXJuZWQ7
Ci1vdGhlcndpc2UsIHRoZSBhYnNvbHV0ZSBsaW5lIG51bWJlciBpcyByZXR1cm5lZC4gIFRoZSBy
ZXR1cm5lZCBsaW5lIGNhbiBhbHdheXMKLWJlIGdpdmVuIHRvIGBnb3RvLWxpbmUnIHRvIGdldCBi
YWNrIHRvIHRoZSBjdXJyZW50IGxpbmUuIgotICAoaWYgKGFuZCBwb3MgKC89IHBvcyAocG9pbnQp
KSkKLSAgICAgIChzYXZlLWV4Y3Vyc2lvbgotCShnb3RvLWNoYXIgcG9zKQotCShsaW5lLW51bWJl
ciBuaWwgcmVzcGVjdC1uYXJyb3dpbmcpKQotICAgICgxKyAoY291bnQtbGluZXMgKGlmIHJlc3Bl
Y3QtbmFycm93aW5nIChwb2ludC1taW4pIDEpIChwb2ludC1hdC1ib2wpKSkpKQotCi07OyBGU0Yg
MjIuMC41MC4xIChDVlMpIHZlcnNpb24gb2YgYWJvdmUuCis7OyBGU0YgMjIuMC41MC4xIChDVlMp
IHZlcnNpb24gb2YgIydsaW5lLW51bWJlci4KIChkZWZ1biBsaW5lLW51bWJlci1hdC1wb3MgKCZv
cHRpb25hbCBwb3MpCiAgIChsaW5lLW51bWJlciBwb3MgdCkpCiAKZGlmZiAtciAxYjJmZGNjM2Nj
NWMgLXIgYmQ0ZDJjOGVmOWNjIHNyYy9DaGFuZ2VMb2cKLS0tIGEvc3JjL0NoYW5nZUxvZwlNb24g
TWF5IDExIDE4OjA0OjU4IDIwMTUgKzAxMDAKKysrIGIvc3JjL0NoYW5nZUxvZwlGcmkgTWF5IDE1
IDE4OjExOjQ3IDIwMTUgKzAxMDAKQEAgLTEsMyArMSwxOSBAQAorMjAxNS0wNS0xNSAgQWlkYW4g
S2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4KKworCSogYnVmZmVyLmM6CisJKiBidWZmZXIu
YyAoRmxpbmVfbnVtYmVyKTogTmV3IEMgaW1wbGVtZW50YXRpb24sIHVzaW5nIHRoZSBsaW5lCisJ
bnVtYmVyIGNhY2hlIG9mIGxpbmUtbnVtYmVyLmMsIHdpdGggYSBuZXcgb3B0aW9uYWwgQlVGRkVS
CisJYXJndW1lbnQuCisJKiBidWZmZXIuYyAoc3ltc19vZl9idWZmZXIpOgorCU1ha2UgaXQgYXZh
aWxhYmxlIHRvIExpc3AuCisJKiBsaW5lLW51bWJlci5jIChidWZmZXJfbGluZV9udW1iZXIpOgor
CU5ldyBhcmd1bWVudCwgUkVTUEVDVC1OQVJST1dJTkcsIGRlc2NyaWJpbmcgd2hldGhlciB0byBj
b3VudCBmcm9tCisJdGhlIGJlZ2lubmluZyBvZiB0aGUgdmlzaWJsZSByZWdpb24gb3IgZnJvbSB0
aGUgYmVnaW5uaW5nIG9mIHRoZQorCWJ1ZmZlci4KKwkqIGxpbmUtbnVtYmVyLmg6CisJKiBsaW5l
LW51bWJlci5oIChidWZmZXJfbGluZV9udW1iZXIpOiBVcGRhdGUgaXRzIGRlY2xhcmF0aW9uLgor
CSogcmVkaXNwbGF5LmMgKHdpbmRvd19saW5lX251bWJlcik6IENhbGwgaXQgd2l0aCB0aGUgbmV3
IGFyZ3VtZW50LgorCiAyMDE1LTA1LTExICBBaWRhbiBLZWhvZSAgPGtlaG9lYUBwYXJoYXNhcmQu
bmV0PgogCiAJKiB1bmljb2RlLmMgKGVuY29kZV91bmljb2RlX2NoYXIpOgpkaWZmIC1yIDFiMmZk
Y2MzY2M1YyAtciBiZDRkMmM4ZWY5Y2Mgc3JjL2J1ZmZlci5jCi0tLSBhL3NyYy9idWZmZXIuYwlN
b24gTWF5IDExIDE4OjA0OjU4IDIwMTUgKzAxMDAKKysrIGIvc3JjL2J1ZmZlci5jCUZyaSBNYXkg
MTUgMTg6MTE6NDcgMjAxNSArMDEwMApAQCAtODUsNiArODUsNyBAQAogI2luY2x1ZGUgImZpbGUt
Y29kaW5nLmgiCiAjaW5jbHVkZSAiZnJhbWUtaW1wbC5oIgogI2luY2x1ZGUgImluc2RlbC5oIgor
I2luY2x1ZGUgImxpbmUtbnVtYmVyLmgiCiAjaW5jbHVkZSAibHN0cmVhbS5oIgogI2luY2x1ZGUg
InByb2Nlc3MuaCIgICAgICAgICAgICAvKiBmb3Iga2lsbF9idWZmZXJfcHJvY2Vzc2VzICovCiAj
aWZkZWYgUkVHSU9OX0NBQ0hFX05FRURTX1dPUksKQEAgLTE3NDYsNyArMTc0NywyOCBAQAogCiAg
IHJldHVybiBRbmlsOwogfQotCisMCisvKiBJdCB3YXMgYSBzaGFtZSB0byBoYXZlIHRoZSBsaW5l
IG51bWJlciBjYWNoZSBhcm91bmQgYW5kIG5vdCB1c2VkIGZyb20KKyAgIExpc3AsIHNvIG1vdmUg
dGhpcyBoZXJlIGZyb20gc2ltcGxlLmVsLiAqLworCitERUZVTiAoImxpbmUtbnVtYmVyIiwgRmxp
bmVfbnVtYmVyLCAwLCAzLCAwLCAvKgorUmV0dXJuIHRoZSBsaW5lIG51bWJlciBvZiBQT1NJVElP
TiB3aXRoaW4gQlVGRkVSLgorCitQT1NJVElPTiBkZWZhdWx0cyB0byBwb2ludC4gSWYgUkVTUEVD
VC1OQVJST1dJTkcgaXMgbm9uLW5pbCwgdGhlbiB0aGUgbmFycm93ZWQKK2xpbmUgbnVtYmVyIGlz
IHJldHVybmVkOyBvdGhlcndpc2UsIHRoZSBhYnNvbHV0ZSBsaW5lIG51bWJlciBpcyByZXR1cm5l
ZC4gIFRoZQorcmV0dXJuZWQgbGluZSBjYW4gYWx3YXlzIGJlIGdpdmVuIHRvIGBnb3RvLWxpbmUn
IHRvIGdldCBiYWNrIHRvIHRoZSBjdXJyZW50CitsaW5lLgorKi8KKyAgICAgICAocG9zaXRpb24s
IHJlc3BlY3RfbmFycm93aW5nLCBidWZmZXJfKSkKK3sKKyAgc3RydWN0IGJ1ZmZlciAqYnVmID0g
ZGVjb2RlX2J1ZmZlciAoYnVmZmVyXywgMCk7CisgIENoYXJicG9zIHBvcyA9IChOSUxQIChwb3Np
dGlvbikgPyBCVUZfUFQgKGJ1ZikgOgorCQkgIGdldF9idWZmZXJfcG9zX2NoYXIgKGJ1ZiwgcG9z
aXRpb24sIEdCX0NPRVJDRV9SQU5HRSkpOworCisgIHJldHVybiBtYWtlX2ZpeG51bSAoYnVmZmVy
X2xpbmVfbnVtYmVyIChidWYsIHBvcywgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICFOSUxQIChyZXNwZWN0X25hcnJvd2luZykpICsgMSk7Cit9CisMCiAjaWZk
ZWYgTUVNT1JZX1VTQUdFX1NUQVRTCiAKIHN0cnVjdCBidWZmZXJfc3RhdHMKQEAgLTE5NTIsNiAr
MTk3NCw3IEBACiAgIERFRlNVQlIgKEZiYXJmX2lmX2J1ZmZlcl9yZWFkX29ubHkpOwogICBERUZT
VUJSIChGYnVyeV9idWZmZXIpOwogICBERUZTVUJSIChGa2lsbF9hbGxfbG9jYWxfdmFyaWFibGVz
KTsKKyAgREVGU1VCUiAoRmxpbmVfbnVtYmVyKTsKICNpZiBkZWZpbmVkIChERUJVR19YRU1BQ1Mp
ICYmIGRlZmluZWQgKE1VTEUpCiAgIERFRlNVQlIgKEZidWZmZXJfY2hhcl9ieXRlX2NvbnZlcmlv
bl9pbmZvKTsKICAgREVGU1VCUiAoRnN0cmluZ19jaGFyX2J5dGVfY29udmVyaW9uX2luZm8pOwpk
aWZmIC1yIDFiMmZkY2MzY2M1YyAtciBiZDRkMmM4ZWY5Y2Mgc3JjL2xpbmUtbnVtYmVyLmMKLS0t
IGEvc3JjL2xpbmUtbnVtYmVyLmMJTW9uIE1heSAxMSAxODowNDo1OCAyMDE1ICswMTAwCisrKyBi
L3NyYy9saW5lLW51bWJlci5jCUZyaSBNYXkgMTUgMTg6MTE6NDcgMjAxNSArMDEwMApAQCAtMjY2
LDE2ICsyNjYsMTcgQEAKICAgIElmIHRoZSBjYWxjdWxhdGlvbiAod2l0aCBvciB3aXRob3V0IHRo
ZSBjYWNoZSBsb29rdXApIHJlcXVpcmVkIG1vcmUKICAgIHRoYW4gTElORV9OVU1CRVJfRkFSIGNo
YXJhY3RlcnMgb2YgdHJhdmVyc2FsLCB1cGRhdGUgdGhlIGNhY2hlLiAgKi8KIEVNQUNTX0lOVAot
YnVmZmVyX2xpbmVfbnVtYmVyIChzdHJ1Y3QgYnVmZmVyICpiLCBDaGFyYnBvcyBwb3MsIGludCBj
YWNoZXApCitidWZmZXJfbGluZV9udW1iZXIgKHN0cnVjdCBidWZmZXIgKmIsIENoYXJicG9zIHBv
cywgQm9vbGludCBjYWNoZXAsCisgICAgICAgICAgICAgICAgICAgIEJvb2xpbnQgcmVzcGVjdF9u
YXJyb3dpbmcpCiB7Ci0gIENoYXJicG9zIGJlZyA9IEJVRl9CRUdWIChiKTsKKyAgQ2hhcmJwb3Mg
YmVnID0gcmVzcGVjdF9uYXJyb3dpbmcgPyBCVUZfQkVHViAoYikgOiBCVUZfQkVHIChiKTsKICAg
RU1BQ1NfSU5UIGNhY2hlZF9saW5lcyA9IDA7CiAgIEVNQUNTX0lOVCBzaG9ydGFnZSwgbGluZTsK
IAogICBpZiAoKHBvcyA+IGJlZyA/IHBvcyAtIGJlZyA6IGJlZyAtIHBvcykgPD0gTElORV9OVU1C
RVJfRkFSKQogICAgIGNhY2hlcCA9IDA7CiAKLSAgaWYgKGNhY2hlcCkKKyAgaWYgKGNhY2hlcCAm
JiAocmVzcGVjdF9uYXJyb3dpbmcgfHwgQlVGX0JFRyAoYikgPT0gQlVGX0JFR1YgKGIpKSkKICAg
ICB7CiAgICAgICBpZiAoTklMUCAoYi0+dGV4dC0+bGluZV9udW1iZXJfY2FjaGUpKQogCWFsbG9j
YXRlX2xpbmVfbnVtYmVyX2NhY2hlIChiKTsKQEAgLTI4NSwxMyArMjg2LDE0IEBACiAJICBMSU5F
X05VTUJFUl9CRUdWIChiKSA9IFF6ZXJvOwogCSAgLyogIyMjIyBUaGlzIGhhcyBhIHNpZGUtZWZm
ZWN0IG9mIGNoYW5naW5nIHRoZSBjYWNoZS4gICovCiAJICBMSU5FX05VTUJFUl9CRUdWIChiKSA9
Ci0JICAgIG1ha2VfZml4bnVtIChidWZmZXJfbGluZV9udW1iZXIgKGIsIEJVRl9CRUdWIChiKSwg
MSkpOworCSAgICBtYWtlX2ZpeG51bSAoYnVmZmVyX2xpbmVfbnVtYmVyIChiLCBCVUZfQkVHViAo
YiksIDEsIDApKTsKIAl9CiAgICAgICBjYWNoZWRfbGluZXMgPSBYRklYTlVNIChMSU5FX05VTUJF
Ul9CRUdWIChiKSk7CiAgICAgICBnZXRfbmVhcmVzdF9saW5lX251bWJlciAoYiwgJmJlZywgcG9z
LCAmY2FjaGVkX2xpbmVzKTsKICAgICB9CiAKLSAgc2Nhbl9idWZmZXIgKGIsICdcbicsIGJlZywg
cG9zLCBwb3MgPiBiZWcgPyBNT1NUX1BPU0lUSVZFX0ZJWE5VTSA6IC1NT1NUX1BPU0lUSVZFX0ZJ
WE5VTSwKKyAgc2Nhbl9idWZmZXIgKGIsICdcbicsIGJlZywgcG9zLAorICAgICAgICAgICAgICAg
cG9zID4gYmVnID8gTU9TVF9QT1NJVElWRV9GSVhOVU0gOiAtTU9TVF9QT1NJVElWRV9GSVhOVU0s
CiAJICAgICAgICZzaG9ydGFnZSwgMCk7CiAKICAgbGluZSA9IE1PU1RfUE9TSVRJVkVfRklYTlVN
IC0gc2hvcnRhZ2U7CkBAIC0yOTksNyArMzAxLDcgQEAKICAgICBsaW5lID0gLWxpbmU7CiAgIGxp
bmUgKz0gY2FjaGVkX2xpbmVzOwogCi0gIGlmIChjYWNoZXApCisgIGlmIChjYWNoZXAgJiYgKHJl
c3BlY3RfbmFycm93aW5nIHx8IEJVRl9CRUcgKGIpID09IEJVRl9CRUdWIChiKSkpCiAgICAgewog
ICAgICAgLyogSWYgdG9vIGZhciwgdXBkYXRlIHRoZSBjYWNoZS4gKi8KICAgICAgIGlmICgocG9z
ID4gYmVnID8gcG9zIC0gYmVnIDogYmVnIC0gcG9zKSA+IExJTkVfTlVNQkVSX0ZBUikKZGlmZiAt
ciAxYjJmZGNjM2NjNWMgLXIgYmQ0ZDJjOGVmOWNjIHNyYy9saW5lLW51bWJlci5oCi0tLSBhL3Ny
Yy9saW5lLW51bWJlci5oCU1vbiBNYXkgMTEgMTg6MDQ6NTggMjAxNSArMDEwMAorKysgYi9zcmMv
bGluZS1udW1iZXIuaAlGcmkgTWF5IDE1IDE4OjExOjQ3IDIwMTUgKzAxMDAKQEAgLTI1LDYgKzI1
LDYgQEAKIAkJCQkJICBjb25zdCBJYnl0ZSAqLCBCeXRlY291bnQpOwogdm9pZCBkZWxldGVfaW52
YWxpZGF0ZV9saW5lX251bWJlcl9jYWNoZSAoc3RydWN0IGJ1ZmZlciAqLCBDaGFyYnBvcywgQ2hh
cmJwb3MpOwogCi1FTUFDU19JTlQgYnVmZmVyX2xpbmVfbnVtYmVyIChzdHJ1Y3QgYnVmZmVyICos
IENoYXJicG9zLCBpbnQpOworRU1BQ1NfSU5UIGJ1ZmZlcl9saW5lX251bWJlciAoc3RydWN0IGJ1
ZmZlciAqLCBDaGFyYnBvcywgaW50LCBCb29saW50KTsKIAogI2VuZGlmIC8qIElOQ0xVREVEX2xp
bmVfbnVtYmVyX2hfICovCmRpZmYgLXIgMWIyZmRjYzNjYzVjIC1yIGJkNGQyYzhlZjljYyBzcmMv
cmVkaXNwbGF5LmMKLS0tIGEvc3JjL3JlZGlzcGxheS5jCU1vbiBNYXkgMTEgMTg6MDQ6NTggMjAx
NSArMDEwMAorKysgYi9zcmMvcmVkaXNwbGF5LmMJRnJpIE1heSAxNSAxODoxMTo0NyAyMDE1ICsw
MTAwCkBAIC03MzIwLDcgKzczMjAsNyBAQAogICAgICA6IG1hcmtlcl9wb3NpdGlvbiAody0+cG9p
bnRtW3R5cGVdKSk7CiAgIEVNQUNTX0lOVCBsaW5lOwogCi0gIGxpbmUgPSBidWZmZXJfbGluZV9u
dW1iZXIgKGIsIHBvcywgMSk7CisgIGxpbmUgPSBidWZmZXJfbGluZV9udW1iZXIgKGIsIHBvcywg
MSwgMSk7CiAKICAgewogICAgIHN0YXRpYyBBc2NieXRlIHdpbmRvd19saW5lX251bWJlcl9idWZb
REVDSU1BTF9QUklOVF9TSVpFIChsb25nKV07CgoKLS0gCuKAmFRyYW1hZG9sIGlzIGZ1cnRoZXIg
ZmVkIHRvIGNhdHRsZSBb4oCmXSB3aGVuIHdvcmtpbmcgdGhlbSBb4oCmXSAoYXMgZHJhZnQKYW5p
bWFscykgc28gdGhhdCB0aGUgYW5pbWFscyBkbyBub3QgZ2V0IHRpcmVkIHF1aWNrbHkuIOKApuKA
mQoJ4oCUIEFuZ2V3YW5kdGUgQ2hlbWllLCBTZXB0IDIwMTQsIGRlc2NyaWJpbmcgdGhlIHNvY2lh
bCBjb250ZXh0IG9mCgkoc3ludGhldGljKSB0cmFtYWRvbCBoYXZpbmcgYmVlbiBmb3VuZCBpbiBD
YW1lcm9vbiB0cmVlIHJvb3RzLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KWEVtYWNzLVBhdGNoZXMgbWFpbGluZyBsaXN0ClhFbWFjcy1QYXRjaGVzQHhl
bWFjcy5vcmcKaHR0cDovL2xpc3RzLnhlbWFjcy5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW1hY3Mt
cGF0Y2hlcwo=