From 5caae6650544c10e39a7fb450cc7c7445abdb2d4 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 08:10:57 +0100 Subject: [PATCH 01/27] Use print(), as a function, for Python 3 compatibility --- src/slimit/lexer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slimit/lexer.py b/src/slimit/lexer.py index 06cd7c5..001828e 100644 --- a/src/slimit/lexer.py +++ b/src/slimit/lexer.py @@ -432,6 +432,6 @@ def t_ID(self, token): return token def t_error(self, token): - print 'Illegal character %r at %s:%s after %s' % ( - token.value[0], token.lineno, token.lexpos, self.prev_token) + print('Illegal character %r at %s:%s after %s' % ( + token.value[0], token.lineno, token.lexpos, self.prev_token)) token.lexer.skip(1) From 52eb8df34ed9984c9da0415f17561acf866b4772 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:35:52 +0100 Subject: [PATCH 02/27] Explicitly import the minifier module from the slimit package, for Python 3 compatibility --- src/slimit/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slimit/__init__.py b/src/slimit/__init__.py index 8b5dd72..a7e3d31 100644 --- a/src/slimit/__init__.py +++ b/src/slimit/__init__.py @@ -24,4 +24,4 @@ __author__ = 'Ruslan Spivak ' -from minifier import minify +from slimit.minifier import minify From 10840fb4bf47892bcc7224a4db704958ccff0cd5 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:40:06 +0100 Subject: [PATCH 03/27] Use the next() builtin, introduced by Python 2.6, for Python 3 compatibility --- src/slimit/scope.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slimit/scope.py b/src/slimit/scope.py index 4cac367..f09b691 100644 --- a/src/slimit/scope.py +++ b/src/slimit/scope.py @@ -133,7 +133,7 @@ def get_next_mangled_name(self): """ while True: - mangled = self.base54.next() + mangled = next(self.base54) # case 1 ancestor = self._get_scope_with_mangled(mangled) From 57a31937f6aa4ef02d21fe7cc8ccb683b9cbc7d8 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:42:25 +0100 Subject: [PATCH 04/27] Do not use ur"unicode-raw" strings, not supported by Python 3 Use plain unicode strings instead, doubling backslashes when needed. --- src/slimit/tests/test_lexer.py | 6 +- src/slimit/unicode_chars.py | 220 ++++++++++++++++----------------- 2 files changed, 113 insertions(+), 113 deletions(-) diff --git a/src/slimit/tests/test_lexer.py b/src/slimit/tests/test_lexer.py index 922d628..e94d588 100644 --- a/src/slimit/tests/test_lexer.py +++ b/src/slimit/tests/test_lexer.py @@ -87,8 +87,8 @@ def test_illegal_unicode_char_in_identifier(self): ['ID i', 'ID my_variable_name', 'ID c17', 'ID _dummy', 'ID $str', 'ID $', 'ID _', 'ID CamelCase', 'ID class2type'] ), - (ur'\u03c0 \u03c0_tail var\ua67c', - [ur'ID \u03c0', ur'ID \u03c0_tail', ur'ID var\ua67c']), + (u'\u03c0 \u03c0_tail var\ua67c', + [u'ID \u03c0', u'ID \u03c0_tail', u'ID var\ua67c']), # https://github.com/rspivak/slimit/issues/2 ('nullify truelie falsepositive', ['ID nullify', 'ID truelie', 'ID falsepositive']), @@ -150,7 +150,7 @@ def test_illegal_unicode_char_in_identifier(self): (r"""'\u0001' "\uFCEF" 'a\\\b\n'""", [r"STRING '\u0001'", r'STRING "\uFCEF"', r"STRING 'a\\\b\n'"] ), - (ur'"тест строки\""', [ur'STRING "тест строки\""']), + (u'"тест строки\\""', [u'STRING "тест строки\\""']), # Bug - https://github.com/rspivak/slimit/issues/5 (r"var tagRegExp = new RegExp('<(\/*)(FooBar)', 'gi');", ['VAR var', 'ID tagRegExp', 'EQ =', diff --git a/src/slimit/unicode_chars.py b/src/slimit/unicode_chars.py index eec4411..b898138 100644 --- a/src/slimit/unicode_chars.py +++ b/src/slimit/unicode_chars.py @@ -30,127 +30,127 @@ # 'Uppercase letter (Lu)', 'Lowercase letter (Ll)', # 'Titlecase letter(Lt)', 'Modifier letter (Lm)', 'Other letter (Lo)' LETTER = ( - ur'[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6' - ur'\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376' - ur'\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5' - ur'\u03F7-\u0481\u048A-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA' - ur'\u05F0-\u05F2\u0621-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6' - ur'\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1' - ur'\u07CA-\u07EA\u07F4\u07F5\u07FA\u0904-\u0939\u093D\u0950\u0958-\u0961' - ur'\u0971\u0972\u097B-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8' - ur'\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1' - ur'\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32' - ur'\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74' - ur'\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3' - ur'\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10' - ur'\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D' - ur'\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99' - ur'\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0' - ur'\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D' - ur'\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8' - ur'\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05-\u0D0C' - ur'\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D3D\u0D60\u0D61\u0D7A-\u0D7F' - ur'\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30' - ur'\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D' - ur'\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB' - ur'\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC\u0EDD\u0F00' - ur'\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8B\u1000-\u102A\u103F\u1050-\u1055' - ur'\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E' - ur'\u10A0-\u10C5\u10D0-\u10FA\u10FC\u1100-\u1159\u115F-\u11A2\u11A8-\u11F9' - ur'\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288' - ur'\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5' - ur'\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F' - ur'\u13A0-\u13F4\u1401-\u166C\u166F-\u1676\u1681-\u169A\u16A0-\u16EA' - ur'\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C' - ur'\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA' - ur'\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19A9\u19C1-\u19C7' - ur'\u1A00-\u1A16\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF' - ur'\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1D00-\u1DBF\u1E00-\u1F15' - ur'\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D' - ur'\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC' - ur'\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071' - ur'\u207F\u2090-\u2094\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124' - ur'\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E' - ur'\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2C6F\u2C71-\u2C7D' - ur'\u2C80-\u2CE4\u2D00-\u2D25\u2D30-\u2D65\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6' - ur'\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE' - ur'\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C' - ur'\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D' - ur'\u3131-\u318E\u31A0-\u31B7\u31F0-\u31FF\u3400\u4DB5\u4E00\u9FC3' - ur'\uA000-\uA48C\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA65F' - ur'\uA662-\uA66E\uA67F-\uA697\uA717-\uA71F\uA722-\uA788\uA78B\uA78C' - ur'\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873' - ur'\uA882-\uA8B3\uA90A-\uA925\uA930-\uA946\uAA00-\uAA28\uAA40-\uAA42' - ur'\uAA44-\uAA4B\uAC00\uD7A3\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9' - ur'\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C' - ur'\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F' - ur'\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A' - ur'\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7' - ur'\uFFDA-\uFFDC]' + u'[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6' + u'\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376' + u'\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5' + u'\u03F7-\u0481\u048A-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA' + u'\u05F0-\u05F2\u0621-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6' + u'\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1' + u'\u07CA-\u07EA\u07F4\u07F5\u07FA\u0904-\u0939\u093D\u0950\u0958-\u0961' + u'\u0971\u0972\u097B-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8' + u'\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1' + u'\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32' + u'\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74' + u'\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3' + u'\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10' + u'\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D' + u'\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99' + u'\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0' + u'\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D' + u'\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8' + u'\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05-\u0D0C' + u'\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D3D\u0D60\u0D61\u0D7A-\u0D7F' + u'\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30' + u'\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D' + u'\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB' + u'\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC\u0EDD\u0F00' + u'\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8B\u1000-\u102A\u103F\u1050-\u1055' + u'\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E' + u'\u10A0-\u10C5\u10D0-\u10FA\u10FC\u1100-\u1159\u115F-\u11A2\u11A8-\u11F9' + u'\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288' + u'\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5' + u'\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F' + u'\u13A0-\u13F4\u1401-\u166C\u166F-\u1676\u1681-\u169A\u16A0-\u16EA' + u'\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C' + u'\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA' + u'\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19A9\u19C1-\u19C7' + u'\u1A00-\u1A16\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF' + u'\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1D00-\u1DBF\u1E00-\u1F15' + u'\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D' + u'\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC' + u'\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071' + u'\u207F\u2090-\u2094\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124' + u'\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E' + u'\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2C6F\u2C71-\u2C7D' + u'\u2C80-\u2CE4\u2D00-\u2D25\u2D30-\u2D65\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6' + u'\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE' + u'\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C' + u'\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D' + u'\u3131-\u318E\u31A0-\u31B7\u31F0-\u31FF\u3400\u4DB5\u4E00\u9FC3' + u'\uA000-\uA48C\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA65F' + u'\uA662-\uA66E\uA67F-\uA697\uA717-\uA71F\uA722-\uA788\uA78B\uA78C' + u'\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873' + u'\uA882-\uA8B3\uA90A-\uA925\uA930-\uA946\uAA00-\uAA28\uAA40-\uAA42' + u'\uAA44-\uAA4B\uAC00\uD7A3\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9' + u'\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C' + u'\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F' + u'\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A' + u'\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7' + u'\uFFDA-\uFFDC]' ) NON_SPACING_MARK = ( - ur'[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5' - ur'\u05C7\u0610-\u061A\u064B-\u065E\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7' - ur'\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3' - ur'\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0900-\u0902\u093C' - ur'\u0941-\u0948\u094D\u0951-\u0955\u0962\u0963\u0981\u09BC\u09C1-\u09C4' - ur'\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48' - ur'\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5' - ur'\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D' - ur'\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C3E-\u0C40\u0C46-\u0C48' - ur'\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD' - ur'\u0CE2\u0CE3\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6' - ur'\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC' - ur'\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84' - ur'\u0F86\u0F87\u0F90-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037' - ur'\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082' - ur'\u1085\u1086\u108D\u109D\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753' - ur'\u1772\u1773\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9' - ur'\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A56' - ur'\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1B00-\u1B03' - ur'\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5' - ur'\u1BA8\u1BA9\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0' - ur'\u1CE2-\u1CE8\u1CED\u1DC0-\u1DE6\u1DFD-\u1DFF\u20D0-\u20DC\u20E1' - ur'\u20E5-\u20F0\u2CEF-\u2CF1\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F' - ur'\uA67C\uA67D\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4' - ur'\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9' - ur'\uA9BC\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAAB0' - ur'\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uABE5\uABE8\uABED\uFB1E' - ur'\uFE00-\uFE0F\uFE20-\uFE26]' + u'[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5' + u'\u05C7\u0610-\u061A\u064B-\u065E\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7' + u'\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3' + u'\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0900-\u0902\u093C' + u'\u0941-\u0948\u094D\u0951-\u0955\u0962\u0963\u0981\u09BC\u09C1-\u09C4' + u'\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48' + u'\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5' + u'\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D' + u'\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C3E-\u0C40\u0C46-\u0C48' + u'\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD' + u'\u0CE2\u0CE3\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6' + u'\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC' + u'\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84' + u'\u0F86\u0F87\u0F90-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037' + u'\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082' + u'\u1085\u1086\u108D\u109D\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753' + u'\u1772\u1773\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9' + u'\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A56' + u'\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1B00-\u1B03' + u'\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5' + u'\u1BA8\u1BA9\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0' + u'\u1CE2-\u1CE8\u1CED\u1DC0-\u1DE6\u1DFD-\u1DFF\u20D0-\u20DC\u20E1' + u'\u20E5-\u20F0\u2CEF-\u2CF1\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F' + u'\uA67C\uA67D\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4' + u'\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9' + u'\uA9BC\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAAB0' + u'\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uABE5\uABE8\uABED\uFB1E' + u'\uFE00-\uFE0F\uFE20-\uFE26]' ) COMBINING_SPACING_MARK = ( - ur'[\u0903\u093E-\u0940\u0949-\u094C\u094E\u0982\u0983\u09BE-\u09C0\u09C7' - ur'\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9' - ur'\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57' - ur'\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03' - ur'\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB' - ur'\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57' - ur'\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F' - ur'\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064' - ur'\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6' - ur'\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931' - ur'\u1933-\u1938\u19B0-\u19C0\u19C8\u19C9\u1A19-\u1A1B\u1A55\u1A57\u1A61' - ur'\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44' - ur'\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2' - ur'\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4' - ur'\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B' - ur'\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]' + u'[\u0903\u093E-\u0940\u0949-\u094C\u094E\u0982\u0983\u09BE-\u09C0\u09C7' + u'\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9' + u'\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57' + u'\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03' + u'\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB' + u'\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57' + u'\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F' + u'\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064' + u'\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6' + u'\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931' + u'\u1933-\u1938\u19B0-\u19C0\u19C8\u19C9\u1A19-\u1A1B\u1A55\u1A57\u1A61' + u'\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44' + u'\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2' + u'\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4' + u'\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B' + u'\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]' ) -COMBINING_MARK = ur'%s|%s' % (NON_SPACING_MARK, COMBINING_SPACING_MARK) +COMBINING_MARK = u'%s|%s' % (NON_SPACING_MARK, COMBINING_SPACING_MARK) CONNECTOR_PUNCTUATION = ( - ur'[\u005F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]' + u'[\u005F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]' ) DIGIT = ( - ur'[\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F' - ur'\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF' - ur'\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9' - ur'\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819' - ur'\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59' - ur'\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9' - ur'\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]' + u'[\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F' + u'\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF' + u'\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9' + u'\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819' + u'\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59' + u'\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9' + u'\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]' ) From a61e12d88cc123c4b7af2abef21d06fd182e561a Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:44:42 +0100 Subject: [PATCH 05/27] Change StringIO import for compatibility with Python 3 --- src/slimit/tests/test_cmd.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/slimit/tests/test_cmd.py b/src/slimit/tests/test_cmd.py index ebb8ef5..9bcc3ba 100644 --- a/src/slimit/tests/test_cmd.py +++ b/src/slimit/tests/test_cmd.py @@ -26,7 +26,11 @@ import os import sys -import StringIO +try: + from StringIO import StringIO +except ImportError: + # Python 3 + from io import StringIO import tempfile import unittest @@ -36,7 +40,7 @@ @contextmanager def redirected_input_output(input=''): old_inp, old_out = sys.stdin, sys.stdout - inp, out = StringIO.StringIO(input), StringIO.StringIO() + inp, out = StringIO(input), StringIO() sys.stdin, sys.stdout = inp, out try: yield out @@ -67,20 +71,20 @@ def tearDown(self): def test_main_dash_m_with_input_file(self): from slimit.minifier import main - out = StringIO.StringIO() + out = StringIO() main(['-m', '-t', self.path], out=out) self.assertEqual('var a=5;', out.getvalue()) def test_main_dash_dash_mangle_with_input_file(self): from slimit.minifier import main - out = StringIO.StringIO() + out = StringIO() main(['--mangle', '--mangle-toplevel', self.path], out=out) self.assertEqual('var a=5;', out.getvalue()) def test_main_dash_m_with_mock_stdin(self): from slimit.minifier import main - out = StringIO.StringIO() - inp = StringIO.StringIO('function foo() { var local = 5; }') + out = StringIO() + inp = StringIO('function foo() { var local = 5; }') main(['-m'], inp=inp, out=out) self.assertEqual('function foo(){var a=5;}', out.getvalue()) @@ -104,8 +108,8 @@ def test_main_stdin_stdout(self): sys.modules['slimit.minifier'] = old_module def test_main_sys_argv(self): - out = StringIO.StringIO() - inp = StringIO.StringIO('var global = 5;') + out = StringIO() + inp = StringIO('var global = 5;') with redirected_sys_argv(['slimit', '-m', '-t']): from slimit.minifier import main main(inp=inp, out=out) From 85d7e8e26a9f0cf341dd965c17f1c1cb59750580 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:46:50 +0100 Subject: [PATCH 06/27] Alias next() as __next__(), for Python 3 compatibility --- src/slimit/lexer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/slimit/lexer.py b/src/slimit/lexer.py index 001828e..d1a9759 100644 --- a/src/slimit/lexer.py +++ b/src/slimit/lexer.py @@ -199,6 +199,8 @@ def next(self): return token + __next__ = next + states = ( ('regex', 'exclusive'), ) From 9be727bcf6fe5c5f053e09697946b8d69204753b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moses=20Palm=C3=A9r?= Date: Thu, 16 Jul 2015 20:31:09 +0200 Subject: [PATCH 07/27] Always set slimit.parser.*tab to strings These values are expected by ply to be module names, not module instances. ply 3.6 will crash if actual modules are passed. --- src/slimit/parser.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/slimit/parser.py b/src/slimit/parser.py index d892166..8adacf0 100644 --- a/src/slimit/parser.py +++ b/src/slimit/parser.py @@ -29,10 +29,10 @@ from slimit import ast from slimit.lexer import Lexer -try: - from slimit import lextab, yacctab -except ImportError: - lextab, yacctab = 'lextab', 'yacctab' +# The default values for the `Parser` constructor, passed on to ply; they must +# be strings +lextab = '%s.lextab' % __package__ +yacctab = '%s.yacctab' % __package__ class Parser(object): From bd8879af3f52e28cd760cada901da6f40b5939b5 Mon Sep 17 00:00:00 2001 From: Dan McDougall Date: Tue, 23 Apr 2013 21:38:00 -0400 Subject: [PATCH 08/27] Fixed a bug where object atributes with special characters (e.g. someObj[':']) would incorrectly have the brackets/quotes removed. See slimit issue #47: https://github.com/rspivak/slimit/issues/47 (was easier to fix than I thought :+1:). --- src/slimit/visitors/minvisitor.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/slimit/visitors/minvisitor.py b/src/slimit/visitors/minvisitor.py index 1c6fd15..ae822fe 100644 --- a/src/slimit/visitors/minvisitor.py +++ b/src/slimit/visitors/minvisitor.py @@ -34,6 +34,7 @@ def _is_identifier(value): return _HAS_ID_MATCH(value) and value not in Lexer.keywords_dict +specials = re.compile(r'[`\\~!@#%\^&*(){}\[\]\-+=/|<>,.:;?]+') class ECMAMinifier(object): @@ -394,14 +395,15 @@ def visit_DotAccessor(self, node): def visit_BracketAccessor(self, node): if isinstance(node.expr, ast.String): value = node.expr.value - # remove single or double quotes around the value, but not both - if value.startswith("'"): - value = value.strip("'") - elif value.startswith('"'): - value = value.strip('"') - if _is_identifier(value): - s = '%s.%s' % (self.visit(node.node), value) - return s + if not specials.search(value): + # remove single or double quotes around the value, but not both + if value.startswith("'"): + value = value.strip("'") + elif value.startswith('"'): + value = value.strip('"') + if _is_identifier(value): + s = '%s.%s' % (self.visit(node.node), value) + return s s = '%s[%s]' % (self.visit(node.node), self.visit(node.expr)) return s From 17ee1d8680ef8ea90e0dbbe601a89bef10879523 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 08:10:57 +0100 Subject: [PATCH 09/27] Use print(), as a function, for Python 3 compatibility --- src/slimit/lexer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/slimit/lexer.py b/src/slimit/lexer.py index 06cd7c5..001828e 100644 --- a/src/slimit/lexer.py +++ b/src/slimit/lexer.py @@ -432,6 +432,6 @@ def t_ID(self, token): return token def t_error(self, token): - print 'Illegal character %r at %s:%s after %s' % ( - token.value[0], token.lineno, token.lexpos, self.prev_token) + print('Illegal character %r at %s:%s after %s' % ( + token.value[0], token.lineno, token.lexpos, self.prev_token)) token.lexer.skip(1) From 94c134b1aebe464d1e04be4b99bc817e8f6de977 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:35:52 +0100 Subject: [PATCH 10/27] Explicitly import the minifier module from the slimit package, for Python 3 compatibility --- src/slimit/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slimit/__init__.py b/src/slimit/__init__.py index 8b5dd72..a7e3d31 100644 --- a/src/slimit/__init__.py +++ b/src/slimit/__init__.py @@ -24,4 +24,4 @@ __author__ = 'Ruslan Spivak ' -from minifier import minify +from slimit.minifier import minify From 3062026a0a749bf927d245cd914700796b962265 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:40:06 +0100 Subject: [PATCH 11/27] Use the next() builtin, introduced by Python 2.6, for Python 3 compatibility --- src/slimit/scope.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/slimit/scope.py b/src/slimit/scope.py index 4cac367..f09b691 100644 --- a/src/slimit/scope.py +++ b/src/slimit/scope.py @@ -133,7 +133,7 @@ def get_next_mangled_name(self): """ while True: - mangled = self.base54.next() + mangled = next(self.base54) # case 1 ancestor = self._get_scope_with_mangled(mangled) From e8331659fb89e8a4613c5e4e338c877fead9c551 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:42:25 +0100 Subject: [PATCH 12/27] Do not use ur"unicode-raw" strings, not supported by Python 3 Use plain unicode strings instead, doubling backslashes when needed. --- src/slimit/tests/test_lexer.py | 6 +- src/slimit/unicode_chars.py | 220 ++++++++++++++++----------------- 2 files changed, 113 insertions(+), 113 deletions(-) diff --git a/src/slimit/tests/test_lexer.py b/src/slimit/tests/test_lexer.py index 922d628..e94d588 100644 --- a/src/slimit/tests/test_lexer.py +++ b/src/slimit/tests/test_lexer.py @@ -87,8 +87,8 @@ def test_illegal_unicode_char_in_identifier(self): ['ID i', 'ID my_variable_name', 'ID c17', 'ID _dummy', 'ID $str', 'ID $', 'ID _', 'ID CamelCase', 'ID class2type'] ), - (ur'\u03c0 \u03c0_tail var\ua67c', - [ur'ID \u03c0', ur'ID \u03c0_tail', ur'ID var\ua67c']), + (u'\u03c0 \u03c0_tail var\ua67c', + [u'ID \u03c0', u'ID \u03c0_tail', u'ID var\ua67c']), # https://github.com/rspivak/slimit/issues/2 ('nullify truelie falsepositive', ['ID nullify', 'ID truelie', 'ID falsepositive']), @@ -150,7 +150,7 @@ def test_illegal_unicode_char_in_identifier(self): (r"""'\u0001' "\uFCEF" 'a\\\b\n'""", [r"STRING '\u0001'", r'STRING "\uFCEF"', r"STRING 'a\\\b\n'"] ), - (ur'"тест строки\""', [ur'STRING "тест строки\""']), + (u'"тест строки\\""', [u'STRING "тест строки\\""']), # Bug - https://github.com/rspivak/slimit/issues/5 (r"var tagRegExp = new RegExp('<(\/*)(FooBar)', 'gi');", ['VAR var', 'ID tagRegExp', 'EQ =', diff --git a/src/slimit/unicode_chars.py b/src/slimit/unicode_chars.py index eec4411..b898138 100644 --- a/src/slimit/unicode_chars.py +++ b/src/slimit/unicode_chars.py @@ -30,127 +30,127 @@ # 'Uppercase letter (Lu)', 'Lowercase letter (Ll)', # 'Titlecase letter(Lt)', 'Modifier letter (Lm)', 'Other letter (Lo)' LETTER = ( - ur'[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6' - ur'\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376' - ur'\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5' - ur'\u03F7-\u0481\u048A-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA' - ur'\u05F0-\u05F2\u0621-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6' - ur'\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1' - ur'\u07CA-\u07EA\u07F4\u07F5\u07FA\u0904-\u0939\u093D\u0950\u0958-\u0961' - ur'\u0971\u0972\u097B-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8' - ur'\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1' - ur'\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32' - ur'\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74' - ur'\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3' - ur'\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10' - ur'\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D' - ur'\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99' - ur'\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0' - ur'\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D' - ur'\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8' - ur'\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05-\u0D0C' - ur'\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D3D\u0D60\u0D61\u0D7A-\u0D7F' - ur'\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30' - ur'\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D' - ur'\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB' - ur'\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC\u0EDD\u0F00' - ur'\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8B\u1000-\u102A\u103F\u1050-\u1055' - ur'\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E' - ur'\u10A0-\u10C5\u10D0-\u10FA\u10FC\u1100-\u1159\u115F-\u11A2\u11A8-\u11F9' - ur'\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288' - ur'\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5' - ur'\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F' - ur'\u13A0-\u13F4\u1401-\u166C\u166F-\u1676\u1681-\u169A\u16A0-\u16EA' - ur'\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C' - ur'\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA' - ur'\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19A9\u19C1-\u19C7' - ur'\u1A00-\u1A16\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF' - ur'\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1D00-\u1DBF\u1E00-\u1F15' - ur'\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D' - ur'\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC' - ur'\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071' - ur'\u207F\u2090-\u2094\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124' - ur'\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E' - ur'\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2C6F\u2C71-\u2C7D' - ur'\u2C80-\u2CE4\u2D00-\u2D25\u2D30-\u2D65\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6' - ur'\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE' - ur'\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C' - ur'\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D' - ur'\u3131-\u318E\u31A0-\u31B7\u31F0-\u31FF\u3400\u4DB5\u4E00\u9FC3' - ur'\uA000-\uA48C\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA65F' - ur'\uA662-\uA66E\uA67F-\uA697\uA717-\uA71F\uA722-\uA788\uA78B\uA78C' - ur'\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873' - ur'\uA882-\uA8B3\uA90A-\uA925\uA930-\uA946\uAA00-\uAA28\uAA40-\uAA42' - ur'\uAA44-\uAA4B\uAC00\uD7A3\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9' - ur'\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C' - ur'\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F' - ur'\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A' - ur'\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7' - ur'\uFFDA-\uFFDC]' + u'[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6' + u'\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376' + u'\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5' + u'\u03F7-\u0481\u048A-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA' + u'\u05F0-\u05F2\u0621-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6' + u'\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1' + u'\u07CA-\u07EA\u07F4\u07F5\u07FA\u0904-\u0939\u093D\u0950\u0958-\u0961' + u'\u0971\u0972\u097B-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8' + u'\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1' + u'\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32' + u'\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74' + u'\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3' + u'\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10' + u'\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D' + u'\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99' + u'\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0' + u'\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D' + u'\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8' + u'\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0D05-\u0D0C' + u'\u0D0E-\u0D10\u0D12-\u0D28\u0D2A-\u0D39\u0D3D\u0D60\u0D61\u0D7A-\u0D7F' + u'\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30' + u'\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D' + u'\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB' + u'\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC\u0EDD\u0F00' + u'\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8B\u1000-\u102A\u103F\u1050-\u1055' + u'\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E' + u'\u10A0-\u10C5\u10D0-\u10FA\u10FC\u1100-\u1159\u115F-\u11A2\u11A8-\u11F9' + u'\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288' + u'\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5' + u'\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F' + u'\u13A0-\u13F4\u1401-\u166C\u166F-\u1676\u1681-\u169A\u16A0-\u16EA' + u'\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C' + u'\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA' + u'\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19A9\u19C1-\u19C7' + u'\u1A00-\u1A16\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF' + u'\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1D00-\u1DBF\u1E00-\u1F15' + u'\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D' + u'\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC' + u'\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071' + u'\u207F\u2090-\u2094\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124' + u'\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E' + u'\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2C6F\u2C71-\u2C7D' + u'\u2C80-\u2CE4\u2D00-\u2D25\u2D30-\u2D65\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6' + u'\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE' + u'\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C' + u'\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D' + u'\u3131-\u318E\u31A0-\u31B7\u31F0-\u31FF\u3400\u4DB5\u4E00\u9FC3' + u'\uA000-\uA48C\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA65F' + u'\uA662-\uA66E\uA67F-\uA697\uA717-\uA71F\uA722-\uA788\uA78B\uA78C' + u'\uA7FB-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873' + u'\uA882-\uA8B3\uA90A-\uA925\uA930-\uA946\uAA00-\uAA28\uAA40-\uAA42' + u'\uAA44-\uAA4B\uAC00\uD7A3\uF900-\uFA2D\uFA30-\uFA6A\uFA70-\uFAD9' + u'\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C' + u'\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F' + u'\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A' + u'\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7' + u'\uFFDA-\uFFDC]' ) NON_SPACING_MARK = ( - ur'[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5' - ur'\u05C7\u0610-\u061A\u064B-\u065E\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7' - ur'\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3' - ur'\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0900-\u0902\u093C' - ur'\u0941-\u0948\u094D\u0951-\u0955\u0962\u0963\u0981\u09BC\u09C1-\u09C4' - ur'\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48' - ur'\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5' - ur'\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D' - ur'\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C3E-\u0C40\u0C46-\u0C48' - ur'\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD' - ur'\u0CE2\u0CE3\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6' - ur'\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC' - ur'\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84' - ur'\u0F86\u0F87\u0F90-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037' - ur'\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082' - ur'\u1085\u1086\u108D\u109D\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753' - ur'\u1772\u1773\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9' - ur'\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A56' - ur'\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1B00-\u1B03' - ur'\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5' - ur'\u1BA8\u1BA9\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0' - ur'\u1CE2-\u1CE8\u1CED\u1DC0-\u1DE6\u1DFD-\u1DFF\u20D0-\u20DC\u20E1' - ur'\u20E5-\u20F0\u2CEF-\u2CF1\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F' - ur'\uA67C\uA67D\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4' - ur'\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9' - ur'\uA9BC\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAAB0' - ur'\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uABE5\uABE8\uABED\uFB1E' - ur'\uFE00-\uFE0F\uFE20-\uFE26]' + u'[\u0300-\u036F\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5' + u'\u05C7\u0610-\u061A\u064B-\u065E\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7' + u'\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3' + u'\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0900-\u0902\u093C' + u'\u0941-\u0948\u094D\u0951-\u0955\u0962\u0963\u0981\u09BC\u09C1-\u09C4' + u'\u09CD\u09E2\u09E3\u0A01\u0A02\u0A3C\u0A41\u0A42\u0A47\u0A48' + u'\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81\u0A82\u0ABC\u0AC1-\u0AC5' + u'\u0AC7\u0AC8\u0ACD\u0AE2\u0AE3\u0B01\u0B3C\u0B3F\u0B41-\u0B44\u0B4D' + u'\u0B56\u0B62\u0B63\u0B82\u0BC0\u0BCD\u0C3E-\u0C40\u0C46-\u0C48' + u'\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0CBC\u0CBF\u0CC6\u0CCC\u0CCD' + u'\u0CE2\u0CE3\u0D41-\u0D44\u0D4D\u0D62\u0D63\u0DCA\u0DD2-\u0DD4\u0DD6' + u'\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC' + u'\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F71-\u0F7E\u0F80-\u0F84' + u'\u0F86\u0F87\u0F90-\u0F97\u0F99-\u0FBC\u0FC6\u102D-\u1030\u1032-\u1037' + u'\u1039\u103A\u103D\u103E\u1058\u1059\u105E-\u1060\u1071-\u1074\u1082' + u'\u1085\u1086\u108D\u109D\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753' + u'\u1772\u1773\u17B7-\u17BD\u17C6\u17C9-\u17D3\u17DD\u180B-\u180D\u18A9' + u'\u1920-\u1922\u1927\u1928\u1932\u1939-\u193B\u1A17\u1A18\u1A56' + u'\u1A58-\u1A5E\u1A60\u1A62\u1A65-\u1A6C\u1A73-\u1A7C\u1A7F\u1B00-\u1B03' + u'\u1B34\u1B36-\u1B3A\u1B3C\u1B42\u1B6B-\u1B73\u1B80\u1B81\u1BA2-\u1BA5' + u'\u1BA8\u1BA9\u1C2C-\u1C33\u1C36\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE0' + u'\u1CE2-\u1CE8\u1CED\u1DC0-\u1DE6\u1DFD-\u1DFF\u20D0-\u20DC\u20E1' + u'\u20E5-\u20F0\u2CEF-\u2CF1\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F' + u'\uA67C\uA67D\uA6F0\uA6F1\uA802\uA806\uA80B\uA825\uA826\uA8C4' + u'\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA951\uA980-\uA982\uA9B3\uA9B6-\uA9B9' + u'\uA9BC\uAA29-\uAA2E\uAA31\uAA32\uAA35\uAA36\uAA43\uAA4C\uAAB0' + u'\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uABE5\uABE8\uABED\uFB1E' + u'\uFE00-\uFE0F\uFE20-\uFE26]' ) COMBINING_SPACING_MARK = ( - ur'[\u0903\u093E-\u0940\u0949-\u094C\u094E\u0982\u0983\u09BE-\u09C0\u09C7' - ur'\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9' - ur'\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57' - ur'\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03' - ur'\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB' - ur'\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57' - ur'\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F' - ur'\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064' - ur'\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6' - ur'\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931' - ur'\u1933-\u1938\u19B0-\u19C0\u19C8\u19C9\u1A19-\u1A1B\u1A55\u1A57\u1A61' - ur'\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44' - ur'\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2' - ur'\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4' - ur'\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B' - ur'\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]' + u'[\u0903\u093E-\u0940\u0949-\u094C\u094E\u0982\u0983\u09BE-\u09C0\u09C7' + u'\u09C8\u09CB\u09CC\u09D7\u0A03\u0A3E-\u0A40\u0A83\u0ABE-\u0AC0\u0AC9' + u'\u0ACB\u0ACC\u0B02\u0B03\u0B3E\u0B40\u0B47\u0B48\u0B4B\u0B4C\u0B57' + u'\u0BBE\u0BBF\u0BC1\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCC\u0BD7\u0C01-\u0C03' + u'\u0C41-\u0C44\u0C82\u0C83\u0CBE\u0CC0-\u0CC4\u0CC7\u0CC8\u0CCA\u0CCB' + u'\u0CD5\u0CD6\u0D02\u0D03\u0D3E-\u0D40\u0D46-\u0D48\u0D4A-\u0D4C\u0D57' + u'\u0D82\u0D83\u0DCF-\u0DD1\u0DD8-\u0DDF\u0DF2\u0DF3\u0F3E\u0F3F\u0F7F' + u'\u102B\u102C\u1031\u1038\u103B\u103C\u1056\u1057\u1062-\u1064' + u'\u1067-\u106D\u1083\u1084\u1087-\u108C\u108F\u109A-\u109C\u17B6' + u'\u17BE-\u17C5\u17C7\u17C8\u1923-\u1926\u1929-\u192B\u1930\u1931' + u'\u1933-\u1938\u19B0-\u19C0\u19C8\u19C9\u1A19-\u1A1B\u1A55\u1A57\u1A61' + u'\u1A63\u1A64\u1A6D-\u1A72\u1B04\u1B35\u1B3B\u1B3D-\u1B41\u1B43\u1B44' + u'\u1B82\u1BA1\u1BA6\u1BA7\u1BAA\u1C24-\u1C2B\u1C34\u1C35\u1CE1\u1CF2' + u'\uA823\uA824\uA827\uA880\uA881\uA8B4-\uA8C3\uA952\uA953\uA983\uA9B4' + u'\uA9B5\uA9BA\uA9BB\uA9BD-\uA9C0\uAA2F\uAA30\uAA33\uAA34\uAA4D\uAA7B' + u'\uABE3\uABE4\uABE6\uABE7\uABE9\uABEA\uABEC]' ) -COMBINING_MARK = ur'%s|%s' % (NON_SPACING_MARK, COMBINING_SPACING_MARK) +COMBINING_MARK = u'%s|%s' % (NON_SPACING_MARK, COMBINING_SPACING_MARK) CONNECTOR_PUNCTUATION = ( - ur'[\u005F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]' + u'[\u005F\u203F\u2040\u2054\uFE33\uFE34\uFE4D-\uFE4F\uFF3F]' ) DIGIT = ( - ur'[\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F' - ur'\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF' - ur'\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9' - ur'\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819' - ur'\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59' - ur'\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9' - ur'\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]' + u'[\u0030-\u0039\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F' + u'\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF' + u'\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0E50-\u0E59\u0ED0-\u0ED9' + u'\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819' + u'\u1946-\u194F\u19D0-\u19DA\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59' + u'\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9' + u'\uA900-\uA909\uA9D0-\uA9D9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19]' ) From 5dbb884e33ce2c402f8d511255e83b924f17c1c5 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:44:42 +0100 Subject: [PATCH 13/27] Change StringIO import for compatibility with Python 3 --- src/slimit/tests/test_cmd.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/slimit/tests/test_cmd.py b/src/slimit/tests/test_cmd.py index ebb8ef5..9bcc3ba 100644 --- a/src/slimit/tests/test_cmd.py +++ b/src/slimit/tests/test_cmd.py @@ -26,7 +26,11 @@ import os import sys -import StringIO +try: + from StringIO import StringIO +except ImportError: + # Python 3 + from io import StringIO import tempfile import unittest @@ -36,7 +40,7 @@ @contextmanager def redirected_input_output(input=''): old_inp, old_out = sys.stdin, sys.stdout - inp, out = StringIO.StringIO(input), StringIO.StringIO() + inp, out = StringIO(input), StringIO() sys.stdin, sys.stdout = inp, out try: yield out @@ -67,20 +71,20 @@ def tearDown(self): def test_main_dash_m_with_input_file(self): from slimit.minifier import main - out = StringIO.StringIO() + out = StringIO() main(['-m', '-t', self.path], out=out) self.assertEqual('var a=5;', out.getvalue()) def test_main_dash_dash_mangle_with_input_file(self): from slimit.minifier import main - out = StringIO.StringIO() + out = StringIO() main(['--mangle', '--mangle-toplevel', self.path], out=out) self.assertEqual('var a=5;', out.getvalue()) def test_main_dash_m_with_mock_stdin(self): from slimit.minifier import main - out = StringIO.StringIO() - inp = StringIO.StringIO('function foo() { var local = 5; }') + out = StringIO() + inp = StringIO('function foo() { var local = 5; }') main(['-m'], inp=inp, out=out) self.assertEqual('function foo(){var a=5;}', out.getvalue()) @@ -104,8 +108,8 @@ def test_main_stdin_stdout(self): sys.modules['slimit.minifier'] = old_module def test_main_sys_argv(self): - out = StringIO.StringIO() - inp = StringIO.StringIO('var global = 5;') + out = StringIO() + inp = StringIO('var global = 5;') with redirected_sys_argv(['slimit', '-m', '-t']): from slimit.minifier import main main(inp=inp, out=out) From 9f4984062b7c77fdaabe0516765d70db8b5c0cf8 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Sun, 9 Feb 2014 09:46:50 +0100 Subject: [PATCH 14/27] Alias next() as __next__(), for Python 3 compatibility --- src/slimit/lexer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/slimit/lexer.py b/src/slimit/lexer.py index 001828e..d1a9759 100644 --- a/src/slimit/lexer.py +++ b/src/slimit/lexer.py @@ -199,6 +199,8 @@ def next(self): return token + __next__ = next + states = ( ('regex', 'exclusive'), ) From 5dd062cccba7f81f73d864d53409c0c0b3e120ce Mon Sep 17 00:00:00 2001 From: Antoine Catton Date: Thu, 22 Jan 2015 22:09:03 -0700 Subject: [PATCH 15/27] Cleaner way to build a unittest suite using metaclasses --- src/slimit/tests/test_ecmavisitor.py | 29 ++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/slimit/tests/test_ecmavisitor.py b/src/slimit/tests/test_ecmavisitor.py index 65dfce2..5e4df8d 100644 --- a/src/slimit/tests/test_ecmavisitor.py +++ b/src/slimit/tests/test_ecmavisitor.py @@ -29,31 +29,32 @@ from slimit.parser import Parser +UnitTestMeta = type(unittest.TestCase) -def decorator(cls): - def make_test_function(input, expected): - def test_func(self): - parser = Parser() - result = parser.parse(input).to_ecma() - self.assertMultiLineEqual(result, expected) +class VisitorTestMeta(UnitTestMeta): + def __new__(cls, name, bases, attributes): + test_cases = attributes.pop('TEST_CASES') - return test_func + for idx, input_ in enumerate(test_cases): + name = 'test_case_{}'.format(idx) + attributes[name] = lambda self: self.case(input_) - for index, input in enumerate(cls.TEST_CASES): - input = textwrap.dedent(input).strip() - func = make_test_function(input, input) - setattr(cls, 'test_case_%d' % index, func) + return super(VisitorTestMeta, cls).__new__(cls, name, bases, attributes) - return cls - -@decorator class ECMAVisitorTestCase(unittest.TestCase): + __metaclass__ = VisitorTestMeta def setUp(self): self.maxDiff = 2000 + def case(self, input_): + parser = Parser() + result = parser.parse(input_).to_ecma() + expected = textwrap.dedent(input_).strip() + self.assertMultiLineEqual(result, expected) + TEST_CASES = [ ################################ # block From 835773076c1e58a2d97c9d572e09f98077c37192 Mon Sep 17 00:00:00 2001 From: Antoine Catton Date: Thu, 22 Jan 2015 22:18:21 -0700 Subject: [PATCH 16/27] Make visitor testing generic (in order to test many visitors) --- src/slimit/tests/test_ecmavisitor.py | 37 ++++++++++++++++------------ 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/slimit/tests/test_ecmavisitor.py b/src/slimit/tests/test_ecmavisitor.py index 5e4df8d..f7e2adb 100644 --- a/src/slimit/tests/test_ecmavisitor.py +++ b/src/slimit/tests/test_ecmavisitor.py @@ -34,27 +34,21 @@ class VisitorTestMeta(UnitTestMeta): def __new__(cls, name, bases, attributes): - test_cases = attributes.pop('TEST_CASES') - - for idx, input_ in enumerate(test_cases): + try: + test_cases = attributes['TEST_CASES'] + except KeyError: + test_cases = [getattr(b, 'TEST_CASES') + for b in bases + if hasattr(b, 'TEST_CASES')][0] + + for idx, case in enumerate(test_cases): name = 'test_case_{}'.format(idx) - attributes[name] = lambda self: self.case(input_) + attributes[name] = lambda self: self.case(case) return super(VisitorTestMeta, cls).__new__(cls, name, bases, attributes) -class ECMAVisitorTestCase(unittest.TestCase): - __metaclass__ = VisitorTestMeta - - def setUp(self): - self.maxDiff = 2000 - - def case(self, input_): - parser = Parser() - result = parser.parse(input_).to_ecma() - expected = textwrap.dedent(input_).strip() - self.assertMultiLineEqual(result, expected) - +class VisitorTestMixin(object): TEST_CASES = [ ################################ # block @@ -504,3 +498,14 @@ def case(self, input_): ] +class ECMAVisitorTestCase(VisitorTestMixin, unittest.TestCase): + __metaclass__ = VisitorTestMeta + + def setUp(self): + self.maxDiff = 2000 + + def case(self, case): + parser = Parser() + result = parser.parse(case).to_ecma() + expected = textwrap.dedent(case).strip() + self.assertMultiLineEqual(result, expected) From df3a6fb74a803e8b8f78032d27cd6415e3f64e34 Mon Sep 17 00:00:00 2001 From: Antoine Catton Date: Thu, 22 Jan 2015 22:24:53 -0700 Subject: [PATCH 17/27] Group visitor testing in one file --- src/slimit/tests/test_ecmavisitor.py | 511 ------------------ .../{test_minifier.py => test_visitor.py} | 493 ++++++++++++++++- 2 files changed, 482 insertions(+), 522 deletions(-) delete mode 100644 src/slimit/tests/test_ecmavisitor.py rename src/slimit/tests/{test_minifier.py => test_visitor.py} (59%) diff --git a/src/slimit/tests/test_ecmavisitor.py b/src/slimit/tests/test_ecmavisitor.py deleted file mode 100644 index f7e2adb..0000000 --- a/src/slimit/tests/test_ecmavisitor.py +++ /dev/null @@ -1,511 +0,0 @@ -############################################################################### -# -# Copyright (c) 2011 Ruslan Spivak -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. -# -############################################################################### - -__author__ = 'Ruslan Spivak ' - -import textwrap -import unittest - -from slimit.parser import Parser - -UnitTestMeta = type(unittest.TestCase) - - -class VisitorTestMeta(UnitTestMeta): - def __new__(cls, name, bases, attributes): - try: - test_cases = attributes['TEST_CASES'] - except KeyError: - test_cases = [getattr(b, 'TEST_CASES') - for b in bases - if hasattr(b, 'TEST_CASES')][0] - - for idx, case in enumerate(test_cases): - name = 'test_case_{}'.format(idx) - attributes[name] = lambda self: self.case(case) - - return super(VisitorTestMeta, cls).__new__(cls, name, bases, attributes) - - -class VisitorTestMixin(object): - TEST_CASES = [ - ################################ - # block - ################################ - """ - { - var a = 5; - } - """, - - ################################ - # variable statement - ################################ - """ - var a; - var b; - var a, b = 3; - var a = 1, b; - var a = 5, b = 7; - """, - - # empty statement - """ - ; - ; - ; - """, - - # test 3 - ################################ - # if - ################################ - 'if (true) var x = 100;', - - """ - if (true) { - var x = 100; - var y = 200; - } - """, - - 'if (true) if (true) var x = 100; else var y = 200;', - - # test 6 - """ - if (true) { - var x = 100; - } else { - var y = 200; - } - """, - ################################ - # iteration - ################################ - """ - for (i = 0; i < 10; i++) { - x = 10 * i; - } - """, - - """ - for (var i = 0; i < 10; i++) { - x = 10 * i; - } - """, - - # test 9 - """ - for (i = 0, j = 10; i < j && j < 15; i++, j++) { - x = i * j; - } - """, - - """ - for (var i = 0, j = 10; i < j && j < 15; i++, j++) { - x = i * j; - } - """, - - """ - for (p in obj) { - - } - """, - # retain the semicolon in the initialiser part of a 'for' statement - """ - for (Q || (Q = []); d < b; ) { - d = 1; - } - """, - - """ - for (new Foo(); d < b; ) { - d = 1; - } - """, - - """ - for (2 >> (foo ? 32 : 43) && 54; 21; ) { - a = c; - } - """, - - """ - for (/^.+/g; cond(); ++z) { - ev(); - } - """, - - # test 12 - """ - for (var p in obj) { - p = 1; - } - """, - - """ - do { - x += 1; - } while (true); - """, - - """ - while (false) { - x = null; - } - """, - - # test 15 - ################################ - # continue statement - ################################ - """ - while (true) { - continue; - s = 'I am not reachable'; - } - """, - - """ - while (true) { - continue label1; - s = 'I am not reachable'; - } - """, - - ################################ - # break statement - ################################ - """ - while (true) { - break; - s = 'I am not reachable'; - } - """, - # test 18 - """ - while (true) { - break label1; - s = 'I am not reachable'; - } - """, - - ################################ - # return statement - ################################ - """ - { - return; - } - """, - - """ - { - return 1; - } - """, - - # test21 - ################################ - # with statement - ################################ - """ - with (x) { - var y = x * 2; - } - """, - - ################################ - # labelled statement - ################################ - """ - label: while (true) { - x *= 3; - } - """, - - ################################ - # switch statement - ################################ - """ - switch (day_of_week) { - case 6: - case 7: - x = 'Weekend'; - break; - case 1: - x = 'Monday'; - break; - default: - break; - } - """, - - # test 24 - ################################ - # throw statement - ################################ - """ - throw 'exc'; - """, - - ################################ - # debugger statement - ################################ - 'debugger;', - - ################################ - # expression statement - ################################ - """ - 5 + 7 - 20 * 10; - ++x; - --x; - x++; - x--; - x = 17 /= 3; - s = mot ? z : /x:3;x<5;y> (foo ? 32 : 43) && 54; 21; ) { + a = c; + } + """, + + """ + for (/^.+/g; cond(); ++z) { + ev(); + } + """, + + # test 12 + """ + for (var p in obj) { + p = 1; + } + """, + + """ + do { + x += 1; + } while (true); + """, + + """ + while (false) { + x = null; + } + """, + + # test 15 + ################################ + # continue statement + ################################ + """ + while (true) { + continue; + s = 'I am not reachable'; + } + """, + + """ + while (true) { + continue label1; + s = 'I am not reachable'; + } + """, + + ################################ + # break statement + ################################ + """ + while (true) { + break; + s = 'I am not reachable'; + } + """, + # test 18 + """ + while (true) { + break label1; + s = 'I am not reachable'; + } + """, + + ################################ + # return statement + ################################ + """ + { + return; + } + """, + + """ + { + return 1; + } + """, + + # test21 + ################################ + # with statement + ################################ + """ + with (x) { + var y = x * 2; + } + """, + + ################################ + # labelled statement + ################################ + """ + label: while (true) { + x *= 3; + } + """, + + ################################ + # switch statement + ################################ + """ + switch (day_of_week) { + case 6: + case 7: + x = 'Weekend'; + break; + case 1: + x = 'Monday'; + break; + default: + break; + } + """, + + # test 24 + ################################ + # throw statement + ################################ + """ + throw 'exc'; + """, + + ################################ + # debugger statement + ################################ + 'debugger;', + + ################################ + # expression statement + ################################ + """ + 5 + 7 - 20 * 10; + ++x; + --x; + x++; + x--; + x = 17 /= 3; + s = mot ? z : /x:3;x<5;y Date: Sun, 25 Jan 2015 19:15:39 -0700 Subject: [PATCH 18/27] Add representation and equality between abstract syntax trees --- src/slimit/ast.py | 388 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 385 insertions(+), 3 deletions(-) diff --git a/src/slimit/ast.py b/src/slimit/ast.py index 7458967..fcedfb2 100644 --- a/src/slimit/ast.py +++ b/src/slimit/ast.py @@ -44,11 +44,28 @@ def to_ecma(self): visitor = ECMAVisitor() return visitor.visit(self) + def _eq(self, other): + if len(self.children()) != len(other.children()): + return False + else: + l = zip(self.children(), other.children()) + return all(s == o for s, o in l) + + def __eq__(self, other): + if type(self) == type(other): + return self._eq(other) + elif isinstance(other, Node): + return False + else: + return NotImplemented + class Program(Node): - pass + def __repr__(self): + return 'Program(children={!r})'.format(self.children()) class Block(Node): - pass + def __repr__(self): + return 'Block(children={!r})'.format(self.children()) class Boolean(Node): def __init__(self, value): @@ -57,13 +74,26 @@ def __init__(self, value): def children(self): return [] + def _eq(self, other): + return self.value == other.value + + def __repr__(self): + return 'Boolean({!r})'.format(self.value) + class Null(Node): def __init__(self, value): + assert value == 'null' self.value = value def children(self): return [] + def _eq(self, other): + return True # A null value is always equal to another null value + + def __repr__(self): + return 'Null()' + class Number(Node): def __init__(self, value): self.value = value @@ -71,6 +101,12 @@ def __init__(self, value): def children(self): return [] + def _eq(self, other): + return self.value == other.value + + def __repr__(self): + return 'Number(value={!r})'.format(self.value) + class Identifier(Node): def __init__(self, value): self.value = value @@ -78,6 +114,12 @@ def __init__(self, value): def children(self): return [] + def _eq(self, other): + return self.value == other.value + + def __repr__(self): + return 'Identifier(value={!r})'.format(self.value) + class String(Node): def __init__(self, value): self.value = value @@ -85,6 +127,12 @@ def __init__(self, value): def children(self): return [] + def _eq(self, other): + return self.value == other.value + + def __repr__(self): + return 'String(value={!r})'.format(self.value) + class Regex(Node): def __init__(self, value): self.value = value @@ -92,6 +140,12 @@ def __init__(self, value): def children(self): return [] + def _eq(self, other): + return self.value == other.value + + def __repr__(self): + return 'Regex(value={!r})'.format(self.value) + class Array(Node): def __init__(self, items): self.items = items @@ -99,6 +153,12 @@ def __init__(self, items): def children(self): return self.items + def __repr__(self): + return 'Array(items={!r})'.format(self.items) + + def _eq(self, other): + return self.items == other.items + class Object(Node): def __init__(self, properties=None): self.properties = [] if properties is None else properties @@ -106,6 +166,12 @@ def __init__(self, properties=None): def children(self): return self.properties + def _eq(self, other): + return self.properties == other.properties + + def __repr__(self): + return 'Object(properties={!r})'.format(self.properties) + class NewExpr(Node): def __init__(self, identifier, args=None): self.identifier = identifier @@ -114,6 +180,16 @@ def __init__(self, identifier, args=None): def children(self): return [self.identifier, self.args] + def _eq(self, other): + return ( + (self.identifier == other.identifier) and + (self.args == other.args) + ) + + def __repr__(self): + return 'NewExpr(identifier={!r}, args={!r})'.format( + self.identifier, self.args) + class FunctionCall(Node): def __init__(self, identifier, args=None): self.identifier = identifier @@ -122,6 +198,16 @@ def __init__(self, identifier, args=None): def children(self): return [self.identifier] + self.args + def _eq(self, other): + return ( + (self.identifier == other.identifier) and + (self.args == other.args) + ) + + def __repr__(self): + return 'FunctionCall(identifier={!r}, args={!r})'.format( + self.identifier, self.args) + class BracketAccessor(Node): def __init__(self, node, expr): self.node = node @@ -130,6 +216,16 @@ def __init__(self, node, expr): def children(self): return [self.node, self.expr] + def _eq(self, other): + return ( + (self.node == other.node) and + (self.expr == other.expr) + ) + + def __repr__(self): + return 'BracketAccessor(node={!r}, expr={!r})'.format( + self.node, self.expr) + class DotAccessor(Node): def __init__(self, node, identifier): self.node = node @@ -138,6 +234,16 @@ def __init__(self, node, identifier): def children(self): return [self.node, self.identifier] + def _eq(self, other): + return ( + (self.node == other.node) and + (self.identifier == other.identifier) + ) + + def __repr__(self): + return 'DotAccessor(node={!r}, identifier={!r})'.format( + self.node, self.identifier) + class Assign(Node): def __init__(self, op, left, right): self.op = op @@ -147,6 +253,17 @@ def __init__(self, op, left, right): def children(self): return [self.left, self.right] + def _eq(self, other): + return ( + (self.op == other.op) and + (self.left == other.left) and + (self.right == other.right) + ) + + def __repr__(self): + return 'Assign(op={!r}, left={!r}, right={!r})'.format( + self.op, self.left, self.right) + class GetPropAssign(Node): def __init__(self, prop_name, elements): """elements - function body""" @@ -156,6 +273,16 @@ def __init__(self, prop_name, elements): def children(self): return [self.prop_name] + self.elements + def _eq(self, other): + return ( + (self.prop_name == other.prop_name) and + (self.elements == other.elements) + ) + + def __repr__(self): + return 'GetPropAssign(prop_name={!r}, elements={!r})'.format( + self.prop_name, self.elements) + class SetPropAssign(Node): def __init__(self, prop_name, parameters, elements): """elements - function body""" @@ -166,8 +293,20 @@ def __init__(self, prop_name, parameters, elements): def children(self): return [self.prop_name] + self.parameters + self.elements + def _eq(self, other): + return ( + (self.prop_name == other.prop_name) and + (self.parameters == other.parameters) and + (self.elements == other.elements) + ) + + def __repr__(self): + fmt = 'SetPropAssign(prop_name={!r}, parameters={!r}, elements={!r}' + return fmt.format(self.prop_name, self.parameters, self.elements) + class VarStatement(Node): - pass + def __repr__(self): + return 'VarStatement(children={!r})'.format(self.children()) class VarDecl(Node): def __init__(self, identifier, initializer=None): @@ -178,6 +317,16 @@ def __init__(self, identifier, initializer=None): def children(self): return [self.identifier, self.initializer] + def _eq(self, other): + return ( + (self.identifier == other.identifier) and + (self.initializer == other.initializer) + ) + + def __repr__(self): + return 'VarDecl(identifier={!r}, initializer={!r})'.format( + self.identifier, self.initializer) + class UnaryOp(Node): def __init__(self, op, value, postfix=False): self.op = op @@ -187,6 +336,17 @@ def __init__(self, op, value, postfix=False): def children(self): return [self.value] + def _eq(self, other): + return ( + (self.op == other.op) and + (self.value == other.value) and + (self.postfix == other.postfix) + ) + + def __repr__(self): + return 'UnaryOp(op={!r}, value={!r}, postfix={!r})'.format( + self.op, self.value, self.postfix) + class BinOp(Node): def __init__(self, op, left, right): self.op = op @@ -196,6 +356,17 @@ def __init__(self, op, left, right): def children(self): return [self.left, self.right] + def _eq(self, other): + return ( + (self.op == other.op) and + (self.left == other.left) and + (self.right == other.right) + ) + + def __repr__(self): + return 'BinOp(op={!r}, left={!r}, right={!r})'.format( + self.op, self.left, self.right) + class Conditional(Node): """Conditional Operator ( ? : )""" def __init__(self, predicate, consequent, alternative): @@ -206,6 +377,17 @@ def __init__(self, predicate, consequent, alternative): def children(self): return [self.predicate, self.consequent, self.alternative] + def _eq(self, other): + return ( + (self.predicate == other.predicate) and + (self.consequent == other.consequent) and + (self.alternative == other.alternative) + ) + + def __repr__(self): + fmt = 'Conditional(predicate={!r}, consequent={!r}, alternative={!r})' + return fmt.format(self.predicate, self.consequent, self.alternative) + class If(Node): def __init__(self, predicate, consequent, alternative=None): self.predicate = predicate @@ -215,6 +397,17 @@ def __init__(self, predicate, consequent, alternative=None): def children(self): return [self.predicate, self.consequent, self.alternative] + def _eq(self, other): + return ( + (self.predicate == other.predicate) and + (self.consequent == other.consequent) and + (self.alternative == other.alternative) + ) + + def __repr__(self): + return 'If(predicate={!r}, consequent={!r}, alternative={!r})'.format( + self.predicate, self.consequent, self.alternative) + class DoWhile(Node): def __init__(self, predicate, statement): self.predicate = predicate @@ -223,6 +416,16 @@ def __init__(self, predicate, statement): def children(self): return [self.predicate, self.statement] + def _eq(self, other): + return ( + (self.predicate == other.predicate) and + (self.statement == other.statement) + ) + + def __repr__(self): + return 'DoWhile(predicate={!r}, statement={!r})'.format( + self.predicate, self.statement) + class While(Node): def __init__(self, predicate, statement): self.predicate = predicate @@ -231,6 +434,16 @@ def __init__(self, predicate, statement): def children(self): return [self.predicate, self.statement] + def _eq(self, other): + return ( + (self.predicate == other.predicate) and + (self.statement == other.statement) + ) + + def __repr__(self): + return 'While(predicate={!r}, statement={!r})'.format( + self.predicate, self.statement) + class For(Node): def __init__(self, init, cond, count, statement): self.init = init @@ -241,6 +454,18 @@ def __init__(self, init, cond, count, statement): def children(self): return [self.init, self.cond, self.count, self.statement] + def _eq(self, other): + return ( + (self.init == other.init) and + (self.cond == other.cond) and + (self.count == other.count) and + (self.statement == other.statement) + ) + + def __repr__(self): + return 'For(init={!r}, cond={!r}, count={!r}, statement={!r})'.format( + self.init, self.cond, self.count, self.statement) + class ForIn(Node): def __init__(self, item, iterable, statement): self.item = item @@ -250,6 +475,17 @@ def __init__(self, item, iterable, statement): def children(self): return [self.item, self.iterable, self.statement] + def _eq(self, other): + return ( + (self.item == other.item) and + (self.iterable == other.iterable) and + (self.statement == other.statement) + ) + + def __repr__(self): + return 'ForIn(item={!r}, iterable={!r}, statement={!r})'.format( + self.item, self.iterable, self.statement) + class Continue(Node): def __init__(self, identifier=None): self.identifier = identifier @@ -257,6 +493,12 @@ def __init__(self, identifier=None): def children(self): return [self.identifier] + def _eq(self, other): + return True # A continue statement is always the same as another one + + def __repr__(self): + return 'Continue()' + class Break(Node): def __init__(self, identifier=None): self.identifier = identifier @@ -264,6 +506,12 @@ def __init__(self, identifier=None): def children(self): return [self.identifier] + def _eq(self, other): + return True # A break statement is always the same as another one + + def __repr__(self): + return 'Break()' + class Return(Node): def __init__(self, expr=None): self.expr = expr @@ -271,6 +519,12 @@ def __init__(self, expr=None): def children(self): return [self.expr] + def _eq(self, other): + return self.expr == other.expr + + def __repr__(self): + return 'Return(expr={!r})'.format(self.expr) + class With(Node): def __init__(self, expr, statement): self.expr = expr @@ -279,6 +533,12 @@ def __init__(self, expr, statement): def children(self): return [self.expr, self.statement] + def _eq(self, other): + return self.expr == other.expr + + def __repr__(self): + return 'With(expr={!r})'.format(self.expr) + class Switch(Node): def __init__(self, expr, cases, default=None): self.expr = expr @@ -288,6 +548,17 @@ def __init__(self, expr, cases, default=None): def children(self): return [self.expr] + self.cases + [self.default] + def _eq(self, other): + return ( + (self.expr == other.expr) and + (self.cases == other.cases) and + (self.default == other.default) + ) + + def __repr__(self): + return 'Switch(expr={!r}, cases={!r}, default={!r})'.format( + self.expr, self.cases, self.default) + class Case(Node): def __init__(self, expr, elements): self.expr = expr @@ -296,6 +567,16 @@ def __init__(self, expr, elements): def children(self): return [self.expr] + self.elements + def _eq(self, other): + return ( + (self.expr == other.expr) and + (self.elements == other.elements) + ) + + def __repr__(self): + return 'Case(expr={!r}, elements={!r})'.format( + self.expr, self.elements) + class Default(Node): def __init__(self, elements): self.elements = elements if elements is not None else [] @@ -303,6 +584,12 @@ def __init__(self, elements): def children(self): return self.elements + def _eq(self, other): + return self.elements == other.elements + + def __repr__(self): + return 'Default(elements={!r})'.format(self.elements) + class Label(Node): def __init__(self, identifier, statement): self.identifier = identifier @@ -311,6 +598,16 @@ def __init__(self, identifier, statement): def children(self): return [self.identifier, self.statement] + def _eq(self, other): + return ( + (self.identifier == other.identifier) and + (self.statement == other.statement) + ) + + def __repr__(self): + return 'Label(identifier={!r}, statement={!r})'.format( + self.identifier, self.statement) + class Throw(Node): def __init__(self, expr): self.expr = expr @@ -318,6 +615,12 @@ def __init__(self, expr): def children(self): return [self.expr] + def _eq(self, other): + return self.expr == other.expr + + def __repr__(self): + return 'Throw(expr={!r})'.format(self.expr) + class Try(Node): def __init__(self, statements, catch=None, fin=None): self.statements = statements @@ -327,6 +630,17 @@ def __init__(self, statements, catch=None, fin=None): def children(self): return [self.statements] + [self.catch, self.fin] + def _eq(self, other): + return ( + (self.statements == other.statements) and + (self.catch == other.catch) and + (self.fin == other.fin) + ) + + def __repr__(self): + return 'Try(statement={!r}, catch={!r}, fin={!r})'.format( + self.statement, self.catch, self.fin) + class Catch(Node): def __init__(self, identifier, elements): self.identifier = identifier @@ -337,6 +651,16 @@ def __init__(self, identifier, elements): def children(self): return [self.identifier, self.elements] + def _eq(self, other): + return ( + (self.identifier == other.identifier) and + (self.elements == other.elements) + ) + + def __repr__(self): + return 'Catch(identifier={!r}, elements={!r})'.format( + self.identifier, self.elements) + class Finally(Node): def __init__(self, elements): self.elements = elements @@ -344,6 +668,12 @@ def __init__(self, elements): def children(self): return self.elements + def _eq(self, other): + return self.elements == other.elements + + def __repr__(self): + return 'Finally(elements={!r})'.format(self.elements) + class Debugger(Node): def __init__(self, value): self.value = value @@ -351,6 +681,12 @@ def __init__(self, value): def children(self): return [] + def _eq(self, other): + return True # Two debugger statements are equal + + def __repr__(self): + return 'Debugger()' + class FuncBase(Node): def __init__(self, identifier, parameters, elements): @@ -370,6 +706,19 @@ def _init_ids(self): def children(self): return [self.identifier] + self.parameters + self.elements + def _eq(self, other): + return ( + (self.identifier == other.identifier) and + (self.parameters == other.parameters) and + (self.elements == other.elements) + ) + + def __repr__(self): + # Could be FuncDecl, FuncExpr + name = type(self).__name__ + fmt = name + '(identifier={!r}, parameters={!r}, elements={!r})' + return fmt.format(self.identifier, self.parameters, self.elements) + class FuncDecl(FuncBase): pass @@ -386,6 +735,15 @@ def __init__(self, left, right): def children(self): return [self.left, self.right] + def _eq(self, other): + return ( + (self.left == other.left) and + (self.right == other.right) + ) + + def __repr__(self): + return 'Comma(left={!r}, right={!r})'.format(self.left, self.right) + class EmptyStatement(Node): def __init__(self, value): self.value = value @@ -393,6 +751,12 @@ def __init__(self, value): def children(self): return [] + def _eq(self, other): + return True # Two empty statements are equal + + def __repr__(self): + return 'EmptyStatement()' + class ExprStatement(Node): def __init__(self, expr): self.expr = expr @@ -400,6 +764,12 @@ def __init__(self, expr): def children(self): return [self.expr] + def _eq(self, other): + return self.expr == other.expr + + def __repr__(self): + return 'ExprStatement(expr={!r})'.format(self.expr) + class Elision(Node): def __init__(self, value): self.value = value @@ -407,9 +777,21 @@ def __init__(self, value): def children(self): return [] + def _eq(self, other): + return True # Two elisions are equal + + def __repr__(self): + return 'Elision()' + class This(Node): def __init__(self): pass def children(self): return [] + + def _eq(self, other): + return True # Two this objects are always equal + + def __repr__(self): + return 'This()' From 32ddbb72514d6207f8b6aea9d3f10e4383ba1b65 Mon Sep 17 00:00:00 2001 From: Antoine Catton Date: Sun, 25 Jan 2015 19:26:53 -0700 Subject: [PATCH 19/27] Bugfix: isolate the closure --- src/slimit/tests/test_visitor.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/slimit/tests/test_visitor.py b/src/slimit/tests/test_visitor.py index 42a96c6..c2d71da 100644 --- a/src/slimit/tests/test_visitor.py +++ b/src/slimit/tests/test_visitor.py @@ -42,9 +42,14 @@ def __new__(cls, name, bases, attributes): for b in bases if hasattr(b, 'TEST_CASES')][0] + def generate_test_func(name, case): + func = lambda self: self.case(case) + func.__name__ = name + return func + for idx, case in enumerate(test_cases): name = 'test_case_{}'.format(idx) - attributes[name] = lambda self: self.case(case) + attributes[name] = generate_test_func(name, case) return super(VisitorTestMeta, cls).__new__(cls, name, bases, attributes) From 7a71fe459bc4c247e69a390d725a7279130cce50 Mon Sep 17 00:00:00 2001 From: Antoine Catton Date: Sun, 25 Jan 2015 19:41:31 -0700 Subject: [PATCH 20/27] Make sure parsing is stable --- src/slimit/tests/test_visitor.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/slimit/tests/test_visitor.py b/src/slimit/tests/test_visitor.py index c2d71da..4f1a01f 100644 --- a/src/slimit/tests/test_visitor.py +++ b/src/slimit/tests/test_visitor.py @@ -517,6 +517,19 @@ def case(self, case): self.assertMultiLineEqual(result, expected) +class ParsingTestCase(VisitorTestMixin, unittest.TestCase): + __metaclass__ = VisitorTestMeta + + def case(self, case): + parser_a = Parser() + result_a = parser_a.parse(case) + + parser_b = Parser() + result_b = parser_b.parse(case) + + self.assertEqual(result_a, result_b) + + class MinifierTestCase(unittest.TestCase): __metaclass__ = VisitorTestMeta From 6c7fb07d4a586f9292f4ad63f42c9a16cd64f5f3 Mon Sep 17 00:00:00 2001 From: Antoine Catton Date: Sun, 25 Jan 2015 20:01:55 -0700 Subject: [PATCH 21/27] Fix unary and binary operators merging --- src/slimit/tests/test_visitor.py | 31 +++++++++++++++++++++++++++++++ src/slimit/visitors/minvisitor.py | 10 +++++----- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/slimit/tests/test_visitor.py b/src/slimit/tests/test_visitor.py index 4f1a01f..67dc265 100644 --- a/src/slimit/tests/test_visitor.py +++ b/src/slimit/tests/test_visitor.py @@ -957,3 +957,34 @@ def case(self, case): ('testObj["`"] = undefined; // Breaks', 'testObj["`"]=undefined;'), ('testObj["."] = undefined; // OK', 'testObj["."]=undefined;'), ] + + +class MinifierReparsingTestCase(unittest.TestCase): + __metaclass__ = VisitorTestMeta + + TEST_CASES = [ + """ + a + +a; + """, + + """ + a - -a; + """, + + """ + a - +a; + """, + + """ + a + ++a; + """, + + """ + a - --a; + """ + ] + + def case(self, case): + parsed = Parser().parse(case) + minified = Parser().parse(minify(case)) + self.assertEqual(parsed, minified) diff --git a/src/slimit/visitors/minvisitor.py b/src/slimit/visitors/minvisitor.py index ae822fe..b1fec8c 100644 --- a/src/slimit/visitors/minvisitor.py +++ b/src/slimit/visitors/minvisitor.py @@ -189,12 +189,12 @@ def visit_ForIn(self, node): def visit_BinOp(self, node): if node.op in ('instanceof', 'in'): template = '%s %s %s' - elif (node.op == '+' and - isinstance(node.right, ast.UnaryOp) and - node.right.op == '++' and not node.right.postfix + elif isinstance(node.right, ast.UnaryOp) and not node.right.postfix \ + and ( + (node.op == '+' and node.right.op in ('++', '+')) or + (node.op == '-' and node.right.op in ('--', '-')) ): - # make a space between + and ++ - # https://github.com/rspivak/slimit/issues/26 + # Don't merge + +, + ++, - - and - -- template = '%s%s %s' else: template = '%s%s%s' From 93d75b57bd6f7caaa97e9228c7d9f7b0a81b6e09 Mon Sep 17 00:00:00 2001 From: Waldemar Kornewald Date: Tue, 5 Nov 2013 14:15:28 +0100 Subject: [PATCH 22/27] fixed dot and bracket accessors on immediate numbers --- src/slimit/tests/test_visitor.py | 8 ++++++++ src/slimit/visitors/ecmavisitor.py | 5 ++++- src/slimit/visitors/minvisitor.py | 10 ++++++++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/slimit/tests/test_visitor.py b/src/slimit/tests/test_visitor.py index 67dc265..8c82935 100644 --- a/src/slimit/tests/test_visitor.py +++ b/src/slimit/tests/test_visitor.py @@ -888,6 +888,14 @@ def case(self, case): """, "(function($){$.hello='world';}(jQuery));"), + # function call on immediate number + ('((25)).toString()', '(25).toString();'), + ('((25))["toString"]()', '(25).toString();'), + + # attribute access on immediate number + ('((25)).attr', '(25).attr;'), + ('((25))["attr"]', '(25).attr;'), + # function call in FOR init ('for(o(); i < 3; i++) {}', 'for(o();i<3;i++){}'), diff --git a/src/slimit/visitors/ecmavisitor.py b/src/slimit/visitors/ecmavisitor.py index 1c98598..c2e798c 100644 --- a/src/slimit/visitors/ecmavisitor.py +++ b/src/slimit/visitors/ecmavisitor.py @@ -354,7 +354,10 @@ def visit_DotAccessor(self, node): template = '(%s.%s)' else: template = '%s.%s' - s = template % (self.visit(node.node), self.visit(node.identifier)) + left = self.visit(node.node) + if isinstance(node.node, ast.Number): + left = '(%s)' % left + s = template % (left, self.visit(node.identifier)) return s def visit_BracketAccessor(self, node): diff --git a/src/slimit/visitors/minvisitor.py b/src/slimit/visitors/minvisitor.py index b1fec8c..43dfb6c 100644 --- a/src/slimit/visitors/minvisitor.py +++ b/src/slimit/visitors/minvisitor.py @@ -389,7 +389,10 @@ def visit_DotAccessor(self, node): template = '(%s.%s)' else: template = '%s.%s' - s = template % (self.visit(node.node), self.visit(node.identifier)) + left = self.visit(node.node) + if isinstance(node.node, ast.Number): + left = '(%s)' % left + s = template % (left, self.visit(node.identifier)) return s def visit_BracketAccessor(self, node): @@ -402,7 +405,10 @@ def visit_BracketAccessor(self, node): elif value.startswith('"'): value = value.strip('"') if _is_identifier(value): - s = '%s.%s' % (self.visit(node.node), value) + left = self.visit(node.node) + if isinstance(node.node, ast.Number): + left = '(%s)' % left + s = '%s.%s' % (left, value) return s s = '%s[%s]' % (self.visit(node.node), self.visit(node.expr)) From 07f3a2dd37626ca73b8ae892fac8dd89a4e4e405 Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Sat, 6 Sep 2014 14:44:54 +0200 Subject: [PATCH 23/27] Support octal escape sequences in string literals (fixes #70) http://www.ecma-international.org/ecma-262/5.1/#sec-B.1.2 Regular expression taken from https://mathiasbynens.be/notes/javascript-escapes#octal --- src/slimit/lexer.py | 4 + src/slimit/lextab.py | 4 +- src/slimit/tests/test_lexer.py | 1 + src/slimit/yacctab.py | 604 ++++++++++++++++----------------- 4 files changed, 309 insertions(+), 304 deletions(-) diff --git a/src/slimit/lexer.py b/src/slimit/lexer.py index d1a9759..f9be17e 100644 --- a/src/slimit/lexer.py +++ b/src/slimit/lexer.py @@ -373,6 +373,7 @@ def t_regex_error(self, token): | \\[a-zA-Z!-\/:-@\[-`{-~] # or escaped characters | \\x[0-9a-fA-F]{2} # or hex_escape_sequence | \\u[0-9a-fA-F]{4} # or unicode_escape_sequence + | \\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.2) )*? # zero or many times (?: \\\n # multiline ? (?: @@ -380,6 +381,7 @@ def t_regex_error(self, token): | \\[a-zA-Z!-\/:-@\[-`{-~] # or escaped characters | \\x[0-9a-fA-F]{2} # or hex_escape_sequence | \\u[0-9a-fA-F]{4} # or unicode_escape_sequence + | \\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.2) )*? # zero or many times )* ") # closing double quote @@ -390,6 +392,7 @@ def t_regex_error(self, token): | \\[a-zA-Z!-\/:-@\[-`{-~] # or escaped characters | \\x[0-9a-fA-F]{2} # or hex_escape_sequence | \\u[0-9a-fA-F]{4} # or unicode_escape_sequence + | \\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.2) )*? # zero or many times (?: \\\n # multiline ? (?: @@ -397,6 +400,7 @@ def t_regex_error(self, token): | \\[a-zA-Z!-\/:-@\[-`{-~] # or escaped characters | \\x[0-9a-fA-F]{2} # or hex_escape_sequence | \\u[0-9a-fA-F]{4} # or unicode_escape_sequence + | \\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.2) )*? # zero or many times )* ') # closing single quote diff --git a/src/slimit/lextab.py b/src/slimit/lextab.py index f2d1f6f..54329bf 100644 --- a/src/slimit/lextab.py +++ b/src/slimit/lextab.py @@ -1,9 +1,9 @@ # lextab.py. This file automatically created by PLY (version 3.4). Don't edit! _tabversion = '3.4' -_lextokens = {'BOR': 1, 'LBRACKET': 1, 'WITH': 1, 'MINUS': 1, 'RPAREN': 1, 'PLUS': 1, 'VOID': 1, 'BLOCK_COMMENT': 1, 'GT': 1, 'RBRACE': 1, 'PERIOD': 1, 'GE': 1, 'VAR': 1, 'THIS': 1, 'MINUSEQUAL': 1, 'TYPEOF': 1, 'OR': 1, 'DELETE': 1, 'DIVEQUAL': 1, 'RETURN': 1, 'RSHIFTEQUAL': 1, 'EQEQ': 1, 'SETPROP': 1, 'BNOT': 1, 'URSHIFTEQUAL': 1, 'TRUE': 1, 'COLON': 1, 'FUNCTION': 1, 'LINE_COMMENT': 1, 'FOR': 1, 'PLUSPLUS': 1, 'ELSE': 1, 'TRY': 1, 'EQ': 1, 'AND': 1, 'LBRACE': 1, 'CONTINUE': 1, 'NOT': 1, 'OREQUAL': 1, 'MOD': 1, 'RSHIFT': 1, 'DEFAULT': 1, 'WHILE': 1, 'NEW': 1, 'CASE': 1, 'MODEQUAL': 1, 'NE': 1, 'MULTEQUAL': 1, 'SWITCH': 1, 'CATCH': 1, 'STREQ': 1, 'INSTANCEOF': 1, 'PLUSEQUAL': 1, 'GETPROP': 1, 'FALSE': 1, 'CONDOP': 1, 'BREAK': 1, 'LINE_TERMINATOR': 1, 'ANDEQUAL': 1, 'DO': 1, 'NUMBER': 1, 'LSHIFT': 1, 'DIV': 1, 'NULL': 1, 'MULT': 1, 'DEBUGGER': 1, 'LE': 1, 'SEMI': 1, 'BXOR': 1, 'LT': 1, 'COMMA': 1, 'REGEX': 1, 'STRING': 1, 'BAND': 1, 'FINALLY': 1, 'STRNEQ': 1, 'LPAREN': 1, 'IN': 1, 'MINUSMINUS': 1, 'ID': 1, 'IF': 1, 'XOREQUAL': 1, 'LSHIFTEQUAL': 1, 'URSHIFT': 1, 'RBRACKET': 1, 'THROW': 1} +_lextokens = {'BOR': 1, 'LBRACKET': 1, 'WITH': 1, 'MINUS': 1, 'RPAREN': 1, 'PLUS': 1, 'IMPORT': 1, 'VOID': 1, 'BLOCK_COMMENT': 1, 'GT': 1, 'RBRACE': 1, 'ENUM': 1, 'PERIOD': 1, 'GE': 1, 'EXTENDS': 1, 'VAR': 1, 'THIS': 1, 'MINUSEQUAL': 1, 'TYPEOF': 1, 'OR': 1, 'DELETE': 1, 'DIVEQUAL': 1, 'RETURN': 1, 'RSHIFTEQUAL': 1, 'EQEQ': 1, 'SETPROP': 1, 'BNOT': 1, 'URSHIFTEQUAL': 1, 'TRUE': 1, 'COLON': 1, 'FUNCTION': 1, 'LINE_COMMENT': 1, 'FOR': 1, 'PLUSPLUS': 1, 'ELSE': 1, 'TRY': 1, 'EQ': 1, 'AND': 1, 'LBRACE': 1, 'CONTINUE': 1, 'NOT': 1, 'OREQUAL': 1, 'MOD': 1, 'RSHIFT': 1, 'DEFAULT': 1, 'WHILE': 1, 'NEW': 1, 'CASE': 1, 'MODEQUAL': 1, 'NE': 1, 'MULTEQUAL': 1, 'SWITCH': 1, 'CATCH': 1, 'STREQ': 1, 'INSTANCEOF': 1, 'PLUSEQUAL': 1, 'GETPROP': 1, 'FALSE': 1, 'CONDOP': 1, 'BREAK': 1, 'LINE_TERMINATOR': 1, 'ANDEQUAL': 1, 'DO': 1, 'CONST': 1, 'NUMBER': 1, 'EXPORT': 1, 'LSHIFT': 1, 'DIV': 1, 'NULL': 1, 'MULT': 1, 'DEBUGGER': 1, 'LE': 1, 'SEMI': 1, 'BXOR': 1, 'LT': 1, 'COMMA': 1, 'CLASS': 1, 'REGEX': 1, 'STRING': 1, 'BAND': 1, 'FINALLY': 1, 'STRNEQ': 1, 'LPAREN': 1, 'IN': 1, 'MINUSMINUS': 1, 'ID': 1, 'IF': 1, 'XOREQUAL': 1, 'LSHIFTEQUAL': 1, 'URSHIFT': 1, 'RBRACKET': 1, 'SUPER': 1, 'THROW': 1} _lexreflags = 0 _lexliterals = '' _lexstateinfo = {'regex': 'exclusive', 'INITIAL': 'inclusive'} -_lexstatere = {'regex': [('(?P(?:\n / # opening slash\n # First character is..\n (?: [^*\\\\/[] # anything but * \\ / or [\n | \\\\. # or an escape sequence\n | \\[ # or a class, which has\n (?: [^\\]\\\\] # anything but \\ or ]\n | \\\\. # or an escape sequence\n )* # many times\n \\]\n )\n # Following characters are same, except for excluding a star\n (?: [^\\\\/[] # anything but \\ / or [\n | \\\\. # or an escape sequence\n | \\[ # or a class, which has\n (?: [^\\]\\\\] # anything but \\ or ]\n | \\\\. # or an escape sequence\n )* # many times\n \\]\n )* # many times\n / # closing slash\n [a-zA-Z0-9]* # trailing flags\n )\n )', [None, (None, 'REGEX')])], 'INITIAL': [(u'(?P\n (?:\n # double quoted string\n (?:" # opening double quote\n (?: [^"\\\\\\n\\r] # no \\, line terminators or "\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n )*? # zero or many times\n (?: \\\\\\n # multiline ?\n (?:\n [^"\\\\\\n\\r] # no \\, line terminators or "\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n )*? # zero or many times\n )*\n ") # closing double quote\n |\n # single quoted string\n (?:\' # opening single quote\n (?: [^\'\\\\\\n\\r] # no \\, line terminators or \'\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n )*? # zero or many times\n (?: \\\\\\n # multiline ?\n (?:\n [^\'\\\\\\n\\r] # no \\, line terminators or \'\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n )*? # zero or many times\n )*\n \') # closing single quote\n )\n )|(?Pget(?=\\s(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*))|(?Pset(?=\\s(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*))|(?P(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*)|(?P\n (?:\n 0[xX][0-9a-fA-F]+ # hex_integer_literal\n | 0[0-7]+ # or octal_integer_literal (spec B.1.1)\n | (?: # or decimal_literal\n (?:0|[1-9][0-9]*) # decimal_integer_literal\n \\. # dot\n [0-9]* # decimal_digits_opt\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n |\n \\. # dot\n [0-9]+ # decimal_digits\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n |\n (?:0|[1-9][0-9]*) # decimal_integer_literal\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n )\n )\n )|(?P/\\*[^*]*\\*+([^/*][^*]*\\*+)*/)|(?P//[^\\r\\n]*)|(?P[\\n\\r]+)|(?P\\+\\+)|(?P\\|\\|)|(?P>>>=)|(?P\\^=)|(?P\\|=)|(?P<<=)|(?P!==)|(?P>>=)|(?P>>>)|(?P\\+=)|(?P\\*=)|(?P===)|(?P\\.)|(?P\\+)|(?P%=)|(?P/=)|(?P\\])|(?P\\?)|(?P\\|)|(?P<<)|(?P<=)|(?P\\^)|(?P\\()|(?P\\*)|(?P!=)|(?P--)|(?P&&)|(?P\\[)|(?P>=)|(?P\\))|(?P>>)|(?P&=)|(?P-=)|(?P==)|(?P{)|(?P<)|(?P,)|(?P=)|(?P~)|(?P})|(?P/)|(?P%)|(?P;)|(?P-)|(?P>)|(?P:)|(?P&)|(?P!)', [None, (u't_STRING', 'STRING'), (u't_GETPROP', 'GETPROP'), (u't_SETPROP', 'SETPROP'), (u't_ID', 'ID'), (None, 'NUMBER'), (None, 'BLOCK_COMMENT'), None, (None, 'LINE_COMMENT'), (None, 'LINE_TERMINATOR'), (None, 'PLUSPLUS'), (None, 'OR'), (None, 'URSHIFTEQUAL'), (None, 'XOREQUAL'), (None, 'OREQUAL'), (None, 'LSHIFTEQUAL'), (None, 'STRNEQ'), (None, 'RSHIFTEQUAL'), (None, 'URSHIFT'), (None, 'PLUSEQUAL'), (None, 'MULTEQUAL'), (None, 'STREQ'), (None, 'PERIOD'), (None, 'PLUS'), (None, 'MODEQUAL'), (None, 'DIVEQUAL'), (None, 'RBRACKET'), (None, 'CONDOP'), (None, 'BOR'), (None, 'LSHIFT'), (None, 'LE'), (None, 'BXOR'), (None, 'LPAREN'), (None, 'MULT'), (None, 'NE'), (None, 'MINUSMINUS'), (None, 'AND'), (None, 'LBRACKET'), (None, 'GE'), (None, 'RPAREN'), (None, 'RSHIFT'), (None, 'ANDEQUAL'), (None, 'MINUSEQUAL'), (None, 'EQEQ'), (None, 'LBRACE'), (None, 'LT'), (None, 'COMMA'), (None, 'EQ'), (None, 'BNOT'), (None, 'RBRACE'), (None, 'DIV'), (None, 'MOD'), (None, 'SEMI'), (None, 'MINUS'), (None, 'GT'), (None, 'COLON'), (None, 'BAND'), (None, 'NOT')])]} +_lexstatere = {'regex': [('(?P(?:\n / # opening slash\n # First character is..\n (?: [^*\\\\/[] # anything but * \\ / or [\n | \\\\. # or an escape sequence\n | \\[ # or a class, which has\n (?: [^\\]\\\\] # anything but \\ or ]\n | \\\\. # or an escape sequence\n )* # many times\n \\]\n )\n # Following characters are same, except for excluding a star\n (?: [^\\\\/[] # anything but \\ / or [\n | \\\\. # or an escape sequence\n | \\[ # or a class, which has\n (?: [^\\]\\\\] # anything but \\ or ]\n | \\\\. # or an escape sequence\n )* # many times\n \\]\n )* # many times\n / # closing slash\n [a-zA-Z0-9]* # trailing flags\n )\n )', [None, (None, 'REGEX')])], 'INITIAL': [(u'(?P\n (?:\n # double quoted string\n (?:" # opening double quote\n (?: [^"\\\\\\n\\r] # no \\, line terminators or "\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.1)\n )*? # zero or many times\n (?: \\\\\\n # multiline ?\n (?:\n [^"\\\\\\n\\r] # no \\, line terminators or "\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.1)\n )*? # zero or many times\n )*\n ") # closing double quote\n |\n # single quoted string\n (?:\' # opening single quote\n (?: [^\'\\\\\\n\\r] # no \\, line terminators or \'\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.1)\n )*? # zero or many times\n (?: \\\\\\n # multiline ?\n (?:\n [^\'\\\\\\n\\r] # no \\, line terminators or \'\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.1)\n )*? # zero or many times\n )*\n \') # closing single quote\n )\n )|(?Pget(?=\\s(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*))|(?Pset(?=\\s(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*))|(?P(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*)|(?P\n (?:\n 0[xX][0-9a-fA-F]+ # hex_integer_literal\n | 0[0-7]+ # or octal_integer_literal (spec B.1.1)\n | (?: # or decimal_literal\n (?:0|[1-9][0-9]*) # decimal_integer_literal\n \\. # dot\n [0-9]* # decimal_digits_opt\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n |\n \\. # dot\n [0-9]+ # decimal_digits\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n |\n (?:0|[1-9][0-9]*) # decimal_integer_literal\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n )\n )\n )|(?P/\\*[^*]*\\*+([^/*][^*]*\\*+)*/)|(?P//[^\\r\\n]*)|(?P[\\n\\r]+)|(?P\\+\\+)|(?P\\|\\|)|(?P>>>=)|(?P\\^=)|(?P\\|=)|(?P<<=)|(?P!==)|(?P>>=)|(?P>>>)|(?P\\+=)|(?P\\*=)|(?P===)|(?P\\.)|(?P\\+)|(?P%=)|(?P/=)|(?P\\])|(?P\\?)|(?P\\|)|(?P<<)|(?P<=)|(?P\\^)|(?P\\()|(?P\\*)|(?P!=)|(?P--)|(?P&&)|(?P\\[)|(?P>=)|(?P\\))|(?P>>)|(?P&=)|(?P-=)|(?P==)|(?P{)|(?P<)|(?P,)|(?P=)|(?P~)|(?P})|(?P/)|(?P%)|(?P;)|(?P-)|(?P>)|(?P:)|(?P&)|(?P!)', [None, (u't_STRING', 'STRING'), (u't_GETPROP', 'GETPROP'), (u't_SETPROP', 'SETPROP'), (u't_ID', 'ID'), (None, 'NUMBER'), (None, 'BLOCK_COMMENT'), None, (None, 'LINE_COMMENT'), (None, 'LINE_TERMINATOR'), (None, 'PLUSPLUS'), (None, 'OR'), (None, 'URSHIFTEQUAL'), (None, 'XOREQUAL'), (None, 'OREQUAL'), (None, 'LSHIFTEQUAL'), (None, 'STRNEQ'), (None, 'RSHIFTEQUAL'), (None, 'URSHIFT'), (None, 'PLUSEQUAL'), (None, 'MULTEQUAL'), (None, 'STREQ'), (None, 'PERIOD'), (None, 'PLUS'), (None, 'MODEQUAL'), (None, 'DIVEQUAL'), (None, 'RBRACKET'), (None, 'CONDOP'), (None, 'BOR'), (None, 'LSHIFT'), (None, 'LE'), (None, 'BXOR'), (None, 'LPAREN'), (None, 'MULT'), (None, 'NE'), (None, 'MINUSMINUS'), (None, 'AND'), (None, 'LBRACKET'), (None, 'GE'), (None, 'RPAREN'), (None, 'RSHIFT'), (None, 'ANDEQUAL'), (None, 'MINUSEQUAL'), (None, 'EQEQ'), (None, 'LBRACE'), (None, 'LT'), (None, 'COMMA'), (None, 'EQ'), (None, 'BNOT'), (None, 'RBRACE'), (None, 'DIV'), (None, 'MOD'), (None, 'SEMI'), (None, 'MINUS'), (None, 'GT'), (None, 'COLON'), (None, 'BAND'), (None, 'NOT')])]} _lexstateignore = {'regex': ' \t', 'INITIAL': ' \t'} _lexstateerrorf = {'regex': 't_regex_error', 'INITIAL': 't_error'} diff --git a/src/slimit/tests/test_lexer.py b/src/slimit/tests/test_lexer.py index e94d588..57f2aeb 100644 --- a/src/slimit/tests/test_lexer.py +++ b/src/slimit/tests/test_lexer.py @@ -151,6 +151,7 @@ def test_illegal_unicode_char_in_identifier(self): [r"STRING '\u0001'", r'STRING "\uFCEF"', r"STRING 'a\\\b\n'"] ), (u'"тест строки\\""', [u'STRING "тест строки\\""']), + (r"""'\251'""", [r"""STRING '\251'"""]), # Bug - https://github.com/rspivak/slimit/issues/5 (r"var tagRegExp = new RegExp('<(\/*)(FooBar)', 'gi');", ['VAR var', 'ID tagRegExp', 'EQ =', diff --git a/src/slimit/yacctab.py b/src/slimit/yacctab.py index 9106390..0ec9b18 100644 --- a/src/slimit/yacctab.py +++ b/src/slimit/yacctab.py @@ -5,7 +5,7 @@ _lr_method = 'LALR' -_lr_signature = ':\xbe\xd7 \xc4\xd1\xd4\x7f\xef\xac_JV{\x19\xa8' +_lr_signature = '4<\xbe^Dz\xe7\xe4!\xf7\x10w\x98\xc7~6' _lr_action_items = {'DO':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[68,-22,-15,68,-23,-21,-13,-19,-17,-20,-16,-11,68,-9,-10,-8,-24,-12,-6,68,-244,-18,-14,-7,-292,-291,-2,68,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,68,68,-290,-288,68,68,-273,68,68,-251,-274,-247,68,68,68,68,68,68,-293,68,-254,-289,-275,-249,-250,-248,68,-294,68,-255,68,68,68,68,-256,-252,-276,-253,]),'OREQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,206,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,206,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,206,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,206,-295,-296,-297,-297,-298,-298,]),'DIVEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,193,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,193,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,193,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,193,-295,-296,-297,-297,-298,-298,]),'RETURN':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[26,-22,-15,26,-23,-21,-13,-19,-17,-20,-16,-11,26,-9,-10,-8,-24,-12,-6,26,-244,-18,-14,-7,-292,-291,-2,26,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,26,26,-290,-288,26,26,-273,26,26,-251,-274,-247,26,26,26,26,26,26,-293,26,-254,-289,-275,-249,-250,-248,26,-294,26,-255,26,26,26,26,-256,-252,-276,-253,]),'RSHIFTEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,194,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,194,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,194,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,194,-295,-296,-297,-297,-298,-298,]),'DEFAULT':([2,5,7,13,19,21,28,29,31,36,43,45,50,58,59,62,65,67,72,75,77,111,114,115,116,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,414,416,435,471,472,473,475,496,497,498,499,508,514,516,518,519,522,523,524,529,532,534,541,542,543,544,547,],[-22,-15,-5,-23,-21,-13,-19,-17,-20,-16,-11,-9,-10,-8,-4,-24,-12,-6,-244,-18,-14,-7,-292,-291,-2,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,-290,-288,-273,-251,-274,-1,-247,-278,521,-279,-277,-293,-254,-289,-280,-275,-249,-250,-248,-294,-255,-1,-256,-252,-281,-276,-253,]),'VOID':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[11,-22,-1,-15,11,11,11,11,-23,-21,-13,11,11,11,-19,-17,11,-20,-16,11,-11,11,-9,11,-10,-8,-24,-12,-6,11,-244,-18,-14,11,11,11,11,11,11,-53,-52,-51,-7,-292,-291,-2,11,11,11,11,11,11,-270,-269,11,-245,-246,11,11,11,11,11,11,11,-261,-262,11,11,11,11,11,-265,-266,-25,11,11,11,11,11,11,11,11,11,11,11,11,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,11,11,-1,-54,11,11,-232,-233,11,-283,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,-271,-272,11,11,11,11,11,11,11,-287,-286,-26,-263,-264,-268,-267,-284,-285,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,-290,-288,11,11,11,11,-273,11,11,11,11,11,-251,-274,-247,11,11,11,11,11,11,11,11,11,11,-293,11,11,-254,-289,-275,-249,-250,-248,11,-294,11,-255,11,11,11,11,-256,-252,-276,-253,]),'SETPROP':([104,349,],[231,231,]),'NUMBER':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,104,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,228,231,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,349,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[70,-22,-1,-15,70,70,70,70,-23,-21,-13,70,70,70,-19,-17,70,-20,-16,70,-11,70,-9,70,-10,70,-8,-24,-12,-6,70,-244,-18,-14,70,70,70,70,70,70,-53,-52,-51,70,70,-7,-292,-291,-2,70,70,70,70,70,70,-270,-269,70,-245,-246,70,70,70,70,70,70,70,-261,-262,70,70,70,70,70,-265,-266,-25,70,70,70,70,70,70,70,70,70,70,70,70,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,70,70,-1,-54,70,70,70,70,-232,-233,70,-283,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,-271,-272,70,70,70,70,70,70,70,-287,-286,-26,-263,-264,-268,-267,-284,-285,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,-290,-288,70,70,70,70,-273,70,70,70,70,70,-251,-274,-247,70,70,70,70,70,70,70,70,70,70,-293,70,70,-254,-289,-275,-249,-250,-248,70,-294,70,-255,70,70,70,70,-256,-252,-276,-253,]),'LBRACKET':([0,2,3,4,5,6,7,8,10,11,13,15,16,19,20,21,23,24,25,26,28,29,30,31,36,38,40,41,43,44,45,48,49,50,54,58,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,83,84,85,87,88,89,90,92,93,94,95,98,102,103,105,107,108,109,110,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,159,160,163,164,168,169,170,171,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,216,218,219,222,226,227,229,238,239,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[4,-22,-28,-1,-15,4,4,-72,4,4,-23,-71,-27,-21,-42,-13,4,-41,4,4,-19,-17,4,-20,-16,-30,4,158,-11,4,-9,4,168,-10,4,-8,-31,-24,-32,-33,-12,-6,4,-35,-34,-244,-18,-14,-37,-36,-43,-44,4,4,-38,-29,4,4,4,4,-53,-52,-51,4,-39,226,-40,-67,-66,238,-41,-7,-292,-291,-2,4,4,4,4,4,4,-270,-269,4,-245,-246,4,4,4,4,4,4,-85,4,-261,-262,4,-84,4,4,238,4,4,-265,-266,-25,4,4,4,4,4,4,4,4,4,4,4,4,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,4,4,-1,-47,-46,-54,238,4,-81,-55,4,-80,-232,-233,4,-283,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,-271,-272,4,4,4,4,4,4,4,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,4,4,-70,-83,-56,4,-69,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,-86,4,-89,-290,-288,-73,4,4,4,-48,-82,-57,-68,4,-273,4,4,4,4,4,-251,-274,-247,4,-295,4,4,4,4,4,4,4,4,4,-296,-293,4,4,-254,-289,-275,-249,-250,-248,-297,4,-294,4,-255,4,4,4,-298,4,-256,-252,-276,-253,]),'BXOR':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,60,61,63,64,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,135,136,140,142,144,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,291,292,293,294,301,303,305,315,318,319,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,368,369,370,371,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,454,455,456,457,458,462,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,171,-104,-31,-32,-33,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,265,-172,-129,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-180,-144,399,-174,-96,-87,-88,-74,-183,-75,171,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,265,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-173,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,399,-96,-295,-296,-297,-297,-298,-298,]),'WHILE':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,180,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[52,-22,-15,52,-23,-21,-13,-19,-17,-20,-16,-11,52,-9,-10,-8,-24,-12,-6,52,-244,-18,-14,-7,-292,-291,-2,52,-270,-269,-245,-246,-261,-262,-265,-266,-25,324,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,52,52,-290,-288,52,52,-273,52,52,-251,-274,-247,52,52,52,52,52,52,-293,52,-254,-289,-275,-249,-250,-248,52,-294,52,-255,52,52,52,52,-256,-252,-276,-253,]),'COLON':([3,16,20,24,38,61,63,64,70,71,78,79,80,81,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,137,139,140,141,142,144,145,156,166,209,212,216,218,221,222,223,224,227,229,232,234,235,236,239,288,290,291,292,293,294,297,298,302,305,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,413,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,466,467,468,480,482,506,515,517,521,526,537,],[-28,-27,-42,126,-30,-31,-32,-33,-35,-34,-37,-36,-43,-44,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,-226,-129,-202,-96,-178,-113,-109,-114,-110,342,-47,-46,-77,-76,-97,-98,-81,-55,-65,-63,352,-64,-80,-198,-162,-180,-144,-186,-174,-192,-210,-204,-88,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,434,-197,-209,-173,-89,-48,-82,-57,-68,-193,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,-211,493,-199,-203,-295,-296,-205,534,536,-297,-298,]),'BNOT':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[30,-22,-1,-15,30,30,30,30,-23,-21,-13,30,30,30,-19,-17,30,-20,-16,30,-11,30,-9,30,-10,-8,-24,-12,-6,30,-244,-18,-14,30,30,30,30,30,30,-53,-52,-51,-7,-292,-291,-2,30,30,30,30,30,30,-270,-269,30,-245,-246,30,30,30,30,30,30,30,-261,-262,30,30,30,30,30,-265,-266,-25,30,30,30,30,30,30,30,30,30,30,30,30,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,30,30,-1,-54,30,30,-232,-233,30,-283,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,-271,-272,30,30,30,30,30,30,30,-287,-286,-26,-263,-264,-268,-267,-284,-285,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,-290,-288,30,30,30,30,-273,30,30,30,30,30,-251,-274,-247,30,30,30,30,30,30,30,30,30,30,-293,30,30,-254,-289,-275,-249,-250,-248,30,-294,30,-255,30,30,30,30,-256,-252,-276,-253,]),'LSHIFT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,292,301,303,305,315,319,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,377,378,411,413,417,424,427,429,433,448,449,450,451,452,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,122,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,264,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,264,-96,-87,-88,-74,-75,264,264,264,264,264,264,-45,-70,-83,-56,-69,-117,-118,-116,264,264,264,264,264,264,-132,-131,-130,-124,-125,-86,-89,-73,-48,-82,-57,-68,264,264,264,264,264,-96,-295,-296,-297,-297,-298,-298,]),'NEW':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[54,-22,-1,-15,98,54,98,98,-23,-21,-13,98,98,98,-19,-17,98,-20,-16,98,-11,54,-9,98,-10,98,-8,-24,-12,-6,54,-244,-18,-14,98,98,98,98,54,98,-53,-52,-51,98,-7,-292,-291,-2,98,98,98,98,98,54,-270,-269,98,-245,-246,98,98,98,98,98,98,98,-261,-262,98,98,54,54,98,-265,-266,-25,54,98,98,98,98,98,98,98,98,98,98,54,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,98,98,-1,-54,98,98,-232,-233,98,-283,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-271,-272,98,98,98,98,98,98,98,-287,-286,-26,-263,-264,-268,-267,-284,-285,98,98,98,54,54,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-290,-288,54,98,54,98,-273,54,54,98,98,98,-251,-274,-247,54,54,98,98,54,98,98,54,54,54,-293,98,54,-254,-289,-275,-249,-250,-248,54,-294,54,-255,54,54,54,54,-256,-252,-276,-253,]),'DIV':([3,8,12,15,16,20,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,134,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,248,249,281,282,283,301,303,305,315,319,338,345,346,350,353,357,358,359,377,378,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-119,151,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,251,-115,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,251,251,-122,-121,-120,-96,-87,-88,-74,-75,-45,-70,-83,-56,-69,-117,-118,-116,251,251,-86,-89,-73,-48,-82,-57,-68,-96,-295,-296,-297,-297,-298,-298,]),'NULL':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[71,-22,-1,-15,71,71,71,71,-23,-21,-13,71,71,71,-19,-17,71,-20,-16,71,-11,71,-9,71,-10,71,-8,-24,-12,-6,71,-244,-18,-14,71,71,71,71,71,71,-53,-52,-51,71,-7,-292,-291,-2,71,71,71,71,71,71,-270,-269,71,-245,-246,71,71,71,71,71,71,71,-261,-262,71,71,71,71,71,-265,-266,-25,71,71,71,71,71,71,71,71,71,71,71,71,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,71,71,-1,-54,71,71,-232,-233,71,-283,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,-271,-272,71,71,71,71,71,71,71,-287,-286,-26,-263,-264,-268,-267,-284,-285,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,-290,-288,71,71,71,71,-273,71,71,71,71,71,-251,-274,-247,71,71,71,71,71,71,71,71,71,71,-293,71,71,-254,-289,-275,-249,-250,-248,71,-294,71,-255,71,71,71,71,-256,-252,-276,-253,]),'TRUE':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[63,-22,-1,-15,63,63,63,63,-23,-21,-13,63,63,63,-19,-17,63,-20,-16,63,-11,63,-9,63,-10,63,-8,-24,-12,-6,63,-244,-18,-14,63,63,63,63,63,63,-53,-52,-51,63,-7,-292,-291,-2,63,63,63,63,63,63,-270,-269,63,-245,-246,63,63,63,63,63,63,63,-261,-262,63,63,63,63,63,-265,-266,-25,63,63,63,63,63,63,63,63,63,63,63,63,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,63,63,-1,-54,63,63,-232,-233,63,-283,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,-271,-272,63,63,63,63,63,63,63,-287,-286,-26,-263,-264,-268,-267,-284,-285,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,-290,-288,63,63,63,63,-273,63,63,63,63,63,-251,-274,-247,63,63,63,63,63,63,63,63,63,63,-293,63,63,-254,-289,-275,-249,-250,-248,63,-294,63,-255,63,63,63,63,-256,-252,-276,-253,]),'MINUS':([0,2,3,4,5,6,7,8,10,11,12,13,15,16,19,20,21,22,23,24,25,26,27,28,29,30,31,35,36,38,40,41,43,44,45,46,48,49,50,58,60,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,82,83,84,85,87,88,89,90,92,93,94,95,97,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,120,121,122,123,124,125,126,127,128,133,134,140,142,143,145,146,147,148,149,150,151,152,155,156,158,159,160,163,164,166,168,169,170,171,172,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,209,210,213,215,216,218,219,221,222,223,224,226,227,229,238,239,240,241,243,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,281,282,283,301,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,357,358,359,368,369,370,377,378,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,464,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[6,-22,-28,-1,-15,6,6,-72,6,6,-94,-23,-71,-27,-21,-42,-13,124,6,-41,6,6,-119,-19,-17,6,-20,-126,-16,-30,6,-95,-11,6,-9,-105,6,-78,-10,-8,-104,-31,-24,-32,-33,-12,-6,6,-35,-34,-244,-18,-14,-37,-36,-43,-44,-99,6,6,-38,-29,6,6,6,6,-53,-52,-51,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-7,-111,-107,-292,-291,-2,6,6,6,6,6,-108,6,-106,-123,-270,-115,274,-96,-269,-113,6,-245,-246,6,6,6,6,6,-109,6,-85,6,-261,-262,-114,6,-84,6,6,-79,-76,6,6,-265,-266,-25,6,6,6,6,6,6,6,6,6,6,6,6,-216,-221,-222,-100,-219,-217,-224,-215,-218,-220,-223,-101,-214,-225,6,-110,6,-99,-1,-47,-46,-54,-77,-76,-97,-98,6,-81,-55,6,-80,-232,-233,6,274,274,274,-127,-128,-283,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-271,-272,6,6,6,6,6,6,6,-122,-121,-120,-96,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,6,6,-70,-83,-56,6,-69,-117,-118,-116,274,274,274,-124,-125,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-86,6,-89,-290,-288,-73,6,6,6,-48,-82,-57,-68,6,-273,6,6,6,6,6,-96,-251,-274,-247,6,-295,6,6,6,6,6,6,6,6,6,-296,-293,6,6,-254,-289,-275,-249,-250,-248,-297,6,-294,6,-255,6,6,6,-298,6,-256,-252,-276,-253,]),'MULT':([3,8,12,15,16,20,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,134,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,248,249,281,282,283,301,303,305,315,319,338,345,346,350,353,357,358,359,377,378,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-119,152,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,253,-115,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,253,253,-122,-121,-120,-96,-87,-88,-74,-75,-45,-70,-83,-56,-69,-117,-118,-116,253,253,-86,-89,-73,-48,-82,-57,-68,-96,-295,-296,-297,-297,-298,-298,]),'DEBUGGER':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[14,-22,-15,14,-23,-21,-13,-19,-17,-20,-16,-11,14,-9,-10,-8,-24,-12,-6,14,-244,-18,-14,-7,-292,-291,-2,14,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,14,14,-290,-288,14,14,-273,14,14,-251,-274,-247,14,14,14,14,14,14,-293,14,-254,-289,-275,-249,-250,-248,14,-294,14,-255,14,14,14,14,-256,-252,-276,-253,]),'CASE':([2,5,7,13,19,21,28,29,31,36,43,45,50,58,59,62,65,67,72,75,77,111,114,115,116,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,414,416,435,471,472,473,475,496,498,508,514,516,518,519,520,522,523,524,529,532,534,536,541,542,543,544,545,547,],[-22,-15,-5,-23,-21,-13,-19,-17,-20,-16,-11,-9,-10,-8,-4,-24,-12,-6,-244,-18,-14,-7,-292,-291,-2,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,-290,-288,-273,-251,-274,495,-247,495,-279,-293,-254,-289,-280,-275,495,-249,-250,-248,-294,-255,-1,-1,-256,-252,-281,-276,-282,-253,]),'LE':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,190,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,258,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,397,-144,-96,-87,-88,-74,-75,258,258,258,258,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,258,258,258,258,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,258,258,258,258,-96,-295,-296,-297,-297,-298,-298,]),'RPAREN':([3,16,20,38,61,63,64,70,71,78,79,80,81,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,137,139,140,141,142,144,145,153,156,160,166,208,209,216,218,221,222,223,224,227,229,239,279,284,286,287,305,306,307,317,321,338,339,344,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,387,413,424,425,427,428,429,433,437,460,461,465,469,470,474,479,480,482,489,491,506,509,511,513,526,530,537,],[-28,-27,-42,-30,-31,-32,-33,-35,-34,-37,-36,-43,-44,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,-226,-129,-202,-96,-178,-113,285,-109,305,-114,338,-110,-47,-46,-77,-76,-97,-98,-81,-55,-80,383,384,-299,388,-88,413,-90,418,419,-45,421,426,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,440,-89,-48,476,-82,478,-57,-68,-300,-257,-258,492,-91,494,500,505,-203,-295,512,-1,-296,-1,531,533,-297,540,-298,]),'URSHIFT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,292,301,303,305,315,319,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,377,378,411,413,417,424,427,429,433,448,449,450,451,452,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,120,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,262,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,262,-96,-87,-88,-74,-75,262,262,262,262,262,262,-45,-70,-83,-56,-69,-117,-118,-116,262,262,262,262,262,262,-132,-131,-130,-124,-125,-86,-89,-73,-48,-82,-57,-68,262,262,262,262,262,-96,-295,-296,-297,-297,-298,-298,]),'SEMI':([0,1,2,3,5,7,8,12,13,14,15,16,18,19,20,21,22,24,26,27,28,29,31,34,35,36,38,41,43,44,45,46,47,49,50,51,53,55,56,58,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,147,148,155,156,159,163,164,165,166,169,172,173,176,177,178,179,196,204,209,211,213,214,216,218,221,222,223,224,227,229,239,240,241,244,245,246,247,248,249,250,270,271,280,281,282,283,288,290,291,292,293,294,295,296,297,298,299,300,301,302,303,305,310,311,312,313,314,315,318,319,320,322,323,325,326,327,328,329,330,331,332,333,334,335,336,337,338,340,341,345,346,350,353,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,383,386,390,391,392,404,411,413,414,416,417,418,421,422,424,427,429,433,435,436,441,442,443,445,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,466,468,471,472,475,477,480,482,483,485,486,487,490,492,500,501,502,504,506,508,510,512,514,515,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[72,-206,-22,-28,-15,72,-72,-94,-23,115,-71,-27,-150,-21,-42,-13,-133,-41,143,-119,-19,-17,-20,147,-126,-16,-30,-95,-11,72,-9,-105,163,-78,-10,-230,-188,-212,-200,-8,-104,-31,-24,-32,-33,-12,176,-6,72,-194,-35,-34,-244,-176,-167,-18,-182,-14,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-7,-111,-107,-292,-291,-2,240,-238,-234,-108,72,-106,-123,-157,-190,-196,-137,-270,-115,-184,-172,-208,270,-226,-129,-202,-96,-269,-178,-113,-245,-246,-1,-109,-85,-261,-262,313,-114,-84,-79,-76,-265,-266,323,-25,-100,-101,-110,340,-99,-201,-47,-46,-77,-76,-97,-98,-81,-55,-80,-232,-233,-239,-136,-135,-134,-127,-128,-283,-271,-272,-231,-122,-121,-120,-198,-162,-180,-144,-186,-174,-228,404,-192,-210,-260,-259,-96,-204,-87,-88,-287,-286,-26,-263,-264,-74,-183,-75,-195,-268,-267,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-213,-45,-284,-285,-70,-83,-56,-69,-235,-242,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,72,72,-236,443,-240,-1,-86,-89,-290,-288,-73,72,72,-207,-48,-82,-57,-68,-273,72,72,-193,-1,-241,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,491,-257,-258,-187,-229,-96,-211,-199,-251,-274,-247,72,-203,-295,72,509,-237,-240,-243,72,522,72,72,72,-296,-293,-241,72,-254,-205,-289,-275,-249,-250,-248,-297,72,-294,72,-255,72,72,72,-298,72,-256,-252,-276,-253,]),'WITH':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[32,-22,-15,32,-23,-21,-13,-19,-17,-20,-16,-11,32,-9,-10,-8,-24,-12,-6,32,-244,-18,-14,-7,-292,-291,-2,32,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,32,32,-290,-288,32,32,-273,32,32,-251,-274,-247,32,32,32,32,32,32,-293,32,-254,-289,-275,-249,-250,-248,32,-294,32,-255,32,32,32,32,-256,-252,-276,-253,]),'MODEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,198,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,198,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,198,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,198,-295,-296,-297,-297,-298,-298,]),'NE':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,294,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,183,-167,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,267,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-144,401,-96,-87,-88,-74,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,183,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,-158,-159,-161,-160,-124,-125,267,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,401,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'MULTEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,200,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,200,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,200,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,200,-295,-296,-297,-297,-298,-298,]),'EQEQ':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,294,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,182,-167,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,266,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-144,400,-96,-87,-88,-74,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,182,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,-158,-159,-161,-160,-124,-125,266,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,400,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'SWITCH':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[57,-22,-15,57,-23,-21,-13,-19,-17,-20,-16,-11,57,-9,-10,-8,-24,-12,-6,57,-244,-18,-14,-7,-292,-291,-2,57,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,57,57,-290,-288,57,57,-273,57,57,-251,-274,-247,57,57,57,57,57,57,-293,57,-254,-289,-275,-249,-250,-248,57,-294,57,-255,57,57,57,57,-256,-252,-276,-253,]),'LSHIFTEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,202,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,202,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,202,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,202,-295,-296,-297,-297,-298,-298,]),'PLUS':([0,2,3,4,5,6,7,8,10,11,12,13,15,16,19,20,21,22,23,24,25,26,27,28,29,30,31,35,36,38,40,41,43,44,45,46,48,49,50,58,60,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,82,83,84,85,87,88,89,90,92,93,94,95,97,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,120,121,122,123,124,125,126,127,128,133,134,140,142,143,145,146,147,148,149,150,151,152,155,156,158,159,160,163,164,166,168,169,170,171,172,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,209,210,213,215,216,218,219,221,222,223,224,226,227,229,238,239,240,241,243,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,281,282,283,301,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,357,358,359,368,369,370,377,378,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,464,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[10,-22,-28,-1,-15,10,10,-72,10,10,-94,-23,-71,-27,-21,-42,-13,123,10,-41,10,10,-119,-19,-17,10,-20,-126,-16,-30,10,-95,-11,10,-9,-105,10,-78,-10,-8,-104,-31,-24,-32,-33,-12,-6,10,-35,-34,-244,-18,-14,-37,-36,-43,-44,-99,10,10,-38,-29,10,10,10,10,-53,-52,-51,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-7,-111,-107,-292,-291,-2,10,10,10,10,10,-108,10,-106,-123,-270,-115,273,-96,-269,-113,10,-245,-246,10,10,10,10,10,-109,10,-85,10,-261,-262,-114,10,-84,10,10,-79,-76,10,10,-265,-266,-25,10,10,10,10,10,10,10,10,10,10,10,10,-216,-221,-222,-100,-219,-217,-224,-215,-218,-220,-223,-101,-214,-225,10,-110,10,-99,-1,-47,-46,-54,-77,-76,-97,-98,10,-81,-55,10,-80,-232,-233,10,273,273,273,-127,-128,-283,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,-271,-272,10,10,10,10,10,10,10,-122,-121,-120,-96,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,10,10,-70,-83,-56,10,-69,-117,-118,-116,273,273,273,-124,-125,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,-86,10,-89,-290,-288,-73,10,10,10,-48,-82,-57,-68,10,-273,10,10,10,10,10,-96,-251,-274,-247,10,-295,10,10,10,10,10,10,10,10,10,-296,-293,10,10,-254,-289,-275,-249,-250,-248,-297,10,-294,10,-255,10,10,10,-298,10,-256,-252,-276,-253,]),'CATCH':([161,312,],[309,-26,]),'COMMA':([1,3,4,8,12,15,16,18,20,22,24,27,34,35,38,41,46,49,51,53,55,56,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,91,93,94,97,99,100,101,102,103,105,106,107,108,109,110,112,113,117,118,119,125,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,144,145,156,159,166,169,172,173,196,204,208,209,211,213,214,215,216,217,218,219,221,222,223,224,227,229,230,233,239,244,245,246,247,248,249,279,280,281,282,283,284,286,288,290,291,292,293,294,295,297,298,299,301,302,303,304,305,306,307,315,316,317,318,319,320,321,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,345,346,347,350,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,387,390,391,392,411,413,417,422,423,424,425,427,429,430,432,433,437,442,445,448,449,450,451,452,453,454,455,456,457,458,461,462,463,464,465,466,468,469,474,479,480,482,486,487,489,490,506,508,510,511,515,517,526,529,537,538,546,],[-206,-28,93,-72,-94,-71,-27,-150,-42,-133,-41,-119,149,-126,-30,-95,-105,-78,-230,-188,-212,-200,-104,-31,-32,-33,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,215,-53,219,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,242,-238,-234,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,272,-226,-129,-202,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,272,-110,272,-99,-201,93,-47,-49,-46,-54,-77,-76,-97,-98,-81,-55,349,-58,-80,-239,-136,-135,-134,-127,-128,272,-231,-122,-121,-120,385,-299,-198,-162,-180,-144,-186,-174,-228,-192,-210,406,-96,-204,-87,272,-88,412,-90,-74,272,272,-183,-75,-195,272,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-213,-45,272,-70,-83,272,-56,-69,272,-235,-242,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,385,-236,444,-240,-86,-89,-73,-207,-50,-48,385,-82,-57,-59,-60,-68,-300,-193,-241,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,272,-187,-229,-96,272,-211,-199,-91,272,385,-203,-295,-237,-240,272,-243,-296,-297,-241,272,-205,272,-297,-298,-298,-61,-62,]),'STREQ':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,294,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,185,-167,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,269,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-144,403,-96,-87,-88,-74,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,185,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,-158,-159,-161,-160,-124,-125,269,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,403,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'BOR':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,132,134,135,136,140,142,144,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,291,292,293,294,297,301,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,382,411,413,417,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-188,-104,-31,-32,-33,181,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,260,-137,-115,-184,-172,-129,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-180,-144,-186,-174,405,-96,-87,-88,-74,-183,-75,181,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,260,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-173,-86,-89,-73,-48,-82,-57,-68,405,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,-295,-296,-297,-297,-298,-298,]),'$end':([0,2,5,7,9,13,19,21,28,29,31,33,36,43,45,50,58,59,62,65,67,72,75,77,111,114,115,116,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,414,416,435,471,472,475,508,514,516,519,522,523,524,529,532,541,542,544,547,],[-1,-22,-15,-5,0,-23,-21,-13,-19,-17,-20,-3,-16,-11,-9,-10,-8,-4,-24,-12,-6,-244,-18,-14,-7,-292,-291,-2,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,-290,-288,-273,-251,-274,-247,-293,-254,-289,-275,-249,-250,-248,-294,-255,-256,-252,-276,-253,]),'FUNCTION':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[37,-22,-1,-15,96,37,96,96,-23,-21,-13,96,96,96,-19,-17,96,-20,-16,96,-11,37,-9,96,-10,96,-8,-24,-12,-6,37,-244,-18,-14,96,96,96,96,96,96,-53,-52,-51,96,-7,-292,-291,-2,96,96,96,96,96,37,-270,-269,96,-245,-246,96,96,96,96,96,96,96,-261,-262,96,96,96,96,96,-265,-266,-25,96,96,96,96,96,96,96,96,96,96,96,96,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,96,96,-1,-54,96,96,-232,-233,96,-283,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,-271,-272,96,96,96,96,96,96,96,-287,-286,-26,-263,-264,-268,-267,-284,-285,96,96,96,37,37,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,-290,-288,37,96,37,96,-273,37,37,96,96,96,-251,-274,-247,37,37,96,96,37,96,96,37,37,37,-293,96,37,-254,-289,-275,-249,-250,-248,37,-294,37,-255,37,37,37,37,-256,-252,-276,-253,]),'INSTANCEOF':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,186,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,254,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,393,-144,-96,-87,-88,-74,-75,254,254,254,254,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,254,254,254,254,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,254,254,254,254,-96,-295,-296,-297,-297,-298,-298,]),'GT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,187,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,255,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,394,-144,-96,-87,-88,-74,-75,255,255,255,255,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,255,255,255,255,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,255,255,255,255,-96,-295,-296,-297,-297,-298,-298,]),'STRING':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,104,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,228,231,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,349,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[79,-22,-1,-15,79,79,79,79,-23,-21,-13,79,79,79,-19,-17,79,-20,-16,79,-11,79,-9,79,-10,79,-8,-24,-12,-6,79,-244,-18,-14,79,79,79,79,79,79,-53,-52,-51,79,79,-7,-292,-291,-2,79,79,79,79,79,79,-270,-269,79,-245,-246,79,79,79,79,79,79,79,-261,-262,79,79,79,79,79,-265,-266,-25,79,79,79,79,79,79,79,79,79,79,79,79,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,79,79,-1,-54,79,79,79,79,-232,-233,79,-283,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,-271,-272,79,79,79,79,79,79,79,-287,-286,-26,-263,-264,-268,-267,-284,-285,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,-290,-288,79,79,79,79,-273,79,79,79,79,79,-251,-274,-247,79,79,79,79,79,79,79,79,79,79,-293,79,79,-254,-289,-275,-249,-250,-248,79,-294,79,-255,79,79,79,79,-256,-252,-276,-253,]),'FOR':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[39,-22,-15,39,-23,-21,-13,-19,-17,-20,-16,-11,39,-9,-10,-8,-24,-12,-6,39,-244,-18,-14,-7,-292,-291,-2,39,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,39,39,-290,-288,39,39,-273,39,39,-251,-274,-247,39,39,39,39,39,39,-293,39,-254,-289,-275,-249,-250,-248,39,-294,39,-255,39,39,39,39,-256,-252,-276,-253,]),'PLUSPLUS':([0,2,3,4,5,6,7,8,10,11,12,13,15,16,19,20,21,23,24,25,26,28,29,30,31,36,38,40,41,43,44,45,48,49,50,58,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,82,83,84,85,87,88,89,90,92,93,94,95,99,101,102,103,105,107,108,109,110,111,114,115,116,120,121,122,123,124,126,133,142,143,146,147,148,149,150,151,152,155,158,159,160,163,164,168,169,170,171,172,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,213,215,216,218,219,221,222,226,227,229,238,239,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,301,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,464,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[40,-22,-28,-1,-15,40,40,-72,40,40,-94,-23,-71,-27,-21,-42,-13,40,-41,40,40,-19,-17,40,-20,-16,-30,40,-95,-11,40,-9,40,-78,-10,-8,-31,-24,-32,-33,-12,-6,40,-35,-34,-244,-18,-14,-37,-36,-43,-44,196,40,40,-38,-29,40,40,40,40,-53,-52,-51,223,-92,-39,-93,-40,-67,-66,-76,-41,-7,-292,-291,-2,40,40,40,40,40,40,-270,223,-269,40,-245,-246,40,40,40,40,40,40,-85,40,-261,-262,40,-84,40,40,-79,-76,40,40,-265,-266,-25,40,40,40,40,40,40,40,40,40,40,40,40,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,40,40,196,-1,-47,-46,-54,-77,-76,40,-81,-55,40,-80,-232,-233,40,-283,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,-271,-272,40,40,40,40,40,40,40,223,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,40,40,-70,-83,-56,40,-69,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,-86,40,-89,-290,-288,-73,40,40,40,-48,-82,-57,-68,40,-273,40,40,40,40,40,223,-251,-274,-247,40,-295,40,40,40,40,40,40,40,40,40,-296,-293,40,40,-254,-289,-275,-249,-250,-248,-297,40,-294,40,-255,40,40,40,-298,40,-256,-252,-276,-253,]),'PERIOD':([3,8,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,85,87,102,103,105,107,108,109,110,159,169,173,216,218,222,227,229,239,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,482,506,508,526,529,537,],[-28,-72,-71,-27,-42,-41,-30,157,167,-31,-32,-33,-35,-34,-37,-36,-43,-44,-38,-29,-39,225,-40,-67,-66,237,-41,-85,-84,237,-47,-46,237,-81,-55,-80,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,-295,-296,-297,-297,-298,-298,]),'RBRACE':([2,3,5,7,13,16,19,20,21,28,29,31,36,38,43,44,45,50,58,59,61,62,63,64,65,67,70,71,72,75,77,78,79,80,81,85,87,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,147,148,156,162,163,164,166,176,177,179,209,216,218,221,222,223,224,227,229,230,233,239,240,241,250,270,271,305,310,311,312,313,314,322,323,338,340,341,345,346,349,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,380,381,382,386,413,414,416,424,427,429,430,432,433,435,436,438,439,441,471,472,473,475,477,480,481,482,483,484,496,497,498,499,502,503,504,506,507,508,514,516,518,519,520,522,523,524,525,526,527,528,529,532,534,535,536,537,538,539,541,542,543,544,545,546,547,],[-22,-28,-15,-5,-23,-27,-21,-42,-13,-19,-17,-20,-16,-30,-11,-1,-9,-10,-8,-4,-31,-24,-32,-33,-12,-6,-35,-34,-244,-18,-14,-37,-36,-43,-44,-38,-29,-112,-96,-102,-92,-39,-93,229,-40,-103,-67,-66,-76,-41,-7,-111,-107,-292,-291,-2,-108,-106,-123,-157,-190,-196,-137,-270,-115,-184,-172,-208,-129,-202,-96,-269,-178,-113,-245,-246,-109,312,-261,-262,-114,-265,-266,-25,-110,-47,-46,-77,-76,-97,-98,-81,-55,350,-58,-80,-232,-233,-283,-271,-272,-88,-287,-286,-26,-263,-264,-268,-267,-45,-284,-285,-70,-83,429,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-197,-209,-173,-1,-89,-290,-288,-48,-82,-57,-59,-60,-68,-273,-1,-301,482,-1,-251,-274,-1,-247,-1,-203,506,-295,-1,508,-278,519,-279,-277,-1,526,-1,-296,529,-293,-254,-289,-280,-275,-1,-249,-250,-248,537,-297,538,-1,-294,-255,-1,544,-1,-298,-61,546,-256,-252,-281,-276,-282,-62,-253,]),'ELSE':([2,5,13,19,21,28,29,31,36,43,50,62,65,72,75,77,114,115,116,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,414,416,435,471,472,475,508,514,516,519,522,523,524,529,532,541,542,544,547,],[-22,-15,-23,-21,-13,-19,-17,-20,-16,-11,-10,-24,-12,-244,-18,-14,-292,-291,-2,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,-290,-288,-273,-251,-274,501,-293,-254,-289,-275,-249,-250,-248,-294,-255,-256,-252,-276,-253,]),'TRY':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[42,-22,-15,42,-23,-21,-13,-19,-17,-20,-16,-11,42,-9,-10,-8,-24,-12,-6,42,-244,-18,-14,-7,-292,-291,-2,42,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,42,42,-290,-288,42,42,-273,42,42,-251,-274,-247,42,42,42,42,42,42,-293,42,-254,-289,-275,-249,-250,-248,42,-294,42,-255,42,42,42,42,-256,-252,-276,-253,]),'BAND':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,144,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,291,292,294,301,303,305,315,318,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,371,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,454,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-176,-167,192,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,-172,-129,-96,278,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,398,-144,-174,-96,-87,-88,-74,192,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,278,-158,-159,-161,-160,-124,-125,-173,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,-175,398,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'GE':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,189,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,257,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,396,-144,-96,-87,-88,-74,-75,257,257,257,257,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,257,257,257,257,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,257,257,257,257,-96,-295,-296,-297,-297,-298,-298,]),'LT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,188,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,256,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,395,-144,-96,-87,-88,-74,-75,256,256,256,256,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,256,256,256,256,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,256,256,256,256,-96,-295,-296,-297,-297,-298,-298,]),'REGEX':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[78,-22,-1,-15,78,78,78,78,-23,-21,-13,78,78,78,-19,-17,78,-20,-16,78,-11,78,-9,78,-10,78,-8,-24,-12,-6,78,-244,-18,-14,78,78,78,78,78,78,-53,-52,-51,78,-7,-292,-291,-2,78,78,78,78,78,78,-270,-269,78,-245,-246,78,78,78,78,78,78,78,-261,-262,78,78,78,78,78,-265,-266,-25,78,78,78,78,78,78,78,78,78,78,78,78,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,78,78,-1,-54,78,78,-232,-233,78,-283,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,-271,-272,78,78,78,78,78,78,78,-287,-286,-26,-263,-264,-268,-267,-284,-285,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,-290,-288,78,78,78,78,-273,78,78,78,78,78,-251,-274,-247,78,78,78,78,78,78,78,78,78,78,-293,78,78,-254,-289,-275,-249,-250,-248,78,-294,78,-255,78,78,78,78,-256,-252,-276,-253,]),'STRNEQ':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,294,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,184,-167,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,268,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-144,402,-96,-87,-88,-74,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,184,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,-158,-159,-161,-160,-124,-125,268,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,402,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'LPAREN':([0,2,3,4,5,6,7,8,10,11,13,15,16,19,20,21,23,24,25,26,28,29,30,31,32,36,37,38,39,40,41,43,44,45,48,49,50,52,54,57,58,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,83,84,85,86,87,88,89,90,92,93,94,95,96,98,102,103,105,107,108,109,110,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,154,155,158,159,160,163,164,168,169,170,171,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,216,218,219,220,222,226,227,229,232,234,236,238,239,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,303,305,309,310,311,312,313,314,315,319,322,323,324,338,340,341,342,343,345,346,348,350,351,352,353,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[83,-22,-28,-1,-15,83,83,-72,83,83,-23,-71,-27,-21,-42,-13,83,-41,83,83,-19,-17,83,-20,146,-16,153,-30,155,83,160,-11,83,-9,83,160,-10,170,83,175,-8,-31,-24,-32,-33,-12,-6,83,-35,-34,-244,-18,-14,-37,-36,-43,-44,83,83,-38,210,-29,83,83,83,83,-53,-52,-51,153,83,-39,160,-40,-67,-66,160,-41,-7,-292,-291,-2,83,83,83,83,83,83,-270,-269,83,-245,-246,83,83,83,83,287,83,83,-85,83,-261,-262,83,-84,83,83,160,83,83,-265,-266,-25,83,83,83,83,83,83,83,83,83,83,83,83,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,83,83,-1,-47,-46,-54,344,160,83,-81,-55,-65,-63,-64,83,-80,-232,-233,83,-283,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,-271,-272,83,83,83,83,83,83,83,-87,-88,415,-287,-286,-26,-263,-264,-74,-75,-268,-267,420,-45,-284,-285,83,83,-70,-83,428,-56,431,83,-69,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,-86,83,-89,-290,-288,-73,83,83,83,-48,-82,-57,-68,83,-273,83,83,83,83,83,-251,-274,-247,83,-295,83,83,83,83,83,83,83,83,83,-296,-293,83,83,-254,-289,-275,-249,-250,-248,-297,83,-294,83,-255,83,83,83,-298,83,-256,-252,-276,-253,]),'IN':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,288,290,291,292,293,294,297,298,301,302,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,392,411,413,417,424,427,429,433,442,445,448,449,450,451,452,453,454,455,456,457,458,462,464,466,468,482,490,506,508,515,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,191,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,259,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-198,-162,-180,-144,-186,-174,-192,-210,407,-204,-87,-88,-74,-75,259,259,259,259,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,259,259,259,259,-124,-125,446,-86,-89,-73,-48,-82,-57,-68,-193,488,-149,-146,-145,-148,-147,-175,-181,259,259,259,259,-187,-96,-211,-199,-295,-243,-296,-297,-205,-297,-298,-298,]),'VAR':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,155,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[17,-22,-15,17,-23,-21,-13,-19,-17,-20,-16,-11,17,-9,-10,-8,-24,-12,-6,17,-244,-18,-14,-7,-292,-291,-2,17,-270,-269,-245,-246,289,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,17,17,-290,-288,17,17,-273,17,17,-251,-274,-247,17,17,17,17,17,17,-293,17,-254,-289,-275,-249,-250,-248,17,-294,17,-255,17,17,17,17,-256,-252,-276,-253,]),'MINUSMINUS':([0,2,3,4,5,6,7,8,10,11,12,13,15,16,19,20,21,23,24,25,26,28,29,30,31,36,38,40,41,43,44,45,48,49,50,58,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,82,83,84,85,87,88,89,90,92,93,94,95,99,101,102,103,105,107,108,109,110,111,114,115,116,120,121,122,123,124,126,133,142,143,146,147,148,149,150,151,152,155,158,159,160,163,164,168,169,170,171,172,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,213,215,216,218,219,221,222,226,227,229,238,239,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,301,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,464,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[84,-22,-28,-1,-15,84,84,-72,84,84,-94,-23,-71,-27,-21,-42,-13,84,-41,84,84,-19,-17,84,-20,-16,-30,84,-95,-11,84,-9,84,-78,-10,-8,-31,-24,-32,-33,-12,-6,84,-35,-34,-244,-18,-14,-37,-36,-43,-44,204,84,84,-38,-29,84,84,84,84,-53,-52,-51,224,-92,-39,-93,-40,-67,-66,-76,-41,-7,-292,-291,-2,84,84,84,84,84,84,-270,224,-269,84,-245,-246,84,84,84,84,84,84,-85,84,-261,-262,84,-84,84,84,-79,-76,84,84,-265,-266,-25,84,84,84,84,84,84,84,84,84,84,84,84,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,84,84,204,-1,-47,-46,-54,-77,-76,84,-81,-55,84,-80,-232,-233,84,-283,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,-271,-272,84,84,84,84,84,84,84,224,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,84,84,-70,-83,-56,84,-69,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,-86,84,-89,-290,-288,-73,84,84,84,-48,-82,-57,-68,84,-273,84,84,84,84,84,224,-251,-274,-247,84,-295,84,84,84,84,84,84,84,84,84,-296,-293,84,84,-254,-289,-275,-249,-250,-248,-297,84,-294,84,-255,84,84,84,-298,84,-256,-252,-276,-253,]),'EQ':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,118,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,392,411,413,417,424,427,429,433,464,482,487,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,205,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,243,205,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,205,-87,-88,-74,-75,-45,-70,-83,-56,-69,447,-86,-89,-73,-48,-82,-57,-68,205,-295,447,-296,-297,-297,-298,-298,]),'ID':([0,2,4,5,6,7,10,11,13,17,19,21,23,25,26,28,29,30,31,36,37,40,43,44,45,47,48,50,54,58,62,65,66,67,68,72,75,77,83,84,88,89,90,92,93,94,95,96,98,104,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,153,155,157,158,160,163,164,167,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,225,226,228,231,237,238,240,241,242,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,287,289,310,311,312,313,314,322,323,340,341,342,343,344,349,352,383,385,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,415,416,418,420,421,431,434,435,436,441,443,444,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[85,-22,-1,-15,85,85,85,85,-23,85,-21,-13,85,85,85,-19,-17,85,-20,-16,85,85,-11,85,-9,85,85,-10,85,-8,-24,-12,85,-6,85,-244,-18,-14,85,85,85,85,85,85,-53,-52,-51,85,85,85,-7,-292,-291,-2,85,85,85,85,85,85,-270,-269,85,-245,-246,85,85,85,85,85,85,85,85,85,-261,-262,85,85,85,85,85,85,-265,-266,-25,85,85,85,85,85,85,85,85,85,85,85,85,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,85,85,-1,-54,85,85,85,85,85,85,-232,-233,85,85,-283,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,-271,-272,85,85,85,85,85,85,85,85,85,-287,-286,-26,-263,-264,-268,-267,-284,-285,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,-290,85,-288,85,85,85,85,85,-273,85,85,85,85,85,85,-251,-274,-247,85,85,85,85,85,85,85,85,85,85,-293,85,85,-254,-289,-275,-249,-250,-248,85,-294,85,-255,85,85,85,85,-256,-252,-276,-253,]),'IF':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[86,-22,-15,86,-23,-21,-13,-19,-17,-20,-16,-11,86,-9,-10,-8,-24,-12,-6,86,-244,-18,-14,-7,-292,-291,-2,86,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,86,86,-290,-288,86,86,-273,86,86,-251,-274,-247,86,86,86,86,86,86,-293,86,-254,-289,-275,-249,-250,-248,86,-294,86,-255,86,86,86,86,-256,-252,-276,-253,]),'AND':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,56,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,140,142,144,145,156,159,166,169,172,173,196,204,209,213,214,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,288,290,291,292,293,294,297,301,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,380,382,411,413,417,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,468,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-188,174,-104,-31,-32,-33,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,261,-137,-115,-184,-172,-129,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,174,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,389,-162,-180,-144,-186,-174,-192,-96,-87,-88,-74,-183,-75,-195,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,261,-173,-86,-89,-73,-48,-82,-57,-68,-193,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,389,-295,-296,-297,-297,-298,-298,]),'LBRACE':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,42,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,175,176,177,179,182,183,184,185,186,187,188,189,190,191,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,285,308,310,311,312,313,314,322,323,340,341,342,343,352,383,384,386,388,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,419,420,421,426,434,435,436,440,441,443,446,447,471,472,475,476,477,478,483,488,491,492,493,494,495,501,502,504,505,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[44,-22,-1,-15,104,44,104,104,-23,-21,-13,104,104,104,-19,-17,104,-20,-16,104,44,-11,44,-9,104,-10,104,-8,-24,-12,-6,44,-244,-18,-14,104,104,104,104,104,-53,-52,-51,104,-7,-292,-291,-2,104,104,104,104,104,44,-270,-269,104,-245,-246,104,104,104,104,104,104,104,-261,-262,104,104,104,-265,-266,-25,104,104,104,104,104,104,104,104,104,104,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,104,104,-1,-54,104,104,-232,-233,104,-283,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,-271,-272,104,104,104,104,104,104,104,386,44,-287,-286,-26,-263,-264,-268,-267,-284,-285,104,104,104,44,436,44,441,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,-290,-288,44,473,104,44,477,104,-273,44,483,44,104,104,104,-251,-274,-247,502,44,504,44,104,104,44,104,44,104,44,44,44,528,-293,104,44,-254,-289,-275,-249,-250,-248,44,-294,44,-255,44,44,44,44,-256,-252,-276,-253,]),'FALSE':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[64,-22,-1,-15,64,64,64,64,-23,-21,-13,64,64,64,-19,-17,64,-20,-16,64,-11,64,-9,64,-10,64,-8,-24,-12,-6,64,-244,-18,-14,64,64,64,64,64,64,-53,-52,-51,64,-7,-292,-291,-2,64,64,64,64,64,64,-270,-269,64,-245,-246,64,64,64,64,64,64,64,-261,-262,64,64,64,64,64,-265,-266,-25,64,64,64,64,64,64,64,64,64,64,64,64,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,64,64,-1,-54,64,64,-232,-233,64,-283,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,-271,-272,64,64,64,64,64,64,64,-287,-286,-26,-263,-264,-268,-267,-284,-285,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,-290,-288,64,64,64,64,-273,64,64,64,64,64,-251,-274,-247,64,64,64,64,64,64,64,64,64,64,-293,64,64,-254,-289,-275,-249,-250,-248,64,-294,64,-255,64,64,64,64,-256,-252,-276,-253,]),'RSHIFT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,292,301,303,305,315,319,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,377,378,411,413,417,424,427,429,433,448,449,450,451,452,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,121,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,263,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,263,-96,-87,-88,-74,-75,263,263,263,263,263,263,-45,-70,-83,-56,-69,-117,-118,-116,263,263,263,263,263,263,-132,-131,-130,-124,-125,-86,-89,-73,-48,-82,-57,-68,263,263,263,263,263,-96,-295,-296,-297,-297,-298,-298,]),'PLUSEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,201,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,201,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,201,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,201,-295,-296,-297,-297,-298,-298,]),'THIS':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[20,-22,-1,-15,20,20,20,20,-23,-21,-13,20,20,20,-19,-17,20,-20,-16,20,-11,20,-9,20,-10,20,-8,-24,-12,-6,20,-244,-18,-14,20,20,20,20,20,20,-53,-52,-51,20,-7,-292,-291,-2,20,20,20,20,20,20,-270,-269,20,-245,-246,20,20,20,20,20,20,20,-261,-262,20,20,20,20,20,-265,-266,-25,20,20,20,20,20,20,20,20,20,20,20,20,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,20,20,-1,-54,20,20,-232,-233,20,-283,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,-271,-272,20,20,20,20,20,20,20,-287,-286,-26,-263,-264,-268,-267,-284,-285,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,-290,-288,20,20,20,20,-273,20,20,20,20,20,-251,-274,-247,20,20,20,20,20,20,20,20,20,20,-293,20,20,-254,-289,-275,-249,-250,-248,20,-294,20,-255,20,20,20,20,-256,-252,-276,-253,]),'MINUSEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,197,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,197,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,197,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,197,-295,-296,-297,-297,-298,-298,]),'CONDOP':([1,3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,56,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,140,141,142,144,145,156,159,166,169,172,173,196,204,209,213,214,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,288,290,291,292,293,294,297,301,302,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,380,382,411,413,417,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,468,482,506,508,526,529,537,],[89,-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-188,-200,-104,-31,-32,-33,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-129,275,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-201,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-198,-162,-180,-144,-186,-174,-192,-96,409,-87,-88,-74,-183,-75,-195,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-197,-173,-86,-89,-73,-48,-82,-57,-68,-193,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,-199,-295,-296,-297,-297,-298,-298,]),'XOREQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,199,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,199,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,199,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,199,-295,-296,-297,-297,-298,-298,]),'OR':([1,3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,56,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,140,141,142,144,145,156,159,166,169,172,173,196,204,209,213,214,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,288,290,291,292,293,294,297,301,302,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,380,382,411,413,417,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,468,482,506,508,526,529,537,],[90,-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-188,-200,-104,-31,-32,-33,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-129,276,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-201,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-198,-162,-180,-144,-186,-174,-192,-96,410,-87,-88,-74,-183,-75,-195,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-197,-173,-86,-89,-73,-48,-82,-57,-68,-193,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,-199,-295,-296,-297,-297,-298,-298,]),'BREAK':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[66,-22,-15,66,-23,-21,-13,-19,-17,-20,-16,-11,66,-9,-10,-8,-24,-12,-6,66,-244,-18,-14,-7,-292,-291,-2,66,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,66,66,-290,-288,66,66,-273,66,66,-251,-274,-247,66,66,66,66,66,66,-293,66,-254,-289,-275,-249,-250,-248,66,-294,66,-255,66,66,66,66,-256,-252,-276,-253,]),'URSHIFTEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,195,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,195,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,195,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,195,-295,-296,-297,-297,-298,-298,]),'CONTINUE':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[47,-22,-15,47,-23,-21,-13,-19,-17,-20,-16,-11,47,-9,-10,-8,-24,-12,-6,47,-244,-18,-14,-7,-292,-291,-2,47,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,47,47,-290,-288,47,47,-273,47,47,-251,-274,-247,47,47,47,47,47,47,-293,47,-254,-289,-275,-249,-250,-248,47,-294,47,-255,47,47,47,47,-256,-252,-276,-253,]),'FINALLY':([161,311,312,516,],[308,308,-26,-289,]),'TYPEOF':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[23,-22,-1,-15,23,23,23,23,-23,-21,-13,23,23,23,-19,-17,23,-20,-16,23,-11,23,-9,23,-10,-8,-24,-12,-6,23,-244,-18,-14,23,23,23,23,23,23,-53,-52,-51,-7,-292,-291,-2,23,23,23,23,23,23,-270,-269,23,-245,-246,23,23,23,23,23,23,23,-261,-262,23,23,23,23,23,-265,-266,-25,23,23,23,23,23,23,23,23,23,23,23,23,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,23,23,-1,-54,23,23,-232,-233,23,-283,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,-271,-272,23,23,23,23,23,23,23,-287,-286,-26,-263,-264,-268,-267,-284,-285,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,-290,-288,23,23,23,23,-273,23,23,23,23,23,-251,-274,-247,23,23,23,23,23,23,23,23,23,23,-293,23,23,-254,-289,-275,-249,-250,-248,23,-294,23,-255,23,23,23,23,-256,-252,-276,-253,]),'error':([1,3,8,12,14,15,16,18,20,22,24,26,27,34,35,38,41,46,47,49,51,53,55,56,60,61,63,64,66,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,117,118,119,125,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,144,145,156,159,165,166,169,172,173,178,196,204,209,211,213,214,216,218,221,222,223,224,227,229,239,244,245,246,247,248,249,280,281,282,283,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,337,338,345,346,350,353,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,411,413,417,422,424,427,429,433,480,482,500,506,508,526,529,537,],[-206,-28,-72,-94,116,-71,-27,-150,-42,-133,-41,116,-119,116,-126,-30,-95,-105,116,-78,-230,-188,-212,-200,-104,-31,-32,-33,116,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,116,-238,-234,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,116,-226,-129,-202,-96,-178,-113,-109,-85,116,-114,-84,-79,-76,116,-100,-101,-110,116,-99,-201,-47,-46,-77,-76,-97,-98,-81,-55,-80,-239,-136,-135,-134,-127,-128,-231,-122,-121,-120,-87,-88,-74,-183,-75,-195,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-213,-45,-70,-83,-56,-69,-235,-242,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,-86,-89,-73,-207,-48,-82,-57,-68,-203,-295,116,-296,-297,-297,-298,-298,]),'NOT':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[48,-22,-1,-15,48,48,48,48,-23,-21,-13,48,48,48,-19,-17,48,-20,-16,48,-11,48,-9,48,-10,-8,-24,-12,-6,48,-244,-18,-14,48,48,48,48,48,48,-53,-52,-51,-7,-292,-291,-2,48,48,48,48,48,48,-270,-269,48,-245,-246,48,48,48,48,48,48,48,-261,-262,48,48,48,48,48,-265,-266,-25,48,48,48,48,48,48,48,48,48,48,48,48,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,48,48,-1,-54,48,48,-232,-233,48,-283,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,-271,-272,48,48,48,48,48,48,48,-287,-286,-26,-263,-264,-268,-267,-284,-285,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,-290,-288,48,48,48,48,-273,48,48,48,48,48,-251,-274,-247,48,48,48,48,48,48,48,48,48,48,-293,48,48,-254,-289,-275,-249,-250,-248,48,-294,48,-255,48,48,48,48,-256,-252,-276,-253,]),'ANDEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,203,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,203,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,203,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,203,-295,-296,-297,-297,-298,-298,]),'RBRACKET':([3,4,16,20,38,61,63,64,70,71,78,79,80,81,85,87,91,92,93,94,95,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,137,139,140,141,142,144,145,156,166,209,215,216,217,218,219,221,222,223,224,227,229,239,304,305,316,338,343,345,346,347,350,353,354,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,413,423,424,427,429,433,480,482,506,526,537,],[-28,-1,-27,-42,-30,-31,-32,-33,-35,-34,-37,-36,-43,-44,-38,-29,216,218,-53,-52,-51,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,-226,-129,-202,-96,-178,-113,-109,-114,-110,-1,-47,-49,-46,-54,-77,-76,-97,-98,-81,-55,-80,411,-88,417,-45,424,-70,-83,427,-56,-69,433,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,-89,-50,-48,-82,-57,-68,-203,-295,-296,-297,-298,]),'MOD':([3,8,12,15,16,20,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,134,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,248,249,281,282,283,301,303,305,315,319,338,345,346,350,353,357,358,359,377,378,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-119,150,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,252,-115,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,252,252,-122,-121,-120,-96,-87,-88,-74,-75,-45,-70,-83,-56,-69,-117,-118,-116,252,252,-86,-89,-73,-48,-82,-57,-68,-96,-295,-296,-297,-297,-298,-298,]),'THROW':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[88,-22,-15,88,-23,-21,-13,-19,-17,-20,-16,-11,88,-9,-10,-8,-24,-12,-6,88,-244,-18,-14,-7,-292,-291,-2,88,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,88,88,-290,-288,88,88,-273,88,88,-251,-274,-247,88,88,88,88,88,88,-293,88,-254,-289,-275,-249,-250,-248,88,-294,88,-255,88,88,88,88,-256,-252,-276,-253,]),'GETPROP':([104,349,],[228,228,]),'DELETE':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[25,-22,-1,-15,25,25,25,25,-23,-21,-13,25,25,25,-19,-17,25,-20,-16,25,-11,25,-9,25,-10,-8,-24,-12,-6,25,-244,-18,-14,25,25,25,25,25,25,-53,-52,-51,-7,-292,-291,-2,25,25,25,25,25,25,-270,-269,25,-245,-246,25,25,25,25,25,25,25,-261,-262,25,25,25,25,25,-265,-266,-25,25,25,25,25,25,25,25,25,25,25,25,25,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,25,25,-1,-54,25,25,-232,-233,25,-283,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,-271,-272,25,25,25,25,25,25,25,-287,-286,-26,-263,-264,-268,-267,-284,-285,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,-290,-288,25,25,25,25,-273,25,25,25,25,25,-251,-274,-247,25,25,25,25,25,25,25,25,25,25,-293,25,25,-254,-289,-275,-249,-250,-248,25,-294,25,-255,25,25,25,25,-256,-252,-276,-253,]),} @@ -26,305 +26,305 @@ del _lr_goto_items _lr_productions = [ ("S' -> program","S'",1,None,None,None), - ('empty -> ','empty',0,'p_empty','/home/alienoid/dev/python/slimit/src/slimit/parser.py',96), - ('auto_semi -> error','auto_semi',1,'p_auto_semi','/home/alienoid/dev/python/slimit/src/slimit/parser.py',100), - ('program -> source_elements','program',1,'p_program','/home/alienoid/dev/python/slimit/src/slimit/parser.py',130), - ('source_elements -> empty','source_elements',1,'p_source_elements','/home/alienoid/dev/python/slimit/src/slimit/parser.py',134), - ('source_elements -> source_element_list','source_elements',1,'p_source_elements','/home/alienoid/dev/python/slimit/src/slimit/parser.py',135), - ('source_element_list -> source_element','source_element_list',1,'p_source_element_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',140), - ('source_element_list -> source_element_list source_element','source_element_list',2,'p_source_element_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',141), - ('source_element -> statement','source_element',1,'p_source_element','/home/alienoid/dev/python/slimit/src/slimit/parser.py',150), - ('source_element -> function_declaration','source_element',1,'p_source_element','/home/alienoid/dev/python/slimit/src/slimit/parser.py',151), - ('statement -> block','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',156), - ('statement -> variable_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',157), - ('statement -> empty_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',158), - ('statement -> expr_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',159), - ('statement -> if_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',160), - ('statement -> iteration_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',161), - ('statement -> continue_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',162), - ('statement -> break_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',163), - ('statement -> return_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',164), - ('statement -> with_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',165), - ('statement -> switch_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',166), - ('statement -> labelled_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',167), - ('statement -> throw_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',168), - ('statement -> try_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',169), - ('statement -> debugger_statement','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',170), - ('statement -> function_declaration','statement',1,'p_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',171), - ('block -> LBRACE source_elements RBRACE','block',3,'p_block','/home/alienoid/dev/python/slimit/src/slimit/parser.py',178), - ('literal -> null_literal','literal',1,'p_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',182), - ('literal -> boolean_literal','literal',1,'p_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',183), - ('literal -> numeric_literal','literal',1,'p_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',184), - ('literal -> string_literal','literal',1,'p_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',185), - ('literal -> regex_literal','literal',1,'p_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',186), - ('boolean_literal -> TRUE','boolean_literal',1,'p_boolean_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',191), - ('boolean_literal -> FALSE','boolean_literal',1,'p_boolean_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',192), - ('null_literal -> NULL','null_literal',1,'p_null_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',197), - ('numeric_literal -> NUMBER','numeric_literal',1,'p_numeric_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',201), - ('string_literal -> STRING','string_literal',1,'p_string_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',205), - ('regex_literal -> REGEX','regex_literal',1,'p_regex_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',209), - ('identifier -> ID','identifier',1,'p_identifier','/home/alienoid/dev/python/slimit/src/slimit/parser.py',213), - ('primary_expr -> primary_expr_no_brace','primary_expr',1,'p_primary_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',220), - ('primary_expr -> object_literal','primary_expr',1,'p_primary_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',221), - ('primary_expr_no_brace -> identifier','primary_expr_no_brace',1,'p_primary_expr_no_brace_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',226), - ('primary_expr_no_brace -> THIS','primary_expr_no_brace',1,'p_primary_expr_no_brace_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',232), - ('primary_expr_no_brace -> literal','primary_expr_no_brace',1,'p_primary_expr_no_brace_3','/home/alienoid/dev/python/slimit/src/slimit/parser.py',236), - ('primary_expr_no_brace -> array_literal','primary_expr_no_brace',1,'p_primary_expr_no_brace_3','/home/alienoid/dev/python/slimit/src/slimit/parser.py',237), - ('primary_expr_no_brace -> LPAREN expr RPAREN','primary_expr_no_brace',3,'p_primary_expr_no_brace_4','/home/alienoid/dev/python/slimit/src/slimit/parser.py',242), - ('array_literal -> LBRACKET elision_opt RBRACKET','array_literal',3,'p_array_literal_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',247), - ('array_literal -> LBRACKET element_list RBRACKET','array_literal',3,'p_array_literal_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',251), - ('array_literal -> LBRACKET element_list COMMA elision_opt RBRACKET','array_literal',5,'p_array_literal_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',252), - ('element_list -> elision_opt assignment_expr','element_list',2,'p_element_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',261), - ('element_list -> element_list COMMA elision_opt assignment_expr','element_list',4,'p_element_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',262), - ('elision_opt -> empty','elision_opt',1,'p_elision_opt_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',272), - ('elision_opt -> elision','elision_opt',1,'p_elision_opt_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',276), - ('elision -> COMMA','elision',1,'p_elision','/home/alienoid/dev/python/slimit/src/slimit/parser.py',280), - ('elision -> elision COMMA','elision',2,'p_elision','/home/alienoid/dev/python/slimit/src/slimit/parser.py',281), - ('object_literal -> LBRACE RBRACE','object_literal',2,'p_object_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',290), - ('object_literal -> LBRACE property_list RBRACE','object_literal',3,'p_object_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',291), - ('object_literal -> LBRACE property_list COMMA RBRACE','object_literal',4,'p_object_literal','/home/alienoid/dev/python/slimit/src/slimit/parser.py',292), - ('property_list -> property_assignment','property_list',1,'p_property_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',300), - ('property_list -> property_list COMMA property_assignment','property_list',3,'p_property_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',301), - ('property_assignment -> property_name COLON assignment_expr','property_assignment',3,'p_property_assignment','/home/alienoid/dev/python/slimit/src/slimit/parser.py',311), - ('property_assignment -> GETPROP property_name LPAREN RPAREN LBRACE function_body RBRACE','property_assignment',7,'p_property_assignment','/home/alienoid/dev/python/slimit/src/slimit/parser.py',312), - ('property_assignment -> SETPROP property_name LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','property_assignment',8,'p_property_assignment','/home/alienoid/dev/python/slimit/src/slimit/parser.py',313), - ('property_name -> identifier','property_name',1,'p_property_name','/home/alienoid/dev/python/slimit/src/slimit/parser.py',326), - ('property_name -> string_literal','property_name',1,'p_property_name','/home/alienoid/dev/python/slimit/src/slimit/parser.py',327), - ('property_name -> numeric_literal','property_name',1,'p_property_name','/home/alienoid/dev/python/slimit/src/slimit/parser.py',328), - ('member_expr -> primary_expr','member_expr',1,'p_member_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',334), - ('member_expr -> function_expr','member_expr',1,'p_member_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',335), - ('member_expr -> member_expr LBRACKET expr RBRACKET','member_expr',4,'p_member_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',336), - ('member_expr -> member_expr PERIOD identifier','member_expr',3,'p_member_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',337), - ('member_expr -> NEW member_expr arguments','member_expr',3,'p_member_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',338), - ('member_expr_nobf -> primary_expr_no_brace','member_expr_nobf',1,'p_member_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',350), - ('member_expr_nobf -> function_expr','member_expr_nobf',1,'p_member_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',351), - ('member_expr_nobf -> member_expr_nobf LBRACKET expr RBRACKET','member_expr_nobf',4,'p_member_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',352), - ('member_expr_nobf -> member_expr_nobf PERIOD identifier','member_expr_nobf',3,'p_member_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',353), - ('member_expr_nobf -> NEW member_expr arguments','member_expr_nobf',3,'p_member_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',354), - ('new_expr -> member_expr','new_expr',1,'p_new_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',366), - ('new_expr -> NEW new_expr','new_expr',2,'p_new_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',367), - ('new_expr_nobf -> member_expr_nobf','new_expr_nobf',1,'p_new_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',375), - ('new_expr_nobf -> NEW new_expr','new_expr_nobf',2,'p_new_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',376), - ('call_expr -> member_expr arguments','call_expr',2,'p_call_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',384), - ('call_expr -> call_expr arguments','call_expr',2,'p_call_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',385), - ('call_expr -> call_expr LBRACKET expr RBRACKET','call_expr',4,'p_call_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',386), - ('call_expr -> call_expr PERIOD identifier','call_expr',3,'p_call_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',387), - ('call_expr_nobf -> member_expr_nobf arguments','call_expr_nobf',2,'p_call_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',397), - ('call_expr_nobf -> call_expr_nobf arguments','call_expr_nobf',2,'p_call_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',398), - ('call_expr_nobf -> call_expr_nobf LBRACKET expr RBRACKET','call_expr_nobf',4,'p_call_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',399), - ('call_expr_nobf -> call_expr_nobf PERIOD identifier','call_expr_nobf',3,'p_call_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',400), - ('arguments -> LPAREN RPAREN','arguments',2,'p_arguments','/home/alienoid/dev/python/slimit/src/slimit/parser.py',410), - ('arguments -> LPAREN argument_list RPAREN','arguments',3,'p_arguments','/home/alienoid/dev/python/slimit/src/slimit/parser.py',411), - ('argument_list -> assignment_expr','argument_list',1,'p_argument_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',417), - ('argument_list -> argument_list COMMA assignment_expr','argument_list',3,'p_argument_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',418), - ('left_hand_side_expr -> new_expr','left_hand_side_expr',1,'p_lef_hand_side_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',427), - ('left_hand_side_expr -> call_expr','left_hand_side_expr',1,'p_lef_hand_side_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',428), - ('left_hand_side_expr_nobf -> new_expr_nobf','left_hand_side_expr_nobf',1,'p_lef_hand_side_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',433), - ('left_hand_side_expr_nobf -> call_expr_nobf','left_hand_side_expr_nobf',1,'p_lef_hand_side_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',434), - ('postfix_expr -> left_hand_side_expr','postfix_expr',1,'p_postfix_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',440), - ('postfix_expr -> left_hand_side_expr PLUSPLUS','postfix_expr',2,'p_postfix_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',441), - ('postfix_expr -> left_hand_side_expr MINUSMINUS','postfix_expr',2,'p_postfix_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',442), - ('postfix_expr_nobf -> left_hand_side_expr_nobf','postfix_expr_nobf',1,'p_postfix_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',450), - ('postfix_expr_nobf -> left_hand_side_expr_nobf PLUSPLUS','postfix_expr_nobf',2,'p_postfix_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',451), - ('postfix_expr_nobf -> left_hand_side_expr_nobf MINUSMINUS','postfix_expr_nobf',2,'p_postfix_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',452), - ('unary_expr -> postfix_expr','unary_expr',1,'p_unary_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',461), - ('unary_expr -> unary_expr_common','unary_expr',1,'p_unary_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',462), - ('unary_expr_nobf -> postfix_expr_nobf','unary_expr_nobf',1,'p_unary_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',467), - ('unary_expr_nobf -> unary_expr_common','unary_expr_nobf',1,'p_unary_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',468), - ('unary_expr_common -> DELETE unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',473), - ('unary_expr_common -> VOID unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',474), - ('unary_expr_common -> TYPEOF unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',475), - ('unary_expr_common -> PLUSPLUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',476), - ('unary_expr_common -> MINUSMINUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',477), - ('unary_expr_common -> PLUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',478), - ('unary_expr_common -> MINUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',479), - ('unary_expr_common -> BNOT unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',480), - ('unary_expr_common -> NOT unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/alienoid/dev/python/slimit/src/slimit/parser.py',481), - ('multiplicative_expr -> unary_expr','multiplicative_expr',1,'p_multiplicative_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',487), - ('multiplicative_expr -> multiplicative_expr MULT unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',488), - ('multiplicative_expr -> multiplicative_expr DIV unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',489), - ('multiplicative_expr -> multiplicative_expr MOD unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',490), - ('multiplicative_expr_nobf -> unary_expr_nobf','multiplicative_expr_nobf',1,'p_multiplicative_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',498), - ('multiplicative_expr_nobf -> multiplicative_expr_nobf MULT unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',499), - ('multiplicative_expr_nobf -> multiplicative_expr_nobf DIV unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',500), - ('multiplicative_expr_nobf -> multiplicative_expr_nobf MOD unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',501), - ('additive_expr -> multiplicative_expr','additive_expr',1,'p_additive_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',510), - ('additive_expr -> additive_expr PLUS multiplicative_expr','additive_expr',3,'p_additive_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',511), - ('additive_expr -> additive_expr MINUS multiplicative_expr','additive_expr',3,'p_additive_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',512), - ('additive_expr_nobf -> multiplicative_expr_nobf','additive_expr_nobf',1,'p_additive_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',520), - ('additive_expr_nobf -> additive_expr_nobf PLUS multiplicative_expr','additive_expr_nobf',3,'p_additive_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',521), - ('additive_expr_nobf -> additive_expr_nobf MINUS multiplicative_expr','additive_expr_nobf',3,'p_additive_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',522), - ('shift_expr -> additive_expr','shift_expr',1,'p_shift_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',531), - ('shift_expr -> shift_expr LSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',532), - ('shift_expr -> shift_expr RSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',533), - ('shift_expr -> shift_expr URSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',534), - ('shift_expr_nobf -> additive_expr_nobf','shift_expr_nobf',1,'p_shift_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',542), - ('shift_expr_nobf -> shift_expr_nobf LSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',543), - ('shift_expr_nobf -> shift_expr_nobf RSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',544), - ('shift_expr_nobf -> shift_expr_nobf URSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',545), - ('relational_expr -> shift_expr','relational_expr',1,'p_relational_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',555), - ('relational_expr -> relational_expr LT shift_expr','relational_expr',3,'p_relational_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',556), - ('relational_expr -> relational_expr GT shift_expr','relational_expr',3,'p_relational_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',557), - ('relational_expr -> relational_expr LE shift_expr','relational_expr',3,'p_relational_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',558), - ('relational_expr -> relational_expr GE shift_expr','relational_expr',3,'p_relational_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',559), - ('relational_expr -> relational_expr INSTANCEOF shift_expr','relational_expr',3,'p_relational_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',560), - ('relational_expr -> relational_expr IN shift_expr','relational_expr',3,'p_relational_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',561), - ('relational_expr_noin -> shift_expr','relational_expr_noin',1,'p_relational_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',569), - ('relational_expr_noin -> relational_expr_noin LT shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',570), - ('relational_expr_noin -> relational_expr_noin GT shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',571), - ('relational_expr_noin -> relational_expr_noin LE shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',572), - ('relational_expr_noin -> relational_expr_noin GE shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',573), - ('relational_expr_noin -> relational_expr_noin INSTANCEOF shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',574), - ('relational_expr_nobf -> shift_expr_nobf','relational_expr_nobf',1,'p_relational_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',582), - ('relational_expr_nobf -> relational_expr_nobf LT shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',583), - ('relational_expr_nobf -> relational_expr_nobf GT shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',584), - ('relational_expr_nobf -> relational_expr_nobf LE shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',585), - ('relational_expr_nobf -> relational_expr_nobf GE shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',586), - ('relational_expr_nobf -> relational_expr_nobf INSTANCEOF shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',587), - ('relational_expr_nobf -> relational_expr_nobf IN shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',588), - ('equality_expr -> relational_expr','equality_expr',1,'p_equality_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',597), - ('equality_expr -> equality_expr EQEQ relational_expr','equality_expr',3,'p_equality_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',598), - ('equality_expr -> equality_expr NE relational_expr','equality_expr',3,'p_equality_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',599), - ('equality_expr -> equality_expr STREQ relational_expr','equality_expr',3,'p_equality_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',600), - ('equality_expr -> equality_expr STRNEQ relational_expr','equality_expr',3,'p_equality_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',601), - ('equality_expr_noin -> relational_expr_noin','equality_expr_noin',1,'p_equality_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',609), - ('equality_expr_noin -> equality_expr_noin EQEQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',610), - ('equality_expr_noin -> equality_expr_noin NE relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',611), - ('equality_expr_noin -> equality_expr_noin STREQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',612), - ('equality_expr_noin -> equality_expr_noin STRNEQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',613), - ('equality_expr_nobf -> relational_expr_nobf','equality_expr_nobf',1,'p_equality_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',621), - ('equality_expr_nobf -> equality_expr_nobf EQEQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',622), - ('equality_expr_nobf -> equality_expr_nobf NE relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',623), - ('equality_expr_nobf -> equality_expr_nobf STREQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',624), - ('equality_expr_nobf -> equality_expr_nobf STRNEQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',625), - ('bitwise_and_expr -> equality_expr','bitwise_and_expr',1,'p_bitwise_and_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',634), - ('bitwise_and_expr -> bitwise_and_expr BAND equality_expr','bitwise_and_expr',3,'p_bitwise_and_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',635), - ('bitwise_and_expr_noin -> equality_expr_noin','bitwise_and_expr_noin',1,'p_bitwise_and_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',643), - ('bitwise_and_expr_noin -> bitwise_and_expr_noin BAND equality_expr_noin','bitwise_and_expr_noin',3,'p_bitwise_and_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',644), - ('bitwise_and_expr_nobf -> equality_expr_nobf','bitwise_and_expr_nobf',1,'p_bitwise_and_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',653), - ('bitwise_and_expr_nobf -> bitwise_and_expr_nobf BAND equality_expr_nobf','bitwise_and_expr_nobf',3,'p_bitwise_and_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',654), - ('bitwise_xor_expr -> bitwise_and_expr','bitwise_xor_expr',1,'p_bitwise_xor_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',663), - ('bitwise_xor_expr -> bitwise_xor_expr BXOR bitwise_and_expr','bitwise_xor_expr',3,'p_bitwise_xor_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',664), - ('bitwise_xor_expr_noin -> bitwise_and_expr_noin','bitwise_xor_expr_noin',1,'p_bitwise_xor_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',673), - ('bitwise_xor_expr_noin -> bitwise_xor_expr_noin BXOR bitwise_and_expr_noin','bitwise_xor_expr_noin',3,'p_bitwise_xor_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',674), - ('bitwise_xor_expr_nobf -> bitwise_and_expr_nobf','bitwise_xor_expr_nobf',1,'p_bitwise_xor_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',684), - ('bitwise_xor_expr_nobf -> bitwise_xor_expr_nobf BXOR bitwise_and_expr_nobf','bitwise_xor_expr_nobf',3,'p_bitwise_xor_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',685), - ('bitwise_or_expr -> bitwise_xor_expr','bitwise_or_expr',1,'p_bitwise_or_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',694), - ('bitwise_or_expr -> bitwise_or_expr BOR bitwise_xor_expr','bitwise_or_expr',3,'p_bitwise_or_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',695), - ('bitwise_or_expr_noin -> bitwise_xor_expr_noin','bitwise_or_expr_noin',1,'p_bitwise_or_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',704), - ('bitwise_or_expr_noin -> bitwise_or_expr_noin BOR bitwise_xor_expr_noin','bitwise_or_expr_noin',3,'p_bitwise_or_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',705), - ('bitwise_or_expr_nobf -> bitwise_xor_expr_nobf','bitwise_or_expr_nobf',1,'p_bitwise_or_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',715), - ('bitwise_or_expr_nobf -> bitwise_or_expr_nobf BOR bitwise_xor_expr_nobf','bitwise_or_expr_nobf',3,'p_bitwise_or_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',716), - ('logical_and_expr -> bitwise_or_expr','logical_and_expr',1,'p_logical_and_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',726), - ('logical_and_expr -> logical_and_expr AND bitwise_or_expr','logical_and_expr',3,'p_logical_and_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',727), - ('logical_and_expr_noin -> bitwise_or_expr_noin','logical_and_expr_noin',1,'p_logical_and_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',736), - ('logical_and_expr_noin -> logical_and_expr_noin AND bitwise_or_expr_noin','logical_and_expr_noin',3,'p_logical_and_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',737), - ('logical_and_expr_nobf -> bitwise_or_expr_nobf','logical_and_expr_nobf',1,'p_logical_and_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',746), - ('logical_and_expr_nobf -> logical_and_expr_nobf AND bitwise_or_expr_nobf','logical_and_expr_nobf',3,'p_logical_and_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',747), - ('logical_or_expr -> logical_and_expr','logical_or_expr',1,'p_logical_or_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',755), - ('logical_or_expr -> logical_or_expr OR logical_and_expr','logical_or_expr',3,'p_logical_or_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',756), - ('logical_or_expr_noin -> logical_and_expr_noin','logical_or_expr_noin',1,'p_logical_or_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',764), - ('logical_or_expr_noin -> logical_or_expr_noin OR logical_and_expr_noin','logical_or_expr_noin',3,'p_logical_or_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',765), - ('logical_or_expr_nobf -> logical_and_expr_nobf','logical_or_expr_nobf',1,'p_logical_or_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',773), - ('logical_or_expr_nobf -> logical_or_expr_nobf OR logical_and_expr_nobf','logical_or_expr_nobf',3,'p_logical_or_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',774), - ('conditional_expr -> logical_or_expr','conditional_expr',1,'p_conditional_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',784), - ('conditional_expr -> logical_or_expr CONDOP assignment_expr COLON assignment_expr','conditional_expr',5,'p_conditional_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',785), - ('conditional_expr_noin -> logical_or_expr_noin','conditional_expr_noin',1,'p_conditional_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',796), - ('conditional_expr_noin -> logical_or_expr_noin CONDOP assignment_expr_noin COLON assignment_expr_noin','conditional_expr_noin',5,'p_conditional_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',797), - ('conditional_expr_nobf -> logical_or_expr_nobf','conditional_expr_nobf',1,'p_conditional_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',809), - ('conditional_expr_nobf -> logical_or_expr_nobf CONDOP assignment_expr COLON assignment_expr','conditional_expr_nobf',5,'p_conditional_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',810), - ('assignment_expr -> conditional_expr','assignment_expr',1,'p_assignment_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',822), - ('assignment_expr -> left_hand_side_expr assignment_operator assignment_expr','assignment_expr',3,'p_assignment_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',823), - ('assignment_expr_noin -> conditional_expr_noin','assignment_expr_noin',1,'p_assignment_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',833), - ('assignment_expr_noin -> left_hand_side_expr assignment_operator assignment_expr_noin','assignment_expr_noin',3,'p_assignment_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',834), - ('assignment_expr_nobf -> conditional_expr_nobf','assignment_expr_nobf',1,'p_assignment_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',844), - ('assignment_expr_nobf -> left_hand_side_expr_nobf assignment_operator assignment_expr','assignment_expr_nobf',3,'p_assignment_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',845), - ('assignment_operator -> EQ','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',854), - ('assignment_operator -> MULTEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',855), - ('assignment_operator -> DIVEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',856), - ('assignment_operator -> MODEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',857), - ('assignment_operator -> PLUSEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',858), - ('assignment_operator -> MINUSEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',859), - ('assignment_operator -> LSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',860), - ('assignment_operator -> RSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',861), - ('assignment_operator -> URSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',862), - ('assignment_operator -> ANDEQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',863), - ('assignment_operator -> XOREQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',864), - ('assignment_operator -> OREQUAL','assignment_operator',1,'p_assignment_operator','/home/alienoid/dev/python/slimit/src/slimit/parser.py',865), - ('expr -> assignment_expr','expr',1,'p_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',871), - ('expr -> expr COMMA assignment_expr','expr',3,'p_expr','/home/alienoid/dev/python/slimit/src/slimit/parser.py',872), - ('expr_noin -> assignment_expr_noin','expr_noin',1,'p_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',880), - ('expr_noin -> expr_noin COMMA assignment_expr_noin','expr_noin',3,'p_expr_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',881), - ('expr_nobf -> assignment_expr_nobf','expr_nobf',1,'p_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',889), - ('expr_nobf -> expr_nobf COMMA assignment_expr','expr_nobf',3,'p_expr_nobf','/home/alienoid/dev/python/slimit/src/slimit/parser.py',890), - ('variable_statement -> VAR variable_declaration_list SEMI','variable_statement',3,'p_variable_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',899), - ('variable_statement -> VAR variable_declaration_list auto_semi','variable_statement',3,'p_variable_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',900), - ('variable_declaration_list -> variable_declaration','variable_declaration_list',1,'p_variable_declaration_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',906), - ('variable_declaration_list -> variable_declaration_list COMMA variable_declaration','variable_declaration_list',3,'p_variable_declaration_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',907), - ('variable_declaration_list_noin -> variable_declaration_noin','variable_declaration_list_noin',1,'p_variable_declaration_list_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',918), - ('variable_declaration_list_noin -> variable_declaration_list_noin COMMA variable_declaration_noin','variable_declaration_list_noin',3,'p_variable_declaration_list_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',919), - ('variable_declaration -> identifier','variable_declaration',1,'p_variable_declaration','/home/alienoid/dev/python/slimit/src/slimit/parser.py',929), - ('variable_declaration -> identifier initializer','variable_declaration',2,'p_variable_declaration','/home/alienoid/dev/python/slimit/src/slimit/parser.py',930), - ('variable_declaration_noin -> identifier','variable_declaration_noin',1,'p_variable_declaration_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',938), - ('variable_declaration_noin -> identifier initializer_noin','variable_declaration_noin',2,'p_variable_declaration_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',939), - ('initializer -> EQ assignment_expr','initializer',2,'p_initializer','/home/alienoid/dev/python/slimit/src/slimit/parser.py',947), - ('initializer_noin -> EQ assignment_expr_noin','initializer_noin',2,'p_initializer_noin','/home/alienoid/dev/python/slimit/src/slimit/parser.py',951), - ('empty_statement -> SEMI','empty_statement',1,'p_empty_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',956), - ('expr_statement -> expr_nobf SEMI','expr_statement',2,'p_expr_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',961), - ('expr_statement -> expr_nobf auto_semi','expr_statement',2,'p_expr_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',962), - ('if_statement -> IF LPAREN expr RPAREN statement','if_statement',5,'p_if_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',968), - ('if_statement -> IF LPAREN expr RPAREN statement ELSE statement','if_statement',7,'p_if_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',972), - ('iteration_statement -> DO statement WHILE LPAREN expr RPAREN SEMI','iteration_statement',7,'p_iteration_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',978), - ('iteration_statement -> DO statement WHILE LPAREN expr RPAREN auto_semi','iteration_statement',7,'p_iteration_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',979), - ('iteration_statement -> WHILE LPAREN expr RPAREN statement','iteration_statement',5,'p_iteration_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',985), - ('iteration_statement -> FOR LPAREN expr_noin_opt SEMI expr_opt SEMI expr_opt RPAREN statement','iteration_statement',9,'p_iteration_statement_3','/home/alienoid/dev/python/slimit/src/slimit/parser.py',990), - ('iteration_statement -> FOR LPAREN VAR variable_declaration_list_noin SEMI expr_opt SEMI expr_opt RPAREN statement','iteration_statement',10,'p_iteration_statement_3','/home/alienoid/dev/python/slimit/src/slimit/parser.py',991), - ('iteration_statement -> FOR LPAREN left_hand_side_expr IN expr RPAREN statement','iteration_statement',7,'p_iteration_statement_4','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1004), - ('iteration_statement -> FOR LPAREN VAR identifier IN expr RPAREN statement','iteration_statement',8,'p_iteration_statement_5','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1011), - ('iteration_statement -> FOR LPAREN VAR identifier initializer_noin IN expr RPAREN statement','iteration_statement',9,'p_iteration_statement_6','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1018), - ('expr_opt -> empty','expr_opt',1,'p_expr_opt','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1025), - ('expr_opt -> expr','expr_opt',1,'p_expr_opt','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1026), - ('expr_noin_opt -> empty','expr_noin_opt',1,'p_expr_noin_opt','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1031), - ('expr_noin_opt -> expr_noin','expr_noin_opt',1,'p_expr_noin_opt','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1032), - ('continue_statement -> CONTINUE SEMI','continue_statement',2,'p_continue_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1038), - ('continue_statement -> CONTINUE auto_semi','continue_statement',2,'p_continue_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1039), - ('continue_statement -> CONTINUE identifier SEMI','continue_statement',3,'p_continue_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1044), - ('continue_statement -> CONTINUE identifier auto_semi','continue_statement',3,'p_continue_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1045), - ('break_statement -> BREAK SEMI','break_statement',2,'p_break_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1051), - ('break_statement -> BREAK auto_semi','break_statement',2,'p_break_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1052), - ('break_statement -> BREAK identifier SEMI','break_statement',3,'p_break_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1057), - ('break_statement -> BREAK identifier auto_semi','break_statement',3,'p_break_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1058), - ('return_statement -> RETURN SEMI','return_statement',2,'p_return_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1065), - ('return_statement -> RETURN auto_semi','return_statement',2,'p_return_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1066), - ('return_statement -> RETURN expr SEMI','return_statement',3,'p_return_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1071), - ('return_statement -> RETURN expr auto_semi','return_statement',3,'p_return_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1072), - ('with_statement -> WITH LPAREN expr RPAREN statement','with_statement',5,'p_with_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1078), - ('switch_statement -> SWITCH LPAREN expr RPAREN case_block','switch_statement',5,'p_switch_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1083), - ('case_block -> LBRACE case_clauses_opt RBRACE','case_block',3,'p_case_block','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1097), - ('case_block -> LBRACE case_clauses_opt default_clause case_clauses_opt RBRACE','case_block',5,'p_case_block','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1098), - ('case_clauses_opt -> empty','case_clauses_opt',1,'p_case_clauses_opt','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1104), - ('case_clauses_opt -> case_clauses','case_clauses_opt',1,'p_case_clauses_opt','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1105), - ('case_clauses -> case_clause','case_clauses',1,'p_case_clauses','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1110), - ('case_clauses -> case_clauses case_clause','case_clauses',2,'p_case_clauses','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1111), - ('case_clause -> CASE expr COLON source_elements','case_clause',4,'p_case_clause','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1120), - ('default_clause -> DEFAULT COLON source_elements','default_clause',3,'p_default_clause','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1124), - ('labelled_statement -> identifier COLON statement','labelled_statement',3,'p_labelled_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1129), - ('throw_statement -> THROW expr SEMI','throw_statement',3,'p_throw_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1134), - ('throw_statement -> THROW expr auto_semi','throw_statement',3,'p_throw_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1135), - ('try_statement -> TRY block catch','try_statement',3,'p_try_statement_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1141), - ('try_statement -> TRY block finally','try_statement',3,'p_try_statement_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1145), - ('try_statement -> TRY block catch finally','try_statement',4,'p_try_statement_3','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1149), - ('catch -> CATCH LPAREN identifier RPAREN block','catch',5,'p_catch','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1153), - ('finally -> FINALLY block','finally',2,'p_finally','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1157), - ('debugger_statement -> DEBUGGER SEMI','debugger_statement',2,'p_debugger_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1162), - ('debugger_statement -> DEBUGGER auto_semi','debugger_statement',2,'p_debugger_statement','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1163), - ('function_declaration -> FUNCTION identifier LPAREN RPAREN LBRACE function_body RBRACE','function_declaration',7,'p_function_declaration','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1170), - ('function_declaration -> FUNCTION identifier LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_declaration',8,'p_function_declaration','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1171), - ('function_expr -> FUNCTION LPAREN RPAREN LBRACE function_body RBRACE','function_expr',6,'p_function_expr_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1184), - ('function_expr -> FUNCTION LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_expr',7,'p_function_expr_1','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1185), - ('function_expr -> FUNCTION identifier LPAREN RPAREN LBRACE function_body RBRACE','function_expr',7,'p_function_expr_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1198), - ('function_expr -> FUNCTION identifier LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_expr',8,'p_function_expr_2','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1199), - ('formal_parameter_list -> identifier','formal_parameter_list',1,'p_formal_parameter_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1212), - ('formal_parameter_list -> formal_parameter_list COMMA identifier','formal_parameter_list',3,'p_formal_parameter_list','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1213), - ('function_body -> source_elements','function_body',1,'p_function_body','/home/alienoid/dev/python/slimit/src/slimit/parser.py',1222), + ('empty -> ','empty',0,'p_empty','/home/paul/src/slimit/src/slimit/parser.py',96), + ('auto_semi -> error','auto_semi',1,'p_auto_semi','/home/paul/src/slimit/src/slimit/parser.py',100), + ('program -> source_elements','program',1,'p_program','/home/paul/src/slimit/src/slimit/parser.py',130), + ('source_elements -> empty','source_elements',1,'p_source_elements','/home/paul/src/slimit/src/slimit/parser.py',134), + ('source_elements -> source_element_list','source_elements',1,'p_source_elements','/home/paul/src/slimit/src/slimit/parser.py',135), + ('source_element_list -> source_element','source_element_list',1,'p_source_element_list','/home/paul/src/slimit/src/slimit/parser.py',140), + ('source_element_list -> source_element_list source_element','source_element_list',2,'p_source_element_list','/home/paul/src/slimit/src/slimit/parser.py',141), + ('source_element -> statement','source_element',1,'p_source_element','/home/paul/src/slimit/src/slimit/parser.py',150), + ('source_element -> function_declaration','source_element',1,'p_source_element','/home/paul/src/slimit/src/slimit/parser.py',151), + ('statement -> block','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',156), + ('statement -> variable_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',157), + ('statement -> empty_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',158), + ('statement -> expr_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',159), + ('statement -> if_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',160), + ('statement -> iteration_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',161), + ('statement -> continue_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',162), + ('statement -> break_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',163), + ('statement -> return_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',164), + ('statement -> with_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',165), + ('statement -> switch_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',166), + ('statement -> labelled_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',167), + ('statement -> throw_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',168), + ('statement -> try_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',169), + ('statement -> debugger_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',170), + ('statement -> function_declaration','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',171), + ('block -> LBRACE source_elements RBRACE','block',3,'p_block','/home/paul/src/slimit/src/slimit/parser.py',178), + ('literal -> null_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',182), + ('literal -> boolean_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',183), + ('literal -> numeric_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',184), + ('literal -> string_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',185), + ('literal -> regex_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',186), + ('boolean_literal -> TRUE','boolean_literal',1,'p_boolean_literal','/home/paul/src/slimit/src/slimit/parser.py',191), + ('boolean_literal -> FALSE','boolean_literal',1,'p_boolean_literal','/home/paul/src/slimit/src/slimit/parser.py',192), + ('null_literal -> NULL','null_literal',1,'p_null_literal','/home/paul/src/slimit/src/slimit/parser.py',197), + ('numeric_literal -> NUMBER','numeric_literal',1,'p_numeric_literal','/home/paul/src/slimit/src/slimit/parser.py',201), + ('string_literal -> STRING','string_literal',1,'p_string_literal','/home/paul/src/slimit/src/slimit/parser.py',205), + ('regex_literal -> REGEX','regex_literal',1,'p_regex_literal','/home/paul/src/slimit/src/slimit/parser.py',209), + ('identifier -> ID','identifier',1,'p_identifier','/home/paul/src/slimit/src/slimit/parser.py',213), + ('primary_expr -> primary_expr_no_brace','primary_expr',1,'p_primary_expr','/home/paul/src/slimit/src/slimit/parser.py',220), + ('primary_expr -> object_literal','primary_expr',1,'p_primary_expr','/home/paul/src/slimit/src/slimit/parser.py',221), + ('primary_expr_no_brace -> identifier','primary_expr_no_brace',1,'p_primary_expr_no_brace_1','/home/paul/src/slimit/src/slimit/parser.py',226), + ('primary_expr_no_brace -> THIS','primary_expr_no_brace',1,'p_primary_expr_no_brace_2','/home/paul/src/slimit/src/slimit/parser.py',232), + ('primary_expr_no_brace -> literal','primary_expr_no_brace',1,'p_primary_expr_no_brace_3','/home/paul/src/slimit/src/slimit/parser.py',236), + ('primary_expr_no_brace -> array_literal','primary_expr_no_brace',1,'p_primary_expr_no_brace_3','/home/paul/src/slimit/src/slimit/parser.py',237), + ('primary_expr_no_brace -> LPAREN expr RPAREN','primary_expr_no_brace',3,'p_primary_expr_no_brace_4','/home/paul/src/slimit/src/slimit/parser.py',242), + ('array_literal -> LBRACKET elision_opt RBRACKET','array_literal',3,'p_array_literal_1','/home/paul/src/slimit/src/slimit/parser.py',247), + ('array_literal -> LBRACKET element_list RBRACKET','array_literal',3,'p_array_literal_2','/home/paul/src/slimit/src/slimit/parser.py',251), + ('array_literal -> LBRACKET element_list COMMA elision_opt RBRACKET','array_literal',5,'p_array_literal_2','/home/paul/src/slimit/src/slimit/parser.py',252), + ('element_list -> elision_opt assignment_expr','element_list',2,'p_element_list','/home/paul/src/slimit/src/slimit/parser.py',261), + ('element_list -> element_list COMMA elision_opt assignment_expr','element_list',4,'p_element_list','/home/paul/src/slimit/src/slimit/parser.py',262), + ('elision_opt -> empty','elision_opt',1,'p_elision_opt_1','/home/paul/src/slimit/src/slimit/parser.py',272), + ('elision_opt -> elision','elision_opt',1,'p_elision_opt_2','/home/paul/src/slimit/src/slimit/parser.py',276), + ('elision -> COMMA','elision',1,'p_elision','/home/paul/src/slimit/src/slimit/parser.py',280), + ('elision -> elision COMMA','elision',2,'p_elision','/home/paul/src/slimit/src/slimit/parser.py',281), + ('object_literal -> LBRACE RBRACE','object_literal',2,'p_object_literal','/home/paul/src/slimit/src/slimit/parser.py',290), + ('object_literal -> LBRACE property_list RBRACE','object_literal',3,'p_object_literal','/home/paul/src/slimit/src/slimit/parser.py',291), + ('object_literal -> LBRACE property_list COMMA RBRACE','object_literal',4,'p_object_literal','/home/paul/src/slimit/src/slimit/parser.py',292), + ('property_list -> property_assignment','property_list',1,'p_property_list','/home/paul/src/slimit/src/slimit/parser.py',300), + ('property_list -> property_list COMMA property_assignment','property_list',3,'p_property_list','/home/paul/src/slimit/src/slimit/parser.py',301), + ('property_assignment -> property_name COLON assignment_expr','property_assignment',3,'p_property_assignment','/home/paul/src/slimit/src/slimit/parser.py',311), + ('property_assignment -> GETPROP property_name LPAREN RPAREN LBRACE function_body RBRACE','property_assignment',7,'p_property_assignment','/home/paul/src/slimit/src/slimit/parser.py',312), + ('property_assignment -> SETPROP property_name LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','property_assignment',8,'p_property_assignment','/home/paul/src/slimit/src/slimit/parser.py',313), + ('property_name -> identifier','property_name',1,'p_property_name','/home/paul/src/slimit/src/slimit/parser.py',326), + ('property_name -> string_literal','property_name',1,'p_property_name','/home/paul/src/slimit/src/slimit/parser.py',327), + ('property_name -> numeric_literal','property_name',1,'p_property_name','/home/paul/src/slimit/src/slimit/parser.py',328), + ('member_expr -> primary_expr','member_expr',1,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',334), + ('member_expr -> function_expr','member_expr',1,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',335), + ('member_expr -> member_expr LBRACKET expr RBRACKET','member_expr',4,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',336), + ('member_expr -> member_expr PERIOD identifier','member_expr',3,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',337), + ('member_expr -> NEW member_expr arguments','member_expr',3,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',338), + ('member_expr_nobf -> primary_expr_no_brace','member_expr_nobf',1,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',350), + ('member_expr_nobf -> function_expr','member_expr_nobf',1,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',351), + ('member_expr_nobf -> member_expr_nobf LBRACKET expr RBRACKET','member_expr_nobf',4,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',352), + ('member_expr_nobf -> member_expr_nobf PERIOD identifier','member_expr_nobf',3,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',353), + ('member_expr_nobf -> NEW member_expr arguments','member_expr_nobf',3,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',354), + ('new_expr -> member_expr','new_expr',1,'p_new_expr','/home/paul/src/slimit/src/slimit/parser.py',366), + ('new_expr -> NEW new_expr','new_expr',2,'p_new_expr','/home/paul/src/slimit/src/slimit/parser.py',367), + ('new_expr_nobf -> member_expr_nobf','new_expr_nobf',1,'p_new_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',375), + ('new_expr_nobf -> NEW new_expr','new_expr_nobf',2,'p_new_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',376), + ('call_expr -> member_expr arguments','call_expr',2,'p_call_expr','/home/paul/src/slimit/src/slimit/parser.py',384), + ('call_expr -> call_expr arguments','call_expr',2,'p_call_expr','/home/paul/src/slimit/src/slimit/parser.py',385), + ('call_expr -> call_expr LBRACKET expr RBRACKET','call_expr',4,'p_call_expr','/home/paul/src/slimit/src/slimit/parser.py',386), + ('call_expr -> call_expr PERIOD identifier','call_expr',3,'p_call_expr','/home/paul/src/slimit/src/slimit/parser.py',387), + ('call_expr_nobf -> member_expr_nobf arguments','call_expr_nobf',2,'p_call_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',397), + ('call_expr_nobf -> call_expr_nobf arguments','call_expr_nobf',2,'p_call_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',398), + ('call_expr_nobf -> call_expr_nobf LBRACKET expr RBRACKET','call_expr_nobf',4,'p_call_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',399), + ('call_expr_nobf -> call_expr_nobf PERIOD identifier','call_expr_nobf',3,'p_call_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',400), + ('arguments -> LPAREN RPAREN','arguments',2,'p_arguments','/home/paul/src/slimit/src/slimit/parser.py',410), + ('arguments -> LPAREN argument_list RPAREN','arguments',3,'p_arguments','/home/paul/src/slimit/src/slimit/parser.py',411), + ('argument_list -> assignment_expr','argument_list',1,'p_argument_list','/home/paul/src/slimit/src/slimit/parser.py',417), + ('argument_list -> argument_list COMMA assignment_expr','argument_list',3,'p_argument_list','/home/paul/src/slimit/src/slimit/parser.py',418), + ('left_hand_side_expr -> new_expr','left_hand_side_expr',1,'p_lef_hand_side_expr','/home/paul/src/slimit/src/slimit/parser.py',427), + ('left_hand_side_expr -> call_expr','left_hand_side_expr',1,'p_lef_hand_side_expr','/home/paul/src/slimit/src/slimit/parser.py',428), + ('left_hand_side_expr_nobf -> new_expr_nobf','left_hand_side_expr_nobf',1,'p_lef_hand_side_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',433), + ('left_hand_side_expr_nobf -> call_expr_nobf','left_hand_side_expr_nobf',1,'p_lef_hand_side_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',434), + ('postfix_expr -> left_hand_side_expr','postfix_expr',1,'p_postfix_expr','/home/paul/src/slimit/src/slimit/parser.py',440), + ('postfix_expr -> left_hand_side_expr PLUSPLUS','postfix_expr',2,'p_postfix_expr','/home/paul/src/slimit/src/slimit/parser.py',441), + ('postfix_expr -> left_hand_side_expr MINUSMINUS','postfix_expr',2,'p_postfix_expr','/home/paul/src/slimit/src/slimit/parser.py',442), + ('postfix_expr_nobf -> left_hand_side_expr_nobf','postfix_expr_nobf',1,'p_postfix_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',450), + ('postfix_expr_nobf -> left_hand_side_expr_nobf PLUSPLUS','postfix_expr_nobf',2,'p_postfix_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',451), + ('postfix_expr_nobf -> left_hand_side_expr_nobf MINUSMINUS','postfix_expr_nobf',2,'p_postfix_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',452), + ('unary_expr -> postfix_expr','unary_expr',1,'p_unary_expr','/home/paul/src/slimit/src/slimit/parser.py',461), + ('unary_expr -> unary_expr_common','unary_expr',1,'p_unary_expr','/home/paul/src/slimit/src/slimit/parser.py',462), + ('unary_expr_nobf -> postfix_expr_nobf','unary_expr_nobf',1,'p_unary_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',467), + ('unary_expr_nobf -> unary_expr_common','unary_expr_nobf',1,'p_unary_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',468), + ('unary_expr_common -> DELETE unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',473), + ('unary_expr_common -> VOID unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',474), + ('unary_expr_common -> TYPEOF unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',475), + ('unary_expr_common -> PLUSPLUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',476), + ('unary_expr_common -> MINUSMINUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',477), + ('unary_expr_common -> PLUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',478), + ('unary_expr_common -> MINUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',479), + ('unary_expr_common -> BNOT unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',480), + ('unary_expr_common -> NOT unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',481), + ('multiplicative_expr -> unary_expr','multiplicative_expr',1,'p_multiplicative_expr','/home/paul/src/slimit/src/slimit/parser.py',487), + ('multiplicative_expr -> multiplicative_expr MULT unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/paul/src/slimit/src/slimit/parser.py',488), + ('multiplicative_expr -> multiplicative_expr DIV unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/paul/src/slimit/src/slimit/parser.py',489), + ('multiplicative_expr -> multiplicative_expr MOD unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/paul/src/slimit/src/slimit/parser.py',490), + ('multiplicative_expr_nobf -> unary_expr_nobf','multiplicative_expr_nobf',1,'p_multiplicative_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',498), + ('multiplicative_expr_nobf -> multiplicative_expr_nobf MULT unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',499), + ('multiplicative_expr_nobf -> multiplicative_expr_nobf DIV unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',500), + ('multiplicative_expr_nobf -> multiplicative_expr_nobf MOD unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',501), + ('additive_expr -> multiplicative_expr','additive_expr',1,'p_additive_expr','/home/paul/src/slimit/src/slimit/parser.py',510), + ('additive_expr -> additive_expr PLUS multiplicative_expr','additive_expr',3,'p_additive_expr','/home/paul/src/slimit/src/slimit/parser.py',511), + ('additive_expr -> additive_expr MINUS multiplicative_expr','additive_expr',3,'p_additive_expr','/home/paul/src/slimit/src/slimit/parser.py',512), + ('additive_expr_nobf -> multiplicative_expr_nobf','additive_expr_nobf',1,'p_additive_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',520), + ('additive_expr_nobf -> additive_expr_nobf PLUS multiplicative_expr','additive_expr_nobf',3,'p_additive_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',521), + ('additive_expr_nobf -> additive_expr_nobf MINUS multiplicative_expr','additive_expr_nobf',3,'p_additive_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',522), + ('shift_expr -> additive_expr','shift_expr',1,'p_shift_expr','/home/paul/src/slimit/src/slimit/parser.py',531), + ('shift_expr -> shift_expr LSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/paul/src/slimit/src/slimit/parser.py',532), + ('shift_expr -> shift_expr RSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/paul/src/slimit/src/slimit/parser.py',533), + ('shift_expr -> shift_expr URSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/paul/src/slimit/src/slimit/parser.py',534), + ('shift_expr_nobf -> additive_expr_nobf','shift_expr_nobf',1,'p_shift_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',542), + ('shift_expr_nobf -> shift_expr_nobf LSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',543), + ('shift_expr_nobf -> shift_expr_nobf RSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',544), + ('shift_expr_nobf -> shift_expr_nobf URSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',545), + ('relational_expr -> shift_expr','relational_expr',1,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',555), + ('relational_expr -> relational_expr LT shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',556), + ('relational_expr -> relational_expr GT shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',557), + ('relational_expr -> relational_expr LE shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',558), + ('relational_expr -> relational_expr GE shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',559), + ('relational_expr -> relational_expr INSTANCEOF shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',560), + ('relational_expr -> relational_expr IN shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',561), + ('relational_expr_noin -> shift_expr','relational_expr_noin',1,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',569), + ('relational_expr_noin -> relational_expr_noin LT shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',570), + ('relational_expr_noin -> relational_expr_noin GT shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',571), + ('relational_expr_noin -> relational_expr_noin LE shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',572), + ('relational_expr_noin -> relational_expr_noin GE shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',573), + ('relational_expr_noin -> relational_expr_noin INSTANCEOF shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',574), + ('relational_expr_nobf -> shift_expr_nobf','relational_expr_nobf',1,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',582), + ('relational_expr_nobf -> relational_expr_nobf LT shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',583), + ('relational_expr_nobf -> relational_expr_nobf GT shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',584), + ('relational_expr_nobf -> relational_expr_nobf LE shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',585), + ('relational_expr_nobf -> relational_expr_nobf GE shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',586), + ('relational_expr_nobf -> relational_expr_nobf INSTANCEOF shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',587), + ('relational_expr_nobf -> relational_expr_nobf IN shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',588), + ('equality_expr -> relational_expr','equality_expr',1,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',597), + ('equality_expr -> equality_expr EQEQ relational_expr','equality_expr',3,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',598), + ('equality_expr -> equality_expr NE relational_expr','equality_expr',3,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',599), + ('equality_expr -> equality_expr STREQ relational_expr','equality_expr',3,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',600), + ('equality_expr -> equality_expr STRNEQ relational_expr','equality_expr',3,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',601), + ('equality_expr_noin -> relational_expr_noin','equality_expr_noin',1,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',609), + ('equality_expr_noin -> equality_expr_noin EQEQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',610), + ('equality_expr_noin -> equality_expr_noin NE relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',611), + ('equality_expr_noin -> equality_expr_noin STREQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',612), + ('equality_expr_noin -> equality_expr_noin STRNEQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',613), + ('equality_expr_nobf -> relational_expr_nobf','equality_expr_nobf',1,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',621), + ('equality_expr_nobf -> equality_expr_nobf EQEQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',622), + ('equality_expr_nobf -> equality_expr_nobf NE relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',623), + ('equality_expr_nobf -> equality_expr_nobf STREQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',624), + ('equality_expr_nobf -> equality_expr_nobf STRNEQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',625), + ('bitwise_and_expr -> equality_expr','bitwise_and_expr',1,'p_bitwise_and_expr','/home/paul/src/slimit/src/slimit/parser.py',634), + ('bitwise_and_expr -> bitwise_and_expr BAND equality_expr','bitwise_and_expr',3,'p_bitwise_and_expr','/home/paul/src/slimit/src/slimit/parser.py',635), + ('bitwise_and_expr_noin -> equality_expr_noin','bitwise_and_expr_noin',1,'p_bitwise_and_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',643), + ('bitwise_and_expr_noin -> bitwise_and_expr_noin BAND equality_expr_noin','bitwise_and_expr_noin',3,'p_bitwise_and_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',644), + ('bitwise_and_expr_nobf -> equality_expr_nobf','bitwise_and_expr_nobf',1,'p_bitwise_and_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',653), + ('bitwise_and_expr_nobf -> bitwise_and_expr_nobf BAND equality_expr_nobf','bitwise_and_expr_nobf',3,'p_bitwise_and_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',654), + ('bitwise_xor_expr -> bitwise_and_expr','bitwise_xor_expr',1,'p_bitwise_xor_expr','/home/paul/src/slimit/src/slimit/parser.py',663), + ('bitwise_xor_expr -> bitwise_xor_expr BXOR bitwise_and_expr','bitwise_xor_expr',3,'p_bitwise_xor_expr','/home/paul/src/slimit/src/slimit/parser.py',664), + ('bitwise_xor_expr_noin -> bitwise_and_expr_noin','bitwise_xor_expr_noin',1,'p_bitwise_xor_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',673), + ('bitwise_xor_expr_noin -> bitwise_xor_expr_noin BXOR bitwise_and_expr_noin','bitwise_xor_expr_noin',3,'p_bitwise_xor_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',674), + ('bitwise_xor_expr_nobf -> bitwise_and_expr_nobf','bitwise_xor_expr_nobf',1,'p_bitwise_xor_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',684), + ('bitwise_xor_expr_nobf -> bitwise_xor_expr_nobf BXOR bitwise_and_expr_nobf','bitwise_xor_expr_nobf',3,'p_bitwise_xor_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',685), + ('bitwise_or_expr -> bitwise_xor_expr','bitwise_or_expr',1,'p_bitwise_or_expr','/home/paul/src/slimit/src/slimit/parser.py',694), + ('bitwise_or_expr -> bitwise_or_expr BOR bitwise_xor_expr','bitwise_or_expr',3,'p_bitwise_or_expr','/home/paul/src/slimit/src/slimit/parser.py',695), + ('bitwise_or_expr_noin -> bitwise_xor_expr_noin','bitwise_or_expr_noin',1,'p_bitwise_or_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',704), + ('bitwise_or_expr_noin -> bitwise_or_expr_noin BOR bitwise_xor_expr_noin','bitwise_or_expr_noin',3,'p_bitwise_or_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',705), + ('bitwise_or_expr_nobf -> bitwise_xor_expr_nobf','bitwise_or_expr_nobf',1,'p_bitwise_or_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',715), + ('bitwise_or_expr_nobf -> bitwise_or_expr_nobf BOR bitwise_xor_expr_nobf','bitwise_or_expr_nobf',3,'p_bitwise_or_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',716), + ('logical_and_expr -> bitwise_or_expr','logical_and_expr',1,'p_logical_and_expr','/home/paul/src/slimit/src/slimit/parser.py',726), + ('logical_and_expr -> logical_and_expr AND bitwise_or_expr','logical_and_expr',3,'p_logical_and_expr','/home/paul/src/slimit/src/slimit/parser.py',727), + ('logical_and_expr_noin -> bitwise_or_expr_noin','logical_and_expr_noin',1,'p_logical_and_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',736), + ('logical_and_expr_noin -> logical_and_expr_noin AND bitwise_or_expr_noin','logical_and_expr_noin',3,'p_logical_and_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',737), + ('logical_and_expr_nobf -> bitwise_or_expr_nobf','logical_and_expr_nobf',1,'p_logical_and_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',746), + ('logical_and_expr_nobf -> logical_and_expr_nobf AND bitwise_or_expr_nobf','logical_and_expr_nobf',3,'p_logical_and_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',747), + ('logical_or_expr -> logical_and_expr','logical_or_expr',1,'p_logical_or_expr','/home/paul/src/slimit/src/slimit/parser.py',755), + ('logical_or_expr -> logical_or_expr OR logical_and_expr','logical_or_expr',3,'p_logical_or_expr','/home/paul/src/slimit/src/slimit/parser.py',756), + ('logical_or_expr_noin -> logical_and_expr_noin','logical_or_expr_noin',1,'p_logical_or_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',764), + ('logical_or_expr_noin -> logical_or_expr_noin OR logical_and_expr_noin','logical_or_expr_noin',3,'p_logical_or_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',765), + ('logical_or_expr_nobf -> logical_and_expr_nobf','logical_or_expr_nobf',1,'p_logical_or_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',773), + ('logical_or_expr_nobf -> logical_or_expr_nobf OR logical_and_expr_nobf','logical_or_expr_nobf',3,'p_logical_or_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',774), + ('conditional_expr -> logical_or_expr','conditional_expr',1,'p_conditional_expr','/home/paul/src/slimit/src/slimit/parser.py',784), + ('conditional_expr -> logical_or_expr CONDOP assignment_expr COLON assignment_expr','conditional_expr',5,'p_conditional_expr','/home/paul/src/slimit/src/slimit/parser.py',785), + ('conditional_expr_noin -> logical_or_expr_noin','conditional_expr_noin',1,'p_conditional_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',796), + ('conditional_expr_noin -> logical_or_expr_noin CONDOP assignment_expr_noin COLON assignment_expr_noin','conditional_expr_noin',5,'p_conditional_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',797), + ('conditional_expr_nobf -> logical_or_expr_nobf','conditional_expr_nobf',1,'p_conditional_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',809), + ('conditional_expr_nobf -> logical_or_expr_nobf CONDOP assignment_expr COLON assignment_expr','conditional_expr_nobf',5,'p_conditional_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',810), + ('assignment_expr -> conditional_expr','assignment_expr',1,'p_assignment_expr','/home/paul/src/slimit/src/slimit/parser.py',822), + ('assignment_expr -> left_hand_side_expr assignment_operator assignment_expr','assignment_expr',3,'p_assignment_expr','/home/paul/src/slimit/src/slimit/parser.py',823), + ('assignment_expr_noin -> conditional_expr_noin','assignment_expr_noin',1,'p_assignment_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',833), + ('assignment_expr_noin -> left_hand_side_expr assignment_operator assignment_expr_noin','assignment_expr_noin',3,'p_assignment_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',834), + ('assignment_expr_nobf -> conditional_expr_nobf','assignment_expr_nobf',1,'p_assignment_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',844), + ('assignment_expr_nobf -> left_hand_side_expr_nobf assignment_operator assignment_expr','assignment_expr_nobf',3,'p_assignment_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',845), + ('assignment_operator -> EQ','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',854), + ('assignment_operator -> MULTEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',855), + ('assignment_operator -> DIVEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',856), + ('assignment_operator -> MODEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',857), + ('assignment_operator -> PLUSEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',858), + ('assignment_operator -> MINUSEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',859), + ('assignment_operator -> LSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',860), + ('assignment_operator -> RSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',861), + ('assignment_operator -> URSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',862), + ('assignment_operator -> ANDEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',863), + ('assignment_operator -> XOREQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',864), + ('assignment_operator -> OREQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',865), + ('expr -> assignment_expr','expr',1,'p_expr','/home/paul/src/slimit/src/slimit/parser.py',871), + ('expr -> expr COMMA assignment_expr','expr',3,'p_expr','/home/paul/src/slimit/src/slimit/parser.py',872), + ('expr_noin -> assignment_expr_noin','expr_noin',1,'p_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',880), + ('expr_noin -> expr_noin COMMA assignment_expr_noin','expr_noin',3,'p_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',881), + ('expr_nobf -> assignment_expr_nobf','expr_nobf',1,'p_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',889), + ('expr_nobf -> expr_nobf COMMA assignment_expr','expr_nobf',3,'p_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',890), + ('variable_statement -> VAR variable_declaration_list SEMI','variable_statement',3,'p_variable_statement','/home/paul/src/slimit/src/slimit/parser.py',899), + ('variable_statement -> VAR variable_declaration_list auto_semi','variable_statement',3,'p_variable_statement','/home/paul/src/slimit/src/slimit/parser.py',900), + ('variable_declaration_list -> variable_declaration','variable_declaration_list',1,'p_variable_declaration_list','/home/paul/src/slimit/src/slimit/parser.py',906), + ('variable_declaration_list -> variable_declaration_list COMMA variable_declaration','variable_declaration_list',3,'p_variable_declaration_list','/home/paul/src/slimit/src/slimit/parser.py',907), + ('variable_declaration_list_noin -> variable_declaration_noin','variable_declaration_list_noin',1,'p_variable_declaration_list_noin','/home/paul/src/slimit/src/slimit/parser.py',918), + ('variable_declaration_list_noin -> variable_declaration_list_noin COMMA variable_declaration_noin','variable_declaration_list_noin',3,'p_variable_declaration_list_noin','/home/paul/src/slimit/src/slimit/parser.py',919), + ('variable_declaration -> identifier','variable_declaration',1,'p_variable_declaration','/home/paul/src/slimit/src/slimit/parser.py',929), + ('variable_declaration -> identifier initializer','variable_declaration',2,'p_variable_declaration','/home/paul/src/slimit/src/slimit/parser.py',930), + ('variable_declaration_noin -> identifier','variable_declaration_noin',1,'p_variable_declaration_noin','/home/paul/src/slimit/src/slimit/parser.py',938), + ('variable_declaration_noin -> identifier initializer_noin','variable_declaration_noin',2,'p_variable_declaration_noin','/home/paul/src/slimit/src/slimit/parser.py',939), + ('initializer -> EQ assignment_expr','initializer',2,'p_initializer','/home/paul/src/slimit/src/slimit/parser.py',947), + ('initializer_noin -> EQ assignment_expr_noin','initializer_noin',2,'p_initializer_noin','/home/paul/src/slimit/src/slimit/parser.py',951), + ('empty_statement -> SEMI','empty_statement',1,'p_empty_statement','/home/paul/src/slimit/src/slimit/parser.py',956), + ('expr_statement -> expr_nobf SEMI','expr_statement',2,'p_expr_statement','/home/paul/src/slimit/src/slimit/parser.py',961), + ('expr_statement -> expr_nobf auto_semi','expr_statement',2,'p_expr_statement','/home/paul/src/slimit/src/slimit/parser.py',962), + ('if_statement -> IF LPAREN expr RPAREN statement','if_statement',5,'p_if_statement_1','/home/paul/src/slimit/src/slimit/parser.py',968), + ('if_statement -> IF LPAREN expr RPAREN statement ELSE statement','if_statement',7,'p_if_statement_2','/home/paul/src/slimit/src/slimit/parser.py',972), + ('iteration_statement -> DO statement WHILE LPAREN expr RPAREN SEMI','iteration_statement',7,'p_iteration_statement_1','/home/paul/src/slimit/src/slimit/parser.py',978), + ('iteration_statement -> DO statement WHILE LPAREN expr RPAREN auto_semi','iteration_statement',7,'p_iteration_statement_1','/home/paul/src/slimit/src/slimit/parser.py',979), + ('iteration_statement -> WHILE LPAREN expr RPAREN statement','iteration_statement',5,'p_iteration_statement_2','/home/paul/src/slimit/src/slimit/parser.py',985), + ('iteration_statement -> FOR LPAREN expr_noin_opt SEMI expr_opt SEMI expr_opt RPAREN statement','iteration_statement',9,'p_iteration_statement_3','/home/paul/src/slimit/src/slimit/parser.py',990), + ('iteration_statement -> FOR LPAREN VAR variable_declaration_list_noin SEMI expr_opt SEMI expr_opt RPAREN statement','iteration_statement',10,'p_iteration_statement_3','/home/paul/src/slimit/src/slimit/parser.py',991), + ('iteration_statement -> FOR LPAREN left_hand_side_expr IN expr RPAREN statement','iteration_statement',7,'p_iteration_statement_4','/home/paul/src/slimit/src/slimit/parser.py',1004), + ('iteration_statement -> FOR LPAREN VAR identifier IN expr RPAREN statement','iteration_statement',8,'p_iteration_statement_5','/home/paul/src/slimit/src/slimit/parser.py',1011), + ('iteration_statement -> FOR LPAREN VAR identifier initializer_noin IN expr RPAREN statement','iteration_statement',9,'p_iteration_statement_6','/home/paul/src/slimit/src/slimit/parser.py',1018), + ('expr_opt -> empty','expr_opt',1,'p_expr_opt','/home/paul/src/slimit/src/slimit/parser.py',1025), + ('expr_opt -> expr','expr_opt',1,'p_expr_opt','/home/paul/src/slimit/src/slimit/parser.py',1026), + ('expr_noin_opt -> empty','expr_noin_opt',1,'p_expr_noin_opt','/home/paul/src/slimit/src/slimit/parser.py',1031), + ('expr_noin_opt -> expr_noin','expr_noin_opt',1,'p_expr_noin_opt','/home/paul/src/slimit/src/slimit/parser.py',1032), + ('continue_statement -> CONTINUE SEMI','continue_statement',2,'p_continue_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1038), + ('continue_statement -> CONTINUE auto_semi','continue_statement',2,'p_continue_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1039), + ('continue_statement -> CONTINUE identifier SEMI','continue_statement',3,'p_continue_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1044), + ('continue_statement -> CONTINUE identifier auto_semi','continue_statement',3,'p_continue_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1045), + ('break_statement -> BREAK SEMI','break_statement',2,'p_break_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1051), + ('break_statement -> BREAK auto_semi','break_statement',2,'p_break_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1052), + ('break_statement -> BREAK identifier SEMI','break_statement',3,'p_break_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1057), + ('break_statement -> BREAK identifier auto_semi','break_statement',3,'p_break_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1058), + ('return_statement -> RETURN SEMI','return_statement',2,'p_return_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1065), + ('return_statement -> RETURN auto_semi','return_statement',2,'p_return_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1066), + ('return_statement -> RETURN expr SEMI','return_statement',3,'p_return_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1071), + ('return_statement -> RETURN expr auto_semi','return_statement',3,'p_return_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1072), + ('with_statement -> WITH LPAREN expr RPAREN statement','with_statement',5,'p_with_statement','/home/paul/src/slimit/src/slimit/parser.py',1078), + ('switch_statement -> SWITCH LPAREN expr RPAREN case_block','switch_statement',5,'p_switch_statement','/home/paul/src/slimit/src/slimit/parser.py',1083), + ('case_block -> LBRACE case_clauses_opt RBRACE','case_block',3,'p_case_block','/home/paul/src/slimit/src/slimit/parser.py',1097), + ('case_block -> LBRACE case_clauses_opt default_clause case_clauses_opt RBRACE','case_block',5,'p_case_block','/home/paul/src/slimit/src/slimit/parser.py',1098), + ('case_clauses_opt -> empty','case_clauses_opt',1,'p_case_clauses_opt','/home/paul/src/slimit/src/slimit/parser.py',1104), + ('case_clauses_opt -> case_clauses','case_clauses_opt',1,'p_case_clauses_opt','/home/paul/src/slimit/src/slimit/parser.py',1105), + ('case_clauses -> case_clause','case_clauses',1,'p_case_clauses','/home/paul/src/slimit/src/slimit/parser.py',1110), + ('case_clauses -> case_clauses case_clause','case_clauses',2,'p_case_clauses','/home/paul/src/slimit/src/slimit/parser.py',1111), + ('case_clause -> CASE expr COLON source_elements','case_clause',4,'p_case_clause','/home/paul/src/slimit/src/slimit/parser.py',1120), + ('default_clause -> DEFAULT COLON source_elements','default_clause',3,'p_default_clause','/home/paul/src/slimit/src/slimit/parser.py',1124), + ('labelled_statement -> identifier COLON statement','labelled_statement',3,'p_labelled_statement','/home/paul/src/slimit/src/slimit/parser.py',1129), + ('throw_statement -> THROW expr SEMI','throw_statement',3,'p_throw_statement','/home/paul/src/slimit/src/slimit/parser.py',1134), + ('throw_statement -> THROW expr auto_semi','throw_statement',3,'p_throw_statement','/home/paul/src/slimit/src/slimit/parser.py',1135), + ('try_statement -> TRY block catch','try_statement',3,'p_try_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1141), + ('try_statement -> TRY block finally','try_statement',3,'p_try_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1145), + ('try_statement -> TRY block catch finally','try_statement',4,'p_try_statement_3','/home/paul/src/slimit/src/slimit/parser.py',1149), + ('catch -> CATCH LPAREN identifier RPAREN block','catch',5,'p_catch','/home/paul/src/slimit/src/slimit/parser.py',1153), + ('finally -> FINALLY block','finally',2,'p_finally','/home/paul/src/slimit/src/slimit/parser.py',1157), + ('debugger_statement -> DEBUGGER SEMI','debugger_statement',2,'p_debugger_statement','/home/paul/src/slimit/src/slimit/parser.py',1162), + ('debugger_statement -> DEBUGGER auto_semi','debugger_statement',2,'p_debugger_statement','/home/paul/src/slimit/src/slimit/parser.py',1163), + ('function_declaration -> FUNCTION identifier LPAREN RPAREN LBRACE function_body RBRACE','function_declaration',7,'p_function_declaration','/home/paul/src/slimit/src/slimit/parser.py',1170), + ('function_declaration -> FUNCTION identifier LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_declaration',8,'p_function_declaration','/home/paul/src/slimit/src/slimit/parser.py',1171), + ('function_expr -> FUNCTION LPAREN RPAREN LBRACE function_body RBRACE','function_expr',6,'p_function_expr_1','/home/paul/src/slimit/src/slimit/parser.py',1184), + ('function_expr -> FUNCTION LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_expr',7,'p_function_expr_1','/home/paul/src/slimit/src/slimit/parser.py',1185), + ('function_expr -> FUNCTION identifier LPAREN RPAREN LBRACE function_body RBRACE','function_expr',7,'p_function_expr_2','/home/paul/src/slimit/src/slimit/parser.py',1198), + ('function_expr -> FUNCTION identifier LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_expr',8,'p_function_expr_2','/home/paul/src/slimit/src/slimit/parser.py',1199), + ('formal_parameter_list -> identifier','formal_parameter_list',1,'p_formal_parameter_list','/home/paul/src/slimit/src/slimit/parser.py',1212), + ('formal_parameter_list -> formal_parameter_list COMMA identifier','formal_parameter_list',3,'p_formal_parameter_list','/home/paul/src/slimit/src/slimit/parser.py',1213), + ('function_body -> source_elements','function_body',1,'p_function_body','/home/paul/src/slimit/src/slimit/parser.py',1222), ] From 6aa92d68e0fe3c70a10967effd16d46e306c71c8 Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Tue, 26 Aug 2014 17:14:54 -0700 Subject: [PATCH 24/27] Expose the tracking option through the Parser --- src/slimit/parser.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/slimit/parser.py b/src/slimit/parser.py index 8adacf0..bd93fe6 100644 --- a/src/slimit/parser.py +++ b/src/slimit/parser.py @@ -45,12 +45,14 @@ class Parser(object): """ def __init__(self, lex_optimize=True, lextab=lextab, - yacc_optimize=True, yacctab=yacctab, yacc_debug=False): + yacc_optimize=True, yacctab=yacctab, yacc_debug=False, + yacc_tracking=False): self.lex_optimize = lex_optimize self.lextab = lextab self.yacc_optimize = yacc_optimize self.yacctab = yacctab self.yacc_debug = yacc_debug + self.yacc_tracking = yacc_tracking self.lexer = Lexer() self.lexer.build(optimize=lex_optimize, lextab=lextab) @@ -90,7 +92,7 @@ def _raise_syntax_error(self, token): ) def parse(self, text, debug=False): - return self.parser.parse(text, lexer=self.lexer, debug=debug) + return self.parser.parse(text, lexer=self.lexer, debug=debug, tracking=self.yacc_tracking) def p_empty(self, p): """empty :""" From 8f9a39c776966a91ae5addeb89c593bd65fccbdd Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Tue, 26 Aug 2014 17:15:26 -0700 Subject: [PATCH 25/27] Update lineno at the end of lines and block comments --- src/slimit/lexer.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/slimit/lexer.py b/src/slimit/lexer.py index f9be17e..693656b 100644 --- a/src/slimit/lexer.py +++ b/src/slimit/lexer.py @@ -120,6 +120,7 @@ def token(self): except IndexError: tok = self._get_update_token() if tok is not None and tok.type == 'LINE_TERMINATOR': + lexer.lineno += len(tok.value.splitlines()); continue else: return tok @@ -128,6 +129,7 @@ def token(self): tok = self._get_update_token() if tok.type in ('LINE_TERMINATOR', 'LINE_COMMENT', 'BLOCK_COMMENT'): + lexer.lineno += len(tok.value.splitlines()); continue else: return tok From 08e604237e07c744bf23d79ed188a8d3f08d26e5 Mon Sep 17 00:00:00 2001 From: Neil Smith Date: Tue, 26 Aug 2014 17:16:13 -0700 Subject: [PATCH 26/27] Track lineno and lexpos through nodes in the AST --- src/slimit/ast.py | 11 +++++++++-- src/slimit/parser.py | 14 +++++++------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/slimit/ast.py b/src/slimit/ast.py index fcedfb2..f841652 100644 --- a/src/slimit/ast.py +++ b/src/slimit/ast.py @@ -26,8 +26,14 @@ class Node(object): - def __init__(self, children=None): + def __init__(self, children=None, p=None): self._children_list = [] if children is None else children + self.setpos(p) + + def setpos(self, p): + self.lexpos = None if p is None else p.lexpos(1); + self.lineno = None if p is None else p.lineno(1); + # print 'setpos', self, p, self.lexpos, self.lineno def __iter__(self): for child in self.children(): @@ -309,10 +315,11 @@ def __repr__(self): return 'VarStatement(children={!r})'.format(self.children()) class VarDecl(Node): - def __init__(self, identifier, initializer=None): + def __init__(self, identifier, initializer=None, p=None): self.identifier = identifier self.identifier._mangle_candidate = True self.initializer = initializer + self.setpos(p) def children(self): return [self.identifier, self.initializer] diff --git a/src/slimit/parser.py b/src/slimit/parser.py index bd93fe6..405ad81 100644 --- a/src/slimit/parser.py +++ b/src/slimit/parser.py @@ -901,7 +901,7 @@ def p_variable_statement(self, p): """variable_statement : VAR variable_declaration_list SEMI | VAR variable_declaration_list auto_semi """ - p[0] = ast.VarStatement(p[2]) + p[0] = ast.VarStatement(p[2], p=p) def p_variable_declaration_list(self, p): """ @@ -932,18 +932,18 @@ def p_variable_declaration(self, p): | identifier initializer """ if len(p) == 2: - p[0] = ast.VarDecl(p[1]) + p[0] = ast.VarDecl(p[1], p=p) else: - p[0] = ast.VarDecl(p[1], p[2]) + p[0] = ast.VarDecl(p[1], p[2], p=p) def p_variable_declaration_noin(self, p): """variable_declaration_noin : identifier | identifier initializer_noin """ if len(p) == 2: - p[0] = ast.VarDecl(p[1]) + p[0] = ast.VarDecl(p[1], p=p) else: - p[0] = ast.VarDecl(p[1], p[2]) + p[0] = ast.VarDecl(p[1], p[2], p=p) def p_initializer(self, p): """initializer : EQ assignment_expr""" @@ -1013,14 +1013,14 @@ def p_iteration_statement_5(self, p): iteration_statement : \ FOR LPAREN VAR identifier IN expr RPAREN statement """ - p[0] = ast.ForIn(item=ast.VarDecl(p[4]), iterable=p[6], statement=p[8]) + p[0] = ast.ForIn(item=ast.VarDecl(p[4], p=p), iterable=p[6], statement=p[8]) def p_iteration_statement_6(self, p): """ iteration_statement \ : FOR LPAREN VAR identifier initializer_noin IN expr RPAREN statement """ - p[0] = ast.ForIn(item=ast.VarDecl(identifier=p[4], initializer=p[5]), + p[0] = ast.ForIn(item=ast.VarDecl(identifier=p[4], initializer=p[5], p=p), iterable=p[7], statement=p[9]) def p_expr_opt(self, p): From cd76bdeab66c3b81fa7f3bb5cac0ab81bd4f26f3 Mon Sep 17 00:00:00 2001 From: Lele Gaifax Date: Tue, 16 Feb 2016 16:38:14 +0100 Subject: [PATCH 27/27] Recompile lextab and yacctab with PLY 3.8 --- src/slimit/lextab.py | 15 +- src/slimit/yacctab.py | 620 +++++++++++++++++++++--------------------- 2 files changed, 318 insertions(+), 317 deletions(-) diff --git a/src/slimit/lextab.py b/src/slimit/lextab.py index 54329bf..2c56ef7 100644 --- a/src/slimit/lextab.py +++ b/src/slimit/lextab.py @@ -1,9 +1,10 @@ -# lextab.py. This file automatically created by PLY (version 3.4). Don't edit! -_tabversion = '3.4' -_lextokens = {'BOR': 1, 'LBRACKET': 1, 'WITH': 1, 'MINUS': 1, 'RPAREN': 1, 'PLUS': 1, 'IMPORT': 1, 'VOID': 1, 'BLOCK_COMMENT': 1, 'GT': 1, 'RBRACE': 1, 'ENUM': 1, 'PERIOD': 1, 'GE': 1, 'EXTENDS': 1, 'VAR': 1, 'THIS': 1, 'MINUSEQUAL': 1, 'TYPEOF': 1, 'OR': 1, 'DELETE': 1, 'DIVEQUAL': 1, 'RETURN': 1, 'RSHIFTEQUAL': 1, 'EQEQ': 1, 'SETPROP': 1, 'BNOT': 1, 'URSHIFTEQUAL': 1, 'TRUE': 1, 'COLON': 1, 'FUNCTION': 1, 'LINE_COMMENT': 1, 'FOR': 1, 'PLUSPLUS': 1, 'ELSE': 1, 'TRY': 1, 'EQ': 1, 'AND': 1, 'LBRACE': 1, 'CONTINUE': 1, 'NOT': 1, 'OREQUAL': 1, 'MOD': 1, 'RSHIFT': 1, 'DEFAULT': 1, 'WHILE': 1, 'NEW': 1, 'CASE': 1, 'MODEQUAL': 1, 'NE': 1, 'MULTEQUAL': 1, 'SWITCH': 1, 'CATCH': 1, 'STREQ': 1, 'INSTANCEOF': 1, 'PLUSEQUAL': 1, 'GETPROP': 1, 'FALSE': 1, 'CONDOP': 1, 'BREAK': 1, 'LINE_TERMINATOR': 1, 'ANDEQUAL': 1, 'DO': 1, 'CONST': 1, 'NUMBER': 1, 'EXPORT': 1, 'LSHIFT': 1, 'DIV': 1, 'NULL': 1, 'MULT': 1, 'DEBUGGER': 1, 'LE': 1, 'SEMI': 1, 'BXOR': 1, 'LT': 1, 'COMMA': 1, 'CLASS': 1, 'REGEX': 1, 'STRING': 1, 'BAND': 1, 'FINALLY': 1, 'STRNEQ': 1, 'LPAREN': 1, 'IN': 1, 'MINUSMINUS': 1, 'ID': 1, 'IF': 1, 'XOREQUAL': 1, 'LSHIFTEQUAL': 1, 'URSHIFT': 1, 'RBRACKET': 1, 'SUPER': 1, 'THROW': 1} +# lextab.py. This file automatically created by PLY (version 3.8). Don't edit! +_tabversion = '3.8' +_lextokens = {'SETPROP', 'MINUSEQUAL', 'OREQUAL', 'NOT', 'BOR', 'WITH', 'DIV', 'IF', 'REGEX', 'LBRACE', 'DO', 'EQ', 'BNOT', 'FALSE', 'DEBUGGER', 'CLASS', 'COLON', 'CONTINUE', 'BXOR', 'TRY', 'MINUS', 'CATCH', 'URSHIFT', 'RBRACKET', 'EXPORT', 'LINE_COMMENT', 'PLUSPLUS', 'COMMA', 'BLOCK_COMMENT', 'ANDEQUAL', 'ID', 'LINE_TERMINATOR', 'GE', 'NUMBER', 'TRUE', 'NE', 'EXTENDS', 'LSHIFTEQUAL', 'SWITCH', 'NULL', 'LSHIFT', 'SUPER', 'THROW', 'FUNCTION', 'WHILE', 'GT', 'LE', 'RBRACE', 'DELETE', 'STREQ', 'INSTANCEOF', 'IMPORT', 'MULT', 'NEW', 'AND', 'RSHIFT', 'CONST', 'DIVEQUAL', 'VOID', 'URSHIFTEQUAL', 'STRING', 'TYPEOF', 'MODEQUAL', 'SEMI', 'LT', 'FOR', 'GETPROP', 'BAND', 'PLUS', 'LBRACKET', 'LPAREN', 'CASE', 'FINALLY', 'CONDOP', 'ELSE', 'PERIOD', 'IN', 'DEFAULT', 'RETURN', 'MINUSMINUS', 'ENUM', 'XOREQUAL', 'VAR', 'THIS', 'MULTEQUAL', 'BREAK', 'RPAREN', 'PLUSEQUAL', 'STRNEQ', 'MOD', 'EQEQ', 'OR', 'RSHIFTEQUAL'} _lexreflags = 0 _lexliterals = '' -_lexstateinfo = {'regex': 'exclusive', 'INITIAL': 'inclusive'} -_lexstatere = {'regex': [('(?P(?:\n / # opening slash\n # First character is..\n (?: [^*\\\\/[] # anything but * \\ / or [\n | \\\\. # or an escape sequence\n | \\[ # or a class, which has\n (?: [^\\]\\\\] # anything but \\ or ]\n | \\\\. # or an escape sequence\n )* # many times\n \\]\n )\n # Following characters are same, except for excluding a star\n (?: [^\\\\/[] # anything but \\ / or [\n | \\\\. # or an escape sequence\n | \\[ # or a class, which has\n (?: [^\\]\\\\] # anything but \\ or ]\n | \\\\. # or an escape sequence\n )* # many times\n \\]\n )* # many times\n / # closing slash\n [a-zA-Z0-9]* # trailing flags\n )\n )', [None, (None, 'REGEX')])], 'INITIAL': [(u'(?P\n (?:\n # double quoted string\n (?:" # opening double quote\n (?: [^"\\\\\\n\\r] # no \\, line terminators or "\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.1)\n )*? # zero or many times\n (?: \\\\\\n # multiline ?\n (?:\n [^"\\\\\\n\\r] # no \\, line terminators or "\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.1)\n )*? # zero or many times\n )*\n ") # closing double quote\n |\n # single quoted string\n (?:\' # opening single quote\n (?: [^\'\\\\\\n\\r] # no \\, line terminators or \'\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.1)\n )*? # zero or many times\n (?: \\\\\\n # multiline ?\n (?:\n [^\'\\\\\\n\\r] # no \\, line terminators or \'\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.1)\n )*? # zero or many times\n )*\n \') # closing single quote\n )\n )|(?Pget(?=\\s(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*))|(?Pset(?=\\s(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*))|(?P(?:[a-zA-Z_$]|[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0523\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0621-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971\u0972\u097b-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d28\u0d2a-\u0d39\u0d3d\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc\u0edd\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8b\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1159\u115f-\u11a2\u11a8-\u11f9\u1200-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u1676\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19a9\u19c1-\u19c7\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u2094\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2183\u2184\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2c6f\u2c71-\u2c7d\u2c80-\u2ce4\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u3006\u3031-\u3035\u303b\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31b7\u31f0-\u31ff\u3400\u4db5\u4e00\u9fc3\ua000-\ua48c\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua65f\ua662-\ua66e\ua67f-\ua697\ua717-\ua71f\ua722-\ua788\ua78b\ua78c\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua90a-\ua925\ua930-\ua946\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uac00\ud7a3\uf900-\ufa2d\ufa30-\ufa6a\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc])+(?:[\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09c1-\u09c4\u09cd\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b62\u0b63\u0b82\u0bc0\u0bcd\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc6\u0ccc\u0ccd\u0ce2\u0ce3\u0d41-\u0d44\u0d4d\u0d62\u0d63\u0dca\u0dd2-\u0dd4\u0dd6\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26]|[\u0903\u093e-\u0940\u0949-\u094c\u094e\u0982\u0983\u09be-\u09c0\u09c7\u09c8\u09cb\u09cc\u09d7\u0a03\u0a3e-\u0a40\u0a83\u0abe-\u0ac0\u0ac9\u0acb\u0acc\u0b02\u0b03\u0b3e\u0b40\u0b47\u0b48\u0b4b\u0b4c\u0b57\u0bbe\u0bbf\u0bc1\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcc\u0bd7\u0c01-\u0c03\u0c41-\u0c44\u0c82\u0c83\u0cbe\u0cc0-\u0cc4\u0cc7\u0cc8\u0cca\u0ccb\u0cd5\u0cd6\u0d02\u0d03\u0d3e-\u0d40\u0d46-\u0d48\u0d4a-\u0d4c\u0d57\u0d82\u0d83\u0dcf-\u0dd1\u0dd8-\u0ddf\u0df2\u0df3\u0f3e\u0f3f\u0f7f\u102b\u102c\u1031\u1038\u103b\u103c\u1056\u1057\u1062-\u1064\u1067-\u106d\u1083\u1084\u1087-\u108c\u108f\u109a-\u109c\u17b6\u17be-\u17c5\u17c7\u17c8\u1923-\u1926\u1929-\u192b\u1930\u1931\u1933-\u1938\u19b0-\u19c0\u19c8\u19c9\u1a19-\u1a1b\u1a55\u1a57\u1a61\u1a63\u1a64\u1a6d-\u1a72\u1b04\u1b35\u1b3b\u1b3d-\u1b41\u1b43\u1b44\u1b82\u1ba1\u1ba6\u1ba7\u1baa\u1c24-\u1c2b\u1c34\u1c35\u1ce1\u1cf2\ua823\ua824\ua827\ua880\ua881\ua8b4-\ua8c3\ua952\ua953\ua983\ua9b4\ua9b5\ua9ba\ua9bb\ua9bd-\ua9c0\uaa2f\uaa30\uaa33\uaa34\uaa4d\uaa7b\uabe3\uabe4\uabe6\uabe7\uabe9\uabea\uabec]|[0-9a-zA-Z_$]|[0-9\u0660-\u0669\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19da\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9\uff10-\uff19]|[_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f])*)|(?P\n (?:\n 0[xX][0-9a-fA-F]+ # hex_integer_literal\n | 0[0-7]+ # or octal_integer_literal (spec B.1.1)\n | (?: # or decimal_literal\n (?:0|[1-9][0-9]*) # decimal_integer_literal\n \\. # dot\n [0-9]* # decimal_digits_opt\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n |\n \\. # dot\n [0-9]+ # decimal_digits\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n |\n (?:0|[1-9][0-9]*) # decimal_integer_literal\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n )\n )\n )|(?P/\\*[^*]*\\*+([^/*][^*]*\\*+)*/)|(?P//[^\\r\\n]*)|(?P[\\n\\r]+)|(?P\\+\\+)|(?P\\|\\|)|(?P>>>=)|(?P\\^=)|(?P\\|=)|(?P<<=)|(?P!==)|(?P>>=)|(?P>>>)|(?P\\+=)|(?P\\*=)|(?P===)|(?P\\.)|(?P\\+)|(?P%=)|(?P/=)|(?P\\])|(?P\\?)|(?P\\|)|(?P<<)|(?P<=)|(?P\\^)|(?P\\()|(?P\\*)|(?P!=)|(?P--)|(?P&&)|(?P\\[)|(?P>=)|(?P\\))|(?P>>)|(?P&=)|(?P-=)|(?P==)|(?P{)|(?P<)|(?P,)|(?P=)|(?P~)|(?P})|(?P/)|(?P%)|(?P;)|(?P-)|(?P>)|(?P:)|(?P&)|(?P!)', [None, (u't_STRING', 'STRING'), (u't_GETPROP', 'GETPROP'), (u't_SETPROP', 'SETPROP'), (u't_ID', 'ID'), (None, 'NUMBER'), (None, 'BLOCK_COMMENT'), None, (None, 'LINE_COMMENT'), (None, 'LINE_TERMINATOR'), (None, 'PLUSPLUS'), (None, 'OR'), (None, 'URSHIFTEQUAL'), (None, 'XOREQUAL'), (None, 'OREQUAL'), (None, 'LSHIFTEQUAL'), (None, 'STRNEQ'), (None, 'RSHIFTEQUAL'), (None, 'URSHIFT'), (None, 'PLUSEQUAL'), (None, 'MULTEQUAL'), (None, 'STREQ'), (None, 'PERIOD'), (None, 'PLUS'), (None, 'MODEQUAL'), (None, 'DIVEQUAL'), (None, 'RBRACKET'), (None, 'CONDOP'), (None, 'BOR'), (None, 'LSHIFT'), (None, 'LE'), (None, 'BXOR'), (None, 'LPAREN'), (None, 'MULT'), (None, 'NE'), (None, 'MINUSMINUS'), (None, 'AND'), (None, 'LBRACKET'), (None, 'GE'), (None, 'RPAREN'), (None, 'RSHIFT'), (None, 'ANDEQUAL'), (None, 'MINUSEQUAL'), (None, 'EQEQ'), (None, 'LBRACE'), (None, 'LT'), (None, 'COMMA'), (None, 'EQ'), (None, 'BNOT'), (None, 'RBRACE'), (None, 'DIV'), (None, 'MOD'), (None, 'SEMI'), (None, 'MINUS'), (None, 'GT'), (None, 'COLON'), (None, 'BAND'), (None, 'NOT')])]} -_lexstateignore = {'regex': ' \t', 'INITIAL': ' \t'} -_lexstateerrorf = {'regex': 't_regex_error', 'INITIAL': 't_error'} +_lexstateinfo = {'INITIAL': 'inclusive', 'regex': 'exclusive'} +_lexstatere = {'INITIAL': [('(?P\n (?:\n # double quoted string\n (?:" # opening double quote\n (?: [^"\\\\\\n\\r] # no \\, line terminators or "\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.2)\n )*? # zero or many times\n (?: \\\\\\n # multiline ?\n (?:\n [^"\\\\\\n\\r] # no \\, line terminators or "\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.2)\n )*? # zero or many times\n )*\n ") # closing double quote\n |\n # single quoted string\n (?:\' # opening single quote\n (?: [^\'\\\\\\n\\r] # no \\, line terminators or \'\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.2)\n )*? # zero or many times\n (?: \\\\\\n # multiline ?\n (?:\n [^\'\\\\\\n\\r] # no \\, line terminators or \'\n | \\\\[a-zA-Z!-\\/:-@\\[-`{-~] # or escaped characters\n | \\\\x[0-9a-fA-F]{2} # or hex_escape_sequence\n | \\\\u[0-9a-fA-F]{4} # or unicode_escape_sequence\n | \\\\(?:[1-7][0-7]{0,2}|[0-7]{2,3}) # or octal_escape_sequence (spec B.1.2)\n )*? # zero or many times\n )*\n \') # closing single quote\n )\n )|(?Pget(?=\\s(?:[a-zA-Z_$]|[A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԣԱ-Ֆՙա-ևא-תװ-ײء-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺऄ-हऽॐक़-ॡॱॲॻ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡഅ-ഌഎ-ഐഒ-നപ-ഹഽൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜໝༀཀ-ཇཉ-ཬྈ-ྋက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-Ⴥა-ჺჼᄀ-ᅙᅟ-ᆢᆨ-ᇹሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦩᧁ-ᧇᨀ-ᨖᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᰀ-ᰣᱍ-ᱏᱚ-ᱽᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₔℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-Ɐⱱ-ⱽⲀ-ⳤⴀ-ⴥⴰ-ⵥⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆷㇰ-ㇿ㐀䶵一鿃ꀀ-ꒌꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙟꙢ-ꙮꙿ-ꚗꜗ-ꜟꜢ-ꞈꞋꞌꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꤊ-ꤥꤰ-ꥆꨀ-ꨨꩀ-ꩂꩄ-ꩋ가힣豈-鶴侮-頻並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])+(?:[̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٞۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࠭ऀ-ं़ु-ै्॑-ॕॢॣঁ়ু-ৄ্ৢৣਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣଁ଼ିୁ-ୄ୍ୖୢୣஂீ்ా-ీె-ైొ-్ౕౖౢౣ಼ಿೆೌ್ೢೣു-ൄ്ൢൣ්ි-ුූัิ-ฺ็-๎ັິ-ູົຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྐ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፟ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳិ-ួំ៉-៓៝᠋-᠍ᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼ᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᷀-᷽ᷦ-᷿⃐-⃥⃜⃡-⃰⳯-⳱ⷠ-〪ⷿ-゙゚〯꙯꙼꙽꛰꛱ꠂ꠆ꠋꠥꠦ꣄꣠-꣱ꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꨩ-ꨮꨱꨲꨵꨶꩃꩌꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꯥꯨ꯭ﬞ︀-️︠-︦]|[ःा-ीॉ-ौॎংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᦰ-ᧀᧈᧉᨙ-ᨛᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᰤ-ᰫᰴᰵ᳡ᳲꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦽ-꧀ꨯꨰꨳꨴꩍꩻꯣꯤꯦꯧꯩꯪ꯬]|[0-9a-zA-Z_$]|[0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꩐-꩙꯰-꯹0-9]|[_‿⁀⁔︳︴﹍-﹏_])*))|(?Pset(?=\\s(?:[a-zA-Z_$]|[A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԣԱ-Ֆՙա-ևא-תװ-ײء-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺऄ-हऽॐक़-ॡॱॲॻ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡഅ-ഌഎ-ഐഒ-നപ-ഹഽൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜໝༀཀ-ཇཉ-ཬྈ-ྋက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-Ⴥა-ჺჼᄀ-ᅙᅟ-ᆢᆨ-ᇹሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦩᧁ-ᧇᨀ-ᨖᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᰀ-ᰣᱍ-ᱏᱚ-ᱽᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₔℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-Ɐⱱ-ⱽⲀ-ⳤⴀ-ⴥⴰ-ⵥⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆷㇰ-ㇿ㐀䶵一鿃ꀀ-ꒌꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙟꙢ-ꙮꙿ-ꚗꜗ-ꜟꜢ-ꞈꞋꞌꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꤊ-ꤥꤰ-ꥆꨀ-ꨨꩀ-ꩂꩄ-ꩋ가힣豈-鶴侮-頻並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])+(?:[̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٞۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࠭ऀ-ं़ु-ै्॑-ॕॢॣঁ়ু-ৄ্ৢৣਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣଁ଼ିୁ-ୄ୍ୖୢୣஂீ்ా-ీె-ైొ-్ౕౖౢౣ಼ಿೆೌ್ೢೣു-ൄ്ൢൣ්ි-ුූัิ-ฺ็-๎ັິ-ູົຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྐ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፟ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳិ-ួំ៉-៓៝᠋-᠍ᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼ᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᷀-᷽ᷦ-᷿⃐-⃥⃜⃡-⃰⳯-⳱ⷠ-〪ⷿ-゙゚〯꙯꙼꙽꛰꛱ꠂ꠆ꠋꠥꠦ꣄꣠-꣱ꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꨩ-ꨮꨱꨲꨵꨶꩃꩌꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꯥꯨ꯭ﬞ︀-️︠-︦]|[ःा-ीॉ-ौॎংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᦰ-ᧀᧈᧉᨙ-ᨛᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᰤ-ᰫᰴᰵ᳡ᳲꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦽ-꧀ꨯꨰꨳꨴꩍꩻꯣꯤꯦꯧꯩꯪ꯬]|[0-9a-zA-Z_$]|[0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꩐-꩙꯰-꯹0-9]|[_‿⁀⁔︳︴﹍-﹏_])*))|(?P(?:[a-zA-Z_$]|[A-Za-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԣԱ-Ֆՙա-ևא-תװ-ײء-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺऄ-हऽॐक़-ॡॱॲॻ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡഅ-ഌഎ-ഐഒ-നപ-ഹഽൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜໝༀཀ-ཇཉ-ཬྈ-ྋက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-Ⴥა-ჺჼᄀ-ᅙᅟ-ᆢᆨ-ᇹሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦩᧁ-ᧇᨀ-ᨖᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᰀ-ᰣᱍ-ᱏᱚ-ᱽᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₔℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎↃↄⰀ-Ⱞⰰ-ⱞⱠ-Ɐⱱ-ⱽⲀ-ⳤⴀ-ⴥⴰ-ⵥⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々〆〱-〵〻〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆷㇰ-ㇿ㐀䶵一鿃ꀀ-ꒌꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙟꙢ-ꙮꙿ-ꚗꜗ-ꜟꜢ-ꞈꞋꞌꟻ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꤊ-ꤥꤰ-ꥆꨀ-ꨨꩀ-ꩂꩄ-ꩋ가힣豈-鶴侮-頻並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ])+(?:[̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-ٰٞۖ-ۜ۟-۪ۤۧۨ-ܑۭܰ-݊ަ-ް߫-߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࠭ऀ-ं़ु-ै्॑-ॕॢॣঁ়ু-ৄ্ৢৣਁਂ਼ੁੂੇੈੋ-੍ੑੰੱੵઁં઼ુ-ૅેૈ્ૢૣଁ଼ିୁ-ୄ୍ୖୢୣஂீ்ా-ీె-ైొ-్ౕౖౢౣ಼ಿೆೌ್ೢೣു-ൄ്ൢൣ්ි-ුූัิ-ฺ็-๎ັິ-ູົຼ່-ໍཱ༹༘༙༵༷-ཾྀ-྄྆྇ྐ-ྗྙ-ྼ࿆ိ-ူဲ-့္်ွှၘၙၞ-ၠၱ-ၴႂႅႆႍႝ፟ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳិ-ួំ៉-៓៝᠋-᠍ᢩᤠ-ᤢᤧᤨᤲ᤹-᤻ᨘᨗᩖᩘ-ᩞ᩠ᩢᩥ-ᩬᩳ-᩿᩼ᬀ-ᬃ᬴ᬶ-ᬺᬼᭂ᭫-᭳ᮀᮁᮢ-ᮥᮨᮩᰬ-ᰳᰶ᰷᳐-᳔᳒-᳢᳠-᳨᳭᷀-᷽ᷦ-᷿⃐-⃥⃜⃡-⃰⳯-⳱ⷠ-〪ⷿ-゙゚〯꙯꙼꙽꛰꛱ꠂ꠆ꠋꠥꠦ꣄꣠-꣱ꤦ-꤭ꥇ-ꥑꦀ-ꦂ꦳ꦶ-ꦹꦼꨩ-ꨮꨱꨲꨵꨶꩃꩌꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꯥꯨ꯭ﬞ︀-️︠-︦]|[ःा-ीॉ-ौॎংঃা-ীেৈোৌৗਃਾ-ੀઃા-ીૉોૌଂଃାୀେୈୋୌୗாிுூெ-ைொ-ௌௗఁ-ఃు-ౄಂಃಾೀ-ೄೇೈೊೋೕೖംഃാ-ീെ-ൈൊ-ൌൗංඃා-ෑෘ-ෟෲෳ༾༿ཿါာေးျြၖၗၢ-ၤၧ-ၭႃႄႇ-ႌႏႚ-ႜាើ-ៅះៈᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸᦰ-ᧀᧈᧉᨙ-ᨛᩕᩗᩡᩣᩤᩭ-ᩲᬄᬵᬻᬽ-ᭁᭃ᭄ᮂᮡᮦᮧ᮪ᰤ-ᰫᰴᰵ᳡ᳲꠣꠤꠧꢀꢁꢴ-ꣃꥒ꥓ꦃꦴꦵꦺꦻꦽ-꧀ꨯꨰꨳꨴꩍꩻꯣꯤꯦꯧꯩꯪ꯬]|[0-9a-zA-Z_$]|[0-9٠-٩۰-۹߀-߉०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩၀-၉႐-႙០-៩᠐-᠙᥆-᥏᧐-᧚᪀-᪉᪐-᪙᭐-᭙᮰-᮹᱀-᱉᱐-᱙꘠-꘩꣐-꣙꤀-꤉꧐-꧙꩐-꩙꯰-꯹0-9]|[_‿⁀⁔︳︴﹍-﹏_])*)|(?P\n (?:\n 0[xX][0-9a-fA-F]+ # hex_integer_literal\n | 0[0-7]+ # or octal_integer_literal (spec B.1.1)\n | (?: # or decimal_literal\n (?:0|[1-9][0-9]*) # decimal_integer_literal\n \\. # dot\n [0-9]* # decimal_digits_opt\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n |\n \\. # dot\n [0-9]+ # decimal_digits\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n |\n (?:0|[1-9][0-9]*) # decimal_integer_literal\n (?:[eE][+-]?[0-9]+)? # exponent_part_opt\n )\n )\n )|(?P/\\*[^*]*\\*+([^/*][^*]*\\*+)*/)|(?P//[^\\r\\n]*)|(?P[\\n\\r]+)|(?P\\|\\|)|(?P\\+\\+)|(?P>>>=)|(?P===)|(?P>>=)|(?P\\|=)|(?P\\^=)|(?P\\*=)|(?P!==)|(?P>>>)|(?P\\+=)|(?P<<=)|(?P\\))|(?P-=)|(?P\\[)|(?P>=)|(?P>>)|(?P==)|(?P--)|(?P\\?)|(?P/=)|(?P<=)|(?P<<)|(?P\\|)|(?P%=)|(?P\\^)|(?P\\+)|(?P\\()|(?P&&)|(?P\\.)|(?P\\])|(?P\\*)|(?P&=)|(?P!=)|(?P-)|(?P;)|(?P,)|(?P:)|(?P{)|(?P~)|(?P/)|(?P!)|(?P>)|(?P&)|(?P})|(?P%)|(?P<)|(?P=)', [None, ('t_STRING', 'STRING'), ('t_GETPROP', 'GETPROP'), ('t_SETPROP', 'SETPROP'), ('t_ID', 'ID'), (None, 'NUMBER'), (None, 'BLOCK_COMMENT'), None, (None, 'LINE_COMMENT'), (None, 'LINE_TERMINATOR'), (None, 'OR'), (None, 'PLUSPLUS'), (None, 'URSHIFTEQUAL'), (None, 'STREQ'), (None, 'RSHIFTEQUAL'), (None, 'OREQUAL'), (None, 'XOREQUAL'), (None, 'MULTEQUAL'), (None, 'STRNEQ'), (None, 'URSHIFT'), (None, 'PLUSEQUAL'), (None, 'LSHIFTEQUAL'), (None, 'RPAREN'), (None, 'MINUSEQUAL'), (None, 'LBRACKET'), (None, 'GE'), (None, 'RSHIFT'), (None, 'EQEQ'), (None, 'MINUSMINUS'), (None, 'CONDOP'), (None, 'DIVEQUAL'), (None, 'LE'), (None, 'LSHIFT'), (None, 'BOR'), (None, 'MODEQUAL'), (None, 'BXOR'), (None, 'PLUS'), (None, 'LPAREN'), (None, 'AND'), (None, 'PERIOD'), (None, 'RBRACKET'), (None, 'MULT'), (None, 'ANDEQUAL'), (None, 'NE'), (None, 'MINUS'), (None, 'SEMI'), (None, 'COMMA'), (None, 'COLON'), (None, 'LBRACE'), (None, 'BNOT'), (None, 'DIV'), (None, 'NOT'), (None, 'GT'), (None, 'BAND'), (None, 'RBRACE'), (None, 'MOD'), (None, 'LT'), (None, 'EQ')])], 'regex': [('(?P(?:\n / # opening slash\n # First character is..\n (?: [^*\\\\/[] # anything but * \\ / or [\n | \\\\. # or an escape sequence\n | \\[ # or a class, which has\n (?: [^\\]\\\\] # anything but \\ or ]\n | \\\\. # or an escape sequence\n )* # many times\n \\]\n )\n # Following characters are same, except for excluding a star\n (?: [^\\\\/[] # anything but \\ / or [\n | \\\\. # or an escape sequence\n | \\[ # or a class, which has\n (?: [^\\]\\\\] # anything but \\ or ]\n | \\\\. # or an escape sequence\n )* # many times\n \\]\n )* # many times\n / # closing slash\n [a-zA-Z0-9]* # trailing flags\n )\n )', [None, (None, 'REGEX')])]} +_lexstateignore = {'INITIAL': ' \t', 'regex': ' \t'} +_lexstateerrorf = {'INITIAL': 't_error', 'regex': 't_regex_error'} +_lexstateeoff = {} diff --git a/src/slimit/yacctab.py b/src/slimit/yacctab.py index 0ec9b18..b234912 100644 --- a/src/slimit/yacctab.py +++ b/src/slimit/yacctab.py @@ -1,330 +1,330 @@ # yacctab.py # This file is automatically generated. Do not edit. -_tabversion = '3.2' +_tabversion = '3.8' _lr_method = 'LALR' -_lr_signature = '4<\xbe^Dz\xe7\xe4!\xf7\x10w\x98\xc7~6' +_lr_signature = '80177EA6CE3CCD960A6A9DD6C0E54129' -_lr_action_items = {'DO':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[68,-22,-15,68,-23,-21,-13,-19,-17,-20,-16,-11,68,-9,-10,-8,-24,-12,-6,68,-244,-18,-14,-7,-292,-291,-2,68,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,68,68,-290,-288,68,68,-273,68,68,-251,-274,-247,68,68,68,68,68,68,-293,68,-254,-289,-275,-249,-250,-248,68,-294,68,-255,68,68,68,68,-256,-252,-276,-253,]),'OREQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,206,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,206,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,206,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,206,-295,-296,-297,-297,-298,-298,]),'DIVEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,193,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,193,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,193,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,193,-295,-296,-297,-297,-298,-298,]),'RETURN':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[26,-22,-15,26,-23,-21,-13,-19,-17,-20,-16,-11,26,-9,-10,-8,-24,-12,-6,26,-244,-18,-14,-7,-292,-291,-2,26,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,26,26,-290,-288,26,26,-273,26,26,-251,-274,-247,26,26,26,26,26,26,-293,26,-254,-289,-275,-249,-250,-248,26,-294,26,-255,26,26,26,26,-256,-252,-276,-253,]),'RSHIFTEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,194,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,194,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,194,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,194,-295,-296,-297,-297,-298,-298,]),'DEFAULT':([2,5,7,13,19,21,28,29,31,36,43,45,50,58,59,62,65,67,72,75,77,111,114,115,116,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,414,416,435,471,472,473,475,496,497,498,499,508,514,516,518,519,522,523,524,529,532,534,541,542,543,544,547,],[-22,-15,-5,-23,-21,-13,-19,-17,-20,-16,-11,-9,-10,-8,-4,-24,-12,-6,-244,-18,-14,-7,-292,-291,-2,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,-290,-288,-273,-251,-274,-1,-247,-278,521,-279,-277,-293,-254,-289,-280,-275,-249,-250,-248,-294,-255,-1,-256,-252,-281,-276,-253,]),'VOID':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[11,-22,-1,-15,11,11,11,11,-23,-21,-13,11,11,11,-19,-17,11,-20,-16,11,-11,11,-9,11,-10,-8,-24,-12,-6,11,-244,-18,-14,11,11,11,11,11,11,-53,-52,-51,-7,-292,-291,-2,11,11,11,11,11,11,-270,-269,11,-245,-246,11,11,11,11,11,11,11,-261,-262,11,11,11,11,11,-265,-266,-25,11,11,11,11,11,11,11,11,11,11,11,11,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,11,11,-1,-54,11,11,-232,-233,11,-283,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,-271,-272,11,11,11,11,11,11,11,-287,-286,-26,-263,-264,-268,-267,-284,-285,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,-290,-288,11,11,11,11,-273,11,11,11,11,11,-251,-274,-247,11,11,11,11,11,11,11,11,11,11,-293,11,11,-254,-289,-275,-249,-250,-248,11,-294,11,-255,11,11,11,11,-256,-252,-276,-253,]),'SETPROP':([104,349,],[231,231,]),'NUMBER':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,104,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,228,231,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,349,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[70,-22,-1,-15,70,70,70,70,-23,-21,-13,70,70,70,-19,-17,70,-20,-16,70,-11,70,-9,70,-10,70,-8,-24,-12,-6,70,-244,-18,-14,70,70,70,70,70,70,-53,-52,-51,70,70,-7,-292,-291,-2,70,70,70,70,70,70,-270,-269,70,-245,-246,70,70,70,70,70,70,70,-261,-262,70,70,70,70,70,-265,-266,-25,70,70,70,70,70,70,70,70,70,70,70,70,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,70,70,-1,-54,70,70,70,70,-232,-233,70,-283,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,-271,-272,70,70,70,70,70,70,70,-287,-286,-26,-263,-264,-268,-267,-284,-285,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,-290,-288,70,70,70,70,-273,70,70,70,70,70,-251,-274,-247,70,70,70,70,70,70,70,70,70,70,-293,70,70,-254,-289,-275,-249,-250,-248,70,-294,70,-255,70,70,70,70,-256,-252,-276,-253,]),'LBRACKET':([0,2,3,4,5,6,7,8,10,11,13,15,16,19,20,21,23,24,25,26,28,29,30,31,36,38,40,41,43,44,45,48,49,50,54,58,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,83,84,85,87,88,89,90,92,93,94,95,98,102,103,105,107,108,109,110,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,159,160,163,164,168,169,170,171,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,216,218,219,222,226,227,229,238,239,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[4,-22,-28,-1,-15,4,4,-72,4,4,-23,-71,-27,-21,-42,-13,4,-41,4,4,-19,-17,4,-20,-16,-30,4,158,-11,4,-9,4,168,-10,4,-8,-31,-24,-32,-33,-12,-6,4,-35,-34,-244,-18,-14,-37,-36,-43,-44,4,4,-38,-29,4,4,4,4,-53,-52,-51,4,-39,226,-40,-67,-66,238,-41,-7,-292,-291,-2,4,4,4,4,4,4,-270,-269,4,-245,-246,4,4,4,4,4,4,-85,4,-261,-262,4,-84,4,4,238,4,4,-265,-266,-25,4,4,4,4,4,4,4,4,4,4,4,4,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,4,4,-1,-47,-46,-54,238,4,-81,-55,4,-80,-232,-233,4,-283,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,-271,-272,4,4,4,4,4,4,4,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,4,4,-70,-83,-56,4,-69,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,-86,4,-89,-290,-288,-73,4,4,4,-48,-82,-57,-68,4,-273,4,4,4,4,4,-251,-274,-247,4,-295,4,4,4,4,4,4,4,4,4,-296,-293,4,4,-254,-289,-275,-249,-250,-248,-297,4,-294,4,-255,4,4,4,-298,4,-256,-252,-276,-253,]),'BXOR':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,60,61,63,64,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,135,136,140,142,144,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,291,292,293,294,301,303,305,315,318,319,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,368,369,370,371,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,454,455,456,457,458,462,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,171,-104,-31,-32,-33,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,265,-172,-129,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-180,-144,399,-174,-96,-87,-88,-74,-183,-75,171,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,265,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-173,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,399,-96,-295,-296,-297,-297,-298,-298,]),'WHILE':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,180,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[52,-22,-15,52,-23,-21,-13,-19,-17,-20,-16,-11,52,-9,-10,-8,-24,-12,-6,52,-244,-18,-14,-7,-292,-291,-2,52,-270,-269,-245,-246,-261,-262,-265,-266,-25,324,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,52,52,-290,-288,52,52,-273,52,52,-251,-274,-247,52,52,52,52,52,52,-293,52,-254,-289,-275,-249,-250,-248,52,-294,52,-255,52,52,52,52,-256,-252,-276,-253,]),'COLON':([3,16,20,24,38,61,63,64,70,71,78,79,80,81,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,137,139,140,141,142,144,145,156,166,209,212,216,218,221,222,223,224,227,229,232,234,235,236,239,288,290,291,292,293,294,297,298,302,305,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,413,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,466,467,468,480,482,506,515,517,521,526,537,],[-28,-27,-42,126,-30,-31,-32,-33,-35,-34,-37,-36,-43,-44,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,-226,-129,-202,-96,-178,-113,-109,-114,-110,342,-47,-46,-77,-76,-97,-98,-81,-55,-65,-63,352,-64,-80,-198,-162,-180,-144,-186,-174,-192,-210,-204,-88,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,434,-197,-209,-173,-89,-48,-82,-57,-68,-193,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,-211,493,-199,-203,-295,-296,-205,534,536,-297,-298,]),'BNOT':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[30,-22,-1,-15,30,30,30,30,-23,-21,-13,30,30,30,-19,-17,30,-20,-16,30,-11,30,-9,30,-10,-8,-24,-12,-6,30,-244,-18,-14,30,30,30,30,30,30,-53,-52,-51,-7,-292,-291,-2,30,30,30,30,30,30,-270,-269,30,-245,-246,30,30,30,30,30,30,30,-261,-262,30,30,30,30,30,-265,-266,-25,30,30,30,30,30,30,30,30,30,30,30,30,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,30,30,-1,-54,30,30,-232,-233,30,-283,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,-271,-272,30,30,30,30,30,30,30,-287,-286,-26,-263,-264,-268,-267,-284,-285,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,-290,-288,30,30,30,30,-273,30,30,30,30,30,-251,-274,-247,30,30,30,30,30,30,30,30,30,30,-293,30,30,-254,-289,-275,-249,-250,-248,30,-294,30,-255,30,30,30,30,-256,-252,-276,-253,]),'LSHIFT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,292,301,303,305,315,319,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,377,378,411,413,417,424,427,429,433,448,449,450,451,452,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,122,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,264,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,264,-96,-87,-88,-74,-75,264,264,264,264,264,264,-45,-70,-83,-56,-69,-117,-118,-116,264,264,264,264,264,264,-132,-131,-130,-124,-125,-86,-89,-73,-48,-82,-57,-68,264,264,264,264,264,-96,-295,-296,-297,-297,-298,-298,]),'NEW':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[54,-22,-1,-15,98,54,98,98,-23,-21,-13,98,98,98,-19,-17,98,-20,-16,98,-11,54,-9,98,-10,98,-8,-24,-12,-6,54,-244,-18,-14,98,98,98,98,54,98,-53,-52,-51,98,-7,-292,-291,-2,98,98,98,98,98,54,-270,-269,98,-245,-246,98,98,98,98,98,98,98,-261,-262,98,98,54,54,98,-265,-266,-25,54,98,98,98,98,98,98,98,98,98,98,54,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,98,98,-1,-54,98,98,-232,-233,98,-283,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-271,-272,98,98,98,98,98,98,98,-287,-286,-26,-263,-264,-268,-267,-284,-285,98,98,98,54,54,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-290,-288,54,98,54,98,-273,54,54,98,98,98,-251,-274,-247,54,54,98,98,54,98,98,54,54,54,-293,98,54,-254,-289,-275,-249,-250,-248,54,-294,54,-255,54,54,54,54,-256,-252,-276,-253,]),'DIV':([3,8,12,15,16,20,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,134,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,248,249,281,282,283,301,303,305,315,319,338,345,346,350,353,357,358,359,377,378,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-119,151,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,251,-115,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,251,251,-122,-121,-120,-96,-87,-88,-74,-75,-45,-70,-83,-56,-69,-117,-118,-116,251,251,-86,-89,-73,-48,-82,-57,-68,-96,-295,-296,-297,-297,-298,-298,]),'NULL':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[71,-22,-1,-15,71,71,71,71,-23,-21,-13,71,71,71,-19,-17,71,-20,-16,71,-11,71,-9,71,-10,71,-8,-24,-12,-6,71,-244,-18,-14,71,71,71,71,71,71,-53,-52,-51,71,-7,-292,-291,-2,71,71,71,71,71,71,-270,-269,71,-245,-246,71,71,71,71,71,71,71,-261,-262,71,71,71,71,71,-265,-266,-25,71,71,71,71,71,71,71,71,71,71,71,71,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,71,71,-1,-54,71,71,-232,-233,71,-283,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,-271,-272,71,71,71,71,71,71,71,-287,-286,-26,-263,-264,-268,-267,-284,-285,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,-290,-288,71,71,71,71,-273,71,71,71,71,71,-251,-274,-247,71,71,71,71,71,71,71,71,71,71,-293,71,71,-254,-289,-275,-249,-250,-248,71,-294,71,-255,71,71,71,71,-256,-252,-276,-253,]),'TRUE':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[63,-22,-1,-15,63,63,63,63,-23,-21,-13,63,63,63,-19,-17,63,-20,-16,63,-11,63,-9,63,-10,63,-8,-24,-12,-6,63,-244,-18,-14,63,63,63,63,63,63,-53,-52,-51,63,-7,-292,-291,-2,63,63,63,63,63,63,-270,-269,63,-245,-246,63,63,63,63,63,63,63,-261,-262,63,63,63,63,63,-265,-266,-25,63,63,63,63,63,63,63,63,63,63,63,63,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,63,63,-1,-54,63,63,-232,-233,63,-283,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,-271,-272,63,63,63,63,63,63,63,-287,-286,-26,-263,-264,-268,-267,-284,-285,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,-290,-288,63,63,63,63,-273,63,63,63,63,63,-251,-274,-247,63,63,63,63,63,63,63,63,63,63,-293,63,63,-254,-289,-275,-249,-250,-248,63,-294,63,-255,63,63,63,63,-256,-252,-276,-253,]),'MINUS':([0,2,3,4,5,6,7,8,10,11,12,13,15,16,19,20,21,22,23,24,25,26,27,28,29,30,31,35,36,38,40,41,43,44,45,46,48,49,50,58,60,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,82,83,84,85,87,88,89,90,92,93,94,95,97,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,120,121,122,123,124,125,126,127,128,133,134,140,142,143,145,146,147,148,149,150,151,152,155,156,158,159,160,163,164,166,168,169,170,171,172,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,209,210,213,215,216,218,219,221,222,223,224,226,227,229,238,239,240,241,243,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,281,282,283,301,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,357,358,359,368,369,370,377,378,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,464,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[6,-22,-28,-1,-15,6,6,-72,6,6,-94,-23,-71,-27,-21,-42,-13,124,6,-41,6,6,-119,-19,-17,6,-20,-126,-16,-30,6,-95,-11,6,-9,-105,6,-78,-10,-8,-104,-31,-24,-32,-33,-12,-6,6,-35,-34,-244,-18,-14,-37,-36,-43,-44,-99,6,6,-38,-29,6,6,6,6,-53,-52,-51,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-7,-111,-107,-292,-291,-2,6,6,6,6,6,-108,6,-106,-123,-270,-115,274,-96,-269,-113,6,-245,-246,6,6,6,6,6,-109,6,-85,6,-261,-262,-114,6,-84,6,6,-79,-76,6,6,-265,-266,-25,6,6,6,6,6,6,6,6,6,6,6,6,-216,-221,-222,-100,-219,-217,-224,-215,-218,-220,-223,-101,-214,-225,6,-110,6,-99,-1,-47,-46,-54,-77,-76,-97,-98,6,-81,-55,6,-80,-232,-233,6,274,274,274,-127,-128,-283,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-271,-272,6,6,6,6,6,6,6,-122,-121,-120,-96,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,6,6,-70,-83,-56,6,-69,-117,-118,-116,274,274,274,-124,-125,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-86,6,-89,-290,-288,-73,6,6,6,-48,-82,-57,-68,6,-273,6,6,6,6,6,-96,-251,-274,-247,6,-295,6,6,6,6,6,6,6,6,6,-296,-293,6,6,-254,-289,-275,-249,-250,-248,-297,6,-294,6,-255,6,6,6,-298,6,-256,-252,-276,-253,]),'MULT':([3,8,12,15,16,20,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,134,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,248,249,281,282,283,301,303,305,315,319,338,345,346,350,353,357,358,359,377,378,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-119,152,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,253,-115,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,253,253,-122,-121,-120,-96,-87,-88,-74,-75,-45,-70,-83,-56,-69,-117,-118,-116,253,253,-86,-89,-73,-48,-82,-57,-68,-96,-295,-296,-297,-297,-298,-298,]),'DEBUGGER':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[14,-22,-15,14,-23,-21,-13,-19,-17,-20,-16,-11,14,-9,-10,-8,-24,-12,-6,14,-244,-18,-14,-7,-292,-291,-2,14,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,14,14,-290,-288,14,14,-273,14,14,-251,-274,-247,14,14,14,14,14,14,-293,14,-254,-289,-275,-249,-250,-248,14,-294,14,-255,14,14,14,14,-256,-252,-276,-253,]),'CASE':([2,5,7,13,19,21,28,29,31,36,43,45,50,58,59,62,65,67,72,75,77,111,114,115,116,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,414,416,435,471,472,473,475,496,498,508,514,516,518,519,520,522,523,524,529,532,534,536,541,542,543,544,545,547,],[-22,-15,-5,-23,-21,-13,-19,-17,-20,-16,-11,-9,-10,-8,-4,-24,-12,-6,-244,-18,-14,-7,-292,-291,-2,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,-290,-288,-273,-251,-274,495,-247,495,-279,-293,-254,-289,-280,-275,495,-249,-250,-248,-294,-255,-1,-1,-256,-252,-281,-276,-282,-253,]),'LE':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,190,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,258,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,397,-144,-96,-87,-88,-74,-75,258,258,258,258,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,258,258,258,258,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,258,258,258,258,-96,-295,-296,-297,-297,-298,-298,]),'RPAREN':([3,16,20,38,61,63,64,70,71,78,79,80,81,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,137,139,140,141,142,144,145,153,156,160,166,208,209,216,218,221,222,223,224,227,229,239,279,284,286,287,305,306,307,317,321,338,339,344,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,387,413,424,425,427,428,429,433,437,460,461,465,469,470,474,479,480,482,489,491,506,509,511,513,526,530,537,],[-28,-27,-42,-30,-31,-32,-33,-35,-34,-37,-36,-43,-44,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,-226,-129,-202,-96,-178,-113,285,-109,305,-114,338,-110,-47,-46,-77,-76,-97,-98,-81,-55,-80,383,384,-299,388,-88,413,-90,418,419,-45,421,426,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,440,-89,-48,476,-82,478,-57,-68,-300,-257,-258,492,-91,494,500,505,-203,-295,512,-1,-296,-1,531,533,-297,540,-298,]),'URSHIFT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,292,301,303,305,315,319,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,377,378,411,413,417,424,427,429,433,448,449,450,451,452,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,120,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,262,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,262,-96,-87,-88,-74,-75,262,262,262,262,262,262,-45,-70,-83,-56,-69,-117,-118,-116,262,262,262,262,262,262,-132,-131,-130,-124,-125,-86,-89,-73,-48,-82,-57,-68,262,262,262,262,262,-96,-295,-296,-297,-297,-298,-298,]),'SEMI':([0,1,2,3,5,7,8,12,13,14,15,16,18,19,20,21,22,24,26,27,28,29,31,34,35,36,38,41,43,44,45,46,47,49,50,51,53,55,56,58,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,147,148,155,156,159,163,164,165,166,169,172,173,176,177,178,179,196,204,209,211,213,214,216,218,221,222,223,224,227,229,239,240,241,244,245,246,247,248,249,250,270,271,280,281,282,283,288,290,291,292,293,294,295,296,297,298,299,300,301,302,303,305,310,311,312,313,314,315,318,319,320,322,323,325,326,327,328,329,330,331,332,333,334,335,336,337,338,340,341,345,346,350,353,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,383,386,390,391,392,404,411,413,414,416,417,418,421,422,424,427,429,433,435,436,441,442,443,445,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,466,468,471,472,475,477,480,482,483,485,486,487,490,492,500,501,502,504,506,508,510,512,514,515,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[72,-206,-22,-28,-15,72,-72,-94,-23,115,-71,-27,-150,-21,-42,-13,-133,-41,143,-119,-19,-17,-20,147,-126,-16,-30,-95,-11,72,-9,-105,163,-78,-10,-230,-188,-212,-200,-8,-104,-31,-24,-32,-33,-12,176,-6,72,-194,-35,-34,-244,-176,-167,-18,-182,-14,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-7,-111,-107,-292,-291,-2,240,-238,-234,-108,72,-106,-123,-157,-190,-196,-137,-270,-115,-184,-172,-208,270,-226,-129,-202,-96,-269,-178,-113,-245,-246,-1,-109,-85,-261,-262,313,-114,-84,-79,-76,-265,-266,323,-25,-100,-101,-110,340,-99,-201,-47,-46,-77,-76,-97,-98,-81,-55,-80,-232,-233,-239,-136,-135,-134,-127,-128,-283,-271,-272,-231,-122,-121,-120,-198,-162,-180,-144,-186,-174,-228,404,-192,-210,-260,-259,-96,-204,-87,-88,-287,-286,-26,-263,-264,-74,-183,-75,-195,-268,-267,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-213,-45,-284,-285,-70,-83,-56,-69,-235,-242,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,72,72,-236,443,-240,-1,-86,-89,-290,-288,-73,72,72,-207,-48,-82,-57,-68,-273,72,72,-193,-1,-241,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,491,-257,-258,-187,-229,-96,-211,-199,-251,-274,-247,72,-203,-295,72,509,-237,-240,-243,72,522,72,72,72,-296,-293,-241,72,-254,-205,-289,-275,-249,-250,-248,-297,72,-294,72,-255,72,72,72,-298,72,-256,-252,-276,-253,]),'WITH':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[32,-22,-15,32,-23,-21,-13,-19,-17,-20,-16,-11,32,-9,-10,-8,-24,-12,-6,32,-244,-18,-14,-7,-292,-291,-2,32,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,32,32,-290,-288,32,32,-273,32,32,-251,-274,-247,32,32,32,32,32,32,-293,32,-254,-289,-275,-249,-250,-248,32,-294,32,-255,32,32,32,32,-256,-252,-276,-253,]),'MODEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,198,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,198,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,198,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,198,-295,-296,-297,-297,-298,-298,]),'NE':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,294,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,183,-167,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,267,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-144,401,-96,-87,-88,-74,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,183,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,-158,-159,-161,-160,-124,-125,267,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,401,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'MULTEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,200,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,200,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,200,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,200,-295,-296,-297,-297,-298,-298,]),'EQEQ':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,294,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,182,-167,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,266,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-144,400,-96,-87,-88,-74,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,182,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,-158,-159,-161,-160,-124,-125,266,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,400,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'SWITCH':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[57,-22,-15,57,-23,-21,-13,-19,-17,-20,-16,-11,57,-9,-10,-8,-24,-12,-6,57,-244,-18,-14,-7,-292,-291,-2,57,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,57,57,-290,-288,57,57,-273,57,57,-251,-274,-247,57,57,57,57,57,57,-293,57,-254,-289,-275,-249,-250,-248,57,-294,57,-255,57,57,57,57,-256,-252,-276,-253,]),'LSHIFTEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,202,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,202,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,202,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,202,-295,-296,-297,-297,-298,-298,]),'PLUS':([0,2,3,4,5,6,7,8,10,11,12,13,15,16,19,20,21,22,23,24,25,26,27,28,29,30,31,35,36,38,40,41,43,44,45,46,48,49,50,58,60,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,82,83,84,85,87,88,89,90,92,93,94,95,97,99,100,101,102,103,105,106,107,108,109,110,111,112,113,114,115,116,120,121,122,123,124,125,126,127,128,133,134,140,142,143,145,146,147,148,149,150,151,152,155,156,158,159,160,163,164,166,168,169,170,171,172,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,209,210,213,215,216,218,219,221,222,223,224,226,227,229,238,239,240,241,243,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,281,282,283,301,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,357,358,359,368,369,370,377,378,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,464,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[10,-22,-28,-1,-15,10,10,-72,10,10,-94,-23,-71,-27,-21,-42,-13,123,10,-41,10,10,-119,-19,-17,10,-20,-126,-16,-30,10,-95,-11,10,-9,-105,10,-78,-10,-8,-104,-31,-24,-32,-33,-12,-6,10,-35,-34,-244,-18,-14,-37,-36,-43,-44,-99,10,10,-38,-29,10,10,10,10,-53,-52,-51,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-7,-111,-107,-292,-291,-2,10,10,10,10,10,-108,10,-106,-123,-270,-115,273,-96,-269,-113,10,-245,-246,10,10,10,10,10,-109,10,-85,10,-261,-262,-114,10,-84,10,10,-79,-76,10,10,-265,-266,-25,10,10,10,10,10,10,10,10,10,10,10,10,-216,-221,-222,-100,-219,-217,-224,-215,-218,-220,-223,-101,-214,-225,10,-110,10,-99,-1,-47,-46,-54,-77,-76,-97,-98,10,-81,-55,10,-80,-232,-233,10,273,273,273,-127,-128,-283,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,-271,-272,10,10,10,10,10,10,10,-122,-121,-120,-96,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,10,10,-70,-83,-56,10,-69,-117,-118,-116,273,273,273,-124,-125,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,-86,10,-89,-290,-288,-73,10,10,10,-48,-82,-57,-68,10,-273,10,10,10,10,10,-96,-251,-274,-247,10,-295,10,10,10,10,10,10,10,10,10,-296,-293,10,10,-254,-289,-275,-249,-250,-248,-297,10,-294,10,-255,10,10,10,-298,10,-256,-252,-276,-253,]),'CATCH':([161,312,],[309,-26,]),'COMMA':([1,3,4,8,12,15,16,18,20,22,24,27,34,35,38,41,46,49,51,53,55,56,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,91,93,94,97,99,100,101,102,103,105,106,107,108,109,110,112,113,117,118,119,125,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,144,145,156,159,166,169,172,173,196,204,208,209,211,213,214,215,216,217,218,219,221,222,223,224,227,229,230,233,239,244,245,246,247,248,249,279,280,281,282,283,284,286,288,290,291,292,293,294,295,297,298,299,301,302,303,304,305,306,307,315,316,317,318,319,320,321,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,345,346,347,350,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,387,390,391,392,411,413,417,422,423,424,425,427,429,430,432,433,437,442,445,448,449,450,451,452,453,454,455,456,457,458,461,462,463,464,465,466,468,469,474,479,480,482,486,487,489,490,506,508,510,511,515,517,526,529,537,538,546,],[-206,-28,93,-72,-94,-71,-27,-150,-42,-133,-41,-119,149,-126,-30,-95,-105,-78,-230,-188,-212,-200,-104,-31,-32,-33,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,215,-53,219,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,242,-238,-234,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,272,-226,-129,-202,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,272,-110,272,-99,-201,93,-47,-49,-46,-54,-77,-76,-97,-98,-81,-55,349,-58,-80,-239,-136,-135,-134,-127,-128,272,-231,-122,-121,-120,385,-299,-198,-162,-180,-144,-186,-174,-228,-192,-210,406,-96,-204,-87,272,-88,412,-90,-74,272,272,-183,-75,-195,272,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-213,-45,272,-70,-83,272,-56,-69,272,-235,-242,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,385,-236,444,-240,-86,-89,-73,-207,-50,-48,385,-82,-57,-59,-60,-68,-300,-193,-241,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,272,-187,-229,-96,272,-211,-199,-91,272,385,-203,-295,-237,-240,272,-243,-296,-297,-241,272,-205,272,-297,-298,-298,-61,-62,]),'STREQ':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,294,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,185,-167,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,269,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-144,403,-96,-87,-88,-74,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,185,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,-158,-159,-161,-160,-124,-125,269,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,403,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'BOR':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,132,134,135,136,140,142,144,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,291,292,293,294,297,301,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,382,411,413,417,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-188,-104,-31,-32,-33,181,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,260,-137,-115,-184,-172,-129,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-180,-144,-186,-174,405,-96,-87,-88,-74,-183,-75,181,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,260,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-173,-86,-89,-73,-48,-82,-57,-68,405,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,-295,-296,-297,-297,-298,-298,]),'$end':([0,2,5,7,9,13,19,21,28,29,31,33,36,43,45,50,58,59,62,65,67,72,75,77,111,114,115,116,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,414,416,435,471,472,475,508,514,516,519,522,523,524,529,532,541,542,544,547,],[-1,-22,-15,-5,0,-23,-21,-13,-19,-17,-20,-3,-16,-11,-9,-10,-8,-4,-24,-12,-6,-244,-18,-14,-7,-292,-291,-2,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,-290,-288,-273,-251,-274,-247,-293,-254,-289,-275,-249,-250,-248,-294,-255,-256,-252,-276,-253,]),'FUNCTION':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[37,-22,-1,-15,96,37,96,96,-23,-21,-13,96,96,96,-19,-17,96,-20,-16,96,-11,37,-9,96,-10,96,-8,-24,-12,-6,37,-244,-18,-14,96,96,96,96,96,96,-53,-52,-51,96,-7,-292,-291,-2,96,96,96,96,96,37,-270,-269,96,-245,-246,96,96,96,96,96,96,96,-261,-262,96,96,96,96,96,-265,-266,-25,96,96,96,96,96,96,96,96,96,96,96,96,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,96,96,-1,-54,96,96,-232,-233,96,-283,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,-271,-272,96,96,96,96,96,96,96,-287,-286,-26,-263,-264,-268,-267,-284,-285,96,96,96,37,37,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,-290,-288,37,96,37,96,-273,37,37,96,96,96,-251,-274,-247,37,37,96,96,37,96,96,37,37,37,-293,96,37,-254,-289,-275,-249,-250,-248,37,-294,37,-255,37,37,37,37,-256,-252,-276,-253,]),'INSTANCEOF':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,186,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,254,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,393,-144,-96,-87,-88,-74,-75,254,254,254,254,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,254,254,254,254,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,254,254,254,254,-96,-295,-296,-297,-297,-298,-298,]),'GT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,187,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,255,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,394,-144,-96,-87,-88,-74,-75,255,255,255,255,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,255,255,255,255,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,255,255,255,255,-96,-295,-296,-297,-297,-298,-298,]),'STRING':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,104,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,228,231,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,349,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[79,-22,-1,-15,79,79,79,79,-23,-21,-13,79,79,79,-19,-17,79,-20,-16,79,-11,79,-9,79,-10,79,-8,-24,-12,-6,79,-244,-18,-14,79,79,79,79,79,79,-53,-52,-51,79,79,-7,-292,-291,-2,79,79,79,79,79,79,-270,-269,79,-245,-246,79,79,79,79,79,79,79,-261,-262,79,79,79,79,79,-265,-266,-25,79,79,79,79,79,79,79,79,79,79,79,79,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,79,79,-1,-54,79,79,79,79,-232,-233,79,-283,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,-271,-272,79,79,79,79,79,79,79,-287,-286,-26,-263,-264,-268,-267,-284,-285,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,-290,-288,79,79,79,79,-273,79,79,79,79,79,-251,-274,-247,79,79,79,79,79,79,79,79,79,79,-293,79,79,-254,-289,-275,-249,-250,-248,79,-294,79,-255,79,79,79,79,-256,-252,-276,-253,]),'FOR':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[39,-22,-15,39,-23,-21,-13,-19,-17,-20,-16,-11,39,-9,-10,-8,-24,-12,-6,39,-244,-18,-14,-7,-292,-291,-2,39,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,39,39,-290,-288,39,39,-273,39,39,-251,-274,-247,39,39,39,39,39,39,-293,39,-254,-289,-275,-249,-250,-248,39,-294,39,-255,39,39,39,39,-256,-252,-276,-253,]),'PLUSPLUS':([0,2,3,4,5,6,7,8,10,11,12,13,15,16,19,20,21,23,24,25,26,28,29,30,31,36,38,40,41,43,44,45,48,49,50,58,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,82,83,84,85,87,88,89,90,92,93,94,95,99,101,102,103,105,107,108,109,110,111,114,115,116,120,121,122,123,124,126,133,142,143,146,147,148,149,150,151,152,155,158,159,160,163,164,168,169,170,171,172,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,213,215,216,218,219,221,222,226,227,229,238,239,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,301,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,464,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[40,-22,-28,-1,-15,40,40,-72,40,40,-94,-23,-71,-27,-21,-42,-13,40,-41,40,40,-19,-17,40,-20,-16,-30,40,-95,-11,40,-9,40,-78,-10,-8,-31,-24,-32,-33,-12,-6,40,-35,-34,-244,-18,-14,-37,-36,-43,-44,196,40,40,-38,-29,40,40,40,40,-53,-52,-51,223,-92,-39,-93,-40,-67,-66,-76,-41,-7,-292,-291,-2,40,40,40,40,40,40,-270,223,-269,40,-245,-246,40,40,40,40,40,40,-85,40,-261,-262,40,-84,40,40,-79,-76,40,40,-265,-266,-25,40,40,40,40,40,40,40,40,40,40,40,40,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,40,40,196,-1,-47,-46,-54,-77,-76,40,-81,-55,40,-80,-232,-233,40,-283,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,-271,-272,40,40,40,40,40,40,40,223,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,40,40,-70,-83,-56,40,-69,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,-86,40,-89,-290,-288,-73,40,40,40,-48,-82,-57,-68,40,-273,40,40,40,40,40,223,-251,-274,-247,40,-295,40,40,40,40,40,40,40,40,40,-296,-293,40,40,-254,-289,-275,-249,-250,-248,-297,40,-294,40,-255,40,40,40,-298,40,-256,-252,-276,-253,]),'PERIOD':([3,8,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,85,87,102,103,105,107,108,109,110,159,169,173,216,218,222,227,229,239,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,482,506,508,526,529,537,],[-28,-72,-71,-27,-42,-41,-30,157,167,-31,-32,-33,-35,-34,-37,-36,-43,-44,-38,-29,-39,225,-40,-67,-66,237,-41,-85,-84,237,-47,-46,237,-81,-55,-80,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,-295,-296,-297,-297,-298,-298,]),'RBRACE':([2,3,5,7,13,16,19,20,21,28,29,31,36,38,43,44,45,50,58,59,61,62,63,64,65,67,70,71,72,75,77,78,79,80,81,85,87,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,147,148,156,162,163,164,166,176,177,179,209,216,218,221,222,223,224,227,229,230,233,239,240,241,250,270,271,305,310,311,312,313,314,322,323,338,340,341,345,346,349,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,380,381,382,386,413,414,416,424,427,429,430,432,433,435,436,438,439,441,471,472,473,475,477,480,481,482,483,484,496,497,498,499,502,503,504,506,507,508,514,516,518,519,520,522,523,524,525,526,527,528,529,532,534,535,536,537,538,539,541,542,543,544,545,546,547,],[-22,-28,-15,-5,-23,-27,-21,-42,-13,-19,-17,-20,-16,-30,-11,-1,-9,-10,-8,-4,-31,-24,-32,-33,-12,-6,-35,-34,-244,-18,-14,-37,-36,-43,-44,-38,-29,-112,-96,-102,-92,-39,-93,229,-40,-103,-67,-66,-76,-41,-7,-111,-107,-292,-291,-2,-108,-106,-123,-157,-190,-196,-137,-270,-115,-184,-172,-208,-129,-202,-96,-269,-178,-113,-245,-246,-109,312,-261,-262,-114,-265,-266,-25,-110,-47,-46,-77,-76,-97,-98,-81,-55,350,-58,-80,-232,-233,-283,-271,-272,-88,-287,-286,-26,-263,-264,-268,-267,-45,-284,-285,-70,-83,429,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-197,-209,-173,-1,-89,-290,-288,-48,-82,-57,-59,-60,-68,-273,-1,-301,482,-1,-251,-274,-1,-247,-1,-203,506,-295,-1,508,-278,519,-279,-277,-1,526,-1,-296,529,-293,-254,-289,-280,-275,-1,-249,-250,-248,537,-297,538,-1,-294,-255,-1,544,-1,-298,-61,546,-256,-252,-281,-276,-282,-62,-253,]),'ELSE':([2,5,13,19,21,28,29,31,36,43,50,62,65,72,75,77,114,115,116,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,414,416,435,471,472,475,508,514,516,519,522,523,524,529,532,541,542,544,547,],[-22,-15,-23,-21,-13,-19,-17,-20,-16,-11,-10,-24,-12,-244,-18,-14,-292,-291,-2,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,-290,-288,-273,-251,-274,501,-293,-254,-289,-275,-249,-250,-248,-294,-255,-256,-252,-276,-253,]),'TRY':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[42,-22,-15,42,-23,-21,-13,-19,-17,-20,-16,-11,42,-9,-10,-8,-24,-12,-6,42,-244,-18,-14,-7,-292,-291,-2,42,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,42,42,-290,-288,42,42,-273,42,42,-251,-274,-247,42,42,42,42,42,42,-293,42,-254,-289,-275,-249,-250,-248,42,-294,42,-255,42,42,42,42,-256,-252,-276,-253,]),'BAND':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,144,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,291,292,294,301,303,305,315,318,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,371,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,454,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-176,-167,192,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,-172,-129,-96,278,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,398,-144,-174,-96,-87,-88,-74,192,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,278,-158,-159,-161,-160,-124,-125,-173,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,-175,398,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'GE':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,189,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,257,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,396,-144,-96,-87,-88,-74,-75,257,257,257,257,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,257,257,257,257,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,257,257,257,257,-96,-295,-296,-297,-297,-298,-298,]),'LT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,411,413,417,424,427,429,433,448,449,450,451,452,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,188,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,256,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,395,-144,-96,-87,-88,-74,-75,256,256,256,256,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,256,256,256,256,-124,-125,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,256,256,256,256,-96,-295,-296,-297,-297,-298,-298,]),'REGEX':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[78,-22,-1,-15,78,78,78,78,-23,-21,-13,78,78,78,-19,-17,78,-20,-16,78,-11,78,-9,78,-10,78,-8,-24,-12,-6,78,-244,-18,-14,78,78,78,78,78,78,-53,-52,-51,78,-7,-292,-291,-2,78,78,78,78,78,78,-270,-269,78,-245,-246,78,78,78,78,78,78,78,-261,-262,78,78,78,78,78,-265,-266,-25,78,78,78,78,78,78,78,78,78,78,78,78,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,78,78,-1,-54,78,78,-232,-233,78,-283,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,-271,-272,78,78,78,78,78,78,78,-287,-286,-26,-263,-264,-268,-267,-284,-285,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,-290,-288,78,78,78,78,-273,78,78,78,78,78,-251,-274,-247,78,78,78,78,78,78,78,78,78,78,-293,78,78,-254,-289,-275,-249,-250,-248,78,-294,78,-255,78,78,78,78,-256,-252,-276,-253,]),'STRNEQ':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,73,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,136,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,290,292,294,301,303,305,315,319,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,382,411,413,417,424,427,429,433,448,449,450,451,452,453,455,456,457,458,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,184,-167,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-137,-115,268,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-162,-144,402,-96,-87,-88,-74,-75,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,184,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,-158,-159,-161,-160,-124,-125,268,-86,-89,-73,-48,-82,-57,-68,-149,-146,-145,-148,-147,402,-163,-164,-166,-165,-96,-295,-296,-297,-297,-298,-298,]),'LPAREN':([0,2,3,4,5,6,7,8,10,11,13,15,16,19,20,21,23,24,25,26,28,29,30,31,32,36,37,38,39,40,41,43,44,45,48,49,50,52,54,57,58,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,83,84,85,86,87,88,89,90,92,93,94,95,96,98,102,103,105,107,108,109,110,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,154,155,158,159,160,163,164,168,169,170,171,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,216,218,219,220,222,226,227,229,232,234,236,238,239,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,303,305,309,310,311,312,313,314,315,319,322,323,324,338,340,341,342,343,345,346,348,350,351,352,353,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[83,-22,-28,-1,-15,83,83,-72,83,83,-23,-71,-27,-21,-42,-13,83,-41,83,83,-19,-17,83,-20,146,-16,153,-30,155,83,160,-11,83,-9,83,160,-10,170,83,175,-8,-31,-24,-32,-33,-12,-6,83,-35,-34,-244,-18,-14,-37,-36,-43,-44,83,83,-38,210,-29,83,83,83,83,-53,-52,-51,153,83,-39,160,-40,-67,-66,160,-41,-7,-292,-291,-2,83,83,83,83,83,83,-270,-269,83,-245,-246,83,83,83,83,287,83,83,-85,83,-261,-262,83,-84,83,83,160,83,83,-265,-266,-25,83,83,83,83,83,83,83,83,83,83,83,83,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,83,83,-1,-47,-46,-54,344,160,83,-81,-55,-65,-63,-64,83,-80,-232,-233,83,-283,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,-271,-272,83,83,83,83,83,83,83,-87,-88,415,-287,-286,-26,-263,-264,-74,-75,-268,-267,420,-45,-284,-285,83,83,-70,-83,428,-56,431,83,-69,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,-86,83,-89,-290,-288,-73,83,83,83,-48,-82,-57,-68,83,-273,83,83,83,83,83,-251,-274,-247,83,-295,83,83,83,83,83,83,83,83,83,-296,-293,83,83,-254,-289,-275,-249,-250,-248,-297,83,-294,83,-255,83,83,83,-298,83,-256,-252,-276,-253,]),'IN':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,74,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,288,290,291,292,293,294,297,298,301,302,303,305,315,319,326,327,328,329,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,372,373,374,375,377,378,392,411,413,417,424,427,429,433,442,445,448,449,450,451,452,453,454,455,456,457,458,462,464,466,468,482,490,506,508,515,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,191,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,259,-137,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-198,-162,-180,-144,-186,-174,-192,-210,407,-204,-87,-88,-74,-75,259,259,259,259,-155,-152,-151,-154,-153,-156,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-132,-131,-130,259,259,259,259,-124,-125,446,-86,-89,-73,-48,-82,-57,-68,-193,488,-149,-146,-145,-148,-147,-175,-181,259,259,259,259,-187,-96,-211,-199,-295,-243,-296,-297,-205,-297,-298,-298,]),'VAR':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,155,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[17,-22,-15,17,-23,-21,-13,-19,-17,-20,-16,-11,17,-9,-10,-8,-24,-12,-6,17,-244,-18,-14,-7,-292,-291,-2,17,-270,-269,-245,-246,289,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,17,17,-290,-288,17,17,-273,17,17,-251,-274,-247,17,17,17,17,17,17,-293,17,-254,-289,-275,-249,-250,-248,17,-294,17,-255,17,17,17,17,-256,-252,-276,-253,]),'MINUSMINUS':([0,2,3,4,5,6,7,8,10,11,12,13,15,16,19,20,21,23,24,25,26,28,29,30,31,36,38,40,41,43,44,45,48,49,50,58,61,62,63,64,65,67,68,70,71,72,75,77,78,79,80,81,82,83,84,85,87,88,89,90,92,93,94,95,99,101,102,103,105,107,108,109,110,111,114,115,116,120,121,122,123,124,126,133,142,143,146,147,148,149,150,151,152,155,158,159,160,163,164,168,169,170,171,172,173,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,213,215,216,218,219,221,222,226,227,229,238,239,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,301,303,305,310,311,312,313,314,315,319,322,323,338,340,341,342,343,345,346,350,352,353,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,416,417,418,420,421,424,427,429,433,434,435,436,441,443,446,447,464,471,472,475,477,482,483,488,491,492,493,495,501,502,504,506,508,509,512,514,516,519,522,523,524,526,528,529,531,532,533,534,536,537,540,541,542,544,547,],[84,-22,-28,-1,-15,84,84,-72,84,84,-94,-23,-71,-27,-21,-42,-13,84,-41,84,84,-19,-17,84,-20,-16,-30,84,-95,-11,84,-9,84,-78,-10,-8,-31,-24,-32,-33,-12,-6,84,-35,-34,-244,-18,-14,-37,-36,-43,-44,204,84,84,-38,-29,84,84,84,84,-53,-52,-51,224,-92,-39,-93,-40,-67,-66,-76,-41,-7,-292,-291,-2,84,84,84,84,84,84,-270,224,-269,84,-245,-246,84,84,84,84,84,84,-85,84,-261,-262,84,-84,84,84,-79,-76,84,84,-265,-266,-25,84,84,84,84,84,84,84,84,84,84,84,84,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,84,84,204,-1,-47,-46,-54,-77,-76,84,-81,-55,84,-80,-232,-233,84,-283,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,-271,-272,84,84,84,84,84,84,84,224,-87,-88,-287,-286,-26,-263,-264,-74,-75,-268,-267,-45,-284,-285,84,84,-70,-83,-56,84,-69,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,-86,84,-89,-290,-288,-73,84,84,84,-48,-82,-57,-68,84,-273,84,84,84,84,84,224,-251,-274,-247,84,-295,84,84,84,84,84,84,84,84,84,-296,-293,84,84,-254,-289,-275,-249,-250,-248,-297,84,-294,84,-255,84,84,84,-298,84,-256,-252,-276,-253,]),'EQ':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,118,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,392,411,413,417,424,427,429,433,464,482,487,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,205,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,243,205,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,205,-87,-88,-74,-75,-45,-70,-83,-56,-69,447,-86,-89,-73,-48,-82,-57,-68,205,-295,447,-296,-297,-297,-298,-298,]),'ID':([0,2,4,5,6,7,10,11,13,17,19,21,23,25,26,28,29,30,31,36,37,40,43,44,45,47,48,50,54,58,62,65,66,67,68,72,75,77,83,84,88,89,90,92,93,94,95,96,98,104,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,153,155,157,158,160,163,164,167,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,225,226,228,231,237,238,240,241,242,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,287,289,310,311,312,313,314,322,323,340,341,342,343,344,349,352,383,385,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,415,416,418,420,421,431,434,435,436,441,443,444,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[85,-22,-1,-15,85,85,85,85,-23,85,-21,-13,85,85,85,-19,-17,85,-20,-16,85,85,-11,85,-9,85,85,-10,85,-8,-24,-12,85,-6,85,-244,-18,-14,85,85,85,85,85,85,-53,-52,-51,85,85,85,-7,-292,-291,-2,85,85,85,85,85,85,-270,-269,85,-245,-246,85,85,85,85,85,85,85,85,85,-261,-262,85,85,85,85,85,85,-265,-266,-25,85,85,85,85,85,85,85,85,85,85,85,85,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,85,85,-1,-54,85,85,85,85,85,85,-232,-233,85,85,-283,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,-271,-272,85,85,85,85,85,85,85,85,85,-287,-286,-26,-263,-264,-268,-267,-284,-285,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,-290,85,-288,85,85,85,85,85,-273,85,85,85,85,85,85,-251,-274,-247,85,85,85,85,85,85,85,85,85,85,-293,85,85,-254,-289,-275,-249,-250,-248,85,-294,85,-255,85,85,85,85,-256,-252,-276,-253,]),'IF':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[86,-22,-15,86,-23,-21,-13,-19,-17,-20,-16,-11,86,-9,-10,-8,-24,-12,-6,86,-244,-18,-14,-7,-292,-291,-2,86,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,86,86,-290,-288,86,86,-273,86,86,-251,-274,-247,86,86,86,86,86,86,-293,86,-254,-289,-275,-249,-250,-248,86,-294,86,-255,86,86,86,86,-256,-252,-276,-253,]),'AND':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,56,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,140,142,144,145,156,159,166,169,172,173,196,204,209,213,214,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,288,290,291,292,293,294,297,301,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,380,382,411,413,417,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,468,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-188,174,-104,-31,-32,-33,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,261,-137,-115,-184,-172,-129,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,174,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,389,-162,-180,-144,-186,-174,-192,-96,-87,-88,-74,-183,-75,-195,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,261,-173,-86,-89,-73,-48,-82,-57,-68,-193,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,389,-295,-296,-297,-297,-298,-298,]),'LBRACE':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,42,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,175,176,177,179,182,183,184,185,186,187,188,189,190,191,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,285,308,310,311,312,313,314,322,323,340,341,342,343,352,383,384,386,388,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,419,420,421,426,434,435,436,440,441,443,446,447,471,472,475,476,477,478,483,488,491,492,493,494,495,501,502,504,505,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[44,-22,-1,-15,104,44,104,104,-23,-21,-13,104,104,104,-19,-17,104,-20,-16,104,44,-11,44,-9,104,-10,104,-8,-24,-12,-6,44,-244,-18,-14,104,104,104,104,104,-53,-52,-51,104,-7,-292,-291,-2,104,104,104,104,104,44,-270,-269,104,-245,-246,104,104,104,104,104,104,104,-261,-262,104,104,104,-265,-266,-25,104,104,104,104,104,104,104,104,104,104,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,104,104,-1,-54,104,104,-232,-233,104,-283,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,-271,-272,104,104,104,104,104,104,104,386,44,-287,-286,-26,-263,-264,-268,-267,-284,-285,104,104,104,44,436,44,441,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,-290,-288,44,473,104,44,477,104,-273,44,483,44,104,104,104,-251,-274,-247,502,44,504,44,104,104,44,104,44,104,44,44,44,528,-293,104,44,-254,-289,-275,-249,-250,-248,44,-294,44,-255,44,44,44,44,-256,-252,-276,-253,]),'FALSE':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[64,-22,-1,-15,64,64,64,64,-23,-21,-13,64,64,64,-19,-17,64,-20,-16,64,-11,64,-9,64,-10,64,-8,-24,-12,-6,64,-244,-18,-14,64,64,64,64,64,64,-53,-52,-51,64,-7,-292,-291,-2,64,64,64,64,64,64,-270,-269,64,-245,-246,64,64,64,64,64,64,64,-261,-262,64,64,64,64,64,-265,-266,-25,64,64,64,64,64,64,64,64,64,64,64,64,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,64,64,-1,-54,64,64,-232,-233,64,-283,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,-271,-272,64,64,64,64,64,64,64,-287,-286,-26,-263,-264,-268,-267,-284,-285,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,-290,-288,64,64,64,64,-273,64,64,64,64,64,-251,-274,-247,64,64,64,64,64,64,64,64,64,64,-293,64,64,-254,-289,-275,-249,-250,-248,64,-294,64,-255,64,64,64,64,-256,-252,-276,-253,]),'RSHIFT':([3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,132,134,140,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,292,301,303,305,315,319,330,331,332,333,334,335,338,345,346,350,353,357,358,359,360,361,362,363,364,365,368,369,370,377,378,411,413,417,424,427,429,433,448,449,450,451,452,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,121,-42,-133,-41,-119,-126,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,263,-115,-129,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,263,-96,-87,-88,-74,-75,263,263,263,263,263,263,-45,-70,-83,-56,-69,-117,-118,-116,263,263,263,263,263,263,-132,-131,-130,-124,-125,-86,-89,-73,-48,-82,-57,-68,263,263,263,263,263,-96,-295,-296,-297,-297,-298,-298,]),'PLUSEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,201,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,201,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,201,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,201,-295,-296,-297,-297,-298,-298,]),'THIS':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,54,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,98,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[20,-22,-1,-15,20,20,20,20,-23,-21,-13,20,20,20,-19,-17,20,-20,-16,20,-11,20,-9,20,-10,20,-8,-24,-12,-6,20,-244,-18,-14,20,20,20,20,20,20,-53,-52,-51,20,-7,-292,-291,-2,20,20,20,20,20,20,-270,-269,20,-245,-246,20,20,20,20,20,20,20,-261,-262,20,20,20,20,20,-265,-266,-25,20,20,20,20,20,20,20,20,20,20,20,20,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,20,20,-1,-54,20,20,-232,-233,20,-283,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,-271,-272,20,20,20,20,20,20,20,-287,-286,-26,-263,-264,-268,-267,-284,-285,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,-290,-288,20,20,20,20,-273,20,20,20,20,20,-251,-274,-247,20,20,20,20,20,20,20,20,20,20,-293,20,20,-254,-289,-275,-249,-250,-248,20,-294,20,-255,20,20,20,20,-256,-252,-276,-253,]),'MINUSEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,197,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,197,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,197,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,197,-295,-296,-297,-297,-298,-298,]),'CONDOP':([1,3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,56,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,140,141,142,144,145,156,159,166,169,172,173,196,204,209,213,214,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,288,290,291,292,293,294,297,301,302,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,380,382,411,413,417,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,468,482,506,508,526,529,537,],[89,-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-188,-200,-104,-31,-32,-33,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-129,275,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-201,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-198,-162,-180,-144,-186,-174,-192,-96,409,-87,-88,-74,-183,-75,-195,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-197,-173,-86,-89,-73,-48,-82,-57,-68,-193,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,-199,-295,-296,-297,-297,-298,-298,]),'XOREQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,199,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,199,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,199,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,199,-295,-296,-297,-297,-298,-298,]),'OR':([1,3,8,12,15,16,18,20,22,24,27,35,38,41,46,49,53,56,60,61,63,64,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,140,141,142,144,145,156,159,166,169,172,173,196,204,209,213,214,216,218,221,222,223,224,227,229,239,245,246,247,248,249,281,282,283,288,290,291,292,293,294,297,301,302,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,338,345,346,350,353,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,377,378,380,382,411,413,417,424,427,429,433,442,448,449,450,451,452,453,454,455,456,457,458,462,464,468,482,506,508,526,529,537,],[90,-28,-72,-94,-71,-27,-150,-42,-133,-41,-119,-126,-30,-95,-105,-78,-188,-200,-104,-31,-32,-33,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-129,276,-96,-178,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-201,-47,-46,-77,-76,-97,-98,-81,-55,-80,-136,-135,-134,-127,-128,-122,-121,-120,-198,-162,-180,-144,-186,-174,-192,-96,410,-87,-88,-74,-183,-75,-195,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-45,-70,-83,-56,-69,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-124,-125,-197,-173,-86,-89,-73,-48,-82,-57,-68,-193,-149,-146,-145,-148,-147,-175,-181,-163,-164,-166,-165,-187,-96,-199,-295,-296,-297,-297,-298,-298,]),'BREAK':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[66,-22,-15,66,-23,-21,-13,-19,-17,-20,-16,-11,66,-9,-10,-8,-24,-12,-6,66,-244,-18,-14,-7,-292,-291,-2,66,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,66,66,-290,-288,66,66,-273,66,66,-251,-274,-247,66,66,66,66,66,66,-293,66,-254,-289,-275,-249,-250,-248,66,-294,66,-255,66,66,66,66,-256,-252,-276,-253,]),'URSHIFTEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,195,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,195,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,195,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,195,-295,-296,-297,-297,-298,-298,]),'CONTINUE':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[47,-22,-15,47,-23,-21,-13,-19,-17,-20,-16,-11,47,-9,-10,-8,-24,-12,-6,47,-244,-18,-14,-7,-292,-291,-2,47,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,47,47,-290,-288,47,47,-273,47,47,-251,-274,-247,47,47,47,47,47,47,-293,47,-254,-289,-275,-249,-250,-248,47,-294,47,-255,47,47,47,47,-256,-252,-276,-253,]),'FINALLY':([161,311,312,516,],[308,308,-26,-289,]),'TYPEOF':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[23,-22,-1,-15,23,23,23,23,-23,-21,-13,23,23,23,-19,-17,23,-20,-16,23,-11,23,-9,23,-10,-8,-24,-12,-6,23,-244,-18,-14,23,23,23,23,23,23,-53,-52,-51,-7,-292,-291,-2,23,23,23,23,23,23,-270,-269,23,-245,-246,23,23,23,23,23,23,23,-261,-262,23,23,23,23,23,-265,-266,-25,23,23,23,23,23,23,23,23,23,23,23,23,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,23,23,-1,-54,23,23,-232,-233,23,-283,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,-271,-272,23,23,23,23,23,23,23,-287,-286,-26,-263,-264,-268,-267,-284,-285,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,-290,-288,23,23,23,23,-273,23,23,23,23,23,-251,-274,-247,23,23,23,23,23,23,23,23,23,23,-293,23,23,-254,-289,-275,-249,-250,-248,23,-294,23,-255,23,23,23,23,-256,-252,-276,-253,]),'error':([1,3,8,12,14,15,16,18,20,22,24,26,27,34,35,38,41,46,47,49,51,53,55,56,60,61,63,64,66,69,70,71,73,74,76,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,117,118,119,125,127,128,129,130,131,132,134,135,136,137,138,139,140,141,142,144,145,156,159,165,166,169,172,173,178,196,204,209,211,213,214,216,218,221,222,223,224,227,229,239,244,245,246,247,248,249,280,281,282,283,303,305,315,318,319,320,325,326,327,328,329,330,331,332,333,334,335,336,337,338,345,346,350,353,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,411,413,417,422,424,427,429,433,480,482,500,506,508,526,529,537,],[-206,-28,-72,-94,116,-71,-27,-150,-42,-133,-41,116,-119,116,-126,-30,-95,-105,116,-78,-230,-188,-212,-200,-104,-31,-32,-33,116,-194,-35,-34,-176,-167,-182,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,116,-238,-234,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,116,-226,-129,-202,-96,-178,-113,-109,-85,116,-114,-84,-79,-76,116,-100,-101,-110,116,-99,-201,-47,-46,-77,-76,-97,-98,-81,-55,-80,-239,-136,-135,-134,-127,-128,-231,-122,-121,-120,-87,-88,-74,-183,-75,-195,-189,-168,-169,-171,-170,-155,-152,-151,-154,-153,-156,-177,-213,-45,-70,-83,-56,-69,-235,-242,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,-86,-89,-73,-207,-48,-82,-57,-68,-203,-295,116,-296,-297,-297,-298,-298,]),'NOT':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[48,-22,-1,-15,48,48,48,48,-23,-21,-13,48,48,48,-19,-17,48,-20,-16,48,-11,48,-9,48,-10,-8,-24,-12,-6,48,-244,-18,-14,48,48,48,48,48,48,-53,-52,-51,-7,-292,-291,-2,48,48,48,48,48,48,-270,-269,48,-245,-246,48,48,48,48,48,48,48,-261,-262,48,48,48,48,48,-265,-266,-25,48,48,48,48,48,48,48,48,48,48,48,48,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,48,48,-1,-54,48,48,-232,-233,48,-283,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,-271,-272,48,48,48,48,48,48,48,-287,-286,-26,-263,-264,-268,-267,-284,-285,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,-290,-288,48,48,48,48,-273,48,48,48,48,48,-251,-274,-247,48,48,48,48,48,48,48,48,48,48,-293,48,48,-254,-289,-275,-249,-250,-248,48,-294,48,-255,48,48,48,48,-256,-252,-276,-253,]),'ANDEQUAL':([3,8,12,15,16,20,24,38,41,49,61,63,64,70,71,78,79,80,81,82,85,87,101,102,103,105,107,108,109,110,142,159,169,172,173,216,218,221,222,227,229,239,301,303,305,315,319,338,345,346,350,353,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-30,-95,-78,-31,-32,-33,-35,-34,-37,-36,-43,-44,203,-38,-29,-92,-39,-93,-40,-67,-66,-76,-41,203,-85,-84,-79,-76,-47,-46,-77,-76,-81,-55,-80,203,-87,-88,-74,-75,-45,-70,-83,-56,-69,-86,-89,-73,-48,-82,-57,-68,203,-295,-296,-297,-297,-298,-298,]),'RBRACKET':([3,4,16,20,38,61,63,64,70,71,78,79,80,81,85,87,91,92,93,94,95,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,129,130,131,132,134,135,136,137,139,140,141,142,144,145,156,166,209,215,216,217,218,219,221,222,223,224,227,229,239,304,305,316,338,343,345,346,347,350,353,354,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,380,381,382,413,423,424,427,429,433,480,482,506,526,537,],[-28,-1,-27,-42,-30,-31,-32,-33,-35,-34,-37,-36,-43,-44,-38,-29,216,218,-53,-52,-51,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,-123,-157,-190,-196,-137,-115,-184,-172,-208,-226,-129,-202,-96,-178,-113,-109,-114,-110,-1,-47,-49,-46,-54,-77,-76,-97,-98,-81,-55,-80,411,-88,417,-45,424,-70,-83,427,-56,-69,433,-117,-118,-116,-142,-139,-138,-141,-140,-143,-185,-191,-132,-131,-130,-179,-158,-159,-161,-160,-227,-124,-125,-197,-209,-173,-89,-50,-48,-82,-57,-68,-203,-295,-296,-297,-298,]),'MOD':([3,8,12,15,16,20,24,27,35,38,41,46,49,60,61,63,64,70,71,78,79,80,81,82,85,87,97,99,100,101,102,103,105,106,107,108,109,110,112,113,125,127,128,134,142,145,156,159,166,169,172,173,196,204,209,213,216,218,221,222,223,224,227,229,239,248,249,281,282,283,301,303,305,315,319,338,345,346,350,353,357,358,359,377,378,411,413,417,424,427,429,433,464,482,506,508,526,529,537,],[-28,-72,-94,-71,-27,-42,-41,-119,150,-30,-95,-105,-78,-104,-31,-32,-33,-35,-34,-37,-36,-43,-44,-99,-38,-29,-112,-96,-102,-92,-39,-93,-40,-103,-67,-66,-76,-41,-111,-107,-108,-106,252,-115,-96,-113,-109,-85,-114,-84,-79,-76,-100,-101,-110,-99,-47,-46,-77,-76,-97,-98,-81,-55,-80,252,252,-122,-121,-120,-96,-87,-88,-74,-75,-45,-70,-83,-56,-69,-117,-118,-116,252,252,-86,-89,-73,-48,-82,-57,-68,-96,-295,-296,-297,-297,-298,-298,]),'THROW':([0,2,5,7,13,19,21,28,29,31,36,43,44,45,50,58,62,65,67,68,72,75,77,111,114,115,116,126,133,143,147,148,163,164,176,177,179,240,241,250,270,271,310,311,312,313,314,322,323,340,341,383,386,414,416,418,421,435,436,441,471,472,475,477,483,492,501,502,504,508,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[88,-22,-15,88,-23,-21,-13,-19,-17,-20,-16,-11,88,-9,-10,-8,-24,-12,-6,88,-244,-18,-14,-7,-292,-291,-2,88,-270,-269,-245,-246,-261,-262,-265,-266,-25,-232,-233,-283,-271,-272,-287,-286,-26,-263,-264,-268,-267,-284,-285,88,88,-290,-288,88,88,-273,88,88,-251,-274,-247,88,88,88,88,88,88,-293,88,-254,-289,-275,-249,-250,-248,88,-294,88,-255,88,88,88,88,-256,-252,-276,-253,]),'GETPROP':([104,349,],[228,228,]),'DELETE':([0,2,4,5,6,7,10,11,13,19,21,23,25,26,28,29,30,31,36,40,43,44,45,48,50,58,62,65,67,68,72,75,77,83,84,88,89,90,92,93,94,95,111,114,115,116,120,121,122,123,124,126,133,143,146,147,148,149,150,151,152,155,158,160,163,164,168,170,171,174,175,176,177,179,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,197,198,199,200,201,202,203,205,206,207,210,215,219,226,238,240,241,243,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,310,311,312,313,314,322,323,340,341,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,414,416,418,420,421,434,435,436,441,443,446,447,471,472,475,477,483,488,491,492,493,495,501,502,504,508,509,512,514,516,519,522,523,524,528,529,531,532,533,534,536,540,541,542,544,547,],[25,-22,-1,-15,25,25,25,25,-23,-21,-13,25,25,25,-19,-17,25,-20,-16,25,-11,25,-9,25,-10,-8,-24,-12,-6,25,-244,-18,-14,25,25,25,25,25,25,-53,-52,-51,-7,-292,-291,-2,25,25,25,25,25,25,-270,-269,25,-245,-246,25,25,25,25,25,25,25,-261,-262,25,25,25,25,25,-265,-266,-25,25,25,25,25,25,25,25,25,25,25,25,25,-216,-221,-222,-219,-217,-224,-215,-218,-220,-223,-214,-225,25,25,-1,-54,25,25,-232,-233,25,-283,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,-271,-272,25,25,25,25,25,25,25,-287,-286,-26,-263,-264,-268,-267,-284,-285,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,-290,-288,25,25,25,25,-273,25,25,25,25,25,-251,-274,-247,25,25,25,25,25,25,25,25,25,25,-293,25,25,-254,-289,-275,-249,-250,-248,25,-294,25,-255,25,25,25,25,-256,-252,-276,-253,]),} +_lr_action_items = {'MOD':([5,8,12,33,37,38,40,41,42,43,45,47,52,55,56,57,58,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,185,193,205,219,222,224,232,233,234,235,238,248,249,252,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,417,418,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,-104,-99,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,196,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,302,-96,-115,-111,-80,-81,-55,-77,-76,-97,-98,-99,-75,-74,-88,-96,-87,-47,-46,302,302,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,302,302,-68,-82,-57,-96,-48,-295,-296,-297,-298,-297,-298,]),'FUNCTION':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[3,-21,-18,91,-11,-13,91,-14,-8,91,-12,-6,-24,3,3,3,-17,-23,-15,91,-20,91,-10,-244,91,91,-1,91,-16,-22,91,91,91,-19,-9,91,91,91,91,91,91,91,91,-25,-7,91,91,91,91,91,91,91,91,91,91,91,91,91,-221,-224,-215,91,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,3,91,91,91,-261,-262,91,91,-51,-53,-52,91,91,91,91,91,91,-270,-269,91,91,91,-245,91,-246,91,-265,-266,91,91,-26,-283,-263,-264,-286,-287,-54,-1,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,-271,91,-272,91,91,91,-233,-232,-267,-268,-284,-285,3,91,3,3,3,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,-290,-288,91,91,3,3,-251,-273,-247,91,91,91,91,-274,3,3,3,3,91,91,91,91,-293,3,3,-248,-249,-250,-254,3,91,-289,-275,-294,3,3,3,-255,3,3,-252,-256,3,-276,-253,]),'RSHIFT':([5,8,12,33,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,193,195,205,219,222,224,232,233,234,235,238,248,249,252,254,255,256,257,258,259,263,264,265,271,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,-104,-99,-44,-41,-36,-27,-37,-38,154,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,305,-96,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,-75,-74,-88,305,305,305,305,305,305,-135,-134,-136,305,-96,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,305,305,305,305,305,305,-124,-125,-68,-82,-57,305,305,305,305,305,-96,-48,-295,-296,-297,-298,-297,-298,]),'LT':([5,8,12,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,192,193,195,205,219,222,224,232,233,234,235,238,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,-78,129,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,319,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,319,319,319,319,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,369,-144,-96,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,319,319,319,319,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,319,319,319,319,-48,-295,-296,-297,-298,-297,-298,]),'FOR':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[51,-21,-18,-11,-13,-14,-8,-12,-6,-24,51,51,51,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,51,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,51,51,51,51,-290,-288,51,51,-251,-273,-247,-274,51,51,51,51,-293,51,51,-248,-249,-250,-254,51,-289,-275,-294,51,51,51,-255,51,51,-252,-256,51,-276,-253,]),'GETPROP':([98,356,],[228,228,]),'FINALLY':([161,242,285,519,],[284,-26,284,-289,]),'TRY':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[53,-21,-18,-11,-13,-14,-8,-12,-6,-24,53,53,53,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,53,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,53,53,53,53,-290,-288,53,53,-251,-273,-247,-274,53,53,53,53,-293,53,53,-248,-249,-250,-254,53,-289,-275,-294,53,53,53,-255,53,53,-252,-256,53,-276,-253,]),'MINUS':([0,2,4,5,6,8,9,10,11,12,13,15,17,19,20,23,24,25,26,28,29,30,33,36,37,38,40,41,42,43,44,45,46,47,50,52,54,55,56,57,58,59,60,61,62,64,66,67,68,69,71,72,73,75,77,78,80,83,84,85,86,87,88,92,93,94,95,96,97,99,100,101,103,104,105,106,107,108,109,110,111,112,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,160,162,164,165,166,167,168,169,171,172,173,174,175,176,177,178,180,183,185,188,193,195,196,197,198,199,200,201,205,206,207,208,218,219,221,222,224,232,233,234,235,238,242,248,249,252,262,263,264,265,266,267,272,285,286,287,289,290,291,293,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,331,334,335,337,338,339,340,341,344,348,350,352,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,390,391,392,396,397,398,399,400,401,417,418,423,427,430,431,435,437,438,439,448,463,464,465,471,473,474,477,478,481,484,486,487,488,489,500,502,504,505,508,509,510,511,512,516,517,519,522,525,527,528,530,531,532,534,536,537,540,541,542,544,547,],[54,-21,-18,-30,54,-29,-11,-13,54,-31,-14,-8,54,-12,-6,-24,54,54,54,-17,-23,-15,-78,-20,-104,-99,-44,-41,-36,-27,54,-37,-10,-38,-244,-33,54,-72,-43,-71,-95,54,-1,54,-16,-22,54,177,54,-126,-28,-35,-32,54,-42,-19,-34,-119,-94,-9,54,54,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,54,-113,54,54,-106,54,54,-25,-7,54,54,54,54,-79,-76,54,54,-84,54,54,54,54,54,54,54,-221,-224,-215,54,-101,-100,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,54,-108,54,54,54,-261,-262,54,-112,54,-85,-114,-51,-53,-52,54,-109,54,54,54,-110,54,54,-270,-123,-96,-269,-115,326,54,54,54,-245,54,-246,-111,54,-265,-266,54,-80,54,-81,-55,-77,-76,-97,-98,-99,-26,-75,-74,-88,-283,326,326,326,-263,-264,-96,-286,-287,-87,-54,-1,-47,-46,-128,-127,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,-271,54,-272,54,54,-122,-121,-120,54,-233,-232,-267,-268,-45,-284,-285,54,-69,-83,54,-56,-70,54,54,54,54,54,-89,-73,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,-290,-288,-86,54,54,-118,-117,-116,326,326,326,-124,-125,54,54,-68,-82,-57,-251,-273,-247,-96,54,54,54,-48,54,-274,-295,54,54,54,54,54,54,54,54,-296,-293,54,54,-248,-249,-250,-254,54,54,-289,-275,-294,-297,54,54,54,-255,54,54,-298,-252,-256,54,-276,-253,]),'DIVEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,140,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,140,-80,-81,-55,-77,-76,-75,-74,-88,140,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,140,-48,-295,-296,-297,-298,-297,-298,]),'WHILE':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,114,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[7,-21,-18,-11,-13,-14,-8,-12,-6,-24,7,7,7,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,243,-25,-7,-291,-2,-292,7,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,7,7,7,7,-290,-288,7,7,-251,-273,-247,-274,7,7,7,7,-293,7,7,-248,-249,-250,-254,7,-289,-275,-294,7,7,7,-255,7,7,-252,-256,7,-276,-253,]),'MINUSEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,142,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,142,-80,-81,-55,-77,-76,-75,-74,-88,142,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,142,-48,-295,-296,-297,-298,-297,-298,]),'SEMI':([0,1,2,4,5,8,9,10,12,13,14,15,16,19,20,23,24,25,26,27,28,29,30,33,34,35,36,37,38,39,40,41,42,43,45,46,47,48,49,50,52,55,56,57,58,62,63,64,65,67,68,69,70,71,72,73,77,78,80,81,82,83,84,85,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,115,116,121,122,126,138,139,149,150,151,152,153,157,158,159,160,162,165,166,172,176,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,199,201,202,203,204,205,207,208,209,211,219,222,224,232,233,234,235,237,238,239,242,244,245,246,247,248,249,252,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,279,280,281,282,285,286,287,291,293,294,296,297,298,322,324,327,328,329,330,332,334,335,337,338,339,340,341,344,348,350,355,357,358,359,360,363,364,381,382,383,384,388,389,390,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,409,410,411,412,413,414,415,416,417,418,419,420,423,427,430,431,435,437,438,439,442,443,444,445,446,447,448,449,451,452,454,455,456,457,458,459,460,461,462,465,467,468,471,472,474,477,478,481,484,485,486,490,492,493,494,496,502,504,505,508,509,510,511,512,513,516,518,519,522,525,527,528,530,531,532,534,536,537,540,541,542,544,547,],[50,-212,-21,-18,-30,-29,-11,-13,-31,-14,-188,-8,-182,-12,-6,-24,50,50,50,-176,-17,-23,-15,-78,-167,-194,-20,-104,-99,149,-44,-41,-36,-27,-37,-10,-38,-150,157,-244,-33,-72,-43,-71,-95,-16,-206,-22,-200,-133,188,-126,199,-28,-35,-32,-42,-19,-34,-230,207,-119,-94,-9,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-25,-7,-79,-76,-84,-101,-100,-291,-2,-292,50,-108,-261,-262,266,-1,-112,-85,-114,-109,-110,-184,-270,-190,-196,-123,-137,-96,-172,-226,-269,-202,-178,-208,-157,-115,322,-129,-245,-246,-238,335,-234,-111,-265,-266,337,340,-80,-81,-55,-77,-76,-97,-98,-183,-99,-177,-26,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-189,-213,-283,-135,-134,-136,-263,-264,-210,-192,-162,-144,-96,-198,-204,-180,-174,381,-260,-186,-259,-228,-286,-287,-87,-47,-46,-201,-195,-128,-127,-271,-272,-122,-121,-120,-231,-239,-233,-232,-267,-268,-45,-284,-285,50,-69,-83,-56,-70,50,50,50,-89,-73,-1,-236,-240,465,-290,-288,-86,-179,-185,-191,-118,-117,-116,-131,-130,-132,-209,-161,-158,-159,-160,-197,-173,-141,-139,-142,-138,-140,-143,-227,-124,-125,-242,-235,50,50,-68,-82,-57,-251,-273,-247,-187,-148,-146,-149,-145,-147,-96,-211,-193,-199,-175,-166,-163,-164,-165,-257,488,-258,-241,-1,-229,-181,-48,-207,-274,-295,50,50,50,510,50,-243,517,-237,-240,-203,-296,-293,50,50,-248,-249,-250,-254,-205,50,-241,-289,-275,-294,-297,50,50,50,-255,50,50,-298,-252,-256,50,-276,-253,]),'CONDOP':([5,8,12,14,16,27,33,34,35,37,38,40,41,42,43,45,47,48,52,55,56,57,58,63,65,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,179,181,182,183,184,185,186,189,190,192,193,195,205,219,222,224,232,233,234,235,237,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,260,263,264,265,269,270,271,272,273,274,275,276,280,287,291,293,294,296,297,298,327,328,329,339,348,350,355,357,363,364,390,393,394,395,396,397,398,399,400,401,403,404,405,406,407,409,410,411,412,413,414,415,417,418,430,431,435,442,443,444,445,446,447,448,451,452,454,455,456,457,458,468,471,477,502,504,525,527,537,],[-30,-29,-31,-188,-182,-176,-78,-167,-194,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,174,-200,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-184,-190,-196,-123,-137,-96,-172,314,-178,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-183,-99,-177,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-189,-135,-134,-136,-192,-162,-144,-96,-198,375,-180,-174,-186,-87,-47,-46,-201,-195,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-179,-185,-191,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,-197,-173,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-187,-148,-146,-149,-145,-147,-96,-193,-199,-175,-166,-163,-164,-165,-181,-48,-295,-296,-297,-298,-297,-298,]),'CATCH':([161,242,],[283,-26,]),'URSHIFT':([5,8,12,33,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,193,195,205,219,222,224,232,233,234,235,238,248,249,252,254,255,256,257,258,259,263,264,265,271,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,-104,-99,-44,-41,-36,-27,-37,-38,156,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,307,-96,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,-75,-74,-88,307,307,307,307,307,307,-135,-134,-136,307,-96,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,307,307,307,307,307,307,-124,-125,-68,-82,-57,307,307,307,307,307,-96,-48,-295,-296,-297,-298,-297,-298,]),'RBRACKET':([5,8,12,40,42,43,45,47,52,56,60,71,72,73,77,80,92,93,94,95,96,97,99,100,101,103,104,105,107,110,153,162,166,167,168,169,170,171,172,176,179,181,182,183,184,185,186,187,189,190,191,192,193,195,205,219,222,224,232,233,234,235,252,253,288,289,290,291,292,293,339,348,349,350,351,355,357,363,391,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,409,410,411,412,413,414,415,416,417,418,430,431,435,470,471,477,496,502,527,537,],[-30,-29,-31,-44,-36,-27,-37,-38,-33,-43,-1,-28,-35,-32,-42,-34,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-108,-112,-114,-51,-53,-52,291,293,-109,-110,-184,-190,-196,-123,-137,-96,-172,-226,-202,-178,-208,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-88,364,390,-54,-1,-47,-49,-46,-45,-69,430,-83,431,-56,-70,-89,471,-179,-185,-191,-118,-117,-116,-131,-130,-132,-209,-161,-158,-159,-160,-197,-173,-141,-139,-142,-138,-140,-143,-227,-124,-125,-68,-82,-57,-50,-48,-295,-203,-296,-297,-298,]),'OREQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,145,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,145,-80,-81,-55,-77,-76,-75,-74,-88,145,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,145,-48,-295,-296,-297,-298,-297,-298,]),'NOT':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[59,-21,-18,59,-11,-13,59,-14,-8,59,-12,-6,-24,59,59,59,-17,-23,-15,-20,59,-10,-244,59,59,-1,59,-16,-22,59,59,59,-19,-9,59,59,59,59,59,59,59,-25,-7,59,59,59,59,59,59,59,59,59,59,59,59,59,-221,-224,-215,59,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,59,59,59,59,-261,-262,59,59,-51,-53,-52,59,59,59,59,59,59,-270,-269,59,59,59,-245,59,-246,59,-265,-266,59,59,-26,-283,-263,-264,-286,-287,-54,-1,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,-271,59,-272,59,59,59,-233,-232,-267,-268,-284,-285,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,-290,-288,59,59,59,59,-251,-273,-247,59,59,59,59,-274,59,59,59,59,59,59,59,59,-293,59,59,-248,-249,-250,-254,59,59,-289,-275,-294,59,59,59,-255,59,59,-252,-256,59,-276,-253,]),'PLUSEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,146,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,146,-80,-81,-55,-77,-76,-75,-74,-88,146,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,146,-48,-295,-296,-297,-298,-297,-298,]),'BAND':([5,8,12,16,27,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,186,190,192,193,195,205,219,222,224,232,233,234,235,237,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,275,276,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,393,396,397,398,399,400,401,403,404,405,406,409,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,454,455,456,457,458,468,471,477,502,504,525,527,537,],[-30,-29,-31,109,-176,-78,-167,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,-172,315,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,109,-99,-177,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,-162,-144,-96,376,-174,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,315,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,-173,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,-175,-166,-163,-164,-165,376,-48,-295,-296,-297,-298,-297,-298,]),'BXOR':([5,8,12,14,16,27,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,179,183,184,185,186,190,192,193,195,205,219,222,224,232,233,234,235,237,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,260,263,264,265,270,271,272,275,276,280,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,393,394,396,397,398,399,400,401,403,404,405,406,409,410,411,412,413,414,415,417,418,430,431,435,442,443,444,445,446,447,448,454,455,456,457,458,468,471,477,502,504,525,527,537,],[-30,-29,-31,108,-182,-176,-78,-167,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,299,-123,-137,-96,-172,-178,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-183,-99,-177,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,108,-135,-134,-136,-162,-144,-96,-180,-174,386,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-179,299,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,-173,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,386,-148,-146,-149,-145,-147,-96,-175,-166,-163,-164,-165,-181,-48,-295,-296,-297,-298,-297,-298,]),'GT':([5,8,12,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,192,193,195,205,219,222,224,232,233,234,235,238,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,-78,127,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,317,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,317,317,317,317,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,367,-144,-96,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,317,317,317,317,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,317,317,317,317,-48,-295,-296,-297,-298,-297,-298,]),'PERIOD':([5,8,12,33,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,92,93,94,96,99,100,104,122,126,165,219,222,224,233,248,249,252,287,291,293,339,348,350,355,357,363,364,390,430,431,435,471,477,502,504,525,527,537,],[-30,-29,-31,123,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,163,-28,-35,-32,-42,-34,-67,-39,217,220,-40,-66,-41,217,-84,-85,-80,-81,-55,217,-75,-74,-88,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,-48,-295,-296,-297,-298,-297,-298,]),'error':([1,5,8,12,14,16,27,33,34,35,37,38,39,40,41,42,43,45,47,48,49,52,55,56,57,58,63,65,67,68,69,70,71,72,73,77,80,81,82,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,159,162,165,166,172,176,179,181,182,183,184,185,186,187,189,190,191,192,193,194,195,202,203,204,205,209,211,219,222,224,232,233,234,235,237,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,260,261,263,264,265,287,291,293,294,296,297,298,327,328,329,330,332,339,348,350,355,357,363,364,390,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,409,410,411,412,413,414,415,416,417,418,419,420,430,431,435,471,472,477,485,496,502,504,525,527,537,],[-212,-30,-29,-31,-188,-182,-176,-78,-167,-194,-104,-99,150,-44,-41,-36,-27,-37,-38,-150,150,-33,-72,-43,-71,-95,-206,-200,-133,150,-126,150,-28,-35,-32,-42,-34,-230,150,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,150,-112,-85,-114,-109,-110,-184,-190,-196,-123,-137,-96,-172,-226,-202,-178,-208,-157,-115,150,-129,-238,150,-234,-111,150,150,-80,-81,-55,-77,-76,-97,-98,-183,-99,-177,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-189,-213,-135,-134,-136,-87,-47,-46,-201,-195,-128,-127,-122,-121,-120,-231,-239,-45,-69,-83,-56,-70,-89,-73,-86,-179,-185,-191,-118,-117,-116,-131,-130,-132,-209,-161,-158,-159,-160,-197,-173,-141,-139,-142,-138,-140,-143,-227,-124,-125,-242,-235,-68,-82,-57,-48,-207,-295,150,-203,-296,-297,-298,-297,-298,]),'STRNEQ':([5,8,12,27,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,186,192,193,195,205,219,222,224,232,233,234,235,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,276,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,409,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,454,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,117,-78,-167,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,309,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,117,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,-162,-144,-96,377,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,309,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,377,-166,-163,-164,-165,-48,-295,-296,-297,-298,-297,-298,]),'LPAREN':([0,2,3,4,5,6,7,8,9,10,11,12,13,15,17,18,19,20,22,23,24,25,26,28,29,30,32,33,36,40,41,42,43,44,45,46,47,50,51,52,54,55,56,57,58,59,60,61,62,64,66,68,71,72,73,75,77,78,79,80,85,86,87,90,91,92,93,94,96,99,100,102,104,106,108,109,111,112,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,165,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,216,218,219,221,222,223,224,230,231,233,242,243,248,249,252,262,266,267,283,285,286,287,289,290,291,293,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,339,340,341,344,348,350,352,353,354,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,390,391,392,423,427,430,431,435,437,438,439,463,464,465,471,473,474,477,478,481,484,486,487,488,489,500,502,504,505,508,509,510,511,512,516,517,519,522,525,527,528,530,531,532,534,536,537,540,541,542,544,547,],[86,-21,89,-18,-30,86,106,-29,-11,-13,86,-31,-14,-8,86,111,-12,-6,112,-24,86,86,86,-17,-23,-15,86,124,-20,-44,-41,-36,-27,86,-37,-10,-38,-244,160,-33,86,-72,-43,-71,124,86,-1,86,-16,-22,86,86,-28,-35,-32,86,-42,-19,206,-34,-9,86,86,215,89,-67,-39,124,124,-40,-66,86,-41,86,86,86,86,86,-25,-7,86,86,86,86,124,86,86,-84,86,86,86,86,86,86,86,-221,-224,-215,86,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,86,86,86,86,-261,-262,86,86,-85,-51,-53,-52,86,86,86,86,86,86,-270,-269,86,86,86,-245,86,-246,86,-265,-266,347,86,-80,86,-81,-64,-55,-65,-63,124,-26,361,-75,-74,-88,-283,-263,-264,387,-286,-287,-87,-54,-1,-47,-46,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,-271,86,-272,86,86,86,-233,-232,-267,-268,-45,-284,-285,86,-69,-83,86,433,434,-56,-70,86,86,86,86,86,-89,-73,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,-290,-288,-86,86,86,86,86,-68,-82,-57,-251,-273,-247,86,86,86,-48,86,-274,-295,86,86,86,86,86,86,86,86,-296,-293,86,86,-248,-249,-250,-254,86,86,-289,-275,-294,-297,86,86,86,-255,86,86,-298,-252,-256,86,-276,-253,]),'RBRACE':([2,4,5,8,9,10,12,13,15,19,20,23,24,26,28,29,30,31,36,40,42,43,45,46,47,50,52,56,62,64,71,72,73,77,78,80,85,92,93,94,95,96,97,98,99,100,101,103,104,105,107,110,113,115,116,149,150,151,153,157,158,162,166,172,176,179,180,181,182,183,184,185,186,188,189,190,191,192,193,195,199,201,205,207,208,219,222,224,227,229,232,233,234,235,242,252,262,266,267,285,286,291,293,322,324,334,335,337,338,339,340,341,344,348,350,355,356,357,363,388,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,409,410,411,412,413,414,415,417,418,423,424,425,427,430,431,432,435,436,437,438,439,471,474,475,476,477,478,479,481,496,497,498,499,501,502,503,504,505,506,508,509,510,511,512,519,520,522,523,525,526,527,528,529,532,534,535,536,537,538,539,540,541,543,544,545,546,547,],[-21,-18,-30,-29,-11,-13,-31,-14,-8,-12,-6,-24,-1,-5,-17,-23,-15,-4,-20,-44,-36,-27,-37,-10,-38,-244,-33,-43,-16,-22,-28,-35,-32,-42,-19,-34,-9,-67,-39,-76,-102,-93,-92,224,-40,-66,-107,-96,-41,-103,-113,-106,242,-25,-7,-291,-2,-292,-108,-261,-262,-112,-114,-109,-110,-184,-270,-190,-196,-123,-137,-96,-172,-269,-202,-178,-208,-157,-115,-129,-245,-246,-111,-265,-266,-80,-81,-55,-58,355,-77,-76,-97,-98,-26,-88,-283,-263,-264,-286,-287,-47,-46,-271,-272,-233,-232,-267,-268,-45,-284,-285,-1,-69,-83,-56,435,-70,-89,-290,-288,-179,-185,-191,-118,-117,-116,-131,-130,-132,-209,-161,-158,-159,-160,-197,-173,-141,-139,-142,-138,-140,-143,-124,-125,-1,477,-301,-1,-68,-82,-60,-57,-59,-251,-273,-247,-48,-274,-1,502,-295,-1,504,-1,-203,-278,522,-277,-279,-296,525,-293,-1,527,-1,-248,-249,-250,-254,-289,-280,-275,-1,-294,537,-297,-1,539,-255,-1,544,-1,-298,546,-61,-252,-256,-282,-276,-281,-62,-253,]),'CASE':([2,4,9,10,13,15,19,20,23,26,28,29,30,31,36,46,50,62,64,78,85,115,116,149,150,151,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,388,389,437,438,439,474,475,497,501,504,509,510,511,512,519,520,522,523,525,532,534,536,540,541,543,544,545,547,],[-21,-18,-11,-13,-14,-8,-12,-6,-24,-5,-17,-23,-15,-4,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,-290,-288,-251,-273,-247,-274,500,500,-279,-293,-248,-249,-250,-254,-289,-280,-275,500,-294,-255,-1,-1,-252,-256,-282,-276,-281,-253,]),'DIV':([5,8,12,33,37,38,40,41,42,43,45,47,52,55,56,57,58,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,185,193,205,219,222,224,232,233,234,235,238,248,249,252,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,417,418,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,-104,-99,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,197,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,303,-96,-115,-111,-80,-81,-55,-77,-76,-97,-98,-99,-75,-74,-88,-96,-87,-47,-46,303,303,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,303,303,-68,-82,-57,-96,-48,-295,-296,-297,-298,-297,-298,]),'BOR':([5,8,12,14,16,27,33,34,35,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,179,181,183,184,185,186,190,192,193,195,205,219,222,224,232,233,234,235,237,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,260,263,264,265,269,270,271,272,275,276,280,287,291,293,296,297,298,327,328,329,339,348,350,355,357,363,364,390,393,394,395,396,397,398,399,400,401,403,404,405,406,409,410,411,412,413,414,415,417,418,430,431,435,442,443,444,445,446,447,448,451,454,455,456,457,458,468,471,477,502,504,525,527,537,],[-30,-29,-31,-188,-182,-176,-78,-167,133,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-184,300,-123,-137,-96,-172,-178,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-183,-99,-177,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-189,-135,-134,-136,365,-162,-144,-96,-180,-174,-186,-87,-47,-46,133,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-179,-185,300,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,-173,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-187,-148,-146,-149,-145,-147,-96,365,-175,-166,-163,-164,-165,-181,-48,-295,-296,-297,-298,-297,-298,]),'ELSE':([2,4,9,10,13,19,23,28,29,30,36,46,50,62,64,78,115,149,150,151,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,388,389,437,438,439,474,504,509,510,511,512,519,522,525,532,540,541,544,547,],[-21,-18,-11,-13,-14,-12,-24,-17,-23,-15,-20,-10,-244,-16,-22,-19,-25,-291,-2,-292,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,-290,-288,-251,-273,484,-274,-293,-248,-249,-250,-254,-289,-275,-294,-255,-252,-256,-276,-253,]),'DELETE':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[17,-21,-18,17,-11,-13,17,-14,-8,17,-12,-6,-24,17,17,17,-17,-23,-15,-20,17,-10,-244,17,17,-1,17,-16,-22,17,17,17,-19,-9,17,17,17,17,17,17,17,-25,-7,17,17,17,17,17,17,17,17,17,17,17,17,17,-221,-224,-215,17,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,17,17,17,17,-261,-262,17,17,-51,-53,-52,17,17,17,17,17,17,-270,-269,17,17,17,-245,17,-246,17,-265,-266,17,17,-26,-283,-263,-264,-286,-287,-54,-1,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,-271,17,-272,17,17,17,-233,-232,-267,-268,-284,-285,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,-290,-288,17,17,17,17,-251,-273,-247,17,17,17,17,-274,17,17,17,17,17,17,17,17,-293,17,17,-248,-249,-250,-254,17,17,-289,-275,-294,17,17,17,-255,17,17,-252,-256,17,-276,-253,]),'WITH':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[18,-21,-18,-11,-13,-14,-8,-12,-6,-24,18,18,18,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,18,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,18,18,18,18,-290,-288,18,18,-251,-273,-247,-274,18,18,18,18,-293,18,18,-248,-249,-250,-254,18,-289,-275,-294,18,18,18,-255,18,18,-252,-256,18,-276,-253,]),'PLUSPLUS':([0,2,4,5,6,8,9,10,11,12,13,15,17,19,20,23,24,25,26,28,29,30,33,36,38,40,41,42,43,44,45,46,47,50,52,54,55,56,57,58,59,60,61,62,64,66,68,71,72,73,75,77,78,80,84,85,86,87,92,93,94,96,97,99,100,103,104,106,108,109,111,112,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,165,167,168,169,171,173,174,175,177,178,180,185,188,196,197,198,199,200,201,206,207,208,218,219,221,222,224,232,233,238,242,248,249,252,262,266,267,272,285,286,287,289,290,291,293,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,339,340,341,344,348,350,352,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,390,391,392,423,427,430,431,435,437,438,439,448,463,464,465,471,473,474,477,478,481,484,486,487,488,489,500,502,504,505,508,509,510,511,512,516,517,519,522,525,527,528,530,531,532,534,536,537,540,541,542,544,547,],[61,-21,-18,-30,61,-29,-11,-13,61,-31,-14,-8,61,-12,-6,-24,61,61,61,-17,-23,-15,-78,-20,139,-44,-41,-36,-27,61,-37,-10,-38,-244,-33,61,-72,-43,-71,-95,61,-1,61,-16,-22,61,61,-28,-35,-32,61,-42,-19,-34,-94,-9,61,61,-67,-39,-76,-93,-92,-40,-66,234,-41,61,61,61,61,61,-25,-7,61,61,61,61,-79,-76,61,61,-84,61,61,61,61,61,61,61,-221,-224,-215,61,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,61,61,61,61,-261,-262,61,61,-85,-51,-53,-52,61,61,61,61,61,61,-270,234,-269,61,61,61,-245,61,-246,61,-265,-266,61,-80,61,-81,-55,-77,-76,139,-26,-75,-74,-88,-283,-263,-264,234,-286,-287,-87,-54,-1,-47,-46,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,-271,61,-272,61,61,61,-233,-232,-267,-268,-45,-284,-285,61,-69,-83,61,-56,-70,61,61,61,61,61,-89,-73,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,-290,-288,-86,61,61,61,61,-68,-82,-57,-251,-273,-247,234,61,61,61,-48,61,-274,-295,61,61,61,61,61,61,61,61,-296,-293,61,61,-248,-249,-250,-254,61,61,-289,-275,-294,-297,61,61,61,-255,61,61,-298,-252,-256,61,-276,-253,]),'COMMA':([1,5,8,12,14,16,27,33,34,35,37,38,40,41,42,43,45,47,48,52,55,56,57,58,60,63,65,67,69,70,71,72,73,77,80,81,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,168,169,170,172,176,179,181,182,183,184,185,186,187,189,190,191,192,193,194,195,202,203,204,205,210,211,212,213,219,222,224,227,229,232,233,234,235,236,237,238,239,240,241,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,263,264,265,268,269,270,271,272,273,274,275,276,279,280,282,287,288,289,290,291,292,293,294,296,297,298,327,328,329,330,332,336,339,345,348,349,350,351,355,357,363,364,382,383,384,390,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,409,410,411,412,413,414,415,416,417,418,419,420,422,428,430,431,432,435,436,440,441,442,443,444,445,446,447,448,449,450,451,452,454,455,456,457,458,461,462,467,468,470,471,472,477,482,490,491,493,494,496,502,504,513,515,518,524,525,527,537,539,546,],[-212,-30,-29,-31,-188,-182,-176,-78,-167,-194,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,168,-206,-200,-133,-126,200,-28,-35,-32,-42,-34,-230,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-53,289,290,-109,-110,-184,-190,-196,-123,-137,-96,-172,-226,-202,-178,-208,-157,-115,323,-129,-238,333,-234,-111,323,323,-299,342,-80,-81,-55,-58,356,-77,-76,-97,-98,323,-183,-99,-177,323,323,-171,-168,-169,-170,-75,-74,362,-90,-88,323,-152,-155,-151,-153,-154,-156,-189,-213,-135,-134,-136,-210,-192,-162,-144,-96,-198,-204,-180,-174,385,-186,-228,-87,323,-54,168,-47,-49,-46,-201,-195,-128,-127,-122,-121,-120,-231,-239,323,-45,342,-69,323,-83,323,-56,-70,-89,-73,-236,-240,466,-86,-179,-185,-191,-118,-117,-116,-131,-130,-132,-209,-161,-158,-159,-160,-197,-173,-141,-139,-142,-138,-140,-143,-227,-124,-125,-242,-235,-300,342,-68,-82,-60,-57,-59,323,-91,-187,-148,-146,-149,-145,-147,-96,-211,323,-193,-199,-175,-166,-163,-164,-165,323,-241,-229,-181,-50,-48,-207,-295,342,-243,323,-237,-240,-203,-296,-297,-205,323,-241,323,-298,-297,-298,-61,-62,]),'COLON':([5,8,12,40,41,42,43,45,47,52,56,71,72,73,77,80,92,93,94,95,96,97,99,100,101,103,104,105,107,110,153,162,166,172,176,179,181,182,183,184,185,186,187,189,190,191,192,193,195,205,219,222,223,224,225,230,231,232,233,234,235,252,268,269,270,271,273,274,275,276,280,291,293,295,339,348,350,355,357,363,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,430,431,435,442,443,444,445,446,447,448,449,451,452,453,454,455,456,457,458,468,471,477,496,502,513,521,524,527,537,],[-30,-29,-31,-44,152,-36,-27,-37,-38,-33,-43,-28,-35,-32,-42,-34,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-108,-112,-114,-109,-110,-184,-190,-196,-123,-137,-96,-172,-226,-202,-178,-208,-157,-115,-129,-111,-80,-81,-64,-55,352,-65,-63,-77,-76,-97,-98,-88,-210,-192,-162,-144,-198,-204,-180,-174,-186,-47,-46,392,-45,-69,-83,-56,-70,-89,-179,-185,-191,-118,-117,-116,-131,-130,-132,-209,-161,-158,-159,-160,-197,473,-173,-141,-139,-142,-138,-140,-143,-227,-124,-125,-68,-82,-57,-187,-148,-146,-149,-145,-147,-96,-211,-193,-199,487,-175,-166,-163,-164,-165,-181,-48,-295,-203,-296,-205,534,536,-297,-298,]),'IF':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[22,-21,-18,-11,-13,-14,-8,-12,-6,-24,22,22,22,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,22,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,22,22,22,22,-290,-288,22,22,-251,-273,-247,-274,22,22,22,22,-293,22,22,-248,-249,-250,-254,22,-289,-275,-294,22,22,22,-255,22,22,-252,-256,22,-276,-253,]),'STREQ':([5,8,12,27,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,186,192,193,195,205,219,222,224,232,233,234,235,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,276,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,409,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,454,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,120,-78,-167,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,312,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,120,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,-162,-144,-96,380,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,312,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,380,-166,-163,-164,-165,-48,-295,-296,-297,-298,-297,-298,]),'IN':([5,8,12,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,192,193,195,205,219,222,224,232,233,234,235,238,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,268,269,270,271,272,273,274,275,276,280,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,383,390,396,397,398,399,400,401,403,404,405,406,410,411,412,413,414,415,417,418,430,431,435,442,443,444,445,446,447,448,449,451,452,454,455,456,457,458,462,468,471,477,490,502,504,513,525,527,537,],[-30,-29,-31,-78,132,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,321,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,321,321,321,321,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,-210,-192,-162,-144,372,-198,-204,-180,-174,-186,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,464,-86,-118,-117,-116,-131,-130,-132,321,321,321,321,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-187,-148,-146,-149,-145,-147,-96,-211,-193,-199,-175,321,321,321,321,489,-181,-48,-295,-243,-296,-297,-205,-298,-297,-298,]),'REGEX':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[45,-21,-18,45,-11,-13,45,-14,-8,45,-12,-6,-24,45,45,45,-17,-23,-15,45,-20,45,-10,-244,45,45,-1,45,-16,-22,45,45,45,-19,-9,45,45,45,45,45,45,45,45,-25,-7,45,45,45,45,45,45,45,45,45,45,45,45,45,-221,-224,-215,45,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,45,45,45,45,-261,-262,45,45,-51,-53,-52,45,45,45,45,45,45,-270,-269,45,45,45,-245,45,-246,45,-265,-266,45,45,-26,-283,-263,-264,-286,-287,-54,-1,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,-271,45,-272,45,45,45,-233,-232,-267,-268,-284,-285,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,-290,-288,45,45,45,45,-251,-273,-247,45,45,45,45,-274,45,45,45,45,45,45,45,45,-293,45,45,-248,-249,-250,-254,45,45,-289,-275,-294,45,45,45,-255,45,45,-252,-256,45,-276,-253,]),'ID':([0,2,3,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,49,50,54,59,60,61,62,64,66,68,74,75,78,82,85,86,87,89,91,98,102,106,108,109,111,112,115,116,117,118,119,120,123,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,163,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,215,217,218,220,221,226,228,242,262,266,267,278,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,333,334,335,337,338,340,341,342,344,347,352,356,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,387,388,389,391,392,423,427,433,437,438,439,463,464,465,466,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[47,-21,47,-18,47,-11,-13,47,-14,-8,47,-12,-6,-24,47,47,47,-17,-23,-15,47,-20,47,-10,47,-244,47,47,-1,47,-16,-22,47,47,47,47,-19,47,-9,47,47,47,47,47,47,47,47,47,47,47,-25,-7,47,47,47,47,47,47,47,47,47,47,47,47,47,47,-221,-224,-215,47,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,47,47,47,47,-261,-262,47,47,47,-51,-53,-52,47,47,47,47,47,47,-270,-269,47,47,47,-245,47,-246,47,-265,-266,47,47,47,47,47,47,47,-26,-283,-263,-264,47,-286,-287,-54,-1,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,-271,47,-272,47,47,47,47,-233,-232,-267,-268,-284,-285,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,47,-290,-288,47,47,47,47,47,-251,-273,-247,47,47,47,47,47,-274,47,47,47,47,47,47,47,47,-293,47,47,-248,-249,-250,-254,47,47,-289,-275,-294,47,47,47,-255,47,47,-252,-256,47,-276,-253,]),'NEW':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[32,-21,-18,102,-11,-13,102,-14,-8,102,-12,-6,-24,32,32,32,-17,-23,-15,102,-20,102,-10,-244,102,102,-1,102,-16,-22,102,102,102,-19,-9,102,102,102,102,32,32,102,102,-25,-7,102,102,102,102,102,102,102,102,102,102,102,102,32,-221,-224,-215,102,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,32,102,102,102,-261,-262,102,102,-51,-53,-52,102,32,102,32,102,102,-270,-269,102,102,102,-245,102,-246,102,-265,-266,102,102,-26,-283,-263,-264,-286,-287,-54,-1,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,-271,102,-272,102,102,102,-233,-232,-267,-268,-284,-285,32,102,32,32,32,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,-290,-288,102,102,32,32,-251,-273,-247,102,102,102,102,-274,32,32,32,32,102,102,102,102,-293,32,32,-248,-249,-250,-254,32,102,-289,-275,-294,32,32,32,-255,32,32,-252,-256,32,-276,-253,]),'LSHIFT':([5,8,12,33,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,193,195,205,219,222,224,232,233,234,235,238,248,249,252,254,255,256,257,258,259,263,264,265,271,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,-104,-99,-44,-41,-36,-27,-37,-38,155,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,306,-96,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,-75,-74,-88,306,306,306,306,306,306,-135,-134,-136,306,-96,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,306,306,306,306,306,306,-124,-125,-68,-82,-57,306,306,306,306,306,-96,-48,-295,-296,-297,-298,-297,-298,]),'LBRACE':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,53,54,59,60,61,62,64,66,68,75,78,85,86,87,102,106,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,174,177,178,180,188,196,197,198,199,200,201,206,207,208,214,218,221,242,262,266,267,284,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,343,344,346,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,421,423,426,427,429,437,438,439,463,464,465,473,474,478,480,481,483,484,486,487,488,489,495,500,504,505,507,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[24,-21,-18,98,-11,-13,98,-14,-8,98,-12,-6,-24,24,24,24,-17,-23,-15,98,-20,98,-10,-244,24,98,98,-1,98,-16,-22,98,98,98,-19,-9,98,98,98,98,98,98,-25,-7,98,98,98,98,98,98,98,98,98,98,98,98,-221,-224,-215,98,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,24,98,98,98,-261,-262,98,98,-51,-53,-52,98,98,98,98,-270,-269,98,98,98,-245,98,-246,98,-265,-266,344,98,98,-26,-283,-263,-264,24,-286,-287,-54,-1,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-271,98,-272,98,98,98,-233,-232,-267,-268,-284,-285,423,24,427,98,24,24,24,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,-290,-288,98,98,475,24,478,24,481,-251,-273,-247,98,98,98,98,-274,24,505,24,508,24,24,98,98,98,24,98,-293,24,528,24,-248,-249,-250,-254,24,98,-289,-275,-294,24,24,24,-255,24,24,-252,-256,24,-276,-253,]),'DO':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[25,-21,-18,-11,-13,-14,-8,-12,-6,-24,25,25,25,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,25,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,25,25,25,25,-290,-288,25,25,-251,-273,-247,-274,25,25,25,25,-293,25,25,-248,-249,-250,-254,25,-289,-275,-294,25,25,25,-255,25,25,-252,-256,25,-276,-253,]),'RSHIFTEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,134,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,134,-80,-81,-55,-77,-76,-75,-74,-88,134,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,134,-48,-295,-296,-297,-298,-297,-298,]),'DEFAULT':([2,4,9,10,13,15,19,20,23,26,28,29,30,31,36,46,50,62,64,78,85,115,116,149,150,151,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,388,389,437,438,439,474,475,497,498,499,501,504,509,510,511,512,519,520,522,525,532,536,540,541,544,545,547,],[-21,-18,-11,-13,-14,-8,-12,-6,-24,-5,-17,-23,-15,-4,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,-290,-288,-251,-273,-247,-274,-1,-278,521,-277,-279,-293,-248,-249,-250,-254,-289,-280,-275,-294,-255,-1,-252,-256,-276,-281,-253,]),'RETURN':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[68,-21,-18,-11,-13,-14,-8,-12,-6,-24,68,68,68,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,68,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,68,68,68,68,-290,-288,68,68,-251,-273,-247,-274,68,68,68,68,-293,68,68,-248,-249,-250,-254,68,-289,-275,-294,68,68,68,-255,68,68,-252,-256,68,-276,-253,]),'MINUSMINUS':([0,2,4,5,6,8,9,10,11,12,13,15,17,19,20,23,24,25,26,28,29,30,33,36,38,40,41,42,43,44,45,46,47,50,52,54,55,56,57,58,59,60,61,62,64,66,68,71,72,73,75,77,78,80,84,85,86,87,92,93,94,96,97,99,100,103,104,106,108,109,111,112,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,165,167,168,169,171,173,174,175,177,178,180,185,188,196,197,198,199,200,201,206,207,208,218,219,221,222,224,232,233,238,242,248,249,252,262,266,267,272,285,286,287,289,290,291,293,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,339,340,341,344,348,350,352,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,390,391,392,423,427,430,431,435,437,438,439,448,463,464,465,471,473,474,477,478,481,484,486,487,488,489,500,502,504,505,508,509,510,511,512,516,517,519,522,525,527,528,530,531,532,534,536,537,540,541,542,544,547,],[66,-21,-18,-30,66,-29,-11,-13,66,-31,-14,-8,66,-12,-6,-24,66,66,66,-17,-23,-15,-78,-20,138,-44,-41,-36,-27,66,-37,-10,-38,-244,-33,66,-72,-43,-71,-95,66,-1,66,-16,-22,66,66,-28,-35,-32,66,-42,-19,-34,-94,-9,66,66,-67,-39,-76,-93,-92,-40,-66,235,-41,66,66,66,66,66,-25,-7,66,66,66,66,-79,-76,66,66,-84,66,66,66,66,66,66,66,-221,-224,-215,66,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,66,66,66,66,-261,-262,66,66,-85,-51,-53,-52,66,66,66,66,66,66,-270,235,-269,66,66,66,-245,66,-246,66,-265,-266,66,-80,66,-81,-55,-77,-76,138,-26,-75,-74,-88,-283,-263,-264,235,-286,-287,-87,-54,-1,-47,-46,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,-271,66,-272,66,66,66,-233,-232,-267,-268,-45,-284,-285,66,-69,-83,66,-56,-70,66,66,66,66,66,-89,-73,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,66,-290,-288,-86,66,66,66,66,-68,-82,-57,-251,-273,-247,235,66,66,66,-48,66,-274,-295,66,66,66,66,66,66,66,66,-296,-293,66,66,-248,-249,-250,-254,66,66,-289,-275,-294,-297,66,66,66,-255,66,66,-298,-252,-256,66,-276,-253,]),'NE':([5,8,12,27,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,186,192,193,195,205,219,222,224,232,233,234,235,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,276,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,409,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,454,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,119,-78,-167,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,311,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,119,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,-162,-144,-96,379,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,311,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,379,-166,-163,-164,-165,-48,-295,-296,-297,-298,-297,-298,]),'ANDEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,143,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,143,-80,-81,-55,-77,-76,-75,-74,-88,143,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,143,-48,-295,-296,-297,-298,-297,-298,]),'GE':([5,8,12,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,192,193,195,205,219,222,224,232,233,234,235,238,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,-78,131,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,316,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,316,316,316,316,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,366,-144,-96,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,316,316,316,316,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,316,316,316,316,-48,-295,-296,-297,-298,-297,-298,]),'NUMBER':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,98,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,226,228,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,356,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[72,-21,-18,72,-11,-13,72,-14,-8,72,-12,-6,-24,72,72,72,-17,-23,-15,72,-20,72,-10,-244,72,72,-1,72,-16,-22,72,72,72,-19,-9,72,72,72,72,72,72,72,72,72,-25,-7,72,72,72,72,72,72,72,72,72,72,72,72,72,-221,-224,-215,72,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,72,72,72,72,-261,-262,72,72,-51,-53,-52,72,72,72,72,72,72,-270,-269,72,72,72,-245,72,-246,72,-265,-266,72,72,72,72,-26,-283,-263,-264,-286,-287,-54,-1,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,-271,72,-272,72,72,72,-233,-232,-267,-268,-284,-285,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,-290,-288,72,72,72,72,-251,-273,-247,72,72,72,72,-274,72,72,72,72,72,72,72,72,-293,72,72,-248,-249,-250,-254,72,72,-289,-275,-294,72,72,72,-255,72,72,-252,-256,72,-276,-253,]),'TRUE':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[73,-21,-18,73,-11,-13,73,-14,-8,73,-12,-6,-24,73,73,73,-17,-23,-15,73,-20,73,-10,-244,73,73,-1,73,-16,-22,73,73,73,-19,-9,73,73,73,73,73,73,73,73,-25,-7,73,73,73,73,73,73,73,73,73,73,73,73,73,-221,-224,-215,73,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,73,73,73,73,-261,-262,73,73,-51,-53,-52,73,73,73,73,73,73,-270,-269,73,73,73,-245,73,-246,73,-265,-266,73,73,-26,-283,-263,-264,-286,-287,-54,-1,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,-271,73,-272,73,73,73,-233,-232,-267,-268,-284,-285,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,-290,-288,73,73,73,73,-251,-273,-247,73,73,73,73,-274,73,73,73,73,73,73,73,73,-293,73,73,-248,-249,-250,-254,73,73,-289,-275,-294,73,73,73,-255,73,73,-252,-256,73,-276,-253,]),'BNOT':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[11,-21,-18,11,-11,-13,11,-14,-8,11,-12,-6,-24,11,11,11,-17,-23,-15,-20,11,-10,-244,11,11,-1,11,-16,-22,11,11,11,-19,-9,11,11,11,11,11,11,11,-25,-7,11,11,11,11,11,11,11,11,11,11,11,11,11,-221,-224,-215,11,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,11,11,11,11,-261,-262,11,11,-51,-53,-52,11,11,11,11,11,11,-270,-269,11,11,11,-245,11,-246,11,-265,-266,11,11,-26,-283,-263,-264,-286,-287,-54,-1,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,-271,11,-272,11,11,11,-233,-232,-267,-268,-284,-285,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,-290,-288,11,11,11,11,-251,-273,-247,11,11,11,11,-274,11,11,11,11,11,11,11,11,-293,11,11,-248,-249,-250,-254,11,11,-289,-275,-294,11,11,11,-255,11,11,-252,-256,11,-276,-253,]),'XOREQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,135,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,135,-80,-81,-55,-77,-76,-75,-74,-88,135,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,135,-48,-295,-296,-297,-298,-297,-298,]),'VAR':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,160,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[74,-21,-18,-11,-13,-14,-8,-12,-6,-24,74,74,74,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,74,-261,-262,278,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,74,74,74,74,-290,-288,74,74,-251,-273,-247,-274,74,74,74,74,-293,74,74,-248,-249,-250,-254,74,-289,-275,-294,74,74,74,-255,74,74,-252,-256,74,-276,-253,]),'LBRACKET':([0,2,4,5,6,8,9,10,11,12,13,15,17,19,20,23,24,25,26,28,29,30,32,33,36,40,41,42,43,44,45,46,47,50,52,54,55,56,57,58,59,60,61,62,64,66,68,71,72,73,75,77,78,80,85,86,87,92,93,94,96,99,100,102,104,106,108,109,111,112,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,165,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,219,221,222,224,233,242,248,249,252,262,266,267,285,286,287,289,290,291,293,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,339,340,341,344,348,350,352,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,390,391,392,423,427,430,431,435,437,438,439,463,464,465,471,473,474,477,478,481,484,486,487,488,489,500,502,504,505,508,509,510,511,512,516,517,519,522,525,527,528,530,531,532,534,536,537,540,541,542,544,547,],[60,-21,-18,-30,60,-29,-11,-13,60,-31,-14,-8,60,-12,-6,-24,60,60,60,-17,-23,-15,60,125,-20,-44,-41,-36,-27,60,-37,-10,-38,-244,-33,60,-72,-43,-71,164,60,-1,60,-16,-22,60,60,-28,-35,-32,60,-42,-19,-34,-9,60,60,-67,-39,218,221,-40,-66,60,-41,60,60,60,60,60,-25,-7,60,60,60,60,218,60,60,-84,60,60,60,60,60,60,60,-221,-224,-215,60,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,60,60,60,60,-261,-262,60,60,-85,-51,-53,-52,60,60,60,60,60,60,-270,-269,60,60,60,-245,60,-246,60,-265,-266,60,-80,60,-81,-55,218,-26,-75,-74,-88,-283,-263,-264,-286,-287,-87,-54,-1,-47,-46,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,-271,60,-272,60,60,60,-233,-232,-267,-268,-45,-284,-285,60,-69,-83,60,-56,-70,60,60,60,60,60,-89,-73,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,-290,-288,-86,60,60,60,60,-68,-82,-57,-251,-273,-247,60,60,60,-48,60,-274,-295,60,60,60,60,60,60,60,60,-296,-293,60,60,-248,-249,-250,-254,60,60,-289,-275,-294,-297,60,60,60,-255,60,60,-298,-252,-256,60,-276,-253,]),'MULT':([5,8,12,33,37,38,40,41,42,43,45,47,52,55,56,57,58,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,185,193,205,219,222,224,232,233,234,235,238,248,249,252,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,417,418,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,-104,-99,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,198,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,304,-96,-115,-111,-80,-81,-55,-77,-76,-97,-98,-99,-75,-74,-88,-96,-87,-47,-46,304,304,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,304,304,-68,-82,-57,-96,-48,-295,-296,-297,-298,-297,-298,]),'LSHIFTEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,147,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,147,-80,-81,-55,-77,-76,-75,-74,-88,147,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,147,-48,-295,-296,-297,-298,-297,-298,]),'EQ':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,202,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,383,390,430,431,435,448,471,477,494,502,504,525,527,537,],[-30,-29,-31,-78,148,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,148,331,-80,-81,-55,-77,-76,-75,-74,-88,148,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,463,-86,-68,-82,-57,148,-48,-295,463,-296,-297,-298,-297,-298,]),'LE':([5,8,12,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,192,193,195,205,219,222,224,232,233,234,235,238,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,-78,130,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,320,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,320,320,320,320,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,370,-144,-96,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,320,320,320,320,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,320,320,320,320,-48,-295,-296,-297,-298,-297,-298,]),'THIS':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[77,-21,-18,77,-11,-13,77,-14,-8,77,-12,-6,-24,77,77,77,-17,-23,-15,77,-20,77,-10,-244,77,77,-1,77,-16,-22,77,77,77,-19,-9,77,77,77,77,77,77,77,77,-25,-7,77,77,77,77,77,77,77,77,77,77,77,77,77,-221,-224,-215,77,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,77,77,77,77,-261,-262,77,77,-51,-53,-52,77,77,77,77,77,77,-270,-269,77,77,77,-245,77,-246,77,-265,-266,77,77,-26,-283,-263,-264,-286,-287,-54,-1,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,-271,77,-272,77,77,77,-233,-232,-267,-268,-284,-285,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,-290,-288,77,77,77,77,-251,-273,-247,77,77,77,77,-274,77,77,77,77,77,77,77,77,-293,77,77,-248,-249,-250,-254,77,77,-289,-275,-294,77,77,77,-255,77,77,-252,-256,77,-276,-253,]),'SWITCH':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[79,-21,-18,-11,-13,-14,-8,-12,-6,-24,79,79,79,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,79,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,79,79,79,79,-290,-288,79,79,-251,-273,-247,-274,79,79,79,79,-293,79,79,-248,-249,-250,-254,79,-289,-275,-294,79,79,79,-255,79,79,-252,-256,79,-276,-253,]),'NULL':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[80,-21,-18,80,-11,-13,80,-14,-8,80,-12,-6,-24,80,80,80,-17,-23,-15,80,-20,80,-10,-244,80,80,-1,80,-16,-22,80,80,80,-19,-9,80,80,80,80,80,80,80,80,-25,-7,80,80,80,80,80,80,80,80,80,80,80,80,80,-221,-224,-215,80,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,80,80,80,80,-261,-262,80,80,-51,-53,-52,80,80,80,80,80,80,-270,-269,80,80,80,-245,80,-246,80,-265,-266,80,80,-26,-283,-263,-264,-286,-287,-54,-1,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,-271,80,-272,80,80,80,-233,-232,-267,-268,-284,-285,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,-290,-288,80,80,80,80,-251,-273,-247,80,80,80,80,-274,80,80,80,80,80,80,80,80,-293,80,80,-248,-249,-250,-254,80,80,-289,-275,-294,80,80,80,-255,80,80,-252,-256,80,-276,-253,]),'$end':([0,2,4,9,10,13,15,19,20,21,23,26,28,29,30,31,36,46,50,62,64,76,78,85,115,116,149,150,151,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,388,389,437,438,439,474,504,509,510,511,512,519,522,525,532,540,541,544,547,],[-1,-21,-18,-11,-13,-14,-8,-12,-6,0,-24,-5,-17,-23,-15,-4,-20,-10,-244,-16,-22,-3,-19,-9,-25,-7,-291,-2,-292,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,-290,-288,-251,-273,-247,-274,-293,-248,-249,-250,-254,-289,-275,-294,-255,-252,-256,-276,-253,]),'BREAK':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[82,-21,-18,-11,-13,-14,-8,-12,-6,-24,82,82,82,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,82,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,82,82,82,82,-290,-288,82,82,-251,-273,-247,-274,82,82,82,82,-293,82,82,-248,-249,-250,-254,82,-289,-275,-294,82,82,82,-255,82,82,-252,-256,82,-276,-253,]),'PLUS':([0,2,4,5,6,8,9,10,11,12,13,15,17,19,20,23,24,25,26,28,29,30,33,36,37,38,40,41,42,43,44,45,46,47,50,52,54,55,56,57,58,59,60,61,62,64,66,67,68,69,71,72,73,75,77,78,80,83,84,85,86,87,88,92,93,94,95,96,97,99,100,101,103,104,105,106,107,108,109,110,111,112,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,160,162,164,165,166,167,168,169,171,172,173,174,175,176,177,178,180,183,185,188,193,195,196,197,198,199,200,201,205,206,207,208,218,219,221,222,224,232,233,234,235,238,242,248,249,252,262,263,264,265,266,267,272,285,286,287,289,290,291,293,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,331,334,335,337,338,339,340,341,344,348,350,352,355,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,390,391,392,396,397,398,399,400,401,417,418,423,427,430,431,435,437,438,439,448,463,464,465,471,473,474,477,478,481,484,486,487,488,489,500,502,504,505,508,509,510,511,512,516,517,519,522,525,527,528,530,531,532,534,536,537,540,541,542,544,547,],[75,-21,-18,-30,75,-29,-11,-13,75,-31,-14,-8,75,-12,-6,-24,75,75,75,-17,-23,-15,-78,-20,-104,-99,-44,-41,-36,-27,75,-37,-10,-38,-244,-33,75,-72,-43,-71,-95,75,-1,75,-16,-22,75,178,75,-126,-28,-35,-32,75,-42,-19,-34,-119,-94,-9,75,75,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,75,-113,75,75,-106,75,75,-25,-7,75,75,75,75,-79,-76,75,75,-84,75,75,75,75,75,75,75,-221,-224,-215,75,-101,-100,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,75,-108,75,75,75,-261,-262,75,-112,75,-85,-114,-51,-53,-52,75,-109,75,75,75,-110,75,75,-270,-123,-96,-269,-115,325,75,75,75,-245,75,-246,-111,75,-265,-266,75,-80,75,-81,-55,-77,-76,-97,-98,-99,-26,-75,-74,-88,-283,325,325,325,-263,-264,-96,-286,-287,-87,-54,-1,-47,-46,-128,-127,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,-271,75,-272,75,75,-122,-121,-120,75,-233,-232,-267,-268,-45,-284,-285,75,-69,-83,75,-56,-70,75,75,75,75,75,-89,-73,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,-290,-288,-86,75,75,-118,-117,-116,325,325,325,-124,-125,75,75,-68,-82,-57,-251,-273,-247,-96,75,75,75,-48,75,-274,-295,75,75,75,75,75,75,75,75,-296,-293,75,75,-248,-249,-250,-254,75,75,-289,-275,-294,-297,75,75,75,-255,75,75,-298,-252,-256,75,-276,-253,]),'FALSE':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[52,-21,-18,52,-11,-13,52,-14,-8,52,-12,-6,-24,52,52,52,-17,-23,-15,52,-20,52,-10,-244,52,52,-1,52,-16,-22,52,52,52,-19,-9,52,52,52,52,52,52,52,52,-25,-7,52,52,52,52,52,52,52,52,52,52,52,52,52,-221,-224,-215,52,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,52,52,52,52,-261,-262,52,52,-51,-53,-52,52,52,52,52,52,52,-270,-269,52,52,52,-245,52,-246,52,-265,-266,52,52,-26,-283,-263,-264,-286,-287,-54,-1,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,-271,52,-272,52,52,52,-233,-232,-267,-268,-284,-285,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,-290,-288,52,52,52,52,-251,-273,-247,52,52,52,52,-274,52,52,52,52,52,52,52,52,-293,52,52,-248,-249,-250,-254,52,52,-289,-275,-294,52,52,52,-255,52,52,-252,-256,52,-276,-253,]),'DEBUGGER':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[39,-21,-18,-11,-13,-14,-8,-12,-6,-24,39,39,39,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,39,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,39,39,39,39,-290,-288,39,39,-251,-273,-247,-274,39,39,39,39,-293,39,39,-248,-249,-250,-254,39,-289,-275,-294,39,39,39,-255,39,39,-252,-256,39,-276,-253,]),'RPAREN':([5,8,12,40,42,43,45,47,52,56,71,72,73,77,80,89,92,93,94,95,96,97,99,100,101,103,104,105,107,110,124,153,162,166,172,176,179,181,182,183,184,185,186,187,189,190,191,192,193,195,205,210,212,213,215,219,222,224,232,233,234,235,236,240,241,250,251,252,291,293,336,339,345,347,348,350,355,357,363,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,409,410,411,412,413,414,415,416,417,418,422,428,430,431,434,435,440,441,450,459,461,469,471,477,482,488,491,496,502,514,515,517,527,533,537,],[-30,-29,-31,-44,-36,-27,-37,-38,-33,-43,-28,-35,-32,-42,-34,214,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,252,-108,-112,-114,-109,-110,-184,-190,-196,-123,-137,-96,-172,-226,-202,-178,-208,-157,-115,-129,-111,339,-299,343,346,-80,-81,-55,-77,-76,-97,-98,358,359,360,363,-90,-88,-47,-46,421,-45,426,429,-69,-83,-56,-70,-89,-179,-185,-191,-118,-117,-116,-131,-130,-132,-209,-161,-158,-159,-160,-197,-173,-141,-139,-142,-138,-140,-143,-227,-124,-125,-300,480,-68,-82,483,-57,485,-91,486,-257,-258,495,-48,-295,507,-1,516,-203,-296,530,531,-1,-297,542,-298,]),'VOID':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[6,-21,-18,6,-11,-13,6,-14,-8,6,-12,-6,-24,6,6,6,-17,-23,-15,-20,6,-10,-244,6,6,-1,6,-16,-22,6,6,6,-19,-9,6,6,6,6,6,6,6,-25,-7,6,6,6,6,6,6,6,6,6,6,6,6,6,-221,-224,-215,6,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,6,6,6,6,-261,-262,6,6,-51,-53,-52,6,6,6,6,6,6,-270,-269,6,6,6,-245,6,-246,6,-265,-266,6,6,-26,-283,-263,-264,-286,-287,-54,-1,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-271,6,-272,6,6,6,-233,-232,-267,-268,-284,-285,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,-290,-288,6,6,6,6,-251,-273,-247,6,6,6,6,-274,6,6,6,6,6,6,6,6,-293,6,6,-248,-249,-250,-254,6,6,-289,-275,-294,6,6,6,-255,6,6,-252,-256,6,-276,-253,]),'URSHIFTEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,141,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,141,-80,-81,-55,-77,-76,-75,-74,-88,141,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,141,-48,-295,-296,-297,-298,-297,-298,]),'STRING':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,32,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,98,102,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,226,228,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,356,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[42,-21,-18,42,-11,-13,42,-14,-8,42,-12,-6,-24,42,42,42,-17,-23,-15,42,-20,42,-10,-244,42,42,-1,42,-16,-22,42,42,42,-19,-9,42,42,42,42,42,42,42,42,42,-25,-7,42,42,42,42,42,42,42,42,42,42,42,42,42,-221,-224,-215,42,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,42,42,42,42,-261,-262,42,42,-51,-53,-52,42,42,42,42,42,42,-270,-269,42,42,42,-245,42,-246,42,-265,-266,42,42,42,42,-26,-283,-263,-264,-286,-287,-54,-1,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,-271,42,-272,42,42,42,-233,-232,-267,-268,-284,-285,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,-290,-288,42,42,42,42,-251,-273,-247,42,42,42,42,-274,42,42,42,42,42,42,42,42,-293,42,42,-248,-249,-250,-254,42,42,-289,-275,-294,42,42,42,-255,42,42,-252,-256,42,-276,-253,]),'AND':([5,8,12,14,16,27,33,34,35,37,38,40,41,42,43,45,47,48,52,55,56,57,58,65,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,179,181,182,183,184,185,186,190,192,193,195,205,219,222,224,232,233,234,235,237,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,260,263,264,265,269,270,271,272,273,275,276,280,287,291,293,294,296,297,298,327,328,329,339,348,350,355,357,363,364,390,393,394,395,396,397,398,399,400,401,403,404,405,406,407,409,410,411,412,413,414,415,417,418,430,431,435,442,443,444,445,446,447,448,451,452,454,455,456,457,458,468,471,477,502,504,525,527,537,],[-30,-29,-31,-188,-182,-176,-78,-167,-194,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,175,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-184,-190,301,-123,-137,-96,-172,-178,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-183,-99,-177,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-189,-135,-134,-136,-192,-162,-144,-96,373,-180,-174,-186,-87,-47,-46,175,-195,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-179,-185,-191,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,301,-173,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-187,-148,-146,-149,-145,-147,-96,-193,373,-175,-166,-163,-164,-165,-181,-48,-295,-296,-297,-298,-297,-298,]),'TYPEOF':([0,2,4,6,9,10,11,13,15,17,19,20,23,24,25,26,28,29,30,36,44,46,50,54,59,60,61,62,64,66,68,75,78,85,86,87,106,108,109,111,112,115,116,117,118,119,120,124,125,127,128,129,130,131,132,133,134,135,136,137,140,141,142,143,144,145,146,147,148,149,150,151,152,154,155,156,157,158,160,164,167,168,169,171,173,174,175,177,178,180,188,196,197,198,199,200,201,206,207,208,218,221,242,262,266,267,285,286,289,290,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,331,334,335,337,338,340,341,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,388,389,391,392,423,427,437,438,439,463,464,465,473,474,478,481,484,486,487,488,489,500,504,505,508,509,510,511,512,516,517,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[44,-21,-18,44,-11,-13,44,-14,-8,44,-12,-6,-24,44,44,44,-17,-23,-15,-20,44,-10,-244,44,44,-1,44,-16,-22,44,44,44,-19,-9,44,44,44,44,44,44,44,-25,-7,44,44,44,44,44,44,44,44,44,44,44,44,44,-221,-224,-215,44,-216,-222,-219,-223,-217,-225,-218,-220,-214,-291,-2,-292,44,44,44,44,-261,-262,44,44,-51,-53,-52,44,44,44,44,44,44,-270,-269,44,44,44,-245,44,-246,44,-265,-266,44,44,-26,-283,-263,-264,-286,-287,-54,-1,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,-271,44,-272,44,44,44,-233,-232,-267,-268,-284,-285,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,44,-290,-288,44,44,44,44,-251,-273,-247,44,44,44,44,-274,44,44,44,44,44,44,44,44,-293,44,44,-248,-249,-250,-254,44,44,-289,-275,-294,44,44,44,-255,44,44,-252,-256,44,-276,-253,]),'INSTANCEOF':([5,8,12,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,192,193,195,205,219,222,224,232,233,234,235,238,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,-78,128,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,318,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,318,318,318,318,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,368,-144,-96,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,318,318,318,318,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,318,318,318,318,-48,-295,-296,-297,-298,-297,-298,]),'MODEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,144,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,144,-80,-81,-55,-77,-76,-75,-74,-88,144,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,144,-48,-295,-296,-297,-298,-297,-298,]),'EQEQ':([5,8,12,27,33,34,37,38,40,41,42,43,45,47,48,52,55,56,57,58,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,183,184,185,186,192,193,195,205,219,222,224,232,233,234,235,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,263,264,265,270,271,272,276,287,291,293,297,298,327,328,329,339,348,350,355,357,363,364,390,396,397,398,399,400,401,403,404,405,406,409,410,411,412,413,414,415,417,418,430,431,435,443,444,445,446,447,448,454,455,456,457,458,471,477,502,504,525,527,537,],[-30,-29,-31,118,-78,-167,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-123,-137,-96,310,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-99,118,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-135,-134,-136,-162,-144,-96,378,-87,-47,-46,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,310,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-148,-146,-149,-145,-147,-96,378,-166,-163,-164,-165,-48,-295,-296,-297,-298,-297,-298,]),'MULTEQUAL':([5,8,12,33,38,40,41,42,43,45,47,52,55,56,57,58,71,72,73,77,80,84,92,93,94,96,97,99,100,104,121,122,126,165,185,219,222,224,232,233,248,249,252,272,287,291,293,339,348,350,355,357,363,364,390,430,431,435,448,471,477,502,504,525,527,537,],[-30,-29,-31,-78,136,-44,-41,-36,-27,-37,-38,-33,-72,-43,-71,-95,-28,-35,-32,-42,-34,-94,-67,-39,-76,-93,-92,-40,-66,-41,-79,-76,-84,-85,136,-80,-81,-55,-77,-76,-75,-74,-88,136,-87,-47,-46,-45,-69,-83,-56,-70,-89,-73,-86,-68,-82,-57,136,-48,-295,-296,-297,-298,-297,-298,]),'OR':([5,8,12,14,16,27,33,34,35,37,38,40,41,42,43,45,47,48,52,55,56,57,58,63,65,67,69,71,72,73,77,80,83,84,88,92,93,94,95,96,97,99,100,101,103,104,105,107,110,121,122,126,138,139,153,162,165,166,172,176,179,181,182,183,184,185,186,189,190,192,193,195,205,219,222,224,232,233,234,235,237,238,239,244,245,246,247,248,249,252,254,255,256,257,258,259,260,263,264,265,269,270,271,272,273,274,275,276,280,287,291,293,294,296,297,298,327,328,329,339,348,350,355,357,363,364,390,393,394,395,396,397,398,399,400,401,403,404,405,406,407,409,410,411,412,413,414,415,417,418,430,431,435,442,443,444,445,446,447,448,451,452,454,455,456,457,458,468,471,477,502,504,525,527,537,],[-30,-29,-31,-188,-182,-176,-78,-167,-194,-104,-99,-44,-41,-36,-27,-37,-38,-150,-33,-72,-43,-71,-95,173,-200,-133,-126,-28,-35,-32,-42,-34,-119,-94,-105,-67,-39,-76,-102,-93,-92,-40,-66,-107,-96,-41,-103,-113,-106,-79,-76,-84,-101,-100,-108,-112,-85,-114,-109,-110,-184,-190,-196,-123,-137,-96,-172,313,-178,-157,-115,-129,-111,-80,-81,-55,-77,-76,-97,-98,-183,-99,-177,-171,-168,-169,-170,-75,-74,-88,-152,-155,-151,-153,-154,-156,-189,-135,-134,-136,-192,-162,-144,-96,-198,374,-180,-174,-186,-87,-47,-46,-201,-195,-128,-127,-122,-121,-120,-45,-69,-83,-56,-70,-89,-73,-86,-179,-185,-191,-118,-117,-116,-131,-130,-132,-161,-158,-159,-160,-197,-173,-141,-139,-142,-138,-140,-143,-124,-125,-68,-82,-57,-187,-148,-146,-149,-145,-147,-96,-193,-199,-175,-166,-163,-164,-165,-181,-48,-295,-296,-297,-298,-297,-298,]),'THROW':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[87,-21,-18,-11,-13,-14,-8,-12,-6,-24,87,87,87,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,87,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,87,87,87,87,-290,-288,87,87,-251,-273,-247,-274,87,87,87,87,-293,87,87,-248,-249,-250,-254,87,-289,-275,-294,87,87,87,-255,87,87,-252,-256,87,-276,-253,]),'SETPROP':([98,356,],[226,226,]),'CONTINUE':([0,2,4,9,10,13,15,19,20,23,24,25,26,28,29,30,36,46,50,62,64,78,85,115,116,149,150,151,152,157,158,180,188,199,201,207,208,242,262,266,267,285,286,322,324,334,335,337,338,340,341,344,358,359,360,388,389,423,427,437,438,439,474,478,481,484,486,504,505,508,509,510,511,512,516,519,522,525,528,530,531,532,534,536,540,541,542,544,547,],[49,-21,-18,-11,-13,-14,-8,-12,-6,-24,49,49,49,-17,-23,-15,-20,-10,-244,-16,-22,-19,-9,-25,-7,-291,-2,-292,49,-261,-262,-270,-269,-245,-246,-265,-266,-26,-283,-263,-264,-286,-287,-271,-272,-233,-232,-267,-268,-284,-285,49,49,49,49,-290,-288,49,49,-251,-273,-247,-274,49,49,49,49,-293,49,49,-248,-249,-250,-254,49,-289,-275,-294,49,49,49,-255,49,49,-252,-256,49,-276,-253,]),} -_lr_action = { } +_lr_action = {} for _k, _v in _lr_action_items.items(): for _x,_y in zip(_v[0],_v[1]): - if not _x in _lr_action: _lr_action[_x] = { } + if not _x in _lr_action: _lr_action[_x] = {} _lr_action[_x][_k] = _y del _lr_action_items -_lr_goto_items = {'logical_or_expr_nobf':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,]),'throw_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,]),'boolean_literal':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,]),'bitwise_or_expr':([26,83,88,89,92,146,149,158,160,168,170,175,207,210,226,238,243,261,272,275,276,277,342,343,352,404,407,412,420,434,443,446,488,491,495,509,],[130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,367,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,]),'property_assignment':([104,349,],[233,430,]),'logical_and_expr_noin':([155,406,408,409,410,447,493,],[288,288,288,288,468,288,288,]),'iteration_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'variable_declaration_noin':([289,444,],[390,486,]),'source_element_list':([0,44,386,436,441,477,483,502,504,528,534,536,],[7,7,7,7,7,7,7,7,7,7,7,7,]),'function_expr':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[8,107,8,107,107,107,107,107,107,107,8,107,107,8,107,107,107,107,8,107,107,107,107,107,107,107,8,107,107,107,107,107,107,107,107,107,107,8,8,107,8,107,107,107,107,107,107,107,107,107,107,8,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,8,8,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,8,107,8,107,8,8,107,107,107,8,8,107,107,8,107,107,8,8,8,107,8,8,8,8,8,8,8,]),'multiplicative_expr':([26,83,88,89,92,120,121,122,123,124,146,149,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[128,128,128,128,128,128,128,128,248,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,377,378,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,]),'finally':([161,311,],[310,416,]),'program':([0,],[9,]),'case_block':([419,],[472,]),'formal_parameter_list':([153,287,344,431,],[284,387,425,479,]),'new_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,]),'try_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,]),'element_list':([4,],[91,]),'relational_expr':([26,83,88,89,92,146,149,158,160,168,170,175,182,183,184,185,207,210,226,238,243,260,261,265,266,267,268,269,272,275,276,277,278,342,343,352,400,401,402,403,404,407,412,420,434,443,446,488,491,495,509,],[129,129,129,129,129,129,129,129,129,129,129,129,326,327,328,329,129,129,129,129,129,129,129,129,372,373,374,375,129,129,129,129,129,129,129,129,455,456,457,458,129,129,129,129,129,129,129,129,129,129,129,]),'primary_expr_no_brace':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[15,102,15,102,102,102,102,102,102,102,15,102,102,15,102,102,102,102,15,102,102,102,102,102,102,102,15,102,102,102,102,102,102,102,102,102,102,15,15,102,15,102,102,102,102,102,102,102,102,102,102,15,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,15,15,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,15,102,15,102,15,15,102,102,102,15,15,102,102,15,102,102,15,15,15,102,15,15,15,15,15,15,15,]),'variable_declaration_list_noin':([289,],[391,]),'null_literal':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,]),'labelled_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,]),'expr_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,]),'logical_and_expr':([26,83,88,89,92,146,149,158,160,168,170,175,207,210,226,238,243,272,275,276,277,342,343,352,404,407,412,420,434,443,446,488,491,495,509,],[131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,380,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,]),'additive_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,]),'primary_expr':([6,10,11,23,25,26,30,40,48,54,83,84,88,89,92,98,120,121,122,123,124,146,149,150,151,152,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,]),'identifier':([0,6,7,10,11,17,23,25,26,30,37,40,44,47,48,54,66,68,83,84,88,89,90,92,96,98,104,120,121,122,123,124,126,146,149,150,151,152,153,155,157,158,160,167,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,225,226,228,231,237,238,242,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,287,289,342,343,344,349,352,383,385,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,415,418,420,421,431,434,436,441,443,444,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[24,110,24,110,110,118,110,110,110,110,154,110,24,165,110,110,178,24,110,110,110,110,110,110,220,110,234,110,110,110,110,110,24,110,110,110,110,110,286,110,303,110,110,315,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,346,110,234,234,353,110,118,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,286,392,110,110,286,234,110,24,437,24,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,470,24,110,24,286,110,24,24,110,487,110,110,24,24,110,110,24,110,110,24,24,24,110,24,24,24,24,24,24,24,]),'bitwise_xor_expr_nobf':([0,7,44,68,90,126,174,181,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[53,53,53,53,53,53,53,325,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,]),'relational_expr_noin':([155,389,398,399,405,406,408,409,410,447,493,],[290,290,290,290,290,290,290,290,290,290,290,]),'with_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,]),'case_clauses_opt':([473,520,],[497,535,]),'initializer':([118,],[244,]),'break_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,]),'bitwise_and_expr_noin':([155,389,399,405,406,408,409,410,447,493,],[291,291,454,291,291,291,291,291,291,291,]),'switch_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,]),'property_list':([104,],[230,]),'postfix_expr':([6,10,11,23,25,26,30,40,48,83,84,88,89,92,120,121,122,123,124,146,149,150,151,152,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,]),'source_elements':([0,44,386,436,441,477,483,502,504,528,534,536,],[33,162,438,438,438,438,438,438,438,438,543,545,]),'shift_expr':([26,83,88,89,92,146,149,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,254,255,256,257,258,259,260,261,265,266,267,268,269,272,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[132,132,132,132,132,132,132,292,132,132,132,132,132,132,132,132,132,330,331,332,333,334,335,132,132,132,132,132,360,361,362,363,364,365,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,292,448,449,450,451,452,292,292,132,132,132,132,132,292,292,132,292,292,292,132,132,132,132,132,292,132,132,292,132,132,]),'expr_nobf':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,]),'expr_opt':([404,443,491,509,],[459,485,513,530,]),'multiplicative_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,]),'continue_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,]),'argument_list':([160,],[306,]),'expr_noin_opt':([155,],[296,]),'string_literal':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,104,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,228,231,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,349,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,236,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,236,236,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,236,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,]),'call_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,]),'bitwise_xor_expr_noin':([155,389,405,406,408,409,410,447,493,],[293,293,462,293,293,293,293,293,293,]),'variable_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,]),'object_literal':([6,10,11,23,25,26,30,40,48,54,83,84,88,89,92,98,120,121,122,123,124,146,149,150,151,152,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,]),'function_declaration':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[45,45,45,179,179,179,45,179,179,45,45,45,45,179,179,45,45,179,45,179,179,45,45,179,]),'unary_expr_common':([0,6,7,10,11,23,25,26,30,40,44,48,68,83,84,88,89,90,92,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[46,106,46,106,106,106,106,106,106,106,46,106,46,106,106,106,106,46,106,106,106,106,106,106,46,106,106,106,106,106,106,106,106,106,106,46,46,106,46,106,106,106,106,106,106,106,106,106,106,46,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,46,46,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,46,106,46,106,46,46,106,106,106,46,46,106,106,46,106,106,46,46,46,106,46,46,46,46,46,46,46,]),'additive_expr':([26,83,88,89,92,120,121,122,146,149,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[140,140,140,140,140,245,246,247,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,368,369,370,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,]),'assignment_operator':([82,142,301,464,],[207,277,408,408,]),'case_clause':([473,496,520,],[498,518,498,]),'member_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,]),'numeric_literal':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,104,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,228,231,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,349,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,232,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,232,232,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,232,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,]),'assignment_expr_nobf':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,]),'equality_expr_noin':([155,389,398,399,405,406,408,409,410,447,493,],[294,294,453,294,294,294,294,294,294,294,294,]),'unary_expr':([6,10,11,23,25,26,30,40,48,83,84,88,89,92,120,121,122,123,124,146,149,150,151,152,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[97,112,113,125,127,134,145,156,166,134,209,134,134,134,134,134,134,134,134,134,134,281,282,283,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,357,358,359,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,]),'unary_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,]),'function_body':([386,436,441,477,483,502,504,528,],[439,481,484,503,507,525,527,539,]),'variable_declaration':([17,242,],[119,355,]),'bitwise_xor_expr':([26,83,88,89,92,146,149,158,160,168,170,175,207,210,226,238,243,260,261,272,275,276,277,342,343,352,404,407,412,420,434,443,446,488,491,495,509,],[135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,366,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,]),'conditional_expr_nobf':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,]),'equality_expr':([26,83,88,89,92,146,149,158,160,168,170,175,207,210,226,238,243,260,261,265,272,275,276,277,278,342,343,352,404,407,412,420,434,443,446,488,491,495,509,],[136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,382,136,136,136,136,136,136,136,136,136,136,136,136,136,136,]),'literal':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,]),'logical_and_expr_nobf':([0,7,44,68,90,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[56,56,56,56,214,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,]),'shift_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,]),'elision':([4,215,],[94,94,]),'statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[58,58,58,180,250,435,58,471,475,58,58,58,58,514,524,58,58,532,58,541,542,58,58,547,]),'empty':([0,4,44,155,215,386,404,436,441,443,473,477,483,491,502,504,509,520,528,534,536,],[59,95,59,300,95,59,460,59,59,460,499,59,59,460,59,59,460,499,59,59,59,]),'new_expr':([6,10,11,23,25,26,30,40,48,54,83,84,88,89,92,98,120,121,122,123,124,146,149,150,151,152,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[101,101,101,101,101,101,101,101,101,172,101,101,101,101,101,221,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,101,]),'postfix_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,]),'regex_literal':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,]),'conditional_expr_noin':([155,406,408,409,447,493,],[298,298,298,298,298,298,]),'variable_declaration_list':([17,],[117,]),'catch':([161,],[311,]),'expr_noin':([155,],[299,]),'conditional_expr':([26,83,88,89,92,146,149,158,160,168,170,175,207,210,226,238,243,272,275,277,342,343,352,404,407,412,420,434,443,446,488,491,495,509,],[137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,]),'default_clause':([497,],[520,]),'expr':([26,83,88,146,158,168,170,175,210,226,238,404,407,420,443,446,488,491,495,509,],[138,208,211,279,304,316,317,321,339,347,354,461,465,474,461,489,511,461,517,461,]),'empty_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,]),'bitwise_or_expr_noin':([155,389,406,408,409,410,447,493,],[297,442,297,297,297,297,297,297,]),'member_expr':([6,10,11,23,25,26,30,40,48,54,83,84,88,89,92,98,120,121,122,123,124,146,149,150,151,152,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[109,109,109,109,109,109,109,109,109,173,109,109,109,109,109,222,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,109,]),'assignment_expr':([26,83,88,89,92,146,149,158,160,168,170,175,207,210,226,238,243,272,275,277,342,343,352,404,407,412,420,434,443,446,488,491,495,509,],[139,139,139,212,217,139,280,139,307,139,139,139,337,139,139,139,356,376,379,381,422,423,432,139,139,469,139,480,139,139,139,139,139,139,]),'initializer_noin':([392,487,],[445,510,]),'source_element':([0,7,44,386,436,441,477,483,502,504,528,534,536,],[67,111,67,67,67,67,67,67,67,67,67,67,67,]),'bitwise_or_expr_nobf':([0,7,44,68,90,126,174,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[69,69,69,69,69,69,320,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,]),'case_clauses':([473,520,],[496,496,]),'logical_or_expr':([26,83,88,89,92,146,149,158,160,168,170,175,207,210,226,238,243,272,275,277,342,343,352,404,407,412,420,434,443,446,488,491,495,509,],[141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,]),'left_hand_side_expr':([6,10,11,23,25,26,30,40,48,83,84,88,89,92,120,121,122,123,124,146,149,150,151,152,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[99,99,99,99,99,142,99,99,99,142,99,142,142,142,99,99,99,99,99,142,142,99,99,99,301,142,142,142,142,142,99,99,99,99,99,99,99,99,99,99,142,142,142,142,142,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,142,99,99,142,99,142,99,142,142,142,99,99,99,99,99,99,99,99,99,99,99,99,142,99,464,142,464,464,99,142,142,142,142,142,464,142,142,464,142,142,]),'property_name':([104,228,231,349,],[235,348,351,235,]),'equality_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[73,73,73,73,73,73,73,73,73,336,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,]),'relational_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,]),'return_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,75,]),'bitwise_and_expr_nobf':([0,7,44,68,90,126,171,174,181,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[76,76,76,76,76,76,318,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,]),'arguments':([41,49,103,109,173,222,],[159,169,227,239,319,345,]),'if_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,77,]),'logical_or_expr_noin':([155,406,408,409,447,493,],[302,302,302,302,302,302,]),'auto_semi':([14,26,34,47,66,117,138,165,178,211,500,],[114,133,148,164,177,241,271,314,322,341,523,]),'call_expr':([6,10,11,23,25,26,30,40,48,83,84,88,89,92,120,121,122,123,124,146,149,150,151,152,155,158,160,168,170,175,182,183,184,185,186,187,188,189,190,191,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,420,434,443,446,447,488,491,493,495,509,],[103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,103,]),'array_literal':([0,6,7,10,11,23,25,26,30,40,44,48,54,68,83,84,88,89,90,92,98,120,121,122,123,124,126,146,149,150,151,152,155,158,160,168,170,171,174,175,181,182,183,184,185,186,187,188,189,190,191,192,207,210,226,238,243,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,272,273,274,275,276,277,278,342,343,352,383,386,389,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,412,418,420,421,434,436,441,443,446,447,477,483,488,491,492,493,495,501,502,504,509,512,528,531,533,534,536,540,],[81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,]),'left_hand_side_expr_nobf':([0,7,44,68,90,126,171,174,181,192,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[82,82,82,82,213,82,213,213,213,213,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,]),'assignment_expr_noin':([155,406,408,409,447,493,],[295,463,466,467,490,515,]),'elision_opt':([4,215,],[92,343,]),'bitwise_and_expr':([26,83,88,89,92,146,149,158,160,168,170,175,207,210,226,238,243,260,261,265,272,275,276,277,342,343,352,404,407,412,420,434,443,446,488,491,495,509,],[144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,371,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,144,]),'block':([0,7,42,44,68,126,308,383,386,418,421,436,441,477,483,492,494,501,502,504,512,528,531,533,534,536,540,],[50,50,161,50,50,50,414,50,50,50,50,50,50,50,50,50,516,50,50,50,50,50,50,50,50,50,50,]),'debugger_statement':([0,7,44,68,126,383,386,418,421,436,441,477,483,492,501,502,504,512,528,531,533,534,536,540,],[62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,]),} +_lr_goto_items = {'conditional_expr_nobf':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,]),'labelled_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,]),'additive_expr':([68,86,87,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,200,206,218,221,299,300,301,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,263,264,265,195,195,195,195,195,195,195,195,195,195,195,399,400,401,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,195,]),'return_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,]),'assignment_expr':([68,86,87,106,111,112,124,125,137,164,171,174,200,206,218,221,308,314,323,331,352,361,362,372,381,391,392,464,465,473,488,489,500,517,],[187,187,187,187,187,187,251,187,261,187,292,295,330,187,187,187,402,408,416,419,432,187,441,187,187,470,472,187,187,496,187,187,187,187,]),'conditional_expr_noin':([160,371,375,385,463,487,],[268,268,268,268,268,268,]),'primary_expr_no_brace':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[57,93,93,93,57,57,57,93,93,93,93,93,93,93,93,93,93,93,93,57,57,93,93,93,93,93,93,93,93,93,93,93,93,93,93,57,93,57,93,93,93,93,93,93,57,93,57,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,57,93,57,57,57,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,93,57,57,93,93,93,93,57,57,57,57,93,93,93,93,57,57,57,93,57,57,57,57,57,57,]),'bitwise_and_expr_nobf':([0,24,25,26,108,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[16,16,16,16,237,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,]),'bitwise_or_expr_noin':([160,371,373,374,375,385,463,487,],[269,269,451,269,269,269,269,269,]),'bitwise_or_expr_nobf':([0,24,25,26,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[35,35,35,35,35,35,296,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,]),'numeric_literal':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,98,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,226,228,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,356,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,230,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,230,230,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,230,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,]),'member_expr':([6,11,17,32,44,54,59,61,66,68,75,86,87,102,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[94,94,94,122,94,94,94,94,94,94,94,94,94,233,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,94,]),'auto_semi':([39,49,68,70,82,159,194,203,209,211,485,],[151,158,180,201,208,267,324,334,338,341,511,]),'bitwise_or_expr':([68,86,87,106,111,112,124,125,137,164,171,174,200,206,218,221,301,308,313,314,323,331,352,361,362,372,381,391,392,464,465,473,488,489,500,517,],[181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,395,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,]),'variable_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,]),'call_expr':([6,11,17,44,54,59,61,66,68,75,86,87,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,]),'expr_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,]),'variable_declaration_noin':([278,466,],[382,493,]),'logical_and_expr':([68,86,87,106,111,112,124,125,137,164,171,174,200,206,218,221,308,313,314,323,331,352,361,362,372,381,391,392,464,465,473,488,489,500,517,],[182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,407,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,]),'relational_expr_noin':([160,365,371,373,374,375,376,385,386,463,487,],[270,270,270,270,270,270,270,270,270,270,270,]),'regex_literal':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,]),'if_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,]),'bitwise_xor_expr_nobf':([0,24,25,26,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[14,14,14,14,260,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,]),'statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[15,15,114,15,262,15,437,438,439,15,15,15,15,509,512,15,15,532,15,540,541,15,15,547,]),'multiplicative_expr':([68,86,87,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,200,206,218,221,299,300,301,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,297,298,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,417,418,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,]),'new_expr':([6,11,17,32,44,54,59,61,66,68,75,86,87,102,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[97,97,97,121,97,97,97,97,97,97,97,97,97,232,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,]),'property_assignment':([98,356,],[227,436,]),'empty_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,]),'source_element':([0,24,26,344,423,427,478,481,505,508,528,534,536,],[20,20,116,20,20,20,20,20,20,20,20,20,20,]),'program':([0,],[21,]),'initializer_noin':([383,494,],[462,518,]),'arguments':([33,58,94,96,122,233,],[126,165,219,222,248,357,]),'debugger_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,]),'logical_or_expr':([68,86,87,106,111,112,124,125,137,164,171,174,200,206,218,221,308,314,323,331,352,361,362,372,381,391,392,464,465,473,488,489,500,517,],[189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,]),'logical_or_expr_nobf':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,]),'element_list':([60,],[170,]),'source_element_list':([0,24,344,423,427,478,481,505,508,528,534,536,],[26,26,26,26,26,26,26,26,26,26,26,26,]),'equality_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[27,27,27,27,27,239,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,]),'property_name':([98,226,228,356,],[225,353,354,225,]),'shift_expr':([68,86,87,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,160,164,171,174,200,206,218,221,299,300,301,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[184,184,184,184,184,184,184,184,184,184,184,184,254,255,256,257,258,259,184,271,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,410,411,412,413,414,415,184,184,184,184,184,271,443,444,445,446,447,271,184,271,271,271,271,184,184,184,184,184,271,271,184,184,271,184,184,184,271,184,184,184,184,]),'try_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,]),'primary_expr':([6,11,17,32,44,54,59,61,66,68,75,86,87,102,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,]),'iteration_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,]),'empty':([0,24,60,160,290,344,381,423,427,465,475,478,481,488,505,508,517,523,528,534,536,],[31,31,167,281,167,31,459,31,31,459,499,31,31,459,31,31,459,499,31,31,31,]),'boolean_literal':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,]),'with_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,78,]),'variable_declaration_list':([74,],[203,]),'left_hand_side_expr':([6,11,17,44,54,59,61,66,68,75,86,87,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[103,103,103,103,103,103,103,103,185,103,185,185,185,185,185,103,103,103,103,185,185,103,103,103,103,103,103,185,103,103,103,272,185,185,185,103,103,103,103,103,185,185,185,185,103,103,103,103,103,103,103,103,103,185,103,103,103,103,103,185,103,103,103,103,103,103,103,185,103,103,185,185,185,185,103,103,103,103,103,103,448,185,103,103,448,103,103,103,103,103,185,448,103,185,185,448,185,185,185,448,185,185,185,185,]),'relational_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,]),'logical_and_expr_noin':([160,371,374,375,385,463,487,],[273,273,452,273,273,273,273,]),'property_list':([98,],[229,]),'left_hand_side_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[38,38,38,38,238,238,238,38,238,238,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,]),'bitwise_xor_expr':([68,86,87,106,111,112,124,125,137,164,171,174,200,206,218,221,300,301,308,313,314,323,331,352,361,362,372,381,391,392,464,465,473,488,489,500,517,],[179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,394,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,]),'catch':([161,],[285,]),'case_clause':([475,497,523,],[501,520,501,]),'finally':([161,285,],[286,389,]),'array_literal':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,]),'switch_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,]),'null_literal':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,]),'block':([0,24,25,26,53,152,284,344,358,359,360,423,427,478,481,484,486,495,505,508,516,528,530,531,534,536,542,],[46,46,46,46,161,46,388,46,46,46,46,46,46,46,46,46,46,519,46,46,46,46,46,46,46,46,46,]),'expr_noin':([160,],[279,]),'variable_declaration_list_noin':([278,],[384,]),'postfix_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,]),'string_literal':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,98,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,226,228,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,356,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,223,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,223,223,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,223,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,]),'logical_or_expr_noin':([160,371,375,385,463,487,],[274,274,274,274,274,274,]),'member_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,]),'function_expr':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[55,92,92,92,55,55,55,92,92,92,92,92,92,92,92,92,92,92,92,55,55,92,92,92,92,92,92,92,92,92,92,92,92,92,92,55,92,55,92,92,92,92,92,92,55,92,55,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,55,92,55,55,55,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,55,55,92,92,92,92,55,55,55,55,92,92,92,92,55,55,55,92,55,55,55,55,55,55,]),'literal':([0,6,11,17,24,25,26,32,44,54,59,61,66,68,75,86,87,102,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,]),'assignment_expr_nobf':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,]),'bitwise_and_expr_noin':([160,365,371,373,374,375,385,386,463,487,],[275,275,275,275,275,275,275,468,275,275,]),'equality_expr_noin':([160,365,371,373,374,375,376,385,386,463,487,],[276,276,276,276,276,276,454,276,276,276,276,]),'postfix_expr':([6,11,17,44,54,59,61,66,68,75,86,87,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,]),'call_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,]),'bitwise_and_expr':([68,86,87,106,111,112,124,125,137,164,171,174,200,206,218,221,299,300,301,308,313,314,323,331,352,361,362,372,381,391,392,464,465,473,488,489,500,517,],[190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,393,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,]),'initializer':([202,],[332,]),'expr_noin_opt':([160,],[277,]),'case_block':([421,],[474,]),'case_clauses_opt':([475,523,],[498,535,]),'default_clause':([498,],[523,]),'continue_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,]),'expr_opt':([381,465,488,517,],[460,492,514,533,]),'relational_expr':([68,86,87,106,111,112,117,118,119,120,124,125,137,164,171,174,200,206,218,221,299,300,301,308,309,310,311,312,313,314,315,323,331,352,361,362,372,377,378,379,380,381,391,392,464,465,473,488,489,500,517,],[192,192,192,192,192,192,244,245,246,247,192,192,192,192,192,192,192,192,192,192,192,192,192,192,403,404,405,406,192,192,192,192,192,192,192,192,192,455,456,457,458,192,192,192,192,192,192,192,192,192,192,]),'throw_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,]),'logical_and_expr_nobf':([0,24,25,26,152,173,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[65,65,65,65,65,294,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,]),'function_body':([344,423,427,478,481,505,508,528,],[424,476,479,503,506,526,529,538,]),'case_clauses':([475,523,],[497,497,]),'additive_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,]),'object_literal':([6,11,17,32,44,54,59,61,66,68,75,86,87,102,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,]),'assignment_operator':([38,185,272,448,],[137,308,371,371,]),'elision':([60,290,],[169,169,]),'expr_nobf':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,]),'break_statement':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,]),'unary_expr':([6,11,17,44,54,59,61,66,68,75,86,87,106,111,112,117,118,119,120,124,125,127,128,129,130,131,132,137,154,155,156,160,164,171,174,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,352,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,463,464,465,473,487,488,489,500,517,],[101,107,110,153,162,166,172,176,193,205,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,327,328,329,193,193,193,193,193,193,193,396,397,398,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,]),'source_elements':([0,24,344,423,427,478,481,505,508,528,534,536,],[76,113,425,425,425,425,425,425,425,425,543,545,]),'bitwise_xor_expr_noin':([160,365,371,373,374,375,385,463,487,],[280,442,280,280,280,280,280,280,280,]),'expr':([68,86,87,106,111,112,125,164,206,218,221,361,372,381,464,465,488,489,500,517,],[194,210,211,236,240,241,253,288,336,349,351,440,450,461,491,461,461,515,524,461,]),'equality_expr':([68,86,87,106,111,112,124,125,137,164,171,174,200,206,218,221,299,300,301,308,313,314,315,323,331,352,361,362,372,381,391,392,464,465,473,488,489,500,517,],[186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,409,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,]),'identifier':([0,3,6,11,17,24,25,26,32,44,49,54,59,61,66,68,74,75,82,86,87,89,91,98,102,106,108,109,111,112,117,118,119,120,123,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,163,164,171,173,174,175,177,178,196,197,198,200,206,215,217,218,220,221,226,228,278,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,333,342,344,347,352,356,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,387,391,392,423,427,433,463,464,465,466,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[41,90,104,104,104,41,41,41,104,104,159,104,104,104,104,104,202,104,209,104,104,212,216,231,104,104,104,104,104,104,104,104,104,104,249,104,104,104,104,104,104,104,104,104,104,41,104,104,104,104,287,104,104,104,104,104,104,104,104,104,104,104,104,212,348,104,350,104,231,231,383,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,202,422,41,212,104,231,41,41,41,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,104,469,104,104,41,41,212,104,104,104,494,104,41,41,41,41,104,104,104,104,41,41,41,104,41,41,41,41,41,41,]),'elision_opt':([60,290,],[171,391,]),'shift_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,]),'unary_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,]),'new_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,84,]),'conditional_expr':([68,86,87,106,111,112,124,125,137,164,171,174,200,206,218,221,308,314,323,331,352,361,362,372,381,391,392,464,465,473,488,489,500,517,],[191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,]),'function_declaration':([0,24,25,26,152,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[85,85,115,85,115,85,115,115,115,85,85,85,85,115,115,85,85,115,85,115,115,85,85,115,]),'variable_declaration':([74,333,],[204,420,]),'multiplicative_expr_nobf':([0,24,25,26,108,109,133,152,173,175,344,358,359,360,423,427,478,481,484,486,505,508,516,528,530,531,534,536,542,],[69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,]),'assignment_expr_noin':([160,371,375,385,463,487,],[282,449,453,467,490,513,]),'formal_parameter_list':([89,215,347,433,],[213,345,428,482,]),'argument_list':([124,],[250,]),'unary_expr_common':([0,6,11,17,24,25,26,44,54,59,61,66,68,75,86,87,106,108,109,111,112,117,118,119,120,124,125,127,128,129,130,131,132,133,137,152,154,155,156,160,164,171,173,174,175,177,178,196,197,198,200,206,218,221,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323,325,326,331,344,352,358,359,360,361,362,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,385,386,391,392,423,427,463,464,465,473,478,481,484,486,487,488,489,500,505,508,516,517,528,530,531,534,536,542,],[88,105,105,105,88,88,88,105,105,105,105,105,105,105,105,105,105,88,88,105,105,105,105,105,105,105,105,105,105,105,105,105,105,88,105,88,105,105,105,105,105,105,88,105,88,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,88,105,88,88,88,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,88,88,105,105,105,105,88,88,88,88,105,105,105,105,88,88,88,105,88,88,88,88,88,88,]),} -_lr_goto = { } +_lr_goto = {} for _k, _v in _lr_goto_items.items(): - for _x,_y in zip(_v[0],_v[1]): - if not _x in _lr_goto: _lr_goto[_x] = { } + for _x, _y in zip(_v[0], _v[1]): + if not _x in _lr_goto: _lr_goto[_x] = {} _lr_goto[_x][_k] = _y del _lr_goto_items _lr_productions = [ ("S' -> program","S'",1,None,None,None), - ('empty -> ','empty',0,'p_empty','/home/paul/src/slimit/src/slimit/parser.py',96), - ('auto_semi -> error','auto_semi',1,'p_auto_semi','/home/paul/src/slimit/src/slimit/parser.py',100), - ('program -> source_elements','program',1,'p_program','/home/paul/src/slimit/src/slimit/parser.py',130), - ('source_elements -> empty','source_elements',1,'p_source_elements','/home/paul/src/slimit/src/slimit/parser.py',134), - ('source_elements -> source_element_list','source_elements',1,'p_source_elements','/home/paul/src/slimit/src/slimit/parser.py',135), - ('source_element_list -> source_element','source_element_list',1,'p_source_element_list','/home/paul/src/slimit/src/slimit/parser.py',140), - ('source_element_list -> source_element_list source_element','source_element_list',2,'p_source_element_list','/home/paul/src/slimit/src/slimit/parser.py',141), - ('source_element -> statement','source_element',1,'p_source_element','/home/paul/src/slimit/src/slimit/parser.py',150), - ('source_element -> function_declaration','source_element',1,'p_source_element','/home/paul/src/slimit/src/slimit/parser.py',151), - ('statement -> block','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',156), - ('statement -> variable_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',157), - ('statement -> empty_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',158), - ('statement -> expr_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',159), - ('statement -> if_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',160), - ('statement -> iteration_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',161), - ('statement -> continue_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',162), - ('statement -> break_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',163), - ('statement -> return_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',164), - ('statement -> with_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',165), - ('statement -> switch_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',166), - ('statement -> labelled_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',167), - ('statement -> throw_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',168), - ('statement -> try_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',169), - ('statement -> debugger_statement','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',170), - ('statement -> function_declaration','statement',1,'p_statement','/home/paul/src/slimit/src/slimit/parser.py',171), - ('block -> LBRACE source_elements RBRACE','block',3,'p_block','/home/paul/src/slimit/src/slimit/parser.py',178), - ('literal -> null_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',182), - ('literal -> boolean_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',183), - ('literal -> numeric_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',184), - ('literal -> string_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',185), - ('literal -> regex_literal','literal',1,'p_literal','/home/paul/src/slimit/src/slimit/parser.py',186), - ('boolean_literal -> TRUE','boolean_literal',1,'p_boolean_literal','/home/paul/src/slimit/src/slimit/parser.py',191), - ('boolean_literal -> FALSE','boolean_literal',1,'p_boolean_literal','/home/paul/src/slimit/src/slimit/parser.py',192), - ('null_literal -> NULL','null_literal',1,'p_null_literal','/home/paul/src/slimit/src/slimit/parser.py',197), - ('numeric_literal -> NUMBER','numeric_literal',1,'p_numeric_literal','/home/paul/src/slimit/src/slimit/parser.py',201), - ('string_literal -> STRING','string_literal',1,'p_string_literal','/home/paul/src/slimit/src/slimit/parser.py',205), - ('regex_literal -> REGEX','regex_literal',1,'p_regex_literal','/home/paul/src/slimit/src/slimit/parser.py',209), - ('identifier -> ID','identifier',1,'p_identifier','/home/paul/src/slimit/src/slimit/parser.py',213), - ('primary_expr -> primary_expr_no_brace','primary_expr',1,'p_primary_expr','/home/paul/src/slimit/src/slimit/parser.py',220), - ('primary_expr -> object_literal','primary_expr',1,'p_primary_expr','/home/paul/src/slimit/src/slimit/parser.py',221), - ('primary_expr_no_brace -> identifier','primary_expr_no_brace',1,'p_primary_expr_no_brace_1','/home/paul/src/slimit/src/slimit/parser.py',226), - ('primary_expr_no_brace -> THIS','primary_expr_no_brace',1,'p_primary_expr_no_brace_2','/home/paul/src/slimit/src/slimit/parser.py',232), - ('primary_expr_no_brace -> literal','primary_expr_no_brace',1,'p_primary_expr_no_brace_3','/home/paul/src/slimit/src/slimit/parser.py',236), - ('primary_expr_no_brace -> array_literal','primary_expr_no_brace',1,'p_primary_expr_no_brace_3','/home/paul/src/slimit/src/slimit/parser.py',237), - ('primary_expr_no_brace -> LPAREN expr RPAREN','primary_expr_no_brace',3,'p_primary_expr_no_brace_4','/home/paul/src/slimit/src/slimit/parser.py',242), - ('array_literal -> LBRACKET elision_opt RBRACKET','array_literal',3,'p_array_literal_1','/home/paul/src/slimit/src/slimit/parser.py',247), - ('array_literal -> LBRACKET element_list RBRACKET','array_literal',3,'p_array_literal_2','/home/paul/src/slimit/src/slimit/parser.py',251), - ('array_literal -> LBRACKET element_list COMMA elision_opt RBRACKET','array_literal',5,'p_array_literal_2','/home/paul/src/slimit/src/slimit/parser.py',252), - ('element_list -> elision_opt assignment_expr','element_list',2,'p_element_list','/home/paul/src/slimit/src/slimit/parser.py',261), - ('element_list -> element_list COMMA elision_opt assignment_expr','element_list',4,'p_element_list','/home/paul/src/slimit/src/slimit/parser.py',262), - ('elision_opt -> empty','elision_opt',1,'p_elision_opt_1','/home/paul/src/slimit/src/slimit/parser.py',272), - ('elision_opt -> elision','elision_opt',1,'p_elision_opt_2','/home/paul/src/slimit/src/slimit/parser.py',276), - ('elision -> COMMA','elision',1,'p_elision','/home/paul/src/slimit/src/slimit/parser.py',280), - ('elision -> elision COMMA','elision',2,'p_elision','/home/paul/src/slimit/src/slimit/parser.py',281), - ('object_literal -> LBRACE RBRACE','object_literal',2,'p_object_literal','/home/paul/src/slimit/src/slimit/parser.py',290), - ('object_literal -> LBRACE property_list RBRACE','object_literal',3,'p_object_literal','/home/paul/src/slimit/src/slimit/parser.py',291), - ('object_literal -> LBRACE property_list COMMA RBRACE','object_literal',4,'p_object_literal','/home/paul/src/slimit/src/slimit/parser.py',292), - ('property_list -> property_assignment','property_list',1,'p_property_list','/home/paul/src/slimit/src/slimit/parser.py',300), - ('property_list -> property_list COMMA property_assignment','property_list',3,'p_property_list','/home/paul/src/slimit/src/slimit/parser.py',301), - ('property_assignment -> property_name COLON assignment_expr','property_assignment',3,'p_property_assignment','/home/paul/src/slimit/src/slimit/parser.py',311), - ('property_assignment -> GETPROP property_name LPAREN RPAREN LBRACE function_body RBRACE','property_assignment',7,'p_property_assignment','/home/paul/src/slimit/src/slimit/parser.py',312), - ('property_assignment -> SETPROP property_name LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','property_assignment',8,'p_property_assignment','/home/paul/src/slimit/src/slimit/parser.py',313), - ('property_name -> identifier','property_name',1,'p_property_name','/home/paul/src/slimit/src/slimit/parser.py',326), - ('property_name -> string_literal','property_name',1,'p_property_name','/home/paul/src/slimit/src/slimit/parser.py',327), - ('property_name -> numeric_literal','property_name',1,'p_property_name','/home/paul/src/slimit/src/slimit/parser.py',328), - ('member_expr -> primary_expr','member_expr',1,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',334), - ('member_expr -> function_expr','member_expr',1,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',335), - ('member_expr -> member_expr LBRACKET expr RBRACKET','member_expr',4,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',336), - ('member_expr -> member_expr PERIOD identifier','member_expr',3,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',337), - ('member_expr -> NEW member_expr arguments','member_expr',3,'p_member_expr','/home/paul/src/slimit/src/slimit/parser.py',338), - ('member_expr_nobf -> primary_expr_no_brace','member_expr_nobf',1,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',350), - ('member_expr_nobf -> function_expr','member_expr_nobf',1,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',351), - ('member_expr_nobf -> member_expr_nobf LBRACKET expr RBRACKET','member_expr_nobf',4,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',352), - ('member_expr_nobf -> member_expr_nobf PERIOD identifier','member_expr_nobf',3,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',353), - ('member_expr_nobf -> NEW member_expr arguments','member_expr_nobf',3,'p_member_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',354), - ('new_expr -> member_expr','new_expr',1,'p_new_expr','/home/paul/src/slimit/src/slimit/parser.py',366), - ('new_expr -> NEW new_expr','new_expr',2,'p_new_expr','/home/paul/src/slimit/src/slimit/parser.py',367), - ('new_expr_nobf -> member_expr_nobf','new_expr_nobf',1,'p_new_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',375), - ('new_expr_nobf -> NEW new_expr','new_expr_nobf',2,'p_new_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',376), - ('call_expr -> member_expr arguments','call_expr',2,'p_call_expr','/home/paul/src/slimit/src/slimit/parser.py',384), - ('call_expr -> call_expr arguments','call_expr',2,'p_call_expr','/home/paul/src/slimit/src/slimit/parser.py',385), - ('call_expr -> call_expr LBRACKET expr RBRACKET','call_expr',4,'p_call_expr','/home/paul/src/slimit/src/slimit/parser.py',386), - ('call_expr -> call_expr PERIOD identifier','call_expr',3,'p_call_expr','/home/paul/src/slimit/src/slimit/parser.py',387), - ('call_expr_nobf -> member_expr_nobf arguments','call_expr_nobf',2,'p_call_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',397), - ('call_expr_nobf -> call_expr_nobf arguments','call_expr_nobf',2,'p_call_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',398), - ('call_expr_nobf -> call_expr_nobf LBRACKET expr RBRACKET','call_expr_nobf',4,'p_call_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',399), - ('call_expr_nobf -> call_expr_nobf PERIOD identifier','call_expr_nobf',3,'p_call_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',400), - ('arguments -> LPAREN RPAREN','arguments',2,'p_arguments','/home/paul/src/slimit/src/slimit/parser.py',410), - ('arguments -> LPAREN argument_list RPAREN','arguments',3,'p_arguments','/home/paul/src/slimit/src/slimit/parser.py',411), - ('argument_list -> assignment_expr','argument_list',1,'p_argument_list','/home/paul/src/slimit/src/slimit/parser.py',417), - ('argument_list -> argument_list COMMA assignment_expr','argument_list',3,'p_argument_list','/home/paul/src/slimit/src/slimit/parser.py',418), - ('left_hand_side_expr -> new_expr','left_hand_side_expr',1,'p_lef_hand_side_expr','/home/paul/src/slimit/src/slimit/parser.py',427), - ('left_hand_side_expr -> call_expr','left_hand_side_expr',1,'p_lef_hand_side_expr','/home/paul/src/slimit/src/slimit/parser.py',428), - ('left_hand_side_expr_nobf -> new_expr_nobf','left_hand_side_expr_nobf',1,'p_lef_hand_side_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',433), - ('left_hand_side_expr_nobf -> call_expr_nobf','left_hand_side_expr_nobf',1,'p_lef_hand_side_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',434), - ('postfix_expr -> left_hand_side_expr','postfix_expr',1,'p_postfix_expr','/home/paul/src/slimit/src/slimit/parser.py',440), - ('postfix_expr -> left_hand_side_expr PLUSPLUS','postfix_expr',2,'p_postfix_expr','/home/paul/src/slimit/src/slimit/parser.py',441), - ('postfix_expr -> left_hand_side_expr MINUSMINUS','postfix_expr',2,'p_postfix_expr','/home/paul/src/slimit/src/slimit/parser.py',442), - ('postfix_expr_nobf -> left_hand_side_expr_nobf','postfix_expr_nobf',1,'p_postfix_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',450), - ('postfix_expr_nobf -> left_hand_side_expr_nobf PLUSPLUS','postfix_expr_nobf',2,'p_postfix_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',451), - ('postfix_expr_nobf -> left_hand_side_expr_nobf MINUSMINUS','postfix_expr_nobf',2,'p_postfix_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',452), - ('unary_expr -> postfix_expr','unary_expr',1,'p_unary_expr','/home/paul/src/slimit/src/slimit/parser.py',461), - ('unary_expr -> unary_expr_common','unary_expr',1,'p_unary_expr','/home/paul/src/slimit/src/slimit/parser.py',462), - ('unary_expr_nobf -> postfix_expr_nobf','unary_expr_nobf',1,'p_unary_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',467), - ('unary_expr_nobf -> unary_expr_common','unary_expr_nobf',1,'p_unary_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',468), - ('unary_expr_common -> DELETE unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',473), - ('unary_expr_common -> VOID unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',474), - ('unary_expr_common -> TYPEOF unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',475), - ('unary_expr_common -> PLUSPLUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',476), - ('unary_expr_common -> MINUSMINUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',477), - ('unary_expr_common -> PLUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',478), - ('unary_expr_common -> MINUS unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',479), - ('unary_expr_common -> BNOT unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',480), - ('unary_expr_common -> NOT unary_expr','unary_expr_common',2,'p_unary_expr_common','/home/paul/src/slimit/src/slimit/parser.py',481), - ('multiplicative_expr -> unary_expr','multiplicative_expr',1,'p_multiplicative_expr','/home/paul/src/slimit/src/slimit/parser.py',487), - ('multiplicative_expr -> multiplicative_expr MULT unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/paul/src/slimit/src/slimit/parser.py',488), - ('multiplicative_expr -> multiplicative_expr DIV unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/paul/src/slimit/src/slimit/parser.py',489), - ('multiplicative_expr -> multiplicative_expr MOD unary_expr','multiplicative_expr',3,'p_multiplicative_expr','/home/paul/src/slimit/src/slimit/parser.py',490), - ('multiplicative_expr_nobf -> unary_expr_nobf','multiplicative_expr_nobf',1,'p_multiplicative_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',498), - ('multiplicative_expr_nobf -> multiplicative_expr_nobf MULT unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',499), - ('multiplicative_expr_nobf -> multiplicative_expr_nobf DIV unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',500), - ('multiplicative_expr_nobf -> multiplicative_expr_nobf MOD unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',501), - ('additive_expr -> multiplicative_expr','additive_expr',1,'p_additive_expr','/home/paul/src/slimit/src/slimit/parser.py',510), - ('additive_expr -> additive_expr PLUS multiplicative_expr','additive_expr',3,'p_additive_expr','/home/paul/src/slimit/src/slimit/parser.py',511), - ('additive_expr -> additive_expr MINUS multiplicative_expr','additive_expr',3,'p_additive_expr','/home/paul/src/slimit/src/slimit/parser.py',512), - ('additive_expr_nobf -> multiplicative_expr_nobf','additive_expr_nobf',1,'p_additive_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',520), - ('additive_expr_nobf -> additive_expr_nobf PLUS multiplicative_expr','additive_expr_nobf',3,'p_additive_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',521), - ('additive_expr_nobf -> additive_expr_nobf MINUS multiplicative_expr','additive_expr_nobf',3,'p_additive_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',522), - ('shift_expr -> additive_expr','shift_expr',1,'p_shift_expr','/home/paul/src/slimit/src/slimit/parser.py',531), - ('shift_expr -> shift_expr LSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/paul/src/slimit/src/slimit/parser.py',532), - ('shift_expr -> shift_expr RSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/paul/src/slimit/src/slimit/parser.py',533), - ('shift_expr -> shift_expr URSHIFT additive_expr','shift_expr',3,'p_shift_expr','/home/paul/src/slimit/src/slimit/parser.py',534), - ('shift_expr_nobf -> additive_expr_nobf','shift_expr_nobf',1,'p_shift_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',542), - ('shift_expr_nobf -> shift_expr_nobf LSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',543), - ('shift_expr_nobf -> shift_expr_nobf RSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',544), - ('shift_expr_nobf -> shift_expr_nobf URSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',545), - ('relational_expr -> shift_expr','relational_expr',1,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',555), - ('relational_expr -> relational_expr LT shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',556), - ('relational_expr -> relational_expr GT shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',557), - ('relational_expr -> relational_expr LE shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',558), - ('relational_expr -> relational_expr GE shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',559), - ('relational_expr -> relational_expr INSTANCEOF shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',560), - ('relational_expr -> relational_expr IN shift_expr','relational_expr',3,'p_relational_expr','/home/paul/src/slimit/src/slimit/parser.py',561), - ('relational_expr_noin -> shift_expr','relational_expr_noin',1,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',569), - ('relational_expr_noin -> relational_expr_noin LT shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',570), - ('relational_expr_noin -> relational_expr_noin GT shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',571), - ('relational_expr_noin -> relational_expr_noin LE shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',572), - ('relational_expr_noin -> relational_expr_noin GE shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',573), - ('relational_expr_noin -> relational_expr_noin INSTANCEOF shift_expr','relational_expr_noin',3,'p_relational_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',574), - ('relational_expr_nobf -> shift_expr_nobf','relational_expr_nobf',1,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',582), - ('relational_expr_nobf -> relational_expr_nobf LT shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',583), - ('relational_expr_nobf -> relational_expr_nobf GT shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',584), - ('relational_expr_nobf -> relational_expr_nobf LE shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',585), - ('relational_expr_nobf -> relational_expr_nobf GE shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',586), - ('relational_expr_nobf -> relational_expr_nobf INSTANCEOF shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',587), - ('relational_expr_nobf -> relational_expr_nobf IN shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',588), - ('equality_expr -> relational_expr','equality_expr',1,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',597), - ('equality_expr -> equality_expr EQEQ relational_expr','equality_expr',3,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',598), - ('equality_expr -> equality_expr NE relational_expr','equality_expr',3,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',599), - ('equality_expr -> equality_expr STREQ relational_expr','equality_expr',3,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',600), - ('equality_expr -> equality_expr STRNEQ relational_expr','equality_expr',3,'p_equality_expr','/home/paul/src/slimit/src/slimit/parser.py',601), - ('equality_expr_noin -> relational_expr_noin','equality_expr_noin',1,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',609), - ('equality_expr_noin -> equality_expr_noin EQEQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',610), - ('equality_expr_noin -> equality_expr_noin NE relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',611), - ('equality_expr_noin -> equality_expr_noin STREQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',612), - ('equality_expr_noin -> equality_expr_noin STRNEQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',613), - ('equality_expr_nobf -> relational_expr_nobf','equality_expr_nobf',1,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',621), - ('equality_expr_nobf -> equality_expr_nobf EQEQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',622), - ('equality_expr_nobf -> equality_expr_nobf NE relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',623), - ('equality_expr_nobf -> equality_expr_nobf STREQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',624), - ('equality_expr_nobf -> equality_expr_nobf STRNEQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',625), - ('bitwise_and_expr -> equality_expr','bitwise_and_expr',1,'p_bitwise_and_expr','/home/paul/src/slimit/src/slimit/parser.py',634), - ('bitwise_and_expr -> bitwise_and_expr BAND equality_expr','bitwise_and_expr',3,'p_bitwise_and_expr','/home/paul/src/slimit/src/slimit/parser.py',635), - ('bitwise_and_expr_noin -> equality_expr_noin','bitwise_and_expr_noin',1,'p_bitwise_and_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',643), - ('bitwise_and_expr_noin -> bitwise_and_expr_noin BAND equality_expr_noin','bitwise_and_expr_noin',3,'p_bitwise_and_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',644), - ('bitwise_and_expr_nobf -> equality_expr_nobf','bitwise_and_expr_nobf',1,'p_bitwise_and_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',653), - ('bitwise_and_expr_nobf -> bitwise_and_expr_nobf BAND equality_expr_nobf','bitwise_and_expr_nobf',3,'p_bitwise_and_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',654), - ('bitwise_xor_expr -> bitwise_and_expr','bitwise_xor_expr',1,'p_bitwise_xor_expr','/home/paul/src/slimit/src/slimit/parser.py',663), - ('bitwise_xor_expr -> bitwise_xor_expr BXOR bitwise_and_expr','bitwise_xor_expr',3,'p_bitwise_xor_expr','/home/paul/src/slimit/src/slimit/parser.py',664), - ('bitwise_xor_expr_noin -> bitwise_and_expr_noin','bitwise_xor_expr_noin',1,'p_bitwise_xor_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',673), - ('bitwise_xor_expr_noin -> bitwise_xor_expr_noin BXOR bitwise_and_expr_noin','bitwise_xor_expr_noin',3,'p_bitwise_xor_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',674), - ('bitwise_xor_expr_nobf -> bitwise_and_expr_nobf','bitwise_xor_expr_nobf',1,'p_bitwise_xor_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',684), - ('bitwise_xor_expr_nobf -> bitwise_xor_expr_nobf BXOR bitwise_and_expr_nobf','bitwise_xor_expr_nobf',3,'p_bitwise_xor_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',685), - ('bitwise_or_expr -> bitwise_xor_expr','bitwise_or_expr',1,'p_bitwise_or_expr','/home/paul/src/slimit/src/slimit/parser.py',694), - ('bitwise_or_expr -> bitwise_or_expr BOR bitwise_xor_expr','bitwise_or_expr',3,'p_bitwise_or_expr','/home/paul/src/slimit/src/slimit/parser.py',695), - ('bitwise_or_expr_noin -> bitwise_xor_expr_noin','bitwise_or_expr_noin',1,'p_bitwise_or_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',704), - ('bitwise_or_expr_noin -> bitwise_or_expr_noin BOR bitwise_xor_expr_noin','bitwise_or_expr_noin',3,'p_bitwise_or_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',705), - ('bitwise_or_expr_nobf -> bitwise_xor_expr_nobf','bitwise_or_expr_nobf',1,'p_bitwise_or_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',715), - ('bitwise_or_expr_nobf -> bitwise_or_expr_nobf BOR bitwise_xor_expr_nobf','bitwise_or_expr_nobf',3,'p_bitwise_or_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',716), - ('logical_and_expr -> bitwise_or_expr','logical_and_expr',1,'p_logical_and_expr','/home/paul/src/slimit/src/slimit/parser.py',726), - ('logical_and_expr -> logical_and_expr AND bitwise_or_expr','logical_and_expr',3,'p_logical_and_expr','/home/paul/src/slimit/src/slimit/parser.py',727), - ('logical_and_expr_noin -> bitwise_or_expr_noin','logical_and_expr_noin',1,'p_logical_and_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',736), - ('logical_and_expr_noin -> logical_and_expr_noin AND bitwise_or_expr_noin','logical_and_expr_noin',3,'p_logical_and_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',737), - ('logical_and_expr_nobf -> bitwise_or_expr_nobf','logical_and_expr_nobf',1,'p_logical_and_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',746), - ('logical_and_expr_nobf -> logical_and_expr_nobf AND bitwise_or_expr_nobf','logical_and_expr_nobf',3,'p_logical_and_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',747), - ('logical_or_expr -> logical_and_expr','logical_or_expr',1,'p_logical_or_expr','/home/paul/src/slimit/src/slimit/parser.py',755), - ('logical_or_expr -> logical_or_expr OR logical_and_expr','logical_or_expr',3,'p_logical_or_expr','/home/paul/src/slimit/src/slimit/parser.py',756), - ('logical_or_expr_noin -> logical_and_expr_noin','logical_or_expr_noin',1,'p_logical_or_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',764), - ('logical_or_expr_noin -> logical_or_expr_noin OR logical_and_expr_noin','logical_or_expr_noin',3,'p_logical_or_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',765), - ('logical_or_expr_nobf -> logical_and_expr_nobf','logical_or_expr_nobf',1,'p_logical_or_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',773), - ('logical_or_expr_nobf -> logical_or_expr_nobf OR logical_and_expr_nobf','logical_or_expr_nobf',3,'p_logical_or_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',774), - ('conditional_expr -> logical_or_expr','conditional_expr',1,'p_conditional_expr','/home/paul/src/slimit/src/slimit/parser.py',784), - ('conditional_expr -> logical_or_expr CONDOP assignment_expr COLON assignment_expr','conditional_expr',5,'p_conditional_expr','/home/paul/src/slimit/src/slimit/parser.py',785), - ('conditional_expr_noin -> logical_or_expr_noin','conditional_expr_noin',1,'p_conditional_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',796), - ('conditional_expr_noin -> logical_or_expr_noin CONDOP assignment_expr_noin COLON assignment_expr_noin','conditional_expr_noin',5,'p_conditional_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',797), - ('conditional_expr_nobf -> logical_or_expr_nobf','conditional_expr_nobf',1,'p_conditional_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',809), - ('conditional_expr_nobf -> logical_or_expr_nobf CONDOP assignment_expr COLON assignment_expr','conditional_expr_nobf',5,'p_conditional_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',810), - ('assignment_expr -> conditional_expr','assignment_expr',1,'p_assignment_expr','/home/paul/src/slimit/src/slimit/parser.py',822), - ('assignment_expr -> left_hand_side_expr assignment_operator assignment_expr','assignment_expr',3,'p_assignment_expr','/home/paul/src/slimit/src/slimit/parser.py',823), - ('assignment_expr_noin -> conditional_expr_noin','assignment_expr_noin',1,'p_assignment_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',833), - ('assignment_expr_noin -> left_hand_side_expr assignment_operator assignment_expr_noin','assignment_expr_noin',3,'p_assignment_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',834), - ('assignment_expr_nobf -> conditional_expr_nobf','assignment_expr_nobf',1,'p_assignment_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',844), - ('assignment_expr_nobf -> left_hand_side_expr_nobf assignment_operator assignment_expr','assignment_expr_nobf',3,'p_assignment_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',845), - ('assignment_operator -> EQ','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',854), - ('assignment_operator -> MULTEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',855), - ('assignment_operator -> DIVEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',856), - ('assignment_operator -> MODEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',857), - ('assignment_operator -> PLUSEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',858), - ('assignment_operator -> MINUSEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',859), - ('assignment_operator -> LSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',860), - ('assignment_operator -> RSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',861), - ('assignment_operator -> URSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',862), - ('assignment_operator -> ANDEQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',863), - ('assignment_operator -> XOREQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',864), - ('assignment_operator -> OREQUAL','assignment_operator',1,'p_assignment_operator','/home/paul/src/slimit/src/slimit/parser.py',865), - ('expr -> assignment_expr','expr',1,'p_expr','/home/paul/src/slimit/src/slimit/parser.py',871), - ('expr -> expr COMMA assignment_expr','expr',3,'p_expr','/home/paul/src/slimit/src/slimit/parser.py',872), - ('expr_noin -> assignment_expr_noin','expr_noin',1,'p_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',880), - ('expr_noin -> expr_noin COMMA assignment_expr_noin','expr_noin',3,'p_expr_noin','/home/paul/src/slimit/src/slimit/parser.py',881), - ('expr_nobf -> assignment_expr_nobf','expr_nobf',1,'p_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',889), - ('expr_nobf -> expr_nobf COMMA assignment_expr','expr_nobf',3,'p_expr_nobf','/home/paul/src/slimit/src/slimit/parser.py',890), - ('variable_statement -> VAR variable_declaration_list SEMI','variable_statement',3,'p_variable_statement','/home/paul/src/slimit/src/slimit/parser.py',899), - ('variable_statement -> VAR variable_declaration_list auto_semi','variable_statement',3,'p_variable_statement','/home/paul/src/slimit/src/slimit/parser.py',900), - ('variable_declaration_list -> variable_declaration','variable_declaration_list',1,'p_variable_declaration_list','/home/paul/src/slimit/src/slimit/parser.py',906), - ('variable_declaration_list -> variable_declaration_list COMMA variable_declaration','variable_declaration_list',3,'p_variable_declaration_list','/home/paul/src/slimit/src/slimit/parser.py',907), - ('variable_declaration_list_noin -> variable_declaration_noin','variable_declaration_list_noin',1,'p_variable_declaration_list_noin','/home/paul/src/slimit/src/slimit/parser.py',918), - ('variable_declaration_list_noin -> variable_declaration_list_noin COMMA variable_declaration_noin','variable_declaration_list_noin',3,'p_variable_declaration_list_noin','/home/paul/src/slimit/src/slimit/parser.py',919), - ('variable_declaration -> identifier','variable_declaration',1,'p_variable_declaration','/home/paul/src/slimit/src/slimit/parser.py',929), - ('variable_declaration -> identifier initializer','variable_declaration',2,'p_variable_declaration','/home/paul/src/slimit/src/slimit/parser.py',930), - ('variable_declaration_noin -> identifier','variable_declaration_noin',1,'p_variable_declaration_noin','/home/paul/src/slimit/src/slimit/parser.py',938), - ('variable_declaration_noin -> identifier initializer_noin','variable_declaration_noin',2,'p_variable_declaration_noin','/home/paul/src/slimit/src/slimit/parser.py',939), - ('initializer -> EQ assignment_expr','initializer',2,'p_initializer','/home/paul/src/slimit/src/slimit/parser.py',947), - ('initializer_noin -> EQ assignment_expr_noin','initializer_noin',2,'p_initializer_noin','/home/paul/src/slimit/src/slimit/parser.py',951), - ('empty_statement -> SEMI','empty_statement',1,'p_empty_statement','/home/paul/src/slimit/src/slimit/parser.py',956), - ('expr_statement -> expr_nobf SEMI','expr_statement',2,'p_expr_statement','/home/paul/src/slimit/src/slimit/parser.py',961), - ('expr_statement -> expr_nobf auto_semi','expr_statement',2,'p_expr_statement','/home/paul/src/slimit/src/slimit/parser.py',962), - ('if_statement -> IF LPAREN expr RPAREN statement','if_statement',5,'p_if_statement_1','/home/paul/src/slimit/src/slimit/parser.py',968), - ('if_statement -> IF LPAREN expr RPAREN statement ELSE statement','if_statement',7,'p_if_statement_2','/home/paul/src/slimit/src/slimit/parser.py',972), - ('iteration_statement -> DO statement WHILE LPAREN expr RPAREN SEMI','iteration_statement',7,'p_iteration_statement_1','/home/paul/src/slimit/src/slimit/parser.py',978), - ('iteration_statement -> DO statement WHILE LPAREN expr RPAREN auto_semi','iteration_statement',7,'p_iteration_statement_1','/home/paul/src/slimit/src/slimit/parser.py',979), - ('iteration_statement -> WHILE LPAREN expr RPAREN statement','iteration_statement',5,'p_iteration_statement_2','/home/paul/src/slimit/src/slimit/parser.py',985), - ('iteration_statement -> FOR LPAREN expr_noin_opt SEMI expr_opt SEMI expr_opt RPAREN statement','iteration_statement',9,'p_iteration_statement_3','/home/paul/src/slimit/src/slimit/parser.py',990), - ('iteration_statement -> FOR LPAREN VAR variable_declaration_list_noin SEMI expr_opt SEMI expr_opt RPAREN statement','iteration_statement',10,'p_iteration_statement_3','/home/paul/src/slimit/src/slimit/parser.py',991), - ('iteration_statement -> FOR LPAREN left_hand_side_expr IN expr RPAREN statement','iteration_statement',7,'p_iteration_statement_4','/home/paul/src/slimit/src/slimit/parser.py',1004), - ('iteration_statement -> FOR LPAREN VAR identifier IN expr RPAREN statement','iteration_statement',8,'p_iteration_statement_5','/home/paul/src/slimit/src/slimit/parser.py',1011), - ('iteration_statement -> FOR LPAREN VAR identifier initializer_noin IN expr RPAREN statement','iteration_statement',9,'p_iteration_statement_6','/home/paul/src/slimit/src/slimit/parser.py',1018), - ('expr_opt -> empty','expr_opt',1,'p_expr_opt','/home/paul/src/slimit/src/slimit/parser.py',1025), - ('expr_opt -> expr','expr_opt',1,'p_expr_opt','/home/paul/src/slimit/src/slimit/parser.py',1026), - ('expr_noin_opt -> empty','expr_noin_opt',1,'p_expr_noin_opt','/home/paul/src/slimit/src/slimit/parser.py',1031), - ('expr_noin_opt -> expr_noin','expr_noin_opt',1,'p_expr_noin_opt','/home/paul/src/slimit/src/slimit/parser.py',1032), - ('continue_statement -> CONTINUE SEMI','continue_statement',2,'p_continue_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1038), - ('continue_statement -> CONTINUE auto_semi','continue_statement',2,'p_continue_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1039), - ('continue_statement -> CONTINUE identifier SEMI','continue_statement',3,'p_continue_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1044), - ('continue_statement -> CONTINUE identifier auto_semi','continue_statement',3,'p_continue_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1045), - ('break_statement -> BREAK SEMI','break_statement',2,'p_break_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1051), - ('break_statement -> BREAK auto_semi','break_statement',2,'p_break_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1052), - ('break_statement -> BREAK identifier SEMI','break_statement',3,'p_break_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1057), - ('break_statement -> BREAK identifier auto_semi','break_statement',3,'p_break_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1058), - ('return_statement -> RETURN SEMI','return_statement',2,'p_return_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1065), - ('return_statement -> RETURN auto_semi','return_statement',2,'p_return_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1066), - ('return_statement -> RETURN expr SEMI','return_statement',3,'p_return_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1071), - ('return_statement -> RETURN expr auto_semi','return_statement',3,'p_return_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1072), - ('with_statement -> WITH LPAREN expr RPAREN statement','with_statement',5,'p_with_statement','/home/paul/src/slimit/src/slimit/parser.py',1078), - ('switch_statement -> SWITCH LPAREN expr RPAREN case_block','switch_statement',5,'p_switch_statement','/home/paul/src/slimit/src/slimit/parser.py',1083), - ('case_block -> LBRACE case_clauses_opt RBRACE','case_block',3,'p_case_block','/home/paul/src/slimit/src/slimit/parser.py',1097), - ('case_block -> LBRACE case_clauses_opt default_clause case_clauses_opt RBRACE','case_block',5,'p_case_block','/home/paul/src/slimit/src/slimit/parser.py',1098), - ('case_clauses_opt -> empty','case_clauses_opt',1,'p_case_clauses_opt','/home/paul/src/slimit/src/slimit/parser.py',1104), - ('case_clauses_opt -> case_clauses','case_clauses_opt',1,'p_case_clauses_opt','/home/paul/src/slimit/src/slimit/parser.py',1105), - ('case_clauses -> case_clause','case_clauses',1,'p_case_clauses','/home/paul/src/slimit/src/slimit/parser.py',1110), - ('case_clauses -> case_clauses case_clause','case_clauses',2,'p_case_clauses','/home/paul/src/slimit/src/slimit/parser.py',1111), - ('case_clause -> CASE expr COLON source_elements','case_clause',4,'p_case_clause','/home/paul/src/slimit/src/slimit/parser.py',1120), - ('default_clause -> DEFAULT COLON source_elements','default_clause',3,'p_default_clause','/home/paul/src/slimit/src/slimit/parser.py',1124), - ('labelled_statement -> identifier COLON statement','labelled_statement',3,'p_labelled_statement','/home/paul/src/slimit/src/slimit/parser.py',1129), - ('throw_statement -> THROW expr SEMI','throw_statement',3,'p_throw_statement','/home/paul/src/slimit/src/slimit/parser.py',1134), - ('throw_statement -> THROW expr auto_semi','throw_statement',3,'p_throw_statement','/home/paul/src/slimit/src/slimit/parser.py',1135), - ('try_statement -> TRY block catch','try_statement',3,'p_try_statement_1','/home/paul/src/slimit/src/slimit/parser.py',1141), - ('try_statement -> TRY block finally','try_statement',3,'p_try_statement_2','/home/paul/src/slimit/src/slimit/parser.py',1145), - ('try_statement -> TRY block catch finally','try_statement',4,'p_try_statement_3','/home/paul/src/slimit/src/slimit/parser.py',1149), - ('catch -> CATCH LPAREN identifier RPAREN block','catch',5,'p_catch','/home/paul/src/slimit/src/slimit/parser.py',1153), - ('finally -> FINALLY block','finally',2,'p_finally','/home/paul/src/slimit/src/slimit/parser.py',1157), - ('debugger_statement -> DEBUGGER SEMI','debugger_statement',2,'p_debugger_statement','/home/paul/src/slimit/src/slimit/parser.py',1162), - ('debugger_statement -> DEBUGGER auto_semi','debugger_statement',2,'p_debugger_statement','/home/paul/src/slimit/src/slimit/parser.py',1163), - ('function_declaration -> FUNCTION identifier LPAREN RPAREN LBRACE function_body RBRACE','function_declaration',7,'p_function_declaration','/home/paul/src/slimit/src/slimit/parser.py',1170), - ('function_declaration -> FUNCTION identifier LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_declaration',8,'p_function_declaration','/home/paul/src/slimit/src/slimit/parser.py',1171), - ('function_expr -> FUNCTION LPAREN RPAREN LBRACE function_body RBRACE','function_expr',6,'p_function_expr_1','/home/paul/src/slimit/src/slimit/parser.py',1184), - ('function_expr -> FUNCTION LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_expr',7,'p_function_expr_1','/home/paul/src/slimit/src/slimit/parser.py',1185), - ('function_expr -> FUNCTION identifier LPAREN RPAREN LBRACE function_body RBRACE','function_expr',7,'p_function_expr_2','/home/paul/src/slimit/src/slimit/parser.py',1198), - ('function_expr -> FUNCTION identifier LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_expr',8,'p_function_expr_2','/home/paul/src/slimit/src/slimit/parser.py',1199), - ('formal_parameter_list -> identifier','formal_parameter_list',1,'p_formal_parameter_list','/home/paul/src/slimit/src/slimit/parser.py',1212), - ('formal_parameter_list -> formal_parameter_list COMMA identifier','formal_parameter_list',3,'p_formal_parameter_list','/home/paul/src/slimit/src/slimit/parser.py',1213), - ('function_body -> source_elements','function_body',1,'p_function_body','/home/paul/src/slimit/src/slimit/parser.py',1222), + ('empty -> ','empty',0,'p_empty','parser.py',98), + ('auto_semi -> error','auto_semi',1,'p_auto_semi','parser.py',102), + ('program -> source_elements','program',1,'p_program','parser.py',132), + ('source_elements -> empty','source_elements',1,'p_source_elements','parser.py',136), + ('source_elements -> source_element_list','source_elements',1,'p_source_elements','parser.py',137), + ('source_element_list -> source_element','source_element_list',1,'p_source_element_list','parser.py',142), + ('source_element_list -> source_element_list source_element','source_element_list',2,'p_source_element_list','parser.py',143), + ('source_element -> statement','source_element',1,'p_source_element','parser.py',152), + ('source_element -> function_declaration','source_element',1,'p_source_element','parser.py',153), + ('statement -> block','statement',1,'p_statement','parser.py',158), + ('statement -> variable_statement','statement',1,'p_statement','parser.py',159), + ('statement -> empty_statement','statement',1,'p_statement','parser.py',160), + ('statement -> expr_statement','statement',1,'p_statement','parser.py',161), + ('statement -> if_statement','statement',1,'p_statement','parser.py',162), + ('statement -> iteration_statement','statement',1,'p_statement','parser.py',163), + ('statement -> continue_statement','statement',1,'p_statement','parser.py',164), + ('statement -> break_statement','statement',1,'p_statement','parser.py',165), + ('statement -> return_statement','statement',1,'p_statement','parser.py',166), + ('statement -> with_statement','statement',1,'p_statement','parser.py',167), + ('statement -> switch_statement','statement',1,'p_statement','parser.py',168), + ('statement -> labelled_statement','statement',1,'p_statement','parser.py',169), + ('statement -> throw_statement','statement',1,'p_statement','parser.py',170), + ('statement -> try_statement','statement',1,'p_statement','parser.py',171), + ('statement -> debugger_statement','statement',1,'p_statement','parser.py',172), + ('statement -> function_declaration','statement',1,'p_statement','parser.py',173), + ('block -> LBRACE source_elements RBRACE','block',3,'p_block','parser.py',180), + ('literal -> null_literal','literal',1,'p_literal','parser.py',184), + ('literal -> boolean_literal','literal',1,'p_literal','parser.py',185), + ('literal -> numeric_literal','literal',1,'p_literal','parser.py',186), + ('literal -> string_literal','literal',1,'p_literal','parser.py',187), + ('literal -> regex_literal','literal',1,'p_literal','parser.py',188), + ('boolean_literal -> TRUE','boolean_literal',1,'p_boolean_literal','parser.py',193), + ('boolean_literal -> FALSE','boolean_literal',1,'p_boolean_literal','parser.py',194), + ('null_literal -> NULL','null_literal',1,'p_null_literal','parser.py',199), + ('numeric_literal -> NUMBER','numeric_literal',1,'p_numeric_literal','parser.py',203), + ('string_literal -> STRING','string_literal',1,'p_string_literal','parser.py',207), + ('regex_literal -> REGEX','regex_literal',1,'p_regex_literal','parser.py',211), + ('identifier -> ID','identifier',1,'p_identifier','parser.py',215), + ('primary_expr -> primary_expr_no_brace','primary_expr',1,'p_primary_expr','parser.py',222), + ('primary_expr -> object_literal','primary_expr',1,'p_primary_expr','parser.py',223), + ('primary_expr_no_brace -> identifier','primary_expr_no_brace',1,'p_primary_expr_no_brace_1','parser.py',228), + ('primary_expr_no_brace -> THIS','primary_expr_no_brace',1,'p_primary_expr_no_brace_2','parser.py',234), + ('primary_expr_no_brace -> literal','primary_expr_no_brace',1,'p_primary_expr_no_brace_3','parser.py',238), + ('primary_expr_no_brace -> array_literal','primary_expr_no_brace',1,'p_primary_expr_no_brace_3','parser.py',239), + ('primary_expr_no_brace -> LPAREN expr RPAREN','primary_expr_no_brace',3,'p_primary_expr_no_brace_4','parser.py',244), + ('array_literal -> LBRACKET elision_opt RBRACKET','array_literal',3,'p_array_literal_1','parser.py',249), + ('array_literal -> LBRACKET element_list RBRACKET','array_literal',3,'p_array_literal_2','parser.py',253), + ('array_literal -> LBRACKET element_list COMMA elision_opt RBRACKET','array_literal',5,'p_array_literal_2','parser.py',254), + ('element_list -> elision_opt assignment_expr','element_list',2,'p_element_list','parser.py',263), + ('element_list -> element_list COMMA elision_opt assignment_expr','element_list',4,'p_element_list','parser.py',264), + ('elision_opt -> empty','elision_opt',1,'p_elision_opt_1','parser.py',274), + ('elision_opt -> elision','elision_opt',1,'p_elision_opt_2','parser.py',278), + ('elision -> COMMA','elision',1,'p_elision','parser.py',282), + ('elision -> elision COMMA','elision',2,'p_elision','parser.py',283), + ('object_literal -> LBRACE RBRACE','object_literal',2,'p_object_literal','parser.py',292), + ('object_literal -> LBRACE property_list RBRACE','object_literal',3,'p_object_literal','parser.py',293), + ('object_literal -> LBRACE property_list COMMA RBRACE','object_literal',4,'p_object_literal','parser.py',294), + ('property_list -> property_assignment','property_list',1,'p_property_list','parser.py',302), + ('property_list -> property_list COMMA property_assignment','property_list',3,'p_property_list','parser.py',303), + ('property_assignment -> property_name COLON assignment_expr','property_assignment',3,'p_property_assignment','parser.py',313), + ('property_assignment -> GETPROP property_name LPAREN RPAREN LBRACE function_body RBRACE','property_assignment',7,'p_property_assignment','parser.py',314), + ('property_assignment -> SETPROP property_name LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','property_assignment',8,'p_property_assignment','parser.py',315), + ('property_name -> identifier','property_name',1,'p_property_name','parser.py',328), + ('property_name -> string_literal','property_name',1,'p_property_name','parser.py',329), + ('property_name -> numeric_literal','property_name',1,'p_property_name','parser.py',330), + ('member_expr -> primary_expr','member_expr',1,'p_member_expr','parser.py',336), + ('member_expr -> function_expr','member_expr',1,'p_member_expr','parser.py',337), + ('member_expr -> member_expr LBRACKET expr RBRACKET','member_expr',4,'p_member_expr','parser.py',338), + ('member_expr -> member_expr PERIOD identifier','member_expr',3,'p_member_expr','parser.py',339), + ('member_expr -> NEW member_expr arguments','member_expr',3,'p_member_expr','parser.py',340), + ('member_expr_nobf -> primary_expr_no_brace','member_expr_nobf',1,'p_member_expr_nobf','parser.py',352), + ('member_expr_nobf -> function_expr','member_expr_nobf',1,'p_member_expr_nobf','parser.py',353), + ('member_expr_nobf -> member_expr_nobf LBRACKET expr RBRACKET','member_expr_nobf',4,'p_member_expr_nobf','parser.py',354), + ('member_expr_nobf -> member_expr_nobf PERIOD identifier','member_expr_nobf',3,'p_member_expr_nobf','parser.py',355), + ('member_expr_nobf -> NEW member_expr arguments','member_expr_nobf',3,'p_member_expr_nobf','parser.py',356), + ('new_expr -> member_expr','new_expr',1,'p_new_expr','parser.py',368), + ('new_expr -> NEW new_expr','new_expr',2,'p_new_expr','parser.py',369), + ('new_expr_nobf -> member_expr_nobf','new_expr_nobf',1,'p_new_expr_nobf','parser.py',377), + ('new_expr_nobf -> NEW new_expr','new_expr_nobf',2,'p_new_expr_nobf','parser.py',378), + ('call_expr -> member_expr arguments','call_expr',2,'p_call_expr','parser.py',386), + ('call_expr -> call_expr arguments','call_expr',2,'p_call_expr','parser.py',387), + ('call_expr -> call_expr LBRACKET expr RBRACKET','call_expr',4,'p_call_expr','parser.py',388), + ('call_expr -> call_expr PERIOD identifier','call_expr',3,'p_call_expr','parser.py',389), + ('call_expr_nobf -> member_expr_nobf arguments','call_expr_nobf',2,'p_call_expr_nobf','parser.py',399), + ('call_expr_nobf -> call_expr_nobf arguments','call_expr_nobf',2,'p_call_expr_nobf','parser.py',400), + ('call_expr_nobf -> call_expr_nobf LBRACKET expr RBRACKET','call_expr_nobf',4,'p_call_expr_nobf','parser.py',401), + ('call_expr_nobf -> call_expr_nobf PERIOD identifier','call_expr_nobf',3,'p_call_expr_nobf','parser.py',402), + ('arguments -> LPAREN RPAREN','arguments',2,'p_arguments','parser.py',412), + ('arguments -> LPAREN argument_list RPAREN','arguments',3,'p_arguments','parser.py',413), + ('argument_list -> assignment_expr','argument_list',1,'p_argument_list','parser.py',419), + ('argument_list -> argument_list COMMA assignment_expr','argument_list',3,'p_argument_list','parser.py',420), + ('left_hand_side_expr -> new_expr','left_hand_side_expr',1,'p_lef_hand_side_expr','parser.py',429), + ('left_hand_side_expr -> call_expr','left_hand_side_expr',1,'p_lef_hand_side_expr','parser.py',430), + ('left_hand_side_expr_nobf -> new_expr_nobf','left_hand_side_expr_nobf',1,'p_lef_hand_side_expr_nobf','parser.py',435), + ('left_hand_side_expr_nobf -> call_expr_nobf','left_hand_side_expr_nobf',1,'p_lef_hand_side_expr_nobf','parser.py',436), + ('postfix_expr -> left_hand_side_expr','postfix_expr',1,'p_postfix_expr','parser.py',442), + ('postfix_expr -> left_hand_side_expr PLUSPLUS','postfix_expr',2,'p_postfix_expr','parser.py',443), + ('postfix_expr -> left_hand_side_expr MINUSMINUS','postfix_expr',2,'p_postfix_expr','parser.py',444), + ('postfix_expr_nobf -> left_hand_side_expr_nobf','postfix_expr_nobf',1,'p_postfix_expr_nobf','parser.py',452), + ('postfix_expr_nobf -> left_hand_side_expr_nobf PLUSPLUS','postfix_expr_nobf',2,'p_postfix_expr_nobf','parser.py',453), + ('postfix_expr_nobf -> left_hand_side_expr_nobf MINUSMINUS','postfix_expr_nobf',2,'p_postfix_expr_nobf','parser.py',454), + ('unary_expr -> postfix_expr','unary_expr',1,'p_unary_expr','parser.py',463), + ('unary_expr -> unary_expr_common','unary_expr',1,'p_unary_expr','parser.py',464), + ('unary_expr_nobf -> postfix_expr_nobf','unary_expr_nobf',1,'p_unary_expr_nobf','parser.py',469), + ('unary_expr_nobf -> unary_expr_common','unary_expr_nobf',1,'p_unary_expr_nobf','parser.py',470), + ('unary_expr_common -> DELETE unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',475), + ('unary_expr_common -> VOID unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',476), + ('unary_expr_common -> TYPEOF unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',477), + ('unary_expr_common -> PLUSPLUS unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',478), + ('unary_expr_common -> MINUSMINUS unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',479), + ('unary_expr_common -> PLUS unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',480), + ('unary_expr_common -> MINUS unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',481), + ('unary_expr_common -> BNOT unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',482), + ('unary_expr_common -> NOT unary_expr','unary_expr_common',2,'p_unary_expr_common','parser.py',483), + ('multiplicative_expr -> unary_expr','multiplicative_expr',1,'p_multiplicative_expr','parser.py',489), + ('multiplicative_expr -> multiplicative_expr MULT unary_expr','multiplicative_expr',3,'p_multiplicative_expr','parser.py',490), + ('multiplicative_expr -> multiplicative_expr DIV unary_expr','multiplicative_expr',3,'p_multiplicative_expr','parser.py',491), + ('multiplicative_expr -> multiplicative_expr MOD unary_expr','multiplicative_expr',3,'p_multiplicative_expr','parser.py',492), + ('multiplicative_expr_nobf -> unary_expr_nobf','multiplicative_expr_nobf',1,'p_multiplicative_expr_nobf','parser.py',500), + ('multiplicative_expr_nobf -> multiplicative_expr_nobf MULT unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','parser.py',501), + ('multiplicative_expr_nobf -> multiplicative_expr_nobf DIV unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','parser.py',502), + ('multiplicative_expr_nobf -> multiplicative_expr_nobf MOD unary_expr','multiplicative_expr_nobf',3,'p_multiplicative_expr_nobf','parser.py',503), + ('additive_expr -> multiplicative_expr','additive_expr',1,'p_additive_expr','parser.py',512), + ('additive_expr -> additive_expr PLUS multiplicative_expr','additive_expr',3,'p_additive_expr','parser.py',513), + ('additive_expr -> additive_expr MINUS multiplicative_expr','additive_expr',3,'p_additive_expr','parser.py',514), + ('additive_expr_nobf -> multiplicative_expr_nobf','additive_expr_nobf',1,'p_additive_expr_nobf','parser.py',522), + ('additive_expr_nobf -> additive_expr_nobf PLUS multiplicative_expr','additive_expr_nobf',3,'p_additive_expr_nobf','parser.py',523), + ('additive_expr_nobf -> additive_expr_nobf MINUS multiplicative_expr','additive_expr_nobf',3,'p_additive_expr_nobf','parser.py',524), + ('shift_expr -> additive_expr','shift_expr',1,'p_shift_expr','parser.py',533), + ('shift_expr -> shift_expr LSHIFT additive_expr','shift_expr',3,'p_shift_expr','parser.py',534), + ('shift_expr -> shift_expr RSHIFT additive_expr','shift_expr',3,'p_shift_expr','parser.py',535), + ('shift_expr -> shift_expr URSHIFT additive_expr','shift_expr',3,'p_shift_expr','parser.py',536), + ('shift_expr_nobf -> additive_expr_nobf','shift_expr_nobf',1,'p_shift_expr_nobf','parser.py',544), + ('shift_expr_nobf -> shift_expr_nobf LSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','parser.py',545), + ('shift_expr_nobf -> shift_expr_nobf RSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','parser.py',546), + ('shift_expr_nobf -> shift_expr_nobf URSHIFT additive_expr','shift_expr_nobf',3,'p_shift_expr_nobf','parser.py',547), + ('relational_expr -> shift_expr','relational_expr',1,'p_relational_expr','parser.py',557), + ('relational_expr -> relational_expr LT shift_expr','relational_expr',3,'p_relational_expr','parser.py',558), + ('relational_expr -> relational_expr GT shift_expr','relational_expr',3,'p_relational_expr','parser.py',559), + ('relational_expr -> relational_expr LE shift_expr','relational_expr',3,'p_relational_expr','parser.py',560), + ('relational_expr -> relational_expr GE shift_expr','relational_expr',3,'p_relational_expr','parser.py',561), + ('relational_expr -> relational_expr INSTANCEOF shift_expr','relational_expr',3,'p_relational_expr','parser.py',562), + ('relational_expr -> relational_expr IN shift_expr','relational_expr',3,'p_relational_expr','parser.py',563), + ('relational_expr_noin -> shift_expr','relational_expr_noin',1,'p_relational_expr_noin','parser.py',571), + ('relational_expr_noin -> relational_expr_noin LT shift_expr','relational_expr_noin',3,'p_relational_expr_noin','parser.py',572), + ('relational_expr_noin -> relational_expr_noin GT shift_expr','relational_expr_noin',3,'p_relational_expr_noin','parser.py',573), + ('relational_expr_noin -> relational_expr_noin LE shift_expr','relational_expr_noin',3,'p_relational_expr_noin','parser.py',574), + ('relational_expr_noin -> relational_expr_noin GE shift_expr','relational_expr_noin',3,'p_relational_expr_noin','parser.py',575), + ('relational_expr_noin -> relational_expr_noin INSTANCEOF shift_expr','relational_expr_noin',3,'p_relational_expr_noin','parser.py',576), + ('relational_expr_nobf -> shift_expr_nobf','relational_expr_nobf',1,'p_relational_expr_nobf','parser.py',584), + ('relational_expr_nobf -> relational_expr_nobf LT shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','parser.py',585), + ('relational_expr_nobf -> relational_expr_nobf GT shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','parser.py',586), + ('relational_expr_nobf -> relational_expr_nobf LE shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','parser.py',587), + ('relational_expr_nobf -> relational_expr_nobf GE shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','parser.py',588), + ('relational_expr_nobf -> relational_expr_nobf INSTANCEOF shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','parser.py',589), + ('relational_expr_nobf -> relational_expr_nobf IN shift_expr','relational_expr_nobf',3,'p_relational_expr_nobf','parser.py',590), + ('equality_expr -> relational_expr','equality_expr',1,'p_equality_expr','parser.py',599), + ('equality_expr -> equality_expr EQEQ relational_expr','equality_expr',3,'p_equality_expr','parser.py',600), + ('equality_expr -> equality_expr NE relational_expr','equality_expr',3,'p_equality_expr','parser.py',601), + ('equality_expr -> equality_expr STREQ relational_expr','equality_expr',3,'p_equality_expr','parser.py',602), + ('equality_expr -> equality_expr STRNEQ relational_expr','equality_expr',3,'p_equality_expr','parser.py',603), + ('equality_expr_noin -> relational_expr_noin','equality_expr_noin',1,'p_equality_expr_noin','parser.py',611), + ('equality_expr_noin -> equality_expr_noin EQEQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','parser.py',612), + ('equality_expr_noin -> equality_expr_noin NE relational_expr','equality_expr_noin',3,'p_equality_expr_noin','parser.py',613), + ('equality_expr_noin -> equality_expr_noin STREQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','parser.py',614), + ('equality_expr_noin -> equality_expr_noin STRNEQ relational_expr','equality_expr_noin',3,'p_equality_expr_noin','parser.py',615), + ('equality_expr_nobf -> relational_expr_nobf','equality_expr_nobf',1,'p_equality_expr_nobf','parser.py',623), + ('equality_expr_nobf -> equality_expr_nobf EQEQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','parser.py',624), + ('equality_expr_nobf -> equality_expr_nobf NE relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','parser.py',625), + ('equality_expr_nobf -> equality_expr_nobf STREQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','parser.py',626), + ('equality_expr_nobf -> equality_expr_nobf STRNEQ relational_expr','equality_expr_nobf',3,'p_equality_expr_nobf','parser.py',627), + ('bitwise_and_expr -> equality_expr','bitwise_and_expr',1,'p_bitwise_and_expr','parser.py',636), + ('bitwise_and_expr -> bitwise_and_expr BAND equality_expr','bitwise_and_expr',3,'p_bitwise_and_expr','parser.py',637), + ('bitwise_and_expr_noin -> equality_expr_noin','bitwise_and_expr_noin',1,'p_bitwise_and_expr_noin','parser.py',645), + ('bitwise_and_expr_noin -> bitwise_and_expr_noin BAND equality_expr_noin','bitwise_and_expr_noin',3,'p_bitwise_and_expr_noin','parser.py',646), + ('bitwise_and_expr_nobf -> equality_expr_nobf','bitwise_and_expr_nobf',1,'p_bitwise_and_expr_nobf','parser.py',655), + ('bitwise_and_expr_nobf -> bitwise_and_expr_nobf BAND equality_expr_nobf','bitwise_and_expr_nobf',3,'p_bitwise_and_expr_nobf','parser.py',656), + ('bitwise_xor_expr -> bitwise_and_expr','bitwise_xor_expr',1,'p_bitwise_xor_expr','parser.py',665), + ('bitwise_xor_expr -> bitwise_xor_expr BXOR bitwise_and_expr','bitwise_xor_expr',3,'p_bitwise_xor_expr','parser.py',666), + ('bitwise_xor_expr_noin -> bitwise_and_expr_noin','bitwise_xor_expr_noin',1,'p_bitwise_xor_expr_noin','parser.py',675), + ('bitwise_xor_expr_noin -> bitwise_xor_expr_noin BXOR bitwise_and_expr_noin','bitwise_xor_expr_noin',3,'p_bitwise_xor_expr_noin','parser.py',676), + ('bitwise_xor_expr_nobf -> bitwise_and_expr_nobf','bitwise_xor_expr_nobf',1,'p_bitwise_xor_expr_nobf','parser.py',686), + ('bitwise_xor_expr_nobf -> bitwise_xor_expr_nobf BXOR bitwise_and_expr_nobf','bitwise_xor_expr_nobf',3,'p_bitwise_xor_expr_nobf','parser.py',687), + ('bitwise_or_expr -> bitwise_xor_expr','bitwise_or_expr',1,'p_bitwise_or_expr','parser.py',696), + ('bitwise_or_expr -> bitwise_or_expr BOR bitwise_xor_expr','bitwise_or_expr',3,'p_bitwise_or_expr','parser.py',697), + ('bitwise_or_expr_noin -> bitwise_xor_expr_noin','bitwise_or_expr_noin',1,'p_bitwise_or_expr_noin','parser.py',706), + ('bitwise_or_expr_noin -> bitwise_or_expr_noin BOR bitwise_xor_expr_noin','bitwise_or_expr_noin',3,'p_bitwise_or_expr_noin','parser.py',707), + ('bitwise_or_expr_nobf -> bitwise_xor_expr_nobf','bitwise_or_expr_nobf',1,'p_bitwise_or_expr_nobf','parser.py',717), + ('bitwise_or_expr_nobf -> bitwise_or_expr_nobf BOR bitwise_xor_expr_nobf','bitwise_or_expr_nobf',3,'p_bitwise_or_expr_nobf','parser.py',718), + ('logical_and_expr -> bitwise_or_expr','logical_and_expr',1,'p_logical_and_expr','parser.py',728), + ('logical_and_expr -> logical_and_expr AND bitwise_or_expr','logical_and_expr',3,'p_logical_and_expr','parser.py',729), + ('logical_and_expr_noin -> bitwise_or_expr_noin','logical_and_expr_noin',1,'p_logical_and_expr_noin','parser.py',738), + ('logical_and_expr_noin -> logical_and_expr_noin AND bitwise_or_expr_noin','logical_and_expr_noin',3,'p_logical_and_expr_noin','parser.py',739), + ('logical_and_expr_nobf -> bitwise_or_expr_nobf','logical_and_expr_nobf',1,'p_logical_and_expr_nobf','parser.py',748), + ('logical_and_expr_nobf -> logical_and_expr_nobf AND bitwise_or_expr_nobf','logical_and_expr_nobf',3,'p_logical_and_expr_nobf','parser.py',749), + ('logical_or_expr -> logical_and_expr','logical_or_expr',1,'p_logical_or_expr','parser.py',757), + ('logical_or_expr -> logical_or_expr OR logical_and_expr','logical_or_expr',3,'p_logical_or_expr','parser.py',758), + ('logical_or_expr_noin -> logical_and_expr_noin','logical_or_expr_noin',1,'p_logical_or_expr_noin','parser.py',766), + ('logical_or_expr_noin -> logical_or_expr_noin OR logical_and_expr_noin','logical_or_expr_noin',3,'p_logical_or_expr_noin','parser.py',767), + ('logical_or_expr_nobf -> logical_and_expr_nobf','logical_or_expr_nobf',1,'p_logical_or_expr_nobf','parser.py',775), + ('logical_or_expr_nobf -> logical_or_expr_nobf OR logical_and_expr_nobf','logical_or_expr_nobf',3,'p_logical_or_expr_nobf','parser.py',776), + ('conditional_expr -> logical_or_expr','conditional_expr',1,'p_conditional_expr','parser.py',786), + ('conditional_expr -> logical_or_expr CONDOP assignment_expr COLON assignment_expr','conditional_expr',5,'p_conditional_expr','parser.py',787), + ('conditional_expr_noin -> logical_or_expr_noin','conditional_expr_noin',1,'p_conditional_expr_noin','parser.py',798), + ('conditional_expr_noin -> logical_or_expr_noin CONDOP assignment_expr_noin COLON assignment_expr_noin','conditional_expr_noin',5,'p_conditional_expr_noin','parser.py',799), + ('conditional_expr_nobf -> logical_or_expr_nobf','conditional_expr_nobf',1,'p_conditional_expr_nobf','parser.py',811), + ('conditional_expr_nobf -> logical_or_expr_nobf CONDOP assignment_expr COLON assignment_expr','conditional_expr_nobf',5,'p_conditional_expr_nobf','parser.py',812), + ('assignment_expr -> conditional_expr','assignment_expr',1,'p_assignment_expr','parser.py',824), + ('assignment_expr -> left_hand_side_expr assignment_operator assignment_expr','assignment_expr',3,'p_assignment_expr','parser.py',825), + ('assignment_expr_noin -> conditional_expr_noin','assignment_expr_noin',1,'p_assignment_expr_noin','parser.py',835), + ('assignment_expr_noin -> left_hand_side_expr assignment_operator assignment_expr_noin','assignment_expr_noin',3,'p_assignment_expr_noin','parser.py',836), + ('assignment_expr_nobf -> conditional_expr_nobf','assignment_expr_nobf',1,'p_assignment_expr_nobf','parser.py',846), + ('assignment_expr_nobf -> left_hand_side_expr_nobf assignment_operator assignment_expr','assignment_expr_nobf',3,'p_assignment_expr_nobf','parser.py',847), + ('assignment_operator -> EQ','assignment_operator',1,'p_assignment_operator','parser.py',856), + ('assignment_operator -> MULTEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',857), + ('assignment_operator -> DIVEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',858), + ('assignment_operator -> MODEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',859), + ('assignment_operator -> PLUSEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',860), + ('assignment_operator -> MINUSEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',861), + ('assignment_operator -> LSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',862), + ('assignment_operator -> RSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',863), + ('assignment_operator -> URSHIFTEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',864), + ('assignment_operator -> ANDEQUAL','assignment_operator',1,'p_assignment_operator','parser.py',865), + ('assignment_operator -> XOREQUAL','assignment_operator',1,'p_assignment_operator','parser.py',866), + ('assignment_operator -> OREQUAL','assignment_operator',1,'p_assignment_operator','parser.py',867), + ('expr -> assignment_expr','expr',1,'p_expr','parser.py',873), + ('expr -> expr COMMA assignment_expr','expr',3,'p_expr','parser.py',874), + ('expr_noin -> assignment_expr_noin','expr_noin',1,'p_expr_noin','parser.py',882), + ('expr_noin -> expr_noin COMMA assignment_expr_noin','expr_noin',3,'p_expr_noin','parser.py',883), + ('expr_nobf -> assignment_expr_nobf','expr_nobf',1,'p_expr_nobf','parser.py',891), + ('expr_nobf -> expr_nobf COMMA assignment_expr','expr_nobf',3,'p_expr_nobf','parser.py',892), + ('variable_statement -> VAR variable_declaration_list SEMI','variable_statement',3,'p_variable_statement','parser.py',901), + ('variable_statement -> VAR variable_declaration_list auto_semi','variable_statement',3,'p_variable_statement','parser.py',902), + ('variable_declaration_list -> variable_declaration','variable_declaration_list',1,'p_variable_declaration_list','parser.py',908), + ('variable_declaration_list -> variable_declaration_list COMMA variable_declaration','variable_declaration_list',3,'p_variable_declaration_list','parser.py',909), + ('variable_declaration_list_noin -> variable_declaration_noin','variable_declaration_list_noin',1,'p_variable_declaration_list_noin','parser.py',920), + ('variable_declaration_list_noin -> variable_declaration_list_noin COMMA variable_declaration_noin','variable_declaration_list_noin',3,'p_variable_declaration_list_noin','parser.py',921), + ('variable_declaration -> identifier','variable_declaration',1,'p_variable_declaration','parser.py',931), + ('variable_declaration -> identifier initializer','variable_declaration',2,'p_variable_declaration','parser.py',932), + ('variable_declaration_noin -> identifier','variable_declaration_noin',1,'p_variable_declaration_noin','parser.py',940), + ('variable_declaration_noin -> identifier initializer_noin','variable_declaration_noin',2,'p_variable_declaration_noin','parser.py',941), + ('initializer -> EQ assignment_expr','initializer',2,'p_initializer','parser.py',949), + ('initializer_noin -> EQ assignment_expr_noin','initializer_noin',2,'p_initializer_noin','parser.py',953), + ('empty_statement -> SEMI','empty_statement',1,'p_empty_statement','parser.py',958), + ('expr_statement -> expr_nobf SEMI','expr_statement',2,'p_expr_statement','parser.py',963), + ('expr_statement -> expr_nobf auto_semi','expr_statement',2,'p_expr_statement','parser.py',964), + ('if_statement -> IF LPAREN expr RPAREN statement','if_statement',5,'p_if_statement_1','parser.py',970), + ('if_statement -> IF LPAREN expr RPAREN statement ELSE statement','if_statement',7,'p_if_statement_2','parser.py',974), + ('iteration_statement -> DO statement WHILE LPAREN expr RPAREN SEMI','iteration_statement',7,'p_iteration_statement_1','parser.py',980), + ('iteration_statement -> DO statement WHILE LPAREN expr RPAREN auto_semi','iteration_statement',7,'p_iteration_statement_1','parser.py',981), + ('iteration_statement -> WHILE LPAREN expr RPAREN statement','iteration_statement',5,'p_iteration_statement_2','parser.py',987), + ('iteration_statement -> FOR LPAREN expr_noin_opt SEMI expr_opt SEMI expr_opt RPAREN statement','iteration_statement',9,'p_iteration_statement_3','parser.py',992), + ('iteration_statement -> FOR LPAREN VAR variable_declaration_list_noin SEMI expr_opt SEMI expr_opt RPAREN statement','iteration_statement',10,'p_iteration_statement_3','parser.py',993), + ('iteration_statement -> FOR LPAREN left_hand_side_expr IN expr RPAREN statement','iteration_statement',7,'p_iteration_statement_4','parser.py',1006), + ('iteration_statement -> FOR LPAREN VAR identifier IN expr RPAREN statement','iteration_statement',8,'p_iteration_statement_5','parser.py',1013), + ('iteration_statement -> FOR LPAREN VAR identifier initializer_noin IN expr RPAREN statement','iteration_statement',9,'p_iteration_statement_6','parser.py',1020), + ('expr_opt -> empty','expr_opt',1,'p_expr_opt','parser.py',1027), + ('expr_opt -> expr','expr_opt',1,'p_expr_opt','parser.py',1028), + ('expr_noin_opt -> empty','expr_noin_opt',1,'p_expr_noin_opt','parser.py',1033), + ('expr_noin_opt -> expr_noin','expr_noin_opt',1,'p_expr_noin_opt','parser.py',1034), + ('continue_statement -> CONTINUE SEMI','continue_statement',2,'p_continue_statement_1','parser.py',1040), + ('continue_statement -> CONTINUE auto_semi','continue_statement',2,'p_continue_statement_1','parser.py',1041), + ('continue_statement -> CONTINUE identifier SEMI','continue_statement',3,'p_continue_statement_2','parser.py',1046), + ('continue_statement -> CONTINUE identifier auto_semi','continue_statement',3,'p_continue_statement_2','parser.py',1047), + ('break_statement -> BREAK SEMI','break_statement',2,'p_break_statement_1','parser.py',1053), + ('break_statement -> BREAK auto_semi','break_statement',2,'p_break_statement_1','parser.py',1054), + ('break_statement -> BREAK identifier SEMI','break_statement',3,'p_break_statement_2','parser.py',1059), + ('break_statement -> BREAK identifier auto_semi','break_statement',3,'p_break_statement_2','parser.py',1060), + ('return_statement -> RETURN SEMI','return_statement',2,'p_return_statement_1','parser.py',1067), + ('return_statement -> RETURN auto_semi','return_statement',2,'p_return_statement_1','parser.py',1068), + ('return_statement -> RETURN expr SEMI','return_statement',3,'p_return_statement_2','parser.py',1073), + ('return_statement -> RETURN expr auto_semi','return_statement',3,'p_return_statement_2','parser.py',1074), + ('with_statement -> WITH LPAREN expr RPAREN statement','with_statement',5,'p_with_statement','parser.py',1080), + ('switch_statement -> SWITCH LPAREN expr RPAREN case_block','switch_statement',5,'p_switch_statement','parser.py',1085), + ('case_block -> LBRACE case_clauses_opt RBRACE','case_block',3,'p_case_block','parser.py',1099), + ('case_block -> LBRACE case_clauses_opt default_clause case_clauses_opt RBRACE','case_block',5,'p_case_block','parser.py',1100), + ('case_clauses_opt -> empty','case_clauses_opt',1,'p_case_clauses_opt','parser.py',1106), + ('case_clauses_opt -> case_clauses','case_clauses_opt',1,'p_case_clauses_opt','parser.py',1107), + ('case_clauses -> case_clause','case_clauses',1,'p_case_clauses','parser.py',1112), + ('case_clauses -> case_clauses case_clause','case_clauses',2,'p_case_clauses','parser.py',1113), + ('case_clause -> CASE expr COLON source_elements','case_clause',4,'p_case_clause','parser.py',1122), + ('default_clause -> DEFAULT COLON source_elements','default_clause',3,'p_default_clause','parser.py',1126), + ('labelled_statement -> identifier COLON statement','labelled_statement',3,'p_labelled_statement','parser.py',1131), + ('throw_statement -> THROW expr SEMI','throw_statement',3,'p_throw_statement','parser.py',1136), + ('throw_statement -> THROW expr auto_semi','throw_statement',3,'p_throw_statement','parser.py',1137), + ('try_statement -> TRY block catch','try_statement',3,'p_try_statement_1','parser.py',1143), + ('try_statement -> TRY block finally','try_statement',3,'p_try_statement_2','parser.py',1147), + ('try_statement -> TRY block catch finally','try_statement',4,'p_try_statement_3','parser.py',1151), + ('catch -> CATCH LPAREN identifier RPAREN block','catch',5,'p_catch','parser.py',1155), + ('finally -> FINALLY block','finally',2,'p_finally','parser.py',1159), + ('debugger_statement -> DEBUGGER SEMI','debugger_statement',2,'p_debugger_statement','parser.py',1164), + ('debugger_statement -> DEBUGGER auto_semi','debugger_statement',2,'p_debugger_statement','parser.py',1165), + ('function_declaration -> FUNCTION identifier LPAREN RPAREN LBRACE function_body RBRACE','function_declaration',7,'p_function_declaration','parser.py',1172), + ('function_declaration -> FUNCTION identifier LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_declaration',8,'p_function_declaration','parser.py',1173), + ('function_expr -> FUNCTION LPAREN RPAREN LBRACE function_body RBRACE','function_expr',6,'p_function_expr_1','parser.py',1186), + ('function_expr -> FUNCTION LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_expr',7,'p_function_expr_1','parser.py',1187), + ('function_expr -> FUNCTION identifier LPAREN RPAREN LBRACE function_body RBRACE','function_expr',7,'p_function_expr_2','parser.py',1200), + ('function_expr -> FUNCTION identifier LPAREN formal_parameter_list RPAREN LBRACE function_body RBRACE','function_expr',8,'p_function_expr_2','parser.py',1201), + ('formal_parameter_list -> identifier','formal_parameter_list',1,'p_formal_parameter_list','parser.py',1214), + ('formal_parameter_list -> formal_parameter_list COMMA identifier','formal_parameter_list',3,'p_formal_parameter_list','parser.py',1215), + ('function_body -> source_elements','function_body',1,'p_function_body','parser.py',1224), ]