[PATCH branch-1.6] input: Revert "Reorder token recognition to match other implementations."
Eric Blake via M4-patches <[email protected]> Wed, 21 May 2025 21:48:09 -0500
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
VGhpcyByZXZlcnRzIGNvbW1pdCAxNmU3MTJiOWRiYy4gIEl0IHR1cm5zIG91dCB0aGF0IGhhdmlu ZyBjb21tZW50cyBhcwphIGhpZ2hlciBwcmlvcml0eSB0aGFuIG1hY3JvcyBtYWtlcyBpdCBwb3Nz aWJsZSB0byBwYXJzZSBmaWxlcyB0aGF0CnVzZSBib3RoIFJFTSBvciBSRU1BUksgYXMgYSBjb21t ZW50LCBhcyB3ZWxsIGFzIHRvIHBhcnNlIGZpbGVzIHRoYXQKY29udGFpbiBtaXNtYXRjaGVkICgp IGFzIGEgc2luZ2xlIGNvbW1lbnQgbG9uZyBlbm91Z2ggdG8gdGhlbiB0cmFuc2xpdAp0aG9zZSBp bnRvIHNvbWV0aGluZyBzYWZlIGZvciBmdXJ0aGVyIG00IGhhbmRsaW5nLiAgUE9TSVggbWF5IHNh eSBpdAppcyB1bmRlZmluZWQsIGJ1dCBzaW5jZSBJIGFjdHVhbGx5IGVuY291bnRlcmVkIGEgY2Fz ZSB3aXRoIHRoZSBBZHZlbnQKb2YgQ29kZSBjaGFsbGVuZ2VzIChhZHZlbnRvZmNvZGUuY29tKSB3 aGVyZSBiZWluZyBhYmxlIHRvIGFidXNlIEdOVSBtNApjb21tZW50IHNlbWFudGljcyBsZXQgbWUg c29sdmUgYSBwcm9ibGVtIGluIG00LCBJIHNlZSBubyByZWFzb24gdG8KYnJlYWsgaXQgYWZ0ZXIg YWxsLgoKKiBORVdTOiBSZW1vdmUgbWVudGlvbiBvZiByZXZlcnRlZCBjaGFuZ2UuCiogZG9jL200 LnRleGkgKENoYW5nZWNvbSk6IFVwZGF0ZSB0ZXh0IHRvIGRlc2NyaWJlIG9sZGVyIHJ1bGVzLCBi dXQKd2l0aCBtb3JlIHRlc3RzLgoqIHNyYy9pbnB1dC5jIChuZXh0X3Rva2VuKTogUGFyc2UgY29t bWVudHMgd2l0aCBoaWdoZXN0IHByaW9yaXR5LgotLS0KIE5FV1MgICAgICAgIHwgICA0IC0tCiBk b2MvbTQudGV4aSB8ICA0NSArKysrKysrKysrKystLS0tLS0tLQogc3JjL2lucHV0LmMgfCAxMTYg KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMyBm aWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9ORVdTIGIvTkVXUwppbmRleCA5N2M0ZDljMC4uNTQ4MDJmZGIgMTAwNjQ0Ci0tLSBhL05F V1MKKysrIGIvTkVXUwpAQCAtNDYsMTAgKzQ2LDYgQEAgR05VIE00IE5FV1MgLSBVc2VyIHZpc2li bGUgY2hhbmdlcy4KICAgIHRoZW4gYXBwbHkgdGhpcyBwYXRjaDoKICAgICAgaHR0cDovL2dpdC5z di5nbnUub3JnL2dpdHdlYi8/cD1hdXRvY29uZi5naXQ7YT1jb21taXRkaWZmO2g9NTZkNDJmYTcx CgotKiogVGhlIGBjaGFuZ2Vjb20nIGJ1aWx0aW4gc2VtYW50aWNzIG5vdyBtYXRjaCB0cmFkaXRp b25hbAotICAgaW1wbGVtZW50YXRpb25zOyBpZiB0aGUgc3RhcnQtY29tbWVudCBzdHJpbmcgcmVz ZW1ibGVzIGEgbWFjcm8gbmFtZSBvcgotICAgdGhlIHN0YXJ0LXF1b3RlIHN0cmluZywgY29tbWVu dHMgYXJlIGVmZmVjdGl2ZWx5IGRpc2FibGVkLgotCiAqKiBUaGUgYGRpdmVydCcgYnVpbHRpbiBu b3cgYWNjZXB0cyBhbiBvcHRpb25hbCBzZWNvbmQgYXJndW1lbnQgb2YgdGV4dAogICAgdGhhdCBp cyBpbW1lZGlhdGVseSBwbGFjZWQgaW4gdGhlIG5ldyBkaXZlcnNpb24sIHJlZ2FyZGxlc3Mgb2Yg d2hldGhlcgogICAgdGhlIGN1cnJlbnQgZXhwYW5zaW9uIGlzIG5lc3RlZCB3aXRoaW4gYXJndW1l bnQgY29sbGVjdGlvbiBvZiBhbm90aGVyCmRpZmYgLS1naXQgYS9kb2MvbTQudGV4aSBiL2RvYy9t NC50ZXhpCmluZGV4IGQ4YmVmYTUyLi4zYTVlNTVhZCAxMDA2NDQKLS0tIGEvZG9jL200LnRleGkK KysrIGIvZG9jL200LnRleGkKQEAgLTUzMDUsMTIgKzUzMDUsMjEgQEAgQ2hhbmdlY29tCiBvZiBh bnkgbGVuZ3RoLiAgT3RoZXIgaW1wbGVtZW50YXRpb25zIGNhcCB0aGUgZGVsaW1pdGVyIGxlbmd0 aCB0byBmaXZlCiBjaGFyYWN0ZXJzLCBidXQgR05VIGhhcyBubyBpbmhlcmVudCBsaW1pdC4KCi1B cyBvZiBNNCAxLjYsIG1hY3JvcyBhbmQgcXVvdGVzIGFyZSByZWNvZ25pemVkIGluIHByZWZlcmVu Y2UgdG8KLWNvbW1lbnRzLCBzbyBpZiBhIHByZWZpeCBvZiBAdmFye3N0YXJ0fSBjYW4gYmUgcmVj b2duaXplZCBhcyBwYXJ0IG9mIGEKLXBvdGVudGlhbCBtYWNybyBuYW1lLCBvciBjb25mdXNlZCB3 aXRoIGEgcXVvdGVkIHN0cmluZywgdGhlIGNvbW1lbnQKLW1lY2hhbmlzbSBpcyBlZmZlY3RpdmVs eSBkaXNhYmxlZCAoZWFybGllciB2ZXJzaW9ucyBvZiBHTlUgTTQKLWZhdm9yZWQgY29tbWVudHMs IGJ1dCB0aGlzIHdhcyBpbmNvbnNpc3RlbnQgd2l0aCBvdGhlciBpbXBsZW1lbnRhdGlvbnMpLgot VGhpcyBtZWFucwotdGhhdCBAdmFye3N0YXJ0fSBzaG91bGQgbm90IGJlZ2luIHdpdGggYSBsZXR0 ZXIsIGRpZ2l0LCBvciBAc2FtcHtffQotKHVuZGVyc2NvcmUpLCBhbmQgdGhhdCBuZWl0aGVyIHRo ZSBzdGFydC1xdW90ZSBub3IgdGhlIHN0YXJ0LWNvbW1lbnQKLXN0cmluZyBzaG91bGQgYmUgYSBw cmVmaXggb2YgdGhlIG90aGVyLgorUE9TSVggc3RhdGVzIHRoYXQgYmVoYXZpb3IgaXMgdW5zcGVj aWZpZWQgaWYgZWl0aGVyIEB2YXJ7c3RhcnR9IG9yCitAdmFye2VuZH0gY29udGFpbnMgbGV0dGVy cywgbnVtYmVycywgdW5kZXJzY29yZSwgb3IgbGVmdCBwYXJlbnRoZXNpczsKK3RoaXMgaXMgYmVj YXVzZSBvdGhlciBpbXBsZW1lbnRhdGlvbnMgZG8gbm90IGFncmVlIG9uIHdoZXRoZXIgYSBjb21t ZW50CitvciBhIG1hY3JvIG5hbWUgc2hvdWxkIHRha2UgcHJlY2VkZW5jZS4gIExpa2V3aXNlLCBu ZWl0aGVyIHRoZQorc3RhcnQtcXVvdGUgbm9yIHRoZSBzdGFydC1jb21tZW50IHN0cmluZyBzaG91 bGQgYmUgYSBwcmVmaXggb2YgdGhlCitvdGhlci4gIEhvd2V2ZXIsIGFzIGFuIGV4dGVuc2lvbiwg R05VIE00IGFsbG93cyBhbnkgb2YgdGhvc2UgY2hhcmFjdGVycworaW4gdGhlIEBjb2Rle2NoYW5n ZWNvbX0gYXJndW1lbnRzLCBhbmQgcmVjb2duaXplcyBjb21tZW50cyB3aXRoIGEgaGlnaGVyCitw cmVjZWRlbmNlIHRoYW4gbWFjcm9zIG9yIHF1b3RlZCBzdHJpbmdzLiAgT25lIHVzZSBvZiB0aGlz IG5vbi1wb3J0YWJsZQorZXh0ZW5zaW9uIGlzIHRvIHRlbXBvcmFyaWx5IGNoYW5nZSBjb21tZW50 cyB0byBhIHN0YXJ0IHNlcXVlbmNlIGtub3duIHRvCithcHBlYXIgZWFybHkgaW4gYSBmaWxlLCBh bmQgYW4gZW5kIHNlcXVlbmNlIHRoYXQgZG9lcyBub3QgYXBwZWFyIGluIHRoZQorZmlsZSwgaW4g b3JkZXIgdG8gdGhlbiB1c2UgQGNvZGV7aW5jbHVkZX0gb24gYSBmaWxlIHRoYXQgbWF5IGNvbnRh aW4KK3VuYmFsYW5jZWQgcGFyZW50aGVzaXMgb3IgdW5xdW90ZWQgbWFjcm9zIG9yIGNvbW1hcywg dGhlcmVieSB0cmVhdGluZwordGhhdCBlbnRpcmUgZmlsZSBhcyBhIHNpbmdsZSBjb21tZW50IHRo YXQgY2FuIHRoZW4gYmUgcGFzc2VkIGFzIGEgc2luZ2xlCithcmd1bWVudCB0byBAY29kZXt0cmFu c2xpdH0gb3IgQGNvZGV7cGF0c3Vic3R9IHRvIGNvbnZlcnQgdGhlIGNvbW1lbnQKK2ludG8gc29t ZXRoaW5nIHNhZmUgdG8gcHJvY2Vzcy4gIE5vdGUgdGhhdCBhIGNvbW1lbnQgZGVsaW1pdGVyIGlz IG5vdAorcmVjb2duaXplZCBpbiB0aGUgbWlkZGxlIG9mIGEgcG90ZW50aWFsIG1hY3JvIG5hbWUg b3IgcXVvdGVkIHN0cmluZywgYnV0Cit0aGF0IGEgY29tbWVudCBkZWxpbWl0ZXIgdGhhdCByZXNl bWJsZXMgYSBtYWNybyBuYW1lIGlzIG5vdCBhdm9pZGVkCittZXJlbHkgYnkgYXBwZW5kaW5nIG1v cmUgbWFjcm8gY2hhcmFjdGVycy4KCiBAZXhhbXBsZQogZGVmaW5lKGBoaScsIGBISScpCkBAIC01 MzIzLDMzICs1MzMyLDM1IEBAIENoYW5nZWNvbQogY2hhbmdlY29tKGBxJywgYFEnKQogQHJlc3Vs dHt9CiBxIGhpIFEgaGkKLUByZXN1bHR7fXEgSEkgUSBISQorQHJlc3VsdHt9cSBoaSBRIEhJCiBj aGFuZ2Vjb20oYDEnLCBgMicpCiBAcmVzdWx0e30KIGhpMWhpMgogQHJlc3VsdHt9aGVsbG8KIGhp IDFoaTIKIEByZXN1bHR7fUhJIDFoaTIKLWNoYW5nZWNvbShgW1snLCBgXV0nKQorY2hhbmdlY29t KGBSRU0nKQogQHJlc3VsdHt9Ci1jaGFuZ2VxdW90ZShgW1tbJywgYF1dXScpCitSRU0gaGkKK0By ZXN1bHR7fVJFTSBoaQorUkVNQVJLIGhpCitAcmVzdWx0e31SRU1BUksgaGkKK2NoYW5nZWNvbShg W1snLCBgXV0nKWNoYW5nZXF1b3RlKGBbW1snLCBgXV1dJykKIEByZXN1bHR7fQogW2hpXQogQHJl c3VsdHt9W0hJXQogW1toaV1dCiBAcmVzdWx0e31bW2hpXV0KIFtbW2hpXV1dCi1AcmVzdWx0e31o aQorQHJlc3VsdHt9W1tbaGldXV0KIGNoYW5nZXF1b3RlCiBAcmVzdWx0e30KLWNoYW5nZWNvbShg W1tbJywgYF1dXScpCi1AcmVzdWx0e30KLWNoYW5nZXF1b3RlKGBbWycsIGBdXScpCitjaGFuZ2Vj b20oYFtbWycsIGBdXV0nKWNoYW5nZXF1b3RlKGBbWycsIGBdXScpCiBAcmVzdWx0e30KIFtbaGld XQogQHJlc3VsdHt9aGkKIFtbW2hpXV1dCi1AcmVzdWx0e31baGldCitAcmVzdWx0e31bW1toaV1d XQogQGVuZCBleGFtcGxlCgogQ29tbWVudHMgYXJlIHJlY29nbml6ZWQgaW4gcHJlZmVyZW5jZSB0 byBhcmd1bWVudCBjb2xsZWN0aW9uLiAgSW4KZGlmZiAtLWdpdCBhL3NyYy9pbnB1dC5jIGIvc3Jj L2lucHV0LmMKaW5kZXggNzg2YTViMzkuLjBkY2ViN2I0IDEwMDY0NAotLS0gYS9zcmMvaW5wdXQu YworKysgYi9zcmMvaW5wdXQuYwpAQCAtMTg4NCw3ICsxODg0LDY0IEBAIG5leHRfdG9rZW4gKHRv a2VuX2RhdGEgKnRkLCBpbnQgKmxpbmUsIHN0cnVjdCBvYnN0YWNrICpvYnMsIGJvb2wgYWxsb3df YXJndiwKICAgICAgIHJldHVybiBUT0tFTl9BUkdWOwogICAgIH0KCi0gIGlmIChjX2lzYWxwaGEg KGNoKSB8fCBjaCA9PSAnXycpCisgIGlmIChNQVRDSCAoY2gsIGN1cnJfY29tbS5zdHIxLCBjdXJy X2NvbW0ubGVuMSwgdHJ1ZSkpCisgICAgeworICAgICAgaWYgKG9icykKKyAgICAgICAgb2JzX3Rk ID0gb2JzOworICAgICAgb2JzdGFja19ncm93IChvYnNfdGQsIGN1cnJfY29tbS5zdHIxLCBjdXJy X2NvbW0ubGVuMSk7CisgICAgICB3aGlsZSAoMSkKKyAgICAgICAgeworICAgICAgICAgIC8qIFN0 YXJ0IHdpdGggYnVmZmVyIHNlYXJjaCBmb3IgcG90ZW50aWFsIGVuZCBkZWxpbWl0ZXIuICAqLwor ICAgICAgICAgIHNpemVfdCBsZW47CisgICAgICAgICAgY29uc3QgY2hhciAqYnVmZmVyID0gbmV4 dF9idWZmZXIgKCZsZW4sIGZhbHNlKTsKKyAgICAgICAgICBpZiAoYnVmZmVyKQorICAgICAgICAg ICAgeworICAgICAgICAgICAgICBjb25zdCBjaGFyICpwID0gKGNoYXIgKikgbWVtY2hyIChidWZm ZXIsICpjdXJyX2NvbW0uc3RyMiwgbGVuKTsKKyAgICAgICAgICAgICAgaWYgKHApCisgICAgICAg ICAgICAgICAgeworICAgICAgICAgICAgICAgICAgb2JzdGFja19ncm93IChvYnNfdGQsIGJ1ZmZl ciwgcCAtIGJ1ZmZlcik7CisgICAgICAgICAgICAgICAgICBjaCA9IHRvX3VjaGFyICgqcCk7Cisg ICAgICAgICAgICAgICAgICBjb25zdW1lX2J1ZmZlciAocCAtIGJ1ZmZlciArIDEpOworICAgICAg ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICAgIG9ic3RhY2tfZ3JvdyAob2JzX3RkLCBidWZmZXIsIGxlbik7CisgICAgICAg ICAgICAgICAgICBjb25zdW1lX2J1ZmZlciAobGVuKTsKKyAgICAgICAgICAgICAgICAgIGNvbnRp bnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgIC8qIEZh bGwgYmFjayB0byBieXRlLXdpc2Ugc2VhcmNoLiAgKi8KKyAgICAgICAgICBlbHNlCisgICAgICAg ICAgICBjaCA9IG5leHRfY2hhciAoZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgICBpZiAoY2ggPT0g Q0hBUl9FT0YpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIC8qIEN1cnJlbnRfZmlsZSBj aGFuZ2VkIHRvICIiIGlmIHdlIHNlZSBDSEFSX0VPRiwgdXNlCisgICAgICAgICAgICAgICAgIHRo ZSBwcmV2aW91cyB2YWx1ZSB3ZSBzdG9yZWQgZWFybGllci4gICovCisgICAgICAgICAgICAgIGlm ICghY2FsbGVyKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgIGFzc2VydCAo bGluZSk7CisgICAgICAgICAgICAgICAgICBjdXJyZW50X2xpbmUgPSAqbGluZTsKKyAgICAgICAg ICAgICAgICAgIGN1cnJlbnRfZmlsZSA9IGZpbGU7CisgICAgICAgICAgICAgICAgfQorICAgICAg ICAgICAgICBtNF9lcnJvciAoRVhJVF9GQUlMVVJFLCAwLCBjYWxsZXIsIF8oImVuZCBvZiBmaWxl IGluIGNvbW1lbnQiKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgaWYgKGNoID09IENIQVJf TUFDUk8pCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGluaXRfbWFjcm9fdG9rZW4gKG9i cywgb2JzID8gdGQgOiBOVUxMKTsKKyAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAg ICB9CisgICAgICAgICAgaWYgKE1BVENIIChjaCwgY3Vycl9jb21tLnN0cjIsIGN1cnJfY29tbS5s ZW4yLCB0cnVlKSkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgb2JzdGFja19ncm93IChv YnNfdGQsIGN1cnJfY29tbS5zdHIyLCBjdXJyX2NvbW0ubGVuMik7CisgICAgICAgICAgICAgIGJy ZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgIGFzc2VydCAoY2ggPCBDSEFSX0VPRik7Cisg ICAgICAgICAgb2JzdGFja18xZ3JvdyAob2JzX3RkLCBjaCk7CisgICAgICAgIH0KKyAgICAgIHR5 cGUgPSBUT0tFTl9DT01NRU5UOworICAgIH0KKyAgZWxzZSBpZiAoY19pc2FscGhhIChjaCkgfHwg Y2ggPT0gJ18nKQogICAgIHsKICAgICAgIG9ic3RhY2tfMWdyb3cgKCZ0b2tlbl9zdGFjaywgY2gp OwogICAgICAgd2hpbGUgKDEpCkBAIC0yMDAyLDYzICsyMDU5LDYgQEAgbmV4dF90b2tlbiAodG9r ZW5fZGF0YSAqdGQsIGludCAqbGluZSwgc3RydWN0IG9ic3RhY2sgKm9icywgYm9vbCBhbGxvd19h cmd2LAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQotICBlbHNlIGlmIChNQVRDSCAo Y2gsIGN1cnJfY29tbS5zdHIxLCBjdXJyX2NvbW0ubGVuMSwgdHJ1ZSkpCi0gICAgewotICAgICAg aWYgKG9icykKLSAgICAgICAgb2JzX3RkID0gb2JzOwotICAgICAgb2JzdGFja19ncm93IChvYnNf dGQsIGN1cnJfY29tbS5zdHIxLCBjdXJyX2NvbW0ubGVuMSk7Ci0gICAgICB3aGlsZSAoMSkKLSAg ICAgICAgewotICAgICAgICAgIC8qIFN0YXJ0IHdpdGggYnVmZmVyIHNlYXJjaCBmb3IgcG90ZW50 aWFsIGVuZCBkZWxpbWl0ZXIuICAqLwotICAgICAgICAgIHNpemVfdCBsZW47Ci0gICAgICAgICAg Y29uc3QgY2hhciAqYnVmZmVyID0gbmV4dF9idWZmZXIgKCZsZW4sIGZhbHNlKTsKLSAgICAgICAg ICBpZiAoYnVmZmVyKQotICAgICAgICAgICAgewotICAgICAgICAgICAgICBjb25zdCBjaGFyICpw ID0gKGNoYXIgKikgbWVtY2hyIChidWZmZXIsICpjdXJyX2NvbW0uc3RyMiwgbGVuKTsKLSAgICAg ICAgICAgICAgaWYgKHApCi0gICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgb2Jz dGFja19ncm93IChvYnNfdGQsIGJ1ZmZlciwgcCAtIGJ1ZmZlcik7Ci0gICAgICAgICAgICAgICAg ICBjaCA9IHRvX3VjaGFyICgqcCk7Ci0gICAgICAgICAgICAgICAgICBjb25zdW1lX2J1ZmZlciAo cCAtIGJ1ZmZlciArIDEpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgZWxzZQot ICAgICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgIG9ic3RhY2tfZ3JvdyAob2JzX3Rk LCBidWZmZXIsIGxlbik7Ci0gICAgICAgICAgICAgICAgICBjb25zdW1lX2J1ZmZlciAobGVuKTsK LSAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg ICAgIH0KLQotICAgICAgICAgIC8qIEZhbGwgYmFjayB0byBieXRlLXdpc2Ugc2VhcmNoLiAgKi8K LSAgICAgICAgICBlbHNlCi0gICAgICAgICAgICBjaCA9IG5leHRfY2hhciAoZmFsc2UsIGZhbHNl KTsKLSAgICAgICAgICBpZiAoY2ggPT0gQ0hBUl9FT0YpCi0gICAgICAgICAgICB7Ci0gICAgICAg ICAgICAgIC8qIEN1cnJlbnRfZmlsZSBjaGFuZ2VkIHRvICIiIGlmIHdlIHNlZSBDSEFSX0VPRiwg dXNlCi0gICAgICAgICAgICAgICAgIHRoZSBwcmV2aW91cyB2YWx1ZSB3ZSBzdG9yZWQgZWFybGll ci4gICovCi0gICAgICAgICAgICAgIGlmICghY2FsbGVyKQotICAgICAgICAgICAgICAgIHsKLSAg ICAgICAgICAgICAgICAgIGFzc2VydCAobGluZSk7Ci0gICAgICAgICAgICAgICAgICBjdXJyZW50 X2xpbmUgPSAqbGluZTsKLSAgICAgICAgICAgICAgICAgIGN1cnJlbnRfZmlsZSA9IGZpbGU7Ci0g ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICBtNF9lcnJvciAoRVhJVF9GQUlMVVJFLCAw LCBjYWxsZXIsIF8oImVuZCBvZiBmaWxlIGluIGNvbW1lbnQiKSk7Ci0gICAgICAgICAgICB9Ci0g ICAgICAgICAgaWYgKGNoID09IENIQVJfTUFDUk8pCi0gICAgICAgICAgICB7Ci0gICAgICAgICAg ICAgIGluaXRfbWFjcm9fdG9rZW4gKG9icywgb2JzID8gdGQgOiBOVUxMKTsKLSAgICAgICAgICAg ICAgY29udGludWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKE1BVENIIChjaCwgY3Vy cl9jb21tLnN0cjIsIGN1cnJfY29tbS5sZW4yLCB0cnVlKSkKLSAgICAgICAgICAgIHsKLSAgICAg ICAgICAgICAgb2JzdGFja19ncm93IChvYnNfdGQsIGN1cnJfY29tbS5zdHIyLCBjdXJyX2NvbW0u bGVuMik7Ci0gICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgIGFz c2VydCAoY2ggPCBDSEFSX0VPRik7Ci0gICAgICAgICAgb2JzdGFja18xZ3JvdyAob2JzX3RkLCBj aCk7Ci0gICAgICAgIH0KLSAgICAgIHR5cGUgPSBUT0tFTl9DT01NRU5UOwotICAgIH0KICAgZWxz ZQogICAgIHsKICAgICAgIGFzc2VydCAoY2ggPCBDSEFSX0VPRik7Ci0tIAoyLjQ5LjAKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNNC1wYXRjaGVzIG1h aWxpbmcgbGlzdApNNC1wYXRjaGVzQGdudS5vcmcKaHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxt YW4vbGlzdGluZm8vbTQtcGF0Y2hlcwo=